Synthesis & Logic Optimization · All levels
Dont-Touch & Preserve Policy: Theory Deep Dive
Theory Deep Dive for Dont-Touch & Preserve Policy.
Foundational theory
Dont-Touch & Preserve Policy is a core part of Constraints & QoR. dont_touch and preserve are surgical controls; overuse blocks optimization and underuse breaks intended structures such as CDC wrappers or DFT hooks. Senior synthesis engineers connect every QoR claim to constraint context, compile setup, and reproducible artifacts.
Core concepts explained
dont_touch and preserve are surgical controls; overuse blocks optimization and underuse breaks intended structures such as CDC wrappers or DFT hooks.
Primary metric: preserved object count, blocked optimization opportunities, ECO rework
Primary artifact: constraint audit, preserve list, optimization-block report
Owners: synthesis lead, RTL owner, DFT owner
Compare timing, area, and power together
Preserve run manifest for every regression jump
Why this matters at closure
At tapeout pace, Dont-Touch & Preserve Policy decisions can either shorten closure loops or create hidden debt. QoR quality starts with clean synthesis constraints and policy hygiene.
Mental model
OBJECT MARKED preserve/dont_touch?
|
functional or signoff reason?
/ \
yes no
| |
keep + audit remove, re-compileWorked intuition
Freeze RTL tag, constraint tag, and compile switches.
Open preserved object count, blocked optimization opportunities, ECO rework and isolate the first meaningful regression.
Classify whether issue is constraints, mapping transform, or physical estimate.
Collect constraint audit, preserve list, optimization-block report and owner signoff evidence.
Pick minimal reversible fix and define rollback criteria.
Run timing + power + area regression matrix before merge.
Common misconceptions
Better WNS always means better overall QoR.
dont_touch is harmless if timing still passes.
Retiming gain is free and always safe for formal.
Topographical estimates are equivalent to signoff route outcomes.
Visual reinforcement
Preserve policy decision tree
OBJECT MARKED preserve/dont_touch?
|
functional or signoff reason?
/ \
yes no
| |
keep + audit remove, re-compileLayer responsibilities
SYNTHESIS OWNERSHIP LAYERS — Dont-Touch & Preserve Policy
layer owns failure mode
---------------- --------------------------- -------------------------
constraints clocks/exceptions/policy fake QoR optimism
mapping cell choices/structure depth/fanout regressions
optimization timing/power tradeoffs one-metric overfitting
physical-aware topo/congestion estimates handoff delta surprises
closure ECO order/regression fixes break other cornersSynthesis 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.
Theory reinforcement
QoR quality starts with clean synthesis constraints and policy hygiene.