User guide

24-91
SystemVerilog Testbench Constructs
Can r be solved at the same time as x?
Consider x !=(y+r) again. Figure 24-1 illustrates that the
relationship between r and x is bidirectional which means there is
no unidirectional constraint imposed between these two
variables as well as there is no ordering dependency between x
and r therefore, the constraints can be solved at the same time.
The solving order:
1. y
2. x and r
3. z
The constraints used for solving x,y, z and r are:
1. y is solved using the constraint y inside {2,3}.
2. x and r are solved using the constraints x%y == 0, x!=y+r and
r==5.
3. z is solved using the constraints z==x*y.
A warning message will be issued for the following usage of $void():
The entire constraint expression being the parameter to $void()
(for example, constraint b1 {$void(x<y);})
- The runtime will ignore the $void() specification.
Expressions with only constants and state variables, including
loop variables in the case of array constraints, being parameters
to $void() (for example, constraint b1{x==$void(5);})
- the runtime will ignore the $void() specification.