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
 #-------------------------------------------
