Add serpent targets to CI

This commit is contained in:
Michael Schaffner 2018-09-13 13:30:49 +02:00
parent 42d80bd2ba
commit 40c067a0b1
No known key found for this signature in database
GPG key ID: 7AA09AE049819C2C
2 changed files with 95 additions and 9 deletions

View file

@ -1,18 +1,18 @@
before_script:
- export CXX=g++-7 CC=gcc-7
# paths to local or network installations (the riscv toolchain and
# verilator are not built in the ci job as in travis)
- export QUESTASIM_HOME=
- export QUESTASIM_VERSION=
- export QUESTASIM_FLAGS=
- export RISCV=/scratch/$USER/projects/riscv_install
- export VERILATOR_ROOT=/scratch/$USER/projects/verilator-3.924
- export QUESTASIM_HOME=/usr/pack/modelsim-10.6b-kgf/questasim/
- export QUESTASIM_VERSION=-10.6b
- export QUESTASIM_FLAGS=-noautoldlibpath
- export CXX=g++-7.2.0 CC=gcc-7.2.0
- export RISCV=/usr/scratch2/larain1/gitlabci/riscv_install
- export VERILATOR_ROOT=/usr/scratch2/larain1/gitlabci/verilator-3.924
# setup dependent paths
- export PATH=${RISCV}/bin:$VERILATOR_ROOT/bin:${PATH}
- export LIBRARY_PATH=$RISCV/lib
- export LD_LIBRARY_PATH=$RISCV/lib
- export C_INCLUDE_PATH=$RISCV/include:$VERILATOR_ROOT/include
- export CPLUS_INCLUDE_PATH=$RISCV/include:$VERILATOR_ROOT/include
- export LD_LIBRARY_PATH=$RISCV/lib:/usr/pack/gcc-7.2.0-af/linux-x64/lib64/
- export C_INCLUDE_PATH=$RISCV/include:$VERILATOR_ROOT/include:/usr/pack/gcc-7.2.0-af/linux-x64/include
- export CPLUS_INCLUDE_PATH=$RISCV/include:$VERILATOR_ROOT/include:/usr/pack/gcc-7.2.0-af/linux-x64/include
# number of parallel jobs to use for make commands and simulation
- export NUM_JOBS=4
- ci/make-tmp.sh
@ -24,6 +24,7 @@ variables:
stages:
- build
- test_std
- test_serpent
###################################
# prepare
@ -88,3 +89,60 @@ torture:
dependencies:
- build
###################################
# tests with serpent cache system
# rv64ui-p-* and rv64ui-v-* tests
serp-asm-quest:
stage: test_serpent
script:
- make -j${NUM_JOBS} run-asm-tests questa_version=$QUESTASIM_VERSION defines=SERPENT_PULP+AXI64_CACHE_PORTS
dependencies:
- build
serp-bench-quest:
stage: test_serpent
script:
- make -j${NUM_JOBS} run-benchmarks questa_version=$QUESTASIM_VERSION defines=SERPENT_PULP+AXI64_CACHE_PORTS
dependencies:
- build
# rv64ui-p-* tests
serp-asm1-ver:
stage: test_serpent
script:
- make -j${NUM_JOBS} run-asm-tests1-verilator verilator=$VERILATOR_ROOT/bin/verilator defines=SERPENT_PULP+AXI64_CACHE_PORTS
dependencies:
- build
# rv64ui-v-* tests
serp-asm2-ver:
stage: test_serpent
script:
- make -j${NUM_JOBS} run-asm-tests2-verilator verilator=$VERILATOR_ROOT/bin/verilator defines=SERPENT_PULP+AXI64_CACHE_PORTS
dependencies:
- build
serp-bench-ver:
stage: test_serpent
script:
- make -j${NUM_JOBS} run-benchmarks-verilator verilator=$VERILATOR_ROOT/bin/verilator defines=SERPENT_PULP+AXI64_CACHE_PORTS
dependencies:
- build
serp-icache-quest:
stage: test_serpent
script:
- cd tb/tb_serpent_icache/
- make simc
- "grep 'CI: PASSED' summary.rep"
dependencies:
- build
serp-torture:
stage: test_serpent
script:
- make torture-rtest defines=SERPENT_PULP+AXI64_CACHE_PORTS
- make torture-rtest-verilator defines=SERPENT_PULP+AXI64_CACHE_PORTS
dependencies:
- build

View file

@ -96,5 +96,33 @@ jobs:
- make torture-gen
- make torture-rtest-verilator verilator=$VERILATOR_ROOT/bin/verilator
- stage: test
name: run riscv benchmarks (serpent)
script:
- ci/build-riscv-tests.sh
- make -j${NUM_JOBS} run-benchmarks-verilator verilator=$VERILATOR_ROOT/bin/verilator defines=SERPENT_PULP+AXI64_CACHE_PORTS
# rv64ui-p-* tests
- stage: test
name: run asm tests1 (serpent)
script:
- ci/build-riscv-tests.sh
- make -j${NUM_JOBS} run-asm-tests1-verilator verilator=$VERILATOR_ROOT/bin/verilator defines=SERPENT_PULP+AXI64_CACHE_PORTS
# rv64ui-v-* tests
- stage: test
name: run asm tests2 (serpent)
script:
- ci/build-riscv-tests.sh
- make -j${NUM_JOBS} run-asm-tests2-verilator verilator=$VERILATOR_ROOT/bin/verilator defines=SERPENT_PULP+AXI64_CACHE_PORTS
- stage: test
name: run torture (serpent)
script:
- ci/get-torture.sh
- make clean
- make torture-gen defines=SERPENT_PULP+AXI64_CACHE_PORTS
- make torture-rtest-verilator verilator=$VERILATOR_ROOT/bin/verilator defines=SERPENT_PULP+AXI64_CACHE_PORTS
# extra time during long builds
install: travis_wait