Revert everything to most recent dev commit
This commit is contained in:
4
.github/scripts/build-extra-tests.sh
vendored
4
.github/scripts/build-extra-tests.sh
vendored
@@ -7,5 +7,9 @@ set -ex
|
||||
SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )"
|
||||
source $SCRIPT_DIR/defaults.sh
|
||||
|
||||
export RISCV="$GITHUB_WORKSPACE/riscv-tools-install"
|
||||
export LD_LIBRARY_PATH="$RISCV/lib"
|
||||
export PATH="$RISCV/bin:$PATH"
|
||||
|
||||
make -C $LOCAL_CHIPYARD_DIR/tests clean
|
||||
make -C $LOCAL_CHIPYARD_DIR/tests
|
||||
|
||||
3
.github/scripts/build-toolchains.sh
vendored
3
.github/scripts/build-toolchains.sh
vendored
@@ -15,4 +15,7 @@ if [ ! -d "$HOME/$1-install" ]; then
|
||||
|
||||
# init all submodules including the tools
|
||||
CHIPYARD_DIR="$LOCAL_CHIPYARD_DIR" NPROC=$CI_MAKE_NPROC $LOCAL_CHIPYARD_DIR/scripts/build-toolchains.sh $1
|
||||
|
||||
# de-init the toolchain area to save on space (forced to ignore local changes)
|
||||
git submodule deinit --force $LOCAL_CHIPYARD_DIR/toolchains/$1
|
||||
fi
|
||||
|
||||
1
.github/scripts/check-commit.sh
vendored
1
.github/scripts/check-commit.sh
vendored
@@ -9,7 +9,6 @@ set -ex
|
||||
SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )"
|
||||
source $SCRIPT_DIR/defaults.sh
|
||||
|
||||
# enter bhd repo
|
||||
cd $LOCAL_CHIPYARD_DIR
|
||||
|
||||
# ignore the private vlsi submodules
|
||||
|
||||
2
.github/scripts/create-hash.sh
vendored
2
.github/scripts/create-hash.sh
vendored
@@ -17,4 +17,4 @@ for tools in 'riscv-tools' 'esp-tools' ; do
|
||||
echo "${line#[!0-9a-f]}"
|
||||
done > "${tools}.hash"
|
||||
done
|
||||
echo "Hashfile for riscv-tools and esp-tools created in $HOME"
|
||||
echo "Hashfile for riscv-tools and esp-tools created in $PWD"
|
||||
|
||||
7
.github/scripts/defaults.sh
vendored
7
.github/scripts/defaults.sh
vendored
@@ -1,20 +1,19 @@
|
||||
#!/bin/bash
|
||||
|
||||
# make parallelism
|
||||
CI_MAKE_NPROC=4
|
||||
CI_MAKE_NPROC=8
|
||||
# chosen based on a 24c system shared with 1 other project
|
||||
REMOTE_MAKE_NPROC=4
|
||||
|
||||
# verilator version
|
||||
VERILATOR_VERSION=v4.034
|
||||
|
||||
# remote variables
|
||||
|
||||
HOME=$GITHUB_WORKSPACE
|
||||
CURRENT_BRANCH=$(git branch --show-current)
|
||||
|
||||
# remote variables
|
||||
# CI_DIR is defined externally based on the GH repository secret BUILDDIR
|
||||
|
||||
HOME=`pwd`
|
||||
REMOTE_PREFIX=$CI_DIR/${GITHUB_REPOSITORY#*/}-$CURRENT_BRANCH
|
||||
REMOTE_WORK_DIR=$GITHUB_WORKSPACE
|
||||
REMOTE_RISCV_DIR=$GITHUB_WORKSPACE/riscv-tools-install
|
||||
|
||||
66
.github/scripts/do-rtl-build.sh
vendored
66
.github/scripts/do-rtl-build.sh
vendored
@@ -1,66 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# create the different verilator builds
|
||||
# usage:
|
||||
# do-rtl-build.sh <make command string> sim
|
||||
# run rtl build for simulations and copy back results
|
||||
# do-rtl-build.sh <make command string> fpga
|
||||
# run rtl build for fpga and don't copy back results
|
||||
|
||||
# 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 $REMOTE_CHIPYARD_DIR
|
||||
./scripts/init-submodules-no-riscv-tools.sh
|
||||
./scripts/init-fpga.sh
|
||||
|
||||
TOOLS_DIR=$REMOTE_RISCV_DIR
|
||||
LD_LIB_DIR=$REMOTE_RISCV_DIR/lib
|
||||
|
||||
if [ $1 = "group-accels" ]; then
|
||||
export RISCV=$REMOTE_ESP_DIR
|
||||
export LD_LIBRARY_PATH=$REMOTE_ESP_DIR/lib
|
||||
export PATH=$RISCV/bin:$PATH
|
||||
GEMMINI_SOFTWARE_DIR=$REMOTE_CHIPYARD_DIR/generators/gemmini/software/gemmini-rocc-tests
|
||||
cd $GEMMINI_SOFTWARE_DIR
|
||||
git submodule update --init --recursive gemmini-rocc-tests
|
||||
cd gemmini-rocc-tests
|
||||
./build.sh
|
||||
fi
|
||||
|
||||
# choose what make dir to use
|
||||
|
||||
case $2 in
|
||||
"sim")
|
||||
REMOTE_MAKE_DIR=$REMOTE_SIM_DIR
|
||||
;;
|
||||
"fpga")
|
||||
REMOTE_MAKE_DIR=$REMOTE_FPGA_DIR
|
||||
;;
|
||||
esac
|
||||
|
||||
# enter the verilator directory and build the specific config on remote server
|
||||
export RISCV=$TOOLS_DIR
|
||||
make -C $REMOTE_MAKE_DIR clean
|
||||
|
||||
read -a keys <<< ${grouping[$1]}
|
||||
|
||||
# need to set the PATH to use the new verilator (with the new verilator root)
|
||||
for key in "${keys[@]}"
|
||||
do
|
||||
export RISCV=$TOOLS_DIR
|
||||
export LD_LIBRARY_PATH=$LD_LIB_DIR
|
||||
export PATH=$REMOTE_VERILATOR_DIR/bin:$PATH
|
||||
export VERILATOR_ROOT=$REMOTE_VERILATOR_DIR
|
||||
export COURSIER_CACHE=$REMOTE_WORK_DIR/.coursier-cache
|
||||
make -j$REMOTE_MAKE_NPROC -C $REMOTE_MAKE_DIR FIRRTL_LOGLEVEL=info JAVA_OPTS=$REMOTE_JAVA_OPTS SBT_OPTS=$REMOTE_SBT_OPTS ${mapping[$key]}
|
||||
done
|
||||
|
||||
rm -rf $REMOTE_CHIPYARD_DIR/project
|
||||
23
.github/scripts/install-verilator.sh
vendored
23
.github/scripts/install-verilator.sh
vendored
@@ -1,23 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# move verilator to the remote server
|
||||
|
||||
# turn echo on and error on earliest command
|
||||
set -ex
|
||||
|
||||
# get shared variables
|
||||
SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )"
|
||||
source $SCRIPT_DIR/defaults.sh
|
||||
|
||||
# clean older directories (delete prior directories related to this branch also)
|
||||
|
||||
$SCRIPT_DIR/clean-old-files.sh $CI_DIR
|
||||
rm -rf $REMOTE_PREFIX*
|
||||
|
||||
git clone http://git.veripool.org/git/verilator $REMOTE_VERILATOR_DIR
|
||||
cd $REMOTE_VERILATOR_DIR
|
||||
git checkout $VERILATOR_VERSION
|
||||
autoconf
|
||||
export VERILATOR_ROOT=$REMOTE_VERILATOR_DIR
|
||||
./configure
|
||||
make -j$REMOTE_MAKE_NPROC
|
||||
48
.github/scripts/run-firesim-scala-tests.sh
vendored
48
.github/scripts/run-firesim-scala-tests.sh
vendored
@@ -1,48 +0,0 @@
|
||||
#!/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
|
||||
|
||||
export RISCV="$REMOTE_RISCV_DIR"
|
||||
export LD_LIBRARY_PATH="$RISCV/lib"
|
||||
export PATH="$RISCV/bin:$PATH"
|
||||
|
||||
# Directory locations for handling firesim-local installations of libelf/libdwarf
|
||||
# This would generally be handled by build-setup.sh/firesim-setup.sh
|
||||
firesim_sysroot=lib-install
|
||||
remote_firesim_sysroot=$REMOTE_FIRESIM_DIR/$firesim_sysroot
|
||||
|
||||
cd $REMOTE_CHIPYARD_DIR
|
||||
./scripts/init-submodules-no-riscv-tools.sh
|
||||
cd $REMOTE_CHIPYARD_DIR/sims/firesim/sim/firesim-lib/src/main/cc/lib
|
||||
git submodule update --init elfutils libdwarf
|
||||
cd $REMOTE_CHIPYARD_DIR/sims/firesim
|
||||
mkdir -p $remote_firesim_sysroot
|
||||
./scripts/build-libelf.sh $remote_firesim_sysroot
|
||||
./scripts/build-libdwarf.sh $remote_firesim_sysroot
|
||||
cd $REMOTE_CHIPYARD_DIR
|
||||
|
||||
make -C $REMOTE_CHIPYARD_DIR/tools/dromajo/dromajo-src/src
|
||||
|
||||
TOOLS_DIR=$REMOTE_RISCV_DIR
|
||||
|
||||
LD_LIB_DIR=$remote_firesim_sysroot/lib:$REMOTE_RISCV_DIR/lib
|
||||
|
||||
# Run Firesim Scala Tests
|
||||
export RISCV=$TOOLS_DIR
|
||||
export LD_LIBRARY_PATH=$LD_LIB_DIR
|
||||
export FIRESIM_ENV_SOURCED=1;
|
||||
export PATH=$REMOTE_VERILATOR_DIR/bin:$PATH
|
||||
export VERILATOR_ROOT=$REMOTE_VERILATOR_DIR
|
||||
export COURSIER_CACHE=$REMOTE_WORK_DIR/.coursier-cache
|
||||
make -C $REMOTE_FIRESIM_DIR JAVA_OPTS=$REMOTE_JAVA_OPTS SBT_OPTS=$REMOTE_SBT_OPTS testOnly ${mapping[$1]}
|
||||
40
.github/scripts/run-tests.sh
vendored
40
.github/scripts/run-tests.sh
vendored
@@ -9,12 +9,18 @@ set -ex
|
||||
SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )"
|
||||
source $SCRIPT_DIR/defaults.sh
|
||||
|
||||
export RISCV="$GITHUB_WORKSPACE/riscv-tools-install"
|
||||
export LD_LIBRARY_PATH="$RISCV/lib"
|
||||
export PATH="$RISCV/bin:$PATH"
|
||||
|
||||
DISABLE_SIM_PREREQ="BREAK_SIM_PREREQ=1"
|
||||
|
||||
run_bmark () {
|
||||
make run-bmark-tests-fast -j$CI_MAKE_NPROC -C $LOCAL_SIM_DIR $@
|
||||
make run-bmark-tests-fast -j$CI_MAKE_NPROC -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ $@
|
||||
}
|
||||
|
||||
run_asm () {
|
||||
make run-asm-tests-fast -j$CI_MAKE_NPROC -C $LOCAL_SIM_DIR $@
|
||||
make run-asm-tests-fast -j$CI_MAKE_NPROC -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ $@
|
||||
}
|
||||
|
||||
run_both () {
|
||||
@@ -23,11 +29,9 @@ run_both () {
|
||||
}
|
||||
|
||||
run_tracegen () {
|
||||
make tracegen -C $LOCAL_SIM_DIR $@
|
||||
make tracegen -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ $@
|
||||
}
|
||||
|
||||
# TODO BUG: the run-binary command forces a rebuild of the simulator in CI
|
||||
# instead, directly run the simulator binary
|
||||
case $1 in
|
||||
chipyard-rocket)
|
||||
run_bmark ${mapping[$1]}
|
||||
@@ -51,7 +55,7 @@ case $1 in
|
||||
export RISCV=$LOCAL_ESP_DIR
|
||||
export LD_LIBRARY_PATH=$LOCAL_ESP_DIR/lib
|
||||
export PATH=$RISCV/bin:$PATH
|
||||
make run-rv64uv-p-asm-tests -j$CI_MAKE_NPROC -C $LOCAL_SIM_DIR ${mapping[$1]}
|
||||
make run-rv64uv-p-asm-tests -j$CI_MAKE_NPROC -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]}
|
||||
;;
|
||||
chipyard-gemmini)
|
||||
export RISCV=$LOCAL_ESP_DIR
|
||||
@@ -60,32 +64,32 @@ case $1 in
|
||||
GEMMINI_SOFTWARE_DIR=$LOCAL_SIM_DIR/../../generators/gemmini/software/gemmini-rocc-tests
|
||||
rm -rf $GEMMINI_SOFTWARE_DIR/riscv-tests
|
||||
cd $LOCAL_SIM_DIR
|
||||
$LOCAL_SIM_DIR/simulator-chipyard-GemminiRocketConfig $GEMMINI_SOFTWARE_DIR/build/bareMetalC/aligned-baremetal
|
||||
$LOCAL_SIM_DIR/simulator-chipyard-GemminiRocketConfig $GEMMINI_SOFTWARE_DIR/build/bareMetalC/raw_hazard-baremetal
|
||||
$LOCAL_SIM_DIR/simulator-chipyard-GemminiRocketConfig $GEMMINI_SOFTWARE_DIR/build/bareMetalC/mvin_mvout-baremetal
|
||||
make -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} run-binary-fast BINARY=$GEMMINI_SOFTWARE_DIR/build/bareMetalC/aligned-baremetal
|
||||
make -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} run-binary-fast BINARY=$GEMMINI_SOFTWARE_DIR/build/bareMetalC/raw_hazard-baremetal
|
||||
make -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} run-binary-fast BINARY=$GEMMINI_SOFTWARE_DIR/build/bareMetalC/mvin_mvout-baremetal
|
||||
;;
|
||||
chipyard-sha3)
|
||||
export RISCV=$LOCAL_ESP_DIR
|
||||
export LD_LIBRARY_PATH=$LOCAL_ESP_DIR/lib
|
||||
export PATH=$RISCV/bin:$PATH
|
||||
(cd $LOCAL_CHIPYARD_DIR/generators/sha3/software && ./build.sh)
|
||||
$LOCAL_SIM_DIR/simulator-chipyard-Sha3RocketConfig $LOCAL_CHIPYARD_DIR/generators/sha3/software/tests/bare/sha3-rocc.riscv
|
||||
make -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} run-binary-fast BINARY=$LOCAL_CHIPYARD_DIR/generators/sha3/software/tests/bare/sha3-rocc.riscv
|
||||
;;
|
||||
chipyard-streaming-passthrough)
|
||||
make -C $LOCAL_CHIPYARD_DIR/tests
|
||||
$LOCAL_SIM_DIR/simulator-chipyard-StreamingPassthroughRocketConfig $LOCAL_CHIPYARD_DIR/tests/streaming-passthrough.riscv
|
||||
make -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} run-binary-fast BINARY=$LOCAL_CHIPYARD_DIR/tests/streaming-passthrough.riscv
|
||||
;;
|
||||
chipyard-streaming-fir)
|
||||
make -C $LOCAL_CHIPYARD_DIR/tests
|
||||
$LOCAL_SIM_DIR/simulator-chipyard-StreamingFIRRocketConfig $LOCAL_CHIPYARD_DIR/tests/streaming-fir.riscv
|
||||
make -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} run-binary-fast BINARY=$LOCAL_CHIPYARD_DIR/tests/streaming-fir.riscv
|
||||
;;
|
||||
chipyard-spiflashread)
|
||||
make -C $LOCAL_CHIPYARD_DIR/tests
|
||||
make -C $LOCAL_SIM_DIR ${mapping[$1]} BINARY=$LOCAL_CHIPYARD_DIR/tests/spiflashread.riscv SIM_FLAGS="+spiflash0=${LOCAL_CHIPYARD_DIR}/tests/spiflash.img" run-binary
|
||||
make -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} BINARY=$LOCAL_CHIPYARD_DIR/tests/spiflashread.riscv SIM_FLAGS="+spiflash0=${LOCAL_CHIPYARD_DIR}/tests/spiflash.img" run-binary-fast
|
||||
;;
|
||||
chipyard-spiflashwrite)
|
||||
make -C $LOCAL_CHIPYARD_DIR/tests
|
||||
make -C $LOCAL_SIM_DIR ${mapping[$1]} BINARY=$LOCAL_CHIPYARD_DIR/tests/spiflashwrite.riscv SIM_FLAGS="+spiflash0=${LOCAL_CHIPYARD_DIR}/tests/spiflash.img" run-binary
|
||||
make -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} BINARY=$LOCAL_CHIPYARD_DIR/tests/spiflashwrite.riscv SIM_FLAGS="+spiflash0=${LOCAL_CHIPYARD_DIR}/tests/spiflash.img" run-binary-fast
|
||||
[[ "`xxd $LOCAL_CHIPYARD_DIR/tests/spiflash.img | grep 1337\ 00ff\ aa55\ face | wc -l`" == "6" ]] || false
|
||||
;;
|
||||
tracegen)
|
||||
@@ -95,20 +99,20 @@ case $1 in
|
||||
run_tracegen ${mapping[$1]}
|
||||
;;
|
||||
chipyard-cva6)
|
||||
make run-binary-fast -C $LOCAL_SIM_DIR ${mapping[$1]} BINARY=$RISCV/riscv64-unknown-elf/share/riscv-tests/benchmarks/multiply.riscv
|
||||
make run-binary-fast -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} BINARY=$RISCV/riscv64-unknown-elf/share/riscv-tests/benchmarks/multiply.riscv
|
||||
;;
|
||||
chipyard-sodor)
|
||||
run_asm ${mapping[$1]}
|
||||
;;
|
||||
chipyard-nvdla)
|
||||
make -C $LOCAL_CHIPYARD_DIR/tests
|
||||
make -C $LOCAL_SIM_DIR ${mapping[$1]} BINARY=$LOCAL_CHIPYARD_DIR/tests/nvdla.riscv run-binary
|
||||
make -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]} BINARY=$LOCAL_CHIPYARD_DIR/tests/nvdla.riscv run-binary-fast
|
||||
;;
|
||||
icenet)
|
||||
make run-binary-fast BINARY=none -C $LOCAL_SIM_DIR ${mapping[$1]}
|
||||
make run-binary-fast BINARY=none -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]}
|
||||
;;
|
||||
testchipip)
|
||||
make run-binary-fast BINARY=none -C $LOCAL_SIM_DIR ${mapping[$1]}
|
||||
make run-binary-fast BINARY=none -C $LOCAL_SIM_DIR $DISABLE_SIM_PREREQ ${mapping[$1]}
|
||||
;;
|
||||
*)
|
||||
echo "No set of tests for $1. Did you spell it right?"
|
||||
|
||||
Reference in New Issue
Block a user