Skip to main content

Installation

Install RTL Buddy in a Python 3.11 or newer project with uv.

Install and verify

uv add rtl_buddy
uv run rb --version

RTL Buddy installs its Python runtime dependencies automatically. External EDA tools are required only for the commands that use them.

Dependency types

RTL Buddy's wheel provides required Python dependencies. Integrated tools are fixed by a feature; pluggable tools implement a supported interface; curated pluggable tools additionally receive tool-specific handling. External tools remain optional until you invoke their workflow.

External tools by feature

WorkflowRequired toolsNotes
test, randtest, regressionA configured simulator: Verilator, Icarus Verilog, or VCSInstall lcov for Verilator LCOV/HTML export.
Slurm dispatchsbatch, squeue, scancel; sacct and scontrol recommendedRequires a Linux submit host and shared filesystem. sacct supplies right-sizing telemetry; scontrol supplies MaxArraySize, without which a resource group too large for one job array is not split — set cfg-dispatch.max-array-size instead. Use --dispatch local-parallel for dependency-free parallelism on one host.
veribleVeriblemacOS: brew tap chipsalliance/verible && brew install verible.
synth, synth-regressionrtl-buddy Yosys fork; OpenROAD for tool: openroadSee Synthesis.
pnr, powerOpenROAD 25Q1 or newerKLayout is optional for P&R GDS and PNG output.
fpv, fpv-regressionSymbiYosys 0.40 or newer and at least one SMT solverYosys is used for COI analysis; yosys-slang is optional.
waveSurfer from the rtl-buddy fork and branchMainline Surfer opens traces but lacks live editor annotation. rb nvim-install additionally needs Git and network access.
hier, hier-queryuv tool install rtl-buddy-schGraphviz is optional for DOT rendering; pyslang is optional for the slang frontend.
graph buildrtl-buddy-sch; optional rtl_buddy[graph-extract]Query commands need only an existing graph.
mcprtl_buddy[mcp]Install with uv add "rtl_buddy[mcp]".
fpgaVivado, or Yosys + nextpnr-xilinx + prjxray for tool: openxc7Missing optional FPGA tools produce SKIP.
axi-profileuv tool install rtl-buddy-axi-profilerExtras provide Parquet and notebook support.
mutrtl_buddy[mut]Install with uv add "rtl_buddy[mut]"; the selected oracle also needs its normal tools.
Coverview packagingCoverview and its info-process dependencyBasic coverage collection does not require Coverview.

Use rb tool-check where supported to diagnose missing or incompatible tools. The linked concept page for each command contains setup and recovery details.

Update RTL Buddy

uv add rtl_buddy@latest
uv sync

Commit the resulting pyproject.toml and lockfile changes with the project.

Install a pre-release

Pin a pre-release exactly; unqualified dependency ranges do not select release candidates:

uv add "rtl_buddy==2.3.0rc1"

Install the agent skills

Install the bundled Claude Code and Codex skill family at user scope:

uv run rb skill install

For a project pinned to a different RTL Buddy major, install a project-local override:

uv run rb skill install --project

Re-run installation after upgrading to refresh every family member. See Agent Use for members, paths, status checks, and project .gitignore guidance.