dsh-rtl-flow:面向 DeepSeek Harness 的通用 RTL 工程工作流

前言

在 DSH 里用智能体做 RTL,常见问题不是「模型会不会写 Verilog」,而是流程缺位:架构与 RTL、验证、综合、物理实现之间的阶段边界不清晰;改动后不知道该复用哪些检查结果;交付与技术验收混在一起,失败后难以恢复。手写提示词可以覆盖某几步,但很难稳定地贯穿「合同—实现—证据—资源—交付」整条链。

dsh-rtl-flow(维护者 wanghao815,分类:工作流)把上述能力收进一个插件:主流程写在 docs/core-workflow.md,模型工具 rtl_guide(workflow) 与 CLI 读同一来源;另有证据审计、设备资源预检,以及 technical 与 delivery 分开记录。下文按「是什么 → 能力 → 安装 → 用法 → 注意」介绍,事实以仓库 README 与 package.json 为准。

这是什么

dsh-rtl-flow 是 DeepSeek Harness 上的通用 RTL 工程插件,覆盖架构、RTL、验证、综合、物理实现、交付和恢复。它不替代 EDA 工具本体,而是提供工作入口、按设计特性组合的阶段指导、真实文件与报告审计,以及受控运行前的资源核对。

运行要求:Node.js ≥24.9,宿主 API 兼容基线为 DeepSeek Harness 0.2.2-rc.1。DSH 为预览版,升级后需重新验证;插件版本与 DSH 版本彼此独立。

五种工作入口

已有项目不必从头跑完整阶段链。work 会根据磁盘审计与显式影响给出 reuse / invalidate / execute 计划;执行仍须满足技术依赖与授权。

入口 行为
new 新建 建立当前项目自己的合同与工具最小集,逐级实现
adopt 接手 审计已有源码、约束、测试和报告,预览缺失管理文件,保留原文与原约定
modify 修改/调试 显式记录影响类别,复用有效先决条件,选择受影响检查
eco 物理优化 保留原逻辑/约束/失败源,做适用等价、时序与物理复验
resume 恢复 核对最新决定、进程与最后完整检查点;不会自动清除 paused

init 专用于新项目。adopt 只预览缺失文件,不覆盖既有文件;已有合同路径可用 project options 的 contracts 映射,不强迫迁移原目录。

主流程与特性专题

主流程与各专题共同工作。stage 负责主流程;另有 arithmetic、stream、protocol、multiclock、memory、macros、formal 七个专题。每个专题说明进入条件、输入、处理、产物、判据和失败诊断。例如带反压、跨时钟的算术模块需同时启用 arithmetic / stream / multiclock;模块名称不能代替完整特性清单。

模块名称只提供可编辑的初始建议;拓扑、数制、流水、容量、频率和工艺由当前项目需求确定。后端指导以开源 ASIC 流程为参考,FPGA 与商业工具需在项目内单独适配。详细阶段决策与输出策略见仓库内 docs/core-workflow.md、docs/output_human_final.md。

模型工具与 CLI 分工

插件向宿主注入五个工具 schema,详细正文按需加载;不包含 API key,沿用宿主模型、文件/终端权限及取消机制。

工具 功能与边界
rtl_guide 返回核心流程、阶段或特性专题
rtl_scaffold 返回新项目文档/配置草案,不生成通过证据,也不直接写文件
rtl_plan_work 按入口、变更影响和审计结果选择复用/失效/执行范围与专题
rtl_check_evidence 结构、配置指纹、依赖及交付状态检查;标记 declarations-only
rtl_resource_check 对 workspaceRoot 指定项目检测内存/磁盘、已耗时、剩余任务和预算;不启动进程

RTL、testbench 和流程由宿主模型结合项目合同生成。工具侧的 JSON 声明检查不能替代 CLI audit 对真实读取、原生指标和文件摘要的核对。

安装与配置

在插件仓库根目录(含 package.json)可先自检:

npm ci --ignore-scripts
npm run check
npm test

从该目录安装到测试 profile:

dsh plugin --profile rtl add .
dsh --profile rtl --dump-config
dsh --profile rtl

未全局安装 dsh 时,可用 npx --yes @deepseek-ai/dsh@0.2.2-rc.1 替代命令中的 dsh。开发 overlay 可执行 node bin/rtl-flow.js overlay 获取绝对入口路径,在 bundle 与 overlay 两种方式中选一种加载。

也可从 npm 安装 dsh-rtl-flow@0.3.0(公开版本以实际 registry 为准)。发布步骤见 docs/release-checklist.md。

配置字段包括:enabled、promptOrder、maxInputBytes,以及可选 workspaceRoot。要对项目做原生资源检测时,将 workspaceRoot 设为当前已授权项目的绝对路径;未配置时通过宿主终端执行 CLI resources。切换项目须同步更新该字段。

典型 CLI 用法

在含 package.json 的插件根目录:

node bin/rtl-flow.js plan --config examples/fifo.json
node bin/rtl-flow.js init /tmp/my-fifo --config examples/fifo.json
node bin/rtl-flow.js adopt /path/to/existing --config examples/fifo.json
node bin/rtl-flow.js work /path/to/project --entry modify --impact rtl,control
node bin/rtl-flow.js topics /path/to/project
node bin/rtl-flow.js audit /path/to/project
node bin/rtl-flow.js resources /path/to/project
node bin/rtl-flow.js run /path/to/project --task smoke

adopt 的配置须描述真实旧项目;README 中的 FIFO 示例仅演示命令形式。新建草案无执行证据时,audit 会按预期失败;预算与剩余任务未填写时,resources 也会阻塞。

capture、parse、hash 等子命令用于证据采集与摘要,规范见 docs/evidence.md。退出码:0 表示本操作指定范围满足;1 为检查/预检未满足或原生任务失败;2 为输入/执行错误;130 为中断。评估 audit 时须查看 technical_ok、delivery_ok 与 outcome,不能只看退出码。

OpenROAD/ORFS 环境

插件不携带 EDA/PDK 本体;npm 安装不会自动下载环境。仅在显式 env prepare 且完整资源预检通过后,才会获取缺失的官方环境:

rtl-flow env /path/to/project --action init
rtl-flow env /path/to/project --action inspect
rtl-flow env /path/to/project --action plan
rtl-flow env /path/to/project --action prepare
rtl-flow env /path/to/project --action check

计划应保存为 config/backend-plan.json。步骤、镜像锁定与边界见 docs/backend-setup.md。

资源预算与受控运行

config/resource-plan.json 列出剩余任务、依赖、argv、重任务标记和时间/内存/磁盘估算。未知量会阻止执行。run --task 每次只跑一个前台任务,原生 argv 不经 shell;运行器持有项目锁并记录退出与资源采样,超限或监测不可用时受控结束进程组。此运行器支持 macOS/Linux;Agent 在重任务前应走预检/受控入口,绕过 CLI 的命令不受运行器监测。

交付、暂停与项目格式

项目 state 为 active / paused / archived;delivery.intent 为 full / scoped / closeout。因此 delivery_ok=true 不必意味着 technical_ok=true。暂停不会被 resume 入口自动解除。

项目使用 schema_version=2。示例配置见 examples/fifo.json、examples/apb-registers.json、examples/dsp-mac.json、examples/memory-subsystem.json。

适用场景与注意

适合谁: 已在 DSH 中做 RTL/ASIC 流程、希望阶段门控、证据审计和资源预检与 Agent 协作对齐的开发者。

权限与安全: 插件以当前 DSH 进程权限运行。安装前应阅读源码与 MIT 许可证,确认 workspaceRoot 与合同路径只指向你愿意授权给宿主的路径。

验证范围: 单元与宿主测试结果不代表真实模型新设计、全流程 PDK 或制造签核。实际兼容范围见 docs/validation.md。原生报告解析仅覆盖文档列出的格式;摘要保证一致性,不证明日志不可篡改。

DeepSeek Harness 生态理念是「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-rtl-flow 把 RTL 工程从「单次代码生成」拉回到可审计、可分入口恢复、可区分技术验收与交付意图的工作流。需要主流程全文时,在仓库内先读 docs/core-workflow.md;在 DSH 中安装后通过 rtl_guide 与 CLI plan / audit / resources 与项目合同对齐即可起步。

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

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

小夜