增量编译分析
Vivado工具为重用分析提供报告、定时标签和对象属性。
报告增量重用
report_incremental_reuse命令在之后的流的任何阶段都可用已使用read_checkpoint-incremental。该报告允许用户比较在参考和当前设计运行之间执行以下操作:
•检查当前运行中的单元、网络、I/O和引脚重用
•运行时间
•流量每个阶段的WNS计时
•工具选项
•工具版本
•iphys_opt_design重放优化
•QoR建议与增量流量一起应用
通过检查小区重用和上述其他因素,用户可以确定增量的有效性。如果流量被判定为无效,用户通常会将检查点更新为较新版本的设计或调整工具流。报告已拆分分为七个部分。
流程摘要
这报告了当前整个增量流量的一般信息:
重用摘要
其中包含可重复使用的单元、网络、引脚和端口的概述。例如:
这些列提供以下信息:
•匹配-具有相同实例名称、REF_name属性或已匹配的单元格如果某些信息略有不同,则视为匹配。这是在的末尾计算的read_checkpoint-增量
•初始重用-一旦项目匹配,这表明位置上的匹配信息是否是否重复使用。有时项目匹配,由于非法而无法重复使用连接性或其他设计要求。
•当前重用-这表示当前设计阶段的重用。比较时有用通过初始重用,查看在通过工具流生成
法律解决方案。
•固定-增量流量无法触及的项目。当高度高时,工具可能难以制定法律解决方案。
注:标题已被删减。
参考检查点信息
其中包含有关引用检查点的信息。从本节中,您可以检查下列的
•生成它的Vivado版本
•实施阶段
•记录的WNS和WHS
•参考和增量运行的Speedfile版本信息
例如:
与参考运行的比较
其中包含有关与参考运行的比较的有用指标。在本节中,您可以比较以下内容:
•运行时信息
•流量各阶段的WNS
•流程每个阶段的工具选项。
使用此报告时,重要的是要了解增量运行应该与参考管路的布线后编号进行比较可重复使用。对于不重复使用的部分,可能影响所报告的度量的准确性的位置、放置或路由信息。
注:为了进一步了解,请对之后写出的检查点进行时间分析read_checkpoint-增量。
与参考运行的优化比较
本节包含从参考dcp,以及在当前增量流量。例如:
命令与参考运行的比较
本节包含为流命令比较而执行的命令。例如:
特别注意read_checkpoint-incremental确认之前使用的命令它们是相同的,并且重用被最大化。
不可重用信息
其中包含关于哪些内容未被重用以及原因的指标。以下是一个示例:
基于单元格的报告
-cells选项将重用报告限制为给定单元格的列表,而不是报告重用整个设计的一部分。它可以是层次细胞或特定的叶细胞。
-cells <list of cells>
当使用-单元格时:
•用于计算匹配%的总数基于返回的单元格总数单元格列表。不使用时,总数为完整设计中的单元格数
•假设网络是附在所提供单元格列表上的网络在以下示例中,报告仅限于块RAM单元上的报告重用:
分层重用报告
-层次选项显示每个层次级别的单元重用的细分。以下是report_incremental_reuse-hierarchical的示例:
注意:示例报告已被水平和垂直截断以适应。
报告每个单元的重用状态,从顶层层次结构开始,然后覆盖该级别中包含的每个级别层次结构。报告进展到的最低级别包含在第一个子模块中的层次结构,然后移动到下一个子模块。在这个例子中,顶层单元是mb_preset_wrapper,累积重用总数为5339具有0个新单元格的单元格。括号中带有mb_preset_wrapper的行显示了单元重用mb_preset_wrapper中包含的状态,但不包含其子模块。在5339个细胞中,只有37在mp_preset_wrapper内,其余部分在其子模块内。每个级别有五列指示单元重用状态,尽管只有第一列显示“丢弃(非法)”。这些列在报告中有脚注参考,进一步丢弃重用放置的原因。
*由于网表更改而丢弃的非法放置
**丢弃以改善时间安排
***用户丢弃的位置
****由于其控制集源不受指导而被丢弃
*****由于其连接而被丢弃,具有Loc Fixed Insts
不必报告所有层次结构级别,而是可以使用-sthierarial_deep选项来将子模块的数量限制为精确的级别数量。以下是上一个例如,添加-sthierarial_direction为1:
![](https://i-blog.csdnimg.cn/blog_migrate/ec2e79382b490bc2579eee469e3c2254.png)
这限制了向顶级mb_preset_wrapper报告。如果你使用了-层次结构_深度为2,包含在中的层次结构的顶部和每个级别mb_preset_wrapper将被报告,但在那些分层单元之下没有任何报告。
时间安排报告
在完成增量位置和路线后,您可以使用单元格和网络复用。在计时报告中标记对象,以显示物理数据重用的级别。这确定设计更新是否影响关键路径。以下参考文献及其相关含义:
•(路由):单元放置和网络路由都可以重复使用。
•(放置):单元放置重复使用,但到接点的布线不重复使用。
•(移动):单元放置和引脚布线都不会重复使用。
•(新):引脚、单元或网络是一个新的设计对象,不存在于参考设计中。请参见以下示例。
要从计时报告中删除标签,请使用report_timing-no_reused_label
选项
对象属性
read_checkpoint-incremental命令指定两个单元格属性
用于使用脚本或交互式Tcl命令分析增量流结果。
•IS_REUSED:单元格、端口、网络和pin对象上的布尔属性。属性设置为如果重复使用以下任何增量数据,则在相应对象上为TRUE:
•细胞放置
•端口的封装引脚分配
•网络路由的任何部分
•布线到引脚
•REUSE_STATUS:单元和网络上的字符串属性,表示之后的重用状态增量放置和布线。单元格的可能值为:
•新
•重复使用
•丢弃位置以改善时间安排
•由于网表更改而丢弃的非法放置
网络的可能值为:
•重复使用
•未使用
•部分重新使用
•IS_MATCHED:分配给基元级单元的布尔属性。属性设置为在参考设计中具有匹配叶细胞的叶细胞上为TRUE。匹配单元格为有资格重新安置。
提示:AMD已经在XHUB的增量编译包中发布了几个应用程序。这些在分析关键路径和其他路径时,应用程序包括布局和布线重用的可视化设计视图。还包括项目流的自动增量编译应用程序自动管理增量设计运行的参考检查点。
提示:有关如何有效使用增量编译的更多信息,请参阅中的“增量流”一节《FPGA和SoC的超快设计方法指南》(UG949)。