dsh-vivado:给 DeepSeek Harness 装一个 Vivado 专用开发环境

前言

在 Windows 上用 FPGA,助手要么只能对着屏幕出主意,要么每一条 Vivado 操作都要你手敲命令。dsh-vivado 想解决的是中间这一档:让 DeepSeek Harness(DSH)宿主里出现一个真正能驱动 Vivado 的会话预设,以及一整套随包挂载的技能和工具。

下面介绍的 chemmy-11/dsh-vivado,是维护者 chemmy-11 提交到社区目录的工作流类插件。它是一个聚合包:一个带工程纪律的会话预设、32 个通过 stdio MCP 直连本机 Vivado 的工具、8 个官方或自研技能。一条命令安装,重启宿主生效。

这是什么

一句话定位:DSH 的 bundle,把 Vivado 的会话纪律、工具和技能打包在一起,装成一个叫 Vivado 的会话预设。

它不替代 Vivado,也不提供 Vivado 本体和许可证。仓库明确说明,你仍需自备合法的 Vivado 安装与许可,以及第三方项目 vivado-mcp。插件自身代码与文档为 MIT 授权,第三方随包内容各自保留原许可。

核心功能

版本分档的会话预设

装完会得到一个叫 Vivado 的会话预设,新建会话时选它(默认仍是 standard)。它把一套固定顺序写进助手的行为准则:先读工程,再跑 xdc_lint,复用已有综合/实现结果,确实必要时才发起综合。同时声明「路径必须 ASCII、Vivado 全局串行、结论必须带证据」这类纪律。

config.yml 里的 vivado_version 决定注入哪一档版本真值:

档 口径
2023.1(< 2025.2) 实测事实,如 Tcl 8.5.14、open_project -noprogress 不存在、ILA C_DATA_DEPTH 最小 1024
2025.2+ 一条实测都没有,所有版本相关事实要求助手先探测再使用

当前仓库在 Vivado 2023.1 下实测,2025.2 及以上标注为未验证。

32 个 MCP 工具

mcp__vivado__* 共 32 个,覆盖综合/实现、时序、利用率、CDC、XDC 检查、ILA 波形、会话管理等,全部通过 stdio MCP 直连本机 Vivado,由第三方 vivado-mcp(要求 0.3.26)提供。

8 个技能

AMD 官方 6 件(RTL 综合日志分析、lint、仿真、版本管理、ILA、VIO,MIT)加 2 件自研(AMD 文档检索、Vivado 工作流纪律)。技能随包挂载,不往 ~/.dsh/skills 写文件。

3 个随包运行脚本

  • tools/vivado-probe.ps1:可靠探活,vivado.bat -version 不算;
  • tools/vivado-run.ps1:batch 运行,-Detach 起脱离进程树的长构建;
  • tools/tcl-check.ps1:用 Vivado 自带的 8.5.14 解释器做 Tcl 语法门禁。

体检与卸载

doctor.ps1 做 13 项逐条 PASS/WARN/FAIL 并给一句修法。uninstall.ps1 还原 profile 并清理自己装的目录,不碰原有插件行与技能目录。

安装与启用

完整 kit 的补丁按机器现场渲染,因此不走 dsh plugin add,而是用安装器。前置条件:Windows 10/11、桌面版 DeepSeek Harness ≥ 0.2.2-rc.1、Vivado 已安装且 vivado.bat 可跑、Python ≥ 3.10,vivado-mcp 已装到纯 ASCII 目录并能 import vivado_mcp。

git clone https://github.com/chemmy-11/dsh-vivado.git
cd dsh-vivado
powershell -ExecutionPolicy Bypass -File .\install.ps1

安装器自行探测 Vivado、Python、vivado-mcp 的位置,只需确认器件型号 part。想先看要做什么而不改动任何文件:

powershell -ExecutionPolicy Bypass -File .\install.ps1 -WhatIf

装完必须重启 DeepSeek Harness。配置在宿主启动时读取,Electron 宿主下没有热更新。重启后新建会话,把预设切到 Vivado。

若要装到别的 profile 或 DSH_HOME,可用 .\install.ps1 -Profile work -DshHome D:\dsh-home。全部参数与九步流程见仓库 docs/install.md。

如果你只要「预设 + 技能」、不需要 MCP 工具,仓库另有自包含子包,用 dsh plugin add 装预构建 tarball:

dsh plugin add https://github.com/chemmy-11/dsh-vivado/releases/download/v0.2.1/dsh-vivado-preset-0.2.1.tgz

它零配置、不含 MCP 工具,与完整 kit 二选一。

典型用法

按 README 的可复现步骤,装完重启后:

  1. 新建会话,预设选 Vivado。standard 会话没有 mcp__vivado__* 工具,这是故意的。
  2. 一句话自检:让助手「列出工具清单里所有 mcp__vivado__*」,应返回 32 个;「列一下能看到的技能」,应返回 8 个;问系统提示里有没有 Vivado is GLOBALLY SERIAL,应为「有」。
  3. 之后按平时说话的方式下指令,例如:
  • 「打开 D:\work\prj\project_1.xpr,看综合状态和资源利用率」
  • 「用 xdc_lint 检查 constraints_1,要全量明细」
  • 「跑综合,wait=false 起,然后每轮报一次进度」

长任务不用干等:run_synthesis / run_implementation 用 wait: false 起,再用 get_run_progress 轮询。

出问题先跑体检,它会把哪一项坏了、怎么修直接打出来:

powershell -ExecutionPolicy Bypass -File .\doctor.ps1

README 归纳的常见故障包括:重启后看不到预设(确认真重启过、装到的是正确的 profile)、预设有了但一个 mcp__vivado__* 都没有(多半是 profile 缺 compatibility.json 版本豁免,重跑 install.ps1,不要带 -SkipCompatibility)、start_session 报 File not found(几乎都是路径非 ASCII)、xdc_lint 明细被截断(未打 patches/vivado-mcp 的补丁,默认不自动打)。

三条铁律值得先记住:改配置必须重启、所有 Vivado 路径必须 ASCII、同一时刻只跑一个 Vivado。

适用场景与注意事项

适合:Windows 上做 Xilinx/AMD FPGA,已在用 DeepSeek Harness 桌面版,希望助手能真正操作 Vivado 而不是只在对话里出主意的人。

不适合:不想装第三方 MCP,或工程处在必须断网/NDA 环境的人。文档检索技能会把查询发往 AMD 服务,默认可以不装它。

插件以当前 DSH 进程的权限运行,安装前建议先核对仓库源码与第三方依赖的许可证。仓库 NOTICE 与 LICENSE 列明来源与改动清单,README 明确本包不含 Vivado 本体与许可证、不含 AMD 账号/entitlement、不代签 AMD 协议。

结语

dsh-vivado 的价值不在于多一个工具,而是把 Vivado 工作流里那些容易被忽略的纪律(ASCII 路径、全局串行、复用既有结果)固化进会话预设,再用 install/doctor/uninstall 三件套把安装与排错压到一条命令。如果你已经在 Windows 上用 DSH 做 FPGA,可以从社区目录页或 GitHub 仓库开始。

  • 目录页:https://www.skillhub.cn/plugins/chemmy-11/dsh-vivado
  • GitHub:https://github.com/chemmy-11/dsh-vivado
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜