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

Last updated:

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.