When should macros be edge-biased versus placed internally?
From PDVerse PnR Interview Handbook, part of the pdVerse Mentor Guide
Short Answer
There's no universal right answer here — it genuinely depends on where the macro's pins, its logical neighbors, and its routing needs actually point, so the decision has to be made from the connectivity data, not a rule of thumb. Edge placement tends to simplify external access (bringing signals in/out from I/O, or connecting to neighboring blocks) and keeps the central core area free and continuous for standard-cell rows — good when the macro mostly talks to the outside world.
Technical Explanation
- Internal placement can shorten central dataflow paths when the macro is heavily used by logic scattered across the whole core, but it comes at a real cost: more channel fragmentation and more blockage interactions around the macro's boundary, since standard cells now have to route around it from all sides instead of just one.
- Compare macro pin sides, timing-critical path direction, row continuity, power/ground access, and escape routing capacity for both options before deciding — this is a data-driven placement study, not aesthetics.
- One thing to actively avoid: don't push so many macros to the edges that you effectively wall off the entire core boundary — that turns your I/O and routing access into a bottleneck of its own.
Formula Or Decision Rule
Decision rule: choose the strategy with the stronger combined timing, routability, and change-risk evidence.
What To Check
- Warning sign: All macros are pushed to edges by habit, creating long internal buses or corner congestion.
- Inspect: choose one affected region, macro, row, pin, path, or net and trace the physical cause.
- Correct: Test an alternative with the same area and measurement method, then document the winning tradeoff.
Command Checks & Actions
- set_macro_constraints -style <on_edge_or_freeform> <macro_collection>: records allowed macro or I/O placement constraints
- create_placement -floorplan -congestion: runs early floorplan placement when -floorplan is used
Run only the commands needed for this question. Save the report with the floorplan version and analysis context.
Healthy, Suspicious & Hard-stop Results
- Healthy: Edge placement can simplify external access and preserve central rows; internal placement can shorten central dataflow but creates more channel and blockage interactions.
- 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 all macros are pushed to edges by habit, creating long internal buses or corner congestion. ”
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