2020年4月27日星期一集成电路原理及应用山东理工大学电气与电子工程学院1第10章可编程逻辑器件10.2可编程阵列逻辑PAL、GAL的原理与应用10.3复杂可编程逻辑器件(CPLD)10.4现场可编程逻辑器件(FPGA)10.5CPLD/FPGA器件的编程与开发10.1可编程逻辑器件基础2020年4月27日星期一集成电路原理及应用山东理工大学电气与电子工程学院210.1可编程逻辑器件基础10.1.1可编程逻辑器件的基本结构10.1.2可编程逻辑器件的分类及特点10.1.3PLD的电路结构及其表示方法2020年4月27日星期一集成电路原理及应用山东理工大学电气与电子工程学院310.1.1可编程逻辑器件的基本结构PLD器件由输入控制电路、与阵列、或阵列以及输出控制电路组成。反馈数据输入···输入控制···输出与阵列或阵列输出控制图10-1-1PLD的基本结构2020年4月27日星期一集成电路原理及应用山东理工大学电气与电子工程学院410.1.2可编程逻辑器件的分类及特点PROM:与阵列固定、或阵列可编程PLA:与阵列和或阵列均可编程PAL:与阵列可编程、或阵列固定GAL:具有可编程输出逻辑宏单元SPLDCPLDFPGA:一个芯片上集成多个可编程的互连SPLD:现场可编程门阵列2020年4月27日星期一集成电路原理及应用山东理工大学电气与电子工程学院510.1.3PLD的电路结构及其表示方法一个二进制函数的输出,可以用其输入函数的最小项之和来实现。因此任一函数的输出就可以用积或两级逻辑电路来实现。1.可编程逻辑器件中逻辑的实现方法图10-1-2积或两级逻辑电路P(n)≥1I1In&I1In&2020年4月27日星期一集成电路原理及应用山东理工大学电气与电子工程学院6这种方法同样适用于多输出的情况,而每个输出是由其自己的积项和来形成,如图所示。图10-1-3多输出积或两级逻辑电路P1≥1I1I3&I2I1I3&I2≥1I1I3&I2≥1I1I3&P2P3123123123IIIIIIIII12312313IIIIIIII12313IIIII2020年4月27日星期一集成电路原理及应用山东理工大学电气与电子工程学院7对一个具有多输入和多输出的逻辑电路,可用一个与阵列和一个或阵列来实现,如图所示。图10-1-4多输入多输出逻辑电路mP1Pi或阵列nI1In与阵列F1Fm2020年4月27日星期一集成电路原理及应用山东理工大学电气与电子工程学院8具有3输入和3输出的组合逻辑电路应用正逻辑规则时,用NMOS电路实现的具体电路结构如图所示。图10-1-5(a)用NMOS电路实现逻辑电路I1I3I2P1P2P3F1F2F3VccF4Vcc与阵列或阵列2020年4月27日星期一集成电路原理及应用山东理工大学电气与电子工程学院9要使阵列中的输出与输入变量发生联系时,只要在相关的输出和输入相交处接一个MOS场效应管,该管的栅极接到输入线上,而漏极接到输出线,源极接地,如图10-1-6(a)所示。图10-1-6输出与输入交集之间的关系若采用双极型晶体管时,则晶体管的基极接到输入线上,发射极通过熔丝接到输出线上,集电极接电源VCC,如图10-1-6(b)所示。输入线输出线(a)Vcc输入线输出线(b)2020年4月27日星期一集成电路原理及应用山东理工大学电气与电子工程学院102.可编程逻辑器件PLD表示方法(1)输入缓冲单元ABC图10-1-7PLD缓冲器表示法PLD的输入缓冲单元由若干个缓冲器组成,每个缓冲器产生该输入变量的原变量和反变量,其逻辑表示方法如图所示。A1BC图中B=A,C=A。2020年4月27日星期一集成电路原理及应用山东理工大学电气与电子工程学院11(2)与门和或门图10-1-8与门和或门的PLD表示法(a)D=A·CACB&D≥1D竖线为输入项,×ACB×(b)D=A+C交叉点处的编程器件接通输入线和积项线,称为接通连接,以“×”表示,编程器件不连通输入线与积项线,称为断开连接,则交叉点处无“×”号。横线为积项线,输入线与积项线的交叉点是编程点。输入线和积项线的交叉点处是内部固定接通的,称为硬线连接,以实圆点“·”来表示。2020年4月27日星期一集成电路原理及应用山东理工大学电气与电子工程学院12(3)简化的PLD表示图10-1-9简化PLD表示法(a)PLD表示法D&ABBA(b)简化PLD表示法D&ABBA使用简化符号,可以清晰地将这类情况表示出来。这种表示方法意味着该乘积项输出总为逻辑“0”。在PLD的逻辑描述中常用一种简化的逻辑表示方法,即输入项全部被接入的与门表示方法。2020年4月27日星期一集成电路原理及应用山东理工大学电气与电子工程学院1310.2可编程阵列逻辑PAL、GAL的原理与应用10.2.1PAL器件的基本结构10.2.2PAL的输出和反馈结构10.2.3GAL器件的基本结构2020年4月27日星期一集成电路原理及应用山东理工大学电气与电子工程学院1410.2.1PAL器件的基本结构PAL器件的构成原理是以逻辑函数的最简与或式为主要依据的,其基本结构如图所示。&&&&&&&&&&&&&&&&≥1≥1≥1≥1O3O2O1O0I3I2I1I0或阵列(固定)与阵列(可编程)2020年4月27日星期一集成电路原理及应用山东理工大学电气与电子工程学院15&&&&&&&&&&&&&&&&≥1≥1≥1≥1O3O2O1O0I3I2I1I0或阵列(固定)与阵列(可编程)图10-2-1PAL器件的基本结构在PAL器件的两个逻辑阵列中,与阵列可编程,用来产生函数最简与或式中所必需的乘积项,PAL器件的或阵列不可编程,它完成对指定乘积项的或运算,产生函数的输出。2020年4月27日星期一集成电路原理及应用山东理工大学电气与电子工程学院1610.2.2PAL的输出和反馈结构专用输出结构如右图。1.专用输出的基本门阵列结构图10-2-2专用输出结构输入Q≥1组合逻辑宜采用这种结构。图中的输出部分采用或非门,因而也称这种结构为输出低电平有效。2020年4月27日星期一集成电路原理及应用山东理工大学电气与电子工程学院172.可编程I/O结构可编程I/O结构如图10-2-3所示。其中最上面一个与门所对应的乘积项用于选通三态缓冲器。图10-2-3I/O结构≥1I/O三态缓冲器输出反馈缓冲器输入2020年4月27日星期一集成电路原理及应用山东理工大学电气与电子工程学院183.寄存(时序)输出结构在系统时钟的上升沿,把或门输出存入D触发器,然后通过选通三态缓冲器把它送到输出。图10-2-4寄存输出结构输入Q1DQQCLOCKD触发器OE≥1C12020年4月27日星期一集成电路原理及应用山东理工大学电气与电子工程学院194.异或结构异或结构的PAL器件主要是在输出部分增加了一个异或门,如下图所示。图10-2-5异或PAL输入Q1DQQCLOCKD触发器OEC1≥1≥1=1把乘积和分为2个和项,这2个和项相异或后,在时钟的上升沿存入D触发器内。2020年4月27日星期一集成电路原理及应用山东理工大学电气与电子工程学院205.算术选通反馈结构这种结构是在异或结构的基础上增加了反馈选通电路,如图所示。图10-2-6PAL的算术选通反馈结构QCLOCK1DQQEN≥1≥1≥1≥1≥1=1IC1≥12020年4月27日星期一集成电路原理及应用山东理工大学电气与电子工程学院2110.2.3GAL器件的基本结构GAL(GenericArrayLogic)是一种电擦除可重复编程的可编程逻辑器件,它具有灵活的可编程输出结构,使得GAL器件几乎能够代替所有PAL器件和数百种中小规模标准器件。GAL由输入缓冲器(左边8个缓冲器)、输出三态缓冲器(右边8个缓冲器)、与阵列、输出反馈/输入缓冲器(中间8个缓冲器)、输出逻辑宏单元OLMC(其中包含或门阵列)以及时钟和输出选通信号缓冲器组成。2020年4月27日星期一集成电路原理及应用山东理工大学电气与电子工程学院22图10-2-8GAL16V8逻辑图2191817161514131213456789OLMC(12)OLMC(13)OLMC(14)OLMC(15)OLMC(16)OLMC(17)OLMC(18)OLMC(19)11OECK2020年4月27日星期一集成电路原理及应用山东理工大学电气与电子工程学院23图10-2-9为GAL器件输出逻辑宏单元OLMC的结构图。图10-2-9GAL的输出逻辑宏单元PTMUX01≥1=1TSMUX11100100&1DQOMUX01≥1CKOEOECKXOR(n)VccAC0AC1(n)AC0FMUX11100100AC1(n)AC1(m)相邻单元输出极性多路开关三态多路开关输出多路开关反馈多路开关反馈QI/O(n)来自与阵列C110.3.1CPLD的基本结构10.3.2CPLD常用器件型号2020年4月27日星期一集成电路原理及应用山东理工大学电气与电子工程学院2410.3复杂可编程逻辑器件(CPLD)10.3.1CPLD的基本结构1.基于乘积项的CPLD结构•CPLD的结构是基于乘积项(Product-Term)的,现在以Xilinx的XC9500XL系列芯片为例看一下CPLD的基本结构,其他型号CPLD的结构与此非常类似。2020年4月27日星期一集成电路原理及应用山东理工大学电气与电子工程学院25CPLD可分为三部分1.功能模块(FunctionBlock)2.快速互连矩阵(FastCONNECTIISwitchMatrix)3.I/O控制模块2020年4月27日星期一集成电路原理及应用山东理工大学电气与电子工程学院26图10-3-2功能模块的结构每个功能模块的结构如图所示。2020年4月27日星期一集成电路原理及应用山东理工大学电气与电子工程学院27图10-3-3CPLD的宏单元结构宏单元结构左侧是乘积项阵列,实际就是一个与或阵列,每一个交叉点都是可编程的,如果导通就是实现“与”逻辑,和后面的乘积项分配器一起完成组合逻辑。2020年4月27日星期一集成电路原理及应用山东理工大学电气与电子工程学院28•若不需要触发器,也可以将其旁路,信号直接输出给互连矩阵或输出到I/O脚。•它的时钟,清零输入都可以编程选择,可以使用专用的全局清零和全局时钟,也可以使用内部逻辑(乘积项阵列)产生的时钟和清零。•右侧是一个可编程的触发器,可配置为D触发器或T触发器。2.CPLD逻辑实现原理现以一个简单的电路为例,具体说明CPLD是如何利用以上结构实现逻辑的。DCBAfQn)(12020年4月27日星期一集成电路原理及应用山东理工大学电气与电子工程学院29图10-3-4简单逻辑电路DBCDACCPLD实现f方式:2020年4月27日星期一集成电路原理及应用山东理工大学电气与电子工程学院30图10-3-5CPLD的逻辑实现fACDBCD图中每个叉表示相连(可编程熔丝导通),所以得到:实现了组合逻辑。A,B,C,D由PLD芯片的管脚输入后进入互连矩阵,在内部会产生A,A反,B,B反,C,C反,D,D反8个输出。这种基于乘积项的CPLD基本都是由EEPROM和Flash工艺制造的,一上电就可以工作,无需其他芯片配合。2020年4月27日星期一集成电路原理及应用山东理工大学电气与电子工程学院31图10-3-5CPLD的逻辑实现现以Xilinx的XC9500XL系列CPLD为例来说明该类器件的命名规则:2020年4月27日星期一集成电路原理及应用山东理工大学电气与电子工程学院3210.3.2CPLD常用器件型号XC95144XL-4TQ144C器件名称速度等级封装类型引脚数温度等级10.4.1FPGA的基本结构10.4.2FPGA常用器件型号2020年4月27日星期一集成电路原理及应用山东理工大学电气与电子工程学院3310.4现场可编程逻辑器件(FPGA)采用查找表(Look-Up-Table)结构的PLD芯片我们称之为FPGA,查找表简称