ARTICLE DETAIL

资讯详情

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

Allegro 17.4 Gerber输出完整指南与避坑经验

Allegro 17.4 Gerber输出完整指南与避坑经验 做PCB设计这一行交付Gerber文件几乎是每个项目收尾绕不开的动作。Cadence Allegro 17.4是目前工程上用得很多的一版界面和旧版相比变化不小不少人第一次用它出Gerber时容易卡在Artwork参数设置、钻孔文件生成和层叠顺序这些细节上。这篇东西我按实际项目的完整流程来写从前期检查、光绘文件配置、NC Drill输出到常见报错怎么排查尽量把每一步为什么这么做讲清楚适合正在用Allegro 17.4做板子、准备投板的工程师参考也适合从Altium Designer转过来的朋友快速建立一套正确的输出习惯。1. 出Gerber前先把这些功课做足1.1 先搞懂Cadence Allegro的版本与文件体系很多人第一次接触Allegro时都有个困惑Cadence和Allegro到底什么关系简单说Cadence是公司名Allegro是它旗下PCB设计工具的产品线。你装的17.4全称应该是Allegro PCB Designer 17.4-2019这个版本基于17.2架构做了大量界面和功能更新尤其是层叠管理、动态铜皮和交互布线体验都比老版本舒服很多。我实测下来17.4出Gerber的主流程和老版本没有本质区别但菜单层级和部分弹窗名称变了照着老教程操作容易对不上。另一个容易混淆的点是Allegro的工程文件是.brd这个文件板厂基本不收。板厂要的是标准制造文件核心就是两样东西——Gerber光绘文件和NC Drill钻孔文件。Gerber负责描述铜箔、丝印、阻焊这些图形NC Drill负责描述孔的位置、大小和类型。这两套文件必须使用相同的坐标系、单位和精度否则板子做出来孔位和焊盘对不上。这是整个输出流程中最值得反复强调的原则。当前主流的光绘格式是RS-274X也就是常说的Gerber X1。它把D码孔径和形状定义直接内嵌在文件里板厂打开就能解析不需要额外的光圈表文件。老式的274D格式需要单独附带D码表很容易出现文件匹配不上的问题。我用Allegro 17.4出文件一律选RS-274X这个格式也是国内绝大多数板厂的默认接收格式。1.2 投板前的设计检查与路径配置不要一上来就生成Gerber先把设计本身检查一遍。Allegro 17.4里我习惯按这个顺序来做先跑Tools Database Check也就是常说的DB Doctor。这个检查会把数据库中的图形元素、网络连接、封装引用完整性全部过一遍发现异常会直接报出来。很多人忽略这一步结果导出Gerber时遇到莫名其妙的“Fatal error loading file”多半就是数据库里有损坏元素。跑完之后再执行Display Status确认DRC错误数量为零或者至少所有未解决的DRC都是你已知并且可接受的。接着检查封装和Padstack路径。File Properties里可以查看当前设计引用的库路径。如果你的.brd文件从别的电脑拷过来封装库路径没同步Allegro打开时可能静默丢失封装图形直接导致Gerber里焊盘缺失。我见过不止一次Gerber在CAM350里打开某个BGA焊盘整排消失查了半天是封装库路径失效设计文件里只保留了部分图形。这个坑一定要提前堵住Setup User Preferences里把padpath和psmpath指到正确的库位置。叠层和板框也要验一遍。Setup Cross-section里确认层数、层名、介质厚度都和制板说明一致。Gerber本身不包含叠层厚度信息但你的光绘文件层顺序要和叠层表对应否则板厂会有歧义。板框通常在OutLine层用闭合的线或Shape绘制线宽建议设为0或统一的窄线宽我一般用0.127mm避免在Gerber里出现一条粗边框影响外形判断。还有一个单位精度的概念需要提前统一。Allegro 17.4默认用英制milGerber和钻孔文件都建议使用同一套单位。IPC标准里制造文件最常见的是英制整数位3位、小数位3位即3.3格式也就是坐标精度到千分之一英寸。如果你的板子尺寸很大或者有高密度BGA建议用4.4格式进一步保证精度但前提是板厂支持。公制mm也可以但要保证Gerber和NC Drill统一用mm千万不能混用否则坐标偏差会大到完全无法对位。2. Artwork参数光绘文件的核心设置2.1 打开Artwork面板在Allegro 17.4中光绘文件输出入口在Manufacture Artwork。点击后会弹出Artwork Control Form这是整个Gerber生成流程的中枢。界面上半部分是Film Control区用于添加和管理底片层Film下半部分是参数区用于设置输出格式和规则。我建议第一次操作时把面板固定住按顺序从上到下过一遍不要跳着设置。面板里头最重要的概念是“Film”。Allegro把一个要输出的光绘层叫作一个Film比如顶层走线一个Film、底层丝印一个Film最后Create Artwork时每个Film会单独生成一个文件。你可以把所有需要的Film都定义好然后一次性输出。Film列表的排序也会影响输出文件名的顺序但不会影响图形本身这点不用担心。2.2 参数面板逐项设置Film Control右边是参数设置区这些参数决定了输出文件的格式和兼容性。我按实际使用经验逐项说明Device type必须选Gerber RS-274X。有时候软件里显示“Gerber 6x00”这是老式的光绘机格式别选它除非板厂明确要求。Film size对应光绘机的最大幅面一般用默认的24 x 16或20 x 16即可这个值只影响文件内部定义的图幅大小不裁剪图形。Coordinate type选Absolute文件名和路径不要带中文和空格避免部分板厂系统解析出错。Format是精度设置整数位和小数位分别设置。比如3.3表示坐标最大999.999英寸精度1mil。如果板子尺寸在10英寸以内、BGA pitch在0.8mm以上3.3足够了。高密度板建议4.4。我习惯输出前先确认设计文件中坐标显示的小数位数把两者对齐避免视觉上的精度错觉。Error action建议选Warn而不是Abort。选Abort时只要某个图层有一点点小问题整批光绘输出会中断排查起来很麻烦。选Warn会生成警告日志并继续输出你可以在后续CAM350检查时统一核对警告项。实际项目里一些非关键的Line width undefined警告完全可以忽略。Suppress选项里有一组复选框分别是Suppress unused pads、Suppress shape fill、Suppress letter等。这些选项的含义是在光绘输出时是否忽略某些图形元素。Unused pads指的是位于内层、但没有与任何网络连接的孤立焊盘。如果这个层是负片保留这些焊盘反而会让铜皮上出现不该有的隔离圈所以通常勾选Suppress unused pads。Shape fill是否抑制要看你输出的是正片还是负片正片一般不勾负片要看具体设计。Letter是指软件自动添加的注释文字一般可以抑制避免在版图上产生多余的字符。最后是Undefined line width这个值容易被忽略。它表示当某个图形元素没有定义线宽时光绘输出默认使用的线宽。Allegro里有些0线宽的线段如果不设置Gerber解析时可能报错或直接忽略。推荐设5mil或8mil但不能设成0。我一般设5mil因为太粗会改变某些细线条的视觉宽度。2.3 正片与负片的逻辑光绘文件有正片和负片之分。正片就是你画什么就输出什么走线是铜就是铜空白就是无铜比较好理解。负片则反之你在设计文件里画的Shape区域是“无铜”区域而空白区域才是有铜区域。换句话说负片是通过定义“挖掉什么”来描述铜皮形状的。Allegro 17.4中内电层比如GND层和PWR层如果做整块铜皮很多工程师会用负片因为负片在光绘输出时文件小、处理快而且在大面积铜皮上生成隔离焊盘更稳定。正片也能做但需要把所有避让都做成Shape文件大且容易出碎铜。我个人的习惯是整层灌铜的平面层用负片局部走线或分割铜皮用正片。这个选择在叠层设置时就要定下来因为每层是正片还是负片会影响你在Artwork中如何配置。在Artwork面板添加Film时会让你选择该Film对应的显示层和极性。如果你在设计里把GND层设成了负片但Artwork里没有把该Film设为Negative输出的Gerber打开后整层都是铜所有焊盘孔位都会被铜皮盖住短路得一塌糊涂。反过来正片层被误设为负片铜皮会整个消失。这个错误是新手最容易犯的排查时一定要先看极性是否匹配。2.4 添加各层Film与Subclass选择Film添加的方式是在Film Control区点击右键选择Add然后命名再在左边的Subclass列表里勾选这个Film要包含的显示层。这里有Allegro一个很容易绕晕的地方它把同一物理层细分为多个Subclass比如顶层走线叫ETCH顶层丝印叫SILKSCREEN_TOP顶层阻焊叫SOLDERMASK_TOP。你需要在每个Film里准确勾选对应的Subclass。我通常这样组织Artwork列表TOP勾选BOARD GEOMETRY/OUTLINEETCH/TOPPIN/TOPVIA/TOPBOTTOM勾选BOARD GEOMETRY/OUTLINEETCH/BOTTOMPIN/BOTTOMVIA/BOTTOMGND如果是负片层只勾选ETCH/GND并在Negative上打勾SILKSCREEN_TOP勾选BOARD GEOMETRY/OUTLINEMANUFACTURING/NCDRILL_LEGENDREF DES/SILKSCREEN_TOPCOMPONENT VALUE/SILKSCREEN_TOPSOLDERMASK_TOP勾选BOARD GEOMETRY/OUTLINEPIN/SOLDERMASK_TOPVIA/SOLDERMASK_TOPPASTEMASK_TOP勾选PIN/PASTEMASK_TOPVIA/PASTEMASK_TOP这只是基础配置具体还要看设计里把丝印、阻焊做了哪些Subclass。如果你在设计时自定义了层名比如把丝印放在了一个自定义层“FAB_SILK”里那Artwork里也要对应调整。判断标准只有一个你在设计文件里看到的最终图形Gerber里应该1:1复现。3. 钻孔文件光绘之外的第二交付物3.1 为什么Gerber里看不到孔Gerber光绘文件描述的是二维平面图形钻孔的坐标和孔径信息必须由NC Drill文件单独提供。很多人第一次生成完Gerber拿到CAM350里打开发现所有焊盘中间都是实心的以为出了问题。其实不是你还需要把钻孔文件也导入才能看到焊盘中间的孔。Allegro 17.4里钻孔文件的生成入口在Manufacture NC NC Drill。运行后会生成一个.ncd文件同时还会生成一个钻孔报告列出所有孔径和孔数的统计。板厂就是拿这个文件驱动数控钻床的。3.2 NC Drill参数与单位统一NC Drill输出前先检查Manufacture NC NC Parameters。这里的参数直接决定钻孔文件是否可用。首先是单位。NC Drill的Output units必须与Artwork中的Gerber单位一致。比如Gerber用英制inchNC Drill也必须选English。如果Gerber用mmNC Drill选Metric。这是整个投板流程里最容易翻车的点单位不一致时板厂按同一个坐标系统叠加文件所有孔位会和焊盘中心差出一大截而且这种错误在手机上预览Gerber时很难一眼看出来等你发现时可能已经投板了。钻孔文件的格式默认是Excellon这是行业标准。精度设置同样要和Gerber对齐一般为3.3或4.4。如果你不确定就保持和Gerber输出完全一样的格式不会错。还有一项经常被忽视Output file name和路径。Allegro会根据设计名自动生成但建议在NC Parameters里手动把文件名改成和Gerber一套命名规则比如“项目名_DRILL”方便归档和核对。有些人直接保留默认的文件名结果同一工程多次修改后文件名带上了奇怪的序号发给板厂前自己要重新整理。Drill Legend是孔符图用来标注每种孔径的符号和数量。在输出NC Drill的同时你应该单独生成一个Drill Legend光绘文件。这个文件不是给钻床用的而是给板厂工程人员核对孔径用的。在Artwork中新建一个Film勾选MANUFACTURING/NCDRILL_LEGEND再配合默认的Drill Legend表即可。没有这个文件板厂也能通过NC内容识别但容易产生理解偏差建议还是输出。3.3 特殊孔的处理如果你的板子有盲孔、埋孔或者背钻NC Drill的处理就不只是统一输出这么简单了。盲埋孔需要按孔所在层范围分组输出板厂才能分辨哪些孔贯穿所有层、哪些只贯穿部分层。Allegro 17.4的NC Drill支持按孔类型自动分成多个文件默认会在文件名里加后缀区分比如BLIND_1_2表示从第1层到第2层的盲孔BURIED_2_5表示埋在第2到第5层之间的埋孔。背钻则需要额外输出一套文件并在图纸上标明需要背钻的深度和区域。这种工艺文件建议用ODB或附一份带注释的PDF辅助说明单纯靠Gerber加NC Drill容易漏信息。如果项目里有特殊孔结构我的习惯是提交文件时附上一张“钻孔叠层对照表”把每种孔对应哪两层之间写清楚减少沟通成本。4. 实操流程一步一步把Gerber“打包”出去4.1 先跑DRC和Database Check再动手输出流程上我强烈建议在输出前花两分钟做一次完整检查。顺序是Tools Database Check勾选全部选项跑一遍然后Display Status把DRC错误数量清零或确认全部接受最后再执行一次Tools Quick Reports里的Unconnected Pins Report检查是否有未连线的引脚。这步做完了基本可以放心输出。为什么这个流程很重要因为Allegro的Gerber输出是基于当前数据库状态生成的如果数据库里有悬空引脚或异常网络Gerber文件是能生成的但CAM350验证时会在这些位置出现意料之外的连接或开路。尤其是多层板问题藏在中间层肉眼很难发现。宁可多花两分钟检查也不要等板厂反馈“你这里有开路”再重来制板周期一旦被打断时间成本远超检查成本。4.2 按固定模板配置Film并输出打开Manufacture Artwork先在Film Control区确认所有需要的Film都在列表里。如果你是从头开始配置按照前面第2部分的方法从上到下添加TOP、BOTTOM、内层按需、SILKSCREEN_TOP、SILKSCREEN_BOTTOM、SOLDERMASK_TOP、SOLDERMASK_BOTTOM、PASTEMASK_TOP、PASTEMASK_BOTTOM、DRILL_LEGEND。每个Film的Subclass勾选要仔细尤其注意阻焊层。很多人默认以为SOLDERMASK_TOP只要勾选PIN和VIA的对应子类就行但如果设计中有独立的铜皮开窗区域比如散热焊盘这部分图形通常画在BOARD GEOMETRY/SOLDERMASK_TOP层你漏勾这个SubclassGerber里就不会有对应的开窗做回来的板子散热焊盘会被绿油覆盖焊接时才发现就晚了。全部配置好后点击Select All再点Create Artwork。Allegro会按Film列表顺序生成一组光绘文件通常在你指定的artwork目录下。生产日志会显示每个Film的处理状态有警告或错误会在这里列出。我建议无论有没有报错都把这个日志保存一份连同生产文件一起归档。4.3 输出NC Drill并整理交付文件夹Gerber生成后切到Manufacture NC NC Drill单位选与Gerber一致参数确认无误后生成钻孔文件。接着生成NC Route文件如果设计中有铣槽或异形孔以及Drill Legend。到这一步制造文件已经全部生成。接下来是整理交付文件。我通常会在项目目录下建一个“for_manufacture”文件夹按“Gerber”“Drill”“Assembly”三个子目录分类。Gerber目录放所有光绘文件Drill目录放NC Drill和NC Route文件Assembly目录放装配图PDF或DXF。再用一个记事本写清楚文件清单和层对应关系比如“TOP顶层走线”“GND内电层负片”。这个习惯看着笨但真能减少板厂反复确认的次数。文件命名也建议统一风格比如“项目名_T.GTL”“项目名_B.GBL”后缀对应不同层不要用默认的art_1、art_2这种无意义的名字。5. 常见问题与排查实录5.1 报错“Fatal error loading file”这个报错是很多新手的噩梦它通常出现在打开.brd文件时但有时候在Create Artwork时也会冒出来。我的经验是这个报错绝大多数情况下跟数据库文件本身有关尤其是文件在传输过程中损坏或者跨版本打开后没有正常升级。排查方法很简单先尝试用File Open里的“Open Read-Only”打开如果还报错就用相同版本的Allegro执行Tools Database Check但这个过程需要文件能正常加载。如果连加载都做不到只能找回备份文件或autosave文件。Allegro默认会在工作目录下生成.brd.sav文件找回来改个名就是最近的存档。我自己的习惯是重要节点手工另存为“_revX”版本尽量避免依赖自动保存。另一个常见的触发点是路径问题。.brd文件中记录的封装路径、用户自定义路径如果指向了不存在的目录软件在加载时会跳过部分数据导致后续数据库检查失败。这时打开Setup User Preferences把padpath、psmpath、flashpath重新指到有效位置再重新打开文件多半能解决。5.2 输出Gerber后焊盘消失或整层短路焊盘消失通常和封装库路径失效有关前面说过了。但还有一种情况你没有勾选该层对应的PIN或VIA子类。比如你定义TOP Film时只勾了ETCH/TOP没勾PIN/TOP和VIA/TOP那输出后的文件里只有走线没有焊盘CAM350里看起来会非常诡异——走线悬空、焊盘不见。处理办法就是回到Artwork面板把缺失的Subclass补上。整层短路的问题十有八九是正负片设置错误。负片层没勾NegativeGerber里整层都被填实正片层误勾了Negative铜皮区域全变空白。排查时先确认设计文件里这一层是正片还是负片Setup Cross-section里双击该层查看Type和Property设置。然后回Artwork面板核对Film的Negative复选框。如果是负片还注意检查该层的Shape是否正确使用了Negative通常在Shape的Global Dynamic Shape Parameters里配置。5.3 丝印丢失或字符乱码丝印丢失最常见的原因是在SILKSCREEN Film里漏勾了REF DES/SILKSCREEN_TOP或COMPONENT VALUE/SILKSCREEN_TOP。如果设计时把位号文字放在了自定义层那还要勾选对应自定义Subclass。还有一种情况是位号文字使用了特殊字体Allegro 17.4默认字体是它自带的标准字体但如果你的文字属性被改成TrueType字体某些情况下Gerber输出会跳过它们。这个问题我遇到过一次后来统一把丝印字体改回标准矢量字之后再没出现过。字符乱码则多半是编码问题通常出现在使用中文丝印的时候。Allegro的Gerber输出对中文支持并不好丝印上出现中文容易变成一堆乱码符号。我的建议是如果板厂没有特别要求PCB丝印尽量用英文和数字。若必须使用中文先输出一份Gerber用CAM350逐字核对乱码就改设计。这种事等板子做出来再发现返工成本就高了。5.4 钻孔偏位或孔径不对钻孔偏位的排查思路第一看单位是否统一。Gerber用mil、NC Drill用mm叠加在一起孔位就是偏的。第二看零点设置。Allegro 17.4中数据原点的偏移会导致Gerber和NC Drill的坐标系统不一致。我的建议是输出前通过Setup Change Drawing Origin把原点设置到板框左下角或绝对零点并确保Gerber和NC Drill使用相同原点。第三看缩放比例这个较少见但如果你在设计过程中对板框做过缩放操作坐标系统可能会留下隐藏缩放因子输出时就会出现所有孔位成比例偏移这种情况只能回退到缩放前的版本重新处理。孔径不对则要查NC Parameters里的Tool Sequence设置。Allegro会自动把相同孔径归为一把刀但如果参数中设置了过多的工具补偿孔径数据可能出现偏差。板厂通常以钻孔文件中的Tool Size为准所以这个文件的值一定要和设计文件里的Padstack孔径一致。我自己每次输出完成后都会打开钻孔报告看一眼孔数统计再和设计中的Via Count对比数量对不上就说明有问题。5.5 用CAM350做最终验证Gerber生成完一定要用CAM350或类似工具做一次最终验证。这不是可选项而是硬性流程。我的验证步骤很简单先导入全部Gerber文件单位选英寸格式3.3。导入后逐一检查每一层顶层走线是否完整、底层走线是否完整、丝印是否压焊盘、阻焊开窗是否正好露出焊盘。接着导入NC Drill文件稍微调整钻孔层颜色叠加到阻焊层上检查孔位是否与焊盘中心重合。如果有明显偏移先看单位是否统一再看原点是否一致。然后做一次性检查Utilities Gerber X Check把开路和短路选项勾上运行后在Netlist Compare里可以逐条查看异常网络。这是最有效率的一步比肉眼盯屏幕靠谱得多。没有CAM350的也可以用开源工具Gerbv看图形但它不提供电气规则检查只能做视觉确认。我的经验是任何Gerber文件只要经过CAM350的电气检查板厂那边出问题的概率会大幅下降。5.6 Gerber与ODB到底用哪个Gerber是行业应用最广的制造文件格式几乎任何板厂都能直接处理缺点是把设计信息拆成了多个独立文件层间关系要靠人工或文件命名来维持。ODB则把整个制造数据打包成一个完整目录结构包含层叠、钻孔、网络连接、元件位置等信息出错率更低但部分板厂对ODB的接收和验证流程不如Gerber成熟。Allegro 17.4同时支持File Export ODB输出。我的建议是如果板厂明确说能收ODB优先用ODB确实能减少无线网络和层叠顺序方面的沟通成本。如果板厂没有特别说明一律发GerberNC Drill。最稳妥的做法是两种都生成压缩到一个压缩包里发给板厂让它们工程自己选择用哪一套核对。这么做对文件大小影响不大但能省掉一整个来回的确认时间。6. 补充Cadence/Allegro关系、快捷键与第三方工具6.1 Cadence和Allegro到底啥关系这个问题的热度一直很高因为很多人装软件时看到Cadence和Allegro两个名字同时出现容易懵。简单梳理Cadence是一家EDA公司产品线很宽包括原理图工具OrCAD Capture、PCB设计工具Allegro PCB Designer、仿真工具Sigrity等。Allegro是PCB设计这个工具的独立品牌名。所以你安装后会看到OrCAD Capture和Allegro PCB Designer两个入口分别对应原理图设计和PCB设计。17.4是Allegro的版本号OrCAD Capture对应版本也叫17.4两个软件虽然同属一个套件但打开方式和使用界面完全不同别混了。6.2 Allegro 17.4快捷键设置小技巧Allegro的快捷键分两种一种是直接在软件里点选操作再通过File Preferences或Setup User Preferences配置另一种是修改env文件在安装目录下的share\pcb\text\env里添加alias映射。我常用的几个命令习惯写成alias比如alias F2 done确认当前操作、alias F4 cancel取消、alias F6 zoom fit全图缩放。输入命令时直接敲alias名称比菜单点选快很多。另外Allegro支持stroke功能按住Ctrl右键滑动鼠标就能执行命令比如向下滑是zoom out向上滑是zoom in。如果你从AD转过来可能更习惯鼠标放在目标上滚动缩放Allegro 17.4里可以通过User Preferences里勾选“enable_hwheel_zoom”实现这个效果。这些小设置不影响Gerber输出但能提高日常画板的效率。6.3 网上流传的第三方辅助工具能用在17.4上吗Allegro 17.4发布到现在网上确实有一些提高效率的辅助工具和脚本流传有的做批量改封装有的做自动标注有的做线宽检查。但这一类工具能不能稳定挂在17.4上关键看它是否声明支持2019及以上版本。很多老脚本是基于16.x写的在17.4里直接加载轻则功能失效重则把数据库写坏。我的建议很直接生产文件制作阶段的工具尽量用官方功能日常画板可以试试脚本但先备份设计文件跑一次没问题再推广到正式项目里。Gerber输出这种环节我自己是只信官方的Manufacture菜单第三方工具偶发一个坐标精度问题排查成本远超省下的那点时间。我个人在实际操作中的体会Gerber输出这件事难度不在点几个按钮而在对整个数据链路是否心里有数。从设计文件到制造文件中间经历层叠映射、正负片转换、坐标精确度统一每一环都可能出问题。我踩坑最多的是两类一类是单位混用导致孔位偏移另一类是封装路径失效导致焊盘缺失。这两种问题都不难修复但一旦进入制板流程发现的代价就大了。后来我养成一个习惯每次输出完不管多忙一定在CAM350里把Top、Bottom、阻焊、钻孔四层叠起来过一遍。多花十分钟换来的是投板后的安心。按照上面这套流程走下来Allegro 17.4出Gerber这件事基本稳了。
返回列表