# PDNSim [![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause) PDNSim is an open-source static IR analyzer. Features: - Report worst IR drop. - Report worst current density over all nodes and wire segments in the power distribution network, given a placed and PDN-synthesized design. - Check for floating PDN stripes on the power and ground nets. - Spice netlist writer for power distribution network wire segments. ## Commands ``` set_pdnsim_net_voltage -net -voltage check_power_grid -net analyze_power_grid -vsrc \ -net \ [-outfile ] \ [-enable_em] \ [-em_outfile ] [-dx] [-dy] [-em_outfile ] write_pg_spice -vsrc -outfile -net ``` Options description: - ``vsrc``: (optional) file to set the location of the power C4 bumps/IO pins. [Vsrc_aes.loc file](https://github.com/The-OpenROAD-Project/PDNSim/blob/master/test/aes/Vsrc.loc) for an example with a description specified [here](https://github.com/The-OpenROAD-Project/PDNSim/blob/master/doc/Vsrc_description.md). - ``dx,dy``: (optional) these arguments set the bump pitch to decide the voltage source location in the absence of a vsrc file. Default bump pitch of 140um used in absence of these arguments and vsrc - ``net``: (mandatory) is the name of the net to analyze, power or ground net name - ``enable_em``: (optional) is the flag to report current per power grid segment - ``outfile``: (optional) filename specified per-instance voltage written into file - ``em_outfile``: (optional) filename to write out the per segment current values into a file, can be specified only if enable_em is flag exists - ``voltage``: Sets the voltage on a specific net. If this command is not run, the voltage value is obtained from operating conditions in the liberty. ## Example scripts See the file [Vsrc_aes.loc file](test/Vsrc_aes_vdd.loc) for an example with a description specified [here](doc/Vsrc_description.md). ## Regression tests ## Limitations ## FAQs Check out [GitHub discussion](https://github.com/The-OpenROAD-Project/OpenROAD/discussions/categories/q-a?discussions_q=category%3AQ%26A+psm+in%3Atitle) about this tool. ## Cite this Work If you find PDNSim useful, please use the following `bibtex` to cite it: ``` @misc{pdnsim, author = "V. A. Chhabria and S. S. Sapatnekar", title={{PDNSim}}, note= "\url{https://github.com/The-OpenROAD-Project/OpenROAD/tree/master/src/PDNSim}" } ``` ## License BSD 3-Clause License. See [LICENSE](LICENSE) file.