Substantially revised the technology file for magic, the PDK device
generator script for magic, the setup file for netgen, and the
DRC torture test generator, to match the final naming conventions
for the sky130_fd_pr library of primitive devices.
diff --git a/sky130/custom/models/sky130.lib b/sky130/custom/models/sky130.lib
deleted file mode 100644
index 0c65706..0000000
--- a/sky130/custom/models/sky130.lib
+++ /dev/null
@@ -1,170 +0,0 @@
-******* SkyWater sky130 model library *********
-* Typical corner (tt)
-.lib tt
-* MOSFET
-.inc "./sky130_fd_pr_base__nshort_tt.cor"
-.inc "./sky130_fd_pr_base__nlowvt_tt.cor"
-.inc "./sky130_fd_pr_base__pshort_tt.cor"
-.inc "./sky130_fd_pr_base__ntvnative_tt.cor"
-.inc "./sky130_fd_pr_base__nhvnative_tt.cor"
-.inc "./sky130_fd_pr_base__nshortesd_tt.cor"
-.inc "./sky130_fd_pr_base__plowvt_tt.cor"
-.inc "./sky130_fd_pr_base__phighvt_tt.cor"
-.inc "./sky130_fd_pr_base__phvesd_tt.cor"
-.inc "./sky130_fd_pr_base__phv_tt.cor"
-.inc "./sky130_fd_pr_base__pvhv_tt.cor"
-.inc "./sky130_fd_pr_base__nhv_tt.cor"
-.inc "./sky130_fd_pr_base__nvhv_tt_discrete.cor"
-.inc "./sky130_fd_pr_base__nhvesd_tt.cor"
-.inc "./sky130_fd_pr_base__tt_nonfet.cor"
-* Mismatch parameters
-.inc "./sky130_fd_pr_base__nshort_mm.cor"
-.inc "./sky130_fd_pr_base__pshort_mm.cor"
-.inc "./sky130_fd_pr_base__nlowvt_mm.cor"
-.inc "./sky130_fd_pr_base__plowvt_mm.cor"
-.inc "./sky130_fd_pr_base__phighvt_mm.cor"
-.inc "./sky130_fd_pr_base__nhv_mm.cor"
-.inc "./sky130_fd_pr_base__phv_mm.cor"
-.inc "./sky130_fd_pr_base__nhvnative_mm.cor"
-.inc "./sky130_fd_pr_base__ntvnative_mm.cor"
-* All models
-.inc "models.all"
-* Corner
-.include "ttrf.cor"
-.endl
-
-* Slow-Fast corner (sf)
-.lib sf
-* MOSFET
-.inc "./sky130_fd_pr_base__nshort_sf.cor"
-.inc "./sky130_fd_pr_base__nlowvt_sf.cor"
-.inc "./sky130_fd_pr_base__pshort_sf.cor"
-.inc "./sky130_fd_pr_base__ntvnative_sf.cor"
-.inc "./sky130_fd_pr_base__nhvnative_sf.cor"
-.inc "./sky130_fd_pr_base__nshortesd_sf.cor"
-.inc "./sky130_fd_pr_base__plowvt_sf.cor"
-.inc "./sky130_fd_pr_base__phighvt_sf.cor"
-.inc "./sky130_fd_pr_base__phvesd_sf.cor"
-.inc "./sky130_fd_pr_base__phv_sf.cor"
-.inc "./sky130_fd_pr_base__pvhv_sf.cor"
-.inc "./sky130_fd_pr_base__nhv_sf.cor"
-.inc "./sky130_fd_pr_base__nvhv_sf_discrete.cor"
-.inc "./sky130_fd_pr_base__nhvesd_sf.cor"
-.inc "./sky130_fd_pr_base__sf_nonfet.cor"
-* Mismatch parameters
-.inc "./sky130_fd_pr_base__nshort_mm.cor"
-.inc "./sky130_fd_pr_base__pshort_mm.cor"
-.inc "./sky130_fd_pr_base__nlowvt_mm.cor"
-.inc "./sky130_fd_pr_base__plowvt_mm.cor"
-.inc "./sky130_fd_pr_base__phighvt_mm.cor"
-.inc "./sky130_fd_pr_base__nhv_mm.cor"
-.inc "./sky130_fd_pr_base__phv_mm.cor"
-.inc "./sky130_fd_pr_base__nhvnative_mm.cor"
-.inc "./sky130_fd_pr_base__ntvnative_mm.cor"
-* All models
-.inc "models.all"
-* Corner
-.include "sfrf.cor"
-.endl
-
-* Fast-Fast corner (ff)
-.lib ff
-* MOSFET
-.inc "./sky130_fd_pr_base__nshort_ff.cor"
-.inc "./sky130_fd_pr_base__nlowvt_ff.cor"
-.inc "./sky130_fd_pr_base__pshort_ff.cor"
-.inc "./sky130_fd_pr_base__ntvnative_ff.cor"
-.inc "./sky130_fd_pr_base__nhvnative_ff.cor"
-.inc "./sky130_fd_pr_base__nshortesd_ff.cor"
-.inc "./sky130_fd_pr_base__plowvt_ff.cor"
-.inc "./sky130_fd_pr_base__phighvt_ff.cor"
-.inc "./sky130_fd_pr_base__phvesd_ff.cor"
-.inc "./sky130_fd_pr_base__phv_ff.cor"
-.inc "./sky130_fd_pr_base__pvhv_ff.cor"
-.inc "./sky130_fd_pr_base__nhv_ff.cor"
-.inc "./sky130_fd_pr_base__nvhv_ff_discrete.cor"
-.inc "./sky130_fd_pr_base__nhvesd_ff.cor"
-.inc "./sky130_fd_pr_base__ff_nonfet.cor"
-* Mismatch parameters
-.inc "./sky130_fd_pr_base__nshort_mm.cor"
-.inc "./sky130_fd_pr_base__pshort_mm.cor"
-.inc "./sky130_fd_pr_base__nlowvt_mm.cor"
-.inc "./sky130_fd_pr_base__plowvt_mm.cor"
-.inc "./sky130_fd_pr_base__phighvt_mm.cor"
-.inc "./sky130_fd_pr_base__nhv_mm.cor"
-.inc "./sky130_fd_pr_base__phv_mm.cor"
-.inc "./sky130_fd_pr_base__nhvnative_mm.cor"
-.inc "./sky130_fd_pr_base__ntvnative_mm.cor"
-* All models
-.inc "models.all"
-* Corner
-.include "ffrf.cor"
-.endl
-
-* Slow-Slow corner (ss)
-.lib ss
-* MOSFET
-.inc "./sky130_fd_pr_base__nshort_ss.cor"
-.inc "./sky130_fd_pr_base__nlowvt_ss.cor"
-.inc "./sky130_fd_pr_base__pshort_ss.cor"
-.inc "./sky130_fd_pr_base__ntvnative_ss.cor"
-.inc "./sky130_fd_pr_base__nhvnative_ss.cor"
-.inc "./sky130_fd_pr_base__nshortesd_ss.cor"
-.inc "./sky130_fd_pr_base__plowvt_ss.cor"
-.inc "./sky130_fd_pr_base__phighvt_ss.cor"
-.inc "./sky130_fd_pr_base__phvesd_ss.cor"
-.inc "./sky130_fd_pr_base__phv_ss.cor"
-.inc "./sky130_fd_pr_base__pvhv_ss.cor"
-.inc "./sky130_fd_pr_base__nhv_ss.cor"
-.inc "./sky130_fd_pr_base__nvhv_ss_discrete.cor"
-.inc "./sky130_fd_pr_base__nhvesd_ss.cor"
-.inc "./sky130_fd_pr_base__ss_nonfet.cor"
-* Mismatch parameters
-.inc "./sky130_fd_pr_base__nshort_mm.cor"
-.inc "./sky130_fd_pr_base__pshort_mm.cor"
-.inc "./sky130_fd_pr_base__nlowvt_mm.cor"
-.inc "./sky130_fd_pr_base__plowvt_mm.cor"
-.inc "./sky130_fd_pr_base__phighvt_mm.cor"
-.inc "./sky130_fd_pr_base__nhv_mm.cor"
-.inc "./sky130_fd_pr_base__phv_mm.cor"
-.inc "./sky130_fd_pr_base__nhvnative_mm.cor"
-.inc "./sky130_fd_pr_base__ntvnative_mm.cor"
-* All models
-.inc "models.all"
-* Corner
-.include "ssrf.cor"
-.endl
-
-* Fast-Slow corner (fs)
-.lib fs
-* MOSFET
-.inc "./sky130_fd_pr_base__nshort_fs.cor"
-.inc "./sky130_fd_pr_base__nlowvt_fs.cor"
-.inc "./sky130_fd_pr_base__pshort_fs.cor"
-.inc "./sky130_fd_pr_base__ntvnative_fs.cor"
-.inc "./sky130_fd_pr_base__nhvnative_fs.cor"
-.inc "./sky130_fd_pr_base__nshortesd_fs.cor"
-.inc "./sky130_fd_pr_base__plowvt_fs.cor"
-.inc "./sky130_fd_pr_base__phighvt_fs.cor"
-.inc "./sky130_fd_pr_base__phvesd_fs.cor"
-.inc "./sky130_fd_pr_base__phv_fs.cor"
-.inc "./sky130_fd_pr_base__pvhv_fs.cor"
-.inc "./sky130_fd_pr_base__nhv_fs.cor"
-.inc "./sky130_fd_pr_base__nvhv_fs_discrete.cor"
-.inc "./sky130_fd_pr_base__nhvesd_fs.cor"
-.inc "./sky130_fd_pr_base__fs_nonfet.cor"
-* Mismatch parameters
-.inc "./sky130_fd_pr_base__nshort_mm.cor"
-.inc "./sky130_fd_pr_base__pshort_mm.cor"
-.inc "./sky130_fd_pr_base__nlowvt_mm.cor"
-.inc "./sky130_fd_pr_base__plowvt_mm.cor"
-.inc "./sky130_fd_pr_base__phighvt_mm.cor"
-.inc "./sky130_fd_pr_base__nhv_mm.cor"
-.inc "./sky130_fd_pr_base__phv_mm.cor"
-.inc "./sky130_fd_pr_base__nhvnative_mm.cor"
-.inc "./sky130_fd_pr_base__ntvnative_mm.cor"
-* All models
-.inc "models.all"
-* Corner
-.include "fsrf.cor"
-.endl
diff --git a/sky130/custom/scripts/sky130_make_torture.tcl b/sky130/custom/scripts/sky130_make_torture.tcl
index 580dc0f..e71db9c 100644
--- a/sky130/custom/scripts/sky130_make_torture.tcl
+++ b/sky130/custom/scripts/sky130_make_torture.tcl
@@ -62,7 +62,7 @@
# NxN array resistor devices
-proc res_array {n devname startx starty {deltax 12700} {deltay 254}} {
+proc sky130_fd_pr__res_array {n devname startx starty {deltax 12700} {deltay 254}} {
suspendall
box position $startx $starty
set i 0
@@ -87,9 +87,9 @@
if {[rand] > 0.5} {set gt 1} else {set gt 0}
if {[rand] > 0.5} {set gb 1} else {set gb 0}
- # Snake geometry does not apply to xhrpoly, uhrpoly, and xpwres, and
+ # Snake geometry does not apply to sky130_fd_pr_res_high_po, sky130_fd_pr__res_xhigh_po, and sky130_fd_pr__res_iso_pw, and
# roverlap and endcov are prohibited.
- if {$devname == "xhrpoly" || $devname == "uhrpoly" || $devname == "xpwres"} {
+ if {$devname == "sky130_fd_pr_res_high_po" || $devname == "res_xhigh_po" || $devname == "res_iso_pw"} {
magic::gencell sky130::${devname} ${devname}_$i \
w $w l $l m $m nx $nx full_metal $fm \
glc $gl grc $gr gbc $gb gtc $gt
@@ -232,78 +232,75 @@
# Layout:
# phv
-# mrl1 mrp1 mrdp mrdp_hv
-# nhv pdiode_h
-# ndiode_h
-# pshort nndiode
-# xhrpoly xpwres mrdn mrdn_hv pdiode
-# nshort ndiode
+# sky130_fd_pr__res_generic_l1 sky130_fd_pr__res_generic_po res_generic_pd res_generic_pd_hv
+# nfet_g5v0d10v5 diode_pd2nw_11v0
+# diode_pw2nd_11v0
+# pfet_01v8 ndiode_pw2nd_05v5
+# res_high_po res_iso_pw res_generic_nd res_generic_nd_hv diode_pd2nw_05v5
+# nfet_01v8 diode_pw2nd_05v5
#
-mos_array 6 nshort 0 0
-mos_array 6 pshort 0 75000
-mos_array 6 nhv 0 150000
-mos_array 6 phv 0 225000
-mos_array 6 nlowvt 0 300000
-mos_array 6 sonos_e 0 375000 12700 1650
-mos_array 6 plowvt 0 450000
-mos_array 6 phighvt 0 525000
-mos_array 6 nhvnative 0 600000
+mos_array 6 sky130_fd_pr__nfet_01v8 0 0
+mos_array 6 sky130_fd_pr__pfet_01v8 0 75000
+mos_array 6 sky130_fd_pr__nfet_g5v0d10v5 0 150000
+mos_array 6 sky130_fd_pr__pfet_g5v0d10v5 0 225000
+mos_array 6 sky130_fd_pr__nfet_01v8_lvt 0 300000
+mos_array 6 sky130_fd_bs_flash__special_sonosfet_star 0 375000 12700 1650
+mos_array 6 sky130_fd_pr__pfet_01v8_lvt 0 450000
+mos_array 6 sky130_fd_pr__pfet_01v8_hvt 0 525000
+mos_array 6 sky130_fd_pr__nfet_03v3_nvt 0 600000
-res_array 6 xhrpoly 100000 0
-res_array 6 mrl1 100000 180000
-res_array 6 uhrpoly 100000 360000
+res_array 6 sky130_fd_pr_res_high_po 100000 0
+res_array 6 sky130_fd_pr__res_generic_l1 100000 180000
+res_array 6 sky130_fd_pr__res_xhigh_po 100000 360000
-res_array 6 xpwres 200000 0 13500 1100
-res_array 6 mrp1 200000 200000
+res_array 6 sky130_fd_pr__res_iso_pw 200000 0 13500 1100
+res_array 6 sky130_fd_pr__res_generic_po 200000 200000
-res_array 6 mrdn 300000 0
-res_array 6 mrdp 300000 180000
+res_array 6 sky130_fd_pr__res_generic_nd 300000 0
+res_array 6 sky130_fd_pr__res_generic_pd 300000 180000
-res_array 6 mrdn_hv 400000 0
-res_array 6 mrdp_hv 400000 180000
-
-diode_array 6 ndiode 500000 0
-diode_array 6 pdiode 500000 30000
-diode_array 6 ndiode_h 500000 60000
-diode_array 6 pdiode_h 500000 90000
+diode_array 6 sky130_fd_pr__diode_pw2nd_05v5 500000 0
+diode_array 6 sky130_fd_pr__diode_pd2nw_05v5 500000 30000
+diode_array 6 sky130_fd_pr__diode_pw2nd_11v0 500000 60000
+diode_array 6 sky130_fd_pr__diode_pd2nw_11v0 500000 90000
-cap_array 6 xcmimc1 600000 0
-cap_array 6 xcmimc2 600000 70000 18000 650
+cap_array 6 sky130_fd_pr__cap_mim_m3_1 600000 0
+cap_array 6 sky130_fd_pr__cap_mim_m3_2 600000 70000 18000 650
-mos_array 6 xcnwvc 700000 0 15000 254
-mos_array 6 xchvnwc 700000 70000 18000 254
-mos_array 6 xcnwvc2 700000 140000 15000 254
+mos_array 6 sky130_fd_pr__cap_var_lvt 700000 0 15000 254
+mos_array 6 sky130_fd_pr__cap_var 700000 70000 18000 254
+mos_array 6 sky130_fd_pr__cap_var_hvt 700000 140000 15000 254
-fixed_array 2 sky130_fd_pr_rf_npn_1x1 850000 0
-fixed_array 2 sky130_fd_pr_rf_npn_1x2 850000 30000
-fixed_array 2 sky130_fd_pr_rf_pnp5x 850000 60000
+fixed_array 2 sky130_fd_pr__rf_npn_1x1 850000 0
+fixed_array 2 sky130_fd_pr__rf_npn_1x2 850000 30000
+fixed_array 2 sky130_fd_pr__rf_pnp5x 850000 60000
-fixed_array 2 sky130_fd_pr_rf2_xcmvpp11p5x11p7_lim5shield 900000 0
-fixed_array 2 sky130_fd_pr_rf2_xcmvpp11p5x11p7_m3_lim5shield 900000 30000
-fixed_array 2 sky130_fd_pr_rf2_xcmvpp11p5x11p7_m4shield 900000 60000
-fixed_array 2 sky130_fd_pr_rf2_xcmvpp11p5x11p7_polym4shield 900000 90000
-fixed_array 2 sky130_fd_pr_rf2_xcmvpp4p4x4p6_m3_lim5shield 900000 120000
-fixed_array 2 sky130_fd_pr_rf2_xcmvpp6p8x6p1_lim4shield 900000 150000
-fixed_array 2 sky130_fd_pr_rf2_xcmvpp6p8x6p1_polym4shield 900000 180000
-fixed_array 2 sky130_fd_pr_rf2_xcmvpp8p6x7p9_m3_lim5shield 900000 210000
-fixed_array 2 sky130_fd_pr_rf2_xcmvppx4_2xnhvnative10x4 900000 240000
-# fixed_array 2 sky130_fd_pr_rf2_xcmvpp11p5x11p7_polym50p4shield 900000 270000
+fixed_array 2 sky130_fd_pr__cap_vpp_01p8x01p8_m1m2_noshield 900000 0
+fixed_array 2 sky130_fd_pr__cap_vpp_02p4x04p6_m1m2_noshield 900000 30000
+fixed_array 2 sky130_fd_pr__cap_vpp_02p7x6p1_m1m2m3m4_shield1_fingercap 900000 60000
+fixed_array 2 sky130_fd_pr__cap_vpp_01p8x01p8_m1m2_shield1 900000 90000
+fixed_array 2 sky130_fd_pr__cap_vpp_03p9x03p9_m1m2_shield1_floatm3 900000 120000
+fixed_array 2 sky130_fd_pr__cap_vpp_04p4x04p6_l1m1m2_noshield 900000 150000
+fixed_array 2 sky130_fd_pr__cap_vpp_04p4x04p6_l1m1m2_shieldm3_floatpo 900000 180000
+fixed_array 2 sky130_fd_pr__cap_vpp_04p4x04p6_l1m1m2m3m4_shieldpom5 900000 210000
+fixed_array 2 sky130_fd_pr__cap_vpp_06p8x06p1_l1m1m2_noshield 900000 240000
+fixed_array 2 sky130_fd_pr__cap_vpp_06p8x06p1_l1m1m2m3m4_shieldpo_floatm5 900000 270000
-fixed_array 2 sky130_fd_pr_rf_xcmvpp11p5x11p7_m3_lishield 950000 0
-fixed_array 2 sky130_fd_pr_rf_xcmvpp11p5x11p7_m3shield 950000 30000
-fixed_array 2 sky130_fd_pr_rf_xcmvpp2 950000 60000
-fixed_array 2 sky130_fd_pr_rf_xcmvpp2_nwell 950000 90000
-fixed_array 2 sky130_fd_pr_rf_xcmvpp4p4x4p6_m3_lishield 950000 120000
-fixed_array 2 sky130_fd_pr_rf_xcmvpp4p4x4p6_m3shield 950000 150000
-fixed_array 2 sky130_fd_pr_rf_xcmvpp8p6x7p9_m3_lishield 950000 180000
-fixed_array 2 sky130_fd_pr_rf_xcmvpp8p6x7p9_m3shield 950000 210000
-# fixed_array 2 sky130_fd_pr_rf_xcmvpp1p8x1p8_lishield 950000 240000
-# fixed_array 2 sky130_fd_pr_rf_xcmvpp1p8x1p8_m3shield 950000 270000
+fixed_array 2 sky130_fd_pr__cap_vpp_08p6x07p8_l1m1m2_noshield 950000 0
+fixed_array 2 sky130_fd_pr__cap_vpp_08p6x07p8_l1m1m2_shieldnw_nwell 950000 30000
+fixed_array 2 sky130_fd_pr__cap_vpp_08p6x07p8_m1m2m3_shield1 950000 60000
+fixed_array 2 sky130_fd_pr__cap_vpp_11p3x11p3_m1m2m3m4_shield1_wafflecap 950000 90000
+fixed_array 2 sky130_fd_pr__cap_vpp_11p3x11p8_l1m1m2m3m4_shield5_nhv 950000 120000
+fixed_array 2 sky130_fd_pr__cap_vpp_11p5x11p7_l1m1m2_noshield 950000 150000
+fixed_array 2 sky130_fd_pr__cap_vpp_11p5x11p7_l1m1m2_shieldpom3 950000 180000
+fixed_array 2 sky130_fd_pr__cap_vpp_11p5x11p7_l1m1m2m3m4_shieldm5 950000 210000
+fixed_array 2 sky130_fd_pr__cap_vpp_11p5x11p7_m1m4_noshield 950000 240000
+fixed_array 2 sky130_fd_pr__cap_vpp_22p5x11p7_pol1m1m2m3m4m5_noshield 950000 270000
-fixed_array 1 balun 1000000 0
-fixed_array 1 xind4_02 1000000 200000
-fixed_array 1 xind4_011 1250000 0
+# fixed_array 1 balun 1000000 0
+fixed_array 1 sky130_fd_pr__ind_02_04 1000000 200000
+fixed_array 1 sky130_fd_pr__ind_11_04 1250000 0
# Draw a deep nwell region around the sonos transistor block
box values -5200i 369500i 76800i 427500i
diff --git a/sky130/magic/sky130.magicrc b/sky130/magic/sky130.magicrc
index e0cf60a..db999db 100644
--- a/sky130/magic/sky130.magicrc
+++ b/sky130/magic/sky130.magicrc
@@ -50,9 +50,7 @@
# add path to reference cells
if {[file isdir ${PDKPATH}/libs.ref/${MAGTYPE}]} {
- addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_pr_base
- addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_pr_rf
- addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_pr_rf2
+ addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_pr
addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_io
addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hd
addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hdll
@@ -61,11 +59,9 @@
addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_lp
addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_ls
addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_ms
- addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_osu130
+ addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_osu_sc
} else {
- addpath ${PDKPATH}/libs.ref/sky130_fd_pr_base/${MAGTYPE}
- addpath ${PDKPATH}/libs.ref/sky130_fd_pr_rf/${MAGTYPE}
- addpath ${PDKPATH}/libs.ref/sky130_fd_pr_rf2/${MAGTYPE}
+ addpath ${PDKPATH}/libs.ref/sky130_fd_pr/${MAGTYPE}
addpath ${PDKPATH}/libs.ref/sky130_fd_io/${MAGTYPE}
addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hd/${MAGTYPE}
addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hdll/${MAGTYPE}
@@ -74,15 +70,13 @@
addpath ${PDKPATH}/libs.ref/sky130_fd_sc_lp/${MAGTYPE}
addpath ${PDKPATH}/libs.ref/sky130_fd_sc_ls/${MAGTYPE}
addpath ${PDKPATH}/libs.ref/sky130_fd_sc_ms/${MAGTYPE}
- addpath ${PDKPATH}/libs.ref/sky130_osu130/${MAGTYPE}
+ addpath ${PDKPATH}/libs.ref/sky130_osu_sc/${MAGTYPE}
}
# add path to GDS cells
#ifdef FULLTECH
if {[file isdir ${PDKPATH}/libs.ref/gds]} {
- path cell ${PDKPATH}/libs.ref/gds/sky130_fd_pr_base
- path cell ${PDKPATH}/libs.ref/gds/sky130_fd_pr_rf
- path cell ${PDKPATH}/libs.ref/gds/sky130_fd_pr_rf2
+ path cell ${PDKPATH}/libs.ref/gds/sky130_fd_pr
path cell +${PDKPATH}/libs.ref/gds/sky130_fd_io
path cell +${PDKPATH}/libs.ref/gds/sky130_fd_sc_hd
path cell +${PDKPATH}/libs.ref/gds/sky130_fd_sc_hdll
@@ -93,9 +87,7 @@
path cell +${PDKPATH}/libs.ref/gds/sky130_fd_sc_ms
path cell +${PDKPATH}/libs.ref/gds/sky130_osu130
} else {
- path cell ${PDKPATH}/libs.ref/sky130_fd_pr_base/gds
- path cell ${PDKPATH}/libs.ref/sky130_fd_pr_rf/gds
- path cell ${PDKPATH}/libs.ref/sky130_fd_pr_rf2/gds
+ path cell ${PDKPATH}/libs.ref/sky130_fd_pr/gds
path cell +${PDKPATH}/libs.ref/sky130_fd_io/gds
path cell +${PDKPATH}/libs.ref/sky130_fd_sc_hd/gds
path cell +${PDKPATH}/libs.ref/sky130_fd_sc_hdll/gds
diff --git a/sky130/magic/sky130.tcl b/sky130/magic/sky130.tcl
index c97d9a9..d868da7 100644
--- a/sky130/magic/sky130.tcl
+++ b/sky130/magic/sky130.tcl
@@ -6,7 +6,7 @@
# Magic/TCL design kit for SKYWATER TECHNAME
#-----------------------------------------------------
# Tim Edwards
-# Revision 0 PRE-ALPHA 3/21/2019
+# Revision 1 ALPHA 9/10/2020
#-----------------------------------------------------
set TECHPATH STAGING_PATH
@@ -109,36 +109,38 @@
magic::add_toolkit_menu $layoutframe "Devices 1" pdk1
magic::add_toolkit_command $layoutframe "nmos (MOSFET)" \
- "magic::gencell sky130::nshort" pdk1
+ "magic::gencell sky130::sky130_fd_pr__nfet_01v8" pdk1
magic::add_toolkit_command $layoutframe "pmos (MOSFET)" \
- "magic::gencell sky130::pshort" pdk1
+ "magic::gencell sky130::sky130_fd_pr__pfet_01v8" pdk1
magic::add_toolkit_separator $layoutframe pdk1
magic::add_toolkit_command $layoutframe "n-diode" \
- "magic::gencell sky130::ndiode" pdk1
+ "magic::gencell sky130::sky130_fd_pr__diode_pw2nd_05v5" pdk1
magic::add_toolkit_command $layoutframe "p-diode" \
- "magic::gencell sky130::pdiode" pdk1
+ "magic::gencell sky130::sky130_fd_pr__diode_pd2nw_05v5" pdk1
magic::add_toolkit_separator $layoutframe pdk1
magic::add_toolkit_command $layoutframe "MOS varactor" \
- "magic::gencell sky130::xcnwvc" pdk1
+ "magic::gencell sky130::sky130_fd_pr__cap_var_lvt" pdk1
magic::add_toolkit_separator $layoutframe pdk1
- magic::add_toolkit_command $layoutframe "NPN 1x1" \
- "magic::gencell sky130::sky130_fd_pr_rf_npn_1x1" pdk1
- magic::add_toolkit_command $layoutframe "NPN 1x2" \
- "magic::gencell sky130::sky130_fd_pr_rf_npn_1x2" pdk1
- magic::add_toolkit_command $layoutframe "PNP 5x" \
- "magic::gencell sky130::sky130_fd_pr_rf_pnp5x" pdk1
+ magic::add_toolkit_command $layoutframe "NPN 1.0 x 1.0" \
+ "magic::gencell sky130::sky130_fd_pr__npn_05v5_W1p00L1p00" pdk1
+ magic::add_toolkit_command $layoutframe "NPN 1.0 x 2.0" \
+ "magic::gencell sky130::sky130_fd_pr__npn_05v5_W1p00L2p00" pdk1
+ magic::add_toolkit_command $layoutframe "PNP 0.68 x 0.68" \
+ "magic::gencell sky130::sky130_fd_pr__pnp_05v5_W0p68L0p68" pdk1
+ magic::add_toolkit_command $layoutframe "PNP 3.4 x 3.4" \
+ "magic::gencell sky130::sky130_fd_pr__pnp_05v5_W3p40L3p40" pdk1
+#ifdef REDISTRIBUTION
magic::add_toolkit_separator $layoutframe pdk1
- magic::add_toolkit_command $layoutframe "balun" \
- "magic::gencell sky130::balun" pdk1
- magic::add_toolkit_command $layoutframe "inductor 011" \
- "magic::gencell sky130::xind4_011" pdk1
- magic::add_toolkit_command $layoutframe "inductor 02" \
- "magic::gencell sky130::xind4_02" pdk1
+ magic::add_toolkit_command $layoutframe "inductor 01x04" \
+ "magic::gencell sky130::sky130_fd_pr__ind_01_04" pdk1
+ magic::add_toolkit_command $layoutframe "inductor 02x04" \
+ "magic::gencell sky130::sky130_fd_pr__ind_02_04" pdk1
+#endif (REDISTRIBUTION)
magic::add_toolkit_separator $layoutframe pdk1
@@ -164,88 +166,82 @@
magic::add_toolkit_menu $layoutframe "Devices 2" pdk2
- magic::add_toolkit_command $layoutframe "mrdn (1.8V) - 120 Ohm/sq" \
- "magic::gencell sky130::mrdn" pdk2
- magic::add_toolkit_command $layoutframe "mrdp (1.8V) - 197 Ohm/sq" \
- "magic::gencell sky130::mrdp" pdk2
- magic::add_toolkit_command $layoutframe "mrdn_hv (5.0V) - 114 Ohm/sq" \
- "magic::gencell sky130::mrdn_hv" pdk2
- magic::add_toolkit_command $layoutframe "mrdp_hv (5.0V) - 191 Ohm/sq" \
- "magic::gencell sky130::mrdp_hv" pdk2
+ magic::add_toolkit_command $layoutframe "n-diff resistor (1.8V) - 120 Ohm/sq" \
+ "magic::gencell sky130::sky130_fd_pr__res_generic_nd" pdk2
+ magic::add_toolkit_command $layoutframe "p-diff resistor (1.8V) - 197 Ohm/sq" \
+ "magic::gencell sky130::sky130_fd_pr__res_generic_pd" pdk2
+ magic::add_toolkit_command $layoutframe "n-diff resistor (5.0V) - 114 Ohm/sq" \
+ "magic::gencell sky130::sky130_fd_pr__mrdn_hv" pdk2
+ magic::add_toolkit_command $layoutframe "p-diff resistor (5.0V) - 191 Ohm/sq" \
+ "magic::gencell sky130::sky130_fd_pr__mrdp_hv" pdk2
- magic::add_toolkit_command $layoutframe "mrp1 - 48.2 Ohm/sq" \
- "magic::gencell sky130::mrp1" pdk2
- magic::add_toolkit_command $layoutframe "xhrpoly_0p35 - 319.8 Ohm/sq" \
- "magic::gencell sky130::xhrpoly" pdk2
- magic::add_toolkit_command $layoutframe "uhrpoly_0p35 - 2000 Ohm/sq" \
- "magic::gencell sky130::uhrpoly" pdk2
- magic::add_toolkit_command $layoutframe "xpwres - 3050 Ohm/sq" \
- "magic::gencell sky130::xpwres" pdk2
+ magic::add_toolkit_command $layoutframe "poly resistor - 48.2 Ohm/sq" \
+ "magic::gencell sky130::sky130_fd_pr__res_generic_po" pdk2
+ magic::add_toolkit_command $layoutframe "poly resistor - 319.8 Ohm/sq" \
+ "magic::gencell sky130::sky130_fd_pr__res_high_po_0p35" pdk2
+ magic::add_toolkit_command $layoutframe "poly resistor - 2000 Ohm/sq" \
+ "magic::gencell sky130::sky130_fd_pr__res_xhigh_po_0p35" pdk2
+ magic::add_toolkit_command $layoutframe "p-well resistor - 3050 Ohm/sq" \
+ "magic::gencell sky130::sky130_fd_pr__res_iso_pw" pdk2
magic::add_toolkit_separator $layoutframe pdk2
- magic::add_toolkit_command $layoutframe "mrl1 - 12.2 Ohm/sq" \
- "magic::gencell sky130::mrl1" pdk2
- magic::add_toolkit_command $layoutframe "mrm1 - 125 mOhm/sq" \
- "magic::gencell sky130::mrm1" pdk2
- magic::add_toolkit_command $layoutframe "mrm2 - 125 mOhm/sq" \
- "magic::gencell sky130::mrm2" pdk2
- magic::add_toolkit_command $layoutframe "mrm3 - 47 mOhm/sq" \
- "magic::gencell sky130::mrm3" pdk2
+ magic::add_toolkit_command $layoutframe "l1 metal resistor - 12.2 Ohm/sq" \
+ "magic::gencell sky130::sky130_fd_pr__res_generic_l1" pdk2
+ magic::add_toolkit_command $layoutframe "m1 metal resistor - 125 mOhm/sq" \
+ "magic::gencell sky130::sky130_fd_pr__res_generic_m1" pdk2
+ magic::add_toolkit_command $layoutframe "m2 metal resistor - 125 mOhm/sq" \
+ "magic::gencell sky130::sky130_fd_pr__res_generic_m2" pdk2
+ magic::add_toolkit_command $layoutframe "m3 metal resistor - 47 mOhm/sq" \
+ "magic::gencell sky130::sky130_fd_pr__res_generic_m3" pdk2
#ifdef METAL5
- magic::add_toolkit_command $layoutframe "mrm4 - 47 mOhm/sq" \
- "magic::gencell sky130::mrm4" pdk2
- magic::add_toolkit_command $layoutframe "mrm5 - 29 mOhm/sq" \
- "magic::gencell sky130::mrm5" pdk2
+ magic::add_toolkit_command $layoutframe "m4 metal resistor - 47 mOhm/sq" \
+ "magic::gencell sky130::sky130_fd_pr__res_generic_m4" pdk2
+ magic::add_toolkit_command $layoutframe "m5 metal resistor - 29 mOhm/sq" \
+ "magic::gencell sky130::sky130_fd_pr__res_generic_m5" pdk2
#endif (METAL5)
#ifdef MIM
- magic::add_toolkit_command $layoutframe "xcmimc1 - 1fF/um^2 MiM cap" \
- "magic::gencell sky130::xcmimc1" pdk2
- magic::add_toolkit_command $layoutframe "xcmimc2 - 1fF/um^2 MiM cap" \
- "magic::gencell sky130::xcmimc2" pdk2
+ magic::add_toolkit_command $layoutframe "MiM cap - 1fF/um^2 (metal3)" \
+ "magic::gencell sky130::sky130_fd_pr__cap_mim_m3_1" pdk2
+ magic::add_toolkit_command $layoutframe "MiM cap - 1fF/um^2 (metal4)" \
+ "magic::gencell sky130::sky130_fd_pr__cap_mim_m3_2" pdk2
#endif (MIM)
magic::add_toolkit_separator $layoutframe pdk2
magic::add_toolkit_command $layoutframe "vpp 11.5x11.7 li/m5 shield" \
- "magic::gencell sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_lim5shield" pdk2
+ "magic::gencell sky130::sky130_fd_pr__cap_vpp_11p5x11p7_lim5_shield" pdk2
magic::add_toolkit_command $layoutframe "vpp 11.5x11.7 li/m3/m5 shield" \
- "magic::gencell sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_m3_lim5shield" pdk2
+ "magic::gencell sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m3_lim5_shield" pdk2
magic::add_toolkit_command $layoutframe "vpp 11.5x11.7 m4 shield" \
- "magic::gencell sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_m4shield" pdk2
+ "magic::gencell sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m4_shield" pdk2
magic::add_toolkit_command $layoutframe "vpp 11.5x11.7 p/m4 shield" \
- "magic::gencell sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_polym4shield" pdk2
+ "magic::gencell sky130::sky130_fd_pr__cap_vpp_11p5x11p7_pom4_shield" pdk2
# magic::add_toolkit_command $layoutframe "vpp 11.5x11.7 p/m5 shield" \
- # "magic::gencell sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_polym50p4shield" pdk2
- magic::add_toolkit_command $layoutframe "vpp 4.4x4.6 li/m3/m5 shield" \
- "magic::gencell sky130::sky130_fd_pr_rf2_xcmvpp4p4x4p6_m3_lim5shield" pdk2
+ "magic::gencell sky130::sky130_fd_pr__cap_vpp_4p4x4p6_m3_lim5_shield" pdk2
magic::add_toolkit_command $layoutframe "vpp 6.8x6.1 li/m4 shield" \
- "magic::gencell sky130::sky130_fd_pr_rf2_xcmvpp6p8x6p1_lim4shield" pdk2
+ "magic::gencell sky130::sky130_fd_pr__cap_vpp_6p8x6p1_lim4_shield" pdk2
magic::add_toolkit_command $layoutframe "vpp 6.8x6.1 p/m4 shield" \
- "magic::gencell sky130::sky130_fd_pr_rf2_xcmvpp6p8x6p1_polym4shield" pdk2
+ "magic::gencell sky130::sky130_fd_pr__cap_vpp_6p8x6p1_pom4_shield" pdk2
magic::add_toolkit_command $layoutframe "vpp 8.6x7.9 li/m3/m5 shield" \
- "magic::gencell sky130::sky130_fd_pr_rf2_xcmvpp8p6x7p9_m3_lim5shield" pdk2
- magic::add_toolkit_command $layoutframe "vpp 4.2x2 nhvnat" \
- "magic::gencell sky130::sky130_fd_pr_rf2_xcmvppx4_2xnhvnative10x4" pdk2
+ "magic::gencell sky130::sky130_fd_pr__cap_vpp_8p6x7p9_m3_lim5_shield" pdk2
magic::add_toolkit_command $layoutframe "vpp 11.5x11.7 li/m3 shield" \
- "magic::gencell sky130::sky130_fd_pr_rf_xcmvpp11p5x11p7_m3_lishield" pdk2
+ "magic::gencell sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m3_li_shield" pdk2
magic::add_toolkit_command $layoutframe "vpp 11.5x11.7 m3 shield" \
- "magic::gencell sky130::sky130_fd_pr_rf_xcmvpp11p5x11p7_m3shield" pdk2
+ "magic::gencell sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m3_shield" pdk2
# magic::add_toolkit_command $layoutframe "vpp 1.8x1.8 li shield" \
- # "magic::gencell sky130::sky130_fd_pr_rf_xcmvpp1p8x1p8_lishield" pdk2
+ # "magic::gencell sky130::sky130_fd_pr__cap_vpp_1p8x1p8_li_shield" pdk2
# magic::add_toolkit_command $layoutframe "vpp 1.8x1.8 m3 shield" \
- # "magic::gencell sky130::sky130_fd_pr_rf_xcmvpp1p8x1p8_m3shield" pdk2
+ # "magic::gencell sky130::sky130_fd_pr__cap_vpp_1p8x1p8_m3_shield" pdk2
magic::add_toolkit_command $layoutframe "vpp 4.4x4.6 li/m3 shield" \
- "magic::gencell sky130::sky130_fd_pr_rf_xcmvpp4p4x4p6_m3_lishield" pdk2
+ "magic::gencell sky130::sky130_fd_pr__cap_vpp_4p4x4p6_m3_li_shield" pdk2
magic::add_toolkit_command $layoutframe "vpp 4.4x4.6 m3 shield" \
- "magic::gencell sky130::sky130_fd_pr_rf_xcmvpp4p4x4p6_m3shield" pdk2
+ "magic::gencell sky130::sky130_fd_pr__cap_vpp_4p4x4p6_m3_shield" pdk2
magic::add_toolkit_command $layoutframe "vpp 8.6x7.9 li/m3 shield" \
- "magic::gencell sky130::sky130_fd_pr_rf_xcmvpp8p6x7p9_m3_lishield" pdk2
+ "magic::gencell sky130::sky130_fd_pr__cap_vpp_8p6x7p9_m3_li_shield" pdk2
magic::add_toolkit_command $layoutframe "vpp 8.6x7.9 m3 shield" \
- "magic::gencell sky130::sky130_fd_pr_rf_xcmvpp8p6x7p9_m3shield" pdk2
- magic::add_toolkit_command $layoutframe "vpp2" \
- "magic::gencell sky130::sky130_fd_pr_rf_xcmvpp2" pdk2
- magic::add_toolkit_command $layoutframe "vpp2 nwell" \
- "magic::gencell sky130::sky130_fd_pr_rf_xcmvpp2_nwell" pdk2
+ "magic::gencell sky130::sky130_fd_pr__cap_vpp_8p6x7p9_m3_shield" pdk2
+ magic::add_toolkit_command $layoutframe "vpp 4.4x4.6" \
+ "magic::gencell sky130::sky130_fd_pr__cap_vpp_04p4x04p6_l1m1m2_noshield" pdk2
${layoutframe}.titlebar.mbuttons.drc.toolmenu add command -label "DRC Routing" -command {drc style drc(routing)}
@@ -754,35 +750,37 @@
}
#------------------------------------------------------------------
-# NOTE: ndiode_lvt, ndiode_native, pdiode_lvt, and pdiode_hvt are
-# all considered parasitic diodes. They may be generated by
-# invoking the build procedure on the command line. To enable them
-# in the PDK, add them to the appropriate compatible {} list.
+# NOTE: sky130_fd_pr__diode_pw2nd_05v5_lvt,
+# sky130_fd_pr__diode_pw2nd_05v5_nvt, sky130_fd_pr__pd2nw_05v5_lvt,
+# and sky130_fd_pr__pd2nw_11v0 are all considered parasitic diodes.
+# They may be generated by invoking the build procedure on the
+# command line. To enable them in the PDK, add them to the
+# appropriate compatible {} list.
#------------------------------------------------------------------
-proc sky130::ndiode_defaults {} {
+proc sky130::sky130_fd_pr__diode_pw2nd_05v5_defaults {} {
return {w 0.45 l 0.45 area 0.2025 peri 1.8 \
nx 1 ny 1 dummy 0 lmin 0.45 wmin 0.45 \
elc 1 erc 1 etc 1 ebc 1 doverlap 0 \
- compatible {ndiode ndiode_h} full_metal 1}
+ compatible {ndiode sky130_fd_pr__diode_pw2nd_11v0} full_metal 1}
}
-proc sky130::ndiode_lvt_defaults {} {
+proc sky130::sky130_fd_pr__diode_pw2nd_05v5_lvt_defaults {} {
return {w 0.45 l 0.45 area 0.2025 peri 1.8 \
nx 1 ny 1 dummy 0 lmin 0.45 wmin 0.45 \
elc 1 erc 1 etc 1 ebc 1 doverlap 0 \
full_metal 1}
}
-proc sky130::pdiode_defaults {} {
+proc sky130::sky130_fd_pr__pd2nw_05v5_defaults {} {
return {w 0.45 l 0.45 area 0.2025 peri 1.8 \
nx 1 ny 1 dummy 0 lmin 0.45 wmin 0.45 \
elc 1 erc 1 etc 1 ebc 1 \
glc 1 grc 1 gtc 1 gbc 1 doverlap 0 \
- compatible {pdiode pdiode_h} full_metal 1}
+ compatible {pdiode sky130_fd_pr__pd2nw_11v0} full_metal 1}
}
-proc sky130::pdiode_lvt_defaults {} {
+proc sky130::sky130_fd_pr__pd2nw_05v5_lvt_defaults {} {
return {w 0.45 l 0.45 area 0.2025 peri 1.8 \
nx 1 ny 1 dummy 0 lmin 0.45 wmin 0.45 \
elc 1 erc 1 etc 1 ebc 1 \
@@ -790,7 +788,7 @@
full_metal 1}
}
-proc sky130::pdiode_hvt_defaults {} {
+proc sky130::sky130_fd_pr__pd2nw_11v0_defaults {} {
return {w 0.45 l 0.45 area 0.2025 peri 1.8 \
nx 1 ny 1 dummy 0 lmin 0.45 wmin 0.45 \
elc 1 erc 1 etc 1 ebc 1 \
@@ -798,127 +796,127 @@
full_metal 1}
}
-proc sky130::ndiode_h_defaults {} {
+proc sky130::sky130_fd_pr__diode_pw2nd_11v0_defaults {} {
return {w 0.45 l 0.45 area 0.2024 peri 1.8 \
nx 1 ny 1 dummy 0 lmin 0.45 wmin 0.45 \
elc 1 erc 1 etc 1 ebc 1 doverlap 0 \
- compatible {ndiode ndiode_h} full_metal 1}
+ compatible {ndiode sky130_fd_pr__diode_pw2nd_11v0} full_metal 1}
}
-proc sky130::ndiode_native_defaults {} {
+proc sky130::sky130_fd_pr__diode_pw2nd_05v5_nvt_defaults {} {
return {w 0.45 l 0.45 area 0.2024 peri 1.8 \
nx 1 ny 1 dummy 0 lmin 0.45 wmin 0.45 \
elc 1 erc 1 etc 1 ebc 1 doverlap 0 \
full_metal 1}
}
-proc sky130::pdiode_h_defaults {} {
+proc sky130::sky130_fd_pr__pd2nw_11v0_defaults {} {
return {w 0.45 l 0.45 area 0.2024 peri 1.8 \
nx 1 ny 1 dummy 0 lmin 0.45 wmin 0.45 \
elc 1 erc 1 etc 1 ebc 1 \
glc 1 grc 1 gtc 1 gbc 1 doverlap 0 \
- compatible {pdiode pdiode_h} full_metal 1}
+ compatible {pdiode sky130_fd_pr__pd2nw_11v0} full_metal 1}
}
#----------------------------------------------------------------
-proc sky130::ndiode_convert {parameters} {
+proc sky130::sky130_fd_pr__diode_pw2nd_05v5_convert {parameters} {
return [sky130::diode_convert $parameters]
}
-proc sky130::ndiode_lvt_convert {parameters} {
+proc sky130::sky130_fd_pr__diode_pw2nd_05v5_lvt_convert {parameters} {
return [sky130::diode_convert $parameters]
}
-proc sky130::pdiode_convert {parameters} {
+proc sky130::sky130_fd_pr__pd2nw_05v5_convert {parameters} {
return [sky130::diode_convert $parameters]
}
-proc sky130::pdiode_lvt_convert {parameters} {
+proc sky130::sky130_fd_pr__pd2nw_05v5_lvt_convert {parameters} {
return [sky130::diode_convert $parameters]
}
-proc sky130::pdiode_hvt_convert {parameters} {
+proc sky130::sky130_fd_pr__pd2nw_11v0_convert {parameters} {
return [sky130::diode_convert $parameters]
}
-proc sky130::ndiode_h_convert {parameters} {
+proc sky130::sky130_fd_pr__diode_pw2nd_11v0_convert {parameters} {
return [sky130::diode_convert $parameters]
}
-proc sky130::ndiode_native_convert {parameters} {
+proc sky130::sky130_fd_pr__diode_pw2nd_05v5_nvt_convert {parameters} {
return [sky130::diode_convert $parameters]
}
-proc sky130::pdiode_h_convert {parameters} {
+proc sky130::sky130_fd_pr__pd2nw_11v0_convert {parameters} {
return [sky130::diode_convert $parameters]
}
#----------------------------------------------------------------
-proc sky130::ndiode_dialog {parameters} {
+proc sky130::sky130_fd_pr__diode_pw2nd_05v5_dialog {parameters} {
sky130::diode_dialog ndiode $parameters
}
-proc sky130::ndiode_lvt_dialog {parameters} {
- sky130::diode_dialog ndiode_lvt $parameters
+proc sky130::sky130_fd_pr__diode_pw2nd_05v5_lvt_dialog {parameters} {
+ sky130::diode_dialog sky130_fd_pr__diode_pw2nd_05v5_lvt $parameters
}
-proc sky130::pdiode_dialog {parameters} {
+proc sky130::sky130_fd_pr__pd2nw_05v5_dialog {parameters} {
sky130::diode_dialog pdiode $parameters
}
-proc sky130::pdiode_lvt_dialog {parameters} {
- sky130::diode_dialog pdiode_lvt $parameters
+proc sky130::sky130_fd_pr__pd2nw_05v5_lvt_dialog {parameters} {
+ sky130::diode_dialog sky130_fd_pr__pd2nw_05v5_lvt $parameters
}
-proc sky130::pdiode_hvt_dialog {parameters} {
- sky130::diode_dialog pdiode_hvt $parameters
+proc sky130::sky130_fd_pr__pd2nw_11v0_dialog {parameters} {
+ sky130::diode_dialog sky130_fd_pr__pd2nw_11v0 $parameters
}
-proc sky130::ndiode_h_dialog {parameters} {
- sky130::diode_dialog ndiode_h $parameters
+proc sky130::sky130_fd_pr__diode_pw2nd_11v0_dialog {parameters} {
+ sky130::diode_dialog sky130_fd_pr__diode_pw2nd_11v0 $parameters
}
-proc sky130::ndiode_native_dialog {parameters} {
- sky130::diode_dialog ndiode_native $parameters
+proc sky130::sky130_fd_pr__diode_pw2nd_05v5_nvt_dialog {parameters} {
+ sky130::diode_dialog sky130_fd_pr__diode_pw2nd_05v5_nvt $parameters
}
-proc sky130::pdiode_h_dialog {parameters} {
- sky130::diode_dialog pdiode_h $parameters
+proc sky130::sky130_fd_pr__pd2nw_11v0_dialog {parameters} {
+ sky130::diode_dialog sky130_fd_pr__pd2nw_11v0 $parameters
}
#----------------------------------------------------------------
-proc sky130::ndiode_check {parameters} {
+proc sky130::sky130_fd_pr__diode_pw2nd_05v5_check {parameters} {
sky130::diode_check $parameters
}
-proc sky130::ndiode_lvt_check {parameters} {
+proc sky130::sky130_fd_pr__diode_pw2nd_05v5_lvt_check {parameters} {
sky130::diode_check $parameters
}
-proc sky130::pdiode_check {parameters} {
+proc sky130::sky130_fd_pr__pd2nw_05v5_check {parameters} {
sky130::diode_check $parameters
}
-proc sky130::pdiode_lvt_check {parameters} {
+proc sky130::sky130_fd_pr__pd2nw_05v5_lvt_check {parameters} {
sky130::diode_check $parameters
}
-proc sky130::pdiode_hvt_check {parameters} {
+proc sky130::sky130_fd_pr__pd2nw_11v0_check {parameters} {
sky130::diode_check $parameters
}
-proc sky130::ndiode_h_check {parameters} {
+proc sky130::sky130_fd_pr__diode_pw2nd_11v0_check {parameters} {
sky130::diode_check $parameters
}
-proc sky130::ndiode_native_check {parameters} {
+proc sky130::sky130_fd_pr__diode_pw2nd_05v5_nvt_check {parameters} {
sky130::diode_check $parameters
}
-proc sky130::pdiode_h_check {parameters} {
+proc sky130::sky130_fd_pr__pd2nw_11v0_check {parameters} {
sky130::diode_check $parameters
}
@@ -1107,7 +1105,7 @@
#----------------------------------------------------------------
-proc sky130::ndiode_draw {parameters} {
+proc sky130::sky130_fd_pr__diode_pw2nd_05v5_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -1132,9 +1130,9 @@
#----------------------------------------------------------------
# NOTE: Use ppd instead of psd so that there is additional
# diffusion around the contact, allowing more space for the
-# implant (likewise pdiode_lvt and pdiode_hvt).
+# implant (likewise sky130_fd_pr__pd2nw_05v5_lvt and sky130_fd_pr__pd2nw_11v0).
-proc sky130::ndiode_lvt_draw {parameters} {
+proc sky130::sky130_fd_pr__diode_pw2nd_05v5_lvt_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -1158,7 +1156,7 @@
#----------------------------------------------------------------
-proc sky130::pdiode_draw {parameters} {
+proc sky130::sky130_fd_pr__pd2nw_05v5_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -1186,7 +1184,7 @@
#----------------------------------------------------------------
-proc sky130::pdiode_lvt_draw {parameters} {
+proc sky130::sky130_fd_pr__pd2nw_05v5_lvt_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -1214,7 +1212,7 @@
#----------------------------------------------------------------
-proc sky130::pdiode_hvt_draw {parameters} {
+proc sky130::sky130_fd_pr__pd2nw_11v0_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -1242,7 +1240,7 @@
#----------------------------------------------------------------
-proc sky130::ndiode_h_draw {parameters} {
+proc sky130::sky130_fd_pr__diode_pw2nd_11v0_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -1266,7 +1264,7 @@
}
-proc sky130::ndiode_native_draw {parameters} {
+proc sky130::sky130_fd_pr__diode_pw2nd_05v5_nvt_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -1291,7 +1289,7 @@
#----------------------------------------------------------------
-proc sky130::pdiode_h_draw {parameters} {
+proc sky130::sky130_fd_pr__pd2nw_11v0_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -1325,12 +1323,12 @@
#----------------------------------------------------------------
#ifdef MIM
-proc sky130::xcmimc1_defaults {} {
+proc sky130::sky130_fd_pr__cap_mim_m3_1_defaults {} {
return {w 2.00 l 2.00 val 4.0 carea 1.00 cperi 0.17 \
nx 1 ny 1 dummy 0 square 0 lmin 2.00 wmin 2.00 \
lmax 30.0 wmax 30.0 dc 0 bconnect 1 tconnect 1}
}
-proc sky130::xcmimc2_defaults {} {
+proc sky130::sky130_fd_pr__cap_mim_m3_2_defaults {} {
return {w 2.00 l 2.00 val 4.0 carea 1.00 cperi 0.17 \
nx 1 ny 1 dummy 0 square 0 lmin 2.00 wmin 2.00 \
lmax 30.0 wmax 30.0 dc 0 bconnect 1 tconnect 1}
@@ -1405,10 +1403,10 @@
}
#ifdef MIM
-proc sky130::xcmimc1_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_mim_m3_1_convert {parameters} {
return [cap_convert $parameters]
}
-proc sky130::xcmimc2_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_mim_m3_2_convert {parameters} {
return [cap_convert $parameters]
}
#endif (MIM)
@@ -1448,11 +1446,11 @@
}
#ifdef MIM
-proc sky130::xcmimc1_dialog {parameters} {
- sky130::cap_dialog xcmimc1 $parameters
+proc sky130::sky130_fd_pr__cap_mim_m3_1_dialog {parameters} {
+ sky130::cap_dialog sky130_fd_pr__cap_mim_m3_1 $parameters
}
-proc sky130::xcmimc2_dialog {parameters} {
- sky130::cap_dialog xcmimc2 $parameters
+proc sky130::sky130_fd_pr__cap_mim_m3_2_dialog {parameters} {
+ sky130::cap_dialog sky130_fd_pr__cap_mim_m3_2 $parameters
}
#endif (MIM)
@@ -1916,7 +1914,7 @@
#----------------------------------------------------------------
#ifdef MIM
-proc sky130::xcmimc1_draw {parameters} {
+proc sky130::sky130_fd_pr__cap_mim_m3_1_draw {parameters} {
set newdict [dict create \
top_type m4 \
top_contact_type via3 \
@@ -1936,7 +1934,7 @@
return [sky130::cap_draw $drawdict]
}
-proc sky130::xcmimc2_draw {parameters} {
+proc sky130::sky130_fd_pr__cap_mim_m3_2_draw {parameters} {
set newdict [dict create \
top_type m5 \
top_contact_type via4 \
@@ -2032,10 +2030,10 @@
}
#ifdef MIM
-proc sky130::xcmimc1_check {parameters} {
+proc sky130::sky130_fd_pr__cap_mim_m3_1_check {parameters} {
return [sky130::cap_check $parameters]
}
-proc sky130::xcmimc2_check {parameters} {
+proc sky130::sky130_fd_pr__cap_mim_m3_2_check {parameters} {
return [sky130::cap_check $parameters]
}
#endif (MIM)
@@ -2069,12 +2067,12 @@
#----------------------------------------------------------------
#----------------------------------------------------------------
-# xpwres: Specify all user-editable default values and those
-# needed by xpwres_check
+# sky130_fd_pr__res_iso_pw: Specify all user-editable default values and those
+# needed by sky130_fd_pr__res_iso_pw_check
# NOTE: Work in progress. These values need to be corrected.
#----------------------------------------------------------------
-proc sky130::xpwres_defaults {} {
+proc sky130::sky130_fd_pr__res_iso_pw_defaults {} {
return {w 2.650 l 26.50 m 1 nx 1 wmin 2.650 lmin 26.50 \
rho 975 val 4875 dummy 0 dw 0.25 term 1.0 \
guard 1 endcov 100 full_metal 1}
@@ -2085,7 +2083,7 @@
# needed by rp1_check
#----------------------------------------------------------------
-proc sky130::mrp1_defaults {} {
+proc sky130::sky130_fd_pr__res_generic_po_defaults {} {
return {w 0.330 l 1.650 m 1 nx 1 wmin 0.330 lmin 1.650 \
rho 48.2 val 241 dummy 0 dw 0.0 term 0.0 \
sterm 0.0 caplen 0.4 snake 0 guard 1 \
@@ -2094,95 +2092,110 @@
}
# "term" is rho * 0.06, the distance between xpc edge and CONT.
-proc sky130::xhrpoly_0p35_defaults {} {
+proc sky130::sky130_fd_pr__res_high_po_0p35_defaults {} {
return {w 0.350 l 0.50 m 1 nx 1 wmin 0.350 lmin 0.50 \
rho 319.8 val 456.857 dummy 0 dw 0.0 term 19.188 \
sterm 0.0 caplen 0 guard 1 glc 1 grc 1 gtc 1 gbc 1 \
- compatible {xhrpoly_0p35 xhrpoly_0p69 xhrpoly_1p41 \
- xhrpoly_2p85 xhrpoly_5p73} \
+ compatible {sky130_fd_pr__res_high_po_0p35 \
+ sky130_fd_pr__res_high_po_0p69 sky130_fd_pr__res_high_po_1p41 \
+ sky130_fd_pr__res_high_po_2p85 sky130_fd_pr__res_high_po_5p73} \
full_metal 1 wmax 0.350}
}
-proc sky130::xhrpoly_0p69_defaults {} {
+proc sky130::sky130_fd_pr__res_high_po_0p69_defaults {} {
return {w 0.690 l 1.00 m 1 nx 1 wmin 0.690 lmin 0.50 \
rho 319.8 val 463.480 dummy 0 dw 0.0 term 19.188 \
sterm 0.0 caplen 0 guard 1 glc 1 grc 1 gtc 1 gbc 1 \
- compatible {xhrpoly_0p35 xhrpoly_0p69 xhrpoly_1p41 \
- xhrpoly_2p85 xhrpoly_5p73} \
+ compatible {sky130_fd_pr__res_high_po_0p35 \
+ sky130_fd_pr__res_high_po_0p69 sky130_fd_pr__res_high_po_1p41 \
+ sky130_fd_pr__res_high_po_2p85 sky130_fd_pr__res_high_po_5p73} \
full_metal 1 wmax 0.690}
}
-proc sky130::xhrpoly_1p41_defaults {} {
+proc sky130::sky130_fd_pr__res_high_po_1p41_defaults {} {
return {w 1.410 l 2.00 m 1 nx 1 wmin 1.410 lmin 0.50 \
rho 319.8 val 453.620 dummy 0 dw 0.0 term 19.188 \
sterm 0.0 caplen 0 guard 1 glc 1 grc 1 gtc 1 gbc 1 \
- compatible {xhrpoly_0p35 xhrpoly_0p69 xhrpoly_1p41 \
- xhrpoly_2p85 xhrpoly_5p73} \
+ compatible {sky130_fd_pr__res_high_po_0p35 \
+ sky130_fd_pr__res_high_po_0p69 sky130_fd_pr__res_high_po_1p41 \
+ sky130_fd_pr__res_high_po_2p85 sky130_fd_pr__res_high_po_5p73} \
full_metal 1 wmax 1.410}
}
-proc sky130::xhrpoly_2p85_defaults {} {
+proc sky130::sky130_fd_pr__res_high_po_2p85_defaults {} {
return {w 2.850 l 3.00 m 1 nx 1 wmin 2.850 lmin 0.50 \
rho 319.8 val 336.630 dummy 0 dw 0.0 term 19.188 \
sterm 0.0 caplen 0 guard 1 glc 1 grc 1 gtc 1 gbc 1 \
- compatible {xhrpoly_0p35 xhrpoly_0p69 xhrpoly_1p41 \
- xhrpoly_2p85 xhrpoly_5p73} \
+ compatible {sky130_fd_pr__res_high_po_0p35 \
+ sky130_fd_pr__res_high_po_0p69 sky130_fd_pr__res_high_po_1p41 \
+ sky130_fd_pr__res_high_po_2p85 sky130_fd_pr__res_high_po_5p73} \
full_metal 1 wmax 2.850}
}
-proc sky130::xhrpoly_5p73_defaults {} {
+proc sky130::sky130_fd_pr__res_high_po_5p73_defaults {} {
return {w 5.730 l 6.00 m 1 nx 1 wmin 5.730 lmin 0.50 \
rho 319.8 val 334.870 dummy 0 dw 0.0 term 19.188 \
sterm 0.0 caplen 0 guard 1 glc 1 grc 1 gtc 1 gbc 1 \
- compatible {xhrpoly_0p35 xhrpoly_0p69 xhrpoly_1p41 \
- xhrpoly_2p85 xhrpoly_5p73} \
+ compatible {sky130_fd_pr__res_high_po_0p35 \
+ sky130_fd_pr__res_high_po_0p69 sky130_fd_pr__res_high_po_1p41 \
+ sky130_fd_pr__res_high_po_2p85 sky130_fd_pr__res_high_po_5p73} \
full_metal 1 wmax 5.730}
}
# "term" is rho * 0.06, the distance between xpc edge and CONT.
-proc sky130::uhrpoly_0p35_defaults {} {
+proc sky130::sky130_fd_pr__res_xhigh_po_0p35_defaults {} {
return {w 0.350 l 0.50 m 1 nx 1 wmin 0.350 lmin 0.50 \
rho 2000 val 2875.143 dummy 0 dw 0.0 term 120 \
sterm 0.0 caplen 0 wmax 0.350 \
guard 1 glc 1 grc 1 gtc 1 gbc 1 \
- compatible {uhrpoly_0p35 uhrpoly_0p69 uhrpoly_1p41 \
- uhrpoly_2p85 uhrpoly_5p73} full_metal 1}
+ compatible {sky130_fd_pr__res_xhigh_po_0p35 \
+ sky130_fd_pr__res_xhigh_po_0p69 sky130_fd_pr__res_xhigh_po_1p41 \
+ sky130_fd_pr__res_xhigh_po_2p85 sky130_fd_pr__res_xhigh_po_5p73} \
+ full_metal 1}
}
-proc sky130::uhrpoly_0p69_defaults {} {
+proc sky130::sky130_fd_pr__res_xhigh_po_0p69_defaults {} {
return {w 0.690 l 1.00 m 1 nx 1 wmin 0.690 lmin 0.50 \
rho 2000 val 2898.600 dummy 0 dw 0.0 term 120 \
sterm 0.0 caplen 0 wmax 0.690 \
guard 1 glc 1 grc 1 gtc 1 gbc 1 \
- compatible {uhrpoly_0p35 uhrpoly_0p69 uhrpoly_1p41 \
- uhrpoly_2p85 uhrpoly_5p73} full_metal 1}
+ compatible {sky130_fd_pr__res_xhigh_po_0p35 \
+ sky130_fd_pr__res_xhigh_po_0p69 sky130_fd_pr__res_xhigh_po_1p41 \
+ sky130_fd_pr__res_xhigh_po_2p85 sky130_fd_pr__res_xhigh_po_5p73} \
+ full_metal 1}
}
-proc sky130::uhrpoly_1p41_defaults {} {
+proc sky130::sky130_fd_pr__res_xhigh_po_1p41_defaults {} {
return {w 1.410 l 2.00 m 1 nx 1 wmin 1.410 lmin 0.50 \
rho 2000 val 2836.900 dummy 0 dw 0.0 term 120 \
sterm 0.0 caplen 0 wmax 1.410 \
guard 1 glc 1 grc 1 gtc 1 gbc 1 \
- compatible {uhrpoly_0p35 uhrpoly_0p69 uhrpoly_1p41 \
- uhrpoly_2p85 uhrpoly_5p73} full_metal 1}
+ compatible {sky130_fd_pr__res_xhigh_po_0p35 \
+ sky130_fd_pr__res_xhigh_po_0p69 sky130_fd_pr__res_xhigh_po_1p41 \
+ sky130_fd_pr__res_xhigh_po_2p85 sky130_fd_pr__res_xhigh_po_5p73} \
+ full_metal 1}
}
-proc sky130::uhrpoly_2p85_defaults {} {
+proc sky130::sky130_fd_pr__res_xhigh_po_2p85_defaults {} {
return {w 2.850 l 3.00 m 1 nx 1 wmin 2.850 lmin 0.50 \
rho 2000 val 2105.300 dummy 0 dw 0.0 term 120 \
sterm 0.0 caplen 0 wmax 2.850 \
guard 1 glc 1 grc 1 gtc 1 gbc 1 \
- compatible {uhrpoly_0p35 uhrpoly_0p69 uhrpoly_1p41 \
- uhrpoly_2p85 uhrpoly_5p73} full_metal 1}
+ compatible {sky130_fd_pr__res_xhigh_po_0p35 \
+ sky130_fd_pr__res_xhigh_po_0p69 sky130_fd_pr__res_xhigh_po_1p41 \
+ sky130_fd_pr__res_xhigh_po_2p85 sky130_fd_pr__res_xhigh_po_5p73} \
+ full_metal 1}
}
-proc sky130::uhrpoly_5p73_defaults {} {
+proc sky130::sky130_fd_pr__res_xhigh_po_5p73_defaults {} {
return {w 5.730 l 6.00 m 1 nx 1 wmin 5.730 lmin 0.50 \
rho 2000 val 2094.200 dummy 0 dw 0.0 term 120 \
sterm 0.0 caplen 0 wmax 5.730 \
guard 1 glc 1 grc 1 gtc 1 gbc 1 \
- compatible {uhrpoly_0p35 uhrpoly_0p69 uhrpoly_1p41 \
- uhrpoly_2p85 uhrpoly_5p73} full_metal 1}
+ compatible {sky130_fd_pr__res_xhigh_po_0p35 \
+ sky130_fd_pr__res_xhigh_po_0p69 sky130_fd_pr__res_xhigh_po_1p41 \
+ sky130_fd_pr__res_xhigh_po_2p85 sky130_fd_pr__res_xhigh_po_5p73} \
+ full_metal 1}
}
#----------------------------------------------------------------
-# mrdn: Specify all user-editable default values and those
+# sky130_fd_pr__res_generic_nd: Specify all user-editable default values and those
# needed by rdn_check
#----------------------------------------------------------------
-proc sky130::mrdn_defaults {} {
+proc sky130::sky130_fd_pr__res_generic_nd_defaults {} {
return {w 0.420 l 2.100 m 1 nx 1 wmin 0.42 lmin 2.10 \
rho 120 val 600.0 dummy 0 dw 0.05 term 0.0 \
sterm 0.0 caplen 0.4 snake 0 guard 1 \
@@ -2190,7 +2203,7 @@
full_metal 1}
}
-proc sky130::mrdn_hv_defaults {} {
+proc sky130::sky130_fd_pr__mrdn_hv_defaults {} {
return {w 0.420 l 2.100 m 1 nx 1 wmin 0.42 lmin 2.10 \
rho 120 val 600.0 dummy 0 dw 0.02 term 0.0 \
sterm 0.0 caplen 0.4 snake 0 guard 1 \
@@ -2199,11 +2212,11 @@
}
#----------------------------------------------------------------
-# mrdp: Specify all user-editable default values and those
+# sky130_fd_pr__res_generic_pd: Specify all user-editable default values and those
# needed by rdp_check
#----------------------------------------------------------------
-proc sky130::mrdp_defaults {} {
+proc sky130::sky130_fd_pr__res_generic_pd_defaults {} {
return {w 0.420 l 2.100 m 1 nx 1 wmin 0.42 lmin 2.10 \
rho 197 val 985.0 dummy 0 dw 0.02 term 0.0 \
sterm 0.0 caplen 0.60 snake 0 guard 1 \
@@ -2211,7 +2224,7 @@
full_metal 1}
}
-proc sky130::mrdp_hv_defaults {} {
+proc sky130::sky130_fd_pr__mrdp_hv_defaults {} {
return {w 0.420 l 2.100 m 1 nx 1 wmin 0.42 lmin 2.10 \
rho 197 val 985.0 dummy 0 dw 0.02 term 0.0 \
sterm 0.0 caplen 0.60 snake 0 guard 1 \
@@ -2220,61 +2233,61 @@
}
#----------------------------------------------------------------
-# mrl1: Specify all user-editable default values and those needed
-# by mrl1_check
+# sky130_fd_pr__res_generic_l1: Specify all user-editable default values and those needed
+# by sky130_fd_pr__res_generic_l1_check
#----------------------------------------------------------------
-proc sky130::mrl1_defaults {} {
+proc sky130::sky130_fd_pr__res_generic_l1_defaults {} {
return {w 0.170 l 0.170 m 1 nx 1 wmin 0.17 lmin 0.17 \
rho 12.8 val 12.8 dummy 0 dw 0.0 term 0.0 snake 0 \
roverlap 0}
}
#----------------------------------------------------------------
-# mrm1: Specify all user-editable default values and those needed
-# by mrm1_check
+# sky130_fd_pr__res_generic_m1: Specify all user-editable default values and those needed
+# by sky130_fd_pr__res_generic_m1_check
#----------------------------------------------------------------
-proc sky130::mrm1_defaults {} {
+proc sky130::sky130_fd_pr__res_generic_m1_defaults {} {
return {w 0.140 l 0.140 m 1 nx 1 wmin 0.14 lmin 0.14 \
rho 0.125 val 0.125 dummy 0 dw 0.0 term 0.0 \
roverlap 0}
}
#----------------------------------------------------------------
-# mrm2: Specify all user-editable default values and those needed
-# by mrm2_check
+# sky130_fd_pr__res_generic_m2: Specify all user-editable default values and those needed
+# by sky130_fd_pr__res_generic_m2_check
#----------------------------------------------------------------
-proc sky130::mrm2_defaults {} {
+proc sky130::sky130_fd_pr__res_generic_m2_defaults {} {
return {w 0.140 l 0.140 m 1 nx 1 wmin 0.14 lmin 0.14 \
rho 0.125 val 0.125 dummy 0 dw 0.0 term 0.0 \
roverlap 0}
}
#----------------------------------------------------------------
-# mrm3: Specify all user-editable default values and those needed
-# by mrm3_check
+# sky130_fd_pr__res_generic_m3: Specify all user-editable default values and those needed
+# by sky130_fd_pr__res_generic_m3_check
#----------------------------------------------------------------
-proc sky130::mrm3_defaults {} {
+proc sky130::sky130_fd_pr__res_generic_m3_defaults {} {
return {w 0.300 l 0.300 m 1 nx 1 wmin 0.30 lmin 0.30 \
rho 0.047 val 0.047 dummy 0 dw 0.0 term 0.0 \
roverlap 0}
}
#----------------------------------------------------------------
-# Additional entries for mrm4 and mrm5, depending on the
+# Additional entries for sky130_fd_pr__res_generic_m4 and sky130_fd_pr__res_generic_m5, depending on the
# back-end metal stack.
#----------------------------------------------------------------
#ifdef METAL5
-proc sky130::mrm4_defaults {} {
+proc sky130::sky130_fd_pr__res_generic_m4_defaults {} {
return {w 0.300 l 0.300 m 1 nx 1 wmin 0.30 lmin 0.30 \
rho 0.047 val 0.047 dummy 0 dw 0.0 term 0.0 \
roverlap 0}
}
-proc sky130::mrm5_defaults {} {
+proc sky130::sky130_fd_pr__res_generic_m5_defaults {} {
return {w 1.600 l 1.600 m 1 nx 1 wmin 1.60 lmin 1.60 \
rho 0.029 val 0.029 dummy 0 dw 0.0 term 0.0 \
roverlap 0}
@@ -2304,83 +2317,83 @@
#----------------------------------------------------------------
-proc sky130::xpwres_convert {parameters} {
+proc sky130::sky130_fd_pr__res_iso_pw_convert {parameters} {
return [sky130::res_convert $parameters]
}
-proc sky130::mrp1_convert {parameters} {
+proc sky130::sky130_fd_pr__res_generic_po_convert {parameters} {
return [sky130::res_convert $parameters]
}
-proc sky130::xhrpoly_0p35_convert {parameters} {
+proc sky130::sky130_fd_pr__res_high_po_0p35_convert {parameters} {
return [sky130::res_convert $parameters]
}
-proc sky130::xhrpoly_0p69_convert {parameters} {
+proc sky130::sky130_fd_pr__res_high_po_0p69_convert {parameters} {
return [sky130::res_convert $parameters]
}
-proc sky130::xhrpoly_1p41_convert {parameters} {
+proc sky130::sky130_fd_pr__res_high_po_1p41_convert {parameters} {
return [sky130::res_convert $parameters]
}
-proc sky130::xhrpoly_2p85_convert {parameters} {
+proc sky130::sky130_fd_pr__res_high_po_2p85_convert {parameters} {
return [sky130::res_convert $parameters]
}
-proc sky130::xhrpoly_5p73_convert {parameters} {
+proc sky130::sky130_fd_pr__res_high_po_5p73_convert {parameters} {
return [sky130::res_convert $parameters]
}
-proc sky130::uhrpoly_0p35_convert {parameters} {
+proc sky130::sky130_fd_pr__res_xhigh_po_0p35_convert {parameters} {
return [sky130::res_convert $parameters]
}
-proc sky130::uhrpoly_0p69_convert {parameters} {
+proc sky130::sky130_fd_pr__res_xhigh_po_0p69_convert {parameters} {
return [sky130::res_convert $parameters]
}
-proc sky130::uhrpoly_1p41_convert {parameters} {
+proc sky130::sky130_fd_pr__res_xhigh_po_1p41_convert {parameters} {
return [sky130::res_convert $parameters]
}
-proc sky130::uhrpoly_2p85_convert {parameters} {
+proc sky130::sky130_fd_pr__res_xhigh_po_2p85_convert {parameters} {
return [sky130::res_convert $parameters]
}
-proc sky130::uhrpoly_5p73_convert {parameters} {
+proc sky130::sky130_fd_pr__res_xhigh_po_5p73_convert {parameters} {
return [sky130::res_convert $parameters]
}
-proc sky130::mrdn_convert {parameters} {
+proc sky130::sky130_fd_pr__res_generic_nd_convert {parameters} {
return [sky130::res_convert $parameters]
}
-proc sky130::mrdp_convert {parameters} {
+proc sky130::sky130_fd_pr__res_generic_pd_convert {parameters} {
return [sky130::res_convert $parameters]
}
-proc sky130::mrdn_hv_convert {parameters} {
+proc sky130::sky130_fd_pr__mrdn_hv_convert {parameters} {
return [sky130::res_convert $parameters]
}
-proc sky130::mrdp_hv_convert {parameters} {
+proc sky130::sky130_fd_pr__mrdp_hv_convert {parameters} {
return [sky130::res_convert $parameters]
}
-proc sky130::mrl1_convert {parameters} {
+proc sky130::sky130_fd_pr__res_generic_l1_convert {parameters} {
return [sky130::res_convert $parameters]
}
-proc sky130::mrm1_convert {parameters} {
+proc sky130::sky130_fd_pr__res_generic_m1_convert {parameters} {
return [sky130::res_convert $parameters]
}
-proc sky130::mrm2_convert {parameters} {
+proc sky130::sky130_fd_pr__res_generic_m2_convert {parameters} {
return [sky130::res_convert $parameters]
}
-proc sky130::mrm3_convert {parameters} {
+proc sky130::sky130_fd_pr__res_generic_m3_convert {parameters} {
return [sky130::res_convert $parameters]
}
#ifdef METAL5
-proc sky130::mrm4_convert {parameters} {
+proc sky130::sky130_fd_pr__res_generic_m4_convert {parameters} {
return [sky130::res_convert $parameters]
}
-proc sky130::mrm5_convert {parameters} {
+proc sky130::sky130_fd_pr__res_generic_m5_convert {parameters} {
return [sky130::res_convert $parameters]
}
#endif (METAL5)
@@ -2452,84 +2465,84 @@
#----------------------------------------------------------------
-proc sky130::xpwres_dialog {parameters} {
- sky130::res_dialog xpwres $parameters
+proc sky130::sky130_fd_pr__res_iso_pw_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__res_iso_pw $parameters
}
-proc sky130::mrp1_dialog {parameters} {
- sky130::res_dialog mrp1 $parameters
+proc sky130::sky130_fd_pr__res_generic_po_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__res_generic_po $parameters
}
-proc sky130::xhrpoly_0p35_dialog {parameters} {
- sky130::res_dialog xhrpoly_0p35 $parameters
+proc sky130::sky130_fd_pr__res_high_po_0p35_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__res_high_po_0p35 $parameters
}
-proc sky130::xhrpoly_0p69_dialog {parameters} {
- sky130::res_dialog xhrpoly_0p69 $parameters
+proc sky130::sky130_fd_pr__res_high_po_0p69_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__res_high_po_0p69 $parameters
}
-proc sky130::xhrpoly_1p41_dialog {parameters} {
- sky130::res_dialog xhrpoly_1p41 $parameters
+proc sky130::sky130_fd_pr__res_high_po_1p41_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__res_high_po_1p41 $parameters
}
-proc sky130::xhrpoly_2p85_dialog {parameters} {
- sky130::res_dialog xhrpoly_2p85 $parameters
+proc sky130::sky130_fd_pr__res_high_po_2p85_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__res_high_po_2p85 $parameters
}
-proc sky130::xhrpoly_5p73_dialog {parameters} {
- sky130::res_dialog xhrpoly_5p73 $parameters
+proc sky130::sky130_fd_pr__res_high_po_5p73_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__res_high_po_5p73 $parameters
}
-proc sky130::uhrpoly_0p35_dialog {parameters} {
- sky130::res_dialog uhrpoly_0p35 $parameters
+proc sky130::sky130_fd_pr__res_xhigh_po_0p35_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__res_xhigh_po_0p35 $parameters
}
-proc sky130::uhrpoly_0p69_dialog {parameters} {
- sky130::res_dialog uhrpoly_0p69 $parameters
+proc sky130::sky130_fd_pr__res_xhigh_po_0p69_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__res_xhigh_po_0p69 $parameters
}
-proc sky130::uhrpoly_1p41_dialog {parameters} {
- sky130::res_dialog uhrpoly_1p41 $parameters
+proc sky130::sky130_fd_pr__res_xhigh_po_1p41_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__res_xhigh_po_1p41 $parameters
}
-proc sky130::uhrpoly_2p85_dialog {parameters} {
- sky130::res_dialog uhrpoly_2p85 $parameters
+proc sky130::sky130_fd_pr__res_xhigh_po_2p85_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__res_xhigh_po_2p85 $parameters
}
-proc sky130::uhrpoly_5p73_dialog {parameters} {
- sky130::res_dialog uhrpoly_5p73 $parameters
+proc sky130::sky130_fd_pr__res_xhigh_po_5p73_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__res_xhigh_po_5p73 $parameters
}
-proc sky130::mrdn_dialog {parameters} {
- sky130::res_dialog mrdn $parameters
+proc sky130::sky130_fd_pr__res_generic_nd_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__res_generic_nd $parameters
}
-proc sky130::mrdp_dialog {parameters} {
- sky130::res_dialog mrdp $parameters
+proc sky130::sky130_fd_pr__res_generic_pd_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__res_generic_pd $parameters
}
-proc sky130::mrdn_hv_dialog {parameters} {
- sky130::res_dialog mrdn_hv $parameters
+proc sky130::sky130_fd_pr__mrdn_hv_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__mrdn_hv $parameters
}
-proc sky130::mrdp_hv_dialog {parameters} {
- sky130::res_dialog mrdp_hv $parameters
+proc sky130::sky130_fd_pr__mrdp_hv_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__mrdp_hv $parameters
}
-proc sky130::mrl1_dialog {parameters} {
- sky130::res_dialog mrl1 $parameters
+proc sky130::sky130_fd_pr__res_generic_l1_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__res_generic_l1 $parameters
}
-proc sky130::mrm1_dialog {parameters} {
- sky130::res_dialog mrm1 $parameters
+proc sky130::sky130_fd_pr__res_generic_m1_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__res_generic_m1 $parameters
}
-proc sky130::mrm2_dialog {parameters} {
- sky130::res_dialog mrm2 $parameters
+proc sky130::sky130_fd_pr__res_generic_m2_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__res_generic_m2 $parameters
}
-proc sky130::mrm3_dialog {parameters} {
- sky130::res_dialog mrm3 $parameters
+proc sky130::sky130_fd_pr__res_generic_m3_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__res_generic_m3 $parameters
}
#ifdef METAL5
-proc sky130::mrm4_dialog {parameters} {
- sky130::res_dialog mrm4 $parameters
+proc sky130::sky130_fd_pr__res_generic_m4_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__res_generic_m4 $parameters
}
-proc sky130::mrm5_dialog {parameters} {
- sky130::res_dialog mrm5 $parameters
+proc sky130::sky130_fd_pr__res_generic_m5_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__res_generic_m5 $parameters
}
#endif (METAL5)
@@ -2981,7 +2994,7 @@
#----------------------------------------------------------------
-proc sky130::mrp1_draw {parameters} {
+proc sky130::sky130_fd_pr__res_generic_po_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3010,7 +3023,7 @@
#----------------------------------------------------------------
-proc sky130::xhrpoly_0p35_draw {parameters} {
+proc sky130::sky130_fd_pr__res_high_po_0p35_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3040,7 +3053,7 @@
return [sky130::res_draw $drawdict]
}
-proc sky130::xhrpoly_0p69_draw {parameters} {
+proc sky130::sky130_fd_pr__res_high_po_0p69_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3070,7 +3083,7 @@
return [sky130::res_draw $drawdict]
}
-proc sky130::xhrpoly_1p41_draw {parameters} {
+proc sky130::sky130_fd_pr__res_high_po_1p41_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3100,7 +3113,7 @@
return [sky130::res_draw $drawdict]
}
-proc sky130::xhrpoly_2p85_draw {parameters} {
+proc sky130::sky130_fd_pr__res_high_po_2p85_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3130,7 +3143,7 @@
return [sky130::res_draw $drawdict]
}
-proc sky130::xhrpoly_5p73_draw {parameters} {
+proc sky130::sky130_fd_pr__res_high_po_5p73_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3162,7 +3175,7 @@
#----------------------------------------------------------------
-proc sky130::uhrpoly_0p35_draw {parameters} {
+proc sky130::sky130_fd_pr__res_xhigh_po_0p35_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3192,7 +3205,7 @@
return [sky130::res_draw $drawdict]
}
-proc sky130::uhrpoly_0p69_draw {parameters} {
+proc sky130::sky130_fd_pr__res_xhigh_po_0p69_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3222,7 +3235,7 @@
return [sky130::res_draw $drawdict]
}
-proc sky130::uhrpoly_1p41_draw {parameters} {
+proc sky130::sky130_fd_pr__res_xhigh_po_1p41_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3252,7 +3265,7 @@
return [sky130::res_draw $drawdict]
}
-proc sky130::uhrpoly_2p85_draw {parameters} {
+proc sky130::sky130_fd_pr__res_xhigh_po_2p85_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3282,7 +3295,7 @@
return [sky130::res_draw $drawdict]
}
-proc sky130::uhrpoly_5p73_draw {parameters} {
+proc sky130::sky130_fd_pr__res_xhigh_po_5p73_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3314,7 +3327,7 @@
#----------------------------------------------------------------
-proc sky130::mrdn_draw {parameters} {
+proc sky130::sky130_fd_pr__res_generic_nd_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3342,7 +3355,7 @@
#----------------------------------------------------------------
-proc sky130::mrdn_hv_draw {parameters} {
+proc sky130::sky130_fd_pr__mrdn_hv_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3370,7 +3383,7 @@
#----------------------------------------------------------------
-proc sky130::mrdp_draw {parameters} {
+proc sky130::sky130_fd_pr__res_generic_pd_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3398,7 +3411,7 @@
#----------------------------------------------------------------
-proc sky130::mrdp_hv_draw {parameters} {
+proc sky130::sky130_fd_pr__mrdp_hv_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3427,7 +3440,7 @@
#----------------------------------------------------------------
-proc sky130::xpwres_draw {parameters} {
+proc sky130::sky130_fd_pr__res_iso_pw_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3462,7 +3475,7 @@
#----------------------------------------------------------------
-proc sky130::mrl1_draw {parameters} {
+proc sky130::sky130_fd_pr__res_generic_l1_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3485,7 +3498,7 @@
#----------------------------------------------------------------
-proc sky130::mrm1_draw {parameters} {
+proc sky130::sky130_fd_pr__res_generic_m1_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3508,7 +3521,7 @@
#----------------------------------------------------------------
-proc sky130::mrm2_draw {parameters} {
+proc sky130::sky130_fd_pr__res_generic_m2_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3531,7 +3544,7 @@
#----------------------------------------------------------------
-proc sky130::mrm3_draw {parameters} {
+proc sky130::sky130_fd_pr__res_generic_m3_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3555,7 +3568,7 @@
#----------------------------------------------------------------
#ifdef METAL5
-proc sky130::mrm4_draw {parameters} {
+proc sky130::sky130_fd_pr__res_generic_m4_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3576,7 +3589,7 @@
return [sky130::res_draw $drawdict]
}
-proc sky130::mrm5_draw {parameters} {
+proc sky130::sky130_fd_pr__res_generic_m5_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
set $key [dict get $sky130::ruleset $key]
@@ -3750,84 +3763,84 @@
#----------------------------------------------------------------
-proc sky130::xpwres_check {parameters} {
- return [sky130::res_check xpwres $parameters]
+proc sky130::sky130_fd_pr__res_iso_pw_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__res_iso_pw $parameters]
}
-proc sky130::mrp1_check {parameters} {
- return [sky130::res_check mrp1 $parameters]
+proc sky130::sky130_fd_pr__res_generic_po_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__res_generic_po $parameters]
}
-proc sky130::xhrpoly_0p35_check {parameters} {
- return [sky130::res_check xhrpoly_0p35 $parameters]
+proc sky130::sky130_fd_pr__res_high_po_0p35_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__res_high_po_0p35 $parameters]
}
-proc sky130::xhrpoly_0p69_check {parameters} {
- return [sky130::res_check xhrpoly_0p69 $parameters]
+proc sky130::sky130_fd_pr__res_high_po_0p69_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__res_high_po_0p69 $parameters]
}
-proc sky130::xhrpoly_1p41_check {parameters} {
- return [sky130::res_check xhrpoly_1p41 $parameters]
+proc sky130::sky130_fd_pr__res_high_po_1p41_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__res_high_po_1p41 $parameters]
}
-proc sky130::xhrpoly_2p85_check {parameters} {
- return [sky130::res_check xhrpoly_2p85 $parameters]
+proc sky130::sky130_fd_pr__res_high_po_2p85_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__res_high_po_2p85 $parameters]
}
-proc sky130::xhrpoly_5p73_check {parameters} {
- return [sky130::res_check xhrpoly_5p73 $parameters]
+proc sky130::sky130_fd_pr__res_high_po_5p73_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__res_high_po_5p73 $parameters]
}
-proc sky130::uhrpoly_0p35_check {parameters} {
- return [sky130::res_check uhrpoly_0p35 $parameters]
+proc sky130::sky130_fd_pr__res_xhigh_po_0p35_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__res_xhigh_po_0p35 $parameters]
}
-proc sky130::uhrpoly_0p69_check {parameters} {
- return [sky130::res_check uhrpoly_0p69 $parameters]
+proc sky130::sky130_fd_pr__res_xhigh_po_0p69_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__res_xhigh_po_0p69 $parameters]
}
-proc sky130::uhrpoly_1p41_check {parameters} {
- return [sky130::res_check uhrpoly_1p41 $parameters]
+proc sky130::sky130_fd_pr__res_xhigh_po_1p41_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__res_xhigh_po_1p41 $parameters]
}
-proc sky130::uhrpoly_2p85_check {parameters} {
- return [sky130::res_check uhrpoly_2p85 $parameters]
+proc sky130::sky130_fd_pr__res_xhigh_po_2p85_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__res_xhigh_po_2p85 $parameters]
}
-proc sky130::uhrpoly_5p73_check {parameters} {
- return [sky130::res_check uhrpoly_5p73 $parameters]
+proc sky130::sky130_fd_pr__res_xhigh_po_5p73_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__res_xhigh_po_5p73 $parameters]
}
-proc sky130::mrdn_check {parameters} {
- return [sky130::res_check mrdn $parameters]
+proc sky130::sky130_fd_pr__res_generic_nd_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__res_generic_nd $parameters]
}
-proc sky130::mrdp_check {parameters} {
- return [sky130::res_check mrdp $parameters]
+proc sky130::sky130_fd_pr__res_generic_pd_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__res_generic_pd $parameters]
}
-proc sky130::mrdn_hv_check {parameters} {
- return [sky130::res_check mrdn_hv $parameters]
+proc sky130::sky130_fd_pr__mrdn_hv_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__mrdn_hv $parameters]
}
-proc sky130::mrdp_hv_check {parameters} {
- return [sky130::res_check mrdp_hv $parameters]
+proc sky130::sky130_fd_pr__mrdp_hv_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__mrdp_hv $parameters]
}
-proc sky130::mrl1_check {parameters} {
- return [sky130::res_check mrl1 $parameters]
+proc sky130::sky130_fd_pr__res_generic_l1_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__res_generic_l1 $parameters]
}
-proc sky130::mrm1_check {parameters} {
- return [sky130::res_check mrm1 $parameters]
+proc sky130::sky130_fd_pr__res_generic_m1_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__res_generic_m1 $parameters]
}
-proc sky130::mrm2_check {parameters} {
- return [sky130::res_check mrm2 $parameters]
+proc sky130::sky130_fd_pr__res_generic_m2_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__res_generic_m2 $parameters]
}
-proc sky130::mrm3_check {parameters} {
- return [sky130::res_check mrm3 $parameters]
+proc sky130::sky130_fd_pr__res_generic_m3_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__res_generic_m3 $parameters]
}
#ifdef METAL5
-proc sky130::mrm4_check {parameters} {
- return [sky130::res_check mrm4 $parameters]
+proc sky130::sky130_fd_pr__res_generic_m4_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__res_generic_m4 $parameters]
}
-proc sky130::mrm5_check {parameters} {
- return [sky130::res_check mrm5 $parameters]
+proc sky130::sky130_fd_pr__res_generic_m5_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__res_generic_m5 $parameters]
}
#endif (METAL5)
@@ -3855,32 +3868,40 @@
# needed by mos_check
#----------------------------------------------------------------
-proc sky130::pshort_defaults {} {
+proc sky130::sky130_fd_pr__pfet_01v8_defaults {} {
return {w 0.42 l 0.15 m 1 nf 1 diffcov 100 polycov 100 \
guard 1 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 \
topc 1 botc 1 poverlap 0 doverlap 1 lmin 0.15 wmin 0.42 \
- compatible {pshort plowvt phighvt phv} full_metal 1}
+ compatible {sky130_fd_pr__pfet_01v8 \
+ sky130_fd_pr__pfet_01v8_lvt sky130_fd_pr__pfet_01v8_hvt \
+ sky130_fd_pr__pfet_g5v0d10v5} full_metal 1}
}
-proc sky130::plowvt_defaults {} {
+proc sky130::sky130_fd_pr__pfet_01v8_lvt_defaults {} {
return {w 0.42 l 0.35 m 1 nf 1 diffcov 100 polycov 100 \
guard 1 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 \
topc 1 botc 1 poverlap 0 doverlap 1 lmin 0.35 wmin 0.42 \
- compatible {pshort plowvt phighvt phv} full_metal 1}
+ compatible {sky130_fd_pr__pfet_01v8 \
+ sky130_fd_pr__pfet_01v8_lvt sky130_fd_pr__pfet_01v8_hvt \
+ sky130_fd_pr__pfet_g5v0d10v5} full_metal 1}
}
-proc sky130::phighvt_defaults {} {
+proc sky130::sky130_fd_pr__pfet_01v8_hvt_defaults {} {
return {w 0.42 l 0.15 m 1 nf 1 diffcov 100 polycov 100 \
guard 1 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 \
topc 1 botc 1 poverlap 0 doverlap 1 lmin 0.15 wmin 0.42 \
- compatible {pshort plowvt phighvt phv} full_metal 1}
+ compatible {sky130_fd_pr__pfet_01v8 \
+ sky130_fd_pr__pfet_01v8_lvt sky130_fd_pr__pfet_01v8_hvt \
+ sky130_fd_pr__pfet_g5v0d10v5} full_metal 1}
}
-proc sky130::phv_defaults {} {
+proc sky130::sky130_fd_pr__pfet_g5v0d10v5_defaults {} {
return {w 0.42 l 0.50 m 1 nf 1 diffcov 100 polycov 100 \
guard 1 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 \
topc 1 botc 1 poverlap 0 doverlap 1 lmin 0.50 wmin 0.42 \
- compatible {pshort plowvt phighvt phv} full_metal 1}
+ compatible {sky130_fd_pr__pfet_01v8 \
+ sky130_fd_pr__pfet_01v8_lvt sky130_fd_pr__pfet_01v8_hvt \
+ sky130_fd_pr__pfet_g5v0d10v5} full_metal 1}
}
#----------------------------------------------------------------
@@ -3888,39 +3909,49 @@
# needed by mos_check
#----------------------------------------------------------------
-proc sky130::nshort_defaults {} {
+proc sky130::sky130_fd_pr__nfet_01v8_defaults {} {
return {w 0.420 l 0.150 m 1 nf 1 diffcov 100 polycov 100 \
guard 1 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 \
topc 1 botc 1 poverlap 0 doverlap 1 lmin 0.15 wmin 0.42 \
- compatible {nshort nlowvt sonos_e nhv nhvnative} full_metal 1}
+ compatible {sky130_fd_pr__nfet_01v8 sky130_fd_pr__nfet_01v8_lvt \
+ sky130_fd_bs_flash__special_sonosfet_star \
+ sky130_fd_pr__nfet_g5v0d10v5 sky130_fd_pr__nfet_05v0_nvt} full_metal 1}
}
-proc sky130::nlowvt_defaults {} {
+proc sky130::sky130_fd_pr__nfet_01v8_lvt_defaults {} {
return {w 0.420 l 0.150 m 1 nf 1 diffcov 100 polycov 100 \
guard 1 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 \
topc 1 botc 1 poverlap 0 doverlap 1 lmin 0.15 wmin 0.42 \
- compatible {nshort nlowvt sonos_e nhv nhvnative} full_metal 1}
+ compatible {sky130_fd_pr__nfet_01v8 sky130_fd_pr__nfet_01v8_lvt \
+ sky130_fd_bs_flash__special_sonosfet_star \
+ sky130_fd_pr__nfet_g5v0d10v5 sky130_fd_pr__nfet_05v0_nvt} full_metal 1}
}
-proc sky130::sonos_e_defaults {} {
+proc sky130::sky130_fd_bs_flash__special_sonosfet_star_defaults {} {
return {w 0.420 l 0.150 m 1 nf 1 diffcov 100 polycov 100 \
guard 1 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 \
topc 1 botc 1 poverlap 0 doverlap 1 lmin 0.15 wmin 0.42 \
- compatible {nshort nlowvt sonos_e nhv nhvnative} full_metal 1}
+ compatible {sky130_fd_pr__nfet_01v8 sky130_fd_pr__nfet_01v8_lvt \
+ sky130_fd_bs_flash__special_sonosfet_star \
+ sky130_fd_pr__nfet_g5v0d10v5 sky130_fd_pr__nfet_05v0_nvt} full_metal 1}
}
-proc sky130::nhv_defaults {} {
+proc sky130::sky130_fd_pr__nfet_g5v0d10v5_defaults {} {
return {w 0.42 l 0.50 m 1 nf 1 diffcov 100 polycov 100 \
guard 1 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 \
topc 1 botc 1 poverlap 0 doverlap 1 lmin 0.50 wmin 0.42 \
- compatible {nshort nlowvt sonos_e nhv nhvnative} full_metal 1}
+ compatible {sky130_fd_pr__nfet_01v8 sky130_fd_pr__nfet_01v8_lvt \
+ sky130_fd_bs_flash__special_sonosfet_star \
+ sky130_fd_pr__nfet_g5v0d10v5 sky130_fd_pr__nfet_05v0_nvt} full_metal 1}
}
-proc sky130::nhvnative_defaults {} {
+proc sky130::sky130_fd_pr__nfet_05v0_nvt_defaults {} {
return {w 0.42 l 0.50 m 1 nf 1 diffcov 100 polycov 100 \
guard 1 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 \
topc 1 botc 1 poverlap 0 doverlap 1 lmin 0.50 wmin 0.42 \
- compatible {nshort nlowvt sonos_e nhv nhvnative} full_metal 1}
+ compatible {sky130_fd_pr__nfet_01v8 sky130_fd_pr__nfet_01v8_lvt \
+ sky130_fd_bs_flash__special_sonosfet_star \
+ sky130_fd_pr__nfet_g5v0d10v5 sky130_fd_pr__nfet_05v0_nvt} full_metal 1}
}
#----------------------------------------------------------------
@@ -3928,25 +3959,28 @@
# needed by mosvc_check
#----------------------------------------------------------------
-proc sky130::xcnwvc_defaults {} {
+proc sky130::sky130_fd_pr__cap_var_lvt_defaults {} {
return {w 1.0 l 0.18 m 1 nf 1 diffcov 100 polycov 100 \
guard 1 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 \
topc 1 botc 1 poverlap 0 doverlap 1 lmin 0.18 wmin 1.0 \
- compatible {xcnwvc xcnwvc2 xchvnwc} full_metal 1}
+ compatible {sky130_fd_pr__cap_var_lvt \
+ sky130_fd_pr__cap_var_hvt sky130_fd_pr__cap_var} full_metal 1}
}
-proc sky130::xcnwvc2_defaults {} {
+proc sky130::sky130_fd_pr__cap_var_hvt_defaults {} {
return {w 1.0 l 0.18 m 1 nf 1 diffcov 100 polycov 100 \
guard 1 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 \
topc 1 botc 1 poverlap 0 doverlap 1 lmin 0.18 wmin 1.0 \
- compatible {xcnwvc xcnwvc2 xchvnwc} full_metal 1}
+ compatible {sky130_fd_pr__cap_var_lvt \
+ sky130_fd_pr__cap_var_hvt sky130_fd_pr__cap_var} full_metal 1}
}
-proc sky130::xchvnwc_defaults {} {
+proc sky130::sky130_fd_pr__cap_var_defaults {} {
return {w 1.0 l 0.50 m 1 nf 1 diffcov 100 polycov 100 \
guard 1 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 \
topc 1 botc 1 poverlap 0 doverlap 1 lmin 0.50 wmin 1.0 \
- compatible {xcnwvc xcnwvc2 xchvnwc} full_metal 1}
+ compatible {sky130_fd_pr__cap_var_lvt \
+ sky130_fd_pr__cap_var_hvt sky130_fd_pr__cap_var} full_metal 1}
}
#----------------------------------------------------------------
@@ -3993,51 +4027,51 @@
#----------------------------------------------------------------
-proc sky130::nshort_convert {parameters} {
+proc sky130::sky130_fd_pr__nfet_01v8_convert {parameters} {
return [sky130::mos_convert $parameters]
}
-proc sky130::nlowvt_convert {parameters} {
+proc sky130::sky130_fd_pr__nfet_01v8_lvt_convert {parameters} {
return [sky130::mos_convert $parameters]
}
-proc sky130::sonos_e_convert {parameters} {
+proc sky130::sky130_fd_bs_flash__special_sonosfet_star_convert {parameters} {
return [sky130::mos_convert $parameters]
}
-proc sky130::nhv_convert {parameters} {
+proc sky130::sky130_fd_pr__nfet_g5v0d10v5_convert {parameters} {
return [sky130::mos_convert $parameters]
}
-proc sky130::nhvnative_convert {parameters} {
+proc sky130::sky130_fd_pr__nfet_05v0_nvt_convert {parameters} {
return [sky130::mos_convert $parameters]
}
-proc sky130::pshort_convert {parameters} {
+proc sky130::sky130_fd_pr__pfet_01v8_convert {parameters} {
return [sky130::mos_convert $parameters]
}
-proc sky130::plowvt_convert {parameters} {
+proc sky130::sky130_fd_pr__pfet_01v8_lvt_convert {parameters} {
return [sky130::mos_convert $parameters]
}
-proc sky130::phighvt_convert {parameters} {
+proc sky130::sky130_fd_pr__pfet_01v8_hvt_convert {parameters} {
return [sky130::mos_convert $parameters]
}
-proc sky130::phv_convert {parameters} {
+proc sky130::sky130_fd_pr__pfet_g5v0d10v5_convert {parameters} {
return [sky130::mos_convert $parameters]
}
-proc sky130::xcnwvc_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_var_lvt_convert {parameters} {
return [sky130::mos_convert $parameters]
}
-proc sky130::xcnwvc2_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_var_hvt_convert {parameters} {
return [sky130::mos_convert $parameters]
}
-proc sky130::xchvnwc_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_var_convert {parameters} {
return [sky130::mos_convert $parameters]
}
@@ -4086,52 +4120,52 @@
#----------------------------------------------------------------
-proc sky130::nshort_dialog {parameters} {
- sky130::mos_dialog nshort $parameters
+proc sky130::sky130_fd_pr__nfet_01v8_dialog {parameters} {
+ sky130::mos_dialog sky130_fd_pr__nfet_01v8 $parameters
}
-proc sky130::nlowvt_dialog {parameters} {
- sky130::mos_dialog nlowvt $parameters
+proc sky130::sky130_fd_pr__nfet_01v8_lvt_dialog {parameters} {
+ sky130::mos_dialog sky130_fd_pr__nfet_01v8_lvt $parameters
}
-proc sky130::sonos_e_dialog {parameters} {
- sky130::mos_dialog sonos_e $parameters
+proc sky130::sky130_fd_bs_flash__special_sonosfet_star_dialog {parameters} {
+ sky130::mos_dialog sky130_fd_bs_flash__special_sonosfet_star $parameters
}
-proc sky130::nhv_dialog {parameters} {
- sky130::mos_dialog nhv $parameters
+proc sky130::sky130_fd_pr__nfet_g5v0d10v5_dialog {parameters} {
+ sky130::mos_dialog sky130_fd_pr__nfet_g5v0d10v5 $parameters
}
-proc sky130::nhvnative_dialog {parameters} {
- sky130::mos_dialog nhvnative $parameters
+proc sky130::sky130_fd_pr__nfet_05v0_nvt_dialog {parameters} {
+ sky130::mos_dialog sky130_fd_pr__nfet_05v0_nvt $parameters
}
-proc sky130::pshort_dialog {parameters} {
- sky130::mos_dialog pshort $parameters
+proc sky130::sky130_fd_pr__pfet_01v8_dialog {parameters} {
+ sky130::mos_dialog sky130_fd_pr__pfet_01v8 $parameters
}
-proc sky130::plowvt_dialog {parameters} {
- sky130::mos_dialog plowvt $parameters
+proc sky130::sky130_fd_pr__pfet_01v8_lvt_dialog {parameters} {
+ sky130::mos_dialog sky130_fd_pr__pfet_01v8_lvt $parameters
}
-proc sky130::phighvt_dialog {parameters} {
- sky130::mos_dialog phighvt $parameters
+proc sky130::sky130_fd_pr__pfet_01v8_hvt_dialog {parameters} {
+ sky130::mos_dialog sky130_fd_pr__pfet_01v8_hvt $parameters
}
-proc sky130::phv_dialog {parameters} {
- sky130::mos_dialog phv $parameters
+proc sky130::sky130_fd_pr__pfet_g5v0d10v5_dialog {parameters} {
+ sky130::mos_dialog sky130_fd_pr__pfet_g5v0d10v5 $parameters
}
-proc sky130::xcnwvc_dialog {parameters} {
- sky130::mos_dialog xcnwvc $parameters
+proc sky130::sky130_fd_pr__cap_var_lvt_dialog {parameters} {
+ sky130::mos_dialog sky130_fd_pr__cap_var_lvt $parameters
}
-proc sky130::xcnwvc2_dialog {parameters} {
- sky130::mos_dialog xcnwvc2 $parameters
+proc sky130::sky130_fd_pr__cap_var_hvt_dialog {parameters} {
+ sky130::mos_dialog sky130_fd_pr__cap_var_hvt $parameters
}
-proc sky130::xchvnwc_dialog {parameters} {
- sky130::mos_dialog xchvnwc $parameters
+proc sky130::sky130_fd_pr__cap_var_dialog {parameters} {
+ sky130::mos_dialog sky130_fd_pr__cap_var $parameters
}
#----------------------------------------------------------------
@@ -4870,7 +4904,7 @@
# nMOS 1.8V
#-------------------
-proc sky130::nshort_draw {parameters} {
+proc sky130::sky130_fd_pr__nfet_01v8_draw {parameters} {
set newdict [dict create \
gate_type nfet \
diff_type ndiff \
@@ -4887,7 +4921,7 @@
return [sky130::mos_draw $drawdict]
}
-proc sky130::nlowvt_draw {parameters} {
+proc sky130::sky130_fd_pr__nfet_01v8_lvt_draw {parameters} {
set newdict [dict create \
gate_type nfetlvt \
diff_type ndiff \
@@ -4904,7 +4938,7 @@
return [sky130::mos_draw $drawdict]
}
-proc sky130::sonos_e_draw {parameters} {
+proc sky130::sky130_fd_bs_flash__special_sonosfet_star_draw {parameters} {
set newdict [dict create \
gate_type nsonos \
diff_type ndiff \
@@ -4927,7 +4961,7 @@
# pMOS 1.8V
#-------------------
-proc sky130::pshort_draw {parameters} {
+proc sky130::sky130_fd_pr__pfet_01v8_draw {parameters} {
set newdict [dict create \
gate_type pfet \
diff_type pdiff \
@@ -4945,7 +4979,7 @@
return [sky130::mos_draw $drawdict]
}
-proc sky130::plowvt_draw {parameters} {
+proc sky130::sky130_fd_pr__pfet_01v8_lvt_draw {parameters} {
set newdict [dict create \
gate_type pfetlvt \
diff_type pdiff \
@@ -4963,7 +4997,7 @@
return [sky130::mos_draw $drawdict]
}
-proc sky130::phighvt_draw {parameters} {
+proc sky130::sky130_fd_pr__pfet_01v8_hvt_draw {parameters} {
set newdict [dict create \
gate_type pfethvt \
diff_type pdiff \
@@ -4985,7 +5019,7 @@
# pMOS 5.0V
#-------------------
-proc sky130::phv_draw {parameters} {
+proc sky130::sky130_fd_pr__pfet_g5v0d10v5_draw {parameters} {
set newdict [dict create \
gate_type mvpfet \
diff_type mvpdiff \
@@ -5009,7 +5043,7 @@
# nMOS 5.0V
#-------------------
-proc sky130::nhv_draw {parameters} {
+proc sky130::sky130_fd_pr__nfet_g5v0d10v5_draw {parameters} {
set newdict [dict create \
gate_type mvnfet \
diff_type mvndiff \
@@ -5027,7 +5061,7 @@
return [sky130::mos_draw $drawdict]
}
-proc sky130::nhvnative_draw {parameters} {
+proc sky130::sky130_fd_pr__nfet_05v0_nvt_draw {parameters} {
set newdict [dict create \
gate_type mvnnfet \
diff_type mvndiff \
@@ -5049,7 +5083,7 @@
# MOS varactor (1.8V)
#------------------------
-proc sky130::xcnwvc_draw {parameters} {
+proc sky130::sky130_fd_pr__cap_var_lvt_draw {parameters} {
set newdict [dict create \
gate_type var \
diff_type nnd \
@@ -5070,7 +5104,7 @@
return [sky130::mos_draw $drawdict]
}
-proc sky130::xcnwvc2_draw {parameters} {
+proc sky130::sky130_fd_pr__cap_var_hvt_draw {parameters} {
set newdict [dict create \
gate_type varhvt \
diff_type nnd \
@@ -5097,7 +5131,7 @@
# Should have option for same-net with merged wells.
#---------------------------------------------------------
-proc sky130::xchvnwc_draw {parameters} {
+proc sky130::sky130_fd_pr__cap_var_draw {parameters} {
set newdict [dict create \
gate_type mvvar \
diff_type mvnsd \
@@ -5231,52 +5265,52 @@
#----------------------------------------------------------------
-proc sky130::nshort_check {parameters} {
- return [sky130::mos_check nshort $parameters]
+proc sky130::sky130_fd_pr__nfet_01v8_check {parameters} {
+ return [sky130::mos_check sky130_fd_pr__nfet_01v8 $parameters]
}
-proc sky130::nlowvt_check {parameters} {
- return [sky130::mos_check nlowvt $parameters]
+proc sky130::sky130_fd_pr__nfet_01v8_lvt_check {parameters} {
+ return [sky130::mos_check sky130_fd_pr__nfet_01v8_lvt $parameters]
}
-proc sky130::sonos_e_check {parameters} {
- return [sky130::mos_check sonos_e $parameters]
+proc sky130::sky130_fd_bs_flash__special_sonosfet_star_check {parameters} {
+ return [sky130::mos_check sky130_fd_bs_flash__special_sonosfet_star $parameters]
}
-proc sky130::nhv_check {parameters} {
- return [sky130::mos_check nhv $parameters]
+proc sky130::sky130_fd_pr__nfet_g5v0d10v5_check {parameters} {
+ return [sky130::mos_check sky130_fd_pr__nfet_g5v0d10v5 $parameters]
}
-proc sky130::nhvnative_check {parameters} {
- return [sky130::mos_check nhvnative $parameters]
+proc sky130::sky130_fd_pr__nfet_05v0_nvt_check {parameters} {
+ return [sky130::mos_check sky130_fd_pr__nfet_05v0_nvt $parameters]
}
-proc sky130::pshort_check {parameters} {
- return [sky130::mos_check pshort $parameters]
+proc sky130::sky130_fd_pr__pfet_01v8_check {parameters} {
+ return [sky130::mos_check sky130_fd_pr__pfet_01v8 $parameters]
}
-proc sky130::plowvt_check {parameters} {
- return [sky130::mos_check plowvt $parameters]
+proc sky130::sky130_fd_pr__pfet_01v8_lvt_check {parameters} {
+ return [sky130::mos_check sky130_fd_pr__pfet_01v8_lvt $parameters]
}
-proc sky130::phighvt_check {parameters} {
- return [sky130::mos_check phighvt $parameters]
+proc sky130::sky130_fd_pr__pfet_01v8_hvt_check {parameters} {
+ return [sky130::mos_check sky130_fd_pr__pfet_01v8_hvt $parameters]
}
-proc sky130::phv_check {parameters} {
- return [sky130::mos_check phv $parameters]
+proc sky130::sky130_fd_pr__pfet_g5v0d10v5_check {parameters} {
+ return [sky130::mos_check sky130_fd_pr__pfet_g5v0d10v5 $parameters]
}
-proc sky130::xcnwvc_check {parameters} {
- return [sky130::mos_check xcnwvc $parameters]
+proc sky130::sky130_fd_pr__cap_var_lvt_check {parameters} {
+ return [sky130::mos_check sky130_fd_pr__cap_var_lvt $parameters]
}
-proc sky130::xcnwvc2_check {parameters} {
- return [sky130::mos_check xcnwvc2 $parameters]
+proc sky130::sky130_fd_pr__cap_var_hvt_check {parameters} {
+ return [sky130::mos_check sky130_fd_pr__cap_var_hvt $parameters]
}
-proc sky130::xchvnwc_check {parameters} {
- return [sky130::mos_check xchvnwc $parameters]
+proc sky130::sky130_fd_pr__cap_var_check {parameters} {
+ return [sky130::mos_check sky130_fd_pr__cap_var $parameters]
}
#----------------------------------------------------------------
@@ -5305,140 +5339,124 @@
#
# Bipolar transistors:
#
-# sky130_fd_pr_rf_npn_1x1
-# sky130_fd_pr_rf_npn_1x2
-# sky130_fd_pr_rf_pnp5x
+# sky130_fd_pr__npn_05v5_W1p00L1p00
+# sky130_fd_pr__npn_05v5_W1p00L2p00
+# sky130_fd_pr__pnp_05v5_W0p68L0p68
+# sky130_fd_pr__pnp_05v5_W3p40L3p40
#
# Parallel Plate Capacitors:
#
-# sky130_fd_pr_rf2_xcmvpp11p5x11p7_lim5shield
-# sky130_fd_pr_rf2_xcmvpp11p5x11p7_m3_lim5shield
-# sky130_fd_pr_rf2_xcmvpp11p5x11p7_m4shield
-# sky130_fd_pr_rf2_xcmvpp11p5x11p7_polym4shield
-# sky130_fd_pr_rf2_xcmvpp11p5x11p7_polym50p4shield
-# sky130_fd_pr_rf2_xcmvpp4p4x4p6_m3_lim5shield
-# sky130_fd_pr_rf2_xcmvpp6p8x6p1_lim4shield
-# sky130_fd_pr_rf2_xcmvpp6p8x6p1_polym4shield
-# sky130_fd_pr_rf2_xcmvpp8p6x7p9_m3_lim5shield
-# sky130_fd_pr_rf2_xcmvppx4_2xnhvnative10x4
-# sky130_fd_pr_rf_xcmvpp11p5x11p7_m3_lishield
-# sky130_fd_pr_rf_xcmvpp11p5x11p7_m3shield
-# sky130_fd_pr_rf_xcmvpp1p8x1p8_lishield
-# sky130_fd_pr_rf_xcmvpp1p8x1p8_m3shield
-# sky130_fd_pr_rf_xcmvpp2
-# sky130_fd_pr_rf_xcmvpp2_nwell
-# sky130_fd_pr_rf_xcmvpp4p4x4p6_m3_lishield
-# sky130_fd_pr_rf_xcmvpp4p4x4p6_m3shield
-# sky130_fd_pr_rf_xcmvpp8p6x7p9_m3_lishield
-# sky130_fd_pr_rf_xcmvpp8p6x7p9_m3shield
+# sky130_fd_pr__cap_vpp_11p5x11p7_lim5_shield
+# sky130_fd_pr__cap_vpp_11p5x11p7_m3_lim5_shield
+# sky130_fd_pr__cap_vpp_11p5x11p7_m4_shield
+# sky130_fd_pr__cap_vpp_11p5x11p7_pom4_shield
+# sky130_fd_pr__cap_vpp_4p4x4p6_m3_lim5_shield
+# sky130_fd_pr__cap_vpp_6p8x6p1_lim4_shield
+# sky130_fd_pr__cap_vpp_6p8x6p1_pom4_shield
+# sky130_fd_pr__cap_vpp_8p6x7p9_m3_lim5_shield
+# sky130_fd_pr__cap_vpp_11p5x11p7_m3_li_shield
+# sky130_fd_pr__cap_vpp_11p5x11p7_m3_shield
+# sky130_fd_pr__cap_vpp_1p8x1p8_li_shield
+# sky130_fd_pr__cap_vpp_1p8x1p8_m3_shield
+# sky130_fd_pr__cap_vpp_4p4x4p6_m3_li_shield
+# sky130_fd_pr__cap_vpp_4p4x4p6_m3_shield
+# sky130_fd_pr__cap_vpp_8p6x7p9_m3_li_shield
+# sky130_fd_pr__cap_vpp_8p6x7p9_m3_shield
+#ifdef REDISTRIBUTION
#
# Inductors:
#
-# balun
-# xind4_011
-# xind4_02
+# sky130_fd_pr__ind_01_04
+# sky130_fd_pr__ind_02_04
+#endif (REDISTRIBUTION)
-proc sky130::sky130_fd_pr_rf_npn_1x1_defaults {} {
+proc sky130::sky130_fd_pr__npn_05v5_W1p00L1p00_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 7.03 ystep 7.03}
}
-proc sky130::sky130_fd_pr_rf_npn_1x2_defaults {} {
+proc sky130::sky130_fd_pr__npn_05v5_W1p00L2p00_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 7.03 ystep 8.03}
}
-proc sky130::sky130_fd_pr_rf_pnp5x_defaults {} {
+proc sky130::sky130_fd_pr__pnp_05v5_W0p68L0p68_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 6.44 ystep 6.44}
}
-proc sky130::balun_defaults {} {
- return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 292 ystep 292}
+proc sky130::sky130_fd_pr__pnp_05v5_W3p40L3p40_defaults {} {
+ return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 6.44 ystep 6.44}
}
-proc sky130::xind4_02_defaults {} {
+#ifdef REDISTRIBUTION
+proc sky130::sky130_fd_pr__ind_02_04_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 258 ystep 258}
}
-proc sky130::xind4_011_defaults {} {
+proc sky130::sky130_fd_pr__ind_01_04_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 290 ystep 404}
}
+#endif (REDISTRIBUTION)
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_lim5shield_defaults {} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_lim5_shield_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 11.08 ystep 11.36}
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_m3_lim5shield_defaults {} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m3_lim5_shield_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 11.08 ystep 11.36}
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_m4shield_defaults {} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m4_shield_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 11.08 ystep 11.36}
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_polym4shield_defaults {} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_pom4_shield_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 11.08 ystep 11.36}
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_polym50p4shield_defaults {} {
- return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 11.08 ystep 11.36}
-}
-
-proc sky130::sky130_fd_pr_rf2_xcmvpp4p4x4p6_m3_lim5shield_defaults {} {
+proc sky130::sky130_fd_pr__cap_vpp_4p4x4p6_m3_lim5_shield_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 4.05 ystep 4.26}
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp6p8x6p1_lim4shield_defaults {} {
+proc sky130::sky130_fd_pr__cap_vpp_6p8x6p1_lim4_shield_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 6.47 ystep 5.76}
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp6p8x6p1_polym4shield_defaults {} {
+proc sky130::sky130_fd_pr__cap_vpp_6p8x6p1_pom4_shield_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 6.47 ystep 5.76}
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp8p6x7p9_m3_lim5shield_defaults {} {
+proc sky130::sky130_fd_pr__cap_vpp_8p6x7p9_m3_lim5_shield_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 8.25 ystep 7.51}
}
-proc sky130::sky130_fd_pr_rf2_xcmvppx4_2xnhvnative10x4_defaults {} {
- return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 10.41 ystep 11.54}
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp11p5x11p7_m3_lishield_defaults {} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m3_li_shield_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 11.08 ystep 11.36}
}
-proc sky130::sky130_fd_pr_rf_xcmvpp11p5x11p7_m3shield_defaults {} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m3_shield_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 11.08 ystep 11.36}
}
-proc sky130::sky130_fd_pr_rf_xcmvpp1p8x1p8_lishield_defaults {} {
+proc sky130::sky130_fd_pr__cap_vpp_1p8x1p8_li_shield_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 1.77 ystep 1.77}
}
-proc sky130::sky130_fd_pr_rf_xcmvpp1p8x1p8_m3shield_defaults {} {
+proc sky130::sky130_fd_pr__cap_vpp_1p8x1p8_m3_shield_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 3.88 ystep 3.88}
}
-proc sky130::sky130_fd_pr_rf_xcmvpp2_defaults {} {
- return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 4.55 ystep 4.76}
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp2_nwell_defaults {} {
- return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 4.55 ystep 4.76}
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp4p4x4p6_m3_lishield_defaults {} {
+proc sky130::sky130_fd_pr__cap_vpp_4p4x4p6_m3_li_shield_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 4.05 ystep 4.26}
}
-proc sky130::sky130_fd_pr_rf_xcmvpp4p4x4p6_m3shield_defaults {} {
+proc sky130::sky130_fd_pr__cap_vpp_4p4x4p6_m3_shield_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 4.05 ystep 4.26}
}
-proc sky130::sky130_fd_pr_rf_xcmvpp8p6x7p9_m3_lishield_defaults {} {
+proc sky130::sky130_fd_pr__cap_vpp_8p6x7p9_m3_li_shield_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 8.25 ystep 7.51}
}
-proc sky130::sky130_fd_pr_rf_xcmvpp8p6x7p9_m3shield_defaults {} {
+proc sky130::sky130_fd_pr__cap_vpp_8p6x7p9_m3_shield_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 8.25 ystep 7.51}
}
@@ -5460,107 +5478,93 @@
#----------------------------------------------------------------
-proc sky130::sky130_fd_pr_rf_npn_1x1_convert {parameters} {
+proc sky130::sky130_fd_pr__npn_05v5_W1p00L1p00_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
-proc sky130::sky130_fd_pr_rf_npn_1x2_convert {parameters} {
+proc sky130::sky130_fd_pr__npn_05v5_W1p00L2p00_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
-proc sky130::sky130_fd_pr_rf_pnp5x_convert {parameters} {
+proc sky130::sky130_fd_pr__pnp_05v5_W0p68L0p68_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
-proc sky130::balun_convert {parameters} {
+proc sky130::sky130_fd_pr__pnp_05v5_W3p40L3p40_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
-proc sky130::xind4_011_convert {parameters} {
+#ifdef REDISTRIBUTION
+proc sky130::sky130_fd_pr__ind_01_04_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
-proc sky130::xind4_02_convert {parameters} {
+proc sky130::sky130_fd_pr__ind_02_04_convert {parameters} {
+ return [sky130::fixed_convert $parameters]
+}
+#endif (REDISTRIBUTION)
+
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_lim5_shield_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_lim5shield_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m3_lim5_shield_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_m3_lim5shield_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m4_shield_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_m4shield_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_pom4_shield_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_polym4shield_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_4p4x4p6_m3_lim5_shield_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_polym50p4shield_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_6p8x6p1_lim4_shield_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp4p4x4p6_m3_lim5shield_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_6p8x6p1_pom4_shield_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp6p8x6p1_lim4shield_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_8p6x7p9_m3_lim5_shield_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp6p8x6p1_polym4shield_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m3_li_shield_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp8p6x7p9_m3_lim5shield_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m3_shield_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvppx4_2xnhvnative10x4_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_1p8x1p8_li_shield_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
-proc sky130::sky130_fd_pr_rf_xcmvpp11p5x11p7_m3_lishield_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_1p8x1p8_m3_shield_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
-proc sky130::sky130_fd_pr_rf_xcmvpp11p5x11p7_m3shield_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_4p4x4p6_m3_li_shield_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
-proc sky130::sky130_fd_pr_rf_xcmvpp1p8x1p8_lishield_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_4p4x4p6_m3_shield_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
-proc sky130::sky130_fd_pr_rf_xcmvpp1p8x1p8_m3shield_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_8p6x7p9_m3_li_shield_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
-proc sky130::sky130_fd_pr_rf_xcmvpp2_convert {parameters} {
- return [sky130::fixed_convert $parameters]
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp2_nwell_convert {parameters} {
- return [sky130::fixed_convert $parameters]
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp4p4x4p6_m3_lishield_convert {parameters} {
- return [sky130::fixed_convert $parameters]
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp4p4x4p6_m3shield_convert {parameters} {
- return [sky130::fixed_convert $parameters]
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp8p6x7p9_m3_lishield_convert {parameters} {
- return [sky130::fixed_convert $parameters]
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp8p6x7p9_m3shield_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_8p6x7p9_m3_shield_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
@@ -5607,107 +5611,93 @@
magic::add_entry deltay "Y step (um)" $parameters
}
-proc sky130::sky130_fd_pr_rf_npn_1x1_dialog {parameters} {
+proc sky130::sky130_fd_pr__npn_05v5_W1p00L1p00_dialog {parameters} {
sky130::fixed_dialog $parameters
}
-proc sky130::sky130_fd_pr_rf_npn_1x2_dialog {parameters} {
+proc sky130::sky130_fd_pr__npn_05v5_W1p00L2p00_dialog {parameters} {
sky130::fixed_dialog $parameters
}
-proc sky130::sky130_fd_pr_rf_pnp5x_dialog {parameters} {
+proc sky130::sky130_fd_pr__pnp_05v5_W0p68L0p68_dialog {parameters} {
sky130::fixed_dialog $parameters
}
-proc sky130::balun_dialog {parameters} {
+proc sky130::sky130_fd_pr__pnp_05v5_W3p40L3p40_dialog {parameters} {
sky130::fixed_dialog $parameters
}
-proc sky130::xind4_011_dialog {parameters} {
+#ifdef REDISTRIBUTION
+proc sky130::sky130_fd_pr__ind_01_04_dialog {parameters} {
sky130::fixed_dialog $parameters
}
-proc sky130::xind4_02_dialog {parameters} {
+proc sky130::sky130_fd_pr__ind_02_04_dialog {parameters} {
+ sky130::fixed_dialog $parameters
+}
+#endif (REDISTRIBUTION)
+
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_lim5_shield_dialog {parameters} {
sky130::fixed_dialog $parameters
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_lim5shield_dialog {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m3_lim5_shield_dialog {parameters} {
sky130::fixed_dialog $parameters
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_m3_lim5shield_dialog {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m4_shield_dialog {parameters} {
sky130::fixed_dialog $parameters
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_m4shield_dialog {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_pom4_shield_dialog {parameters} {
sky130::fixed_dialog $parameters
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_polym4shield_dialog {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_4p4x4p6_m3_lim5_shield_dialog {parameters} {
sky130::fixed_dialog $parameters
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_polym50p4shield_dialog {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_6p8x6p1_lim4_shield_dialog {parameters} {
sky130::fixed_dialog $parameters
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp4p4x4p6_m3_lim5shield_dialog {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_6p8x6p1_pom4_shield_dialog {parameters} {
sky130::fixed_dialog $parameters
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp6p8x6p1_lim4shield_dialog {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_8p6x7p9_m3_lim5_shield_dialog {parameters} {
sky130::fixed_dialog $parameters
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp6p8x6p1_polym4shield_dialog {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m3_li_shield_dialog {parameters} {
sky130::fixed_dialog $parameters
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp8p6x7p9_m3_lim5shield_dialog {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m3_shield_dialog {parameters} {
sky130::fixed_dialog $parameters
}
-proc sky130::sky130_fd_pr_rf2_xcmvppx4_2xnhvnative10x4_dialog {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_1p8x1p8_li_shield_dialog {parameters} {
sky130::fixed_dialog $parameters
}
-proc sky130::sky130_fd_pr_rf_xcmvpp11p5x11p7_m3_lishield_dialog {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_1p8x1p8_m3_shield_dialog {parameters} {
sky130::fixed_dialog $parameters
}
-proc sky130::sky130_fd_pr_rf_xcmvpp11p5x11p7_m3shield_dialog {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_4p4x4p6_m3_li_shield_dialog {parameters} {
sky130::fixed_dialog $parameters
}
-proc sky130::sky130_fd_pr_rf_xcmvpp1p8x1p8_lishield_dialog {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_4p4x4p6_m3_shield_dialog {parameters} {
sky130::fixed_dialog $parameters
}
-proc sky130::sky130_fd_pr_rf_xcmvpp1p8x1p8_m3shield_dialog {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_8p6x7p9_m3_li_shield_dialog {parameters} {
sky130::fixed_dialog $parameters
}
-proc sky130::sky130_fd_pr_rf_xcmvpp2_dialog {parameters} {
- sky130::fixed_dialog $parameters
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp2_nwell_dialog {parameters} {
- sky130::fixed_dialog $parameters
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp4p4x4p6_m3_lishield_dialog {parameters} {
- sky130::fixed_dialog $parameters
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp4p4x4p6_m3shield_dialog {parameters} {
- sky130::fixed_dialog $parameters
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp8p6x7p9_m3_lishield_dialog {parameters} {
- sky130::fixed_dialog $parameters
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp8p6x7p9_m3shield_dialog {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_8p6x7p9_m3_shield_dialog {parameters} {
sky130::fixed_dialog $parameters
}
@@ -5749,108 +5739,94 @@
# No additional parameters declared for drawing
#----------------------------------------------------------------
-proc sky130::sky130_fd_pr_rf_npn_1x1_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf_npn_1x1 $parameters]
+proc sky130::sky130_fd_pr__npn_05v5_W1p00L1p00_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__npn_05v5_W1p00L1p00 $parameters]
}
-proc sky130::sky130_fd_pr_rf_npn_1x2_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf_npn_1x2 $parameters]
+proc sky130::sky130_fd_pr__npn_05v5_W1p00L2p00_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__npn_05v5_W1p00L2p00 $parameters]
}
-proc sky130::sky130_fd_pr_rf_pnp5x_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf_pnp5x $parameters]
+proc sky130::sky130_fd_pr__pnp_05v5_W0p68L0p68_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__pnp_05v5_W0p68L0p68 $parameters]
}
-proc sky130::balun_draw {parameters} {
- return [sky130::fixed_draw balun $parameters]
+proc sky130::sky130_fd_pr__pnp_05v5_W3p40L3p40_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__pnp_05v5_W3p40L3p40 $parameters]
}
-proc sky130::xind4_011_draw {parameters} {
- return [sky130::fixed_draw xind4_011 $parameters]
+#ifdef REDISTRIBUTION
+proc sky130::sky130_fd_pr__ind_01_04_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__ind_01_04 $parameters]
}
-proc sky130::xind4_02_draw {parameters} {
- return [sky130::fixed_draw xind4_02 $parameters]
+proc sky130::sky130_fd_pr__ind_02_04_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__ind_02_04 $parameters]
+}
+#endif (REDISTRIBUTION)
+
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_lim5_shield_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__cap_vpp_11p5x11p7_lim5_shield $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_lim5shield_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf2_xcmvpp11p5x11p7_lim5shield $parameters]
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m3_lim5_shield_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__cap_vpp_11p5x11p7_m3_lim5_shield $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_m3_lim5shield_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf2_xcmvpp11p5x11p7_m3_lim5shield $parameters]
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m4_shield_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__cap_vpp_11p5x11p7_m4_shield $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_m4shield_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf2_xcmvpp11p5x11p7_m4shield $parameters]
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_pom4_shield_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__cap_vpp_11p5x11p7_pom4_shield $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_polym4shield_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf2_xcmvpp11p5x11p7_polym4shield $parameters]
+proc sky130::sky130_fd_pr__cap_vpp_4p4x4p6_m3_lim5_shield_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__cap_vpp_4p4x4p6_m3_lim5_shield $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_polym50p4shield_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf2_xcmvpp11p5x11p7_polym50p4shield $parameters]
+proc sky130::sky130_fd_pr__cap_vpp_6p8x6p1_lim4_shield_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__cap_vpp_6p8x6p1_lim4_shield $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp4p4x4p6_m3_lim5shield_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf2_xcmvpp4p4x4p6_m3_lim5shield $parameters]
+proc sky130::sky130_fd_pr__cap_vpp_6p8x6p1_pom4_shield_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__cap_vpp_6p8x6p1_pom4_shield $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp6p8x6p1_lim4shield_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf2_xcmvpp6p8x6p1_lim4shield $parameters]
+proc sky130::sky130_fd_pr__cap_vpp_8p6x7p9_m3_lim5_shield_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__cap_vpp_8p6x7p9_m3_lim5_shield $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp6p8x6p1_polym4shield_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf2_xcmvpp6p8x6p1_polym4shield $parameters]
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m3_li_shield_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__cap_vpp_11p5x11p7_m3_li_shield $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp8p6x7p9_m3_lim5shield_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf2_xcmvpp8p6x7p9_m3_lim5shield $parameters]
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m3_shield_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__cap_vpp_11p5x11p7_m3_shield $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvppx4_2xnhvnative10x4_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf2_xcmvppx4_2xnhvnative10x4 $parameters]
+proc sky130::sky130_fd_pr__cap_vpp_1p8x1p8_li_shield_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__cap_vpp_1p8x1p8_li_shield $parameters]
}
-proc sky130::sky130_fd_pr_rf_xcmvpp11p5x11p7_m3_lishield_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf_xcmvpp11p5x11p7_m3_lishield $parameters]
+proc sky130::sky130_fd_pr__cap_vpp_1p8x1p8_m3_shield_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__cap_vpp_1p8x1p8_m3_shield $parameters]
}
-proc sky130::sky130_fd_pr_rf_xcmvpp11p5x11p7_m3shield_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf_xcmvpp11p5x11p7_m3shield $parameters]
+proc sky130::sky130_fd_pr__cap_vpp_4p4x4p6_m3_li_shield_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__cap_vpp_4p4x4p6_m3_li_shield $parameters]
}
-proc sky130::sky130_fd_pr_rf_xcmvpp1p8x1p8_lishield_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf_xcmvpp1p8x1p8_lishield $parameters]
+proc sky130::sky130_fd_pr__cap_vpp_4p4x4p6_m3_shield_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__cap_vpp_4p4x4p6_m3_shield $parameters]
}
-proc sky130::sky130_fd_pr_rf_xcmvpp1p8x1p8_m3shield_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf_xcmvpp1p8x1p8_m3shield $parameters]
+proc sky130::sky130_fd_pr__cap_vpp_8p6x7p9_m3_li_shield_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__cap_vpp_8p6x7p9_m3_li_shield $parameters]
}
-proc sky130::sky130_fd_pr_rf_xcmvpp2_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf_xcmvpp2 $parameters]
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp2_nwell_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf_xcmvpp2_nwell $parameters]
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp4p4x4p6_m3_lishield_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf_xcmvpp4p4x4p6_m3_lishield $parameters]
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp4p4x4p6_m3shield_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf_xcmvpp4p4x4p6_m3shield $parameters]
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp8p6x7p9_m3_lishield_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf_xcmvpp8p6x7p9_m3_lishield $parameters]
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp8p6x7p9_m3shield_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf_xcmvpp8p6x7p9_m3shield $parameters]
+proc sky130::sky130_fd_pr__cap_vpp_8p6x7p9_m3_shield_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__cap_vpp_8p6x7p9_m3_shield $parameters]
}
#----------------------------------------------------------------
@@ -5903,107 +5879,93 @@
#----------------------------------------------------------------
-proc sky130::sky130_fd_pr_rf_npn_1x1_check {parameters} {
+proc sky130::sky130_fd_pr__npn_05v5_W1p00L1p00_check {parameters} {
return [sky130::fixed_check $parameters]
}
-proc sky130::sky130_fd_pr_rf_npn_1x2_check {parameters} {
+proc sky130::sky130_fd_pr__npn_05v5_W1p00L2p00_check {parameters} {
return [sky130::fixed_check $parameters]
}
-proc sky130::sky130_fd_pr_rf_pnp5x_check {parameters} {
+proc sky130::sky130_fd_pr__pnp_05v5_W0p68L0p68_check {parameters} {
return [sky130::fixed_check $parameters]
}
-proc sky130::balun_check {parameters} {
+proc sky130::sky130_fd_pr__pnp_05v5_W3p40L3p40_check {parameters} {
return [sky130::fixed_check $parameters]
}
-proc sky130::xind4_011_check {parameters} {
+#ifdef REDISTRIBUTION
+proc sky130::sky130_fd_pr__ind_01_04_check {parameters} {
return [sky130::fixed_check $parameters]
}
-proc sky130::xind4_02_check {parameters} {
+proc sky130::sky130_fd_pr__ind_02_04_check {parameters} {
+ return [sky130::fixed_check $parameters]
+}
+#endif (REDISTRIBUTION)
+
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_lim5_shield_check {parameters} {
return [sky130::fixed_check $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_lim5shield_check {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m3_lim5_shield_check {parameters} {
return [sky130::fixed_check $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_m3_lim5shield_check {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m4_shield_check {parameters} {
return [sky130::fixed_check $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_m4shield_check {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_pom4_shield_check {parameters} {
return [sky130::fixed_check $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_polym4shield_check {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_4p4x4p6_m3_lim5_shield_check {parameters} {
return [sky130::fixed_check $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_polym50p4shield_check {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_6p8x6p1_lim4_shield_check {parameters} {
return [sky130::fixed_check $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp4p4x4p6_m3_lim5shield_check {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_6p8x6p1_pom4_shield_check {parameters} {
return [sky130::fixed_check $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp6p8x6p1_lim4shield_check {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_8p6x7p9_m3_lim5_shield_check {parameters} {
return [sky130::fixed_check $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp6p8x6p1_polym4shield_check {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m3_li_shield_check {parameters} {
return [sky130::fixed_check $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp8p6x7p9_m3_lim5shield_check {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m3_shield_check {parameters} {
return [sky130::fixed_check $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvppx4_2xnhvnative10x4_check {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_1p8x1p8_li_shield_check {parameters} {
return [sky130::fixed_check $parameters]
}
-proc sky130::sky130_fd_pr_rf_xcmvpp11p5x11p7_m3_lishield_check {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_1p8x1p8_m3_shield_check {parameters} {
return [sky130::fixed_check $parameters]
}
-proc sky130::sky130_fd_pr_rf_xcmvpp11p5x11p7_m3shield_check {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_4p4x4p6_m3_li_shield_check {parameters} {
return [sky130::fixed_check $parameters]
}
-proc sky130::sky130_fd_pr_rf_xcmvpp1p8x1p8_lishield_check {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_4p4x4p6_m3_shield_check {parameters} {
return [sky130::fixed_check $parameters]
}
-proc sky130::sky130_fd_pr_rf_xcmvpp1p8x1p8_m3shield_check {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_8p6x7p9_m3_li_shield_check {parameters} {
return [sky130::fixed_check $parameters]
}
-proc sky130::sky130_fd_pr_rf_xcmvpp2_check {parameters} {
- return [sky130::fixed_check $parameters]
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp2_nwell_check {parameters} {
- return [sky130::fixed_check $parameters]
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp4p4x4p6_m3_lishield_check {parameters} {
- return [sky130::fixed_check $parameters]
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp4p4x4p6_m3shield_check {parameters} {
- return [sky130::fixed_check $parameters]
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp8p6x7p9_m3_lishield_check {parameters} {
- return [sky130::fixed_check $parameters]
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp8p6x7p9_m3shield_check {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_8p6x7p9_m3_shield_check {parameters} {
return [sky130::fixed_check $parameters]
}
diff --git a/sky130/magic/sky130.tech b/sky130/magic/sky130.tech
index 8faaa03..994e000 100644
--- a/sky130/magic/sky130.tech
+++ b/sky130/magic/sky130.tech
@@ -42,13 +42,13 @@
#------------------------------------------------------------------------
# sky130_fd_pr__nfet_01v8 nfet standard nFET
# sky130_fd_pr__nfet_01v8 scnfet standard nFET in standard cell**
-# npd npd special nFET in SRAM cell
-# npass npass special nFET in SRAM cell
+# sky130_fd_pr__special_nfet_latch npd special nFET in SRAM cell
+# sky130_fd_pr__special_nfet_pass npass special nFET in SRAM cell
# sky130_fd_pr__nfet_01v8_lvt nfetlvt low Vt nFET
-# sonos_p/e nsonos SONOS nFET
+# sky130_fd_bs_flash__special_sonosfet_star nsonos SONOS nFET
# sky130_fd_pr__pfet_01v8 pfet standard pFET
# sky130_fd_pr__pfet_01v8 scpfet standard pFET in standard cell**
-# ppu ppu special pFET in SRAM cell
+# sky130_fd_pr__special_pfet_pass ppu special pFET in SRAM cell
# sky130_fd_pr__pfet_01v8_lvt pfetlvt low Vt pFET
# sky130_fd_pr__pfet_01v8_mvt pfetmvt med Vt pFET
# sky130_fd_pr__pfet_01v8_hvt pfethvt high Vt pFET
@@ -56,10 +56,10 @@
# sky130_fd_pr__pfet_g5v0d10v5 mvpfet thickox pFET
# sky130_fd_pr__nfet_g5v0d10v5 mvnfet thickox nFET
# sky130_fd_pr__nfet_01v8_nvt mvnnfet thickox native nFET
-# sky130_fd_pr__diode_pw2nd ndiode n+ diff diode
-# ndiode_h mvndiode thickox n+ diff diode
-# sky130_fd_pr__diode_pd2nw pdiode p+ diff diode
-# pdiode_h mvpdiode thickox p+ diff diode
+# sky130_fd_pr__diode_pw2nd_05v5 ndiode n+ diff diode
+# sky130_fd_pr__diode_pw2nd_11v0 mvndiode thickox n+ diff diode
+# sky130_fd_pr__diode_pd2nw_05v5 pdiode p+ diff diode
+# sky130_fd_pr__diode_pd2nw_11v0 mvpdiode thickox p+ diff diode
# sky130_fd_pr__diode_pw2nd_nvt nndiode diode with nndiff
# sky130_fd_pr__diode_pw2nd_lvt ndiodelvt low Vt n+ diff diode
# sky130_fd_pr__diode_pd2nw_lvt pdiodelvt low Vt p+ diff diode
@@ -67,56 +67,43 @@
# sky130_fd_pr__npn_05v0 pbase NPN in deep nwell
# sky130_fd_pr__npn_11v0 mvpbase thick oxide gated NPN
# sky130_fd_pr__pnp_05v0 nbase PNP
-# xcmimc1 mimcap MiM cap 1st plate
-# xcmimc2 mimcap2 MiM cap 2nd plate
-# mrdn rdn n+ diff resistor
+# sky130_fd_pr__cap_mim_m3_1 mimcap MiM cap 1st plate
+# sky130_fd_pr__cap_mim_m3_2 mimcap2 MiM cap 2nd plate
+# sky130_fd_pr__res_generic_nd rdn n+ diff resistor
# mrdn_hv mvrdn thickox n+ diff resistor
-# mrdp rdp p+ diff resistor
+# sky130_fd_pr__res_generic_pd rdp p+ diff resistor
# mrdp_hv mvrdp thickox p+ diff resistor
-# mrl1 rli local interconnect resistor
-# mrp1 npres n+ poly resistor
-# xhrpoly_* ppres (*) p+ poly resistor (300 Ohms/sq)
-# uhrpoly_* xres (*) p+ poly resistor (2k Ohms/sq)
-# xcnwvc varactor varactor (low Vt?)
-# xcnwvc2 varactorhvt high Vt varactor
-# xchvnwc mvvaractor thickox varactor
-# xpwres rpw pwell resistor (in deep nwell)
+# sky130_fd_pr__res_generic_l1 rli local interconnect resistor
+# sky130_fd_pr__res_generic_po npres n+ poly resistor
+# sky130_fd_pr__res_high_po_* ppres (*) p+ poly resistor (300 Ohms/sq)
+# sky130_fd_pr__res_xhigh_po_* xres (*) p+ poly resistor (2k Ohms/sq)
+# sky130_fd_pr__cap_var_lvt varactor low Vt varactor
+# sky130_fd_pr__cap_var_hvt varactorhvt high Vt varactor
+# sky130_fd_pr__cap_var mvvaractor thickox varactor
+# sky130_fd_pr__res_iso_pw rpw pwell resistor (in deep nwell)
#
-# (*) Note that ppres may extract into some generic type
-# called "xhrpoly", but only specific sizes of xhrpoly are
-# allowed, and these are created from fixed layouts like the
-# types below.
+# (*) Note that ppres may extract into some generic type called
+# "sky130_fd_pr__res_xhigh_po", but only specific sizes of xhrpoly are
+# allowed, and these are created from fixed layouts like the types below.
#
# (**) nFET and pFET in standard cells are the same as devices
# outside of the standard cell except for the DRC rule for
# FET to diffusion contact spacing (which is 0.05um, not 0.055um)
#
-# To avoid creating a large number of types, a few ID layers are
-# used in conjunction with standard devices types: "lvt" for
-# low threshold voltage, and "hvt" for high threshold voltage.
-# "dnwell" is used as an identifier layer where appropriate.
-# Layer HVI (thick oxide) is treated differently, and types
-# "mv*" are defined where thick oxide is required.
-#
#-------------------------------------------------------------
# The following devices are not extracted but are represented
# only by script-generated subcells in the PDK.
#-------------------------------------------------------------
-# nshortesd ESD nFET
-# nhvesd ESD thickox nFET
-# nhvnativeesd ESD native nFET
-# phvesd ESD thickox pFET
-# fnpass flash nFET device
-# xesd_ndiode_h_*** ESD n+ diode
-# xesd_pdiode_h_*** ESD p+ diode
-# reslocsub local substrate island indicator
-# xcmvpp Vpp cap
-# xcmvpp_2 Vpp cap
-# xcmvpp_* Vpp cap
-# xcmvpp* Vpp cap
-# balun balun inductor
-# ind4 inductor
-# fuse metal fuse device
+# sky130_fd_pr__esd_nfet_01v8 ESD nFET
+# sky130_fd_pr__esd_nfet_g5v0d10v5 ESD thickox nFET
+# sky130_fd_pr__esd_nfet_05v0_nvt ESD native nFET
+# sky130_fd_pr__esd_pfet_g5v0d10v5 ESD thickox pFET
+# sky130_fd_pr__special_nfet_pass_flash flash nFET device
+# sky130_fd_pr__esd_rf_diode_pw2nd_11v0 ESD n+ diode
+# sky130_fd_pr__esd_rf_diode_pd2nw_11v0 ESD p+ diode
+# sky130_fd_pr__cap_vpp_* Vpp cap
+# sky130_fd_pr__ind_* inductor
+# sky130_fd_pr__fuse_m4 metal fuse device
#--------------------------------------------------------------
#-----------------------------------------------------
@@ -5897,7 +5884,7 @@
device msubcircuit sky130_fd_pr__pfet_01v8 pfet,scpfet \
*pdiff,pdiffres *pdiff,pdiffres nwell error l=l w=w
- device msubcircuit ppu ppu \
+ device msubcircuit sky130_fd_pr__special_pfet_pass ppu \
*pdiff,pdiffres *pdiff,pdiffres nwell error l=l w=w
device msubcircuit sky130_fd_pr__pfet_01v8_lvt pfetlvt \
*pdiff,pdiffres *pdiff,pdiffres nwell error l=l w=w
@@ -5906,23 +5893,36 @@
device msubcircuit sky130_fd_pr__pfet_01v8_hvt pfethvt \
*pdiff,pdiffres *pdiff,pdiffres nwell error l=l w=w
- device msubcircuit sky130_fd_pr__nfet_01v8 nfet,scnfet,npd,npass \
+ device msubcircuit sky130_fd_pr__nfet_01v8 nfet,scnfet \
*ndiff,ndiffres *ndiff,ndiffres pwell,space/w error l=l w=w
- device msubcircuit npd npd \
+ device msubcircuit sky130_fd_pr__special_nfet_latch npd \
*ndiff,ndiffres *ndiff,ndiffres pwell,space/w error l=l w=w
- device msubcircuit npass npass \
+ device msubcircuit sky130_fd_pr__special_nfet_pass npass \
+ *ndiff,ndiffres *ndiff,ndiffres pwell,space/w error l=l w=w
+
+ device msubcircuit sky130_fd_pr__special_nfet_latch npd \
+ *ndiff,ndiffres *ndiff,ndiffres pwell,space/w error l=l w=w
+ device msubcircuit sky130_fd_pr__special_nfet_pass npass \
*ndiff,ndiffres *ndiff,ndiffres pwell,space/w error l=l w=w
device msubcircuit sky130_fd_pr__nfet_01v8_lvt nfetlvt \
*ndiff,ndiffres *ndiff,ndiffres pwell,space/w error l=l w=w
- device msubcircuit sonos_e nsonos \
+ device msubcircuit sky130_fd_bs_flash__special_sonosfet_star nsonos \
*ndiff,ndiffres *ndiff,ndiffres pwell,space/w error l=l w=w
- device subcircuit xcnwvc varactor \
+ device subcircuit sky130_fd_pr__cap_var_lvt varactor \
*nndiff nwell error l=l w=w
- device subcircuit xcnwvc2 varhvt \
+ device subcircuit sky130_fd_pr__cap_var_hvt varhvt \
*nndiff nwell error l=l w=w
- device subcircuit xchvnwc mvvaractor \
+ device subcircuit sky130_fd_pr__cap_var mvvaractor \
*mvnndiff nwell error l=l w=w
+ # Extended drain devices (must appear before the regular devices)
+ device msubcircuit sky130_fd_pr__nfet_20v0_nvt mvnnfet *mvndiff,mvndiffres \
+ dnwell pwell,space/w error l=l w=w
+ device msubcircuit sky130_fd_pr__nfet_20v0 mvnfet *mvndiff,mvndiffres \
+ dnwell pwell,space/w error l=l w=w
+ device msubcircuit sky130_fd_pr__pfet_20v0 mvpfet *mvpdiff,mvpdiffres \
+ pwell,space/w nwell error l=l w=w
+
device msubcircuit sky130_fd_pr__pfet_g5v0d10v5 mvpfet \
*mvpdiff,mvpdiffres *mvpdiff,mvpdiffres nwell error l=l w=w
device msubcircuit sky130_fd_pr__nfet_g5v0d10v5 mvnfet \
@@ -5933,64 +5933,56 @@
device msubcircuit sky130_fd_pr__npn_05v0 npn dnwell *ndiff space/w error a1=area
device msubcircuit sky130_fd_pr__pnp_05v0 pnp pwell,space/w *pdiff a1=area
- # Extended drain devices
- device msubcircuit sky130_fd_pr__nfet_20v0_nvt mvnnfet *mvndiff dnwell \
- pwell,space/w error l=l w=w
- device msubcircuit sky130_fd_pr__nfet_20v0 mvnfet *mvndiff dnwell \
- pwell,space/w error l=l w=w
- device msubcircuit sky130_fd_pr__pfet_20v0 mvpfet *mvpdiff pwell,space/w \
- nwell error l=l w=w
-
- device rsubcircuit short rmp \
+ device rsubcircuit sky130_fd_pr__res_generic_po rmp \
*poly space/w,pwell,nwell error l=l w=w
- device rsubcircuit short rli1 \
+ device rsubcircuit sky130_fd_pr__res_generic_l1 rli1 \
*li,coreli space/w,pwell,nwell error l=l w=w
- device rsubcircuit short rmetal1 \
+ device rsubcircuit sky130_fd_pr__res_generic_m1 rmetal1 \
*metal1 space/w,pwell,nwell error l=l w=w
- device rsubcircuit short rmetal2 \
+ device rsubcircuit sky130_fd_pr__res_generic_m2 rmetal2 \
*metal2 space/w,pwell,nwell error l=l w=w
- device rsubcircuit short rmetal3 \
+ device rsubcircuit sky130_fd_pr__res_generic_m3 rmetal3 \
*metal3 space/w,pwell,nwell error l=l w=w
#ifdef METAL5
- device rsubcircuit short rm4 \
+ device rsubcircuit sky130_fd_pr__res_generic_m4 rm4 \
*m4 space/w,pwell,nwell error l=l w=w
- device rsubcircuit short rm5 \
+ device rsubcircuit sky130_fd_pr__res_generic_m5 rm5 \
*m5 space/w,pwell,nwell error l=l w=w
#endif (METAL5)
- device rsubcircuit xhrpoly_0p35 xhrpoly \
+ device rsubcircuit sky130_fd_pr__res_high_po_0p35 xhrpoly \
xpc pwell,space/w error +res0p35 l=l w=w
- device rsubcircuit xhrpoly_0p69 xhrpoly \
+ device rsubcircuit sky130_fd_pr__res_high_po_0p69 xhrpoly \
xpc pwell,space/w error +res0p69 l=l w=w
- device rsubcircuit xhrpoly_1p41 xhrpoly \
+ device rsubcircuit sky130_fd_pr__res_high_po_1p41 xhrpoly \
xpc pwell,space/w error +res1p41 l=l w=w
- device rsubcircuit xhrpoly_2p85 xhrpoly \
+ device rsubcircuit sky130_fd_pr__res_high_po_2p85 xhrpoly \
xpc pwell,space/w error +res2p85 l=l w=w
- device rsubcircuit xhrpoly_5p73 xhrpoly \
+ device rsubcircuit sky130_fd_pr__res_high_po_5p73 xhrpoly \
xpc pwell,space/w error +res5p73 l=l w=w
- device rsubcircuit xhrpoly xhrpoly \
+ device rsubcircuit sky130_fd_pr__res_high_po xhrpoly \
xpc pwell,space/w error l=l w=w
- device rsubcircuit uhrpoly_0p35 uhrpoly \
+ device rsubcircuit sky130_fd_pr__res_xhigh_po_0p35 uhrpoly \
xpc pwell,space/w error +res0p35 l=l w=w
- device rsubcircuit uhrpoly_0p69 uhrpoly \
+ device rsubcircuit sky130_fd_pr__res_xhigh_po_0p69 uhrpoly \
xpc pwell,space/w error +res0p69 l=l w=w
- device rsubcircuit uhrpoly_1p41 uhrpoly \
+ device rsubcircuit sky130_fd_pr__res_xhigh_po_1p41 uhrpoly \
xpc pwell,space/w error +res1p41 l=l w=w
- device rsubcircuit uhrpoly_2p85 uhrpoly \
+ device rsubcircuit sky130_fd_pr__res_xhigh_po_2p85 uhrpoly \
xpc pwell,space/w error +res2p85 l=l w=w
- device rsubcircuit uhrpoly_5p73 uhrpoly \
+ device rsubcircuit sky130_fd_pr__res_xhigh_po_5p73 uhrpoly \
xpc pwell,space/w error +res5p73 l=l w=w
- device rsubcircuit uhrpoly uhrpoly \
+ device rsubcircuit sky130_fd_pr__res_xhigh_po uhrpoly \
xpc pwell,space/w error l=l w=w
- device rsubcircuit mrp1 mrp1 \
+ device rsubcircuit sky130_fd_pr__res_generic_po mrp1 \
*poly pwell,space/w error l=l w=w
- device rsubcircuit mrdn ndiffres \
+ device rsubcircuit sky130_fd_pr_res_generic_nd ndiffres \
*ndiff pwell,space/w error l=l w=w
- device rsubcircuit mrdp pdiffres \
+ device rsubcircuit sky130_fd_pr_res_generic_pd pdiffres \
*pdiff nwell error l=l w=w
- device rsubcircuit xpwres rpw \
+ device rsubcircuit sky130_fd_pr__res_iso_pw rpw \
pwell dnwell error l=l w=w
device rsubcircuit mrdn_hv mvndiffres \
@@ -5998,13 +5990,13 @@
device rsubcircuit mrdp_hv mvpdiffres \
*mvpdiff nwell error l=l w=w
- device subcircuit sky130-fd_pr__diode_pd2nw *pdiode \
+ device subcircuit sky130_fd_pr__diode_pd2nw_05v5 *pdiode \
nwell a=area
- device msubcircuit sky130_fd_pr__diode_pw2nd *ndiode \
+ device msubcircuit sky130_fd_pr__diode_pw2nd_05v5 *ndiode \
pwell,space/w a=area
- device subcircuit pdiode_h *mvpdiode \
+ device subcircuit sky130_fd_pr__diode_pd2nw_11v0 *mvpdiode \
nwell a=area
- device msubcircuit ndiode_h *mvndiode \
+ device msubcircuit sky130_fd_pr__diode_pw2nd_11v0 *mvndiode \
pwell,space/w a=area
# These are parasitic devices
@@ -6018,88 +6010,88 @@
pwell,space/w a=area
#ifdef MIM
- device subcircuit xcmimc1 *mimcap m3 nwell,pwell,space/w error a=area s=subs
- device subcircuit xcmimc2 *mimcap2 m4,mimcc/m4 nwell,pwell,space/w error a=area s=subs
+ device subcircuit sky130_fd_pr__cap_mim_m3_1 *mimcap m3 nwell,pwell,space/w error a=area s=subs
+ device subcircuit sky130_fd_pr__cap_mim_m3_2 *mimcap2 m4,mimcc/m4 nwell,pwell,space/w error a=area s=subs
#endif (MIM)
variants (orig)
- device mosfet pshort scpfet,pfet pdiff,pdiffres,pdc nwell
- device mosfet ppu ppu pdiff,pdiffres,pdc nwell
- device mosfet plowvt pfetlvt pdiff,pdiffres,pdc nwell
- device mosfet pmedvt pfetmvt pdiff,pdiffres,pdc nwell
- device mosfet phighvt pfethvt pdiff,pdiffres,pdc nwell
- device mosfet nshort scnfet,npd,npass,nfet ndiff,ndiffres,ndc pwell,space/w
- device mosfet npd npd ndiff,ndiffres,ndc pwell,space/w
- device mosfet npass npass ndiff,ndiffres,ndc pwell,space/w
- device mosfet nlowvt nfetlvt ndiff,ndiffres,ndc pwell,space/w
- device mosfet sonos_e nsonos ndiff,ndiffres,ndc pwell,space/w
- device mosfet phv mvpfet mvpdiff,mvpdiffres,mvpdc nwell
- device mosfet nhv mvnfet mvndiff,mvndiffres,mvndc pwell,space/w
- device mosfet nhvnative mvnnfet *mvndiff,mvndiffres pwell,space/w
+ device mosfet sky130_fd_pr__pfet_01v8 scpfet,pfet pdiff,pdiffres,pdc nwell
+ device mosfet sky130_fd_pr__special_pfet_pass ppu pdiff,pdiffres,pdc nwell
+ device mosfet sky130_fd_pr__pfet_01v8_lvt pfetlvt pdiff,pdiffres,pdc nwell
+ device mosfet sky130_fd_pr__pfet_01v8_mvt pfetmvt pdiff,pdiffres,pdc nwell
+ device mosfet sky130_fd_pr__pfet_01v8_hvt pfethvt pdiff,pdiffres,pdc nwell
+ device mosfet sky130_fd_pr__nfet_01v8 scnfet,nfet ndiff,ndiffres,ndc pwell,space/w
+ device mosfet sky130_fd_pr__special_nfet_pass npass ndiff,ndiffres,ndc pwell,space/w
+ device mosfet sky130_fd_pr__special_nfet_latch npd ndiff,ndiffres,ndc pwell,space/w
+ device mosfet sky130_fd_pr__special_nfet_latch npd ndiff,ndiffres,ndc pwell,space/w
+ device mosfet sky130_fd_pr__nfet_01v8_lvt nfetlvt ndiff,ndiffres,ndc pwell,space/w
+ device mosfet sky130_fd_bs_flash__special_sonosfet_star nsonos ndiff,ndiffres,ndc \
+ pwell,space/w
+
+ # Extended drain devices (must appear before the regular devices)
+ device mosfet sky130_fd_pr__nfet_20v0_nvt mvnnfet *mvndiff,mvndiffres \
+ dnwell pwell,space/w error
+ device mosfet sky130_fd_pr__nfet_20v0 mvnfet *mvndiff,mvndiffres \
+ dnwell pwell,space/w error
+ device mosfet sky130_fd_pr__pfet_20v0 mvpfet *mvpdiff,mvpdiffres \
+ pwell,space/w nwell error
+
+ device mosfet sky130_fd_pr__pfet_g5v0d10v5 mvpfet mvpdiff,mvpdiffres,mvpdc nwell
+ device mosfet sky130_fd_pr__nfet_g5v0d10v5 mvnfet mvndiff,mvndiffres,mvndc pwell,space/w
+ device mosfet sky130_fd_pr__nfet_05v0_nvt mvnnfet *mvndiff,mvndiffres pwell,space/w
# These devices always extract as subcircuits
- device subcircuit xcnwvc varactor *nndiff nwell error l=l w=w
- device subcircuit xcnwvc2 varhvt *nndiff nwell error l=l w=w
- device subcircuit xchvnwc mvvaractor *mvnndiff nwell error l=l w=w
+ device subcircuit sky130_fd_pr__cap_var_lvt varactor *nndiff nwell error l=l w=w
+ device subcircuit sky130_fd_pr__cap_var_hvt varhvt *nndiff nwell error l=l w=w
+ device subcircuit sky130_fd_pr__cap_var mvvaractor *mvnndiff nwell error l=l w=w
- device resistor short rmp *poly
- device resistor short rli1 *li,coreli
- device resistor short rmetal1 *metal1
- device resistor short rmetal2 *metal2
- device resistor short rmetal3 *metal3
+ device resistor sky130_fd_pr__res_generic_po rmp *poly
+ device resistor sky130_fd_pr__res_generic_l1 rli1 *li,coreli
+ device resistor sky130_fd_pr__res_generic_m1 rmetal1 *metal1
+ device resistor sky130_fd_pr__res_generic_m2 rmetal2 *metal2
+ device resistor sky130_fd_pr__res_generic_m3 rmetal3 *metal3
#ifdef METAL5
- device resistor short rm4 *m4
- device resistor short rm5 *m5
+ device resistor sky130_fd_pr__res_generic_m4 rm4 *m4
+ device resistor sky130_fd_pr__res_generic_m5 rm5 *m5
#endif (METAL5)
- device resistor xhrpoly_0p35 xhrpoly xpc +res0p35
- device resistor xhrpoly_0p69 xhrpoly xpc +res0p69
- device resistor xhrpoly_1p41 xhrpoly xpc +res1p41
- device resistor xhrpoly_2p85 xhrpoly xpc +res2p85
- device resistor xhrpoly_5p73 xhrpoly xpc +res5p73
- device resistor xhrpoly xhrpoly xpc
- device resistor uhrpoly_0p35 uhrpoly xpc +res0p35
- device resistor uhrpoly_0p69 uhrpoly xpc +res0p69
- device resistor uhrpoly_1p41 uhrpoly xpc +res1p41
- device resistor uhrpoly_2p85 uhrpoly xpc +res2p85
- device resistor uhrpoly_5p73 uhrpoly xpc +res5p73
- device resistor uhrpoly uhrpoly xpc
- device resistor mrp1 mrp1 *poly
- device resistor mrdn ndiffres *ndiff
- device resistor mrdp pdiffres *pdiff
+ device resistor sky130_fd_pr__res_high_po_0p35 xhrpoly xpc +res0p35
+ device resistor sky130_fd_pr__res_high_po_0p69 xhrpoly xpc +res0p69
+ device resistor sky130_fd_pr__res_high_po_1p41 xhrpoly xpc +res1p41
+ device resistor sky130_fd_pr__res_high_po_2p85 xhrpoly xpc +res2p85
+ device resistor sky130_fd_pr__res_high_po_5p73 xhrpoly xpc +res5p73
+ device resistor sky130_fd_pr__res_high_po xhrpoly xpc
+ device resistor sky130_fd_pr__res_xhigh_po_0p35 uhrpoly xpc +res0p35
+ device resistor sky130_fd_pr__res_xhigh_po_0p69 uhrpoly xpc +res0p69
+ device resistor sky130_fd_pr__res_xhigh_po_1p41 uhrpoly xpc +res1p41
+ device resistor sky130_fd_pr__res_xhigh_po_2p85 uhrpoly xpc +res2p85
+ device resistor sky130_fd_pr__res_xhigh_po_5p73 uhrpoly xpc +res5p73
+ device resistor sky130_fd_pr__res_xhigh_po uhrpoly xpc
+ device resistor sky130_fd_pr__res_generic_po mrp1 *poly
+ device resistor sky130_fd_pr__res_generic_nd ndiffres *ndiff
+ device resistor sky130_fd_pr__res_generic_pd pdiffres *pdiff
device resistor mrdn_hv mvndiffres *mvndiff
device resistor mrdp_hv mvpdiffres *mvpdiff
- device resistor xpwres rpw pwell
+ device resistor sky130_fd_pr__res_iso_pw rpw pwell
- device pdiode pdiode *pdiode nwell a=area
- device ndiode ndiode *ndiode pwell,space/w a=area
- device pdiode pdiode_h *mvpdiode nwell a=area
- device ndiode ndiode_h *mvndiode pwell,space/w a=area
+ device pdiode sky130_fd_pr__diode_pd2nw_05v5 *pdiode nwell a=area
+ device ndiode sky130_fd_pr__diode_pw2nd_05v5 *ndiode pwell,space/w a=area
+ device pdiode sky130_fd_pr__diode_pd2nw_11v0 *mvpdiode nwell a=area
+ device ndiode sky130_fd_pr__diode_pw2nd_11v0 *mvndiode pwell,space/w a=area
# These are parasitic devices
- device ndiode ndiode_lvt *ndiodelvt pwell,space/w a=area
- device pdiode pdiode_lvt *pdiodelvt nwell a=area
- device pdiode pdiode_hvt *pdiodehvt nwell a=area
- device ndiode ndiode_native *nndiode pwell,space/w a=area
+ device ndiode sky130_fd_pr__diode_pw2nd_05v5_lvt *ndiodelvt pwell,space/w a=area
+ device pdiode sky130_fd_pr__diode_pd2nw_05v5_lvt *pdiodelvt nwell a=area
+ device pdiode sky130_fd_pr__diode_pd2nw_05v5_hvt *pdiodehvt nwell a=area
+ device ndiode sky130_fd_pr__diode_pw2nd_05v5_nvt *nndiode pwell,space/w a=area
- device bjt sky130_fd_pr__npn_05v0 npn dnwell *ndiff space/w error a1=area
- device bjt sky130_fd_pr__pnp_05v0 pnp pwell,space/w *pdiff a1=area
-
- # Extended drain devices
- device mosfet sky130_fd_pr__nfet_20v0_nvt mvnnfet *mvndiff dnwell \
- pwell,space/w error
- device mosfet sky130_fd_pr__nfet_20v0 mvnfet *mvnndiff dnwell \
- pwell,space/w error
- device mosfet sky130_fd_pr__pfet_20v0 mvpfet *mvpdiff pwell,space/w \
- nwell error
-
- device subcircuit pdiode_h *mvpdiode nwell a=area
- device msubcircuit ndiode_h *mvndiode pwell,space/w a=area
+ device bjt sky130_fd_pr__npn_05v5 npn dnwell *ndiff space/w error a1=area
+ device bjt sky130_fd_pr__pnp_05v5 pnp pwell,space/w *pdiff a1=area
#ifdef MIM
- device capacitor xcmimc1 *mimcap *m3 1
- device capacitor xcmimc2 *mimcap2 *m4 1
+ device capacitor sky130_fd_pr__cap_mim_m3_1 *mimcap *m3 1
+ device capacitor sky130_fd_pr__cap_mim_m3_2 *mimcap2 *m4 1
#endif (MIM)
end
diff --git a/sky130/netgen/sky130_setup.tcl b/sky130/netgen/sky130_setup.tcl
index 66d40ee..6e19f8b 100644
--- a/sky130/netgen/sky130_setup.tcl
+++ b/sky130/netgen/sky130_setup.tcl
@@ -26,7 +26,24 @@
# Resistors (except metal)
#-------------------------------------------
-set devices {xpwres mrp1 xhrpoly uhrpoly mrdn mrdp mrdn_hv mrdp_hv}
+set devices {}
+lappend devices sky130_fd_pr__res_iso_pw
+lappend devices sky130_fd_pr__res_generic_po
+lappend devices sky130_fd_pr__res_high_po_0p35
+lappend devices sky130_fd_pr__res_high_po_0p69
+lappend devices sky130_fd_pr__res_high_po_1p41
+lappend devices sky130_fd_pr__res_high_po_2p85
+lappend devices sky130_fd_pr__res_high_po_5p73
+lappend devices sky130_fd_pr__res_high_po
+lappend devices sky130_fd_pr__res_xhigh_po_0p35
+lappend devices sky130_fd_pr__res_xhigh_po_0p69
+lappend devices sky130_fd_pr__res_xhigh_po_1p41
+lappend devices sky130_fd_pr__res_xhigh_po_2p85
+lappend devices sky130_fd_pr__res_xhigh_po_5p73
+lappend devices sky130_fd_pr__res_xhigh_po
+lappend devices sky130_fd_pr__res_generic_nd
+lappend devices sky130_fd_pr__res_generic_pd
+lappend devices mrdn_hv mrdp_hv
foreach dev $devices {
if {[lsearch $cells1 $dev] >= 0} {
@@ -61,9 +78,14 @@
# MRM (metal) resistors
#-------------------------------------------
-set devices {mrl1 mrm1 mrm2 mrm3}
+set devices {}
+lappend devices sky130_fd_pr__res_generic_l1
+lappend devices sky130_fd_pr__res_generic_m1
+lappend devices sky130_fd_pr__res_generic_m2
+lappend devices sky130_fd_pr__res_generic_m3
#ifdef METAL5
-lappend devices mrm4 mrm5
+lappend devices sky130_fd_pr__res_generic_m4
+lappend devices sky130_fd_pr__res_generic_m5
#endif (METAL5)
foreach dev $devices {
@@ -99,9 +121,22 @@
# (MOS) transistors
#-------------------------------------------
-set devices {nshort nlowvt sonos_e nhvnative nhv pshort plowvt phighvt phv}
-lappend devices ppu npass npd
-lappend devices xcnwvc xcnwvc2 xchvnwc
+set devices {}
+lappend devices sky130_fd_pr__nfet_01v8
+lappend devices sky130_fd_pr__nfet_01v8_lvt
+lappend devices sky130_fd_bs_flash__special_sonosfet_star
+lappend devices sky130_fd_pr__nfet_g5v9d10v5
+lappend devices sky130_fd_pr__pfet_01v8
+lappend devices sky130_fd_pr__pfet_01v8_lvt
+lappend devices sky130_fd_pr__pfet_01v8_mvt
+lappend devices sky130_fd_pr__pfet_01v8_hvt
+lappend devices sky130_fd_pr__pfet_g5v9d10v5
+lappend devices sky130_fd_pr__special_pfet_pass
+lappend devices sky130_fd_pr__special_nfet_pass
+lappend devices sky130_fd_pr__special_nfet_latch
+lappend devices sky130_fd_pr__cap_var_lvt
+lappend devices sky130_fd_pr__cap_var_hvt
+lappend devices sky130_fd_pr__cap_var
foreach dev $devices {
if {[lsearch $cells1 $dev] >= 0} {
@@ -128,8 +163,15 @@
# diodes
#-------------------------------------------
-set devices {ndiode ndiode_lvt pdiode pdiode_lvt pdiode_hvt ndiode_h pdiode_h}
-lappend devices ndiode_native
+set devices {}
+lappend devices sky130_fd_pr__diode_pw2nd_05v5
+lappend devices sky130_fd_pr__diode_pw2nd_05v5_lvt
+lappend devices sky130_fd_pr__diode_pw2nd_05v5_nvt
+lappend devices sky130_fd_pr__diode_pd2nw_05v5
+lappend devices sky130_fd_pr__diode_pd2nw_05v5_lvt
+lappend devices sky130_fd_pr__diode_pd2nw_05v5_hvt
+lappend devices sky130_fd_pr__diode_pw2nd_11v0
+lappend devices sky130_fd_pr__diode_pd2nw_11v0
foreach dev $devices {
if {[lsearch $cells1 $dev] >= 0} {
@@ -155,7 +197,9 @@
# MiM capacitors
#-------------------------------------------
-set devices {xcmimc1 xcmimc2}
+set devices {}
+lappend devices sky130_fd_pr__cap_mim_m3_1
+lappend devices sky130_fd_pr__cap_mim_m3_2
foreach dev $devices {
if {[lsearch $cells1 $dev] >= 0} {
@@ -182,30 +226,34 @@
# VPP capacitors
#-------------------------------------------
-set devices {sky130rf_npn_1x1 sky130rf_npn_1x2 sky130rf_pnp5x}
+set devices {}
+lappend devices sky130_fd_pr__npn_05v5_W1p00L1p00
+lappend devices sky130_fd_pr__npn_05v5_W1p00L2p00
+lappend devices sky130_fd_pr__php_05v5_W0p68L0p68
+lappend devices sky130_fd_pr__php_05v5_W3p40L3p40
+
#ifdef METAL5
-lappend devices balun xint4_011 xind4_02
-lappend devices sky130rf2_xcmvpp11p5x11p7_lim5shield
-lappend devices sky130rf2_xcmvpp11p5x11p7_m3_lim5shield
-lappend devices sky130rf2_xcmvpp11p5x11p7_m4shield
-lappend devices sky130rf2_xcmvpp11p5x11p7_polym4shield
-lappend devices sky130rf2_xcmvpp11p5x11p7_polym50p4shield
-lappend devices sky130rf2_xcmvpp4p4x4p6_m3_lim5shield
-lappend devices sky130rf2_xcmvpp6p8x6p1_lim4shield
-lappend devices sky130rf2_xcmvpp6p8x6p1_polym4shield
+lappend devices sky130_fd_pr__cap_vpp_11p5x11p7_lim5_shield
+lappend devices sky130_fd_pr__cap_vpp_11p5x11p7_m3_lim5_shield
+lappend devices sky130_fd_pr__cap_vpp_11p5x11p7_m4_shield
+lappend devices sky130_fd_pr__cap_vpp_11p5x11p7_pom4_shield
+lappend devices sky130_fd_pr__cap_vpp_4p4x4p6_m3_lim5_shield
+lappend devices sky130_fd_pr__cap_vpp_6p8x6p1_lim4_shield
+lappend devices sky130_fd_pr__cap_vpp_6p8x6p1_polym4_shield
#endif (METAL5)
-lappend devices sky130rf2_xcmvpp8p6x7p9_m3_lim5shield
-lappend devices sky130rf2_xcmvppx4_2xnhvnative10x4
-lappend devices sky130rf_xcmvpp11p5x11p7_m3_lishield
-lappend devices sky130rf_xcmvpp11p5x11p7_m3shield
-lappend devices sky130rf_xcmvpp1p8x1p8_lishield
-lappend devices sky130rf_xcmvpp1p8x1p8_m3shield
-lappend devices sky130rf_xcmvpp2
-lappend devices sky130rf_xcmvpp2_nwell
-lappend devices sky130rf_xcmvpp4p4x4p6_m3_lishield
-lappend devices sky130rf_xcmvpp4p4x4p6_m3shield
-lappend devices sky130rf_xcmvpp8p6x7p9_m3_lishield
-lappend devices sky130rf_xcmvpp8p6x7p9_m3shield
+lappend devices sky130_fd_pr__cap_vpp_8p6x7p9_m3_lim5_shield
+lappend devices sky130_fd_pr__cap_vpp_11p5x11p7_m3_li_shield
+lappend devices sky130_fd_pr__cap_vpp_11p5x11p7_m3_shield
+lappend devices sky130_fd_pr__cap_vpp_1p8x1p8_li_shield
+lappend devices sky130_fd_pr__cap_vpp_1p8x1p8_m3_shield
+lappend devices sky130_fd_pr__cap_vpp_4p4x4p6_m3_li_shield
+lappend devices sky130_fd_pr__cap_vpp_4p4x4p6_m3_shield
+lappend devices sky130_fd_pr__cap_vpp_8p6x7p9_m3_li_shield
+lappend devices sky130_fd_pr__cap_vpp_8p6x7p9_m3_shield
+#ifdef REDISTRIBUTION
+lappend devices sky130_fd_pr__ind_04_01
+lappend devices sky130_fd_pr__ind_04_02
+#endif (REDISTRIBUTION)
foreach dev $devices {
if {[lsearch $cells1 $dev] >= 0} {