更新时间:2022-07-23 15:07
大规模可编程逻辑器件(Programmable Logic Devices),是EDA得以实现的硬件基础,通过编程,可灵活方便地构建和修改数字电子系统。可编程逻辑器件是集成电路技术发展的产物。很早以前,电子工程师们就曾设想设计一种逻辑可再编程的器件,但由于集成电路规模的限制,难以实现。20世纪70年代,集成电路技术迅猛发展,随着集成电路规模的增大,MSI(Medium Scale Integrated Circuit),LSI(Large Scale Integrated Circuit)出现,可编程逻辑器件才得以诞生和迅速发展。
PLD诞生及简单PLD发展阶段
二十世纪七十年代,熔丝编程的PROM(ProgrammableReadOnlyMemory)和PLA(ProgrammableLogicArray)的出现,标志着PLD的诞生。可编程逻辑器件最早是根据数字电子系统组成基本单元-门电路可编程来实现的,任何组合电路都可用与门和或门组成,时序电路可用组合电路加上存储单元来实现.早期PLD就是用可编程的与阵列和(或)可编程的或阵列组成的。
PROM是采用固定的与阵列和可编程的或阵列组成的PLD,由于输入变量的增加会引起存储容量的急剧上升,只能用于简单组合电路的编程。PLA是由可编程的与阵列和可编程的或阵列组成的,克服了PROM随着输入变量的增加规模迅速增加的问题,利用率高,但由于与阵列和或阵列都可编程,软件算法复杂,编程后器件运行速度慢,只能在小规模逻辑电路上应用。这两种器件在EDA上已不再采用,但PROM作为存储器,PLA作为全定制ASIC设计技术,还在应用。
二十世纪七十年代末,AMD公司对PLA进行了改进,推出了PAL(ProgrammableArrayLogic)器件,PAL与PLA相似,也由与阵列和或阵列组成,但在编程接点上与PAL不同,而与PROM相似,或阵列是固定的,只有与阵列可编程。或阵列固定与阵列可编程结构,简化了编程算法,运行速度也提高了,适用于中小规模可编程电路。但PAL为适应不同应用的需要,输出I/O结构也要跟着变化,输出I/O结构很多,而一种输出I/O结构方式就有一种PAL器件,给生产,使用带来不便。且PAL器件一般采用熔丝工艺生产,一次可编程,修改电路需要更换整个PAL器件,成本太高。PAL已被GAL所取代。
以上可编程器件,都是乘积项可编程结构,都只解决了组合逻辑电路的可编程问题,对于时序电路,需要另外加上锁存器,触发器来构成,如PAL加上输出寄存器,就可实现时序电路可编程。
乘积项可编程结构PLD发展与成熟阶段
二十世纪八十年代初,Lattice(莱迪思)公司开始研究一种新的乘积项可编程结构PLD。1985年推出了一种在PAL基础上改进的GAL(GenericArrayLogic)器件。GAL器件首次在PLD上采用EEPROM工艺,能够电擦除重复编程,使得修改电路不需更换硬件,可以灵活方便地应用,乃至更新换代。
在编程结构上,GAL沿用了PAL或阵列固定与阵列可编程结构,而对PAL的输出I/O结构进行了改进,增加了输出逻辑宏单元OLMC(outputLogicMacroCell),OLMC设有多种组态,使得每个I/O引脚可配置成专用组合输出,组合输出双向口,寄存器输出,寄存器输出双向口,专用输入等多种功能,为电路设计提供了极大的灵活性。同时,也解决了PAL器件一种输出I/O结构方式就有一种器件的问题,具有通用性。而且GAL器件是在PAL器件基础上设计的,与许多PAL器件是兼容的,一种GAL器件可以替换多种PAL器件,因此,GAL器件得到了广泛的应用.GAL器件主要应用在中小规模可编程电路,而且,GAL器件也加上了ISP功能,称ispGAL器件。
二十世纪八十年代中期,ALTERA(阿特喇)公司推出了EPLD(ErasablePLD)器件,EPLD器件比GAL器件有更高的集成度,采用EPROM工艺或EEPROM工艺,可用紫外线或电擦除,适用于较大规模的可编程电路,也获得了广泛的应用.
复杂可编程器件发展与成熟阶段
二十世纪八十年代中期,Xilinx(西林克司)公司提出了现场可编程(FieldProgrammability)的概念,并生产出世界上第一片FPGA器件,FPGA是现场可编程门阵列(FieldProgrammableGateArray)的英文缩写,已经成了大规模可编程逻辑器件中一大类器件的总称.FPGA器件一般采用SRAM工艺,编程结构为可编程的查找表(Look-UpTable,LUT)结构.FPGA器件的特点是电路规模大,配置灵活,但SRAM需掉电保护,或开机后重新配置.
二十世纪八十年代末,Lattice公司提出了在系统可编程(In-SystemProgrammability,ISP)的概念,并推出了一系列具有ISP功能的CPLD器件,将PLD的发展推向了一个新的发展时期.CPLD即复杂可编程逻辑器件(ComplexProgrammableLogicDevice)的英文缩写,Lattice公司推出CPLD器件开创了PLD发展的新纪元,也即复杂可编程逻辑器件的快速推广与应用.CPLD器件采用EEPROM工艺,编程结构在GAL器件基础上进行了扩展和改进,使得PLD更加灵活,应用更加广泛.
复杂可编程逻辑器件有FPGA和CPLD两种主要结构,进入二十世纪九十年代后,两种结构都得到了飞速发展,尤其是FPGA器件已超过CPLD,走入成熟期,因其规模大,拓展了PLD的应用领域.器件的可编程逻辑门数已达上千万门以上,可以内嵌许多种复杂的功能模块,如CPU核,DSP核,PLL(锁相环)等,可以实现单片可编程系统(SystemonProgrammableChip,SoPC).
拓展了的在系统可编程性(ispXP),是Lattice公司集中了E2PROM和SRAM工艺的最佳特性而推出的一种新的可编程技术.ispXP兼收并蓄了E2PROM的非易失单元和SRAM的工艺技术,从而在单个芯片上同时实现了瞬时上电和无限可重构性.ispXP器件上分布的E2PROM阵列储存着器件的组态信息.在器件上电时,这些信息以并行的方式被传递到用于控制器件工作的SRAM位.新的ispXFPGATMFPGA系列与ispXPLDTMCPLD系列均采用了ispXP技术.
除了数字可编程器件外,模拟可编程器件也受到了大家的重视,Lattice公司提供有ispPAC系列产品供选用.
PLD的分类繁多,各生产厂家命名不一,一般可按以下几种方法进行分类.
按集成度来区分
(1)简单PLD,逻辑门数500门以下,包括PROM,PLA,PAL,GAL等器件.
(2)复杂PLD,芯片集成度高,逻辑门数500门以上,或以GAL22V10作参照,集成度大于GAL22V10,包括EPLD,CPLD,FPGA等器件.
从编程结构来区分
(1)乘积项结构PLD,包括PROM,PLA,PAL,GAL,EPLD,CPLD等器件.
(2)查找表结构PLD,FPGA属此类器件.
从互连结构来分
(1)确定型PLD.确定型PLD提供的互连结构,每次用相同的互连线布线,其时间特性可以确定预知(如由数据手册查出),是固定的,如CPLD.
(2)统计型PLD.统计型结构是指设计系统时,其时间特性是不可以预知的,每次执行相同的功能时,却有不同的布线模式,因而无法预知线路的延时,如Xilinx公司的FPGA器件.
从编程工艺来区分
(1)熔丝型PLD,如早期的PROM器件.编程过程就是根据设计的熔丝图文件来烧断对应的熔丝,获得所需的电路.
(2)反熔丝型PLD,如OTP型FPGA器件.其编程过程与熔丝型PLD相类似,但结果相反,在编程处击穿漏层使两点之间导通,而不是断开.
OTP是一次可编程(OneTimeProgramming)的英文缩写,以上两类都是OTP器件.
(3)EPROM型PLD,EPROM是可擦可编程只读存储器(ErasablePROM)的英文缩写,EPROM型PLD采用紫外线擦除,电可编程,但编程电压一般较高,编程后,下次编程前要用紫外线擦除上次编程内容.
在制造EPROM型PLD时,如果不留用于紫外线擦除的石英窗口,也就成了OTP器件.
(4)EEPROM型PLD,EEPROM是电可擦可编程只读存储器(ElectricallyErasablePROM)的英文缩写,与EPROM型PLD相比,不用紫外线擦除,可直接用电擦除,使用更方便,GAL器件和大部分EPLD,CPLD器件都是EEPROM型PLD.
(5)SRAM型PLD,SRAM是静态随机存取存储器(StaticRadomAccessMemory)的英文缩写,可方便快速的编程(也叫配置),但掉电后,其内容即丢失,再次上电需要重新配置,或加掉电保护装置以防掉电.大部分FPGA器件都是SRAM型PLD.