Vivado从此开始(进阶篇)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1.3 −no_lc

对于两个布尔表达式x和y,只要满足x+y <= 5(相同变量只算一次),则这两个布尔表达式就可以放置在一个LUT6(6输入查找表)中实现。此时A6=1,运算结果分别由O6和O5输出。

在默认情况下(不勾选−no_lc),当存在共享变量时,Vivado会自动把这两个布尔表达式放在一个LUT6中实现,称之为LUT整合(LUT Combining);否则,仍占用两个LUT6,分别实现每个布尔表达式。但是,当勾选−no_lc(No LUT Combining)时,则不允许出现LUT整合,如图1.6所示,其中a1~a5连接到相应的A1~A5端口。通过LUT整合可以减少对LUT的使用量,但也可能导致布线拥塞。

img

图1.6

在实现后的报告中,单击如图1.7所示的using O5 and O6可查看LUT6的使用个数,也可通过Tcl命令查看。

img

图1.7

此外,Vivado模块化综合技术提供了一个类似选项LUT_COMBINING,可以灵活地对某些模块进行LUT整合或不进行LUT整合。其值是0或1(1表示进行LUT整合)。一个可能的判断依据是设计的布线拥塞报告。

结论:

① LUT整合的好处是减少了对LUT的使用量。

② LUT整合的坏处是可能会导致布线拥塞。