STA Mastery · All levels
Constraint Bug Patterns: Worked Example
Worked Example for Constraint Bug Patterns.
Worked example
Worked Example for Constraint Bug Patterns focuses on false violation count after SDC fix, constraint audit pass rate. The goal is to connect the observable symptom to timing mechanism, ownership, and regression risk.
A signoff run shows false violation count after SDC fix, constraint audit pass rate. The first review mistake is to blame implementation without checking constraints. A better review starts by pinning one critical path, proving where slack was lost, and checking whether the SDC rule is correct for Constraint Bug Patterns.
Sequence under inspection
TIMING PATH — Constraint Bug Patterns
launch FF --logic stages--> capture FF
| |
launch clock capture clock
| |
required: arrival < capture_edge - setup
metric: false violation count after SDC fix, constraint audit pass rateTop constraint bugs
CONSTRAINT BUG TOP 5
1. missing generated_clock
2. wrong clock on latch/path
3. IO delay wrong direction
4. false_path too broad
5. case_analysis staleCapture report_timing and the relevant SDC excerpt.
Tag corner, mode, view, and path group.
Find the first cell or net that dominates critical delay.
Compare against SDC diff, constraint validator log, before/after path report.
Choose one reversible ECO and write the regression matrix before editing netlist or constraints.
Did the fix work?
BEFORE / AFTER ECO — Constraint Bug Patterns
WNS (ps)
0 | --- target
-50 | ● regressed
-80 | ● before ECO
-20 | ● after ECO
+-------------------------------> ECO iteration
Prove setup AND hold moved safely.STA deep dive
Debug hygiene separates senior STA leads from report readers.
Concept diagram
DEBUG ORDER
1. same tags? 2. constraints? 3. view? 4. real path? 5. ECOMetric graph
ROOT CAUSE MIX (typical)
constraint bugs ████████ 35%
view mismatch ██████ 25%
real path ██████ 25%
methodology ████ 15%Reports and artifacts
run manifest
SDC diff
SPEF tag
scenario isolation
Mini case study
Mystery regression: SPEF corner tag typo in run script — not a design bug.
Debug branches
Manifest every run
War room by path group
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
Most 'mystery' STA failures are wrong clocks, missing generated clocks, bad I/O delay, or over-broad exceptions.
Metric: false violation count after SDC fix, constraint audit pass rate