Synthesis & Logic Optimization · All levels
Dont-Touch & Preserve Policy: Worked Example
Worked Example for Dont-Touch & Preserve Policy.
Worked example
Worked Example 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.
A weekly compile reports preserved object count, blocked optimization opportunities, ECO rework regression. Instead of random knob tuning, start by proving whether input context changed and which mechanism dominates.
Sequence under inspection
SYNTHESIS FLOW — Dont-Touch & Preserve Policy
RTL + constraints
|
v
elaboration + checks
|
v
mapping + optimization
|
v
QoR reports (timing/area/power)
|
v
incremental ECO + regression
Primary metric: preserved object count, blocked optimization opportunities, ECO reworkPreserve policy decision tree
OBJECT MARKED preserve/dont_touch?
|
functional or signoff reason?
/ \
yes no
| |
keep + audit remove, re-compileCapture baseline and regressed artifact pair.
Confirm manifest parity (RTL, SDC, libs, switches).
Pin first metric drift and mechanism hypothesis.
Reproduce with constraint audit, preserve list, optimization-block report.
Apply one reversible fix and run matrix regression.
Did the fix hold?
BEFORE / AFTER QOR — Dont-Touch & Preserve Policy
QoR score
0 | --- target zone
-1 | ● regression
-2 | ● baseline
-0.5| ● after fix
+----------------------------------> iteration
Validate timing + area + power, not one number.Synthesis 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