What is slack?
From PDVerse STA Mentor Guide, part of the pdVerse Mentor Guide
Short Answer
Slack is the tool's margin number for a path: how much room there was between when data was required and when it actually arrived. For setup, slack is required time minus arrival time. For hold, it's the other way around โ arrival time minus required time.
Technical Explanation
Slack is the single number that turns all the earlier delay math into a pass-or-fail verdict.
- Setup slack = required time โ arrival time. A positive result means data arrived earlier than its deadline, so the path passes. A negative result means data arrived after the deadline โ a genuine setup violation.
- Hold slack = arrival time โ required time. A positive result means data stayed stable long enough past the clock edge. A negative result means it changed too soon โ a race condition, not a speed problem.
- The two formulas are flipped on purpose. Setup asks "did we make the deadline," so late arrival is bad and subtracted last. Hold asks "did we wait long enough," so early arrival is bad and subtracted last โ reversing the formula by habit is a guaranteed source of sign errors.
- Zero or better is the signoff bar. A design can only tape out once the worst slack across every path, every corner, and every mode is zero or positive โ even one path at โ1 ps blocks signoff unless formally waived.
Common Mistake
- The trap: calculating setup slack as arrival minus required instead of required minus arrival.
- It happens because hold slack really is arrival minus required, so the two formulas get mixed up when working quickly.
- Get the setup formula backwards and a genuinely passing path (arrival earlier than required) shows up as a negative number โ the exact opposite of what actually happened on that path.
Follow-up Question & Model Response
What's the difference between worst negative slack and total negative slack in a summary report?
Candidate Model Response: Worst negative slack (WNS) is just the single most negative slack value found anywhere in a given path group โ it tells you how bad the single worst violation is. Total negative slack (TNS) adds up every negative slack across every violating endpoint in that group, so it reflects how much violation exists overall. A design can have a small WNS but a large TNS if hundreds of paths are each slightly negative, which is why signoff tracks both numbers rather than just the worst one.
Practical Example
On an FPGA-facing interface path, the tool computed a required time of 1.50 ns and an arrival time of 1.58 ns, giving a setup slack of โ0.08 ns (โ80 ps) โ a clear violation. Upsizing the output driver reduced arrival time enough to turn that slack positive, and the path passed on the next signoff run.
Complete STA Handbook
Master Signoff-Ready Static Timing Analysis
Get the complete 10-chapter STA handbook covering setup/hold margins, clock modeling, OCV/POCV, crosstalk noise, and PrimeTime closure.
Offline PDF Bundle
Want all 1109 questions offline?
Get the complete 4-book PDF bundle (PnR, STA, MMMC, Low Power) with a clickable table of contents - no ads, no internet needed.

Continue practising