FPGA工具链服务

Gowin MCP Server是一个允许程序化与Gowin FPGA工具链交互的服务,提供项目管理、综合、布局布线等核心功能。

  • by jgpeiro
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 jgpeiro/gowin_mcp_server

使用说明

Gowin MCP服务器使用FastMCP。这允许Claude以编程方式与Gowin工具链交互,并使用Gowin FPGA

主要特点

  1. 流程管理:The GowinProcess 类管理子流程状态、输出缓冲和提示检测,这些都是GUI版本的核心功能。

  2. MCP工具暴露:

    • start_gowin() -启动Gowin shell进程
    • stop_gowin() -优雅地停止该过程
    • create_project() -创建新项目
    • add_file() -将文件添加到项目中
    • set_top_module() -设置顶部模块
    • set_output_base_name() -设置输出基名称
    • set_option() -设置通用选项
    • run_synthesis() -运行合成
    • run_place_and_route() -运行P&R
    • run_all() -运行完整流程
    • send_tcl_command() -发送自定义TCL命令
    • get_process_status() -检查流程状态
  3. 线程安全输出处理:输出读取器在后台线程中运行,并使用锁安全地缓冲输出。

  4. 命令同步:命令等待TCL提示(% )默认情况下,具有可配置的超时。

用法

  1. 安装FastMCP:

    pip install fastmcp
    
  2. 在Claude桌面中配置 (添加到配置中):

    {
      "mcpServers": {
        "gowin": {
          "command": "python",
          "args": ["path/to/gowin_mcp_server.py"]
        }
      }
    }
    

现在,Claude可以通过这些MCP工具以编程方式与您的Gowin工具链进行交互!