上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的使用量,但也可能导致布线拥塞。
图1.6
在实现后的报告中,单击如图1.7所示的using O5 and O6可查看LUT6的使用个数,也可通过Tcl命令查看。
图1.7
此外,Vivado模块化综合技术提供了一个类似选项LUT_COMBINING,可以灵活地对某些模块进行LUT整合或不进行LUT整合。其值是0或1(1表示进行LUT整合)。一个可能的判断依据是设计的布线拥塞报告。
结论:
① LUT整合的好处是减少了对LUT的使用量。
② LUT整合的坏处是可能会导致布线拥塞。