diff --git a/tests/Makefile b/tests/Makefile index 9755f87..ae9cb86 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -1,12 +1,12 @@ TEST_MODULE=FauFTB -TEST=uFTB_raw +TEST=. TEST_FOLDER=./$(TEST) COV_FILE_NAME=V$(TEST_MODULE)_coverage.dat PYTHON=python3 START_CODE="from mlvp.reporter import *;\ -set_meta_info('line_grate', 10);\ +set_meta_info('test_case', '$(TEST)');\ report = 'report/report.html';\ generate_pytest_report(report, args=['-s', '$(TEST_FOLDER)'], );\ " @@ -14,3 +14,6 @@ generate_pytest_report(report, args=['-s', '$(TEST_FOLDER)'], );\ run: @echo "Running test $(TEST)..." @$(PYTHON) -c $(START_CODE) + +clean: + rm -rf report/ *.fst *.dat diff --git a/tests/uFTB-with-ftq/tests/test_with_ftq.py b/tests/uFTB-with-ftq/tests/test_with_ftq.py index 51c80e5..4607a9d 100644 --- a/tests/uFTB-with-ftq/tests/test_with_ftq.py +++ b/tests/uFTB-with-ftq/tests/test_with_ftq.py @@ -40,16 +40,29 @@ import mlvp.funcov as fc from mlvp.reporter import * def test_uftb(request): - g = fc.CovGroup("coverage_group_1") - g.add_watch_point(uFTB.io_s0_fire_0, { - "s0_fire": fc.Eq(1), - }, name="s0_fire_0") + g = fc.CovGroup("uftb_with_ftq") + g.add_watch_point(uFTB.reset, { "reset": fc.Eq(1), }, name="reset") + g.add_watch_point(uFTB.io_ctrl_ubtb_enable, { "ubtb_enable": fc.Eq(1), }, name="ubtb_enable") + g.add_watch_point(uFTB.io_s0_fire_0, { "s0_fire": fc.Eq(1), }, name="s0_fire_0") + g.add_watch_point(uFTB.io_s1_fire_0, { "s1_fire": fc.Eq(1), }, name="s1_fire_0") + g.add_watch_point(uFTB.io_s2_fire_0, { "s2_fire": fc.Eq(1), }, name="s2_fire_0") + g.add_watch_point(uFTB.io_update_valid, { "update_valid": fc.Eq(1), }, name="update_valid") + + g.add_watch_point(uFTB.io_out_s1_full_pred_0_hit, { "hit": fc.Eq(1), "not_hit": fc.Eq(0) }, name="s1_full_pred_0_hit") + g.add_watch_point(uFTB.io_out_s1_full_pred_3_fallThroughErr, { "fallThroughErr": fc.Eq(1), "not_fallThroughErr": fc.Eq(0) }, name="s1_full_pred_3_fallThroughErr") + g.add_watch_point(uFTB.io_out_s1_full_pred_0_slot_valids_0, { "slot_valids_0": fc.Eq(1), "slot_valids_0_invalid": fc.Eq(0) }, name="s1_full_pred_0_slot_valids_0") + g.add_watch_point(uFTB.io_out_s1_full_pred_0_slot_valids_1, { "slot_valids_1": fc.Eq(1), "slot_valids_1_invalid": fc.Eq(0) }, name="s1_full_pred_0_slot_valids_1") + g.add_watch_point(uFTB.io_out_s1_full_pred_0_br_taken_mask_0, { "br_taken_mask_0": fc.Eq(1), "br_taken_mask_0_invalid": fc.Eq(0) }, name="s1_full_pred_0_br_taken_mask_0") + g.add_watch_point(uFTB.io_out_s1_full_pred_0_br_taken_mask_1, { "br_taken_mask_1": fc.Eq(1), "br_taken_mask_1_invalid": fc.Eq(0) }, name="s1_full_pred_0_br_taken_mask_1") + g.add_watch_point(uFTB.io_out_s1_full_pred_0_is_br_sharing, { "is_br_sharing": fc.Eq(1), "is_br_sharing_invalid": fc.Eq(0) }, name="s1_full_pred_0_is_br_sharing") + + + uFTB.xclock.StepRis(lambda _: g.sample()) set_func_coverage(request, g) set_line_coverage(request, "VFauFTB_coverage.dat") mlvp.run(uftb_test()) - g.sample() uFTB.finalize() pred_stat.summary()