diff options
author | Clifford Wolf <clifford@clifford.at> | 2013-06-10 12:37:05 +0200 |
---|---|---|
committer | Clifford Wolf <clifford@clifford.at> | 2013-06-10 12:37:05 +0200 |
commit | d07b32ade5f7d3d95792160e40617121e5ef2402 (patch) | |
tree | 550e083e8a79751bb56ace4d09b2db05d9292482 /tests/xsthammer/run-check.sh | |
parent | af83ed168e0b57781617feeff3b984180ae3c32e (diff) |
Progress on xsthammer
Diffstat (limited to 'tests/xsthammer/run-check.sh')
-rw-r--r-- | tests/xsthammer/run-check.sh | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/tests/xsthammer/run-check.sh b/tests/xsthammer/run-check.sh new file mode 100644 index 00000000..dd080d02 --- /dev/null +++ b/tests/xsthammer/run-check.sh @@ -0,0 +1,52 @@ +#!/bin/bash + +set -ex +mkdir -p check + +rm -rf check_temp +mkdir check_temp +cd check_temp + +for job in $( ls ../rtl | sed 's,\.v$,,' ) +do + { + echo "module top(a, b, y1, y2);" + sed -r '/^(input|output) / !d; /output/ { s/ y;/ y1;/; p; }; s/ y1;/ y2;/;' ../rtl/$job.v + echo "${job}_rtl rtl_variant (.a(a), .b(b), .y(y1));" + echo "${job}_xst xst_variant (.a(a), .b(b), .y(y1));" + 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" + + 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" + echo "sat -verify -prove y1 y2 top" + } > ${job}_cmp.ys + + yosys ${job}_top.ys + if yosys -l ${job}.log ${job}_cmp.ys; then + mv ${job}.log ../check/${job}.log + else + mv ${job}.log ../check/${job}.err + fi + + break; +done + |