6828 - Diamond: How does Timing Analysis use the CLKOFFSET value of the INPUT_SETUP preference?

6828 - Diamond: How does Timing Analysis use the CLKOFFSET value of the INPUT_SETUP preference?

Consider an example report with INPUT_SETUP preferences, one with a 0.5 X CLKOFFSET and another one with -0.5 X CLKOFFSET. The calculation should be the following:

Externally, user is using a positive-edge triggered flop and internally the tool is capturing it with the next negative edge. By adding 20 ns (half period) to the data path, the positive edge of clock has a delay of 20 ns and the negative edge 40 ns. Thus:
 
 -(40 + 1.771) + 20.796 = -20.975 ns

 
 
In the second case, data is triggered externally with the negative edge and captured with the previous positive edge. Thus, the tool took -20 ns as the starting point for data so the capture edge starts at -40 ns. So, the equation would be:
 
- ((-40) + 1.771) + (-19,204) = +19.025 ns
 
This additional 20 ns for CLK_OFFSET (+) and decrease of 20 ns for CLK_OFFSET (-) should reflect on the on the required time but not on the arrival time.