ParquetFP based macro cell placer for OpenROAD.
- Input: Initial placed DEF of a mixed-size (macros + cells) netlist. Such a DEF is produced by RePlAce (timing-driven, mixed-size mode, aka "TD-MS-RePlAce").
- Output: A placed DEF with macro placements honoring halos, channels and cell row "snapping". Approximately ceil((#macros/3)^(3/2)) "sets" corresponding to quadrisections of the initial placed mixed-size DEF are explored and packed using ParquetFP-based annealing. The best resulting floorplan according to a heuristic evaluation function is returned.
- GCC compiler and libstdc++ static library >= 4.8.5
- boost library >= 1.41
- bison (for lef/def parsers) >= 3.0.4
- tcl (for OpenSTA) >= 8.4
- Recommended OS: Centos6, Centos7 or Ubuntu 16.04
$ git clone --recursive https://github.com/The-OpenROAD-Project/TritonMacroPlace
$ mkdir build
$ cd build
$ cmake .. // you may specify -DCMAKE_INSTALL_PREFIX to avoid installing in /usr/local/*
$ make
$ make install
- BSD-3-clause License [Link]
- Code found under the Modules directory (e.g., submodules ParquetFP and ABKCommon source files) have individual copyright and license declarations at the top of each file.
- ParquetFP from UMPack
- ABKCommon from UMPack
- Eigen
- OpenSTA
- LEF/DEF Parser (Modified by mgwoo)