Monday 14 July 2014

Why hold does not depend on clock frequency?


If there is setup violation, the frequency of chip can be reduced and we can make the chip still function. But if there is hold violation then your chip is lost for ever. This is the most used phrase in physical design. But did you ever try to analyse why the hold violations does not depend on the frequency of the chip ? First of all let us understand Setup and hold checks completely Imagine data is travelling from FF1 to FF2 as shown in the figure.  


Look at the timing diagram below Data1(clock cycle1 data of FF1 ) is being sampled at FF2 in clock cycle2 Data2 (clock cycle2 data of FF1) is on its way to FF2 already 


 

From the figure Setup check It says that the data sampled from FF1 at cycle 1 should reach FF2 in cycle 2 before FF2 setup time. Equation Tc2q (FF1) + Tcomb = Tclk -Tsetup Hold check It says that the current data ==>Data 2, which is sampled from FF1 at cycle2, should not arrive at FF2 at cycle2 before FF2 hold time. ( because it messes up with Data1 which is being currently captured by FF2 in cycle2 ) In other words there Data2 from FF1 should not mess with Data1 which is already at FF2 which is currently being sampled T.c2q (clock to Q delay of FF1) +Tcomb >= T (hold ) Your clock->Q delay and Tcomb are not at all dependent on the clock period. Hence your hold is independent of clock frequency. 

1 comment:

  1. In case of half cycle the hold depend on clock frequency. Can you defined that properly?

    ReplyDelete