有所成就是人生唯一的真正的樂趣。
LUT的一个重要功能是逻辑函数发生器。本质上,逻辑函数发生器存储的是真值表(Truth Table)的内容,而真值表则是通过布尔表达式获得。在vivado中,打开网表文件,选择相应的LUT,在property窗口中可以看到真值表。
从逻辑电路角度看,LUT是构成组合逻辑电路的重要单元,正因为如此,也成为了时序电路中,影响逻辑级数的重要因素。了解常规电路的逻辑级数对于设计初期时序评估是很有必要的。
以加法器为例:相应的RTL代码如下(因为verilog不支持二维输入输出,采用systemverilog语法)
可以看出逻辑级数3(LUT+carry+carry)。同理得到,对于32bit为6,48bit逻辑级数为8。【其实逻辑级数有点高了,对于跑300M+有点困难,后面的文章会有解决方案】。
1个LUT6可以实现4选1的数据选择器(MUX),同时LUT6可以与SLICE中的F7MUX、F8MUX、F9MUX等一起构成更大MUX。对于8选1的MUX,其逻辑级数为2(1个LUT+1个F7MUX)。
对于16选1的MUX,其逻辑级数为3(1个LUT+1个F7MUX+1个F8MUX);
而32选1的MUX可在一个SLICE(针对UltraScale和UltraScale Plus芯片)中实现,消耗8个LUT6,4个F7MUX,2个F8MUX和1个F9MUX,因此,逻辑级数为4(1个LUT+1个F7MUX+1个F8MUX+1个F9MUX)。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !