Get_write_data_phase(), Axi3 example – Altera Mentor Verification IP Altera Edition AMBA AXI3/4TM User Manual

Page 141

Advertising
background image

SystemVerilog AXI3 and AXI4 Monitor BFMs

get_write_data_phase()

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

123

September 2013

get_write_data_phase()

This blocking task gets a write data phase previously created by the

create_monitor_transaction()

function.The get_write_data_phase() sets the data_beat_done

array index element field to 1 when the phase completes. If this is the last phase (beat) of the
burst, then it returns the transaction last argument set to 1 to indicate the whole burst is
complete.

AXI3 Example

// Declare a local variable to hold the transaction record.
axi_transaction write_trans;

// Create a monitor transaction and assign it to the local
// write_trans variable.
write_trans = bfm.create_monitor_transaction();

....

// Get the write data phase for the first beat of the
// write_trans transaction.
bfm.get_write_data_phase(write_trans, 0, last);

// Get the write data phase for the second beat of the
// write_trans transaction.
bfm.get_write_data_phase(write_trans, 1, last);

Prototype

// * = axi | axi4
task automatic get_write_data_phase
(

*_transaction trans
,
int index = 0, // Optional
output bit last

);

Arguments

trans

The *_transaction record.

index

(Optional) Data phase (beat) number.

Returns

last

Flag to indicate that this data phase is the last in the burst.

Advertising