定义、确定范围和管理 PCB 设计规则

Altium Training

Altium Essentials: PCB Design Rules Creation

This content is part of the official Altium Professional Training Program. For full courses, materials and certification, visit Altium Training.

我应该使用哪种方法来定义设计约束?

Altium Designer 建议使用两种不同的方法来定义设计约束:本页描述的PCB 规则和约束编辑器对话框和约束管理器

只有在创建项目时在创建项目对话框中启用了约束管理选项,约束管理器才在PCB设计项目中可用。请注意:

  • 如果为PCB项目启用了约束管理器,则PCB 规则和约束编辑器对话框在PCB编辑器中可用。
  • 如果为PCB项目启用约束管理器,只能使用之前的定义设计约束方法(使用设计指令PCB 规则和约束编辑器对话框)。

要快速检查当前PCB项目中使用的是哪种设计约束管理方法,请打开项目的PCB文档,点击设计主菜单,并检查哪个命令可用:

  • 约束管理器 – 该项目使用约束管理器
  • 规则 – 该项目使用PCB 规则和约束编辑器对话框。

PCB 编辑器使用设计规则的概念来定义设计的要求。设计要求采用一种优雅的方法应用 - 针对这些对象并应用那些要求。设计规则共同形成了 PCB 编辑器遵循的“指令集”。它们涵盖了设计的每一个方面 - 从布线宽度、间隙、平面连接样式、布线通过孔样式等,许多规则可以通过在线设计规则检查器(DRC)实时监控,您也可以随时运行批量测试以生成 DRC 报告。规则是独立于对象定义的。

设计规则针对特定对象,并以层次化的方式应用;例如,整个板有一个间隙规则,然后可能对一类网络有一个间隙规则,然后可能对某一类中的一个焊盘又有另一个规则。使用规则优先级和范围,PCB 编辑器可以确定哪个规则适用于设计中的每个对象。

规则通过使用关键字驱动的查询语言来定位对象,这可以从广泛的标识符(如NetClass全部)范围,一直到紧密定义的查询,精确地针对棘手的、特定情况的设计需求。

有了一套明确的设计规则,你就可以成功完成具有不同且往往严格的设计要求的板设计。此外,由于PCB编辑器是基于规则的,因此在设计开始时花时间设置规则将使你能够有效地继续设计工作,安心地知道规则系统正在努力确保成功。

有关检查定义的设计规则的详细信息,请参见设计规则检查(DRC)

PCB规则系统的基础

该软件的PCB编辑器内置的规则系统具有几个基本特性,这些特性使其与其他PCB编辑环境使用的设计规则系统有所不同:

  • 规则与对象分离 —— 规则不作为对象的一个属性添加,而是添加到整体规则集中,然后限定作用域以适用于该对象。这允许将规则应用于多个对象,并且可以修改或应用于不同的对象,如果需要在单个对象级别更改规则属性,这将是很痛苦的。
  • 通过编写查询来定位(限定作用域)规则 —— 而不是使用一组固定的、预定义的规则作用域,使用灵活的查询系统来定义规则应用于哪些对象。这提供了对每个设计规则目标的精确控制。
  • 适用于任何设计情况的规则 —— 可以定义多个相同类型的规则,并针对不同的对象集合进行定位,允许完全控制板约束的定义。例如,可以定义不同的宽度规则,以在不同的层上以不同的宽度布线。
  • 每个规则都有优先级 —— 任何设计对象都可以被多个相同类型的规则定位,以适应一般和更具体的情况。为了解决任何规则冲突,使用规则优先级。系统简单地按照从最高到最低的优先级顺序检查规则,并选择第一个其作用域表达式与被检查对象匹配的规则。
  • 规则有两种类型 —— 一元规则(定义对象所需行为的规则)和二元规则(定义两个对象之间互动的规则)。

在 Altium Designer 中,设计规则是通过PCB 规则和约束编辑器对话框定义和管理的,正如本页所描述的。作为管理设计约束规则的另一种方法,可以使用基于文档的约束编辑器[Constraints] 文档标签)。

定义和管理设计规则

通过从主菜单选择设计 » 规则命令,可以访问PCB 规则和约束编辑器对话框。

设计菜单中找不到规则命令吗?检查是否有PCB规则和约束编辑器对话框可用 - 了解更多

PCB规则和约束编辑器对话框有两个部分:

  • 左侧的树形列表显示了不同的规则类别。展开一个类别以显示可用的各个规则类型。展开一个规则类型以显示当前定义的该类型的所有规则。
  • 对话框的右侧根据树形列表当前选中的内容显示信息 - 要么是选中的规则类型或类别的已定义规则的摘要,要么是整个系统的所有已定义规则,或者,如果选中了一个实际的规则,则显示该规则的约束。


PCB 规则和约束编辑器对话框 - 管理设计规则的指挥中心。

该对话框由左侧的静态窗格和右侧的主编辑区域组成,右侧的内容会随左侧选择的变化而动态变化。对话框的搜索引擎允许通过在主搜索字段中输入相关的名称类型类别属性关键字来以直接搜索模式使用。

左侧窗格

在对话框左侧的文件夹树窗格中,列出了支持的设计规则类别及其类型,都位于设计规则文件夹下。Altium Designer支持以下规则类别和类型:

  • 电气 - 该类别提供以下规则类型:间隙短路未布线网络未连接引脚修改过的多边形
  • 布线 - 该类别提供以下规则类型:宽度布线拓扑布线优先级布线层布线拐角布线过孔样式风扇出线控制差分对布线
  • SMT - 该类别提供以下规则类型:SMD至角落SMD至平面SMD缩颈SMD进入
  • 掩膜 - 该类别提供以下规则类型:焊膏掩膜扩展贴片掩膜扩展
  • 平面 - 该类别提供以下规则类型:电源平面连接样式电源平面间隙多边形连接样式
  • 测试点 - 该类别提供以下规则类型:制造测试点样式制造测试点用途组装测试点样式组装测试点用途
  • 制造 - 该类别提供以下规则类型:最小环形环宽锐角孔径层对孔到孔间隙最小焊膏掩膜银丝印到焊膏掩膜间隙丝印到丝印间隙网络天线板轮廓间隙
  • 高速 - 该类别提供以下规则类型:平行段长度匹配长度菊链存根长度贴片下过孔、最大过孔数最大过孔存根长度(背钻)
  • 布局 - 该类别提供以下规则类型:房间定义元件间隙元件方向允许层忽略的网络高度
  • 信号完整性 - 该类别提供以下规则类型:信号刺激过冲 - 下降沿过冲 - 上升沿欠冲 - 下降沿欠冲 - 上升沿阻抗信号顶值信号底值飞行时间 - 上升沿飞行时间 - 下降沿斜率 - 上升沿斜率 - 下降沿供电网络

点击根文件夹可以在对话框的主编辑区域访问所有已定义特定规则的摘要列表,涵盖所有类别的所有设计规则类型。

点击类别文件夹可以访问该类别所有相关设计规则类型已定义的所有特定规则的摘要列表。

点击规则类型文件夹可以访问该类型已定义的所有特定规则的摘要列表。

点击文件夹树窗格中的特定规则条目(或在摘要列表中双击其条目)可以访问管理其定义的控件。

右键菜单

左侧窗格的右键菜单提供以下命令:

  • 新建规则 - 使用此命令为当前选中的规则类型创建一个新规则。新规则将被添加到文件夹树中,并且也会出现在该规则类型的摘要列表中。规则名称将以粗体显示,以区别它是新的且尚未被“应用”。
添加新规则时,它最初将根据特定规则类型获得一个默认名称。例如,如果您添加了一个新的间隙规则,其默认名称将是间隙。如果未更改此默认命名,添加相同类型的另一个新规则将导致规则名称带有递增的数字后缀(即间隙_1间隙_2等)。
为特定规则类型创建新规则时,它会自动获得优先级1(最高优先级)。如果存在该类型的任何其他规则,它们的优先级将相应地下移(降低)一位。然后它们被视为已修改 - 即使它们可能在范围/约束级别上没有被特别修改。因此,所有这些类型的现有规则都将以修改状态显示(粗体和星号)。
  • 复制规则 - 使用此命令快速创建当前选中的现有规则的完全相同副本。复制的规则将与原始规则同名,但会添加一个后缀(例如,_1)以加以区分。其定义(范围、约束等)将与原始规则完全相同。
就优先级而言,复制

默认设计规则

创建新的PCB文档时,它会包含许多默认规则,这些规则对于设计规则检查系统的正确运行是必须的。如果删除了一个默认规则,当PCB规则和约束编辑器关闭时,它会自动重新创建。如果有您不希望使用的设计规则,管理这些规则的正确方法是禁用它们。

要禁用规则,请在PCB规则和约束编辑器对话框右侧的摘要列表中,切换该规则对应的启用选项。被禁用的规则会显示为“灰色”。了解更多关于禁用设计规则的信息。

使用“启用”选项来禁用你不需要的规则。被禁用的规则会显示为“灰色”。 默认规则值在内部以密耳(mils)定义,并且可能具有不适合您设计的值。要使用您自己的默认规则和值,您可以: - 创建并使用项目模板,或 - 创建一个适当的空白电路板文件,并按照您需要配置规则,然后复制该电路板用于您的新项目,或 - 将您的模板规则集导出到PCB规则文件(*.RUL),然后将这些规则导入到您当前的电路板设计中。了解更多关于导出和导入设计规则。 ### 创建新规则

要在PCB规则和约束编辑器对话框内添加新的设计规则,请导航至并选择左侧树中所需的规则类型,然后点击规则摘要列表下方的新建规则按钮,或者在所需的规则类型上右键点击,然后从上下文菜单中选择新建规则

新规则将被添加到文件夹树中,并且也会出现在该规则类型的摘要列表中。

创建新的PCB设计规则的示例。
创建新的PCB设计规则的示例。

当添加新规则时,它最初将根据规则的具体类型被赋予一个默认名称。如果该名称的规则已经存在,它将被赋予一个递增的数字后缀(例如,Width_1Width_2等)。

要访问规则的范围和约束属性,可以点击文件夹树窗格中的规则条目,或者在摘要列表中双击其条目。对话框的主编辑窗口将变化,以便访问用于定义该规则的范围和约束属性的控件。


访问规则的详细控制,包括范围和约束。

要完全定义新规则:

  • 给规则一个有意义的名称,以便识别。
  • 通过从下拉菜单中选择范围选项,或输入查询(对于二元规则,则输入查询)来定义规则的范围。
  • 设置规则的约束。
  • 设置规则的优先级。

使用规则向导创建新规则

也可以使用设计规则向导来创建新规则。可以直接通过设计 » 规则向导命令访问,或者点击PCB 规则和约束编辑器对话框底部的规则向导按钮。

使用向导的页面来创建新的设计规则。步骤如下:

  1. 选择所需的规则类型,并给它一个有意义的名称(如果需要的话,还可以加上注释)。
  2. 定义规则的适用范围。通过内置于向导中的查询构建器的一个实例,你将有机会进一步增强范围的定义。
  3. 设置规则的优先级。
如果在向导的最后一页启用了启动主设计规则对话框选项,那么点击完成按钮后,PCB规则和约束编辑器对话框将会打开。这个对话框可以用来编辑你新创建的规则的约束。


使用设计规则向导来简化规则创建。

复制现有规则

要快速创建一个现有规则的完全复制品,请使用复制功能。这个功能可以通过两种方式访问:

  • 使用左侧的树形结构导航至需要的现有规则,右键点击然后选择复制规则
  • 在左侧的树形结构中导航至特定的规则类型,选择要在右侧摘要列表中复制的规则,然后点击列表下方的复制规则按钮。


使用规则复制功能简化创建相似规则的过程。

重复规则将与原始规则同名,但会添加一个后缀(例如,_1)以加以区分。其定义(范围、约束等)将与原始规则完全相同。就优先级而言,它将被赋予仅次于原始规则的下一个优先级。所以,例如,如果原始规则的优先级为1,那么重复规则将被赋予优先级2。

从PCB过滤面板创建规则

由于设计规则的适用范围针对一组特定的设计对象,因此首先识别这些对象然后创建针对它们的设计规则会更加容易(和更快)。PCB过滤面板提供了创建设计规则的功能,其范围使用面板中当前定义的查询表达式。因此,与其努力想象您的查询表达式可能会针对什么,不如使用PCB过滤面板来测试和调整查询表达式,直到只过滤出所需的对象。通过创建使用该查询表达式的规则,您可以保证针对正确的对象集。

添加新设计规则:

  1. 点击创建规则按钮。将会出现选择设计规则类型对话框。此对话框列出了PCB文档中可用的每个规则类别和规则类型。
  2. 选择要创建的规则类型,然后点击确定(或直接双击条目)。
  3. PCB规则和约束编辑器对话框将会出现。将创建所选类型的规则,并显示主编辑窗口,准备为规则定义特定约束。规则的范围选项设置为自定义查询,并且相应地将PCB过滤器面板中的查询表达式输入到查询区域。
  4. 根据需要更改规则的名称和约束。如有必要,也更改其优先级(默认情况下将被赋予最高优先级)。


直接从PCB过滤器面板创建新的设计规则 - 过滤器查询表达式被用作规则的范围。

重用过去的查询表达式

随着时间的推移,在布局各种电路板的过程中,将构建许多有用的查询表达式。通常,您会希望在同一设计中以及不同设计中应用和重新应用相同的查询。为了实现这一点,PCB过滤面板支持历史收藏查询的概念。 当从面板中输入并应用查询时,它将被添加到查询的“历史列表”中。此外,通过点击添加到收藏按钮,该查询可以被添加到查询的“收藏列表”中。使用面板中的历史收藏按钮,访问表达式管理器对话框中同名的相应标签页,以查看这些列表。


访问应用查询表达式的历史记录,并构建一个收藏表达式的列表,以便反复使用。

要在任一列表中使用表达式,双击其条目或选择其条目并点击应用表达式按钮。此时,表达式管理器对话框将关闭,并且表达式将被加载到PCB过滤器面板的过滤器区域中。

此功能简化(并加速)了具有必要范围的规则创建过程 - 检索历史或喜爱的查询表达式,检查它是否仍然针对所需的对象集(应用过滤器)然后创建一个在其范围内使用该表达式的规则,如前一节所述。

定义设计规则的范围

Altium Designer的PCB编辑器是一个基于规则的环境。设计要求通过一套定义良好的设计规则来强制执行,这些规则共同定义了电路板的约束条件。设计规则针对设计中的特定对象。为了让PCB规则系统知道给定规则适用于哪些对象,它需要知道该规则的范围,即其应用的范围。定义范围,或者说定位规则,是在PCB规则和约束编辑器对话框中进行的。

默认的设计规则或新增加的规则将具有默认的规则范围所有,意味着它将应用于电路板上的所有对象。使用下拉菜单,可以快速配置简单的规则范围。

设置设计规则的范围,以定义其对设计对象的应用。
设置设计规则的范围,以定义其对设计对象的应用。

与其受限于预定义的可能目标选项列表,每个设计规则都可以通过编写所谓的查询来更严格地限定其范围。

要输入查询,请将第一个对象匹配位置下拉菜单设置为自定义查询。它将显示当前下拉菜单设置下此规则的规则引擎当前使用的查询。 查询本质上是对软件的一条指令,定义了要针对的设计对象集。查询使用查询关键字编写。就像可以在过滤器面板中编写查询以找到特定的对象集一样,也可以编写查询来定义每个规则的目标对象。一个例子可能是:

InNet('VBAT') And OnLayer('底层')

如果这个查询被用作宽度规则的范围,每当你布线VBAT网络并切换到底层时,轨道宽度将自动变更为该规则约束中指定的宽度。此外,在执行设计规则检查时,底层上的任何VBAT网络布线都必须具有指定的宽度,否则将被标记为违规。

规则的范围是基于查询系统的。使用自定义查询选项查看当前查询,并在需要时使用查询关键字进行更改。
规则的范围是基于查询系统的。使用自定义查询选项查看当前查询,并在需要时使用查询关键字进行更改。

根据规则是一元还是二元的,分别需要定义一个或两个范围。

当对PCB组件指示器或多边形名称进行更改时,使用自定义查询的设计规则中的引用会自动更新。当指示器在设计规则中被重新标注、通过ECO更新或在电路板上手动编辑时,引用PCB组件指示器的查询会更改。

当组件指示器更改时更新规则查询的功能可在高级设置对话框中启用PCB.Rules.UpdateQueryOnComponentDesignatorChange选项时获得。

如果查询存在语法错误,该规则将被视为无效,并且在PCB规则和约束编辑器对话框中,无论是在左侧规则树还是任何摘要视图(规则类别或规则类型)中,都会以红色突出显示。此外,规则类型和规则类别的文本也会在左侧规则树中以红色呈现。因此,如果您折叠了包含无效规则的规则树区域,在层次结构的更高级别上,您仍然会被提醒注意。如果您尝试关闭对话框,还会出现警告消息。具有语法错误的规则范围可能会大大减慢在线和批处理DRC分析过程。确保解决任何语法不正确的规则范围。

范围选项

提供了简单的范围选项,允许您快速生成范围查询。从第一个下拉字段中选择一个选项,如有需要,使用后续的下拉列表选择适当的目标,如网络、层、印制板封装、封装等。根据规则类型,呈现的范围选项是有针对性的。
使用简单的范围选项快速创建查询。 当您使用简单的范围选项来定义规则范围时,仍会创建一个查询。如果您在第一个下拉字段中选择自定义查询,则会显示该查询。

自定义查询选项允许你编写自己的,可能更复杂但也更具体的查询。你可以直接在右侧的查询区域内输入自己特定的规则范围查询。或者,有两个功能可帮助创建逻辑查询表达式。它们是查询构建器查询助手。当你不确定查询的语法或可用的关键字时,这些功能会很有用。

使用自定义查询选项来构建更复杂的查询表达式。
使用自定义查询选项来构建更复杂的查询表达式。

查询构建器是一种构建查询的更简单方法,它使用敏感的条件类型和值,这些条件类型和值只允许您使用相关的“构建块”进行构建。对于需要完整关键词规范和操作符语法的高级查询构建,请使用查询助手

使用查询构建器定义规则范围

点击 按钮打开从板卡构建查询对话框,该对话框使您能够通过简单构建一系列条件语句来创建针对设计文档中特定对象的查询。

对话框的左侧部分用于指定目标对象集所需的条件。每个条件由条件类型条件值组成。这些下拉字段会根据当前规则类型以及所选条件类型的值填充,以构建范围。

定义条件时,当前构建的查询预览将显示在对话框的右侧部分。条件可以通过AND和/或OR连接在一起,还可以通过使用括号/缩进来加入优先级,以细化目标对象集。当查询表达式按需定义好后,点击确定将会将表达式加载到PCB规则和约束编辑器对话框的查询区域中。

请注意,当在PCB规则和约束编辑器对话框中展示查询表达式时,会在表达式的开始和结束处分别添加额外的开括号和闭括号。

使用查询构建器通过一系列条件语句构建逻辑查询表达式。
使用查询构建器通过一系列条件语句构建逻辑查询表达式。

使用查询助手限定规则

启用自定义查询选项后,点击按钮以访问查询助手对话框。底层查询引擎分析PCB设计,并列出所有可用对象,以及用于查询的通用关键词。

使用查询助手相当直观,尤其是当你将其分解为下图所示的三个独特区域时:


使用查询助手定义的复杂查询示例。

这些区域包括:

  1. 查询区域 – 使用此对话框区域来编写查询表达式。访问对话框时,默认情况下,规则范围内当前有效的表达式将在此区域中提供。您可以直接在区域内输入;作为辅助,会出现一个上下文敏感的“提示列表”,显示可能的关键字或对象。
  2. 运算符 – 对话框的此区域提供了一系列数学和逻辑运算符,用于构建表达式。点击按钮,在查询区域上方的查询表达式中的当前光标位置添加该运算符。
  3. 类别、关键字和对象 – 对话框的此区域提供了可用的PCB功能、PCB对象列表和系统功能的访问,这些都可以用来创建查询表达式。点击这三个区域中的每一个内的子类别,将在右侧区域显示相应的关键字或对象列表。找到要在查询字符串中使用的关键字或对象,然后双击其条目;该条目将被插入到查询区域上方的查询表达式中的当前光标位置。
使用按钮(对话框左下角)来验证表达式在语法上是否正确。当查询的表达式已经按要求定义后,点击确定将会将表达式加载到PCB规则和约束编辑器对话框的查询区域中。 当使用查询助手对话框构建查询时,点击可用列表中的一个关键字并按F1,将访问该特定关键字的文档,位于查询语言参考内。

查询表达式操作符优先级

在离开这个领域之前,值得看一下逻辑查询表达式中使用的运算符的优先级顺序。毕竟,如果没有这样的知识,表达式可能无法针对所需的对象。

在为各种运算符定义的优先级顺序中,括号具有最高的优先级,这个顺序决定了软件如何解释查询(当用户没有提供括号时)。这个顺序从最高到最低如下:

  1. 括号
  2. Not
  3. ^, *, /, Div, Mod, And
  4. +, -, Or, Xor
  5. =, <>, <, >, <=, >=
  6. &&, ||
这种优先顺序类似于Pascal类型语言中使用的顺序。通过从左到右工作来解决歧义。括号从内到外计算,相同级别的从左到右计算。
强烈建议在任何可能的情况下使用括号,以避免查询可能被错误解释的风险。大量使用括号可以消除疑问,并使得结果查询更易于被他人阅读。

规则优先级

为了简化定义和管理规则的过程,一个想法是定义涵盖广泛需求的通用规则,然后在特定情况下用特定规则覆盖这些通用规则。为了做到这一点,你需要能够优先考虑规则,以指示当一个对象被同一类型的多个规则目标时,使用哪一个规则。

例如,要指定板上最常用的布线宽度,可以定义一个适用于板上每个网络的单一规则。然后,可以通过添加另一种相同类型但优先级更高的规则,为特定网络(或一类网络)覆盖这个规则。 另一个例子可能是焊膏掩模要求。在这里,你会定义一个针对板上每个焊盘和通孔的掩模规则,然后可以为特定封装类型中的焊盘覆盖这个规则。如果需要,这个特定封装的特定焊盘还可以进一步覆盖这个规则。 管理规则的一个重要方面是确保所有的优先级都设置得当。当创建一个新规则时,它默认为最高优先级。使用PCB规则和约束编辑器对话框底部的优先级按钮,在编辑规则优先级对话框中配置优先级。
编辑规则优先级对话框中更改规则优先级。 最初,对话框将列出当前在PCB规则和约束编辑器对话框中选中的规则类型的所有规则实例。使用规则类型字段更改规则类型并列出为该类型定义的特定规则。定义的规则按当前优先级顺序列出——从1(最高优先级)开始向下。选择一个规则条目,分别使用提高优先级降低优先级按钮来上移或下移其在优先级顺序中的位置。

当向已包含一个或多个现有规则的规则类型添加新规则时,优先级将被设置为1(即最高优先级)。

可以设置多个相同类型的规则。可能出现设计对象被多个具有相同范围的规则覆盖的情况。在这种情况下,存在冲突。所有的冲突都通过优先级设置来解决。系统会按照从最高到最低的优先级顺序检查规则,并选择第一个其范围表达式与被检查对象匹配的规则。这里有一个例外,多个匹配长度设计规则可以应用于对象,并且所有规则都应用于这些对象。

修改现有规则

当然,规则随时都可以修改。实际上,要得到最终的工作规则集通常涉及到这里那里的一些关键细化。通常这包括范围确定,以确保目标设计对象被相应的规则(们)按需“捕获”。在PCB规则和约束编辑器对话框中选择一个现有规则,并根据需要对其范围和约束属性进行更改。 对现有规则定义所做的更改会在文件夹树窗格和适用的摘要列表中突出显示。这样的条目通过规则名称变为粗体和名称右侧显示的星号来区分。星号用来反映规则是一个已经被修改的现有规则,而不是新创建的规则(新创建的规则显示为粗体但没有星号)。
修改现有规则的示例。使用星号来标记修改,同时规则名称被加粗显示。
当为特定规则类型创建新规则时,它会自动被赋予优先级1。如果该类型的其他规则存在,它们的优先级将相应地下降(降低)一个级别。然后,即使它们可能没有在范围/约束级别上被特别修改,也会被视为已修改。因此,所有这类现有的规则都将以修改状态(加粗并带有星号)显示。

标记无效规则

如果系统检测到一条规则无效——例如,它的范围查询表达式存在问题,或者约束的值不被允许——该规则将被标记为无效。这样的规则将在PCB规则和约束编辑器对话框中被红色高亮显示,无论是在左侧规则树中,还是在规则出现的任何摘要视图(规则类别或规则类型)中。此外,规则类型和规则类别的文本也会在左侧规则树中以红色呈现。因此,如果你折叠了包含无效规则的规则树区域,你仍然会在层次结构的更高级别被提醒。如果你试图关闭对话框,还会出现警告消息。


一个系统标记无效设计规则的例子,在这种情况下,是一个错误的范围查询表达式。

禁用规则

在软件的PCB编辑器的规则驱动环境中,构建一套相当令人印象深刻且全面的规则数组以成功约束您的电路板并不少见。无论出于何种原因,您可能希望禁用某些规则;也许它们不适用于当前的电路板,或者需要暂时禁用它们以减轻设计规则检查器(Design Rule Checker)的负担(从而提高其性能!)。禁用是一种保留这些规则的好方法,以防将来需要。

要禁用规则,请在PCB规则和约束编辑器对话框右侧的相关摘要列表中,切换该规则的启用选项。被禁用的规则也会显示为“灰色”。


示例中禁用的规则,以灰色字体显示在摘要列表中。 规则也可以直接从PCB 规则和违规面板中启用/禁用。切换规则关联的开启选项。这将反映在PCB 规则和约束编辑器对话框中的规则启用选项。

删除规则

要在PCB规则和约束编辑器对话框中删除单个设计规则:

  • 使用左侧的树形结构导航到所需的现有规则,右键单击然后从上下文菜单中选择删除规则
  • 在左侧的树形结构中导航到特定的规则类型,然后在右侧的摘要列表中选择要删除的规则。然后点击列表下方的删除规则按钮。

规则名称将以加粗和删除线突出显示,以区分它作为一个尚未“应用”的删除操作。


删除单一规则。

  • 如果某个特定的设计规则暂时不需要,但将来可能会再次使用,那么不必删除它,可以简单地将其禁用。只需在PCB规则和约束编辑器对话框右侧的相关摘要列表中,切换该规则的启用选项即可。
  • 可以一次性从摘要列表视图中删除多个规则。为此,选择要删除的规则(支持标准的Shift+点击Ctrl+点击快捷方式),然后点击列表下方的删除规则按钮。
  • 某些规则必须存在,以便设计规则检查系统能够正常工作;如果删除了这些规则中的一个(以至于该类型的规则不再存在),它将被自动重新创建。了解更多关于默认设计规则

许多规则类型在创建新的PCB文档时会自动生成默认规则。同样地,如果删除了某个规则类型的所有特定规则,下次访问PCB规则和约束编辑器对话框时,将自动重新添加默认规则。另外,通过点击对话框底部的创建默认规则按钮,也可以再次创建默认规则。

导出和导入规则

设计规则可以从PCB规则和约束编辑器对话框中导出和导入。这允许您在不同设计之间保存和加载喜爱的规则定义。

  • 导出 - 在对话框左侧的树形结构中的任意位置右键点击,然后选择导出规则。这时会打开 选择设计规则类型对话框,在其中你可以选择要导出的设计规则。在随后打开的导出规则到文件对话框中,你可以命名 .rul 文件并选择存储位置。导出的规则将被存储在一个 PCB 规则文件(*.rul)中。
  • 导入 - 在对话框左侧的树形结构中的任意位置右键点击,然后选择导入规则。这时会打开 选择设计规则类型对话框,在其中你可以选择要导入的设计规则。在随后打开的导入文件对话框中,浏览到要导入的 .rul 文件。
导入时,如果选择的规则类型已经存在,系统会提供一个选项,让你在导入前清除现有的规则。点击,将会删除该类型的所有现有规则,并用.rul文件中的规则替换。点击,将保留现有的规则。然而,如果现有规则和导入的规则有相同的名称,导入的规则将覆盖现有的规则。

设计规则报告

可以从PCB规则和约束编辑器对话框内生成当前定义的设计规则报告。报告可以涵盖所有规则类别、特定规则类别或特定规则类型。可以通过以下方式生成报告:

  • 访问所需的摘要列表,右键单击然后从上下文菜单中选择报告命令,或点击列表下方的报告按钮。
  • 在文件夹树的相应条目上右键单击,然后从上下文菜单中选择报告命令。

报告预览对话框将打开,并已加载适当的报告。使用此对话框通过各种页面/缩放控件检查报告,最终将其导出到文件或打印出来。

生成 PCB 规则报告。

生成一个PCB规则报告。
生成一个PCB规则报告。

报告预览对话框的选项和控制 - 预览窗口 - 该对话框的主要区域显示生成报告的预览。可以使用窗口下方和右键菜单上的各种控制来操作报告。 使用滚动条在放大的页面中水平或垂直移动。 - 第 x 页,共 x 页 - 第一个 x 是当前正在查看的页面;第二个 x 是报告中的总页数。 - 全部 - 点击此按钮,将页面大小调整为适合可用预览窗口内。随着对话框(因此预览窗口)的大小调整,页面将重新调整大小以保持完全可见。 - 宽度 - 点击此按钮,将页面大小调整为适合可用预览窗口的水平范围内。随着对话框(因此预览窗口)的大小调整,页面将重新调整大小以保持其整个宽度完全可见。 - 100% - 点击此按钮,将页面设置为全尺寸(100%)。 - % - 使用此字段放大或缩小。全尺寸是100%。输入较小的值以查看缩小比例的报告。输入较大的值以查看放大比例的报告。 使用 Ctrl+鼠标滚轮 或使用 Page Up 和 Page Down 键分别放大和缩小来进行缩放。 通过按住右键并拖动文档,可以在放大视图中移动。使用 Shift+鼠标滚轮 或滚动条水平滚动,使用鼠标滚轮垂直滚动。 - 页面导航控制 - 这组控制共同提供了导航报告页面的另一种方式。这些控制允许您分别跳转到文档的第一页、前一页、下一页和最后一页。或者,您可以直接在文本框中输入页面号码,然后按 Enter。 - 导出 - 点击此按钮访问“从项目导出报告”对话框,在那里您可以保存报告,并指定特定的位置、名称和导出格式。支持以下格式: - Microsoft Excel 工作表 (*.xls) - Adobe PDF (*.pdf) - 富文本格式 (RTF) (*.rtf) - 网页 (*.htm, *.html) - 网页层 (CSS) (*.htm, *.html) - JPEG 图像文件 (*.jpg) - Windows 位图文件 (*.bmp) - TIFF 图像文件 (*.tif) - 打印 - 点击此按钮打印报告。将出现标准的“打印”对话框,您可以在其中指定页面范围和副本数量。 - 打开报告 - 点击此按钮在您在“导出”中指定的应用程序中打开生成的报告。此按钮仅在点击“导出”按钮后可用。 右键命令 以下一些命令也可以通过在对话框内的任何位置右键点击来访问: - 打印 - 使用此按钮打印报告。将出现标准的“打印”对话框,您可以在其中指定页面范围和副本数量。 - 导出 - 点击此按钮访问“从项目导出报告”对话框,在那里您可以保存报告,并指定特定的位置、名称和导出格式。支持以下格式: - Microsoft Excel 工作表 (*.xls) - Adobe PDF (*.pdf) - 富文本格式 (RTF) (*.rtf) - 网页 (*.htm, *.html) - 网页层 (CSS) (*.htm, *.html) - JPEG 图像文件 (*.jpg) - Windows 位图文件 (*.bmp) - TIFF 图像文件 (*.tif) - 复制 - 使用此按钮将活动页面复制到Windows剪贴板,从那里可以根据需要将其粘贴到外部应用程序中。 - 页面宽度 - 点击此按钮,将页面大小调整为适合可用预览窗口的水平范围内。随着对话框(因此预览窗口)的大小调整,页面将重新调整大小以保持其整个宽度完全可见。 - 整页 - 使用此命令将页面大小调整为适合可用预览窗口内。 - 放大 - 使用此命令逐步放大报告。 - 缩小 - 使用此命令逐步缩小报告。

在原理图上定义规则

通过在原理图源文件中添加配置了规则的参数集指令,可以在PCB布局之前定义设计约束(规则)。当设计转移到PCB文档时,创建的相应PCB设计规则的范围由参数分配给的对象的性质决定。下表总结了支持的原理图参数到PCB规则范围选项。

向...添加规则 从... 对于PCB规则范围...
线 在使用放置 » 指令 » 参数集命令在线上放置参数集对象后,通过属性面板(浏览所选参数集对象的属性时)。 网络
总线 在使用放置 » 指令 » 参数集命令在总线上放置参数集对象后,通过属性面板(浏览所选参数集对象的属性时)。 网络类
线束 在使用放置 » 指令 » 参数集命令在线束上放置参数集对象后,通过属性面板(浏览所选参数集对象的属性时)。 网络类
覆盖层 在使用放置 » 指令 » 参数集命令在覆盖层边缘放置参数集对象后,通过属性面板(浏览所选参数集对象的属性时)。包括一个具有所需名称的类,为覆盖层下的所有网络创建一个网络类,然后将其用于规则范围。 网络类
在每种情况下,添加基于规则的参数的方法是相同的:
  1. 作为规则添加一个参数。
  2. 选择要使用的规则类型。
  3. 为所选的规则类型配置约束。
在原理图上的对象添加设计规则参数时,每个规则参数都会被赋予一个唯一的ID。相应在PCB上创建的设计规则也会被赋予相同的ID。有了这个唯一ID,规则的约束可以在原理图或PCB侧进行编辑,并且在同步时推送更改。

检查规则应用

根据电路板设计的不同,可能需要定义许多设计规则,这些规则的范围从非常简单到非常复杂不等。检查所定义的规则是否确实针对其预定的对象是一个好主意。在规则定义阶段小心可以节省因错误的规则范围导致的追踪违规所浪费的时间和努力。

验证规则范围主要有两种方法 - 要么通过选择设计对象并查询当前适用于它们的规则,要么通过选取一个规则(在软件的不同位置)并观察哪些对象属于其范围。

从对象的角度看

对于当前设计中的任何放置对象,您可以快速访问关于哪些一元设计规则适用于该对象的信息。将光标移至对象上方,右键点击然后选择适用的一元规则。所有定义的设计规则,这些规则可能适用于所选对象,都会被分析并列在适用的一元规则对话框中。


适用于单个示例设计对象的设计规则 - 一元规则。

对话框中列出的每条规则旁边会有一个勾选()或一个叉号()。勾选表示在所有相同类型的适用规则中优先级最高的规则;这是当前应用的规则。同一类型的较低优先级规则旁边列有一个叉号,表示它们适用,但由于它们不是最高优先级规则,因此当前未被应用。

任何本应适用于对象但当前已禁用的规则也会旁边有一个叉号,并且会使用删除线高亮显示。

同样地,您也可以访问有关应用于设计中两个放置对象之间的二进制设计规则的信息。将光标放在任何对象上,右键单击然后选择适用的二进制规则。按照提示选择设计中的两个对象。然后,适用的二进制规则对话框将打开,并显示适用于这些对象之间的所有二进制设计规则。

如果所选的两个对象之间没有应用任何二进制规则,二进制版本的适用规则对话框将不会打开。

适用于两个示例设计对象之间的设计规则 - 二进制规则。

从规则的角度看

通过 PCB 规则和违规面板检查

您也可以从PCB 规则和违规面板快速查看特定规则适用于哪些对象。该面板列出了设计中当前定义的所有规则。您可以查看所有规则,或者根据规则类型特别浏览 - 前提是至少已为活动设计定义了任何给定类型的一条规则。当您在面板的规则区域中点击特定规则时,将应用过滤,使用该规则作为过滤的范围。只有那些属于规则范围内的设计对象才会被过滤。通过使用遮罩(或变暗)高亮功能,您可以快速看到规则针对的结果对象。


使用PCB规则和违规面板来检查所选规则适用于哪些对象的示例。

如果对话框中的高亮显示方法已设置为遮罩,可以通过在查看选项标签页的遮罩和淡化设置部分访问被遮罩对象滑动条,来调整未落在活动过滤器范围内的对象的遮罩级别。如果对话框中的高亮显示方法已设置为淡化,也可以通过此面板部分使用被淡化对象滑动条,来调整未落在活动过滤器范围内的对象的淡化级别。

使用PCB规则和违规面板来查询哪些对象适用于某条规则特别有用,因为在创建规则范围的查询时,可以直接从面板中编辑规则,因此,查询可以被“调整”直到所需的对象被范围捕获。

要编辑规则的范围以及其约束,可以在面板中双击规则条目,或者右键点击并选择属性从上下文菜单中。相应的编辑PCB规则对话框将会出现,从这里可以进行更改。

对话框提供的控制选项及其横幅文本将根据正在编辑的设计规则的类型而有所不同。


可以直接从PCB规则和违规面板中编辑规则,允许您即时进一步细化规则范围和/或约束。

通过PCB规则和约束编辑器对话框进行检查

PCB 规则和约束编辑器对话框包括一个查询测试功能,允许您快速查看特定规则适用于哪些对象。点击对话框右上角您想测试的规则旁边的按钮。将会出现测试查询结果对话框。此对话框反映了在表达式范围内的对象数量,有多少适用于当前规则,以及基于规则当前优先级(存在多个适用规则时)有多少是适用的。通过点击右侧的链接,您可以在设计空间中直接快速过滤查看每种情况下适用的对象。使用遮罩下拉菜单选择正常遮罩变暗,取决于您希望如何在PCB文档中高亮显示受影响的对象。如果选中缩放,PCB文档还将放大到受影响的组件。


使用测试查询功能快速查看规则范围表达式捕获的对象。

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

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

如果您在软件中未找到文中提及的功能,请联系 Altium 销售团队了解更多信息。

旧版文档

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

Content