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

Do I have the Constraints Editor or the Constraint Manager?

请注意,如果在创建 PCB 项目时,在 Create Project 对话框中启用了 Constraint Management 选项,则该项目将使用 Constraint Manager 来定义设计约束。在这种情况下,PCB 编辑器中将无法使用 PCB Rule and Constraints Editor 对话框,因此本页介绍的 Constraints Editor 也将not不可用。否则,只能使用先前定义设计约束的方法(design directives 以及 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 布局所用设计约束规则提供了另一种方法。该编辑器按优先级从低到高划分为六个可选规则部分——NetsDiff PairsxSignalsPolygonsComponents,Advanced。在这种安排中,前五个部分(NetsComponents)表示规则的设计对象视图,而 Advanced 视图部分适用于更复杂的规则(通常使用查询),这些规则无法用较简单的面向设计对象的规则来表达。

Constraints Editor——一种管理设计规则的替代方法。
Constraints Editor——一种管理设计规则的替代方法。

Constraints Editor 可通过点击 PCB Rules and Constraints Editor 对话框中的 Switch to Document View 按钮来访问。

从 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,即基于被检查设计对象类型的规则。

大多数采用 Advanced(基于查询)格式的规则,都可以通过将规则拖放到 Basic Rules 列表中,或从 Advanced 规则的右键菜单中选择 选项(也可使用主菜单中的 Tools » Convert » Migrate Advanced Rules to Basic 命令)转换为更简单的 Basic 规则。启动该命令后,将出现 Migration of Advanced Rules to Basic  对话框,在要求你确认迁移之前,会提供可迁移的 basic 规则数量信息。转换后,高级规则基于查询的作用域将被解释为 basic 规则的对象类型限定。

基于查询的 Advanced 规则可转换为更简单的 Basic 规则。
基于查询的 Advanced 规则可转换为更简单的 Basic 规则。

规则优先级

通常,规则的优先级由系统自动处理。这一点可从界面中规则视图按钮的排列看出:它们按规则优先级从左到右排列,其中 Nets 的优先级最低。

  • Advanced(或自定义创建的)规则优先于 Basic 对象规则序列,并且可在 Advanced 视图中通过上下拖动条目手动重新排序。
  • 相反,Basic 规则由系统根据文档界面中对象部分(NetsComponents)所指示的设计对象类型自动设定优先级。
  • 在每个(Basic)对象规则部分中,优先级从 All(最低)到 Object Class 再到 Object(最高)排序;由此可推断,作用域为 All 且已转换为 Basic 规则的规则将具有最低优先级。
  • 若要为 Basic 规则设置显式优先级,请右键单击该规则,选择 Move Basic Rule to Advanced 选项(或使用主菜单中的 Tools » Convert » Migrate Basic Rules to Advanced 命令)。启动该命令后,将出现 Migration of Basic Rules to Advanced  对话框,在要求你确认迁移之前,会提供可迁移的 basic 规则数量信息。然后在 Advanced 视图中手动设置其优先级位置。这适用于除 All 作用域之外的规则;例如,在 Nets 视图中,指定了 Net ClassNet 作用域的规则可以转换(移动)为 Advanced 规则。

新建自定义约束规则

在编辑器默认的 Advanced 模式下(通过 按钮指示并选择),创建新规则的方式与在 PCB Rules and Constraints Editor 对话框中构建规则类似。从右键上下文菜单中选择 Add Custom Rule(或使用 按钮,或主菜单中的 Edit » Add Constraint 命令),如有需要可添加基于查询的匹配作用域(),然后在列表网格或下方图形表示中输入约束参数。

创建你自己的自定义约束规则
创建你自己的自定义约束规则

为简化重复创建 advanced/custom 类型规则的过程,Constraints Editor 允许你在 Scopes Library 对话框中存储基于查询的对象匹配作用域(可通过点击 Object Match 列中的 后选择 Export to Library,或点击 Properties panel 的 Advanced constraints options 模式下 Scopes Library 区域中的 Edit Library 按钮来访问)。该库显示在 Properties 面板中,你可以在其中导入、管理和导出自定义作用域,以便在其他自定义约束规则中重复使用。规则的 Object Match 列条目中的图标表示该规则使用了基于库的作用域。

使用作用域库可简化自定义规则的创建。
使用作用域库可简化自定义规则的创建。

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

设计对象约束模式

若要采用更简单的面向设计对象的方法来创建约束规则,请选择规则网格顶部合适的对象模式按钮,以从默认的 Advanced 模式切换出去。从概念上讲,这些模式提供了更集成的规则界面,重点在于约束(限制)设计对象的应用方式,而不是创建可被突破的设计规则。设计对象按钮的位置顺序与对象复杂度(以及规则优先级)的提升相关,从基础的 Nets(及其类)到统一的 Components,直至 Advanced 模式。

Advanced 模式()下,规则按类型分组,例如下图所示的基本 ViaWidth 约束规则。可以通过再添加一条规则和/或包含查询语言元素来创建更具体的规则。

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

相反,面向对象的视图(NetsComponents)按设计对象(例如 Nets)或类(例如 Net Class)来组织规则,因此可直接概览规则如何应用于设计。若要查看适用于某种对象类型的规则概览,请在左侧列中选择某个对象或类以查看所有相关规则,或者选择 All 以查看与该对象类型相关的所有规则。下面的示例展示了与 Nets)相关联的规则概览。

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

当采用面向设计对象的方法时,例如如下所示选择了 Nets 对象类型时,基本的 Via 和 Width 规则会整合为一个复合条目。该网格布局还支持按(Net)对象和类添加更多约束。

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

在此示例中,若要添加更多、更具体的约束,只需选择 NetNet Class,并在与所需约束规则类型对应的网格单元中输入合适的值即可。如下面所示,已允许 Power 网络(由其类定义)使用更大的 Via 尺寸,并为 5V 电源轨网络分配了更大的最大走线宽度。实际上,在一个简单的网格视图中就包含了四条规则,即:5V 网络的宽度约束、所有其他网络的宽度约束、Power 网络的 Via 尺寸约束,以及所有其他网络类的 Via 尺寸约束。

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

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

可以添加所选约束的变体。
可以添加所选约束的变体。

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

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

规则校验

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

检查当前在 Constraints Editor 中定义的规则是否有效。
检查当前在 Constraints Editor 中定义的规则是否有效。

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

规则违规

已启用的设计约束规则会通过多种机制应用到当前板级设计中,例如实时 Online Design Rule Checking、批处理 Design Rule Checker,或从 PCB Rules And Violations panel 中选择性运行。当这些约束规则被违反时——即超过了指定并限定作用域的限制——会通过电路板图形、面板条目、报告以及 Constraints Editor 中的警报图标来指示。此外,作为额外优势,由于 Constraints Editor 采用设计文档(而非对话框)格式,在其打开时也可以对违规进行检查、分析和修正。

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

Properties 面板

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

以下可折叠部分包含有关可用选项和控件的信息:

检查规则应用情况

Constraints Editor 包含一项交叉探查功能,可通过在对应 PCB 布局中高亮显示网络及其连接,来显示约束规则的对象作用域。要在编辑器网格列表中对任意规则执行交叉探查,请右键单击其条目,然后从上下文菜单中选择 Cross Probe 选项,或从高级规则的 菜单中选择 Cross Probe

Properties 面板中设置 Cross Probe View SettingsZoomSelect 选项),并使用 PCB 编辑器的 Clear Filter 选项重置交叉探查高亮。

从 Constraints Editor 对规则作用域下的对象进行交叉探查。
Constraints Editor 对规则作用域下的对象进行交叉探查。

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

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

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

旧版文档

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

Content