Update t_vlcov_covergroup to produce its own data instead of relying on a cached file

Signed-off-by: Matthew Ballance <matt.ballance@gmail.com>
This commit is contained in:
Matthew Ballance 2026-03-27 00:43:03 +00:00
parent ae7258f365
commit 8b40d7a407
3 changed files with 36 additions and 30 deletions

View File

@ -1,31 +1,30 @@
COVERGROUP COVERAGE REPORT
==========================
TOTAL: 3/6 bins covered (50.00%)
(1 ignored, 1 illegal)
TOTAL: 8/8 bins covered (100.00%)
------------------------------------------------------------------------------
Covergroup Type: mycg [t/t_vlcov_covergroup_data.dat:10]
Type Coverage: 3/6 bins (50.00%)
Covergroup Type: cg [t/t_covergroup_cross_simple.v:15]
Type Coverage: 8/8 bins (100.00%)
Coverpoint: cp_b
Coverage: 1/1 bins (100.00%)
Coverpoint: cp_addr
Coverage: 2/2 bins (100.00%)
Bins:
IGNORE b_skip 1 hits
ILLEGAL b_bad 0 hits
COVERED b0 2 hits
COVERED addr0 2 hits
COVERED addr1 2 hits
Cross: cp_a_x_cp_b
Coverage: 1/3 bins (33.33%)
Coverpoint: cp_cmd
Coverage: 2/2 bins (100.00%)
Bins:
ZERO high_x_b0 0 hits
COVERED low_x_b0 2 hits
ZERO low_x_b_skip 0 hits
COVERED read 2 hits
COVERED write 2 hits
Coverpoint: cp_a
Coverage: 1/2 bins (50.00%)
Cross: addr_cmd
Coverage: 4/4 bins (100.00%)
Bins:
COVERED low 3 hits
ZERO high 0 hits
COVERED addr0_x_read 1 hits
COVERED addr0_x_write 1 hits
COVERED addr1_x_read 1 hits
COVERED addr1_x_write 1 hits
------------------------------------------------------------------------------

View File

@ -10,12 +10,18 @@
import vltest_bootstrap
test.scenarios('dist')
test.scenarios('vlt')
test.top_filename = "t/t_covergroup_cross_simple.v"
test.compile(verilator_flags2=['--coverage'])
test.execute()
test.run(cmd=[
os.environ["VERILATOR_ROOT"] + "/bin/verilator_coverage",
"--covergroup",
test.t_dir + "/t_vlcov_covergroup_data.dat",
test.obj_dir + "/coverage.dat",
],
logfile=test.obj_dir + "/covergroup.log",
tee=False,
@ -23,4 +29,15 @@ test.run(cmd=[
test.files_identical(test.obj_dir + "/covergroup.log", test.golden_filename)
test.run(cmd=[
os.environ["VERILATOR_ROOT"] + "/bin/verilator_coverage",
"--annotate",
test.obj_dir + "/annotated",
test.obj_dir + "/coverage.dat",
],
verilator_run=True)
test.files_identical(test.obj_dir + "/annotated/t_covergroup_cross_simple.v",
"t/" + test.name + ".annotate.out")
test.passes()

View File

@ -1,10 +0,0 @@
# SystemC::Coverage-3
C 'tlinepagev_line/tft/t_vlcov_covergroup_data.datl10htop.t' 5
C 'tcovergrouppagev_covergroup/mycgft/t_vlcov_covergroup_data.datl5n4binlowhmycg.cp_a.low' 3
C 'tcovergrouppagev_covergroup/mycgft/t_vlcov_covergroup_data.datl6n4binhighhmycg.cp_a.high' 0
C 'tcovergrouppagev_covergroup/mycgft/t_vlcov_covergroup_data.datl9n4binb0hmycg.cp_b.b0' 2
C 'tcovergrouppagev_covergroup/mycgft/t_vlcov_covergroup_data.datl10n4binb_skipbin_typeignorehmycg.cp_b.b_skip' 1
C 'tcovergrouppagev_covergroup/mycgft/t_vlcov_covergroup_data.datl11n4binb_badbin_typeillegalhmycg.cp_b.b_bad' 0
C 'tcovergrouppagev_covergroup/mycgft/t_vlcov_covergroup_data.datl13n7binlow_x_b0cross1hmycg.cp_a_x_cp_b.low_x_b0' 2
C 'tcovergrouppagev_covergroup/mycgft/t_vlcov_covergroup_data.datl13n7binhigh_x_b0cross1hmycg.cp_a_x_cp_b.high_x_b0' 0
C 'tcovergrouppagev_covergroup/mycgft/t_vlcov_covergroup_data.datl13n7binlow_x_b_skipcross1hmycg.cp_a_x_cp_b.low_x_b_skip' 0