uvm_driver #(REQ,RSP)

The base class for drivers that initiate requests for new transactions via a uvm_seq_item_pull_port.  The ports are typically connected to the exports of an appropriate sequencer component.

This driver operates in pull mode.  Its ports are typically connected to the corresponding exports in a pull sequencer as follows:

driver.seq_item_port.connect(sequencer.seq_item_export);
driver.rsp_port.connect(sequencer.rsp_export);

The rsp_port needs connecting only if the driver will use it to write responses to the analysis export in the sequencer.

Summary
uvm_driver #(REQ,RSP)
The base class for drivers that initiate requests for new transactions via a uvm_seq_item_pull_port.
Class Hierarchy
Class Declaration
class uvm_driver #(
    type  REQ  =  uvm_sequence_item,
    type  RSP  =  REQ
) extends uvm_component
Ports
seq_item_portDerived driver classes should use this port to request items from the sequencer.
rsp_portThis port provides an alternate way of sending responses back to the originating sequencer.
Methods
newCreates and initializes an instance of this class using the normal constructor arguments for uvm_component: name is the name of the instance, and parent is the handle to the hierarchical parent, if any.

seq_item_port

Derived driver classes should use this port to request items from the sequencer.  They may also use it to send responses back.

rsp_port

This port provides an alternate way of sending responses back to the originating sequencer.  Which port to use depends on which export the sequencer provides for connection.

new

function new ( string  name,
uvm_component  parent )

Creates and initializes an instance of this class using the normal constructor arguments for uvm_component: name is the name of the instance, and parent is the handle to the hierarchical parent, if any.

The uvm_void class is the base class for all UVM classes.
virtual class uvm_object extends uvm_void
The uvm_object class is the base class for all UVM data and hierarchical classes.
class uvm_report_object extends uvm_object
The uvm_report_object provides an interface to the UVM reporting facility.
virtual class uvm_component extends uvm_report_object
The uvm_component class is the root base class for UVM components.
class uvm_driver #( type  REQ  =  uvm_sequence_item,
type  RSP  =  REQ ) extends uvm_component
The base class for drivers that initiate requests for new transactions via a uvm_seq_item_pull_port.
function new ( string  name,
uvm_component  parent )
Creates and initializes an instance of this class using the normal constructor arguments for uvm_component: name is the name of the instance, and parent is the handle to the hierarchical parent, if any.