Update
diff --git a/verilog/dv/BrqRV_EB1/BrqRV_EB1_tb.v b/verilog/dv/BrqRV_EB1/BrqRV_EB1_tb.v
index 086010a..99185a5 100644
--- a/verilog/dv/BrqRV_EB1/BrqRV_EB1_tb.v
+++ b/verilog/dv/BrqRV_EB1/BrqRV_EB1_tb.v
@@ -83,15 +83,15 @@
wait(mprj_io_0 == 28'd13);*/
// Observe Output pins [35:8] for multliplication_table
- wait(mprj_io_0 == 28'd5);
+ /*wait(mprj_io_0 == 28'd5);
wait(mprj_io_0 == 28'd10);
wait(mprj_io_0 == 28'd15);
wait(mprj_io_0 == 28'd20);
wait(mprj_io_0 == 28'd25);
wait(mprj_io_0 == 28'd30);
-
- // Observe Output pins [35:8] for Quadratic_eq
- //wait(mprj_io_0 == 28'd8);
+ */
+ // Observe Output pins [35:8] for mean & Determinant
+ wait(mprj_io_0 == 28'd5);
//wait(mprj_io_0 == 28'd7);
$display("MPRJ-IO state = %d ", mprj_io[35:8]);
diff --git a/verilog/dv/hex/determinant.hex b/verilog/dv/hex/determinant.hex
new file mode 100755
index 0000000..87076f3
--- /dev/null
+++ b/verilog/dv/hex/determinant.hex
@@ -0,0 +1,9 @@
+@00000000
+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 8D 00 54 00 54 00 A3
+01 23 42 85 42 89 00 54 00 54 01 A3 00 04 02 83
+00 34 03 03 02 62 83 B3 00 14 02 83 00 24 03 03
+02 62 84 33 40 83 82 B3 00 54 02 A3 00 59 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/dv/hex/mean.hex b/verilog/dv/hex/mean.hex
new file mode 100755
index 0000000..a1a7a1a
--- /dev/null
+++ b/verilog/dv/hex/mean.hex
@@ -0,0 +1,8 @@
+@00000000
+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/dv/hex/uart.hex b/verilog/dv/hex/uart.hex
index c6b2a4e..87076f3 100755
--- a/verilog/dv/hex/uart.hex
+++ b/verilog/dv/hex/uart.hex
@@ -1,10 +1,9 @@
@00000000
-B0 20 10 73 B8 20 10 73 10 73 42 11 00 01 7F 92
-44 85 44 01 43 05 49 3D 4F 05 43 89 F0 04 0E 37
-D0 58 0E B7 03 E4 8A 63 4F 01 04 89 05 24 80 63
-02 64 E2 B3 00 02 86 63 08 63 03 05 B7 FD 00 93
-03 05 04 05 00 93 03 63 04 05 B7 D5 00 74 06 63
-44 01 43 05 BF D9 04 85 00 9E 20 23 00 9E A0 23
-0E 91 0E 11 FD E4 82 E3 FF 24 91 E3 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 8D 00 54 00 54 00 A3
+01 23 42 85 42 89 00 54 00 54 01 A3 00 04 02 83
+00 34 03 03 02 62 83 B3 00 14 02 83 00 24 03 03
+02 62 84 33 40 83 82 B3 00 54 02 A3 00 59 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 020487e..454b61b 100644
--- a/verilog/rtl/BrqRV_EB1/BrqRV_EB1.v
+++ b/verilog/rtl/BrqRV_EB1/BrqRV_EB1.v
@@ -1,6 +1,6 @@
module eb1_brqrv_wrapper (
- VPWR,
- VGND,
+ vccd1,
+ vssd1,
clk,
rst_l,
dbg_rst_l,
@@ -206,8 +206,8 @@
sv2v_cast_1 = inp;
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};
- input wire VPWR;
- input wire VGND;
+ inout wire vccd1;
+ inout wire vssd1;
input wire clk;
input wire rst_l;
input wire dbg_rst_l;
@@ -818,8 +818,8 @@
.iccm_wren((core_rst ? iccm_wren : iccm_instr_we)),
.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)),
- .VPWR(VPWR),
- .VGND(VGND),
+ .vccd1(vccd1),
+ .vssd1(vssd1),
.dccm_clk_override(dccm_clk_override),
.icm_clk_override(icm_clk_override),
.dec_tlu_core_ecc_disable(dec_tlu_core_ecc_disable),
@@ -3056,8 +3056,8 @@
end
endmodule
module eb1_mem (
- VPWR,
- VGND,
+ vccd1,
+ vssd1,
clk,
rst_l,
dccm_clk_override,
@@ -3113,8 +3113,8 @@
sv2v_cast_1 = inp;
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};
- input wire VPWR;
- input wire VGND;
+ inout wire vccd1;
+ inout wire vssd1;
input wire clk;
input wire rst_l;
input wire dccm_clk_override;
@@ -3175,8 +3175,8 @@
if (pt[1365-:5] == 1) begin : Gen_dccm_enable
eb1_lsu_dccm_mem #(.pt(pt)) dccm(
.clk_override(dccm_clk_override),
- .VPWR(VPWR),
- .VGND(VGND),
+ .vccd1(vccd1),
+ .vssd1(vssd1),
.clk(clk),
.active_clk(active_clk),
.rst_l(rst_l),
@@ -3216,8 +3216,8 @@
generate
if (pt[927-:5]) begin : iccm
eb1_ifu_iccm_mem #(.pt(pt)) iccm(
- .VPWR(VPWR),
- .VGND(VGND),
+ .vccd1(vccd1),
+ .vssd1(vssd1),
.clk(clk),
.active_clk(active_clk),
.rst_l(rst_l),
@@ -15149,8 +15149,8 @@
assign legal = (((((((((((((((((((((((((((((((((!i[13] & !i[12]) & i[11]) & i[1]) & !i[0]) | ((((!i[13] & !i[12]) & i[6]) & i[1]) & !i[0])) | (((!i[15] & !i[13]) & i[11]) & !i[1])) | ((((!i[13] & !i[12]) & i[5]) & i[1]) & !i[0])) | ((((!i[13] & !i[12]) & i[10]) & i[1]) & !i[0])) | (((!i[15] & !i[13]) & i[6]) & !i[1])) | (((i[15] & !i[12]) & !i[1]) & i[0])) | ((((!i[13] & !i[12]) & i[9]) & i[1]) & !i[0])) | (((!i[12] & i[6]) & !i[1]) & i[0])) | (((!i[15] & !i[13]) & i[5]) & !i[1])) | ((((!i[13] & !i[12]) & i[8]) & i[1]) & !i[0])) | (((!i[12] & i[5]) & !i[1]) & i[0])) | (((!i[15] & !i[13]) & i[10]) & !i[1])) | ((((!i[13] & !i[12]) & i[7]) & i[1]) & !i[0])) | ((((i[12] & i[11]) & !i[10]) & !i[1]) & i[0])) | (((!i[15] & !i[13]) & i[9]) & !i[1])) | ((((!i[13] & !i[12]) & i[4]) & i[1]) & !i[0])) | (((i[13] & i[12]) & !i[1]) & i[0])) | (((!i[15] & !i[13]) & i[8]) & !i[1])) | ((((!i[13] & !i[12]) & i[3]) & i[1]) & !i[0])) | (((i[13] & i[4]) & !i[1]) & i[0])) | ((((!i[13] & !i[12]) & i[2]) & i[1]) & !i[0])) | (((!i[15] & !i[13]) & i[7]) & !i[1])) | (((i[13] & i[3]) & !i[1]) & i[0])) | (((i[13] & i[2]) & !i[1]) & i[0])) | ((i[14] & !i[13]) & !i[1])) | (((!i[14] & !i[12]) & !i[1]) & i[0])) | ((((i[15] & !i[13]) & i[12]) & i[1]) & !i[0])) | ((((!i[15] & !i[13]) & !i[12]) & i[1]) & !i[0])) | (((!i[15] & !i[13]) & i[12]) & !i[1])) | ((i[14] & !i[13]) & !i[0]);
endmodule
module eb1_ifu_iccm_mem (
- VPWR,
- VGND,
+ vccd1,
+ vssd1,
clk,
active_clk,
rst_l,
@@ -15172,8 +15172,8 @@
sv2v_cast_1 = inp;
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};
- input wire VPWR;
- input wire VGND;
+ inout wire vccd1;
+ inout wire vssd1;
input wire clk;
input wire active_clk;
input wire rst_l;
@@ -15277,8 +15277,8 @@
end
else if (pt[917-:8] == 8) begin : iccm
sky130_sram_1kbyte_1rw1r_32x256_8 sram(
- .vccd1(VPWR),
- .vssd1(VGND),
+ .vccd1(vccd1),
+ .vssd1(vssd1),
.clk0(clk),
.csb0(~iccm_clken[i]),
.web0(~wren_bank[i]),
@@ -15314,8 +15314,8 @@
end
else if (pt[917-:8] == 10) begin : iccm
sky130_sram_1kbyte_1rw1r_32x256_8 sram(
- .vccd1(VPWR),
- .vssd1(VGND),
+ .vccd1(vccd1),
+ .vssd1(vssd1),
.clk0(clk),
.csb0(~iccm_clken[i]),
.web0(~wren_bank[i]),
@@ -20591,8 +20591,8 @@
endgenerate
endmodule
module eb1_lsu_dccm_mem (
- VPWR,
- VGND,
+ vccd1,
+ vssd1,
clk,
active_clk,
rst_l,
@@ -20615,8 +20615,8 @@
sv2v_cast_1 = inp;
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};
- input wire VPWR;
- input wire VGND;
+ inout wire vccd1;
+ inout wire vssd1;
input wire clk;
input wire active_clk;
input wire rst_l;
@@ -20789,8 +20789,8 @@
end
else if (DCCM_INDEX_DEPTH == 1024) begin : dccm
sky130_sram_1kbyte_1rw1r_32x256_8 sram(
- .vccd1(VPWR),
- .vssd1(VGND),
+ .vccd1(vccd1),
+ .vssd1(vssd1),
.clk0(clk),
.csb0(~dccm_clken[i]),
.web0(~wren_bank[i]),
@@ -20827,8 +20827,8 @@
end
else if (DCCM_INDEX_DEPTH == 256) begin : dccm
sky130_sram_1kbyte_1rw1r_32x256_8 sram(
- .vccd1(VPWR),
- .vssd1(VGND),
+ .vccd1(vccd1),
+ .vssd1(vssd1),
.clk0(clk),
.csb0(~dccm_clken[i]),
.web0(~wren_bank[i]),
diff --git a/verilog/rtl/user_proj_example.v b/verilog/rtl/user_proj_example.v
index a836eed..6aedda7 100644
--- a/verilog/rtl/user_proj_example.v
+++ b/verilog/rtl/user_proj_example.v
@@ -131,8 +131,8 @@
//=========================================================================-
eb1_brqrv_wrapper brqrv_top (
`ifdef USE_POWER_PINS
- .VPWR ( vccd1 ),
- .VGND ( vssd1 ),
+ .vccd1 ( vccd1 ),
+ .vssd1 ( vssd1 ),
`endif
.rst_l ( rst ),
.dbg_rst_l ( ~wb_rst_i ),