Hardware Reference
In-Depth Information
Table 11.1
Sequence
Operator Associativity
[ * ...] -
[ * ] -
[+] -
[->...] -
[=...] -
## Left
throughout Right
within
operators
Left
Left
intersect
Left
and
Left
or
Fig. 11.1
e throughout s
e
e
e
e
e
s
clock ticks
throughout . The sequence e throughout s , where e is a Boolean expression and
s is a sequence, has a match in clock tick t iff s has a match at t , and in each clock
tick from the start of the evaluation of s until and including the match of s ,the
condition e is true (see Fig. 11.1 ).
Example 11.1. Write a sequence describing the following scenario: “Three con-
secutive enabled occurrences of read followed by four enabled occurrences of
write ”. The occurrences of read and write are enabled if en is asserted.
Solution: The sequence may be implemented as
(read && en)[ * 3] ##1 (write && en)[ * 4]
Using the throughout operator, the same sequence may be rewritten in a more
expressive way:
t
Example 11.1 illustrates the fact 1 that throughout is a convenience operator
which does not introduce any additional expressive power to the language. Yet, it
greatly improves assertion readability and makes the intent clear.
en throughout read[ * 3] ##1 write[ * 4]
Efficiency Tip. The throughout operator is efficient both in simulation and in FV.
1 It can be proven formally [ 23 ].
 
Search WWH ::




Custom Search