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(