ARTICLE DETAIL

资讯详情

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

Allegro转PADS保姆级教程:转换流程与高频报错全解

Allegro转PADS保姆级教程:转换流程与高频报错全解 前阵子接了个项目客户那边的板子是拿Cadence Allegro画的但我们公司的交付流程指定用PADS。文件拿到手一看四层板高密度BGA板上还有一堆异形铜皮和安装孔位。第一次做这种跨工具迁移的工程师第一反应往往是“我是不是得照着原图重新画一遍”。先别急着动手Allegro转PADS其实有正规流程只要前期准备做足后面不会太折腾。这篇内容就是把我自己做了几十次Allegro转PADS的完整流程、选项设置、以及踩过的坑整理出来。不管你用的是Allegro 16.6还是17.2之后的版本PADS是9.x还是VX.2.x核心思路都一样先梳理文件结构再做格式翻译最后在PADS里完成收尾整理。文章里会包含转换原理、保姆级操作步骤以及“Database version not supported”“铜皮丢失”“开孔删不掉”这些高频报错的解决方案。1. 转换前必须先想清楚的事方案选型与整体思路1.1 为什么Allegro转PADS这么折腾很多人以为Allegro转PADS就是把文件后缀改一下、直接打开就行结果发现PADS根本读不了.brd文件。这不是你操作有问题而是两个工具的底层数据模型完全不同。Cadence Allegro的数据库是“库分离”模式板子里只存放对封装库和Padstack的引用真正的焊盘和封装外形在外部库文件里。你做设计时如果没把库文件一起拷过来别人拿到.brd之后打开就会提示缺库。而PADS的库是“库内嵌”模式PCB文件里自带完整的库信息不需要额外挂接外部库。所以Allegro文件转成PADS等于要把“引用关系”全部翻译成“实体对象”这一步做不到百分百无损。铜皮的差异更明显。Allegro里的铜皮是Shape对象有动态Shape和静态Shape之分还有铜皮之间的优先级关系PADS里的铜皮走的是Copper加Flood灌铜机制用Pour Manager统一管理。Allegro的铜皮优先级、禁止铺铜区这些概念在PADS里没有一一对应的功能。转换器能帮你把大部分铜皮形状留下但“优先级”这种逻辑关系基本会丢失。所以转换的本质不是“打开文件”而是一次数据翻译。翻译过程中必然会出现丢字段、丢规则、丢对象的情况。理解了这一点后面看到报错和警告就不会慌因为你已经知道哪些地方需要人工补处理。1.2 三条可行路线Translator直转、ASC中转、第三方工具转换路线有几种我按实用程度排个序。方案APADS自带的Allegro Translations转换器这是首选。PADS的File菜单里直接提供了Allegro导入通道从PADS VX.2.x到老版本都有。它能把Allegro的板层、网络、封装、走线、铜皮以较高的保真度转换过来绝大多数常规板子都能一次成功。缺点是对异形焊盘、复杂铜皮、特殊钻孔的支持不完美转完之后需要做一轮检查。方案B通过ASC文件中转。在Allegro里导出ASCII格式文件.alg或.asc再让PADS导入。这种方式适合直接转换失败、或者你手上只有网表和坐标没有完整板卡数据的情况。ASC里主要包含元件信息、网络连接关系、封装坐标丢失的是铜皮、走线、板框这些几何数据。所以ASC中转通常只用于“导网表做重新布线”不是完整的板卡迁移。方案C第三方工具比如DXF/ODB中转。这类方式主要针对机械结构信息把板框、螺丝孔位、异形开槽用DXF导出来再在PADS里手动放置。ODB适合把多层叠构和铜皮作为中性格式导入但会丢失网络属性后续要重新关联。不到万不得已不建议用它做完整转换。临时的经验是90%以上的设计方案A都能搞定。方案B和C是兜底手段不要一上来就绕远路。后续所有实操都围绕方案A展开。2. 转换前的Allegro端准备把隐患扼杀在原厂文件里2.1 设计体检DBDoctor与DRC是转换的生死线转换器在读取Allegro文件时会按自己的规则逐层解析数据。如果原文件本身有内部数据异常——比如未闭合的走线、异常的Shape边界、损坏的数据库索引——转换器往往不会智能修复而是直接报错退出或者干脆产出一个缺胳膊少腿的PCB。所以拿到Allegro板子第一步不是急着打开PADS而是在Allegro里做一次体检。老工程师都知道Cadence安装包里自带一个DBDoctor工具它在Allegro Design Entry里可以通过Tools → Database/Design Doctor调出或者从开始菜单的Cadence程序组里直接启动。用它跑一遍数据库检查有损坏它会自动修复修复完再看日志确认没有红色Error。然后是DRC检查。在Allegro里执行Tools → DRC重点看三样东西未连接的Pin、短路、未完成的走线。这些在网络层面有问题的数据转换到PADS后很大概率会变成“断掉的飞线”或者“连错网络”到时候修起来比在原文件里改麻烦得多。还有一个容易忽略的点Allegro里如果有大量动态铜皮并且处于“随布局实时更新”状态建议在转换前执行一次Update Shapes让铜皮数据落定。版本兼容性也要提前确认。如果你的Allegro是17.4/24.1这些新版本而手里的PADS是老版本Translator打开的时候极可能弹“Database version is not supported”。这不是操作问题是新版数据库结构老版转换器不认识。常规做法是在Allegro里降级导出或者升级PADS版本。版本不匹配导致的报错下面第4.1节会单独展开。2.2 铜皮、禁止铺铜区和层叠别放任不管铜皮是Allegro转PADS重灾区也是热搜词里“cadence 铜皮 优先级”的来源。Allegro里的Shape分动态和静态动态铜皮带实时避让属性会在走线、移动器件时自动挖空。PADS的Copper没有实时避让这回事它是“铺铜行为”的结果。转换器在解析动态Shape时只能把它当前显示出来的形状转过去以前被避让挖掉的部分就以“空洞”形式固定在铜皮里了。后续在PADS里移动了器件这个空洞不会自动更新。所以正确姿势是转换前在Allegro里把所有Dynamic Shape转成Static Shape。操作是选中铜皮后执行Shape → Convert to Static Solid转换顺序从底层到顶层依次处理。这个过程会生成大量静态铜皮数据转换器再搬过去就稳定得多。禁止铺铜区同理。Allegro里有Route Keepout、Package Keepout这些禁布区域它们本质是带约束属性的图形对象。转换到PADS后部分Keepout会变成Keepout层区域部分会被当普通图形丢到某个机械层。如果你不管它转完在PADS里执行灌铜时本该禁铺的地方很可能被铺上铜导致板子短路风险。所以转换前要把禁止铺铜区单独建一个层比如KEEPOUT层方便导入后第一时间检查。层叠结构也不能忽略。Allegro的层叠设置和PADS的Layer Setup差异很大特别是内层命名。Allegro里内层往往叫GND、PWR、SIG1这种自定义名字PADS里默认叫INNER1、INNER2。转换器会把Allegro的物理层顺序直接搬过来但名字映射不一定完整。建议转换前把Allegro的Stack-Up里每一层的名字、类型、厚度核对一遍删掉所有空层和冗余层。层叠越干净转换后产生“层表错乱”的概率越低。2.3 封装和Padstack命名清洁Allegro转PADS时封装是最容易批量报Warning的地方。根源是命名规范Allegro允许封装名里有空格、括号、点号、斜杠这些字符而PADS的库对象命名对特殊符号兼容性差。转换时这些字符有的会被自动替换成下划线有的直接导致封装重命名更严重的会让焊盘丢失。一个比较稳妥的做法转换前在Allegro里对所有封装统一“改名”规则是只保留字母、数字、下划线长度别超过28个字符。这个动作可以用Cadence的Allegro Skill脚本批量完成如果你接手的是别人的文件对Skill不熟也可以直接在Symbol Editor里逐个检查出问题的封装。别嫌麻烦这一步省掉的是一整天的后期修补时间。还要注意Padstack尤其是不规则焊盘。Allegro的Padstack支持复杂的异形结构比如带倒角的焊盘、椭圆孔、Custom形状。PADS的Padstack模型虽然也支持但转换器对复杂形状的映射成功率不是100%。板子上如果大量使用异形焊盘常见于板对板连接器、射频模块转完之后一定要抽查几个焊盘确认内径外径、热风焊盘连接方式正确。3. 保姆级转换实操从Allegro导出到PADS整理3.1 Allegro侧导出老版本和新版本的做法先说16.6及更早版本。这代Allegro和PADS转换器的配合方式是“导出ASCII再导入”。在Allegro里执行File → Export → ASCII会弹出一个Export ASCII对话框勾选需要包含的层和对象默认全选即可输出文件是.alg格式。这个.alg文件是给PADS Translator识别用的标准输入。需要注意导出ASCII之后建议重新打开看一眼导出的.alg有没有生成完整文件体积如果明显小于预期比如十几层的板子只有几十KB多半是部分数据没导出来检查一下层勾选。再说17.2及更新版本。PADS的Allegro Translations转换器通常可以直接读取.brd文件不需要再导ASCII。不过在转换前建议在Allegro里执行File → Export → Other导出一份不带库引用冲突的干净版本。有些同学会问我直接复制一份.brd出来改个名行不行可以但如果板子里有软件版本自动升级产生的数据库迁移痕迹比如从16.6升到17.4之后保存过的文件最好还是用更高版本的Allegro重新保存一次降低转换器读到旧格式指针的概率。Allegro侧导出的总原则交付给转换器的文件应当是一个数据库健康、无动态铜皮、封装命名干净、层叠精简的静态快照。3.2 PADS侧导入关键选项逐项说以PADS VX.2.x为例操作路径是File → Import → Allegro Translations。老一点的PADS 9.x版本这个入口可能在开始菜单的PADS Translators程序组里菜单叫Allegro to PADS Layout Translator核心逻辑一样。先选要转换的Allegro文件支持.brd也支持.alg。然后设置Output Library Directory也就是转换生成的库文件存放路径。这个路径建议单独建一个文件夹不要放在系统盘临时目录因为转换完你要反复调用这个库去修复缺失封装。接着是Options选项必须要逐项看Minimum Pad Size低于这个尺寸的焊盘会被忽略。对不同密度的板子设置不同常规板卡填0.1mmBGA密集板卡建议填0.05mm填太大BGA的盘会丢填太小会产生极碎的铜箔碎片。Minimum Copper Area铜皮面积低于这个阈值的会被忽略。常规填1mm²左右防止导入一堆碎铜皮。但注意如果板上有大量信号层敷铜皮碎块阈值设太大会导致重要铜皮消失后期要手动补。3D Export选项如果需要保留3D模型信息勾上不需要就关掉可以提升转换速度并减少莫名报错。Keepout转换选项有的版本叫Convert layer keepouts勾选后Route Keepout会转换成PADS的Keepout区域不勾有可能变成无属性图形。设置完成后点击OK开始转换。转换时间取决于板卡复杂度几百个元件的板子通常几分钟内完成。转换过程中会弹出日志窗口里面有每一步的处理信息。注意哪怕界面显示100%完成也先别高兴真正的关键在转换后生成的报告文件。3.3 转换完成后必须做的收尾整理转换器不会帮你把板子收拾到能直接打样。它产出的PADS文件中封装名往往是自动生成的临时名比如“ALG_001”“PAD_0023”这种铜皮大概率需要重新灌一遍DRC跑出来一堆错误也正常。收到一份源文件后完整的整理流程是第一打开文件先看报告。找到转换报告文件通常和PCB同目录带.log或者报告样式搜索Warning和Error逐个确认。缺失的封装、丢失的焊盘、无法识别的层报告里都会列出。照着报告修比在PCB里盲修效率高得多。第二检查网络。用PADS的Netlist Compare功能Tools → Compare/ECO把原Allegro导出的网表和PADS里的网表做一个对比重点检查电源网络和地网络是否完整。如果两者有差异用ECO模式补回缺失连接。第三重新灌铜。执行Tool → Pour Manager选择Flood模式点击Start重新填充。PADS会基于已有的Copper框和Keepout重新计算铜皮形状。灌铜完成后再用Hatch模式把铜皮变成可编辑状态检查是否有碎铜、空洞、意外断开的区域。这一步是转换后最耗时的一步但也是铜皮质量好坏的关键。第四重跑DRC。重点是安全间距、断路、短路三类检查。因为Allegro的约束规则线宽、间距、差分对规则基本不会完整转换到PADS里所以DRC爆掉是正常的。你需要按原设计约束重新设置PADS的Design Rules然后再跑DRC。如果原板卡有高速差分对转换到PADS后差分对属性可能需要手工重新匹配。第五处理定位孔和开孔。这牵扯到热搜里的“pads开孔删不掉”和“pads 定位孔怎么删除”问题下一节重点说。第六位号整理和丝印调整。转换后的丝印文字大小、线宽、位置可能与原板有偏差。用PADS Layout的“标注”功能重新整理位号导出装配图和位置图时File → Reports → PADS Layout导出位置图确认字符大小符合工厂工艺要求。4. 常见报错与疑难问题排查实录4.1 版本类报错“Database version is not supported”这个报错是最常见的尤其在老版本PADS配合新版本Allegro时高发。表现是转换器读取.brd文件后直接弹窗提示数据库版本不支持无法继续。原因Cadence每隔几个大版本会升级数据库格式PADS转换器只能识别它发布时支持的那几个版本范围。比如某版本PADS在开发时只适配到Allegro 16.6遇到17.4的文件自然不认。解决思路有三个第一在Allegro里降级保存。Cadence官方提供了数据库降级能力在Allegro里执行File → Export → Save Design As将格式保存为旧版类型。但注意降级保存有损某些新版特性比如新版的Shape类型或约束规则会被降级工具静默丢弃保存后重新打开检查一遍。第二升级PADS版本。这是最省心的办法新版PADS VX.2.x对Allegro 17.x的支持已经比较成熟。公司内部有条件的话直接装新版PADS。第三走.alg中转。在Allegro里导出ASCII的.alg文件再用PADS去读。这种方法能绕过数据库格式识别问题因为.alg是文本形式的通用交换格式不依赖数据库版本。提示如果是别人发给你的Allegro文件先问清对方用的Allegro具体版本再决定用哪条路。别在“版本不支持”上反复试浪费时间。4.2 封装和网络丢失转换报告里一堆Warning转换完成后打开PCB发现一堆封装变成“PAD_1234”这种自动命名或者干脆缺失网络属性这类问题在转换报告里会有大量Warning。归根结底是因为Allegro库引用和PADS内嵌库之间的映射不完整。封装名被写成临时名不影响板子几何形状但位号、BOM、网表全对不上。处理办法是把每个临时封装名按原Allegro的封装库名称在PADS的Library Manager里重命名。如果封装数量大、BOM复杂建议配合“PADS导入ASC”的思路从Allegro导出一份ASC网表包含原始Reference和封装的对应关系再到PADS里用网表ECO替换掉临时名称。这样批量处理比手工一个个改名快得多。焊盘丢失则是另一种典型现象PCB上有元件但引脚没有物理焊盘。原因通常是该Padstack在Allegro里定义了特殊标识转换器无法把它对应到PADS的Padstack库。解决办法是打开对应Decal封装的编辑器根据原厂数据手册重新放置焊盘。做之前先导出一份DXF从原图上查一下丢失焊盘的实际位置和尺寸补充时能精确对应。4.3 铜皮变形、丢失、禁止铺铜区失效铜皮问题五花八门有的铜皮整体消失有的形状变了有的本该避让的地方被铺得满满当当还有的明确设了禁止铺铜区转完却照样长了铜。先说铜皮消失。绝大多数情况是原文件里用了动态铜皮且执行的是“Deferred”延迟更新模式转换器读取时只能读到空壳区域。前面讲过转换前必须把动态Shape转成静态Solid这步做了铜皮基本不会丢。如果你手里的板子没做预处理就转了补救办法是在PADS里用铜皮边界框etch outline重新画一个Copper框再执行Pour Manager灌铜还原。你可以从Allegro导出一份DXF作为几何参考把铜皮边框导入PADS再铺铜。铜皮变形则和单位精度有关。Allegro坐标系默认mil精度小数点后保留多位PADS在转换时会做单位换算如果原设计有极细的圆弧铜皮或贝塞尔曲线边界转换后可能存在锯齿或细小偏移。高频射频板的铜皮形状要求苛刻这部分只能手动微调。禁止铺铜区失效的解决办法不复杂转换后在PADS里打开Keepout层检查每个禁铺区是否都在。Allegro的Route Keepout转换到PADS后通常是在对应走线层的禁止区对象。如果你发现禁止区变成了一块没有网络的铜皮形状直接选中删除然后用PADS的Keepout绘制工具重新画一个。不建议在原Allegro里不处理、直接到PADS里再改因为你不知道转换器会把禁布区映射到哪一层逐层核查才稳妥。4.4 开孔和定位孔删不掉经典PADS疑难“pads开孔删不掉”是我见过提问率超高的问题。表现是转换后的板子上有几个圆形孔安装孔或散热孔用Delete键点选怎么选都选不中或者删掉一个角另一边还留着甚至删了之后灌铜时又冒出来。原因在于PADS里“孔”不是单一对象它可能有四个身份第一它可能是板框的一部分。Allegro转过来的板框如果定位孔是画在Board Outline层上的闭合圆弧那它就属于板框对象不是独立孔。你直接在PCB里点选PADS会认为你选中的是“板框”这个整体删除操作要么整个板框都没要么提示无法操作。处理办法在层设置里只打开Board Outline层用Drafting模式选中板框执行Edit → Segment打断线段的闭合属性再把属于孔的圆弧单独选中删除。第二它可能是封装自带的结构件比如一个叫MTG1的“定位孔”封装。这种孔是元件实例你必须在Decal编辑环境里修改或者把它替换成无孔的占位封装普通Delete永远删不掉。膜片就见过有人拿Filters把所有对象类型全勾上框选孔位结果把旁边的器件也选中删掉了教训惨痛。第三它是独立的过孔但被锁定了。PADS的Via对象如果设置了Keepout或锁住属性你在普通模式下选不中。对策是执行“编辑 → 修改 → 锁定/解锁”把锁定属性去掉再尝试删除。第四它是钻孔标记或绘制对象位于Drill Drawing层。这种对象在图形上表现为一个光圈加十字线很多人以为是孔的实际形状其实只是制造钻孔示意。它不影响电气直接在图层面板打开Drill Drawing层按对象类型“Drafting”删除即可。针对“PADS定位孔怎么删除”我的习惯是先点选孔位看状态栏提示的对象类型。如果是“Board Outline”就按板框处理如果是“Part”就按封装处理如果状态栏显示“Via”则先解锁再删。状态栏的信息会告诉你要用什么方式别盲目右键。4.5 其它常见转换问题速查表以下是我在实际转换中碰到过且修复过的问题整理成速查表大家可以直接对照排查。现象根因处理方法光绘层缺失Allegro的Artwork设置项没有对应到PADS的层属性按原板层叠重建PADS的阻焊、助焊、丝印层设置逐层匹配走线线宽异常单位换算误差累积全局线宽统一检查重点检查电源主干和地线转换后DRC爆炸原Allegro约束规则未转换按原设计规范重新配置PADS Design Rules重跑DRC丝印错位Allegro的丝印线宽和字体映射问题选中位号统一居中按装配图重新布局丝印过孔焊盘丢失部分Via Padstack未识别在原库中定位对应过孔用PADS库编辑器重建3D模型无法导入3D信息被转换器丢弃从Allegro导STEP格式再手动放置到PADS元件上差分对属性丢失约束管理器规则不转换在PADS里按网络名手动重新设置差分对每一条背后都有具体的操作细节但核心思路是一致的不要指望转换器一步到位把它当成一个“半成品生成器”剩下的活自己动手修。修整过程里最常用的功能就是层设置、筛选器、库管理器和Pour Manager这四个工具熟练掌握转换后的问题基本都能处理。最后分享一个我自己的习惯转换完成后不要急着看DRC和铜皮先把关键电源网络高亮显示比如3.3V、5V、GND用“高亮隐藏铜皮”的方式看一遍网络连接是否连续。这一步一分钟搞定但能极大概率发现转换过程中有没有大范围断连。踩过几次坑之后我就把“网络优先检查”放在收尾清单的第一条了。
返回列表