How does a macro halo differ from a placement blockage?
From PDVerse PnR Interview Handbook, part of the pdVerse Mentor Guide
Short Answer
A halo (keepout margin) is attached to a macro — like a personal-space bubble — so wherever the macro moves, the halo moves with it automatically. A placement blockage is a fixed rectangle drawn on the floorplan itself; it doesn't care what's placed nearby and it stays put even if every macro around it shifts.
Technical Explanation
- Both reserve space where standard cells (and sometimes hard macros) can't be placed, but ownership is the key difference: one belongs to an object, the other belongs to a location.
- ` for blockages.
- Blockage types aren't one-size-fits-all either —
hardstops everything,hard_macrostops only macros,softonly blocks coarse placement (optimization/legalization can still use the space), andpartial -blocked_percentagecaps density rather than banning placement outright. - Pick the type for the stage and object you actually care about: a routing-only concern wants a routing blockage, not a placement halo; a macro that will be repositioned wants a halo, not a fixed-location blockage.
Visual Verification
A placement halo moves dynamically with its parent macro to maintain clearance around pins, whereas a placement blockage remains fixed at absolute floorplan coordinates.
Formula Or Decision Rule
Decision rule: reserve only the space needed for pin access, routing, optimisation cells, or physical rules, and state what the restriction blocks.
What To Check
- Warning sign: A huge halo wastes rows, or a small halo allows cells to choke macro pins.
- Inspect: choose one affected region, macro, row, pin, path, or net and trace the physical cause.
- Correct: Adjust the specific keepout or blockage based on evidence and compare usable rows and congestion again.
Command Checks & Actions
- create_keepout_margin -type hard -outer {<left> <bottom> <right> <top>} <macro_collection>: attaches a typed keepout margin to design objects
- create_placement_blockage -boundary {{<llx> <lly>} {<urx> <ury>}} -type hard -name <blockage>: creates a fixed placement restriction
Run only the commands needed for this question. Save the report with the floorplan version and analysis context.
Healthy, Suspicious & Hard-stop Results
- Healthy: A keepout margin moves with its macro; a placement blockage is a fixed floorplan region. Both reserve space, but ownership and affected objects differ.
- 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
” to measurable physical evidence and an owned correction.
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