I placed an OFFSET OUT/BEFORE constraint on a path, but the values reported by Timing Analyzer/TRACE are different than when I calculated them based on the equations in (Xilinx Answer 5489). Why is this happening?
An OFFSET OUT/BEFORE constraint does not use the required clock period if the output register does not clock anything. This occurs when the register clocks a constant, and a reset is used to clear the register (also called a "one shot"). As there is no data path (with a period) associated with the register, the tools cannot find the period, and they incorrectly calculate the output offset.
One way to work around this problem is to enable path tracing for the reset -> CLK setup checking by adding the following to the PCF:
This issue will be addressed in a future software release.