前言¶
在 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 的可复现步骤,装完重启后:
- 新建会话,预设选
Vivado。standard会话没有mcp__vivado__*工具,这是故意的。 - 一句话自检:让助手「列出工具清单里所有
mcp__vivado__*」,应返回 32 个;「列一下能看到的技能」,应返回 8 个;问系统提示里有没有Vivado is GLOBALLY SERIAL,应为「有」。 - 之后按平时说话的方式下指令,例如:
- 「打开
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