From c6866990b5644a424ba396c4d7589861fb60a452 Mon Sep 17 00:00:00 2001
From: Alban Gruin <alban.gruin@irit.fr>
Date: Mon, 22 Jul 2024 14:39:40 +0200
Subject: [PATCH] Add test scripts

Signed-off-by: Alban Gruin <alban.gruin@irit.fr>
---
 bench/t/gdbfpga    |  6 ++++
 bench/t/run-all.sh | 90 ++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 96 insertions(+)
 create mode 100644 bench/t/gdbfpga
 create mode 100755 bench/t/run-all.sh

diff --git a/bench/t/gdbfpga b/bench/t/gdbfpga
new file mode 100644
index 00000000..fb78314f
--- /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 00000000..148cc6f7
--- /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
-- 
GitLab