Axi3 example – Altera Mentor Verification IP Altera Edition AMBA AXI3/4TM User Manual
Page 497

VHDL AXI3 and AXI4 Slave BFMs
get_write_addr_data()
Mentor VIP AE AXI3/4 User Guide, V10.2b
477
September 2013
AXI3 Example
-- Wait for the write data burst to complete for the tr_id transaction.
get_write_data_burst(tr_id, bfm_index, axi_tr_if_1(bfm_index));
-- Get the burst length of the tr_id transaction.
get_burst_length(burst_length, tr_id, bfm_index, axi_tr_if_1(bfm_index));
-- Loop for the length of the data burst.
for i in 0 to burst_length loop
-- Get the address, first data byte and byte length for the
-- data phase (beat)
get_write_addr_data
(tr_id, i, 0, byte_length, addr, data, bfm_index,
axi_tr_if_1(bfm_index));
-- Store the first data byte in the slave memory using the
-- slave test program do_byte_write procedure
do_byte_write(addr, data);
-- Get the remaining bytes of the write data phase (beat)
-- and store thenm in the slave memory.
if byte_length > 1 then
for j in 1 to byte_length-1 loop
get_write_addr_data
(write_trans, i, j, byte_length, addr, data,
index, axi_tr_if_1(index));
do_byte_write(addr, data);
end loop;
end if;
end loop;
tr_if
Transaction signal interface. Refer to
on page 203 for more details.
Returns
dynamic_size
addr
data