上级页面:在原理图与电路板之间工作
无论您是首次将输入设计转移到新PCB,还是在原理图或PCB端对现有设计进行更改,您均需要某种方法来保持原理图与PCB同步。Altium Designer具有强大的设计同步功能,可将保持设计同步任务简化,使设计人员能够专注于设计过程中的创意方面。
同步过程中,将检测并解决原理图与PCB的差异。
设计同步将在原理图与PCB编辑器之间直接进行。软件使用比较器引擎比较设计的各个方面,并以差异列表的形式详细说明输出。将由设计人员决定应更改哪一端以解决差异,并创建一组Engineering Change Orders(ECO)。然后应用ECO,以将设计两端恢复同步。
什么内容能够同步?
同步过程可确保原理图上的元件和连接数据与PCB上的元件和连接数据相匹配。除元件和连接数据外,同步过程还可确保其他设计约束;例如,网络类、元件类和设计规则实现同步。
将真实元件包含在PCB编辑器中,意味着PCB元件此时可以保存所有元件数据。此项更改意味着,当20.0版Altium Designer之前的设计在20.0版Altium Designer中首次进行同步时,将添加PCB元件中先前不支持的所有元件信息。
在进行上述更新时,还改进了对封装分配的验证。在早期版本中,多部件元件封装检测将使用在多部件元件的任何子部件中检测到的首个封装。通过此项更新,将检查所有子部件的封装分配情况,并且如果子部件不匹配,则在进行设计同步时,该元件的封装分配将失败。原理图 Footprint Manager 可用于检查和更新封装分配情况。
比较器选项配置
对话框页面:Options for PCB Project,Comparator标签
将在Options for PCB Project对话框Comparator标签中,配置如何对原理图与PCB数据进行确切比较。选定Project » Project选项,以打开对话框。
比较器引擎遵循在Options for Project对话框Comparator标签中定义的设置。
对话框的主要区域包括一个由5个类别组成的大型Comparison Types列表,例如Different Designators和Changed Net Name。右侧Mode列包含每个类别的下拉列表,您可以在其中选择比较模式,例如Find Differences或Ignore Differences。文本类型比较有第三个选项,以确保比较时无需区分大小写。
新项目将默认针对每个比较类型Find Differences,并根据项目要求设置选项。
-
在将原理图同步到PCB时,所有与PCB相关的详细信息均可实现同步。
-
在将PCB同步到原理图时,仅针对元件位号、注释和封装所做更改能够同步回原理图。唯一可同步的网络更改,为引脚或部件交换操作引起的更改——如何进行此项同步将取决于引脚/部件交换选项的配置方式。如需了解更多信息,请参阅Pin and Part Swapping页面。
用于设置Object Matching Criteria的选项位于对话框的底部。匹配是一个不依赖于简单精确字符串匹配的复杂多道过程。如需了解更多信息,请参阅Matching the Nets and Classes部分。
请注意对话框底部的Ignore Rules Defined in the PCB Only选项,启用此选项后,可从比较过程中排除您已在PCB中定义的规则。
网络类和元件类同步
对话框页面:Options for PCB Project,Class Generation标签
除元件和连接数据外,您还可以在执行Design » Update PCB时,生成和同步类和设计规则。
设计规则同步
设计规则可以使用Parameter Set对象,在原理图中进行定义。选定Parameter Set对象后,Properties面板或模式对话框将包含一个Rules区域。单击Add下拉列表,以添加设计规则。该规则将应用于Parameter Set对象正在接触的覆盖区下方的网络/总线/线束/对象。
在下图中,宽度约束设计规则将应用于USB_data网络类(网络类也将作为此Parameter Set的一部分,在Parameters下拉列表的Classes区域中进行定义)。
Parameter Set用于将网络类和设计规则定义为原理图覆盖区对象下的网络。请注意,所需测量单位将在Edit PCB Rule对话框的底部进行配置。
在原理图中添加设计规则
-
将Parameter Set随附于网络/总线/线束/覆盖区(必要时,在Parameter Set中添加Net Class定义)。
-
在Parameter Set中添加一条Rule定义。添加后,将打开Choose Design Rule Type对话框,如上所示。
-
选定所需Rule Type。
-
单击OK按钮,以打开Edit PCB Rule对话框。
-
根据需要配置PCB规则要求。请注意,此PCB规则所需的测量单位将在对话框底部选定。
请在Project Options对话框的Comparator标签中,确保已启用所需Rule类型比较,以允许在PCB中添加和更新设计规则。
根据原理图规则定义创建的每条PCB规则均将自动命名为Schematic <RuleType>。如有需要,可以编辑此名称,因为其不用于正在进行的规则同步。
如上图和下图所示,设计规则将在覆盖区随附Parameter Set对象中进行定义。通过在Parameter Set对象中包含Class定义,还将创建一个PCB网络类,并且由于存在类定义,因此PCB规则的范围将限定为InNetClass(‘<PCB_NetClassName >')。
在下图中,您会注意到Parameter Set对象显示为Differential Pair指令。该指令是一种使用Place » Directives » Differential Pair命令放置的特殊Parameter Set对象。
Differential Pair指令用于定义网络类和设计规则,然后将其应用于目标差分对。
使用差分对
Differential Pair指令用于指示属于差分对的网络。软件要求将差分对中的网络命名为<Name>_P和<Name>_N。然后,PCB差分对将被命名为<Name>。
可以通过在每个差分对成员上放置Differential Pair指令来定义差分对,也可以放置一个覆盖区以覆盖对网络名称,如上图所示。
参照上图,使用差分对Parameter Set对象可以创建:
-
八个名称分别为V_RX0、V_TX0、V_RX1、V_TX1、RX0、TX0、RX1和TX1的差分对。
-
一个名称为ROCKET_IO_LINES的PCB网络类。
-
针对PCB Net Class,即ROCKET_IO_LINES配置的Differential Pairs Routing设计规则。
ECO生成选项配置
Options for Project对话框还包括ECO Generation标签。此标签将定义哪些设计修改可以创建ECO。这些标签通常均已启用,对话框Comparator标签中的选项用于配置在原理图与PCB之间同步哪些设计更改。
ECO Generation标签将定义哪些类型的修改可以创建ECO。
发现差异
设计同步功能能够从两个方向上检测和解决差异;即,从原理图到PCB,或者从PCB回到原理图。
我们可以通过以下两种方法,检测和解决差异:
-
为每个更改分配更新方向。
-
沿同一方向应用所有更新。
如果不需要同时在两个方向上应用更新,则无需完成选择待比较文档和配置更新方向以解决差异的过程。在此情况下,您可以直接转到Performing a Direct Update部分。
软件能够通过同时对两端应用更改,解决这些差异。例如,假设电子设计人员更改了电容器值,而PCB设计人员更改了同一电容器的封装。我们可以在单个更新过程中,通过将注释更改为原理图到PCB更新,并将封装更改为PCB到原理图更新,解决这两项差异。
当比较器引擎将原理图项目与PCB进行比较时,会创建一个完整差异列表——在此阶段,未假设必须更改哪一端,方可使其恢复同步。
差异列表将在对话框之间的差异项中显示。
对话框之间的差异选项和控件
该对话框大致分为三个主要区域——Differences、Update和Change Order。
差异
对话框的此区域将列出Comparator在所选文档之间发现的所有差异。每项差异均将列在其所在文档的相应列中。差异将按Project Options对话框Comparator标签上列出和启用的比较类型进行分组。此组级别的入口反映了该类型的差异数。
双击入口以交叉探测到相关源文档上的对象。
使用右键单击菜单上的Expand All和Contract All命令,以快速展开或收缩所有入口。您还可以使用每个入口左侧的+/-控件,展开或收缩单个比较类型分组。
当将项目的设计层次结构与其PCB文档进行比较时,项目端的列将标有最上层原理图图纸名称。
更新
使用对话框的此区域可以指定应更新哪个文档以弥补差异。所有Decision入口最初默认应用了No Change决策。
即使检测到差异,您亦无义务对其采取行动。软件将仅同步您指定的元素。
通过单击Decision列中的关联入口,然后在后续ECO Decision对话框中选定所需更新操作,可以单独确定每项差异的更新决策。仅需选择更新方向(待更新的比较文档)或No Updates。
ECO Decision对话框指示特定方向的更新是否有效。如果有效,则启用相应箭头。如果不支持更改,则该更新方向的相应按钮将变为灰色。
更改单
对话框的此区域将列出(对于您决定对其执行操作的每项差异)待执行操作、受操作影响的对象以及将对其执行操作的文档。此信息将用于编译将用于创建更新的后续ECO。此区域中将列出的常见操作包括:
- Remove - 更新方向为包含导致差异的对象的文档;将删除该对象。
- Add - 更新方向为不包含导致差异的对象的文档;将添加该对象。
- Update - 两个文档均包含存在一定差异的相同对象;更改对象取决于所选方向。
如果Update Decision为No Change,则不会实施Change Order入口No Action中所反映的任何操作。
右键单击菜单
- Create Change Order - 用于创建Engineering Change Order(ECO)。
- Generate Report - 用于针对Comparator发现的差异生成报告。您决定做出的更新决策和操作将包含在生成的ECO中。报告将加载到Report Preview对话框中。使用此对话框浏览报告,然后最终将其导出为各种受支持的格式或直接打印。
- << Update All in - 用于将所有差异的更新方向,设置为左侧文档(如适用)。
- Update All in >> - 用于将所有差异的更新方向,设置为右侧文档(如适用)。
- Reverse Direction For All - 用于快速反转所有差异的更新方向(如适用)。如果更改差异方向无效,则入口将被设置为No Change。
- Set No Action For All - 用于将所有差异的更新决策,快速设置为No Change。
- << Update Same Kind in - 用于设置与左侧文档当前聚焦差异相同比较类型的所有差异的更新方向(如适用)。
- Update Same Kind in >> - 用于将相同比较类型的所有差异的更新方向设置为当前聚焦到右侧文档(如适用)。
- Reverse Direction For Same Kind - 用于快速反转与当前聚焦差异具有相同比较类型的所有差异的更新方向(如适用)。如果更改差异方向无效,则入口将被设置为No Change。
- Set No Action For Same Kind - 用于将当前焦点差异具有相同比较类型的所有差异的更新方向,快速设置为No Change。
- << Update Selected in - 用于将所有选定差异的更新方向,设置为左侧文档(如适用)。
- Update Selected in >> - 用于将所有选定差异的更新方向,设置为右侧文档(如适用)。
- Reverse Direction For Selected - 用于快速反转所有选定差异的更新方向(如适用)。如果更改差异方向无效,则入口将被设置为No Change。
- Set No Action For Selected - 用于将所有选定差异的更新决策,快速设置为No Change。
- Invert Selection - 用于选定列表中当前未选定的所有差异,或者取消选定已选定的差异。
可以使用标准多选技术(Ctrl+单击、Shift+单击),在列表中选定多个差异。
仅当更新有效时,方可设置特定方向的更新。
其他控件
对话框底部提供了以下按钮:
- Create Engineering Change Order - 单击此按钮以生成ECO。将出现Engineering Change Order对话框,您可以在该对话框中确认和执行更新,以同步文档。
- Report Differences - 单击此按钮,以针对Comparator发现的差异生成报告。您决定做出的更新决策和操作将包含在生成的ECO中。报告将加载到Report Preview对话框中。使用此对话框可以浏览报告,然后最终将其导出为各种受支持的格式或直接打印。
- Explore Differences - 单击此按钮,以在生成ECO之前进一步调查Comparator发现的差异。Differences对话框将关闭,您将返回主工作区,并打开Differences面板。该面板将包含Comparator所列所有相同类别的差异。使用该面板交叉探测到导致其上级文档差异的对象。
以此方式探索差异,将导致您在Differences between对话框中所做任何更新决策均丢失。您将需要再次打开对话框并根据需要重新定义更新。您还可以直接从Differences between对话框中交叉探测到对象。双击对话框Differences区域中的对象入口。由于Differences between对话框保持打开状态,因此最好打开源文档和目标文档并放置对话框,以免遮挡视图。
为了打开Differences对话框并查看差异列表,请执行以下操作:
-
为了打开Choose Documents To Compare对话框(如下图所示),请运行Projects»Show Differences命令,或者在Projects面板中右键单击所需项目(或其源文档)的入口,然后从上下文菜单中选择Show Differences命令。Choose Documents To Compare对话框用于选定两个待比较文档/文档集,通常为针对PCB的原理图项目。您还可以使用此对话框通过勾选Advanced Mode选项,将任何文档与任何文档进行比较。例如,您可能正在将网络列表与PCB进行比较,或将PCB与PCB进行比较。
在基本或高级模式下,对话框的默认设置通常能够满足大部分设计比较需求,其中需要比较源文档和目标PCB设计以实现同步。您还可以在该对话框中比较其他文档,并且如果您需要加载项目版本并比较相应源文档之间的差异,此功能将非常有用。
选定待与原理图项目进行比较的PCB。
-
在对话框的主要部分选定PCB,然后单击OK以打开Differences between对话框,如下所示。如果PCB文档当前与源文档同步,则将出现一个对话框,提示未检测到差异。
将打开Differences between对话框。Synchronizer具有双向性。这意味着您可以在同一ECO中指定对两个文档的更新。为了同步比较文件,需要确定是否将针对每项差异采取行动以及更改方向——指定应更新哪个文档以弥补差异。因此,下一步是针对每项差异分配更新方向:
-
对于个别差异,请单击Update列以显示方向选择器,如下图所示。
-
对于相同类型的多个差异,请右键单击标题,例如Different Footprints,然后选定所需Update Same Kind命令。
-
对于所有差异,请右键单击对话框中的任意位置,然后选择所需Update All命令。
对于每项差异,必须针对拟创建ECO设置更新方向以解决该差异。
单击Explore Differences按钮,以访问Differences面板并按照下文Exploring Design Changes with the Differences Panel部分中所述探索差异。
由于以此方式访问Differences面板会导致Differences对话框关闭,因此任何已做出更新决策均将丢失。因此,最好在做出更新决策之前探索差异。或者,通过在对话框Differences区域中双击对象入口,直接从Differences对话框中交叉探测到对象。
单击Report Differences以设置和打印/导出Comparator发现的差异、指定的更新决策以及将包含在生成ECO中的操作的报告。
分配Update方向后,单击Create Engineering Change Order按钮以打开Engineering Change Order对话框,关于该对话框的更多信息,请参阅以下Resolving Differences - Applying the ECOs部分。
使用Differences面板探索设计更改
Differences面板将显示文档差异的分层视图。
概要
Differences面板用于在比较设计文档时(例如,将项目源文档的层次结构(原理图)与PCB设计文档进行比较时),显示软件内置Differences Comparator发现的逻辑或物理差异。您可以通过此面板在决定创建将用于同步项目文档的Engineering Change Order(ECO)之前,以交互方式探索差异。
面板访问
为了打开Differences面板:
-
在主菜单中,选择View » Panels » Differences。
-
单击设计工作区右下角的Panels按钮,然后单击Differences。
可以将面板配置为浮动在编辑器空间中或悬停在屏幕的两侧。如果Differences面板当前位于悬停面板组内,请使用位于面板底部的Differences标签将其置于最前面。
显示差异
如何应用Differences面板取决于目标是否为:
-
通过检测项目层次结构中的逻辑差异,根据其内容和结构分析整个项目的完整性。
-
通过检测图形(物理)差异,比较同一原理图或PCB文档的两个版本。
使用Differences Comparator
Differences between对话框的Explore Differences功能时,将填充Differences面板,该对话框可通过右键单击Projects面板然后选择Show Differences打开。
显示逻辑差异
通过右键单击Projects面板中的项目(或项目文档),然后从关联上下文菜单中选定Show Differences,以激活Choose Documents To Compare对话框,然后在该对话框中对项目文档的逻辑差异进行比较。
右键单击项目名称,然后选定Show Differences以打开Choose Documents To Compare对话框。
通常通过将PCB文档与上级项目的源文档层次结构进行比较,检测原理图设计内容与PCB设计内容之间的逻辑差异。
如果在单击OK后,指定文档之间存在任何差异,则将打开Differences between对话框。Differences面板中的信息仅在单击Differences between对话框中的Explore Differences按钮后才会显示。
Differences面板将仅显示Differences对话框中列出的差异。反之,这些差异将由在Project Options对话框(Project » Options)的Comparator标签中所做选定内容决定。此标签将列出所有比较类型,例如与Components、Nets和Parameters相关的差异。针对Find Differences或Ignore Differences之间的每个比较类别设置Mode,将决定Differences Comparator是否将其结果传递到Differences between对话框中。
设置如何在Project Options对话框中检测和报告差异。
Differences面板将以树状结构显示源文档之间的差异,其中最上层文件夹将显示检测到的差异总数。然后,针对Differences between对话框中显示的每个特定比较类型,创建子文件夹。每个子文件夹均将列出已发现的特定差异,而这些差异又将进一步分解为文档内产生这些差异的对象。
如果关联文档已打开(或打开并隐藏),则单击面板上的对象入口将交叉探测到文档内的对象。
对象将使用缩放和变暗效果进行可视显示,其中通过调暗所有其他对象来高亮显示对象。调光对比度可以通过Preferences对话框System - Navigation页面Highlight Methods区域中的Dimming滑块进行更改。
显示物理差异
同一原理图或PCB文档两个版本的图形(物理)比较与上述逻辑比较基本相同,但也需要使用Choose Documents To Compare对话框中的Advanced Mode。
使用Show Differences命令(Projects面板右键单击菜单)进行文档物理比较,以打开Choose Documents To Compare对话框,然后选中Advanced Mode框。当所有项目文件均显示在对话框中时,选定文档的两个变体进行比较。
在Advanced Mode下从Choose Documents To Compare对话框中,选定待物理比较的文档。
单击OK将继续进行图形比较,并打开前面概述的Differences between对话框。单击Explore Differences,以在Differences面板中打开交互式差异列表。
该面板将以树状结构显示文档之间的差异。最上层文件夹将显示检测到的差异总数。针对每种类型的差异创建入口,而这些入口反过来包含特定引用和每种差异涉及的对象(端口、部件等)。
针对检测到的差异选定对象入口,将高亮显示并缩放到编辑器设计空间中的对象。
说明
-
如果面板中的对象留在当前隐藏文档上,则当您单击关联入口时,该文档将自动打开,并在设计编辑器窗口中成为活动文档。
-
在Differences面板上交叉探测时应用的过滤是暂时的。因此,不会阻止您选定或编辑超出过滤器范围的设计对象。
-
进行新文档比较或编译上级项目时,将清除Differences面板中的信息。
-
使用主菜单中的Project » Show Physical Differences命令,检测原理图或PCB文档两个版本之间存在的物理差异,并在设计空间中并行查看两个文档时以图形方式显示这些差异。此Show Physical Differences功能仅提供视觉比较——待比较文档均无法通过生成ECO进行更新。其用于比较同一文档的两个版本,但如果运行以比较不同文档,例如项目的源层次结构与PCB,则将出现Differences面板,以列出检测到的逻辑差异。
进行直接更新
由于设计人员通常知道更新应用方式,并且这些更新均在同一方向上,因此您可以选择跳过刚才描述的差异检测和方向分配过程。
您需要在原理图编辑器或PCB编辑器中通过Design菜单选定Update命令,而不是通过Projects菜单选定Show Differences命令。您所选运行命令的编辑器,将指示您希望进行更改的方向——从此编辑器到彼编辑器。例如,您可以在原理图编辑器中选择Design » Update,以将所有更改从原理图推送到PCB。
通过从PCB编辑器的主菜单中选择Design » Import Changes from <ProjectName>命令,活动PCB设计文档也可以包含针对源原理图文档所做的任何更改。
您将跳过Differences between对话框,而直接跳转至Engineering Change Order对话框。
如果需要按同一方向应用所有更新,请使用Design»Update命令。
如果PCB文档当前与源文档同步,则将出现一个对话框,提示未检测到差异。反之,当更新原理图时,自动生成的ECO可能解决某些检测到的差异,亦可能无法解决任何差异。在此情况下,您可以选择通过
Differences between对话框查看这些差异。尽管在原理图方向上可能无法进行修改,但您可能需要更新PCB(可能通过删除对象或实体)。如果您能够在筛选差异后,解决部分或全部差异,则可以生成ECO。如果仍然存在无法通过对话框解决的差异,则需要返回到设计以解决问题,然后再次进行比较。
Resolving Differences - 应用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,请根据需要启用更改。
Engineering Change Order对话框选项和控件
该对话框分为两个主要区域:Modifications和Status。
修改
对话框的此区域将列出实现实现同步所需更改需要的所有修改。修改将按修改类型进行分组,然后在Project Options - ECO Generation对话框中列出和启用。此组级别的入口反映了该类型的修改数量。此区域内的每个特定修改均按以下方式列出:
- Enable - 此选项将决定在执行ECO时是否包含修改。直接单击复选框,以在启用/包含(选中)和禁用/排除(未选中)之间切换其状态。您可以使用空格键打开和关闭Enable复选框。
- Action - 待执行的具体操作。操作类型取决于需要执行的ECO类型。
- Affected Object - 受操作影响的对象。
- Affected Document - 将对其执行操作的文档。
可以使用标准多选技术(Ctrl+单击、Shift+单击)在列表中选定多个修改。
如果在Project Options对话框
ECO Generation标签上将修改类型的Mode设置为Ignore Differences,则引起此修改类型操作的任何设计更新均不会传输到Engineering Change Order对话框。
右键单击菜单
在执行ECO时,将默认启用所有修改以将其纳入。根据需要单独启用/禁用每个修改入口,或者使用右键单击菜单中提供的以下命令,更改多个修改的启用状态:
- Validate Changes - 单击此命令,以针对启用以纳入ECO中的修改运行确认检查。确认结果将显示在对话框Status区域内的Check列中。
- Execute Changes - 单击此命令,以执行ECO。执行结果将显示在对话框Status区域内的Done列中。请记住,仅将执行已通过确认阶段的更改。
- Create Report - 单击此命令,以生成ECO中包含的修改报告。报告将加载到Report Preview对话框中。
- Cross Probe - 单击此命令,以交叉探测从而定位和引用在相关原理图和PCB文档上修改操作中涉及的对象。
- Expand All - 单击此命令,以展开列表中所有修改的视图。
- Contract All - 单击此命令,以收缩列表中所有修改的视图。
您还可以使用入口左侧的+/-控件,展开或收缩单个修改分组。
- Enable All - 用于启用所有修改。
- Disable All - 用于禁用所有修改。
- Enable Selected - 用于启用所有已选定修改。
- Disable Selected - 用于禁用所有已选定修改。
- Enable all of same Kind - 用于启用与当前聚焦修改具有相同修改类型的所有修改。
- Disable all of same Kind - 用于禁用与当前聚焦修改具有相同修改类型的所有修改。
- Invert Selection - 用于快速选定列表中当前未选定的所有修改,并取消选定已选定的修改。
状态
对话框的此区域将显示每个已启用修改的以下状态信息:
- Check - 此字段将显示对修改运行确认检查的结果。绿色对号( )表示拟议更改得到支持,并将在执行ECO时实施。红色十字( )表示拟议更改无效,且在执行ECO时不会实施。
- Done - 此字段显示执行修改的结果。绿色复选标记( )表示有效修改已成功执行。
- Message - 如果修改未通过确认阶段,则此字段(以及Messages面板中)中将出现一个入口,指示失败的原因。
您可以在任何阶段关闭对话框,以调查某些更改失败原因并进行任何必要设计更改。
其他控件
以下控件位于对话框底部和右键单击菜单中:
- Validate Changes - 单击此命令,以针对启用以纳入ECO中的修改运行确认检查。确认结果将显示在对话框Status区域内的Check列中。
需要在实施拟议修改操作之前,对其进行确认。这样将测试拟议更改的逻辑。
- Execute Changes - 单击此命令,以执行ECO并使其中包含的有效更改生效。执行结果将显示在对话框Status区域内的Done列中。请记住,仅将执行已通过确认阶段的更改。
- Report Changes - 单击此命令,以生成ECO中包含的修改报告。报告将加载到Report Preview对话框中。
请记住,无论其是否成功确认和执行,报告均将列出所有修改入口。
- Only Show Errors - 选中此选项,以仅显示Engineering Change Order错误。不会显示经过确认的更改。仅显示错误列表,将确保您能够快速查看并对设计进行必要更改,以便生成的ECO完全确认。
与比较器相关的消息将显示在Messages面板中。
了解原理图与PCB之间的链接
通过唯一标识符进行元件匹配
每个原理图元件均通过唯一标识符(UID)链接到其PCB元件。当原理图元件放置在图纸上时,将分配UID,而当设计传输到PCB编辑器时,此值将传输到PCB元件。当元件信息首次在原理图源文档与空白PCB设计文档之间传输时,使用Synchronizer后,所有元件均将通过唯一ID自动链接——每个原理图元件的ID信息均将被分配到相应元件封装。
此方案足以满足简单设计的需求,但不能支持多通道设计。在多通道设计中,每条物理通道中将重复相同原理图元件,这意味着重复的PCB元件将具有相同UID。为了应对此情况,将通过组合父图纸符号UID与原理图元件UID,创建PCB元件的UID。PCB UID的语法略有变化,具体取决于多通道设计的创建方式。
对于通过放置多个均引用相同原理图图纸Sheet Symbols创建的多通道设计,则每个图纸符号均可以提供唯一ID,因此PCB UID具有以下格式:
\SheetSymbolUID\SchComponentUID
对于使用Repeat关键字创建的多通道设计,仅1个图纸符号UID可用,因此PCB UID还包括以下格式的ChannelIndex值:
\ChannelIndex+SheetSymbolUID\SchComponentUID
当Components未链接时
使用UID匹配原理图与PCB元件的优点是,其允许位号变得不同步(可通过多次执行PCB重新注释),而不会导致任何原理图与PCB不同步的风险。
如果在原理图或PCB上有一个元件,但在其他编辑器中没有匹配元件(相同UID),则会发生以下情况:
-
如果额外元件仅存在于源编辑器中,则将生成一个可用于将元件添加到目标编辑器的ECO。
-
如果额外元件仅存在于目标编辑器中,则将生成一个可用于删除额外元件的ECO。
-
当两个编辑器中均存在不匹配元件时,软件需要有关如何处理它们的说明,因此将打开Failed to Match Unique Identifiers对话框。
Failed to Match Unique Identifiers对话框
对话框按钮具有以下选项:
- Automatically Create Component Links - 如果您知道不匹配元件已具有匹配的位号,请单击此按钮。使用元件位号后,软件将针对这些额外元件分配匹配的UID。对于可由位号匹配的元件,任何其他属性差异(例如不匹配的参数)均将导致生成ECO。如果存在位号无法匹配的元件,则将生成用于添加/删除这些元件的ECO(需要添加源编辑器中存在的额外元件,并删除目标编辑器中的额外元件)。
-
Manual Component Links - 如果您知道存在匹配的元件,但不知道其位号的状态,请单击此按钮。将打开Edit Component Links对话框(如下所述),您可以在其中手动选定每个源元件和目标元件,并将其传输到匹配的元件列表,为其分配匹配的UID。然后,生成ECO以同步位号(以及任何其他不匹配元件属性)。
最好使用唯一ID匹配所有元件,以确保在原理图或PCB文档中对位号进行注释时,知道文档在任何阶段仍可以重新同步。即使元件未由唯一ID匹配,文档仍可以同步,但在此情况下,系统将提示您仅通过位号匹配元件——由于未考虑注释和封装,因此某些元件的匹配可能不正确。
- Cancel - 单击此按钮生成ECO,以添加源编辑器中存在的额外元件,并从目标编辑器中删除额外元件。
手动链接元件
可以随时在Edit Component Links对话框(PCB编辑器,Projects » Component Links命令)中检查和管理原理图元件之间的元件链接状态及其相应的PCB元件封装。
仅从PCB文档中手动链接元件的原因是,只有PCB元件封装需要使用唯一ID信息进行更新——该信息已经存在于原理图端。
Edit Component Links对话框用于在PCB编辑器检测和解决UID不匹配问题。
该对话框具有以下功能:
-
不匹配元件将显示在左侧的两个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。唯一ID将用于已添加为设计规则指令的参数。将设计传输到PCB文档时,任何定义的规则参数均将用于在PCB中生成相关设计规则。这些生成的规则将被赋予相同唯一ID,以确保在原理图或PCB中更改规则约束,并在实施同步时推送这些更改。
-
如果复制/粘贴或剪切/粘贴原理图元件,其UID会自动更新——从而确保每个元件均继续具有唯一标识符。
-
如果您正在重新组织原理图(已传输到PCB编辑器)并且需要将元件移动到另一张图纸上,请勿对其进行剪切/粘贴,而应将其选定,然后运行Edit » Refactor » Move Selected Sub-circuit to Different Sheet命令。
匹配网络和类
网络和类均有一个父级(网络或类)和子项(该网络或类的成员)。匹配网络和类需要使用不同于用于元件链接的UID机制的方法,以支持针对以下方面进行更改:父级;子项;或父级及其子项。例如,像改变原理图上一个网络名称这样简单的事情,不应该要求从PCB上移除网络及其所有子引脚,然后添加新命名的网络,最后将所有子引脚添加到该新网络中。
为了支持此项内容,软件中包含单独的匹配算法,以按其成员以及名称匹配网络和类。匹配过程将在Project Options对话框Comparator标签的Object Matching Criteria部分中进行配置。
默认设置为首先匹配成员,然后按Object Type名称进行匹配。
此类对象的匹配将按以下方式处理:
-
在设计同步过程中,将默认首先尝试根据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对话框选项和控件
- Unmatched <Object>
- Unmatched Reference Objects - 列出不匹配的对象。使用展开/折叠控件,打开/关闭列表。
- Unmatched Target Objects - 列出目标对象。使用展开/折叠控件,打开/关闭列表。
- - 单击以匹配选定的参考对象和目标对象,并将所选对象从Unmatched区域移动到Matched Pairs区域。
- - 单击以将所选对象从Matched Pairs区域移动到Unmatched区域。此操作将导致移动对象不匹配。
- - 单击以将所有对象从Matched Pairs区域移动到Unmatched区域。此操作将导致移动对象不匹配。
- Matched Pairs - 列出当前匹配的Reference Object和Target Object。
- Continue - 单击以接受匹配的更新并打开Engineering Change Order对话框。
-
在此对话框中,在Unmatched Reference Objects和Unmatched 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设计规则相匹配。
您通常不需要手动管理规则的匹配,除非您在PCB编辑器PCB Rules and Constraints对话框中手动编辑了UID。如果UID不匹配,则软件将针对任何未匹配PCB规则的原理图规则向PCB添加新规则,并删除任何未匹配原理图设计规则的PCB设计规则。
您可以在任一编辑器中自由更新元件,并将这些更改同步到另一个编辑器中。针对网络、类和规则所做更改,仅可从原理图更新到PCB。