You can set a module path delay in a specify block as follows (in this case, the clock
to q
delay in a DFF):
specify
specparam tPLHc = 4:6:9, tPHLc = 5:8:11;
(clock *> q) = (tPLHc, tPHLc);
endspecify
In other words, the minimum delay for a 0->1 transition on q
is 4 time units, and so on. However, this only gives the delays for a new valid output on q
, and doesn't specify how long the previous q
output holds after a clock edge (or the stability window over which the new q
is valid). Assume, for example, that q
remains valid for 2 time units after a clock rising edge, and takes on the new value after 4 time units.
Is there some way to specify the output hold time, or does this have to be manually coded?