Regression model-based on-chip parasitic extraction (PEX) at the post-route stage. The tool comprises of two flows:
- Calibration Flow
- Inference Flow
- Inputs:
- Technology LEF
- Cell LEF
- PVT Libraries
- qrcTech files
- User-defined environment file
- Training data generation using Cadence Innovus
- Regression model training
- Output files:
- config_file_{corner_name}.txt
The training data generation involves running a calibration script and a script to train the data. The instruction on how to run the calibration flow can be found here. The output format can be referred here.
The tool uses the constructed regression models to estimate parasitics on a given routed design.
- Inputs:
- Technology LEF
- Cell LEF
- PVT Libraries
- User-defined environment file
- routed DEF
- Output files:
- {design_name}.spef
The detailed information about the flow can be found here.
- python 3.6
- Cadence Innovus 17.1 or newer
- pip 18.1
- python3-venv
Additionally, please refer to requirements.txt file in this repository. The packages in requirements.txt will be installed in a virtual environment during build.
- Tcl v8.4.20
git clone --recursive https://github.com/The-OpenROAD-Project/PEX.git
cd PEX
make clean
make build
Training flow
- This flow must be run only once for a new PDK and corner
- It involves running a tcl script that generates the required data to train the regression model.
- How to run:
- Point to the paths of the Tech LEF, Cell LEF, qrcTech files, Liberty file, and the user-defined environment file
- In the terminal:
make calibration
Inference Flow
- How to run:
- Point to the paths of:
- Tech LEF
- Cell LEF
- Liberty file
- Design layout (DEF)
- Configuration file (contains regression model data)
- In the terminal:
make inference
- Point to the paths of:
The PEX repository is licensed under the BSD 3-Clause License. The flow is built and tested using a third party PDK, the Nangate45 PDK, that is licensed under a different license. The license can be found below:
- PEX: Regression model-based on-chip parasitic extraction (PEX)
- NanGate 45nm Library: open-source standard-cell library for testing and exploring EDA flows