Added more macros under GL

- updated chip_io.v GL
- renamed user_id_programming power ports to match the GL
diff --git a/verilog/gl/chip_io.v b/verilog/gl/chip_io.v
index b6b5e70..9fcb5ac 100644
--- a/verilog/gl/chip_io.v
+++ b/verilog/gl/chip_io.v
@@ -824,6 +824,8 @@
   wire vssio_q;
   wire xresloop;
   sky130_ef_io__gpiov2_pad_wrapped clock_pad (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(vssd),
     .ANALOG_POL(vssd),
     .ANALOG_SEL(vssd),
@@ -841,15 +843,28 @@
     .IN_H(),
     .OE_N(vccd),
     .OUT(vssd),
+    .PAD(clock),
     .PAD_A_ESD_0_H(),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(vssd),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(loop_clock),
+    .VCCD(vccd),
+    .VCCHIB(vccd),
+    .VDDA(vdda),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa),
+    .VSSD(vssd),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(vssd)
   );
   sky130_ef_io__gpiov2_pad_wrapped flash_clk_pad (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(vssd),
     .ANALOG_POL(vssd),
     .ANALOG_SEL(vssd),
@@ -867,15 +882,28 @@
     .IN_H(),
     .OE_N(flash_clk_oeb_core),
     .OUT(flash_clk_core),
+    .PAD(flash_clk),
     .PAD_A_ESD_0_H(),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(vssd),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(loop_flash_clk),
+    .VCCD(vccd),
+    .VCCHIB(vccd),
+    .VDDA(vdda),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa),
+    .VSSD(vssd),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(vssd)
   );
   sky130_ef_io__gpiov2_pad_wrapped flash_csb_pad (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(vssd),
     .ANALOG_POL(vssd),
     .ANALOG_SEL(vssd),
@@ -893,15 +921,28 @@
     .IN_H(),
     .OE_N(flash_csb_oeb_core),
     .OUT(flash_csb_core),
+    .PAD(flash_csb),
     .PAD_A_ESD_0_H(),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(vssd),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(loop_flash_csb),
+    .VCCD(vccd),
+    .VCCHIB(vccd),
+    .VDDA(vdda),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa),
+    .VSSD(vssd),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(vssd)
   );
   sky130_ef_io__gpiov2_pad_wrapped flash_io0_pad (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(vssd),
     .ANALOG_POL(vssd),
     .ANALOG_SEL(vssd),
@@ -919,15 +960,28 @@
     .IN_H(),
     .OE_N(flash_io0_oeb_core),
     .OUT(flash_io0_do_core),
+    .PAD(flash_io0),
     .PAD_A_ESD_0_H(),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(vssd),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(loop_flash_io0),
+    .VCCD(vccd),
+    .VCCHIB(vccd),
+    .VDDA(vdda),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa),
+    .VSSD(vssd),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(vssd)
   );
   sky130_ef_io__gpiov2_pad_wrapped flash_io1_pad (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(vssd),
     .ANALOG_POL(vssd),
     .ANALOG_SEL(vssd),
@@ -945,15 +999,28 @@
     .IN_H(),
     .OE_N(flash_io1_oeb_core),
     .OUT(flash_io1_do_core),
+    .PAD(flash_io1),
     .PAD_A_ESD_0_H(),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(vssd),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(loop_flash_io1),
+    .VCCD(vccd),
+    .VCCHIB(vccd),
+    .VDDA(vdda),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa),
+    .VSSD(vssd),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(vssd)
   );
   sky130_ef_io__gpiov2_pad_wrapped gpio_pad (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(vssd),
     .ANALOG_POL(vssd),
     .ANALOG_SEL(vssd),
@@ -971,67 +1038,190 @@
     .IN_H(),
     .OE_N(gpio_outenb_core),
     .OUT(gpio_out_core),
+    .PAD(gpio),
     .PAD_A_ESD_0_H(),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(vssd),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(loop_gpio),
+    .VCCD(vccd),
+    .VCCHIB(vccd),
+    .VDDA(vdda),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa),
+    .VSSD(vssd),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(vssd)
   );
   sky130_ef_io__corner_pad \mgmt_corner[0]  (
-    .VCCHIB()
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
+    .VCCD(vccd),
+    .VCCHIB(vccd),
+    .VDDA(vdda),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa),
+    .VSSD(vssd),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio)
   );
   sky130_ef_io__corner_pad \mgmt_corner[1]  (
-    .VCCHIB()
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
+    .VCCD(vccd),
+    .VCCHIB(vccd),
+    .VDDA(vdda),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa),
+    .VSSD(vssd),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio)
   );
   sky130_ef_io__vccd_lvc_pad mgmt_vccd_lvclamp_pad (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .BDY2_B2B(vssa),
     .DRN_LVC1(vccd),
     .DRN_LVC2(vccd),
     .SRC_BDY_LVC1(vssio),
     .SRC_BDY_LVC2(vssd),
-    .VCCD(vccd)
+    .VCCD(vccd),
+    .VCCHIB(vccd),
+    .VDDA(vdda),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa),
+    .VSSD(vssd),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio)
   );
   sky130_ef_io__vdda_hvc_pad mgmt_vdda_hvclamp_pad (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .DRN_HVC(vdda),
     .SRC_BDY_HVC(vssa),
-    .VDDA(vdda)
+    .VCCD(vccd),
+    .VCCHIB(vccd),
+    .VDDA(vdda),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa),
+    .VSSD(vssd),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio)
   );
   sky130_ef_io__vddio_hvc_pad \mgmt_vddio_hvclamp_pad[0]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .DRN_HVC(vddio),
     .SRC_BDY_HVC(vssio),
-    .VDDIO(vddio)
+    .VCCD(vccd),
+    .VCCHIB(vccd),
+    .VDDA(vdda),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa),
+    .VSSD(vssd),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio)
   );
   sky130_ef_io__vddio_hvc_pad \mgmt_vddio_hvclamp_pad[1]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .DRN_HVC(vddio),
     .SRC_BDY_HVC(vssio),
-    .VDDIO(vddio)
+    .VCCD(vccd2),
+    .VCCHIB(vccd),
+    .VDDA(vdda2),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa2),
+    .VSSD(vssd2),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio)
   );
   sky130_ef_io__vssa_hvc_pad mgmt_vssa_hvclamp_pad (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .DRN_HVC(vdda),
     .SRC_BDY_HVC(vssa),
-    .VSSA(vssa)
+    .VCCD(vccd),
+    .VCCHIB(vccd),
+    .VDDA(vdda),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa),
+    .VSSD(vssd),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio)
   );
   sky130_ef_io__vssd_lvc_pad mgmt_vssd_lvclmap_pad (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .BDY2_B2B(vssa),
     .DRN_LVC1(vccd),
     .DRN_LVC2(vccd),
     .SRC_BDY_LVC1(vssio),
     .SRC_BDY_LVC2(vssd),
-    .VSSD(vssd)
+    .VCCD(vccd),
+    .VCCHIB(vccd),
+    .VDDA(vdda),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa),
+    .VSSD(vssd),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio)
   );
   sky130_ef_io__vssio_hvc_pad \mgmt_vssio_hvclamp_pad[0]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .DRN_HVC(vddio),
     .SRC_BDY_HVC(vssio),
-    .VSSIO(vssio)
+    .VCCD(vccd),
+    .VCCHIB(vccd),
+    .VDDA(vdda),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa),
+    .VSSD(vssd),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio)
   );
   sky130_ef_io__vssio_hvc_pad \mgmt_vssio_hvclamp_pad[1]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .DRN_HVC(vddio),
     .SRC_BDY_HVC(vssio),
-    .VSSIO(vssio)
+    .VCCD(vccd2),
+    .VCCHIB(vccd),
+    .VDDA(vdda2),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa2),
+    .VSSD(vssd2),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio)
   );
   sky130_ef_io__gpiov2_pad_wrapped \mprj_pads.area1_io_pad[0]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(mprj_io_analog_en[0]),
     .ANALOG_POL(mprj_io_analog_pol[0]),
     .ANALOG_SEL(mprj_io_analog_sel[0]),
@@ -1049,15 +1239,28 @@
     .IN_H(),
     .OE_N(mprj_io_oeb[0]),
     .OUT(mprj_io_out[0]),
+    .PAD(mprj_io[0]),
     .PAD_A_ESD_0_H(\mprj_pads.no_connect[0] ),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(mprj_io_slow_sel[0]),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(\mprj_pads.loop1_io[0] ),
+    .VCCD(vccd1),
+    .VCCHIB(vccd),
+    .VDDA(vdda1),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa1),
+    .VSSD(vssd1),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(mprj_io_vtrip_sel[0])
   );
   sky130_ef_io__gpiov2_pad_wrapped \mprj_pads.area1_io_pad[10]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(mprj_io_analog_en[10]),
     .ANALOG_POL(mprj_io_analog_pol[10]),
     .ANALOG_SEL(mprj_io_analog_sel[10]),
@@ -1075,15 +1278,28 @@
     .IN_H(),
     .OE_N(mprj_io_oeb[10]),
     .OUT(mprj_io_out[10]),
+    .PAD(mprj_io[10]),
     .PAD_A_ESD_0_H(mprj_analog_io[3]),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(mprj_io_slow_sel[10]),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(\mprj_pads.loop1_io[10] ),
+    .VCCD(vccd1),
+    .VCCHIB(vccd),
+    .VDDA(vdda1),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa1),
+    .VSSD(vssd1),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(mprj_io_vtrip_sel[10])
   );
   sky130_ef_io__gpiov2_pad_wrapped \mprj_pads.area1_io_pad[11]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(mprj_io_analog_en[11]),
     .ANALOG_POL(mprj_io_analog_pol[11]),
     .ANALOG_SEL(mprj_io_analog_sel[11]),
@@ -1101,15 +1317,28 @@
     .IN_H(),
     .OE_N(mprj_io_oeb[11]),
     .OUT(mprj_io_out[11]),
+    .PAD(mprj_io[11]),
     .PAD_A_ESD_0_H(mprj_analog_io[4]),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(mprj_io_slow_sel[11]),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(\mprj_pads.loop1_io[11] ),
+    .VCCD(vccd1),
+    .VCCHIB(vccd),
+    .VDDA(vdda1),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa1),
+    .VSSD(vssd1),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(mprj_io_vtrip_sel[11])
   );
   sky130_ef_io__gpiov2_pad_wrapped \mprj_pads.area1_io_pad[12]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(mprj_io_analog_en[12]),
     .ANALOG_POL(mprj_io_analog_pol[12]),
     .ANALOG_SEL(mprj_io_analog_sel[12]),
@@ -1127,15 +1356,28 @@
     .IN_H(),
     .OE_N(mprj_io_oeb[12]),
     .OUT(mprj_io_out[12]),
+    .PAD(mprj_io[12]),
     .PAD_A_ESD_0_H(mprj_analog_io[5]),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(mprj_io_slow_sel[12]),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(\mprj_pads.loop1_io[12] ),
+    .VCCD(vccd1),
+    .VCCHIB(vccd),
+    .VDDA(vdda1),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa1),
+    .VSSD(vssd1),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(mprj_io_vtrip_sel[12])
   );
   sky130_ef_io__gpiov2_pad_wrapped \mprj_pads.area1_io_pad[13]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(mprj_io_analog_en[13]),
     .ANALOG_POL(mprj_io_analog_pol[13]),
     .ANALOG_SEL(mprj_io_analog_sel[13]),
@@ -1153,15 +1395,28 @@
     .IN_H(),
     .OE_N(mprj_io_oeb[13]),
     .OUT(mprj_io_out[13]),
+    .PAD(mprj_io[13]),
     .PAD_A_ESD_0_H(mprj_analog_io[6]),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(mprj_io_slow_sel[13]),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(\mprj_pads.loop1_io[13] ),
+    .VCCD(vccd1),
+    .VCCHIB(vccd),
+    .VDDA(vdda1),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa1),
+    .VSSD(vssd1),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(mprj_io_vtrip_sel[13])
   );
   sky130_ef_io__gpiov2_pad_wrapped \mprj_pads.area1_io_pad[14]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(mprj_io_analog_en[14]),
     .ANALOG_POL(mprj_io_analog_pol[14]),
     .ANALOG_SEL(mprj_io_analog_sel[14]),
@@ -1179,15 +1434,28 @@
     .IN_H(),
     .OE_N(mprj_io_oeb[14]),
     .OUT(mprj_io_out[14]),
+    .PAD(mprj_io[14]),
     .PAD_A_ESD_0_H(mprj_analog_io[7]),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(mprj_io_slow_sel[14]),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(\mprj_pads.loop1_io[14] ),
+    .VCCD(vccd1),
+    .VCCHIB(vccd),
+    .VDDA(vdda1),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa1),
+    .VSSD(vssd1),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(mprj_io_vtrip_sel[14])
   );
   sky130_ef_io__gpiov2_pad_wrapped \mprj_pads.area1_io_pad[15]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(mprj_io_analog_en[15]),
     .ANALOG_POL(mprj_io_analog_pol[15]),
     .ANALOG_SEL(mprj_io_analog_sel[15]),
@@ -1205,15 +1473,28 @@
     .IN_H(),
     .OE_N(mprj_io_oeb[15]),
     .OUT(mprj_io_out[15]),
+    .PAD(mprj_io[15]),
     .PAD_A_ESD_0_H(mprj_analog_io[8]),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(mprj_io_slow_sel[15]),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(\mprj_pads.loop1_io[15] ),
+    .VCCD(vccd1),
+    .VCCHIB(vccd),
+    .VDDA(vdda1),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa1),
+    .VSSD(vssd1),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(mprj_io_vtrip_sel[15])
   );
   sky130_ef_io__gpiov2_pad_wrapped \mprj_pads.area1_io_pad[16]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(mprj_io_analog_en[16]),
     .ANALOG_POL(mprj_io_analog_pol[16]),
     .ANALOG_SEL(mprj_io_analog_sel[16]),
@@ -1231,15 +1512,28 @@
     .IN_H(),
     .OE_N(mprj_io_oeb[16]),
     .OUT(mprj_io_out[16]),
+    .PAD(mprj_io[16]),
     .PAD_A_ESD_0_H(mprj_analog_io[9]),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(mprj_io_slow_sel[16]),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(\mprj_pads.loop1_io[16] ),
+    .VCCD(vccd1),
+    .VCCHIB(vccd),
+    .VDDA(vdda1),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa1),
+    .VSSD(vssd1),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(mprj_io_vtrip_sel[16])
   );
   sky130_ef_io__gpiov2_pad_wrapped \mprj_pads.area1_io_pad[17]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(mprj_io_analog_en[17]),
     .ANALOG_POL(mprj_io_analog_pol[17]),
     .ANALOG_SEL(mprj_io_analog_sel[17]),
@@ -1257,15 +1551,28 @@
     .IN_H(),
     .OE_N(mprj_io_oeb[17]),
     .OUT(mprj_io_out[17]),
+    .PAD(mprj_io[17]),
     .PAD_A_ESD_0_H(mprj_analog_io[10]),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(mprj_io_slow_sel[17]),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(\mprj_pads.loop1_io[17] ),
+    .VCCD(vccd1),
+    .VCCHIB(vccd),
+    .VDDA(vdda1),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa1),
+    .VSSD(vssd1),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(mprj_io_vtrip_sel[17])
   );
   sky130_ef_io__gpiov2_pad_wrapped \mprj_pads.area1_io_pad[1]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(mprj_io_analog_en[1]),
     .ANALOG_POL(mprj_io_analog_pol[1]),
     .ANALOG_SEL(mprj_io_analog_sel[1]),
@@ -1283,15 +1590,28 @@
     .IN_H(),
     .OE_N(mprj_io_oeb[1]),
     .OUT(mprj_io_out[1]),
+    .PAD(mprj_io[1]),
     .PAD_A_ESD_0_H(\mprj_pads.no_connect[1] ),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(mprj_io_slow_sel[1]),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(\mprj_pads.loop1_io[1] ),
+    .VCCD(vccd1),
+    .VCCHIB(vccd),
+    .VDDA(vdda1),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa1),
+    .VSSD(vssd1),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(mprj_io_vtrip_sel[1])
   );
   sky130_ef_io__gpiov2_pad_wrapped \mprj_pads.area1_io_pad[2]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(mprj_io_analog_en[2]),
     .ANALOG_POL(mprj_io_analog_pol[2]),
     .ANALOG_SEL(mprj_io_analog_sel[2]),
@@ -1309,15 +1629,28 @@
     .IN_H(),
     .OE_N(mprj_io_oeb[2]),
     .OUT(mprj_io_out[2]),
+    .PAD(mprj_io[2]),
     .PAD_A_ESD_0_H(\mprj_pads.no_connect[2] ),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(mprj_io_slow_sel[2]),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(\mprj_pads.loop1_io[2] ),
+    .VCCD(vccd1),
+    .VCCHIB(vccd),
+    .VDDA(vdda1),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa1),
+    .VSSD(vssd1),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(mprj_io_vtrip_sel[2])
   );
   sky130_ef_io__gpiov2_pad_wrapped \mprj_pads.area1_io_pad[3]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(mprj_io_analog_en[3]),
     .ANALOG_POL(mprj_io_analog_pol[3]),
     .ANALOG_SEL(mprj_io_analog_sel[3]),
@@ -1335,15 +1668,28 @@
     .IN_H(),
     .OE_N(mprj_io_oeb[3]),
     .OUT(mprj_io_out[3]),
+    .PAD(mprj_io[3]),
     .PAD_A_ESD_0_H(\mprj_pads.no_connect[3] ),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(mprj_io_slow_sel[3]),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(\mprj_pads.loop1_io[3] ),
+    .VCCD(vccd1),
+    .VCCHIB(vccd),
+    .VDDA(vdda1),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa1),
+    .VSSD(vssd1),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(mprj_io_vtrip_sel[3])
   );
   sky130_ef_io__gpiov2_pad_wrapped \mprj_pads.area1_io_pad[4]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(mprj_io_analog_en[4]),
     .ANALOG_POL(mprj_io_analog_pol[4]),
     .ANALOG_SEL(mprj_io_analog_sel[4]),
@@ -1361,15 +1707,28 @@
     .IN_H(),
     .OE_N(mprj_io_oeb[4]),
     .OUT(mprj_io_out[4]),
+    .PAD(mprj_io[4]),
     .PAD_A_ESD_0_H(\mprj_pads.no_connect[4] ),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(mprj_io_slow_sel[4]),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(\mprj_pads.loop1_io[4] ),
+    .VCCD(vccd1),
+    .VCCHIB(vccd),
+    .VDDA(vdda1),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa1),
+    .VSSD(vssd1),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(mprj_io_vtrip_sel[4])
   );
   sky130_ef_io__gpiov2_pad_wrapped \mprj_pads.area1_io_pad[5]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(mprj_io_analog_en[5]),
     .ANALOG_POL(mprj_io_analog_pol[5]),
     .ANALOG_SEL(mprj_io_analog_sel[5]),
@@ -1387,15 +1746,28 @@
     .IN_H(),
     .OE_N(mprj_io_oeb[5]),
     .OUT(mprj_io_out[5]),
+    .PAD(mprj_io[5]),
     .PAD_A_ESD_0_H(\mprj_pads.no_connect[5] ),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(mprj_io_slow_sel[5]),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(\mprj_pads.loop1_io[5] ),
+    .VCCD(vccd1),
+    .VCCHIB(vccd),
+    .VDDA(vdda1),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa1),
+    .VSSD(vssd1),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(mprj_io_vtrip_sel[5])
   );
   sky130_ef_io__gpiov2_pad_wrapped \mprj_pads.area1_io_pad[6]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(mprj_io_analog_en[6]),
     .ANALOG_POL(mprj_io_analog_pol[6]),
     .ANALOG_SEL(mprj_io_analog_sel[6]),
@@ -1413,15 +1785,28 @@
     .IN_H(),
     .OE_N(mprj_io_oeb[6]),
     .OUT(mprj_io_out[6]),
+    .PAD(mprj_io[6]),
     .PAD_A_ESD_0_H(\mprj_pads.no_connect[6] ),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(mprj_io_slow_sel[6]),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(\mprj_pads.loop1_io[6] ),
+    .VCCD(vccd1),
+    .VCCHIB(vccd),
+    .VDDA(vdda1),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa1),
+    .VSSD(vssd1),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(mprj_io_vtrip_sel[6])
   );
   sky130_ef_io__gpiov2_pad_wrapped \mprj_pads.area1_io_pad[7]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(mprj_io_analog_en[7]),
     .ANALOG_POL(mprj_io_analog_pol[7]),
     .ANALOG_SEL(mprj_io_analog_sel[7]),
@@ -1439,15 +1824,28 @@
     .IN_H(),
     .OE_N(mprj_io_oeb[7]),
     .OUT(mprj_io_out[7]),
+    .PAD(mprj_io[7]),
     .PAD_A_ESD_0_H(mprj_analog_io[0]),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(mprj_io_slow_sel[7]),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(\mprj_pads.loop1_io[7] ),
+    .VCCD(vccd1),
+    .VCCHIB(vccd),
+    .VDDA(vdda1),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa1),
+    .VSSD(vssd1),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(mprj_io_vtrip_sel[7])
   );
   sky130_ef_io__gpiov2_pad_wrapped \mprj_pads.area1_io_pad[8]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(mprj_io_analog_en[8]),
     .ANALOG_POL(mprj_io_analog_pol[8]),
     .ANALOG_SEL(mprj_io_analog_sel[8]),
@@ -1465,15 +1863,28 @@
     .IN_H(),
     .OE_N(mprj_io_oeb[8]),
     .OUT(mprj_io_out[8]),
+    .PAD(mprj_io[8]),
     .PAD_A_ESD_0_H(mprj_analog_io[1]),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(mprj_io_slow_sel[8]),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(\mprj_pads.loop1_io[8] ),
+    .VCCD(vccd1),
+    .VCCHIB(vccd),
+    .VDDA(vdda1),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa1),
+    .VSSD(vssd1),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(mprj_io_vtrip_sel[8])
   );
   sky130_ef_io__gpiov2_pad_wrapped \mprj_pads.area1_io_pad[9]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(mprj_io_analog_en[9]),
     .ANALOG_POL(mprj_io_analog_pol[9]),
     .ANALOG_SEL(mprj_io_analog_sel[9]),
@@ -1491,15 +1902,28 @@
     .IN_H(),
     .OE_N(mprj_io_oeb[9]),
     .OUT(mprj_io_out[9]),
+    .PAD(mprj_io[9]),
     .PAD_A_ESD_0_H(mprj_analog_io[2]),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(mprj_io_slow_sel[9]),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(\mprj_pads.loop1_io[9] ),
+    .VCCD(vccd1),
+    .VCCHIB(vccd),
+    .VDDA(vdda1),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa1),
+    .VSSD(vssd1),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(mprj_io_vtrip_sel[9])
   );
   sky130_ef_io__gpiov2_pad_wrapped \mprj_pads.area2_io_pad[0]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(mprj_io_analog_en[18]),
     .ANALOG_POL(mprj_io_analog_pol[18]),
     .ANALOG_SEL(mprj_io_analog_sel[18]),
@@ -1517,15 +1941,28 @@
     .IN_H(),
     .OE_N(mprj_io_oeb[18]),
     .OUT(mprj_io_out[18]),
+    .PAD(mprj_io[18]),
     .PAD_A_ESD_0_H(mprj_analog_io[11]),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(mprj_io_slow_sel[18]),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(\mprj_pads.loop1_io[18] ),
+    .VCCD(vccd2),
+    .VCCHIB(vccd),
+    .VDDA(vdda2),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa2),
+    .VSSD(vssd2),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(mprj_io_vtrip_sel[18])
   );
   sky130_ef_io__gpiov2_pad_wrapped \mprj_pads.area2_io_pad[10]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(mprj_io_analog_en[28]),
     .ANALOG_POL(mprj_io_analog_pol[28]),
     .ANALOG_SEL(mprj_io_analog_sel[28]),
@@ -1543,15 +1980,28 @@
     .IN_H(),
     .OE_N(mprj_io_oeb[28]),
     .OUT(mprj_io_out[28]),
+    .PAD(mprj_io[28]),
     .PAD_A_ESD_0_H(mprj_analog_io[21]),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(mprj_io_slow_sel[28]),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(\mprj_pads.loop1_io[28] ),
+    .VCCD(vccd2),
+    .VCCHIB(vccd),
+    .VDDA(vdda2),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa2),
+    .VSSD(vssd2),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(mprj_io_vtrip_sel[28])
   );
   sky130_ef_io__gpiov2_pad_wrapped \mprj_pads.area2_io_pad[11]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(mprj_io_analog_en[29]),
     .ANALOG_POL(mprj_io_analog_pol[29]),
     .ANALOG_SEL(mprj_io_analog_sel[29]),
@@ -1569,15 +2019,28 @@
     .IN_H(),
     .OE_N(mprj_io_oeb[29]),
     .OUT(mprj_io_out[29]),
+    .PAD(mprj_io[29]),
     .PAD_A_ESD_0_H(mprj_analog_io[22]),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(mprj_io_slow_sel[29]),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(\mprj_pads.loop1_io[29] ),
+    .VCCD(vccd2),
+    .VCCHIB(vccd),
+    .VDDA(vdda2),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa2),
+    .VSSD(vssd2),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(mprj_io_vtrip_sel[29])
   );
   sky130_ef_io__gpiov2_pad_wrapped \mprj_pads.area2_io_pad[12]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(mprj_io_analog_en[30]),
     .ANALOG_POL(mprj_io_analog_pol[30]),
     .ANALOG_SEL(mprj_io_analog_sel[30]),
@@ -1595,15 +2058,28 @@
     .IN_H(),
     .OE_N(mprj_io_oeb[30]),
     .OUT(mprj_io_out[30]),
+    .PAD(mprj_io[30]),
     .PAD_A_ESD_0_H(mprj_analog_io[23]),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(mprj_io_slow_sel[30]),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(\mprj_pads.loop1_io[30] ),
+    .VCCD(vccd2),
+    .VCCHIB(vccd),
+    .VDDA(vdda2),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa2),
+    .VSSD(vssd2),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(mprj_io_vtrip_sel[30])
   );
   sky130_ef_io__gpiov2_pad_wrapped \mprj_pads.area2_io_pad[13]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(mprj_io_analog_en[31]),
     .ANALOG_POL(mprj_io_analog_pol[31]),
     .ANALOG_SEL(mprj_io_analog_sel[31]),
@@ -1621,15 +2097,28 @@
     .IN_H(),
     .OE_N(mprj_io_oeb[31]),
     .OUT(mprj_io_out[31]),
+    .PAD(mprj_io[31]),
     .PAD_A_ESD_0_H(mprj_analog_io[24]),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(mprj_io_slow_sel[31]),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(\mprj_pads.loop1_io[31] ),
+    .VCCD(vccd2),
+    .VCCHIB(vccd),
+    .VDDA(vdda2),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa2),
+    .VSSD(vssd2),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(mprj_io_vtrip_sel[31])
   );
   sky130_ef_io__gpiov2_pad_wrapped \mprj_pads.area2_io_pad[14]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(mprj_io_analog_en[32]),
     .ANALOG_POL(mprj_io_analog_pol[32]),
     .ANALOG_SEL(mprj_io_analog_sel[32]),
@@ -1647,15 +2136,28 @@
     .IN_H(),
     .OE_N(mprj_io_oeb[32]),
     .OUT(mprj_io_out[32]),
+    .PAD(mprj_io[32]),
     .PAD_A_ESD_0_H(mprj_analog_io[25]),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(mprj_io_slow_sel[32]),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(\mprj_pads.loop1_io[32] ),
+    .VCCD(vccd2),
+    .VCCHIB(vccd),
+    .VDDA(vdda2),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa2),
+    .VSSD(vssd2),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(mprj_io_vtrip_sel[32])
   );
   sky130_ef_io__gpiov2_pad_wrapped \mprj_pads.area2_io_pad[15]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(mprj_io_analog_en[33]),
     .ANALOG_POL(mprj_io_analog_pol[33]),
     .ANALOG_SEL(mprj_io_analog_sel[33]),
@@ -1673,15 +2175,28 @@
     .IN_H(),
     .OE_N(mprj_io_oeb[33]),
     .OUT(mprj_io_out[33]),
+    .PAD(mprj_io[33]),
     .PAD_A_ESD_0_H(mprj_analog_io[26]),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(mprj_io_slow_sel[33]),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(\mprj_pads.loop1_io[33] ),
+    .VCCD(vccd2),
+    .VCCHIB(vccd),
+    .VDDA(vdda2),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa2),
+    .VSSD(vssd2),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(mprj_io_vtrip_sel[33])
   );
   sky130_ef_io__gpiov2_pad_wrapped \mprj_pads.area2_io_pad[16]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(mprj_io_analog_en[34]),
     .ANALOG_POL(mprj_io_analog_pol[34]),
     .ANALOG_SEL(mprj_io_analog_sel[34]),
@@ -1699,15 +2214,28 @@
     .IN_H(),
     .OE_N(mprj_io_oeb[34]),
     .OUT(mprj_io_out[34]),
+    .PAD(mprj_io[34]),
     .PAD_A_ESD_0_H(mprj_analog_io[27]),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(mprj_io_slow_sel[34]),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(\mprj_pads.loop1_io[34] ),
+    .VCCD(vccd2),
+    .VCCHIB(vccd),
+    .VDDA(vdda2),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa2),
+    .VSSD(vssd2),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(mprj_io_vtrip_sel[34])
   );
   sky130_ef_io__gpiov2_pad_wrapped \mprj_pads.area2_io_pad[17]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(mprj_io_analog_en[35]),
     .ANALOG_POL(mprj_io_analog_pol[35]),
     .ANALOG_SEL(mprj_io_analog_sel[35]),
@@ -1725,15 +2253,28 @@
     .IN_H(),
     .OE_N(mprj_io_oeb[35]),
     .OUT(mprj_io_out[35]),
+    .PAD(mprj_io[35]),
     .PAD_A_ESD_0_H(mprj_analog_io[28]),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(mprj_io_slow_sel[35]),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(\mprj_pads.loop1_io[35] ),
+    .VCCD(vccd2),
+    .VCCHIB(vccd),
+    .VDDA(vdda2),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa2),
+    .VSSD(vssd2),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(mprj_io_vtrip_sel[35])
   );
   sky130_ef_io__gpiov2_pad_wrapped \mprj_pads.area2_io_pad[18]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(mprj_io_analog_en[36]),
     .ANALOG_POL(mprj_io_analog_pol[36]),
     .ANALOG_SEL(mprj_io_analog_sel[36]),
@@ -1751,15 +2292,28 @@
     .IN_H(),
     .OE_N(mprj_io_oeb[36]),
     .OUT(mprj_io_out[36]),
+    .PAD(mprj_io[36]),
     .PAD_A_ESD_0_H(mprj_analog_io[29]),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(mprj_io_slow_sel[36]),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(\mprj_pads.loop1_io[36] ),
+    .VCCD(vccd2),
+    .VCCHIB(vccd),
+    .VDDA(vdda2),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa2),
+    .VSSD(vssd2),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(mprj_io_vtrip_sel[36])
   );
   sky130_ef_io__gpiov2_pad_wrapped \mprj_pads.area2_io_pad[19]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(mprj_io_analog_en[37]),
     .ANALOG_POL(mprj_io_analog_pol[37]),
     .ANALOG_SEL(mprj_io_analog_sel[37]),
@@ -1777,15 +2331,28 @@
     .IN_H(),
     .OE_N(mprj_io_oeb[37]),
     .OUT(mprj_io_out[37]),
+    .PAD(mprj_io[37]),
     .PAD_A_ESD_0_H(mprj_analog_io[30]),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(mprj_io_slow_sel[37]),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(\mprj_pads.loop1_io[37] ),
+    .VCCD(vccd2),
+    .VCCHIB(vccd),
+    .VDDA(vdda2),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa2),
+    .VSSD(vssd2),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(mprj_io_vtrip_sel[37])
   );
   sky130_ef_io__gpiov2_pad_wrapped \mprj_pads.area2_io_pad[1]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(mprj_io_analog_en[19]),
     .ANALOG_POL(mprj_io_analog_pol[19]),
     .ANALOG_SEL(mprj_io_analog_sel[19]),
@@ -1803,15 +2370,28 @@
     .IN_H(),
     .OE_N(mprj_io_oeb[19]),
     .OUT(mprj_io_out[19]),
+    .PAD(mprj_io[19]),
     .PAD_A_ESD_0_H(mprj_analog_io[12]),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(mprj_io_slow_sel[19]),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(\mprj_pads.loop1_io[19] ),
+    .VCCD(vccd2),
+    .VCCHIB(vccd),
+    .VDDA(vdda2),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa2),
+    .VSSD(vssd2),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(mprj_io_vtrip_sel[19])
   );
   sky130_ef_io__gpiov2_pad_wrapped \mprj_pads.area2_io_pad[2]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(mprj_io_analog_en[20]),
     .ANALOG_POL(mprj_io_analog_pol[20]),
     .ANALOG_SEL(mprj_io_analog_sel[20]),
@@ -1829,15 +2409,28 @@
     .IN_H(),
     .OE_N(mprj_io_oeb[20]),
     .OUT(mprj_io_out[20]),
+    .PAD(mprj_io[20]),
     .PAD_A_ESD_0_H(mprj_analog_io[13]),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(mprj_io_slow_sel[20]),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(\mprj_pads.loop1_io[20] ),
+    .VCCD(vccd2),
+    .VCCHIB(vccd),
+    .VDDA(vdda2),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa2),
+    .VSSD(vssd2),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(mprj_io_vtrip_sel[20])
   );
   sky130_ef_io__gpiov2_pad_wrapped \mprj_pads.area2_io_pad[3]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(mprj_io_analog_en[21]),
     .ANALOG_POL(mprj_io_analog_pol[21]),
     .ANALOG_SEL(mprj_io_analog_sel[21]),
@@ -1855,15 +2448,28 @@
     .IN_H(),
     .OE_N(mprj_io_oeb[21]),
     .OUT(mprj_io_out[21]),
+    .PAD(mprj_io[21]),
     .PAD_A_ESD_0_H(mprj_analog_io[14]),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(mprj_io_slow_sel[21]),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(\mprj_pads.loop1_io[21] ),
+    .VCCD(vccd2),
+    .VCCHIB(vccd),
+    .VDDA(vdda2),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa2),
+    .VSSD(vssd2),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(mprj_io_vtrip_sel[21])
   );
   sky130_ef_io__gpiov2_pad_wrapped \mprj_pads.area2_io_pad[4]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(mprj_io_analog_en[22]),
     .ANALOG_POL(mprj_io_analog_pol[22]),
     .ANALOG_SEL(mprj_io_analog_sel[22]),
@@ -1881,15 +2487,28 @@
     .IN_H(),
     .OE_N(mprj_io_oeb[22]),
     .OUT(mprj_io_out[22]),
+    .PAD(mprj_io[22]),
     .PAD_A_ESD_0_H(mprj_analog_io[15]),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(mprj_io_slow_sel[22]),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(\mprj_pads.loop1_io[22] ),
+    .VCCD(vccd2),
+    .VCCHIB(vccd),
+    .VDDA(vdda2),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa2),
+    .VSSD(vssd2),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(mprj_io_vtrip_sel[22])
   );
   sky130_ef_io__gpiov2_pad_wrapped \mprj_pads.area2_io_pad[5]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(mprj_io_analog_en[23]),
     .ANALOG_POL(mprj_io_analog_pol[23]),
     .ANALOG_SEL(mprj_io_analog_sel[23]),
@@ -1907,15 +2526,28 @@
     .IN_H(),
     .OE_N(mprj_io_oeb[23]),
     .OUT(mprj_io_out[23]),
+    .PAD(mprj_io[23]),
     .PAD_A_ESD_0_H(mprj_analog_io[16]),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(mprj_io_slow_sel[23]),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(\mprj_pads.loop1_io[23] ),
+    .VCCD(vccd2),
+    .VCCHIB(vccd),
+    .VDDA(vdda2),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa2),
+    .VSSD(vssd2),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(mprj_io_vtrip_sel[23])
   );
   sky130_ef_io__gpiov2_pad_wrapped \mprj_pads.area2_io_pad[6]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(mprj_io_analog_en[24]),
     .ANALOG_POL(mprj_io_analog_pol[24]),
     .ANALOG_SEL(mprj_io_analog_sel[24]),
@@ -1933,15 +2565,28 @@
     .IN_H(),
     .OE_N(mprj_io_oeb[24]),
     .OUT(mprj_io_out[24]),
+    .PAD(mprj_io[24]),
     .PAD_A_ESD_0_H(mprj_analog_io[17]),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(mprj_io_slow_sel[24]),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(\mprj_pads.loop1_io[24] ),
+    .VCCD(vccd2),
+    .VCCHIB(vccd),
+    .VDDA(vdda2),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa2),
+    .VSSD(vssd2),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(mprj_io_vtrip_sel[24])
   );
   sky130_ef_io__gpiov2_pad_wrapped \mprj_pads.area2_io_pad[7]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(mprj_io_analog_en[25]),
     .ANALOG_POL(mprj_io_analog_pol[25]),
     .ANALOG_SEL(mprj_io_analog_sel[25]),
@@ -1959,15 +2604,28 @@
     .IN_H(),
     .OE_N(mprj_io_oeb[25]),
     .OUT(mprj_io_out[25]),
+    .PAD(mprj_io[25]),
     .PAD_A_ESD_0_H(mprj_analog_io[18]),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(mprj_io_slow_sel[25]),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(\mprj_pads.loop1_io[25] ),
+    .VCCD(vccd2),
+    .VCCHIB(vccd),
+    .VDDA(vdda2),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa2),
+    .VSSD(vssd2),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(mprj_io_vtrip_sel[25])
   );
   sky130_ef_io__gpiov2_pad_wrapped \mprj_pads.area2_io_pad[8]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(mprj_io_analog_en[26]),
     .ANALOG_POL(mprj_io_analog_pol[26]),
     .ANALOG_SEL(mprj_io_analog_sel[26]),
@@ -1985,15 +2643,28 @@
     .IN_H(),
     .OE_N(mprj_io_oeb[26]),
     .OUT(mprj_io_out[26]),
+    .PAD(mprj_io[26]),
     .PAD_A_ESD_0_H(mprj_analog_io[19]),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(mprj_io_slow_sel[26]),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(\mprj_pads.loop1_io[26] ),
+    .VCCD(vccd2),
+    .VCCHIB(vccd),
+    .VDDA(vdda2),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa2),
+    .VSSD(vssd2),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(mprj_io_vtrip_sel[26])
   );
   sky130_ef_io__gpiov2_pad_wrapped \mprj_pads.area2_io_pad[9]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .ANALOG_EN(mprj_io_analog_en[27]),
     .ANALOG_POL(mprj_io_analog_pol[27]),
     .ANALOG_SEL(mprj_io_analog_sel[27]),
@@ -2011,219 +2682,252 @@
     .IN_H(),
     .OE_N(mprj_io_oeb[27]),
     .OUT(mprj_io_out[27]),
+    .PAD(mprj_io[27]),
     .PAD_A_ESD_0_H(mprj_analog_io[20]),
     .PAD_A_ESD_1_H(),
     .PAD_A_NOESD_H(),
     .SLOW(mprj_io_slow_sel[27]),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(\mprj_pads.loop1_io[27] ),
+    .VCCD(vccd2),
+    .VCCHIB(vccd),
+    .VDDA(vdda2),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa2),
+    .VSSD(vssd2),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .VTRIP_SEL(mprj_io_vtrip_sel[27])
   );
   sky130_fd_io__top_xres4v2 resetb_pad (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .DISABLE_PULLUP_H(vssio),
     .ENABLE_H(porb_h),
     .ENABLE_VDDIO(vccd),
     .EN_VDDIO_SIG_H(vssio),
     .FILT_IN_H(vssio),
     .INP_SEL_H(vssio),
+    .PAD(resetb),
     .PAD_A_ESD_H(xresloop),
     .PULLUP_H(vssio),
     .TIE_HI_ESD(),
     .TIE_LO_ESD(),
     .TIE_WEAK_HI_H(xresloop),
+    .VCCD(vccd),
+    .VCCHIB(vccd),
+    .VDDA(vdda),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa),
+    .VSSD(vssd),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio),
     .XRES_H_N(resetb_core_h)
   );
   sky130_ef_io__corner_pad user1_corner (
-    .VCCHIB()
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
+    .VCCD(vccd1),
+    .VCCHIB(vccd),
+    .VDDA(vdda1),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa1),
+    .VSSD(vssd1),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio)
   );
   sky130_ef_io__vccd_lvc_pad user1_vccd_lvclamp_pad (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .BDY2_B2B(vssio),
     .DRN_LVC1(vccd1),
     .DRN_LVC2(vccd1),
     .SRC_BDY_LVC1(vssd1),
     .SRC_BDY_LVC2(vssd),
-    .VCCD(vccd1)
+    .VCCD(vccd1),
+    .VCCHIB(vccd),
+    .VDDA(vdda1),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa1),
+    .VSSD(vssd1),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio)
   );
   sky130_ef_io__vdda_hvc_pad \user1_vdda_hvclamp_pad[0]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .DRN_HVC(vdda1),
     .SRC_BDY_HVC(vssa1),
-    .VDDA(vdda1)
+    .VCCD(vccd1),
+    .VCCHIB(vccd),
+    .VDDA(vdda1),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa1),
+    .VSSD(vssd1),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio)
   );
   sky130_ef_io__vdda_hvc_pad \user1_vdda_hvclamp_pad[1]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .DRN_HVC(vdda1),
     .SRC_BDY_HVC(vssa1),
-    .VDDA(vdda1)
+    .VCCD(vccd1),
+    .VCCHIB(vccd),
+    .VDDA(vdda1),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa1),
+    .VSSD(vssd1),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio)
   );
   sky130_ef_io__vssa_hvc_pad \user1_vssa_hvclamp_pad[0]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .DRN_HVC(vdda1),
     .SRC_BDY_HVC(vssa1),
-    .VSSA(vssa1)
+    .VCCD(vccd1),
+    .VCCHIB(vccd),
+    .VDDA(vdda1),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa1),
+    .VSSD(vssd1),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio)
   );
   sky130_ef_io__vssa_hvc_pad \user1_vssa_hvclamp_pad[1]  (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .DRN_HVC(vdda1),
     .SRC_BDY_HVC(vssa1),
-    .VSSA(vssa1)
+    .VCCD(vccd1),
+    .VCCHIB(vccd),
+    .VDDA(vdda1),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa1),
+    .VSSD(vssd1),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio)
   );
   sky130_ef_io__vssd_lvc_pad user1_vssd_lvclmap_pad (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .BDY2_B2B(vssio),
     .DRN_LVC1(vccd1),
     .DRN_LVC2(vccd1),
     .SRC_BDY_LVC1(vssd1),
     .SRC_BDY_LVC2(vssd),
-    .VSSD(vssd1)
+    .VCCD(vccd1),
+    .VCCHIB(vccd),
+    .VDDA(vdda1),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa1),
+    .VSSD(vssd1),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio)
   );
   sky130_ef_io__corner_pad user2_corner (
-    .VCCHIB()
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
+    .VCCD(vccd2),
+    .VCCHIB(vccd),
+    .VDDA(vdda2),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa2),
+    .VSSD(vssd2),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio)
   );
   sky130_ef_io__vccd_lvc_pad user2_vccd_lvclamp_pad (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .BDY2_B2B(vssio),
     .DRN_LVC1(vccd2),
     .DRN_LVC2(vccd2),
     .SRC_BDY_LVC1(vssd2),
     .SRC_BDY_LVC2(vssd),
-    .VCCD(vccd2)
+    .VCCD(vccd2),
+    .VCCHIB(vccd),
+    .VDDA(vdda2),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa2),
+    .VSSD(vssd2),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio)
   );
   sky130_ef_io__vdda_hvc_pad user2_vdda_hvclamp_pad (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .DRN_HVC(vdda2),
     .SRC_BDY_HVC(vssa2),
-    .VDDA(vdda2)
+    .VCCD(vccd2),
+    .VCCHIB(vccd),
+    .VDDA(vdda2),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa2),
+    .VSSD(vssd2),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio)
   );
   sky130_ef_io__vssa_hvc_pad user2_vssa_hvclamp_pad (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .DRN_HVC(vdda2),
     .SRC_BDY_HVC(vssa2),
-    .VSSA(vssa2)
+    .VCCD(vccd2),
+    .VCCHIB(vccd),
+    .VDDA(vdda2),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa2),
+    .VSSD(vssd2),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio)
   );
   sky130_ef_io__vssd_lvc_pad user2_vssd_lvclmap_pad (
+    .AMUXBUS_A(\mprj_pads.analog_a ),
+    .AMUXBUS_B(\mprj_pads.analog_b ),
     .BDY2_B2B(vssio),
     .DRN_LVC1(vccd2),
     .DRN_LVC2(vccd2),
     .SRC_BDY_LVC1(vssd2),
     .SRC_BDY_LVC2(vssd),
-    .VSSD(vssd2)
+    .VCCD(vccd2),
+    .VCCHIB(vccd),
+    .VDDA(vdda2),
+    .VDDIO(vddio),
+    .VDDIO_Q(\mprj_pads.vddio_q ),
+    .VSSA(vssa2),
+    .VSSD(vssd2),
+    .VSSIO(vssio),
+    .VSSIO_Q(\mprj_pads.vssio_q ),
+    .VSWITCH(vddio)
   );
-  assign \mprj_pads.inp_dis[25]  = mprj_io_inp_dis[25];
-  assign \mprj_pads.inp_dis[24]  = mprj_io_inp_dis[24];
-  assign \mprj_pads.inp_dis[23]  = mprj_io_inp_dis[23];
-  assign \mprj_pads.inp_dis[22]  = mprj_io_inp_dis[22];
-  assign \mprj_pads.inp_dis[21]  = mprj_io_inp_dis[21];
-  assign \mprj_pads.inp_dis[20]  = mprj_io_inp_dis[20];
-  assign \mprj_pads.inp_dis[19]  = mprj_io_inp_dis[19];
-  assign \mprj_pads.inp_dis[18]  = mprj_io_inp_dis[18];
-  assign \mprj_pads.inp_dis[17]  = mprj_io_inp_dis[17];
-  assign \mprj_pads.inp_dis[16]  = mprj_io_inp_dis[16];
-  assign \mprj_pads.inp_dis[15]  = mprj_io_inp_dis[15];
-  assign \mprj_pads.inp_dis[14]  = mprj_io_inp_dis[14];
-  assign \mprj_pads.inp_dis[13]  = mprj_io_inp_dis[13];
-  assign \mprj_pads.inp_dis[12]  = mprj_io_inp_dis[12];
-  assign \mprj_pads.inp_dis[11]  = mprj_io_inp_dis[11];
-  assign \mprj_pads.inp_dis[10]  = mprj_io_inp_dis[10];
-  assign \mprj_pads.inp_dis[9]  = mprj_io_inp_dis[9];
-  assign \mprj_pads.inp_dis[8]  = mprj_io_inp_dis[8];
-  assign \mprj_pads.inp_dis[7]  = mprj_io_inp_dis[7];
-  assign \mprj_pads.inp_dis[6]  = mprj_io_inp_dis[6];
-  assign \mprj_pads.inp_dis[5]  = mprj_io_inp_dis[5];
-  assign \mprj_pads.inp_dis[4]  = mprj_io_inp_dis[4];
-  assign \mprj_pads.inp_dis[3]  = mprj_io_inp_dis[3];
-  assign \mprj_pads.inp_dis[2]  = mprj_io_inp_dis[2];
-  assign \mprj_pads.inp_dis[1]  = mprj_io_inp_dis[1];
-  assign \mprj_pads.inp_dis[0]  = mprj_io_inp_dis[0];
-  assign \mprj_pads.analog_sel[37]  = mprj_io_analog_sel[37];
-  assign \mprj_pads.analog_sel[36]  = mprj_io_analog_sel[36];
-  assign \mprj_pads.analog_sel[35]  = mprj_io_analog_sel[35];
-  assign \mprj_pads.analog_sel[34]  = mprj_io_analog_sel[34];
-  assign \mprj_pads.analog_sel[33]  = mprj_io_analog_sel[33];
-  assign \mprj_pads.analog_sel[32]  = mprj_io_analog_sel[32];
-  assign \mprj_pads.analog_sel[31]  = mprj_io_analog_sel[31];
-  assign \mprj_pads.analog_sel[30]  = mprj_io_analog_sel[30];
-  assign \mprj_pads.analog_sel[29]  = mprj_io_analog_sel[29];
-  assign \mprj_pads.analog_sel[28]  = mprj_io_analog_sel[28];
-  assign \mprj_pads.analog_sel[27]  = mprj_io_analog_sel[27];
-  assign \mprj_pads.analog_sel[26]  = mprj_io_analog_sel[26];
-  assign \mprj_pads.analog_sel[25]  = mprj_io_analog_sel[25];
-  assign \mprj_pads.analog_sel[24]  = mprj_io_analog_sel[24];
-  assign \mprj_pads.analog_sel[23]  = mprj_io_analog_sel[23];
-  assign \mprj_pads.analog_sel[22]  = mprj_io_analog_sel[22];
-  assign \mprj_pads.analog_sel[21]  = mprj_io_analog_sel[21];
-  assign \mprj_pads.analog_sel[20]  = mprj_io_analog_sel[20];
-  assign \mprj_pads.analog_sel[19]  = mprj_io_analog_sel[19];
-  assign \mprj_pads.analog_sel[18]  = mprj_io_analog_sel[18];
-  assign \mprj_pads.analog_sel[17]  = mprj_io_analog_sel[17];
-  assign \mprj_pads.analog_sel[16]  = mprj_io_analog_sel[16];
-  assign \mprj_pads.analog_sel[15]  = mprj_io_analog_sel[15];
-  assign \mprj_pads.analog_sel[14]  = mprj_io_analog_sel[14];
-  assign \mprj_pads.analog_sel[13]  = mprj_io_analog_sel[13];
-  assign \mprj_pads.analog_sel[12]  = mprj_io_analog_sel[12];
-  assign \mprj_pads.analog_sel[11]  = mprj_io_analog_sel[11];
-  assign \mprj_pads.analog_sel[10]  = mprj_io_analog_sel[10];
-  assign \mprj_pads.analog_sel[9]  = mprj_io_analog_sel[9];
-  assign \mprj_pads.analog_sel[8]  = mprj_io_analog_sel[8];
-  assign \mprj_pads.analog_sel[7]  = mprj_io_analog_sel[7];
-  assign \mprj_pads.analog_sel[6]  = mprj_io_analog_sel[6];
-  assign \mprj_pads.analog_sel[5]  = mprj_io_analog_sel[5];
-  assign \mprj_pads.analog_sel[4]  = mprj_io_analog_sel[4];
-  assign \mprj_pads.analog_sel[3]  = mprj_io_analog_sel[3];
-  assign \mprj_pads.analog_sel[2]  = mprj_io_analog_sel[2];
-  assign \mprj_pads.analog_sel[1]  = mprj_io_analog_sel[1];
-  assign \mprj_pads.analog_sel[0]  = mprj_io_analog_sel[0];
-  assign \mprj_pads.oeb[37]  = mprj_io_oeb[37];
-  assign \mprj_pads.oeb[36]  = mprj_io_oeb[36];
-  assign \mprj_pads.oeb[35]  = mprj_io_oeb[35];
-  assign \mprj_pads.oeb[34]  = mprj_io_oeb[34];
-  assign \mprj_pads.oeb[33]  = mprj_io_oeb[33];
-  assign \mprj_pads.oeb[32]  = mprj_io_oeb[32];
-  assign \mprj_pads.oeb[31]  = mprj_io_oeb[31];
-  assign \mprj_pads.oeb[30]  = mprj_io_oeb[30];
-  assign \mprj_pads.oeb[29]  = mprj_io_oeb[29];
-  assign \mprj_pads.oeb[28]  = mprj_io_oeb[28];
-  assign \mprj_pads.oeb[27]  = mprj_io_oeb[27];
-  assign \mprj_pads.oeb[26]  = mprj_io_oeb[26];
-  assign \mprj_pads.oeb[25]  = mprj_io_oeb[25];
-  assign \mprj_pads.oeb[24]  = mprj_io_oeb[24];
-  assign \mprj_pads.oeb[23]  = mprj_io_oeb[23];
-  assign \mprj_pads.oeb[22]  = mprj_io_oeb[22];
-  assign \mprj_pads.oeb[21]  = mprj_io_oeb[21];
-  assign \mprj_pads.oeb[20]  = mprj_io_oeb[20];
-  assign \mprj_pads.oeb[19]  = mprj_io_oeb[19];
-  assign \mprj_pads.oeb[18]  = mprj_io_oeb[18];
-  assign \mprj_pads.oeb[17]  = mprj_io_oeb[17];
-  assign \mprj_pads.oeb[16]  = mprj_io_oeb[16];
-  assign \mprj_pads.oeb[15]  = mprj_io_oeb[15];
-  assign \mprj_pads.oeb[14]  = mprj_io_oeb[14];
-  assign \mprj_pads.oeb[13]  = mprj_io_oeb[13];
-  assign \mprj_pads.oeb[12]  = mprj_io_oeb[12];
-  assign \mprj_pads.oeb[11]  = mprj_io_oeb[11];
-  assign \mprj_pads.oeb[10]  = mprj_io_oeb[10];
-  assign \mprj_pads.oeb[9]  = mprj_io_oeb[9];
-  assign \mprj_pads.oeb[8]  = mprj_io_oeb[8];
-  assign \mprj_pads.oeb[7]  = mprj_io_oeb[7];
-  assign \mprj_pads.oeb[6]  = mprj_io_oeb[6];
-  assign \mprj_pads.oeb[5]  = mprj_io_oeb[5];
-  assign \mprj_pads.oeb[4]  = mprj_io_oeb[4];
-  assign \mprj_pads.oeb[3]  = mprj_io_oeb[3];
-  assign \mprj_pads.oeb[2]  = mprj_io_oeb[2];
-  assign \mprj_pads.oeb[1]  = mprj_io_oeb[1];
-  assign \mprj_pads.oeb[0]  = mprj_io_oeb[0];
-  assign \mprj_pads.dm[113]  = mprj_io_dm[113];
-  assign \mprj_pads.dm[112]  = mprj_io_dm[112];
-  assign \mprj_pads.dm[111]  = mprj_io_dm[111];
-  assign \mprj_pads.dm[110]  = mprj_io_dm[110];
-  assign \mprj_pads.dm[109]  = mprj_io_dm[109];
-  assign \mprj_pads.dm[108]  = mprj_io_dm[108];
-  assign \mprj_pads.dm[107]  = mprj_io_dm[107];
-  assign \mprj_pads.dm[106]  = mprj_io_dm[106];
-  assign \mprj_pads.dm[105]  = mprj_io_dm[105];
-  assign \mprj_pads.dm[104]  = mprj_io_dm[104];
-  assign \mprj_pads.dm[103]  = mprj_io_dm[103];
-  assign \mprj_pads.dm[102]  = mprj_io_dm[102];
-  assign \mprj_pads.dm[101]  = mprj_io_dm[101];
-  assign \mprj_pads.dm[100]  = mprj_io_dm[100];
-  assign \mprj_pads.dm[99]  = mprj_io_dm[99];
-  assign \mprj_pads.dm[98]  = mprj_io_dm[98];
-  assign \mprj_pads.dm[97]  = mprj_io_dm[97];
-  assign \mprj_pads.dm[96]  = mprj_io_dm[96];
-  assign \mprj_pads.dm[95]  = mprj_io_dm[95];
-  assign \mprj_pads.dm[94]  = mprj_io_dm[94];
-  assign \mprj_pads.dm[93]  = mprj_io_dm[93];
   assign \mprj_pads.dm[92]  = mprj_io_dm[92];
   assign \mprj_pads.dm[91]  = mprj_io_dm[91];
   assign \mprj_pads.dm[90]  = mprj_io_dm[90];
@@ -2317,6 +3021,233 @@
   assign \mprj_pads.dm[2]  = mprj_io_dm[2];
   assign \mprj_pads.dm[1]  = mprj_io_dm[1];
   assign \mprj_pads.dm[0]  = mprj_io_dm[0];
+  assign \mprj_pads.analog_pol[37]  = mprj_io_analog_pol[37];
+  assign \mprj_pads.analog_pol[36]  = mprj_io_analog_pol[36];
+  assign \mprj_pads.analog_pol[35]  = mprj_io_analog_pol[35];
+  assign \mprj_pads.analog_pol[34]  = mprj_io_analog_pol[34];
+  assign \mprj_pads.analog_pol[33]  = mprj_io_analog_pol[33];
+  assign \mprj_pads.analog_pol[32]  = mprj_io_analog_pol[32];
+  assign \mprj_pads.analog_pol[31]  = mprj_io_analog_pol[31];
+  assign \mprj_pads.analog_pol[30]  = mprj_io_analog_pol[30];
+  assign \mprj_pads.analog_pol[29]  = mprj_io_analog_pol[29];
+  assign \mprj_pads.analog_pol[28]  = mprj_io_analog_pol[28];
+  assign \mprj_pads.analog_pol[27]  = mprj_io_analog_pol[27];
+  assign \mprj_pads.analog_pol[26]  = mprj_io_analog_pol[26];
+  assign \mprj_pads.analog_pol[25]  = mprj_io_analog_pol[25];
+  assign \mprj_pads.analog_pol[24]  = mprj_io_analog_pol[24];
+  assign \mprj_pads.analog_pol[23]  = mprj_io_analog_pol[23];
+  assign \mprj_pads.analog_pol[22]  = mprj_io_analog_pol[22];
+  assign \mprj_pads.analog_pol[21]  = mprj_io_analog_pol[21];
+  assign \mprj_pads.analog_pol[20]  = mprj_io_analog_pol[20];
+  assign \mprj_pads.analog_pol[19]  = mprj_io_analog_pol[19];
+  assign \mprj_pads.analog_pol[18]  = mprj_io_analog_pol[18];
+  assign \mprj_pads.analog_pol[17]  = mprj_io_analog_pol[17];
+  assign \mprj_pads.analog_pol[16]  = mprj_io_analog_pol[16];
+  assign \mprj_pads.analog_pol[15]  = mprj_io_analog_pol[15];
+  assign \mprj_pads.analog_pol[14]  = mprj_io_analog_pol[14];
+  assign \mprj_pads.analog_pol[13]  = mprj_io_analog_pol[13];
+  assign \mprj_pads.analog_pol[12]  = mprj_io_analog_pol[12];
+  assign \mprj_pads.analog_pol[11]  = mprj_io_analog_pol[11];
+  assign \mprj_pads.analog_pol[10]  = mprj_io_analog_pol[10];
+  assign \mprj_pads.analog_pol[9]  = mprj_io_analog_pol[9];
+  assign \mprj_pads.analog_pol[8]  = mprj_io_analog_pol[8];
+  assign \mprj_pads.analog_pol[7]  = mprj_io_analog_pol[7];
+  assign \mprj_pads.analog_pol[6]  = mprj_io_analog_pol[6];
+  assign \mprj_pads.analog_pol[5]  = mprj_io_analog_pol[5];
+  assign \mprj_pads.analog_pol[4]  = mprj_io_analog_pol[4];
+  assign \mprj_pads.analog_pol[3]  = mprj_io_analog_pol[3];
+  assign \mprj_pads.analog_pol[2]  = mprj_io_analog_pol[2];
+  assign \mprj_pads.analog_pol[1]  = mprj_io_analog_pol[1];
+  assign \mprj_pads.analog_pol[0]  = mprj_io_analog_pol[0];
+  assign \flash_io1_mode[2]  = flash_io1_ieb_core;
+  assign \flash_io1_mode[1]  = flash_io1_ieb_core;
+  assign \flash_io1_mode[0]  = flash_io1_oeb_core;
+  assign \mprj_pads.hldh_n[37]  = mprj_io_hldh_n[37];
+  assign \mprj_pads.hldh_n[36]  = mprj_io_hldh_n[36];
+  assign \mprj_pads.hldh_n[35]  = mprj_io_hldh_n[35];
+  assign \mprj_pads.hldh_n[34]  = mprj_io_hldh_n[34];
+  assign \mprj_pads.hldh_n[33]  = mprj_io_hldh_n[33];
+  assign \mprj_pads.hldh_n[32]  = mprj_io_hldh_n[32];
+  assign \mprj_pads.hldh_n[31]  = mprj_io_hldh_n[31];
+  assign \mprj_pads.hldh_n[30]  = mprj_io_hldh_n[30];
+  assign \mprj_pads.hldh_n[29]  = mprj_io_hldh_n[29];
+  assign \mprj_pads.hldh_n[28]  = mprj_io_hldh_n[28];
+  assign \mprj_pads.hldh_n[27]  = mprj_io_hldh_n[27];
+  assign \mprj_pads.hldh_n[26]  = mprj_io_hldh_n[26];
+  assign \mprj_pads.hldh_n[25]  = mprj_io_hldh_n[25];
+  assign \mprj_pads.hldh_n[24]  = mprj_io_hldh_n[24];
+  assign \mprj_pads.hldh_n[23]  = mprj_io_hldh_n[23];
+  assign \mprj_pads.hldh_n[22]  = mprj_io_hldh_n[22];
+  assign \mprj_pads.hldh_n[21]  = mprj_io_hldh_n[21];
+  assign \mprj_pads.hldh_n[20]  = mprj_io_hldh_n[20];
+  assign \mprj_pads.hldh_n[19]  = mprj_io_hldh_n[19];
+  assign \mprj_pads.hldh_n[18]  = mprj_io_hldh_n[18];
+  assign \mprj_pads.hldh_n[17]  = mprj_io_hldh_n[17];
+  assign \mprj_pads.hldh_n[16]  = mprj_io_hldh_n[16];
+  assign \mprj_pads.hldh_n[15]  = mprj_io_hldh_n[15];
+  assign \mprj_pads.hldh_n[14]  = mprj_io_hldh_n[14];
+  assign \mprj_pads.hldh_n[13]  = mprj_io_hldh_n[13];
+  assign \mprj_pads.hldh_n[12]  = mprj_io_hldh_n[12];
+  assign \mprj_pads.hldh_n[11]  = mprj_io_hldh_n[11];
+  assign \mprj_pads.hldh_n[10]  = mprj_io_hldh_n[10];
+  assign \mprj_pads.hldh_n[9]  = mprj_io_hldh_n[9];
+  assign \mprj_pads.hldh_n[8]  = mprj_io_hldh_n[8];
+  assign \mprj_pads.hldh_n[7]  = mprj_io_hldh_n[7];
+  assign \mprj_pads.hldh_n[6]  = mprj_io_hldh_n[6];
+  assign \mprj_pads.hldh_n[5]  = mprj_io_hldh_n[5];
+  assign \mprj_pads.hldh_n[4]  = mprj_io_hldh_n[4];
+  assign \mprj_pads.hldh_n[3]  = mprj_io_hldh_n[3];
+  assign \mprj_pads.hldh_n[2]  = mprj_io_hldh_n[2];
+  assign \mprj_pads.hldh_n[1]  = mprj_io_hldh_n[1];
+  assign \mprj_pads.hldh_n[0]  = mprj_io_hldh_n[0];
+  assign \dm_all[2]  = gpio_mode1_core;
+  assign \dm_all[1]  = gpio_mode1_core;
+  assign \dm_all[0]  = gpio_mode0_core;
+  assign \mprj_pads.analog_io[30]  = mprj_analog_io[30];
+  assign \mprj_pads.analog_io[29]  = mprj_analog_io[29];
+  assign \mprj_pads.analog_io[28]  = mprj_analog_io[28];
+  assign \mprj_pads.analog_io[27]  = mprj_analog_io[27];
+  assign \mprj_pads.analog_io[26]  = mprj_analog_io[26];
+  assign \mprj_pads.analog_io[25]  = mprj_analog_io[25];
+  assign \mprj_pads.analog_io[24]  = mprj_analog_io[24];
+  assign \mprj_pads.analog_io[23]  = mprj_analog_io[23];
+  assign \mprj_pads.analog_io[22]  = mprj_analog_io[22];
+  assign \mprj_pads.analog_io[21]  = mprj_analog_io[21];
+  assign \mprj_pads.analog_io[20]  = mprj_analog_io[20];
+  assign \mprj_pads.analog_io[19]  = mprj_analog_io[19];
+  assign \mprj_pads.analog_io[18]  = mprj_analog_io[18];
+  assign \mprj_pads.analog_io[17]  = mprj_analog_io[17];
+  assign \mprj_pads.analog_io[16]  = mprj_analog_io[16];
+  assign \mprj_pads.analog_io[15]  = mprj_analog_io[15];
+  assign \mprj_pads.analog_io[14]  = mprj_analog_io[14];
+  assign \mprj_pads.analog_io[13]  = mprj_analog_io[13];
+  assign \mprj_pads.analog_io[12]  = mprj_analog_io[12];
+  assign \mprj_pads.analog_io[11]  = mprj_analog_io[11];
+  assign \mprj_pads.analog_io[10]  = mprj_analog_io[10];
+  assign \mprj_pads.analog_io[9]  = mprj_analog_io[9];
+  assign \mprj_pads.analog_io[8]  = mprj_analog_io[8];
+  assign \mprj_pads.analog_io[7]  = mprj_analog_io[7];
+  assign \mprj_pads.analog_io[6]  = mprj_analog_io[6];
+  assign \mprj_pads.analog_io[5]  = mprj_analog_io[5];
+  assign \mprj_pads.analog_io[4]  = mprj_analog_io[4];
+  assign \mprj_pads.analog_io[3]  = mprj_analog_io[3];
+  assign \mprj_pads.analog_io[2]  = mprj_analog_io[2];
+  assign \mprj_pads.analog_io[1]  = mprj_analog_io[1];
+  assign \mprj_pads.analog_io[0]  = mprj_analog_io[0];
+  assign \mprj_pads.holdover[37]  = mprj_io_holdover[37];
+  assign \mprj_pads.holdover[36]  = mprj_io_holdover[36];
+  assign \mprj_pads.holdover[35]  = mprj_io_holdover[35];
+  assign \mprj_pads.holdover[34]  = mprj_io_holdover[34];
+  assign \mprj_pads.holdover[33]  = mprj_io_holdover[33];
+  assign \mprj_pads.holdover[32]  = mprj_io_holdover[32];
+  assign \mprj_pads.holdover[31]  = mprj_io_holdover[31];
+  assign \mprj_pads.holdover[30]  = mprj_io_holdover[30];
+  assign \mprj_pads.holdover[29]  = mprj_io_holdover[29];
+  assign \mprj_pads.holdover[28]  = mprj_io_holdover[28];
+  assign \mprj_pads.holdover[27]  = mprj_io_holdover[27];
+  assign \mprj_pads.holdover[26]  = mprj_io_holdover[26];
+  assign \mprj_pads.holdover[25]  = mprj_io_holdover[25];
+  assign \mprj_pads.holdover[24]  = mprj_io_holdover[24];
+  assign \mprj_pads.holdover[23]  = mprj_io_holdover[23];
+  assign \mprj_pads.holdover[22]  = mprj_io_holdover[22];
+  assign \mprj_pads.holdover[21]  = mprj_io_holdover[21];
+  assign \mprj_pads.holdover[20]  = mprj_io_holdover[20];
+  assign \mprj_pads.holdover[19]  = mprj_io_holdover[19];
+  assign \mprj_pads.holdover[18]  = mprj_io_holdover[18];
+  assign \mprj_pads.holdover[17]  = mprj_io_holdover[17];
+  assign \mprj_pads.holdover[16]  = mprj_io_holdover[16];
+  assign \mprj_pads.holdover[15]  = mprj_io_holdover[15];
+  assign \mprj_pads.holdover[14]  = mprj_io_holdover[14];
+  assign \mprj_pads.holdover[13]  = mprj_io_holdover[13];
+  assign \mprj_pads.holdover[12]  = mprj_io_holdover[12];
+  assign \mprj_pads.holdover[11]  = mprj_io_holdover[11];
+  assign \mprj_pads.holdover[10]  = mprj_io_holdover[10];
+  assign \mprj_pads.holdover[9]  = mprj_io_holdover[9];
+  assign \mprj_pads.holdover[8]  = mprj_io_holdover[8];
+  assign \mprj_pads.holdover[7]  = mprj_io_holdover[7];
+  assign \mprj_pads.holdover[6]  = mprj_io_holdover[6];
+  assign \mprj_pads.holdover[5]  = mprj_io_holdover[5];
+  assign \mprj_pads.holdover[4]  = mprj_io_holdover[4];
+  assign \mprj_pads.holdover[3]  = mprj_io_holdover[3];
+  assign \mprj_pads.holdover[2]  = mprj_io_holdover[2];
+  assign \mprj_pads.holdover[1]  = mprj_io_holdover[1];
+  assign \mprj_pads.holdover[0]  = mprj_io_holdover[0];
+  assign \mprj_pads.inp_dis[37]  = mprj_io_inp_dis[37];
+  assign \mprj_pads.inp_dis[36]  = mprj_io_inp_dis[36];
+  assign \mprj_pads.inp_dis[35]  = mprj_io_inp_dis[35];
+  assign \mprj_pads.inp_dis[34]  = mprj_io_inp_dis[34];
+  assign \mprj_pads.inp_dis[33]  = mprj_io_inp_dis[33];
+  assign \mprj_pads.inp_dis[32]  = mprj_io_inp_dis[32];
+  assign \mprj_pads.inp_dis[31]  = mprj_io_inp_dis[31];
+  assign \mprj_pads.inp_dis[30]  = mprj_io_inp_dis[30];
+  assign \mprj_pads.inp_dis[29]  = mprj_io_inp_dis[29];
+  assign \mprj_pads.inp_dis[28]  = mprj_io_inp_dis[28];
+  assign \mprj_pads.inp_dis[27]  = mprj_io_inp_dis[27];
+  assign \mprj_pads.inp_dis[26]  = mprj_io_inp_dis[26];
+  assign \mprj_pads.inp_dis[25]  = mprj_io_inp_dis[25];
+  assign \mprj_pads.inp_dis[24]  = mprj_io_inp_dis[24];
+  assign \mprj_pads.inp_dis[23]  = mprj_io_inp_dis[23];
+  assign \mprj_pads.inp_dis[22]  = mprj_io_inp_dis[22];
+  assign \mprj_pads.inp_dis[21]  = mprj_io_inp_dis[21];
+  assign \mprj_pads.inp_dis[20]  = mprj_io_inp_dis[20];
+  assign \mprj_pads.inp_dis[19]  = mprj_io_inp_dis[19];
+  assign \mprj_pads.inp_dis[18]  = mprj_io_inp_dis[18];
+  assign \mprj_pads.inp_dis[17]  = mprj_io_inp_dis[17];
+  assign \mprj_pads.inp_dis[16]  = mprj_io_inp_dis[16];
+  assign \mprj_pads.inp_dis[15]  = mprj_io_inp_dis[15];
+  assign \mprj_pads.inp_dis[14]  = mprj_io_inp_dis[14];
+  assign \mprj_pads.inp_dis[13]  = mprj_io_inp_dis[13];
+  assign \mprj_pads.inp_dis[12]  = mprj_io_inp_dis[12];
+  assign \mprj_pads.inp_dis[11]  = mprj_io_inp_dis[11];
+  assign \mprj_pads.inp_dis[10]  = mprj_io_inp_dis[10];
+  assign \mprj_pads.inp_dis[9]  = mprj_io_inp_dis[9];
+  assign \mprj_pads.inp_dis[8]  = mprj_io_inp_dis[8];
+  assign \mprj_pads.inp_dis[7]  = mprj_io_inp_dis[7];
+  assign \mprj_pads.inp_dis[6]  = mprj_io_inp_dis[6];
+  assign \mprj_pads.inp_dis[5]  = mprj_io_inp_dis[5];
+  assign \mprj_pads.inp_dis[4]  = mprj_io_inp_dis[4];
+  assign \mprj_pads.inp_dis[3]  = mprj_io_inp_dis[3];
+  assign \mprj_pads.inp_dis[2]  = mprj_io_inp_dis[2];
+  assign \mprj_pads.inp_dis[1]  = mprj_io_inp_dis[1];
+  assign \mprj_pads.inp_dis[0]  = mprj_io_inp_dis[0];
+  assign \mprj_pads.io[37]  = mprj_io[37];
+  assign \mprj_pads.io[36]  = mprj_io[36];
+  assign \mprj_pads.io[35]  = mprj_io[35];
+  assign \mprj_pads.io[34]  = mprj_io[34];
+  assign \mprj_pads.io[33]  = mprj_io[33];
+  assign \mprj_pads.io[32]  = mprj_io[32];
+  assign \mprj_pads.io[31]  = mprj_io[31];
+  assign \mprj_pads.io[30]  = mprj_io[30];
+  assign \mprj_pads.io[29]  = mprj_io[29];
+  assign \mprj_pads.io[28]  = mprj_io[28];
+  assign \mprj_pads.io[27]  = mprj_io[27];
+  assign \mprj_pads.io[26]  = mprj_io[26];
+  assign \mprj_pads.io[25]  = mprj_io[25];
+  assign \mprj_pads.io[24]  = mprj_io[24];
+  assign \mprj_pads.io[23]  = mprj_io[23];
+  assign \mprj_pads.io[22]  = mprj_io[22];
+  assign \mprj_pads.io[21]  = mprj_io[21];
+  assign \mprj_pads.io[20]  = mprj_io[20];
+  assign \mprj_pads.io[19]  = mprj_io[19];
+  assign \mprj_pads.io[18]  = mprj_io[18];
+  assign \mprj_pads.io[17]  = mprj_io[17];
+  assign \mprj_pads.io[16]  = mprj_io[16];
+  assign \mprj_pads.io[15]  = mprj_io[15];
+  assign \mprj_pads.io[14]  = mprj_io[14];
+  assign \mprj_pads.io[13]  = mprj_io[13];
+  assign \mprj_pads.io[12]  = mprj_io[12];
+  assign \mprj_pads.io[11]  = mprj_io[11];
+  assign \mprj_pads.io[10]  = mprj_io[10];
+  assign \mprj_pads.io[9]  = mprj_io[9];
+  assign \mprj_pads.io[8]  = mprj_io[8];
+  assign \mprj_pads.io[7]  = mprj_io[7];
+  assign \mprj_pads.io[6]  = mprj_io[6];
+  assign \mprj_pads.io[5]  = mprj_io[5];
+  assign \mprj_pads.io[4]  = mprj_io[4];
+  assign \mprj_pads.io[3]  = mprj_io[3];
+  assign \mprj_pads.io[2]  = mprj_io[2];
+  assign \mprj_pads.io[1]  = mprj_io[1];
+  assign \mprj_pads.io[0]  = mprj_io[0];
   assign \mprj_pads.vtrip_sel[37]  = mprj_io_vtrip_sel[37];
   assign \mprj_pads.vtrip_sel[36]  = mprj_io_vtrip_sel[36];
   assign \mprj_pads.vtrip_sel[35]  = mprj_io_vtrip_sel[35];
@@ -2393,44 +3324,9 @@
   assign \mprj_pads.ib_mode_sel[2]  = mprj_io_ib_mode_sel[2];
   assign \mprj_pads.ib_mode_sel[1]  = mprj_io_ib_mode_sel[1];
   assign \mprj_pads.ib_mode_sel[0]  = mprj_io_ib_mode_sel[0];
-  assign \mprj_pads.io_out[37]  = mprj_io_out[37];
-  assign \mprj_pads.io_out[36]  = mprj_io_out[36];
-  assign \mprj_pads.io_out[35]  = mprj_io_out[35];
-  assign \mprj_pads.io_out[34]  = mprj_io_out[34];
-  assign \mprj_pads.io_out[33]  = mprj_io_out[33];
-  assign \mprj_pads.io_out[32]  = mprj_io_out[32];
-  assign \mprj_pads.io_out[31]  = mprj_io_out[31];
-  assign \mprj_pads.io_out[30]  = mprj_io_out[30];
-  assign \mprj_pads.io_out[29]  = mprj_io_out[29];
-  assign \mprj_pads.io_out[28]  = mprj_io_out[28];
-  assign \mprj_pads.io_out[27]  = mprj_io_out[27];
-  assign \mprj_pads.io_out[26]  = mprj_io_out[26];
-  assign \mprj_pads.io_out[25]  = mprj_io_out[25];
-  assign \mprj_pads.io_out[24]  = mprj_io_out[24];
-  assign \mprj_pads.io_out[23]  = mprj_io_out[23];
-  assign \mprj_pads.io_out[22]  = mprj_io_out[22];
-  assign \mprj_pads.io_out[21]  = mprj_io_out[21];
-  assign \mprj_pads.io_out[20]  = mprj_io_out[20];
-  assign \mprj_pads.io_out[19]  = mprj_io_out[19];
-  assign \mprj_pads.io_out[18]  = mprj_io_out[18];
-  assign \mprj_pads.io_out[17]  = mprj_io_out[17];
-  assign \mprj_pads.io_out[16]  = mprj_io_out[16];
-  assign \mprj_pads.io_out[15]  = mprj_io_out[15];
-  assign \mprj_pads.io_out[14]  = mprj_io_out[14];
-  assign \mprj_pads.io_out[13]  = mprj_io_out[13];
-  assign \mprj_pads.io_out[12]  = mprj_io_out[12];
-  assign \mprj_pads.io_out[11]  = mprj_io_out[11];
-  assign \mprj_pads.io_out[10]  = mprj_io_out[10];
-  assign \mprj_pads.io_out[9]  = mprj_io_out[9];
-  assign \mprj_pads.io_out[8]  = mprj_io_out[8];
-  assign \mprj_pads.io_out[7]  = mprj_io_out[7];
-  assign \mprj_pads.io_out[6]  = mprj_io_out[6];
-  assign \mprj_pads.io_out[5]  = mprj_io_out[5];
-  assign \mprj_pads.io_out[4]  = mprj_io_out[4];
-  assign \mprj_pads.io_out[3]  = mprj_io_out[3];
-  assign \mprj_pads.io_out[2]  = mprj_io_out[2];
-  assign \mprj_pads.io_out[1]  = mprj_io_out[1];
-  assign \mprj_pads.io_out[0]  = mprj_io_out[0];
+  assign \flash_io0_mode[2]  = flash_io0_ieb_core;
+  assign \flash_io0_mode[1]  = flash_io0_ieb_core;
+  assign \flash_io0_mode[0]  = flash_io0_oeb_core;
   assign \mprj_pads.enh[37]  = mprj_io_enh[37];
   assign \mprj_pads.enh[36]  = mprj_io_enh[36];
   assign \mprj_pads.enh[35]  = mprj_io_enh[35];
@@ -2469,113 +3365,44 @@
   assign \mprj_pads.enh[2]  = mprj_io_enh[2];
   assign \mprj_pads.enh[1]  = mprj_io_enh[1];
   assign \mprj_pads.enh[0]  = mprj_io_enh[0];
-  assign \mprj_pads.hldh_n[37]  = mprj_io_hldh_n[37];
-  assign \mprj_pads.hldh_n[36]  = mprj_io_hldh_n[36];
-  assign \mprj_pads.hldh_n[35]  = mprj_io_hldh_n[35];
-  assign \mprj_pads.hldh_n[34]  = mprj_io_hldh_n[34];
-  assign \mprj_pads.hldh_n[33]  = mprj_io_hldh_n[33];
-  assign \mprj_pads.hldh_n[32]  = mprj_io_hldh_n[32];
-  assign \mprj_pads.hldh_n[31]  = mprj_io_hldh_n[31];
-  assign \mprj_pads.hldh_n[30]  = mprj_io_hldh_n[30];
-  assign \mprj_pads.hldh_n[29]  = mprj_io_hldh_n[29];
-  assign \mprj_pads.hldh_n[28]  = mprj_io_hldh_n[28];
-  assign \mprj_pads.hldh_n[27]  = mprj_io_hldh_n[27];
-  assign \mprj_pads.hldh_n[26]  = mprj_io_hldh_n[26];
-  assign \mprj_pads.hldh_n[25]  = mprj_io_hldh_n[25];
-  assign \mprj_pads.hldh_n[24]  = mprj_io_hldh_n[24];
-  assign \mprj_pads.hldh_n[23]  = mprj_io_hldh_n[23];
-  assign \mprj_pads.hldh_n[22]  = mprj_io_hldh_n[22];
-  assign \mprj_pads.hldh_n[21]  = mprj_io_hldh_n[21];
-  assign \mprj_pads.hldh_n[20]  = mprj_io_hldh_n[20];
-  assign \mprj_pads.hldh_n[19]  = mprj_io_hldh_n[19];
-  assign \mprj_pads.hldh_n[18]  = mprj_io_hldh_n[18];
-  assign \mprj_pads.hldh_n[17]  = mprj_io_hldh_n[17];
-  assign \mprj_pads.hldh_n[16]  = mprj_io_hldh_n[16];
-  assign \mprj_pads.hldh_n[15]  = mprj_io_hldh_n[15];
-  assign \mprj_pads.hldh_n[14]  = mprj_io_hldh_n[14];
-  assign \mprj_pads.hldh_n[13]  = mprj_io_hldh_n[13];
-  assign \mprj_pads.hldh_n[12]  = mprj_io_hldh_n[12];
-  assign \mprj_pads.hldh_n[11]  = mprj_io_hldh_n[11];
-  assign \mprj_pads.hldh_n[10]  = mprj_io_hldh_n[10];
-  assign \mprj_pads.hldh_n[9]  = mprj_io_hldh_n[9];
-  assign \mprj_pads.hldh_n[8]  = mprj_io_hldh_n[8];
-  assign \mprj_pads.hldh_n[7]  = mprj_io_hldh_n[7];
-  assign \mprj_pads.hldh_n[6]  = mprj_io_hldh_n[6];
-  assign \mprj_pads.hldh_n[5]  = mprj_io_hldh_n[5];
-  assign \mprj_pads.hldh_n[4]  = mprj_io_hldh_n[4];
-  assign \mprj_pads.hldh_n[3]  = mprj_io_hldh_n[3];
-  assign \mprj_pads.hldh_n[2]  = mprj_io_hldh_n[2];
-  assign \mprj_pads.hldh_n[1]  = mprj_io_hldh_n[1];
-  assign \mprj_pads.hldh_n[0]  = mprj_io_hldh_n[0];
-  assign \mprj_pads.analog_io[30]  = mprj_analog_io[30];
-  assign \mprj_pads.analog_io[29]  = mprj_analog_io[29];
-  assign \mprj_pads.analog_io[28]  = mprj_analog_io[28];
-  assign \mprj_pads.analog_io[27]  = mprj_analog_io[27];
-  assign \mprj_pads.analog_io[26]  = mprj_analog_io[26];
-  assign \mprj_pads.analog_io[25]  = mprj_analog_io[25];
-  assign \mprj_pads.analog_io[24]  = mprj_analog_io[24];
-  assign \mprj_pads.analog_io[23]  = mprj_analog_io[23];
-  assign \mprj_pads.analog_io[22]  = mprj_analog_io[22];
-  assign \mprj_pads.analog_io[21]  = mprj_analog_io[21];
-  assign \mprj_pads.analog_io[20]  = mprj_analog_io[20];
-  assign \mprj_pads.analog_io[19]  = mprj_analog_io[19];
-  assign \mprj_pads.analog_io[18]  = mprj_analog_io[18];
-  assign \mprj_pads.analog_io[17]  = mprj_analog_io[17];
-  assign \mprj_pads.analog_io[16]  = mprj_analog_io[16];
-  assign \mprj_pads.analog_io[15]  = mprj_analog_io[15];
-  assign \mprj_pads.analog_io[14]  = mprj_analog_io[14];
-  assign \mprj_pads.analog_io[13]  = mprj_analog_io[13];
-  assign \mprj_pads.analog_io[12]  = mprj_analog_io[12];
-  assign \mprj_pads.analog_io[11]  = mprj_analog_io[11];
-  assign \mprj_pads.analog_io[10]  = mprj_analog_io[10];
-  assign \mprj_pads.analog_io[9]  = mprj_analog_io[9];
-  assign \mprj_pads.analog_io[8]  = mprj_analog_io[8];
-  assign \mprj_pads.analog_io[7]  = mprj_analog_io[7];
-  assign \mprj_pads.analog_io[6]  = mprj_analog_io[6];
-  assign \mprj_pads.analog_io[5]  = mprj_analog_io[5];
-  assign \mprj_pads.analog_io[4]  = mprj_analog_io[4];
-  assign \mprj_pads.analog_io[3]  = mprj_analog_io[3];
-  assign \mprj_pads.analog_io[2]  = mprj_analog_io[2];
-  assign \mprj_pads.analog_io[1]  = mprj_analog_io[1];
-  assign \mprj_pads.analog_io[0]  = mprj_analog_io[0];
-  assign \mprj_pads.analog_pol[37]  = mprj_io_analog_pol[37];
-  assign \mprj_pads.analog_pol[36]  = mprj_io_analog_pol[36];
-  assign \mprj_pads.analog_pol[35]  = mprj_io_analog_pol[35];
-  assign \mprj_pads.analog_pol[34]  = mprj_io_analog_pol[34];
-  assign \mprj_pads.analog_pol[33]  = mprj_io_analog_pol[33];
-  assign \mprj_pads.analog_pol[32]  = mprj_io_analog_pol[32];
-  assign \mprj_pads.analog_pol[31]  = mprj_io_analog_pol[31];
-  assign \mprj_pads.analog_pol[30]  = mprj_io_analog_pol[30];
-  assign \mprj_pads.analog_pol[29]  = mprj_io_analog_pol[29];
-  assign \mprj_pads.analog_pol[28]  = mprj_io_analog_pol[28];
-  assign \mprj_pads.analog_pol[27]  = mprj_io_analog_pol[27];
-  assign \mprj_pads.analog_pol[26]  = mprj_io_analog_pol[26];
-  assign \mprj_pads.analog_pol[25]  = mprj_io_analog_pol[25];
-  assign \mprj_pads.analog_pol[24]  = mprj_io_analog_pol[24];
-  assign \mprj_pads.analog_pol[23]  = mprj_io_analog_pol[23];
-  assign \mprj_pads.analog_pol[22]  = mprj_io_analog_pol[22];
-  assign \mprj_pads.analog_pol[21]  = mprj_io_analog_pol[21];
-  assign \mprj_pads.analog_pol[20]  = mprj_io_analog_pol[20];
-  assign \mprj_pads.analog_pol[19]  = mprj_io_analog_pol[19];
-  assign \mprj_pads.analog_pol[18]  = mprj_io_analog_pol[18];
-  assign \mprj_pads.analog_pol[17]  = mprj_io_analog_pol[17];
-  assign \mprj_pads.analog_pol[16]  = mprj_io_analog_pol[16];
-  assign \mprj_pads.analog_pol[15]  = mprj_io_analog_pol[15];
-  assign \mprj_pads.analog_pol[14]  = mprj_io_analog_pol[14];
-  assign \mprj_pads.analog_pol[13]  = mprj_io_analog_pol[13];
-  assign \mprj_pads.analog_pol[12]  = mprj_io_analog_pol[12];
-  assign \mprj_pads.analog_pol[11]  = mprj_io_analog_pol[11];
-  assign \mprj_pads.analog_pol[10]  = mprj_io_analog_pol[10];
-  assign \mprj_pads.analog_pol[9]  = mprj_io_analog_pol[9];
-  assign \mprj_pads.analog_pol[8]  = mprj_io_analog_pol[8];
-  assign \mprj_pads.analog_pol[7]  = mprj_io_analog_pol[7];
-  assign \mprj_pads.analog_pol[6]  = mprj_io_analog_pol[6];
-  assign \mprj_pads.analog_pol[5]  = mprj_io_analog_pol[5];
-  assign \mprj_pads.analog_pol[4]  = mprj_io_analog_pol[4];
-  assign \mprj_pads.analog_pol[3]  = mprj_io_analog_pol[3];
-  assign \mprj_pads.analog_pol[2]  = mprj_io_analog_pol[2];
-  assign \mprj_pads.analog_pol[1]  = mprj_io_analog_pol[1];
-  assign \mprj_pads.analog_pol[0]  = mprj_io_analog_pol[0];
+  assign \mprj_pads.oeb[37]  = mprj_io_oeb[37];
+  assign \mprj_pads.oeb[36]  = mprj_io_oeb[36];
+  assign \mprj_pads.oeb[35]  = mprj_io_oeb[35];
+  assign \mprj_pads.oeb[34]  = mprj_io_oeb[34];
+  assign \mprj_pads.oeb[33]  = mprj_io_oeb[33];
+  assign \mprj_pads.oeb[32]  = mprj_io_oeb[32];
+  assign \mprj_pads.oeb[31]  = mprj_io_oeb[31];
+  assign \mprj_pads.oeb[30]  = mprj_io_oeb[30];
+  assign \mprj_pads.oeb[29]  = mprj_io_oeb[29];
+  assign \mprj_pads.oeb[28]  = mprj_io_oeb[28];
+  assign \mprj_pads.oeb[27]  = mprj_io_oeb[27];
+  assign \mprj_pads.oeb[26]  = mprj_io_oeb[26];
+  assign \mprj_pads.oeb[25]  = mprj_io_oeb[25];
+  assign \mprj_pads.oeb[24]  = mprj_io_oeb[24];
+  assign \mprj_pads.oeb[23]  = mprj_io_oeb[23];
+  assign \mprj_pads.oeb[22]  = mprj_io_oeb[22];
+  assign \mprj_pads.oeb[21]  = mprj_io_oeb[21];
+  assign \mprj_pads.oeb[20]  = mprj_io_oeb[20];
+  assign \mprj_pads.oeb[19]  = mprj_io_oeb[19];
+  assign \mprj_pads.oeb[18]  = mprj_io_oeb[18];
+  assign \mprj_pads.oeb[17]  = mprj_io_oeb[17];
+  assign \mprj_pads.oeb[16]  = mprj_io_oeb[16];
+  assign \mprj_pads.oeb[15]  = mprj_io_oeb[15];
+  assign \mprj_pads.oeb[14]  = mprj_io_oeb[14];
+  assign \mprj_pads.oeb[13]  = mprj_io_oeb[13];
+  assign \mprj_pads.oeb[12]  = mprj_io_oeb[12];
+  assign \mprj_pads.oeb[11]  = mprj_io_oeb[11];
+  assign \mprj_pads.oeb[10]  = mprj_io_oeb[10];
+  assign \mprj_pads.oeb[9]  = mprj_io_oeb[9];
+  assign \mprj_pads.oeb[8]  = mprj_io_oeb[8];
+  assign \mprj_pads.oeb[7]  = mprj_io_oeb[7];
+  assign \mprj_pads.oeb[6]  = mprj_io_oeb[6];
+  assign \mprj_pads.oeb[5]  = mprj_io_oeb[5];
+  assign \mprj_pads.oeb[4]  = mprj_io_oeb[4];
+  assign \mprj_pads.oeb[3]  = mprj_io_oeb[3];
+  assign \mprj_pads.oeb[2]  = mprj_io_oeb[2];
+  assign \mprj_pads.oeb[1]  = mprj_io_oeb[1];
+  assign \mprj_pads.oeb[0]  = mprj_io_oeb[0];
   assign \mprj_pads.slow_sel[37]  = mprj_io_slow_sel[37];
   assign \mprj_pads.slow_sel[36]  = mprj_io_slow_sel[36];
   assign \mprj_pads.slow_sel[35]  = mprj_io_slow_sel[35];
@@ -2614,82 +3441,6 @@
   assign \mprj_pads.slow_sel[2]  = mprj_io_slow_sel[2];
   assign \mprj_pads.slow_sel[1]  = mprj_io_slow_sel[1];
   assign \mprj_pads.slow_sel[0]  = mprj_io_slow_sel[0];
-  assign \mprj_pads.holdover[37]  = mprj_io_holdover[37];
-  assign \mprj_pads.holdover[36]  = mprj_io_holdover[36];
-  assign \mprj_pads.holdover[35]  = mprj_io_holdover[35];
-  assign \mprj_pads.holdover[34]  = mprj_io_holdover[34];
-  assign \mprj_pads.holdover[33]  = mprj_io_holdover[33];
-  assign \mprj_pads.holdover[32]  = mprj_io_holdover[32];
-  assign \mprj_pads.holdover[31]  = mprj_io_holdover[31];
-  assign \mprj_pads.holdover[30]  = mprj_io_holdover[30];
-  assign \mprj_pads.holdover[29]  = mprj_io_holdover[29];
-  assign \mprj_pads.holdover[28]  = mprj_io_holdover[28];
-  assign \mprj_pads.holdover[27]  = mprj_io_holdover[27];
-  assign \mprj_pads.holdover[26]  = mprj_io_holdover[26];
-  assign \mprj_pads.holdover[25]  = mprj_io_holdover[25];
-  assign \mprj_pads.holdover[24]  = mprj_io_holdover[24];
-  assign \mprj_pads.holdover[23]  = mprj_io_holdover[23];
-  assign \mprj_pads.holdover[22]  = mprj_io_holdover[22];
-  assign \mprj_pads.holdover[21]  = mprj_io_holdover[21];
-  assign \mprj_pads.holdover[20]  = mprj_io_holdover[20];
-  assign \mprj_pads.holdover[19]  = mprj_io_holdover[19];
-  assign \mprj_pads.holdover[18]  = mprj_io_holdover[18];
-  assign \mprj_pads.holdover[17]  = mprj_io_holdover[17];
-  assign \mprj_pads.holdover[16]  = mprj_io_holdover[16];
-  assign \mprj_pads.holdover[15]  = mprj_io_holdover[15];
-  assign \mprj_pads.holdover[14]  = mprj_io_holdover[14];
-  assign \mprj_pads.holdover[13]  = mprj_io_holdover[13];
-  assign \mprj_pads.holdover[12]  = mprj_io_holdover[12];
-  assign \mprj_pads.holdover[11]  = mprj_io_holdover[11];
-  assign \mprj_pads.holdover[10]  = mprj_io_holdover[10];
-  assign \mprj_pads.holdover[9]  = mprj_io_holdover[9];
-  assign \mprj_pads.holdover[8]  = mprj_io_holdover[8];
-  assign \mprj_pads.holdover[7]  = mprj_io_holdover[7];
-  assign \mprj_pads.holdover[6]  = mprj_io_holdover[6];
-  assign \mprj_pads.holdover[5]  = mprj_io_holdover[5];
-  assign \mprj_pads.holdover[4]  = mprj_io_holdover[4];
-  assign \mprj_pads.holdover[3]  = mprj_io_holdover[3];
-  assign \mprj_pads.holdover[2]  = mprj_io_holdover[2];
-  assign \mprj_pads.holdover[1]  = mprj_io_holdover[1];
-  assign \mprj_pads.holdover[0]  = mprj_io_holdover[0];
-  assign \mprj_pads.io[37]  = mprj_io[37];
-  assign \mprj_pads.io[36]  = mprj_io[36];
-  assign \mprj_pads.io[35]  = mprj_io[35];
-  assign \mprj_pads.io[34]  = mprj_io[34];
-  assign \mprj_pads.io[33]  = mprj_io[33];
-  assign \mprj_pads.io[32]  = mprj_io[32];
-  assign \mprj_pads.io[31]  = mprj_io[31];
-  assign \mprj_pads.io[30]  = mprj_io[30];
-  assign \mprj_pads.io[29]  = mprj_io[29];
-  assign \mprj_pads.io[28]  = mprj_io[28];
-  assign \mprj_pads.io[27]  = mprj_io[27];
-  assign \mprj_pads.io[26]  = mprj_io[26];
-  assign \mprj_pads.io[25]  = mprj_io[25];
-  assign \mprj_pads.io[24]  = mprj_io[24];
-  assign \mprj_pads.io[23]  = mprj_io[23];
-  assign \mprj_pads.io[22]  = mprj_io[22];
-  assign \mprj_pads.io[21]  = mprj_io[21];
-  assign \mprj_pads.io[20]  = mprj_io[20];
-  assign \mprj_pads.io[19]  = mprj_io[19];
-  assign \mprj_pads.io[18]  = mprj_io[18];
-  assign \mprj_pads.io[17]  = mprj_io[17];
-  assign \mprj_pads.io[16]  = mprj_io[16];
-  assign \mprj_pads.io[15]  = mprj_io[15];
-  assign \mprj_pads.io[14]  = mprj_io[14];
-  assign \mprj_pads.io[13]  = mprj_io[13];
-  assign \mprj_pads.io[12]  = mprj_io[12];
-  assign \mprj_pads.io[11]  = mprj_io[11];
-  assign \mprj_pads.io[10]  = mprj_io[10];
-  assign \mprj_pads.io[9]  = mprj_io[9];
-  assign \mprj_pads.io[8]  = mprj_io[8];
-  assign \mprj_pads.io[7]  = mprj_io[7];
-  assign \mprj_pads.io[6]  = mprj_io[6];
-  assign \mprj_pads.io[5]  = mprj_io[5];
-  assign \mprj_pads.io[4]  = mprj_io[4];
-  assign \mprj_pads.io[3]  = mprj_io[3];
-  assign \mprj_pads.io[2]  = mprj_io[2];
-  assign \mprj_pads.io[1]  = mprj_io[1];
-  assign \mprj_pads.io[0]  = mprj_io[0];
   assign \mprj_pads.analog_en[37]  = mprj_io_analog_en[37];
   assign \mprj_pads.analog_en[36]  = mprj_io_analog_en[36];
   assign \mprj_pads.analog_en[35]  = mprj_io_analog_en[35];
@@ -2728,6 +3479,82 @@
   assign \mprj_pads.analog_en[2]  = mprj_io_analog_en[2];
   assign \mprj_pads.analog_en[1]  = mprj_io_analog_en[1];
   assign \mprj_pads.analog_en[0]  = mprj_io_analog_en[0];
+  assign \mprj_pads.io_out[37]  = mprj_io_out[37];
+  assign \mprj_pads.io_out[36]  = mprj_io_out[36];
+  assign \mprj_pads.io_out[35]  = mprj_io_out[35];
+  assign \mprj_pads.io_out[34]  = mprj_io_out[34];
+  assign \mprj_pads.io_out[33]  = mprj_io_out[33];
+  assign \mprj_pads.io_out[32]  = mprj_io_out[32];
+  assign \mprj_pads.io_out[31]  = mprj_io_out[31];
+  assign \mprj_pads.io_out[30]  = mprj_io_out[30];
+  assign \mprj_pads.io_out[29]  = mprj_io_out[29];
+  assign \mprj_pads.io_out[28]  = mprj_io_out[28];
+  assign \mprj_pads.io_out[27]  = mprj_io_out[27];
+  assign \mprj_pads.io_out[26]  = mprj_io_out[26];
+  assign \mprj_pads.io_out[25]  = mprj_io_out[25];
+  assign \mprj_pads.io_out[24]  = mprj_io_out[24];
+  assign \mprj_pads.io_out[23]  = mprj_io_out[23];
+  assign \mprj_pads.io_out[22]  = mprj_io_out[22];
+  assign \mprj_pads.io_out[21]  = mprj_io_out[21];
+  assign \mprj_pads.io_out[20]  = mprj_io_out[20];
+  assign \mprj_pads.io_out[19]  = mprj_io_out[19];
+  assign \mprj_pads.io_out[18]  = mprj_io_out[18];
+  assign \mprj_pads.io_out[17]  = mprj_io_out[17];
+  assign \mprj_pads.io_out[16]  = mprj_io_out[16];
+  assign \mprj_pads.io_out[15]  = mprj_io_out[15];
+  assign \mprj_pads.io_out[14]  = mprj_io_out[14];
+  assign \mprj_pads.io_out[13]  = mprj_io_out[13];
+  assign \mprj_pads.io_out[12]  = mprj_io_out[12];
+  assign \mprj_pads.io_out[11]  = mprj_io_out[11];
+  assign \mprj_pads.io_out[10]  = mprj_io_out[10];
+  assign \mprj_pads.io_out[9]  = mprj_io_out[9];
+  assign \mprj_pads.io_out[8]  = mprj_io_out[8];
+  assign \mprj_pads.io_out[7]  = mprj_io_out[7];
+  assign \mprj_pads.io_out[6]  = mprj_io_out[6];
+  assign \mprj_pads.io_out[5]  = mprj_io_out[5];
+  assign \mprj_pads.io_out[4]  = mprj_io_out[4];
+  assign \mprj_pads.io_out[3]  = mprj_io_out[3];
+  assign \mprj_pads.io_out[2]  = mprj_io_out[2];
+  assign \mprj_pads.io_out[1]  = mprj_io_out[1];
+  assign \mprj_pads.io_out[0]  = mprj_io_out[0];
+  assign \mprj_pads.analog_sel[37]  = mprj_io_analog_sel[37];
+  assign \mprj_pads.analog_sel[36]  = mprj_io_analog_sel[36];
+  assign \mprj_pads.analog_sel[35]  = mprj_io_analog_sel[35];
+  assign \mprj_pads.analog_sel[34]  = mprj_io_analog_sel[34];
+  assign \mprj_pads.analog_sel[33]  = mprj_io_analog_sel[33];
+  assign \mprj_pads.analog_sel[32]  = mprj_io_analog_sel[32];
+  assign \mprj_pads.analog_sel[31]  = mprj_io_analog_sel[31];
+  assign \mprj_pads.analog_sel[30]  = mprj_io_analog_sel[30];
+  assign \mprj_pads.analog_sel[29]  = mprj_io_analog_sel[29];
+  assign \mprj_pads.analog_sel[28]  = mprj_io_analog_sel[28];
+  assign \mprj_pads.analog_sel[27]  = mprj_io_analog_sel[27];
+  assign \mprj_pads.analog_sel[26]  = mprj_io_analog_sel[26];
+  assign \mprj_pads.analog_sel[25]  = mprj_io_analog_sel[25];
+  assign \mprj_pads.analog_sel[24]  = mprj_io_analog_sel[24];
+  assign \mprj_pads.analog_sel[23]  = mprj_io_analog_sel[23];
+  assign \mprj_pads.analog_sel[22]  = mprj_io_analog_sel[22];
+  assign \mprj_pads.analog_sel[21]  = mprj_io_analog_sel[21];
+  assign \mprj_pads.analog_sel[20]  = mprj_io_analog_sel[20];
+  assign \mprj_pads.analog_sel[19]  = mprj_io_analog_sel[19];
+  assign \mprj_pads.analog_sel[18]  = mprj_io_analog_sel[18];
+  assign \mprj_pads.analog_sel[17]  = mprj_io_analog_sel[17];
+  assign \mprj_pads.analog_sel[16]  = mprj_io_analog_sel[16];
+  assign \mprj_pads.analog_sel[15]  = mprj_io_analog_sel[15];
+  assign \mprj_pads.analog_sel[14]  = mprj_io_analog_sel[14];
+  assign \mprj_pads.analog_sel[13]  = mprj_io_analog_sel[13];
+  assign \mprj_pads.analog_sel[12]  = mprj_io_analog_sel[12];
+  assign \mprj_pads.analog_sel[11]  = mprj_io_analog_sel[11];
+  assign \mprj_pads.analog_sel[10]  = mprj_io_analog_sel[10];
+  assign \mprj_pads.analog_sel[9]  = mprj_io_analog_sel[9];
+  assign \mprj_pads.analog_sel[8]  = mprj_io_analog_sel[8];
+  assign \mprj_pads.analog_sel[7]  = mprj_io_analog_sel[7];
+  assign \mprj_pads.analog_sel[6]  = mprj_io_analog_sel[6];
+  assign \mprj_pads.analog_sel[5]  = mprj_io_analog_sel[5];
+  assign \mprj_pads.analog_sel[4]  = mprj_io_analog_sel[4];
+  assign \mprj_pads.analog_sel[3]  = mprj_io_analog_sel[3];
+  assign \mprj_pads.analog_sel[2]  = mprj_io_analog_sel[2];
+  assign \mprj_pads.analog_sel[1]  = mprj_io_analog_sel[1];
+  assign \mprj_pads.analog_sel[0]  = mprj_io_analog_sel[0];
   assign \mprj_pads.vddio  = vddio;
   assign \mprj_pads.vssio  = vssio;
   assign \mprj_pads.vccd  = vccd;
@@ -2741,27 +3568,27 @@
   assign \mprj_pads.vssd1  = vssd1;
   assign \mprj_pads.vssd2  = vssd2;
   assign \mprj_pads.porb_h  = porb_h;
-  assign \mprj_pads.inp_dis[27]  = mprj_io_inp_dis[27];
-  assign \mprj_pads.inp_dis[35]  = mprj_io_inp_dis[35];
-  assign \dm_all[2]  = gpio_mode1_core;
-  assign \mprj_pads.inp_dis[33]  = mprj_io_inp_dis[33];
-  assign \mprj_pads.inp_dis[34]  = mprj_io_inp_dis[34];
-  assign \flash_io1_mode[2]  = flash_io1_ieb_core;
-  assign \mprj_pads.inp_dis[36]  = mprj_io_inp_dis[36];
-  assign \mprj_pads.inp_dis[37]  = mprj_io_inp_dis[37];
-  assign \mprj_pads.inp_dis[29]  = mprj_io_inp_dis[29];
-  assign \mprj_pads.inp_dis[28]  = mprj_io_inp_dis[28];
-  assign \mprj_pads.inp_dis[26]  = mprj_io_inp_dis[26];
-  assign \flash_io1_mode[0]  = flash_io1_oeb_core;
-  assign \mprj_pads.inp_dis[31]  = mprj_io_inp_dis[31];
-  assign \dm_all[1]  = gpio_mode1_core;
-  assign \mprj_pads.inp_dis[30]  = mprj_io_inp_dis[30];
-  assign \mprj_pads.inp_dis[32]  = mprj_io_inp_dis[32];
-  assign \dm_all[0]  = gpio_mode0_core;
-  assign \flash_io1_mode[1]  = flash_io1_ieb_core;
-  assign \flash_io0_mode[1]  = flash_io0_ieb_core;
-  assign \flash_io0_mode[2]  = flash_io0_ieb_core;
-  assign \flash_io0_mode[0]  = flash_io0_oeb_core;
+  assign \mprj_pads.dm[104]  = mprj_io_dm[104];
+  assign \mprj_pads.dm[94]  = mprj_io_dm[94];
+  assign \mprj_pads.dm[99]  = mprj_io_dm[99];
+  assign \mprj_pads.dm[110]  = mprj_io_dm[110];
+  assign \mprj_pads.dm[100]  = mprj_io_dm[100];
+  assign \mprj_pads.dm[105]  = mprj_io_dm[105];
+  assign \mprj_pads.dm[102]  = mprj_io_dm[102];
+  assign \mprj_pads.dm[103]  = mprj_io_dm[103];
+  assign \mprj_pads.dm[96]  = mprj_io_dm[96];
+  assign \mprj_pads.dm[107]  = mprj_io_dm[107];
+  assign \mprj_pads.dm[95]  = mprj_io_dm[95];
+  assign \mprj_pads.dm[93]  = mprj_io_dm[93];
+  assign \mprj_pads.dm[112]  = mprj_io_dm[112];
+  assign \mprj_pads.dm[113]  = mprj_io_dm[113];
+  assign \mprj_pads.dm[106]  = mprj_io_dm[106];
+  assign \mprj_pads.dm[108]  = mprj_io_dm[108];
+  assign \mprj_pads.dm[98]  = mprj_io_dm[98];
+  assign \mprj_pads.dm[97]  = mprj_io_dm[97];
+  assign \mprj_pads.dm[111]  = mprj_io_dm[111];
+  assign \mprj_pads.dm[101]  = mprj_io_dm[101];
+  assign \mprj_pads.dm[109]  = mprj_io_dm[109];
   assign vssio_q = \mprj_pads.vssio_q ;
   assign vddio_q = \mprj_pads.vddio_q ;
   assign analog_b = \mprj_pads.analog_b ;
diff --git a/verilog/rtl/caravel.v b/verilog/rtl/caravel.v
index 08a6241..2ee50bc 100644
--- a/verilog/rtl/caravel.v
+++ b/verilog/rtl/caravel.v
@@ -35,29 +35,34 @@
 
 `ifdef GL
 	`include "gl/mgmt_core.v"
+	`include "gl/digital_pll.v"
+	`include "gl/DFFRAM.v"
+	`include "gl/storage.v"
+	`include "gl/user_id_programming.v"
+	`include "gl/chip_io.v"
 `else
 	`include "mgmt_soc.v"
 	`include "housekeeping_spi.v"
 	`include "caravel_clocking.v"
 	`include "mgmt_core.v"
+	`include "digital_pll.v"
+	`include "DFFRAM.v"
+	`include "DFFRAMBB.v"
+	`include "storage.v"
+	`include "user_id_programming.v"
+	`include "clock_div.v"
+	`include "storage_bridge_wb.v"
+	`include "mprj_io.v"
+	`include "chip_io.v"
 `endif
 
-`include "digital_pll.v"
+`include "sky130_fd_sc_hvl__lsbufhv2lv_1_wrapped.v"
 `include "mgmt_protect.v"
 `include "mgmt_protect_hv.v"
-`include "mprj_io.v"
-`include "chip_io.v"
-`include "user_id_programming.v"
 `include "user_project_wrapper.v"
 `include "gpio_control_block.v"
-`include "clock_div.v"
 `include "simple_por.v"
-`include "storage_bridge_wb.v"
-`include "DFFRAM.v"
-`include "DFFRAMBB.v"
 `include "sram_1rw1r_32_256_8_sky130.v"
-`include "storage.v"
-`include "sky130_fd_sc_hvl__lsbufhv2lv_1_wrapped.v"
 
 /*------------------------------*/
 /* Include user project here	*/
@@ -638,8 +643,8 @@
 	.USER_PROJECT_ID(USER_PROJECT_ID)
     ) user_id_value (
 `ifdef USE_POWER_PINS
-	.vdd1v8(vccd),
-	.vss(vssd),
+	.VPWR(vccd),
+	.VGND(vssd),
 `endif
 	.mask_rev(mask_rev)
     );
diff --git a/verilog/rtl/user_id_programming.v b/verilog/rtl/user_id_programming.v
index 934f9d7..ce1f42b 100644
--- a/verilog/rtl/user_id_programming.v
+++ b/verilog/rtl/user_id_programming.v
@@ -8,8 +8,8 @@
     parameter [ 0:0] USER_PROJECT_ID = 32'h0
 ) (
 `ifdef USE_POWER_PINS
-    inout vdd1v8,
-    inout vss,
+    inout VPWR,
+    inout VGND,
 `endif
     output [31:0] mask_rev
 );
@@ -21,10 +21,10 @@
 
     sky130_fd_sc_hd__conb_1 mask_rev_value [31:0] (
 `ifdef USE_POWER_PINS
-            .VPWR(vdd1v8),
-            .VPB(vdd1v8),
-            .VNB(vss),
-            .VGND(vss),
+            .VPWR(VPWR),
+            .VPB(VPWR),
+            .VNB(VGND),
+            .VGND(VGND),
 `endif
             .HI(user_proj_id_high),
             .LO(user_proj_id_low)