
1. 铺铜这件事远不止“画个铜皮”那么简单刚入行那会儿我以为铺铜就是沿着板框画一圈然后点一下“确定”就完事了。直到有一次做一块开关电源板铺完铜跑热仿真发现MOSFET下方的温升比预期高了将近20℃排查了两天才意识到——铜皮是铺了但被一堆过孔和走线切得七零八落有效散热面积连设计值的一半都不到。从那以后我才真正理解铺铜在PCB设计里从来不是一个“收尾动作”它直接关系到散热、阻抗控制、EMC表现和电源完整性。这篇文章面向的是已经能跑通Allegro基本流程、但在铺铜环节总觉得“差口气”的PCB设计者。我会把动态铜与静态铜的取舍逻辑、铜皮优先级的设置思路、禁止铺铜区的处理方式、以及散热过孔阵列的实操细节全部拆开讲清楚。你不需要有很深的仿真背景只要会用Allegro画板子就能跟着操作。涉及到的参数和步骤我会把“为什么这么设”一并说透而不是只丢一个数值让你照抄。2. 动态铜与静态铜先搞清楚你需要的到底是什么2.1 两种铜皮的本质区别Allegro里的铺铜分两大类动态铜Dynamic Copper和静态铜Static Copper。很多人用了好几年Allegro对这两个概念的理解还停留在“动态铜会自动避让静态铜不会”——这个说法不算错但太表面了。动态铜的本质是一个带避让规则的参数化填充区域。你画一个ShapeAllegro会根据当前的设计规则线宽、间距、过孔避让等实时计算填充轮廓。走线挪了、过孔加了铜皮会自动重新计算避让。它的优势在于“活的”修改设计时不需要手动重新铺。代价是每次编辑都可能触发重算板子大了之后操作会有明显卡顿。静态铜则是一块已经固化的填充数据。它不会自动避让任何东西你画成什么样就是什么样。听起来很笨但它在特定场景下反而更可靠——比如射频板的接地铜皮、大电流路径的铜皮你希望它的形状完全可控不希望软件“自作主张”地避让。2.2 什么场景该用哪种铜我自己的习惯是这样的数字电路和低速模拟电路的接地铺铜一律用动态铜。因为这些区域的走线经常调整动态铜能省去大量重复劳动。电源模块的输入输出大电流路径用静态铜。电流路径的形状直接影响寄生电感和电阻我不希望软件因为某个过孔的位置变化就改变铜皮轮廓。射频和高速差分区域参考层用静态铜并且手动控制铜皮边缘与走线的距离。动态铜的自动避让在这里反而可能引入不可控的阻抗突变。散热焊盘下方的铜皮用静态铜配合手动放置的散热过孔阵列。动态铜在密集过孔区域的重算开销很大而且避让结果不一定符合散热需求。提示一块板上同时存在动态铜和静态铜是完全正常的。关键是在铺铜之前就想清楚每个区域的功能需求而不是全部铺完再回头改。2.3 动态铜的参数设置要点在Allegro中执行Shape Global Dynamic Params会弹出动态铜的全局参数设置窗口。这里面有几个参数值得特别关注Clearance避让间距这个值通常跟随设计规则中的间距约束。但有一个细节——动态铜的避让间距是“铜皮边缘到其他对象边缘”的距离而不是中心到中心。如果你在Constraint Manager里设了6mil的间距动态铜就会严格按照6mil避让。实际项目中我一般会在此基础上留1-2mil的余量防止加工时的蚀刻偏差导致铜皮与走线短路。Thermal Relief热焊盘连接方式这个参数决定了铜皮与焊盘之间的连接方式。有两种选择——Solid实心连接和Thermal Relief花焊盘连接。实心连接的导热和导电性能最好但焊接时焊盘散热太快容易导致虚焊。花焊盘连接通过四根或更多的“辐条”连接焊盘和铜皮既保证了电气连接又减缓了散热速度。对于需要手工焊接的板子花焊盘是更稳妥的选择。辐条宽度和数量默认是4根辐条宽度跟随线宽规则。对于大电流焊盘我会把辐条数量增加到6根或8根宽度也适当加大。对于散热焊盘辐条宽度反而要收窄通常设为8-10mil目的是在保证电气连接的前提下尽量增加热阻。3. 铜皮优先级解决铜皮重叠和避让混乱的关键3.1 优先级到底在控制什么铜皮优先级Shape Priority是Allegro铺铜中一个极其重要但经常被忽视的概念。当你在一块区域上重叠了多个铜皮时优先级决定了谁避让谁、谁覆盖谁。举个实际例子一块电源板上底层有一大片GND铺铜同时电源输出端有一块VOUT铜皮。如果VOUT铜皮的优先级低于GND铜皮那么VOUT铜皮会被GND铜皮“吃掉”——GND铜皮会覆盖VOUT区域导致电源输出断开。反过来如果VOUT铜皮优先级更高GND铜皮就会在VOUT区域自动避让两者和平共处。优先级的数值范围通常是0到100数值越大优先级越高。默认新建的铜皮优先级是0。我的习惯是GND铺铜优先级设为0或1作为底层的基础铺铜。电源铜皮VCC、VDD等优先级设为5-10确保它们不会被GND铜皮覆盖。大电流路径铜皮优先级设为15-20这些铜皮的形状和宽度是经过计算的不能被其他铜皮干扰。特殊功能铜皮如射频接地、屏蔽铜皮优先级设为30以上确保完全可控。3.2 优先级冲突的典型场景与处理最常见的优先级问题出现在电源分割区域。比如一块板子有3.3V和5V两个电源域你在同一层铺了两块铜皮。如果优先级设置不当可能出现以下情况3.3V铜皮和5V铜皮重叠区域低优先级的被高优先级的避让导致低优先级铜皮出现缺口。两个铜皮都避让中间出现一条无铜的“隔离带”如果这条隔离带恰好穿过某个器件的焊盘就会导致连接问题。处理方法是先确认两个电源域之间是否需要隔离。如果需要隔离就手动在中间画一条禁止铺铜区Keepout然后分别铺铜优先级设为相同值。如果不需要隔离比如两个电源域通过0欧姆电阻连接就把它们合并为一个铜皮或者设置不同的优先级让其中一个覆盖另一个。注意修改铜皮优先级后必须执行Shape Update Shape或全局重铺Shape Global Dynamic Params Update to Smooth否则优先级变化不会立即生效。我见过有人改了优先级但没重铺调试了半天以为是规则问题。3.3 用Skill脚本批量管理优先级当板子上有几十块铜皮时手动一块块改优先级效率很低。Allegro支持Skill脚本可以批量修改铜皮属性。下面是一个简单的示例把所有GND网络的铜皮优先级设为1axlCmdRegister(setGndPriority setGndPriority) defun(setGndPriority () let((shapes shape net) shapes axlDBGetShapes(ETCH) foreach(shape shapes net axlShapeGetNet(shape) if(net GND then axlShapeSetPriority(shape 1) ) ) axlDBRefresh() ) )这段脚本的逻辑很直接遍历所有ETCH层的Shape如果网络名是GND就把优先级设为1。你可以根据需要修改网络名和优先级数值。把这段代码保存为.il文件在Allegro中通过Skill Load加载后输入setGndPriority即可执行。4. 禁止铺铜区不是画个框就完事了4.1 Keepout区域的正确画法禁止铺铜区Keepout在Allegro中通过Shape Rectangular或Shape Polygonal来绘制但关键在于层设置。很多人画Keepout时只选了ETCH层结果发现动态铜确实避让了但静态铜依然我行我素。正确的做法是Keepout需要同时设置在ETCH层和Package Keepout层如果涉及器件禁布。对于铺铜控制至少要在ETCH层的所有相关子层TOP、BOTTOM、内层上都画上Keepout。Allegro的Keepout是一个“区域属性”它告诉动态铜“这块地方不要铺”但对静态铜没有约束力。4.2 常见需要设置Keepout的场景天线区域射频板上的天线净空区任何铜皮都会影响天线性能。Keepout要覆盖所有层。晶振下方晶振是敏感器件下方的铜皮可能引入寄生电容影响起振频率。通常建议在晶振下方所有层设置Keepout。变压器和电感下方开关电源中的变压器和电感下方铺铜会形成涡流损耗降低效率。Keepout要覆盖变压器投影区域。高压隔离区涉及安规要求的区域铜皮间距不够会导致耐压测试失败。Keepout要留出足够的爬电距离。螺丝孔和安装孔周围金属螺丝可能与铜皮短路Keepout半径通常设为孔径的1.5-2倍。4.3 Keepout与铜皮的交互细节动态铜遇到Keepout时会自动在Keepout边界外留出避让间距。这个间距值由动态铜的Clearance参数决定。如果你希望铜皮紧贴Keepout边界比如某些散热场景可以把该铜皮的避让间距单独设小。静态铜不会自动避让Keepout。如果你在已有静态铜的区域画了Keepout必须手动编辑静态铜的形状把Keepout区域挖掉。操作方法是选中静态铜执行Shape Edit然后用Cut命令沿着Keepout边界切割。实操心得我通常会在布局阶段就把所有Keepout画好然后再铺铜。这样动态铜一次性就能避让到位省去后期反复调整的麻烦。如果先铺铜再画Keepout动态铜需要重新计算板子大了之后等待时间很长。5. 散热过孔阵列参数计算与实操5.1 散热过孔的作用与设计目标散热过孔Thermal Via的核心作用是把热量从器件焊盘传导到板子内部或背面的铜皮上。它的设计目标是在有限的焊盘面积内尽可能降低热阻同时不影响焊接质量。热阻的计算公式是$$R_{th} \frac{L}{k \cdot A}$$其中L是过孔长度即板厚k是铜的导热系数约400 W/m·KA是过孔的横截面积。对于典型的1.6mm板厚、0.3mm孔径的过孔单个过孔的热阻大约是80-100 K/W。如果焊盘下方放9个这样的过孔并联后的热阻可以降到10 K/W左右效果非常明显。5.2 过孔参数的选择孔径0.2-0.3mm是常见选择。孔径太小加工成本高太大则占用焊盘面积。0.3mm是性价比最高的选择。孔壁铜厚标准是25μm如果散热要求高可以要求加厚到35μm。但要注意孔壁铜厚增加会提高加工难度和成本。过孔间距通常设为孔径的2-3倍。太密会导致焊盘强度下降太疏则散热效果打折扣。过孔与焊盘边缘的距离至少留0.15mm防止过孔破盘。5.3 在Allegro中批量放置散热过孔手动一个个放过孔效率太低。我的做法是在焊盘中心放置一个过孔设置好网络和参数。使用Copy命令配合Polar或Rectangular阵列模式批量复制过孔。复制时注意勾选Retain net确保过孔网络与焊盘一致。放置完成后用Tools Padstack Modify Design Padstack检查过孔是否与焊盘重叠。对于BGA封装的散热焊盘我通常会在焊盘内放置一个3x3或4x4的过孔阵列。如果焊盘面积允许还会在焊盘外围再放一圈过孔进一步降低热阻。注意散热过孔必须做塞孔处理Tenting或Plugging否则焊接时锡膏会从过孔流走导致虚焊。在Allegro中通过Manufacturing Drilling设置过孔的塞孔属性。6. 铜皮编辑与优化从“能看”到“好用”6.1 铜皮轮廓的手动优化动态铜自动避让后的轮廓往往不够“漂亮”——可能出现尖角、细颈、孤岛等问题。这些问题不仅影响美观还可能影响电气性能。尖角铜皮边缘的尖角会导致电场集中在高压场景下可能引发电晕放电。用Shape Edit Vertex命令把尖角改成圆角或钝角。细颈铜皮某处宽度突然变窄会导致电流密度集中局部温升过高。用Shape Edit Reshape命令加宽细颈区域。孤岛被走线和过孔完全隔离的铜皮碎片没有任何电气连接相当于一个悬浮的金属片可能成为EMI天线。用Shape Delete Island命令删除孤岛。6.2 铜皮与走线的连接方式铜皮与走线的连接有两种方式直接连接和花焊盘连接。对于电源和地网络通常使用花焊盘连接原因和焊盘的热焊盘连接一样——减缓散热便于焊接。对于大电流路径使用直接连接以降低电阻。在Allegro中这个设置位于Shape Global Dynamic Params Thermal Relief。你可以为不同的网络类别设置不同的连接方式。比如GND网络用花焊盘VCC网络用直接连接。6.3 铜皮重铺的时机与技巧动态铜在以下情况需要重铺修改了设计规则线宽、间距等移动了走线或过孔修改了铜皮优先级添加或删除了Keepout重铺的命令是Shape Global Dynamic Params Update to Smooth。对于大型板子重铺可能需要几分钟甚至更长时间。我的经验是不要频繁重铺。先把所有修改做完最后统一重铺一次。如果中途需要查看效果可以用Shape Manual Update只更新当前可见区域的铜皮。实操心得重铺之前先保存文件。我遇到过重铺过程中软件崩溃的情况如果没有保存之前的工作全部白费。另外重铺后建议用Tools Quick Reports Shape检查是否有孤岛或未连接的铜皮。7. 常见问题与排查技巧实录7.1 铜皮不避让或避让异常现象动态铜没有按照规则避让走线或过孔或者避让间距明显不对。排查思路检查设计规则中的间距约束是否生效。执行Setup Constraints Constraint Manager确认Spacing规则中相关网络类的间距值。检查铜皮的优先级是否被其他铜皮覆盖。检查是否有Keepout区域与铜皮重叠。执行Shape Global Dynamic Params Update to Smooth强制重铺。常见原因设计规则中的间距约束没有应用到铜皮所在的网络类。比如铜皮是GND网络但GND网络的间距规则设的是默认值而实际需要更小的间距。7.2 铜皮出现孤岛现象铜皮被走线和过孔切割后出现完全隔离的碎片。解决方法用Shape Delete Island删除孤岛。如果孤岛区域需要保留铜皮可以调整走线路径让铜皮保持连通。在铺铜前规划好走线路径尽量避免走线把铜皮切成碎片。7.3 铜皮与焊盘连接不良现象铜皮与焊盘之间的花焊盘辐条太细或数量不足导致连接电阻过大。解决方法在Shape Global Dynamic Params Thermal Relief中增加辐条数量或宽度。对于大电流焊盘改用直接连接。检查焊盘的热焊盘设置是否被铜皮的全局设置覆盖。7.4 重铺后铜皮消失现象执行重铺后某些铜皮完全消失了。排查思路检查铜皮是否被设置为静态铜而静态铜不会自动重铺。检查铜皮所在层是否被关闭显示。检查铜皮是否被其他高优先级铜皮完全覆盖。检查是否有Keepout区域完全覆盖了铜皮。常见原因铜皮被误设为静态铜而静态铜在重铺时不会更新。解决方法是用Shape Change Shape Type把静态铜改为动态铜。7.5 铜皮导致EMC问题现象板子跑EMC测试时辐射发射超标排查发现与铺铜有关。排查思路检查铜皮是否有孤岛或尖角这些结构可能成为天线。检查铜皮与走线之间的间距是否足够间距过小会导致耦合。检查铜皮是否在敏感信号下方形成了不连续的参考面。对于电机驱动板检查电机下方是否有铺铜涡流损耗可能导致EMC问题。解决方法删除孤岛修整尖角。增加铜皮与敏感走线的间距。在敏感信号下方保持参考面完整必要时手动编辑铜皮形状。电机下方设置Keepout避免铺铜。8. 铜皮与电源完整性的关系8.1 铜皮作为电源平面在多层板中铜皮经常被用作电源平面。电源平面的质量直接影响电源完整性PI。关键指标包括平面阻抗铜皮的厚度、宽度和长度决定了平面阻抗。对于大电流路径铜皮要足够宽通常按照1A电流对应1mm铜皮宽度1oz铜厚来估算。平面谐振大面积铜皮在特定频率下会发生谐振导致电源噪声放大。可以通过在铜皮上增加去耦电容或分割铜皮来抑制谐振。返回路径连续性高速信号的返回电流总是走阻抗最小的路径通常是参考平面。如果参考平面被分割返回电流被迫绕行导致环路面积增大EMI辐射增强。8.2 铜皮分割的注意事项电源平面分割是常见的做法但分割不当会带来严重问题分割线宽度分割线即两个铜皮之间的间隙通常设为20-50mil。太窄可能导致加工时短路太宽则占用宝贵的布线面积。信号跨分割高速信号线绝对不能跨越电源平面的分割线。如果必须跨越要在跨分割处放置缝合电容为返回电流提供低阻抗路径。分割区域的大小每个电源域的面积要足够大确保去耦电容有足够的铜皮连接。提示在Allegro中可以用Shape Split Shape命令分割铜皮。分割后要检查每个区域的网络属性是否正确。9. 铜皮与散热设计的配合9.1 铜皮作为散热器铜皮是PCB上最有效的散热手段之一。1oz铜厚的铜皮每平方英寸的热阻大约是50-60 K/W。通过增加铜皮面积、增加铜厚2oz或3oz、增加散热过孔可以显著降低器件温升。9.2 散热铜皮的设计要点铜皮面积越大越好但受限于板子尺寸和布线密度。铜皮形状尽量规则避免细长条形状。细长条的散热效果远不如等面积的方形。铜皮位置优先放在器件正下方和周围热量传导路径越短越好。铜皮与器件的连接对于散热焊盘使用直接连接而不是花焊盘连接以降低热阻。铜皮与空气的接触如果铜皮在板子表面可以开窗Solder Mask Opening让铜皮直接接触空气散热效果更好。但要注意开窗铜皮容易氧化需要做表面处理如沉金。9.3 散热过孔阵列的优化散热过孔阵列的设计需要平衡热阻和焊接质量过孔数量根据热阻目标计算。假设单个过孔热阻为100 K/W目标热阻为10 K/W则需要至少10个过孔并联。过孔分布均匀分布在焊盘内避免局部过热。过孔与焊盘的连接过孔必须与焊盘可靠连接否则热阻会大幅增加。塞孔处理如前所述散热过孔必须塞孔防止锡膏流失。10. 铜皮与阻抗控制的配合10.1 铜皮对阻抗的影响在高速信号走线下方或旁边铺铜会改变走线的阻抗。对于微带线下方的参考平面是阻抗计算的一部分。如果参考平面不完整被分割或挖空阻抗会发生变化导致信号反射。10.2 阻抗控制场景下的铺铜策略参考平面完整高速信号下方的参考平面必须完整不能有分割或挖空。如果必须挖空要在挖空区域边缘放置缝合过孔为返回电流提供路径。共面波导对于共面波导结构走线两侧的铜皮与走线的间距直接影响阻抗。这个间距需要根据阻抗计算结果精确设置不能随意调整。差分对差分对下方的参考平面必须完整两侧的铜皮要对称否则会导致差分阻抗不匹配。实操心得在Allegro中可以用Tools Impedance工具计算走线阻抗。铺铜后要重新计算确认阻抗没有因为铜皮的避让而发生变化。11. 铜皮与EMC设计的配合11.1 铜皮在EMC中的作用铜皮在EMC设计中扮演双重角色一方面完整的接地铜皮可以屏蔽电磁辐射降低EMI另一方面不恰当的铜皮如孤岛、尖角、长条可能成为辐射源恶化EMC。11.2 EMC友好的铺铜策略接地铜皮完整接地铜皮要尽量完整避免被走线切割成碎片。如果必须切割要在切割处放置缝合过孔。铜皮边缘处理铜皮边缘的尖角要修圆减少电场集中。铜皮与板边距离铜皮与板边通常留20-50mil的距离减少边缘辐射。对于EMC要求高的板子可以在板边增加一圈接地过孔形成“过孔墙”。敏感信号屏蔽对于时钟、射频等敏感信号可以在其周围铺接地铜皮并放置缝合过孔形成屏蔽腔。11.3 电机驱动板的铺铜特殊处理电机驱动板是EMC问题的重灾区。电机下方铺铜会形成涡流损耗不仅降低效率还可能产生电磁干扰。我的做法是电机投影区域设置Keepout所有层都不铺铜。电机驱动电路下方铺铜但要用密集的缝合过孔连接到地平面。大电流路径的铜皮要足够宽减少寄生电感。在电机接口处放置共模电感和滤波电容。12. 铜皮与制造工艺的配合12.1 铜厚选择1oz35μm最常用的铜厚适用于大多数数字和模拟电路。2oz70μm适用于电源电路和大电流路径载流能力是1oz的两倍。3oz及以上适用于高功率电路但加工成本高蚀刻精度下降。12.2 铜皮与蚀刻精度铜皮越厚蚀刻时侧蚀越严重导致铜皮边缘不整齐间距难以控制。对于细间距走线4mil建议使用1oz铜厚。如果必须使用2oz铜厚间距要相应加大。12.3 铜皮与阻焊层铜皮上的阻焊层Solder Mask可以保护铜皮不被氧化但也会影响散热。对于需要散热的铜皮可以开窗让铜皮裸露但要做表面处理如沉金、OSP。注意开窗铜皮在焊接时容易沾锡导致铜皮表面不平整。如果铜皮开窗区域靠近焊盘要确保锡膏不会流到铜皮上。13. 铜皮设计检查清单在完成铺铜后我通常会按照以下清单逐项检查检查项检查内容常见问题铜皮连通性所有铜皮是否与目标网络可靠连接孤岛、细颈导致连接不良避让间距铜皮与走线、过孔的间距是否符合规则间距过小导致短路风险优先级重叠铜皮的优先级是否正确低优先级铜皮被覆盖Keepout禁止铺铜区是否覆盖所有需要的位置遗漏导致铜皮进入禁布区散热过孔散热过孔数量、孔径、塞孔是否满足要求过孔不足导致散热不良孤岛是否有孤立的铜皮碎片孤岛成为EMI天线尖角铜皮边缘是否有尖角尖角导致电场集中阻抗高速信号参考平面是否完整参考面不完整导致阻抗突变EMC铜皮是否满足EMC设计要求铜皮成为辐射源制造铜厚、间距是否满足加工能力超出加工能力导致良率下降这张表我一般会打印出来每完成一块板子就对照检查一遍。刚开始觉得麻烦但养成习惯后很多低级错误在出图前就能发现省去了大量返工时间。14. 几个容易被忽视的细节14.1 铜皮与测试点的关系测试点通常需要开窗如果测试点周围有铜皮要确保铜皮不会与测试探针短路。我的做法是在测试点周围设置一个小Keepout半径比测试点大10-15mil。14.2 铜皮与安装孔的关系金属安装孔如果与铜皮接触可能导致短路。对于非接地安装孔要在孔周围设置Keepout。对于接地安装孔可以直接与铜皮连接但要注意安装孔的金属化处理。14.3 铜皮与拼板的关系拼板时V-CUT或邮票孔位置不能有铜皮跨越否则分板时会撕裂铜皮。在拼板设计时要在V-CUT位置设置Keepout所有层都不铺铜。14.4 铜皮与文件输出的关系出Gerber文件时要确认铜皮是否正确输出。有时候铜皮在Allegro中显示正常但Gerber中却缺失或变形。我的习惯是出完Gerber后用CAM工具如CAM350检查一遍确认铜皮轮廓和避让关系与设计一致。15. 从实战中积累的几个经验铺铜这件事说到底是一个“平衡”的艺术。你要在电气性能、散热、EMC、制造工艺和设计效率之间找到最佳平衡点。没有一种铺铜方式能适用于所有场景关键是根据具体需求做出合理取舍。我自己的习惯是在布局阶段就规划好铺铜策略而不是等到布线完成后再考虑。比如哪些区域需要完整接地平面哪些区域需要电源分割哪些区域需要禁止铺铜这些在布局时就要心中有数。这样在布线时就能有意识地保护关键铜皮区域避免后期反复调整。另外不要迷信自动避让。动态铜的自动避让虽然方便但结果不一定最优。对于关键区域我通常会手动编辑铜皮轮廓确保形状和间距完全符合设计意图。自动避让适合处理大面积、非关键的铺铜区域关键区域还是要靠手动控制。最后分享一个小技巧在Allegro中可以用Shape Compose命令把多个小铜皮合并成一个大铜皮。这个命令在整理零散铜皮时非常有用可以减少铜皮数量简化后续的编辑和重铺操作。