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/VERSION b/VERSION
index e8eb7f1..ffcbe71 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.0.33
+1.0.34
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} {