Skip to content
RePlAce global placement tool
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc Update Description to remove bookshelf Mar 5, 2019
ntuplace Ntuplace3/Ntuplace4h updated Aug 28, 2018
output Initial commit Jul 31, 2018
.gitignore Install command added / change test output dir Dec 29, 2018


RePlAce: Advancing Solution Quality and Routability Validation in Global Placement

Visualized examples from ISPD 2006 contest; adaptec2.inf

Getting Started

Run using Docker

  1. Install Docker on Windows, Mac or Linux.

  2. Navigate to the directory where you have the input files.

  3. Run RePlAce container:

    docker run -it -v $(pwd):/data openroad/replace bash
  4. 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.

Install on a bare-metal machine


  • Intel MKL and IPP package Link >= 2016.3.210
  • GCC compiler and libstdc++ static library >= 5.4.0
  • boost library >= 1.41
  • bison (for verilog parser) >= 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

Clone repo and submodules

$ git clone --recursive

Then, modify the MKLROOT and IPPROOT to the corresponding install paths in src/Makefile

$ cd ~/RePlAce
$ make clean
$ ./prerequisite/   // for centos 7
$ ./prerequisite/  // for ubuntu 16
$ make 
$ make install

Check your installation

To make sure your installation is correct and the current tool version is stable enough, 
run a Hello World application:

$ cd ./test
$ ./

How To Execute

// download lefdef benchmarks
$ cd ~/RePlAce/bench/ispd18
$ ./

// Generate a result from ISPD18 - ispd18.test1.input
// Check doc/ in detail
$ cd ~/RePlAce/src
$ ./ 0 

Verified/supported Technologies

  • TSMC 65
  • Fujitsu 55
  • TSMC 45
  • ST FDSOI 28
  • TSMC 16 (7.5T/9T)
  • GF 14
  • ASAP 7



3rd Party Module List


  • 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.


  • RePlAce scales down the design from LEF/DEF/Verilog inputs for internal numerical stability reason, and scales back up for outputs. The scaling parameters XXX/YYY must be integer and must result in integer units after scaling down. This limitation will be removed in a future release (-unitY solve this problem temporary).
  • RePlAce does not support verilog files with certain string delimiters (e.g. '/', '[', ']' with starting character backslash('\')).
  • RePlAce does not support rouability-driven mode using the LEF/DEF/Verilog interface. This will be enabled in a future release.
  • Mixed-sized RePlAce with (LEF/DEF/Verilog) interface does not generate legalized placement.
  • RePlAce does not support rectilinear layout regions.
You can’t perform that action at this time.