0adecc79779d1349dec8a7ccc2fc783222027bb0
[yosys.git] / tests / svinterfaces / runone.sh
1 #!/bin/bash
2
3
4 TESTNAME=$1
5
6 STDOUTFILE=${TESTNAME}.log_stdout
7 STDERRFILE=${TESTNAME}.log_stderr
8
9 echo "" > $STDOUTFILE
10 echo "" > $STDERRFILE
11
12 echo -n "Test: ${TESTNAME} -> "
13
14 $PWD/../../yosys -p "read_verilog -sv ${TESTNAME}.sv ; hierarchy -check -top TopModule ; synth ; write_verilog ${TESTNAME}_syn.v" >> $STDOUTFILE >> $STDERRFILE
15 $PWD/../../yosys -p "read_verilog -sv ${TESTNAME}_ref.v ; hierarchy -check -top TopModule ; synth ; write_verilog ${TESTNAME}_ref_syn.v" >> $STDOUTFILE >> $STDERRFILE
16
17 rm -f a.out reference_result.txt dut_result.txt
18
19 set -e
20
21 iverilog -g2012 ${TESTNAME}_syn.v
22 iverilog -g2012 ${TESTNAME}_ref_syn.v
23
24 set +e
25 iverilog -g2012 ${TESTNAME}_tb.v ${TESTNAME}_ref_syn.v
26 ./a.out
27 mv output.txt reference_result.txt
28 if [ -f ${TESTNAME}_wrapper.v ] ; then
29 iverilog -g2012 ${TESTNAME}_tb_wrapper.v ${TESTNAME}_syn.v
30 else
31 iverilog -g2012 ${TESTNAME}_tb.v ${TESTNAME}_syn.v
32 fi
33 ./a.out
34 mv output.txt dut_result.txt
35
36 diff reference_result.txt dut_result.txt > ${TESTNAME}.diff
37 RET=$?
38 if [ "$RET" != "0" ] ; then
39 echo "ERROR!"
40 exit -1
41 fi
42
43 echo "ok"
44 exit 0