How can a placement be legal on one grid but fail another grid or pin access?
From PDVerse PnR Interview Handbook, part of the pdVerse Mentor Guide
Short Answer
"Legal" isn't one property — it's the intersection of several independent grids and rules, and a cell/macro can satisfy some while quietly violating others. Think of it like a parking spot: fitting inside the painted lines (site grid) doesn't guarantee your door can open (pin-access grid) or that you're not straddling a fire lane (FinFET boundary rule).
Technical Explanation
- "Legal" isn't one property — it's the intersection of several independent grids and rules, and a cell/macro can satisfy some while quietly violating others.
- Think of it like a parking spot: fitting inside the painted lines (site grid) doesn't guarantee your door can open (pin-access grid) or that you're not straddling a fire lane (FinFET boundary rule).
- The arithmetic check for two grids sharing a point: find where their pitch and offset relationships actually coincide. E.g. a 48 nm-pitch grid and a 40 nm-pitch grid, both zero-offset, only share legal coordinates every LCM(48,40) = 240 nm — any offset difference between them can eliminate shared points entirely.
- Do this LCM-style check only between grids that constrain the same coordinate/feature — a macro's origin, its far edge (origin + width), and its pin locations are three different coordinates, and a legal origin can still produce an illegal far edge if the macro's width isn't grid-compatible.
- Use the real tool checks rather than hand math for anything beyond a sanity check:
report_grids -type finfetto see what's active,check_finfet_gridfor violations, and routing/pin-access reports to see if a pin — even on a legal macro boundary — has no legal track or via-enclosure path because of nearby PG shapes or obstructions. - Bottom line: verify the library abstract/technology data, check every affected interface after any fix (not just the one pin that failed), and let the legalizer and routing checks — not a single LCM calculation — be the final word on legality.
Command Checks & Actions
analyze_lib_cell_placement -lib_cells <lib_cells>Checks placement legality against manufacturing and placement grid rules specifically -- one axis of "legal on one grid."
check_libcell_pin_access -mode design_under_testSeparately checks pin accessibility and routability, the axis analyze_lib_cell_placement does not cover -- together the two commands explain how a placement can be legal on one grid but still fail pin access.
Common Mistake
The Trap: Moving a macro to solve one pin-access problem without rechecking its boundary grids, orientation, power connections, and neighboring channels.
Follow-up Question & Model Response
"What if two required grids have no common legal point?"
Candidate Model Response: Investigate incompatible inputs or an incorrect assumed rule; do not force an illegal compromise coordinate.
Practical Example
Tapeout Scenario: x = 240 nm belongs to both zero-offset grids in the teaching example, while x = 96 nm belongs only to the 48 nm grid. If the second grid is shifted by 4 nm, no common point exists because gcd(48, 40) = 8 does not divide 4.
Physical Design & Planning Handbook
Master ASIC Physical Design Planning & Floorplanning
Dive into 14 comprehensive chapters covering netlist sanity, FinFET grids, macro placement, power grids, CTS, and timing budgeting.
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.

Continue practising