Monitor assertions, Axi3 assertion configuration – Altera Mentor Verification IP Altera Edition AMBA AXI3/4TM User Manual

Page 126

Advertising
background image

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

108

SystemVerilog AXI3 and AXI4 Monitor BFMs
Monitor Assertions

September 2013

Monitor Assertions

Each monitor BFM performs protocol error checking via built-in assertions.

Note

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

AXI3 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(AXI_CONFIG_ENABLE_ALL_ASSERTIONS,0)

Alternatively, individual built-in assertions can be disabled 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
bit [255:0] config_assert_bitvector;

// Get the current value of the assertion bit vector
config_assert_bitvector = bfm.get_config(AXI_CONFIG_ENABLE_ASSERTION);

// 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
bfm.set_config(AXI_CONFIG_ENABLE_ASSERTION, config_assert_bitvector);

Note

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, follow the above
code sequence and assign the assertion in the AXI_CONFIG_ENABLE_ASSERTION bit vector
to 1.

For a complete listing of AXI3 assertions, refer to

“AXI3 Assertions”

on page 665.

Advertising