The CLI¶
cloud-fpga is installed with the SDK. It programs FPGAs, inspects
cluster and job state, and pokes registers on a live board.
Global options (accepted by every command):
| Option | Default | Purpose |
|---|---|---|
--api-key KEY |
$CLOUD_FPGA_API_KEY |
API key. |
--api-url URL |
https://api.manhattanreasoning.com |
Orchestrator base URL. |
run — program and run an app¶
Loads the cloud_fpga.App from file.py, programs the FPGA, then
calls its @local_entrypoint.
| Option | Purpose |
|---|---|
--fpga-id N |
Override the fpga_id set in the file. |
--no-program |
Skip programming (the board already has this design loaded). |
status — show FPGA states¶
With no argument, prints the full table; with an fpga_id, shows that board's
detail (state, owner, current job, session).
ID STATE OWNER CURRENT JOB
─────────────────────────────────────────────
0 idle - -
3 reserved dev a1b2c3d4
States: idle, queued, building, programming, reserved, error — see
Architecture.
read — read register words¶
address is a byte address, hex or decimal. Reads --count words (default
1) from a live (reserved) board.
write — write a register word¶
Both address and value accept hex or decimal.
reset — return a board to idle¶
Reflashes the base SoC and returns the board to idle.
Reset can fail in the prototype
The base-SoC reflash currently fails and can leave the board in error. If
reset doesn't recover a board, use the Redis flush in
Troubleshooting.
job, logs, cancel — job control¶
cloud-fpga job <fpga_id> <job_id> # status + metadata
cloud-fpga logs <fpga_id> <job_id> # build log (great for build failures)
cloud-fpga cancel <fpga_id> <job_id> # cancel a queued job
When a run build fails, cloud-fpga logs <fpga_id> <job_id> prints the Yosys /
nextpnr output so you can see what the synthesizer rejected.
See also¶
- Python SDK — the
App/RegisterMapAPI the CLI drives. - REST API — the HTTP endpoints behind each command.