| #!/bin/bash | |
| set -ex | |
| rm -rf test_cells.tmp | |
| mkdir -p test_cells.tmp | |
| cd test_cells.tmp | |
| ../../../yosys -p 'test_cell -n 5 -w test all /$alu /$fa /$lcu /$lut /$sop /$macc /$mul /$div /$mod' | |
| for fn in test_*.il; do | |
| ../../../yosys -p " | |
| read_ilang $fn | |
| rename gold gate | |
| synth | |
| read_ilang $fn | |
| miter -equiv -make_assert -flatten gold gate main | |
| hierarchy -top main | |
| write_btor ${fn%.il}.btor | |
| " | |
| boolectormc -kmax 1 --trace-gen --stop-first -v ${fn%.il}.btor > ${fn%.il}.out | |
| if grep " SATISFIABLE" ${fn%.il}.out; then | |
| echo "Check failed for ${fn%.il}." | |
| exit 1 | |
| fi | |
| done | |
| echo "OK." | |