TLM Export Classes

The following classes define the TLM export classes.

Contents
TLM Export ClassesThe following classes define the TLM export classes.
uvm_*_export #(T)The unidirectional uvm_*_export is a port that forwards or promotes an interface implementation from a child component to its parent.
uvm_*_export #(REQ,RSP)The bidirectional uvm_*_export is a port that forwards or promotes an interface implementation from a child component to its parent.

uvm_*_export #(T)

The unidirectional uvm_*_export is a port that forwards or promotes an interface implementation from a child component to its parent.  An export can be connected to any compatible child export or imp port.  It must ultimately be connected to at least one implementation of its associated interface.

The interface type represented by the asterisk is any of the following

blocking_put
nonblocking_put
put

blocking_get
nonblocking_get
get

blocking_peek
nonblocking_peek
peek

blocking_get_peek
nonblocking_get_peek
get_peek

Type parameters

TThe type of transaction to be communicated by the export

Exports are connected to interface implementations directly via uvm_*_imp #(T,IMP) ports or indirectly via other uvm_*_export #(T) exports.

Summary
uvm_*_export #(T)
The unidirectional uvm_*_export is a port that forwards or promotes an interface implementation from a child component to its parent.
Methods
newThe name and parent are the standard uvm_component constructor arguments.

new

The name and parent are the standard uvm_component constructor arguments.  The min_size and max_size specify the minimum and maximum number of interfaces that must have been supplied to this port by the end of elaboration.

function new (string name,
              uvm_component parent,
              int min_size=1,
              int max_size=1)

uvm_*_export #(REQ,RSP)

The bidirectional uvm_*_export is a port that forwards or promotes an interface implementation from a child component to its parent.  An export can be connected to any compatible child export or imp port.  It must ultimately be connected to at least one implementation of its associated interface.

The interface type represented by the asterisk is any of the following

blocking_transport
nonblocking_transport
transport

blocking_master
nonblocking_master
master

blocking_slave
nonblocking_slave
slave

Type parameters

REQThe type of request transaction to be communicated by the export
RSPThe type of response transaction to be communicated by the export

Exports are connected to interface implementations directly via uvm_*_imp #(REQ, RSP, IMP, REQ_IMP, RSP_IMP) ports or indirectly via other uvm_*_export #(REQ,RSP) exports.

Summary
uvm_*_export #(REQ,RSP)
The bidirectional uvm_*_export is a port that forwards or promotes an interface implementation from a child component to its parent.
Methods
newThe name and parent are the standard uvm_component constructor arguments.

new

The name and parent are the standard uvm_component constructor arguments.  The min_size and max_size specify the minimum and maximum number of interfaces that must have been supplied to this port by the end of elaboration.

function new (string name,
              uvm_component parent,
              int min_size=1,
              int max_size=1)
virtual class uvm_component extends uvm_report_object
The uvm_component class is the root base class for UVM components.
Unidirectional implementation (imp) port classes--An imp port provides access to an implementation of the associated interface to all connected ports and exports.
The unidirectional uvm_*_export is a port that forwards or promotes an interface implementation from a child component to its parent.
Bidirectional implementation (imp) port classes--An imp port provides access to an implementation of the associated interface to all connected ports and exports.
The bidirectional uvm_*_export is a port that forwards or promotes an interface implementation from a child component to its parent.