Created a new set of IRSIM parameter files that correspond to IRSIM development to support multiple transistor types and multiple power supply voltages for digital simulation.
diff --git a/sky130/Makefile.in b/sky130/Makefile.in index cdaf902..0baaf20 100644 --- a/sky130/Makefile.in +++ b/sky130/Makefile.in
@@ -477,8 +477,8 @@ OPENLANE_COMMON = config.tcl tracks.info no_synth.cells drc_exclude.cells OPENLANE_COMMON += tribuff_map.v latch_map.v mux2_map.v mux4_map.v fa_map.v rca_map.v csa_map.v -# Corners defined in IRSIM parameter files (this should be wild-carded!) -IRSIM_CORNERS = 1v62_27 1v62_n40 1v62_n5 1v80_125 1v80_27 1v80_n40 1v80_n5 1v98_125 1v98_27 1v98_n40 1v98_n5 +# Corners defined in IRSIM parameter files (wild-carded) +IRSIM_CORNERS = `ls irsim/*.prm | cut -c14-` # Where cpp syntax is followed, this is equivalent to cpp, but it does not # mangle non-C source files under the belief that they are actually C code. @@ -901,8 +901,8 @@ mkdir -p ${IRSIM_STAGING_$*} rm -f ${IRSIM_STAGING_$*}/${SKY130$*}_*.prm for corner in ${IRSIM_CORNERS} ; do \ - cat irsim/header.txt irsim/sky130_$$corner.prm > \ - ${IRSIM_STAGING_$*}/${SKY130$*}_$$corner.prm ; \ + cat irsim/header.txt irsim/sky130_$$corner > \ + ${IRSIM_STAGING_$*}/${SKY130$*}_$$corner ; \ done xcircuit-%: xcircuit/${TECH}.xcircuitrc
diff --git a/sky130/irsim/README b/sky130/irsim/README index 43d24c1..4050204 100644 --- a/sky130/irsim/README +++ b/sky130/irsim/README
@@ -1,65 +1,96 @@ -Attempting to get a valid IRSIM .prm file for the sky130 process -Specifically for the sky130_fd_sc_hd library, but should work with all of -them except for sky130_fd_sc_hvl. +Script to generate valid IRSIM .prm files for the sky130 process + +2/7/2022: Added "device" lines to header.txt for compability between the +subcircuit devices used by the sky130 process, and IRSIM version 9.7.115, +which adds the parsing for the new "device" syntax in the parameter file. + +1/1/2022: Taking advantage of the new code added by Jason Liang for +the GSoC internship. IRSIM now supports multiple transistor models at +multiple power supply voltages, so all sky130 devices can be represented +. . . but also need to be characterized. + ------------------------------------------------------------------------ -Following directions from the irsim web page. . . +Prerequisites: -Get the "getres" script from ~/gitsrc/irsim/lib/calibrate_spice3/ -Change "spice" (with path) to "ngspice" (with path) -Added string.h, stdlib.h, and malloc.h to findr.c to make it compile, -and compiled it. + Requires ngspice and an installation of the SkyWater sky130 open + PDK from open_pdks. -Get characteristics from SPICE, cell sky130_fd_sc_hd__nand2_1 +Instructions: - P device (sky130_fd_pr__pfet_01v8_lvt): 1.00um wide, 0.15um long - N device (sky130_fd_pr__nfet_01v8): 0.65um wide, 0.15um long + This script has already been run and the parameter files generated, + so that they can simply be installed into libs.tech/irsim/. If + you want to regenerate all of the parameter files, then do: - Using 50fF for loading cap (essentially irrelevant) + run_all.py -Writing these values into "config.txt" (but not using). + and everything should be automatically handled. File + "circuit_template.spi" assumes that the PDK is already installed + in ${PDK_ROOT)=/usr/share/pdk, so modify this file if open_pdks + has been configured to install into a different location. -Copy "ckt.spi" to local directory -Substitute values by hand (obvious) -Use ".lib" to get models (sky130.lib.spice) with corner "tt" -Convert "M" to "X" on devices. -Changed voltage source on ground to 0.01 ohm resistor because ngspice -doesn't like shorted voltage sources. +------------------------------------------------------------------------ +NOTES: +------------------------------------------------------------------------ -Added ".save all". +The script generally follows the instructions for generating a parameter +file found on the IRSIM web page at opencircuitdesign.com. The exception +is for the "dynamic-high" resistance for nFET devices and the +"dynamic-low" resistance for pFET devices. These values are very rarely +used, since nFETs pulling a net high or pFETs pulling a net low are not +often used in CMOS circuits (typically found in hysteretic buffers or +certain kinds of low-transistor-count XOR gates). Since the devices are +not in saturation in these situations, a resistance is a poor model for +the device. As such, probably any value is as good as any other. The +(arbitrary) method used is to find the time that it takes for the signal +to reach 80% of the final value in the simulation (where the transistor +is in deep subthreshold), and extrapolate the time to reach half of Vdd. +This results (when divided by the load capacitance) in a resistance value +that is in a sane intermediate range and suffices for simulation purposes. -Spice models are in +The template netlist does all measurements internally to ngspice, so there +is no need for a post-processing tool such as the one included in the +IRSIM repository to generate the resistance outputs, and raw SPICE output +files are not generated. The python script collects ngspice output and +uses it to generate the IRSIM parameter files. - ~/projects/efabless/tech/SW/sky130A/libs.tech/ngspice/sky130.lib.spice +Parameter files are generated for nominal voltage and nominal voltage ++/- 10%, temperatures at -40, 27, and 125 degrees C, and at slow, fast, +and typical corners. Voltages in the parameter filename are shown as +"high", "low", and "nom", since the parameter file contains both 1.8V +and 3.3V transistors. -Note that the raw file reader expects an ASCII raw file, which in ngspice -requires in ".spiceinit": +Spice models are included into a testbench netlist from: - set filetype=ascii + ${PDK_ROOT}/sky130A/libs.tech/ngspice/sky130.lib.spice -Running: +Basic parameters in the header: - ngspice -b -r spi.out ckt.spi - -Do *not* use "-n" because that suppresses the reading of the .spiceinit file. - -Run: - - ./findr -c 100 -n 0.8,0.18 -p 1.0,0.18 spi.out |& tee resists - -Had to change "findr.c" to replace "vdd" with "v(vdd)" and the same for all -the vouts. - -Success! - -Now: Redo this at all nine corners for low-typ-high voltage and low-typ-high temp. - -Add header. sky130 gate thickness, from sky130_fd_pr__nfet_01v8 model is 4.15E-9 m, -so: +sky130 gate thickness, from sky130_fd_pr__nfet_01v8 model is 4.15E-9 m, so: Cox = Eox / Tox = 8.854E-12 F/m * 3.9 / 4.15E-9 = 8.32E-3 F/m^2 = pF/um^2 -The other cap values need to be looked up and corrected. . . +Transistor devices characterized for IRSIM: -NOTE: 2/7/2022: Added "device" lines to header.txt for compability between the -subcircuit devices used by the sky130 process, and IRSIM version 9.7.113, which -adds the parsing for the new "device" syntax in the parameter file. + sky130_fd_pr__nfet_01v8 + sky130_fd_pr__nfet_01v8_lvt + sky130_fd_pr__pfet_01v8 + sky130_fd_pr__pfet_01v8_lvt + sky130_fd_pr__pfet_01v8_hvt + sky130_fd_pr__special_nfet_latch + sky130_fd_pr__special_nfet_pass + sky130_fd_pr__special_pfet_pass + sky130_fd_pr__pfet_g5v0d10v5 + sky130_fd_pr__nfet_g5v0d10v5 + sky130_fd_pr__nfet_05v0_nvt + +Transistor devices *not* characterized for IRSIM: + + sky130_fd_pr__pfet_01v8_mvt + sky130_fd_pr__nfet_03v3_nvt + sky130_fd_pr__nfet_01v8_nvt + sky130_fd_pr__nfet_20v0_nvt + sky130_fd_pr__nfet_20v0 + sky130_fd_pr__pfet_20v0 + sky130_fd_pr__esd_nfet_g5v0d10v5 + sky130_fd_pr__esd_pfet_g5v0d10v5 +
diff --git a/sky130/irsim/circuit_template.spi b/sky130/irsim/circuit_template.spi new file mode 100644 index 0000000..3ee095d --- /dev/null +++ b/sky130/irsim/circuit_template.spi
@@ -0,0 +1,116 @@ +* +* spice test file template for generating .prm files. +* +* Make appropriate variable name substitutions: +* +* Process corner = CORNER +* Power supply voltage = FULL_VOLTAGE +* Half power supply voltage = HALF_VOLTAGE +* N-type FET device name = DEVICENAME_N +* P-type FET device name = DEVICENAME_P +* Width of N-type FET = WIDTH_N +* Width of P-type FET = WIDTH_P +* Length of N-type FET = LENGTH_N +* Length of P-type FET = LENGTH_P +* Load capacitance (in fF) = LOADCAP +* +.lib /usr/share/pdk/sky130A/libs.tech/ngspice/sky130.lib.spice CORNER +* +.option TEMP=TEMPERATURE +* +* out1 - Output of Inverter to measure step response. +* +X0 out1 in1 GND GND DEVICENAME_N L=LENGTH_N W=WIDTH_N +X1 out1 in1 VDD VDD DEVICENAME_P L=LENGTH_P W=WIDTH_P +* +* out2 - Output of Inverter driven by out1 to determine slow-input effect. +* +X6 out2 out1 GND GND DEVICENAME_N L=LENGTH_N W=WIDTH_N +X7 out2 out1 VDD VDD DEVICENAME_P L=LENGTH_P W=WIDTH_P +* +* out3 - Output of a DEVICENAME_N pulling up to determine dynamic-high resistance. +* +X2 out3 in2 VDD GND DEVICENAME_N L=LENGTH_N W=WIDTH_N +* +* out4 - Output of a DEVICENAME_P pulling down to determine dynamic-low resistance. +* +X3 out4 in3 GND VDD DEVICENAME_P L=LENGTH_P W=WIDTH_P +* +* loading capacitors +* +C0 out1 GND LOADCAPf +C1 out2 GND LOADCAPf +C2 out3 GND LOADCAPf +C3 out4 GND LOADCAPf + +VDD VDD 0 DC FULL_VOLTAGE +* VGnd GND 0 DC 0 +RGnd GND 0 0.01 +Vmid mid 0 DC HALF_VOLTAGE + +Vin1 in1 0 0 pwl (0ns 0 0.1ns FULL_VOLTAGE 40ns FULL_VOLTAGE 40.1ns 0) +Vin2 in2 0 0 pwl (0ns 0 0.1ns FULL_VOLTAGE) +Vin3 in3 0 5 pwl (0ns FULL_VOLTAGE 0.1ns 0) + +.ic V(out4)=FULL_VOLTAGE + +.control +tran 0.01ns 80ns +* Measure when input signal crosses half Vdd (rising) +meas tran tr when V(in1)=HALF_VOLTAGE rise=1 +* Measure when input signal crosses half Vdd (falling) +meas tran tf when V(in1)=HALF_VOLTAGE fall=1 +* Measure when first output falls to half Vdd +meas tran t1hl when V(out1)=HALF_VOLTAGE fall=1 +* Measure when first output rises to half Vdd +meas tran t1lh when V(out1)=HALF_VOLTAGE rise=1 +* Measure when second output rises to half Vdd +meas tran t2lh when V(out2)=HALF_VOLTAGE rise=1 +* Measure when second output falls to half Vdd +meas tran t2hl when V(out2)=HALF_VOLTAGE fall=1 + +* NOTE: An nFET driving a node high and a pFET driving a node +* low are not in saturation and there is no value of R that is +* appropriate. However, this configuration is rarely used in +* CMOS circuits. Find the value at the end of the simulation, +* compute 80% that value, and extrapolate the rise time. +meas tran tr2 when V(in2)=HALF_VOLTAGE rise=1 +meas tran tor2 max V(out3) +let tr2h=tor2*0.8 +meas tran tnr1 when V(out3)=tr2h rise=1 +let tnr=tnr1*(HALF_VOLTAGE/tr2h) + +meas tran tf2 when V(in3)=HALF_VOLTAGE fall=1 +meas tran tof2 min V(out4) +let tf2h=FULL_VOLTAGE-(FULL_VOLTAGE-tof2)*0.8 +meas tran tpf1 when V(out4)=tf2h fall=1 +let tpf=tpf1*(tf2h/HALF_VOLTAGE) + +* Compute rise and fall times +let out1_tphl=t1hl-tr +let out1_tplh=t1lh-tf +let out2_tphl=t2hl-t1lh +let out2_tplh=t2lh-t1hl +let out3_tplh=tnr-tr2 +let out4_tphl=tpf-tf2 + +* Compute dynamic and static resistances +let ndynl=out1_tphl/LOADCAPf +let pdynh=out1_tplh/LOADCAPf +let nstat=(out2_tphl*out2_tphl-out1_tphl*out1_tphl)/(out1_tplh*LOADCAPf) +let pstat=(out2_tplh*out2_tplh-out1_tplh*out1_tplh)/(out1_tphl*LOADCAPf) +let ndynh=out3_tplh/LOADCAPf +let pdynl=out4_tphl/LOADCAPf + +* Output values +print ndynl +print ndynh +print nstat +print pdynl +print pdynh +print pstat + +quit + +.endc +.end
diff --git a/sky130/irsim/ckt_1v62_125.spi b/sky130/irsim/ckt_1v62_125.spi deleted file mode 100644 index 58d0137..0000000 --- a/sky130/irsim/ckt_1v62_125.spi +++ /dev/null
@@ -1,48 +0,0 @@ -* -* spice test file for generating .prm files. -* -.lib /home/tim/projects/efabless/tech/SW/sky130A/libs.tech/ngspice/sky130.lib.spice tt -* -.option TEMP=125 -* -* out1 - Output of Inverter to measure step response. -* -X0 out1 in1 GND GND sky130_fd_pr__nfet_01v8 L=0.15u W=0.65u -X1 out1 in1 VDD VDD sky130_fd_pr__pfet_01v8_lvt L=0.15u W=1.0u -* -* out2 - Output of Inverter driven by out1 to determine slow-input effect. -* -X6 out2 out1 GND GND sky130_fd_pr__nfet_01v8 L=0.15u W=0.65u -X7 out2 out1 VDD VDD sky130_fd_pr__pfet_01v8_lvt L=0.15u W=1.0u -* -* out3 - Output of an nfet_01v8 pulling up to determine dynamic-high resistance. -* -X2 out3 in2 VDD GND sky130_fd_pr__nfet_01v8 L=0.15u W=0.65u -* -* out4 - Output of a pfet_01v8_lvt pulling down to determine dynamic-low resistance. -* -X3 out4 in3 GND VDD sky130_fd_pr__pfet_01v8_lvt L=0.15u W=1.0u -* -* loading capacitors -* -C0 out1 GND 50f -C1 out2 GND 50f -C2 out3 GND 50f -C3 out4 GND 50f - -VDD VDD 0 DC 1.62 -* VGnd GND 0 DC 0 -RGnd GND 0 0.01 -Vmid mid 0 DC 0.9 - -Vin1 in1 0 0 pwl (0ns 0 0.1ns 1.62 40ns 1.62 40.1ns 0) -Vin2 in2 0 0 pwl (0ns 0 0.1ns 1.62) -Vin3 in3 0 5 pwl (0ns 1.62 0.1ns 0) - -.ic V(out4)=1.62 - -.tran 0.01ns 80ns - -.save all - -.end
diff --git a/sky130/irsim/ckt_1v62_27.spi b/sky130/irsim/ckt_1v62_27.spi deleted file mode 100644 index c2b9141..0000000 --- a/sky130/irsim/ckt_1v62_27.spi +++ /dev/null
@@ -1,49 +0,0 @@ -* -* spice test file for generating .prm files. -* -.lib /home/tim/projects/efabless/tech/XFAB/EFXH018D/libs.tech/models/lpmos/param.lib 3s -.lib /home/tim/projects/efabless/tech/XFAB/EFXH018D/libs.tech/models/lpmos/xh018.lib tm -* -.option TEMP=27 -* -* out1 - Output of Inverter to measure step response. -* -X0 out1 in1 GND GND ne L=0.18u W=0.8u -X1 out1 in1 VDD VDD pe L=0.18u W=1.0u -* -* out2 - Output of Inverter driven by out1 to determine slow-input effect. -* -X6 out2 out1 GND GND ne L=0.18u W=0.8u -X7 out2 out1 VDD VDD pe L=0.18u W=1.0u -* -* out3 - Output of a ne pulling up to determine dynamic-high resistance. -* -X2 out3 in2 VDD GND ne L=0.18u W=0.8u -* -* out4 - Output of a pe pulling down to determine dynamic-low resistance. -* -X3 out4 in3 GND VDD pe L=0.18u W=1.0u -* -* loading capacitors -* -C0 out1 GND 50f -C1 out2 GND 50f -C2 out3 GND 50f -C3 out4 GND 50f - -VDD VDD 0 DC 1.62 -* VGnd GND 0 DC 0 -RGnd GND 0 0.01 -Vmid mid 0 DC 0.9 - -Vin1 in1 0 0 pwl (0ns 0 0.1ns 1.62 40ns 1.62 40.1ns 0) -Vin2 in2 0 0 pwl (0ns 0 0.1ns 1.62) -Vin3 in3 0 5 pwl (0ns 1.62 0.1ns 0) - -.ic V(out4)=1.62 - -.tran 0.01ns 80ns - -.save all - -.end
diff --git a/sky130/irsim/ckt_1v62_n40.spi b/sky130/irsim/ckt_1v62_n40.spi deleted file mode 100644 index 97cb4ac..0000000 --- a/sky130/irsim/ckt_1v62_n40.spi +++ /dev/null
@@ -1,49 +0,0 @@ -* -* spice test file for generating .prm files. -* -.lib /home/tim/projects/efabless/tech/XFAB/EFXH018D/libs.tech/models/lpmos/param.lib 3s -.lib /home/tim/projects/efabless/tech/XFAB/EFXH018D/libs.tech/models/lpmos/xh018.lib tm -* -.option TEMP=-40 -* -* out1 - Output of Inverter to measure step response. -* -X0 out1 in1 GND GND ne L=0.18u W=0.8u -X1 out1 in1 VDD VDD pe L=0.18u W=1.0u -* -* out2 - Output of Inverter driven by out1 to determine slow-input effect. -* -X6 out2 out1 GND GND ne L=0.18u W=0.8u -X7 out2 out1 VDD VDD pe L=0.18u W=1.0u -* -* out3 - Output of a ne pulling up to determine dynamic-high resistance. -* -X2 out3 in2 VDD GND ne L=0.18u W=0.8u -* -* out4 - Output of a pe pulling down to determine dynamic-low resistance. -* -X3 out4 in3 GND VDD pe L=0.18u W=1.0u -* -* loading capacitors -* -C0 out1 GND 10f -C1 out2 GND 10f -C2 out3 GND 10f -C3 out4 GND 10f - -VDD VDD 0 DC 1.62 -* VGnd GND 0 DC 0 -RGnd GND 0 0.01 -Vmid mid 0 DC 0.9 - -Vin1 in1 0 0 pwl (0ns 0 0.1ns 1.62 40ns 1.62 40.1ns 0) -Vin2 in2 0 0 pwl (0ns 0 0.1ns 1.62) -Vin3 in3 0 5 pwl (0ns 1.62 0.1ns 0) - -.ic V(out4)=1.62 - -.tran 0.01ns 80ns - -.save all - -.end
diff --git a/sky130/irsim/ckt_1v62_n5.spi b/sky130/irsim/ckt_1v62_n5.spi deleted file mode 100644 index 7c709f5..0000000 --- a/sky130/irsim/ckt_1v62_n5.spi +++ /dev/null
@@ -1,49 +0,0 @@ -* -* spice test file for generating .prm files. -* -.lib /home/tim/projects/efabless/tech/XFAB/EFXH018D/libs.tech/models/lpmos/param.lib 3s -.lib /home/tim/projects/efabless/tech/XFAB/EFXH018D/libs.tech/models/lpmos/xh018.lib tm -* -.option TEMP=-5 -* -* out1 - Output of Inverter to measure step response. -* -X0 out1 in1 GND GND ne L=0.18u W=0.8u -X1 out1 in1 VDD VDD pe L=0.18u W=1.0u -* -* out2 - Output of Inverter driven by out1 to determine slow-input effect. -* -X6 out2 out1 GND GND ne L=0.18u W=0.8u -X7 out2 out1 VDD VDD pe L=0.18u W=1.0u -* -* out3 - Output of a ne pulling up to determine dynamic-high resistance. -* -X2 out3 in2 VDD GND ne L=0.18u W=0.8u -* -* out4 - Output of a pe pulling down to determine dynamic-low resistance. -* -X3 out4 in3 GND VDD pe L=0.18u W=1.0u -* -* loading capacitors -* -C0 out1 GND 10f -C1 out2 GND 10f -C2 out3 GND 10f -C3 out4 GND 10f - -VDD VDD 0 DC 1.62 -* VGnd GND 0 DC 0 -RGnd GND 0 0.01 -Vmid mid 0 DC 0.9 - -Vin1 in1 0 0 pwl (0ns 0 0.1ns 1.62 40ns 1.62 40.1ns 0) -Vin2 in2 0 0 pwl (0ns 0 0.1ns 1.62) -Vin3 in3 0 5 pwl (0ns 1.62 0.1ns 0) - -.ic V(out4)=1.62 - -.tran 0.01ns 80ns - -.save all - -.end
diff --git a/sky130/irsim/ckt_1v80_125.spi b/sky130/irsim/ckt_1v80_125.spi deleted file mode 100644 index 5b776d0..0000000 --- a/sky130/irsim/ckt_1v80_125.spi +++ /dev/null
@@ -1,49 +0,0 @@ -* -* spice test file for generating .prm files. -* -.lib /home/tim/projects/efabless/tech/XFAB/EFXH018D/libs.tech/models/lpmos/param.lib 3s -.lib /home/tim/projects/efabless/tech/XFAB/EFXH018D/libs.tech/models/lpmos/xh018.lib tm -* -.option TEMP=125 -* -* out1 - Output of Inverter to measure step response. -* -X0 out1 in1 GND GND ne L=0.18u W=0.8u -X1 out1 in1 VDD VDD pe L=0.18u W=1.0u -* -* out2 - Output of Inverter driven by out1 to determine slow-input effect. -* -X6 out2 out1 GND GND ne L=0.18u W=0.8u -X7 out2 out1 VDD VDD pe L=0.18u W=1.0u -* -* out3 - Output of a ne pulling up to determine dynamic-high resistance. -* -X2 out3 in2 VDD GND ne L=0.18u W=0.8u -* -* out4 - Output of a pe pulling down to determine dynamic-low resistance. -* -X3 out4 in3 GND VDD pe L=0.18u W=1.0u -* -* loading capacitors -* -C0 out1 GND 50f -C1 out2 GND 50f -C2 out3 GND 50f -C3 out4 GND 50f - -VDD VDD 0 DC 1.8 -* VGnd GND 0 DC 0 -RGnd GND 0 0.01 -Vmid mid 0 DC 0.9 - -Vin1 in1 0 0 pwl (0ns 0 0.1ns 1.8 40ns 1.8 40.1ns 0) -Vin2 in2 0 0 pwl (0ns 0 0.1ns 1.8) -Vin3 in3 0 5 pwl (0ns 1.8 0.1ns 0) - -.ic V(out4)=1.8 - -.tran 0.01ns 80ns - -.save all - -.end
diff --git a/sky130/irsim/ckt_1v80_27.spi b/sky130/irsim/ckt_1v80_27.spi deleted file mode 100644 index 547d667..0000000 --- a/sky130/irsim/ckt_1v80_27.spi +++ /dev/null
@@ -1,49 +0,0 @@ -* -* spice test file for generating .prm files. -* -.lib /home/tim/projects/efabless/tech/XFAB/EFXH018D/libs.tech/models/lpmos/param.lib 3s -.lib /home/tim/projects/efabless/tech/XFAB/EFXH018D/libs.tech/models/lpmos/xh018.lib tm -* -.option TEMP=27 -* -* out1 - Output of Inverter to measure step response. -* -X0 out1 in1 GND GND ne L=0.18u W=0.8u -X1 out1 in1 VDD VDD pe L=0.18u W=1.0u -* -* out2 - Output of Inverter driven by out1 to determine slow-input effect. -* -X6 out2 out1 GND GND ne L=0.18u W=0.8u -X7 out2 out1 VDD VDD pe L=0.18u W=1.0u -* -* out3 - Output of a ne pulling up to determine dynamic-high resistance. -* -X2 out3 in2 VDD GND ne L=0.18u W=0.8u -* -* out4 - Output of a pe pulling down to determine dynamic-low resistance. -* -X3 out4 in3 GND VDD pe L=0.18u W=1.0u -* -* loading capacitors -* -C0 out1 GND 50f -C1 out2 GND 50f -C2 out3 GND 50f -C3 out4 GND 50f - -VDD VDD 0 DC 1.8 -* VGnd GND 0 DC 0 -RGnd GND 0 0.01 -Vmid mid 0 DC 0.9 - -Vin1 in1 0 0 pwl (0ns 0 0.1ns 1.8 40ns 1.8 40.1ns 0) -Vin2 in2 0 0 pwl (0ns 0 0.1ns 1.8) -Vin3 in3 0 5 pwl (0ns 1.8 0.1ns 0) - -.ic V(out4)=1.8 - -.tran 0.01ns 80ns - -.save all - -.end
diff --git a/sky130/irsim/ckt_1v80_n40.spi b/sky130/irsim/ckt_1v80_n40.spi deleted file mode 100644 index 4deccb6..0000000 --- a/sky130/irsim/ckt_1v80_n40.spi +++ /dev/null
@@ -1,49 +0,0 @@ -* -* spice test file for generating .prm files. -* -.lib /home/tim/projects/efabless/tech/XFAB/EFXH018D/libs.tech/models/lpmos/param.lib 3s -.lib /home/tim/projects/efabless/tech/XFAB/EFXH018D/libs.tech/models/lpmos/xh018.lib tm -* -.option TEMP=-40 -* -* out1 - Output of Inverter to measure step response. -* -X0 out1 in1 GND GND ne L=0.18u W=0.8u -X1 out1 in1 VDD VDD pe L=0.18u W=1.0u -* -* out2 - Output of Inverter driven by out1 to determine slow-input effect. -* -X6 out2 out1 GND GND ne L=0.18u W=0.8u -X7 out2 out1 VDD VDD pe L=0.18u W=1.0u -* -* out3 - Output of a ne pulling up to determine dynamic-high resistance. -* -X2 out3 in2 VDD GND ne L=0.18u W=0.8u -* -* out4 - Output of a pe pulling down to determine dynamic-low resistance. -* -X3 out4 in3 GND VDD pe L=0.18u W=1.0u -* -* loading capacitors -* -C0 out1 GND 50f -C1 out2 GND 50f -C2 out3 GND 50f -C3 out4 GND 50f - -VDD VDD 0 DC 1.8 -* VGnd GND 0 DC 0 -RGnd GND 0 0.01 -Vmid mid 0 DC 0.9 - -Vin1 in1 0 0 pwl (0ns 0 0.1ns 1.8 40ns 1.8 40.1ns 0) -Vin2 in2 0 0 pwl (0ns 0 0.1ns 1.8) -Vin3 in3 0 5 pwl (0ns 1.8 0.1ns 0) - -.ic V(out4)=1.8 - -.tran 0.01ns 80ns - -.save all - -.end
diff --git a/sky130/irsim/ckt_1v80_n5.spi b/sky130/irsim/ckt_1v80_n5.spi deleted file mode 100644 index 6e3982f..0000000 --- a/sky130/irsim/ckt_1v80_n5.spi +++ /dev/null
@@ -1,49 +0,0 @@ -* -* spice test file for generating .prm files. -* -.lib /home/tim/projects/efabless/tech/XFAB/EFXH018D/libs.tech/models/lpmos/param.lib 3s -.lib /home/tim/projects/efabless/tech/XFAB/EFXH018D/libs.tech/models/lpmos/xh018.lib tm -* -.option TEMP=-5 -* -* out1 - Output of Inverter to measure step response. -* -X0 out1 in1 GND GND ne L=0.18u W=0.8u -X1 out1 in1 VDD VDD pe L=0.18u W=1.0u -* -* out2 - Output of Inverter driven by out1 to determine slow-input effect. -* -X6 out2 out1 GND GND ne L=0.18u W=0.8u -X7 out2 out1 VDD VDD pe L=0.18u W=1.0u -* -* out3 - Output of a ne pulling up to determine dynamic-high resistance. -* -X2 out3 in2 VDD GND ne L=0.18u W=0.8u -* -* out4 - Output of a pe pulling down to determine dynamic-low resistance. -* -X3 out4 in3 GND VDD pe L=0.18u W=1.0u -* -* loading capacitors -* -C0 out1 GND 50f -C1 out2 GND 50f -C2 out3 GND 50f -C3 out4 GND 50f - -VDD VDD 0 DC 1.8 -* VGnd GND 0 DC 0 -RGnd GND 0 0.01 -Vmid mid 0 DC 0.9 - -Vin1 in1 0 0 pwl (0ns 0 0.1ns 1.8 40ns 1.8 40.1ns 0) -Vin2 in2 0 0 pwl (0ns 0 0.1ns 1.8) -Vin3 in3 0 5 pwl (0ns 1.8 0.1ns 0) - -.ic V(out4)=1.8 - -.tran 0.01ns 80ns - -.save all - -.end
diff --git a/sky130/irsim/ckt_1v98_125.spi b/sky130/irsim/ckt_1v98_125.spi deleted file mode 100644 index 3ceed73..0000000 --- a/sky130/irsim/ckt_1v98_125.spi +++ /dev/null
@@ -1,49 +0,0 @@ -* -* spice test file for generating .prm files. -* -.lib /home/tim/projects/efabless/tech/XFAB/EFXH018D/libs.tech/models/lpmos/param.lib 3s -.lib /home/tim/projects/efabless/tech/XFAB/EFXH018D/libs.tech/models/lpmos/xh018.lib tm -* -.option TEMP=125 -* -* out1 - Output of Inverter to measure step response. -* -X0 out1 in1 GND GND ne L=0.18u W=0.8u -X1 out1 in1 VDD VDD pe L=0.18u W=1.0u -* -* out2 - Output of Inverter driven by out1 to determine slow-input effect. -* -X6 out2 out1 GND GND ne L=0.18u W=0.8u -X7 out2 out1 VDD VDD pe L=0.18u W=1.0u -* -* out3 - Output of a ne pulling up to determine dynamic-high resistance. -* -X2 out3 in2 VDD GND ne L=0.18u W=0.8u -* -* out4 - Output of a pe pulling down to determine dynamic-low resistance. -* -X3 out4 in3 GND VDD pe L=0.18u W=1.0u -* -* loading capacitors -* -C0 out1 GND 50f -C1 out2 GND 50f -C2 out3 GND 50f -C3 out4 GND 50f - -VDD VDD 0 DC 1.98 -* VGnd GND 0 DC 0 -RGnd GND 0 0.01 -Vmid mid 0 DC 0.9 - -Vin1 in1 0 0 pwl (0ns 0 0.1ns 1.98 40ns 1.98 40.1ns 0) -Vin2 in2 0 0 pwl (0ns 0 0.1ns 1.98) -Vin3 in3 0 5 pwl (0ns 1.98 0.1ns 0) - -.ic V(out4)=1.98 - -.tran 0.01ns 80ns - -.save all - -.end
diff --git a/sky130/irsim/ckt_1v98_27.spi b/sky130/irsim/ckt_1v98_27.spi deleted file mode 100644 index 779a48b..0000000 --- a/sky130/irsim/ckt_1v98_27.spi +++ /dev/null
@@ -1,49 +0,0 @@ -* -* spice test file for generating .prm files. -* -.lib /home/tim/projects/efabless/tech/XFAB/EFXH018D/libs.tech/models/lpmos/param.lib 3s -.lib /home/tim/projects/efabless/tech/XFAB/EFXH018D/libs.tech/models/lpmos/xh018.lib tm -* -.option TEMP=27 -* -* out1 - Output of Inverter to measure step response. -* -X0 out1 in1 GND GND ne L=0.18u W=0.8u -X1 out1 in1 VDD VDD pe L=0.18u W=1.0u -* -* out2 - Output of Inverter driven by out1 to determine slow-input effect. -* -X6 out2 out1 GND GND ne L=0.18u W=0.8u -X7 out2 out1 VDD VDD pe L=0.18u W=1.0u -* -* out3 - Output of a ne pulling up to determine dynamic-high resistance. -* -X2 out3 in2 VDD GND ne L=0.18u W=0.8u -* -* out4 - Output of a pe pulling down to determine dynamic-low resistance. -* -X3 out4 in3 GND VDD pe L=0.18u W=1.0u -* -* loading capacitors -* -C0 out1 GND 50f -C1 out2 GND 50f -C2 out3 GND 50f -C3 out4 GND 50f - -VDD VDD 0 DC 1.98 -* VGnd GND 0 DC 0 -RGnd GND 0 0.01 -Vmid mid 0 DC 0.9 - -Vin1 in1 0 0 pwl (0ns 0 0.1ns 1.98 40ns 1.98 40.1ns 0) -Vin2 in2 0 0 pwl (0ns 0 0.1ns 1.98) -Vin3 in3 0 5 pwl (0ns 1.98 0.1ns 0) - -.ic V(out4)=1.98 - -.tran 0.01ns 80ns - -.save all - -.end
diff --git a/sky130/irsim/ckt_1v98_n40.spi b/sky130/irsim/ckt_1v98_n40.spi deleted file mode 100644 index 2186b28..0000000 --- a/sky130/irsim/ckt_1v98_n40.spi +++ /dev/null
@@ -1,49 +0,0 @@ -* -* spice test file for generating .prm files. -* -.lib /home/tim/projects/efabless/tech/XFAB/EFXH018D/libs.tech/models/lpmos/param.lib 3s -.lib /home/tim/projects/efabless/tech/XFAB/EFXH018D/libs.tech/models/lpmos/xh018.lib tm -* -.option TEMP=-40 -* -* out1 - Output of Inverter to measure step response. -* -X0 out1 in1 GND GND ne L=0.18u W=0.8u -X1 out1 in1 VDD VDD pe L=0.18u W=1.0u -* -* out2 - Output of Inverter driven by out1 to determine slow-input effect. -* -X6 out2 out1 GND GND ne L=0.18u W=0.8u -X7 out2 out1 VDD VDD pe L=0.18u W=1.0u -* -* out3 - Output of a ne pulling up to determine dynamic-high resistance. -* -X2 out3 in2 VDD GND ne L=0.18u W=0.8u -* -* out4 - Output of a pe pulling down to determine dynamic-low resistance. -* -X3 out4 in3 GND VDD pe L=0.18u W=1.0u -* -* loading capacitors -* -C0 out1 GND 50f -C1 out2 GND 50f -C2 out3 GND 50f -C3 out4 GND 50f - -VDD VDD 0 DC 1.98 -* VGnd GND 0 DC 0 -RGnd GND 0 0.01 -Vmid mid 0 DC 0.9 - -Vin1 in1 0 0 pwl (0ns 0 0.1ns 1.98 40ns 1.98 40.1ns 0) -Vin2 in2 0 0 pwl (0ns 0 0.1ns 1.98) -Vin3 in3 0 5 pwl (0ns 1.98 0.1ns 0) - -.ic V(out4)=1.98 - -.tran 0.01ns 80ns - -.save all - -.end
diff --git a/sky130/irsim/ckt_1v98_n5.spi b/sky130/irsim/ckt_1v98_n5.spi deleted file mode 100644 index ced2f12..0000000 --- a/sky130/irsim/ckt_1v98_n5.spi +++ /dev/null
@@ -1,49 +0,0 @@ -* -* spice test file for generating .prm files. -* -.lib /home/tim/projects/efabless/tech/XFAB/EFXH018D/libs.tech/models/lpmos/param.lib 3s -.lib /home/tim/projects/efabless/tech/XFAB/EFXH018D/libs.tech/models/lpmos/xh018.lib tm -* -.option TEMP=-5 -* -* out1 - Output of Inverter to measure step response. -* -X0 out1 in1 GND GND ne L=0.18u W=0.8u -X1 out1 in1 VDD VDD pe L=0.18u W=1.0u -* -* out2 - Output of Inverter driven by out1 to determine slow-input effect. -* -X6 out2 out1 GND GND ne L=0.18u W=0.8u -X7 out2 out1 VDD VDD pe L=0.18u W=1.0u -* -* out3 - Output of a ne pulling up to determine dynamic-high resistance. -* -X2 out3 in2 VDD GND ne L=0.18u W=0.8u -* -* out4 - Output of a pe pulling down to determine dynamic-low resistance. -* -X3 out4 in3 GND VDD pe L=0.18u W=1.0u -* -* loading capacitors -* -C0 out1 GND 50f -C1 out2 GND 50f -C2 out3 GND 50f -C3 out4 GND 50f - -VDD VDD 0 DC 1.98 -* VGnd GND 0 DC 0 -RGnd GND 0 0.01 -Vmid mid 0 DC 0.9 - -Vin1 in1 0 0 pwl (0ns 0 0.1ns 1.98 40ns 1.98 40.1ns 0) -Vin2 in2 0 0 pwl (0ns 0 0.1ns 1.98) -Vin3 in3 0 5 pwl (0ns 1.98 0.1ns 0) - -.ic V(out4)=1.98 - -.tran 0.01ns 80ns - -.save all - -.end
diff --git a/sky130/irsim/config.txt b/sky130/irsim/config.txt deleted file mode 100644 index 4fd6813..0000000 --- a/sky130/irsim/config.txt +++ /dev/null
@@ -1,8 +0,0 @@ -# -set pwith = 1.0 # width of p-device in um -set plen = 0.15 # length of p-device in um -set nwith = 0.65 # width of n-device in um -set nlen = 0.15 # length of n-device in um -set cap = 50 # loading capacitance in fF - -
diff --git a/sky130/irsim/findr b/sky130/irsim/findr deleted file mode 100755 index 08b2b15..0000000 --- a/sky130/irsim/findr +++ /dev/null Binary files differ
diff --git a/sky130/irsim/getres b/sky130/irsim/getres deleted file mode 100755 index 113ebec..0000000 --- a/sky130/irsim/getres +++ /dev/null
@@ -1,60 +0,0 @@ -#! /bin/csh - -set spice = /usr/local/bin/ngspice - -if( $#argv != 3 ) then - echo "usage: getres nmodel_file pmodel_file dev_file" - exit 1 -endif - -if( ! -f $1 ) then - echo "can't open spice nfet model file '"$1"'" - exit 1 -endif - -if( ! -f $2 ) then - echo "can't open spice pfet model file '"$2"'" - exit 1 -endif - -if( -f $argv[3] ) then - source $argv[3] -else - echo "can't open device configuration file '"$argv[3]"'" - exit 1 -endif - -set nmos = `grep -i "\.MODEL" $1 | grep -i NMOS` -set pmos = `grep -i "\.MODEL" $1 | grep -i PMOS` - -if( $#nmos == 0 ) then - echo "can't find nmos .MODEL card in '"$1"'" - exit 1 -endif -if( $#pmos == 0 ) then - echo "can't find pmos .MODEL card in '"$1"'" - exit 1 -endif - -cat $1 ckt.spi > tmp.spi - -ed - <<end tmp.spi >& /dev/null -g/N_FET/s/N_FET/$nmos[2]/g -g/P_FET/s/P_FET/$pmos[2]/g -g/C_LOAD/s/C_LOAD/$cap/g -g/N_WITH/s/N_WITH/$nwith/g -g/N_LEN/s/N_LEN/$nlen/g -g/P_WITH/s/P_WITH/$pwith/g -g/P_LEN/s/P_LEN/$plen/g -w -q -end - -$spice -n -b -r spi.out tmp.spi - -if( $status != 0 ) then - echo "something went wrong with spice, look at 'tmp.spi'" - exit 1 -endif - -./findr -c $cap -n $nwith,$nlen -p $pwith,$plen spi.out |& tee resists
diff --git a/sky130/irsim/header.txt b/sky130/irsim/header.txt index 73cccce..60e1dd5 100644 --- a/sky130/irsim/header.txt +++ b/sky130/irsim/header.txt
@@ -21,26 +21,37 @@ device nfet sky130_fd_pr__nfet_01v8 device nfet sky130_fd_pr__nfet_01v8_lvt -device nfet sky130_fd_pr__nfet_g5v0d10v5 device pfet sky130_fd_pr__pfet_01v8 device pfet sky130_fd_pr__pfet_01v8_lvt -device pfet sky130_fd_pr__pfet_01v8_mvt device pfet sky130_fd_pr__pfet_01v8_hvt +device nfet sky130_fd_pr__special_nfet_latch +device nfet sky130_fd_pr__special_nfet_pass +device pfet sky130_fd_pr__special_pfet_pass device pfet sky130_fd_pr__pfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_05v0_nvt + ; Capacitor values are in pF/centimicron^2 device capacitor sky130_fd_pr__cap_mim_m3_1 2.0E-7 device capacitor sky130_fd_pr__cap_mim_m3_2 2.0E-7 + ; Resistor values are in ohms/square device resistor sky130_res_high_po_0p35 320 device resistor sky130_res_high_po_0p69 320 device resistor sky130_res_high_po_1p41 320 device resistor sky130_res_high_po_2p85 320 device resistor sky130_res_high_po_5p73 320 +device resistor sky130_res_high_po 320 device resistor sky130_res_xhigh_po_0p35 2000 device resistor sky130_res_xhigh_po_0p69 2000 device resistor sky130_res_xhigh_po_1p41 2000 device resistor sky130_res_xhigh_po_2p85 2000 device resistor sky130_res_xhigh_po_5p73 2000 +device resistor sky130_res_xhigh_po 2000 device resistor sky130_res_generic_nd 120 device resistor sky130_res_generic_pd 197 +; Diode +device diode sky130_fd_pr__diode_pw2nd_05v5 + +; Transistor device parameters
diff --git a/sky130/irsim/resists b/sky130/irsim/resists deleted file mode 100644 index c6111ce..0000000 --- a/sky130/irsim/resists +++ /dev/null
@@ -1,7 +0,0 @@ -resistance n-channel dynamic-high 0.8 0.2 1512.0 -resistance n-channel dynamic-low 0.8 0.2 865.0 -resistance n-channel static 0.8 0.2 1.0 - -resistance p-channel dynamic-high 1.0 0.2 2493.0 -resistance p-channel dynamic-low 1.0 0.2 4062.0 -resistance p-channel static 1.0 0.2 597.0
diff --git a/sky130/irsim/run_all.py b/sky130/irsim/run_all.py new file mode 100755 index 0000000..6d81084 --- /dev/null +++ b/sky130/irsim/run_all.py
@@ -0,0 +1,310 @@ +#!/usr/bin/env python3 +# +# +import os +import re +import sys +import subprocess + +#--------------------------------------------------------------------------- +# usage: run_all.py [-nosim] [-keep] +# +# Run ngspice simulations on all major transistor devices in the process +# (excluding high-voltage > 3V devices) at all corners, and generate +# IRSIM parameter files for each corner. +# +# The "-nosim" option assumes that simulation output files have been +# saved, and will run the parser to generate the parameterf files from +# the existing ngspice output files. +# +# The "-keep" option will retain the ngspice input and output files +# after each parameter file has been generated. Otherwise, they will +# be removed. +#--------------------------------------------------------------------------- + +#--------------------------------------------------------------------------- +# Devices must be paired P and N for each test. There are some redundant +# devices below where one type exists that does not have a corresponding +# device in the opposite type. In cases of redundancy, the first results +# computed will be the ones used for that device. The third item in each +# list is the voltage range to use for the device, and determines which +# voltages are used for max/min/typ simulations. +#--------------------------------------------------------------------------- + +#--------------------------------------------------------------------------- +# NOTE: This method requires IRSIM 9.7.114, which supports multiple +# transistor device parameters and multiple supply voltages. +#--------------------------------------------------------------------------- + +#--------------------------------------------------------------------------- +# To do: Speed this up by using multiprocessing +#--------------------------------------------------------------------------- + +# Parse options + +keep = False +nosim = False + +options = [] +arguments = [] +for item in sys.argv[1:]: + if item.find('-', 0) == 0: + options.append(item) + else: + arguments.append(item) + +if len(arguments) > 0: + print("Usage: run_all.py [-nosim] [-keep]") + sys.exit(1) + +if '-keep' in options: + keep = True + print("Keep mode: Retaining all intermediate files.") + +if '-nosim' in options: + nosim = True + print("No-sim mode: Not running any simulations.") + +if '-help' in options: + print("Usage: run_all.py [-nosim] [-keep]") + sys.exit(0) + +#--------------------------------------------------------------------------- +# Each entry in "devices" list has 9 items: +# [test-text, pFET-name, nFET-name, voltage-range, +# p-length, p-width, n-length, n-width, load-cap] +#--------------------------------------------------------------------------- + +devices = [ + [ + "1.8V devices", + "sky130_fd_pr__pfet_01v8", "sky130_fd_pr__nfet_01v8", + "1v8", 0.15, 1.0, 0.15, 1.0, 250 + ], + [ + "1.8V LVT devices", + "sky130_fd_pr__pfet_01v8_lvt", "sky130_fd_pr__nfet_01v8_lvt", + "1v8", 0.35, 1.0, 0.15, 1.0, 250 + ], + [ + "1.8V HVT pFET", + "sky130_fd_pr__pfet_01v8_hvt", "sky130_fd_pr__nfet_01v8", + "1v8", 0.45, 1.0, 0.15, 1.0, 250 + ], + [ + "SRAM latching FETs", + "sky130_fd_pr__special_pfet_pass", "sky130_fd_pr__special_nfet_latch", + "1v8", 0.15, 0.14, 0.15, 0.21, 100 + ], + [ + "SRAM pass nFET", + "sky130_fd_pr__special_pfet_pass", "sky130_fd_pr__special_nfet_pass", + "1v8", 0.15, 0.14, 0.15, 0.14, 100 + ], + [ + "3.3V devices", + "sky130_fd_pr__pfet_g5v0d10v5", "sky130_fd_pr__nfet_g5v0d10v5", + "3v3", 0.50, 1.0, 0.50, 1.0, 250 + ], + [ + "5.0V native nFET", + "sky130_fd_pr__pfet_g5v0d10v5", "sky130_fd_pr__nfet_05v0_nvt", + "3v3", 0.50, 1.0, 0.90, 1.0, 250 + ] +] + +voltages1v8 = [ 1.62, 1.80, 1.98 ] + +voltages3v3 = [ 2.97, 3.30, 3.63 ] + +vnames = [ 'low', 'nom', 'high' ] + +temps = [ -40, 27, 125 ] + +corners = [ "ss", "tt", "ff" ] + +# Read the parameter file header and save the contents + +header = [] +with open('header.txt', 'r') as ifile: + hlines = ifile.read().splitlines() + +for corner in corners: + for temp in temps: + tname = str(temp).replace('-', 'n') + for vidx in range(0,3): + vname = vnames[vidx] + + generated_files = [] + ndevtypes = [] + pdevtypes = [] + + ndynh = {} + ndynl = {} + pdynh = {} + pdynl = {} + nstat = {} + pstat = {} + + for devidx in range(0, len(devices)): + devicepair = devices[devidx] + devset = devicepair[0] + if len(devicepair) != 9: + print('Error: Bad entry for device set ' + devset + '.\n') + continue + ptype = devicepair[1] + ntype = devicepair[2] + vtype = devicepair[3] + plength = devicepair[4] + pwidth = devicepair[5] + nlength = devicepair[6] + nwidth = devicepair[7] + loadcap = devicepair[8] + + if ntype not in ndevtypes: + ndevtypes.append(ntype) + if ptype not in pdevtypes: + pdevtypes.append(ptype) + + if vtype == '1v8': + volt = voltages1v8[vidx] + else: + volt = voltages3v3[vidx] + + if not nosim: + + # Read template and generate SPICE simulation netlist + newlines = [] + with open('circuit_template.spi', 'r') as ifile: + template = ifile.read().splitlines() + for line in template: + outline = re.sub('CORNER', corner, line) + outline = re.sub('FULL_VOLTAGE', str(volt), outline) + outline = re.sub('HALF_VOLTAGE', str(volt / 2.0), outline) + outline = re.sub('TEMPERATURE', str(temp), outline) + outline = re.sub('DEVICENAME_N', ntype, outline) + outline = re.sub('DEVICENAME_P', ptype, outline) + outline = re.sub('WIDTH_N', str(nwidth), outline) + outline = re.sub('WIDTH_P', str(pwidth), outline) + outline = re.sub('LENGTH_N', str(nlength), outline) + outline = re.sub('LENGTH_P', str(plength), outline) + outline = re.sub('LOADCAP', str(loadcap), outline) + newlines.append(outline) + + simname = 'sky130_' + corner + '_' + vname + '_' + tname + '_devpair' + str(devidx) + '.spice' + + with open(simname, 'w') as ofile: + for line in newlines: + print(line, file=ofile) + + generated_files.append(simname) + + # Run ngspice simulation + + print('** Running simulation on ' + devset + '(file ' + simname + ')') + print('** Conditions: temp=' + tname + ' corner=' + corner + + ' volt=' + vname) + p = subprocess.run(['ngspice', simname], + stdout = subprocess.PIPE, + universal_newlines = True) + + if p.stdout: + parameters = p.stdout.splitlines() + + for parameter in parameters: + valueline = parameter.split() + if len(valueline) < 3: + continue + if valueline[0] == 'ndynh': + try: + ndynh[ntype] + except: + ndynh[ntype] = valueline[2] + elif valueline[0] == 'pdynh': + try: + pdynh[ptype] + except: + pdynh[ptype] = valueline[2] + elif valueline[0] == 'ndynl': + try: + ndynl[ntype] + except: + ndynl[ntype] = valueline[2] + elif valueline[0] == 'pdynl': + try: + pdynl[ptype] + except: + pdynl[ptype] = valueline[2] + elif valueline[0] == 'nstat': + try: + nstat[ntype] + except: + nstat[ntype] = valueline[2] + elif valueline[0] == 'pstat': + try: + pstat[ptype] + except: + pstat[ptype] = valueline[2] + else: + print('** No file ' + outname + '; skipping.') + + paramfile = 'sky130_' + corner + '_' + vname + '_' + tname + '.prm' + + with open(paramfile, 'w') as ofile: + for line in hlines: + print(line, file=ofile) + + # Now output information for every device + print('', file=ofile) + + for device in ndevtypes: + devicepair = next(item for item in devices if item[2] == device) + if not devicepair: + print('Error: Bad entry for nFET device ' + device + '.\n') + continue + devset = devicepair[0] + if len(devicepair) != 9: + print('Error: Bad entry for device set ' + devset + '.\n') + continue + ntype = devicepair[2] + vtype = devicepair[3] + nlength = devicepair[6] + nwidth = devicepair[7] + loadcap = devicepair[8] + + print('; C=' + str(loadcap) + ', N(w=' + str(nwidth) + ', l=' + str(nlength) + ')', file=ofile) + print('resistance ' + ntype + ' dynamic-high ' + str(nwidth) + ' ' + str(nlength) + ' ' + ndynh[ntype], file=ofile) + print('resistance ' + ntype + ' dynamic-low ' + str(nwidth) + ' ' + str(nlength) + ' ' + ndynl[ntype], file=ofile) + print('resistance ' + ntype + ' static ' + str(nwidth) + ' ' + str(nlength) + ' ' + nstat[ntype], file=ofile) + print('', file=ofile) + + for device in pdevtypes: + devicepair = next(item for item in devices if item[1] == device) + if not devicepair: + print('Error: Bad entry for pFET device ' + device + '.\n') + continue + devset = devicepair[0] + if len(devicepair) != 9: + print('Error: Bad entry for device set ' + devset + '.\n') + continue + ptype = devicepair[1] + vtype = devicepair[3] + plength = devicepair[4] + pwidth = devicepair[5] + loadcap = devicepair[8] + + print('; C=' + str(loadcap) + ', P(w=' + str(pwidth) + ', l=' + str(plength) + ')', file=ofile) + print('resistance ' + ptype + ' dynamic-high ' + str(pwidth) + ' ' + str(plength) + ' ' + pdynh[ptype], file=ofile) + print('resistance ' + ptype + ' dynamic-low ' + str(pwidth) + ' ' + str(plength) + ' ' + pdynl[ptype], file=ofile) + print('resistance ' + ptype + ' static ' + str(pwidth) + ' ' + str(plength) + ' ' + pstat[ptype], file=ofile) + print('', file=ofile) + + if not keep: + print('**Removing generated intermediate files.') + for file in generated_files: + try: + os.remove(file) + except: + pass + +sys.exit(0)
diff --git a/sky130/irsim/run_all.sh b/sky130/irsim/run_all.sh deleted file mode 100755 index 5bb7bb1..0000000 --- a/sky130/irsim/run_all.sh +++ /dev/null
@@ -1,50 +0,0 @@ -#!/bin/sh - -# -40C vdd=1.62V -/usr/local/bin/ngspice -b -r spi_1v62_n40.out ckt_1v62_n40.spi -./findr -c 10 -n 0.8,0.18 -p 1.0,0.18 spi_1v62_n40.out |& tee sky130_1v62_n40.prm - -# -40C vdd=1.80V -/usr/local/bin/ngspice -b -r spi_1v80_n40.out ckt_1v80_n40.spi -./findr -c 50 -n 0.8,0.18 -p 1.0,0.18 spi_1v80_n40.out |& tee sky130_1v80_n40.prm - -# -40C vdd=1.98V -/usr/local/bin/ngspice -b -r spi_1v98_n40.out ckt_1v98_n40.spi -./findr -c 50 -n 0.8,0.18 -p 1.0,0.18 spi_1v98_n40.out |& tee sky130_1v98_n40.prm - -# -5C vdd=1.62V -/usr/local/bin/ngspice -b -r spi_1v62_n5.out ckt_1v62_n5.spi -./findr -c 10 -n 0.8,0.18 -p 1.0,0.18 spi_1v62_n5.out |& tee sky130_1v62_n5.prm - -# -5C vdd=1.80V -/usr/local/bin/ngspice -b -r spi_1v80_n5.out ckt_1v80_n5.spi -./findr -c 50 -n 0.8,0.18 -p 1.0,0.18 spi_1v80_n5.out |& tee sky130_1v80_n5.prm - -# -5C vdd=1.98V -/usr/local/bin/ngspice -b -r spi_1v98_n5.out ckt_1v98_n5.spi -./findr -c 50 -n 0.8,0.18 -p 1.0,0.18 spi_1v98_n5.out |& tee sky130_1v98_n5.prm - -# 27C vdd=1.62V -/usr/local/bin/ngspice -b -r spi_1v62_27.out ckt_1v62_27.spi -./findr -c 50 -n 0.8,0.18 -p 1.0,0.18 spi_1v62_27.out |& tee sky130_1v62_27.prm - -# 27C vdd=1.8V -/usr/local/bin/ngspice -b -r spi_1v80_27.out ckt_1v80_27.spi -./findr -c 50 -n 0.8,0.18 -p 1.0,0.18 spi_1v80_27.out |& tee sky130_1v80_27.prm - -# 27C vdd=1.98V -/usr/local/bin/ngspice -b -r spi_1v98_27.out ckt_1v98_27.spi -./findr -c 50 -n 0.8,0.18 -p 1.0,0.18 spi_1v98_27.out |& tee sky130_1v98_27.prm - -# 125C vdd=1.62V -/usr/local/bin/ngspice -b -r spi_1v62_125.out ckt_1v62_125.spi -./findr -c 50 -n 0.8,0.18 -p 1.0,0.18 spi_1v62_125.out |& tee sky130_1v62_125.prm - -# 125C vdd=1.8V -/usr/local/bin/ngspice -b -r spi_1v80_125.out ckt_1v80_125.spi -./findr -c 50 -n 0.8,0.18 -p 1.0,0.18 spi_1v80_125.out |& tee sky130_1v80_125.prm - -# 125C vdd=1.98V -/usr/local/bin/ngspice -b -r spi_1v98_125.out ckt_1v98_125.spi -./findr -c 50 -n 0.8,0.18 -p 1.0,0.18 spi_1v98_125.out |& tee sky130_1v98_125.prm -
diff --git a/sky130/irsim/sky130_1v62_27.prm b/sky130/irsim/sky130_1v62_27.prm deleted file mode 100644 index 111491f..0000000 --- a/sky130/irsim/sky130_1v62_27.prm +++ /dev/null
@@ -1,7 +0,0 @@ -resistance n-channel dynamic-high 0.8 0.2 40227.0 -resistance n-channel dynamic-low 0.8 0.2 3549.0 -resistance n-channel static 0.8 0.2 4518.0 - -resistance p-channel dynamic-high 1.0 0.2 8694.0 -resistance p-channel dynamic-low 1.0 0.2 662526.0 -resistance p-channel static 1.0 0.2 5762.0
diff --git a/sky130/irsim/sky130_1v62_n40.prm b/sky130/irsim/sky130_1v62_n40.prm deleted file mode 100644 index b9245ff..0000000 --- a/sky130/irsim/sky130_1v62_n40.prm +++ /dev/null
@@ -1,7 +0,0 @@ -resistance n-channel dynamic-high 0.8 0.2 108132.0 -resistance n-channel dynamic-low 0.8 0.2 6704.0 -resistance n-channel static 0.8 0.2 2838.0 - -resistance p-channel dynamic-high 1.0 0.2 14294.0 -resistance p-channel dynamic-low 1.0 0.2 5584975.0 -resistance p-channel static 1.0 0.2 -8337.0
diff --git a/sky130/irsim/sky130_1v62_n5.prm b/sky130/irsim/sky130_1v62_n5.prm deleted file mode 100644 index 904231f..0000000 --- a/sky130/irsim/sky130_1v62_n5.prm +++ /dev/null
@@ -1,7 +0,0 @@ -resistance n-channel dynamic-high 0.8 0.2 65335.0 -resistance n-channel dynamic-low 0.8 0.2 6857.0 -resistance n-channel static 0.8 0.2 2987.0 - -resistance p-channel dynamic-high 1.0 0.2 14543.0 -resistance p-channel dynamic-low 1.0 0.2 1684744.0 -resistance p-channel static 1.0 0.2 -7823.0
diff --git a/sky130/irsim/sky130_1v80_125.prm b/sky130/irsim/sky130_1v80_125.prm deleted file mode 100644 index b88a3c5..0000000 --- a/sky130/irsim/sky130_1v80_125.prm +++ /dev/null
@@ -1,7 +0,0 @@ -resistance n-channel dynamic-high 0.8 0.2 14005.0 -resistance n-channel dynamic-low 0.8 0.2 3516.0 -resistance n-channel static 0.8 0.2 3719.0 - -resistance p-channel dynamic-high 1.0 0.2 7852.0 -resistance p-channel dynamic-low 1.0 0.2 73111.0 -resistance p-channel static 1.0 0.2 5295.0
diff --git a/sky130/irsim/sky130_1v80_27.prm b/sky130/irsim/sky130_1v80_27.prm deleted file mode 100644 index 5794946..0000000 --- a/sky130/irsim/sky130_1v80_27.prm +++ /dev/null
@@ -1,7 +0,0 @@ -resistance n-channel dynamic-high 0.8 0.2 18174.0 -resistance n-channel dynamic-low 0.8 0.2 3195.0 -resistance n-channel static 0.8 0.2 3335.0 - -resistance p-channel dynamic-high 1.0 0.2 7482.0 -resistance p-channel dynamic-low 1.0 0.2 204714.0 -resistance p-channel static 1.0 0.2 4204.0
diff --git a/sky130/irsim/sky130_1v80_n40.prm b/sky130/irsim/sky130_1v80_n40.prm deleted file mode 100644 index 896a95a..0000000 --- a/sky130/irsim/sky130_1v80_n40.prm +++ /dev/null
@@ -1,7 +0,0 @@ -resistance n-channel dynamic-high 0.8 0.2 27589.0 -resistance n-channel dynamic-low 0.8 0.2 3019.0 -resistance n-channel static 0.8 0.2 3101.0 - -resistance p-channel dynamic-high 1.0 0.2 7192.0 -resistance p-channel dynamic-low 1.0 0.2 913408.0 -resistance p-channel static 1.0 0.2 3520.0
diff --git a/sky130/irsim/sky130_1v80_n5.prm b/sky130/irsim/sky130_1v80_n5.prm deleted file mode 100644 index 5c33f27..0000000 --- a/sky130/irsim/sky130_1v80_n5.prm +++ /dev/null
@@ -1,7 +0,0 @@ -resistance n-channel dynamic-high 0.8 0.2 21254.0 -resistance n-channel dynamic-low 0.8 0.2 3106.0 -resistance n-channel static 0.8 0.2 3220.0 - -resistance p-channel dynamic-high 1.0 0.2 7350.0 -resistance p-channel dynamic-low 1.0 0.2 371015.0 -resistance p-channel static 1.0 0.2 3867.0
diff --git a/sky130/irsim/sky130_1v98_125.prm b/sky130/irsim/sky130_1v98_125.prm deleted file mode 100644 index f626170..0000000 --- a/sky130/irsim/sky130_1v98_125.prm +++ /dev/null
@@ -1,7 +0,0 @@ -resistance n-channel dynamic-high 0.8 0.2 10002.0 -resistance n-channel dynamic-low 0.8 0.2 3230.0 -resistance n-channel static 0.8 0.2 2957.0 - -resistance p-channel dynamic-high 1.0 0.2 7027.0 -resistance p-channel dynamic-low 1.0 0.2 44348.0 -resistance p-channel static 1.0 0.2 4191.0
diff --git a/sky130/irsim/sky130_1v98_27.prm b/sky130/irsim/sky130_1v98_27.prm deleted file mode 100644 index dccd563..0000000 --- a/sky130/irsim/sky130_1v98_27.prm +++ /dev/null
@@ -1,7 +0,0 @@ -resistance n-channel dynamic-high 0.8 0.2 10925.0 -resistance n-channel dynamic-low 0.8 0.2 2949.0 -resistance n-channel static 0.8 0.2 2583.0 - -resistance p-channel dynamic-high 1.0 0.2 6683.0 -resistance p-channel dynamic-low 1.0 0.2 82493.0 -resistance p-channel static 1.0 0.2 3232.0
diff --git a/sky130/irsim/sky130_1v98_n40.prm b/sky130/irsim/sky130_1v98_n40.prm deleted file mode 100644 index dbb0df1..0000000 --- a/sky130/irsim/sky130_1v98_n40.prm +++ /dev/null
@@ -1,7 +0,0 @@ -resistance n-channel dynamic-high 0.8 0.2 12455.0 -resistance n-channel dynamic-low 0.8 0.2 2795.0 -resistance n-channel static 0.8 0.2 2364.0 - -resistance p-channel dynamic-high 1.0 0.2 6425.0 -resistance p-channel dynamic-low 1.0 0.2 216474.0 -resistance p-channel static 1.0 0.2 2648.0
diff --git a/sky130/irsim/sky130_1v98_n5.prm b/sky130/irsim/sky130_1v98_n5.prm deleted file mode 100644 index 368fb9d..0000000 --- a/sky130/irsim/sky130_1v98_n5.prm +++ /dev/null
@@ -1,7 +0,0 @@ -resistance n-channel dynamic-high 0.8 0.2 11492.0 -resistance n-channel dynamic-low 0.8 0.2 2872.0 -resistance n-channel static 0.8 0.2 2474.0 - -resistance p-channel dynamic-high 1.0 0.2 6564.0 -resistance p-channel dynamic-low 1.0 0.2 119412.0 -resistance p-channel static 1.0 0.2 2943.0
diff --git a/sky130/irsim/sky130_ff_high_125.prm b/sky130/irsim/sky130_ff_high_125.prm new file mode 100644 index 0000000..808d85f --- /dev/null +++ b/sky130/irsim/sky130_ff_high_125.prm
@@ -0,0 +1,113 @@ +; +; configuration file for sky130 (0.13um process) +; + +lambda 0.005 ; length scaling, microns (1 lambda = 1 centimicron) + +capga .00832 ; gate capacitance, pF/micron^2 + +capda 0.0012 +capdp 0.0013 +cappda 0.00260 +cappdp 0.00090 + +lowthresh 0.5 ; logic low threshold as a normalized voltage +highthresh 0.5 ; logic high threshold as a normalized voltage + +cntpullup 0 ; irrelevant, cmos technology; no depletion transistors +diffperim 0 ; don't include diffusion perimeters for sidewall cap. +subparea 0 ; poly over transistor won't count as part pf bulk-poly cap. +diffext 0 ; diffusion extension for each transistor + +device nfet sky130_fd_pr__nfet_01v8 +device nfet sky130_fd_pr__nfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8 +device pfet sky130_fd_pr__pfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8_hvt +device nfet sky130_fd_pr__special_nfet_latch +device nfet sky130_fd_pr__special_nfet_pass +device pfet sky130_fd_pr__special_pfet_pass +device pfet sky130_fd_pr__pfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_05v0_nvt + +; Capacitor values are in pF/centimicron^2 +device capacitor sky130_fd_pr__cap_mim_m3_1 2.0E-7 +device capacitor sky130_fd_pr__cap_mim_m3_2 2.0E-7 + +; Resistor values are in ohms/square +device resistor sky130_res_high_po_0p35 320 +device resistor sky130_res_high_po_0p69 320 +device resistor sky130_res_high_po_1p41 320 +device resistor sky130_res_high_po_2p85 320 +device resistor sky130_res_high_po_5p73 320 +device resistor sky130_res_high_po 320 +device resistor sky130_res_xhigh_po_0p35 2000 +device resistor sky130_res_xhigh_po_0p69 2000 +device resistor sky130_res_xhigh_po_1p41 2000 +device resistor sky130_res_xhigh_po_2p85 2000 +device resistor sky130_res_xhigh_po_5p73 2000 +device resistor sky130_res_xhigh_po 2000 +device resistor sky130_res_generic_nd 120 +device resistor sky130_res_generic_pd 197 + +; Diode +device diode sky130_fd_pr__diode_pw2nd_05v5 + +; Transistor device parameters + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8 dynamic-high 1.0 0.15 6.355782e+03 +resistance sky130_fd_pr__nfet_01v8 dynamic-low 1.0 0.15 1.866832e+03 +resistance sky130_fd_pr__nfet_01v8 static 1.0 0.15 2.202940e+03 + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-high 1.0 0.15 5.078669e+03 +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-low 1.0 0.15 1.757090e+03 +resistance sky130_fd_pr__nfet_01v8_lvt static 1.0 0.15 1.364326e+03 + +; C=100, N(w=0.21, l=0.15) +resistance sky130_fd_pr__special_nfet_latch dynamic-high 0.21 0.15 3.091104e+04 +resistance sky130_fd_pr__special_nfet_latch dynamic-low 0.21 0.15 8.883328e+03 +resistance sky130_fd_pr__special_nfet_latch static 0.21 0.15 8.572828e+03 + +; C=100, N(w=0.14, l=0.15) +resistance sky130_fd_pr__special_nfet_pass dynamic-high 0.14 0.15 4.196786e+04 +resistance sky130_fd_pr__special_nfet_pass dynamic-low 0.14 0.15 1.147470e+04 +resistance sky130_fd_pr__special_nfet_pass static 0.14 0.15 1.354716e+04 + +; C=250, N(w=1.0, l=0.5) +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-high 1.0 0.5 1.229869e+04 +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-low 1.0 0.5 4.903076e+03 +resistance sky130_fd_pr__nfet_g5v0d10v5 static 1.0 0.5 3.985902e+03 + +; C=250, N(w=1.0, l=0.9) +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-high 1.0 0.9 1.422829e+04 +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-low 1.0 0.9 5.368956e+03 +resistance sky130_fd_pr__nfet_05v0_nvt static 1.0 0.9 2.827869e+03 + +; C=250, P(w=1.0, l=0.15) +resistance sky130_fd_pr__pfet_01v8 dynamic-high 1.0 0.15 3.582760e+03 +resistance sky130_fd_pr__pfet_01v8 dynamic-low 1.0 0.15 1.428544e+04 +resistance sky130_fd_pr__pfet_01v8 static 1.0 0.15 3.162022e+03 + +; C=250, P(w=1.0, l=0.35) +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-high 1.0 0.35 4.703080e+03 +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-low 1.0 0.35 1.686439e+04 +resistance sky130_fd_pr__pfet_01v8_lvt static 1.0 0.35 3.521083e+03 + +; C=250, P(w=1.0, l=0.45) +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-high 1.0 0.45 1.296700e+04 +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-low 1.0 0.45 5.687897e+04 +resistance sky130_fd_pr__pfet_01v8_hvt static 1.0 0.45 1.477727e+04 + +; C=100, P(w=0.14, l=0.15) +resistance sky130_fd_pr__special_pfet_pass dynamic-high 0.14 0.15 2.996500e+04 +resistance sky130_fd_pr__special_pfet_pass dynamic-low 0.14 0.15 1.152770e+05 +resistance sky130_fd_pr__special_pfet_pass static 0.14 0.15 4.599933e+04 + +; C=250, P(w=1.0, l=0.5) +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-high 1.0 0.5 9.726600e+03 +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-low 1.0 0.5 3.079723e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 static 1.0 0.5 1.046133e+04 +
diff --git a/sky130/irsim/sky130_ff_high_27.prm b/sky130/irsim/sky130_ff_high_27.prm new file mode 100644 index 0000000..516e798 --- /dev/null +++ b/sky130/irsim/sky130_ff_high_27.prm
@@ -0,0 +1,113 @@ +; +; configuration file for sky130 (0.13um process) +; + +lambda 0.005 ; length scaling, microns (1 lambda = 1 centimicron) + +capga .00832 ; gate capacitance, pF/micron^2 + +capda 0.0012 +capdp 0.0013 +cappda 0.00260 +cappdp 0.00090 + +lowthresh 0.5 ; logic low threshold as a normalized voltage +highthresh 0.5 ; logic high threshold as a normalized voltage + +cntpullup 0 ; irrelevant, cmos technology; no depletion transistors +diffperim 0 ; don't include diffusion perimeters for sidewall cap. +subparea 0 ; poly over transistor won't count as part pf bulk-poly cap. +diffext 0 ; diffusion extension for each transistor + +device nfet sky130_fd_pr__nfet_01v8 +device nfet sky130_fd_pr__nfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8 +device pfet sky130_fd_pr__pfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8_hvt +device nfet sky130_fd_pr__special_nfet_latch +device nfet sky130_fd_pr__special_nfet_pass +device pfet sky130_fd_pr__special_pfet_pass +device pfet sky130_fd_pr__pfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_05v0_nvt + +; Capacitor values are in pF/centimicron^2 +device capacitor sky130_fd_pr__cap_mim_m3_1 2.0E-7 +device capacitor sky130_fd_pr__cap_mim_m3_2 2.0E-7 + +; Resistor values are in ohms/square +device resistor sky130_res_high_po_0p35 320 +device resistor sky130_res_high_po_0p69 320 +device resistor sky130_res_high_po_1p41 320 +device resistor sky130_res_high_po_2p85 320 +device resistor sky130_res_high_po_5p73 320 +device resistor sky130_res_high_po 320 +device resistor sky130_res_xhigh_po_0p35 2000 +device resistor sky130_res_xhigh_po_0p69 2000 +device resistor sky130_res_xhigh_po_1p41 2000 +device resistor sky130_res_xhigh_po_2p85 2000 +device resistor sky130_res_xhigh_po_5p73 2000 +device resistor sky130_res_xhigh_po 2000 +device resistor sky130_res_generic_nd 120 +device resistor sky130_res_generic_pd 197 + +; Diode +device diode sky130_fd_pr__diode_pw2nd_05v5 + +; Transistor device parameters + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8 dynamic-high 1.0 0.15 5.237482e+03 +resistance sky130_fd_pr__nfet_01v8 dynamic-low 1.0 0.15 1.638648e+03 +resistance sky130_fd_pr__nfet_01v8 static 1.0 0.15 1.906106e+03 + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-high 1.0 0.15 4.179235e+03 +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-low 1.0 0.15 1.500954e+03 +resistance sky130_fd_pr__nfet_01v8_lvt static 1.0 0.15 1.173935e+03 + +; C=100, N(w=0.21, l=0.15) +resistance sky130_fd_pr__special_nfet_latch dynamic-high 0.21 0.15 2.556232e+04 +resistance sky130_fd_pr__special_nfet_latch dynamic-low 0.21 0.15 7.469575e+03 +resistance sky130_fd_pr__special_nfet_latch static 0.21 0.15 7.480494e+03 + +; C=100, N(w=0.14, l=0.15) +resistance sky130_fd_pr__special_nfet_pass dynamic-high 0.14 0.15 3.455878e+04 +resistance sky130_fd_pr__special_nfet_pass dynamic-low 0.14 0.15 9.417317e+03 +resistance sky130_fd_pr__special_nfet_pass static 0.14 0.15 1.097942e+04 + +; C=250, N(w=1.0, l=0.5) +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-high 1.0 0.5 1.020486e+04 +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-low 1.0 0.5 4.183576e+03 +resistance sky130_fd_pr__nfet_g5v0d10v5 static 1.0 0.5 3.262036e+03 + +; C=250, N(w=1.0, l=0.9) +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-high 1.0 0.9 1.152874e+04 +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-low 1.0 0.9 4.341768e+03 +resistance sky130_fd_pr__nfet_05v0_nvt static 1.0 0.9 2.005527e+03 + +; C=250, P(w=1.0, l=0.15) +resistance sky130_fd_pr__pfet_01v8 dynamic-high 1.0 0.15 3.671560e+03 +resistance sky130_fd_pr__pfet_01v8 dynamic-low 1.0 0.15 1.382305e+04 +resistance sky130_fd_pr__pfet_01v8 static 1.0 0.15 3.192867e+03 + +; C=250, P(w=1.0, l=0.35) +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-high 1.0 0.35 4.475800e+03 +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-low 1.0 0.35 1.647031e+04 +resistance sky130_fd_pr__pfet_01v8_lvt static 1.0 0.35 3.137782e+03 + +; C=250, P(w=1.0, l=0.45) +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-high 1.0 0.45 1.387536e+04 +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-low 1.0 0.45 5.716570e+04 +resistance sky130_fd_pr__pfet_01v8_hvt static 1.0 0.45 1.532972e+04 + +; C=100, P(w=0.14, l=0.15) +resistance sky130_fd_pr__special_pfet_pass dynamic-high 0.14 0.15 2.765100e+04 +resistance sky130_fd_pr__special_pfet_pass dynamic-low 0.14 0.15 1.058863e+05 +resistance sky130_fd_pr__special_pfet_pass static 0.14 0.15 4.269911e+04 + +; C=250, P(w=1.0, l=0.5) +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-high 1.0 0.5 8.696400e+03 +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-low 1.0 0.5 2.716673e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 static 1.0 0.5 8.806130e+03 +
diff --git a/sky130/irsim/sky130_ff_high_n40.prm b/sky130/irsim/sky130_ff_high_n40.prm new file mode 100644 index 0000000..dcf7d91 --- /dev/null +++ b/sky130/irsim/sky130_ff_high_n40.prm
@@ -0,0 +1,113 @@ +; +; configuration file for sky130 (0.13um process) +; + +lambda 0.005 ; length scaling, microns (1 lambda = 1 centimicron) + +capga .00832 ; gate capacitance, pF/micron^2 + +capda 0.0012 +capdp 0.0013 +cappda 0.00260 +cappdp 0.00090 + +lowthresh 0.5 ; logic low threshold as a normalized voltage +highthresh 0.5 ; logic high threshold as a normalized voltage + +cntpullup 0 ; irrelevant, cmos technology; no depletion transistors +diffperim 0 ; don't include diffusion perimeters for sidewall cap. +subparea 0 ; poly over transistor won't count as part pf bulk-poly cap. +diffext 0 ; diffusion extension for each transistor + +device nfet sky130_fd_pr__nfet_01v8 +device nfet sky130_fd_pr__nfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8 +device pfet sky130_fd_pr__pfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8_hvt +device nfet sky130_fd_pr__special_nfet_latch +device nfet sky130_fd_pr__special_nfet_pass +device pfet sky130_fd_pr__special_pfet_pass +device pfet sky130_fd_pr__pfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_05v0_nvt + +; Capacitor values are in pF/centimicron^2 +device capacitor sky130_fd_pr__cap_mim_m3_1 2.0E-7 +device capacitor sky130_fd_pr__cap_mim_m3_2 2.0E-7 + +; Resistor values are in ohms/square +device resistor sky130_res_high_po_0p35 320 +device resistor sky130_res_high_po_0p69 320 +device resistor sky130_res_high_po_1p41 320 +device resistor sky130_res_high_po_2p85 320 +device resistor sky130_res_high_po_5p73 320 +device resistor sky130_res_high_po 320 +device resistor sky130_res_xhigh_po_0p35 2000 +device resistor sky130_res_xhigh_po_0p69 2000 +device resistor sky130_res_xhigh_po_1p41 2000 +device resistor sky130_res_xhigh_po_2p85 2000 +device resistor sky130_res_xhigh_po_5p73 2000 +device resistor sky130_res_xhigh_po 2000 +device resistor sky130_res_generic_nd 120 +device resistor sky130_res_generic_pd 197 + +; Diode +device diode sky130_fd_pr__diode_pw2nd_05v5 + +; Transistor device parameters + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8 dynamic-high 1.0 0.15 4.493381e+03 +resistance sky130_fd_pr__nfet_01v8 dynamic-low 1.0 0.15 1.496302e+03 +resistance sky130_fd_pr__nfet_01v8 static 1.0 0.15 1.723388e+03 + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-high 1.0 0.15 3.662399e+03 +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-low 1.0 0.15 1.361476e+03 +resistance sky130_fd_pr__nfet_01v8_lvt static 1.0 0.15 1.079072e+03 + +; C=100, N(w=0.21, l=0.15) +resistance sky130_fd_pr__special_nfet_latch dynamic-high 0.21 0.15 2.130196e+04 +resistance sky130_fd_pr__special_nfet_latch dynamic-low 0.21 0.15 6.626060e+03 +resistance sky130_fd_pr__special_nfet_latch static 0.21 0.15 6.668279e+03 + +; C=100, N(w=0.14, l=0.15) +resistance sky130_fd_pr__special_nfet_pass dynamic-high 0.14 0.15 2.837953e+04 +resistance sky130_fd_pr__special_nfet_pass dynamic-low 0.14 0.15 8.108135e+03 +resistance sky130_fd_pr__special_nfet_pass static 0.14 0.15 9.140293e+03 + +; C=250, N(w=1.0, l=0.5) +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-high 1.0 0.5 8.998057e+03 +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-low 1.0 0.5 3.815560e+03 +resistance sky130_fd_pr__nfet_g5v0d10v5 static 1.0 0.5 2.903014e+03 + +; C=250, N(w=1.0, l=0.9) +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-high 1.0 0.9 9.661760e+03 +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-low 1.0 0.9 3.732337e+03 +resistance sky130_fd_pr__nfet_05v0_nvt static 1.0 0.9 1.502366e+03 + +; C=250, P(w=1.0, l=0.15) +resistance sky130_fd_pr__pfet_01v8 dynamic-high 1.0 0.15 3.769560e+03 +resistance sky130_fd_pr__pfet_01v8 dynamic-low 1.0 0.15 1.300321e+04 +resistance sky130_fd_pr__pfet_01v8 static 1.0 0.15 3.268051e+03 + +; C=250, P(w=1.0, l=0.35) +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-high 1.0 0.35 4.268400e+03 +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-low 1.0 0.35 1.518774e+04 +resistance sky130_fd_pr__pfet_01v8_lvt static 1.0 0.35 2.806963e+03 + +; C=250, P(w=1.0, l=0.45) +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-high 1.0 0.45 1.490072e+04 +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-low 1.0 0.45 5.564387e+04 +resistance sky130_fd_pr__pfet_01v8_hvt static 1.0 0.45 1.567407e+04 + +; C=100, P(w=0.14, l=0.15) +resistance sky130_fd_pr__special_pfet_pass dynamic-high 0.14 0.15 2.577660e+04 +resistance sky130_fd_pr__special_pfet_pass dynamic-low 0.14 0.15 9.506514e+04 +resistance sky130_fd_pr__special_pfet_pass static 0.14 0.15 3.905899e+04 + +; C=250, P(w=1.0, l=0.5) +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-high 1.0 0.5 7.864520e+03 +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-low 1.0 0.5 2.377289e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 static 1.0 0.5 7.610100e+03 +
diff --git a/sky130/irsim/sky130_ff_low_125.prm b/sky130/irsim/sky130_ff_low_125.prm new file mode 100644 index 0000000..07bad64 --- /dev/null +++ b/sky130/irsim/sky130_ff_low_125.prm
@@ -0,0 +1,113 @@ +; +; configuration file for sky130 (0.13um process) +; + +lambda 0.005 ; length scaling, microns (1 lambda = 1 centimicron) + +capga .00832 ; gate capacitance, pF/micron^2 + +capda 0.0012 +capdp 0.0013 +cappda 0.00260 +cappdp 0.00090 + +lowthresh 0.5 ; logic low threshold as a normalized voltage +highthresh 0.5 ; logic high threshold as a normalized voltage + +cntpullup 0 ; irrelevant, cmos technology; no depletion transistors +diffperim 0 ; don't include diffusion perimeters for sidewall cap. +subparea 0 ; poly over transistor won't count as part pf bulk-poly cap. +diffext 0 ; diffusion extension for each transistor + +device nfet sky130_fd_pr__nfet_01v8 +device nfet sky130_fd_pr__nfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8 +device pfet sky130_fd_pr__pfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8_hvt +device nfet sky130_fd_pr__special_nfet_latch +device nfet sky130_fd_pr__special_nfet_pass +device pfet sky130_fd_pr__special_pfet_pass +device pfet sky130_fd_pr__pfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_05v0_nvt + +; Capacitor values are in pF/centimicron^2 +device capacitor sky130_fd_pr__cap_mim_m3_1 2.0E-7 +device capacitor sky130_fd_pr__cap_mim_m3_2 2.0E-7 + +; Resistor values are in ohms/square +device resistor sky130_res_high_po_0p35 320 +device resistor sky130_res_high_po_0p69 320 +device resistor sky130_res_high_po_1p41 320 +device resistor sky130_res_high_po_2p85 320 +device resistor sky130_res_high_po_5p73 320 +device resistor sky130_res_high_po 320 +device resistor sky130_res_xhigh_po_0p35 2000 +device resistor sky130_res_xhigh_po_0p69 2000 +device resistor sky130_res_xhigh_po_1p41 2000 +device resistor sky130_res_xhigh_po_2p85 2000 +device resistor sky130_res_xhigh_po_5p73 2000 +device resistor sky130_res_xhigh_po 2000 +device resistor sky130_res_generic_nd 120 +device resistor sky130_res_generic_pd 197 + +; Diode +device diode sky130_fd_pr__diode_pw2nd_05v5 + +; Transistor device parameters + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8 dynamic-high 1.0 0.15 1.065881e+04 +resistance sky130_fd_pr__nfet_01v8 dynamic-low 1.0 0.15 2.217380e+03 +resistance sky130_fd_pr__nfet_01v8 static 1.0 0.15 3.731868e+03 + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-high 1.0 0.15 7.566071e+03 +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-low 1.0 0.15 2.005400e+03 +resistance sky130_fd_pr__nfet_01v8_lvt static 1.0 0.15 2.421307e+03 + +; C=100, N(w=0.21, l=0.15) +resistance sky130_fd_pr__special_nfet_latch dynamic-high 0.21 0.15 4.392912e+04 +resistance sky130_fd_pr__special_nfet_latch dynamic-low 0.21 0.15 1.064247e+04 +resistance sky130_fd_pr__special_nfet_latch static 0.21 0.15 1.458857e+04 + +; C=100, N(w=0.14, l=0.15) +resistance sky130_fd_pr__special_nfet_pass dynamic-high 0.14 0.15 5.776462e+04 +resistance sky130_fd_pr__special_nfet_pass dynamic-low 0.14 0.15 1.399812e+04 +resistance sky130_fd_pr__special_nfet_pass static 0.14 0.15 2.146258e+04 + +; C=250, N(w=1.0, l=0.5) +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-high 1.0 0.5 1.465615e+04 +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-low 1.0 0.5 5.485040e+03 +resistance sky130_fd_pr__nfet_g5v0d10v5 static 1.0 0.5 5.250842e+03 + +; C=250, N(w=1.0, l=0.9) +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-high 1.0 0.9 1.530519e+04 +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-low 1.0 0.9 5.861204e+03 +resistance sky130_fd_pr__nfet_05v0_nvt static 1.0 0.9 2.508220e+03 + +; C=250, P(w=1.0, l=0.15) +resistance sky130_fd_pr__pfet_01v8 dynamic-high 1.0 0.15 4.343800e+03 +resistance sky130_fd_pr__pfet_01v8 dynamic-low 1.0 0.15 2.141932e+04 +resistance sky130_fd_pr__pfet_01v8 static 1.0 0.15 4.801116e+03 + +; C=250, P(w=1.0, l=0.35) +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-high 1.0 0.35 5.508840e+03 +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-low 1.0 0.35 2.184907e+04 +resistance sky130_fd_pr__pfet_01v8_lvt static 1.0 0.35 4.799900e+03 + +; C=250, P(w=1.0, l=0.45) +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-high 1.0 0.45 1.977692e+04 +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-low 1.0 0.45 8.514366e+04 +resistance sky130_fd_pr__pfet_01v8_hvt static 1.0 0.45 2.574272e+04 + +; C=100, P(w=0.14, l=0.15) +resistance sky130_fd_pr__special_pfet_pass dynamic-high 0.14 0.15 4.145570e+04 +resistance sky130_fd_pr__special_pfet_pass dynamic-low 0.14 0.15 1.633797e+05 +resistance sky130_fd_pr__special_pfet_pass static 0.14 0.15 7.165644e+04 + +; C=250, P(w=1.0, l=0.5) +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-high 1.0 0.5 1.164904e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-low 1.0 0.5 3.824837e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 static 1.0 0.5 1.367471e+04 +
diff --git a/sky130/irsim/sky130_ff_low_27.prm b/sky130/irsim/sky130_ff_low_27.prm new file mode 100644 index 0000000..74dd236 --- /dev/null +++ b/sky130/irsim/sky130_ff_low_27.prm
@@ -0,0 +1,113 @@ +; +; configuration file for sky130 (0.13um process) +; + +lambda 0.005 ; length scaling, microns (1 lambda = 1 centimicron) + +capga .00832 ; gate capacitance, pF/micron^2 + +capda 0.0012 +capdp 0.0013 +cappda 0.00260 +cappdp 0.00090 + +lowthresh 0.5 ; logic low threshold as a normalized voltage +highthresh 0.5 ; logic high threshold as a normalized voltage + +cntpullup 0 ; irrelevant, cmos technology; no depletion transistors +diffperim 0 ; don't include diffusion perimeters for sidewall cap. +subparea 0 ; poly over transistor won't count as part pf bulk-poly cap. +diffext 0 ; diffusion extension for each transistor + +device nfet sky130_fd_pr__nfet_01v8 +device nfet sky130_fd_pr__nfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8 +device pfet sky130_fd_pr__pfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8_hvt +device nfet sky130_fd_pr__special_nfet_latch +device nfet sky130_fd_pr__special_nfet_pass +device pfet sky130_fd_pr__special_pfet_pass +device pfet sky130_fd_pr__pfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_05v0_nvt + +; Capacitor values are in pF/centimicron^2 +device capacitor sky130_fd_pr__cap_mim_m3_1 2.0E-7 +device capacitor sky130_fd_pr__cap_mim_m3_2 2.0E-7 + +; Resistor values are in ohms/square +device resistor sky130_res_high_po_0p35 320 +device resistor sky130_res_high_po_0p69 320 +device resistor sky130_res_high_po_1p41 320 +device resistor sky130_res_high_po_2p85 320 +device resistor sky130_res_high_po_5p73 320 +device resistor sky130_res_high_po 320 +device resistor sky130_res_xhigh_po_0p35 2000 +device resistor sky130_res_xhigh_po_0p69 2000 +device resistor sky130_res_xhigh_po_1p41 2000 +device resistor sky130_res_xhigh_po_2p85 2000 +device resistor sky130_res_xhigh_po_5p73 2000 +device resistor sky130_res_xhigh_po 2000 +device resistor sky130_res_generic_nd 120 +device resistor sky130_res_generic_pd 197 + +; Diode +device diode sky130_fd_pr__diode_pw2nd_05v5 + +; Transistor device parameters + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8 dynamic-high 1.0 0.15 8.635499e+03 +resistance sky130_fd_pr__nfet_01v8 dynamic-low 1.0 0.15 1.971208e+03 +resistance sky130_fd_pr__nfet_01v8 static 1.0 0.15 3.436158e+03 + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-high 1.0 0.15 6.090272e+03 +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-low 1.0 0.15 1.736202e+03 +resistance sky130_fd_pr__nfet_01v8_lvt static 1.0 0.15 2.181903e+03 + +; C=100, N(w=0.21, l=0.15) +resistance sky130_fd_pr__special_nfet_latch dynamic-high 0.21 0.15 3.759561e+04 +resistance sky130_fd_pr__special_nfet_latch dynamic-low 0.21 0.15 8.989063e+03 +resistance sky130_fd_pr__special_nfet_latch static 0.21 0.15 1.374737e+04 + +; C=100, N(w=0.14, l=0.15) +resistance sky130_fd_pr__special_nfet_pass dynamic-high 0.14 0.15 4.978655e+04 +resistance sky130_fd_pr__special_nfet_pass dynamic-low 0.14 0.15 1.152229e+04 +resistance sky130_fd_pr__special_nfet_pass static 0.14 0.15 1.852812e+04 + +; C=250, N(w=1.0, l=0.5) +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-high 1.0 0.5 1.221977e+04 +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-low 1.0 0.5 4.669352e+03 +resistance sky130_fd_pr__nfet_g5v0d10v5 static 1.0 0.5 4.445704e+03 + +; C=250, N(w=1.0, l=0.9) +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-high 1.0 0.9 1.259537e+04 +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-low 1.0 0.9 4.716276e+03 +resistance sky130_fd_pr__nfet_05v0_nvt static 1.0 0.9 1.822546e+03 + +; C=250, P(w=1.0, l=0.15) +resistance sky130_fd_pr__pfet_01v8 dynamic-high 1.0 0.15 4.569240e+03 +resistance sky130_fd_pr__pfet_01v8 dynamic-low 1.0 0.15 2.187068e+04 +resistance sky130_fd_pr__pfet_01v8 static 1.0 0.15 5.296218e+03 + +; C=250, P(w=1.0, l=0.35) +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-high 1.0 0.35 5.243360e+03 +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-low 1.0 0.35 2.269954e+04 +resistance sky130_fd_pr__pfet_01v8_lvt static 1.0 0.35 4.614932e+03 + +; C=250, P(w=1.0, l=0.45) +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-high 1.0 0.45 2.380192e+04 +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-low 1.0 0.45 9.348031e+04 +resistance sky130_fd_pr__pfet_01v8_hvt static 1.0 0.45 3.069206e+04 + +; C=100, P(w=0.14, l=0.15) +resistance sky130_fd_pr__special_pfet_pass dynamic-high 0.14 0.15 4.046810e+04 +resistance sky130_fd_pr__special_pfet_pass dynamic-low 0.14 0.15 1.585022e+05 +resistance sky130_fd_pr__special_pfet_pass static 0.14 0.15 7.220511e+04 + +; C=250, P(w=1.0, l=0.5) +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-high 1.0 0.5 1.051672e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-low 1.0 0.5 3.454832e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 static 1.0 0.5 1.194554e+04 +
diff --git a/sky130/irsim/sky130_ff_low_n40.prm b/sky130/irsim/sky130_ff_low_n40.prm new file mode 100644 index 0000000..a49dfd9 --- /dev/null +++ b/sky130/irsim/sky130_ff_low_n40.prm
@@ -0,0 +1,113 @@ +; +; configuration file for sky130 (0.13um process) +; + +lambda 0.005 ; length scaling, microns (1 lambda = 1 centimicron) + +capga .00832 ; gate capacitance, pF/micron^2 + +capda 0.0012 +capdp 0.0013 +cappda 0.00260 +cappdp 0.00090 + +lowthresh 0.5 ; logic low threshold as a normalized voltage +highthresh 0.5 ; logic high threshold as a normalized voltage + +cntpullup 0 ; irrelevant, cmos technology; no depletion transistors +diffperim 0 ; don't include diffusion perimeters for sidewall cap. +subparea 0 ; poly over transistor won't count as part pf bulk-poly cap. +diffext 0 ; diffusion extension for each transistor + +device nfet sky130_fd_pr__nfet_01v8 +device nfet sky130_fd_pr__nfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8 +device pfet sky130_fd_pr__pfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8_hvt +device nfet sky130_fd_pr__special_nfet_latch +device nfet sky130_fd_pr__special_nfet_pass +device pfet sky130_fd_pr__special_pfet_pass +device pfet sky130_fd_pr__pfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_05v0_nvt + +; Capacitor values are in pF/centimicron^2 +device capacitor sky130_fd_pr__cap_mim_m3_1 2.0E-7 +device capacitor sky130_fd_pr__cap_mim_m3_2 2.0E-7 + +; Resistor values are in ohms/square +device resistor sky130_res_high_po_0p35 320 +device resistor sky130_res_high_po_0p69 320 +device resistor sky130_res_high_po_1p41 320 +device resistor sky130_res_high_po_2p85 320 +device resistor sky130_res_high_po_5p73 320 +device resistor sky130_res_high_po 320 +device resistor sky130_res_xhigh_po_0p35 2000 +device resistor sky130_res_xhigh_po_0p69 2000 +device resistor sky130_res_xhigh_po_1p41 2000 +device resistor sky130_res_xhigh_po_2p85 2000 +device resistor sky130_res_xhigh_po_5p73 2000 +device resistor sky130_res_xhigh_po 2000 +device resistor sky130_res_generic_nd 120 +device resistor sky130_res_generic_pd 197 + +; Diode +device diode sky130_fd_pr__diode_pw2nd_05v5 + +; Transistor device parameters + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8 dynamic-high 1.0 0.15 7.354406e+03 +resistance sky130_fd_pr__nfet_01v8 dynamic-low 1.0 0.15 1.808904e+03 +resistance sky130_fd_pr__nfet_01v8 static 1.0 0.15 3.296186e+03 + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-high 1.0 0.15 5.251611e+03 +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-low 1.0 0.15 1.586080e+03 +resistance sky130_fd_pr__nfet_01v8_lvt static 1.0 0.15 2.063013e+03 + +; C=100, N(w=0.21, l=0.15) +resistance sky130_fd_pr__special_nfet_latch dynamic-high 0.21 0.15 3.152369e+04 +resistance sky130_fd_pr__special_nfet_latch dynamic-low 0.21 0.15 7.953958e+03 +resistance sky130_fd_pr__special_nfet_latch static 0.21 0.15 1.297773e+04 + +; C=100, N(w=0.14, l=0.15) +resistance sky130_fd_pr__special_nfet_pass dynamic-high 0.14 0.15 4.162709e+04 +resistance sky130_fd_pr__special_nfet_pass dynamic-low 0.14 0.15 9.874460e+03 +resistance sky130_fd_pr__special_nfet_pass static 0.14 0.15 1.624428e+04 + +; C=250, N(w=1.0, l=0.5) +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-high 1.0 0.5 1.066881e+04 +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-low 1.0 0.5 4.244376e+03 +resistance sky130_fd_pr__nfet_g5v0d10v5 static 1.0 0.5 4.006076e+03 + +; C=250, N(w=1.0, l=0.9) +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-high 1.0 0.9 1.060222e+04 +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-low 1.0 0.9 4.022632e+03 +resistance sky130_fd_pr__nfet_05v0_nvt static 1.0 0.9 1.377197e+03 + +; C=250, P(w=1.0, l=0.15) +resistance sky130_fd_pr__pfet_01v8 dynamic-high 1.0 0.15 4.858880e+03 +resistance sky130_fd_pr__pfet_01v8 dynamic-low 1.0 0.15 2.109703e+04 +resistance sky130_fd_pr__pfet_01v8 static 1.0 0.15 5.728145e+03 + +; C=250, P(w=1.0, l=0.35) +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-high 1.0 0.35 4.967960e+03 +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-low 1.0 0.35 2.175708e+04 +resistance sky130_fd_pr__pfet_01v8_lvt static 1.0 0.35 4.368463e+03 + +; C=250, P(w=1.0, l=0.45) +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-high 1.0 0.45 2.845928e+04 +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-low 1.0 0.45 9.762693e+04 +resistance sky130_fd_pr__pfet_01v8_hvt static 1.0 0.45 3.487459e+04 + +; C=100, P(w=0.14, l=0.15) +resistance sky130_fd_pr__special_pfet_pass dynamic-high 0.14 0.15 3.924290e+04 +resistance sky130_fd_pr__special_pfet_pass dynamic-low 0.14 0.15 1.478718e+05 +resistance sky130_fd_pr__special_pfet_pass static 0.14 0.15 7.013354e+04 + +; C=250, P(w=1.0, l=0.5) +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-high 1.0 0.5 9.544920e+03 +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-low 1.0 0.5 3.058758e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 static 1.0 0.5 1.049811e+04 +
diff --git a/sky130/irsim/sky130_ff_nom_125.prm b/sky130/irsim/sky130_ff_nom_125.prm new file mode 100644 index 0000000..2cb17b3 --- /dev/null +++ b/sky130/irsim/sky130_ff_nom_125.prm
@@ -0,0 +1,113 @@ +; +; configuration file for sky130 (0.13um process) +; + +lambda 0.005 ; length scaling, microns (1 lambda = 1 centimicron) + +capga .00832 ; gate capacitance, pF/micron^2 + +capda 0.0012 +capdp 0.0013 +cappda 0.00260 +cappdp 0.00090 + +lowthresh 0.5 ; logic low threshold as a normalized voltage +highthresh 0.5 ; logic high threshold as a normalized voltage + +cntpullup 0 ; irrelevant, cmos technology; no depletion transistors +diffperim 0 ; don't include diffusion perimeters for sidewall cap. +subparea 0 ; poly over transistor won't count as part pf bulk-poly cap. +diffext 0 ; diffusion extension for each transistor + +device nfet sky130_fd_pr__nfet_01v8 +device nfet sky130_fd_pr__nfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8 +device pfet sky130_fd_pr__pfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8_hvt +device nfet sky130_fd_pr__special_nfet_latch +device nfet sky130_fd_pr__special_nfet_pass +device pfet sky130_fd_pr__special_pfet_pass +device pfet sky130_fd_pr__pfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_05v0_nvt + +; Capacitor values are in pF/centimicron^2 +device capacitor sky130_fd_pr__cap_mim_m3_1 2.0E-7 +device capacitor sky130_fd_pr__cap_mim_m3_2 2.0E-7 + +; Resistor values are in ohms/square +device resistor sky130_res_high_po_0p35 320 +device resistor sky130_res_high_po_0p69 320 +device resistor sky130_res_high_po_1p41 320 +device resistor sky130_res_high_po_2p85 320 +device resistor sky130_res_high_po_5p73 320 +device resistor sky130_res_high_po 320 +device resistor sky130_res_xhigh_po_0p35 2000 +device resistor sky130_res_xhigh_po_0p69 2000 +device resistor sky130_res_xhigh_po_1p41 2000 +device resistor sky130_res_xhigh_po_2p85 2000 +device resistor sky130_res_xhigh_po_5p73 2000 +device resistor sky130_res_xhigh_po 2000 +device resistor sky130_res_generic_nd 120 +device resistor sky130_res_generic_pd 197 + +; Diode +device diode sky130_fd_pr__diode_pw2nd_05v5 + +; Transistor device parameters + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8 dynamic-high 1.0 0.15 7.975051e+03 +resistance sky130_fd_pr__nfet_01v8 dynamic-low 1.0 0.15 2.010210e+03 +resistance sky130_fd_pr__nfet_01v8 static 1.0 0.15 2.791638e+03 + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-high 1.0 0.15 6.026571e+03 +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-low 1.0 0.15 1.860176e+03 +resistance sky130_fd_pr__nfet_01v8_lvt static 1.0 0.15 1.781226e+03 + +; C=100, N(w=0.21, l=0.15) +resistance sky130_fd_pr__special_nfet_latch dynamic-high 0.21 0.15 3.618255e+04 +resistance sky130_fd_pr__special_nfet_latch dynamic-low 0.21 0.15 9.610100e+03 +resistance sky130_fd_pr__special_nfet_latch static 0.21 0.15 1.092623e+04 + +; C=100, N(w=0.14, l=0.15) +resistance sky130_fd_pr__special_nfet_pass dynamic-high 0.14 0.15 4.865428e+04 +resistance sky130_fd_pr__special_nfet_pass dynamic-low 0.14 0.15 1.249857e+04 +resistance sky130_fd_pr__special_nfet_pass static 0.14 0.15 1.678370e+04 + +; C=250, N(w=1.0, l=0.5) +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-high 1.0 0.5 1.329965e+04 +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-low 1.0 0.5 5.154448e+03 +resistance sky130_fd_pr__nfet_g5v0d10v5 static 1.0 0.5 4.503383e+03 + +; C=250, N(w=1.0, l=0.9) +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-high 1.0 0.9 1.474249e+04 +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-low 1.0 0.9 5.594648e+03 +resistance sky130_fd_pr__nfet_05v0_nvt static 1.0 0.9 2.698016e+03 + +; C=250, P(w=1.0, l=0.15) +resistance sky130_fd_pr__pfet_01v8 dynamic-high 1.0 0.15 3.876000e+03 +resistance sky130_fd_pr__pfet_01v8 dynamic-low 1.0 0.15 1.723087e+04 +resistance sky130_fd_pr__pfet_01v8 static 1.0 0.15 3.840356e+03 + +; C=250, P(w=1.0, l=0.35) +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-high 1.0 0.35 5.013800e+03 +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-low 1.0 0.35 1.908267e+04 +resistance sky130_fd_pr__pfet_01v8_lvt static 1.0 0.35 4.083533e+03 + +; C=250, P(w=1.0, l=0.45) +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-high 1.0 0.45 1.563484e+04 +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-low 1.0 0.45 6.851236e+04 +resistance sky130_fd_pr__pfet_01v8_hvt static 1.0 0.45 1.890072e+04 + +; C=100, P(w=0.14, l=0.15) +resistance sky130_fd_pr__special_pfet_pass dynamic-high 0.14 0.15 3.461570e+04 +resistance sky130_fd_pr__special_pfet_pass dynamic-low 0.14 0.15 1.356470e+05 +resistance sky130_fd_pr__special_pfet_pass static 0.14 0.15 5.631658e+04 + +; C=250, P(w=1.0, l=0.5) +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-high 1.0 0.5 1.055888e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-low 1.0 0.5 3.405789e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 static 1.0 0.5 1.180689e+04 +
diff --git a/sky130/irsim/sky130_ff_nom_27.prm b/sky130/irsim/sky130_ff_nom_27.prm new file mode 100644 index 0000000..9df496f --- /dev/null +++ b/sky130/irsim/sky130_ff_nom_27.prm
@@ -0,0 +1,113 @@ +; +; configuration file for sky130 (0.13um process) +; + +lambda 0.005 ; length scaling, microns (1 lambda = 1 centimicron) + +capga .00832 ; gate capacitance, pF/micron^2 + +capda 0.0012 +capdp 0.0013 +cappda 0.00260 +cappdp 0.00090 + +lowthresh 0.5 ; logic low threshold as a normalized voltage +highthresh 0.5 ; logic high threshold as a normalized voltage + +cntpullup 0 ; irrelevant, cmos technology; no depletion transistors +diffperim 0 ; don't include diffusion perimeters for sidewall cap. +subparea 0 ; poly over transistor won't count as part pf bulk-poly cap. +diffext 0 ; diffusion extension for each transistor + +device nfet sky130_fd_pr__nfet_01v8 +device nfet sky130_fd_pr__nfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8 +device pfet sky130_fd_pr__pfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8_hvt +device nfet sky130_fd_pr__special_nfet_latch +device nfet sky130_fd_pr__special_nfet_pass +device pfet sky130_fd_pr__special_pfet_pass +device pfet sky130_fd_pr__pfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_05v0_nvt + +; Capacitor values are in pF/centimicron^2 +device capacitor sky130_fd_pr__cap_mim_m3_1 2.0E-7 +device capacitor sky130_fd_pr__cap_mim_m3_2 2.0E-7 + +; Resistor values are in ohms/square +device resistor sky130_res_high_po_0p35 320 +device resistor sky130_res_high_po_0p69 320 +device resistor sky130_res_high_po_1p41 320 +device resistor sky130_res_high_po_2p85 320 +device resistor sky130_res_high_po_5p73 320 +device resistor sky130_res_high_po 320 +device resistor sky130_res_xhigh_po_0p35 2000 +device resistor sky130_res_xhigh_po_0p69 2000 +device resistor sky130_res_xhigh_po_1p41 2000 +device resistor sky130_res_xhigh_po_2p85 2000 +device resistor sky130_res_xhigh_po_5p73 2000 +device resistor sky130_res_xhigh_po 2000 +device resistor sky130_res_generic_nd 120 +device resistor sky130_res_generic_pd 197 + +; Diode +device diode sky130_fd_pr__diode_pw2nd_05v5 + +; Transistor device parameters + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8 dynamic-high 1.0 0.15 6.492999e+03 +resistance sky130_fd_pr__nfet_01v8 dynamic-low 1.0 0.15 1.774130e+03 +resistance sky130_fd_pr__nfet_01v8 static 1.0 0.15 2.490685e+03 + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-high 1.0 0.15 4.902839e+03 +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-low 1.0 0.15 1.598635e+03 +resistance sky130_fd_pr__nfet_01v8_lvt static 1.0 0.15 1.568222e+03 + +; C=100, N(w=0.21, l=0.15) +resistance sky130_fd_pr__special_nfet_latch dynamic-high 0.21 0.15 3.029712e+04 +resistance sky130_fd_pr__special_nfet_latch dynamic-low 0.21 0.15 8.089438e+03 +resistance sky130_fd_pr__special_nfet_latch static 0.21 0.15 9.863680e+03 + +; C=100, N(w=0.14, l=0.15) +resistance sky130_fd_pr__special_nfet_pass dynamic-high 0.14 0.15 4.079521e+04 +resistance sky130_fd_pr__special_nfet_pass dynamic-low 0.14 0.15 1.026020e+04 +resistance sky130_fd_pr__special_nfet_pass static 0.14 0.15 1.398790e+04 + +; C=250, N(w=1.0, l=0.5) +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-high 1.0 0.5 1.104771e+04 +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-low 1.0 0.5 4.392428e+03 +resistance sky130_fd_pr__nfet_g5v0d10v5 static 1.0 0.5 3.737154e+03 + +; C=250, N(w=1.0, l=0.9) +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-high 1.0 0.9 1.202445e+04 +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-low 1.0 0.9 4.511748e+03 +resistance sky130_fd_pr__nfet_05v0_nvt static 1.0 0.9 1.933687e+03 + +; C=250, P(w=1.0, l=0.15) +resistance sky130_fd_pr__pfet_01v8 dynamic-high 1.0 0.15 4.005200e+03 +resistance sky130_fd_pr__pfet_01v8 dynamic-low 1.0 0.15 1.702125e+04 +resistance sky130_fd_pr__pfet_01v8 static 1.0 0.15 4.027720e+03 + +; C=250, P(w=1.0, l=0.35) +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-high 1.0 0.35 4.754280e+03 +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-low 1.0 0.35 1.914945e+04 +resistance sky130_fd_pr__pfet_01v8_lvt static 1.0 0.35 3.770862e+03 + +; C=250, P(w=1.0, l=0.45) +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-high 1.0 0.45 1.749324e+04 +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-low 1.0 0.45 7.144515e+04 +resistance sky130_fd_pr__pfet_01v8_hvt static 1.0 0.45 2.078895e+04 + +; C=100, P(w=0.14, l=0.15) +resistance sky130_fd_pr__special_pfet_pass dynamic-high 0.14 0.15 3.266230e+04 +resistance sky130_fd_pr__special_pfet_pass dynamic-low 0.14 0.15 1.274823e+05 +resistance sky130_fd_pr__special_pfet_pass static 0.14 0.15 5.407483e+04 + +; C=250, P(w=1.0, l=0.5) +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-high 1.0 0.5 9.469520e+03 +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-low 1.0 0.5 3.034763e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 static 1.0 0.5 1.008847e+04 +
diff --git a/sky130/irsim/sky130_ff_nom_n40.prm b/sky130/irsim/sky130_ff_nom_n40.prm new file mode 100644 index 0000000..1ee9c3f --- /dev/null +++ b/sky130/irsim/sky130_ff_nom_n40.prm
@@ -0,0 +1,113 @@ +; +; configuration file for sky130 (0.13um process) +; + +lambda 0.005 ; length scaling, microns (1 lambda = 1 centimicron) + +capga .00832 ; gate capacitance, pF/micron^2 + +capda 0.0012 +capdp 0.0013 +cappda 0.00260 +cappdp 0.00090 + +lowthresh 0.5 ; logic low threshold as a normalized voltage +highthresh 0.5 ; logic high threshold as a normalized voltage + +cntpullup 0 ; irrelevant, cmos technology; no depletion transistors +diffperim 0 ; don't include diffusion perimeters for sidewall cap. +subparea 0 ; poly over transistor won't count as part pf bulk-poly cap. +diffext 0 ; diffusion extension for each transistor + +device nfet sky130_fd_pr__nfet_01v8 +device nfet sky130_fd_pr__nfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8 +device pfet sky130_fd_pr__pfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8_hvt +device nfet sky130_fd_pr__special_nfet_latch +device nfet sky130_fd_pr__special_nfet_pass +device pfet sky130_fd_pr__special_pfet_pass +device pfet sky130_fd_pr__pfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_05v0_nvt + +; Capacitor values are in pF/centimicron^2 +device capacitor sky130_fd_pr__cap_mim_m3_1 2.0E-7 +device capacitor sky130_fd_pr__cap_mim_m3_2 2.0E-7 + +; Resistor values are in ohms/square +device resistor sky130_res_high_po_0p35 320 +device resistor sky130_res_high_po_0p69 320 +device resistor sky130_res_high_po_1p41 320 +device resistor sky130_res_high_po_2p85 320 +device resistor sky130_res_high_po_5p73 320 +device resistor sky130_res_high_po 320 +device resistor sky130_res_xhigh_po_0p35 2000 +device resistor sky130_res_xhigh_po_0p69 2000 +device resistor sky130_res_xhigh_po_1p41 2000 +device resistor sky130_res_xhigh_po_2p85 2000 +device resistor sky130_res_xhigh_po_5p73 2000 +device resistor sky130_res_xhigh_po 2000 +device resistor sky130_res_generic_nd 120 +device resistor sky130_res_generic_pd 197 + +; Diode +device diode sky130_fd_pr__diode_pw2nd_05v5 + +; Transistor device parameters + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8 dynamic-high 1.0 0.15 5.533198e+03 +resistance sky130_fd_pr__nfet_01v8 dynamic-low 1.0 0.15 1.623414e+03 +resistance sky130_fd_pr__nfet_01v8 static 1.0 0.15 2.311000e+03 + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-high 1.0 0.15 4.264200e+03 +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-low 1.0 0.15 1.454733e+03 +resistance sky130_fd_pr__nfet_01v8_lvt static 1.0 0.15 1.461178e+03 + +; C=100, N(w=0.21, l=0.15) +resistance sky130_fd_pr__special_nfet_latch dynamic-high 0.21 0.15 2.523819e+04 +resistance sky130_fd_pr__special_nfet_latch dynamic-low 0.21 0.15 7.163954e+03 +resistance sky130_fd_pr__special_nfet_latch static 0.21 0.15 9.015361e+03 + +; C=100, N(w=0.14, l=0.15) +resistance sky130_fd_pr__special_nfet_pass dynamic-high 0.14 0.15 3.368497e+04 +resistance sky130_fd_pr__special_nfet_pass dynamic-low 0.14 0.15 8.810188e+03 +resistance sky130_fd_pr__special_nfet_pass static 0.14 0.15 1.190996e+04 + +; C=250, N(w=1.0, l=0.5) +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-high 1.0 0.5 9.693872e+03 +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-low 1.0 0.5 3.999960e+03 +resistance sky130_fd_pr__nfet_g5v0d10v5 static 1.0 0.5 3.341106e+03 + +; C=250, N(w=1.0, l=0.9) +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-high 1.0 0.9 1.009268e+04 +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-low 1.0 0.9 3.863776e+03 +resistance sky130_fd_pr__nfet_05v0_nvt static 1.0 0.9 1.453116e+03 + +; C=250, P(w=1.0, l=0.15) +resistance sky130_fd_pr__pfet_01v8 dynamic-high 1.0 0.15 4.163240e+03 +resistance sky130_fd_pr__pfet_01v8 dynamic-low 1.0 0.15 1.613058e+04 +resistance sky130_fd_pr__pfet_01v8 static 1.0 0.15 4.214512e+03 + +; C=250, P(w=1.0, l=0.35) +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-high 1.0 0.35 4.505880e+03 +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-low 1.0 0.35 1.794504e+04 +resistance sky130_fd_pr__pfet_01v8_lvt static 1.0 0.35 3.465301e+03 + +; C=250, P(w=1.0, l=0.45) +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-high 1.0 0.45 1.951336e+04 +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-low 1.0 0.45 7.140378e+04 +resistance sky130_fd_pr__pfet_01v8_hvt static 1.0 0.45 2.217254e+04 + +; C=100, P(w=0.14, l=0.15) +resistance sky130_fd_pr__special_pfet_pass dynamic-high 0.14 0.15 3.087960e+04 +resistance sky130_fd_pr__special_pfet_pass dynamic-low 0.14 0.15 1.161590e+05 +resistance sky130_fd_pr__special_pfet_pass static 0.14 0.15 5.064356e+04 + +; C=250, P(w=1.0, l=0.5) +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-high 1.0 0.5 8.569240e+03 +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-low 1.0 0.5 2.667533e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 static 1.0 0.5 8.770237e+03 +
diff --git a/sky130/irsim/sky130_ss_high_125.prm b/sky130/irsim/sky130_ss_high_125.prm new file mode 100644 index 0000000..ffd51e5 --- /dev/null +++ b/sky130/irsim/sky130_ss_high_125.prm
@@ -0,0 +1,113 @@ +; +; configuration file for sky130 (0.13um process) +; + +lambda 0.005 ; length scaling, microns (1 lambda = 1 centimicron) + +capga .00832 ; gate capacitance, pF/micron^2 + +capda 0.0012 +capdp 0.0013 +cappda 0.00260 +cappdp 0.00090 + +lowthresh 0.5 ; logic low threshold as a normalized voltage +highthresh 0.5 ; logic high threshold as a normalized voltage + +cntpullup 0 ; irrelevant, cmos technology; no depletion transistors +diffperim 0 ; don't include diffusion perimeters for sidewall cap. +subparea 0 ; poly over transistor won't count as part pf bulk-poly cap. +diffext 0 ; diffusion extension for each transistor + +device nfet sky130_fd_pr__nfet_01v8 +device nfet sky130_fd_pr__nfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8 +device pfet sky130_fd_pr__pfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8_hvt +device nfet sky130_fd_pr__special_nfet_latch +device nfet sky130_fd_pr__special_nfet_pass +device pfet sky130_fd_pr__special_pfet_pass +device pfet sky130_fd_pr__pfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_05v0_nvt + +; Capacitor values are in pF/centimicron^2 +device capacitor sky130_fd_pr__cap_mim_m3_1 2.0E-7 +device capacitor sky130_fd_pr__cap_mim_m3_2 2.0E-7 + +; Resistor values are in ohms/square +device resistor sky130_res_high_po_0p35 320 +device resistor sky130_res_high_po_0p69 320 +device resistor sky130_res_high_po_1p41 320 +device resistor sky130_res_high_po_2p85 320 +device resistor sky130_res_high_po_5p73 320 +device resistor sky130_res_high_po 320 +device resistor sky130_res_xhigh_po_0p35 2000 +device resistor sky130_res_xhigh_po_0p69 2000 +device resistor sky130_res_xhigh_po_1p41 2000 +device resistor sky130_res_xhigh_po_2p85 2000 +device resistor sky130_res_xhigh_po_5p73 2000 +device resistor sky130_res_xhigh_po 2000 +device resistor sky130_res_generic_nd 120 +device resistor sky130_res_generic_pd 197 + +; Diode +device diode sky130_fd_pr__diode_pw2nd_05v5 + +; Transistor device parameters + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8 dynamic-high 1.0 0.15 1.131264e+04 +resistance sky130_fd_pr__nfet_01v8 dynamic-low 1.0 0.15 2.435654e+03 +resistance sky130_fd_pr__nfet_01v8 static 1.0 0.15 4.418256e+03 + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-high 1.0 0.15 7.725067e+03 +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-low 1.0 0.15 2.136872e+03 +resistance sky130_fd_pr__nfet_01v8_lvt static 1.0 0.15 2.598903e+03 + +; C=100, N(w=0.21, l=0.15) +resistance sky130_fd_pr__special_nfet_latch dynamic-high 0.21 0.15 5.717015e+04 +resistance sky130_fd_pr__special_nfet_latch dynamic-low 0.21 0.15 1.570834e+04 +resistance sky130_fd_pr__special_nfet_latch static 0.21 0.15 2.610336e+04 + +; C=100, N(w=0.14, l=0.15) +resistance sky130_fd_pr__special_nfet_pass dynamic-high 0.14 0.15 6.906004e+04 +resistance sky130_fd_pr__special_nfet_pass dynamic-low 0.14 0.15 1.966940e+04 +resistance sky130_fd_pr__special_nfet_pass static 0.14 0.15 3.366549e+04 + +; C=250, N(w=1.0, l=0.5) +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-high 1.0 0.5 1.823791e+04 +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-low 1.0 0.5 6.534824e+03 +resistance sky130_fd_pr__nfet_g5v0d10v5 static 1.0 0.5 7.032134e+03 + +; C=250, N(w=1.0, l=0.9) +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-high 1.0 0.9 1.791618e+04 +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-low 1.0 0.9 6.630688e+03 +resistance sky130_fd_pr__nfet_05v0_nvt static 1.0 0.9 3.107582e+03 + +; C=250, P(w=1.0, l=0.15) +resistance sky130_fd_pr__pfet_01v8 dynamic-high 1.0 0.15 5.730400e+03 +resistance sky130_fd_pr__pfet_01v8 dynamic-low 1.0 0.15 2.541976e+04 +resistance sky130_fd_pr__pfet_01v8 static 1.0 0.15 6.538170e+03 + +; C=250, P(w=1.0, l=0.35) +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-high 1.0 0.35 7.202520e+03 +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-low 1.0 0.35 2.667391e+04 +resistance sky130_fd_pr__pfet_01v8_lvt static 1.0 0.35 6.004869e+03 + +; C=250, P(w=1.0, l=0.45) +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-high 1.0 0.45 2.049968e+04 +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-low 1.0 0.45 8.252984e+04 +resistance sky130_fd_pr__pfet_01v8_hvt static 1.0 0.45 2.696586e+04 + +; C=100, P(w=0.14, l=0.15) +resistance sky130_fd_pr__special_pfet_pass dynamic-high 0.14 0.15 6.536080e+04 +resistance sky130_fd_pr__special_pfet_pass dynamic-low 0.14 0.15 2.074270e+05 +resistance sky130_fd_pr__special_pfet_pass static 0.14 0.15 1.059523e+05 + +; C=250, P(w=1.0, l=0.5) +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-high 1.0 0.5 1.349536e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-low 1.0 0.5 4.437390e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 static 1.0 0.5 1.687259e+04 +
diff --git a/sky130/irsim/sky130_ss_high_27.prm b/sky130/irsim/sky130_ss_high_27.prm new file mode 100644 index 0000000..eedb3f8 --- /dev/null +++ b/sky130/irsim/sky130_ss_high_27.prm
@@ -0,0 +1,113 @@ +; +; configuration file for sky130 (0.13um process) +; + +lambda 0.005 ; length scaling, microns (1 lambda = 1 centimicron) + +capga .00832 ; gate capacitance, pF/micron^2 + +capda 0.0012 +capdp 0.0013 +cappda 0.00260 +cappdp 0.00090 + +lowthresh 0.5 ; logic low threshold as a normalized voltage +highthresh 0.5 ; logic high threshold as a normalized voltage + +cntpullup 0 ; irrelevant, cmos technology; no depletion transistors +diffperim 0 ; don't include diffusion perimeters for sidewall cap. +subparea 0 ; poly over transistor won't count as part pf bulk-poly cap. +diffext 0 ; diffusion extension for each transistor + +device nfet sky130_fd_pr__nfet_01v8 +device nfet sky130_fd_pr__nfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8 +device pfet sky130_fd_pr__pfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8_hvt +device nfet sky130_fd_pr__special_nfet_latch +device nfet sky130_fd_pr__special_nfet_pass +device pfet sky130_fd_pr__special_pfet_pass +device pfet sky130_fd_pr__pfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_05v0_nvt + +; Capacitor values are in pF/centimicron^2 +device capacitor sky130_fd_pr__cap_mim_m3_1 2.0E-7 +device capacitor sky130_fd_pr__cap_mim_m3_2 2.0E-7 + +; Resistor values are in ohms/square +device resistor sky130_res_high_po_0p35 320 +device resistor sky130_res_high_po_0p69 320 +device resistor sky130_res_high_po_1p41 320 +device resistor sky130_res_high_po_2p85 320 +device resistor sky130_res_high_po_5p73 320 +device resistor sky130_res_high_po 320 +device resistor sky130_res_xhigh_po_0p35 2000 +device resistor sky130_res_xhigh_po_0p69 2000 +device resistor sky130_res_xhigh_po_1p41 2000 +device resistor sky130_res_xhigh_po_2p85 2000 +device resistor sky130_res_xhigh_po_5p73 2000 +device resistor sky130_res_xhigh_po 2000 +device resistor sky130_res_generic_nd 120 +device resistor sky130_res_generic_pd 197 + +; Diode +device diode sky130_fd_pr__diode_pw2nd_05v5 + +; Transistor device parameters + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8 dynamic-high 1.0 0.15 9.501364e+03 +resistance sky130_fd_pr__nfet_01v8 dynamic-low 1.0 0.15 2.088056e+03 +resistance sky130_fd_pr__nfet_01v8 static 1.0 0.15 3.882206e+03 + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-high 1.0 0.15 6.299391e+03 +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-low 1.0 0.15 1.838123e+03 +resistance sky130_fd_pr__nfet_01v8_lvt static 1.0 0.15 2.257726e+03 + +; C=100, N(w=0.21, l=0.15) +resistance sky130_fd_pr__special_nfet_latch dynamic-high 0.21 0.15 4.879829e+04 +resistance sky130_fd_pr__special_nfet_latch dynamic-low 0.21 0.15 1.377947e+04 +resistance sky130_fd_pr__special_nfet_latch static 0.21 0.15 2.486943e+04 + +; C=100, N(w=0.14, l=0.15) +resistance sky130_fd_pr__special_nfet_pass dynamic-high 0.14 0.15 6.230134e+04 +resistance sky130_fd_pr__special_nfet_pass dynamic-low 0.14 0.15 1.794308e+04 +resistance sky130_fd_pr__special_nfet_pass static 0.14 0.15 3.238605e+04 + +; C=250, N(w=1.0, l=0.5) +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-high 1.0 0.5 1.453575e+04 +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-low 1.0 0.5 5.388920e+03 +resistance sky130_fd_pr__nfet_g5v0d10v5 static 1.0 0.5 5.656515e+03 + +; C=250, N(w=1.0, l=0.9) +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-high 1.0 0.9 1.444315e+04 +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-low 1.0 0.9 5.281472e+03 +resistance sky130_fd_pr__nfet_05v0_nvt static 1.0 0.9 2.276622e+03 + +; C=250, P(w=1.0, l=0.15) +resistance sky130_fd_pr__pfet_01v8 dynamic-high 1.0 0.15 6.298040e+03 +resistance sky130_fd_pr__pfet_01v8 dynamic-low 1.0 0.15 2.636549e+04 +resistance sky130_fd_pr__pfet_01v8 static 1.0 0.15 7.275408e+03 + +; C=250, P(w=1.0, l=0.35) +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-high 1.0 0.35 7.104240e+03 +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-low 1.0 0.35 2.622204e+04 +resistance sky130_fd_pr__pfet_01v8_lvt static 1.0 0.35 5.602412e+03 + +; C=250, P(w=1.0, l=0.45) +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-high 1.0 0.45 2.039788e+04 +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-low 1.0 0.45 7.555881e+04 +resistance sky130_fd_pr__pfet_01v8_hvt static 1.0 0.45 2.516608e+04 + +; C=100, P(w=0.14, l=0.15) +resistance sky130_fd_pr__special_pfet_pass dynamic-high 0.14 0.15 6.726050e+04 +resistance sky130_fd_pr__special_pfet_pass dynamic-low 0.14 0.15 2.008743e+05 +resistance sky130_fd_pr__special_pfet_pass static 0.14 0.15 1.126153e+05 + +; C=250, P(w=1.0, l=0.5) +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-high 1.0 0.5 1.185548e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-low 1.0 0.5 3.872875e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 static 1.0 0.5 1.414394e+04 +
diff --git a/sky130/irsim/sky130_ss_high_n40.prm b/sky130/irsim/sky130_ss_high_n40.prm new file mode 100644 index 0000000..b3b6000 --- /dev/null +++ b/sky130/irsim/sky130_ss_high_n40.prm
@@ -0,0 +1,113 @@ +; +; configuration file for sky130 (0.13um process) +; + +lambda 0.005 ; length scaling, microns (1 lambda = 1 centimicron) + +capga .00832 ; gate capacitance, pF/micron^2 + +capda 0.0012 +capdp 0.0013 +cappda 0.00260 +cappdp 0.00090 + +lowthresh 0.5 ; logic low threshold as a normalized voltage +highthresh 0.5 ; logic high threshold as a normalized voltage + +cntpullup 0 ; irrelevant, cmos technology; no depletion transistors +diffperim 0 ; don't include diffusion perimeters for sidewall cap. +subparea 0 ; poly over transistor won't count as part pf bulk-poly cap. +diffext 0 ; diffusion extension for each transistor + +device nfet sky130_fd_pr__nfet_01v8 +device nfet sky130_fd_pr__nfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8 +device pfet sky130_fd_pr__pfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8_hvt +device nfet sky130_fd_pr__special_nfet_latch +device nfet sky130_fd_pr__special_nfet_pass +device pfet sky130_fd_pr__special_pfet_pass +device pfet sky130_fd_pr__pfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_05v0_nvt + +; Capacitor values are in pF/centimicron^2 +device capacitor sky130_fd_pr__cap_mim_m3_1 2.0E-7 +device capacitor sky130_fd_pr__cap_mim_m3_2 2.0E-7 + +; Resistor values are in ohms/square +device resistor sky130_res_high_po_0p35 320 +device resistor sky130_res_high_po_0p69 320 +device resistor sky130_res_high_po_1p41 320 +device resistor sky130_res_high_po_2p85 320 +device resistor sky130_res_high_po_5p73 320 +device resistor sky130_res_high_po 320 +device resistor sky130_res_xhigh_po_0p35 2000 +device resistor sky130_res_xhigh_po_0p69 2000 +device resistor sky130_res_xhigh_po_1p41 2000 +device resistor sky130_res_xhigh_po_2p85 2000 +device resistor sky130_res_xhigh_po_5p73 2000 +device resistor sky130_res_xhigh_po 2000 +device resistor sky130_res_generic_nd 120 +device resistor sky130_res_generic_pd 197 + +; Diode +device diode sky130_fd_pr__diode_pw2nd_05v5 + +; Transistor device parameters + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8 dynamic-high 1.0 0.15 7.866005e+03 +resistance sky130_fd_pr__nfet_01v8 dynamic-low 1.0 0.15 1.867214e+03 +resistance sky130_fd_pr__nfet_01v8 static 1.0 0.15 3.540358e+03 + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-high 1.0 0.15 5.352335e+03 +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-low 1.0 0.15 1.657739e+03 +resistance sky130_fd_pr__nfet_01v8_lvt static 1.0 0.15 2.057744e+03 + +; C=100, N(w=0.21, l=0.15) +resistance sky130_fd_pr__special_nfet_latch dynamic-high 0.21 0.15 4.150090e+04 +resistance sky130_fd_pr__special_nfet_latch dynamic-low 0.21 0.15 1.261238e+04 +resistance sky130_fd_pr__special_nfet_latch static 0.21 0.15 2.399205e+04 + +; C=100, N(w=0.14, l=0.15) +resistance sky130_fd_pr__special_nfet_pass dynamic-high 0.14 0.15 5.490831e+04 +resistance sky130_fd_pr__special_nfet_pass dynamic-low 0.14 0.15 1.682700e+04 +resistance sky130_fd_pr__special_nfet_pass static 0.14 0.15 3.153467e+04 + +; C=250, N(w=1.0, l=0.5) +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-high 1.0 0.5 1.213294e+04 +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-low 1.0 0.5 4.781548e+03 +resistance sky130_fd_pr__nfet_g5v0d10v5 static 1.0 0.5 4.882597e+03 + +; C=250, N(w=1.0, l=0.9) +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-high 1.0 0.9 1.201229e+04 +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-low 1.0 0.9 4.485600e+03 +resistance sky130_fd_pr__nfet_05v0_nvt static 1.0 0.9 1.748898e+03 + +; C=250, P(w=1.0, l=0.15) +resistance sky130_fd_pr__pfet_01v8 dynamic-high 1.0 0.15 6.763240e+03 +resistance sky130_fd_pr__pfet_01v8 dynamic-low 1.0 0.15 2.609571e+04 +resistance sky130_fd_pr__pfet_01v8 static 1.0 0.15 7.804501e+03 + +; C=250, P(w=1.0, l=0.35) +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-high 1.0 0.35 6.965040e+03 +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-low 1.0 0.35 2.425498e+04 +resistance sky130_fd_pr__pfet_01v8_lvt static 1.0 0.35 5.174292e+03 + +; C=250, P(w=1.0, l=0.45) +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-high 1.0 0.45 2.026036e+04 +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-low 1.0 0.45 6.711070e+04 +resistance sky130_fd_pr__pfet_01v8_hvt static 1.0 0.45 2.331223e+04 + +; C=100, P(w=0.14, l=0.15) +resistance sky130_fd_pr__special_pfet_pass dynamic-high 0.14 0.15 6.876680e+04 +resistance sky130_fd_pr__special_pfet_pass dynamic-low 0.14 0.15 1.891660e+05 +resistance sky130_fd_pr__special_pfet_pass static 0.14 0.15 1.163394e+05 + +; C=250, P(w=1.0, l=0.5) +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-high 1.0 0.5 1.048200e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-low 1.0 0.5 3.342015e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 static 1.0 0.5 1.193099e+04 +
diff --git a/sky130/irsim/sky130_ss_low_125.prm b/sky130/irsim/sky130_ss_low_125.prm new file mode 100644 index 0000000..6fa2951 --- /dev/null +++ b/sky130/irsim/sky130_ss_low_125.prm
@@ -0,0 +1,113 @@ +; +; configuration file for sky130 (0.13um process) +; + +lambda 0.005 ; length scaling, microns (1 lambda = 1 centimicron) + +capga .00832 ; gate capacitance, pF/micron^2 + +capda 0.0012 +capdp 0.0013 +cappda 0.00260 +cappdp 0.00090 + +lowthresh 0.5 ; logic low threshold as a normalized voltage +highthresh 0.5 ; logic high threshold as a normalized voltage + +cntpullup 0 ; irrelevant, cmos technology; no depletion transistors +diffperim 0 ; don't include diffusion perimeters for sidewall cap. +subparea 0 ; poly over transistor won't count as part pf bulk-poly cap. +diffext 0 ; diffusion extension for each transistor + +device nfet sky130_fd_pr__nfet_01v8 +device nfet sky130_fd_pr__nfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8 +device pfet sky130_fd_pr__pfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8_hvt +device nfet sky130_fd_pr__special_nfet_latch +device nfet sky130_fd_pr__special_nfet_pass +device pfet sky130_fd_pr__special_pfet_pass +device pfet sky130_fd_pr__pfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_05v0_nvt + +; Capacitor values are in pF/centimicron^2 +device capacitor sky130_fd_pr__cap_mim_m3_1 2.0E-7 +device capacitor sky130_fd_pr__cap_mim_m3_2 2.0E-7 + +; Resistor values are in ohms/square +device resistor sky130_res_high_po_0p35 320 +device resistor sky130_res_high_po_0p69 320 +device resistor sky130_res_high_po_1p41 320 +device resistor sky130_res_high_po_2p85 320 +device resistor sky130_res_high_po_5p73 320 +device resistor sky130_res_high_po 320 +device resistor sky130_res_xhigh_po_0p35 2000 +device resistor sky130_res_xhigh_po_0p69 2000 +device resistor sky130_res_xhigh_po_1p41 2000 +device resistor sky130_res_xhigh_po_2p85 2000 +device resistor sky130_res_xhigh_po_5p73 2000 +device resistor sky130_res_xhigh_po 2000 +device resistor sky130_res_generic_nd 120 +device resistor sky130_res_generic_pd 197 + +; Diode +device diode sky130_fd_pr__diode_pw2nd_05v5 + +; Transistor device parameters + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8 dynamic-high 1.0 0.15 2.012839e+04 +resistance sky130_fd_pr__nfet_01v8 dynamic-low 1.0 0.15 3.183592e+03 +resistance sky130_fd_pr__nfet_01v8 static 1.0 0.15 8.160095e+03 + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-high 1.0 0.15 1.267892e+04 +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-low 1.0 0.15 2.572211e+03 +resistance sky130_fd_pr__nfet_01v8_lvt static 1.0 0.15 4.990970e+03 + +; C=100, N(w=0.21, l=0.15) +resistance sky130_fd_pr__special_nfet_latch dynamic-high 0.21 0.15 9.315069e+04 +resistance sky130_fd_pr__special_nfet_latch dynamic-low 0.21 0.15 2.044650e+04 +resistance sky130_fd_pr__special_nfet_latch static 0.21 0.15 5.584694e+04 + +; C=100, N(w=0.14, l=0.15) +resistance sky130_fd_pr__special_nfet_pass dynamic-high 0.14 0.15 1.106741e+05 +resistance sky130_fd_pr__special_nfet_pass dynamic-low 0.14 0.15 2.531724e+04 +resistance sky130_fd_pr__special_nfet_pass static 0.14 0.15 6.796740e+04 + +; C=250, N(w=1.0, l=0.5) +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-high 1.0 0.5 2.286029e+04 +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-low 1.0 0.5 7.653464e+03 +resistance sky130_fd_pr__nfet_g5v0d10v5 static 1.0 0.5 1.014807e+04 + +; C=250, N(w=1.0, l=0.9) +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-high 1.0 0.9 1.946737e+04 +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-low 1.0 0.9 7.298216e+03 +resistance sky130_fd_pr__nfet_05v0_nvt static 1.0 0.9 2.716323e+03 + +; C=250, P(w=1.0, l=0.15) +resistance sky130_fd_pr__pfet_01v8 dynamic-high 1.0 0.15 7.632440e+03 +resistance sky130_fd_pr__pfet_01v8 dynamic-low 1.0 0.15 3.830500e+04 +resistance sky130_fd_pr__pfet_01v8 static 1.0 0.15 1.058786e+04 + +; C=250, P(w=1.0, l=0.35) +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-high 1.0 0.35 8.693840e+03 +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-low 1.0 0.35 3.635589e+04 +resistance sky130_fd_pr__pfet_01v8_lvt static 1.0 0.35 9.092003e+03 + +; C=250, P(w=1.0, l=0.45) +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-high 1.0 0.45 3.545480e+04 +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-low 1.0 0.45 1.228167e+05 +resistance sky130_fd_pr__pfet_01v8_hvt static 1.0 0.45 5.249201e+04 + +; C=100, P(w=0.14, l=0.15) +resistance sky130_fd_pr__special_pfet_pass dynamic-high 0.14 0.15 1.031702e+05 +resistance sky130_fd_pr__special_pfet_pass dynamic-low 0.14 0.15 3.118979e+05 +resistance sky130_fd_pr__special_pfet_pass static 0.14 0.15 2.004266e+05 + +; C=250, P(w=1.0, l=0.5) +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-high 1.0 0.5 1.677724e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-low 1.0 0.5 5.589299e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 static 1.0 0.5 2.327038e+04 +
diff --git a/sky130/irsim/sky130_ss_low_27.prm b/sky130/irsim/sky130_ss_low_27.prm new file mode 100644 index 0000000..122e3ce --- /dev/null +++ b/sky130/irsim/sky130_ss_low_27.prm
@@ -0,0 +1,113 @@ +; +; configuration file for sky130 (0.13um process) +; + +lambda 0.005 ; length scaling, microns (1 lambda = 1 centimicron) + +capga .00832 ; gate capacitance, pF/micron^2 + +capda 0.0012 +capdp 0.0013 +cappda 0.00260 +cappdp 0.00090 + +lowthresh 0.5 ; logic low threshold as a normalized voltage +highthresh 0.5 ; logic high threshold as a normalized voltage + +cntpullup 0 ; irrelevant, cmos technology; no depletion transistors +diffperim 0 ; don't include diffusion perimeters for sidewall cap. +subparea 0 ; poly over transistor won't count as part pf bulk-poly cap. +diffext 0 ; diffusion extension for each transistor + +device nfet sky130_fd_pr__nfet_01v8 +device nfet sky130_fd_pr__nfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8 +device pfet sky130_fd_pr__pfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8_hvt +device nfet sky130_fd_pr__special_nfet_latch +device nfet sky130_fd_pr__special_nfet_pass +device pfet sky130_fd_pr__special_pfet_pass +device pfet sky130_fd_pr__pfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_05v0_nvt + +; Capacitor values are in pF/centimicron^2 +device capacitor sky130_fd_pr__cap_mim_m3_1 2.0E-7 +device capacitor sky130_fd_pr__cap_mim_m3_2 2.0E-7 + +; Resistor values are in ohms/square +device resistor sky130_res_high_po_0p35 320 +device resistor sky130_res_high_po_0p69 320 +device resistor sky130_res_high_po_1p41 320 +device resistor sky130_res_high_po_2p85 320 +device resistor sky130_res_high_po_5p73 320 +device resistor sky130_res_high_po 320 +device resistor sky130_res_xhigh_po_0p35 2000 +device resistor sky130_res_xhigh_po_0p69 2000 +device resistor sky130_res_xhigh_po_1p41 2000 +device resistor sky130_res_xhigh_po_2p85 2000 +device resistor sky130_res_xhigh_po_5p73 2000 +device resistor sky130_res_xhigh_po 2000 +device resistor sky130_res_generic_nd 120 +device resistor sky130_res_generic_pd 197 + +; Diode +device diode sky130_fd_pr__diode_pw2nd_05v5 + +; Transistor device parameters + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8 dynamic-high 1.0 0.15 1.780344e+04 +resistance sky130_fd_pr__nfet_01v8 dynamic-low 1.0 0.15 2.773893e+03 +resistance sky130_fd_pr__nfet_01v8 static 1.0 0.15 7.824694e+03 + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-high 1.0 0.15 1.024764e+04 +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-low 1.0 0.15 2.245165e+03 +resistance sky130_fd_pr__nfet_01v8_lvt static 1.0 0.15 4.557576e+03 + +; C=100, N(w=0.21, l=0.15) +resistance sky130_fd_pr__special_nfet_latch dynamic-high 0.21 0.15 8.407953e+04 +resistance sky130_fd_pr__special_nfet_latch dynamic-low 0.21 0.15 1.824233e+04 +resistance sky130_fd_pr__special_nfet_latch static 0.21 0.15 5.927841e+04 + +; C=100, N(w=0.14, l=0.15) +resistance sky130_fd_pr__special_nfet_pass dynamic-high 0.14 0.15 1.050503e+05 +resistance sky130_fd_pr__special_nfet_pass dynamic-low 0.14 0.15 2.345860e+04 +resistance sky130_fd_pr__special_nfet_pass static 0.14 0.15 7.122643e+04 + +; C=250, N(w=1.0, l=0.5) +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-high 1.0 0.5 1.842555e+04 +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-low 1.0 0.5 6.292432e+03 +resistance sky130_fd_pr__nfet_g5v0d10v5 static 1.0 0.5 8.485566e+03 + +; C=250, N(w=1.0, l=0.9) +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-high 1.0 0.9 1.596275e+04 +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-low 1.0 0.9 5.792360e+03 +resistance sky130_fd_pr__nfet_05v0_nvt static 1.0 0.9 2.044169e+03 + +; C=250, P(w=1.0, l=0.15) +resistance sky130_fd_pr__pfet_01v8 dynamic-high 1.0 0.15 9.125440e+03 +resistance sky130_fd_pr__pfet_01v8 dynamic-low 1.0 0.15 4.242047e+04 +resistance sky130_fd_pr__pfet_01v8 static 1.0 0.15 1.331835e+04 + +; C=250, P(w=1.0, l=0.35) +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-high 1.0 0.35 8.707560e+03 +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-low 1.0 0.35 3.785726e+04 +resistance sky130_fd_pr__pfet_01v8_lvt static 1.0 0.35 9.225716e+03 + +; C=250, P(w=1.0, l=0.45) +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-high 1.0 0.45 4.005572e+04 +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-low 1.0 0.45 1.239154e+05 +resistance sky130_fd_pr__pfet_01v8_hvt static 1.0 0.45 5.806430e+04 + +; C=100, P(w=0.14, l=0.15) +resistance sky130_fd_pr__special_pfet_pass dynamic-high 0.14 0.15 1.202761e+05 +resistance sky130_fd_pr__special_pfet_pass dynamic-low 0.14 0.15 3.301818e+05 +resistance sky130_fd_pr__special_pfet_pass static 0.14 0.15 2.450193e+05 + +; C=250, P(w=1.0, l=0.5) +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-high 1.0 0.5 1.503712e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-low 1.0 0.5 5.017049e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 static 1.0 0.5 2.054089e+04 +
diff --git a/sky130/irsim/sky130_ss_low_n40.prm b/sky130/irsim/sky130_ss_low_n40.prm new file mode 100644 index 0000000..299dfc7 --- /dev/null +++ b/sky130/irsim/sky130_ss_low_n40.prm
@@ -0,0 +1,113 @@ +; +; configuration file for sky130 (0.13um process) +; + +lambda 0.005 ; length scaling, microns (1 lambda = 1 centimicron) + +capga .00832 ; gate capacitance, pF/micron^2 + +capda 0.0012 +capdp 0.0013 +cappda 0.00260 +cappdp 0.00090 + +lowthresh 0.5 ; logic low threshold as a normalized voltage +highthresh 0.5 ; logic high threshold as a normalized voltage + +cntpullup 0 ; irrelevant, cmos technology; no depletion transistors +diffperim 0 ; don't include diffusion perimeters for sidewall cap. +subparea 0 ; poly over transistor won't count as part pf bulk-poly cap. +diffext 0 ; diffusion extension for each transistor + +device nfet sky130_fd_pr__nfet_01v8 +device nfet sky130_fd_pr__nfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8 +device pfet sky130_fd_pr__pfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8_hvt +device nfet sky130_fd_pr__special_nfet_latch +device nfet sky130_fd_pr__special_nfet_pass +device pfet sky130_fd_pr__special_pfet_pass +device pfet sky130_fd_pr__pfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_05v0_nvt + +; Capacitor values are in pF/centimicron^2 +device capacitor sky130_fd_pr__cap_mim_m3_1 2.0E-7 +device capacitor sky130_fd_pr__cap_mim_m3_2 2.0E-7 + +; Resistor values are in ohms/square +device resistor sky130_res_high_po_0p35 320 +device resistor sky130_res_high_po_0p69 320 +device resistor sky130_res_high_po_1p41 320 +device resistor sky130_res_high_po_2p85 320 +device resistor sky130_res_high_po_5p73 320 +device resistor sky130_res_high_po 320 +device resistor sky130_res_xhigh_po_0p35 2000 +device resistor sky130_res_xhigh_po_0p69 2000 +device resistor sky130_res_xhigh_po_1p41 2000 +device resistor sky130_res_xhigh_po_2p85 2000 +device resistor sky130_res_xhigh_po_5p73 2000 +device resistor sky130_res_xhigh_po 2000 +device resistor sky130_res_generic_nd 120 +device resistor sky130_res_generic_pd 197 + +; Diode +device diode sky130_fd_pr__diode_pw2nd_05v5 + +; Transistor device parameters + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8 dynamic-high 1.0 0.15 1.556871e+04 +resistance sky130_fd_pr__nfet_01v8 dynamic-low 1.0 0.15 2.489453e+03 +resistance sky130_fd_pr__nfet_01v8 static 1.0 0.15 7.813395e+03 + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-high 1.0 0.15 8.639513e+03 +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-low 1.0 0.15 2.038604e+03 +resistance sky130_fd_pr__nfet_01v8_lvt static 1.0 0.15 4.330448e+03 + +; C=100, N(w=0.21, l=0.15) +resistance sky130_fd_pr__special_nfet_latch dynamic-high 0.21 0.15 7.420769e+04 +resistance sky130_fd_pr__special_nfet_latch dynamic-low 0.21 0.15 1.681723e+04 +resistance sky130_fd_pr__special_nfet_latch static 0.21 0.15 6.297746e+04 + +; C=100, N(w=0.14, l=0.15) +resistance sky130_fd_pr__special_nfet_pass dynamic-high 0.14 0.15 9.624619e+04 +resistance sky130_fd_pr__special_nfet_pass dynamic-low 0.14 0.15 2.218331e+04 +resistance sky130_fd_pr__special_nfet_pass static 0.14 0.15 7.505954e+04 + +; C=250, N(w=1.0, l=0.5) +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-high 1.0 0.5 1.522073e+04 +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-low 1.0 0.5 5.546128e+03 +resistance sky130_fd_pr__nfet_g5v0d10v5 static 1.0 0.5 7.440011e+03 + +; C=250, N(w=1.0, l=0.9) +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-high 1.0 0.9 1.335027e+04 +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-low 1.0 0.9 4.883052e+03 +resistance sky130_fd_pr__nfet_05v0_nvt static 1.0 0.9 1.592365e+03 + +; C=250, P(w=1.0, l=0.15) +resistance sky130_fd_pr__pfet_01v8 dynamic-high 1.0 0.15 1.066228e+04 +resistance sky130_fd_pr__pfet_01v8 dynamic-low 1.0 0.15 4.409640e+04 +resistance sky130_fd_pr__pfet_01v8 static 1.0 0.15 1.583670e+04 + +; C=250, P(w=1.0, l=0.35) +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-high 1.0 0.35 8.599200e+03 +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-low 1.0 0.35 3.635650e+04 +resistance sky130_fd_pr__pfet_01v8_lvt static 1.0 0.35 9.053810e+03 + +; C=250, P(w=1.0, l=0.45) +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-high 1.0 0.45 4.429540e+04 +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-low 1.0 0.45 1.204837e+05 +resistance sky130_fd_pr__pfet_01v8_hvt static 1.0 0.45 6.150021e+04 + +; C=100, P(w=0.14, l=0.15) +resistance sky130_fd_pr__special_pfet_pass dynamic-high 0.14 0.15 1.380988e+05 +resistance sky130_fd_pr__special_pfet_pass dynamic-low 0.14 0.15 3.380226e+05 +resistance sky130_fd_pr__special_pfet_pass static 0.14 0.15 2.879039e+05 + +; C=250, P(w=1.0, l=0.5) +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-high 1.0 0.5 1.344584e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-low 1.0 0.5 4.402824e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 static 1.0 0.5 1.784540e+04 +
diff --git a/sky130/irsim/sky130_ss_nom_125.prm b/sky130/irsim/sky130_ss_nom_125.prm new file mode 100644 index 0000000..d74b624 --- /dev/null +++ b/sky130/irsim/sky130_ss_nom_125.prm
@@ -0,0 +1,113 @@ +; +; configuration file for sky130 (0.13um process) +; + +lambda 0.005 ; length scaling, microns (1 lambda = 1 centimicron) + +capga .00832 ; gate capacitance, pF/micron^2 + +capda 0.0012 +capdp 0.0013 +cappda 0.00260 +cappdp 0.00090 + +lowthresh 0.5 ; logic low threshold as a normalized voltage +highthresh 0.5 ; logic high threshold as a normalized voltage + +cntpullup 0 ; irrelevant, cmos technology; no depletion transistors +diffperim 0 ; don't include diffusion perimeters for sidewall cap. +subparea 0 ; poly over transistor won't count as part pf bulk-poly cap. +diffext 0 ; diffusion extension for each transistor + +device nfet sky130_fd_pr__nfet_01v8 +device nfet sky130_fd_pr__nfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8 +device pfet sky130_fd_pr__pfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8_hvt +device nfet sky130_fd_pr__special_nfet_latch +device nfet sky130_fd_pr__special_nfet_pass +device pfet sky130_fd_pr__special_pfet_pass +device pfet sky130_fd_pr__pfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_05v0_nvt + +; Capacitor values are in pF/centimicron^2 +device capacitor sky130_fd_pr__cap_mim_m3_1 2.0E-7 +device capacitor sky130_fd_pr__cap_mim_m3_2 2.0E-7 + +; Resistor values are in ohms/square +device resistor sky130_res_high_po_0p35 320 +device resistor sky130_res_high_po_0p69 320 +device resistor sky130_res_high_po_1p41 320 +device resistor sky130_res_high_po_2p85 320 +device resistor sky130_res_high_po_5p73 320 +device resistor sky130_res_high_po 320 +device resistor sky130_res_xhigh_po_0p35 2000 +device resistor sky130_res_xhigh_po_0p69 2000 +device resistor sky130_res_xhigh_po_1p41 2000 +device resistor sky130_res_xhigh_po_2p85 2000 +device resistor sky130_res_xhigh_po_5p73 2000 +device resistor sky130_res_xhigh_po 2000 +device resistor sky130_res_generic_nd 120 +device resistor sky130_res_generic_pd 197 + +; Diode +device diode sky130_fd_pr__diode_pw2nd_05v5 + +; Transistor device parameters + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8 dynamic-high 1.0 0.15 1.464188e+04 +resistance sky130_fd_pr__nfet_01v8 dynamic-low 1.0 0.15 2.732055e+03 +resistance sky130_fd_pr__nfet_01v8 static 1.0 0.15 5.833161e+03 + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-high 1.0 0.15 9.577039e+03 +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-low 1.0 0.15 2.313102e+03 +resistance sky130_fd_pr__nfet_01v8_lvt static 1.0 0.15 3.517004e+03 + +; C=100, N(w=0.21, l=0.15) +resistance sky130_fd_pr__special_nfet_latch dynamic-high 0.21 0.15 7.084214e+04 +resistance sky130_fd_pr__special_nfet_latch dynamic-low 0.21 0.15 1.756940e+04 +resistance sky130_fd_pr__special_nfet_latch static 0.21 0.15 3.687917e+04 + +; C=100, N(w=0.14, l=0.15) +resistance sky130_fd_pr__special_nfet_pass dynamic-high 0.14 0.15 8.509659e+04 +resistance sky130_fd_pr__special_nfet_pass dynamic-low 0.14 0.15 2.186929e+04 +resistance sky130_fd_pr__special_nfet_pass static 0.14 0.15 4.629754e+04 + +; C=250, N(w=1.0, l=0.5) +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-high 1.0 0.5 2.017994e+04 +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-low 1.0 0.5 7.009664e+03 +resistance sky130_fd_pr__nfet_g5v0d10v5 static 1.0 0.5 8.291349e+03 + +; C=250, N(w=1.0, l=0.9) +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-high 1.0 0.9 1.864814e+04 +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-low 1.0 0.9 6.933896e+03 +resistance sky130_fd_pr__nfet_05v0_nvt static 1.0 0.9 2.949879e+03 + +; C=250, P(w=1.0, l=0.15) +resistance sky130_fd_pr__pfet_01v8 dynamic-high 1.0 0.15 6.479680e+03 +resistance sky130_fd_pr__pfet_01v8 dynamic-low 1.0 0.15 3.071224e+04 +resistance sky130_fd_pr__pfet_01v8 static 1.0 0.15 8.159430e+03 + +; C=250, P(w=1.0, l=0.35) +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-high 1.0 0.35 7.777320e+03 +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-low 1.0 0.35 3.084444e+04 +resistance sky130_fd_pr__pfet_01v8_lvt static 1.0 0.35 7.308968e+03 + +; C=250, P(w=1.0, l=0.45) +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-high 1.0 0.45 2.608808e+04 +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-low 1.0 0.45 9.916700e+04 +resistance sky130_fd_pr__pfet_01v8_hvt static 1.0 0.45 3.628127e+04 + +; C=100, P(w=0.14, l=0.15) +resistance sky130_fd_pr__special_pfet_pass dynamic-high 0.14 0.15 7.928750e+04 +resistance sky130_fd_pr__special_pfet_pass dynamic-low 0.14 0.15 2.499779e+05 +resistance sky130_fd_pr__special_pfet_pass static 0.14 0.15 1.403125e+05 + +; C=250, P(w=1.0, l=0.5) +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-high 1.0 0.5 1.489416e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-low 1.0 0.5 4.939923e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 static 1.0 0.5 1.952327e+04 +
diff --git a/sky130/irsim/sky130_ss_nom_27.prm b/sky130/irsim/sky130_ss_nom_27.prm new file mode 100644 index 0000000..c787e7c --- /dev/null +++ b/sky130/irsim/sky130_ss_nom_27.prm
@@ -0,0 +1,113 @@ +; +; configuration file for sky130 (0.13um process) +; + +lambda 0.005 ; length scaling, microns (1 lambda = 1 centimicron) + +capga .00832 ; gate capacitance, pF/micron^2 + +capda 0.0012 +capdp 0.0013 +cappda 0.00260 +cappdp 0.00090 + +lowthresh 0.5 ; logic low threshold as a normalized voltage +highthresh 0.5 ; logic high threshold as a normalized voltage + +cntpullup 0 ; irrelevant, cmos technology; no depletion transistors +diffperim 0 ; don't include diffusion perimeters for sidewall cap. +subparea 0 ; poly over transistor won't count as part pf bulk-poly cap. +diffext 0 ; diffusion extension for each transistor + +device nfet sky130_fd_pr__nfet_01v8 +device nfet sky130_fd_pr__nfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8 +device pfet sky130_fd_pr__pfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8_hvt +device nfet sky130_fd_pr__special_nfet_latch +device nfet sky130_fd_pr__special_nfet_pass +device pfet sky130_fd_pr__special_pfet_pass +device pfet sky130_fd_pr__pfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_05v0_nvt + +; Capacitor values are in pF/centimicron^2 +device capacitor sky130_fd_pr__cap_mim_m3_1 2.0E-7 +device capacitor sky130_fd_pr__cap_mim_m3_2 2.0E-7 + +; Resistor values are in ohms/square +device resistor sky130_res_high_po_0p35 320 +device resistor sky130_res_high_po_0p69 320 +device resistor sky130_res_high_po_1p41 320 +device resistor sky130_res_high_po_2p85 320 +device resistor sky130_res_high_po_5p73 320 +device resistor sky130_res_high_po 320 +device resistor sky130_res_xhigh_po_0p35 2000 +device resistor sky130_res_xhigh_po_0p69 2000 +device resistor sky130_res_xhigh_po_1p41 2000 +device resistor sky130_res_xhigh_po_2p85 2000 +device resistor sky130_res_xhigh_po_5p73 2000 +device resistor sky130_res_xhigh_po 2000 +device resistor sky130_res_generic_nd 120 +device resistor sky130_res_generic_pd 197 + +; Diode +device diode sky130_fd_pr__diode_pw2nd_05v5 + +; Transistor device parameters + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8 dynamic-high 1.0 0.15 1.253553e+04 +resistance sky130_fd_pr__nfet_01v8 dynamic-low 1.0 0.15 2.356375e+03 +resistance sky130_fd_pr__nfet_01v8 static 1.0 0.15 5.326227e+03 + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-high 1.0 0.15 7.750195e+03 +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-low 1.0 0.15 2.002269e+03 +resistance sky130_fd_pr__nfet_01v8_lvt static 1.0 0.15 3.129267e+03 + +; C=100, N(w=0.21, l=0.15) +resistance sky130_fd_pr__special_nfet_latch dynamic-high 0.21 0.15 6.167735e+04 +resistance sky130_fd_pr__special_nfet_latch dynamic-low 0.21 0.15 1.549979e+04 +resistance sky130_fd_pr__special_nfet_latch static 0.21 0.15 3.669642e+04 + +; C=100, N(w=0.14, l=0.15) +resistance sky130_fd_pr__special_nfet_pass dynamic-high 0.14 0.15 7.820264e+04 +resistance sky130_fd_pr__special_nfet_pass dynamic-low 0.14 0.15 2.005916e+04 +resistance sky130_fd_pr__special_nfet_pass static 0.14 0.15 4.607778e+04 + +; C=250, N(w=1.0, l=0.5) +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-high 1.0 0.5 1.614325e+04 +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-low 1.0 0.5 5.769496e+03 +resistance sky130_fd_pr__nfet_g5v0d10v5 static 1.0 0.5 6.781009e+03 + +; C=250, N(w=1.0, l=0.9) +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-high 1.0 0.9 1.514280e+04 +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-low 1.0 0.9 5.511388e+03 +resistance sky130_fd_pr__nfet_05v0_nvt static 1.0 0.9 2.187205e+03 + +; C=250, P(w=1.0, l=0.15) +resistance sky130_fd_pr__pfet_01v8 dynamic-high 1.0 0.15 7.360280e+03 +resistance sky130_fd_pr__pfet_01v8 dynamic-low 1.0 0.15 3.269455e+04 +resistance sky130_fd_pr__pfet_01v8 static 1.0 0.15 9.554537e+03 + +; C=250, P(w=1.0, l=0.35) +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-high 1.0 0.35 7.692000e+03 +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-low 1.0 0.35 3.108082e+04 +resistance sky130_fd_pr__pfet_01v8_lvt static 1.0 0.35 7.086696e+03 + +; C=250, P(w=1.0, l=0.45) +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-high 1.0 0.45 2.709360e+04 +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-low 1.0 0.45 9.442307e+04 +resistance sky130_fd_pr__pfet_01v8_hvt static 1.0 0.45 3.624777e+04 + +; C=100, P(w=0.14, l=0.15) +resistance sky130_fd_pr__special_pfet_pass dynamic-high 0.14 0.15 8.530360e+04 +resistance sky130_fd_pr__special_pfet_pass dynamic-low 0.14 0.15 2.508576e+05 +resistance sky130_fd_pr__special_pfet_pass static 0.14 0.15 1.570014e+05 + +; C=250, P(w=1.0, l=0.5) +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-high 1.0 0.5 1.318316e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-low 1.0 0.5 4.363857e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 static 1.0 0.5 1.672925e+04 +
diff --git a/sky130/irsim/sky130_ss_nom_n40.prm b/sky130/irsim/sky130_ss_nom_n40.prm new file mode 100644 index 0000000..b26a140 --- /dev/null +++ b/sky130/irsim/sky130_ss_nom_n40.prm
@@ -0,0 +1,113 @@ +; +; configuration file for sky130 (0.13um process) +; + +lambda 0.005 ; length scaling, microns (1 lambda = 1 centimicron) + +capga .00832 ; gate capacitance, pF/micron^2 + +capda 0.0012 +capdp 0.0013 +cappda 0.00260 +cappdp 0.00090 + +lowthresh 0.5 ; logic low threshold as a normalized voltage +highthresh 0.5 ; logic high threshold as a normalized voltage + +cntpullup 0 ; irrelevant, cmos technology; no depletion transistors +diffperim 0 ; don't include diffusion perimeters for sidewall cap. +subparea 0 ; poly over transistor won't count as part pf bulk-poly cap. +diffext 0 ; diffusion extension for each transistor + +device nfet sky130_fd_pr__nfet_01v8 +device nfet sky130_fd_pr__nfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8 +device pfet sky130_fd_pr__pfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8_hvt +device nfet sky130_fd_pr__special_nfet_latch +device nfet sky130_fd_pr__special_nfet_pass +device pfet sky130_fd_pr__special_pfet_pass +device pfet sky130_fd_pr__pfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_05v0_nvt + +; Capacitor values are in pF/centimicron^2 +device capacitor sky130_fd_pr__cap_mim_m3_1 2.0E-7 +device capacitor sky130_fd_pr__cap_mim_m3_2 2.0E-7 + +; Resistor values are in ohms/square +device resistor sky130_res_high_po_0p35 320 +device resistor sky130_res_high_po_0p69 320 +device resistor sky130_res_high_po_1p41 320 +device resistor sky130_res_high_po_2p85 320 +device resistor sky130_res_high_po_5p73 320 +device resistor sky130_res_high_po 320 +device resistor sky130_res_xhigh_po_0p35 2000 +device resistor sky130_res_xhigh_po_0p69 2000 +device resistor sky130_res_xhigh_po_1p41 2000 +device resistor sky130_res_xhigh_po_2p85 2000 +device resistor sky130_res_xhigh_po_5p73 2000 +device resistor sky130_res_xhigh_po 2000 +device resistor sky130_res_generic_nd 120 +device resistor sky130_res_generic_pd 197 + +; Diode +device diode sky130_fd_pr__diode_pw2nd_05v5 + +; Transistor device parameters + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8 dynamic-high 1.0 0.15 1.055885e+04 +resistance sky130_fd_pr__nfet_01v8 dynamic-low 1.0 0.15 2.108863e+03 +resistance sky130_fd_pr__nfet_01v8 static 1.0 0.15 5.037245e+03 + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-high 1.0 0.15 6.549100e+03 +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-low 1.0 0.15 1.810986e+03 +resistance sky130_fd_pr__nfet_01v8_lvt static 1.0 0.15 2.909423e+03 + +; C=100, N(w=0.21, l=0.15) +resistance sky130_fd_pr__special_nfet_latch dynamic-high 0.21 0.15 5.294805e+04 +resistance sky130_fd_pr__special_nfet_latch dynamic-low 0.21 0.15 1.421414e+04 +resistance sky130_fd_pr__special_nfet_latch static 0.21 0.15 3.669032e+04 + +; C=100, N(w=0.14, l=0.15) +resistance sky130_fd_pr__special_nfet_pass dynamic-high 0.14 0.15 6.971007e+04 +resistance sky130_fd_pr__special_nfet_pass dynamic-low 0.14 0.15 1.886202e+04 +resistance sky130_fd_pr__special_nfet_pass static 0.14 0.15 4.621273e+04 + +; C=250, N(w=1.0, l=0.5) +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-high 1.0 0.5 1.340015e+04 +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-low 1.0 0.5 5.103148e+03 +resistance sky130_fd_pr__nfet_g5v0d10v5 static 1.0 0.5 5.888093e+03 + +; C=250, N(w=1.0, l=0.9) +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-high 1.0 0.9 1.262023e+04 +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-low 1.0 0.9 4.663780e+03 +resistance sky130_fd_pr__nfet_05v0_nvt static 1.0 0.9 1.690729e+03 + +; C=250, P(w=1.0, l=0.15) +resistance sky130_fd_pr__pfet_01v8 dynamic-high 1.0 0.15 8.159880e+03 +resistance sky130_fd_pr__pfet_01v8 dynamic-low 1.0 0.15 3.293494e+04 +resistance sky130_fd_pr__pfet_01v8 static 1.0 0.15 1.067330e+04 + +; C=250, P(w=1.0, l=0.35) +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-high 1.0 0.35 7.536600e+03 +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-low 1.0 0.35 2.917178e+04 +resistance sky130_fd_pr__pfet_01v8_lvt static 1.0 0.35 6.731210e+03 + +; C=250, P(w=1.0, l=0.45) +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-high 1.0 0.45 2.771920e+04 +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-low 1.0 0.45 8.659643e+04 +resistance sky130_fd_pr__pfet_01v8_hvt static 1.0 0.45 3.527663e+04 + +; C=100, P(w=0.14, l=0.15) +resistance sky130_fd_pr__special_pfet_pass dynamic-high 0.14 0.15 9.050620e+04 +resistance sky130_fd_pr__special_pfet_pass dynamic-low 0.14 0.15 2.433497e+05 +resistance sky130_fd_pr__special_pfet_pass static 0.14 0.15 1.692553e+05 + +; C=250, P(w=1.0, l=0.5) +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-high 1.0 0.5 1.170044e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-low 1.0 0.5 3.791398e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 static 1.0 0.5 1.427962e+04 +
diff --git a/sky130/irsim/sky130_tt_high_125.prm b/sky130/irsim/sky130_tt_high_125.prm new file mode 100644 index 0000000..f888b32 --- /dev/null +++ b/sky130/irsim/sky130_tt_high_125.prm
@@ -0,0 +1,113 @@ +; +; configuration file for sky130 (0.13um process) +; + +lambda 0.005 ; length scaling, microns (1 lambda = 1 centimicron) + +capga .00832 ; gate capacitance, pF/micron^2 + +capda 0.0012 +capdp 0.0013 +cappda 0.00260 +cappdp 0.00090 + +lowthresh 0.5 ; logic low threshold as a normalized voltage +highthresh 0.5 ; logic high threshold as a normalized voltage + +cntpullup 0 ; irrelevant, cmos technology; no depletion transistors +diffperim 0 ; don't include diffusion perimeters for sidewall cap. +subparea 0 ; poly over transistor won't count as part pf bulk-poly cap. +diffext 0 ; diffusion extension for each transistor + +device nfet sky130_fd_pr__nfet_01v8 +device nfet sky130_fd_pr__nfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8 +device pfet sky130_fd_pr__pfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8_hvt +device nfet sky130_fd_pr__special_nfet_latch +device nfet sky130_fd_pr__special_nfet_pass +device pfet sky130_fd_pr__special_pfet_pass +device pfet sky130_fd_pr__pfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_05v0_nvt + +; Capacitor values are in pF/centimicron^2 +device capacitor sky130_fd_pr__cap_mim_m3_1 2.0E-7 +device capacitor sky130_fd_pr__cap_mim_m3_2 2.0E-7 + +; Resistor values are in ohms/square +device resistor sky130_res_high_po_0p35 320 +device resistor sky130_res_high_po_0p69 320 +device resistor sky130_res_high_po_1p41 320 +device resistor sky130_res_high_po_2p85 320 +device resistor sky130_res_high_po_5p73 320 +device resistor sky130_res_high_po 320 +device resistor sky130_res_xhigh_po_0p35 2000 +device resistor sky130_res_xhigh_po_0p69 2000 +device resistor sky130_res_xhigh_po_1p41 2000 +device resistor sky130_res_xhigh_po_2p85 2000 +device resistor sky130_res_xhigh_po_5p73 2000 +device resistor sky130_res_xhigh_po 2000 +device resistor sky130_res_generic_nd 120 +device resistor sky130_res_generic_pd 197 + +; Diode +device diode sky130_fd_pr__diode_pw2nd_05v5 + +; Transistor device parameters + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8 dynamic-high 1.0 0.15 8.506946e+03 +resistance sky130_fd_pr__nfet_01v8 dynamic-low 1.0 0.15 2.102336e+03 +resistance sky130_fd_pr__nfet_01v8 static 1.0 0.15 3.129041e+03 + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-high 1.0 0.15 6.236967e+03 +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-low 1.0 0.15 1.914918e+03 +resistance sky130_fd_pr__nfet_01v8_lvt static 1.0 0.15 1.904558e+03 + +; C=100, N(w=0.21, l=0.15) +resistance sky130_fd_pr__special_nfet_latch dynamic-high 0.21 0.15 3.932510e+04 +resistance sky130_fd_pr__special_nfet_latch dynamic-low 0.21 0.15 1.110007e+04 +resistance sky130_fd_pr__special_nfet_latch static 0.21 0.15 1.389355e+04 + +; C=100, N(w=0.14, l=0.15) +resistance sky130_fd_pr__special_nfet_pass dynamic-high 0.14 0.15 5.170447e+04 +resistance sky130_fd_pr__special_nfet_pass dynamic-low 0.14 0.15 1.430549e+04 +resistance sky130_fd_pr__special_nfet_pass static 0.14 0.15 2.072893e+04 + +; C=250, N(w=1.0, l=0.5) +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-high 1.0 0.5 1.479649e+04 +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-low 1.0 0.5 5.598244e+03 +resistance sky130_fd_pr__nfet_g5v0d10v5 static 1.0 0.5 5.222054e+03 + +; C=250, N(w=1.0, l=0.9) +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-high 1.0 0.9 1.587094e+04 +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-low 1.0 0.9 5.932544e+03 +resistance sky130_fd_pr__nfet_05v0_nvt static 1.0 0.9 2.958307e+03 + +; C=250, P(w=1.0, l=0.15) +resistance sky130_fd_pr__pfet_01v8 dynamic-high 1.0 0.15 4.273960e+03 +resistance sky130_fd_pr__pfet_01v8 dynamic-low 1.0 0.15 1.850425e+04 +resistance sky130_fd_pr__pfet_01v8 static 1.0 0.15 4.295087e+03 + +; C=250, P(w=1.0, l=0.35) +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-high 1.0 0.35 5.681720e+03 +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-low 1.0 0.35 2.085890e+04 +resistance sky130_fd_pr__pfet_01v8_lvt static 1.0 0.35 4.403767e+03 + +; C=250, P(w=1.0, l=0.45) +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-high 1.0 0.45 1.532024e+04 +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-low 1.0 0.45 6.645878e+04 +resistance sky130_fd_pr__pfet_01v8_hvt static 1.0 0.45 1.914742e+04 + +; C=100, P(w=0.14, l=0.15) +resistance sky130_fd_pr__special_pfet_pass dynamic-high 0.14 0.15 3.973390e+04 +resistance sky130_fd_pr__special_pfet_pass dynamic-low 0.14 0.15 1.430089e+05 +resistance sky130_fd_pr__special_pfet_pass static 0.14 0.15 6.098272e+04 + +; C=250, P(w=1.0, l=0.5) +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-high 1.0 0.5 1.133060e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-low 1.0 0.5 3.667798e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 static 1.0 0.5 1.304853e+04 +
diff --git a/sky130/irsim/sky130_tt_high_27.prm b/sky130/irsim/sky130_tt_high_27.prm new file mode 100644 index 0000000..3e05c12 --- /dev/null +++ b/sky130/irsim/sky130_tt_high_27.prm
@@ -0,0 +1,113 @@ +; +; configuration file for sky130 (0.13um process) +; + +lambda 0.005 ; length scaling, microns (1 lambda = 1 centimicron) + +capga .00832 ; gate capacitance, pF/micron^2 + +capda 0.0012 +capdp 0.0013 +cappda 0.00260 +cappdp 0.00090 + +lowthresh 0.5 ; logic low threshold as a normalized voltage +highthresh 0.5 ; logic high threshold as a normalized voltage + +cntpullup 0 ; irrelevant, cmos technology; no depletion transistors +diffperim 0 ; don't include diffusion perimeters for sidewall cap. +subparea 0 ; poly over transistor won't count as part pf bulk-poly cap. +diffext 0 ; diffusion extension for each transistor + +device nfet sky130_fd_pr__nfet_01v8 +device nfet sky130_fd_pr__nfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8 +device pfet sky130_fd_pr__pfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8_hvt +device nfet sky130_fd_pr__special_nfet_latch +device nfet sky130_fd_pr__special_nfet_pass +device pfet sky130_fd_pr__special_pfet_pass +device pfet sky130_fd_pr__pfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_05v0_nvt + +; Capacitor values are in pF/centimicron^2 +device capacitor sky130_fd_pr__cap_mim_m3_1 2.0E-7 +device capacitor sky130_fd_pr__cap_mim_m3_2 2.0E-7 + +; Resistor values are in ohms/square +device resistor sky130_res_high_po_0p35 320 +device resistor sky130_res_high_po_0p69 320 +device resistor sky130_res_high_po_1p41 320 +device resistor sky130_res_high_po_2p85 320 +device resistor sky130_res_high_po_5p73 320 +device resistor sky130_res_high_po 320 +device resistor sky130_res_xhigh_po_0p35 2000 +device resistor sky130_res_xhigh_po_0p69 2000 +device resistor sky130_res_xhigh_po_1p41 2000 +device resistor sky130_res_xhigh_po_2p85 2000 +device resistor sky130_res_xhigh_po_5p73 2000 +device resistor sky130_res_xhigh_po 2000 +device resistor sky130_res_generic_nd 120 +device resistor sky130_res_generic_pd 197 + +; Diode +device diode sky130_fd_pr__diode_pw2nd_05v5 + +; Transistor device parameters + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8 dynamic-high 1.0 0.15 7.113448e+03 +resistance sky130_fd_pr__nfet_01v8 dynamic-low 1.0 0.15 1.830180e+03 +resistance sky130_fd_pr__nfet_01v8 static 1.0 0.15 2.729063e+03 + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-high 1.0 0.15 5.122383e+03 +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-low 1.0 0.15 1.649493e+03 +resistance sky130_fd_pr__nfet_01v8_lvt static 1.0 0.15 1.654249e+03 + +; C=100, N(w=0.21, l=0.15) +resistance sky130_fd_pr__special_nfet_latch dynamic-high 0.21 0.15 3.330929e+04 +resistance sky130_fd_pr__special_nfet_latch dynamic-low 0.21 0.15 9.602190e+03 +resistance sky130_fd_pr__special_nfet_latch static 0.21 0.15 1.266842e+04 + +; C=100, N(w=0.14, l=0.15) +resistance sky130_fd_pr__special_nfet_pass dynamic-high 0.14 0.15 4.434748e+04 +resistance sky130_fd_pr__special_nfet_pass dynamic-low 0.14 0.15 1.233200e+04 +resistance sky130_fd_pr__special_nfet_pass static 0.14 0.15 1.810499e+04 + +; C=250, N(w=1.0, l=0.5) +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-high 1.0 0.5 1.205428e+04 +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-low 1.0 0.5 4.710652e+03 +resistance sky130_fd_pr__nfet_g5v0d10v5 static 1.0 0.5 4.244521e+03 + +; C=250, N(w=1.0, l=0.9) +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-high 1.0 0.9 1.283123e+04 +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-low 1.0 0.9 4.764232e+03 +resistance sky130_fd_pr__nfet_05v0_nvt static 1.0 0.9 2.132055e+03 + +; C=250, P(w=1.0, l=0.15) +resistance sky130_fd_pr__pfet_01v8 dynamic-high 1.0 0.15 4.583040e+03 +resistance sky130_fd_pr__pfet_01v8 dynamic-low 1.0 0.15 1.890751e+04 +resistance sky130_fd_pr__pfet_01v8 static 1.0 0.15 4.705659e+03 + +; C=250, P(w=1.0, l=0.35) +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-high 1.0 0.35 5.502720e+03 +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-low 1.0 0.35 2.039686e+04 +resistance sky130_fd_pr__pfet_01v8_lvt static 1.0 0.35 4.024641e+03 + +; C=250, P(w=1.0, l=0.45) +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-high 1.0 0.45 1.629768e+04 +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-low 1.0 0.45 6.541908e+04 +resistance sky130_fd_pr__pfet_01v8_hvt static 1.0 0.45 1.923181e+04 + +; C=100, P(w=0.14, l=0.15) +resistance sky130_fd_pr__special_pfet_pass dynamic-high 0.14 0.15 3.878190e+04 +resistance sky130_fd_pr__special_pfet_pass dynamic-low 0.14 0.15 1.344617e+05 +resistance sky130_fd_pr__special_pfet_pass static 0.14 0.15 6.069660e+04 + +; C=250, P(w=1.0, l=0.5) +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-high 1.0 0.5 1.004664e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-low 1.0 0.5 3.217465e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 static 1.0 0.5 1.095580e+04 +
diff --git a/sky130/irsim/sky130_tt_high_n40.prm b/sky130/irsim/sky130_tt_high_n40.prm new file mode 100644 index 0000000..1c56f2a --- /dev/null +++ b/sky130/irsim/sky130_tt_high_n40.prm
@@ -0,0 +1,113 @@ +; +; configuration file for sky130 (0.13um process) +; + +lambda 0.005 ; length scaling, microns (1 lambda = 1 centimicron) + +capga .00832 ; gate capacitance, pF/micron^2 + +capda 0.0012 +capdp 0.0013 +cappda 0.00260 +cappdp 0.00090 + +lowthresh 0.5 ; logic low threshold as a normalized voltage +highthresh 0.5 ; logic high threshold as a normalized voltage + +cntpullup 0 ; irrelevant, cmos technology; no depletion transistors +diffperim 0 ; don't include diffusion perimeters for sidewall cap. +subparea 0 ; poly over transistor won't count as part pf bulk-poly cap. +diffext 0 ; diffusion extension for each transistor + +device nfet sky130_fd_pr__nfet_01v8 +device nfet sky130_fd_pr__nfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8 +device pfet sky130_fd_pr__pfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8_hvt +device nfet sky130_fd_pr__special_nfet_latch +device nfet sky130_fd_pr__special_nfet_pass +device pfet sky130_fd_pr__special_pfet_pass +device pfet sky130_fd_pr__pfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_05v0_nvt + +; Capacitor values are in pF/centimicron^2 +device capacitor sky130_fd_pr__cap_mim_m3_1 2.0E-7 +device capacitor sky130_fd_pr__cap_mim_m3_2 2.0E-7 + +; Resistor values are in ohms/square +device resistor sky130_res_high_po_0p35 320 +device resistor sky130_res_high_po_0p69 320 +device resistor sky130_res_high_po_1p41 320 +device resistor sky130_res_high_po_2p85 320 +device resistor sky130_res_high_po_5p73 320 +device resistor sky130_res_high_po 320 +device resistor sky130_res_xhigh_po_0p35 2000 +device resistor sky130_res_xhigh_po_0p69 2000 +device resistor sky130_res_xhigh_po_1p41 2000 +device resistor sky130_res_xhigh_po_2p85 2000 +device resistor sky130_res_xhigh_po_5p73 2000 +device resistor sky130_res_xhigh_po 2000 +device resistor sky130_res_generic_nd 120 +device resistor sky130_res_generic_pd 197 + +; Diode +device diode sky130_fd_pr__diode_pw2nd_05v5 + +; Transistor device parameters + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8 dynamic-high 1.0 0.15 6.005983e+03 +resistance sky130_fd_pr__nfet_01v8 dynamic-low 1.0 0.15 1.658032e+03 +resistance sky130_fd_pr__nfet_01v8 static 1.0 0.15 2.482004e+03 + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-high 1.0 0.15 4.428267e+03 +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-low 1.0 0.15 1.495791e+03 +resistance sky130_fd_pr__nfet_01v8_lvt static 1.0 0.15 1.514850e+03 + +; C=100, N(w=0.21, l=0.15) +resistance sky130_fd_pr__special_nfet_latch dynamic-high 0.21 0.15 2.801898e+04 +resistance sky130_fd_pr__special_nfet_latch dynamic-low 0.21 0.15 8.705151e+03 +resistance sky130_fd_pr__special_nfet_latch static 0.21 0.15 1.175457e+04 + +; C=100, N(w=0.14, l=0.15) +resistance sky130_fd_pr__special_nfet_pass dynamic-high 0.14 0.15 3.767001e+04 +resistance sky130_fd_pr__special_nfet_pass dynamic-low 0.14 0.15 1.106126e+04 +resistance sky130_fd_pr__special_nfet_pass static 0.14 0.15 1.617590e+04 + +; C=250, N(w=1.0, l=0.5) +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-high 1.0 0.5 1.038668e+04 +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-low 1.0 0.5 4.249004e+03 +resistance sky130_fd_pr__nfet_g5v0d10v5 static 1.0 0.5 3.726166e+03 + +; C=250, N(w=1.0, l=0.9) +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-high 1.0 0.9 1.071746e+04 +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-low 1.0 0.9 4.074080e+03 +resistance sky130_fd_pr__nfet_05v0_nvt static 1.0 0.9 1.615169e+03 + +; C=250, P(w=1.0, l=0.15) +resistance sky130_fd_pr__pfet_01v8 dynamic-high 1.0 0.15 4.835880e+03 +resistance sky130_fd_pr__pfet_01v8 dynamic-low 1.0 0.15 1.851285e+04 +resistance sky130_fd_pr__pfet_01v8 static 1.0 0.15 5.007399e+03 + +; C=250, P(w=1.0, l=0.35) +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-high 1.0 0.35 5.317800e+03 +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-low 1.0 0.35 1.878630e+04 +resistance sky130_fd_pr__pfet_01v8_lvt static 1.0 0.35 3.657709e+03 + +; C=250, P(w=1.0, l=0.45) +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-high 1.0 0.45 1.727996e+04 +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-low 1.0 0.45 6.235817e+04 +resistance sky130_fd_pr__pfet_01v8_hvt static 1.0 0.45 1.909319e+04 + +; C=100, P(w=0.14, l=0.15) +resistance sky130_fd_pr__special_pfet_pass dynamic-high 0.14 0.15 3.797770e+04 +resistance sky130_fd_pr__special_pfet_pass dynamic-low 0.14 0.15 1.233560e+05 +resistance sky130_fd_pr__special_pfet_pass static 0.14 0.15 5.930932e+04 + +; C=250, P(w=1.0, l=0.5) +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-high 1.0 0.5 8.992040e+03 +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-low 1.0 0.5 2.795426e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 static 1.0 0.5 9.359869e+03 +
diff --git a/sky130/irsim/sky130_tt_low_125.prm b/sky130/irsim/sky130_tt_low_125.prm new file mode 100644 index 0000000..f8f7992 --- /dev/null +++ b/sky130/irsim/sky130_tt_low_125.prm
@@ -0,0 +1,113 @@ +; +; configuration file for sky130 (0.13um process) +; + +lambda 0.005 ; length scaling, microns (1 lambda = 1 centimicron) + +capga .00832 ; gate capacitance, pF/micron^2 + +capda 0.0012 +capdp 0.0013 +cappda 0.00260 +cappdp 0.00090 + +lowthresh 0.5 ; logic low threshold as a normalized voltage +highthresh 0.5 ; logic high threshold as a normalized voltage + +cntpullup 0 ; irrelevant, cmos technology; no depletion transistors +diffperim 0 ; don't include diffusion perimeters for sidewall cap. +subparea 0 ; poly over transistor won't count as part pf bulk-poly cap. +diffext 0 ; diffusion extension for each transistor + +device nfet sky130_fd_pr__nfet_01v8 +device nfet sky130_fd_pr__nfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8 +device pfet sky130_fd_pr__pfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8_hvt +device nfet sky130_fd_pr__special_nfet_latch +device nfet sky130_fd_pr__special_nfet_pass +device pfet sky130_fd_pr__special_pfet_pass +device pfet sky130_fd_pr__pfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_05v0_nvt + +; Capacitor values are in pF/centimicron^2 +device capacitor sky130_fd_pr__cap_mim_m3_1 2.0E-7 +device capacitor sky130_fd_pr__cap_mim_m3_2 2.0E-7 + +; Resistor values are in ohms/square +device resistor sky130_res_high_po_0p35 320 +device resistor sky130_res_high_po_0p69 320 +device resistor sky130_res_high_po_1p41 320 +device resistor sky130_res_high_po_2p85 320 +device resistor sky130_res_high_po_5p73 320 +device resistor sky130_res_high_po 320 +device resistor sky130_res_xhigh_po_0p35 2000 +device resistor sky130_res_xhigh_po_0p69 2000 +device resistor sky130_res_xhigh_po_1p41 2000 +device resistor sky130_res_xhigh_po_2p85 2000 +device resistor sky130_res_xhigh_po_5p73 2000 +device resistor sky130_res_xhigh_po 2000 +device resistor sky130_res_generic_nd 120 +device resistor sky130_res_generic_pd 197 + +; Diode +device diode sky130_fd_pr__diode_pw2nd_05v5 + +; Transistor device parameters + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8 dynamic-high 1.0 0.15 1.472075e+04 +resistance sky130_fd_pr__nfet_01v8 dynamic-low 1.0 0.15 2.606093e+03 +resistance sky130_fd_pr__nfet_01v8 static 1.0 0.15 5.521241e+03 + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-high 1.0 0.15 9.777653e+03 +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-low 1.0 0.15 2.239366e+03 +resistance sky130_fd_pr__nfet_01v8_lvt static 1.0 0.15 3.494522e+03 + +; C=100, N(w=0.21, l=0.15) +resistance sky130_fd_pr__special_nfet_latch dynamic-high 0.21 0.15 5.966013e+04 +resistance sky130_fd_pr__special_nfet_latch dynamic-low 0.21 0.15 1.370268e+04 +resistance sky130_fd_pr__special_nfet_latch static 0.21 0.15 2.636384e+04 + +; C=100, N(w=0.14, l=0.15) +resistance sky130_fd_pr__special_nfet_pass dynamic-high 0.14 0.15 7.673663e+04 +resistance sky130_fd_pr__special_nfet_pass dynamic-low 0.14 0.15 1.791670e+04 +resistance sky130_fd_pr__special_nfet_pass static 0.14 0.15 3.691411e+04 + +; C=250, N(w=1.0, l=0.5) +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-high 1.0 0.5 1.807625e+04 +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-low 1.0 0.5 6.394300e+03 +resistance sky130_fd_pr__nfet_g5v0d10v5 static 1.0 0.5 7.206115e+03 + +; C=250, N(w=1.0, l=0.9) +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-high 1.0 0.9 1.715941e+04 +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-low 1.0 0.9 6.502828e+03 +resistance sky130_fd_pr__nfet_05v0_nvt static 1.0 0.9 2.609332e+03 + +; C=250, P(w=1.0, l=0.15) +resistance sky130_fd_pr__pfet_01v8 dynamic-high 1.0 0.15 5.445480e+03 +resistance sky130_fd_pr__pfet_01v8 dynamic-low 1.0 0.15 2.799389e+04 +resistance sky130_fd_pr__pfet_01v8 static 1.0 0.15 6.677279e+03 + +; C=250, P(w=1.0, l=0.35) +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-high 1.0 0.35 6.735080e+03 +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-low 1.0 0.35 2.782733e+04 +resistance sky130_fd_pr__pfet_01v8_lvt static 1.0 0.35 6.346165e+03 + +; C=250, P(w=1.0, l=0.45) +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-high 1.0 0.45 2.500120e+04 +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-low 1.0 0.45 1.001530e+05 +resistance sky130_fd_pr__pfet_01v8_hvt static 1.0 0.45 3.531582e+04 + +; C=100, P(w=0.14, l=0.15) +resistance sky130_fd_pr__special_pfet_pass dynamic-high 0.14 0.15 5.762810e+04 +resistance sky130_fd_pr__special_pfet_pass dynamic-low 0.14 0.15 2.107820e+05 +resistance sky130_fd_pr__special_pfet_pass static 0.14 0.15 1.036693e+05 + +; C=250, P(w=1.0, l=0.5) +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-high 1.0 0.5 1.380632e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-low 1.0 0.5 4.590595e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 static 1.0 0.5 1.754128e+04 +
diff --git a/sky130/irsim/sky130_tt_low_27.prm b/sky130/irsim/sky130_tt_low_27.prm new file mode 100644 index 0000000..1414d2c --- /dev/null +++ b/sky130/irsim/sky130_tt_low_27.prm
@@ -0,0 +1,113 @@ +; +; configuration file for sky130 (0.13um process) +; + +lambda 0.005 ; length scaling, microns (1 lambda = 1 centimicron) + +capga .00832 ; gate capacitance, pF/micron^2 + +capda 0.0012 +capdp 0.0013 +cappda 0.00260 +cappdp 0.00090 + +lowthresh 0.5 ; logic low threshold as a normalized voltage +highthresh 0.5 ; logic high threshold as a normalized voltage + +cntpullup 0 ; irrelevant, cmos technology; no depletion transistors +diffperim 0 ; don't include diffusion perimeters for sidewall cap. +subparea 0 ; poly over transistor won't count as part pf bulk-poly cap. +diffext 0 ; diffusion extension for each transistor + +device nfet sky130_fd_pr__nfet_01v8 +device nfet sky130_fd_pr__nfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8 +device pfet sky130_fd_pr__pfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8_hvt +device nfet sky130_fd_pr__special_nfet_latch +device nfet sky130_fd_pr__special_nfet_pass +device pfet sky130_fd_pr__special_pfet_pass +device pfet sky130_fd_pr__pfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_05v0_nvt + +; Capacitor values are in pF/centimicron^2 +device capacitor sky130_fd_pr__cap_mim_m3_1 2.0E-7 +device capacitor sky130_fd_pr__cap_mim_m3_2 2.0E-7 + +; Resistor values are in ohms/square +device resistor sky130_res_high_po_0p35 320 +device resistor sky130_res_high_po_0p69 320 +device resistor sky130_res_high_po_1p41 320 +device resistor sky130_res_high_po_2p85 320 +device resistor sky130_res_high_po_5p73 320 +device resistor sky130_res_high_po 320 +device resistor sky130_res_xhigh_po_0p35 2000 +device resistor sky130_res_xhigh_po_0p69 2000 +device resistor sky130_res_xhigh_po_1p41 2000 +device resistor sky130_res_xhigh_po_2p85 2000 +device resistor sky130_res_xhigh_po_5p73 2000 +device resistor sky130_res_xhigh_po 2000 +device resistor sky130_res_generic_nd 120 +device resistor sky130_res_generic_pd 197 + +; Diode +device diode sky130_fd_pr__diode_pw2nd_05v5 + +; Transistor device parameters + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8 dynamic-high 1.0 0.15 1.254919e+04 +resistance sky130_fd_pr__nfet_01v8 dynamic-low 1.0 0.15 2.301315e+03 +resistance sky130_fd_pr__nfet_01v8 static 1.0 0.15 5.191075e+03 + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-high 1.0 0.15 7.895262e+03 +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-low 1.0 0.15 1.956279e+03 +resistance sky130_fd_pr__nfet_01v8_lvt static 1.0 0.15 3.173237e+03 + +; C=100, N(w=0.21, l=0.15) +resistance sky130_fd_pr__special_nfet_latch dynamic-high 0.21 0.15 5.264863e+04 +resistance sky130_fd_pr__special_nfet_latch dynamic-low 0.21 0.15 1.196408e+04 +resistance sky130_fd_pr__special_nfet_latch static 0.21 0.15 2.619871e+04 + +; C=100, N(w=0.14, l=0.15) +resistance sky130_fd_pr__special_nfet_pass dynamic-high 0.14 0.15 6.897150e+04 +resistance sky130_fd_pr__special_nfet_pass dynamic-low 0.14 0.15 1.554685e+04 +resistance sky130_fd_pr__special_nfet_pass static 0.14 0.15 3.464194e+04 + +; C=250, N(w=1.0, l=0.5) +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-high 1.0 0.5 1.483393e+04 +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-low 1.0 0.5 5.364768e+03 +resistance sky130_fd_pr__nfet_g5v0d10v5 static 1.0 0.5 6.075678e+03 + +; C=250, N(w=1.0, l=0.9) +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-high 1.0 0.9 1.409907e+04 +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-low 1.0 0.9 5.198732e+03 +resistance sky130_fd_pr__nfet_05v0_nvt static 1.0 0.9 1.930718e+03 + +; C=250, P(w=1.0, l=0.15) +resistance sky130_fd_pr__pfet_01v8 dynamic-high 1.0 0.15 6.221080e+03 +resistance sky130_fd_pr__pfet_01v8 dynamic-low 1.0 0.15 3.036205e+04 +resistance sky130_fd_pr__pfet_01v8 static 1.0 0.15 8.135149e+03 + +; C=250, P(w=1.0, l=0.35) +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-high 1.0 0.35 6.561320e+03 +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-low 1.0 0.35 2.885200e+04 +resistance sky130_fd_pr__pfet_01v8_lvt static 1.0 0.35 6.280217e+03 + +; C=250, P(w=1.0, l=0.45) +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-high 1.0 0.45 3.016032e+04 +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-low 1.0 0.45 1.081405e+05 +resistance sky130_fd_pr__pfet_01v8_hvt static 1.0 0.45 4.134889e+04 + +; C=100, P(w=0.14, l=0.15) +resistance sky130_fd_pr__special_pfet_pass dynamic-high 0.14 0.15 6.078670e+04 +resistance sky130_fd_pr__special_pfet_pass dynamic-low 0.14 0.15 2.124309e+05 +resistance sky130_fd_pr__special_pfet_pass static 0.14 0.15 1.138225e+05 + +; C=250, P(w=1.0, l=0.5) +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-high 1.0 0.5 1.241976e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-low 1.0 0.5 4.131818e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 static 1.0 0.5 1.539438e+04 +
diff --git a/sky130/irsim/sky130_tt_low_n40.prm b/sky130/irsim/sky130_tt_low_n40.prm new file mode 100644 index 0000000..ffda99c --- /dev/null +++ b/sky130/irsim/sky130_tt_low_n40.prm
@@ -0,0 +1,113 @@ +; +; configuration file for sky130 (0.13um process) +; + +lambda 0.005 ; length scaling, microns (1 lambda = 1 centimicron) + +capga .00832 ; gate capacitance, pF/micron^2 + +capda 0.0012 +capdp 0.0013 +cappda 0.00260 +cappdp 0.00090 + +lowthresh 0.5 ; logic low threshold as a normalized voltage +highthresh 0.5 ; logic high threshold as a normalized voltage + +cntpullup 0 ; irrelevant, cmos technology; no depletion transistors +diffperim 0 ; don't include diffusion perimeters for sidewall cap. +subparea 0 ; poly over transistor won't count as part pf bulk-poly cap. +diffext 0 ; diffusion extension for each transistor + +device nfet sky130_fd_pr__nfet_01v8 +device nfet sky130_fd_pr__nfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8 +device pfet sky130_fd_pr__pfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8_hvt +device nfet sky130_fd_pr__special_nfet_latch +device nfet sky130_fd_pr__special_nfet_pass +device pfet sky130_fd_pr__special_pfet_pass +device pfet sky130_fd_pr__pfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_05v0_nvt + +; Capacitor values are in pF/centimicron^2 +device capacitor sky130_fd_pr__cap_mim_m3_1 2.0E-7 +device capacitor sky130_fd_pr__cap_mim_m3_2 2.0E-7 + +; Resistor values are in ohms/square +device resistor sky130_res_high_po_0p35 320 +device resistor sky130_res_high_po_0p69 320 +device resistor sky130_res_high_po_1p41 320 +device resistor sky130_res_high_po_2p85 320 +device resistor sky130_res_high_po_5p73 320 +device resistor sky130_res_high_po 320 +device resistor sky130_res_xhigh_po_0p35 2000 +device resistor sky130_res_xhigh_po_0p69 2000 +device resistor sky130_res_xhigh_po_1p41 2000 +device resistor sky130_res_xhigh_po_2p85 2000 +device resistor sky130_res_xhigh_po_5p73 2000 +device resistor sky130_res_xhigh_po 2000 +device resistor sky130_res_generic_nd 120 +device resistor sky130_res_generic_pd 197 + +; Diode +device diode sky130_fd_pr__diode_pw2nd_05v5 + +; Transistor device parameters + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8 dynamic-high 1.0 0.15 1.089297e+04 +resistance sky130_fd_pr__nfet_01v8 dynamic-low 1.0 0.15 2.094268e+03 +resistance sky130_fd_pr__nfet_01v8 static 1.0 0.15 5.071839e+03 + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-high 1.0 0.15 6.734317e+03 +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-low 1.0 0.15 1.786553e+03 +resistance sky130_fd_pr__nfet_01v8_lvt static 1.0 0.15 3.004277e+03 + +; C=100, N(w=0.21, l=0.15) +resistance sky130_fd_pr__special_nfet_latch dynamic-high 0.21 0.15 4.499195e+04 +resistance sky130_fd_pr__special_nfet_latch dynamic-low 0.21 0.15 1.086505e+04 +resistance sky130_fd_pr__special_nfet_latch static 0.21 0.15 2.595774e+04 + +; C=100, N(w=0.14, l=0.15) +resistance sky130_fd_pr__special_nfet_pass dynamic-high 0.14 0.15 5.993165e+04 +resistance sky130_fd_pr__special_nfet_pass dynamic-low 0.14 0.15 1.393807e+04 +resistance sky130_fd_pr__special_nfet_pass static 0.14 0.15 3.283248e+04 + +; C=250, N(w=1.0, l=0.5) +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-high 1.0 0.5 1.264759e+04 +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-low 1.0 0.5 4.815360e+03 +resistance sky130_fd_pr__nfet_g5v0d10v5 static 1.0 0.5 5.407877e+03 + +; C=250, N(w=1.0, l=0.9) +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-high 1.0 0.9 1.183422e+04 +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-low 1.0 0.9 4.411548e+03 +resistance sky130_fd_pr__nfet_05v0_nvt static 1.0 0.9 1.480458e+03 + +; C=250, P(w=1.0, l=0.15) +resistance sky130_fd_pr__pfet_01v8 dynamic-high 1.0 0.15 6.981480e+03 +resistance sky130_fd_pr__pfet_01v8 dynamic-low 1.0 0.15 3.091924e+04 +resistance sky130_fd_pr__pfet_01v8 static 1.0 0.15 9.409188e+03 + +; C=250, P(w=1.0, l=0.35) +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-high 1.0 0.35 6.331800e+03 +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-low 1.0 0.35 2.756862e+04 +resistance sky130_fd_pr__pfet_01v8_lvt static 1.0 0.35 6.047760e+03 + +; C=250, P(w=1.0, l=0.45) +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-high 1.0 0.45 3.591852e+04 +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-low 1.0 0.45 1.116447e+05 +resistance sky130_fd_pr__pfet_01v8_hvt static 1.0 0.45 4.624817e+04 + +; C=100, P(w=0.14, l=0.15) +resistance sky130_fd_pr__special_pfet_pass dynamic-high 0.14 0.15 6.333380e+04 +resistance sky130_fd_pr__special_pfet_pass dynamic-low 0.14 0.15 2.058587e+05 +resistance sky130_fd_pr__special_pfet_pass static 0.14 0.15 1.201225e+05 + +; C=250, P(w=1.0, l=0.5) +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-high 1.0 0.5 1.119328e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-low 1.0 0.5 3.640328e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 static 1.0 0.5 1.345405e+04 +
diff --git a/sky130/irsim/sky130_tt_nom_125.prm b/sky130/irsim/sky130_tt_nom_125.prm new file mode 100644 index 0000000..bb50eb9 --- /dev/null +++ b/sky130/irsim/sky130_tt_nom_125.prm
@@ -0,0 +1,113 @@ +; +; configuration file for sky130 (0.13um process) +; + +lambda 0.005 ; length scaling, microns (1 lambda = 1 centimicron) + +capga .00832 ; gate capacitance, pF/micron^2 + +capda 0.0012 +capdp 0.0013 +cappda 0.00260 +cappdp 0.00090 + +lowthresh 0.5 ; logic low threshold as a normalized voltage +highthresh 0.5 ; logic high threshold as a normalized voltage + +cntpullup 0 ; irrelevant, cmos technology; no depletion transistors +diffperim 0 ; don't include diffusion perimeters for sidewall cap. +subparea 0 ; poly over transistor won't count as part pf bulk-poly cap. +diffext 0 ; diffusion extension for each transistor + +device nfet sky130_fd_pr__nfet_01v8 +device nfet sky130_fd_pr__nfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8 +device pfet sky130_fd_pr__pfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8_hvt +device nfet sky130_fd_pr__special_nfet_latch +device nfet sky130_fd_pr__special_nfet_pass +device pfet sky130_fd_pr__special_pfet_pass +device pfet sky130_fd_pr__pfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_05v0_nvt + +; Capacitor values are in pF/centimicron^2 +device capacitor sky130_fd_pr__cap_mim_m3_1 2.0E-7 +device capacitor sky130_fd_pr__cap_mim_m3_2 2.0E-7 + +; Resistor values are in ohms/square +device resistor sky130_res_high_po_0p35 320 +device resistor sky130_res_high_po_0p69 320 +device resistor sky130_res_high_po_1p41 320 +device resistor sky130_res_high_po_2p85 320 +device resistor sky130_res_high_po_5p73 320 +device resistor sky130_res_high_po 320 +device resistor sky130_res_xhigh_po_0p35 2000 +device resistor sky130_res_xhigh_po_0p69 2000 +device resistor sky130_res_xhigh_po_1p41 2000 +device resistor sky130_res_xhigh_po_2p85 2000 +device resistor sky130_res_xhigh_po_5p73 2000 +device resistor sky130_res_xhigh_po 2000 +device resistor sky130_res_generic_nd 120 +device resistor sky130_res_generic_pd 197 + +; Diode +device diode sky130_fd_pr__diode_pw2nd_05v5 + +; Transistor device parameters + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8 dynamic-high 1.0 0.15 1.085102e+04 +resistance sky130_fd_pr__nfet_01v8 dynamic-low 1.0 0.15 2.305034e+03 +resistance sky130_fd_pr__nfet_01v8 static 1.0 0.15 4.042943e+03 + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-high 1.0 0.15 7.571718e+03 +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-low 1.0 0.15 2.047939e+03 +resistance sky130_fd_pr__nfet_01v8_lvt static 1.0 0.15 2.524005e+03 + +; C=100, N(w=0.21, l=0.15) +resistance sky130_fd_pr__special_nfet_latch dynamic-high 0.21 0.15 4.728732e+04 +resistance sky130_fd_pr__special_nfet_latch dynamic-low 0.21 0.15 1.215305e+04 +resistance sky130_fd_pr__special_nfet_latch static 0.21 0.15 1.858875e+04 + +; C=100, N(w=0.14, l=0.15) +resistance sky130_fd_pr__special_nfet_pass dynamic-high 0.14 0.15 6.180012e+04 +resistance sky130_fd_pr__special_nfet_pass dynamic-low 0.14 0.15 1.574458e+04 +resistance sky130_fd_pr__special_nfet_pass static 0.14 0.15 2.698619e+04 + +; C=250, N(w=1.0, l=0.5) +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-high 1.0 0.5 1.618159e+04 +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-low 1.0 0.5 5.939220e+03 +resistance sky130_fd_pr__nfet_g5v0d10v5 static 1.0 0.5 6.028634e+03 + +; C=250, N(w=1.0, l=0.9) +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-high 1.0 0.9 1.648241e+04 +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-low 1.0 0.9 6.192768e+03 +resistance sky130_fd_pr__nfet_05v0_nvt static 1.0 0.9 2.817008e+03 + +; C=250, P(w=1.0, l=0.15) +resistance sky130_fd_pr__pfet_01v8 dynamic-high 1.0 0.15 4.740400e+03 +resistance sky130_fd_pr__pfet_01v8 dynamic-low 1.0 0.15 2.240156e+04 +resistance sky130_fd_pr__pfet_01v8 static 1.0 0.15 5.260571e+03 + +; C=250, P(w=1.0, l=0.35) +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-high 1.0 0.35 6.087120e+03 +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-low 1.0 0.35 2.390064e+04 +resistance sky130_fd_pr__pfet_01v8_lvt static 1.0 0.35 5.240725e+03 + +; C=250, P(w=1.0, l=0.45) +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-high 1.0 0.45 1.902780e+04 +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-low 1.0 0.45 8.032137e+04 +resistance sky130_fd_pr__pfet_01v8_hvt static 1.0 0.45 2.513235e+04 + +; C=100, P(w=0.14, l=0.15) +resistance sky130_fd_pr__special_pfet_pass dynamic-high 0.14 0.15 4.669390e+04 +resistance sky130_fd_pr__special_pfet_pass dynamic-low 0.14 0.15 1.710157e+05 +resistance sky130_fd_pr__special_pfet_pass static 0.14 0.15 7.738915e+04 + +; C=250, P(w=1.0, l=0.5) +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-high 1.0 0.5 1.239412e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-low 1.0 0.5 4.070794e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 static 1.0 0.5 1.491942e+04 +
diff --git a/sky130/irsim/sky130_tt_nom_27.prm b/sky130/irsim/sky130_tt_nom_27.prm new file mode 100644 index 0000000..3005bfd --- /dev/null +++ b/sky130/irsim/sky130_tt_nom_27.prm
@@ -0,0 +1,113 @@ +; +; configuration file for sky130 (0.13um process) +; + +lambda 0.005 ; length scaling, microns (1 lambda = 1 centimicron) + +capga .00832 ; gate capacitance, pF/micron^2 + +capda 0.0012 +capdp 0.0013 +cappda 0.00260 +cappdp 0.00090 + +lowthresh 0.5 ; logic low threshold as a normalized voltage +highthresh 0.5 ; logic high threshold as a normalized voltage + +cntpullup 0 ; irrelevant, cmos technology; no depletion transistors +diffperim 0 ; don't include diffusion perimeters for sidewall cap. +subparea 0 ; poly over transistor won't count as part pf bulk-poly cap. +diffext 0 ; diffusion extension for each transistor + +device nfet sky130_fd_pr__nfet_01v8 +device nfet sky130_fd_pr__nfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8 +device pfet sky130_fd_pr__pfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8_hvt +device nfet sky130_fd_pr__special_nfet_latch +device nfet sky130_fd_pr__special_nfet_pass +device pfet sky130_fd_pr__special_pfet_pass +device pfet sky130_fd_pr__pfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_05v0_nvt + +; Capacitor values are in pF/centimicron^2 +device capacitor sky130_fd_pr__cap_mim_m3_1 2.0E-7 +device capacitor sky130_fd_pr__cap_mim_m3_2 2.0E-7 + +; Resistor values are in ohms/square +device resistor sky130_res_high_po_0p35 320 +device resistor sky130_res_high_po_0p69 320 +device resistor sky130_res_high_po_1p41 320 +device resistor sky130_res_high_po_2p85 320 +device resistor sky130_res_high_po_5p73 320 +device resistor sky130_res_high_po 320 +device resistor sky130_res_xhigh_po_0p35 2000 +device resistor sky130_res_xhigh_po_0p69 2000 +device resistor sky130_res_xhigh_po_1p41 2000 +device resistor sky130_res_xhigh_po_2p85 2000 +device resistor sky130_res_xhigh_po_5p73 2000 +device resistor sky130_res_xhigh_po 2000 +device resistor sky130_res_generic_nd 120 +device resistor sky130_res_generic_pd 197 + +; Diode +device diode sky130_fd_pr__diode_pw2nd_05v5 + +; Transistor device parameters + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8 dynamic-high 1.0 0.15 9.114628e+03 +resistance sky130_fd_pr__nfet_01v8 dynamic-low 1.0 0.15 2.018281e+03 +resistance sky130_fd_pr__nfet_01v8 static 1.0 0.15 3.649577e+03 + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-high 1.0 0.15 6.155554e+03 +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-low 1.0 0.15 1.775042e+03 +resistance sky130_fd_pr__nfet_01v8_lvt static 1.0 0.15 2.240383e+03 + +; C=100, N(w=0.21, l=0.15) +resistance sky130_fd_pr__special_nfet_latch dynamic-high 0.21 0.15 4.063478e+04 +resistance sky130_fd_pr__special_nfet_latch dynamic-low 0.21 0.15 1.054420e+04 +resistance sky130_fd_pr__special_nfet_latch static 0.21 0.15 1.759177e+04 + +; C=100, N(w=0.14, l=0.15) +resistance sky130_fd_pr__special_nfet_pass dynamic-high 0.14 0.15 5.395513e+04 +resistance sky130_fd_pr__special_nfet_pass dynamic-low 0.14 0.15 1.359646e+04 +resistance sky130_fd_pr__special_nfet_pass static 0.14 0.15 2.430272e+04 + +; C=250, N(w=1.0, l=0.5) +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-high 1.0 0.5 1.321012e+04 +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-low 1.0 0.5 4.989140e+03 +resistance sky130_fd_pr__nfet_g5v0d10v5 static 1.0 0.5 4.976523e+03 + +; C=250, N(w=1.0, l=0.9) +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-high 1.0 0.9 1.341762e+04 +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-low 1.0 0.9 4.960580e+03 +resistance sky130_fd_pr__nfet_05v0_nvt static 1.0 0.9 2.053864e+03 + +; C=250, P(w=1.0, l=0.15) +resistance sky130_fd_pr__pfet_01v8 dynamic-high 1.0 0.15 5.210600e+03 +resistance sky130_fd_pr__pfet_01v8 dynamic-low 1.0 0.15 2.343309e+04 +resistance sky130_fd_pr__pfet_01v8 static 1.0 0.15 6.027103e+03 + +; C=250, P(w=1.0, l=0.35) +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-high 1.0 0.35 5.887920e+03 +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-low 1.0 0.35 2.397328e+04 +resistance sky130_fd_pr__pfet_01v8_lvt static 1.0 0.35 4.969914e+03 + +; C=250, P(w=1.0, l=0.45) +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-high 1.0 0.45 2.119276e+04 +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-low 1.0 0.45 8.215590e+04 +resistance sky130_fd_pr__pfet_01v8_hvt static 1.0 0.45 2.688224e+04 + +; C=100, P(w=0.14, l=0.15) +resistance sky130_fd_pr__special_pfet_pass dynamic-high 0.14 0.15 4.692210e+04 +resistance sky130_fd_pr__special_pfet_pass dynamic-low 0.14 0.15 1.653438e+05 +resistance sky130_fd_pr__special_pfet_pass static 0.14 0.15 8.007236e+04 + +; C=250, P(w=1.0, l=0.5) +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-high 1.0 0.5 1.104584e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-low 1.0 0.5 3.610454e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 static 1.0 0.5 1.275922e+04 +
diff --git a/sky130/irsim/sky130_tt_nom_n40.prm b/sky130/irsim/sky130_tt_nom_n40.prm new file mode 100644 index 0000000..703c94a --- /dev/null +++ b/sky130/irsim/sky130_tt_nom_n40.prm
@@ -0,0 +1,113 @@ +; +; configuration file for sky130 (0.13um process) +; + +lambda 0.005 ; length scaling, microns (1 lambda = 1 centimicron) + +capga .00832 ; gate capacitance, pF/micron^2 + +capda 0.0012 +capdp 0.0013 +cappda 0.00260 +cappdp 0.00090 + +lowthresh 0.5 ; logic low threshold as a normalized voltage +highthresh 0.5 ; logic high threshold as a normalized voltage + +cntpullup 0 ; irrelevant, cmos technology; no depletion transistors +diffperim 0 ; don't include diffusion perimeters for sidewall cap. +subparea 0 ; poly over transistor won't count as part pf bulk-poly cap. +diffext 0 ; diffusion extension for each transistor + +device nfet sky130_fd_pr__nfet_01v8 +device nfet sky130_fd_pr__nfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8 +device pfet sky130_fd_pr__pfet_01v8_lvt +device pfet sky130_fd_pr__pfet_01v8_hvt +device nfet sky130_fd_pr__special_nfet_latch +device nfet sky130_fd_pr__special_nfet_pass +device pfet sky130_fd_pr__special_pfet_pass +device pfet sky130_fd_pr__pfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_g5v0d10v5 +device nfet sky130_fd_pr__nfet_05v0_nvt + +; Capacitor values are in pF/centimicron^2 +device capacitor sky130_fd_pr__cap_mim_m3_1 2.0E-7 +device capacitor sky130_fd_pr__cap_mim_m3_2 2.0E-7 + +; Resistor values are in ohms/square +device resistor sky130_res_high_po_0p35 320 +device resistor sky130_res_high_po_0p69 320 +device resistor sky130_res_high_po_1p41 320 +device resistor sky130_res_high_po_2p85 320 +device resistor sky130_res_high_po_5p73 320 +device resistor sky130_res_high_po 320 +device resistor sky130_res_xhigh_po_0p35 2000 +device resistor sky130_res_xhigh_po_0p69 2000 +device resistor sky130_res_xhigh_po_1p41 2000 +device resistor sky130_res_xhigh_po_2p85 2000 +device resistor sky130_res_xhigh_po_5p73 2000 +device resistor sky130_res_xhigh_po 2000 +device resistor sky130_res_generic_nd 120 +device resistor sky130_res_generic_pd 197 + +; Diode +device diode sky130_fd_pr__diode_pw2nd_05v5 + +; Transistor device parameters + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8 dynamic-high 1.0 0.15 7.748068e+03 +resistance sky130_fd_pr__nfet_01v8 dynamic-low 1.0 0.15 1.831476e+03 +resistance sky130_fd_pr__nfet_01v8 static 1.0 0.15 3.422109e+03 + +; C=250, N(w=1.0, l=0.15) +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-high 1.0 0.15 5.283442e+03 +resistance sky130_fd_pr__nfet_01v8_lvt dynamic-low 1.0 0.15 1.614680e+03 +resistance sky130_fd_pr__nfet_01v8_lvt static 1.0 0.15 2.084185e+03 + +; C=100, N(w=0.21, l=0.15) +resistance sky130_fd_pr__special_nfet_latch dynamic-high 0.21 0.15 3.425195e+04 +resistance sky130_fd_pr__special_nfet_latch dynamic-low 0.21 0.15 9.559500e+03 +resistance sky130_fd_pr__special_nfet_latch static 0.21 0.15 1.676186e+04 + +; C=100, N(w=0.14, l=0.15) +resistance sky130_fd_pr__special_nfet_pass dynamic-high 0.14 0.15 4.610981e+04 +resistance sky130_fd_pr__special_nfet_pass dynamic-low 0.14 0.15 1.218463e+04 +resistance sky130_fd_pr__special_nfet_pass static 0.14 0.15 2.223305e+04 + +; C=250, N(w=1.0, l=0.5) +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-high 1.0 0.5 1.132166e+04 +resistance sky130_fd_pr__nfet_g5v0d10v5 dynamic-low 1.0 0.5 4.490000e+03 +resistance sky130_fd_pr__nfet_g5v0d10v5 static 1.0 0.5 4.391463e+03 + +; C=250, N(w=1.0, l=0.9) +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-high 1.0 0.9 1.122695e+04 +resistance sky130_fd_pr__nfet_05v0_nvt dynamic-low 1.0 0.9 4.226124e+03 +resistance sky130_fd_pr__nfet_05v0_nvt static 1.0 0.9 1.563743e+03 + +; C=250, P(w=1.0, l=0.15) +resistance sky130_fd_pr__pfet_01v8 dynamic-high 1.0 0.15 5.628080e+03 +resistance sky130_fd_pr__pfet_01v8 dynamic-low 1.0 0.15 2.326056e+04 +resistance sky130_fd_pr__pfet_01v8 static 1.0 0.15 6.634841e+03 + +; C=250, P(w=1.0, l=0.35) +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-high 1.0 0.35 5.666200e+03 +resistance sky130_fd_pr__pfet_01v8_lvt dynamic-low 1.0 0.35 2.240883e+04 +resistance sky130_fd_pr__pfet_01v8_lvt static 1.0 0.35 4.642489e+03 + +; C=250, P(w=1.0, l=0.45) +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-high 1.0 0.45 2.335552e+04 +resistance sky130_fd_pr__pfet_01v8_hvt dynamic-low 1.0 0.45 8.067380e+04 +resistance sky130_fd_pr__pfet_01v8_hvt static 1.0 0.45 2.795110e+04 + +; C=100, P(w=0.14, l=0.15) +resistance sky130_fd_pr__special_pfet_pass dynamic-high 0.14 0.15 4.692480e+04 +resistance sky130_fd_pr__special_pfet_pass dynamic-low 0.14 0.15 1.546763e+05 +resistance sky130_fd_pr__special_pfet_pass static 0.14 0.15 8.046645e+04 + +; C=250, P(w=1.0, l=0.5) +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-high 1.0 0.5 9.906280e+03 +resistance sky130_fd_pr__pfet_g5v0d10v5 dynamic-low 1.0 0.5 3.154140e+04 +resistance sky130_fd_pr__pfet_g5v0d10v5 static 1.0 0.5 1.099553e+04 +