Assertion configuration, Vhdl slave api – Altera Mentor Verification IP Altera Edition AMBA AXI4-Lite User Manual

Page 217

Advertising
background image

VHDL Slave BFM

VHDL Slave API

Mentor Verification IP AE AXI4-Lite User Guide, V10.3

217

April 2014

Note

The built-in BFM assertions are independent of programming language and simulator.

Assertion Configuration

By default, all built-in assertions are enabled in the slave BFM. To globally disable them in the
master 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 AWADDR 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_AWADDR_CHANGED_BEFORE_AWREADY assertion bit to 0
config_assert_bitvector(AXI4_AWADDR_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_AWADDR_CHANGED_BEFORE_AWREADY assertion, follow the
above code sequence and assign the assertion within the
AXI4_CONFIG_ENABLE_ASSERTION bit vector to 1.

For a complete listing of assertions, refer to “

AXI4-Lite Assertions

” on page 369.

VHDL Slave API

This section describes the VHDL Slave API.

Advertising