weiqi7777

认识LUT(2)

0
阅读(2699)

之前,分析了LUT。也知道,LUT可以实现任意的组合逻辑电路功能,只需要预先计算输出的结果,将结果存入LUT中,即可。

同时,我们还可以分析实现该组合逻辑电路最多会用到LUT个数。

6输入LUT为例。

设有N个输入信号,M个输出信号。

那么总共就会用到:

N <=6时:

  会用到MLUT。 因为一个输出会对应一个LUT

N > 6时:

      6  + 5 * A + B = N 。其中B15 A为整数。解出A,B的值。那么就可以知道,没实现一个输出,需要A+2LUT级联。所以共需要(A+2)*M个。这里的A就是中间级联的LUT个数。加2是因为开始和最后各有一个LUT

 

假设,我们现在有5个输入,20个输出,可以得到最多需要20LUT。因为输入数没有超过6.

当我们现在有20个输入,30个输出,可以得到A=2,B=4。那么最多需要4 * 30 = 120LUT。因为每个输出最多需要4LUT级联。那么30个输出就最多需要120LUT

 

以上,是分析使用最多的LUT个数。通过这种方法,可以判断我们写的代码会使用多少资源。从而可以进行评估,我们选择的芯片是否满足我们的需求。因为FPGA厂商提供的FPGA芯片,每款芯片的资源是不一样的。因此我们在选择芯片进行物理实现的时候,就要考虑我们写的代码,是否能在所选择芯片上实现,即芯片是否能提供这么多的资源让我们去实现。