Hardware Reference
In-Depth Information
Example 21.28.
Property
not
(a
until
b)
is strong. It checks that the clock
ticks enough times to witness that
a
until
b
does not hold. Property
not
(a
s_until
b)
is weak. If the clock stops ticking early, property
a
s_until
b
will fail, and its negation will pass.
t
Since property implication
p
implies
q
is equivalent to
(
not
p)
or
q
,the
strength of the antecedent is reversed and the strength of the consequent is preserved.
Therefore, for the implication to be weak, property
p
should be strong and property
q
should be weak.
Example 21.29.
Consider the following assertions:
a1:
assert property
(@clk !a);
a2:
assert property
(@clk
not
a);
initial
a3:
assert property
(@clk !a);
initial
a4:
assert property
(@clk
not
a);
Assertions
a1
and
a2
are equivalent. Property
@clk
not
a
is equivalent to property
@clk
strong
(!a)
(Example
21.27
). In the context of assertion
a2
, properties
@clk
strong
(!a)
and
@clk
weak
(!a)
are equivalent as we check them only at
all the ticks of
clk
due to the implicit top-level
always
.
Assertions
a3
and
a4
are not equivalent:
a3
is satisfied if
clk
never ticks, whereas
assertion
a4
fails in this case.
t
The implicit always in continuously monitored assertions causes the clock to
be treated weakly at the top-level.
Operator Composition
We know that strong operators require their clock to tick enough times, while there
is no such restriction in weak operators. To interpret the semantics of a property
containing both weak and strong operators, one should refer to the formal semantics
of these operators and to their clock rewriting rules.
Example 21.30.
Which requirements are imposed on the clock in property
@clk
always s_eventually
p
? Property
@clk
always s_eventually
p
holds if in
each tick of
clk
property
@clk
s_eventually
p
holds. This means that if there is
an i th tick of
clk
, then there must exist a j th tick of
clk
, j
i , at which property
p
holds. To summarize, property
@clk
always s_eventually
p
is satisfied if one
of the following conditions holds:
Clock
clk
does not tick at all.
Clock
clk
ticks finitely many times and
p
holds when the clock ticks for the last
time.
Search WWH ::
Custom Search