多图纸和多通道设计
父页面: 关于原理图的更多信息
原理图最初是在足够大的纸张上捕捉的,这些纸张足以填满一个大型绘图桌,然后在专用的大幅面复印机上复制。时代已经变化,现在原理图是在桌面电脑上捕捉的,存储在服务器上,并且用小幅面激光打印机打印。
这种变化意味着,即使是简单的设计,如果能在多个原理图纸张上展示,也会更容易被显示和理解。即使设计并不特别复杂,在多个纸张上组织它也有优势。
例如,设计可能包括各种模块化元素。将这些模块作为单独的文档维护,可以让多个设计师同时在一个项目上工作。将设计分解成逻辑模块也极大地增强了设计的可读性,这对于那些需要在产品生命周期后期阅读和解释原理图的人来说是一个重要的考虑因素。另一个优势是,当设计在多个纸张上结构化,每张纸上的组件较少时,可以使用小幅面打印,例如激光打印机。
如果你计划将设计分布在多个纸张上,有两个决定要做:
- 纸张之间的结构关系,以及
- 在这些纸张上的电路之间用于电气连接的方法。
你的选择将根据每个项目的大小和类型以及你的个人偏好而有所不同。
扁平或层次化设计
如前所述,作为设计师,你需要决定原理图纸张是如何组织的,以及如何在这些纸张之间建立连接性。这些不是独立的决定,因为当你选择结构时,你也需要选择如何创建这些纸张之间的连接。
有两种方法来构建多纸张设计:要么是扁平,要么是层次化。
扁平设计
你可以将扁平设计想象为一个大型原理图纸张被切割成许多小纸张 - 在扁平设计中,所有纸张都存在于同一层面上。扁平设计中的连接性是直接从任何一张纸张创建到任何其他纸张的 - 这种类型的连接性被称为水平连接性。
在扁平设计中使用顶层纸张是可选的。如果包括一个顶层纸张,它将有一个纸张符号代表设计中的每一张纸张,但不能包括任何接线。在扁平设计中可以有任意数量的纸张。
上面的两幅图像都展示了一个平面设计,左边的版本没有顶层,右边的版本有。对于只有两到三个原理图的小型设计,你可能会决定顶层并没有增加任何价值。一旦原理图数量增多,顶层可以帮助读者通过逻辑块(原理图符号)在原理图上的排列方式来理解电路设计的功能。所有的原理图在项目面板中显示在同一层级,因为没有层次结构。
分层设计
分层设计是指通过原理图符号创建父子类型关系的设计,并且,连接是通过这些原理图符号中的原理图入口,而不是直接从一个原理图的端口到另一个原理图的端口。
就像在平面设计中一样,通过在原理图符号中定义其文件名来识别子原理图。在分层设计中,子原理图也可以包括原理图符号,引用更低级别的原理图,从而在层次结构中创建另一个层级。下面的图像显示了一个有三个层级的分层设计。
在分层设计中,子原理图上的信号通过端口离开原理图,向上连接到父原理图上原理图符号中的匹配原理图入口。父原理图包括将子信号跨越到另一个原理图符号中的原理图入口的接线,然后它向下传递到第二个子原理图上的匹配端口,如下图所示。
这种父子原理图结构可以定义到任何深度,并且在分层设计中可以有任意数量的原理图。
创建多图纸设计
一旦您向项目中添加了第二个原理图图纸,您就创建了一个多图纸设计。如果您打算创建一个没有顶层图纸的平面设计,您只需继续向项目中添加原理图图纸,并确认网络标识符范围设置正确。
如果您想使用图纸符号来引用下级图纸,您可以放置图纸符号并手动编辑它以正确引用下级图纸,或者您可以使用下面描述的各种内置命令来帮助操作。
引用子图纸
是图纸符号的文件名属性引用了下级图纸。请注意,此字段应仅包括原理图文件名,不包括该文件位置的路径(该位置数据实际上存储在项目文件中)。
创建层次结构
该软件包括许多命令,允许您快速高效地构建多文档的层次结构。您使用的命令将取决于您的个人设计方法论 - 可以广泛地分类为自顶向下或自底向上。这些命令比手动创建层次结构更有效,因为它们处理了流程中所需的所有元素,例如添加图纸条目,创建新的原理图图纸,放置端口等。
使用此命令以自顶向下的方式构建层次结构:
设计 » 从表符号创建表 - 使用此命令在指定的表符号下创建一个新的原理图表。子表中将添加端口以匹配表符号中找到的任何表条目。如果您还没有在表符号中包含所有的表条目,也不用担心,如果随着时间的推移添加了更多的表条目,您可以重新同步表条目和端口,如下所述。
使用此命令以自下而上的方式构建层次结构:
- 设计 » 从表创建表符号 - 使用此命令从指定的原理图表创建一个符号。要使用此命令,请先切换到将包含新表符号的表,然后启动命令。表符号将包括一个表条目,以匹配它找到的每个端口。如果端口或表条目在后期被添加或移除,它们可以重新同步,如下所述。
使用此命令重新组织设计中的电路布置:
- 编辑 » 重构 » 将选定的子电路移动到不同的表 - 使用此命令将选定的组件和布线移动到项目中的不同表。将打开选择目标文档对话框,允许您选择项目中的任何现有原理图。下面将更详细地描述此命令。
重构设计
主要文章: 设计重构
设计过程通常是非结构化和有机的,设计师可能同时在设计的多个部分构思想法,捕捉他们的想法演变的部分。这意味着,最初组织良好、布局整齐的原理图集可能会变得拥挤和组织混乱。虽然您可以剪切、复制和粘贴来重新组织原理图设计,但这并不总是最好的方法。
为什么不剪切和复制?因为每个组件放置时都会被分配一个唯一标识符,而这个标识符在组件被剪切/复制和粘贴时会自动重置。这种UID管理是为了确保设计中只使用一个UID实例,因为它是将原理图组件与PCB组件链接的关键字段。如果设计尚未转移到PCB编辑器,剪切/复制/粘贴方法是可以的,但如果已经转移,则最好使用重构工具。
将子电路移动到另一个表
将电路的一部分从一个表移动到另一个表的最简单方法是选择它,然后运行编辑 » 重构 » 将选定的子电路移动到不同的表命令。选择目标文档对话框将打开,在您选择目标表并点击确定后,目标表将出现,子电路将浮动在光标上,准备定位。
► 了解更多关于设计重构。
同步端口和页面条目
如果您在重构设计时移动了组件和布线,那么您可能还需要重新同步子页面到其页面符号,以便每个端口都有匹配的页面条目。这可以通过使用同步页面条目和端口命令来完成,您可以用它来:
- 特定的页面符号 - 右键点击页面符号以显示上下文菜单,并选择页面符号操作 » 同步页面条目和端口命令来仅分析光标下的页面符号。
- 设计中的所有页面符号 - 选择设计 » 同步页面条目和端口命令来分析整个设计中的所有页面符号,对话框将包括设计中每个页面符号的标签页,根据对话框底部的仅显示不匹配的页面符号选项。
对于这两个命令,同步端口到页面条目对话框将会打开。它将在对话框的右侧列出已匹配的端口/页面条目,未匹配的端口和页面条目将在对话框左侧的两列中列出。
关注对话框左侧显示的不匹配项,其思路是在第一列中选择页面条目,然后在第二列中选择正确的端口,然后点击对话框中间的相应按钮来更新其中一个,以便它们同步(并移动到对话框右侧的列表中)。
按钮的功能如下:
- - 使用表格条目的属性,并将它们推送到选定的端口。
- - 使用端口的属性,并将它们推送到选定的表格条目。
如果在左侧列中选择了多个表格条目,软件将同步每个表格条目与第二列中相邻的端口。如果没有相邻的端口(或表格条目),则会创建一个新的。
多通道设计
电子设计包含重复电路部分的情况并不少见。它可能是立体声放大器,或者是64通道混音台。这种类型的设计完全得到了一套称为多通道设计的功能集的支持。
在多通道设计中,你只需捕获一次重复电路,然后指导软件重复所需次数。当设计编译时,它会在内存中展开,所有组件和连接都会根据用户定义的通道命名方案重复所需次数。
你捕获的逻辑设计实际上从未被展平,源始终保持为多通道原理图。当你将其转移到PCB布局时,物理组件和网络会自动按所需次数分步展开。你可以完全访问在原理图和PCB之间工作时可用的标准交叉探测和交叉选择工具。PCB编辑器中还有一个工具可以复制一个通道的放置和布线到所有其他通道,并且可以轻松移动和重新定位整个通道。
统一数据模型
要理解多通道设计,了解设计数据是如何管理的会有所帮助。软件的一个基本元素是统一数据模型(UDM)。当项目编译时,会创建一个单一的、连贯的模型,它位于设计过程的中心。然后可以使用软件中的各种编辑器和服务访问和操作模型中的数据。UDM的结构旨在容纳来自设计所有方面的所有信息,包括组件及其连接性。
UDM与分层设计系统结合使用,以提供多通道设计能力。"通道"是Sheet Symbol内的电路 - 在这个Sheet Symbol下可以是单个工作表,也可以是包含其他子工作表的项目结构的整个分支。您还可以在通道内创建通道,在二级多通道设计中,上层通道被称为银行,下层通道被称为通道。
因为这个完整的、准备好的PCB描述存在于内存中,所以只要有系统的方法来处理重复的对象,如组件指定器和网络,就可以重复电路的一部分。系统命名在项目选项对话框的多通道标签中定义,如下所述。
创建多通道设计
当电路的一部分被重复时,设计就是多通道的。这是在工作表符号级别完成的,方法有:
- 放置多个都引用同一个子原理图的Sheet Symbols,或
- 配置单个Sheet Symbol以重复所需次数的引用子原理图
上面的图片展示了创建多通道设计的两种方法。在第一张图片中,有四个都引用同一个子工作表(PortIO.SchDoc
)的工作表符号。在第二张图片中,InputChannel.SchDoc
重复了八次,OutputChannel.SchDoc
重复了两次,这是通过Sheet Symbol的指定器字段中的Repeat关键字实现的。
当项目编译时,重复的组件指定器和网络名称通过应用标准命名方案来解决。例如,一种命名方案是在重复的组件和网络标识符(网络标签和端口)中添加通道索引,如下图中的高亮部分所示。
注意当项目编译后,在原理图底部出现的标签页。 编辑器标签页包含您捕获的逻辑设计,其他标签页(COUT1和COUT2)在项目编译后出现,它们代表将传输到PCB编辑器的物理设计。每个物理通道都会有一个标签页。
重复关键字
如前所述,通过放置多个引用相同子表的表符号,或者在表符号的指示器字段中包含Repeat
关键字来重复一个通道。当使用Repeat关键字时,表符号被绘制为一组堆叠的表符号。
每个通道由来自表符号指示器的通道指示器标识。当通过放置多个表符号来通道化设计时,通道指示器是为每个表符号定义的指示器值。如果通过使用Repeat关键字来通道化设计,通道指示器是由Repeat
关键字定义的ChannelIdentifier+ChannelIndex
。
当使用Repeat关键字时,指示器字段的语法如下:
Repeat(<ChannelIdentifier>,<ChannelIndex_1>,<LastChannelIndex_n>)
多通道命名
能够一次捕获然后重复 - 多通道设计 - 的概念是通过构建在软件的统一数据模型(UDM)上来实现的。重复的组件使用系统化的命名方案命名,该方案在项目选项对话框的多通道标签中配置,如下所示。
该对话框包括一个上部分用于控制Room的命名,以及一个下部分用于控制这些Room内部件的命名。在Room级别,有2种平面命名风格和3种层次命名风格,通常情况下,只有在设计中有通道嵌套通道时,才需要选择层次命名风格。否则,平面Room命名风格更短且更易于理解。
对于部件命名,$Component$ChannelAlpha
或 $Component_$ChannelIndex
选项将提供最短且最容易解释的部件指示符。也可以使用可用关键字构建自己的指示符命名方案。
Room的作用
Room是一个PCB设计对象,用于定义板上的一个区域,然后可以用两种方式使用:
- 包含对象 - 虽然Room像任何多边形形状对象一样放置,但实际上它是作为一个放置设计规则创建的。Room的定义部分是指定必须包含在该Room内的对象 - 这通常是部件。当该Room移动时,Room内的所有部件也会移动。
- 限定其他设计规则 - 除了作为自己的规则外,Room还可以用来限定其他设计规则。例如,一个路由宽度设计规则定义了一类网络的路由宽度,然后一个优先级更高的设计规则,其范围为Room,可以指定在该Room内应用于该类网络的不同宽度。
Room与多通道设计非常契合。它们可以在设计从原理图编辑器转移到PCB编辑器时自动创建,基于项目选项对话框的类生成标签中的选项,每个表符号都有一个Room。除了将该通道的部件聚集在一起外,Room还可以用于命名该Room内的部件。Room及其在板设计过程中的作用将在本文的多通道PCB设计部分进一步讨论。
多通道设计中的连通性
翻译:
对于多通道设计,请将网络标识符范围设置为自动
、层次化
或严格层次化
。多通道设计必须是层次化的,因为软件使用这种结构模型在编译设计时在内存中实例化通道。
软件必须支持连接到重复通道的网络的两种不同的连接要求,网络将是:
- 所有通道共有,或
- 每个通道中唯一。
对此的支持程度取决于定义通道的方法(多个工作表符号,或通过Repeat关键字)。如果设计使用多个工作表符号(每个通道一个单独的工作表符号),那么网络连接是显式的,由设计者放置的接线定义。
如果设计使用Repeat关键字,那么以下连接约定适用。
将网络传递给所有通道 | 如果需要在所有通道中都能使用某个网络,只需将其接线到工作表入口,如上图中连接到InputChannel.SchDoc 工作表符号的Monitor 网络所示。网络Effects 、MB1 和MB2 也将在所有通道中可用。总线中的网络也是以同样的方式处理的,当总线连接到工作表入口时,该总线中的每个元素都将在所有通道中可用。 |
将网络传递给特定通道 | 要将总线中的单个网络分配给每个通道,使用工作表入口中的Repeat关键字,如上图中Headphone 总线所示,其中工作表入口的名称为Repeat(Headphone) 。在这种情况下,网络Headphone1 将连接到通道CIN1 ,Headphone2 将连接到通道CIN2 ,依此类推。如果使用Repeat关键字创建通道,则无法将单个网络仅传递给一个通道。如果需要这样做,您必须为每个通道放置一个单独的工作表符号。 |
网络的命名方式
最终,每个网络在PCB上只能有一个名称(一个PCB网络不能有两个名称)。当项目编译时,软件会自动将具有多个名称的网络解析为只有一个名称 - 在多通道设计中配置命名选项很重要,以确保您的网络以对您有意义的方式标记。网络命名选项位于项目选项对话框的选项标签中的网络列表选项部分。