通过重构进行设计重组
父页面: 关于原理图的更多信息
重构,在传统意义上,是指在不改变设计(或编程领域中的代码)功能的情况下,对现有设计(或代码)进行结构调整。就PCB设计而言,有各种情况下某种形式的重构将提供有益且及时的解决方案:
- 某个部件已经过时,需要被功能等效的子电路替换。(展示)
- 一个原理图设计将成为用于更大设计中的子电路。(展示)
- 一个现有的原理图子表将被制作成设备表,以便在未来的设计中重复使用。(展示)
- 一个现有的设备表需要针对当前设计进行本地化和定制。(展示)
- 需要将一些现有的子电路移动到另一个表中。(展示)
Altium Designer 提供了许多功能,这些功能共同构成了其设计重构能力 - 让您根据需求最大限度地重构设计。
访问重构功能
某些重构命令可以从 编辑 » 重构 菜单中访问,但使用原理图编辑器的右键上下文菜单可以获得更好的访问权限。从 重构 子菜单中可用的命令会随着光标下的对象而变化 - 适用于部件、表符号或设备表符号。这种访问方式让您在需要时获得所需的命令 - 并且仅适用于手头特定设计对象的命令。
右键上下文菜单 - 一种直观且方便的方式来访问相关的重构命令。请注意,菜单仅填充适用于光标下设计对象的重构命令。
将部件转换为表符号
此功能非常适合现有部件已过时并需要由在单独表上定义的功能等效子电路替换的情况。
右键点击一个部件并从上下文菜单中选择 重构 » 将部件转换为表符号命令,将部件符号转换为表符号。连接性得以保留,表条目按照原始引脚命名命名,并将I/O 类型设置为反映原始引脚电气类型。
表符号的指定器最初设置为原始部件的指定器,其文件名最初设置为部件的注释文本。
如果所需的子图纸存在,只需更改图纸符号的文件名指向该图纸即可。如果没有,可以通过右键点击图纸符号并选择图纸符号操作 » 从图纸符号创建图纸命令快速创建子图纸。在后一种情况下,与符号的图纸条目相对应的端口将被放置在新的子图纸上,准备好定义和连接替换的子电路。
将部件推送到新的子图纸上
实现类似最终结果的另一种更快的方法是,右键点击所需的部件并选择部件操作 » 将部件推送到图纸命令。基本上执行以下步骤:
- 复制部件。
- 将原始部件转换为图纸符号,指定器设置为原始部件的指定器,文件名设置为<OriginalPartComment>.SchDoc。同样,图纸条目命名和输入/输出类型反映了原始部件的引脚。
- 根据图纸符号的文件名值创建新的原理图图纸。
- 将原始部件的副本粘贴在图纸中心,放置并连接到部件引脚的端口对应于图纸符号的图纸条目。
然后,您可以简单地删除该部件并根据需要用功能等效的电路替换它。
使用将部件推送到图纸命令可以快速将初始部件转换为图纸符号,然后在由该符号引用的新创建的图纸上粘贴该部件的副本。
将部件转换为端口
当现有的独立子设计,如电源或卫星板,要制作成子电路,在更大的单板设计中使用 - 也许是为了降低制造成本时,这个功能是理想的。这与前一节相反,前一节是用低级子电路替换组件。相反,这是将子电路插入到更高级别设计中的过程,使其可用于连接到层次结构中的上一点。
右键点击部件并从上下文菜单选择重构 » 将部件转换为端口命令,将部件符号转换为一组端口。保持连通性,端口命名与原始引脚命名相同,输入/输出类型设置为反映原始引脚电气类型。
使用转换部件为端口命令可以快速地将一个部件替换为端口,以便将子电路接入到更高级别的设计中。
然后通过在相关的更高级别父电路图上添加一个表符号来完成子电路的层次结构插入。要做到这一点:
- 激活所需的父电路图。
- 使用设计 » 从电路图创建表符号或HDL命令。
- 在选择要放置的文档对话框中选择包含从部件创建的端口的文档。
- 表符号将出现在光标上 - 根据需要在电路图内定位,并点击以实现放置。
表符号引用了底层的子电路图(通过其文件名属性)并且具有与子电路图上的端口相对应的表条目。
使用从电路图创建表符号或HDL命令可以快速添加一个表符号,从而将子电路编入设计层次结构中。
将电路图转换为设备图
在某个阶段,为了重用而设计的概念必须提高其抽象程度。如果我们仅仅停留在组件级别,那么每个具有类似功能的设计 - 例如USB接口或电压调节器 - 就会像是在“重新发明轮子”。这就是设备图发挥作用的地方 - 旨在提供特定电路功能的电路图。它们的使用消除了传统的复制粘贴方法所带来的风险。并且它们消除了设计工作的重复,同时增加了可以在未来的设计中重用的设计内容水平。
作为其重构工具套件的一部分,电路图编辑器提供了快速将现有的标准电路图转换为设备图以便在其他设计中重用的能力。
要将现有的电路图转换为设备图:
- 在设计层次结构的相关父页面上找到引用所需工作表的工作表符号。
- 右键点击工作表符号,从上下文菜单中选择重构 » 将原理图工作表转换为设备工作表命令。将出现将原理图工作表转换为设备工作表对话框。选择存储新创建的设备工作表的目标位置,以及转换的范围 - 是更新当前的工作表符号,还是更新工作区或活动项目中的所有相关工作表符号。后者对于多通道设计特别有用,其中子电路在多个实例中存在。
在将原理图工作表转换为设备工作表对话框中指定转换的详细信息。
- 点击确定。工作表符号将被转换为设备工作表符号,并且原理图将被移动到指定的设备工作表位置。
- 重新编译项目,使新的设备工作表在项目面板中正确显示。
将设备工作表转换为原理图工作表
设备工作表使功能子电路能够在设计中被捕获和重复使用。然而,可能需要修改特定设计的现有子电路。与其修改设备工作表本身,原理图编辑器提供了复制设备工作表的能力,使其电路在标准原理图工作表上可用。这允许您根据当前设计的要求修改本地副本,并且知道原始设备工作表保持不变。
要“转换”现有的设备工作表为原理图工作表:
- 找到引用所需设备表的设备表符号。
- 右键点击设备表符号,从上下文菜单中选择重构 » 转换设备表为原理图表命令。将出现转换设备表为原理图表对话框。选择存储新创建的原理图表的目标位置,以及转换的范围 - 是更新当前的设备表符号,还是更新活动项目中所有相关的设备表符号。
- 点击确定。设备表符号将被转换为表符号,并且设备表的副本将作为标准(未受保护的)表本地存储在指定位置。表符号将引用这个本地表。
将选定的子电路移动到不同的表中
随着设计的发展,构成该设计的源原理图表的内容可能需要进行调整 - 特定部分的电路在其自己的表上可能更易于阅读,或者可能某个表变得过于拥挤(并且难以阅读!)并且可以从将一些电路移动到额外/不同的表中受益。
另一个重构功能是能够在一个表上选择一个或多个对象,并将该选择移动到不同的表上。要做到这一点:
- 首先选择你想要移动的电路。
- 右键点击并选择重构 » 将选定子电路移至不同工作表命令从上下文菜单中。将出现选择目标文档对话框 - 使用它来指定目标原理图工作表。
- 点击确定。所选工作表将被激活,选定的子电路将浮现在光标上。
- 根据需要在工作表上定位电路,并点击以实现放置。一旦放置,该电路将从原始工作表中移除。
- 如果移动到新工作表,请在相关的父页面添加工作表符号,以将该工作表正确地插入到设计层次结构中。
- 重新编译设计项目。