[source]

Class uvm_pkg::uvm_tlm_fifo

uvm_pkg::uvm_tlm_fifo <T> + type_name : string + can_get(): bit + can_peek(): bit + can_put(): bit + flush(): void + get() + get_type_name(): string + is_empty(): bit + is_full(): bit + peek() + put() + size(): int + try_get(): bit + try_peek(): bit + try_put(): bit + used(): int uvm_pkg::uvm_tlm_analysis_fifo <T> uvm_pkg::uvm_sequencer_analysis_fifo <RSP> <T : T> <T : RSP>

Inheritance Diagram of uvm_tlm_fifo

Copyright 2007-2011 Mentor Graphics Corporation Copyright 2007-2010 Cadence Design Systems, Inc. Copyright 2010 Synopsys, Inc. All Rights Reserved Worldwide

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

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.

Parameters

Name

Default value

Description

T

int

Variables

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:

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()
flush()

Function

flush

Removes all entries from the FIFO, after which used returns 0 and is_empty returns 1.

Tasks

put(int t)
Parameters:

t (int)

get(int t)
Parameters:

t (int)

peek(int t)
Parameters:

t (int)