在原理图上操作指令

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.

设计指令(Design Directives)是在设计捕获过程中放置在原理图上的对象,用于指定需要传递给软件其他部分的指令。可用的设计指令可通过以下两种方式使用:

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

以下各节将更深入地介绍这些领域及其相关指令。

与编译相关的指令

设计会随着时间推移而演进,并分阶段完成捕获。每当某个阶段稳定下来时,通常会希望将其与设计的其余部分隔离开来单独检查。在捕获过程的间歇阶段对单个原理图文档(或整个项目)进行编译,往往会产生一些错误消息,这些错误由尚未捕获的电路或仍未完成的电路片段之间的接口连线引起。这类消息并没有实际价值,因为它们只会掩盖真正有用的信息。抑制这些编译错误最快、最简单的方法,就是放置 No ERCCompile Mask 指令。

No ERC 指令

No ERC 指令放置在电路中的某个节点上,用于抑制在验证原理图项目时检测到的所有电气规则检查(ERC)警告和/或错误违规条件 。更多信息请参阅 Validating Your Design Project 页面。

Compile Mask 指令

No ERC 指令非常适合用于抑制设计中少量违规的引脚、端口、页入口或网络。但在某些情况下,可能希望移除整个设计区域(包括元件)。使用 Compile Mask 指令(Place » Directives » Compile Mask command)或在 Active Bar 上的指令下拉菜单中单击 Compile Mask 按钮(),即可有效地将其所包含的设计区域对编译器隐藏,从而手动阻止对尚未完成、且你知道会产生编译错误的电路进行错误检查。如果你需要编译当前文档或项目,以检查设计在其他特定区域的完整性,但又不希望看到与未完成部分相关的编译器消息“噪声”,这会非常有用。

顾名思义,该指令会让编译器忽略任何落在 completely 所定义遮罩边界内的对象。放置遮罩的方式与放置注释或矩形对象完全相同。

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

将鼠标移到图像上可显示使用 Compile Mask 指令隐藏因电路不完整而产生的编译器违规的效果。
将鼠标移到图像上可显示使用 Compile Mask 指令隐藏因电路不完整而产生的编译器违规的效果。

Compile Mask 可显示为展开(完整边框)或折叠(小三角形)两种模式。这两种模式分别对应遮罩启用与禁用。单击已放置 Compile Mask 左上角即可切换显示模式。当 仿真被纳入设计流程时,此功能会很有帮助:learn more
虽然 Compile Mask 可以旋转或沿 X/Y 轴镜像,但这不会影响其内部设计电路的方向。

与 PCB 相关的指令

作为统一设计环境,Altium Designer 允许在进行板级布局之前先定义 PCB 需求。这通过在原理图页上放置的对象中添加并指定参数来实现。

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

以下信息可通过指令进行指定,并会在设计同步期间传递到相应的基于 PCB 的定义中:

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

通过在原理图中包含设计指令,设计工程师可以指定明确的设计约束,并确保原理图始终作为设计的主记录。对设计的任何修改都只需在原理图端完成,然后推送到 PCB。当多人协同设计时——尤其是异地协作——这一点会变得尤为重要。与其通过一连串邮件或电话来沟通,负责原理图录入的人可以确保在布局阶段确实会使用特定约束。 

该功能的核心是 Parameter Set directive

这些本质上是用户自定义的 Parameter Set 对象,可与原理图设计中的网络对象关联。将 PCB Layout 指令放置在导线、总线或信号线束上,以定义一个或多个面向相关网络的设计约束。当从原理图创建 PCB 时,PCB layout 指令中的信息会用于创建相应的 PCB 设计规则。PCB Layout 指令所指定的信息仅应用于该指令所连接的网络(或网络集合)。

一个 Parameter Set 指令。
一个 Parameter Set 指令。

它充当一个容器,可包含任意数量、面向该 Parameter Set 指令所附着网络的参数。可以放置一个不含参数的默认 Parameter Set 指令(Place » Directives » Parameter Set) ,并在之后再添加相关参数。以下各节将更深入地介绍如何使用这些基于参数的指令。既提供用户自定义(Parameter Set)也提供预定义(Differential Pair)的参数集指令。空参数集与预定义参数集的唯一区别在于:预定义参数集包含一个参数,具体如下所述。

请参阅 Defining Differential Pairs in Your Schematics 页面,了解更多关于使用 Differential Pair 指令的信息。

Moving from Directives to the Constraint Manager

最初定义设计需求的方法,是在原理图编辑器与 PCB 编辑器中分别处理:在原理图编辑器中用 Directives 定义,在 PCB 编辑器中用 Design Rules 定义。随着 Constraint Manager 的引入,这种分离已得到解决。Constraint Manager 是一个用于定义设计需求的独立编辑器,允许在设计流程的任何阶段进行配置与编辑。对于同一个项目只能使用一种方式;一个简单的检查方法是查看 Design menu 中是否有 Constraint Manager 条目。如果没有(而是在 PCB 编辑器 Design menu 中有 Rules 条目),则该项目使用的是较旧的 Design Rules 方法。

如果正在使用 Constraint Manager,则通过 parameter set 与 differential pair 指令定义的网络类、差分对、差分对类以及规则,在从原理图更新 PCB 时将not不会被检测并传递。只会传递在 Constraint Manager 中定义的网络类、差分对、差分对类以及规则。

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

放置 Parameter Set 指令

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

除用户自定义的参数指令外,还可从 Choose Design Rule Type dialog 定义基于规则的参数指令;该对话框可从参数关联的 Properties panel 模式进入。访问步骤如下:

  1. 在放置 Parameter Set 之前按下 Tab,或双击已放置的 Parameter Set directive ,以显示 Properties panel 的 Parameter Set mode

  2. 接着,在 Properties panel 的 Parameter Set mode 的 Parameters 区域中单击 Add 按钮,并从下拉菜单中选择 Rule,以在 Choose Design Rule Type dialog 中选择一条规则。

 
 
 
 
 

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

使用 Choose Design Rule Type dialog 选择你希望作为规则参数添加到该指令中的规则。双击某个规则类型将打开相应的 Edit PCB Rule (From Schematic) dialog,你可以在其中定义该规则的约束条件。

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

例如,下图显示了 Max-Min Width RuleEdit PCB Rule (From Schematic) dialog,你可以:为所有层配置 Min/Preferred/Max 设置;为每一层手动定义各自的宽度设置;或选择使用 Impedance Profile。如果你选择阻抗配置文件,并且 PCB 编辑器中已定义实际的物理板结构,你还可以选择板文件以 Load the PCB Layer Stack and calculate the track width values

如果 PCB 已存在且已定义层叠结构,则可将计算得到的线宽加载到原理图中。如果 PCB 已存在且已定义层叠结构,则可将计算得到的线宽加载到原理图中。

上述规则应用于一个网络类。这是通过放置一个 Blanket Directive 并附加一个 PCB Routing Directive 来将网络分组为一个类,然后对该类应用 Max-Min Width Rule(show image)来实现的。

有关每条 PCB 设计规则与约束的详细信息,请单击 此处

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

 
 
 
 
 

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

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

为特定网络定义的多个规则约束,来自 Parameter Set 指令。
为特定网络定义的多个规则约束,来自 Parameter Set 指令。

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

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

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

放置 Net Class 指令

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

如果已为某个网络定义了 Net Class 指令,那么当设计传输到 PCB 编辑器时,由该参数集对象同时创建的任何 PCB 设计规则,其规则作用域将为 Net Class 。可以通过在已放置的 Parameter Set 指令中添加一个类来创建 Net Class 指令,并将该类的值设置为所需的 PCB Net Class。

虽然可以在 PCB 编辑器中创建 Net Class,但网络的逻辑功能或分组通常在原理图中更清晰,因此从原理图驱动该流程通常更合理。

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

将 Net Class 指令附加到 Blanket 对象,可创建一个网络类,其成员为该 Blanket 覆盖的各个网络。如果该 Blanket 上还附加了 PCB Layout 指令,则 PCB Layout 指令的规则参数将以该网络类为目标,而不是以每个单独网络为目标。将更改导入 PCB 文档时,这会导致每个参数只创建一条设计规则,并将作用域设置为目标网络类。

放置 Blanket 指令

Parameter Set 指令只能作用于其所附加的特定网络,但与 Blanket 指令结合使用时,其作用域可扩展为覆盖 Blanket 内的所有网络。

通过从主菜单选择 Place » Directives » Blanket 命令来放置此类指令。放置 Blanket 时,你可以定义简单的矩形形状或多边形形状。后者能更精确地控制对页面上所需网络对象的覆盖范围。

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

要检查 Blanket 指令将应用到哪些网络,请使用 Net Colors 功能将其高亮显示。从 View » Set Net Colors 菜单中选择所需颜色,然后单击所需 Blanket 指令的周界。要清除特定网络的高亮显示,请使用 View » Set Net Colors » Clear Net Color 命令,然后单击你希望移除着色的网络。要清除所有原理图页面上的网络着色,请使用 View » Set Net Colors » Clear All Net Colors 命令。

使用 Blanket 指令将 Parameter Set 指令应用到 Blanket 内网络的示例。
使用 Blanket 指令将 Parameter Set 指令应用到 Blanket 内网络的示例。

Blanket 指令的示例用法包括:

  • 将 Parameter Set 指令附加到 blanket 对象,使其规则参数应用到该 blanket 覆盖的每个单独网络。
  • 将 Parameter Set 指令附加到 blanket 对象,以创建一个 Parameter Set,其成员为该 blanket 覆盖的各个网络。
  • 将 Differential Pair 指令附加到 blanket 对象,以基于该 blanket 范围内的差分网络创建差分对对象。
将 Parameter Set 指令附加到 Blanket 对象 ,使其规则参数应用到该 blanket 覆盖的每个单独网络。如果该 blanket 上还附加了 Parameter Set 指令,并且该 Parameter Set 也包含 Net Class 参数,则 Parameter Set 指令的规则参数将以该网络类为目标,而不是以每个单独网络为目标。将更改导入 PCB 文档时,这会导致每个参数只创建一条设计规则,并将作用域设置为目标网络类。
你也可以复制一个周界 Parameter Set 指令,并将其附加到另一个 Blanket 指令,甚至附加到单独的导线、总线或线束上——结果是:与同一生成的 PCB Net Class 相关联的所有新增网络,都会被添加到同一个由该 Parameter Set 指令生成的 PCB Net Class 中。

Blanket 与 Parameter Set 指令结合使用时,也可用于为完全位于 Blanket 定义区域内的器件应用器件类与器件参数。为此,请在附加到 Blanket 的 Parameter Set 指令属性中,使用 Add 按钮下拉菜单中的 Component ClassParameter 选项。关于器件类与参数的信息将在更新 PCB 的 ECO 过程中传输到项目 PCB 文档。

间接(基于参数的)指令

当需要在原理图中针对那些无法包含参数的设计对象时,就必须使用 Parameter Set directives;但对于能够包含参数的对象,也可以通过将设计指令作为参数添加(并定义)到相关原理图对象上,从而间接应用设计指令。本质上,它们是 parameter-based directives

基于参数的指令的使用示例包括:限制某个特定器件的高度,或添加一个以设计中所有对象为目标的间距(clearance)约束。用于定义该约束的所需参数会作为规则添加到对象上。

与 PCB 同步后,添加到原理图对象上的基于参数的指令将成为 PCB 设计规则。相应 PCB 设计规则的作用域将由最初分配该参数的对象类型决定。下表汇总了所支持的“原理图参数 → PCB 规则作用域”选项。

将参数(作为规则)添加到… 从… 对应的 PCB 规则作用域为…
引脚 在 Properties panel 的 Pin 模式下的 Parameters 选项卡 焊盘
端口 在 Properties panel 的 Port 模式下的 Parameters 选项卡 网络
元件 在 Properties panel 的 Components 模式中的 Parameters 区域 元件
Sheet Symbol 当在 Source 区域选择 Local 时,位于 Properties panel 的 Sheet Symbol 模式下的 Parameters 选项卡 元件类
Device Sheet Symbol 当在 Source 区域选择 Device 时,位于 Properties panel 的 Sheet Symbol 模式下的 Parameters 选项卡 元件类
Managed Sheet Symbol 当在 Source 区域选择 Managed 时,位于 Properties panel 的 Sheet Symbol 模式中的 Parameters 区域 元件类
工作表 在 Properties panel 的 Document Options 模式下的 Parameters 选项卡 所有对象

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

  1. 添加一个参数作为规则。
  2. 选择要使用的规则类型。
  3. 为所选规则类型配置约束条件。
当向原理图上的对象添加设计规则参数时,每个规则参数都会被分配一个唯一 ID。PCB 上创建的对应设计规则也会使用相同的 ID。借助该唯一 ID,可以在原理图端或 PCB 端编辑规则的约束,并在同步时将更改推送过去。

指定元件类

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

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

  • 启用位于对话框 Class Generation tabUser-Defined Classes 区域中的 Generate Component Classes 选项。
  • 在对话框的 Comparator tab 上,将 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 panel 的 Properties 区域中锁定这些类。

在 PCB 编辑器中,一个 元件可以属于多个元件类。要在原理图中定义这一点,请在原理图元件参数值中用逗号分隔每个 PCB 元件类名称(show image)。

控制指令的打印

默认情况下,所有设计指令都会包含在原理图图纸的打印输出中。不过,这一行为可以更改:

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

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

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

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

旧版文档

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

Content