Waiting events, Wait_on() – Altera Mentor Verification IP Altera Edition AMBA AXI3/4TM User Manual
Page 213

VHDL API Overview
Waiting Events
Mentor VIP AE AXI3/4 User Guide, V10.2b
195
September 2013
execute_transaction(), execute*_burst(), execute*_phase()
If the DUT is a slave then the execute_transaction() procedure is called in the master BFM test
program. If the DUT is a master then the execute*_burst() and execute*_phase() procedures are
called in the slave BFM test program.
For example, to execute a master write transaction the master BFM test program would contain
the following code:
-- * = axi| axi4
-- By default the execution of a transaction will block
execute_transaction(tr_id, bfm_index, *_tr_if_2(bfm_index));
For example, to execute a slave write response phase, the slave BFM test program would
contain the following code:
-- * = axi| axi4
-- By default the execution of a phase will block
execute_write_response_phase(write_trans, bfm_index,
*_tr_if_2(bfm_index));
In the above example, the bfm_index specifies the BFM.
Waiting Events
Each BFM API has procedures that block the test program code execution until an event has
occurred.
procedure blocks the test program until an ACLK or ARESETn signal event has
occurred before proceeding.
get*_transaction(), get*_burst(), get*_phase(), get*_cycle()
program code execution until a complete transaction, burst, phase or cycle has occurred,
respectively.
wait_on()
For example, a BFM test program can wait for the positive edge of the ARESETn signal using
the following code:
-- * = axi| axi4
-- ** = AXI | AXI4
-- Block test program execution until the positive edge of the clock
wait_on(**_RESET_POSEDGE, bfm_index, *_tr_if_0(bfm_index));
In the above example, the bfm_index specifies the BFM.