How do you choose a macro keepout type?
From PDVerse PnR Interview Handbook · pdVerse Mentor Guide
Short Answer
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.
Technical Explanation
The type expresses intent; the numeric margin expresses distance. Confirm support and semantics in the installed release. A keepout attached to a macro follows that macro when it moves.
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. • Suspicious: A hard halo blocks useful optimisation space when only macro separation was required. • Hard stop: required legality or physical feasibility is missing or unexplained. Replace it with the correctly scoped type and compare rows, pin access, and congestion.
Common Mistake
Do not hide the symptom with an arbitrary utilisation, halo, channel, blockage, pin move, or die-size change. A hard halo blocks useful optimisation space when only macro separation was required.
What The Interviewer Is Testing
The interviewer is testing whether you can connect “How do you choose a macro keepout type?” to measurable physical evidence and an owned correction.
Follow-up Question & Model Response
Follow-up probe: What would make you change your decision? 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. I would use the named objects and reports to decide whether to iterate, waive, or return the issue.”
Practical Example
Symptom: A hard halo blocks useful optimisation space when only macro separation was required. Corrective path: Replace it with the correctly scoped type and compare rows, pin access, and congestion.
Continue practising