TLM Sockets¶
- class uvm.tlm2.uvm_tlm2_sockets.UVMTLMBInitiatorSocket(name, parent)[source]¶
Bases:
UVMTLMBInitiatorSocketBase- connect(provider)[source]¶
Function: connect
Connects this port to the given
providerport. The ports must be compatible in the following waysTheir type parameters must match
- The
provider’s interface type (blocking, non-blocking, analysis, etc.) must be compatible. Each port has an interface mask that encodes the interface(s) it supports. If the bitwise AND of these masks is equal to the this port’s mask, the requirement is met and the ports are compatible. For example, a uvm_blocking_put_port #(T) is compatible with a uvm_put_export #(T) and uvm_blocking_put_imp #(T) because the export and imp provide the interface required by the uvm_blocking_put_port.
- The
Ports of type
UVM_EXPORTcan only connect to other exports or imps.- Ports of type
UVM_IMPLEMENTATIONcannot be connected, as they are bound to the component that implements the interface at time of construction.
- Ports of type
In addition to type-compatibility checks, the relationship between this port and the
providerport will also be checked if the port’scheck_connection_relationshipsconfiguration has been set. (Seenewfor more information.)Relationships, when enabled, are checked are as follows:
- If this port is a UVM_PORT type, the
providercan be a parent port, or a sibling export or implementation port.
- If this port is a UVM_PORT type, the
- If this port is a
UVM_EXPORTtype, the provider can be a child export or implementation port.
- If this port is a
If any relationship check is violated, a warning is issued.
Note- the
UVMComponent.connect_phasemethod is related to but not the same as this method. The component’sconnectmethod is a phase callback where port’sconnectmethod calls are made. :param provider:
- class uvm.tlm2.uvm_tlm2_sockets.UVMTLMBTargetSocket(name, parent, imp=None)[source]¶
Bases:
UVMTLMBTargetSocketBase- connect(provider)[source]¶
Function: connect
Connects this port to the given
providerport. The ports must be compatible in the following waysTheir type parameters must match
- The
provider’s interface type (blocking, non-blocking, analysis, etc.) must be compatible. Each port has an interface mask that encodes the interface(s) it supports. If the bitwise AND of these masks is equal to the this port’s mask, the requirement is met and the ports are compatible. For example, a uvm_blocking_put_port #(T) is compatible with a uvm_put_export #(T) and uvm_blocking_put_imp #(T) because the export and imp provide the interface required by the uvm_blocking_put_port.
- The
Ports of type
UVM_EXPORTcan only connect to other exports or imps.- Ports of type
UVM_IMPLEMENTATIONcannot be connected, as they are bound to the component that implements the interface at time of construction.
- Ports of type
In addition to type-compatibility checks, the relationship between this port and the
providerport will also be checked if the port’scheck_connection_relationshipsconfiguration has been set. (Seenewfor more information.)Relationships, when enabled, are checked are as follows:
- If this port is a UVM_PORT type, the
providercan be a parent port, or a sibling export or implementation port.
- If this port is a UVM_PORT type, the
- If this port is a
UVM_EXPORTtype, the provider can be a child export or implementation port.
- If this port is a
If any relationship check is violated, a warning is issued.
Note- the
UVMComponent.connect_phasemethod is related to but not the same as this method. The component’sconnectmethod is a phase callback where port’sconnectmethod calls are made. :param provider:
- async b_transport(t, delay)¶
- class uvm.tlm2.uvm_tlm2_sockets.UVMTLMNbInitiatorSocket(name, parent, imp=None)[source]¶
Bases:
UVMTLMNbInitiatorSocketBase- connect(provider)[source]¶
Function: connect
Connects this port to the given
providerport. The ports must be compatible in the following waysTheir type parameters must match
- The
provider’s interface type (blocking, non-blocking, analysis, etc.) must be compatible. Each port has an interface mask that encodes the interface(s) it supports. If the bitwise AND of these masks is equal to the this port’s mask, the requirement is met and the ports are compatible. For example, a uvm_blocking_put_port #(T) is compatible with a uvm_put_export #(T) and uvm_blocking_put_imp #(T) because the export and imp provide the interface required by the uvm_blocking_put_port.
- The
Ports of type
UVM_EXPORTcan only connect to other exports or imps.- Ports of type
UVM_IMPLEMENTATIONcannot be connected, as they are bound to the component that implements the interface at time of construction.
- Ports of type
In addition to type-compatibility checks, the relationship between this port and the
providerport will also be checked if the port’scheck_connection_relationshipsconfiguration has been set. (Seenewfor more information.)Relationships, when enabled, are checked are as follows:
- If this port is a UVM_PORT type, the
providercan be a parent port, or a sibling export or implementation port.
- If this port is a UVM_PORT type, the
- If this port is a
UVM_EXPORTtype, the provider can be a child export or implementation port.
- If this port is a
If any relationship check is violated, a warning is issued.
Note- the
UVMComponent.connect_phasemethod is related to but not the same as this method. The component’sconnectmethod is a phase callback where port’sconnectmethod calls are made. :param provider:
- class uvm.tlm2.uvm_tlm2_sockets.UVMTLMNbTargetSocket(name, parent, imp=None)[source]¶
Bases:
UVMTLMNbTargetSocketBase- connect(provider)[source]¶
Function: connect
Connects this port to the given
providerport. The ports must be compatible in the following waysTheir type parameters must match
- The
provider’s interface type (blocking, non-blocking, analysis, etc.) must be compatible. Each port has an interface mask that encodes the interface(s) it supports. If the bitwise AND of these masks is equal to the this port’s mask, the requirement is met and the ports are compatible. For example, a uvm_blocking_put_port #(T) is compatible with a uvm_put_export #(T) and uvm_blocking_put_imp #(T) because the export and imp provide the interface required by the uvm_blocking_put_port.
- The
Ports of type
UVM_EXPORTcan only connect to other exports or imps.- Ports of type
UVM_IMPLEMENTATIONcannot be connected, as they are bound to the component that implements the interface at time of construction.
- Ports of type
In addition to type-compatibility checks, the relationship between this port and the
providerport will also be checked if the port’scheck_connection_relationshipsconfiguration has been set. (Seenewfor more information.)Relationships, when enabled, are checked are as follows:
- If this port is a UVM_PORT type, the
providercan be a parent port, or a sibling export or implementation port.
- If this port is a UVM_PORT type, the
- If this port is a
UVM_EXPORTtype, the provider can be a child export or implementation port.
- If this port is a
If any relationship check is violated, a warning is issued.
Note- the
UVMComponent.connect_phasemethod is related to but not the same as this method. The component’sconnectmethod is a phase callback where port’sconnectmethod calls are made. :param provider:
- nb_transport_fw(t, p, delay)¶
- class uvm.tlm2.uvm_tlm2_sockets.UVMTLMBPassthroughInitiatorSocket(name, parent)[source]¶
Bases:
UVMTLMBPassthroughInitiatorSocketBase- connect(provider)[source]¶
Function: connect
Connects this port to the given
providerport. The ports must be compatible in the following waysTheir type parameters must match
- The
provider’s interface type (blocking, non-blocking, analysis, etc.) must be compatible. Each port has an interface mask that encodes the interface(s) it supports. If the bitwise AND of these masks is equal to the this port’s mask, the requirement is met and the ports are compatible. For example, a uvm_blocking_put_port #(T) is compatible with a uvm_put_export #(T) and uvm_blocking_put_imp #(T) because the export and imp provide the interface required by the uvm_blocking_put_port.
- The
Ports of type
UVM_EXPORTcan only connect to other exports or imps.- Ports of type
UVM_IMPLEMENTATIONcannot be connected, as they are bound to the component that implements the interface at time of construction.
- Ports of type
In addition to type-compatibility checks, the relationship between this port and the
providerport will also be checked if the port’scheck_connection_relationshipsconfiguration has been set. (Seenewfor more information.)Relationships, when enabled, are checked are as follows:
- If this port is a UVM_PORT type, the
providercan be a parent port, or a sibling export or implementation port.
- If this port is a UVM_PORT type, the
- If this port is a
UVM_EXPORTtype, the provider can be a child export or implementation port.
- If this port is a
If any relationship check is violated, a warning is issued.
Note- the
UVMComponent.connect_phasemethod is related to but not the same as this method. The component’sconnectmethod is a phase callback where port’sconnectmethod calls are made. :param provider:
- class uvm.tlm2.uvm_tlm2_sockets.UVMTLMBPassthroughTargetSocket(name, parent)[source]¶
Bases:
UVMTLMBPassthroughTargetSocketBase- connect(provider)[source]¶
Function: connect
Connects this port to the given
providerport. The ports must be compatible in the following waysTheir type parameters must match
- The
provider’s interface type (blocking, non-blocking, analysis, etc.) must be compatible. Each port has an interface mask that encodes the interface(s) it supports. If the bitwise AND of these masks is equal to the this port’s mask, the requirement is met and the ports are compatible. For example, a uvm_blocking_put_port #(T) is compatible with a uvm_put_export #(T) and uvm_blocking_put_imp #(T) because the export and imp provide the interface required by the uvm_blocking_put_port.
- The
Ports of type
UVM_EXPORTcan only connect to other exports or imps.- Ports of type
UVM_IMPLEMENTATIONcannot be connected, as they are bound to the component that implements the interface at time of construction.
- Ports of type
In addition to type-compatibility checks, the relationship between this port and the
providerport will also be checked if the port’scheck_connection_relationshipsconfiguration has been set. (Seenewfor more information.)Relationships, when enabled, are checked are as follows:
- If this port is a UVM_PORT type, the
providercan be a parent port, or a sibling export or implementation port.
- If this port is a UVM_PORT type, the
- If this port is a
UVM_EXPORTtype, the provider can be a child export or implementation port.
- If this port is a
If any relationship check is violated, a warning is issued.
Note- the
UVMComponent.connect_phasemethod is related to but not the same as this method. The component’sconnectmethod is a phase callback where port’sconnectmethod calls are made. :param provider:
- class uvm.tlm2.uvm_tlm2_sockets.UVMTLMNbPassthroughInitiatorSocket(name, parent)[source]¶
Bases:
UVMTLMNbPassthroughInitiatorSocketBase- connect(provider)[source]¶
Function: connect
Connects this port to the given
providerport. The ports must be compatible in the following waysTheir type parameters must match
- The
provider’s interface type (blocking, non-blocking, analysis, etc.) must be compatible. Each port has an interface mask that encodes the interface(s) it supports. If the bitwise AND of these masks is equal to the this port’s mask, the requirement is met and the ports are compatible. For example, a uvm_blocking_put_port #(T) is compatible with a uvm_put_export #(T) and uvm_blocking_put_imp #(T) because the export and imp provide the interface required by the uvm_blocking_put_port.
- The
Ports of type
UVM_EXPORTcan only connect to other exports or imps.- Ports of type
UVM_IMPLEMENTATIONcannot be connected, as they are bound to the component that implements the interface at time of construction.
- Ports of type
In addition to type-compatibility checks, the relationship between this port and the
providerport will also be checked if the port’scheck_connection_relationshipsconfiguration has been set. (Seenewfor more information.)Relationships, when enabled, are checked are as follows:
- If this port is a UVM_PORT type, the
providercan be a parent port, or a sibling export or implementation port.
- If this port is a UVM_PORT type, the
- If this port is a
UVM_EXPORTtype, the provider can be a child export or implementation port.
- If this port is a
If any relationship check is violated, a warning is issued.
Note- the
UVMComponent.connect_phasemethod is related to but not the same as this method. The component’sconnectmethod is a phase callback where port’sconnectmethod calls are made. :param provider:
- class uvm.tlm2.uvm_tlm2_sockets.UVMTLMNbPassthroughTargetSocket(name, parent)[source]¶
Bases:
UVMTLMNbPassthroughTargetSocketBase- connect(provider)[source]¶
Function: connect
Connects this port to the given
providerport. The ports must be compatible in the following waysTheir type parameters must match
- The
provider’s interface type (blocking, non-blocking, analysis, etc.) must be compatible. Each port has an interface mask that encodes the interface(s) it supports. If the bitwise AND of these masks is equal to the this port’s mask, the requirement is met and the ports are compatible. For example, a uvm_blocking_put_port #(T) is compatible with a uvm_put_export #(T) and uvm_blocking_put_imp #(T) because the export and imp provide the interface required by the uvm_blocking_put_port.
- The
Ports of type
UVM_EXPORTcan only connect to other exports or imps.- Ports of type
UVM_IMPLEMENTATIONcannot be connected, as they are bound to the component that implements the interface at time of construction.
- Ports of type
In addition to type-compatibility checks, the relationship between this port and the
providerport will also be checked if the port’scheck_connection_relationshipsconfiguration has been set. (Seenewfor more information.)Relationships, when enabled, are checked are as follows:
- If this port is a UVM_PORT type, the
providercan be a parent port, or a sibling export or implementation port.
- If this port is a UVM_PORT type, the
- If this port is a
UVM_EXPORTtype, the provider can be a child export or implementation port.
- If this port is a
If any relationship check is violated, a warning is issued.
Note- the
UVMComponent.connect_phasemethod is related to but not the same as this method. The component’sconnectmethod is a phase callback where port’sconnectmethod calls are made. :param provider: