This class provides storage of transactions between two independently running processes. Transactions are put into the FIFO via the put_export. transactions are fetched from the FIFO in the order they arrived via the get_peek_export. The put_export and get_peek_export are inherited from the tlm_fifo_base #(T) super class, and the interface methods provided by these exports are defined by the tlm_if_base #(T1,T2) class.
tlm_fifo #(T) | |||||||||||||||||
This class provides storage of transactions between two independently running processes. | |||||||||||||||||
Class Hierarchy | |||||||||||||||||
| |||||||||||||||||
Class Declaration | |||||||||||||||||
| |||||||||||||||||
Methods | |||||||||||||||||
new | The name and parent are the normal ovm_component constructor arguments. | ||||||||||||||||
size | Returns the capacity of the FIFO-- that is, the number of entries the FIFO is capable of holding. | ||||||||||||||||
used | Returns the number of entries put into the FIFO. | ||||||||||||||||
is_empty | Returns 1 when there are no entries in the FIFO, 0 otherwise. | ||||||||||||||||
is_full | Returns 1 when the number of entries in the FIFO is equal to its size, 0 otherwise. | ||||||||||||||||
flush | Removes all entries from the FIFO, after which used returns 0 and is_empty returns 1. |
function new( string name, ovm_component parent = null, int size = 1 )
The name and parent are the normal ovm_component constructor arguments. The parent should be null if the tlm_fifo is going to be used in a statically elaborated construct (e.g., a module). The size indicates the maximum size of the FIFO; a value of zero indicates no upper bound.
virtual function int size()
Returns the capacity of the FIFO-- that is, the number of entries the FIFO is capable of holding. A return value of 0 indicates the FIFO capacity has no limit.
virtual function bit is_empty()
Returns 1 when there are no entries in the FIFO, 0 otherwise.
An analysis_fifo is a tlm_fifo with an unbounded size and a write interface. It can be used any place an <ovm_subscriber #(T)> is used. Typical usage is as a buffer between an analysis_port in a monitor and an analysis component (e.g., a component derived from ovm_subscriber).
tlm_analysis_fifo #(T) | |||||||||||||||||
An analysis_fifo is a tlm_fifo with an unbounded size and a write interface. | |||||||||||||||||
Class Hierarchy | |||||||||||||||||
| |||||||||||||||||
Class Declaration | |||||||||||||||||
| |||||||||||||||||
Ports | |||||||||||||||||
analysis_port #(T) | The analysis_export provides the write method to all connected analysis ports and parent exports: | ||||||||||||||||
Methods | |||||||||||||||||
new | This is the standard ovm_component constructor. |
The analysis_export provides the write method to all connected analysis ports and parent exports:
function void write (T t)
Access via ports bound to this export is the normal mechanism for writing to an analysis FIFO. See write method of tlm_if_base #(T1,T2) for more information.
function new( string name , ovm_component parent = null )
This is the standard ovm_component constructor. name is the local name of this component. The parent should be left unspecified when this component is instantiated in statically elaborated constructs and must be specified when this component is a child of another OVM component.
The ovm_object class is the base class for all OVM data and hierarchical classes.
virtual class ovm_object extends ovm_void
The ovm_report_object provides an interface to the OVM reporting facility.
class ovm_report_object extends ovm_object
The ovm_component class is the root base class for OVM components.
virtual class ovm_component extends ovm_report_object
This class is the base for tlm_fifo #(T).
virtual class tlm_fifo_base #( type T = int ) extends ovm_component
This class provides storage of transactions between two independently running processes.
class tlm_fifo #( type T = int ) extends tlm_fifo_base #(T)
The name and parent are the normal ovm_component constructor arguments.
function new( string name, ovm_component parent = null, int size = 1 )
Returns the capacity of the FIFO-- that is, the number of entries the FIFO is capable of holding.
virtual function int size()
Returns the number of entries put into the FIFO.
virtual function int used()
Returns 1 when there are no entries in the FIFO, 0 otherwise.
virtual function bit is_empty()
Returns 1 when the number of entries in the FIFO is equal to its size, 0 otherwise.
virtual function bit is_full()
Removes all entries from the FIFO, after which used returns 0 and is_empty returns 1.
virtual function void flush()
This class declares all of the methods of the TLM API.
virtual class tlm_if_base #( type T1 = int, type T2 = int )
An analysis_fifo is a tlm_fifo with an unbounded size and a write interface.
class tlm_analysis_fifo #( type T = int ) extends tlm_fifo #(T)
This is the standard ovm_component constructor.
function new( string name , ovm_component parent = null )