yosys/tests/xsthammer/run-check.sh

60 lines
1.2 KiB
Bash
Raw Normal View History

2013-06-10 05:37:05 -05:00
#!/bin/bash
set -ex
mkdir -p check
rm -rf check_temp
mkdir check_temp
cd check_temp
2013-06-10 09:17:09 -05:00
if [ $# -eq 0 ]; then
set -- $( ls ../rtl | sed 's,\.v$,,' )
fi
for job
2013-06-10 05:37:05 -05:00
do
{
2013-06-10 09:17:09 -05:00
echo "module top(a, b, y_rtl, y_xst);"
sed -r '/^(input|output) / !d; /output/ { s/ y;/ y_rtl;/; p; }; s/ y_rtl;/ y_xst;/;' ../rtl/$job.v
echo "${job}_rtl rtl_variant (.a(a), .b(b), .y(y_rtl));"
echo "${job}_xst xst_variant (.a(a), .b(b), .y(y_xst));"
2013-06-10 05:37:05 -05:00
echo "endmodule"
} > ${job}_top.v
{
echo "read_verilog -DGLBL ../xst/$job.v"
echo "rename $job ${job}_xst"
echo "read_verilog ../rtl/$job.v"
echo "rename $job ${job}_rtl"
2013-06-10 09:17:09 -05:00
# echo "techmap ${job}_rtl"
2013-06-10 05:37:05 -05:00
echo "read_verilog ${job}_top.v"
echo "read_verilog ../xl_cells.v"
echo "hierarchy -top top"
echo "flatten top"
echo "hierarchy -top top"
echo "opt_clean"
echo "write_ilang ${job}_top.il"
} > ${job}_top.ys
{
echo "read_ilang ${job}_top.il"
2013-06-10 09:17:09 -05:00
echo "sat -verify -show a,b,y_rtl,y_xst -prove y_rtl y_xst top"
2013-06-10 05:37:05 -05:00
} > ${job}_cmp.ys
2013-06-10 09:17:09 -05:00
../../../yosys ${job}_top.ys
2013-06-10 09:17:09 -05:00
if ../../../yosys -l ${job}.log ${job}_cmp.ys; then
2013-06-10 05:37:05 -05:00
mv ${job}.log ../check/${job}.log
rm -f ../check/${job}.err
2013-06-10 05:37:05 -05:00
else
mv ${job}.log ../check/${job}.err
rm -f ../check/${job}.log
2013-06-10 09:17:09 -05:00
# break
2013-06-10 05:37:05 -05:00
fi
done