凡亿教育-思思
凡事用心,一起进步
打开APP
公司名片
凡亿专栏 | FPGA的基础架构,什么是CLB?
FPGA的基础架构,什么是CLB?


      

2b76fdfe570c2270e1179c7ea8a2c0.png

       CLB是指可编程逻辑功能块(Configurable Logic Blocks),顾名思义就是可编程的数字逻辑电路。CLB是FPGA内的三个基本逻辑单元。CLB的实际数量和特性会依器件的不同而不同,但是每个CLB都可配置,在Xilinx公司的FPGA器件中,CLB由2个 相同的SliceL或则一个SliceL和一个SliceM构成。每个Slice不仅可以用于实现组合逻辑、时序逻辑。其中,SliceM还可以配置为分布式RAM和分布式ROM。

下面以Xilinx的ZYNQ的7000系列为例介绍其功能与结构

19387623dc72b420597a5d23a82140.png

ZYNQ7000系列采用了Xilinx全新的第四代ASMBL架构。

新的架构优化了芯片布局,消除了IO数量增长带来的芯片阵列的尺寸约束;

新的架构能够满足在芯片的任何位置放置电源和地;

增加了更多电源和地;

允许多种完全不同功能的IP单元在芯片内独立排布;

独特的SSI技术;

a98ae1d363f9105f8ceb9f3537ea52.png

70cc37825739771a6eb9bbc8073b7e.png

1996d681acfc19a40f898f9e8ff51b.png

且分布式RAM和移位寄存器只能在SliceM中

1.SLICE:(1Slice=4LUT+8FF)

     Slice是Xilinx公司定义的基本逻辑单位,其内部结构如图1-4所示,一个Slice由四个6输入的LUTS、进位逻辑、算术逻辑、存储逻辑和多路复选器组成。算术逻辑包括一个异或门(XORG),一个异或门可以使一个Slice实现 2bit全加操作,专用与门用于提高乘法器的效率;进位逻辑由专用进位信号和函数复用器(MUXC)组成,用于实现快速的算术加减法操作;4输入函数发生器用于实现4输入LUT、分布式RAM或16比特移位寄存器(Virtex-5系列芯片的Slice中的两个输入函数为6输入,可以实现6输入LUT或 64比特移位寄存器);进位逻辑包括两条快速进位链,用于提高CLB模块的处理速度

每个Slice包含:

•四个6输入查找表LUT

•八个存储单元

•多路复选器

•进位逻辑

所有Slice均使用这些单元来提供逻辑,算术和ROM功能。在

此外,某些slice还支持两个附加功能:使用分布式存储数据

RAM和32位寄存器的移位数据。支持这些附加功能的slice

称为SLICEM;其他的则称为SLICEL。

SLICEL如图2-4所示。

每个CLB可以包含两个SLICEL或一个SLICEL和一个SLICEM。

2b67fc49258dd334b30bd9f3b8bb3b.png

Slices分为SliceL和SliceM,一般情况下,SliceL>SliceM数

87556d79dfc8589c89db2d81b13644.png

c4d9822fcc969138e1ae9627e34225.png

05cabba7daa297d8dcc5de2ae5ac69.png

2.LUT查找表

31d7304e56096574e339eb7a6b5e2c.png

1个Slice包含4个6输入的LUT,两个LUT通过F7MUX进行级联可以形成一个7输入的LUT,1个Slice可以形成2个7输入的LUT;还可通过F8MUX进行级联形成一个8输入的LUT,逻辑资源换算关系:6输入查找表是4输入查找表的1.6倍查找表LUT本质是RAM,相当于一个多路选择器LUT可参与进位逻辑,进行算数运算单元进行异或运算等,也可直接输出。

3.存储单元

每个Slice有8个存储单元,4个可配置成DFF或者锁存器,另外4个只能配置为DFF

7a96a2822d0f4e1068f82058123dfb.png控制信号

而SliceL与SliceM最大的区别就是没有分布式RAM和移位寄存器。

4.分布式RAM(仅限SliceM)

SLICEM可以配置成分布式RAM,多bit的情况需要增加相应倍数的LUT进行并联。

0372853e877d161a770aec7cfde5dd.png

aeab44e79e7bedcdf6e633d96acb3d.png

分布式RAM比块RAM有更好的灵活性,但块RAM的资源比较宝贵,分布式RAM适用小规模存储场景。

5.移位寄存器(仅限SliceM)

SLICEM在不使用触发器的情况下可以设置成32bit的移位寄存器,4个LUT可级联成128bit的移位寄存器。SliceM之间级联还可形成更大的移位寄存器

a8cc3ba6e116ef903932bb64f5f8f3.png

6.多路复选器MUX

1个LUT可配置成4:1MUX

18679b1af136475d5682f43e8354ef.png

2个LUT最多可配置成8:1MUX

689f3694268034ddc97e37829ae256.png

4个LUT最多可配置成16:1MUX

43335ed08c4cf0be3002e3d39a166e.png

也可通过布线资源连接多个Slice形成更大规模的设计

但会占用布线资源,产生较大延迟

363e0964259b7da33dfcbfc9fe7869.png

有两条快速进位链,它与本列的上下slice的进位链相连,实现数据运算时的进位操作,每个slice有4bit 的进位链,每bit都由一个进位MUX和一个异或门组成

可实现加法/减法器时生成进位逻辑,也可产生一般逻辑。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表凡亿课堂立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。
相关阅读
进入分区查看更多精彩内容>
精彩评论

暂无评论