proc_dff: Fix emitted FF when a register is not assigned in async reset
[yosys.git] / tests / simple_abc9 / run-test.sh
index 8df6994e317e34068d19cbc3880a4e9ab2f2679f..b48505e29adc8b4bba4f433ccd3ab606bce4652c 100755 (executable)
@@ -12,18 +12,39 @@ done
 shift "$((OPTIND-1))"
 
 # check for Icarus Verilog
-if ! which iverilog > /dev/null ; then
+if ! command -v iverilog > /dev/null ; then
   echo "$0: Error: Icarus Verilog 'iverilog' not found."
   exit 1
 fi
 
+for file in `ls *.v *.sv`; do
+    if [ ! -f "../simple/$file" -a "$file" != "abc9.v" ]; then
+       echo "Warning: $file is in simple_abc9/, but not in simple/"
+       backup="$file.bak"
+       if [ -f "$backup" ]; then
+           if cmp "$file" "$backup" > /dev/null; then
+               echo " => $backup already exists and matches; removing $file"
+               rm "$file"
+           else
+               echo " => $backup already exists but differs; leaving $file in place"
+           fi
+       else
+           echo " => moving $file to $backup"
+           mv -i "$file" "$backup"
+       fi
+    fi
+done
+
 cp ../simple/*.v .
 cp ../simple/*.sv .
 DOLLAR='?'
-exec ${MAKE:-make} -f ../tools/autotest.mk $seed *.v EXTRA_FLAGS="-n 300 -p '\
+exec ${MAKE:-make} -f ../tools/autotest.mk $seed *.v *.sv EXTRA_FLAGS="-n 300 -p '\
     hierarchy; \
     synth -run coarse; \
     opt -full; \
-    techmap; abc9 -lut 4 -box ../abc.box; \
+    techmap; \
+    abc9 -lut 4 -box ../abc9.box; \
+    clean; \
     check -assert; \
-    select -assert-none t:${DOLLAR}_NOT_ t:${DOLLAR}_AND_ %%'"
+    select -assert-none t:${DOLLAR}_NOT_ t:${DOLLAR}_AND_ %%; \
+    setattr -mod -unset blackbox'"