交互式诊断 第44页
过滤规则 第49页
分类消息 第51页
调试组合环路 第51页
交互式诊断
要访问低功耗特性,请单击主窗口图标栏上的低功耗管理器图标,或从工具下拉菜单中选择低功耗管理器。
低功耗管理器由各个规则类别的标签页组成:
- 电源意图文件 — 显示电源意图质量检查。只有当读取了电源意图文件时,电源意图标签页才处于活动状态。
- 结构 — 显示结构规则检查。
- 规则 — 同样显示结构规则检查。
- 功能 — 显示功能规则检查。
默认情况下,仅显示违反规则的条目。要获取规则消息的描述,请在命令行中输入 `man <rule> -verbose`。
运行低功耗功能检查
对于每个单元或交叉点,可以单击行以高亮显示名称,然后点击鼠标右键以弹出下拉菜单,可以从以下选项中选择:
- 添加电源检查 — 对选定的低功耗对象应用电源检查。
- 删除电源检查 — 从选定的低功耗对象中移除电源检查。
- 报告电源检查 — 报告选定的低功耗对象上的电源检查信息。
- 诊断 — 诊断在选定的低功耗对象上执行功能检查后报告的失败。
- 顺序探索器 — 打开顺序探索管理器,可以使用它来顺序探索设计。
- 模块原理图 — 打开模块原理图查看器,显示选定对象的顶层设计。
- 展平原理图 — 打开展平原理图查看器,显示选定对象的隔离视图。
- 报告验证数据 — 显示有关添加的电源检查验证结果的信息。
低功耗管理器字段和选项
选项
点击“视图”下拉菜单,选择“仅规则消息”(默认设置)、“全部”以显示每页的完整规则列表和每个规则的消息(违规项),或选择“隐藏规则”以显示隐藏的规则和消息。
更新
点击“页面大小”选项以打开“页面大小”表单,以指定页面限制来控制显示的规则数量。默认值为25。
强制刷新消息显示。
撤销
取消上一次放弃的违规标记。这只会对最后一个豁免标记进行撤销。要撤销之前的豁免标记,请选择“选项 - 隐藏规则”并选择“撤销豁免”。
文件
打开“编写规则检查”表单,可以将低功耗违规写入文件。更多信息,请参见第48页的“将低功耗违规写入文件”。
过滤器
打开“过滤规则”表单,可以在此处添加或删除规则过滤器。更多信息,请参见第49页的“过滤规则”。
状态图标
在低功耗管理器中更改消息严重性级别
对于每条消息,可以单击以高亮显示该消息,然后右键单击以弹出下拉菜单,从以下选项中选择:
- **严重性** ——(在设置模式下)更改消息的严重性级别。可以选择“警告”、“错误”、“忽略”或“注意”。
- **报告** ——显示规则的状态。可以选择以下选项之一:
- **摘要** ——显示规则描述和违规的发生次数。
- **详细** ——显示每条违规的详细描述。
在低功耗管理器中的诊断
通过点击 "+" 符号展开消息后,可以单击以高亮显示单元格行,然后右键单击以弹出下拉菜单,从以下选项中选择:
- **豁免发生** ——将指定的发生标记为已豁免。更多信息,请参见第47页的“将规则发生标记为已豁免”。
- **源代码** ——打开选定对象的源代码查看器。
- **原理图**(针对有违规的规则)——打开模块原理图查看器。可以选择以下选项之一:
- **显示模块原理图** ——显示选定对象所在的整个模块。
- **显示实例视图** ——显示与选定对象相关的模块的部分原理图。
- **分析实例连接** ——显示选定实例的连接性及其低功耗信息,以帮助调试低功耗违规。如果实例是特殊的低功耗单元,则这也显示低功耗单元特定的信息,以帮助调试低功耗结构错误。
将规则发生标记为已豁免
要将指定的发生标记为已豁免,可以使用“ADD RULE WAIVER”命令或规则管理器:
1. 从规则管理器,展开一个规则以查看发生列表。
2. 右键单击一个发生,并从弹出菜单中选择“豁免发生”。
注意:当规则重新检查时,此标记将丢失。
在将一个发生标记为豁免后,可以使用“DELETE RULE WAIVER”命令来取消豁免发生的标记。可以从规则管理器进行操作,或者可以通过选择“撤销”按钮来实现。这将仅撤销最后的豁免标记。要撤销之前的豁免标记,请选择“选项 - 隐藏规则”并选择“取消豁免发生”。
提示:
可以使用“REPORT RULE CHECK -waived”命令报告已豁免的规则发生。
将低功耗违规写入文件
要将低功耗违规写入文件,请按照以下步骤操作:
1. 点击“文件” - “写入规则检查”。
这将打开“写入规则检查”表单。
写入规则检查表单字段和选项
- 文件名:输入规则文件的名称,或点击浏览,在“写入规则检查”浏览器窗口中选择一个文件。
- 发生类型:选择以下选项之一:
- 完整(默认):报告所有发生,无论它们是否隐藏。
- 隐藏:仅报告隐藏的发生。
- 豁免:仅报告已标记为豁免的发生。
- 打开模式:选择以下选项之一:
- 替换(默认):覆盖现有文件的内容。
- 追加:将内容添加到现有文件中。
使用这些选项,您可以根据需要将特定的违规情况写入到文件中,以便进行进一步的分析或记录。
过滤规则
可以使用“规则过滤器”表单添加或删除规则过滤器。
➤ 从HDL或建模规则管理器,点击“过滤器”按钮。
添加规则过滤器
要添加一个规则过滤器,请按照以下步骤操作:
1. 在“过滤器名称”字段中指定过滤器的名称。
注意:如果没有在此字段中输入名称,将自动生成一个唯一的名称。
2. 输入过滤条件。
- **规则**:过滤掉所有指定规则的发生。输入规则的名称或使用下拉菜单选择。
- **对象**:匹配与指定模式相关的对象的规则发生。
- **层次结构**:与指定模式匹配的设计层次结构中的任何实例(类似于SDC命令 'get_pins -hier <pinname>')。
- **递归**:匹配匹配指定模式的实例下的任何对象(类似于Unix命令 'grep -r ... <dirname>')。
- **严重性**:过滤掉所有选定严重性级别发生。
- **消息**:匹配详细消息与指定模式匹配的规则发生。
- **SDC匹配**:匹配与SDC语句匹配的规则发生,该模式与指定的模式相匹配。表示SDC语句的字符串是显示在SDC命令浏览器中的字符串,而不是来自SDC文件的字符串。
注意:此条件仅适用于SDC规则。
- **运算符**:指定操作符。
3. 输入选项。
- **在之前**: 指定新的或替换的过滤器插入到名称与提供的模式匹配的第一个过滤器之前。这可以是被替换的相同名称。在这种情况下,被替换的过滤器在过滤器列表中保持相同的位置。输入过滤器的名称或使用下拉菜单选择。
- **替换**:指定过滤器名称可以是现有过滤器的名称,然后对其进行修改。
- **不替换**:指定过滤器名称不能是现有过滤器的名称。
- **包含**:指定该过滤器将导致任何匹配的发生不会被过滤掉,除非被列表中下面的另一个过滤器逆转。
- **排除**:指定该过滤器将导致任何匹配的发生被过滤掉,除非被列表中下面的另一个过滤器逆转。
4.点击“添加规则过滤器”按钮。
删除规则过滤器
要删除一个规则过滤器:
1. 在过滤器列表中选择一个过滤器。
2. 右键单击并从弹出菜单中选择“删除”或“全部删除”。
分类消息
可以使用重定向功能通过“REPORT RULE CHECK”命令对规则消息进行分类。
调试组合环路
组合环路(STRC1.1、STRC1.2、CLP_STRC1.1、CLP_STRC1.2)可能难以调试。以下是一个两步方法,用于理解组合环路的完整调试过程。
1. 在Conformal主窗口中,点击低功耗管理器图标以打开低功耗管理器。
2. 在低功耗管理器中,点击逻辑检查标签页。
3. 点击结构标签页。
4. 选择任何一个违规项(例如,CLP_STRC1.1),并展开列表以选择一个违规实例。
5. 右键点击实例名称,并选择“原理图 - 显示模块原理图”,以打开如下图所示的原理图。
报告组合环路问题的命令如下,在文本窗口中输入:
report rule check CLP_STRC1.1 -verbose
命令的结果是:
从原理图中可以明显看出,ISO_OR单元参与了一个组合环路,而且因为这是一个小路径,也可以手动遍历路径来查看组合环路。但在真实的设计中,追踪这个路径并不那么容易。
为了做到这一点,使用以下`REPORT PATH -loop`命令:
report path -loop m2/xicomb/x2 -strong
这里的`x2`是ISO_OR模块下的实例。
当运行这个命令时,软件会给出组合环路的完整路径。在这个例子中,有两个路径到达环路,并且都在这里列出:
强组合环路从 m2/xicomb/x2 (18) 开始:
OR (或门) : m2/xicomb/x2 (18) ? ORIGIN (起点)
BUS (总线) : m2/xicomb/a1$BUS (10)
BUF (缓冲器) : $ID32 (32)
BUF (缓冲器) : m2/xb1/x1 (19) ? PATH 1
BUS (总线) : m2/xcombLoop/X$BUS (11) ? PATH 2
BUF (缓冲器) : $ID31 (31)
BUF (缓冲器) : m2/xcombLoop2/x1 (17)
OR (或门) : m2/xicomb/x2 (18) ? ORIGIN (起点)