Execute_transaction() – Altera Mentor Verification IP Altera Edition AMBA AXI4-Lite User Manual

Page 192

Advertising
background image

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

192

VHDL Master BFM
execute_transaction()

April 2014

execute_transaction()

This procedure executes a master transaction that is uniquely identified by the transaction_id
argument, previously created with either the

create_write_transaction()

or procedure. A

transaction can be blocking (default) or nonblocking, based on the setting of the transaction
operation_mode field.

The results of execute_transaction() for write transactions varies based on how write transaction
fields are set. If the transaction gen_write_strobes field is set, execute_transaction ()
automatically corrects any previously set write_strobes field array elements. However, if the
gen_write_strobes field is not set, then any previously assigned write_strobes field array
elements will be passed onto the WSTRB protocol signals, which can result in a protocol
violation if not correctly set. Refer to “

Automatic Correction of Byte Lane Strobes

” on page 146

for more details.

If the write_data_mode field for a write transaction is set to AXI4_DATA_WITH_ADDRESS

,

execute_transaction () calls the

execute_write_addr_phase()

and

execute_write_data_phase()

procedures simultaneously; otherwise,

execute_write_data_phase()

is called after

execute_write_addr_phase()

so that the write data beat occurs after the write address phase

(default). It then calls the

get_write_response_phase()

procedure to complete the write

transaction.

For a read transaction, execute_transaction() calls the

execute_read_addr_phase()

procedure

followed by the

get_read_data_phase()

procedure to complete the read transaction

Prototype

procedure execute_transaction
(

transaction_id : in integer;
bfm_id : in integer;
path_id : in axi4_path_t; --optional
signal tr_if : inout axi4_vhd_if_struct_t

);

Arguments transaction_id

Transaction identifier. Refer to

Overloaded Procedure

Common Arguments

” on page 151 for more details.

bfm_id

BFM identifier. Refer to

Overloaded Procedure

Common Arguments

” on page 151 for more details.

path_id

(Optional) Parallel process path identifier:

AXI4_PATH_0
AXI4_PATH_1
AXI4_PATH_2
AXI4_PATH_3
AXI4_PATH_4

Refer to

Overloaded Procedure Common Arguments

on page 151 for more details.

tr_if

Transaction signal interface. Refer to “

Overloaded

Procedure Common Arguments

” on page 151 for more

details.

Returns

None

Advertising