Verilator

Provides RTL simulation, automatic testbench generation, and NL query capabilities for Verilator workflows.
  • typescript

2

GitHub Stars

typescript

Language

5 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "ssql2014-verilator-mcp": {
      "command": "node",
      "args": [
        "/path/to/verilator-mcp/dist/index.js"
      ],
      "env": {
        "LOG_LEVEL": "info",
        "VERILATOR_PATH": "/usr/local/bin/verilator"
      }
    }
  }
}

You can run a Verilator MCP Server to combine RTL simulation, automatic testbench generation, and natural language queries with your Verilator workflow. This server lets you compile and simulate designs, generate intelligent testbenches, and ask questions about simulations in plain language, making hardware verification more accessible and efficient.

How to use

Use the Verilator MCP Server with an MCP client to perform common verification tasks. Start the local MCP server, then issue commands to compile, simulate, or generate testbenches. You can also ask natural language questions about your current simulation and get targeted results such as waveform, coverage, or debugging insights. Typical workflows include: compiling a design, running a simulation with an auto-generated testbench, analyzing waveforms, and querying for failures or coverage gaps.

How to install

Prerequisites you need before starting are Node.js 16+ (for running the MCP server), Verilator 5.0+ (for RTL simulation), and Git (to clone sources). Install each prerequisite using the commands below, then proceed with installing the MCP server and verifying the setup.

# Prerequisites
node -v
verilator --version
git --version

Step 1. Install Verilator on your platform. This prepares the simulator that the MCP server will drive.

# macOS
brew install verilator

# Ubuntu/Debian
sudo apt-get update
sudo apt-get install verilator

# From source
git clone https://github.com/verilator/verilator
cd verilator
autoconf
./configure
make -j `nproc`
sudo make install

Verify Verilator installation to ensure the MCP server can interface with it.

verilator --version
# Should output: Verilator 5.0 or higher

Step 2. Install the Verilator MCP server by cloning the MCP repository, installing dependencies, building, and testing.

# Clone the repository
git clone https://github.com/ssql2014/verilator-mcp.git
cd verilator-mcp

# Install dependencies
npm install

# Build the project
npm run build

# Test the server
npm test
# Or run diagnostic
./diagnose.sh

Step 3. Configure your MCP client (Claude Desktop in this example) to connect to the Verilator MCP server. You will specify how to run the server locally from Node.

{
  "mcpServers": {
    "verilator": {
      "command": "node",
      "args": ["/path/to/verilator-mcp/dist/index.js"],
      "env": {
        "LOG_LEVEL": "info"
      }
    }
  }
}

Additional setup notes

Step 4. Restart your MCP client to load the new server configuration, so it can route requests to the Verilator MCP server. Step 5. If you need to fine-tune behavior, you can adjust the environment variables shown above, such as the logging level.

Troubleshooting and tips

If you encounter issues, run the diagnostic script to check your setup and verify that the Verilator MCP server is reachable by your client.

./diagnose.sh

Common issues include Verilator not found, the server not starting in your MCP client, compilation problems, or testbench generation failures. Ensure Verilator is installed and accessible, verify the MCP client configuration uses absolute paths, and restart the client after configuration changes.

Environment and runtime notes

Environment variables you may encounter include LOG_LEVEL to control logging granularity and VERILATOR_PATH to override the Verilator installation path.

Available tools

verilator_compile

Compile Verilog/SystemVerilog designs to C++ with optional waveform tracing and coverage collection.

verilator_simulate

Run RTL simulation with automatic testbench generation, waveform output, and optional coverage.

verilator_testbenchgenerator

Generate intelligent testbenches for modules with templates for protocols and various stimulus types.

verilator_naturallanguage

Process natural language queries about the current simulation context and results.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational