From 96bf728627af02fcac487da1a15a3c5f3b6c71fd Mon Sep 17 00:00:00 2001 From: Paul Scheffler Date: Wed, 19 Jun 2024 20:32:05 +0200 Subject: [PATCH] hw: Canonicalize SSR verification, add to CI --- .gitlab-ci.yml | 2 +- hw/snitch_ssr/test/tb_simple_ssr.sv | 2 +- hw/snitch_ssr/test/tb_simple_ssr_streamer.sv | 2 +- hw/snitch_ssr/util/run_vsim.sh | 24 +++++++++++++++++++ hw/snitch_ssr/util/start_simple_ssr.tcl | 13 ---------- .../util/start_simple_ssr_streamer.tcl | 14 ----------- 6 files changed, 27 insertions(+), 30 deletions(-) create mode 100755 hw/snitch_ssr/util/run_vsim.sh delete mode 100644 hw/snitch_ssr/util/start_simple_ssr.tcl delete mode 100644 hw/snitch_ssr/util/start_simple_ssr_streamer.tcl diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 122763b8e..bba6ef975 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -60,7 +60,6 @@ snitch-cluster-sw-banshee: # - snitch # Currently failing IP tests/scripts: # - reqrsp_interface -# - snitch_ssr snitch-ip-tests: needs: [] parallel: @@ -69,6 +68,7 @@ snitch-ip-tests: - mem_interface - snitch_cluster - tcdm_interface + - snitch_ssr script: - cd hw/$IP - ./util/compile.sh diff --git a/hw/snitch_ssr/test/tb_simple_ssr.sv b/hw/snitch_ssr/test/tb_simple_ssr.sv index 614c7a402..9b26b608d 100644 --- a/hw/snitch_ssr/test/tb_simple_ssr.sv +++ b/hw/snitch_ssr/test/tb_simple_ssr.sv @@ -14,7 +14,7 @@ module tb_simple_ssr; localparam int unsigned NumLoops = 4; // Test data parameters - localparam string DataFile = "../test/tb_simple_ssr.hex"; + localparam string DataFile = "./test/tb_simple_ssr.hex"; localparam int unsigned ValBase = 'h0; localparam int unsigned IdxBase = 'h2000; localparam int unsigned IdxStride = 'h800; // Stride of index arrays of different sizes diff --git a/hw/snitch_ssr/test/tb_simple_ssr_streamer.sv b/hw/snitch_ssr/test/tb_simple_ssr_streamer.sv index f77985926..813c09bc5 100644 --- a/hw/snitch_ssr/test/tb_simple_ssr_streamer.sv +++ b/hw/snitch_ssr/test/tb_simple_ssr_streamer.sv @@ -16,7 +16,7 @@ module tb_simple_ssr_streamer; localparam int unsigned WPorts = 1; // Test data parameters - localparam string DataFile = "../test/tb_simple_ssr_streamer.hex"; + localparam string DataFile = "./test/tb_simple_ssr_streamer.hex"; localparam int unsigned ValBase = 'h0; localparam int unsigned IdxBase = 'h2000; localparam int unsigned IdxStride = 'h800; // Stride of index arrays of different sizes diff --git a/hw/snitch_ssr/util/run_vsim.sh b/hw/snitch_ssr/util/run_vsim.sh new file mode 100755 index 000000000..d95fdf580 --- /dev/null +++ b/hw/snitch_ssr/util/run_vsim.sh @@ -0,0 +1,24 @@ +#!/bin/bash +# Copyright 2024 ETH Zurich and University of Bologna. +# Solderpad Hardware License, Version 0.51, see LICENSE for details. +# SPDX-License-Identifier: SHL-0.51 +# +# Fabian Schuiki +# Andreas Kurth +# Paul Scheffler + +set -e +ROOT=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd) + +[ ! -z "$VSIM" ] || VSIM=vsim + +call_vsim() { + # We treat accessing unwritten associative array (memory) locations as fatal + echo "log -r /*; run -all" | $QUESTA_SEPP $VSIM -c -coverage -voptargs='+acc +cover=sbecft' "$@" -fatal vsim-3829 | tee vsim.log 2>&1 + (grep "SUCCESS" transcript) + (! grep -n "Fatal:" transcript) + (! grep -n "Error:" transcript) +} + +call_vsim tb_simple_ssr +call_vsim tb_simple_ssr_streamer diff --git a/hw/snitch_ssr/util/start_simple_ssr.tcl b/hw/snitch_ssr/util/start_simple_ssr.tcl deleted file mode 100644 index ca9c676e9..000000000 --- a/hw/snitch_ssr/util/start_simple_ssr.tcl +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash -# Copyright 2020 ETH Zurich and University of Bologna. -# Solderpad Hardware License, Version 0.51, see LICENSE for details. -# SPDX-License-Identifier: SHL-0.51 -# -# Paul Scheffler - -# We treat accessing unwritten associative array (memory) locations as fatal -vsim tb_simple_ssr -t 1ps -coverage -voptargs="+acc +cover=sbecft" -fatal vsim-3829 - -set StdArithNoWarnings 1 -set NumericStdNoWarnings 1 -log -r /* diff --git a/hw/snitch_ssr/util/start_simple_ssr_streamer.tcl b/hw/snitch_ssr/util/start_simple_ssr_streamer.tcl deleted file mode 100644 index 76e171234..000000000 --- a/hw/snitch_ssr/util/start_simple_ssr_streamer.tcl +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash -# Copyright 2020 ETH Zurich and University of Bologna. -# Solderpad Hardware License, Version 0.51, see LICENSE for details. -# SPDX-License-Identifier: SHL-0.51 -# -# Paul Scheffler - -# We treat accessing unwritten associative array (memory) locations as fatal -vsim tb_simple_ssr_streamer -t 1ps -coverage -voptargs="+acc +cover=sbecft" - -set StdArithNoWarnings 1 -set NumericStdNoWarnings 1 -log -r /* -