Update
diff --git a/verilog/dv/BrqRV_EB1/BrqRV_EB1_tb.v b/verilog/dv/BrqRV_EB1/BrqRV_EB1_tb.v index f48916d..e973ddd 100644 --- a/verilog/dv/BrqRV_EB1/BrqRV_EB1_tb.v +++ b/verilog/dv/BrqRV_EB1/BrqRV_EB1_tb.v
@@ -91,7 +91,7 @@ wait(mprj_io_0 == 28'd30); */ // Observe Output pins [35:8] for mean & Determinant - //wait(mprj_io_0 == 28'd5); + wait(mprj_io_0 == 28'd5); // Observe Output pins [35:8] for power //wait(mprj_io_0 == 28'd64); @@ -100,9 +100,9 @@ //wait(mprj_io_0 == 28'd4889874); // Observe Output pins [35:8] for Queue - wait(mprj_io_0 == 28'd5); - wait(mprj_io_0 == 28'd6); - wait(mprj_io_0 == 28'd7); + //wait(mprj_io_0 == 28'd5); + //wait(mprj_io_0 == 28'd6); + //wait(mprj_io_0 == 28'd7); // Observe Output pins [35:8] for perfect square //wait(mprj_io_0 == 28'd5);
diff --git a/verilog/dv/hex/uart.hex b/verilog/dv/hex/uart.hex index 5a3b56e..a1a7a1a 100755 --- a/verilog/dv/hex/uart.hex +++ b/verilog/dv/hex/uart.hex
@@ -1,12 +1,8 @@ @00000000 -B0 20 10 73 B8 20 10 73 10 73 42 11 04 37 7F 92 -04 93 F0 04 09 13 00 50 09 93 00 60 0A 13 00 70 -02 93 00 30 03 13 00 00 03 93 00 10 0E 13 00 20 -00 EF 00 30 A0 0D 00 60 87 63 02 85 87 63 00 62 -88 63 00 72 80 82 01 C2 B7 FD C0 04 01 24 22 23 -24 23 B7 E5 B7 CD 01 34 00 04 22 83 00 44 23 03 -00 84 23 83 D0 58 0B 37 00 5B 20 23 00 01 0B 11 -00 01 00 01 20 23 00 01 0B 11 00 6B 00 01 00 01 -20 23 00 01 00 01 00 7B 00 01 00 01 D0 58 01 B7 -0F F0 02 93 00 51 80 23 FE 00 0A E3 00 01 00 01 -00 00 0F FF +B0 20 10 73 B8 20 10 73 5F 55 50 B7 55 50 80 93 +7C 00 90 73 90 73 40 91 00 01 7F 90 F0 04 04 37 +D0 58 09 B7 00 23 42 91 42 95 00 54 00 54 00 A3 +01 23 42 99 02 83 00 54 03 03 00 04 83 B3 00 14 +02 83 00 62 83 33 00 24 42 8D 00 53 02 53 43 B3 +00 74 01 A3 00 79 80 23 D0 58 01 B7 0F F0 02 93 +00 51 80 23 FE 00 0A E3 00 01 00 01 00 00 0F FF
diff --git a/verilog/rtl/BrqRV_EB1/BrqRV_EB1.v b/verilog/rtl/BrqRV_EB1/BrqRV_EB1.v index 5a071dc..39130bf 100644 --- a/verilog/rtl/BrqRV_EB1/BrqRV_EB1.v +++ b/verilog/rtl/BrqRV_EB1/BrqRV_EB1.v
@@ -16,8 +16,8 @@ module eb1_brqrv_wrapper ( `ifdef USE_POWER_PINS - VPWR, - VGND, + vccd1, + vssd1, `endif clk, rst_l, @@ -225,8 +225,8 @@ endfunction parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; `ifdef USE_POWER_PINS - inout wire VPWR; - inout wire VGND; + inout wire vccd1; + inout wire vssd1; `endif input wire clk; input wire rst_l; @@ -839,8 +839,8 @@ .iccm_wr_data((core_rst ? iccm_wr_data : {7'h00, iccm_instr_wdata, 7'h00, iccm_instr_wdata})), .iccm_wr_size((core_rst ? iccm_wr_size : 3'b010)), `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), + .vccd1(vccd1), + .vssd1(vssd1), `endif .dccm_clk_override(dccm_clk_override), .icm_clk_override(icm_clk_override), @@ -896,6 +896,11 @@ .wdata_o(iccm_instr_wdata), .reset_o(core_rst) ); + + always @(iccm_instr_wdata) begin + $display("Instruction = %h", iccm_instr_wdata); + end + eb1_uart_rx_prog uart_rx_m( .i_Clock(clk), .rst_ni(rst_l), @@ -3079,8 +3084,8 @@ endmodule module eb1_mem ( `ifdef USE_POWER_PINS - VPWR, - VGND, + vccd1, + vssd1, `endif clk, rst_l, @@ -3138,8 +3143,8 @@ endfunction parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; `ifdef USE_POWER_PINS - inout wire VPWR; - inout wire VGND; + inout wire vccd1; + inout wire vssd1; `endif input wire clk; input wire rst_l; @@ -3202,8 +3207,8 @@ eb1_lsu_dccm_mem #(.pt(pt)) dccm( .clk_override(dccm_clk_override), `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), + .vccd1(vccd1), + .vssd1(vssd1), `endif .clk(clk), .active_clk(active_clk), @@ -3245,8 +3250,8 @@ if (pt[927-:5]) begin : iccm eb1_ifu_iccm_mem #(.pt(pt)) iccm( `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), + .vccd1(vccd1), + .vssd1(vssd1), `endif .clk(clk), .active_clk(active_clk), @@ -15182,8 +15187,8 @@ endmodule module eb1_ifu_iccm_mem ( `ifdef USE_POWER_PINS - VPWR, - VGND, + vccd1, + vssd1, `endif clk, active_clk, @@ -15207,8 +15212,8 @@ endfunction parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; `ifdef USE_POWER_PINS - inout wire VPWR; - inout wire VGND; + inout wire vccd1; + inout wire vssd1; `endif input wire clk; input wire active_clk; @@ -15312,10 +15317,10 @@ ); end else if (pt[917-:8] == 8) begin : iccm - /*sky130_sram_1kbyte_1rw1r_32x256_8 sram( + sky130_sram_1kbyte_1rw1r_32x256_8 sram( `ifdef USE_POWER_PINS - .vccd1(VPWR), - .vssd1(VGND), + .vccd1(vccd1), + .vssd1(vssd1), `endif .clk0(clk), .csb0(~iccm_clken[i]), @@ -15328,12 +15333,12 @@ .csb1(1'b1), .addr1(8'h00), .dout1() - );*/ - DFFRAM iccm + ); + /*DFFRAM iccm ( `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), + .VPWR(vccd1), + .VGND(vssd1), `endif .CLK(clk), .WE({4{wren_bank[i]}}), @@ -15341,7 +15346,7 @@ .Di(iccm_bank_wr_data[(i * 39) + 31-:32]), .Do(iccm_bank_dout[(i * 39) + 31-:32]), .A(addr_bank[((pt[936-:9] - 1) >= pt[945-:9] ? pt[945-:9] : pt[936-:9] - 1) + (i * ((pt[936-:9] - 1) >= pt[945-:9] ? ((pt[936-:9] - 1) - pt[945-:9]) + 1 : (pt[945-:9] - (pt[936-:9] - 1)) + 1))+:((pt[936-:9] - 1) >= pt[945-:9] ? ((pt[936-:9] - 1) - pt[945-:9]) + 1 : (pt[945-:9] - (pt[936-:9] - 1)) + 1)]) - ); + );*/ end else if (pt[917-:8] == 9) begin : iccm @@ -15367,8 +15372,8 @@ else if (pt[917-:8] == 10) begin : iccm sky130_sram_1kbyte_1rw1r_32x256_8 sram( `ifdef USE_POWER_PINS - .vccd1(VPWR), - .vssd1(VGND), + .vccd1(vccd1), + .vssd1(vssd1), `endif .clk0(clk), .csb0(~iccm_clken[i]), @@ -20646,8 +20651,8 @@ endmodule module eb1_lsu_dccm_mem ( `ifdef USE_POWER_PINS - VPWR, - VGND, + vccd1, + vssd1, `endif clk, active_clk, @@ -20672,8 +20677,8 @@ endfunction parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01}; `ifdef USE_POWER_PINS - inout wire VPWR; - inout wire VGND; + inout wire vccd1; + inout wire vssd1; `endif input wire clk; input wire active_clk; @@ -20848,8 +20853,8 @@ else if (DCCM_INDEX_DEPTH == 1024) begin : dccm sky130_sram_1kbyte_1rw1r_32x256_8 sram( `ifdef USE_POWER_PINS - .vccd1(VPWR), - .vssd1(VGND), + .vccd1(vccd1), + .vssd1(vssd1), `endif .clk0(clk), .csb0(~dccm_clken[i]), @@ -20886,10 +20891,10 @@ ); end else if (DCCM_INDEX_DEPTH == 256) begin : dccm - /*sky130_sram_1kbyte_1rw1r_32x256_8 sram( + sky130_sram_1kbyte_1rw1r_32x256_8 sram( `ifdef USE_POWER_PINS - .vccd1(VPWR), - .vssd1(VGND), + .vccd1(vccd1), + .vssd1(vssd1), `endif .clk0(clk), .csb0(~dccm_clken[i]), @@ -20902,12 +20907,12 @@ .csb1(1'b1), .addr1(8'h00), .dout1() - );*/ - DFFRAM dccm + ); + /*DFFRAM dccm ( `ifdef USE_POWER_PINS - .VPWR(VPWR), - .VGND(VGND), + .VPWR(vccd1), + .VGND(vssd1), `endif .CLK(clk), .WE({4{wren_bank[i]}}), @@ -20915,7 +20920,7 @@ .Di(wr_data_bank[(i * pt[1360-:10]) + 31-:32]), .Do(dccm_bank_dout[(i * pt[1360-:10]) + 31-:32]), .A(addr_bank[((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? pt[1405-:7] + 2 : pt[1398-:9] - 1) + (i * ((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? ((pt[1398-:9] - 1) - (pt[1405-:7] + 2)) + 1 : ((pt[1405-:7] + 2) - (pt[1398-:9] - 1)) + 1))+:((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? ((pt[1398-:9] - 1) - (pt[1405-:7] + 2)) + 1 : ((pt[1405-:7] + 2) - (pt[1398-:9] - 1)) + 1)]) - ); + );*/ end else if (DCCM_INDEX_DEPTH == 128) begin : dccm ram_128x39 dccm_bank(