diff --git a/VERSION b/VERSION
index ac4052b..9643e09 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.0.261
+1.0.262
diff --git a/sky130/custom/sky130_fd_io/spice/sky130_fd_io.spice b/sky130/custom/sky130_fd_io/spice/sky130_fd_io.spice
index da3871a..218e648 100644
--- a/sky130/custom/sky130_fd_io/spice/sky130_fd_io.spice
+++ b/sky130/custom/sky130_fd_io/spice/sky130_fd_io.spice
@@ -6362,8 +6362,8 @@
 + sa=0.0 sb=0.0 sd=0.0 topography=normal area=0.048 perim=0.94
 * RI9 net18 NBODY short
 * RI8 net16 NWELLRING short
-RI9 net18 NBODY sky130_fd_pr__res_generic_m1
-RI8 net16 NWELLRING sky130_fd_pr__res_generic_m1
+RI9 net18 NBODY sky130_fd_pr__res_generic_m1 W=0.02 L=0.005
+RI8 net16 NWELLRING sky130_fd_pr__res_generic_m1 W=0.02 L=0.005
 .ENDS sky130_fd_io__signal_5_sym_hv_local_5term
 
 * Copyright 2020 The SkyWater PDK Authors
@@ -6782,8 +6782,8 @@
 *.PININFO A:B B:B
 * RI1 A net11 short
 * RI2 B net7 short
-RI1 A net11 sky130_fd_pr__res_generic_m1
-RI2 B net7 sky130_fd_pr__res_generic_m1
+RI1 A net11 sky130_fd_pr__res_generic_m1 W=0.66 L=0.01
+RI2 B net7 sky130_fd_pr__res_generic_m1 W=0.66 L=0.01
 .ENDS sky130_fd_io__tk_em1o
 
 
@@ -6807,8 +6807,8 @@
 *.PININFO A:B B:B
 * RI1 A net8 short
 * RI2 B net8 short
-RI1 A net8 sky130_fd_pr__res_generic_m1
-RI2 B net8 sky130_fd_pr__res_generic_m1
+RI1 A net8 sky130_fd_pr__res_generic_m1 W=0.66 L=0.01
+RI2 B net8 sky130_fd_pr__res_generic_m1 W=0.66 L=0.01
 .ENDS sky130_fd_io__tk_em1s
 
 
@@ -6832,8 +6832,8 @@
 *.PININFO A:B B:B
 * RI1 A net11 short
 * RI2 B net7 short
-RI1 A net11 sky130_fd_pr__res_generic_m2
-RI2 B net7 sky130_fd_pr__res_generic_m2
+RI1 A net11 sky130_fd_pr__res_generic_m2 W=0.26 L=0.01
+RI2 B net7 sky130_fd_pr__res_generic_m2 W=0.26 L=0.01
 .ENDS sky130_fd_io__tk_em2o
 
 * Copyright 2020 The SkyWater PDK Authors
@@ -6856,8 +6856,8 @@
 *.PININFO A:B B:B
 * RI1 A net8 short
 * RI2 B net8 short
-RI1 A net8 sky130_fd_pr__res_generic_m2
-RI2 B net8 sky130_fd_pr__res_generic_m2
+RI1 A net8 sky130_fd_pr__res_generic_m2 W=0.26 L=0.01
+RI2 B net8 sky130_fd_pr__res_generic_m2 W=0.26 L=0.01
 .ENDS sky130_fd_io__tk_em2s
 
 * Copyright 2020 The SkyWater PDK Authors
@@ -7101,9 +7101,9 @@
 * RS0<2> PAD PAD_A_NOESD_H short
 * RS0<1> PAD PAD_A_NOESD_H short
 * RS0<0> PAD PAD_A_NOESD_H short
-RS0<2> PAD PAD_A_NOESD_H sky130_fd_pr__res_generic_m4
-RS0<1> PAD PAD_A_NOESD_H sky130_fd_pr__res_generic_m3
-RS0<0> PAD PAD_A_NOESD_H sky130_fd_pr__res_generic_m3
+RS0<2> PAD PAD_A_NOESD_H sky130_fd_pr__res_generic_m4 W=1 L=1
+RS0<1> PAD PAD_A_NOESD_H sky130_fd_pr__res_generic_m3 W=1 L=1
+RS0<0> PAD PAD_A_NOESD_H sky130_fd_pr__res_generic_m3 W=1 L=1
 .ENDS sky130_fd_io__top_gpiov2
 
 
@@ -7151,7 +7151,7 @@
 Xpre_p1_q0 g_nclamp g_pdpre DRN_HVC DRN_HVC sky130_fd_pr__pfet_g5v0d10v5 m=50
 + w=7.0 l=0.5 mult=1 sa=0.265 sb=0.265 sd=0.28 topography=normal area=0.063
 + perim=1.14
-RI13 G_PAD G_CORE sky130_fd_pr__res_generic_m5
+RI13 G_PAD G_CORE sky130_fd_pr__res_generic_m5 W=1 L=1
 .ENDS sky130_fd_io__top_ground_hvc_wpad
 
 * Copyright 2020 The SkyWater PDK Authors
@@ -7240,7 +7240,7 @@
 Xcxtor2_q0 DRN_HVC g_nclamp SRC_BDY_HVC SRC_BDY_HVC sky130_fd_pr__nfet_g5v0d10v5
 + m=22 w=10.0 l=0.5 mult=1 sa=0.265 sb=0.265 sd=0.28 topography=normal area=0.063
 + perim=1.14
-RI13 P_PAD P_CORE sky130_fd_pr__res_generic_m5
+RI13 P_PAD P_CORE sky130_fd_pr__res_generic_m5 W=1 L=1
 .ENDS sky130_fd_io__top_power_hvc_wpadv2
 
 * Copyright 2020 The SkyWater PDK Authors
@@ -7651,8 +7651,8 @@
 *.PININFO A:B
 * RI2 A net7 short
 * RI1 A net2 short
-RI2 A net7 sky130_fd_pr__res_generic_m1
-RI1 A net2 sky130_fd_pr__res_generic_m1
+RI2 A net7 sky130_fd_pr__res_generic_m1 W=0.66 L=0.01
+RI1 A net2 sky130_fd_pr__res_generic_m1 W=0.66 L=0.01
 .ENDS sky130_fd_io__xres_tk_emlc
 
 * Copyright 2020 The SkyWater PDK Authors
@@ -7675,8 +7675,8 @@
 *.PININFO A:B B:B
 * RI2 B net8 short
 * RI1 A net3 short
-RI2 B net8 sky130_fd_pr__res_generic_m1
-RI1 A net3 sky130_fd_pr__res_generic_m1
+RI2 B net8 sky130_fd_pr__res_generic_m1 W=0.66 L=0.01
+RI1 A net3 sky130_fd_pr__res_generic_m1 W=0.66 L=0.01
 .ENDS sky130_fd_io__xres_tk_emlo
 
 * Copyright 2020 The SkyWater PDK Authors
@@ -7727,7 +7727,7 @@
 Xesd_q0 BDY2_B2B SRC_BDY_LVC1 VSSD sky130_fd_io__gnd2gnd_120x2_lv_isosub
 xI54 SRC_BDY_LVC2 VDDIO sky130_fd_io__condiode
 xI50 SRC_BDY_LVC1 VDDIO sky130_fd_io__condiode
-RI21 G_PAD G_CORE sky130_fd_pr__res_generic_m5
+RI21 G_PAD G_CORE sky130_fd_pr__res_generic_m5 W=1 L=1
 Xpre_p1_q0 g_nclamp_lvc1 g_pdpre_lvc1 DRN_LVC1 DRN_LVC1 sky130_fd_pr__pfet_01v8
 + m=20 w=7.0 l=0.18 mult=1 sa=0.265 sb=0.265 sd=0.28 topography=normal area=0.063
 + perim=1.14
@@ -7797,7 +7797,7 @@
 Xesd_q0 BDY2_B2B SRC_BDY_LVC1 VSSD sky130_fd_io__gnd2gnd_120x2_lv_isosub
 xI54 SRC_BDY_LVC2 VDDIO sky130_fd_io__condiode
 xI50 SRC_BDY_LVC1 VDDIO sky130_fd_io__condiode
-RI21 P_PAD P_CORE sky130_fd_pr__res_generic_m5
+RI21 P_PAD P_CORE sky130_fd_pr__res_generic_m5 W=1 L=1
 Xpre_p1_q0 g_nclamp_lvc1 g_pdpre_lvc1 DRN_LVC1 DRN_LVC1 sky130_fd_pr__pfet_01v8
 + m=20 w=7.0 l=0.18 mult=1 sa=0.265 sb=0.265 sd=0.28 topography=normal area=0.063
 + perim=1.14
diff --git a/sky130/custom/sky130_fd_io/verilog/sky130_ef_io.v b/sky130/custom/sky130_fd_io/verilog/sky130_ef_io.v
index 7587ab0..0cbdecc 100644
--- a/sky130/custom/sky130_fd_io/verilog/sky130_ef_io.v
+++ b/sky130/custom/sky130_fd_io/verilog/sky130_ef_io.v
@@ -878,7 +878,7 @@
 	.VSSIO_Q(VSSIO_Q),
 	.G_CORE(VSSIO),
 	.G_PAD(VSSIO_PAD),
-	.OGC_HVC(),
+	.OGC_HVC(VDDIO),
 	.AMUXBUS_A(AMUXBUS_A),
 	.AMUXBUS_B(AMUXBUS_B),
 	.DRN_HVC(VDDIO),
diff --git a/sky130/magic/sky130.tcl b/sky130/magic/sky130.tcl
index 59bbc67..bce3ec2 100644
--- a/sky130/magic/sky130.tcl
+++ b/sky130/magic/sky130.tcl
@@ -198,9 +198,9 @@
    magic::add_toolkit_command $layoutframe "vpp 11.5x11.7 m1-m2" \
 	    "magic::gencell sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m1m2_noshield" pdk2
    magic::add_toolkit_command $layoutframe "vpp 8.6x7.8 m1-m2 l1 shield" \
-	    "magic::gencell sky130::sky130_fd_pr__cap_vpp_08p6x07p8_m1m2_l1shield" pdk2
+	    "magic::gencell sky130::sky130_fd_pr__cap_vpp_08p6x07p8_m1m2_shieldl1" pdk2
    magic::add_toolkit_command $layoutframe "vpp 4.4x4.6 m1-m2 l1 shield" \
-	    "magic::gencell sky130::sky130_fd_pr__cap_vpp_04p4x04p6_m1m2_l1shield" pdk2
+	    "magic::gencell sky130::sky130_fd_pr__cap_vpp_04p4x04p6_m1m2_shieldl1" pdk2
 
    # Additional DRC style for routing only---add this to the DRC menu
    ${layoutframe}.titlebar.mbuttons.drc.toolmenu add command -label "DRC Routing" -command {drc style drc(routing)}
@@ -6589,8 +6589,8 @@
 #
 # sky130_fd_pr__cap_vpp_11p5x11p7_m1m2m3m4_shieldlim5
 # sky130_fd_pr__cap_vpp_11p5x11p7_m1m2_noshield
-# sky130_fd_pr__cap_vpp_08p6x07p8_m1m2_lishield
-# sky130_fd_pr__cap_vpp_04p4x04p6_m1m2_lishield
+# sky130_fd_pr__cap_vpp_08p6x07p8_m1m2_shieldl1
+# sky130_fd_pr__cap_vpp_04p4x04p6_m1m2_shieldl1
 #
 # Inductors:
 #
@@ -6613,13 +6613,13 @@
     return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 6.44 ystep 6.44}
 }
 
-proc sky130::sky130_fd_pr__rf_test_coil1 {} {
+proc sky130::sky130_fd_pr__rf_test_coil1_defaults {} {
     return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 258 ystep 258}
 }
-proc sky130::sky130_fd_pr__rf_test_coil2 {} {
+proc sky130::sky130_fd_pr__rf_test_coil2_defaults {} {
     return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 290 ystep 404}
 }
-proc sky130::sky130_fd_pr__rf_test_coil3 {} {
+proc sky130::sky130_fd_pr__rf_test_coil3_defaults {} {
     return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 290 ystep 404}
 }
 
@@ -6629,10 +6629,10 @@
 proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m1m2_noshield_defaults {} {
     return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 11.08 ystep 11.36}
 }
-proc sky130::sky130_fd_pr__cap_vpp_08p6x07p8_m1m2_lishield_defaults {} {
+proc sky130::sky130_fd_pr__cap_vpp_08p6x07p8_m1m2_shieldl1_defaults {} {
     return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 11.08 ystep 11.36}
 }
-proc sky130::sky130_fd_pr__cap_vpp_04p4x04p6_m1m2_lishield_defaults {} {
+proc sky130::sky130_fd_pr__cap_vpp_04p4x04p6_m1m2_shieldl1_defaults {} {
     return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 11.08 ystep 11.36}
 }
 
@@ -6670,15 +6670,15 @@
     return [sky130::fixed_convert $parameters]
 }
 
-proc sky130::sky130_fd_pr__rf_test_coil1 {parameters} {
+proc sky130::sky130_fd_pr__rf_test_coil1_convert {parameters} {
     return [sky130::fixed_convert $parameters]
 }
 
-proc sky130::sky130_fd_pr__rf_test_coil2 {parameters} {
+proc sky130::sky130_fd_pr__rf_test_coil2_convert {parameters} {
     return [sky130::fixed_convert $parameters]
 }
 
-proc sky130::sky130_fd_pr__rf_test_coil3 {parameters} {
+proc sky130::sky130_fd_pr__rf_test_coil3_convert {parameters} {
     return [sky130::fixed_convert $parameters]
 }
 
@@ -6688,10 +6688,10 @@
 proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m1m2_noshield_convert {parameters} {
     return [sky130::fixed_convert $parameters]
 }
-proc sky130::sky130_fd_pr__cap_vpp_08p6x07p8_m1m2_lishield_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_08p6x07p8_m1m2_shieldl1_convert {parameters} {
     return [sky130::fixed_convert $parameters]
 }
-proc sky130::sky130_fd_pr__cap_vpp_04p4x04p6_m1m2_lishield_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_04p4x04p6_m1m2_shieldl1_convert {parameters} {
     return [sky130::fixed_convert $parameters]
 }
 
@@ -6754,15 +6754,15 @@
     sky130::fixed_dialog $parameters
 }
 
-proc sky130::sky130_fd_pr__rf_test_coil1 {parameters} {
+proc sky130::sky130_fd_pr__rf_test_coil1_dialog {parameters} {
     sky130::fixed_dialog $parameters
 }
 
-proc sky130::sky130_fd_pr__rf_test_coil2 {parameters} {
+proc sky130::sky130_fd_pr__rf_test_coil2_dialog {parameters} {
     sky130::fixed_dialog $parameters
 }
 
-proc sky130::sky130_fd_pr__rf_test_coil3 {parameters} {
+proc sky130::sky130_fd_pr__rf_test_coil3_dialog {parameters} {
     sky130::fixed_dialog $parameters
 }
 
@@ -6772,10 +6772,10 @@
 proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m1m2_noshield_dialog {parameters} {
     sky130::fixed_dialog $parameters
 }
-proc sky130::sky130_fd_pr__cap_vpp_08p6x07p8_m1m2_lishield_dialog {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_08p6x07p8_m1m2_shieldl1_dialog {parameters} {
     sky130::fixed_dialog $parameters
 }
-proc sky130::sky130_fd_pr__cap_vpp_04p4x04p6_m1m2_lishield_dialog {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_04p4x04p6_m1m2_shieldl1_dialog {parameters} {
     sky130::fixed_dialog $parameters
 }
 
@@ -6833,15 +6833,15 @@
     return [sky130::fixed_draw sky130_fd_pr__rf_pnp_05v5_W3p40L3p40 $parameters]
 }
 
-proc sky130::sky130_fd_pr__rf_test_coil1 {parameters} {
+proc sky130::sky130_fd_pr__rf_test_coil1_draw {parameters} {
     return [sky130::fixed_draw sky130_fd_pr__rf_test_coil1 $parameters]
 }
 
-proc sky130::sky130_fd_pr__rf_test_coil2 {parameters} {
+proc sky130::sky130_fd_pr__rf_test_coil2_draw {parameters} {
     return [sky130::fixed_draw sky130_fd_pr__rf_test_coil2 $parameters]
 }
 
-proc sky130::sky130_fd_pr__rf_test_coil3 {parameters} {
+proc sky130::sky130_fd_pr__rf_test_coil3_draw {parameters} {
     return [sky130::fixed_draw sky130_fd_pr__rf_test_coil3 $parameters]
 }
 
@@ -6851,11 +6851,11 @@
 proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m1m2_noshield_draw {parameters} {
     return [sky130::fixed_draw sky130_fd_pr__cap_vpp_11p5x11p7_m1m2_noshield $parameters]
 }
-proc sky130::sky130_fd_pr__cap_vpp_08p6x07p8_m1m2_lishield_draw {parameters} {
-    return [sky130::fixed_draw sky130_fd_pr__cap_vpp_08p6x07p8_m1m2_lishield $parameters]
+proc sky130::sky130_fd_pr__cap_vpp_08p6x07p8_m1m2_shieldl1_draw {parameters} {
+    return [sky130::fixed_draw sky130_fd_pr__cap_vpp_08p6x07p8_m1m2_shieldl1 $parameters]
 }
-proc sky130::sky130_fd_pr__cap_vpp_04p4x04p6_m1m2_lishield_draw {parameters} {
-    return [sky130::fixed_draw sky130_fd_pr__cap_vpp_04p4x04p6_m1m2_lishield $parameters]
+proc sky130::sky130_fd_pr__cap_vpp_04p4x04p6_m1m2_shieldl1_draw {parameters} {
+    return [sky130::fixed_draw sky130_fd_pr__cap_vpp_04p4x04p6_m1m2_shieldl1 $parameters]
 }
 
 #----------------------------------------------------------------
@@ -6924,15 +6924,15 @@
     return [sky130::fixed_check $parameters]
 }
 
-proc sky130::sky130_fd_pr__rf_test_coil1 {parameters} {
+proc sky130::sky130_fd_pr__rf_test_coil1_check {parameters} {
     return [sky130::fixed_check $parameters]
 }
 
-proc sky130::sky130_fd_pr__rf_test_coil2 {parameters} {
+proc sky130::sky130_fd_pr__rf_test_coil2_check {parameters} {
     return [sky130::fixed_check $parameters]
 }
 
-proc sky130::sky130_fd_pr__rf_test_coil3 {parameters} {
+proc sky130::sky130_fd_pr__rf_test_coil3_check {parameters} {
     return [sky130::fixed_check $parameters]
 }
 
@@ -6942,9 +6942,9 @@
 proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m1m2_noshield_check {parameters} {
     return [sky130::fixed_check $parameters]
 }
-proc sky130::sky130_fd_pr__cap_vpp_08p6x07p8_m1m2_lishield_check {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_08p6x07p8_m1m2_shieldl1_check {parameters} {
     return [sky130::fixed_check $parameters]
 }
-proc sky130::sky130_fd_pr__cap_vpp_04p4x04p6_m1m2_lishield_check {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_04p4x04p6_m1m2_shieldl1_check {parameters} {
     return [sky130::fixed_check $parameters]
 }
diff --git a/sky130/netgen/sky130_setup.tcl b/sky130/netgen/sky130_setup.tcl
index 5270e2f..264e2c7 100644
--- a/sky130/netgen/sky130_setup.tcl
+++ b/sky130/netgen/sky130_setup.tcl
@@ -146,8 +146,6 @@
 lappend devices sky130_fd_pr__nfet_20v0_nvt
 lappend devices sky130_fd_pr__nfet_20v0
 lappend devices sky130_fd_pr__pfet_20v0
-lappend devices sky130_fd_pr__esd_nfet_g5v0d10v5
-lappend devices sky130_fd_pr__esd_pfet_g5v0d10v5
 
 foreach dev $devices {
     if {[lsearch $cells1 $dev] >= 0} {
@@ -170,6 +168,36 @@
     }
 }
 
+#---------------------------------------------------------------------
+# (MOS) ESD transistors.  Note that the ESD transistors have a flanged
+# gate.  Magic disagrees slightly on how to interpret the width of the
+# devices, so the tolerance is increased to 7% to cover the difference
+#---------------------------------------------------------------------
+
+lappend devices sky130_fd_pr__esd_nfet_g5v0d10v5
+lappend devices sky130_fd_pr__esd_pfet_g5v0d10v5
+
+foreach dev $devices {
+    if {[lsearch $cells1 $dev] >= 0} {
+	permute "-circuit1 $dev" 1 3
+	property "-circuit1 $dev" parallel enable
+	property "-circuit1 $dev" parallel {l critical}
+	property "-circuit1 $dev" parallel {w add}
+	property "-circuit1 $dev" tolerance {w 0.07} {l 0.01}
+	# Ignore these properties
+	property "-circuit1 $dev" delete as ad ps pd mult sa sb sd nf nrd nrs area perim topography
+    }
+    if {[lsearch $cells2 $dev] >= 0} {
+	permute "-circuit2 $dev" 1 3
+	property "-circuit2 $dev" parallel enable
+	property "-circuit2 $dev" parallel {l critical}
+	property "-circuit2 $dev" parallel {w add}
+	property "-circuit2 $dev" tolerance {w 0.07} {l 0.01}
+	# Ignore these properties
+	property "-circuit2 $dev" delete as ad ps pd mult sa sb sd nf nrd nrs area perim topography
+    }
+}
+
 #-------------------------------------------
 # diodes
 #-------------------------------------------
