Execute_transaction() – Altera Mentor Verification IP Altera Edition AMBA AXI3/4TM User Manual

Page 331

Advertising
background image

VHDL AXI3 and AXI4 Master BFMs

execute_transaction()

Mentor VIP AE AXI3/4 User Guide, V10.2b

313

September 2013

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

create_read_transaction()

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 197

for more details.If the write_data_mode field for a write transaction is set to
*_DATA_WITH_ADDRESS

,

execute_transaction() calls the

execute_write_addr_phase()

and

execute_write_data_burst()

procedures simultaneously; otherwise

execute_write_data_burst()

will be called after

execute_write_addr_phase()

so that the write data burst occurs after the

write address phase (default). It will then call 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_burst()

procedure to complete the read transaction.

Prototype

-- * = axi| axi4
-- ** = AXI | AXI4
procedure execute_transaction
(

transaction_id : in integer;
bfm_id : in integer;
path_id : in *_path_t; --optional
signal tr_if : inout *_vhd_if_struct_t

);

Arguments transaction_id

Transaction identifier. Refer to

“Overloaded Procedure

Common Arguments”

on page 203 for more details.

bfm_id

BFM identifier. Refer to

“Overloaded Procedure

Common Arguments”

on page 203 for more details.

path_id

(Optional) Parallel process path identifier:

**_PATH_0
**_PATH_1
**_PATH_2
**_PATH_3
**_PATH_4

Refer to

“Overloaded Procedure Common Arguments”

on page 203 for more details.

tr_if

Transaction signal interface. Refer to

“Overloaded

Procedure Common Arguments”

on page 203 for more

details.

Returns

None

Advertising