1 CLB概述
1.1 CLB结构
可配置逻辑块(configurable logic block,CLB)提供高级、高性能的FPGA逻辑:
- 6输入查找表(6-input look-up table ,LUT)
- 双5输入查找表(LUT5)选项
- 分布式内存和移位寄存逻辑能力
- 用于算术功能的专用高速进位逻辑
- 多路复用器
CLB是实现时序电路和组合电路的主要逻辑资源。每个CLB单元都连接到一个switch matrix,为了访问通用的路由矩阵。每个CLB单元包含一对Slice:

LUT可以配置为单个输出的6输入LUT,或者两个5输入LUT(同地址或逻辑输入,不同的输出)。每个5输入LUT的输出可以选择被触发器寄存。
CLB结构:
- 四个6输入LUT和对应的8个触发器、数据选择器(multiplexer)、算术单元(arithmetic)以及 进位逻辑(carry logic) 组成一个slice。
- 两个slice形成一个CLB。
- 每个slice的4个触发器(每个LUT对应一个触发器)可以选择配置为锁存器。在这种情况下,该slice中的其余4个触发器不可用。
上述slice被称为SLICEL。大约三分之二的slice是SLICEL,其余的是SLICEM。
SLICEM可以将其LUT用作分布式64位RAM或32位移位寄存器(SRL32)或两个SRL16。
SLICEL(L:Logic):

SLICEM(M:Memory):

1.2 设计流程建议
CLB资源是为通用设计逻辑推断的,不需要实例化。好的HDL设计需要注意的几点:
-
CLB触发器有set和reset。设计者不能同时使用set和reset。
-
触发器很充足。所以考虑用流水线提升性能。
-
控制输入是跨slice或CLB共享的。设计所需的独特控制输入的数量应尽量减少。控制输入包括时钟、时钟使能、设置/重置和写使能。
-
一个6输入的LUT可以作为一个32位移位寄存器,为了高效的implementation。
-
一个6输入的LUT可以作为一个64x1存储,用于小型存储需求。
-
专用进位逻辑高效地实现了算术功能。
这些步骤表明了推荐的设计流程:
- 使用首选的方法(HDL, IP等)实现设计。
- 评估资源利用率报告以确定所使用的资源。如果有用的话,检查确保使用了算术逻辑、分布式RAM和SRL。
- 考虑触发器用法:
- 流水线提高性能
- 在专用资源(块RAM, DSP)的输出上使用专用触发器
- 允许移位寄存器使用SRL(避免 set/resets)
- 尽量减少使用set/resets。
2 CLB架构细节
2.1 CLB 排列
7系列FPGA 的 CLB按列排列,7系列是基于Xilinx高级硅模块(Advanced Silicon Modular Block,ASMBL)体系结构的第四代。
2.1.1 ASMBL架构
Xilinx创建了高级硅模块(ASMBL)体系结构,以支持具有针对不同应用领域优化的不同特性混合的FPGA平台。

以7k325t-ffg676为例,其X0Y0时钟域下资源排布为:

211203补充:
关于各资源的排列,以高速收发器为例,Left Side对应的是手册以及Implementation Device视图的左边一列,每隔Clock Region有四个收发器,所以我们可以根据Clock Region来推测GT的坐标编号,比如Clock Region X0Y4对应的GT CHANNEL编号为GTHE2_CHANNEL_X0Y16~19,对应的GT COMMON 编号为GTHE2_COMMON_X0Y4。同理,这个时钟域的MMCM和PLL的编号分别为:MMCME2_ADV_X0Y4 和 PLLE2_ADV_X0Y4。
各种功能基元按列排列。
- 消除几何布局约束,如I/O计数和数组大小之间的依赖关系。
- 通过允许电源和地被放置在芯片上的任何地方,增强片上电源和地分布
- 允许完全不同的集成IP块独立于彼此和周围的资源进行比例调节。
SSI技术:
堆叠硅片互联(stacked silicon interconnect,SSI)技术。允许多个超逻辑区域( super logic region,SLR)在一个passive interposer 层上组合,以创建一个具有超过10,000个SLR间连接的单片FPGA。
2.1.2 CLB slice
一个CLB包含两个SLICE(两个SLICEL(CLB_LL),或一个SLICEL一个SLICEM(CLB_LM)),每个SLICE包含四个LUT6,八个存储单元。
- SLICE(0): CLB左下角
- SLICE(1):CLB右上角
一个CLB的两个SLICE没有直接的

本文深入探讨了FPGA的可配置逻辑块(CLB)结构,包括CLB的基本组成、SLICE的详细配置、查找表(LUT)、存储单元、分布式RAM和移位寄存器的功能。CLB由SLICEL和SLICEM组成,每个SLICE包含LUT、触发器、数据选择器和进位逻辑。LUT可配置为逻辑函数或存储单元,SLICEM还支持分布式RAM和移位寄存器功能。设计流程建议利用CLB资源进行高性能逻辑实现,注意触发器使用和控制信号优化。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



