跑完 OrCAD 的 DRC 检查后,Session Log 里密密麻麻列了一堆警告和错误,双击却又没反应,想逐条定位到原理图里的具体位置却不知道从哪里下手。这是很多刚开始用 Cadence OrCAD Capture 做原理图设计的工程师经常卡住的一步。本文将围绕“OrCAD 中怎么浏览 DRC 检测后的全部 DRC 错误”这个问题,完整梳理 DRC 错误浏览的几种主流方法、错误列表与原理图对象之间的联动定位技巧、错误过滤与批量处理思路,并给出从运行检查到逐条确认关闭的完整实操流程。不管你是刚接触 Capture 的新手,还是已经在用 Cadence Allegro 做 PCB Layout 的硬件工程师,都可以把这篇文章当作一份速查笔记。
1. 先理解 DRC 与 DRC 错误浏览这件事
新手最容易犯的一个误区是:认为 DRC 检测只要“跑完没有报错”就等于设计没问题,或者认为“报了一堆 Warning 就当没看见”。实际上,对于 OrCAD Capture 这类 EDA 工具来说,DRC 检查只是前半程,检查完之后的错误浏览、分类、定位和修改才是真正影响设计质量的部分。
1.1 DRC 是什么,解决什么问题
DRC 的全称是 Design Rules Check,即设计规则检查。在原理图设计阶段,OrCAD Capture 会按照用户设定的电气规则和物理规则,对整张原理图进行检查,找出以下几类潜在问题:
- 单端网络:某个网络只有一个引脚连接,比如悬空的 INPUT 引脚。
- 输出引脚互连:两个输出型引脚直接连在一起,可能存在驱动冲突。
- 电源短路风险:电源符号连接不当,或者不同电源网络被错误短接。
- 未连接的引脚:器件引脚悬空,但该引脚并不允许悬空。
- 重复的位号:同一位号在原理图中被多次使用,后续导网表时会出问题。
- 封装缺失或封装与元件不匹配:原理图符号对应的 PCB Footprint 缺失,这个错误会在生成网表或导入 Allegro 时暴雷。
对于使用 Cadence Allegro 做 PCB 的团队来说,OrCAD Capture 的 DRC 是整个设计流程的“第一道关卡”。原理图阶段把电气连接问题解决得越彻底,后面导网表、画 PCB 时的返工就越少。
1.2 为什么要单独学会“浏览全部 DRC 错误”
很多人以为 DRC 做完,工具会直接弹出一个“错误清单”,但这只是理想情况。实际使用中,OrCAD Capture 的 DRC 结果可能存在这几个状态:
- 错误出现在 Session Log 文本窗口里,而不是图形化列表中;
- 错误列表打开了,但双击后视图没有自动跳到对应图元;
- DRC Marker 在原理图页面上显示,但因为缩放比例或显示层设置问题根本看不到;
- 默认设置只显示了 Error,Warning 被隐藏,导致部分隐患被忽略。
如果不会正确使用 OrCAD 的 DRC 错误浏览功能,就会陷入“知道有错、找不到错、改不了错”的尴尬局面。反过来,只要掌握了浏览、定位、过滤这三板斧,无论 DRC 报几十条还是几百条错误,都能在几分钟内完成分类和初步处理。
1.3 入口差异与版本提醒
OrCAD Capture 的版本很多,从经典的 16.6、17.2、17.4,到目前常用的 Cadence OrCAD 22.1 等不同版本,界面语言和菜单位置会有细微差别。但总体的 DRC 逻辑是统一的:
菜单入口: Tools -> Design Rules Check运行完 DRC 后,错误浏览入口通常在 DRC 对话框、Session Log 或视图菜单中可以找到。本文后面的操作步骤以常见版本的通用路径为例,具体按钮名称在你的版本中可能略有不同,但思路完全一致。如果你用的版本界面差异较大,优先在菜单栏中搜索 “DRC” 关键字,这是最稳妥的做法。
2. 跑完 DRC 后,错误信息都在哪里
要回答“怎么浏览全部 DRC 错误”,第一步是弄清楚 DRC 跑完后工具把结果放在哪里。OrCAD Capture 不像某些工具那样只有一个错误窗口,它会同时通过多种形式反馈检查结果。
2.1 运行 DRC 后的会话日志(Session Log)
最容易忽视的是 OrCAD Capture 主窗口下方的 Session Log。在执行 DRC 检查时,这里会实时打印出检查过程、错误和警告摘要。
例如一段典型的日志可能长这样:
Checking Schematic: DEMO Performing Electrical Rules Check... Error: Net has only one pin: N00379 Warning: Unconnected pin: U2.5 Checking Physical Rules Check... Error: Missing PCB Footprint: U3在这种输出里,每条错误都包含了错误类型、错误描述、关联对象。但 Session Log 是纯文本形式,无法按网络、按页、按规则代码排序,也没有“双击跳转”能力。所以 Session Log 适合看汇总,不适合做逐条清理。
2.2 错误列表与 DRC Marker 两种呈现形式
OrCAD Capture 的 DRC 结果,最终会以两种形态呈现:
| 呈现形态 | 作用 | 特点 |
|---|---|---|
| DRC 错误对话框 / DRC Browser | 以列表形式列出所有错误和警告 | 可排序、可筛选、可双击跳转 |
| DRC Marker | 在原理图页面中标注错误位置的图形符号 | 可视化,直接显示在出错对象附近 |
DRC Marker 通常是一个带颜色的圆形或旗帜符号,悬停在上面时会显示错误摘要。它更直观,但在复杂原理图中容易被遮挡,所以仍然需要配合列表来浏览。
2.3 错误浏览面板打开方式
在大多数 OrCAD Capture 版本中,运行完 DRC 后会在结果界面看到按钮,例如:
View -> DRC Browser 或 Tools -> Design Rules Check -> 在弹出的 DRC 结果中点击 Browse / 浏览器如果 DRC 结果对话框被关闭了,也可以通过菜单中的 View 或 Window 相关入口重新打开错误浏览器。不同版本入口差异较大,核心是找到能列出每条错误详情的表格面板。
3. 浏览全部 DRC 错误的核心方法
当 DRC 错误浏览器打开后,接下来要解决的就是“怎么浏览全部错误”的问题。这里说的“全部”,不只是把错误翻一遍,而是要做到能按条件查看、能跳转定位、能区分严重级别。
3.1 全局错误浏览窗口的基本用法
DRC 错误浏览窗口,本质上是一个表格形式的错误管理器。每一行代表一条 DRC 消息,通常包含以下几列:
序号 | 严重级别(Error/Warning) | 规则代码 | 描述 | 原理图页码 | X坐标 | Y坐标在这个窗口中,你可以做的最基本操作有三个:
- 点击列标题排序:例如按“严重级别”排序,把 Error 集中到顶部处理。
- 点击行选中错误:选中后,原理图编辑区通常会自动把视图移动到错误对应的图元位置。
- 双击行打开详细信息:部分版本会弹出错误详情,展示涉及的引脚、网络名称等。
如果你只是快速查看有没有 Error,建议先按严重级别排序,再逐条浏览 Error 类型即可,不需要一开始就陷入大量 Warning 的细节。
3.2 从错误列表跳转原理图中的具体位置
“浏览错误”如果不能和“原理图定位”配合,效率会非常低。大多数版本支持以下联动方式:
在 DRC Browser 中单击/双击某一条错误 原理图编辑器自动将视图中心移动到错误图元附近如果你点了错误行但视图没有跳转,可以尝试手动在菜单栏找 “Link Selection” 或 “Synchronize with Schematic” 之类的联动开关。部分版本还需要先在原理图编辑区执行一次缩放命令,视图才会刷新到目标位置。
跳转之后,再用放大命令把 DRC Marker 区域放大,确认到底是哪根线、哪个引脚、哪个元件出了问题。
3.3 按页、按网络、按规则代码分组浏览
当 DRC 错误数量较多时,一条条点选并不现实。更高效的方式是利用错误浏览器的分组能力:
- 按原理图页码分组:快速评估每一页的错误密度,优先处理错误最多的页。
- 按规则代码分组:例如 Open Pin、Single Node、Output Interlock 等,同类错误通常有相同的修改手法。
- 按网络名分组:如果同一网络引发多条错误,说明问题很可能集中在该网络的连接关系上。
每次处理完一组同类错误后,重新运行 DRC 查看错误数量变化,避免反复抖动式修改。
4. 控制错误显示,只关注你关心的内容
真正的工程实践中,DRC 结果里往往混合了“必须修复的真错误”和“规则配置造成的伪警告”。如果不做任何过滤,浏览全部错误时很容易视觉疲劳。
4.1 区分 Error 与 Warning
OrCAD DRC 会把问题区分为两种严重级别:
- Error:表示存在确定的连接错误或规则违例,例如两个输出引脚直连、单端网络、缺少封装等。原则上必须处理后才能继续设计。
- Warning:表示存在潜在风险或设计不规范,例如悬空引脚、未使用的元件属性等。
浏览全部错误的第一步,是先统计两类问题各有多少条,再决定处理顺序。建议先处理 Error,因为 Error 往往会导致后面的网表导出失败。
4.2 使用过滤器缩小范围
OrCAD 的错误浏览器支持按类型过滤,常见的过滤方式有:
只显示 Error 只显示 Warning 按 DRC 规则代码过滤 按原理图页号过滤建议在工作时这样组合:
- 先不过滤,浏览一遍全局,了解错误总数和分布;
- 开启“只显示 Error”,把硬性错误全部清零;
- 再关掉过滤器,逐条评估 Warning 是否有实际影响。
4.3 处理“误报”而不是盲目忽略
有些 DRC 报警并不代表真实设计错误。例如:
- 连接器上特意悬空的 NC 引脚报 Unconnected Pin。
- 测试点网络只有一个连接,报 Single Node,但这是功能设计的一部分。
- 元件原本就设计了无封装符号,只在原理图阶段做功能示意。
对于这类问题,正确的做法不是忽略所有 Warning,而是确认该条错误确实不影响电气连接,再通过合理方式让后续检查不再误报。好一点的工程习惯是:能通过规则排除的,就修改规则约束;不能排除的,要在设计说明文档或评审记录中标注原因,避免其他人看到残留 DRC 错误时无法判断。
5. 实战:完成一次 DRC 并逐条定位全部错误的完整流程
下面用一个最小化的流程,把“运行 DRC -> 浏览全部错误 -> 定位图元 -> 修复验证”完整走一遍。这个流程适合任何基于 OrCAD Capture 的原理图工程。
5.1 第 1 步:准备一个可检查的简单工程并通过关联进入 DRC
在开始前,确保已经打开一个完整的 OrCAD Capture 工程,并且工程中至少存在一张原理图页面。所谓“通过关联进入 DRC”,指的是你的 DRC 对象范围要选对:
在设计文件管理器(Project Manager)中, 选中要检查的 .dsn 文件,而不是单独选中某个页面符号。 这样 DRC 会覆盖整份原理图的所有分页, 而不是只检查当前打开的页面。如果之后还要把网表导入 Cadence Allegro,建议在 DRC 前核对好原理图符号与 Allegro 封装库之间的关联关系,否则后面会报封装相关错误。
5.2 第 2 步:运行 Design Rules Check 并勾选需要检查的项目
在菜单中执行:
Tools -> Design Rules Check在弹出的 Design Rules Check 对话框中,建议把以下检查项打开:
- 电气规则检查(Electrical Rules):包括单端网络、无连接引脚、输出引脚互连等。
- 物理规则检查(Physical Rules):包括元件封装缺失、位号重复等。
如果软件支持“创建 DRC Marker”的选项,建议勾选,这样出错位置在原理图中会被可视化标记出来。
执行后,DRC 会运行一段时间。运行结束后,工具会给出错误和警告的数量汇总。
5.3 第 3 步:打开 DRC Browser 浏览全部结果
DRC 结束后,在结果界面点击打开浏览器的按钮。如果此时已经关闭了结果窗口,可以在 View 或 Tools 菜单中重新打开 DRC Browser。
打开后,先看浏览器的标题栏和状态栏,确认当前显示的是“全部结果”而不是过滤后的子集。常见做法是:
查看列表底部或顶部是否有 Total: xx Error, xx Warning 的统计信息。 如果没有,按列标题查看严重级别列,确认所有错误都在列表中。5.4 第 4 步:双击错误反向定位图元
这是“浏览全部 DRC 错误”最核心的一步。
在 DRC Browser 中逐条查看:
单击/双击错误行字段 原理图自动打开对应页并将视图切到错误图元位置如果双击没跳转,检查是否选择了正确的原理图页,并确保错误行没有处于灰色状态。
跳到对应位置后,通常能看到三种情况:
- 图元旁边有 DRC Marker 符号;
- 相关引脚/网络处于高亮状态;
- 如果没有明显标记,用放大命令检查接通点附近的连接关系。
例如一条 “Net has only one pin: SDA”,跳转后你应该能看到 SDA 网络只连接到一个引脚,然后去原理图其他页面搜索 SDA 网络是否漏连了线。
5.5 第 5 步:修改原理图并重新运行 DRC
每修改完一条或一类错误后,建议立刻重新运行 DRC,而不是等到把所有错误改完再运行。这样能尽早发现问题是否真的解决,也能避免新改动引入其它问题。
重跑 DRC 的操作和上面完全一致。检查结果时,重点关注错误数量变化。理想状态是错误数量递减、最终清零。
5.6 第 6 步:确认全部错误清零
在项目正式归档或生成网表之前,打开 DRC Browser,确认列表显示:
0 Error,0 Warning如果还有 Warning 残留,逐条确认是否需要在规则中排除,并在团队设计评审时说明。全部清零后再导出网表,进入 Cadence Allegro 的后续 Layout 流程,能避免大量 PCB 阶段才暴露的连通性隐患。
6. 常见问题与排查思路
下面列几个浏览 DRC 错误时比较高频的问题及处理方法。
| 问题现象 | 常见原因 | 解决思路 |
|---|---|---|
| 跑完 DRC 后没有弹出错误窗口 | DRC 结果默认输出到 Session Log,或软件版本入口不同 | 从 View/Window 菜单寻找 DRC Browser,或直接查看 Session Log 文本 |
| DRC Browser 打开后是空的,但 DRC 汇总有报错 | 过滤条件把结果全部隐藏了,或检查对象只选了某一页 | 重置过滤器,选择全部结果;重新确认 DRC 作用范围是 .dsn |
| 双击错误行无法跳转到原理图 | 错误对应的页面未打开,或视图未刷新 | 手动打开对应原理图页,再双击;检查视图-联动开关 |
| 原理图中看不到 DRC Marker | Marker 显示层被关闭,或图形太小被缩放掉 | 检查图层显示设置,执行 Zoom All 后再放大到错误位置 |
| 错误列表量太大,不知道从哪条看起 | 没有做严重级别和规则分类 | 先排序,再按 Error 优先、按规则代码分组处理 |
| 修改后同一错误仍然报 | 修改没有真正改变电气连接,或改了但 DRC 检查范围仍是旧缓存 | 保存文件后重新运行 DRC,查看错误坐标是否变化 |
| Warning 如何确认是否忽略 | 部分悬空、NC、测试点是设计意图 | 逐个确认无误后,在规则配置中排除或留档说明 |
7. 最佳实践与工程建议
“浏览 DRC 错误”这项技能看起来简单,但它背后反映的其实是工程师管理设计质量的方法。以下几点建议可以帮助你在实际项目中少走弯路。
7.1 不要“只清错不改根因”
很多初学者在 DRC 报错后,会通过删除网络标号、断开连线等“副作用式”操作把错误消除,但实际上并没有解决真正的连接错误。正确方式是,通过 DRC Browser 的反向定位功能,仔细检查错误图元的连接关系,找到根因再修改。
7.2 规则配置先行
一个常见现象是:明明设计没问题,DRC 报了满屏错误。这通常是因为项目没有正确配置规则表。比如不同电源网络的命名规则、NC 引脚的检查规则、晶振两端并联电阻的检查规则等。进入 DRC 设置前,先按项目要求确认规则集,这就回到了合理的起点。
7.3 建立“每页自检 + 整图复核”的习惯
大型原理图通常有几十页,靠一次 DRC 就清完所有错误并不现实。推荐的做法是:
- 每完成一页原理图,先对该页执行 DRC,有问题当场处理;
- 所有页面完成后,对整个 .dsn 做一次全图 DRC,重点查看跨页连接类错误;
- 每次修改完关键模块(CPU 供电、时钟、复位等),立刻重跑 DRC 做回归检查。
这样能让人在项目后期检查阶段更加从容,而不至于到评审前才被大量错误淹没。
7.4 多人协作时强调错误类型与归属
如果设计团队使用分页协作方式,每个人负责不同分页,DRC 结果中往往会包含大量别人负责的错误。建议在错误浏览器中先按分页排序,把属于自己当前页的错误清理干净,然后在整个项目层面再统一处理跨页问题。同时,不要把自己不确定“是否需要修改”的错误留给下游 Layout 工程师猜测,最好在错误旁注释或在文档中记录原因。
7.5 与封装库一致性检查配合使用
在 OrCAD 原理图设计完成、准备进入 Allegro 布局布线阶段时,DRC 只解决了部分电气规则问题,封装信息是否正确同样关键。如果 DRC 中出现了 “Missing Footprint” 或封装相关错误,光在错误浏览器里修改原理图符号属性是不够的,还需要确认封装库路径、封装名称和元件关联关系是否一致。
8. 总结
OrCAD 中浏览全部 DRC 错误的入口并不难找,真正考验功夫的是从“看到错误”到“定位错误”再到“确认错误根因”这条完整链路。本文从 DRC 的基本概念讲起,介绍了 Session Log、DRC Browser、DRC Marker 三种不同错误呈现方式,并重点解释了如何通过错误浏览面板完成排序、过滤、双击定位和逐页浏览。配合最后的实战流程和常见问题表,你应该已经能够独立完成一次全图 DRC 后的错误排查。
最后提一个最实用的工作习惯:每次 DRC 结果清零后,可以把错误数量和类型截图或导出留档,作为当前版本质量的参考记录。一旦后续修改中重新出现同一类错误,就能快速定位是不是哪次修改把原本正确的内容改出了问题。希望对正在使用或将要使用 Cadence OrCAD Capture 的朋友有所帮助,你可以先把这篇文章收藏备用,等到真正跑 DRC 报错时再对照操作。