编译和验证设计
Altium Essentials: Schematic Electrical Rules Validation
This content is part of the official Altium Professional Training Program. For full courses, materials and certification, visit Altium Training.
概览
- 了解在哪里运行项目验证、Altium Designer 如何报告警告和错误,以及如何直接定位到问题区域。
- 理解“Error Reporting(错误报告)”检查与“Connection Matrix(连接矩阵)”规则之间的区别,以及何时应根据设计需求调整各项设置。
- 了解如何使用 No ERC 指令抑制特定的已知违规报告,而不必关闭整个项目中更广泛的验证功能。
原理图不仅仅是简单的图纸,还包含电路的电气连接信息。您可以利用这种连接关系感知能力来验证设计。
原理图验证与验证选项配置
要验证设计,请从主菜单 Project 中选择 Validate PCB Project <ProjectName> 命令。要验证 Projects 面板中当前选中的项目,也可以使用项目条目右键菜单中的 Validate Project 命令,或面板顶部的
控件。

使用 Validate PCB Project <ProjectName> 命令验证设计。
软件会根据统一数据模型和项目检查设置,检查逻辑、电气和绘图错误。如果已启用在原理图上显示验证错误和警告的功能(在 Preferences 对话框的 原理图 – 编译器页面中启用),违规对象下方会显示彩色波浪线。将鼠标悬停在该对象上,会显示概述违规情况的弹出提示。Messages 面板中也会显示通知。
在验证设计时,可以执行大量绘图和电气检查。这些检查作为项目选项的一部分进行配置。从主菜单中选择 Project » Project Options 命令,打开 Project Options 对话框。默认设置并不适用于所有设计,因此,熟悉这些选项以及如何根据设计需求进行配置非常重要。
绘图检查
验证期间,会根据 Project Options 对话框中 错误报告选项卡上的设置,检查常见的绘图和编辑错误。 错误检查按组进行组织,例如 Violations Associated with Nets、Violations Associated with Components 等。 这些组在对话框中按字母顺序排列。 单击各违规项的 Report Mode,然后从下拉列表中选择所需值,即可将其更改为四个值之一。

在 Project Options 对话框的 Error Reporting 选项卡上配置所需的错误检查。单击某个违规项的 Report Mode 单元格,可更改该违规项的相应设置。
通常,最好先使用默认设置验证设计并查看警告。对于当前设计中不构成问题的警告,可以更改其报告级别。
有关每项错误检查的详细信息,请参阅下文的 PCB 设计违规类型部分。
连接检查
电气连接检查依据 Project Options 对话框中 连接矩阵选项卡 上的设置进行。
该矩阵提供了一种机制,用于建立元件引脚与端口、图纸入口等网络标识符之间的连接规则。它定义了应报告为警告或错误的逻辑或电气情况。例如,一个输出引脚连接到另一个输出引脚通常会被视为错误,而两个无源引脚相连则不会。
单击矩阵中的小方块可更改特定规则。 每条规则决定给定引脚/网络标识符组合的报告级别。每条规则都有四个可选值:Fatal Error、Error、Warning 和 No Report。
解读消息与定位错误
验证项目时,所有产生警告或错误的情况都会列在 Messages 面板中。请注意,只有至少存在一个 Error 或 Fatal Error 情况时,Messages 面板才会自动打开。要检查 Warning,需要单击设计空间右下角的 Panels 按钮,然后选择 Messages,手动打开该面板。 项目验证完成后,面板将列出检测到的所有警告和错误。
Messages 面板是集中显示违规信息的控制中心。需要注意以下几点:
-
Messages 面板有两个区域:上部表格区域汇总警告/错误;下部区域提供当前所选警告/错误的详细信息。
-
双击消息可交叉探查对应的警告/错误。双击某条详细信息可显示相应的具体对象。
-
可以单击 Messages 面板中的任意列标题(例如,类别、文档、消息),以便对错误和警告进行排序。
-
在 Messages 面板中右键单击,然后使用 Group By 子菜单选项,按特定条件对错误和警告进行分组。
-
在 Messages 面板中右键单击,然后使用相应的 Clear 命令删除消息,或使用 Export To Report 命令将消息导出为报告。
-
该面板包含根据 Error Reporting 选项卡和 Connection Matrix 选项卡中的设置检测到的警告和错误。
-
在 Messages 面板中右键单击警告/错误,然后选择 Place Specific No ERC for this violation 命令,系统将自动交叉探查至错误位置,同时光标上会出现一个 No ERC 指令,可将其放置在错误位置以抑制错误检查。了解有关 抑制 ERC 违规 的更多信息。
解决警告或错误
务必处理检测到的每一条警告或错误。默认错误设置通常比较保守,因为软件采取谨慎的做法,再由您决定是否可以放宽检查条件,会更为稳妥。例如,您的设计可能需要将 IO 引脚连接到输入端口,这就需要调整 Connection Matrix 选项卡中相应的单元格。另一项经常需要更改的错误检查是 Nets with no driving source,您需要在 Error Reporting 选项卡中禁用该检查。
有时,您希望针对某种情况检查整个设计,但又希望忽略电路中特定位置的警告/错误。例如,您可能希望允许在某个特定位置重命名网络,但仅限于该位置。为此,可以在该位置放置一个 No ERC 指令。
抑制 ERC 违规
如果需要让电路中的某个特定位置不报告错误,可在该位置放置一个 No ERC(电气规则检查)指令,即 do not flag a warning/error at this location。使用 No ERC 指令,可以有意限制电路中某个已知会产生警告的位置(例如未连接的引脚)的错误检查,同时仍对电路的其余部分进行全面检查。
No ERC 指令支持多种不同的样式,并且可以用任意颜色显示。您可以利用这一特性来体现电路中该位置的设计意图。

选择最能体现其在电路中该位置所起作用的 No ERC 样式。
No ERC 指令有两种工作模式:
- Suppress All Violations – 在此模式下,所有可能的警告和/或错误情况都会被抑制。在此模式下,该指令通常称为 通用 No ERC 指令。
- Suppress Specific Violations – 在此模式下,仅抑制选定的警告或错误情况;任何其他警告或错误仍会被检测并报告。在此模式下,该指令通常称为 特定 No ERC 指令。
使用示例
您是否经常遇到网络“没有驱动源”的警告,却发现这条消息完全可以忽略?例如,某个输入引脚的信号来自连接器,而连接器引脚的标称电气类型是无源,只有插入外部电缆时才有驱动信号。又或者,该网络的信号源是上拉电阻或开关,它们本质上也都是无源器件。您可以采用以下策略之一来解决此警告:
- 更改网络中某个源引脚的电气特性。这属于修复而非抑制,但由于它改变了引脚的默认工作模式,可能会给后续设计带来麻烦。例如,假设在未启用引脚方向图形显示的情况下修改设计中的连线。这些修改可能会导致某个输出连接到无源器件的引脚。如果该器件引脚的电气类型已被设置为输出(以消除先前的驱动源警告),就会造成连接违规。
- 将相关违规检查的报告模式设置为“不报告”,该模式在“项目选项”对话框的“错误报告”选项卡中定义。这样会禁用对此特定违规的检查,但您也将无法发现设计中其他位置的任何同类真实错误。
-
第三种(也可以说是最佳的)方法是在网络上放置一个 No ERC 指令。这样不会对设计作任何更改,只会抑制那些您已知并非问题的警告消息“噪声”。

在您已知会引发“无驱动源”警告的网络上放置 No ERC 指令。
放置 No ERC 指令
可以通过多种方式在原理图文档中放置 No ERC 指令:
-
从主菜单中选择 Place » Directives » Generic No ERC 命令、单击 Wiring 工具栏上的
按钮,或在设计空间中右键单击并选择 Place » Directives » Generic No ERC 命令,即可放置通用 No ERC 指令。
-
要在电路中已显示违规的位置放置特定 No ERC 指令,可在设计空间中右键单击违规对象(以彩色波浪线突出显示),然后从右键菜单中选择 Place NoERC to Suppress 命令。

使用右键菜单放置特定 No ERC 指令。 -
要在电路中已显示违规的位置放置特定 No ERC 指令,可在 Messages 面板中右键单击警告/错误,选择 Place Specific No ERC for this violation 命令,然后直接跳转到原理图中的该位置,放置一个已配置为抑制该警告/错误的 No ERC 指令。

使用 Messages 面板中的右键菜单放置特定 No ERC 指令。
编辑 No ERC 指令
在放置过程中,当 No ERC 对象仍悬浮在光标上时,可以执行以下编辑操作:
-
通过 Properties 面板进行编辑。此编辑方法使用相应的 Properties 面板模式来修改对象的属性。

Properties 面板的 No ERC 模式在放置过程中,按 Tab 键即可进入 Properties 面板的 No ERC 模式。
放置完成后,可以通过以下任一方式进入 Properties 面板的 No ERC 模式:
- 双击已放置的指令。
- 将光标置于指令上,然后右键单击并从右键菜单中选择 Properties。
- 如果 Properties 面板已处于活动状态, 请选择该指令。
-
通过 No ERC 对话框。此编辑方法使用 No ERC 对话框修改特定 No ERC 对象的违规类型和连接错误。

No ERC 对话框,分别显示 Violation Types 模式(第一张图)和 Connection Matrix 模式(第二张图)在 No ERC 模式下(如上所述),单击 Properties 面板中 Suppressed Violations 区域的 Specific Violations,即可访问此对话框。
No ERC 对话框的选项和控件
- Top statement - 此说明可让您快速了解当前已抑制的违规类型和连接错误的数量。当您在对话框中进行更改时,此说明会随之更新。
- Show - 选择 Violation Types 或 Connection Matrix,以查看和配置相应的 No ERC 指令。
违规类型
此模式可用于抑制或取消抑制违规类型。- Violation Type To Suppress - 显示可配置的违规类型列表。
- Report Mode - 显示所列违规类型的当前报告模式。
- Suppress - 勾选此复选框以抑制相应的违规类型;取消勾选则取消抑制。
右键菜单
- Suppress only "[xxx]" - 仅抑制引号内列出的违规类型。
- Unsuppress only "[xxx]" - 仅取消抑制引号内列出的违规类型。
- Suppress All "[xxx]" - 抑制引号内所列对象的所有违规类型。
- Unsuppress All "[xxx]" - 取消抑制引号内所列对象的所有违规类型。
- Suppress All - 抑制所有列出的违规类型,不受对象或光标位置的影响。
- Unsuppress All - 取消抑制所有列出的违规类型,不受对象或光标位置的影响。
- Toggle All - 切换所有违规类型的 Suppress 复选框状态。
连接矩阵
此模式可用于抑制或取消抑制连接错误。- Grid - 使用网格中的复选框抑制(勾选)或取消抑制(取消勾选)所需的连接错误。
右键菜单
- Suppress only "[xxx]" - 仅抑制引号内列出的连接错误。
- Unsuppress only "[xxx]" - 仅取消抑制引号内列出的连接错误。
- Suppress All "[xxx]" - 抑制引号内的所有连接错误。此类命令有两个,分别对应连接的两个部分。
- Unsuppress All "[xxx]" - 取消抑制引号内的所有连接错误。 此类命令有两个,分别对应连接的两个部分。
- Suppress All - 抑制网格中的所有连接错误。
- Unsuppress All - 取消抑制网格中的所有连接错误。
- Toggle All - 切换所有连接错误的复选框状态。已勾选的复选框将取消勾选,未勾选的复选框将被勾选。
-
通过 SCH List 和 SCH Filter 面板。List 面板可将一个或多个文档中的设计对象以表格形式显示,便于快速检查和修改对象属性。结合适当的筛选方式(使用相应的 Filter 面板或 查找相似对象对话框),可以仅显示当前筛选范围内的对象,从而更准确、更高效地定位和编辑多个设计对象。
停用 No ERC 指令
您可以将 No ERC 指令设为非活动状态(在验证时视为禁用),而不必将其删除。通过任一编辑方法切换该指令的 Active 属性,即可更改此状态。非活动的 No ERC 指令在设计空间中显示为灰色。

如果需要暂时停止使用某个 No ERC 指令,请将其设为非活动状态,而不要将其删除。
控制 No ERC 指令的打印
默认情况下,打印时会包含 No ERC 标记。要控制其打印方式(完全不打印这些标记,或仅排除特定符号),请使用 打印对话框,如下所示。
No ERC
使用 No ERC 标记可抑制电路中特定节点的错误/警告消息。
概述
No ERC 对象是一种设计指令。将其放置在电路节点上,可抑制编译原理图工程时检测到的所有电气规则检查警告和/或错误违规报告。对于电路中已知会产生警告的特定位置(例如未连接的引脚),可以使用 No ERC 有意限制该处的错误检查,同时仍对电路的其余部分执行全面检查。
No ERC 指令支持多种不同的样式,并可显示为任意颜色。您可以利用这一功能来体现电路中该位置的设计意图。
No ERC 指令有两种类型:
- All Violations – 抑制所有可能的警告和/或错误情况。
- Specific Violations – 仅抑制选定的警告或错误情况; 其他任何警告或错误仍会被检测并报告。
可用性
No ERC 设计指令只能在原理图编辑器中放置。要放置 No ERC 指令:
- 从主菜单中单击 Place » Directives » Generic No ERC ,放置一个预先配置为针对所有违规的 No ERC 标记。这有时称为通用 No ERC 指令。
- 在原理图编辑器中右键单击 ,然后单击 Place » Directives » Generic No ERC。
放置 - 通用 No ERC 指令
启动命令后,光标将变为十字形,并进入放置模式。按以下步骤放置 No ERC 指令:
- 将光标置于导线或其他网络对象上,然后单击 Enter ,在电路中的该位置放置指令。
- 继续放置其他 No ERC 指令,或右键单击或按 Esc 退出放置模式。
放置过程中还可以执行以下操作:
- 按 Tab 键暂停放置,并进入 Properties 面板的 No ERC 模式,在此可即时更改其属性。单击设计空间中的暂停按钮浮层以继续放置。
图形化编辑
除了更改位置外,无法以图形方式修改 No ERC 标记。要移动 No ERC 标记,请单击并按住它,将其拖动到新位置。
非图形化编辑
可使用以下非图形化编辑方法。
通过 No ERC 对话框或 Properties 面板编辑
Panel page: No ERC 属性
此编辑方法使用相关的 No ERC 对话框和 Properties 面板模式来修改对象的属性。
No ERC 对话框(第一张图)和 Properties 面板的 No ERC 模式(第二张图)
放置后,可通过以下方式打开 No ERC 对话框:
- 双击已放置的 No ERC 对象。
- 将光标置于 No ERC 对象上,右键单击,然后从右键菜单中选择 Properties。
放置过程中,可按 Tab 键进入 Properties 面板的 No ERC 模式。No ERC 放置完成后,将显示所有选项。
放置后,可通过以下任一方式进入 Properties 面板的 No ERC 模式:
- 如果 Properties 面板已处于活动状态,选择 No ERC 对象即可。
- 选择 No ERC 对象后,通过工作区右下角的 Panels 按钮选择 Properties 面板,或从主菜单中选择 View » Panels » Properties。
通过关联的属性对话框编辑
此编辑方法使用 No ERC 对话框来修改特定 No ERC 对象的违规类型和连接错误。
显示 Violation Types 模式(第一张图)和 Connection Matrix 模式(第二张图)的 No Erc 对话框
可在 No ERC 对话框以及处于 No ERC 模式的 Properties 面板中,单击 Suppressed Violations 区域内的 Specific Violations 来打开该对话框。
编辑多个对象
Properties 面板支持多对象编辑,可修改所有当前选定对象中相同的属性设置。手动选择多个相同类型的对象,或通过 查找相似对象对话框 、 SCH Filter 或 SCH List 面板选择这些对象后,即可通过编辑 Properties 面板中未显示为星号(*)的字段,一次性修改所有选定对象的对应属性。
通过列表面板编辑
Panel pages: SCH List、 SCH Filter
List 面板可将一个或多个文档中的设计对象以表格形式显示,便于快速检查和修改对象属性。结合适当的筛选功能(使用相应的 Filter 面板 或 查找相似对象对话框),可以仅显示当前筛选条件范围内的对象,从而更准确、高效地定位并编辑多个设计对象。
No ERC 属性
原理图编辑器对象属性是可定义的选项,用于指定已放置对象的视觉样式、内容和行为。每种对象的属性设置可通过两种不同的方式定义:
-
Pre-placement settings – 大多数 No ERC 对象属性,或逻辑上可以预先定义的属性,都可以在 Preferences 对话框的 原理图 - 默认值页面中作为默认设置进行编辑(通过设计空间右上角的
按钮访问)。在 Primitive List 中选择该对象,即可在右侧显示其选项。
- Post-placement settings – 在设计空间中选中已放置的 No ERC 对象后,可以在 No ERC 对话框和 Properties 面板中编辑其所有属性。
位置 (Properties 仅面板)
-
(X/Y)
- X (第一个字段)- 对象参考点相对于当前设计空间原点的当前 X(水平)坐标。编辑此值可更改对象的 X 位置。可以使用公制或英制输入数值;如果输入值的单位不是当前默认单位,则需要包含单位。
- Y (第二个字段)- 对象参考点相对于当前原点的当前 Y(垂直)坐标。编辑此值可更改对象的 Y 位置。可以使用公制或英制输入数值;如果输入值的单位不是当前默认单位,则需要包含单位。
- Rotation - 使用下拉列表选择旋转角度。
属性
- Color - 单击色块打开下拉列表,从中选择默认颜色。
- Symbol - 使用下拉列表从可用选项中选择默认值。
- Active - 启用此选项以激活图元。
已抑制的违规 (Properties 仅面板)
- All Violations - 选择此项可显示此对象的所有违规。违规的 Violation Type 和 Report Mode 将显示在表格中。
- Specific Violations - 选择此项可显示此对象的特定违规。违规的 Violation Type 和 Report Mode 将显示在表格中。
-
Add - 单击以打开 No ERC 对话框,添加新的违规。单击 OK 后,新的违规将添加到表格中。单击
可移除当前选中的违规。
PCB 设计违规类型
与总线相关的违规
总线索引超出范围
当连接到总线的成员网络的索引超出该总线关联网络所指定的范围时,会发生此违规。
“消息”面板中的通知
Messages 面板中会以以下格式显示通知:
Bus index out of range on <NetPrefix> Index = <NetIndex>
其中:
-
NetPrefix是连接到总线的成员网络的前缀(例如,对于连接到关联网络A[0..7]的总线的网络A8,其前缀为A). -
NetIndex是成员网络的错误索引(例如,网络A8的索引为8)。
解决建议
修改违规网络的索引,使其处于正确范围内,或直接重命名该网络。如果网络名称是误设的,并且该网络并非总线对象所承载网络的成员,通常应采用后一种方法。
总线范围语法错误
当总线关联网络的语法指定不正确时,会发生此违规。
“消息”面板中的通知
Messages 面板中会以以下格式显示通知:
Bus range syntax error <NetName> at <Location>
其中:
-
NetName是违规总线对象所关联的父网络名称。 -
Location是违规总线对象电气热点的 X、Y 坐标。
解决建议
为违规的网络标识符(例如网络标签、端口、图纸入口等)正确定义总线语法。正确语法应采用以下格式之一:
-
NetName[LowerIndex..UpperIndex] -
NetName[UpperIndex..LowerIndex]
例如,假设一条总线承载两个成员网络 A0 和 A1。此时,总线语法应为 A[0..1] 或 A[1..0]。错误语法的示例包括:A[0.1]、A[1-0]、A[0,1]、A[..1] 和 A[0..]。
非法的总线范围值
当与总线关联的网络语法中至少有一个索引为负值时,会发生此违规。
“消息”面板中的通知
Messages 面板中会以以下格式显示通知:
Illegal bus range value <BusLabel> at <Location>
其中:
-
BusLabel是检测到非法值的已定义总线标签。 -
Location是违规总线对象电气热点的 X、Y 坐标。
解决建议
为违规的网络标识符(例如网络标签、端口、图纸入口等)正确定义总线语法。正确语法应采用以下格式之一:
-
<NetName>[<LowerIndex>..<UpperIndex>] -
<NetName>[<UpperIndex>..<LowerIndex>]
总线标签顺序不匹配
当与同一总线分段关联的两个网络标识符所定义的总线标签顺序方向(升序或降序)不一致时,会发生此违规。
“消息”面板中的通知
Messages 面板中会以以下格式显示通知:
Mismatched bus ordering on <NetName> Low value first and High value first
其中:
-
NetName是总线顺序不匹配所关联的父网络名称。
解决建议
找出总线顺序不一致的网络标识符(端口、网络标签、图纸入口等)。 确定正确的顺序,并修改错误对象的名称。
总线宽度不匹配
当与同一总线分段关联的两个网络标识符所定义的总线标签宽度不同时,会发生此违规。例如,名称为 A[0..7] 的端口可能连接到一条总线,而该总线上的网络标签定义为 A[0..15]。
Messages 面板中的通知
Messages 面板中将以以下格式显示通知:
Mismatched bus widths on bus section <NetName> (<BusSize1> and <BusSize2>)
其中:
-
NetName是与不匹配的总线对象关联的父网络的名称。 -
BusSize1是第一个违规总线对象的宽度。 -
BusSize2是第二个违规总线对象的宽度。
解决建议
找出总线标签宽度不一致的网络标识符(端口、网络标签、图纸入口等)。确定正确的宽度,并修改错误对象的名称。
导线/总线上的总线/导线对象不匹配
当导线对象错误地连接到总线,或总线对象错误地连接到导线时,会发生此违规。例如,端口 A 可能连接到总线,但其名称未使用正确的总线标签语法(例如 A[0..1])。实际上,该端口是一个单信号(或导线)对象,却被错误地连接到了总线。
Messages 面板中的通知
Messages 面板中将以以下格式显示通知:
<ObjectIdentifier> at <Location> placed on a <ObjectType>
其中:
-
ObjectIdentifier表示不匹配的对象,可以是总线对象或导线对象(例如引脚、端口、电源端口、网络标签、图纸外连接器、图纸入口)。该标识符将以下列两种格式之一显示:-
对于总线 –
Bus <Object> <Name>(例如Bus Net Label GND_BUS[..])。 -
对于导线 –
Wire <Object> <Name>(例如Wire Port TXD)。
-
对于总线 –
-
Location是对象电气热点的 X、Y 坐标。 -
ObjectType是违规对象所放置到的对象 – 导线或总线。
解决建议
要解决此问题,请考虑以下事项:
- Is the connection correct? – 连接到该对象的总线是否实际上应为导线,反之亦然?
-
Is the object defined correctly? – 对于总线对象,请确保其名称使用正确的总线语法,格式为
<Name>[<LowIndex>..<HighIndex>]或<Name>[<HighIndex>..<LowIndex>]。例如,一个字节宽的数据输出端口可以指定为DAT_OUT[7..0]。对于导线对象,请确保其名称定义的是单个信号,而不是使用总线语法定义。
混用泛型与数字总线标签
当连接到同一总线分段的两个网络标识符(端口、网络标签、图纸入口等)使用不同的总线语法时,会发生此违规 – 一个以数字格式定义总线范围(例如 A[0..2]),而另一个以泛型格式定义范围(例如 A[0..b])。
Messages 面板中的通知
Messages 面板中将以以下格式显示通知:
Mismatched generic and numeric bus labeling on <NetName> <Level> value first and Generic
其中:
-
NetName是与不匹配的总线标签关联的父网络的名称。 -
Level取决于该网络的数字排列顺序。如果为升序(例如[0..2]),Level将显示为Low。如果为降序(例如[2..0]),Level将显示为High。
解决建议
确定哪个违规对象的总线标签定义有误,并进行相应修改。
与元件相关的违规
元件已被删除
当项目设计中至少有一个元件已被删除时,会发生此违规。删除操作采用“软删除”方式,已删除的元件会移至专用的 Trash 位置。在已连接的工作区的浏览器界面中,可通过已删除条目的菜单选项(⋯)恢复(Restore)或彻底移除(Permanently Delete)这些元件。
Messages 面板中的通知
Messages 面板中将以以下格式显示通知:
ComponentName: Component has been deleted
其中:
-
ComponentName是工作区元件的名称。
解决建议
如果元件被误删,拥有相应访问权限的人员可通过工作区浏览器界面的 Trash 页面将其恢复。否则,请将设计中使用的该元件替换为已连接工作区中 is 可用的其他等效元件。
元件实现的引脚映射无效
在编译集成库包(*.LibPkg)时,如果发现原理图元件与所链接模型之间的引脚映射无效,就会发生此违规。
Messages 面板中的通知
Messages 面板中将以以下格式显示通知:
ComponentName: Could not find port <ModelPinNumber> on model <ModelName> for pin <ComponentPinNumber> – 与 PCB 模型相关
ComponentName: Could not map port <ModelPinNumber> on model <ModelName> to a pin – 与仿真模型相关
其中:
-
ComponentName是源原理图库中元件的名称。 -
ModelPinNumber是预期的引脚/焊盘标识号,但在所链接的模型中找不到该标识号。 -
ModelName是链接到该元件的模型名称。 -
ComponentPinNumber是源原理图元件上的引脚标识号,模型中有误的引脚映射到了该引脚。
解决建议
要解决此问题,需要访问原理图符号与目标领域模型之间的映射。为此,首先需要查看相应原理图库元件的属性。在 SCH Library 面板的 Components 列表中双击该元件条目,即可打开 Properties 面板,并加载该元件的属性。
如果显示与 PCB 模型相关的违规消息,请在面板的 Footprint 部分选择该模型,然后单击列表下方的
按钮,打开 PCB 模型对话框。在该对话框中,单击 Pin Map 按钮,打开 模型映射对话框。在 Component Pin Designator 列中,找到消息中标记的引脚编号(ComponentPinNumber)。出现此违规的原因是,Model Pin Designator 列中的对应条目指向了 PCB 模型中不存在的焊盘标识符。请根据需要修改该条目。通常应采用一一映射关系,且两侧的标识符相同。
如果显示与仿真模型相关的消息,请在面板的 Models 部分选择该模型,然后单击列表下方的
按钮,打开 Sim Model 对话框。在该对话框中,单击 Port Map 选项卡。当模型引脚未正确映射到原理图元件的引脚时,就会出现此违规。如果模型引脚对应的条目被设置为已映射的引脚,或被设置为 Not Connected,就可能发生这种情况。请根据需要修改该条目。
元件修订版处于不适用状态
当检测到从已连接的工作区放置的元件条目修订版中,至少有一个已放置的实例处于不适用状态时,就会出现此违规。例如,元件当前处于 Depracated 或 Obsolete 状态,因此不应出现在最新一轮设计中。 适用性由状态属性对话框中的 Allowed to be used in designs 选项 决定。在编辑生命周期定义对话框中,可以双击所属生命周期定义中的状态条目,或选择该条目并单击出现的编辑图标(
),以打开所需状态的此对话框。启用此选项后,允许在设计中使用处于该状态的条目修订版,该修订版被视为 Applicable。如果禁用此选项,则处于该状态的条目修订版不能在设计中有效使用,并被视为 Inapplicable(即不适用)。
Messages 面板中的通知
Messages 面板中会按以下格式显示通知:
Component <Designator> <Comment>: Component revision has inapplicable state
其中:
-
Designator是元件实例的 Designator。 -
Comment是元件实例的 Comment。
解决建议
使用条目管理器对话框,选择可在设计中有效使用的元件条目修订版进行替换。对每个处于不适用状态的元件执行此操作。或者,也可以针对单个元件,将现有元件条目修订版替换为另一修订版,或另一元件条目的修订版。选择原理图上的元件,通过 Properties 面板访问其属性。在面板的 Properties 部分,单击 Update 按钮以使用当前元件条目的最新修订版,或单击 Design Item ID 字段右侧的
按钮以访问工作区,然后浏览并选择要使用的其他元件条目修订版。
注意
-
如果已放置的元件与其源工作区失去连接,例如放置该元件时所用的工作区已断开连接,或您已退出工作区,则该元件将违反
Component revision has inapplicable state检查。这会在 Messages 面板 中以如下形式的条目体现:Component <Designator> <Comment>: Can't perform revision status validation: Failed to get session: Access denied! User login required for this service. -
您也可以在设计发布过程中检测设计中被违规使用的元件。将 Component State Checking 添加到整体发布验证流程中,并进行配置。
元件修订版已过期
当检测到从已连接的工作区放置的元件已过期时,就会出现此违规。
Messages 面板中的通知
Messages 面板中会按以下格式显示通知:
Component <Designator> at <Location>: Component revision is Out of Date
其中:
-
Designator是元件实例的 Designator。 -
Location是违规元件实例原点的 X、Y 坐标。
解决建议
使用条目管理器对话框识别并更新非最新修订版的元件。Item Manager 包含一个 Revision Status 列,对于任何非最新修订版的元件,其状态将为 Out of Date。选择已过期的元件,右键单击并从菜单中选择 Update to latest revision。完成后,Generate 一个 ECO,将这些更改应用到受影响的原理图。
或者,也可以针对单个元件,将现有元件条目修订版替换为最新修订版。只需选择原理图上的元件,通过 Properties 面板访问其属性。在面板的 Properties 部分,单击 Update 按钮,即可使用当前元件条目的最新修订版。
注意
如果已放置的元件与其源工作区失去连接,例如放置该元件时所用的工作区已断开连接,或您已退出工作区,则该元件将违反 Component revision is Out of Date 检查。这会在 Messages 面板中以如下形式的条目体现:Component <Designator> <Comment>: Can't perform revision status validation: Failed to get session: Access denied! User login required for this service.
包含重复子部件的元件
当多部件元件实例的同一部件在原理图设计中被放置多次时,就会出现此违规。例如,您放置了一个位号为 U9 的 74HC32 元件 ,但不小心放置了该元件第一个部件的两个实例,导致设计中出现两个 U9A 实例。
Messages 面板中的通知
Messages 面板中会按以下格式显示通知:
Component <ComponentName> has duplicate sub-parts at <Location1> and <Location2>
其中:
-
ComponentName是以位号和库引用表示的违规元件名称。 -
Location1是该子部件第一个实例的 X、Y 坐标。 -
Location2是该子部件重复实例的 X、Y 坐标。
解决建议
根据需要,使用 Increment Part Number 命令更改存在问题的子部件的编号。该命令可从主 Edit 菜单或 Part Actions 子菜单(右键单击子部件时)中访问。从 Edit 菜单启动该命令的优点是可以保持递增模式,从而逐一切换子部件编号,直到达到所需的编号。
具有重复引脚的元件
当元件中的两个或多个引脚具有相同的标识符时,会发生此违规。
Messages 面板中的通知
Messages 面板中会以以下格式显示通知:
Duplicate pins in component Pin <Identifier1> and Pin <Identifier2>
其中:
-
Identifier1是第一个重复引脚实例的标识,以子部件标识符与引脚标识符的组合表示。 -
Identifier2是第二个重复引脚实例的标识,以子部件标识符与引脚标识符的组合表示。
解决建议
相应地更改存在问题的引脚的标识符,确保每个引脚的标识符均唯一。对于已放置的元件,可以在原理图编辑器中编辑其引脚标识符:
- 如果元件引脚未锁定,只需选中引脚,然后通过 Properties 面板编辑其标识符。
-
否则,请使用 Component Pin Editor 对话框编辑引脚。在设计空间中选中元件后,在 Properties 面板的 Pins 选项卡上,单击 Pins 区域下方的
按钮,即可打开此对话框。
通常,重复问题存在于库元件中。在这种情况下,应在源原理图库中编辑该元件的引脚标识符,然后使用 Update From Libraries(原理图编辑器)或 Update Schematics(原理图库编辑器)命令,将更改应用到已放置的元件实例。这两个命令分别位于相应编辑器的主 Tools 菜单中。
注意
对于每个不同的元件,Messages 面板中只会列出一个违规实例。一个元件中可能有两个以上的引脚使用相同的标识符,但通过面板的 Details 区域检查违规时,只会列出前两个重复引脚(按引脚名称的字母顺序排列)。
重复的部件标识符
当设计中的源原理图图纸上至少有两个部件使用相同的标识符时,会发生此违规。
Messages 面板中的通知
Messages 面板中会以以下格式显示通知:
Duplicate Component Designators <PartDesignator>
其中:
-
PartDesignator是存在问题的标识符。
解决建议
根据需要,为重复的部件分配不同且唯一的标识符。可以手动编辑每个存在问题的标识符,也可以使用 Annotate 对话框(Tools » Annotation » Annotate Schematics)完成此操作。
或者,先使用 Tools » Annotation » Reset Duplicate Schematic Designators 命令重置重复的元件标识符,然后使用 Tools » Annotation » Annotate Schematics Quietly 命令进行注释,而无需打开 Annotate 对话框。
在元件显示模式中发现多余引脚
如果在部件的某个显示模式中检测到多余引脚,则会发生此违规。
Messages 面板中的通知
Messages 面板中会以以下格式显示通知:
<NumberOfExtraPins> extra pins in <DisplayMode> of design item <DesignItemID>
其中:
-
NumberOfExtraPins是在部件中发现的多余引脚数量。 -
DisplayMode是发现多余引脚的部件图形表示模式。部件具有一个 Normal 模式,并且最多可以定义 255 个 Alternate 模式。 -
DesignItemID是存在问题的部件的 Design Item ID 属性。
解决建议
此违规通常发生在为元件定义了备用图形模式,且该模式中存在多余引脚时。如果某个引脚被添加到显示模式中,但未在 Normal 显示模式中定义,则该引脚被视为多余引脚(即各图形显示模式中的引脚数量必须相同)。
在源原理图库中,显示该元件存在问题的显示模式,并删除多余引脚。对于已放置的部件,也可以直接在原理图图纸上执行此操作。不过,通常应在库中解决问题,然后将更改同步到设计中(Tools » Update Schematics)。
通用元件
当最终设计中包含 通用元件时,会发生此违规。通用元件可快速放置到设计中,无需从可用的元件来源中查找并选择特定的制造商器件。它们旨在用作占位符,便于后续替换为合适的元件。
Messages 面板中的通知
Messages 面板中会以以下格式显示通知:
Generic Component <PartDesignator> is placed at <Location>
其中:
-
Designator是已放置的通用元件实例的 Designator。 -
Location是存在问题的通用元件实例原点的 X、Y 坐标。
解决建议
当设计进展到可以用特定实体元件替换通用元件的阶段时,可在 Properties 面板的 Design Item ID field 中选择省略号菜单,使用 Replace Component 对话框进行替换。请注意,也可以通过 Item Manager 或项目的 ActiveBOM 文档完成此操作。
引脚可见性不匹配
此违规与多部件元件的电源引脚(VCC 和 GND)有关。通常,这些引脚与部件 0 关联,自动连接到设计中的 VCC 和 GND 网络,并处于隐藏状态。如果为元件的某个部件启用了此类引脚的可见性,该引脚将不再连接到目标电源网络,并会被标记为错误。
Messages 面板中的通知
Messages 面板中会显示以下格式的通知:
Pin is visible in one sub-part and hidden in another sub-part
解决建议
在设计空间中隐藏存在问题的电源引脚;或者,如果要保持引脚可见,请确保为相应引脚连接 VCC 和/或 GND 电源端口对象。
缺少元件模型
编译集成库包(*.LibPkg)时,如果找不到源原理图库中某个元件所链接的模型,就会出现此违规。
Messages 面板中的通知
当链接的模型为封装模型或仿真模型时,Messages 面板中会显示以下某种格式的通知:
<ComponentName>: Could not find <ModelName> – 当模型搜索范围为 Any 时。
<ComponentName>: Could not find <ModelName> in <LibraryName> – 当模型搜索范围为 Library Name 时。
<ComponentName>: Could not find <ModelName> in <Path> – 当模型搜索范围为 Library Path 时。
其中:
-
ComponentName是源原理图库中的元件名称。 -
ModelName是链接到源元件但未能找到的封装或仿真模型的名称。 -
LibraryName是指定用于存放所链接模型的库文件名称。 -
Path是指定用于存放所链接模型的库文件的绝对路径。
当链接的模型为信号完整性模型时,Messages 面板中会显示以下格式的消息:
<ComponentName>: Could not find 'GenericEntity' in <Path>
其中:
-
ComponentName是源原理图库中的元件名称。 -
Path是库/模型的绝对路径。
解决建议
当问题涉及链接的封装或仿真模型时
此问题通常由以下某种情况引起:
- 定义模型链接时指定的模型名称不正确。
- 链接的模型不在指定的库文件中。
- 包含所链接模型的库文件已被移动或删除。
要解决此违规,首先应检查所链接模型类型对应的设置对话框,即 PCB 模型对话框或 Sim Model 对话框。无论哪种情况,都应检查并确保:
- 所链接的模型名称正确,并且
- 使用了正确的选项来定位该模型所在的库/模型文件。
所显示错误消息的格式取决于定位模型时启用的搜索范围,这有助于排查模型链接问题:
-
如果在指定路径中找不到模型(搜索范围:
Library path),请确保指定的库/模型文件确实存在于该位置,并检查该库/模型文件中是否存在指定名称的模型。 -
如果在指定的库/模型文件中找不到模型(搜索范围:
Library name),请确保该库/模型文件已添加到“可用库”列表中(项目库、已安装库、项目搜索路径)。此外,请检查并确认该库/模型文件中包含与链接中指定名称相同的模型。 -
如果找不到模型(搜索范围:
Any),请确保已将包含同名模型(与链接中指定的名称一致)的库/模型文件添加到“可用库”列表中。
当问题涉及链接的信号完整性模型时
此问题通常是由于未指定信号完整性模型的类型(例如二极管、IC)引起的,可在信号完整性模型对应的设置对话框中解决。最便捷的访问方式是在查看所选元件的属性时,通过 Properties 面板 打开该对话框。检查面板的 General 选项卡上的 Models 部分 中是否使用了正确的模型,必要时进行修改。可使用 Add 和
按钮创建新模型(从列表中选择 Signal Integrity)或修改现有的信号完整性模型。这将打开 Signal Integrity Model 对话框,其中的 Import Ibis 按钮可用于从 Ibis 模型文件导入引脚模型。
元件显示模式中发现缺失引脚
如果检测到某个部件的一种显示模式中存在缺失引脚,就会出现此违规。
Messages 面板中的通知
Messages 面板中会显示以下格式的通知:
<NumberOfMissingPins> missing pins in <DisplayMode> of design item <DesignItemID>
其中:
-
NumberOfMissingPins是该部件中发现的缺失引脚数量。 -
DisplayMode是发现缺失引脚的部件所用的具体图形表示模式。一个部件具有一种 Normal 模式,并且最多可定义 255 种 Alternate 模式。 -
DesignItemID是存在问题的部件的设计项 ID 属性。
解决建议
此违规通常出现在为元件定义了替代图形模式,但未在替代模式中包含正常模式下的所有引脚时(即各图形显示模式的引脚数量必须相同)。
在源原理图库中,将缺失的引脚从现有显示模式复制到该元件存在问题的显示模式中。对于已经放置的部件,也可以直接在原理图纸上执行此操作,但通常应在库中解决问题,然后将更改同步到设计中(Tools » Update Schematics)。
图纸符号包含重复条目
当图纸符号包含两个名称相同的图纸条目时,就会出现此违规。
Messages 面板中的通知
Messages 面板中会显示以下格式的通知:
Sheet Symbol with duplicate entries Sheet Entry <Identifier> at <Location1> and <Location2>
其中:
-
Identifier用于表示存在问题的图纸条目。标识符的显示格式为SheetSymbolName-SheetEntryName(SheetEntryIOType)。 -
Location1是第一个违规图纸条目的 X、Y 坐标。 -
Location2是第二个违规图纸条目的 X、Y 坐标。
解决建议
根据需要更改违规图纸入口对象的名称,可以就地编辑名称 ,也可以双击违规图纸入口,在 Properties 面板的 Properties 部分中编辑其 Name,该面板会显示所选图纸入口的所有属性。
索引重复的图纸符号
在 多通道设计中,如果两个或多个图纸符号引用同一张子原理图,且其位号字段包含 Repeat 关键字,而这些符号的通道索引范围存在相同值,就会发生此违规。
Messages 面板中的通知
通知将以以下格式显示在 Messages 面板中:
Sheet Symbols <ChannelIdentifier> have duplicated indexes: <ChannelIndexList>
其中:
-
ChannelIdentifier是图纸符号位号字段中使用的通道标识符。 -
ChannelIndexList是以逗号分隔的通道索引列表,其中列出了违规图纸符号之间重复的通道索引。
解决建议
更改违规图纸符号对象的位号,使其索引范围没有相同值。可以就地编辑位号,也可以双击违规图纸符号,在 Properties 面板的 Properties 部分中编辑其 Designator,该面板会显示所选图纸符号的所有属性。
需要标注的未指定位号元件
当发现设计中的元器件具有默认位号(后缀为 ?)时,就会发生此违规,即 该元器件尚未进行标注,或者其位号已被重置。
Messages 面板中的通知
通知将以以下格式显示在 Messages 面板中:
Un-Designated Part <PartDesignator>
其中:
-
PartDesignator是未指定位号元件的默认位号(例如U?、D?、C?等)。
解决建议
根据需要为违规元器件分配唯一位号。可以通过编辑位号 手动完成 ,也可以使用 Annotate 对话框(Tools » Annotation » Annotate Schematics)完成。
或者,使用 Tools » Annotation » Annotate Schematics Quietly 命令 进行标注,而无需打开 Annotate 对话框。
注意
对于每种不同的位号类型(U?、D?、C? 等),Messages 面板中只会列出一个错误实例。实际可能存在多个错误。
元器件中未使用的子部件
当多部件元器件实例中的某个部件未在设计中使用时,就会发生此违规。例如,某个 74HC32 元器件实例的四个部件中,可能已有三个完成放置和接线,但第四个尚未使用。
Messages 面板中的通知
通知将以以下格式显示在 Messages 面板中:
Component <Identifier> has unused sub-part(s) (<PartNumber>)
其中:
-
Identifier是父元器件,以Designator Library Reference格式表示(例如U11 74HC32)。 -
PartNumber是一个整数,用于指明哪个具体部件未被使用(例如,1表示部件A,2表示部件B,依此类推)。
解决建议
放置未使用的部件,并将其输入端接地。为确保根位号相同,请复制该元器件实例的一个现有部件,粘贴后相应递增其部件编号。
与文档相关的违规
器件图纸路径解析不明确
当在多个已声明的器件图纸文件夹中找到目标器件图纸时,就会发生此违规。该目标器件图纸是在 图纸符号的 File Name 字段中指定的。
Messages 面板中的通知
通知将以以下格式显示在 Messages 面板中:
Ambiguous Device Sheet Resolution for <DeviceSheetName>
其中:
-
DeviceSheetName是父器件图纸符号的 File Name 字段中的当前条目。与 File Name 字段中的条目不同,该消息还包含扩展名(*.SchDoc)。
解决建议
使用 Messages 面板的 Details 区域,交叉探查到相关器件图纸符号。双击该符号,通过 Properties 面板访问其属性。面板的 General 选项卡上的 Source 部分会显示当前所用器件图纸实例的完整路径。
请记住,系统将使用在已声明的器件图纸文件夹中首先检测到的器件图纸实例。这些文件夹在 Preferences 对话框的 Data Management – Device Sheets 页面中声明,搜索顺序为自上而下。如果当前使用的器件图纸是正确实例,则可以直接忽略此违规。否则,请选择包含正确实例的文件夹,然后点击 Move Up 按钮,直到该文件夹位于列表顶部。
但请注意,虽然这样可能会解决这一特定器件图纸的当前问题,但歧义仍然存在。要彻底解决此问题,请找出冗余的器件图纸,并将其从其他已声明的器件图纸文件夹中移除。
文档循环依赖
从 Design 主菜单使用 Create Sheet Symbol From Sheet 命令后,如果在 Choose Document to Place 对话框 中选择了已作为项目子文档的原理图文档 ,并且所选原理图文档之间存在相互的器件图纸链接,就会发生此违规。
Messages 面板中的通知
通知将以以下格式显示在 Messages 面板中:
Circular dependency between document <DocumentName1> and document <DocumentName2>
其中:
-
DocumentName1和DocumentName2是两个具有相互器件图纸链接的文档的名称。
解决建议
检查错误消息中列出的原理图文档,并修正它们之间的器件图纸链接。
图纸符号缺少子图纸
当图纸符号与目标原理图子文档之间的链接无效时,就会发生此违规。以下情况可能导致此问题:
- 已手动放置图纸符号,但未在该符号的 File Name 字段中输入下级文档引用。
- 符号的 File Name 字段中的文档引用输入有误,实际指向了一个不存在的文档。
- 所引用的目标文档已从工程中移除或被删除。
Messages 面板中的通知
Messages 面板中会显示以下格式的通知:
Missing child-sheet in <SymbolFileName> in Symbol <SymbolDesignator>
其中:
-
SymbolFileName是父图纸符号的 File Name 字段中的当前内容。 -
SymbolDesignator是父图纸符号的标号。
解决建议
在设计空间中选中图纸符号后,检查 Properties 面板的 General 选项卡上 Properties 区域中该图纸符号的 File Name 字段内容。目标文档本身在该面板同一选项卡的 Source 区域中指定,对于标准图纸符号,来源设置为 Local。如果所需的目标文档已存在,请确保在该字段中正确输入文档名称(包括扩展名)。如果目标文档已从工程中移除且您仍可访问该文档,请将其重新添加到工程中。如果目标文档不存在,请右键单击该符号,然后从 Sheet Symbol Actions 子菜单中选择 Create Sheet From Symbol 命令。
注意
放置器件图纸符号后,如果找不到目标器件图纸,也会产生此错误。在设计空间中选中器件图纸符号后,目标文档本身在 Properties 面板的 General 选项卡上的 Source 区域中指定,对于器件图纸符号,来源设置为 Device。
多个顶层文档
在层次式设计中,当两个或更多原理图位于结构的顶层时,会出现此违规。
Messages 面板中的通知
Messages 面板中会显示以下格式的通知:
Multiple top level documents: <SheetName> has been used
其中:
-
SheetName是当前用作顶层图纸的原理图文档名称。
解决建议
此问题通常是由于实际顶层图纸上的图纸符号未正确指向预期的子图纸所致。要解决此问题,首先确定哪张原理图是预期的子图纸。检查顶层原理图上是否已为预期的子图纸放置图纸符号:
- 如果图纸符号不存在,请通过手动放置或使用主菜单中的 Design » Create Sheet Symbol From Sheet 命令创建。
- 如果图纸符号已存在,请确保它引用了该子图纸。在设计空间中选中图纸符号后,检查 Properties 面板的 General 选项卡上 Properties 区域中该图纸符号的 File Name 字段内容。目标文档本身在该面板同一选项卡的 Source 区域中指定,对于标准图纸符号,来源设置为 Local。
端口未关联到父图纸符号
当子图纸上的端口与父图纸符号上的图纸入口不匹配时,会出现此违规。父图纸符号中的所有图纸入口都必须与子图纸上的相应端口同步(匹配)。
Messages 面板中的通知
Messages 面板中会显示以下格式的通知:
Port <PortName> not matched to Sheet-Entry at <Location>
其中:
-
PortName是子图纸上的端口名称。 -
Location是端口电气热点的 X、Y 坐标。
解决建议
此问题可能由以下几种原因引起:
- 该端口对应的图纸入口不存在。
- 该端口对应的图纸入口存在,但名称不同。
- 该端口对应的图纸入口存在,但 I/O 类型不同。
在相关端口上使用 Ctrl+Double Click,向上导航至父图纸符号。右键单击该图纸符号,然后从弹出菜单中选择 Sheet Symbol Actions » Synchronize Sheet Entries and Ports。这将打开该图纸符号的端口与图纸入口同步对话框。
使用此对话框将相关端口与所需的图纸入口匹配。如果图纸入口不存在,可以直接在对话框中创建。如果图纸入口已存在,但名称和/或 I/O 类型不同,则可以在匹配过程中决定采用端口还是图纸入口的名称和 I/O 类型。
注意
当图纸入口和端口均存在,但名称和/或 I/O 类型不同时,还会出现一条相应的错误消息,指出图纸入口未与端口匹配。将图纸入口与端口同步后,这两个错误都会消除。
图纸入口未关联到子图纸
当图纸入口与父图纸符号所引用的子图纸上的端口不匹配时,会出现此违规。父图纸符号中的所有图纸入口都必须与子图纸上的相应端口同步(匹配)。
Messages 面板中的通知
Messages 面板中会显示以下格式的通知:
Sheet-Entry <SheetEntryName> not matched to Port at <Location>
其中:
-
SheetEntryName是与父图纸符号关联的图纸入口名称。 -
Location是图纸入口电气热点的 X、Y 坐标。
解决建议
此问题可能由以下几种原因引起:
- 该图纸入口对应的端口不存在。
- 该图纸入口对应的端口存在,但名称不同。
- 该图纸入口对应的端口存在,但 I/O 类型不同。
右键单击相关图纸入口所属的父图纸符号,然后从弹出菜单中选择 Sheet Symbol Actions » Synchronize Sheet Entries and Ports。这将打开该图纸符号的端口与图纸入口同步对话框。
使用此对话框将相关图纸入口与所需的端口匹配。如果端口不存在,可以直接在对话框中创建。如果端口已存在,但名称和/或 I/O 类型不同,则可以在匹配过程中决定采用图纸入口还是端口的名称和 I/O 类型。
注意
当图纸入口和端口均存在,但名称和/或 I/O 类型不同时,将出现相应的错误消息,指出端口与图纸入口不匹配。将图纸入口与端口同步即可清除这两个错误。
图纸名称冲突
当项目中不同文件夹内存在多个同名原理图文档时,会发生此违规。
Messages 面板中的通知
Messages 面板中会显示以下格式的通知:
Project <ProjectName> contains several documents named <SchematicDocumentName>
其中:
-
ProjectName是与此错误关联的项目名称。 -
SchematicDocumentName是与项目中其他原理图文档同名的原理图文档。
解决建议
将存在问题的原理图文档另存为不同的名称。
与线束相关的违规
线束定义冲突
当同一线束类型在图形层面或文本层面(线束定义文件中)存在相互冲突的线束入口时,会发生此违规。
Messages 面板中的通知
Messages 面板中会显示以下格式的通知:
Conflicting Harness Definition for <HarnessType>
其中:
-
HarnessType是当前存在冲突的线束类型。
解决建议
更新线束定义文件以反映更改,或删除存在问题的线束入口,或更改该线束入口的 Harness Type。
线束连接器类型语法错误
当线束类型包含无效字符(例如 [ ] { } . : )或线束类型为空时,会发生此违规。
Messages 面板中的通知
Messages 面板中会显示一条通知。
如果线束类型包含无效字符,该消息将以以下格式显示:
Harness Connector Type <HarnessType> should not contain these characters [] {}. :
其中:
-
HarnessType是当前存在冲突的线束类型。
如果线束类型为空,该消息将以以下格式显示:
Harness Connector Type cannot be Blank
解决建议
选中存在问题的线束连接器,在 Properties 面板的 Properties 部分中指定有效的 Harness Type。确保输入内容不包含无效字符。
与线束连接器的连接无效
当导线、总线或信号线束的端点位于线束连接器内部,或连接到线束连接器的边缘,但未连接到线束入口时,会发生此违规。
Messages 面板中的通知
Messages 面板中会显示以下格式的通知:
<ObjectType> (<Location1> To <Location2>) ends inside Harness Connector <HarnessType> but it is not connected to any of its Harness Entries
其中:
-
ObjectType是存在问题的对象类型:Net(表示导线)、Bus或Signal Harness。 -
Location1是存在问题的对象起点的 X、Y 坐标。 -
Location2是存在问题的对象终点的 X、Y 坐标。 -
HarnessType是存在问题的线束连接器的线束类型。
解决建议
确保导线、总线或信号线束连接到线束连接器的线束入口,或编辑导线、总线或信号线束,使其端点不位于线束连接器内部,也不连接到线束连接器的边缘。
线束缺少线束类型
当连接图纸入口之间或连接图纸入口与端口的信号线束缺少线束类型时,会发生此违规。
Messages 面板中的通知
Messages 面板中会显示以下格式的通知:
Missing Harness Type on Signal Harness
解决建议
为信号线束上的至少一个对象指定线束类型:
- 端口——在 Properties 面板(显示所选对象的所有属性)的 General 选项卡上的 Properties 部分中指定 Harness Type。
- 图纸入口——在 Properties 面板(显示所选对象的所有属性)的 Properties 部分中指定 Harness Type。
线束存在多个线束类型
当同一信号线束上定义了多个线束类型时,会发生此违规。
Messages 面板中的通知
Messages 面板中会显示以下格式的通知:
Multiple harness types on harness <HarnessType1>, <HarnessType2>
其中:
-
HarnessType1和HarnessType2是在该信号线束上指定的多个线束类型。
解决建议
在信号线束上仅指定一种线束类型:
- 端口——在 Properties 面板(显示所选对象的所有属性)的 General 选项卡上的 Properties 部分中指定 Harness Type。
- 图纸入口——在 Properties 面板(显示所选对象的所有属性)的 Properties 部分中指定 Harness Type。
- 线束连接器——在 Properties 面板(显示所选对象的所有属性)的 Properties 部分中指定 Harness Type。
- 线束入口——在 Properties 面板(显示所选对象的所有属性)的 Properties 部分中指定 Harness Type。
未连接的线束入口
当没有导线、总线或信号线束连接到线束入口时,会发生此违规。
Messages 面板中的通知
Messages 面板中会显示以下格式的通知:
Unconnected Harness Entry <Identifier>
其中:
-
Identifier用于标识相关的线束入口。该标识符以HarnessType-HarnessName格式显示。
解决建议
确保有导线、总线或信号线束连接到该线束入口。
未知的线束类型
当检测到某个线束类型,但在线束定义文件中找不到匹配的定义时,会发生此违规。这可能由以下两种情况之一引起:
- 信号线束连接到具有未知线束类型的对象(图纸入口、端口或线束入口)。
- 线束定义文件中的线束入口引用了未知的线束类型。
Messages 面板中的通知
Messages 面板中将显示以下格式的通知:
Unknown Harness Type <HarnessType>
其中:
-
HarnessType是当前未知的线束类型。
解决建议
确保图纸入口、端口和线束入口具有已知的线束类型 ,并且线束定义准确无误:
- 端口 – 在 Properties 面板的 General 选项卡上的 Properties 区域中指定 Harness Type(该面板显示所选对象的所有属性)。
- 图纸入口 – 在 Properties 面板的 Properties 区域中指定 Harness Type(该面板显示所选对象的所有属性)。
- 线束入口 – 在 Properties 面板的 Properties 区域中指定 Harness Type(该面板显示所选对象的所有属性)。
与网络相关的违规
线束上的总线对象
当信号线束中的端口、图纸入口或网络标签的名称采用表示总线对象的 [X..Y] 格式时,就会出现此违规。
Messages 面板中的通知
Messages 面板中将显示以下格式的通知:
Bus <Object> <ObjectName> at <Location> placed on a harness
其中:
-
Object是违规的端口、图纸入口或网络标签。 -
ObjectName是违规对象的名称。 -
Location是违规对象的 X、Y 坐标。
解决建议
修改违规对象的名称,使其不使用总线语法。
差分对网络连接极性反转
当差分对网络的极性与其所连接的差分对引脚的极性不一致时,就会出现此违规。例如,正极性网络连接到了负极性引脚,或反之。
Messages 面板中的通知
Messages 面板中将显示以下格式的通知:
Inversed connection on differential pair <PairName>: net <NetName> is connected to pin <PinDesignator> (<Polarity>)
其中:
-
PairName是差分对的名称(例如V_TX1)。 -
NetName是违规网络的名称(例如V_TX1_P)。 -
PinDesignator是违规网络所连接的器件引脚的标识符(例如E6)。 -
Polarity是引脚的极性(例如negative)。
解决建议
确保连接导线上的网络标签与所连接的差分对引脚具有相同的极性。例如,如果引脚名称为 IO_L02N_0,而网络标签为 V_TX1_P,请将网络标签更改为 V_TX1_N。
如果成对出现此类违规消息——一条表示差分对的正极性网络连接到了器件的负极性引脚,另一条表示同一差分对的负极性网络连接到了正极性引脚——只需交换所连接的网络标签即可。
差分对网络未连接到差分对引脚
当差分对网络未连接到实体器件的差分对引脚时,会出现此违规。
Messages 面板中的通知
Messages 面板中会以以下格式显示通知:
Net <NetName> of differential pair <PairName> is not connected to a differential pair pin
其中:
-
NetName是差分对中正极性或负极性网络的名称(例如V_RX1_N或V_RX1_P)。 -
PairName是差分对的名称(例如V_RX1)。
解决建议
实体器件(例如 Xilinx Virtex-II Pro FPGA 器件)的真正差分对引脚由硬件固定。虽然此类引脚的名称中可能包含标识符 N(表示负极性)或 P(表示正极性),但不能仅通过更改名称就将引脚变为差分引脚。
解决此类违规时,请考虑以下情况:
- 如果差分对网络正确,但连接到了器件的错误引脚,请确定正确的引脚,并相应地移动网络标签。
- 如果该网络被错误地指定为差分对网络,请将关联的网络标签更改为正确的(非差分)名称,并移除连接导线上的差分对指令。
- 如果设计中实际上完全不使用差分对网络当前所连接的引脚,请确保移除网络标签、导线和差分对指令,并在该引脚上放置 No ERC 标记。
差分对未正确连接到器件
当差分对网络未正确连接到实体器件的差分对引脚时,会出现此违规。
Messages 面板中的通知
Messages 面板中会以以下格式显示通知:
Misconnected differential pair <PairName>: net <NetName> should be connected to pin <PinDesignator>
其中:
-
PairName是差分对的名称(例如V_TX1)。 -
NetName是差分对中正极性或负极性网络的名称(例如V_TX1_N或V_TX1_P)。 -
PinDesignator是违规网络应连接到的器件引脚的标识符(例如E6)。
解决建议
此类违规通常是由于差分对网络的导线对象未与器件的目标引脚建立电气连接而引起的。请确保网络导线与器件引脚本身正确连接。
重复网络
当在设计中检测到两个同名网络时,会出现此违规。
Messages 面板中的通知
Messages 面板中会以以下格式显示通知:
Duplicate Net Names <Object> <NetName>
其中:
-
Object为Wire、Bus Slice或Element[n](对于总线成员)。 -
NetName是受影响网络的名称。
解决建议
例如,在以下情况下可能出现此违规:
-
设计为平面式,且设计中使用了端口。Net Identifier Scope 被自动(或手动)设置为
Flat (Only ports global)。如果不同图纸使用了相同的网络标签,就会出现此违规。这是因为每张图纸上定义的网络标签即使名称相同,也仍然仅在各自的图纸内有效。在这种情况下,解决方法是确保不同图纸使用唯一的网络标签。 - 由于无意中使用了名称不同的端口或图纸外连接器,展平后的原理图图纸之间的网络连续性被中断。请沿网络回溯到每张图纸上的输入/输出端口,并确保这些端口的名称一致。
- 层次式设计的两个不同分支中可能使用了同一个网络,即使用不同的图纸符号引用不同的子图纸,但顶层图纸入口和下层端口使用相同的名称,且两个符号通过实际的导线或总线相连。无意中使用名称不同的图纸入口,或遗漏连接图纸入口的实际总线/导线,都可能导致这些分支之间的网络连续性中断。请确保两个图纸符号之间存在实际的连接导线且接线正确,并确保图纸入口的名称相同。
外部网络名称与原理图网络名称不同步
当原理图中 FPGA 元件引脚的网络名称与外部源文件中引脚的网络名称不匹配时,会出现此违规。
Messages 面板中的通知
Messages 面板中会以以下格式显示通知:
External <NetLabelName> and Schematic <NetLabelName> are Unsynchronized for Pin <xx>
其中:
-
NetLabelName是违规网络标签的名称。 -
xx是引脚编号。
解决建议
在 Pin Mapper 对话框中选中违规引脚,在 Schematic 区域打开解决方案下拉选项,然后选择 Update Pin File(
),将网络名称从原理图传输到外部 FPGA 引脚文件,然后再次验证工程。
悬空的网络标签
当检测到设计中的网络标签悬空,即 未连接到导线或总线对象时,会出现此违规。对于未与电路其余部分建立电气连接的总线电源端口对象,也会出现此消息。
Messages 面板中的通知
Messages 面板中会以以下格式显示通知:
Floating Net Label <NetLabelName>
其中:
-
NetLabelName是违规网络标签的名称。
解决建议
确保违规的网络标签对象已连接到所需的导线或总线对象。如果该网络标签多余,请将其从设计中删除。
还应检查导线/总线对象及其关联的网络标签是否位于栅格上。可以手动将对象移回栅格上, 也可以使用 Edit » Align » Align To Grid 命令。
悬空的电源对象
当检测到设计中的电源端口对象悬空(即未与元件电气连接)时,会出现此违规。例如,电源端口可能已放置,但尚未通过导线连接到电路的其余部分。
Messages 面板中的通知
Messages 面板中会按以下格式显示通知:
Floating Power Object <NetName>
其中:
-
NetName是与悬空电源端口对象关联的网络名称。
解决建议
确保违规的电源端口对象已按要求连接到电路。如果该电源端口多余,请将其从设计中删除。
注意
此消息与标准的单信号电源端口对象有关。
全局电源对象作用域变更
当基于端口的对象(端口、图外连接器)连接到电源端口对象时,会出现此违规。该电源对象无法再保持全局作用域(即连接到全局电源网络),而会改为局部电源网络。
Messages 面板中的通知
Messages 面板中会按以下格式显示通知:
Global Power-Object <NetName> at <Location1> has been reduced to local level by presence of port at <Location2>
其中:
-
NetName是与电源端口对象关联的网络。 -
Location1是电源端口对象电气热点的 X、Y 坐标。 -
Location2是端口对象电气热点的 X、Y 坐标。
解决建议
此违规通常是由于电源端口对象被错误地连接到端口,而非预期的引脚或图纸入口。但在某些情况下,您可能希望强制进行(并利用)这种作用域变更。请判断端口与电源端口之间的连接是否符合预期;如果不是,请移除电源端口,并按要求将剩余的端口对象通过导线连接到预期目标。
总线上的线束对象
当端口、图纸入口或线束入口等对象 具有关联的线束类型(表示其应连接到信号线束),却通过导线连接到总线时,会出现此违规。
Messages 面板中的通知
Messages 面板中会按以下格式显示通知:
Harness <Object> <ObjectName> at <Location> placed on bus
其中:
-
Object是违规的端口、图纸入口或线束入口。 -
ObjectName是违规对象的标签。 -
Location是违规对象的 X、Y 坐标。
解决建议
确保违规对象(端口、图纸入口或线束入口)连接到信号线束,而不是总线。
导线上的线束对象
当端口、图纸入口或线束入口等对象 具有关联的线束类型(表示其应连接到信号线束),但该对象却连接到导线时,会出现此违规。
Messages 面板中的通知
Messages 面板中会按以下格式显示通知:
Harness <Object> <ObjectName> at <Location> placed on wire
其中:
-
Object是违规的端口、图纸入口或线束入口。 -
ObjectName是违规对象的标签。 -
Location是违规对象的 X、Y 坐标。
解决建议
确保违规对象(端口、图纸入口或线束入口)连接到信号线束,而不是导线。
差分对缺少负极性网络
当未检测到设计中某个差分对对象的负极性网络,而该差分对的正极性网络确实存在时,会出现此违规。
Messages 面板中的通知
Messages 面板中会按以下格式显示通知:
Missing Negative Net for differential pair <PairName>, positive net <NetName>
其中:
-
PairName是已定义正极性网络的差分对名称(例如,V_RX1)。 -
NetName是正极性网络的名称(例如,V_RX1_P)。
解决建议
此违规通常出现在以下情况:
-
信号对的负极性导线上未附加差分对指令。所需的网络标签(例如,
V_RX1_N)已按要求附加到导线上。 -
信号对的负极性导线上未附加名称符合要求的网络标签(例如,
V_RX1_N)。所需的差分对指令已按要求附加到导线上。
要解决此违规,请找到该差分对的负极性导线对象,确保已附加网络标签和差分对指令,并且网络标签名称符合要求。负极性导线的网络标签与正极性导线的网络标签基本相同,只是后缀应为 _N 而不是 _P。或者,如果负极性导线对象连接到名称符合要求的端口对象,则可以在“项目选项”对话框的“选项”选项卡中启用 Allow Ports to Name Nets 选项,而不必在导线上附加网络标签。
差分对缺少正极性网络
当未检测到设计中某个差分对对象的正极性网络,而该差分对的负极性网络确实存在时,会出现此违规。
Messages 面板中的通知
Messages 面板中会按以下格式显示通知:
Missing Positive Net for differential pair <PairName>, negative net <NetName>
其中:
-
PairName是已定义正极性网络的差分对名称(例如,V_RX1)。 -
NetName是负极性网络的名称(例如,V_RX1_N)。
解决建议
此违规通常出现在以下情况:
-
信号对的正极性导线上未附加差分对指令。所需的网络标签(例如,
V_RX1_P)已按要求附加到导线上。 -
信号对的正极性导线上未附加名称符合要求的网络标签(例如,
V_RX1_P)。所需的差分对指令已按要求附加到导线上。
要解决此违规,请找到该差分对的正极性导线对象,确保其上同时附加了网络标签和差分对指令,并且网络标签的名称符合要求。正极性导线的网络标签应与负极性导线的网络标签基本相同,但后缀应为 _P 而不是 _N。 或者,如果正极性导线对象连接到名称符合要求的端口对象,则可以在“项目选项”对话框的“选项”选项卡中启用 Allow Ports to Name Nets 选项,而不必在导线上附加网络标签。
没有名称的网络参数
当参数集对象附加到网络对象(导线或总线),且该参数集中定义的至少一个参数未指定名称时,就会出现此违规。
“消息”面板中的通知
通知会以以下格式显示在 Messages 面板中:
Invalid net-parameter name at <Location>
其中:
-
Location是与该网络关联的参数集对象热点的 X、Y 坐标。
解决建议
打开违规参数集对象的“属性”面板的“参数集”模式,确保其中定义的所有参数均已指定名称。如果不需要其中的违规参数,直接将其从参数集中删除即可。
没有值的网络参数
当参数集对象附加到网络对象(导线或总线),且该参数集中定义的至少一个类未赋值时,就会出现此违规。
“消息”面板中的通知
通知会以以下格式显示在 Messages 面板中:
Invalid net-parameter value at <Location>
其中:
-
Location是与该网络关联的参数集对象热点的 X、Y 坐标。
解决建议
在设计空间中选择违规的参数集对象,以在“属性”面板中访问其属性。确保面板的 Classes 区域中定义的所有参数均已赋值。如果不需要违规的类参数,请将其从参数集中删除。
包含悬空输入引脚的网络
当检测到设计中已放置元件的某个输入引脚处于悬空状态,即未与电路的任何其他部分电气连接时,就会出现此违规。
“消息”面板中的通知
通知会以以下格式显示在 Messages 面板中:
Net <NetName> contains floating input pins (<PinList>)
其中:
-
NetName是违规网络的名称。 -
PinList是该网络中悬空引脚的列表,以逗号分隔。
解决建议
此违规可能由多种情况引起。解决此类违规时,请考虑以下几点:
包含多个同类对象的网络
当检测到两个或更多类型相同(引脚、端口、图纸入口)且电气 I/O 规格相同的对象在同一所属网络中相互连接时,就会出现此违规。例如,一个 Input Port 连接到一个 Input Port。
“消息”面板中的通知
通知会以以下格式显示在 Messages 面板中:
Net <NetName> contains multiple <ObjectType> (<ObjectList>)
其中:
- NetName 是违规网络的名称。
- ObjectType 是在违规网络中发现存在多个实例的对象类型。该条目还会反映对象的电气类型。
- ObjectList 是在违规网络中发现的该对象所有实例的列表,以逗号分隔。
解决建议
确定这些违规的已连接对象是否确实造成连接问题;如果是,请相应地更改其中一个或两个对象的 I/O 规格。如果某个对象是多余的,请将其从设计中删除。如果某个对象原本应连接到设计的其他部分,却连接到了错误的目标(因此归入了错误的网络),请确保将其从当前网络断开,并连接到正确的网络。
注意事项
- 此类违规实际使用的报告模式取决于具体的对象类型、其电气 I/O 类型,以及 Options for Project 对话框(Project » Project Options)的 连接矩阵 选项卡中定义的相应报告级别。
-
Options for Project 对话框的 错误报告 选项卡中的 Report Mode 设置不会影响 Messages 面板中针对此类违规显示的 Report Mode 设置。不过,该设置用于直接在设计空间内进行的在线(实时)错误报告。在线报告的控件位于 Preferences 对话框的 原理图 – 编译器 页面中。请注意,如果在连接矩阵中将特定对象类型与 I/O 类型组合的单独检查设置为
No Report,则不会针对此组合进行在线错误报告。
具有多个名称的网络
当检测到设计中的某个网络关联了多个名称时,会出现此违规。
Messages 面板中的通知
Messages 面板中会以下列格式显示通知:
Nets <Identifier> has multiple names (<NameList>)
其中:
-
Identifier表示连接类型和网络名称。连接可以是以下类型之一:-
Wire – 标识符将以
Wire NetName格式显示(例如Wire DTSA)。 -
Bus – 标识符将以
Bus Slice NetName格式显示(例如Bus Slice A[0..7])。 -
Bus Element – 标识符将以
Element[n]: NetPrefix格式显示(例如Element[0]: A)。
-
Wire – 标识符将以
-
NameList是与违规网络关联的所有名称的列表,各名称以逗号分隔。这些名称可能来自连接的网络标签、图纸入口、电源端口和跨图纸连接器。
解决建议
确保与特定网络关联的所有网络标识符的名称均相同,即可解决此违规。不过,在许多情况下,为特定网络使用不同的名称是有益的。例如,当该网络存在于层次化设计的不同分支中时,不同的名称可以更好地反映这些分支中传输的信号。同样,您可能希望为特定图纸符号的图纸入口使用不同于传入/传出导线或总线上所连接的网络标签的名称。
若要在设计中自由地为网络使用多个名称,并防止 Messages 面板中出现相关违规消息,请在 Options for Project 对话框(Project » Project Options)的 错误报告 选项卡中,将此违规类型的 Report Mode 设置为 No Report。
没有驱动源的网络
当检测到设计中的某个网络没有驱动源时,会出现此违规。也就是说,该网络中没有任何引脚具有以下电气类型之一:
- 输入/输出
- 输出
- 集电极开路
- 高阻态
- 发射极开路
- 电源
网络中不包含上述类型的引脚并不少见,例如,以下情况就可能发生:
- 网络从连接器引脚连接到输入引脚。
- 网络从串联无源元件(具有无源引脚)连接到输入引脚。
Messages 面板中的通知
Messages 面板中会以下列格式显示通知:
Net <NetName> has no driving source (<PinList>)
其中:
-
NetName是违规网络的名称。 -
PinList是该网络中以逗号分隔的引脚列表。
解决建议
编辑连接器/无源元件的引脚,使其电气类型为上述类型之一。
只有一个引脚的网络
当元件引脚连接到电气对象(如导线或网络标签),表明该引脚属于某个网络,但该网络中没有其他引脚时,会出现此违规。这通常是由接线错误引起的,或者是因为某个未使用的元件引脚上连接了一段导线。
Messages 面板中的通知
Messages 面板中会以下列格式显示通知:
Net <NetName> has only one pin (Pin <PinName>)
其中:
-
NetName是所属网络的名称。 -
PinName是由元件位号和引脚标识组成的标识符。
解决建议
默认情况下,此消息不会出现在 Messages 面板中。如果您已启用此违规类型的报告并希望解决该问题,请确保违规网络连接到设计中至少两个元件引脚。
可能存在连接问题的网络
当同一网络上相互连接的两个对象的电气类型不匹配,可能导致连接问题时,会出现此违规。此错误检查所考虑的对象类型对可以是引脚、端口或图纸入口的任意组合。例如,Output Port 连接到 Bidirectional Port。
Messages 面板中的通知
Messages 面板中会以下列格式显示通知:
<NetName> contains <ObjectType1> and <ObjectType2> objects (<Reference>)
其中:
- NetName 是包含可能冲突对象的所属网络的名称。
- ObjectType1 是第一个违规对象的类型。
- ObjectType2 是第二个违规对象的类型。
-
Reference 是其中一个或两个对象的标识符(例如
Port PortName、Pin PinName、and Sheet EntrySheetSymbolName-SheetEntryName)。
解决建议
确定违规的相连对象是否确实存在连接问题;如果存在,请相应地更改其中一个或两个对象的 I/O 定义。
注意事项
- 此类违规实际使用的报告模式取决于具体的对象类型、其电气 I/O 类型,以及 Options for Project 对话框(Project » Project Options)的 连接矩阵 选项卡中定义的相应报告级别。
-
Options for Project 对话框的 错误报告 选项卡中的 Report Mode 设置不会影响 Messages 中针对此类违规显示的 Report Mode 设置。面板。不过,设计空间内的在线(实时)错误报告会使用此设置。在线报告的控件位于 Preferences 对话框的 原理图 – 编译器页面上。请注意,如果在连接矩阵中将特定对象类型与 I/O 类型组合的单独检查设置为
No Report,则不会针对此组合进行在线错误报告。
没有匹配端口的端口
当不存在匹配的端口或端口未连接时,会出现此违规。
Messages 面板中的通知
Messages 面板中会显示以下格式的通知:
<Port> Port with no matching ports detected at <Location>
其中:
- Port 是违规端口的名称。
- Location 是违规端口的 X、Y 坐标。
解决建议
在项目中的任意源原理图文档中放置对应的匹配端口,或根据需要连接违规端口。
注意
-
只有当 Project Options 对话框的 Options 选项卡上的 Net Identifier Scope 选项设置为
Flat (Only ports global)或Global (Netlabels and ports global)时,才会检测此类违规。
同一网络用于多个差分对
当检测到同一极性的网络(正极或负极)用于设计中的多个差分对对象时,会出现此违规。
Messages 面板中的通知
Messages 面板中会显示以下格式的通知:
Net <NetName> is used in more than one differential pair objects: <ObjectList>
其中:
-
NetName是用于多个差分对对象的正极或负极网络的名称(例如V_RX1_N或V_RX1_P)。 -
ObjectList是使用该违规网络的差分对对象列表。由于差分对名称取自网络名称的词根,因此此列表中的名称将完全相同(例如V_RX1 V_RX1)。
解决建议
此违规通常是由于将同名网络标签放置到多个导线对象上,而这些导线对象上也放置了差分对指令。找到违规的网络标签对象,并根据需要修改名称。
一对差分导线中的正极和负极导线应具有词根相同的网络标签,并分别带有 _P 和 _N 后缀。例如,如果某一差分对中的两条导线具有相同的网络标签 V_RX1_N,则应将正极导线的网络标签更改为 V_RX1_P。
包含重复端口的原理图图纸
当在设计的同一张原理图图纸上检测到两个同名端口时,会出现此违规。
Messages 面板中的通知
Messages 面板中会显示以下格式的通知:
Sheet contains duplicate ports Port <Identifier> at <Location1> and <Location2>
其中:
-
Identifier是违规端口的名称。 -
Location1是该端口第一个实例的 X、Y 坐标。 -
Location2是该端口第二个实例的 X、Y 坐标。
解决建议
确定哪个重复的端口对象有误,然后将其重命名或从设计中删除。
网络中未连接的对象
当引脚、端口或图纸入口对象未通过导线连接到电路的其余部分时,会出现此违规。
Messages 面板中的通知
Messages 面板中会显示以下格式的通知:
Unconnected <Object> at <Location>
其中:
-
Object是违规对象(引脚、端口或图纸入口)的类型和名称。 -
Location是该对象在源原理图图纸上的 X、Y 坐标。
解决建议
可考虑通过以下方式解决此错误:
- 如果需要使用该引脚、端口或图纸入口,请确保通过导线将其正确连接到电路的其余部分。
- 如果端口或图纸入口是多余的,请将其从设计中删除。
- 将所有未使用的输入引脚连接到适当的电源线。
- 在未使用的输入或输出引脚上放置 No ERC 指令。
注意
- 当未连接的对象是输入引脚时,还会出现一条额外的违规消息,提醒您该引脚所属的网络包含悬空输入引脚。该消息中将列出此引脚的标识符。
- 此类违规实际使用的报告模式取决于具体对象类型、其电气 I/O 类型,以及 Options for Project 对话框(Project » Project Options)的 连接矩阵选项卡上定义的相应报告级别。
- Options for Project 对话框的 错误报告选项卡上的 Report Mode 设置,不会影响 Messages 面板中针对此类违规显示的 Report Mode 设置。不过,设计空间内的在线(实时)错误报告会使用此设置。在线报告的控件位于 Preferences 对话框的 原理图 – 编译器页面上。
未连接的导线
当检测到某个导线对象悬空,即未与电路设计的任何部分电气连接时,会出现此违规。
Messages 面板中的通知
Messages 面板中会显示以下格式的通知:
Unconnected line <Location1> To <Location2>
其中:
-
Location1是悬空导线起点的 X、Y 坐标。 -
Location2是悬空导线终点的 X、Y 坐标。
解决建议
确保违规导线对象按要求连接到电路。如果该导线是多余的,请将其从设计中删除。如果导线(或任何其他对象)位于图纸之外,无法直接选中,请使用 Edit » Select » Outside Area 命令将其选中,然后删除。
其他相关违规
重复的项目文件
当 Workspace 项目的文件夹中存在多个项目文件(.PrjPCB)时,会出现此违规。
通知
Messages 面板中会显示以下格式的通知:
Duplicate .PrjPcb files found in this project, which can cause design files to display incorrectly in a web browser. To fix this, please remove any extra .PrjPcb files from your project folder.
解决建议
从项目文件夹中删除所有多余的 .PrjPcb 文件,使其仅包含一个 .PrjPcb 文件。
无法添加替代项
当无法添加为当前设计项目的某个已定义变体中的元件所选的替代器件时,会出现此违规。当项目的不同变体使用了名称相同但位于不同库中的器件时,就会发生这种情况。用于存储所选替代器件信息的 .PrjPcbVariants 文件 无法存储多个同名器件,因此不会添加对位于其他库中的其他实例的引用。例如,假设为某个设计项目定义了以下变体, 并为已放置的电容选择了替代器件:
-
Variant 1 – 选择了位于库
Lib1.SchLib中的替代器件Cap。 -
Variant 2 – 选择了位于库
Lib2.SchLib中的替代器件Cap。
悬空的指令对象
当存在悬空的参数集指令、NoERC 指令、差分对指令或探针对象时,会出现此违规。
通知
Messages 面板中会以以下格式显示通知:
Floating <Parameter Set directive, NoERC directive, Differential Pair directive, or Probe object> at <Location>,
其中:
-
Parameter Set directive, NoERC directive, Differential Pair directive, or Probe object是设计空间中的悬空对象。 -
Location是该悬空对象的 X、Y 坐标。
解决建议
将悬空的 参数集指令、NoERC 指令、差分对指令或探针对象连接到其预期位置。
项目变体中的链接不正确
在当前设计项目的某个已定义变体中,如果为多部件元件选择了单部件元件作为 Alternate Part,且设计中放置了原始基础设计元件的多个部件,就会出现此违规。例如,假设基础设计中包含一个多部件元件 R1,它是一个具有 8 个子部件的独立电阻网络。其中四个部件已放置在设计中(R1A、R1B、R1C、R1D)。现在,假设在该基础设计的某个已定义变体中,选择了一个替代器件来替换原始基础器件。所选器件也应是多部件元件, 以便替换设计中当前使用的四个子部件。但是,如果 误将单部件电阻元件选为替代器件,它将无法替换现有的子部件 R1B、R1C 和 R1D。因此,编译器会将其标记为不正确的链接。
通知
Messages 面板中会以以下格式显示通知:
Incorrect link between project variant "<VariantName>" and schematic component Component <ComponentPhysicalDesignator> (<ComponentLogicalDesignator>) <BasePartComment>
其中:
-
VariantName是定义了错误替代元件的设计变体的名称。 -
ComponentPhysicalDesignator是受影响元件的物理位号(即该元件所在原理图文档的已编译选项卡视图中显示的位号)。 -
ComponentLogicalDesignator是受影响元件的逻辑位号(即该元件所在原理图文档的 Editor 选项卡视图中显示的位号)。如果逻辑位号与物理位号相同,则不会显示此项。 -
BasePartComment是基础设计中为受影响元件定义的 Comment 参数值。
解决建议
如果仅使用了原始多部件元件中的一个部件,则只需删除其他已放置的实例,然后重新验证项目即可。由于替代器件是单部件元件,因此足以替换原始多部件元件中唯一使用的那个部件。
不过,这种方法虽然有效,却并不十分理想。它更像是临时补救,而非解决根本问题。更好的方法是为相关设计变体中的元件选择更合适的替代器件。操作步骤如下:
-
在项目面板中,从所属项目的
Variants文件夹中将相关变体设为当前变体。切换到文档的 Compiled 选项卡,右键单击基础多部件元件中的一个部件,然后选择 Part Actions » Variants。这将打开变体管理对话框,并显示only所选变体 only中存在问题的元件。 - 使用 Component Variation 字段打开编辑元件变体对话框。
- 保持选中 Alternate Part 选项,使用对话框中的其他选项浏览并选择更合适的替代元件,以用于该特定设计变体。
- 单击 OK 关闭对话框,然后重新验证设计项目。不正确的链接违规应已解决,不再出现(当然,如果有多个元件存在此问题,则需重复上述步骤)。
对象未完全位于图纸边界内
当设计对象超出原理图图纸范围时,会出现此违规。
通知
Messages 面板中会以以下格式显示通知:
Off sheet <ObjectIdentifier> at <Location>
其中:
-
ObjectIdentifier用于标识当前未完全位于图纸所定义边界内的具体对象。该标识由对象类型及其名称/位号组成(例如,Port <PortName>)。 -
Location是该对象电气热点的 X、Y 坐标。
解决建议
在图纸上放置或粘贴对象时,系统不允许将对象放置或粘贴到图纸边界之外。此问题通常是在放置对象后更改了图纸尺寸和方向而导致的。可考虑采用以下方法解决:
- 更改图纸方向。
- 选择更大的图纸尺寸。
- 将存在问题的对象移回图纸边界内。
前两项操作可在属性面板的 General 选项卡中的 Page Options 区域执行(在设计空间中未选中任何对象时可访问)。更改图纸尺寸是解决此问题最简单的方法。手动移动对象可能需要调整电路布局,以腾出足够空间来容纳存在问题的对象。
对象偏离栅格
当对象未与当前捕捉栅格对齐时,会出现此违规。
通知
Messages 面板中会以以下格式显示通知:
Off grid <ObjectIdentifier> at <Location>
其中:
-
ObjectIdentifier标识当前偏离栅格的具体对象。该标识由对象类型及其名称/标号组成(例如,Pin <PinDesignator>)。 -
Location是对象电气热点的 X、Y 坐标。
解决建议
确保已在 Properties 面板的 General 选项卡上的 General 部分中,按要求设置并启用捕捉栅格(在设计空间中未选中任何对象时可访问该面板)。可以手动将违规对象移回栅格,也可以使用 Edit » Align » Align To Grid 命令。
与参数相关的违规
同名参数具有不同类型
当同一设计对象被分配了两个名称相同但类型不同的参数时,就会发生此违规。
通知
Messages 面板中将按以下格式显示通知:
Same parameter contains different types <Object> <Types>
其中:
-
Object是违规参数所关联的具体对象。 -
Types成对显示该参数的不同类型(例如,BOOLEAN和STRING)。
解决建议
通常,一个对象不应关联多个同名参数。请检查分配给该对象的参数,并删除错误或冗余的参数。
同名参数具有不同值
当同一设计对象被分配了两个名称和类型均相同但值不同的参数时,就会发生此违规。
通知
Messages 面板中将按以下格式显示通知:
Same parameter contains different values <Object> <Values>
其中:
-
Object是违规参数所关联的具体对象。 -
Values成对显示该参数的不同值。
解决建议
通常,一个对象不应关联多个同名参数。请检查分配给该对象的参数,并删除错误或冗余的参数。





