原创 可编程逻辑器件的发展历程

2014-2-19 20:41 897 9 9 分类: FPGA/CPLD 文集: FPGA

     数字集成电路由早期的电子管、晶体管、小中规模集成电路、发展到超大规模集成电路(VLSIC,几万门以上)以及许多具有特定功能的专用集成电路。但是,随着微电子技 术的发展,设计与制造集成电路的任务已不完全由半导体厂商来独立承担。系统设计师们更愿意自己设计专用集成电路(ASIC)芯片,而且希望ASIC的设计 周期尽可能短,最好是在实验室里就能设计出合适的ASIC芯片,并且立即投入实际应用之中,因而出现了现场可编程逻辑器件(FPLD),其中应用最广泛的 当属现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)。

     早期的可编程逻辑器件只有可编程只读存贮器(PROM)、紫外线可按除只读存贮器(EPROM)和电可擦除只读存贮器(EEPROM)三种。由于结构的限制,它们只能完成简单的数字逻辑功能(注:存储器即可实现组合逻辑函数)。

     其后,出现了一类结构上稍复杂的可编程芯片,即可编程逻辑器件(PLD),它能够完成各种数字逻辑功能。典型的PLD由一个“与”门和一个“或”门阵列组成,而任意一个组合逻辑都可以用“与一或”表达式来描述,所以, PLD能以乘积和的形式完成大量的组合逻辑功能。

     这一阶段的产品主要有PAL(可编程阵列逻辑)和GAL(通用阵列逻辑)。 PAL由一个可编程的“与”平面和一个固定的“或”平面构成,或门的输.出可以通过触发器有选择地被置为寄存状态。 PAL器件是现场可编程的,它的实现工艺有反熔丝技术、EPROM技术和EEPROM技术。还有一类结构更为灵活的逻辑器件是可编程逻辑阵列(PLA), 它也由一个“与”平面和一个“或”平面构成,但是这两个平面的连接关系是可编程的。 PLA器件既有现场可编程的,也有掩膜可编程的。  在PAL的基础上,又发展了一种通用阵列逻辑GAL (Generic Array Logic),如GAL16V8,GAL22V10 等。它采用了EEPROM工艺,实现了电可按除、电可改写,其输出结构是可编程的逻辑宏单元,因而它的设计具有很强的灵活性,至今仍有许多人使用。 这些早期的PLD器件的一个共同特点是可以实现速度特性较好的逻辑功能,但其过于简单的结构也使它们只能实现规模较小的电路。

    为了弥补这一缺陷,20世纪80年代中期。 Altera和Xilinx分别推出了类似于PAL结构的扩展型 CPLD(Complex Programmab1e Logic Dvice)和与标准门阵列类似的FPGA(Field Programmable Gate Array),它们都具有体系结构和逻辑单元灵活、集成度高以及适用范围宽等特点。 这两种器件兼容了PLD和通用门阵列的优点,可实现较大规模的电路,编程也很灵活。与门阵列等其它ASIC(Application Specific IC)相比,它们又具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定以及可实时在线检验等优点,因此被广泛应用于产品的原 型设计和产品生产(一般在10,000件以下)之中。几乎所有应用门阵列、PLD和中小规模通用数字集成电路的场合均可应用FPGA和CPLD器件。(注:不同厂家的叫法不尽相同,Xilinx把,基于查找表技术,SRAM工艺,要外挂配置用的EEPROM的PLD叫FPGA;把基于乘积项技术,Flash(类似EEPROM工艺)工艺的PLD叫CPLD; Altera 把自己的PLD产品:MAX系列(乘积项技术,EEPROM工艺),FLEX系列(查找表技术,SRAM工艺)都叫作CPLD,即复杂PLD(Complex PLD),由于FLEX系列也是SRAM工艺,基于查找表技术,要外挂配置用的EPROM,用法和Xilinx的FPGA一样,所以很多人把Altera的FELX系列产品也叫做FPGA.)


     FPGA(现场可编程门阵列)与 CPLD(复杂可编程逻辑器件)都是可编程逻辑器件,它们是在PAL,GAL等逻辑器件的基础之上发展起来的。同以往的PAL,GAL等相比 较,FPGA/CPLD的规模比较大,它可以替代几十甚至几千块通用IC芯片。这样的FPGA/CPLD实际上就是一个子系统部件。这种芯片受到世界范围 内电子工程设计人员的广泛关注和普遍欢迎。

    1、ROM

只读存储器都是由 地址译码器,存储矩阵,输出缓冲器三大部分组成,不同的只是存储单元(存储矩阵)采用了不同的结构或不同工艺。这些存储器是只读存储器ROM,在编程时写入数据,使用时只读数据。

ROM(掩模只读存储器):数据固化的,只读;

PROM(可编程只读存储器):熔丝或反熔丝型,使用时只能编程一次;

EPROM(可擦除的可编程只读存储器):可用紫外线照射进行擦除,实现重复编程;

EEPROM(可用电信号擦除的可编程只读存储器):可用电信号进行擦除;

FLASH:可用电信号进行擦除的可编程ROM;常见的优盘就是FLASH存储器;

  2、RAM

RAM具有掉电丢失数据的特性,分为SRAMDRAM两大类;

RAM存储器由 存储矩阵,地址译码器,读写控制电路 三部分组成。

  3、可编程逻辑器件

1FPLA:和ROM结构类似,只是地址译码器(逻辑阵列)和存储矩阵(逻辑阵列)都是可编程的,而ROM对应的结构是固定的,不可编程;所以使用FPLA比使用ROM设计组合逻辑电路更加合理;FPLA中的可编程单元和PROMEPROM中的存储单元原理,方法一样;有的FPLA内部输出端有触发器,可以设计时序电路。

2PAL:可编程逻辑阵列和固定的逻辑阵列,以及可编程输出结构,通过对与逻辑阵列编程可以获得不同的组合逻辑函数,输出结构中设置有触发器和到与阵列的反馈线,因此可以构成各种时序逻辑电路;

3GAL:在PAL基础上发展而来,可用电信号擦除并可重新编程,和EEPROM存储单元相同,可编程逻辑阵列和固定的逻辑阵列,输出端为可编程的输出逻辑宏单元OLMC(含触发器),有很强的通用性;

4EPLD:迈入高密度PLD行列;加强型GAL可编程逻辑阵列和固定的逻辑阵列,以及可编程的输出逻辑宏单元OLMC

5CPLD:从EPLD演变而来,类似于多个GAL集成于同一芯片上;由通用可编程逻辑模块GLB,输入输出单元IOC,以及可编程内部连线区组成;其中GLB模块与GAL类似;

6FPGA对用户而言,CPLD与FPGA的内部结构稍有不同,但用法一样,所以多数情况下,不加以区分。和CPLD不同的是可编程逻辑模块结构不同,FPGA逻辑模块不是采用之前的 与-或-可编程输出 组成模式,而是基于 查找表和触发器 ,分别实现组合逻辑函数和时序电路;

 

  altera FPGA 组成:可编程输入输出、基本可编程逻辑单元、嵌入式RAM、专用硬核以及丰富的布线资源;

  altera可编程逻辑:LUT和一个寄存器组成LE,若干个LE组成一个LAB(逻辑阵列模块),LAB内还有LE之间的级联链和进位链等资源;

 

单词解释 : P(Programmable),L(Logic),D(Device),A(Array),G(Generic),E(Erasable),C(Complex),F(Field)

PLD:可编程逻辑器件;PAL:可编程阵列逻辑;GAL:通用阵列逻辑;EPLD:可擦除的可编程逻辑器件;CPLD:复杂可编程逻辑器件;FPGA:现场可编程逻辑器件

 

文章评论0条评论)

登录后参与讨论
我要评论
0
9
关闭 站长推荐上一条 /2 下一条