逻辑器件可分为两大类 - 固定逻辑器件和可编程逻辑器件。 一如其名,固定逻辑器件中的电路是永久性的,它们完成一种或一组功能 - 一旦制造完成,就无法改变。 另一方面,可编程逻辑器件(PLD)是能够为客户提供范围广泛的多种逻辑能力、特性、速度和电压特性的标准成品部件 - 而且此类器件可在任何时间改变,从而完成许多种不同的功能。
本文将重点针对可编程逻辑器件作重点介绍,可编程逻辑器件英文全称为:programmablelogicdevice即PLD。PLD是做为一种通用集成电路产生的,他的逻辑功能按照用户对器件编程来确定。一般的PLD的集成度很高,足以满足设计一般的数字系统的需要。
对于可编程逻辑器件,设计人员可利用价格低廉的软件工具快速开发、仿真和测试其设计。 然后,可快速将设计编程到器件中,并立即在实际运行的电路中对设计进行测试。 原型中使用的PLD器件与正式生产最终设备(如网络路由器、ADSL调制解调器、DVD播放器、或汽车导航系统)时所使用的PLD完全相同。 这样就没有了NRE成本,最终的设计也比采用定制固定逻辑器件时完成得更快。
按机构特点分类,可编程逻辑器件可基于 “与或” 阵列结构分为阵列型器件PROM、EPROM、EEPRM、PAL、GAL、CPLD、EPLD、EPLA等。
1、PROM——可编程只读存储器
可编程只读存储器只允许写入一次,所以也被称为一次可编程只读存储器(One Time Programming ROM,OTP-ROM)。可编程只读存储器在出厂时,存储的内容全为1,用户可以根据需要将其中的某些单元写入数据0(部分的PROM在出厂时数据全为0,则用户可以将其中的部分单元写入1),以实现对其编程的目的。
2、EPROM——可擦除的可编程只读存储器
最早研制成功并投入使用的EPROM是用紫外线照射进来擦除的。EPROM采用MOS型电路结构,其存储单元通常由叠栅型MOS晶体管组成,而叠栅型MOS晶体管通常采用增强型场效应管结构。
3、EEPROM——电可擦除的可编程只读存储器
EEPROM(也可写成E2PROM)是一种用电信号擦除和改写的可编程ROM。它不仅可以整体擦除存储单元内容,还可以逐字擦除和逐字改写。EEPROM的擦除和改写电流很小,在普通工作电源下即可进行,擦除时也不需要将器件从系统上拆卸下来。
4、PAL——可编程阵列逻辑
PLA沿用了在生产PROM器件中所采用的熔丝式双极型工艺,具有“与”阵列可编程而“或”阵列固定结构,也可以达到很高的工作速度。PLA器件与PROM相比,阵列规模大大减少,能更灵活地实现各种逻辑功能,而PLA器件编程简单、适应性强,可以取代多种常用中小规模晶体管逻辑器件。
5、GAL——通用阵列逻辑
GAL是一种电可擦除可重复编程的逻辑器件,它具有灵活的可编程输出结构,使得为数不多的集中GAL器件几乎能够代替所有的PAL器件和数百种中小规模的标准器件。而且GAL采用先进的EECMOS工艺,可以在几秒钟内完成对器件的擦除和写入,并允许反复改写。普通的GAL器件与PAL器件有相同的阵列结构,均采用“与”阵列可编程、或阵列固定的结构。
6、CPLD——复杂可编程逻辑器件
CPLD是在PAL、GAL等器件的基础上发展起来的大规模集成可编程逻辑器件,与PAL、GAL等器件相比,CPLD的规模比较大,一个CPLD可以替代几十个甚至数百个通用的IC芯片。虽然不同IC公司生产的CPLD机构差异很大,但一般包含可编程的逻辑宏单元(Logic Macro Cell,LMC)、可编程的I/O单元、可编程的内部连线(Programmable Interconnect,PI)这三部分。
7、EPLD——可擦除的可编程逻辑器件
EPLD结合了大规模集成电路体积小、价格低、可靠性高等优点,用户可以根据需要设计专用电路,以避免价格高、周期长等问题。EPLD器件的延迟时间是可预测的,也是固定的。因此在EPLD器件中的功能模板上实现任何功能都具有同样的速度。功能模块通过无限制的内部互连在一起,提供了多个可编程逻辑结构。而每个功能模块包含9个可编程“与”“或”阵列驱动的宏单元,任意一个引脚的输入或宏单元的输出都可以连到另一个宏单元的输入,这种无限制的可编程互连结构保证了EPLD具有100%的布线能力。
8、FPLA——现场可编程逻辑阵列
现场可编程逻辑阵列(FPLA)是可编程逻辑器件(PLD)的一种,它是一种半导体器件,含有可编程逻辑元件中所谓的“逻辑块”和可编程互连。逻辑块通过编程来执行基本逻辑门的功能,如“和”“异或”或更复杂的组合功能。在大多数的FPLA中,逻辑块还包括记忆体分子、等级可编程互连,满足逻辑块要相互关联的需要。另外,FPLA的结构和ROM相似,区别在于:首先,ROM的与阵列是固定的,而FPLA的与阵列是可编程的;其次,ROM的与阵列输出是全部最小项,而FPLA的与阵列却可以输出简化后的表达式。该系统设计师根据客户或设计师需求来执行任何逻辑功能,因此命名为“现场可编程”。
9、FPGA——现场可编程门阵列
FPGA是在PAL、GAL、CPLD等可编程器件的基础上进一步发展起来的,它是基于单元型门阵列结构的器件。由于FPGA需要被反复烧写,所以它实现组合逻辑的基本结构不可能像ASIC那样通过固定的与非门来完成,而是只能采用一种易于反复配置的结构。目前主流的FPGA都采用了基于SRAM工艺的查找表,也有一些军用品和宇航级FPGA采用Flash或熔丝与反熔丝工艺的查找表结构,通过烧写文件改变查找表内容的方法来实现对FPGA的重复配置。
由布尔代数理论可知,对于一个n输入的逻辑运算,不管是与或非运算,最多只可能存在2n种结果,所以如果是先将相应的结果存放于一个存储单元,就相当于实现了与非门电路的功能。FPGA原理也是如此,它通过烧写文件去配置查找表的内容,从而在相同的电路情况下实现了不同的逻辑功能。