When placing clock drivers with -boxes, how does -boundary actually change what gets built?
From PDVerse PnR Interview Handbook · pdVerse Mentor Guide
Short Answer
-boxes alone lays out an X-by-Y grid of driver positions over the entire core area. Adding -boundary constrains that grid to a specific bounded region instead of the whole core -- useful when you only want drivers distributed across part of the floorplan (e.g. one voltage area or one physical section) rather than uniformly everywhere.
Technical Explanation
- -boxes {X Y} alone lays out an X-by-Y grid of driver positions over the entire core area by default.
- Adding -boundary constrains that same grid to a specific bounded region instead of the whole core.
- This matters when you only want drivers distributed across part of the floorplan -- one voltage area, one physical section -- rather than uniformly across the entire design.
- -location is a separate, more precise alternative to -boxes entirely: exact coordinates instead of a generated grid.
Common Mistake
The Trap: Using -boxes without -boundary when the actual intent was to constrain driver placement to one region of the floorplan -- without -boundary, the grid spans the whole core by default.
Follow-up Question & Model Response
"When would -location be a better choice than -boxes plus -boundary, even for a bounded region?"
Candidate Model Response: -location is better when you need exact, specific coordinates for a small number of drivers -- e.g. matching a hand-designed structure -- rather than a generated grid, even a bounded one, which is better suited to distributing many drivers evenly across a region.
Practical Example
Practical Example: create_clock_drivers -loads [get_nets clkA] -lib_cells [get_lib_cells my_lib/CKBUF8X] -boxes {5 5} -boundary [list {{200 200} {1000 1000}}] builds a 5x5 grid of drivers, but confined to that specific rectangular region rather than spread across the entire core.
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.
Continue practising