Get_transfer(), Example, Procedure for each transfer of the – Altera Mentor Verification IP Altera Edition AMBA AXI4-Stream User Manual

Page 152

Advertising
background image

Mentor Verification IP AE AMBA AXI4-Stream User Guide, V10.3

152

VHDL Slave BFM
get_transfer()

April 2014

get_transfer()

This blocking procedure gets a slave transfer that is uniquely identified by the transaction_id
argument previously created by the

create_slave_transaction()

procedure.

The transfer number within a packet is identified by the optional index argument. If no transfer
index is supplied, then the first transfer within a packet is accessed.

It sets the transfer_done array index element to 1 when the transfer is completed. If this is the
last transfer of the transaction, it sets the transaction_done field to 1 and returns the last
argument set to 1 to indicate the whole transaction is complete.

Example

-- Create a slave transaction. Creation returns tr_id to identify
-- the transaction.
create_slave_transaction(tr_id, bfm_index,

axi4stream_tr_if_0(bfm_index));

....

-- Get the first transfer of the tr_id transaction.
get_transfer(tr_id, 0, last, bfm_index, axi4stream_tr_if_0(bfm_index));

-- Get the second transfer of the tr_id transaction.
get_transfer(tr_id, 1, last, bfm_index, axi4stream_tr_if_0(bfm_index));

Prototype

procedure get_transfer
(

transaction_id : in integer;
index : in integer; --optional
last : out integer;
bfm_id : in integer;
signal tr_if : inout axi4stream_vhd_if_struct_t

);

Arguments

transaction_id

Transaction identifier. Refer to

Overloaded Procedure Common

Arguments

” on page 87 for more details.

index

(Optional) Data phase (beat) number.

last

Last data phase (beat) of the burst:

0 = data burst not complete
1 = data burst complete

bfm_id

BFM identifier. Refer to

Overloaded Procedure Common Arguments

on page 87 for more details.

tr_if

Transaction signal interface. Refer to

Overloaded Procedure Common

Arguments

” on page 87 for more details.

Returns

last

Advertising