RePlAce: Advancing Solution Quality and Routability Validation in Global Placement
Visualized examples from ISPD 2006 contest; adaptec2.inf | Real-world Design: Coyote (TSMC16 7.5T) |
-
Navigate to the directory where you have the input files.
-
Run RePlAce container:
docker run -it -v $(pwd):/data openroad/replace bash
-
From the interactive bash terminal, use RePlAce scripts which reside under
/RePlAce
. You can read input files from/data
directory inside the docker container - which mirrors the host machine directory you are in.
- The Docker image is self-contained and includes everything that RePlAce needs to work properly.
- Intel MKL packages Link >= 2016.3.210
- 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
- X11 library (for CImg library to visualize) >= 1.6.5
- Recommended OS: Centos6, Centos7 or Ubuntu 16.04
$ git clone --recursive https://github.com/abk-openroad/RePlAce.git
$ cd ~/RePlAce
$ ./prerequisite/install_centos7.sh // for centos 7
$ ./prerequisite/install_ubuntu16.sh // for ubuntu 16
$ mkdir build
$ cd build
$ cmake .. // you may specify -DCMAKE_INSTALL_PREFIX to avoid installing in /usr/local/*
$ make
$ make install
To make sure your installation is correct and the current tool version is stable enough,
run a Hello World application:
$ cd ./test
$ ./run.sh
// download lefdef benchmarks
$ cd ~/RePlAce/bench/ispd18
$ ./download_ispd18.sh
// Generate a result from ISPD18 - ispd18.test1.input
// Check doc/ScriptUsage.md in detail
$ cd ~/RePlAce/src
$ ./execute_lefdef.py 0
- TSMC 65
- Fujitsu 55
- TSMC 45
- ST FDSOI 28
- TSMC 16 (7.5T/9T)
- GF 14
- ASAP 7
- BSD-3-clause License [Link]
- Eigen
- CImg
- FLUTE from Rsyn-x
- OpenSTA
- NTUPlacer3/4h (Thanks for agreeing with redistribution)
- LEF/DEF Si2 Parser (Modified by mgwoo)
- Ilgweon Kang and Lutong Wang (respective Ph.D. advisors: Chung-Kuan Cheng, Andrew B. Kahng), based on Dr. Jingwei Lu's Fall 2015 code implementing ePlace and ePlace-MS.
- Many subsequent improvements were made by Mingyu Woo leading up to the initial release.
- Paper reference: C.-K. Cheng, A. B. Kahng, I. Kang and L. Wang, "RePlAce: Advancing Solution Quality and Routability Validation in Global Placement", to appear in IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2018. (Digital Object Identifier: 10.1109/TCAD.2018.2859220)
- Timing-Driven mode has been implemented by Mingyu Woo.
- Mixed-sized RePlAce with (LEF/DEF/Verilog) interface does not generate legalized placement.
- RePlAce does not support rectilinear layout regions.