Standard Cell Placement & Decap/Filler Suite
Physically positioning every standard cell from the gate-level netlist onto legalized silicon rows. Analytical electrostatics-driven global placers minimize Half-Perimeter Wirelength (HPWL) and routing congestion, legalizers eliminate cell overlaps, decoupling capacitors (Decaps) absorb dynamic power switching noise, and standard cell fillers guarantee 100% continuous N-well substrate biasing.
What Happens in Standard Cell Placement?
๐งฉ The Placement Engineer's Job
The gate netlist describes which cells connect together, but provides zero physical (X,Y) coordinates. Placement solves a massive constrained optimization problem in three distinct steps: (1) Global Placement, (2) Detailed Placement & Legalization, and (3) Decap & Filler Cell Insertion.
During global placement, algorithms (such as RePlAce or ePlace) model standard cells as charged particles in an electrostatic field. Connected nets exert attractive spring forces to minimize total wirelength (Half-Perimeter Wirelength, HPWL), while an electric repulsion field forces cells to spread uniformly across standard cell rows, preventing hot spots and routing congestion.
During detailed placement, legalizers snap cell coordinates to exact standard cell row boundaries (2.72 ยตm pitch in SKY130) and resolve all overlapping gates. Once legal, Decoupling Capacitors (Decaps) are inserted into empty gaps to serve as local charge reservoirs during high-frequency clock switching (suppressing L · di/dt power noise). Finally, Cell Fillers are added to ensure the N-well diffusion layers remain continuous across the die to eliminate latch-up risks. Post-placement Static Timing Analysis (STA) verifies timing slack with estimated physical wirelengths.
๐ What Floorplan & Netlist Provide
- Floorplan DEF with PDN straps & macros
- Scan-stitched gate netlist (synthesis_scan.v)
- Standard cell physical LEF models (cell height/width)
- Liberty timing libraries (.lib) for timing-driven flow
- Decap and filler cell library definitions
- SDC timing constraints for path delay budgeting
๐ What the Placement Engineer Produces
- Legalized placed DEF file (zero cell overlaps)
- Fully filled DEF with Decaps & standard fillers
- Global routing congestion heatmap (0.00% overflow)
- Total Half-Perimeter Wirelength (HPWL) statistics
- 100% continuous N-well & substrate tap signoff
- Post-placement STA timing report (WNS & TNS)
Files Flow: Stage 05 Inputs & Outputs
PicoRV32 on SKY130: RePlAce Placement & Decap Fill
OpenROAD Global Placement TCL Script (placement.tcl)
# OpenROAD Global Placement Execution
read_def picorv32_pdn.def
read_sdc picorv32_constraints.sdc
# 1. Global Analytical Placement (Electrostatic ePlace engine)
global_placement \
-density 0.68 \
-overflow 0.10 \
-pad_left 2 \
-pad_right 2 \
-timing_driven \
-routability_driven
# 2. Check estimated HPWL & routing congestion
estimate_parasitics -placement
report_checks -path_delay max -format full_clock_expandedDetailed Legalization & Decap/Filler Insertion Script
# 1. Legalize cell placement onto standard cell rows
detailed_placement
check_placement -verbose
# 2. Insert Decoupling Capacitors (Decaps) for Power Noise Suppression
filler_placement \
-cells "sky130_fd_sc_hd__decap_12 sky130_fd_sc_hd__decap_8 sky130_fd_sc_hd__decap_4" \
-prefix "DECAP_"
# 3. Fill remaining row gaps with standard filler cells for N-well continuity
filler_placement \
-cells "sky130_fd_sc_hd__fill_8 sky130_fd_sc_hd__fill_4 sky130_fd_sc_hd__fill_2 sky130_fd_sc_hd__fill_1" \
-prefix "FILLER_"
# 4. Export finalized placement DEF
write_def picorv32_filled.defPlacement Signoff & Post-Place STA Report (placement_signoff.rpt)
=== OpenROAD Placement & Filler Signoff: PicoRV32 ===
Target Die Area : 300.00 ยตm x 300.00 ยตm (Core: 260.00 ยตm x 260.00 ยตm)
--- Placement Quality of Results (QoR) ---
Standard Cells Placed : 14,820 instances
Decap Capacitor Cells Added : 340 instances (4.2 pF total capacitance)
Standard Filler Cells Added : 1,240 instances
Total Placed Cell Count : 16,400 instances
Half-Perimeter Wirelength : 4.12 meters (HPWL)
Cell Overlap Count : 0 (100% LEGALIZED)
N-Well Continuity Check : PASS (Zero substrate gaps)
--- Post-Placement Static Timing Analysis ---
Clock sys_clk Target Period : 20.00 ns (50.0 MHz)
Worst Critical Path Delay : 17.65 ns
Worst Negative Slack (WNS) : +2.35 ns (Setup Timing Met)
Total Negative Slack (TNS) : 0.00 ns
STATUS: STAGE 05 PLACEMENT SUITE COMPLETE - PASSTools Used in Standard Cell Placement Stage
Modern placement suites employ advanced mathematical solvers to balance wirelength minimization, congestion avoidance, and timing-driven cell clustering.
| Task | ๐ญ Synopsys | ๐ท Cadence | ๐ง Siemens EDA | ๐ Open-Source |
|---|---|---|---|---|
| Global Analytical Placement (HPWL) | Synopsys IC Compiler II (ICC2) Place | Cadence Innovus GigaPlace | Siemens Aprisa Place | OpenROAD (RePlAce / ePlace) |
| Detailed Placement & Legalization | Synopsys ICC2 Legalizer | Cadence Innovus Legalizer | Siemens Aprisa Legalizer | OpenROAD (OpenDP / DPO) |
| Decap & Filler Cell Insertion | Synopsys ICC2 Filler Gen | Cadence Innovus Decap Manager | Siemens Aprisa Filler Manager | OpenROAD (filler_placement) |
| Early Congestion Estimation | Synopsys ICC2 Global Router | Cadence Innovus Early Global Route | Siemens Aprisa Congestion Map | OpenROAD (FastRoute Engine) |
| Post-Placement Timing Closure (STA) | Synopsys PrimeTime (Post-Place) | Cadence Tempus (Post-Place) | Siemens Questa Timing | OpenSTA (estimate_parasitics) |