ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Allegro电源层分割实战:Anti Etch线宽与Route Keepin边界设置指南

Allegro电源层分割实战:Anti Etch线宽与Route Keepin边界设置指南 做电源层分割这件事我在 Allegro 里折腾过不少年头了。说真的刚入行那会儿最头疼的就是它——明明 Anti Etch 线画得像模像样可铜皮刷出来偏偏还是连成一片等终于把电源层分开了又发现 Route Keepin 边界没设对整板走线跑出板框生产那边直接打回来。这几年下来从 Anti Etch 线宽设置到 Route Keepin 边界规划再到出图前的 DRC 检查我算是把整套流程摸了个透。这篇文章适合谁适合刚开始接触多层板硬件设计的工程师也适合在 16.6、17.4 这些 Allegro 版本里被分割问题卡住的老手。你在里面能拿到的不是零散的操作碎片而是一条可以直接照做的完整路径先想清楚为什么要分割再定 Anti Etch 线宽接着配好 Route Keepin 边界最后按流程把铜皮一块块铺出来、检查掉坑。中间我会穿插实际板子里踩过的坑尽量让你少走几趟弯路。1. 电源层分割多路电源挤在一层关键是把铜“隔”对1.1 为什么要分割电源层它解决了什么问题现在的板子电压越来越多一个 FPGA 或者 SoC 外围经常能看到 5V、3.3V、1.8V、1.2V、0.9V 这种一串电源。如果每路电源都单独拉一层BGA 下面过孔都打不进去成本也被叠层直接顶上去。电源层分割就是让同一层铜皮分区域供电把一个大平面“切”成好几个电压岛。这么做最直接的好处是减少层数、压缩板厚、缩短电源到负载的回流路径。从信号完整性角度看分割电源层还能给关键电源做局部解耦。比如 1.2V 内核电压电流大、纹波敏感单独圈一块接近负载的区域去耦电容布在这个岛边上回路面积比从远端绕过来小很多。对高速板来说返回电流走电源平面还是地平面路径完整不完整直接影响 EMC 和信号质量。但分割不是画几条线就完事。分割线画完铜皮上会出现一条狭长的“壕沟”高速信号跨沟回流时会被迫绕路绕不动的就直接导致 EMI 问题。所以分割工作的本质是在不影响关键信号回流路径的前提下把铜面合理地切成若干个电源岛。这也是很多人一上来就画分割线、结果 DRC 一片红的根本原因。1.2 Allegro 里做分割的前提先想好正片还是负片在 Allegro 里实现电源层分割绕不开一个概念当前内层到底用正片还是负片。正片Positive指的是铜皮由 Shape 对象生成你画一个动态铜皮再指定填充参数软件把铜填出来。负片CAM Plane则反过来整层默认都是铜你只需要定义“哪里没有铜”比如反焊盘、热焊盘、隔离带。对于多路电源挤一层的场景我强烈建议用正片动态铜皮也就是每路电源单独画一个 Shape再分别分配网络。负片整层只挂一个默认网络要在一个物理层上分出多个不同网络的电压岛操作非常绕DRC 检查也不够直观。GND、完整地平面这类整层只有一个网络的场合用 CAM Plane 负片省事但到了 3.3V、5V、1.2V 混在一层的时候老老实实切到正片。选正片之后Anti Etch 线的角色就清晰了它既可以作为分割线的可视化标记也可以直接参与 Shape 的拆分。也就是说你先画好分割区域再让铜皮按这条线生成边界比单纯用矩形 Rectangle 或者 Polygon 手描要稳得多。2. Anti Etch 线宽设置一道隔离槽到底该开多宽2.1 Anti Etch 的本质是一条“铜缺失”的通道Anti Etch 在 Allegro 里的角色很容易被误解为“一条线”。实际上它是一条具有宽度的隔离槽铜皮沿着这条线会留出空隙两边的铜被物理隔开。就好比在一整面墙中间凿掉一条通道通道多宽两边的房间就相距多远。绘图时如果 Anti Etch 线宽设成了 0很多版本里这条线不会产生有效的隔离效果这也是“画了线但分不开铜”最常见的原因之一。操作上先要在颜色管理里打开对应的 ANTI_ETCH 子类。Allegro 中 Anti Etch 分布在各个层的子类下比如顶层、底层、内层都有对应的 ANTI_ETCH 层。如果你要切的是内层电源层就得选中那个内层的 ANTI_ETCH而不是在顶层画了一条以为完事。画线用 Add Line 命令然后在线宽选项里输入实际宽度。习惯上我会在 Options 面板里直接指定宽度不依赖默认值。另外需要注意Anti Etch 的“线”不要求一定是闭合图形。只要它的一端或两端搭到板框边缘、其他 Anti Etch 线或者某个固定铜皮边界上铜皮拆分时就能识别出完整的隔离路径。所以画分割图时先规划好每一道隔离槽的走向让它们最终形成完整的隔断网络。2.2 线宽给多少才合适电压差、工艺能力与流电能力一起算Anti Etch 线宽本质上是两片不同网络铜之间的间距。这个间距要考虑的首先是板厂制造能力常规工艺内层铜到铜间距最低能做到 4~6 mil但那是极限值批量生产为了保证良率至少要留 8 mil 以上。其次是电压差不同电源网络之间如果压差大就需要更大间距来满足安规爬电要求。我常用的参考原则是这样的压差范围内部电源层推荐间距备注同类型低压电源3.3V 与 5V 等压差 30V8~12 mil板厂常规能力兼顾布板密度中等压差12V、24V 与低压控制电源15~20 mil留足爬电余量高压或高 dv/dt 网络100V 以上电机驱动、开关电源30 mil 以上建议参考安规和板厂确认如果你心里没底直接就按“低压差 10 mil压差大就 20 mil”来起步。画完分割线以后用 Edit → Change 命令批量选中 Anti Etch 线在 Options 里改线宽可以一次把整条隔离带的间距调到位不用重新画。除了间距还要考虑电流。分割线把铜皮隔开后每个电源岛能流过的电流受到两个限制一是岛本身面积二是连线入口处有没有瓶颈。有些设计把 1.2V 的岛画成一条细长的“胳膊”看起来网络分了实际上铜面积根本不够走几十安培过孔进去后电压跌落严重。建议在画分割线之前先用 Sheet/方阻估算一下每路电源需要的铜皮宽度大电流区域宁可多占面积也别把分割线收得太紧。2.3 正片动态铜皮下Anti Etch 如何参与拆分如果你选正片动态铜皮流程通常是先画一整块覆盖板框的 Shape指定一个初始网络然后画 Anti Etch 线动态铜皮会自动按照 Anti Etch 的边界避让形成若干独立铜区。之后每个铜区可以单独“分家”把不同区域重新指定成不同网络。这个方式的好处是铜皮的动态填充、避让过孔、自动热焊盘都能沿用DRC 也能直接识别。实际操作时Allegro 处理这类拆分需要把 Anti Etch 转成 Shape 边界。我更常用的方式是用 Shape → Compose Shape 或者 Z-Copy 把分割区域转成闭合 Shape。Compose Shape 可以拾取已有的 Anti Etch 线段和板框边缘一起“圈”出一个封闭区域这样生成的 Shape 比手动描边精确得多也避免出现 N 个节点不闭合的怪问题。这里有个很容易忽略的点如果整块铜皮已经存在你后画的 Anti Etch 线不会自动把原来的大 Shape 切开。必须先处理原有 Shape比如用 Edit → Delete 删掉原有的统一 Shape再按分割区域逐个创建新的 Shape或者在创建新 Shape 时直接用 Compose Shape 把带 Anti Etch 的新边界作为唯一边界。顺序错了就会出现“分割线有了但铜皮还是一整块”的尴尬情况。3. Route Keepin 边界别让走线和铜皮跑出板框3.1 Route Keepin 到底是管什么的Route Keepin 是 Allegro 里用来限制布线区域的形状。它和 Anti Etch 完全是两码事Anti Etch 管的是铜皮怎么切分Route Keepin 管的是走线和过孔能在哪个范围内布线。如果把布线区域比作一个操场的围栏Route Keepin 就是那道围栏所有走线、铜皮、过孔都必须在围栏内活动。没有它Allegro 不一定拦着你在板框外面拉线到了板厂那里才发现导线已经超出外形只能返工。很多工程师只给顶层和底层设置了 Route Keepin内层忘了设。对电源层分割来说内层铜皮如果跑到板框边缘太近加工时板边毛刺、分板应力很容易让铜皮分层或短路。所以一般会要求所有铜皮离板边有一个安全距离这个距离可以通过 Route Keepin 或者单独的 Shape Keepout 来控制。这里还要区分三个概念Route Keepin、Route Keepout、Package Keepin。Route Keepin 是允许布线区域Route Keepout 是禁止布线区域Package Keepin 是器件放置范围。电源层上如果某个区域完全不允许有铜比如板边、螺丝孔附近应该画 Shape Keepout 或 Route Keepout而不是把所有希望“无铜”的地方都靠 Route Keepin 往外调。3.2 从板框快速生成 Route Keepin 的具体操作Route Keepin 的生成不建议手动描线最稳的办法是从板框直接偏移出来。先确认板框层是完整的闭合 Shape用 Edit → Z-Copy 命令把原始层选成 BOARD GEOMETRY/OUTLINE目标层选成你需要的 ROUTE_KEEPIN_TOP 或 ROUTE_KEEPIN_BOTTOM然后偏移量填入负数比如 -20单位取决于你的当前单位通常为 mil。负值表示向内收缩这样生成的 Keepin 就会比板框小一圈。对于内层电源层和信号层我认为也都要各自设置 Route Keepin。如果层数多可以建一个模板在出板框时统一生成所有层的 Keepin省得每次手动补。Allegro 17.4 里还可以用 Setup → Outline 下的 Z-Copy 批量处理把 OUTLINE 一次性复制到多个 ROUTE_KEEPIN 子类下。偏移量怎么取常规 FR-4 多层板我习惯按 20 mil 设置外两层内层 15~20 mil。如果板厂加工工艺要求铜到板边距离更大比如控深铣、V-CUT可能就得按 30 mil 来。这里优先听板厂的标准而不是自己拍脑袋。在 Allegro 中如果 Route Keepin 已经存在要修改边界可以直接选中它用 Edit → Boundary 编辑形状或者直接删掉重新 Z-Copy更快。3.3 Route Keepin 与 Anti Etch 怎么配合才不会被 DRC 反复折磨Route Keepin 和 Anti Etch 配合的关键在于铜皮拆分之后的每个电压岛既要满足 Anti Etch 隔离间距也不能越过 Route Keepin 边界。换句话说两种边界是叠加关系。分割线的端点如果刚好落在板框和 Route Keepin 之间就会产生一段“边界外区域”这个区域既没法走线又会被铜皮填满最后 DRC 报一堆错误。我的习惯是先确定 Route Keepin 向内缩多少再让所有 Anti Etch 线的端点都搭到 Route Keepin 边界或板框上绝不留悬空的断线。这样可以保证分割区域干净闭合DRC 也不容易被“铜皮悬空”“铜皮越界”这类错误刷屏。如果你实在需要 Anti Etch 线穿过 Route Keepin那就要在该位置单独加一个 Keepout把穿越点附近的铜皮扣除避免不同网络铜皮意外搭接。顺带提一下有的设计会用到“多重 Route Keepin”来做高压隔离。比如电源区域和外设区域之间除了 Anti Etch 隔离带还会在 Route Keepin 内再画一块 Route Keepout禁止信号线跨过隔离带。这在医疗、工控板里很常见。Allegro 支持多个 Keepin/Keepout 区域同时存在你只需要把它们画在同一个子类下DRC 会统一判定。4. 电源层分割全流程实操从设计规则到铺铜检查4.1 前期准备叠层类型、间距规则、颜色显示一次性调好动手画分割线之前我建议先把三件事确认掉。第一内层电源层的叠层类型要是正片动态铜皮。在 Setup → Cross Section 里把对应层的 Type 设置为 PLANE并且在实际铺铜时选用 Dynamic Copper。第二Shape 间距规则。打开 Constraint Manager找到 Spacing 约束确认 Shape 到 Shape、Shape 到 Via、Shape 到 Pin 的间距至少不低于你预期的 Anti Etch 宽度。很多人只设置了走线间距忘掉 Shape 相关间距导致分割完成以后 DRC 报的全是铜皮间距错误。第三把颜色显示整理一下。命令行输入 color然后打开 Color/Visibility 面板单独勾选电源层、对应 ANTI_ETCH 子类、Board Geometry/Outline 和 Route Keepin 这几层。这个操作虽然简单但非常影响效率。画分割线时如果同时盯着 20 多层的内容很容易看花眼。我习惯在整个分割过程中把其他信号层全部关掉只保留电源层和相关边界层画面清爽画线也快。4.2 绘制 Anti Etch 分割线从关键路径开始画完整闭环分割线的绘制顺序我建议先画“必须隔开”的再画“可以调整”的。比如大电流电源区域一定优先保证它和低压数字电源之间的隔离这是重点路径。先勾勒这块区域的 Anti Etch 边界再处理其他小电源岛。画的时候用 Add Line 命令选择对应的 ANTI_ETCH 子类线宽按第 2 节讨论的结果来。画的过程中注意几个细节。第一端点一定要吸附到板框、Route Keepin 边界或另一条 Anti Etch 线上确保后续 Compose Shape 能识别出闭合边界。第二不要画 90° 直角特别是高压隔离带。安规上尖角电场集中加工时也容易出现铜皮飞边我一般用 135° 斜角过渡。第三每隔一段就用“钉书针”式小段线标出隔离带宽度方便自己后期检查间距是否一致。Allegro 里画分割线时如果发现画错了直接使用 Oops 或者 Delete 删除不需要心惊胆战。如果整段都要调整可以用 Edit → Change 选中 Anti Etch 线改线宽或改层比删掉重画省事。等到所有区域边界都画完用 Display → Status 或者 Visibility 面板检查一下这层有没有未闭合的线段端点尽量避免“看似圈好其实漏了一口”的情况。4.3 创建电源 Shape 并分配网络正片动态铜皮的标准操作分割线画完之后接下来就是把每个区域变成真正的铜皮。这里我演示正片动态铜皮的常见操作流程如果板上还没有覆盖整个电源层的 Shape先在最底层加一个外层大 Shape范围可以比板框略小暂时指定为某一网络比如把整层先填成 GND。对每个分割区域使用 Shape → Compose Shape 命令通过 Anti Etch 和板框边界圈出该电压岛。Compose Shape 会弹出参数框提示你选择边界线段。逐一拾取对应分割线后生成闭合轮廓。为每个闭合轮廓创建一个新的 Shape然后在 Property 里指定该 Shape 的网络。比如 3.3V 区域选 3V3 网络1.2V 区域选 V1P2 网络。将每个 Shape 设置为动态铜皮填充方式建议选 Smooth。Smooth 会消除碎铜、锐角自动避让过孔和焊盘后续 DRC 也更干净。如果需要修改某个岛的形状不需要删除重画选中 Shape 后用 Edit → Boundary 拖动边界节点即可。在这个环节最容易出的问题是 Shape 创建后一直显示为“只有轮廓没有实体铜皮”。这个我放到第 5 节专门讲但你要知道大多数情况都是动态铜皮未更新导致。解决方法很简单选中 Shape 之后按 Update Shapes或者执行菜单 Shape → Update to Smooth让软件重新填充一次。4.4 铺铜后的检查DRC、碎铜、锐角、热焊盘逐个过电源层分割完成后不要急着出光绘。我的检查顺序是先跑一次整体 DRC看有没有铜皮间距、网络短路、走线越界。然后专门看电源层的碎铜和锐角。碎铜指的是那些孤立的、连接不到任何网络节点的铜皮小块它们除了增加重量和成本还会成为噪声天线的载体。Allegro 的 DRC 会提示 Undefined/Isolated shape这些要逐个删掉。锐角问题在高压区域尤其需要重视。动态铜皮 SMOOTH 后一般不会产生小于 90° 的尖角但如果你用正片静态 Shape或者 Compose Shape 时边界节点过密就有可能残留尖角。可以临时把 Shape 线框显示打开用放大镜逐个检查边界节点。发现锐角后用 Shape → Edit Boundary 调整节点位置把它变成钝角或圆角过渡。热焊盘与过孔的连接方式也要确认。电源层上的大电流过孔我一般设置成 Full Contact也就是过孔铜皮直接和plane fully 相连减小阻抗但小信号过孔如果全连接焊接时热量流失严重要设成 Thermal Relief。这个设置在 Padstack Editor 里对 Plane 层的 Thermal Relief 和 Anti Pad 参数做调整。分割完成后也可以通过 Shape → Select Shape 查看热焊盘的连接状态确定有没有处于悬空、无连接的焊盘。最后是出光绘前的整体确认。输出 Artwork 时把每个电源层对应的 Film 选出来确认 Film 的类型是 Positive。检查一下有没有把 ANTI_ETCH 层误当成铜层输出正常情况下 Anti Etch 只是设计和制造沟通用的示意层不应该单独出成铜层。如果公司流程要求板厂看到分割示意可以用 Documentation 层额外输出一份别混进铜层文件里。5. 常见问题与排查技巧分割设计中的高频踩坑实录5.1 Anti Etch 画了铜皮却分不开这种情况在 Allegro 16.6 和 17.4 里我都撞到过。原因一般有三个一是 Anti Etch 的层选错了比如你在 TOP 层上画但内层电源层是 L3二是线宽设置为 0软件不认这个隔离带三是原有大 Shape 没有被重新生成Shape 边界只认创建时的边界不会因为你后画了 Anti Etch 线就自动切分。排查顺序先确认画线时 Options 面板里的 Active Class 和 Subclass。然后选中任一条 Anti Etch 线看它的线宽属性。如果确实是宽度太小或为 0就选中后修改宽度。如果都不是就要用 Compose Shape 把分割区域重新圈出来让新 Shape 绕过原有旧 Shape或者干脆把旧 Shape 删掉再重新铺铜。总之记住一点正片动态铜皮不是“线画好了就会自动切”它需要你主动把边界作用到 Shape 上。5.2 铜皮只有轮廓没有实体很多刚接触 Allegro 的人会把这个问题当成大问题其实通常只是动态铜皮没有填充显示导致的。常见场景是用 Shape → Add Shape 创建了一个 Shape但显示模式停留在 Outline或者 Shape 类型是 Static 且没执行填充。解决办法是先选中这个 Shape右键里有 Update Shape 或 Change Shape Type把它改成 Dynamic然后执行 Shape → Update to Smooth。还有一类情况是 Shape 内部被大量的 Void 挖空看起来只剩下一个边框。这是过孔和焊盘的反焊盘太夸张或者 Shape 的 Void 设置太激进。可以打开 Shape Void 参数把最小 Void 尺寸和最小铜桥宽度调大让铜皮更完整。特别是高密度 BGA 下方铜皮被过孔挖到只剩骨架的情况不少见这时要合理设计过孔 Anti Pad而不是盲目加大 Shape 的避让范围。5.3 过孔穿越分割边界导致短路或回流问题过孔和焊盘如果跨在分割线两侧可能把本应相互隔离的电源岛通过过孔金属壁连起来。尤其是内层电源分割区域信号过孔从顶层打到底层正好穿在分割线上DRC 可能暂时不报错但实际制板后隔离间距被过孔桶壁破坏等于白分割。这种问题排查起来很隐蔽我建议用 Color/Visibility 单独显示过孔网络和 Anti Etch 线放大检查每个穿越点。处理办法有两个方向。一是“挪”把过孔稍微偏离分割线确保过孔外壁和 Anti Etch 隔离带有足够距离二是“挡”在分割线两侧加一条 Shape Keepout 或者 Route Keepout让过孔无法落在隔离带上。如果高频板面积紧张很多过孔必须贴边穿过我会把该区域的 Anti Etch 间距再放大几 mil给过孔留出“绕行通道”。5.4 热焊盘与分割线边缘的间距调不动有时候你明明在 Constraint Manager 里把 Shape 到 Pin 的间距设得很大但分割区域边界的铜皮还是离焊盘很近甚至几乎贴在一起。这是 Shape 间距规则没应用对。Allegro 的间距规则支持按区域Region、按网络Net和按网络类Net Class分级覆盖。如果你只改了默认间距而电源网络或焊盘网络属于某个特殊 Class就必须去对应 Class 的 Spacing 里修改。另外一个容易忽略的是动态 Shape 的 Void 参数。Shape 内部避让焊盘时除了受间距规则控制还受 Void 的“最小间隙”和“最小铜宽”影响。如果最小间隙设得很小即使规则间距是 10 mil实际避让也可能只有 8 mil。建议在 Shape 参数里把 Void Minimum Gap 设成一个略大于间距规则的值这样铜皮和焊盘之间不会因为避让算法而“偷吃”间距。检查时选中 Shape 看它的属性面板里面会列出实际应用的 Void 参数。5.5 出光绘时漏层、负片异常和文件命名混乱电源层分割完成后最怕出的问题就是光绘文件信息不对。我见过有人把内层电源层设成正片但 Film 设置里却保留了原来的 Negative 选项出来的 Gerber 整层颜色反转板厂根本没法加工。所以每次出光绘前Manufacturing → Artwork 里逐个 Film 检查Layer Type 是 Positive 还是 Negative必须和实际叠层设置一致。漏层也很常见。电源层分割本来就在内层如果你在 Artwork 里生成 Film 时忘记勾选某一层板厂做出来就是一块空白或者整层铜皮。我的习惯是先把所有 Film 的层列表导成文本和原理图叠层表对照一遍再生成 Gerber。另一个容易漏的是钻孔层和板框层这些虽然和电源分割没有直接关系但缺了任何一个板厂都会打电话来追不如一次检查到位。6. 几个让我省了不少时间的 Allegro 操作习惯最后分享几个个人经验。第一在 17.4 里把常用操作绑定成快捷键能大幅提升分割效率。比如把 Z-Copy 和 Update Shapes 绑到顺手的位置画完分割线之后一键生成边界、一键更新铜皮不用每次去菜单里翻。快捷键设置文件可以用 Setup → User Preferences → UI → PGP 配置也可以用命令行直接输入 alias 临时绑定。第二分割线画完后我会先截图导出到 PDF 或者图片和原理图电源树对照一遍确认每个电压区域都被圈到了正确网络。这个动作听起来很“手工”但它能避免很多高成本错误。画图的时候眼睛容易只看局部回到整体电源树视角很多遗漏的区域会自己跳出来。第三做完分割后我会在电源层上放一个 1:1 的 Debug 文本写上不同区域的网络名和预期电压比如“V1P2——1.2V MCU core”“V3P3——3.3V IO”。等回板调试的时候万用表一量就能快速定位哪个岛没铺到铜不用对着电脑反复翻文件。这个方法不高级但确实帮我省过好几次晚上加班的命。电源层分割说到底不是单点技巧它是一套从叠层规划、设计规则、布线区域到制造出图的完整链条。把 Anti Etch 线宽、Route Keepin 边界这些看似基础的小参数真正吃透再复杂的多电源板也能做得稳妥。希望这篇实战梳理能帮你在 Allegro 里少踩几个坑顺利把板子调通。
返回列表