Synthesis & Logic Optimization · All levels
Timing-Driven Synthesis: Debug Playbook
Debug Playbook for Timing-Driven Synthesis.
Debug playbook
Debug Playbook for Timing-Driven Synthesis focuses on critical path WNS, violating endpoint count, compile effort distribution. The goal is to connect observed QoR movement to mechanism, ownership, and regression risk.
Synthesis debug finds the first causal drift, not the loudest downstream symptom.
Root-cause tree
ROOT-CAUSE TREE — Timing-Driven Synthesis
critical path WNS, violating endpoint count, compile effort distribution regressed
|
same RTL/constraints tag?
/ \
no yes
| |
input drift transform side-effect
/ \ / \
SDC libs mapping physical estimate
diff diff choice mismatchFreeze baseline and regressed run manifests.
Verify RTL/SDC/library deltas before transform tuning.
Classify issue: constraints, mapping choice, physical estimate, or ECO side effect.
Pick one minimal reversible change.
Re-run full timing/area/power checks with ownership signoff.
Review memo template
STAFF SYNTHESIS REVIEW MEMO — Mapping & Optimization / Timing-Driven Synthesis
1. Symptom
- Watched metric: critical path WNS, violating endpoint count, compile effort distribution
- Affected compile run: <tag/build ID>
- Impacted path/class: <critical group / power lane / area lane>
- Database tags: <RTL, SDC, libs, switches>
2. Mechanism hypothesis
- Primary mechanism: Timing-driven compile focuses optimization where slack is most constrained, balancing global QoR instead of over-optimizing non-critical logic.
- Competing hypothesis: <constraint drift, mapping choice, physical estimate mismatch>
- Missing evidence: <report diff, dashboard trend, ownership board>
3. Proposed action
- Minimal reversible change: <constraint patch, compile knob, ECO cell move>
- Expected movement: <timing / area / power delta>
- Regression risk: hold, power spike, leakage drift, formal mismatch
4. Signoff
- Re-run artifact: critical range report, path-group WNS report, effort histogram
- Required owners: synthesis lead, STA owner
- Final decision: merge, rollback, or escalateSynthesis deep dive
Mapping converts logic intent into real PPA outcomes.
Concept diagram
MAPPING LOOP
boolean net -> library mapping -> optimization -> report and iterateMetric graph
MAPPING IMPACT
depth reduction ███████
fanout cleanup █████
runtime overhead ███Reports and artifacts
mapping summary
critical path cell list
fanout/slew report
library coverage
Mini case study
Cell-heavy critical path improved after restructuring, while blanket buffering had worsened power.
Debug branches
Depth issue -> structure
Fanout issue -> buffers
Library mismatch -> view audit
Senior review question
Ask: what evidence proves this QoR move is real and stable?
Key takeaways
State exact run context (RTL, SDC, libs, switches) with every QoR claim.
Re-run timing, area, and power regressions after each synthesis ECO.
Common pitfalls
Comparing runs with mismatched constraints or library views.
Timing-only fixes that violate power or area budgets.
Skipping equivalence checks after structural changes.
Principal synthesis review addendum
Timing-driven compile focuses optimization where slack is most constrained, balancing global QoR instead of over-optimizing non-critical logic.
Metric: critical path WNS, violating endpoint count, compile effort distribution