verified version
diff --git a/run_test.sh b/run_test.sh index 1cdf933..211f5bf 100755 --- a/run_test.sh +++ b/run_test.sh
@@ -66,4 +66,12 @@ echo "###############################################" >> test.log echo "Start WB test 5" >> test.log make verify-wb_test5 >> ./test.log +echo "Start WB test 6" +echo "###############################################" >> test.log +echo "Start WB test 6" >> test.log +make verify-wb_test6 >> ./test.log +echo "Start WB test 7" +echo "###############################################" >> test.log +echo "Start WB test 7" >> test.log +make verify-wb_test7 >> ./test.log echo "End Test" \ No newline at end of file
diff --git a/verilog/dv/la_test4/la_test4.c b/verilog/dv/la_test4/la_test4.c index 863ddbb..9049427 100644 --- a/verilog/dv/la_test4/la_test4.c +++ b/verilog/dv/la_test4/la_test4.c
@@ -156,6 +156,7 @@ add_value_to_register(25432,1); clock(); add_value_to_register(38,2); + clock(); read_value_from_triplet_register(0); clock();
diff --git a/verilog/dv/la_test4/la_test4.gtkw b/verilog/dv/la_test4/la_test4.gtkw index 47eb23e..06497c7 100644 --- a/verilog/dv/la_test4/la_test4.gtkw +++ b/verilog/dv/la_test4/la_test4.gtkw
@@ -1,19 +1,20 @@ [*] [*] GTKWave Analyzer v3.3.103 (w)1999-2019 BSI -[*] Fri May 28 12:06:49 2021 +[*] Tue Jun 15 07:19:05 2021 [*] [dumpfile] "/home/shuttle/core_radiation_hard/verilog/dv/la_test4/la_test4.vcd" -[dumpfile_mtime] "Fri May 28 12:01:29 2021" -[dumpfile_size] 2291794024 +[dumpfile_mtime] "Tue Jun 15 07:15:06 2021" +[dumpfile_size] 2292201270 [savefile] "/home/shuttle/core_radiation_hard/verilog/dv/la_test4/la_test4.gtkw" -[timestart] 153100000 +[timestart] 437300000 [size] 1848 1016 [pos] -1 -1 -*-27.000000 523712500 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +*-25.000000 540300000 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 [treeopen] la_test4_tb. [treeopen] la_test4_tb.uut. [treeopen] la_test4_tb.uut.mprj. [treeopen] la_test4_tb.uut.mprj.mprj. +[treeopen] la_test4_tb.uut.mprj.mprj.register_file. [sst_width] 253 [signals_width] 310 [sst_expanded] 1 @@ -28,13 +29,23 @@ @28 la_test4_tb.uut.mprj.mprj.register_file.rregister_i la_test4_tb.uut.mprj.mprj.register_file.wregister_i -la_test4_tb.uut.mprj.mprj.register_file.operation_type_i la_test4_tb.uut.mprj.mprj.register_file.operation_result_o[1:0] @22 la_test4_tb.uut.mprj.mprj.register_file.store_data_o[31:0] @200 -GPIO -@23 +@22 la_test4_tb.mprj_io[37:0] +@200 +- +-REGISTER DATA +@22 +la_test4_tb.uut.mprj.mprj.register_file.inst_RD.xor_1[31:0] +la_test4_tb.uut.mprj.mprj.register_file.inst_RD.xor_2[31:0] +la_test4_tb.uut.mprj.mprj.register_file.inst_RD.xor_3[31:0] +@28 +la_test4_tb.uut.mprj.mprj.register_file.inst_RD.xor_reduce_1 +la_test4_tb.uut.mprj.mprj.register_file.inst_RD.xor_reduce_2 +la_test4_tb.uut.mprj.mprj.register_file.inst_RD.xor_reduce_3 [pattern_trace] 1 [pattern_trace] 0
diff --git a/verilog/dv/wb_test1/wb_test1.c b/verilog/dv/wb_test1/wb_test1.c index 71b9d90..957c931 100644 --- a/verilog/dv/wb_test1/wb_test1.c +++ b/verilog/dv/wb_test1/wb_test1.c
@@ -155,7 +155,7 @@ //apply modification to the register reg_wb_register = 0x00000003; clock(); - reg_la2_oenb = 0xFFFFFFFC; + reg_la2_oenb = 0xFFFFFFF8; read_value_from_register(0); clock();
diff --git a/verilog/dv/wb_test2/wb_test2.c b/verilog/dv/wb_test2/wb_test2.c index 9f2b868..c70b894 100644 --- a/verilog/dv/wb_test2/wb_test2.c +++ b/verilog/dv/wb_test2/wb_test2.c
@@ -161,7 +161,7 @@ reg_wb_register = 0x00000003; clock(); // re enable clock - reg_la2_oenb = 0xFFFFFFFC; + reg_la2_oenb = 0xFFFFFFF8; read_value_from_register(4); clock(); @@ -188,7 +188,7 @@ clock(); // re enable clock - reg_la2_oenb = 0xFFFFFFFC; + reg_la2_oenb = 0xFFFFFFF8; read_value_from_register(0); clock();
diff --git a/verilog/dv/wb_test2/wb_test2.gtkw b/verilog/dv/wb_test2/wb_test2.gtkw index 4d8966a..c92b33d 100644 --- a/verilog/dv/wb_test2/wb_test2.gtkw +++ b/verilog/dv/wb_test2/wb_test2.gtkw
@@ -1,15 +1,15 @@ [*] [*] GTKWave Analyzer v3.3.103 (w)1999-2019 BSI -[*] Sun Jun 13 09:45:33 2021 +[*] Tue Jun 15 07:47:47 2021 [*] [dumpfile] "/home/shuttle/core_radiation_hard/verilog/dv/wb_test2/wb_test2.vcd" -[dumpfile_mtime] "Sat Jun 12 22:44:29 2021" -[dumpfile_size] 1649511525 +[dumpfile_mtime] "Tue Jun 15 05:30:21 2021" +[dumpfile_size] 1641689878 [savefile] "/home/shuttle/core_radiation_hard/verilog/dv/wb_test2/wb_test2.gtkw" -[timestart] 1227360000 +[timestart] 493800000 [size] 1848 1016 [pos] -1 -1 -*-23.000000 746087500 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +*-25.000000 676000000 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 [treeopen] wb_test2_tb. [treeopen] wb_test2_tb.uut. [treeopen] wb_test2_tb.uut.mprj.
diff --git a/verilog/dv/wb_test3/wb_test3.c b/verilog/dv/wb_test3/wb_test3.c index e7fa865..a26ba0f 100644 --- a/verilog/dv/wb_test3/wb_test3.c +++ b/verilog/dv/wb_test3/wb_test3.c
@@ -167,7 +167,7 @@ //apply modification to the register reg_wb_register = 0x00032053; clock(); - reg_la2_oenb = 0xFFFFFFFC; + reg_la2_oenb = 0xFFFFFFF8; read_value_from_triplet_register(12); clock();
diff --git a/verilog/dv/wb_test4/wb_test4.c b/verilog/dv/wb_test4/wb_test4.c index 279b046..bad9919 100644 --- a/verilog/dv/wb_test4/wb_test4.c +++ b/verilog/dv/wb_test4/wb_test4.c
@@ -169,7 +169,7 @@ reg_wb_register = reg_wb_register + 1; } clock(); - reg_la2_oenb = 0xFFFFFFFC; + reg_la2_oenb = 0xFFFFFFF8; for (uint32_t i = 0; i < 32; ++i ){ read_value_from_register_no_proteccion(i);
diff --git a/verilog/dv/wb_test5/wb_test5.c b/verilog/dv/wb_test5/wb_test5.c index 1866fa4..719a638 100644 --- a/verilog/dv/wb_test5/wb_test5.c +++ b/verilog/dv/wb_test5/wb_test5.c
@@ -163,7 +163,7 @@ reg_wb_register = 0x00000003; clock(); // re enable clock - reg_la2_oenb = 0xFFFFFFFC; + reg_la2_oenb = 0xFFFFFFF8; read_value_from_register(4); clock(); @@ -190,7 +190,7 @@ clock(); // re enable clock - reg_la2_oenb = 0xFFFFFFFC; + reg_la2_oenb = 0xFFFFFFF8; read_value_from_register(0); clock();
diff --git a/verilog/dv/wb_test6/wb_test6.c b/verilog/dv/wb_test6/wb_test6.c index 6330b5a..58528c4 100644 --- a/verilog/dv/wb_test6/wb_test6.c +++ b/verilog/dv/wb_test6/wb_test6.c
@@ -163,7 +163,7 @@ reg_wb_invalid_register = 0x0000000F; clock(); // re enable clock - reg_la2_oenb = 0xFFFFFFFC; + reg_la2_oenb = 0xFFFFFFF8; read_value_from_register(4); clock(); @@ -189,7 +189,7 @@ clock(); // re enable clock - reg_la2_oenb = 0xFFFFFFFC; + reg_la2_oenb = 0xFFFFFFF8; read_value_from_register(0); clock();
diff --git a/verilog/dv/wb_test7/wb_test7.c b/verilog/dv/wb_test7/wb_test7.c index 1238eb1..c5e7e81 100644 --- a/verilog/dv/wb_test7/wb_test7.c +++ b/verilog/dv/wb_test7/wb_test7.c
@@ -230,7 +230,7 @@ } clock(); // re enable clock - reg_la2_oenb = 0xFFFFFFFC; + reg_la2_oenb = 0xFFFFFFF8; add_value_to_register(50, 0); clock(); read_value_from_register(0);
diff --git a/verilog/rtl/ecc_registers/register_data.v b/verilog/rtl/ecc_registers/register_data.v index 8fbadc1..1f61dc6 100755 --- a/verilog/rtl/ecc_registers/register_data.v +++ b/verilog/rtl/ecc_registers/register_data.v
@@ -219,7 +219,7 @@ end // triple redundaccy value else if (operation_type_i == 3'b001) begin - r[register_i[REGDIRSIZE - 1: 2]][116:0] <= {7'b0000000,data_to_register_i[31:0],7'b0000000,data_to_register_i[31:0],7'b0000000,data_to_register_i[31:0]}; + r[register_i[REGDIRSIZE - 1: 2]][116:0] <= {data_to_register_i,data_to_register_i,data_to_register_i}; store_data_o <= {WORD_SIZE + ECCBITS{1'b0}}; redundat_validation_o <= 2'b00; operational_o <= 1'b1;
diff --git a/verilog/rtl/user_proj.v b/verilog/rtl/user_proj.v index 3a0fbfb..a8b8e01 100644 --- a/verilog/rtl/user_proj.v +++ b/verilog/rtl/user_proj.v
@@ -108,7 +108,7 @@ assign wdata = wbs_dat_i; // IO - assign io_out = {output_verification,output_data[15:0],operational, 19'b0};//{6'b000000,output_data}; + assign io_out = {output_verification,output_data[15:0],operational, 19'b0};//{6'b000000,output_data};b assign io_oeb = {(`MPRJ_IO_PADS-1){rst}}; // IRQ