简介:面向电子设计从业者与初学者的EDA工具互转实操文档,聚焦PADS、Altium Designer与Cadence三大平台之间设计文件的跨工具迁移难题。内容覆盖PADS转AD、AD转Cadence、AD转PADS、Cadence转PADS四大方向,并细分原理图与PCB两条路径,如PADS logic导出TXT再经向导导入AD、PADS layout导出asc格式转换、AD另存DSN导入OrCAD、借助PADS Layout Translator处理Protel/Altium文件,以及Allegro转PADS时环境变量配置与skill脚本加载等关键环节,对泪滴选项、版本降级等易错点也有提示。资源包共1个docx文件,约1.11MB,以图文步骤形式组织,便于对照操作。已有4887人学习下载,适合需要打通多平台设计流程、减少重复建库与格式兼容困扰的工程师参考。
1. 三套 EDA 工具互转:一份能照着走完的实操路线图
手里同时压着 PADS、Altium Designer 和 Cadence 三套 EDA 工具的项目,最磨人的不是画图,而是把别人交付的原理图和 PCB 搬进自己常用的环境里。这份文档把 PADS 转 AD、AD 转 Cadence、AD 转 PADS、Cadence 转 PADS 四条链路都拆成了可执行步骤,核心思路是「借道中间格式」——原理图走 ASCII 或 DSN,PCB 走 ASC 或 Skill 脚本。它适合正在做跨团队协作、接手外包设计文件、或者需要把历史项目迁移到新工具链的硬件工程师。下面按链路顺序把每一步的参数、勾选项和翻车点讲透,新手能直接抄,熟手能对照着查边界。
2. PADS 转 AD:两条链路与导出参数怎么定
PADS 转 AD 是这份文档里最成熟的一条链路,原理图和 PCB 分开走,互不干扰。原理图靠 PADS Logic 导出 ASCII 文本,PCB 靠 PADS Layout 导出 ASC 格式,两者都进 AD 的导入向导。这条链路之所以稳,是因为 AD 从 6.9 时代就内置了 PADS ASCII 解析器,格式兼容性经过多年验证,不像某些冷门格式导入后网络表全乱。
2.1 PADS Logic 导出 TXT 与 AD 导入向导
原理图这一步的关键在导出格式的版本号。PADS Logic 里选「文件 → 导出」,格式选 ASCII,版本必须选 2005——文档里写的是 2005.2,实际操作中 2005 和 2005.2 都能被 AD 识别,但版本越高,AD 解析器越容易在元件属性字段上丢信息。导出前先把原理图做一次 ERC,把悬空网络和重复位号清掉,否则导入后 AD 里会出现一堆「No ERC」标记,排查起来比重画还费时间。
PADS Logic 导出步骤: 1. File → Export 2. 保存类型选 ASCII Files (*.txt) 3. Format 选 PADS Logic ASCII 4. Version 选 2005(或 2005.2) 5. 勾选 All design(整图导出,不要只导当前页) 6. 点击 OK,记下输出路径导出完成后打开 AD,走「文件 → 导入向导」,在文件类型列表里选「PADS ASCII Design And Library Files」,指向刚生成的 txt。向导里会问是否导入库文件,如果原设计用了自定义封装,这里要勾上,否则导入后元件全是空封装。一路下一步到完成,AD 会自动生成一个 PCB 工程,原理图页按原 PADS 的 sheet 结构还原。这里有个细节:PADS 的层次化设计在 AD 里会变成多个 SchDoc,层次端口名如果含特殊字符(比如斜杠、空格),导入后可能被截断,转换完要抽查一遍端口连接。
2.2 PADS Layout 导出 ASC 与铺铜、泪滴的处理
PCB 这一步比原理图更容易翻车,问题集中在导出选项上。文档明确提醒泪滴(Teardrops)不要勾,这是血泪经验——PADS 的泪滴在 ASC 里会展开成大量独立线段,AD 导入时逐段解析,一个中等规模的板子能卡上十几分钟甚至直接无响应。正确做法是导出前先在 PADS 里把泪滴去掉,或者导出时不勾选,等进了 AD 再用「工具 → 泪滴」重新生成。
PADS Layout 导出 ASC 步骤: 1. 完成 DRC,确认无未布线网络 2. File → Export 3. 保存类型选 ASCII Files (*.asc) 4. Format 选 PADS Layout ASCII 5. Version 选 2005 6. 勾选项:Layers 全选、Nets 全选、Components 全选 7. Teardrops 不勾(关键) 8. 点击 OK 输出铺铜的处理要单独说。PADS 的铺铜在 ASC 里以 Filled Polygon 形式存在,AD 导入后会变成实心填充,不再是可重灌的 Polygon Pour。所以导出前要么保留铺铜让 AD 拿到静态铜皮,要么先删铜、导入后在 AD 里重新铺。我一般选后者,因为跨工具的铜皮连接关系经常对不上,重新铺一遍反而干净。导入时同样走「文件 → 导入向导」,选 PADS ASCII 类型,指向 asc 文件,向导里层映射那一步要人工核对一遍——PADS 的 Layer 1 到 Layer 32 和 AD 的层命名规则不同,内电层尤其容易错位,导入后打开层叠管理器确认信号层和平面层顺序。
3. AD 转 Cadence:原理图直转与 PCB 借道 PADS
AD 往 Cadence 走,原理图和 PCB 的难度完全不对等。原理图有官方通道,AD 能直接另存为 DSN;PCB 没有直转路径,文档给的方案是 AD→PADS→Allegro,绕一圈反而最稳。这条链路的设计逻辑是:AD 和 Allegro 的数据库结构差异太大,中间隔一层 PADS 做格式归一化,比硬写转换脚本可靠得多。
3.1 AD 原理图另存为 DSN 的选项与组件处理
AD 转 OrCAD 的原理图通道藏在「Save Project As」里,不是导出菜单。选中要转换的工程,另存为时文件类型选 DSN,弹出的对话框里有一个「处理所有组件」的勾选项,文档特别强调要记住选上。这个选项决定 AD 的元件参数(Value、Footprint、自定义字段)是否完整映射到 OrCAD 的 Part 属性里,不勾的话转换出来的原理图只剩符号和连线,参数全丢,等于白转。
AD 原理图转 DSN: 1. File → Save Project As 2. 保存类型选 OrCAD Capture Design (*.DSN) 3. 弹窗中勾选 Process all components 4. 选择输出目录,保存 5. 打开 Cadence Capture,File → Open → Design,选中 DSN转换完成后在 Capture 里打开,重点检查三处:元件位号是否连续、网络标签有没有被截断、电源符号是否识别为全局网络。AD 的多部件元件(比如运放的双运放)在 DSN 里会拆成多个 Part,如果原设计里 Part 分配不规范,转换后可能出现 U1A、U1B 对不上的情况,这时候要在 Capture 里手动重新分配。另外 AD 的层次图纸在 DSN 里会变成 Hierarchical Block,端口映射要逐个核对,尤其是总线命名,AD 用D[0..7]这种写法,OrCAD 认的是D0,D1,...展开形式,不一致会导致总线连不上。
3.2 AD PCB 经 PADS 中转进 Allegro 的完整路径
PCB 这条链路文档只给了一句话「常用的方法是 AD→PADS→Allegro」,但实操里每一步都有讲究。第一步 AD 转 PADS 用 PADS Layout Translator,这个工具是 PADS 安装包里自带的独立程序,不依赖 PADS 主界面。打开后添加 AD 的 PCB 文件,转换选项选 Protel/Altium,输出目录自己定,点转换即可。转换完成后得到一个 PADS 格式的 .pcb 文件,用 PADS Layout 打开,执行「文件 → 导入」,如果打开后看不到内容,按 Ctrl+B 刷新视图——这是 PADS 的显示缓存问题,不是文件坏了。
第二步 PADS 转 Allegro 就是第 4 章要详细展开的 Skill 脚本流程,这里先记住路径:PADS 的 .pcb 文件通过 Allegro 的 Skill 脚本转成 Allegro 的 brd。整条链路走下来,网络连接和元件布局基本能保住,丢的是铺铜形状、部分过孔类型和设计规则,进 Allegro 后要重新灌铜、重设约束。所以如果原 AD 板子有复杂的阻抗规则或差分对,建议在 Allegro 里重建规则,别指望转换能带过去。
4. AD 转 PADS 与 Cadence 转 PADS:Translator 与 Skill 脚本两条路
这两条链路放在一起讲,因为它们的工具形态完全不同:AD 转 PADS 靠图形化的 PADS Layout Translator,Cadence 转 PADS 靠 Allegro 命令行里的 Skill 脚本。前者适合新手,点几下就完事;后者要配环境变量、拷脚本文件,但一旦配好,后续转换就是两条命令的事。
4.1 AD PCB 用 PADS Layout Translator 转换与导入修复
PADS Layout Translator 的界面很朴素,三步:添加文件、选保存位置、选转换选项。转换选项里选 Protel/Altium 是给 AD 文件用的,如果选错成 PADS 自己的格式,转换会直接报错。点转换后进度条走完,输出目录里会生成一个 .pcb 文件,用 PADS Layout 打开,执行「文件 → 导入」,导入后如果视图空白,Ctrl+B 刷新。文档里说的「修复所有」指的是 PADS 的 Design Recovery 功能,导入后跑一遍「工具 → Design Recovery」,它会自动修复层映射错误和孤立的网络段。
AD PCB 转 PADS 流程: 1. 启动 PADS Layout Translator(开始菜单里独立程序) 2. Add File → 选 AD 的 .PcbDoc 3. Output 目录指定 4. Translation Options 选 Protel/Altium 5. 点击 Translate,等待完成 6. PADS Layout 打开输出 .pcb 7. 工具 → Design Recovery → 修复所有 8. Ctrl+B 刷新视图AD 原理图转 PADS Logic 文档给的是「AD→OrCAD→PADS」的绕行方案,因为 PADS Logic 没有直接读 AD 原理图的入口。先按 3.1 节把 AD 存成 DSN,再在 PADS Logic 里「文件 → 导入」选 DSN 文件。导入时 PADS 会弹一个映射对话框,把 OrCAD 的 Part 映射到 PADS 的库元件,如果库路径没配好,这里会提示找不到元件,需要提前把 PADS 库指向包含对应封装的库文件。
4.2 Allegro 转 PADS 的环境变量与 Skill 脚本执行
Cadence 转 PADS 的 PCB 链路是整份文档里配置最重的一段,核心是让 Allegro 能调用 PADS 提供的转换脚本。三个用户环境变量缺一不可:AEX_BIN_ROOT指向 PADS 安装目录下 translators 的 bin 路径,AEX_ENABLE_JOBPREFS_LAYER_FIX设为 1 开启层修复,Home指向 Cadence 的 pcbenv 目录。这三个变量配错任何一个,后面 Skill 加载都会失败,而且报错信息很含糊,所以配完要逐个核对路径是否存在。
环境变量配置(Windows 用户变量): AEX_BIN_ROOT = C:\MentorGraphics\9.5PADS\SDD_HOME\translators\win32\bin AEX_ENABLE_JOBPREFS_LAYER_FIX = 1 Home = C:\Cadence\SPB_Data\pcbenv变量配好后,把 PADS 安装目录下translators\skill_scripts里的所有文件复制到 Allegro 的pcbenv\pcbenv目录。注意文档里强调的「最后一个 pcbenv」,因为 Cadence 的目录结构里可能有两层同名文件夹,拷错位置脚本就加载不到。复制完打开 Allegro,在 Command 栏输入skill load "dfl_main.il",引号和 load 后的空格都不能少,回车后返回 T 才算加载成功。接着输入main out,弹出对话框点「StarOneWay Translation」,等待运行结束,过程中不能有报错,有报错就查日志定位是层映射还是元件库的问题。运行成功后 Command 栏提示 DONE,再打开 PADS Layout,文件 → 导入选 Allegro 输出的文件,等待转换完成。
OrCAD 转 PADS Logic 相对简单,关键是版本降级。OrCAD 高版本(17.x 以上)的 DSN 格式 PADS Logic 读不了,要在 Capture 里「文件 → 另存为」,版本选 16.2,再在 PADS Logic 里导入。这个降级操作会丢一部分高版本特性(比如某些约束管理器设置),但原理图的连接关系和元件属性是完整的。
5. 转换避坑清单:五条踩过的坑与排查顺序
跨工具转换的坑有个共同特征:现象看着像软件坏了,原因往往是导出选项或环境配置。下面五条按发生频率排序,每条按「现象 → 原因 → 解决」写,遇到问题按顺序排查能省不少时间。
5.1 导入后视图空白或元件全丢
现象:AD 导入 PADS 的 asc 后,PCB 编辑区一片空白,或者只有板框没有元件。原因通常是导出时 Layers 或 Components 没全选,或者导入向导里层映射把元件层映射到了不存在的层。解决:回 PADS 重新导出,确认 Layers、Nets、Components 三项全勾;AD 导入向导的层映射页逐层核对,PADS 的 Top/Bottom 对应 AD 的 Top Layer/Bottom Layer,内层按顺序对齐。导入后按V → F或Ctrl+Shift+F缩放到全图,排除只是视图没刷新的情况。
5.2 泪滴导致转换卡死或超时
现象:PADS 导出 asc 时勾了 Teardrops,AD 导入进度条卡在某个百分比不动,任务管理器里 AD 进程 CPU 占满。原因:泪滴在 ASC 里展开成大量独立线段,AD 解析器逐段处理,规模一大就指数级变慢。解决:导出时不勾 Teardrops,或者导出前在 PADS 里先删泪滴;已经卡死的进程强制结束,重新导出。进 AD 后用「工具 → 泪滴」重新生成,AD 的泪滴算法对大规模板子友好得多。
5.3 Skill 脚本加载返回 nil 或报错
现象:Allegro 里输入skill load "dfl_main.il"后返回 nil 而不是 T,或者直接报「can't access file」。原因:Home环境变量指向的 pcbenv 目录不对,或者 skill_scripts 里的文件没拷到正确位置。解决:先确认Home路径下确实有 pcbenv 文件夹,再检查 dfl_main.il 是否在pcbenv\pcbenv里;路径含中文或空格也会导致加载失败,安装目录尽量用纯英文路径。改完环境变量要重启 Allegro 才生效。
5.4 DSN 转换后元件参数丢失
现象:AD 原理图存成 DSN 后,OrCAD 里打开发现 Value、Footprint 字段全空,只剩符号和连线。原因:另存为时没勾「处理所有组件」,或者 AD 的元件参数存在自定义字段里,OrCAD 的映射表不认。解决:重新另存,勾上 Process all components;自定义字段要在 AD 里先改成标准字段(Comment、Value),或者转换后在 Capture 里用「Edit → Properties」批量补。转换前把 AD 工程的参数做一次规范化,能省掉大量手工补录。
5.5 层映射错位导致内电层短路
现象:PADS 转 AD 或 AD 转 PADS 后,内电层的网络分配全乱,DRC 报大量短路。原因:两套工具的层编号规则不同,PADS 的 Layer 1-32 和 AD 的层叠顺序不是一一对应,内层尤其容易错。解决:导入后第一件事打开层叠管理器,逐层核对信号层和平面层的顺序与网络分配;转换前在源工具里把层命名改成有意义的名称(比如 GND、PWR、SIG1),比纯数字层号好核对得多。内电层错位是转换后最危险的问题,一定要在投板前用 DRC 全量跑一遍。
6. 转换后的验证与批量处理技巧
转换完成不等于能用,验证这一步决定了你是省下重画的时间还是埋下投板返工的雷。我一般按「网络表比对 → 层叠核对 → DRC 全跑 → 关键网络抽查」四步走。网络表比对最直接:在源工具和目标工具里各导出一份网表,用文本比对工具 diff 一下,连接关系不一致的地方就是转换丢信息的位置。层叠核对看层数和层序,DRC 全跑看短路和间距,关键网络抽查挑电源、差分对、时钟这几类手动量一遍线宽和间距。
批量处理有个技巧值得说:如果手头有多个项目要转,别一个个点向导。PADS Layout Translator 支持命令行调用,把转换参数写成批处理脚本,循环处理整个目录的文件,比手工点快一个数量级。Allegro 的 Skill 脚本也可以封装成函数,把main out那套流程包进去,后续转换只改输入路径。
| 验证项 | 检查方法 | 通过标准 |
|---|---|---|
| 网络连接 | 源/目标各导网表 diff | 网络名和引脚对应一致 |
| 层叠结构 | 层叠管理器逐层核对 | 层数、层序、平面层网络一致 |
| 设计规则 | DRC 全量运行 | 无短路、无间距违规 |
| 关键网络 | 手动量线宽/间距 | 电源、差分对、时钟符合原设计 |
| 元件封装 | 抽查 BOM 与封装库 | 位号、封装名一一对应 |
最后说个习惯:每次转换前,我都会把源文件另存一份带日期后缀的副本,转换过程只动副本,原文件不碰。跨工具转换本质是有损压缩,出了问题回滚到副本比重做快得多。另外转换日志别随手关,AD 和 PADS 的导入向导都会生成日志文件,报错时先翻日志再猜原因,比盲目重试高效。这套流程走顺之后,三套工具之间的文件流转就不再是卡脖子的事,希望帮到你。
本文还有配套的精品资源,点击获取