Use ABC to convert AIGER to Verilog, then sat against Yosys
authorEddie Hung <eddie@fpgeh.com>
Fri, 7 Jun 2019 18:05:36 +0000 (11:05 -0700)
committerEddie Hung <eddie@fpgeh.com>
Fri, 7 Jun 2019 18:05:36 +0000 (11:05 -0700)
tests/aiger/run-test.sh

index e0a34f02337950b7a878d5b0258277a9c1324786..70300d305e7f02a35781958864aaaaeda3dc6226 100755 (executable)
@@ -1,24 +1,18 @@
 #!/bin/bash
 
-OPTIND=1
-seed=""    # default to no seed specified
-while getopts "S:" opt
-do
-    case "$opt" in
-       S) arg="${OPTARG#"${OPTARG%%[![:space:]]*}"}" # remove leading space
-          seed="SEED=$arg" ;;
-    esac
+set -e
+for aig in *.aig; do
+    ../../yosys-abc -c "read -c $aig; write ${aig%.*}_ref.v"
+    ../../yosys -p "
+read_verilog ${aig%.*}_ref.v
+prep
+design -stash gold
+read_aiger -clk_name clock $aig
+prep
+design -stash gate
+design -import gold -as gold
+design -import gate -as gate
+miter -equiv -flatten -make_assert -make_outputs gold gate miter
+sat -verify -prove-asserts -show-ports -seq 16 miter
+"
 done
-shift "$((OPTIND-1))"
-
-# check for Icarus Verilog
-if ! which iverilog > /dev/null ; then
-  echo "$0: Error: Icarus Verilog 'iverilog' not found."
-  exit 1
-fi
-
-echo "===== AAG ======"
-${MAKE:-make} -f ../tools/autotest.mk $seed *.aag EXTRA_FLAGS="-f aiger"
-
-echo "===== AIG ======"
-exec ${MAKE:-make} -f ../tools/autotest.mk $seed *.aig EXTRA_FLAGS="-f aiger"