aboutsummaryrefslogtreecommitdiffstats
path: root/tests/sva/runtest.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tests/sva/runtest.sh')
-rw-r--r--tests/sva/runtest.sh60
1 files changed, 60 insertions, 0 deletions
diff --git a/tests/sva/runtest.sh b/tests/sva/runtest.sh
new file mode 100644
index 000000000..004a172ba
--- /dev/null
+++ b/tests/sva/runtest.sh
@@ -0,0 +1,60 @@
+#!/bin/bash
+
+set -ex
+
+prefix=${1%.sv}
+test -f $prefix.sv
+
+generate_sby() {
+ cat <<- EOT
+ [options]
+ mode bmc
+ depth 10
+ expect $1
+
+ [engines]
+ smtbmc yices
+
+ [script]
+ EOT
+
+ if [ "$1" = "fail" ]; then
+ echo "verific -sv ${prefix}_fail.sv"
+ else
+ echo "verific -sv $prefix.sv"
+ fi
+
+ if [ -f $prefix.vhd ]; then
+ echo "verific -vhdl2008 $prefix.vhd"
+ fi
+
+ cat <<- EOT
+ verific -import -extnets -all top
+ prep -top top
+
+ [files]
+ $prefix.sv
+ EOT
+
+ if [ -f $prefix.vhd ]; then
+ echo "$prefix.vhd"
+ fi
+
+ if [ "$1" = "fail" ]; then
+ cat <<- EOT
+
+ [file ${prefix}_fail.sv]
+ \`define FAIL
+ \`include "$prefix.sv"
+ EOT
+ fi
+}
+
+generate_sby pass > ${prefix}_pass.sby
+generate_sby fail > ${prefix}_fail.sby
+
+sby --yosys $PWD/../../yosys -f ${prefix}_pass.sby
+sby --yosys $PWD/../../yosys -f ${prefix}_fail.sby
+
+touch $prefix.ok
+