Hardware Reference
In-Depth Information
10
20
30
40
50
60
70
80
90
100
clk1
a
clk2
b
Fig. 12.13
Waveform for assertion a13_v2 of module m3_v2
￿ First proceed to the nearest current or future tick of the governing clock (i.e., first
align with the governing clock).
￿ From that point, advance to the next tick of the governing clock.
Here is an example illustrating such use of nexttime :
module m3_v2 ( logic a, b, clk1, clk2);
a13_v2: assert property (
@( posedge clk1) a |-> @( posedge clk2) nexttime b
);
endmodule
Figure 12.13 shows a waveform with solid arrows representing the temporal actions
of nexttime in the evaluation of a13_v2 . Note that all signals are the same as
in Fig. 12.12 except for clk2 , which no longer has a posedge at time 65. For
the evaluation attempt beginning at time 20, alignment with posedge clk2 does
not advance time. Advancing to the next tick carries the attempt to time 35,
where it fails. For the evaluation attempt beginning at time 60, alignment with
posedge clk2 carries the attempt to time 80. For the attempt beginning at time 80,
alignment with posedge clk2 does not advance time. For both of these attempts,
advancement to the next tick carries the attempt to time 95, where the result is pass.
Because posedge clk1 and posedge clk2 both occur at times 20 and 80, these
evaluation attempts behave the same as a14 .
The operator nexttime [0] specifies only alignment with its governing (i.e.,
incoming) clock. For any property p, nexttime [0] p is equivalent to 1'b1 |-> p.
This operator can be used, e.g., if p may have a leading clock different from the
incoming clock and it is desired to ensure that alignment with the incoming clock
occurs first. Examples of such usage are given in Sect. 17.1 .
Similar considerations apply when other LTL operators are used as synchroni-
zers: time advance specified by the LTL operator is always with respect to the clock
governing (i.e., incoming to) the LTL operator, and evaluation of the LTL operator
first specifies alignment to that clock in case its evaluation is not guaranteed to begin
at such a point. See Exercise 12.4 .
Search WWH ::




Custom Search