diff --git a/bench/t/gdbfpga b/bench/t/gdbfpga new file mode 100644 index 0000000000000000000000000000000000000000..fb78314f9c109314c9cb95d8af8194150e5e0505 --- /dev/null +++ b/bench/t/gdbfpga @@ -0,0 +1,6 @@ +set pagination off +tar remote :3333 +load +break _exit +c +quit diff --git a/bench/t/run-all.sh b/bench/t/run-all.sh new file mode 100755 index 0000000000000000000000000000000000000000..148cc6f7f9bac461f9f815d8cf54ae548dd3ca2e --- /dev/null +++ b/bench/t/run-all.sh @@ -0,0 +1,90 @@ +#!/usr/bin/env bash +set -euo pipefail + +# Usage: ./run-all.sh <path to the program_cva6_fpga.tcl file> <serial port> + +BASEPATH=$(dirname "$0") +BUILDPATH=$(dirname "$BASEPATH/../") + +KERNEL=( + binarysearch + bitcount + bitonic + bsort + complex_updates + cosf + countnegative + cubic + deg2rad + fac + fft + filterbank + fir2dim + iir + insertsort + isqrt + jfdctint + lms + ludcmp + matrix1 + md5 + minver + pm + prime + quicksort + rad2deg + recursion + sha + st +) + +SEQUENTIAL=( + adpcm_dec + adpcm_enc + ammunition + anagram + audiobeam + cjpeg_transupp + cjpeg_wrbmp + dijkstra + epic + fmref + g723_enc + gsm_dec + gsm_enc + h264_dec + huff_dec + huff_enc + ndes + petrinet + rijndael_dec + rijndael_enc + statemate +) + +run () { + bench="$BUILDPATH/build/artifacts/$1.riscv" + echo "$1 $bench" + if [ ! -f "$bench" ]; then + echo "warning: $bench does not exists." + else + xsct "$2"/program_cva6_fpga.tcl + openocd -f ~/Documents/cva6/fpga/openocd_digilent_hs2.cfg & + + riscv32-unknown-elf-gdb "$bench" -x "$BASEPATH/gdbfpga" -q + kill -TERM %1 + wait + fi +} + +screen -S "tacle-bench" -d -m -L -l -Logfile "tacle-bench.res" "$2" 115200 + +for kern in "${KERNEL[@]}"; do + run "kernel/$kern" "$1" +done + +for seq in "${SEQUENTIAL[@]}"; do + run "sequential/$seq" "$1" +done + +screen -S "tacle-bench" -X quit