Fix missing gpio_in
diff --git a/verilog/rtl/user_project_wrapper.v b/verilog/rtl/user_project_wrapper.v index 9e5dd1f..9e1fbee 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; @@ -99,6 +100,7 @@ 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]; @@ -122,23 +124,27 @@ .global_csb(global_csb), .gpio_scan(gpio_scan), .gpio_sram_load(gpio_sram_load), + .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), @@ -176,17 +182,6 @@ ); - wire [`ADDR_SIZE-1:0] addr0; - wire [`DATA_SIZE-1:0] din0; - wire web0; - wire [`WMASK_SIZE-1:0] wmask0; - wire [`ADDR_SIZE-1:0] addr1; - wire [`DATA_SIZE-1:0] din1; - wire web1; - wire [`WMASK_SIZE-1:0] wmask1; - wire [`MAX_CHIPS-1:0] csb0; - wire [`MAX_CHIPS-1:0] csb1; - wire [`DATA_SIZE-1:0] sram0_dout0; wire [`DATA_SIZE-1:0] sram0_dout1; wire [`DATA_SIZE-1:0] sram1_dout0; @@ -401,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_dout1 = 0; wire [`DATA_SIZE-1:0] sram9_dout1 = 0; @@ -520,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;