Tuesday, August 10, 2021

Static Timing Analysis - Part#8 (Slack)



Setup and Hold Slack

Slack :

- Timing difference between Actual/Arrival time and the Desired/Required time for a timing path

- Slack determines if the design is working at the specified speed or frequency


Data Arrival Time:

- Time required for data to travel through the data path.

Data Required Time:

- Time taken for the clock to traverse through clock path.
Note : Setup and hold slack is defined as the difference between data required time and data arrival time.

Setup Slack= Data Required Time- Data Arrival Time

Hold Slack= Data Arrival Time- Data Required Time

Key Points :
- A +ve setup slack implies that design is working at the specified frequency and it has some more margin as well.

- Zero setup slack specifies design is exactly working at the specified frequency and there is no margin available.

- Negative setup slack implies that design doesn’t achieve the constrained frequency and timing. This is called as setup violation.

Example : Lets assume Flip-Flop Clock to Q Delay is 'tcq' and Combinational Logic Delay between the two Flip-Flops is 'tcomb', Flip setup and hold times are 'tsu' and 'thold', T is the clock period. Lets calculate the Required time and the Arrival time.

Data Arrival Time = tcq + tcomb;

Data Required Time (For Setup Check)= T - tsu;

Data Required Time (For Hold Check) = thold;

If Positive Skew 'tskew' is added then ,

Data Required Time (For Setup Check)= T + tskew - tsu;

Data Required Time (For Hold Check) = thold + tskew;

Note: To understand the effect of Clock skew and Clock Jitter on Setup and Hold Slack, Please refer Clock Skew and Clock Jitter

-----------------------------Happy Learning----------------------------------







0 Comments:

Post a Comment