Keeping the Schematics & PCB Synchronized

Altium Training

Altium Essentials: Transfer to PCB

This content is part of the official Altium Professional Training Program. For full courses, materials and certification, visit Altium Training.

原理图到 PCB 设计中最常见的任务,就是保持原理图与 PCB 一致(匹配)或同步。无论是首次将已捕获的设计转移到新的 PCB,还是在原理图端或 PCB 端对现有设计进行修改,你都需要某种方式让两端保持同步。Altium Designer 提供强大的设计同步功能,简化了保持设计同步的工作,让设计人员能够将注意力集中在设计流程中更具创造性的部分。

同步过程会检测并解决原理图与 PCB 之间的差异。 同步过程会检测并解决原理图与 PCB 之间的差异。

设计同步直接在原理图编辑器与 PCB 编辑器之间进行;不会使用任何类似网表的中间文档。软件使用比较器引擎对设计的各个方面进行比较,并将输出详细列为差异清单。设计人员决定应更改哪一侧来消除差异,然后生成一组工程变更指令(ECO)。应用这些 ECO 后,设计两端就会重新同步。

执行同步有两种方式:

  • 双向同步:可同时在两个方向更新差异,使用 Project » Show Differences 命令(如上所示)。有关此方法的更多信息,请参阅 Finding Differences 部分。
  • 单向同步:使用 Design » Update PCBDesign » Update Schematic 命令。有关此方法的更多信息,请参阅 Performing a Direct Update 部分。

在将原理图信息转移到新的 PCB 之前,必须确保原理图符号与 PCB 封装所需的所有相关库均可用。

可以同步哪些内容?

同步过程确保原理图中的元件与连接数据,与 PCB 中的元件与连接数据一致。除元件与连接数据外,同步过程还会确保其他设计约束(例如网络类、元件类以及设计规则)也保持同步。

配置比较器选项

Dialog page: PCB Project 的选项,Comparator 选项卡

具体比较哪些原理图与 PCB 数据,可在 Options for PCB Project 对话框的 Comparator tab 中进行配置。选择 Project » Project Options 以打开该对话框。

比较器引擎遵循 Options for Project 对话框中 Comparator 选项卡里定义的设置。
比较器引擎遵循 Options for Project 对话框中 Comparator 选项卡里定义的设置。

对话框的主要区域包含一长列“比较类型”(Comparison Types),例如 Different DesignatorsChanged Net Name,并分为 5 个类别。右侧的 Mode 列为每一项提供一个下拉选项,用于选择比较模式,例如 Find DifferencesIgnore Differences。文本类比较还有第三个选项,可实现不区分大小写的比较。

新项目的默认设置是对每一种比较类型都执行“查找差异”(Find Differences);请根据项目需要设置相应选项。

  • 对于原理图到 PCB 的同步,所有与 PCB 相关的细节都可以同步。
  • 对于 PCB 到原理图的同步,只有对元件位号(designator)、注释(comment)和封装(footprint)的更改可以同步回原理图。唯一可以同步的网络更改,是由引脚/部件互换(pin/part swap)操作导致的更改——具体如何执行取决于引脚/部件互换选项的配置。更多信息请参阅 Pin and Part Swapping 页面。

在对话框底部有用于设置 Object Matching Criteria 的选项。匹配是一个复杂的多轮处理过程,并不依赖简单的精确字符串匹配。更多信息请参阅 Matching the Nets and Classes 部分。 

注意对话框底部的 Ignore Rules Defined in the PCB Only 选项:启用后,可将你在 PCB 中定义的规则从比较过程中排除。

同步网络类与元件类

Dialog page: PCB Project 的选项,Class Generation 选项卡

除了元件与连接数据外,在执行 Design » Update PCB 时,你还可以生成并同步类与设计规则。

要了解更多关于从原理图生成与同步类的信息,请参阅 Working with Classes on a Schematic & PCB 页面中的 Generation and Synchronization of Classes from the Schematic 部分。

同步设计规则

可以在原理图中使用 Parameter Set 对象来定义设计规则。选中 Parameter Set 对象时,Properties 面板或模态对话框中会包含一个 Rules 区域。点击 Add 下拉菜单以添加设计规则。该规则将应用于 Parameter Set 对象所接触的原理图覆盖(blanket)下的网络/总线/线束/对象。

在下图中,一个线宽约束设计规则被应用到 USB_data 网络类(该网络类也作为此 Parameter Set 的一部分在 Classes 区域的 Parameters drop-down 中定义)。

该 Parameter Set 用于为原理图 blanket 对象下的网络定义网络类与设计规则。请注意,所需的度量单位在 Edit PCB Rule 对话框底部进行配置。
该 Parameter Set 用于为原理图 blanket 对象下的网络定义网络类与设计规则。请注意,所需的度量单位在 Edit PCB Rule 对话框底部进行配置。

Options for Project 对话框的 Comparator 选项卡中,确保已启用所需的规则类型比较,以便在 PCB 中添加和更新设计规则。

每条由原理图规则定义创建的 PCB 规则都会自动命名为 Schematic <RuleType>。如有需要,可以编辑该名称,因为它不会用于 ongoing rule synchronization

在上图和下图中,设计规则都定义在附加到 blanket 的 Parameter Set 对象中。通过在 Parameter Set 对象中包含类定义,还会创建一个 PCB 网络类,并且由于存在类定义,PCB 规则的作用域将限定为 InNetClass('<PCB_NetClassName >')。 

在下图中你会注意到,Parameter Set 对象显示为差分对指令(Differential Pair directive)。这是一种特殊类型的 Parameter Set 对象,通过 Place » Directives » Differential Pair 命令放置。 

差分对指令用于定义网络类与设计规则,然后将其应用到目标差分对。
差分对指令用于定义网络类与设计规则,然后将其应用到目标差分对。

差分对的使用

差分对指令用于标识属于某个差分对的网络。软件要求该对中的网络命名为 <Name>_P<Name>_N。随后 PCB 差分对将命名为 <Name>

可以通过在每个差分对成员上放置一个差分对指令来定义差分对,或者放置一个 blanket 覆盖该对的网络名称,如上图所示。

参照上图,差分对 Parameter Set 对象会创建:

  • 8 个差分对,命名为 V_RX0V_TX0V_RX1V_TX1RX0TX0RX1TX1
  • 一个名为 ROCKET_IO_LINES 的 PCB 网络类。
  • 一条 Differential Pairs Routing 设计规则,配置为作用于 PCB 网络类 ROCKET_IO_LINES

配置 ECO 生成选项

Options for Project 对话框还包含一个 ECO Generation 选项卡。该选项卡定义哪些设计修改可以生成 ECO。通常会全部启用,而使用该对话框 Comparator 选项卡中的选项来配置哪些设计更改需要在原理图与 PCB 之间同步。

ECO Generation 选项卡定义哪些类型的修改可以生成 ECO。
ECO Generation 选项卡定义哪些类型的修改可以生成 ECO。

查找差异

设计同步功能能够在两个方向检测并解决差异;即从原理图到 PCB,或从 PCB 回到原理图。

检测并解决差异有两种方式: 

  1. 为每一项更改指定更新方向。
  2. 将所有更新按同一方向应用。

如果你不需要同时在两个方向应用更新,那么就不必经历选择要比较的文档并配置用于解决差异的更新方向这一流程。在这种情况下,你可以直接跳到 Performing a Direct Update 部分。

软件能够通过同时对两端应用更改来解决这些差异。例如,设想这样一种场景:电子设计人员更改了某个电容的数值,而 PCB 设计人员更改了同一个电容的封装。这两处差异可以在一次更新过程中解决:将注释更改作为“原理图到 PCB”的更新应用,将封装更改作为“PCB 到原理图”的更新应用。

当比较器引擎将原理图项目与 PCB 进行比较时,会生成一份完整的差异清单——在此阶段,并不会预设必须更改哪一侧才能使其重新同步。

差异列表可在 Differences between 对话框中查看。

要打开 Difference between 对话框并查看差异列表:

  • 要打开如下图所示的 Choose Documents to Compare 对话框,请运行 Project » Show Differences 命令,或在 Projects 面板 中右键单击所需项目(或其某个源文档)的条目,并从上下文菜单中选择 Show Differences 命令。Choose Documents to Compare 对话框用于选择要比较的两个文档/文档集,通常是将原理图项目与 PCB 进行比较。你也可以通过勾选 Advanced Mode 选项,使用该对话框将任意文档与任意文档进行比较。例如,你可能会将网表与 PCB 比较,或将 PCB 与 PCB 比较。

    通常情况下,无论是基本模式还是高级模式,该对话框的默认设置都能满足大多数设计比较需求:将源文档与目标 PCB 设计进行比较,以实现同步。该对话框也允许你比较其他文档;当你需要加载项目的不同版本并比较对应源文档之间的差异时,这会很有用。

    选择要与原理图项目进行比较的 PCB。
    选择要与原理图项目进行比较的 PCB。

  • 在对话框主体中选择 PCB,然后单击 OK 以打开 Difference between 对话框,如下所示。 如果 PCB 文档当前已与源文档同步,将出现一个对话框提示未检测到差异。

Differences between 对话框 将打开。Synchronizer 是双向的。这意味着你可以在同一个 ECO 中指定对两个文档的更新。为了同步被比较的文档,目标是针对每条差异确定:是否采取操作,以及更改的方向——即指定应更新哪个文档以消除差异。因此下一步是为每条差异分配更新方向:

  • 对于单条差异,单击 Update 列以显示方向选择器,如下图所示。
  • 对于同一类型的多个差异,请在相应标题(例如 Different Footprints)上单击右键,然后选择所需的 Update Same Kind 命令。
  • 对于所有差异,请在对话框中的任意位置单击右键,然后选择所需的 Update All 命令。

对于每一项差异,必须设置 Update direction,才能创建用于解决该差异的 ECO。
对于每一项差异,必须设置 Update direction,才能创建用于解决该差异的 ECO。

单击 Explore Differences 按钮以访问 Differences panel,并按下方 Exploring Design Changes with the Differences Panel 小节所述来查看差异。

由于以这种方式访问 Differences panel 会关闭 Differences between dialog,因此之前已做出的任何更新决策都会丢失。因此,最好在做出更新决策之前先查看差异。或者,也可以在 Differences between dialog 内直接对对象进行交叉探测:在对话框的 Differences 区域中双击该对象的条目即可。

单击 Report Differences 以设置并打印/导出一份报告,其中包含 Comparator 找到的差异、指定的更新决策以及将包含在生成的 ECO 中的操作。

分配好 Update direction 后,单击 Create Engineering Change Order 按钮打开 Engineering Change Order dialog,其内容在下方 Resolving Differences - Applying the ECOs 小节中说明。

使用 Differences Panel 查看设计变更

Differences panel 以层级视图显示文档差异。
Differences panel 以层级视图显示文档差异。

概述

Differences panel 用于显示软件内置 Differences Comparator 在比较设计文档时发现的逻辑或物理差异(例如,将某个项目的源文档层级(原理图)与 PCB 设计文档进行比较)。该面板允许你在决定是否创建用于同步项目文档的 Engineering Change Order (ECO) 之前,以交互方式查看这些差异。

面板访问

打开 Differences panel 的方法:

  • 从主菜单中选择 View » Panels » Differences 
  • 单击设计工作区右下角的 Panels  按钮,然后单击 Differences

面板可以配置为在编辑器空间中浮动,或停靠在屏幕边缘。如果 Differences panel 当前位于停靠面板组中,请使用面板底部的 Differences 选项卡将其置于最前。

显示差异

Differences panel 的使用方式取决于目标是:

  • 通过检测项目层级中的逻辑差异,分析整个项目在内容与结构方面的完整性。
  • 通过检测图形(物理)差异,比较同一原理图或 PCB 文档的两个版本。
当使用 Differences Comparator 的 Explore Differences 功能(位于 Differences between dialog)时,Differences panel 会被填充。该对话框可在 Projects panel 中单击右键并选择 Show Differences 打开。

显示逻辑差异

对项目文档进行逻辑差异比较是在 Choose Documents To Compare dialog 中完成的:在 Projects panel 中对项目(或项目文档)单击右键,然后从相关的上下文菜单中选择 Show Differences

在项目名称上单击右键并选择 Show Differences 以打开 Choose Documents To Compare dialog。
在项目名称上单击右键并选择 Show Differences 以打开 Choose Documents To Compare dialog。

通常,会将 PCB 文档与父项目的源文档层级进行比较,以检测原理图设计内容与 PCB 设计内容之间的逻辑差异。

单击 OK 后,如果指定文档之间存在任何差异,将打开 Differences between dialog。只有在 Differences between dialog 中单击 Explore Differences 按钮后,Differences panel 中才会显示信息。

Differences panel 只会显示 Differences between dialog 中列出的差异。而这些差异又由 Project Options dialog 的 Comparator tabProject » Options)中的选择决定。该选项卡列出所有比较类型,例如与 Components、Nets 和 Parameters 相关的差异。将每个比较类别的 Mode 设置为 Find DifferencesIgnore Differences,将决定 Differences Comparator 是否把结果传递到 Differences between dialog。

在 Project Options dialog 中设置差异的检测与报告方式。
Project Options dialog 中设置差异的检测与报告方式。

Differences panel 以树状结构显示源文档之间发现的差异:顶层文件夹显示检测到的差异总数;随后会为 Differences between dialog 中出现的每一种具体比较类型创建子文件夹。每个子文件夹列出已发现的具体差异,并进一步细分到导致这些差异的文档对象。

如果相关文档已打开(或已打开但被隐藏),在面板中单击某个对象条目将交叉探测到文档中的该对象。

对象的可视化显示采用缩放与变暗效果:通过将其他对象变暗来突出显示目标对象。变暗对比度可通过 Preferences dialog 的 System - Navigation 页面中 Highlight Methods 区域的 Dimming  滑块进行调整。

显示物理差异

对同一原理图或 PCB 文档的两个版本进行图形(物理)比较,基本流程与上述逻辑比较相同,但还会使用 Choose Documents To Compare dialog 中的 Advanced Mode

使用 Show Differences 命令(Projects panel 右键菜单)打开 Choose Documents To Compare dialog,然后勾选 Advanced Mode 复选框来执行文档物理比较。对话框中显示所有项目文件后,选择要比较的同一文档的两个变体。

在 Advanced Mode 中从 Choose Documents To Compare dialog 选择用于物理比较的文档。
Advanced Mode 中从 Choose Documents To Compare dialog 选择用于物理比较的文档。

单击 OK 将继续进行图形比较,并按前述方式打开 Differences between dialog。单击 Explore Differences 以在 Differences panel 中打开交互式差异列表。

面板以树状结构显示文档之间发现的差异。顶层文件夹显示检测到的差异总数。系统会为每种差异类型创建条目,并在其中包含每项差异的具体引用以及涉及的对象(端口、器件等)。

选择某个已检测差异的对象条目,将在编辑器设计空间中高亮并缩放到该对象。

注意事项

  • 如果面板中的对象位于当前隐藏的文档上,当你单击相应条目时,该文档会自动打开,并在设计编辑器窗口中成为活动文档。
  • Differences panel 交叉探测时应用的过滤是临时的。因此,你仍然可以选择或编辑超出过滤范围的设计对象。
  • 在执行新的文档比较或编译父项目时,Differences panel 中的信息将被清除。
  • 使用主菜单中的 Project » Show Physical Differences 命令可检测同一原理图或 PCB 文档两个版本之间存在的物理差异,并在设计空间中并排查看两份文档时以图形方式呈现这些差异。该 Show Physical Differences 功能仅提供可视化比较——无法通过生成 ECO 来更新被比较的任一文档。它旨在比较同一文档的两个版本;但如果用于比较不同文档(例如项目的源层级与 PCB),则会出现 Differences panel 并列出检测到的逻辑差异。

执行直接更新

由于设计人员通常清楚希望以哪个方向应用更新,并且这些更新都在同一方向上,因此你可以选择跳过刚才描述的差异检测与方向分配过程。

不从 Project 菜单中选择 Show Differences command,而是从 Design 菜单中选择 Update command,并且可在原理图编辑器或 PCB 编辑器中执行。你从哪个编辑器运行该命令,就表示你希望变更应用的方向——从 this editor 到 that editor。例如,你会在原理图编辑器中选择 Design » Update,将所有变更从原理图推送到 PCB。

也可以在 PCB 编辑器的主菜单中选择 Design » Import Changes from <ProjectName> command,使活动 PCB 设计文档与源原理图文档中所做的任何更改保持同步。

将跳过 Differences between dialog,并直接进入 Engineering Change Order dialog。

如果所有更新都将以同一方向应用,请使用 Design » Update command。 如果所有更新都将以同一方向应用,请使用 Design » Update command。 

如果 PCB 文档当前已与源文档同步,将弹出一个对话框,提示未检测到差异。相反,在更新原理图时,也可能出现这样的情况:检测到的差异中有一些或全部无法通过自动生成的 ECO 来解决。在这种情况下,系统会提供选项,让你通过 Differences between dialog 查看这些差异。虽然可能无法按原理图方向进行修改,但你可能需要更新 PCB(例如删除某个对象或实体)。在筛查这些差异后,如果你能够解决其中一部分或全部差异,就可以生成 ECO。如果仍存在无法通过该对话框解决的差异,则需要返回设计中先解决这些问题,然后再运行一次比较。

解决差异 - 应用 ECO

每一项差异都通过应用工程变更指令(Engineering Change Order,ECO)来解决。ECO 会在 Engineering Change Order 对话框中列出,每行一个 ECO,并且每个 ECO 都有自己的 Enable 复选框。

使用 Engineering Change Order 对话框时:

  • 对话框打开时默认启用所有更改;将你希望暂时搁置的更改禁用即可。该对话框支持多选——使用右键快捷菜单可切换所选 ECO 的启用状态。
  • 使用右键 Cross Probe 命令检查该 ECO 影响到的对象。
  • 使用 Validate Changes 按钮检查这些更改是否可以执行。ECO 通常会失败是因为某个对象不可用——例如,指定的 PCB 封装在 Available File-based Libraries 中不存在,或指定的焊盘在该封装上不存在。
  • 如果某个 ECO 所需的对象在开始时不存在,但在处理当前 ECO 的过程中被添加了,那么该 ECO 也可能失败。在这种情况下,再次运行 Update 命令以完成该 ECO。

每一项设计更改都会以一个 ECO 的形式呈现,请启用所需的那些。
每一项设计更改都会以一个 ECO 的形式呈现,请启用所需的那些。

与比较器相关的消息将显示在 Messages 面板中。

你可以启用优化与加速的 ECO 处理功能。该功能处于 Open Beta 状态,当在 Advanced Settings dialog 中启用 WSM.DotNetECOImplementation 选项时可用。

理解原理图与 PCB 之间的链接关系

通过唯一标识符进行元件匹配

每个原理图元件都通过唯一标识符(UID)与其 PCB 元件相链接。UID 在原理图元件放置到图纸上时分配,并在设计传输到 PCB 编辑器时将该值传递给 PCB 元件。当使用 Synchronizer 首次在原理图源文档与空白 PCB 设计文档之间传输元件信息时,所有元件都会通过唯一 ID 自动建立链接——每个原理图元件的 ID 信息会被分配给对应的元件封装。

该方案对于简单设计已足够,但无法支持多通道设计。在多通道设计中,同一个原理图元件会在每个物理通道中重复出现,这意味着重复的 PCB 元件会拥有相同的 UID。为解决这一点,PCB 元件的 UID 通过将父级 Sheet Symbol 的 UID 与原理图元件的 UID 组合来创建。根据多通道设计的创建方式不同,PCB UID 的语法会略有变化。

对于通过放置多个 Sheet Symbol(且它们都引用同一张原理图页)创建的多通道设计,每个 Sheet Symbol 都可以提供唯一 ID,因此 PCB UID 的格式为:

\SheetSymbolUID\SchComponentUID

对于使用 Repeat 关键字创建的多通道设计,仅有 1 个 Sheet Symbol UID 可用,因此 PCB UID 还会包含 ChannelIndex 值,格式为:

\ChannelIndex+SheetSymbolUID\SchComponentUID

UID 不会在面板和对话框中显示。

当元件未建立链接时

使用 UID 来匹配原理图与 PCB 元件的优势在于:即使位号变得不同步(例如多次执行 PCB 重新标注),也不会有原理图与 PCB 变得无法再同步的风险。

如果原理图或 PCB 中存在某个元件,而在另一个编辑器中没有对应的匹配元件(相同 UID),将会发生以下情况:

  • 如果多出的元件只存在于源编辑器中,将生成一条用于在目标编辑器中添加该元件的 ECO。
  • 如果多出的元件只存在于目标编辑器中,将生成一条用于移除该多余元件的 ECO。
  • 当两个编辑器中都存在未匹配的元件时,软件需要指示如何处理它们,因此会打开 Failed to Match Unique Identifiers 对话框。

The Failed to Match Unique Identifiers dialog The Failed to Match Unique Identifiers dialog 

对话框按钮提供以下选项:

  • Automatically Create Component Links - 如果你确定这些未匹配元件其实已经具有相同的位号,请单击此按钮。软件将使用元件位号为这些额外元件分配匹配的 UID。对于能够按位号匹配的元件,任何其他属性差异(例如参数不一致)都会导致生成 ECO。如果存在无法按位号匹配的元件,则会生成添加/移除它们的 ECO(源编辑器中的额外元件将被添加,目标编辑器中的额外元件将被移除)。
  • Manual Component Links - 如果你知道存在可匹配的元件,但不清楚它们位号的状态,请单击此按钮。将打开 Edit Component Links 对话框(如下所述),你可以手动选择每个源与目标元件,并将它们转移到已匹配元件列表中,为其分配匹配的 UID。随后将生成 ECO 以同步位号(以及任何其他不匹配的元件属性)。

    建议使用唯一 ID 匹配所有元件,这样无论在原理图还是 PCB 文档中进行位号标注,都可以确信在任何阶段仍能重新同步文档。即使元件未通过唯一 ID 匹配,文档仍可同步,但此时系统只会提示你按位号匹配元件——不会考虑注释(Comment)和封装(Footprint),因此可能会导致部分元件匹配错误。
  • Cancel - 单击此按钮将生成 ECO:把源编辑器中存在的额外元件添加到目标编辑器,并从目标编辑器中移除额外元件。

手动链接元件

原理图元件与其对应 PCB 元件封装之间的链接状态,可随时在 Edit Component Links 对话框中检查与管理(PCB 编辑器,Projects » Component Links 命令)。

之所以从 PCB 文档内执行手动链接,是因为只需要将唯一 ID 信息更新到 PCB 元件封装中——原理图侧已经具备该信息。

Edit Component Links 对话框用于检测并解决 UID 不匹配问题,它从 PCB 编辑器运行。
Edit Component Links 对话框用于检测并解决 UID 不匹配问题,它从 PCB 编辑器运行。

对话框功能概述:

  • 未匹配的元件显示在左侧两个 Un-Matched Components 列中,具有相同 UID 的元件显示在对话框右侧的 Matched Components 区域中。
  • 对话框中间的箭头按钮用于手动匹配(或取消匹配)所选元件,或取消当前所有已匹配元件的匹配。
  • 对话框底部的 Add Pairs Matched By 按钮及其选项用于扫描当前未匹配元件列表,并尝试按启用的属性(位号 Designator、注释 Comment、封装 Footprint)进行匹配。
  • 单击 Perform Update 按钮后,每个新匹配的 PCB 元件将被赋予其对应原理图元件的 UID。 如果你将 Matched  区域中的任何条目移回 Unmatched  区域,将出现确认对话框,提示继续操作会破坏现有元件关联。单击 Yes  将继续更新,并弹出信息对话框,总结在 PCB 文档中被修改的元件链接情况。Matched  区域中的新条目会汇总为 Link Modified,而你之前已链接但现在取消匹配的条目会汇总为 Link Removed
  • 使用此对话框完成手动元件链接后,建议检查同步状态(运行 Design » Update 命令)。
  • 在设计过程的任何阶段都可以使用该对话框查看元件之间的链接关系,以确认原理图源文档中的元件确实已正确匹配到 PCB 设计中对应的元件封装。
  • 可随时通过将已链接元件移回 Edit Component Links 对话框的未匹配区域来移除唯一 ID。移除元件链接只会从对应的 PCB 封装中移除唯一 ID。原理图元件仍保留唯一 ID,除非在原理图层面生成了新的 ID(使用与重置唯一 ID 相关的命令)。
  • 源原理图文档中的每个参数定义也会自动分配一个唯一 ID。这用于那些作为设计规则指令添加的参数。将设计传输到 PCB 文档时,任何已定义的规则参数都会用于在 PCB 中生成相应的设计规则。这些生成的规则将被赋予相同的唯一 ID,从而允许在原理图或 PCB 中修改规则约束,并在执行同步时将更改推送到另一侧。
  • 如果你复制/粘贴或剪切/粘贴一个原理图元件,它的 UID 会自动更新——这确保每个元件始终具有唯一标识符。
  • 如果你正在重组原理图(且已传输到 PCB 编辑器),并需要将元件移动到另一张图纸,请不要剪切/粘贴它们,而应选中它们并运行 Edit » Refactor » Move Selected Sub-circuit to Different Sheet 命令。

 

匹配网络与类

网络(net)和类(class)都具有父对象(该网络或类本身)以及子对象(该网络或类的成员)。要匹配它们,需要采用不同于元件链接所用 UID 机制的方法,以支持对以下内容的更改:父对象;子对象;或父对象与其子对象同时更改。例如,仅仅在原理图中更改一个网络名称,不应要求先从 PCB 中移除该网络及其所有子引脚,再添加新命名的网络,最后再把所有子引脚添加到新网络中。 

为此,软件包含独立的匹配算法:既可按成员来匹配网络与类,也可按名称来匹配。匹配过程在 Options for Project 对话框的 Comparator 选项卡中的 Object Matching Criteria 区域进行配置。

默认设置为先匹配成员,然后按对象类型名称匹配。
默认设置为先匹配成员,然后按对象类型名称匹配。

这些对象类型的匹配按如下方式处理:

  • 在设计同步期间,默认行为是先按成员尝试匹配,具体遵循 Min Match %Min Match Member 设置。
  • 如果成员匹配失败,软件将尝试按名称匹配(如果启用了 Use Name Matching 选项)。
  • 如果上述任一匹配过程成功,你将进入 Engineering Change Order 对话框。
  • 如果两种匹配技术都失败(或 Use Name Matching 选项设置为 Never),将打开 Match Manually 对话框。

  • Match Manually 对话框中单击 No 将跳过用户匹配过程,直接进入 Engineering Change Order 对话框。由于你未尝试匹配任何未匹配对象,软件会认为参考对象与目标对象互不相关,因此会生成 ECO:从板上移除 Unmatched Reference Objects,并将 Unmatched Target Objects 作为新对象添加。
  • 如果你在对话框中单击 Yes 以手动匹配,将打开 Match 对话框,如下所示(对话框标题会随未匹配对象类型而变化)。

Match 对话框用于手动匹配你确定应当匹配的对象。如果不确定,请保持右侧为空并单击 Continue。Match 对话框用于手动匹配你确定应当匹配的对象。如果不确定,请保持右侧为空并单击 Continue

  • 在此对话框中,在 Unmatched Reference ObjectsUnmatched Target Objects 中选择你希望匹配的对象,然后将它们转移到对话框的 Matched Pairs 区域。对于这些对象,软件将生成 ECO 来更新名称使其一致,并生成 ECO 来移除/添加成员,使成员也一致。
  • 如果你不确定,就不必手动匹配对象。对于任何未匹配的对象,软件会认为参考对象与目标对象互不相关,因此会生成 ECO,将板上的 Unmatched Reference Objects 移除,并将 Unmatched Target Objects 作为新对象添加进去。
  • 当你已经匹配了那些你确定确实匹配的对象后,点击 Continue 以打开 Engineering Change Order 对话框。
  • 如果你点击 Cancel,更新过程将终止。

匹配设计规则

在原理图中定义的设计规则也必须链接到 PCB 上对应的规则。如果没有链接机制,你将无法在原理图中更新规则并将这些更改传递到 PCB。UID 用于将原理图设计规则链接到 PCB 设计规则。

UID 会在原理图中保存规则定义的 Parameter Set 内自动分配,并在设计同步期间传输到 PCB。

设计规则使用 UID 将原理图中的设计规则定义与 PCB 设计规则进行匹配。设计规则使用 UID 将原理图中的设计规则定义与 PCB 设计规则进行匹配。

通常你不需要手动管理规则的匹配,除非你在 PCB 编辑器的 PCB Rules and Constraints 对话框中手动编辑过 UID。如果 UID 不匹配,软件会针对任何在 PCB 中没有匹配规则的原理图规则,在 PCB 中添加一条新规则;并移除任何在原理图中没有匹配规则的 PCB 设计规则。

你可以在任一编辑器中自由更新元件,并将这些更改同步到另一个编辑器。对网络、类和规则所做的更改只能从原理图更新到 PCB。

AI-LocalizedAI 翻译
如您发现任何问题,请选中相关文本/图片,并按 Ctrl + Enter 键向我们提交反馈。
功能可用性

您可使用的功能取决于您所选择的 Altium 解决方案 —— Altium DevelopAltium Agile(Agile Teams 或 Agile Enterprise 版本),或仍在有效订阅期内的 Altium Designer。

如果您在软件中未找到文中提及的功能,请联系 Altium 销售团队了解更多信息。

旧版文档

Altium Designer 文档不再提供版本区分。如果您需要访问 Altium Designer 旧版本的文档,请前往其他安装程序页面的旧版文档部分。

Content