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

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
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 “
” 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 “
” on page 87 for more details.
Returns
last