使用约束编辑器管理设计规则

概览

本文介绍如何判断项目使用的是约束编辑器还是约束管理器,并进一步说明约束编辑器如何以更偏向文档化、以对象为中心的方式,帮助您查看、创建和管理 PCB 设计规则。文章重点介绍规则的组织方式、优先级的处理机制、基本规则与高级规则之间的区别,以及如何切换视图、转换规则、复用作用域和导入或导出规则定义。如果您希望更清晰地了解 Altium Designer 中约束的结构与管理方式,本指南将帮助您更有把握地使用各项工具。继续阅读,让您的规则管理工作流程更加轻松。

- 如何判断项目使用的是约束编辑器还是约束管理器,以及如何在可用的规则管理视图之间切换。
- 约束编辑器如何按设计对象和高级规则组织规则,以及规则优先级和规则转换的工作方式。
- 有哪些实用功能可用于创建、编辑、验证、保存、导入、导出和复用设计规则。
使用 AI 深入了解:

Do I have the Constraints Editor or the Constraint Manager?

请注意,如果在创建 PCB 项目时,在 Create Project 对话框中启用了 Constraint Management 选项,则该项目将使用 Constraint Manager 来定义设计约束。在这种情况下,PCB 编辑器中将not提供 PCB Rule and Constraints Editor 对话框,因此也将无法使用本页介绍的 Constraints Editor。否则,只能使用以往的方式(设计指令和 PCB Rule and Constraints Editor 对话框 / Constraints Editor)来定义设计约束。

要快速检查当前 PCB 项目使用哪种方式定义设计约束,请打开项目的 PCB 文档,单击 Design 主菜单,然后检查可用的命令:

  • Constraint Manager – 此项目使用 Constraint Manager。
  • Rules – 此项目使用 PCB Rule and Constraints Editor 对话框。您可以从此对话框切换到本页介绍的 Constraints Editor。

Constraints Editor 是一种基于文档的用户界面,提供了另一种查看、创建和管理 PCB 布局设计约束规则的方式。该编辑器分为六个可选的规则分区,优先级依次递增,分别为 Nets、Diff Pairs、xSignals、Polygons、Components, 和 Advanced。在这种布局中,前五个分区(Nets 至 Components)以设计对象视图呈现规则,而 Advanced 视图分区则用于更复杂的规则(通常使用查询),这些规则无法表示为较简单的面向设计对象的规则。

Constraints Editor——另一种管理设计规则的方式。
Constraints Editor——另一种管理设计规则的方式。

单击 PCB Rules and Constraints Editor 对话框中的 Switch to Document View 按钮,即可访问 Constraints Editor。

从 PCB Rules and Constraints Editor 对话框切换到 Constraints Editor 视图。
从 PCB Rules and Constraints Editor 对话框切换到 Constraints Editor 视图。

单击编辑器 Properties 面板中的 Switch to Dialog View 按钮,可返回 PCB Rules and Constraints Editor 对话框。

从 Constraints Editor 视图切换回 PCB Rules and Constraints Editor 对话框。
从 Constraints Editor 视图切换回 PCB Rules and Constraints Editor 对话框。

您也可以使用主菜单中的 Tools » Switch to Dialog View 命令。

Switch to Dialog View 按钮和命令不可用?请检查您是否使用了 Constraint Manager,而不是 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 列条目中会显示相应图标。

使用作用范围库简化自定义规则的创建。
使用作用范围库简化自定义规则的创建。

  • 将基于库的作用域应用于规则后,可以使用 Object Match(作用域)字段的 菜单来删除作用域条目(Clear Scope),或将作用域恢复为基于查询的格式(Detach Scope)。
  • 另请注意,Scopes Library 本身可以导出为自定义作用域 XML 文件,随后可用该文件填充另一套 Altium Designer 安装中的作用域库。
  • 将规则拖放到列表中的其他位置可更改其优先级。自定义规则具有最高优先级。请注意,基本(对象)规则条目的优先级顺序由其固有层次结构自动确定。
  • 要删除当前选定的规则,请右键单击该规则并选择“删除规则”,或从主菜单中选择 Edit » Remove Constraint。
  • 选择 File » Save to PCB(快捷键:Ctrl+S),将约束文档文件保存到 PCB 工程中。
  • 设计规则可以从 Constraints Editor 导出,也可以导入其中。这使您能够在不同设计之间加载常用的规则定义。使用 File » Export To File 命令保存 PCB 规则文件(*.rul)。使用 File » Import From File 命令加载现有的 *.rul PCB 规则文件。在这两种情况下,都会打开 Choose Design Rule Type 对话框,供您选择要导出或导入的设计规则。

设计对象约束模式

要采用更简单的面向设计对象的方式创建约束规则,请选择规则网格顶部相应的对象模式按钮,从默认的高级模式切换到其他模式。从概念上讲,这些模式提供了一个更集成的规则界面,侧重于约束(限制)设计对象的应用方式,而不是创建可能被违反的设计规则。设计对象按钮的排列顺序对应于对象复杂度(以及规则优先级)的递增顺序,从基本的 Nets(及其类),到统一的 Components,再到 Advanced 模式。

在 Advanced 模式()下,规则按类型分组,如下图所示的基本 Via 和 Width 约束规则。通过添加更多规则和/或包含查询语言元素,可以进一步细化规则。

在 Constraints Editor 的 Advanced 模式下,规则按类型分组。
在 Constraints Editor 的 Advanced 模式下,规则按类型分组。

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

在 Constraints Editor 的面向对象视图中,规则按设计对象分组。
在 Constraints Editor 的面向对象视图中,规则按设计对象分组。

采用面向设计对象的方式时,例如选择下图所示的 Nets 对象类型后,基本的过孔和宽度规则会整合为一个复合条目。此网格布局还支持按(网络)对象和类添加更多约束。

面向对象的视图显示选定对象类型的约束。
面向对象的视图显示选定对象类型的约束。

在此示例中,要添加更具体的约束,只需选择 Net 或 Net Class,然后在所需约束规则类型对应的网格单元格中输入合适的值。如下图所示,允许 Power 网络(由其所属类定义)使用更大的过孔尺寸,并为 5V 电源网络设置更大的最大走线宽度。实际上,一个简单的网格视图涵盖了四条规则,即 5V 网络的宽度约束、所有其他网络的宽度约束、电源网络的过孔尺寸约束,以及所有其他网络类的过孔尺寸约束。

为不同对象及其组(例如网络和网络类)添加更具体的约束。
为不同对象及其组(例如网络和网络类)添加更具体的约束。

使用 按钮可添加当前选定约束规则的变体,例如下图所示,新增的 5V 网络规则为 Bottom 层设置了首选宽度。

可以为选定的约束添加变体。
可以为选定的约束添加变体。

请注意,网格条目中可用的规则类型取决于可用列,而这些列又由 Properties 面板的 Rule Visibility 列表中启用的项目决定。例如,在 Rule Visibility 列表中启用 Clearance 条目后,便会为网络对象类型添加 Clearance 列,如下图所示。此后,只需输入网络或类作用域以及合适的距离参数,即可添加适用的间距规则。

选择要在面向对象视图中显示的规则。
选择要在面向对象视图中显示的规则。

规则验证

在 Properties 面板的 Rules/Constraints Checks 区域中,单击 按钮,即可检查所有已启用规则的有效性。此操作会检测规则中可能存在的错误,例如重复规则、作用域相同但值不同的规则、类成员(如网络)重叠的规则,以及作用域无法解析的规则。每种违规类型的条目都可以展开,以显示违反该项检查的规则;选择其中某条规则后,将打开对应的规则条目。

检查 Constraints Editor 中当前定义的规则的有效性。
检查 Constraints Editor 中当前定义的规则的有效性。

要运行规则验证,也可以使用主菜单中的 Tools » Run Rules Validation Check 命令

规则违规

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

Constraints Editor 提供有关违规规则的反馈。
Constraints Editor 提供有关违规规则的反馈。

属性面板

当 Constraints Editor 处于活动状态时,Properties 面板会显示 Document Options 模式(在编辑器的 Advanced 模式下则显示 Advanced constraints options 模式)。

以下可折叠部分介绍了可用的选项和控件:

检查规则应用情况

Constraints Editor 包含交叉探测功能,可在相应的 PCB 布局中通过高亮显示网络和连接,直观呈现约束规则的对象适用范围。要对编辑器网格列表中的任意规则进行交叉探测,请右键单击该规则条目,然后从右键菜单中选择 Cross Probe 选项,或从高级规则的 菜单中选择 Cross Probe。

在 Properties 面板中设置 Cross Probe View Settings(Zoom 和 Select 选项),并使用 PCB 编辑器的 Clear Filter 选项重置交叉探测高亮显示。

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

AI-LocalizedAI 翻译
如您发现任何问题,请选中相关文本/图片,并按 Ctrl + Enter 键向我们提交反馈。
Contents
功能可用性

您可使用的功能取决于您所采用的 Altium 解决方案——Altium Develop、Altium Agile Teams、Altium Agile Enterprise,或 Altium Designer(在有效订阅期内)。

如果您在实际软件中未看到文档中介绍的某项功能, 请联系 Altium Sales 了解更多信息。

旧版文档

Altium Designer 文档不再提供版本区分。如果您需要访问 Altium Designer 旧版本的文档,请前往其他安装程序页面的旧版文档部分。

Contents