2017-12-10 00:16:47 -06:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
set -ex
|
|
|
|
|
|
|
|
rm -rf test_cells.tmp
|
|
|
|
mkdir -p test_cells.tmp
|
|
|
|
cd test_cells.tmp
|
|
|
|
|
2017-12-10 01:40:11 -06:00
|
|
|
../../../yosys -p 'test_cell -n 5 -w test all /$alu /$fa /$lcu /$lut /$sop /$macc /$mul /$div /$mod /$shift /$shiftx'
|
2017-12-10 00:16:47 -06:00
|
|
|
|
|
|
|
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 -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."
|
|
|
|
|