diff --git a/bin/regression-wally b/bin/regression-wally index 5baf73f0f..ccbc249f9 100755 --- a/bin/regression-wally +++ b/bin/regression-wally @@ -292,7 +292,10 @@ def addTests(tests, sim): def addLockstepTestsByDir(dir, config, sim): sim_logdir = WALLY+ "/sim/" + sim + "/logs/" - cmdPrefix="wsim --lockstep --sim " + sim + " " + coverStr + " " + config + if (coverStr != ""): # use --fcov in place of --lockstep + cmdPrefix="wsim --sim " + sim + " " + coverStr + " " + config + else: + cmdPrefix="wsim --lockstep --sim " + sim + " " + config if (os.path.isdir(dir)): for dirpath, dirnames, filenames in os.walk(os.path.abspath(dir)): for file in filenames: diff --git a/config/rv32gc/coverage.svh b/config/rv32gc/coverage.svh new file mode 100644 index 000000000..d40d78ea2 --- /dev/null +++ b/config/rv32gc/coverage.svh @@ -0,0 +1,13 @@ +// coverage.svh +// David_Harris@hmc.edu 7 September 2024 +// SPDX-License-Identifier: Apache-2.0 WITH SHL-2.1 + +// This file is needed in the config subdirectory for each config supporting coverage. +// It defines which extensions are enabled for that config. + +`define COVER_RV32I +`define COVER_RV32M +`define COVER_RV32F +`include "coverage/RV32I_coverage.svh" +`include "coverage/RV32M_coverage.svh" +`include "coverage/RV32F_coverage.svh" diff --git a/config/rv64gc/coverage.svh b/config/rv64gc/coverage.svh new file mode 100644 index 000000000..ee811e922 --- /dev/null +++ b/config/rv64gc/coverage.svh @@ -0,0 +1,13 @@ +// coverage.svh +// David_Harris@hmc.edu 7 September 2024 +// SPDX-License-Identifier: Apache-2.0 WITH SHL-2.1 + +// This file is needed in the config subdirectory for each config supporting coverage. +// It defines which extensions are enabled for that config. + +`define COVER_RV64I +`define COVER_RV64M +`define COVER_RV64F +`include "coverage/RV64I_coverage.svh" +`include "coverage/RV64M_coverage.svh" +`include "coverage/RV64F_coverage.svh" diff --git a/sim/questa/wally.do b/sim/questa/wally.do index 53ff8d0b8..6f8c81b1b 100644 --- a/sim/questa/wally.do +++ b/sim/questa/wally.do @@ -141,21 +141,10 @@ if {[lcheck lst "--fcov"]} { set FCvlog "+define+INCLUDE_TRACE2COV \ +define+IDV_INCLUDE_TRACE2COV \ +define+COVER_BASE_RV32I \ - +define+COVER_LEVEL_DV_PR_EXT \ +incdir+$env(WALLY)/addins/riscvISACOV/source \ " -# +incdir+$env(WALLY)/addins/cvw-arch-verif/fcov/rv32 \ - set FCvopt "+TRACE2COV_ENABLE=1 +IDV_TRACE2COV=1" - # Uncomment various cover statements below to control which extensions get functional coverage - lappend FCdefineCOVER_EXTS "+define+COVER_RV32I" - lappend FCdefineCOVER_EXTS "+define+COVER_RV32M" - #lappend FCdefineCOVER_EXTS "+define+COVER_RV64M" - #lappend FCdefineCOVER_EXTS "+define+COVER_RV64A" - #lappend FCdefineCOVER_EXTS "+define+COVER_RV64F" - #lappend FCdefineCOVER_EXTS "+define+COVER_RV64D" - #lappend FCdefineCOVER_EXTS "+define+COVER_RV64ZICSR" - #lappend FCdefineCOVER_EXTS "+define+COVER_RV64C" + } # if --lockstep or --fcov found set flag and remove from list