FPGA是Field Programmable Gate Array的缩写,即现场可编程门阵列。FPGA是20世纪80年代中期出现的一种新型的可编程逻辑器件,其结构不同于基于与或阵列的器件。其最大的特点是可实现现场编程。所谓现场编程是指对于已经焊接在PCB上或正在工作的芯片实现逻辑重构,当然也可在工作一段时间后修改逻辑。除FPGA外,基于GAL系列的ispLSI等在线可编程集成电路都也具有这种功能。
FPGA是Ross Freema于1985年发明的,当时第一个FPGA采用2μm工艺,包含64个逻辑模块和85000个晶体管,门数量不超过1000个,当时他所创造的 FPGA被认为是一项不切实际的技术,他的同事Bill Carter曾说:“这种理念需要很多晶体管,但那时晶体管是非常珍贵的东西。”所以人们认为Ross的想法过于脱离现实。但是Ross预计:根据摩尔定律(每18个月晶体管密度翻一翻),晶体管肯定会越来越便宜,因此它必将成为未来不可或缺的技术。在短短的几年时间内,正如Ross所预言的,出现了数十亿美元的现场可编程门阵列(FPGA)市场。但可惜的是,他已经无法享受这一派欣欣向荣的景象,Ross Freeman在1989年已经与世长辞了,但是它的发明却持续不断地促进电子行业的进步与发展。
我们知道构成数字逻辑系统最基本的单元是与门、或门、非门等,而门电路是由用二极管、三极管和电阻等元件构成的,然后与门、或门、非门又构成了各种触发器实现状态记忆。FPGA同样也属于数字逻辑电路的一种,也是由最基本的元件构成的。一片FPGA可以在内部集成上亿个门电路,打破了以往使用数量繁多分立器件实现电子装置的历史,不仅电路面积、成本大大减小,而且可靠性得到了大幅度的提升。
一般来说,FPGA内部是由最小的物理逻辑单位LE、布线网络、输入输出模块与片内外设组成的,而最小物理逻辑单元是指用户无法修改的、固定的最小单元,设计者只能将这些单元通过互联线将其连接起来,然后实现特定的功能。一个LE是由触发器、LUT与控制逻辑组成的,从而同样可以实现组合逻辑和时序逻辑。
随着FPGA集成度的不断增加,其内部的片内外设也越来越多,可集成SRAM、Flash、AD、RTC等外设,真正用单芯片方案完成系统设计,所以我们所理解的FPGA最底层是一些实实在在的门电路构成的,然后由门电路构成最小的物理逻辑单元,然后再通过布线层将这些最小物理逻辑单元连接成用户需要的特定功能,我们所需要控制的仅仅是布线层之间的互连开关,这也是我们编程的对象,通过这些开关来改变功能。
FGPA按工艺分主要有SRAM工艺和Flash工艺(工艺是针对它们的编程开关来说的)两类,基于SRAM工艺的FPGA最大的缺点是掉电数据会丢失无法保存,所以由FPGA构成的系统,外部还需要增加一个配置芯片用于保存编程数据,在系统每次上电时都需要从配置芯片中将配置数据流加载到FPGA中,然后才能正常地运行,其优点是灵活性很强。而基于Flash架构的FPGA在掉电后不会丢失数据,无需配置芯片,上电即可运行,其特点非常类似ASIC,但却比ASIC更加灵活可以重复编程。由此可见如果用基于Flash架构的FPGA来取代ASIC的话,不仅风险大大降低,而且成本也会大幅度地下降。
FPGA结构
FPGA/CPLD的规模比较大,它可以替代几十甚至几千块通用IC芯片。相当一个子系统部件 。
FPGA/CPLD结构由三大部分组成的。1.一个二维的逻辑块阵列,构成了PLD器件的逻辑组成核心。2.输入/输出块。3.连接逻辑块的可编程内部连线资源。连线资源:由各种长度的连线线段组成,其中有一些可编程的连接开关,它们用于逻辑块之间、逻辑块与输入/输出块之间的连接。
对用户而言,CPLD与FPGA的内部结构稍有不同,但用法一样,所以多数情况下,不加以区分。
用户可以反复编程、擦除、使用或者在外围电路不动的情况下用不同的开发软件在FPGA上实现不同的逻辑功能。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)