从结构上浅谈FPGA实现逻辑的原理
创始人
2024-01-29 23:41:05
0

         FPGA是啥?你要是在百度上一查,多数会搜到什么 Field Programmable Gate Array,现场可编程门整列嘛,但是这句话对咱们新手理解FPGA起到的作用十分有限,其实不单是新手朋友,就连我这个玩了几个月的FPGAer也不求甚解,我脑海里隐隐约约的印象就是:

FPGA是一堆数字积木,你可以用他来搭建任何需要的数字电路。

        这个概念伴随了我很久,直到我看了一本关于FPGA结构的书,虽然是走马观花地浏览了一遍,但还是给了我一些启发,今天特写一篇博客记录一下我的一些感悟。

        先来总结一下FPGA的基本组成:

基本组成要素

  • 可编程逻辑要素 :实现逻辑电路需求的电路,有乘积项、查找表和数据选择器等
  • 可编程输入/输出要素:连接IO引脚和内部布线要素的模块,通常包含上拉、下拉、输入/输出方向和极性、转换速率、开漏等功能的控制电路,以及触发器等数据存储电路。
  • 可编程布线要素:连接前两种要素

         上图给出了一个岛型结构的FPGA,可以看出FPGA的组成有实现任意逻辑的软逻辑块(soft logic、不同厂家对此称呼不同,例如Xilinx称为CLB,Confugurable Logic Block;Altera公司将其称为LAB,Logic Array Block)、位于芯片四周的输入/输出要素(IOB)、布线要素(开关块SB、连接块CB、布线通道),同时我们看到FPGA内部还有乘法器块和存储器块等硬逻辑,最基本的FPGA结构就包含上述的要素。

软逻辑的核心:LUT查找表

        FPGA属于PLD,即可编程逻辑器件的一种。 

        我们学过数字电路可以知道,数字组合逻辑实现的方式有许多种,你可以化简,或者不化简,但是条条大路通罗马,不同结构的电路也能实现相同的逻辑功能,因此在这个背景下,PLD的实现方式可谓是五花八门,比如基于乘积项的实现,基于查找表的实现,基于数据选择器的实现等等,如今我们使用的FPGA主要是用一种结构来进行任意逻辑的实现,那就是查找表。 

        入门的大家伙不知是否被各种教材以及综合后的电路图忽悠地认为FPGA是真的实现了Verilog描述的由与或非逻辑以及D触发器等原件组成电路图呢?、

        从FPGA的实际结构上看,这样的观点是不正确的。

         FPGA的核心,可编程逻辑的实现其实是由上面这个小小的的单元:查找表来实现的,根本就没有什么与或非的门级电路,就更不要说有人还想在FPGA上写写晶体管级的代码了。

        查找表是基于SRAM实现的,其实说白了就是一块RAM内存,把输入当成地址,输出当成存储在里面的数据,对应一个输入(地址),就送一个输出(数据),以此实现任意逻辑的功能,毕竟,一个三输入的逻辑电路只有最多八个结果,一个四输入的逻辑电路最多只有十六个结果。

        更通俗易懂的解释就是,好比一场考试,专用集成电路ASIC会认认真真把题目(对应输入)地从头到尾解出来(通过与或非逻辑门),而FPGA则更像打好了一份小抄(LUT中存储的数据),对着题目(对应输入)去找答案。 

        所以其实各个FPGA的开发工具在实现时所做的工作就是根据Verilog描述的逻辑,把结果都预先算出来,下载比特流的时候就把答案烧录进FPGA的LUT当中。

        如果要实现时序逻辑的话,就在后一级套一个D触发器,如上图所示,最后用选择器选择输出时序逻辑还是组合逻辑。

给我们的启发

        了解了LUT的原理以后,我们能得到什么启发呢?考试前要打好小抄?NONONO!

        第一个启发是解释了为什么FPGA掉电之后逻辑会消失,因为LUT是基于SRAM,RAM的特性就是掉电易失。

        第二个启发是关于LUTRAM和LUT之间的换算关系。有时候我们需要在片内存储数据,一般我们有专用的硬存储器模块,BRAM或者URAM存储,但是如果数据量较小,或者数据太大以至于硬存储模块都使用完了,这时候我们就需要使用LUTRAM来进行数据存储了。

        之前我们提到过,3输入的LUT可以存储八个Bit,4输入的LUT可以存储16个Bit,这样我们可以得到一个朴素的换算关系:

N输入查找表能存储2^{^{N}}Bit数据

结语

        上述的看法是我个人的一些朴素的观点,现代FPGA结构日新月异,其中设计的奥妙不是通过我这三言两语能够讲清楚的,但上面的朴素理解对于我们FPGA工程师来说至关重要,就好比计算机组成对于优秀程序员的作用一样,我们不是专业制造FPGA,但我们一点要在心里对FPGA有一个核心的认识,这就是所谓学习的哲学。

相关内容

热门资讯

上海小本自主创业持久项目 上海... 虽然今年的疫情人很多人受到了影响,有人看到了市场经济受影响,有人看到了商机。创业大军每年都有很多,虽...
马云说私人定制是最长久的 而它... 手机微信制作平台照片书照片书就是把您手机里的照片,比如,宝宝的照片,爱人的、家人的、朋友的照片,婚纱...
强烈推荐:2019年适合白手起... 世界上大多数胜利的事例,都是从小做起的,创业也不是一开端就有大资本做后台,小本创业是迈向创业疆场的第...
适合小本创业的项目 穷人告别打... 人不能以挣钱为目的,但是又有谁不是在为挣钱而做着不同的努力呢。上班族整天辛苦的加班,但是工资报酬并不...
五种适合小本创业的项目 五种适... 说起创业,我们应该从小本生意做起,我们看看有哪些最新适合小本创业的项目,让我们一起来看一看,希望每个...
适合小本创业的五个好项目 最适... 二胎政策开放很久了,儿童行业是具有潜力的市场,现在的家长都很疼爱自己的孩子,很注重孩子的早期教育培训...
小本投资创业项目有哪些 *新小... 餐饮粥火锅加盟重庆串串中式快餐品牌小型餐饮加盟小吃加盟铁锅焖面加盟中式快餐店十大咖啡品牌品牌快餐老火...
小本创业投资项目2011年 小... 刚开始投资的时候可以试试小本投资,投资金额的大小决定了很多创业项目风险性,投资潜力,今天先为大家分享...
2011年在河北省小本创业投资... 从目前的创业项目看来,女性创业的项目:服装,小吃餐饮,化妆品等,偏门项目。1、想开服装店,如果是初次...
99年版100元值多少钱 99... 杨静国际项目融资经理,既有项目法人融资“往年高交会的主题‘坚持新开展理念、推进高质量开展’,以及以后...