aboutsummaryrefslogtreecommitdiffstats
path: root/manual/CHAPTER_StateOfTheArt/validate_tb.sh
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2014-01-28 06:55:47 +0100
committerClifford Wolf <clifford@clifford.at>2014-01-28 06:55:47 +0100
commit2cb47355d4b3e8021a88f68f7a5f33ce46ff51b0 (patch)
tree83a3e52f3a46f2db264106798e416da63e7ae743 /manual/CHAPTER_StateOfTheArt/validate_tb.sh
parent842ca2f011a6030faccc690986accb0ca8035ec8 (diff)
downloadyosys-2cb47355d4b3e8021a88f68f7a5f33ce46ff51b0.tar.gz
yosys-2cb47355d4b3e8021a88f68f7a5f33ce46ff51b0.tar.bz2
yosys-2cb47355d4b3e8021a88f68f7a5f33ce46ff51b0.zip
Renamed manual/FILES_* directories
Diffstat (limited to 'manual/CHAPTER_StateOfTheArt/validate_tb.sh')
-rwxr-xr-xmanual/CHAPTER_StateOfTheArt/validate_tb.sh55
1 files changed, 55 insertions, 0 deletions
diff --git a/manual/CHAPTER_StateOfTheArt/validate_tb.sh b/manual/CHAPTER_StateOfTheArt/validate_tb.sh
new file mode 100755
index 000000000..b6409eb14
--- /dev/null
+++ b/manual/CHAPTER_StateOfTheArt/validate_tb.sh
@@ -0,0 +1,55 @@
+#!/bin/bash
+
+set -ex
+
+yosys_bin="/usr/local/synthesis/src/yosys/yosys"
+iverilog_bin="iverilog"
+
+all_modes="yosys hana vis icarus odin"
+all_sources="always01 always02 always03 arrays01 forgen01 forgen02"
+
+gcc -o cmp_tbdata cmp_tbdata.c
+
+for src in $all_sources; do
+ echo; echo
+ $yosys_bin -o ${src}_tb.v -b autotest ${src}.v
+ $iverilog_bin -o ${src}_tb ${src}_tb.v ${src}.v
+ ./${src}_tb > ${src}_tb.out
+ for mode in $all_modes; do
+ simlib=""
+ [ -f ${src}_${mode}.v ] || continue
+ [ -f simlib_${mode}.v ] && simlib="simlib_${mode}.v"
+ if $iverilog_bin -o ${src}_${mode}_tb -s testbench ${src}_tb.v ${src}_${mode}.v $simlib; then
+ ./${src}_${mode}_tb > ${src}_${mode}_tb.out
+ else
+ rm -f ${src}_${mode}_tb.out
+ fi
+ done
+done
+
+set +x
+echo; echo; echo
+
+{
+ for mode in $all_modes; do
+ echo -en "\t$mode"
+ done; echo
+
+ for src in $all_sources; do
+ echo -n "$src"
+ for mode in $all_modes; do
+ if [ -f ${src}_${mode}.v ]; then
+ if [ ! -s ${src}_${mode}_tb.out ]; then
+ echo -en "\tmissing"
+ elif ./cmp_tbdata ${src}_tb.out ${src}_${mode}_tb.out; then
+ echo -en "\tok"
+ else
+ echo -en "\tfailed"
+ fi
+ else
+ echo -en "\terror"
+ fi
+ done; echo
+ done
+} | expand -t12
+