BeginnerQuestion 62 of 187

What is standard cell placement, and what are its primary goals?

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

Short Answer

Placement is the step that turns an abstract netlist ("this gate connects to that gate") into real geometry โ€” every standard cell gets an exact (X, Y) coordinate and a legal row orientation. It's optimizing three things at once, and they pull against each other: total wirelength (measured cheaply via HPWL), timing slack under an idealized zero-skew clock, and routability โ€” keeping local congestion from spiking anywhere.

Technical Reference DiagramWhat is standard cell placement, and what are its primary goals?

Technical Explanation

  • Placement is the step that turns an abstract netlist ("this gate connects to that gate") into real geometry โ€” every standard cell gets an exact (X, Y) coordinate and a legal row orientation.
  • It's optimizing three things at once, and they pull against each other: total wirelength (measured cheaply via HPWL), timing slack under an idealized zero-skew clock, and routability โ€” keeping local congestion from spiking anywhere.
  • It needs a locked macro floorplan, DEF row definitions, the power grid already laid down, tech LEF/cell geometry, and the SDC constraints as inputs โ€” placement can't meaningfully start without those.
  • Internally the placer works with continuous, floating-point coordinates first (global placement), then snaps everything onto the discrete row/site grid (legalization) โ€” and throughout all of this, the clock network is still treated as an ideal, zero-delay net; CTS hasn't happened yet.

Common Mistake

The Trap: Assuming placement only cares about packing cells closely together. Blindly clustering logic creates catastrophic local pin density hotspots that cause unroutable DRC shorts during detailed routing.

Follow-up Question & Model Response

"Why does the placement engine optimize setup timing but ignore hold timing?"

Candidate Model Response: Clock trees are unbuilt and ideal during placement. Hold timing depends entirely on actual clock skew and network latency, so hold fixing is deferred to CTS and post-route.

Practical Example

EDA Command Execution:

# Synopsys ICC2: Running analytical placement and pre-CTS timing optimization
create_placement -timing_driven -congestion
place_opt

# Cadence Innovus: Global placement and pre-CTS optimization
place_opt_design -prefix pre_cts

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.