根据PLD器件的与阵列和或阵列的编程情况及输出形式,可编程逻辑器件通常可分为4类。第一类是与阵 列固定、或阵列可编程的PLD器件,这类PLD器件以可编程只读存储器PROM为代表。可编程只读存储器PROM 是组合逻辑阵列,它包含一个固定的与阵列和一个可编程的或阵列,PROM中的与阵列是全译码形式,它产 生而个输入变量的所有最小项。 PROM的每个输出端通过或阵列将这些最小项有选择地进行或运算,即可实 现任何组合逻辑函数。由于与阵列能够产生输人变量的全部最小项,所以用PROM实现组合逻辑函数不需要 进行逻辑化简。但随着输人变量数的增加,与阵列的规模会迅速增大,其价格也随之大大提高。而且与阵 列越大,译码开关时间就越长,相应的工作速度也越慢。因此,实际上只有规模较小的PROM可以有效地实现组合逻辑函数,而大规模的PROM价格高,工作速度低,一般只作为存储器使用。 第二类是与阵列和或阵列均可编程的PLD器件,以可编程逻辑阵列PLA为代表。PLA和PROM一样也是组合型逻辑阵列,与PROM不同的是,它的两个逻辑阵列均可编程。PLA的与阵列不是全译码形式,它可以通过编程控制只产生函数最简与或式中所需要的与项。因此,PLA器件的与阵列规模减小,集成度相对提高。 但是,由于PLA只产生函数最简与或式中所需要的与项,因此PLA在编程前必须先进行函数化简。另外,PLA器件需要对两个阵列进行编程,编程难度较大。而且PLA器件的开发工具应用不广泛,编程一般由生产厂家完成。 第三类是以可编程阵列逻辑PAL为代表的与阵列可编程、或阵列固定的PLD器件。这类器件的每个输出端是若干个乘积项之或,其中乘积项的数目固定。通常PAL的乘积项数允许达到8个,而一般逻辑函数的最简与或式中仅需要完成3~4个乘积项或运算。因此,PAL的这种阵列结构很容易满足大多数逻辑函数的设计要求。 PAL有几种固定的输出结构,如专用输出结构、可编程I/O结构、带反馈的寄存器输出结构及异或型输出结构等。一定的输出结构只能实现一定类型的逻辑函数,其通用性较差,这就给PAL器件的管理及应用带来不便。 第四类是具有可编程输出逻辑宏单元的通用PLD器件,以通用型可编程阵列逻辑GAL器件为主要代表。GAL器件的阵列结构与PAL相同,都是采用与阵列可编程而或阵列固定的形式。两者的主要区别是输出结构不同。PAL的输出结构是固定的,一种结构对应一种类型芯片。如果系统中需要几种不同的输出形式,就必须选择多种芯片来实现。GAL器件的每个输出端都集成有一个输出逻辑宏单元0LMC(Out L。glC Macro Cell)。 输出逻辑宏单元是可编程的,通过编程可以决定该电路是完成组合逻辑还是时序逻辑,是否需要产生反馈信号,并能实现输出使能控制及输出极性选择等。因此,GAL器件通过对输出逻辑宏单元0LMC的编程可以实现PAL的各种输出结构,使芯片具有很强的通用性和灵活性。 把包括PLA器件、PAL器件fl GAL器件在内的PLD器件划分到一个简单的器件类型分组,称之为简单可编程逻辑器件(Simple Pr。grammable Logic Devices,SPLD),SPLD器件最主要的特征是:低成本和极高的引脚到引脚的速度性能。 技术的进步带来器件规模的高速增长,今天可编程器件的规模已经远远超过传统SPLD的范畴。传统的SPI,D规模的扩大受到其结构的严重制约,这是因为SPLD器件的结构表明SPLD器件的可编程逻辑阵列随着输入信号的增加将急剧扩大。提供基于SPLD结构大容量器件的唯一可行办法是在一个芯片上集成多个可编程的互连SPLD,这种类型的PLD称为复杂可编程逻辑器件(Complex Programmable Logic Devices,CPLD)。 经过发展CPLD器件的逻辑规模,大体上达到50个SPLD器件的规模,但也仅限于此,CPLD器件的规模很难进一步扩大,具有更高规模的PLD器件的实现需要新的技术和思路。现场可编程门阵列(FieldProgrammable Gate Array,FPGA)包含海量的门阵列和互连资源,是PLD器件中唯一能支持超大规模设计的可编程器件,包含的逻辑单元数不断增加,这使得FPGA获得了广泛的应用和快速的发展。 |