mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-11-04 05:19:11 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			40 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
#!/bin/bash
 | 
						|
 | 
						|
set -e
 | 
						|
 | 
						|
OPTIND=1
 | 
						|
seed=""    # default to no seed specified
 | 
						|
abcopt=""
 | 
						|
while getopts "A:S:" opt
 | 
						|
do
 | 
						|
    case "$opt" in
 | 
						|
	A) abcopt="-A $OPTARG" ;;
 | 
						|
	S) seed="-S $OPTARG" ;;
 | 
						|
    esac
 | 
						|
done
 | 
						|
shift "$((OPTIND-1))"
 | 
						|
 | 
						|
bash ../tools/autotest.sh $abcopt $seed -G *.v
 | 
						|
 | 
						|
for f in `egrep -l 'expect-(wr-ports|rd-ports|rd-clk)' *.v`; do
 | 
						|
	echo -n "Testing expectations for $f .."
 | 
						|
	../../yosys -qp "proc; opt; memory -nomap;; dump -outfile ${f%.v}.dmp t:\$mem" $f
 | 
						|
	if grep -q expect-wr-ports $f; then
 | 
						|
		grep -q "parameter \\\\WR_PORTS $(gawk '/expect-wr-ports/ { print $3; }' $f)\$" ${f%.v}.dmp ||
 | 
						|
				{ echo " ERROR: Unexpected number of write ports."; false; }
 | 
						|
	fi
 | 
						|
	if grep -q expect-rd-ports $f; then
 | 
						|
		grep -q "parameter \\\\RD_PORTS $(gawk '/expect-rd-ports/ { print $3; }' $f)\$" ${f%.v}.dmp ||
 | 
						|
				{ echo " ERROR: Unexpected number of read ports."; false; }
 | 
						|
	fi
 | 
						|
	if grep -q expect-rd-clk $f; then
 | 
						|
		grep -q "connect \\\\RD_CLK \\$(gawk '/expect-rd-clk/ { print $3; }' $f)\$" ${f%.v}.dmp ||
 | 
						|
				{ echo " ERROR: Unexpected read clock."; false; }
 | 
						|
	fi
 | 
						|
	if grep -q expect-no-rd-clk $f; then
 | 
						|
		grep -q "connect \\\\RD_CLK 1'x\$" ${f%.v}.dmp ||
 | 
						|
				{ echo " ERROR: Expected no read clock."; false; }
 | 
						|
	fi
 | 
						|
	echo " ok."
 | 
						|
done
 | 
						|
 |