EDA Agent 这次改对了 RTL,下次能少走多少弯路?保存成功对话不难,总结一条修复策略也不难。难的是换了设计、工具环境或错误类型,旧经验还管用。
arXiv 标注 9 月 22 日提交的 ChipMEM 论文,把这个问题落到了记忆入库规则上:最终任务通过领域工具验收,执行轨迹才有资格沉淀为程序性技能;每次完成的工具调用则留下成功或失败记录,帮助后续重试和恢复。
两类记忆各管一件事。一类回答“这个任务能借鉴哪种做法”,另一类回答“眼前这次失败,接下来该怎样处理”。它们都借助工具结果,但入库时机和证据强度不同。
作者在 RTL 优化和 testbench 生成评测中报告了改善。值得拆解的是经验如何入库,以及跨任务效果如何验收。所有数字均为作者 benchmark,不能外推为工业签核、流片或客户生产部署。
技能入库,先把验收对象说清
ChipMEM 在原有 Agent 与工具之间加入适配器,提供检索出的技能和恢复建议,记录行动轨迹,并把最终产物交给领域验收程序。底层模型继续负责规划与修改,验收程序负责给出通过或失败结论。记忆层积累的是外部记录,不更新底层模型权重。
程序性记忆保存技能文件、任务与来源元数据、验证结果。最终任务失败或结果无效,就不新增这类技能。统计记忆仍会记录已完成工具调用的结果,所以失败经验并未全部被丢弃。
这里最容易误读的是“工具验证通过”。论文的 PPA 优化验收要求综合成功、功能等价,以及经审计的正向改善。CVDP(Verilog 设计与验证任务基准)的 testbench 任务则要通过隐藏仿真、coverage 和 mutation 检查,后者用来检查测试能否识别注入的设计变异。
因此,命令正常退出、综合跑完、功能等价和优化有效,分别对应不同结论。原封不动保留 RTL 可能仍然等价,却没有改善面积。若把所有绿色回执都归为“成功技能”,技能库就可能积累大量能运行却没有完成目标的步骤。
这套门禁验证的是源任务的最终产物。模型从轨迹中总结出的技能,仍可能省略重要条件;它到另一个设计上是否有效,还要由新任务验收。一次成功给经验提供来源,不能给未来所有使用场景提供担保。
检索相似设计,仍要重新跑工具
新任务到来时,ChipMEM 用预定义任务材料建立向量索引。RTL 优化使用顶层 RTL 文件,CVDP 使用任务定义文件;生成文件、测试和评分产物等不进入这个任务表示。实验最多检索两个技能,相似度阈值为 0.6。
检索只给模型少量相关经验。系统寻找与当前任务相近的历史经验,不把整个技能库塞给模型。相似度只决定哪些经验值得参考,最终设计结果仍要经过领域工具检查。
论文公开的技能摘要也揭示了记忆究竟可能保存什么。一条 FIFO 技能要求使用正确顶层、完整层次、所有时钟及有效 CDC 约束,再解释 PPA;一条 SRAM 控制器技能保留包文件、源文件顺序、包含路径和宏定义,防止局部替代文件造成层次不完整。
这几条经验先解决一个基础问题:测的到底是不是完整的目标电路。漏掉模块或使用错误顶层,得到的面积数字可能很好看,却对应了不同电路。还有一条优先编码器技能记录:某些枚举或阈值改写增加了映射面积或功耗,应保留综合工具更适合处理的紧凑结构。
同一个记忆接口,装进了流程知识、编译依赖和 RTL 变换。衡量收益时,仍要分别看。帮助建立可信综合基线,不等于已经改善 PPA;防止错误改写,也未必体现为更多面积获胜任务。
失败记录,决定下一步值不值得重试
程序性技能通常在任务结束后沉淀,统计记忆则随每次已完成的工具调用更新。ChipMEM 按命令类型、前一次错误类别、此前调用次数逐层估计成功可能性,使用分层 Beta 估计,让稀疏的细分记录借用更广泛的历史证据。
论文列出的错误类别包括语法错误、未知模块、缺少库文件和时序失败。重复同类调用失败后,若重试成功概率估计低于 0.20,恢复模型就按历史结果为候选策略排序,再交给 LLM 生成有限的恢复计划。排序属于建议,不自动成为正确答案。
统计记忆试图减少盲目重复。缺少库文件时,继续原样跑综合,与先查日志、检查依赖,具有不同的处理意义。但过去某策略成功较多,只能提供优先级依据,不能证明它就是当前错误的根因修复。
工程试点还要考虑统计记录的适用范围。工具版本、库文件、运行环境变化后,旧概率可能失去参考价值。按环境区分记录、定期检查失效和保留人工接管点,应当成为导入标准;这些是企业部署需要补齐的条件,并非论文已经证明的能力。
三组数字,分别回答三个问题
先看功能等价。RTLRewriter-Bench(RTL 改写评测集)的 54 个计分设计中,启用 ChipMEM 的等价通过结果为 39/54,关闭记忆为 35/54。论文说明,这个计数包含未改动而被接受为平凡等价的输出。因此,多四个等价通过结果不能直接写成多四个优化成功设计。
再看面积改善。49 个短任务的平均面积改善为 8.69% 对 5.66%,失败、无效、未证明、未改动或没有改善的结果计零;面积获胜任务数为 15/49 对 12/49。作者在 RTL-OPT(RTL 优化评测集)和 RTLRewriter 的第一阶段只测映射面积,没有把未测的功耗或性能作为结果报告。
旧经验能否帮上新任务,要看另一组设置。作者先用 20 个 CVDP 训练任务形成经验,再在 20 个留出任务上使用冻结、只读的程序性技能库。总体通过为 20/20 对 18/20;激励生成两组都为 10/10,checker 生成从 8/10 提高到 10/10。
冻结库后的新任务评估比反复修改同一道题更接近“旧经验帮助新任务”的问题。但每种设置只评测一次,增量集中在两个 checker 任务,样本仍小。附录中的训练聚合还显示,激励生成由 49/50 变成 48/50。记忆的作用有方向差异,不能概括为所有任务全面提升。
OpenTitan 的十设计评估又拆开了等价与完整验收。两组等价通过均为 6/10,严格 PPA 门禁通过由 1/10 提高到 4/10;该口径采用每设计五次尝试中的最佳结果。每模式 50 个会话中,工具调用均值由 27.4 降到 23.3,工具时间由 420.2 秒降到 369.8 秒。
这组实验的工具时间下降约 12.0%。它不包括整套芯片项目的人工 review、回归、物理实现与签核工时,不能换算成研发周期缩短 12.0%。论文的五设计联合记忆消融还加载了此前同设计序列积累的状态,也应与冻结库的新任务迁移评估分开阅读。
企业导入,验收三件事
第一件是准入。团队要说清楚哪种结果能够形成技能,保留原始输入、执行轨迹、工具版本、验收条件和最终产物。技能文本写得通顺,不能替代这些来源证据。企业知识库和研发流程编排也应接在这里,让经验检索带回验收记录,并让工具运行结果回到知识资产的更新流程。
第二件是匹配。相似 RTL 检索到了什么,为什么适合当前设计,使用后是否重新验证?遇到不同 IP、库文件或约束环境时,应允许拒绝引用旧技能,并让工程师能够追溯、撤销与更新记录。
第三件是迁移。固定一份技能库,在未参与经验积累的任务上做开启与关闭记忆的对照,并报告失败、退化和人工接管。工具调用次数、通过率、PPA 与项目总成本各有用途,不能用一个漂亮指标代替其他验收项。
一线工程师需要看到技能的前提和原始日志,CAD 团队需要维护工具与环境边界,研发负责人需要计算存储、检索、治理和 review 的额外成本。工具调用少了,收益账仍要由这三类角色分别核算。
ChipMEM 把 EDA Agent 的经验沉淀推进到了可检查的任务结果上,也把失败记录用于后续行动选择。这条路线值得继续验证:让技能带着来源和条件进入库,再用新任务衡量它的价值。
判断下一套声称“会积累经验”的系统,可以直接要求三份证据:源任务验收记录、当前任务匹配依据、冻结技能库后的新任务对照。缺哪一份,就先把相应能力留在待验证状态。设计正确性与 sign-off 责任,仍由对应工程流程和负责的工程师承担。
作者:麒芯
免责声明:本文依据 ChipMEM 论文 v1 作技术与行业分析。评测数字均为作者报告,本轮未独立复现;不代表工业签核、流片或客户生产部署。工程导入建议不等于论文已实现能力。
参考资料:
1. arXiv:《ChipMEM: Verification-Grounded Memory for EDA Agents》,v1,2026-09-22。
热门跟贴