BeginnerQuestion 196 of 97Source PDF page undefined

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

From PDVerse PnR Interview Handbook ยท 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?
What is standard cell placement, and what are its primary goals?, illustrating the physical design concept.

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

Physical Design & Planning Handbook

Dive into 14 comprehensive chapters covering netlist sanity, FinFET grids, macro placement, power grids, CTS, and timing budgeting.