Cadence Allegro焊盘设计详解:Regular Pad、Thermal Relief与Anti-Pad实战指南 在Cadence Allegro里做封装、建焊盘几乎每个新人都要经历一次被Pad Designer支配的时刻。界面打开左边一个表格中间三个栏位——Regular Pad、Thermal Relief、Anti-Pad右边图形预览旁边还有一堆Drill、Flash的选项。我见过不少工程师在这里纠结半天最后随手填几个数字就保存结果要么内层铜皮连接不对要么DRC刷出一堆间距报错要么板子打样回来贴片时虚焊。这篇文章就把这三个概念彻底说清楚它们分别管什么、在什么情况下起作用、Pad Designer里到底怎么设再给一份常用的尺寸对照表和我这些年踩坑总结的经验。无论你是刚接触Allegro的萌新还是想系统补一补焊盘知识的layout工程师都可以收藏备用。1. 三个Pad类型的前世今生从正片和负片说起1.1 为什么同一个焊盘要定义三组图形很多人第一反应是一个焊盘不就是“铜的圆/方”吗为什么Allegro非让我定义三组图形要理解这个得先搞明白PCB里一类非常基础、又容易混淆的概念——正片Positive和负片Negative。在PCB任意一层铜皮都存在两种“表达逻辑”。正片层画上去的图形就是铜看不到图形的地方就没有铜负片层则正好反过来默认整层都是铜你画上去的图形是“void”也就是把铜挖掉的区域。这有点像摄影里的正片和负片因此得名。绝大多数信号层用正片电源层和地层为了数据量小、光绘输出稳定传统上很多人用负片。问题来了一个引脚穿过这种“默认全是铜”的负片层时要怎么处理它周围的铜是全部连上、完全不连、还是通过几根细一点的“桥”来连于是就有了三个Pad定义正好各回答一种情况Regular Pad正片层里实实在在的焊盘铜。Thermal Relief负片层里“热释放连接”的形状规定焊盘与铜皮通过几条辐条连接。Anti-Pad负片层里焊盘周围要挖开的环形隔离区。1.2 正片与负片层各自认哪个Pad在Allegro里默认的叠层中TOP和BOTTOM是正片内层信号也是正片电源/地平面往往是负片。Pad Designer里面每一层都可以分别指定这三种Pad。设计规则Constraints中对于内层连接方式你会看到一个“Power Plane”或“Plane Connect”相关设定里面能选Direct Connect全连接、Thermal Relief Connect热释放连接、No Connect不连接。这个选项和Pad里定义的图形是一起决定最终铜皮形状的。举个例子你在规则里选择了Thermal Relief ConnectAllegro就去查这个Pad的Thermal Relief栏发现填的是一个Flash符号就按Flash的样子在负片铜皮上开一个花形窗口如果你在规则里选Direct Connect那负片上就直接用这个焊盘区域把铜皮和引脚“连死”了Thermal Relief、Anti-Pad都不管了。这里我补充一句这也是为什么有的人会问“我Thermal Relief没填为什么还能出图”——如果规则里你没用到热释放或者所有平面层都选了Direct Connect没填也能正常出图。但这不代表你可以不填后面我会讲某些场景下漏填会坑得很惨。2. 逐层拆解三者各管什么、不管什么2.1 Regular Pad正片层永远的“主角”Regular Pad也有些人叫它positive pad直白点说就是正片层上这个焊盘长什么样、多大。它可以是圆形、方形、长方形、椭圆、圆角矩形、八边形甚至Flash形。定义它时有一点要牢记尺寸不是只按“引脚直径”来的它由钻孔尺寸、工艺精度、需要的连接面积共同决定。咱们实际项目中穿过孔元件的Regular Pad外径一般要比钻孔大0.3mm~0.6mm12~24mil这样既保证焊盘环宽满足板厂加工下限又不至于让相邻的焊盘间距太小。Regular Pad还有一个隐藏身份在负片层里如果内层连接方式设定为Direct Connect负片铜皮就是按Regular Pad的尺寸来保留焊盘连接区的。所以哪怕你的层是负片Regular Pad也绝不能空着不填。我遇到过不少新人把TOP层的Regular Pad填了内层的Regular Pad却什么都不填。结果顶层看着好好的内层电源平面一出Gerber这些引脚要么没有连接盘要么出现一堆莫名其妙的隔离环最后检查半天才发现是内层Regular Pad没设。2.2 Thermal Relief负片层的“散热桥”Thermal Relief直译是“热释放”更通俗的叫法是花焊盘Flash Pad或热焊盘。它专门作用在负片层解决一个很实际的问题焊盘如果和整片铜皮100%全连焊接时热量会被大面积铜皮迅速吸走烙铁或回流焊很难把焊点加热到足够温度结果就是虚焊、冷焊。花焊盘的思路是焊盘和铜皮之间只保留几条狭长的“辐条”spoke铜皮和引脚之间形成热阻焊接时能更快加热同时机械上和电性上仍然保持连接。常规做法是4条辐条按0度/90度或45度方向分布电流要求高的场景可以做成6辐条甚至全连接但“全连接散热差”这个矛盾永远要权衡。需要特别说明的是Thermal Relief并不仅仅存在于Pad Designer里。在正片层的动态铜皮Dynamic Copper上Allegro同样有热释放连接设置通常在Shape → Global Dynamic Shape Parameter → Thermal Relief Connect里可以选Orthogonal正交、Diagonal对角、Full Contact全接触等。如果你用的是正片内层电源层这个设置才是主角Pad里的Thermal Relief只在负片层起作用。别搞混了。2.3 Anti-Pad负片层的“隔离墙”Anti-Pad中文社区叫法很多反焊盘、隔离盘、负片焊盘。它的本质是一个比焊盘大的圆环或者环形带在负片层里表示“这个区域必须没有铜”。为什么要它因为负片层默认全是铜如果引脚只是穿过而没有足够大的隔离带整个铜皮就会通过这个孔跟其它网络搭上轻则短路重则整块板子废掉。Anti-Pad的尺寸必须比Regular Pad以及Thermal Relief的外径大而且要留出足够的安全间距。常规经验是比Thermal Relief外径再大0.2mm~0.5mm8~20mil考虑到板厂蚀刻公差和层间对位误差。选太小DRC就会报出间距违例选太大负片层可利用的铜皮面积会被挤占电源过流能力下降。我建议把Anti-Pad理解成“给负片层划的一个禁区”它的作用就是隔离不是连接。设计的时候一定要让这组尺寸保持严格的大小顺序钻孔 Regular Pad Thermal Relief外径 Anti-Pad。这个不等式是内层负片设计的核心记不住的话做出来的板子大概率会出问题。3. 实操课Pad Designer里一步步做通孔焊盘3.1 第一步先定钻孔一切尺寸的起点创建焊盘第一步不是画Regular Pad而是先定钻孔Drill Hole。打开Pad Designer顶部就是Drill hole参数圆形、椭圆形、方形、矩形几种类型以及直径或长宽值。钻孔尺寸取多少取决于元件引脚直径和板厂工艺。一般原则元件引脚直径 0.2mm~0.3mm的余量作为成品孔。比如0.8mm的引脚成品孔约1.0mm~1.1mm如果孔壁需要沉铜PTH还要考虑电镀层厚度所以设计时给出的钻孔直径一般就是最终成品孔的数值或按板厂要求加/减。这里有个关键设置Units。Pad Designer里可以把单位切成Mils或MM我建议统一用Mils因为很多IPC标准、板厂参数表都是用mil标注。切换单位后钻孔直径、焊盘直径、间距规则都按同一套单位体系去核查能省掉不少单位换算的脑细胞。3.2 逐栏填Regular Pad、Thermal Relief、Anti-Pad以通孔插件电容为例假设钻孔选40mil1.0mm。下面是我常用的一组值单位mil项目尺寸备注钻孔直径40引脚约32milRegular Pad圆形70环宽15milThermal Relief 外径90Flash外观Anti-Pad100比Thermal Relief外径大10mil实际操作路径是File → New命名比如CAP100_PTH_40_70_90_100.pad。顶部Drill hole选CircleDrill diameter填40。Layers区域分别点选Start、GND、POWER、End层设置StartTOPRegular Pad选Circular直径70Thermal Relief选NoneAnti-Pad选None。GND负片Regular Pad选Circular直径70Thermal Relief选Flash填入flash_90_52_40_12Anti-Pad选Circular直径100。POWER负片同GND。EndBOTTOM同Start。SolderMask阻焊层Regular Pad填80左右比焊盘大一点也就是开窗比焊盘大。PasteMask钢网层Regular Pad填60左右比焊盘小一点防止锡膏印到焊盘外边。保存后就是一个完整的通孔插件焊盘。注意各层都填好之后数值栏旁边会显示一个图形预览图建议每改一层都看一眼铜皮是变大还是变小一目了然。3.3 Flash符号制作花焊盘真正的“样子”Thermal Relief里要填的Flash符号不是Pad Designer里直接画出来的而是要在Allegro PCB Editor里单独创建一个Flash symbol文件后缀.fsm。如果你只是填一个Circular形状那Thermal Relief就等于没有花形Allegro在负片层只会把它当成一个普通的隔离环而不是热释放连接。创建Flash符号的流程打开Allegro PCB EditorFile → NewDrawing Type选Flash symbol命名如flash_90_52_40_12。菜单Shape → Add Flash直接在Command窗口输入参数。输入外径Outside Diameter、内径Inside Diameter、辐条数量Spoke Count、辐条宽度Spoke Width。以刚才的例子外径90mil内径52mil辐条数量4辐条宽度12mil。这样出来的效果就是典型四辐条花焊盘。文件命名上我推荐用“flash_外径_内径_钻孔径_辐条宽”的格式。比如flash_90_52_40_12看一眼名字就知道这个花焊盘适配多大的孔。建库时间长了Flash符号会越来越多没有统一命名规则的话后边找起来真的崩溃。3.4 动态铜皮与Shape参数别忘了刚才讲的主要是负片层的情况。现在很多设计为了灵活内层电源/地也用正片加动态铜皮Dynamic Copper这时候你会发现在Pad Designer里设的Thermal Relief、Anti-Pad基本不会被直接引用真正管用的是Shape参数设置里的Thermal Relief Connect。具体位置是Shape → Global Dynamic Shape Parameter选择Thermal relief connects选项卡可以看到Thick和Thin控制辐条宽度算法Thick模式更宽过流能力强Thin模式更窄散热隔离效果更好。Orthogonal和Diagonal控制辐条方向。Orthogonal是横平竖直最常见Diagonal是45度交叉。Full Contact相当于全连接。所以做焊盘时要先判断这个封装会用在正片层还是负片层。如果内层平面都是正片动态铜皮那你必须把动态Shape参数里的热释放连接方式设对同时把Pad里的Thermal Relief也设上保证两种叠层方案都能兼容。我一般习惯一套Pad同时把Thermal Relief、Anti-Pad都做全这样顶层正片、内层负片、内层正片动态铜皮来回切换都不心虚。4. 参数怎么取一份可以直接抄的尺寸表4.1 常用通孔焊盘参数对照以下是我常用的一套参数单位mil基于常规FR-4、1oz铜厚、普通板厂工艺能力新设计可以直接套钻孔直径Regular PadThermal Relief外径Flash内径辐条宽Anti-Pad245068361076326080441288407090521210048821046014112这些数值不是官方标准是实践中的安全范围。我之前按这套参数打过多批板子常规工艺下都没问题。需要重点说明的是如果你做的板子BGA扇出密集、过孔间距非常紧张Anti-Pad可能没空间放到这么大这时候就得在保证焊接距离的前提下压缩比如把Anti-Pad做到比Thermal Relief外径大6~8mil再配合更严格的负片间距规则去走DRC。另外如果项目要求过孔大电流比如电源模块的输出过孔可以把花焊盘辐条宽度适当加宽或者直接把Thermal Relief设成与Regular Pad一致全连接。全连接虽然散热和焊接体验差但过流能力确实强这个取舍要按实际工况来。4.2 不同应用场景的选择原则信号过孔Via过孔一般不参与焊接热释放需求不高且过孔往往需要大电流连接电源地所以内层可以直接全连接。我通常会为过孔单独做一套“直连型”焊盘Regular Pad外径Thermal ReliefRegular PadAnti-PadRegular Pad12mil左右。插件元件焊盘必须设Thermal Relief为FlashAnti-Pad设为Flash外径10~12mil左右这样焊接温度才上得去手工焊也不会虚焊。高电流/高频场景花焊盘辐条截面积不够会限制载流可能需要增加辐条宽度或数量高频场合则要考虑花焊盘等效电感对信号回流路径的影响反而可能要选择全连接并留足Anti-Pad避免平面回流路径被割裂。这里我多说一句过孔和元件焊盘不要用同一套Pad。有些人嫌麻烦一个Pad走天下结果插件元件焊盘散热差、过孔载流又不足。Allegro的库里本来就该把VIA和PIN分开管理命名上用VIA_XX_YY和PIN_XX_YY区别看着乱不了。5. 常见问题与避坑实录5.1 Thermal Relief漏设会怎样最常见的情况新手做完Pad只在TOP/BOTTOM设了Regular Pad内层Thermal Relief、Anti-Pad都没设。这时候出Gerber内层负片铜皮会直接在焊盘周围短路。DRC可能不报因为没有加平面连接规则但板子打样回来电源层全通过这个孔搭在一起根本没法用。你在Allegro里可能会看到一个现象内层负片对应位置出现一个“反白”的焊盘但周围没有隔离带跟其它网络直接糊在一起。这就是典型的没有Thermal Relief和Anti-Pad造成的。所以再次强调凡是会穿过负片平面层的通孔焊盘内层的Thermal Relief和Anti-Pad必须设哪怕你不打算用这个网络连平面也要给一个Anti-Pad来保证隔离。5.2 Anti-Pad太小导致DRC间距报错在负片层电源地间距很严格时Anti-Pad直径不够会出现“plane to pin spacing”的DRC报错。这时候不是改规则而是把Anti-Pad调大。我遇到过一个人规则里把内层间距设到20mil但Anti-Pad比Thermal Relief外径只大6milDRC一路报红。他不想Anti-Pad反而去改全局间距规则差点把其它间距检查都带崩。最后把Anti-Pad直径加了12~16milDRC就清净了。这类问题排查起来也简单在约束管理器里找到报错坐标回到负片层看这个引脚周围有没有足够的隔离带。如果Anti-Pad已经顶到旁边铜皮了说明隔离余量不够。另一个隐蔽的因素是Flash符号外径和Anti-Pad不匹配如果Flash外径比Anti-Pad还大那电连接辐条会被Anti-Pad一起挖掉表现为“有花焊盘但实际没连上”这种错误往往要到出Gerber后用CAM350放大才能发现。5.3 过孔和元件焊盘的差异处理有些工程师为了省事所有孔共用一个Pad。但如果所有通孔都做成花焊盘电源过孔载流能力会打折如果都是全连接插件焊盘焊接又容易虚焊。所以至少准备两套焊盘VIA直连型Thermal ReliefRegular Pad或NoneAnti-Pad按普通间距。PIN花焊盘型Thermal ReliefFlashAnti-Pad大于Flash外径。很多公司库里就是“VIA_20_10”和“PIN_50_32”这样分开命名的一看就知道用途。项目里批量替换焊盘的时候可以用Tools → Padstack → Modify Design Padstack选择整板替换把错误的Pad统一改成正确的。5.4 Flash符号到底要不要做命名和库管理的经验如果板子简单电源地只用正片动态铜皮Thermal Relief可以直接选Circular或不设。但只要有负片层、且需要花焊盘连接就必须有Flash符号。没有Flash符号Allegro在负片层就不知道花形该长什么样。我还遇到过一个情况Flash符号外径和Anti-Pad尺寸不匹配导致负片层出来一个“半开不开”的窗口Gerber里看像八爪鱼一样极其难看。后来我统一用命名规范flash_od_id_drill_spoke每次建Pad时严格检查。建好的Flash符号建议统一放到公司库目录的symbols文件夹里pad文件路径、psm路径、flash路径都通过库管理器集中管理换电脑、跨项目迁移都不容易丢。6. 从焊盘到板子几个和设置强相关的后续问题6.1 导出Gerber/光绘时内层焊盘不对有时候Pad设置没问题但导出Gerber光绘文件时内层平面看到的焊盘形状和想象不一样。常见原因有负片层光绘格式设错了出成了正片。Flash符号路径没有加到光绘文件需要调用的symbol库中导致D-code缺失。使用的Gerber版本较低不支持某些Flash形状需要设置RS-274-X格式并检查suppress unused pads选项。出光绘后我习惯用CAM350或Allegro自带的Artwork工具逐层检查尤其是负片层一定要确认每个过孔、元件焊盘周围都有干净的隔离带不是糊成一片。Gerber里“反白”看得非常直观花焊盘四条辐条应该清清楚楚如果只有四条细胳膊连着其余全是空那就对了。6.2 Allegro转Pads文件时焊盘怎么映射还有一个相关的常见需求Allegro转Pads文件。不同EDA之间转换时焊盘定义往往是最容易丢信息的部分。Allegro里的Flash symbol在Pads里通常被转换成“花焊盘”Thermal relief但命名、尺寸单位、层映射都可能变化。我习惯转完文件后先打开Pads的封装库检查每一个通孔焊盘的内层Thermal Relief和Anti-Pad值再决定要不要统一修正。稳妥做法是转换后做个DRC看电源地平面有没有短路提示。Allegro文件版本降低也是同理。高版本转低版本后焊盘的属性有时会被降级处理最好重新加载一遍PAD路径把库文件路径重新指向低版本能识别的symbol目录。6.3 用快捷键和Skill提升焊盘检查效率Allegro里反复检查Pad很多操作可以自定义快捷键。比如把Tools → Padstack → Modify Design Padstack绑定到快捷键批量查看、替换焊盘就比较快。社区里也有一些Skill脚本能一键列出整个板上所有焊盘的关键参数比如Regular Pad大小、是否包含Flash、Anti-Pad余量是否足够等。虽然不建议新手一上来装一堆Skill但这类检查脚本对排查批量焊盘问题帮助很大。我记得有次改板需要把一批电源过孔从全连接改成花焊盘手动改了十几个后实在受不了写了个简单的Skill脚本遍历整板找出网名匹配VCC网络的过孔统一修改Padstack几分钟搞定。焊盘设置这件事做到后面拼的就是“批量处理不出错”的功夫。我个人的体会是焊盘设置这件事真的不能靠“看着差不多”去填。Regular Pad、Thermal Relief、Anti-Pad三者之间的关系一句话总结就是正片画“有”负片画“无”花焊盘负责“既连又不连死”。只要把正负片逻辑吃透了Pad Designer里那些栏位就都不是玄学。下次做新封装时你也能像我一样先列一张钻孔、Regular Pad、Flash、Anti-Pad的尺寸表再动手建库打样回来的板子基本一次通过。