Skip to content
This repository has been archived by the owner on Jan 26, 2021. It is now read-only.

The-OpenROAD-Project/PDNSim

Repository files navigation

PDNSim

Standard Download Version AskMe License

Getting Started

Clone Repository and Submodules

git clone --recursive https://github.com/The-OpenROAD-Project/PDNSim.git

Inputs

  • DEF : Placed and PDN synthesized
  • LEF : Tech and Cell LEF
  • LIB : Liberty files for OpenSTA power report
  • Verilog : Gate-level netlist for OpenSTA power report
  • SDC : Constraints for OpenSTA power report
  • VSRC.loc: Voltage source location file

Outputs

  • Static IR drop report, worst case IR drop
  • Static IR drop plots

Dependencies:

Install and Run on Bare Metal Machine

Pre-requisutes

  • GCC compiler and libstdc++ static library >= 4.8.5
  • TCL > = 8.4
  • BLAS library >= 3.8 for SuperLU
  • FORTRAN compiler
  • Boost Libraries >= 1.53

Build and Install

After cloning the repository and its submodules, build and install using the following commands:

$ cd PDNSim
$ mkdir build
$ cd build
$ cmake ..
$ make

Check the Installation

  • To make sure your installation is correct and the current tool version is stable:
cd ../..
% source /PDNSim/test/regression.sh

Usage

Example usages with TCL interpreter

Open the TCL interpreter for PDNSim.

$ pdnsim

Run the following TCL commands:

PDNSim pdn
pdn import_lef /path/to/lef/file.lef
pdn import_def /path/to/def/file.def
pdn import_verilog /path/to/gate-level/netlist/file.v
pdn set_top_module moduleName
pdn import_sdc /path/to/constraints/file.sdc 
pdn import_lib /path/to/liberty/file.lib
pdn read_voltage_src /path/to/Vsrc.loc
pdn analyze_power_grid

The analyze_power_grid command supports the following optional arguments: analyzer_power_grid -layer -net VDD/VSS

analyze_power_grid -layer M1 -net VSS

Argument Comments
layer Reports the worst case IR on the specifed layer and plots the IR map (optional, str)
net Specifies which net to analyze: VDD/VSS (optional, str)

If the above two arguments are not specified, the default arguments are net VSS and layer 1.

License

The rest of this repository is licensed under BSD 3-Clause License.

BSD 3-Clause License

Copyright (c) 2019, The Regents of the University of Minnesota

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

  • Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.