How do connectivity and timing guide macro placement?
From PDVerse PnR Interview Handbook, part of the pdVerse Mentor Guide
Short Answer
Macro placement isn't a puzzle of minimizing every pairwise distance โ it's about arranging macros so the actual dataflow through the chip is short, routable, and timing-friendly, which is a different (and sometimes conflicting) goal. Flylines (the rat's-nest connectivity lines the GUI draws between related instances) are your first diagnostic tool โ they visually show you which macros are heavily connected and should sit near each other, versus which ones barely talk and can be placed further apart without penalty.
Technical Explanation
- Weight your grouping decisions by what actually matters for timing/routing: bus width (a 128-bit bus between two macros deserves a much shorter path than a 4-bit control signal), path criticality (a macro pair on the critical timing path gets priority placement over a non-critical pair), and producer-consumer order (data should flow in a sensible direction across the floorplan, not zigzag back and forth).
- I/O affinity matters too โ macros that talk heavily to chip-level I/O should sit near the relevant edge, and macros sharing a clock or reset source benefit from proximity to that source to simplify clock tree balancing.
- Respect hierarchy: macros belonging to the same functional block often benefit from staying together, both for routing simplicity and for keeping the design's logical structure legible in the physical layout.
- Don't forget the standard-cell logic that has to physically sit between macros โ if your macro placement leaves no reasonable channel for the glue logic connecting them, you've solved macro placement at the expense of everything that has to route around it.
- Correlate the highest-volume/most-critical connections with the macro pin sides and available corridors โ a macro with its relevant pins facing the wrong direction relative to its partner macro forces a long detour no matter how close you place the two blocks.
Formula Or Decision Rule
Decision rule: prioritise connections whose delay or routing demand is hardest to absorb elsewhere.
What To Check
- Warning sign: A macro is near its partner but their active pin walls face away or across a blockage.
- Inspect: choose one affected region, macro, row, pin, path, or net and trace the physical cause.
- Correct: Move or orient the pair, preserve cell space between stages, then compare named paths and congestion.
Command Checks & Actions
- create_placement -floorplan -timing_driven -congestion: runs early floorplan placement when -floorplan is used
report_timing: reports timing paths in the active analysis context
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 flylines, bus width, path criticality, producer-consumer order, I/O affinity, clock/reset sources, and hierarchy to propose macro regions.
- 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 macro is near its partner but their active pin walls face away or across a blockage. โ
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