部分可重配置设计流程——配置分析报告
扫描二维码
随时随地手机看文章
部分可重配置(PR)设计流程一个独特的方面是有多个设计版本必须通过布局布线来实现,这些不同的“配置”具有相同的静态设计结果,但是在每个可重配置区(PR)有不同的模块,设计者必须设置时序约束和平面布局图并且考虑需要交换的不同模块,这是具有一定挑战性的。
这个PR配置分析报告比较了每个可重配置模块(RM),你可以选择任意一个作为PR设计的输入,它检查的资源使用情况、平面布局、时钟和时序等参数,帮助我们管理整个PR设计,这个PR配置分析报告采用Tcl Console或者Tcl脚本来运行,它还没有集成到Vivado IDE中用于项目模式,顶层设计(理想情况下通过opt_design进行最小化处理)必须在发出下面的命令之前打开:
report_pr_configuration_analysis -cells -dcps {
}
选择可以插入该单元的单个单元(RP)和多个DCPs(每个都代表一个可重配置模块)用于对该RP设计进行全面的分析,或者选择多个单元没有后续的DCPs用于静态设计和接口的顶层分析。
默认情况下会分析PR设计的三个方面,你可以选择一个或多个要点来聚焦报告的某个方面:
• complexity关注于资源的使用情况,包括RP要求所需的各种资源类型的最大数量
• clocking关注时钟的使用和每个RM的负载,帮助你规划设计的整体时钟分配
• timing关注于边界接口时序的详细信息,有助于分析RM的性能瓶颈
此外,-rent会将度量标准添加到分析报告中,用于进一步的复杂度报告分析,Rent指数会计算路由复杂度并且可以指示信号阻塞情况,更多关于Rent参数的信息请查看UG906,注意这个选项在大型设计上运行会花费很长的时间。
分析操作完成后,每个RM模块都会根据提供的检查点信息进行检查,虽然可以提供后综合检查点,但是如果RM中包括耦合上下文的综合后的IP,或者需要插入调试模块,那么一些检查点的信息将会丢失,知道opt_design操作完成所有链接和扩展后才能够获得最完整的信息,我们建议你在opt_design之后通过为每个配置调用write_checkpoint –cell指令创建完整的RM检查点,然后使用这些文件运行配置分析报告。
下面是一个设计的一些分析示例,这个设计包括三个可重配置模块。
复杂度
首先是-complexity操作后生成的资源使用情况表格:
可重配置模块复杂度‘RP1’
注意RM1需要最多的资源用于实现Slice寄存器,RM2需要最多的BlockRAM资源,RM3需要最多的Slice LUTs资源。每种资源类型的最大值汇总在MAX这一列中——这一列应用用于规划pblock资源大小,记住额外的开销是建议性的——指定可重配置分区的打包密度与完整性设计类似。
时钟
-clocking操作总结的是整个设计中用到的时钟资源,然后将时钟分布到每个可重配置模块中,同时它还提供了每个时钟区域中RM时钟负载的数量(下面表格未显示)。
静态时钟汇总
可重配置模块时钟RP1
时序分析
-timing操作会在逻辑层分析RP边界最差的接口路径,默认会检查10个最差的路径,可以使用-nworst来改变设置,下表中Logic Path显示的是逻辑层并且定义每层属于静态(S)分区还是可重配置(RM)分区,下面是三个边界路径分析示例:
可重配置模块边界时序RP1
这些信息可以帮助优化边界路径,插入流水线寄存器会打破时序所面临的挑战,甚至可以在静态区和可重配置区之间创建一个解耦点。
总结
当你完成每个可重配置模块中的逻辑之后,但是在确定设计的布局之前,运行report_pr_configuration_analysis命令生成分析报告,这个报告会帮助优化设计中可重配置分区的每个pblock,为整个设计中的时钟使用提供指导,并且在你取消某个时序信号时提供检测功能。