diff options
Diffstat (limited to 'tests/sva/runtest.sh')
-rw-r--r-- | tests/sva/runtest.sh | 60 |
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 + |