mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-11-04 05:19:11 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			44 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
#!/usr/bin/env bash
 | 
						|
 | 
						|
 | 
						|
TESTNAME=$1
 | 
						|
 | 
						|
STDOUTFILE=${TESTNAME}.log_stdout
 | 
						|
STDERRFILE=${TESTNAME}.log_stderr
 | 
						|
 | 
						|
echo "" > $STDOUTFILE
 | 
						|
echo "" > $STDERRFILE
 | 
						|
 | 
						|
echo "Test: ${TESTNAME} -> "
 | 
						|
 | 
						|
set -e
 | 
						|
 | 
						|
$PWD/../../yosys -p "read_verilog -sv ${TESTNAME}.sv ; hierarchy -check -top TopModule ; synth ; write_verilog ${TESTNAME}_syn.v" >> $STDOUTFILE 2>> $STDERRFILE
 | 
						|
$PWD/../../yosys -p "read_verilog -sv ${TESTNAME}_ref.v ; hierarchy -check -top TopModule ; synth ; write_verilog ${TESTNAME}_ref_syn.v" >> $STDOUTFILE 2>> $STDERRFILE
 | 
						|
 | 
						|
rm -f a.out reference_result.txt dut_result.txt
 | 
						|
 | 
						|
iverilog -g2012 ${TESTNAME}_syn.v
 | 
						|
iverilog -g2012 ${TESTNAME}_ref_syn.v
 | 
						|
 | 
						|
set +e
 | 
						|
iverilog -g2012 ${TESTNAME}_tb.v ${TESTNAME}_ref_syn.v
 | 
						|
./a.out
 | 
						|
mv output.txt reference_result.txt
 | 
						|
if [ -f ${TESTNAME}_wrapper.v ] ; then
 | 
						|
    iverilog -g2012 ${TESTNAME}_tb_wrapper.v ${TESTNAME}_syn.v
 | 
						|
else
 | 
						|
    iverilog -g2012 ${TESTNAME}_tb.v ${TESTNAME}_syn.v
 | 
						|
fi
 | 
						|
./a.out
 | 
						|
mv output.txt dut_result.txt
 | 
						|
 | 
						|
diff reference_result.txt dut_result.txt > ${TESTNAME}.diff
 | 
						|
RET=$?
 | 
						|
if [ "$RET" != "0" ] ; then
 | 
						|
    echo "ERROR!"
 | 
						|
    exit -1
 | 
						|
fi
 | 
						|
 | 
						|
echo "ok"
 | 
						|
exit 0
 |