mirror of
https://github.com/openhwgroup/cva6.git
synced 2025-04-22 13:17:41 -04:00
Update to upstream fesvr, run CI in parallel
This commit is contained in:
parent
999fd730c5
commit
2702259c5d
4 changed files with 143 additions and 33 deletions
32
Makefile
32
Makefile
|
@ -46,28 +46,8 @@ tbs := tb/alu_tb.sv tb/ariane_tb.sv tb/ariane_testharness.sv tb/dcache_arbiter_t
|
|||
|
||||
# RISCV-tests path
|
||||
riscv-test-dir := tmp/riscv-tests/build/isa
|
||||
riscv-tests := rv64ui-p-add rv64ui-p-addi rv64ui-p-slli rv64ui-p-addiw rv64ui-p-addw rv64ui-p-and rv64ui-p-auipc \
|
||||
rv64ui-p-beq rv64ui-p-bge rv64ui-p-bgeu rv64ui-p-andi rv64ui-p-blt rv64ui-p-bltu rv64ui-p-bne \
|
||||
rv64ui-p-simple rv64ui-p-jal rv64ui-p-jalr rv64ui-p-or rv64ui-p-ori rv64ui-p-sub rv64ui-p-subw \
|
||||
rv64ui-p-xor rv64ui-p-xori rv64ui-p-slliw rv64ui-p-sll rv64ui-p-slli rv64ui-p-sllw \
|
||||
rv64ui-p-slt rv64ui-p-slti rv64ui-p-sltiu rv64ui-p-sltu rv64ui-p-sra rv64ui-p-srai \
|
||||
rv64ui-p-sraiw rv64ui-p-sraw rv64ui-p-srl rv64ui-p-srli rv64ui-p-srliw rv64ui-p-srlw \
|
||||
rv64ui-p-lb rv64ui-p-lbu rv64ui-p-ld rv64ui-p-lh rv64ui-p-lhu rv64ui-p-lui rv64ui-p-lw rv64ui-p-lwu \
|
||||
rv64mi-p-csr rv64mi-p-mcsr rv64mi-p-illegal rv64mi-p-ma_addr rv64mi-p-ma_fetch rv64mi-p-sbreak rv64mi-p-scall \
|
||||
rv64si-p-csr rv64si-p-ma_fetch rv64si-p-scall rv64si-p-wfi rv64si-p-sbreak rv64si-p-dirty \
|
||||
rv64uc-p-rvc \
|
||||
rv64ui-v-add rv64ui-v-addi rv64ui-p-slli rv64ui-v-addiw rv64ui-v-addw rv64ui-v-and rv64ui-v-auipc \
|
||||
rv64ui-v-beq rv64ui-v-bge rv64ui-v-bgeu rv64ui-v-andi rv64ui-v-blt rv64ui-v-bltu rv64ui-v-bne \
|
||||
rv64ui-v-simple rv64ui-v-jal rv64ui-v-jalr rv64ui-v-or rv64ui-v-ori rv64ui-v-sub rv64ui-v-subw \
|
||||
rv64ui-v-xor rv64ui-v-xori rv64ui-v-slliw rv64ui-v-sll rv64ui-v-slli rv64ui-v-slliw \
|
||||
rv64ui-v-slt rv64ui-v-slti rv64ui-v-sltiu rv64ui-v-sltu rv64ui-v-sra rv64ui-v-srai \
|
||||
rv64ui-v-sraiw rv64ui-v-sraw rv64ui-v-srl rv64ui-v-srli rv64ui-v-srliw rv64ui-v-srlw \
|
||||
rv64ui-v-lb rv64ui-v-lbu rv64ui-v-ld rv64ui-v-lh rv64ui-v-lhu rv64ui-v-lui \
|
||||
rv64um-p-mul rv64um-p-mulh rv64um-p-mulhsu rv64um-p-mulhu rv64um-p-div rv64um-p-divu rv64um-p-rem \
|
||||
rv64um-p-remu rv64um-p-mulw rv64um-p-divw rv64um-p-divuw rv64um-p-remw rv64um-p-remuw \
|
||||
rv64um-v-mul rv64um-v-mulh rv64um-v-mulhsu rv64um-v-mulhu rv64um-v-div rv64um-v-divu rv64um-v-rem \
|
||||
rv64um-v-remu rv64um-v-mulw rv64um-v-divw rv64um-v-divuw rv64um-v-remw rv64um-v-remuw
|
||||
|
||||
# there is a defined test-list of CI tests
|
||||
riscv-ci-tests := $$(xargs printf '\n%s' < ci/test.list | cut -b 1-)
|
||||
# preset which runs a single test
|
||||
riscv-test ?= $(riscv-test-dir)/rv64ui-p-add
|
||||
# failed test directory
|
||||
|
@ -140,15 +120,12 @@ simc: build
|
|||
-gblso $(RISCV)/lib/libfesvr.so -sv_lib $(library)/ariane_dpi -do "run -all; do tb/wave/wave_core.do; exit" ${top_level}_optimized +permissive-off ++$(riscv-test)
|
||||
|
||||
run-asm-tests: build
|
||||
$(foreach test, $(riscv-tests), vsim$(questa_version) +permissive -64 +BASEDIR=$(riscv-test-dir) +max-cycles=$(max_cycles) \
|
||||
$(foreach test, $(riscv-ci-tests), vsim$(questa_version) +permissive -64 +BASEDIR=$(riscv-test-dir) +max-cycles=$(max_cycles) \
|
||||
+UVM_TESTNAME=$(test_case) $(uvm-flags) +ASMTEST=$(test) +uvm_set_action="*,_ALL_,UVM_ERROR,UVM_DISPLAY|UVM_STOP" -c \
|
||||
-coverage -classdebug -gblso $(RISCV)/lib/libfesvr.so -sv_lib $(library)/ariane_dpi \
|
||||
-do "coverage save -onexit $@.ucdb; run -a; quit -code [coverage attribute -name TESTSTATUS -concise]" \
|
||||
$(library).$(test_top_level)_optimized +permissive-off ++$(test);)
|
||||
|
||||
run-asm-tests-verilator: verilate
|
||||
$(foreach test, $(riscv-tests), obj_dir/Variane_testharness $(riscv-test-dir)/$(test);)
|
||||
|
||||
# Run the specified test case
|
||||
$(tests): build
|
||||
# Optimize top level
|
||||
|
@ -191,9 +168,6 @@ verilate:
|
|||
$(list_incdir) --top-module ariane_testharness --exe tb/ariane_tb.cpp tb/dpi/SimDTM.cc
|
||||
cd obj_dir && make -j8 -f Variane_testharness.mk
|
||||
|
||||
# -Werror-UNDRIVEN
|
||||
# -Werror-BLKSEQ
|
||||
|
||||
verify:
|
||||
qverify vlog -sv src/csr_regfile.sv
|
||||
|
||||
|
|
|
@ -4,11 +4,10 @@ ROOT=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)
|
|||
cd $ROOT/tmp
|
||||
RELEASE=0.1.0
|
||||
|
||||
if ! [ -e $ROOT/tmp/riscv-fesvr-$RELEASE ]; then
|
||||
wget https://github.com/pulp-platform/riscv-fesvr/archive/v$RELEASE.tar.gz
|
||||
tar xzf v$RELEASE.tar.gz
|
||||
if ! [ -e $ROOT/tmp/riscv-fesvr ]; then
|
||||
https://github.com/riscv/riscv-fesvr.git
|
||||
fi
|
||||
cd $ROOT/tmp/riscv-fesvr-$RELEASE
|
||||
cd $ROOT/tmp/riscv-fesvr
|
||||
mkdir -p build
|
||||
cd build
|
||||
../configure --prefix="$ROOT/tmp"
|
||||
|
|
5
ci/run-tests.sh
Executable file
5
ci/run-tests.sh
Executable file
|
@ -0,0 +1,5 @@
|
|||
#!/bin/sh
|
||||
set -e
|
||||
ROOT=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)
|
||||
printf "$(xargs printf '\n%s' < $ROOT/ci/test.list | cut -b 1-)" | xargs -n1 -P4 -I{} $ROOT/obj_dir/Variane_testharness tmp/riscv-tests/build/isa/{}
|
||||
|
132
ci/test.list
Normal file
132
ci/test.list
Normal file
|
@ -0,0 +1,132 @@
|
|||
rv64ui-p-add
|
||||
rv64ui-p-addi
|
||||
rv64ui-p-slli
|
||||
rv64ui-p-addiw
|
||||
rv64ui-p-addw
|
||||
rv64ui-p-and
|
||||
rv64ui-p-auipc
|
||||
rv64ui-p-beq
|
||||
rv64ui-p-bge
|
||||
rv64ui-p-bgeu
|
||||
rv64ui-p-andi
|
||||
rv64ui-p-blt
|
||||
rv64ui-p-bltu
|
||||
rv64ui-p-bne
|
||||
rv64ui-p-simple
|
||||
rv64ui-p-jal
|
||||
rv64ui-p-jalr
|
||||
rv64ui-p-or
|
||||
rv64ui-p-ori
|
||||
rv64ui-p-sub
|
||||
rv64ui-p-subw
|
||||
rv64ui-p-xor
|
||||
rv64ui-p-xori
|
||||
rv64ui-p-slliw
|
||||
rv64ui-p-sll
|
||||
rv64ui-p-slli
|
||||
rv64ui-p-sllw
|
||||
rv64ui-p-slt
|
||||
rv64ui-p-slti
|
||||
rv64ui-p-sltiu
|
||||
rv64ui-p-sltu
|
||||
rv64ui-p-sra
|
||||
rv64ui-p-srai
|
||||
rv64ui-p-sraiw
|
||||
rv64ui-p-sraw
|
||||
rv64ui-p-srl
|
||||
rv64ui-p-srli
|
||||
rv64ui-p-srliw
|
||||
rv64ui-p-srlw
|
||||
rv64ui-p-lb
|
||||
rv64ui-p-lbu
|
||||
rv64ui-p-ld
|
||||
rv64ui-p-lh
|
||||
rv64ui-p-lhu
|
||||
rv64ui-p-lui
|
||||
rv64ui-p-lw
|
||||
rv64ui-p-lwu
|
||||
rv64mi-p-csr
|
||||
rv64mi-p-mcsr
|
||||
rv64mi-p-illegal
|
||||
rv64mi-p-ma_addr
|
||||
rv64mi-p-ma_fetch
|
||||
rv64mi-p-sbreak
|
||||
rv64mi-p-scall
|
||||
rv64si-p-csr
|
||||
rv64si-p-ma_fetch
|
||||
rv64si-p-scall
|
||||
rv64si-p-wfi
|
||||
rv64si-p-sbreak
|
||||
rv64si-p-dirty
|
||||
rv64uc-p-rvc
|
||||
rv64ui-v-add
|
||||
rv64ui-v-addi
|
||||
rv64ui-p-slli
|
||||
rv64ui-v-addiw
|
||||
rv64ui-v-addw
|
||||
rv64ui-v-and
|
||||
rv64ui-v-auipc
|
||||
rv64ui-v-beq
|
||||
rv64ui-v-bge
|
||||
rv64ui-v-bgeu
|
||||
rv64ui-v-andi
|
||||
rv64ui-v-blt
|
||||
rv64ui-v-bltu
|
||||
rv64ui-v-bne
|
||||
rv64ui-v-simple
|
||||
rv64ui-v-jal
|
||||
rv64ui-v-jalr
|
||||
rv64ui-v-or
|
||||
rv64ui-v-ori
|
||||
rv64ui-v-sub
|
||||
rv64ui-v-subw
|
||||
rv64ui-v-xor
|
||||
rv64ui-v-xori
|
||||
rv64ui-v-slliw
|
||||
rv64ui-v-sll
|
||||
rv64ui-v-slli
|
||||
rv64ui-v-slliw
|
||||
rv64ui-v-slt
|
||||
rv64ui-v-slti
|
||||
rv64ui-v-sltiu
|
||||
rv64ui-v-sltu
|
||||
rv64ui-v-sra
|
||||
rv64ui-v-srai
|
||||
rv64ui-v-sraiw
|
||||
rv64ui-v-sraw
|
||||
rv64ui-v-srl
|
||||
rv64ui-v-srli
|
||||
rv64ui-v-srliw
|
||||
rv64ui-v-srlw
|
||||
rv64ui-v-lb
|
||||
rv64ui-v-lbu
|
||||
rv64ui-v-ld
|
||||
rv64ui-v-lh
|
||||
rv64ui-v-lhu
|
||||
rv64ui-v-lui
|
||||
rv64um-p-mul
|
||||
rv64um-p-mulh
|
||||
rv64um-p-mulhsu
|
||||
rv64um-p-mulhu
|
||||
rv64um-p-div
|
||||
rv64um-p-divu
|
||||
rv64um-p-rem
|
||||
rv64um-p-remu
|
||||
rv64um-p-mulw
|
||||
rv64um-p-divw
|
||||
rv64um-p-divuw
|
||||
rv64um-p-remw
|
||||
rv64um-p-remuw
|
||||
rv64um-v-mul
|
||||
rv64um-v-mulh
|
||||
rv64um-v-mulhsu
|
||||
rv64um-v-mulhu
|
||||
rv64um-v-div
|
||||
rv64um-v-divu
|
||||
rv64um-v-rem
|
||||
rv64um-v-remu
|
||||
rv64um-v-mulw
|
||||
rv64um-v-divw
|
||||
rv64um-v-divuw
|
||||
rv64um-v-remw
|
||||
rv64um-v-remuw
|
Loading…
Add table
Add a link
Reference in a new issue