Hardware Reference
In-Depth Information
Example 5.19. What is the meaning of ( always p) and ( always q) ?
Solution: According to the definition of property and this property is true iff both
p and q hold in each clock tick, that is, the original property is equivalent to
always (p and q) .
Discussion: ( always p) or ( always q) is not equivalent to always (p or q) .
Consider a case when p holds in all odd clock ticks, and q holds in all even ticks.
Then always (p or q) is true, whereas ( always p) or ( always q) is false. t
5.6
Until Property
Property p until q is true in clock tick i iff p is true in every clock tick j i
until, but not including, the first clock tick k i where q is true. If there is no such
k, p should be true in all clock ticks j i .
It follows that property p until q is true iff the property p is true in every clock
tick until (but not including) the first clock tick where q is true. See Fig. 5.5 .If q
never happens p should be true forever.
Note that p until q does not mean that p cannot be true starting from the clock
tick when q becomes true. It only means that p does not have to be true after q
becomes true for the first time. Also, the operator until is nonoverlapping : p does
not have to be true when q becomes true for the first time (though, of course, p may
be true at this moment).
There is also an overlapping version of until called until_with . The only
difference between until and until_with is that for until_with to be true p must
be true at the moment q becomes true for the first time, as stated in the following
definition:
Property p until_with q is true iff the property p is true in every clock tick
until (and including) the first clock tick where q is true. See Fig. 5.6 .If q never
happens p should be true forever. We leave the definition of the truth of property
until_with in clock tick i as an exercise to the reader.
p until_with q is equivalent to p until (p and q) . (Why? See Exer-
cise 5.8 .)
Example 5.20.
Table 5.2 contains an initial trace fragment of signals a , b , c , d ,
and e .
￿ a until b is true since b is true in clock tick 0.
￿ a until c is true since a is true in clock tick 0, and c is true in clock tick 1.
p
p
p
p
p
q
Fig. 5.5 until property
clock ticks
p
p
p
p
p
pq
Fig. 5.6 until_with
property
clock ticks
Search WWH ::




Custom Search