Passive synthesis tool profiles (yosys, dc_shell, genus) for replayable runs and comparable summary outputs.
syn/scripts/run_syn.shtool, status, area, timing_summary, log_path, replay_pathsyn/
├── db/ — Binary databases (.ddc, .db, .genus_db)
├── vnet/ — Gate-level netlists (.v, .json)
├── svf/ — Setup Verification Flow (.svf, DC only)
├── scr/ — Generated scripts (.tcl, .ys) + replay/
├── rpt/ — Reports (area, timing, power, qor)
├── log/ — Synthesis logs
├── temp/ — Cache and temporary files
└── work/ — Tool work directories
yosys:
syn/scripts/run_syn.sh --tool yosys --top <top> -f rtl/filelist_top.fsyn/scripts/run_syn.sh --tool yosys --top <top> -f rtl/filelist_top.f --liberty <lib>dc_shell:
syn/scripts/run_syn.sh --tool dc_shell --top <top> -f rtl/filelist_top.f--liberty <tech.lib> --sdc <design.sdc> --script <dc.tcl>.ddc → syn/db/, netlist → syn/vnet/, .svf → syn/svf/, .synopsys_dc.setup → syn/scr/genus:
syn/scripts/run_syn.sh --tool genus --top <top> -f rtl/filelist_top.f--liberty <tech.lib> --sdc <design.sdc> --script <genus.tcl>.genus_db → syn/db/, netlist → syn/vnet/| Tier | Tools | Capabilities | sv2v Handling |
|---|---|---|---|
| 1 (commercial) | dc_shell, genus | Full synthesis + timing + area + PPA | Not needed (native SV support) |
| 2 (oss) | yosys | Latch detection, unmapped cells, basic area estimate | Script handles internally (Layer 2) |
| 3 (none) | — | Synthesis skipped with WARNING | N/A |
Use get_synthesis_tier() from lib/tool-runner.sh to determine tier at runtime.
sv2v Policy: sv2v is a Layer 2 concern — run_syn.sh handles it internally for Yosys.
Agent prompts and policy skills MUST NOT instruct manual sv2v execution.
Canonical source stays SystemVerilog; tool adaptation is the script's responsibility.
--skip-if-unavailable flag: When passed to run_syn.sh, tool absence or license failure
produces WARNING + clean exit (exit 0) instead of hard failure. Use in optional synthesis contexts
(Stream B smoke test, V8 estimation without commercial tools).
FAIL: tool fatal error, netlist generation failure, or unusable reportPASS: synthesis completes and required summary artifacts are generatedSKIPPED: tool not available and --skip-if-unavailable was set (non-blocking)