Process_write, Example 11-38. process_write, Ts of five main processes – Altera Mentor Verification IP Altera Edition AMBA AXI3/4TM User Manual

Page 668

Advertising
background image

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

648

VHDL Tutorials
Verifying a Master DUT

September 2013

process_write

The process_write process works in a similar way as that previously described for

process_read

. It uses unique path and queue identifiers to work concurrently with other

processes, as shown in

Example 11-38

.

Example 11-38. process_write

-- process_write : write address phase through path 0
-- This process keep receiving write address phase and push the
-- transaction into queue through push_transaction_id API.
process

variable write_trans : integer;

begin

set_config(

AXI4_CONFIG_MAX_OUTSTANDING_WR, m_max_outstanding_write_trans,
index, axi4_tr_if_0(index));

wait_on(AXI4_RESET_0_TO_1, index, axi4_tr_if_0(index));
wait_on(AXI4_CLOCK_POSEDGE, index, axi4_tr_if_0(index));
loop

create_slave_transaction(write_trans, index, axi4_tr_if_0(index));
get_write_addr_phase(write_trans, index, axi4_tr_if_0(index));
get_config(AXI4_CONFIG_NUM_OUTSTANDING_WR_PHASE,

tmp_config_num_outstanding_wr_phase, index,
AXI4_PATH_3, axi4_tr_if_0(index));

push_transaction_id(write_trans, AXI4_QUEUE_ID_0, index,

axi4_tr_if_0(index));

end loop;
wait;

end process;

Advertising