您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > 数字逻辑第6章可编程逻辑器件
第6章可编程逻辑器件前面介绍的组合逻辑电路和时序逻辑电路由门电路、触发器和中小规模集成电路构成。这些逻辑电路相对比较简单,电路不容易修改。用这些逻辑电路实现数字系统需要大量集成电路和连线,导致系统体积大、功耗大,可靠性低等问题。目前广泛使用的可编程逻辑器件是实现数字系统的理想器件。使用可编程逻辑器件设计逻辑电路的思想是设计只读存储器方法的抽象。本章介绍使用设计只读存储器方法设计组合逻辑电路和时序逻辑电路,以及PLA、PAL、GAL和在系统中可编程逻辑器件的结构和使用原理。6.1可编程只读存储器6.1.1半导体存储器的概念存储器是数字计算机和数字系统中保存信息的重要部件。随着大规模集成电路的发展,半导体存储器具有集成度高、速度快、功耗小、价格低等优点因而被广泛应用于各种数字系统中。半导体存储器按功能可分为随机存取存储器RAM(RandomAccessMemory)和只读存储器ROM(ReadOnlyMemory)两大类。(1)随机存取存储器随机存取存储器是一种既可以读出又可以写入信息的存储器。根据制造工艺的不同,RAM可用双极型晶体管和MOS型晶体管制作。双极型RAM工作速度高、成本高、功耗大、集成度低,主要用作高速小容量存储器。MOS型RAM功耗小、集成度高、成本低,速度比双极型RAM低。MOS型RAM又可进一步分为静态随机存取存储器SRAM(StaticRandomAccessMemory)和动态随机存取存储器DRAM(DynamicRandomAccessMemory)两种。相比之下DRAM的集成度更高一些。MOS型随机存取存储器适于构造大容量存储器。随机存取存储器在没有电源的时,存储器中的信息会丢失。(2)只读存储器只读存储器是一种在工作时只能读出、不能写入的存储器。只读存储器中的信息事先写入,通常用来存放那些固定不变的信息。只读存储器在工作时,将一个给定的地址码加到ROM的地址码输入端,在它的输出端可得到一个事先存入的数据。如果把地址码作为输入逻辑变量的取值,输出作为输出逻辑变量,那么ROM相当于一个组合逻辑电路。这样可以把ROM看作是一个组合逻辑电路。只读存储器存入信息的过程通常称为编程。根据编程方法的不同,可分为掩膜编程ROM(简称MROM)和用户可编程ROM(简称PROM)两类。MROM中存放的信息由生产厂家在制造芯片时使用掩膜技术写入,用户不能改变MROM中的信息。MROM一般使用在工作时只读出信息的场合。MROM有可靠性高,集成度高,批量生产时价格便宜的优点。PROM中存放的信息由用户在编程设备上写入。优点是在使用时灵活方便,适于由用户自己来写入各种信息。MROM和PROM只读存储器都属于非容易失掉信息存储器,即使没有电源时,ROM中存放的信息也不会丢失。RAM和ROM是计算机和数字系统中不可缺少的重要组成部分,它们通常用来存放各种程序和数据。下面从逻辑电路设计的角度,对ROM的结构、类型以及采用设计ROM的方法设计逻辑电路等进行介绍。图6-1由二极管组成的只读存储器从逻辑电路的角度ROM的结构由两部分组成。如图6-1所示,上部是一个固定连接的“与”门阵列,下部是一个可编程“或”门阵列。图6-1中上半部分的“与”门阵列构成两变量A1、A0译码器,译码器的输出是W0、W1、W2和W3。W0=A1A0,W1=A1A0,W2=A1A0,W3=A1A0即译码器的每一个输出对应一个最小项。图6-1中下半部分是“或”门阵列组成的存储体。根据存储体中二极管的接法,00地址的存储单元中存储了“0101”,01地址的存储单元中存储了“1010”,10地址的存储单元中存储了“0111”,11地址的存储单元中存储了“1110”。D3、D2、D1和D0是图6-1ROM的输出。图6-1只读存储器的工作原理是当A1A0=00时,读00单元中的数据,D3、D2、D1和D0=0101;当A1A0=11时,读11单元中的数据,D3、D2、D1和D0=1110。从组合逻辑电路来理解,输出D3、D2、D1和D0分别是“与”门阵列产生的最小项的“或”运算。也就是,当W1=1、W3=1时,输出D3为1。当W0=1、W2=1、W3=1时,输出D2为1。当W1=1、W2=1、W3=1时,输出D3为1。当W0=1、W2=1时,输出D4为1。所以可以写出D3、D2、D1和D0,的表达式如下:从上述表达式可以得到一个重要的启示,设D3、D2、D1和D0是一组逻辑函数表达式,可以设计一个只读存储器来实现它们。具体讲就是,如果要实现一组逻辑函数,可以用“与”门阵列产生逻辑函数中全部的最小项;用“或”门阵列来实现每一个输出函数,即最小项的或运算。这样就可以用只读存储器实现逻辑函数。从设计逻辑电路的角度,可以用设计只读存储器的方法来设计逻辑函数。这个思想是使用可编程器件实现逻辑电路的基础。2.ROM结构的阵列图表示方法为了方便使用设计ROM方法来实现逻辑函数,简化只读存储器电路的画法,把图6-1由二极管组成的只读存储器,在交叉点有二极管的地方,用“·”表示,见图6-2所示,这种表示ROM的图称阵列图。阵列图的上半部分称“与”阵列,产生全部的最小项。阵列图的下半部分称“或”阵列,产生每个输出Di的“或”运算。在阵列图中,所有的变量用原变量和反变量用两根线段表示。在图6-2中的竖线表示由变量A1,A0产生的全部最小项。D0线上有两个“·”,表示两个“与”项的“或”运算,即D0=W0+W2=A2A0+A1A0。同样,D1、D2和D3也可以写出它们的“与”项的“或”运算。图6-2图6-1的阵列图6.1.2采用ROM阵列图设计组合逻辑电路由于ROM由一个固定连接的“与”阵列和一个可编程连接的“或”阵列组成。因此用户只要改变“或”阵列上连接点“·”的数量和位置,就可以在输出端输出最小项组合的“或”运算,以实现不同的逻辑函数。因此,当采用ROM进行逻辑设计时,首先要根据题目要求列出真值表,然后把真值表的输入作为ROM的输入。把要实现的逻辑函数用ROM“与”阵列中的最小项进行“或”运算。然后,画出它们的阵列图,就完成了采用ROM阵列图设计组合逻辑电路的过程。例6-1采用ROM阵列图设计将一位四位二进制数转换成Gray码解:设四位二进制数用输入变量B3、B2、B1、B0表示,转换成的四位Gray码用输出变量G3、G2、G1和G0。第1步,列出四位二进制数与Gray码的真值表,如表6-1所示。表6-1四位二进制数与Gray码真值表第2步,列出逻辑函数表达式第3步,画出阵列图图6-3的阵列图在图6-3中,B3、B2、B1、B0是ROM的输入,也是被转换的二进制数。G3、G2、G1、G0。是Gray码输出。ROM的“与”阵列产生了输入变量B3、B2、B1、B0的全部最小项,“或”阵列产生4个输出函数G3、G2、G1、G0。ROM的容量为24×4。也就是,ROM的存储单元有24个,每一个存储单元存储四位二进制数。ROM的“或”阵列根据函数真值表进行“或”运算。因此,使用ROM设计逻辑函数时,主要是对“或”阵列进行编程。用阵列图表示逻辑电路时,有“●”点处代表有晶体管,写入“1”。否则,写入“0”。6.2可编程逻辑阵列PLA前面介绍使用设计ROM方法来实现逻辑函数,ROM的“与”阵列产生n个输入变量的全部最小项。然而对于大多数逻辑函数表达式,并非使用最小项,而是“与”项。因此,ROM的“与”阵列造成了阵列资源浪费。解决这个问题的方法是,如果逻辑函数由“与”项组成,那么让“与”阵列产生“与”项,仍然用“或”门阵列来实现每一个输出函数。这样,让“与”阵列产生“与”项,称“与”阵列是可编程的。用这样的方法实现逻辑函数,称为可编程逻辑阵列PLA(ProgrammableLogicArray)。例6-2用PLA设计一个代码转换电路,将一位十进制数的8421BCD码转换成余3码。解:设A、B、C、D表示8421BCD码四位二进制数,W、X、Y、Z表示余3码。第1步,列出真值表。如表6-2所示。表6-2一位十进制数8421BCD码对应的余3码第2步,写出逻辑函数表达式,用卡诺图进行化简,得到最简“与-或”表达式为第3步,画出阵列图如图6-4所示。全部输出函数中包含9个“与”项。图6-4阵列图PLA不仅可以用来实现任意组合逻辑电路的设计,也可以实现时序逻辑电路的设计。由于时序逻辑电路的输出不仅取决于当时电路的输入,而且取决于过去输入的内部状态。所以,用“与”门阵列要产生时序逻辑电路中全部的激励函数和输出函数的“与”项。“与”门阵列的输入是外部输入X和现态。“或”门阵列的输出是激励函数和外部输出。另外,触发器加一个复位信号,用PLA设计时序逻辑电路的结构图如6-5所示。图6-5时序PLA的结构框图例6-3用PLA设计一个8421BCD码加1计数器。用七段数码显示器显示8421BCD计数器值。解:该题的设计包括两个部分,一部分是按照同步时序逻辑电路的设计方法设计一个8421BCD码加1计数器,另一部分是按照组合逻辑电路设计方法,把8421BCD码的计数值转换成用七段数码显示器显示的代码转换电路。最后画出两部分的PLA阵列图。第1步,作出8421BCD码加1计数器状态表。设现态用y4、y3、y2、y1表示,次态用yn+14、yn+13、yn+12、yn+11表示,如表6-3所示。表6-38421BCD码加1计数器的状态表第2步,假定采用JK触发器作为存储元件,根据表6-1和JK触发器的激励表,可得到JK触发器的激励函数表达式为激励函数共包含4个“与”项即y3y2y1、y1、y2y1和y4y1。第3步,列出8421BCD码转换七段数码显示器的真值表。如表6-4所示。表6-48421BCD码转换为七段显示码的真值表根据表6-4做出转换电路输出a、b、c、d、e、f、g的卡诺图,得到代码转换电路的输出函数表达式为转换电路的输出a、b、c、d、e、f、g有8个“与”项:y4、y3y1、y3y2y1,y3、y2y1、y3y1、y2y1和y3y2。第4步,根据激励函数和转换电路的输出函数表达式,画出阵列逻辑如图6-6所示。6.3可编程阵列逻辑PALPAL(ProgrammingArrayLogic)是在PROM和PLA的基础上发展起来的一种可编程逻辑器件。它相对于PROM而言,使用灵活,可用于完成多种逻辑功能编程,PAL的制作比PLA工艺简单。1.PAL的逻辑结构PAL由一个可编程的“与”阵列和一个固定连接的“或”阵列组成。图6-7a是一个三输入三输出PAL的逻辑结构图,通常表示成图6-7b所示的形式。在PAL中每个输出包含的“与”项数目是由固定连接的“或”阵列提供的。在逻辑设计中,一般函数大约包含3~4个“与”项。现有PAL器件最多可为每个输出提供8个“与”项。因此,这种器件能够满足逻辑电路设计的需要。PAL器件内部的结构是由器件生产厂家固定设计的。按照输出和反馈结构,PAL器件可以分为5种基本类型。(1)专用输出的基本门阵列结构图6-8表示了这种结构类型的1个输入、1个输出、4个“与”项的专用输出的基本门阵列结构。图中输出部分采用“或非”门,为低电平有效器件。若输出部分采用“或”门结构,则为高电平有效器件。有的器件输出部分采用互补输出的“或”门,称为互补输出器件。这种结构类型适用于实现组合逻辑函数。常见的具有专用输出的基本门阵列结构的产品有PAL10H8(10个输入、8个输出、输出高电平有效),PAL12L6(12个输入、6个输出、输出低电平有效)等图6-8专用输出的基本门阵列结构2)带反馈的可编程I/O结构PAL器件的特点之一是可编程输入或者输出。也就是允许“与”项直接控制PAL的输出驱动器,同时该输出端又可作为一个输入反馈到PAL“与”阵列。如图6-9所示。图中最上面一个“与”门所对应的“与”项作为输出三态缓冲器的选通控制。编程时如果该“与”门所有的输入全接通,此“与”项输出为“0”,则三态缓冲器处于高阻状态,这时I/O输出引脚作为输入使用。右边一个互补输出缓冲器作为输入缓冲器用。相反地,如果最上面与门
本文标题:数字逻辑第6章可编程逻辑器件
链接地址:https://www.777doc.com/doc-51058 .html