
之前在做 PCB 封装库维护时经常被 SMD 焊盘定义不规范的问题困扰有人把焊盘层放在 TOP 层有人在默认的 PACKAGE GEOMETRY 里画焊盘还有人搞不清 Padstack Editor 和封装编辑器之间的分工。其实只要弄清楚焊盘栈Padstack的本质这些问题都能迎刃而解。本文围绕 Cadence Allegro 的 Padstack Editor 绘制表贴焊盘展开适合刚接触 PCB 封装设计、或者已经在画封装但总是被检查报告打回的开发者阅读。看完你可以独立完成一个规范的表贴焊盘定义也能看懂 DRC 报错里与焊盘相关的常见问题。1. 为什么要用 Padstack Editor 绘制表贴焊盘1.1 焊盘栈在封装设计中的位置在 Cadence Allegro 的封装设计流程中焊盘栈Padstack是所有封装的基础单元。一个完整的元器件封装本质上是由一个或多个焊盘栈、丝印框Silkscreen、装配层Assembly、器件外框Place Bound等元素组成的。焊盘栈负责定义焊盘的物理尺寸、钻孔信息、外层焊环尺寸、各层铜箔覆盖范围等核心数据。很多初学者容易把 Padstack Editor焊盘栈编辑器和 PCB Editor封装编辑器搞混。简单来说Padstack Editor 负责制造焊盘输出的是.pad文件。PCB Editor 负责把焊盘放到封装里并绘制丝印、位号、装配层等信息输出的是.dra和.psm文件。所以正确的流程一定是先在 Padstack Editor 里画好焊盘再到 PCB Editor 中调用这个焊盘完成整个封装的绘制。1.2 表贴焊盘与插装焊盘的区别表贴焊盘SMD Pad用于表面贴装器件比如电阻、电容、IC、连接器等。它和插装焊盘Through Hole Pad最大的区别在于没有钻孔Drill。插装焊盘需要定义钻孔直径、内层热焊盘、背钻等信息而表贴焊盘只需定义顶层/底层贴片铜箔和阻焊开窗。用一句话概括表贴焊盘就是一个没有孔的金属片Padstack Editor 中只需要关心贴片层的铜箔形状和阻焊层的开窗大小。1.3 规范焊盘定义的意义焊盘定义不规范会在后续环节引发三类问题制造环节阻焊开窗过小导致焊盘被绿油覆盖无法焊接或开窗过大导致相邻焊盘间绿油桥缺失焊接时短路。设计环节焊盘尺寸不满足器件手册要求导致立碑、虚焊热焊盘参数错误导致散热异常。检查环节焊盘没有定义阻焊层DRC 报告出现Package to Package或Solder Mask相关报错。因此在 Padstack Editor 中建立一套统一的焊盘定义规范是封装设计质量的基础。2. 环境准备与操作界面说明2.1 软件环境本文以 Cadence Allegro 17.4 版本为例进行说明但核心操作流程在 16.6、17.2、22.1 等版本中基本一致。如果你使用的是其他版本界面细节可能略有差异但参数含义和设计思路是通用的。Padstack Editor 一般可以通过两种方式打开开始菜单中找到 Cadence 安装目录下的Padstack Editor。在 Allegro PCB Editor 中执行菜单File - New选择Padstack类型。打开后默认新建一个空白 Padstack。当前采用的用户界面模式有两种经典的Legacy模式和新的Allegro模式。本文以经典模式为例但会说明两者对应关系。2.2 Padstack Editor 界面分区Padstack Editor 的界面主要由以下几个区域组成区域作用左侧树形列表显示 Layers、Drill、Design 等参数分类中央参数面板当前选中分类下的具体参数设置右侧预览窗口实时显示焊盘的截面图和俯视图底部参数栏显示当前焊盘的 Summary 信息其中最重要、也是最常用的是左侧树形列表中的Layers分类。所有与铜箔、阻焊、助焊相关的层参数都在这里定义。2.3 单位制设置在开始画焊盘之前先要确定单位。Allegro 支持英制Mils和公制Millimeter两种常用单位。进入Options - Preferences在Units中选择需要的单位并设置精度小数位数。对于公制单位常用精度是 2 位小数或 4 位小数对于英制单位常用精度是 2 位小数。需要注意的是单位一旦在焊盘文件中固定后续在封装设计中使用时PCB Editor 会按当前板卡的数据库单位自动换算但建议全流程保持单位一致避免出现 0.01mm 与 0.01mil 的换算误差。3. 表贴焊盘核心参数拆解3.1 层结构与含义表贴焊盘需要关注的核心层如下BEGIN LAYER焊盘所在的主贴片层。做顶层表贴焊盘时这一层就是 TOP 层铜箔。做底层表贴焊盘时这一层就是 BOTTOM 层铜箔。DEFAULT INTERNAL内层默认铜箔。表贴焊盘通常只需要在表层有铜箔内层可以不设置或者按常规缩小一定比例设置以作参考。END LAYER另一面表贴层。如果做双面贴片焊盘可以在这里定义对应面的铜箔。单面板常见做法是不设置。SOLDERMASK阻焊层分为TOP和BOTTOM。阻焊层开窗尺寸一般比焊盘铜箔大用于保证焊接时焊盘完全裸露。PASTEMASK助焊层也叫钢网层。钢网开孔尺寸一般比铜箔略小用于控制锡膏印刷量。FILMMASK胶片层一般用于特殊工艺日常设计可忽略。理解这些层之间的关系就能明白焊盘 DRC 报错的根源。举一个常见例子如果只定义了BEGIN LAYER的铜箔没有定义SOLDERMASK的 TOP 开窗那么实际生产时焊盘区域会被整片绿油覆盖导致无法焊接。而如果定义了铜箔却没有定义PASTEMASK钢网层就不会开孔贴片时没有锡膏元器件也无法固定。3.2 三种几何形状的选择表贴焊盘支持以下几种几何形状每种形状都可以在Geometry下拉框中选择Oblong椭圆/长圆最常用的形状适合电阻、电容、二极管等两引脚器件。它的两端是半圆中间是矩形能够有效增加焊接面积同时减少焊盘尖角处的应力集中。Rectangle矩形适合引脚较宽的器件比如功率器件、连接器焊脚。Square正方形适合小尺寸焊盘和某些特殊器件。Circle圆形适合圆形引脚、测试点焊盘。Octagon八边形较少使用一般用于特殊散热或射频设计。对于初学者我建议先掌握Oblong和Rectangle两种因为它们覆盖了绝大多数表贴器件的焊盘需求。3.3 焊盘尺寸与器件手册的换算方法焊盘尺寸不能凭感觉设置必须参考元器件厂商的数据手册Datasheet中的推荐焊盘尺寸。通常手册会给出一个焊盘尺寸表包含Width宽和Length长两个参数。举例某 0603 封装贴片电容的推荐焊盘尺寸是焊盘宽单个焊盘的宽度0.80mm焊盘长单个焊盘的长度0.95mm焊盘中心距1.40mm这时在 Padstack Editor 中表贴层的Pad Width填 0.80Pad Height填 0.95注意Allegro 中宽度对应 X 方向尺寸高度对应 Y 方向尺寸。如果手册只给出器件本体尺寸而没有推荐焊盘尺寸可以按经验公式估算焊盘宽度比引脚宽度宽 0.10mm 到 0.25mm焊盘延伸量超出引脚末端为 0.20mm 到 0.50mm。但这只是估算最终应以焊接可靠性和制造工艺要求为准。3.4 阻焊层与助焊层尺寸经验值阻焊层的开窗尺寸一般是焊盘铜箔尺寸外扩 0.05mm 到 0.10mm。也就是SOLDERMASK 宽度 焊盘宽度 0.10mm左右各扩 0.05mm SOLDERMASK 高度 焊盘高度 0.10mm上下各扩 0.05mm助焊层钢网层的尺寸一般是焊盘铜箔尺寸内缩 0.05mm 到 0.10mmPASTEMASK 宽度 焊盘宽度 - 0.10mm PASTEMASK 高度 焊盘高度 - 0.10mm这两个经验值虽然不是绝对标准但在常规 FR4 板材、普通有铅/无铅回流焊工艺下是可靠的。如果是高密度板、BGA 封装或特殊焊接工艺需要根据钢网厚度和工艺要求单独计算。4. 完整实操用 Padstack Editor 绘制表贴焊盘下面以一个 0603 表贴电阻的焊盘为例完整演示绘制步骤。4.1 新建焊盘文件打开 Padstack Editor执行下面的操作点击工具栏的File - New选择Padstack。弹出新建对话框输入焊盘文件名例如SMD_RES_0603_80_95MIL.pad。选择类型为Single单端焊盘。这里解释一下Single和Through Hole的区别。表贴焊盘选择Single表示没有钻孔只有单面贴片。如果误选为Through Hole后续还需要处理钻孔参数对于表贴焊盘来说完全没有必要。4.2 设置单位与精度在Options - Preferences中设置Units: Millimeter Precision: 4保存后所有参数输入都以 mm 为单位。4.3 配置表贴层BEGIN LAYER在左侧树形列表中选择Layers然后找到BEGIN LAYER勾选Enable。Geometry选择Oblong。Width填入0.80。Height填入0.95。此时右侧预览窗口应立即显示一个长圆形状的焊盘图案该图案代表顶层铜箔。4.4 配置阻焊层SOLDERMASK TOP继续向下找到SOLDERMASK下的TOP勾选Enable。Geometry选择Oblong。Width填入0.90。Height填入1.05。这里的尺寸是焊盘铜箔外扩 0.05mm保证绿油开窗完整覆盖铜箔边缘。4.5 配置助焊层PASTEMASK TOP找到PASTEMASK下的TOP勾选Enable。Geometry选择Oblong。Width填入0.70。Height填入0.85。这里尺寸是焊盘铜箔内缩 0.05mm减少锡膏印刷量降低短路风险。4.6 关闭无关层对于单面表贴焊盘END LAYER、DEFAULT INTERNAL、SOLDERMASK BOTTOM、PASTEMASK BOTTOM都可以不勾选。需要说明的是有些工程师习惯在 DEFAULT INTERNAL 中也画一层略小的铜箔这在某些仿真或叠层设计中可能会用到但普通设计建议留空避免多一张无意义的铜皮。4.7 保存焊盘文件在File - Save As中保存焊盘文件。需要注意Padstack Editor 会附带生成一个.pad焊盘数据文件以及一个.dra的焊盘栈图形文件。在实际封装设计中调用的是.pad文件。保存路径建议放在项目统一的焊盘库目录中例如C:\projects\my_lib\padstack\路径中不要包含空格和中文否则后续 PCB Editor 在调用时可能出现路径解析异常。4.8 在 PCB Editor 中调用验证完成焊盘绘制后可以新建一个空白封装验证焊盘是否能正常调用打开 PCB Editor新建Package Symbol。执行菜单Layout - Pins。在Padstack输入框中点击浏览选择刚才保存的.pad文件。放置两个焊盘间距设为 1.40mm0603 焊盘中心距。放置成功后可以看到两个长圆形的表贴焊盘出现在编辑区。如果焊盘显示为空心矩形或者不显示铜箔多半是BEGIN LAYER没有正确启用。5. 常见问题与排查思路5.1 焊盘显示为空心框问题现象常见原因解决思路焊盘在 PCB Editor 中显示为空心线框当前层的颜色开关为关或BEGIN LAYER未启用打开Display - Color/Visibility检查 TOP 层颜色回到 Padstack Editor 确认 BEGIN LAYER 已勾选焊盘实体在预览窗口中不可见视图比例过大或过小使用鼠标中键缩放预览窗口或双击鼠标滚轮重置视图5.2 DRC 报错Solder Mask相关在封装完成后跑 DRC出现类似Solder Mask Opening的报错最常见的原因是阻焊层开窗与焊盘铜箔之间的间距不足。在 Padstack Editor 中检查 SOLDERMASK 尺寸是否比 BEGIN LAYER 尺寸外扩如果外扩值小于 0.02mm或者甚至阻焊比焊盘还小就会触发报错。正确做法是保证阻焊开窗每边大于铜箔至少 0.02mm 到 0.05mm。5.3 引脚放置后焊盘无钢网在放置引脚时如果发现焊盘上有铜箔但没有钢网层图形检查 PASTEMASK TOP 是否启用。钢网层没有被启用时焊盘看起来是正常的但实际投板后无法印刷锡膏。5.4 单位换算导致尺寸异常如果在 Padstack Editor 中设置了公制单位但 PCB Editor 的板卡数据库是英制放置焊盘时会发现尺寸异常偏大或偏小。此时应统一两边单位。在 PCB Editor 中通过Setup - Design Parameter Editor可以修改板卡单位。问题现象常见原因解决思路焊盘宽度 10 倍偏大在 PCB Editor 中误用了 mil 单位读取 mm 数据在 Design Parameter Editor 中切换单位为 Millimeter孔位中心偏移焊盘原点偏移Padstack Editor 中设置Offset均为 05.5 焊盘无法保存保存时提示Could not create padstack file通常是保存路径没有写入权限或者文件被其他程序占用。选择一个新的可写路径关闭已经打开的该焊盘文件重新保存即可。6. 表贴焊盘设计的最佳实践6.1 建立统一的焊盘命名规范焊盘文件命名建议包含关键信息封装类型、焊盘尺寸、单位。例如SMD_CAP_0603_80X95MM SMD_RES_0402_50X60MM SMD_IC_QFP128_250X400MIL命名规则要做到看到文件名就知道焊盘是给哪个封装用的、尺寸是多少、单位是什么。这样可以避免在封装库里出现大量内容相同但文件名混乱的重复焊盘。6.2 使用参数化设计减少重复劳动Allegro 的 Padstack Editor 支持通过Tools - Parametric Padstack创建参数化焊盘。对于同一系列但尺寸不同的焊盘比如 0402、0603、0805 的电阻电容可以直接修改参数生成新焊盘不需要逐个重新画。参数化焊盘的核心逻辑是输入几个关键尺寸自动生成完整的层设置。这种方式特别适合维护整个公司的标准焊盘库。6.3 注意散热焊盘与热焊盘的区别表贴焊盘本身没有孔但在大电流或散热场景下经常会在焊盘区域内增加散热过孔Thermal Via。这些过孔是独立的 Through Hole 焊盘与表贴焊盘不是一回事。设计时需要在 PCB Editor 中单独放置过孔或者利用模块化设计复用。需要注意散热过孔放置在表贴焊盘区域内部时过孔的位置和数量会影响锡膏吸收和焊接质量。建议通过钢网开孔设计来避免焊锡流入过孔导致的虚焊问题。6.4 遵循可制造性设计原则从 PCBA 制造角度表贴焊盘设计有几点普遍适用原则相邻焊盘中心距不能小于元件间距否则容易桥连。阻焊开窗之间至少保留 0.10mm 的绿油桥宽度否则绿油桥在制造时容易脱落。对于细间距器件如引脚间距小于 0.5mm 的 QFP、连接器锡膏印刷的钢网厚度和开孔比例需要搭配调整不能使用常规的焊盘等比例缩放方法。焊盘铜箔到板边距离要满足拼板工艺要求一般不小于 0.30mm。这些原则虽然不是 Padstack Editor 的直接操作内容但决定了焊盘参数定义是否合理。6.5 焊盘库的版本管理焊盘库是一个项目里最容易被忽略但最重要的公共资产。推荐在项目开始时就将焊盘库纳入版本管理工具如 Git、SVN每次修改焊盘都记录原因和影响范围。对于公司统一库建议增加评审环节因为焊盘尺寸变更会影响所有使用该焊盘的封装和板卡。7. 从焊盘到封装下一步学习路径掌握了 Padstack Editor 绘制表贴焊盘之后接下来可以沿着以下方向继续深入在 PCB Editor 中完成整个表贴封装的绘制包括丝印、装配层、Place Bound 定义。学习插装焊盘的绘制重点是钻孔参数、内层热焊盘Thermal Relief、背钻和 Anti Pad 的设置。理解 IPC 焊盘设计标准比如 IPC-7351 中关于表贴焊盘尺寸计算的方法。熟悉 DRC 检查规则中与焊盘相关的检查项比如Pad-Pad、Pad-Shape、Solder Mask等。掌握建库工具的组合使用包括 Symbol Editor、Padstack Editor 和 Library Manager。我在实际项目中的经验是焊盘定义这个环节虽然看起来基础但它决定了整个封装设计的下限。一个焊盘尺寸错误可能会在下单生产后才发现造成周期延误和成本浪费。与其在后期反复修改不如在最开始就建立清晰的焊盘定义规范并使用 Padstack Editor 逐层确认参数。每次新建焊盘时我都习惯在保存前把预览窗口切换到 3D 截面视图检查每一层是否按预期生成这个习惯帮我避免过很多低级失误。如果你在使用 Padstack Editor 的过程中遇到了其他问题比如异形焊盘绘制、特殊焊盘形状定义、或者与 PCB Editor 其他模块的配合问题欢迎在评论区留言交流。收藏本文下次建库时可以直接对照操作。