[source]

Class uvm_driver

uvm_pkg::uvm_driver <REQ, RSP> + req : REQ + rsp : RSP + rsp_port : uvm_analysis_port #(RSP) + seq_item_port : uvm_seq_item_pull_port #(REQ, RSP) + seq_item_prod_if : uvm_seq_item_pull_port #(REQ, RSP) + type_name : string + get_type_name(): string

Inheritance Diagram of uvm_driver

CLASS

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.

Parameters

Name

Default value

Description

REQ

uvm_sequence_item

RSP

REQ

Variables

Name

Type

Description

seq_item_port

uvm_seq_item_pull_port#(uvm_sequence_item, uvm_sequence_item)

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

seq_item_prod_if

uvm_seq_item_pull_port#(uvm_sequence_item, uvm_sequence_item)

alias

rsp_port

uvm_analysis_port#(uvm_sequence_item)

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.

req

uvm_sequence_item

rsp

uvm_sequence_item

type_name

string

Constructors

function new ( string name, uvm_component parent ) [source]

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.

Functions

virtual function string get_type_name ( ) [source]