Every register, latch, and memory must be intentional.
Review inferred clocks, enables, resets, RAM modes, latch reports, width truncation, signed operations, and combinational loops before timing optimization hides the original symptom.
RTL intent to signoff margin
Autopsy one failing register-to-register path as it moves from elaborated RTL to a mapped netlist, placed design, clock tree, extracted route, and signoff corner.
Read timing evidence instead of chasing summary numbers, distinguish constraint bugs from real path failures, and choose repairs that preserve function while improving total QoR.
Path autopsy · functional mode · SS 0.72 V 125 °C
Follow u_issue/req_q[0] through eligibility logic and four priority muxes to u_issue/next_q[2]. Each implementation stage replaces an estimate with stronger evidence.
ExpressionResult0.09 + 0.870.96 ns0.85 + 0.04 − 0.06 − 0.050.78 ns0.78 − 0.96−0.18 nsThe full report expands these normalized terms into launch latency, library arcs, extracted interconnect, capture latency, uncertainty, and setup time. The chapter autopsy reconciles every increment.
Open the interactive timing report →RTL intent becomes timed structure
always_comb begin
next = hold;
for(int i = 0; i < 4; i++)
if(req[i] && !busy[i])
next = payload[i];
endThe loop is priority logic. The final assignment wins, so elaboration creates a serial select cone unless the intent or coding structure changes.
parameters + generatesResolve hierarchy, widths, constant conditions, and signedness.
flops · muxes · arithmeticRecognize state, enables, comparators, adders, and memories.
Boolean + sequentialPropagate constants, share or duplicate logic, and retime when legal.
library cellsChoose real arcs, drive strengths, Vt flavors, and legal macros.
Review inferred clocks, enables, resets, RAM modes, latch reports, width truncation, signed operations, and combinational loops before timing optimization hides the original symptom.
Hierarchy, dont-touch directives, test structures, and debug visibility can block duplication, retiming, and constant propagation. Each preservation constraint spends QoR.
Lint and elaboration explain the source. Synthesis reports explain the structure. Formal or logical equivalence proves that legal transformations preserve the defined behavior.
Completeness before optimization
Selected constraint group: Clock roots. Does every sequential endpoint inherit the intended waveform?
create_clockcreate_generated_clockset_clock_latencyset_clock_uncertaintyReconcile every picosecond
clock core_clk (rise edge)0.0000.000clock network delay (propagated)+0.1000.100req_q[0]/CK → Q+0.0900.190AOI21_X2 / MUX2_X1 × 4+0.4200.610net RC + coupling delta+0.4501.060next edge + capture clock latency0.850 + 0.1400.990library setup + uncertainty−0.1100.880slack (VIOLATED)−0.180Selected timing report region: Data path. Separate cell arcs from nets before choosing a repair.
T + (Lcap − Llaunch) − (tCQmax + tPDmax + tsetup + Usetup)−0.180 nstCQmin + tCDmin − ((Lcap − Llaunch) + thold + Uhold)+0.040 nsPositive capture skew helps setup but hurts hold.In this convention, increasing Lcap − Llaunch adds setup margin and subtracts the same first-order amount from hold margin.
Estimates become geometry
Selected implementation stage: Extracted signoff. Extracted resistance, capacitance, crosstalk delta delay, slew degradation, and signoff variation decide the final path.
Repair the mechanism, not the symptom
Selected repair: Restructure logic. Setup change +0.190 ns; hold change −0.010 ns.
Prove the path and analysis view are real.
Pipeline, parallelize, or change the protocol while flexibility remains.
Restructure depth, fanout, arithmetic, and sharing.
Place, buffer, route, size, and tune Vt with local evidence.
Use skew and hold ECOs only with coupled-view checks.
Repeat MMMC, noise, power, DRC, and equivalence evidence.
MMMC evidence and release discipline
Selected analysis view: Functional, Setup, WNS −0.18 ns.
Reset deassertion must settle before the active edge. Treat it like a setup-style maximum-delay check.
Reset deassertion must not change too soon after the active edge. Treat it like a hold-style minimum-delay check.
High and low clock phases must each exceed the library minimum after propagated-tree distortion.
The enable must remain stable across the clock-gate latch aperture so no runt pulse reaches the tree.
All setup, hold, recovery/removal, pulse-width, and gated-clock checks close in every required view.
No unintended unconstrained endpoints; clocks, exceptions, case analysis, and scenario bindings are reviewed.
Crosstalk, extracted RC, derates, CPPR, noise, and variation models match the signoff methodology.
RTL-to-synthesis and post-ECO logical equivalence pass with intentional transforms explicitly handled.
DRC, LVS, antenna, density, electromigration, IR drop, and clock checks satisfy release criteria.
Frequency closure does not exceed dynamic power, leakage, area, congestion, or reliability budgets.
Scan, at-speed test, isolation, retention, reset, and power-state timing views remain legal.
Tool versions, libraries, corners, constraints, waivers, reports, and checksums are archived.
These AMD references are FPGA-oriented, but their disciplined treatment of clocks, exceptions, path coverage, methodology checks, and closure baselines transfers directly to ASIC timing reasoning. ASIC signoff additionally depends on foundry libraries, extracted parasitics, variation, SI, IR/EM, and physical-verification flows; OpenSTA provides an ASIC-oriented, inspectable reference implementation for Liberty, SDC, SPEF, SDF, and gate-level timing analysis.
Reasoning checkpoints
A later capture clock gives the maximum-delay path more time before the next capture edge, increasing setup margin. The same later edge makes it easier for the earliest new data to reach the destination too soon relative to that capture event, reducing hold margin. Useful skew is therefore a coupled optimization, not free setup slack.
Before placement and routing, net delays, congestion, coupling, and clock-tree latency are estimated. Signoff uses extracted interconnect, propagated clocks, variation and uncertainty models, and the required mode/corner combinations. Early timing is valuable for direction, but only the implemented timing model represents the final physical path.
Verify the clocks and generated clocks, modes, I/O delays, uncertainty, exceptions, case analysis, path grouping, and whether the reported startpoint and endpoint match architectural intent. Then inspect the full path and physical context. Optimizing a path created by a bad constraint wastes effort; cutting a real failing path hides a bug.
Keep practicing
Continue the system