2020/5/121第八章可编程逻辑器件8.3可编程阵列逻辑(PAL)8.4通用阵列逻辑(GAL)8.5高密度PLD8.7现场可编程门阵列(FPGA)8.1概述8.2现场可编程逻辑阵列(FPLA)2020/5/1228.1概述目前集成电路分为通用型和专用型两大类。通用集成电路:如前面讲过的SSI,MSI,CPU等。特点:1.可实现预定制的逻辑功能,但功能相对简单;2.构成复杂系统时,功耗大、可靠性差,灵活性差。专用型集成电路(ASIC)分为定制型和半定制型。(一)定制型:由用户提出功能,交工厂生产。其特点是1.体积小、功耗低、可靠性高,2.批量小时成本高,设计制造周期长。3.用户不可编程。一、数字集成电路按逻辑功能分类2020/5/123(二)半定制型:是厂家作为通用产品生产,而逻辑功能由用户自行编程设计的ASIC芯片,如可编程逻辑器件(PLD)。其特点是:1.用户可编程,可加密,因此使用方便;2.组成的系统体积小,功耗低,可靠性高,集成度高;3.适合批量生产。二、电子设计自动化(EDA-ElectronicDesignAutomation)简介1.PLD是实现电子设计自动化的硬件基础;2020/5/124基于芯片的设计方法可编程器件芯片设计电路板的设计电子系统传统电子系统设计方法固定功能元件电路板的设计电子系统EDA是“基于芯片的设计方法”:传统的数字系统设计方法是“固定功能集成块+连线”,见图。当然,仅有硬件还不够,还要有EDA软件。本章只介绍硬件。2020/5/1252.基于PLD设计流程基于可编程逻辑器件设计分为三个步骤:设计输入、设计实现、编程。其设计流程如下图。器件编程功能仿真设计输入原理图硬件描述语言设计实现优化合并、映射布局、布线器件测试时序仿真设计实现:生成下载所需的各种文件。器件编程:即“下载”和“配置”,即将编程数据放到具体的可编程器件中。2020/5/1263.用PLD设计数字系统的特点采用PLD设计数字系统和中小规模相比具有如下特点:(1)减小系统体积:单片PLD有很高的密度,可容纳中小规模集成电路的几片到十几片。(低密度PLD小于700门/片,高密度PLD每片达数万门,最高达25万门)。(2)增强逻辑设计的灵活性:使用PLD器件设计的系统,可以不受标准系列器件在逻辑功能上的限制;用户可随时修改。(3)缩短设计周期:由于可完全由用户编程,用PLD设计一个系统所需时间比传统方式大为缩短;(4)用PLD与或两级结构实现任何逻辑功能,比用中小规模器件所需的逻辑级数少。这不仅简化了系统设计,而且减少了级间延迟,提高了系统的处理速度;2020/5/127(7)系统具有加密功能:多数PLD器件,如GAL或高密度可编程逻辑器件,本身具有加密功能。设计者在设计时选中加密项,可编程逻辑器件就被加密。器件的逻辑功能无法被读出,有效地防止电路被抄袭。(5)由于PLD集成度高,测试与装配的量大大减少。PLD可多次编程,这就使多次改变逻辑设计简单易行,从而有效地降低了成本;(6)提高系统的可靠性:用PLD器件设计的系统减少了芯片数量和印制板面积,减少相互间的连线,增加了平均寿命,提高抗干扰能力,从而增加了系统的可靠性;2020/5/128PLD是70年代发展起来的新型逻辑器件,相继出现了PROM、FPLA、PAL、GAL、EPLD和FPGA及iSP等。前四种属于低密度PLD,后三种属高密度PLD。1.PLD的基本结构与门阵列或门阵列乘积项和项输入电路输入信号互补输入输出电路输出函数反馈输入信号它们组成结构基本相似:三、PLD概述2020/5/129ABCDF2F2=B+C+DABCDF12.PLD的逻辑符号表示方法1)输入缓冲器表示方法AAA2)与门和或门的表示方法F1=A•B•C×2020/5/1210下图列出了连接的三种特殊情况:①输入全编程,输出为0。②也可简单地在对应的与门中画叉,因此E=D=0。③乘积项与任何输入信号都没有接通,相当与门输出为1。2020/5/1211PLD中用的逻辑图符号2020/5/1212下图给出最简单的PROM电路图,右图是左图的简化形式。实现的函数为:BABAF1BABAF2BAF32020/5/12133.PLD的结构类型(1)与固定、或编程:PROM(2)与或全编程:FPLA(3)与编程、或固定:PAL、GAL、EPLD、FPGA1)与固定、或编程:(PROM)PLD基本结构大致相同,根据与或阵列是否可编程分为三类:ABCBCA0000010101112020/5/12142)与、或全编程:代表器件是FPLA(FieldProgrammableLogicArray)3)与编程、或固定:代表器件PAL(ProgrammableArrayLogic)和GAL(GenericArrayLogic)、EPLD、FPGA(FieldProgrammableGateArray)。在这种结构中,与阵列可编程,或阵列中每个或门所连接的乘积项是固定的,见下页图。其中EPLD和FPGA的结构还要复杂得多,我们将在后面介绍。2020/5/1215每个交叉点都可编程。O1O1为两个乘积项之和。与阵列可编程,或阵列不可编程的PLD。2020/5/12164.PLD的分类(按集成度分类)可编程逻辑器件PLDLDPLD(低密度PLD)HDPLD(高密度PLD)EPLDFPGAiSPPROMFPLAPALGAL2020/5/1217组合电路和时序电路结构的通用形式A0~An-1W0W(2n-1)D0Dm8.2现场可编程逻辑阵列(FPLA)2020/5/1218组合电路和时序电路结构的通用形式可编程的“或”阵列可编程的“与”阵列2020/5/12198.3可编程阵列逻辑器件(PAL)8.3.1PAL的基本结构PAL是由可编程的与阵列、固定的或阵列和输出电路三部分组成。有些PAL器件中,输出电路包含触发器和从触发器输出端到与阵列的反馈线,便于实现时序逻辑电路。同一型号的PAL器件的输入、输出端个数固定。含一个可编程的与阵列逻辑和一个固定的或阵列逻辑2020/5/1220W0W1W2W3A0A1++++Y0Y1Y2Y3PAL与阵列可编程、或阵列固定FPLA与、或阵列均可编程W0W1W2W3A0A1++++Y0Y1Y2Y32020/5/12211.专用输出结构II8.3.2PAL的几种输出电路结构和反馈形式这种结构的输出端只能作输出用,不能作输入用。因电路中不含触发器,所以只能实现组合逻辑电路。输出端可以是或门、或非门,或者互补输出结构。目前常用的产品有PAL10H8(10输入,8输出,高电平输出有效)、PAL10L8、PAL16C1(16输入,1输出,互补型输出)等。2020/5/1222用途:产生组合逻辑电路1.专用输出结构2020/5/1223BA“或”阵列(固定)SC“与”阵列(可编程)CBCACABCABCCABBCACBAS''''''全加器2020/5/12242.可编程I/O输出结构用途:组合逻辑电路,有三态控制可实现总线连接可将输出作输入用2020/5/1225这种结构的或门输出经过三态输出缓冲器,可直接送往输出,也可再经互补输出的缓冲器反馈到与阵列输入。即它既可作为输出用,也可作为输入用。用于实现复杂的组合逻辑电路。目前常用的产品有PAL16L8、PAL20L10等。在有些可编程I/O结构的PAL器件中,在与或逻辑阵列的输出和三态缓冲器之间还设置有可编程的异或门。通过对异或门一个可编程输入端的编程可以控制输出的极性。2020/5/12263.寄存器型输出结构:也称作时序结构,如下图所示。用途:产生时序逻辑电路2020/5/12274.带异或门的寄存器型输出结构:目前常用的产品有PAL20X4、PAL20X8(X表示异或输出型)等。时序逻辑电路还可便于对“与-或”输出求反2020/5/12285.运算选通反馈输出结构:时序逻辑电路可产生A、B的十六种算术、逻辑运算2020/5/1229PAL器件产品型号说明(1)生产厂家对PAL器件的命名,前面一般还有厂家的标志;(2)代表制造工艺:空白代表TTL,C代表CMOS;(3)代表PAL器件的最大阵列输入数;(4)代表输出电路类型(见另页)。(5)代表最大的组合输出端数目或最大的寄存器数目。(6)表示器件功耗级别、速度等级,封装形式等信息。2020/5/1230表1PAL器件的输出电路类型代号意义例子H高电平输出(Active-HighOutput)PAL10H8L低电平输出(Active-LowOutput)PAL16L8P输出极性可编程(ProgrammableOutputPolarity)PAL16P8C互补式输出(ComplementaryOutput)PAL16C1X带异或门输出(Exclusive-ORGate)PAL2010R带寄存器输出(RegisteredOutput)PAL16R8RP输出极性可编程且带寄存器的输出(RegisteredwithProgrammableProarity)PAL16RP8RA带有非同步的寄存器输出(RegisteredAsynchronous)PAL16RA82020/5/12318.3.3PAL的应用举例【例8.3.1】用PAL器件设计一个数值判别电路。要求判断4位二进制数DCBA的大小属于0~5、6~10、11~15三个区间的哪一个之内。解:设Y0=1表示DCBA的数值在0-5之间;设Y1=1表示DCBA的数值在6-10之间;设Y2=1表示DCBA的数值在11-15之间;则可列真值表如下:2020/5/1232输入输出DCBAY0Y1Y200001000001100001010000111000100100010110001100100111010输入输出DCBAY0Y1Y210000101001010101001010110011100001110100111100011111001写出表达式:)5,4,3,2,1,0(0Y)10,9,8,7,6(1Y)15,14,13,12,11(2Y2020/5/1233卡诺图化简:这是一组具有四输入变量,三输出端的组合逻辑函数。用PAL器件实现,应选四个以上输入端,三个以上输出端的器件,且至少有一个输出含有三个以上的乘积项。所以可选择PAL14H4。然后按表达式进行编程即可。图见8.3.1010110100BA00011110DCL10110100BA00011110DCL10110100BA00011110DCLY0Y1Y21111111111111111''''0BDCDY'''''1ADCBDCCBDYDBADCY22020/5/1234采用E2CMOS工艺和灵活的输出结构,有电擦除、可反复编程的特性。与PAL相比,GAL的输出结构配置了可以任意组态的输出逻辑宏单元OLMC(OutputLogicMacroCell)。因此,同一型号的GAL器件可满足多种不同的需要。一、电路结构形式可编程“与”阵列+固定“或”阵列+可编程输出电路OLMC8.4通用阵列逻辑(GAL)2020/5/1235GAL和PAL在结构上的区别见下图:2020/5/12362OLMC(19)CK1983OLMC(18)18164OLMC(17)17245OLMC(16)16326OLMC(15)15407OLMC(14)14488OLMC(13)13569OLMC(12)126311OE1008162431(a)GAL16V81234567892019181716151413121110GNDUCC(b)图9-29(a)逻辑图;(b)引脚图GAL16V8逻辑图及引脚图2020/5/1237二、GAL输出逻辑宏单元OLMC的组成输出逻辑宏单元OLMC由或门、异或门、D触发器、多路选择器MUX、时钟控制、使能控制和编程元件等组成,如下图:2020/5/12381个或门1个异或门1个D触发器功能:将与阵列的乘积项进行逻辑或