首先开门见山的回答这个问题——LUT的作用是 实现所有的逻辑函数 ,也就是类似于计算Y=A&B+C+D之类的算式结果!
LUT是什么构成的?
xilinx的LUT是4输入1输出的 RAM ,也就是4根地址线的,一根数据线的RAM,并且I1是高地址位,I4是低地址位,样子参考下图。I1到I4就是地址线,O是输出数据线。
RAM怎么实现逻辑运算?
假设要实现运算Y=A&B+C+D。假设I1代表A,I2代表B,I3代表C,I4代表D,O代表Y。此时将下表存入LUT中。从下表可以看出,LUT存储的就是函数Y=A&B+C+D的真值表。 **4个输入信号的地址对应的位置上存储的就是4个地址进行逻辑运算后的真值!** 这样任何4输入的所有逻辑运算都可以通过存取真值表的方法实现。一旦输入地址中的任何一个数,立马就会输出存储位置上对应的结果。
地址(I[4:0]) | 存储值(I1&I2+I3+I4的运算结果) |
---|---|
0000 | 0 |
0001 | 1 |
0010 | 1 |
0011 | 1 |
0100 | 0 |
0101 | 1 |
0110 | 1 |
0111 | 1 |
1000 | 0 |
1001 | 1 |
1010 | 1 |
1011 | 1 |
1100 | 1 |
1101 | 1 |
1110 | 1 |
1111 | 1 |
verilog怎么实现上面的函数呢?
reg Y;
reg [3:0] I ;
always@(*)begin Y=(I[0] & I1) | I2 | I3;end
请注意( )里面是 ,代表不需要时钟,实现的是组合逻辑。如果最后一行变成如下:
always@(posedge clk)begin Y=(I[0] & I1) | I2 | I3;end
则生成的不是一个LUT是一个LUT加一个触发器FF。
-
RAM
+关注
关注
8文章
1332浏览量
113934 -
Xilinx
+关注
关注
70文章
2130浏览量
119760 -
数据线
+关注
关注
8文章
267浏览量
37215 -
LUT
+关注
关注
0文章
49浏览量
12432
发布评论请先 登录
相关推荐
初识FPGA CLB之LUT实现逻辑函数
FPGA基础知识0(查找表LUT和编程方式)
LUT实现的逆变器真的是FPGA上的逆变器吗?
LUT和Kintex 7 FPGA芯片中的FF所需的资源
PAR网表切片实例化两次有不同的LUT功能初始值
Spartan 6 FPGA LUT中是否有pmos和nmos transisors?
LUT名字的数字含义是什么?
如何读出LUT中RAM的上电值?
在FPGA设计中如何用LUT组建分布式的RAM
FPGA中实现LUT设计的简介
关于FPGA四输入、六输入基本逻辑单元LUT的一点理解
![关于<b class='flag-5'>FPGA</b>四输入、六输入基本逻辑单元<b class='flag-5'>LUT</b>的一点理解](https://file1.elecfans.com/web2/M00/88/A8/wKgZomRuukKAIh0yAAAzQHkAWyM296.png)
评论