简介:这份文档面向使用PADS、Altium Designer与Cadence的电子工程师及PCB设计学习者,聚焦不同EDA工具之间设计文件互操作的实际难题,系统梳理了PADS转AD、AD转Cadence、AD转PADS、Cadence转PADS等常见转换路径,并分别针对原理图与PCB给出对应处理方式。资源包共1个docx文件,约1.11MB,内容以图文步骤形式组织,涵盖PADS Logic与Layout导出、AD向导导入、OrCAD与Allegro版本降级、PADS Layout Translator使用,以及Allegro转PADS所需的环境变量设置与skill脚本加载等关键环节,对泪滴选项、转换报错等易踩坑处也有提示。目前已有4887人学习,适合需要跨平台迁移旧项目、接手他人设计文件或补齐工具链操作经验的中级读者参考,可帮助快速定位转换入口、理解版本兼容要求并减少反复试错。
1. 三套 EDA 工具互转:为什么我最后只留了四条链路
画板子的人迟早会撞上一个很现实的问题:客户给的是 PADS 文件,合作方要的是 Allegro,自己团队用的是 AD。三套工具各占一块地盘,谁也没法说服谁,最后活全落在“转换”这两个字上。我前后折腾过十几版转换,最深的体会是:EDA 工具之间的转换从来不是一键完成的事,它更像一次有损压缩,每转一道就掉一层信息,能不能救回来,取决于你在哪一步留了后手。这篇不讲软件说明书,只讲我实际跑通的四条链路——PADS 转 AD、AD 转 Cadence、AD 转 PADS、Cadence 转 PADS,每条链路里哪些参数必须卡死、哪些选项一勾就翻车、转完之后先查什么。如果你正卡在“文件打不开”或者“打开了一片乱码”的阶段,下面这些步骤可以照着走;如果你已经转过几次但总在细节上栽跟头,这里面的判断依据应该能帮你少走两趟弯路。
2. PADS 转 AD:两条链路和三个必查项
PADS 转 AD 是我做得最多的一类转换,因为很多中小团队用 PADS 出图,到了大厂或者外协环节又要 AD 工程文件。原理图和 PCB 得分开处理,两条链路的技术路径完全不同,混在一起讲最容易出错。
2.1 原理图走 ASCII 文本,版本号是硬门槛
PADS Logic 转 AD 的核心思路是把原理图导出成 ASCII 描述文件,再让 AD 的导入向导去解析。操作上第一步是在 PADS Logic 里导出 TXT 文档,版本必须选 2005——这个版本号不是随便挑的,AD 的 PADS ASCII 解析器对高版本格式的支持一直不完整,选高了经常出现网络标号丢失或者元件属性对不上的情况。导出之后打开 AD,走 File 菜单里的 Import Wizard,格式选 PADS ASCII Design And Library Files,把刚才的 TXT 喂进去,后面一路下一步就行。
这里有个容易被忽略的点:导出前先在 PADS 里把原理图做一次完整性检查,尤其是层次化设计的页间连接符。ASCII 导出对层次结构的表达比较粗糙,如果原图里有跨页的总线或者全局网络,转过去之后大概率变成孤立网络。我一般会在导出前把关键网络名手动核对一遍,转完在 AD 里用 Navigator 面板逐个网络点过去,确认没有断点。
2.2 PCB 转 ASC:铺铜和泪滴是两个雷区
PADS Layout 转 AD 走的是 ASC 格式,版本同样选 2005。导出对话框里有一堆勾选项,其中 Teardrops(泪滴)这一项我建议直接不勾。原因很实际:泪滴在 ASC 里会被展开成大量细碎的线段和圆弧,AD 导入时逐条解析,文件稍微大一点就能卡上十几分钟,严重的时候直接无响应。铺铜倒是要保留,但导出前确认铺铜已经重新灌注过,否则导过去的是空壳。
导入 AD 之后别急着看 3D,先切到 2D 模式检查三样东西:层映射对不对、过孔类型有没有丢、板框是不是闭合的。层映射错位是最常见的翻车点,PADS 的 Layer 1 到 Layer N 和 AD 的层命名规则不一样,导入向导里虽然可以手动指定,但默认映射经常把内层电源地搞反。过孔丢失一般发生在盲埋孔设计上,AD 对 PADS 的过孔类型识别有限,转完要在 Design Rules 里过一遍过孔列表。板框不闭合会导致后续铺铜和 DRC 全部报错,用 Define Board Shape 重新描一遍最稳妥。
2.3 转完先跑 DRC,别信“转换成功”的提示
不管是原理图还是 PCB,转换向导最后都会弹一个完成提示,但这个提示只代表文件解析完了,不代表设计是通的。我的习惯是转完立刻跑一次 DRC,重点看三类报错:未连接引脚、网络名冲突、间距违规。未连接引脚多半是原理图符号引脚映射错了,网络名冲突通常是 ASCII 里的特殊字符被 AD 转义了,间距违规则往往是单位换算的锅——PADS 默认单位和 AD 的导入单位如果不一致,整块板子会按比例缩放,这种错误肉眼看不出来,只有 DRC 能兜住。
提示:转换前把原工程备份一份,转换过程本身不会改源文件,但导入后的修复操作很容易误存,留个后悔药不亏。
3. AD 转 Cadence:原理图能直转,PCB 得绕道
AD 转 Cadence 是三条链路里最别扭的一条。原理图有相对直接的路径,PCB 则基本没有官方直转通道,实际干活时得借道 PADS 做中转。这一章把两条路径拆开讲,重点说清楚为什么 PCB 要绕、绕的时候在哪一步容易断。
3.1 原理图另存为 DSN,组件处理选项别漏
AD 原理图转 OrCAD 的入口藏得比较深,不是在导出菜单里,而是在 Save Project As 里。选中要转换的工程,另存为时把格式切到 DSN,弹出的对话框里有一个“处理所有组件”的选项,这个必须勾上。不勾的话,AD 里那些自定义的元件符号和参数化属性会被跳过,转过去之后 OrCAD 里一堆器件显示成问号。
另存完成之后用 Cadence 打开 Design 入口加载 DSN 文件,加载过程中会做一次符号库匹配。这里有个经验:AD 的元件库和 OrCAD 的库结构差异很大,匹配失败是常态,失败之后别急着一个个手动补,先在 AD 里把工程用“制作集成库”的方式打包一遍,让所有符号集中到一个库文件里,再转的时候匹配率会高不少。转完在 OrCAD 里打开原理图,重点核对电源网络和差分对,这两类网络在格式转换中最容易丢属性。
3.2 PCB 走 AD→PADS→Allegro,中转站选 PADS 是有原因的
AD 的 PCB 没有直接导出 Allegro 格式的通道,业内通行的做法是先转 PADS 再转 Allegro。为什么选 PADS 做中转而不是反过来?因为 PADS 对 AD 的 Protel/Altium 格式有专门的转换器,兼容性最好,而 Allegro 侧又有 PADS 官方提供的转换 skill,两头都有成熟工具兜底。这条链路的具体操作在下一章和第四章分别展开,这里只强调一个判断:中转过程中每转一道都会丢一层信息,所以第一道 AD 转 PADS 的时候要尽量保真,层叠结构、网络类、设计规则能带过去的都带过去,给第二道转换留足余量。
3.3 中转链路的保真度检查清单
走中转链路时,我会在每一道转换之后做一次固定检查,清单不长但每项都踩过坑:
| 检查项 | 检查方法 | 常见问题 |
|---|---|---|
| 层叠结构 | 对比原工程与目标工程的层数和层名 | 内层顺序颠倒、层类型错标 |
| 网络类 | 查看 Net Class 是否保留 | 电源地网络被合并成一类 |
| 设计规则 | 逐条比对线宽、间距、过孔规则 | 规则丢失后 DRC 全绿但实际违规 |
| 元件位号 | 导出位号列表做差集 | 位号重复或跳号 |
| 板框 | 测量板框闭合与尺寸 | 尺寸按比例缩放 |
这张表看着简单,但每一项背后都是实际翻过的车。层叠顺序颠倒最隐蔽,因为软件不会报错,只有出 Gerber 的时候才会发现内层铜和介质对不上。网络类合并会导致后续改板时规则套错,电源线按信号线宽走,载流能力直接不够。
4. AD 转 PADS:原理图绕 OrCAD,PCB 用专用转换器
AD 转 PADS 是反向链路里最常用的一条,因为不少代工厂只收 PADS 格式。原理图和 PCB 的处理方式差别很大,原理图没有直转通道,PCB 则有官方转换器可用。
4.1 原理图走 AD→OrCAD→PADS Logic 的降级路径
AD 原理图转 PADS Logic 没有直接入口,实际路径是先转 OrCAD 再降级导入。第一步按上一章的方法把 AD 工程另存为 DSN,然后用 OrCAD 打开,在 Save As 里把版本降到 16.2。降级这一步不能省,PADS Logic 的 DSN 导入器对高版本 OrCAD 格式支持有限,版本高了导入直接报格式错误。降级之后打开 PADS Logic,走 File 菜单的 Import,选 DSN 文件,导入完成后检查元件符号和网络连接。
这条路径的损耗点主要在符号库。OrCAD 的符号和 PADS Logic 的符号在引脚命名规则上有差异,转过去之后经常出现引脚号对不上、电源引脚被当成普通信号脚的情况。我的做法是导入后先在 PADS Logic 里跑一次元件属性检查,把电源引脚重新标记一遍,再生成网表。网表生成之后和原 AD 工程的网表做一次比对,网络数量对得上才算过关。
4.2 PCB 用 PADS Layout Translator,转换选项选对
AD PCB 转 PADS Layout 有专用工具,就是 PADS 安装目录里的 Layout Translator。操作流程不复杂:打开转换器,添加 AD 的 PCB 文件,指定输出位置,转换选项里选 Protel/Altium,点转换。转换完成后打开 PADS,用 File 菜单的 Import 导入生成的 .PCB 文件,导入时选“修复所有”,如果导入后画布空白,按 Ctrl+B 刷新视图就能看到。
转换选项里选 Protel/Altium 是关键,选错成其他格式会导致层映射全乱。另外转换器对 AD 的某些高级特性支持有限,比如 AD 里的自定义焊盘形状和嵌入式元件,转过去之后可能变成普通矩形焊盘。转完在 PADS 里重点检查焊盘形状和阻焊层,这两项出问题会直接影响后续制板。
4.3 导入后“修复所有”到底修了什么
PADS 导入时的“修复所有”选项经常被当成万能按钮,但它实际做的事情有限。它主要处理三类问题:重复的元件位号、悬空的网络节点、越界的板框元素。对于层映射错误和焊盘形状丢失,它无能为力。所以导入之后不能只靠这个选项,还得手动过一遍层设置和焊盘库。我一般会在导入后先看 Layer Setup,确认层数和层类型,再看 Pad Stack,确认过孔和焊盘的尺寸没被改。这两步做完再跑 DRC,报错数量会少很多。
5. Cadence 转 PADS:环境变量和 skill 脚本是两道坎
Cadence 转 PADS 是四条链路里技术门槛最高的一条,尤其是 Allegro 转 PADS Layout,需要配置环境变量、复制 skill 脚本、在命令行里手动执行转换命令。这一章把原理图和 PCB 分开讲,PCB 部分给出完整的配置和命令。
5.1 OrCAD 转 PADS Logic:先降版本再导入
OrCAD 原理图转 PADS Logic 的路径相对简单,核心动作是降版本。在 OrCAD 里打开 DSN 文件,Save As 时把版本选到 16.2,保存后用 PADS Logic 的 Import 功能加载 DSN。版本降级的原因和上一章一样,PADS Logic 的导入器对高版本格式兼容性差。
导入之后常见的问题是网络标号丢失和元件属性不全。网络标号丢失通常是因为 OrCAD 里用了特殊字符或者中文命名,PADS Logic 解析不了。解决办法是在 OrCAD 里先把网络名改成纯英文加数字的组合,再重新导出。元件属性不全则是符号库映射的问题,导入后在 PADS Logic 里打开元件属性编辑器,把关键参数手动补一遍,尤其是封装配对,封装配错后面 PCB 导入会直接找不到器件。
5.2 Allegro 转 PADS Layout:三个环境变量缺一不可
Allegro 转 PADS Layout 需要先做环境准备,三个用户变量必须配齐:
AEX_BIN_ROOT:指向 PADS 安装目录下 translators 的 bin 路径,例如C:\MentorGraphics\9.5PADS\SDD_HOME\translators\win32\binAEX_ENABLE_JOBPREFS_LAYER_FIX:值设为1,这个变量控制层映射的修复行为,不设的话转换后层顺序会乱Home:指向 Cadence 的 pcbenv 文件夹所在目录,例如C:\Cadence
环境变量配完之后,把 PADS 安装目录下 skill_scripts 文件夹里的所有文件复制到 Allegro 的 pcbenv 目录下。注意是复制到 pcbenv 里面的那个 pcbenv 子目录,路径层级别搞错,复制错位置脚本加载会失败。
5.3 skill 脚本执行:load 和 main out 两步不能省引号
环境准备好之后,用 Allegro 打开待转换的 PCB 文件,在 Command 命令行里执行两步操作。第一步加载脚本:
# 在 Allegro 的 Command 栏输入,注意 load 和引号之间有空格,引号不能省 skill load "dfl_main.il"执行后命令行返回T表示加载成功。如果没有返回 T 而是报错,先检查 skill_scripts 里的文件是否完整复制到了 pcbenv 目录,再检查环境变量路径有没有多余的空格。加载成功后执行第二步:
# 加载成功后继续输入,弹出转换对话框 main out弹出对话框后点击StarOneWay Translation,等待运行结束。运行过程中命令行不能有报错,有报错就停下来查原因,常见的是层映射冲突或者元件库路径找不到。运行成功后命令行提示DONE,此时打开 PADS Layout,走 File 菜单的 Import 导入,等待转换完成即可看到 PCB 文件。
注意:这套环境配置做一次就行,后续再转不用重复设置。但 Allegro 升级或者 PADS 换版本之后,环境变量路径要跟着改,否则脚本加载会静默失败。
6. 转换避坑实录:五条踩出来的经验
转换这件事,教程里写的步骤往往只覆盖顺利路径,真正耗时间的是各种意外。下面五条是我在实际转换中反复遇到的坑,每条按现象、原因、解决三段写,照着排查能省不少时间。
6.1 导入后画布空白,按 Ctrl+B 也没用
现象:PADS 导入 PCB 后画布一片空白,按 Ctrl+B 刷新仍然看不到内容。原因:文件其实已经导入,但视图缩放到了极远的位置,或者所有元素被放到了一个未激活的层上。解决:先按 Home 键做全图适配,如果还是空白,打开 Layer Setup 检查元素所在的层是否可见,把隐藏层全部打开再刷新。还有一种情况是导入时单位选错,板子被缩放到微米级别,全图适配也看不到,这时候要重新导入并确认单位设置。
6.2 转换过程卡死,进度条不动
现象:AD 导入 PADS 导出的 ASC 文件时进度条长时间不动,软件无响应。原因:导出时勾选了 Teardrops 选项,泪滴被展开成海量线段,解析器处理不过来。解决:回 PADS 重新导出,取消 Teardrops 勾选,其他选项保持不变。如果文件本身很大,可以分区域导出再合并,但分区导出会丢失板框完整性,合并后要重新定义板框。
6.3 层映射错位,内层电源地颠倒
现象:转换完成后内层铜和介质顺序对不上,出 Gerber 才发现问题。原因:不同工具的内层命名规则不一致,转换器的默认映射表按层序号匹配,不按层功能匹配。解决:转换后在目标工具里手动核对 Layer Setup,把内层按功能重新指定,电源层和地层不要依赖自动映射。核对完之后跑一次 DRC,间距报错能间接反映层映射是否正确。
6.4 skill 脚本加载返回 nil 而不是 T
现象:Allegro 命令行执行skill load "dfl_main.il"后返回nil,转换对话框弹不出来。原因:脚本文件没有复制到正确的 pcbenv 目录,或者环境变量Home指向了错误的路径。解决:确认 skill_scripts 里的文件复制到了 pcbenv 下的 pcbenv 子目录,检查Home变量是否指向包含 pcbenv 的上级目录。改完环境变量后重启 Allegro 再试,环境变量在软件启动时读取,不重启不生效。
6.5 转换后网络名变成乱码或丢失
现象:原理图转换后网络标号显示为乱码,或者部分网络直接消失。原因:原工程里使用了特殊字符、中文命名或者超长网络名,目标工具的解析器不支持。解决:转换前在源工具里把网络名统一改成英文加数字的组合,长度控制在解析器支持范围内。改完之后重新导出,转换后逐个网络核对,重点看电源网络和差分对,这两类网络丢失的后果最严重。
7. 四条链路怎么选:一张表定路径
四条链路跑下来,我的结论是:转换路径的选择不取决于哪个工具更先进,而取决于你手里有什么中间格式可用、以及你能接受多大的信息损耗。下面这张表把四条链路的适用场景、关键卡点和保真度做了横向对比,选路径的时候直接对号入座。
| 转换方向 | 推荐路径 | 关键卡点 | 保真度 | 适用场景 |
|---|---|---|---|---|
| PADS→AD | 原理图走 ASCII,PCB 走 ASC | 版本选 2005,泪滴不勾 | 较高 | 外协来图转内部工程 |
| AD→Cadence | 原理图另存 DSN,PCB 走 AD→PADS→Allegro | 组件处理选项必勾,中转保真 | 中等 | 对接 Allegro 设计流程 |
| AD→PADS | 原理图走 AD→OrCAD→PADS,PCB 用 Translator | DSN 降级 16.2,选项选 Protel/Altium | 较高 | 发给只收 PADS 的代工厂 |
| Cadence→PADS | 原理图降版本导入,PCB 配环境跑 skill | 三个环境变量,脚本路径 | 中等 | 接手 Allegro 旧设计转 PADS 维护 |
从表里能看出来,凡是涉及 Allegro 的链路保真度都偏低,因为 Allegro 的约束管理系统和其他工具差异太大,转换过程中设计规则基本带不过去。所以我的习惯是:只要目标端是 Allegro,转完之后约束规则全部重建,不指望自动迁移。反过来,PADS 和 AD 之间的互转保真度相对高,因为两者的设计模型比较接近,转换器也成熟。
还有一个判断依据是转换频率。如果只是偶尔转一次,按表里的路径走就行;如果长期需要双向同步,建议固定一个中间格式做枢纽,比如统一用 PADS 做中转站,所有转换都经过它,这样只需要维护一套转换规则和检查清单,比每条链路单独调要省心得多。
回过头看,我最早做转换的时候总想着找一条“完美路径”,后来发现根本不存在。每套 EDA 工具都有自己的设计哲学,转换本质上是把一种表达翻译成另一种表达,翻译过程中丢东西是必然的。真正决定成败的不是转换工具多强,而是你在转换前后有没有做足够的检查和补救。从那以后我每次转换都强制走一遍“导出前检查、转换后 DRC、关键项人工核对”这三步,再也没出现过出 Gerber 才发现层错的情况。希望这些踩坑记录能帮到你,少走几趟我走过的弯路。
本文还有配套的精品资源,点击获取