Synthesis & Logic Optimization · All levels
Dont-Touch & Preserve Policy: Software / Programmer View
Software / Programmer View for Dont-Touch & Preserve Policy.
RTL / implementation view
RTL clocking and intent style determine which synthesis constraints are legal.
What designers feel
QoR sensitivity to small RTL edits
Unexpected retiming blockers
Clock-gating mismatch
RTL structure impact
Pipeline boundaries
Enable semantics
Hierarchy and attributes
Synthesis interaction
Compile effort knobs
Retiming permissions
Preserve policy scope
RTL-side mitigations
Constraint/code co-review
Stable naming for ECO
Formal-first posture
RTL -> synthesis check for Dont-Touch & Preserve Policy
// verify mapping intent before compile signoffLayer the designer touches
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.
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