【UG474】可配置逻辑块(configurable logic block,CLB)资源学习

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

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没有直接的

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ChipWeaver

觉得有用的话点个赞吧 :)

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值