In reply to harsh pandya:
The packet which is sent to scoreboard(via analysis port) should be collected from what is actually being driven on the DUT interface(i.e from the monitor using the virtual interface handle) and not from what is received from sequencer.
virtual task get_item();
forever begin
seq_item_port.try_next_item(req);
if(req == null)begin
:
:
end else begin
//Storing Packet According to Command
if(req.cmd_e inside {RD,WR})begin
drive_column_pkt(req);
end else begin
drive_row_pkt(req);
end
end
@(negedge mc_driver_vif.ck_t)
seq_item_port.item_done();
//This task should drive the DUT interface signals as per the protocol
task drive_column_pkt(...);
:
:
endtask
task drive_row_pkt(...);
:
:
endtask
If it is still not working, please show the code where the interface signals are driven.