Pad Frame Generator

From LibreSilicon
Jump to navigation Jump to search

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

real    20m48.886s
user    20m46.885s
sys     0m3.880s

Further runs

real    8m43.972s
user    8m40.889s
sys     0m4.139s