diff --git a/Makefile b/Makefile
index e318397..3b105a6 100644
--- a/Makefile
+++ b/Makefile
@@ -21,7 +21,8 @@
 SIM?=RTL
 
 export SKYWATER_COMMIT=f70d8ca46961ff92719d8870a18a076370b85f6c
-export OPEN_PDKS_COMMIT?=41c0908b47130d5675ff8484255b43f66463a7d6
+export OPEN_PDKS_COMMIT?=e8294524e5f67c533c5d0c3afa0bcc5b2a5fa066
+#export OPEN_PDKS_COMMIT?=41c0908b47130d5675ff8484255b43f66463a7d6
 export OPENLANE_TAG=2022.07.02_01.38.08
 
 # Install lite version of caravel, (1): caravel-lite, (0): caravel
diff --git a/openlane/core_region/config.tcl b/openlane/core_region/config.tcl
index b713183..2abc415 100755
--- a/openlane/core_region/config.tcl
+++ b/openlane/core_region/config.tcl
@@ -18,7 +18,7 @@
 
 set script_dir [file dirname [file normalize [info script]]]
 
-set ::env(DESIGN_NAME) core_region
+set ::env(DESIGN_NAME) {core_region}
 
 # easier method for VERILOG_FILES
 #set ::env(VERILOG_FILES) [glob $::env(DESIGN_DIR)/src/*.v  $::env(DESIGN_DIR)/src/*.sv]
@@ -322,30 +322,31 @@
     $script_dir/../../verilog/rtl/ips/zero-riscy/include/zeroriscy_config.sv \
     $script_dir/../../verilog/rtl/ips/zero-riscy/include/zeroriscy_defines.sv"
 
-set ::env(DESIGN_IS_CORE) 0
+set ::env(DESIGN_IS_CORE) {0}
 
-set ::env(CLOCK_PORT) "clk"
-set ::env(CLOCK_NET) "core_region.clk"
-set ::env(CLOCK_PERIOD) "200"
+set ::env(CLOCK_PORT) {clk}
+set ::env(CLOCK_NET) {clk}
+set ::env(CLOCK_PERIOD) {200}
 
 set ::env(PL_RESIZER_MAX_SLEW_MARGIN) 40
 set ::env(PL_RESIZER_MAX_CAP_MARGIN) 40
 set ::env(GLB_RESIZER_MAX_SLEW_MARGIN) 40
 
 set ::env(FP_SIZING) absolute
-set ::env(DIE_AREA) "0 0 1800 2400"
+set ::env(DIE_AREA) "0 0 2000 2600"
+#set ::env(FP_SIZING) relative
 
 #set ::env(FP_PIN_ORDER_CFG) $script_dir/pin_order.cfg
 set ::env(SYNTH_STRATEGY) "AREA 0"
 set ::env(PL_BASIC_PLACEMENT) 0
-set ::env(PL_TARGET_DENSITY) 0.20
-set ::env(FP_CORE_UTIL) {20}
+set ::env(PL_TARGET_DENSITY) {0.15}
+set ::env(FP_CORE_UTIL) {15}
 set ::env(PL_MACRO_CHANNEL) {30 30}
 set ::env(PL_MACRO_HALO) {10 10}
 set ::env(CELL_PAD) {4}
 set ::env(GLB_RESIZER_HOLD_MAX_BUFFER_PERCENT) {60}
-set ::env(ROUTING_CORES) {6}
-set ::env(GLB_RT_OVERFLOW_ITERS) {64}
+set ::env(ROUTING_CORES) {8}
+set ::env(GLB_RT_OVERFLOW_ITERS) {50}
 set ::env(GLB_RT_ALLOW_CONGESTION) 1 
 
 
@@ -363,14 +364,15 @@
 set ::env(VDD_NETS) [list {vccd1}]
 set ::env(GND_NETS) [list {vssd1}]
 set ::env(FP_PDN_ENABLE_MACROS_GRID) "1"
-set ::env(FP_PDN_ENABLE_GLOBAL_CONNECTIONS) "1"
+#set ::env(FP_PDN_ENABLE_GLOBAL_CONNECTIONS) "1"
 ### Macro Placement
 set ::env(MACRO_PLACEMENT_CFG) $script_dir/macro.cfg
 set ::env(SYNTH_USE_PG_PINS_DEFINES) "USE_POWER_PINS"
 #set ::env(SYNTH_DEFINES) "USE_POWER_PINS"
 ## Macro PDN Connections
 set ::env(FP_PDN_MACRO_HOOKS) "\
-   open_ram_2k vccd1 vssd1 vccd1 vssd1"
+   data_mem.open_ram_2k vccd1 vssd1 vccd1 vssd1, \
+   instr_mem.sp_ram_wrap_i.open_ram_2k vccd1 vssd1 vccd1 vssd1"
 
 set ::env(DIODE_INSERTION_STRATEGY) 3 
 # If you're going to use multiple power domains, then disable cvc run.
@@ -395,7 +397,6 @@
 
 ### Black-box verilog and views
 set ::env(VERILOG_FILES_BLACKBOX) "\
-	$::env(CARAVEL_ROOT)/verilog/rtl/defines.v \
     $script_dir/../../verilog/rtl/rtl/components/sky130_sram_2kbyte_1rw1r_32x512_8.v"
 #    $script_dir/../../dependencies/pdks/sky130B/libs.ref/sky130_sram_macros/verilog/sky130_sram_2kbyte_1rw1r_32x512_8.v"
 #	/home/mbaykenar/Desktop/pdks/sky130A/libs.ref/sky130_sram_macros/verilog/sky130_sram_2kbyte_1rw1r_32x512_8.v"
@@ -426,4 +427,4 @@
 
 # The following is because there are no std cells in the example wrapper project.
 #set ::env(SYNTH_TOP_LEVEL) 1
-#set ::env(PL_RANDOM_GLB_PLACEMENT) 1
\ No newline at end of file
+#set ::env(PL_RANDOM_GLB_PLACEMENT) 1
diff --git a/openlane/user_project_wrapper/config.tcl b/openlane/user_project_wrapper/config.tcl
index 2b03104..02eb54d 100755
--- a/openlane/user_project_wrapper/config.tcl
+++ b/openlane/user_project_wrapper/config.tcl
@@ -41,29 +41,85 @@
 set ::env(CLOCK_PORT) "user_clock2"
 set ::env(CLOCK_NET) "mprj.clk"
 
-set ::env(CLOCK_PERIOD) "10"
+set ::env(CLOCK_PERIOD) "200"
+
+set ::env(DESIGN_IS_CORE) 1
+set ::env(FP_PDN_CORE_RING) 1
 
 ## Internal Macros
-### Macro PDN Connections
-set ::env(FP_PDN_MACRO_HOOKS) "\
-	mprj vccd1 vssd1 vccd1 vssd1"
 
+set ::env(VDD_NETS) [list {vccd1}]
+set ::env(GND_NETS) [list {vssd1}]
+set ::env(FP_PDN_ENABLE_MACROS_GRID) "1"
+#set ::env(FP_PDN_ENABLE_GLOBAL_CONNECTIONS) "1"
 ### Macro Placement
 set ::env(MACRO_PLACEMENT_CFG) $script_dir/macro.cfg
+set ::env(SYNTH_USE_PG_PINS_DEFINES) "USE_POWER_PINS"
+set ::env(SYNTH_DEFINES) "USE_POWER_PINS"
+
+# other configurations
+set ::env(PL_RESIZER_MAX_SLEW_MARGIN) 40
+set ::env(PL_RESIZER_MAX_CAP_MARGIN) 40
+set ::env(GLB_RESIZER_MAX_SLEW_MARGIN) 40
+set ::env(SYNTH_STRATEGY) "AREA 0"
+#set ::env(PL_BASIC_PLACEMENT) 0
+#set ::env(PL_TARGET_DENSITY) {0.01}
+#set ::env(FP_CORE_UTIL) {1}
+set ::env(CELL_PAD) {4}
+#set ::env(GLB_RESIZER_HOLD_MAX_BUFFER_PERCENT) {60}
+set ::env(ROUTING_CORES) {8}
+set ::env(GLB_RT_OVERFLOW_ITERS) {50}
+set ::env(GLB_RT_ALLOW_CONGESTION) 1 
+
+### Macro PDN Connections
+set ::env(FP_PDN_MACRO_HOOKS) "\
+   core_region_i vccd1 vssd1 vccd1 vssd1, \
+   axi_interconnect_i vccd1 vssd1 vccd1 vssd1, \
+   peripherals_i vccd1 vssd1 vccd1 vssd1, \
+   clk_rst_gen_i vccd1 vssd1 vccd1 vssd1, \
+   instr_ram vccd1 vssd1 vccd1 vssd1, \
+   data_ram vccd1 vssd1 vccd1 vssd1"
+
+#instr_ram 170 2960 N
+#data_ram 1030 2960 N
+#openram 683.1 416.54
+
+set ::env(GRT_OBS) "\
+	li1   170 2960  853.1  3376.54,\
+	met1  170 2960  853.1  3376.54,\
+	met2  170 2960  853.1  3376.54,\
+	met3  170 2960  853.1  3376.54,\
+	li1   1030 2960  1713.1 3376.54,\
+	met1  1030 2960  1713.1 3376.54,\
+	met2  1030 2960  1713.1 3376.54,\
+	met3  1030 2960  1713.1 3376.54,\
+	met5  0 0 2920 3520"
 
 ### Black-box verilog and views
 set ::env(VERILOG_FILES_BLACKBOX) "\
-	$::env(CARAVEL_ROOT)/verilog/rtl/defines.v \
-	$script_dir/../../verilog/rtl/user_proj_example.v"
+	$::env(PDK_ROOT)/$::env(PDK)/libs.ref/sky130_sram_macros/verilog/sky130_sram_2kbyte_1rw1r_32x512_8.v \
+	$script_dir/../../verilog/rtl/rtl/mba_core_region.v \
+	$script_dir/../../verilog/rtl/rtl/clk_rst_gen.v \
+	$script_dir/../../verilog/rtl/rtl/peripherals.v \
+	$script_dir/../../verilog/rtl/rtl/axi_node_intf_wrap.v"
 
 set ::env(EXTRA_LEFS) "\
-	$script_dir/../../lef/user_proj_example.lef"
+	$::env(PDK_ROOT)/$::env(PDK)/libs.ref/sky130_sram_macros/lef/sky130_sram_2kbyte_1rw1r_32x512_8.lef \
+	$script_dir/../../lef/mba_core_region.lef \
+	$script_dir/../../lef/clk_rst_gen.lef \
+	$script_dir/../../lef/peripherals.lef \
+	$script_dir/../../lef/axi_node_intf_wrap.lef"
 
 set ::env(EXTRA_GDS_FILES) "\
-	$script_dir/../../gds/user_proj_example.gds"
+	$::env(PDK_ROOT)/$::env(PDK)/libs.ref/sky130_sram_macros/gds/sky130_sram_2kbyte_1rw1r_32x512_8.gds \
+	$script_dir/../../gds/mba_core_region.gds \
+	$script_dir/../../gds/clk_rst_gen.gds \
+	$script_dir/../../gds/peripherals.gds \
+	$script_dir/../../gds/axi_node_intf_wrap.gds"
+
 
 # set ::env(GLB_RT_MAXLAYER) 5
-set ::env(RT_MAX_LAYER) {met4}
+set ::env(RT_MAX_LAYER) {met5}
 
 # disable pdn check nodes becuase it hangs with multiple power domains.
 # any issue with pdn connections will be flagged with LVS so it is not a critical check.
@@ -71,18 +127,37 @@
 
 # The following is because there are no std cells in the example wrapper project.
 set ::env(SYNTH_TOP_LEVEL) 1
-set ::env(PL_RANDOM_GLB_PLACEMENT) 1
+#set ::env(PL_RANDOM_GLB_PLACEMENT) 1
+#set ::env(PL_RESIZER_DESIGN_OPTIMIZATIONS) 0
+#set ::env(PL_RESIZER_TIMING_OPTIMIZATIONS) 0
+#set ::env(PL_RESIZER_BUFFER_INPUT_PORTS) 0
+#set ::env(PL_RESIZER_BUFFER_OUTPUT_PORTS) 0
+#set ::env(FP_PDN_ENABLE_RAILS) 0
+#set ::env(DIODE_INSERTION_STRATEGY) 0
+#set ::env(FILL_INSERTION) 0
+#set ::env(TAP_DECAP_INSERTION) 0
+#set ::env(CLOCK_TREE_SYNTH) 0
 
+
+
+
+set ::env(PL_RANDOM_GLB_PLACEMENT) 1
 set ::env(PL_RESIZER_DESIGN_OPTIMIZATIONS) 0
 set ::env(PL_RESIZER_TIMING_OPTIMIZATIONS) 0
 set ::env(PL_RESIZER_BUFFER_INPUT_PORTS) 0
 set ::env(PL_RESIZER_BUFFER_OUTPUT_PORTS) 0
-
 set ::env(FP_PDN_ENABLE_RAILS) 0
-
 set ::env(DIODE_INSERTION_STRATEGY) 0
 set ::env(FILL_INSERTION) 0
 set ::env(TAP_DECAP_INSERTION) 0
 set ::env(CLOCK_TREE_SYNTH) 0
+set ::env(QUIT_ON_LVS_ERROR) "1"
+set ::env(QUIT_ON_MAGIC_DRC) "0"
+set ::env(QUIT_ON_NEGATIVE_WNS) "0"
+set ::env(QUIT_ON_SLEW_VIOLATIONS) "0"
+set ::env(QUIT_ON_TIMING_VIOLATIONS) "0"
+set ::env(FP_PDN_IRDROP) "1"
+set ::env(FP_PDN_HORIZONTAL_HALO) "10"
+set ::env(FP_PDN_VERTICAL_HALO) "10"
 
 
diff --git a/openlane/user_project_wrapper/fixed_dont_change/default_wrapper_cfgs.tcl b/openlane/user_project_wrapper/fixed_dont_change/default_wrapper_cfgs.tcl
index 4a4f8a2..71fe572 100644
--- a/openlane/user_project_wrapper/fixed_dont_change/default_wrapper_cfgs.tcl
+++ b/openlane/user_project_wrapper/fixed_dont_change/default_wrapper_cfgs.tcl
@@ -16,9 +16,10 @@
 # THE FOLLOWING SECTIONS CAN BE CHANGED IF NEEDED
 
 # PDN Pitch
-set ::env(FP_PDN_VPITCH) 180
+#set ::env(FP_PDN_VPITCH) 180
+set ::env(FP_PDN_VPITCH) 50
 set ::env(FP_PDN_HPITCH) $::env(FP_PDN_VPITCH)
 
 # PDN Offset 
 set ::env(FP_PDN_VOFFSET) 5
-set ::env(FP_PDN_HOFFSET) $::env(FP_PDN_VOFFSET)
\ No newline at end of file
+set ::env(FP_PDN_HOFFSET) $::env(FP_PDN_VOFFSET)
diff --git a/openlane/user_project_wrapper/macro.cfg b/openlane/user_project_wrapper/macro.cfg
index a7365ab..9ad32e5 100644
--- a/openlane/user_project_wrapper/macro.cfg
+++ b/openlane/user_project_wrapper/macro.cfg
@@ -1 +1,6 @@
-mprj 1175 1690 N
+axi_interconnect_i 300 150 N
+core_region_i 240 1000 N
+peripherals_i 2050 1200 N
+instr_ram 170 2960 N
+data_ram 1030 2960 N
+clk_rst_gen_i 2270 920 N
diff --git a/verilog/rtl/rtl/axi_node_intf_wrap.v b/verilog/rtl/rtl/axi_node_intf_wrap.v
index 6ccf413..c6ecb6f 100644
--- a/verilog/rtl/rtl/axi_node_intf_wrap.v
+++ b/verilog/rtl/rtl/axi_node_intf_wrap.v
@@ -1,3 +1,5 @@
+`define USE_POWER_PINS
+
 module axi_node_intf_wrap 
 #(
     parameter NB_MASTER      = 3,
@@ -8,6 +10,10 @@
     parameter AXI_USER_WIDTH = 0
     )
 (
+`ifdef USE_POWER_PINS
+	vccd1,	// User area 1 1.8V supply
+	vssd1,	// User area 1 digital ground
+`endif
 	clk,
 	rst_n,
 	test_en_i,
@@ -287,6 +293,10 @@
 localparam AXI_ID_WIDTH_TARG = AXI_ID_WIDTH;
 localparam AXI_ID_WIDTH_INIT = AXI_ID_WIDTH_TARG + $clog2(NB_SLAVE);
 	parameter AXI_STRB_WIDTH = AXI_DATA_WIDTH / 8;
+`ifdef USE_POWER_PINS
+	inout wire vccd1;
+	inout wire vssd1;
+`endif
 	input wire clk;
 	input wire rst_n;
 	input wire test_en_i;
diff --git a/verilog/rtl/rtl/clk_rst_gen.v b/verilog/rtl/rtl/clk_rst_gen.v
index d014f65..4c86e2d 100644
--- a/verilog/rtl/rtl/clk_rst_gen.v
+++ b/verilog/rtl/rtl/clk_rst_gen.v
@@ -1,4 +1,10 @@
+`define USE_POWER_PINS
+
 module clk_rst_gen (
+`ifdef USE_POWER_PINS
+	vccd1,	// User area 1 1.8V supply
+	vssd1,	// User area 1 digital ground
+`endif
 	clk_i,
 	rstn_i,
 	clk_sel_i,
@@ -17,6 +23,10 @@
 	clk_o,
 	rstn_o
 );
+`ifdef USE_POWER_PINS
+	inout wire vccd1;
+	inout wire vssd1;
+`endif
 	input wire clk_i;
 	input wire rstn_i;
 	input wire clk_sel_i;
@@ -36,6 +46,10 @@
 	output wire rstn_o;
 	wire clk_fll_int;
 	wire clk_int;
+// MBA START
+wire rstn;
+assign rstn = ~rstn_i;
+// MBA END
 	assign clk_int = clk_i;
 	assign fll_ack_o = fll_req_i;
 	assign fll_r_data_o = 1'b0;
@@ -43,7 +57,10 @@
 	assign scan_o = 1'b0;
 	rstgen i_rst_gen_soc(
 		.clk_i(clk_int),
-		.rst_ni(rstn_i),
+// MBA START
+//		.rst_ni(rstn_i),
+		.rst_ni(rstn),
+// MBA END
 		.test_mode_i(testmode_i),
 		.rst_no(rstn_o),
 		.init_no()
diff --git a/verilog/rtl/rtl/core_region.v b/verilog/rtl/rtl/core_region.v
index 3f1e0a4..e2944bf 100644
--- a/verilog/rtl/rtl/core_region.v
+++ b/verilog/rtl/rtl/core_region.v
@@ -232,8 +232,10 @@
 	//parameter ZERO_RV32M = 1;
 	//parameter ZERO_RV32E = 0;
     parameter AXI_ID_WIDTH   = AXI_ID_MASTER_WIDTH;
+`ifdef USE_POWER_PINS
 	inout wire vccd1;
 	inout wire vssd1;
+`endif
 	input wire clk;
 	input wire rst_n;
 	input wire testmode_i;
@@ -845,6 +847,10 @@
 		.RAM_SIZE(INSTR_RAM_SIZE),
 		.DATA_WIDTH(AXI_DATA_WIDTH)
 	) instr_mem(
+`ifdef USE_POWER_PINS
+	.vccd1(vccd1),	// User area 1 1.8V supply
+	.vssd1(vssd1),	// User area 1 digital ground
+`endif
 		.clk(clk),
 		.rst_n(rst_n),
 		.en_i(instr_mem_en),
diff --git a/verilog/rtl/rtl/instr_ram_wrap.v b/verilog/rtl/rtl/instr_ram_wrap.v
index eb93bda..c82d798 100644
--- a/verilog/rtl/rtl/instr_ram_wrap.v
+++ b/verilog/rtl/rtl/instr_ram_wrap.v
@@ -1,3 +1,4 @@
+`define USE_POWER_PINS
 module instr_ram_wrap 
 #(
     parameter RAM_SIZE   = 32768,                // in bytes
@@ -5,6 +6,10 @@
     parameter DATA_WIDTH = 32
   )
 (
+`ifdef USE_POWER_PINS
+	vccd1,	// User area 1 1.8V supply
+	vssd1,	// User area 1 digital ground
+`endif
 	clk,
 	rst_n,
 	en_i,
@@ -18,6 +23,10 @@
 	//parameter RAM_SIZE = 32768;
 	//parameter ADDR_WIDTH = $clog2(RAM_SIZE) + 1;
 	//parameter DATA_WIDTH = 32;
+`ifdef USE_POWER_PINS
+inout wire vccd1;
+inout wire vssd1;
+`endif
 	input wire clk;
 	input wire rst_n;
 	input wire en_i;
@@ -36,6 +45,10 @@
 		.RAM_SIZE(RAM_SIZE),
 		.DATA_WIDTH(DATA_WIDTH)
 	) sp_ram_wrap_i(
+`ifdef USE_POWER_PINS
+	.vccd1(vccd1),	// User area 1 1.8V supply
+	.vssd1(vssd1),	// User area 1 digital ground
+`endif
 		.clk(clk),
 		.rstn_i(rst_n),
 		.en_i(en_i & ~is_boot),
diff --git a/verilog/rtl/rtl/peripherals.v b/verilog/rtl/rtl/peripherals.v
index f116443..0658e17 100644
--- a/verilog/rtl/rtl/peripherals.v
+++ b/verilog/rtl/rtl/peripherals.v
@@ -1,3 +1,5 @@
+`define USE_POWER_PINS
+
 module peripherals 
 #(
     parameter AXI_ADDR_WIDTH       = 32,
@@ -8,6 +10,10 @@
     parameter ROM_START_ADDR       = 32'h8000
   )
 (
+`ifdef USE_POWER_PINS
+	vccd1,	// User area 1 1.8V supply
+	vssd1,	// User area 1 digital ground
+`endif
 	clk_i,
 	rst_n,
 	axi_spi_master_aw_addr,
@@ -159,8 +165,8 @@
 	fll1_ack_i,
 	fll1_rdata_i,
 	fll1_lock_i,
-	pad_cfg_o,
-	pad_mux_o,
+//	pad_cfg_o,
+//	pad_mux_o,
 	boot_addr_o
 );
 	//parameter AXI_ADDR_WIDTH = 32;
@@ -173,6 +179,10 @@
     parameter AXI_STRB_WIDTH = AXI_DATA_WIDTH/8;
 	parameter APB_ADDR_WIDTH = 32;
     parameter APB_DATA_WIDTH = 32;
+`ifdef USE_POWER_PINS
+	inout wire vccd1;
+	inout wire vssd1;
+`endif
 	input wire clk_i;
 	input wire rst_n;
 	output wire [AXI_ADDR_WIDTH - 1:0] axi_spi_master_aw_addr;
@@ -324,8 +334,8 @@
 	input wire fll1_ack_i;
 	input wire [31:0] fll1_rdata_i;
 	input wire fll1_lock_i;
-	output wire [191:0] pad_cfg_o;
-	output wire [31:0] pad_mux_o;
+//	output wire [191:0] pad_cfg_o;
+//	output wire [31:0] pad_mux_o;
 	output wire [31:0] boot_addr_o;
 	//localparam APB_ADDR_WIDTH = 32;
 	localparam APB_NUM_SLAVES = 8;
@@ -822,9 +832,9 @@
 		.PRDATA(s_soc_ctrl_bus_prdata),
 		.PREADY(s_soc_ctrl_bus_pready),
 		.PSLVERR(s_soc_ctrl_bus_pslverr),
-		.pad_cfg_o(pad_cfg_o),
+		.pad_cfg_o(),
 		.clk_gate_o(peripheral_clock_gate_ctrl),
-		.pad_mux_o(pad_mux_o),
+		.pad_mux_o(),
 		.boot_addr_o(boot_addr_o)
 	);
 	apb2per #(
diff --git a/verilog/rtl/rtl/sp_ram_wrap.v b/verilog/rtl/rtl/sp_ram_wrap.v
index 1f1f365..30d0b95 100644
--- a/verilog/rtl/rtl/sp_ram_wrap.v
+++ b/verilog/rtl/rtl/sp_ram_wrap.v
@@ -24,8 +24,10 @@
 	//parameter RAM_SIZE = 32768;
 	//parameter ADDR_WIDTH = $clog2(RAM_SIZE);
 	//parameter DATA_WIDTH = 32;
+`ifdef USE_POWER_PINS
 inout wire vccd1;
 inout wire vssd1;
+`endif
 	input wire clk;
 	input wire rstn_i;
 	input wire en_i;
diff --git a/verilog/rtl/user_project_wrapper.v b/verilog/rtl/user_project_wrapper.v
index 5ee1cee..4f1fe1d 100644
--- a/verilog/rtl/user_project_wrapper.v
+++ b/verilog/rtl/user_project_wrapper.v
@@ -29,6 +29,15 @@
  *-------------------------------------------------------------
  */
 
+`define AXI_ADDR_WIDTH         32
+`define AXI_DATA_WIDTH         32
+`define AXI_ID_MASTER_WIDTH     2
+`define AXI_ID_SLAVE_WIDTH      4
+`define AXI_USER_WIDTH          1
+`define USE_POWER_PINS          1
+
+
+
 module user_project_wrapper #(
     parameter BITS = 32
 ) (
@@ -78,45 +87,1138 @@
     output [2:0] user_irq
 );
 
+    parameter USE_ZERO_RISCY       = 1;
+    parameter RISCY_RV32F          = 0;
+    parameter ZERO_RV32M           = 1;
+    parameter ZERO_RV32E           = 0;
+
+	parameter AXI_STRB_WIDTH = `AXI_DATA_WIDTH/8;
+	parameter ADDR_WIDTH = 15;
+//	wire clk;	// input 
+`ifdef USE_POWER_PINS
+	wire vccd1;	// inout 
+	wire vssd1;	// inout 
+`endif
+//	wire rst_n;	// input 
+//	wire clk_sel_i;	// input 
+//	wire clk_standalone_i; 	// input
+//	wire testmode_i;	// input 
+//	wire fetch_enable_i;	// input 
+//	wire scan_enable_i;	// input 
+//	wire spi_clk_i;		// input 
+//	wire spi_cs_i;		// input 
+//	wire [1:0] spi_mode_o;	// output 
+//	wire spi_sdo0_o;	// output 
+//	wire spi_sdo1_o;	// output 
+//	wire spi_sdo2_o;	// output 
+//	wire spi_sdo3_o;	// output 
+//	wire spi_sdi0_i;	// input 
+//	wire spi_sdi1_i;	// input 
+//	wire spi_sdi2_i;	// input 
+//	wire spi_sdi3_i;	// input 
+//	wire spi_master_clk_o;	// output 
+//	wire spi_master_csn0_o;	// output 
+//	wire spi_master_csn1_o;	// output 
+//	wire spi_master_csn2_o;	// output 
+//	wire spi_master_csn3_o;	// output 
+//	wire [1:0] spi_master_mode_o;	// output 
+//	wire spi_master_sdo0_o;		// output 
+//	wire spi_master_sdo1_o;		// output 
+//	wire spi_master_sdo2_o;		// output 
+//	wire spi_master_sdo3_o;		// output 
+//	wire spi_master_sdi0_i;		// input 
+//	wire spi_master_sdi1_i;		// input 
+//	wire spi_master_sdi2_i;		// input 
+//	wire spi_master_sdi3_i;		// input 
+//	wire scl_pad_i;			// input 
+//	wire scl_pad_o;			// output 
+//	wire scl_padoen_o;		// output 
+//	wire sda_pad_i;			// input 
+//	wire sda_pad_o;			// output 
+//	wire sda_padoen_o;		// output 
+//	wire uart_tx;			// output 
+//	wire uart_rx;			// input 
+//	wire uart_rts;			// output 
+//	wire uart_dtr;			// output 
+//	wire uart_cts;			// input 
+//	wire uart_dsr;			// input 
+	wire [31:0] gpio_in;		// input 
+	wire [31:0] gpio_out;		// output 
+	wire [31:0] gpio_dir;		// output 
+//	wire tck_i;			// input 
+//	wire trstn_i;			// input 
+//	wire tms_i;			// input 
+//	wire tdi_i;			// input 
+//	wire tdo_o;			// output 
+
+	wire clk_int;
+	wire fetch_enable_int;
+	wire core_busy_int;
+	wire clk_gate_core_int;
+	wire [31:0] irq_to_core_int;
+	wire lock_fll_int;
+	wire cfgreq_fll_int;
+	wire cfgack_fll_int;
+	wire [1:0] cfgad_fll_int;
+	wire [31:0] cfgd_fll_int;
+	wire [31:0] cfgq_fll_int;
+	wire cfgweb_n_fll_int;
+	wire rstn_int;
+	wire [31:0] boot_addr_int;
+	wire [`AXI_ADDR_WIDTH - 1:0] slaves_00_aw_addr;
+	wire [2:0] slaves_00_aw_prot;
+	wire [3:0] slaves_00_aw_region;
+	wire [7:0] slaves_00_aw_len;
+	wire [2:0] slaves_00_aw_size;
+	wire [1:0] slaves_00_aw_burst;
+	wire slaves_00_aw_lock;
+	wire [3:0] slaves_00_aw_cache;
+	wire [3:0] slaves_00_aw_qos;
+	wire [`AXI_ID_SLAVE_WIDTH - 1:0] slaves_00_aw_id;
+	wire [`AXI_USER_WIDTH - 1:0] slaves_00_aw_user;
+	wire slaves_00_aw_ready;
+	wire slaves_00_aw_valid;
+	wire [`AXI_ADDR_WIDTH - 1:0] slaves_00_ar_addr;
+	wire [2:0] slaves_00_ar_prot;
+	wire [3:0] slaves_00_ar_region;
+	wire [7:0] slaves_00_ar_len;
+	wire [2:0] slaves_00_ar_size;
+	wire [1:0] slaves_00_ar_burst;
+	wire slaves_00_ar_lock;
+	wire [3:0] slaves_00_ar_cache;
+	wire [3:0] slaves_00_ar_qos;
+	wire [`AXI_ID_SLAVE_WIDTH - 1:0] slaves_00_ar_id;
+	wire [`AXI_USER_WIDTH - 1:0] slaves_00_ar_user;
+	wire slaves_00_ar_ready;
+	wire slaves_00_ar_valid;
+	wire slaves_00_w_valid;
+	wire [`AXI_DATA_WIDTH - 1:0] slaves_00_w_data;
+	wire [AXI_STRB_WIDTH - 1:0] slaves_00_w_strb;
+	wire [`AXI_USER_WIDTH - 1:0] slaves_00_w_user;
+	wire slaves_00_w_last;
+	wire slaves_00_w_ready;
+	wire [`AXI_DATA_WIDTH - 1:0] slaves_00_r_data;
+	wire [1:0] slaves_00_r_resp;
+	wire slaves_00_r_last;
+	wire [`AXI_ID_SLAVE_WIDTH - 1:0] slaves_00_r_id;
+	wire [`AXI_USER_WIDTH - 1:0] slaves_00_r_user;
+	wire slaves_00_r_ready;
+	wire slaves_00_r_valid;
+	wire [1:0] slaves_00_b_resp;
+	wire [`AXI_ID_SLAVE_WIDTH - 1:0] slaves_00_b_id;
+	wire [`AXI_USER_WIDTH - 1:0] slaves_00_b_user;
+	wire slaves_00_b_ready;
+	wire slaves_00_b_valid;
+	wire [`AXI_ADDR_WIDTH - 1:0] slaves_01_aw_addr;
+	wire [2:0] slaves_01_aw_prot;
+	wire [3:0] slaves_01_aw_region;
+	wire [7:0] slaves_01_aw_len;
+	wire [2:0] slaves_01_aw_size;
+	wire [1:0] slaves_01_aw_burst;
+	wire slaves_01_aw_lock;
+	wire [3:0] slaves_01_aw_cache;
+	wire [3:0] slaves_01_aw_qos;
+	wire [`AXI_ID_SLAVE_WIDTH - 1:0] slaves_01_aw_id;
+	wire [`AXI_USER_WIDTH - 1:0] slaves_01_aw_user;
+	wire slaves_01_aw_ready;
+	wire slaves_01_aw_valid;
+	wire [`AXI_ADDR_WIDTH - 1:0] slaves_01_ar_addr;
+	wire [2:0] slaves_01_ar_prot;
+	wire [3:0] slaves_01_ar_region;
+	wire [7:0] slaves_01_ar_len;
+	wire [2:0] slaves_01_ar_size;
+	wire [1:0] slaves_01_ar_burst;
+	wire slaves_01_ar_lock;
+	wire [3:0] slaves_01_ar_cache;
+	wire [3:0] slaves_01_ar_qos;
+	wire [`AXI_ID_SLAVE_WIDTH - 1:0] slaves_01_ar_id;
+	wire [`AXI_USER_WIDTH - 1:0] slaves_01_ar_user;
+	wire slaves_01_ar_ready;
+	wire slaves_01_ar_valid;
+	wire slaves_01_w_valid;
+	wire [`AXI_DATA_WIDTH - 1:0] slaves_01_w_data;
+	wire [AXI_STRB_WIDTH - 1:0] slaves_01_w_strb;
+	wire [`AXI_USER_WIDTH - 1:0] slaves_01_w_user;
+	wire slaves_01_w_last;
+	wire slaves_01_w_ready;
+	wire [`AXI_DATA_WIDTH - 1:0] slaves_01_r_data;
+	wire [1:0] slaves_01_r_resp;
+	wire slaves_01_r_last;
+	wire [`AXI_ID_SLAVE_WIDTH - 1:0] slaves_01_r_id;
+	wire [`AXI_USER_WIDTH - 1:0] slaves_01_r_user;
+	wire slaves_01_r_ready;
+	wire slaves_01_r_valid;
+	wire [1:0] slaves_01_b_resp;
+	wire [`AXI_ID_SLAVE_WIDTH - 1:0] slaves_01_b_id;
+	wire [`AXI_USER_WIDTH - 1:0] slaves_01_b_user;
+	wire slaves_01_b_ready;
+	wire slaves_01_b_valid;
+	wire [`AXI_ADDR_WIDTH - 1:0] slaves_02_aw_addr;
+	wire [2:0] slaves_02_aw_prot;
+	wire [3:0] slaves_02_aw_region;
+	wire [7:0] slaves_02_aw_len;
+	wire [2:0] slaves_02_aw_size;
+	wire [1:0] slaves_02_aw_burst;
+	wire slaves_02_aw_lock;
+	wire [3:0] slaves_02_aw_cache;
+	wire [3:0] slaves_02_aw_qos;
+	wire [`AXI_ID_SLAVE_WIDTH - 1:0] slaves_02_aw_id;
+	wire [`AXI_USER_WIDTH - 1:0] slaves_02_aw_user;
+	wire slaves_02_aw_ready;
+	wire slaves_02_aw_valid;
+	wire [`AXI_ADDR_WIDTH - 1:0] slaves_02_ar_addr;
+	wire [2:0] slaves_02_ar_prot;
+	wire [3:0] slaves_02_ar_region;
+	wire [7:0] slaves_02_ar_len;
+	wire [2:0] slaves_02_ar_size;
+	wire [1:0] slaves_02_ar_burst;
+	wire slaves_02_ar_lock;
+	wire [3:0] slaves_02_ar_cache;
+	wire [3:0] slaves_02_ar_qos;
+	wire [`AXI_ID_SLAVE_WIDTH - 1:0] slaves_02_ar_id;
+	wire [`AXI_USER_WIDTH - 1:0] slaves_02_ar_user;
+	wire slaves_02_ar_ready;
+	wire slaves_02_ar_valid;
+	wire slaves_02_w_valid;
+	wire [`AXI_DATA_WIDTH - 1:0] slaves_02_w_data;
+	wire [AXI_STRB_WIDTH - 1:0] slaves_02_w_strb;
+	wire [`AXI_USER_WIDTH - 1:0] slaves_02_w_user;
+	wire slaves_02_w_last;
+	wire slaves_02_w_ready;
+	wire [`AXI_DATA_WIDTH - 1:0] slaves_02_r_data;
+	wire [1:0] slaves_02_r_resp;
+	wire slaves_02_r_last;
+	wire [`AXI_ID_SLAVE_WIDTH - 1:0] slaves_02_r_id;
+	wire [`AXI_USER_WIDTH - 1:0] slaves_02_r_user;
+	wire slaves_02_r_ready;
+	wire slaves_02_r_valid;
+	wire [1:0] slaves_02_b_resp;
+	wire [`AXI_ID_SLAVE_WIDTH - 1:0] slaves_02_b_id;
+	wire [`AXI_USER_WIDTH - 1:0] slaves_02_b_user;
+	wire slaves_02_b_ready;
+	wire slaves_02_b_valid;
+	wire [`AXI_ADDR_WIDTH - 1:0] masters_00_aw_addr;
+	wire [2:0] masters_00_aw_prot;
+	wire [3:0] masters_00_aw_region;
+	wire [7:0] masters_00_aw_len;
+	wire [2:0] masters_00_aw_size;
+	wire [1:0] masters_00_aw_burst;
+	wire masters_00_aw_lock;
+	wire [3:0] masters_00_aw_cache;
+	wire [3:0] masters_00_aw_qos;
+	wire [`AXI_ID_MASTER_WIDTH - 1:0] masters_00_aw_id;
+	wire [`AXI_USER_WIDTH - 1:0] masters_00_aw_user;
+	wire masters_00_aw_ready;
+	wire masters_00_aw_valid;
+	wire [`AXI_ADDR_WIDTH - 1:0] masters_00_ar_addr;
+	wire [2:0] masters_00_ar_prot;
+	wire [3:0] masters_00_ar_region;
+	wire [7:0] masters_00_ar_len;
+	wire [2:0] masters_00_ar_size;
+	wire [1:0] masters_00_ar_burst;
+	wire masters_00_ar_lock;
+	wire [3:0] masters_00_ar_cache;
+	wire [3:0] masters_00_ar_qos;
+	wire [`AXI_ID_MASTER_WIDTH - 1:0] masters_00_ar_id;
+	wire [`AXI_USER_WIDTH - 1:0] masters_00_ar_user;
+	wire masters_00_ar_ready;
+	wire masters_00_ar_valid;
+	wire masters_00_w_valid;
+	wire [`AXI_DATA_WIDTH - 1:0] masters_00_w_data;
+	wire [AXI_STRB_WIDTH - 1:0] masters_00_w_strb;
+	wire [`AXI_USER_WIDTH - 1:0] masters_00_w_user;
+	wire masters_00_w_last;
+	wire masters_00_w_ready;
+	wire [`AXI_DATA_WIDTH - 1:0] masters_00_r_data;
+	wire [1:0] masters_00_r_resp;
+	wire masters_00_r_last;
+	wire [`AXI_ID_MASTER_WIDTH - 1:0] masters_00_r_id;
+	wire [`AXI_USER_WIDTH - 1:0] masters_00_r_user;
+	wire masters_00_r_ready;
+	wire masters_00_r_valid;
+	wire [1:0] masters_00_b_resp;
+	wire [`AXI_ID_MASTER_WIDTH - 1:0] masters_00_b_id;
+	wire [`AXI_USER_WIDTH - 1:0] masters_00_b_user;
+	wire masters_00_b_ready;
+	wire masters_00_b_valid;
+	wire [`AXI_ADDR_WIDTH - 1:0] masters_01_aw_addr;
+	wire [2:0] masters_01_aw_prot;
+	wire [3:0] masters_01_aw_region;
+	wire [7:0] masters_01_aw_len;
+	wire [2:0] masters_01_aw_size;
+	wire [1:0] masters_01_aw_burst;
+	wire masters_01_aw_lock;
+	wire [3:0] masters_01_aw_cache;
+	wire [3:0] masters_01_aw_qos;
+	wire [`AXI_ID_MASTER_WIDTH - 1:0] masters_01_aw_id;
+	wire [`AXI_USER_WIDTH - 1:0] masters_01_aw_user;
+	wire masters_01_aw_ready;
+	wire masters_01_aw_valid;
+	wire [`AXI_ADDR_WIDTH - 1:0] masters_01_ar_addr;
+	wire [2:0] masters_01_ar_prot;
+	wire [3:0] masters_01_ar_region;
+	wire [7:0] masters_01_ar_len;
+	wire [2:0] masters_01_ar_size;
+	wire [1:0] masters_01_ar_burst;
+	wire masters_01_ar_lock;
+	wire [3:0] masters_01_ar_cache;
+	wire [3:0] masters_01_ar_qos;
+	wire [`AXI_ID_MASTER_WIDTH - 1:0] masters_01_ar_id;
+	wire [`AXI_USER_WIDTH - 1:0] masters_01_ar_user;
+	wire masters_01_ar_ready;
+	wire masters_01_ar_valid;
+	wire masters_01_w_valid;
+	wire [`AXI_DATA_WIDTH - 1:0] masters_01_w_data;
+	wire [AXI_STRB_WIDTH - 1:0] masters_01_w_strb;
+	wire [`AXI_USER_WIDTH - 1:0] masters_01_w_user;
+	wire masters_01_w_last;
+	wire masters_01_w_ready;
+	wire [`AXI_DATA_WIDTH - 1:0] masters_01_r_data;
+	wire [1:0] masters_01_r_resp;
+	wire masters_01_r_last;
+	wire [`AXI_ID_MASTER_WIDTH - 1:0] masters_01_r_id;
+	wire [`AXI_USER_WIDTH - 1:0] masters_01_r_user;
+	wire masters_01_r_ready;
+	wire masters_01_r_valid;
+	wire [1:0] masters_01_b_resp;
+	wire [`AXI_ID_MASTER_WIDTH - 1:0] masters_01_b_id;
+	wire [`AXI_USER_WIDTH - 1:0] masters_01_b_user;
+	wire masters_01_b_ready;
+	wire masters_01_b_valid;
+	wire [`AXI_ADDR_WIDTH - 1:0] masters_02_aw_addr;
+	wire [2:0] masters_02_aw_prot;
+	wire [3:0] masters_02_aw_region;
+	wire [7:0] masters_02_aw_len;
+	wire [2:0] masters_02_aw_size;
+	wire [1:0] masters_02_aw_burst;
+	wire masters_02_aw_lock;
+	wire [3:0] masters_02_aw_cache;
+	wire [3:0] masters_02_aw_qos;
+	wire [`AXI_ID_MASTER_WIDTH - 1:0] masters_02_aw_id;
+	wire [`AXI_USER_WIDTH - 1:0] masters_02_aw_user;
+	wire masters_02_aw_ready;
+	wire masters_02_aw_valid;
+	wire [`AXI_ADDR_WIDTH - 1:0] masters_02_ar_addr;
+	wire [2:0] masters_02_ar_prot;
+	wire [3:0] masters_02_ar_region;
+	wire [7:0] masters_02_ar_len;
+	wire [2:0] masters_02_ar_size;
+	wire [1:0] masters_02_ar_burst;
+	wire masters_02_ar_lock;
+	wire [3:0] masters_02_ar_cache;
+	wire [3:0] masters_02_ar_qos;
+	wire [`AXI_ID_MASTER_WIDTH - 1:0] masters_02_ar_id;
+	wire [`AXI_USER_WIDTH - 1:0] masters_02_ar_user;
+	wire masters_02_ar_ready;
+	wire masters_02_ar_valid;
+	wire masters_02_w_valid;
+	wire [`AXI_DATA_WIDTH - 1:0] masters_02_w_data;
+	wire [AXI_STRB_WIDTH - 1:0] masters_02_w_strb;
+	wire [`AXI_USER_WIDTH - 1:0] masters_02_w_user;
+	wire masters_02_w_last;
+	wire masters_02_w_ready;
+	wire [`AXI_DATA_WIDTH - 1:0] masters_02_r_data;
+	wire [1:0] masters_02_r_resp;
+	wire masters_02_r_last;
+	wire [`AXI_ID_MASTER_WIDTH - 1:0] masters_02_r_id;
+	wire [`AXI_USER_WIDTH - 1:0] masters_02_r_user;
+	wire masters_02_r_ready;
+	wire masters_02_r_valid;
+	wire [1:0] masters_02_b_resp;
+	wire [`AXI_ID_MASTER_WIDTH - 1:0] masters_02_b_id;
+	wire [`AXI_USER_WIDTH - 1:0] masters_02_b_user;
+	wire masters_02_b_ready;
+	wire masters_02_b_valid;
+	wire debug_req;
+	wire debug_gnt;
+	wire debug_rvalid;
+	wire [ADDR_WIDTH - 1:0] debug_addr;
+	wire debug_we;
+	wire [31:0] debug_wdata;
+	wire [31:0] debug_rdata;
+
+	// MBA START
+	//////////////////////////////////////////
+	// instruction memory port
+	wire mba_instr_mem_csb0_o;
+	wire mba_instr_mem_web0_o;
+ 	wire [3:0] mba_instr_mem_wmask0_o;
+	wire [31:0] mba_instr_mem_addr0_o;
+	wire [31:0] mba_instr_mem_din0_o;
+	wire [31:0] mba_instr_mem_dout0_i;
+	wire mba_instr_mem_csb1_o;
+	wire [31:0] mba_instr_mem_addr1_o;
+	// data memory port
+	wire mba_data_mem_csb0_o;
+	wire mba_data_mem_web0_o;
+	wire [3:0] mba_data_mem_wmask0_o;
+	wire [31:0] mba_data_mem_addr0_o;
+	wire [31:0] mba_data_mem_din0_o;
+	wire [31:0] mba_data_mem_dout0_i;
+	wire mba_data_mem_csb1_o;
+	wire [31:0] mba_data_mem_addr1_o;	
+	//////////////////////////////////////////
+	// MBA END
+
+	assign io_oeb[37:27] = 11'b00000000000;
+	assign io_out[26:0] = 27'b111111111111111111111111111; // does not have effect due to io_oeb
+	assign io_oeb[26:0] = 27'b111111111111111111111111111;
+	assign wbs_ack_o = 1'b0;
+	assign wbs_dat_o = 32'b00000000000000000000000000000000;
+	assign la_data_out[63:0] = 64'b0000000000000000000000000000000000000000000000000000000000000000;
+
+
 /*--------------------------------------*/
 /* User project is instantiated  here   */
 /*--------------------------------------*/
+	clk_rst_gen clk_rst_gen_i(
+	`ifdef USE_POWER_PINS
+		.vccd1(vccd1),	// User area 1 1.8V supply
+		.vssd1(vssd1),	// User area 1 digital ground
+	`endif
+		.clk_i(user_clock2),
+		.rstn_i(wb_rst_i),
+		.clk_sel_i(la_data_in[0]),
+		.clk_standalone_i(la_data_in[1]),
+		.testmode_i(la_data_in[2]),
+		.scan_i(1'b0),
+		.scan_o(),
+		.scan_en_i(la_data_in[3]),
+		.fll_req_i(cfgreq_fll_int),
+		.fll_wrn_i(cfgweb_n_fll_int),
+		.fll_add_i(cfgad_fll_int),
+		.fll_data_i(cfgd_fll_int),
+		.fll_ack_o(cfgack_fll_int),
+		.fll_r_data_o(cfgq_fll_int),
+		.fll_lock_o(lock_fll_int),
+		.clk_o(clk_int),
+		.rstn_o(rstn_int)
+	);
 
-user_proj_example mprj (
+	mba_core_region #(
+		.AXI_ADDR_WIDTH       (`AXI_ADDR_WIDTH     ),
+		.AXI_DATA_WIDTH       (`AXI_DATA_WIDTH     ),
+		.AXI_ID_MASTER_WIDTH  (`AXI_ID_MASTER_WIDTH),
+		.AXI_ID_SLAVE_WIDTH   (`AXI_ID_SLAVE_WIDTH ),
+		.AXI_USER_WIDTH       (`AXI_USER_WIDTH     ),
+		.USE_ZERO_RISCY       ( USE_ZERO_RISCY     ),
+		.RISCY_RV32F          ( RISCY_RV32F        ),
+		.ZERO_RV32M           ( ZERO_RV32M         ),
+		.ZERO_RV32E           ( ZERO_RV32E         )
+	) core_region_i(
+	`ifdef USE_POWER_PINS
+		.vccd1(vccd1),	// User area 1 1.8V supply
+		.vssd1(vssd1),	// User area 1 digital ground
+	`endif
+		.clk(clk_int),
+		.rst_n(rstn_int),
+		.testmode_i(la_data_in[2]),
+		.fetch_enable_i(fetch_enable_int),
+		.irq_i(irq_to_core_int),
+		.core_busy_o(core_busy_int),
+		.clock_gating_i(clk_gate_core_int),
+		.boot_addr_i(boot_addr_int),
+		.core_master_aw_addr(masters_00_aw_addr),
+		.core_master_aw_prot(masters_00_aw_prot),
+		.core_master_aw_region(masters_00_aw_region),
+		.core_master_aw_len(masters_00_aw_len),
+		.core_master_aw_size(masters_00_aw_size),
+		.core_master_aw_burst(masters_00_aw_burst),
+		.core_master_aw_lock(masters_00_aw_lock),
+		.core_master_aw_cache(masters_00_aw_cache),
+		.core_master_aw_qos(masters_00_aw_qos),
+		.core_master_aw_id(masters_00_aw_id),
+		.core_master_aw_user(masters_00_aw_user),
+		.core_master_aw_ready(masters_00_aw_ready),
+		.core_master_aw_valid(masters_00_aw_valid),
+		.core_master_ar_addr(masters_00_ar_addr),
+		.core_master_ar_prot(masters_00_ar_prot),
+		.core_master_ar_region(masters_00_ar_region),
+		.core_master_ar_len(masters_00_ar_len),
+		.core_master_ar_size(masters_00_ar_size),
+		.core_master_ar_burst(masters_00_ar_burst),
+		.core_master_ar_lock(masters_00_ar_lock),
+		.core_master_ar_cache(masters_00_ar_cache),
+		.core_master_ar_qos(masters_00_ar_qos),
+		.core_master_ar_id(masters_00_ar_id),
+		.core_master_ar_user(masters_00_ar_user),
+		.core_master_ar_ready(masters_00_ar_ready),
+		.core_master_ar_valid(masters_00_ar_valid),
+		.core_master_w_valid(masters_00_w_valid),
+		.core_master_w_data(masters_00_w_data),
+		.core_master_w_strb(masters_00_w_strb),
+		.core_master_w_user(masters_00_w_user),
+		.core_master_w_last(masters_00_w_last),
+		.core_master_w_ready(masters_00_w_ready),
+		.core_master_r_data(masters_00_r_data),
+		.core_master_r_resp(masters_00_r_resp),
+		.core_master_r_last(masters_00_r_last),
+		.core_master_r_id(masters_00_r_id),
+		.core_master_r_user(masters_00_r_user),
+		.core_master_r_ready(masters_00_r_ready),
+		.core_master_r_valid(masters_00_r_valid),
+		.core_master_b_resp(masters_00_b_resp),
+		.core_master_b_id(masters_00_b_id),
+		.core_master_b_user(masters_00_b_user),
+		.core_master_b_ready(masters_00_b_ready),
+		.core_master_b_valid(masters_00_b_valid),
+		.dbg_master_aw_addr(masters_01_aw_addr),
+		.dbg_master_aw_prot(masters_01_aw_prot),
+		.dbg_master_aw_region(masters_01_aw_region),
+		.dbg_master_aw_len(masters_01_aw_len),
+		.dbg_master_aw_size(masters_01_aw_size),
+		.dbg_master_aw_burst(masters_01_aw_burst),
+		.dbg_master_aw_lock(masters_01_aw_lock),
+		.dbg_master_aw_cache(masters_01_aw_cache),
+		.dbg_master_aw_qos(masters_01_aw_qos),
+		.dbg_master_aw_id(masters_01_aw_id),
+		.dbg_master_aw_user(masters_01_aw_user),
+		.dbg_master_aw_ready(masters_01_aw_ready),
+		.dbg_master_aw_valid(masters_01_aw_valid),
+		.dbg_master_ar_addr(masters_01_ar_addr),
+		.dbg_master_ar_prot(masters_01_ar_prot),
+		.dbg_master_ar_region(masters_01_ar_region),
+		.dbg_master_ar_len(masters_01_ar_len),
+		.dbg_master_ar_size(masters_01_ar_size),
+		.dbg_master_ar_burst(masters_01_ar_burst),
+		.dbg_master_ar_lock(masters_01_ar_lock),
+		.dbg_master_ar_cache(masters_01_ar_cache),
+		.dbg_master_ar_qos(masters_01_ar_qos),
+		.dbg_master_ar_id(masters_01_ar_id),
+		.dbg_master_ar_user(masters_01_ar_user),
+		.dbg_master_ar_ready(masters_01_ar_ready),
+		.dbg_master_ar_valid(masters_01_ar_valid),
+		.dbg_master_w_valid(masters_01_w_valid),
+		.dbg_master_w_data(masters_01_w_data),
+		.dbg_master_w_strb(masters_01_w_strb),
+		.dbg_master_w_user(masters_01_w_user),
+		.dbg_master_w_last(masters_01_w_last),
+		.dbg_master_w_ready(masters_01_w_ready),
+		.dbg_master_r_data(masters_01_r_data),
+		.dbg_master_r_resp(masters_01_r_resp),
+		.dbg_master_r_last(masters_01_r_last),
+		.dbg_master_r_id(masters_01_r_id),
+		.dbg_master_r_user(masters_01_r_user),
+		.dbg_master_r_ready(masters_01_r_ready),
+		.dbg_master_r_valid(masters_01_r_valid),
+		.dbg_master_b_resp(masters_01_b_resp),
+		.dbg_master_b_id(masters_01_b_id),
+		.dbg_master_b_user(masters_01_b_user),
+		.dbg_master_b_ready(masters_01_b_ready),
+		.dbg_master_b_valid(masters_01_b_valid),
+		.data_slave_aw_addr(slaves_01_aw_addr),
+		.data_slave_aw_prot(slaves_01_aw_prot),
+		.data_slave_aw_region(slaves_01_aw_region),
+		.data_slave_aw_len(slaves_01_aw_len),
+		.data_slave_aw_size(slaves_01_aw_size),
+		.data_slave_aw_burst(slaves_01_aw_burst),
+		.data_slave_aw_lock(slaves_01_aw_lock),
+		.data_slave_aw_cache(slaves_01_aw_cache),
+		.data_slave_aw_qos(slaves_01_aw_qos),
+		.data_slave_aw_id(slaves_01_aw_id),
+		.data_slave_aw_user(slaves_01_aw_user),
+		.data_slave_aw_ready(slaves_01_aw_ready),
+		.data_slave_aw_valid(slaves_01_aw_valid),
+		.data_slave_ar_addr(slaves_01_ar_addr),
+		.data_slave_ar_prot(slaves_01_ar_prot),
+		.data_slave_ar_region(slaves_01_ar_region),
+		.data_slave_ar_len(slaves_01_ar_len),
+		.data_slave_ar_size(slaves_01_ar_size),
+		.data_slave_ar_burst(slaves_01_ar_burst),
+		.data_slave_ar_lock(slaves_01_ar_lock),
+		.data_slave_ar_cache(slaves_01_ar_cache),
+		.data_slave_ar_qos(slaves_01_ar_qos),
+		.data_slave_ar_id(slaves_01_ar_id),
+		.data_slave_ar_user(slaves_01_ar_user),
+		.data_slave_ar_ready(slaves_01_ar_ready),
+		.data_slave_ar_valid(slaves_01_ar_valid),
+		.data_slave_w_valid(slaves_01_w_valid),
+		.data_slave_w_data(slaves_01_w_data),
+		.data_slave_w_strb(slaves_01_w_strb),
+		.data_slave_w_user(slaves_01_w_user),
+		.data_slave_w_last(slaves_01_w_last),
+		.data_slave_w_ready(slaves_01_w_ready),
+		.data_slave_r_data(slaves_01_r_data),
+		.data_slave_r_resp(slaves_01_r_resp),
+		.data_slave_r_last(slaves_01_r_last),
+		.data_slave_r_id(slaves_01_r_id),
+		.data_slave_r_user(slaves_01_r_user),
+		.data_slave_r_ready(slaves_01_r_ready),
+		.data_slave_r_valid(slaves_01_r_valid),
+		.data_slave_b_resp(slaves_01_b_resp),
+		.data_slave_b_id(slaves_01_b_id),
+		.data_slave_b_user(slaves_01_b_user),
+		.data_slave_b_ready(slaves_01_b_ready),
+		.data_slave_b_valid(slaves_01_b_valid),
+		.instr_slave_aw_addr(slaves_00_aw_addr),
+		.instr_slave_aw_prot(slaves_00_aw_prot),
+		.instr_slave_aw_region(slaves_00_aw_region),
+		.instr_slave_aw_len(slaves_00_aw_len),
+		.instr_slave_aw_size(slaves_00_aw_size),
+		.instr_slave_aw_burst(slaves_00_aw_burst),
+		.instr_slave_aw_lock(slaves_00_aw_lock),
+		.instr_slave_aw_cache(slaves_00_aw_cache),
+		.instr_slave_aw_qos(slaves_00_aw_qos),
+		.instr_slave_aw_id(slaves_00_aw_id),
+		.instr_slave_aw_user(slaves_00_aw_user),
+		.instr_slave_aw_ready(slaves_00_aw_ready),
+		.instr_slave_aw_valid(slaves_00_aw_valid),
+		.instr_slave_ar_addr(slaves_00_ar_addr),
+		.instr_slave_ar_prot(slaves_00_ar_prot),
+		.instr_slave_ar_region(slaves_00_ar_region),
+		.instr_slave_ar_len(slaves_00_ar_len),
+		.instr_slave_ar_size(slaves_00_ar_size),
+		.instr_slave_ar_burst(slaves_00_ar_burst),
+		.instr_slave_ar_lock(slaves_00_ar_lock),
+		.instr_slave_ar_cache(slaves_00_ar_cache),
+		.instr_slave_ar_qos(slaves_00_ar_qos),
+		.instr_slave_ar_id(slaves_00_ar_id),
+		.instr_slave_ar_user(slaves_00_ar_user),
+		.instr_slave_ar_ready(slaves_00_ar_ready),
+		.instr_slave_ar_valid(slaves_00_ar_valid),
+		.instr_slave_w_valid(slaves_00_w_valid),
+		.instr_slave_w_data(slaves_00_w_data),
+		.instr_slave_w_strb(slaves_00_w_strb),
+		.instr_slave_w_user(slaves_00_w_user),
+		.instr_slave_w_last(slaves_00_w_last),
+		.instr_slave_w_ready(slaves_00_w_ready),
+		.instr_slave_r_data(slaves_00_r_data),
+		.instr_slave_r_resp(slaves_00_r_resp),
+		.instr_slave_r_last(slaves_00_r_last),
+		.instr_slave_r_id(slaves_00_r_id),
+		.instr_slave_r_user(slaves_00_r_user),
+		.instr_slave_r_ready(slaves_00_r_ready),
+		.instr_slave_r_valid(slaves_00_r_valid),
+		.instr_slave_b_resp(slaves_00_b_resp),
+		.instr_slave_b_id(slaves_00_b_id),
+		.instr_slave_b_user(slaves_00_b_user),
+		.instr_slave_b_ready(slaves_00_b_ready),
+		.instr_slave_b_valid(slaves_00_b_valid),
+		.debug_req(debug_req),
+		.debug_gnt(debug_gnt),
+		.debug_rvalid(debug_rvalid),
+		.debug_addr(debug_addr),
+		.debug_we(debug_we),
+		.debug_wdata(debug_wdata),
+		.debug_rdata(debug_rdata),
+		.tck_i(io_in[12]),
+		.trstn_i(io_in[13]),
+		.tms_i(io_in[14]),
+		.tdi_i(io_in[15]),
+		.tdo_o(io_in[16]),
+	// MBA START
+	//////////////////////////////////////////
+	// instruction memory port
+	.mba_instr_mem_csb0_o(mba_instr_mem_csb0_o),
+	.mba_instr_mem_web0_o(mba_instr_mem_web0_o),
+	.mba_instr_mem_wmask0_o(mba_instr_mem_wmask0_o),
+	.mba_instr_mem_addr0_o(mba_instr_mem_addr0_o),
+	.mba_instr_mem_din0_o(mba_instr_mem_din0_o),
+	.mba_instr_mem_dout0_i(mba_instr_mem_dout0_i),
+	.mba_instr_mem_csb1_o(mba_instr_mem_csb1_o),
+	.mba_instr_mem_addr1_o(mba_instr_mem_addr1_o),
+	// data memory port
+	.mba_data_mem_csb0_o(mba_data_mem_csb0_o),
+	.mba_data_mem_web0_o(mba_data_mem_web0_o),
+	.mba_data_mem_wmask0_o(mba_data_mem_wmask0_o),
+	.mba_data_mem_addr0_o(mba_data_mem_addr0_o),
+	.mba_data_mem_din0_o(mba_data_mem_din0_o),
+	.mba_data_mem_dout0_i(mba_data_mem_dout0_i),
+	.mba_data_mem_csb1_o(mba_data_mem_csb1_o),
+	.mba_data_mem_addr1_o(mba_data_mem_addr1_o)	
+	//////////////////////////////////////////
+	// MBA END
+	);
+
+	// MBA START
+	//////////////////////////////////////////
+	// instruction memory
+	sky130_sram_2kbyte_1rw1r_32x512_8 instr_ram(
+	`ifdef USE_POWER_PINS
+		.vccd1(vccd1),
+		.vssd1(vssd1),
+	`endif
+		.clk0(clk_int),
+		.csb0(mba_instr_mem_csb0_o),
+		.web0(mba_instr_mem_web0_o),
+		.wmask0(mba_instr_mem_wmask0_o),
+		.addr0(mba_instr_mem_addr0_o[10:2]),
+		.din0(mba_instr_mem_din0_o),
+		.dout0(mba_instr_mem_dout0_i),
+		.clk1(1'b0),
+		.csb1(mba_instr_mem_csb1_o),
+		.addr1(mba_instr_mem_addr1_o[10:2]),
+		.dout1()
+	);
+	//////////////////////////////////////////
+	// data memory
+	sky130_sram_2kbyte_1rw1r_32x512_8 data_ram(
+	`ifdef USE_POWER_PINS
+		.vccd1(vccd1),
+		.vssd1(vssd1),
+	`endif
+		.clk0(clk_int),
+		.csb0(mba_data_mem_csb0_o),
+		.web0(mba_data_mem_web0_o),
+		.wmask0(mba_data_mem_wmask0_o),
+		.addr0(mba_data_mem_addr0_o[10:2]),
+		.din0(mba_data_mem_din0_o),
+		.dout0(mba_data_mem_dout0_i),
+		.clk1(1'b0),
+		.csb1(mba_data_mem_csb1_o),
+		.addr1(mba_data_mem_addr1_o[10:2]),
+		.dout1()
+	);
+	//////////////////////////////////////////
+	// MBA END
+
+	peripherals #(
+		.AXI_ADDR_WIDTH     (`AXI_ADDR_WIDTH     ),
+		.AXI_DATA_WIDTH     (`AXI_DATA_WIDTH     ),
+		.AXI_SLAVE_ID_WIDTH (`AXI_ID_SLAVE_WIDTH ),
+		.AXI_MASTER_ID_WIDTH(`AXI_ID_MASTER_WIDTH),
+		.AXI_USER_WIDTH     (`AXI_USER_WIDTH     )
+	) peripherals_i(
 `ifdef USE_POWER_PINS
-	.vccd1(vccd1),	// User area 1 1.8V power
-	.vssd1(vssd1),	// User area 1 digital ground
+		.vccd1(vccd1),
+		.vssd1(vssd1),
 `endif
+		.clk_i(clk_int),
+		.rst_n(rstn_int),
+		.axi_spi_master_aw_addr(masters_02_aw_addr),
+		.axi_spi_master_aw_prot(masters_02_aw_prot),
+		.axi_spi_master_aw_region(masters_02_aw_region),
+		.axi_spi_master_aw_len(masters_02_aw_len),
+		.axi_spi_master_aw_size(masters_02_aw_size),
+		.axi_spi_master_aw_burst(masters_02_aw_burst),
+		.axi_spi_master_aw_lock(masters_02_aw_lock),
+		.axi_spi_master_aw_cache(masters_02_aw_cache),
+		.axi_spi_master_aw_qos(masters_02_aw_qos),
+		.axi_spi_master_aw_id(masters_02_aw_id),
+		.axi_spi_master_aw_user(masters_02_aw_user),
+		.axi_spi_master_aw_ready(masters_02_aw_ready),
+		.axi_spi_master_aw_valid(masters_02_aw_valid),
+		.axi_spi_master_ar_addr(masters_02_ar_addr),
+		.axi_spi_master_ar_prot(masters_02_ar_prot),
+		.axi_spi_master_ar_region(masters_02_ar_region),
+		.axi_spi_master_ar_len(masters_02_ar_len),
+		.axi_spi_master_ar_size(masters_02_ar_size),
+		.axi_spi_master_ar_burst(masters_02_ar_burst),
+		.axi_spi_master_ar_lock(masters_02_ar_lock),
+		.axi_spi_master_ar_cache(masters_02_ar_cache),
+		.axi_spi_master_ar_qos(masters_02_ar_qos),
+		.axi_spi_master_ar_id(masters_02_ar_id),
+		.axi_spi_master_ar_user(masters_02_ar_user),
+		.axi_spi_master_ar_ready(masters_02_ar_ready),
+		.axi_spi_master_ar_valid(masters_02_ar_valid),
+		.axi_spi_master_w_valid(masters_02_w_valid),
+		.axi_spi_master_w_data(masters_02_w_data),
+		.axi_spi_master_w_strb(masters_02_w_strb),
+		.axi_spi_master_w_user(masters_02_w_user),
+		.axi_spi_master_w_last(masters_02_w_last),
+		.axi_spi_master_w_ready(masters_02_w_ready),
+		.axi_spi_master_r_data(masters_02_r_data),
+		.axi_spi_master_r_resp(masters_02_r_resp),
+		.axi_spi_master_r_last(masters_02_r_last),
+		.axi_spi_master_r_id(masters_02_r_id),
+		.axi_spi_master_r_user(masters_02_r_user),
+		.axi_spi_master_r_ready(masters_02_r_ready),
+		.axi_spi_master_r_valid(masters_02_r_valid),
+		.axi_spi_master_b_resp(masters_02_b_resp),
+		.axi_spi_master_b_id(masters_02_b_id),
+		.axi_spi_master_b_user(masters_02_b_user),
+		.axi_spi_master_b_ready(masters_02_b_ready),
+		.axi_spi_master_b_valid(masters_02_b_valid),
+		.debug_req(debug_req),
+		.debug_gnt(debug_gnt),
+		.debug_rvalid(debug_rvalid),
+		.debug_addr(debug_addr),
+		.debug_we(debug_we),
+		.debug_wdata(debug_wdata),
+		.debug_rdata(debug_rdata),
+		.spi_clk_i(io_in[17]),
+		.testmode_i(la_data_in[2]),
+		.spi_cs_i(io_in[18]),
+		.spi_mode_o(io_out[37:36]),
+		.spi_sdo0_o(io_out[35]),
+		.spi_sdo1_o(),
+		.spi_sdo2_o(),
+		.spi_sdo3_o(),
+		.spi_sdi0_i(io_in[19]),
+		.spi_sdi1_i(1'b0),
+		.spi_sdi2_i(1'b0),
+		.spi_sdi3_i(1'b0),
+		.slave_aw_addr(slaves_02_aw_addr),
+		.slave_aw_prot(slaves_02_aw_prot),
+		.slave_aw_region(slaves_02_aw_region),
+		.slave_aw_len(slaves_02_aw_len),
+		.slave_aw_size(slaves_02_aw_size),
+		.slave_aw_burst(slaves_02_aw_burst),
+		.slave_aw_lock(slaves_02_aw_lock),
+		.slave_aw_cache(slaves_02_aw_cache),
+		.slave_aw_qos(slaves_02_aw_qos),
+		.slave_aw_id(slaves_02_aw_id),
+		.slave_aw_user(slaves_02_aw_user),
+		.slave_aw_ready(slaves_02_aw_ready),
+		.slave_aw_valid(slaves_02_aw_valid),
+		.slave_ar_addr(slaves_02_ar_addr),
+		.slave_ar_prot(slaves_02_ar_prot),
+		.slave_ar_region(slaves_02_ar_region),
+		.slave_ar_len(slaves_02_ar_len),
+		.slave_ar_size(slaves_02_ar_size),
+		.slave_ar_burst(slaves_02_ar_burst),
+		.slave_ar_lock(slaves_02_ar_lock),
+		.slave_ar_cache(slaves_02_ar_cache),
+		.slave_ar_qos(slaves_02_ar_qos),
+		.slave_ar_id(slaves_02_ar_id),
+		.slave_ar_user(slaves_02_ar_user),
+		.slave_ar_ready(slaves_02_ar_ready),
+		.slave_ar_valid(slaves_02_ar_valid),
+		.slave_w_valid(slaves_02_w_valid),
+		.slave_w_data(slaves_02_w_data),
+		.slave_w_strb(slaves_02_w_strb),
+		.slave_w_user(slaves_02_w_user),
+		.slave_w_last(slaves_02_w_last),
+		.slave_w_ready(slaves_02_w_ready),
+		.slave_r_data(slaves_02_r_data),
+		.slave_r_resp(slaves_02_r_resp),
+		.slave_r_last(slaves_02_r_last),
+		.slave_r_id(slaves_02_r_id),
+		.slave_r_user(slaves_02_r_user),
+		.slave_r_ready(slaves_02_r_ready),
+		.slave_r_valid(slaves_02_r_valid),
+		.slave_b_resp(slaves_02_b_resp),
+		.slave_b_id(slaves_02_b_id),
+		.slave_b_user(slaves_02_b_user),
+		.slave_b_ready(slaves_02_b_ready),
+		.slave_b_valid(slaves_02_b_valid),
+		.uart_tx(io_out[34]),
+		.uart_rx(io_in[20]),
+		.uart_rts(),
+		.uart_dtr(),
+		.uart_cts(la_data_in[4]),
+		.uart_dsr(la_data_in[5]),
+		.spi_master_clk(io_out[33]),
+		.spi_master_csn0(io_out[32]),
+		.spi_master_csn1(),
+		.spi_master_csn2(),
+		.spi_master_csn3(),
+		.spi_master_mode(io_out[31:30]),
+		.spi_master_sdo0(io_out[29]),
+		.spi_master_sdo1(),
+		.spi_master_sdo2(),
+		.spi_master_sdo3(),
+		.spi_master_sdi0(io_in[21]),
+		.spi_master_sdi1(1'b0),
+		.spi_master_sdi2(1'b0),
+		.spi_master_sdi3(1'b0),
+		.scl_pad_i(io_in[22]),
+		.scl_pad_o(io_out[28]),
+		.scl_padoen_o(),
+		.sda_pad_i(io_in[23]),
+		.sda_pad_o(io_out[27]),
+		.sda_padoen_o(),
+		.gpio_in(la_data_in[38:7]),
+		.gpio_out(la_data_out[95:64]),
+		.gpio_dir(la_data_out[127:96]),
+		.gpio_padcfg(),
+		.core_busy_i(core_busy_int),
+		.irq_o(irq_to_core_int),
+		.fetch_enable_i(la_data_in[6]),
+		.fetch_enable_o(fetch_enable_int),
+		.clk_gate_core_o(clk_gate_core_int),
+		.fll1_req_o(cfgreq_fll_int),
+		.fll1_wrn_o(cfgweb_n_fll_int),
+		.fll1_add_o(cfgad_fll_int),
+		.fll1_wdata_o(cfgd_fll_int),
+		.fll1_ack_i(cfgack_fll_int),
+		.fll1_rdata_i(cfgq_fll_int),
+		.fll1_lock_i(lock_fll_int),
+		.boot_addr_o(boot_addr_int)
+	);
+	axi_node_intf_wrap #(
+		.NB_MASTER(3),
+		.NB_SLAVE(3),
+		.AXI_ADDR_WIDTH(`AXI_ADDR_WIDTH     ),
+		.AXI_DATA_WIDTH(`AXI_DATA_WIDTH     ),
+		.AXI_ID_WIDTH  (`AXI_ID_MASTER_WIDTH),
+		.AXI_USER_WIDTH(`AXI_USER_WIDTH     )
+	) axi_interconnect_i(
+`ifdef USE_POWER_PINS
+		.vccd1(vccd1),
+		.vssd1(vssd1),
+`endif
+		.clk(clk_int),
+		.rst_n(rstn_int),
+		.test_en_i(la_data_in[2]),
+		.m00_aw_addr(slaves_00_aw_addr),
+		.m00_aw_prot(slaves_00_aw_prot),
+		.m00_aw_region(slaves_00_aw_region),
+		.m00_aw_len(slaves_00_aw_len),
+		.m00_aw_size(slaves_00_aw_size),
+		.m00_aw_burst(slaves_00_aw_burst),
+		.m00_aw_lock(slaves_00_aw_lock),
+		.m00_aw_cache(slaves_00_aw_cache),
+		.m00_aw_qos(slaves_00_aw_qos),
+		.m00_aw_id(slaves_00_aw_id),
+		.m00_aw_user(slaves_00_aw_user),
+		.m00_aw_ready(slaves_00_aw_ready),
+		.m00_aw_valid(slaves_00_aw_valid),
+		.m00_ar_addr(slaves_00_ar_addr),
+		.m00_ar_prot(slaves_00_ar_prot),
+		.m00_ar_region(slaves_00_ar_region),
+		.m00_ar_len(slaves_00_ar_len),
+		.m00_ar_size(slaves_00_ar_size),
+		.m00_ar_burst(slaves_00_ar_burst),
+		.m00_ar_lock(slaves_00_ar_lock),
+		.m00_ar_cache(slaves_00_ar_cache),
+		.m00_ar_qos(slaves_00_ar_qos),
+		.m00_ar_id(slaves_00_ar_id),
+		.m00_ar_user(slaves_00_ar_user),
+		.m00_ar_ready(slaves_00_ar_ready),
+		.m00_ar_valid(slaves_00_ar_valid),
+		.m00_w_valid(slaves_00_w_valid),
+		.m00_w_data(slaves_00_w_data),
+		.m00_w_strb(slaves_00_w_strb),
+		.m00_w_user(slaves_00_w_user),
+		.m00_w_last(slaves_00_w_last),
+		.m00_w_ready(slaves_00_w_ready),
+		.m00_r_data(slaves_00_r_data),
+		.m00_r_resp(slaves_00_r_resp),
+		.m00_r_last(slaves_00_r_last),
+		.m00_r_id(slaves_00_r_id),
+		.m00_r_user(slaves_00_r_user),
+		.m00_r_ready(slaves_00_r_ready),
+		.m00_r_valid(slaves_00_r_valid),
+		.m00_b_resp(slaves_00_b_resp),
+		.m00_b_id(slaves_00_b_id),
+		.m00_b_user(slaves_00_b_user),
+		.m00_b_ready(slaves_00_b_ready),
+		.m00_b_valid(slaves_00_b_valid),
+		.m01_aw_addr(slaves_01_aw_addr),
+		.m01_aw_prot(slaves_01_aw_prot),
+		.m01_aw_region(slaves_01_aw_region),
+		.m01_aw_len(slaves_01_aw_len),
+		.m01_aw_size(slaves_01_aw_size),
+		.m01_aw_burst(slaves_01_aw_burst),
+		.m01_aw_lock(slaves_01_aw_lock),
+		.m01_aw_cache(slaves_01_aw_cache),
+		.m01_aw_qos(slaves_01_aw_qos),
+		.m01_aw_id(slaves_01_aw_id),
+		.m01_aw_user(slaves_01_aw_user),
+		.m01_aw_ready(slaves_01_aw_ready),
+		.m01_aw_valid(slaves_01_aw_valid),
+		.m01_ar_addr(slaves_01_ar_addr),
+		.m01_ar_prot(slaves_01_ar_prot),
+		.m01_ar_region(slaves_01_ar_region),
+		.m01_ar_len(slaves_01_ar_len),
+		.m01_ar_size(slaves_01_ar_size),
+		.m01_ar_burst(slaves_01_ar_burst),
+		.m01_ar_lock(slaves_01_ar_lock),
+		.m01_ar_cache(slaves_01_ar_cache),
+		.m01_ar_qos(slaves_01_ar_qos),
+		.m01_ar_id(slaves_01_ar_id),
+		.m01_ar_user(slaves_01_ar_user),
+		.m01_ar_ready(slaves_01_ar_ready),
+		.m01_ar_valid(slaves_01_ar_valid),
+		.m01_w_valid(slaves_01_w_valid),
+		.m01_w_data(slaves_01_w_data),
+		.m01_w_strb(slaves_01_w_strb),
+		.m01_w_user(slaves_01_w_user),
+		.m01_w_last(slaves_01_w_last),
+		.m01_w_ready(slaves_01_w_ready),
+		.m01_r_data(slaves_01_r_data),
+		.m01_r_resp(slaves_01_r_resp),
+		.m01_r_last(slaves_01_r_last),
+		.m01_r_id(slaves_01_r_id),
+		.m01_r_user(slaves_01_r_user),
+		.m01_r_ready(slaves_01_r_ready),
+		.m01_r_valid(slaves_01_r_valid),
+		.m01_b_resp(slaves_01_b_resp),
+		.m01_b_id(slaves_01_b_id),
+		.m01_b_user(slaves_01_b_user),
+		.m01_b_ready(slaves_01_b_ready),
+		.m01_b_valid(slaves_01_b_valid),
+		.m02_aw_addr(slaves_02_aw_addr),
+		.m02_aw_prot(slaves_02_aw_prot),
+		.m02_aw_region(slaves_02_aw_region),
+		.m02_aw_len(slaves_02_aw_len),
+		.m02_aw_size(slaves_02_aw_size),
+		.m02_aw_burst(slaves_02_aw_burst),
+		.m02_aw_lock(slaves_02_aw_lock),
+		.m02_aw_cache(slaves_02_aw_cache),
+		.m02_aw_qos(slaves_02_aw_qos),
+		.m02_aw_id(slaves_02_aw_id),
+		.m02_aw_user(slaves_02_aw_user),
+		.m02_aw_ready(slaves_02_aw_ready),
+		.m02_aw_valid(slaves_02_aw_valid),
+		.m02_ar_addr(slaves_02_ar_addr),
+		.m02_ar_prot(slaves_02_ar_prot),
+		.m02_ar_region(slaves_02_ar_region),
+		.m02_ar_len(slaves_02_ar_len),
+		.m02_ar_size(slaves_02_ar_size),
+		.m02_ar_burst(slaves_02_ar_burst),
+		.m02_ar_lock(slaves_02_ar_lock),
+		.m02_ar_cache(slaves_02_ar_cache),
+		.m02_ar_qos(slaves_02_ar_qos),
+		.m02_ar_id(slaves_02_ar_id),
+		.m02_ar_user(slaves_02_ar_user),
+		.m02_ar_ready(slaves_02_ar_ready),
+		.m02_ar_valid(slaves_02_ar_valid),
+		.m02_w_valid(slaves_02_w_valid),
+		.m02_w_data(slaves_02_w_data),
+		.m02_w_strb(slaves_02_w_strb),
+		.m02_w_user(slaves_02_w_user),
+		.m02_w_last(slaves_02_w_last),
+		.m02_w_ready(slaves_02_w_ready),
+		.m02_r_data(slaves_02_r_data),
+		.m02_r_resp(slaves_02_r_resp),
+		.m02_r_last(slaves_02_r_last),
+		.m02_r_id(slaves_02_r_id),
+		.m02_r_user(slaves_02_r_user),
+		.m02_r_ready(slaves_02_r_ready),
+		.m02_r_valid(slaves_02_r_valid),
+		.m02_b_resp(slaves_02_b_resp),
+		.m02_b_id(slaves_02_b_id),
+		.m02_b_user(slaves_02_b_user),
+		.m02_b_ready(slaves_02_b_ready),
+		.m02_b_valid(slaves_02_b_valid),
+		.s00_aw_addr(masters_00_aw_addr),
+		.s00_aw_prot(masters_00_aw_prot),
+		.s00_aw_region(masters_00_aw_region),
+		.s00_aw_len(masters_00_aw_len),
+		.s00_aw_size(masters_00_aw_size),
+		.s00_aw_burst(masters_00_aw_burst),
+		.s00_aw_lock(masters_00_aw_lock),
+		.s00_aw_cache(masters_00_aw_cache),
+		.s00_aw_qos(masters_00_aw_qos),
+		.s00_aw_id(masters_00_aw_id),
+		.s00_aw_user(masters_00_aw_user),
+		.s00_aw_ready(masters_00_aw_ready),
+		.s00_aw_valid(masters_00_aw_valid),
+		.s00_ar_addr(masters_00_ar_addr),
+		.s00_ar_prot(masters_00_ar_prot),
+		.s00_ar_region(masters_00_ar_region),
+		.s00_ar_len(masters_00_ar_len),
+		.s00_ar_size(masters_00_ar_size),
+		.s00_ar_burst(masters_00_ar_burst),
+		.s00_ar_lock(masters_00_ar_lock),
+		.s00_ar_cache(masters_00_ar_cache),
+		.s00_ar_qos(masters_00_ar_qos),
+		.s00_ar_id(masters_00_ar_id),
+		.s00_ar_user(masters_00_ar_user),
+		.s00_ar_ready(masters_00_ar_ready),
+		.s00_ar_valid(masters_00_ar_valid),
+		.s00_w_valid(masters_00_w_valid),
+		.s00_w_data(masters_00_w_data),
+		.s00_w_strb(masters_00_w_strb),
+		.s00_w_user(masters_00_w_user),
+		.s00_w_last(masters_00_w_last),
+		.s00_w_ready(masters_00_w_ready),
+		.s00_r_data(masters_00_r_data),
+		.s00_r_resp(masters_00_r_resp),
+		.s00_r_last(masters_00_r_last),
+		.s00_r_id(masters_00_r_id),
+		.s00_r_user(masters_00_r_user),
+		.s00_r_ready(masters_00_r_ready),
+		.s00_r_valid(masters_00_r_valid),
+		.s00_b_resp(masters_00_b_resp),
+		.s00_b_id(masters_00_b_id),
+		.s00_b_user(masters_00_b_user),
+		.s00_b_ready(masters_00_b_ready),
+		.s00_b_valid(masters_00_b_valid),
+		.s01_aw_addr(masters_01_aw_addr),
+		.s01_aw_prot(masters_01_aw_prot),
+		.s01_aw_region(masters_01_aw_region),
+		.s01_aw_len(masters_01_aw_len),
+		.s01_aw_size(masters_01_aw_size),
+		.s01_aw_burst(masters_01_aw_burst),
+		.s01_aw_lock(masters_01_aw_lock),
+		.s01_aw_cache(masters_01_aw_cache),
+		.s01_aw_qos(masters_01_aw_qos),
+		.s01_aw_id(masters_01_aw_id),
+		.s01_aw_user(masters_01_aw_user),
+		.s01_aw_ready(masters_01_aw_ready),
+		.s01_aw_valid(masters_01_aw_valid),
+		.s01_ar_addr(masters_01_ar_addr),
+		.s01_ar_prot(masters_01_ar_prot),
+		.s01_ar_region(masters_01_ar_region),
+		.s01_ar_len(masters_01_ar_len),
+		.s01_ar_size(masters_01_ar_size),
+		.s01_ar_burst(masters_01_ar_burst),
+		.s01_ar_lock(masters_01_ar_lock),
+		.s01_ar_cache(masters_01_ar_cache),
+		.s01_ar_qos(masters_01_ar_qos),
+		.s01_ar_id(masters_01_ar_id),
+		.s01_ar_user(masters_01_ar_user),
+		.s01_ar_ready(masters_01_ar_ready),
+		.s01_ar_valid(masters_01_ar_valid),
+		.s01_w_valid(masters_01_w_valid),
+		.s01_w_data(masters_01_w_data),
+		.s01_w_strb(masters_01_w_strb),
+		.s01_w_user(masters_01_w_user),
+		.s01_w_last(masters_01_w_last),
+		.s01_w_ready(masters_01_w_ready),
+		.s01_r_data(masters_01_r_data),
+		.s01_r_resp(masters_01_r_resp),
+		.s01_r_last(masters_01_r_last),
+		.s01_r_id(masters_01_r_id),
+		.s01_r_user(masters_01_r_user),
+		.s01_r_ready(masters_01_r_ready),
+		.s01_r_valid(masters_01_r_valid),
+		.s01_b_resp(masters_01_b_resp),
+		.s01_b_id(masters_01_b_id),
+		.s01_b_user(masters_01_b_user),
+		.s01_b_ready(masters_01_b_ready),
+		.s01_b_valid(masters_01_b_valid),
+		.s02_aw_addr(masters_02_aw_addr),
+		.s02_aw_prot(masters_02_aw_prot),
+		.s02_aw_region(masters_02_aw_region),
+		.s02_aw_len(masters_02_aw_len),
+		.s02_aw_size(masters_02_aw_size),
+		.s02_aw_burst(masters_02_aw_burst),
+		.s02_aw_lock(masters_02_aw_lock),
+		.s02_aw_cache(masters_02_aw_cache),
+		.s02_aw_qos(masters_02_aw_qos),
+		.s02_aw_id(masters_02_aw_id),
+		.s02_aw_user(masters_02_aw_user),
+		.s02_aw_ready(masters_02_aw_ready),
+		.s02_aw_valid(masters_02_aw_valid),
+		.s02_ar_addr(masters_02_ar_addr),
+		.s02_ar_prot(masters_02_ar_prot),
+		.s02_ar_region(masters_02_ar_region),
+		.s02_ar_len(masters_02_ar_len),
+		.s02_ar_size(masters_02_ar_size),
+		.s02_ar_burst(masters_02_ar_burst),
+		.s02_ar_lock(masters_02_ar_lock),
+		.s02_ar_cache(masters_02_ar_cache),
+		.s02_ar_qos(masters_02_ar_qos),
+		.s02_ar_id(masters_02_ar_id),
+		.s02_ar_user(masters_02_ar_user),
+		.s02_ar_ready(masters_02_ar_ready),
+		.s02_ar_valid(masters_02_ar_valid),
+		.s02_w_valid(masters_02_w_valid),
+		.s02_w_data(masters_02_w_data),
+		.s02_w_strb(masters_02_w_strb),
+		.s02_w_user(masters_02_w_user),
+		.s02_w_last(masters_02_w_last),
+		.s02_w_ready(masters_02_w_ready),
+		.s02_r_data(masters_02_r_data),
+		.s02_r_resp(masters_02_r_resp),
+		.s02_r_last(masters_02_r_last),
+		.s02_r_id(masters_02_r_id),
+		.s02_r_user(masters_02_r_user),
+		.s02_r_ready(masters_02_r_ready),
+		.s02_r_valid(masters_02_r_valid),
+		.s02_b_resp(masters_02_b_resp),
+		.s02_b_id(masters_02_b_id),
+		.s02_b_user(masters_02_b_user),
+		.s02_b_ready(masters_02_b_ready),
+		.s02_b_valid(masters_02_b_valid),
+		.start_addr_i(96'h1a1000000010000000000000),
+		.end_addr_i(96'h1a11ffff001fffff000fffff)
+	);
 
-    .wb_clk_i(wb_clk_i),
-    .wb_rst_i(wb_rst_i),
-
-    // MGMT SoC Wishbone Slave
-
-    .wbs_cyc_i(wbs_cyc_i),
-    .wbs_stb_i(wbs_stb_i),
-    .wbs_we_i(wbs_we_i),
-    .wbs_sel_i(wbs_sel_i),
-    .wbs_adr_i(wbs_adr_i),
-    .wbs_dat_i(wbs_dat_i),
-    .wbs_ack_o(wbs_ack_o),
-    .wbs_dat_o(wbs_dat_o),
-
-    // Logic Analyzer
-
-    .la_data_in(la_data_in),
-    .la_data_out(la_data_out),
-    .la_oenb (la_oenb),
-
-    // IO Pads
-
-    .io_in (io_in),
-    .io_out(io_out),
-    .io_oeb(io_oeb),
-
-    // IRQ
-    .irq(user_irq)
-);
 
 endmodule	// user_project_wrapper
 
