dsh-vivado: Installing a dedicated Vivado development environment for DeepSeek Harness

Introduction

On Windows, working with FPGAs, assistants either just offer advice on the screen or require you to manually type every Vivado command. dsh-vivado aims to bridge this gap: to host a truly capable Vivado session preset within the DeepSeek Harness (DSH) environment, along with a complete suite of mounted skills and tools.

The chemmy-11/dsh-vivado introduced below is a workflow-type plugin maintained by chemmy-11 and submitted to the community directory. It is an aggregation package: a session preset with engineering discipline, 32 tools that connect directly to the local Vivado via stdio MCP, and 8 official or custom skills. Install with a single command and restart the host to take effect.

What is this

A one-sentence positioning: A DSH bundle that packages the session discipline, tools, and skills of Vivado into a session preset named Vivado.

It does not replace Vivado, nor does it provide the Vivado application or licenses. The repository explicitly states that you still need to provide a legal Vivado installation and license, as well as the third-party project vivado-mcp. The plugin’s own code and documentation are MIT licensed, while third-party bundled content retains their original respective licenses.

Core Features

Version-based Session Presets

After installation, you will get a session preset named Vivado. When creating a new session, select it (the default is still standard). It enforces a fixed sequence of behaviors into the assistant’s guidelines: read the project first, run xdc_lint, reuse existing synthesis/implementation results, and only initiate synthesis when absolutely necessary. It also declares discipline rules such as “paths must be ASCII, Vivado must run globally serial, and conclusions must include evidence.”

The vivado_version in config.yml determines which version tier’s truths are injected:

Tier Criteria
2023.1 (< 2025.2) Tested facts, such as Tcl 8.5.14, open_project -noprogress does not exist, ILA C_DATA_DEPTH minimum 1024
2025.2+ No tested facts; all version-related facts require the assistant to probe before use

The current repository is tested on Vivado 2023.1; versions 2025.2 and above are marked as unverified.

32 MCP Tools

There are 32 tools in total, prefixed with mcp__vivado__*, covering synthesis/implementation, timing, utilization, CDC, XDC checks, ILA waveforms, session management, etc. All connect directly to the local Vivado via stdio MCP, provided by the third-party vivado-mcp (requires 0.3.26).

8 Skills

6 AMD official tools (RTL synthesis log analysis, lint, simulation, version management, ILA, VIO, MIT) plus 2 custom tools (AMD documentation retrieval, Vivado workflow discipline). Skills are mounted with the package and do not write files to ~/.dsh/skills.

3 Runtime Scripts

  • tools/vivado-probe.ps1: Reliable health check (note: vivado.bat -version does not count);
  • tools/vivado-run.ps1: Batch run, using -Detach to start long builds that detach from the process tree;
  • tools/tcl-check.ps1: Tcl syntax gatekeeper using Vivado’s built-in 8.5.14 interpreter.

Health Check and Uninstall

doctor.ps1 performs 13 individual items and outputs PASS/WARN/FAIL with a suggested fix. uninstall.ps1 restores the profile and cleans the directories it installed, leaving existing plugin lines and skill directories untouched.

Installation and Activation

Since the full kit’s patches are rendered on the machine, it does not use dsh plugin add, but rather an installer. Prerequisites: Windows 10/11, DeepSeek Harness Desktop version ≥ 0.2.2-rc.1, Vivado installed and vivado.bat is runnable, Python ≥ 3.10, and vivado-mcp is installed in a pure ASCII directory and can import vivado_mcp.

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

The installer automatically detects the locations of Vivado, Python, and vivado-mcp; you only need to confirm the device model part. To see what will be done without modifying any files:

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

You must restart DeepSeek Harness after installation. Configuration is read when the host starts; there is no hot update in the Electron host. After restarting, create a new session and switch the preset to Vivado.

To install to a different profile or DSH_HOME, you can use .\install.ps1 -Profile work -DshHome D:\dsh-home. See docs/install.md for all parameters and the nine-step process.

If you only want “preset + skills” and do not need MCP tools, the repository has a separate self-contained subpackage. Install the pre-built tarball using dsh plugin add:

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

It requires zero configuration, contains no MCP tools, and is an either/or choice with the full kit.

Typical Usage

Following the reproducible steps in the README, after installation and restart:

  1. Create a new session and select the Vivado preset. The standard session does not have mcp__vivado__* tools; this is intentional.
  2. Self-check in one sentence: Ask the assistant to “list all mcp__vivado__* in the tool inventory,” it should return 32; “list the skills visible,” it should return 8; ask if “Vivado is GLOBALLY SERIAL” appears in the system prompt, the answer should be “Yes”.
  3. Afterward, give instructions in your usual conversational manner, for example:

    • “Open D:\work\prj\project_1.xpr and check the synthesis status and resource utilization”
    • “Use xdc_lint to check constraints_1 and require full details”
    • “Run synthesis, start with wait=false, and report progress every round”

For long tasks, do not wait indefinitely: use wait: false to start run_synthesis / run_implementation, then poll with get_run_progress.

If something goes wrong, run the health check first. It will directly output which item is broken and how to fix it:

powershell -ExecutionPolicy Bypass -File .\doctor.ps1

Common issues summarized in the README include: not seeing the preset after restart (ensure you actually restarted and installed to the correct profile), preset exists but no mcp__vivado__* tools (likely the profile is missing a compatibility.json version exemption, re-run install.ps1 without -SkipCompatibility), start_session reporting File not found (almost always a non-ASCII path), and xdc_lint details being truncated (the patch for patches/vivado-mcp is not applied, and it is not applied automatically by default).

The three “iron rules” are worth remembering first: configuration changes require a restart, all Vivado paths must be ASCII, and only one Vivado can run at a time.

Suitable Scenarios and Notes

Suitable for: People working on Xilinx/AMD FPGAs on Windows, already using DeepSeek Harness Desktop, and hoping the assistant can actually operate Vivado rather than just offering advice in conversation.

Not suitable for: Those who do not want to install third-party MCP, or whose project environment requires being offline or under an NDA. The documentation retrieval skill sends queries to AMD services by default; it can be omitted if not needed.

The plugin runs with the permissions of the current DSH process. It is recommended to check the source code and third-party dependency licenses before installing. The repository’s NOTICE and LICENSE list the sources and change logs, while the README explicitly states that this package does not contain the Vivado application or licenses, does not contain AMD accounts/entitlements, and does not sign AMD agreements on behalf of the user.

Conclusion

The value of dsh-vivado lies not in having one more tool, but in hard-coding those easily overlooked disciplines of the Vivado workflow (ASCII paths, global serial execution, reusing existing results) into the session preset, and using the install/doctor/uninstall trio to condense installation and troubleshooting into a single command. If you are already doing FPGA on Windows with DSH, you can start from the community directory page or the GitHub repository.

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

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

Xiaoye