Vortex 2.0 changes:
+ Microarchitecture optimizations + 64-bit support + Xilinx FPGA support + LLVM-16 support + Refactoring and quality control fixes
This commit is contained in:
87
.travis.yml
87
.travis.yml
@@ -9,21 +9,31 @@ addons:
|
||||
packages:
|
||||
- build-essential
|
||||
- valgrind
|
||||
- verilator
|
||||
- yosys
|
||||
- libpng-dev
|
||||
- libboost-serialization-dev
|
||||
- libstdc++6
|
||||
- hwloc
|
||||
|
||||
install:
|
||||
# Set environments
|
||||
- export RISCV_TOOLCHAIN_PATH=/opt/riscv-gnu-toolchain
|
||||
- export VERILATOR_ROOT=/opt/verilator
|
||||
- export PATH=$VERILATOR_ROOT/bin:$PATH
|
||||
install:
|
||||
# Install toolchain
|
||||
- ci/toolchain_install.sh -all
|
||||
- export TOOLDIR=$HOME/tools
|
||||
- mkdir -p $TOOLDIR
|
||||
- DESTDIR=$TOOLDIR ./ci/toolchain_install.sh --all
|
||||
# Set environments
|
||||
- export RISCV_TOOLCHAIN_PATH=$TOOLDIR/riscv-gnu-toolchain
|
||||
- export LLVM_POCL=$TOOLDIR/llvm-pocl
|
||||
- export LLVM_VORTEX=$TOOLDIR/llvm-vortex
|
||||
- export VERILATOR_ROOT=$TOOLDIR/verilator
|
||||
- export PATH=$VERILATOR_ROOT/bin:$PATH
|
||||
- export SV2V_PATH=$TOOLDIR/sv2v
|
||||
- export PATH=$SV2V_PATH/bin:$PATH
|
||||
- export YOSYS_PATH=$TOOLDIR/yosys
|
||||
- export PATH=$YOSYS_PATH/bin:$PATH
|
||||
- export POCL_CC_PATH=$TOOLDIR/pocl/compiler
|
||||
- export POCL_RT_PATH=$TOOLDIR/pocl/runtime
|
||||
# build project
|
||||
- make -s
|
||||
- cp -r $PWD ../build32 && cd ../build32 && make clean-all && make
|
||||
- cp -r $PWD ../build64 && cd ../build64 && make clean-all && XLEN=64 RISCV_TOOLCHAIN_PATH=$TOOLDIR/riscv64-gnu-toolchain make
|
||||
|
||||
# stages ordering
|
||||
stages:
|
||||
@@ -32,45 +42,54 @@ stages:
|
||||
jobs:
|
||||
include:
|
||||
- stage: test
|
||||
name: coverage
|
||||
script: cp -r $PWD ../build_coverage && cd ../build_coverage && ./ci/travis_run.py ./ci/regression.sh -coverage
|
||||
name: unittest
|
||||
script: cp -r ../build32 ../build32_unittest && cd ../build32_unittest && ./ci/travis_run.py ./ci/regression.sh --unittest
|
||||
- stage: test
|
||||
name: coverage64
|
||||
script: cp -r $PWD ../build_coverage64 && cd ../build_coverage64 && ./ci/travis_run.py ./ci/regression64.sh -coverage
|
||||
name: isa
|
||||
script: cp -r ../build32 ../build32_isa && cd ../build32_isa && ./ci/travis_run.py ./ci/regression.sh --isa
|
||||
- stage: test
|
||||
name: tex
|
||||
script: cp -r $PWD ../build_tex && cd ../build_tex && ./ci/travis_run.py ./ci/regression.sh -tex
|
||||
name: isa64
|
||||
script: cp -r ../build64 ../build64_isa && cd ../build64_isa && XLEN=64 RISCV_TOOLCHAIN_PATH=$TOOLDIR/riscv64-gnu-toolchain ./ci/travis_run.py ./ci/regression.sh --isa
|
||||
- stage: test
|
||||
name: regression
|
||||
script: cp -r ../build32 ../build32_regression && cd ../build32_regression && ./ci/travis_run.py ./ci/regression.sh --regression
|
||||
- stage: test
|
||||
name: regression64
|
||||
script: cp -r ../build64 ../build64_regression && cd ../build64_regression && XLEN=64 RISCV_TOOLCHAIN_PATH=$TOOLDIR/riscv64-gnu-toolchain ./ci/travis_run.py ./ci/regression.sh --regression
|
||||
- stage: test
|
||||
name: opencl
|
||||
script: cp -r ../build32 ../build32_opencl && cd ../build32_opencl && ./ci/travis_run.py ./ci/regression.sh --opencl
|
||||
- stage: test
|
||||
name: cluster
|
||||
script: cp -r $PWD ../build_cluster && cd ../build_cluster && ./ci/travis_run.py ./ci/regression.sh -cluster
|
||||
script: cp -r ../build32 ../build32_cluster && cd ../build32_cluster && ./ci/travis_run.py ./ci/regression.sh --cluster
|
||||
- stage: test
|
||||
name: config
|
||||
script: cp -r $PWD ../build_config && cd ../build_config && ./ci/travis_run.py ./ci/regression.sh -config
|
||||
script: cp -r ../build32 ../build32_config && cd ../build32_config && ./ci/travis_run.py ./ci/regression.sh --config
|
||||
- stage: test
|
||||
name: debug
|
||||
script: cp -r $PWD ../build_debug && cd ../build_debug && ./ci/travis_run.py ./ci/regression.sh -debug
|
||||
script: cp -r ../build32 ../build32_debug && cd ../build32_debug && ./ci/travis_run.py ./ci/regression.sh --debug
|
||||
- stage: test
|
||||
name: stress0
|
||||
script: cp -r $PWD ../build_stress0 && cd ../build_stress0 && ./ci/travis_run.py ./ci/regression.sh -stress0
|
||||
script: cp -r ../build32 ../build32_stress0 && cd ../build32_stress0 && ./ci/travis_run.py ./ci/regression.sh --stress0
|
||||
- stage: test
|
||||
name: stress1
|
||||
script: cp -r $PWD ../build_stress1 && cd ../build_stress1 && ./ci/travis_run.py ./ci/regression.sh -stress1
|
||||
script: cp -r ../build32 ../build32_stress1 && cd ../build32_stress1 && ./ci/travis_run.py ./ci/regression.sh --stress1
|
||||
- stage: test
|
||||
name: synthesis
|
||||
script: cp -r ../build32 ../build32_isa && cd ../build32_isa && ./ci/travis_run.py ./ci/regression.sh --synthesis
|
||||
- stage: test
|
||||
name: synthesis64
|
||||
script: cp -r ../build64 ../build64_isa && cd ../build64_isa && XLEN=64 ./ci/travis_run.py ./ci/regression.sh --synthesis
|
||||
- stage: test
|
||||
name: compiler
|
||||
script: cp -r $PWD ../build_compiler && cd ../build_compiler && ./ci/travis_run.py ./ci/test_compiler.sh
|
||||
- stage: test
|
||||
name: tex
|
||||
script: cp -r $PWD ../build_tex && cd ../build_tex && ./ci/travis_run.py ./ci/regression.sh -tex
|
||||
- stage: test
|
||||
name: unittest
|
||||
script: cp -r $PWD ../build_unittest && cd ../build_unittest && ./ci/travis_run.py ./ci/regression.sh -unittest
|
||||
|
||||
script: cp -r ../build32 ../build32_compiler && cd ../build32_compiler && ./ci/travis_run.py ./ci/test_compiler.sh
|
||||
|
||||
after_success:
|
||||
# Gather code coverage
|
||||
- lcov --directory driver --capture --output-file driver.cov # capture trace
|
||||
- lcov --directory simx --capture --output-file simx.cov # capture trace
|
||||
- lcov --list driver.cov # output coverage data for debugging
|
||||
- lcov --list simx.cov # output coverage data for debugging
|
||||
- lcov --directory runtime --capture --output-file runtime.cov # capture trace
|
||||
- lcov --directory sim --capture --output-file sim.cov # capture trace
|
||||
- lcov --list runtime.cov # output coverage data for debugging
|
||||
- lcov --list sim.cov # output coverage data for debugging
|
||||
# Upload coverage report
|
||||
- bash <(curl -s https://codecov.io/bash) -f driver.cov
|
||||
- bash <(curl -s https://codecov.io/bash) -f simx.cov
|
||||
- bash <(curl -s https://codecov.io/bash) -f runtime.cov
|
||||
- bash <(curl -s https://codecov.io/bash) -f sim.cov
|
||||
|
||||
Reference in New Issue
Block a user