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

diagram
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 rate

Top constraint bugs

diagram
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 stale
  1. Capture report_timing and the relevant SDC excerpt.

  2. Tag corner, mode, view, and path group.

  3. Find the first cell or net that dominates critical delay.

  4. Compare against SDC diff, constraint validator log, before/after path report.

  5. Choose one reversible ECO and write the regression matrix before editing netlist or constraints.

Did the fix work?

diagram
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

diagram
DEBUG ORDER

1. same tags?  2. constraints?  3. view?  4. real path?  5. ECO

Metric graph

diagram
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