In reply to ramankaur09:
Hi Ramankaur,
One of the use case:
When you want a data back to sequence as read data, You can use get_responce method.
For an example:
From sequence:
`uvm_do( tx.type = READ_transection);
get_responce(tx); // This will return entire transaction from driver
With this, your driver will do pin level activity for read transection. In case you want the read data back to sequence, you need to use item_done(transection_type) argument.
From driver:
forever begin
seq_item_port.get_next_item(req);
rsp - new();
rsp.set_id_info(req);
... do the operation ...
seq_item_port.item_done(rsp);
end
With this your sequence can be self check wo send write and read back data comparison.
However, Monitor do not have significant role here. Rather, It’s stand alone/independent component who always checks the interface and sample and check the protocol layer stuff.