Hardware Reference
In-Depth Information
CF8 A clock that flows to one of the operators ##n , [ * n] , |-> , |=> , #-# , and
#=# flows across the operator. If the operator is not a synchronizer, then the
clock also governs time advances associated with the operator. Analogous
rules apply to ranged variants of [ * n] .
CF9 A clock that flows to the left operand of one of the infix operators or ,
and , intersect , within , throughout , iff , implies , and until flows to
the operator and distributes to (i.e., flows into) both operands. The clock
also governs time advance for until . Analogous rules apply to the various
variants of these operators.
CF10 A clock that flows to one of the prefix operators not , nexttime , always , and
eventually flows to the operand of the operator. The clock also governs time
advance in nexttime , always , and eventually . Analogous rules apply to
all the variants of these operators.
CF11 A clock that flows to an if - else governs the test condition of the if - else .
The clock also flows into each of the underlying properties of the if - else .
Analogous rules apply to case .
CF12 A clock that flows to a disable iff , accept_on ,or reject_on flows into
the underlying property. The clock does not govern the reset condition.
CF13 A clock that flows to a sync_accept_on or sync_reject_on governs the
abort condition and flows into the underlying property.
The following examples illustrate the clock flow rules.
Example 12.3.
Analyze the clock flow in the following property:
@(ev1) a |=> b ##1 @(ev2) c
Solution: By CF3 , ev1 flows to a .By CF7 , ev1 governs a and flows to |=> .By CF8 ,
ev1 flows across |=> to b .By CF7 , ev1 governs b and flows to ##1 .By CF8 , ev1
flows across ##1 to @(ev2) .By CF4 , the scope of ev1 does not flow across @(ev2) .
Therefore, ##1 is a synchronizer between ev1 and ev2 .By CF3 , ev2 flows to c .
By CF7 , ev2 governs c . In summary, the property is equivalent to the following, in
which each of the Booleans is explicitly clocked:
@(ev1) a |=> @(ev1) b ##1 @(ev2) c
t
Example 12.4.
Analyze the clock flow in the following property:
@(ev1) a ##1 (b ##1 @(ev2) c) |=> d
Solution: By CF3 , CF7 , and CF8 , ev1 flows to and governs a and flows across
##1 to the parenthesized subsequence (b ##1 @(ev2)c) .By CF6 , ev1 flows into
and across the parenthesized subsequence. Therefore, ev1 flows to and across
|=> ( CF8 ), and so it flows to and governs d ( CF7 ). Within the parenthesized
subsequence, ev1 flows to, governs, and flows across b ( CF7 ), flows across ##1
( CF8 ), and ends at @(ev2) ( CF4 ). Therefore, the ##1 within the parenthesized
Search WWH ::




Custom Search