User guide

14-14
Negative Timing Checks
Similarly, if you include the +neg_tchk compile-time option and then
include the +notimingcheck runtime option instead of the
compile-time option, you disable the $setuphold and $recrem
timing checks that VCS compiled into the executable. At compile time
VCS creates the signals that you specified in the
delayed_reference_signal and delayed_data_signal
arguments, and you can use them to drive sequential devices in the
cell, but the +notimingcheck runtime option disables the delay on
these “delayed” versions.
Other Timing Checks Using the Delayed Signals
When you enable negative timing limits in the $setuphold and
$recrem timing checks, and have VCS create delayed versions of
the data and reference signals, by default the other timing checks
also use the delayed versions of these signals. You can prevent the
other timing checks from doing this with the +old_ntc compile-time
option.
Having the other timing checks use the delayed versions of these
signals is particularly useful when the other timing checks use a
notifier register to change the output of the sequential element to X.
Example 14-1 illustrates this:
Example 14-1 Notifier Register Example for Delayed Reference and Data
Signals
`timescale 1ns/1ns
module top;
reg clk, d;
reg rst;
wire q;