cli · checkcheck the installed tools
dewfpga check
What does its help text say?
dewfpga check verify every piece is in place
From dewfpga --help, as bin/dewfpga prints it.
What does the README say?
dewfpga check is every piece in place
From the README.
What does the guide say?
dewfpga check
dewfpga check (FPGA_HOME=/Users/you/fpga)
✓ yosys /opt/homebrew/bin/yosys
✓ yosys-slang /Users/you/fpga/yosys-slang/build/slang.so
✓ iverilog /opt/homebrew/bin/iverilog
✓ openFPGALoader /opt/homebrew/bin/openFPGALoader
✓ nextpnr-xilinx /Users/you/fpga/nextpnr-xilinx/build/nextpnr-xilinx
✓ xc7frames2bit /Users/you/fpga/prjxray/build/tools/xc7frames2bit
✓ fasm2frames /Users/you/fpga/prjxray/utils/fasm2frames.py
✓ chipdb /Users/you/fpga/chipdb/xc7a35t.bin
✓ venv /Users/you/fpga/venv/bin/python
✓ python pkgs fasm prjxray pyyaml textx simplejson intervaltree
all good.
dewfpga check is every piece in place
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 check --json, dewfpga sim [top] --json, dewfpga bit [top] --json and dewfpga flash [top] --json print exactly one JSON object on stdout. Text commands retain their existing output. flash programs attached hardware; request it only when the user has authorized programming the board.
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.
| Tool | Arguments | Behavior |
|---|---|---|
check |
none | inspect installed tools |
From the agent interface: the machine-readable CLI and the MCP server.
Which errors can it stop with?
8 codes in the error catalog.
- unknown-command: The word after dewfpga is not one of its commands (install, check, new, sim, bit, flash, clean, uninstall).
- 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.
- path-with-space: The CLI's own folder or FPGA_HOME has a space in its path; the build scripts hand those paths to make and the tools unquoted.
- folder-exists: The folder dewfpga new was told to create is already there; it never overwrites a design.
- toolchain-not-installed: nextpnr-xilinx, the chip database or another tool is not under FPGA_HOME; the build needs all of them.
- yosys-slang-does-not-load: The second reader is a plugin compiled against one yosys; after brew upgrade yosys it no longer loads.
- fpga-home-unsafe: FPGA_HOME points at your home folder or /; uninstall deletes what install.sh put under FPGA_HOME and will not touch those.
- no-install-found: Not an error: uninstall found none of the six entries install.sh writes under FPGA_HOME.
Which patch notes name it?
- #1 The CLI and the guide say the same thing
- #4 What Vivado accepts compiles: yosys-slang as the second reader
- #30 The install keeps only the chain that runs: about 0.25 GB on disk instead of 1.5
previous: dewfpga install
next: dewfpga run
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