1.1.1 PLD的发展历程及发展趋势
微课1-1
CPLD FPGA的发展历程及概述
随着微电子技术的发展,设计与制造集成电路的任务已不完全由半导体厂商来独立承担。系统设计师更愿意自己设计专用集成电路(Application Specific Integrated Circuit,ASIC)芯片,而且希望ASIC的设计周期尽可能短,最好是在实验室里就能设计出合适的ASIC芯片,能立即投入实际应用之中。因而出现了现场可编程逻辑器件(Field Programmable Logical Device,FPLD),其中应用最广泛的当属现场可编程门阵列(Field Programmable Gates Array,FPGA)和复杂可编程逻辑器件(Complex Programmable Logical Device,CPLD)。
早期的可编程逻辑器件只有可编程只读存储器(PROM)、紫外线可擦除只读存储器(EPROM)和电可擦除只读存储器(E2PROM)3种。由于结构的限制,它们只能完成简单的数字逻辑功能。其后,出现了一类结构稍复杂的可编程芯片,即可编程逻辑器件(Programmable Logical Device,PLD),它能够完成各种数字逻辑功能。典型的PLD由一个“与”门和一个“或”门阵列组成,而任意一个组合逻辑都可以用“与-或”表达式来描述,所以,PLD能以乘积和的形式完成大量的组合逻辑功能。典型PLD的部分内部结构如图1-1所示。
图1-1 典型PLD的部分内部结构
这一阶段的产品主要有可编程阵列逻辑(Programmable Array Logic,PAL)和通用阵列逻辑(Generic Array Logic,GAL)。PAL由一个可编程的“与”平面和一个固定的“或”平面构成,或门的输出可以通过触发器有选择地被置为寄存状态。PAL器件是现场可编程的,它的实现工艺有反熔丝技术、EPROM技术和E2PROM技术。还有一类结构更为灵活的逻辑器件是可编程逻辑阵列(Programmable Logic Array,PLA),它也由一个“与”平面和一个“或”平面构成,但是这两个平面的连接关系是可编程的。PLA器件既有现场可编程的,也有掩膜可编程的。在PAL的基础上,又发展了一种通用阵列逻辑(Generic Array Logic,GAL),如GAL16V8、GAL22V10等。GAL采用了E2PROM工艺,实现了电可擦除、电可改写,其输出结构是可编程的逻辑宏单元,因而它的设计具有很强的灵活性,至今仍有许多人使用。这些早期的PLD器件的一个共同特点是,可以实现速度特性较好的逻辑功能,但其过于简单的结构也使它们只能实现规模较小的电路。
为了弥补这一缺陷,20世纪80年代中期,Altera公司和Xilinx公司分别推出了类似于PAL结构的扩展型CPLD和标准门阵列类似的FPGA,它们都具有体系结构和逻辑单元灵活、集成度高以及适用范围广等特点。这两种器件兼容了PLD和通用门阵列的优点,可实现较大规模的电路,编程也很灵活。和门阵列等其他ASIC相比,又具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无须测试、质量稳定以及可实时在线检验等优点,因此被广泛应用于产品的原型设计和产品生产(一般在10 000件以下)。几乎所有应用门阵列、PLD和中小规模通用数字集成电路的场合,均可应用FPGA和CPLD器件。
不同厂家对器件的叫法不尽相同,Xilinx公司把基于查找表技术的SRAM工艺、要外挂配置用的E2PROM的PLD称为FPGA;把基于乘积项技术的Flash(类似E2PROM工艺)工艺的PLD称为CPLD。Altera把自己的PLD产品,包括MAX系列(乘积项技术,E2PROM工艺)和FLEX系列(查找表技术,SRAM工艺)都称为CPLD,即复杂PLD(Complex PLD)。由于FLEX系列也是SRAM工艺,基于查找表技术,要外挂配置用的EPROM,其用法和Xilinx公司的FPGA一样,所以很多人把Altera公司的FLEX系列产品也称作FPGA。