The following classes define the TLM port classes.
TLM Port Classes | The following classes define the TLM port classes. |
uvm_*_port #(T) | These unidirectional ports are instantiated by components that require, or use, the associated interface to convey transactions. |
uvm_*_port #(REQ,RSP) | These bidirectional ports are instantiated by components that require, or use, the associated interface to convey transactions. |
These unidirectional ports are instantiated by components that require, or use, the associated interface to convey transactions. A port can be connected to any compatible port, export, or imp port. Unless its min_size is 0, a port must be connected to at least one implementation of its assocated interface.
The asterisk in uvm_*_port 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
T | The type of transaction to be communicated by the export |
Ports are connected to interface implementations directly via uvm_*_imp #(T,IMP) ports or indirectly via hierarchical connections to uvm_*_port #(T) and uvm_*_export #(T) ports.
uvm_*_port #(T) | |
These unidirectional ports are instantiated by components that require, or use, the associated interface to convey transactions. | |
Methods | |
new | The name and parent are the standard uvm_component constructor arguments. |
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 connected to this port by the end of elaboration.
function new (string name, uvm_component parent, int min_size=1, int max_size=1)
These bidirectional ports are instantiated by components that require, or use, the associated interface to convey transactions. A port can be connected to any compatible port, export, or imp port. Unless its min_size is 0, a port must be connected to at least one implementation of its assocated interface.
The asterisk in uvm_*_port is any of the following
blocking_transport nonblocking_transport transport blocking_master nonblocking_master master blocking_slave nonblocking_slave slave
Ports are connected to interface implementations directly via uvm_*_imp #(REQ,RSP,IMP,REQ_IMP,RSP_IMP) ports or indirectly via hierarchical connections to uvm_*_port #(REQ,RSP) and uvm_*_export #(REQ,RSP) ports.
Type parameters
REQ | The type of request transaction to be communicated by the export |
RSP | The type of response transaction to be communicated by the export |
uvm_*_port #(REQ,RSP) | |
These bidirectional ports are instantiated by components that require, or use, the associated interface to convey transactions. | |
Methods | |
new | The name and parent are the standard uvm_component constructor arguments. |
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)
The uvm_component class is the root base class for UVM components.
virtual class uvm_component extends uvm_report_object