[X]关闭
1

米联客(MSXBO)通过LUT查找表实现加法器功能

摘要: 1.1概述由于FPGA需要被反复烧写,它实现组合逻辑的基本结构不可能像ASIC那样通过固定的与非门来完成,而只能采用一种易于反复配置的结构。查找表可以很好地满足这一要求,目前主流FPGA都采用了基于SRAM工艺的查找表 ...

1.1概述

由于FPGA需要被反复烧写,它实现组合逻辑的基本结构不可能像ASIC那样通过固定的与非门来完成,而只能采用一种易于反复配置的结构。查找表可以很好地满足这一要求,目前主流FPGA都采用了基于SRAM工艺的查找表结构。LUT本质上就是一个RAM。它把数据事先写入RAM后, 每当输入一个信号就等于输入一个地址进行查表,找出地址对应的内容,然后输出。

7系列FPGA中的函数发生器实现为六输入查找表(LUT)。slice的4个函数发生器(A,B,C和D)中的每一个都有六个独立输入(A输入A1至A6)和两个独立输出(O5和O6)。

         这篇短文中,我们通过一个简单的加法器来了解下LUT如果实现加法器功能。

1.2加法器代码

module ADDER(

input  [0:0]A,

input  [0:0]B,

output [1:0]Q

);

 

assign Q = A + B;

 

endmodule

 

1.3 加法器原理图

从VIVADO 左侧的 RTL ANALYSIS选择打开原理图

加法器原理图如下图所示

 

1.4综合代码后查看原理图

综合后的原理图可以看到IBUF以及LUT和OBUF

单击红框的LUT2单元,然后在左手边查看LUT2的属性

同理单击红框的LUT2单元,然后在左手边查看LUT2的属性

 

可以看到以上图中的初始值,就是LUT查找表的值,通过查表我们可以看到加法器的可以执行的结果。

A

B

ADDR

Q_OBUF[0]_inst_i_1

ADDR

Q_OBUF[1]_inst_i_1

Q[1:0]

0

0

0

0

0

0

2’b00

1

0

1

1

2

0

2’b01

0

1

2

1

1

0

2’b01

1

1

3

0

3

1

2’b10

通过以上的简单分析,相信大家可以掌握LUT实现逻辑单元功能的本质了。


路过

雷人

握手

鲜花

鸡蛋
发表评论

最新评论

引用 遵义祝姓军哥哥 2019-10-28 17:40
很好,很底层

查看全部评论(1)

本文作者
2019-10-7 21:04
  • 7
    粉丝
  • 4384
    阅读
  • 1
    回复

关注米联客

扫描关注,了解最新资讯

联系人:汤经理
电话:0519-80699907
EMAIL:270682667@qq.com
地址:常州溧阳市天目云谷3号楼北楼201B
相关分类
热门评论
排行榜