64f0da6d7393b662c56c6fc1a13a7369d2f7131f
6 if [ "$1" = "-vivado" ]; then
8 checkdir
="check_vivado"
13 echo "Usage: $0 <job_id>" >&2
21 mkdir
-p $checkdir check_temp
/$job
25 echo "module ${job}_top(a, b, y_rtl, y_xst);"
26 sed -r '/^(input|output) / !d; /output/ { s/ y;/ y_rtl;/; p; }; s/ y_rtl;/ y_xst;/;' ..
/..
/rtl
/$job.v
27 echo "${job}_rtl rtl_variant (.a(a), .b(b), .y(y_rtl));"
28 echo "${job}_xst xst_variant (.a(a), .b(b), .y(y_xst));"
32 for mode
in nomap techmap
; do
35 echo "read_verilog ../../vivado/$job.v"
37 echo "read_verilog -DGLBL ../../xst/$job.v"
39 echo "rename $job ${job}_xst"
41 echo "read_verilog ../../rtl/$job.v"
42 echo "rename $job ${job}_rtl"
43 if [ $mode = techmap
]; then
44 echo "techmap ${job}_rtl"
47 echo "read_verilog ${job}_top.v"
48 echo "read_verilog ../../xl_cells.v"
50 echo "hierarchy -top ${job}_top"
51 echo "flatten ${job}_xst"
52 echo "flatten ${job}_rtl"
53 echo "flatten ${job}_top"
56 echo "rename ${job}_xst ${job}_xst_${mode}"
57 echo "rename ${job}_rtl ${job}_rtl_${mode}"
58 echo "rename ${job}_top ${job}_top_${mode}"
59 echo "dump -outfile ${job}_top_${mode}.il ${job}_xst_${mode} ${job}_rtl_${mode} ${job}_top_${mode}"
60 } > ${job}_top_
${mode}.ys
61 ..
/..
/..
/..
/yosys
-q ${job}_top_
${mode}.ys
65 echo "read_ilang ${job}_top_nomap.il"
66 echo "read_ilang ${job}_top_techmap.il"
67 echo "sat -timeout 60 -verify-no-timeout -show a,b,y_rtl,y_xst -prove y_rtl y_xst ${job}_top_nomap"
68 echo "sat -timeout 60 -verify-no-timeout -show a,b,y_rtl,y_xst -prove y_rtl y_xst ${job}_top_techmap"
69 if [[ $job != expression_
* ]]; then
70 echo "eval -brute_force_equiv_checker ${job}_rtl_nomap ${job}_xst_nomap"
71 echo "eval -brute_force_equiv_checker ${job}_rtl_techmap ${job}_xst_techmap"
75 if ..
/..
/..
/..
/yosys
-l ${job}.log
${job}_cmp.ys
; then
76 mv ${job}.log ..
/..
/$checkdir/${job}.log
77 rm -f ..
/..
/$checkdir/${job}.err
78 touch ..
/..
/$checkdir/${job}.log
80 mv ${job}.log ..
/..
/$checkdir/${job}.err
81 rm -f ..
/..
/$checkdir/${job}.log