Extraction Rules Generation Flow for OpenRCX#
This flow generates the RC tech file for OpenRCX. The RC tech file provides resistance and capacitance tables used for RC extraction for a specific process corner.
The flow involves:#
A. Running OpenRCX generate_patterns.tcl
to generate layout patterns.
Input: tech LEF
Output:
patterns.def
,patterns.v
Script:
generate_patterns.tcl
Desc: OpenRCX generates many pattern geometries to model various types of capacitance and resistance (i.e., multi-conductor) geometric configurations.
B. Running your favorite extraction tool (i.e., reference extractor) to extract parasitics of the layout patterns.
Input:
patterns.def
,patterns.v
(if required), and additional files required by the reference extractor.Output:
patterns.spef
Script: Not provided
Desc: Extract parasitics of the patterns generated by OpenRCX using a reference extractor. This one-time step provides the parasitics of various types of pattern geometries as reference for fitted per-unit length R, C calculation.
C. Running OpenRCX to convert patterns.spef
to RC tech file.
Input:
patterns.spef
Output: RC tech file
Script:
generate_rules.tcl
Desc: OpenRCX takes the
.spef
from the reference extractor and performs calculations to produce capacitance and resistance tables for a wide range of wire geometries. The output of this flow is a custom RC tech file for OpenRCX.
D. Benchmarking - test the accuracy of OpenRCX on the patterns layout.
Input:
patterns.def
and RC tech fileOutput:
rcx.spef
,diff_spef.out
Script:
ext_patterns.tcl
Desc: Perform parasitic extraction on pattern layout for the calibration using the generated RC tech file. OpenRCX then compares the extracted parasitics with the golden parasitics that had been extracted by the reference extractor in Step (B) above.
How to run:#
Go to OpenRCX home directory (
./OpenROAD/src/rcx
).Navigate to calibration folder
cd calibration
Modify the
user_env.tcl
script in the script directory.
TECH_LEF: points to the directory of the tech LEF
PROCESS_NODE: the technology node
extRules: the name and the location of the OpenRCX tech file
Run the executable script
run.sh
–> run Steps (A) through (D) of the flow above.
source run.sh
or./run.sh
The OpenRCX RC tech file can be found in the directory that is specified in the extRules variable.