登录站点

用户名

密码

那些年,我们拿下了FPGA(上)第1章-可编程器件的历史(1)

已有 122 次阅读  2012-09-12 11:36   标签编程  历史 

第1章 可编程器件的历史

       作为技术类书籍,第一章来叙述可编程逻辑器件的历史发展过程,对深刻理解FPGA的内部结构、构造的由来以及学习这门技术的兴趣培养会有很大帮助。任何一项技术或事物的出现,都是事情发展到一些关键点上产生的,对这些关键点进行描述就能很好的将该技术或事物的历史很好的串联起来。为了清晰的叙述可编程器件的历史,这里以第一个晶体管、PROM、SPLD与CPLD、简式FPGA、SOPC式FPGA为关键点,来进行点到点式的连线,绘制可编程器件的历史。

1.1从第一个晶体管到PROM的出现

1947年12月23日,在创造出科学史上无数个里程碑的美国新泽西州贝尔实验室里,第一个晶体管的诞生打响了微电子革命的第一*。它的出现,使得我们能够使用非常小的体积、消耗非常低的功耗的电子元件,来代替当时体积庞大、功耗大的电子管。也就是说,它的产生为我们能够制造出体积更小,功耗更低的产品可能性发生了阶越性的变化。

在此之后,直接延续到1950年,一种更加复杂的,称为双极型晶体管的器件诞生了。相比第一个晶体管,双极晶体管具有更高的可靠性,制造更为容易,造价也越为低廉,这一点非常重要。因为现在任何一个集成电路都是由成百成千,甚至百万的晶体管构成,一个晶体管性能的提高对集成电路的整体性能的提升会是巨大的。

紧接着到了1962年,在美国新泽西州的普林斯顿微电子研究所,一种叫做金属氧化物半导体场效应晶体管诞生了,这就是我们熟称的MOSFET,简称FET。它具有更小的尺寸,更廉价的制造成本,更低的功耗。

介绍到这里关于晶体管发展的关键历程就告一段落,但是有人会问,晶体管和可编程逻辑器件有什么关系呢?晶体管是构成可编程逻辑器件的原材料,好比沙子泥土和房子的关系,但是却没有砖头和房子的关系那么直接,在由晶体管构成可编程逻辑器件中充当砖头角色的就是门电路。而门电路的构成可以分为两种,对于双极型晶体管,如果以特定方式将相连,就可以形成晶体管-晶体管逻辑门,简称TTL;对于金属氧化物半导体场效应晶体管,由NMOS与PMOS以互补方式就可以构成我们所熟知的互补金属氧化物半导体,简称CMOS。虽然不同的晶体管构成的逻辑门不一样,但是功能是一致的。区别在于用CMOS实现的逻辑门比TTL实现的速度要慢一些,但是COMS逻辑门具有静态功率低、占用面积小的优势。这也是采用TTL实现还是CMOS实现的集成电路的区别。

技术或事物总是朝着由简至烦发展,仅仅依靠这些逻辑门做的事情还是非常非常有限的。在从晶体管到可编程逻辑器件PROM的过程中,还有这么一个环节,就是集成电路的形成。

最初的晶体管是独立封装在一个小金属外壳中做为分立元件提供的。后来人们开始觉得把这个整个电路的制造放在一个半导体里做是个好主意,到了1958年,德州仪器公司便成功地将5个元件的移相振荡器制作在同一片半导体上,这可算得上是第一片集成电路了。几乎同时,现在依然在IC制造业中广泛使用的衬底光学印刷技术出现了。它的出现,极大地促进了集成电路的迅速发展。20世纪60年代中期,TI公司设计制造出了具有一定功能的组件IC,开始了集成电路的飞速发展。

最开始的集成电路的功能都是针对特定应用单一固定的,这对工程实现和学术研究来讲,除非生产量相当大,否则为需求专门设计生产一个这样的集成电路器件代价将是非常高的,于是1970年,第一个可编程只读存储器PROM感受到时代的召唤——诞生了,它开启了可编程器件的大门。                                                                                                                                                                                                                                                                                                                                                                                                                                                    

                            

1.2 SPLD与CPLD的时代

       我们一般都喜欢用字母缩写来表示一些特有的技术或者事物,那么这里用SPLD(Simple Programmmable Logic Device)来作为简单可编程逻辑器件的缩写,与之相对应,用CPLD(Complex Programmable Logic Device))来作为复杂可编程逻辑器件的缩写。那么SPLD和CPLD的简单和复杂的具体界限是什么呢?它们又是以怎么样的方式发展起来的呢?这就是这一节要叙述的内容。

       在上一节中我们提到了,无论是双极型晶体管还是金属氧化物半导体场效应晶体管,它们各自按照特定的连接方式就可以构成逻辑门,而由逻辑门又可以构成可编程逻辑器件。那么,可编程逻辑器件将从逻辑门的层次上进行探讨和描述会比较方便。

       在介绍从PROM到CPLD的发展历程前,先提一个问题,不知道大家有没有想过可编程逻辑器件的可编程性在哪?它能实现我们任何逻辑吗?下面就要解答这个问题,从数学角度出发,任何一个逻辑都能由多项式表示,多项式中无非就是两个运算,一个是由乘构成项,另一个是由加构成多项。正好,逻辑门中的与门正好符合乘运算,或门正好符合加运算,那么任何一个逻辑都可以与门和或门来表达实现了。这就是为什么SPLD和CPLD能够实现能和逻辑的本质。

       针对与门阵列和或门阵列的可编程方式和一些其他外围元件的不同,这里将SPLD发展到CPLD过程分成如下图所示的几个阶段。

 

截图01.jpg

从上图看出,PROM是基于或阵列可编程,PLA是基于与阵列和或阵列都可编程,而之后的PAL、GAL都是基于与门阵列可编程的。注意,这里用门电路表示的电路并不代表实际的电路图。为什么会出现这样的现象呢?早在1970年,设计师们从多项式出发,考虑到或门阵列的可编程性可以用熔丝或EPROM晶体管和E2PROM单元来实现,于是出现了基于或阵列可编程的PROM。这种器件最初作为计算机存储器来存储程序指令和常量数据,并且也可以用来实现简单的逻辑功能。但是随着应用越来越多,它的问题就暴露出来了:对于同样多的输入来讲,PROM的与阵列是固定的,所以要考虑所有的可能的输入乘积项,但是真正使用的乘积项可能只是其中的一小部分,这样将浪费大量的与门阵列。于是在1975年,基于与门阵列、或门阵列都可编程的PLA开始投入使用。PLA是简单可编程器件中用户可配置的最好的器件,因为它的与门和或门阵列都是可配置的。但PLA也有一个不利的一面,与预定义相反,信号通过可编程连线后需要花费很长的时间,这样以来PLA就比PROM的速度要低了。

为了克服PLA的速度问题,在20世纪70年代末,一种可编程阵列逻辑PAL的器件产生了,它是与PROM相反基于与阵列可编程的,速度要比PLA要高的多,但是它只允许有限数量的乘积相或。为了克服这个问题,于是更大规模的GAL产生了。除了规模上更大外,GAL上还有了触发器,出现了小单元思想,可以实现时序电路。20世纪80年代早期,更为复杂的PLD器件出现了,质变在1984年,Altera公司发明了基于CMOS和EPROM组合的CPLD,CPLD本质上是基于某一SPLD的一个阵列。

上一篇: stm32应用例程 下一篇: 那些年,我们拿下了FPGA(上)第1章-可编程器件的历史(2)

分享 举报