User guide
14-10
Negative Timing Checks
r 1 0 ? : ? : 1 ;
f ? 0 ? : ? : - ;
? ? r ? : ? : 0 ;
? * ? ? : ? : - ;
? ? ? * : ? : x ;
endtable
endprimitive
In this example the DFF_UDP user-defined primitive is driven by the
delayed signals dClk, dD, dRST, and the notifier reg.
Negative Timing Checks for Asynchronous Controls
The $recrem timing check is for checking how close asynchronous
control signal transitions are to clock signals. Like the setup and hold
limits in $setuphold timing checks, the $recrem timing check has
recovery and removal limits. The recovery limit specifies how much
time must elapse after a control signal toggles from its active state
before there is an active clock edge. The removal limit specifies how
much time must elapse after an active clock edge before the control
signal can toggle from its active state.
In the same way as a reference signal like a clock signal and data
signal can have different propagation delays from the cell boundary
to a sequential device inside the cell, there be different propagation
delays between the clock signal and the control signal. For this reason
there can be negative recovery and removal limits in the $recrem
timing check.