Merge branch 'main' of https://github.com/AmoghLonkar/openram_testchip into main
diff --git a/verilog/rtl/openram_testchip.v b/verilog/rtl/openram_testchip.v
index e46077e..c3622d0 100644
--- a/verilog/rtl/openram_testchip.v
+++ b/verilog/rtl/openram_testchip.v
@@ -20,7 +20,7 @@
 			input         gpio_in,
 			input         gpio_scan,
 			input         gpio_sram_load,
-         input         global_csr,
+			input         global_csb,
 			// SRAM data outputs to be captured
 			input  [`DATA_SIZE-1:0] sram0_data0,
 			input  [`DATA_SIZE-1:0] sram0_data1,
@@ -116,13 +116,13 @@
 
    addr0 = sram_register[`TOTAL_SIZE-`SELECT_SIZE-1:`TOTAL_SIZE-`SELECT_SIZE-`ADDR_SIZE];
    din0 = sram_register[`DATA_SIZE+`PORT_SIZE+`WMASK_SIZE+1:`PORT_SIZE+`WMASK_SIZE+2];
-   csb0_temp = global_csr | sram_register[`PORT_SIZE+`WMASK_SIZE+1];
+   csb0_temp = global_csb | sram_register[`PORT_SIZE+`WMASK_SIZE+1];
    web0 = sram_register[`PORT_SIZE+`WMASK_SIZE];
    wmask0 = sram_register[`PORT_SIZE+`WMASK_SIZE-1:`PORT_SIZE];
 
    addr1 = sram_register[`PORT_SIZE-1:`DATA_SIZE+`WMASK_SIZE+2];
    din1 = sram_register[`DATA_SIZE+`WMASK_SIZE+1:`WMASK_SIZE+2];
-   csb1_temp = global_csr | sram_register[`WMASK_SIZE+1];
+   csb1_temp = global_csb | sram_register[`WMASK_SIZE+1];
    web1 = sram_register[`WMASK_SIZE];
    wmask1 = sram_register[`WMASK_SIZE-1:0];
 end
diff --git a/verilog/rtl/user_project_wrapper.v b/verilog/rtl/user_project_wrapper.v
index 7bfa7e0..90c187a 100644
--- a/verilog/rtl/user_project_wrapper.v
+++ b/verilog/rtl/user_project_wrapper.v
@@ -79,6 +79,7 @@
     output [2:0] user_irq
 );
 
+
    // Shared control/data to the SRAMs
    wire [`ADDR_SIZE-1:0] addr0;
    wire [`DATA_SIZE-1:0] din0;
@@ -92,14 +93,14 @@
    wire [`MAX_CHIPS-1:0]  csb0;
    wire [`MAX_CHIPS-1:0]  csb1;
 
-   wire     in_select = io_in[15];
-   wire     resetn = io_in[14];
-   wire     gpio_clk = io_in[16];
-   wire     gpio_sram_clk = io_in[17];
-   wire     gpio_scan = io_in[18];
-   wire     gpio_sram_load = io_in[19];
-   wire     gpio_in = io_in[20];
-   wire     global_csr = io_in[21];
+   wire     in_select = io_in[16];
+   wire     resetn = io_in[15];
+   wire     gpio_clk = io_in[17];
+   wire     gpio_sram_clk = io_in[18];
+   wire     gpio_scan = io_in[19];
+   wire     gpio_sram_load = io_in[20];
+   wire     global_csb = io_in[21];
+   wire     gpio_in = io_in[22];
    wire     la_clk = la_data_in[127];
    wire     la_in_load = la_data_in[125];
    wire     la_sram_load = la_data_in[124];
@@ -120,27 +121,30 @@
    openram_testchip CONTROL_LOGIC(
 				  .resetn(resetn & wb_rst_i),
 				  .clk(clk),
-              .global_csr(global_csr),
+				  .global_csb(global_csb),
 				  .gpio_scan(gpio_scan),
 				  .gpio_sram_load(gpio_sram_load),
-              .gpio_in(gpio_in),
+				  .gpio_in(gpio_in),
+				  .gpio_out(gpio_out),
+
 				  .la_in_load(la_in_load),
 				  .la_sram_load(la_sram_load),
 				  .la_data_in(la_data_in[111:0]),
 				  .la_data_out(la_data_out[111:0]),
-				  .gpio_out(gpio_out),
 
 				  // Shared control/data to the SRAMs
 				  .addr0(addr0),
 				  .din0(din0),
+				  // One CSB for each SRAM
+				  .csb0(csb0),
 				  .web0(web0),
 				  .wmask0(wmask0),
 				  .addr1(addr1),
+				  .din1(din1),
+				  // One CSB for each SRAM
+				  .csb1(csb1),
 				  .web1(web1),
 				  .wmask1(wmask1),
-				  // One CSB for each SRAM
-				  .csb0(csb0),
-				  .csb1(csb1),
 
 				  // SRAM data outputs to be captured
 				  .sram0_data0(sram0_data0),
@@ -392,113 +396,113 @@
       .din0   ({din0[31:16], 32'd0, din0[15:0]}),
       .dout0  (temp_sram11_dout0)
      );
-   assign sram11_dout0 = {temp_sram11_dout0[64:49], temp_sram11_dout0[15:0]};
+   assign sram11_dout0 = {temp_sram11_dout0[63:49], temp_sram11_dout0[15:0]};
 
-// Hold dout from SRAM
-// clocked by SRAM clk
-reg [`DATA_SIZE-1:0] sram0_data0;
-reg [`DATA_SIZE-1:0] sram0_data1;
-reg [`DATA_SIZE-1:0] sram1_data0;
-reg [`DATA_SIZE-1:0] sram1_data1;
-reg [`DATA_SIZE-1:0] sram2_data0;
-reg [`DATA_SIZE-1:0] sram2_data1;
-reg [`DATA_SIZE-1:0] sram3_data0;
-reg [`DATA_SIZE-1:0] sram3_data1;
-reg [`DATA_SIZE-1:0] sram4_data0;
-reg [`DATA_SIZE-1:0] sram4_data1;
-//reg [`DATA_SIZE-1:0] sram5_data0;
-//reg [`DATA_SIZE-1:0] sram5_data1;
-//reg [`DATA_SIZE-1:0] sram6_data0;
-//reg [`DATA_SIZE-1:0] sram6_data1;
-//reg [`DATA_SIZE-1:0] sram7_data0;
-//reg [`DATA_SIZE-1:0] sram7_data1;
-reg [`DATA_SIZE-1:0] sram8_data0;
-//reg [`DATA_SIZE-1:0] sram8_data1;
-reg [`DATA_SIZE-1:0] sram9_data0;
-//reg [`DATA_SIZE-1:0] sram9_data1;
-reg [`DATA_SIZE-1:0] sram10_data0;
-//reg [`DATA_SIZE-1:0] sram10_data1;
-reg [`DATA_SIZE-1:0] sram11_data0;
-//reg [`DATA_SIZE-1:0] sram11_data1;
-//reg [`DATA_SIZE-1:0] sram12_data0;
-//reg [`DATA_SIZE-1:0] sram12_data1;
-//reg [`DATA_SIZE-1:0] sram13_data0;
-//reg [`DATA_SIZE-1:0] sram13_data1;
-//reg [`DATA_SIZE-1:0] sram14_data0;
-//reg [`DATA_SIZE-1:0] sram14_data1;
-//reg [`DATA_SIZE-1:0] sram15_data0;
-//reg [`DATA_SIZE-1:0] sram15_data1;
+   // Hold dout from SRAM
+   // clocked by SRAM clk
+   reg [`DATA_SIZE-1:0] sram0_data0;
+   reg [`DATA_SIZE-1:0] sram0_data1;
+   reg [`DATA_SIZE-1:0] sram1_data0;
+   reg [`DATA_SIZE-1:0] sram1_data1;
+   reg [`DATA_SIZE-1:0] sram2_data0;
+   reg [`DATA_SIZE-1:0] sram2_data1;
+   reg [`DATA_SIZE-1:0] sram3_data0;
+   reg [`DATA_SIZE-1:0] sram3_data1;
+   reg [`DATA_SIZE-1:0] sram4_data0;
+   reg [`DATA_SIZE-1:0] sram4_data1;
+   //reg [`DATA_SIZE-1:0] sram5_data0;
+   //reg [`DATA_SIZE-1:0] sram5_data1;
+   //reg [`DATA_SIZE-1:0] sram6_data0;
+   //reg [`DATA_SIZE-1:0] sram6_data1;
+   //reg [`DATA_SIZE-1:0] sram7_data0;
+   //reg [`DATA_SIZE-1:0] sram7_data1;
+   reg [`DATA_SIZE-1:0] sram8_data0;
+   //reg [`DATA_SIZE-1:0] sram8_data1;
+   reg [`DATA_SIZE-1:0] sram9_data0;
+   //reg [`DATA_SIZE-1:0] sram9_data1;
+   reg [`DATA_SIZE-1:0] sram10_data0;
+   //reg [`DATA_SIZE-1:0] sram10_data1;
+   reg [`DATA_SIZE-1:0] sram11_data0;
+   //reg [`DATA_SIZE-1:0] sram11_data1;
+   //reg [`DATA_SIZE-1:0] sram12_data0;
+   //reg [`DATA_SIZE-1:0] sram12_data1;
+   //reg [`DATA_SIZE-1:0] sram13_data0;
+   //reg [`DATA_SIZE-1:0] sram13_data1;
+   //reg [`DATA_SIZE-1:0] sram14_data0;
+   //reg [`DATA_SIZE-1:0] sram14_data1;
+   //reg [`DATA_SIZE-1:0] sram15_data0;
+   //reg [`DATA_SIZE-1:0] sram15_data1;
 
-always @(posedge clk) begin
-   if (!resetn) begin
-      sram0_data0 <= 0;
-      sram0_data1 <= 0;
-      sram1_data0 <= 0;
-      sram1_data1 <= 0;
-      sram2_data0 <= 0;
-      sram2_data1 <= 0;
-      sram3_data0 <= 0;
-      sram3_data1 <= 0;
-      sram4_data0 <= 0;
-      sram4_data1 <= 0;
-      // sram5_data0 <= 0;
-      // sram5_data1 <= 0;
-      // sram6_data0 <= 0;
-      // sram6_data1 <= 0;
-      // sram7_data0 <= 0;
-      // sram7_data1 <= 0;
-      sram8_data0 <= 0;
-      //sram8_data1 <= 0;
-      sram9_data0 <= 0;
-      //sram9_data1 <= 0;
-      sram10_data0 <= 0;
-      //sram10_data1 <= 0;
-      sram11_data0 <= 0;
-      //sram11_data1 <= 0;
-      //sram12_data0 <= 0;
-      //sram12_data1 <= 0;
-      //sram13_data0 <= 0;
-      //sram13_data1 <= 0;
-      //sram14_data0 <= 0;
-      //sram14_data1 <= 0;
-      //sram15_data0 <= 0;
-      //sram15_data1 <= 0;
+   always @(posedge clk) begin
+      if (!resetn) begin
+	 sram0_data0 <= 0;
+	 sram0_data1 <= 0;
+	 sram1_data0 <= 0;
+	 sram1_data1 <= 0;
+	 sram2_data0 <= 0;
+	 sram2_data1 <= 0;
+	 sram3_data0 <= 0;
+	 sram3_data1 <= 0;
+	 sram4_data0 <= 0;
+	 sram4_data1 <= 0;
+	 // sram5_data0 <= 0;
+	 // sram5_data1 <= 0;
+	 // sram6_data0 <= 0;
+	 // sram6_data1 <= 0;
+	 // sram7_data0 <= 0;
+	 // sram7_data1 <= 0;
+	 sram8_data0 <= 0;
+	 //sram8_data1 <= 0;
+	 sram9_data0 <= 0;
+	 //sram9_data1 <= 0;
+	 sram10_data0 <= 0;
+	 //sram10_data1 <= 0;
+	 sram11_data0 <= 0;
+	 //sram11_data1 <= 0;
+	 //sram12_data0 <= 0;
+	 //sram12_data1 <= 0;
+	 //sram13_data0 <= 0;
+	 //sram13_data1 <= 0;
+	 //sram14_data0 <= 0;
+	 //sram14_data1 <= 0;
+	 //sram15_data0 <= 0;
+	 //sram15_data1 <= 0;
+      end
+      else begin
+	 sram0_data0 <= sram0_dout0;
+	 sram0_data1 <= sram0_dout1;
+	 sram1_data0 <= sram1_dout0;
+	 sram1_data1 <= sram1_dout1;
+	 sram2_data0 <= sram2_dout0;
+	 sram2_data1 <= sram2_dout1;
+	 sram3_data0 <= sram3_dout0;
+	 sram3_data1 <= sram3_dout1;
+	 sram4_data0 <= sram4_dout0;
+	 sram4_data1 <= sram4_dout1;
+	 // sram5_data0 <= sram5_dout0;
+	 // sram5_data1 <= sram5_dout1;
+	 // sram6_data0 <= sram6_dout0;
+	 // sram6_data1 <= sram6_dout1;
+	 // sram7_data0 <= sram7_dout0;
+	 // sram7_data1 <= sram7_dout1;
+	 sram8_data0 <= sram8_dout0;
+	 // sram8_data1 <= sram8_dout1;
+	 sram9_data0 <= sram9_dout0;
+	 // sram9_data1 <= sram9_dout1;
+	 sram10_data0 <= sram10_dout0;
+	 // sram10_data1 <= sram10_dout1;
+	 sram11_data0 <= sram11_dout0;
+	 // sram11_data1 <= sram11_dout1;
+	 // sram12_data0 <= sram12_dout0;
+	 // sram12_data1 <= sram12_dout1;
+	 // sram13_data0 <= sram13_dout0;
+	 // sram13_data1 <= sram13_dout1;
+	 // sram14_data0 <= sram14_dout0;
+	 // sram14_data1 <= sram14_dout1;
+	 // sram15_data0 <= sram15_dout0;
+	 // sram15_data1 <= sram15_dout1;
+      end
    end
-   else begin
-       sram0_data0 <= sram0_dout0;
-       sram0_data1 <= sram0_dout1;
-       sram1_data0 <= sram1_dout0;
-       sram1_data1 <= sram1_dout1;
-       sram2_data0 <= sram2_dout0;
-       sram2_data1 <= sram2_dout1;
-       sram3_data0 <= sram3_dout0;
-       sram3_data1 <= sram3_dout1;
-       sram4_data0 <= sram4_dout0;
-       sram4_data1 <= sram4_dout1;
-       // sram5_data0 <= sram5_dout0;
-       // sram5_data1 <= sram5_dout1;
-       // sram6_data0 <= sram6_dout0;
-       // sram6_data1 <= sram6_dout1;
-       // sram7_data0 <= sram7_dout0;
-       // sram7_data1 <= sram7_dout1;
-       sram8_data0 <= sram8_dout0;
-       // sram8_data1 <= sram8_dout1;
-       sram9_data0 <= sram9_dout0;
-       // sram9_data1 <= sram9_dout1;
-       sram10_data0 <= sram10_dout0;
-       // sram10_data1 <= sram10_dout1;
-       sram11_data0 <= sram11_dout0;
-       // sram11_data1 <= sram11_dout1;
-       // sram12_data0 <= sram12_dout0;
-       // sram12_data1 <= sram12_dout1;
-       // sram13_data0 <= sram13_dout0;
-       // sram13_data1 <= sram13_dout1;
-       // sram14_data0 <= sram14_dout0;
-       // sram14_data1 <= sram14_dout1;
-       // sram15_data0 <= sram15_dout0;
-       // sram15_data1 <= sram15_dout1;
-   end
-end
 
    wire [`DATA_SIZE-1:0] sram8_data1 = 0;
    wire [`DATA_SIZE-1:0] sram9_data1 = 0;
@@ -511,6 +515,11 @@
    wire [`DATA_SIZE-1:0] sram6_data1 = 0;
    wire [`DATA_SIZE-1:0] sram7_data0 = 0;
    wire [`DATA_SIZE-1:0] sram7_data1 = 0;
+   wire [`DATA_SIZE-1:0] sram7_data1 = 0;
+   wire [`DATA_SIZE-1:0] sram8_data1 = 0;
+   wire [`DATA_SIZE-1:0] sram9_data1 = 0;
+   wire [`DATA_SIZE-1:0] sram10_data1 = 0;
+   wire [`DATA_SIZE-1:0] sram11_data1 = 0;
    wire [`DATA_SIZE-1:0] sram12_data0 = 0;
    wire [`DATA_SIZE-1:0] sram12_data1 = 0;
    wire [`DATA_SIZE-1:0] sram13_data0 = 0;