ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

FPGA的一些知识

2022-03-21 10:06:41  阅读:217  来源: 互联网

标签:逻辑 LUT 变量 FPGA 组合 知识 逻辑电路 一些 输入


查找表(LUT)
对于一个有n输入的逻辑运算,则最终有2n个不同的组合方式。为了便于理解,下面给出一个例子:

上面是一个2输入的例子,该例子对应的组合逻辑电路如下:


该组合逻辑的真值表:


如果使用传统的数字电路的方法,则要实现该组合逻辑电路,需要经过下面几个过程:

通过真值表得到输入和输出之间的逻辑关系;
通过化简卡诺图得到描述输入输出变量关系的逻辑表达式;
通过逻辑电路实现逻辑表达式。
众所周知,在设计时序电路时,时序电路的工作性能极为重要。然而,采用传统逻辑门电路实现逻辑关系的方法存在一些严重的缺点:

输入变量从通过逻辑电路到输出变量,存在一定的延迟,该延迟的大小和逻辑电路的复杂程度密切相关。逻辑电路越复杂,延迟越大,因此,延迟是不确定的;
延时的倒数是频率,频率和时序电路的工作速率密切相关。因为延迟不确定,所以频率也不确定,这将严重影响整个电路的工作性能;
逻辑电路的复杂程度和输入逻辑变量的个数、逻辑门的个数有关。因此输入逻辑变量越多,逻辑电路就越复杂。
LUT
为了解决传统逻辑电路的的问题,在FPGA中,使用LUT来实现组合逻辑电路的功能。

LUT 本质上是一个SRAM,里面存储的数据类似于真值表,它将上例中的逻辑与门和或门分别使用两张类似于真值表的东西代替,LUT中保存着输入变量和经过逻辑门后输出变量的所有结果。在实现上,它将输入数据作为SRAM的地址,然后通过该地址找到对应的值,将该值作为结果输出。比如上例中的与门,在该与门对应的LUT中,地址为0、0的存储单元中保存着0,地址为0、1的存储单元中保存着0,地址为1、0的存储单元中保存着0,地址为1、1的存储单元中保存着1;当输入变量为0、1时,就会直接将LUT中地址为0、1的存储单元中的0输出。

上例中查找表构成的电路:

其中x_OBUF_inst_i_1和y_OBUF_inst_i_1分别为与门和或门对应的LUT,I0和I1表示输入变量,O表示输出的值,IBUF表示输入缓冲区,OBUF表示输出缓冲区。

使用LUT代替传统的逻辑门实现组合逻辑的优点:

通过LUT代替组合逻辑,而LUT中的值只和输入有关,因此组合逻辑的功能由输入决定,不在和复杂度有关;
LUT实现的组合逻辑的延迟是固定的。
————————————————
版权声明:本文为CSDN博主「dongtao Lv」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_34769608/article/details/109660310

标签:逻辑,LUT,变量,FPGA,组合,知识,逻辑电路,一些,输入
来源: https://www.cnblogs.com/xjtuckxx/p/16033381.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有