简介一份面向硬件工程师与PCB设计人员的EDA互转操作指南围绕PADS、Altium Designer和Cadence三款主流工具系统梳理了原理图与PCB在不同软件间的双向转换路径重点覆盖PADS转AD、AD转Cadence、AD转PADS及Cadence转PADS四大方向。文档以三款工具间的互转为主线按步骤拆解每个方向的导入导出流程并提示版本选择、文件格式、菜单操作等关键细节基本可满足日常跨平台设计文件交换需求。资源为docx格式压缩包内共1个文件包体仅1.11MB内容精炼、便于查阅。目前已有4858人学习下载特别适合需要在多工具间切换或承接不同EDA平台项目的电子工程师。文档还包含Allegro转PADS时的环境变量配置、skill脚本加载以及“AD→PADS→Allegro”中转方案等实践要点能帮助读者避开常见转换坑点提升文件互操作效率。1. 为什么 PADS、AD 与 Cadence 互转躲不掉当一块 PCB 的最终交付格式和你在使用的 EDA 工具不一致整个协作链条都会被卡住。硬件工程师干了几年之后几乎都经历过这种场面客户发来的设计文件是 PADS 的而团队内部统一用 AD又或者芯片厂商给的参考板是 Cadence Allegro 格式而自己的产线后端只认 PADS。有人觉得“反正都是画板工具导入导出就行”真按这个思路操作一次转换就可能丢铺铜、乱层叠、改网络名严重时直接影响改版和贴片。我这些年的做法很固定以 AD 作为中转枢纽先吃透 PADS 的 ASCII 导出能力和 Cadence 的导入边界再把三个方向逐一跑顺、验收。这篇笔记把这套流程完整写出来含关键参数、翻车点和验收方法适合手里正压着跨平台板件、需要把 PADS 或 Allegro 文件安全迁移到另一个工具里的工程师。2. 转换前的认知准备三家格式差异与路线选型2.1 三套格式的转换边界能带走什么必丢什么从转换工具的角度看三家的文件模型差别明显。PADS 的 .pcb 本质是数据库快照里面把元件、网表、走线、铺铜、过孔和规则打包在一起兼容历史版本做得很好这也是为什么很多老工程师手里的存量板子都以 PADS 为主。AD 的 .PcbDoc 是文档型结构内部保存的是对象和层数据它的导入导出框架最开放天然适合做跨工具搬运工。Cadence 的 .brd 是流程型数据库核心是符号、焊盘、网络和约束集库文件和板件文件分离换工具时最容易断裂的就是库这条线。真正能稳定带过去的对象大致包括元件位号、器件坐标、网络连接关系、走线的线宽与层属信息、过孔位置与孔径、板框几何、丝印文字和大部分铺铜轮廓。容易变形甚至丢失的集中在几个区域区域规则、差分对和等长约束、盲埋孔堆叠、动态铺铜的热释放与隔离带、特殊焊盘堆叠、3D 模型以及字体高度细节。下面这张表基本是我的判断习惯转文件之前先对照着预估一遍。对象通常能保留常见丢失或变形走线坐标、宽度、所在层锁定形态、泪滴、差分属性绑定过孔位置、内外径盲埋孔堆叠定义、过孔规则映射铺铜多边形轮廓热释放方式、隔离带间隙、动态实铜状态焊盘基本几何专用焊盘堆叠、阻焊开窗规则网表网络名、连通关系未连接引脚、NetClass 细粒度约束文本内容、坐标、层字体、宽高换算、旋转方向规则部分间距映射等长约束、差分对、区域规则有位资深的同事给过一句很精辟的话转换时能保的是几何难保的是规则最容易被忽略的是库。这条判断我在多个项目里验证过几乎所有转换后返工的问题都能归到这三个类别里。所以做转换不要想着一次点完按钮就结束先明确要保哪些东西再动手后面能少走很多弯路。2.2 转换前的四个准备动作库、单位、层数、版本第一个准备动作是把目标工具里的库提前建好。如果最终要落到 Allegro而 Allegro 库里缺少某几个封装的焊盘文件转换出来的板子上元件会带着一堆警告。最常见的做法是先在源工具中导出封装库PADS 可以导 .libAD 可以导 .PcbLib再在目标工具里对照封装名称和焊盘几何逐项补齐。第二个动作是统一单位。PADS 多数项目用 milAD 默认也是 mil但 Cadence 里常有人习惯用 mm。转换时不把单位定死结果就是所有坐标和尺寸错位 25.4 倍。我会在转换前用源工具导出一份坐标表随便挑几个元件记下绝对坐标转完后在目标工具里核对一旦偏移马上停手。第三个动作是记录原始层叠。打开源工具里的层叠管理器把层名、铜厚、介质厚度、阻抗预设逐层截图存好。很多转换工具只转铜层不转介质层或者把介质层合并。转完如果直接拿去投板板厂按目标工具默认介质重建阻抗就变了。第四个动作是确定版本号。AD 导出 Allegro 时可以选 16.3、16.6、17.2 等对方若是统一用 16.6就导出 16.6导出高版本会让对方打不开。PADS 的 ASCII 也一样旧版本工具不一定认新格式的 ASCII我一般默认导出 PADS 2005 兼容档兼容面积大遇到特殊对象再单独升版。2.3 三条路线对比AD 中枢 / PADS 自带导入器 / 第三方转换器路线上有三种做法。第一种是我最常用的 AD 中枢所有文件都先靠 AD 打开再导成目标工具能读的形式。因为 AD 自带的导入导出器多PADS、Allegro、OrCAD 都在支持列表里处理奇怪中间格式也有回旋余地。PADS 到 Cadence、Cadence 到 PADS 都能以 AD 为跳板完成唯一的前提是你手上得有能正常使用的 AD。第二种是直接用 PADS 自带的导入功能。如果你的 PADS 版本包含 Allegro 导入器Cadence 的 .brd 可以直接被 PADS Layout 打开。这条线的优点是省去中间格式缺点是 PADS 对 Allegro 的规则和特殊焊盘识别能力有限处理高速板时容易丢差分对而且导入时必须确认授权状态权限不够的话按钮都是灰的。第三种是找第三方转换工具或在线转换服务适合源工具版本太新、AD 暂时不认的情况。做这种选择要特别留意保密板子里的网络名、元件位号、坐标信息对交付方来说是敏感资产交给在线服务本质上等于把设计文件放出去。我一般只在不可替代的场景下使用且会先脱敏再转。三条线对比下来判断也简单经常吃这碗饭、需要反复跨工具交付就走 AD 中枢偶尔处理一两块 Allegro 板且 PADS 授权有导入器走第二条最快碰到新旧版本打不开的死角才考虑第三方。下面的实操部分按路线 A 展开它能覆盖绝大多数实际需求。3. 用 AD 做中枢把三个方向的转换完整跑通3.1 PADS 到 AD先走 ASCII 导出别直接拖 .pcbAD 其实支持直接打开 PADS 的 .pcb 二进制文件但直接打开有两个隐患一是新版 PADS 存出的数据库结构 AD 不一定能完整解析二是二进制导入的失败不可控报错也难查。正常做法是让 PADS 先导出一份 ASCII 格式的 .ascAD 再导入整个过程透明出问题也容易定位。先在 PADS Layout 里做导出。打开原始板件后执行文件导出保存类型选 ASCII。导出对话框里格式版本选 PADS 2005 或 9.x 都行看接收方 AD 的版本而定内容选项里把 Design、Net、Part、Layer、Copper、Via、Text 全勾上尽量避免后面缺东西。确认之后会得到一份文本格式的 .asc里面是完整的板级数据描述。然后在 AD 里执行文件导入选中刚才的 .asc。AD 会弹出导入参数框其中值得注意的选项是PADS 版本选一致或更早版本、单位选 mil、勾选导入后执行规则同步。导入过程会在右侧面板输出日志转换完成后生成一个新的 PcbDoc。这里的逻辑是ASCII 是 PADS 的公开文本交换格式AD 读取它基于标准解析不必去猜数据库内部结构而二进制文件格式每次更新都在变解析器跟不上时报错就成了黑匣子。这也是为什么很多做过 PADS 转 AD 的人会反复强调“先转 ASCII”。导入后别急着开工立刻用 AD 的报告功能核对三项器件总数、网络总数、层数。拿这三组数字去和 PADS 里的统计报告对比三项一致再继续差一项都要回源头找原因。最后保存成 .PcbDoc 前我习惯顺手把板框和原点位置确认一遍。转换工具经常把原点改到新位置原点一变后续出坐标文件和拼板都会跟着偏必须在转换后重新定位。3.2 AD 到 Cadence导出 Allegro 时该设置的三个参数AD 到 Cadence 的转换实际上是 AD 导出到 Allegro 格式。在 AD 中打开要导出的板子执行另存为文件类型选 Cadence Allegro 的 .brd。这时会有一个导出设置框三个参数要认真对待。第一个参数是目标版本建议选 16.6。虽然 17.2 甚至更高版本能提供更多数据完整性但大部分接收方的 Cadence 环境仍然固定在 16.6版本选高了对方打不开文件选低了部分特性又会被降级处理所以先问对方用哪个版本才是唯一正确答案。第二个参数是单位与精度。如果源板是 mil单位就固定为 mil精度 2如果源板是 mm精度 3。单位换算的问题我在第 2 章强调过这里导出的参数若选错整个板子坐标会整体偏移受力图和拼板数据全部作废。第三个参数是导出内容范围。建议把导出铜皮、导出网络、导出设计规则都勾上但导出堆叠要慎重考虑。部分 Allegro 版本在导入层叠时会把介质层重建得不理想这种情况下宁可不勾堆叠后续在 Allegro 里按截图重建。导出得到的 .brd 文件在 Allegro 里可以直接打开。如果 Allegro 提示文件数据库有异常先运行一遍数据库修复在命令行执行 dbdoctor修复后重新打开。这里有一个容易踩的误区以为 AD 导出的 .brd 在 Allegro 里一定能直接变成可生产的铜板。实际上AD 导出的是铜皮网络数据Allegro 打开后动态铜皮可能变成静态铜元件位号的字体也未必按默认字体显示。这些现象不用慌按第 4 章里的对应坑来处理。3.3 Cadence 到 PADS利用反向链路时最容易忽略的一步Cadence 到 PADS 在 AD 中枢方案里走的是反向链路先用 AD 打开 Allegro 的 .brd再另存为 PADS ASCII最后交给 PADS Layout 导入。第一步在 AD 里打开文件类型选 Allegro 的 .brd。AD 导入 Allegro 时会弹出一个导入映射框里面列出层映射和网络映射。这里先把所有网络勾选为全部导入再把层映射里的导电层与介质层分开核对避免把介质层合并进导电层。导入完成后会出现一个新的 PcbDoc。此时不要急着另存先处理 Allegro 特有对象Allegro 的动态铜皮在 AD 里会显示为静态多边形AD 的规则管理器里也会出现一堆 Allegro 导入规则条目。我的习惯是把这些条目先清掉用 AD 自己的规则体系重建间距、线宽和过孔规则。第二步执行另存为文件类型选 PADS ASCII。如果当前 AD 版本的这个选项藏在导出菜单下就在导出设置里找 PADS 相关入口。导出选项里PADS 版本同样选 2005 兼容档单位与源板保持一致。第三步到 PADS Layout 里执行导入选择这份 .asc。PADS 导入时建议勾选导入后自动重建铺铜否则铜皮边界可能只保留外轮廓丢失内部咬合结构。反向链路里最容易忽略的一步是网络名检查。Allegro 内部网络名以大写为主AD 导入时可能自动改成首字母大写PADS 对大小写敏感程度又不同结果就是原理图和 PCB 之间的网络对不上。我通常会在 AD 导出 PADS 之前先把要交付的总网表导出为文本再在 PADS 导入后立刻做一次网表比对。比对方法在第 5 章详细展开这一步做扎实了反向转换才算真正闭环。4. 转换避坑清单铺铜、过孔、封装、网络名的四类翻车现场4.1 层叠错乱与过孔退化现象源文件是八层板转完在目标工具里只剩六层或者铜层数量对但介质层全部合并成一层盲埋孔从盘中孔变普通通孔个别过孔干脆失踪。原因三家对层的定义差别很大。Cadence 的层叠数据结构里导电层、介质层、Mask 层是分开建模的介质层带厚度和材料属性PADS 和 AD 在层叠管理上相对简化导入时只认铜层介质层不匹配就被当冗余数据丢弃。盲埋孔更是重灾区Cadence 用叠层符号组合出盲埋结构PADS 的过孔用类型定义AD 里则是多段过孔对象表达机制不同就必然出现降级。解决转换前先截图源工具的层叠管理器把层名、介质厚度、铜厚记录在表格里目标工具一旦丢失介质层就按表格手工重建。过孔方面转完先筛选出盲埋孔逐个确认内径外径和起始层异常的全部按源文件重新定义。这块没什么玄学纯粹是先把数据列出来再逐项去对。如果公司规范允许转前去源工具中把过孔文件单独导出一份很多痛苦能提前排除。4.2 铺铜与热释放失效现象转换后大面积铺铜变成一块完整实铜原本用热释放焊盘连接的地方变成直接连接部分隔离带铜皮甚至完全消失。原因PADS 和 Allegro 的铜皮带灌注规则比如热释放连接宽度、隔离带间隙、最小铜距。这些规则导出到 ASCII 或 .brd 时经常不包含在几何数据里目标工具打开后只认铜皮轮廓不认灌注规则于是默认按实铜处理。解决转换完成后在目标工具里把每个铺铜区重新灌注一遍。AD 里可以为整板执行重铺铜Allegro 里则是重新指定 shape 并做正负片设置之后运行 DRC 确认隔离带间距。如果铺铜区域太多我通常会先清除原铜皮再按原始网络和层重新铺一次效率反而比逐个修铜皮高。检查时打开目标工具的剖面视图逐层看铜皮边界别只盯着顶层。4.3 封装库不匹配与阻焊丢失现象元件位号全在但封装几何变了有的焊盘变大有的 BGA 出线处阻焊开窗明显异常甚至出现封装名对不上目标库里已有名字的情况。原因源项目里的封装数据如果来自工具自带的库转换时封装几何被复制进板件文件问题不大但如果源工具的库是名字引用型比如 Allegro 的封装名只是引用本地库导出 .brd 时并不会把库文件实体一并打包转换过来就只剩名字和一些残留几何。解决最可靠的做法是在转换前把需要的封装从源工具里完整导出为目标工具能认的库文件比如 PADS 的 .lib、AD 的 .PcbLib然后通过库管理器批量替换板上的旧封装。替换后再检查阻焊开窗是否跟原始文件一致阻焊只能在焊盘层对比光看封装形状是看不出问题的。很多问题藏在“元件在位但封装几何缺”的警告里别把警告当摆设。4.4 网络名改写与原理图不同步现象转换后原理图和 PCB 对不上在 PCB 里某个网络叫 CLK_DDR0到了目标工具变成 CLK_DDR0_N或者干脆变成自动生成的 N 开头编号。原因转换工具在合并网络或修复短链时可能强制添加后缀或前缀Allegro 的普通网络名有时包含斜杠字符PADS 和 AD 不允许这个字符就会被替换成下划线。最麻烦的是系统自动生成的内部网络名两次转换后名字完全不同PCB 和原理图必然对不上。解决进入 AD 做中转的那一刻先把 PCB 里的网络名全表导出存成文本每次中转后都做 diff。如果发现网络名被改写但连通关系没变直接以源工具导出网表为准做映射表在目标工具里批量改名。改完名后立刻和原理图网表比对一次做到这一层跨工具改网络名导致 PCB 报废的悲剧基本可以避免。这些坑看起来分散其实都指向同一个原则转换结果不能全信导入日志要带着原始数据清单去核对。第 5 章就给出我用过最顺手的四步验收流程。5. 转换后的及格线用网表比对和 DRC 做四步验收第一步是器件与网络数量比对。在源工具中导出报告在目标工具中对应项对比差一个都要追查。第二步是网表细节比对。把两边的网络名列表各自抽取出来交给 diff 处理这是查网络被改名的直接办法# 源网表文件 src_net.txt目标网表文件 tgt_net.txt # 每行形如NET CLK_DDR0 2 R12.1 U8.A3 # 提取网络名列并排序再做差集 cut -d -f2 src_net.txt | sort -u src_list.txt cut -d -f2 tgt_net.txt | sort -u tgt_list.txt diff src_list.txt tgt_list.txtdiff 无输出代表两边网络名一致有输出时看差集落在哪一侧就能定位是少网络还是网络被改名。这个脚本的思路是只比名字不比拓扑速度最快适合转换后立刻跑一遍。第三步是 DRC。转换后不要沿用目标工具的默认规则直接投板先把间距、线宽、过孔类型设成与原设计一致再跑一次全板 DRC。DRC 报出的开路和短路数量如果在源工具里是零那目标工具里也应该是零多出来的报错基本都是转换引入的。第四步是出制造文件前看一眼 CAM。把光电文件导出来后用 CAM 工具打开顶层、底层、内层各检查一遍重点看铜皮边界和丝印位置。这一步能兜住前面所有检查漏掉的问题。我吃过一次亏某次 PADS 转 AD 后所有指标都对上了结果忽略了一个内层铜皮的隔离带宽度变化投产回来才发现内层短路风险。从那以后转换报告和检查结果我都养成了归档习惯每次转换存一份版本记录。希望帮到你。本文还有配套的精品资源点击获取