Execute_transfer(), Example, Procedure for each transfer within – Altera Mentor Verification IP Altera Edition AMBA AXI4-Stream User Manual
Page 117

VHDL Master BFM
execute_transfer()
Mentor Verification IP AE AMBA AXI4-Stream User Guide, V10.3
117
April 2014
execute_transfer()
This procedure executes a master transfer that is uniquely identified by the transaction_id
argument previously created by the
be blocking (default) or nonblocking, as defined by the transaction operation_mode field.
It sets the TVALID protocol signal at the appropriate time defined by the transaction
valid_delay field and sets the transfer_done array index element field to 1 when the transfer is
complete.
If this is the last transfer of the transaction, then 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 master transaction containing 3 transfers
-- Creation returns tr_id to identify the transaction.
create_master_transaction(3, tr_id, bfm_index,
axi4stream_tr_if_0(bfm_index));
....
-- Execute the first transfer of the packet for the
-- tr_id transaction.
execute_transfer(tr_id, 0, bfm_index, axi4stream_tr_if_0(bfm_index));
-- Execute the second transfer of the packet for the
-- tr_id transaction.
execute_transfer(tr_id, 1, bfm_index, axi4stream_tr_if_0(bfm_index));
Prototype
procedure execute_transfer
(
transaction_id : in integer;
index : in integer; --optional
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.
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
None