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

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

3天内不再提示

初识FPGA CLB之LUT实现逻辑函数

FPGA之家 来源:FPGA之家 作者:FPGA之家 2023-03-13 10:28 次阅读

一、概述

LUT中文名字叫查找表。以7系列的FPGA为例,每一个Slice里面有四个LUT。FPGA就是通过LUT实现大量的组合逻辑,以及SLICEM里面的LUT还可以构成RAM,Shift Register,以及Multiplexers。这篇文章我们一起来学习LUT如何构成组合逻辑。

二、LUT实现原理

LUT,中文名字叫做查找表,其原理其实也就是一个一个查找表,根据输入去找到相应位置的信号,然后做输出。说白了就好像一个小容量的ROM,把输入当作地址信号,对LUT里面预存的内容进行寻址。

7系列的FPGA的LUT有6个输入端口(A1-6),然后有两个输出端口(O5,O6)。下图是SLICEL里面的LUT。

9f14c1ba-bf62-11ed-bfe3-dac502259ad0.png

其可以实现6输入的布尔组合逻辑函数,输入信号为A1,A2,A3,A4,A5,A6,输出端口为O6。如下

O6=f(A1,A2,A3,A4,A5,A6)

其实现方式就是将输入(A1,A2...A6)对应的输出在LUT里面预存好(这一步在我们用bit文件配置FPGA时实现),然后把输入信号当作地址信号去把对应的输出信号调出来。

同样其还可以构成两个5输入的布尔组合逻辑函数,其中这两个函数共用5个输入信号(A1,A2,A3,A4,A5),A6被拉高,O5,O6分别是两个布尔逻辑的输出。

O5=f(A1,A2,A3,A4,A5)

O6=f(A1,A2,A3,A4,A5)

故这也相当于实现的是一个5输入2输出的逻辑函数。

[O5,O6]=f(A1,A2,A3,A4,A5)

三、总结与提升

总结一下,就好比单个LUT里面可以预存 2^6=64个结果。那么单个LUT可以实现

(1)输入信号最多为6bit,输出信号为1bit的的布尔逻辑函数;

(2)输入信号最多为5bit,输出信号为2bit的逻辑。

一个SLICE里面有四个LUT故最多可以预存的输出信号个数为 2^6*4=2^8。

因此在一个SLICE里面,借助选择器将多个LUT进行互连,可以实现输入数,输出数最多为如下所示的逻辑。

(1)2个LUT通过互连可以构成7bit输入,单bit输出的逻辑。实现方式为两个LUT的输入信号A1,A2,A3,A4,A5,A6接到一起,输出信号经过选择器选择输出,选择器的选择信号也是逻辑函数的一个输入信号。

将逻辑函数的输出送到Storage Element便可以形成同步时序逻辑。

9f2782aa-bf62-11ed-bfe3-dac502259ad0.png

(2)4个LUT通过互连可以构成8bit输入,单bit输出的逻辑。实现方式大家可以根据上面的实现方式自行推理。

(3)2个LUT通过互连可以构成6bit输入,2bit输出的逻辑。实现方式自行推理。

(4)4个LUT通过互连可以构成7bit输入,2bit输出的逻辑。实现方式自行推理。

超过8输入的布尔逻辑就需要多个SLICE来实现。

审核编辑:汤梓红

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

    关注

    1603

    文章

    21326

    浏览量

    593242
  • 逻辑函数
    +关注

    关注

    0

    文章

    21

    浏览量

    9454
  • 组合逻辑
    +关注

    关注

    0

    文章

    45

    浏览量

    9993
  • LUT
    LUT
    +关注

    关注

    0

    文章

    49

    浏览量

    12397
  • CLB
    CLB
    +关注

    关注

    0

    文章

    24

    浏览量

    5863

原文标题:初识FPGA CLB之LUT实现逻辑函数

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    拆解FPGA芯片,带你深入了解其原理

    引脚。每个逻辑元素都可以使用所需的逻辑功能进行编程。其结果是一个高度可编程的芯片,可以实现任何适合可用的电路。 FPGA专利显示通过互连连接的逻辑
    发表于 04-17 11:07

    FPGA时序优化:降低MUXF映射的策略

    我们都知道,在7系列的FPGA中,每个CLB有两个Slice;而在UltraScale系列中,每个CLB中只有一个Slice,Slice又分成了两种类型SliceL(Logic)和SliceM(Memory),其中SliceM中
    发表于 04-01 11:41 116次阅读
    <b class='flag-5'>FPGA</b>时序优化:降低MUXF映射的策略

    FPGA 完整形式

    。 架构: 它由数千个称为可配置逻辑块 (CLB) 的基本元素组成,这些元素被称为结构的可编程互连系统包围,该结构在 CLBFPGA 与外部设备之间的 I/O 块接口之间引导信号
    发表于 03-30 11:49

    fpga芯片工作原理 fpga芯片有哪些型号

    部分。这些部分共同构成了FPGA的基本结构,使其具有高度的灵活性和可配置性。 在FPGA中,小型查找表(LUT)是实现组合逻辑的关键组件。每
    的头像 发表于 03-14 17:17 383次阅读

    fpga是什么架构

    FPGA(现场可编程门阵列)的架构主要由可配置逻辑模块(CLB)、输入/输出模块(IOB)以及可编程互连资源组成。
    的头像 发表于 03-14 17:05 223次阅读

    FPGA实现原理

    FPGA(Field-Programmable Gate Array,现场可编程门阵列)是一种特殊的集成电路,其内部结构由大量的可配置逻辑块和互连线组成。FPGA可以通过编程来实现各种
    发表于 01-26 10:03

    怎样减少路径上的LUT个数使速度更快呢?

    FPGA设计而言如果想速度更快则应当努力减少路径上LUT的个数,而不是逻辑级数。
    的头像 发表于 12-27 09:03 215次阅读
    怎样减少路径上的<b class='flag-5'>LUT</b>个数使速度更快呢?

    FPGA | 查找表(Look-Up-Table)的原理与结构(Xilinx Spartan-II)

    ,I/O块,RAM块和可编程连线(未表示出)。在spartan-II中,一个CLB包括2个Slices,每个slices包括两个LUT,两个触发器和相关逻辑。Slices可以看成是SpartanII
    发表于 11-03 11:18

    FPGA中的逻辑运算是如何实现的?

    可编程逻辑功能块(Configurable Logic Blocks, CLB),顾名思义就是可编程的数字逻辑电路,可以实现各种逻辑功能。
    发表于 10-31 18:24 638次阅读
    <b class='flag-5'>FPGA</b>中的<b class='flag-5'>逻辑</b>运算是如何<b class='flag-5'>实现</b>的?

    CPLD与FPGA之间的区别在哪呢?

    CPLD和FPGA都是由逻辑阵列模块构成的,但是CPLD的LAB基于乘积和宏单元,而FPGA的LAB使用基于LUT逻辑单元。
    发表于 06-28 11:28 941次阅读
    CPLD与<b class='flag-5'>FPGA</b>之间的区别在哪呢?

    LUT是什么构成的?FPGA里的LUT有什么作用?

    首先开门见山的回答这个问题——LUT的作用是 **实现所有的逻辑函数** ,也就是类似于计算Y=A&B+C+D之类的算式结果!
    的头像 发表于 06-28 10:56 1859次阅读
    <b class='flag-5'>LUT</b>是什么构成的?<b class='flag-5'>FPGA</b>里的<b class='flag-5'>LUT</b>有什么作用?

    干货 | 拆解FPGA芯片,带你深入了解其原理

    ,可以实现任何适合可用的电路。FPGA专利显示通过互连连接的逻辑块(LE)CLB:可配置逻辑块虽然上图显示了九个可配置
    发表于 06-02 14:03

    FPGA工作原理与简介

    ,从而在相同的电路情况下实现了不同的逻辑功能。查找表(Look-Up-Table)简称为LUTLUT本质上就是一个RAM。目前FPGA中多
    发表于 05-30 20:53

    关于FPGA四输入、六输入基本逻辑单元LUT的一点理解

    我们知道FPGALUT、IO接口、时钟管理单元、存储器、DSP等构成,我觉得最能代表FPGA特点的就是LUT了。当然不同厂家、同一厂家不同阶段FP
    的头像 发表于 05-25 09:29 2601次阅读
    关于<b class='flag-5'>FPGA</b>四输入、六输入基本<b class='flag-5'>逻辑</b>单元<b class='flag-5'>LUT</b>的一点理解

    FPGA设计原则总结

    这里的面积指一个设计消耗 FPGA/CPLD 的逻辑资源的数量,对于 FPGA 可以用消耗的 FF(触发器)和 LUT(查找表)来衡量,更一般的衡量方式可以用设计所占的等价
    的头像 发表于 05-04 17:52 407次阅读
    <b class='flag-5'>FPGA</b>设计原则总结