2006年新疆大学信息科学与工程学院数字电路课题组1第八章可编程逻辑器件8.1概述8.2现场可编程逻辑阵列(FPLA)8.3可编程阵列逻辑(PAL)8.4通用阵列逻辑(GAL)8.5可擦除的可编程逻辑器件(EPLD)8.6现场可编程门阵列(FPGA)8.7PLD的编程(无图)8.8在系统可编程逻辑器件(ISP-PLD)返回2006年新疆大学信息科学与工程学院数字电路课题组28.1概述图8.1.1PLD电路中门电路的惯用画法(a)与门(b)输出恒等于0的与门(c)或门(d)互补输出的缓冲器(e)三态输出的缓冲器返回2006年新疆大学信息科学与工程学院数字电路课题组3图8.1.1PLD电路中门电路的惯用画法(a)与门(b)输出恒等于0的与门(c)或门(d)互补输出的缓冲器(e)三态输出的缓冲器返回2006年新疆大学信息科学与工程学院数字电路课题组4*8.2现场可编程逻辑阵列(FPLA)图8.2.1FPLA的基本电路结构图8.2.2FPLA的异或输出结构图8.2.3时序逻辑型FPLA的电路结构返回2006年新疆大学信息科学与工程学院数字电路课题组5返回2006年新疆大学信息科学与工程学院数字电路课题组6图8.2.1FPLA的基本电路结构2006年新疆大学信息科学与工程学院数字电路课题组7图8.2.2FPLA的异或输出结构返回2006年新疆大学信息科学与工程学院数字电路课题组8图8.2.3时序逻辑型FPLA的电路结构返回2006年新疆大学信息科学与工程学院数字电路课题组9PAL的与阵列是可编程的而或阵列不可编程,类似于一个已经写入信息的ROM,但它的与阵列是可编程的。不可编程8.3可编程阵列逻辑PAL2006年新疆大学信息科学与工程学院数字电路课题组108.3.1PAL的基本电路结构PAL器件当中最简单一种电路结构形式,它仅包含一个可编程的与逻辑阵列和一个固定的或逻辑阵列,没有附加其他的输出电路.2006年新疆大学信息科学与工程学院数字电路课题组11由图可见,在没有编程之前,与逻辑阵列的所有交叉点上均有熔丝接通.编程将有的熔丝保留,将无用的熔丝熔断,既得到所有的电路.它所产生的逻辑函数为2006年新疆大学信息科学与工程学院数字电路课题组128.3.2PAL的几种输出电路结构和反馈形式根据PAL器件输出电路结构和反馈方式不同,可将它们大致分成:1)专用输出结构.2)可编程输入/输出结构.3)寄存器输出结构.4)异或输出结构,5)运算选通反馈结构等几种类型2006年新疆大学信息科学与工程学院数字电路课题组13一,专用输出结构.由图8.3.1给出的PAL电路就属于这种专用输出结构,它的输出端是一个与或门.在有些PAL器件中,输出端还采用了与或非门结构或者互补输出结构.图8.3.3给出了互补输出的电路结构.2006年新疆大学信息科学与工程学院数字电路课题组14图8.3.3具有互补输出的专用输出结构2006年新疆大学信息科学与工程学院数字电路课题组15二,可编程输入/输出结构它的输出端是一个有可编程控制端的三态缓冲器,控制端由与逻辑阵列的一个乘积项给出.同时,输出端又经过一个互补输出的缓冲器反馈到与逻辑阵列上.图8.3.4PAL的可编程输入/输出结构2006年新疆大学信息科学与工程学院数字电路课题组16有些可编程I/O结构的PAL器件中,在与或逻辑阵列的输出和三态缓冲器之间还设置有可编程的异或门,如图8.3.5所示.图8.3.5带有异或门的可编程输入/输出结构2006年新疆大学信息科学与工程学院数字电路课题组17三,寄存器输出结构它在输出三态缓冲器和与-或逻辑阵列的输出之间串进了由D触发器组成的寄存器.同时,触发器的状态又经过互补输出的缓冲器反馈到与逻辑阵列的输入端.图8.3.6PAL的寄存器输出结构2006年新疆大学信息科学与工程学院数字电路课题组18四,异或输出结构异或的电路结构与寄存器输出结构类似只在与-或逻辑阵列的输出端又增设了异或门图8.3.7PAL的异或输出结构2006年新疆大学信息科学与工程学院数字电路课题组19五,运算选通反馈结构在异或输出结构的基础上我们又增加了一组反馈电路.图8.3.8PAL的运算选通反馈结构2006年新疆大学信息科学与工程学院数字电路课题组208.3.3PAL的应用举例2006年新疆大学信息科学与工程学院数字电路课题组212006年新疆大学信息科学与工程学院数字电路课题组22图8.3.9产生16种算术、逻辑运算的编程情况2006年新疆大学信息科学与工程学院数字电路课题组23【例8.3.2】用PAL设计一个4为循环码计数器,并要求所设计的计数器具有置零和对输出进行三态控制的功能.2006年新疆大学信息科学与工程学院数字电路课题组242006年新疆大学信息科学与工程学院数字电路课题组25GAL是在PAL器件的基础上发展起来的。它的基本结构与PAL相同,即“与阵列可编程或阵列可固定”。但GAL采用了电可擦除,电可改写的CMOS半导体制造工艺,使得GAL器件不仅可以反复擦除、改写,为修改设计带来了灵活性,而且降低了功耗,集成度也大大提高。另外,GAL的逻辑结构采用了输出逻辑宏单元OLMC,可以根据应用的不同配置成不同的输出结构。一片GAL即可以配置为组合逻辑电路,也可以使时序逻辑电路或者是两者的组合,很灵活。8.4通用阵列逻辑GAL2006年新疆大学信息科学与工程学院数字电路课题组26要使用GAL器件,就要先进行设计。GAL器件的开发工具包括硬件开发工具和软件开发工具。硬件开发工具有编程器,软件开发工具有ABEL-HDL程序设计语言和相应的编译程序。编程器的主要用途是将开发软件生成的熔丝图文件按JEDEC格式的标准代码写入选定的GAL器件。典型的GAL设计流程图如图所示。8.4通用阵列逻辑GAL2006年新疆大学信息科学与工程学院数字电路课题组27图8.4.1GAL16V8的电路结构图2006年新疆大学信息科学与工程学院数字电路课题组28图8.4.2由3个编程单元构成的与门返回2006年新疆大学信息科学与工程学院数字电路课题组29图8.4.3GAL16V8编程单元的地址分配返回2006年新疆大学信息科学与工程学院数字电路课题组30图8.4.4OLMC的结构框图返回8.4.2输出逻辑宏单元(OLMC)2006年新疆大学信息科学与工程学院数字电路课题组31图8.4.5GAL16V8结构控制字的组成返回2006年新疆大学信息科学与工程学院数字电路课题组32图8.4.6OLMC5种工作模式下的简化电路(图中NC表示不连接)(a)专用输入模式(b)专用组合输出模式(c)反馈组合输出模式(d)时序电路中的组合输出模式(e)寄存器输出模式返回2006年新疆大学信息科学与工程学院数字电路课题组338.4.3GAL的输入特性和输出特性图8.4.7GAL的输入缓冲器电路2006年新疆大学信息科学与工程学院数字电路课题组34GAL的输出缓冲器电路结构中.它除了具有一般三态输出缓冲器的特点以外,还有两个突出特点返回第一个是输出级该用了单一类型的N沟道增强型MOS管,而不是采用P沟道与N沟道管互补的CMOS机构.第二个特点是它的输出具有“软开关特性”.2006年新疆大学信息科学与工程学院数字电路课题组35图8.4.8GAL的输出缓冲器电路返回2006年新疆大学信息科学与工程学院数字电路课题组36图8.4.9GAL的静态输出特性(a)输出为高电平时(b)输出为低电平时返回2006年新疆大学信息科学与工程学院数字电路课题组378.5.1EPLD的基本结构和特点EPLD是继PAL、GAL之后推出的一种可编程逻辑器件.与PAL和GAL相比,EPLD有以下几个特点:1)采用了CMOS工艺,所以EPLD具有CMOS器件低功耗、高噪声容限的优点.2)采用了UVEPROM工艺,以叠栅注入MOS管作为编程单元,所以不仅可靠性高、可以改写,而且集成度高、造价也便宜.3)特点是输出部分采用了类似于GAL器件的可编程的输出逻辑宏单元.此外,为了提高与-或逻辑阵列中乘积项的利用率,有些EPLD的或逻辑阵列部分也引入了可编辑逻辑结构.8.5可擦除的可编程逻辑器件(EPLD)2006年新疆大学信息科学与工程学院数字电路课题组388.5.2EPLD的与-或逻辑阵列图8.5.1AT22V10的电路结构框图2006年新疆大学信息科学与工程学院数字电路课题组39图8.5.3与-或逻辑阵列的乘积项共享结构返回2006年新疆大学信息科学与工程学院数字电路课题组40返回8.5.3EPLD的输出逻辑宏单元(OLMC)EPLD的输出电路结构和GAL相似,也采用了可编程的输出逻辑宏单元OLMC.通过编程的方法能将OLMC设置成各种不同的工作状态.而且,由于增加了对OLMC中触发器的预置和置零功能,因而具有更大的使用灵活性.2006年新疆大学信息科学与工程学院数字电路课题组41图8.5.4AT22V10的OLMC电路结构图返回8.5.3EPLD的输出逻辑宏单元(OLMC)2006年新疆大学信息科学与工程学院数字电路课题组42图8.5.5ATV750的OLMC电路结构图返回2006年新疆大学信息科学与工程学院数字电路课题组43图8.6.1是FPGA基本结构形式的示意图。它由三种可编的单元是输入/输出模块IOB(I/OB1ock),可编程逻辑模块CLB(ConfigurableLogicBlock)和互连资源IR(InterconnectResource)。它们的工作状态全都由编程数据存储器中的数据设定。8.6现场可编程门阵列(FPGA)2006年新疆大学信息科学与工程学院数字电路课题组44图8.6.1FPGA的基本结构框图2006年新疆大学信息科学与工程学院数字电路课题组45一,IOBXC2064是Xilinx公司FPGA器件中结构比较简单的一种,它一共有56个可编程的I/O端。由图8.6.3的电路结构图可见,每个IOB由输出三态缓冲器触发器,输入缓冲器和俩个数据选择器MUX1,MUX2组成。在图中所用的数据选择器符号上只标出了数据输入端和数据输出端省略了地址输入端。实际上每个2选1数据仪器都应当有一位输入地址代码,每个4选1数据选择器应当有两位输入地址代码。这些代码都存放在FPJA内部的编程数据存储器中。G1G28.6.2FPGA的IOB和CLB2006年新疆大学信息科学与工程学院数字电路课题组46图8.6.3XC2064的IOB电路2006年新疆大学信息科学与工程学院数字电路课题组47图8.6.4XC2064的CLB电路二,CLB在XC2064中有64个CLB,排列成88矩阵。每个CLB的电路中包含组合路基电路,存储电路和由一些数据选择器组成的内部控制电路,如图所示。2006年新疆大学信息科学与工程学院数字电路课题组48图8.6.5XC2064中CLB的3种组态(a)四变量任意函数(b)两个三变量任意函数(c)五变量逻辑函数2006年新疆大学信息科学与工程学院数字电路课题组49图8.6.6二变量通用逻辑模块的原理图2006年新疆大学信息科学与工程学院数字电路课题组50图8.6.7XC2064中CLB的存储电路2006年新疆大学信息科学与工程学院数字电路课题组518.6.3FPGA的互连资源为了能将FPGA中数目很大的CLB和IOB连接成各种复杂的系统,在布线区布置了丰富的连线资源。这些互连资源可以分为三类,既金属线,开关矩阵SM和可编程接点PIP。在图8.6.8中出了这些互连资源的布局状况。图8.6.8FPGA内部的互连资源2006年新疆大学信息科学与工程学院数字电路课题组52图8.6.9开关矩阵和可编程连接点图8.6.9中给出了开关矩阵和可编连接点的布置图。开关矩阵的作用如同一个可以实现多根导线转接的接线盒,通过对开关