From 32892b32d380e3e6f464e1030470ef8710a2a398 Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Tue, 5 Nov 2019 15:07:56 +0000 Subject: Update reducer script --- scripts/reducer.sh | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) (limited to 'scripts/reducer.sh') diff --git a/scripts/reducer.sh b/scripts/reducer.sh index b09cecd..e79812d 100644 --- a/scripts/reducer.sh +++ b/scripts/reducer.sh @@ -2,35 +2,45 @@ for i in $(seq 0 100); do echo "INFO: Run ${i}" - dir="$(dirname "$(find /mnt/data/projects/verismith/runs/yosys_0.8/run_5 -name 'reduce*' -type f | shuf | uniq)")" + dir="$(dirname "$(find /mnt/data/projects/verismith/runs/yosys_0.8/run_5 -name 'reduce*' -type f | shuf | head -1)")" dest="$(pwd)/run_${i}" + interesting="${dest}/creduce/interesting.sh" + vfile="${dest}/creduce/rtl.v" + orig="$(pwd)" + + echo "INFO: Picked ${dir}" cp -r $dir $dest mkdir -p "${dest}/creduce" if [[ -f "${dest}/reduce_yosys.v" ]]; then echo "INFO: Detected crash" - echo >"${dest}/creduce/interesting.sh" <$interesting <yosys.log 2>&1 grep "vector::_M_range_check:" yosys.log -exit $? +exit \$? EOF elif [[ -f "${dest}/reduce_identity_yosys.v" ]]; then echo "INFO: Detected mis-synthesis" - echo >"${dest}/creduce/interesting.sh" <$interesting <yosys1.log 2>&1 || exit 1 grep -v "Warning: Resizing cell port" yosys1.log >yosys.log grep "Warning" yosys.log -greturn=$? -if [[ $greturn -eq 0 ]]; then exit 1; fi +greturn=\$? +if [[ \$greturn -eq 0 ]]; then exit 1; fi sed -i -E 's/((module[0-9]+)|top)/\1_2/' syn_yosys.v sed -E 's/((module[0-9]+)|top)/\1_1/' rtl.v >syn_identity.v @@ -46,6 +56,10 @@ EOF continue fi - cp "${dest}/identity/syn_identity.v" "${dest}/creduce/rtl.v" - creduce --abs-timing --no-c "${dest}/creduce/interesting.sh" "${dest}/creduce/rtl.v" + cp "${dest}/identity/syn_identity.v" "$vfile" + chmod +x "$interesting" + cd "${dest}/creduce" + time creduce --abs-timing --no-c ./interesting.sh rtl.v >creduce.log + cd "${orig}" + echo "INFO: Done" done -- cgit