Which region does Testbench use to drive the signal to DUT?

In reply to possible:

  1. For clocking block drives:

For zero skew clocking block outputs with no cycle delay, synchronous drives shall schedule new values in the Re-NBA region of the time step corresponding to the clocking event. For clocking block outputs with nonzero skew, or drives with nonzero cycle delay, the corresponding signal shall be scheduled to change value in the Re-NBA region of a future time step.For clocking block inputs:
If the input skew
is not an explicit #0, then the value sampled corresponds to the signal value at the Postponed region of the time step skew time units prior to the clocking event (see Figure 14-1 in 14.4). If the input skew is an explicit #0, then the value sampled corresponds to the signal value in the Observed region.Note that the sampled value of a signal in the postponed region of the previous time step is by definition the same value of that signal in the preponed region of the current time step.

  1. If you follow the recommended practice of driving your clock with a blocking assignment in a module, the clock gets updated in the active region, and the @(posedge clock) follows in the same active region.
  2. Using #0 for a skew is never recommended, so consider input sampling as always the postponed region of the previous time stamp, the the postponed region of the skewed time step.