做PCB设计这些年,电源层分割是我见过翻车率最高的操作之一。很多新手拿着Allegro,知道要分割电源层,但第一步就卡在Anti Etch线宽到底填多少;好不容易画完分割线,又发现Route Keepin边界没做好,DRC报错红成一片;还有人分割完成后铜皮根本没有任何变化,查了半天才发现是分割线没有闭合。这篇文章就把整个流程串起来讲一遍:从Anti Etch线宽设置开始,到Route Keepin边界管理,再到完整的分割操作、检查方法和避坑指南。文章适合刚接触Allegro电源层分割的硬件工程师,也适合那些已经会画分割线但总在检查环节被DRC折磨的兄弟参考。
1. 电源层分割前的整体设计思路
1.1 为什么必须做电源层分割
现在的板卡上几乎不可能只有一个电源轨。主芯片需要1.8V或3.3V,接口可能需要5V或12V,模拟部分要独立的模拟电源和模拟地,再算上给背光、风机供电的更高压电源,轻轻松松就是七八个电源网络。如果每种电源都单独占一层,8层板都不够用。所以常规做法是专门用一个电源平面层,通过切割铜皮的方式给不同电源网络划分出各自的区域,这就是电源层分割。
分割的本质,是在同一层物理铜皮上用隔离带划出多个独立的导电区域,每个区域通过过孔连接到对应的电源网络。这样做能大幅减少叠层层数、降低成本,同时保证每个电源轨都有足够大的参考平面。尤其是高速数字电路,返回电流需要紧贴信号走线,如果电源层不做分割,不同电源网络之间会互相干扰,信号完整性和电磁兼容都会出问题。
1.2 分割前的方案规划要点
我先说结论:不要打开软件就动手画分割线,先把电源分布和电流流向在脑子里过一遍。我是这么规划的:
- 先拉出完整的电源树,把主电源、次级电源、模拟电源、地网络都列清楚,确认哪些网络需要独立的铜皮区域,哪些可以共用。
- 高电流的电源轨,比如整板供电入口、多路DCDC输出,优先安排在最靠近负载的区域,确保铜皮路径短、宽度足,避免电流绕远路产生额外的压降和温升。
- 分割线尽量沿着器件引脚稀疏的区域穿过,避免分割线下面全是过孔和引脚,导致相邻区域之间通过过孔形成意外连接。
- 模拟地和数字地如果需要隔离,分割带要适当加宽,并且只能通过单点连接,否则会引入地环路噪声。
还有一点经常被忽略:分割区域的最小宽度要能承载预期电流。以内层1oz铜厚为例,1A电流通常需要至少20mil的铜皮宽度,如果一个区域里的负载电流是3A,那么这个区域最窄处至少要60到70mil。规划阶段用这个经验值粗算一下,能省掉后期很多返工。
2. Anti Etch线宽设置详解:为什么这个参数决定分割成败
2.1 Anti Etch到底是什么
在Allegro中,Anti Etch是专门用来定义铜皮分割位置的线条工具。它本身不是铜线,也不存在于最终的光绘文件里,它只是一个标记,告诉工具:沿着这条线两侧的铜皮要断开。
这里要分清楚正片层和负片层的处理方式:
- 负片电源层,最常见的情况是整层默认都是铜皮,画一条Anti Etch线,它就成为铜皮中间的隔离带。生成光绘时,Anti Etch线所在的位置会被掏空,形成一道绝缘缝隙。
- 正片电源层,也就是所谓Positive Plane,默认没有铜皮,需要用Shape来绘制独立的铜块,分割天然存在,一般不依赖Anti Etch。
所以标题里说的“Anti Etch线宽设置”,主要针对负片电源层。线宽直接决定这根“分割刀”切出来的缝隙有多宽,直接影响电气安全、制造可加工性和铜皮面积利用率。
2.2 Anti Etch线宽设多少才合适
这个问题没有标准答案,但有一个经验区间:10到20mil。我个人的默认值是12mil。选择12mil的依据是:
- 绝大多数PCB厂家能做到的最小隔离间距在6到8mil左右,12mil留了足够的制造余量,不会因为工艺波动导致隔离失效。
- 12mil对板内常见低压电源,比如3.3V、5V、12V之间的隔离来说,电气上完全够用。
- 太宽会浪费铜皮面积,尤其在高密度板上,每一点面积都很宝贵。
什么情况需要加宽?如果分割的是模拟区和数字区,或者两个分割区域之间存在较大压差,比如24V、48V,建议把Anti Etch线宽增加到20mil以上。如果涉及强电,比如220V AC,光靠Anti Etch线宽是不够的,还要查安规对爬电距离的要求,通常需要2mm以上,并且还要配合开槽处理。
还有一个容易忽略的细节:最终的隔离缝隙宽度并不等于Anti Etch线宽。负片铜皮到Anti Etch线之间还会有一圈由shape间距规则控制的安全间距,实际造出来的隔离缝隙等于“线宽加两侧间距”。所以你在规则里看到12mil的Anti Etch,实际板厂看到的缝隙可能已经是20mil往上。
2.3 Anti Etch线宽的设置位置与操作细节
在Allegro里设置Anti Etch线宽,具体分两种方式:
方式一,画线时在Options面板设置。在Allegro PCB Editor中,先切换到要分割的层,在右侧Options面板把Active Class and Subclass切到Anti Etch的对应层,比如GND/Anti Etch,在Line width一栏输入12mil,然后选择要关联的电源网络,最后使用Add Line命令开始画分割线。
方式二,设置默认线宽。在Constraint Manager的Physical规则里可以找到Antietch相关的线宽设置,17.4版本里路径略有变化,但通常还是在Setup > Constraints > Physical里配置。设置默认线宽的好处是每次新建分割线时不用反复输入,也能避免不小心用了上次残留的错误值。
实际操作中,我每次画分割线之前都会习惯性瞄一眼Options面板里的Line width。Allegro不会自动帮你记住上次设置,切过层或者改过选项后,线宽可能已经变成别的值。你辛辛苦苦画完一圈分割线,结果其中一小段用的是8mil,后期DRC又会跳出来报错,又得返工。
2.4 画分割线的实操技巧
分割线画得整齐不整齐,直接影响分割效果和DRC结果。几个实用技巧:
- 画分割线之前,先单独显示当前电源层和Anti Etch层,把其他层的显示关掉,减少视觉干扰。
- 尽量使用直线和斜线走线,避免大量小圆弧。分割线不是布线,不需要追求弧形美学,直线更容易保证闭合和检查。
- 分割线必须首尾闭合。如果起点和终点没有闭合,哪怕只差0.01mil,分割也不会生效。
- 分割线不要画成锐角。锐角在PCB制造蚀刻时容易残留药液,可能导致隔离不彻底。
- 画完分割线后,用Shape菜单下的Delete Islands检查铜皮区域,看是否存在被分割出来的孤立铜皮。孤岛通常是很小一块没有网络的铜皮,对电气性能没有帮助,还可能成为天线,必须清理掉。
3. Route Keepin边界设置:给电源分割画一个安全围栏
3.1 Route Keepin是什么
Route Keepin是Allegro中的限定区域,定义了一块允许布线、铺铜的矩形或不规则区域。可以把它理解成一个围栏:围栏内部是合法的活动区,围栏外部不允许走线和铜皮存在。
与之对应的是Route Keepout,它是一个禁区。一个是圈定可以做什么,一个是圈定禁止做什么,逻辑正好相反。画分割线的时候,很多人知道Route Keepin的存在,但不清楚它和电源层分割有什么关系,直到DRC飘红才反应过来。
3.2 为什么电源分割前要先把Route Keepin做好
很多人的习惯是把Route Keepin放在布线阶段才设置,理由是走线的时候才用得到。但在电源层分割的流程里,Route Keepin必须提前设置,原因有两点。
第一,分割铜皮不能超出Keepin边界。如果没有Route Keepin,或者Keepin定义得太靠板边,电源层的铜皮可能一路铺到板框边缘。板厂在制造时板边是要锣掉的,铜皮一旦延伸到板边,轻则毛刺,重则短路风险,而且分板时很容易撕裂铜皮。
第二,DRC需要Keepin作为检查依据。Allegro的DRC会检查铜皮是否超出Route Keepin边界。如果压根没建Keepin,这项检查就是空的,问题要等到光绘出来或者板厂反馈时才能发现,那已经很晚了。
所以无论从哪个角度看,Route Keepin都应该是电源层分割之前的一项前置工作,而不是等到布线阶段再着急补。
3.3 Route Keepin的设置方法与偏移值选择
设置Route Keepin最常用的是Z-Copy命令,具体步骤如下:
- 菜单进入Edit > Z-Copy。
- 在Options面板中设置Copy to为Route Keepin,Subclass选All或指定需要的层。如果只是管理电源层分割,建议至少选All,因为后续布线同样需要Keepin。
- Offset输入偏移量,例如0.5mm。
- 选中板框Board Outline,点击一下,Route Keepin就会沿着板框向内收缩0.5mm生成。
这里有一个关键点:Offset的正负方向。正数表示向内收缩,这是常规用法,因为Route Keepin区域要略小于板框,给板边留出安全距离;负数表示向外扩张,通常不会这么用,除非你的板框本身比有效区域小。
偏移量选多少?一般取0.5mm。如果板子特别小,空间紧张,可以取0.3mm;如果板边有大量表贴元件或金属结构件,建议取1mm以上。对于电源层分割来说,Keepin至少离板边0.5mm,才能保证分割后的铜皮不会逼近板边。
如果你用的是Allegro 17.4,操作菜单和参数基本一致,只是界面换成了新风格,不用太担心找不到入口。
3.4 Route Keepin与Anti Etch线的协作关系
画分割线时有一个隐藏约束:Anti Etch线不能画到Route Keepin边界之外。如果你把分割线画出去了一小段,DRC会报Antietch到Route Keepin的间距违规。
我在一个项目里就遇到过这种情况:板框是不规则形状,Z-Copy出来的Route Keepin在某个角落凹进去一截,分割线恰好要从那里穿过,结果怎么画都报间距错误。后来查了好几分钟才意识到不是间距设置的问题,而是分割线出了Keepin边界。把那个区域的Keepin手动补了一个角之后,问题立刻解决。
所以画分割线之前,建议先把Route Keepin和Anti Etch层同时打开,确认分割路径完全在Keepin范围内,再开始画,不要等到DRC报了才回头处理。
4. 从零到一:电源层分割完整实操流程
4.1 准备工作与叠层确认
开始之前先把板子打开,确认叠层设置。找到你的电源层,确认它是负片还是正片。如果电源层是Negative,就用Anti Etch方案;如果是Positive,直接用Shape绘制独立铜块,不需要Anti Etch。
还要确认一下电源网络的分类。我一般会在原理图阶段就把电源网络按主电源、次级电源、模拟电源、地分组命名,比如3V3_MAIN、1V8_DDR、AVDD、AGND。命名规整,在Allegro里灌网络时不容易搞混,分割完检查网络归属也会省很多事。
4.2 第一步:设置Anti Etch线宽
进入PCB Editor后,先把默认的Anti Etch线宽设好,不要等画线时再临时改。如果你习惯手动临时设置,也要在Options面板里反复确认。
具体操作:画线状态下,在Options面板将Active Class设为Anti Etch,Subclass设为目标电源层,比如GND/Anti Etch,然后在Line width输入12mil。如果希望保存为默认,去Setup > Constraints > Physical里对应规则集下修改Antietch线宽。
4.3 第二步:用Z-Copy生成Route Keepin
使用Edit > Z-Copy,源选择Board Outline,目标选择Route Keepin / All,偏移量设为0.5mm,点击板框生成。
生成之后做一个快速检查:放大到每个板边角落,确认Keepin完整包围了整个有效布线区,没有被板框的凹角切掉。如果有缺口,用Shape编辑工具补一下。
4.4 第三步:规划并绘制Anti Etch分割线
这一步是整个流程的核心。我的习惯是这样:
- 在显示设置中把当前电源层、Anti Etch层、Route Keepin三层显示出来,其他层全部隐藏。
- 把所有电源网络用不同颜色Highlight出来,这样哪里该分哪里不该分一目了然。
- 从主电源区域开始,用Add Line命令在Anti Etch对应层画出第一圈分割线。
- 画分割线时注意端点的闭合。我习惯用Snap to Segment或Snap to Grid来画,保证终点能精确落在起点的延长线上。
- 依次画出其他电源网络的分割区域,每画完一个区域就放大到该区域确认闭合。
4.5 第四步:检查分割结果并处理孤岛
分割线画完之后,先不要急着出光绘,做三件事:
- 检查孤岛,使用Shape菜单里的Delete Islands,工具会列出当前层上的孤立铜皮。如果发现小块没有任何网络连接的铜皮,直接删除。
- 检查网络归属,把每个分割区域选中,用Show Element查看它关联的Net是否正确。
- 运行DRC,在Allegro中执行Display > DRC Update,检查是否有Antietch、Keepin相关的违规项。
4.6 第五步:出光绘前的目检
最后一个建议:在生成光绘文件之前,用Artwork工具预览一下电源层的光绘结果。如果你在Gerber预览里看到分割区域边缘参差不齐,或者隔离缝隙明显偏宽,趁这时候回去调整,比等板厂反馈要省无数时间。
顺带提一句,如果你已经用到了allegro转pads或者导出DXF这类流程,建议在电源层分割做完之后再转,因为分割线、Anti Etch这些元素在不同工具间的转换支持不一致,先转再分割容易出现不可预期的异常。
5. 常见问题与排查技巧实录
5.1 分割线画了但电源层还是整片铜,没分开
最典型的原因就是分割线没闭合。Allegro只认闭合的Anti Etch线,哪怕你只差一个网格点,它也不会把铜皮断开。排查时放大到分割线端点,看起点和终点是否完美落在同一点上。
另一个可能原因是分割线画错层了。比如电源层在GND,分割线却画到了TOP的Anti Etch上,当然不会对GND层生效。画线前一定要看面板上的Active Subclass。
5.2 分割线闭合了但DRC报某一段线宽违规
这种情况一般是历史遗留:你在旧版本或者不同状态下画了不同线宽的分割线。比如第一段是12mil,后来Options面板被改成8mil,后面几段就变成8mil了。排查方法:用Show Element选中这根Anti Etch线,看它的线宽属性,或者直接整段重新画一遍,统一线宽。
这里要特别提醒:有时候你只是改了Options面板的数值,但之前已经画完的线不会跟着变。所以项目里如果发现线宽不统一,别试图一段一段去改属性,直接删掉重画,效率更高。
5.3 电源层分割后铜皮只显示轮廓不显示填充
在Allegro里,这通常不是错误,而是显示设置问题。动态Shape如果没有完整填充,看起来就只剩轮廓。你可以按Setup > User Preferences检查Shape相关显示设置,也可以直接更新一下Shape:Shape > Select Shape后右键更新。如果电源层是负片,显示的是“反色”效果,也容易让人误以为铜皮没了,其实那是正常状态。
5.4 Route Keepin之外的铜皮怎么处理
如果发现分割区域的铜皮超出了Route Keepin,先确认是不是Keepin本身没建好。Z-Copy生成时Offset如果是负数,Keepin就会比板框还大,等于没设。
排除之后再看分割线,大概率是分割线某一段跑到了Keepin外部。把这一段拉回到Keepin内部,DRC就会自动消红。
5.5 针对电源层分割的独家建议
最后分享几条长期踩坑换来的经验:
- 分割线宁整勿碎。区域划分得越碎,铜皮连续性越差,承载电流能力也越差。能用一个连续区域承载的电源轨,就不要拆成几块。
- 大电流区域要预留加宽余量。前面说过1A约需要20mil宽度,这里说的宽度是区域内最窄处的宽度,包括过孔间隙之间的铜带宽度。设计时留1.5倍余量更稳妥。
- 每个孤立电源区域至少放一个过孔组,用于连接到对应的电源网络。千万不要出现分割好了但区域里没有任何过孔的情况,那样等于整块铜皮悬空,电气上完全没意义。
- 模拟地和数字地如果分割,注意单点连接。分割带之间留一个细的连接桥,通过桥实现单点连接,避免地环路。桥可以是一个电阻位或者一个0欧电阻的位置。
- 保存版本。分割前保存一个checkpoint,画了几条线之后保存一个,出光绘之前再保存一个。电源层分割不比其他操作,改起来动辄要重新铺铜、重新DRC,版本备份能救你无数次。
电源层分割这件事,原理说穿了不复杂,就是画线、闭合、设Keepin、查DRC。但真正做起来,细节决定成败——线宽设错了会影响安全隔离,Keepin没建好会导致铜皮出界,分割线不闭合更是能让所有后续步骤全部白费。我在实际项目里踩过不少坑,尤其是那种“明明画了分割线却怎么都不生效”的问题,排查到最后发现就是端点差了一个网格单位。如果你正在学习Allegro,建议拿一块简单的两层电源板先练手,把Anti Etch和Route Keepin的流程完整跑通,再去做高速多层板的分割,会顺手很多。