
上周帮一个朋友看一块六层板他说在 PADS 里折腾了半个多小时也没能把一个接地过孔放到地铜皮上——点工具栏上那个过孔图标软件理都不理他右键菜单里的选项也是灰的。我让他按 CtrlE 打开 ECO 模式再点一次过孔就乖乖落下来了。事情本身小得不能再小但背后暴露的问题挺典型很多人在 PADS 里对过孔这个对象的理解还停留在画一个圆圈的层面而它实际上是一套Pad Stack 定义 网络归属 层栈配置 制造要求的组合体。PADS 里添加过孔这件事看起来只有布线时换层自动生成和手动放一个两种操作但真正决定这块板能不能顺利打样、能不能过 EMC、电源够不够用的是你在放之前和放之后做的那些设置。这篇文章就从过孔在 PADS 里的数据结构讲起把三种添加路径、尺寸推算、批量修改、制造端细节和工具迁移时的坑按我实际做板的顺序捋一遍。刚上手 PADS 的新人可以把这篇当操作手册从其它 EDA 平台转过来、被过孔 Pad Stack 绕晕的老手也可以直接跳到最后两节看排查思路。1. 过孔在 PADS 里到底是什么从画个圆到Pad Stack 实例1.1 你放下的每个过孔都只是某个 Pad Stack 的一个引用先建立一个正确的心理模型。在 PADS Layout 里你点下去的那个过孔本身并不携带钻孔多大、盘径多大这些几何信息它只是一个引用指向Setup → Pad Stacks里定义好的某个 Pad Stack。打开 Pad Stacks 对话框在顶部的Pad Stack Type下拉里切到Via你就能看到当前设计里所有可用的过孔定义以及它们各自的参数。这个模型带来的第一个好处是修改成本极低如果全板几百个过孔都要从 0.3mm 钻孔改成 0.25mm你不需要去一个个选只要在 Pad Stack 对话框里把那个定义改掉所有引用它的过孔会一起更新。第二个好处是复用一块板上通常只需要三到五种过孔——信号孔、电源孔、散热孔、缝合孔各一种把它们做成固定的命名规范比如V0.30_0.60钻孔 0.30mm、盘径 0.60mm、V0.20_0.45比 PADS 默认的VIA、VIA1、VIA2可读性高太多。别人接手你的文件时看一眼名字就知道这个孔能不能改小。但同一个模型也带来风险而且是新手最容易踩的那种你改的是定义不是实例。想改某一个区域的过孔尺寸结果在 Pad Stack 对话框里一改整个板子的同类孔全变了DRC 一下子报出一片。后面第 4 节会专门讲怎么区分改实例和改定义。1.2 层定义不先行盲埋孔连选项都看不到Pad Stack 里有一组参数叫Start Layer和End Layer它们决定这个过孔从哪一层通到哪一层。通孔就是顶层到底层盲孔是从表层通到某个内层埋孔是两个内层之间。问题是这两个下拉框里能不能选出你要的层取决于Setup → Layer Definition里层栈是怎么定义的。所以正确的顺序永远是先在 Layer Definition 里把层数、每层的类型Routing / Plane / Split Plane定好再回头定义盲埋孔。如果你只定义了四层那从第 2 层到第 3 层的埋孔这个选项根本不会出现你会以为是软件的问题其实是层栈还没搭完。另外一个得提前打预防针的点PADS 对盲埋孔的支持是有边界的不是随便想叠几组就叠几组。工程上比较稳妥的做法是保持一组通孔 一组盲孔或埋孔的简单结构把复杂度留给叠层设计而不是留给过孔种类。如果你的设计真的需要多组任意层互连通常意味着已经进入 HDI 范畴这时候该考虑的是换平台或者找板厂做协同设计而不是在 PADS 里硬凑。1.3 通孔、盲孔、埋孔、微孔在同一份文件里的区别这四种孔的差别不只是几何形状更直接的是制造流程和价格。放在一张表里看比较清楚类型制造方式相对成本典型应用PADS 中的落地方式通孔 Through一次机械钻孔贯穿基准 1x常规多层板绝大多数场景Start顶层End底层盲孔 Blind分次压合后钻孔3~5x表层到内层的高密度扇出Start表层End指定内层埋孔 Buried内层压合前钻好5~8x内层之间的互连Start/End 均为内层微孔 Micro激光钻孔孔径 ≤0.15mm更高HDI、手机主板类需层栈与板厂工艺同时支持对绝大多数做工业控制、消费电子、电源类板子的工程师来说整板上只有通孔是完全正常的也是成本最优解。真正需要盲目孔的场景往往是 BGA 引脚间距小于 0.5mm、走线密度实在挤不下的时候。我的建议是在画板前就把这一版只用通孔当成默认约束只有当扇出实在解决不了时才开盲孔而且开之前先和板厂确认工艺能力和价格别画完了才发现报价翻倍。2. 三种添加过孔的实际路径以及它们各自适用的场合2.1 布线中途换层最常用的方式过孔自动继承网络日常画板里百分之九十以上的过孔都不是放上去的而是走出来的。按 F2 进入布线状态走到需要换层的位置右键菜单里选Add ViaPADS 会在这里打一个孔并自动切换到相邻层继续走线。在 PADS Router 里这个动作更顺手Shift 左键点击、或者按 V 键都是一键换层。这种方式最大的价值是网络自动继承。过孔会挂在当前正在布的这根线的网络上你不需要去手动指定 Net也不用担心它变成一个孤儿孔。同时 PADS 会实时做在线 DRC孔的位置和间距不合适会立刻提示属于边做边检查的流程。有几个细节值得单独说。第一换层的目标层是哪一个取决于你当前的层对Layer Pair设置如果设置成了顶层↔底层那从顶层打孔下去会直接到内层而不是第 2 层第一次用的人常常会懵。第二如果你在布线中改过几次方向走线已经贴着别的网络了这时候打孔前最好先看一眼周围有没有障碍因为 PADS 的在线检查在密集区域偶尔会因为计算节奏漏掉一点点养成打孔前先瞄一眼的习惯比事后跑 DRC 更省时间。第三布线状态下打的孔位置是跟着鼠标走的如果想让它精确落在栅格上记得把栅格设小一点或者打开吸附。2.2 ECO 模式下独立放置缝合孔、散热孔的正规入口现在回到开头那个问题为什么非布线状态下点过孔图标没反应因为 PADS 认为独立增加一个过孔改变了电气连接必须走 ECOEngineering Change Order流程这样网表和 PCB 才能保持一致。打开方式有两个菜单Tools → ECO或者直接按 CtrlE 调出 ECO 工具栏上面就有添加过孔的命令。进入 ECO 之后过孔图标就可以点了点一下在板子上落一个孔。这里有个经验落孔时留意一下 PADS 有没有自动继承网络。有些版本和设置下它会根据你点击的位置自动吸附到附近的铜皮并继承那个网络如果没继承孔就是 Net 为 None 的状态需要在这个状态下通过属性对话框把网络改过来。不同版本改网络的入口不太一样有的在右键属性里直接给 Net 下拉框有的要走 ECO 工具栏上的网络相关命令但共同点是这一步必须在 ECO 状态下做退出 ECO 之后就改不了了。有些同行不喜欢进 ECO用了一个变通办法从目标网络的铜皮上引一小段线出来在这段线上打孔然后把那段线删掉孔就留下了。这个方法在赶时间的时候确实能用但我不太推荐原因有两个一是删线的时候如果误删了别的走线问题很难发现二是这种方式留下的孔在网络归属上有时会不干净Netlist 对比时会莫名其妙报错。真要用删线之前先把 Filter 设成只选 Trace删完马上跑一次网表对比。顺便说个提升效率的小技巧Tools → Customize里的键盘映射可以自定义把添加过孔设成一个顺手的键。虽然比不上 Router 里那个 V 键但至少在 Layout 里少点几次右键。2.3 复制粘贴与阵列一次做几十个孔的偷懒办法缝合孔墙、散热阵列这类需求一次要放几十个甚至上百个一个个点显然不现实。常规做法是先放好一个孔用 CtrlC / CtrlV 复制配合合适的栅格间距一路贴过去。栅格在这里是关键——把设计栅格设成 1.0mm 或者 0.5mm粘贴时打开吸附孔的间距就是稳定的整数倍不会出现半个像素的偏移后面检查间距规则时也省心。如果是规则的阵列比如 QFN 散热焊盘下要排 3×3 的孔可以先把整组孔排好再整组复制到下一个器件下面。复制之前记得确认这些孔的网络是不是对的粘贴出来的孔网络会跟着原件走如果你复制的那个源孔网络是 None那一整批都是 None最后逐个改会让你怀疑人生。还有个容易被忽略的点粘贴产生的过孔编号。PADS 里每个过孔实例都有自己的编号批量粘贴后编号会顺延这不影响功能但如果你做的是需要编号对齐的自动化脚本处理最好在粘贴完成后再统一整理一次。3. 过孔尺寸怎么定孔径、盘径、环宽、纵横比的四步推算3.1 从板厚和层数反推最小可用孔径过孔的钻孔直径不是你想选多小就能多小第一个硬约束是纵横比Aspect Ratio也就是板厚除以孔径。常规 FR4 多层板的机械钻孔纵横比一般控制在 10:1 以内稳妥值在 8:1 左右。算一下就清楚了1.6mm 板厚配 0.3mm 钻孔纵横比是 5.3:1非常安全如果换成 0.2mm 钻孔纵横比变成 8:1已经接近很多板厂的舒适上限要是板厚 2.0mm 还想用 0.2mm 孔纵横比直接干到 10:1电镀均匀性就开始受挑战孔壁铜厚容易不达标良率下降价格自然上去。所以我的习惯是先确定板厚再定孔径。1.6mm 常规板厚下0.25~0.30mm 是最通用的信号孔尺寸0.20mm 留给密度实在高的区域0.15mm 以下就该考虑激光孔了那是另一个成本量级。3.2 环宽决定盘径也决定板厂的良率报价盘径怎么来的公式很简单环宽 盘径 − 钻孔直径/ 2环宽就是孔边到盘边那一圈铜的宽度。这一圈铜太窄钻孔偏移或者蚀刻偏差就可能把环切破形成开路或者可靠性隐患。常规要求环宽不小于 0.10mm约 4mil高密度板可以压到 0.075mm但要提前和板厂确认别自己拍脑袋定。按这个约束过孔规格表大概是这个样子的用途钻孔mm外层盘径mm内层盘径mm说明高密度信号0.200.40~0.450.35~0.40接近多数板厂机械钻孔下限通用信号0.25~0.300.50~0.600.45~0.50用得最多兼容性最好电源与地0.40~0.500.80~0.900.70~0.80兼顾载流能力大电流/散热0.60~1.001.20~1.601.00~1.40数量可以减少激光微孔HDI0.100.25—需板厂支持成本高注意表格里内层盘径比外层小一点这是有原因的。外层盘要承担焊接和抗蚀刻偏差的余量内层盘只要能保证电镀连接就行做小一点可以多让出布线空间也能顺带减小过孔的寄生电容。PADS 的 Pad Stack 对话框里内层和外层是分开填的别偷懒两边填一样的值。3.3 载流和散热一个过孔到底能过大电流这是我被问得最多的问题之一。粗算一下0.3mm 钻孔、孔壁铜厚 25μm那么铜环的截面积约等于 π × 0.3 × 0.025 ≈ 0.0236 mm²对比一下 1oz35μm铜、1mm 宽的走线截面积是 0.035 mm²。也就是说一个 0.3mm 过孔的载流能力大致相当于 0.6~0.7mm 宽的 1oz 走线。按常见的温升 10℃ 标准折算一个 0.3mm 过孔大约能过 1A 左右。但工程设计不能卡在极限上我的习惯是按 0.5A 一个孔来规划留一倍余量。也就是说1A 以内的支路1 个 0.3mm 孔够用2~3A放 2~4 个孔或者换成 0.4~0.5mm 的大孔5A 以上老老实实多放孔或者干脆用大孔加铺铜。这里有个反直觉的点孔壁铜厚是不确定的。板厂的 25μm 是最低要求实际可能做在 20~30μm 之间浮动你按 25μm 算出来的截面积实际可能只有 80%。所以算完还要再打个折这也是我推荐留一倍余量的真正原因而不是随口说说的保守。散热这件事和载流不完全是一回事。散热关注的是热量能不能从发热器件传导到铜皮或者背面路径上的过孔越多、孔径越大热阻越低。功率器件的散热焊盘下面通常排 3×3 或者 4×4 的 0.3mm 孔阵列具体排法在第 5 节讲。3.4 高频段的过孔电感和寄生电容信号速率上到几百 MHz 之后过孔就不再是一个理想的连接点了它有自己的寄生参数。两个经典估算公式值得记住。寄生电感L(nH) ≈ 5.08 × h(inch) × [ln(4h/d) 1]其中 h 是过孔长度d 是孔径。拿 1.6mm 板厚、0.3mm 孔径代入h ≈ 0.063 inch4h/d ≈ 21.4ln 之后约 3.06加 1 得 4.065.08 × 0.063 × 4.06 ≈1.3 nH。所以工程上常说过孔电感约 1nH/mm量级是对的。1.3nH 在 1GHz 下的阻抗是 2π × 1e9 × 1.3e-9 ≈ 8Ω。单看不吓人但你的走线是 50Ω 系统一个 8Ω 的串联感性突变已经占了 16%在眼图上就是明显的反射和抖动来源。信号速率越高这个比例越夸张。寄生电容C(pF) ≈ 1.41 × εr × T(inch) × D1(inch) / (D2 − D1)εr 取 4.4板厚 T 0.063 inch过孔盘径 D1 0.6mm ≈ 0.0236 inch平面层上的反焊盘直径 D2 1.0mm ≈ 0.0394 inch代入得 C ≈0.58 pF。这个电容会让过孔段的阻抗瞬间变低形成另一个不连续点。这两个公式真正的用途不是让你算完就完了而是告诉你哪些参数可以动降低电感靠缩短过孔减薄板厚、换层时尽量选邻近层降低电容靠加大反焊盘、缩小盘径。这两个方向刚好是相互牵制的所以高速板的过孔设计本质上是找平衡而不是把某个参数压到最小。4. 批量把过孔改掉从 Filter 到 Pad Stack 替换的完整链路4.1 先把 Filter 关得只剩 Via不然永远选不干净板子画完了发现电源孔太小需要把某个区域内的一批孔统一换掉这时候第一件事不是框选而是设置过滤器。PADS 的 Filter 里默认勾了一堆对象类型你框一下走线、铜皮、文字、器件全被选中了后面不管做什么操作都是一锅粥。正确做法打开 Filter 对话框先全部取消勾选只留下Via一项确定。这时候你在板子上框选选中的就纯粹是过孔其它对象一概不响应。这个习惯我强烈建议养成用熟了之后效率提升非常明显尤其是在密集区域做局部替换的时候。Filter 还有个进阶用法结合网络筛选。比如只想选某个电源网络上的过孔可以先把网络选中再用 Filter 限定的方式处理避免动到信号孔。PADS 里这一步的入口在不同版本略有差异但先限定对象类型再限定网络这个思路是通用的。4.2 改单个实例还是改定义两种改法的代价完全不同选好过孔之后改法有两条路代价差别很大选错了会很痛苦。第一条路是改单个实例选中一个或多个过孔右键打开属性对话框在里面把 Pad Stack 换成另一个已经定义好的过孔。这种方式只影响你选中的那些孔风险可控适合局部调整。缺点是如果是一百个孔分散在不同区域你得反复框选。第二条路是改定义直接进Setup → Pad Stacks找到那个过孔定义改它的钻孔和盘径。改完之后全板所有引用这个定义的过孔会一起变一步到位。风险在于一起变这三个字——如果有几个孔的位置本来就很挤尺寸一放大立刻压到相邻网络DRC 会报出一片违规而且这些违规往往分布在板子各处一条条看很费时间。我的经验判断法则是如果这次改动是全局性的、且预期不会引起间距问题就改定义如果是局部微调或者位置本来就紧就改实例。实在拿不准的话先改定义立刻跑一次 DRC看违规数量如果超过十几个撤销回去改成逐个替换。4.3 改完之后必须跑的几项检查替换过孔不是改完就完事下面这几项检查我每次都会做少一项都可能把问题留到打样之后。检查项用 PADS 里的什么功能关注点环宽是否达标Design Rules 中的间距规则 DRC小孔换大孔后环宽是否被侵蚀过孔与过孔间距DRC 中的 Via-to-Via阵列加密后容易压线过孔与走线/铜皮间距DRC 中的 Clearance电源孔放大后的高频违规点网络归属是否完整网表对比Netlist Compare有没有孔在网络层面变成孤儿平面层连接方式平面层的 Thermal 与间距设置散热孔的花焊盘是否正常生成最后一项特别值得强调。过孔在平面层上的连接有两种方式实连接直接连铜和花焊盘Thermal Relief靠几根辐条连接。花焊盘是为了解决焊接时散热过快导致的虚焊问题但在散热孔上你恰恰希望它连得越实越好因为目的就是把热导出去。这两者的取舍在 PADS 里是通过 Pad Stack 的 Thermal 设置和设计规则里的间距共同决定的。不同版本菜单位置略有差异但逻辑一致先定连接方式再定间隙尺寸。改完过孔之后一定要把平面层切出来看一眼确认该实连的实连、该花焊的花焊别让软件按默认值给你随机处理。5. 容易被忽略的过孔细节塞孔、散热阵列、缝合墙与背钻5.1 盖油、塞油、开窗三者的区别和 PADS 里的落点这三个词经常被混用但它们在制造端是完全不同的三件事。盖油Tented是指阻焊油墨覆盖在过孔上把孔口盖住。它只能防止焊接时锡从孔里爬上来但孔内部仍然是空的用放大镜看还是能看到凹陷甚至小孔洞。塞油Plugged是用油墨或者树脂把孔内部填实再在表面处理这是真正的填充工艺能防止孔内残留药水、避免后续使用中孔内藏污纳垢。开窗Open就是不做任何覆盖孔口直接裸露一般用在需要测试探针接触或者需要透气的场合。在 PADS 里这个设置主要落在两个地方。一是 Pad Stack 对话框里过孔的阻焊参数通过它控制是否在阻焊层上生成开窗二是在出 CAM 的时候阻焊层是否包含过孔这件事也可以单独控制。这两处的关系在不同版本里权重不同所以我的做法是不管设了哪里出完 Gerber 之后一定用 Gerber 查看工具打开阻焊层肉眼确认一遍过孔的开窗状态。这一步花两分钟能避免一整批板子做错。工艺上要真正塞孔的话记得在制板说明里明确写出来光靠文件表达不清楚板厂不会替你猜。5.2 散热焊盘下的过孔阵列怎么排QFN、DFN 这类底部带散热焊盘的器件焊接时最怕的就是散热焊盘下面的过孔把锡吸走导致焊盘虚焊。所以散热孔的设计要点是多、小、堵多热量靠数量摊薄用 3×3 或 4×4 的阵列让热阻尽可能低小孔径控制在 0.2~0.3mm孔越大虹吸效应越明显锡被吸走的风险越高堵从器件面看过去的过孔做塞孔或者盖油处理减少漏锡。排列方式上等间距的规则阵列比随意摆放效果好因为热流分布均匀。孔到焊盘边缘要留出足够间距别让孔压到焊盘边上造成工艺问题。背面如果有大面积地铜这些孔直接连到地铜上散热路径就通了。另一个常见的误区是以为孔越多越好。实际上孔多到一定程度之后边际收益递减而且孔本身占掉了焊盘的有效焊接面积反而可能让焊盘与器件的接触变差。我的经验值是 3×3 到 4×4 之间再往上加要看实际的热仿真或者实测温升。5.3 换层时的回流路径与过孔对称信号换层这件事很多人只关注信号的过孔本身忽略了回流路径。信号从第 1 层换到第 3 层如果原本参考的是第 2 层地平面换层后参考的可能变成第 4 层电源平面回流路径被迫跨越参考平面之间的分割形成一个大环路等效电感急剧上升EMI 和眼图都会变差。解决办法是在信号过孔附近加回流地孔让回流电流能就近从第 2 层跳到第 4 层的地平面。距离越近越好工程上一般要求在一个波长量级的比例范围内实际操作中就是贴着放。同一条高速线上如果有多个换层点每个点都要考虑。差分对换层时还有一条经验两个过孔要严格对称。包括孔间距、到参考平面的距离、反焊盘结构全部保持一致。不对称会导致差分信号的共模分量增加在批量生产时表现为一致性变差。PADS 里可以做差分对设置布线时自动保持对称结构建议在规则里把差分过孔的参数锁定下来别让软件自由发挥。5.4 Stub 与背钻什么情况下才值得花这个钱通孔的一个副作用是Stub残桩。假设板厚 1.6mm信号在顶层的过孔只连接到第 2 层那么从第 2 层到底层这一段铜壁就成了一段悬空的传输线分支。它不会主动参与信号传输但会在特定频率上产生谐振把能量抽走。用前面算过的方法量化一下Stub 长度约 1.2mm等效介电常数取 4.4信号在内层的传播速度约为 1.43×10⁸ m/s四分之一波长谐振频率落在 25~30GHz 附近。据此可以判断10Gbps 以内的常规设计1.6mm 板厚的 stub 影响通常在可接受范围不必特殊处理25Gbps 以上的高速链路stub 带来的阻抗不连续和谐振就会明显影响眼图需要认真评估更高频率或者更厚的板子就得考虑背钻——在过孔镀完之后用稍大的钻头从背面把不需要的那段铜壁钻掉把 stub 长度压到 0.2mm 以内。背钻的代价是工序增加、成本上升而且钻深控制有公差所以不是所有高速板都要做。判断依据就是速率、板厚和链路预算三者别一看到高速两个字就上背钻那是在烧钱。6. 从其它 EDA 工具迁到 PADS 时过孔这块最容易出的几类问题6.1 转换过来的过孔为什么会变形做过多平台迁移的人应该都有体会从其它工具导出的文件转到 PADS 之后过孔经常出问题或者盘径不对或者干脆丢失。原因在于不同工具对过孔的数据组织方式不一样转换过程需要在两套模型之间做映射而映射规则不够完备的时候参数就会走样。比较常见的几种变形盘径被统一成了某一个值原本外层大、内层小的结构没了盲埋孔在转换后全部退化成通孔因为目标工具层栈里没有对应定义花焊盘参数丢失平面层连接变成了实连接或者完全不连过孔的网络归属丢失变成一堆无主过孔。所以迁移之后不要急着开始布线先花时间核对过孔定义。具体做法是在 Pad Stacks 里把所有 Via 类型逐个看一遍对照原始设计的规格书确认孔径、盘径、Start/End Layer 是否正确然后在板子上随机抽几个位置的过孔右键看属性确认网络、层范围都没问题。这一步做完再往下走能省掉后面大量的返工。6.2 找不到过孔、放不下过孔、放了不显示几个常见症状的排查顺序遇到过孔相关的异常按下面的顺序查基本能覆盖八成情况第一是不是没进 ECO 模式。非布线状态下想加过孔必须先开 ECO这是最常见的软件没反应的原因我在文章开头就踩过。第二Pad Stack 里到底有没有可用的过孔定义。如果 Via 类型下列表是空的那界面上自然放不出孔需要先新建一个。第三当前层的可见性设置。PADS 里每一层可以单独控制显示和颜色如果过孔所在的层被关掉了或者过孔的颜色被设成了和背景一样你放完之后会觉得没生成。这时候去颜色设置里检查一下把过孔所在层的显示打开。第四过滤器或选择过滤。有时候孔确实放下去了但因为 Filter 里没勾 Via你选不中也看不到高亮误以为没生成。第五设计栅格太大。栅格设成 5mm 的时候你想在密集区域放孔鼠标会自动吸附到老远的地方看着像是放不进去。把这五条按顺序过一遍绝大部分放不了过孔的问题都能解决。6.3 版本差异带来的菜单漂移PADS 的版本跨度很大从早期的 9.x 到后来的 VX 系列菜单结构和对话框布局改过不少。同样是改过孔网络这件事在不同版本里的入口可能完全不同同样是出阻焊层的设置选项名字也可能变过。应对方法有两个。一是养成用搜索/帮助文档定位功能的习惯别死记菜单路径。二是把自己常用的几个操作做成固定流程记下来比如改过孔网络 进 ECO → 选孔 → 属性 → Net把逻辑记住菜单位置变了也能找到。顺带提醒一句安装包和版本升级尽量走正规渠道一是安全二是新版本对老文件的兼容性处理更完善反过来降版本打开会丢东西。最后分享一个我自己一直在用的小习惯新建一个 PADS 工程之后第一件事不是画图而是把过孔定义先建好并命名规范再开始布局。这个动作只花几分钟但它决定了后面所有跟过孔有关的操作是不是顺手。我见过太多项目是在画到一半的时候才发现过孔定义一团乱然后花半天时间去整理那种返工完全是自找的。