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
羽毛球分组比赛记分
小程序二维码

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

小夜