ParquetFP-based macro cell placer, "TritonMacroPlacer".
The macro placer places macros/blocks honoring halos, channels
and cell row "snapping".
Run global_placement
before macro placement.
Approximately ceil((#macros/3)^(3/2)) sets corresponding to quadrisections of the initial placed mixed-size layout are explored and packed using ParquetFP-based annealing. The best resulting floorplan according to a heuristic evaluation function is kept.
macro_placement [-halo {halo_x halo_y}]
[-channel {channel_x channel_y}]
[-fence_region {lx ly ux uy}]
[-snap_layer snap_layer_number]
-halo
horizontal/vertical halo around macros (microns)-channel
horizontal/vertical channel width between macros (microns)-fence_region
- restrict macro placements to a region (microns). Defaults to the core area.-snap_layer_number
- snap macro origins to this routing layer track
Macros will be placed with max(halo * 2, channel)
spacing between macros, and between
macros and the fence/die boundary. If no solutions are found, try reducing the
channel/halo.
Check out GitHub discussion about this tool.
BSD 3-Clause License.