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