第八章可编程逻辑器件(PLD)Chapter8ProgrammableLogicDevice本章主要内容第一节PLD概述第二节几种PLD的结构及应用举例§8.2.1现场可编程逻辑阵列(FPLA)§8.2.2可编程阵列逻辑(PAL)§8.2.3通用阵列逻辑(GAL)§8.2.4复杂可编程逻辑器件(CPLD)§8.2.5现场可编程阵列(FPGA)§8.2.6PLD的一般开发过程第三节集成电路计算机辅助设计(ICCAD)§8.1PLD概述目前,数字集成电路产品可以分为两种形式:即标准通用型和专用型。标准通用型集成电路是指常用的中、小规模数字电路(如74系列、4000系列等),其逻辑功能设计以实现数字系统的基本功能块为目的,一般比较简单,并且固定不变。优点是通用性强,使用方便灵活;缺点是体积、功耗和重量较大,可靠性和可维护性较差等。专用型集成电路是指按某种专门用途而设计、制造的集成电路,又称ASIC(ApplicationSpecificIntegratedCircuit),ASIC器件又可分为全定制和半定制两大类。ASIC的优点是体积小、功耗低、可靠性高,高度保密;缺点是在用量不大的情况下,设计和制造这样的专用集成电路不仅成本很高,而且设计、制造的周期也很长。由此可见,通用型和专用型集成电路在制造和使用上存在着一定的矛盾。可编程逻辑器件(ProgrammableLogicDevice)的研制成功为解决这个矛盾提供了一条比较理想的途径。PLD虽然是作为一种通用器件生产的,但它的逻辑功能是由用户通过对器件编程来设定的。而且有些PLD的集成度很高,足以满足设计一般数字系统的需要。这样就可以由设计人员自行编程而把数字系统“集成”在一片PLD上,而不必制造专用集成电路芯片了。PLD的基本结构图:一、PLD的表示方法:描述PLD器件基本结构的逻辑图形符号如下:二、PLD的优点:PLD综合了标准通用型逻辑器件和半定制逻辑器件的许多优点,再加上它的可编程性,为数字系统的设计带来了很多方便。其优点如下:1、设计灵活、方便2、高性能和高可靠性3、费用较低三、PLD的分类:PLD主要包括低密度可编程器件(SPLD,门数低于600门)和高密度可编程器件(HDPLD,门数高于600门,主要指CPLD和FPGA)两大类。其各自包含的产品和对应的特点见表8-1-1。类别典型代表各自特点具体器件举例PLAAND及OR阵列均可编程PROMAND阵列固定,OR阵列可编程PALAND阵列可编程,OR阵列固定如PAL16L8如GAL16V8,GAL20V8简单可编程逻辑器件[SPLD]GAL一种与PAL相同,一种AND和OR阵列均可编程,可编程的I/O结构使其更灵活如GAL39V18EPLD可擦除,可编程器件,其可编程逻辑功能块围绕着一个位于中心的延时固定的可编程互联矩阵构成如Xilinx公司的XC7000系列复杂可编程逻辑器件[CPLD]CPLD可重编程,实现工艺有EPROM、闪速EPROM、E2PROM,在互联特性上,CPLD采用连续互联方式,即用固定长度的金属线实现逻辑单元之间的互联Altera公司的MAX9000系列、Xilinx公司的XC9500系列等现场可编程逻辑器件[FPGA]FPGA有类似于半定制门阵列的通用结构,即由逻辑块排列阵列组成,并由可编程的互联资源连接这些功能块来实现所需的设计。FPGA门阵列的通用结构与现场可编程特性结合于一体Xilinx公司的:XC3000、XC4000、SPARTEN等表8-1-1PLD的分类和特点细表§8.2几种PLD的结构及应用举例§8.2.1现场可编程逻辑阵列(FPLA)FieldProgrammableLogicArray一、组合逻辑型FPLA的基本电路结构:组合逻辑型FPLA由可编程的“与”逻辑阵列和可编程的“或”逻辑阵列以及输出缓冲器组成,如图8.2.1所示。若编程后的电路连接情况如图中所示,则当OE=0时可得到如下组合逻辑函数:二、时序逻辑型FPLA的基本电路结构:图8.2.2时序逻辑型FPLA的电路结构三、FPLA的特点(与ROM相比):优点:1)“与”阵列非全译码,阵列体积小,芯片利用率高;2)由于“与”阵列和“或”阵列均可编程,所以设计工作较容易;3)可进行时序逻辑设计。缺点:1)可编程阵列为两个,比较来说较复杂一些,速度较慢;2)支持FPLA开发的软件有一定的难度。§8.2.2可编程阵列逻辑(PAL)ProgrammableArrayLogicPAL是70年代末期MMI公司率先推出的一种可编程逻辑器件。它采用双极型工艺制作,熔丝编程方式。PAL器件由可编程的与逻辑阵列、固定的或逻辑阵列和输出电路三部分组成,其基本电路结构图由图8.2.3所示。用PAL器件可以构成各种组合或时序逻辑电路。一、PAL的基本结构:图8.2.3PAL器件的基本电路结构例:下图为一个经过编程的PAL器件结构图,它产生了一组组合逻辑函数Y1、Y2、Y3、Y4。图8.2.4编程后的PAL电路二、PAL的输出电路结构和反馈形式有以下几种:1、专用输出结构属于这种输出结构的器件有:PAL10H8、PAL14H4、PAL14L4、PAL10L8、PAL16C1等。2、可编程输入/输出结构属于这种输出结构的器件有:PAL16L8、PAL20L10等。3、寄存器输出结构属于这种输出结构的器件有:PAL16R4、PAL16R6、PAL16R8等。4、异或输出结构属于这种输出结构的器件有:PAL20X4、PAL20X8、PAL20X10等。5、运算选通反馈结构属于这种输出结构的器件有:PAL16X4、PAL16A4等。三、PAL应用举例:[例8-2-1]用PAL器件设计一个数值判别电路。要求判断4位二进制数DCBA的大小属于0-5、6-10、11-15三个区间的哪一个之内。解:表8-2-1[例8-2-1]的函数真值表从真值表可写出Y0、Y1、Y2的逻辑函数式,这是一组具有4个输入变量、3个输出的组合逻辑函数。若选用PAL14H4来实现,可得如下所示逻辑图:图8.2.5编程后的PAL14H4电路[例8-2-2]用PAL器件设计一个4位循环码计数器,并要求所设计的计数器具有置零和对输出进行三态控制的功能。解:表8-2-2[例8-2-2]4位循环码的计数顺序表PAL16R4可满足上述要求,因为PAL16R4的输出缓冲器是反相器,所以4个触发器Q端的状态与上表中的Y状态相反,则Q3Q2Q1Q0的状态转换顺序应如下表所示:表8-2-3PAL16R4中触发器的状态转换表据表8-2-3化简可得各个触发器的状态方程为:驱动方程为:用PAL16R4实现四位循环码计数器§8.2.3通用阵列逻辑(GAL)GenericArrayLogic四、PAL的特点:1)“与”阵列可编程方法能提供较高的性能和最有效的结构,每个输出所需的乘积项的数量由“或”阵列固定;2)灵活性强,在现代电子行业中仍大量使用。3)PAL的缺点是采用熔丝工艺,一旦编程后就不能修改。1980年以来,随着E2CMOS工艺的发展,GAL器件出现,GAL从结构上可分为两类:一类是类似PAL结构,即“与”阵列可编程而“或”阵列固定,如GAL16V8、GAL20V8等;另一类则是与阵列和或阵列可同时编程,如LATTIC公司的GAL39V8。一、GAL的基本结构:GAL较PAL相比,其结构仅在输出结构上不同,其输出引脚提供了一个输出逻辑宏(OLMC——OutputLogicMacroCell),OLMC的应用大大提高了GAL输出的灵活性,基本上可用同一种型号的GAL器件实现PAL器件所有的各种输出电路工作模式。现以GAL16V8为例,介绍GAL器件一般结构形式和工作原理。GAL16V8有一个32X64位的可编程“与”逻辑阵列,8个OLMC,10个输入缓冲器,8个三态输出缓冲器和8个反馈/输入缓冲器。GAL16V8的“与”逻辑阵列的每个交叉点上设有E2CMOS编程单元。例:图8.2.6由3个编程单元构成的与门GAL16V8的组成“或”逻辑阵列的8个或门分别包含于8个OLMC中,它们和“与”逻辑阵列的连接是固定的。GAL16V8中还有一些编程单元。编程单元的地址分配和功能划分情况如图8.2.7所示。图8.2.7GAL16V8编程单元的地址分配二、OLMC介绍:OLMC中包含一个或门、一个D触发器和由4个数据选择器及一些门电路构成的控制电路。如图8.2.8所示:图8.2.8OLMC的结构框图图8.2.8中AC0、AC1(n)、XOR(n)都是结构控制字中的一位数据,通过对结构控制字编程,便可设定OLMC的工作模式。GAL16V8的结构控制字如图8.2.9所示:图8.2.9GAL16V8结构控制字的组成图8.2.8中的或门有8个输入端,来自与逻辑阵列的输出;异或门用于控制输出函数的极性。当XOR(n)为0时,异或门的输出与或门的输出同相,否则反相。列的第一乘积项当中选择一个作为输出三态缓冲器的控制信号,如表8-2-4所示。表8-2-4TSMUX的控制功能表8-2-5所示。表8-2-5FMUX的控制功能表OLMC的工作模式有表8-2-6所列的5种,它们由结构控制字SYN、AC1(n)、XOR(n)的状态指定。表8-2-6OLMC的5种工作模式三、OLMC的特点:1)OLMC的输入可以独立的设定为高或低有效2)可采用组合逻辑(异步)输出或寄存器逻辑(同步)输出;3)器件有一个公用的输出使能端,对于每个输出使能端可以由乘积项或单独的输入项完成;4)各宏单元基本结构相同,可以重组到另外的单元,重组态可以为以下几个模式:专用输入、专用组合输出、组合输出、寄存器输出。四、GAL的特点:1)主要采用E2CMOS工艺;2)具有可擦除性、可重编程性、可反复改写;3)具有可重组态性。§8.2.4复杂可编程逻辑器件(CPLD)ComplexProgrammableLogicDevice一、80年代末,CPLD出现,其结构从总的结构上大致一样,都以逻辑宏单元为基础,加上内部的AND-OR阵列,使之实现从简单的逻辑功能到复杂的时序控制,另外外围的I/O模块,又扩大了其在系统中的应用范围和扩展性。二、CPLD结构框图“与-与”与与AND-ORARRAY与与与与与FB1与与与与与FBnI/O模块CPLD结构框图三、CPLD的特点:1)各CPLD产品不再象PAL、GAL仅使用较通用的软件包、编程器来完成它的设计开发、应用过程,而是要求较好的逻辑优化、综合手段,在实现后又需要在时序上进行仿真,所以各家公司在自己产品的基础上对应自己的产品均有一套开发系统,如Xilinx的DS550,Altera的MAX+PLUSII,Lattice的pDS+等,它们均能够接受多种输入格式的设计方法。2)验证时打破了以往的硬件/实验方法,以全方位的时序/逻辑软件仿真取而代之。3)新增的ISP功能更提供了巨大的灵活性,使设计人员在自己的设计完成后,在计算机上马上就可知道自己的设计在逻辑功能上,时序上是否已达到目的。4)CPLD器件可擦除,可重编程,并且掉电后数据不会丢失。§8.2.5现场可编程阵列(FPGA)FieldProgrammableGateArray一、FPGA介绍:#80年代中期出现,最早由Xilinx公司在1985年推出#FPGA与CPLD的比较:FPGA与传统的PLD不同,它具有类似于半定制门阵列的通用结构,即由逻辑功能块(CLB)排列阵列组成,并由可编程的互联资源连接(PI)连接这些CLB来实现所需的设计。#FPGA与掩模编程阵列的区别:FPGA与MPGA的不同之处在于它由用户现场可编程来完成CLB之间的互联,而后者需由IC工厂通过掩模完成互联。#FPGA是将门阵列的通用结构与PLD现场可编程特性结合于一体的新型器件,目前,FPGA在芯片上可集成100万门,可与中高等密度的门阵列相匹敌。二、FPGA的基本结构CLB:是实现用户功能的基本单元,它们通常规则地排列成一个阵列,散布于整个芯片;CLB有与门、非门、门阵列及触发器、计数器和其他功能模块等