FIFO Base¶
- class uvm.tlm1.uvm_tlm_fifo_base.UVMTLMFIFOBase(name, parent=None)[source]¶
Bases:
UVMComponentThis class is the base for
UVMTLMFIFO. It defines the TLM exports through which all transaction-based FIFO operations occur. It also defines default implementations for each interface method provided by these exports.The interface methods provided by the
put_exportand theget_peek_exportare defined and described byUVMTLMIfBase. See the TLM Overview section for a general discussion of TLM interface definition and usage.- Variables
put_export (UVMPutImp) –
The
put_exportprovides both the blocking and non-blocking put interface methods to any attached port:Example:
task put (input T t) function bit can_put () function bit try_put (input T t)
Any
putport variant can connect and send transactions to the FIFO via this export, provided the transaction types match. SeeUVMTLMIfBasefor more information on each of the above interface methods.- Variables
get_peek_export (UVMGetPeekImp) –
The
get_peek_exportprovides all the blocking and non-blocking get and peek interface methods:task get (output T t) function bit can_get () function bit try_get (output T t) task peek (output T t) function bit can_peek () function bit try_peek (output T t)
Any
getorpeekport variant can connect to and retrieve transactions from the FIFO via this export, provided the transaction types match. See <uvm_tlm_if_base #(T1,T2)> for more information on each of the above interface methods.- Variables
put_ap (UVMAnalysisPort) –
Transactions passed via
putortry_put(via any port connected to the <put_export>) are sent out this port via itswritemethod.def write (T t)
All connected analysis exports and imps will receive put transactions. See <uvm_tlm_if_base #(T1,T2)> for more information on the
writeinterface method.- Variables
get_ap (UVMAnalysisPort) –
Transactions passed via
get,try_get,peek, ortry_peek(via any port connected to the <get_peek_export>) are sent out this port via itswritemethod.def write (T t)
All connected analysis exports and imps will receive get transactions. See <uvm_tlm_if_base #(T1,T2)> for more information on the
writemethod.The following are aliases to the above put_export.
- Variables
blocking_put_export (UVMPutImp) –
nonblocking_put_export (UVMPutImp) –
The following are all aliased to the above get_peek_export, which provides the superset of these interfaces.
- Variables
blocking_get_export (UVMGetPeekImp) –
nonblocking_get_export (UVMGetPeekImp) –
get_export (UVMGetPeekImp) –
blocking_peek_export (UVMGetPeekImp) –
nonblocking_peek_export (UVMGetPeekImp) –
peek_export (UVMGetPeekImp) –
blocking_get_peek_export (UVMGetPeekImp) –
nonblocking_get_peek_export (UVMGetPeekImp) –
- m_children_by_handle: Dict['UVMComponent', 'UVMComponent']¶
- m_children_ordered: List['UVMComponent']¶
- event_pool: UVMEventPool¶