Execute_read_data_phase(), Axi3 example, Task for each p – Altera Mentor Verification IP Altera Edition AMBA AXI3/4TM User Manual
Page 102: Task for each beat of the data

Mentor VIP AE AXI3/4 User Guide, V10.2b
84
SystemVerilog AXI3 and AXI4 Slave BFMs
execute_read_data_phase()
September 2013
execute_read_data_phase()
This task executes a read data phase (beat) previously created by the
task. This phase can be blocking (default), or non-blocking, defined by the transaction record
operation_mode field.
The execute_read_data_phase() sets the RVALID protocol signal at the appropriate time
defined by the transaction record data_valid_delay field and sets the data_beat_done array
index element field to 1 on completion of the phase. If this is the last phase (beat) of the burst
then this task sets the transaction_done field to 1 to indicate the whole read transaction has
completed.
AXI3 Example
// Declare a local variable to hold the transaction record.
axi_transaction read_trans;
// Create a slave transaction and assign it to the local
// read_trans variable.
read_trans = bfm.create_slave_transaction();
....
// Execute the read data phase for the first beat of the
// read_trans transaction.
bfm.execute_read_data_phase(read_trans, 0);
// Execute the read data phase for the second beat of the
// read_trans transaction.
bfm.execute_read_data_phase(read_trans, 1);
Prototype
// * = axi | axi4
task automatic execute_read_data_phase
(
*_transaction trans,
int index = 0 // Optional
);
Arguments
trans
The *_transaction record.
index
Data phase (beat) number.
Returns
None