ovm_*_port #(T)

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 ovm_*_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

analysis

Type parameters

TThe type of transaction to be communicated by the export

Ports are connected to interface implementations directly via ovm_*_imp #(T,IMP) ports or indirectly via hierarchical connections to ovm_*_port #(T) and ovm_*_export #(T) ports.

Summary
ovm_*_port #(T)
These unidirectional ports are instantiated by components that require, or use, the associated interface to convey transactions.
Methods
newThe name and parent are the standard ovm_component constructor arguments.

new

The name and parent are the standard ovm_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,
              ovm_component parent,
              int min_size=1,
              int max_size=1)

ovm_*_port #(REQ,RSP)

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 ovm_*_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 ovm_*_imp #(REQ,RSP,IMP,REQ_IMP,RSP_IMP) ports or indirectly via hierarchical connections to ovm_*_port #(REQ,RSP) and ovm_*_export #(REQ,RSP) ports.

Type parameters

REQThe type of request transaction to be communicated by the export
RSPThe type of response transaction to be communicated by the export
Summary
ovm_*_port #(REQ,RSP)
These bidirectional ports are instantiated by components that require, or use, the associated interface to convey transactions.
Methods
newThe name and parent are the standard ovm_component constructor arguments.

new

The name and parent are the standard ovm_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, ovm_component parent, int min_size=1, int max_size=1)

virtual class ovm_component extends ovm_report_object
The ovm_component class is the root base class for OVM components.
Unidirectional implementation (imp) port classes--An imp port provides access to an implementation of the associated interface to all connected ports and exports.
These unidirectional ports are instantiated by components that require, or use, the associated interface to convey transactions.
The unidirectional ovm_*_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.
These bidirectional ports are instantiated by components that require, or use, the associated interface to convey transactions.
The bidirectional ovm_*_export is a port that forwards or promotes an interface implementation from a child component to its parent.