1. 项目概述为什么扇出是PCB设计的关键一步在高速、高密度的PCB设计中扇出Fanout操作是连接芯片封装焊盘与外部走线的桥梁它直接决定了布线通道的通畅性、信号完整性的优劣以及最终板卡的良率。对于使用Cadence Allegro 16.6的工程师来说熟练掌握扇出不仅仅是会点几下鼠标而是理解其背后的设计约束、信号需求与制造工艺的综合体现。很多新手面对BGA球栅阵列封装密密麻麻的焊盘时会感到无从下手而老手则能通过合理的扇出策略为后续的布线工作铺平道路甚至规避潜在的电磁干扰EMI和散热问题。Allegro 16.6作为一款经典的PCB设计工具其扇出功能强大但参数繁多。本文将从一个资深Layout工程师的视角深入拆解Allegro 16.6中的扇出操作。我不会仅仅罗列菜单点击步骤而是会结合高速设计规则、可制造性要求DFM以及我个人在多次投板中积累的经验教训带你理解每一个参数设置背后的“为什么”。无论你是正在从Altium Designer转向Allegro还是希望提升在现有项目中的布线效率这篇内容都将提供从理论到实操的完整参考。2. 扇出操作的核心思路与策略选择在动手点击“Fanout By Pick”之前我们必须先有清晰的策略。盲目的扇出只会制造混乱让后续的布线工作陷入僵局。2.1 理解扇出的本质逃逸布线扇出本质上就是“逃逸布线”Escape Routing。它的核心任务是将BGA封装内侧焊盘的信号通过过孔引导到焊盘阵列以外的区域为后续的常规布线创造空间。因此扇出策略的制定需要优先考虑以下几个维度BGA焊盘间距Pitch这是决定扇出方案的首要因素。常见的Pitch有1.0mm 0.8mm 0.65mm 0.5mm 0.4mm等。Pitch越大可用的布线通道越宽裕Pitch越小设计难度呈指数级上升。过孔尺寸与焊盘尺寸你需要使用的过孔Via的焊盘直径Pad Diameter和钻孔直径Drill Diameter必须能与BGA焊盘共存于有限的间距内。这涉及到设计规则Design Rule中关于焊盘到焊盘Pad to Pad以及焊盘到线Pad to Line的间距约束。信号类型与分组并非所有焊盘都需要同等对待。电源Power、地GND和信号Signal的扇出策略往往不同。电源和地可能需要多个过孔并联以降低阻抗高速信号则需要考虑过孔带来的阻抗不连续性和回流路径。2.2 两种主流扇出策略详解根据BGA的Pitch和板层结构主要有两种扇出策略策略一盘中孔Via in Pad这是针对极细间距BGA如0.4mm及以下的常用方案。直接将过孔打在BGA的焊盘上然后在过孔内进行树脂塞孔和电镀填平处理。这样做最大化了布线空间但工艺复杂成本高昂。Allegro操作关联这通常不是在扇出阶段直接完成的而是在创建封装时就将过孔作为封装的一部分设计进去。在Allegro中布线时直接从焊盘中心引出即可。注意事项必须与PCB板厂提前确认其是否具备树脂塞孔和电镀填平能力以及相应的工艺要求和额外费用。策略二焊盘间扇出Fanout between Pads这是最经典和通用的方式。过孔打在四个BGA焊盘之间的中心区域。根据出线方向又可分为十字扇出过孔位于四个焊盘中心走线先向上/下/左/右引出至过孔再从过孔向外层逃逸。这是最规整、最节省空间的方式。偏移扇出当过孔无法严格居中时根据布线通道微调过孔位置为特定方向的走线让出空间。在Allegro 16.6中我们主要针对焊盘间扇出进行自动化或半自动化操作。理解这些策略后我们才能正确配置软件参数。3. Allegro 16.6 扇出功能详解与参数配置Allegro的扇出功能并非一个简单的“一键完成”魔法而是一个需要精细调校的自动化工具。其核心命令是Route - Fanout By Pick。3.1 扇出参数设置面板深度解析点击Fanout By Pick后右侧控制面板Options会出现一系列参数。每一个参数都至关重要Fanout Direction扇出方向Inside向内扇出。适用于当BGA周边有足够空间或希望将信号引向芯片内部区域的情况较少用。Outside向外扇出。最常用的选项。将过孔和走线引向BGA封装的外部区域为后续布线腾出板边空间。Both Sides双向扇出。仅在特殊情况下使用容易造成混乱。Via Direction过孔方向North/South/East/West指定过孔相对于焊盘的方向。例如选择“East”意味着所有扇出过孔都放置在焊盘的东侧右侧。对于规整的十字扇出通常不指定而是由“Via Grid”来控制。Auto让软件自动选择最优方向。这是推荐的首选软件会根据可用的布线通道自动判断。Pin-Via Space引脚-过孔间距这个值必须严格遵守你设定的设计规则约束Constraint Manager中的Pin to Via间距。一般会设置得比规则最小值稍大一点例如规则是6mil这里可以设8mil留出余量。盲目使用默认值可能导致DRC设计规则检查错误。Via Grid过孔栅格这是实现规整十字扇出的关键参数它强制过孔放置在指定的栅格上。栅格值通常设置为BGA Pitch的一半。计算示例对于一个Pitch为1.0mm约39.37mil的BGA为了将过孔打在四个焊盘中心那么过孔之间的间距也应是1.0mm。因此过孔栅格可以设置为0.5mm约19.685mil。这样过孔就会精确地落在焊盘阵列的“十字路口”上。操作在Via Grid输入框内直接输入“19.685”并确保后面的单位是“Mils”。Overrides覆盖项Pin Types选择需要扇出的引脚类型。通常只选择“Signal”信号引脚。务必取消勾选“Power”和“Ground”电源和地网络的扇出通常需要手动处理因为它们可能需要多个过孔、更宽的线宽或特殊的连接方式如连接电源平面。Net Filter可以通过网络名过滤只对特定网络扇出灵活性很高。3.2 实操流程对一个BGA器件进行扇出假设我们有一个0.8mm Pitch的BGA需要向外扇出。前期准备确保已经正确设置了设计规则尤其是Pin to PinPin to ViaLine to Via的间距规则。设置合适的布线栅格Etch Grid和过孔栅格Via Grid。建议将布线栅格设为0.1mm约4mil过孔栅格设为0.4mm约15.75mil即Pitch的一半。在Setup - Design Parameters - Design中将“Angle”调整为“90”因为扇出通常只允许水平和垂直方向。执行扇出点击Route - Fanout By Pick。在右侧Options面板进行如下设置Fanout Direction: OutsideVia Direction: AutoPin-Via Space: 根据规则例如输入“8”单位milVia Grid: 输入“15.75”单位milOverrides - Pin Types: 仅勾选“Signal”将鼠标移动到PCB上的目标BGA器件上单击鼠标左键。Allegro会自动为所有信号引脚生成扇出过孔和一小段引出线。结果检查使用Display - Element命令点击一个过孔查看其属性和网络连接是否正确。使用Tools - Quick Reports - DRC Report快速检查是否有因扇出产生的间距违规。放大观察BGA角落和边缘的扇出是否规整有无过孔过于拥挤或通道被堵死的情况。注意第一次扇出后很可能不完美。特别是边缘的引脚软件可能无法找到合适的扇出路径而跳过。这时需要手动处理这些“钉子户”。4. 高级技巧与手动优化处理扇出“钉子户”自动扇出能解决80%的问题但剩下的20%需要工程师手动干预这恰恰是体现水平的地方。4.1 手动扇出与布线调整对于自动扇出失败或效果不佳的引脚需要手动操作手动打孔并连线使用Add Connect快捷键F3命令点击BGA焊盘开始走线。在走到合适位置时通常是在焊盘间隙中心右键选择Add Via或使用快捷键F4放置一个过孔。继续将走线引出到BGA外部区域。手动操作时务必按住“Shift”键来强制走线角度为90度保持整齐。利用复制粘贴如果一个区域的扇出模式是重复的例如一列引脚都是向上扇出可以手动做好一个然后使用Copy命令在Options面板选择Repeat模式快速复制到其他相同位置的焊盘上极大提高效率。优化过孔排列对于电源/地引脚可能需要放置多个过孔阵列。可以使用Place - Via Array功能在焊盘附近放置一个过孔矩阵然后手动用铜皮Shape或粗线将其连接至焊盘。4.2 电源与地网络的特殊处理电源和地的扇出决不能依赖自动功能必须手动精心设计降低阻抗电源网络需要极低的直流阻抗。对于BGA下的核心电源如VCORE通常会在焊盘旁直接放置一个由多个过孔组成的阵列例如2x2 3x3这些过孔直接打到内层的电源平面上。提供充足回流路径每一个信号过孔附近 ideally 都应有对应的地过孔为高速信号提供最短的回流路径。这就是“地孔伴随”策略。在扇出时要有意识地在信号过孔群中穿插放置地过孔。使用局部覆铜在BGA区域表层通常会对电源和地网络进行局部覆铜Local Shape将多个散落的过孔连接起来进一步增强载流能力和屏蔽效果。在Allegro中使用Shape - Polygonal命令为特定网络绘制铜皮。4.3 扇出后的通道规划扇出完成并不意味着结束要站在全局视角审视评估布线通道观察扇出过孔排列形成的“通道”。计算一下在两个过孔之间能通过几根多宽的信号线这决定了后续布线的可行性。为差分对预留空间如果BGA有差分信号如USB PCIe HDMI需要在扇出阶段就为它们预留并肩出线的空间。差分对的两根线需要保持等宽等距所需的通道宽度比单线要大。考虑测试点与丝印扇出区域是否过于密集导致没有空间添加后期维修所需的测试点器件丝印是否会被过孔覆盖这些DFM可制造性设计问题需要在早期规避。5. 常见问题排查与实战心得这里分享一些在项目实战中踩过的坑和总结的技巧这些在官方手册里往往找不到。5.1 扇出失败或报错排查清单问题现象可能原因解决方案点击BGA后毫无反应无过孔生成1. 未选中器件Find面板中未勾选“Symbols”2. 所有引脚类型如Power都被过滤掉了3. 设计规则中Pin to Via间距设置过大无解空间1. 检查Find面板确保勾选“Symbols”。2. 检查Options面板Pin Types过滤条件。3. 检查并适当调整Pin to Via规则或尝试手动扇出一个看空间是否真的不足。扇出过孔位置混乱不整齐1.Via Grid设置错误或未设置2. 当前设计的Etch Grid布线栅格过大1. 精确计算并设置Via Grid为Pitch的一半。2. 将Etch Grid设置为更小的值如1mil。大量DRC间距错误1.Pin-Via Space设置值小于设计规则约束2. 使用的过孔焊盘尺寸过大与BGA焊盘间距冲突1. 将Pin-Via Space设置为大于等于规则最小值。2. 更换为更小尺寸的过孔需评估工艺能力。电源/地引脚也被自动扇出Overrides - Pin Types中勾选了“Power”和“Ground”取消勾选“Power”和“Ground”仅对信号引脚进行自动扇出。扇出线不是直角是斜线设计参数中的“Angle”未设置为“90”进入Setup - Design Parameters - Design将“Angle”从“Any angle”改为“90”。5.2 个人实战心得与技巧“分而治之”策略对于非常大的BGA例如超过1000个引脚不要试图一次对整个器件扇出。可以先框选一部分区域使用Temp Group进行扇出成功后再处理下一部分。这能降低软件计算负担也方便你分区域检查。扇出前锁定已布线如果板上已有其他部分布好的线在扇出前最好使用Fix命令或Property里添加FIXED属性将这些走线锁定防止自动扇出时移动或推挤它们。善用“Undo”扇出是一个试错过程。如果对一次扇出的结果不满意立即CtrlZ撤销调整参数特别是Via Grid和Pin-Via Space后再试。不要试图在糟糕的结果上手动修改那会更耗时。与结构工程师沟通BGA下方区域是否允许放置过孔有时因为机械支撑或散热要求BGA中心区域是“禁布区”。扇出前必须确认这些机械约束避免返工。扇出是迭代过程第一版扇出完成后在后续布线过程中可能会发现某些通道规划不合理。这时需要果断删除局部扇出重新调整过孔位置。不要将就一个糟糕的扇出会连锁导致整个布线阶段的痛苦。扇出操作是PCB布局布线中承上启下的关键一环。在Allegro 16.6中它结合了规则的严谨性与操作的灵活性。掌握它没有捷径就是理解原理、大胆尝试、细心检查、勤于总结。每次完成一个复杂BGA的扇出并看到整齐的过孔阵列时那种满足感正是这份工作的乐趣所在。希望这些从实际项目中沉淀下来的细节能帮助你更高效、更自信地驾驭手中的设计。