IntermediateQuestion 69 of 222

How do you choose a macro keepout type?

From PDVerse PnR Interview Handbook, part of the pdVerse Mentor Guide

Short Answer

The keepout type you choose expresses which objects get excluded and at which stage — the numeric margin value (how far the exclusion extends) is a completely separate decision from the type. Use hard when you need broad placement exclusion around the macro for essentially everything — this is the strictest, most conservative choice.

Technical Reference DiagramHow do you choose a macro keepout type?

Technical Explanation

  • Use soft when you want to exclude cells during initial placement but explicitly allow later optimization steps to place something there if needed to fix a violation — softer, more flexible.
  • , avoiding macro-to-macro abutment) while still allowing standard cells nearby.
  • Use routing_blockage when the concern isn't cell placement at all but routing shapes — you want to keep metal/via geometry away from the macro boundary, which is a different physical concern than cell placement and needs its own keepout mechanism.
  • Always confirm exact support and semantics in your installed tool release rather than assuming keyword behavior carries over version to version, and remember a keepout attached to a macro travels with that macro if it moves later in the floorplan — it's not a fixed floorplan-coordinate object.

Formula Or Decision Rule

Decision rule: use the least restrictive type that protects the demonstrated access or rule need.

What To Check

  • Warning sign: A hard halo blocks useful optimisation space when only macro separation was required.
  • Inspect: choose one affected region, macro, row, pin, path, or net and trace the physical cause.
  • Correct: Replace it with the correctly scoped type and compare rows, pin access, and congestion.

Command Checks & Actions

  • create_keepout_margin -type <hard_or_soft_or_hard_macro_or_routing_blockage> -outer {<left> <bottom> <right> <top>} <macro_collection>: attaches a typed keepout margin to design objects

Run only the commands needed for this question. Save the report with the floorplan version and analysis context.

Healthy, Suspicious & Hard-stop Results

  • Healthy: Choose by which objects must be excluded and for which stage: hard for broad placement exclusion, soft when later optimisation cells may be allowed, hard_macro to exclude hard macros, and routing_blockage when routing shapes must be kept away.
  • 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.

Follow-up Question & Model Response

"* Candidate Model Response: Model response: “I would change it if the same controlled rerun shows that a hard halo blocks useful optimisation space when only macro separation was required. ”

Physical Design & Planning Handbook

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.

See what's inside the bundle
PnR Flow Physical Design Mentor Guide — eight chaptersPnR Flow Mentor GuideEight chapters, library setup through to stream-out.