| #!/bin/bash |
| set -e |
| |
| OPTIND=1 |
| count=100 |
| seed="" # default to no seed specified |
| while getopts "c:S:" opt |
| do |
| case "$opt" in |
| c) count="$OPTARG" ;; |
| S) seed="-S $OPTARG" ;; |
| esac |
| done |
| shift "$((OPTIND-1))" |
| |
| rm -rf temp |
| mkdir -p temp |
| echo "generating tests.." |
| python3 generate.py -c $count $seed |
| |
| cd temp |
| echo "running tests.." |
| for ((i = 0; i < $count; i++)); do |
| echo -n "[$i]" |
| idx=$( printf "%05d" $i ) |
| ../../../yosys -qq uut_${idx}.ys |
| iverilog -o uut_${idx}_tb uut_${idx}_tb.v uut_${idx}.v uut_${idx}_syn.v |
| ./uut_${idx}_tb | tee uut_${idx}.err |
| if test -s uut_${idx}.err; then |
| echo "Note: Make sure that 'iverilog' is an up-to-date git checkout of Icarus Verilog." |
| exit 1 |
| fi |
| rm -f uut_${idx}.err |
| done |
| echo |
| |