
Mentor VIP AE AXI3/4 User Guide, V10.2b
350
VHDL AXI3 and AXI4 Slave BFMs
Slave Assertions
September 2013
AXI3 Assertion Configuration
By default all built-in assertions are enabled in the slave BFM. To globally disable them in the
slave BFM, use the set_config() command as the following example illustrates.
set_config(AXI_CONFIG_ENABLE_ALL_ASSERTIONS,0,bfm_index,
axi_tr_if_0(bfm_index));
Alternatively, you can 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(AXI_MAX_BIT_SIZE-1
downto 0);
-- Get the current value of the assertion bit vector
get_config(AXI_CONFIG_ENABLE_ASSERTION, config_assert_bitvector,
bfm_index, axi_tr_if_0(bfm_index));
-- Assign the AXI_LOCK_CHANGED_BEFORE_AWREADY assertion bit to 0
config_assert_bitvector(AXI_LOCK_CHANGED_BEFORE_AWREADY) := ‘0’;
-- Set the new value of the assertion bit vector
set_config(AXI_CONFIG_ENABLE_ASSERTION, config_assert_bitvector,
bfm_index, axi_tr_if_0(bfm_index));
Do not confuse the AXI_CONFIG_ENABLE_ASSERTION bit vector with the
AXI_CONFIG_ENABLE_ALL_ASSERTIONS global enable/disable.
To re-enable the AXI_LOCK_CHANGED_BEFORE_AWREADY assertion, following the above
code sequence, assign the assertion in the AXI_CONFIG_ENABLE_ASSERTION bit vector to 1.
For a complete listing of assertions. refer to “AXI3 Assertions” on page 665.
AXI4 Assertion Configuration
By default all built-in assertions are enabled in the slave BFM. To globally disable them in the
slave 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 can 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:
Comentários a estes Manuais