☰
PADS、AD、Cadence互转全攻略:格式转换的路径、参数与避坑指南
2026/10/14 21:14:15 网站建设 项目流程

简介:面向电子设计工程师、PCB Layout工程师及硬件开发者的EDA工具互转实操文档,系统讲解PADS、Altium Designer(AD)与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.11MB,docx格式便于检索、打印和标注;已有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资源迁移到PADS

2.3 转换前的检查清单:单位、版本、文件来源

转换之前花十分钟统一“口径”,能省下之后一整天的返工。第一项是单位。PADS常用mil,Cadence常用mm,AD内部默认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到PADS:AD中转的标准动作

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导入器识别为普通Polygon,AD环境内没有匹配的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如果是新版本,导入器可能在解析未知属性时报错,降一档后报错概率大幅降低。

另一条习惯是把每次转换的“参数设置”截图存档,同一项目改版时二次转换,直接比照上次参数调整,能省掉一半试错时间。转换过程说到底是个反复逼近的过程,手里保留好参数记录,就是留好了后悔药。以上几条都是靠多次返工换来的,希望帮到你。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询