ARTICLE DETAIL

资讯详情

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

Cadence Allegro转AD全流程详解:三种转换路线与高频问题排查

Cadence Allegro转AD全流程详解:三种转换路线与高频问题排查 客户甩过来一份Cadence Allegro的.brd文件让你三天内改成某个方案继续打样而你电脑上装的是Altium Designer——Allegro转AD这种操作我这些年少说也折腾了几十回。网上教程基本都是同一套话术File Import Allegro完事。可真正转过板的人都懂这里面的坑多到能写一本书。本文就把Allegro转AD的几条路一次讲透直接导入怎么操作、网表重建怎么做、DXF和Gerber兜底方案什么时候用、以及导入后那些高频报错和细节问题怎么处理。不管你是初次转板的新手还是被版本兼容性折磨的老工程师这份清单都能帮你省下至少一个通宵。1. 转板思路先行先看清手里的文件再选转换方案1.1 Allegro文件都有哪几类哪类能直接转很多人拿到一个压缩包里面一堆后缀名第一反应就是懵。其实Allegro相关文件就那几类.brd是PCB数据库文件也就是我们要转的核心目标.dsn是OrCAD Capture的原理图设计文件这个AD可以直接导入.pad、.psm、.flm、.bsm则是封装库相关文件.dra是封装编辑器用的图形文件。还有一些.log、.art之类的过程文件基本不用管。拿到文件后先分清楚你手里到底是只有一个.brd还是整个工程都齐全这决定了后续路线。只有.brd没有原理图那你能走的就只有“直接导入.brd”或者“Gerber/ODB逆向”这两条路如果有.brd还有配套的OrCAD原理图工程恭喜你可以走网表重建的高保真路线转换质量会好很多。还有一种常见情况对方发来的是一份Gerber文件。这种文件严格来说不算Allegro工程它只是生产数据。你拿到Gerber想“转成AD”那属于逆向重建复杂度完全不同。这部分我放在第4章讲千万别上来就用Gerber去转那是最后手段。1.2 三种转换路线对比别一上来就点Import先看一张我整理的路由表后面所有操作都围绕这三条线展开转换方案保真度工作量适用场景AD直接导入.brd高电气网络、铜皮、走线都在低版本匹配、文件完整且能正常打开网表坐标文件重建最高原件库、网络、规则都可控高有原理图工程或直接导入失败DXF/DWG、Gerber/ODB兜底低到中只保几何或部分网络高只要外形、只做查看、修改个别细节我推荐绝大多数人优先选第一种原因很简单快、省事、电气属性基本能完整保留。但如果你导入时报错、或者导入进去发现飞线全无那就别硬扛及时切到第二条路线。第二种方案虽然费时间但它能让我在重建过程中把原理图和PCB的对应关系重新理一遍后续改版、出量产文件都会更顺手。DXF和Gerber这两条兜底路线说实话我平时不太愿意碰。它们要么只能转机械外形要么会把PCB的电气信息丢个精光。什么时候才用后面第4章我会把判断标准说清楚。1.3 版本兼容账本Allegro 16.6几乎是万能出口Allegro版本号很杂16.2、16.3、16.5、16.6、17.2、17.4、22.1都有公司在用。Altium Designer这边早期的AD16、AD17、AD19对Allegro 16.x的导入支持还凑合从AD20开始官方称支持17.2但实际体验下来17.4以上的.brd文件在AD里导入经常翻车报错信息最常见的就是那句让人血压升高的“Allegro design file not recognized, or version is too old”。这句话有两层意思一层是文件版本太新AD不认另一层是版本太老AD也不认。比如Allegro 15.7以前的老古董格式AD的导入器根本没法解析。所以我在实际项目里定了一条铁律不管对方发来的是什么版本我都先在Allegro里导出成16.6版再转AD。16.6是Allegro生命周期最长、最稳定的版本AD对它的兼容性打磨得也最成熟。如果没有安装完整版Allegro可以装一个Allegro X Free Viewer 16.6免费查看器它能打开.brd文件看版本、层叠、网络数量这些基础信息但注意它只能看不能改也不能导出降版本。真正降版本还是需要一台装完整版Allegro的电脑一台就够改完把文件拷回来继续用。2. 直接吞下.brdAD导入Allegro原文件的完整操作2.1 降版本怎么操作为什么要降到16.6降版本这个动作在Allegro里叫Downrev Design路径是File Export Downrev Design。操作界面会弹出一个版本选择列表直接选16.6输出一个.new.brd或者直接覆盖原文件。有人问能不能降到更低比如16.2可以但没必要AD其实不支持太老的Allegro版本16.6才是兼容性最好的中间格式。有一个细节必须提醒降版本之前一定先在Allegro里执行一次Tools Database Check也就是常说的dbdoctor。这个工具会扫描当前.brd文件的数据库完整性勾选Check Geometry和Check Shapes这两项再点执行。如果扫描报错先让Allegro自动修复修复通过后再降版本。我见过有人拿一个带隐性错误的.brd直接降版本结果导出过程走到一半就崩了原文件也跟着变得打不开最后只能让客户重新发文件非常尴尬。如果菜单里的Downrev Design是灰色的点不了通常是许可限制了该功能。这时候别折腾找个装了完整License的同事或者对方公司的人帮你导一次几分钟的事。另外有人用skill脚本做降版本原理其实一样就是调用内部命令重写文件版本头效果差不多但我不建议在关键项目上用来路不明的脚本官方功能最稳。2.2 导入向导里的关键选项怎么勾文件降到16.6之后在AD里执行File Import Allegro Design选择.brd文件这时会弹导入配置界面。不同AD版本界面略有差异但核心选项就那么几个我按经验说一下怎么勾。单位建议保持Auto让AD按原文件的单位识别不要手动改成Mil或mm避免坐标缩放出差错。层的映射一般不用动AD会自动把ETCH/Top映射到Top Layer、ETCH/Bottom映射到Bottom Layer但导入完成后一定要在Layer Stack Manager里核对一遍特别是有内电层的四层板以上设计偶尔会有层顺序错位的情况。铜皮相关的选项如果出现Merge Copper或类似功能我建议先不要勾。Allegro的静态铜和动态铜在导入后大概率会变成独立的铜箔区域强行合并反而会让编辑变得笨重。导入过程中如果卡顿把“导入设计规则”这类重选项先关掉等板子进来了再手动补规则优先级更高。导入进度条走完后第一眼看到的板子可能颜色很乱这是正常的。Allegro的显示颜色配置不会一起迁移你可以在AD里按L打开视图配置或者直接用View Board Planning Mode看层叠结构。别被颜色问题吓到电气数据没问题才是关键。2.3 导入完成后立刻要做的4项自检直接导入完成不等于结束我每次都会在十分钟内完成四项检查少了哪一项后面都会出事。第一网络数量校验。打开PCB面板切到Nets视图数一下网络列表数量再和原Allegro的log文件或者网表里的网络总数对比。对不上就说明导入过程丢了网络这事可大可小。第二飞线显示。在AD里按N选择Show All或者按快捷键Un-Route All不需要路由只是显示飞线。正常情况下所有焊盘之间会有密密麻麻的飞线这代表连接关系还在。如果屏幕干干净净那基本说明网络关系没导入成功赶紧回第3章走网表重建。第三跑一遍DRC。Tools Design Rule Check把Short-Circuit Constraint和Un-Routed Net这两项打开立刻跑一遍。开路、短路报错会在Messages面板里列出来这是判断转换质量最直观的依据。第四3D视图检查。按3进入3D模式看元件高度、封装方向、板框外形是否正常。很多元件在Allegro里有3D模型但AD不一定能自动关联后期需要手动补Step模型。这一步主要是发现“封装缺失、元件悬浮”这类大问题。3. 保真度最高的方案网表坐标文件在AD里重建3.1 从Allegro那边导出哪些文件当直接导入失败或者说你希望转换后的工程干净、规则可控那网表坐标重建就是正解。这个方案的前提是你手上有完整的原设计数据至少包括原理图工程.dsn/.opj、Allegro的.brd文件、坐标文件、以及一份完整的PDF图纸。具体导出拿什么首先是网表。如果你用的是OrCAD Capture画原理图在原理图编辑器中Tools Generate Netlist格式选择Allegro生成.net文件。这一步和平时投板前导网表一样能生成一份包含所有元件位号、封装、网络连接关系的文本文件AD可以直接识别。其次是坐标文件。在Allegro里File Export Placement弹窗里选择Mounted模式只导出已装配元件格式选默认的Allegro输出一个.placement文件。这个文件内容大概是这样的格式REFDES, DEVICE, X, Y, SIDE, ROTATION C1, 0.1uF_0402, 100.000, 150.000, TOP, 90然后是PDF图纸和BOM。Allegro可以通过File Export PDF直接输出图纸也可以从OrCAD Capture出原理图PDF。BOM用Report Bill of Materials生成。这两样东西在重建工程时是用来做人工核对的标准答案。3.2 坐标文件格式转换从exp_placement到Pick-and-PlaceAllegro导出的.placement文件不能直接被AD导入AD用的坐标格式是Pick and Place的CSV字段顺序一般是Designator, Comment, Footprint, Mid X, Mid Y, Layer, Rotation转换其实不复杂用Excel就能搞定。把Allegro的.placement文件打开按逗号分列然后把REFDES、DEVICE、X、Y、SIDE、ROTATION这六列按AD需要的顺序重排加一个Footprint列Comment列可以从BOM里填进去SIDE字段直接映射成TOP或BOTTOM。单位也要确认清楚Allegro默认可能是milAD工程如果设成了mm要在转换时统一除以39.37不然所有元件会飞到一个奇葩位置。如果你习惯写脚本我提供一个AD的DelphiScript思路放在PCB脚本系统里运行可以直接读取转换好的CSV并批量修改板上元件的坐标procedure TForm1.ImportPlacementButtonClick(Sender: TObject); var Board: IPCB_Board; Iterator: IPCB_BoardIterator; Component: IPCB_Component; F: TextFile; Line: String; Ref, Footprint, Side: String; PosX, PosY, Rot: Double; begin Board : PCBServer.GetCurrentPCBBoard; AssignFile(F, D:\placement.csv); Reset(F); while not Eof(F) do begin ReadLn(F, Line); // 按逗号解析Ref, Comment, Footprint, X, Y, Layer, Rotation // 遍历Board中的元件找到匹配的Ref后设置Component.XLocation/YLocation/Rotation end; CloseFile(F); ResetAllComponents; // 刷新视图 end;这个脚本只是骨架实际使用时需要补上字符串解析和元件搜索逻辑但思路就是这么个思路。有了坐标导入元件能快速按原设计摆回正确位置比肉眼看着PDF一个个拖靠谱得多。3.3 在AD里重建工程和验证连通性坐标文件处理好的前提下工程重建流程就比较顺了。先在AD里新建一个PCB工程然后把OrCAD原理图导入File Import OrCAD Capture选择.dsn文件。AD对OrCAD Capture的导入兼容性还是不错的大部分元件、网络、注释都能保留。导入后再在原理图编辑器里执行Design Update PCB DocumentAD会自动在PCB里生成一堆元件和飞线。这个时候元件位置是乱的不要慌用第3.2节做好的坐标文件把元件都摆到指定位置。板框可以用DXF导进来路径是Design Board Shape Define from selected objects把DXF里的Outline线条选中并转成新的板框。接着按PDF图纸逐一核对极性元件、连接器方向、螺丝孔位置。最后回到网络管理器确认网络列表和原Allegro设计一致再跑一遍DRC。我实际做过一个四层ARM核心板的重建整个过程大概花了一天半。听起来比直接导入慢很多但好处是原理图在AD里是可编辑的后续改版、调整BOM、更新封装都方便规则也能完全按AD的习惯重新配置不用担心带入Allegro那些奇怪的约束。如果你的项目以后还要持续迭代我强烈推荐走这条路。4. 逼不得已才用的兜底方案DXF/DWG与Gerber/ODB4.1 DXF只用来搬外形别指望搬电路DXF/DWG这类格式只能保存几何图形没有任何电气属性所以它的定位就是“搬外形”不是“搬电路”。什么时候用你只需要板框、安装孔、螺丝柱、非金属化槽的时候或者想用原设计的机械外形配合结构软件做干涉检查这时候DXF是最合适的。Allegro导出DXF的操作File Export DXF在弹出的配置窗口里选择需要导出的层。推荐至少勾选Board Geometry里的Outline、Dimension、Mechanical、Constraint区域如果你还要丝印定位可以把Package Geometry的Silkscreen也勾上。单位选择要看接收方需求AD和机械工程师常用mm但Allegro老工厂里很多还习惯用mil导出前一定要确认清楚。AD导入DXF时是File Import DXF/DWG会弹层映射和单位设置界面。这里有个高频坑缩放比例不对。如果你的单位选错了板子导入后会变成25.4倍或者39.37倍的大小第一眼看不出来一测量就露馅。我自己的习惯是先导一个非常简单的矩形框试一下确认尺寸比例无误后再导完整的Outline。导入后如果只想保留板框线条可以选中线条后在AD里执行Design Board Shape Define from selected objects一键生成板框。然后你就可以在板框内新建走线、放置元件了。4.2 Gerber/ODB逆向能看、能补、不建议深改当手头只有Gerber或者ODB时逆向成AD PCB是最后的退路。先说结论这个方案能用来查看、能用来补两块小铜皮、能用来出一份预览图但别指望优雅地改版。如果拿到的是ODBAD可以直接File Import ODB。ODB比Gerber强的地方在于它保留了网络信息和层叠结构导入后能看到网络名铜皮、焊盘形状大多能还原成可编辑对象但很多细节会变成线条、圆弧、区域填充的堆叠远不如原生.brd导入干净。如果只有Gerber文件AD的File Import Gerber Files可以先打开每一层图形然后你在CAM文档里复制图形、粘贴到PCB的对应层。这个流程极其繁琐一个四层板你可能要粘一晚上。还要注意Gerber里没有元件属性没有网络只有铜箔形状和丝印线条。导入后的所谓“PCB”本质上是一堆几何图形你无法用它做网络检查、无法直接出BOM、无法规则约束。所以我通常劝客户Gerber逆向只用来“看”不要用来“改”。真要大改宁可拿着Gerber和PDF重新画一版也比逆向修图快。这一行最大的幻觉就是觉得Gerber能“无损变回源文件”它真不能。4.3 顺带提醒Allegro启动不弹Product Choice这类小问题做转换时经常碰到Allegro本身的毛病比如热词里提到的“Allegro 17.2打开.brd时不弹出Allegro PCB Designer Product Choice”。这个弹窗是Allegro用来让你选择打开模式的不弹很可能是安装不全或者双击文件时走了别的入口。解决办法很简单别双击.brd直接去开始菜单打开Allegro PCB Designer然后在里面通过File Open选择文件也可以到安装目录下右键allegro.exe用管理员身份运行一次把产品注册信息刷新一下。这类小问题看起来和工作内容关系不大但实际项目中特别耽误时间。如果你只是想知道这个.brd是什么版本、层数多少、网络多少装个Allegro X Free Viewer 16.6就够了。它能打开文件并显示基本属性配合后面我用到的文件体检流程能让转换过程少走弯路。5. 导入后高频问题与排查实录5.1 “Not recognized or version is too old”的两种应对这个报错是Allegro转AD最经典的拦路虎我在网上看到过一堆人问。解决办法要先分方向文件太新就用Downrev Design降到16.6再导入文件太老比如15.xAD确实解析不了这时候需要找一台能打开老版本的Allegro把它另存为16.6后再导入。如果Allegro自己也打不开那就是文件损坏先用dbdoctor扫描修复修不好只能找对方重发。还有一种容易被忽略的情况文件本身没问题但AD导入器因为某种原因没能识别.brd的文件头。遇到这种我建议关闭AD重新启动然后不要用双击打开的方式而是File Import Allegro Design指定路径选择文件。用“打开”菜单去开.brd很可能会让AD把它当普通文档处理导致报错。报错信息里如果还带着“version is too old”后面一串十六进制编号基本是文件版本和导入器预期不符。我建议把报错信息截图发给你身边的Allegro老手看一眼通常一眼就能判断是太新还是太旧。版本问题解决后导入成功率能提升九成。5.2 网络飞线全丢、铺铜变成碎片怎么办导入后飞线全无先打开Net列表确认网络信息是否真空了。如果是空的有两种可能一是原.brd本身没有网络属性这种文件多半是从Gerber或者第三方工具重建出来的“图形板”二是AD导入时选项没勾对重新导入一次并在配置里勾选Net相关的选项试试。网络空掉之后唯一正规的补救办法就是走第3章的网表重建。有人想手动一个个连网络这种操作对小模块也许可行但面对几百个元件的板子完全是浪费时间而且极容易漏连。铺铜变碎片则是另一个经典问题。Allegro的动态铜在AD里经常会变成一堆孤立的小铜皮看起来非常惊悚。解决逻辑是别试图修这些碎片直接删掉重铺。在AD里用Polygon Pour重新画一块铺铜区域指定网络设置好规则然后Tools Polygon Pours Repour All。重铺之前务必保存因为大面积重铺时AD有时会卡十几秒甚至崩溃先保存一份不会吃亏。5.3 封装库、3D模型、丝印位号缺失的处理导入后的封装问题分两种情况一种焊盘位置和尺寸都对只是AD不认识Allegro封装名元件在PCB上显示成黑色方块这种其实不影响生产制板厂认的是焊盘和丝印不是封装名另一种是焊盘全部变成未知形状这大概率是封装库没有同步过来需要手动重建或替换。封装名映射这块AD从AD20开始提供了Library Migrator可以迁移Cadence/Allegro的封装库到AD集成库但实际用过的朋友都知道库里的标准件还好公司私有封装经常迁移失败。我自己的土办法是导出一份“元件库对照表”把Allegro封装名和AD封装名做一张Excel映射表然后在PCB List里批量替换Footprint。慢是慢点但准确可控。3D模型缺失就更普遍了。AD里给元件添加3D封装的方法是双击元件进入Footprint Editor然后Place 3D Body选择Generic STEP Model导入厂商提供的Step文件设置好偏移和高度。如果你只关心结构干涉可以只给连接器、大电容、屏蔽罩这些关键器件补3D模型阻容类小封装可以不补。丝印位号缺失或者跑到奇怪层去了同样是高频问题。Allegro里丝印可能在Package Geometry/Silkscreen层导入AD后不一定自动映射到Top Overlay。你可以在PCB面板里用Filter选中Silkscreen相关的字符串然后统一改到Top Overlay层。如果位号图在Allegro里就被删了需要回Allegro执行Manufacture Silkscreen重新生成一次再导出。5.4 铺铜避让、过孔开窗这些细节怎么调转板完成后很多人会遇到“AD在铜皮里面走线不避让”的情况。这其实不是没避让而是多边形铺铜没有重新Pour或者Clearance规则没设置。正确的处理顺序是先在Design Rules里新建一条Clearance规则Query条件写成IsPolygon间距按你需要的值填比如0.3mm或0.25mm然后Tools Polygon Pours Repour All强制所有铺铜重新填充。刷新后走线就会在铜皮内自动“让”出一条通道。关于“Allegro PCB背面的绿油露铜处理”说白了就是阻焊开窗。在Allegro里露铜是在Bottom Solder Mask层画形状导入AD后要检查Bottom Solder层是否保留了同样的开窗图形。如果没有就手动在Bottom Solder层用Fill或Polygon补上。过孔盖油的问题类似Allegro的过孔盖油由自身属性控制转AD后经常变成默认开窗需要全选过孔后在属性里设置Solder Mask Expansion或者统一修改阻焊规则。另外如果你导入后发现走线角度很别扭注意检查圆弧走线是否被离散成多段折线。AD遇到Allegro的圆弧走线通常会保留为弧段但偶尔也会变成一堆小线段。这种主要是显示精度和导入精度的设置问题可以在Preferences里把Arc Approximation调高然后重新导入一次试试。走线角度检查如果特别在意可以在AD的Find Similar里选所有Track按层和线宽筛选再用属性面板扫一遍角度。6. 转板完成后的自检习惯与经验分享6.1 转换后的第一件事DRC飞线3D视图转换完成不等于工作完成每次我都会给自己定一个“三查”流程DRC、飞线、3D视图。DRC能查出短路、开路和间距违规飞线能看出网络是否完整3D视图能暴露元件冲突、高度超标、反向装配这些电气规则查不出来的物理问题。这三样都没问题后再考虑出Gerber或者继续改板。还要做一次网络表和BOM的对照。把AD生成的BOM和网络表导出来和原Allegro的BOM、网表逐项比对位号数量、封装尺寸、极性方向都要一致。这个步骤看着繁琐但能在量产前拦住一堆低级错误。我自己吃过亏一个电源芯片的Pin1方向转了180度功能测试时才被发现从那以后每次转换我必对位号图。6.2 常用小工具与脚本不是广告除了AD和Allegro这两个主力软件我平时还留了几个小工具在硬盘里。Allegro X Free Viewer用来快速查看.brd版本和层叠信息不装完整版Allegro也能应急Excel坐标转换模板用来把exp_placement转成AD的Pick-and-Place格式模板里写好公式拉进去就能出来还有一个自己写的DelphiScript脚本专门负责批量导入坐标到PCB整个流程跑一遍大概十分钟。如果你不想写脚本AD自带的PCB List面板也够用。先把所有元件的坐标导出成CSV在Excel里修改再通过PCB List的粘贴功能把X/Y/Rotation批量写回去。这个方法不需要任何编程基础处理一两百个元件完全够用。有个细节值得强调无论用什么工具做完转换后一定要保留一份Allegro原文件的完整备份包括.brd、.dsn、封装库、输出文件。转换过程有可能出现不可预期的问题备份是最后的后悔药。6.3 我的个人体会与建议Allegro转AD这件事我从入行到现在做过太多回了。最初我也迷信直接导入觉得点一下菜单就能搞定后来被各种版本兼容问题教育过才慢慢总结出“先体检、再转换、后核对”这套流程。所谓体检就是用免费查看器或者Allegro打开文件确认版本、层数、网络数、元件数、动态铜区域数量把这些基础数据记下来。转换完了再逐项核对哪里对不上马上就知道。还有一个建议是时间规划。转板任务看起来是个小活但实际上你永远不知道文件会在哪一步翻车。我在项目排期的时候一般会给转换和验证留出至少一天缓冲。如果接的是交付期很紧的活儿宁可提前跟客户要一份16.6版本的.brd以及配套的网表和PDF也别自己扛着高版本文件硬转。最后再分享一个判断经验如果对方发来的.brd特别大层数特别多还带着大量动态铜和高速规则直接导入AD的成功率其实不高。这种复杂板子我更推荐直接走网表重建虽然慢但稳定。转板这件事快不是目标稳才是。
返回列表