User guide
20-15
Using OpenVera Assertions
GR32: WARNING the unit instance name in a bind
statement is missing.
The problem is that an automatically generated name is inserted by
the compiler which makes it more difficult for the user to locate the
checker instance.
GR34: WARNING multiplication *N (by a constant) is
the last operator on an expression - consider
changing to repetition *[N].
Example:
event e: a #[1..] b*3;
Often [] is omitted by accident from the repetition operation. Consider
changing the expression to event e:
a #[1..] b*[3];
GR35: WARNING a bitwise operator (&, |, ~, etc.) is
used on a boolean expression.
Example:
logic a; logic b;
event e: (a & b) == 0 #1 (~b == 0);
The problem is that with bitwise operations the word extension to 32
bits as implied by the "0" operand and the bitwise operations may
produce unwanted results. Consider rewriting as follows:
event e: (a && b) == 0 #1 (!b == 0);
GR36: RECOMMENDATION open-ended interval delay used
in an event to which ended or matched is applied.
Example:
event e1: a #[1..] b;
event e2: ended e1 #1 ... ;