分析资源利用率是FPGA设计中不可缺少的一步。通常有两种做法:
-在Vivado工程模式下,打开综合或者布局布线后的设计,点击左侧导航栏中的Report Utilization
-在直接打开设计的DCP(不管是哪个阶段生成的DCP)的情形下,点击菜单中的Reports-> Report Utilization
本质上这两种做法是一致的,因为最终都会执行下面这条Tcl命令。
report_utilization -name myutil
查看指定模块的资源利用率
report_utilization可以用来查看指定模块的资源利用率。这时需要用到-cells这个选项。-cells后面跟的内容就是指定的模块(通过get_cells获取),可以是一个模块,也可以是多个模块构成的列表。例如:
set mycells [get_cells uart*]
report_utilization -cells $mycells
-name uart_util
通过这两条命令可同时获取uart_rx和uart_tx的资源利用率,如下图所示。
查看指定pblock的资源利用率
report_utilization还可以用来查看指定pblock的资源利用率。这时需要用到-pblocks这个选项。-pblocks后面跟的内容就是指定的pblock(通过get_pblocks获取)。类似地,可以是一个pblock,也可以是多个pblock构成的列表。生成报告可以写入文件中,也可以不用-file选项直接在Tcl Console中输出。例如:
report_utilization -pblocks [get_pblocks]
-file C:/Data/pblock_util.rpt
注:-pblocks不能与-name同时使用。
查看每个SLR的资源利用率
在基于SSI器件设计时,我们更关注每个SLR(每个Die)的资源利用率。这时需要用到-slr这个选项。例如:
report_utilization -slr
-file C:/Data/slr_util.rpt
注:-slr不能与-name同时使用。
结论:
-report_utilization -cells可查看指定模块的资源利用率
-report_utilization -pblocks可查看指定pblock的资源利用率
-report_utilization -slr可查看每个SLR的资源利用率