认识LUT(2)
0赞
发表于 10/24/2014 4:06:50 PM
阅读(2699)
之前,分析了LUT。也知道,LUT可以实现任意的组合逻辑电路功能,只需要预先计算输出的结果,将结果存入LUT中,即可。
同时,我们还可以分析实现该组合逻辑电路最多会用到LUT个数。
以6输入LUT为例。
设有N个输入信号,M个输出信号。
那么总共就会用到:
当N <=6时:
会用到M个LUT。 因为一个输出会对应一个LUT。
当N > 6时:
有 6 + 5 * A + B = N 。其中B从1到5。 A为整数。解出A,B的值。那么就可以知道,没实现一个输出,需要A+2个LUT级联。所以共需要(A+2)*M个。这里的A就是中间级联的LUT个数。加2是因为开始和最后各有一个LUT。
假设,我们现在有5个输入,20个输出,可以得到最多需要20个LUT。因为输入数没有超过6.
当我们现在有20个输入,30个输出,可以得到A=2,B=4。那么最多需要4 * 30 = 120个LUT。因为每个输出最多需要4个LUT级联。那么30个输出就最多需要120个LUT。
以上,是分析使用最多的LUT个数。通过这种方法,可以判断我们写的代码会使用多少资源。从而可以进行评估,我们选择的芯片是否满足我们的需求。因为FPGA厂商提供的FPGA芯片,每款芯片的资源是不一样的。因此我们在选择芯片进行物理实现的时候,就要考虑我们写的代码,是否能在所选择芯片上实现,即芯片是否能提供这么多的资源让我们去实现。