fix: make synth.sh run on yosys 0.33 and on hosts without a python binary
Two unrelated breakages in the manual flow, both hit on the development
machine and neither visible from the regression runner.
The .ys templates use flatten -noscopeinfo, added in yosys 0.40. On the
installed yosys 0.33 that is a hard error - "Command syntax error: Unknown
option" - so synth.sh aborted before reaching the converter at all.
test/run_iscas85.sh already detected this and stripped the flag from the
rendered script; synth.sh did not, so only the automated path worked. Apply
the same detection there. Plain flatten is equivalent on 0.33 because no
$scopeinfo cells are produced in the first place, so no yosys upgrade is
needed for this project.
The summary step then called python, which does not exist on hosts that
ship only python3, and reported "python: command not found" as though the
synthesis had failed - it had in fact completed, written every artifact and
proven equivalence. Resolve python3 before python, and treat a failing
summary as a warning: it runs after a finished run and is a convenience on
top of it, not part of it. print_summary.py additionally needs matplotlib,
which stays an unmet dependency, but is now reported as such.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014JTKS4uaDDZejKn7pE8vjc