Axi4 assertion configuration, Vhdl monitor api – Altera Mentor Verification IP Altera Edition AMBA AXI3/4TM User Manual

Page 511

Advertising
background image

VHDL AXI3 and AXI4 Monitor BFMs

VHDL Monitor API

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

491

September 2013

AXI4 Assertion Configuration

By default, all built-in assertions are enabled in the monitor BFM. To globally disable them in
the monitor BFM, use the

set_config()

command as the following example illustrates:

set_config(AXI4_CONFIG_ENABLE_ALL_ASSERTIONS,0,bfm_index,
axi4_tr_if_0(bfm_index));

Alternatively, you a disable individual built-in assertions by using a sequence of

get_config()

and

set_config()

commands on the respective assertion. For example, to disable assertion

checking for the AWLOCK signal changing between the AWVALID and AWREADY handshake
signals, use the following sequence of commands:

-- Define a local bit vector to hold the value of the assertion bit vector
variable config_assert_bitvector : std_logic_vector(AXI4_MAX_BIT_SIZE-1
downto 0);

-- Get the current value of the assertion bit vector
get_config(AXI4_CONFIG_ENABLE_ASSERTION, config_assert_bitvector,
bfm_index, axi4_tr_if_0(bfm_index));

-- Assign the AXI4_LOCK_CHANGED_BEFORE_AWREADY assertion bit to 0
config_assert_bitvector(AXI4_LOCK_CHANGED_BEFORE_AWREADY) := ‘0’;

-- Set the new value of the assertion bit vector
set_config(AXI4_CONFIG_ENABLE_ASSERTION, config_assert_bitvector,
bfm_index, axi4_tr_if_0(bfm_index));

Note

Do not confuse the AXI4_CONFIG_ENABLE_ASSERTION bit vector with the
AXI4_CONFIG_ENABLE_ALL_ASSERTIONS global enable/disable.

To re-enable the AXI4_LOCK_CHANGED_BEFORE_AWREADY assertion, following the
above code sequence, assign the assertion in the AXI4_CONFIG_ENABLE_ASSERTION bit
vector to 1.

For a complete listing of assertions, refer to

“AXI4 Assertions”

on page 678.

VHDL Monitor API

This section describes the VHDL Monitor API.

Advertising