FPGA万花筒系列(一):FPGA及其发展历程

姓名:张俸玺  学号:20012100022  学院:竹园三号书院

转自https://blog.csdn.net/weixin_43550752/article/details/113496852

【嵌牛导读】FPGA,可编程门阵列,作为一种较为新型的技术,为大多数人所陌生。本文主要介绍了FPGA是什么以及FPGA的发展历程,有助于初学者对于FPGA这一技术的入门。

【嵌牛鼻子】FPGA 可编程门阵列 Xilinx  CPLD

【嵌牛提问】什么是FPGA?它的发展历程是怎样的?

【嵌牛正文】

FPGA(Field Programmable Gate Array,简称FPGA),译文:现场可编程门阵列,一种主要以数字电路为主的集成芯片,于1985年由Xilinx创始人之一Ross Freeman发明,属于可编程逻辑器件PLD(Programmable Logic Device)的一种。真正意义上的第一颗FPGA芯片XC2064为Xilinx所发明,这个时间差不多比著名的摩尔定律晚20年左右,但是FPGA一经发明,后续的发展速度之快,超出大多数人的想象。

FPGA

FPGA发展历程

在可编程逻辑器 件PLD 未发明之前,工程师们使用包含若干个逻辑门的离散逻辑芯片进行电路系统的搭建,复杂的逻辑功能实现起来较为困难。

为了解决这一问题,20世纪70年代,可编程逻辑阵列PLA(Programmable Logic Array)问世,PLA中包含了一些固定数量的与门、非门,分别组成了“与平面”和“或平面”,即“与连接矩阵”和“或连接矩阵”,以及仅可编程一次的连接矩阵(因为编程基于的是熔丝工艺),因此可以实现一些相对复杂的与、或多项表达式的逻辑功能。

与PLA同时问世的还有可编程只读存储器PROM(Programmable Read-Only Memory),PROM内部结构如图 2‑3所示。与PLA相同,PROM内部包含“与连接矩阵”和“或连接矩阵”,但是与门的连接矩阵是硬件固定的,只有或门的连接矩阵可编程。

PLA内部结构

PROM内部结构

若只有与门的连接矩阵可编程,而或门的连接矩阵是硬件固定的,那么这种芯片叫做可编程阵列逻辑器件PAL(Programmable Array Logic),根据输出电路工作模式的不同,PAL可分为几类,有三态输出、寄存器输出、互补输出,但PAL仍使用熔丝工艺,只可编程一次。

PAL结构图


在PAL的基础上,又发展出了通用阵列逻辑器件GAL( Generic Array Logic),相比于PAL有两点改进:一是采用了电可擦除的CMOS工艺,可多次编译,增强了器件的可重配置性和灵活性;二是采用了可编程的输出逻辑宏单元 OLMC(Output Logic Macro Cell),通过编程OLMC可将GAL 的输出设置成为不同状态,仅用一个型号的GAL就可以实现所有PAL器件输出电路的工作模式,增强了器件的通用性。

GAL结构图

早期的可编程逻辑器件主要由上述四种类型的芯片组成,即PROM、PLA、PAL和GAL。它们的共同特点是可以实现速度特性较好的逻辑功能,但由于其结构过于简单所以只能实现规模较小的数字电路。

随着科技的发展、社会的进步,人们对芯片的集成度要求越来越高。早期的PLD产品不能满足人们的需求,复杂可编程逻辑器件CPLD(Complex Programmable Logic Device)诞生。CPLD可以看成是PLA器件结构的延续,一个CPLD器件也可以看作若干个PLA和一个可编程连续矩阵的集合。

CPLD结构图

FPGA比CPLD早几年问世,和CPLD并称为高密度可编程逻辑器件,但它们有着本质的区别。FPGA芯片的内部架构并没有沿用类似PLA的结构,而是采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,改变以往PLD器件大量使用与门、非门的思想,大量使用查找表和寄存器。

除此之外,在资源类型、速度等方面FPGA和CPLD也存在差异。

FPGA与CPLD性能比较

FPGA的类型从内部实现机理来讲,可以分为几类,分别是:基于SRAM 技术、基于反熔丝技术、基于 EEPROM/FLASH技术。就电路结构来讲,FPGA 可编程是指三个方面的可编程:可编程逻辑块、可编程 I/O、可编程布线资源。可编程逻辑块是 FPGA 可编程的核心,我们上面提到的三种技术也是针对可编程逻辑块的技术。

FPGA结构图

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容