Execute_transaction(), Axi3 example, Information to be transferred and then calls the – Altera Mentor Verification IP Altera Edition AMBA AXI3/4TM User Manual
Page 67: Tasks. the

SystemVerilog AXI3 and AXI4 Master BFMs
execute_transaction()
Mentor VIP AE AXI3/4 User Guide, V10.2b
49
September 2013
execute_transaction()
This task executes a master transaction previously created by the
, functions. The transaction can be blocking (default) or non-
blocking, defined by the transaction record operation_mode field.
The results of execute_transaction() for write transactions varies based on how write transaction
fields are set. If the gen_write_strobes transaction field is set, execute_transaction()
automatically corrects any previously set write_strobes. However, if the gen_write_strobes
field is not set, then any previously assigned write_strobes will be passed through onto the
WSTRB protocol signals, which can result in a protocol violation if not correctly set. Refer to
“Automatic Correction of Byte Lane Strobes”
If a write transaction write_data_mode field is set to *_DATA_WITH_ADDRESS,
execute_transaction() calls the
and
tasks simultaneously, otherwise
so that the write data burst occurs after the write address phase
(default). It will then call the
task to complete the write transaction.
For a read transaction, execute_transaction() calls the
task
task to complete the read transaction.
AXI3 Example
// Declare a local variable to hold the transaction record.
axi_transaction read_trans;
// Create a read transaction with start address of 0 and assign
// it to the local read_trans variable.
read_trans = bfm.create_read_transaction(0);
....
// Execute the read_trans transaction.
bfm.execute_transaction(read_trans);
Prototype
// * = axi | axi4
task automatic execute_transaction
(
*_transaction trans
);
Arguments
trans
The
*_transaction
record.
Returns
None