uvm_driver¶
-
class
uvm.comps.uvm_driver.UVMDriver(name, parent)[source]¶ Bases:
uvm.base.uvm_component.UVMComponentThe 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:
The ~rsp_port~ needs connecting only if the driver will use it to write responses to the analysis export in the sequencer.
- Variables
seq_item_port (UVMSeqItemPullPort) – Derived driver classes should use this port to request items from the sequencer. They may also use it to send responses back.
rst_port (UVMAnalysisPort) – 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.
-
type_name= 'uvm_driver #(REQ,RSP)'¶
-
get_type_name()[source]¶ This function returns the type name of the object, which is typically the type identifier enclosed in quotes. It is used for various debugging functions in the library, and it is used by the factory for creating objects.
This function must be defined in every derived class.
A typical implementation is as follows:
- Returns
Type name of the object.
- Return type
-
m_children: Dict[str, ‘UVMComponent’]¶
-
m_children_by_handle: Dict[‘UVMComponent’, ‘UVMComponent’]¶
-
m_children_ordered: List[‘UVMComponent’]¶
-
event_pool: UVMEventPool¶