Skip to content

Commit 85cc264

Browse files
Merge pull request #1331 from jordancarlin/riscv-arch-test-bump
Update riscv-arch-test and add sv32 tests to fcov
2 parents 9715b0a + 139e040 commit 85cc264

File tree

3 files changed

+17
-2
lines changed

3 files changed

+17
-2
lines changed

addins/riscv-arch-test

bin/regression-wally

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,7 @@ def addTestsByDir(testDir, config, sim, coverStr, configs, lockstepMode=0, breke
319319
sim_logdir = f"{regressionDir}/{sim}/logs/"
320320
cmdPrefix = f"wsim --sim {sim} {coverStr} {'--lockstep' if lockstepMode else ''} {config}"
321321
# fcov/ccov only runs on WALLY-COV-ALL.elf files; other lockstep runs on all files
322-
fileStart = "WALLY-COV-ALL" if "cvw-arch-verif/tests" in testDir and "priv" not in testDir else ""
322+
fileStart = "WALLY-COV-ALL" if "cvw-arch-verif/tests" in testDir and "priv" not in testDir else "ref" if "riscv-arch-test" in testDir else ""
323323
fileEnd = ".elf"
324324
if lockstepMode:
325325
gs = "Mismatches : 0"
@@ -438,11 +438,19 @@ def selectTests(args, sims, coverStr):
438438
addTestsByDir(f"{archVerifDir}/tests/lockstep/rv64/", "rv64gc", coveragesim, coverStr, configs)
439439
addTestsByDir(f"{archVerifDir}/tests/lockstep/priv/rv64/", "rv64gc", coveragesim, coverStr, configs)
440440
addTestsByDir(WALLY+"/tests/coverage/", "rv64gc", coveragesim, coverStr, configs)
441+
# Extra tests from riscv-arch-test that should be run as part of the functional coverage suite
442+
addTestsByDir(f"{WALLY}/tests/riscof/work/riscv-arch-test/rv32i_m/vm_sv32", "rv32gc", coveragesim, coverStr, configs)
443+
addTestsByDir(f"{WALLY}/tests/riscof/work/riscv-arch-test/rv32i_m/pmp32", "rv32gc", coveragesim, coverStr, configs)
444+
addTestsByDir(f"{WALLY}/tests/riscof/work/riscv-arch-test/rv64i_m/pmp64", "rv64gc", coveragesim, coverStr, configs)
441445
elif args.fcov: # run tests in lockstep in functional coverage mode
442446
addTestsByDir(f"{archVerifDir}/tests/lockstep/rv32/", "rv32gc", coveragesim, coverStr, configs, lockstepMode=1)
443447
addTestsByDir(f"{archVerifDir}/tests/lockstep/rv64/", "rv64gc", coveragesim, coverStr, configs, lockstepMode=1)
444448
addTestsByDir(f"{archVerifDir}/tests/lockstep/priv/rv32/", "rv32gc", coveragesim, coverStr, configs, lockstepMode=1)
445449
addTestsByDir(f"{archVerifDir}/tests/lockstep/priv/rv64/", "rv64gc", coveragesim, coverStr, configs, lockstepMode=1)
450+
# Extra tests from riscv-arch-test that should be run as part of the functional coverage suite
451+
addTestsByDir(f"{WALLY}/tests/riscof/work/riscv-arch-test/rv32i_m/vm_sv32", "rv32gc", coveragesim, coverStr, configs, lockstepMode=1)
452+
# addTestsByDir(f"{WALLY}/tests/riscof/work/riscv-arch-test/rv32i_m/pmp32", "rv32gc", coveragesim, coverStr, configs, lockstepMode=1) TODO: Add when working in lockstep
453+
# addTestsByDir(f"{WALLY}/tests/riscof/work/riscv-arch-test/rv64i_m/pmp64", "rv64gc", coveragesim, coverStr, configs, lockstepMode=1) TODO: Add when working in lockstep
446454
elif args.breker:
447455
addTestsByDir(WALLY+"/tests/breker/work", "breker", "questa", coverStr, configs, brekerMode=1)
448456
elif not args.testfloat:

testbench/tests.vh

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,9 @@ string arch32vm_sv32[] = '{
253253
"rv32i_m/vm_sv32/src/vm_U_Bit_set_U_mode.S",
254254
"rv32i_m/vm_sv32/src/vm_U_Bit_unset_S_mode.S",
255255
"rv32i_m/vm_sv32/src/vm_U_Bit_unset_U_mode.S",
256+
"rv32i_m/vm_sv32/src/vm_VA_all_ones_S_mode.S",
257+
"rv32i_m/vm_sv32/src/vm_global_pte_S_mode.S",
258+
"rv32i_m/vm_sv32/src/vm_global_pte_U_mode.S",
256259
"rv32i_m/vm_sv32/src/vm_invalid_pte_S_mode.S",
257260
"rv32i_m/vm_sv32/src/vm_invalid_pte_U_mode.S",
258261
"rv32i_m/vm_sv32/src/vm_misaligned_S_mode.S",
@@ -261,6 +264,9 @@ string arch32vm_sv32[] = '{
261264
"rv32i_m/vm_sv32/src/vm_mprv_U_mode.S",
262265
"rv32i_m/vm_sv32/src/vm_mprv_U_set_sum_set_S_mode.S",
263266
"rv32i_m/vm_sv32/src/vm_mprv_U_set_sum_unset_S_mode.S",
267+
"rv32i_m/vm_sv32/src/vm_mprv_bare_mode.S",
268+
// "rv32i_m/vm_sv32/src/vm_mstatus_sbe_set_S_mode.S", TODO: Reenable when Sail big endian support is merged
269+
// "rv32i_m/vm_sv32/src/vm_mstatus_sbe_set_sum_set_S_mode.S",
264270
"rv32i_m/vm_sv32/src/vm_mxr_S_mode.S",
265271
"rv32i_m/vm_sv32/src/vm_mxr_U_mode.S",
266272
"rv32i_m/vm_sv32/src/vm_nleaf_pte_level0_S_mode.S",
@@ -270,6 +276,7 @@ string arch32vm_sv32[] = '{
270276
"rv32i_m/vm_sv32/src/vm_reserved_rwx_pte_S_mode.S",
271277
"rv32i_m/vm_sv32/src/vm_reserved_rwx_pte_U_mode.S",
272278
"rv32i_m/vm_sv32/src/vm_sum_set_S_mode.S",
279+
"rv32i_m/vm_sv32/src/vm_sum_set_U_Bit_unset_S_mode.S",
273280
"rv32i_m/vm_sv32/src/vm_sum_unset_S_mode.S"
274281
};
275282

0 commit comments

Comments
 (0)