User guide

3-15
Compiling and Elaborating Your Design
VCS displays this warning every time it evaluates the conditional
expression to have an X or Z value, not just when the signal or signals
in the expression transition to an X or Z value.
VCS does not display a warning message when a sub-expression
has the value X or Z, but the conditional expression evaluates to a 1
or 0 value. For example:
r1 = 1’bz;
r2 = 1’b1;
if ( (r1 && r2 ) || 1’b1)
r3 = 1;
In this example the conditional expression always evaluates to a 1
value so VCS does not display a warning message.
Enabling the Checking
The -xzcheck compile-time option checks all the conditional
expressions in the design and displays a warning message every
time it evaluates a conditional expression to have an X or Z value.
You can suppress or enable these warning messages globally or on
selected modules using $xzcheckoff and $xzcheckon system
tasks. For more details on $xzcheckoff and $xzcheckon system
tasks, see “Checking for X and Z Values in Conditional Expressions”
on page D-41
The -xzcheck compile-time option has an optional argument to
suppress the warning for glitches evaluating to X or Z value. Synopsys
calls these glitches as false negatives. See “Filtering Out False
Negatives” on page 3-16.