diff --git a/verilog/rtl/user_project_wrapper.v b/verilog/rtl/user_project_wrapper.v
index 56a1d3a..2e98592 100644
--- a/verilog/rtl/user_project_wrapper.v
+++ b/verilog/rtl/user_project_wrapper.v
@@ -220,432 +220,461 @@
 /*---------------------*/
 /* Do not change below */
 /*---------------------*/
+`ifdef MPRJ_IO_37_IO
+    wire oe_37;
+    assign io_oeb[37] = ~oe_37;
+`else /* `ifdef MPRJ_IO_37_IO */
 `ifdef MPRJ_IO_37_I
     assign io_out[37] = 1'b0;
-    assign io_oeb[37] = 1'b0;
-`else /* `ifdef MPRJ_IO_37_I */
-`ifdef MPRJ_IO_37_O
     assign io_oeb[37] = 1'b1;
-`endif /* `ifdef MPRJ_IO_37_O */
+`else /* `ifdef MPRJ_IO_37_I */
+    assign io_oeb[37] = 1'b0;
 `endif /* `ifdef MPRJ_IO_37_I */
-
+`endif /* `ifdef MPRJ_IO_37_IO */
+    
+`ifdef MPRJ_IO_36_IO
+    wire oe_36;
+    assign io_oeb[36] = ~oe_36;
+`else /* `ifdef MPRJ_IO_36_IO */
 `ifdef MPRJ_IO_36_I
     assign io_out[36] = 1'b0;
-    assign io_oeb[36] = 1'b0;
-`else /* `ifdef MPRJ_IO_36_I */
-`ifdef MPRJ_IO_36_O
     assign io_oeb[36] = 1'b1;
-`endif /* `ifdef MPRJ_IO_36_O */
+`else /* `ifdef MPRJ_IO_36_I */
+    assign io_oeb[36] = 1'b0;
 `endif /* `ifdef MPRJ_IO_36_I */
-
+`endif /* `ifdef MPRJ_IO_36_IO */
+    
+`ifdef MPRJ_IO_35_IO
+    wire oe_35;
+    assign io_oeb[35] = ~oe_35;
+`else /* `ifdef MPRJ_IO_35_IO */
 `ifdef MPRJ_IO_35_I
     assign io_out[35] = 1'b0;
-    assign io_oeb[35] = 1'b0;
-`else /* `ifdef MPRJ_IO_35_I */
-`ifdef MPRJ_IO_35_O
     assign io_oeb[35] = 1'b1;
-`endif /* `ifdef MPRJ_IO_35_O */
+`else /* `ifdef MPRJ_IO_35_I */
+    assign io_oeb[35] = 1'b0;
 `endif /* `ifdef MPRJ_IO_35_I */
-
+`endif /* `ifdef MPRJ_IO_35_IO */
+    
+`ifdef MPRJ_IO_34_IO
+    wire oe_34;
+    assign io_oeb[34] = ~oe_34;
+`else /* `ifdef MPRJ_IO_34_IO */
 `ifdef MPRJ_IO_34_I
     assign io_out[34] = 1'b0;
-    assign io_oeb[34] = 1'b0;
-`else /* `ifdef MPRJ_IO_34_I */
-`ifdef MPRJ_IO_34_O
     assign io_oeb[34] = 1'b1;
-`endif /* `ifdef MPRJ_IO_34_O */
+`else /* `ifdef MPRJ_IO_34_I */
+    assign io_oeb[34] = 1'b0;
 `endif /* `ifdef MPRJ_IO_34_I */
-
+`endif /* `ifdef MPRJ_IO_34_IO */
+    
+`ifdef MPRJ_IO_33_IO
+    wire oe_33;
+    assign io_oeb[33] = ~oe_33;
+`else /* `ifdef MPRJ_IO_33_IO */
 `ifdef MPRJ_IO_33_I
     assign io_out[33] = 1'b0;
-    assign io_oeb[33] = 1'b0;
-`else /* `ifdef MPRJ_IO_33_I */
-`ifdef MPRJ_IO_33_O
     assign io_oeb[33] = 1'b1;
-`endif /* `ifdef MPRJ_IO_33_O */
+`else /* `ifdef MPRJ_IO_33_I */
+    assign io_oeb[33] = 1'b0;
 `endif /* `ifdef MPRJ_IO_33_I */
-
+`endif /* `ifdef MPRJ_IO_33_IO */
+    
+`ifdef MPRJ_IO_32_IO
+    wire oe_32;
+    assign io_oeb[32] = ~oe_32;
+`else /* `ifdef MPRJ_IO_32_IO */
 `ifdef MPRJ_IO_32_I
     assign io_out[32] = 1'b0;
-    assign io_oeb[32] = 1'b0;
-`else /* `ifdef MPRJ_IO_32_I */
-`ifdef MPRJ_IO_32_O
     assign io_oeb[32] = 1'b1;
-`endif /* `ifdef MPRJ_IO_32_O */
+`else /* `ifdef MPRJ_IO_32_I */
+    assign io_oeb[32] = 1'b0;
 `endif /* `ifdef MPRJ_IO_32_I */
-
+`endif /* `ifdef MPRJ_IO_32_IO */
+    
+`ifdef MPRJ_IO_31_IO
+    wire oe_31;
+    assign io_oeb[31] = ~oe_31;
+`else /* `ifdef MPRJ_IO_31_IO */
 `ifdef MPRJ_IO_31_I
     assign io_out[31] = 1'b0;
-    assign io_oeb[31] = 1'b0;
-`else /* `ifdef MPRJ_IO_31_I */
-`ifdef MPRJ_IO_31_O
     assign io_oeb[31] = 1'b1;
-`endif /* `ifdef MPRJ_IO_31_O */
+`else /* `ifdef MPRJ_IO_31_I */
+    assign io_oeb[31] = 1'b0;
 `endif /* `ifdef MPRJ_IO_31_I */
-
+`endif /* `ifdef MPRJ_IO_31_IO */
+    
+`ifdef MPRJ_IO_30_IO
+    wire oe_30;
+    assign io_oeb[30] = ~oe_30;
+`else /* `ifdef MPRJ_IO_30_IO */
 `ifdef MPRJ_IO_30_I
     assign io_out[30] = 1'b0;
-    assign io_oeb[30] = 1'b0;
-`else /* `ifdef MPRJ_IO_30_I */
-`ifdef MPRJ_IO_30_O
     assign io_oeb[30] = 1'b1;
-`endif /* `ifdef MPRJ_IO_30_O */
+`else /* `ifdef MPRJ_IO_30_I */
+    assign io_oeb[30] = 1'b0;
 `endif /* `ifdef MPRJ_IO_30_I */
-
+`endif /* `ifdef MPRJ_IO_30_IO */
+    
+`ifdef MPRJ_IO_29_IO
+    wire oe_29;
+    assign io_oeb[29] = ~oe_29;
+`else /* `ifdef MPRJ_IO_29_IO */
 `ifdef MPRJ_IO_29_I
     assign io_out[29] = 1'b0;
-    assign io_oeb[29] = 1'b0;
-`else /* `ifdef MPRJ_IO_29_I */
-`ifdef MPRJ_IO_29_O
     assign io_oeb[29] = 1'b1;
-`endif /* `ifdef MPRJ_IO_29_O */
+`else /* `ifdef MPRJ_IO_29_I */
+    assign io_oeb[29] = 1'b0;
 `endif /* `ifdef MPRJ_IO_29_I */
-
+`endif /* `ifdef MPRJ_IO_29_IO */
+    
+`ifdef MPRJ_IO_28_IO
+    wire oe_28;
+    assign io_oeb[28] = ~oe_28;
+`else /* `ifdef MPRJ_IO_28_IO */
 `ifdef MPRJ_IO_28_I
     assign io_out[28] = 1'b0;
-    assign io_oeb[28] = 1'b0;
-`else /* `ifdef MPRJ_IO_28_I */
-`ifdef MPRJ_IO_28_O
     assign io_oeb[28] = 1'b1;
-`endif /* `ifdef MPRJ_IO_28_O */
+`else /* `ifdef MPRJ_IO_28_I */
+    assign io_oeb[28] = 1'b0;
 `endif /* `ifdef MPRJ_IO_28_I */
-
+`endif /* `ifdef MPRJ_IO_28_IO */
+    
+`ifdef MPRJ_IO_27_IO
+    wire oe_27;
+    assign io_oeb[27] = ~oe_27;
+`else /* `ifdef MPRJ_IO_27_IO */
 `ifdef MPRJ_IO_27_I
     assign io_out[27] = 1'b0;
-    assign io_oeb[27] = 1'b0;
-`else /* `ifdef MPRJ_IO_27_I */
-`ifdef MPRJ_IO_27_O
     assign io_oeb[27] = 1'b1;
-`endif /* `ifdef MPRJ_IO_27_O */
+`else /* `ifdef MPRJ_IO_27_I */
+    assign io_oeb[27] = 1'b0;
 `endif /* `ifdef MPRJ_IO_27_I */
-
+`endif /* `ifdef MPRJ_IO_27_IO */
+    
+`ifdef MPRJ_IO_26_IO
+    wire oe_26;
+    assign io_oeb[26] = ~oe_26;
+`else /* `ifdef MPRJ_IO_26_IO */
 `ifdef MPRJ_IO_26_I
     assign io_out[26] = 1'b0;
-    assign io_oeb[26] = 1'b0;
-`else /* `ifdef MPRJ_IO_26_I */
-`ifdef MPRJ_IO_26_O
     assign io_oeb[26] = 1'b1;
-`endif /* `ifdef MPRJ_IO_26_O */
+`else /* `ifdef MPRJ_IO_26_I */
+    assign io_oeb[26] = 1'b0;
 `endif /* `ifdef MPRJ_IO_26_I */
-
+`endif /* `ifdef MPRJ_IO_26_IO */
+    
+`ifdef MPRJ_IO_25_IO
+    wire oe_25;
+    assign io_oeb[25] = ~oe_25;
+`else /* `ifdef MPRJ_IO_25_IO */
 `ifdef MPRJ_IO_25_I
     assign io_out[25] = 1'b0;
-    assign io_oeb[25] = 1'b0;
-`else /* `ifdef MPRJ_IO_25_I */
-`ifdef MPRJ_IO_25_O
     assign io_oeb[25] = 1'b1;
-`endif /* `ifdef MPRJ_IO_25_O */
+`else /* `ifdef MPRJ_IO_25_I */
+    assign io_oeb[25] = 1'b0;
 `endif /* `ifdef MPRJ_IO_25_I */
-
+`endif /* `ifdef MPRJ_IO_25_IO */
+    
+`ifdef MPRJ_IO_24_IO
+    wire oe_24;
+    assign io_oeb[24] = ~oe_24;
+`else /* `ifdef MPRJ_IO_24_IO */
 `ifdef MPRJ_IO_24_I
     assign io_out[24] = 1'b0;
-    assign io_oeb[24] = 1'b0;
-`else /* `ifdef MPRJ_IO_24_I */
-`ifdef MPRJ_IO_24_O
     assign io_oeb[24] = 1'b1;
-`endif /* `ifdef MPRJ_IO_24_O */
+`else /* `ifdef MPRJ_IO_24_I */
+    assign io_oeb[24] = 1'b0;
 `endif /* `ifdef MPRJ_IO_24_I */
-
+`endif /* `ifdef MPRJ_IO_24_IO */
+    
+`ifdef MPRJ_IO_23_IO
+    wire oe_23;
+    assign io_oeb[23] = ~oe_23;
+`else /* `ifdef MPRJ_IO_23_IO */
 `ifdef MPRJ_IO_23_I
     assign io_out[23] = 1'b0;
-    assign io_oeb[23] = 1'b0;
-`else /* `ifdef MPRJ_IO_23_I */
-`ifdef MPRJ_IO_23_O
     assign io_oeb[23] = 1'b1;
-`endif /* `ifdef MPRJ_IO_23_O */
+`else /* `ifdef MPRJ_IO_23_I */
+    assign io_oeb[23] = 1'b0;
 `endif /* `ifdef MPRJ_IO_23_I */
-
+`endif /* `ifdef MPRJ_IO_23_IO */
+    
+`ifdef MPRJ_IO_22_IO
+    wire oe_22;
+    assign io_oeb[22] = ~oe_22;
+`else /* `ifdef MPRJ_IO_22_IO */
 `ifdef MPRJ_IO_22_I
     assign io_out[22] = 1'b0;
-    assign io_oeb[22] = 1'b0;
-`else /* `ifdef MPRJ_IO_22_I */
-`ifdef MPRJ_IO_22_O
     assign io_oeb[22] = 1'b1;
-`endif /* `ifdef MPRJ_IO_22_O */
+`else /* `ifdef MPRJ_IO_22_I */
+    assign io_oeb[22] = 1'b0;
 `endif /* `ifdef MPRJ_IO_22_I */
-
+`endif /* `ifdef MPRJ_IO_22_IO */
+    
+`ifdef MPRJ_IO_21_IO
+    wire oe_21;
+    assign io_oeb[21] = ~oe_21;
+`else /* `ifdef MPRJ_IO_21_IO */
 `ifdef MPRJ_IO_21_I
     assign io_out[21] = 1'b0;
-    assign io_oeb[21] = 1'b0;
-`else /* `ifdef MPRJ_IO_21_I */
-`ifdef MPRJ_IO_21_O
     assign io_oeb[21] = 1'b1;
-`endif /* `ifdef MPRJ_IO_21_O */
+`else /* `ifdef MPRJ_IO_21_I */
+    assign io_oeb[21] = 1'b0;
 `endif /* `ifdef MPRJ_IO_21_I */
-
+`endif /* `ifdef MPRJ_IO_21_IO */
+    
+`ifdef MPRJ_IO_20_IO
+    wire oe_20;
+    assign io_oeb[20] = ~oe_20;
+`else /* `ifdef MPRJ_IO_20_IO */
 `ifdef MPRJ_IO_20_I
     assign io_out[20] = 1'b0;
-    assign io_oeb[20] = 1'b0;
-`else /* `ifdef MPRJ_IO_20_I */
-`ifdef MPRJ_IO_20_O
     assign io_oeb[20] = 1'b1;
-`endif /* `ifdef MPRJ_IO_20_O */
+`else /* `ifdef MPRJ_IO_20_I */
+    assign io_oeb[20] = 1'b0;
 `endif /* `ifdef MPRJ_IO_20_I */
-
+`endif /* `ifdef MPRJ_IO_20_IO */
+    
+`ifdef MPRJ_IO_19_IO
+    wire oe_19;
+    assign io_oeb[19] = ~oe_19;
+`else /* `ifdef MPRJ_IO_19_IO */
 `ifdef MPRJ_IO_19_I
     assign io_out[19] = 1'b0;
-    assign io_oeb[19] = 1'b0;
-`else /* `ifdef MPRJ_IO_19_I */
-`ifdef MPRJ_IO_19_O
     assign io_oeb[19] = 1'b1;
-`endif /* `ifdef MPRJ_IO_19_O */
+`else /* `ifdef MPRJ_IO_19_I */
+    assign io_oeb[19] = 1'b0;
 `endif /* `ifdef MPRJ_IO_19_I */
-
+`endif /* `ifdef MPRJ_IO_19_IO */
+    
+`ifdef MPRJ_IO_18_IO
+    wire oe_18;
+    assign io_oeb[18] = ~oe_18;
+`else /* `ifdef MPRJ_IO_18_IO */
 `ifdef MPRJ_IO_18_I
     assign io_out[18] = 1'b0;
-    assign io_oeb[18] = 1'b0;
-`else /* `ifdef MPRJ_IO_18_I */
-`ifdef MPRJ_IO_18_O
     assign io_oeb[18] = 1'b1;
-`endif /* `ifdef MPRJ_IO_18_O */
+`else /* `ifdef MPRJ_IO_18_I */
+    assign io_oeb[18] = 1'b0;
 `endif /* `ifdef MPRJ_IO_18_I */
-
+`endif /* `ifdef MPRJ_IO_18_IO */
+    
+`ifdef MPRJ_IO_17_IO
+    wire oe_17;
+    assign io_oeb[17] = ~oe_17;
+`else /* `ifdef MPRJ_IO_17_IO */
 `ifdef MPRJ_IO_17_I
     assign io_out[17] = 1'b0;
-    assign io_oeb[17] = 1'b0;
-`else /* `ifdef MPRJ_IO_17_I */
-`ifdef MPRJ_IO_17_O
     assign io_oeb[17] = 1'b1;
-`endif /* `ifdef MPRJ_IO_17_O */
+`else /* `ifdef MPRJ_IO_17_I */
+    assign io_oeb[17] = 1'b0;
 `endif /* `ifdef MPRJ_IO_17_I */
-
+`endif /* `ifdef MPRJ_IO_17_IO */
+    
+`ifdef MPRJ_IO_16_IO
+    wire oe_16;
+    assign io_oeb[16] = ~oe_16;
+`else /* `ifdef MPRJ_IO_16_IO */
 `ifdef MPRJ_IO_16_I
     assign io_out[16] = 1'b0;
-    assign io_oeb[16] = 1'b0;
-`else /* `ifdef MPRJ_IO_16_I */
-`ifdef MPRJ_IO_16_O
     assign io_oeb[16] = 1'b1;
-`endif /* `ifdef MPRJ_IO_16_O */
+`else /* `ifdef MPRJ_IO_16_I */
+    assign io_oeb[16] = 1'b0;
 `endif /* `ifdef MPRJ_IO_16_I */
-
+`endif /* `ifdef MPRJ_IO_16_IO */
+    
+`ifdef MPRJ_IO_15_IO
+    wire oe_15;
+    assign io_oeb[15] = ~oe_15;
+`else /* `ifdef MPRJ_IO_15_IO */
 `ifdef MPRJ_IO_15_I
     assign io_out[15] = 1'b0;
-    assign io_oeb[15] = 1'b0;
-`else /* `ifdef MPRJ_IO_15_I */
-`ifdef MPRJ_IO_15_O
     assign io_oeb[15] = 1'b1;
-`endif /* `ifdef MPRJ_IO_15_O */
+`else /* `ifdef MPRJ_IO_15_I */
+    assign io_oeb[15] = 1'b0;
 `endif /* `ifdef MPRJ_IO_15_I */
-
+`endif /* `ifdef MPRJ_IO_15_IO */
+    
+`ifdef MPRJ_IO_14_IO
+    wire oe_14;
+    assign io_oeb[14] = ~oe_14;
+`else /* `ifdef MPRJ_IO_14_IO */
 `ifdef MPRJ_IO_14_I
     assign io_out[14] = 1'b0;
-    assign io_oeb[14] = 1'b0;
-`else /* `ifdef MPRJ_IO_14_I */
-`ifdef MPRJ_IO_14_O
     assign io_oeb[14] = 1'b1;
-`endif /* `ifdef MPRJ_IO_14_O */
+`else /* `ifdef MPRJ_IO_14_I */
+    assign io_oeb[14] = 1'b0;
 `endif /* `ifdef MPRJ_IO_14_I */
-
+`endif /* `ifdef MPRJ_IO_14_IO */
+    
+`ifdef MPRJ_IO_13_IO
+    wire oe_13;
+    assign io_oeb[13] = ~oe_13;
+`else /* `ifdef MPRJ_IO_13_IO */
 `ifdef MPRJ_IO_13_I
     assign io_out[13] = 1'b0;
-    assign io_oeb[13] = 1'b0;
-`else /* `ifdef MPRJ_IO_13_I */
-`ifdef MPRJ_IO_13_O
     assign io_oeb[13] = 1'b1;
-`endif /* `ifdef MPRJ_IO_13_O */
+`else /* `ifdef MPRJ_IO_13_I */
+    assign io_oeb[13] = 1'b0;
 `endif /* `ifdef MPRJ_IO_13_I */
-
+`endif /* `ifdef MPRJ_IO_13_IO */
+    
+`ifdef MPRJ_IO_12_IO
+    wire oe_12;
+    assign io_oeb[12] = ~oe_12;
+`else /* `ifdef MPRJ_IO_12_IO */
 `ifdef MPRJ_IO_12_I
     assign io_out[12] = 1'b0;
-    assign io_oeb[12] = 1'b0;
-`else /* `ifdef MPRJ_IO_12_I */
-`ifdef MPRJ_IO_12_O
     assign io_oeb[12] = 1'b1;
-`endif /* `ifdef MPRJ_IO_12_O */
+`else /* `ifdef MPRJ_IO_12_I */
+    assign io_oeb[12] = 1'b0;
 `endif /* `ifdef MPRJ_IO_12_I */
-
+`endif /* `ifdef MPRJ_IO_12_IO */
+    
+`ifdef MPRJ_IO_11_IO
+    wire oe_11;
+    assign io_oeb[11] = ~oe_11;
+`else /* `ifdef MPRJ_IO_11_IO */
 `ifdef MPRJ_IO_11_I
     assign io_out[11] = 1'b0;
-    assign io_oeb[11] = 1'b0;
-`else /* `ifdef MPRJ_IO_11_I */
-`ifdef MPRJ_IO_11_O
     assign io_oeb[11] = 1'b1;
-`endif /* `ifdef MPRJ_IO_11_O */
+`else /* `ifdef MPRJ_IO_11_I */
+    assign io_oeb[11] = 1'b0;
 `endif /* `ifdef MPRJ_IO_11_I */
-
+`endif /* `ifdef MPRJ_IO_11_IO */
+    
+`ifdef MPRJ_IO_10_IO
+    wire oe_10;
+    assign io_oeb[10] = ~oe_10;
+`else /* `ifdef MPRJ_IO_10_IO */
 `ifdef MPRJ_IO_10_I
     assign io_out[10] = 1'b0;
-    assign io_oeb[10] = 1'b0;
-`else /* `ifdef MPRJ_IO_10_I */
-`ifdef MPRJ_IO_10_O
     assign io_oeb[10] = 1'b1;
-`endif /* `ifdef MPRJ_IO_10_O */
+`else /* `ifdef MPRJ_IO_10_I */
+    assign io_oeb[10] = 1'b0;
 `endif /* `ifdef MPRJ_IO_10_I */
-
+`endif /* `ifdef MPRJ_IO_10_IO */
+    
+`ifdef MPRJ_IO_9_IO
+    wire oe_9;
+    assign io_oeb[9] = ~oe_9;
+`else /* `ifdef MPRJ_IO_9_IO */
 `ifdef MPRJ_IO_9_I
     assign io_out[9] = 1'b0;
-    assign io_oeb[9] = 1'b0;
-`else /* `ifdef MPRJ_IO_9_I */
-`ifdef MPRJ_IO_9_O
     assign io_oeb[9] = 1'b1;
-`endif /* `ifdef MPRJ_IO_9_O */
+`else /* `ifdef MPRJ_IO_9_I */
+    assign io_oeb[9] = 1'b0;
 `endif /* `ifdef MPRJ_IO_9_I */
-
+`endif /* `ifdef MPRJ_IO_9_IO */
+    
+`ifdef MPRJ_IO_8_IO
+    wire oe_8;
+    assign io_oeb[8] = ~oe_8;
+`else /* `ifdef MPRJ_IO_8_IO */
 `ifdef MPRJ_IO_8_I
     assign io_out[8] = 1'b0;
-    assign io_oeb[8] = 1'b0;
-`else /* `ifdef MPRJ_IO_8_I */
-`ifdef MPRJ_IO_8_O
     assign io_oeb[8] = 1'b1;
-`endif /* `ifdef MPRJ_IO_8_O */
+`else /* `ifdef MPRJ_IO_8_I */
+    assign io_oeb[8] = 1'b0;
 `endif /* `ifdef MPRJ_IO_8_I */
-
+`endif /* `ifdef MPRJ_IO_8_IO */
+    
+`ifdef MPRJ_IO_7_IO
+    wire oe_7;
+    assign io_oeb[7] = ~oe_7;
+`else /* `ifdef MPRJ_IO_7_IO */
 `ifdef MPRJ_IO_7_I
     assign io_out[7] = 1'b0;
-    assign io_oeb[7] = 1'b0;
-`else /* `ifdef MPRJ_IO_7_I */
-`ifdef MPRJ_IO_7_O
     assign io_oeb[7] = 1'b1;
-`endif /* `ifdef MPRJ_IO_7_O */
+`else /* `ifdef MPRJ_IO_7_I */
+    assign io_oeb[7] = 1'b0;
 `endif /* `ifdef MPRJ_IO_7_I */
-
+`endif /* `ifdef MPRJ_IO_7_IO */
+    
+`ifdef MPRJ_IO_6_IO
+    wire oe_6;
+    assign io_oeb[6] = ~oe_6;
+`else /* `ifdef MPRJ_IO_6_IO */
 `ifdef MPRJ_IO_6_I
     assign io_out[6] = 1'b0;
-    assign io_oeb[6] = 1'b0;
-`else /* `ifdef MPRJ_IO_6_I */
-`ifdef MPRJ_IO_6_O
     assign io_oeb[6] = 1'b1;
-`endif /* `ifdef MPRJ_IO_6_O */
+`else /* `ifdef MPRJ_IO_6_I */
+    assign io_oeb[6] = 1'b0;
 `endif /* `ifdef MPRJ_IO_6_I */
-
+`endif /* `ifdef MPRJ_IO_6_IO */
+    
+`ifdef MPRJ_IO_5_IO
+    wire oe_5;
+    assign io_oeb[5] = ~oe_5;
+`else /* `ifdef MPRJ_IO_5_IO */
 `ifdef MPRJ_IO_5_I
     assign io_out[5] = 1'b0;
-    assign io_oeb[5] = 1'b0;
-`else /* `ifdef MPRJ_IO_5_I */
-`ifdef MPRJ_IO_5_O
     assign io_oeb[5] = 1'b1;
-`endif /* `ifdef MPRJ_IO_5_O */
+`else /* `ifdef MPRJ_IO_5_I */
+    assign io_oeb[5] = 1'b0;
 `endif /* `ifdef MPRJ_IO_5_I */
-
+`endif /* `ifdef MPRJ_IO_5_IO */
+    
+`ifdef MPRJ_IO_4_IO
+    wire oe_4;
+    assign io_oeb[4] = ~oe_4;
+`else /* `ifdef MPRJ_IO_4_IO */
 `ifdef MPRJ_IO_4_I
     assign io_out[4] = 1'b0;
-    assign io_oeb[4] = 1'b0;
-`else /* `ifdef MPRJ_IO_4_I */
-`ifdef MPRJ_IO_4_O
     assign io_oeb[4] = 1'b1;
-`endif /* `ifdef MPRJ_IO_4_O */
+`else /* `ifdef MPRJ_IO_4_I */
+    assign io_oeb[4] = 1'b0;
 `endif /* `ifdef MPRJ_IO_4_I */
-
+`endif /* `ifdef MPRJ_IO_4_IO */
+    
+`ifdef MPRJ_IO_3_IO
+    wire oe_3;
+    assign io_oeb[3] = ~oe_3;
+`else /* `ifdef MPRJ_IO_3_IO */
 `ifdef MPRJ_IO_3_I
     assign io_out[3] = 1'b0;
-    assign io_oeb[3] = 1'b0;
-`else /* `ifdef MPRJ_IO_3_I */
-`ifdef MPRJ_IO_3_O
     assign io_oeb[3] = 1'b1;
-`endif /* `ifdef MPRJ_IO_3_O */
+`else /* `ifdef MPRJ_IO_3_I */
+    assign io_oeb[3] = 1'b0;
 `endif /* `ifdef MPRJ_IO_3_I */
-
+`endif /* `ifdef MPRJ_IO_3_IO */
+    
+`ifdef MPRJ_IO_2_IO
+    wire oe_2;
+    assign io_oeb[2] = ~oe_2;
+`else /* `ifdef MPRJ_IO_2_IO */
 `ifdef MPRJ_IO_2_I
     assign io_out[2] = 1'b0;
-    assign io_oeb[2] = 1'b0;
-`else /* `ifdef MPRJ_IO_2_I */
-`ifdef MPRJ_IO_2_O
     assign io_oeb[2] = 1'b1;
-`endif /* `ifdef MPRJ_IO_2_O */
+`else /* `ifdef MPRJ_IO_2_I */
+    assign io_oeb[2] = 1'b0;
 `endif /* `ifdef MPRJ_IO_2_I */
-
+`endif /* `ifdef MPRJ_IO_2_IO */
+    
+`ifdef MPRJ_IO_1_IO
+    wire oe_1;
+    assign io_oeb[1] = ~oe_1;
+`else /* `ifdef MPRJ_IO_1_IO */
 `ifdef MPRJ_IO_1_I
     assign io_out[1] = 1'b0;
-    assign io_oeb[1] = 1'b0;
-`else /* `ifdef MPRJ_IO_1_I */
-`ifdef MPRJ_IO_1_O
     assign io_oeb[1] = 1'b1;
-`endif /* `ifdef MPRJ_IO_1_O */
+`else /* `ifdef MPRJ_IO_1_I */
+    assign io_oeb[1] = 1'b0;
 `endif /* `ifdef MPRJ_IO_1_I */
-
+`endif /* `ifdef MPRJ_IO_1_IO */
+    
+`ifdef MPRJ_IO_0_IO
+    wire oe_0;
+    assign io_oeb[0] = ~oe_0;
+`else /* `ifdef MPRJ_IO_0_IO */
 `ifdef MPRJ_IO_0_I
     assign io_out[0] = 1'b0;
-    assign io_oeb[0] = 1'b0;
-`else /* `ifdef MPRJ_IO_0_I */
-`ifdef MPRJ_IO_0_O
     assign io_oeb[0] = 1'b1;
-`endif /* `ifdef MPRJ_IO_0_O */
+`else /* `ifdef MPRJ_IO_0_I */
+    assign io_oeb[0] = 1'b0;
 `endif /* `ifdef MPRJ_IO_0_I */
-
-   // GPIO PINS
-   localparam  PIN_PROG_CLK     = 37;
-   localparam  PIN_USER_CLK     = 36;
-   localparam  PIN_PROG_DIN     = 35;
-   localparam  PIN_PROG_DONE    = 34;
-   localparam  PIN_PROG_RST     = 33;
-   localparam  PIN_PROG_WE      = 32;
-   localparam  PIN_31           = 31;
-   localparam  PIN_30           = 30;
-   localparam  PIN_29           = 29;
-   localparam  PIN_28           = 28;
-   localparam  PIN_27           = 27;
-   localparam  PIN_26           = 26;
-   localparam  PIN_25           = 25;
-   localparam  PIN_24           = 24;
-   localparam  PIN_23           = 23;
-   localparam  PIN_22           = 22;
-   localparam  PIN_21           = 21;
-   localparam  PIN_20           = 20;
-   localparam  PIN_19           = 19;
-   localparam  PIN_18           = 18;
-   localparam  PIN_17           = 17;
-   localparam  PIN_16           = 16;
-   localparam  PIN_15           = 15;
-   localparam  PIN_14           = 14;
-   localparam  PIN_13           = 13;
-   localparam  PIN_12           = 12;
-   localparam  PIN_11           = 11;
-   localparam  PIN_10           = 10;
-   localparam  PIN_9            = 9;
-   localparam  PIN_8            = 8;
-   localparam  PIN_7            = 7;
-   localparam  PIN_6            = 6;
-   localparam  PIN_5            = 5;
-   localparam  PIN_4            = 4;
-   localparam  PIN_3            = 3;
-   localparam  PIN_2            = 2;
-   localparam  PIN_PROG_DOUT    = 1;
-   localparam  PIN_PROG_WE_O    = 0;
-
-   // 
-   wire [0:0]                   prog_clk, prog_rst, prog_done, prog_we, prog_din, prog_dout, prog_we_o;
-   wire [0:0]                   clk;
-
-   // wire [1:0]                   not_used;
-   
-   //prog_din
-   assign prog_din = io_in[PIN_PROG_DIN];
-   assign io_oeb[PIN_PROG_DIN] = 1'b0;
-   assign io_out[PIN_PROG_DIN] = 1'b0;
-   //prog_done
-   assign prog_done = io_in[PIN_PROG_DONE];
-   assign io_oeb[PIN_PROG_DONE] = 1'b0;
-   assign io_out[PIN_PROG_DONE] = 1'b0;
-   //prog_rst
-   assign prog_rst = io_in[PIN_PROG_RST];
-   assign io_oeb[PIN_PROG_RST] = 1'b0;
-   assign io_out[PIN_PROG_RST] = 1'b0;
-   //prog_we
-   assign prog_we = io_in[PIN_PROG_WE];
-   assign io_oeb[PIN_PROG_WE] = 1'b0;
-   assign io_out[PIN_PROG_WE] = 1'b0;
-
-   //prog_dout
-   // assign not_used = io_in[PIN_PROG_DOUT];
-   assign io_oeb[PIN_PROG_DOUT] = 1'b1;
-   assign io_out[PIN_PROG_DOUT] = prog_dout;
-   //prog_dout
-   // assign not_used = io_in[PIN_PROG_WE_O];
-   assign io_oeb[PIN_PROG_WE_O] = 1'b1;
-   assign io_out[PIN_PROG_WE_O] = prog_we_o;
-
-
-   // Ground not used ouputs
-   assign wbs_ack_o   =   1'b0;
-   assign wbs_dat_o   =  32'b0;
-   assign user_irq    =   3'b0;
-   assign la_data_out = 128'b0;
-
-      
-   // We use user_clock2 instead of external clock through GPIO due to the reported issue with scipts and brackets in names of constraints
-   // 
-   assign prog_clk = user_clock2;
-   assign clk = user_clock2;
+`endif /* `ifdef MPRJ_IO_0_IO */
    
    //~
    // FPGA instance   
@@ -661,7 +690,7 @@
 `ifdef MPRJ_IO_37_IO
          .`IPIN(`MPRJ_IO_37_CONN) ( io_in[37])
         ,.`OPIN(`MPRJ_IO_37_CONN) (io_out[37])
-        ,  .`OE(`MPRJ_IO_37_CONN) (io_oeb[37])
+        ,  .`OE(`MPRJ_IO_37_CONN) (oe_37)
 `else /* `ifdef MPRJ_IO_37_IO */
 `ifdef MPRJ_IO_37_I
          .`MPRJ_IO_37_CONN ( io_in[37])
@@ -669,11 +698,11 @@
          .`MPRJ_IO_37_CONN (io_out[37])
 `endif /* `ifdef MPRJ_IO_37_I */
 `endif /* `ifdef MPRJ_IO_37_IO */
-
+    
 `ifdef MPRJ_IO_36_IO
         ,.`IPIN(`MPRJ_IO_36_CONN) ( io_in[36])
         ,.`OPIN(`MPRJ_IO_36_CONN) (io_out[36])
-        ,  .`OE(`MPRJ_IO_36_CONN) (io_oeb[36])
+        ,  .`OE(`MPRJ_IO_36_CONN) (oe_36)
 `else /* `ifdef MPRJ_IO_36_IO */
 `ifdef MPRJ_IO_36_I
         ,.`MPRJ_IO_36_CONN ( io_in[36])
@@ -681,11 +710,11 @@
         ,.`MPRJ_IO_36_CONN (io_out[36])
 `endif /* `ifdef MPRJ_IO_36_I */
 `endif /* `ifdef MPRJ_IO_36_IO */
-
+    
 `ifdef MPRJ_IO_35_IO
         ,.`IPIN(`MPRJ_IO_35_CONN) ( io_in[35])
         ,.`OPIN(`MPRJ_IO_35_CONN) (io_out[35])
-        ,  .`OE(`MPRJ_IO_35_CONN) (io_oeb[35])
+        ,  .`OE(`MPRJ_IO_35_CONN) (oe_35)
 `else /* `ifdef MPRJ_IO_35_IO */
 `ifdef MPRJ_IO_35_I
         ,.`MPRJ_IO_35_CONN ( io_in[35])
@@ -693,11 +722,11 @@
         ,.`MPRJ_IO_35_CONN (io_out[35])
 `endif /* `ifdef MPRJ_IO_35_I */
 `endif /* `ifdef MPRJ_IO_35_IO */
-
+    
 `ifdef MPRJ_IO_34_IO
         ,.`IPIN(`MPRJ_IO_34_CONN) ( io_in[34])
         ,.`OPIN(`MPRJ_IO_34_CONN) (io_out[34])
-        ,  .`OE(`MPRJ_IO_34_CONN) (io_oeb[34])
+        ,  .`OE(`MPRJ_IO_34_CONN) (oe_34)
 `else /* `ifdef MPRJ_IO_34_IO */
 `ifdef MPRJ_IO_34_I
         ,.`MPRJ_IO_34_CONN ( io_in[34])
@@ -705,11 +734,11 @@
         ,.`MPRJ_IO_34_CONN (io_out[34])
 `endif /* `ifdef MPRJ_IO_34_I */
 `endif /* `ifdef MPRJ_IO_34_IO */
-
+    
 `ifdef MPRJ_IO_33_IO
         ,.`IPIN(`MPRJ_IO_33_CONN) ( io_in[33])
         ,.`OPIN(`MPRJ_IO_33_CONN) (io_out[33])
-        ,  .`OE(`MPRJ_IO_33_CONN) (io_oeb[33])
+        ,  .`OE(`MPRJ_IO_33_CONN) (oe_33)
 `else /* `ifdef MPRJ_IO_33_IO */
 `ifdef MPRJ_IO_33_I
         ,.`MPRJ_IO_33_CONN ( io_in[33])
@@ -717,11 +746,11 @@
         ,.`MPRJ_IO_33_CONN (io_out[33])
 `endif /* `ifdef MPRJ_IO_33_I */
 `endif /* `ifdef MPRJ_IO_33_IO */
-
+    
 `ifdef MPRJ_IO_32_IO
         ,.`IPIN(`MPRJ_IO_32_CONN) ( io_in[32])
         ,.`OPIN(`MPRJ_IO_32_CONN) (io_out[32])
-        ,  .`OE(`MPRJ_IO_32_CONN) (io_oeb[32])
+        ,  .`OE(`MPRJ_IO_32_CONN) (oe_32)
 `else /* `ifdef MPRJ_IO_32_IO */
 `ifdef MPRJ_IO_32_I
         ,.`MPRJ_IO_32_CONN ( io_in[32])
@@ -729,11 +758,11 @@
         ,.`MPRJ_IO_32_CONN (io_out[32])
 `endif /* `ifdef MPRJ_IO_32_I */
 `endif /* `ifdef MPRJ_IO_32_IO */
-
+    
 `ifdef MPRJ_IO_31_IO
         ,.`IPIN(`MPRJ_IO_31_CONN) ( io_in[31])
         ,.`OPIN(`MPRJ_IO_31_CONN) (io_out[31])
-        ,  .`OE(`MPRJ_IO_31_CONN) (io_oeb[31])
+        ,  .`OE(`MPRJ_IO_31_CONN) (oe_31)
 `else /* `ifdef MPRJ_IO_31_IO */
 `ifdef MPRJ_IO_31_I
         ,.`MPRJ_IO_31_CONN ( io_in[31])
@@ -741,11 +770,11 @@
         ,.`MPRJ_IO_31_CONN (io_out[31])
 `endif /* `ifdef MPRJ_IO_31_I */
 `endif /* `ifdef MPRJ_IO_31_IO */
-
+    
 `ifdef MPRJ_IO_30_IO
         ,.`IPIN(`MPRJ_IO_30_CONN) ( io_in[30])
         ,.`OPIN(`MPRJ_IO_30_CONN) (io_out[30])
-        ,  .`OE(`MPRJ_IO_30_CONN) (io_oeb[30])
+        ,  .`OE(`MPRJ_IO_30_CONN) (oe_30)
 `else /* `ifdef MPRJ_IO_30_IO */
 `ifdef MPRJ_IO_30_I
         ,.`MPRJ_IO_30_CONN ( io_in[30])
@@ -753,11 +782,11 @@
         ,.`MPRJ_IO_30_CONN (io_out[30])
 `endif /* `ifdef MPRJ_IO_30_I */
 `endif /* `ifdef MPRJ_IO_30_IO */
-
+    
 `ifdef MPRJ_IO_29_IO
         ,.`IPIN(`MPRJ_IO_29_CONN) ( io_in[29])
         ,.`OPIN(`MPRJ_IO_29_CONN) (io_out[29])
-        ,  .`OE(`MPRJ_IO_29_CONN) (io_oeb[29])
+        ,  .`OE(`MPRJ_IO_29_CONN) (oe_29)
 `else /* `ifdef MPRJ_IO_29_IO */
 `ifdef MPRJ_IO_29_I
         ,.`MPRJ_IO_29_CONN ( io_in[29])
@@ -765,11 +794,11 @@
         ,.`MPRJ_IO_29_CONN (io_out[29])
 `endif /* `ifdef MPRJ_IO_29_I */
 `endif /* `ifdef MPRJ_IO_29_IO */
-
+    
 `ifdef MPRJ_IO_28_IO
         ,.`IPIN(`MPRJ_IO_28_CONN) ( io_in[28])
         ,.`OPIN(`MPRJ_IO_28_CONN) (io_out[28])
-        ,  .`OE(`MPRJ_IO_28_CONN) (io_oeb[28])
+        ,  .`OE(`MPRJ_IO_28_CONN) (oe_28)
 `else /* `ifdef MPRJ_IO_28_IO */
 `ifdef MPRJ_IO_28_I
         ,.`MPRJ_IO_28_CONN ( io_in[28])
@@ -777,11 +806,11 @@
         ,.`MPRJ_IO_28_CONN (io_out[28])
 `endif /* `ifdef MPRJ_IO_28_I */
 `endif /* `ifdef MPRJ_IO_28_IO */
-
+    
 `ifdef MPRJ_IO_27_IO
         ,.`IPIN(`MPRJ_IO_27_CONN) ( io_in[27])
         ,.`OPIN(`MPRJ_IO_27_CONN) (io_out[27])
-        ,  .`OE(`MPRJ_IO_27_CONN) (io_oeb[27])
+        ,  .`OE(`MPRJ_IO_27_CONN) (oe_27)
 `else /* `ifdef MPRJ_IO_27_IO */
 `ifdef MPRJ_IO_27_I
         ,.`MPRJ_IO_27_CONN ( io_in[27])
@@ -789,11 +818,11 @@
         ,.`MPRJ_IO_27_CONN (io_out[27])
 `endif /* `ifdef MPRJ_IO_27_I */
 `endif /* `ifdef MPRJ_IO_27_IO */
-
+    
 `ifdef MPRJ_IO_26_IO
         ,.`IPIN(`MPRJ_IO_26_CONN) ( io_in[26])
         ,.`OPIN(`MPRJ_IO_26_CONN) (io_out[26])
-        ,  .`OE(`MPRJ_IO_26_CONN) (io_oeb[26])
+        ,  .`OE(`MPRJ_IO_26_CONN) (oe_26)
 `else /* `ifdef MPRJ_IO_26_IO */
 `ifdef MPRJ_IO_26_I
         ,.`MPRJ_IO_26_CONN ( io_in[26])
@@ -801,11 +830,11 @@
         ,.`MPRJ_IO_26_CONN (io_out[26])
 `endif /* `ifdef MPRJ_IO_26_I */
 `endif /* `ifdef MPRJ_IO_26_IO */
-
+    
 `ifdef MPRJ_IO_25_IO
         ,.`IPIN(`MPRJ_IO_25_CONN) ( io_in[25])
         ,.`OPIN(`MPRJ_IO_25_CONN) (io_out[25])
-        ,  .`OE(`MPRJ_IO_25_CONN) (io_oeb[25])
+        ,  .`OE(`MPRJ_IO_25_CONN) (oe_25)
 `else /* `ifdef MPRJ_IO_25_IO */
 `ifdef MPRJ_IO_25_I
         ,.`MPRJ_IO_25_CONN ( io_in[25])
@@ -813,11 +842,11 @@
         ,.`MPRJ_IO_25_CONN (io_out[25])
 `endif /* `ifdef MPRJ_IO_25_I */
 `endif /* `ifdef MPRJ_IO_25_IO */
-
+    
 `ifdef MPRJ_IO_24_IO
         ,.`IPIN(`MPRJ_IO_24_CONN) ( io_in[24])
         ,.`OPIN(`MPRJ_IO_24_CONN) (io_out[24])
-        ,  .`OE(`MPRJ_IO_24_CONN) (io_oeb[24])
+        ,  .`OE(`MPRJ_IO_24_CONN) (oe_24)
 `else /* `ifdef MPRJ_IO_24_IO */
 `ifdef MPRJ_IO_24_I
         ,.`MPRJ_IO_24_CONN ( io_in[24])
@@ -825,11 +854,11 @@
         ,.`MPRJ_IO_24_CONN (io_out[24])
 `endif /* `ifdef MPRJ_IO_24_I */
 `endif /* `ifdef MPRJ_IO_24_IO */
-
+    
 `ifdef MPRJ_IO_23_IO
         ,.`IPIN(`MPRJ_IO_23_CONN) ( io_in[23])
         ,.`OPIN(`MPRJ_IO_23_CONN) (io_out[23])
-        ,  .`OE(`MPRJ_IO_23_CONN) (io_oeb[23])
+        ,  .`OE(`MPRJ_IO_23_CONN) (oe_23)
 `else /* `ifdef MPRJ_IO_23_IO */
 `ifdef MPRJ_IO_23_I
         ,.`MPRJ_IO_23_CONN ( io_in[23])
@@ -837,11 +866,11 @@
         ,.`MPRJ_IO_23_CONN (io_out[23])
 `endif /* `ifdef MPRJ_IO_23_I */
 `endif /* `ifdef MPRJ_IO_23_IO */
-
+    
 `ifdef MPRJ_IO_22_IO
         ,.`IPIN(`MPRJ_IO_22_CONN) ( io_in[22])
         ,.`OPIN(`MPRJ_IO_22_CONN) (io_out[22])
-        ,  .`OE(`MPRJ_IO_22_CONN) (io_oeb[22])
+        ,  .`OE(`MPRJ_IO_22_CONN) (oe_22)
 `else /* `ifdef MPRJ_IO_22_IO */
 `ifdef MPRJ_IO_22_I
         ,.`MPRJ_IO_22_CONN ( io_in[22])
@@ -849,11 +878,11 @@
         ,.`MPRJ_IO_22_CONN (io_out[22])
 `endif /* `ifdef MPRJ_IO_22_I */
 `endif /* `ifdef MPRJ_IO_22_IO */
-
+    
 `ifdef MPRJ_IO_21_IO
         ,.`IPIN(`MPRJ_IO_21_CONN) ( io_in[21])
         ,.`OPIN(`MPRJ_IO_21_CONN) (io_out[21])
-        ,  .`OE(`MPRJ_IO_21_CONN) (io_oeb[21])
+        ,  .`OE(`MPRJ_IO_21_CONN) (oe_21)
 `else /* `ifdef MPRJ_IO_21_IO */
 `ifdef MPRJ_IO_21_I
         ,.`MPRJ_IO_21_CONN ( io_in[21])
@@ -861,11 +890,11 @@
         ,.`MPRJ_IO_21_CONN (io_out[21])
 `endif /* `ifdef MPRJ_IO_21_I */
 `endif /* `ifdef MPRJ_IO_21_IO */
-
+    
 `ifdef MPRJ_IO_20_IO
         ,.`IPIN(`MPRJ_IO_20_CONN) ( io_in[20])
         ,.`OPIN(`MPRJ_IO_20_CONN) (io_out[20])
-        ,  .`OE(`MPRJ_IO_20_CONN) (io_oeb[20])
+        ,  .`OE(`MPRJ_IO_20_CONN) (oe_20)
 `else /* `ifdef MPRJ_IO_20_IO */
 `ifdef MPRJ_IO_20_I
         ,.`MPRJ_IO_20_CONN ( io_in[20])
@@ -873,11 +902,11 @@
         ,.`MPRJ_IO_20_CONN (io_out[20])
 `endif /* `ifdef MPRJ_IO_20_I */
 `endif /* `ifdef MPRJ_IO_20_IO */
-
+    
 `ifdef MPRJ_IO_19_IO
         ,.`IPIN(`MPRJ_IO_19_CONN) ( io_in[19])
         ,.`OPIN(`MPRJ_IO_19_CONN) (io_out[19])
-        ,  .`OE(`MPRJ_IO_19_CONN) (io_oeb[19])
+        ,  .`OE(`MPRJ_IO_19_CONN) (oe_19)
 `else /* `ifdef MPRJ_IO_19_IO */
 `ifdef MPRJ_IO_19_I
         ,.`MPRJ_IO_19_CONN ( io_in[19])
@@ -885,11 +914,11 @@
         ,.`MPRJ_IO_19_CONN (io_out[19])
 `endif /* `ifdef MPRJ_IO_19_I */
 `endif /* `ifdef MPRJ_IO_19_IO */
-
+    
 `ifdef MPRJ_IO_18_IO
         ,.`IPIN(`MPRJ_IO_18_CONN) ( io_in[18])
         ,.`OPIN(`MPRJ_IO_18_CONN) (io_out[18])
-        ,  .`OE(`MPRJ_IO_18_CONN) (io_oeb[18])
+        ,  .`OE(`MPRJ_IO_18_CONN) (oe_18)
 `else /* `ifdef MPRJ_IO_18_IO */
 `ifdef MPRJ_IO_18_I
         ,.`MPRJ_IO_18_CONN ( io_in[18])
@@ -897,11 +926,11 @@
         ,.`MPRJ_IO_18_CONN (io_out[18])
 `endif /* `ifdef MPRJ_IO_18_I */
 `endif /* `ifdef MPRJ_IO_18_IO */
-
+    
 `ifdef MPRJ_IO_17_IO
         ,.`IPIN(`MPRJ_IO_17_CONN) ( io_in[17])
         ,.`OPIN(`MPRJ_IO_17_CONN) (io_out[17])
-        ,  .`OE(`MPRJ_IO_17_CONN) (io_oeb[17])
+        ,  .`OE(`MPRJ_IO_17_CONN) (oe_17)
 `else /* `ifdef MPRJ_IO_17_IO */
 `ifdef MPRJ_IO_17_I
         ,.`MPRJ_IO_17_CONN ( io_in[17])
@@ -909,11 +938,11 @@
         ,.`MPRJ_IO_17_CONN (io_out[17])
 `endif /* `ifdef MPRJ_IO_17_I */
 `endif /* `ifdef MPRJ_IO_17_IO */
-
+    
 `ifdef MPRJ_IO_16_IO
         ,.`IPIN(`MPRJ_IO_16_CONN) ( io_in[16])
         ,.`OPIN(`MPRJ_IO_16_CONN) (io_out[16])
-        ,  .`OE(`MPRJ_IO_16_CONN) (io_oeb[16])
+        ,  .`OE(`MPRJ_IO_16_CONN) (oe_16)
 `else /* `ifdef MPRJ_IO_16_IO */
 `ifdef MPRJ_IO_16_I
         ,.`MPRJ_IO_16_CONN ( io_in[16])
@@ -921,11 +950,11 @@
         ,.`MPRJ_IO_16_CONN (io_out[16])
 `endif /* `ifdef MPRJ_IO_16_I */
 `endif /* `ifdef MPRJ_IO_16_IO */
-
+    
 `ifdef MPRJ_IO_15_IO
         ,.`IPIN(`MPRJ_IO_15_CONN) ( io_in[15])
         ,.`OPIN(`MPRJ_IO_15_CONN) (io_out[15])
-        ,  .`OE(`MPRJ_IO_15_CONN) (io_oeb[15])
+        ,  .`OE(`MPRJ_IO_15_CONN) (oe_15)
 `else /* `ifdef MPRJ_IO_15_IO */
 `ifdef MPRJ_IO_15_I
         ,.`MPRJ_IO_15_CONN ( io_in[15])
@@ -933,11 +962,11 @@
         ,.`MPRJ_IO_15_CONN (io_out[15])
 `endif /* `ifdef MPRJ_IO_15_I */
 `endif /* `ifdef MPRJ_IO_15_IO */
-
+    
 `ifdef MPRJ_IO_14_IO
         ,.`IPIN(`MPRJ_IO_14_CONN) ( io_in[14])
         ,.`OPIN(`MPRJ_IO_14_CONN) (io_out[14])
-        ,  .`OE(`MPRJ_IO_14_CONN) (io_oeb[14])
+        ,  .`OE(`MPRJ_IO_14_CONN) (oe_14)
 `else /* `ifdef MPRJ_IO_14_IO */
 `ifdef MPRJ_IO_14_I
         ,.`MPRJ_IO_14_CONN ( io_in[14])
@@ -945,11 +974,11 @@
         ,.`MPRJ_IO_14_CONN (io_out[14])
 `endif /* `ifdef MPRJ_IO_14_I */
 `endif /* `ifdef MPRJ_IO_14_IO */
-
+    
 `ifdef MPRJ_IO_13_IO
         ,.`IPIN(`MPRJ_IO_13_CONN) ( io_in[13])
         ,.`OPIN(`MPRJ_IO_13_CONN) (io_out[13])
-        ,  .`OE(`MPRJ_IO_13_CONN) (io_oeb[13])
+        ,  .`OE(`MPRJ_IO_13_CONN) (oe_13)
 `else /* `ifdef MPRJ_IO_13_IO */
 `ifdef MPRJ_IO_13_I
         ,.`MPRJ_IO_13_CONN ( io_in[13])
@@ -957,11 +986,11 @@
         ,.`MPRJ_IO_13_CONN (io_out[13])
 `endif /* `ifdef MPRJ_IO_13_I */
 `endif /* `ifdef MPRJ_IO_13_IO */
-
+    
 `ifdef MPRJ_IO_12_IO
         ,.`IPIN(`MPRJ_IO_12_CONN) ( io_in[12])
         ,.`OPIN(`MPRJ_IO_12_CONN) (io_out[12])
-        ,  .`OE(`MPRJ_IO_12_CONN) (io_oeb[12])
+        ,  .`OE(`MPRJ_IO_12_CONN) (oe_12)
 `else /* `ifdef MPRJ_IO_12_IO */
 `ifdef MPRJ_IO_12_I
         ,.`MPRJ_IO_12_CONN ( io_in[12])
@@ -969,11 +998,11 @@
         ,.`MPRJ_IO_12_CONN (io_out[12])
 `endif /* `ifdef MPRJ_IO_12_I */
 `endif /* `ifdef MPRJ_IO_12_IO */
-
+    
 `ifdef MPRJ_IO_11_IO
         ,.`IPIN(`MPRJ_IO_11_CONN) ( io_in[11])
         ,.`OPIN(`MPRJ_IO_11_CONN) (io_out[11])
-        ,  .`OE(`MPRJ_IO_11_CONN) (io_oeb[11])
+        ,  .`OE(`MPRJ_IO_11_CONN) (oe_11)
 `else /* `ifdef MPRJ_IO_11_IO */
 `ifdef MPRJ_IO_11_I
         ,.`MPRJ_IO_11_CONN ( io_in[11])
@@ -981,11 +1010,11 @@
         ,.`MPRJ_IO_11_CONN (io_out[11])
 `endif /* `ifdef MPRJ_IO_11_I */
 `endif /* `ifdef MPRJ_IO_11_IO */
-
+    
 `ifdef MPRJ_IO_10_IO
         ,.`IPIN(`MPRJ_IO_10_CONN) ( io_in[10])
         ,.`OPIN(`MPRJ_IO_10_CONN) (io_out[10])
-        ,  .`OE(`MPRJ_IO_10_CONN) (io_oeb[10])
+        ,  .`OE(`MPRJ_IO_10_CONN) (oe_10)
 `else /* `ifdef MPRJ_IO_10_IO */
 `ifdef MPRJ_IO_10_I
         ,.`MPRJ_IO_10_CONN ( io_in[10])
@@ -993,11 +1022,11 @@
         ,.`MPRJ_IO_10_CONN (io_out[10])
 `endif /* `ifdef MPRJ_IO_10_I */
 `endif /* `ifdef MPRJ_IO_10_IO */
-
+    
 `ifdef MPRJ_IO_9_IO
         ,.`IPIN(`MPRJ_IO_9_CONN) ( io_in[9])
         ,.`OPIN(`MPRJ_IO_9_CONN) (io_out[9])
-        ,  .`OE(`MPRJ_IO_9_CONN) (io_oeb[9])
+        ,  .`OE(`MPRJ_IO_9_CONN) (oe_9)
 `else /* `ifdef MPRJ_IO_9_IO */
 `ifdef MPRJ_IO_9_I
         ,.`MPRJ_IO_9_CONN ( io_in[9])
@@ -1005,11 +1034,11 @@
         ,.`MPRJ_IO_9_CONN (io_out[9])
 `endif /* `ifdef MPRJ_IO_9_I */
 `endif /* `ifdef MPRJ_IO_9_IO */
-
+    
 `ifdef MPRJ_IO_8_IO
         ,.`IPIN(`MPRJ_IO_8_CONN) ( io_in[8])
         ,.`OPIN(`MPRJ_IO_8_CONN) (io_out[8])
-        ,  .`OE(`MPRJ_IO_8_CONN) (io_oeb[8])
+        ,  .`OE(`MPRJ_IO_8_CONN) (oe_8)
 `else /* `ifdef MPRJ_IO_8_IO */
 `ifdef MPRJ_IO_8_I
         ,.`MPRJ_IO_8_CONN ( io_in[8])
@@ -1017,11 +1046,11 @@
         ,.`MPRJ_IO_8_CONN (io_out[8])
 `endif /* `ifdef MPRJ_IO_8_I */
 `endif /* `ifdef MPRJ_IO_8_IO */
-
+    
 `ifdef MPRJ_IO_7_IO
         ,.`IPIN(`MPRJ_IO_7_CONN) ( io_in[7])
         ,.`OPIN(`MPRJ_IO_7_CONN) (io_out[7])
-        ,  .`OE(`MPRJ_IO_7_CONN) (io_oeb[7])
+        ,  .`OE(`MPRJ_IO_7_CONN) (oe_7)
 `else /* `ifdef MPRJ_IO_7_IO */
 `ifdef MPRJ_IO_7_I
         ,.`MPRJ_IO_7_CONN ( io_in[7])
@@ -1029,11 +1058,11 @@
         ,.`MPRJ_IO_7_CONN (io_out[7])
 `endif /* `ifdef MPRJ_IO_7_I */
 `endif /* `ifdef MPRJ_IO_7_IO */
-
+    
 `ifdef MPRJ_IO_6_IO
         ,.`IPIN(`MPRJ_IO_6_CONN) ( io_in[6])
         ,.`OPIN(`MPRJ_IO_6_CONN) (io_out[6])
-        ,  .`OE(`MPRJ_IO_6_CONN) (io_oeb[6])
+        ,  .`OE(`MPRJ_IO_6_CONN) (oe_6)
 `else /* `ifdef MPRJ_IO_6_IO */
 `ifdef MPRJ_IO_6_I
         ,.`MPRJ_IO_6_CONN ( io_in[6])
@@ -1041,11 +1070,11 @@
         ,.`MPRJ_IO_6_CONN (io_out[6])
 `endif /* `ifdef MPRJ_IO_6_I */
 `endif /* `ifdef MPRJ_IO_6_IO */
-
+    
 `ifdef MPRJ_IO_5_IO
         ,.`IPIN(`MPRJ_IO_5_CONN) ( io_in[5])
         ,.`OPIN(`MPRJ_IO_5_CONN) (io_out[5])
-        ,  .`OE(`MPRJ_IO_5_CONN) (io_oeb[5])
+        ,  .`OE(`MPRJ_IO_5_CONN) (oe_5)
 `else /* `ifdef MPRJ_IO_5_IO */
 `ifdef MPRJ_IO_5_I
         ,.`MPRJ_IO_5_CONN ( io_in[5])
@@ -1053,11 +1082,11 @@
         ,.`MPRJ_IO_5_CONN (io_out[5])
 `endif /* `ifdef MPRJ_IO_5_I */
 `endif /* `ifdef MPRJ_IO_5_IO */
-
+    
 `ifdef MPRJ_IO_4_IO
         ,.`IPIN(`MPRJ_IO_4_CONN) ( io_in[4])
         ,.`OPIN(`MPRJ_IO_4_CONN) (io_out[4])
-        ,  .`OE(`MPRJ_IO_4_CONN) (io_oeb[4])
+        ,  .`OE(`MPRJ_IO_4_CONN) (oe_4)
 `else /* `ifdef MPRJ_IO_4_IO */
 `ifdef MPRJ_IO_4_I
         ,.`MPRJ_IO_4_CONN ( io_in[4])
@@ -1065,11 +1094,11 @@
         ,.`MPRJ_IO_4_CONN (io_out[4])
 `endif /* `ifdef MPRJ_IO_4_I */
 `endif /* `ifdef MPRJ_IO_4_IO */
-
+    
 `ifdef MPRJ_IO_3_IO
         ,.`IPIN(`MPRJ_IO_3_CONN) ( io_in[3])
         ,.`OPIN(`MPRJ_IO_3_CONN) (io_out[3])
-        ,  .`OE(`MPRJ_IO_3_CONN) (io_oeb[3])
+        ,  .`OE(`MPRJ_IO_3_CONN) (oe_3)
 `else /* `ifdef MPRJ_IO_3_IO */
 `ifdef MPRJ_IO_3_I
         ,.`MPRJ_IO_3_CONN ( io_in[3])
@@ -1077,11 +1106,11 @@
         ,.`MPRJ_IO_3_CONN (io_out[3])
 `endif /* `ifdef MPRJ_IO_3_I */
 `endif /* `ifdef MPRJ_IO_3_IO */
-
+    
 `ifdef MPRJ_IO_2_IO
         ,.`IPIN(`MPRJ_IO_2_CONN) ( io_in[2])
         ,.`OPIN(`MPRJ_IO_2_CONN) (io_out[2])
-        ,  .`OE(`MPRJ_IO_2_CONN) (io_oeb[2])
+        ,  .`OE(`MPRJ_IO_2_CONN) (oe_2)
 `else /* `ifdef MPRJ_IO_2_IO */
 `ifdef MPRJ_IO_2_I
         ,.`MPRJ_IO_2_CONN ( io_in[2])
@@ -1089,11 +1118,11 @@
         ,.`MPRJ_IO_2_CONN (io_out[2])
 `endif /* `ifdef MPRJ_IO_2_I */
 `endif /* `ifdef MPRJ_IO_2_IO */
-
+    
 `ifdef MPRJ_IO_1_IO
         ,.`IPIN(`MPRJ_IO_1_CONN) ( io_in[1])
         ,.`OPIN(`MPRJ_IO_1_CONN) (io_out[1])
-        ,  .`OE(`MPRJ_IO_1_CONN) (io_oeb[1])
+        ,  .`OE(`MPRJ_IO_1_CONN) (oe_1)
 `else /* `ifdef MPRJ_IO_1_IO */
 `ifdef MPRJ_IO_1_I
         ,.`MPRJ_IO_1_CONN ( io_in[1])
@@ -1101,11 +1130,11 @@
         ,.`MPRJ_IO_1_CONN (io_out[1])
 `endif /* `ifdef MPRJ_IO_1_I */
 `endif /* `ifdef MPRJ_IO_1_IO */
-
+    
 `ifdef MPRJ_IO_0_IO
         ,.`IPIN(`MPRJ_IO_0_CONN) ( io_in[0])
         ,.`OPIN(`MPRJ_IO_0_CONN) (io_out[0])
-        ,  .`OE(`MPRJ_IO_0_CONN) (io_oeb[0])
+        ,  .`OE(`MPRJ_IO_0_CONN) (oe_0)
 `else /* `ifdef MPRJ_IO_0_IO */
 `ifdef MPRJ_IO_0_I
         ,.`MPRJ_IO_0_CONN ( io_in[0])
