Pad Frame Generator

The Pad Frame Generator is part of the LibrePDK and provides the Pad Cell Generator functionality.
It's job is to assemble a ready to use pad frame harness, with ESD protection and power rail wire width properly adjusted for accommodating the intended current driving capacity as well as the intended voltage levels to be used.
Types of Pad Cells produced
Currently we support only simple IO Pad Cell, analog cells, and power cells, complex pad cells still are being in development.
The very special impedance compensated pad cell in the works (High-Speed Impedance-Compensated Pad Cell) is needed in order to hook up DDR4 RAM to our chips or build a PCIe device.
How to use
First pull the docker image for the LibrePDK in order to make sure the image is up to date by running
docker pull leviathanch/librepdk:latest
Then you can feed your JSON config for the padframe you have configured to the pad frame generator script contained in the docker image An example for a paframe config can be found here https://gitlab.libresilicon.com/generator-tools/librepdk/-/blob/master/tests/padframes/padframe_sg13g2_1v2.json?ref_type=heads
docker run -it --rm \
-e HOST_UID=$(id -u) -e HOST_GID=$(id -g) \
-v "$(pwd)":/workspace leviathanch/librepdk:latest \
librepdk_padframe_generator -i padframe_config.json \
-o my_padframe
After running the generator you should have a folder named my_padframe containing the LEF, DEF, Magic and all the other files you need for running a full synthesis flow of your designs.
Installation
Since the Pad Frame Generator is part of LibrePDK you can find the guide on how to install all the dependencies in the Installation section of the LibrePDK page
Benchmarks
Initial run
Creating magic wrapper for padframe
Using Magic tech file: /run/media/leviathan/dde9e2a1-4a6e-4d1b-afec-7c557d080ef8/LibrePDK/librepdk/LibrePDK/technologies/magic_tech/SG13G2/libresilicon.tech
Changing back to top directory for padframe
Successfully generated pad cell elements to: padframe_sg13g2_1v2
Files: io_cell.gds/mag, corner_cell.gds/mag
real 36m55.595s
user 36m36.021s
sys 0m6.958s