OpenDP: Open Source Detailed Placement Engine
Visualized detailed placement result using aes_cipher_top design with innovus initial placement; OpenDP_sample.jpg |
- GCC compiler and libstdc++ static library >= 4.8.5
- Recommended OS: Centos6 or Centos7 or Ubuntu 16.04
$ git clone --recursive https://github.com/sanggido/OpenDP.git
$ cd OpenDP
$ mkdir build
$ cd build
$ cmake .. // you may specify -DCMAKE_INSTALL_PREFIX to avoid installing in /usr/local/*
$ make
$ sudo make install // or make install if you specified -DCMAKE_INSTALL_PREFIX
// unzip iccad2017 benchmarks
$ cd OpenDP/bench
$ tar -xvf benchmarks.tar.gz
// Check doc/ScriptUsage.md in detail
$ cd OpenDP/src
$ ./execute.py 1
// Check doc/ScriptUsage.md in detail
$ ./opendp -lef <techLef> -lef <cellLef> ... -def <inputDef> -output_def <outputDef> [-options]
- TSMC 65 (GP/LP)
- ST FDSOI 28
- TSMC 16 (9T)
- BSD-3-clause License [Link]
- SangGi Do and Mingyu Woo (respective Ph. D. advisors: Seokhyeong Kang, Andrew B. Kahng).
- parser_helper.cpp is based on Dr. Myung-Chul Kim(IBM)'s ICCAD 2015 contest starter_kit
- Paper reference: S. Do, M. Woo and S. Kang, "Fence-Region-Aware Mixed-Height Standard Cell Legalization", Proc. Great Lakes Symposium on VLSI, 2019, pp. 259-262. (link)
- Commercial format supports. (Si2 LEF/DEF parser has been ported).
- Fence region and multi-height legalization supports. (ICCAD 2017 Contest benchmarks)
- Fragmented ROW supports.
- Macro orientations supports.