BeginnerQuestion 11 of 95

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 Reference DiagramWhat is slack?

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

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.

See what's inside the bundle
Static Timing Analysis (STA) Handbook โ€” ten chaptersSTA HandbookTen chapters on setup, hold, OCV, and PrimeTime signoff.