2026/10/14 21:14:17

PADS、AD、Cadence互转全攻略:格式转换的路径、参数与避坑指南

PADS、AD、Cadence互转全攻略:格式转换的路径、参数与避坑指南 简介面向电子设计工程师、PCB Layout工程师及硬件开发者的EDA工具互转实操文档系统讲解PADS、Altium DesignerAD与Cadence系列软件之间的设计文件转换方法内容围绕PADS转AD、AD转Cadence、AD转PADS、Cadence转PADS四条主线展开覆盖原理图与PCB两类文件形态包含PADS Logic/Layout、AD Schematic/PCB、Cadence OrCAD/Allegro等工具的转换细节。文档针对不同转换路径给出了版本选择、ASCII/DSN/ASC等中间格式导出、环境变量配置及Skill脚本使用等关键要点并特别提示了泪滴选项可能导致的导入缓慢等常见问题还针对常见坑点做了专门提示例如PADS转AD时泪滴选项拖慢导入、Allegro转PADS前环境变量与skill脚本准备便于读者提前规避。资源为单个docx文档共1个文件压缩包大小1.11MBdocx格式便于检索、打印和标注已有4858人学习下载适合需要跨工具协作、资料归档或版本迁移的硬件工程师按文档步骤操作可显著提高设计文件互转效率。1. 三种EDA格式互转为什么说“能导进去”和“能复用”是两回事做过跨平台PCB项目的人都知道PADS、AD、Cadence这三款工具之间的格式转换表面上是一个“导入导出”操作实际上是一场数据模型的对撞。我见过不少同事第一次用AD的导入向导打开PADS文件看到界面里器件、网络、铺铜都“出来了”就以为万事大吉结果板子送去制板前跑一遍DRC才发现封装焊盘类型全变、过孔丢失、敷铜变成一块块孤岛。能导进去和能复用从来是两回事。这篇文章想讲清楚的就是这三款工具互转时真正值得投入的路径怎么选、每一步的参数怎么设、哪些环节必须人工修正。适合手里有历史板卡需要换工具维护的硬件工程师也适合准备引入统一EDA平台、正在评估迁移成本的技术管理者。文章里所有操作都基于常见版本功能展开菜单名称在不同版本里会略有差异但思路是一致的。2. 先选线路PADS、AD、Cadence互转的路径与中转格式2.1 三种数据模型差异决定不能“直接另存为”三种工具各有各的工程文件格式但它们之间真正麻烦的不是文件后缀不同而是底层数据模型不一致。PADS核心是PowerPCB时代的对象模型层、线、铜箔都有自己的一套定义AD走的是统一的集成对象库原理图符号、PCB封装、3D模型集中管理Cadence Allegro则把一堆设计规则、物理约束、动态铜箔行为都挂在数据库中。同一个“过孔”转换后可能是通孔、盲埋孔、甚至只是两个孤立焊盘完全取决于目标工具怎么解释源文件里的描述。这也是为什么直接改后缀、或者用某些绕过转换器的“暴力导入法”基本不可取。常见的做法是先导出一种双方都认识的中间格式再导入目标工具。PADS的ASCII格式、AD的导入向导、Allegro的第三方转换器本质都是在做这个“翻译”动作。翻译质量高不高取决于源文件里有没有垃圾信息、单位是否混乱、层定义是否完整。2.2 中转枢纽选AD的四个理由我做PADS、AD、Cadence三边互转时习惯把AD当作默认的中转枢纽而不是试图在PADS和Cadence之间直接搭桥。原因有四条。第一AD对PADS和Cadence两边的文件格式都有官方导入向导覆盖面最全PADS导出ASCII后AD能读Cadence的Allegro .brd文件AD也能读这两个链路本身就是官方维护的。第二AD导入后的对象模型相对“中性”器件、网络、层、规则都保留得比较完整再往其他格式转时丢失少。第三AD本身的文件格式在行业里被大量第三方工具支持导出的中间文件容易被其他平台识别。第四从工程协作角度看很多项目组同时装了AD和PADS但很少同时装有Cadence用AD中转实施门槛最低。当然这个选型不是绝对的。如果项目方明确要求必须保留Cadence的动态铜箔特性那就不要经过AD直接用Cadence原生的转换器从PADS读取保留度更高。选型表格整理如下转换路径推荐中转保留度适合场景PADS ←→ AD直接导入 / ASCII高日常维护、换工具Cadence → AD直接导入 .brd中高把Allegro老板子转出来维护AD → Cadence先另存中间格式再导入中必须回到Allegro流程时PADS → CadenceAllegro自带PADS转换器中高长期转入Cadence平台Cadence → PADS经AD中转中需要把Allegro资源迁移到PADS2.3 转换前的检查清单单位、版本、文件来源转换之前花十分钟统一“口径”能省下之后一整天的返工。第一项是单位。PADS常用milCadence常用mmAD内部默认mil一旦单位不一致整板尺寸全错线宽变成几十倍误差。建议先确认源文件实际单位再在导入向导里手动指定不要依赖“自动检测”。第二项是版本。老版本的PADS Layout导出的ASCII文件在较新的AD里导入可能出现兼容告警同样老版本Allegro的.brd文件用新版AD导入往往比反向更顺。我一般会先把源文件用原工具打开一遍另存成相对通用的版本再交给转换链路。第三项是文件完整性。转换前要确认源文件不是分块设计的子板、没有外部引用的库文件缺失否则导入到一半报错就得回到源头排查。文件本身最好放在纯英文路径下中文目录名在好几个版本的导入器里会直接拒绝工作。3. PADS与AD互转从导出ASCII到导入向导的参数对照3.1 PADS Layout导出ASCII的选项取舍把PADS板子转到AD第一步通常是用PADS Layout导出ASCII文件。这个导出的选项设置决定了后续转换质量不能一路默认点到底。在PADS Layout中执行文件导出选择ASCII格式后会弹出文本格式设置对话框里面有“输出单位”“格式版本”“输出哪些对象”等选项。关键参数有四个我常用的设置是输出单位与板子实际单位一致Format版本选一个目标工具认识的档位勾选“包含网络和元器件”同时把“输出层信息”选为全部而不是活动层。这里要注意的是铜箔属性在ASCII里是作为独立的Graphic对象描述的如果导出时没有勾选铜箔相关选项导入AD后整板敷铜全部消失只剩孤立的走线。# 在PADS Layout里执行导出的菜单路径不同版本略有差异 # File - Export - 选择保存类型 ASCII (*.asc) # 在弹出对话框中 # - Format Version 选默认或比当前版本低一档 # - Units 选择 Board Units 或明确指定 mil/mm # - 勾选 Enable Sub-fixture 视项目而定一般可不勾导出完成后用文本编辑器打开.asc文件检查头部信息能看到单位、层数量、设计规则的描述。我习惯先扫一眼这个文件确认网络数量不为零、没有出现乱码字符再继续进入AD导入流程。这个习惯帮我拦截过多次因为源文件本身已经损坏而导致的无效转换。3.2 AD导入PADS映射、后缀与敷铜处理打开AD新建一个空白PCB工程然后从导入向导中选择PADS ASCII。AD的导入向导会让用户指定.asc文件并提供若干可选映射包括层映射、器件后缀、走线/敷铜转换方式。这里最容易出问题的有两个地方一是层映射。PADS里的层命名和AD默认的机械层、信号层语义不一样导入时如果选了“全部按信号层导入”会出现一堆多余层正确做法是先完成映射预览把PADS的Top、Bottom对应到AD的Top Layer、Bottom Layer把PADS的Internal Plane对应到AD的Internal Plane或负片层。二是敷铜选项。AD导入PADS铜箔后大多会变成“Region Keepout”的组合如果导入时选择把敷铜变成实心填充后续修改线宽或移动过孔时敷铜不会自动避让。网表连接方面AD导入后大部分网络能自动从PADS的Net对象中带过来。但我提醒同行注意PADS里在同一网络名下的重复线段导入AD后可能被合并成一条长线这在电气上没问题但在日后修改布线时会比较麻烦。想保留原始线段结构可以在导入前先把PADS里的走线锁定或者接受合并结果靠重新布线来消化。3.3 原理图互转中位号与器件属性的丢失点很多人只转PCB忽略原理图这是划算但危险的做法。PADS Logic的原理图转AD比PCB转换更脆弱因为原理图里大量信息存在符号属性、全局网络标签、页间连接符中AD对这些对象的解析规则并不完全兼容。实操中我见过最典型的现象转换后所有电阻电容位号变成“No Diff”或者器件Value属性被塞进一个叫“Comment”的字段里导致BOM导出错乱。处理办法是转换后在AD中建立一个“映射强制表”把PADS的Part Type字段映射到AD的Comment字段把PADS的Ref Des字段映射到AD的Designator字段。这个映射操作在AD的原理图导入向导里有专门步骤不要跳过。另外PADS Logic里用文本标注的电路说明、图纸标题栏文字导入AD后字体和位置大概率错乱这类纯装饰性内容不值得花时间去矫正建议直接忽略等布局阶段重新排版。原理图转换还有一个经常忽略的细节PADS把多页原理图的页间网络靠全局网络名贯通AD虽然也支持全局网络但导入时如果全局网络选项没打开跨页连线会全部报未连接。导入后在AD工程选项里打开“全局网络自动合并”然后重新编译一次工程就能看到真实连接状态。4. Cadence与AD互转OrCAD/Allegro与Altium的桥接步骤4.1 OrCAD原理图转入AD文件格式与网表连接Cadence家的原理图工具最常用的是OrCAD Capture要把一份OrCAD的.dsn文件转进AD不是用AD直接打开.dsn而是先在OrCAD里把设计导出成AD认识的格式或者让AD的导入向导直接处理.dsn。我用的做法是在OrCAD中执行File → Save As把设计存一份16.2版本格式的.dsn然后在AD里使用导入向导选择OrCAD Capture Design指定这个.dsn文件。导入向导会解析页面的层次结构、器件属性、全局网络名生成一个AD原理图工程。参数上需要注意器件属性映射里OrCAD的Value属性经常叫“Value”而AD默认使用“Comment”显示OrCAD的PCB Footprint属性叫“PCB Footprint”AD对应的是“Footprint Print”。映射错误会导致封装全部挂空后面导入PCB时器件全变成Invisible。网络连接方面OrCAD的“Off-Page Connector”和AD的“Sheet Entry”语义不同AD导入后会把页间连接转成同名网络但在编译工程时可能出现“Net has no driver”的告警。这类告警不影响PCB导入却会导致仿真或规则检查时报错建议导入后在工程选项里将“网络标识符范围”改成全局再重新编译。4.2 Allegro PCB转入AD铺铜、过孔和规则的重建Allegro PCB文件.brd转入AD是跨工具转换中公认最复杂的一条链路。AD依靠内置导入器读取Allegro数据库但要求当前机器安装了可用的Allegro许可证或运行时库否则读取会失败。也就是说装好AD还不够还得有Cadence环境在背后。转换前先在Allegro里做三件事删除多余的未使用焊盘、删除孤铜、把动态铜箔转成静态铜箔。经过这一步导入AD后的铜箔保真度会明显提升。导入时AD会弹出一系列选项其中“Use the original padstack definitions”这个选项务必勾选否则BGA和连接器的扇形焊盘会被简化成标准圆形焊盘对高速信号的回流路径影响很大。过孔是另一个重灾区。Allegro里的过孔带有详细的钻孔和电镀属性AD导入时不一定全部识别特别是盲埋孔如果叠层设置没跟上会变成盲孔丢失或全部转成通孔。我的做法是导入后在AD的Layer Stack Manager里逐层核对过孔类型再打开PCB列表筛选Via对象按网络逐个检查是否命中了该有的孔类型和尺寸。这个动作看着琐碎但能避免制板时板厂拿到的Gerber里多了一堆不该出现的孔。4.3 从AD回流到Cadence的可行做法从AD往Cadence回流方向上是“反向”的操作要换一套逻辑。AD不能直接导出标准. brd文件但可以导出为中间格式再由Cadence导入。常见的做法是AD里把PCB另存为老版本的Protel格式或导出为IPC-2581 / ODB格式然后在Allegro里通过第三方导入器处理。实际工程里我最常用的是导出ODB再在Allegro中用对应导入工具读取。这条路径的保留度和参数设置关系很大。导出ODB时要在AD里确认包含完整的层叠信息、钻孔文件、器件位号并把铜箔精度设为最高档。Allegro导入ODB后网络、器件位置、板框基本能保住但设计规则线宽规则、间距规则、差分对约束几乎全部丢失必须重建。如果项目对阻抗、差分、等长有严格要求就不要指望转换之后直接能出图建议把约束规则做成一张Excel表在Allegro里重建一套这比在AD里手工调整再反复导出一轮要快得多。5. PADS与Cadence互转走两次转换也值得的几条通道5.1 PADS到Cadence优先用Allegro自带转换器PADS和Cadence之间的互转是三条链路里遇到的最棘手的。PADS的ASCII格式和Allegro的数据库结构差异太大建议优先用Allegro官方提供的PADS转换器而不是在AD里绕一圈。较新的Allegro版本在导入菜单中直接提供了PADS Layout的导入选项可以读取PADS的.asc文件。操作上分成三步第一步在PADS Layout里导出ASCII文件时把“输出格式”选成与Allegro转换器匹配的版本一般选较保守的版本第二步在Allegro中使用导入PADS Layout的对话框指定该.asc文件并在选项里勾选“转换铜箔为导线/形状”以及“保留网络名”第三步导入完成后立即运行DRC重点查开短路、未连接引脚、 dangling lines。转换器对PADS里的“2D Line”和“Board Outline”有时识别错位板框甚至会跑到机械层去需要在Allegro里手动把板框对象移到应有的层。有一条经验值得分享PADS里大量使用的“Jumper”和“Test Point”元件在Allegro转换后经常变成普通封装甚至变成空网络器件。这些在制造端有实际作用的器件转换后必须逐个检查不能只盯着网络表。5.2 Cadence到PADSAD中转的标准动作Cadence流向PADS目前最省事的路径还是以AD作为中转。先在Allegro里把.brd文件导入AD过程同上一章确认板子在AD里电气连接完整后再把AD中的PCB另存或导出给PADS。AD提供了一个面向PADS的导出动作可以生成PADS Layout能读取的ASCII格式。这条链路的关键参数有两个层面。导出层面AD里要把敷铜转换为PADS的铜箔对象不要导出为线条填充PADS对铜箔的解析能力和AD不一样如果AD里是实心填充到PADS后避让、网络归属都会乱。导入层面PADS导入ASCII时注意选择和AD导出时相同的单位并在导入后立刻检查网络表因为AD导出为PADS时网络名中带有非法字符的会被PADS自动替换。提醒一点Cadence里复杂的走线宽度变化、渐变线、背钻结构经过Allegro→AD→PADS两次转换后基本不保。遇到这类板子我通常会劝项目组老老实实重画或者只借转换结果做结构和布局参考不直接投板。转换是解决“东西能不能过去”的不是解决“东西能不能原样过去”的。5.3 间接路径的质量边界什么会丢什么必须重画多轮转换后设计规则是最先丢的其次是动态铜箔行为再次是特殊封装异形焊盘、台阶孔、背钻最后才是网络和器件位置。依赖我此前多个模拟项目X和某跨平台系统的经验概括出这样的边界网络连通性和器件坐标在大多数转换里能保到90%以上这也是很多人误以为“转换成功”的原因。但高频板真正依赖的阻抗线宽表、差分约束、等长约束转换后基本归零。其次是叠层信息里的介质厚度、板材牌号这些在PADS和Allegro之间存在单位换算和叠层命名差异导入后只能看到层名材料参数全部需要人工补齐。最需要重画的是混合叠层结构里的背钻、盘中孔、以及带特殊间距规则的区域转换器对这类对象的支持目前都谈不上完整。量化的质量标准我习惯用“三类不收”DRC跑不过的不收网络表比对不一致的不收关键BGA区域焊盘定义不符的不收。这三条守住转换文件才有资格进入后续布局布线。6. 互转避坑五类让我返过工的典型问题6.1 现象封装成组丢失或变成黑色块从PADS往AD导入时有些QFP、BGA封装会变成一整块黑色填充焊盘完全看不到。原因是PADS里的某些复杂焊盘被AD导入器识别为普通PolygonAD环境内没有匹配的Padstack定义。解决办法不是去重新画封装而是回到PADS里把异形焊盘转换成规则焊盘再导出如果源文件不允许改动就在AD中把黑色块手动替换成目标焊盘并重新指定封装。血的教训是不要试图在AD里用“补铜”的方式盖住黑色块DRC会放过它但板厂做出来就是一块实心焊盘。6.2 现象BGA过孔全部丢失Allegro导入AD后BGA区域的过孔网络全部丢失但这种丢失在视觉上不明显因为过孔和焊盘还在。原因是Allegro的过孔定义中某些盲埋孔使用了自定义钻孔层对AD导入时找不到匹配的层对定义就把过孔网络置空。解决方法是先在Allegro里把所有过孔统一转成通孔完成转换后再在AD里按叠层要求恢复盲埋孔。如果产品必须保留盲埋孔这个步骤没法省转换后单独筛选网络为空的Via再批量修复。6.3 现象铺铜安全间距全变转换后整板铺铜与走线的间距从源文件的0.2mm变成0.3mm甚至0.5mm这种异常最坑因为视觉上很难发现只有量测才看得出来。原因是PADS和AD对“铜箔到走线的间距”用了不同的规则优先级PADS里可能是全局规则到了AD变成敷铜独立规则。解决方法是导入后打开设计规则重点检查Clearance规则里是否存在以“Region”或“Copper”为对象类型的独立规则把它删除或改成与全局一致。这类问题在Allegro转AD时尤为常见因为Allegro的物理规则子类很多AD导入后会产生大量冗余规则条目。6.4 现象网络名带后缀对不上网表PADS转AD后网络名出现类似“VCC_1”“GND_2”的后缀原理图网表对不上PCB里同一网络被拆成多个子网络。原因是PADS支持局部网络名在分页设计里同名网络可能被赋予内部编号AD导入时把编号带了出来。解决方法是导入后使用AD的“网络名清理”功能或脚本批量去除尾缀。如果网络量大写一小段脚本遍历网络名、把尾缀去掉并合并相同网络即可。千万别在原理图里手动逐个改名稍一遗漏就会在PCB里留下断裂的网络。# AD PCB中批量清理网络名尾缀的脚本思路DelphiScript # 遍历所有Net匹配 _数字 结尾的名称去掉尾缀后按名称合并6.5 现象中文路径文件导入直接报错源文件放在“D:\设计资料\板卡A\final.brd”这样的路径下导入到一半弹出无法访问的报错甚至干脆读不出文件。原因很直接部分导入器底层组件对非ASCII路径支持不佳。解决方法是建立临时目录把源文件和工程文件全部拷贝到纯英文路径下再执行转换。顺带把工程文件名也改成英文很多诡异的异常会随之消失。这个问题在PADS和Cadence相关的导入工具里出现概率极高我习惯在项目启动前就约定好工作目录命名规则。7. 验证驱动转换结果的自检清单与三个小技巧7.1 一张自检表十分钟确认转换质量转换后不做验证就进入下一步等于把风险全部推给制板环节。我每次转换完都会按下面这张表过一遍整套检查控制在十分钟左右检查对象检查方式通过标准板框在原文件和目标工具中对比尺寸坐标和外形一致网络表导出Netlist与原文件比对网络数量、名称完全一致器件数量统计PCB中的位号数量数量一致无重复位号全部焊盘抽查BGA和连接器的焊盘定义Padstack一致无黑块过孔筛选Via对象检查网络归属无空网络类型符合叠层铺铜检查铜箔网络和间距安全间距符合规则无孤铜DRC运行完整DRC无开路、短路、未连接Gerber出光绘再检查一次各层文件完整钻孔正常7.2 批量处理PADS ASCII文本的小技巧当PADS文件里的电阻、电容位号规则混乱时手动改封装名会崩溃。PADS的ASCII文件本质是文本可以用脚本批量处理。我常用sed工具做“统一替换位号前缀”的操作先把整个.asc复制一份备份再执行替换然后重新用PADS或AD导入。这么做的前提是先看清ASCII里Part Type那一列的字段结构只替换固定列位置的内容不要全局乱替换否则会把网络名也改掉。# 把 PADS ASCII 中 R_ 开头的位号改成 RES_ 前缀 sed -i s/^R_/RES_/g board.asc # 注意只作用于行首避免误伤网络名中的 R_7.3 用版本“降一档”规避九成兼容问题各个EDA工具都有“高版本文件低版本打不开”的互通性难题。转换前我习惯把源文件在原工具里另存为比当前版本低一档的格式再进行转换。这个习惯的代价极小却帮我绕开了大量导入器互操作问题。AD导入Allegro时源brd如果是新版本导入器可能在解析未知属性时报错降一档后报错概率大幅降低。另一条习惯是把每次转换的“参数设置”截图存档同一项目改版时二次转换直接比照上次参数调整能省掉一半试错时间。转换过程说到底是个反复逼近的过程手里保留好参数记录就是留好了后悔药。以上几条都是靠多次返工换来的希望帮到你。本文还有配套的精品资源点击获取