What Happens in Floorplanning & PDN Synthesis?

๐Ÿงฉ The Physical Design Engineer's Job

Floorplanning transforms the abstract connectivity of the gate-level netlist into a physical geometric blueprint. The engineer defines the die size and core area based on cell area estimates and target utilization (typically 60โ€“75%). Choosing the right aspect ratio and leaving adequate core margins ensures standard cell rows have sufficient routing tracks for later detailed routing.

Next, hard macros (such as embedded SRAM blocks, analog ADCs, and phase-locked loops) and IO pads are placed. Macros are pushed to die edges or corners to create a contiguous central core region, and wide keep-out halos are established around them to prevent standard cells from blocking macro pin access channels. Welltap cells and endcap cells are inserted every 14โ€“20 ยตm along rows to bias the substrate/N-well and prevent CMOS latch-up.

Finally, the Power Distribution Network (PDN) is synthesized. An orthogonal grid of wide VDD and VSS metal straps is routed on upper low-resistance metal layers (Met4/Met5 in SKY130), forming rings around macros and dropping via stacks to standard cell power rails (Met1). Static IR-drop analysis verifies that supply voltage never drops by more than 1.5% across any transistor under full load.

๐Ÿ—๏ธ
Analogy: Like urban city planning before building residential homes. The city planner draws urban boundary limits (die size), zones large industrial plants and hospitals (SRAM macros), builds highway off-ramps (IO pads), and constructs the underground high-voltage power substation and water grid (PDN). If the power grid is poorly sized, residential appliances suffer brownouts (dynamic IR-drop).

๐Ÿ“‹ What Synthesis & PDK Provide

  • Scan-inserted gate-level netlist (synthesis_scan.v)
  • Technology LEF (metal layers, pitches & design rules)
  • Standard cell physical LEF models (cell dimensions)
  • Hard macro LEF models (SRAM, PLL pin layouts)
  • Target die dimensions & package pinout map
  • Max allowable IR-drop limit (e.g. < 15 mV)

๐Ÿ“ What the Floorplan Engineer Produces

  • Complete floorplan DEF (die area & row definitions)
  • PDN metal strap mesh & power ring DEF
  • Legalized IO pin & pad perimeter locations
  • Hard macro placement with keep-out halos
  • Substrate tap & endcap cell insertion grid
  • Static IR-drop & power grid resistance signoff report

Files Flow: Stage 04 Inputs & Outputs

๐Ÿ“ฅ INPUTS
picorv32_scan.v
Scan-stitched gate netlist containing standard cell and macro instances
From: Stage 03 Logic Synthesis
sky130_fd_sc_hd.lef
Physical standard cell library geometry โ€” heights, widths, pin layers, obstruction boundaries
From: Stage 01 PDK Library
sky130_sram_2kb.lef
Hard macro physical bounding box, pin coordinates, and metal blockage layers
From: Stage 01 Memory Compiler
pdn_rules.cfg
Power grid rules: strap widths, pitches, offsets, and target upper metal layers (Met4/Met5)
From: Stage 01 PDK Tech File
โš™๏ธ STAGE 04 PROCESS
โ‘  Die Sizing & Core Aspect Ratio
โ‘ก IO Pad & Pin Assignment
โ‘ข Macro Placement & Keep-Out Halos
โ‘ฃ Welltap & Endcap Insertion
โ‘ค Multi-Layer PDN Mesh Generation
โ‘ฅ Static IR-Drop & Floorplan Signoff
โ†“
๐Ÿ“ค OUTPUT FILES
picorv32_floorplan.def
Design Exchange Format file defining die boundaries, site rows, IO pins, and macro positions
โ†’ Used by: Stage 05 Placement Suite
picorv32_pdn.def
DEF with synthesized VDD/VSS power rings, Met4 vertical straps, and Met5 horizontal straps
โ†’ Used by: Placement & Detailed Route
welltaps_placed.def
Standard cell rows populated with substrate tap cells to guarantee 100% latch-up immunity
โ†’ Used by: Standard Cell Placement
๐Ÿ“Š REPORTS / SIGNOFF
static_ir_drop.rpt
Static power grid voltage drop analysis report proving peak IR-drop < 12.4 mV across all cells
Signoff: Power Integrity Lead
floorplan_summary.rpt
Die dimensions (300ยตm ร— 300ยตm), core utilization (68.4%), macro overlap check: PASS
Signoff: Physical Design Lead

PicoRV32 on SKY130: OpenROAD Floorplan & PDN Mesh

๐Ÿ”ฌ OPEN-SOURCE PROJECT
ProjectPicoRV32 on SkyWater SKY130 (sky130_fd_sc_hd)
Die Bounds300.0 ยตm ร— 300.0 ยตm (Core: 260.0 ยตm ร— 260.0 ยตm)
PDN GridMet4 (Vertical Straps) + Met5 (Horizontal Straps)
IR-Drop Limit< 15 mV (Achieved: 8.2 mV Worst-Case Drop)
STEP 1

OpenROAD Floorplan Initialization TCL Script (floorplan.tcl)

# OpenROAD Floorplan Execution Script for PicoRV32 on SKY130
read_lef sky130_fd_sc_hd.tlef
read_lef sky130_fd_sc_hd.lef
read_lef sky130_sram_2kb.lef
read_verilog picorv32_scan.v
link_design picorv32_top

# 1. Initialize Floorplan: 300um x 300um Die, 20um Core Margins
initialize_floorplan \
    -die_area "0 0 300.0 300.0" \
    -core_area "20.0 20.0 280.0 280.0" \
    -site unithd

# 2. Place IO Pins equidistant along metal 2 / metal 3 layers
place_pins -hor_layers met3 -ver_layers met2 -random_seed 42

# 3. Insert Tapcells every 14um to prevent CMOS Latch-up
tapcell \
    -endcap_cpp 2 \
    -distance 14 \
    -tapcell_master "sky130_fd_sc_hd__tapvpwrvgnd_1" \
    -endcap_master "sky130_fd_sc_hd__decap_4"
STEP 2

OpenROAD PDN Mesh Configuration (pdn.cfg / tcl)

# Power Distribution Network (PDN) Synthesis Script
add_global_connection -net VDD -pin_pattern "^VPWR$" -power
add_global_connection -net VSS -pin_pattern "^VGND$" -ground

# 1. Standard Cell Rails on Metal 1
add_pdn_stripe -grid stdcell -layer met1 -width 0.48 -followpins

# 2. Met4 Vertical Straps (Supply Mesh)
add_pdn_stripe -grid stdcell \
    -layer met4 \
    -width 1.60 \
    -pitch 40.0 \
    -offset 2.0 \
    -nets {VDD VSS}

# 3. Met5 Horizontal Straps (Upper Low-Resistance Mesh)
add_pdn_stripe -grid stdcell \
    -layer met5 \
    -width 1.60 \
    -pitch 40.0 \
    -offset 2.0 \
    -nets {VDD VSS}

# 4. Connect via stacks across all overlapping metal layers
add_pdn_connect -grid stdcell -layers {met1 met4}
add_pdn_connect -grid stdcell -layers {met4 met5}
pdngen
STEP 3

Floorplan & Static IR-Drop Signoff Report (floorplan_signoff.rpt)

=== OpenROAD Floorplan & PDN Signoff: PicoRV32 ===
Design Top  : picorv32_top
Technology  : SkyWater SKY130 HD (130nm)

--- Die Area & Utilization ---
  Total Die Area       : 90,000.00 ยตmยฒ (300.00 ยตm x 300.00 ยตm)
  Total Core Area      : 67,600.00 ยตmยฒ (260.00 ยตm x 260.00 ยตm)
  Standard Cell Area   : 46,240.00 ยตmยฒ
  Core Utilization     : 68.4% (Target 65-72% PASS)

--- Physical Elements Placed ---
  IO Pins Assigned     : 128 pins (Met2/Met3 tracks legalized)
  SRAM Hard Macros     : 1 Block (Placed at bottom-left, 5ยตm halo clean)
  Welltap Cells Added  : 840 instances (100% pitch compliance)
  Endcap Cells Added   : 196 instances (Row diffusion terminated)

--- Static IR-Drop Analysis (PSM Engine) ---
  Nominal Supply (VDD) : 1.800 V
  Worst Voltage Drop   : 0.0082 V (8.2 mV max drop)
  Worst Cell Node      : 1.7918 V (99.54% nominal voltage)
  Target Drop Limit    : < 15.0 mV (PASS)
STATUS: STAGE 04 FLOORPLAN SUITE COMPLETE - PASS

Tools Used in Floorplanning & PDN Stage

Floorplanning and power grid generation require tightly integrated geometric engines that couple physical layout with electrical IR-drop estimation.

Task๐Ÿญ Synopsys๐Ÿ”ท Cadence๐ŸŸง Siemens EDA๐Ÿ”“ Open-Source
Die Sizing & Core Boundary FloorplanningSynopsys IC Compiler II (ICC2)Cadence Innovus FloorplanSiemens Aprisa FloorplanOpenROAD (initialize_floorplan)
IO Pad Ring & Pin Track AssignmentSynopsys ICC2 Pin PlannerCadence Innovus Pin EditorSiemens Aprisa Pin EditorOpenROAD (place_pins / io_placer)
Power Grid (PDN) Metal Mesh SynthesisSynopsys ICC2 PG MeshCadence Innovus Power PlanSiemens Aprisa PowerMeshOpenROAD (pdngen)
Macro Placement & Keep-Out Halo RoutingSynopsys Fusion Compiler MacroCadence Innovus Macro PlacerSiemens Aprisa MacroPlacerOpenROAD (manual / autoplacer)
Static IR-Drop & Power Grid AnalysisSynopsys PrimePower / RedHawkCadence Voltus-FISiemens mPower DigitalOpenROAD (PSM - Power Source Mgr)