画了几年板子,每次帮新人看 Allegro 焊盘设置,十有八九都会在 Regular Pad、Thermal Relief、Anti Pad 这三列上翻车。说实话这不怪大家,Padstack Editor 里三列长得几乎一样,都是 Circle、Flash、Rectangle,可一旦填错,轻则内层平面连接不上、DRC 报一串错,重则电源平面直接隔离失效,板子回来才发现问题。这篇文章我就把这三个“Pad”背后的逻辑彻底掰开讲清楚,带你把正片层和负片层那点事弄明白,再手把手走一遍 Padstack Editor 的完整配置流程。不管你是刚接触 Allegro 的板级新人,还是被负片层 DRC 折磨过几轮的中级选手,这篇都值得收藏。
1. 先搞懂正片层和负片层:这三个 Pad 的一切分歧都从这里来
很多人把 Regular Pad、Thermal Relief、Anti Pad 当成三种并列的“焊盘样式”去背,这是最大的误区。实际上,它们服务于完全不同的工作场景,而且一个比一个依赖“这层是正片还是负片”这个大前提。不先把正片层、负片层搞清楚,后面所有参数都只能靠死记硬背,换块板子的封装库就废了。
1.1 正片层:你画什么,铜就是什么
所谓正片层,就是你在 Allegro 里看到的绝大多数布线层:TOP、BOTTOM,以及内部走线层,它们都是正片层。正片层遵循“所见即所得”的规则,你画一根线,铜就是这根线;你铺一个 Shape,铜就是这个 Shape。焊盘在正片层上的表现形式,就是 Regular Pad 这个“本体”,也就是你绕着引脚画出来的那一圈铜。
1.2 负片层:你画“空洞”,其他地方全是铜
负片层这个概念,在很多只画过双面板的新人眼里是完全陌生的。负片层主要用于电源和地平面,比如四层板的 GND02、PWR03。它的特点是你不需要真的铺一大块铜,因为整层默认都是铜,你要做的是在 Padstack 里告诉 Allegro:“这里给我挖掉一块。”“那里不要铜。”所以负片层里定义的形状本质上是“反焊盘”和“花焊盘”这些空洞和连接结构,而不是实际的铜皮。
正是这种正负差异,才让 Allegro 的 padstack 里出现了三列不同用途的参数:
| Pad 类型 | 正片层作用 | 负片层作用(引脚与平面同网络) | 负片层作用(引脚与平面不同网络) |
|---|---|---|---|
| Regular Pad | 实际焊盘铜皮、DRC 判定基础 | 基本不参与平面连接计算 | 不参与隔离计算 |
| Thermal Relief | 一般不使用 | 用花焊盘形成“导电但隔热”的连接 | 不使用 |
| Anti Pad | 一般不使用 | 不使用 | 挖出完整圆孔,彻底隔离 |
1.3 一句话记住三兄弟分工
Regular Pad 是“焊盘本体”,负责正片层的真实铜皮;Thermal Relief 是“带辐条的花焊盘”,负责负片层同网络的连接;Anti Pad 是“圆形隔离窗”,负责负片层异网络的隔离。正片层看 Regular,负片层同网络看 Thermal,负片层异网络看 Anti——这三句话能解决八成使用困惑。
2. Regular Pad:焊盘的本体,也是所有尺寸判定的起点
Regular Pad 是三个里面最好理解的一个,但恰恰是最好理解的东西,很多人反而容易忽略它的细节。它是你最终能从板子上摸到、看到、焊上锡的那圈导体,是所有焊盘形状的“基本面”。
2.1 SMD 焊盘:Regular Pad 就是整个焊盘
对于贴片焊盘,比如 0603 电阻、QFN 封装,Regular Pad 就是你在对应器件丝印下看到的那个矩形或圆形焊盘。在 Padstack Editor 里新建 Single(表面贴装)类型时,你只需要在 BEGIN LAYER(顶层)把 Regular Pad 的长宽填对,Thermal Relief 和 Anti Pad 一般直接留成 Null 就行,因为贴片焊盘没有钻孔,不会穿越内层平面。
贴片焊盘的尺寸怎么定?别自己拍脑袋,优先参考封装厂商的数据手册和 IPC-7351 推荐的 Land Pattern。以 0603 为例,常见推荐焊盘大小约是宽度 0.85mm、长度 0.95mm 附近,具体取决于元件端子宽度和焊接工艺。0201 这类超小封装,焊盘建议尺寸会明显受钢网开口和端子尺寸影响,更要严格照数据手册来,随意套用大封装的“余量思维”很容易引发立碑和虚焊。
2.2 通孔焊盘:Regular Pad 是“环宽”的保证
对于通孔插件,Regular Pad 除了决定外径尺寸,还保证了焊盘的环宽(Annular Ring)。所谓环宽,就是从钻孔壁到焊盘外边缘的铜环宽度,它是通孔焊盘可靠性的核心指标。
工程上常用的估算公式是:
- 常规通孔插件:焊盘外径 = 钻孔直径 + 0.4~0.6mm(也就是每侧环宽 0.2~0.3mm)
- 高密度板或板厂能力一般时:环宽至少 0.15mm,对应焊盘外径 = 钻孔直径 + 0.3mm 起步
举个例子,一个 0.8mm 的插件孔,常规焊盘外径我会做到 1.3mm 左右,也就是每侧环宽 0.25mm,这样既好焊接,也给了板厂钻孔对位一点余量。如果你做 0.6mm 的细孔,焊盘外径做到 1.0~1.2mm 是常见区间。
还有一个容易被忽略的点:Regular Pad 的形状不一定只有 Circle。很多新人会在焊盘 1 脚做方形标记,这个没问题,Allegro 支持 Circle、Square、Rectangle、Oblong、Oval 多种几何形状。方形焊盘除了当标识,有时候也用在机械定位孔或者需要防转的结构焊盘上。但不管用什么形状,Keep in mind:负片层的 Anti Pad 和 Thermal Relief 要以能完整覆盖这个形状为前提,否则会出现“局部隔离不全”的怪问题。
2.3 Regular Pad 在负片层还有一个隐藏作用
虽然负片层主要看 Thermal Relief 和 Anti Pad,但 Regular Pad 并不是毫无用处。负片层做 DRC 检查时,很多规则计算依然会参考 Regular Pad 的尺寸,比如引脚到铺铜的间距、引脚到引脚的空洞距离等。另外,如果你在一层设置成正片的电源内层(有些人喜欢用正片铺铜代替负片平面),那 Regular Pad 就是这层铜皮与器件引脚连接的基础。所以别因为它是“本体”就觉得它只属于顶层。
3. Thermal Relief:花焊盘的“花”到底是怎么开出来的
Thermal Relief 大概是三个概念里劝退最多新人的坑。第一次在 Allegro 里看到“Flash”这个选项,再点击加载一个名为 flash45 的符号进来,很多人直接懵了:我的焊盘怎么变成一个十字形的奇怪东西?这个十字,就是花焊盘的核心。
3.1 为什么要弄出“辐条”而不是整片连过去?
想象一下:一个插件引脚直连到整层都是铜的 GND 平面。如果引脚四周和平面完全无缝衔接,这个 GND 平面就变成了一个巨大的散热器。你拿烙铁或波峰焊去焊这个引脚时,热量会顺着铜皮瞬间被吸走,焊盘半天达不到焊接温度,锡膏或锡丝很难吃满焊盘,最终形成虚焊、冷焊点。
Thermal Relief 的解决方案,是在焊盘周围挖一圈空隙,再留出 4 条(或更多)窄辐条把焊盘和平面连起来。这样既保证了 DC 电气连接,又大幅缩小了热传导截面积。你可以把它理解成一条河上的几座桥:过河只能走这几座桥,车流量(热量)就受限了,但人和车(电流)依然能通过。
3.2 Flash 符号与几个关键尺寸
花焊盘在 Allegro 里不是一个简单圆环,而是通过 Flash 符号实现的。你需要先在 PCB Symbol Editor 里创建一个 Flash 符号,用到的参数包括:
- 外径(Outer Diameter):决定花焊盘在平面层挖出的空隙最外圈,也就是平面铜皮重新出现的位置
- 内径(Inner Diameter):决定贴近引脚/钻孔的空隙内圈
- 辐条宽度(Spoke Width):就是那几座“桥”的宽度
- 辐条数量(Number of Spokes):常用 4 个,大电流场合可以做到 6 或 8 个
- 辐条角度(Spoke Angle):常见 45° 或 90°
举个例子,0.8mm 钻孔、Regular Pad 做到 1.3mm 的通孔焊盘,我会把 Flash 做成:外径 1.8mm、内径 1.0mm、辐条宽度 0.3mm、4 条辐条、45°。这里外径必须同时满足平面到网络的安全间距要求,内径则要保证钻孔壁和平面之间有一定空隙,辐条宽度按电流需求来,常规信号 0.25~0.4mm 都算常见,大电流电源网络可以放宽到 0.5mm 以上。
3.3 什么时候必须用 Thermal Relief
只要这层是负片层,并且这个引脚所属的网络和该平面网络一致,Allegro 就会去找 padstack 里的 Thermal Relief 定义。如果你没定义,很多设计系统会默认使用 Anti Pad 挖一个完整的圆孔,结果就是引脚根本没有连接到平面,电源/地网络在内层断掉,电气上完全是开路。这种问题在 DRC 里未必能一眼看出来,等你做电源完整性仿真或板子实测时报电压不对才发现,那就真的晚了。
现在的板级工程师普遍都会建一个“统一库”,把所有通孔元件和过孔的 padstack 都配上 Thermal Relief。你要是发现自己从某个旧板子复制过来的 padstack 在负片内层没法连接,第一反应就应该是打开 Padstack Editor,检查 Default Internal 里 Thermal Relief 是不是 Null。
4. Anti Pad:负片层里的“安全隔离墩”
Anti Pad 这个名字容易让人误解,听起来像是指“焊盘的反面”,其实它跟镜像、反面都没关系。它是负片层上用来做隔离的圆形空洞,作用是让一个与平面网络不一致的引脚,和平面之间没有任何金属连接。
4.1 隔离的原理:挖一个比焊盘更大的圆孔
在负片层上,如果某引脚的网络和平面网络不同,比如一个信号网络穿过电源平面层,这个过孔肯定不能和电源平面短接。Allegro 会以这个过孔的焊盘为圆心,按照 Anti Pad 设定的直径,在平面层上挖出一个完整的圆孔,把过孔和周围铜皮彻底隔开。
这个“挖孔”的尺寸直接决定了电气安全间距。常规低压数字板,Anti Pad 通常比 Regular Pad 每侧大 0.2~0.3mm,也就是 Anti Pad 直径 = Regular Pad 直径 + 0.4~0.6mm。还是 0.8mm 钻孔、1.3mm 焊盘的例子,Anti Pad 做成 1.7mm 是比较稳的。要是这块板子有高压电源平面,比如 220V 或更高的电位差,那隔离间距就不能只看常规值了,得按安规标准去放,甚至要留到 0.5mm 以上。
4.2 Anti Pad 做小的后果
我见过一个真实案例:新同事做一个四层板,电源平面用负片,信号过孔穿过电源层时,Anti Pad 只留了比钻孔大 0.2mm,等板厂加工回来,实测发现好几个过孔和电源平面短接。查了半天才明白,钻孔有公差、层间对位也有误差,Regular Pad 本身就比钻孔大一圈,Anti Pad 又没包住整个 Regular Pad,结果铜皮在边缘处“漏”到了过孔上。这种问题只靠屏幕上看并不明显,因为负片层的显示逻辑本来就反直觉。
所以我在设 Anti Pad 时有一条底线:Anti Pad 直径至少要比 Regular Pad 大 0.3mm 以上,并且最好预留板厂 ±0.05~0.1mm 的层偏补偿。遇到机械孔、压接孔这些应力比较大的孔,Anti Pad 还要再放宽一些。
4.3 什么时候可以不用 Anti Pad
有些封装库会偷懒,给所有通孔焊盘的 Anti Pad 都填同一个值。这样做一般不会出大错,但会过度占用平面层的布铜面积。如果某些引脚本来就只走正片层、永远不可能和某个负片平面共用同一层,那 Anti Pad 尺寸不用刻意放大太多。不过,考虑到工程上大多数板子都会换层,最简单可靠的做法还是:所有通孔 padstack 都统一给一个合理的 Anti Pad,别去赌某个引脚“永远不会遇到负片平面”。
5. Allegro Padstack Editor 实战:通孔焊盘与 SMD 焊盘一步一步配
理论讲完,上实操。这部分我用 Allegro 17.x 的 Padstack Editor 界面走一遍,16.6 和 17.2 的界面布局大同小异,照着找就行。
5.1 创建通孔焊盘
打开 Padstack Editor,File > New,Type 选择 Through Hole,然后按下面步骤配置。
第一步:设置 Drill Hole。这是钻孔相关的参数,按你实际需要的孔径填。比如插件电阻引脚直径约 0.6mm,为了能顺利插入,钻孔孔径我会给 0.8~0.9mm,再按板厂能力微调。Plating 选 Plated(金属化孔),如果是定位孔或非金属化结构孔,选 Non-Plated。
第二步:设置 Drill Symbol。这只是屏幕显示用的符号,不是实体铜,随便选一个能在库里找到的就行,比如 Circle。它决定你在版图上看到的钻孔符号,不影响实际制造。
第三步:设置 Design Layers。这是最关键的界面。对于通孔焊盘,需要设置三层:Begin Layer(顶层)、Default Internal(内层全连通结构)、End Layer(底层)。每一层都有三列:Regular Pad、Thermal Relief、Anti Pad。
假设钻孔 0.8mm:
| 参数 | 尺寸/形状 |
|---|---|
| Regular Pad(正片焊盘) | Circle,直径 1.3mm |
| Thermal Relief(花焊盘) | Flash,选择一个已建好的 Flash 符号,尺寸参考外径 1.8mm、内径 1.0mm、辐条 0.3mm |
| Anti Pad(隔离孔) | Circle,直径 1.7mm |
在 Padstack Editor 的界面里,Thermal Relief 一栏的 Geometry 选 Flash,然后从库浏览器里选择你建好的 Flash 符号。这个 Flash 符号是独立的 .fsm 文件,建议提前在封装库里统一建好,命名为类似 TR_08D18_04D30 这种能直接读出参数的自解释名字。
第四步:设置 Solder Mask 和 Paste Mask。Solder Mask(阻焊)是开窗尺寸,一般比 Regular Pad 大 0.1mm 每侧,也就是 1.3mm 的焊盘可以开 1.5mm 的阻焊窗。Paste Mask(钢网)主要给贴片用,通孔焊盘如果不需要波峰焊锡膏,可以不建。
5.2 创建 SMD 焊盘
SMD 焊盘的流程简单很多。新建时 Type 选 Single,Drill Hole 全部留空。
仍然以 0603 为例,假设元件端子宽度、长度决定焊盘推荐尺寸为 0.85mm × 0.95mm:
- Begin Layer:Regular Pad 选 Rectangle,Width = 0.85,Height = 0.95
- Thermal Relief:留 Null
- Anti Pad:留 Null
- Solder Mask Top:Width = 1.05,Height = 1.15(每侧大 0.1mm)
- Paste Mask Top:Width = 0.75,Height = 0.85(钢网开口比焊盘略小,能减少锡珠和立碑概率)
很多人到了这一步又犯迷糊:SMD 焊盘是不是也要在 End Layer 再配一套?不用。Allegro 对 SMD 焊盘的处理方式是放到顶层时用 Begin Layer,翻转到底层时软件会自动镜像适配。你如果非要在 End Layer 再填一套一样的,问题也不大,但纯属多余。
5.3 过孔(Via)的 padstack
过孔本质上就是一个小型通孔焊盘。比如一个 0.3mm 钻孔的信号过孔,Regular Pad 外层可以做 0.6mm 或 0.65mm,Thermal Relief 和 Anti Pad 同样按规则给。需要特别提醒的是大电流电源过孔。
很多人纠结电源过孔到底用不用 Thermal Relief。如果是正片电源层,你可以在 Shape 的属性里控制连接方式是 Full Connect 还是 Thermal Relief,这个和 padstack 里的 Thermal Relief 无关。如果是负片电源层,padstack 里的 Thermal Relief 直接决定了连接形态。大电流场景我一般会适当加宽辐条、增加辐条数量,而不是直接把 Thermal Relief 做成实心全连接。全连接看起来导流好,但焊接、返修时热量全整层跑,实际工程中很少有公司会为过孔专门追求负片层的全连接。真需要极低阻抗直连,我会优先改用正片铺铜处理这一块。
5.4 配置完成后怎么验证
Padstack 最好别只靠“看着对”,我习惯做一套快速自检:
- 选一个焊盘,右键 Show Element,查看 padstack 名称和使用的层,确认 Thermal Relief 列引用的 Flash 符号确实是你要的那一个。
- 在 Padstack Editor 里 File > Check,跑一遍自带检查,看有没有缺失项。
- 出 Gerber 前,用 Artwork 生成对应负片内层的预览,放大看关键电源/地网络上的几个关键引脚,确认花焊盘的辐条方向、宽度都符合预期。
6. 新手最容易翻车的几个坑:我当年全都踩过
最后这部分是写给被负片层折磨过的同路人。以下几个问题,我见过的频率极高,而且大多不是一眼能看出来的逻辑错误。
6.1 Thermal Relief 没建 Flash,负片层“看着有铜,实际没连接”
最常见的问题,就是 padstack 的 Thermal Relief 列选了 Null 或选了 Circle。如果你选了 Circle,Allegro 会把它当成一个圆形空洞,和 Anti Pad 没有本质区别;如果你选 Null,负片平面上这个引脚就会完全失去连接规则。这两种情况导致的后果是同一个:引脚和平面断开。
检查方法很简单,打开内层平面显示,用 Show Element 看这个引脚的 padstack,然后在 Artwork 里单独跑一层负片内层的光绘预览。如果预览里这个引脚周围只有完整圆形空洞、没有任何辐条,那不用怀疑,Thermal Relief 一定没配对。
6.2 Anti Pad 被机械地复制成和 Regular Pad 一样大
很多封装库是从旧项目拷出来的,Anti Pad 尺寸和 Regular Pad 完全一样。这在正片层没有任何问题,但在负片层就是定时炸弹。负片层挖孔时,如果挖掉的区域和引脚本身一样大,制造时的任何一点对位偏差都会让引脚边缘和平面铜皮短接。
我的习惯是给 Anti Pad 留至少 0.2mm 的每侧余量,也就是直径比 Regular Pad 大 0.4mm 以上。不要嫌它占面积,电源平面的布通率靠的是合理分割和网络布置,不是靠把隔离孔压到极限。
6.3 把负片层的概念套到正片层
有些新人理解了 Thermal Relief 的功能后,跑到 TOP 层也把 Regular Pad 改成了花焊盘形状,结果实物焊盘出来就是一个带缺口的圆环,完全没法用。记住,正片层上的焊盘就是 Regular Pad 的形状,Thermal Relief 和 Anti Pad 不会出现在正片层上。Allegro 的三列参数是共存于一个 padstack 里的,它们的激活与否由层属性决定。
6.4 不同层叠结构的 padstack 相互混用
两块板子的层叠完全不一样,一块是双层板,一块是六层板,有人直接把双层板的 padstack 库搬到六层板项目里用。结果内层电源平面上,所有过孔都出现了连接异常或者隔离异常。原因是双层板的 padstack 可能只有 Begin Layer 和 End Layer,Default Internal 是 Null,而六层板的内层平面正是靠 Default Internal 来计算的。
所以每次新项目开工,我都会检查一遍 padstack 库的 Default Internal 是不是有效。如果公司有标准库最好,没有的话,建议建一个“三层全配”的基准 padstack:Begin、Default Internal、End 都配好 Regular、Thermal Relief、Anti Pad,然后从它去复制衍生各种变体,能省很多事。
6.5 误把负片层的“显示效果”当成真实连接
还有一个高频情况:屏幕显示内层平面时,因为负片层的显示优化机制,有时花焊盘和隔离孔看起来差不多,尤其是你没有开 Plane Display 相关选项的时候。这时候不要靠肉眼猜,最可靠的做法就是跑一层 Gerber 预览,或者用 Artwork 里的 Film Control 把负片层单独输出成图纸,放大看了再说。
在 Allegro 里,负片层的真实铜形态和控制显示是两套逻辑。你屏幕上看到的花焊盘,只是 Allegro 帮你模拟渲染出来的结果。你如果需要确认负片层到底长什么样,请务必以光绘生成的结果为准。
我已经不记得多少次因为“懒得建 Flash 符号”而给自己埋坑,后来想通了一个道理:padstack 是 PCB 设计里复用率最高、影响最深远的基础资产,花半小时把库建规范了,未来几百个项目都在吃这个红利。这篇教程如果你只记一点,那就记这句——正片层看 Regular,负片层同网络看 Thermal,负片层异网络看 Anti。下次再有人问你,你能把这个逻辑讲清楚,而不是背参数,才是真的入门了。