使用PlanAhead查看Virtex-7系列FPGA的底层架构
FPGA整体架构
下图是FPGA架构的一个整体架构图,可见,Virtex-7系列的FPGA分为20个时钟域(Clock Region),左侧从X0Y0到X0Y9,右侧从X1Y0到X1Y9,命名方式为:X后面的数字表示列,从0开始到1,总共两列;Y表示行,后面的数字从下网上计数,依次为0,1,...,9,总共10行。
每个时钟域的长度度为FPGA板子的一半,高为大约为48个CLB的高度。
让后我们放大其中一个时钟域来看看(X0Y0):
上图可见,放的还不够大,但已经开始呈现出一些阵列状的东西了。继续放大:
可见,整齐分布了大量的CLB,即可编程逻辑块,还有BRAM,也就是块RAM:
还有DSP48:
还有IOB,FIFO等,如下图:
还有缓冲器Buffer:
真是让人大开眼界,这种技术不得不让人赞叹。
下面我们继续放大CLB,看看CLB是怎么组成的:
从上面两张图中可以看出,有的CLB是由两个SLICE组成的,这里还有区分,也就是说,有的CLB是由两个SLICEL组成的,命名为CLBLL;有的CLB是由一个SLICEL和一个SLICEM组成的,命名为CLBLM。
SLICEL和SLICEM的区别我们以前的博文也写过,可见我的CLB介绍三部曲:
Xilinx® 7 series FPGAs CLBs专题介绍(一)
Xilinx® 7 series FPGAs CLBs专题介绍(二)
第三部还没有开始写;
也就是说,SLICEM中的查找表(LUT)可以配置成分布式的RAM以及FIFO等,而SLICEL没有这么个功能,只能作为函数发生器,这里是6输入的函数发生器。
我们继续放大看SLICEL中什么组成的:
从上图可见,SLICEL包含4个6输入的LUT,进位链,还有8个DFF,还有一些多路复用器(MUX)。
下图为SLICEM:
可见,结构基本是一致的,只是这个LUT看起来有点不一样呀,那继续放大看看这个LUT怎么回事:
明显与SLICEL中的LUT不一样啊,多了好多端口出来,这也不奇怪,为什么SLICEM可以配置成分布式的RAM以及FIFO了。
借此机会再看看所谓的进位链是什么样的:
可见,进位链是由多路复用器和异或门组成。
这种直观的方式去了解FPGA的内部结构是十分有益的,至少对于初学者来说,容易建立一个直观的认识,看到这些令人赞叹的技术,是不是更加让人有欲望去了解呀。
文章来源: reborn.blog.csdn.net,作者:李锐博恩,版权归原作者所有,如需转载,请联系作者。
原文链接:reborn.blog.csdn.net/article/details/81630524
- 点赞
- 收藏
- 关注作者
评论(0)