[source]

Class uvm_tlm_fifo_base

uvm_pkg::uvm_tlm_fifo_base <T> + blocking_get_export : uvm_get_peek_imp #(T, uvm_tlm_fifo_base) + blocking_get_peek_export : uvm_get_peek_imp #(T, uvm_tlm_fifo_base) + blocking_peek_export : uvm_get_peek_imp #(T, uvm_tlm_fifo_base) + blocking_put_export : uvm_put_imp #(T, uvm_tlm_fifo_base) + get_ap : uvm_analysis_port #(T) + get_export : uvm_get_peek_imp #(T, uvm_tlm_fifo_base) + get_peek_export : uvm_get_peek_imp #(T, uvm_tlm_fifo_base) + nonblocking_get_export : uvm_get_peek_imp #(T, uvm_tlm_fifo_base) + nonblocking_get_peek_export : uvm_get_peek_imp #(T, uvm_tlm_fifo_base) + nonblocking_peek_export : uvm_get_peek_imp #(T, uvm_tlm_fifo_base) + nonblocking_put_export : uvm_put_imp #(T, uvm_tlm_fifo_base) + peek_export : uvm_get_peek_imp #(T, uvm_tlm_fifo_base) + put_ap : uvm_analysis_port #(T) + put_export : uvm_put_imp #(T, uvm_tlm_fifo_base) + build_phase(): void + can_get(): bit + can_peek(): bit + can_put(): bit + flush(): void + get() + is_empty(): bit + is_full(): bit + ok_to_get(): uvm_tlm_event + ok_to_peek(): uvm_tlm_event + ok_to_put(): uvm_tlm_event + peek() + put() + size(): int + try_get(): bit + try_peek(): bit + try_put(): bit + used(): int uvm_pkg::uvm_tlm_fifo <T> <T : T>

Inheritance Diagram of uvm_tlm_fifo_base

CLASS

uvm_tlm_fifo_base #(T)

This class is the base for uvm_tlm_fifo#(T). 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_export and the get_peek_export are defined and described by uvm_tlm_if_base #(T1,T2). See the TLM Overview section for a general discussion of TLM interface definition and usage.

Parameter type

T

The type of transactions to be stored by this FIFO.

Parameters

Name

Default value

Description

T

int

Variables

Name

Type

Description

put_export

uvm_put_imp#(int, uvm_tlm_fifo_base#(int))

The put_export provides both the blocking and non-blocking put interface methods to any attached port:

task put (input T t)
function bit can_put ()
function bit try_put (input T t)

Any put port variant can connect and send transactions to 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.

get_peek_export

uvm_get_peek_imp#(int, uvm_tlm_fifo_base#(int))

The get_peek_export provides 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 get or peek port 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.

put_ap

uvm_analysis_port#(int)

Transactions passed via put or try_put (via any port connected to the put_export) are sent out this port via its write method.

function void 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 write interface method.

get_ap

uvm_analysis_port#(int)

Transactions passed via get , try_get , peek , or try_peek (via any port connected to the get_peek_export) are sent out this port via its write method.

function void 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 write method.

blocking_put_export

uvm_put_imp#(int, uvm_tlm_fifo_base#(int))

The following are aliases to the above put_export.

nonblocking_put_export

uvm_put_imp#(int, uvm_tlm_fifo_base#(int))

blocking_get_export

uvm_get_peek_imp#(int, uvm_tlm_fifo_base#(int))

The following are all aliased to the above get_peek_export, which provides the superset of these interfaces.

nonblocking_get_export

uvm_get_peek_imp#(int, uvm_tlm_fifo_base#(int))

get_export

uvm_get_peek_imp#(int, uvm_tlm_fifo_base#(int))

blocking_peek_export

uvm_get_peek_imp#(int, uvm_tlm_fifo_base#(int))

nonblocking_peek_export

uvm_get_peek_imp#(int, uvm_tlm_fifo_base#(int))

peek_export

uvm_get_peek_imp#(int, uvm_tlm_fifo_base#(int))

blocking_get_peek_export

uvm_get_peek_imp#(int, uvm_tlm_fifo_base#(int))

nonblocking_get_peek_export

uvm_get_peek_imp#(int, uvm_tlm_fifo_base#(int))

Typedefs

Name

Actual Type

Description

this_type

uvm_tlm_fifo_base#(T)

Constructors

function new ( string name, uvm_component parent ) [source]

The name and parent are the normal uvm_component constructor arguments. The parent should be null if the uvm_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.

Functions

virtual function void build_phase ( uvm_phase phase ) [source]

turn off auto config

virtual function void flush ( ) [source]

virtual function int size ( ) [source]

virtual function bit try_put ( int t ) [source]

virtual function bit try_get ( int t ) [source]

virtual function bit try_peek ( int t ) [source]

virtual function bit can_put ( ) [source]

virtual function bit can_get ( ) [source]

virtual function bit can_peek ( ) [source]

virtual function uvm_tlm_event ok_to_put ( ) [source]

virtual function uvm_tlm_event ok_to_get ( ) [source]

virtual function uvm_tlm_event ok_to_peek ( ) [source]

virtual function bit is_empty ( ) [source]

virtual function bit is_full ( ) [source]

virtual function int used ( ) [source]

Tasks

virtual function put ( int t ) [source]

virtual function get ( int t ) [source]

virtual function peek ( int t ) [source]