aboutsummaryrefslogtreecommitdiffstats
path: root/benchmarks/polybench-syn/run-vericert.sh
diff options
context:
space:
mode:
authorYann Herklotz <git@yannherklotz.com>2020-11-14 16:23:00 +0000
committerYann Herklotz <git@yannherklotz.com>2020-11-14 16:23:00 +0000
commit4201a38997543ceedad52f77b992dd8eb4a2ee5e (patch)
tree16b4adb28028e21f3ae9d46539167ece72c1c4a8 /benchmarks/polybench-syn/run-vericert.sh
parent43773b8d4a69dfd30759db2a5026a4f44cdac4cb (diff)
parent95861dbef966e2cb612b303615681fc29c3acd3d (diff)
downloadvericert-kvx-4201a38997543ceedad52f77b992dd8eb4a2ee5e.tar.gz
vericert-kvx-4201a38997543ceedad52f77b992dd8eb4a2ee5e.zip
Merge branch 'dev-experiments'
Diffstat (limited to 'benchmarks/polybench-syn/run-vericert.sh')
-rwxr-xr-xbenchmarks/polybench-syn/run-vericert.sh42
1 files changed, 42 insertions, 0 deletions
diff --git a/benchmarks/polybench-syn/run-vericert.sh b/benchmarks/polybench-syn/run-vericert.sh
new file mode 100755
index 0000000..3be6098
--- /dev/null
+++ b/benchmarks/polybench-syn/run-vericert.sh
@@ -0,0 +1,42 @@
+#! /bin/bash
+
+top=$(pwd)
+ #set up
+while read benchmark ; do
+ echo "Running "$benchmark
+ clang -Wall -Werror -fsanitize=undefined $benchmark.c -o $benchmark.o
+ ./$benchmark.o
+ cresult=$(echo $?)
+ echo "C output: "$cresult
+ ../../bin/vericert -O0 -finline --debug-hls $benchmark.c -o $benchmark.v
+ iverilog -o $benchmark.iver -- $benchmark.v
+ ./$benchmark.iver > $benchmark.tmp
+ veriresult=$(tail -1 $benchmark.tmp | cut -d' ' -f2)
+ cycles=$(tail -4 $benchmark.tmp | head -1 | tr -s ' ' | cut -d' ' -f3)
+ echo "Veri output: "$veriresult
+
+ #Undefined checks
+ if test -z $veriresult
+ then
+ echo "FAIL: Verilog returned nothing"
+ #exit 0
+ fi
+
+ # Don't care checks
+ if [ $veriresult == "x" ]
+ then
+ echo "FAIL: Verilog returned don't cares"
+ #exit 0
+ fi
+
+ # unequal result check
+ if [ $cresult -ne $veriresult ]
+ then
+ echo "FAIL: Verilog and C output do not match!"
+ #exit 0
+ else
+ echo "PASS"
+ fi
+ name=$(echo $benchmark | awk -v FS="/" '{print $NF}')
+ echo $name","$cycles >> exec.csv
+done < benchmark-list-master