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