Port Base Classes

UVMkit » 1800.2-2020
Contents
Port Base Classes
uvm_port_listAssociative array of uvm_port_component_base class handles, indexed by string
uvm_port_component_baseThis class defines an interface for obtaining a port’s connectivity lists after or during the end_of_elaboration phase.
uvm_port_component #(PORT)This implementation of uvm_port_component class from IEEE 1800.2 declares all the API described in the LRM, plus it inherits from uvm_port_component_base for the purpose of providing the get_connected_to() method.
uvm_port_baseThe library implements the following public API beyond what is documented in 1800.2.

uvm_port_list

Associative array of uvm_port_component_base class handles, indexed by string

@uvm-accellera The details of this API are specific to the Accellera implementation, and are not being considered for contribution to 1800.2

Summary
uvm_port_list
Associative array of uvm_port_component_base class handles, indexed by string
Class Declaration
typedef uvm_port_component_base uvm_port_list[string]

uvm_port_component_base

This class defines an interface for obtaining a port’s connectivity lists after or during the end_of_elaboration phase.  The sub-class, uvm_port_component #(PORT), implements this interface.

Each port’s full name and type name can be retrieved using get_full_name and get_type_name methods inherited from uvm_component.

@uvm-accellera The details of this API are specific to the Accellera implementation, and are not being considered for contribution to 1800.2

Summary
uvm_port_component_base
This class defines an interface for obtaining a port’s connectivity lists after or during the end_of_elaboration phase.
Class Hierarchy
uvm_port_component_base
Class Declaration
virtual class uvm_port_component_base extends uvm_component
Methods
get_connected_toFor a port or export type, this function fills list with all of the ports, exports and implementations that this port is connected to.

get_connected_to

pure virtual function void get_connected_to(
    ref  uvm_port_list  list
)

For a port or export type, this function fills list with all of the ports, exports and implementations that this port is connected to.

@uvm-accellera The details of this API are specific to the Accellera implementation, and are not being considered for contribution to 1800.2

uvm_port_component #(PORT)

This implementation of uvm_port_component class from IEEE 1800.2 declares all the API described in the LRM, plus it inherits from uvm_port_component_base for the purpose of providing the get_connected_to() method.

@uvm-accellera The details of this API are specific to the Accellera implementation, and are not being considered for contribution to 1800.2

Summary
uvm_port_component #(PORT)
This implementation of uvm_port_component class from IEEE 1800.2 declares all the API described in the LRM, plus it inherits from uvm_port_component_base for the purpose of providing the get_connected_to() method.
Class Hierarchy
uvm_port_component#(PORT)
Class Declaration
class uvm_port_component #(
    type  PORT  =  uvm_object
) extends uvm_port_component_base
Methods
get_connected_toImplementation of the pure function declared in uvm_port_component_base

get_connected_to

virtual function void get_connected_to(
    ref  uvm_port_list  list
)

Implementation of the pure function declared in uvm_port_component_base

@uvm-accellera The details of this API are specific to the Accellera implementation, and are not being considered for contribution to 1800.2

uvm_port_base

The library implements the following public API beyond what is documented in 1800.2.

Summary
uvm_port_base
The library implements the following public API beyond what is documented in 1800.2.
Methods
get_compReturns a handle to the internal proxy component representing this port.
debug_connected_toThe debug_connected_to method outputs a visual text display of the port/export/imp network to which this port connects (i.e., the port’s fanout).
debug_provided_toThe debug_provided_to method outputs a visual display of the port/export network that ultimately connect to this port (i.e., the port’s fanin).

get_comp

virtual function uvm_port_component_base get_comp()

Returns a handle to the internal proxy component representing this port.

Ports are considered components.  However, they do not inherit uvm_component.  Instead, they contain an instance of uvm_port_component #(PORT) that serves as a proxy to this port.

@uvm-accellera The details of this API are specific to the Accellera implementation, and are not being considered for contribution to 1800.2

debug_connected_to

function void debug_connected_to (
    int  level  =  0,
    int  max_level  =  -1
)

The debug_connected_to method outputs a visual text display of the port/export/imp network to which this port connects (i.e., the port’s fanout).

This method must not be called before the end_of_elaboration phase, as port connections are not resolved until then.

@uvm-accellera The details of this API are specific to the Accellera implementation, and are not being considered for contribution to 1800.2

debug_provided_to

function void debug_provided_to (
    int  level  =  0,
    int  max_level  =  -1
)

The debug_provided_to method outputs a visual display of the port/export network that ultimately connect to this port (i.e., the port’s fanin).

This method must not be called before the end_of_elaboration phase, as port connections are not resolved until then.

@uvm-accellera The details of this API are specific to the Accellera implementation, and are not being considered for contribution to 1800.2

typedef uvm_port_component_base uvm_port_list[string]
Associative array of uvm_port_component_base class handles, indexed by string
virtual class uvm_port_component_base extends uvm_component
This class defines an interface for obtaining a port’s connectivity lists after or during the end_of_elaboration phase.
class uvm_port_component #(
    type  PORT  =  uvm_object
) extends uvm_port_component_base
This implementation of uvm_port_component class from IEEE 1800.2 declares all the API described in the LRM, plus it inherits from uvm_port_component_base for the purpose of providing the get_connected_to() method.
The library implements the following public API beyond what is documented in 1800.2.
pure virtual function void get_connected_to(
    ref  uvm_port_list  list
)
For a port or export type, this function fills list with all of the ports, exports and implementations that this port is connected to.
virtual function void get_connected_to(
    ref  uvm_port_list  list
)
Implementation of the pure function declared in uvm_port_component_base
virtual function uvm_port_component_base get_comp()
Returns a handle to the internal proxy component representing this port.
function void debug_connected_to (
    int  level  =  0,
    int  max_level  =  -1
)
The debug_connected_to method outputs a visual text display of the port/export/imp network to which this port connects (i.e., the port’s fanout).
function void debug_provided_to (
    int  level  =  0,
    int  max_level  =  -1
)
The debug_provided_to method outputs a visual display of the port/export network that ultimately connect to this port (i.e., the port’s fanin).