language: cpp # run on new infrastructure sudo: false cache: apt: true directories: $RISCV $VERILATOR_ROOT timeout: 1000 # required packages to install addons: apt: sources: - ubuntu-toolchain-r-test packages: - gcc-7 - g++-7 - gperf - autoconf - automake - autotools-dev - libmpc-dev - libmpfr-dev - libgmp-dev - gawk - build-essential - bison - flex - texinfo - python-pexpect - libusb-1.0-0-dev - default-jdk - zlib1g-dev - valgrind env: global: - RISCV="/home/travis/riscv_install" - VERILATOR_ROOT="/home/travis/verilator-4.014/" branches: only: - master - ariane-dev before_install: - export CXX=g++-7 CC=gcc-7 # 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 # number of parallel jobs to use for make commands and simulation - export NUM_JOBS=4 - ci/make-tmp.sh - git submodule update --init --recursive stages: - checkout - compile1 - compile2 - test jobs: include: - stage: checkout name: checkout gcc script: - ci/build-riscv-gcc.sh 0 - stage: compile1 name: build gcc script: - ci/build-riscv-gcc.sh 1 - rm -rf $RISCV/riscv-gnu-toolchain - stage: compile2 name: build tools script: - ci/install-fesvr.sh - ci/install-verilator.sh - ci/install-dtc.sh - ci/install-spike.sh - stage: test name: run riscv benchmarks (Write-Back Cache) script: - ci/build-riscv-tests.sh - make -j${NUM_JOBS} run-benchmarks-verilator defines=WB_DCACHE # asm tests # rv64ui-v-* tests - stage: test name: run asm tests1 (Write-Back Cache) script: - ci/build-riscv-tests.sh - make -j${NUM_JOBS} run-asm-tests1-verilator defines=WB_DCACHE - stage: test name: run asm tests2 (Write-Back Cache) script: - ci/build-riscv-tests.sh - make -j${NUM_JOBS} run-asm-tests2-verilator defines=WB_DCACHE # rv64ui-p-* tests - stage: test name: run asm tests3 (Write-Back Cache) script: - ci/build-riscv-tests.sh - make -j${NUM_JOBS} run-asm-tests3-verilator defines=WB_DCACHE - stage: test name: run asm tests4 (Write-Back Cache) script: - ci/build-riscv-tests.sh - make -j${NUM_JOBS} run-asm-tests4-verilator defines=WB_DCACHE # rv64mi-p-* tests - stage: test name: run asm tests5 (Write-Back Cache) script: - ci/build-riscv-tests.sh - make -j${NUM_JOBS} run-asm-tests5-verilator defines=WB_DCACHE # rv64-* other tests - stage: test name: run asm tests6 (Write-Back Cache) script: - ci/build-riscv-tests.sh - make -j${NUM_JOBS} run-asm-tests6-verilator defines=WB_DCACHE # rv64um-*-* tests - stage: test name: run mul tests (Write-Back Cache) script: - ci/build-riscv-tests.sh - make -j${NUM_JOBS} run-mul-verilator defines=WB_DCACHE # amo tests # rv64ua-v-* tests - stage: test name: run amo tests1 (Write-Back Cache) script: - ci/build-riscv-tests.sh - travis_wait 60 make -j${NUM_JOBS} run-amo-tests1-verilator defines=WB_DCACHE - stage: test name: run amo tests2 (Write-Back Cache) script: - ci/build-riscv-tests.sh - travis_wait 60 make -j${NUM_JOBS} run-amo-tests2-verilator defines=WB_DCACHE # rv64ua-p-* tests - stage: test name: run amo tests3 (Write-Back Cache) script: - ci/build-riscv-tests.sh - make -j${NUM_JOBS} run-amo-tests3-verilator defines=WB_DCACHE - stage: test name: run riscv benchmarks (Write-through Cache) script: - ci/build-riscv-tests.sh - make -j${NUM_JOBS} run-benchmarks-verilator defines=WT_DCACHE # asm tests # rv64ui-v-* tests - stage: test name: run asm tests1 (Write-through Cache) script: - ci/build-riscv-tests.sh - make -j${NUM_JOBS} run-asm-tests1-verilator defines=WT_DCACHE - stage: test name: run asm tests2 (Write-through Cache) script: - ci/build-riscv-tests.sh - make -j${NUM_JOBS} run-asm-tests2-verilator defines=WT_DCACHE # rv64ui-p-* tests - stage: test name: run asm tests3 (Write-through Cache) script: - ci/build-riscv-tests.sh - make -j${NUM_JOBS} run-asm-tests3-verilator defines=WT_DCACHE - stage: test name: run asm tests4 (Write-through Cache) script: - ci/build-riscv-tests.sh - make -j${NUM_JOBS} run-asm-tests4-verilator defines=WT_DCACHE # rv64mi-p-* tests - stage: test name: run asm tests5 (Write-through Cache) script: - ci/build-riscv-tests.sh - make -j${NUM_JOBS} run-asm-tests5-verilator defines=WT_DCACHE # rv64-* other tests - stage: test name: run asm tests6 (Write-through Cache) script: - ci/build-riscv-tests.sh - make -j${NUM_JOBS} run-asm-tests6-verilator defines=WT_DCACHE # amo tests # rv64ua-v-* tests - stage: test name: run amo tests1 (Write-through Cache) script: - ci/build-riscv-tests.sh - make -j${NUM_JOBS} run-amo-tests1-verilator defines=WT_DCACHE - stage: test name: run amo tests2 (Write-through Cache) script: - ci/build-riscv-tests.sh - make -j${NUM_JOBS} run-amo-tests2-verilator defines=WT_DCACHE # rv64ua-p-* tests - stage: test name: run amo tests3 (Write-through Cache) script: - ci/build-riscv-tests.sh - make -j${NUM_JOBS} run-amo-tests3-verilator defines=WT_DCACHE # extra time during long builds install: travis_wait