IMPLEMENTATION
Close Timing with Physical Evidence
Use each implementation stage to replace estimates with evidence: congestion after placement, skew after CTS, and wire RC after routing. Fix root causes through a controlled loop and preserve proof that every change helped the intended corner.Inputs
- Placed floorplan/PDN and legal cell libraries
- Multi-mode/multi-corner SDC and RC assumptions
- Clock-tree cell policy, routing layers, and NDR policy
Method
- Run global placement and inspect utilization, overflow, congestion, and critical-net topology before committing timing-driven optimization.
- Legalize with targeted padding near pin-dense or high-fanout structures, then re-measure congestion instead of applying blanket whitespace.
- Build CTS with characterized slew/capacitance limits and an approved buffer list; review skew, insertion delay, and transition at each clock group.
- Route globally then in detail; repair violations by correlating failing paths with detours, vias, blockage, and localized congestion.
- At every ECO, compare setup, hold, area, power proxy, congestion, and DRC trend across all active scenarios; retain only measured improvements.
Deliverables
- Placement/route databases and congestion reports
- CTS report with clocks, buffers, skew, and transition
- Scenario-tagged timing-closure/ECO log
Pitfalls
- Pre-route or ideal-clock slack is a ranking signal, not final closure evidence.
- A local setup repair can create hold, congestion, power, or DRC regressions elsewhere; evaluate all active scenarios after each change.
Sources
Global Placement ↗
OpenROAD · Timing-driven placement controls
Clock Tree Synthesis ↗
OpenROAD · CTS characterization and reporting
OpenROAD Developer Guide ↗
OpenROAD · Flow stages and late-stage parasitic context