Class uvm_pkg::uvm_tlm_fifo
Inheritance Diagram of uvm_tlm_fifo
Name |
Default value |
Description |
---|---|---|
T |
int |
Name |
Type |
Description |
---|---|---|
type_name |
string |
Constructors
- new(string name, uvm_component parent = null, int size = 1)
Function
new
The name and parent are the normal uvm_component constructor arguments. The parent should be null if the <uvm_tlm_fifo#(T)> 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.
- Parameters:
name (string)
parent (uvm_component)
size (int)
Functions
- get_type_name()
- size()
Function
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.
- used()
Function
used
Returns the number of entries put into the FIFO.
- is_empty()
Function
is_empty
Returns 1 when there are no entries in the FIFO, 0 otherwise.
- is_full()
Function
is_full
Returns 1 when the number of entries in the FIFO is equal to its size, 0 otherwise.
- try_get(int t)
- Parameters:
t (int)
- try_peek(int t)
- Parameters:
t (int)
- try_put(int t)
- Parameters:
t (int)
- can_put()
- can_get()
- can_peek()
Tasks
- put(int t)
- Parameters:
t (int)
- get(int t)
- Parameters:
t (int)
- peek(int t)
- Parameters:
t (int)
Class
uvm_tlm_fifo#(T)
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 <uvm_tlm_fifo_base #(T)> super class, and the interface methods provided by these exports are defined by the <uvm_tlm_if_base #(T1,T2)> class.