- Home
- MCP servers
- Verilator
Verilator
- 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.