你找到的LUT个数为什么和资源利用率报告中的不匹配

2019-10-31 00:31:02 浏览数 (2)

以Vivado自带的例子工程wavegen为例,打开布局布线后的DCP,通过执行report_utilization可获得资源利用率报告,如下图所示。其中被消耗的LUT个数为794。

另一方面,通过执行如下Tcl脚本也可获得设计中被消耗的LUT,如下图所示。此时,这个数据为916,显然与上图报告中的数据不匹配,为什么会出现这种情形?

进一步分析,我们猜测可能的原因是上述脚本并没有去除Combined LUT(关于Combined LUT,可点击这里复习:Vivado综合设置选项分析:no_lc)。于是,通过下面的脚本可查找到这类LUT。

第一步:找到设计中被使用的LUT6;

第二步:找到这些LUT6中LUT5也被使用的情形,并统计被使用的LUT5个数,从而获得了Combined LUT的个数;

第三步:从总共被使用的LUT中去除Combined LUT(因为Combined LUT被统计了两次)即为实际被使用的LUT。这时获得的数据是794,与资源利用率报告中的数据保持一致。

这里解释一下为什么说Combined LUT被统计了两次。

下面的Tcl脚本中,第1条命令会统计所有使用的LUT,这包含了SLICE_X12Y70/B5LUT,也包含SLICE_X12Y70/B6LUT,而这两个实际上是一个LUT6。如下图所示。

此外,对于Combined LUT,其属性SOFT_HLUTNM的值不是空,如下图所示。用该属性可获得被Combined的Cell。

尝试执行下面的命令,看看SOFT_HLUTNM都有哪些可能的取值。

这里给出上述完整的Tcl脚本供大家参考。

====================

///回复“年 月”6位数字,可查看yyyy年mm月好文

例如:回复 201805 可查看2018年5月内容///

0 人点赞