update macro wrappers and config.tcl
diff --git a/openlane/user_project_wrapper/config.tcl b/openlane/user_project_wrapper/config.tcl
index f47761b..4588029 100755
--- a/openlane/user_project_wrapper/config.tcl
+++ b/openlane/user_project_wrapper/config.tcl
@@ -39,7 +39,7 @@
 
 ## Clock configurations
 set ::env(CLOCK_PORT) "user_clock2"
-set ::env(CLOCK_NET) "mprj.clk"
+set ::env(CLOCK_NET) "user_clock2"
 
 set ::env(CLOCK_PERIOD) "200"
 
@@ -50,15 +50,17 @@
 
 #set ::env(VDD_NETS) [list {vccd1}]
 #set ::env(GND_NETS) [list {vssd1}]
+#set ::env(VDD_NETS) {vccd1 vccd2 vdda1 vdda2}
+#set ::env(GND_NETS) {vssd1 vssd2 vssa1 vssa2}
 #set ::env(VDD_NET) {vccd1}
 #set ::env(VDD_PIN) {vccd1}
 #set ::env(GND_NET) {vssd1}
 #set ::env(GND_PIN) {vssd1}
-#set ::env(FP_PDN_ENABLE_MACROS_GRID) "1"
+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_USE_PG_PINS_DEFINES) "USE_POWER_PINS"
 #set ::env(SYNTH_DEFINES) "USE_POWER_PINS"
 
 # other configurations
@@ -101,7 +103,7 @@
 
 ### Black-box verilog and views
 set ::env(VERILOG_FILES_BLACKBOX) "\
-	$::env(PDK_ROOT)/$::env(PDK)/libs.ref/sky130_sram_macros/verilog/sky130_sram_2kbyte_1rw1r_32x512_8.v \
+	$script_dir/../../verilog/rtl/rtl/components/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 \
@@ -123,7 +125,7 @@
 
 
 # set ::env(GLB_RT_MAXLAYER) 5
-set ::env(RT_MAX_LAYER) {met5}
+set ::env(RT_MAX_LAYER) {met4}
 
 # 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.
diff --git a/verilog/rtl/rtl/axi_node_intf_wrap.v b/verilog/rtl/rtl/axi_node_intf_wrap.v
index c6ecb6f..6c40638 100644
--- a/verilog/rtl/rtl/axi_node_intf_wrap.v
+++ b/verilog/rtl/rtl/axi_node_intf_wrap.v
@@ -1,4 +1,4 @@
-`define USE_POWER_PINS
+//`define USE_POWER_PINS
 
 module axi_node_intf_wrap 
 #(
@@ -280,9 +280,9 @@
 	m02_b_id,
 	m02_b_user,
 	m02_b_ready,
-	m02_b_valid,
-	start_addr_i,
-	end_addr_i
+	m02_b_valid
+//	start_addr_i,
+//	end_addr_i
 );
 	//parameter NB_MASTER = 3;
 	//parameter NB_SLAVE = 3;
@@ -564,8 +564,8 @@
 	input wire [AXI_USER_WIDTH - 1:0] m02_b_user;
 	output wire m02_b_ready;
 	input wire m02_b_valid;
-	input wire [(NB_MASTER * AXI_ADDR_WIDTH) - 1:0] start_addr_i;
-	input wire [(NB_MASTER * AXI_ADDR_WIDTH) - 1:0] end_addr_i;
+//	input wire [(NB_MASTER * AXI_ADDR_WIDTH) - 1:0] start_addr_i;
+//	input wire [(NB_MASTER * AXI_ADDR_WIDTH) - 1:0] end_addr_i;
 	localparam NB_REGION = 1;
 
 	wire [(NB_MASTER * AXI_ID_WIDTH_INIT) - 1:0] s_master_aw_id;
@@ -704,8 +704,8 @@
 	assign s_master_r_user[0+:AXI_USER_WIDTH] = m00_r_user;
 	assign s_master_r_valid[0] = m00_r_valid;
 	assign m00_r_ready = s_master_r_ready[0];
-	assign s_start_addr[0+:AXI_ADDR_WIDTH] = start_addr_i[0+:AXI_ADDR_WIDTH];
-	assign s_end_addr[0+:AXI_ADDR_WIDTH] = end_addr_i[0+:AXI_ADDR_WIDTH];
+//	assign s_start_addr[0+:AXI_ADDR_WIDTH] = start_addr_i[0+:AXI_ADDR_WIDTH];
+//	assign s_end_addr[0+:AXI_ADDR_WIDTH] = end_addr_i[0+:AXI_ADDR_WIDTH];
 	assign m01_aw_id[AXI_ID_WIDTH_INIT - 1:0] = s_master_aw_id[AXI_ID_WIDTH_INIT+:AXI_ID_WIDTH_INIT];
 	assign m01_aw_addr = s_master_aw_addr[AXI_ADDR_WIDTH+:AXI_ADDR_WIDTH];
 	assign m01_aw_len = s_master_aw_len[8+:8];
@@ -750,8 +750,8 @@
 	assign s_master_r_user[AXI_USER_WIDTH+:AXI_USER_WIDTH] = m01_r_user;
 	assign s_master_r_valid[1] = m01_r_valid;
 	assign m01_r_ready = s_master_r_ready[1];
-	assign s_start_addr[AXI_ADDR_WIDTH+:AXI_ADDR_WIDTH] = start_addr_i[AXI_ADDR_WIDTH+:AXI_ADDR_WIDTH];
-	assign s_end_addr[AXI_ADDR_WIDTH+:AXI_ADDR_WIDTH] = end_addr_i[AXI_ADDR_WIDTH+:AXI_ADDR_WIDTH];
+//	assign s_start_addr[AXI_ADDR_WIDTH+:AXI_ADDR_WIDTH] = start_addr_i[AXI_ADDR_WIDTH+:AXI_ADDR_WIDTH];
+//	assign s_end_addr[AXI_ADDR_WIDTH+:AXI_ADDR_WIDTH] = end_addr_i[AXI_ADDR_WIDTH+:AXI_ADDR_WIDTH];
 	assign m02_aw_id[AXI_ID_WIDTH_INIT - 1:0] = s_master_aw_id[2 * AXI_ID_WIDTH_INIT+:AXI_ID_WIDTH_INIT];
 	assign m02_aw_addr = s_master_aw_addr[2 * AXI_ADDR_WIDTH+:AXI_ADDR_WIDTH];
 	assign m02_aw_len = s_master_aw_len[16+:8];
@@ -796,8 +796,8 @@
 	assign s_master_r_user[2 * AXI_USER_WIDTH+:AXI_USER_WIDTH] = m02_r_user;
 	assign s_master_r_valid[2] = m02_r_valid;
 	assign m02_r_ready = s_master_r_ready[2];
-	assign s_start_addr[2 * AXI_ADDR_WIDTH+:AXI_ADDR_WIDTH] = start_addr_i[2 * AXI_ADDR_WIDTH+:AXI_ADDR_WIDTH];
-	assign s_end_addr[2 * AXI_ADDR_WIDTH+:AXI_ADDR_WIDTH] = end_addr_i[2 * AXI_ADDR_WIDTH+:AXI_ADDR_WIDTH];
+//	assign s_start_addr[2 * AXI_ADDR_WIDTH+:AXI_ADDR_WIDTH] = start_addr_i[2 * AXI_ADDR_WIDTH+:AXI_ADDR_WIDTH];
+//	assign s_end_addr[2 * AXI_ADDR_WIDTH+:AXI_ADDR_WIDTH] = end_addr_i[2 * AXI_ADDR_WIDTH+:AXI_ADDR_WIDTH];
 	assign s_slave_aw_id[0+:AXI_ID_WIDTH_TARG] = s00_aw_id[AXI_ID_WIDTH_TARG - 1:0];
 	assign s_slave_aw_addr[0+:AXI_ADDR_WIDTH] = s00_aw_addr;
 	assign s_slave_aw_len[0+:8] = s00_aw_len;
@@ -1035,6 +1035,8 @@
 		.cfg_valid_rule_i(s_valid_rule),
 		.cfg_connectivity_map_i(s_connectivity_map)
 	);
+assign s_start_addr = 96'h1a1000000010000000000000;
+assign s_end_addr = 96'h1a11ffff001fffff000fffff;
 	assign s_valid_rule = 1'sb1;
 	assign s_connectivity_map = 1'sb1;
 endmodule
diff --git a/verilog/rtl/rtl/clk_rst_gen.v b/verilog/rtl/rtl/clk_rst_gen.v
index 4c86e2d..c19e804 100644
--- a/verilog/rtl/rtl/clk_rst_gen.v
+++ b/verilog/rtl/rtl/clk_rst_gen.v
@@ -1,4 +1,4 @@
-`define USE_POWER_PINS
+//`define USE_POWER_PINS
 
 module clk_rst_gen (
 `ifdef USE_POWER_PINS
diff --git a/verilog/rtl/rtl/components/sky130_sram_2kbyte_1rw1r_32x512_8.v b/verilog/rtl/rtl/components/sky130_sram_2kbyte_1rw1r_32x512_8.v
index c4a3e62..b6bb3a1 100644
--- a/verilog/rtl/rtl/components/sky130_sram_2kbyte_1rw1r_32x512_8.v
+++ b/verilog/rtl/rtl/components/sky130_sram_2kbyte_1rw1r_32x512_8.v
@@ -2,7 +2,7 @@
 // Words: 512
 // Word size: 32
 // Write size: 8
-`define USE_POWER_PINS
+//`define USE_POWER_PINS
 module sky130_sram_2kbyte_1rw1r_32x512_8(
 `ifdef USE_POWER_PINS
     vccd1,
diff --git a/verilog/rtl/rtl/mba_core_region.v b/verilog/rtl/rtl/mba_core_region.v
index d6d955f..4e08520 100644
--- a/verilog/rtl/rtl/mba_core_region.v
+++ b/verilog/rtl/rtl/mba_core_region.v
@@ -1,4 +1,4 @@
-`define USE_POWER_PINS
+//`define USE_POWER_PINS
 module mba_core_region 
 #(
     parameter AXI_ADDR_WIDTH       = 32,
diff --git a/verilog/rtl/rtl/peripherals.v b/verilog/rtl/rtl/peripherals.v
index 0658e17..0fd7055 100644
--- a/verilog/rtl/rtl/peripherals.v
+++ b/verilog/rtl/rtl/peripherals.v
@@ -1,4 +1,4 @@
-`define USE_POWER_PINS
+//`define USE_POWER_PINS
 
 module peripherals 
 #(
diff --git a/verilog/rtl/user_project_wrapper.v b/verilog/rtl/user_project_wrapper.v
index a6f406a..ed4a355 100644
--- a/verilog/rtl/user_project_wrapper.v
+++ b/verilog/rtl/user_project_wrapper.v
@@ -460,12 +460,19 @@
 	//////////////////////////////////////////
 	// 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;
+//	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;
+
+	assign io_oeb[37:27] = {11{wb_rst_i}};
+	assign io_out[26:0] = {27{wb_rst_i}}; // does not have effect due to io_oeb
+	assign io_oeb[26:0] = {27{wb_rst_i}};
+	assign wbs_ack_o = wb_rst_i;
+	assign wbs_dat_o = {32{wb_rst_i}};
+	assign la_data_out[63:0] = {64{wb_rst_i}};
 
 
 /*--------------------------------------*/
@@ -481,7 +488,8 @@
 		.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_i(1'b0),
+.scan_i(wb_dat_i[0]),
 		.scan_o(),
 		.scan_en_i(la_data_in[3]),
 		.fll_req_i(cfgreq_fll_int),
@@ -745,7 +753,7 @@
 		.addr0(mba_instr_mem_addr0_o[10:2]),
 		.din0(mba_instr_mem_din0_o),
 		.dout0(mba_instr_mem_dout0_i),
-		.clk1(1'b0),
+		.clk1(wb_dat_i[0]),
 		.csb1(mba_instr_mem_csb1_o),
 		.addr1(mba_instr_mem_addr1_o[10:2]),
 		.dout1()
@@ -764,7 +772,7 @@
 		.addr0(mba_data_mem_addr0_o[10:2]),
 		.din0(mba_data_mem_din0_o),
 		.dout0(mba_data_mem_dout0_i),
-		.clk1(1'b0),
+		.clk1(wb_dat_i[0]),
 		.csb1(mba_data_mem_csb1_o),
 		.addr1(mba_data_mem_addr1_o[10:2]),
 		.dout1()
@@ -845,9 +853,9 @@
 		.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),
+		.spi_sdi1_i(wb_dat_i[0]),
+		.spi_sdi2_i(wb_dat_i[0]),
+		.spi_sdi3_i(wb_dat_i[0]),
 		.slave_aw_addr(slaves_02_aw_addr),
 		.slave_aw_prot(slaves_02_aw_prot),
 		.slave_aw_region(slaves_02_aw_region),
@@ -909,9 +917,9 @@
 		.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),
+		.spi_master_sdi1(wb_dat_i[0]),
+		.spi_master_sdi2(wb_dat_i[0]),
+		.spi_master_sdi3(wb_dat_i[0]),
 		.scl_pad_i(io_in[22]),
 		.scl_pad_o(io_out[28]),
 		.scl_padoen_o(),
@@ -1214,9 +1222,9 @@
 		.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)
+		.s02_b_valid(masters_02_b_valid)
+//		.start_addr_i(96'h1a1000000010000000000000),
+//		.end_addr_i(96'h1a11ffff001fffff000fffff)
 	);