assert_never

Ensures that the value of a specified expression is not TRUE.

Parameters:
severity_level
property_type
msg
coverage_level
Class:
single-cycle assertion

Syntax

assert_never 
		[#(severity_level, property_type, msg, coverage_level )] 
		instance_name (clk, reset_n, test_expr );

Parameters

 
severity_level
Severity of the failure. Default: ‘OVL_ERROR.
 
property_type
Property type. Default: ‘OVL_ASSERT.
 
msg
Error message printed when assertion fails. Default: “VIOLATION”.
 
coverage_level
Coverage level. Default: ‘OVL_COVER_ALL.

Ports

 
clk
 
Clock event for the assertion. The checker samples on the rising edge of the clock.
 
reset_n
 
Active low synchronous reset signal indicating completed initialization.
 
test_expr
 
Expression that should not evaluate to TRUE on the rising clock edge.

Description

The assert_never assertion checker checks the single-bit expression test_expr at each rising edge of clk to verify the expression does not evaluate to TRUE.

Assertion Checks

 
ASSERT_NEVER
Expression evaluated to TRUE.
 
test_expr contains X/Z value
Expression evaluated to X or Z, and ‘OVL_XCHECK_OFF is not set.

Cover Points

none

Notes

1. By default, the assert_never assertion is pessimistic and the assertion fails if test_expr is not 0 (i.e.equals 1, X, Z, etc.). However, if ‘OVL_XCHECK_OFF is set, the assertion fails if and only if test_expr is 1.

See also

assert_always, assert_always_on_edge, assert_implication, 
assert_proposition

Example

assert_never #(
 
‘OVL_ERROR,
‘OVL_ASSERT,
“”,
‘OVL_COVER_ALL)
// severity_level
// property_type
// msg
// coverage_level
 
valid_count (
 
 
 
clk,
reset_n,
reg_a < reg_b );
// clock
// reset
// test_expr

Ensures that (reg_a < reg_b) is FALSE at each rising edge of clk.


  © Accellera Organization, Inc. 2005
All Rights Reserved.
Standard OVL V1.1a