Vl-repetition
Representation of a SystemVerilog assertion sequence repetition.
This is a product type introduced by defprod.
Fields
- type — vl-repetitiontype-p
- Kind of repetition, i.e., consecutive, goto, or nonconsecutive.
- left — vl-expr
- Sole or left bound on the repetition. Examples: left is 3 for
any of [* 3],
[* 3:4],
[-> 3],
[-> 3:4],
[= 3], or
[= 3:4].
In the special cases of [*] and [+], left should be
0 and 1, respectively.
- right — vl-maybe-expr
- Right bound on the repetition if applicable. For instance,
right is
nil for any of [* 3],
[-> 3], or
[= 3].
It is 4 for any of [* 3:4],
[-> 3:4], or
[= 3:4].
It is $ for [*] or [+].
See SystemVerilog-2012 Section 16.9.2.
Note from Page 357 that [*] is equivalent to [0:$] and [+] is
equivalent to [1:$], so we don't bother with separate representations of
these.
Subtopics
- Vl-repetition-fix
- Fixing function for vl-repetition structures.
- Vl-repetition-equiv
- Basic equivalence relation for vl-repetition structures.
- Make-vl-repetition
- Basic constructor macro for vl-repetition structures.
- Vl-repetition->type
- Get the type field from a vl-repetition.
- Vl-repetition->right
- Get the right field from a vl-repetition.
- Vl-repetition->left
- Get the left field from a vl-repetition.
- Change-vl-repetition
- Modifying constructor for vl-repetition structures.
- Vl-repetition-p
- Recognizer for vl-repetition structures.