原创 FPGA实践笔记(四)— FPGA组合逻辑部件LUT的基本原理

2012-12-18 15:30 6815 7 11 分类: FPGA/CPLD 文集: FPGA实践笔记

    数字逻辑电路一般都是时序部件(触发器)+组合逻辑(与门,或门,异或门等)来完成一系列的功能。既然完成一个特定的功能可以通过组合逻辑来实现,为什么要引入时序逻辑呢?

    这是因为时序逻辑是基于时钟沿(上升沿或者下降沿)触发,只有在时钟边沿数据才会被锁存,具有良好的去毛刺,抑制干扰作用,保证了数字电路功能的正确性和稳定性。(这方面原理将会在下一篇博文中说明)。既然构成数字逻辑最重要的部件是组合逻辑和时序逻辑,那么作为实现数字逻辑功能的FPGA的最重要组成部分就是组合逻辑和时序逻辑了。

    FPGA一般都是基于查找表(Look Up Table)结构,查找表基本上等同于SRAM。假设在FPGA中要实现一个2输入的与门,那么该与门的输入输出对应关系为:

 

输入

输出

0, 0

0

0, 1

0

1, 0

0

1, 1

1

    既然有了此对应逻辑关系,那么在SRAM对应的地址中只需存储相应的输出数值,而输入数值作为地址来查表即可得到正确的输出值即可。当输入地址为0,0时,输出0地址里存储的值0,当输入地址为0,1时,输出1地址里存储的值0,当输入地址为1,0时,输出2地址里存储的值0,当输入地址为1,1时,输出3地址里存储的值1,因此为什么说FPGA是可编程的,主要是表现在逻辑功能可以根据需要被重新编写在SRAM里,实现不同的逻辑功能。这就是FPGA里实现组合逻辑功能里LUT的基本原理。下一篇博文将详细讲述CLB逻辑的基本原理和构成。 

PARTNER CONTENT

文章评论4条评论)

登录后参与讨论

用户1790620 2016-3-14 06:44

写得很好

用户388227 2015-3-2 15:28

很好

用户43929 2014-9-23 10:56

现象七:这些信号怎么都有过冲啊?只要匹配得好,就可消除了 ---什么是过冲啊?

用户1617943 2014-7-1 16:30

网上书上都说LUT本质是SRAM,呵呵,真的吗?很明显,SRAM读写是需要时钟的,LUT用于构成组合逻辑,明显没有时钟啊!

用户1605978 2013-5-31 16:31

学习

用户603461 2012-12-18 20:55

博主写得通俗易懂,对我们这种刚入门的来说非常有帮助,希望多更新!
相关推荐阅读
用户1501359 2015-06-15 00:19
小弟编写的FPGA设计经验总结感悟书籍:FPGA深度解析 准备上架销售,北航出版社出版
全书目录如下,从第九章开始为笔者对FPGA常用模块设计思想的深度阐述和解析,为作者从事逻辑设计之经验感悟与总结,希望大家多多指教 目录   第1章FPGA简介   1.1什么是...
用户1501359 2013-01-27 18:56
DSP硬件实现的优化(八)— saturation, rounding的原理和实现
    在数字信号处理系统中,大部分情况下数据都是用定点表示。但是由于DSP经常使用到乘法器,那么两个定点数相乘后的数的位宽将是两个操作数位宽之和。比如说A*B,A的位宽是(1,7,4),B的位宽是(...
用户1501359 2013-01-24 21:26
DSP硬件实现的优化(七)—硬件实现中的定点表示
    用硬件实现DSP基本上是基于定点的算法。什么叫做定 点呢?定点的意思就是小数点的位置是确定的,这是跟浮 点不同的地方。比如说,有一种常用的表示定点的方法, 比如说一个数的定点方...
用户1501359 2013-01-21 22:27
DSP硬件实现的优化(六)—多个M比特有符号数做累加运算时符号位的优化处理方法
    在通信系统中,经常会遇到多个数进行累加的情况。一般情况下,在更好的掌控时序的目标下,我们会选择用基于CSA结构的Wallace tree进行加法树压缩。基本上,参加运算的数都是有符号数,在这种...
用户1501359 2013-01-19 22:54
DSP硬件实现的优化(五)—输入数据带缺口时反馈环路的优化
    在通信数字信号处理中,经常会遇到带有反馈环路的设计。例如数字时钟恢复或者自适应均衡滤波器。该类设计的基础都是对输入数据进行滤波或者均衡,调相,而进行上述计算所用到的系数来自于该滤波器或者均...
用户1501359 2013-01-14 20:30
FPGA实践笔记(七)—verilog组合逻辑描述用assign或者always@(*)的区别和值得注意之处
    verilog描述组合逻辑一般常用的有两种:assign赋值语句和always@(*)语句。两者之间的差别有:     1. 被assign赋值的信号定义为wire型,被always@...
我要评论
4
7
关闭 站长推荐上一条 /3 下一条