[DATA] Update caravel and chip_io

- includes the latest mgmt_protect related changes for power routing
diff --git a/verilog/gl/caravel.v b/verilog/gl/caravel.v
index 0e68df1..f86ace6 100644
--- a/verilog/gl/caravel.v
+++ b/verilog/gl/caravel.v
@@ -1,18 +1,3 @@
-// SPDX-FileCopyrightText: 2020 Efabless Corporation
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-// SPDX-License-Identifier: Apache-2.0
-
 /* Generated by Yosys 0.9+3621 (git sha1 84e9fa7, gcc 8.3.1 -fPIC -Os) */
 
 module caravel(vddio, vssio, vdda, vssa, vccd, vssd, vdda1, vdda2, vssa1, vssa2, vccd1, vccd2, vssd1, vssd2, gpio, mprj_io, pwr_ctrl_out, clock, resetb, flash_csb, flash_clk, flash_io0, flash_io1);
@@ -3391,6 +3376,30 @@
   user_id_programming user_id_value (
     .mask_rev({ \mask_rev[31] , \mask_rev[30] , \mask_rev[29] , \mask_rev[28] , \mask_rev[27] , \mask_rev[26] , \mask_rev[25] , \mask_rev[24] , \mask_rev[23] , \mask_rev[22] , \mask_rev[21] , \mask_rev[20] , \mask_rev[19] , \mask_rev[18] , \mask_rev[17] , \mask_rev[16] , \mask_rev[15] , \mask_rev[14] , \mask_rev[13] , \mask_rev[12] , \mask_rev[11] , \mask_rev[10] , \mask_rev[9] , \mask_rev[8] , \mask_rev[7] , \mask_rev[6] , \mask_rev[5] , \mask_rev[4] , \mask_rev[3] , \mask_rev[2] , \mask_rev[1] , \mask_rev[0]  })
   );
+  assign \gpio_serial_link_shifted[24]  = \gpio_serial_link[23] ;
+  assign \gpio_serial_link_shifted[23]  = \gpio_serial_link[22] ;
+  assign \gpio_serial_link_shifted[22]  = \gpio_serial_link[21] ;
+  assign \gpio_serial_link_shifted[21]  = \gpio_serial_link[20] ;
+  assign \gpio_serial_link_shifted[20]  = \gpio_serial_link[19] ;
+  assign \gpio_serial_link_shifted[19]  = \gpio_serial_link[18] ;
+  assign \gpio_serial_link_shifted[18]  = \gpio_serial_link[17] ;
+  assign \gpio_serial_link_shifted[17]  = \gpio_serial_link[16] ;
+  assign \gpio_serial_link_shifted[16]  = \gpio_serial_link[15] ;
+  assign \gpio_serial_link_shifted[15]  = \gpio_serial_link[14] ;
+  assign \gpio_serial_link_shifted[14]  = \gpio_serial_link[13] ;
+  assign \gpio_serial_link_shifted[13]  = \gpio_serial_link[12] ;
+  assign \gpio_serial_link_shifted[12]  = \gpio_serial_link[11] ;
+  assign \gpio_serial_link_shifted[11]  = \gpio_serial_link[10] ;
+  assign \gpio_serial_link_shifted[10]  = \gpio_serial_link[9] ;
+  assign \gpio_serial_link_shifted[9]  = \gpio_serial_link[8] ;
+  assign \gpio_serial_link_shifted[8]  = \gpio_serial_link[7] ;
+  assign \gpio_serial_link_shifted[7]  = \gpio_serial_link[6] ;
+  assign \gpio_serial_link_shifted[6]  = \gpio_serial_link[5] ;
+  assign \gpio_serial_link_shifted[5]  = \gpio_serial_link[4] ;
+  assign \gpio_serial_link_shifted[4]  = \gpio_serial_link[3] ;
+  assign \gpio_serial_link_shifted[3]  = \gpio_serial_link[2] ;
+  assign \gpio_serial_link_shifted[2]  = \gpio_serial_link[1] ;
+  assign \gpio_serial_link_shifted[1]  = \gpio_serial_link[0] ;
   assign \mprj_io_enh[37]  = \mprj_io_enh[0] ;
   assign \mprj_io_enh[36]  = \mprj_io_enh[0] ;
   assign \mprj_io_enh[35]  = \mprj_io_enh[0] ;
@@ -3428,81 +3437,57 @@
   assign \mprj_io_enh[3]  = \mprj_io_enh[0] ;
   assign \mprj_io_enh[2]  = \mprj_io_enh[0] ;
   assign \mprj_io_enh[1]  = \mprj_io_enh[0] ;
-  assign \mprj_io_hldh_n[37]  = vddio;
   assign \mprj_io_hldh_n[36]  = vddio;
   assign \mprj_io_hldh_n[35]  = vddio;
   assign \mprj_io_hldh_n[34]  = vddio;
   assign \mprj_io_hldh_n[33]  = vddio;
-  assign \mprj_io_hldh_n[32]  = vddio;
-  assign \mprj_io_hldh_n[31]  = vddio;
-  assign \mprj_io_hldh_n[30]  = vddio;
-  assign \mprj_io_hldh_n[29]  = vddio;
-  assign \mprj_io_hldh_n[28]  = vddio;
-  assign \mprj_io_hldh_n[27]  = vddio;
-  assign \mprj_io_hldh_n[26]  = vddio;
-  assign \mprj_io_hldh_n[25]  = vddio;
-  assign \mprj_io_hldh_n[24]  = vddio;
-  assign \mprj_io_hldh_n[23]  = vddio;
-  assign \mprj_io_hldh_n[22]  = vddio;
-  assign \mprj_io_hldh_n[21]  = vddio;
-  assign \mprj_io_hldh_n[20]  = vddio;
-  assign \mprj_io_hldh_n[19]  = vddio;
-  assign \mprj_io_hldh_n[18]  = vddio;
-  assign \mprj_io_hldh_n[17]  = vddio;
-  assign \mprj_io_hldh_n[16]  = vddio;
-  assign \mprj_io_hldh_n[15]  = vddio;
-  assign \mprj_io_hldh_n[14]  = vddio;
   assign \mprj_io_hldh_n[13]  = vddio;
   assign \mprj_io_hldh_n[12]  = vddio;
   assign \mprj_io_hldh_n[11]  = vddio;
+  assign \mprj_io_hldh_n[32]  = vddio;
+  assign \mprj_io_hldh_n[31]  = vddio;
+  assign \mprj_io_hldh_n[15]  = vddio;
+  assign \mprj_io_hldh_n[14]  = vddio;
+  assign \gpio_serial_link_shifted[30]  = \gpio_serial_link[29] ;
+  assign \gpio_serial_link_shifted[34]  = \gpio_serial_link[33] ;
+  assign \gpio_serial_link_shifted[33]  = \gpio_serial_link[32] ;
+  assign \mprj_io_hldh_n[30]  = vddio;
+  assign \gpio_serial_link_shifted[28]  = \gpio_serial_link[27] ;
+  assign \gpio_serial_link_shifted[27]  = \gpio_serial_link[26] ;
+  assign \gpio_serial_link_shifted[29]  = \gpio_serial_link[28] ;
+  assign \mprj_io_hldh_n[28]  = vddio;
+  assign \mprj_io_hldh_n[25]  = vddio;
+  assign \mprj_io_hldh_n[24]  = vddio;
+  assign \mprj_io_hldh_n[21]  = vddio;
+  assign \mprj_io_hldh_n[20]  = vddio;
   assign \mprj_io_hldh_n[10]  = vddio;
-  assign \mprj_io_hldh_n[9]  = vddio;
-  assign \mprj_io_hldh_n[8]  = vddio;
+  assign \mprj_io_hldh_n[27]  = vddio;
+  assign \mprj_io_hldh_n[26]  = vddio;
+  assign \gpio_serial_link_shifted[36]  = \gpio_serial_link[35] ;
+  assign \mprj_io_hldh_n[22]  = vddio;
+  assign porb_h = \mprj_io_enh[0] ;
+  assign \mprj_io_hldh_n[23]  = vddio;
+  assign \mprj_io_hldh_n[19]  = vddio;
+  assign \mprj_io_hldh_n[18]  = vddio;
+  assign \gpio_serial_link_shifted[35]  = \gpio_serial_link[34] ;
+  assign \gpio_serial_link_shifted[32]  = \gpio_serial_link[31] ;
+  assign \gpio_serial_link_shifted[31]  = \gpio_serial_link[30] ;
   assign \mprj_io_hldh_n[7]  = vddio;
   assign \mprj_io_hldh_n[6]  = vddio;
+  assign \gpio_serial_link_shifted[26]  = \gpio_serial_link[25] ;
+  assign \gpio_serial_link_shifted[25]  = \gpio_serial_link[24] ;
   assign \mprj_io_hldh_n[5]  = vddio;
   assign \mprj_io_hldh_n[4]  = vddio;
   assign \mprj_io_hldh_n[3]  = vddio;
   assign \mprj_io_hldh_n[2]  = vddio;
   assign \mprj_io_hldh_n[1]  = vddio;
+  assign \mprj_io_hldh_n[17]  = vddio;
+  assign \mprj_io_hldh_n[16]  = vddio;
   assign \mprj_io_hldh_n[0]  = vddio;
+  assign \mprj_io_hldh_n[29]  = vddio;
   assign \gpio_serial_link_shifted[37]  = \gpio_serial_link[36] ;
-  assign \gpio_serial_link_shifted[36]  = \gpio_serial_link[35] ;
-  assign \gpio_serial_link_shifted[21]  = \gpio_serial_link[20] ;
-  assign \gpio_serial_link_shifted[20]  = \gpio_serial_link[19] ;
-  assign \gpio_serial_link_shifted[19]  = \gpio_serial_link[18] ;
-  assign \gpio_serial_link_shifted[18]  = \gpio_serial_link[17] ;
-  assign \gpio_serial_link_shifted[24]  = \gpio_serial_link[23] ;
-  assign \gpio_serial_link_shifted[23]  = \gpio_serial_link[22] ;
-  assign \gpio_serial_link_shifted[22]  = \gpio_serial_link[21] ;
-  assign \gpio_serial_link_shifted[33]  = \gpio_serial_link[32] ;
-  assign \gpio_serial_link_shifted[32]  = \gpio_serial_link[31] ;
-  assign \gpio_serial_link_shifted[31]  = \gpio_serial_link[30] ;
-  assign \gpio_serial_link_shifted[17]  = \gpio_serial_link[16] ;
-  assign \gpio_serial_link_shifted[16]  = \gpio_serial_link[15] ;
-  assign \gpio_serial_link_shifted[35]  = \gpio_serial_link[34] ;
-  assign \gpio_serial_link_shifted[12]  = \gpio_serial_link[11] ;
-  assign \gpio_serial_link_shifted[11]  = \gpio_serial_link[10] ;
-  assign \gpio_serial_link_shifted[34]  = \gpio_serial_link[33] ;
-  assign \gpio_serial_link_shifted[3]  = \gpio_serial_link[2] ;
-  assign \gpio_serial_link_shifted[28]  = \gpio_serial_link[27] ;
-  assign \gpio_serial_link_shifted[27]  = \gpio_serial_link[26] ;
-  assign \gpio_serial_link_shifted[4]  = \gpio_serial_link[3] ;
-  assign \gpio_serial_link_shifted[30]  = \gpio_serial_link[29] ;
-  assign \gpio_serial_link_shifted[29]  = \gpio_serial_link[28] ;
-  assign \gpio_serial_link_shifted[25]  = \gpio_serial_link[24] ;
-  assign porb_h = \mprj_io_enh[0] ;
-  assign \gpio_serial_link_shifted[10]  = \gpio_serial_link[9] ;
-  assign \gpio_serial_link_shifted[13]  = \gpio_serial_link[12] ;
-  assign \gpio_serial_link_shifted[9]  = \gpio_serial_link[8] ;
-  assign \gpio_serial_link_shifted[6]  = \gpio_serial_link[5] ;
-  assign \gpio_serial_link_shifted[5]  = \gpio_serial_link[4] ;
-  assign \gpio_serial_link_shifted[2]  = \gpio_serial_link[1] ;
-  assign \gpio_serial_link_shifted[15]  = \gpio_serial_link[14] ;
-  assign \gpio_serial_link_shifted[26]  = \gpio_serial_link[25] ;
-  assign \gpio_serial_link_shifted[14]  = \gpio_serial_link[13] ;
-  assign \gpio_serial_link_shifted[8]  = \gpio_serial_link[7] ;
-  assign \gpio_serial_link_shifted[7]  = \gpio_serial_link[6] ;
-  assign \gpio_serial_link_shifted[1]  = \gpio_serial_link[0] ;
+  assign \mprj_io_hldh_n[9]  = vddio;
+  assign \mprj_io_hldh_n[8]  = vddio;
+  assign \mprj_io_hldh_n[37]  = vddio;
   assign mprj_io_loader_data = \gpio_serial_link_shifted[0] ;
 endmodule
diff --git a/verilog/gl/chip_io.v b/verilog/gl/chip_io.v
index f6a628b..e2ffbac 100644
--- a/verilog/gl/chip_io.v
+++ b/verilog/gl/chip_io.v
@@ -1,18 +1,3 @@
-// SPDX-FileCopyrightText: 2020 Efabless Corporation
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-// SPDX-License-Identifier: Apache-2.0
-
 /* Generated by Yosys 0.9+3621 (git sha1 84e9fa7, gcc 8.3.1 -fPIC -Os) */
 
 module chip_io(vddio, vssio, vccd, vssd, vdda, vssa, vdda1, vdda2, vssa1, vssa2, vccd1, vccd2, vssd1, vssd2, gpio, clock, resetb, flash_csb, flash_clk, flash_io0, flash_io1, porb_h, por, resetb_core_h, clock_core, gpio_out_core, gpio_in_core, gpio_mode0_core, gpio_mode1_core, gpio_outenb_core, gpio_inenb_core, flash_csb_core, flash_clk_core, flash_csb_oeb_core, flash_clk_oeb_core, flash_io0_oeb_core, flash_io1_oeb_core, flash_csb_ieb_core, flash_clk_ieb_core, flash_io0_ieb_core, flash_io1_ieb_core, flash_io0_do_core, flash_io1_do_core, flash_io0_di_core, flash_io1_di_core, mprj_io, mprj_io_out, mprj_io_oeb, mprj_io_hldh_n, mprj_io_enh, mprj_io_inp_dis, mprj_io_ib_mode_sel, mprj_io_vtrip_sel, mprj_io_slow_sel, mprj_io_holdover, mprj_io_analog_en, mprj_io_analog_sel, mprj_io_analog_pol, mprj_io_dm, mprj_io_in, mprj_analog_io);
@@ -2943,6 +2928,400 @@
     .VSSIO_Q(\mprj_pads.vssio_q ),
     .VSWITCH(vddio)
   );
+  assign \mprj_pads.analog_io[30]  = mprj_analog_io[30];
+  assign \mprj_pads.analog_io[29]  = mprj_analog_io[29];
+  assign \mprj_pads.analog_io[28]  = mprj_analog_io[28];
+  assign \mprj_pads.analog_io[27]  = mprj_analog_io[27];
+  assign \mprj_pads.analog_io[26]  = mprj_analog_io[26];
+  assign \mprj_pads.analog_io[25]  = mprj_analog_io[25];
+  assign \mprj_pads.analog_io[24]  = mprj_analog_io[24];
+  assign \mprj_pads.analog_io[23]  = mprj_analog_io[23];
+  assign \mprj_pads.analog_io[22]  = mprj_analog_io[22];
+  assign \mprj_pads.analog_io[21]  = mprj_analog_io[21];
+  assign \mprj_pads.analog_io[20]  = mprj_analog_io[20];
+  assign \mprj_pads.analog_io[19]  = mprj_analog_io[19];
+  assign \mprj_pads.analog_io[18]  = mprj_analog_io[18];
+  assign \mprj_pads.analog_io[17]  = mprj_analog_io[17];
+  assign \mprj_pads.analog_io[16]  = mprj_analog_io[16];
+  assign \mprj_pads.analog_io[15]  = mprj_analog_io[15];
+  assign \mprj_pads.analog_io[14]  = mprj_analog_io[14];
+  assign \mprj_pads.analog_io[13]  = mprj_analog_io[13];
+  assign \mprj_pads.analog_io[12]  = mprj_analog_io[12];
+  assign \mprj_pads.analog_io[11]  = mprj_analog_io[11];
+  assign \mprj_pads.analog_io[10]  = mprj_analog_io[10];
+  assign \mprj_pads.analog_io[9]  = mprj_analog_io[9];
+  assign \mprj_pads.analog_io[8]  = mprj_analog_io[8];
+  assign \mprj_pads.analog_io[7]  = mprj_analog_io[7];
+  assign \mprj_pads.analog_io[6]  = mprj_analog_io[6];
+  assign \mprj_pads.analog_io[5]  = mprj_analog_io[5];
+  assign \mprj_pads.analog_io[4]  = mprj_analog_io[4];
+  assign \mprj_pads.analog_io[3]  = mprj_analog_io[3];
+  assign \mprj_pads.analog_io[2]  = mprj_analog_io[2];
+  assign \mprj_pads.analog_io[1]  = mprj_analog_io[1];
+  assign \mprj_pads.analog_io[0]  = mprj_analog_io[0];
+  assign \mprj_pads.analog_sel[37]  = mprj_io_analog_sel[37];
+  assign \mprj_pads.analog_sel[36]  = mprj_io_analog_sel[36];
+  assign \mprj_pads.analog_sel[35]  = mprj_io_analog_sel[35];
+  assign \mprj_pads.analog_sel[34]  = mprj_io_analog_sel[34];
+  assign \mprj_pads.analog_sel[33]  = mprj_io_analog_sel[33];
+  assign \mprj_pads.analog_sel[32]  = mprj_io_analog_sel[32];
+  assign \mprj_pads.analog_sel[31]  = mprj_io_analog_sel[31];
+  assign \mprj_pads.analog_sel[30]  = mprj_io_analog_sel[30];
+  assign \mprj_pads.analog_sel[29]  = mprj_io_analog_sel[29];
+  assign \mprj_pads.analog_sel[28]  = mprj_io_analog_sel[28];
+  assign \mprj_pads.analog_sel[27]  = mprj_io_analog_sel[27];
+  assign \mprj_pads.analog_sel[26]  = mprj_io_analog_sel[26];
+  assign \mprj_pads.analog_sel[25]  = mprj_io_analog_sel[25];
+  assign \mprj_pads.analog_sel[24]  = mprj_io_analog_sel[24];
+  assign \mprj_pads.analog_sel[23]  = mprj_io_analog_sel[23];
+  assign \mprj_pads.analog_sel[22]  = mprj_io_analog_sel[22];
+  assign \mprj_pads.analog_sel[21]  = mprj_io_analog_sel[21];
+  assign \mprj_pads.analog_sel[20]  = mprj_io_analog_sel[20];
+  assign \mprj_pads.analog_sel[19]  = mprj_io_analog_sel[19];
+  assign \mprj_pads.analog_sel[18]  = mprj_io_analog_sel[18];
+  assign \mprj_pads.analog_sel[17]  = mprj_io_analog_sel[17];
+  assign \mprj_pads.analog_sel[16]  = mprj_io_analog_sel[16];
+  assign \mprj_pads.analog_sel[15]  = mprj_io_analog_sel[15];
+  assign \mprj_pads.analog_sel[14]  = mprj_io_analog_sel[14];
+  assign \mprj_pads.analog_sel[13]  = mprj_io_analog_sel[13];
+  assign \mprj_pads.analog_sel[12]  = mprj_io_analog_sel[12];
+  assign \mprj_pads.analog_sel[11]  = mprj_io_analog_sel[11];
+  assign \mprj_pads.analog_sel[10]  = mprj_io_analog_sel[10];
+  assign \mprj_pads.analog_sel[9]  = mprj_io_analog_sel[9];
+  assign \mprj_pads.analog_sel[8]  = mprj_io_analog_sel[8];
+  assign \mprj_pads.analog_sel[7]  = mprj_io_analog_sel[7];
+  assign \mprj_pads.analog_sel[6]  = mprj_io_analog_sel[6];
+  assign \mprj_pads.analog_sel[5]  = mprj_io_analog_sel[5];
+  assign \mprj_pads.analog_sel[4]  = mprj_io_analog_sel[4];
+  assign \mprj_pads.analog_sel[3]  = mprj_io_analog_sel[3];
+  assign \mprj_pads.analog_sel[2]  = mprj_io_analog_sel[2];
+  assign \mprj_pads.analog_sel[1]  = mprj_io_analog_sel[1];
+  assign \mprj_pads.analog_sel[0]  = mprj_io_analog_sel[0];
+  assign \mprj_pads.ib_mode_sel[37]  = mprj_io_ib_mode_sel[37];
+  assign \mprj_pads.ib_mode_sel[36]  = mprj_io_ib_mode_sel[36];
+  assign \mprj_pads.ib_mode_sel[35]  = mprj_io_ib_mode_sel[35];
+  assign \mprj_pads.ib_mode_sel[34]  = mprj_io_ib_mode_sel[34];
+  assign \mprj_pads.ib_mode_sel[33]  = mprj_io_ib_mode_sel[33];
+  assign \mprj_pads.ib_mode_sel[32]  = mprj_io_ib_mode_sel[32];
+  assign \mprj_pads.ib_mode_sel[31]  = mprj_io_ib_mode_sel[31];
+  assign \mprj_pads.ib_mode_sel[30]  = mprj_io_ib_mode_sel[30];
+  assign \mprj_pads.ib_mode_sel[29]  = mprj_io_ib_mode_sel[29];
+  assign \mprj_pads.ib_mode_sel[28]  = mprj_io_ib_mode_sel[28];
+  assign \mprj_pads.ib_mode_sel[27]  = mprj_io_ib_mode_sel[27];
+  assign \mprj_pads.ib_mode_sel[26]  = mprj_io_ib_mode_sel[26];
+  assign \mprj_pads.ib_mode_sel[25]  = mprj_io_ib_mode_sel[25];
+  assign \mprj_pads.ib_mode_sel[24]  = mprj_io_ib_mode_sel[24];
+  assign \mprj_pads.ib_mode_sel[23]  = mprj_io_ib_mode_sel[23];
+  assign \mprj_pads.ib_mode_sel[22]  = mprj_io_ib_mode_sel[22];
+  assign \mprj_pads.ib_mode_sel[21]  = mprj_io_ib_mode_sel[21];
+  assign \mprj_pads.ib_mode_sel[20]  = mprj_io_ib_mode_sel[20];
+  assign \mprj_pads.ib_mode_sel[19]  = mprj_io_ib_mode_sel[19];
+  assign \mprj_pads.ib_mode_sel[18]  = mprj_io_ib_mode_sel[18];
+  assign \mprj_pads.ib_mode_sel[17]  = mprj_io_ib_mode_sel[17];
+  assign \mprj_pads.ib_mode_sel[16]  = mprj_io_ib_mode_sel[16];
+  assign \mprj_pads.ib_mode_sel[15]  = mprj_io_ib_mode_sel[15];
+  assign \mprj_pads.ib_mode_sel[14]  = mprj_io_ib_mode_sel[14];
+  assign \mprj_pads.ib_mode_sel[13]  = mprj_io_ib_mode_sel[13];
+  assign \mprj_pads.ib_mode_sel[12]  = mprj_io_ib_mode_sel[12];
+  assign \mprj_pads.ib_mode_sel[11]  = mprj_io_ib_mode_sel[11];
+  assign \mprj_pads.ib_mode_sel[10]  = mprj_io_ib_mode_sel[10];
+  assign \mprj_pads.ib_mode_sel[9]  = mprj_io_ib_mode_sel[9];
+  assign \mprj_pads.ib_mode_sel[8]  = mprj_io_ib_mode_sel[8];
+  assign \mprj_pads.ib_mode_sel[7]  = mprj_io_ib_mode_sel[7];
+  assign \mprj_pads.ib_mode_sel[6]  = mprj_io_ib_mode_sel[6];
+  assign \mprj_pads.ib_mode_sel[5]  = mprj_io_ib_mode_sel[5];
+  assign \mprj_pads.ib_mode_sel[4]  = mprj_io_ib_mode_sel[4];
+  assign \mprj_pads.ib_mode_sel[3]  = mprj_io_ib_mode_sel[3];
+  assign \mprj_pads.ib_mode_sel[2]  = mprj_io_ib_mode_sel[2];
+  assign \mprj_pads.ib_mode_sel[1]  = mprj_io_ib_mode_sel[1];
+  assign \mprj_pads.ib_mode_sel[0]  = mprj_io_ib_mode_sel[0];
+  assign \mprj_pads.vtrip_sel[37]  = mprj_io_vtrip_sel[37];
+  assign \mprj_pads.vtrip_sel[36]  = mprj_io_vtrip_sel[36];
+  assign \mprj_pads.vtrip_sel[35]  = mprj_io_vtrip_sel[35];
+  assign \mprj_pads.vtrip_sel[34]  = mprj_io_vtrip_sel[34];
+  assign \mprj_pads.vtrip_sel[33]  = mprj_io_vtrip_sel[33];
+  assign \mprj_pads.vtrip_sel[32]  = mprj_io_vtrip_sel[32];
+  assign \mprj_pads.vtrip_sel[31]  = mprj_io_vtrip_sel[31];
+  assign \mprj_pads.vtrip_sel[30]  = mprj_io_vtrip_sel[30];
+  assign \mprj_pads.vtrip_sel[29]  = mprj_io_vtrip_sel[29];
+  assign \mprj_pads.vtrip_sel[28]  = mprj_io_vtrip_sel[28];
+  assign \mprj_pads.vtrip_sel[27]  = mprj_io_vtrip_sel[27];
+  assign \mprj_pads.vtrip_sel[26]  = mprj_io_vtrip_sel[26];
+  assign \mprj_pads.vtrip_sel[25]  = mprj_io_vtrip_sel[25];
+  assign \mprj_pads.vtrip_sel[24]  = mprj_io_vtrip_sel[24];
+  assign \mprj_pads.vtrip_sel[23]  = mprj_io_vtrip_sel[23];
+  assign \mprj_pads.vtrip_sel[22]  = mprj_io_vtrip_sel[22];
+  assign \mprj_pads.vtrip_sel[21]  = mprj_io_vtrip_sel[21];
+  assign \mprj_pads.vtrip_sel[20]  = mprj_io_vtrip_sel[20];
+  assign \mprj_pads.vtrip_sel[19]  = mprj_io_vtrip_sel[19];
+  assign \mprj_pads.vtrip_sel[18]  = mprj_io_vtrip_sel[18];
+  assign \mprj_pads.vtrip_sel[17]  = mprj_io_vtrip_sel[17];
+  assign \mprj_pads.vtrip_sel[16]  = mprj_io_vtrip_sel[16];
+  assign \mprj_pads.vtrip_sel[15]  = mprj_io_vtrip_sel[15];
+  assign \mprj_pads.vtrip_sel[14]  = mprj_io_vtrip_sel[14];
+  assign \mprj_pads.vtrip_sel[13]  = mprj_io_vtrip_sel[13];
+  assign \mprj_pads.vtrip_sel[12]  = mprj_io_vtrip_sel[12];
+  assign \mprj_pads.vtrip_sel[11]  = mprj_io_vtrip_sel[11];
+  assign \mprj_pads.vtrip_sel[10]  = mprj_io_vtrip_sel[10];
+  assign \mprj_pads.vtrip_sel[9]  = mprj_io_vtrip_sel[9];
+  assign \mprj_pads.vtrip_sel[8]  = mprj_io_vtrip_sel[8];
+  assign \mprj_pads.vtrip_sel[7]  = mprj_io_vtrip_sel[7];
+  assign \mprj_pads.vtrip_sel[6]  = mprj_io_vtrip_sel[6];
+  assign \mprj_pads.vtrip_sel[5]  = mprj_io_vtrip_sel[5];
+  assign \mprj_pads.vtrip_sel[4]  = mprj_io_vtrip_sel[4];
+  assign \mprj_pads.vtrip_sel[3]  = mprj_io_vtrip_sel[3];
+  assign \mprj_pads.vtrip_sel[2]  = mprj_io_vtrip_sel[2];
+  assign \mprj_pads.vtrip_sel[1]  = mprj_io_vtrip_sel[1];
+  assign \mprj_pads.vtrip_sel[0]  = mprj_io_vtrip_sel[0];
+  assign \mprj_pads.inp_dis[37]  = mprj_io_inp_dis[37];
+  assign \mprj_pads.inp_dis[36]  = mprj_io_inp_dis[36];
+  assign \mprj_pads.inp_dis[35]  = mprj_io_inp_dis[35];
+  assign \mprj_pads.inp_dis[34]  = mprj_io_inp_dis[34];
+  assign \mprj_pads.inp_dis[33]  = mprj_io_inp_dis[33];
+  assign \mprj_pads.inp_dis[32]  = mprj_io_inp_dis[32];
+  assign \mprj_pads.inp_dis[31]  = mprj_io_inp_dis[31];
+  assign \mprj_pads.inp_dis[30]  = mprj_io_inp_dis[30];
+  assign \mprj_pads.inp_dis[29]  = mprj_io_inp_dis[29];
+  assign \mprj_pads.inp_dis[28]  = mprj_io_inp_dis[28];
+  assign \mprj_pads.inp_dis[27]  = mprj_io_inp_dis[27];
+  assign \mprj_pads.inp_dis[26]  = mprj_io_inp_dis[26];
+  assign \mprj_pads.inp_dis[25]  = mprj_io_inp_dis[25];
+  assign \mprj_pads.inp_dis[24]  = mprj_io_inp_dis[24];
+  assign \mprj_pads.inp_dis[23]  = mprj_io_inp_dis[23];
+  assign \mprj_pads.inp_dis[22]  = mprj_io_inp_dis[22];
+  assign \mprj_pads.inp_dis[21]  = mprj_io_inp_dis[21];
+  assign \mprj_pads.inp_dis[20]  = mprj_io_inp_dis[20];
+  assign \mprj_pads.inp_dis[19]  = mprj_io_inp_dis[19];
+  assign \mprj_pads.inp_dis[18]  = mprj_io_inp_dis[18];
+  assign \mprj_pads.inp_dis[17]  = mprj_io_inp_dis[17];
+  assign \mprj_pads.inp_dis[16]  = mprj_io_inp_dis[16];
+  assign \mprj_pads.inp_dis[15]  = mprj_io_inp_dis[15];
+  assign \mprj_pads.inp_dis[14]  = mprj_io_inp_dis[14];
+  assign \mprj_pads.inp_dis[13]  = mprj_io_inp_dis[13];
+  assign \mprj_pads.inp_dis[12]  = mprj_io_inp_dis[12];
+  assign \mprj_pads.inp_dis[11]  = mprj_io_inp_dis[11];
+  assign \mprj_pads.inp_dis[10]  = mprj_io_inp_dis[10];
+  assign \mprj_pads.inp_dis[9]  = mprj_io_inp_dis[9];
+  assign \mprj_pads.inp_dis[8]  = mprj_io_inp_dis[8];
+  assign \mprj_pads.inp_dis[7]  = mprj_io_inp_dis[7];
+  assign \mprj_pads.inp_dis[6]  = mprj_io_inp_dis[6];
+  assign \mprj_pads.inp_dis[5]  = mprj_io_inp_dis[5];
+  assign \mprj_pads.inp_dis[4]  = mprj_io_inp_dis[4];
+  assign \mprj_pads.inp_dis[3]  = mprj_io_inp_dis[3];
+  assign \mprj_pads.inp_dis[2]  = mprj_io_inp_dis[2];
+  assign \mprj_pads.inp_dis[1]  = mprj_io_inp_dis[1];
+  assign \mprj_pads.inp_dis[0]  = mprj_io_inp_dis[0];
+  assign \mprj_pads.enh[37]  = mprj_io_enh[37];
+  assign \mprj_pads.enh[36]  = mprj_io_enh[36];
+  assign \mprj_pads.enh[35]  = mprj_io_enh[35];
+  assign \mprj_pads.enh[34]  = mprj_io_enh[34];
+  assign \mprj_pads.enh[33]  = mprj_io_enh[33];
+  assign \mprj_pads.enh[32]  = mprj_io_enh[32];
+  assign \mprj_pads.enh[31]  = mprj_io_enh[31];
+  assign \mprj_pads.enh[30]  = mprj_io_enh[30];
+  assign \mprj_pads.enh[29]  = mprj_io_enh[29];
+  assign \mprj_pads.enh[28]  = mprj_io_enh[28];
+  assign \mprj_pads.enh[27]  = mprj_io_enh[27];
+  assign \mprj_pads.enh[26]  = mprj_io_enh[26];
+  assign \mprj_pads.enh[25]  = mprj_io_enh[25];
+  assign \mprj_pads.enh[24]  = mprj_io_enh[24];
+  assign \mprj_pads.enh[23]  = mprj_io_enh[23];
+  assign \mprj_pads.enh[22]  = mprj_io_enh[22];
+  assign \mprj_pads.enh[21]  = mprj_io_enh[21];
+  assign \mprj_pads.enh[20]  = mprj_io_enh[20];
+  assign \mprj_pads.enh[19]  = mprj_io_enh[19];
+  assign \mprj_pads.enh[18]  = mprj_io_enh[18];
+  assign \mprj_pads.enh[17]  = mprj_io_enh[17];
+  assign \mprj_pads.enh[16]  = mprj_io_enh[16];
+  assign \mprj_pads.enh[15]  = mprj_io_enh[15];
+  assign \mprj_pads.enh[14]  = mprj_io_enh[14];
+  assign \mprj_pads.enh[13]  = mprj_io_enh[13];
+  assign \mprj_pads.enh[12]  = mprj_io_enh[12];
+  assign \mprj_pads.enh[11]  = mprj_io_enh[11];
+  assign \mprj_pads.enh[10]  = mprj_io_enh[10];
+  assign \mprj_pads.enh[9]  = mprj_io_enh[9];
+  assign \mprj_pads.enh[8]  = mprj_io_enh[8];
+  assign \mprj_pads.enh[7]  = mprj_io_enh[7];
+  assign \mprj_pads.enh[6]  = mprj_io_enh[6];
+  assign \mprj_pads.enh[5]  = mprj_io_enh[5];
+  assign \mprj_pads.enh[4]  = mprj_io_enh[4];
+  assign \mprj_pads.enh[3]  = mprj_io_enh[3];
+  assign \mprj_pads.enh[2]  = mprj_io_enh[2];
+  assign \mprj_pads.enh[1]  = mprj_io_enh[1];
+  assign \mprj_pads.enh[0]  = mprj_io_enh[0];
+  assign \mprj_pads.hldh_n[37]  = mprj_io_hldh_n[37];
+  assign \mprj_pads.hldh_n[36]  = mprj_io_hldh_n[36];
+  assign \mprj_pads.hldh_n[35]  = mprj_io_hldh_n[35];
+  assign \mprj_pads.hldh_n[34]  = mprj_io_hldh_n[34];
+  assign \mprj_pads.hldh_n[33]  = mprj_io_hldh_n[33];
+  assign \mprj_pads.hldh_n[32]  = mprj_io_hldh_n[32];
+  assign \mprj_pads.hldh_n[31]  = mprj_io_hldh_n[31];
+  assign \mprj_pads.hldh_n[30]  = mprj_io_hldh_n[30];
+  assign \mprj_pads.hldh_n[29]  = mprj_io_hldh_n[29];
+  assign \mprj_pads.hldh_n[28]  = mprj_io_hldh_n[28];
+  assign \mprj_pads.hldh_n[27]  = mprj_io_hldh_n[27];
+  assign \mprj_pads.hldh_n[26]  = mprj_io_hldh_n[26];
+  assign \mprj_pads.hldh_n[25]  = mprj_io_hldh_n[25];
+  assign \mprj_pads.hldh_n[24]  = mprj_io_hldh_n[24];
+  assign \mprj_pads.hldh_n[23]  = mprj_io_hldh_n[23];
+  assign \mprj_pads.hldh_n[22]  = mprj_io_hldh_n[22];
+  assign \mprj_pads.hldh_n[21]  = mprj_io_hldh_n[21];
+  assign \mprj_pads.hldh_n[20]  = mprj_io_hldh_n[20];
+  assign \mprj_pads.hldh_n[19]  = mprj_io_hldh_n[19];
+  assign \mprj_pads.hldh_n[18]  = mprj_io_hldh_n[18];
+  assign \mprj_pads.hldh_n[17]  = mprj_io_hldh_n[17];
+  assign \mprj_pads.hldh_n[16]  = mprj_io_hldh_n[16];
+  assign \mprj_pads.hldh_n[15]  = mprj_io_hldh_n[15];
+  assign \mprj_pads.hldh_n[14]  = mprj_io_hldh_n[14];
+  assign \mprj_pads.hldh_n[13]  = mprj_io_hldh_n[13];
+  assign \mprj_pads.hldh_n[12]  = mprj_io_hldh_n[12];
+  assign \mprj_pads.hldh_n[11]  = mprj_io_hldh_n[11];
+  assign \mprj_pads.hldh_n[10]  = mprj_io_hldh_n[10];
+  assign \mprj_pads.hldh_n[9]  = mprj_io_hldh_n[9];
+  assign \mprj_pads.hldh_n[8]  = mprj_io_hldh_n[8];
+  assign \mprj_pads.hldh_n[7]  = mprj_io_hldh_n[7];
+  assign \mprj_pads.hldh_n[6]  = mprj_io_hldh_n[6];
+  assign \mprj_pads.hldh_n[5]  = mprj_io_hldh_n[5];
+  assign \mprj_pads.hldh_n[4]  = mprj_io_hldh_n[4];
+  assign \mprj_pads.hldh_n[3]  = mprj_io_hldh_n[3];
+  assign \mprj_pads.hldh_n[2]  = mprj_io_hldh_n[2];
+  assign \mprj_pads.hldh_n[1]  = mprj_io_hldh_n[1];
+  assign \mprj_pads.hldh_n[0]  = mprj_io_hldh_n[0];
+  assign \mprj_pads.slow_sel[37]  = mprj_io_slow_sel[37];
+  assign \mprj_pads.slow_sel[36]  = mprj_io_slow_sel[36];
+  assign \mprj_pads.slow_sel[35]  = mprj_io_slow_sel[35];
+  assign \mprj_pads.slow_sel[34]  = mprj_io_slow_sel[34];
+  assign \mprj_pads.slow_sel[33]  = mprj_io_slow_sel[33];
+  assign \mprj_pads.slow_sel[32]  = mprj_io_slow_sel[32];
+  assign \mprj_pads.slow_sel[31]  = mprj_io_slow_sel[31];
+  assign \mprj_pads.slow_sel[30]  = mprj_io_slow_sel[30];
+  assign \mprj_pads.slow_sel[29]  = mprj_io_slow_sel[29];
+  assign \mprj_pads.slow_sel[28]  = mprj_io_slow_sel[28];
+  assign \mprj_pads.slow_sel[27]  = mprj_io_slow_sel[27];
+  assign \mprj_pads.slow_sel[26]  = mprj_io_slow_sel[26];
+  assign \mprj_pads.slow_sel[25]  = mprj_io_slow_sel[25];
+  assign \mprj_pads.slow_sel[24]  = mprj_io_slow_sel[24];
+  assign \mprj_pads.slow_sel[23]  = mprj_io_slow_sel[23];
+  assign \mprj_pads.slow_sel[22]  = mprj_io_slow_sel[22];
+  assign \mprj_pads.slow_sel[21]  = mprj_io_slow_sel[21];
+  assign \mprj_pads.slow_sel[20]  = mprj_io_slow_sel[20];
+  assign \mprj_pads.slow_sel[19]  = mprj_io_slow_sel[19];
+  assign \mprj_pads.slow_sel[18]  = mprj_io_slow_sel[18];
+  assign \mprj_pads.slow_sel[17]  = mprj_io_slow_sel[17];
+  assign \mprj_pads.slow_sel[16]  = mprj_io_slow_sel[16];
+  assign \mprj_pads.slow_sel[15]  = mprj_io_slow_sel[15];
+  assign \mprj_pads.slow_sel[14]  = mprj_io_slow_sel[14];
+  assign \mprj_pads.slow_sel[13]  = mprj_io_slow_sel[13];
+  assign \mprj_pads.slow_sel[12]  = mprj_io_slow_sel[12];
+  assign \mprj_pads.slow_sel[11]  = mprj_io_slow_sel[11];
+  assign \mprj_pads.slow_sel[10]  = mprj_io_slow_sel[10];
+  assign \mprj_pads.slow_sel[9]  = mprj_io_slow_sel[9];
+  assign \mprj_pads.slow_sel[8]  = mprj_io_slow_sel[8];
+  assign \mprj_pads.slow_sel[7]  = mprj_io_slow_sel[7];
+  assign \mprj_pads.slow_sel[6]  = mprj_io_slow_sel[6];
+  assign \mprj_pads.slow_sel[5]  = mprj_io_slow_sel[5];
+  assign \mprj_pads.slow_sel[4]  = mprj_io_slow_sel[4];
+  assign \mprj_pads.slow_sel[3]  = mprj_io_slow_sel[3];
+  assign \mprj_pads.slow_sel[2]  = mprj_io_slow_sel[2];
+  assign \mprj_pads.slow_sel[1]  = mprj_io_slow_sel[1];
+  assign \mprj_pads.slow_sel[0]  = mprj_io_slow_sel[0];
+  assign \mprj_pads.holdover[37]  = mprj_io_holdover[37];
+  assign \mprj_pads.holdover[36]  = mprj_io_holdover[36];
+  assign \mprj_pads.holdover[35]  = mprj_io_holdover[35];
+  assign \mprj_pads.holdover[34]  = mprj_io_holdover[34];
+  assign \mprj_pads.holdover[33]  = mprj_io_holdover[33];
+  assign \mprj_pads.holdover[32]  = mprj_io_holdover[32];
+  assign \mprj_pads.holdover[31]  = mprj_io_holdover[31];
+  assign \mprj_pads.holdover[30]  = mprj_io_holdover[30];
+  assign \mprj_pads.holdover[29]  = mprj_io_holdover[29];
+  assign \mprj_pads.holdover[28]  = mprj_io_holdover[28];
+  assign \mprj_pads.holdover[27]  = mprj_io_holdover[27];
+  assign \mprj_pads.holdover[26]  = mprj_io_holdover[26];
+  assign \mprj_pads.holdover[25]  = mprj_io_holdover[25];
+  assign \mprj_pads.holdover[24]  = mprj_io_holdover[24];
+  assign \mprj_pads.holdover[23]  = mprj_io_holdover[23];
+  assign \mprj_pads.holdover[22]  = mprj_io_holdover[22];
+  assign \mprj_pads.holdover[21]  = mprj_io_holdover[21];
+  assign \mprj_pads.holdover[20]  = mprj_io_holdover[20];
+  assign \mprj_pads.holdover[19]  = mprj_io_holdover[19];
+  assign \mprj_pads.holdover[18]  = mprj_io_holdover[18];
+  assign \mprj_pads.holdover[17]  = mprj_io_holdover[17];
+  assign \mprj_pads.holdover[16]  = mprj_io_holdover[16];
+  assign \mprj_pads.holdover[15]  = mprj_io_holdover[15];
+  assign \mprj_pads.holdover[14]  = mprj_io_holdover[14];
+  assign \mprj_pads.holdover[13]  = mprj_io_holdover[13];
+  assign \mprj_pads.holdover[12]  = mprj_io_holdover[12];
+  assign \mprj_pads.holdover[11]  = mprj_io_holdover[11];
+  assign \mprj_pads.holdover[10]  = mprj_io_holdover[10];
+  assign \mprj_pads.holdover[9]  = mprj_io_holdover[9];
+  assign \mprj_pads.holdover[8]  = mprj_io_holdover[8];
+  assign \mprj_pads.holdover[7]  = mprj_io_holdover[7];
+  assign \mprj_pads.holdover[6]  = mprj_io_holdover[6];
+  assign \mprj_pads.holdover[5]  = mprj_io_holdover[5];
+  assign \mprj_pads.holdover[4]  = mprj_io_holdover[4];
+  assign \mprj_pads.holdover[3]  = mprj_io_holdover[3];
+  assign \mprj_pads.holdover[2]  = mprj_io_holdover[2];
+  assign \mprj_pads.holdover[1]  = mprj_io_holdover[1];
+  assign \mprj_pads.holdover[0]  = mprj_io_holdover[0];
+  assign \mprj_pads.io_out[37]  = mprj_io_out[37];
+  assign \mprj_pads.io_out[36]  = mprj_io_out[36];
+  assign \mprj_pads.io_out[35]  = mprj_io_out[35];
+  assign \mprj_pads.io_out[34]  = mprj_io_out[34];
+  assign \mprj_pads.io_out[33]  = mprj_io_out[33];
+  assign \mprj_pads.io_out[32]  = mprj_io_out[32];
+  assign \mprj_pads.io_out[31]  = mprj_io_out[31];
+  assign \mprj_pads.io_out[30]  = mprj_io_out[30];
+  assign \mprj_pads.io_out[29]  = mprj_io_out[29];
+  assign \mprj_pads.io_out[28]  = mprj_io_out[28];
+  assign \mprj_pads.io_out[27]  = mprj_io_out[27];
+  assign \mprj_pads.io_out[26]  = mprj_io_out[26];
+  assign \mprj_pads.io_out[25]  = mprj_io_out[25];
+  assign \mprj_pads.io_out[24]  = mprj_io_out[24];
+  assign \mprj_pads.io_out[23]  = mprj_io_out[23];
+  assign \mprj_pads.io_out[22]  = mprj_io_out[22];
+  assign \mprj_pads.io_out[21]  = mprj_io_out[21];
+  assign \mprj_pads.io_out[20]  = mprj_io_out[20];
+  assign \mprj_pads.io_out[19]  = mprj_io_out[19];
+  assign \mprj_pads.io_out[18]  = mprj_io_out[18];
+  assign \mprj_pads.io_out[17]  = mprj_io_out[17];
+  assign \mprj_pads.io_out[16]  = mprj_io_out[16];
+  assign \mprj_pads.io_out[15]  = mprj_io_out[15];
+  assign \mprj_pads.io_out[14]  = mprj_io_out[14];
+  assign \mprj_pads.io_out[13]  = mprj_io_out[13];
+  assign \mprj_pads.io_out[12]  = mprj_io_out[12];
+  assign \mprj_pads.io_out[11]  = mprj_io_out[11];
+  assign \mprj_pads.io_out[10]  = mprj_io_out[10];
+  assign \mprj_pads.io_out[9]  = mprj_io_out[9];
+  assign \mprj_pads.io_out[8]  = mprj_io_out[8];
+  assign \mprj_pads.io_out[7]  = mprj_io_out[7];
+  assign \mprj_pads.io_out[6]  = mprj_io_out[6];
+  assign \mprj_pads.io_out[5]  = mprj_io_out[5];
+  assign \mprj_pads.io_out[4]  = mprj_io_out[4];
+  assign \mprj_pads.io_out[3]  = mprj_io_out[3];
+  assign \mprj_pads.io_out[2]  = mprj_io_out[2];
+  assign \mprj_pads.io_out[1]  = mprj_io_out[1];
+  assign \mprj_pads.io_out[0]  = mprj_io_out[0];
+  assign \mprj_pads.dm[113]  = mprj_io_dm[113];
+  assign \mprj_pads.dm[112]  = mprj_io_dm[112];
+  assign \mprj_pads.dm[111]  = mprj_io_dm[111];
+  assign \mprj_pads.dm[110]  = mprj_io_dm[110];
+  assign \mprj_pads.dm[109]  = mprj_io_dm[109];
+  assign \mprj_pads.dm[108]  = mprj_io_dm[108];
+  assign \mprj_pads.dm[107]  = mprj_io_dm[107];
+  assign \mprj_pads.dm[106]  = mprj_io_dm[106];
+  assign \mprj_pads.dm[105]  = mprj_io_dm[105];
+  assign \mprj_pads.dm[104]  = mprj_io_dm[104];
+  assign \mprj_pads.dm[103]  = mprj_io_dm[103];
+  assign \mprj_pads.dm[102]  = mprj_io_dm[102];
+  assign \mprj_pads.dm[101]  = mprj_io_dm[101];
+  assign \mprj_pads.dm[100]  = mprj_io_dm[100];
+  assign \mprj_pads.dm[99]  = mprj_io_dm[99];
+  assign \mprj_pads.dm[98]  = mprj_io_dm[98];
+  assign \mprj_pads.dm[97]  = mprj_io_dm[97];
+  assign \mprj_pads.dm[96]  = mprj_io_dm[96];
+  assign \mprj_pads.dm[95]  = mprj_io_dm[95];
+  assign \mprj_pads.dm[94]  = mprj_io_dm[94];
+  assign \mprj_pads.dm[93]  = mprj_io_dm[93];
   assign \mprj_pads.dm[92]  = mprj_io_dm[92];
   assign \mprj_pads.dm[91]  = mprj_io_dm[91];
   assign \mprj_pads.dm[90]  = mprj_io_dm[90];
@@ -3074,157 +3453,6 @@
   assign \mprj_pads.analog_pol[2]  = mprj_io_analog_pol[2];
   assign \mprj_pads.analog_pol[1]  = mprj_io_analog_pol[1];
   assign \mprj_pads.analog_pol[0]  = mprj_io_analog_pol[0];
-  assign \flash_io1_mode[2]  = flash_io1_ieb_core;
-  assign \flash_io1_mode[1]  = flash_io1_ieb_core;
-  assign \flash_io1_mode[0]  = flash_io1_oeb_core;
-  assign \mprj_pads.hldh_n[37]  = mprj_io_hldh_n[37];
-  assign \mprj_pads.hldh_n[36]  = mprj_io_hldh_n[36];
-  assign \mprj_pads.hldh_n[35]  = mprj_io_hldh_n[35];
-  assign \mprj_pads.hldh_n[34]  = mprj_io_hldh_n[34];
-  assign \mprj_pads.hldh_n[33]  = mprj_io_hldh_n[33];
-  assign \mprj_pads.hldh_n[32]  = mprj_io_hldh_n[32];
-  assign \mprj_pads.hldh_n[31]  = mprj_io_hldh_n[31];
-  assign \mprj_pads.hldh_n[30]  = mprj_io_hldh_n[30];
-  assign \mprj_pads.hldh_n[29]  = mprj_io_hldh_n[29];
-  assign \mprj_pads.hldh_n[28]  = mprj_io_hldh_n[28];
-  assign \mprj_pads.hldh_n[27]  = mprj_io_hldh_n[27];
-  assign \mprj_pads.hldh_n[26]  = mprj_io_hldh_n[26];
-  assign \mprj_pads.hldh_n[25]  = mprj_io_hldh_n[25];
-  assign \mprj_pads.hldh_n[24]  = mprj_io_hldh_n[24];
-  assign \mprj_pads.hldh_n[23]  = mprj_io_hldh_n[23];
-  assign \mprj_pads.hldh_n[22]  = mprj_io_hldh_n[22];
-  assign \mprj_pads.hldh_n[21]  = mprj_io_hldh_n[21];
-  assign \mprj_pads.hldh_n[20]  = mprj_io_hldh_n[20];
-  assign \mprj_pads.hldh_n[19]  = mprj_io_hldh_n[19];
-  assign \mprj_pads.hldh_n[18]  = mprj_io_hldh_n[18];
-  assign \mprj_pads.hldh_n[17]  = mprj_io_hldh_n[17];
-  assign \mprj_pads.hldh_n[16]  = mprj_io_hldh_n[16];
-  assign \mprj_pads.hldh_n[15]  = mprj_io_hldh_n[15];
-  assign \mprj_pads.hldh_n[14]  = mprj_io_hldh_n[14];
-  assign \mprj_pads.hldh_n[13]  = mprj_io_hldh_n[13];
-  assign \mprj_pads.hldh_n[12]  = mprj_io_hldh_n[12];
-  assign \mprj_pads.hldh_n[11]  = mprj_io_hldh_n[11];
-  assign \mprj_pads.hldh_n[10]  = mprj_io_hldh_n[10];
-  assign \mprj_pads.hldh_n[9]  = mprj_io_hldh_n[9];
-  assign \mprj_pads.hldh_n[8]  = mprj_io_hldh_n[8];
-  assign \mprj_pads.hldh_n[7]  = mprj_io_hldh_n[7];
-  assign \mprj_pads.hldh_n[6]  = mprj_io_hldh_n[6];
-  assign \mprj_pads.hldh_n[5]  = mprj_io_hldh_n[5];
-  assign \mprj_pads.hldh_n[4]  = mprj_io_hldh_n[4];
-  assign \mprj_pads.hldh_n[3]  = mprj_io_hldh_n[3];
-  assign \mprj_pads.hldh_n[2]  = mprj_io_hldh_n[2];
-  assign \mprj_pads.hldh_n[1]  = mprj_io_hldh_n[1];
-  assign \mprj_pads.hldh_n[0]  = mprj_io_hldh_n[0];
-  assign \dm_all[2]  = gpio_mode1_core;
-  assign \dm_all[1]  = gpio_mode1_core;
-  assign \dm_all[0]  = gpio_mode0_core;
-  assign \mprj_pads.analog_io[30]  = mprj_analog_io[30];
-  assign \mprj_pads.analog_io[29]  = mprj_analog_io[29];
-  assign \mprj_pads.analog_io[28]  = mprj_analog_io[28];
-  assign \mprj_pads.analog_io[27]  = mprj_analog_io[27];
-  assign \mprj_pads.analog_io[26]  = mprj_analog_io[26];
-  assign \mprj_pads.analog_io[25]  = mprj_analog_io[25];
-  assign \mprj_pads.analog_io[24]  = mprj_analog_io[24];
-  assign \mprj_pads.analog_io[23]  = mprj_analog_io[23];
-  assign \mprj_pads.analog_io[22]  = mprj_analog_io[22];
-  assign \mprj_pads.analog_io[21]  = mprj_analog_io[21];
-  assign \mprj_pads.analog_io[20]  = mprj_analog_io[20];
-  assign \mprj_pads.analog_io[19]  = mprj_analog_io[19];
-  assign \mprj_pads.analog_io[18]  = mprj_analog_io[18];
-  assign \mprj_pads.analog_io[17]  = mprj_analog_io[17];
-  assign \mprj_pads.analog_io[16]  = mprj_analog_io[16];
-  assign \mprj_pads.analog_io[15]  = mprj_analog_io[15];
-  assign \mprj_pads.analog_io[14]  = mprj_analog_io[14];
-  assign \mprj_pads.analog_io[13]  = mprj_analog_io[13];
-  assign \mprj_pads.analog_io[12]  = mprj_analog_io[12];
-  assign \mprj_pads.analog_io[11]  = mprj_analog_io[11];
-  assign \mprj_pads.analog_io[10]  = mprj_analog_io[10];
-  assign \mprj_pads.analog_io[9]  = mprj_analog_io[9];
-  assign \mprj_pads.analog_io[8]  = mprj_analog_io[8];
-  assign \mprj_pads.analog_io[7]  = mprj_analog_io[7];
-  assign \mprj_pads.analog_io[6]  = mprj_analog_io[6];
-  assign \mprj_pads.analog_io[5]  = mprj_analog_io[5];
-  assign \mprj_pads.analog_io[4]  = mprj_analog_io[4];
-  assign \mprj_pads.analog_io[3]  = mprj_analog_io[3];
-  assign \mprj_pads.analog_io[2]  = mprj_analog_io[2];
-  assign \mprj_pads.analog_io[1]  = mprj_analog_io[1];
-  assign \mprj_pads.analog_io[0]  = mprj_analog_io[0];
-  assign \mprj_pads.holdover[37]  = mprj_io_holdover[37];
-  assign \mprj_pads.holdover[36]  = mprj_io_holdover[36];
-  assign \mprj_pads.holdover[35]  = mprj_io_holdover[35];
-  assign \mprj_pads.holdover[34]  = mprj_io_holdover[34];
-  assign \mprj_pads.holdover[33]  = mprj_io_holdover[33];
-  assign \mprj_pads.holdover[32]  = mprj_io_holdover[32];
-  assign \mprj_pads.holdover[31]  = mprj_io_holdover[31];
-  assign \mprj_pads.holdover[30]  = mprj_io_holdover[30];
-  assign \mprj_pads.holdover[29]  = mprj_io_holdover[29];
-  assign \mprj_pads.holdover[28]  = mprj_io_holdover[28];
-  assign \mprj_pads.holdover[27]  = mprj_io_holdover[27];
-  assign \mprj_pads.holdover[26]  = mprj_io_holdover[26];
-  assign \mprj_pads.holdover[25]  = mprj_io_holdover[25];
-  assign \mprj_pads.holdover[24]  = mprj_io_holdover[24];
-  assign \mprj_pads.holdover[23]  = mprj_io_holdover[23];
-  assign \mprj_pads.holdover[22]  = mprj_io_holdover[22];
-  assign \mprj_pads.holdover[21]  = mprj_io_holdover[21];
-  assign \mprj_pads.holdover[20]  = mprj_io_holdover[20];
-  assign \mprj_pads.holdover[19]  = mprj_io_holdover[19];
-  assign \mprj_pads.holdover[18]  = mprj_io_holdover[18];
-  assign \mprj_pads.holdover[17]  = mprj_io_holdover[17];
-  assign \mprj_pads.holdover[16]  = mprj_io_holdover[16];
-  assign \mprj_pads.holdover[15]  = mprj_io_holdover[15];
-  assign \mprj_pads.holdover[14]  = mprj_io_holdover[14];
-  assign \mprj_pads.holdover[13]  = mprj_io_holdover[13];
-  assign \mprj_pads.holdover[12]  = mprj_io_holdover[12];
-  assign \mprj_pads.holdover[11]  = mprj_io_holdover[11];
-  assign \mprj_pads.holdover[10]  = mprj_io_holdover[10];
-  assign \mprj_pads.holdover[9]  = mprj_io_holdover[9];
-  assign \mprj_pads.holdover[8]  = mprj_io_holdover[8];
-  assign \mprj_pads.holdover[7]  = mprj_io_holdover[7];
-  assign \mprj_pads.holdover[6]  = mprj_io_holdover[6];
-  assign \mprj_pads.holdover[5]  = mprj_io_holdover[5];
-  assign \mprj_pads.holdover[4]  = mprj_io_holdover[4];
-  assign \mprj_pads.holdover[3]  = mprj_io_holdover[3];
-  assign \mprj_pads.holdover[2]  = mprj_io_holdover[2];
-  assign \mprj_pads.holdover[1]  = mprj_io_holdover[1];
-  assign \mprj_pads.holdover[0]  = mprj_io_holdover[0];
-  assign \mprj_pads.inp_dis[37]  = mprj_io_inp_dis[37];
-  assign \mprj_pads.inp_dis[36]  = mprj_io_inp_dis[36];
-  assign \mprj_pads.inp_dis[35]  = mprj_io_inp_dis[35];
-  assign \mprj_pads.inp_dis[34]  = mprj_io_inp_dis[34];
-  assign \mprj_pads.inp_dis[33]  = mprj_io_inp_dis[33];
-  assign \mprj_pads.inp_dis[32]  = mprj_io_inp_dis[32];
-  assign \mprj_pads.inp_dis[31]  = mprj_io_inp_dis[31];
-  assign \mprj_pads.inp_dis[30]  = mprj_io_inp_dis[30];
-  assign \mprj_pads.inp_dis[29]  = mprj_io_inp_dis[29];
-  assign \mprj_pads.inp_dis[28]  = mprj_io_inp_dis[28];
-  assign \mprj_pads.inp_dis[27]  = mprj_io_inp_dis[27];
-  assign \mprj_pads.inp_dis[26]  = mprj_io_inp_dis[26];
-  assign \mprj_pads.inp_dis[25]  = mprj_io_inp_dis[25];
-  assign \mprj_pads.inp_dis[24]  = mprj_io_inp_dis[24];
-  assign \mprj_pads.inp_dis[23]  = mprj_io_inp_dis[23];
-  assign \mprj_pads.inp_dis[22]  = mprj_io_inp_dis[22];
-  assign \mprj_pads.inp_dis[21]  = mprj_io_inp_dis[21];
-  assign \mprj_pads.inp_dis[20]  = mprj_io_inp_dis[20];
-  assign \mprj_pads.inp_dis[19]  = mprj_io_inp_dis[19];
-  assign \mprj_pads.inp_dis[18]  = mprj_io_inp_dis[18];
-  assign \mprj_pads.inp_dis[17]  = mprj_io_inp_dis[17];
-  assign \mprj_pads.inp_dis[16]  = mprj_io_inp_dis[16];
-  assign \mprj_pads.inp_dis[15]  = mprj_io_inp_dis[15];
-  assign \mprj_pads.inp_dis[14]  = mprj_io_inp_dis[14];
-  assign \mprj_pads.inp_dis[13]  = mprj_io_inp_dis[13];
-  assign \mprj_pads.inp_dis[12]  = mprj_io_inp_dis[12];
-  assign \mprj_pads.inp_dis[11]  = mprj_io_inp_dis[11];
-  assign \mprj_pads.inp_dis[10]  = mprj_io_inp_dis[10];
-  assign \mprj_pads.inp_dis[9]  = mprj_io_inp_dis[9];
-  assign \mprj_pads.inp_dis[8]  = mprj_io_inp_dis[8];
-  assign \mprj_pads.inp_dis[7]  = mprj_io_inp_dis[7];
-  assign \mprj_pads.inp_dis[6]  = mprj_io_inp_dis[6];
-  assign \mprj_pads.inp_dis[5]  = mprj_io_inp_dis[5];
-  assign \mprj_pads.inp_dis[4]  = mprj_io_inp_dis[4];
-  assign \mprj_pads.inp_dis[3]  = mprj_io_inp_dis[3];
-  assign \mprj_pads.inp_dis[2]  = mprj_io_inp_dis[2];
-  assign \mprj_pads.inp_dis[1]  = mprj_io_inp_dis[1];
-  assign \mprj_pads.inp_dis[0]  = mprj_io_inp_dis[0];
   assign \mprj_pads.io[37]  = mprj_io[37];
   assign \mprj_pads.io[36]  = mprj_io[36];
   assign \mprj_pads.io[35]  = mprj_io[35];
@@ -3263,199 +3491,6 @@
   assign \mprj_pads.io[2]  = mprj_io[2];
   assign \mprj_pads.io[1]  = mprj_io[1];
   assign \mprj_pads.io[0]  = mprj_io[0];
-  assign \mprj_pads.vtrip_sel[37]  = mprj_io_vtrip_sel[37];
-  assign \mprj_pads.vtrip_sel[36]  = mprj_io_vtrip_sel[36];
-  assign \mprj_pads.vtrip_sel[35]  = mprj_io_vtrip_sel[35];
-  assign \mprj_pads.vtrip_sel[34]  = mprj_io_vtrip_sel[34];
-  assign \mprj_pads.vtrip_sel[33]  = mprj_io_vtrip_sel[33];
-  assign \mprj_pads.vtrip_sel[32]  = mprj_io_vtrip_sel[32];
-  assign \mprj_pads.vtrip_sel[31]  = mprj_io_vtrip_sel[31];
-  assign \mprj_pads.vtrip_sel[30]  = mprj_io_vtrip_sel[30];
-  assign \mprj_pads.vtrip_sel[29]  = mprj_io_vtrip_sel[29];
-  assign \mprj_pads.vtrip_sel[28]  = mprj_io_vtrip_sel[28];
-  assign \mprj_pads.vtrip_sel[27]  = mprj_io_vtrip_sel[27];
-  assign \mprj_pads.vtrip_sel[26]  = mprj_io_vtrip_sel[26];
-  assign \mprj_pads.vtrip_sel[25]  = mprj_io_vtrip_sel[25];
-  assign \mprj_pads.vtrip_sel[24]  = mprj_io_vtrip_sel[24];
-  assign \mprj_pads.vtrip_sel[23]  = mprj_io_vtrip_sel[23];
-  assign \mprj_pads.vtrip_sel[22]  = mprj_io_vtrip_sel[22];
-  assign \mprj_pads.vtrip_sel[21]  = mprj_io_vtrip_sel[21];
-  assign \mprj_pads.vtrip_sel[20]  = mprj_io_vtrip_sel[20];
-  assign \mprj_pads.vtrip_sel[19]  = mprj_io_vtrip_sel[19];
-  assign \mprj_pads.vtrip_sel[18]  = mprj_io_vtrip_sel[18];
-  assign \mprj_pads.vtrip_sel[17]  = mprj_io_vtrip_sel[17];
-  assign \mprj_pads.vtrip_sel[16]  = mprj_io_vtrip_sel[16];
-  assign \mprj_pads.vtrip_sel[15]  = mprj_io_vtrip_sel[15];
-  assign \mprj_pads.vtrip_sel[14]  = mprj_io_vtrip_sel[14];
-  assign \mprj_pads.vtrip_sel[13]  = mprj_io_vtrip_sel[13];
-  assign \mprj_pads.vtrip_sel[12]  = mprj_io_vtrip_sel[12];
-  assign \mprj_pads.vtrip_sel[11]  = mprj_io_vtrip_sel[11];
-  assign \mprj_pads.vtrip_sel[10]  = mprj_io_vtrip_sel[10];
-  assign \mprj_pads.vtrip_sel[9]  = mprj_io_vtrip_sel[9];
-  assign \mprj_pads.vtrip_sel[8]  = mprj_io_vtrip_sel[8];
-  assign \mprj_pads.vtrip_sel[7]  = mprj_io_vtrip_sel[7];
-  assign \mprj_pads.vtrip_sel[6]  = mprj_io_vtrip_sel[6];
-  assign \mprj_pads.vtrip_sel[5]  = mprj_io_vtrip_sel[5];
-  assign \mprj_pads.vtrip_sel[4]  = mprj_io_vtrip_sel[4];
-  assign \mprj_pads.vtrip_sel[3]  = mprj_io_vtrip_sel[3];
-  assign \mprj_pads.vtrip_sel[2]  = mprj_io_vtrip_sel[2];
-  assign \mprj_pads.vtrip_sel[1]  = mprj_io_vtrip_sel[1];
-  assign \mprj_pads.vtrip_sel[0]  = mprj_io_vtrip_sel[0];
-  assign \mprj_pads.ib_mode_sel[37]  = mprj_io_ib_mode_sel[37];
-  assign \mprj_pads.ib_mode_sel[36]  = mprj_io_ib_mode_sel[36];
-  assign \mprj_pads.ib_mode_sel[35]  = mprj_io_ib_mode_sel[35];
-  assign \mprj_pads.ib_mode_sel[34]  = mprj_io_ib_mode_sel[34];
-  assign \mprj_pads.ib_mode_sel[33]  = mprj_io_ib_mode_sel[33];
-  assign \mprj_pads.ib_mode_sel[32]  = mprj_io_ib_mode_sel[32];
-  assign \mprj_pads.ib_mode_sel[31]  = mprj_io_ib_mode_sel[31];
-  assign \mprj_pads.ib_mode_sel[30]  = mprj_io_ib_mode_sel[30];
-  assign \mprj_pads.ib_mode_sel[29]  = mprj_io_ib_mode_sel[29];
-  assign \mprj_pads.ib_mode_sel[28]  = mprj_io_ib_mode_sel[28];
-  assign \mprj_pads.ib_mode_sel[27]  = mprj_io_ib_mode_sel[27];
-  assign \mprj_pads.ib_mode_sel[26]  = mprj_io_ib_mode_sel[26];
-  assign \mprj_pads.ib_mode_sel[25]  = mprj_io_ib_mode_sel[25];
-  assign \mprj_pads.ib_mode_sel[24]  = mprj_io_ib_mode_sel[24];
-  assign \mprj_pads.ib_mode_sel[23]  = mprj_io_ib_mode_sel[23];
-  assign \mprj_pads.ib_mode_sel[22]  = mprj_io_ib_mode_sel[22];
-  assign \mprj_pads.ib_mode_sel[21]  = mprj_io_ib_mode_sel[21];
-  assign \mprj_pads.ib_mode_sel[20]  = mprj_io_ib_mode_sel[20];
-  assign \mprj_pads.ib_mode_sel[19]  = mprj_io_ib_mode_sel[19];
-  assign \mprj_pads.ib_mode_sel[18]  = mprj_io_ib_mode_sel[18];
-  assign \mprj_pads.ib_mode_sel[17]  = mprj_io_ib_mode_sel[17];
-  assign \mprj_pads.ib_mode_sel[16]  = mprj_io_ib_mode_sel[16];
-  assign \mprj_pads.ib_mode_sel[15]  = mprj_io_ib_mode_sel[15];
-  assign \mprj_pads.ib_mode_sel[14]  = mprj_io_ib_mode_sel[14];
-  assign \mprj_pads.ib_mode_sel[13]  = mprj_io_ib_mode_sel[13];
-  assign \mprj_pads.ib_mode_sel[12]  = mprj_io_ib_mode_sel[12];
-  assign \mprj_pads.ib_mode_sel[11]  = mprj_io_ib_mode_sel[11];
-  assign \mprj_pads.ib_mode_sel[10]  = mprj_io_ib_mode_sel[10];
-  assign \mprj_pads.ib_mode_sel[9]  = mprj_io_ib_mode_sel[9];
-  assign \mprj_pads.ib_mode_sel[8]  = mprj_io_ib_mode_sel[8];
-  assign \mprj_pads.ib_mode_sel[7]  = mprj_io_ib_mode_sel[7];
-  assign \mprj_pads.ib_mode_sel[6]  = mprj_io_ib_mode_sel[6];
-  assign \mprj_pads.ib_mode_sel[5]  = mprj_io_ib_mode_sel[5];
-  assign \mprj_pads.ib_mode_sel[4]  = mprj_io_ib_mode_sel[4];
-  assign \mprj_pads.ib_mode_sel[3]  = mprj_io_ib_mode_sel[3];
-  assign \mprj_pads.ib_mode_sel[2]  = mprj_io_ib_mode_sel[2];
-  assign \mprj_pads.ib_mode_sel[1]  = mprj_io_ib_mode_sel[1];
-  assign \mprj_pads.ib_mode_sel[0]  = mprj_io_ib_mode_sel[0];
-  assign \flash_io0_mode[2]  = flash_io0_ieb_core;
-  assign \flash_io0_mode[1]  = flash_io0_ieb_core;
-  assign \flash_io0_mode[0]  = flash_io0_oeb_core;
-  assign \mprj_pads.enh[37]  = mprj_io_enh[37];
-  assign \mprj_pads.enh[36]  = mprj_io_enh[36];
-  assign \mprj_pads.enh[35]  = mprj_io_enh[35];
-  assign \mprj_pads.enh[34]  = mprj_io_enh[34];
-  assign \mprj_pads.enh[33]  = mprj_io_enh[33];
-  assign \mprj_pads.enh[32]  = mprj_io_enh[32];
-  assign \mprj_pads.enh[31]  = mprj_io_enh[31];
-  assign \mprj_pads.enh[30]  = mprj_io_enh[30];
-  assign \mprj_pads.enh[29]  = mprj_io_enh[29];
-  assign \mprj_pads.enh[28]  = mprj_io_enh[28];
-  assign \mprj_pads.enh[27]  = mprj_io_enh[27];
-  assign \mprj_pads.enh[26]  = mprj_io_enh[26];
-  assign \mprj_pads.enh[25]  = mprj_io_enh[25];
-  assign \mprj_pads.enh[24]  = mprj_io_enh[24];
-  assign \mprj_pads.enh[23]  = mprj_io_enh[23];
-  assign \mprj_pads.enh[22]  = mprj_io_enh[22];
-  assign \mprj_pads.enh[21]  = mprj_io_enh[21];
-  assign \mprj_pads.enh[20]  = mprj_io_enh[20];
-  assign \mprj_pads.enh[19]  = mprj_io_enh[19];
-  assign \mprj_pads.enh[18]  = mprj_io_enh[18];
-  assign \mprj_pads.enh[17]  = mprj_io_enh[17];
-  assign \mprj_pads.enh[16]  = mprj_io_enh[16];
-  assign \mprj_pads.enh[15]  = mprj_io_enh[15];
-  assign \mprj_pads.enh[14]  = mprj_io_enh[14];
-  assign \mprj_pads.enh[13]  = mprj_io_enh[13];
-  assign \mprj_pads.enh[12]  = mprj_io_enh[12];
-  assign \mprj_pads.enh[11]  = mprj_io_enh[11];
-  assign \mprj_pads.enh[10]  = mprj_io_enh[10];
-  assign \mprj_pads.enh[9]  = mprj_io_enh[9];
-  assign \mprj_pads.enh[8]  = mprj_io_enh[8];
-  assign \mprj_pads.enh[7]  = mprj_io_enh[7];
-  assign \mprj_pads.enh[6]  = mprj_io_enh[6];
-  assign \mprj_pads.enh[5]  = mprj_io_enh[5];
-  assign \mprj_pads.enh[4]  = mprj_io_enh[4];
-  assign \mprj_pads.enh[3]  = mprj_io_enh[3];
-  assign \mprj_pads.enh[2]  = mprj_io_enh[2];
-  assign \mprj_pads.enh[1]  = mprj_io_enh[1];
-  assign \mprj_pads.enh[0]  = mprj_io_enh[0];
-  assign \mprj_pads.oeb[37]  = mprj_io_oeb[37];
-  assign \mprj_pads.oeb[36]  = mprj_io_oeb[36];
-  assign \mprj_pads.oeb[35]  = mprj_io_oeb[35];
-  assign \mprj_pads.oeb[34]  = mprj_io_oeb[34];
-  assign \mprj_pads.oeb[33]  = mprj_io_oeb[33];
-  assign \mprj_pads.oeb[32]  = mprj_io_oeb[32];
-  assign \mprj_pads.oeb[31]  = mprj_io_oeb[31];
-  assign \mprj_pads.oeb[30]  = mprj_io_oeb[30];
-  assign \mprj_pads.oeb[29]  = mprj_io_oeb[29];
-  assign \mprj_pads.oeb[28]  = mprj_io_oeb[28];
-  assign \mprj_pads.oeb[27]  = mprj_io_oeb[27];
-  assign \mprj_pads.oeb[26]  = mprj_io_oeb[26];
-  assign \mprj_pads.oeb[25]  = mprj_io_oeb[25];
-  assign \mprj_pads.oeb[24]  = mprj_io_oeb[24];
-  assign \mprj_pads.oeb[23]  = mprj_io_oeb[23];
-  assign \mprj_pads.oeb[22]  = mprj_io_oeb[22];
-  assign \mprj_pads.oeb[21]  = mprj_io_oeb[21];
-  assign \mprj_pads.oeb[20]  = mprj_io_oeb[20];
-  assign \mprj_pads.oeb[19]  = mprj_io_oeb[19];
-  assign \mprj_pads.oeb[18]  = mprj_io_oeb[18];
-  assign \mprj_pads.oeb[17]  = mprj_io_oeb[17];
-  assign \mprj_pads.oeb[16]  = mprj_io_oeb[16];
-  assign \mprj_pads.oeb[15]  = mprj_io_oeb[15];
-  assign \mprj_pads.oeb[14]  = mprj_io_oeb[14];
-  assign \mprj_pads.oeb[13]  = mprj_io_oeb[13];
-  assign \mprj_pads.oeb[12]  = mprj_io_oeb[12];
-  assign \mprj_pads.oeb[11]  = mprj_io_oeb[11];
-  assign \mprj_pads.oeb[10]  = mprj_io_oeb[10];
-  assign \mprj_pads.oeb[9]  = mprj_io_oeb[9];
-  assign \mprj_pads.oeb[8]  = mprj_io_oeb[8];
-  assign \mprj_pads.oeb[7]  = mprj_io_oeb[7];
-  assign \mprj_pads.oeb[6]  = mprj_io_oeb[6];
-  assign \mprj_pads.oeb[5]  = mprj_io_oeb[5];
-  assign \mprj_pads.oeb[4]  = mprj_io_oeb[4];
-  assign \mprj_pads.oeb[3]  = mprj_io_oeb[3];
-  assign \mprj_pads.oeb[2]  = mprj_io_oeb[2];
-  assign \mprj_pads.oeb[1]  = mprj_io_oeb[1];
-  assign \mprj_pads.oeb[0]  = mprj_io_oeb[0];
-  assign \mprj_pads.slow_sel[37]  = mprj_io_slow_sel[37];
-  assign \mprj_pads.slow_sel[36]  = mprj_io_slow_sel[36];
-  assign \mprj_pads.slow_sel[35]  = mprj_io_slow_sel[35];
-  assign \mprj_pads.slow_sel[34]  = mprj_io_slow_sel[34];
-  assign \mprj_pads.slow_sel[33]  = mprj_io_slow_sel[33];
-  assign \mprj_pads.slow_sel[32]  = mprj_io_slow_sel[32];
-  assign \mprj_pads.slow_sel[31]  = mprj_io_slow_sel[31];
-  assign \mprj_pads.slow_sel[30]  = mprj_io_slow_sel[30];
-  assign \mprj_pads.slow_sel[29]  = mprj_io_slow_sel[29];
-  assign \mprj_pads.slow_sel[28]  = mprj_io_slow_sel[28];
-  assign \mprj_pads.slow_sel[27]  = mprj_io_slow_sel[27];
-  assign \mprj_pads.slow_sel[26]  = mprj_io_slow_sel[26];
-  assign \mprj_pads.slow_sel[25]  = mprj_io_slow_sel[25];
-  assign \mprj_pads.slow_sel[24]  = mprj_io_slow_sel[24];
-  assign \mprj_pads.slow_sel[23]  = mprj_io_slow_sel[23];
-  assign \mprj_pads.slow_sel[22]  = mprj_io_slow_sel[22];
-  assign \mprj_pads.slow_sel[21]  = mprj_io_slow_sel[21];
-  assign \mprj_pads.slow_sel[20]  = mprj_io_slow_sel[20];
-  assign \mprj_pads.slow_sel[19]  = mprj_io_slow_sel[19];
-  assign \mprj_pads.slow_sel[18]  = mprj_io_slow_sel[18];
-  assign \mprj_pads.slow_sel[17]  = mprj_io_slow_sel[17];
-  assign \mprj_pads.slow_sel[16]  = mprj_io_slow_sel[16];
-  assign \mprj_pads.slow_sel[15]  = mprj_io_slow_sel[15];
-  assign \mprj_pads.slow_sel[14]  = mprj_io_slow_sel[14];
-  assign \mprj_pads.slow_sel[13]  = mprj_io_slow_sel[13];
-  assign \mprj_pads.slow_sel[12]  = mprj_io_slow_sel[12];
-  assign \mprj_pads.slow_sel[11]  = mprj_io_slow_sel[11];
-  assign \mprj_pads.slow_sel[10]  = mprj_io_slow_sel[10];
-  assign \mprj_pads.slow_sel[9]  = mprj_io_slow_sel[9];
-  assign \mprj_pads.slow_sel[8]  = mprj_io_slow_sel[8];
-  assign \mprj_pads.slow_sel[7]  = mprj_io_slow_sel[7];
-  assign \mprj_pads.slow_sel[6]  = mprj_io_slow_sel[6];
-  assign \mprj_pads.slow_sel[5]  = mprj_io_slow_sel[5];
-  assign \mprj_pads.slow_sel[4]  = mprj_io_slow_sel[4];
-  assign \mprj_pads.slow_sel[3]  = mprj_io_slow_sel[3];
-  assign \mprj_pads.slow_sel[2]  = mprj_io_slow_sel[2];
-  assign \mprj_pads.slow_sel[1]  = mprj_io_slow_sel[1];
-  assign \mprj_pads.slow_sel[0]  = mprj_io_slow_sel[0];
   assign \mprj_pads.analog_en[37]  = mprj_io_analog_en[37];
   assign \mprj_pads.analog_en[36]  = mprj_io_analog_en[36];
   assign \mprj_pads.analog_en[35]  = mprj_io_analog_en[35];
@@ -3494,82 +3529,44 @@
   assign \mprj_pads.analog_en[2]  = mprj_io_analog_en[2];
   assign \mprj_pads.analog_en[1]  = mprj_io_analog_en[1];
   assign \mprj_pads.analog_en[0]  = mprj_io_analog_en[0];
-  assign \mprj_pads.io_out[37]  = mprj_io_out[37];
-  assign \mprj_pads.io_out[36]  = mprj_io_out[36];
-  assign \mprj_pads.io_out[35]  = mprj_io_out[35];
-  assign \mprj_pads.io_out[34]  = mprj_io_out[34];
-  assign \mprj_pads.io_out[33]  = mprj_io_out[33];
-  assign \mprj_pads.io_out[32]  = mprj_io_out[32];
-  assign \mprj_pads.io_out[31]  = mprj_io_out[31];
-  assign \mprj_pads.io_out[30]  = mprj_io_out[30];
-  assign \mprj_pads.io_out[29]  = mprj_io_out[29];
-  assign \mprj_pads.io_out[28]  = mprj_io_out[28];
-  assign \mprj_pads.io_out[27]  = mprj_io_out[27];
-  assign \mprj_pads.io_out[26]  = mprj_io_out[26];
-  assign \mprj_pads.io_out[25]  = mprj_io_out[25];
-  assign \mprj_pads.io_out[24]  = mprj_io_out[24];
-  assign \mprj_pads.io_out[23]  = mprj_io_out[23];
-  assign \mprj_pads.io_out[22]  = mprj_io_out[22];
-  assign \mprj_pads.io_out[21]  = mprj_io_out[21];
-  assign \mprj_pads.io_out[20]  = mprj_io_out[20];
-  assign \mprj_pads.io_out[19]  = mprj_io_out[19];
-  assign \mprj_pads.io_out[18]  = mprj_io_out[18];
-  assign \mprj_pads.io_out[17]  = mprj_io_out[17];
-  assign \mprj_pads.io_out[16]  = mprj_io_out[16];
-  assign \mprj_pads.io_out[15]  = mprj_io_out[15];
-  assign \mprj_pads.io_out[14]  = mprj_io_out[14];
-  assign \mprj_pads.io_out[13]  = mprj_io_out[13];
-  assign \mprj_pads.io_out[12]  = mprj_io_out[12];
-  assign \mprj_pads.io_out[11]  = mprj_io_out[11];
-  assign \mprj_pads.io_out[10]  = mprj_io_out[10];
-  assign \mprj_pads.io_out[9]  = mprj_io_out[9];
-  assign \mprj_pads.io_out[8]  = mprj_io_out[8];
-  assign \mprj_pads.io_out[7]  = mprj_io_out[7];
-  assign \mprj_pads.io_out[6]  = mprj_io_out[6];
-  assign \mprj_pads.io_out[5]  = mprj_io_out[5];
-  assign \mprj_pads.io_out[4]  = mprj_io_out[4];
-  assign \mprj_pads.io_out[3]  = mprj_io_out[3];
-  assign \mprj_pads.io_out[2]  = mprj_io_out[2];
-  assign \mprj_pads.io_out[1]  = mprj_io_out[1];
-  assign \mprj_pads.io_out[0]  = mprj_io_out[0];
-  assign \mprj_pads.analog_sel[37]  = mprj_io_analog_sel[37];
-  assign \mprj_pads.analog_sel[36]  = mprj_io_analog_sel[36];
-  assign \mprj_pads.analog_sel[35]  = mprj_io_analog_sel[35];
-  assign \mprj_pads.analog_sel[34]  = mprj_io_analog_sel[34];
-  assign \mprj_pads.analog_sel[33]  = mprj_io_analog_sel[33];
-  assign \mprj_pads.analog_sel[32]  = mprj_io_analog_sel[32];
-  assign \mprj_pads.analog_sel[31]  = mprj_io_analog_sel[31];
-  assign \mprj_pads.analog_sel[30]  = mprj_io_analog_sel[30];
-  assign \mprj_pads.analog_sel[29]  = mprj_io_analog_sel[29];
-  assign \mprj_pads.analog_sel[28]  = mprj_io_analog_sel[28];
-  assign \mprj_pads.analog_sel[27]  = mprj_io_analog_sel[27];
-  assign \mprj_pads.analog_sel[26]  = mprj_io_analog_sel[26];
-  assign \mprj_pads.analog_sel[25]  = mprj_io_analog_sel[25];
-  assign \mprj_pads.analog_sel[24]  = mprj_io_analog_sel[24];
-  assign \mprj_pads.analog_sel[23]  = mprj_io_analog_sel[23];
-  assign \mprj_pads.analog_sel[22]  = mprj_io_analog_sel[22];
-  assign \mprj_pads.analog_sel[21]  = mprj_io_analog_sel[21];
-  assign \mprj_pads.analog_sel[20]  = mprj_io_analog_sel[20];
-  assign \mprj_pads.analog_sel[19]  = mprj_io_analog_sel[19];
-  assign \mprj_pads.analog_sel[18]  = mprj_io_analog_sel[18];
-  assign \mprj_pads.analog_sel[17]  = mprj_io_analog_sel[17];
-  assign \mprj_pads.analog_sel[16]  = mprj_io_analog_sel[16];
-  assign \mprj_pads.analog_sel[15]  = mprj_io_analog_sel[15];
-  assign \mprj_pads.analog_sel[14]  = mprj_io_analog_sel[14];
-  assign \mprj_pads.analog_sel[13]  = mprj_io_analog_sel[13];
-  assign \mprj_pads.analog_sel[12]  = mprj_io_analog_sel[12];
-  assign \mprj_pads.analog_sel[11]  = mprj_io_analog_sel[11];
-  assign \mprj_pads.analog_sel[10]  = mprj_io_analog_sel[10];
-  assign \mprj_pads.analog_sel[9]  = mprj_io_analog_sel[9];
-  assign \mprj_pads.analog_sel[8]  = mprj_io_analog_sel[8];
-  assign \mprj_pads.analog_sel[7]  = mprj_io_analog_sel[7];
-  assign \mprj_pads.analog_sel[6]  = mprj_io_analog_sel[6];
-  assign \mprj_pads.analog_sel[5]  = mprj_io_analog_sel[5];
-  assign \mprj_pads.analog_sel[4]  = mprj_io_analog_sel[4];
-  assign \mprj_pads.analog_sel[3]  = mprj_io_analog_sel[3];
-  assign \mprj_pads.analog_sel[2]  = mprj_io_analog_sel[2];
-  assign \mprj_pads.analog_sel[1]  = mprj_io_analog_sel[1];
-  assign \mprj_pads.analog_sel[0]  = mprj_io_analog_sel[0];
+  assign \mprj_pads.oeb[37]  = mprj_io_oeb[37];
+  assign \mprj_pads.oeb[36]  = mprj_io_oeb[36];
+  assign \mprj_pads.oeb[35]  = mprj_io_oeb[35];
+  assign \mprj_pads.oeb[34]  = mprj_io_oeb[34];
+  assign \mprj_pads.oeb[33]  = mprj_io_oeb[33];
+  assign \mprj_pads.oeb[32]  = mprj_io_oeb[32];
+  assign \mprj_pads.oeb[31]  = mprj_io_oeb[31];
+  assign \mprj_pads.oeb[30]  = mprj_io_oeb[30];
+  assign \mprj_pads.oeb[29]  = mprj_io_oeb[29];
+  assign \mprj_pads.oeb[28]  = mprj_io_oeb[28];
+  assign \mprj_pads.oeb[27]  = mprj_io_oeb[27];
+  assign \mprj_pads.oeb[26]  = mprj_io_oeb[26];
+  assign \mprj_pads.oeb[25]  = mprj_io_oeb[25];
+  assign \mprj_pads.oeb[24]  = mprj_io_oeb[24];
+  assign \mprj_pads.oeb[23]  = mprj_io_oeb[23];
+  assign \mprj_pads.oeb[22]  = mprj_io_oeb[22];
+  assign \mprj_pads.oeb[21]  = mprj_io_oeb[21];
+  assign \mprj_pads.oeb[20]  = mprj_io_oeb[20];
+  assign \mprj_pads.oeb[19]  = mprj_io_oeb[19];
+  assign \mprj_pads.oeb[18]  = mprj_io_oeb[18];
+  assign \mprj_pads.oeb[17]  = mprj_io_oeb[17];
+  assign \mprj_pads.oeb[16]  = mprj_io_oeb[16];
+  assign \mprj_pads.oeb[15]  = mprj_io_oeb[15];
+  assign \mprj_pads.oeb[14]  = mprj_io_oeb[14];
+  assign \mprj_pads.oeb[13]  = mprj_io_oeb[13];
+  assign \mprj_pads.oeb[12]  = mprj_io_oeb[12];
+  assign \mprj_pads.oeb[11]  = mprj_io_oeb[11];
+  assign \mprj_pads.oeb[10]  = mprj_io_oeb[10];
+  assign \mprj_pads.oeb[9]  = mprj_io_oeb[9];
+  assign \mprj_pads.oeb[8]  = mprj_io_oeb[8];
+  assign \mprj_pads.oeb[7]  = mprj_io_oeb[7];
+  assign \mprj_pads.oeb[6]  = mprj_io_oeb[6];
+  assign \mprj_pads.oeb[5]  = mprj_io_oeb[5];
+  assign \mprj_pads.oeb[4]  = mprj_io_oeb[4];
+  assign \mprj_pads.oeb[3]  = mprj_io_oeb[3];
+  assign \mprj_pads.oeb[2]  = mprj_io_oeb[2];
+  assign \mprj_pads.oeb[1]  = mprj_io_oeb[1];
+  assign \mprj_pads.oeb[0]  = mprj_io_oeb[0];
   assign \mprj_pads.vddio  = vddio;
   assign \mprj_pads.vssio  = vssio;
   assign \mprj_pads.vccd  = vccd;
@@ -3583,27 +3580,15 @@
   assign \mprj_pads.vssd1  = vssd1;
   assign \mprj_pads.vssd2  = vssd2;
   assign \mprj_pads.porb_h  = porb_h;
-  assign \mprj_pads.dm[104]  = mprj_io_dm[104];
-  assign \mprj_pads.dm[94]  = mprj_io_dm[94];
-  assign \mprj_pads.dm[99]  = mprj_io_dm[99];
-  assign \mprj_pads.dm[110]  = mprj_io_dm[110];
-  assign \mprj_pads.dm[100]  = mprj_io_dm[100];
-  assign \mprj_pads.dm[105]  = mprj_io_dm[105];
-  assign \mprj_pads.dm[102]  = mprj_io_dm[102];
-  assign \mprj_pads.dm[103]  = mprj_io_dm[103];
-  assign \mprj_pads.dm[96]  = mprj_io_dm[96];
-  assign \mprj_pads.dm[107]  = mprj_io_dm[107];
-  assign \mprj_pads.dm[95]  = mprj_io_dm[95];
-  assign \mprj_pads.dm[93]  = mprj_io_dm[93];
-  assign \mprj_pads.dm[112]  = mprj_io_dm[112];
-  assign \mprj_pads.dm[113]  = mprj_io_dm[113];
-  assign \mprj_pads.dm[106]  = mprj_io_dm[106];
-  assign \mprj_pads.dm[108]  = mprj_io_dm[108];
-  assign \mprj_pads.dm[98]  = mprj_io_dm[98];
-  assign \mprj_pads.dm[97]  = mprj_io_dm[97];
-  assign \mprj_pads.dm[111]  = mprj_io_dm[111];
-  assign \mprj_pads.dm[101]  = mprj_io_dm[101];
-  assign \mprj_pads.dm[109]  = mprj_io_dm[109];
+  assign \flash_io0_mode[0]  = flash_io0_oeb_core;
+  assign \flash_io0_mode[2]  = flash_io0_ieb_core;
+  assign \flash_io0_mode[1]  = flash_io0_ieb_core;
+  assign \flash_io1_mode[0]  = flash_io1_oeb_core;
+  assign \flash_io1_mode[1]  = flash_io1_ieb_core;
+  assign \flash_io1_mode[2]  = flash_io1_ieb_core;
+  assign \dm_all[1]  = gpio_mode1_core;
+  assign \dm_all[0]  = gpio_mode0_core;
+  assign \dm_all[2]  = gpio_mode1_core;
   assign vssio_q = \mprj_pads.vssio_q ;
   assign vddio_q = \mprj_pads.vddio_q ;
   assign analog_b = \mprj_pads.analog_b ;
diff --git a/verilog/rtl/manifest b/verilog/rtl/manifest
index f4886fb..4cdf2f2 100644
--- a/verilog/rtl/manifest
+++ b/verilog/rtl/manifest
@@ -1,5 +1,5 @@
 b2feeb2a098894d5d731a5b011858a471e855d73  caravel_clocking.v
-8a0bcbd870778416bb4e753909053881aca2368a  caravel.v
+c14d409e770072aea15b399c7c71bcb47e5a9bec  caravel.v
 38d2c674ea1f696bf2c9deaeee5f9b044f2445fb  chip_io.v
 d772308bd2a72121d7ed9dcdd40c8e6cbbe4b43c  clock_div.v
 f937b52e53d45bdbe41bcbd07c65b41104c21756  convert_gpio_sigs.v
@@ -16,13 +16,13 @@
 ff3e65a783f3807340e25efac9207787d39fb6cd  mem_wb.v
 65feb79043201d3609307a3dd5af4e75cc26e81b  mgmt_core.v
 f656dadb49cb97a46aada3d37a86a12f565e6e9e  mgmt_protect_hv.v
-85dec445f0cf7afbef4aa6b919d31f0f5c9a0b7e  mgmt_protect.v
+4d42909e102c472504739bc37559c6a34fd85ae1  mgmt_protect.v
 20a482029168de93693a92ce03c00ec16e7b4776  mgmt_soc.v
+489b31e48e0ba327b6a70748fee664406c58f7a0  mprj2_logic_high.v
 93eb7aa0f8489715145ff0870737fecf8be1fa8c  mprj_ctrl.v
 b16ace2e7a9c02ed5f8f918fe9e4a460422c7304  mprj_io.v
+98bd1d468969f47c370eb54ea8f178105953c8c9  mprj_logic_high.v
 1352e5821905dce0b8203e9bee5e1adff02a9cbc  pads.v
-5bcc269abdab76a7ddab2bee29f8032f97668043  parser.out
-b6e2bd2762a572fbf0f123412bfa7384827cc38b  parsetab.py
 5f1d9a90287fa5ae6635933c287e8e9e3e39931a  picorv32.v
 669d16642d5dd5f6824812754db20db98c9fe17b  ring_osc2x13.v
 6864cc10dacfd3edb4c66825b7a301ab097cea0d  simple_por.v