浅谈XILINX FPGA CLB单元 汇总 ()

浅谈XILINX FPGA CLB单元 ()

一、概述

CLB可配置逻辑块是指实现各种逻辑功能的电路,是xilinx基本逻辑单元
在Xilinx FPGA中,每个可配置逻辑块包含2个Slice
每个Slice 包含查找表、寄存器、进位链和多个多数选择器构成。
而Slice又有两种不同的逻辑片:SLICEM和SLICEL。SLICEM有多功能的LUT,可配置成移位寄存器,或者ROM和RAM。
逻辑片中的每个寄存器可以配置为锁存器使用。

本次主要介绍是掌握FPGA重要资源CLB、Slice、LUT。主要参考XILINX 官方文档“ ug474_7Series_CLB.pdf ”

二、CLB的介绍

1. CLB简述
CLB是用于实现时序电路和组合电路的主要逻辑资源。 每个CLB元素都连接到一个交换矩阵,以访问通用路由矩阵(如下图所示)。 CLB元素包含一对Slice

浅谈XILINX FPGA CLB单元 汇总 ()

2. CLB结构组成
7系列FPGA中的LUT可以配置为具有一个6输入LUT,或者两个5输入LUT(数据输入和地址相同,数据输出独立)。每个5输入LUT的输出都可以选择是否通过触发器(flip-flop)寄存。
需要了解的是(下图是一个CLB的组成):
浅谈XILINX FPGA CLB单元 汇总 ()
1)一个CLB 等于2个Slice
2)一个Slice等于4个6输入LUT+8个触发器(flip-flop)+算数运算逻辑 ——每个Slice的4个触发器(虽然有8个flip-flop,但是每个LUT分配一个flip-flop)可以配置成锁存器,这样会有4个触发器(flip-flop)未被使用。
3)这里还有一点需要特别注意的,XILINX FPGA 的slice还不都是长一样的,FPGA中三分之二的slice是SLICEL而剩余的是SLICEM

SLICEM是可以当作分布式64bit-RAM或者32bit的移位寄存器或者2个16bit移位寄存器。通过VIVADO软件或者原语的调用可以利用这些逻辑算数功能和存储功能。

3. FPGA
我们经常说到FPGA容量是多少,FPGA器件的容量通常用逻辑单元来衡量,这在逻辑上等同于经典的4输入LUT和触发器。 7系列FPGA逻辑单元和6输入LUT的数量之比为1.6:1。所以,逻辑单元和Slice的数量比是6.4:1
浅谈XILINX FPGA CLB单元 汇总 ()