diff --git a/verilog/rtl/openram_testchip.v b/verilog/rtl/openram_testchip.v
index ee6d6c6..53691f2 100644
--- a/verilog/rtl/openram_testchip.v
+++ b/verilog/rtl/openram_testchip.v
@@ -17,7 +17,7 @@
 			input         la_sram_clk,
 			input         la_in_load, 
 			input         la_sram_load,
-			input  [127:0] la_bits,
+			input  [111:0] la_data_in,
 			// GPIO bit to clock control register
 			input         gpio_clk,
 			input         gpio_in,
@@ -89,7 +89,7 @@
 			output reg sram13_clk,
 			output reg sram14_clk,
 			output reg sram15_clk,
-			output reg [127:0] la_data,
+			output reg [111:0] la_data_in,
 			output reg gpio_out
 );
 
@@ -176,7 +176,7 @@
    end
    // LA parallel load
    else if(la_in_load) begin
-      sram_register <= la_bits;
+      sram_register <= la_data_in;
    end
    // Store results for read out
    else if(gpio_sram_load || la_sram_load) begin
@@ -354,7 +354,7 @@
 // Output logic
 always @ (*) begin
    gpio_out = sram_register[111];
-   la_data = {17'd0, sram_register};
+   la_data_out = {16'd0, sram_register};
 end
 
 endmodule
diff --git a/verilog/rtl/user_project_wrapper.v b/verilog/rtl/user_project_wrapper.v
index 53ece04..a79c290 100644
--- a/verilog/rtl/user_project_wrapper.v
+++ b/verilog/rtl/user_project_wrapper.v
@@ -95,67 +95,175 @@
 wire [31:0] sram4_rw_out;
 wire [63:0] sram5_rw_out;
 
+			
+			
+   
 openram_testchip CONTROL_LOGIC(
-    .la_clk(wb_clk_i),
-    .gpio_clk(io_in[1]),
-    .reset(wb_rst_i),
-    .la_packet(la_data_in[85:0]),
-    .gpio_packet(io_in[2]),
-    .in_select(io_in[3]),
-    .sram0_rw_in(sram0_rw_out),
-    .sram0_ro_in(sram0_ro_out),
-    .sram1_rw_in(sram1_rw_out),
-    .sram1_ro_in(sram1_ro_out),
-    .sram2_rw_in(sram2_rw_out),
-    .sram3_rw_in(sram3_rw_out),
-    .sram4_rw_in(sram4_rw_out),
-    .sram5_rw_in(sram5_rw_out),
-    .sram0_connections(sram0_connections),
-    .sram1_connections(sram1_connections),
-    .sram2_connections(sram2_connections),
-    .sram3_connections(sram3_connections),
-    .sram4_connections(sram4_connections),
-    .sram5_connections(sram5_connections),
-    .la_data(la_data_out[63:0]),
-    .gpio_data(io_out[1])
+			       .reset(wb_rst_i),
+			       .in_select(io_in[0]),
+			       .gpio_clk(io_in[1]),
+			       .gpio_sram_clk(io_in[2]),
+			       .gpio_scan(io_in[3]),
+			       .gpio_sram_load(io_in[4]),
+			       .la_clk(la_data_in[127]),
+			       .la_sram_clk(la_data_in[126]),
+			       .la_in_load(la_data_in[125]),
+			       .la_sram_load(la_data_in[124]),
+			       .la_data_in(la_data_in[111:0]),
+			       .la_data_out(la_data_out[111:0]),
+			       .gpio_out(io_out[0]),
+
+			       // Shared control/data to the SRAMs
+			       .addr0(addr0),
+			       .din0(din0),
+			       .web0(web0),
+			       .wmask0(wmask0),
+			       .addr1(addr1),
+			       .web1(web1),
+			       .wmask1(wmask1),
+			       
+			       // One CSB for each SRAM
+			       .csb0(csb0)
+			       .csb1(csb1)
+			       
+			       // Clocks for each SRAM
+			       .sram0_clk(sram0_clk),
+			       .sram1_clk(sram1_clk),
+			       .sram2_clk(sram2_clk),
+			       .sram3_clk(sram3_clk),
+			       .sram4_clk(sram4_clk),
+			       .sram5_clk(sram5_clk),
+			       .sram6_clk(sram6_clk),
+			       .sram7_clk(sram7_clk),
+			       .sram8_clk(sram8_clk),
+			       .sram9_clk(sram9_clk),
+			       .sram10_clk(sram10_clk),
+			       .sram11_clk(sram11_clk),
+			       .sram12_clk(sram12_clk),
+			       .sram13_clk(sram13_clk),
+			       .sram14_clk(sram14_clk),
+			       .sram15_clk(sram15_clk),
+
+			       // SRAM data outputs to be captured
+			       .sram0_dout0(sram0_dout0),
+			       .sram0_dout1(sram0_dout1),
+			       .sram1_dout0(sram1_dout0),
+			       .sram1_dout1(sram1_dout1),
+			       .sram2_dout0(sram2_dout0),
+			       .sram2_dout1(sram2_dout1),
+			       .sram3_dout0(sram3_dout0),
+			       .sram3_dout1(sram3_dout1),
+			       .sram4_dout0(sram4_dout0),
+			       .sram4_dout1(sram4_dout1),
+			       .sram5_dout0(sram5_dout0),
+			       .sram5_dout1(sram5_dout1),
+			       .sram6_dout0(sram6_dout0),
+			       .sram6_dout1(sram6_dout1),
+			       .sram7_dout0(sram7_dout0),
+			       .sram7_dout1(sram7_dout1),
+			       .sram8_dout0(sram8_dout0),
+			       .sram8_dout1(sram8_dout1),
+			       .sram9_dout0(sram9_dout0),
+			       .sram9_dout1(sram9_dout1),
+			       .sram10_dout0(sram10_dout0),
+			       .sram10_dout1(sram10_dout1),
+			       .sram11_dout0(sram11_dout0),
+			       .sram11_dout1(sram11_dout1),
+			       .sram12_dout0(sram12_dout0),
+			       .sram12_dout1(sram12_dout1),
+			       .sram13_dout0(sram13_dout0),
+			       .sram13_dout1(sram13_dout1),
+			       .sram14_dout0(sram14_dout0),
+			       .sram14_dout1(sram14_dout1),
+			       .sram15_dout0(sram15_dout0),
+			       .sram15_dout1(sram15_dout1),
+			       
+			       
 );
 
+   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 [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;
+   
+
 sky130_sram_1kbyte_1rw1r_32x256_8 SRAM0
      (
-      
      `ifdef USE_POWER_PINS
       .vccd1(vccd1),
       .vssd1(vssd1), 
       `endif
-      .clk0   (sram0_connections[55]),
-      .csb0   (sram0_connections[54]),
-      .web0   (sram0_connections[53]),
-      .wmask0 (sram0_connections[52:49]),
-      .addr0  (sram0_connections[48:41]),
-      .din0   (sram0_connections[40:9]),
-      .dout0  (sram0_rw_out),
-      .clk1   (sram0_connections[55]),
-      .csb1   (sram0_connections[8]),
-      .addr1  (sram0_connections[7:0]),
-      .dout1  (sram0_ro_out));
+      .clk0   (sram0_clk),
+      .csb0   (csb0[0]),
+      .web0   (web0),
+      .wmask0 (wmask0),
+      .addr0  (addr0),
+      .din0   (din0),
+      .dout0  (sram0_dout0),
+      .clk1   (sram0_clk),
+      .csb1   (csb1[0]),
+      .addr1  (addr1),
+      .dout1  (sram0_dout1)
+      );
 
 sky130_sram_1kbyte_1rw1r_32x256_8 SRAM1
      (
-      `ifdef USE_POWER_PINS
+     `ifdef USE_POWER_PINS
       .vccd1(vccd1),
       .vssd1(vssd1), 
       `endif
-      .clk0   (sram1_connections[55]),
-      .csb0   (sram1_connections[54]),
-      .web0   (sram1_connections[53]),
-      .wmask0 (sram1_connections[52:49]),
-      .addr0  (sram1_connections[48:41]),
-      .din0   (sram1_connections[40:9]),
-      .dout0  (sram1_rw_out),
-      .clk1   (sram1_connections[55]),
-      .csb1   (sram1_connections[8]),
-      .addr1  (sram1_connections[7:0]),
-      .dout1  (sram1_ro_out));      
+      .clk0   (sram1_clk),
+      .csb0   (csb0[1]),
+      .web0   (web0),
+      .wmask0 (wmask0),
+      .addr0  (addr0),
+      .din0   (din0),
+      .dout0  (sram1_dout0),
+      .clk1   (sram1_clk),
+      .csb1   (csb1[1]),
+      .addr1  (addr1),
+      .dout1  (sram1_dout1)
+      );
+   
 
 sram_1rw0r0w_32_1024_sky130 SRAM2
     (
@@ -163,13 +271,15 @@
       .vccd1(vccd1),
       .vssd1(vssd1), 
       `endif
-      .clk0   (sram2_connections[48]),
-      .csb0   (sram2_connections[47]),
-      .web0   (sram2_connections[46]),
-      .wmask0 (sram2_connections[45:42]),
-      .addr0  (sram2_connections[41:32]),
-      .din0   (sram2_connections[31:0]),
-      .dout0  (sram2_rw_out)); 
+      .clk0   (sram2_clk),
+      .csb0   (csb0[2]),
+      .web0   (web0),
+      .wmask0 (wmask0),
+      .addr0  (addr0),
+      .din0   (din0),
+      .dout0  (sram2_dout0)
+     );
+   assign sram2_dout1 = 0;
 
 sram_1rw0r0w_32_256_sky130 SRAM3
     (
@@ -177,13 +287,15 @@
       .vccd1(vccd1),
       .vssd1(vssd1), 
       `endif
-      .clk0   (sram3_connections[46]),
-      .csb0   (sram3_connections[45]),
-      .web0   (sram3_connections[44]),
-      .wmask0 (sram3_connections[43:40]),
-      .addr0  (sram3_connections[39:32]),
-      .din0   (sram3_connections[31:0]),
-      .dout0  (sram3_rw_out));
+      .clk0   (sram3_clk),
+      .csb0   (csb0[3]),
+      .web0   (web0),
+      .wmask0 (wmask0),
+      .addr0  (addr0),
+      .din0   (din0),
+      .dout0  (sram3_dout0)
+     );
+   assign sram3_dout1 = 0;
 
 sram_1rw0r0w_32_512_sky130 SRAM4
     (
@@ -191,13 +303,15 @@
       .vccd1(vccd1),
       .vssd1(vssd1), 
       `endif
-      .clk0   (sram4_connections[47]),
-      .csb0   (sram4_connections[46]),
-      .web0   (sram4_connections[45]),
-      .wmask0 (sram4_connections[44:41]),
-      .addr0  (sram4_connections[40:32]),
-      .din0   (sram4_connections[31:0]),
-      .dout0  (sram4_rw_out));
+      .clk0   (sram4_clk),
+      .csb0   (csb0[4]),
+      .web0   (web0),
+      .wmask0 (wmask0),
+      .addr0  (addr0),
+      .din0   (din0),
+      .dout0  (sram4_dout0)
+     );
+   assign sram4_dout1 = 0;
 
 sram_1rw0r0w_64_512_sky130 SRAM5
     (
@@ -205,13 +319,16 @@
       .vccd1(vccd1),
       .vssd1(vssd1), 
       `endif
-      .clk0   (sram5_connections[83]),
-      .csb0   (sram5_connections[82]),
-      .web0   (sram5_connections[81]),
-      .wmask0 (sram5_connections[80:73]),
-      .addr0  (sram5_connections[72:64]),
-      .din0   (sram5_connections[63:0]),
-      .dout0  (sram5_rw_out));
+      .clk0   (sram5_clk),
+      .csb0   (csb0[5]),
+      .web0   (web0),
+      .wmask0 (wmask0),
+      .addr0  (addr0),
+      .din0   (din0),
+      .dout0  (sram5_dout0)
+     );
+   assign sram5_dout1 = 0;
+   
 
 endmodule	// user_project_wrapper
 
