ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

AI赋能PCB设计:Quilter强化学习布局布线原理与实战

AI赋能PCB设计:Quilter强化学习布局布线原理与实战 做硬件的老哥估计都有这种体验原理图阶段敲键盘敲得飞起一到PCB环节就开始怀疑人生。你以为两天能画完的板子实际一进去就是大半天——挪电容、换过孔、绕差分线、查DRC时间就这么静悄悄没了。这几年AI大模型铺天盖地但真正落到硬件设计、落到PCB设计这个具体环节的说实话一直缺个能打的工具。直到我认真研究并在一批新工具上做了验证测试之后我发现AI赋能硬件设计不是讲故事至少在PCB效率这件事上Quilter这套思路是真的把活儿干到了点子上。这篇我不打算念论文摘要就以我自己的调研、项目验证和踩坑经历讲清楚三件事Quilter到底是什么原理、怎么把它接入实际的PCB工作流、哪些板子交给AI会真香、哪些板子碰都别碰。1. 传统PCB设计的“体力活”困境与AI的切入点1.1 从原理图到板子为什么布局布线最耗时先聊一个大家都懂但很少被说透的事实一个中等规模的PCB项目比如带MCU、FPGA、DDR、电源、接口保护的数据采集板原理图可能一两天就画完了但布局布线往往要耗掉3到5天碰到信号完整性要求高的一周也不是没可能。原因不复杂。布局布线本质上是在二维平面上做一个“多目标优化”元器件的电气连接要尽量短、发热器件和敏感器件要隔开、外壳和螺丝孔不能挡、走线不能乱穿分割面、多层板的层叠切换要考虑信号返回路径……这些目标经常互相打架。新手能画出来老手也能画出来但画出来的板子在性能和可制造性上天差地别。传统EDA里其实都有自动布线器Altium、PADS、KiCad全带。可那个自动布线器在复杂板卡上基本是摆设绕来绕去几十分钟DRC一片红布局还乱得一塌糊涂。我身边几乎没有工程师把自动布线器真正用到底的。为什么因为自动布线器解决的只是“连通路径”问题不是“布局最优解”问题。布局一旦不合理布线器再怎么努力也只能在垃圾之上做局部优化。这正好是AI能切入的地方——把全局布局的活儿接过来用模型去学“什么样的摆放才是好的”。1.2 AI切入PCB设计的三条技术路径要说清楚Quilter的位置得先盘点一下AI在PCB设计上的落地路线。第一条路线叫“规则引擎加自动布线强化”。大家其实每天都在用只是没管它叫AI。它基于一堆if-else规则和启发式策略把连不上的网绕通。优点是成熟稳定缺点上限低不知道全局只会在局部打转。第二条路线叫“机器学习辅助布局”。这种方案会从历史项目和规则库里学习对元器件做聚类、排序、分区再由人来完成最终摆放。它降低了AI介入的风险但效率提升幅度有限说白了还是人在主导。第三条路线就是Quilter这类“端到端强化学习布局布线”。它把整个PCB设计当成一个连续决策问题用神经网络去学“在当前板子上这个器件放在这里比放在那里更好”然后直接输出完整布局方案工程师在结果上做审阅和精调。Quilter走的是第三条路线。以前看论文我也觉得强化学习做PCB是噱头但真正把它跑起来之后发现它其实是把“经验”这种很难言传的东西显式化了。老工程师常说的“这个芯片要放这儿那个电容要贴着放电管”本质上也是一套策略只是没被写成代码而已。2. Quilter的核心原理把PCB设计当成“游戏”来学2.1 强化学习建模状态、动作、奖励强化学习的核心套路是状态、动作、奖励Quilter也是这套框架。先把板子上的信息变成状态。每个元器件的位置坐标、方向、封装尺寸每个网络的连接关系还有层叠结构、禁布区域、设计规则这一堆约束统统编码成一个结构化表示喂给神经网络。然后是动作空间。在PCB布局里动作可以是“移动某器件到新位置”“把器件旋转90度”“交换两个器件的位置”。再往细了看还有“切换布线层”“打孔”“绕行”。Quilter在布局阶段最核心的动作是对元器件位置和方向的调整在布线阶段则让智能体在网格上逐步选择每个格子的走向。最难的永远是奖励函数。PCB布局的好坏到底怎么打分Quilter的做法是这个函数拆成好几项总曼哈顿线长要短、全局拥挤度要小、DRC违反项要少、发热器件之间的热耦合要合理、敏感模拟信号和数字信号必须分开走。每一项带权重加起来得到奖励。这里经验就起作用了。奖励权重的设置直接决定AI生成布局的风格你调一遍就能感受到有点像调PID参数权重给偏了模型就会往“看起来整齐”的方向猛跑而不是往“性能好”的方向跑。2.2 图神经网络让AI理解电路拓扑PCB设计里有个非常麻烦的地方电路不是平铺的网格它是一张拓扑图。芯片是点连线是边而且引脚之间的电气连接优先级还不一样千兆差分对肯定比一根I2C重要。纯卷积网络处理不了这种数据所以Quilter这类工具会引入图神经网络。它把元器件和网络表示成图节点和边通过消息传递机制让每个节点的embedding吸收邻居的信息。经过几层图卷积之后模型就慢慢明白了“这颗DDR控制器后面挂着八片DDR颗粒它们最好围成星形拓扑”这类隐含关系。这是Quilter比传统自动布局器高明一个数量级的原因。传统布局器看到的只是坐标和引脚Quilter看的是电路结构。它不只知道电容和电感离得远不远还知道它们之间走的是DC-DC的高频纹波回路所以不该用那种走钢丝式的连接方式。用生活类比理解的话传统自动布局器像是一个只会看图纸贴标签的搬运工而Quilter像是跟过几个项目组的老师傅知道哪个房间放什么设备、哪个走廊不能走水管虽然它不能像你一样做创造性决策但搬东西的活儿它干得非常靠谱。2.3 为什么是这个时间点涌现Quilter这类工具不是凭空冒出来的。我理解里有三个条件刚好凑齐了。第一深度学习和强化学习的基础设施成熟了。训练一个能处理几百个器件、上千条网络的布局策略需要不小的算力。现在有GPU集群和分布式训练框架成本已经降到团队能承受的范围。第二开源EDA生态给了训练场景。KiCad文件格式开放、封装库可解析Quilter这套方法的训练和验证大多依托KiCad生态完成。模型可以在仿真环境里疯狂生成随机电路题来做强化学习原理类似AlphaGo自己跟自己下棋。第三学术和产业的目光移过来了。芯片后端布局布线早就被AI加持过效果很惊艳。PCB虽然规模小一些但规则更多更杂、工具更落后市场空白反而更大自然有人进场。3. 实操让Quilter接管一轮布局3.1 输入准备网表、封装库与规则约束这段我结合自己实际测试的流程来写。我拿一块之前做过的数据采集板来做验证板卡大概120个器件、800多条网络主芯片是STM32加一颗千兆PHY带一路DDR3L几路ADC采样前端板卡尺寸100乘80毫米四层板。准备工作一共三步。第一步是网表导出。我在KiCad里把原理图导出成netlistQuilter可以直接解析。如果你用Altium、Cadence需要先导出一份中间格式兼容性上会折腾一些这事后头单独说。第二步是封装库准备。AI自动布局的前提是它知道器件的实际占地面积和高度不然碰撞检测就是纸糊的。所以封装库的准确度非常重要。我建议把所有封装都过一遍特别是连接器、继电器这种非规则外形必须建好外形轮廓。第三步是设计规则设定。线宽、线距、过孔内外径、最小铜厚、禁布区、板框坐标这些规则要提前写完整。Quilter不是神仙你不告诉它某块区域不能走线它真会把高速线贴着螺丝孔狂飙。规则越完整AI越靠谱。这里贴一个我习惯的规则片段net_class: - name: DIFF_100OHM trace_width: 0.2mm clearance: 0.15mm diff_gap: 0.18mm max_trace_length_diff: 0.5mm - name: POWER trace_width: 0.5mm clearance: 0.2mm via_pad_annular_ring: 0.25mm如果连M2螺丝孔要留多大的过孔和环宽这种细节都写进去AI在处理定位孔避让时就会靠谱很多。3.2 跑第一轮自动布局给AI留好“自由动作区”准备工作做完就进到自动布局环节。我按工具要求设置了固定件板框四角的螺丝孔、两个USB连接器、一个SD卡座锁定在固定坐标给AI标记成锚点其他器件都可以自由移动。这里有个操作技巧——固定件最好分两步放。第一轮只锁连接器和螺丝孔让AI自由探索主芯片和被动器件的摆放。第二轮等AI出图了再锁DDR的坐标范围因为DDR的位置直接关联PHY的布线长度先让AI试一版你再把DDR区域框定效果比一次性锁死好得多。整个自动布局过程大约耗时40分钟。输出之后我第一时间看三个指标总曼哈顿线长、全局拥塞热力图前5%的位置、DRC预检查报错数量。和原手工布局相比总曼哈顿线长降低了约12%DRC预检查错误从27处减到9处。看起来很漂亮但实际评估时我发现了几个AI生成的“合理但错误”的选择。它把所有去耦电容摆得极其整齐间距完美但有一组电容离DDR电源引脚太远了环路电感明显偏大。这就是奖励函数里“整齐美观”权重过高的副作用。模型在没有指导的情况下会往它自己认为的“好”去靠但硬件里的“好”经常不是视觉上的整齐。3.3 人工精调哪些地方AI做得再快也要改跑完AI布局不是直接让它去布线就完事了。我的流程是紧接着做一个叫“三看一锁”的人工审查。一看电源和地。打开电源平面层叠看有没有被切断的地平面回流路径是否连续。二看敏感信号。模拟输入走线、晶振区域、复位电路这些地方隔离带够不够。三看结构约束。连接器、接插件、测试点与外壳开孔位置是否对齐。一锁是指把审查通过的器件坐标锁死让后续布线阶段去适应而不是反过来再改布局。具体到这块板需要人工调的有三处。ADC输入前的RC滤波网络AI排得很紧凑但输入电容的参考地隔了一道电源分割必须手动挪到完整地平面区域。DDR3L的地址线需要等长窗口我在布局阶段就把T型节点位置用坐标锁定了。还有一个从另一个圆形PCB项目里带过来的教训——圆形板框的局部坐标和矩形坐标不一样AI默认用矩形包络算覆盖容易在圆形边缘留下诡异空隙这种只能人工修正。这里我最大的体会是AI可以帮你完成70%的“辛苦但无趣”的工作剩下30%涉及到产品灵魂的部分人必须参与。布局合理性的“合理”两个字从来不是数学最优而是制造、测试、维护、修理都方便。3.4 迭代循环让AI学会你的风格一次生成不是终点。Quilter这类工具最大的价值在于它能进入“生成—反馈—再生成”的循环。我在第一轮结果里把人工调整过的坐标再喂回模型相当于给AI标注了一批“人类认为理想位置”的样例。再跑一轮原来几个错误选择就被修正了。多轮迭代后模型的表现会明显稳定下来。有点像带了一个新来的实习生你教他两次他会越来越懂你的习惯。这里多说一个经验不要让AI在每次迭代时都从头学。用迁移学习的方式保持模型参数的大头不变只更新规则相关的少部分参数。这样既不会“遗忘”之前学到的布局知识又能适配当前项目的新规则。4. 实际使用中踩过的坑与排查技巧4.1 九个常见问题速查表AI辅助PCB设计还远没到“零操心”的水平。我把测试期间遇到的问题整理成一张速查表这九个问题基本覆盖了大多数人第一次用AI布局时会撞上的墙现象可能原因解决思路敏感器件被摆到电源噪声区奖励函数里SI权重不够增加SI相关项权重或手动锁定敏感器件BGA漏扇出引脚网格分辨率小于fanout间距提高布线网格密度并缩小最小过孔尺寸电源环路面积过大布局时电源平面信息未进入奖励检查电源平面完整性约束并加大惩罚AI布局总倾向于“过分整齐”美观熵权重设置过高降低整齐度奖励权重让功能优先圆形板框边缘出现空隙AI用矩形包络盒做碰撞检测手动打板框锚点并关闭圆边自动布局差分对线长差过大模型不理解差分对内等长预先把差分对设成固定组并加等长约束连接器位置被AI移动锚点未正确标记检查固定件坐标是否写入锁定列表反复迭代后模型变笨学习率过大导致灾难性遗忘降低迭代学习率或只更新少量权重导出到其他EDA后DRC不一致规则库单位或精度不一致统一使用mil或mm重新导入规则文件4.2 两个教训深刻的“翻车现场”展开说两个我印象最深的案例。第一个是反激式开关电源PCB。当时我想试试AI能不能搞定电源板输入数据和规则都给得很完整结果跑出来一版非常“外行”的布局主功率回路走线低效又长反馈采集点离开关节点特别近高压侧和低压侧爬电距离不够。这次让我彻底明白了一件事——凡是涉及高压安全间距、安规、功率回路环路面积这种带“安全”特性的规则现阶段绝对不能只靠AI默认权重。要么在规则库里显式写明各网络间的最小爬电距离要么直接把这个场景排除在自动布局之外。电源设计里的“命”只有一条AI试错的机会不应该给。第二个是数据采集卡的多通道ADC布局。它有16路模拟输入AI自动布局时把16个输入通道的RC滤波器排得特别对称。但它忽略了运放供电旁路电容的位置导致每次AI生成后通道之间的串扰都要靠人工返工。后来我给每路模拟链路的旁路电容加上“跟随运放电源引脚”的规则约束再让AI跑就正常多了。这类问题的根源是我输入约束时只写了宏观规则忘了把网络分组关系告诉它。4.3 别忘了板厂视角最后的排查环节千万别漏了与板厂的制程规则对齐。线宽线距只是最基础的一项还有铜厚、内层间距、过孔环宽、阻焊桥宽度、字符线宽这些细节。有一次PCB打样AI生成的布局连过去之后板厂直接报了两处问题一个0.3毫米过孔的环宽小于厂里要求的最小预留值还有一处圆形板边缘的铜皮距板框只有0.18毫米低于工艺要求。遇到这类问题不要慌。先在布局阶段就加载板厂提供的DFM规则文件如果工具不支持导入至少人工把“板框内缩区域”加到禁止布线区里。这一点比所有AI技巧都重要。你再强的模型也架不住板厂的规则没对齐。5. 工具选型与EDA工作流融合5.1 开源落地与商业闭源之争现在市面上能看到两类AI辅助PCB设计工具。一类是开源体系里的比如和KiCad深度绑定的强化学习布局脚本Quilter这套方法的相关实现大多依托KiCad生态另一类是商业EDA大厂正在做的闭源AI模块。开源路线的优势是透明可控。你能看到它是怎么解析封装库的能自定义奖励函数坏处是学习和集成成本高你得懂一点Python和工具链配置。闭源路线的好处是用起来省心坏处是决策不透明、二次开发接口少、数据也拿不出来。我在测试时的选择是优先用开源生态的版本因为它允许我把项目的规则约束写成配置文件沉淀下来。这个配置文件我后面在Altium、嘉立创EDA上也试过思路完全一致——把所有规则显式化而不是依赖EDA默认值。另外提一句如果你现在还在用嘉立创EDA画PCB它的规则设置和布局插件已经比较顺手了但AI辅助布局能力还比较基础。好消息是层叠、过孔、间距这些基础参数设置很直观很适合拿来当AI工具的“结果验证平台”。5.2 不同项目画像下Quilter的适用性评估不是所有板子都适合AI。我总结了一张适用性对照表给你参考项目类型复杂度AI辅助布局收益风险点大规模数字接口板高高明显节省时间电源完整性与高速信号规则要预写数据采集卡中高中高布局省心但需人工验证模拟链路模拟地分割需人工确认无刷电机驱动板中中功率回路需约束功率环路面积和过孔载流是关键反激式开关电源中高不建议自动布局安规间距和爬电距离风险高高精度模拟板高低AI难以理解地箱和寄生参数只建议局部辅助不建议全自动单面或双面简单板低低手动更快AI流程成本反而偏高表里的结论不是绝对的主要看你的规则库完善程度。如果你能把“MOSFET开关节点禁布”“过孔载流按2安培每0.5毫米计算”“模拟地和数字地单点连接”这种工程经验全部写成规则那电源板和驱动板也可以大胆交给AI出第一版。5.3 团队落地建议从POC到常态化最后聊聊怎么在团队里推动这类工具落地。顺序很重要。先跑一个内部POC选一个中等复杂度的老项目复盘把“AI生成第一版加人工精调”和“纯人工从头画”的时间对比测出来。我们测得的结果是在规则库完整的前提下AI能让整体PCB设计周期缩短大概30%前提是第一次规则库建设会额外花掉一两天。规则库是整个过程的核心资产。我建议团队里指定一名资深工程师专门维护这套规则库把项目里的惯用设计规则、板厂制程参数、历史问题沉淀成配置文件随着项目迭代不断更新。规则的颗粒度越细AI的表现越接近团队里那位高水平工程师。6. 从Quilter到更远的AI硬件设计6.1 从单点工具到多AI协作Quilter让我觉得最有意思的不是PCB布局布线本身而是它打开了整个硬件设计链路的想象力。今天你已经在很多环节看到“小AI”了。原理图审查用AI做规则检查器件选型用AI检索替代料DFM用AI预扫描制造问题测试程序甚至可以让AI智能体基于错误日志自动生成排查脚本。这些工具的输入输出如果串起来前端原理图定义的目标可以自动传导给布局布线AI再传导给DFM AI就是一个“多AI协作”的硬件设计流水线。有点类似于你同时带了好几个不同专长的实习生他们分别负责不同模块最后在总工程师这里汇合验收。未来画面大概是你丢一段规格书给系统AI自动完成器件选型、原理图架构建议、PCB第一版布局、DFM报告同步产出人只需要在每个关键节点拍板。Quilter就是这条链路上最扎实的一块试验田。6.2 硬件工程师的新技能树面对这个趋势有些硬件工程师开始焦虑。我的态度是别慌AI没有抢走你最重要的东西——跨领域决策能力。真正该更新的是技能树。第一把工具链的输入输出玩明白。你至少要会导出网表、写规则文件、解析DFM报告。第二学会给AI“提需求”。这有点像编程里的提示词工程但硬件领域更准确的说法是“约束工程”。你写在约束文件里的每一行都是在跟AI沟通你的设计意图。第三深挖交叉领域。懂一点有限元、热仿真、信号完整性会让你在评审AI结果时比别人多一双眼睛。之前有人拿AI编程提示词来对比说以后硬件设计也需要类似的提示词工程。我的看法是硬件的提示词没法像编程那样写两句人话就生效它必须变成结构化规则但方向确实一样让AI替你执行你负责定方向和验收。最后说点个人的体会。我一开始接触Quilter时也是抱着试一试的心态觉得AI再强也画不出能过EMC的板子。经历了三轮项目验证之后我现在的看法是AI在PCB上最大的价值是帮工程师把那70%的“确定但繁琐”的工作吃掉把精力留到百分之百需要人的判断的地方。而判断能力恰恰是这一行永远不会被替代的部分。如果你也想试我建议从一块几十个器件的中小型小板开始别一上来就拿几十瓦的电源板考验它。把规则文件写细一点跑几个版本之后你就会发现“AI生成、人工拍板”这个工作流可能真的就是PCB设计未来几年的标准答案。个人实用建议在你自己最懂的那个板卡领域收集至少三个旧项目的规则和布局结果作为AI模型的验证集。让AI先复现你过去的设计你才能在一个个“它哪里做对了、哪里做错了”的细节里建立对这套工具的信任——这也是我和团队每个成员聊到Quilter时都会提到的第一步。
返回列表