父页面: 关于原理图的更多信息
Altium Designer 使用设计指令作为捕获传递给软件其他部分的指令的手段。它们是仅在原理图表单内放置的对象。有多种此类指令可用,其使用可以与以下两个领域相关联:
- 与源原理图文件编译相关的指令。
- 用于将原理图表单上定义的信息传递到 PCB 的指令。
以下部分将更深入地了解这些领域及相关指令。
与编译相关的指令
设计随着时间的推移而发展,并且是分阶段捕获的。当每个阶段确定下来时,通常会希望将其与设计的其余部分隔离开来进行检查。在捕获过程的间歇阶段对单个原理图文件(或整个项目)进行编译,通常会产生许多错误消息,这些消息是由尚未捕获的电路或仍然不完整的电路片段之间的接口布线引起的。这些消息没有真正的价值,因为它们只会在真实信息周围产生噪音。抑制这些编译错误最快最简单的方法是放置无 ERC或编译屏蔽指令。
无 ERC 指令
对象页面: 无 ERC
无 ERC 指令放置在电路中的一个节点上,以抑制在编译原理图项目时检测到的所有报告的电气规则检查警告和/或错误违规条件。在电路中的某个点使用无 ERC 指令,有意限制错误检查,您知道这会产生警告(例如未连接的引脚),同时对电路的其余部分进行全面检查。
无 ERC 指令支持多种不同的样式,并且可以以任何颜色显示。使用这种能力来反映电路中该点的设计意图。
选择最能反映电路中该点功能的无 ERC 样式。
无 ERC 指令有两种操作模式:
- 抑制所有违规 - 在这种模式下,所有可能的警告和/或错误条件都被抑制。在这种模式下,该指令通常被称为通用无 ERC指令。
- 抑制特定违规 - 在这种模式下,只有选定的警告或错误条件被抑制;任何其他警告或错误将被检测并报告。在这种模式下,该指令通常被称为特定无 ERC指令。
通过在
项目选项对话框的
错误报告标签上启用
在消息面板中报告抑制的错误选项,可以在
消息面板中显示被抑制的错误。这个功能可以在设计的最后阶段使用,以确保没有意外抑制任何关键错误。
示例用法
您是否遇到过“网络没有驱动源”的警告,只是发现这个消息可以安全地忽略?也许是一个输入引脚从一个连接器供电,该连接器的引脚通常是被动的,驱动信号只有在外部电缆插入时才存在?或许网络是由上拉电阻或开关供电,同样是被动的?可以采取以下策略之一来解决这个警告:
- 您可以更改网络上源引脚的电气特性。这是一种修复而不是抑制,但由于它涉及到改变引脚的默认操作模式,可能会在后面造成麻烦。例如,考虑对设计进行的接线更改,其中没有启用引脚方向的图形显示。这样的更改可能导致输出被连接到被动设备的引脚。如果该设备的引脚已经被电气设置为输出(以缓解之前的驱动源警告),那么您将创建一个连接违规。
- 您可以设置与相关违规检查相关的报告模式 - 在项目选项对话框的错误报告选项卡上定义 - 为不报告。这将禁用对这个特定违规的检查,但您也无法捕获设计中其他地方的任何真正错误。
- 第三个(也可以说是最好的)选项是在网络上放置一个No ERC指令。您没有以任何方式改变设计,只是为了抑制您知道不是问题的警告消息“噪音”。
在您知道会引起“没有驱动源”警告的网络上放置No ERC指令。
放置
可以通过多种方式在原理图文档中放置No ERC指令:
选择要抑制的违规,然后点击确定在电路中的那一点放置一个定制的、特定的No ERC指令。
- 通过在工作区中的违规对象(由波浪形彩色线条突出显示)上右键单击,并从上下文菜单中选择放置NoERC以抑制命令,在电路中已显示违规的点上放置特定的No ERC指令。
使用右键上下文菜单放置特定的No ERC指令。
使用消息面板中的右键上下文菜单放置特定的No ERC指令。
该命令仅在消息是网络相关的编译器违规时可用。
编辑
在放置过程中,当No ERC对象仍然浮动在光标上时,可以执行以下编辑操作:
- 按Tab键访问No ERC对话框,从中可以即时更改No ERC对象的属性。
- 按空格键使No ERC对象逆时针旋转或Shift+空格键顺时针旋转。旋转步长为90°。
- 按X键或Y键分别沿X轴或Y轴镜像No ERC对象。
一旦放置,No ERC指令可以通过多种方式进行修改:
- 通过No ERC对话框。除了一般属性,如颜色、样式和旋转外,可以通过将电气属性选项从抑制特定违规(特定)更改为抑制所有违规(通用),反之亦然,从而将指令从特定切换为通用。
通过关联的No ERC对话框更改No ERC指令的属性。您可以快速
切换屏蔽特定违规和屏蔽所有违规(将鼠标悬停在图像上
查看对话框的更改)。
通过SCH列表或SCH检查器面板更改所选No ERC指令的属性。
- 从NoERC管理器对话框。通过主菜单中的工具»NoERC管理器命令访问,此对话框使您能够查看和编辑整个项目中使用的所有No ERC指令。NoERC管理器对话框允许您浏览应用了指令的网络列表并编辑任意数量的No ERC指令。编辑完成后,点击生成ECO按钮应用所有更改。
使用NoERC管理器对话框查看和编辑整个设计中的指令。已修改的指令将被
突出显示;然后通过ECO系统应用更改。
停用
与其删除No ERC指令,不如简单地使其处于非活动状态(在编译器眼中被禁用)。可以通过任何编辑方法切换指令的活动属性来更改此状态。非活动状态的No ERC指令将在工作区中显示为灰色。
如果您需要暂时移除No ERC指令的使用,只需将其设置为非活动状态,而不是删除它。
编译屏蔽指令
对象页面: 编译屏蔽
没有ERC指令对于抑制设计中违规引脚、端口、表格条目或网络的数量很少是很好的。但在某些情况下,可能需要移除设计的整个部分;包括组件。使用编译屏蔽指令(放置 » 指令 » 编译屏蔽命令)可以有效地将其包含的设计区域隐藏起来,允许您手动防止对尚未完成且您知道会产生编译错误的电路进行错误检查。如果您需要编译活动文档或项目以检查设计的其他特定区域的完整性,但不希望有与未完成部分的设计相关的编译器生成的消息的“噪音”,这可能非常有用。
顾名思义,这个指令只是指示编译器忽略完全在定义的屏蔽范围内的任何对象。像放置注释或矩形对象一样放置屏蔽。
考虑下图中的示例原理图电路,其中LCD1设备的接线尚未完成。仅编译此原理图(项目 » 编译文档)将导致许多违规消息(也显示在图中),每个消息都是由不完整的电路引起的。将鼠标悬停在图像上,查看在不完整电路周围放置编译屏蔽指令的效果。编译器将忽略这些违规,而原理图上的其余电路 - 完全接线的部分 - 将被检查。请注意,真正被屏蔽的对象 - 那些完全落在屏蔽矩形边界内的对象 - 将显示为灰色。
将鼠标滑过图像以显示使用编译屏蔽指令隐藏由于电路不完整而导致的编译器违规的效果。
编译屏蔽可以以展开(完整框架)或折叠(小三角形)模式显示。这些模式分别对应于屏蔽启用和禁用。通过点击放置的编译屏蔽的左上角来切换显示模式。
虽然编译屏蔽可以沿X轴或Y轴旋转或镜像,但这对屏蔽内的设计电路的方向没有影响。
应用于可仿真设计
由于编译屏蔽指令覆盖的设计的所有元素对设计编译器都是不可见的,它们将被省略在设计之外。当仿真包含在设计流程中时,这个功能可以得到很好的利用。
电压和电流源是运行电路仿真时必需的元素,但它们在完成的PCB上没有位置。通过对电路的结构进行少量规划,通常可以将所有特定于仿真的组件分组在设计的一个部分 - 然后可以轻松地用编译屏蔽指令覆盖这一部分。
当电路用于仿真时,编译屏蔽指令被禁用以显示特定于仿真的组件。一旦电路经过验证并准备好包含在设计中,编译屏蔽指令可以重新启用,以便将特定于仿真的组件排除在设计之外。如果设计将来需要再次更改,只需简单地禁用编译屏蔽指令(再次显示特定于仿真的组件),就可以在签署前快速执行另一个仿真过程。
最初,编译掩码指令是禁用的,使电路准备好进行仿真。将鼠标悬停在图片上以显示启用的编译掩码指令,
从而隐藏设计中的仿真源。
与PCB相关的指令
对象页面: 参数集
作为统一设计环境,Altium Designer提供了在布局电路板之前定义PCB要求的能力。这是通过在原理图表上放置的对象添加和指定参数来实现的。
对于某些原理图设计对象 - 如组件、表符号、端口等 - 这只涉及将相关参数作为该对象属性的一部分添加。对于网对象,如线和总线,不能直接将参数作为线或总线的属性添加。相反,需要使用专用的设计指令来指定保存信息的参数。
以下信息可以使用指令指定,并在设计同步期间转移到适当的基于PCB的定义中:
通过在原理图中包含设计指令,设计工程师可以指定明确的设计约束,并确保原理图保持设计的主记录。对设计的任何修改都将仅在原理图方面进行,并推送到PCB。当多人参与设计时,这尤其重要 - 特别是如果他们地理位置分散。设计人员可以确保在布局阶段确实使用了特定的约束,而不是试图通过电子邮件链或电话通话彼此沟通。
这项功能的核心是 参数集指令。
一个参数集指令。
这充当附加到的网络的参数集指令的容器。可以放置一个默认的参数集指令(放置 » 指令 » 参数集),并向其添加相关参数。然而,对于前面列出的三种信息类型,可以使用预定义的参数集指令(从同一子菜单中获得)。以下部分将更仔细地查看使用这些基于参数的指令。
PCB布局指令
这本质上是一个预配置的参数集对象,可以与原理图设计中的网络对象关联。在线、总线或信号束上放置PCB布局指令,以定义针对相关网络的一个或多个设计约束。从原理图创建PCB时,PCB布局指令中的信息用于创建相关的PCB设计规则。PCB布局指令指定的信息仅适用于与其连接的网络(或一组网络)。
通过选择主菜单中的放置 » 指令 » PCB布局命令来放置此类指令。此类指令中定义的参数必须是基于规则的参数。新放置的PCB布局指令中存在一个默认的未定义值的规则参数,应进行修改。规则参数是从选择设计规则类型对话框中定义的,可通过参数的关联属性对话框访问。访问包括以下步骤:
- 在放置PCB布局指令之前按Tab键,或双击已放置的PCB布局指令,以显示其参数对话框。
- 在参数对话框中选择规则条目(如果有多个),然后点击编辑按钮打开参数属性对话框。
- 接下来,点击编辑规则值按钮以访问选择设计规则类型对话框,从中可以指定PCB规则。
编辑PCB布局指令中的规则值。
使用选择设计规则类型对话框来选择您希望作为指令规则参数添加的规则。双击规则类型将让您访问相关的编辑PCB规则(来自原理图)对话框,从中您可以定义规则的约束。
为所选规则指定约束。
参数的值字段的条目将是所选的规则类型以及指定的约束。下图展示了为PCB布局指令定义的几个规则参数。
为特定网络定义的多个规则约束,由PCB布局(参数集)指令提供。
当设计通过同步过程转移到PCB时,将根据指令中包含的信息创建相关的设计规则。每个生成的规则名称中都使用了原理图一词,以区分该规则的来源。
在PCB侧生成的设计规则。
附加到导线上的PCB布局指令将生成一个规则范围为网络(例如InNet('LCD_LIGHT'))的设计规则。如果指令附加到总线或信号束上,生成的设计规则将具有网络类(例如InNetClass(LEDS[7..0]))的规则范围。
将PCB布局指令附加到
Blanket对象上,以便将其规则参数应用到被该blanket覆盖的每个单独的网络上。如果一个网络类别指令也附加到那个blanket上,PCB布局指令的规则参数将针对那个网络类别,而不是每个单独的网络。当将更改导入到PCB文档时,这将导致创建单个设计规则(每个参数一个),其范围设置为针对网络类别。
规则同步
规则指令与其对应的PCB规则之间的同步是通过使用唯一ID来维护的。在原理图上向对象添加设计规则参数时,每个参数都会被赋予一个唯一的ID。相应的在PCB中创建的设计规则也会被赋予相同的ID。有了这个唯一ID,规则的约束可以在原理图或PCB侧进行编辑,并在同步时推送更改。
通过使用唯一ID,保持原理图和PCB之间定义的规则同步。
网络类别指令
这本质上是一个预配置的参数集对象,可以与原理图设计中的网络对象关联。网络类别指令使您能够在原理图上创建用户定义的网络类别。从原理图创建PCB时,网络类别指令中的信息用于在PCB上创建相应的网络类别。要使网络成为网络类别的成员,请将网络类别指令附加到相关的线、总线或信号束上,并将指令的ClassName参数设置为所需类别的名称。
虽然网络类别可以在PCB编辑器内相当容易地创建,但网络的逻辑功能或分组在原理图中通常更加清晰,因此从那里驱动过程更有意义。
通过从主菜单选择放置 » 指令 » 网络类别命令来放置此类指令。新放置的网络类别指令包含一个默认参数,名称为ClassName,值未定义。只需编辑此参数的值,即可定义网络类别的名称。
Click here to expand or collapse this section
为了确保原理图定义的网络类别传播到PCB,必须在PCB项目选项对话框中设置以下选项:
- 启用位于对话框类生成标签页的用户定义类别区域中的生成网络类别选项。
- 在对话框的比较器标签页上,将与网络相关的差异 » 额外网络类别检查模式设置为查找差异。
要将网络类别指令传播到PCB,需要配置两个项目选项。首先,在类别生成标签页上启用生成网络类别选项。滚动
图片显示比较器标签页,在那里您需要将额外网络类别选项设置为查找差异。
当设计通过同步过程传输到PCB时,将根据指令中包含的信息创建相关的网络类别。
在PCB侧生成的网络类别示例。
将网络类别指令附加到
Blanket对象上,以创建一个网络类别,其成员是被该blanket覆盖的各个网络。如果一个PCB布局指令也附加到那个blanket上,PCB布局指令的规则参数将针对那个网络类别,而不是每个单独的网络。当将更改导入到PCB文档时,这将导致创建一个单一的设计规则(每个参数一个),其范围设置为针对网络类别。
差分对指令
这本质上是一个预配置的参数集对象,它允许您在原理图上定义一个差分对。将这种类型的指令附加到预定对的正负网络上。网络本身必须分别以后缀_P和_N命名。
通过从主菜单选择放置 » 指令 » 差分对命令来放置这种类型的指令。该指令包含一个单一的参数条目,名称:DifferentialPair和值:True。这种类型的每对指令(一个用于正网络,一个用于负网络)在传输到PCB时将产生一个单一的差分对对象。
示例在原理图上放置差分对指令的位置。需要两个指令 - 一个在正网上,另一个在负网上,用于配对。
当设计通过同步过程转移到PCB时,每对指令将创建一个单独的差分对对象。在PCB侧生成的差分对对象的名称将是原理图上网络对的根名称。例如,在原理图上添加到D_N和D_P的指令,将在PCB上生成一个名为D的差分对对象。每个生成的差分对对象将被添加到默认的差分对类:<All Differential Pairs>。您只能在PCB侧重命名差分对对象。
可以使用配置为差分对编辑器模式的PCB面板快速验证生成的差分对对象。
使用PCB面板(配置为其差分对编辑器模式)验证PCB侧创建的差分对。
通过将差分对指令附加到
空白指令的边缘,您可以快速基于该空白内的差分网络创建差分对对象。
空白指令
对象页面: 空白
参数集指令只能针对它们附加到的特定网络,但是当与空白指令结合时,它们的范围可以扩展到覆盖空白内的所有网络。
通过从主菜单选择放置 » 指令 » 空白命令来放置此类指令。放置空白时,您可以定义一个简单的矩形形状,或者一个多边形形状。后者可以更精确地控制所需网络对象在工作表上的覆盖范围。
空白标识感兴趣的网络 - 在空白的边缘的任何地方放置一个参数集指令(放置 » 指令),以将设计要求应用于这些网络。要将边缘指令应用于空白指令下的网络,与该网络相关联的对象 - 引脚、端口、网络标签、电源端口、线/总线/线束段(包括两端) - 必须落在空白的范围内。请注意,对于网络标识符,如网络标签,热点必须在空白内。如果成员网络没有按预期进入PCB网络类,请相应调整空白区域。
使用毯子指令将网络类指令(参数集指令)应用于毯子内的网络的示例。
毯子指令的示例用法可能包括:
- 将PCB布局指令附加到毯子对象,以便将其规则参数应用于该毯子覆盖的每个单独网络。
- 将网络类指令附加到毯子对象,以创建一个网络类,其成员是该毯子覆盖的单独网络。
- 将差分对指令附加到毯子对象,以根据毯子范围内的差分网络创建差分对对象。
- 将网络类指令和PCB布局指令同时附加到毯子对象。PCB布局指令的规则参数将针对该网络类,而不是每个单独的网络。将更改导入到PCB文档时,这将导致创建单个设计规则(每个参数),其范围设置为针对网络类。
您还可以复制一个周边网络类指令并将其附加到另一个毯子指令或甚至单个线、总线或线束 - 结果将是将所有与同一网络类指令相关联的额外网络添加到生成的PCB网络类中。
请记住,可以将多个参数添加到同一个参数集指令中,以便于原理图的整洁。
间接(基于参数的)指令
参数集指令在针对原理图中不能包含参数的设计对象时是必需的,但对于那些可以包含参数的对象,可以通过将设计指令作为参数添加(并定义)到相关原理图对象中来间接应用设计指令。本质上,它们是基于参数的指令。
基于参数的指令的使用示例可能包括限制特定组件的高度,或添加针对设计中所有对象的间隙约束。所需的定义约束的参数以与添加到PCB布局指令的参数相同的方式添加到对象作为规则。
与PCB同步时,已添加到原理图中对象的基于参数的指令将成为PCB设计规则。相应PCB设计规则的范围将由首次分配参数的对象的性质决定。下表总结了支持的原理图参数到PCB规则范围选项,包括通过放置PCB布局指令定义的选项。
在每种情况下,添加基于规则的参数的方法都是相同的。从相应的标签页或对话框中,只需执行以下操作:
- 作为规则添加参数。
- 选择要使用的规则类型。
- 为所选的规则类型配置约束。
在原理图上为对象添加设计规则参数时,每个规则参数都会被赋予一个唯一的ID。相应的在PCB上创建的设计规则也会被赋予同样的ID。通过这个唯一ID,规则的约束可以在原理图或PCB侧进行编辑,并在同步时推送更改。
指定组件类别
同样地,可以通过在目标组件上添加一个ClassName参数并将其值设置为所需的类别名称,在原理图上定义组件类别。当设计转移到PCB时,将创建定义的组件类别。
为了确保原理图定义的组件类别传播到PCB,必须在PCB项目选项对话框中设置以下选项:
- 在对话框的类别生成标签页的用户定义类别区域,启用生成组件类别选项。
- 在对话框的比较器标签页上,将与组件相关的差异 » 额外组件类别检查模式设置为查找差异。
要将组件类别传播到PCB,需要配置两个项目选项。首先,在类别生成标签页上启用生成组件类别选项。将鼠标悬停在图片上以显示比较器标签页,在那里您需要将额外组件类别选项设置为查找差异。
控制指令的打印
默认情况下,在打印原理图时会包括所有设计指令。然而,这可以被更改:
根据需要控制指令的打印。对于无ERC指令,您可以选择打印某些符号样式,同时排除其他样式。