1. 当芯片设计遇上AI原生:一个被过度简化的叙事
最近圈子里聊得最多的话题之一,就是某头部研究机构放出的那篇关于AI-native芯片设计的报告。标题很抓眼球,核心结论也足够劲爆:AI正在从辅助工具变成芯片设计流程的“原生参与者”。但我翻完原文、又跟几个做芯片架构和EDA工具链的朋友聊了几轮之后,发现大多数讨论都停留在“AI能不能替代人”这个层面上,反而把真正值得琢磨的东西给漏掉了。
先说清楚这篇报告到底在讲什么。所谓AI-native芯片设计,不是简单地在现有流程里塞几个机器学习模型做预测或优化,而是从架构定义、RTL生成、物理实现到验证签核,整条链路都以AI为核心驱动力来重新组织。报告里提到几个关键方向:用大模型做高层次综合、用强化学习做布局布线、用生成式方法做测试向量生成。听起来很美好,但如果你真的在芯片设计一线待过,就知道从“论文里的漂亮曲线”到“流片成功的硅片”之间,隔着的不只是算力。
我写这篇东西,不是要复述报告内容,而是想从三个不太一样的角度来拆解这件事。这三个角度分别对应三个问题:第一,AI-native芯片设计真正稀缺的能力到底是什么;第二,现有EDA工具链和AI原生流程之间的根本矛盾在哪里;第三,如果一个人想往这个方向靠,应该把力气花在什么地方。每个问题我都会给出自己的判断,不一定对,但至少是跟一线工程师碰撞过的真实想法。
提示:本文讨论的“AI-native芯片设计”特指将机器学习、大语言模型、强化学习等技术深度嵌入芯片设计全流程的方法论,不涉及具体商业产品评价。
2. 稀缺的不是算法,是“可验证的领域知识”
2.1 为什么大多数AI芯片设计论文止步于仿真
我见过太多论文,在公开数据集上跑出99%的准确率,声称可以预测布线拥塞、可以优化功耗、可以生成RTL。但一问到“这个模型在7nm以下工艺节点、在包含模拟IP的混合信号模块上表现如何”,基本就哑火了。原因很简单:芯片设计的数据不像图像分类那样有ImageNet,它高度依赖具体工艺、具体IP、具体设计约束。你在A项目上训出来的模型,换到B项目上可能连收敛都做不到。
这就引出了第一个稀缺能力:可验证的领域知识。注意,不是“领域知识”本身,而是“可验证”这三个字。一个做了十五年物理实现的工程师,他知道在某个特定工艺下,某个宏单元放在某个位置会导致IR drop超标,这种知识是刻在直觉里的。但AI模型需要的是可量化、可复现、可泛化的知识表示。把老师傅的直觉翻译成模型能理解的约束和特征,这件事比调参难一百倍。
我认识一个在某大型芯片公司做DFT的工程师,他们团队尝试用图神经网络做扫描链插入优化。前六个月都在干一件事:把过去十年积累的测试向量和对应的故障覆盖率数据整理成结构化格式。听起来很无聊对吧?但正是这个“无聊”的工作,决定了后面模型能不能学到真正有用的模式。他们最后发现,如果训练数据里缺少某些特定故障模型的样本,模型在遇到类似结构时就会给出灾难性的建议。
2.2 数据闭环:芯片设计AI化的真正门槛
报告里轻描淡写地提到“需要构建高质量的训练数据集”,但这句话背后的工作量被严重低估了。芯片设计的数据闭环跟互联网产品完全不是一个量级。互联网产品可以A/B测试,可以灰度发布,用户行为数据源源不断。芯片呢?一次流片几百万到几千万,周期几个月,你不可能拿真实流片来做在线学习。
所以真正可行的路径是:在仿真和形式验证层面构建高保真的数据生成环境。这又回到那个老问题——仿真本身就很慢。一个中等规模的SoC,跑一次完整的门级仿真可能要几天。你要生成足够训练一个像样模型的数据量,需要的算力是天文数字。更麻烦的是,仿真数据分布和真实硅片数据分布之间存在系统性偏差,这个偏差怎么校正,目前没有标准答案。
我个人的判断是,未来三到五年内,AI-native芯片设计最稀缺的岗位不是“会调Transformer的算法工程师”,而是既懂芯片设计流程、又能设计数据采集和标注方案的系统工程师。这种人需要同时具备三个能力:理解设计意图、知道哪些数据有物理意义、能设计自动化流程把数据从各种EDA工具里抽出来。这种人现在市场上几乎找不到,因为传统芯片工程师的培养路径里不包含数据工程,而数据工程师又完全不懂芯片。
2.3 一个具体的例子:布局布线中的“可解释性”困境
拿布局布线来说。用强化学习做布局,学术界已经做了好几年。典型做法是把芯片画布离散化成网格,把宏单元和标准单元当作agent,用线长、拥塞、时序作为奖励信号。听起来很合理,但实际部署时会遇到一个致命问题:工程师不敢用。
为什么不敢用?因为模型给出的布局方案,工程师看不懂它为什么这么放。传统布局工具虽然也复杂,但它的优化目标是明确的,工程师可以通过报告和可视化去追溯。而一个深度强化学习模型,它可能学到了某种人类没意识到的模式,但一旦流片回来发现某个角落有信号完整性问题,你根本不知道是模型哪个决策导致的。这种“不可解释性”在芯片行业是致命的,因为一次失败的成本太高了。
所以我认为,AI-native芯片设计要真正落地,可解释性不是锦上添花,而是准入门槛。模型不仅要给出方案,还要能给出人类可理解的决策依据。比如“我把这个SRAM放在这里,是因为它跟CPU核之间的数据通路在时序上最紧张,放在这里可以减少走线延迟”。这种解释不一定完全准确,但至少让工程师有一个审查和干预的抓手。
3. EDA工具链的“AI适配层”:被忽视的工程泥潭
3.1 现有EDA工具的接口设计哲学与AI流程的冲突
如果你用过主流EDA工具,就知道它们的接口设计基本是围绕“人类工程师交互”来做的。Tcl脚本、GUI操作、报告文件,这些东西对人友好,但对AI流程极其不友好。一个典型的AI-native流程需要的是:结构化的输入输出、可编程的API、细粒度的状态查询、快速迭代的反馈循环。而现有工具呢?很多关键操作只能通过GUI完成,或者API文档残缺不全,或者返回的数据格式是给眼睛看的而不是给程序读的。
我亲身经历过一个事:某团队想用强化学习做时钟树综合,需要频繁查询时钟偏差和功耗。结果发现工具提供的API只能一次性返回整个时钟树的信息,没法增量查询。每次迭代都要重新跑一遍完整分析,一次几分钟,强化学习动辄几万步,算下来光在数据查询上就要花几十天。最后他们不得不放弃,改用启发式方法。
这就是第二个稀缺能力:构建EDA工具与AI框架之间“适配层”的工程能力。这个适配层要做的事情包括:把工具的输出解析成结构化数据、把AI模型的决策翻译成工具能执行的命令、管理工具进程的生命周期、处理各种异常和边界情况。听起来像是普通的软件工程,但难点在于你必须同时理解工具的行为和AI流程的需求。
3.2 一个真实的适配层设计案例拆解
假设我们要做一个基于LLM的RTL生成流程。输入是自然语言描述的功能规格,输出是可综合的Verilog代码。理想情况下,LLM直接生成代码就完事了。但实际流程要复杂得多:
第一层,规格解析。自然语言规格里充满了模糊和歧义。“支持突发传输”是什么意思?突发长度可变还是固定?最大长度是多少?这些细节如果不在prompt里明确,LLM就会瞎猜。所以适配层需要先跟用户交互,把模糊点澄清,生成一份结构化的规格描述。
第二层,代码生成与约束注入。LLM生成的Verilog可能语法正确但不可综合,或者综合出来面积爆炸。适配层需要在生成过程中注入设计约束,比如“这个模块的目标频率是500MHz”“面积不能超过多少门”。这些约束怎么让LLM理解?目前可行的做法是few-shot示例加上后处理检查。
第三层,验证反馈闭环。生成的代码要跑lint、跑仿真、跑综合。如果失败,错误信息要反馈给LLM让它修正。这里的关键是错误信息的结构化。综合工具报的错往往是“line 42: cannot infer register”,这种信息对LLM来说太模糊了。适配层需要把错误归类,提取关键信息,甚至自动定位到可能的问题代码段。
第四层,版本管理与回滚。LLM可能会越改越糟,所以每一步生成都要有版本记录,能回滚到之前可用的版本。这听起来简单,但在实际流程里,你需要记录每次生成的prompt、模型参数、输出代码、验证结果,形成一个完整的实验追踪链路。
这个适配层的工作量,保守估计占整个项目工作量的60%以上。但大多数论文和报告只关注模型本身,对这部分要么一笔带过,要么完全忽略。这就是为什么很多“AI芯片设计”项目在demo阶段很惊艳,一到真实项目就歇菜。
3.3 工具厂商的封闭生态与开源AI框架的碰撞
还有一个更棘手的结构性问题:主流EDA工具厂商的商业模式是卖license,它们的工具是封闭的。你没法修改工具内部的行为,只能通过官方提供的接口来交互。而AI研究社区的习惯是开源、快速迭代、魔改。这两者的节奏完全不匹配。
举个例子,你想在布局阶段嵌入一个自定义的强化学习agent。工具厂商提供的接口可能只允许你在特定阶段调用外部程序,但没法让你在布局过程中实时干预。你只能等工具跑完一轮,拿到结果,再调整参数重新跑。这种“批处理”模式跟强化学习需要的“交互式”模式根本对不上。
目前我看到的一些变通做法包括:用工具的命令行模式做粗粒度迭代、用工具的输出文件做离线学习、甚至完全绕过商业工具用开源工具链(如OpenROAD)做原型验证。但这些做法都有各自的局限。开源工具链的工艺支持和签核质量跟商业工具还有差距,商业工具的封闭性又限制了AI流程的深度集成。
我的判断是,未来会出现一层“AI-native EDA中间件”,它不取代商业工具,而是在商业工具之上构建一个抽象层,把工具的能力包装成AI流程友好的服务。这个中间件可能由工具厂商自己提供,也可能由第三方创业公司来做。谁先解决这个适配问题,谁就能吃到AI-native芯片设计的第一波红利。
4. 人的角色迁移:从“操作工具”到“设计奖励函数”
4.1 芯片工程师的技能树正在发生什么变化
传统芯片设计工程师的核心技能是:理解设计规格、熟练使用EDA工具、根据报告做决策。一个优秀的物理实现工程师,他的价值体现在“知道在什么情况下用什么策略”。比如拥塞严重时先降低利用率还是先调整floorplan,时序紧张时先优化关键路径还是先做时钟树综合。这些决策依赖大量经验,很难写成规则。
AI-native流程引入后,工程师的工作重心会发生变化。一部分决策被模型接管,工程师不再需要手动调整每个参数,而是需要设计模型的优化目标和约束条件。换句话说,从“下棋的人”变成“制定下棋规则的人”。这个转变听起来很美好,但实际上对工程师提出了更高的要求。
你需要理解模型的能力边界,知道什么目标是可以优化的、什么目标是互相冲突的、什么目标是模型根本学不会的。比如你不能让模型同时优化功耗、性能和面积到极致,你必须告诉它三者的权重关系。而这个权重关系怎么定,取决于产品定位、市场策略、甚至竞争对手的动作。这些信息往往不在设计规格里,而在产品经理的脑子里。
4.2 奖励函数设计:一个被低估的核心技能
在强化学习做芯片设计的场景里,奖励函数的设计直接决定了模型的行为。奖励函数写错了,模型就会学出各种匪夷所思的策略。我听过一个真实的段子:某团队用强化学习做布线,奖励函数里包含了“减少总线长”这一项。结果模型学会了把所有线都走直线,完全不管设计规则检查(DRC)。因为DRC违规的惩罚权重设得太低,模型觉得“先走直线把线长降下来,DRC后面再说”。
这个例子说明,奖励函数设计需要同时具备领域知识和AI直觉。领域知识告诉你哪些约束是硬性的、哪些是软性的、哪些是绝对不能违反的。AI直觉告诉你奖励信号的尺度怎么定、稀疏奖励怎么处理、多目标怎么权衡。这两者缺一不可。
更麻烦的是,芯片设计里的很多目标是非凸的、离散的、甚至不可微的。你不能简单地用梯度下降来优化。你需要设计巧妙的奖励塑形(reward shaping)策略,让模型在探索过程中能获得有意义的反馈。这跟打游戏不一样,游戏里的奖励是明确的(得分、通关),芯片设计里的“好”是模糊的、多维的、甚至主观的。
4.3 验证工程师的角色反而变得更加关键
有意思的是,当设计环节越来越自动化,验证环节的重要性反而在上升。原因很简单:AI生成的方案需要更严格的验证。传统流程里,工程师对自己写的代码有基本的信任,因为每一步都是自己决策的。而AI生成的方案,工程师天然会持怀疑态度,需要更多的验证手段来建立信心。
这就催生了一个新的需求:面向AI生成设计的验证方法论。传统的验证方法(如UVM、形式验证)是为人类设计的设计服务的,它们假设设计意图是明确的、可追溯的。但AI生成的设计可能包含人类没预料到的结构,传统的覆盖率指标可能覆盖不到这些“意外”情况。
我了解到一些团队在尝试用“对抗性验证”的思路:用一个AI模型生成测试向量,去攻击另一个AI模型生成的设计。这有点像GAN的思路,生成器和判别器互相博弈。听起来很酷,但实际落地时又回到那个老问题:验证本身就很慢,两个AI模型互相博弈,算力需求是指数级增长的。
5. 如果现在要入局,应该把力气花在哪里
5.1 三个具体的能力建设方向
基于前面的分析,我认为如果你现在想往AI-native芯片设计方向走,有三个方向值得投入:
第一,数据工程能力。学会从各种EDA工具里抽取数据、清洗数据、构建数据集。这包括解析各种报告文件、调用工具API、设计数据存储格式。工具包括但不限于Python脚本、SQL、Pandas、以及各种EDA工具的命令行接口。这个能力看起来不酷,但它是所有AI应用的基础。
第二,强化学习与优化理论的结合。芯片设计里的很多问题本质上是组合优化问题。你需要理解强化学习、遗传算法、模拟退火、整数规划这些方法的适用场景和局限。不要迷信深度强化学习,很多时候一个精心设计的启发式算法比一个调了三个月的神经网络更有效。
第三,领域知识的系统化整理。把你或你团队的经验整理成结构化的知识库。比如“在什么工艺节点下、什么模块类型、什么约束条件下,应该采用什么策略”。这个知识库既可以用来指导AI模型的设计,也可以用来评估AI模型的输出是否合理。
5.2 一个可落地的小项目建议
如果你想练手,我建议从一个小而具体的场景开始:用机器学习做标准单元布局的拥塞预测。这个问题的边界很清晰:输入是布局后的单元位置和布线资源信息,输出是每个区域的拥塞程度。数据可以从开源工具链(如OpenROAD)里生成,不需要商业工具。模型可以用简单的图神经网络或甚至XGBoost。评价指标也很明确:预测的拥塞图和实际布线后的拥塞图之间的相关性。
这个项目的价值在于,它能让你完整地走一遍“数据生成-特征工程-模型训练-结果验证”的流程。你会遇到所有前面提到的问题:数据分布不均衡、特征设计需要领域知识、模型输出需要可解释性。做完这个项目,你对AI-native芯片设计的理解会比读十篇论文都深。
5.3 关于“AI会不会取代芯片工程师”的真实看法
最后说点实在的。每次技术变革,都会有人问“XX会不会被取代”。我的看法是:AI不会取代芯片工程师,但会用AI的芯片工程师会取代不会用的。这个判断基于一个简单的事实:芯片设计里最核心的决策——做什么芯片、用什么架构、定什么指标——这些是商业判断和工程直觉的结合,AI目前看不到有接管这些决策的迹象。
但执行层面的工作,比如手动调整布局、手动写测试向量、手动分析报告,这些会越来越多地被自动化。这不是坏事。芯片设计行业一直面临人才短缺的问题,自动化能把工程师从重复劳动中解放出来,去做更有创造性的事情。问题在于,你愿不愿意主动去学习新工具、新方法,还是等着被推着走。
我个人的体会是,过去两年我在AI工具上花的时间,比过去五年在传统EDA工具上花的时间加起来还多。不是因为传统工具不重要,而是因为AI工具带来的效率提升是数量级的。一个以前需要一周的探索性实验,现在可能一天就能跑完。这种效率提升,最终会转化为产品竞争力。
注意:本文提到的所有技术方向均为个人观察和行业交流所得,不构成任何投资或职业选择建议。芯片设计行业变化很快,保持学习心态比押注某个具体技术更重要。
6. 写在最后:一些零散的观察
关于AI-native芯片设计,还有一些零散的想法,不成体系,但觉得值得记下来。
一个是关于“AI原生”这个词本身。现在什么都要加个“原生”,AI原生芯片、AI原生应用、AI原生架构。但“原生”到底意味着什么?我的理解是,不是“用了AI”,而是“离开AI就转不动”。就像智能手机是“移动原生”的,因为它的交互方式、应用生态、商业模式都是围绕移动场景重新设计的,而不是在PC上加个电话功能。同理,AI-native芯片设计应该是整个流程围绕AI的能力和局限来重新设计,而不是在现有流程里塞几个模型。这个区别很大,但目前大多数所谓的AI-native项目,其实还是后者。
另一个是关于人才。我观察到的一个现象是,芯片设计行业里最懂AI的那批人,往往不是最懂芯片的;而最懂芯片的那批人,往往对AI持怀疑态度。这个割裂是AI-native芯片设计落地的最大障碍。解决这个问题需要时间,也需要一些成功的案例来证明AI确实能带来价值。目前来看,这个证明过程还在早期。
最后一个观察是关于工具链的。我越来越觉得,未来芯片设计工具链会分层:底层是传统的EDA引擎(布局布线、时序分析、DRC检查),中层是AI适配层(数据抽取、模型推理、结果翻译),上层是流程编排层(任务调度、版本管理、人机交互)。目前底层很成熟,上层有一些开源方案,但中层几乎是空白。这个空白既是挑战,也是机会。谁能在中层做出好用的工具,谁就能在下一波芯片设计自动化浪潮里占据有利位置。
这些想法不一定对,但至少是我跟一线工程师反复碰撞后形成的判断。芯片设计这个行业,变化慢,但一旦变起来就是结构性的。AI-native可能就是这个结构性变化的起点。保持关注,保持动手,比什么都重要。