1. FPGA发展历史
FPGA是从晶体管、集成电路、PLD等的过程发展而来的,是未了满足日益增长的技术需要而新出的一种技术,现在运用范围越来越广。
图 1.1技术发展时间路线图
在图 1.1中,时间条的白色部分表明,尽管这些技术在早期已经出现了,但是出于种种原因,还不能够被这一时期的主流工程师们接受。比如1984年就出现了第一个FPGA,但设计工程师们并没有真正开始使用这些小玩意,而是将其仍在一旁,直到20世纪90年代早期才开始使用。下面我将逐个介绍与FPGA形成有密切联系的技术。
1.1 晶体管
1947年12月23日,在美国贝尔实验室工作的物理学家William Shockley、Walter Brattain和John Bardeen成功地创造出了一个晶体管:一个锗(化学符号Ge)制造的点接触器件。
1950年出现了更加复杂的,称为双极型晶体管的器件,它的制造更为容易,造价便宜,具有更高的可靠性。到20实际50年代末期,由于硅更为廉价而且容易处理,晶体管的制造已经更多的使用硅而不是锗。我们把双极型晶体管以特定方式相连形成的数字逻辑门称为TTL逻辑门。TTL构成逻辑门速度快而且具有很强的驱动能力。
1962年,Steven Hofstein和Fredric Heiman在新泽西普林斯顿的RCA研究实验室发明了一系列新的器件称为金属氧化物半导体,通常称为FET。FET有两种主要的类型,叫做NMOS和PMOS。由NMOS和PMOS晶体管以互补方式构成的逻辑门就是我们熟知的CMOS管。用CMOS实现的逻辑门比TTL实现的速度要慢一些,然而,CMOS逻辑门具有静态功耗消耗非常低的优势。
1.2 通用集成电路
第一个晶体管是作为分立元件提供的,独立封装在一个小金属外壳中,后来人们开始觉得把整个电路制造在一片半导体上是个好主意。这个想法要归功于英国雷达专家G.W.A.Dummer在1952年发表的一篇论文。直到1958年,德州仪器公司(TI)的Jack Kilby成功地把包括5个元件的移相振荡器制作在同一片半导体上,大约在相同时期,Fairchild半导体公司发明了衬底光学印刷技术,现在这种技术广泛用于制造现代IC中的晶体管、绝缘层和互连线。
在20世纪60年代中期,TI公司设计制造了大量的基本设计组件IC称为54xx和74xx系列。例如,7400器件包括4个二输入NAND门,7402包括4个二输入NOR门,等等。
1.3 SPLD和CPLD
第一种可编程IC一般被称为可编程逻辑器件(PLD)最初于1970年以PROM的形式进入人们视野,当时还相当的简单。可是仅仅到20世纪70年代的末期,复杂高级得多的产品就已经实用化了。为了把他们与并不复杂精密的前辈相区别,这些新器件被命名为复杂可编程逻辑器件(CPLD),并沿用至今。毫不奇怪,它的前辈通常被称为简单可编程逻辑器件(SPLD)。
图1.2 PLD的分类
图 1.2是按资源的密度对逻辑器件进行了分类,可以看出复杂的可编程器件包括CPLD和FPGA,而简单可编程逻辑器件SPLD包括PROM、PLA、PAL、GAL等,下面我们将一一介绍。
1.3.1 PROM
第一个简单可编程逻辑器件是PROM,出现于1970年。对于这些器件是如何完成他们的魔术,一种直观的办法就是把它看作由AND阵列驱动可编程的OR阵列。图 1.3是一个2输入、2输出的PROM,从图中可以看出与阵列把A1、A0所有可能的相与组合全部列举出来并预定制,然后通过对或阵列编程实现我们想要的逻辑。PROM最初是作为计算机存储器来存储程序指令和常量数据。然而,设计师们也使用它们来实现简单的逻辑功能。
图 1.3 PROM的结构图
PROM的缺点是PROM只用于组合逻辑,当输入变量增加时会引起存储容量的大幅度增加,多输入的组合函数不适合PROM实现。
1.3.2 PLA
由于PROM结构对地址的限制,可编程逻辑器件的下一步演化是可编程逻辑阵列(PLA)。PLA于1975年首次投入使用。PLA是简单可编程逻辑器件中用户可配置最好的器件,因为它的AND和OR阵列都是可配置的。如图 1.4,我们可以通过对与或阵列编程实现想要的功能。
PLA据称对于大型设计非常有用,因为它的逻辑有这样的特点:具有一组大量公共的乘积项,可用于多个输出。
不利的一面,与预定制的对应技术正相反,信号通过可编程连线要花费相对更长的时间。这样,AND和OR阵列都可编程就意味着PLA的速度要比PROM慢的多。
图 1.4 PLA内部结构
1.3.3 PAL和GAL
为了解决PLA的速度问题,一种叫做可编程阵列逻辑(PAL)的新器件于20世纪70年代末期出现。在概念上,PAL几乎与PROM正相反,因为它有一个可编程AND阵列和一个预定制的OR阵列。
PAL的优势在于它的阵列只有一个可编程,所以速度要快的多,但是PAL采用熔丝工艺一旦编程后就不能改写,而且PAL的输出是固定的,不能编程,芯片一旦选定,输出结构也就固定。
基于以上情况,GAL出现。GAL是在PAL的基础上发展起来的可编程器件,可电擦写、可重复编程等,与PAL最大区别是输出结构可以由用户自己定义。
1.3.4 CPLD
在电子领域一个不言而喻的现象就是,每个人都在向往更强大(就实现功能的能力而言)、更小(就物理尺寸而言)、更快、更有力和更廉价的器件。于是,在20世纪70年代末和20世纪80年代早期,更为复杂精密的PLD器件出现,我们称之为复杂可编程逻辑器件(CPLD)。
领导这个潮流的是早期PAL器件的发明者MMI,他们称开发的组件为MegaPAL,这是一个具有84个管脚的器件,基本上是由4个标准的PAL及把他们连接在一起的互连线构成。
质变发生在1984年,新成立的Altera公司发明了基于CMOS和EPROM技术组合的CPLD。使用CMOS技术使Altera公司在消耗功率较低的情况下,获得极高的密度和复杂度。这些器件基于EPROM单元的可编程能力使它们在开发和原型验证环境下使用非常理想。
尽管每个CPLD制造商都有他们自己的独特结构,一个普通的器件包括一定数量的SPLD(典型的如PAL)分享一个公共的可编程互连矩阵。
1.4 FPGA
大约在20世纪80年代早期数字IC环节中存在的缺陷已经很明显了。一端是可编程逻辑器件如SPLD和CPLD,具有高可配置性和较短的设计和调试时间,但是不能支持大的、复杂的功能,另一端是ASIC(专用集成电路),这些器件可以支持极为大规模和复杂的功能,但是他们的设计很耗时、代价巨大。为了弥补这一缺陷,FPGA于1984年诞生了。
1984年在硅谷工作的2个聪明的工程师和1个营销主管作了一个梦。Bernie Vonderschmitt、Ross Freeman和Jim Barnett梦想创立一家不同于一般的公司。
Ross Freeman是 Xilinx创始人之一,发明了“现场可编程门阵列”( FPGA)这种新型可编程逻辑。 Bernie Vonderschmitt是Xilinx创始人之一,提出了“无工厂”半导体这一创新理论。 他们希望创建一家在新领域内开发和推出先进技术的公司。 并且,他们还希望以这种方式领导它:在这里工作的人们热爱他们的工作、享受工作的乐趣,并对他们所从事的工作着迷。这项推动Xilinx成立的技术在1984年的时候还被人们认为是古怪的理论。 新型半导体(现称为现场可编程门阵列)由Xilinx创始人之一Ross Freeman发明,是一种全新的可编程逻辑。 用户可以个性化这些芯片,从而通过利用软件对其进行编程来实现多种功能。 Xilinx公司1984年雇佣的第8名员工Bill Carter说:“这种理念需要很多晶体管,并且那时晶体管是非常珍贵的东西。” 人们认为Ross的想法过于脱离现实。
Ross预计:根据摩尔定律(每18个月晶体管密度就会加倍),晶体管会越来越便宜,因此它就越来越常见。 接下来的几年里,就出现了数十亿美元的现场可编程门阵列(FPGA)市场,为Xilinx今天的成功打下了基础。 悲哀的是,1989年Ross Freeman与世长辞。 他发明的技术一派欣欣向荣的景象,并继续在不断发展的行业的中鼓舞着用户。
FPGA内部资源从几万门到几百万门。无论是组合逻辑资源还是时序逻辑资源都相当的丰富,所以利用FPGA我们可以设计更为复杂的系统,逻辑资源较少的FPGA可以很容易的替换CPLD,并且功耗较低。现在市场上流行的FPGA按内部组成的架构可分为SRAM FPGA、Flash FPGA。两者不同的地方主要有:Flash架构的FPGA无须价格昂贵的配置芯片,功耗也很低,最低静态功耗可达微瓦级。SRAM架构速度比Flash架构的FPGA要快一些。
之前世界上的FPGA一直被美国所垄断,不过目前有一家国产FPGA也脱颖而出–京微雅格,其独特的SOC结构获得越来越多用户的青睐,并获得国家和政府的支持,正在逐步的取代国外品牌,建立自主品牌,加油中国,支持国产。
没有回复内容