数字逻辑第6章可编程逻辑器件.ppt
《数字逻辑第6章可编程逻辑器件.ppt》由会员分享,可在线阅读,更多相关《数字逻辑第6章可编程逻辑器件.ppt(64页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第 6 章章 可编程逻辑器件可编程逻辑器件2021/9/171 前面介绍的组合逻辑电路和时序逻辑电路由门电路、触发器和中小规模集成电路构成。这些逻辑电路相对比较简单,电路不容易修改。用这些逻辑电路实现数字系统需要大量集成电路和连线,导致系统体积大、功耗大,可靠性低等问题。目前广泛使用的可编程逻辑器件是实现数字系统的理想器件。使用可编程逻辑器件设计逻辑电路的思想是设计只读存储器方法的抽象。本章介绍使用设计只读存储器方法设计组合逻辑电路和时序逻辑电路,以及PLA、PAL、GAL和在系统中可编程逻辑器件的结构和使用原理。2021/9/1726.1可编程只读存储器6.1.1半导体存储器的概念 存储器
2、是数字计算机和数字系统中保存信息的重要部件。随着大规模集成电路的发展,半导体存储器具有集成度高、速度快、功耗小、价格低等优点因而被广泛应用于各种数字系统中。半导体存储器按功能可分为随机存取存储器RAM(Random Access Memory)和只读存储器ROM(Read Only Memory)两大类。(1)随机存取存储器 随机存取存储器是一种既可以读出又可以写入信息的存储器。根据制造工艺的不同,RAM可用双极型晶体管和MOS型晶体管制作。双极型RAM工作速度高、成本高、功耗大、集成度低,主要用作高速小容量存储器。MOS型RAM功耗小、集成度高、成本低,速度比双极型RAM低。MOS型RAM又
3、可进一步分为静态随机存取存储器SRAM(Static Random Access Memory)和动态随机存取存储器DRAM(Dynamic Random Access Memory)两种。相比之下DRAM的集成度更高一些。MOS型随机存取存储器适于构造大容量存储器。随机存取存储器在没有电源的时,存储器中的信息会丢失。2021/9/173 (2)只读存储器 只读存储器是一种在工作时只能读出、不能写入的存储器。只读存储器中的信息事先写入,通常用来存放那些固定不变的信息。只读存储器在工作时,将一个给定的地址码加到ROM的地址码输入端,在它的输出端可得到一个事先存入的数据。如果把地址码作为输入逻辑变
4、量的取值,输出作为输出逻辑变量,那么ROM相当于一个组合逻辑电路。这样可以把ROM看作是一个组合逻辑电路。只读存储器存入信息的过程通常称为编程。根据编程方法的不同,可分为掩膜编程ROM(简称MROM)和用户可编程ROM(简称PROM)两类。MROM中存放的信息由生产厂家在制造芯片时使用掩膜技术写入,用户不能改变MROM中的信息。MROM一般使用在工作时只读出信息的场合。MROM有可靠性高,集成度高,批量生产时价格便宜的优点。PROM中存放的信息由用户在编程设备上写入。优点是在使用时灵活方便,适于由用户自己来写入各种信息。MROM和PROM只读存储器都属于非容易失掉信息存储器,即使没有电源时,R
5、OM中存放的信息也不会丢失。RAM和ROM是计算机和数字系统中不可缺少的重要组成部分,它们通常用来存放各种程序和数据。下面从逻辑电路设计的角度,对ROM的结构、类型以及采用设计ROM的方法设计逻辑电路等进行介绍。2021/9/174图6-1由二极管组成的只读存储器2021/9/175 从逻辑电路的角度ROM的结构由两部分组成。如图6-1所示,上部是一个固定连接的“与”门阵列,下部是一个可编程“或”门阵列。图6-1中上半部分的“与”门阵列构成两变量A1、A0译码器,译码器的输出是W0、W1、W2 和W3。W0=A1 A0,W1=A1 A0,W2=A1 A0,W3=A1 A0即译码器的每一个输出对
6、应一个最小项。图6-1中下半部分是“或”门阵列组成的存储体。根据存储体中二极管的接法,00地址的存储单元中存储了“0101”,01地址的存储单元中存储了“1010”,10地址的存储单元中存储了“0111”,11地址的存储单元中存储了“1110”。D3、D2、D1和D0是图6-1 ROM的输出。图6-1只读存储器的工作原理是当A1 A0=00时,读00单元中的数据,D3、D2、D1和D0=0101;当A1 A0=11时,读11单元中的数据,D3、D2、D1和D0=1110。从组合逻辑电路来理解,输出D3、D2、D1和D0分别是“与”门阵列产生的最小项的“或”运算。也就是,当W11、W31时,输出
7、D3为1。当W01、W21、W31时,输出D2为1。当W11、W21、W31时,输出D3为1。当W01、W21时,输出D4为1。所以可以写出D3、D2、D1和D0,的表达式如下:2021/9/176 从上述表达式可以得到一个重要的启示,设D3、D2、D1和D0是一组逻辑函数表达式,可以设计一个只读存储器来实现它们。具体讲就是,如果要实现一组逻辑函数,可以用“与”门阵列产生逻辑函数中全部的最小项;用“或”门阵列来实现每一个输出函数,即最小项的或运算。这样就可以用只读存储器实现逻辑函数。从设计逻辑电路的角度,可以用设计只读存储器的方法来设计逻辑函数。这个思想是使用可编程器件实现逻辑电路的基础。20
8、21/9/1772.ROM结构的阵列图表示方法 为了方便使用设计ROM方法来实现逻辑函数,简化只读存储器电路的画法,把图6-1由二极管组成的只读存储器,在交叉点有二极管的地方,用“”表示,见图6-2所示,这种表示ROM的图称阵列图。阵列图的上半部分称“与”阵列,产生全部的最小项。阵列图的下半部分称“或”阵列,产生每个输出Di的“或”运算。在阵列图中,所有的变量用原变量和反变量用两根线段表示。在图6-2中的竖线表示由变量A1,A0产生的全部最小项。D0线上有两个“”,表示两个“与”项的“或”运算,即D0=W0+W2=A2 A0+A1 A0。同样,D1、D2和D3也可以写出它们的“与”项的“或”运
9、算。图6-2 图6-1的阵列图2021/9/1786.1.2采用ROM阵列图设计组合逻辑电路 由于ROM由一个固定连接的“与”阵列和一个可编程连接的“或”阵列组成。因此用户只要改变“或”阵列上连接点“”的数量和位置,就可以在输出端输出最小项组合的“或”运算,以实现不同的逻辑函数。因此,当采用ROM进行逻辑设计时,首先要根据题目要求列出真值表,然后把真值表的输入作为ROM的输入。把要实现的逻辑函数用ROM“与”阵列中的最小项进行“或”运算。然后,画出它们的阵列图,就完成了采用ROM阵列图设计组合逻辑电路的过程。例例6-1采用采用ROM阵列图设计将一位四位二进制数转换成Gray码 解:设四位二进制
10、数用输入变量B3、B2、B1、B0表示,转换成的四位Gray码用输出变量G3、G2、G1和G0。第1步,列出四位二进制数与Gray码的真值表,如表6-1所示。2021/9/179表6-1 四位二进制数与Gray码真值表2021/9/1710第2步,列出逻辑函数表达式第3步,画出阵列图图6-3的阵列图 2021/9/1711 在图6-3中,B3、B2、B1、B0是 ROM的输入,也是被转换的二进制数。G3、G2、G1、G0。是Gray码输出。ROM的“与”阵列产生了输入变量B3、B2、B1、B0的全部最小项,“或”阵列产生4个输出函数G3、G2、G1、G0。ROM的容量为244。也就是,ROM的
11、存储单元有24个,每一个存储单元存储四位二进制数。ROM的“或”阵列根据函数真值表进行“或”运算。因此,使用ROM设计逻辑函数时,主要是对“或”阵列进行编程。用阵列图表示逻辑电路时,有“”点处代表有晶体管,写入“1”。否则,写入“0”。6.2可编程逻辑阵列PLA 前面介绍使用设计ROM方法来实现逻辑函数,ROM的“与”阵列产生n个输入变量的全部最小项。然而对于大多数逻辑函数表达式,并非使用最小项,而是“与”项。因此,ROM的“与”阵列造成了阵列资源浪费。解决这个问题的方法是,如果逻辑函数由“与”项组成,那么让“与”阵列产生“与”项,仍然用“或”门阵列来实现每一个输出函数。这样,让“与”阵列产生
12、“与”项,称“与”阵列是可编程的。用这样的方法实现逻辑函数,称为可编程逻辑阵列PLA(Programmable Logic Array)。2021/9/1712例例6-2 用PLA设计一个代码转换电路,将一位十进制数的8421 BCD码转换成余3码。解:设A、B、C、D表示8421 BCD码四位二进制数,W、X、Y、Z表示余3码。第1步,列出真值表。如表6-2所示。表6-2 一位十进制数8421 BCD码对应的余3码2021/9/1713第2步,写出逻辑函数表达式,用卡诺图进行化简,得到最简“与-或”表达式为第3步,画出阵列图如图6-4所示。全部输出函数中包含9个“与”项。2021/9/171
13、4图6-4 阵列图 2021/9/1715 PLA不仅可以用来实现任意组合逻辑电路的设计,也可以实现时序逻辑电路的设计。由于时序逻辑电路的输出不仅取决于当时电路的输入,而且取决于过去输入的内部状态。所以,用“与”门阵列要产生时序逻辑电路中全部的激励函数和输出函数的“与”项。“与”门阵列的输入是外部输入X和现态。“或”门阵列的输出是激励函数和外部输出。另外,触发器加一个复位信号,用PLA设计时序逻辑电路的结构图如6-5所示。图6-5 时序PLA的结构框图2021/9/1716 例例6-3 用PLA设计一个8421 BCD码加1计数器。用七段数码显示器显示8421 BCD计数器值。解:该题的设计包
14、括两个部分,一部分是按照同步时序逻辑电路的设计方法设计一个8421 BCD码加1计数器,另一部分是按照组合逻辑电路设计方法,把8421 BCD码的计数值转换成用七段数码显示器显示的代码转换电路。最后画出两部分的PLA阵列图。第1步,作出8421 BCD码加1计数器状态表。设现态用y4、y3、y2、y1表示,次态用yn+14、yn+13、yn+12、yn+11表示,如表6-3所示。表6-3 8421 BCD码加1计数器的状态表2021/9/1717 第2步,假定采用JK触发器作为存储元件,根据表6-1和JK触发器的激励表,可得到JK触发器的激励函数表达式为激励函数共包含4个“与”项即y3 y2
15、y1、y1、y2 y1和y4 y1。第3步,列出8421 BCD码转换七段数码显示器的真值表。如表6-4所示。2021/9/1718表6-4 8421 BCD码转换为七段显示码的真值表2021/9/1719 根据表6-4 做出转换电路输出a、b、c、d、e、f、g的卡诺图,得到代码转换电路的输出函数表达式为转换电路的输出a、b、c、d、e、f、g有8个“与”项:y4、y3 y1、y3 y2 y1,y3、y2 y1、y3 y1、y2 y1和y3 y2。2021/9/1720 第4步,根据激励函数和转换电路的输出函数表达式,画出阵列逻辑如图6-6所示。2021/9/17216.3可编程阵列逻辑PA
16、L PAL(Programming Array Logic)是在PROM和PLA的基础上发展起来的一种可编程逻辑器件。它相对于PROM而言,使用灵活,可用于完成多种逻辑功能编程,PAL的制作比PLA工艺简单。1.PAL的逻辑结构 PAL由一个可编程的“与”阵列和一个固定连接的“或”阵列组成。图6-7a是一个三输入三输出PAL的逻辑结构图,通常表示成图6-7b所示的形式。2021/9/17222021/9/1723 在PAL中每个输出包含的“与”项数目是由固定连接的“或”阵列提供的。在逻辑设计中,一般函数大约包含34个“与”项。现有PAL器件最多可为每个输出提供8个“与”项。因此,这种器件能够满
17、足逻辑电路设计的需要。PAL器件内部的结构是由器件生产厂家固定设计的。按照输出和反馈结构,PAL器件可以分为5种基本类型。(1)专用输出的基本门阵列结构 图6-8表示了这种结构类型的1个输入、1个输出、4个“与”项的专用输出的基本门阵列结构。图中输出部分采用“或非”门,为低电平有效器件。若输出部分采用“或”门结构,则为高电平有效器件。有的器件输出部分采用互补输出的“或”门,称为互补输出器件。这种结构类型适用于实现组合逻辑函数。常见的具有专用输出的基本门阵列结构的产品有PAL10H8(10个输入、8个输出、输出高电平有效),PAL12L6(12个输入、6个输出、输出低电平有效)等 2021/9/
18、1724图6-8 专用输出的基本门阵列结构2021/9/1725 2)带反馈的可编程I/O结构 PAL器件的特点之一是可编程输入或者输出。也就是允许“与”项直接控制PAL的输出驱动器,同时该输出端又可作为一个输入反馈到PAL“与”阵列。如图6-9所示。图中最上面一个“与”门所对应的“与”项作为输出三态缓冲器的选通控制。编程时如果该“与”门所有的输入全接通,此“与”项输出为“0”,则三态缓冲器处于高阻状态,这时I/O 输出引脚作为输入使用。右边一个互补输出缓冲器作为输入缓冲器用。相反地,如果最上面与门的所有输入项都断开,此“与”输出为“1”,则三态缓冲器为工作状态,这时I/0 输出引脚作为输出使
19、用。根据这一特性,可以通过编程指定某些I/O端的方向,从而改变器件输入/输出线数目的比例。同时,由于器件输出的反馈功能(不论I/O引脚作为输入还是输出使用,都通过互补输出缓冲器反馈至“与”阵列),可以在实现数据移位的操作中提供双向I/O功能。该类PAL器件常见产品有PAL16L8(10个输入、8个输出、6个反馈输入)以及PAL20L10(12个输入、10个输出、8个反馈输入)。这种结构通常又称为异步编程I/O结构。2021/9/1726图6-9 PAL带反馈的可编程I/O结构2021/9/17273)带反馈的寄存器输出结构 PAL高档产品是带有反馈的寄存器输出,如图6-10所示。图中由“或”门
20、产生的具有8个“与”项的“与-或”输出,在系统时钟CLK的作用下保存到D触发器中。触发器的输出通过公共选通(OE)的三态缓冲器送到输出端,此输出Q是低电平有效。D触发器的输出Q通过一个互补输出缓冲器反馈回“与”阵列,这种反馈功能使PAL提供了时序网络结构,从而能够实现时序逻辑电路的设计。例如,加减计数、移位、转移等操作。该类器件的典型产品有PAL16R8(8个输入、8个寄存器输出、8个反馈输入、1个公共时钟和1个公共选通)。2021/9/1728 PAL还有带“异或”反馈的寄存器输出结构。这种结构是在带反馈寄存器输出结构的基础上增加了一个“异或”门。这类PAL在D触发器的D端引入一个“异或”门
21、,使D端的极性可通过编程设置。这实际上是允许把输出端设置为高电位有效或者低电位有效。这类可编程器件的产品有PAL16RP8(有8个输入、8个寄存器输出和8个反馈输入)。PAL还有带算术选通反馈的结构。算术PAL是综合了前几种PAL结构的特点,增加了反馈选通电路,使之能实现多种算术运算功能。输出有(A+B)、(A+B)、(A+B)和(A+B),这4个项作为逻辑变量送至“与”阵列进行编程,可以对变量A、B进行二元逻辑运算,一共有16种可能的逻辑运算组合。算术PAL的产品有PAL16A4(8个输入、4个寄存器、4个可编程I/0输出、4个反馈输入和4个算术选通反馈输入)。6.4通用阵列逻辑GAL PA
22、L器件的发展和应用,给逻辑电路设计提供了很大的灵活性,但这种灵活性仍有一定的局限性。例如,PAL采用的是熔丝式工艺,编程后不能擦除。另外,PAL的输出结构不够灵活,致使对不同输出结构的需求要选用不同型号的PAL器件等。GAL(Generic Array Logic)器件是1985年开发出的一种新PLD器件。它是在PAL器件的基础上综合了E2PROM和CMOS技术发展起来的新型器件。GAL器件具有编程后可以擦除、重新编程,结构可组态的特点。这些使GAL器件具有更大的灵活性。2021/9/1729 GAL器件按门阵列的可编程结构可分为两大类。一类是与PAL基本结构相似的普通型GAL器件,“与门”阵
23、列是可编程的,“或门”阵列是固定连接的。例如20引脚的GAL16V8器件。另一类是与PLA器件相似的新一代GAL器件,“与门”阵列和“或门”阵列都是可编程的,例如24引脚的GAL39V8器件。GAL的基本逻辑结构。普通型GAL的基本结构与PAL相类似,都是由一个可编程的“与”阵列和一个固定连接的“或”阵列组成,所不同的是输出部件结构不同。GAL在每一个输出端都集成有一个输出逻辑宏单元OLMC(Output Logic Cell),允许使用者定义每个输出的结构和功能。图6-11是GAL16V8器件的逻辑结构图。GAL16V8器件芯片是具有8个固定输入引脚、最多可达16个输入引脚,8个输出引脚,输
24、出可编程的普通型GAL。它由8个输入缓冲器、8个反馈输入缓冲器、8个输出逻辑宏单元OLMC、8个输出三态缓冲器、“与”阵列和系统时钟、输出选通信号等组成。其中,“与”阵列包含32列和64行,32列表示8个输入的原变量和反变量以及8个输出反馈信号的原变量和反变量。64行表示“与”阵列可产生64个“与”项,对应8个输出,每个输出包括8个“与”项。2021/9/1730 图6-11 GAL16V8的基本逻辑结构 2021/9/1731 (1)输入端。GAL16V8的引脚29为8个输入端,每个输入端有一个缓冲器,并由缓冲器引出两个互补的输出到“与”阵列;(2)与阵列部分,它由8个输入及8个输出各引出两
25、个互补的输出构成32列,即与项的变量个数为16;8个输出中的每个输出对应于一个8输入“或”门(相当于每个输出包含8个“与”项)构成64行,即GAL16V8的“与”阵列为一个3264的阵列,共2048个可编程单元(或结点);(3)输出宏单元,GAL16V8共有8个输出宏单元,分别对应于引脚1219。每个宏单元的电路可以通过编程实现所有PAL输出结构实现的功能;(4)系统时钟,GAL16V8的引脚1为系统时钟输入端,与每个输出宏单元中D触发器时钟输入端相连,可见GAL器件只能实现同步时序逻辑电路,而无法实现异步时序逻辑电路;(5)输出三态控制端,GAL16V8的引脚11为器件的三态控制公共端。图6
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 逻辑 可编程 器件
限制150内