在原理图上操作指令

Altium Training

Altium Essentials: Schematic Updating

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

概览

本文介绍了设计指令在 Altium Designer 原理图中的工作原理,重点讲解用于验证的指令,以及将信息从原理图传递到 PCB 的指令。文章阐述了设计指令在设计尚未定型时的作用,尤其是如何减少因电路不完整而产生的干扰性验证消息。您将了解使用 No ERC 屏蔽特定违规与使用编译屏蔽区域将较大范围的未完成电路排除在验证之外有何区别,以及这些指令的行为和它们在设计流程中的应用。如果您希望更清楚地了解如何让验证聚焦于原理图中最重要的部分,本指南值得一读。

- 了解什么是设计指令,以及如何在原理图绘制和验证中使用它们。
- 理解何时应使用 No ERC,何时应使用编译屏蔽区域,以屏蔽不必要的验证干扰信息。
- 了解如何在原理图编辑器中放置、启用、禁用和编辑编译屏蔽区域。
使用 AI 深入了解:

设计指令是在设计输入过程中放置在原理图上的对象,用于指定要传递给软件其他部分的指示。各种设计指令可用于以下两个方面:

  • 与源原理图文档的自动编译相关的指令。
  • 用于将原理图图纸上定义的信息传递到 PCB 的指令。

以下各节将详细介绍这些方面及其相关指令。

编译相关指令

设计会随着时间不断演进,并分阶段完成输入。每个阶段逐渐成形后,通常需要将其与设计的其余部分隔离开来进行检查。在设计输入过程的不同阶段编译单个原理图文档(或整个工程),往往会产生多条错误消息,这些消息是由尚未输入的电路或电路片段之间尚未完成的接口连线引起的。此类消息并无实际价值,只会干扰真正有用的信息。抑制这些编译错误的最快、最简单的方法是放置 No ERC 或编译屏蔽指令。

No ERC 指令

No ERC 指令放置在电路节点上,用于抑制验证原理图工程时检测到的所有电气规则检查警告和/或错误违规情况。有关更多信息,请参阅 验证设计工程 页面。

编译屏蔽指令

No ERC 指令非常适合用于抑制设计中少量引脚、端口、图纸入口或网络的违规。但在某些情况下,可能希望排除设计中的整个部分,包括元件。使用编译屏蔽指令(Place » Directives » Compile Mask命令),或单击 Active Bar 上指令下拉菜单中的编译屏蔽按钮(),即可有效地向编译器隐藏其所包含的设计区域,让您能够手动阻止对那些可能尚未完成、且已知会产生编译错误的电路进行错误检查。当您需要编译活动文档或工程以检查设计中其他特定区域的完整性,但又不希望受到与未完成部分相关的编译器消息干扰时,此功能会非常有用。

顾名思义,此指令会指示编译器忽略位于所定义屏蔽区域边界内的任何对象completely。放置屏蔽区域的方式与放置注释或矩形对象完全相同。

以下图中的原理图电路为例,LCD1 器件的连线尚未完成。仅编译此原理图(Project » Validate PCB Project)就会产生多条违规消息(如下所示),每一条都是由未完成的电路引起的。将鼠标悬停在图像上,可查看在未完成的电路周围放置编译屏蔽指令后的效果。编译器将忽略这些违规,同时检查原理图上其余已完成连线的电路。请注意,真正被屏蔽的对象,即完全位于屏蔽边界矩形内的对象,将显示为灰色。

将鼠标移到图像上,查看使用编译屏蔽指令隐藏因电路未完成而产生的编译器违规消息的效果。
将鼠标移到图像上,查看使用编译屏蔽指令隐藏因电路未完成而产生的编译器违规消息的效果。

编译屏蔽可以展开(完整边框)或折叠(小三角形)模式显示。这两种模式分别对应屏蔽的启用和禁用状态。单击已放置编译屏蔽的左上角,可切换显示模式。当设计流程包含仿真时,此功能可能很有帮助:了解更多。
虽然编译屏蔽可以旋转,或沿 X 轴或 Y 轴镜像,但这不会影响其内部设计电路的方向。

PCB 相关指令

作为统一设计环境,Altium Designer 支持在电路板布局之前定义 PCB 要求。这通过为原理图图纸上放置的对象添加和指定参数来实现。

对于某些原理图设计对象,例如元件、图纸符号、端口等,需要将相关参数添加为该对象属性的一部分。对于导线和总线等网络对象,无法直接将参数添加为导线或总线的属性,而是使用专用的设计指令来指定用于承载这些信息的参数。

可以使用指令指定以下信息,并在设计同步期间将其传输到相应的 PCB 定义中:

  • PCB 布局约束
  • 差分对
  • 网络类

通过在原理图中添加设计指令,设计工程师可以指定明确的设计约束,并确保原理图始终作为设计的主记录。对设计的任何修改都只在原理图端进行,然后同步到 PCB。当多人参与设计时,这一点尤为重要,尤其是当他们分处不同地点时。 负责录入设计的人员无需通过往来邮件或电话反复沟通,即可确保特定约束在布局阶段得到落实。

此功能的核心是参数集指令。

这些指令本质上是用户定义的参数集对象,可与原理图设计中的网络对象关联。在导线、总线或信号线束上放置 PCB 布局指令,即可为关联的网络定义一个或多个设计约束。根据原理图创建 PCB 时,PCB 布局指令中的信息将用于创建相应的 PCB 设计规则。PCB 布局指令所指定的信息仅应用于该指令所连接的网络或网络集合。

参数集指令。
参数集指令。

它充当容器,可包含任意数量的参数,这些参数作用于参数集指令所连接的网络。您可以先放置不含任何参数的默认参数集指令(Place » Directives » Parameter Set), 然后再添加相关参数。以下各节将详细介绍这些基于参数的指令的使用方法。系统提供用户定义的参数集指令(参数集)和预定义的参数集指令(差分对)。空参数集与预定义参数集的唯一区别在于,预定义参数集包含一个参数,具体如下文所述。

有关使用差分对指令的更多信息,请参阅 在原理图中定义差分对 页面。

Moving from Directives to the Constraint Manager

最初,设计要求是在原理图编辑器和 PCB 编辑器中分别定义的:在原理图编辑器中使用指令定义,在 PCB 编辑器中使用设计规则定义。随着约束管理器的引入,这种分离状态得到了解决。约束管理器是用于定义设计要求的独立编辑器, 允许在设计流程的任何阶段配置和编辑这些要求。对于一个给定的工程,只能使用其中一种方式;一种简单的检查方法是查看 Design 菜单中是否存在 Constraint Manager 条目。如果没有(而是在 PCB 编辑器的 Design 菜单中存在 Rules 条目),则表明该工程使用的是旧版设计规则方式。

如果正在使用 Constraint Manager,则从原理图更新 PCB 时,使用参数集指令和差分对指令定义的网络类、差分对、 差分对类及规则将not被检测和传输。只有在 Constraint Manager 中定义的网络类、差分对、 差分对类及规则才会被传输。

请注意,从原理图访问 Constraint Manager 时,可以使用其 Physical 或 Electrical 视图右键菜单中的 Import from Directives 命令,从放置在原理图中的指令导入 规则、 网络类、差分对和 差分对类—— 了解更多。请注意,将指令中的数据导入 Constraint Manager 并保存更改后,已导入的指令将在原理图设计空间中以蓝色显示(符号也略有不同),以便区分。这表示已完成从指令到 Constraint Manager 的单向转换,蓝色指令将变为只读对象(不允许再编辑)。

放置参数集指令

从主菜单中选择 Place » Directives » Parameter Set 命令,或在设计空间中右键单击并选择该命令,即可放置此类指令。放置默认参数集指令时,其中不包含任何现有参数。参数集是一种设计指令,可将设计规范与原理图设计中的网络类型对象关联。例如,可以使用参数集将两个网络声明为差分对的成员。软件通过参数集中具有特定名称的参数来确定您放置的是哪种设计指令。

除了用户定义的参数指令外,还可以在 Choose Design Rule Type 对话框中定义基于规则的参数指令,该对话框可通过参数关联的 Properties 面板模式访问。访问步骤如下:

  1. 在放置参数集之前按 Tab,或双击已放置的参数集指令,即可在 Properties 面板中显示其属性。

  2. 接下来,单击 Properties 面板的 Parameters 区域中的  按钮,然后从下拉列表中选择 Rule,以便从 Select Design Rule Type 对话框中选择规则。

编辑规则的值。
编辑规则的值。

使用 Select Design Rule Type 对话框选择要作为规则参数添加到指令中的规则类型。双击某个规则类型即可打开相应的 Edit PCB Rule (From Schematic) 对话框,在其中定义该规则的约束。

Edit PCB Rule (From Schematic) 对话框中的具体属性取决于所选设计规则,与 PCB 编辑器中为该规则定义的属性相同。

例如,下图显示了 Max-Min Width Rule 的 Edit PCB Rule (From Schematic) 对话框,您可以在其中:为所有层配置最小值/首选值/最大值设置,手动定义每一层的各项宽度设置,或选择使用阻抗配置文件。如果选择使用阻抗配置文件,且已在 PCB 编辑器中定义了实际的电路板物理结构,还可以选择电路板文件以 Load the PCB Layer Stack and calculate the track width values。

如果 PCB 已存在且已定义层叠,则可以将计算出的宽度加载到原理图中。如果 PCB 已存在且已定义层叠,则可以将计算出的宽度加载到原理图中。

上面显示的规则应用于一个网络类。实现方法是放置一个附有 PCB 布线指令的 覆盖指令,将这些网络归入一个类,然后将最大-最小宽度规则应用于该类()。

有关各项 PCB 设计规则和约束的详细信息,请单击此处。

使用 Measurement Units 下拉字段选择 Metric 或 Imperial 单位。

为所选规则指定约束。
为所选规则指定约束。

Parameters 区域中的条目将显示所选规则类型及指定的约束。下图展示了为 Parameter Set 指令定义的宽度约束规则参数。要在设计空间中显示该规则,请单击 Rules 区域中的可见性()图标。

通过参数集指令为特定网络定义的多项规则约束。
通过参数集指令为特定网络定义的多项规则约束。

当通过同步过程将设计传输到 PCB 时,将根据指令中包含的信息创建相应的设计规则。每条生成的规则名称中都会使用 Schematic 一词,以区分该规则的来源。

在 PCB 端生成的设计规则。
在 PCB 端生成的设计规则。

请记住,同一个参数集指令中可以添加多个参数,从而使原理图更加整洁。

放置网络类指令

网络类指令可用于在原理图中创建用户定义的网络类。要放置网络类指令,可从主菜单中选择 Place » Directives » Parameter Set 命令,然后按照该命令页面中提示 #2 的说明,将参数集定义为网络类指令。从原理图创建 PCB 时,网络类指令中的信息将用于在 PCB 上创建相应的网络类。要将某个网络添加为网络类的成员,请将网络类指令附加到相关导线、总线或信号线束上,然后将该指令的 ClassName 参数设置为所需的类名称。要使用此功能,必须在“项目选项”对话框的“类生成”选项卡上启用 Generate Net Classes 选项(用于用户定义的类)。

如果已为某个网络定义了网络类指令,那么在将设计传输到 PCB 编辑器时,由该参数集对象创建的所有 PCB 设计规则的作用范围都将为网络类。您可以通过向已放置的参数集指令添加一个类来创建网络类指令,并且必须将该类的值设置为所需的 PCB 网络类。

虽然可以在 PCB 编辑器中创建网络类,但网络的逻辑功能或分组在原理图中通常更加清晰,因此从原理图端驱动这一过程更为合理。

当通过同步过程将设计传输到 PCB 时,将根据指令中包含的信息创建相应的网络类。

将网络类指令附加到覆盖对象上,即可创建一个网络类,其成员为该覆盖对象所覆盖的各个网络。如果还将 PCB 布局指令附加到该覆盖对象上,则 PCB 布局指令的规则参数将作用于该网络类,而不是各个单独的网络。将更改导入 PCB 文档时,每个参数只会生成一条设计规则,其作用范围设置为该网络类。

放置覆盖指令

参数集指令只能作用于其所附加的特定网络,但与覆盖区域指令结合使用时,其作用范围可扩展至覆盖区域内的所有网络。

从主菜单中选择 Place » Directives » Blanket 命令,即可放置此类指令。放置覆盖区域时,可以定义简单的矩形或多边形。后者可以更精确地控制对图纸上所需网络对象的覆盖范围。

覆盖区域用于确定目标网络——在覆盖区域边缘的任意位置放置 Parameter Set 指令,即可将设计要求应用于这些网络。要将边缘上的指令应用于覆盖区域指令下的某个网络,与该网络关联的对象(引脚、端口、网络标签、电源端口、导线/总线/线束线段,包括其两端)必须位于覆盖区域的边界内。请注意,对于网络标签等网络标识符,其热点必须位于覆盖区域内。如果成员网络未按预期纳入 PCB 参数集,请尝试相应调整覆盖区域的范围。

要检查覆盖区域指令将应用于哪些网络,可使用 网络颜色 功能将其高亮显示。从 View » Set Net Colors 菜单中选择所需颜色,然后单击所需覆盖区域指令的边缘。要清除特定网络的高亮显示,请使用 View » Set Net Colors » Clear Net Color 命令,然后单击要移除颜色的网络。要清除所有原理图图纸中的网络颜色,请使用 View » Set Net Colors » Clear All Net Colors 命令。

使用覆盖区域指令将参数集指令应用于覆盖区域内网络的示例。
使用覆盖区域指令将参数集指令应用于覆盖区域内网络的示例。

覆盖区域指令的用法示例包括:

  • 将参数集指令附加到覆盖区域对象,以将其规则参数应用于该覆盖区域覆盖的每个网络。
  • 将参数集指令附加到覆盖区域对象,以创建一个参数集,其成员为该覆盖区域覆盖的各个网络。
  • 将差分对指令附加到覆盖区域对象,以基于该覆盖区域范围内的差分网络创建差分对对象。
将参数集指令附加到覆盖区域对象 ,以将其规则参数应用于该覆盖区域覆盖的每个网络。如果该覆盖区域还附加了参数集指令,且该参数集还包含网络类参数, 则参数集指令的规则参数将作用于该网络类,而不是各个网络。将更改导入 PCB 文档时,会为每个参数创建一条设计规则, 其作用范围设置为该网络类。
您还可以复制边缘上的参数集指令,并将其附加到另一个覆盖区域指令,甚至单独的导线、总线或线束上——这样,与同一参数集指令关联的所有新增网络都会被添加到同一个生成的 PCB 网络类中。

覆盖区域与参数集指令结合使用时,还可为完全位于覆盖区域所定义范围内的元件应用元件类和参数。为此,请在附加到覆盖区域的参数集指令属性中,使用 Add 按钮下拉菜单中的 Component Class 和 Parameter 选项。更新 PCB 时,元件类和参数信息将在 ECO 过程中传输到项目的 PCB 文档。

间接(基于参数的)指令

当指令作用于原理图中无法包含参数的设计对象时,需要使用参数集指令;而对于能够包含参数的对象,则可以通过将设计指令作为参数添加到相应的原理图对象并进行定义,来间接应用这些指令。本质上,它们是 parameter-based directives。

基于参数的指令的应用示例包括:限制特定元件的高度,或添加作用于设计中所有对象的间距约束。用于定义约束的所需参数会作为规则添加到对象中。

与 PCB 同步时,已添加到原理图对象中的基于参数的指令将转换为 PCB 设计规则。相应 PCB 设计规则的作用范围取决于最初被赋予该参数的对象类型。下表汇总了受支持的原理图参数到 PCB 规则作用范围的对应选项。

将参数(作为规则)添加到…… 通过…… 对应的 PCB 规则作用范围为……
引脚 Properties 面板的引脚模式中的 Parameters 选项卡。 焊盘
端口 Properties 面板的端口模式中的 Parameters 选项卡。 网络
元件 Properties 面板的元件模式中的 Parameters 区域。 元件
图纸符号 Properties 面板的图纸符号模式(在来源区域中选择“本地”时)中的 Parameters 选项卡。 元件类
器件图纸符号 Properties 面板的图纸符号模式(在来源区域中选择“器件”时)中的 Parameters 选项卡。 元件类
受管图纸符号 Properties 面板的图纸符号模式(在来源区域中选择“受管”时)中的 Parameters 区域。 元件类
图纸 Properties 面板的文档选项模式中的 Parameters 选项卡。 所有对象

在上述各种情况下,添加基于规则的参数的方法相同。在相应的选项卡或对话框中,执行以下操作:

  1. 添加一个作为规则的参数。
  2. 选择要使用的规则类型。
  3. 配置所选规则类型的约束。
将设计规则参数添加到原理图对象时,每个规则参数都会被赋予一个唯一 ID。在 PCB 上创建的相应设计规则也会被赋予相同的 ID。借助此唯一 ID,可以在原理图端或 PCB 端编辑规则的约束,并在同步时传递这些更改。

指定元件类

类似地,可以通过向目标元件添加 ClassName 参数,并将其值设置为所需的类名,在原理图中定义元件类。将设计传输到 PCB 时,将创建所定义的元件类。

为确保将原理图中定义的元件类传递到 PCB,必须在 Project Options 对话框中设置以下选项:

  • 启用对话框类生成选项卡中 User-Defined Classes 区域内的 Generate Component Classes 选项。
  • 在对话框的比较器选项卡上,将 Differences Associated with Components » Extra Component Classes Mode 设置 设为 Find Differences。

上面列出的 Class Generation 选项卡选项如下图所示。将鼠标悬停在图像上,可查看 Comparator 选项卡的选项设置。

要将元件类传递到 PCB, 请启用 Class Generation 选项卡上的 Generate Component Classes 选项。将鼠标悬停在图像上可显示 Comparator 选项卡, 您需要在该选项卡中将 Extra Component Classes Mode 设置设为 Find Differences。
要将元件类传递到 PCB, 请启用 Class Generation 选项卡上的 Generate Component Classes 选项。将鼠标悬停在图像上可显示 Comparator 选项卡, 您需要在该选项卡中将 Extra Component Classes Mode 设置设为 Find Differences。

定义完成后,可以在相应元件属性的 Properties 面板中的 Properties 区域锁定这些类。

在 PCB 编辑器中,一个 元件可以属于多个元件类。要在原理图中定义这种关系,请在原理图元件参数值中使用逗号分隔各个 PCB 元件类名称(显示图像)。

控制指令的打印

默认情况下,打印原理图图纸时会包含所有设计指令。不过,可以通过以下方式更改此设置:

根据需要控制指令的打印。对于 No ERC 指令,您可以选择打印某些符号样式,同时排除其他样式。
根据需要控制指令的打印。对于 No ERC 指令,您可以选择打印某些符号样式,同时排除其他样式。

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

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

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

旧版文档

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

Contents