User guide
14-17
Negative Timing Checks
If you include the +neg_tchk compile-time option and also the
+old_ntc compile-time option, the $width timing check does not
use the delayed version of signal clk and the following sequence of
events occurs:
1. At time 301 the narrow pulse on signal clk causes a width
violation:
"test1.v", 31: Timing violation in top.dff1
$width( posedge clk:300, : 301, limit: 5);
2. Also at time 301 the notifier reg named notif toggles from X to
1. This in turn changes the output q of the user-defined primitive
DFF_UDP and module instance dff1 from 0 to X.
3. At time 311 the delayed version of signal clk, named d_clk,
reaches the user-defined primitive DFF_UDP changing the output
q to 1 erasing the X value on this output.
Figure 14-3 Other Timing Checks Not Using the Delayed Versions