FPGA设计工具协议服务

该MCP服务器为Claude Code提供FPGA设计工作流支持,包括Verilog合成、仿真和TCL命令验证功能。

  • by collinsoik
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 collinsoik/nl2tcl-mcp

使用说明

nl2tcl mcp

MCP(模型上下文协议)服务器,将Yosys合成和iverilog仿真工具暴露给Claude Code。

概述

此MCP服务器允许Claude Code直接执行FPGA设计工作流程:

  • 合成 使用Yosys为iCE40、ECP5和其他FPGA进行Verilog设计
  • 模拟 使用iverilog/vvp进行试验台设计
  • 验证 TCL在执行前发出安全命令
  • 探索 可用设计文件

不像 nl2tcl 该MCP服务器使用Ollama进行自然语言处理,让Claude Code充当“大脑”——直接生成TCL命令并调用工具执行它们。

安装

先决条件

# Install FPGA tools (Ubuntu/Debian)
sudo apt install yosys iverilog

# Verify installation
yosys -V
iverilog -V

安装MCP服务器

# Clone the repository
git clone https://github.com/collinsoik/nl2tcl-mcp.git
cd nl2tcl-mcp

# Install Python dependencies
pip install "mcp[cli]"

添加到克劳德代码

# Add the MCP server to Claude Code
claude mcp add fpga-tools --transport stdio -- python /path/to/nl2tcl-mcp/server.py

# Or for project-specific installation
claude mcp add fpga-tools --transport stdio --scope project -- python /path/to/nl2tcl-mcp/server.py

可用工具

Yosys工具

工具 说明
yosys_run_tcl 在Yosys中执行任意TCL命令
yosys_synthesize 综合目标FPGA(ice40、ecp5等)的设计
yosys_read_and_stat 阅读设计并显示统计数据,无需综合

仿真工具

工具 说明
sim_compile 使用iverilog编译Verilog文件
sim_run 使用testbench编译并运行完整的模拟

实用工具

工具 说明
tcl_validate 验证TCL命令的安全性
list_designs 列出目录中可用的Verilog文件
check_tools 检查是否安装了yosys/iverilog

资源

资源 描述
fpga://designs 可用设计文件列表
fpga://design/{name} 读取设计文件的内容
fpga://tools 已安装FPGA工具的状态

使用示例

一旦MCP服务器连接到Claude Code,您就可以:

综合设计

> Synthesize designs/blinky.v for iCE40 and show resource usage

Claude calls: yosys_synthesize(design_file="designs/blinky.v", target="ice40")

运行模拟

> Run the testbench for my blinky design

Claude calls: sim_run(design_file="designs/blinky.v", testbench="designs/blinky_tb.v")

执行自定义TCL

> Execute this Yosys TCL: read_verilog alu.v; synth; stat

Claude calls: yosys_run_tcl(tcl_commands="read_verilog alu.v; synth; stat")

检查可用设计

> What Verilog files are available?

Claude calls: list_designs()

项目结构

nl2tcl-mcp/
├── server.py           # Main MCP server
├── utils/
│   ├── tcl_validator.py    # TCL safety validation
│   ├── yosys_parser.py     # Parse Yosys output
│   └── sim_parser.py       # Parse simulation results
├── designs/            # Example Verilog designs
│   ├── blinky.v
│   └── blinky_tb.v
├── output/             # Generated outputs
│   ├── sim/            # Simulation VCD files
│   └── synth/          # Synthesis JSON netlists
├── pyproject.toml
└── README.md

安全

服务器包括阻止危险模式的TCL验证:

  • Shell命令(exec、管道、回扣)
  • 文件操作(open, file delete)
  • 外部脚本来源

只允许使用已知的安全Yosys命令。

相关项目

许可证

麻省理工学院