One macro has a huge halo; another has pin-access failure from a small halo. How do you size them?
From PDVerse PnR Interview Handbook, part of the pdVerse Mentor Guide
Short Answer
A single uniform halo number applied to every macro is lazy and wrong β macros aren't symmetric, and a halo is a personal-space bubble that should only be as big as each side actually needs. Look at each macro edge independently: where are the pins concentrated, how many routing tracks/vias does that side need, are optimization cells (buffers, tap cells) expected to land there, and is there PG-shape traffic hugging that edge?
Technical Explanation
- A side with dense pins and heavy routing needs real margin β via ladders, redundant vias, and buffer insertion all consume space right at the macro boundary. A quiet side with no pins and no nearby congestion wastes area if it gets the same halo.
- For the oversized-halo macro: check whether one or two sides actually need the large margin and shrink the rest β
create_keepout_margin -outer {left bottom right top}takes independent values per side, so there's no reason to keep it uniform. - 5) which scales with actual pin density instead of a flat guess.
- Also separate "placement keepout" (where standard cells can't sit) from "routing blockage" (where wires can't run) β sometimes the fix isn't a bigger halo at all, it's converting part of it from a hard placement blockage to a routing-only constraint.
Formula Or Decision Rule
Decision rule: each sideβs margin protects a named resource without creating unusable area.
What To Check
- Warning sign: The same halo is copied to every macro.
- Inspect: choose one affected region, macro, row, pin, path, or net and trace the physical cause.
- Correct: Resize by side and type, then compare access, rows, and congestion.
Command Checks & Actions
- create_keepout_margin -type hard -outer {<left> <bottom> <right> <top>} <macro_collection>: attaches a typed keepout margin to design objects
report_design-floorplan: reports the floorplan state understood by the tool
Run only the commands needed for this question. Save the report with the floorplan version and analysis context.
Healthy, Suspicious & Hard-stop Results
- Healthy: Use asymmetric, evidence-based margins where supported: reserve space where pins, vias, routing, or optimisation cells need it, and avoid wasting quiet sides.
- Suspicious: The same halo is copied to every macro.
- 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. The same halo is copied to every macro.
What The Interviewer Is Testing
The interviewer is testing whether you can connect βOne macro has a huge halo; another has pin-access failure from a small halo. β 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 the same halo is copied to every macro. β
Practical Example
Tapeout Scenario: Symptom: The same halo is copied to every macro.
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