Execute_transaction(), Example, Information to be transferred and then calls the – Altera Mentor Verification IP Altera Edition AMBA AXI4-Lite User Manual
Page 49: Tasks. the
SystemVerilog Master BFM
execute_transaction()
Mentor Verification IP AE AXI4-Lite User Guide, V10.3
49
April 2014
execute_transaction()
This task executes a master transaction previously created by the
, functions. The transaction can be blocking (default) or nonblocking,
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
” on page 146 for more details.
If a write transaction write_data_mode field is set to AXI4_DATA_WITH_ADDRESS
,
execute_transaction()
tasks simultaneously; otherwise,
will be called after
so that the write data phase will occur 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.
Example
// Declare a local variable to hold the transaction record.
axi4_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
task automatic execute_transaction
(
axi4_transaction trans
);
Arguments
trans
The axi4_transaction
record.
Returns
None