* [ariane/make] integrate ariane | have verilator be installed on path not in makefile * [misc] warn on verilator not found | search for v files | cleanup build.sbt + .gitignore * [firesim] bump * [ci] add midas ariane tests * [docker/ci] use new docker-image with verilator | re-elab on v changes for ariane | address comments * [ci] remove references to local verilator install * [verilator] update flags * [verilator] minimal set of flags for ariane * [ariane] bump ariane to master * [ci] revert to 4.016 verilator * [ci] install verilator to ci server | misc compile fixes * [ci/make] add longer ci timeout | update when assert is added in verilator sim * [firesim] bump for misc. updates * [make/ci] cleanup makefile and remove firesim tests of it * [docs/firesim] bump and clean docs * [firesim] bump * [ci] use remote verilator for midas tests * [misc] cleanup built.sbt more * [firesim] bump * [misc] bump build.sbt patch for tutorials * [firesim/ci] cleanup and bump firesim
67 lines
2.0 KiB
Bash
Executable File
67 lines
2.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# create the different verilator builds
|
|
# argument is the make command string
|
|
|
|
# turn echo on and error on earliest command
|
|
set -ex
|
|
|
|
# get shared variables
|
|
SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )"
|
|
source $SCRIPT_DIR/defaults.sh
|
|
|
|
# call clean on exit
|
|
trap clean EXIT
|
|
|
|
cd $LOCAL_CHIPYARD_DIR
|
|
./scripts/init-submodules-no-riscv-tools.sh
|
|
|
|
# set stricthostkeychecking to no (must happen before rsync)
|
|
run "echo \"Ping $SERVER\""
|
|
|
|
clean
|
|
|
|
# copy over riscv/esp-tools, and chipyard to remote
|
|
run "mkdir -p $REMOTE_CHIPYARD_DIR"
|
|
copy $LOCAL_CHIPYARD_DIR/ $SERVER:$REMOTE_CHIPYARD_DIR
|
|
|
|
run "cp -r ~/.ivy2 $REMOTE_WORK_DIR"
|
|
run "cp -r ~/.sbt $REMOTE_WORK_DIR"
|
|
|
|
TOOLS_DIR=$REMOTE_RISCV_DIR
|
|
LD_LIB_DIR=$REMOTE_RISCV_DIR/lib
|
|
|
|
if [ $1 = "chipyard-gemmini" ]; then
|
|
export RISCV=$LOCAL_ESP_DIR
|
|
export LD_LIBRARY_PATH=$LOCAL_ESP_DIR/lib
|
|
export PATH=$RISCV/bin:$PATH
|
|
GEMMINI_SOFTWARE_DIR=$LOCAL_SIM_DIR/../../generators/gemmini/software/gemmini-rocc-tests
|
|
cd $LOCAL_SIM_DIR/../../generators/gemmini/software
|
|
git submodule update --init --recursive gemmini-rocc-tests
|
|
cd gemmini-rocc-tests
|
|
./build.sh
|
|
fi
|
|
|
|
if [ $1 = "chipyard-hwacha" ] || [ $1 = "chipyard-gemmini" ]; then
|
|
TOOLS_DIR=$REMOTE_ESP_DIR
|
|
LD_LIB_DIR=$REMOTE_ESP_DIR/lib
|
|
run "mkdir -p $REMOTE_ESP_DIR"
|
|
copy $LOCAL_ESP_DIR/ $SERVER:$REMOTE_ESP_DIR
|
|
else
|
|
run "mkdir -p $REMOTE_RISCV_DIR"
|
|
copy $LOCAL_RISCV_DIR/ $SERVER:$REMOTE_RISCV_DIR
|
|
fi
|
|
|
|
# enter the verilator directory and build the specific config on remote server
|
|
run "make -C $REMOTE_SIM_DIR clean"
|
|
run "export RISCV=\"$TOOLS_DIR\"; \
|
|
export LD_LIBRARY_PATH=\"$LD_LIB_DIR\"; \
|
|
export PATH=\"$REMOTE_VERILATOR_DIR/bin:\$PATH\"; \
|
|
export VERILATOR_ROOT=\"$REMOTE_VERILATOR_DIR\"; \
|
|
make -j$NPROC -C $REMOTE_SIM_DIR JAVA_ARGS=\"$REMOTE_JAVA_ARGS\" ${mapping[$1]}"
|
|
run "rm -rf $REMOTE_CHIPYARD_DIR/project"
|
|
|
|
# copy back the final build
|
|
mkdir -p $LOCAL_CHIPYARD_DIR
|
|
copy $SERVER:$REMOTE_CHIPYARD_DIR/ $LOCAL_CHIPYARD_DIR
|