ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

AI芯片设计实战:从布局布线到流片,后端物理设计如何被强化学习改变

AI芯片设计实战:从布局布线到流片,后端物理设计如何被强化学习改变 那个消息放出来的时候我正蹲在工位上对着一个跑了快三个小时还没收敛的布局结果发呆。屏幕里密密麻麻的标准单元挤成一团像是早高峰地铁。当时心里的想法很简单如果真有人能把这活儿交给AI干那得替我们物理设计工程师省下多少根白头发。结果没过几天就看到业界的公开披露——一家头部EDA厂商的研发团队把AI设计芯片的全流程参数、训练方法和流片结果直接摊开在论文和发布会上。读完非常有感触。两颗芯片一颗放在6nm先进工艺上一颗放在28nm成熟工艺上一颗搭载开放精简指令集架构的内核另一颗是编解码相关的小型SoC供电、时钟、接口逻辑一应俱全。AI干的不是某个小模块的局部优化而是直接参与芯片物理设计最核心的环节布局布线和时序优化。从宏观的宏单元摆放、标准单元排列到微观的时钟树综合最后输出一份可送去生产的GDSII版图。这颗芯片不是仿真模拟是真送去流片并点亮跑通的。文章后面我去翻了完整的技术资料又找几位做后端的朋友反复校对把这几年AI在芯片设计领域的真实进展、实际收益和踩过的坑梳理了一遍。如果你也在关注AI对芯片设计流程的冲击或者正好负责后端物理设计这篇文章大概率能解答你的一部分疑问。1. 事件还原AI设计芯片究竟设计到了哪一步先说结论所谓“完全由AI设计的芯片”指的并不是AI从一行RTL代码开始自己理解需求、自己写逻辑、自己画出晶体管级电路。那个还太远。它指的是在芯片物理设计环节里AI通过强化学习和图形神经网络自主完成了一个人类工程师通常需要数周才能完成的布图规划和布局布线任务并且结果达到了生产制造标准。1.1 “全球首款”背后的真实链条整个流程的起点是设计团队先给出经过逻辑综合的门级网表——也就是一堆标准单元和它们之间的连接关系。传统流程里这堆网表会被扔进EDA工具由工程师手动设置模块形状、摆放约束、时序目标然后工具在预设框架下跑很多轮迭代。如果哪里拥塞了、时序违例了工程师就手动挪一挪、加约束、重跑。这套流程在成熟工艺上已经很成熟但在先进工艺节点上宏单元数量动辄上百个标准单元数量几十万甚至上百万变量维度极高靠人手动试错越来越吃力。AI做的事情是把“布局布线”这个可以被抽象为组合优化的问题转化为一个序贯决策问题。模型观察当前的版图状态然后决定下一个宏单元应该放在哪个网格坐标。每次放完一批单元工具就反馈一个奖励信号——比如布通率、线长、拥塞度、时序裕量。模型根据奖励更新自己的策略参数直到学会一套人类经验之外的布局套路。1.2 不是AI写架构也不是AI凭空发明电路这一点必须说清楚不然很多人对“AI设计芯片”容易产生不切实际的期待。AI没有参与指令集架构设计没有写Verilog也没有发明新的电路拓扑。它参与的是芯片后端物理实现环节是在逻辑功能已经完全确定之后决定物理上怎么摆、怎么连接才能让芯片跑得快、发热少、良率高。这个环节在芯片设计流程里堪称最吃经验的部分也是人力成本最高的环节之一。换个更贴切的比喻逻辑设计是写小说确定了人物和情节物理设计是把小说改编成电影——导演需要决定每个镜头怎么拍、演员站哪里、灯光怎么打、剪辑节奏怎么控制。AI就是那个拿到剧本后自己完成分镜设计的新锐导演。这件事之所以能称得上“全球首款”是因为它不是在实验室里找了一个特别简单的测试芯片跑通流程交差而是实打实用了工业级的设计约束和工艺库跑出来的版图通过了完整的物理验证并成功制造点亮。整个流程的工程集成度很高说明这个方向已经从论文走向生产力工具了。2. 为什么偏偏是布局布线这个环节先被AI拿下芯片设计流程很长从架构定义到逻辑综合到物理实现再到验证AI其实在很多环节都有渗透——自动生成回归测试用例、时序预测、缺陷检测之类。但为什么“完全由AI设计”这件事首先发生在布局布线这一块这跟布局布线本身的数学性质有很大关系。2.1 物理设计的难点在于组合爆炸布局布线的本质是给定一组逻辑单元和连接关系寻找一个物理放置方案使面积尽量小、线长尽量短、时序尽量收敛、功耗尽量低、信号完整性和可制造性都达标。这是一个典型的多目标优化问题且解空间是巨大的组合空间。举个例子一个宏单元放到A点和放到B点对整体布线的影响是完全不同的。几十个宏单元的摆放方案组合起来数量级远超宇宙原子数。传统EDA工具的做法是分支定界、启发式搜索或者基于拥塞度迭代反馈的一套贪心策略。这些方法有效但非常依赖初始条件和人工约束的合理性。一个经验丰富的后端工程师之所以值钱就是他能在工具跑出离谱结果之前靠直觉把约束设对。AI在读图能力上有天然优势。从一个局部版图截图里判断哪里大概率会拥塞——这种能力对图形神经网络GNN来说就是小菜一碟但对人类工程师而言需要多年的训练直觉。AI可以把这种“视觉直觉”转换为策略网络里的参数分布然后在每次迭代中逐步逼近更优解。2.2 传统的“人在环路”模式怎么工作我在刚入行的时候带我的师傅教我的第一个技能就是“画floorplan”。拿到一块芯片的netlist先看模块层次看哪个模块和哪个模块交互最频繁然后把交互多的模块尽量放得近。这是一套靠时间和经验积累的“软功夫”很难写进标准流程。传统EDA工具里这一步通常需要工程师手动框定模块区域设置相对位置约束再在布局结果上做一轮又一轮的ecoEngineering Change Order工程变更指令。这种模式的瓶颈很明显人类的经验来自“见过的芯片”但每一颗新芯片都有不同的约束组合。如果新项目用到一种你从没接触过的时钟结构或者一种新的先进工艺库之前的经验就可能会失效你只能靠大量试错重新积累。AI没有这种知识迁移的负担——它只要能从历史数据里学到一般性的“布局规律”就能在新设计上给出较为合理的初始方案。2.3 强化学习和布局布线天然匹配强化学习的核心设定是智能体在环境中采取动作环境返回奖励智能体更新策略。布局布线正好完美适配这个范式。状态当前版图的所有宏单元位置、标准单元密度分布、拥塞热力图、时钟树布局情况。动作下一个模块放置的位置坐标。奖励布通率、预估线长、时序裕量、功耗估算值可加权组合。而且布局布线这个环境是高度可模拟的。每个动作执行后的结果能快速由EDA工具计算出来不需要真实物理世界参与。这给强化学习提供了一整片廉价、并行、可重复的训练土壤。这也是为什么布局布线成为AI芯片设计落地的第一站——不是因为它简单而是因为它“适合被AI打穿”。3. AI到底是怎么做布局和布线的一套可以实操理解的链路如果你以为AI布局布线是“丢给模型一个netlist然后坐着等GDSII吐出来”那就太小看这事了。真实的链路比这复杂得多但理解起来并不难我们可以把整条流程拆成三个层次来看。3.1 数据表示与状态输入第一步把芯片设计数据转成AI能理解的表示形式。芯片版图是一个二维空间逻辑单元有面积、形状、引脚位置连接关系形成一张图。业界常见的做法是把整张版图栅格化用一个网格矩阵来表示不同的放置区域每个网格叠加特征通道比如单元密度、引脚密度、网络连接权重、时序松弛度等等。这个过程有点类似于图像识别任务里的像素矩阵只不过通道含义完全不同。连接关系部分则用图神经网络来编码。标准单元和宏单元作为图的节点信号网络作为边边的特征可以包含线延迟估计、驱动强度、扇出数量等。GNN可以把整张连接图压缩成一个固定长度的嵌入向量这样策略网络在决策时既知道“哪里密度高了”又知道“这一堆单元之间到底谁跟谁有密切连接”。我当时看到这套表示方法的第一反应是这不就是把后端工程师脑内的“经验空间”数字化了吗。工程师看版图也是一眼看出哪里拥挤、哪里该拆路径只不过我们说不清楚自己是怎么看出来的。3.2 策略网络与奖励设计决策部分使用类似Actor-Critic架构。Actor网络输入当前状态表示输出下一批宏单元的摆放坐标概率分布Critic网络则评估当前状态的价值帮助Actor稳定收敛。训练时模型不断与环境交互环境反馈真实线长、拥塞度、时序数据再结合奖励加权公式更新参数。奖励设计是最吃经验的地方。如果只给一个“PPA综合评分”当作奖励模型很快就会陷入局部最优摆放出一堆线长很短但时序完全无法收敛的布局。合理的做法是分层奖励优先保证布通率——也就是所有网络都能物理连接然后再逐步添加时序、功耗、面积目标。奖励权重还要在训练过程中动态调整避免早期训练不稳定的问题。公开披露的细节里训练过程使用了大量历史工程项目数据作为初始状态AI先学习过去人类工程师的好方案再在之后的新设计里逐步跳出人类经验找到一些人类不会想到的摆放模式。这种“模仿学习预训练强化学习微调”的范式在当前AI落地中属于很靠谱的组合拳。3.3 混合流程AI给解传统工具验解AI模型输出的是“一个可能优秀的摆放方案”但最终芯片能不能制造还得靠传统EDA工具的完整验证。所以整个生产流程是一个混合闭环AI用强化学习探索出若干候选布局 → 传统EDA工具做详细布线和时序分析 → 结果反馈给AI作为新一轮奖励 → 重复迭代直到目标收敛。论文里提到的160个宏单元规模的SoC设计AI跑出来的布局结果在布线拥塞和时序收敛指标上都优于经验丰富的后端工程师手工调优的基线。最关键的是整个周期从人类工程师的两周左右压缩到了以小时计的AI训练加推理时间。当然这不代表工程师直接失业——启动训练前需要写特征提取脚本、配奖励函数、准备数据清洗管道、做结果校验这些工作恰恰是芯片设计经验与AI工程能力的结合点。3.4 需要的算力门槛其实没有想象中那么高很多人一听到“AI设计芯片”第一反应是这得多少张GPU才跑得动。公开资料里训练涉及的计算量和主流大模型比较起来并不算夸张几百张GPU的规模大概能支撑一次完整的设计训练。而且实际部署时大部分推理任务单卡就能完成。真正需要算力的是强化学习环境交互阶段因为在采样时需要反复调用EDA工具做快速评估这个环节的瓶颈反而不在GPU上而在EDA工具的执行速度上。这也意味着AI布局布线的落地门槛更多是在工程集成和数据治理上而非单纯算力堆叠。4. 实测下来AI布局布线能改善什么踩过的坑又有什么理论看着很美但落到实际项目里AI布局布线并不能一键解决问题。这两年在接触和跟进相关项目时我总结了几个真实收益和坑点给准备尝试的团队做个参考。4.1 真正能省下的时间与人力宏观布局探索环节大幅提速传统流程里floorplan阶段往往需要反复人工调参一个模块摆得不好后面布线绕来绕去时序越跑越差。AI能在很短的时间内探索几百个不同布局方案快速淘汰那些明显差的方案把工程师从繁重的试错中解放出来。跨项目知识复用同一个团队如果持续做同类SoCAI模型可以在多个项目之间迁移。新项目拿到手初始布局质量就接近过去几个项目迭代多次后的水平。这一点在小芯片项目中特别明显我们团队做过几颗小规模的MCU级别芯片模型迁移后第一次布局的结果就足以超过手工初版。夜间无人值守自动化迭代传统流程里布局迭代严重依赖人在环路上的介入。AI方案可以在后端服务器上挂着没人值守也能持续跑出新的候选方案次日早上工程师只需检查收益最好的几个结果。这个“多夜里跑”的能力在项目工期紧张时价值极大。4.2 数据清洗与数据质量劝退90%团队的环节这是整个落地过程中最容易被低估的部分。AI训练需要海量历史布局结果但绝大多数芯片设计团队的工程数据散落在个人工作目录、归档磁盘和SVN/Git仓库里格式不统一命名不规范更别提标注和版本信息了。即便拿到几十TB的版图数据要清洗成AI可以吃进去的训练集也是一项极其消耗人力的工作。我听说过一个比较极端的案例某团队花了三个月时间做数据清洗和格式转换才凑出第一批可以训练的数据。实际训练只花了一周。这个比例很真实AI落地的重心从来不只是模型算法而是数据和工程管线。建议想上AI布局布线的团队第一优先级是建立标准化的数据归档和版本管理机制否则再好用的模型也没有粮食。4.3 验证闭环绝对不能少AI布局布线的结果最终要交给传统EDA工具做全套物理验证DRC检查、LVS检查、时序signoff、功耗分析、IR drop分析、电迁移检查。AI只在“寻找更优布局”这个环节取代人类决策并不自动替代制造端的物理验证要求。实操时最怕AI模型只针对训练分布内的设计有效一旦遇到新的工艺角或者新的特殊结构输出的布局看起来很美一跑详细布线就彻底爆炸。所以稳妥的落地策略是AI生成多个候选布局全部并行跑传统EDA验证最后挑出各项指标都达标的那个进入后续流程。把AI当作“高级方案生成器”而不是“全流程解决者”是当前阶段最务实的心态。4.4 另一个实战中反复出现的坑训练数据分布偏斜如果你只用同一个团队过去五年做过的芯片做训练数据模型的“舒适区”会集中在特定类型的芯片架构上。一旦新项目引入新的总线结构、新的存储层次、新的时钟域设计模型效果就会明显下降。有些团队尝试用流片回来的实测数据进行迭代校正效果会好很多但前提是团队能忍受更长的反馈周期。毕竟流片一次的成本和时间摆在那里不可能每轮模型更新都能获得真实芯片的验证数据。这里补充一句模型对先进工艺节点的泛化能力偏差是当前最大的问题之一。用28nm训练得很好的布局模型直接迁移到6nm效果会有较为明显的下降因为布线的电阻电容特性、标准单元形状、布局密度约束都变了。有效的做法是在目标工艺节点上做少量标注数据微调而不指望模型零样本跨代。5. 流片回来之后芯片测试这一关同样躲不掉很多关注AI芯片设计的文章讲到版图导出就结尾了给人一种“AI画完图芯片就能用”的错觉。实际上芯片从GDSII到真正可用的元件中间还横着一道测试和封装的坎这一步甚至比布局布线更接近“工业现实”。5.1 芯片测试链条从晶圆测试到成品测试芯片测试大致分为晶圆测试CP测试和成品测试FT测试两个阶段。晶圆测试是在晶圆还没有切割前用探针台扎到焊盘上进行电性能测试筛掉不良die成品测试是在封装完成后通过测试插座对每颗芯片做完整规格验证。无论是最普通的LED闪灯驱动芯片、TP4056这类充电管理芯片还是一颗AI设计的复杂的SoC都要走这条流程。5.2 具体测什么不只是“通电能用”那么简单测试项目看起来简单实际上敷衍不得。以一个带电源管理、时钟和数字逻辑的SoC为例最基本的FT测试项目包括以下这些测试类别典型项目关注指标直流参数测试静态功耗、动态功耗、IO漏电流电源电流规格、漏流上限数字逻辑测试Scan链测试、ATPG向量测试、BIST自检测试覆盖率、故障模型覆盖交流与功能测试PLL锁定时间、时钟频率、信号建立保持时间工作频率范围、时序裕量接口测试I2C、SPI、UART、USB等外设协议一致性协议波形参数、位错误率可靠性测试HTOA老化、HTOL高加速寿命、ESD静电防护寿命耐久、静电失效阈值其中ATPG测试特别值得展开说一下。ATPG全称是Automatic Test Pattern Generation名字和AI没什么关系它是EDA工具自动生成的一组测试向量专门用于检测制造过程中引入的物理缺陷。比如某条金属线断开了、某两个节点短路了、某个晶体管的栅氧化层被击穿了ATPG向量能把这类故障尽可能暴露出来。AI设计的芯片在这一点上和人工设计的芯片没有任何区别——布线布局再优秀晶圆制造环节仍然存在缺陷率只能靠系统性的测试来筛除。我在做芯片验证的时候就反复强调测试覆盖率不到99%的芯片量产阶段很容易被出货后的大量客退教训一遍。5.3 AI设计对测试环节带来的特殊挑战AI做出来的布局通常和人类的直觉很不一样某些宏单元摆得异常紧凑某些信号线的走线方式非常反直觉。这给测试带来的挑战是Scan Chain的插入和路径优化可能需要更精细的处理因为AI布局下扫描触发器的物理位置分散程度可能不同于人类设计习惯。另外由于AI优化时更偏向全局指标个别局部模块的测试点覆盖率可能下降需要在设计阶段额外插入可测性逻辑比如增加测试复用端口、加宽扫描链、插入BIST模块。整套流程讲下来可以理解成AI帮你把房子盖得又快又省材料但验收时消防、电路、水路该查的一项都省不掉甚至因为结构太新检查标准还要更细致一些。6. 关于AI设计芯片我自己的几点判断和实操建议看到这里如果你是做芯片设计的工程师也许会担心AI布局布线普及后后端岗位的价值会被削弱。我的看法是AI确实会取代一部分机械重复的探索性工作但它同时把后端工程师从繁琐的试错里解放出来让工程师把精力放到更高层的设计决策上——比如芯片架构怎么定、性能功耗面积怎么权衡、怎么设计测试策略保证可制造性。换句话说AI不是挤压人才的空间而是把人才往上推一层。对正打算引入AI设计流程的团队有几点实操建议可以参考先做小规模验证不要一上来就挑战旗舰SoC。建议选一颗成熟工艺、中小规模的芯片作为试验田跑通数据清洗、模型训练、布局生成、传统工具验证的完整链路积累团队经验和信心。重视数据积累从今天开始规范归档。哪怕短时间内不上AI工具标准化的历史数据目录和管理机制也本身就是高价值的工程资产。等哪天真要训练模型时你会发现当年规范归档的数据是最大的底气。混合流程是当前最可靠的落地方式。AI负责生成多样化候选方案传统EDA工具负责严格验证工程师负责定义目标和把关关键节点。与其追求“完全AI自动”不如踏踏实实把AI融入现有工具链路逐步提高自动化比例。复制不了就微调别指望开箱即用。不同团队的设计风格、目标市场、工艺节点差异太大公开模型或论文方案大概率只能作为起点。在目标数据上做fine-tune才能让AI方案真正贴合自己的产品特性。做芯片设计和做AI有个很相通的底层逻辑知道极限在哪里也要知道边界在哪里。AI设计芯片目前最合适的位置就是在那些“人类靠直觉很难找到最优方案、但又可以快速建模仿真验证”的环节里充当一名不知疲倦的探索者。工程师要做的是把探索框架设计好把验收标准定清楚然后让AI在大开脑洞的同时始终运行在可控的工程轨道内。回头再看那个在实验室里对着不收敛布局发呆的下午我在想如果当时的工位旁边就有一台训练好的AI布局布线助手我大概可以省下那个下午直接跳到验证环节去检查它给出来的方案是不是真的靠谱。这就是AI和芯片设计结合最舒服的姿势——它跑第一棒我们接最后一棒谁也不会失业但活儿确实干得更漂亮了。
返回列表