verilator_compileLABSCO SUMMARY
The testbench generation is the reason to use it.
Simulating a design that already has a testbench is a build command; getting a clock, a reset with the right polarity, stimulus and basic assertions written for a module you just wrote is the part that normally costs an afternoon. The generator infers clock and reset signals, port widths and protocol from the module itself, so the useful first move is to run a simulation on a bare .v file and read what it produced.
What it is
A front end for Verilator aimed at the moment before you have a testbench. Point it at a Verilog or SystemVerilog file and it will compile, generate stimulus, run the simulation, and let you ask about the result in ordinary sentences.
What you get
verilator_compilebuilds a design to C++, taking the file list and a top module, with optimisation level, waveform tracing and coverage as optionsverilator_simulateruns the simulation and generates the testbench automatically when one is missing, with waveform capture on by defaultverilator_testbenchgeneratorwrites a testbench for a named module — templates for basic, UVM, cocotb and protocol styles, protocol awareness for AXI, APB, Wishbone and Avalon, and directed, random or constrained-random stimulusverilator_naturallanguageanswers questions about a run — why a signal is low at a given time, what caused an assertion failure, where coverage is missing- Simulation artefacts are exposed as resources: logs, waveform data, coverage reports, module hierarchy and interface definitions
Requirements
Verilator 5.0+ installed and on PATH — the server does not bundle it — plus Node.js 16+ and Git. Clone, install, build, and point the client at the compiled entry point; published as @mcp/verilator-server, version 0.2.0. LOG_LEVEL sets verbosity and VERILATOR_PATH overrides the Verilator location. A diagnostic script in the repo checks the setup.
Setup effort
Build from source — git clone https://github.com/ssql2014/verilator-mcp.git
USE CASES
Simulating a module you just wrote
Run it with no testbench — one gets generated, and the waveform comes out the other side.
Finding out why an assertion fired
Ask about the time and signal in plain language with the waveform file as context, instead of scrubbing the trace by hand.
Verifying a protocol interface
Generate a protocol-aware testbench for an AXI or APB block rather than writing the transaction sequences yourself.
Closing a coverage gap
Ask which blocks are untested and get test scenarios proposed for them.
4 tools
Listed in project docs. Your client may show a different list.
verilator_simulateverilator_testbenchgeneratorverilator_naturallanguageBEFORE YOU INSTALL
What to know first
Tools you get
4 tools named in the project's documentation.
Requires
- Node.js 16+
- Verilator 5.0+ installed and on PATH
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
You clone and build this one yourself.
Server setup
git clone https://github.com/ssql2014/verilator-mcp.git
cd verilator-mcp
npm install
npm run buildMCP Clients
Claude Desktop
{
"mcpServers": {
"verilator": {
"command": "node",
"args": [
"<YOUR_PATH_TO_VERILATOR_MCP>/dist/index.js"
],
"env": {
"LOG_LEVEL": "info"
}
}
}
}