ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

OrCAD原理图DRC检查后如何浏览全部错误并定位?

OrCAD原理图DRC检查后如何浏览全部错误并定位? 大家刚开始用 OrCAD 画原理图的时候通常都有过这样的经历兴致勃勃画完一张图点击 DRC 检查结果弹出一长串 Error/Warning还没等看明白内容又因为误操作把报告窗口关了或者只能在原理图页面一个一个点标记效率非常低。尤其是“跑完 DRC 之后到底去哪里浏览全部错误”“有没有办法按列表逐条查看并跳转定位”这类问题几乎每个新手都会遇到。这篇文章就围绕这个场景以 OrCAD Capture 为主结合 Cadence Allegro 的常规流程把 DRC 报告从生成、浏览、定位到处理的完整思路讲清楚。无论你是学生、刚入门硬件设计还是已经接触过 OrCAD 但只会“看到报错就截图问人”的工程师这篇文章都能让你以后处理 DRC 更从容。1. 背景与核心概念1.1 什么是 DRC原理图阶段为什么要做 DRCDRC全称 Design Rules Check翻译过来是“设计规则检查”。硬件设计流程里DRC 不是一个可有可无的辅助功能它本质上是一个自动化“审图员”用来帮你检查原理图中是否存在连接性、电气规范、封装信息等方面的明显问题。比如某个网络只有一个引脚连接形成了悬空单节点某个 IC 的输入引脚既没有接电源也没有接驱动源引脚名字拼写错误导致本应连在一起的网络实际断开元件缺少封装属性后续导出网表到 Allegro 时可能失败off-page connector跨页连接符本应在不同页面之间传递网络结果名称不匹配。这些问题如果不在原理图阶段发现等到 Allegro 里布局布线甚至打样回来再发现改造成本会高很多。所以在 OrCAD Capture 中完成原理图绘制后第一件正经事就是运行 DRC。有一点要明确DRC 报错不代表原理图一定“画错了”它只代表当前原理图没有满足某些设定好的设计规则。有些规则对当前项目并不适用需要你在检查前合理配置而有些错误则确实需要你回到原理图里去修改。学会“看懂 DRC 报告”才是关键。1.2 OrCAD Capture、Cadence Allegro 与 DRC 的关系很多新手容易把 OrCAD 和 Allegro 搞混。实际上常用的 Cadence 设计流程包含两大工具工具主要用途OrCAD Capture / Capture CIS原理图绘制、DRC 检查、生成网表Cadence Allegro PCB EditorPCB 布局、布线、铺铜、PCB 阶段的 DRC 检查也就是说在 Allegro 里也有 DRC但那个 DRC 主要检查的是 PCB 版图里的间距、线宽、过孔、连接性等规则。而本文重点讲的是 OrCAD Capture 中原理图阶段的 DRC。如果你在搜索引擎里搜“DRC Browser”“查看所有 DRC 错误”搜到的大多数结果是 Allegro PCB Editor 的操作因为 Allegro 的菜单栏里确实有一个专门的 DRC Browser 功能。但如果你现在只是在 OrCAD Capture 里画原理图那么你需要找的不是 DRC Browser而是“DRC 报告”和“Session Log”。这一点必须先理清否则你会在错误的软件界面里找半天。1.3 标题问题的快速答案回到标题的问题OrCAD 中怎么浏览 DRC 检测后的全部 DRC 错误快速答案是OrCAD Capture 运行完 DRC 后会把所有错误输出在 DRC 报告对话框中同时在 Session Log 窗口里显示摘要。你可以在 DRC 报告对话框中上下滚动、搜索、逐条双击错误OrCAD 会自动跳到原理图中对应的位置并高亮相关对象。你也可以把报告内容保存为 txt/log 文件用于二次分析和归档。这段操作后面会展开详细讲。如果你已经有一定基础可以直接跳到第 4 节看实战流程。2. 环境准备与版本说明2.1 常见版本与界面差异OrCAD 版本迭代较多国内工程中比较常见的有 16.6、17.2、17.4以及更新的 22.1 等。不同版本的界面细节有差异但 DRC 的核心逻辑和报告浏览方式基本一致。本文的操作示例以 OrCAD Capture CIS 为例。如果你使用的是其他版本菜单名称可能略有不同例如有些版本中 DRC 入口在Design菜单下有些版本会把它放在工具栏规则检查图标中。遇到界面不一致时不要慌优先查看你当前版本的菜单栏或帮助文档。如果你的电脑上同时安装了 Capture 和 Allegro启动时可能会让你选择产品。画原理图阶段选择OrCAD Capture CIS即可不要选成Allegro PCB Designer否则你打开的界面和本文描述不太一样。2.2 一个可用的演示工程为了更贴合实际操作本文假设你有一个简单的多页原理图工程结构大致如下MyProject.opj MyProject.dsn SCHEMATIC1 PAGE1 PAGE2 PAGE3在 Capture 的工程管理窗口中.opj是工程文件.dsn是原理图设计文件SCHEMATIC1表示原理图根目录PAGE1、PAGE2等就是每一页图纸。多页原理图比单页更容易暴露出 off-page connector、跨页网络、位号重复等问题也更能演示“为什么需要浏览全部 DRC 错误”而不是只看当前页面。3. DRC 检测前先做好三件事很多同学一上来就直接点 DRC结果报错几百条瞬间心态崩了。实际上很多错误并不是电路画错了而是“检查条件”没准备好。运行 DRC 之前建议先完成以下三件事。3.1 保存页面并整理位号OrCAD 中DRC 是基于当前原理图数据进行检测的。如果某个页面修改后没有保存或者元件位号还没有自动重新编号DRC 报告中的位置信息可能不准确甚至会出现你明明改好了但报告里还是老状态的情况。所以运行前先执行一次保存然后做一次 Annotate元件位号重新编排。在 OrCAD Capture 中入口通常是Tools - Annotate...Annotate 的作用是把原理图中新增元件的位号按规则重新编排避免出现 U1A、U1B 混乱或者不同页面之间位号交叉重复的情况。位号没有整理好后面的 BOM、网表和 Allegro 导入都可能出现连锁问题。3.2 确认元件封装和库路径DRC 报错中有一类很典型就是“封装缺失”。出现这种错误时先不要急着怀疑 OrCAD 的库安装有问题而应该检查元件的PCB Footprint属性是否为空。在 OrCAD Capture 中选中一个元件右键选择Edit Properties可以看到属性列表。对于要进入 PCB 流程的元件PCB Footprint必须填写对应 Allegro 封装名。如果你用的是公司内部封装库还需要确认Capture.ini或配置文件里的库路径引用了正确的.olb原理图符号库和.llbPCB 封装库目录。这一步不是 DRC 本身的规则但它决定了 DRC 报告里会不会出现大量无谓的物理属性错误。3.3 打开 DRC 规则设置确认检查项OrCAD Capture 的 DRC 对话框里通常会分成电气规则Electrical Rules和物理规则Physical Rules等页签。常见的电气规则包括Single Node检查网络中是否只有一个连接点No Input Pins检查网络是否缺少输入引脚No Output Pins检查网络是否缺少输出引脚No Driving Source检查网络是否缺少驱动源Off-Page Connector 类检查检查跨页连接符名称是否匹配Power Pin 类检查检查电源引脚的连接情况。物理规则里通常包括元件封装是否存在位号是否重复引脚编号是否合法。不同版本的选项名称不一样但逻辑接近。第一次跑 DRC 时建议把电气规则相关选项全部打开先看一次完整结果。等熟悉之后再根据项目类型适当关闭不关心的规则。有一点请记住不要图省事把所有 DRC 规则都关掉。那样虽然“没有报错”但原理图质量并没有保障。4. 完整实战运行 DRC、浏览全部错误、逐一定位4.1 运行一次 DRC首先在工程管理器中选中你的.dsn设计文件然后点击顶部菜单Design - Design Rules Check...弹出 DRC 设置对话框后可以先选择需要检查的规则页签然后设置报告输出目录。报告目录建议放到工程目录下一个固定的output或check文件夹中方便后续多人复核。点击运行按钮后OrCAD 会开始检测。检测过程通常只需要几秒到十几秒取决于原理图规模。运行结束后Capture 会自动打开一个报告窗口并在底部会话区域输出提示。一个典型的 DRC 结果输出类似下面这样这里仅作格式示意实际内容以你的工程为准Performing Design Rules Check... Design has 6 errors and 3 warnings. Error: Single Node Net: N00012 Location: SCHEMATIC1 : PAGE1 : C1-2 Error: No Driving Source on Net: 5V_A Location: SCHEMATIC1 : PAGE2 : R5-1 Warning: Off-Page Connector Name Mismatch Location: SCHEMATIC1 : PAGE1 : /CLK_A注意这里的文本只是帮助理解 DRC 报告长什么样。不同版本、不同规则项产生的描述格式会有差异但核心信息是一致的错误类型、错误位置、涉及对象。4.2 从 Session Log 看摘要从报告文件看全量OrCAD Capture 中有两个地方会记录 DRC 结果第一个是 Session Log会话日志通常在软件底部。它相当于一个“实时输出框”运行 DRC、生成网表、编译元件等操作的信息都会输出在这里。Session Log 适合快速看“总共有几个错误、几个警告”但它最大的问题是内容可能会被后续操作刷掉不方便逐个浏览。第二个是 DRC 报告对话框这是运行完成后弹出的窗口。它会列出当前检查产生的所有 Error 和 Warning并且以文本形式完整展示。所以如果你要“浏览全部 DRC 错误”最正确的操作是保留 DRC 报告窗口不要急着关。这个窗口相当于给你一份完整错误清单你可以像看日志一样滚动查看也可以按Ctrl F在报告里搜索关键字比如搜索Error、Warning、某网络名、某位号等。如果你不小心把报告窗口关了也不用太担心。Session Log 里往往还有摘要重新运行一次 DRC 也能再次生成报告。甚至在部分版本中你可以在工程输出文件夹里找到上一次的报告文件。4.3 在报告窗口中逐条跳转并定位浏览“全部错误”并不只是把文本读一遍最终还是要回到原理图里逐条修改。OrCAD Capture 提供了一个非常实用的联动功能在 DRC 报告窗口中双击某一条 Error原理图会自动打开对应页面并将视图定位到出错的元件或网络附近。完整操作顺序可以按下面这样循环执行打开 DRC 报告窗口从第一条 Error 开始看。双击错误条目等待原理图自动跳转到对应位置。在原理图中检查错误对象根据实际情况修改。修改完成后切换回 DRC 报告窗口继续双击下一条 Error。所有错误处理完毕后重新运行 DRC确认报告数量降为 0 或只剩下允许的 Warning。这个“逐条跳转”的流程比你在原理图里依靠肉眼找 DRC 标记要高效得多。有一个小技巧如果双击错误后原理图虽然跳转了但高亮对象不明显你可以观察原理图窗口左下角或状态栏的坐标变化。OrCAD 跳转通常会改变当前视图的中心位置。如果高亮颜色太淡可以先用 Esc 取消当前选择再点击一次该 Error 条目重新定位。4.4 把报告保存到本地用工具做二次分析当 DRC 错误数量很大时直接在报告窗口一条一条点也容易看漏。更稳妥的办法是把报告保存下来。在 DRC 报告窗口内通常有保存或导出的按钮。如果没有你也可以在报告内容区域使用全选复制把内容粘贴到新的文本文件或 Excel 中保存。建议保存为下面这种命名方式DRC_Report_20250825.txt文件名里带上日期方便追溯是哪一次检查的结果。保存后你可以用文本编辑器的搜索、替换功能也可以把纯文本报告按分列方式导入 Excel统计错误类型分布。不过要注意DRC 报告格式并不是固定表格Excel 分列时可能需要手动调整分隔符所以这一步更适合团队内部建立标准化报告模板的场景。4.5 一个小实战处理一条“Single Node”错误下面用一个最常见的错误演示完整的处理过程。假设 DRC 报告里有一条这样的错误Error: Single Node Net: N00012 Location: SCHEMATIC1 : PAGE1 : C1-2翻译过来就是网络N00012只有一个连接点这个连接点位于第一页原理图中 C1 的第 2 脚。这种网络通常是你在画原理图时从某个引脚拉了一小段线但没有继续连接其他引脚、网络标号或 off-page connector。整条网络只有一个端点对电路来说等于这个引脚悬空。处理方法有两种第一种确认该引脚确实应该悬空。如果 C1 的 2 脚是有特殊用途的空脚比如某些 IC 的 NC 引脚你可以在该引脚属性中放置NC符号或按照公司规范统一标注然后在 DRC 规则中对该类引脚不做 Single Node 检查。第二种确认该引脚需要连接但漏接了。此时要回到原理图把网络名补齐。假设 C1-2 应该连接到VCC那你就放置一个名为VCC的电源符号或者放置一个网络标签VCC然后重新运行 DRC错误就会消失。所以你看DRC 报告不只是“找错”它同时能帮你理解电路结构。每一条可读的错误信息都会告诉你哪里有问题、问题对象是什么。5. 高频 DRC 错误到底怎么处理为了让这篇教程更实用这一节把 OrCAD 原理图 DRC 中最常见的几类错误单独拿出来说明。5.1 单节点和悬空网络类刚才提到的 Single Node 只是这一类中的一种。类似错误还包括网络只有 pin 没有 wire、网络标签放到一半、总线绘制不完整等等。这一类错误几乎都是绘图阶段产生的遗漏处理思路很直接检查该网络应该连接到哪个信号把它补上如果确实不需要连接则显式处理为空脚不要让 OrCAD 误判。还有一种常见情况是你在画原理图时把电阻、电容的一头拉了一根线但线没有端点看起来像连着实际上只是悬空线头。这类问题 DRC 不一定能完整检测出来最好在检查完 DRC 后利用 OrCAD 的“删除悬空导线头”类功能或视觉审查再排查一遍。5.2 未连接电源和驱动源类IC 的输入引脚如果没有连接任何驱动源或者一个电源网络只连接了电容却没有连接电源输出DRC 会提示No Driving Source或类似错误。这类错误的隐蔽性更高因为表面上看原理图是正常的元件也都放好了但实际网络并没有接对。处理方法是顺着报告提示的 Location 找到出错引脚检查它的连接对象。如果是电源输入引脚确认电源符号名称是否正确如果是信号输入引脚确认前级驱动芯片和网络名称是否匹配。需要注意的是有些运放、比较器的输入悬空检查会触发 Warning 而不是 Error。Warning 不一定需要修改但最好明确原因。5.3 Off-Page Connector 与 Page Number 类多页原理图经常用到 off-page connector跨页连接符。OrCAD 要求在不同页之间传递同一个网络时必须使用相同名称的 off-page connector。例如第 1 页放置了一个名为CLK_A的 off-page connector第 2 页如果也想连接这条网络就必须放置同样名为CLK_A的 off-page connector而不能随便放置一个看起来差不多的短横线或者名字不同的 connector。DRC 检查出这类错误时报告往往会提示某个 off-page connector 没有匹配对象。解决方法是统一名称或者统一基于网络标号来连接。很多工程师习惯在 off-page connector 后面手动写页码比如CLK_A - PAGE2让读图的人知道这个信号要去哪一页。这种做法有利于人工审查但要注意手动写的页码只是注释文字并不会真正改变 DRC 的连接关系。真正决定网络是否连接成功的是 connector 名称。如果你画的原理图有几十页建议在项目规则里统一 off-page connector 的命名规范和标注规范条件允许的话也可以在图纸标题栏中统一给每一页加 page number方便定位。5.4 封装 Missing 类当 DRC 报告中出现“封装缺失”或PCB Footprint Missing类错误时最直接的原因是元件的PCB Footprint属性为空或者填了一个库中不存在的名字。处理步骤通常为选中报错的元件右键打开属性编辑查看PCB Footprint字段对照公司封装库重新填写标准封装名检查是否有多个同类元件都填写错误可以使用批量编辑功能一次修正。这类错误在导出网表和导入 Allegro 时会变成真正的致命问题。不要等 DRC 报了再临时去填封装建议在放置元件后就顺手把封装属性填好。6. 常见问题与排查思路结合大家平时遇到的问题这里整理一个高频问题表格。问题现象常见原因解决思路DRC 报告窗口被关闭了操作时不小心关闭Session Log 中查看摘要重新运行 DRC 生成完整报告双击报告中的错误原理图没有跳转报告窗口未激活或版本不支持自动定位先单击该错误行再检查状态栏坐标变化必要时使用手动定位提醒错误几百条不知道从哪里开始没有把 Error 和 Warning 分开看先只处理 Error再处理 Warning按网络名或页面分组逐个击破DRC 跑完没有错误但导出网表仍然报错原理图 DRC 和网表检查规则不完全一样运行 DRC 后一定要执行Create Netlist看生成日志封装缺失错误太多元件库或封装属性配置不正确统一补齐 PCB Footprint 属性检查库路径同一网络明明画了线仍然提示 Single Node网络标签或连线没有真正连接上放大视图检查引脚端点必要时删除线段重新连接6.1 双击报告没有跳转怎么办如果你遇到了双击错误行没有反应的情况先不要断言是 OrCAD 出了问题可以按以下顺序排查。第一确认你双击的是 Error 行而不是标题行。很多版本的 DRC 报告窗口中错误文本是一行一行的只有点中具体条目的文本区域才会触发跳转。第二尝试先单击该条目让错误行处于选中状态再观察原理图窗口。有些版本需要先在原理图窗口点击一下让原理图获得焦点然后回到报告窗口双击。第三如果还是不行可以查看错误行中的 Location 信息它通常会写出原理图页号和坐标。手动打开对应页使用菜单中的查找或跳转功能输入网络名、位号或者直接根据坐标移动视野。6.2 如果是在 Allegro PCB Editor 里DRC Browser前面提到如果你后续进入了 Allegro 做 PCB浏览 PCB DRC 的方式和原理图阶段不同。Allegro PCB Editor 提供了专门的 DRC Browser可以按类型、网络、区域筛选所有未清除的 DRC 标记。在 Allegro 中常见的入口是Display - DRC Browser打开后PCB 版图上的每个 DRC 违规都会以列表形式呈现你可以点击某一条版图会跳转到对应位置。这种“列表 跳转”的逻辑其实和 OrCAD Capture 中的“报告窗口 双击跳转”是一致的。注意PCB 阶段的 DRC 主要检查间距、线宽、孔到孔距离、连接性等物理规则。很多原理图阶段不会报的问题到 PCB 阶段才会出现。不要因为原理图 DRC 干净就跳过 Allegro 的 DRC。6.3 原理图 DRC 和 PCB DRC 不一致怎么办这是一个很现实的困惑。原理图 DRC 通过说明原理图的连接性、电气规则没有明显问题。但 Allegro 导入网表后可能仍然会因为封装缺失、引脚编号不一致、焊盘不存在等原因报错。这两种 DRC 的目标不同所以结果不一致是正常的。建议的处理策略是先解决原理图 DRC再生成网表网表生成成功后进入 Allegro最后在 Allegro 里做 PCB DRC。每一层检查只解决当前层能发现的问题不要指望一道 DRC 解决所有问题。7. 最佳实践与工程建议7.1 把 DRC 检查集成到日常工作中不要只在原理图全部画完、马上要发板之前才做一次 DRC。合理的做法是每完成一个功能模块的绘制就单独跑一次 DRC尽量让错误保持在小范围内。例如你画完电源模块可以先跑一次 DRC确认所有的电源网络都有驱动源画完 MCU 部分后再跑一次重点看是否有未连接引脚和网络命名冲突。这样到了项目后期整体 DRC 的 Error 数量往往只有个位数处理压力小很多。7.2 养成 Annotate 后保存再跑 DRC 的习惯为了减少位号重复、报告定位不准等问题建议把下面这个顺序变成肌肉记忆保存所有页面Annotate 重新编排位号再次保存运行 DRC阅读报告并逐条修改。这样做还有一个好处DRC 报告中的 Location 信息会和当前原理图完全对应。否则你刚增加了一个元件但没有 AnnotateDRC 里给的位置可能还是旧位号排查起来会非常吃力。7.3 按严重级别分类处理错误DRC 报告里 Error 和 Warning 的优先级一定是不一样的。Error 通常代表确定的连接性问题、规则违规可能影响网表生成或电路功能Warning 则更多是提醒比如某个网络风格不太规范、某个元件引脚属性特殊等。实际项目中建议这样处理Error 必须逐条清零不能带着 Error 进入网表环节。Warning 要读一遍理解为什么会出现如果是设计意图可以在报告里备注说明如果确实不符合规范则顺手改掉。这里有一个常见的反面例子有人为了 DRC 报告“好看”把所有 Single Node 规则关掉结果漏查了一个真正悬空的配置引脚量产时才发现芯片工作异常。关闭任何 DRC 检查项之前都要想清楚后果。7.4 报告留档并和评审结合很多公司有原理图评审制度但评审时只看图不看 DRC 报告这会漏掉很多问题。推荐的做法是把每次 DRC 报告保存成文本文件和原理图版本一起提交到 SVN、Git 或服务器目录。评审时除了看原理图本身还可以打开 DRC 报告重点关注 Warning 中那些“设计意图不明确”的项。这样既能让新人快速成长也能让专家把精力放在真正的电路设计风险上而不是浪费在查找低级错误上。7.5 属性和命名规范决定后期效率DRC 浏览其实不只是一个“事后检查”动作它和前期的设计规范强相关。如果原理图里的网络名、位号、off-page connector 命名都遵循统一规则DRC 报错会少很多即使有报错也能一眼看出问题。建议在团队内部规定几种常见命名后缀比如模拟电源用AVCC、数字电源用VCC、地网络统一用GND跨页信号统一加页码注释。这样 OrCAD 的 DRC 报告会变成一份非常清晰的“问题地图”而不是一堆毫无规律的红字。8. 总结与下一步学习建议如果把 DRC 浏览这件事压缩成一句话那就是运行 DRC 后不要只看窗口弹出来的几行摘要要打开完整报告利用“双击跳转”逐条处理并在修改后重新运行直到错误数量归零。看 DRC 错误不是目的让原理图真正满足设计规则才是目的。下一步可以做三件事来巩固第一打开一个旧工程或练习工程运行一次完整 DRC把每一条 Error 的 Location 和提示信息都读懂尝试判断它是哪一类问题。第二练习 Annotate、保存、DRC、Create Netlist 的完整链路理解原理图阶段的 DRC 和导出网表阶段的检查之间的差异。第三在 Allegro 中完成一次 PCB DRC 浏览熟悉 DRC Browser 的过滤和定位操作。如果你将来会从原理图走到 PCB 阶段这两套 DRC 浏览方法迟早都要掌握。DRC 报告本身并不可怕可怕的是永远看不懂它。希望这篇文章能帮你把这条链路走通。用几分钟把界面点熟比在网上收藏几十篇“避坑指南”更有用。
返回列表