diff options
Diffstat (limited to 'tests/tools')
| -rwxr-xr-x | tests/tools/autotest.sh | 29 | 
1 files changed, 15 insertions, 14 deletions
| diff --git a/tests/tools/autotest.sh b/tests/tools/autotest.sh index 23964a751..96d9cdda9 100755 --- a/tests/tools/autotest.sh +++ b/tests/tools/autotest.sh @@ -89,8 +89,7 @@ done  compile_and_run() {  	exe="$1"; output="$2"; shift 2 -	ext=${1##*.} -	if [ "$ext" == "sv" ]; then +	if [ "${2##*.}" == "sv" ]; then  		language_gen="-g2012"  	else  		language_gen="-g2005" @@ -142,23 +141,25 @@ do  		cd ${bn}.out  		fn=$(basename $fn)  		bn=$(basename $bn) +		refext=v  		rm -f ${bn}_ref.fir  		if [[ "$ext" == "v" ]]; then  			egrep -v '^\s*`timescale' ../$fn > ${bn}_ref.${ext}  		elif [[ "$ext" == "aig" ]] || [[ "$ext" == "aag" ]]; then -			"$toolsdir"/../../yosys-abc -c "read_aiger ../${fn}; write ${bn}_ref.v" +			"$toolsdir"/../../yosys-abc -c "read_aiger ../${fn}; write ${bn}_ref.${refext}"  		else -			cp ../${fn} ${bn}_ref.${ext} +			refext=$ext +			cp ../${fn} ${bn}_ref.${refext}  		fi  		if [ ! -f ../${bn}_tb.v ]; then -			"$toolsdir"/../../yosys -f "$frontend $include_opts" -b "test_autotb $autotb_opts" -o ${bn}_tb.v ${bn}_ref.v +			"$toolsdir"/../../yosys -f "$frontend $include_opts" -b "test_autotb $autotb_opts" -o ${bn}_tb.v ${bn}_ref.${refext}  		else  			cp ../${bn}_tb.v ${bn}_tb.v  		fi  		if $genvcd; then sed -i 's,// \$dump,$dump,g' ${bn}_tb.v; fi -		compile_and_run ${bn}_tb_ref ${bn}_out_ref ${bn}_tb.v ${bn}_ref.v $libs \ +		compile_and_run ${bn}_tb_ref ${bn}_out_ref ${bn}_tb.v ${bn}_ref.${refext} $libs \  					"$toolsdir"/../../techlibs/common/simlib.v \  					"$toolsdir"/../../techlibs/common/simcells.v  		if $genvcd; then mv testbench.vcd ${bn}_ref.vcd; fi @@ -175,25 +176,25 @@ do  			test_count=$(( test_count + 1 ))  		} -		if [ "$frontend" = "verific" -o "$frontend" = "verific_gates" ] && grep -q VERIFIC-SKIP ${bn}_ref.v; then +		if [ "$frontend" = "verific" -o "$frontend" = "verific_gates" ] && grep -q VERIFIC-SKIP ${bn}_ref.${refext}; then  			touch ../${bn}.skip  			return  		fi  		if [ -n "$scriptfiles" ]; then -			test_passes -f "$frontend $include_opts" ${bn}_ref.v $scriptfiles +			test_passes -f "$frontend $include_opts" ${bn}_ref.${refext} $scriptfiles  		elif [ -n "$scriptopt" ]; then -			test_passes -f "$frontend $include_opts" -p "$scriptopt" ${bn}_ref.v +			test_passes -f "$frontend $include_opts" -p "$scriptopt" ${bn}_ref.${refext}  		elif [ "$frontend" = "verific" ]; then -			test_passes -p "verific -vlog2k ${bn}_ref.v; verific -import -all; opt; memory;;" +			test_passes -p "verific -vlog2k ${bn}_ref.${refext}; verific -import -all; opt; memory;;"  		elif [ "$frontend" = "verific_gates" ]; then -			test_passes -p "verific -vlog2k ${bn}_ref.v; verific -import -gates -all; opt; memory;;" +			test_passes -p "verific -vlog2k ${bn}_ref.${refext}; verific -import -gates -all; opt; memory;;"  		else -			test_passes -f "$frontend $include_opts" -p "hierarchy; proc; opt; memory; opt; fsm; opt -full -fine" ${bn}_ref.v -			test_passes -f "$frontend $include_opts" -p "hierarchy; synth -run coarse; techmap; opt; abc -dff" ${bn}_ref.v +			test_passes -f "$frontend $include_opts" -p "hierarchy; proc; opt; memory; opt; fsm; opt -full -fine" ${bn}_ref.${refext} +			test_passes -f "$frontend $include_opts" -p "hierarchy; synth -run coarse; techmap; opt; abc -dff" ${bn}_ref.${refext}  			if [ -n "$firrtl2verilog" ]; then  			    if test -z "$xfirrtl" || ! grep "$fn" "$xfirrtl" ; then -				"$toolsdir"/../../yosys -b "firrtl" -o ${bn}_ref.fir -f "$frontend $include_opts" -p "prep -nordff; proc; opt; memory; opt; fsm; opt -full -fine; pmuxtree" ${bn}_ref.v +				"$toolsdir"/../../yosys -b "firrtl" -o ${bn}_ref.fir -f "$frontend $include_opts" -p "prep -nordff; proc; opt; memory; opt; fsm; opt -full -fine; pmuxtree" ${bn}_ref.${refext}  				$firrtl2verilog -i ${bn}_ref.fir -o ${bn}_ref.fir.v  				test_passes -f "$frontend $include_opts" -p "hierarchy; proc; opt; memory; opt; fsm; opt -full -fine" ${bn}_ref.fir.v  			    fi | 
