第二章可编程逻辑器件第二章PLD概述一、什么是PLD?ProgrammableLogicDevices____可编程逻辑器件二、PLD发展进程PROM、PLAPAL、GALFPGA、EPLDISP传统的数字系统由固定功能标准集成电路74、54系列、4000系列、4500等系列构成,设计无灵活性,芯片种类多数目大现代的数字系统仅由三种标准积木块:微处理器、存储器和PLD构成即CPU+RAM+PLDPLD的设计是核心第二章可编程逻辑器件三、近几年PLD发展密度:单片集成度已达1000万系统速度:达420MHz以上线宽:已达32nm,属深亚微米技术四、近几年PLD发展热点从互延时入手解决系统速度问题在系统可编程技术PLD的逻辑表示方法及图形符号固定连接编程连接不连接熔丝缓冲门与门或门可编程连接或不连接PLD的逻辑表示方法及图形符号多输入端或门画法ADCDBCABY多输入端与门画法五、PLD的基本结构互补输出的输入缓冲电路,用以产生输入变量的原变量和反变量,并提供足够的驱动能力。输入电路与阵列输出电路或阵列输入项乘积项和项输入输出反馈输入信号输入电路在PLD中的画法AAA9CABCCABBAW7=ABCABCW0=由一组多输入与门组成,用以产生输入变量的各乘积项。与阵列SPLD的基本结构输入电路输出电路或阵列输入项乘积项和项输入输出反馈输入信号与阵列五、PLD的基本结构例如ABC●●●Y3Y2Y1●●●●●●●●●●●●●与阵列SPLD的基本结构输入电路与阵列输出电路或阵列输入项乘积项和项输入输出反馈输入信号由图可得Y1=ABC+ABC+ABCY2=ABC+ABCY3=ABC+ABC由一组多输入或门组成,用以产生和项,即将输入的某些乘积项相加。或阵列五、PLD的基本结构SPLD的基本结构输入电路与阵列输出电路或阵列输入项乘积项和项输入输出反馈输入信号SPLD的输出电路因器件的不同而有所不同,但总体可分为固定输出和可组态输出两大类。根据与门阵列、或门阵列和输出电路结构的不同,简单的低密度PLD可分为PROM、PLA、PAL、GAL四种基本类型,下面分别进行讲解。五、PLD的基本结构(1)基本结构ABCABCABCABCABCABCABCABCABCO1O2O3或阵列(可编程)与阵列(固定)(2)特点“与”阵列固定,不能编程,“或”阵列可以编程。与阵列是一个全译码电路,即n个输入量总共有2n个不同的组合积项输出,因此有2n条积项线。与阵列的固定连接关系造成芯片面积的浪费,利用效率低。六、PLD的分类___PROM(3)应用设计六、PLD的分类___PROM例1:用PROM构造半加器A1A0SC0001101100101001S=A0Al=A0Al+A0A1+C=A0A1CSA1A0A1A0A1A0例2:用PROM实现22乘法器输入输出A1A0B1B0P3P2P1P000000000000100000010000000110000010000000101000101100010011100111000000010010010101001001011011011000000110100111110011011111001(1)基本结构(2)特点六、PLD的分类___PLAABCO1O2O3或阵列(可编程)与阵列(可编程)②与阵列不采用全译码方式,标准的与或表达式已不适用,需要把逻辑函数化成最简的与或表达式。有多个输出时,要尽量利用公共的与项,以提高阵列的利用率。①“与”阵列和或”阵列都可以编程,方便了设计工作。③算法复杂,器件运行速度下降④制造工艺复杂,价格高。基本思想:根据PLA结构,安排每个积项占一条积项线,在不同输出函数中如有相同积项,则共享。每个输出函数有n个积项,就在或阵列上将它的纵向线与相关的n个积项线相连。简单地说,用PLA实现组合逻辑函数时,先将函数化简为最简与或式,再把对应的与项或起来即可。O1=ABC+BCO2=AB+ACO3=AB+AC例:用PLA实现以下组合逻辑函数电路(3)应用设计ABCO1O2O3ABCABACBCAB六、PLD的分类___PLA六、PLD的分类___PAL②采用熔丝编程方式,只能一次性编程。(1)基本结构左图为最简单的PAL器件结构。目前常见的PAL器件中,输入变量最多可达20个,与项的个数最多有80个,或阵列输出端最多的有10个,每个或门输入端最多的可达16个。(2)特点①“与”阵列可编程,“或”阵列固定。A2A1A0D0D1D2或阵列(固定)与阵列(可编程)③具有多种形式的输出结构为了扩展电路的功能,并增加使用的灵活性,PAL在与或阵列的基础上,增加了多种输出及反馈电路,构成了各种型号的PAL器件。六、PLD的分类___PAL根据PAL器件的输出结构和反馈电路的不同,可将它们大致分成专用输出、可编程输入/输出、寄存器输出、异或输出以及运算选通反馈输出等几种类型。(3)PAL的输出结构___专用输出型六、PLD的分类___PALAND阵列可编程OR阵列固定输出0输入O0I2I1I0O1输出1用途:实现组合逻辑电路六、PLD的分类___PAL(3)PAL的输出结构___可编程输入输出型II/OOE当OE=0时,三态输出呈高阻态,I/O引脚作输入使用;当OE=1时,三态门选通,I/O引脚作输出使用。作输出使用时,也可将输出再经互补输出的缓冲器反馈到与阵列输入,用于实现复杂的组合逻辑电路。六、PLD的分类___PAL(3)PAL的输出结构___寄存器输出型这种结构的输出端有一D触发器。在时钟上升沿先将或门输出寄存在D触发器的Q端,当使能信号OE有效时,Q端的信号经三态缓冲器反相后输出,输出为低电平有效。触发器的Q端输出还可以通过缓冲器反馈送至与阵列的输入端。因而这种结构的PAL能记忆原来的状态,实现时序逻辑电路。六、PLD的分类___PAL(3)PAL的输出结构___异或输出型这种结构的输出部分有两个或门,它们的输出经异或门进行异或运算后再经D触发器和三态缓冲器输出。YIQIQIQ保持QYI0求反QYI1YIQQDCLOCKOEOCQY这种结构不仅便于对与或逻辑阵列输出的函数求反,还可以实现对寄存器状态进行保持操作。六、PLD的分类___PAL(3)PAL的输出结构___运算选通反馈型在异或门的基础上,将触发器的输出反馈到运算选通逻辑电路,与输入项进行组合后送与阵列进行编程,可获得16种可能的逻辑组合。六、PLD的分类___PAL(3)PAL的输出结构___运算选通反馈型六、PLD的分类___GALPAL结构GAL结构或阵列做在OLMC结构中适当地为OLMC进行编程,GAL就可以在功能上代替PAL各种输出类型及其派生类型(1)GAL器件的基本结构(以GAL16V8为例)①GAL16V8引脚图VCCGAL16V8I/OI/OI/OOEI/OI/OI/OI/OI/OCLKIIIIIIIIGND12345678910111220191817161514138个输入端8个I/O端1个时钟输入端1个输出使能控制输入端六、PLD的分类___GAL六、PLD的分类___GAL②GAL16V8内部结构图1CLK2I3I4I5I6I7I8I9II/O19I/O18I/O17I/O16I/O15I/O14I/O13I/O12OE11可编程与阵列(6432)输出逻辑宏单元(OutputLogicMacro-Cell,简称OLMC)与阵列输入电路可编程与阵列(6432)1CLK2I3I4I5I6I7I8I9II/O19I/O18I/O17I/O16I/O15I/O14I/O13I/O12OE11可编程与阵列(6432)时钟输入端,提供时序电路所需要的时钟信号。与阵列的作用是产生输入信号的乘积项。其输入信号为8个输入端提供的原、反变量和8个反馈输入端提供的原、反变量。产生这些变量的那些乘积项,则由对与阵列的编程决定。输出使能控制输入端。它作为全局控制信号控制各I/O端的工作方式。1CLK2I3I4I5I6I7I8I9II/O19I/O18I/O17I/O16I/O15I/O14I/O13I/O12OE11可编程与阵列(6432)1CLK2I3I4I5I6I7I8I9II/O19I/O18I/O17I/O16I/O15I/O14I/O13I/O12OE11可编程与阵列(6432)OLMC中含有或门、D触发器和多路选择器等,通过对OLMC编程可得到组合电路输出、时序电路输出、双向I/O端等多种工作组态。(4)GAL的输出逻辑宏单元OLMC1个8输入或门1个异或门1个D触发器4个多路选择开关4个控制字来自与阵列01PTMUXXOR(n)QQDAC0反馈FMUX10x11x0x10x0AC0SynAC1(n)11100100TSUXM01OUXMVCCG2来自邻级输出(n)I/O(n)CLKOECLKOEG1AC1(n)由OLMC的结构图可以看出,OLMC中的异或门和四个多路选择开关由四个结构控制字XOR(n)、AC0、AC1(n)和Syn编程控制。其中XOR(n)和AC1(n)是各个OLMC自己的控制字,n代表OLMC的编号,这个编号与每个OLMC连接的引脚号码一致;AC0和Syn为8个OLMC共用的控制字。①OLMC的结构控制字这些控制字集中放在一个行地址为第60行的具有82位的结构控制字中。来自与阵列01PTMUXXOR(n)QQDAC0反馈FMUX10x11x0x10x0AC0SynAC1(n)11100100TSUXM01OUXMVCCG2来自邻级输出(n)I/O(n)CLKOECLKOEG1AC1(n)②8输入或门每个OLMC包含或阵列中的一个8输入或门,或门的每一个输入对应一个乘积项(与阵列中的一个输出),故或门的输出为若干个乘积项之和。或门的输出接到异或门的一个输入端。③异或门异或门用于控制或门输出信号的极性。异或门的另一个输入端为结构控制字中的1位XOR(n),当XOR(n)端为1时,异或门起反相器作用;否则为同相输出。异或门的输出直接送到D触发器的输入端。④D触发器D触发器用于锁存异或门的输出状态,使GAL能实现时序逻辑电路。XOR(n)来自与阵列01PTMUXXOR(n)QQDAC0反馈FMUX10x11x0x10x0AC0SynAC1(n)11100100TSUXM01OUXMVCCG2来自邻级输出(n)I/O(n)CLKOECLKOEG1AC1(n)PTMUX由编程的控制字AC0和AC1(n)加到与非门G1输出后进行控制。当AC0或AC1(n)=0时,第一个积项通过PTMUX输出到或门的输入端,作为或门的一个输入积项;当AC0=AC1(n)=1时,第一个积项不能作为输入项,可被选为三态门的控制项。此时PTMUX输出为0,对或门输出没影响。⑤4个多路选择开关积项选择多路开关PTMUX是一个二选一开关电路,它的输入端来自可编程与阵列中的8个积项中的第一个,由编程决定这一积项用作输入项还是用作三态门的控制项。AC0AC1(n)来自与阵列01PTMUXXOR(n)QQDAC0反馈FMUX10x11x0x10x0AC0SynAC1(n)11100100TSUXM01OUXMVCCG2来自邻级输出(n)I/O(n)CLKOECLKOEG1AC1(n)当AC0AC1(n)=00时,TSMUX输出为固定高电平,三态门始终选通,I/O(n)端只能作输出使用。当AC0AC1(n)=01时,TSMUX输出为固定低电平,三态门工作在高阻状态,无输出,此时I/O(n)端可作输入使用。当AC0AC1(n)=10时,TSMUX输出为公共控制信号OE,三态门的工作状态由外接OE信号控制。OE=1时,I/O(n)端作输出用;OE=0时,I/O(n)端作输入用。当AC0AC1(n)=11时,TSMUX输出为由与阵列来的第一个积项,则由与阵列来的各组的第一个积项分别控制各自的三态门的输出。这是一个四选一开关电路,它的输入有:第一个积项、8个OLMC的共用控制信号