Add SUBCKTs for some of the missing pads/fillers
diff --git a/sky130/custom/sky130_fd_io/cdl/sky130_ef_io.cdl b/sky130/custom/sky130_fd_io/cdl/sky130_ef_io.cdl
index ed68dd6..fcfe5a0 100644
--- a/sky130/custom/sky130_fd_io/cdl/sky130_ef_io.cdl
+++ b/sky130/custom/sky130_fd_io/cdl/sky130_ef_io.cdl
@@ -2,11 +2,11 @@
 * Includes corner and fill cell subcircuits
 
 *----------------------------------------------------------
-* sky130_ef_io__vccd_hvc_pad 
+* sky130_ef_io__vccd_hvc_pad
 * Power pad connects pad to VCCD with unconnected HV clamp
 *----------------------------------------------------------
 
-.SUBCKT sky130_ef_io__vccd_hvc_pad 
+.SUBCKT sky130_ef_io__vccd_hvc_pad
 + AMUXBUS_A AMUXBUS_B DRN_HVC
 + SRC_BDY_HVC VSSA VDDA VSWITCH VDDIO_Q VCCHIB VDDIO VCCD
 + VSSIO VSSD VSSIO_Q
@@ -22,7 +22,7 @@
 .ENDS
 
 *----------------------------------------------------------
-* sky130_ef_io__vccd_lvc_pad 
+* sky130_ef_io__vccd_lvc_pad
 * Power pad connects pad to VCCD with unconnected LV clamp
 *----------------------------------------------------------
 
@@ -42,7 +42,7 @@
 .ENDS
 
 *----------------------------------------------------------
-* sky130_ef_io__vdda_lvc_pad 
+* sky130_ef_io__vdda_lvc_pad
 * Power pad connects pad to VDDA with unconnected LV clamp
 *----------------------------------------------------------
 
@@ -64,11 +64,11 @@
 .ENDS
 
 *----------------------------------------------------------
-* sky130_ef_io__vdda_lvc_pad 
+* sky130_ef_io__vdda_lvc_pad
 * Power pad connects pad to VDDA with unconnected HV clamp
 *----------------------------------------------------------
 
-.SUBCKT sky130_ef_io__vdda_hvc_pad 
+.SUBCKT sky130_ef_io__vdda_hvc_pad
 + AMUXBUS_A AMUXBUS_B DRN_HVC
 + SRC_BDY_HVCVSSA VDDA VSWITCH VDDIO_Q VCCHIB VDDIO VCCD
 + VSSIO VSSD VSSIO_Q
@@ -84,7 +84,7 @@
 .ENDS
 
 *----------------------------------------------------------
-* sky130_ef_io__vddio_lvc_pad 
+* sky130_ef_io__vddio_lvc_pad
 * Power pad connects pad to VDDIO with unconnected LV clamp
 *----------------------------------------------------------
 
@@ -105,7 +105,7 @@
 .ENDS
 
 *----------------------------------------------------------
-* sky130_ef_io__vddio_hvc_pad 
+* sky130_ef_io__vddio_hvc_pad
 * Power pad connects pad to VDDIO with unconnected HV clamp
 *----------------------------------------------------------
 
@@ -125,7 +125,7 @@
 .ENDS
 
 *----------------------------------------------------------
-* sky130_ef_io__vssd_lvc_pad 
+* sky130_ef_io__vssd_lvc_pad
 * Ground pad connects pad to VSSD with unconnected LV clamp
 *----------------------------------------------------------
 
@@ -146,7 +146,7 @@
 .ENDS
 
 *----------------------------------------------------------
-* sky130_ef_io__vssd_hvc_pad 
+* sky130_ef_io__vssd_hvc_pad
 * Ground pad connects pad to VSSD with unconnected HV clamp
 *----------------------------------------------------------
 
@@ -166,7 +166,7 @@
 .ENDS
 
 *----------------------------------------------------------
-* sky130_ef_io__vssio_lvc_pad 
+* sky130_ef_io__vssio_lvc_pad
 * Ground pad connects pad to VSSIO with unconnected LV clamp
 *----------------------------------------------------------
 
@@ -187,7 +187,7 @@
 .ENDS
 
 *----------------------------------------------------------
-* sky130_ef_io__vssio_hvc_pad 
+* sky130_ef_io__vssio_hvc_pad
 * Ground pad connects pad to VSSIO with unconnected HV clamp
 *----------------------------------------------------------
 
@@ -207,7 +207,7 @@
 .ENDS
 
 *----------------------------------------------------------
-* sky130_ef_io__vssio_lvc_pad 
+* sky130_ef_io__vssio_lvc_pad
 * Ground pad connects pad to VSSIO with unconnected LV clamp
 *----------------------------------------------------------
 
@@ -228,7 +228,7 @@
 .ENDS
 
 *----------------------------------------------------------
-* sky130_ef_io__vssa_lvc_pad 
+* sky130_ef_io__vssa_lvc_pad
 * Ground pad connects pad to VSSA with unconnected HV clamp
 *----------------------------------------------------------
 
@@ -247,12 +247,12 @@
 .ENDS
 
 *----------------------------------------------------------
-* sky130_ef_io__corner_pad 
+* sky130_ef_io__corner_pad
 * Plain corner pad
 *----------------------------------------------------------
 
 .SUBCKT sky130_ef_io__corner_pad
-+ AMUXBUS_A AMUXBUS_B 
++ AMUXBUS_A AMUXBUS_B
 + VSSA VDDA VSWITCH VDDIO_Q VCCHIB VDDIO VCCD
 + VSSIO VSSD VSSIO_Q
 * Corner pad has no active circuitry
@@ -260,7 +260,7 @@
 
 *----------------------------------------------------------
 * sky130_fd_io__com_bus_slice
-* SkyWater padframe filler 
+* SkyWater padframe filler
 *----------------------------------------------------------
 
 .SUBCKT sky130_fd_io__com_bus_slice
@@ -272,7 +272,7 @@
 
 *----------------------------------------------------------
 * sky130_ef_io__com_bus_slice_1um
-* 1um wide padframe filler 
+* 1um wide padframe filler
 *----------------------------------------------------------
 
 .SUBCKT sky130_ef_io__com_bus_slice_1um
@@ -284,7 +284,7 @@
 
 *----------------------------------------------------------
 * sky130_ef_io__com_bus_slice_5um
-* 5um wide padframe filler 
+* 5um wide padframe filler
 *----------------------------------------------------------
 
 .SUBCKT sky130_ef_io__com_bus_slice_5um
@@ -296,7 +296,7 @@
 
 *----------------------------------------------------------
 * sky130_ef_io__com_bus_slice_10um
-* 10um wide padframe filler 
+* 10um wide padframe filler
 *----------------------------------------------------------
 
 .SUBCKT sky130_ef_io__com_bus_slice_10um
@@ -308,7 +308,7 @@
 
 *----------------------------------------------------------
 * sky130_ef_io__com_bus_slice_20um
-* 20um wide padframe filler 
+* 20um wide padframe filler
 *----------------------------------------------------------
 
 .SUBCKT sky130_ef_io__com_bus_slice_20um
@@ -319,6 +319,42 @@
 .ENDS
 
 *----------------------------------------------------------
+* sky130_ef_io__connect_vcchib_vccd_and_vswitch_vddio_slice_20um
+* A 20um-wide padframe filler that connects VCCHIB and VCCD as well as
+* VSWITCH and VDDIO
+*----------------------------------------------------------
+
+.SUBCKT sky130_ef_io__connect_vcchib_vccd_and_vswitch_vddio_slice_20um
++ AMUXBUS_A AMUXBUS_B
++ VSSA VDDA VDDIO_Q VDDIO VCCD VSSIO VSSD VSSIO_Q
+* Bus filler has no active circuitry
+.ENDS
+
+*----------------------------------------------------------
+* sky130_ef_io__disconnect_vdda_slice_5um
+* A 5um-wide padframe filler that doesn't connect VDDA
+* through it
+*----------------------------------------------------------
+
+.SUBCKT sky130_ef_io__disconnect_vdda_slice_5um
++ AMUXBUS_A AMUXBUS_B VSWITCH VDDIO_Q
++ VCCHIB VDDIO VCCD VSSIO VSSD VSSIO_Q
+* Bus filler has no active circuitry
+.ENDS
+
+*----------------------------------------------------------
+* sky130_ef_io__disconnect_vccd_slice_5um
+* A 5um-wide padframe filler that doesn't connect VCCD
+* through it
+*----------------------------------------------------------
+
+.SUBCKT sky130_ef_io__disconnect_vccd_slice_5um
++ AMUXBUS_A AMUXBUS_B VSSA VDDA VSWITCH
++ VDDIO_Q VCCHIB VDDIO VSSIO VSSIO_Q
+* Bus filler has no active circuitry
+.ENDS
+
+*----------------------------------------------------------
 * sky130_ef_io__gpiov2_pad
 * Wrapper around SkyWater gpiov2 pad
 *----------------------------------------------------------
@@ -329,7 +365,7 @@
 + ENABLE_INP_H OE_N TIE_HI_ESD TIE_LO_ESD SLOW VTRIP_SEL HLD_OVR
 + ANALOG_EN ANALOG_SEL ENABLE_VDDIO ENABLE_VSWITCH_H ANALOG_POL OUT
 + AMUXBUS_A AMUXBUS_B VSSA VDDA VSWITCH VDDIO_Q VCCHIB VDDIO VCCD
-+ VSSIO VSSD VSSIO_Q 
++ VSSIO VSSD VSSIO_Q
 
 * Instantiate original version with metal4-only power bus
 Xgpiov2_base
@@ -346,8 +382,32 @@
 
 .ENDS
 
+*----------------------------------------------------------
+* sky130_ef_io__gpiov2_pad_wrapped
+* Wrapper around sky130_ef_io__gpiov2_pad that forces
+* the core-facing pins on tracks
+*----------------------------------------------------------
+
+.SUBCKT sky130_ef_io__gpiov2_pad_wrapped
++ IN_H PAD_A_NOESD_H PAD_A_ESD_0_H PAD_A_ESD_1_H
++ PAD DM[2] DM[1] DM[0] HLD_H_N IN INP_DIS IB_MODE_SEL ENABLE_H ENABLE_VDDA_H
++ ENABLE_INP_H OE_N TIE_HI_ESD TIE_LO_ESD SLOW VTRIP_SEL HLD_OVR
++ ANALOG_EN ANALOG_SEL ENABLE_VDDIO ENABLE_VSWITCH_H ANALOG_POL OUT
++ AMUXBUS_A AMUXBUS_B VSSA VDDA VSWITCH VDDIO_Q VCCHIB VDDIO VCCD
++ VSSIO VSSD VSSIO_Q
+
+Xgpiov2_ef
++ IN_H PAD_A_NOESD_H PAD_A_ESD_0_H PAD_A_ESD_1_H
++ PAD DM[2] DM[1] DM[0] HLD_H_N IN INP_DIS IB_MODE_SEL ENABLE_H ENABLE_VDDA_H
++ ENABLE_INP_H OE_N TIE_HI_ESD TIE_LO_ESD SLOW VTRIP_SEL HLD_OVR
++ ANALOG_EN ANALOG_SEL ENABLE_VDDIO ENABLE_VSWITCH_H ANALOG_POL OUT
++ AMUXBUS_A AMUXBUS_B VSSA VDDA VSWITCH VDDIO_Q VCCHIB VDDIO VCCD
++ VSSIO VSSD VSSIO_Q sky130_ef_io__gpiov2_pad
+
+.ENDS
+
 *--------------------------------------------------------------------------
-* sky130_ef_io__vddio_hvc_clamped_pad 
+* sky130_ef_io__vddio_hvc_clamped_pad
 * sky130_ef_io__vddio_hvc_pad with HV clamp connections to VDDIO and VSSIO
 *--------------------------------------------------------------------------
 
@@ -367,7 +427,7 @@
 .ENDS
 
 *--------------------------------------------------------------------------
-* sky130_ef_io__vssio_hvc_clamped_pad 
+* sky130_ef_io__vssio_hvc_clamped_pad
 * sky130_ef_io__vssio_hvc_pad with HV clamp connections to VDDIO and VSSIO
 *--------------------------------------------------------------------------
 
@@ -387,7 +447,7 @@
 .ENDS
 
 *--------------------------------------------------------------------------
-* sky130_ef_io__vdda_hvc_clamped_pad 
+* sky130_ef_io__vdda_hvc_clamped_pad
 * sky130_ef_io__vdda_hvc_pad with HV clamp connections to VDDA and VSSA
 *--------------------------------------------------------------------------
 
@@ -407,7 +467,7 @@
 .ENDS
 
 *--------------------------------------------------------------------------
-* sky130_ef_io__vssa_hvc_clamped_pad 
+* sky130_ef_io__vssa_hvc_clamped_pad
 * sky130_ef_io__vssa_hvc_pad with HV clamp connections to VDDA and VSSA
 *--------------------------------------------------------------------------
 
@@ -427,7 +487,7 @@
 .ENDS
 
 *--------------------------------------------------------------------------
-* sky130_ef_io__vccd_lvc_clamped_pad 
+* sky130_ef_io__vccd_lvc_clamped_pad
 * sky130_ef_io__vccd_lvc_pad with LV clamp connections to VCCD/VSSIO and
 * VCCD/VSSD, and back-to-back diodes connecting VSSIO to VSSA
 *--------------------------------------------------------------------------
@@ -448,7 +508,7 @@
 .ENDS
 
 *--------------------------------------------------------------------------
-* sky130_ef_io__vssd_lvc_clamped_pad 
+* sky130_ef_io__vssd_lvc_clamped_pad
 * sky130_ef_io__vssd_lvc_pad with LV clamp connections to VCCD/VSSIO and
 * VCCD/VSSD, and back-to-back diodes connecting VSSIO to VSSA
 *--------------------------------------------------------------------------
@@ -469,7 +529,7 @@
 .ENDS
 
 *--------------------------------------------------------------------------
-* sky130_ef_io__vccd_lvc_clamped2_pad 
+* sky130_ef_io__vccd_lvc_clamped2_pad
 * sky130_ef_io__vccd_lvc_pad with LV clamp connections to VCCD and VSSD,
 * and back-to-back diodes connecting VSSD to VSSIO
 *--------------------------------------------------------------------------
@@ -490,7 +550,7 @@
 .ENDS
 
 *--------------------------------------------------------------------------
-* sky130_ef_io__vssd_lvc_clamped2_pad 
+* sky130_ef_io__vssd_lvc_clamped2_pad
 * sky130_ef_io__vssd_lvc_pad with LV clamp connections to VCCD and VSSD,
 * and back-to-back diodes connecting VSSD to VSSIO
 *--------------------------------------------------------------------------