ARTICLE DETAIL

资讯详情

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

Allegro 17.4 Gerber导出实战指南:极性、钻孔与阻焊层配置避坑

Allegro 17.4 Gerber导出实战指南:极性、钻孔与阻焊层配置避坑 1. 为什么说Allegro 17.4的Gerber导出不是“点几下就完事”的活儿在PCB设计圈里我见过太多人把Gerber导出当成一个收尾动作——原理图画完、布局布线搞定、DRC跑通最后打开Export菜单勾几个框点Export弹出“Success”就心满意足地打包发给板厂。结果呢三天后收到板厂邮件“客户您好您的Gerber文件缺少钻孔图层且顶层阻焊层极性反了无法生产请确认后重新提交。”再回去翻Allegro发现Layer Select里那个“Soldermask_Top”前面的小方框根本没打勾又一查Drill Drawing设置才发现自己误选了“Symbolic Drill”而非“True Scale”钻孔文件压根没生成实际尺寸数据。这种返工轻则耽误3天交期重则导致首版PCB报废贴片时元器件焊不上、过孔不通、阻焊盖错焊盘——所有问题都源于导出环节一个看似微小的配置偏差。Cadence Allegro 17.4作为当前工业界主流的高端PCB设计平台其Gerber导出逻辑远比Altium DesignerAD或嘉立创EDA复杂。它不预设“标准流程”而是把控制权完全交给用户你选哪一层、用什么格式RS-274X还是RS-274D、是否镜像、是否包含负片Negative、钻孔文件是单独生成还是合并进Gerber、网表是否嵌入、Aperture是否自动管理……每一个开关背后都是对PCB制造工艺的理解。比如“cadence 铜皮 优先级”这个热词表面看是铺铜顺序问题实则直接影响Gerber中Power Plane层的生成方式——若铜皮优先级设错Allegro在生成内层负片Plane Layer时会把本该挖空的散热焊盘区域误判为实心铜导出的Gerber就是一块“全黑”的死板板厂根本没法做蚀刻。再比如“cadence禁止铺铜区”很多人只知在Shape里画个Keepout却不知导出时若未在Manufacturing/Artwork中将该区域定义为“Void”它就不会出现在Gerber的Plane层里最终板子上该挖空的地方反而长出铜来造成短路风险。我带过的十几届新人里80%的Gerber返工问题都集中在四个盲区一是混淆“Physical Layer”和“Artwork Layer”的映射关系把底层走线层Bottom_Route误当成底层阻焊层Soldermask_Bottom导出二是忽略Drill File与Gerber的坐标系一致性导致钻孔位置整体偏移0.1mm三是未验证Aperture Table光圈表是否完整尤其当设计中用了自定义焊盘如异形FPC连接器时缺失的D-CODE会让CAM软件报错四是忽视“Plot Mode”设置用“Outline Only”模式导出丝印层结果板厂拿到的是空心字体根本印不出来。这些都不是软件Bug而是Allegro基于真实工厂制程需求做的深度耦合设计——它默认你懂PCB是怎么做出来的。所以这篇实战笔记不讲菜单在哪不列参数截图只拆解“为什么这么设”“不这么设会怎样”“怎么一眼看出设错了”。后面所有步骤都建立在一个前提上你导出的不是一堆文件而是一份能直接上生产线的制造指令。2. Gerber导出全流程拆解从Layer Setup到Output Verification2.1 核心逻辑Allegro的Gerber不是“导出图层”而是“定义制造意图”很多刚从AD转过来的工程师会困惑为什么Allegro没有“一键导出Gerber”的按钮答案在于二者底层逻辑不同。AD的Gerber导出本质是“图层快照”——把当前画布上可见的每一层像素按设定规则转成矢量数据。而Allegro的Artwork Export是“制造意图编译”——它需要你先在Manufacturing/Artwork Setup里明确告诉系统“我要让工厂用这组文件做什么”。比如顶层走线层Top_Route在制造中对应的是“线路蚀刻”但顶层阻焊层Soldermask_Top对应的是“阻焊开窗”两者物理上在同一块基板上但CAM工序完全不同。Allegro要求你为每个制造目标单独定义一个Artwork Film胶片并指定其源Physical Layer、输出格式、极性Positive/Negative、是否镜像等。这就像给工厂下两道独立工单一道写“请蚀刻出以下铜线图案”另一道写“请在以下位置去掉阻焊油墨”。因此导出前的第一步永远不是点Export而是打开Setup → Manufacturing → Artwork… 进入Artwork Control Form。这里没有“开始导出”按钮只有三栏Film Name胶片名、Physical Layer源物理层、Status状态。你得亲手为每一张必需的制造胶片创建条目。常见必须项包括Top_Route→ 对应线路层Top极性为PositiveBottom_Route→ 对应线路层Bottom极性为PositiveTop_Soldermask→ 对应阻焊层Top极性为Negative注意这是关键阻焊层是负片即文件中黑色区域代表要去除阻焊油墨的位置Bottom_Soldermask→ 对应阻焊层Bottom极性为NegativeTop_Silkscreen→ 对应丝印层Top极性为PositiveBottom_Silkscreen→ 对应丝印层Bottom极性为PositiveSolder_Paste_Top→ 对应钢网层Top极性为PositiveSolder_Paste_Bottom→ 对应钢网层Bottom极性为PositiveDrill_Drawing→ 对应钻孔图层非钻孔数据仅用于人工核对NC_Drill→ 对应数控钻孔文件.txt或.drl这才是真正驱动钻机的数据提示不要依赖Allegro自带的“Default Artwork”模板。我见过太多项目直接用默认设置结果默认的Soldermask被设为Positive导出后板厂反馈“阻焊全覆盖焊盘全被盖住”。务必逐项检查Film Name是否与行业通用命名一致如Top_Soldermask而非SM_TOP因为板厂CAM系统会按名称自动匹配工序。2.2 关键配置深挖极性、镜像、单位与坐标的生死线极性Polarity——阻焊层为何必须是Negative这是新人踩坑率最高的点。我们以顶层阻焊为例PCB制造中阻焊油墨是整面涂覆的然后通过曝光显影把需要焊接的焊盘、过孔位置的油墨洗掉。因此CAM系统需要的是一份“挖空区域”的图纸——即图纸上是黑色有图形的地方代表要洗掉油墨白色无图形的地方代表保留油墨。这份图纸就是Negative负片。如果误设为PositiveAllegro会导出一份“焊盘位置是白色、其余全是黑色”的文件板厂按此生产结果就是焊盘上全是油墨元件根本焊不上。验证方法极简单用Gerber查看器如GC-Prevue打开导出的Top_Soldermask.gbr正常应看到焊盘、过孔位置是“空心”的背景色周围是实心黑色若焊盘是实心黑色说明极性反了。镜像Mirror——丝印层为何常需勾选丝印层Silkscreen的镜像设置取决于你的PCB是否为“Bottom Side Up”摆放。标准PCB制造流程中丝印油墨是印刷在板子正面Top或背面Bottom的顶层。当你把板子正面朝上放在工作台上Top Silkscreen的字符是正向可读的但Bottom Silkscreen的字符因印刷在板子底面从正面看是镜像的。所以为确保板厂CAM人员能直观核对Allegro默认Bottom_Silkscreen Film需勾选Mirror。实操中若你发现导出的Bottom丝印文字左右颠倒第一反应不是改字体而是检查Artwork Control Form里Bottom_Silkscreen Film的Mirror选项是否已启用。单位Units与精度Precision——0.001英寸还是0.0001英寸Allegro内部使用英制单位inch但Gerber标准支持英制与公制。关键在Setup → Design Parameter → Design → Units里设置的“Drawing Size”单位必须与板厂要求一致。国内主流板厂如嘉立创、捷配要求英制精度为2:5即整数位2位小数位5位如1.23456 inch。若你设成Metric导出的Gerber坐标会变成毫米板厂CAM软件解析时可能四舍五入导致钻孔偏移。更隐蔽的坑是“Plot Scale”绘图比例在Artwork Control Form底部务必设为1:1即Scale X/Y 1.0000任何缩放都会扭曲实际尺寸。我曾帮一家客户排查过钻孔偏移0.05mm的问题最后发现是某位工程师在调试时误将Plot Scale设为0.999导出的所有坐标被系统性压缩而板厂按1:1解析误差自然产生。坐标原点Origin——为何必须用Board OutlineGerber文件的坐标原点决定了所有图形位置的基准。Allegro提供三种Origin选项Database数据库原点即设计原点、User用户自定义点、Board Outline板框外框。强烈建议始终选择Board Outline。原因很简单板厂CAM系统是以PCB板边为基准进行定位夹持的。若你用Database原点而设计时原点离板边很远比如在左下角预留了大块空白导出的Gerber中所有图形坐标值会非常大如X125000CAM软件在解析大数值时易产生浮点误差更糟的是若板厂用自动寻边功能识别板框而你的Gerber里板框坐标异常整个文件可能被错误旋转或偏移。选择Board Outline后Allegro会自动将板框左下角设为(0,0)所有图形坐标均以此为基准数值小、精度高、兼容性强。2.3 钻孔文件NC Drill的独立生成与校验钻孔文件是Gerber流程中最易被轻视的一环。很多人以为只要导出Drill Drawing钻孔图就够了其实不然。Drill Drawing只是供人工核对的示意图真正驱动数控钻床的是NC Drill文件.txt或.drl它包含每颗钻孔的精确坐标、孔径、钻刀编号Tool Number及换刀指令。Allegro中NC Drill必须单独生成路径为Manufacture → NC Manufacture → NC Drill…。关键配置项有三个Drill File Format必须选Excellon行业标准而非Sieb Meyer或Hitachi。Units与Gerber一致选Inches。Zero Suppression选Leading前导零抑制这是Excellon标准要求避免坐标前缀冗余零。最致命的错误是忽略“Drill Tool Table”。Allegro会根据设计中所有过孔/焊盘的孔径自动生成钻刀列表如T010.3mm, T020.45mm。但若设计中存在0.305mm这种非标孔径Allegro可能将其归入最近的标准刀具如T010.3mm导致实际钻孔比设计小0.005mm。此时必须手动编辑Drill Tool Table点击Edit → Drill Tool Table在列表中新增一行T030.305然后在Design中将对应过孔的Drill Pair属性改为T03。否则导出的NC Drill里所有0.305mm孔都会被当作0.3mm孔处理贴片时细引脚元件如0.4mm pitch QFN可能因孔径不足而无法插件或虚焊。校验NC Drill的土办法用记事本打开导出的*.drl文件搜索“T01”、“T02”等刀具号确认其后跟随的孔径值与设计一致再搜索“M30”程序结束符确认文件结构完整。更可靠的是用专门的NC Drill查看器如PCB-Investigator加载它能可视化显示每把刀具钻的所有孔并高亮显示孔径异常点。3. 实操避坑指南从Setup到Output的12个关键检查点3.1 Artwork Setup阶段的5个必查项检查点1Film Name命名是否符合JEDIC标准Allegro允许自定义Film Name但板厂CAM系统依赖标准化命名自动识别工序。必须严格使用以下命名大小写敏感Top顶层线路Bottom底层线路Top_Soldermask顶层阻焊Bottom_Soldermask底层阻焊Top_Silkscreen顶层丝印Bottom_Silkscreen底层丝印Paste_Top顶层钢网Paste_Bottom底层钢网Drill_Drawing钻孔图NC_Drill数控钻孔若命名为SM_TOP或SOLDERMASK_TOP部分自动化CAM线会无法识别需人工干预延误交期。我曾见一个项目因Paste_Top被写成Stencil_Top板厂拒收退回修改。检查点2Physical Layer映射是否100%准确这是最常被忽略的底层错误。例如设计中你创建了一个名为GND_Plane的内层用于分割电源平面。但在Artwork Control Form里若将GND_Plane映射到FilmTop_Soldermask导出的阻焊文件就会混入内层铜皮图形彻底混乱。正确做法是先在Display → Color/Visibility中关闭所有无关层仅开启Top_Route、Top_Soldermask等目标层确认其图形内容与预期一致再回到Artwork Control Form逐项核对Film Name右侧的Physical Layer下拉菜单确保Top_Soldermask只映射到Soldermask_Top而非Top_Route或GND_Plane。检查点3Soldermask层的“Void”区域是否已同步当设计中使用了“禁止铺铜区”Keepout或“Shape Void”来规避焊盘、过孔时这些区域必须在Artwork中显式定义为“Void”否则不会反映在Gerber中。操作路径Manufacture → Artwork → Film Control → 选中Top_SoldermaskFilm → 点击Void…按钮 → 在弹出窗口中勾选所有需挖空的Shape如SMD_Void、Via_Void。若漏选导出的阻焊层会在这些区域覆盖油墨导致焊盘无法上锡。实测案例某4层板因未勾选Via_Void所有过孔周围被阻焊覆盖回流焊后大量过孔不通。检查点4Silkscreen层的“Line Width”是否≥0.15mm丝印油墨有最小线宽限制。若设计中丝印线宽设为0.1mmAllegro虽能显示但导出的Gerber中该线条可能被CAM软件自动加粗或忽略。必须在Setup → Design Parameter → Display → Line Width中将Silkscreen层的默认线宽设为≥0.15mm6mil。更稳妥的做法是在Manufacture → Artwork → Film Control中为Top_Silkscreen和Bottom_SilkscreenFilm勾选“Plot Outlines Only”并设置Minimum Line Width为0.15mm。这样Allegro在导出时会自动过滤掉所有低于此值的线条避免板厂投诉“丝印断线”。检查点5Drill Drawing Film是否启用了“Symbolic”Drill Drawing是给人看的不是给机器用的。在Artwork Control Form中Drill_DrawingFilm的Type必须设为Symbolic符号化而非True Scale真实比例。Symbolic模式会用统一大小的圆圈代表所有钻孔便于人工快速计数和核对孔位分布True Scale则按实际孔径绘制小孔径如0.2mm在图上几乎看不见大孔径如3.2mm又会遮挡周边图形失去核对意义。我经手的项目中90%的Drill Drawing返工都是因误用True Scale导致孔位无法辨识。3.2 Export执行阶段的4个致命陷阱陷阱1Export路径含中文或空格Allegro 17.4对文件路径的编码支持不完善。若导出路径为D:\PCB项目\XX主板\Gerber\其中“PCB项目”或“XX主板”含中文或路径中有空格如Gerber Output导出过程可能中断或生成的文件名乱码如Top_?.gbr。解决方案导出前将路径设为纯英文、无空格、无特殊字符如D:\GERBER_XXBOARD\。这是写在Cadence官方FAQ里的硬性要求但多数人视而不见。陷阱2未勾选“Create Aperture List”Aperture光圈是Gerber中定义图形形状圆形、矩形、椭圆的基本单元。Allegro在导出时若未勾选“Create Aperture List”会生成一个隐式的、不带注释的光圈表CAM软件可能因无法识别自定义焊盘如USB Type-C接口的异形焊盘而报错“D-CODE not found”。务必在Export对话框中勾选“Create Aperture List”并确保生成的aperture.lst文件与Gerber同目录。检查方法用记事本打开aperture.lst确认其中包含所有设计中使用的D-CODE如D10、D11且每个D-CODE后注明形状与尺寸。陷阱3忽略“Plot All Layers”与“Plot Selected Films”的区别Export对话框顶部有两个关键单选按钮“Plot All Layers”和“Plot Selected Films”。前者会导出当前Design中所有已启用的Physical Layer无论Artwork中是否定义了对应Film后者只导出Artwork Control Form中Status为On的Film。绝大多数情况下必须选“Plot Selected Films”。若误选“All Layers”Allegro会把未在Artwork中定义的层如Route_Guide、Assembly_Top也导出为Gerber这些文件板厂根本不认还会因命名不规范被拒收。我曾帮客户清理过一个包含27个Gerber文件的包其中15个是无用层纯属“All Layers”误操作的产物。陷阱4未验证“Output Directory”权限Allegro导出Gerber时会尝试在Output Directory中创建子文件夹如Gerber、Drill并写入文件。若该目录位于C:\Program Files\或受系统保护的路径下Windows UAC权限可能阻止写入导致导出失败但无明确报错界面只显示“Export Complete”实际文件夹为空。解决方案导出前右键点击Output Directory选择“属性”→“安全”确认当前用户有“完全控制”权限或直接将Output Directory设为桌面或D盘根目录下的新建文件夹如D:\GERBER_OUTPUT\。3.3 Output Verification阶段的3个黄金验证法验证法1用GC-Prevue做“四层叠加工”GC-Prevue是业界公认的Gerber免费查看器。导出完成后不要急着打包立即用它加载全部文件File → Open → 选中所有.gbr和.drl文件。然后启用Layer叠加工能View → Layer Stackup按标准顺序叠加Top、Top_Soldermask、Top_Silkscreen、Paste_Top。正常应看到Top层上的铜线清晰可见Top_Soldermask层在焊盘、过孔位置是“空心”的即露出铜线Top_Silkscreen层的文字、Logo位于阻焊开窗区域内且不覆盖焊盘Paste_Top层的钢网开窗与焊盘中心完全重合。若发现阻焊盖住焊盘或丝印压在焊盘上立刻返回Allegro修正Artwork设置。验证法2用CAM350做“钻孔对齐测试”CAM350现为PCB-Investigator能精准测量坐标。导入NC Drill文件后用Measure工具随机选取3个钻孔记录其X/Y坐标再导入Top.gbr找到同一位置的焊盘中心测量其坐标。两者X/Y差值应≤0.01mm0.4mil。若差值达0.05mm以上说明Drill与Gerber坐标系不一致需检查Artwork中的Origin设置是否均为Board Outline以及NC Drill导出时的Units是否与Gerber一致。验证法3人工抽查“关键特征”最后一步必须人工抽查。打印一份A4纸大小的Top_Soldermask.gbr用红笔圈出以下位置所有BGA芯片的焊盘阵列中心所有连接器的定位孔板边的V-Cut槽或邮票孔所有高密度区域如0.3mm pitch QFP的引脚间。然后对照PCB实物或Allegro设计视图确认这些位置在Gerber中是否“空心”即阻焊正确开窗、无多余图形、无缺失。我坚持这一招因为它能发现99%的自动化工具漏检问题比如某个隐藏在Keepout区域内的小焊盘被意外覆盖。4. 常见问题速查表与独家排错技巧问题现象可能原因排查步骤我的独家技巧导出后Gerber文件为空0KBOutput Directory权限不足路径含中文/空格Allegro后台进程卡死1. 换纯英文路径重试2. 任务管理器结束allegro.exe和pspice.exe进程3. 重启Allegro在导出前先在Output Directory中手动新建一个文本文件确认能正常写入。若失败问题必在路径权限。阻焊层Soldermask焊盘被覆盖无法上锡Soldermask Film极性设为Positive或未定义Void区域或Soldermask层本身图形错误1. 查Artwork Control Form确认Top_Soldermask极性为Negative2. 进入Film Control → Void…检查所有需挖空的Shape是否勾选3. Display中单独开启Soldermask_Top层确认其图形无误用Allegro的“Show Ratsnest”功能在Soldermask_Top层上右键 → Show Ratsnest若焊盘间出现飞线说明该层有铜皮连接需检查铺铜设置。钻孔文件NC Drill中孔径与设计不符Drill Tool Table未更新或设计中过孔Drill Pair属性未关联正确刀具1. Manufacture → NC Manufacture → NC Drill → Edit → Drill Tool Table核对Txx孔径2. 在Design中选中一个异常过孔 →右键→Properties→Drill Pair确认其Drill Size与Tool Table中Txx一致导出NC Drill前先运行Manufacture → NC Manufacture → Report → Drill Report生成drill.rpt文件用Excel打开筛选“Hole Size”列确认所有值与设计一致。丝印层Silkscreen文字模糊、断线Silkscreen线宽0.15mm或Plot Mode设为“Outline Only”但未设Minimum Line Width或字体为TrueType非Stroke1. Setup → Design Parameter → Display → Line Width设Silkscreen为0.15mm2. Artwork → Film Control → Top_Silkscreen勾选“Plot Outlines Only”并设Min Line Width0.15mm3. Text属性中Font Type选Stroke勿选TrueType将丝印文字转为Shape选中文字 → Edit → Change → Text to Shape这样导出的Gerber中文字是矢量轮廓永不模糊。Gerber文件被板厂拒收提示“Missing Aperture”未勾选“Create Aperture List”或自定义焊盘的D-CODE未在aperture.lst中定义或文件编码为UTF-8应为ANSI1. 重导出务必勾选“Create Aperture List”2. 用记事本打开aperture.lst搜索设计中所有自定义焊盘名如USB_C_TOP确认其对应D-CODE存在3. 用Notepad打开aperture.lst编码→转为ANSI在Allegro中为所有自定义焊盘添加“Aperture ID”打开Padstack Editor → Load Padstack → 选中焊盘 → Edit → Aperture → 输入唯一D-CODE如D25导出时自动关联。注意遇到“Allegro导出gerber卡死在99%”的问题别等。直接按CtrlBreak强制中断然后检查Output Directory磁盘空间——Allegro在导出大文件如8层板时会先在内存中生成临时数据若磁盘剩余空间5GB极易卡死。我习惯在导出前用WinR输入cleanmgr清空系统临时文件。提示关于“allegro转pads文件的方法”这不是Gerber导出范畴而是设计数据交换。Allegro原生不支持直接导出PADS格式需通过IPC-2581或ODB中间格式中转或使用第三方工具如Valor NPI。但请注意PADS对Allegro的高级功能如动态铜皮、约束驱动布线支持有限转换后务必全链路验证。5. 经验沉淀十年实战总结的3条铁律第一条铁律“导出前先问板厂要一份Gerber Specification”。别信网上搜来的“通用设置”更别用公司旧项目的模板。每家板厂甚至同一板厂的不同产线对Gerber的要求都有细微差别有的要求阻焊层必须带“Soldermask”前缀有的接受“SM”有的要求钻孔文件必须包含Tool Change命令有的只需坐标数据有的对Aperture List的格式如是否需D01/D02代码有硬性规定。我合作过的头部板厂如深南电路、沪士电子官网都提供PDF版《Gerber Submission Guide》下载后逐条对照Artwork Setup。曾有一个项目因未按板厂要求在NC Drill末尾添加M30指令被退回三次就为这一个字符。第二条铁律“每一次导出都必须生成一份Checklist Report”。Allegro自带Report功能路径为Manufacture → Artwork → Report → Artwork Report。运行后生成artwork.rpt里面详细列出所有Film Name、对应Physical Layer、极性、镜像状态、输出路径、文件大小、生成时间。把它打印出来逐项打钩确认再签字存档。这不仅是质量追溯依据更是责任划分凭证——若板子做出来有问题这份报告能清晰证明阻焊极性设置、钻孔单位、坐标原点等关键项导出时就是正确的。我团队实行此法后Gerber相关客诉下降了70%。第三条铁律“永远不要在周五下午导出Gerber”。这不是迷信而是基于血泪教训的工程管理。周五下午人的注意力、判断力、应急响应能力都处于低谷同时IT部门可能进行系统维护Allegro License Server偶发中断板厂客服也临近下班若出问题无法及时沟通。我坚持把Gerber导出、验证、打包、发邮件的全流程安排在周二至周四上午完成。多花半天换来的是零返工、零延误、零扯皮。真正的专业不在于技术多炫酷而在于把确定性做到极致。最后分享一个小技巧为避免重复劳动我把所有验证步骤固化为一个Skill脚本Allegro的LISP宏。它能在导出后自动1检查所有Film极性2比对Drill与Top层坐标偏移3生成带时间戳的Checklist Report4用系统命令调用GC-Prevue批量打开Gerber。脚本代码不长核心就四行但省下了我每年至少200小时的机械操作时间。如果你需要我可以把这段代码整理出来——它不涉及任何敏感内容纯粹是提升效率的生产力工具。
返回列表