资讯详情

资讯详情

AI辅助芯片设计:从布局布线到工程师的新角色

1. AI在芯片设计里到底干了哪些活先说个比较现实的问题这些年铺天盖地的“AI设计芯片”新闻真正落到我们这些做芯片设计的人手里到底变成了什么我自己是后端出身早年天天跟布局布线、时序收敛、功耗优化打交道后来转做全流程管理。说实话前两年看到“AI生成芯片架构”这类新闻心里第一反应是不以为然的——我们流片一颗芯片要经历多少个日夜的迭代验证一个几毫米见方的die上挤着几十亿个晶体管怎么可能让一个模型拍脑袋就给出最优解。但这两年陆续在几个项目里实际体验了AI辅助设计工具我现在的态度是AI确实已经实质性参与进芯片设计流程了只是它参与的方式和大众想象的很不一样。一个AI工具目前最成熟的切入点是“优化类任务”比如布局布线中的单元摆放、时钟树综合、布线拥塞预测这类。说白了这些环节本质上是高维组合优化问题搜索空间巨大传统方法靠经验设定规则工程师在EDA工具和脚本之间反复迭代。AI的优势在于它能同时考虑成百上千个互相制约的参数在一个巨大的解空间里快速逼近局部最优。我自己参与的某个某先进工艺项目里后端团队用了一款AI布线拥塞预测工具。传统流程里我们往往要跑到place这一步才能大致发现哪块区域会拥塞然后手动调整约束、调整macro摆放一轮下来差不多两三天。切换到AI预测工具后它在floorplan阶段就能给出一个拥塞热力图标出高风险区域我们直接在早期就调整方案整体收敛速度明显提升了。印象非常深的一次一块老工程师排了两周才勉强收时序的区域AI辅助方案三天就给出了等效结果。但这并不等于AI能从头到脚把芯片“创”出来。它擅长的是给一个明确的问题定义和边界约束然后在这个框架内做优化。至于这个约束该定成什么样、哪颗IP和哪颗IP放在一起会不会有系统层面的风险、这个功能到底应该用硬件实现还是甩给软件——这些仍然需要人来做判断。1.1 布局布线AI最擅长触碰的优化盲区我们简略拆解一下布局布线环节。一个典型的中大型SoC芯片主频要求不低整个die上有几十个功能模块总共有几十亿个晶体管单元需要摆放。传统工具按“单元库时钟约束floorplan约束”来搜索摆放方案本质是人写规则、工具照着跑工程师再根据结果反馈修改规则循环往复。这个过程里经验特别重要——资深工程师看一眼congestion map就知道应该收紧哪条路径、调整哪个macro位置但这个经验很难复制。AI能在这个环节发力的原因在于它本质上是在“模仿”资深工程师反复试错的过程而且它能同时评估成千上万个候选方案。比如布局阶段的单元摆放AI可以把每一个cell的位置看作一个决策变量用强化学习或图神经网络的方式去预测“这样摆会不会局部拥塞”“那样的间距会不会影响布线资源”。不是靠单条规则而是靠大量样本拟合出一个全局规律。我参与的那个项目里AI给出的选项并不是“拿来就能直接用的”但对它标注出来的高风险区域我们重点投入人工精力去优化效率和以前完全不同。我自己的理解是AI并不是替代了工程师而是把工程师从“反复试错”里解放出来让他们把精力放到更该花的地方。1.2 逻辑综合与单元级优化从试错到预测布局布线之外逻辑综合这个环节也开始了类似的转变。传统综合工具需要工程师设定面积、功耗、时序的优先级权重并用大量SDC约束强制实现。工具跑完一轮工程师看结果发现时序违例又去调整约束再跑一轮。一轮综合短则数小时、长则一天一个复杂的模块做几十轮迭代非常正常。AI辅助综合优化早期是从“预测”切入的。通过大量历史综合数据分析模型能提前预测当前约束下大概的时序违例路径、面积收益、功耗热点工程师可以更早地决定要不要调整策略而不用把每一轮完整跑完。我另一个同事从数字前端转过来以后一直负责一个视频编解码模块的综合优化。他跟我说过传统方式他一天大概能完成两三轮迭代用了AI预测工具之后他一天可以把迭代轮数提到七八轮而且因为预测结果是带置信度的他可以优先处理那些模型标记为“高概率违例”的路径省下来的时间都花在看架构层面还有没有更合理的处理方式。1.3 验证环节从人肉回归到智能收敛验证一直是芯片设计里投入人力和时间最大的环节——功能验证的门类极多UVM验证环境搭建和回归测试对算力的消耗很大。一个复杂的SoC要跑上亿条测试向量每轮回归按小时计算。验证领域对AI的引入是这两年比较“接地气”的。比如用机器学习分析代码覆盖率判断哪些测试向量是冗余的、哪些路径总是覆盖不到再有针对性地生成补充测试。又比如系统级验证的fail定位传统上工程师要花大量时间看波形、翻日志、追根因AI工具可以基于历史缺陷数据做一个“第一嫌疑人排序”把最可能的失败根源提前给出来。我自己在验证流程中体会最深的是AI最大的价值是把“很多工程师的直觉”变成了“可复用的、自动化的工具”。以前团队里的老员工离职他脑子里的验证思路和排错顺序就跟着走了。现在把这些思路沉淀进AI模型新人也能站在一个较高的起点上做同样的事。我把当前AI在芯片设计里的参与度做了一个简表方便直观感受设计环节传统工作方式AI介入程度实际效果架构定义架构师基于需求反复推演目前介入较少仍依赖人做决策逻辑综合反复用SDC约束迭代验证可用于预测结果、建议方向提速明显但需人确认布局布线工程师反复调整floorplan与约束拥塞预测、方案推荐减少人工试错轮次验证回归人写用例、跑回归、看日志覆盖率分析、故障定位辅助显著降低排查成本良率分析产线数据回溯分析大数据模型推断根因提升分析效率2. AI的边界到底划在哪里我在参加一次行业交流的时候有个同行问了个很刁钻的问题“你说AI能做布局布线优化那它能不能直接根据一句话需求生成一颗完整的芯片”答案很明确现在不能短期也不能。2.1 架构定义的本质是对真实世界的建模芯片设计的起点往往是市场团队拿着模糊甚至互相打架的需求清单跑过来——功耗要低到某档性能要到某水平面积要控制住成本还要压下来。而架构师的工作是把这个冲突且不完整的需求转化成一套可执行的微架构方案用几核缓存要分几级总线带宽要做到多少哪些功能用硬件加速器哪些丢给软件去轮询每个决策背后都是对真实使用场景的判断。一个AI模型在进行优化时是在一个已经被定义好的解空间里找答案。但“定义解空间”这本身恰恰是最高级的工程活动。它要求你理解产品定位、用户习惯、软件生态、硬件约束甚至供应链的供货周期。这里面很多信息是不完备的甚至互相矛盾而高手和普通人的差别就在于能不能在这种模糊性里理出一条可落地的路径。我见过一个做AI芯片架构的朋友他说过一个观点架构设计能力本质上是把“不存在的需求”翻译成“可以数字化的空间”。我听第一遍觉得玄乎后来觉得很有道理。市场需求不是精确的规格书它是一堆带宽、能耗、延迟、成本、生态相关的模糊意图架构师要擅长先把意图收拢成约束再说后面的优化。而这种“模糊意图精确化”的能力AI目前并不具备。2.2 物理设计的全局一致性难题后端领域的朋友都知道布局布线是一个典型的NP难问题任何一个局部改进都可能引起另一个区域的时序恶化牵一发而动全身。AI在局部优化上确实很灵敏——它能预测出一块区域的拥塞风险能建议某个macro往哪个方向挪一步对时序更好。但真正意义上的“全局一致性”比如整个芯片的频率目标、功耗预算是从架构阶段逐层传递下来的任何一个局部改动都要回到这个全局框架里去审视AI目前还难以自行维持这个一致性判断。我在一个项目中就遇到了这种情况。AI工具建议我们调整一个接口IP的摆放位置来缓解局部拥塞调整完之后局部congestion确实好了但这条路径的绕线距离增长了导致触发器到触发器的时序直接违例。模型可以基于局部特征给建议但这种跨区域的“隐藏耦合”还是得靠有经验的工程师从整体节奏去判断。这不是说AI以后不会进步而是提醒我们芯片设计有一套从系统级到电路级的“递归自洽”逻辑任何一个自动优化工具的输出最终都要经过这个逻辑的校验。而校验这个过程本身就需要人来建立标准和判断标准是否合理。2.3 可制造性与良率最后一公里的物理信任再往下走芯片设计最终要落到晶圆厂去流片。同样一片die工艺波动、光刻对准偏差、金属线宽偏差都会影响最终良率。设计团队在物理验证阶段就要做DFM检查、可靠性分析和良率预测。AI在良率预测上有很大价值——比如通过海量生产数据训练模型来预测哪些设计边际可能成为良率陷阱这确实是数据驱动的强项。但真正到量产爬坡阶段工程师要面对的是实际工艺环境的随机波动一些模型没见过的新异常模式可能随时出现。我认识的一位产品工程师说过AI能帮你把已知的坑标记出来但真正让产品活下来的往往是工程师处理未知异常的能力。这句话我一直印象很深。3. 工程师的工作流正在被重写讲了这么多AI的能力和边界还是得落到最实际的问题上那我们这些人具体的工作方式到底变了没有变了而且变化还挺大。3.1 从“写约束的人”变成“写目标的人”最明显的变化发生在“约束”这件事上。传统的数字后端工程师日常很大一部分工作是和技术人员交流——把时序约束写清楚、把物理约束写明白、把已经漫长的迭代跑完。而AI辅助工具出现后有一部分重复性的约束调整被自动化和智能优化替代了。以前是“如果在某某路径上加一个set_max_delay效果怎么样”工程师自己写约束、自己看结果用经验确认效果。现在AI工具可以一次性生成多组候选约束组合并给出各自的预期结果。工程师要做的不再是自己搭积木而是判断“哪一种积木形态才符合整个设计的目标”。换句话说我们的核心技能从“执行力”转向了“定义力”。你得能说清楚最终要什么让AI往那个方向去搜解。我自己的体会是现在团队里培养一个工程师最难的已经开始不再是教他看懂EDA工具报告而是教他理解“为什么这个设计要定这样的性能基线”“为什么这个模块要留这么多裕量”。因为工具和AI把“怎么实现”的环节大幅压缩了“为什么这么定”变成了真正的分水岭。3.2 端到端流程越来越多的“可自动化”环节我参与过的某个跨端到端流程的试验项目中团队尝试把AI嵌入到从架构到物理实现的完整链条里。这个项目本身并不追求全自动设计只是想把全流程里的重复操作尽量机器化。I项目采用了一个相对保守的思路 1.架构层面仍然由主架构师手动评估、手动拆分模块 2.模块级综合环节引入AI预测工具做预分析 3.物理实现端引入拥塞预测与宏摆放建议工具 4.验证环节引入AI故障分析辅助定位跑完之后我们发现整个流程时间大约节省了三成但这三成时间并非均匀分布而是集中在那些本来就比较“机械”的循环里。反过来项目也暴露了一个新瓶颈AI输出的中间结果需要人去判断是否可信而这种判断在交叉领域里非常耗费精力。比如AI说某个模块综合出来的面积会超出预期5%它是基于老工艺库还是新工艺库训练出来的它有没有考虑到该模块的特殊时钟结构这些判断光看AI给的结果是看不出来的你得回溯训练数据来源、模型假设、特征空间然后结合自己对设计的理解来确认。所以这类试验项目给我最大的触动是AI不是在替代流程中的人而是把流程中的人的职责岔开成两个方向一是定义目标和评估标准二是监控和改进工具本身。3.3 一个模拟项目的落地技巧再多说点实操层面的东西。假设你现在是一个后端工程师领导让你评估“要不要在这个项目里引入AI辅助布局布线工具”你会怎么做我的经验是这样的。第一步先别急着上工具把当前流程的痛点量化出来。是拥塞问题最耗时还是时钟树综合迭代最烦还是验证排错最费人力把时间占比拉出来从上往下排。第二步选一个风险最低、收益最明显的环节做小规模试点。比如先选一个中等规模的模块用AI工具跑一版跟原来的结果比。对比时不要只看一两个指标要把时序、拥塞、功耗、面积整体放在一起看避免被局部改善蒙蔽。第三步也是最重要的一步让工具的使用者不一定是工具专家而是真实做后端的人全程参与评估。他们的反馈才是最贴近实战的。我在这个评估阶段遇到过一个问题AI工具给了一个看似不错的方案但它的签核时序非常紧几乎没有任何余量只要工艺角一变就可能垮掉。这种“优化到极限”的方案在项目中是很痛苦的因为后继的改动完全没有缓冲。后来我们就把“鲁棒性”作为一个关键指标加入评估体系后面选型才变得靠谱。4. 工程师的护城河到底在哪儿既然AI必然要渗透更多设计环节那问题就来了我们这些工程师还有什么可守的我说说我的观点护城河不是某个具体的工具技能而是三个层面的东西。4.1 定义问题比解决问题更稀缺随便翻开一个岗位JD都在强调“解决问题的能力”。但真实的工程世界里最难的不是解决一个定义清晰的问题而是把模糊的、矛盾的、甚至都没有被发现的问题清晰地定义出来。比如做SoC架构规划时一堆业务需求摆在面前功耗、性能、面积、成本、量产周期彼此冲突。大部分新人会等着别人告诉他“先满足哪一个”。而值钱的工程师会主动形成一个判断框架这个产品最大的竞争对手是谁我们要抢的是哪部分市场3%的能效提升能不能转换成实际的销量优势这些问题想清楚了后面的一系列技术取舍都不是事。AI目前在这个层面的参与度是零。它能帮你评估“在这三种方案里选哪个最好”但它不能告诉你“这三个方案本身是不是应该存在”。4.2 搞清楚“最优解”是在哪一套规则下的最优AI的另一个潜在陷阱在于它会不加批判地继承历史数据里的经验和偏差。如果在过去五年的芯片项目里团队一直习惯用某种方式去布局某个类型的模块AI模型会认为那是“标准做法”并在新项目中持续推荐。但如果市场环境和产品定位变了这个“标准做法”可能已经过时了。那些能做到高位的工程师往往都具备一种能力不断质疑当前设计假设是否仍然成立。这个模块真的要这么高的频率吗这个总线协议真的需要兼容上一代吗芯片面积真的不能扩大一点点吗这些质疑表面上是“反优化”实际上是在更高维度做重新定义。我之前参与的一个项目里某子系统一直沿用老方案做功耗管理AI工具也推荐继续沿用因为它在历史数据里表现一直很好。后来一位资深架构师重新审视需求发现新一代产品的主要用户场景变了完全可以切换到一个更激进但更省电的模式。结果证明新方案的效果好了不止一点。这件事也是AI辅助环境里的一个很重要的提醒模型给你的是“统计最优”而不是“系统最优”。统计最优是在大概率情况下的安全选择系统最优则要求你从全局目标重新推演。工程师的价值恰恰就在于能否识别出两者不一致的瞬间然后跳出模型的隐含假设去做决策。4.3 被低估的跨域协同能力芯片设计是一个非常典型的跨学科工程。前端写RTL的逻辑工程师要跟后端的物理工程师吵架架构师要跟软件团队讨论任务如何切分验证工程师要同时理解硬件设计和软件行为产品工程师又要回到晶圆厂工艺上去看物理验证。任何一个环节的推进都依赖一个人能跳出自己的专业领域用对方能理解的语言把问题和约束讲清楚。我在项目里见过太多这样的场景前端工程师不理解为什么后端非要坚持某个时钟结构因为他不了解CTS在物理实现层面的痛苦后端工程师不理解为什么前端某段代码不改因为他不了解RTL改动的验证成本远比看起来的问题更大。能把这两头语言都翻译清楚的人在项目里就是天然的结构性粘合剂这种角色比任何单一技能都难替代。AI能帮助人做单领域的优化但跨领域之间的信息转换和共识建立目前仍然需要人来完成。为了帮助大家直观理解不同岗位的护城河变化我做了个表格岗位角色传统核心技能AI影响程度新的护城河数字前端RTL设计、微架构中高需求定义、模块划分、软硬件边界后端物理设计布局布线、时序收敛高全局一致性判断、物理直觉、目标定义验证工程师测试用例、调试排错中验证策略设计、覆盖场景、风险评估架构师系统级权衡低需求建模、技术路线选择、生态理解产品工程师良率分析、量产导入中异常模式识别、跨工艺理解、生产决策5. 给从业者和团队的一些实操建议可以感觉到现在产业界对AI进入芯片设计是既兴奋又焦虑的状态。一边是资本和舆论不断催热概念另一边是很多一线工程师还在犹豫要不要花时间学这些新工具。我自己倾向于一个观点AI已经成了这个行业的“默认基础设施”就像当年的云服务一样早点认清楚它在哪里真正帮你、哪里帮不了你才是正事。5.1 工具越强大基础越值钱先说给年轻工程师的建议——不要因为AI工具越来越智能就觉得基础学科没用了。AI能帮你把时序收敛跑得更快但它替代不了你对时序本质的理解。如果你不知道什么是关键路径什么是建立时间违例什么是clock skew那AI给出来的结果你连对错都判断不了更别提信任它。物理设计领域尤其如此版图天线效应、闩锁效应、电迁移这些概念仍然是理解AI输出结果的底层知识。我在带新人的时候发现一个规律那些基础扎实、能在黑板上把一款芯片的时钟树画明白的年轻人用起AI工具来往往比只会点工具按钮的工程师效果要好得多。原因是他们能更准确地判断哪些中间结果可以信任、哪些需要介入。AI只是在优化这个层面帮你提速但物理世界的底层规律并不会因为AI出现而改变。越早把物理直觉和电路原理吃透你在AI时代反而越游刃有余。5.2 如何选择合适的技术切入点对于团队层面我的建议是循序渐进不要一上来就指望靠一个AI平台解决所有问题。每个团队的技术积累、工艺节点和项目特征不同适合的AI工具也不一样。一个比较好的切入路径是先选一个痛点足够明确、且数据积累比较充分的环节比如验证回归分析建立这个环节的基准数据、标杆指标和评估体系用历史数据训练和评估模型确保模型在新数据上的表现跟实际场景一致小范围试点让真正的项目工程师参与反馈根据反馈迭代待成熟后再扩展到其他环节这个路径看起来挺保守但实际落地效果好。因为芯片设计行业对风险的容忍度极低一上来就搞大改造万一团队还不熟悉现场出了问题代价非常高。小步快跑虽然不性感冒但确实是最稳妥的方案。5.3 常见误区与心态调整最后聊几个我在实际观察中看到的常见误区。第一个误区是“AI会立刻取代工程师”。这种焦虑多半来自对技术宣传的过度解读。实际上AI在芯片设计里的应用即使是发展最快的布局布线领域仍然需要工程师建立评估体系、定义目标并核验结果。它更像是一个能力很强的实习生你交代得越清楚它执行得越好但你不能指望它自己理解你的战略意图。第二个误区是“有了AI我就可以放松对基础的学习”。这恰恰是反过来的。AI的普及实际上提高了门槛以前你可能靠熟练度掩盖一些概念理解的模糊现在AI把熟练度这个差异抹平了剩下的竞争焦点回到了真正的理解和决策能力上。我见过不少工程师以前靠“跑得比别人快”立足现在反而焦虑感最强因为这部分优势正在被工具吞噬。第三个误区是“AI生成的结果一定比人靠谱”。我见过太多因为过度信任AI输出而导致返工的案例。AI模型的表现高度依赖于训练数据的质量和覆盖度如果某个设计模块的特征和训练数据差异较大模型给出的建议可能偏差很大。任何时候都要保留判断权特别是在签核交付之前。我在实际项目中总结的一个小原则是AI工具给出的任何建议都要在“代价较小”的早期阶段去验证而不是到了后期直接把结果作为最终方案送签。宁可花几个小时验证AI建议的可行性也不要花几天去收拾一个不成熟建议带来的烂摊子。5.4 未来几年值得关注的技术方向顺着这个话题再往外延展一点。从我自己的观察来看AI与芯片设计的深度结合还有几个方向值得从业者持续关注。第一个是“AI辅助的敏捷硬件开发”。传统的硬件开发是长周期、重流程的而软件领域的敏捷开发方法论这几年已经开始往硬件方向渗透AI在其中起到了很关键的加速作用——它能把验证和实现环节的迭代周期大幅压缩让硬件项目也能以更短的周期试探不同的微架构方案。第二个是“AI驱动的设计空间探索”。这是在架构层面最有潜力的一件事——给定一段需求的粗略描述AI能够生成多组合理的微架构候选方案并给出它们在功耗、性能、面积上的预估。虽然最终决策仍由人来完成但它把“从零到一”的探索过程大大加速了。我自己判断这个方向会在未来三到五年内出现比较成熟的产品化落地。第三个是“跨层级联合优化”。现在很多AI辅助还是针对某一环节单独进行的比如只调布局、只调综合约束。将来如果能把从架构、微架构到物理实现的整个链条打通让AI在系统层面进行联合优化那才是这个领域真正意义上的质变。当然这需要各个层级的数据接口、抽象层级之间的信息转换都得足够高效目前差距还很大。这三个方向未必都能立刻落地但它们共同指向一个趋势AI在芯片设计里的角色会从“局部工具的辅助者”逐步变成“设计方法论的参与者”。对我们这些从业者来说与其整天焦虑被替代不如早点想清楚在这样一个新方法论体系里自己的定位在哪里。毕竟工具永远在升级但“定义问题、判断方向、守住底线”这些能力在任何一轮技术浪潮里都不过时。我个人这两年来的体会是别把AI当成对手把它当成一个逼着你往更高维度去思考的队友。它的出现让芯片行业很多原本靠经验堆出来的“手艺活”变得透明了也逼着工程师去思考那些真正属于自己的价值——对物理世界的理解、对复杂系统的取舍判断、对模糊需求的处理能力。这些短期内不会消失反而会因为AI把重复劳动替代掉之后显得更加珍贵。最后分享一个我亲测有效的小技巧如果你所在的团队刚开始接触AI辅助设计工具别急着把旧流程大卸八块。最好的入手方式是让AI在已有的完整流程里当一个“预测哨兵”——旁边跑着正式流程AI在旁边给预测和建议经过几个项目的对照验证再一点点把AI的输出纳入真正流程。这过程可能慢一点但稳。芯片行业经不起折腾而要真正用好AI恰恰也需要这种工程化、渐进式的心态。
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →