mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-31 11:42:30 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			33 lines
		
	
	
	
		
			743 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
	
		
			743 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/usr/bin/env bash
 | |
| 
 | |
| set -ex
 | |
| 
 | |
| rm -rf test_cells.tmp
 | |
| mkdir -p test_cells.tmp
 | |
| cd test_cells.tmp
 | |
| 
 | |
| # don't test $mul to reduce runtime
 | |
| # don't test $div/$mod/$divfloor/$modfloor to reduce runtime and avoid "div by zero" message
 | |
| ../../../yosys -p 'test_cell -n 5 -w test all /$alu /$fa /$lcu /$lut /$macc /$mul /$div /$mod /$divfloor /$modfloor'
 | |
| 
 | |
| cat > template.txt << "EOT"
 | |
| %module main
 | |
|   INVARSPEC ! bool(_trigger);
 | |
| EOT
 | |
| 
 | |
| for fn in test_*.il; do
 | |
| 	../../../yosys -p "
 | |
| 		read_rtlil $fn
 | |
| 		rename gold gate
 | |
| 		synth
 | |
| 
 | |
| 		read_rtlil $fn
 | |
| 		miter -equiv -flatten gold gate main
 | |
| 		hierarchy -top main
 | |
| 		write_smv -tpl template.txt ${fn#.il}.smv
 | |
| 	"
 | |
| 	nuXmv -dynamic ${fn#.il}.smv > ${fn#.il}.out
 | |
| done
 | |
| 
 | |
| grep '^-- invariant .* is false' *.out || echo 'All OK.'
 | |
| 
 |