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

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

3天内不再提示

LUT如何构成逻辑函数

电子工程师 来源:未知 作者:李倩 2018-10-26 14:31 次阅读

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

一.概述

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。

其可以实现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接到一起,输出信号经过选择器选择输出,选择器的选择信号也是逻辑函数的一个输入信号。

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

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

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

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

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

    关注

    1600

    文章

    21285

    浏览量

    592883
  • 逻辑函数
    +关注

    关注

    0

    文章

    21

    浏览量

    9453

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

文章出处:【微信号:LF-FPGA,微信公众号:小鱼FPGA】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

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

    LUT中文名字叫查找表。以7系列的FPGA为例,每一个Slice里面有四个LUT。FPGA就是通过LUT实现大量的组合逻辑,以及SLICEM里面的L
    的头像 发表于 03-13 10:28 2123次阅读

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

    嗨,我目前正在对设计进行初步分析。我正在研究关于实现不同功能所需资源的不同FPGA。我找不到一种方法来将设计使用的LUT数量相关联,并将其转换为virtex和spartan范围的逻辑单元格。如果可能
    发表于 01-08 10:18

    请问如何将Memory LUT用作逻辑LUT

    ,我看到LUT的利用率仅为14%,因为内存和逻辑LUT利用率超过100%。那么有没有一种方法可以将Memory LUT用作逻辑
    发表于 08-05 12:48

    请问一下FPGA的LUT到底是如何实现逻辑功能的?

    我理解的比较简单。将代码烧写进FPGA,芯片内部的各个逻辑门通过逻辑连线实现逻辑功能,这些逻辑门的输入是通过查找表获得的。比如我用到两个与门和一个或门,对于4输入的
    发表于 04-23 14:12

    逻辑代数与逻辑函数

    逻辑代数与逻辑函数:本章主要讨论分析和设计数字逻辑功能的数学。首先介绍逻辑代数中的基本运算、基本公式, 常用定理和重要规则; 然后讲述
    发表于 09-01 09:11 0次下载

    逻辑代数和函数化简

    逻辑代数和函数化简 2.1 基本逻辑运算和复合逻辑运算2.2 逻辑函数及其描述2.3
    发表于 05-26 16:54 52次下载

    逻辑函数逻辑问题的描述

    逻辑函数逻辑问题的描述   在讨论了与、或、非三种基本逻辑运算后,下面将从工程实际出发,提出逻辑命题,然后用真值表加以描述,从真值表可以
    发表于 04-06 23:56 1266次阅读
    <b class='flag-5'>逻辑</b><b class='flag-5'>函数</b>与<b class='flag-5'>逻辑</b>问题的描述

    降维卡诺图在逻辑函数设计中的应用

    给出了由逻辑函数表达式直接做降维卡诺图、用降维卡诺图化简逻辑函数的具体步骤和方法,并分析了在设计组合逻辑电路中,用降维卡诺图的方法去构造相对
    发表于 04-18 15:27 44次下载
    降维卡诺图在<b class='flag-5'>逻辑</b><b class='flag-5'>函数</b>设计中的应用

    FPGA中实现LUT设计的简介

    在FPGA中,实现逻辑的基本单元是查找表(LUT)而非基本门电路。目前的FPGA中,单一LE或者Cell通常能实现至少4输入查找表的逻辑功能。
    发表于 12-29 17:27 14次下载

    FPGA架构的学习教程之深入理解LUT

    LUT的一个重要功能是逻辑函数发生器。本质上,逻辑函数发生器存储的是真值表(Truth Table)的内容,而真值表则是通过布尔表达式获得。
    发表于 12-29 17:27 14次下载
    FPGA架构的学习教程之深入理解<b class='flag-5'>LUT</b>

    物理可级联的LUT的优势在哪?

    LUT用作进位逻辑时使用,且在CLB外部不可见。用做6个输入的逻辑函数发生器时,输出在O6端口;双LUT5模式时,输出在O5_1和O5_2
    的头像 发表于 03-27 09:52 2800次阅读
    物理可级联的<b class='flag-5'>LUT</b>的优势在哪?

    逻辑函数的表示方法与基本公式

      表示逻辑函数的方法有真值表、逻辑函数表达式、逻辑图和卡诺图。
    的头像 发表于 08-12 17:33 3w次阅读
    <b class='flag-5'>逻辑</b><b class='flag-5'>函数</b>的表示方法与基本公式

    剖析LUT的作用及构成

    xilinx的LUT是**4输入1输出的** **RAM** ,也就是4根地址线的,一根数据线的RAM,并且I1是高地址位,I4是低地址位,样子参考下图。I1到I4就是地址线,O是输出数据线。
    的头像 发表于 04-30 11:40 1112次阅读
    剖析<b class='flag-5'>LUT</b>的作用及<b class='flag-5'>构成</b>

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

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

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

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