六组结果先看图:四组 MCP 路径本轮用时都短于同模型 Batch/Tcl;接口位宽问题则跟随模型------Luna 三条路径都出现 8 路 RAW12 位宽不符,Sol 三条路径均为 0。每个条件只测一次,而且 MCP 与 Batch/Tcl 选用了不同 IP 层级,因此这只是本轮观察,不能直接推广为普遍结论。
实验怎么做
任务要求启用三个 ISP tile,并关闭多遍处理。每个 tile 的第一个 ISP 接四路独立 RAW12 输入,第二个 ISP 接一路输入:Tile 1 为 RAW12,Tile 0 和 Tile 2 为 16-bit。全部设为 4 pixels per clock,导出流接口,验证并保存设计,其余设置保持默认。器件为 xc2ve3558-sfva1440-2MP-e-S。
六组使用 GPT-5.6 Luna 和 GPT-5.6 Sol,推理强度均为 medium;每个条件单独启动模型会话、工作目录和空白设计。三条路径分别是:
• Ross MCP + Skill :Vivado MCP、本机 AMD 文档搜索 MCP,以及 vivado-ip-configurator Skill。
• Ross MCP,无 Skill :保留同一组 MCP 服务,不加载配置 Skill。
• Batch/Tcl,无 MCP、无 Skill:模型生成并执行 Vivado Batch/Tcl 流程,不连接 MCP,也不加载配置 Skill。
总用时包括模型思考、工具调用和任务内纠错;MCP 额外计入约 14~15 秒会话预备。Batch 的 Vivado 启动与建工程时间包含在模型运行时间中,失败操作耗时没有扣除。
六组结果一图看懂

按原 113 项合约计分,Luna 的 MCP + Skill、MCP 无 Skill、Batch/Tcl 分别为 95、95、85 分;Sol 分别为 113、113、110 分。这个分数存在语义和端口命名问题,不能直接当成配置准确率,具体见后文。
MCP 无 Skill 本轮比 Batch/Tcl 短:Luna 58.8%,Sol 62.5%;MCP + Skill 分别短 22.5% 和 29.0%。但 MCP 四组最终选择 visp_ss:2.0,Batch 两组选择 visp:2.0,IP 层级不同会影响配置流程与时间。单次对比不足以把全部差异归因于 MCP。
同一模型下,加入 Skill 后原合约分数没有变化,用时约为 MCP 无 Skill 的 1.9 倍。本轮没有测出 Skill 带来的独立效率或准确度收益;这不等于证明 Skill 在其他任务中没有价值。
错误不要混为一个数字

"失败操作"逐次统计工具失败、非零退出和 Skill 捕获失败等,包含首次失败和最终未恢复的诊断;"Vivado ERROR 行"是日志里的行数,同一问题可能重复出现。两者都不等同于最终设计失败。
正式六组日志中,doc_search 错误和网络访问错误均为 0。文档搜索调用次数按 MCP + Skill、MCP 无 Skill、Batch/Tcl 排列:Luna 为 6、3、0 次;Sol 为 4、2、0 次。Sol Batch 另有 2 次本地 rg 检索无匹配,单独记为检索未命中,不是 Vivado、doc_search 或网络错误。六组均未观察到 Vivado 崩溃;进程退出码为 0 也不能单独证明任务配置正确。
原始 113 项评分不能直接当准确率

复核原合约和 Vivado 2025.2 有效值回读后,发现有两类检查会误导结论:
• 合约把 CONFIG.C_TILE*_ISP1_ENABLE_MP=false 当作"关闭多遍"的证据;本机厂商 XML 却将该参数标为 Enable Primary Output 。因此 Sol Batch 的三项扣分不能证明它没有关闭多遍。
• 合约要求外部端口使用基本名称或 _0 后缀;Luna Batch 的三个 VIDIN0 端口使用 _1 后缀,虽被合约判缺失,独立连接核查却确认它们都接到了对应 ISP 接口。
反过来,Luna 的 RAW12 位宽错误是真实配置问题。Luna 三组共同有 18 项格式/位宽检查未通过,属于同一类 RAW12 错配被参数值与接口宽度重复计分;Luna Batch 还有 10 项额外未通过,部分与端口命名等合约口径有关。分数不能直接读成独立错误数。独立回读还显示,六组每个 tile 的 ISP0/ISP1 MEM_INPUTS 均为 0;本轮没有综合或功能仿真,不能据此推断端到端功能。
接口元数据回读:错误集中在 RAW12 位宽

每组都生成了 15 路目标输入,接口角色、AXIS 类型、TDATA 方向和目标 pin 映射均通过。RAW12 在 4 PPC 下对应 48 bit,即 6 byte;16-bit 对应 64 bit,即 8 byte。三组 Luna 都把 Tile 0 和 Tile 2 第一个 ISP 的四路 RAW12 输入各配成 8 byte,共 8 路不符;三组 Sol 均无位宽元数据差异。Luna Batch 还额外导出了三路输出端口。
这组结果显示,本次位宽差异出现在 Luna 和 Sol 之间,三条路径没有改变各自模型的结果。它说明 MCP 没有自动纠正 Luna 对格式要求的理解,也说明 Batch/Tcl 可以在 Sol 条件下完成正确配置;但六次单跑仍不足以判断模型或路径的普遍表现。
Ross 的价值体现在哪里
在 Sol 无 Skill 条件下,MCP 路径记录 3 次失败操作和 11 行 Vivado ERROR,Batch/Tcl 为 14 次和 37 行。这支持一个有限观察:活动工程内的查询、修改和即时反馈,可能减少某些配置流程中的反复尝试。
这个优势并不稳定地体现在所有条件。Luna 的 Batch/Tcl 只有 4 次失败操作、7 行 Vivado ERROR,反而低于它的 MCP + Skill 路径;而 Luna 的三条路径又都留下相同的 8 路位宽错误。Ross MCP 在本轮展现的是工作流反馈与状态延续的潜在价值,不是自动保证配置正确。Skill 的独立贡献本轮也没有测出来。
官方运行与 Vivado 2025.2 重跑:跨环境结果并不完全一致

两次实验使用相同的任务提示词、GPT-5.6 Luna/Sol 模型标识和 medium 推理强度,MCP 能力也按同一口径配置;但运行环境不同。官方记录来自 Linux、Vivado 2026.1、Codex CLI 0.157.1 和 AMD gateway;2025.2 重跑来自 Windows、Vivado 2025.2、Codex CLI 0.163.0-alpha.10.2 和 ChatGPT 账户路由,文件系统隔离方式也不同。相同模型名称不等于能够确认服务端使用了完全相同的权重快照。
以下按"官方记录 → Vivado 2025.2 重跑"列出 MCP 两条路径:
• **Luna + Skill:**95/113、15/15 输入接口、4:01 → 95/113、15/15、5:18。
• **Luna 无 Skill:**67/113、6/15、3:34 → 95/113、15/15、2:49。
• **Sol + Skill:**113/113、15/15、6:10 → 113/113、15/15、7:27。
• **Sol 无 Skill:**113/113、15/15、3:21 → 113/113、15/15、3:56。
这组对照说明:即使任务提示、模型标识和 MCP/Skill 组合相同,换到不同环境后,结果和耗时也可能不同。Luna 无 Skill 的接口数和得分在两次记录间变化;带 Skill 的得分则相同,但耗时不同。官方耗时不含环境准备,2025.2 重跑的总用时包含约 14~15 秒 MCP 预备,因此时间也不是严格同口径。
每种条件都只有一次运行,且系统版本、CLI 版本、服务路由和隔离方式同时变化。因此,这些记录不能区分差异来自运行环境、模型采样还是工具状态,也不能证明同一环境重复运行一定会得到不同结果。更稳妥的结论是:单次结果不构成跨环境复现保证;要判断同环境波动,需要对同一条件重复测试。
为什么 Skill 本轮没有改善本机得分
在 Vivado 2025.2 的同机配对中,Luna 的 MCP + Skill 和 MCP 无 Skill 都是 95/113,且共同漏掉同一组 18 项 RAW12 格式与位宽检查;Sol 两条 MCP 路径都达到 113/113。当前评分下,Skill 没有带来额外提分;Sol 已满分,也没有继续提分的空间。
Luna 的关键问题出在需求映射,而非参数写入是否成功:任务要求三个 Tile 的 ISP0 使用四路 RAW12,Tile 0 和 Tile 2 的 ISP1 才使用 16-bit;Skill 组最终把 Tile 0、2 的 ISP0 也报告为 16-bit。独立回读显示这八路接口实际为 8 byte,而任务期望 RAW12 × 4 PPC 对应 6 byte。该组最终报告 verify_stuck 通过、coverage 为 FULL,但这只能说明已选参数没有被 Vivado 回退,不能证明参数选择符合自然语言意图。由此看,本轮 Skill 流程没有把意图核验落实成能拦住这类语义错配的验收结果。
执行轨迹显示,Skill 组增加了检索与工具步骤:Luna 文档搜索为 6 次、无 Skill 为 3 次,MCP 工具调用为 34 次对 26 次;Sol 分别为 4 次对 2 次、34 次对 32 次。失败操作也分别为 Luna 6 对 4、Sol 6 对 3。本机单次记录的 Skill 组总用时分别为 Luna 318 秒、Sol 447 秒;无 Skill 为 169 秒和 236 秒,约为 1.9 倍。两组 Skill 运行均遇到 discover_params 参数发现错误,随后改用其他查询方式;这些额外步骤计入本次用时,但单次运行无法量化 Skill、版本兼容性和模型执行过程各自造成的时间,也没有改变本轮的评分结果。
还有一个适用条件限制:本次加载的 Skill 元数据声明要求 Vivado 2026.1,而重跑使用 Vivado 2025.2。参数发现错误与版本不匹配可能有关,但单次实验无法把兼容性影响单独量化。因此,本轮只能说明这个通用 Vivado IP 配置 Skill 在当前 ISP 任务、当前模型和 2025.2 环境中没有显示额外得分收益;它不能代表该 Skill 在受支持版本或其他 IP 类别上的整体效果。
小结
六组实测中,MCP 路径本轮都比同模型 Batch/Tcl 用时短,但 IP 层级不同且每个条件只跑一次。配置准确度的关键图景更清楚:六组输入映射都正确,Luna 三组各有 8 路 RAW12 位宽不符,Sol 三组没有;MCP 和 Skill 都没有自动消除模型对格式的误解。
所以本轮能说明 Ross MCP 在某些工作流中可能减少纠错成本,还不能证明 MCP 或 Skill 普遍提高 IP 配置准确率。统一 IP 层级、修正评分语义并重复实验后,才能进一步量化 Ross 的增益。
参考链接
• vivado-ip-configurator Skill
• AMD PG432:Versal AI Edge Gen 2 ISP 产品指南
• AMD UG910:使用 Batch Tcl 脚本启动 Vivado
AMD Ross 深度系列
• 系列 1:Overview ------ 什么是 AMD Ross(文末附下载链接)
• 系列 2:VS Code 插件与 MCP Server ------ 安装、能力与差异全解
• 系列 3:Knowledge Base ------ RAG 原理、云与本地的抉择、自建库方案
• 系列 4:Agent Skills ------ 安装、更新与创建全攻略