使用约束编辑器管理设计规则
概览
- 如何判断项目使用的是约束编辑器还是约束管理器,以及如何在可用的规则管理视图之间切换。
- 约束编辑器如何按设计对象和高级规则组织规则,以及规则优先级和规则转换的工作方式。
- 有哪些实用功能可用于创建、编辑、验证、保存、导入、导出和复用设计规则。
Constraints Editor 是一种基于文档的用户界面,提供了另一种查看、创建和管理 PCB 布局设计约束规则的方式。该编辑器分为六个可选的规则分区,优先级依次递增,分别为 Nets、Diff Pairs、xSignals、Polygons、Components, 和 Advanced。在这种布局中,前五个分区(Nets 至 Components)以设计对象视图呈现规则,而 Advanced 视图分区则用于更复杂的规则(通常使用查询),这些规则无法表示为较简单的面向设计对象的规则。

Constraints Editor——另一种管理设计规则的方式。
单击 PCB Rules and Constraints Editor 对话框中的 Switch to Document View 按钮,即可访问 Constraints Editor。

从 PCB Rules and Constraints Editor 对话框切换到 Constraints Editor 视图。
使用此编辑器的部分优势包括:
-
采用基于文档的呈现界面而非对话框,使 PCB 编辑器及其相关功能保持活动状态并可随时访问。
-
从基于查询的规则作用范围转为按所应用的对象类型进行匹配,简化了约束规则的创建。
-
根据设计对象的自然层级自动确定规则优先级。
-
通过交互式规则验证检查,检测常见的语法、分配和作用范围错误。
约束规则类型
在 Constraints Editor 中,匹配作用范围包含较复杂查询表达式的现有规则被视为 Advanced Rules(或自定义规则),而较简单的规则则重新表示为对象类型的 Basic Rules,即基于所检查设计对象类型的规则。
大多数高级(基于查询的)格式规则都可以转换为较简单的基本规则,方法是将规则拖放到 Basic Rules 列表中,或从高级规则的右键菜单中选择 Move Custom Rule to Basic 选项(也可以使用主菜单中的 Tools » Convert » Migrate Advanced Rules to Basic 命令)。启动该命令后,将显示 Migration of Advanced Rules to Basic 对话框,提供可迁移的基本规则数量信息,然后请您确认迁移。转换时,高级规则基于查询的作用范围将被解析为基本规则的对象类型限定条件。
规则优先级
通常,规则的优先级由系统自动处理。界面中的规则视图按钮排列体现了这一点:按钮从左到右按规则优先级排列,其中 Nets 的优先级最低。
- 高级规则(或自定义创建的规则)的优先级高于基本对象规则序列,并且可以在高级视图中通过上下拖动条目来手动调整其顺序。
- 相比之下,基本规则由系统根据设计对象类型自动确定优先级,具体如文档界面中的对象分区(Nets 至 Components)所示。
- 在每个(基本)对象规则分区中,优先级从低到高依次为 All(最低)、对象类、对象(最高)。由此可知,作用范围为 All 且已转换为基本规则的规则,其优先级最低。
- 要为基本规则设置明确的优先级,请右键单击该规则,选择 Move Basic Rule to Advanced 选项(或使用主菜单中的 Tools » Convert » Migrate Basic Rules to Advanced 命令)。启动该命令后,将显示 Migration of Basic Rules to Advanced 对话框,提供可迁移的基本规则数量信息,然后请您确认迁移。在高级视图中手动设置其优先级位置。此操作适用于作用范围不是 All 的规则。例如,在网络视图中,指定了 Net Class 或 Net 作用范围的规则可以转换(移动)为高级规则。
新建自定义约束规则
在编辑器默认的 Advanced 模式(通过
按钮指示和选择)下创建新规则,与在 PCB Rules and Constraints Editor 对话框中构建规则类似。从右键快捷菜单中选择 Add Custom Rule(或使用
按钮或主菜单中的 Edit » Add Constraint 命令),根据需要添加基于查询的匹配作用范围(
),然后在列网格或下方的图形表示中输入约束参数。
为简化重复创建高级/自定义类型规则的过程,Constraints Editor 允许您将基于查询的对象匹配作用范围存储在 Scopes Library 对话框中(访问方式:单击 Object Match 列中的
,然后选择 Export to Library;或单击 Properties 面板的 Advanced constraints options 模式下 Scopes Library 区域中的 Edit Library 按钮)。该库显示在 Properties 面板中,您可以在此导入、管理和导出自定义作用范围,以便在其他自定义约束规则中重复使用。如果规则使用了库中的作用范围,其 Object Match 列条目中会显示相应图标。
设计对象约束模式
要采用更简单的面向设计对象的方式创建约束规则,请选择规则网格顶部相应的对象模式按钮,从默认的高级模式切换到其他模式。从概念上讲,这些模式提供了一个更集成的规则界面,侧重于约束(限制)设计对象的应用方式,而不是创建可能被违反的设计规则。设计对象按钮的排列顺序对应于对象复杂度(以及规则优先级)的递增顺序,从基本的 Nets(及其类),到统一的 Components,再到 Advanced 模式。
在 Advanced 模式(
)下,规则按类型分组,如下图所示的基本 Via 和 Width 约束规则。通过添加更多规则和/或包含查询语言元素,可以进一步细化规则。

在 Constraints Editor 的 Advanced 模式下,规则按类型分组。
相比之下,面向对象的视图(从 Nets 到 Components)按设计对象(例如 Nets)或类(例如 Net Class)组织规则,因此能够直观地展示规则如何应用于设计。要查看适用于某一对象类型的规则概览,请在左侧列中选择一个对象或类,以查看所有关联规则;也可以选择 All,查看与该对象类型关联的所有规则。以下示例展示了与 Nets(
)关联的规则概览。

在 Constraints Editor 的面向对象视图中,规则按设计对象分组。
采用面向设计对象的方式时,例如选择下图所示的 Nets 对象类型后,基本的过孔和宽度规则会整合为一个复合条目。此网格布局还支持按(网络)对象和类添加更多约束。
在此示例中,要添加更具体的约束,只需选择 Net 或 Net Class,然后在所需约束规则类型对应的网格单元格中输入合适的值。如下图所示,允许 Power 网络(由其所属类定义)使用更大的过孔尺寸,并为 5V 电源网络设置更大的最大走线宽度。实际上,一个简单的网格视图涵盖了四条规则,即 5V 网络的宽度约束、所有其他网络的宽度约束、电源网络的过孔尺寸约束,以及所有其他网络类的过孔尺寸约束。
使用
按钮可添加当前选定约束规则的变体,例如下图所示,新增的 5V 网络规则为 Bottom 层设置了首选宽度。
请注意,网格条目中可用的规则类型取决于可用列,而这些列又由 Properties 面板的 Rule Visibility 列表中启用的项目决定。例如,在 Rule Visibility 列表中启用 Clearance 条目后,便会为网络对象类型添加 Clearance 列,如下图所示。此后,只需输入网络或类作用域以及合适的距离参数,即可添加适用的间距规则。
规则验证
在 Properties 面板的 Rules/Constraints Checks 区域中,单击
按钮,即可检查所有已启用规则的有效性。此操作会检测规则中可能存在的错误,例如重复规则、作用域相同但值不同的规则、类成员(如网络)重叠的规则,以及作用域无法解析的规则。每种违规类型的条目都可以展开,以显示违反该项检查的规则;选择其中某条规则后,将打开对应的规则条目。

检查 Constraints Editor 中当前定义的规则的有效性。
要运行规则验证,也可以使用主菜单中的 Tools » Run Rules Validation Check 命令
规则违规
已启用的设计约束规则可通过多种机制应用于当前电路板设计,例如实时在线设计规则检查、批量设计规则检查器,或从PCB 规则与违规面板中选择性运行检查。当超出这些约束规则所指定的限值及适用范围时,违规情况会通过电路板图形、面板条目和报告,以及 Constraints Editor 中的警告图标来指示。此外,由于 Constraints Editor 采用设计文档格式(而非对话框格式),您还可以在其保持打开的情况下检查、分析并纠正违规。

Constraints Editor 提供有关违规规则的反馈。
属性面板
当 Constraints Editor 处于活动状态时,Properties 面板会显示 Document Options 模式(在编辑器的 Advanced 模式下则显示 Advanced constraints options 模式)。
以下可折叠部分介绍了可用的选项和控件:
操作
- Switch to Dialog View – 启动该命令后,视图模式将从 Document View 切换为 Dialog View,并打开 PCB Rules and Constraints Editor 对话框。
常规
- Show Default Values(仅在 Document Options 模式下可用)– 启用后,编辑器网格区域中的所有条目都将以浅色文本显示适用的默认值。
- Units – 用于根据需要选择计量单位。也可以使用 Tools » Measurement Units 菜单选择计量单位。
交叉探测视图设置
- Select – 启用后,将在设计空间中选中筛选出的对象。
- Zoom – 启用后(默认),将缩放设计空间中的视图,并尽可能使筛选出的对象居中显示。使用 Zoom Level 按钮可调整用于放大显示筛选对象的缩放系数。
-
Normal/Mask/Dim 下拉菜单 – 提供用于在设计空间中直观区分筛选对象和未筛选对象的选项。
- Normal – 筛选出的对象在设计空间中可见,未筛选对象的外观保持不变。
- Mask – 筛选出的对象在设计空间中高亮显示,所有其他对象均以单色显示。
- Dim – 筛选出的对象在设计空间中高亮显示,所有其他对象保留其颜色,但以暗淡效果显示。
规则可见性
Properties 面板的此区域仅在其 Document Options 模式下可用。
- Grid – 用于配置编辑器网格区域中可用的规则类型。
适用范围库
Properties 面板的此区域仅在其 Advanced constraints options 模式下可用。
- Scope – 列出所有已定义的适用范围。
- Query – 显示为相关适用范围定义的查询。
- Import – 用于将选定的适用范围导入 Constraints Editor。仅当对话框中选定的适用范围尚未存在于 Constraints Editor 中时,此选项才可用。
- Export – 用于将选定的适用范围导出到 Constraints Editor。
- Edit Library – 用于打开“适用范围库”对话框,您可以在其中存储基于查询的对象匹配范围。自定义适用范围可以导入、管理和导出,以便在其他自定义约束规则中重复使用。
规则/约束检查
-
Check – 用于开始设计规则检查(DRC)。DRC 完成后,约束规则的违规情况(即超出所指定的限值及适用范围)将自动显示在各违规规则的最后一列中,以
表示。违规总数显示在编辑器右上角的
旁边。
您也可以使用主菜单中的 Tools » Run DRC Rules Check 运行 DRC。
检查规则应用情况
Constraints Editor 包含交叉探测功能,可在相应的 PCB 布局中通过高亮显示网络和连接,直观呈现约束规则的对象适用范围。要对编辑器网格列表中的任意规则进行交叉探测,请右键单击该规则条目,然后从右键菜单中选择 Cross Probe 选项,或从高级规则的
菜单中选择 Cross Probe。
在 Properties 面板中设置 Cross Probe View Settings(Zoom 和 Select 选项),并使用 PCB 编辑器的 Clear Filter 选项重置交叉探测高亮显示。

从 Constraints Editor 交叉探测规则适用范围内的对象。







