[padctrl] Regenerate autogenerated content

Signed-off-by: Michael Schaffner <msf@opentitan.org>
diff --git a/hw/ip/padctrl/data/padctrl.hjson b/hw/ip/padctrl/data/padctrl.hjson
index 42448fb..b430e3e 100644
--- a/hw/ip/padctrl/data/padctrl.hjson
+++ b/hw/ip/padctrl/data/padctrl.hjson
@@ -32,18 +32,6 @@
       default: "10",
       local: "true"
     },
-    { name: "MioVariant",
-      desc: "Pad variant to use for MIO pad",
-      type: "logic [NMioPads-1:0]",
-      default: "'0",
-      local: "true"
-    },
-    { name: "DioVariant",
-      desc: "Pad variant to use for DIO pad",
-      type: "logic [NDioPads-1:0]",
-      default: "'0",
-      local: "true"
-    },
   ],
   registers: [
     { name: "REGEN",
@@ -82,10 +70,10 @@
                                Bit   1: Virtual open drain enable.
                                Bit   2: Pull enable.
                                Bit   3: Pull select (0: pull down, 1: pull up).
-                               Bit   4: Slew rate (0: slow, 1: fast).
-                               Bit 6/5: Drive strength (00: weakest, 11: strongest).
-                               Bit   7: Keeper enable.
-                               Bit   8: Schmitt trigger enable.
+                               Bit   4: Keeper enable.
+                               Bit   5: Schmitt trigger enable.
+                               Bit   6: Slew rate (0: slow, 1: fast).
+                               Bit 7/8: Drive strength (00: weakest, 11: strongest).
                                Bit   9: Reserved.
                       '''
                       resval: 0
@@ -117,10 +105,10 @@
                                Bit   1: Virtual open drain enable.
                                Bit   2: Pull enable.
                                Bit   3: Pull select (0: pull down, 1: pull up).
-                               Bit   4: Slew rate (0: slow, 1: fast).
-                               Bit 6/5: Drive strength (00: weakest, 11: strongest).
-                               Bit   7: Keeper enable.
-                               Bit   8: Schmitt trigger enable.
+                               Bit   4: Keeper enable.
+                               Bit   5: Schmitt trigger enable.
+                               Bit   6: Slew rate (0: slow, 1: fast).
+                               Bit 7/8: Drive strength (00: weakest, 11: strongest).
                                Bit   9: Reserved.
                       '''
                       resval: 0
diff --git a/hw/ip/padctrl/data/padctrl.hjson.tpl b/hw/ip/padctrl/data/padctrl.hjson.tpl
index 9884f39..07fc026 100644
--- a/hw/ip/padctrl/data/padctrl.hjson.tpl
+++ b/hw/ip/padctrl/data/padctrl.hjson.tpl
@@ -7,7 +7,7 @@
 # Parameter (given by Python tool)
 #  - n_dio_pads:      Number of dedicated IO pads
 #  - n_mio_pads:      Number of muxed IO pads
-#  - attr_dw:        Attribute datawidth
+#  - attr_dw:         Attribute datawidth
 {
   name: "PADCTRL",
   clock_primary: "clk_i",
@@ -64,7 +64,7 @@
                   regwen:   "REGEN",
                   cname:    "ATTR",
                   fields: [
-                    { bits: "7:0",
+                    { bits: "9:0",
                       name: "ATTR",
                       desc: '''Bit   0: input/output inversion,
                                Bit   1: Virtual open drain enable.
@@ -99,7 +99,7 @@
                   regwen:   "REGEN",
                   cname:    "ATTR",
                   fields: [
-                    { bits: "7:0",
+                    { bits: "9:0",
                       name: "ATTR",
                       desc: '''Bit   0: input/output inversion,
                                Bit   1: Virtual open drain enable.
diff --git a/hw/ip/padctrl/rtl/padctrl_reg_pkg.sv b/hw/ip/padctrl/rtl/padctrl_reg_pkg.sv
index 3b72b76..c72cd8b 100644
--- a/hw/ip/padctrl/rtl/padctrl_reg_pkg.sv
+++ b/hw/ip/padctrl/rtl/padctrl_reg_pkg.sv
@@ -9,28 +9,28 @@
   // Param list
   parameter int NDioPads = 4;
   parameter int NMioPads = 16;
-  parameter int AttrDw = 8;
+  parameter int AttrDw = 10;
 
   ////////////////////////////
   // Typedefs for registers //
   ////////////////////////////
   typedef struct packed {
-    logic [7:0]  q;
+    logic [9:0] q;
     logic        qe;
   } padctrl_reg2hw_dio_pads_mreg_t;
 
   typedef struct packed {
-    logic [7:0]  q;
+    logic [9:0] q;
     logic        qe;
   } padctrl_reg2hw_mio_pads_mreg_t;
 
 
   typedef struct packed {
-    logic [7:0]  d;
+    logic [9:0] d;
   } padctrl_hw2reg_dio_pads_mreg_t;
 
   typedef struct packed {
-    logic [7:0]  d;
+    logic [9:0] d;
   } padctrl_hw2reg_mio_pads_mreg_t;
 
 
@@ -38,45 +38,54 @@
   // Register to internal design logic //
   ///////////////////////////////////////
   typedef struct packed {
-    padctrl_reg2hw_dio_pads_mreg_t [3:0] dio_pads; // [179:144]
-    padctrl_reg2hw_mio_pads_mreg_t [15:0] mio_pads; // [143:0]
+    padctrl_reg2hw_dio_pads_mreg_t [3:0] dio_pads; // [219:176]
+    padctrl_reg2hw_mio_pads_mreg_t [15:0] mio_pads; // [175:0]
   } padctrl_reg2hw_t;
 
   ///////////////////////////////////////
   // Internal design logic to register //
   ///////////////////////////////////////
   typedef struct packed {
-    padctrl_hw2reg_dio_pads_mreg_t [3:0] dio_pads; // [159:128]
-    padctrl_hw2reg_mio_pads_mreg_t [15:0] mio_pads; // [127:0]
+    padctrl_hw2reg_dio_pads_mreg_t [3:0] dio_pads; // [199:160]
+    padctrl_hw2reg_mio_pads_mreg_t [15:0] mio_pads; // [159:0]
   } padctrl_hw2reg_t;
 
   // Register Address
-  parameter logic [4:0] PADCTRL_REGEN_OFFSET = 5'h 0;
-  parameter logic [4:0] PADCTRL_DIO_PADS_OFFSET = 5'h 4;
-  parameter logic [4:0] PADCTRL_MIO_PADS0_OFFSET = 5'h 8;
-  parameter logic [4:0] PADCTRL_MIO_PADS1_OFFSET = 5'h c;
-  parameter logic [4:0] PADCTRL_MIO_PADS2_OFFSET = 5'h 10;
-  parameter logic [4:0] PADCTRL_MIO_PADS3_OFFSET = 5'h 14;
+  parameter logic [5:0] PADCTRL_REGEN_OFFSET = 6'h 0;
+  parameter logic [5:0] PADCTRL_DIO_PADS0_OFFSET = 6'h 4;
+  parameter logic [5:0] PADCTRL_DIO_PADS1_OFFSET = 6'h 8;
+  parameter logic [5:0] PADCTRL_MIO_PADS0_OFFSET = 6'h c;
+  parameter logic [5:0] PADCTRL_MIO_PADS1_OFFSET = 6'h 10;
+  parameter logic [5:0] PADCTRL_MIO_PADS2_OFFSET = 6'h 14;
+  parameter logic [5:0] PADCTRL_MIO_PADS3_OFFSET = 6'h 18;
+  parameter logic [5:0] PADCTRL_MIO_PADS4_OFFSET = 6'h 1c;
+  parameter logic [5:0] PADCTRL_MIO_PADS5_OFFSET = 6'h 20;
 
 
   // Register Index
   typedef enum int {
     PADCTRL_REGEN,
-    PADCTRL_DIO_PADS,
+    PADCTRL_DIO_PADS0,
+    PADCTRL_DIO_PADS1,
     PADCTRL_MIO_PADS0,
     PADCTRL_MIO_PADS1,
     PADCTRL_MIO_PADS2,
-    PADCTRL_MIO_PADS3
+    PADCTRL_MIO_PADS3,
+    PADCTRL_MIO_PADS4,
+    PADCTRL_MIO_PADS5
   } padctrl_id_e;
 
   // Register width information to check illegal writes
-  parameter logic [3:0] PADCTRL_PERMIT [6] = '{
+  parameter logic [3:0] PADCTRL_PERMIT [9] = '{
     4'b 0001, // index[0] PADCTRL_REGEN
-    4'b 1111, // index[1] PADCTRL_DIO_PADS
-    4'b 1111, // index[2] PADCTRL_MIO_PADS0
-    4'b 1111, // index[3] PADCTRL_MIO_PADS1
-    4'b 1111, // index[4] PADCTRL_MIO_PADS2
-    4'b 1111  // index[5] PADCTRL_MIO_PADS3
+    4'b 1111, // index[1] PADCTRL_DIO_PADS0
+    4'b 0011, // index[2] PADCTRL_DIO_PADS1
+    4'b 1111, // index[3] PADCTRL_MIO_PADS0
+    4'b 1111, // index[4] PADCTRL_MIO_PADS1
+    4'b 1111, // index[5] PADCTRL_MIO_PADS2
+    4'b 1111, // index[6] PADCTRL_MIO_PADS3
+    4'b 1111, // index[7] PADCTRL_MIO_PADS4
+    4'b 0011  // index[8] PADCTRL_MIO_PADS5
   };
 endpackage
 
diff --git a/hw/ip/padctrl/rtl/padctrl_reg_top.sv b/hw/ip/padctrl/rtl/padctrl_reg_top.sv
index 0ff448a..9a663b9 100644
--- a/hw/ip/padctrl/rtl/padctrl_reg_top.sv
+++ b/hw/ip/padctrl/rtl/padctrl_reg_top.sv
@@ -23,7 +23,7 @@
 
   import padctrl_reg_pkg::* ;
 
-  localparam int AW = 5;
+  localparam int AW = 6;
   localparam int DW = 32;
   localparam int DBW = DW/8;                    // Byte Width
 
@@ -74,86 +74,86 @@
   logic regen_qs;
   logic regen_wd;
   logic regen_we;
-  logic [7:0] dio_pads_attr0_qs;
-  logic [7:0] dio_pads_attr0_wd;
-  logic dio_pads_attr0_we;
-  logic dio_pads_attr0_re;
-  logic [7:0] dio_pads_attr1_qs;
-  logic [7:0] dio_pads_attr1_wd;
-  logic dio_pads_attr1_we;
-  logic dio_pads_attr1_re;
-  logic [7:0] dio_pads_attr2_qs;
-  logic [7:0] dio_pads_attr2_wd;
-  logic dio_pads_attr2_we;
-  logic dio_pads_attr2_re;
-  logic [7:0] dio_pads_attr3_qs;
-  logic [7:0] dio_pads_attr3_wd;
-  logic dio_pads_attr3_we;
-  logic dio_pads_attr3_re;
-  logic [7:0] mio_pads0_attr0_qs;
-  logic [7:0] mio_pads0_attr0_wd;
+  logic [9:0] dio_pads0_attr0_qs;
+  logic [9:0] dio_pads0_attr0_wd;
+  logic dio_pads0_attr0_we;
+  logic dio_pads0_attr0_re;
+  logic [9:0] dio_pads0_attr1_qs;
+  logic [9:0] dio_pads0_attr1_wd;
+  logic dio_pads0_attr1_we;
+  logic dio_pads0_attr1_re;
+  logic [9:0] dio_pads0_attr2_qs;
+  logic [9:0] dio_pads0_attr2_wd;
+  logic dio_pads0_attr2_we;
+  logic dio_pads0_attr2_re;
+  logic [9:0] dio_pads1_qs;
+  logic [9:0] dio_pads1_wd;
+  logic dio_pads1_we;
+  logic dio_pads1_re;
+  logic [9:0] mio_pads0_attr0_qs;
+  logic [9:0] mio_pads0_attr0_wd;
   logic mio_pads0_attr0_we;
   logic mio_pads0_attr0_re;
-  logic [7:0] mio_pads0_attr1_qs;
-  logic [7:0] mio_pads0_attr1_wd;
+  logic [9:0] mio_pads0_attr1_qs;
+  logic [9:0] mio_pads0_attr1_wd;
   logic mio_pads0_attr1_we;
   logic mio_pads0_attr1_re;
-  logic [7:0] mio_pads0_attr2_qs;
-  logic [7:0] mio_pads0_attr2_wd;
+  logic [9:0] mio_pads0_attr2_qs;
+  logic [9:0] mio_pads0_attr2_wd;
   logic mio_pads0_attr2_we;
   logic mio_pads0_attr2_re;
-  logic [7:0] mio_pads0_attr3_qs;
-  logic [7:0] mio_pads0_attr3_wd;
-  logic mio_pads0_attr3_we;
-  logic mio_pads0_attr3_re;
-  logic [7:0] mio_pads1_attr4_qs;
-  logic [7:0] mio_pads1_attr4_wd;
+  logic [9:0] mio_pads1_attr3_qs;
+  logic [9:0] mio_pads1_attr3_wd;
+  logic mio_pads1_attr3_we;
+  logic mio_pads1_attr3_re;
+  logic [9:0] mio_pads1_attr4_qs;
+  logic [9:0] mio_pads1_attr4_wd;
   logic mio_pads1_attr4_we;
   logic mio_pads1_attr4_re;
-  logic [7:0] mio_pads1_attr5_qs;
-  logic [7:0] mio_pads1_attr5_wd;
+  logic [9:0] mio_pads1_attr5_qs;
+  logic [9:0] mio_pads1_attr5_wd;
   logic mio_pads1_attr5_we;
   logic mio_pads1_attr5_re;
-  logic [7:0] mio_pads1_attr6_qs;
-  logic [7:0] mio_pads1_attr6_wd;
-  logic mio_pads1_attr6_we;
-  logic mio_pads1_attr6_re;
-  logic [7:0] mio_pads1_attr7_qs;
-  logic [7:0] mio_pads1_attr7_wd;
-  logic mio_pads1_attr7_we;
-  logic mio_pads1_attr7_re;
-  logic [7:0] mio_pads2_attr8_qs;
-  logic [7:0] mio_pads2_attr8_wd;
+  logic [9:0] mio_pads2_attr6_qs;
+  logic [9:0] mio_pads2_attr6_wd;
+  logic mio_pads2_attr6_we;
+  logic mio_pads2_attr6_re;
+  logic [9:0] mio_pads2_attr7_qs;
+  logic [9:0] mio_pads2_attr7_wd;
+  logic mio_pads2_attr7_we;
+  logic mio_pads2_attr7_re;
+  logic [9:0] mio_pads2_attr8_qs;
+  logic [9:0] mio_pads2_attr8_wd;
   logic mio_pads2_attr8_we;
   logic mio_pads2_attr8_re;
-  logic [7:0] mio_pads2_attr9_qs;
-  logic [7:0] mio_pads2_attr9_wd;
-  logic mio_pads2_attr9_we;
-  logic mio_pads2_attr9_re;
-  logic [7:0] mio_pads2_attr10_qs;
-  logic [7:0] mio_pads2_attr10_wd;
-  logic mio_pads2_attr10_we;
-  logic mio_pads2_attr10_re;
-  logic [7:0] mio_pads2_attr11_qs;
-  logic [7:0] mio_pads2_attr11_wd;
-  logic mio_pads2_attr11_we;
-  logic mio_pads2_attr11_re;
-  logic [7:0] mio_pads3_attr12_qs;
-  logic [7:0] mio_pads3_attr12_wd;
-  logic mio_pads3_attr12_we;
-  logic mio_pads3_attr12_re;
-  logic [7:0] mio_pads3_attr13_qs;
-  logic [7:0] mio_pads3_attr13_wd;
-  logic mio_pads3_attr13_we;
-  logic mio_pads3_attr13_re;
-  logic [7:0] mio_pads3_attr14_qs;
-  logic [7:0] mio_pads3_attr14_wd;
-  logic mio_pads3_attr14_we;
-  logic mio_pads3_attr14_re;
-  logic [7:0] mio_pads3_attr15_qs;
-  logic [7:0] mio_pads3_attr15_wd;
-  logic mio_pads3_attr15_we;
-  logic mio_pads3_attr15_re;
+  logic [9:0] mio_pads3_attr9_qs;
+  logic [9:0] mio_pads3_attr9_wd;
+  logic mio_pads3_attr9_we;
+  logic mio_pads3_attr9_re;
+  logic [9:0] mio_pads3_attr10_qs;
+  logic [9:0] mio_pads3_attr10_wd;
+  logic mio_pads3_attr10_we;
+  logic mio_pads3_attr10_re;
+  logic [9:0] mio_pads3_attr11_qs;
+  logic [9:0] mio_pads3_attr11_wd;
+  logic mio_pads3_attr11_we;
+  logic mio_pads3_attr11_re;
+  logic [9:0] mio_pads4_attr12_qs;
+  logic [9:0] mio_pads4_attr12_wd;
+  logic mio_pads4_attr12_we;
+  logic mio_pads4_attr12_re;
+  logic [9:0] mio_pads4_attr13_qs;
+  logic [9:0] mio_pads4_attr13_wd;
+  logic mio_pads4_attr13_we;
+  logic mio_pads4_attr13_re;
+  logic [9:0] mio_pads4_attr14_qs;
+  logic [9:0] mio_pads4_attr14_wd;
+  logic mio_pads4_attr14_we;
+  logic mio_pads4_attr14_re;
+  logic [9:0] mio_pads5_qs;
+  logic [9:0] mio_pads5_wd;
+  logic mio_pads5_we;
+  logic mio_pads5_re;
 
   // Register instances
   // R[regen]: V(False)
@@ -185,80 +185,81 @@
 
 
   // Subregister 0 of Multireg dio_pads
-  // R[dio_pads]: V(True)
+  // R[dio_pads0]: V(True)
 
-  // F[attr0]: 7:0
+  // F[attr0]: 9:0
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_dio_pads_attr0 (
-    .re     (dio_pads_attr0_re),
+    .DW    (10)
+  ) u_dio_pads0_attr0 (
+    .re     (dio_pads0_attr0_re),
     // qualified with register enable
-    .we     (dio_pads_attr0_we & regen_qs),
-    .wd     (dio_pads_attr0_wd),
+    .we     (dio_pads0_attr0_we & regen_qs),
+    .wd     (dio_pads0_attr0_wd),
     .d      (hw2reg.dio_pads[0].d),
     .qre    (),
     .qe     (reg2hw.dio_pads[0].qe),
     .q      (reg2hw.dio_pads[0].q ),
-    .qs     (dio_pads_attr0_qs)
+    .qs     (dio_pads0_attr0_qs)
   );
 
 
-  // F[attr1]: 15:8
+  // F[attr1]: 19:10
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_dio_pads_attr1 (
-    .re     (dio_pads_attr1_re),
+    .DW    (10)
+  ) u_dio_pads0_attr1 (
+    .re     (dio_pads0_attr1_re),
     // qualified with register enable
-    .we     (dio_pads_attr1_we & regen_qs),
-    .wd     (dio_pads_attr1_wd),
+    .we     (dio_pads0_attr1_we & regen_qs),
+    .wd     (dio_pads0_attr1_wd),
     .d      (hw2reg.dio_pads[1].d),
     .qre    (),
     .qe     (reg2hw.dio_pads[1].qe),
     .q      (reg2hw.dio_pads[1].q ),
-    .qs     (dio_pads_attr1_qs)
+    .qs     (dio_pads0_attr1_qs)
   );
 
 
-  // F[attr2]: 23:16
+  // F[attr2]: 29:20
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_dio_pads_attr2 (
-    .re     (dio_pads_attr2_re),
+    .DW    (10)
+  ) u_dio_pads0_attr2 (
+    .re     (dio_pads0_attr2_re),
     // qualified with register enable
-    .we     (dio_pads_attr2_we & regen_qs),
-    .wd     (dio_pads_attr2_wd),
+    .we     (dio_pads0_attr2_we & regen_qs),
+    .wd     (dio_pads0_attr2_wd),
     .d      (hw2reg.dio_pads[2].d),
     .qre    (),
     .qe     (reg2hw.dio_pads[2].qe),
     .q      (reg2hw.dio_pads[2].q ),
-    .qs     (dio_pads_attr2_qs)
+    .qs     (dio_pads0_attr2_qs)
   );
 
 
-  // F[attr3]: 31:24
+  // Subregister 3 of Multireg dio_pads
+  // R[dio_pads1]: V(True)
+
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_dio_pads_attr3 (
-    .re     (dio_pads_attr3_re),
+    .DW    (10)
+  ) u_dio_pads1 (
+    .re     (dio_pads1_re),
     // qualified with register enable
-    .we     (dio_pads_attr3_we & regen_qs),
-    .wd     (dio_pads_attr3_wd),
+    .we     (dio_pads1_we & regen_qs),
+    .wd     (dio_pads1_wd),
     .d      (hw2reg.dio_pads[3].d),
     .qre    (),
     .qe     (reg2hw.dio_pads[3].qe),
     .q      (reg2hw.dio_pads[3].q ),
-    .qs     (dio_pads_attr3_qs)
+    .qs     (dio_pads1_qs)
   );
 
 
 
-
   // Subregister 0 of Multireg mio_pads
   // R[mio_pads0]: V(True)
 
-  // F[attr0]: 7:0
+  // F[attr0]: 9:0
   prim_subreg_ext #(
-    .DW    (8)
+    .DW    (10)
   ) u_mio_pads0_attr0 (
     .re     (mio_pads0_attr0_re),
     // qualified with register enable
@@ -272,9 +273,9 @@
   );
 
 
-  // F[attr1]: 15:8
+  // F[attr1]: 19:10
   prim_subreg_ext #(
-    .DW    (8)
+    .DW    (10)
   ) u_mio_pads0_attr1 (
     .re     (mio_pads0_attr1_re),
     // qualified with register enable
@@ -288,9 +289,9 @@
   );
 
 
-  // F[attr2]: 23:16
+  // F[attr2]: 29:20
   prim_subreg_ext #(
-    .DW    (8)
+    .DW    (10)
   ) u_mio_pads0_attr2 (
     .re     (mio_pads0_attr2_re),
     // qualified with register enable
@@ -304,28 +305,28 @@
   );
 
 
-  // F[attr3]: 31:24
+  // Subregister 3 of Multireg mio_pads
+  // R[mio_pads1]: V(True)
+
+  // F[attr3]: 9:0
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_mio_pads0_attr3 (
-    .re     (mio_pads0_attr3_re),
+    .DW    (10)
+  ) u_mio_pads1_attr3 (
+    .re     (mio_pads1_attr3_re),
     // qualified with register enable
-    .we     (mio_pads0_attr3_we & regen_qs),
-    .wd     (mio_pads0_attr3_wd),
+    .we     (mio_pads1_attr3_we & regen_qs),
+    .wd     (mio_pads1_attr3_wd),
     .d      (hw2reg.mio_pads[3].d),
     .qre    (),
     .qe     (reg2hw.mio_pads[3].qe),
     .q      (reg2hw.mio_pads[3].q ),
-    .qs     (mio_pads0_attr3_qs)
+    .qs     (mio_pads1_attr3_qs)
   );
 
 
-  // Subregister 4 of Multireg mio_pads
-  // R[mio_pads1]: V(True)
-
-  // F[attr4]: 7:0
+  // F[attr4]: 19:10
   prim_subreg_ext #(
-    .DW    (8)
+    .DW    (10)
   ) u_mio_pads1_attr4 (
     .re     (mio_pads1_attr4_re),
     // qualified with register enable
@@ -339,9 +340,9 @@
   );
 
 
-  // F[attr5]: 15:8
+  // F[attr5]: 29:20
   prim_subreg_ext #(
-    .DW    (8)
+    .DW    (10)
   ) u_mio_pads1_attr5 (
     .re     (mio_pads1_attr5_re),
     // qualified with register enable
@@ -355,44 +356,44 @@
   );
 
 
-  // F[attr6]: 23:16
+  // Subregister 6 of Multireg mio_pads
+  // R[mio_pads2]: V(True)
+
+  // F[attr6]: 9:0
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_mio_pads1_attr6 (
-    .re     (mio_pads1_attr6_re),
+    .DW    (10)
+  ) u_mio_pads2_attr6 (
+    .re     (mio_pads2_attr6_re),
     // qualified with register enable
-    .we     (mio_pads1_attr6_we & regen_qs),
-    .wd     (mio_pads1_attr6_wd),
+    .we     (mio_pads2_attr6_we & regen_qs),
+    .wd     (mio_pads2_attr6_wd),
     .d      (hw2reg.mio_pads[6].d),
     .qre    (),
     .qe     (reg2hw.mio_pads[6].qe),
     .q      (reg2hw.mio_pads[6].q ),
-    .qs     (mio_pads1_attr6_qs)
+    .qs     (mio_pads2_attr6_qs)
   );
 
 
-  // F[attr7]: 31:24
+  // F[attr7]: 19:10
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_mio_pads1_attr7 (
-    .re     (mio_pads1_attr7_re),
+    .DW    (10)
+  ) u_mio_pads2_attr7 (
+    .re     (mio_pads2_attr7_re),
     // qualified with register enable
-    .we     (mio_pads1_attr7_we & regen_qs),
-    .wd     (mio_pads1_attr7_wd),
+    .we     (mio_pads2_attr7_we & regen_qs),
+    .wd     (mio_pads2_attr7_wd),
     .d      (hw2reg.mio_pads[7].d),
     .qre    (),
     .qe     (reg2hw.mio_pads[7].qe),
     .q      (reg2hw.mio_pads[7].q ),
-    .qs     (mio_pads1_attr7_qs)
+    .qs     (mio_pads2_attr7_qs)
   );
 
 
-  // Subregister 8 of Multireg mio_pads
-  // R[mio_pads2]: V(True)
-
-  // F[attr8]: 7:0
+  // F[attr8]: 29:20
   prim_subreg_ext #(
-    .DW    (8)
+    .DW    (10)
   ) u_mio_pads2_attr8 (
     .re     (mio_pads2_attr8_re),
     // qualified with register enable
@@ -406,133 +407,140 @@
   );
 
 
-  // F[attr9]: 15:8
+  // Subregister 9 of Multireg mio_pads
+  // R[mio_pads3]: V(True)
+
+  // F[attr9]: 9:0
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_mio_pads2_attr9 (
-    .re     (mio_pads2_attr9_re),
+    .DW    (10)
+  ) u_mio_pads3_attr9 (
+    .re     (mio_pads3_attr9_re),
     // qualified with register enable
-    .we     (mio_pads2_attr9_we & regen_qs),
-    .wd     (mio_pads2_attr9_wd),
+    .we     (mio_pads3_attr9_we & regen_qs),
+    .wd     (mio_pads3_attr9_wd),
     .d      (hw2reg.mio_pads[9].d),
     .qre    (),
     .qe     (reg2hw.mio_pads[9].qe),
     .q      (reg2hw.mio_pads[9].q ),
-    .qs     (mio_pads2_attr9_qs)
+    .qs     (mio_pads3_attr9_qs)
   );
 
 
-  // F[attr10]: 23:16
+  // F[attr10]: 19:10
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_mio_pads2_attr10 (
-    .re     (mio_pads2_attr10_re),
+    .DW    (10)
+  ) u_mio_pads3_attr10 (
+    .re     (mio_pads3_attr10_re),
     // qualified with register enable
-    .we     (mio_pads2_attr10_we & regen_qs),
-    .wd     (mio_pads2_attr10_wd),
+    .we     (mio_pads3_attr10_we & regen_qs),
+    .wd     (mio_pads3_attr10_wd),
     .d      (hw2reg.mio_pads[10].d),
     .qre    (),
     .qe     (reg2hw.mio_pads[10].qe),
     .q      (reg2hw.mio_pads[10].q ),
-    .qs     (mio_pads2_attr10_qs)
+    .qs     (mio_pads3_attr10_qs)
   );
 
 
-  // F[attr11]: 31:24
+  // F[attr11]: 29:20
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_mio_pads2_attr11 (
-    .re     (mio_pads2_attr11_re),
+    .DW    (10)
+  ) u_mio_pads3_attr11 (
+    .re     (mio_pads3_attr11_re),
     // qualified with register enable
-    .we     (mio_pads2_attr11_we & regen_qs),
-    .wd     (mio_pads2_attr11_wd),
+    .we     (mio_pads3_attr11_we & regen_qs),
+    .wd     (mio_pads3_attr11_wd),
     .d      (hw2reg.mio_pads[11].d),
     .qre    (),
     .qe     (reg2hw.mio_pads[11].qe),
     .q      (reg2hw.mio_pads[11].q ),
-    .qs     (mio_pads2_attr11_qs)
+    .qs     (mio_pads3_attr11_qs)
   );
 
 
   // Subregister 12 of Multireg mio_pads
-  // R[mio_pads3]: V(True)
+  // R[mio_pads4]: V(True)
 
-  // F[attr12]: 7:0
+  // F[attr12]: 9:0
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_mio_pads3_attr12 (
-    .re     (mio_pads3_attr12_re),
+    .DW    (10)
+  ) u_mio_pads4_attr12 (
+    .re     (mio_pads4_attr12_re),
     // qualified with register enable
-    .we     (mio_pads3_attr12_we & regen_qs),
-    .wd     (mio_pads3_attr12_wd),
+    .we     (mio_pads4_attr12_we & regen_qs),
+    .wd     (mio_pads4_attr12_wd),
     .d      (hw2reg.mio_pads[12].d),
     .qre    (),
     .qe     (reg2hw.mio_pads[12].qe),
     .q      (reg2hw.mio_pads[12].q ),
-    .qs     (mio_pads3_attr12_qs)
+    .qs     (mio_pads4_attr12_qs)
   );
 
 
-  // F[attr13]: 15:8
+  // F[attr13]: 19:10
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_mio_pads3_attr13 (
-    .re     (mio_pads3_attr13_re),
+    .DW    (10)
+  ) u_mio_pads4_attr13 (
+    .re     (mio_pads4_attr13_re),
     // qualified with register enable
-    .we     (mio_pads3_attr13_we & regen_qs),
-    .wd     (mio_pads3_attr13_wd),
+    .we     (mio_pads4_attr13_we & regen_qs),
+    .wd     (mio_pads4_attr13_wd),
     .d      (hw2reg.mio_pads[13].d),
     .qre    (),
     .qe     (reg2hw.mio_pads[13].qe),
     .q      (reg2hw.mio_pads[13].q ),
-    .qs     (mio_pads3_attr13_qs)
+    .qs     (mio_pads4_attr13_qs)
   );
 
 
-  // F[attr14]: 23:16
+  // F[attr14]: 29:20
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_mio_pads3_attr14 (
-    .re     (mio_pads3_attr14_re),
+    .DW    (10)
+  ) u_mio_pads4_attr14 (
+    .re     (mio_pads4_attr14_re),
     // qualified with register enable
-    .we     (mio_pads3_attr14_we & regen_qs),
-    .wd     (mio_pads3_attr14_wd),
+    .we     (mio_pads4_attr14_we & regen_qs),
+    .wd     (mio_pads4_attr14_wd),
     .d      (hw2reg.mio_pads[14].d),
     .qre    (),
     .qe     (reg2hw.mio_pads[14].qe),
     .q      (reg2hw.mio_pads[14].q ),
-    .qs     (mio_pads3_attr14_qs)
+    .qs     (mio_pads4_attr14_qs)
   );
 
 
-  // F[attr15]: 31:24
+  // Subregister 15 of Multireg mio_pads
+  // R[mio_pads5]: V(True)
+
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_mio_pads3_attr15 (
-    .re     (mio_pads3_attr15_re),
+    .DW    (10)
+  ) u_mio_pads5 (
+    .re     (mio_pads5_re),
     // qualified with register enable
-    .we     (mio_pads3_attr15_we & regen_qs),
-    .wd     (mio_pads3_attr15_wd),
+    .we     (mio_pads5_we & regen_qs),
+    .wd     (mio_pads5_wd),
     .d      (hw2reg.mio_pads[15].d),
     .qre    (),
     .qe     (reg2hw.mio_pads[15].qe),
     .q      (reg2hw.mio_pads[15].q ),
-    .qs     (mio_pads3_attr15_qs)
+    .qs     (mio_pads5_qs)
   );
 
 
 
 
-
-  logic [5:0] addr_hit;
+  logic [8:0] addr_hit;
   always_comb begin
     addr_hit = '0;
     addr_hit[0] = (reg_addr == PADCTRL_REGEN_OFFSET);
-    addr_hit[1] = (reg_addr == PADCTRL_DIO_PADS_OFFSET);
-    addr_hit[2] = (reg_addr == PADCTRL_MIO_PADS0_OFFSET);
-    addr_hit[3] = (reg_addr == PADCTRL_MIO_PADS1_OFFSET);
-    addr_hit[4] = (reg_addr == PADCTRL_MIO_PADS2_OFFSET);
-    addr_hit[5] = (reg_addr == PADCTRL_MIO_PADS3_OFFSET);
+    addr_hit[1] = (reg_addr == PADCTRL_DIO_PADS0_OFFSET);
+    addr_hit[2] = (reg_addr == PADCTRL_DIO_PADS1_OFFSET);
+    addr_hit[3] = (reg_addr == PADCTRL_MIO_PADS0_OFFSET);
+    addr_hit[4] = (reg_addr == PADCTRL_MIO_PADS1_OFFSET);
+    addr_hit[5] = (reg_addr == PADCTRL_MIO_PADS2_OFFSET);
+    addr_hit[6] = (reg_addr == PADCTRL_MIO_PADS3_OFFSET);
+    addr_hit[7] = (reg_addr == PADCTRL_MIO_PADS4_OFFSET);
+    addr_hit[8] = (reg_addr == PADCTRL_MIO_PADS5_OFFSET);
   end
 
   assign addrmiss = (reg_re || reg_we) ? ~|addr_hit : 1'b0 ;
@@ -546,90 +554,93 @@
     if (addr_hit[3] && reg_we && (PADCTRL_PERMIT[3] != (PADCTRL_PERMIT[3] & reg_be))) wr_err = 1'b1 ;
     if (addr_hit[4] && reg_we && (PADCTRL_PERMIT[4] != (PADCTRL_PERMIT[4] & reg_be))) wr_err = 1'b1 ;
     if (addr_hit[5] && reg_we && (PADCTRL_PERMIT[5] != (PADCTRL_PERMIT[5] & reg_be))) wr_err = 1'b1 ;
+    if (addr_hit[6] && reg_we && (PADCTRL_PERMIT[6] != (PADCTRL_PERMIT[6] & reg_be))) wr_err = 1'b1 ;
+    if (addr_hit[7] && reg_we && (PADCTRL_PERMIT[7] != (PADCTRL_PERMIT[7] & reg_be))) wr_err = 1'b1 ;
+    if (addr_hit[8] && reg_we && (PADCTRL_PERMIT[8] != (PADCTRL_PERMIT[8] & reg_be))) wr_err = 1'b1 ;
   end
 
   assign regen_we = addr_hit[0] & reg_we & ~wr_err;
   assign regen_wd = reg_wdata[0];
 
-  assign dio_pads_attr0_we = addr_hit[1] & reg_we & ~wr_err;
-  assign dio_pads_attr0_wd = reg_wdata[7:0];
-  assign dio_pads_attr0_re = addr_hit[1] && reg_re;
+  assign dio_pads0_attr0_we = addr_hit[1] & reg_we & ~wr_err;
+  assign dio_pads0_attr0_wd = reg_wdata[9:0];
+  assign dio_pads0_attr0_re = addr_hit[1] && reg_re;
 
-  assign dio_pads_attr1_we = addr_hit[1] & reg_we & ~wr_err;
-  assign dio_pads_attr1_wd = reg_wdata[15:8];
-  assign dio_pads_attr1_re = addr_hit[1] && reg_re;
+  assign dio_pads0_attr1_we = addr_hit[1] & reg_we & ~wr_err;
+  assign dio_pads0_attr1_wd = reg_wdata[19:10];
+  assign dio_pads0_attr1_re = addr_hit[1] && reg_re;
 
-  assign dio_pads_attr2_we = addr_hit[1] & reg_we & ~wr_err;
-  assign dio_pads_attr2_wd = reg_wdata[23:16];
-  assign dio_pads_attr2_re = addr_hit[1] && reg_re;
+  assign dio_pads0_attr2_we = addr_hit[1] & reg_we & ~wr_err;
+  assign dio_pads0_attr2_wd = reg_wdata[29:20];
+  assign dio_pads0_attr2_re = addr_hit[1] && reg_re;
 
-  assign dio_pads_attr3_we = addr_hit[1] & reg_we & ~wr_err;
-  assign dio_pads_attr3_wd = reg_wdata[31:24];
-  assign dio_pads_attr3_re = addr_hit[1] && reg_re;
+  assign dio_pads1_we = addr_hit[2] & reg_we & ~wr_err;
+  assign dio_pads1_wd = reg_wdata[9:0];
+  assign dio_pads1_re = addr_hit[2] && reg_re;
 
-  assign mio_pads0_attr0_we = addr_hit[2] & reg_we & ~wr_err;
-  assign mio_pads0_attr0_wd = reg_wdata[7:0];
-  assign mio_pads0_attr0_re = addr_hit[2] && reg_re;
+  assign mio_pads0_attr0_we = addr_hit[3] & reg_we & ~wr_err;
+  assign mio_pads0_attr0_wd = reg_wdata[9:0];
+  assign mio_pads0_attr0_re = addr_hit[3] && reg_re;
 
-  assign mio_pads0_attr1_we = addr_hit[2] & reg_we & ~wr_err;
-  assign mio_pads0_attr1_wd = reg_wdata[15:8];
-  assign mio_pads0_attr1_re = addr_hit[2] && reg_re;
+  assign mio_pads0_attr1_we = addr_hit[3] & reg_we & ~wr_err;
+  assign mio_pads0_attr1_wd = reg_wdata[19:10];
+  assign mio_pads0_attr1_re = addr_hit[3] && reg_re;
 
-  assign mio_pads0_attr2_we = addr_hit[2] & reg_we & ~wr_err;
-  assign mio_pads0_attr2_wd = reg_wdata[23:16];
-  assign mio_pads0_attr2_re = addr_hit[2] && reg_re;
+  assign mio_pads0_attr2_we = addr_hit[3] & reg_we & ~wr_err;
+  assign mio_pads0_attr2_wd = reg_wdata[29:20];
+  assign mio_pads0_attr2_re = addr_hit[3] && reg_re;
 
-  assign mio_pads0_attr3_we = addr_hit[2] & reg_we & ~wr_err;
-  assign mio_pads0_attr3_wd = reg_wdata[31:24];
-  assign mio_pads0_attr3_re = addr_hit[2] && reg_re;
+  assign mio_pads1_attr3_we = addr_hit[4] & reg_we & ~wr_err;
+  assign mio_pads1_attr3_wd = reg_wdata[9:0];
+  assign mio_pads1_attr3_re = addr_hit[4] && reg_re;
 
-  assign mio_pads1_attr4_we = addr_hit[3] & reg_we & ~wr_err;
-  assign mio_pads1_attr4_wd = reg_wdata[7:0];
-  assign mio_pads1_attr4_re = addr_hit[3] && reg_re;
+  assign mio_pads1_attr4_we = addr_hit[4] & reg_we & ~wr_err;
+  assign mio_pads1_attr4_wd = reg_wdata[19:10];
+  assign mio_pads1_attr4_re = addr_hit[4] && reg_re;
 
-  assign mio_pads1_attr5_we = addr_hit[3] & reg_we & ~wr_err;
-  assign mio_pads1_attr5_wd = reg_wdata[15:8];
-  assign mio_pads1_attr5_re = addr_hit[3] && reg_re;
+  assign mio_pads1_attr5_we = addr_hit[4] & reg_we & ~wr_err;
+  assign mio_pads1_attr5_wd = reg_wdata[29:20];
+  assign mio_pads1_attr5_re = addr_hit[4] && reg_re;
 
-  assign mio_pads1_attr6_we = addr_hit[3] & reg_we & ~wr_err;
-  assign mio_pads1_attr6_wd = reg_wdata[23:16];
-  assign mio_pads1_attr6_re = addr_hit[3] && reg_re;
+  assign mio_pads2_attr6_we = addr_hit[5] & reg_we & ~wr_err;
+  assign mio_pads2_attr6_wd = reg_wdata[9:0];
+  assign mio_pads2_attr6_re = addr_hit[5] && reg_re;
 
-  assign mio_pads1_attr7_we = addr_hit[3] & reg_we & ~wr_err;
-  assign mio_pads1_attr7_wd = reg_wdata[31:24];
-  assign mio_pads1_attr7_re = addr_hit[3] && reg_re;
+  assign mio_pads2_attr7_we = addr_hit[5] & reg_we & ~wr_err;
+  assign mio_pads2_attr7_wd = reg_wdata[19:10];
+  assign mio_pads2_attr7_re = addr_hit[5] && reg_re;
 
-  assign mio_pads2_attr8_we = addr_hit[4] & reg_we & ~wr_err;
-  assign mio_pads2_attr8_wd = reg_wdata[7:0];
-  assign mio_pads2_attr8_re = addr_hit[4] && reg_re;
+  assign mio_pads2_attr8_we = addr_hit[5] & reg_we & ~wr_err;
+  assign mio_pads2_attr8_wd = reg_wdata[29:20];
+  assign mio_pads2_attr8_re = addr_hit[5] && reg_re;
 
-  assign mio_pads2_attr9_we = addr_hit[4] & reg_we & ~wr_err;
-  assign mio_pads2_attr9_wd = reg_wdata[15:8];
-  assign mio_pads2_attr9_re = addr_hit[4] && reg_re;
+  assign mio_pads3_attr9_we = addr_hit[6] & reg_we & ~wr_err;
+  assign mio_pads3_attr9_wd = reg_wdata[9:0];
+  assign mio_pads3_attr9_re = addr_hit[6] && reg_re;
 
-  assign mio_pads2_attr10_we = addr_hit[4] & reg_we & ~wr_err;
-  assign mio_pads2_attr10_wd = reg_wdata[23:16];
-  assign mio_pads2_attr10_re = addr_hit[4] && reg_re;
+  assign mio_pads3_attr10_we = addr_hit[6] & reg_we & ~wr_err;
+  assign mio_pads3_attr10_wd = reg_wdata[19:10];
+  assign mio_pads3_attr10_re = addr_hit[6] && reg_re;
 
-  assign mio_pads2_attr11_we = addr_hit[4] & reg_we & ~wr_err;
-  assign mio_pads2_attr11_wd = reg_wdata[31:24];
-  assign mio_pads2_attr11_re = addr_hit[4] && reg_re;
+  assign mio_pads3_attr11_we = addr_hit[6] & reg_we & ~wr_err;
+  assign mio_pads3_attr11_wd = reg_wdata[29:20];
+  assign mio_pads3_attr11_re = addr_hit[6] && reg_re;
 
-  assign mio_pads3_attr12_we = addr_hit[5] & reg_we & ~wr_err;
-  assign mio_pads3_attr12_wd = reg_wdata[7:0];
-  assign mio_pads3_attr12_re = addr_hit[5] && reg_re;
+  assign mio_pads4_attr12_we = addr_hit[7] & reg_we & ~wr_err;
+  assign mio_pads4_attr12_wd = reg_wdata[9:0];
+  assign mio_pads4_attr12_re = addr_hit[7] && reg_re;
 
-  assign mio_pads3_attr13_we = addr_hit[5] & reg_we & ~wr_err;
-  assign mio_pads3_attr13_wd = reg_wdata[15:8];
-  assign mio_pads3_attr13_re = addr_hit[5] && reg_re;
+  assign mio_pads4_attr13_we = addr_hit[7] & reg_we & ~wr_err;
+  assign mio_pads4_attr13_wd = reg_wdata[19:10];
+  assign mio_pads4_attr13_re = addr_hit[7] && reg_re;
 
-  assign mio_pads3_attr14_we = addr_hit[5] & reg_we & ~wr_err;
-  assign mio_pads3_attr14_wd = reg_wdata[23:16];
-  assign mio_pads3_attr14_re = addr_hit[5] && reg_re;
+  assign mio_pads4_attr14_we = addr_hit[7] & reg_we & ~wr_err;
+  assign mio_pads4_attr14_wd = reg_wdata[29:20];
+  assign mio_pads4_attr14_re = addr_hit[7] && reg_re;
 
-  assign mio_pads3_attr15_we = addr_hit[5] & reg_we & ~wr_err;
-  assign mio_pads3_attr15_wd = reg_wdata[31:24];
-  assign mio_pads3_attr15_re = addr_hit[5] && reg_re;
+  assign mio_pads5_we = addr_hit[8] & reg_we & ~wr_err;
+  assign mio_pads5_wd = reg_wdata[9:0];
+  assign mio_pads5_re = addr_hit[8] && reg_re;
 
   // Read data return
   always_comb begin
@@ -640,38 +651,47 @@
       end
 
       addr_hit[1]: begin
-        reg_rdata_next[7:0] = dio_pads_attr0_qs;
-        reg_rdata_next[15:8] = dio_pads_attr1_qs;
-        reg_rdata_next[23:16] = dio_pads_attr2_qs;
-        reg_rdata_next[31:24] = dio_pads_attr3_qs;
+        reg_rdata_next[9:0] = dio_pads0_attr0_qs;
+        reg_rdata_next[19:10] = dio_pads0_attr1_qs;
+        reg_rdata_next[29:20] = dio_pads0_attr2_qs;
       end
 
       addr_hit[2]: begin
-        reg_rdata_next[7:0] = mio_pads0_attr0_qs;
-        reg_rdata_next[15:8] = mio_pads0_attr1_qs;
-        reg_rdata_next[23:16] = mio_pads0_attr2_qs;
-        reg_rdata_next[31:24] = mio_pads0_attr3_qs;
+        reg_rdata_next[9:0] = dio_pads1_qs;
       end
 
       addr_hit[3]: begin
-        reg_rdata_next[7:0] = mio_pads1_attr4_qs;
-        reg_rdata_next[15:8] = mio_pads1_attr5_qs;
-        reg_rdata_next[23:16] = mio_pads1_attr6_qs;
-        reg_rdata_next[31:24] = mio_pads1_attr7_qs;
+        reg_rdata_next[9:0] = mio_pads0_attr0_qs;
+        reg_rdata_next[19:10] = mio_pads0_attr1_qs;
+        reg_rdata_next[29:20] = mio_pads0_attr2_qs;
       end
 
       addr_hit[4]: begin
-        reg_rdata_next[7:0] = mio_pads2_attr8_qs;
-        reg_rdata_next[15:8] = mio_pads2_attr9_qs;
-        reg_rdata_next[23:16] = mio_pads2_attr10_qs;
-        reg_rdata_next[31:24] = mio_pads2_attr11_qs;
+        reg_rdata_next[9:0] = mio_pads1_attr3_qs;
+        reg_rdata_next[19:10] = mio_pads1_attr4_qs;
+        reg_rdata_next[29:20] = mio_pads1_attr5_qs;
       end
 
       addr_hit[5]: begin
-        reg_rdata_next[7:0] = mio_pads3_attr12_qs;
-        reg_rdata_next[15:8] = mio_pads3_attr13_qs;
-        reg_rdata_next[23:16] = mio_pads3_attr14_qs;
-        reg_rdata_next[31:24] = mio_pads3_attr15_qs;
+        reg_rdata_next[9:0] = mio_pads2_attr6_qs;
+        reg_rdata_next[19:10] = mio_pads2_attr7_qs;
+        reg_rdata_next[29:20] = mio_pads2_attr8_qs;
+      end
+
+      addr_hit[6]: begin
+        reg_rdata_next[9:0] = mio_pads3_attr9_qs;
+        reg_rdata_next[19:10] = mio_pads3_attr10_qs;
+        reg_rdata_next[29:20] = mio_pads3_attr11_qs;
+      end
+
+      addr_hit[7]: begin
+        reg_rdata_next[9:0] = mio_pads4_attr12_qs;
+        reg_rdata_next[19:10] = mio_pads4_attr13_qs;
+        reg_rdata_next[29:20] = mio_pads4_attr14_qs;
+      end
+
+      addr_hit[8]: begin
+        reg_rdata_next[9:0] = mio_pads5_qs;
       end
 
       default: begin
diff --git a/hw/top_earlgrey/ip/padctrl/data/autogen/padctrl.hjson b/hw/top_earlgrey/ip/padctrl/data/autogen/padctrl.hjson
index 932166d..63d08ec 100644
--- a/hw/top_earlgrey/ip/padctrl/data/autogen/padctrl.hjson
+++ b/hw/top_earlgrey/ip/padctrl/data/autogen/padctrl.hjson
@@ -15,7 +15,7 @@
 # Parameter (given by Python tool)
 #  - n_dio_pads:      Number of dedicated IO pads
 #  - n_mio_pads:      Number of muxed IO pads
-#  - attr_dw:        Attribute datawidth
+#  - attr_dw:         Attribute datawidth
 {
   name: "PADCTRL",
   clock_primary: "clk_i",
@@ -37,7 +37,7 @@
     { name: "AttrDw",
       desc: "Pad attribute data width",
       type: "int",
-      default: "8",
+      default: "10",
       local: "true"
     },
   ],
@@ -72,14 +72,17 @@
                   regwen:   "REGEN",
                   cname:    "ATTR",
                   fields: [
-                    { bits: "7:0",
+                    { bits: "9:0",
                       name: "ATTR",
-                      desc: '''Bit 0: input/output inversion,
-                               Bit 1: Virtual open drain enable.
-                               Bit 2: Pull-down enable.
-                               Bit 3: Pull-up enable.
-                               Bit 4: Keeper enable.
-                               Bit 5: Drive strength (0: strong, 1: weak).
+                      desc: '''Bit   0: input/output inversion,
+                               Bit   1: Virtual open drain enable.
+                               Bit   2: Pull enable.
+                               Bit   3: Pull select (0: pull down, 1: pull up).
+                               Bit   4: Keeper enable.
+                               Bit   5: Schmitt trigger enable.
+                               Bit   6: Slew rate (0: slow, 1: fast).
+                               Bit 7/8: Drive strength (00: weakest, 11: strongest).
+                               Bit   9: Reserved.
                       '''
                       resval: 0
                     }
@@ -104,14 +107,17 @@
                   regwen:   "REGEN",
                   cname:    "ATTR",
                   fields: [
-                    { bits: "7:0",
+                    { bits: "9:0",
                       name: "ATTR",
-                      desc: '''Bit 0: input/output inversion,
-                               Bit 1: Virtual open drain enable.
-                               Bit 2: Pull-down enable.
-                               Bit 3: Pull-up enable.
-                               Bit 4: Keeper enable.
-                               Bit 5: Drive strength (0: strong, 1: weak).
+                      desc: '''Bit   0: input/output inversion,
+                               Bit   1: Virtual open drain enable.
+                               Bit   2: Pull enable.
+                               Bit   3: Pull select (0: pull down, 1: pull up).
+                               Bit   4: Keeper enable.
+                               Bit   5: Schmitt trigger enable.
+                               Bit   6: Slew rate (0: slow, 1: fast).
+                               Bit 7/8: Drive strength (00: weakest, 11: strongest).
+                               Bit   9: Reserved.
                       '''
                       resval: 0
                     }
diff --git a/hw/top_earlgrey/ip/padctrl/rtl/autogen/padctrl_reg_pkg.sv b/hw/top_earlgrey/ip/padctrl/rtl/autogen/padctrl_reg_pkg.sv
index 0ec0e6b..6a6967d 100644
--- a/hw/top_earlgrey/ip/padctrl/rtl/autogen/padctrl_reg_pkg.sv
+++ b/hw/top_earlgrey/ip/padctrl/rtl/autogen/padctrl_reg_pkg.sv
@@ -9,28 +9,28 @@
   // Param list
   parameter int NDioPads = 15;
   parameter int NMioPads = 32;
-  parameter int AttrDw = 8;
+  parameter int AttrDw = 10;
 
   ////////////////////////////
   // Typedefs for registers //
   ////////////////////////////
   typedef struct packed {
-    logic [7:0]  q;
+    logic [9:0] q;
     logic        qe;
   } padctrl_reg2hw_dio_pads_mreg_t;
 
   typedef struct packed {
-    logic [7:0]  q;
+    logic [9:0] q;
     logic        qe;
   } padctrl_reg2hw_mio_pads_mreg_t;
 
 
   typedef struct packed {
-    logic [7:0]  d;
+    logic [9:0] d;
   } padctrl_hw2reg_dio_pads_mreg_t;
 
   typedef struct packed {
-    logic [7:0]  d;
+    logic [9:0] d;
   } padctrl_hw2reg_mio_pads_mreg_t;
 
 
@@ -38,32 +38,36 @@
   // Register to internal design logic //
   ///////////////////////////////////////
   typedef struct packed {
-    padctrl_reg2hw_dio_pads_mreg_t [14:0] dio_pads; // [422:288]
-    padctrl_reg2hw_mio_pads_mreg_t [31:0] mio_pads; // [287:0]
+    padctrl_reg2hw_dio_pads_mreg_t [14:0] dio_pads; // [516:352]
+    padctrl_reg2hw_mio_pads_mreg_t [31:0] mio_pads; // [351:0]
   } padctrl_reg2hw_t;
 
   ///////////////////////////////////////
   // Internal design logic to register //
   ///////////////////////////////////////
   typedef struct packed {
-    padctrl_hw2reg_dio_pads_mreg_t [14:0] dio_pads; // [375:256]
-    padctrl_hw2reg_mio_pads_mreg_t [31:0] mio_pads; // [255:0]
+    padctrl_hw2reg_dio_pads_mreg_t [14:0] dio_pads; // [469:320]
+    padctrl_hw2reg_mio_pads_mreg_t [31:0] mio_pads; // [319:0]
   } padctrl_hw2reg_t;
 
   // Register Address
-  parameter logic [5:0] PADCTRL_REGEN_OFFSET = 6'h 0;
-  parameter logic [5:0] PADCTRL_DIO_PADS0_OFFSET = 6'h 4;
-  parameter logic [5:0] PADCTRL_DIO_PADS1_OFFSET = 6'h 8;
-  parameter logic [5:0] PADCTRL_DIO_PADS2_OFFSET = 6'h c;
-  parameter logic [5:0] PADCTRL_DIO_PADS3_OFFSET = 6'h 10;
-  parameter logic [5:0] PADCTRL_MIO_PADS0_OFFSET = 6'h 14;
-  parameter logic [5:0] PADCTRL_MIO_PADS1_OFFSET = 6'h 18;
-  parameter logic [5:0] PADCTRL_MIO_PADS2_OFFSET = 6'h 1c;
-  parameter logic [5:0] PADCTRL_MIO_PADS3_OFFSET = 6'h 20;
-  parameter logic [5:0] PADCTRL_MIO_PADS4_OFFSET = 6'h 24;
-  parameter logic [5:0] PADCTRL_MIO_PADS5_OFFSET = 6'h 28;
-  parameter logic [5:0] PADCTRL_MIO_PADS6_OFFSET = 6'h 2c;
-  parameter logic [5:0] PADCTRL_MIO_PADS7_OFFSET = 6'h 30;
+  parameter logic [6:0] PADCTRL_REGEN_OFFSET = 7'h 0;
+  parameter logic [6:0] PADCTRL_DIO_PADS0_OFFSET = 7'h 4;
+  parameter logic [6:0] PADCTRL_DIO_PADS1_OFFSET = 7'h 8;
+  parameter logic [6:0] PADCTRL_DIO_PADS2_OFFSET = 7'h c;
+  parameter logic [6:0] PADCTRL_DIO_PADS3_OFFSET = 7'h 10;
+  parameter logic [6:0] PADCTRL_DIO_PADS4_OFFSET = 7'h 14;
+  parameter logic [6:0] PADCTRL_MIO_PADS0_OFFSET = 7'h 18;
+  parameter logic [6:0] PADCTRL_MIO_PADS1_OFFSET = 7'h 1c;
+  parameter logic [6:0] PADCTRL_MIO_PADS2_OFFSET = 7'h 20;
+  parameter logic [6:0] PADCTRL_MIO_PADS3_OFFSET = 7'h 24;
+  parameter logic [6:0] PADCTRL_MIO_PADS4_OFFSET = 7'h 28;
+  parameter logic [6:0] PADCTRL_MIO_PADS5_OFFSET = 7'h 2c;
+  parameter logic [6:0] PADCTRL_MIO_PADS6_OFFSET = 7'h 30;
+  parameter logic [6:0] PADCTRL_MIO_PADS7_OFFSET = 7'h 34;
+  parameter logic [6:0] PADCTRL_MIO_PADS8_OFFSET = 7'h 38;
+  parameter logic [6:0] PADCTRL_MIO_PADS9_OFFSET = 7'h 3c;
+  parameter logic [6:0] PADCTRL_MIO_PADS10_OFFSET = 7'h 40;
 
 
   // Register Index
@@ -73,6 +77,7 @@
     PADCTRL_DIO_PADS1,
     PADCTRL_DIO_PADS2,
     PADCTRL_DIO_PADS3,
+    PADCTRL_DIO_PADS4,
     PADCTRL_MIO_PADS0,
     PADCTRL_MIO_PADS1,
     PADCTRL_MIO_PADS2,
@@ -80,24 +85,31 @@
     PADCTRL_MIO_PADS4,
     PADCTRL_MIO_PADS5,
     PADCTRL_MIO_PADS6,
-    PADCTRL_MIO_PADS7
+    PADCTRL_MIO_PADS7,
+    PADCTRL_MIO_PADS8,
+    PADCTRL_MIO_PADS9,
+    PADCTRL_MIO_PADS10
   } padctrl_id_e;
 
   // Register width information to check illegal writes
-  parameter logic [3:0] PADCTRL_PERMIT [13] = '{
+  parameter logic [3:0] PADCTRL_PERMIT [17] = '{
     4'b 0001, // index[ 0] PADCTRL_REGEN
     4'b 1111, // index[ 1] PADCTRL_DIO_PADS0
     4'b 1111, // index[ 2] PADCTRL_DIO_PADS1
     4'b 1111, // index[ 3] PADCTRL_DIO_PADS2
-    4'b 0111, // index[ 4] PADCTRL_DIO_PADS3
-    4'b 1111, // index[ 5] PADCTRL_MIO_PADS0
-    4'b 1111, // index[ 6] PADCTRL_MIO_PADS1
-    4'b 1111, // index[ 7] PADCTRL_MIO_PADS2
-    4'b 1111, // index[ 8] PADCTRL_MIO_PADS3
-    4'b 1111, // index[ 9] PADCTRL_MIO_PADS4
-    4'b 1111, // index[10] PADCTRL_MIO_PADS5
-    4'b 1111, // index[11] PADCTRL_MIO_PADS6
-    4'b 1111  // index[12] PADCTRL_MIO_PADS7
+    4'b 1111, // index[ 4] PADCTRL_DIO_PADS3
+    4'b 1111, // index[ 5] PADCTRL_DIO_PADS4
+    4'b 1111, // index[ 6] PADCTRL_MIO_PADS0
+    4'b 1111, // index[ 7] PADCTRL_MIO_PADS1
+    4'b 1111, // index[ 8] PADCTRL_MIO_PADS2
+    4'b 1111, // index[ 9] PADCTRL_MIO_PADS3
+    4'b 1111, // index[10] PADCTRL_MIO_PADS4
+    4'b 1111, // index[11] PADCTRL_MIO_PADS5
+    4'b 1111, // index[12] PADCTRL_MIO_PADS6
+    4'b 1111, // index[13] PADCTRL_MIO_PADS7
+    4'b 1111, // index[14] PADCTRL_MIO_PADS8
+    4'b 1111, // index[15] PADCTRL_MIO_PADS9
+    4'b 0111  // index[16] PADCTRL_MIO_PADS10
   };
 endpackage
 
diff --git a/hw/top_earlgrey/ip/padctrl/rtl/autogen/padctrl_reg_top.sv b/hw/top_earlgrey/ip/padctrl/rtl/autogen/padctrl_reg_top.sv
index c77b0d6..30f3ea4 100644
--- a/hw/top_earlgrey/ip/padctrl/rtl/autogen/padctrl_reg_top.sv
+++ b/hw/top_earlgrey/ip/padctrl/rtl/autogen/padctrl_reg_top.sv
@@ -23,7 +23,7 @@
 
   import padctrl_reg_pkg::* ;
 
-  localparam int AW = 6;
+  localparam int AW = 7;
   localparam int DW = 32;
   localparam int DBW = DW/8;                    // Byte Width
 
@@ -74,194 +74,194 @@
   logic regen_qs;
   logic regen_wd;
   logic regen_we;
-  logic [7:0] dio_pads0_attr0_qs;
-  logic [7:0] dio_pads0_attr0_wd;
+  logic [9:0] dio_pads0_attr0_qs;
+  logic [9:0] dio_pads0_attr0_wd;
   logic dio_pads0_attr0_we;
   logic dio_pads0_attr0_re;
-  logic [7:0] dio_pads0_attr1_qs;
-  logic [7:0] dio_pads0_attr1_wd;
+  logic [9:0] dio_pads0_attr1_qs;
+  logic [9:0] dio_pads0_attr1_wd;
   logic dio_pads0_attr1_we;
   logic dio_pads0_attr1_re;
-  logic [7:0] dio_pads0_attr2_qs;
-  logic [7:0] dio_pads0_attr2_wd;
+  logic [9:0] dio_pads0_attr2_qs;
+  logic [9:0] dio_pads0_attr2_wd;
   logic dio_pads0_attr2_we;
   logic dio_pads0_attr2_re;
-  logic [7:0] dio_pads0_attr3_qs;
-  logic [7:0] dio_pads0_attr3_wd;
-  logic dio_pads0_attr3_we;
-  logic dio_pads0_attr3_re;
-  logic [7:0] dio_pads1_attr4_qs;
-  logic [7:0] dio_pads1_attr4_wd;
+  logic [9:0] dio_pads1_attr3_qs;
+  logic [9:0] dio_pads1_attr3_wd;
+  logic dio_pads1_attr3_we;
+  logic dio_pads1_attr3_re;
+  logic [9:0] dio_pads1_attr4_qs;
+  logic [9:0] dio_pads1_attr4_wd;
   logic dio_pads1_attr4_we;
   logic dio_pads1_attr4_re;
-  logic [7:0] dio_pads1_attr5_qs;
-  logic [7:0] dio_pads1_attr5_wd;
+  logic [9:0] dio_pads1_attr5_qs;
+  logic [9:0] dio_pads1_attr5_wd;
   logic dio_pads1_attr5_we;
   logic dio_pads1_attr5_re;
-  logic [7:0] dio_pads1_attr6_qs;
-  logic [7:0] dio_pads1_attr6_wd;
-  logic dio_pads1_attr6_we;
-  logic dio_pads1_attr6_re;
-  logic [7:0] dio_pads1_attr7_qs;
-  logic [7:0] dio_pads1_attr7_wd;
-  logic dio_pads1_attr7_we;
-  logic dio_pads1_attr7_re;
-  logic [7:0] dio_pads2_attr8_qs;
-  logic [7:0] dio_pads2_attr8_wd;
+  logic [9:0] dio_pads2_attr6_qs;
+  logic [9:0] dio_pads2_attr6_wd;
+  logic dio_pads2_attr6_we;
+  logic dio_pads2_attr6_re;
+  logic [9:0] dio_pads2_attr7_qs;
+  logic [9:0] dio_pads2_attr7_wd;
+  logic dio_pads2_attr7_we;
+  logic dio_pads2_attr7_re;
+  logic [9:0] dio_pads2_attr8_qs;
+  logic [9:0] dio_pads2_attr8_wd;
   logic dio_pads2_attr8_we;
   logic dio_pads2_attr8_re;
-  logic [7:0] dio_pads2_attr9_qs;
-  logic [7:0] dio_pads2_attr9_wd;
-  logic dio_pads2_attr9_we;
-  logic dio_pads2_attr9_re;
-  logic [7:0] dio_pads2_attr10_qs;
-  logic [7:0] dio_pads2_attr10_wd;
-  logic dio_pads2_attr10_we;
-  logic dio_pads2_attr10_re;
-  logic [7:0] dio_pads2_attr11_qs;
-  logic [7:0] dio_pads2_attr11_wd;
-  logic dio_pads2_attr11_we;
-  logic dio_pads2_attr11_re;
-  logic [7:0] dio_pads3_attr12_qs;
-  logic [7:0] dio_pads3_attr12_wd;
-  logic dio_pads3_attr12_we;
-  logic dio_pads3_attr12_re;
-  logic [7:0] dio_pads3_attr13_qs;
-  logic [7:0] dio_pads3_attr13_wd;
-  logic dio_pads3_attr13_we;
-  logic dio_pads3_attr13_re;
-  logic [7:0] dio_pads3_attr14_qs;
-  logic [7:0] dio_pads3_attr14_wd;
-  logic dio_pads3_attr14_we;
-  logic dio_pads3_attr14_re;
-  logic [7:0] mio_pads0_attr0_qs;
-  logic [7:0] mio_pads0_attr0_wd;
+  logic [9:0] dio_pads3_attr9_qs;
+  logic [9:0] dio_pads3_attr9_wd;
+  logic dio_pads3_attr9_we;
+  logic dio_pads3_attr9_re;
+  logic [9:0] dio_pads3_attr10_qs;
+  logic [9:0] dio_pads3_attr10_wd;
+  logic dio_pads3_attr10_we;
+  logic dio_pads3_attr10_re;
+  logic [9:0] dio_pads3_attr11_qs;
+  logic [9:0] dio_pads3_attr11_wd;
+  logic dio_pads3_attr11_we;
+  logic dio_pads3_attr11_re;
+  logic [9:0] dio_pads4_attr12_qs;
+  logic [9:0] dio_pads4_attr12_wd;
+  logic dio_pads4_attr12_we;
+  logic dio_pads4_attr12_re;
+  logic [9:0] dio_pads4_attr13_qs;
+  logic [9:0] dio_pads4_attr13_wd;
+  logic dio_pads4_attr13_we;
+  logic dio_pads4_attr13_re;
+  logic [9:0] dio_pads4_attr14_qs;
+  logic [9:0] dio_pads4_attr14_wd;
+  logic dio_pads4_attr14_we;
+  logic dio_pads4_attr14_re;
+  logic [9:0] mio_pads0_attr0_qs;
+  logic [9:0] mio_pads0_attr0_wd;
   logic mio_pads0_attr0_we;
   logic mio_pads0_attr0_re;
-  logic [7:0] mio_pads0_attr1_qs;
-  logic [7:0] mio_pads0_attr1_wd;
+  logic [9:0] mio_pads0_attr1_qs;
+  logic [9:0] mio_pads0_attr1_wd;
   logic mio_pads0_attr1_we;
   logic mio_pads0_attr1_re;
-  logic [7:0] mio_pads0_attr2_qs;
-  logic [7:0] mio_pads0_attr2_wd;
+  logic [9:0] mio_pads0_attr2_qs;
+  logic [9:0] mio_pads0_attr2_wd;
   logic mio_pads0_attr2_we;
   logic mio_pads0_attr2_re;
-  logic [7:0] mio_pads0_attr3_qs;
-  logic [7:0] mio_pads0_attr3_wd;
-  logic mio_pads0_attr3_we;
-  logic mio_pads0_attr3_re;
-  logic [7:0] mio_pads1_attr4_qs;
-  logic [7:0] mio_pads1_attr4_wd;
+  logic [9:0] mio_pads1_attr3_qs;
+  logic [9:0] mio_pads1_attr3_wd;
+  logic mio_pads1_attr3_we;
+  logic mio_pads1_attr3_re;
+  logic [9:0] mio_pads1_attr4_qs;
+  logic [9:0] mio_pads1_attr4_wd;
   logic mio_pads1_attr4_we;
   logic mio_pads1_attr4_re;
-  logic [7:0] mio_pads1_attr5_qs;
-  logic [7:0] mio_pads1_attr5_wd;
+  logic [9:0] mio_pads1_attr5_qs;
+  logic [9:0] mio_pads1_attr5_wd;
   logic mio_pads1_attr5_we;
   logic mio_pads1_attr5_re;
-  logic [7:0] mio_pads1_attr6_qs;
-  logic [7:0] mio_pads1_attr6_wd;
-  logic mio_pads1_attr6_we;
-  logic mio_pads1_attr6_re;
-  logic [7:0] mio_pads1_attr7_qs;
-  logic [7:0] mio_pads1_attr7_wd;
-  logic mio_pads1_attr7_we;
-  logic mio_pads1_attr7_re;
-  logic [7:0] mio_pads2_attr8_qs;
-  logic [7:0] mio_pads2_attr8_wd;
+  logic [9:0] mio_pads2_attr6_qs;
+  logic [9:0] mio_pads2_attr6_wd;
+  logic mio_pads2_attr6_we;
+  logic mio_pads2_attr6_re;
+  logic [9:0] mio_pads2_attr7_qs;
+  logic [9:0] mio_pads2_attr7_wd;
+  logic mio_pads2_attr7_we;
+  logic mio_pads2_attr7_re;
+  logic [9:0] mio_pads2_attr8_qs;
+  logic [9:0] mio_pads2_attr8_wd;
   logic mio_pads2_attr8_we;
   logic mio_pads2_attr8_re;
-  logic [7:0] mio_pads2_attr9_qs;
-  logic [7:0] mio_pads2_attr9_wd;
-  logic mio_pads2_attr9_we;
-  logic mio_pads2_attr9_re;
-  logic [7:0] mio_pads2_attr10_qs;
-  logic [7:0] mio_pads2_attr10_wd;
-  logic mio_pads2_attr10_we;
-  logic mio_pads2_attr10_re;
-  logic [7:0] mio_pads2_attr11_qs;
-  logic [7:0] mio_pads2_attr11_wd;
-  logic mio_pads2_attr11_we;
-  logic mio_pads2_attr11_re;
-  logic [7:0] mio_pads3_attr12_qs;
-  logic [7:0] mio_pads3_attr12_wd;
-  logic mio_pads3_attr12_we;
-  logic mio_pads3_attr12_re;
-  logic [7:0] mio_pads3_attr13_qs;
-  logic [7:0] mio_pads3_attr13_wd;
-  logic mio_pads3_attr13_we;
-  logic mio_pads3_attr13_re;
-  logic [7:0] mio_pads3_attr14_qs;
-  logic [7:0] mio_pads3_attr14_wd;
-  logic mio_pads3_attr14_we;
-  logic mio_pads3_attr14_re;
-  logic [7:0] mio_pads3_attr15_qs;
-  logic [7:0] mio_pads3_attr15_wd;
-  logic mio_pads3_attr15_we;
-  logic mio_pads3_attr15_re;
-  logic [7:0] mio_pads4_attr16_qs;
-  logic [7:0] mio_pads4_attr16_wd;
-  logic mio_pads4_attr16_we;
-  logic mio_pads4_attr16_re;
-  logic [7:0] mio_pads4_attr17_qs;
-  logic [7:0] mio_pads4_attr17_wd;
-  logic mio_pads4_attr17_we;
-  logic mio_pads4_attr17_re;
-  logic [7:0] mio_pads4_attr18_qs;
-  logic [7:0] mio_pads4_attr18_wd;
-  logic mio_pads4_attr18_we;
-  logic mio_pads4_attr18_re;
-  logic [7:0] mio_pads4_attr19_qs;
-  logic [7:0] mio_pads4_attr19_wd;
-  logic mio_pads4_attr19_we;
-  logic mio_pads4_attr19_re;
-  logic [7:0] mio_pads5_attr20_qs;
-  logic [7:0] mio_pads5_attr20_wd;
-  logic mio_pads5_attr20_we;
-  logic mio_pads5_attr20_re;
-  logic [7:0] mio_pads5_attr21_qs;
-  logic [7:0] mio_pads5_attr21_wd;
-  logic mio_pads5_attr21_we;
-  logic mio_pads5_attr21_re;
-  logic [7:0] mio_pads5_attr22_qs;
-  logic [7:0] mio_pads5_attr22_wd;
-  logic mio_pads5_attr22_we;
-  logic mio_pads5_attr22_re;
-  logic [7:0] mio_pads5_attr23_qs;
-  logic [7:0] mio_pads5_attr23_wd;
-  logic mio_pads5_attr23_we;
-  logic mio_pads5_attr23_re;
-  logic [7:0] mio_pads6_attr24_qs;
-  logic [7:0] mio_pads6_attr24_wd;
-  logic mio_pads6_attr24_we;
-  logic mio_pads6_attr24_re;
-  logic [7:0] mio_pads6_attr25_qs;
-  logic [7:0] mio_pads6_attr25_wd;
-  logic mio_pads6_attr25_we;
-  logic mio_pads6_attr25_re;
-  logic [7:0] mio_pads6_attr26_qs;
-  logic [7:0] mio_pads6_attr26_wd;
-  logic mio_pads6_attr26_we;
-  logic mio_pads6_attr26_re;
-  logic [7:0] mio_pads6_attr27_qs;
-  logic [7:0] mio_pads6_attr27_wd;
-  logic mio_pads6_attr27_we;
-  logic mio_pads6_attr27_re;
-  logic [7:0] mio_pads7_attr28_qs;
-  logic [7:0] mio_pads7_attr28_wd;
-  logic mio_pads7_attr28_we;
-  logic mio_pads7_attr28_re;
-  logic [7:0] mio_pads7_attr29_qs;
-  logic [7:0] mio_pads7_attr29_wd;
-  logic mio_pads7_attr29_we;
-  logic mio_pads7_attr29_re;
-  logic [7:0] mio_pads7_attr30_qs;
-  logic [7:0] mio_pads7_attr30_wd;
-  logic mio_pads7_attr30_we;
-  logic mio_pads7_attr30_re;
-  logic [7:0] mio_pads7_attr31_qs;
-  logic [7:0] mio_pads7_attr31_wd;
-  logic mio_pads7_attr31_we;
-  logic mio_pads7_attr31_re;
+  logic [9:0] mio_pads3_attr9_qs;
+  logic [9:0] mio_pads3_attr9_wd;
+  logic mio_pads3_attr9_we;
+  logic mio_pads3_attr9_re;
+  logic [9:0] mio_pads3_attr10_qs;
+  logic [9:0] mio_pads3_attr10_wd;
+  logic mio_pads3_attr10_we;
+  logic mio_pads3_attr10_re;
+  logic [9:0] mio_pads3_attr11_qs;
+  logic [9:0] mio_pads3_attr11_wd;
+  logic mio_pads3_attr11_we;
+  logic mio_pads3_attr11_re;
+  logic [9:0] mio_pads4_attr12_qs;
+  logic [9:0] mio_pads4_attr12_wd;
+  logic mio_pads4_attr12_we;
+  logic mio_pads4_attr12_re;
+  logic [9:0] mio_pads4_attr13_qs;
+  logic [9:0] mio_pads4_attr13_wd;
+  logic mio_pads4_attr13_we;
+  logic mio_pads4_attr13_re;
+  logic [9:0] mio_pads4_attr14_qs;
+  logic [9:0] mio_pads4_attr14_wd;
+  logic mio_pads4_attr14_we;
+  logic mio_pads4_attr14_re;
+  logic [9:0] mio_pads5_attr15_qs;
+  logic [9:0] mio_pads5_attr15_wd;
+  logic mio_pads5_attr15_we;
+  logic mio_pads5_attr15_re;
+  logic [9:0] mio_pads5_attr16_qs;
+  logic [9:0] mio_pads5_attr16_wd;
+  logic mio_pads5_attr16_we;
+  logic mio_pads5_attr16_re;
+  logic [9:0] mio_pads5_attr17_qs;
+  logic [9:0] mio_pads5_attr17_wd;
+  logic mio_pads5_attr17_we;
+  logic mio_pads5_attr17_re;
+  logic [9:0] mio_pads6_attr18_qs;
+  logic [9:0] mio_pads6_attr18_wd;
+  logic mio_pads6_attr18_we;
+  logic mio_pads6_attr18_re;
+  logic [9:0] mio_pads6_attr19_qs;
+  logic [9:0] mio_pads6_attr19_wd;
+  logic mio_pads6_attr19_we;
+  logic mio_pads6_attr19_re;
+  logic [9:0] mio_pads6_attr20_qs;
+  logic [9:0] mio_pads6_attr20_wd;
+  logic mio_pads6_attr20_we;
+  logic mio_pads6_attr20_re;
+  logic [9:0] mio_pads7_attr21_qs;
+  logic [9:0] mio_pads7_attr21_wd;
+  logic mio_pads7_attr21_we;
+  logic mio_pads7_attr21_re;
+  logic [9:0] mio_pads7_attr22_qs;
+  logic [9:0] mio_pads7_attr22_wd;
+  logic mio_pads7_attr22_we;
+  logic mio_pads7_attr22_re;
+  logic [9:0] mio_pads7_attr23_qs;
+  logic [9:0] mio_pads7_attr23_wd;
+  logic mio_pads7_attr23_we;
+  logic mio_pads7_attr23_re;
+  logic [9:0] mio_pads8_attr24_qs;
+  logic [9:0] mio_pads8_attr24_wd;
+  logic mio_pads8_attr24_we;
+  logic mio_pads8_attr24_re;
+  logic [9:0] mio_pads8_attr25_qs;
+  logic [9:0] mio_pads8_attr25_wd;
+  logic mio_pads8_attr25_we;
+  logic mio_pads8_attr25_re;
+  logic [9:0] mio_pads8_attr26_qs;
+  logic [9:0] mio_pads8_attr26_wd;
+  logic mio_pads8_attr26_we;
+  logic mio_pads8_attr26_re;
+  logic [9:0] mio_pads9_attr27_qs;
+  logic [9:0] mio_pads9_attr27_wd;
+  logic mio_pads9_attr27_we;
+  logic mio_pads9_attr27_re;
+  logic [9:0] mio_pads9_attr28_qs;
+  logic [9:0] mio_pads9_attr28_wd;
+  logic mio_pads9_attr28_we;
+  logic mio_pads9_attr28_re;
+  logic [9:0] mio_pads9_attr29_qs;
+  logic [9:0] mio_pads9_attr29_wd;
+  logic mio_pads9_attr29_we;
+  logic mio_pads9_attr29_re;
+  logic [9:0] mio_pads10_attr30_qs;
+  logic [9:0] mio_pads10_attr30_wd;
+  logic mio_pads10_attr30_we;
+  logic mio_pads10_attr30_re;
+  logic [9:0] mio_pads10_attr31_qs;
+  logic [9:0] mio_pads10_attr31_wd;
+  logic mio_pads10_attr31_we;
+  logic mio_pads10_attr31_re;
 
   // Register instances
   // R[regen]: V(False)
@@ -295,9 +295,9 @@
   // Subregister 0 of Multireg dio_pads
   // R[dio_pads0]: V(True)
 
-  // F[attr0]: 7:0
+  // F[attr0]: 9:0
   prim_subreg_ext #(
-    .DW    (8)
+    .DW    (10)
   ) u_dio_pads0_attr0 (
     .re     (dio_pads0_attr0_re),
     // qualified with register enable
@@ -311,9 +311,9 @@
   );
 
 
-  // F[attr1]: 15:8
+  // F[attr1]: 19:10
   prim_subreg_ext #(
-    .DW    (8)
+    .DW    (10)
   ) u_dio_pads0_attr1 (
     .re     (dio_pads0_attr1_re),
     // qualified with register enable
@@ -327,9 +327,9 @@
   );
 
 
-  // F[attr2]: 23:16
+  // F[attr2]: 29:20
   prim_subreg_ext #(
-    .DW    (8)
+    .DW    (10)
   ) u_dio_pads0_attr2 (
     .re     (dio_pads0_attr2_re),
     // qualified with register enable
@@ -343,28 +343,28 @@
   );
 
 
-  // F[attr3]: 31:24
+  // Subregister 3 of Multireg dio_pads
+  // R[dio_pads1]: V(True)
+
+  // F[attr3]: 9:0
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_dio_pads0_attr3 (
-    .re     (dio_pads0_attr3_re),
+    .DW    (10)
+  ) u_dio_pads1_attr3 (
+    .re     (dio_pads1_attr3_re),
     // qualified with register enable
-    .we     (dio_pads0_attr3_we & regen_qs),
-    .wd     (dio_pads0_attr3_wd),
+    .we     (dio_pads1_attr3_we & regen_qs),
+    .wd     (dio_pads1_attr3_wd),
     .d      (hw2reg.dio_pads[3].d),
     .qre    (),
     .qe     (reg2hw.dio_pads[3].qe),
     .q      (reg2hw.dio_pads[3].q ),
-    .qs     (dio_pads0_attr3_qs)
+    .qs     (dio_pads1_attr3_qs)
   );
 
 
-  // Subregister 4 of Multireg dio_pads
-  // R[dio_pads1]: V(True)
-
-  // F[attr4]: 7:0
+  // F[attr4]: 19:10
   prim_subreg_ext #(
-    .DW    (8)
+    .DW    (10)
   ) u_dio_pads1_attr4 (
     .re     (dio_pads1_attr4_re),
     // qualified with register enable
@@ -378,9 +378,9 @@
   );
 
 
-  // F[attr5]: 15:8
+  // F[attr5]: 29:20
   prim_subreg_ext #(
-    .DW    (8)
+    .DW    (10)
   ) u_dio_pads1_attr5 (
     .re     (dio_pads1_attr5_re),
     // qualified with register enable
@@ -394,44 +394,44 @@
   );
 
 
-  // F[attr6]: 23:16
+  // Subregister 6 of Multireg dio_pads
+  // R[dio_pads2]: V(True)
+
+  // F[attr6]: 9:0
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_dio_pads1_attr6 (
-    .re     (dio_pads1_attr6_re),
+    .DW    (10)
+  ) u_dio_pads2_attr6 (
+    .re     (dio_pads2_attr6_re),
     // qualified with register enable
-    .we     (dio_pads1_attr6_we & regen_qs),
-    .wd     (dio_pads1_attr6_wd),
+    .we     (dio_pads2_attr6_we & regen_qs),
+    .wd     (dio_pads2_attr6_wd),
     .d      (hw2reg.dio_pads[6].d),
     .qre    (),
     .qe     (reg2hw.dio_pads[6].qe),
     .q      (reg2hw.dio_pads[6].q ),
-    .qs     (dio_pads1_attr6_qs)
+    .qs     (dio_pads2_attr6_qs)
   );
 
 
-  // F[attr7]: 31:24
+  // F[attr7]: 19:10
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_dio_pads1_attr7 (
-    .re     (dio_pads1_attr7_re),
+    .DW    (10)
+  ) u_dio_pads2_attr7 (
+    .re     (dio_pads2_attr7_re),
     // qualified with register enable
-    .we     (dio_pads1_attr7_we & regen_qs),
-    .wd     (dio_pads1_attr7_wd),
+    .we     (dio_pads2_attr7_we & regen_qs),
+    .wd     (dio_pads2_attr7_wd),
     .d      (hw2reg.dio_pads[7].d),
     .qre    (),
     .qe     (reg2hw.dio_pads[7].qe),
     .q      (reg2hw.dio_pads[7].q ),
-    .qs     (dio_pads1_attr7_qs)
+    .qs     (dio_pads2_attr7_qs)
   );
 
 
-  // Subregister 8 of Multireg dio_pads
-  // R[dio_pads2]: V(True)
-
-  // F[attr8]: 7:0
+  // F[attr8]: 29:20
   prim_subreg_ext #(
-    .DW    (8)
+    .DW    (10)
   ) u_dio_pads2_attr8 (
     .re     (dio_pads2_attr8_re),
     // qualified with register enable
@@ -445,102 +445,105 @@
   );
 
 
-  // F[attr9]: 15:8
+  // Subregister 9 of Multireg dio_pads
+  // R[dio_pads3]: V(True)
+
+  // F[attr9]: 9:0
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_dio_pads2_attr9 (
-    .re     (dio_pads2_attr9_re),
+    .DW    (10)
+  ) u_dio_pads3_attr9 (
+    .re     (dio_pads3_attr9_re),
     // qualified with register enable
-    .we     (dio_pads2_attr9_we & regen_qs),
-    .wd     (dio_pads2_attr9_wd),
+    .we     (dio_pads3_attr9_we & regen_qs),
+    .wd     (dio_pads3_attr9_wd),
     .d      (hw2reg.dio_pads[9].d),
     .qre    (),
     .qe     (reg2hw.dio_pads[9].qe),
     .q      (reg2hw.dio_pads[9].q ),
-    .qs     (dio_pads2_attr9_qs)
+    .qs     (dio_pads3_attr9_qs)
   );
 
 
-  // F[attr10]: 23:16
+  // F[attr10]: 19:10
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_dio_pads2_attr10 (
-    .re     (dio_pads2_attr10_re),
+    .DW    (10)
+  ) u_dio_pads3_attr10 (
+    .re     (dio_pads3_attr10_re),
     // qualified with register enable
-    .we     (dio_pads2_attr10_we & regen_qs),
-    .wd     (dio_pads2_attr10_wd),
+    .we     (dio_pads3_attr10_we & regen_qs),
+    .wd     (dio_pads3_attr10_wd),
     .d      (hw2reg.dio_pads[10].d),
     .qre    (),
     .qe     (reg2hw.dio_pads[10].qe),
     .q      (reg2hw.dio_pads[10].q ),
-    .qs     (dio_pads2_attr10_qs)
+    .qs     (dio_pads3_attr10_qs)
   );
 
 
-  // F[attr11]: 31:24
+  // F[attr11]: 29:20
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_dio_pads2_attr11 (
-    .re     (dio_pads2_attr11_re),
+    .DW    (10)
+  ) u_dio_pads3_attr11 (
+    .re     (dio_pads3_attr11_re),
     // qualified with register enable
-    .we     (dio_pads2_attr11_we & regen_qs),
-    .wd     (dio_pads2_attr11_wd),
+    .we     (dio_pads3_attr11_we & regen_qs),
+    .wd     (dio_pads3_attr11_wd),
     .d      (hw2reg.dio_pads[11].d),
     .qre    (),
     .qe     (reg2hw.dio_pads[11].qe),
     .q      (reg2hw.dio_pads[11].q ),
-    .qs     (dio_pads2_attr11_qs)
+    .qs     (dio_pads3_attr11_qs)
   );
 
 
   // Subregister 12 of Multireg dio_pads
-  // R[dio_pads3]: V(True)
+  // R[dio_pads4]: V(True)
 
-  // F[attr12]: 7:0
+  // F[attr12]: 9:0
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_dio_pads3_attr12 (
-    .re     (dio_pads3_attr12_re),
+    .DW    (10)
+  ) u_dio_pads4_attr12 (
+    .re     (dio_pads4_attr12_re),
     // qualified with register enable
-    .we     (dio_pads3_attr12_we & regen_qs),
-    .wd     (dio_pads3_attr12_wd),
+    .we     (dio_pads4_attr12_we & regen_qs),
+    .wd     (dio_pads4_attr12_wd),
     .d      (hw2reg.dio_pads[12].d),
     .qre    (),
     .qe     (reg2hw.dio_pads[12].qe),
     .q      (reg2hw.dio_pads[12].q ),
-    .qs     (dio_pads3_attr12_qs)
+    .qs     (dio_pads4_attr12_qs)
   );
 
 
-  // F[attr13]: 15:8
+  // F[attr13]: 19:10
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_dio_pads3_attr13 (
-    .re     (dio_pads3_attr13_re),
+    .DW    (10)
+  ) u_dio_pads4_attr13 (
+    .re     (dio_pads4_attr13_re),
     // qualified with register enable
-    .we     (dio_pads3_attr13_we & regen_qs),
-    .wd     (dio_pads3_attr13_wd),
+    .we     (dio_pads4_attr13_we & regen_qs),
+    .wd     (dio_pads4_attr13_wd),
     .d      (hw2reg.dio_pads[13].d),
     .qre    (),
     .qe     (reg2hw.dio_pads[13].qe),
     .q      (reg2hw.dio_pads[13].q ),
-    .qs     (dio_pads3_attr13_qs)
+    .qs     (dio_pads4_attr13_qs)
   );
 
 
-  // F[attr14]: 23:16
+  // F[attr14]: 29:20
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_dio_pads3_attr14 (
-    .re     (dio_pads3_attr14_re),
+    .DW    (10)
+  ) u_dio_pads4_attr14 (
+    .re     (dio_pads4_attr14_re),
     // qualified with register enable
-    .we     (dio_pads3_attr14_we & regen_qs),
-    .wd     (dio_pads3_attr14_wd),
+    .we     (dio_pads4_attr14_we & regen_qs),
+    .wd     (dio_pads4_attr14_wd),
     .d      (hw2reg.dio_pads[14].d),
     .qre    (),
     .qe     (reg2hw.dio_pads[14].qe),
     .q      (reg2hw.dio_pads[14].q ),
-    .qs     (dio_pads3_attr14_qs)
+    .qs     (dio_pads4_attr14_qs)
   );
 
 
@@ -549,9 +552,9 @@
   // Subregister 0 of Multireg mio_pads
   // R[mio_pads0]: V(True)
 
-  // F[attr0]: 7:0
+  // F[attr0]: 9:0
   prim_subreg_ext #(
-    .DW    (8)
+    .DW    (10)
   ) u_mio_pads0_attr0 (
     .re     (mio_pads0_attr0_re),
     // qualified with register enable
@@ -565,9 +568,9 @@
   );
 
 
-  // F[attr1]: 15:8
+  // F[attr1]: 19:10
   prim_subreg_ext #(
-    .DW    (8)
+    .DW    (10)
   ) u_mio_pads0_attr1 (
     .re     (mio_pads0_attr1_re),
     // qualified with register enable
@@ -581,9 +584,9 @@
   );
 
 
-  // F[attr2]: 23:16
+  // F[attr2]: 29:20
   prim_subreg_ext #(
-    .DW    (8)
+    .DW    (10)
   ) u_mio_pads0_attr2 (
     .re     (mio_pads0_attr2_re),
     // qualified with register enable
@@ -597,28 +600,28 @@
   );
 
 
-  // F[attr3]: 31:24
+  // Subregister 3 of Multireg mio_pads
+  // R[mio_pads1]: V(True)
+
+  // F[attr3]: 9:0
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_mio_pads0_attr3 (
-    .re     (mio_pads0_attr3_re),
+    .DW    (10)
+  ) u_mio_pads1_attr3 (
+    .re     (mio_pads1_attr3_re),
     // qualified with register enable
-    .we     (mio_pads0_attr3_we & regen_qs),
-    .wd     (mio_pads0_attr3_wd),
+    .we     (mio_pads1_attr3_we & regen_qs),
+    .wd     (mio_pads1_attr3_wd),
     .d      (hw2reg.mio_pads[3].d),
     .qre    (),
     .qe     (reg2hw.mio_pads[3].qe),
     .q      (reg2hw.mio_pads[3].q ),
-    .qs     (mio_pads0_attr3_qs)
+    .qs     (mio_pads1_attr3_qs)
   );
 
 
-  // Subregister 4 of Multireg mio_pads
-  // R[mio_pads1]: V(True)
-
-  // F[attr4]: 7:0
+  // F[attr4]: 19:10
   prim_subreg_ext #(
-    .DW    (8)
+    .DW    (10)
   ) u_mio_pads1_attr4 (
     .re     (mio_pads1_attr4_re),
     // qualified with register enable
@@ -632,9 +635,9 @@
   );
 
 
-  // F[attr5]: 15:8
+  // F[attr5]: 29:20
   prim_subreg_ext #(
-    .DW    (8)
+    .DW    (10)
   ) u_mio_pads1_attr5 (
     .re     (mio_pads1_attr5_re),
     // qualified with register enable
@@ -648,44 +651,44 @@
   );
 
 
-  // F[attr6]: 23:16
+  // Subregister 6 of Multireg mio_pads
+  // R[mio_pads2]: V(True)
+
+  // F[attr6]: 9:0
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_mio_pads1_attr6 (
-    .re     (mio_pads1_attr6_re),
+    .DW    (10)
+  ) u_mio_pads2_attr6 (
+    .re     (mio_pads2_attr6_re),
     // qualified with register enable
-    .we     (mio_pads1_attr6_we & regen_qs),
-    .wd     (mio_pads1_attr6_wd),
+    .we     (mio_pads2_attr6_we & regen_qs),
+    .wd     (mio_pads2_attr6_wd),
     .d      (hw2reg.mio_pads[6].d),
     .qre    (),
     .qe     (reg2hw.mio_pads[6].qe),
     .q      (reg2hw.mio_pads[6].q ),
-    .qs     (mio_pads1_attr6_qs)
+    .qs     (mio_pads2_attr6_qs)
   );
 
 
-  // F[attr7]: 31:24
+  // F[attr7]: 19:10
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_mio_pads1_attr7 (
-    .re     (mio_pads1_attr7_re),
+    .DW    (10)
+  ) u_mio_pads2_attr7 (
+    .re     (mio_pads2_attr7_re),
     // qualified with register enable
-    .we     (mio_pads1_attr7_we & regen_qs),
-    .wd     (mio_pads1_attr7_wd),
+    .we     (mio_pads2_attr7_we & regen_qs),
+    .wd     (mio_pads2_attr7_wd),
     .d      (hw2reg.mio_pads[7].d),
     .qre    (),
     .qe     (reg2hw.mio_pads[7].qe),
     .q      (reg2hw.mio_pads[7].q ),
-    .qs     (mio_pads1_attr7_qs)
+    .qs     (mio_pads2_attr7_qs)
   );
 
 
-  // Subregister 8 of Multireg mio_pads
-  // R[mio_pads2]: V(True)
-
-  // F[attr8]: 7:0
+  // F[attr8]: 29:20
   prim_subreg_ext #(
-    .DW    (8)
+    .DW    (10)
   ) u_mio_pads2_attr8 (
     .re     (mio_pads2_attr8_re),
     // qualified with register enable
@@ -699,393 +702,402 @@
   );
 
 
-  // F[attr9]: 15:8
+  // Subregister 9 of Multireg mio_pads
+  // R[mio_pads3]: V(True)
+
+  // F[attr9]: 9:0
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_mio_pads2_attr9 (
-    .re     (mio_pads2_attr9_re),
+    .DW    (10)
+  ) u_mio_pads3_attr9 (
+    .re     (mio_pads3_attr9_re),
     // qualified with register enable
-    .we     (mio_pads2_attr9_we & regen_qs),
-    .wd     (mio_pads2_attr9_wd),
+    .we     (mio_pads3_attr9_we & regen_qs),
+    .wd     (mio_pads3_attr9_wd),
     .d      (hw2reg.mio_pads[9].d),
     .qre    (),
     .qe     (reg2hw.mio_pads[9].qe),
     .q      (reg2hw.mio_pads[9].q ),
-    .qs     (mio_pads2_attr9_qs)
+    .qs     (mio_pads3_attr9_qs)
   );
 
 
-  // F[attr10]: 23:16
+  // F[attr10]: 19:10
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_mio_pads2_attr10 (
-    .re     (mio_pads2_attr10_re),
+    .DW    (10)
+  ) u_mio_pads3_attr10 (
+    .re     (mio_pads3_attr10_re),
     // qualified with register enable
-    .we     (mio_pads2_attr10_we & regen_qs),
-    .wd     (mio_pads2_attr10_wd),
+    .we     (mio_pads3_attr10_we & regen_qs),
+    .wd     (mio_pads3_attr10_wd),
     .d      (hw2reg.mio_pads[10].d),
     .qre    (),
     .qe     (reg2hw.mio_pads[10].qe),
     .q      (reg2hw.mio_pads[10].q ),
-    .qs     (mio_pads2_attr10_qs)
+    .qs     (mio_pads3_attr10_qs)
   );
 
 
-  // F[attr11]: 31:24
+  // F[attr11]: 29:20
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_mio_pads2_attr11 (
-    .re     (mio_pads2_attr11_re),
+    .DW    (10)
+  ) u_mio_pads3_attr11 (
+    .re     (mio_pads3_attr11_re),
     // qualified with register enable
-    .we     (mio_pads2_attr11_we & regen_qs),
-    .wd     (mio_pads2_attr11_wd),
+    .we     (mio_pads3_attr11_we & regen_qs),
+    .wd     (mio_pads3_attr11_wd),
     .d      (hw2reg.mio_pads[11].d),
     .qre    (),
     .qe     (reg2hw.mio_pads[11].qe),
     .q      (reg2hw.mio_pads[11].q ),
-    .qs     (mio_pads2_attr11_qs)
+    .qs     (mio_pads3_attr11_qs)
   );
 
 
   // Subregister 12 of Multireg mio_pads
-  // R[mio_pads3]: V(True)
+  // R[mio_pads4]: V(True)
 
-  // F[attr12]: 7:0
+  // F[attr12]: 9:0
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_mio_pads3_attr12 (
-    .re     (mio_pads3_attr12_re),
+    .DW    (10)
+  ) u_mio_pads4_attr12 (
+    .re     (mio_pads4_attr12_re),
     // qualified with register enable
-    .we     (mio_pads3_attr12_we & regen_qs),
-    .wd     (mio_pads3_attr12_wd),
+    .we     (mio_pads4_attr12_we & regen_qs),
+    .wd     (mio_pads4_attr12_wd),
     .d      (hw2reg.mio_pads[12].d),
     .qre    (),
     .qe     (reg2hw.mio_pads[12].qe),
     .q      (reg2hw.mio_pads[12].q ),
-    .qs     (mio_pads3_attr12_qs)
+    .qs     (mio_pads4_attr12_qs)
   );
 
 
-  // F[attr13]: 15:8
+  // F[attr13]: 19:10
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_mio_pads3_attr13 (
-    .re     (mio_pads3_attr13_re),
+    .DW    (10)
+  ) u_mio_pads4_attr13 (
+    .re     (mio_pads4_attr13_re),
     // qualified with register enable
-    .we     (mio_pads3_attr13_we & regen_qs),
-    .wd     (mio_pads3_attr13_wd),
+    .we     (mio_pads4_attr13_we & regen_qs),
+    .wd     (mio_pads4_attr13_wd),
     .d      (hw2reg.mio_pads[13].d),
     .qre    (),
     .qe     (reg2hw.mio_pads[13].qe),
     .q      (reg2hw.mio_pads[13].q ),
-    .qs     (mio_pads3_attr13_qs)
+    .qs     (mio_pads4_attr13_qs)
   );
 
 
-  // F[attr14]: 23:16
+  // F[attr14]: 29:20
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_mio_pads3_attr14 (
-    .re     (mio_pads3_attr14_re),
+    .DW    (10)
+  ) u_mio_pads4_attr14 (
+    .re     (mio_pads4_attr14_re),
     // qualified with register enable
-    .we     (mio_pads3_attr14_we & regen_qs),
-    .wd     (mio_pads3_attr14_wd),
+    .we     (mio_pads4_attr14_we & regen_qs),
+    .wd     (mio_pads4_attr14_wd),
     .d      (hw2reg.mio_pads[14].d),
     .qre    (),
     .qe     (reg2hw.mio_pads[14].qe),
     .q      (reg2hw.mio_pads[14].q ),
-    .qs     (mio_pads3_attr14_qs)
+    .qs     (mio_pads4_attr14_qs)
   );
 
 
-  // F[attr15]: 31:24
+  // Subregister 15 of Multireg mio_pads
+  // R[mio_pads5]: V(True)
+
+  // F[attr15]: 9:0
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_mio_pads3_attr15 (
-    .re     (mio_pads3_attr15_re),
+    .DW    (10)
+  ) u_mio_pads5_attr15 (
+    .re     (mio_pads5_attr15_re),
     // qualified with register enable
-    .we     (mio_pads3_attr15_we & regen_qs),
-    .wd     (mio_pads3_attr15_wd),
+    .we     (mio_pads5_attr15_we & regen_qs),
+    .wd     (mio_pads5_attr15_wd),
     .d      (hw2reg.mio_pads[15].d),
     .qre    (),
     .qe     (reg2hw.mio_pads[15].qe),
     .q      (reg2hw.mio_pads[15].q ),
-    .qs     (mio_pads3_attr15_qs)
+    .qs     (mio_pads5_attr15_qs)
   );
 
 
-  // Subregister 16 of Multireg mio_pads
-  // R[mio_pads4]: V(True)
-
-  // F[attr16]: 7:0
+  // F[attr16]: 19:10
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_mio_pads4_attr16 (
-    .re     (mio_pads4_attr16_re),
+    .DW    (10)
+  ) u_mio_pads5_attr16 (
+    .re     (mio_pads5_attr16_re),
     // qualified with register enable
-    .we     (mio_pads4_attr16_we & regen_qs),
-    .wd     (mio_pads4_attr16_wd),
+    .we     (mio_pads5_attr16_we & regen_qs),
+    .wd     (mio_pads5_attr16_wd),
     .d      (hw2reg.mio_pads[16].d),
     .qre    (),
     .qe     (reg2hw.mio_pads[16].qe),
     .q      (reg2hw.mio_pads[16].q ),
-    .qs     (mio_pads4_attr16_qs)
+    .qs     (mio_pads5_attr16_qs)
   );
 
 
-  // F[attr17]: 15:8
+  // F[attr17]: 29:20
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_mio_pads4_attr17 (
-    .re     (mio_pads4_attr17_re),
+    .DW    (10)
+  ) u_mio_pads5_attr17 (
+    .re     (mio_pads5_attr17_re),
     // qualified with register enable
-    .we     (mio_pads4_attr17_we & regen_qs),
-    .wd     (mio_pads4_attr17_wd),
+    .we     (mio_pads5_attr17_we & regen_qs),
+    .wd     (mio_pads5_attr17_wd),
     .d      (hw2reg.mio_pads[17].d),
     .qre    (),
     .qe     (reg2hw.mio_pads[17].qe),
     .q      (reg2hw.mio_pads[17].q ),
-    .qs     (mio_pads4_attr17_qs)
+    .qs     (mio_pads5_attr17_qs)
   );
 
 
-  // F[attr18]: 23:16
+  // Subregister 18 of Multireg mio_pads
+  // R[mio_pads6]: V(True)
+
+  // F[attr18]: 9:0
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_mio_pads4_attr18 (
-    .re     (mio_pads4_attr18_re),
+    .DW    (10)
+  ) u_mio_pads6_attr18 (
+    .re     (mio_pads6_attr18_re),
     // qualified with register enable
-    .we     (mio_pads4_attr18_we & regen_qs),
-    .wd     (mio_pads4_attr18_wd),
+    .we     (mio_pads6_attr18_we & regen_qs),
+    .wd     (mio_pads6_attr18_wd),
     .d      (hw2reg.mio_pads[18].d),
     .qre    (),
     .qe     (reg2hw.mio_pads[18].qe),
     .q      (reg2hw.mio_pads[18].q ),
-    .qs     (mio_pads4_attr18_qs)
+    .qs     (mio_pads6_attr18_qs)
   );
 
 
-  // F[attr19]: 31:24
+  // F[attr19]: 19:10
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_mio_pads4_attr19 (
-    .re     (mio_pads4_attr19_re),
+    .DW    (10)
+  ) u_mio_pads6_attr19 (
+    .re     (mio_pads6_attr19_re),
     // qualified with register enable
-    .we     (mio_pads4_attr19_we & regen_qs),
-    .wd     (mio_pads4_attr19_wd),
+    .we     (mio_pads6_attr19_we & regen_qs),
+    .wd     (mio_pads6_attr19_wd),
     .d      (hw2reg.mio_pads[19].d),
     .qre    (),
     .qe     (reg2hw.mio_pads[19].qe),
     .q      (reg2hw.mio_pads[19].q ),
-    .qs     (mio_pads4_attr19_qs)
+    .qs     (mio_pads6_attr19_qs)
   );
 
 
-  // Subregister 20 of Multireg mio_pads
-  // R[mio_pads5]: V(True)
-
-  // F[attr20]: 7:0
+  // F[attr20]: 29:20
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_mio_pads5_attr20 (
-    .re     (mio_pads5_attr20_re),
+    .DW    (10)
+  ) u_mio_pads6_attr20 (
+    .re     (mio_pads6_attr20_re),
     // qualified with register enable
-    .we     (mio_pads5_attr20_we & regen_qs),
-    .wd     (mio_pads5_attr20_wd),
+    .we     (mio_pads6_attr20_we & regen_qs),
+    .wd     (mio_pads6_attr20_wd),
     .d      (hw2reg.mio_pads[20].d),
     .qre    (),
     .qe     (reg2hw.mio_pads[20].qe),
     .q      (reg2hw.mio_pads[20].q ),
-    .qs     (mio_pads5_attr20_qs)
+    .qs     (mio_pads6_attr20_qs)
   );
 
 
-  // F[attr21]: 15:8
+  // Subregister 21 of Multireg mio_pads
+  // R[mio_pads7]: V(True)
+
+  // F[attr21]: 9:0
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_mio_pads5_attr21 (
-    .re     (mio_pads5_attr21_re),
+    .DW    (10)
+  ) u_mio_pads7_attr21 (
+    .re     (mio_pads7_attr21_re),
     // qualified with register enable
-    .we     (mio_pads5_attr21_we & regen_qs),
-    .wd     (mio_pads5_attr21_wd),
+    .we     (mio_pads7_attr21_we & regen_qs),
+    .wd     (mio_pads7_attr21_wd),
     .d      (hw2reg.mio_pads[21].d),
     .qre    (),
     .qe     (reg2hw.mio_pads[21].qe),
     .q      (reg2hw.mio_pads[21].q ),
-    .qs     (mio_pads5_attr21_qs)
+    .qs     (mio_pads7_attr21_qs)
   );
 
 
-  // F[attr22]: 23:16
+  // F[attr22]: 19:10
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_mio_pads5_attr22 (
-    .re     (mio_pads5_attr22_re),
+    .DW    (10)
+  ) u_mio_pads7_attr22 (
+    .re     (mio_pads7_attr22_re),
     // qualified with register enable
-    .we     (mio_pads5_attr22_we & regen_qs),
-    .wd     (mio_pads5_attr22_wd),
+    .we     (mio_pads7_attr22_we & regen_qs),
+    .wd     (mio_pads7_attr22_wd),
     .d      (hw2reg.mio_pads[22].d),
     .qre    (),
     .qe     (reg2hw.mio_pads[22].qe),
     .q      (reg2hw.mio_pads[22].q ),
-    .qs     (mio_pads5_attr22_qs)
+    .qs     (mio_pads7_attr22_qs)
   );
 
 
-  // F[attr23]: 31:24
+  // F[attr23]: 29:20
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_mio_pads5_attr23 (
-    .re     (mio_pads5_attr23_re),
+    .DW    (10)
+  ) u_mio_pads7_attr23 (
+    .re     (mio_pads7_attr23_re),
     // qualified with register enable
-    .we     (mio_pads5_attr23_we & regen_qs),
-    .wd     (mio_pads5_attr23_wd),
+    .we     (mio_pads7_attr23_we & regen_qs),
+    .wd     (mio_pads7_attr23_wd),
     .d      (hw2reg.mio_pads[23].d),
     .qre    (),
     .qe     (reg2hw.mio_pads[23].qe),
     .q      (reg2hw.mio_pads[23].q ),
-    .qs     (mio_pads5_attr23_qs)
+    .qs     (mio_pads7_attr23_qs)
   );
 
 
   // Subregister 24 of Multireg mio_pads
-  // R[mio_pads6]: V(True)
+  // R[mio_pads8]: V(True)
 
-  // F[attr24]: 7:0
+  // F[attr24]: 9:0
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_mio_pads6_attr24 (
-    .re     (mio_pads6_attr24_re),
+    .DW    (10)
+  ) u_mio_pads8_attr24 (
+    .re     (mio_pads8_attr24_re),
     // qualified with register enable
-    .we     (mio_pads6_attr24_we & regen_qs),
-    .wd     (mio_pads6_attr24_wd),
+    .we     (mio_pads8_attr24_we & regen_qs),
+    .wd     (mio_pads8_attr24_wd),
     .d      (hw2reg.mio_pads[24].d),
     .qre    (),
     .qe     (reg2hw.mio_pads[24].qe),
     .q      (reg2hw.mio_pads[24].q ),
-    .qs     (mio_pads6_attr24_qs)
+    .qs     (mio_pads8_attr24_qs)
   );
 
 
-  // F[attr25]: 15:8
+  // F[attr25]: 19:10
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_mio_pads6_attr25 (
-    .re     (mio_pads6_attr25_re),
+    .DW    (10)
+  ) u_mio_pads8_attr25 (
+    .re     (mio_pads8_attr25_re),
     // qualified with register enable
-    .we     (mio_pads6_attr25_we & regen_qs),
-    .wd     (mio_pads6_attr25_wd),
+    .we     (mio_pads8_attr25_we & regen_qs),
+    .wd     (mio_pads8_attr25_wd),
     .d      (hw2reg.mio_pads[25].d),
     .qre    (),
     .qe     (reg2hw.mio_pads[25].qe),
     .q      (reg2hw.mio_pads[25].q ),
-    .qs     (mio_pads6_attr25_qs)
+    .qs     (mio_pads8_attr25_qs)
   );
 
 
-  // F[attr26]: 23:16
+  // F[attr26]: 29:20
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_mio_pads6_attr26 (
-    .re     (mio_pads6_attr26_re),
+    .DW    (10)
+  ) u_mio_pads8_attr26 (
+    .re     (mio_pads8_attr26_re),
     // qualified with register enable
-    .we     (mio_pads6_attr26_we & regen_qs),
-    .wd     (mio_pads6_attr26_wd),
+    .we     (mio_pads8_attr26_we & regen_qs),
+    .wd     (mio_pads8_attr26_wd),
     .d      (hw2reg.mio_pads[26].d),
     .qre    (),
     .qe     (reg2hw.mio_pads[26].qe),
     .q      (reg2hw.mio_pads[26].q ),
-    .qs     (mio_pads6_attr26_qs)
+    .qs     (mio_pads8_attr26_qs)
   );
 
 
-  // F[attr27]: 31:24
+  // Subregister 27 of Multireg mio_pads
+  // R[mio_pads9]: V(True)
+
+  // F[attr27]: 9:0
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_mio_pads6_attr27 (
-    .re     (mio_pads6_attr27_re),
+    .DW    (10)
+  ) u_mio_pads9_attr27 (
+    .re     (mio_pads9_attr27_re),
     // qualified with register enable
-    .we     (mio_pads6_attr27_we & regen_qs),
-    .wd     (mio_pads6_attr27_wd),
+    .we     (mio_pads9_attr27_we & regen_qs),
+    .wd     (mio_pads9_attr27_wd),
     .d      (hw2reg.mio_pads[27].d),
     .qre    (),
     .qe     (reg2hw.mio_pads[27].qe),
     .q      (reg2hw.mio_pads[27].q ),
-    .qs     (mio_pads6_attr27_qs)
+    .qs     (mio_pads9_attr27_qs)
   );
 
 
-  // Subregister 28 of Multireg mio_pads
-  // R[mio_pads7]: V(True)
-
-  // F[attr28]: 7:0
+  // F[attr28]: 19:10
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_mio_pads7_attr28 (
-    .re     (mio_pads7_attr28_re),
+    .DW    (10)
+  ) u_mio_pads9_attr28 (
+    .re     (mio_pads9_attr28_re),
     // qualified with register enable
-    .we     (mio_pads7_attr28_we & regen_qs),
-    .wd     (mio_pads7_attr28_wd),
+    .we     (mio_pads9_attr28_we & regen_qs),
+    .wd     (mio_pads9_attr28_wd),
     .d      (hw2reg.mio_pads[28].d),
     .qre    (),
     .qe     (reg2hw.mio_pads[28].qe),
     .q      (reg2hw.mio_pads[28].q ),
-    .qs     (mio_pads7_attr28_qs)
+    .qs     (mio_pads9_attr28_qs)
   );
 
 
-  // F[attr29]: 15:8
+  // F[attr29]: 29:20
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_mio_pads7_attr29 (
-    .re     (mio_pads7_attr29_re),
+    .DW    (10)
+  ) u_mio_pads9_attr29 (
+    .re     (mio_pads9_attr29_re),
     // qualified with register enable
-    .we     (mio_pads7_attr29_we & regen_qs),
-    .wd     (mio_pads7_attr29_wd),
+    .we     (mio_pads9_attr29_we & regen_qs),
+    .wd     (mio_pads9_attr29_wd),
     .d      (hw2reg.mio_pads[29].d),
     .qre    (),
     .qe     (reg2hw.mio_pads[29].qe),
     .q      (reg2hw.mio_pads[29].q ),
-    .qs     (mio_pads7_attr29_qs)
+    .qs     (mio_pads9_attr29_qs)
   );
 
 
-  // F[attr30]: 23:16
+  // Subregister 30 of Multireg mio_pads
+  // R[mio_pads10]: V(True)
+
+  // F[attr30]: 9:0
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_mio_pads7_attr30 (
-    .re     (mio_pads7_attr30_re),
+    .DW    (10)
+  ) u_mio_pads10_attr30 (
+    .re     (mio_pads10_attr30_re),
     // qualified with register enable
-    .we     (mio_pads7_attr30_we & regen_qs),
-    .wd     (mio_pads7_attr30_wd),
+    .we     (mio_pads10_attr30_we & regen_qs),
+    .wd     (mio_pads10_attr30_wd),
     .d      (hw2reg.mio_pads[30].d),
     .qre    (),
     .qe     (reg2hw.mio_pads[30].qe),
     .q      (reg2hw.mio_pads[30].q ),
-    .qs     (mio_pads7_attr30_qs)
+    .qs     (mio_pads10_attr30_qs)
   );
 
 
-  // F[attr31]: 31:24
+  // F[attr31]: 19:10
   prim_subreg_ext #(
-    .DW    (8)
-  ) u_mio_pads7_attr31 (
-    .re     (mio_pads7_attr31_re),
+    .DW    (10)
+  ) u_mio_pads10_attr31 (
+    .re     (mio_pads10_attr31_re),
     // qualified with register enable
-    .we     (mio_pads7_attr31_we & regen_qs),
-    .wd     (mio_pads7_attr31_wd),
+    .we     (mio_pads10_attr31_we & regen_qs),
+    .wd     (mio_pads10_attr31_wd),
     .d      (hw2reg.mio_pads[31].d),
     .qre    (),
     .qe     (reg2hw.mio_pads[31].qe),
     .q      (reg2hw.mio_pads[31].q ),
-    .qs     (mio_pads7_attr31_qs)
+    .qs     (mio_pads10_attr31_qs)
   );
 
 
 
 
 
-  logic [12:0] addr_hit;
+  logic [16:0] addr_hit;
   always_comb begin
     addr_hit = '0;
     addr_hit[ 0] = (reg_addr == PADCTRL_REGEN_OFFSET);
@@ -1093,14 +1105,18 @@
     addr_hit[ 2] = (reg_addr == PADCTRL_DIO_PADS1_OFFSET);
     addr_hit[ 3] = (reg_addr == PADCTRL_DIO_PADS2_OFFSET);
     addr_hit[ 4] = (reg_addr == PADCTRL_DIO_PADS3_OFFSET);
-    addr_hit[ 5] = (reg_addr == PADCTRL_MIO_PADS0_OFFSET);
-    addr_hit[ 6] = (reg_addr == PADCTRL_MIO_PADS1_OFFSET);
-    addr_hit[ 7] = (reg_addr == PADCTRL_MIO_PADS2_OFFSET);
-    addr_hit[ 8] = (reg_addr == PADCTRL_MIO_PADS3_OFFSET);
-    addr_hit[ 9] = (reg_addr == PADCTRL_MIO_PADS4_OFFSET);
-    addr_hit[10] = (reg_addr == PADCTRL_MIO_PADS5_OFFSET);
-    addr_hit[11] = (reg_addr == PADCTRL_MIO_PADS6_OFFSET);
-    addr_hit[12] = (reg_addr == PADCTRL_MIO_PADS7_OFFSET);
+    addr_hit[ 5] = (reg_addr == PADCTRL_DIO_PADS4_OFFSET);
+    addr_hit[ 6] = (reg_addr == PADCTRL_MIO_PADS0_OFFSET);
+    addr_hit[ 7] = (reg_addr == PADCTRL_MIO_PADS1_OFFSET);
+    addr_hit[ 8] = (reg_addr == PADCTRL_MIO_PADS2_OFFSET);
+    addr_hit[ 9] = (reg_addr == PADCTRL_MIO_PADS3_OFFSET);
+    addr_hit[10] = (reg_addr == PADCTRL_MIO_PADS4_OFFSET);
+    addr_hit[11] = (reg_addr == PADCTRL_MIO_PADS5_OFFSET);
+    addr_hit[12] = (reg_addr == PADCTRL_MIO_PADS6_OFFSET);
+    addr_hit[13] = (reg_addr == PADCTRL_MIO_PADS7_OFFSET);
+    addr_hit[14] = (reg_addr == PADCTRL_MIO_PADS8_OFFSET);
+    addr_hit[15] = (reg_addr == PADCTRL_MIO_PADS9_OFFSET);
+    addr_hit[16] = (reg_addr == PADCTRL_MIO_PADS10_OFFSET);
   end
 
   assign addrmiss = (reg_re || reg_we) ? ~|addr_hit : 1'b0 ;
@@ -1121,198 +1137,202 @@
     if (addr_hit[10] && reg_we && (PADCTRL_PERMIT[10] != (PADCTRL_PERMIT[10] & reg_be))) wr_err = 1'b1 ;
     if (addr_hit[11] && reg_we && (PADCTRL_PERMIT[11] != (PADCTRL_PERMIT[11] & reg_be))) wr_err = 1'b1 ;
     if (addr_hit[12] && reg_we && (PADCTRL_PERMIT[12] != (PADCTRL_PERMIT[12] & reg_be))) wr_err = 1'b1 ;
+    if (addr_hit[13] && reg_we && (PADCTRL_PERMIT[13] != (PADCTRL_PERMIT[13] & reg_be))) wr_err = 1'b1 ;
+    if (addr_hit[14] && reg_we && (PADCTRL_PERMIT[14] != (PADCTRL_PERMIT[14] & reg_be))) wr_err = 1'b1 ;
+    if (addr_hit[15] && reg_we && (PADCTRL_PERMIT[15] != (PADCTRL_PERMIT[15] & reg_be))) wr_err = 1'b1 ;
+    if (addr_hit[16] && reg_we && (PADCTRL_PERMIT[16] != (PADCTRL_PERMIT[16] & reg_be))) wr_err = 1'b1 ;
   end
 
   assign regen_we = addr_hit[0] & reg_we & ~wr_err;
   assign regen_wd = reg_wdata[0];
 
   assign dio_pads0_attr0_we = addr_hit[1] & reg_we & ~wr_err;
-  assign dio_pads0_attr0_wd = reg_wdata[7:0];
+  assign dio_pads0_attr0_wd = reg_wdata[9:0];
   assign dio_pads0_attr0_re = addr_hit[1] && reg_re;
 
   assign dio_pads0_attr1_we = addr_hit[1] & reg_we & ~wr_err;
-  assign dio_pads0_attr1_wd = reg_wdata[15:8];
+  assign dio_pads0_attr1_wd = reg_wdata[19:10];
   assign dio_pads0_attr1_re = addr_hit[1] && reg_re;
 
   assign dio_pads0_attr2_we = addr_hit[1] & reg_we & ~wr_err;
-  assign dio_pads0_attr2_wd = reg_wdata[23:16];
+  assign dio_pads0_attr2_wd = reg_wdata[29:20];
   assign dio_pads0_attr2_re = addr_hit[1] && reg_re;
 
-  assign dio_pads0_attr3_we = addr_hit[1] & reg_we & ~wr_err;
-  assign dio_pads0_attr3_wd = reg_wdata[31:24];
-  assign dio_pads0_attr3_re = addr_hit[1] && reg_re;
+  assign dio_pads1_attr3_we = addr_hit[2] & reg_we & ~wr_err;
+  assign dio_pads1_attr3_wd = reg_wdata[9:0];
+  assign dio_pads1_attr3_re = addr_hit[2] && reg_re;
 
   assign dio_pads1_attr4_we = addr_hit[2] & reg_we & ~wr_err;
-  assign dio_pads1_attr4_wd = reg_wdata[7:0];
+  assign dio_pads1_attr4_wd = reg_wdata[19:10];
   assign dio_pads1_attr4_re = addr_hit[2] && reg_re;
 
   assign dio_pads1_attr5_we = addr_hit[2] & reg_we & ~wr_err;
-  assign dio_pads1_attr5_wd = reg_wdata[15:8];
+  assign dio_pads1_attr5_wd = reg_wdata[29:20];
   assign dio_pads1_attr5_re = addr_hit[2] && reg_re;
 
-  assign dio_pads1_attr6_we = addr_hit[2] & reg_we & ~wr_err;
-  assign dio_pads1_attr6_wd = reg_wdata[23:16];
-  assign dio_pads1_attr6_re = addr_hit[2] && reg_re;
+  assign dio_pads2_attr6_we = addr_hit[3] & reg_we & ~wr_err;
+  assign dio_pads2_attr6_wd = reg_wdata[9:0];
+  assign dio_pads2_attr6_re = addr_hit[3] && reg_re;
 
-  assign dio_pads1_attr7_we = addr_hit[2] & reg_we & ~wr_err;
-  assign dio_pads1_attr7_wd = reg_wdata[31:24];
-  assign dio_pads1_attr7_re = addr_hit[2] && reg_re;
+  assign dio_pads2_attr7_we = addr_hit[3] & reg_we & ~wr_err;
+  assign dio_pads2_attr7_wd = reg_wdata[19:10];
+  assign dio_pads2_attr7_re = addr_hit[3] && reg_re;
 
   assign dio_pads2_attr8_we = addr_hit[3] & reg_we & ~wr_err;
-  assign dio_pads2_attr8_wd = reg_wdata[7:0];
+  assign dio_pads2_attr8_wd = reg_wdata[29:20];
   assign dio_pads2_attr8_re = addr_hit[3] && reg_re;
 
-  assign dio_pads2_attr9_we = addr_hit[3] & reg_we & ~wr_err;
-  assign dio_pads2_attr9_wd = reg_wdata[15:8];
-  assign dio_pads2_attr9_re = addr_hit[3] && reg_re;
+  assign dio_pads3_attr9_we = addr_hit[4] & reg_we & ~wr_err;
+  assign dio_pads3_attr9_wd = reg_wdata[9:0];
+  assign dio_pads3_attr9_re = addr_hit[4] && reg_re;
 
-  assign dio_pads2_attr10_we = addr_hit[3] & reg_we & ~wr_err;
-  assign dio_pads2_attr10_wd = reg_wdata[23:16];
-  assign dio_pads2_attr10_re = addr_hit[3] && reg_re;
+  assign dio_pads3_attr10_we = addr_hit[4] & reg_we & ~wr_err;
+  assign dio_pads3_attr10_wd = reg_wdata[19:10];
+  assign dio_pads3_attr10_re = addr_hit[4] && reg_re;
 
-  assign dio_pads2_attr11_we = addr_hit[3] & reg_we & ~wr_err;
-  assign dio_pads2_attr11_wd = reg_wdata[31:24];
-  assign dio_pads2_attr11_re = addr_hit[3] && reg_re;
+  assign dio_pads3_attr11_we = addr_hit[4] & reg_we & ~wr_err;
+  assign dio_pads3_attr11_wd = reg_wdata[29:20];
+  assign dio_pads3_attr11_re = addr_hit[4] && reg_re;
 
-  assign dio_pads3_attr12_we = addr_hit[4] & reg_we & ~wr_err;
-  assign dio_pads3_attr12_wd = reg_wdata[7:0];
-  assign dio_pads3_attr12_re = addr_hit[4] && reg_re;
+  assign dio_pads4_attr12_we = addr_hit[5] & reg_we & ~wr_err;
+  assign dio_pads4_attr12_wd = reg_wdata[9:0];
+  assign dio_pads4_attr12_re = addr_hit[5] && reg_re;
 
-  assign dio_pads3_attr13_we = addr_hit[4] & reg_we & ~wr_err;
-  assign dio_pads3_attr13_wd = reg_wdata[15:8];
-  assign dio_pads3_attr13_re = addr_hit[4] && reg_re;
+  assign dio_pads4_attr13_we = addr_hit[5] & reg_we & ~wr_err;
+  assign dio_pads4_attr13_wd = reg_wdata[19:10];
+  assign dio_pads4_attr13_re = addr_hit[5] && reg_re;
 
-  assign dio_pads3_attr14_we = addr_hit[4] & reg_we & ~wr_err;
-  assign dio_pads3_attr14_wd = reg_wdata[23:16];
-  assign dio_pads3_attr14_re = addr_hit[4] && reg_re;
+  assign dio_pads4_attr14_we = addr_hit[5] & reg_we & ~wr_err;
+  assign dio_pads4_attr14_wd = reg_wdata[29:20];
+  assign dio_pads4_attr14_re = addr_hit[5] && reg_re;
 
-  assign mio_pads0_attr0_we = addr_hit[5] & reg_we & ~wr_err;
-  assign mio_pads0_attr0_wd = reg_wdata[7:0];
-  assign mio_pads0_attr0_re = addr_hit[5] && reg_re;
+  assign mio_pads0_attr0_we = addr_hit[6] & reg_we & ~wr_err;
+  assign mio_pads0_attr0_wd = reg_wdata[9:0];
+  assign mio_pads0_attr0_re = addr_hit[6] && reg_re;
 
-  assign mio_pads0_attr1_we = addr_hit[5] & reg_we & ~wr_err;
-  assign mio_pads0_attr1_wd = reg_wdata[15:8];
-  assign mio_pads0_attr1_re = addr_hit[5] && reg_re;
+  assign mio_pads0_attr1_we = addr_hit[6] & reg_we & ~wr_err;
+  assign mio_pads0_attr1_wd = reg_wdata[19:10];
+  assign mio_pads0_attr1_re = addr_hit[6] && reg_re;
 
-  assign mio_pads0_attr2_we = addr_hit[5] & reg_we & ~wr_err;
-  assign mio_pads0_attr2_wd = reg_wdata[23:16];
-  assign mio_pads0_attr2_re = addr_hit[5] && reg_re;
+  assign mio_pads0_attr2_we = addr_hit[6] & reg_we & ~wr_err;
+  assign mio_pads0_attr2_wd = reg_wdata[29:20];
+  assign mio_pads0_attr2_re = addr_hit[6] && reg_re;
 
-  assign mio_pads0_attr3_we = addr_hit[5] & reg_we & ~wr_err;
-  assign mio_pads0_attr3_wd = reg_wdata[31:24];
-  assign mio_pads0_attr3_re = addr_hit[5] && reg_re;
+  assign mio_pads1_attr3_we = addr_hit[7] & reg_we & ~wr_err;
+  assign mio_pads1_attr3_wd = reg_wdata[9:0];
+  assign mio_pads1_attr3_re = addr_hit[7] && reg_re;
 
-  assign mio_pads1_attr4_we = addr_hit[6] & reg_we & ~wr_err;
-  assign mio_pads1_attr4_wd = reg_wdata[7:0];
-  assign mio_pads1_attr4_re = addr_hit[6] && reg_re;
+  assign mio_pads1_attr4_we = addr_hit[7] & reg_we & ~wr_err;
+  assign mio_pads1_attr4_wd = reg_wdata[19:10];
+  assign mio_pads1_attr4_re = addr_hit[7] && reg_re;
 
-  assign mio_pads1_attr5_we = addr_hit[6] & reg_we & ~wr_err;
-  assign mio_pads1_attr5_wd = reg_wdata[15:8];
-  assign mio_pads1_attr5_re = addr_hit[6] && reg_re;
+  assign mio_pads1_attr5_we = addr_hit[7] & reg_we & ~wr_err;
+  assign mio_pads1_attr5_wd = reg_wdata[29:20];
+  assign mio_pads1_attr5_re = addr_hit[7] && reg_re;
 
-  assign mio_pads1_attr6_we = addr_hit[6] & reg_we & ~wr_err;
-  assign mio_pads1_attr6_wd = reg_wdata[23:16];
-  assign mio_pads1_attr6_re = addr_hit[6] && reg_re;
+  assign mio_pads2_attr6_we = addr_hit[8] & reg_we & ~wr_err;
+  assign mio_pads2_attr6_wd = reg_wdata[9:0];
+  assign mio_pads2_attr6_re = addr_hit[8] && reg_re;
 
-  assign mio_pads1_attr7_we = addr_hit[6] & reg_we & ~wr_err;
-  assign mio_pads1_attr7_wd = reg_wdata[31:24];
-  assign mio_pads1_attr7_re = addr_hit[6] && reg_re;
+  assign mio_pads2_attr7_we = addr_hit[8] & reg_we & ~wr_err;
+  assign mio_pads2_attr7_wd = reg_wdata[19:10];
+  assign mio_pads2_attr7_re = addr_hit[8] && reg_re;
 
-  assign mio_pads2_attr8_we = addr_hit[7] & reg_we & ~wr_err;
-  assign mio_pads2_attr8_wd = reg_wdata[7:0];
-  assign mio_pads2_attr8_re = addr_hit[7] && reg_re;
+  assign mio_pads2_attr8_we = addr_hit[8] & reg_we & ~wr_err;
+  assign mio_pads2_attr8_wd = reg_wdata[29:20];
+  assign mio_pads2_attr8_re = addr_hit[8] && reg_re;
 
-  assign mio_pads2_attr9_we = addr_hit[7] & reg_we & ~wr_err;
-  assign mio_pads2_attr9_wd = reg_wdata[15:8];
-  assign mio_pads2_attr9_re = addr_hit[7] && reg_re;
+  assign mio_pads3_attr9_we = addr_hit[9] & reg_we & ~wr_err;
+  assign mio_pads3_attr9_wd = reg_wdata[9:0];
+  assign mio_pads3_attr9_re = addr_hit[9] && reg_re;
 
-  assign mio_pads2_attr10_we = addr_hit[7] & reg_we & ~wr_err;
-  assign mio_pads2_attr10_wd = reg_wdata[23:16];
-  assign mio_pads2_attr10_re = addr_hit[7] && reg_re;
+  assign mio_pads3_attr10_we = addr_hit[9] & reg_we & ~wr_err;
+  assign mio_pads3_attr10_wd = reg_wdata[19:10];
+  assign mio_pads3_attr10_re = addr_hit[9] && reg_re;
 
-  assign mio_pads2_attr11_we = addr_hit[7] & reg_we & ~wr_err;
-  assign mio_pads2_attr11_wd = reg_wdata[31:24];
-  assign mio_pads2_attr11_re = addr_hit[7] && reg_re;
+  assign mio_pads3_attr11_we = addr_hit[9] & reg_we & ~wr_err;
+  assign mio_pads3_attr11_wd = reg_wdata[29:20];
+  assign mio_pads3_attr11_re = addr_hit[9] && reg_re;
 
-  assign mio_pads3_attr12_we = addr_hit[8] & reg_we & ~wr_err;
-  assign mio_pads3_attr12_wd = reg_wdata[7:0];
-  assign mio_pads3_attr12_re = addr_hit[8] && reg_re;
+  assign mio_pads4_attr12_we = addr_hit[10] & reg_we & ~wr_err;
+  assign mio_pads4_attr12_wd = reg_wdata[9:0];
+  assign mio_pads4_attr12_re = addr_hit[10] && reg_re;
 
-  assign mio_pads3_attr13_we = addr_hit[8] & reg_we & ~wr_err;
-  assign mio_pads3_attr13_wd = reg_wdata[15:8];
-  assign mio_pads3_attr13_re = addr_hit[8] && reg_re;
+  assign mio_pads4_attr13_we = addr_hit[10] & reg_we & ~wr_err;
+  assign mio_pads4_attr13_wd = reg_wdata[19:10];
+  assign mio_pads4_attr13_re = addr_hit[10] && reg_re;
 
-  assign mio_pads3_attr14_we = addr_hit[8] & reg_we & ~wr_err;
-  assign mio_pads3_attr14_wd = reg_wdata[23:16];
-  assign mio_pads3_attr14_re = addr_hit[8] && reg_re;
+  assign mio_pads4_attr14_we = addr_hit[10] & reg_we & ~wr_err;
+  assign mio_pads4_attr14_wd = reg_wdata[29:20];
+  assign mio_pads4_attr14_re = addr_hit[10] && reg_re;
 
-  assign mio_pads3_attr15_we = addr_hit[8] & reg_we & ~wr_err;
-  assign mio_pads3_attr15_wd = reg_wdata[31:24];
-  assign mio_pads3_attr15_re = addr_hit[8] && reg_re;
+  assign mio_pads5_attr15_we = addr_hit[11] & reg_we & ~wr_err;
+  assign mio_pads5_attr15_wd = reg_wdata[9:0];
+  assign mio_pads5_attr15_re = addr_hit[11] && reg_re;
 
-  assign mio_pads4_attr16_we = addr_hit[9] & reg_we & ~wr_err;
-  assign mio_pads4_attr16_wd = reg_wdata[7:0];
-  assign mio_pads4_attr16_re = addr_hit[9] && reg_re;
+  assign mio_pads5_attr16_we = addr_hit[11] & reg_we & ~wr_err;
+  assign mio_pads5_attr16_wd = reg_wdata[19:10];
+  assign mio_pads5_attr16_re = addr_hit[11] && reg_re;
 
-  assign mio_pads4_attr17_we = addr_hit[9] & reg_we & ~wr_err;
-  assign mio_pads4_attr17_wd = reg_wdata[15:8];
-  assign mio_pads4_attr17_re = addr_hit[9] && reg_re;
+  assign mio_pads5_attr17_we = addr_hit[11] & reg_we & ~wr_err;
+  assign mio_pads5_attr17_wd = reg_wdata[29:20];
+  assign mio_pads5_attr17_re = addr_hit[11] && reg_re;
 
-  assign mio_pads4_attr18_we = addr_hit[9] & reg_we & ~wr_err;
-  assign mio_pads4_attr18_wd = reg_wdata[23:16];
-  assign mio_pads4_attr18_re = addr_hit[9] && reg_re;
+  assign mio_pads6_attr18_we = addr_hit[12] & reg_we & ~wr_err;
+  assign mio_pads6_attr18_wd = reg_wdata[9:0];
+  assign mio_pads6_attr18_re = addr_hit[12] && reg_re;
 
-  assign mio_pads4_attr19_we = addr_hit[9] & reg_we & ~wr_err;
-  assign mio_pads4_attr19_wd = reg_wdata[31:24];
-  assign mio_pads4_attr19_re = addr_hit[9] && reg_re;
+  assign mio_pads6_attr19_we = addr_hit[12] & reg_we & ~wr_err;
+  assign mio_pads6_attr19_wd = reg_wdata[19:10];
+  assign mio_pads6_attr19_re = addr_hit[12] && reg_re;
 
-  assign mio_pads5_attr20_we = addr_hit[10] & reg_we & ~wr_err;
-  assign mio_pads5_attr20_wd = reg_wdata[7:0];
-  assign mio_pads5_attr20_re = addr_hit[10] && reg_re;
+  assign mio_pads6_attr20_we = addr_hit[12] & reg_we & ~wr_err;
+  assign mio_pads6_attr20_wd = reg_wdata[29:20];
+  assign mio_pads6_attr20_re = addr_hit[12] && reg_re;
 
-  assign mio_pads5_attr21_we = addr_hit[10] & reg_we & ~wr_err;
-  assign mio_pads5_attr21_wd = reg_wdata[15:8];
-  assign mio_pads5_attr21_re = addr_hit[10] && reg_re;
+  assign mio_pads7_attr21_we = addr_hit[13] & reg_we & ~wr_err;
+  assign mio_pads7_attr21_wd = reg_wdata[9:0];
+  assign mio_pads7_attr21_re = addr_hit[13] && reg_re;
 
-  assign mio_pads5_attr22_we = addr_hit[10] & reg_we & ~wr_err;
-  assign mio_pads5_attr22_wd = reg_wdata[23:16];
-  assign mio_pads5_attr22_re = addr_hit[10] && reg_re;
+  assign mio_pads7_attr22_we = addr_hit[13] & reg_we & ~wr_err;
+  assign mio_pads7_attr22_wd = reg_wdata[19:10];
+  assign mio_pads7_attr22_re = addr_hit[13] && reg_re;
 
-  assign mio_pads5_attr23_we = addr_hit[10] & reg_we & ~wr_err;
-  assign mio_pads5_attr23_wd = reg_wdata[31:24];
-  assign mio_pads5_attr23_re = addr_hit[10] && reg_re;
+  assign mio_pads7_attr23_we = addr_hit[13] & reg_we & ~wr_err;
+  assign mio_pads7_attr23_wd = reg_wdata[29:20];
+  assign mio_pads7_attr23_re = addr_hit[13] && reg_re;
 
-  assign mio_pads6_attr24_we = addr_hit[11] & reg_we & ~wr_err;
-  assign mio_pads6_attr24_wd = reg_wdata[7:0];
-  assign mio_pads6_attr24_re = addr_hit[11] && reg_re;
+  assign mio_pads8_attr24_we = addr_hit[14] & reg_we & ~wr_err;
+  assign mio_pads8_attr24_wd = reg_wdata[9:0];
+  assign mio_pads8_attr24_re = addr_hit[14] && reg_re;
 
-  assign mio_pads6_attr25_we = addr_hit[11] & reg_we & ~wr_err;
-  assign mio_pads6_attr25_wd = reg_wdata[15:8];
-  assign mio_pads6_attr25_re = addr_hit[11] && reg_re;
+  assign mio_pads8_attr25_we = addr_hit[14] & reg_we & ~wr_err;
+  assign mio_pads8_attr25_wd = reg_wdata[19:10];
+  assign mio_pads8_attr25_re = addr_hit[14] && reg_re;
 
-  assign mio_pads6_attr26_we = addr_hit[11] & reg_we & ~wr_err;
-  assign mio_pads6_attr26_wd = reg_wdata[23:16];
-  assign mio_pads6_attr26_re = addr_hit[11] && reg_re;
+  assign mio_pads8_attr26_we = addr_hit[14] & reg_we & ~wr_err;
+  assign mio_pads8_attr26_wd = reg_wdata[29:20];
+  assign mio_pads8_attr26_re = addr_hit[14] && reg_re;
 
-  assign mio_pads6_attr27_we = addr_hit[11] & reg_we & ~wr_err;
-  assign mio_pads6_attr27_wd = reg_wdata[31:24];
-  assign mio_pads6_attr27_re = addr_hit[11] && reg_re;
+  assign mio_pads9_attr27_we = addr_hit[15] & reg_we & ~wr_err;
+  assign mio_pads9_attr27_wd = reg_wdata[9:0];
+  assign mio_pads9_attr27_re = addr_hit[15] && reg_re;
 
-  assign mio_pads7_attr28_we = addr_hit[12] & reg_we & ~wr_err;
-  assign mio_pads7_attr28_wd = reg_wdata[7:0];
-  assign mio_pads7_attr28_re = addr_hit[12] && reg_re;
+  assign mio_pads9_attr28_we = addr_hit[15] & reg_we & ~wr_err;
+  assign mio_pads9_attr28_wd = reg_wdata[19:10];
+  assign mio_pads9_attr28_re = addr_hit[15] && reg_re;
 
-  assign mio_pads7_attr29_we = addr_hit[12] & reg_we & ~wr_err;
-  assign mio_pads7_attr29_wd = reg_wdata[15:8];
-  assign mio_pads7_attr29_re = addr_hit[12] && reg_re;
+  assign mio_pads9_attr29_we = addr_hit[15] & reg_we & ~wr_err;
+  assign mio_pads9_attr29_wd = reg_wdata[29:20];
+  assign mio_pads9_attr29_re = addr_hit[15] && reg_re;
 
-  assign mio_pads7_attr30_we = addr_hit[12] & reg_we & ~wr_err;
-  assign mio_pads7_attr30_wd = reg_wdata[23:16];
-  assign mio_pads7_attr30_re = addr_hit[12] && reg_re;
+  assign mio_pads10_attr30_we = addr_hit[16] & reg_we & ~wr_err;
+  assign mio_pads10_attr30_wd = reg_wdata[9:0];
+  assign mio_pads10_attr30_re = addr_hit[16] && reg_re;
 
-  assign mio_pads7_attr31_we = addr_hit[12] & reg_we & ~wr_err;
-  assign mio_pads7_attr31_wd = reg_wdata[31:24];
-  assign mio_pads7_attr31_re = addr_hit[12] && reg_re;
+  assign mio_pads10_attr31_we = addr_hit[16] & reg_we & ~wr_err;
+  assign mio_pads10_attr31_wd = reg_wdata[19:10];
+  assign mio_pads10_attr31_re = addr_hit[16] && reg_re;
 
   // Read data return
   always_comb begin
@@ -1323,86 +1343,98 @@
       end
 
       addr_hit[1]: begin
-        reg_rdata_next[7:0] = dio_pads0_attr0_qs;
-        reg_rdata_next[15:8] = dio_pads0_attr1_qs;
-        reg_rdata_next[23:16] = dio_pads0_attr2_qs;
-        reg_rdata_next[31:24] = dio_pads0_attr3_qs;
+        reg_rdata_next[9:0] = dio_pads0_attr0_qs;
+        reg_rdata_next[19:10] = dio_pads0_attr1_qs;
+        reg_rdata_next[29:20] = dio_pads0_attr2_qs;
       end
 
       addr_hit[2]: begin
-        reg_rdata_next[7:0] = dio_pads1_attr4_qs;
-        reg_rdata_next[15:8] = dio_pads1_attr5_qs;
-        reg_rdata_next[23:16] = dio_pads1_attr6_qs;
-        reg_rdata_next[31:24] = dio_pads1_attr7_qs;
+        reg_rdata_next[9:0] = dio_pads1_attr3_qs;
+        reg_rdata_next[19:10] = dio_pads1_attr4_qs;
+        reg_rdata_next[29:20] = dio_pads1_attr5_qs;
       end
 
       addr_hit[3]: begin
-        reg_rdata_next[7:0] = dio_pads2_attr8_qs;
-        reg_rdata_next[15:8] = dio_pads2_attr9_qs;
-        reg_rdata_next[23:16] = dio_pads2_attr10_qs;
-        reg_rdata_next[31:24] = dio_pads2_attr11_qs;
+        reg_rdata_next[9:0] = dio_pads2_attr6_qs;
+        reg_rdata_next[19:10] = dio_pads2_attr7_qs;
+        reg_rdata_next[29:20] = dio_pads2_attr8_qs;
       end
 
       addr_hit[4]: begin
-        reg_rdata_next[7:0] = dio_pads3_attr12_qs;
-        reg_rdata_next[15:8] = dio_pads3_attr13_qs;
-        reg_rdata_next[23:16] = dio_pads3_attr14_qs;
+        reg_rdata_next[9:0] = dio_pads3_attr9_qs;
+        reg_rdata_next[19:10] = dio_pads3_attr10_qs;
+        reg_rdata_next[29:20] = dio_pads3_attr11_qs;
       end
 
       addr_hit[5]: begin
-        reg_rdata_next[7:0] = mio_pads0_attr0_qs;
-        reg_rdata_next[15:8] = mio_pads0_attr1_qs;
-        reg_rdata_next[23:16] = mio_pads0_attr2_qs;
-        reg_rdata_next[31:24] = mio_pads0_attr3_qs;
+        reg_rdata_next[9:0] = dio_pads4_attr12_qs;
+        reg_rdata_next[19:10] = dio_pads4_attr13_qs;
+        reg_rdata_next[29:20] = dio_pads4_attr14_qs;
       end
 
       addr_hit[6]: begin
-        reg_rdata_next[7:0] = mio_pads1_attr4_qs;
-        reg_rdata_next[15:8] = mio_pads1_attr5_qs;
-        reg_rdata_next[23:16] = mio_pads1_attr6_qs;
-        reg_rdata_next[31:24] = mio_pads1_attr7_qs;
+        reg_rdata_next[9:0] = mio_pads0_attr0_qs;
+        reg_rdata_next[19:10] = mio_pads0_attr1_qs;
+        reg_rdata_next[29:20] = mio_pads0_attr2_qs;
       end
 
       addr_hit[7]: begin
-        reg_rdata_next[7:0] = mio_pads2_attr8_qs;
-        reg_rdata_next[15:8] = mio_pads2_attr9_qs;
-        reg_rdata_next[23:16] = mio_pads2_attr10_qs;
-        reg_rdata_next[31:24] = mio_pads2_attr11_qs;
+        reg_rdata_next[9:0] = mio_pads1_attr3_qs;
+        reg_rdata_next[19:10] = mio_pads1_attr4_qs;
+        reg_rdata_next[29:20] = mio_pads1_attr5_qs;
       end
 
       addr_hit[8]: begin
-        reg_rdata_next[7:0] = mio_pads3_attr12_qs;
-        reg_rdata_next[15:8] = mio_pads3_attr13_qs;
-        reg_rdata_next[23:16] = mio_pads3_attr14_qs;
-        reg_rdata_next[31:24] = mio_pads3_attr15_qs;
+        reg_rdata_next[9:0] = mio_pads2_attr6_qs;
+        reg_rdata_next[19:10] = mio_pads2_attr7_qs;
+        reg_rdata_next[29:20] = mio_pads2_attr8_qs;
       end
 
       addr_hit[9]: begin
-        reg_rdata_next[7:0] = mio_pads4_attr16_qs;
-        reg_rdata_next[15:8] = mio_pads4_attr17_qs;
-        reg_rdata_next[23:16] = mio_pads4_attr18_qs;
-        reg_rdata_next[31:24] = mio_pads4_attr19_qs;
+        reg_rdata_next[9:0] = mio_pads3_attr9_qs;
+        reg_rdata_next[19:10] = mio_pads3_attr10_qs;
+        reg_rdata_next[29:20] = mio_pads3_attr11_qs;
       end
 
       addr_hit[10]: begin
-        reg_rdata_next[7:0] = mio_pads5_attr20_qs;
-        reg_rdata_next[15:8] = mio_pads5_attr21_qs;
-        reg_rdata_next[23:16] = mio_pads5_attr22_qs;
-        reg_rdata_next[31:24] = mio_pads5_attr23_qs;
+        reg_rdata_next[9:0] = mio_pads4_attr12_qs;
+        reg_rdata_next[19:10] = mio_pads4_attr13_qs;
+        reg_rdata_next[29:20] = mio_pads4_attr14_qs;
       end
 
       addr_hit[11]: begin
-        reg_rdata_next[7:0] = mio_pads6_attr24_qs;
-        reg_rdata_next[15:8] = mio_pads6_attr25_qs;
-        reg_rdata_next[23:16] = mio_pads6_attr26_qs;
-        reg_rdata_next[31:24] = mio_pads6_attr27_qs;
+        reg_rdata_next[9:0] = mio_pads5_attr15_qs;
+        reg_rdata_next[19:10] = mio_pads5_attr16_qs;
+        reg_rdata_next[29:20] = mio_pads5_attr17_qs;
       end
 
       addr_hit[12]: begin
-        reg_rdata_next[7:0] = mio_pads7_attr28_qs;
-        reg_rdata_next[15:8] = mio_pads7_attr29_qs;
-        reg_rdata_next[23:16] = mio_pads7_attr30_qs;
-        reg_rdata_next[31:24] = mio_pads7_attr31_qs;
+        reg_rdata_next[9:0] = mio_pads6_attr18_qs;
+        reg_rdata_next[19:10] = mio_pads6_attr19_qs;
+        reg_rdata_next[29:20] = mio_pads6_attr20_qs;
+      end
+
+      addr_hit[13]: begin
+        reg_rdata_next[9:0] = mio_pads7_attr21_qs;
+        reg_rdata_next[19:10] = mio_pads7_attr22_qs;
+        reg_rdata_next[29:20] = mio_pads7_attr23_qs;
+      end
+
+      addr_hit[14]: begin
+        reg_rdata_next[9:0] = mio_pads8_attr24_qs;
+        reg_rdata_next[19:10] = mio_pads8_attr25_qs;
+        reg_rdata_next[29:20] = mio_pads8_attr26_qs;
+      end
+
+      addr_hit[15]: begin
+        reg_rdata_next[9:0] = mio_pads9_attr27_qs;
+        reg_rdata_next[19:10] = mio_pads9_attr28_qs;
+        reg_rdata_next[29:20] = mio_pads9_attr29_qs;
+      end
+
+      addr_hit[16]: begin
+        reg_rdata_next[9:0] = mio_pads10_attr30_qs;
+        reg_rdata_next[19:10] = mio_pads10_attr31_qs;
       end
 
       default: begin