验证逻辑设计
概览
- 了解如何配置错误报告并运行多板设计验证。
- 掌握如何在 Messages 面板中定位、排序和查看违规项,并了解为何在修正问题后必须重新运行验证。
- 识别网络名称不同、引脚未连接和冲突未解决等连接问题,并获取排查或解决这些问题的指导。
在多板原理图上将各模块相互连接后,即可验证板间连接关系。这将检测网络到引脚的分配错误以及引脚间的互连布线错误。解决这些错误后,可将修正下推至受影响的 PCB 工程,或回传至源系统原理图。
Altium Designer 可以根据设计内容和工程检查设置,检查多板设计中的逻辑、电气和绘图错误。 可以对多板设计执行多项验证检查。这些检查针对图纸上模块间连接的违规,以及与配接部件相关的问题,并作为工程选项的一部分进行配置。
配置验证选项并运行验证
从主菜单中选择 Project » Project Options 命令,打开 Project Options 对话框,然后选择其 错误报告选项卡。单击各违规项的 Report Mode ,然后从下拉列表中选择所需值,即可将其更改为四个值之一。

在 Project Options 对话框的 Error Reporting 选项卡上配置所需的违规检查。
要验证多板设计,请从主菜单或设计空间的右键菜单中选择 Design » Run ERC 命令。

使用 Run ERC 命令验证多板设计。
解读消息并定位违规
如果在设计中检测到验证错误和警告, Messages 面板中将显示通知。

Messages 面板显示多板设计工程中检测到的警告和错误。
Messages 面板是集中显示违规信息的控制中心。需要注意以下几点:
-
Messages 面板有两个区域:上方的表格区域汇总违规信息;下方区域提供当前所选违规的详细信息。
-
双击一条消息可交叉探查至对应的违规。双击一条详细信息可显示对应的具体对象。
-
可以单击 Messages 面板中的任意列标题(例如 Class、Document、Message),以便对错误和警告进行排序。
-
在 Messages 面板中右键单击,然后使用 Group By 子菜单选项,按特定条件对错误和警告进行分组。
-
在 Messages 面板中右键单击,然后使用相应的 Clear 命令删除消息,或使用 Export To Report 命令将消息导出为报告。
多板设计违规类型
以下各节详细介绍了多板设计中可用的各项违规检查。
与连接相关的违规
网络名称不同
当多板原理图上某个连接所关联的网络名称,与子设计工程中连接器对应引脚所关联的网络名称不同时,就会出现此违规。
通知
Messages 面板中将按以下格式显示通知:
Net Name "<ConnectionNetName>" for connection "<ConnectionDesignator>" does not match with Net "<ConnectorPinNetName>" of "Pin <ConnectorDesignator-PinNumber>" in child project "Module <ModuleDesignator>(<ChildProjectName>)"
其中:
-
ConnectionNetName– 多板原理图上,从指定引脚引出的连接所关联的网络名称。 -
ConnectionDesignator– 连接的标识符。 -
ConnectorPinNetName– 子设计工程中连接器指定引脚所关联的网络名称。 -
ConnectorDesignator-PinNumber– 模块入口所代表的子设计中的连接器元件标识符及其引脚。 -
ModuleDesignator– 多板原理图上用于引用子设计工程的模块标识符。 -
ChildProjectName– 模块所引用的子工程名称,包含扩展名。
解决建议
此违规通常出现在一个子工程中连接器引脚的网络名称与另一个子工程中配接连接器引脚的网络名称不同时,也就是在多板原理图文档上,通过相关父模块之间的连接来连接两块板的情况下。
使用 Connection Manager 对话框查看当前使用的网络名称。Net Name 条目显示多板原理图文档上该连接所使用的名称。选中该连接后,也可在对话框的 Conflict Resolution 区域直观地看到该名称。当两个子工程中的连接器引脚关联了不同网络时,该连接的 Net Name 默认为 <FromPinNetName>/<ToPinNetName>。这些网络名称分别显示在起始和终止引脚的 Module Net 字段中。可以通过以下两种方式解决:
-
对两个模块分别使用 Conflict Resolution 区域中的
按钮,快速将各模块的网络设置为与该连接的网络名称一致。然后应用更改,并使用 Design » Update Child Projects 命令将更改回传至子工程。通过执行 ECO,这些工程中相应连接器引脚所关联的网络将随之更新。
-
更改其中一个子工程中相关连接器引脚所关联的网络名称,使其与另一个工程中连接器引脚所使用的网络名称一致。然后编译该子工程,并使用 Design » Import From Child Projects 命令将更改传回多板原理图。通过执行 ECO,该连接的网络名称将随之更新。
有关使用 Connection Manager 对话框的更多信息,请参阅使用连接页面。
无网络
当多板原理图上模块入口所代表的连接器引脚,在该模块引用的子设计工程中未连接到任何网络时,就会出现此违规。
通知
Messages 面板中将按以下格式显示通知:
"Pin <ConnectorDesignator-PinNumber>" is not connected in child project "Module <ModuleDesignator>(<ChildProjectName>)"
其中:
-
ConnectorDesignator-PinNumber– 模块入口所代表的子设计中连接器元件的位号,以及该连接器中存在违规的引脚。 -
ModuleDesignator– 多板原理图中用于引用子设计工程的模块的位号。 -
ChildProjectName– 模块所引用的子工程的名称(含扩展名),该工程包含所指引脚未连接到网络的连接器。
解决建议
此违规可能在多种情况下出现。解决此类违规时,请考虑以下事项:
-
如果设计中不使用所引用连接器的该引脚,请将其连接到适当的电源线(例如,
GND)。 -
确保连接到连接器引脚的布线形成电气连接,即导线或总线连接到引脚的电气热点。
-
如果连接器引脚应连接一小段导线并带有网络标签,请确保网络标签存在,且已正确附着到导线上。
未解决的冲突
当系统中两个已连接电路板之间的连接关系存在冲突时,会出现此违规。
通知
Messages 面板中会以以下格式显示通知:
Unresolved conflict exists: Net "<OldModuleNetName>" has been renamed to "<NewModuleNetName>" for "Pin <ConnectorDesignator-PinNumber>" in child project "Module <ModuleDesignator>(<ChildProjectName>)"
其中:
-
OldModuleNetName– 当前保存在多板原理图编辑器现有连接数据映射中的、与子设计工程中连接器的指定引脚关联的网络名称。 -
NewModuleNetName– 导入对子工程所做的更改后,子设计工程中连接器的指定引脚现在所关联的网络名称。 -
ConnectorDesignator-PinNumber– 模块入口所代表的子设计中连接器元件的位号,以及该连接器的引脚。 -
ModuleDesignator– 多板原理图中用于引用子设计工程的模块的位号。 -
ChildProjectName– 模块所引用的子工程的名称(含扩展名)。
解决建议
此违规通常发生在以下情况:某个子工程中的连接器相关内容已更改,将该更改导入回多板原理图文档时,会破坏两个已连接电路板之间定义的现有连接关系。例如,某个子工程中分配给连接器两个引脚的网络可能已互换,这意味着沿这些引脚追踪到另一个目标电路板的连接器时,会出现不匹配。
使用 Connection Manager 对话框查看未解决的冲突。Connection Manager 对话框列表会高亮显示所有被认为存在冲突的连接,也就是任何与多板原理图编辑器现有连接数据映射不一致的已导入连接更新。
请参阅使用连接页面,了解有关使用 Connection Manager 对话框及可用冲突解决选项的更多信息。
与配接部件相关的违规
入口为空
当模块入口当前未引用其父模块所引用的子设计工程中的连接器元件时,会出现此违规。
通知
Messages 面板中会以以下格式显示通知:
Entry "<EntryDesignator>" is empty in "Module <ModuleDesignator>(<ChildProjectName>)"
其中:
-
EntryDesignator– 存在违规的模块入口的位号。 -
ModuleDesignator– 多板原理图中用于引用子设计工程的模块的位号。 -
ChildProjectName– 模块所引用的子工程的名称(含扩展名)。
解决建议
此违规可能在以下情况下出现:
-
所引用子工程中当前与现有模块入口关联的连接器元件,其特殊的
System:Connector参数已被移除,并且该更改被意外导入了多板原理图文档。在这种情况下,请将该参数重新添加到元件中,然后将更改导入回多板原理图文档。 -
在父模块中手动放置了一个新入口。在这种情况下,请从子工程导入更改,使所需入口与其对应的连接器同步,然后移除多余的入口。
无配接部件
当模块入口当前未连接到设计中的另一个模块时,会出现此违规。
通知
Messages 面板中会以以下格式显示通知:
Part "<ConnectorDesignator>" (Entry <EntryDesignator>) doesn't have Mated Part in "Module <ModuleDesignator>(<ChildProjectName>)"
其中:
-
ConnectorDesignator– 所引用子工程中连接器元件的位号。 -
EntryDesignator– 存在违规的模块入口的位号(该入口反映所引用子工程中对应的连接器,并与其保持同步)。 -
ModuleDesignator– 多板原理图中用于引用子设计工程的模块的位号。 -
ChildProjectName– 模块所引用的子工程的名称(含扩展名)。
解决建议
确保存在违规的模块入口已连接到目标模块中所需的入口,从而将一个子板上的连接器与另一个子板上的连接器连接起来。选择连接类型,并据此在两个模块的入口之间进行连线。
请参阅使用连接页面,了解更多信息。