In reply to chr_sue:
In reply to shanthi:
Sending back responses is more easy as you are saying. It simply
seq_item_port.item_done(rsp);
sending back data to the sequence using seq_item_port.
The lines
seq_item_port.put_response(rsp);
rsp_port.write(rsp);
are 2 alternatives sending back data.
The last one needs an additional connection to the sequencer.
Sending response is only efficient when the response is capture for the same signal interface that driver controls.
What happened when your driver controls an interface (virtual interface) but DUT returns response in different interface?
Reactive agent is also a good solution for this requirement.