STA Mastery · All levels
Graph Traversal & Slack: Expanded Case Study
Expanded Case Study for Graph Traversal & Slack.
Extended case study
Signoff review: WNS, TNS, path slack distribution, failing endpoint count fails after an apparently minor change affecting Graph Traversal & Slack.
Background
Team had closure last week on full MMMC matrix. New run shows regression clustered in one path group.
Symptoms observed
WNS, TNS, path slack distribution, failing endpoint count regression
Disagreement between synth and STA WNS
Hold violations after setup ECO
Investigation timeline
Hour 0: freeze netlist, SDC, SPEF, lib tags
Hour 1: diff constraints and run manifest
Hour 2: isolate corner/mode that fails
Hour 3: read worst path — cell vs net, clocks
Hour 4: classify root cause
Hour 5: minimal ECO or SDC fix
Hour 6: full regression + signoff memo
Root cause
Root cause tied to Graph Traversal & Slack: STA builds a timing graph of cell and net arcs; setup slack = required time − arrival time along the worst path.
Fix and validation
Bounded ECO or audited SDC change
Re-run report_timing -path_type full, slack histogram, path schematic
Full MMMC + SI regression
Lessons learned
Tag every run
Diff constraints before blaming PD
Setup and hold together
CASE STUDY — Graph Traversal & Slack
baseline WNS / regressed WNS / post-fix WNSSequence under stress
TIMING PATH — Graph Traversal & Slack
launch FF --logic stages--> capture FF
| |
launch clock capture clock
| |
required: arrival < capture_edge - setup
metric: WNS, TNS, path slack distribution, failing endpoint countSTA 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.
Principal STA review addendum
STA builds a timing graph of cell and net arcs; setup slack = required time − arrival time along the worst path.
Metric: WNS, TNS, path slack distribution, failing endpoint count