STA Mastery · All levels
Graph Traversal & Slack: Theory Deep Dive
Theory Deep Dive for Graph Traversal & Slack.
Foundational theory
Graph Traversal & Slack is central to Delay Graph & Path Analysis. STA builds a timing graph of cell and net arcs; setup slack = required time − arrival time along the worst path. Senior STA engineers always tie slack movement to corner, mode, constraint set, and parasitic view — not just a single report line.
Core concepts explained
STA builds a timing graph of cell and net arcs; setup slack = required time − arrival time along the worst path.
Primary metric: WNS, TNS, path slack distribution, failing endpoint count
Primary artifact: report_timing -path_type full, slack histogram, path schematic
Owners: STA owner, implementation owner
Setup: max delay path; Hold: min delay path
WNS/TNS summarize tail risk across endpoints
Why this matters at signoff
At signoff, Graph Traversal & Slack failures block tapeout or force risky ECO. The timing graph turns netlist + parasitics + constraints into slack. Wrong analysis setup wastes weeks of PD effort.
Mental model
TIMING GRAPH
FF1 --cell--> U1 --net--> U2 --cell--> FF2
| |
launch point capture point
STA walks worst path (max delay for setup, min for hold).Worked intuition
Name corner, mode, and view for the failing run.
Open WNS, TNS, path slack distribution, failing endpoint count and identify worst path group.
Read critical path: cell vs net, launch/capture clocks.
Check constraints on that path (exceptions, generated clocks).
Collect report_timing -path_type full, slack histogram, path schematic and tag database versions.
Classify: constraint bug, view mismatch, or real path.
Propose minimal ECO and list MMMC+SI regression.
Common misconceptions
One typical corner is enough for signoff.
False paths can be applied broadly to green-wash violations.
Implementation WNS equals signoff WNS without view mapping.
Setup fix automatically preserves hold.
Visual reinforcement
Timing graph arcs
TIMING GRAPH
FF1 --cell--> U1 --net--> U2 --cell--> FF2
| |
launch point capture point
STA walks worst path (max delay for setup, min for hold).Slack distribution
SLACK HISTOGRAM
paths
| *
| ****
| ********
| ************* <- WNS (left tail)
+--------------------> slack (ns)
-0.2 0.0 0.2
WNS = worst negative slack (most critical failing path).Layer responsibilities
STA OWNERSHIP LAYERS — Graph Traversal & Slack
layer owns failure mode
---------------- -------------------------- ---------------------
constraints clocks, IO, exceptions false violations
implementation cells, nets, placement real path delay
extraction SPEF/RC corners view mismatch
signoff policy derate, MMMC matrix margin disputes
closure ECO order, regression fix breaks other cornerSTA deep dive
Slack is a path story — read the graph, not just the number.
Concept diagram
TIMING GRAPH
FF --cell-- logic --net-- logic --cell-- FF
launch captureMetric graph
SLACK TAIL
paths | ***
| *******
|********* <- fix WNS firstReports and artifacts
WNS/TNS
path slack histogram
cell vs net %
path group summary
Mini case study
WNS -90ps but 80% net delay on one congested route — PD route fix beat upsizing three cells.
Debug branches
Cell-heavy -> sizing/VT
Net-heavy -> route/layer
Check launch/capture clocks
Senior review question
Ask: what corner/mode/view proves this topic is closed or failing?
Key takeaways
State corner, mode, view, and database tag with every slack claim.
Run setup and hold plus MMMC regression after every ECO.
Common pitfalls
Comparing STA runs with different SPEF or SDC tags.
Broad false_path to green-wash violations.
Setup-only ECO without hold check.
Theory reinforcement
The timing graph turns netlist + parasitics + constraints into slack.