cli · installinstall the toolchain into ~/fpga
dewfpga install
What does its help text say?
dewfpga install install the toolchain into ~/fpga (safe to re-run)
From dewfpga --help, as bin/dewfpga prints it.
What does the README say?
It puts the CLI in ~/.dewfpga (sha256 compared with dewfpga.tgz.sha256, an integrity check, not a signature), links dewfpga into Homebrew's bin and runs dewfpga install. Re-run the same line to update; dewfpga uninstall removes what the installer built in ~/fpga (nextpnr-xilinx, prjxray, chipdb, venv, the log), ~/.dewfpga and the link, and leaves anything else in ~/fpga. Requirements: macOS on Apple Silicon and Homebrew. The builds also need Apple's Command Line Tools (git, make, clang); the Homebrew installer puts them in when they are missing, and both installers check and print the one line to run if either is missing or Homebrew is off the PATH. Switching to the npm package later: remove $(brew --prefix)/bin/dewfpga first, npm wants that path. An install made before 7 October 2026 keeps its clones (1.5 GB, 1543 MB measured on 7 October) and is left as it is; dewfpga uninstall && dewfpga install gets the small one.
dewfpga install install the toolchain (safe to re-run)
dewfpga install also builds an optional, isolated MCP SDK. Connect an MCP client to dewfpga mcp; setup and tool arguments.
From the README.
What does the guide say?
If dewfpga install later stops with Xcode Command Line Tools missing (a Homebrew copied over by Migration Assistant, or a tools download that failed), run xcode-select --install, click Install in the window, and run it again. If it stops with Homebrew is installed (...) but not on your PATH, the "Next steps" lines were the missing part; it prints the one line that fixes it.
From section 1, What do you need before you start?.
A red ✗ names the missing piece: run the curl line again (it is the same as dewfpga install), it skips what is done. dewfpga: command not found has two causes: the Homebrew "Next steps" lines from section 1 were not pasted (the installer says so, Homebrew is installed (...) but not on your PATH, and prints the line to paste), or the installer stopped before its last line; scroll up to the first ERROR: line and look it up on the errors page.
dewfpga install install the toolchain (safe to re-run)
From section 2, How do you install it in one line?.
The plugin is tied to the Yosys it was built against: after brew upgrade yosys, build it again (rm -rf build, then the cmake and make lines). The installer does this by itself: it keeps the yosys -V line it built for in build/.dewfpga-yosys, compiles the new plugin into build.new/ and replaces build/ only once Yosys loads the new slang.so, so a build that fails (no disk, no network) leaves the plugin you have in place. A slang.so built by hand with the lines above has no stamp; the installer loads it with yosys -m, and if read_slang is there it writes the stamp instead of building again. dewfpga check loads the plugin the same way each time it runs: a plugin that is there but no longer loads prints does not load in Yosys 0.69+post (built for another yosys? dewfpga install rebuilds it), a missing one prints MISSING (the SystemVerilog reader: dewfpga install builds it, about 4 min), and either way the check ends with something is missing -> dewfpga install and exit 1. Without the plugin make bit still runs, on Yosys' own reader alone.
From section 3.6, yosys-slang.
How does a coding agent call it?
dewfpga mcp serves the same CLI through standard input/output. dewfpga install builds a separate $FPGA_HOME/mcp-venv, with mcp==2.3.0 and mcp-types==2.3.0. The plain CLI remains usable if that optional installation fails. Set DEWFPGA_SKIP_MCP=1 to skip the automatic SDK step. dewfpga check reports its presence without making an absent optional SDK a toolchain failure.
From the agent interface: the machine-readable CLI and the MCP server.
Which errors can it stop with?
1 codes in the error catalog.
- unknown-option: A word starting with - after the command, or an argument after install: the commands take a module or file name at most, install takes nothing.
Which patch notes name it?
- #4 What Vivado accepts compiles: yosys-slang as the second reader
- #6 The CLI's untested paths get checks, one number for the count, a test that reads the bitstream, the board test ready for the board
- #30 The install keeps only the chain that runs: about 0.25 GB on disk instead of 1.5
next: dewfpga check
Every command: dewfpga install · dewfpga check · dewfpga run · dewfpga sim · dewfpga bit · dewfpga flash · dewfpga clean · dewfpga tops · dewfpga new · dewfpga uninstall · dewfpga vscode · dewfpga … --json · dewfpga mcp