PCB 协同设计
概览
- 了解使用 PCB CoDesign 的必要条件,包括 Workspace 连接、版本控制条件以及支持的存储库配置。
- 了解如何比较本地与远程 PCB 修订版本、检查检测到的差异,以及使用面板工具在设计空间中审查更改。
- 了解如何处理冲突与合并,包括何时保留本地更改、接受远程更新,以及将合并结果保存回 Workspace。
俗话说,众人拾柴火焰高。让多人同时设计同一块电路板,一直是电路板设计人员梦寐以求的功能。在外行看来,这项任务似乎并不复杂——只需将 Bob 在电路板某个区域完成的布线合并到我的电路板副本中即可——但要实现这一点,需要结合几项关键能力。
其中包括:
-
一个允许多位设计人员访问同一 PCB 设计的系统,让他们能够开展工作并保存各自的更改,而不影响其他设计人员的工作。
-
一种能够准确比较并识别同一电路板不同版本之间差异的机制。
-
用于解决所检测差异的工具,让设计人员可以选择采用谁的更改。
-
能够自动处理大量差异并解决这些差异,而不产生冲突的工具。
为满足这些需求,Altium Designer 提供了 PCB 协同设计功能,让您能够查看从工作区检出的电路板修订版与工作区中该电路板最新修订版之间的差异。PCB 协同设计功能可检测 PCB 文档中所存储数据的更改,包括 PCB 布局、对象属性、层叠结构、设计规则和约束。
如果检测到任何冲突,您可以选择保留本地更改或接受最新提交中的远程更改,然后进行合并,从而妥善解决设计重叠问题。
PCB 协同设计功能通过 PCB CoDesign 面板访问和操作。使用此功能要求 PCB 项目当前已纳入所连接工作区的版本控制。
比较与合并工作流程
每当 Altium Designer 检测到您的 PCB 文档已过期(即自您检出文档后,有人已将其工作保存到工作区)或处于冲突状态(即在您将自己编辑并在本地保存的文档版本保存到工作区之前,有人已将该文档保存到工作区,详情见下文)时,您需要更新到电路板的最新修订版,或执行合并,将他人的更改纳入您的电路板版本。可通过以下方式完成:
-
单击 Projects 面板中的 VCS 状态图标,然后从显示的菜单中选择相应命令:
-
Out of date – Compare To Remote Document Version 命令
-
Modified – Compare To Remote Document Version 命令
-
Conflict Prevention – Compare To Remote Document Version & Merge 命令
-
Conflict Detected – Resolve Conflict: Compare To Remote Document Version & Merge 命令
-
-
打开 PCB CoDesign 面板,然后单击 Compare、Compare To Remote Document Version 或 Compare & Merge 按钮
-
对于处于 Modified 状态 的 PCB 文档,使用 Projects 面板中文档条目的 History & Version Control » Compare To右键菜单中的 Local Changes to Remote Document Version 命令,或主菜单中的 Projects » History & Version Control » Compare To 命令
-
对于处于 Conflict Detected 状态 的 PCB 文档,使用 Projects 面板中文档条目的 History & Version Control » Resolve Conflict 右键菜单中的 Compare To Remote Version & Merge 命令
-
单击设计空间底部显示的通知中的 Compare 或 Compare & Merge 按钮。
比较完成后,检测到的差异将列在 PCB CoDesign 面板中。该列表显示 PCB 文档的基础修订版(您检出的修订版)与工作区中的最新修订版(包含其他用户所做的更改)之间检测到的差异。
差异列表按类别分组:Rules、Components、Polygon pours、Copper 等。展开某个类别可查看该类别中的具体差异列表,即该类别中哪些对象已被添加、修改和/或删除:
-
– 该对象已在最新修订版中添加
-
– 该对象已在最新修订版中修改
-
– 该对象已从最新修订版中删除
对于 Modified 类型的差异,您还可以将光标悬停在其条目上,或展开该条目,以查看修改详情。
您可以使用 Up Arrow / Down Arrow 键遍历差异列表。选中某个差异类别后,按 Spacebar 可展开/折叠该类别。
您可以从 PCB CoDesign 面板中列出的差异交叉探查到 PCB 编辑器的设计空间。
-
单击 PCB CoDesign 面板列表中的某个类别,可在设计空间中高亮显示该类别的更改。
-
单击 PCB CoDesign 面板列表中的某项具体更改,可在设计空间中仅高亮显示该项更改。
-
使用
Shift+Click和/或Ctrl+Click方式可在面板中选择多个条目。
通过颜色编码,您可以看出哪些对象已添加、已修改、已移除或未更改(在 PCB CoDesign 面板中选中引脚到引脚连接时,其中未更改的对象)。
单击面板顶部的
控件,可访问用于配置更改显示方式的设置。
-
启用 Show on PCB 选项(快捷键:
Ctrl+Shift+A),可在 PCB 文档设计空间中高亮显示差异。 -
启用 Show on PCB 选项后,还可以启用 Zoom selected object 选项,以便在单击 PCB CoDesign 面板中的差异条目时,交叉探查设计空间中受影响的对象。使用滑块可调整聚焦所选对象时使用的缩放系数。
您还可以按住 Shift+B 快捷键,在当前状态与进行任何更改之前的状态之间切换。面板中的提示会显示当前处于哪种状态。
单击面板底部的
按钮,可合并检测到的所有差异。此时会显示一个弹出窗口,指示合并正在进行。请注意,差异将合并到 PCB 文档的本地工作副本中;您应将其保存到工作区,以便其他设计人员访问。
更改合并后,Projects 面板中 PCB 文档的 VCS 状态将变为 Merged,并显示
图标。单击此图标可将设计保存到工作区,或撤销本地更改。
也可以在 Projects 面板中使用项目名称旁的 Save to Server 控件,或在 PCB CoDesign 面板中使用 Save to Server 按钮,将设计保存到工作区。
解决冲突
另一种工作方式是三方比较,适用于其他人也在同一块电路板上工作的情况。设想这样一个场景:您和同事 Bob 都从工作区签出了一份电路板副本。双方各自在自己的电路板副本上进行元件布局和布线。Bob 完成了他负责的电路板区域,并将其保存回工作区。与此同时,您也在处理自己负责的电路板区域,并将更改保存在本地。这就产生了冲突,可以通过 PCB CoDesign 面板来处理。
要开始比较,可以单击 Projects 面板中的 Conflict Prevention (
)或 Conflict Detected (
)VCS 状态图标,然后从出现的菜单中分别选择 Compare To Remote Document Version & Merge 或 Resolve Conflict: Compare To Remote Document Version & Merge 命令;也可以单击 PCB CoDesign 面板中的 Compare & Merge 按钮。比较完成后,面板中将列出检测到的差异,检测到的冲突则列在面板底部。
您可以从 PCB CoDesign 面板中列出的冲突交叉探查至 PCB 编辑器设计空间。
-
单击 PCB CoDesign 面板列表中的某个类别,可在设计空间中高亮显示该类别的冲突。
-
单击 PCB CoDesign 面板列表中的某个特定冲突,可在设计空间中仅高亮显示该冲突。
-
使用
Shift+Click和/或Ctrl+Click操作方式,可在面板中选择多个条目。
对于每个检测到的冲突,或特定类别中所有检测到的冲突,您可以选择应用本地更改(Local)还是 Workspace 中最新提交的更改(Remote)。您还可以将所需设置快速应用于当前选中的所有更改条目。为此,请使用 Shift+Click 和/或 Ctrl+Click 方式选中所需条目,然后为其中一个选中的条目选择所需设置。或者,使用检测到的冲突区域顶部横幅中的下拉菜单,一次性为所有检测到的冲突选择所需模式。
您可以使用 Up Arrow / Down Arrow 键遍历冲突列表。使用 Left Arrow/ Right Arrow 键切换所选冲突的处理模式(Combined/Local/Remote)。选中某个冲突类别后,按 Spacebar 可将其展开或折叠。
为所有冲突选择所需模式后,您便可以将更改合并到 PCB 文档的本地副本中。








)。







