简介:这份文档面向使用PADS、Altium Designer与Cadence的电子工程师及PCB设计学习者,聚焦不同EDA工具之间设计文件互操作的实际难题,系统梳理了PADS转AD、AD转Cadence、AD转PADS、Cadence转PADS等常见转换路径,并区分原理图与PCB分别给出对应做法。资源包共1个docx文件,约1.11MB,内容以图文步骤形式组织,涵盖PADS Logic与Layout导出、AD向导导入、AD另存DSN、PADS Layout Translator转换、Allegro环境变量配置及skill脚本加载等关键环节,对泪滴选项、版本选择、导入后修复等易错点也有提示。已有4887人学习下载,适合需要跨平台迁移设计文件、排查转换失败原因或建立标准转换流程的读者参考,可帮助减少重复试错、快速完成文件格式迁移与后续编辑。
1. 三套 EDA 工具互转:一份能照着跑通的 PADS、AD、Cadence 转换笔记
上周有个做硬件的朋友抱着一块四层板来找我,说客户给的源文件是 PADS 格式,他们公司全线用 AD,中间还夹着一个要交给外协的 Cadence Allegro 版本。三个工具、三种文件格式,谁都不认谁,他折腾了一下午,原理图导过去网络标号全丢,PCB 导过去铜皮和丝印错位。这不是个例,PADS、AD、Cadence 这三家在国内硬件团队里并存是常态,供应链上下游各用各的,文件互转几乎是每个画板人都绕不开的一关。这份《PADS、AD和CANDENCE相互转换.docx》把六条转换路径——PADS 转 AD、AD 转 Cadence、AD 转 PADS、Cadence 转 PADS 及其反向——的操作步骤整理成了一份可执行的清单,适合手里正卡在格式转换上、需要一份能直接抄作业的流程参考的工程师。它不讲 EDA 原理,只解决“文件怎么过去、过去之后怎么不丢东西”这个具体问题。
2. PADS 与 AD 双向转换:原理图走 ASCII,PCB 走 ASC
PADS 和 AD 之间的转换是这份文档里写得最细的一段,也是实际工作中最高频的场景。核心思路很明确:原理图通过 PADS 的 ASCII 文本格式中转,PCB 通过 ASC 格式中转,两者都依赖 AD 自带的导入向导来解析。理解这个“文本中转”的逻辑很重要——EDA 工具之间没有通用的二进制格式,能跨工具读的只有结构化的文本描述,所以导出时的版本选择和选项勾选直接决定了导入端能不能正确解析。
2.1 PADS Logic 转 AD:TXT 导出与向导导入
PADS Logic 转 AD 的第一步不是打开 AD,而是在 PADS 里把原理图导成 ASCII 文本。文档里明确要求版本选 2005,这个版本号不是随便定的——AD 的 PADS 导入器对高版本 ASCII 语法的支持并不完整,选高了反而容易在解析网络表时翻车。
操作路径是:PADS Logic 里选择导出,格式选 TXT(ASCII),版本下拉选 2005,导出范围选整个设计。导出完成后打开 AD,走 File → Import Wizard,在文件类型列表里找到 “PADS ASCII Design And Library Files”,选中刚导出的 TXT,后面一路 Next 到底。
PADS Logic 导出设置参考: 导出格式:ASCII / TXT 版本:2005 导出内容:Design(含网络、元件、页间连接) 元件库:如需要一并导出,勾选 Library这里有个容易被忽略的点:PADS 的 ASCII 导出默认可能只导当前页或当前设计,如果项目是多页原理图,务必确认导出范围覆盖全部页面,否则 AD 里打开会发现缺页,网络标号对不上。导入向导里如果提示元件库缺失,说明 PADS 侧的库没有随设计一起导出,需要单独再导一次 Library 的 ASCII 文件,或者在 AD 里手动映射封装。
2.2 PADS Layout 转 AD:ASC 导出与铺铜处理
PCB 的转换比原理图多几个坑,文档里专门提了铺铜和泪滴两个选项,这两条是血泪经验。流程是:在 PADS Layout 里先把板子检查干净、铺铜灌好,然后导出 ASC 格式,版本同样选 2005。
导出时的选项勾选是关键。文档明确说泪滴(Teardrops)选项最好不要勾,原因是带泪滴的 ASC 文件在 AD 导入时会触发大量几何运算,转换过程可能慢到让人以为卡死。我自己的习惯是导出前先把泪滴去掉,转完在 AD 里如果需要再重新加,这样转换时间能从十几分钟压到一两分钟。
PADS Layout 导出 ASC 设置参考: 格式:ASCII(.asc) 版本:2005 勾选:Copper / Plane / Net / Component / Design Rules 不勾:Teardrops(泪滴) 输出单位:与目标 AD 工程保持一致(通常 mil)导入端同样是 AD 的 Import Wizard,选 ASC 文件后一路 Next。转换完成后重点检查三样东西:铜皮是否完整、层叠映射是否正确、过孔和焊盘的尺寸有没有被缩放。单位不一致是最常见的翻车点,PADS 默认可能是 mil,AD 工程如果是 mm,导进来整块板会大一圈或小一圈,这个在导入向导的单位选择页就要对齐。
2.3 AD 转 PADS:Translator 工具与导入修复
反方向的 AD 转 PADS,PCB 部分靠的是 PADS 安装时自带的 PADS Layout Translator。文档给的步骤是:打开 Translator,添加 AD 文件,选保存位置,转换选项选 Protel/Altium,点转换。转完之后打开 PADS Layout,File → Import 导入生成的 .pcb 文件,然后执行“修复所有”。
PADS Layout Translator 操作顺序: 1. Add File -> 选择 .PcbDoc 2. Output Dir -> 指定输出目录 3. Translator -> 选 Protel/Altium 4. Translate -> 执行转换 5. PADS 中 Import -> 导入 .pcb,执行 Repair All“修复所有”这一步不能省。AD 的 PCB 里有些图元定义在 PADS 里没有直接对应,转换后会以异常状态存在,Repair All 会把这些图元归位。如果导入后看不到文件,文档给的办法是按 Ctrl+B,这是 PADS 的视图全览快捷键,本质是文件其实导进来了但视图缩放在别处。原理图方向 AD 转 PADS Logic 没有直通路径,文档给的是 AD → OrCAD → PADS 的接力方案,先按下一章的 AD 转 Cadence 把原理图变成 DSN,再走 Cadence 转 PADS 的流程。
3. AD 与 Cadence 转换:DSN 中转与 PADS 搭桥
AD 和 Cadence 之间没有官方直转通道,这份文档的处理方式很务实:原理图借 DSN 格式中转,PCB 借 PADS 搭桥。这个思路值得说清楚,因为很多人一上来就想找“AD 直接导 Allegro”的按钮,找不到就以为没戏,其实行业里通用的做法就是多跳一步。
3.1 AD 原理图转 OrCAD:另存为 DSN 的组件处理
AD 原理图转 Cadence OrCAD 的入口藏在 Save Project As 里。打开要转换的 AD 工程,File → Save Project As,在保存类型里选 DSN 格式。文档特别强调“选择处理所有组件,记住选择”,这一步对应的是转换时对工程内所有原理图页和元件库的处理策略,如果只处理当前页,多页设计会丢页。
AD 转 DSN 关键设置: 菜单:File -> Save Project As 格式:OrCAD Capture Design (*.DSN) 组件处理:Process all components(处理所有组件) 输出:单一 DSN 文件,含全部原理图页转出的 DSN 直接用 Cadence 打开即可。这里要注意 AD 和 OrCAD 在元件符号引脚定义上的差异,转换后建议跑一遍 DRC,重点看电源网络和差分对有没有断连。元件属性里的封装名如果 AD 侧用的是非标准命名,OrCAD 里可能对不上库,需要在 Capture 里做一次封装映射。
3.2 AD PCB 转 Allegro:为什么绕道 PADS
文档对 AD PCB 转 Allegro 只给了一句话:“常用的方法是 AD→PADS→Allegro”。这句话背后是有原因的——AD 的 PCB 格式和 Allegro 的 BRD 格式在层定义、约束规则、铜皮模型上差异太大,没有可靠的直转工具,而 PADS 恰好两头都有成熟的转换器:AD 能通过 Translator 进 PADS,PADS 又能通过 skill 脚本出 Allegro。所以这条链路是 AD → PADS(用 2.3 的 Translator)→ Allegro(用 4.2 的 skill 流程),两步都走通,PCB 就过去了。代价是中间经过两次格式解析,约束规则和部分铜皮细节会有损失,转完必须在 Allegro 里重新检查设计规则。
4. Cadence 转 PADS:环境变量与 Skill 脚本全流程
Cadence 转 PADS 是整份文档里技术含量最高的一段,尤其是 Allegro 转 PADS Layout,涉及环境变量配置和 skill 脚本调用,步骤错一步就跑不通。这一段我建议第一次操作时严格按顺序来,别跳步。
4.1 OrCAD 转 PADS Logic:版本降级到 16.2
OrCAD 的原理图转 PADS Logic,核心动作是版本降级。在 OrCAD 里 File → Save As,保存类型选 DSN,版本下拉选 16.2。PADS Logic 的 DSN 导入器只认到 16.2 这个版本线,高版本存出来的 DSN 导不进去,这是硬约束。
OrCAD 导出设置: 菜单:File -> Save As 格式:DSN 版本:16.2(必须降到此版本) 然后:PADS Logic -> File -> Import -> 选 DSN降级保存后打开 PADS Logic,File → Import 选这个 DSN 文件即可。导入后检查元件位号和网络名,OrCAD 里的层次化设计在 PADS 里会被展平,页间连接符可能变成普通网络标签,需要人工核对一遍连接关系。
4.2 Allegro 转 PADS Layout:三个环境变量与 skill 加载
这是全文档最需要耐心的部分。Allegro 转 PADS 依赖 PADS 安装目录下的一套 skill 脚本,脚本要能在 Allegro 里跑起来,前提是三个环境变量配到位。
第一个是AEX_BIN_ROOT,指向 PADS 安装目录下 translators 的 bin 路径。第二个是AEX_ENABLE_JOBPREFS_LAYER_FIX,值设为 1,作用是启用层映射修正。第三个是Home,指向 Cadence 的 pcbenv 目录。三个都是用户变量。
用户环境变量(以实际安装路径为准): AEX_BIN_ROOT = <PADS安装目录>\SDD_HOME\translators\win32\bin AEX_ENABLE_JOBPREFS_LAYER_FIX = 1 Home = <Cadence安装目录>\SPB_Data\pcbenv变量配好后,把 PADS 安装目录下translators\skill_scripts里的所有文件复制到 Allegro 的 pcbenv 目录下。文档特意强调“记住是最后一个 pcbenv 文件下”,因为 Cadence 的目录结构里可能有多层同名文件夹,复制错位置脚本就加载不到。
准备工作完成后,用 Allegro 打开要转换的 BRD 文件,在 Command 栏输入:
skill load "dfl_main.il"回车后如果返回 T,说明脚本加载成功。注意引号不能少,load 和引号之间有一个空格,这两个细节错了都会返回 nil。确认返回 T 之后,继续输入:
main out回车会弹出转换对话框,点 “StarOneWay Translation”,等待运行结束。文档强调运行过程中不能有报错,有报错必须先排查修正再重跑,因为中途报错会导致输出文件不完整。运行成功后 Command 栏提示 DONE,然后打开 PADS Layout,File → Import 导入生成的文件,等待转换结束,PCB 就出来了。
5. 转换避坑清单:六个让文件“过去但不对”的现场
格式转换最怕的不是转不过去,是转过去了但东西不对,而且错误藏得深。下面六条是这类转换里反复出现的现场,每条按现象、原因、解决拆开写。
现象一:AD 导入 PADS 的 ASC 后整板尺寸放大或缩小。原因:导出和导入两端的单位不一致,PADS 用 mil、AD 工程用 mm,向导里没对齐。解决:导出 ASC 时记下单位,AD 导入向导的单位选择页手动指定相同单位,导入后量一个已知尺寸的焊盘做校验。
现象二:PADS 转 AD 后原理图缺页、网络标号对不上。原因:PADS Logic 导出 ASCII 时只导了当前页或当前设计,多页工程没覆盖全。解决:导出时确认范围选整个设计,导入后在 AD 的工程面板里核对页数与源文件一致,缺页就回 PADS 重新导全量。
现象三:PADS Layout 导 ASC 时卡住,进度条长时间不动。原因:勾选了 Teardrops,带泪滴的几何数据在 AD 导入时运算量暴增。解决:导出前取消泪滴勾选,转完在 AD 里按需重新加泪滴,转换时间通常能降一个数量级。
现象四:AD 转 PADS 后导入看不到板子。原因:文件其实已导入,但视图缩放停在空白区域。解决:按 Ctrl+B 执行视图全览,板子就出来了;如果还是没有,检查 Translator 的输出目录里 .pcb 文件是否生成成功。
现象五:Allegro 里 skill load 返回 nil。原因:引号缺失、load 与引号间空格不对,或 skill_scripts 文件没复制到正确的 pcbenv 目录。解决:逐字核对命令skill load "dfl_main.il",确认三个环境变量路径存在且指向正确,重新复制脚本文件到 Allegro 实际读取的 pcbenv。
现象六:main out 运行中途报错,转换结果不完整。原因:源 BRD 里存在脚本不支持的图元或层定义,或环境变量 AEX_ENABLE_JOBPREFS_LAYER_FIX 未设为 1。解决:先确认该变量值为 1,再看报错信息定位到具体层或图元,在 Allegro 里清理后重跑,不要带着报错继续导入。
提示:每次转换前对源文件做一次备份,转换是不可逆的单向操作,出错时回退到原始文件重来比在转换结果上修补省时间得多。
6. 转换后的验证:用网络表和层叠做交叉核对
转换做完不等于交付完成,我一般会强制走一遍验证,核心就两件事:网络表比对和层叠核对。网络表是设计的骨架,层叠是 PCB 的物理基础,这两样对了,剩下的丝印、铜皮细节才有意义。
网络表比对的做法是:在源工具和目标工具里各导出一份网表(PADS 导 .net,AD 导 Netlist,Allegro 导 Telnet 或网表报告),用文本对比工具 diff 一下。重点看网络数量、每个网络的引脚数、电源和地网络的连接点。如果数量对得上但个别网络引脚数不同,多半是页间连接符或层次化设计展平时的丢失,回到转换步骤里查那一页。
层叠核对更直接:打开目标文件的层叠管理器,逐层比对层数、层类型(信号/平面)、层顺序和介质厚度。PADS 和 AD 的层命名习惯不同,转换后层名可能变成 Layer1、Layer2 这种默认名,需要手动映射回有意义的名称,否则后续出 Gerber 时容易搞错层。
验证清单(每次转换后过一遍): [ ] 网表 diff:网络数、引脚数、电源地连接一致 [ ] 层叠:层数、层序、层类型与源文件一致 [ ] 单位:量一个基准焊盘尺寸校验 [ ] 铜皮:灌铜区域完整,无碎片或空洞 [ ] 过孔焊盘:尺寸与源文件一致,无缩放 [ ] DRC:目标工具里跑一遍,重点看间距和短路有个习惯我保持了几年:每次转换前先在源文件里把设计“瘦身”——删掉无关的测试点、临时网络、未使用的库元件,转换的输入越干净,输出的问题越少。转换工具本质是格式翻译器,它不理解你的设计意图,源文件里含糊的东西,转过去只会更含糊。这份文档的价值在于把六条路径的入口和关键选项都标了出来,照着走能少踩不少坑,但每一步之后的验证还是得自己盯。希望帮到你。
本文还有配套的精品资源,点击获取