neosyn-fpga-mcp Skill 技能

## neosyn-fpga-mcp:用 AI 代理驱动 FPGA 硬件设计的 MCP 服务器 ### 什么是 neo

neosyn-fpga-mcp:用 AI 代理驱动 FPGA 硬件设计的 MCP 服务器

什么是 neosyn-fpga-mcp

neosyn-fpga-mcp 是一个将 C 编译器包装为 MCP 服务器的工具,用于 FPGA 硬件设计领域。它的核心价值在于:让 AI 代理直接调用真实的硬件编译器来验证和生成硬件代码,而不是依赖 AI 自身的"记忆"来猜测代码是否正确。这意味着 AI 生成的 Verilog 或 C 代码在语法和综合层面都经过真实验证,每一步都由真实的工业级编译器判定,而非大模型的直觉判断。

该 MCP 服务器配合一份知识包(cg_context.md)一起工作:知识包提供 C 语言的语义模型、标准库和常见陷阱,服务器则负责调用编译器执行实际的编译、仿真和综合检查,并将结构化诊断结果返回给 AI 模型,使其能够自我修正。

核心能力

1. 编译即验证,消除幻觉代码 MCP 服务器将 C 编译器封装为多个工具函数(cg_check 做类型检查、cg_simulate 做仿真、cg_synth 做综合),AI 每生成一段代码都会经过真实编译器检验,返回结构化的错误信息和诊断数据,而非文字描述。

2. 配套知识包,快速建立领域认知 随包提供的 cg_context.md 知识包包含了 C 语言的完整心智模型:类型系统、端口语法、结构体/枚举/泛型、标准库用法以及常见错误模式。将其加载为 AI 的系统提示后,模型可以写出"看起来合理"的首版代码,再由编译器验证修正。

3. 多仿真器支持 cg_simulate 工具支持指定仿真器(默认使用内置字节码模拟器,也支持 iverilog),AI 可以观察仿真波形数据来判断设计是否符合预期。

4. 跨 MCP 宿主兼容 服务器以 stdio 模式运行,兼容所有主流 MCP 宿主:Claude Desktop、Claude Code、Cursor、Cline 等。知识包是纯文本,加载到任何 LLM 中均有效。

5. 持续跟踪语言演进 与微调方案不同,知识包和编译器循环不需要重新训练。C 语言每次版本更新后,编译器 jar 替换即可,知识包手动更新文本,不存在模型过时的问题。

6. Java 17 运行时,无需本地编译链 编译核心是预编译的 Java jar 包(cg-language-server.jar),运行只需 Java 17 以上环境,无需在开发机器上配置完整的 FPGA 工具链。

7. 可选的工业加速组件 商业用户可使用 Neosyn C 扩展包,内含快速字节码模拟器和 VHDL 输出功能,可进一步加速验证迭代。

8. 烟雾测试,无需 MCP 客户端即可验证 提供纯 Python 调用接口,可以直接 import 并调用编译器核心,适合在没有配置 MCP 客户端时做快速的单元测试。

安装配置

环境要求

  • Python 3.10 及以上
  • Java 17 及以上(需在 PATH 中)
  • 可选:yosys(用于 cg_synth 综合检查)
  • 可选:iverilog(用于 cg_simulate(simulator='iverilog'))

安装命令 pip install neosyn-fpga-mcp

获取 C 编译器 jar 方式一(开源):从 cg-compiler releases(https://github.com/Neosyn-Logic/cg-compiler/releases/latest)下载预构建 jar 方式二(商业):安装 Neosyn C 扩展(https://neosyn.io/download),jar 在扩展包内部

设置环境变量 export CG_JAR=/abs/path/to/cg-language-server.jar

MCP 客户端配置示例

{
  "mcpServers": {
    "cg": {
      "command": "neosyn-fpga-mcp",
      "args": [],
      "env": {
        "CG_JAR": "/abs/path/to/cg-language-server.jar"
      }
    }
  }
}

使用步骤

第一步:安装 neosyn-fpga-mcp pip install neosyn-fpga-mcp

第二步:准备 C 编译器 jar 下载开源 jar 或安装商业扩展,并将路径写入环境变量 CG_JAR。

第三步:加载知识包 将 cg_context.md(由 MCP 服务器提供)内容作为 AI 的系统提示加载,让 AI 理解 C 语言的心智模型和语法规范。

第四步:通过 MCP 工具调用编译器 AI 生成 C 代码后,通过以下工具循环验证: cg_check(code="package d; ...") # 检查语法和类型 cg_simulate(code="package d; ...", simulator="bytecode") # 仿真运行 cg_synth(code="package d; ...") # 综合检查

第五步:根据诊断结果修正代码 编译器返回结构化错误后,AI 根据错误信息修正代码,重新进入验证循环,直到所有检查通过。

适用场景

1. AI 辅助 FPGA 硬件设计 硬件工程师使用 AI 助手编写 C 或 Verilog 代码,实时获得编译器验证反馈,无需在 IDE 和编译器之间手动切换。

2. 硬件设计教学与实验 学生编写 FPGA 代码时,AI 助手提供即时反馈和错误解释,降低硬件设计的学习门槛。

3. 自动化硬件设计探索 给定规格说明,AI 代理可以在无人干预的情况下探索多种实现方案,每种方案都经过仿真验证,用于寻找最优硬件架构。

4. 硬件设计代码审查 将已有硬件设计代码交给 AI + 编译器组合进行审查,编译器检查综合可行性,AI 分析代码质量和潜在优化点。

适用人群

  • FPGA/硬件工程师:需要 AI 辅助加速硬件设计和调试
  • AI + 硬件研究者:探索 LLM 与硬件 EDA 工具的结合边界
  • 计算机体系结构学生:通过 AI 反馈快速学习硬件描述语言
  • 硬件设计团队:将 AI 整合进硬件设计工作流,提升迭代速度

工作原理

neosyn-fpga-mcp 包含两个协同工作的组件:

知识包(cg_context.md):作为 AI 的系统提示注入 C 语言的完整知识,包括类型系统、标准库 API、语法约束和常见错误案例。目的是让 AI 在没有编译器的情况下也能写出"第一版看起来对"的代码。

MCP 服务器(cg_mcp_server):将 C 编译器的各功能封装为 MCP 工具。当 AI 调用 cg_check/cg_simulate/cg_synth 时,服务器:

  1. 接收 AI 生成的 C 代码片段
  2. 将其写入临时文件或直接传给编译器进程
  3. 调用 cg-language-server.jar 执行对应操作
  4. 解析编译器的结构化输出(错误位置、类型信息、仿真波形、综合报告)
  5. 以 MCP 工具响应格式返回给 AI

这种"生成 + 验证 + 修正"的循环使 AI 能够独立完成硬件设计迭代,而不只是在代码补全层面工作。

官方链接

团队信息

由 AI 猎手自动发现

评论与建议

0 条评论