diff options
Diffstat (limited to 'benchmarks/polybench-syn/run-vericert.sh')
-rwxr-xr-x | benchmarks/polybench-syn/run-vericert.sh | 45 |
1 files changed, 22 insertions, 23 deletions
diff --git a/benchmarks/polybench-syn/run-vericert.sh b/benchmarks/polybench-syn/run-vericert.sh index 29f7775..ef6964f 100755 --- a/benchmarks/polybench-syn/run-vericert.sh +++ b/benchmarks/polybench-syn/run-vericert.sh @@ -1,43 +1,42 @@ -#! /bin/bash +#!/usr/bin/env bash + +rm exec.csv top=$(pwd) - #set up +#set up while read benchmark ; do - echo "Running "$benchmark - clang -Wall -Werror -fsanitize=undefined $benchmark.c -o $benchmark.o - ./$benchmark.o > $benchmark.clog + printf "%10s\t" $(echo "$benchmark" | sed -e 's|/| |g') + ./$benchmark.gcc > $benchmark.clog cresult=$(cat $benchmark.clog | cut -d' ' -f2) - echo "C output: "$cresult - { time ../../bin/vericert -DSYNTHESIS -finline --debug-hls $benchmark.c -o $benchmark.v ; } 2> $benchmark.comp - iverilog -o $benchmark.iver -- $benchmark.v - ./$benchmark.iver > $benchmark.tmp + #echo "C output: "$cresult + #./$benchmark.iver > $benchmark.tmp + ./$benchmark.verilator/Vmain > $benchmark.tmp veriresult=$(tail -1 $benchmark.tmp | cut -d' ' -f2) - cycles=$(tail -4 $benchmark.tmp | head -1 | tr -s ' ' | cut -d' ' -f3) - ctime=$(cat $benchmark.comp | head -2 | tail -1 | xargs | cut -d' ' -f2 | cut -d'm' -f2 | sed 's/s//g') - echo "Veri output: "$veriresult - + cycles=$(tail -2 $benchmark.tmp | head -1 | tr -s ' ' | cut -d' ' -f2) + #echo "Verilog output: "$veriresult + #Undefined checks if test -z $veriresult then - echo "FAIL: Verilog returned nothing" - #exit 0 + echo "\e[0;91mFAIL\e[0m: Verilog returned nothing" + #exit 0 fi # Don't care checks if [ $veriresult == "x" ] then - echo "FAIL: Verilog returned don't cares" - #exit 0 + echo "\e[0;91mFAIL\e[0m: Verilog returned don't cares" + #exit 0 fi - - # unequal result check + + # unequal result check if [ $cresult -ne $veriresult ] then - echo "FAIL: Verilog and C output do not match!" - #exit 0 + echo -e "\e[0;91mFAIL\e[0m: Verilog and C output do not match!" + #exit 0 else - echo "PASS" + echo -e "\e[0;92mPASS\e[0m" fi name=$(echo $benchmark | awk -v FS="/" '{print $NF}') - echo $name","$cycles","$ctime >> exec.csv + echo $name","$cycles >> exec.csv done < benchmark-list-master |