mirror of
https://github.com/openhwgroup/cvw
synced 2025-02-02 09:45:18 +00:00
Update Breker platform.yaml and test compilation
This commit is contained in:
parent
311125f4bd
commit
68205b844d
1
.gitignore
vendored
1
.gitignore
vendored
@ -33,6 +33,7 @@ tests/fp/combined_IF_vectors/IF_vectors/*.tv
|
|||||||
tests/custom/*/*/
|
tests/custom/*/*/
|
||||||
tests/custom/*/*/*.memfile
|
tests/custom/*/*/*.memfile
|
||||||
sim/tests/riscvdv
|
sim/tests/riscvdv
|
||||||
|
testbench/trek_files/uvm_output
|
||||||
|
|
||||||
# Linux
|
# Linux
|
||||||
linux/buildroot
|
linux/buildroot
|
||||||
|
4
Makefile
4
Makefile
@ -39,6 +39,10 @@ coverage:
|
|||||||
cvw-arch-verif:
|
cvw-arch-verif:
|
||||||
$(MAKE) -C ${WALLY}/addins/cvw-arch-verif
|
$(MAKE) -C ${WALLY}/addins/cvw-arch-verif
|
||||||
|
|
||||||
|
breker:
|
||||||
|
$(MAKE) -C ${WALLY}/testbench/trek_files
|
||||||
|
$(MAKE) -C ${WALLY}/tests/breker
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
$(MAKE) clean -C sim
|
$(MAKE) clean -C sim
|
||||||
$(MAKE) clean -C ${WALLY}/tests/fp
|
$(MAKE) clean -C ${WALLY}/tests/fp
|
||||||
|
@ -291,7 +291,7 @@ def addTests(tests, sim):
|
|||||||
configs.append(tc)
|
configs.append(tc)
|
||||||
|
|
||||||
|
|
||||||
def addTestsByDir(dir, config, sim, lockstepMode=0):
|
def addTestsByDir(dir, config, sim, lockstepMode=0, brekerMode=0):
|
||||||
if os.path.isdir(dir):
|
if os.path.isdir(dir):
|
||||||
sim_logdir = WALLY+ "/sim/" + sim + "/logs/"
|
sim_logdir = WALLY+ "/sim/" + sim + "/logs/"
|
||||||
if coverStr == "--fcov": # use --fcov in place of --lockstep
|
if coverStr == "--fcov": # use --fcov in place of --lockstep
|
||||||
@ -312,6 +312,10 @@ def addTestsByDir(dir, config, sim, lockstepMode=0):
|
|||||||
cmdPrefix="wsim --lockstep --sim " + sim + " " + config
|
cmdPrefix="wsim --lockstep --sim " + sim + " " + config
|
||||||
gs="Mismatches : 0"
|
gs="Mismatches : 0"
|
||||||
fileEnd = ".elf"
|
fileEnd = ".elf"
|
||||||
|
elif brekerMode:
|
||||||
|
cmdPrefix="wsim --sim " + sim + " " + config
|
||||||
|
gs="# trek: info: summary: Test PASSED"
|
||||||
|
fileEnd = ".elf"
|
||||||
else:
|
else:
|
||||||
cmdPrefix="wsim --sim " + sim + " " + config
|
cmdPrefix="wsim --sim " + sim + " " + config
|
||||||
gs="Single Elf file tests are not signatured verified."
|
gs="Single Elf file tests are not signatured verified."
|
||||||
@ -442,8 +446,8 @@ elif (args.fcov): # run tests in lockstep in functional coverage mode
|
|||||||
addTestsByDir(WALLY+"/addins/cvw-arch-verif/tests/rv64/", "rv64gc", coveragesim)
|
addTestsByDir(WALLY+"/addins/cvw-arch-verif/tests/rv64/", "rv64gc", coveragesim)
|
||||||
addTestsByDir(WALLY+"/addins/cvw-arch-verif/tests/priv/rv32/", "rv32gc", coveragesim)
|
addTestsByDir(WALLY+"/addins/cvw-arch-verif/tests/priv/rv32/", "rv32gc", coveragesim)
|
||||||
addTestsByDir(WALLY+"/addins/cvw-arch-verif/tests/priv/rv64/", "rv64gc", coveragesim)
|
addTestsByDir(WALLY+"/addins/cvw-arch-verif/tests/priv/rv64/", "rv64gc", coveragesim)
|
||||||
# elif (args.breker):
|
elif (args.breker):
|
||||||
# addLockstepTestsByDir(WALLY+"/tests/breker/work", "breker", coveragesim, 0)
|
addTestsByDir(WALLY+"/tests/breker/work", "breker", "questa", brekerMode=1)
|
||||||
else:
|
else:
|
||||||
for sim in sims:
|
for sim in sims:
|
||||||
if (not (args.buildroot and sim == lockstepsim)): # skip short buildroot sim if running long one
|
if (not (args.buildroot and sim == lockstepsim)): # skip short buildroot sim if running long one
|
||||||
@ -454,9 +458,9 @@ else:
|
|||||||
|
|
||||||
# run derivative configurations and lockstep tests in nightly regression
|
# run derivative configurations and lockstep tests in nightly regression
|
||||||
if (args.nightly):
|
if (args.nightly):
|
||||||
addTestsByDir(WALLY+"/tests/coverage", "rv64gc", lockstepsim, 1)
|
addTestsByDir(WALLY+"/tests/coverage", "rv64gc", lockstepsim, lockstepMode=1)
|
||||||
addTestsByDir(WALLY+"/tests/riscof/work/wally-riscv-arch-test/rv64i_m", "rv64gc", lockstepsim, 1)
|
addTestsByDir(WALLY+"/tests/riscof/work/wally-riscv-arch-test/rv64i_m", "rv64gc", lockstepsim, lockstepMode=1)
|
||||||
addTestsByDir(WALLY+"/tests/riscof/work/wally-riscv-arch-test/rv32i_m", "rv32gc", lockstepsim, 1)
|
addTestsByDir(WALLY+"/tests/riscof/work/wally-riscv-arch-test/rv32i_m", "rv32gc", lockstepsim, lockstepMode=1)
|
||||||
addTests(derivconfigtests, defaultsim)
|
addTests(derivconfigtests, defaultsim)
|
||||||
# addTests(bpredtests, defaultsim) # This is currently broken in regression due to something related to the new wsim script.
|
# addTests(bpredtests, defaultsim) # This is currently broken in regression due to something related to the new wsim script.
|
||||||
|
|
||||||
|
4
bin/wsim
4
bin/wsim
@ -67,7 +67,9 @@ def elfFileCheck(args):
|
|||||||
# extract the elf name from the path to be the test suite
|
# extract the elf name from the path to be the test suite
|
||||||
fields = args.testsuite.rsplit('/', 3)
|
fields = args.testsuite.rsplit('/', 3)
|
||||||
# if the name is just ref.elf in a deep path (riscv-arch-test/wally-riscv-arch-test), then use the directory name as the test suite to make it unique; otherwise work directory will have duplicates.
|
# if the name is just ref.elf in a deep path (riscv-arch-test/wally-riscv-arch-test), then use the directory name as the test suite to make it unique; otherwise work directory will have duplicates.
|
||||||
if (len(fields) > 3):
|
if ("breker" in args.testsuite):
|
||||||
|
args.testsuite = fields[-1]
|
||||||
|
elif (len(fields) > 3):
|
||||||
if (fields[2] == "ref"):
|
if (fields[2] == "ref"):
|
||||||
args.testsuite = f"{fields[1]}_{fields[3]}"
|
args.testsuite = f"{fields[1]}_{fields[3]}"
|
||||||
else:
|
else:
|
||||||
|
@ -4,8 +4,9 @@ TREKSVIP_YAML := $(BREKER_HOME)/examples/tutorials/svip/treksvip/yaml/treksvi
|
|||||||
TREKEXE_FLAGS += --seed 0x # free (0x) or lock (0x1) the seed used for test generation
|
TREKEXE_FLAGS += --seed 0x # free (0x) or lock (0x1) the seed used for test generation
|
||||||
TREKSVIP = source $(TREKFILES)/breker-setup.sh && treksvip -p $(PLATFORM_YAML) -p $(TREKSVIP_YAML) $(TREKEXE_FLAGS)
|
TREKSVIP = source $(TREKFILES)/breker-setup.sh && treksvip -p $(PLATFORM_YAML) -p $(TREKSVIP_YAML) $(TREKEXE_FLAGS)
|
||||||
|
|
||||||
uvm_output:
|
uvm_output: uvm_output/trek_uvm.sv
|
||||||
rm -rf uvm_output
|
|
||||||
|
uvm_output/trek_uvm.sv: $(PLATFORM_YAML) $(TREKSVIP_YAML)
|
||||||
$(TREKSVIP) -p $(PLATFORM_YAML) -p $(TREKSVIP_YAML) --uvm_output=uvm_output
|
$(TREKSVIP) -p $(PLATFORM_YAML) -p $(TREKSVIP_YAML) --uvm_output=uvm_output
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
|
@ -100,7 +100,7 @@ trek:
|
|||||||
doc: >-
|
doc: >-
|
||||||
Detail settings when mailbox type is `single`
|
Detail settings when mailbox type is `single`
|
||||||
init_type:
|
init_type:
|
||||||
value: static
|
value: backdoor #static
|
||||||
doc: >-
|
doc: >-
|
||||||
Strategy to use for mailbox memory initialization.
|
Strategy to use for mailbox memory initialization.
|
||||||
Options are:
|
Options are:
|
||||||
@ -108,13 +108,13 @@ trek:
|
|||||||
- backdoor
|
- backdoor
|
||||||
- frontdoor
|
- frontdoor
|
||||||
c2t_base:
|
c2t_base:
|
||||||
value: 0x1000
|
value: 0x83000000
|
||||||
doc: >-
|
doc: >-
|
||||||
Fixed base address of C to trekbox mailbox region.
|
Fixed base address of C to trekbox mailbox region.
|
||||||
Allow 64 bytes per processor.
|
Allow 64 bytes per processor.
|
||||||
Used for init_type of `backdoor` and `frontdoor` only.
|
Used for init_type of `backdoor` and `frontdoor` only.
|
||||||
t2c_base:
|
t2c_base:
|
||||||
value: 0x2000
|
value: 0x83001000
|
||||||
doc: >-
|
doc: >-
|
||||||
Fixed base address of trekbox to C mailbox region.
|
Fixed base address of trekbox to C mailbox region.
|
||||||
Allow 64 bytes per processor.
|
Allow 64 bytes per processor.
|
||||||
|
Loading…
Reference in New Issue
Block a user