FPGA是如何利用LUT实现组合逻辑功能的

大家好,我是小小的电子之路,这是我的第44篇原创文章,很高兴与大家一起分享~

原文出自微信公众号【小小的电子之路】

FPGA的全称为Field Programmable Gate Array,即现场可编程门阵列,属于可编程逻辑器件,其中,基本可编程逻辑单元是可编程逻辑的主体,可以根据设计灵活地改变其内部连接与配置,完成不同的逻辑功能。FPGA的基本可编程逻辑单元一般都采用了基于SRAM的查找表结构,查找表(LUT,Look Up Table)一般为四输入,用于完成组合逻辑功能。

下图是四输入查找表的基本结构,核心元件为二选一多路选择器,四个输入通过控制二选一多路选择器的状态实现所需结果的输出。

接下来通过一个简单的运算来演示一下FPGA是如何利用LUT实现组合逻辑功能的。假设需要实现的组合逻辑功能为A&B&C&D,该逻辑功能的实现可分为三步,分别是求解真值表、数据下载、数据输出

1、求解真值表

在代码编译的过程中,FPGA会根据所需实现的逻辑功能求解出对应的真值表。

2、数据下载

在代码下载的过程中,真值表中的数据会下载至LUT对应的SRAM中。

3、数据输出

在代码运行的过程中,四个输入通过控制二选一多路选择器的选通状态来输出不同的数据。

在本例中,当且仅当四个输入A、B、C、D均为1时,LUT才会输出bit0中的数据,即输出1,在其它输入组合下,LUT会输出其它位的数据,但都为0,实现了A&B&C&D的组合逻辑功能。

声明:本内容为作者独立观点,不代表电子星球立场。未经允许不得转载。授权事宜与稿件投诉,请联系:editor@netbroad.com
觉得内容不错的朋友,别忘了一键三连哦!
赞 1
收藏 2
关注 46
成为作者 赚取收益
全部留言
0/200
成为第一个和作者交流的人吧