Synthesis & Logic Optimization · All levels
Dont-Touch & Preserve Policy: Debug Playbook
Debug Playbook for Dont-Touch & Preserve Policy.
Debug playbook
Debug Playbook for Dont-Touch & Preserve Policy focuses on preserved object count, blocked optimization opportunities, ECO rework. 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 — Dont-Touch & Preserve Policy
preserved object count, blocked optimization opportunities, ECO rework 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 — Constraints & QoR / Dont-Touch & Preserve Policy
1. Symptom
- Watched metric: preserved object count, blocked optimization opportunities, ECO rework
- 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: dont_touch and preserve are surgical controls; overuse blocks optimization and underuse breaks intended structures such as CDC wrappers or DFT hooks.
- 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: constraint audit, preserve list, optimization-block report
- Required owners: synthesis lead, RTL owner, DFT owner
- Final decision: merge, rollback, or escalateSynthesis deep dive
Constraint hygiene determines whether synthesis QoR is trustworthy.
Concept diagram
CONSTRAINT FLOW
RTL intent -> synthesis SDC -> compile checks -> QoR dashboard -> review gateMetric graph
QOR HEALTH
constraint lint pass ███████████████
unconstrained count ███
policy violations ██Reports and artifacts
compile QoR
unconstrained endpoints
constraint lint
policy audit log
Mini case study
Nightly WNS improved but unconstrained paths jumped; strict SDC lint restored true QoR picture.
Debug branches
Diff SDC first
Audit dont_touch scope
Track unconstrained trend weekly
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
dont_touch and preserve are surgical controls; overuse blocks optimization and underuse breaks intended structures such as CDC wrappers or DFT hooks.
Metric: preserved object count, blocked optimization opportunities, ECO rework