0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一文详解xilinx CLB基本逻辑单元

FPGA设计论坛 来源:FPGA设计论坛 作者:FPGA设计论坛 2022-04-24 14:48 次阅读

CLB是xilinx基本逻辑单元,每个CLB包含两个slices,每个slices由4个(A,B,C,D)6输入LUT和8个寄存器组成。

同一CLB中的两片slices没有直接的线路连接,分属于两个不同的列。每列拥有独立的快速进位链资源。

beff527e-c1e3-11ec-bce3-dac502259ad0.png

slice分为两种类型 SLICEL, SLICEM . SLICEL可用于产生逻辑,算术,ROM。SLICEM除以上作用外还可配置成分布式RAM或32位的移位寄存器。每个CLB可包含两个SLICEL或者一个SLICEL与一个SLICEM.

7系列的LUT包含6个输入 A1 -A6 , 两个输出 O5 , O6 .

可配置成6输入查找表,O6此时作为输出。或者两个5输入的查找表,A1-A5作为输入 A6拉高,O5,O6作为输出。

一个LUT包含6个输入,逻辑容量为2^6bit,为实现7输入逻辑需要2^7容量,对于更多输入也一样。每个SLICES有4个LUT,256bit容量能够实现最多8bit输入的逻辑。为了实现此功能,每个SLICES还包括3个MUX(多路选择器)

F7AMUX 用于产生7输入的逻辑功能,用于连接A,B两个LUT

F7BMUX 用于产生7输入的逻辑功能, 用于连接C,D两个LUT

F8MUX 用于产生8输入的逻辑功能, 用于连接4个LUT

对于大于8输入的逻辑需要使用多个SLICES, 会增加逻辑实现的延时。

一个SLICES中的4个寄存器可以连接LUT或者MUX的输出,或者被直接旁路不连接任何逻辑资源。寄存器的置位/复位端为高电平有效。只有CLK端能被设置为两个极性,其他输入若要改变电平需要插入逻辑资源。例如低电平复位需要额外的逻辑资源将rst端输入取反。但设为上升/下降沿触发寄存器不会带来额外消耗。

分布式RAM

SLICEM可以配置成分布式RAM,一个SLICEM可以配置成以下容量的RAM

bf143158-c1e3-11ec-bce3-dac502259ad0.png

多bit的情况需要增加相应倍数的LUT进行并联。

分布式RAM和 BLOCK RAM的选择遵循以下方法:

1. 小于或等于64bit容量的的都用分布式实现

2. 深度在64~128之间的,若无额外的block可用分布式RAM。要求异步读取就使用分布式RAM。数据宽度大于16时用block ram.

3. 分布式RAM有比block ram更好的时序性能。分布式RAM在逻辑资源CLB中。而BLOCK RAM则在专门的存储器列中,会产 生较大的布线延迟,布局也受制约。

移位寄存器(SLICEM)

SLICEM中的LUT能在不使用触发器的情况下设置成32bit的移位寄存器, 4个LUT可级联成128bit的移位寄存器。并且能够进行SLICEM间的级联形成更大规模的移位寄存器。

bf394d3a-c1e3-11ec-bce3-dac502259ad0.png

MUX

一个LUT可配置成4:1MUX.

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

四个LUT可配置成16个MUX

bf63f3a0-c1e3-11ec-bce3-dac502259ad0.png

同样可以通过连接多个SLICES达成更大规模设计,但是由于SLICE没有直接连线,需要使用布线资源,会增加较大延迟。

进位链

每个SLICE有4bit的进位链。每bit都由一个进位MUX(MUXCY)和一个异或门组成,可在实现加法/减法器时生成进位逻辑。该MUXCY与XOR也可用于产生一般逻辑。

原文标题:FPGA学习-xilinx CLB资源详解--slice、分布式RAM和Block ram

文章出处:【微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Xilinx
    +关注

    关注

    70

    文章

    2121

    浏览量

    119373
  • CLB
    CLB
    +关注

    关注

    0

    文章

    24

    浏览量

    5863
  • 逻辑单元
    +关注

    关注

    0

    文章

    25

    浏览量

    5080

原文标题:FPGA学习-xilinx CLB资源详解--slice、分布式RAM和Block ram

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Xilinx的ZYNQ的7000系列为例,介绍CLB功能与结构

    CLB是指可编程逻辑功能块(Configurable Logic Blocks),顾名思义就是可编程的数字逻辑电路。CLB是FPGA内的三个基本逻辑
    的头像 发表于 11-02 17:18 5115次阅读
    以<b class='flag-5'>Xilinx</b>的ZYNQ的7000系列为例,介绍<b class='flag-5'>CLB</b>功能与结构

    【干货】编辑Xilinx FPGA内LUT内容的详细方案

    Block,可编程逻辑单元)、BRAM(Block RAM,块RAM)、DSP48E1(专用数字处理单元)、可编程布线资源、可编程IO资源等部分组成,其中,CLB是实现
    的头像 发表于 11-23 13:14 8865次阅读
    【干货】编辑<b class='flag-5'>Xilinx</b> FPGA内LUT内容的详细方案

    FPGA重要资源CLB、Slice、LUT介绍

    CLB可配置逻辑块是指实现各种逻辑功能的电路,是xilinx基本逻辑单元。下图给出了一个 SLI
    发表于 10-08 09:43 6461次阅读

    Xilinx FPGA中的基础逻辑单元

    么些基本组成部分: Configurable Logic Block (CLB)可编程逻辑块 Block Memory存储器 DSP数字信号处理器 Transceivers收发器 I/O pins
    的头像 发表于 12-27 15:54 1861次阅读

    如何在LUT和逻辑元件之间以及逻辑元件和逻辑单元之间进行交换

    的话,请您为这些家庭提供个很好的估计?如果可能的话,可以使用从Xilinx中的逻辑单元转换为altera的逻辑
    发表于 01-08 10:18

    请问“逻辑单元”的意思是什么?

    我想知道“逻辑单元”的意思..我知道“Block RAM”,“分布式RAM”“CLB”......以及ETC ..但是,我不知道“Logic Cell”..请让我知道..谢谢!
    发表于 11-08 16:38

    是否可以使用逻辑单元的verilog代码?

    我想知道我是否可以使用逻辑单元(Spartan 6)的verilog代码,这样我就不必花时间为逻辑单元编写verilog代码。这可以节省我的时间,让我专注于其他部分内容,因为我有
    发表于 03-10 09:45

    CLB和IOB是边界单元吗?

    CLB和IOB是边界单元吗?最好的祝福,迈克尔
    发表于 04-14 09:37

    【源码】FPGA硬件基础篇--FPGA的逻辑单元_CLB

    `FPGA的逻辑单元_CLB_项目代码文件`
    发表于 03-31 11:18

    FPGA从Xilinx的7系列学起(2)

    一个写写代码,调调时序的小工程师的级别。我想,这应该不是我们所有年轻人的一个追求。 1.1 CLB的初探 首先CLB的最基本资源分为两种,一种是实现组合逻辑资源功能的,一般称为LUT。XILI
    发表于 02-08 10:10 234次阅读
    FPGA从<b class='flag-5'>Xilinx</b>的7系列学起(2)

    Xilinx 7系列FPGA使用之CLB探索(一)

    7系列FPGA是Xilinx新推出的基于28nm工艺的FPGA,其中包含三个系列:Artix、Kintex和Virtex。因项目要使用kintex7为平台做设计,需要对其内部结构做了研究,首先从CLB(Configurable Logic Block)开始
    发表于 02-10 16:13 5111次阅读
    <b class='flag-5'>Xilinx</b> 7系列FPGA使用之<b class='flag-5'>CLB</b>探索(一)

    FPGA学习:分布式RAM和Block ram

    CLBxilinx基本逻辑单元,每个CLB包含两个slices,每个slices由4个(A,B,C,D)6输入LUT和8个寄存器组成。
    发表于 05-10 11:43 2.5w次阅读
    FPGA学习:分布式RAM和Block ram

    FPGA内部可编程逻辑CLB资源分析

    现在的FPGA里面有很多存储资源,DSP(数字信号处理)资源,布线通道,I/O资源,当然最根本的还是CLB(Configurable Logic Block)。Xilinx的资源分布采用ASMBL架构。
    的头像 发表于 10-22 11:00 5332次阅读

    CLB 如何颠覆传统逻辑

    什么是 CLBCLB 将一个经优化的高速可编程逻辑集成到 C2000 MCU 等实时控制器中,为增强型脉宽调制器 (PWM)、增强型捕捉、增强型正交编码器和通用 I/O 等关键外设提供智能的信号输入/输出 (I/O) 路由功能
    的头像 发表于 12-07 14:59 2039次阅读
    <b class='flag-5'>CLB</b> 如何颠覆传统<b class='flag-5'>逻辑</b>

    详解逻辑单元的内部结构

    逻辑单元(Logic Element,LE)在FPGA器件内部,用于完成用户逻辑的最小单元。一个逻辑阵列包含16个
    的头像 发表于 06-15 16:50 2757次阅读