核心问题:BTTF 把波形调试改写成数据库查询并取得 95.33% 的执行准确率,这说明 Agent 已经会做芯片验证,还是说明一组预先结构化的查询任务终于有了适合 Agent 的接口?
论文卡片
- 原题: Back to the Future: Rethinking EDA Infrastructure for Agentic Systems in Chip Design Verification
- 作者: Je Yang、Ivan Lobov、Thomas Karpati。
- 机构: 哥伦比亚大学、Google DeepMind、Google。
- 版本: 2026-10-05,arXiv v1;cs.AI;NeurIPS 2026 AI for Chip Design Workshop。
- 定位: 面向仿真后波形调试的 Agent 基础设施:先把 VCD 波形归一化为 SQLite,再让专门 Agent 通过确定性查询工具完成信号分析、断言检查和 RTL 归因。
- 阅读入口: alphaXiv · arXiv · HTML 全文 · PDF
论文要解决什么问题
仿真失败后,工程师通常要在波形查看器中沿时间和层级追踪异常。原始 VCD 既大又缺少适合语言模型的语义索引;直接塞进上下文不可行,先切成文本片段又容易丢失跨时间、跨信号关系。论文把这种障碍称为 Infrastructural Impedance:问题不只是模型不会推理,而是 EDA 产物没有提供 Agent 可稳定调用的查询界面。
BTTF 的主张是“让基础设施向 Agent 走一半”。系统不要求模型阅读完整波形,而是把波形转换成关系数据库,让 LLM 负责把自然语言意图映射到查询和工具调用,把精确的时间过滤、连接和聚合交给数据库执行。
BTTF 怎样工作
波形预处理
离线管线把 VCD 转成两个主要表:signal_metadata 保存信号名称、类型和层级等静态信息,signal_changes 保存带时间戳的取值变化,并以外键连接到信号。系统在写入时采用批量事务,并提供三档删减策略:
- 去掉高频时钟跳变;
- 再去掉整个窗口内从未跳变的信号;
- 更激进地去掉跳变率低于全局平均值的信号。
在论文使用的 4.2 GB VCD、18,450 个 net 上,完全保留数据时数据库为 1,420 MB、查询延迟 410.5 ms。只去时钟后体积减少 66.20%,延迟降到 125.2 ms,保留 98.51% 的功能跳变覆盖;再去零跳变信号后体积减少 72.18%,延迟为 94.8 ms,并保留全部活跃 net。低于平均跳变率的激进删减把体积减少 86.97%、延迟降到 41.6 ms,但覆盖只剩 64.23%。批量插入相对逐行写入最多加速 2.89 倍。
Agent 编排
在线部分由一个 Orchestration Agent 分解问题,并调用三个专门角色:
- Analysis Agent 生成并执行结构感知的 SQLite 查询,完成层级发现、指定时刻取值、跳变计数、覆盖率和高活动窗口分析。
- Verification Agent 检查论文定义的
ASSERT、ASSERT_STATIC、ASSERT_NEVER、ASSERT_KNOWN和COVER等规则,并把异常信号映射回版本化 RTL 仓库。 - Evaluation Agent 按正确性、完整性、效率、模式遵循和上下文理解五项标准审查候选查询。
如果查询执行失败,系统可在共享会话上下文中修正后重试。断言失败时,它会定位违反时刻,回看断言操作数在该时刻之前的取值,并在答复中指出具体异常子信号。这里得到的是受断言表达式约束的诊断线索,不等同于已经证明了跨模块的因果根源。
实验给出了什么证据
实验统一使用 Gemini-2.5-Pro,覆盖多个复杂度不同的 SoC 层级,从 4.2 GB 波形中截取 50 ns 到 800 ns 的窗口。作者整理了 150 条自然语言验证查询,并为每条提供专家标注答案。查询分为九类:层级与信号发现、RTL 归因、取值查看、跳变计数、事件时刻、toggle coverage、活动热点、静态断言和动态断言。
BTTF 的总执行准确率为 95.33%。基础查询表现最好:层级发现、跳变计数和事件时刻均为 100%;较困难任务下降到 84.62%–91.67%,其中 RTL 归因为 87.50%,静态断言为 84.62%,动态断言为 90.91%。这支持一个有限但清楚的结论:当问题能落入既定数据库模式和工具集合时,Agent 可以较可靠地把自然语言映射为可执行查询。
论文还用自动评分器按上述五项标准比较单 Agent 与多 Agent。单 Agent 得到 3.35/5;BTTF 的质量分高 17.3%,但平均延迟增加到 1.96 倍。作者据此把额外延迟解释为角色专业化换来的可靠性成本。不过正文没有分别报告两种系统在同一 150 条查询上的执行准确率,也没有给出多次随机运行或人工盲评,因此这组对照更适合支持“输出质量有所改善”,不足以把改善严格归因于多 Agent 架构本身。
证据边界
第一,95.33% 是整个系统在固定查询分类、数据库模式和工具接口上的成绩,不是裸模型能力。确定性数据库执行消除了数值计算和筛选中的一类幻觉,这是系统设计的优点;同时也意味着成绩无法区分模型学会了多少波形语义,以及工具已经替它封装了多少语义。
第二,论文称这 150 条查询来自日常验证工作,但没有报告每类查询的样本数、设计数量、构造流程、标注者一致性、提示词和完整逐题结果。各类百分比因此难以转换成稳定的置信区间,也无法判断相似模板是否占据多数。实验波形为 4.2 GB,尚未直接验证引言所讨论的 TB 级完整芯片波形;跨模拟器格式、不同命名规则和未见设计的泛化仍待评估。
第三,当前 Verification Agent 检查的是论文列出的几类规则,不等于支持任意 SystemVerilog Assertions 或完整形式验证。定位违反时刻并回看相关操作数,可以解释“哪一个可见信号同时异常”,却不能自动区分真正根因、传播路径和共同上游原因。论文把流式摄取、标准化层级路径以及 waveform-to-RTL symbol index 都列为后续扩展,也说明当前 RTL 对齐仍不是已经解决的通用接口。
重点读哪里
先读 §1 与 §3,理解作者为什么把波形调试定义为数据接口问题;再读 §3.1 与表 1,比较三种删减策略的体积、延迟和信息损失。随后细读 §3.2、§4 与表 2,分清数据库工具、Agent 分工、150 条查询准确率和自动评分器各自衡量什么;最后读 §5 与附录 A.1,辨认作者的基础设施主张与“根因诊断”证据之间还有多远。
思想启发
以下是由论文引出的理解角度,不是作者额外验证过的结论。
BTTF 最值得注意的不是“多 Agent”本身,而是它重新划分了概率推理与确定性计算的边界。模型解释语言、选择查询步骤;数据库负责保存事实、执行过滤和聚合。这种分工没有让推理天然正确,却把错误压缩到意图映射、模式理解和工具选择等可观察位置。
但一个更好的接口也会重写被评测的能力。波形成为两张表之后,许多问题从“理解动态电路行为”变成了 text-to-SQL;这种重写可能正是自动化所需的抽象,也可能遮蔽数据库没有表达的时序语义。论文证明了接口选择能够改变 Agent 的可达能力边界,同时也把“数据库模式是否忠实表达验证问题”变成新的信任前提。
三个思考问题
1. 95.33% 的执行准确率,究竟覆盖了“调试”的哪一层?
如果多数问题能够由预定义工具回答,系统是在理解波形与设计意图,还是在正确选择数据库操作?两者需要怎样的评测才能区分?
展开思考线索
自然语言到工具的正确映射本身就是有价值的能力,尤其当工具返回的是可复核事实。但开放式调试还包括形成假设、选择尚未观察的信号、跨周期解释状态传播,以及发现问题定义本身有误。当前 benchmark 主要覆盖已知查询类型;它证明了查询执行层的可靠性,尚未充分覆盖假设生成和未知根因搜索。
2. 波形删减保留了 toggle coverage,就等于保留了验证语义吗?
时钟和零跳变信号占用大量空间,但它们可能分别定义采样边界和“不应发生”的条件;什么判据才能说明删减前后所有重要查询等价?
展开思考线索
toggle coverage 衡量保留了多少跳变,不直接说明某个断言、时序关系或根因查询仍可回答。零跳变本身可能是预期性质,时钟边沿则可能决定同一数值在何时有意义。更强的保证可以围绕查询集合定义:对目标查询语言中的每个问题,删减前后的答案是否一致;若做不到普遍保证,也应明确哪些查询类别允许哪种删减策略。
3. 找到断言失败时的异常操作数,就找到了根因吗?
一个信号在违反时刻为 X、Z 或非法值,只说明它参与了失败;系统凭什么把它与更早的上游状态、并发路径或 RTL 缺陷区分开?
展开思考线索
沿断言操作数向前查询能把模糊的 pass/fail 缩小到具体时间和信号,是有用的局部解释。但数字电路中的异常可能经过多级组合逻辑和时序状态传播,也可能由共同上游输入造成。要把“相关异常”提升为“根因”,还需要依赖图、赋值关系、跨周期因果链,或能排除替代解释的反事实检查;当前论文只展示了其中的第一步。