ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

LLM与智能体在芯片设计中的落地实践:从RTL审查到日志诊断

LLM与智能体在芯片设计中的落地实践:从RTL审查到日志诊断 1. 当芯片设计遇上LLM与智能体一场正在发生的范式转移芯片设计这行干了十来年从最早手动画版图、跑SPICE仿真到后来用脚本自动化跑回归再到近几年EDA工具开始内嵌机器学习模型做布局预测我算是完整经历了这个行业从纯手工到半自动再到智能化的演进。但说实话真正让我觉得这次不一样的是最近两年LLM和智能体Agent开始渗透进芯片设计流程这件事。以前我们谈AI赋能EDA谈的基本都是判别式模型——用CNN预测布线拥塞、用GNN做网表划分、用强化学习优化布局。这些模型本质上是在做分类或回归输入一个设计状态输出一个预测值或决策。但LLM和智能体带来的变化是根本性的它们开始具备理解设计意图自主调用工具链跨阶段推理的能力。这意味着芯片设计流程中那些需要人类工程师反复判断、反复试错的环节第一次有了被系统性自动化的可能。这篇文章我想聊的不是某个具体工具的使用教程而是从一线从业者的视角把LLM和智能体在芯片设计领域到底能做什么、目前做到什么程度、哪些环节已经能落地、哪些还停留在论文阶段以及实际推进中会遇到哪些坑尽量讲清楚。适合正在关注AIEDA方向的工程师、正在做相关课题的研究生以及想了解这个交叉领域真实进展的技术管理者阅读。2. 芯片设计流程里哪些环节真的适合LLM和智能体介入2.1 先搞清楚芯片设计流程的信息密度分布要判断LLM和智能体在芯片设计中的切入点得先理解这个流程的信息特征。芯片设计从规格定义到GDSII交付大致经过架构设计、RTL编码、功能验证、逻辑综合、DFT插入、布局布线、时序签核、物理验证、流片准备。每个阶段产生的数据形态完全不同——架构阶段是自然语言规格书和框图RTL阶段是硬件描述语言代码验证阶段是测试激励和覆盖率报告后端阶段是各种工艺库文件和约束脚本。LLM天然擅长处理自然语言和代码所以它在架构规格理解、RTL代码生成与审查、验证激励编写、日志分析与调试这几个环节的适配度最高。而智能体的价值在于串联——它能自主决定什么时候调用哪个工具、根据中间结果调整下一步动作这恰好对应了芯片设计中大量存在的跑一轮仿真→看结果→改参数→再跑一轮的迭代循环。2.2 目前落地最成熟的三个场景从我了解和实际接触到的项目来看LLM和智能体在芯片设计中落地最快的是这三个方向第一RTL代码的生成与审查。这不是说让LLM从零写一个CPU核而是让它做代码补全和规范检查。比如给一段不完整的Verilog让它根据上下文补全状态机逻辑或者给它一个模块让它检查是否存在锁存器推断、跨时钟域未同步、复位策略不一致等常见问题。我试过用LLM审查一个约2000行的RTL模块它能准确指出其中三处潜在的跨时钟域信号未做同步处理这个准确率已经相当可用了。第二验证激励与覆盖率分析。验证工程师最头疼的事情之一就是写定向测试用例和分析覆盖率漏洞。LLM可以根据功能描述自动生成SystemVerilog的测试序列还能读取覆盖率报告后给出哪些功能点还没覆盖到、建议补充什么激励的分析。智能体则可以进一步自主运行仿真、收集覆盖率、调整激励参数形成闭环。第三设计日志的智能诊断。后端流程中一个综合或布局布线跑下来日志动辄几万行里面混杂着各种warning、error和info。传统做法是靠工程师凭经验grep关键词而LLM可以通读日志后给出根因分析修复建议。我见过一个实际案例某次时序违例的日志被LLM分析后它指出问题根源不在时序约束本身而是某个时钟树的约束被后续脚本覆盖了——这个判断连有经验的工程师都花了大半天才定位到。2.3 智能体相比单纯LLM的增量价值在哪很多人会问我用ChatGPT也能问RTL问题为什么还需要智能体区别在于自主性和工具调用能力。单纯的LLM只能基于你给它的上下文做推理它不能自己去跑仿真、不能自己去读文件、不能根据上一轮结果决定下一轮做什么。而智能体框架比如基于ReAct模式构建的Agent可以自主决定调用哪个EDA工具或脚本读取工具输出并判断下一步动作在多次迭代中维护状态和上下文遇到异常时尝试替代方案而非直接失败举个例子一个用于时序优化的智能体可以这样工作读取时序报告→识别关键路径→调用脚本调整约束或插入缓冲器→重新跑时序分析→对比结果→如果变差则回退并尝试另一种策略。这个循环如果靠人来跑一轮至少半小时智能体可以压缩到几分钟而且不知疲倦。3. 把LLM接进芯片设计流程几个关键的技术决策点3.1 模型选型通用大模型还是领域微调模型这是最先要做的决策。通用大模型如GPT系列、Claude系列在自然语言理解和代码生成上表现很好但它们对芯片设计领域的专有知识——比如特定工艺节点的设计规则、某家EDA工具的脚本语法、公司内部的编码规范——是缺乏的。而领域微调模型虽然在这些方面更强但需要高质量的领域数据且维护成本高。我的建议是采用通用模型打底领域知识注入的混合策略。具体做法是用通用LLM作为推理引擎通过RAG检索增强生成的方式把领域知识库设计规范文档、历史项目日志、工具手册挂载上去。这样既保留了通用模型的推理能力又能让它知道领域内的特定知识。实测下来这种方式在RTL审查场景中能把准确率从纯通用模型的约60%提升到85%以上。3.2 上下文窗口管理芯片设计文档动辄几百页怎么办芯片设计的一个特点是信息量大且分散。一个模块的规格书可能50页相关的RTL代码2000行约束文件300行再加上工艺库文档和之前的评审记录。这些全部塞进LLM的上下文窗口是不现实的即使窗口够大推理成本和延迟也会爆炸。实际工程中我采用的是分层摘要按需检索的策略。先让LLM对每个文档生成结构化摘要比如规格书摘要成功能列表接口定义时序要求特殊约束把这些摘要作为索引。当需要回答某个具体问题时先用摘要做粗筛定位到相关文档片段再把片段原文喂给LLM做精细推理。这套流程用LangChain或类似的框架就能搭起来关键是摘要的质量要控制好——摘要丢了信息后面全白搭。3.3 工具链集成智能体怎么操作EDA工具智能体要真正干活必须能调用EDA工具。目前主流的方式有两种一种是基于命令行封装把每个EDA工具的关键操作封装成函数或API智能体通过调用这些函数来执行另一种是基于脚本生成智能体生成Tcl/Python脚本然后由执行器去跑。第一种方式更可控但需要前期做大量封装工作第二种方式更灵活但生成的脚本可能有语法错误或逻辑问题。我目前倾向于混合使用高频、标准化的操作如跑综合、读报告用封装好的函数低频、需要灵活性的操作如写一个自定义的分析脚本用脚本生成人工审核的方式。注意无论哪种方式智能体操作EDA工具时一定要有沙箱机制。我见过因为智能体误删约束文件导致整轮综合结果作废的案例后来我们强制要求所有文件修改操作必须先备份到临时目录确认无误后才覆盖原文件。4. 实测中那些不踩不知道的坑4.1 LLM的幻觉在芯片设计里可能是致命的通用LLM有个众所周知的问题它会一本正经地胡说八道。在聊天场景里这最多让人哭笑不得但在芯片设计里如果LLM告诉你这个信号不需要同步因为它是单比特的而你信了那流片回来就是硅片上的死芯片。我踩过的一个真实坑让LLM分析一段跨时钟域逻辑它信誓旦旦地说该路径已经通过两级触发器同步不存在亚稳态风险。但实际上那段代码里的两级触发器用的是同一个时钟根本没有起到同步作用。LLM被代码的表面结构骗了。从那以后我定了一条规矩LLM在时序、CDC、低功耗这些错了就致命的领域给出的结论必须经过形式验证工具或人工复核绝不能直接采信。4.2 智能体的自主性需要边界约束智能体越自主越容易做出你意想不到的事情。我们曾经搭过一个用于自动跑回归测试的智能体它的任务是跑仿真→如果失败则尝试修复→重新跑。结果有一次它遇到一个编译错误自作主张地修改了RTL代码里的一个参数导致后续所有测试都基于错误的代码跑浪费了一整天。后来我们给智能体加了权限分级读取操作和运行仿真可以自主执行修改RTL、约束、脚本这类写操作必须经过人工确认或至少记录详细的修改日志。这个经验我觉得对所有想把智能体引入芯片设计的人都适用——自主性的边界要根据操作的不可逆程度来定。4.3 领域数据的脏乱差比想象中严重LLM和智能体的效果高度依赖数据质量。但芯片设计领域的数据有个特点大量知识存在于工程师的脑子里和邮件里文档化的部分往往过时、不一致、甚至互相矛盾。我们做RAG知识库时光是把三个不同项目组的设计规范对齐就花了两周——同一个信号命名规范三个组有三种写法。我的建议是不要试图一次性构建完美的知识库。先从一个具体场景切入比如只做RTL命名规范检查把这个场景的数据整理干净、跑通闭环再逐步扩展。贪大求全的结果往往是知识库建了半年一个场景都没落地。4.4 评估指标不能只看准确率芯片设计场景下LLM输出的评估不能简单用准确率。比如RTL审查如果LLM报了10个问题其中8个是真的、2个是误报准确率80%看起来不错。但那2个误报可能导致工程师花时间去排查不存在的问题而如果它漏掉了1个真实的关键bug后果可能是流片失败。所以评估要分两个维度召回率真实问题被发现的比率和精确率报告的问题中真实问题的比率。在芯片设计里我倾向于优先保证召回率——宁可多报几个误报让工程师去筛也不能漏掉真问题。当然误报率太高工程师会失去信任所以实际中要在这两者之间找平衡通常召回率95%、精确率70%是一个可接受的起点。5. 从能用到好用工程化落地的几个关键动作5.1 建立人在回路的审核机制现阶段LLM和智能体在芯片设计中的定位应该是高级助手而非替代者。所有关键决策——架构方案选择、时序约束定义、流片签核——必须有人类工程师把关。但人在回路不意味着每步都人工确认那样效率反而降低。合理的做法是分级审核操作类型自主性级别审核方式信息检索、日志分析完全自主事后抽查代码生成、测试激励生成半自主生成后人工确认RTL修改、约束修改需授权修改前确认修改后复核流片相关决策禁止自主仅提供建议这张表是我们团队实际使用的分级标准核心逻辑是操作的不可逆性越高自主性越低。5.2 构建领域专用的评测基准通用LLM的评测基准如MMLU、HumanEval对芯片设计场景参考价值有限。你需要构建自己的评测集收集一批已知答案的RTL审查案例、日志诊断案例、覆盖率分析案例用它们来定期评测你使用的LLM或智能体是否退步了。这个评测集不需要很大每个场景50-100个案例就能有不错的区分度但必须持续维护和更新。5.3 日志与可观测性智能体干了什么必须能追溯智能体在芯片设计流程中运行时必须记录完整的操作日志它读了哪些文件、调用了哪些工具、生成了什么输出、做了哪些修改。这不仅是为了调试更是为了当出现问题时能快速定位责任边界。我们用的是结构化日志JSON格式每条记录包含时间戳、操作类型、输入摘要、输出摘要、耗时、是否成功。这些日志后来还成了优化智能体策略的重要数据来源——通过分析哪些操作经常失败我们能针对性地改进提示词或工具封装。6. 关于CNCC2026和这个方向的一些个人判断CNCC作为国内计算领域的年度会议近几年AIEDA一直是热门话题。从今年的趋势看LLM和智能体在芯片设计中的应用正在从论文演示走向工程试点。我了解到的一些头部芯片公司和EDA厂商已经在内部部署了基于LLM的代码审查助手和智能日志分析系统虽然规模还不大但反馈普遍积极。不过也要清醒地看到目前大部分成功案例集中在辅助层面——帮工程师更快地找到问题、更快地写出代码、更快地分析结果。真正让智能体自主完成一个完整设计流程的案例还很少主要瓶颈不在模型能力而在工具链的标准化程度、数据质量、以及工程团队对AI输出的信任建立。我的判断是未来两到三年LLM和智能体会成为芯片设计工程师的标配工具就像今天的版本控制和脚本自动化一样。但芯片设计的核心——架构创新、PPA权衡、工艺协同——仍然需要人类的判断力和创造力。AI改变的是怎么做的效率而不是做什么的方向。如果你正在考虑把LLM或智能体引入自己的芯片设计流程我的建议是从一个具体的、高频的、容错率高的场景开始——比如RTL命名规范检查或仿真日志分析——先跑通闭环积累信任和数据再逐步扩展到更核心的环节。别一上来就想着做全自动芯片设计那个目标还远但路上的每一步都有实实在在的价值可以落地。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进