Debug user_project_wrapper verilog
diff --git a/openlane/user_project_wrapper/config.tcl b/openlane/user_project_wrapper/config.tcl
index e224270..f40c1d4 100755
--- a/openlane/user_project_wrapper/config.tcl
+++ b/openlane/user_project_wrapper/config.tcl
@@ -43,6 +43,10 @@
 set ::env(VERILOG_FILES_BLACKBOX) "\
 	$script_dir/../../caravel/verilog/rtl/defines.v \
 	$script_dir/../../verilog/rtl/sky130_sram_1kbyte_1rw1r_32x256_8.v \
+	$script_dir/../../verilog/rtl/sky130_sram_1kbyte_1rw1r_8x1024_8.v \
+	$script_dir/../../verilog/rtl/sky130_sram_2kbyte_1rw1r_32x512_8.v \
+	$script_dir/../../verilog/rtl/sky130_sram_4kbyte_1rw1r_32x1024_8.v \
+	$script_dir/../../verilog/rtl/sky130_sram_8kbyte_1rw1r_32x2048_8.v \
 	$script_dir/../../verilog/rtl/sram_1rw0r0w_32_1024_sky130.v \
 	$script_dir/../../verilog/rtl/sram_1rw0r0w_32_256_sky130.v \
 	$script_dir/../../verilog/rtl/sram_1rw0r0w_32_512_sky130.v \
@@ -51,6 +55,10 @@
 
 set ::env(EXTRA_LEFS) "\
 	$script_dir/../../lef/sky130_sram_1kbyte_1rw1r_32x256_8.lef \
+	$script_dir/../../lef/sky130_sram_1kbyte_1rw1r_8x1024_8.lef \
+	$script_dir/../../lef/sky130_sram_2kbyte_1rw1r_32x512_8.lef \
+	$script_dir/../../lef/sky130_sram_4kbyte_1rw1r_32x1024_8.lef \
+	$script_dir/../../lef/sky130_sram_8kbyte_1rw1r_32x2048_8.lef \
 	$script_dir/../../lef/sram_1rw0r0w_32_1024_sky130.lef \
 	$script_dir/../../lef/sram_1rw0r0w_32_256_sky130.lef \
 	$script_dir/../../lef/sram_1rw0r0w_32_512_sky130.lef \
@@ -59,6 +67,10 @@
 
 set ::env(EXTRA_GDS_FILES) "\
 	$script_dir/../../gds/sky130_sram_1kbyte_1rw1r_32x256_8.gds \
+	$script_dir/../../gds/sky130_sram_1kbyte_1rw1r_8x1024_8.gds \
+	$script_dir/../../gds/sky130_sram_2kbyte_1rw1r_32x512_8.gds \
+	$script_dir/../../gds/sky130_sram_4kbyte_1rw1r_32x1024_8.gds \
+	$script_dir/../../gds/sky130_sram_8kbyte_1rw1r_32x2048_8.gds \
 	$script_dir/../../gds/sram_1rw0r0w_32_1024_sky130.gds \
 	$script_dir/../../gds/sram_1rw0r0w_32_256_sky130.gds \
 	$script_dir/../../gds/sram_1rw0r0w_32_512_sky130.gds \
diff --git a/openlane/user_project_wrapper/macro.cfg b/openlane/user_project_wrapper/macro.cfg
index dcfff1a..906abc8 100644
--- a/openlane/user_project_wrapper/macro.cfg
+++ b/openlane/user_project_wrapper/macro.cfg
@@ -38,14 +38,14 @@
 
 # sram_1rw0r0w_32_512_sky130
 # 476 x 320
-SRAM10 1300 1200
+SRAM10 1300 1200 N
 
 # sram_1rw0r0w_32_1024_sky130
 # 801 x 348
-SRAM9 1300 1500
+SRAM9 1300 1500 N
 
 # sram_1rw0r0w_64_512_sky130
 # 823 x 335
-SRAM8 1300 2300
+SRAM8 1300 2300 N
 
 CONTROL_LOGIC 1300 100 N
diff --git a/verilog/rtl/user_project_wrapper.v b/verilog/rtl/user_project_wrapper.v
index 6f123dc..a58195e 100644
--- a/verilog/rtl/user_project_wrapper.v
+++ b/verilog/rtl/user_project_wrapper.v
@@ -144,17 +144,24 @@
 			       .gpio_out(io_out[21]),
 
 			       // Shared control/data to the SRAMs
-			       .addr0(addr0),
-			       .din0(din0),
-			       .web0(web0),
-			       .wmask0(wmask0),
-			       .addr1(addr1),
-			       .web1(web1),
-			       .wmask1(wmask1),
-			       
+			       .left_addr0(addr0),
+			       .left_din0(din0),
+			       .left_web0(web0),
+			       .left_wmask0(wmask0),
+			       .left_addr1(addr1),
+			       .left_web1(web1),
+			       .left_wmask1(wmask1),
 			       // One CSB for each SRAM
-			       .csb0(csb0)
-			       .csb1(csb1)
+			       .left_csb0(csb0),
+			       .left_csb1(csb1),
+			       
+			       // Shared control/data to the SRAMs
+			       .right_addr0(addr0),
+			       .right_din0(din0),
+			       .right_web0(web0),
+			       .right_wmask0(wmask0),
+			       // One CSB for each SRAM
+			       .right_csb0(csb0),
 			       
 			       // Clocks for each SRAM
 			       .sram0_clk(sram0_clk),
@@ -211,52 +218,58 @@
 			       
 );
 
-   wire [31:0] din0;
-   wire  web0;
-   wire [3:0] wmask0;
-   wire [15:0] addr1;
-   wire [31:0] din1;
-   wire        web1;
-   wire [3:0]  wmask1;
+   wire [`ADDR_SIZE-1:0]  left_addr0;
+   wire [`DATA_SIZE-1:0] left_din0;
+   wire 		 left_web0;
+   wire [`WMASK_SIZE-1:0] left_wmask0;
+   wire [`ADDR_SIZE-1:0]  left_addr1;
+   wire [`DATA_SIZE-1:0]  left_din1;
+   wire 		  left_web1;
+   wire [`WMASK_SIZE-1:0] left_wmask1;
+   wire [`MAX_CHIPS-1:0]  left_csb0;
+   wire [`MAX_CHIPS-1:0]  left_csb1;
 
-   wire [15:0] csb0;
-   wire [15:0] csb1;
-
-   wire [31:0] sram0_dout0;
-   wire [31:0] sram0_dout1;
-   wire [31:0] sram1_dout0;
-   wire [31:0] sram1_dout1;
-   wire [31:0] sram2_dout0;
-   wire [31:0] sram2_dout1;
-   wire [31:0] sram3_dout0;
-   wire [31:0] sram3_dout1;
-   wire [31:0] sram4_dout0;
-   wire [31:0] sram4_dout1;
-   wire [31:0] sram5_dout0;
-   wire [31:0] sram5_dout1;
-   wire [31:0] sram6_dout0;
-   wire [31:0] sram6_dout1;
-   wire [31:0] sram7_dout0;
-   wire [31:0] sram7_dout1;
-   wire [31:0] sram8_dout0;
-   wire [31:0] sram8_dout1;
-   wire [31:0] sram9_dout0;
-   wire [31:0] sram9_dout1;
-   wire [31:0] sram10_dout0;
-   wire [31:0] sram10_dout1;
-   wire [31:0] sram11_dout0;
-   wire [31:0] sram11_dout1;
-   wire [31:0] sram12_dout0;
-   wire [31:0] sram12_dout1;
-   wire [31:0] sram13_dout0;
-   wire [31:0] sram13_dout1;
-   wire [31:0] sram14_dout0;
-   wire [31:0] sram14_dout1;
-   wire [31:0] sram15_dout0;
-   wire [31:0] sram15_dout1;
+   wire [`ADDR_SIZE-1:0]  right_addr0;
+   wire [`DATA_SIZE-1:0] right_din0;
+   wire 		 right_web0;
+   wire [`WMASK_SIZE-1:0] right_wmask0;
+   wire [`MAX_CHIPS-1:0]  right_csb0;
+   
+   wire [`DATA_SIZE-1:0] sram0_dout0;
+   wire [`DATA_SIZE-1:0] sram0_dout1;
+   wire [`DATA_SIZE-1:0] sram1_dout0;
+   wire [`DATA_SIZE-1:0] sram1_dout1;
+   wire [`DATA_SIZE-1:0] sram2_dout0;
+   wire [`DATA_SIZE-1:0] sram2_dout1;
+   wire [`DATA_SIZE-1:0] sram3_dout0;
+   wire [`DATA_SIZE-1:0] sram3_dout1;
+   wire [`DATA_SIZE-1:0] sram4_dout0;
+   wire [`DATA_SIZE-1:0] sram4_dout1;
+   wire [`DATA_SIZE-1:0] sram5_dout0;
+   wire [`DATA_SIZE-1:0] sram5_dout1;
+   wire [`DATA_SIZE-1:0] sram6_dout0;
+   wire [`DATA_SIZE-1:0] sram6_dout1;
+   wire [`DATA_SIZE-1:0] sram7_dout0;
+   wire [`DATA_SIZE-1:0] sram7_dout1;
+   wire [`DATA_SIZE-1:0] sram8_dout0;
+   wire [`DATA_SIZE-1:0] sram8_dout1;
+   wire [`DATA_SIZE-1:0] sram9_dout0;
+   wire [`DATA_SIZE-1:0] sram9_dout1;
+   wire [`DATA_SIZE-1:0] sram10_dout0;
+   wire [`DATA_SIZE-1:0] sram10_dout1;
+   wire [`DATA_SIZE-1:0] sram11_dout0;
+   wire [`DATA_SIZE-1:0] sram11_dout1;
+   wire [`DATA_SIZE-1:0] sram12_dout0;
+   wire [`DATA_SIZE-1:0] sram12_dout1;
+   wire [`DATA_SIZE-1:0] sram13_dout0;
+   wire [`DATA_SIZE-1:0] sram13_dout1;
+   wire [`DATA_SIZE-1:0] sram14_dout0;
+   wire [`DATA_SIZE-1:0] sram14_dout1;
+   wire [`DATA_SIZE-1:0] sram15_dout0;
+   wire [`DATA_SIZE-1:0] sram15_dout1;
 
    // Only io_out[27] is output
-   assgin io_oeb = 1'b1 << 21;
+   assign io_oeb = 1'b1 << 21;
 
 sky130_sram_1kbyte_1rw1r_8x1024_8 SRAM0
      (
@@ -265,19 +278,19 @@
       .vssd1(vssd1), 
       `endif
       .clk0   (sram0_clk),
-      .csb0   (csb0[0]),
-      .web0   (web0),
-      .wmask0 (wmask0),
-      .addr0  (addr0),
-      .din0   (din0),
+      .csb0   (left_csb0[0]),
+      .web0   (left_web0),
+      .wmask0 (left_wmask0),
+      .addr0  (left_addr0),
+      .din0   (left_din0),
       .dout0  (sram0_dout0[7:0]),
       .clk1   (sram0_clk),
-      .csb1   (csb1[0]),
-      .addr1  (addr0),
+      .csb1   (left_csb1[0]),
+      .addr1  (left_addr0),
       .dout1  (sram0_dout1[7:0])
       );
-   assign sram0_dout0[31:8] = 0;
-   assign sram0_dout1[31:8] = 0;
+   assign sram0_dout0[`DATA_SIZE-1:8] = 0;
+   assign sram0_dout1[`DATA_SIZE-1:8] = 0;
    
 sky130_sram_1kbyte_1rw1r_32x256_8 SRAM1
      (
@@ -286,34 +299,34 @@
       .vssd1(vssd1), 
       `endif
       .clk0   (sram1_clk),
-      .csb0   (csb0[1]),
-      .web0   (web0),
-      .wmask0 (wmask0),
-      .addr0  (addr0),
-      .din0   (din0),
+      .csb0   (left_csb0[1]),
+      .web0   (left_web0),
+      .wmask0 (left_wmask0),
+      .addr0  (left_addr0),
+      .din0   (left_din0),
       .dout0  (sram1_dout0),
       .clk1   (sram1_clk),
-      .csb1   (csb1[1]),
-      .addr1  (addr1),
+      .csb1   (left_csb1[1]),
+      .addr1  (left_addr1),
       .dout1  (sram1_dout1)
       );
    
 sky130_sram_2kbyte_1rw1r_32x512_8 SRAM2
-     (p
+     (
      `ifdef USE_POWER_PINS
       .vccd1(vccd1),
       .vssd1(vssd1), 
       `endif
       .clk0   (sram2_clk),
-      .csb0   (csb0[2]),
-      .web0   (web0),
-      .wmask0 (wmask0),
-      .addr0  (addr0),
-      .din0   (din0),
+      .csb0   (left_csb0[2]),
+      .web0   (left_web0),
+      .wmask0 (left_wmask0),
+      .addr0  (left_addr0),
+      .din0   (left_din0),
       .dout0  (sram2_dout0),
       .clk1   (sram2_clk),
-      .csb1   (csb1[2]),
-      .addr1  (addr1),
+      .csb1   (left_csb1[2]),
+      .addr1  (left_addr1),
       .dout1  (sram2_dout1)
       );
 
@@ -324,15 +337,15 @@
       .vssd1(vssd1), 
       `endif
       .clk0   (sram3_clk),
-      .csb0   (csb0[3]),
-      .web0   (web0),
-      .wmask0 (wmask0),
-      .addr0  (addr0),
-      .din0   (din0),
+      .csb0   (left_csb0[3]),
+      .web0   (left_web0),
+      .wmask0 (left_wmask0),
+      .addr0  (left_addr0),
+      .din0   (left_din0),
       .dout0  (sram3_dout0),
       .clk1   (sram3_clk),
-      .csb1   (csb1[3]),
-      .addr1  (addr1),
+      .csb1   (left_csb1[3]),
+      .addr1  (left_addr1),
       .dout1  (sram3_dout1)
       );
    
@@ -343,15 +356,15 @@
       .vssd1(vssd1), 
       `endif
       .clk0   (sram4_clk),
-      .csb0   (csb0[4]),
-      .web0   (web0),
-      .wmask0 (wmask0),
-      .addr0  (addr0),
-      .din0   (din0),
+      .csb0   (left_csb0[4]),
+      .web0   (left_web0),
+      .wmask0 (left_wmask0),
+      .addr0  (left_addr0),
+      .din0   (left_din0),
       .dout0  (sram4_dout0),
       .clk1   (sram4_clk),
-      .csb1   (csb1[4]),
-      .addr1  (addr1),
+      .csb1   (left_csb1[4]),
+      .addr1  (left_addr1),
       .dout1  (sram4_dout1)
       );
 
@@ -385,11 +398,11 @@
       .vssd1(vssd1), 
       `endif
       .clk0   (sram8_clk),
-      .csb0   (csb0[8]),
-      .web0   (web0),
-      .wmask0 (wmask0),
-      .addr0  (addr0),
-      .din0   (din0),
+      .csb0   (right_csb0[8]),
+      .web0   (right_web0),
+      .wmask0 (right_wmask0),
+      .addr0  (right_addr0),
+      .din0   (right_din0),
       .dout0  (sram8_dout0)
      );
    assign sram8_dout1 = 0;
@@ -401,11 +414,11 @@
       .vssd1(vssd1), 
       `endif
       .clk0   (sram9_clk),
-      .csb0   (csb0[9]),
-      .web0   (web0),
-      .wmask0 (wmask0),
-      .addr0  (addr0),
-      .din0   (din0),
+      .csb0   (right_csb0[9]),
+      .web0   (right_web0),
+      .wmask0 (right_wmask0),
+      .addr0  (right_addr0),
+      .din0   (right_din0),
       .dout0  (sram9_dout0)
      );
    assign sram9_dout1 = 0;
@@ -417,11 +430,11 @@
       .vssd1(vssd1), 
       `endif
       .clk0   (sram10_clk),
-      .csb0   (csb0[10]),
-      .web0   (web0),
-      .wmask0 (wmask0),
-      .addr0  (addr0),
-      .din0   (din0),
+      .csb0   (right_csb0[10]),
+      .web0   (right_web0),
+      .wmask0 (right_wmask0),
+      .addr0  (right_addr0),
+      .din0   (right_din0),
       .dout0  (sram10_dout0)
      );
    assign sram10_dout1 = 0;
@@ -433,14 +446,18 @@
       .vssd1(vssd1), 
       `endif
       .clk0   (sram11_clk),
-      .csb0   (csb0[11]),
-      .web0   (web0),
-      .wmask0 (wmask0),
-      .addr0  (addr0),
-      .din0   (din0),
-      .dout0  (sram11_dout0)
+      .csb0   (right_csb0[11]),
+      .web0   (right_web0),
+      .wmask0 (right_wmask0),
+      .addr0  (right_addr0),
+      .din0   ({right_din0[31:16], 32'd0, right_din0[15:0]}),
+      .dout0  (temp_sram11_dout0)
      );
+   
+   wire [`DATA_SIZE-1:0] temp_sram11_dout0;
    assign sram11_dout1 = 0;
+   assign sram11_dout0 = {temp_sram11_dout0[64:33], temp_sram11_dout[15:0]};
+   
    
 
 endmodule	// user_project_wrapper