FFalCAD docs

0008 — HDL toolchain through WebAssembly

Status: accepted

Decision

Synthesis uses upstream Yosys compiled to WebAssembly by YoWASP (@yowasp/yosys, ISC), and iCE40 place-and-route uses @yowasp/nextpnr-ice40. Both are pinned exactly. The engines run in Node and browsers without native installs. Known quirks of the pinned builds are handled in one place: a missing sim pass, an ABC crash with verbose console logging, and slang single-threading.

Behavioural simulation of testbenches needs Icarus Verilog, GHDL or Verilator. These are detected when installed and are never bundled before license review.

Consequences