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