mirror of
https://github.com/openhwgroup/cva6.git
synced 2025-04-22 13:17:41 -04:00
[CI] Update Verilator version to v5.008 (#1566)
Signed-off-by: Saad Waheed <saad.waheed@10xengineers.ai>
This commit is contained in:
parent
9e47cc6947
commit
584198427b
3 changed files with 41 additions and 18 deletions
4
Makefile
4
Makefile
|
@ -25,7 +25,7 @@ VCOM ?= vcom$(questa_version)
|
|||
VLIB ?= vlib$(questa_version)
|
||||
VMAP ?= vmap$(questa_version)
|
||||
# verilator version
|
||||
verilator ?= verilator
|
||||
verilator ?= $(PWD)/tmp/verilator-v5.008/verilator/bin/verilator
|
||||
# traget option
|
||||
target-options ?=
|
||||
# additional definess
|
||||
|
@ -536,7 +536,7 @@ xrun-check-benchmarks:
|
|||
xrun-ci: xrun-asm-tests xrun-amo-tests xrun-mul-tests xrun-fp-tests xrun-benchmarks
|
||||
|
||||
# verilator-specific
|
||||
verilate_command := $(verilator) verilator_config.vlt \
|
||||
verilate_command := $(verilator) --no-timing verilator_config.vlt \
|
||||
-f core/Flist.cva6 \
|
||||
$(filter-out %.vhd, $(ariane_pkg)) \
|
||||
$(filter-out core/fpu_wrap.sv, $(filter-out %.vhd, $(filter-out %_config_pkg.sv, $(src)))) \
|
||||
|
|
|
@ -1,24 +1,44 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
ROOT=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)
|
||||
cd $ROOT/tmp
|
||||
|
||||
if [ -z ${NUM_JOBS} ]; then
|
||||
NUM_JOBS=1
|
||||
NUM_JOBS=4
|
||||
fi
|
||||
|
||||
if [ ! -e "$VERILATOR_ROOT/bin/verilator" ]; then
|
||||
echo "Installing Verilator"
|
||||
rm -f verilator*.tgz
|
||||
wget https://www.veripool.org/ftp/verilator-4.014.tgz
|
||||
tar xzf verilator*.tgz
|
||||
rm -f verilator*.tgz
|
||||
cd verilator-4.014
|
||||
mkdir -p $VERILATOR_ROOT
|
||||
# copy scripts
|
||||
autoconf && ./configure --prefix="$VERILATOR_ROOT" && make -j${NUM_JOBS}
|
||||
cp -r * $VERILATOR_ROOT/
|
||||
make test
|
||||
VERILATOR_REPO="https://github.com/verilator/verilator.git"
|
||||
VERILATOR_BRANCH="master"
|
||||
# Use the release tag instead of a full SHA1 hash.
|
||||
VERILATOR_HASH="v5.008"
|
||||
VERILATOR_PATCH="$ROOT/verif/regress/verilator-v5.patch"
|
||||
|
||||
VERILATOR_BUILD_DIR=$PWD/verilator-$VERILATOR_HASH/verilator
|
||||
VERILATOR_INSTALL_DIR="$(dirname $VERILATOR_BUILD_DIR)"
|
||||
|
||||
if [ ! -e "$VERILATOR_INSTALL_DIR/bin/verilator" ]; then
|
||||
echo "Building Verilator in $VERILATOR_BUILD_DIR..."
|
||||
echo "Verilator will be installed in $VERILATOR_INSTALL_DIR"
|
||||
echo "VERILATOR_REPO=$VERILATOR_REPO"
|
||||
echo "VERILATOR_BRANCH=$VERILATOR_BRANCH"
|
||||
echo "VERILATOR_HASH=$VERILATOR_HASH"
|
||||
echo "VERILATOR_PATCH=$VERILATOR_PATCH"
|
||||
mkdir -p $VERILATOR_BUILD_DIR
|
||||
cd $VERILATOR_BUILD_DIR
|
||||
sudo apt install libfl-dev help2man
|
||||
[ -d .git ] || git clone $VERILATOR_REPO -b $VERILATOR_BRANCH .
|
||||
git checkout $VERILATOR_HASH
|
||||
if [[ -n "$VERILATOR_PATCH" && -f "$VERILATOR_PATCH" ]] ; then
|
||||
git apply $VERILATOR_PATCH || true
|
||||
fi
|
||||
# Generate the config script and configure Verilator.
|
||||
autoconf && ./configure --prefix="$VERILATOR_INSTALL_DIR" && make -j${NUM_JOBS}
|
||||
# FORNOW: Accept failure in 'make test' (segfault issue on Debian10)
|
||||
make test || true
|
||||
echo "Installing Verilator in $VERILATOR_INSTALL_DIR..."
|
||||
make install
|
||||
else
|
||||
echo "Using Verilator from cached directory."
|
||||
echo "Using Verilator from cached directory $VERILATOR_INSTALL_DIR."
|
||||
fi
|
||||
|
||||
cd $ROOT
|
||||
|
|
|
@ -11,9 +11,12 @@ export CPLUS_INCLUDE_PATH=$RISCV/include
|
|||
echo 'deb http://download.opensuse.org/repositories/home:/phiwag:/edatools/xUbuntu_20.04/ /' | sudo tee /etc/apt/sources.list.d/home:phiwag:edatools.list
|
||||
curl -fsSL https://download.opensuse.org/repositories/home:phiwag:edatools/xUbuntu_20.04/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_phiwag_edatools.gpg > /dev/null
|
||||
sudo apt update
|
||||
sudo apt install verilator-4.110 device-tree-compiler
|
||||
sudo apt install device-tree-compiler
|
||||
|
||||
ci/make-tmp.sh
|
||||
|
||||
ci/install-verilator.sh
|
||||
|
||||
sudo mkdir -p $RISCV && sudo chmod 777 $RISCV
|
||||
RISCV64_UNKNOWN_ELF_GCC=riscv64-unknown-elf-gcc-8.3.0-2020.04.0-x86_64-linux-ubuntu14.tar.gz
|
||||
if [ ! -f "$RISCV64_UNKNOWN_ELF_GCC" ]; then
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue