Skip to content

Reimplementation of the VLSI placement algorithm: ePlace and ePlace-MS

License

Notifications You must be signed in to change notification settings

geziangfinn/easyPlace

Repository files navigation

easyPlace

Reimplementation of the electrostatic-based VLSI placement algorithm: ePlace and ePlace-MS with clean C++ code. This code is for those who try to understand the electrostatics-based placement.

Reimplementation of Abacus is applied for internal std cell legalization.

Independent set matching, local reordering and global swap are applied for internal detailed placement.

How to Build

To build, go to the root directory.

mkdir build
cd build 
cmake .. 
cd main
make

How to Run

sample command:

./ePlace -aux ./adaptec4.aux -targetDensity 1.0  -fullPlot -targetOverflow 0.1 -legalizerPath YOUR_LEGALIZERPATH -outputPath YOUR_OUTPUTPATH

Options

  • -aux: specify input aux file
  • -targetDensity: specify target density
  • -targetOverflow: specify target overflow
  • -legalizerPath: specify the path of external legalizer (support ntuplace3 only for now) and call ntuplace3 to complete legalization and detailed placement
  • -outputPath: specify the output path
  • -fullPlot: plot cell locations during the placement process
  • -noQP: skip initial placement(quadratic placement)
  • -nomGP: skip mixed-size global placement
  • -nomLG: skip macro legalization and cell global placement
  • -nocGP: skip cell global placement
  • -noLegal: skip legalization
  • -addNoise: add random noise before mGP

References

Global Placement:

Legalization:

Detailed placement techniques:

Authors

Ziang Ge and Yikai Liu, supervised by Prof. Pingqiang Zhou at ShanghaiTech University

About

Reimplementation of the VLSI placement algorithm: ePlace and ePlace-MS

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published