Boundary or corner cells are missing or wrongly oriented around a voltage area. What do you check?
From PDVerse PnR Interview Handbook, part of the pdVerse Mentor Guide
Short Answer
Start by checking the geometry of the voltage area itself — its boundary shape, whether it's rectangular or rectilinear, and whether it overlaps or nests with other voltage areas in a way that creates unusual corner cases. Check row orientation at each edge — remember standard-cell rows alternate orientation (flipped/rotated) every other row so adjacent rows share power rails, and boundary/corner cells must match that alternating pattern or they'll be flagged as wrongly oriented.
Technical Explanation
- Distinguish inside corners from outside corners explicitly — a voltage area with a notch or an L-shape has both types, and each needs its own specific corner cell from the library; using an outside-corner cell where an inside corner is needed (or vice versa) is a very common source of this failure.
- Confirm the library actually has the right set of boundary/corner cells defined for this voltage-area configuration — some libraries only support certain corner geometries, and a rare rectilinear shape might simply not have a matching cell.
- Never substitute a different cell family — an I/O corner cell, filler, tap, or decap cell is not interchangeable with a core/voltage-area boundary cell, even if it happens to fit geometrically; check that the correct insertion flow (
compile_boundary_cellsor equivalent) actually ran after the geometry was finalized, since boundary cell insertion done before a late floorplan edit becomes stale.
Formula Or Decision Rule
Decision rule: every applicable edge and corner has the intended cell and orientation.
What To Check
- Warning sign: A clean global count hides one untreated concave corner.
- Inspect: choose one affected region, macro, row, pin, path, or net and trace the physical cause.
- Correct: Report rules, inspect the named corner and rows, correct rule or geometry, compile, and check again.
Command Checks & Actions
- report_boundary_cell_rules: reports the active boundary-cell rules
- compile_boundary_cells -voltage_area <voltage_area>: inserts boundary cells using the active rules; this command is deprecated in the referenced release, so verify the project-approved targeted replacement
- check_floorplan_rules: reports configured floorplan-rule violations
Run only the commands needed for this question. Save the report with the floorplan version and analysis context.
Healthy, Suspicious & Hard-stop Results
- Healthy: Check voltage-area geometry, row orientation, inside versus outside corners, library-specific rules, legal cell orientations, and whether the correct insertion flow ran.
- Hard stop: required legality or physical feasibility is missing or unexplained.
Common Mistake
The Trap: Do not hide the symptom with an arbitrary utilisation, halo, channel, blockage, pin move, or die-size change.
What The Interviewer Is Testing
The interviewer is testing whether you can connect “Boundary or corner cells are missing or wrongly oriented around a voltage area. ” to measurable physical evidence and an owned correction.
Follow-up Question & Model Response
"* Candidate Model Response: Model response: “I would change it if the same controlled rerun shows that a clean global count hides one untreated concave corner. ”
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