BeginnerQuestion 63 of 187

What are the four fundamental stages of the placement flow?

From PDVerse PnR Interview Handbook, part of the pdVerse Mentor Guide

Last updated:

Short Answer

Production placement isn't one monolithic step — it runs as four distinct, purpose-built phases, and knowing which phase you're in tells you what kind of problem you're actually debugging. Global Placement comes first: an analytical engine treats the whole core as continuous space and spreads cells around to minimize estimated wirelength (typically half-perimeter wirelength) while avoiding density spikes. Cell coordinates here are still non-integer floats, and cells can still overlap — this stage is about rough positioning, not legality.

Technical Reference DiagramWhat are the four fundamental stages of the placement flow?

Technical Explanation

  • Production placement isn't one monolithic step — it runs as four distinct, purpose-built phases, and knowing which phase you're in tells you what kind of problem you're actually debugging.
  • Global Placement comes first: an analytical engine treats the whole core as continuous space and spreads cells around to minimize estimated wirelength (typically half-perimeter wirelength) while avoiding density spikes. Cell coordinates here are still non-integer floats, and cells can still overlap — this stage is about rough positioning, not legality.
  • Specialized Physical Cell Insertion comes next: this is where non-logical manufacturing cells get inserted — well-tap cells (needed to prevent latchup) placed in a regular pitch array, and endcap cells placed at row and boundary terminations.
  • Legalization then snaps every floating cell onto a real, valid row site: it fixes site orientation (flipping rows N/FS so shared VDD/VSS rails line up correctly), eliminates every instance overlap, and verifies pin-access clearance — this is the stage that turns "roughly placed" into "physically legal."
  • Pre-CTS Optimization (place_opt in ICC2) is the final stage: it builds high-fanout net trees, sizes standard cells for timing, inserts buffers on critical paths, swaps multi-Vt thresholds for power, and re-stitches scan chains using the ScanDEF — all before the clock tree is even built.
  • Understanding this sequence matters practically: a "cells overlapping" complaint after global placement is expected (legalization hasn't run yet), but the same complaint after legalization is a real bug.

Common Mistake

The Trap: Believing that place_opt performs global placement from scratch. place_opt is an incremental optimization pass that operates on an already globally placed and legalized layout.

Follow-up Question & Model Response

"What happens if you run legalization before well-tap cell insertion?"

Candidate Model Response: Inserting well-taps afterward will displace legalized standard cells, causing new overlap violations that force a disruptive re-legalization pass.

Practical Example

Step-by-Step Flow Script:

# 1. Insert physical boundary and well-tap arrays
add_tap_cell_array -master_cell_name WELLTAP -distance 25 -stagger
add_end_cap -lib_cell ENDCAP -mode boundary

# 2. Coarse global placement
create_placement -floorplan -congestion

# 3. Legalize placed instances
legalize_placement

# 4. Pre-CTS timing & logic optimization
place_opt

PnR Flow Mentor Guide

Read the complete 8-chapter PnR Flow Mentor Guide free on the web — library setup through placement, clock tree synthesis, routing, chip finishing, hierarchical implementation, and ECO, all the way to stream-out.

Offline PDF Bundle

Want all 1109 questions offline?

Get the complete 4-book PDF bundle (PnR, STA, MMMC, Low Power) with a clickable table of contents - no ads, no internet needed.

See what's inside the bundle
PnR Flow Physical Design Mentor Guide — eight chaptersPnR Flow Mentor GuideEight chapters, library setup through to stream-out.