Directly using send_request() and wait_for_item_done() function in sequencer

In reply to Ujjwal Kaushik:

There are 2 options for the interface between sequencer and driver.
(1) The most common and recommended way is using uvm_sequencer and uvm_driver as base classes. In this case the sequencer does not put anything to the driver. But the driver is executing get/get_next_item to retrieve a seq_item from the sequencer. In this case the driver is active and the sequencer behaves passive.

(2) If the sequencer has to be active and the driver is passive the corresponding base classes are uvm_push_sequencer and uvm_push_driver. I have never seen an implementation using these base classes.