Hardware Reference
In-Depth Information
10
20
30
40
50
60
70
80
90
100
clk
req
ack
err
Fig. 6.6
Overlapping implication
10
20
30
40
50
60
70
80
90
100
clk
req
ack
err
Fig. 6.7
Nonoverlapping implication
Example 6.20. If there is no acknowledgment ack within three clock ticks after
request req was issued, request req must be resent unless an error indicator err
is set.
Solution: From this formulation it is not clear when the request should be resent
exactly: in three or in four clock ticks? We will consider both cases (assertions a1
and a2 ) differing by the type of the implication:
a1: assert property (@( posedge clk)
req ##1 !ack[ * 3] |-> req || err);
a2: assert property (@( posedge clk)
req ##1 !ack[ * 3] |=> req || err);
The corresponding timing diagrams are shown in Figs. 6.6 and 6.7 .
t
6.4.1
Nested Implication
Suffix implications can be nested as illustrated in the following example.
Example 6.21. If start is asserted two clock ticks before send , then acknowledg-
ment ack should arrive in three clock ticks after send was asserted.
 
Search WWH ::




Custom Search