CLB是用于xilinx中实现时序电路和组合电路的主要逻辑资源。
XIlinx7系列FPGA的CLB有如下特点:
•真6输入查找表(LUT)技术
•双LUT5(5输入LUT)选项
•分布式ram和移位寄存器逻辑能力
•用于算术函数的专用高速进位逻辑
•高效利用的宽多路复用器
如上图,XIlinx7系列FPGA每个CLB包含2个逻辑片(logic slice),每个logic slice包含4个LUT、8个REG、复用器、进位逻辑等,每个CLB的资源如下图所示,其中分布式RAM和SRL只有SLICEM有。
SLICEM:
SLICEL:
从结构图上可以看到:
1、SLICEM中的LUT6有读写地址和两个输入,所以SLICEM可以用来作为分布式ram和SRL;
2、SR/CE/CLK在一个CLB中是共用的,都是高有效,但是CLK在使用前可以取反;
3、第一列FF是没有所存功能;
DISRAM
•SLICEM中提供单端口和双端口模式
•写入操作需要一个时钟边沿
•读取操作是异步的(Q输出)
ROM:
SRL
•移位操作需要一个时钟边沿
•LUT Q输出的动态地址读取操作是异步的
•LUT Q输出的静态地址读取操作是同步的
•在级联配置中,Q31输出始终为最后一位值
多路复用器:
进位逻辑:
CI:是上一个 CARRY4 的进位输出,位宽为1
CYINT:是进位的初始化值,位宽为1;0为加法,1为减法
DI:是数据的输入,位宽为4;
SI:是两个加数的异或结果,位宽为4;
O:是加法结果输出,位宽为4;
CO:是进位输出,位宽为4;