Global vs detailed placement, congestion analysis, timing-driven placement, power-aware strategies, and production verification — positioning millions of cells for timing and routability.
Placement decides the physical location of every standard cell (logic gate) in the core. It runs after floorplanning and CTS prep, and it directly determines whether the chip can be routed and whether it will meet timing. A good placement minimizes wire length, congestion, and power all at once.
Placement objectives:
Minimize total wire length (reduces both power and delay)
Reduce congestion (avoid routing bottlenecks)
Meet timing constraints (close critical paths)
Optimize power distribution (minimize IR drop hotspots)
Support manufacturability (avoid density hotspots)
2. Placement Algorithms
Global Placement
Coarse positioning of all cells using quadratic / analytical optimization.
Time: seconds to minutes
Output: rough positions (may overlap, not legal)
Goal: minimize global wire length
Detailed Placement
Snaps cells to legal rows/sites, removes overlaps, fine-tunes for timing.
Time: minutes to hours
Output: legal placement (no overlaps)
Goal: legalize + local timing optimization
3. Congestion Analysis
Congestion predicts routing difficulty before routing runs. The placer divides the die into G-cell tiles and compares routing demand against supply in each tile. Where demand exceeds supply, routing will fail or detour — breaking timing.
Congestion Metrics:
Overall density = (cell area + routing area) / total area
< 70% → plenty of routing space
> 80% → tight, hard to close
Local (per G-cell tile):
overflow = routing_demand − routing_supply
overflow > 0 → red zone (must fix)
overflow < 0 → blue zone (spare capacity)
Common hotspot causes:
- Large macros surrounded by many connections
- Core logic clustered too tightly
- Poor macro placement forcing long detours
Congestion heatmap (top-down die view):
Congestion Heatmap — Routing Demand vs Supply
Fix strategy: move logic away from red zones, reduce local density, and add buffers in blue zones to distribute signal loads.
4. Timing-Driven Placement
Move the cells on critical paths physically closer together so their interconnect is shorter and faster. The placer derives net weights from timing slack — critical nets are kept short even if non-critical nets stretch a little.
Critical-path clustering: cells on the same tight path placed adjacent
Slew-driven placement: reduce interconnect capacitance on timing nets
Buffer insertion: add buffers on long timing wires to meet slew/delay