仅对英特尔可见 — GUID: zow1660962452763
Ixiasoft
仅对英特尔可见 — GUID: zow1660962452763
Ixiasoft
1.7.6. 查看综合动态报告
在以下报告中,您可以观察到在综合期间编译器删除了12984个寄存器。但是,在2780个寄存器之后,由于GUI阈值,剩余的寄存器被从报告中截断。通过动态报告功能,您可以检索这些剩余寄存器的详细信息,而无需使用更新的GUI阈值重新编译您的设计。

在一次编译中,编译器将从报告来的所有项目都存储在<project_directory>/dynamic_report/registers_removed.sqlite下的动态SQLite数据库中。设计综合后,您可以通过Tcl命令访问 SQLite数据库,以提取SQLite数据库的总结(例如,数据列和项目总大小)、使用SQL命令(例如,SELECT和WHERE)从数据库中进行查询,以及从报表中检索所需数量的截断行数。
- 如果您在生成SQLite后进行重新编译,则内容被写入相同数据库。如果你在重新编译期间关闭QSF,则SQLite数据库保持从之前编译来的信息。
- 如果综合期间您的设计中不包含需要删除的寄存器,那么编译器不会生成Registers Removed During Synthesis报告。因此,dynamic_report目录和SQLite数据库也不会生成。
执行Tcl命令
您能够以如下方式之一执行 dynamic_report Tcl 命令:
- 在Tcl脚本中包含Tcl命令,并使用quartus_syn -t <name>.tcl运行该命令。
- 直接从终端执行单个命令,如quartus_syn --tcl_eval <tcl command> 。
- 通过在 Quartus® Prime软件中启动您的工程,从GUI执行单个命令,然后在菜单上浏览到View > Tcl Console。在Tcl Console窗口中,键入您的Tcl命令。
无论您使用何种方法执行dynamic_report Tcl命令,结果都相同。
下表列出了一些的 dynamic_report Tcl命令示例和各种选项:
dynamic_report命令选项 | 描述 | Tcl命令实例 |
---|---|---|
-help | 提供dynamic_report Tcl命令的详细帮助,包括当前支持的报告值、选项和错误值。 | dynamic_report-help |
-long_help | 为dynamic_report Tcl命令提供“long help”,并提供实例和可能的返回值。 | dynamic_report -long_help |
-report <report name> | 定位 <report name=""></report> 指定的报告。对于Registers Removed During Synthesis报告,请使用“registers removed”。
注: -report选项是必需的,因为Tcl命令会根据报告名称执行进一步的操作。缺少-report选项或对 <report name> 使用不支持的值会导致错误。
|
dynamic_report -report "registers removed" |
-summaryk | 生成指定报告的摘要,例如表格名称、总大小和列名称,这些有助于从SQLite数据库查询。 | dynamic_report -report "registers removed" -summary |
-query <sqlite query> | 接受查询整个SQLite是从数据库中检索所需的结果的其中一个选项。例如,-query "SELECT * FROM <table> WHERE <column> = <...>" 如果查询命令不正确或不完整,则错误消息中会显示详细信息。 默认情况下该查询结果会以ASCII格式被发送到<project directory>/dynamic_report目录下的输出文件中。 |
dynamic_report -report "registers removed" -query "SELECT * FROM 'Registers Removed During Synthesis' WHERE reason = 'Stuck at VCC due to stuck port data_in'" |
-dump_all | 转储报告中的所有项目。 默认情况下此查询的结果将以ASCII格式被发送到<project directory>/dynamic_report目录下的输出文件中。 |
dynamic_report -report "registers removed" -dump_all |
-dump_lines <unsigned integer> | 转储报告中命令行的首个 <unsigned integer=""></unsigned> 。如果对 <unsigned integer=""></unsigned> 指定的值不是一个无符号整数或者不在1到999999999范围内,就会显示错误消息。 默认情况下此查询的结果将以ASCII格式发送到<project directory>/dynamic_report目录的输出中。 |
dynamic_report -report "registers removed" -dump_lines 250 |
-filename <file_name> | 为-query,-dump_all和-dump_lines选项的转储结果指定输出文件名。 -filename为可选。如果未指定文件名,则编译器将输出文件命名为 <report name>.ascii。如果文件名为空或者包含特殊字符或空格,则显示错误消息。
注: 通过使用-filename选项,您可以使用-html或-xml选项来分别生成HTML格式或XML格式的输出文件。
|
dynamic_report -report "registers removed" -dump_all -filename "my_result" |