关于 Verilog MCP Server
Verilog MCP Server 为使用 Claude Code 的硬件设计人员提供 Verilog 和 SystemVerilog 开发工具。它可生成测试平台和 UVM 框架,并通过启发式检查 RTL。
主要功能
- 01生成测试平台骨架
- 02执行启发式 RTL 检查
- 03搭建 UVM 验证环境
- 04识别时钟和复位端口
- 05提示常见锁存与位宽风险
适用场景
- 01根据模块声明创建测试平台
- 02在仿真前检查 RTL 常见问题
- 03搭建 UVM 验证环境
MCP 相关
该 MCP 服务向 Claude Code 提供三个工具:生成测试平台、检查 RTL 以及生成 UVM 环境。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Verilog MCP Server

面向 Claude Code 的 AI 驱动 Verilog / SystemVerilog 开发工具。生成测试平台、检查 RTL 代码,并搭建 UVM 验证环境——全部可在编辑器中完成。
状态: v0.3.0 — 3 个工具,已在 Claude Code 中完成端到端验证。
为什么
芯片设计 EDA 工具已有数十年历史。AI 辅助硬件开发是一片蓝海。此 MCP 服务将 Verilog / SystemVerilog 代码生成和检查功能直接带入 Claude Code,让你可以:
- 在几秒钟内根据模块声明生成测试平台样板代码
- 在仿真前发现常见 RTL 错误(缺少复位、推断出锁存器、case 缺少 default)
- 搭建完整的 UVM 验证环境,包含规范的时钟块、sequencer 和 scoreboard
工具
| 工具 | 描述 |
|---|---|
generate_testbench | 根据模块定义生成 Verilog 测试平台框架 |
check_lint | 静态检查:缺少复位、case-default、锁存器风险、位宽不匹配 |
generate_uvm_env | 生成包含 10 个组件的 UVM 验证环境 |
generate_testbench
输入:一个 Verilog 模块。输出:完整的测试平台,包含时钟生成、复位序列、DUT 实例化、$dumpfile / $dumpvars,以及用于自定义测试激励的 TODO 占位符。
- 自动检测时钟和复位端口
- 支持低电平有效复位(
rst_n后缀) - 支持新式(
input clk, input rst_n)和旧式(input clk, rst_n)端口声明 - 默认时钟频率为 100MHz(周期为 10ns)
check_lint
四类检查:
- 没有复位的时序 always 块 — 警告
- 没有 default 的 case/casez/casex — 问题(锁存器 / X 状态)
- 组合 always 块中的 if 赋值不完整 — 警告(存在推断锁存器的风险)
- 位宽不匹配启发式检查 — 信息
generate_uvm_env
生成 10 个 UVM 组件文件,并以 // ===== FILE: filename.sv ===== 标记分隔:
interface → transaction → sequence → driver → monitor → agent → scoreboard → environment → test → top
- 采用规范的
drv_cb(仅输出时钟块)和mon_cb(仅输入时钟块)设计 - 使用
uvm_analysis_port在 monitor → scoreboard 之间进行通信 - 支持主动 / 被动 Agent 模式
- 在 scoreboard 和约束中提供 TODO 占位符
安装
# 1. Clone
git clone https://github.com/kaiwenyu147369/verilog-mcp-server.git
cd verilog-mcp-server
# 2. Create virtual environment
python -m venv venv
# 3. Activate & install
# Windows:
venv\Scripts\activate
# macOS / Linux:
source venv/bin/activate
pip install mcp
在 Claude Code 中使用
将以下内容添加到工作区的 .mcp.json 中:
{
"mcpServers": {
"verilog-mcp-server": {
"command": "C:\\path\\to\\venv\\Scripts\\python.exe",
"args": ["C:\\path\\to\\verilog-mcp-server\\server.py"]
}
}
}
然后在 Claude Code 设置中(~/.claude/settings.json):
{
"enableAllProjectMcpServers": true,
"enabledMcpjsonServers": ["verilog-mcp-server"]
}
重启 VSCode 后,这些工具就会显示在 Claude Code 中。
快速测试
# Activate venv first, then:
python test_uvm.py
python test_v2.py
技术栈
- Python MCP SDK 1.27.1 —
@server.list_tools()+@server.call_tool()(双装饰器 API) - stdio JSON-RPC — Claude Code 通过 stdin/stdout 通信
- 基于正则表达式的解析 — 无需依赖 SystemVerilog 编译器
已知限制
- 端口解析器使用正则表达式,而非完整的 SystemVerilog 分词器——复杂参数化端口中深度嵌套的括号可能无法正确解析
- UVM Scoreboard 的比较逻辑目前是 TODO 占位符
- 检查规则基于启发式方法;不支持完整展开或类型系统
- 端口解析不支持 interface / struct / modport
路线图
- v0.4.0 — 第 4 个工具(
generate_assertions或analyze_waveform) - 将端口解析器升级为简单分词器
- 增加更多检查规则(阻塞 / 非阻塞赋值检查、有符号 / 无符号警告)
- 实现 UVM Scoreboard 自动比较逻辑
- 支持多文件项目
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。