快捷搜索:

浅析FPGA的基本结构

谈起FPGA的布局,通凡人们是这样觉得的:FPGA的基础布局是由大年夜量的相对较小的可编程逻辑块“岛”镶嵌在可编程互连的“海”里面构成的。初看起来感到有点云里雾里,仔细琢磨一下,文艺范的表达确凿是那么回事:

今朝市场上90%以上的FPGA来自于xilinx和altera这两家巨子,而这两家FPGA的实现技巧都是基于SRAM的可编程技巧,FPGA内部布局基础同等,以是本文仅以xilinx的7系列FPGA先容。

CLB是xilinx FPGA基础逻辑单元,每个CLB包孕两个slices,每个slices由4个6输入LUT(查找表)和8个D触发器组成。同一CLB中的两片slices没有直接的线路连接,分属于两个不合的列。每列拥有自力的快速进位链资本。让我们来看看基础逻辑单元CLB的布局,如图1所示列出了4个CLB:

图1:CLB布局

全部FPGA内部的基础布局便是由成千上万个这样的CLB组成的,CLB与CLB之间存在大年夜量的旌旗灯号互连线,作为数据流动的通道。开篇说的“岛”便是CLB,“海”便是旌旗灯号互连线。当然,这只是最基础的FPGA布局,实际的FPGA内部“大年夜海”里还得镶嵌其它的“明珠”才能正常事情,比如时钟模块、存储器、收集模块、收发器模块等等,“明珠”数量越多,FPGA功能就越富厚、当然价格也越贵。

那么,大年夜家可能有疑心,CLB怎么就能实现繁杂的数字逻辑功能呢?别忘了上文交卸了1个CLB包孕2个Slice,每个Slice又由4个6输入LUT、8个D触发器以及多个MUX组成。简单来说,LUT是查找表,可以实现数字逻辑中的组合逻辑功能,比如C=A+B;D触发器则实现时序逻辑功能;MUX则增强Slice内部旌旗灯号流畅的机动性。

也便是说1个Slice内部就可以机动的实现组合逻辑和时序逻辑,那么1个CLB(即是2个Slice)呢?成千上万个CLB呢?以是FPGA就可以实现很繁杂的数字运算了。

您可能还会对下面的文章感兴趣: