mirror of
https://github.com/openhwgroup/cvw.git
synced 2025-06-27 08:50:26 -04:00
Merge pull request #1410 from jordancarlin/cvw-arch-verif-riscv-arch-test
Flow for running cvw-arch-verif through riscv-arch-test
This commit is contained in:
commit
56ccd39829
4 changed files with 20 additions and 10 deletions
3
.gitmodules
vendored
3
.gitmodules
vendored
|
@ -33,3 +33,6 @@
|
|||
path = addins/berkeley-testfloat-3
|
||||
url = https://github.com/ucb-bar/berkeley-testfloat-3
|
||||
ignore = untracked
|
||||
[submodule "addins/cvw-riscv-arch-test"]
|
||||
path = addins/cvw-riscv-arch-test
|
||||
url = https://github.com/jordancarlin/riscv-arch-test
|
||||
|
|
1
addins/cvw-riscv-arch-test
Submodule
1
addins/cvw-riscv-arch-test
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit 44832a9d3bea991b099c6beb4c962e5b7c1ad3a3
|
|
@ -484,10 +484,10 @@ def selectTests(args, sims, coverStr):
|
|||
addTestsByDir(f"{WALLY}/tests/riscof/work/riscv-arch-test/rv32i_m/vm_sv32", "rv32gc", coveragesim, coverStr, configs, lockstepMode=1)
|
||||
# addTestsByDir(f"{WALLY}/tests/riscof/work/riscv-arch-test/rv32i_m/pmp32", "rv32gc", coveragesim, coverStr, configs, lockstepMode=1) TODO: Add when working in lockstep
|
||||
# addTestsByDir(f"{WALLY}/tests/riscof/work/riscv-arch-test/rv64i_m/pmp", "rv64gc", coveragesim, coverStr, configs, lockstepMode=1) TODO: Add when working in lockstep
|
||||
# run riscv-arch-test tests in functional coverage mode
|
||||
# run cvw-riscv-arch-test tests in functional coverage mode
|
||||
if args.fcov_act:
|
||||
addTestsByDir(f"{WALLY}/tests/riscof/work/riscv-arch-test/rv32i_m", "rv32gc", coveragesim, coverStr, configs, lockstepMode=1)
|
||||
addTestsByDir(f"{WALLY}/tests/riscof/work/riscv-arch-test/rv64i_m", "rv64gc", coveragesim, coverStr, configs, lockstepMode=1)
|
||||
addTestsByDir(f"{WALLY}/tests/riscof/work/cvw-riscv-arch-test/rv32i", "rv32gc", coveragesim, coverStr, configs, lockstepMode=1)
|
||||
addTestsByDir(f"{WALLY}/tests/riscof/work/cvw-riscv-arch-test/rv64i", "rv64gc", coveragesim, coverStr, configs, lockstepMode=1)
|
||||
# run branch predictor tests
|
||||
if args.branch:
|
||||
addTests(bpredtests, defaultsim, coverStr, configs)
|
||||
|
|
|
@ -5,17 +5,20 @@ nproc := $(shell nproc --ignore=1)
|
|||
|
||||
# Directories
|
||||
arch_dir := $(WALLY)/addins/riscv-arch-test
|
||||
cvw_arch_dir := $(WALLY)/addins/cvw-riscv-arch-test
|
||||
wally_dir := $(WALLY)/tests/wally-riscv-arch-test
|
||||
work_dir := ./riscof_work
|
||||
work := ./work
|
||||
arch_workdir := $(work)/riscv-arch-test
|
||||
cvw_arch_workdir := $(work)/cvw-riscv-arch-test
|
||||
wally_workdir := $(work)/wally-riscv-arch-test
|
||||
current_dir := $(shell pwd)
|
||||
|
||||
# General make rules
|
||||
.PHONY: all riscv-arch-test wally-riscv-arch-test quad64 clean
|
||||
.PHONY: all riscv-arch-test wally-riscv-arch-test clean
|
||||
all: riscv-arch-test wally-riscv-arch-test
|
||||
riscv-arch-test: arch32e arch32 arch64
|
||||
cvw-riscv-arch-test: cvw-arch32e cvw-arch32 cvw-arch64
|
||||
wally-riscv-arch-test: wally32 wally64
|
||||
|
||||
# Generate config.ini files
|
||||
|
@ -28,22 +31,25 @@ arch%: config$$*.ini | $(work_dir) $(arch_workdir)
|
|||
$(MAKE) -f makefile-memfile WORKDIR=$(work_dir)/$@ BITWIDTH=$(patsubst %32e,%32,$*)
|
||||
rsync -a $(work_dir)/$@/rv*/* $(arch_workdir)/rv$(patsubst %64,%64i,$(patsubst %32,%32i,$*))_m || echo "error suppressed"
|
||||
|
||||
# Generate cvw-riscv-arch-test targets
|
||||
# Generate riscv-arch-test targets
|
||||
cvw-arch%: config$$*.ini | $(work_dir) $(cvw_arch_workdir)
|
||||
riscof run --work-dir=$(work_dir)/$@ --config=$< --suite=$(cvw_arch_dir)/riscv-test-suite/ --env=$(cvw_arch_dir)/riscv-test-suite/env --no-browser
|
||||
$(MAKE) -f makefile-memfile WORKDIR=$(work_dir)/$@ BITWIDTH=$(patsubst %32e,%32,$*)
|
||||
rsync -a $(work_dir)/$@/rv*/* $(cvw_arch_workdir)/rv$(patsubst %64,%64i,$(patsubst %32,%32i,$*)) || echo "error suppressed"
|
||||
|
||||
# Generate wally-riscv-arch-test targets
|
||||
wally%: config$$*.ini | $(work_dir) $(wally_workdir)
|
||||
riscof run --work-dir=$(work_dir)/$@ --config=$< --suite=$(wally_dir)/riscv-test-suite/ --env=$(wally_dir)/riscv-test-suite/env --no-browser --no-dut-run
|
||||
$(MAKE) -f makefile-memfile WORKDIR=$(work_dir)/$@
|
||||
rsync -a $(work_dir)/$@/rv*/* $(wally_workdir)/rv$(patsubst %64,%64i,$(patsubst %32,%32i,$*))_m || echo "error suppressed"
|
||||
|
||||
quad64: config64.ini $(wally_dir)/riscv-test-suite/rv64i_m/Q/riscv-ctg/tests | $(work_dir)
|
||||
riscof run --work-dir=$(work_dir)/$@ --config=$< --suite=$(wally_dir)/riscv-test-suite/rv64i_m/Q/riscv-ctg/tests/ --env=$(wally_dir)/riscv-test-suite/env
|
||||
$(MAKE) -f makefile-memfile WORKDIR=$(work_dir)/$@
|
||||
|
||||
clean:
|
||||
rm -f config??*.ini
|
||||
rm -rf $(work_dir)
|
||||
rm -rf $(wally_workdir)
|
||||
rm -rf $(arch_workdir)
|
||||
rm -rf $(submodule_wor_dir)
|
||||
rm -rf $(cvw_arch_workdir)
|
||||
|
||||
$(work_dir) $(arch_workdir) $(wally_workdir):
|
||||
$(work_dir) $(arch_workdir) $(wally_workdir) $(cvw_arch_workdir):
|
||||
mkdir -p $@
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue