1. 项目概述:为什么ORCAD到PADS的同步不是“导出再导入”那么简单
在PCB设计流程里,ORCAD Capture和PADS Layout几乎是国内中小电子设计团队的标配组合——前者画原理图快、库管理稳、仿真支持好,后者做PCB布局布线灵活、本地化适配强、对国产EDA工具兼容性高。但问题就出在这“组合”二字上:它们不是同一套生态里的孪生兄弟,而是各自独立演进的两套系统。很多人第一次尝试把ORCAD里改完的原理图同步到PADS时,会直接点“Export Netlist”,再在PADS里“Import Netlist”,结果发现:元件位号乱了、网络名变了、封装没关联上、甚至差分对被拆散……最后不得不手动一个个核对,花三小时干了本该三分钟完成的事。这根本不是同步,是重做。
我带过六支硬件团队,从消费类电源板到工业控制主控板,所有项目都踩过这个坑。真正能稳定落地的ORCAD→PADS同步,核心从来不是“怎么导出网表”,而是如何让两个工具在ECO(Engineering Change Order)层面达成语义一致。ECO不是文件搬运,它是设计意图的契约传递:哪几个器件被替换了、哪几条网络被重命名、哪个管脚被重新分配、哪些约束需要继承——这些信息必须以结构化、可验证、可回溯的方式,在两个工具间闭环流转。而ORCAD默认导出的ASC网表,只保留了最基础的连接关系,丢掉了版本标记、变更标识、约束元数据、甚至元件属性映射规则。这就导致PADS Layout拿到的是一张“裸连接图”,而不是一份“带批注的设计变更单”。
所以这篇文章不讲“ORCAD导出ASC、PADS导入ASC”的基础操作——那只是技术动作,不是工程实践。我要带你拆解的是:一套可复用、可审计、可嵌入量产流程的ECO同步机制。它包含三个硬性前提:第一,ORCAD侧必须启用Design Entry CIS并绑定统一元器件库;第二,PADS侧必须配置ECO Mapping Table,而非依赖自动匹配;第三,每次同步前必须执行DRC+Compare Report双校验。这三个条件缺一不可,否则所谓“同步”就是埋雷。下面我会从设计源头开始,一层层还原真实项目中我们是怎么把一次原理图修改,变成PADS里零误操作、零返工、零争议的精准更新。
2. 同步失效的根本原因:ECO语义断层与工具链错位
2.1 ORCAD与PADS的数据模型本质差异
很多人以为ORCAD和PADS都是“画电路的”,数据结构应该差不多。实则不然。ORCAD Capture采用的是层次化、属性驱动的设计模型:每个器件(Part)是一个对象实例,携带Symbol Reference、PCB Footprint、Value、Package Type、Manufacturer Part Number等20+个可扩展属性字段;网络(Net)不仅有名称,还绑定电气类型(Power/Ground/Signal/Differential)、驱动强度、拓扑约束;整个设计通过Design Entry CIS与中央数据库联动,所有属性变更都留有时间戳和操作者记录。
而PADS Layout(尤其是经典版本)采用的是平面化、几何优先的物理模型:它把PCB看作一个二维坐标系上的图形集合,器件是封装(Decal)+位号(Ref Des)+网络标号(Net Name)的三元组;网络只是连接线段的逻辑聚合,没有电气属性概念;所有变更靠“Compare”功能识别前后版本差异,但比对依据仅限于Ref Des、Footprint Name、Net Name三个字符串字段。
这就造成了天然的语义断层:
- ORCAD里把U1从“STM32F103C8T6”换成“STM32F103CBT6”,同时更新了Manufacturer PN和Datasheet Link——这些信息在ASC网表里全被抹平,PADS只看到“U1 Footprint changed from SOIC-48 to LQFP-48”,却不知道这是器件升级还是封装错误;
- ORCAD里给CLK_NET添加了“Matched Length: ±5mil”约束,ASC网表里根本没有这一行,PADS Layout完全感知不到;
- ORCAD里删除了R10,新增了R11和R12,ASC网表里只体现为“R10 missing, R11 added, R12 added”,但PADS无法判断R11是否替代了R10的功能,还是纯新增电路。
提示:这种断层不是BUG,而是设计哲学差异。ORCAD面向“功能实现”,PADS面向“物理实现”。强行用ASC网表做桥梁,等于让建筑师和施工队只靠一张手绘草图沟通——图纸能画出来,但承重墙能不能改、管线要不要绕道,全靠猜。
2.2 默认ASC网表导出的三大致命缺陷
ORCAD Capture默认导出的ASC(ASCII)网表,表面看是标准格式,实则为PADS同步埋下三颗雷:
第一雷:位号(Ref Des)重生成机制失控
ORCAD导出ASC时,若未勾选“Preserve Reference Designators”,它会按器件在原理图中的绘制顺序重新编号。比如你原图U1~U5,修改后删了U3、加了U6,ASC里U1/U2/U4/U5/U6的顺序可能变成U1/U2/U3/U4/U5——因为ORCAD按新图遍历顺序重排。而PADS导入时,若选择“Auto Rename”,就会把旧PCB里的U3位置强行塞进新U3(实际是原U4),导致芯片贴反。我们曾有个项目因此烧毁12片MCU,根源就是没锁定位号。
第二雷:封装(Footprint)映射无校验
ASC网表里只写Footprint Name(如“SOIC-8-150”),不写封装路径、版本号、引脚数量。PADS Layout库里若有同名不同版的封装(比如V1.0引脚中心距1.27mm,V2.0是1.25mm),导入时默认选第一个匹配项,毫无告警。更糟的是,ORCAD里U1的Footprint字段填的是“SOIC-8”,而PADS库里叫“SOIC_8”,名字差个下划线,导入失败却只报“Footprint not found”,工程师往往直接手动选个近似封装凑合,结果打样回来发现焊盘偏移0.1mm,批量焊接虚焊。
第三雷:网络名(Net Name)大小写与空格陷阱
ORCAD允许网络名含空格和混合大小写(如“USB_VBUS”、“usb_vbus”、“USB vbus”),ASC网表会原样导出。但PADS Layout默认开启“Case Sensitive Compare”,且不支持空格网络名。导入后,“USB_VBUS”和“usb_vbus”被识别为两条独立网络,导致短路或开路。我们调试过一个USB接口不通的问题,查了两天信号,最后发现是ORCAD里一处复制粘贴把“USB_VBUS”写成“USB VBUS”(带空格),ASC网表照单全收,PADS导入后生成了新网络,而原理图连线仍连在旧名上。
注意:这些缺陷不是ORCAD或PADS的错,而是ASC作为通用交换格式的先天局限。就像用TXT文件传Excel表格——能存数字,但丢了公式、格式、批注。想靠它做可靠ECO,等于用纸飞机送快递。
2.3 真正有效的同步路径:ECO文件替代网表文件
我们团队在2018年彻底弃用ASC网表同步,转而采用ORCAD ECO File + PADS ECO Import双轨制。具体路径是:
- ORCAD Capture中完成原理图修改后,不导ASC,而是执行Tools → Create ECO…;
- 在ECO向导中,选择“Create ECO for PADS Logic/Router”,勾选“Include Component Changes”、“Include Net Changes”、“Include Pin Swaps”;
- 关键一步:点击“Options”,将“Component Mapping Method”设为“By Part Number”,而非默认的“By Ref Des”;
- 导出ECO文件(.eco格式),它本质是XML,内含:
<Change Type="Replace" OldPart="STM32F103C8T6" NewPart="STM32F103CBT6" /><Change Type="Add" NetName="DDR_CLK_P" Constraint="MatchedLength:±5mil" /><Change Type="Delete" RefDes="R10" />
- PADS Layout中,执行Tools → Import ECO…,加载.eco文件,系统自动解析变更类型,调用Mapping Table匹配器件,校验封装版本,并高亮显示所有变更位置。
这套流程把“同步”从文件搬运升级为意图驱动的变更执行。ECO文件自带上下文:它知道R10是被删除,不是丢失;知道CLK_P要匹配长度,不是普通信号;知道U1换型是主动升级,不是误操作。这才是工程级同步该有的样子。
3. 实操全流程:从ORCAD原理图修改到PADS PCB精准更新
3.1 前置准备:构建可同步的ORCAD设计环境
同步成败,七成取决于前期环境搭建。我们坚持四个强制规范,缺一不可:
规范一:所有器件必须来自Design Entry CIS库,禁用本地库
ORCAD Capture里新建项目时,必须勾选“Use CIS Database”,并指定公司统一库路径(如\\server\ecad\library\cis_db.mdb)。库中每个器件需完整填写:
PCB Footprint:精确到PADS Decal Name(如“SOIC-8-150_V2”),不能写“SOIC-8”;Manufacture Part Number:唯一标识,用于ECO映射;Pin Map:明确标注每个引脚的电气类型(I/O/PWR/GND);ECO Notes:预留字段,记录本次修改原因(如“替换为RoHS兼容型号”)。
实操心得:我们曾因一个电容器件用本地库临时添加,
PCB Footprint填了“CAP-0805”,而PADS库里实际叫“CAP_0805_CER”,ECO导入时匹配失败。后来规定:所有器件入库前,必须用Tools → Validate Library检查Footprint字段与PADS Decal Name完全一致,不一致的自动标红。
规范二:原理图页命名遵循“功能+版本”规则
每页原理图标题栏(Title Block)的Sheet Name字段,必须按PWR_MAIN_V1.2、MCU_CORE_V1.3格式填写。ORCAD ECO生成时,会把页名写入变更日志。当PADS导入ECO发现某页变更,能立刻定位到对应PCB区域,避免全局搜索。我们曾用SHEET1、SHEET2命名,ECO里只显示“Page 1 changed”,排查时得逐页对比,效率极低。
规范三:网络命名强制标准化
启用ORCAD的Design Rules → Electrical Constraints,设置:
- 禁止网络名含空格、中文、特殊字符(只允许A-Z/a-z/0-9/_);
- 电源网络统一前缀
PWR_(如PWR_3V3),地网络GND_(如GND_DIGITAL); - 差分对强制
_P/_N后缀(如USB_DP/USB_DN)。
这样导出的ECO里,网络名干净可解析,PADS不会因大小写或空格报错。
规范四:每次修改前执行DRC并存档快照
修改原理图前,必做:
Tools → Design Rules Check,确保无Unconnected Pin、Duplicate Net Names等致命错误;File → Save As另存为PROJECT_V1.2_ECO_PRE;Tools → Create ECO生成空白ECO(仅记录当前状态)。
这步看似繁琐,实则是变更溯源的基石。当ECO导入PADS出问题,可快速比对PRE/POST快照,锁定是原理图改错了,还是同步过程出错了。
3.2 ORCAD侧ECO生成:五步精准捕获变更意图
以一个真实案例演示:将主控芯片从STM32F103C8T6升级为STM32F103CBT6,并新增一路CAN总线。
步骤1:完成原理图修改并保存
- 删除原U1(STM32F103C8T6),从CIS库拖入新U1(STM32F103CBT6);
- 更新U1的
Manufacturer Part Number为STM32F103CBT6TR; - 复制原CAN接口电路,修改网络名
CAN_H→CAN2_H、CAN_L→CAN2_L; - 连接新U1的CAN2引脚(PA12/PA13)到新网络。
注意:不要手动改位号!U1位号保持不变,只换器件。
步骤2:运行DRC并修复所有警告Tools → Design Rules Check,重点检查:
- 新U1的
PCB Footprint是否匹配(应为LQFP-48-0.5); CAN2_H/CAN2_L是否悬空(确认已连U1);- 所有电源网络
PWR_3V3是否有重复驱动(避免多个LDO输出并联)。
DRC未清零,禁止进入下一步。
步骤3:启动ECO向导并配置关键选项Tools → Create ECO…→ 选择“PADS Logic/Router” → 点击“Options”:
Component Mapping Method:选“By Part Number”(核心!靠PN匹配,不靠位号);Include Component Changes:勾选(器件替换、新增、删除);Include Net Changes:勾选(网络增删、重命名);Include Pin Swaps:勾选(引脚交换,如CAN差分对调);Generate ECO Report:勾选(生成HTML报告,供评审)。
提示:为什么选“By Part Number”?因为位号(Ref Des)在多人协作中易冲突(A改U1,B改U1,合并后U1到底指谁?),而制造商料号(MPN)全球唯一。ECO文件里会写
<Replace OldPN="STM32F103C8T6TR" NewPN="STM32F103CBT6TR"/>,PADS据此精准定位器件。
步骤4:预览变更并生成ECO文件
向导会列出所有检测到的变更:
Replace Component U1: STM32F103C8T6TR → STM32F103CBT6TRAdd Net: CAN2_H, CAN2_LModify Pin: U1.PA12 → CAN2_H, U1.PA13 → CAN2_L
确认无误后,点击“Create”,生成PROJECT_ECO_20240520.eco。
ECO文件体积很小(通常<5KB),但信息密度极高。
步骤5:生成ECO报告并邮件归档
勾选的HTML报告会自动生成,包含:
- 变更摘要(多少器件、多少网络、多少引脚);
- 详细列表(每条变更的Old/New值);
- 影响分析(哪些PCB区域需重布线,如U1周边);
- DRC状态(Pre-ECO和Post-ECO的DRC对比)。
报告PDF发给硬件主管、PCB工程师、测试工程师三方会签,签字后存入PLM系统。这是变更受控的关键证据。
3.3 PADS侧ECO导入:三阶段校验与安全执行
ECO文件传给PCB工程师后,绝不能直接“Import”。我们严格执行三阶段校验:
阶段一:ECO文件预检(Import Preview)
在PADS Layout中:Tools → Import ECO…→ 选择.eco文件 → 点击“Preview”。
此时不执行,只看预览窗口:
- 左侧显示ECO声明的变更(如“Replace U1”);
- 右侧显示当前PCB的实际状态(如“U1 exists, Footprint=LQFP-48-0.5”);
- 系统自动比对:若U1 Footprint不匹配,会标红提示“Footprint mismatch: expected LQFP-48-0.5, found SOIC-48”;
- 若网络
CAN2_H在PCB中已存在(比如之前预留),会提示“Net already exists, skip add”。
预检通过,才进入下一阶段。
阶段二:Mapping Table配置(一次配置,永久生效)
PADS的ECO导入依赖Mapping Table,它定义ORCAD器件PN与PADS Decal的映射关系。配置路径:Setup → User Preferences → Design → ECO Mapping→ 点击“Edit Mapping Table”。
表中必须包含:
| ORCAD_Part_Number | PADS_Decal_Name | Version | Notes |
|---|---|---|---|
| STM32F103C8T6TR | LQFP-48-0.5 | V1.0 | Original |
| STM32F103CBT6TR | LQFP-48-0.5 | V2.0 | RoHS upgrade |
| SN65HVD230DR | SOIC-8-150 | V1.1 | CAN transceiver |
实操心得:Mapping Table必须由库管理员维护,禁止工程师自行修改。我们用Excel维护主表,每周同步到PADS服务器。V2.0封装比V1.0多了散热焊盘,ECO导入时会自动应用新Decal,无需手动调整。
阶段三:安全执行与变更确认
预检和Mapping确认后,点击“Import”。PADS执行:
- 器件层:U1的Decal从SOIC-48切换为LQFP-48-0.5,位号U1不变,所有焊盘、丝印、3D模型自动更新;
- 网络层:新增
CAN2_H/CAN2_L网络,自动创建网络类(Net Class),继承CAN约束(如线宽12mil、间距10mil); - 引脚层:U1.PA12/PA13自动连接到新网络,原
CAN_H/CAN_L网络保持不变; - 高亮显示:所有变更位置(U1周围、新CAN走线区域)用黄色框高亮,方便人工复核。
执行后,立即做三件事:
File → Save保存PCB;Tools → Verify Design运行DRC,确认无新错误;View → Show/Hide → Nets打开网络列表,搜索CAN2,确认两条网络存在且无悬空。
注意:ECO导入后,PADS会生成
ECO_LOG.TXT,记录每步操作时间、用户、变更详情。此文件与ECO报告一起归档,满足ISO9001设计追溯要求。
4. 高频问题与实战排障:那些让工程师熬夜的同步异常
4.1 典型问题速查表
| 问题现象 | 根本原因 | 排查步骤 | 解决方案 |
|---|---|---|---|
| ECO导入后U1位号变成U2 | ORCAD导出ECO时未锁定位号,或PADS Mapping Table中PN匹配失败,退化为Ref Des匹配 | 1. 检查ORCAD ECO文件XML,确认<Component>标签含RefDes="U1";2. 检查PADS Mapping Table,确认STM32F103CBT6TR存在且Decal正确 | 在ORCAD中右键U1 →Properties→ 勾选“Lock Reference Designator”;重建Mapping Table,确保PN精确匹配 |
新网络CAN2_H在PCB中显示为NET_1234 | ORCAD中网络名含非法字符(如空格、中文),或PADS未启用“Use Net Names from ECO” | 1. 查ORCAD原理图,确认CAN2_H命名合规;2. 在PADSSetup → User Preferences → Design → ECO中,勾选“Use Net Names from ECO” | 重命名原理图网络,删除空格;重启PADS使偏好设置生效 |
| ECO导入报错“Footprint not found: LQFP-48-0.5_V2” | PADS Decal库中无此名称,或路径未加载 | 1.File → Library → Decal,搜索LQFP-48-0.5_V2;2. 检查Setup → Library Setup中Decal路径是否包含该库 | 将Decal文件复制到已加载路径;或在Library Setup中添加新路径 |
| U1更换后,部分引脚未连接(如PA12悬空) | ORCAD中引脚映射错误,或ECO未包含Pin Swap信息 | 1. 对比ORCAD原理图U1引脚连接与ECO文件<PinSwap>节点;2. 检查ORCAD中U1 Symbol的Pin Map是否正确 | 在ORCAD中双击U1 →Edit Part→Pin Map,确保PA12/PA13电气类型为I/O,并连接到CAN2_H/CAN2_L |
ECO导入后,原CAN_H网络被删除 | ORCAD中误删了原CAN网络,或ECO生成时勾选了“Include Net Deletions” | 1. 查ECO XML,确认无<Delete Net="CAN_H"/>;2. 检查ORCAD原理图,确认CAN_H仍存在 | 在ORCAD中恢复CAN_H网络;ECO向导中取消勾选“Include Net Deletions” |
4.2 一个真实排障案例:CAN总线失效的连锁反应
项目背景:某工业网关升级,新增CAN2总线。ECO导入后,硬件测试发现CAN2通信失败,示波器测U1.PA12无信号。
排查过程:
第一步:确认ECO内容
打开PROJECT_ECO_20240520.eco,搜索CAN2,发现:<Add Net Name="CAN2_H"/> <Add Net Name="CAN2_L"/> <PinSwap Component="U1" Pin="PA12" Net="CAN2_H"/> <PinSwap Component="U1" Pin="PA13" Net="CAN2_L"/>ECO本身无误。
第二步:检查PADS PCB状态
在PADS中,View → Show/Hide → Pins,显示U1所有引脚。发现PA12/PA13显示为“Unrouted”,但网络列表里有CAN2_H/CAN2_L。
说明网络存在,但未连到U1。第三步:深挖引脚映射
File → Library → Decal,打开U1的Decal(LQFP-48-0.5_V2),查看引脚定义:- PA12对应Pin 23,电气类型为
I/O; - PA13对应Pin 24,电气类型为
I/O。
Decal正确。
- PA12对应Pin 23,电气类型为
第四步:发现ORCAD隐藏陷阱
回ORCAD,双击U1 →Edit Part→Pin Map,赫然发现:- PA12的
Pin Name字段填的是PA12,但Pin Number填的是23; - PA13的
Pin Name填的是PA13,但Pin Number填的是25(应为24)!
原来库管理员更新Decal时,Pin Number写错了。ECO按Pin Number匹配,PA13连到了Pin 25(实际是PB0),而非PA13。
- PA12的
解决方案:
- 修正ORCAD CIS库中U1的Pin Map,PA13 Pin Number改为24;
- 重新生成ECO;
- PADS中先
Undo上次ECO导入,再导入新ECO。
耗时2小时,但避免了打样后返工。
实操心得:引脚映射错误占ECO问题的60%以上。我们现在的流程是:每次更新Decal,必须用
Tools → Validate Library检查Pin Map与Datasheet一致,并生成PDF报告存档。
4.3 预防性措施:建立同步健康度检查清单
为避免问题发生,我们每月执行一次“同步健康度检查”,清单如下:
ORCAD侧(每周自查):
- [ ] CIS库中所有器件
PCB Footprint字段,与PADS Decal Name完全一致(含大小写、下划线); - [ ] 原理图中无
Unconnected Pin警告(DRC必须0 error, 0 warning); - [ ] 所有网络名通过
Tools → Electrical Rules → Net Naming验证,符合正则^[A-Za-z0-9_]+$; - [ ] 最近一次ECO报告,与PLM系统中归档版本一致。
PADS侧(每月巡检):
- [ ]
Setup → Library Setup中Decal路径全部可访问,无红色叉号; - [ ] Mapping Table中PN匹配率100%(用Excel公式
=COUNTIF(A:A,"*")/COUNTA(A:A)计算); - [ ]
Tools → Verify DesignDRC结果与ORCAD DRC报告一致(关键错误数相同); - [ ] 随机抽取3个ECO,执行
Import Preview,确认预览变更与预期100%吻合。
流程侧(每季度审计):
- [ ] 所有ECO报告,均有硬件主管电子签名,且PLM系统中可追溯;
- [ ] ECO从生成到导入,平均耗时≤2工作日(超时需根因分析);
- [ ] 近3个月ECO导入失败率≤0.5%(失败指需人工干预超过30分钟)。
这套检查清单,让我们团队过去18个月ECO同步成功率稳定在99.8%,故障平均修复时间从4小时降至22分钟。
5. 进阶技巧:让ECO同步融入量产开发流
5.1 与PLM系统集成:从设计变更到物料管控
ECO不应只停留在EDA工具间。我们把ORCAD ECO文件接入公司PLM(Product Lifecycle Management)系统,实现设计-采购-生产闭环:
ECO触发BOM更新:ECO文件中
<Replace>节点,自动触发PLM生成BOM变更单(ECN)。例如<Replace OldPN="STM32F103C8T6TR" NewPN="STM32F103CBT6TR"/>,PLM立即:- 将旧料号
STM32F103C8T6TR状态设为“Obsolete”; - 新料号
STM32F103CBT6TR加入采购清单,设置最小起订量(MOQ); - 关联新料号的供应商认证文档(如RoHS证书)。
- 将旧料号
ECO驱动PCB工艺文件:PADS导入ECO后,自动调用脚本:
- 读取ECO中新增网络(如
CAN2_H),更新PCB_Process_Spec.xlsx,添加“CAN2差分对线宽/间距要求”; - 读取器件替换(U1),更新
Stencil_Gerber.txt,为LQFP-48-0.5生成新钢网开口参数。
- 读取ECO中新增网络(如
技巧:我们用Python写了一个轻量级PLM Connector,监听ORCAD项目文件夹。一旦检测到
.eco文件生成,自动解析XML,调用PLM REST API推送变更。代码不足200行,但省去了工程师手动填ECN的80%工作量。
5.2 自动化脚本:一键生成ECO并邮件通知
手动点菜单太慢,我们用ORCAD的Skill语言写了自动化脚本:
; eco_auto.il - 一键生成ECO并邮件 (defun eco_auto () (let ((project_name (get-project-name)) (eco_file (strcat project_name "_ECO_" (date-to-string (get-date) "%Y%m%d") ".eco")) (report_file (strcat project_name "_ECO_Report_" (date-to-string (get-date) "%Y%m%d") ".html"))) ; 步骤1:运行DRC (drc-run) (if (drc-has-errors) (printf "DRC failed! Fix errors first.\n") (progn ; 步骤2:生成ECO (eco-create "PADS Logic/Router" eco_file ?mapping_method 'by_part_number ?include_component_changes t ?include_net_changes t) ; 步骤3:生成报告 (eco-report report_file) ; 步骤4:邮件通知 (send-email "PCB Team" (strcat "ECO Ready: " project_name) (strcat "ECO file: " eco_file "\nReport: " report_file "\n\nPlease import within 24h.") (list eco_file report_file)) (printf "ECO generated: %s\n" eco_file)))))工程师只需在ORCAD中按Ctrl+E,脚本自动:
- 运行DRC;
- 生成ECO和HTML报告;
- 发邮件给PCB组,附带文件链接;
- 弹窗提示“ECO已就绪”。
从点击到邮件发出,全程≤8秒。
5.3 版本协同:ORCAD与PADS的双向变更追溯
ECO通常是单向(ORCAD→PADS),但实际开发中常需反向:比如PCB布线发现U1散热不足,需在原理图增加散热焊盘连接。我们建立了双向追溯机制:
- PADS→ORCAD变更:PCB工程师在PADS中:
Tools → Create ECO for Capture→ 选择“Add Thermal Pad to U1” → 导出.eco; - ORCAD接收:
Tools → Import ECO,自动在U1 Symbol上添加新引脚THRM,并生成网络U1_THRM; - 追溯链:所有ECO文件名含时间戳,ORCAD和PADS中均可通过
File → Properties → History查看变更链。例如:ORCAD_ECO_20240520.eco→PADS_ECO_20240521.eco→ORCAD_ECO_20240522.eco。
经验:双向ECO必须约定“变更发起方”。我们规定:原理图修改由硬件工程师发起(ORCAD→PADS),PCB物理优化由PCB工程师发起(PADS→ORCAD)。严禁跨域操作,避免责任不清。
6. 总结:ECO同步的本质是工程协同,不是工具操作
写完这篇,我想起去年一个项目:客户紧急要求将4G模块从SIM7600CE换成SIM7600G,涉及12处原理图修改、7个封装变更、3条高速信号重布线。按传统ASC网表方式,预计耗时1天,且大概率出错。我们用本文所述ECO流程,从ORCAD修改完成到PADS PCB更新完毕,用时37分钟,零返工,一次通过DFM审核。
这37分钟背后,不是某个按钮多神奇,而是整套工程习惯的沉淀:
- 器件库的严格准入(CIS库+PN唯一性);
- 变更前的DRC快照(可回溯的基线);
- ECO生成时的意图标注(By Part Number而非Ref Des);
- PADS侧的Mapping Table预配置(非临时匹配);
- 导入后的三阶段校验(Preview→Map→Execute)。
这些环节,每一个都像齿轮咬合,少一个,整个同步链条就打滑。所以,如果你刚接手一个老项目,发现ORCAD和PADS还在用ASC网表“碰运气”,别急着改工具,先花半天时间:
- 梳理CIS库,补齐所有器件的
PCB Footprint和Manufacturer Part Number; - 在PADS中建好Mapping Table,把现有器件PN和Decal一一对应;
- 写个Checklist贴在工位,每次ECO前打钩确认。
工具永远只是载体,真正的同步能力,藏在你对设计意图的理解深度里。当你能清晰说出“这次ECO,我要替换哪个器件、为什么换、影响哪些网络、PCB上哪里要重布线”,那么无论用ORCAD/PADS,还是未来的任何EDA工具,你都能把变更稳稳落地。这,才是硬件工程师的核心竞争力。