summaryrefslogtreecommitdiff
path: root/tests/xsthammer/run-check.sh
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2013-06-11 19:49:35 +0200
committerClifford Wolf <clifford@clifford.at>2013-06-11 19:49:35 +0200
commit4b311b7b99f55ee4bfe43447067b177fb2f90a82 (patch)
tree193d4d97230bd7665846293a4229312d2227b0e6 /tests/xsthammer/run-check.sh
parent8ce99fa6863a8e43b889a11c13e45f317fff11b3 (diff)
Further improved and extended xsthammer
Diffstat (limited to 'tests/xsthammer/run-check.sh')
-rw-r--r--tests/xsthammer/run-check.sh100
1 files changed, 50 insertions, 50 deletions
diff --git a/tests/xsthammer/run-check.sh b/tests/xsthammer/run-check.sh
index 6604f6e0..6a77e236 100644
--- a/tests/xsthammer/run-check.sh
+++ b/tests/xsthammer/run-check.sh
@@ -1,65 +1,65 @@
#!/bin/bash
-set -e
-mkdir -p check
+if [ $# -eq 0 ]; then
+ echo "Usage: $0 <job_id>" >&2
+ exit 1
+fi
-rm -rf check_temp
-mkdir check_temp
+job="$1"
+set --
+
+set -e
+mkdir -p check check_temp
cd check_temp
-if [ $# -eq 0 ]; then
- set -- $( ls ../rtl | sed 's,\.v$,,' )
-fi
+{
+ echo "module ${job}_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));"
+ echo "endmodule"
+} > ${job}_top.v
-for job
-do
+for mode in nomap techmap; do
{
- echo "module ${job}_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));"
- echo "endmodule"
- } > ${job}_top.v
+ echo "read_verilog -DGLBL ../xst/$job.v"
+ echo "rename $job ${job}_xst"
- for mode in nomap techmap; do
- {
- echo "read_verilog -DGLBL ../xst/$job.v"
- echo "rename $job ${job}_xst"
+ echo "read_verilog ../rtl/$job.v"
+ echo "rename $job ${job}_rtl"
+ if [ $mode = techmap ]; then
+ echo "techmap ${job}_rtl"
+ fi
- echo "read_verilog ../rtl/$job.v"
- echo "rename $job ${job}_rtl"
- if [ $mode = techmap ]; then
- echo "techmap ${job}_rtl"
- fi
+ echo "read_verilog ${job}_top.v"
+ echo "read_verilog ../xl_cells.v"
- echo "read_verilog ${job}_top.v"
- echo "read_verilog ../xl_cells.v"
+ echo "hierarchy -top ${job}_top"
+ echo "flatten ${job}_top"
+ echo "hierarchy -top ${job}_top"
+ echo "opt_clean"
- echo "hierarchy -top ${job}_top"
- echo "flatten ${job}_top"
- echo "hierarchy -top ${job}_top"
- echo "opt_clean"
+ echo "rename ${job}_top ${job}_top_${mode}"
+ echo "write_ilang ${job}_top_${mode}.il"
+ } > ${job}_top_${mode}.ys
+ ../../../yosys -q ${job}_top_${mode}.ys
+done
- echo "rename ${job}_top ${job}_top_${mode}"
- echo "write_ilang ${job}_top_${mode}.il"
- } > ${job}_top_${mode}.ys
- ../../../yosys -q ${job}_top_${mode}.ys
- done
+{
+ echo "read_ilang ${job}_top_nomap.il"
+ echo "read_ilang ${job}_top_techmap.il"
+ echo "sat -verify -show a,b,y_rtl,y_xst -prove y_rtl y_xst ${job}_top_nomap"
+ echo "sat -verify -show a,b,y_rtl,y_xst -prove y_rtl y_xst ${job}_top_techmap"
+} > ${job}_cmp.ys
- {
- echo "read_ilang ${job}_top_nomap.il"
- echo "read_ilang ${job}_top_techmap.il"
- echo "sat -verify -show a,b,y_rtl,y_xst -prove y_rtl y_xst ${job}_top_nomap"
- echo "sat -verify -show a,b,y_rtl,y_xst -prove y_rtl y_xst ${job}_top_techmap"
- } > ${job}_cmp.ys
+if ../../../yosys -l ${job}.log ${job}_cmp.ys; then
+ mv ${job}.log ../check/${job}.log
+ rm -f ../check/${job}.err
+else
+ mv ${job}.log ../check/${job}.err
+ rm -f ../check/${job}.log
+ exit 1
+fi
- if ../../../yosys -l ${job}.log ${job}_cmp.ys; then
- mv ${job}.log ../check/${job}.log
- rm -f ../check/${job}.err
- else
- mv ${job}.log ../check/${job}.err
- rm -f ../check/${job}.log
- # break
- fi
-done
+exit 0