1、第八章第八章 可编程逻辑器件可编程逻辑器件8.1 8.1 可编程逻辑器件可编程逻辑器件PLDPLD概述概述8.2 8.2 可编程只读存储可编程只读存储PROMPROM和和可编程逻辑阵列可编程逻辑阵列PLAPLA8.3 8.3 可编程逻辑器件可编程逻辑器件PALPAL和和通用逻辑阵列通用逻辑阵列GALGAL焊点多,可靠性下降焊点多,可靠性下降传统的逻辑系统,当规模增大时传统的逻辑系统,当规模增大时(SSI MSI)SSI MSI)系统规模增加成本升高系统规模增加成本升高功耗增加功耗增加占用空间扩大占用空间扩大连接线与点增多连接线与点增多抗干扰下降抗干扰下降从逻辑器件的功能和使用方法看,最初的逻辑
2、器件全部采用标准通用从逻辑器件的功能和使用方法看,最初的逻辑器件全部采用标准通用片,后来发展到采用用户片和现场片。片,后来发展到采用用户片和现场片。通用片通用片的功能是器件厂制造时定死的,用户只能拿来使用而不能改变的功能是器件厂制造时定死的,用户只能拿来使用而不能改变其内部功能。其内部功能。通用片有门、触发器、多路开关、加法器、寄存器、计数器、译码器通用片有门、触发器、多路开关、加法器、寄存器、计数器、译码器等逻辑器件和随机读写存储器件。等逻辑器件和随机读写存储器件。用户片用户片是完全按用户要求设计的是完全按用户要求设计的VLSI器件。它对用户来讲是优化的,器件。它对用户来讲是优化的,但是设计
3、周期长,设计费用高,通用性低,销售量少。用户片一般称为专但是设计周期长,设计费用高,通用性低,销售量少。用户片一般称为专用集成电路用集成电路(ASIC),但是它也向通用方向发展。,但是它也向通用方向发展。由于通用片和全用户片的使用范围有限,由于通用片和全用户片的使用范围有限,20世纪世纪70年代以后陆续出现年代以后陆续出现了用户可在现场更改其内容了用户可在现场更改其内容(功能功能)的的现场片现场片,如,如EPROM,FPLA,PAL,GAL,FPGA等一类可编程逻辑器件,通称为等一类可编程逻辑器件,通称为PLD器件器件。它们规整通用,。它们规整通用,适合采用高集成度技术,因此,在数字系统中得到
4、了迅速的应用。适合采用高集成度技术,因此,在数字系统中得到了迅速的应用。专用集成电路(简称专用集成电路(简称ASICASIC)系统放在一个芯片内系统放在一个芯片内Application Specific Integrated Circuit全定制(全定制(Full Custom Design IC)Full Custom Design IC)ASIC半定制(半定制(Semi-Custom Design ICSemi-Custom Design IC)标准单元(标准单元(Standard CellStandard Cell)半定制半定制门阵列(门阵列(Gate ArrayGate Array)可
5、编程逻辑器件(可编程逻辑器件(Programmable Logic DeviceProgrammable Logic Device,PLDPLD)近年来近年来PLDPLD从芯片密度、速度等方面发展迅速,已成为从芯片密度、速度等方面发展迅速,已成为一个重要分支。一个重要分支。第八章第八章 可编程逻辑器件可编程逻辑器件8.1 8.1 可编程逻辑器件可编程逻辑器件PLDPLD概述概述8.2 8.2 可编程只读存储可编程只读存储PROMPROM和和可编程逻辑阵列可编程逻辑阵列PLAPLA8.3 8.3 可编程逻辑器件可编程逻辑器件PALPAL和和通用逻辑阵列通用逻辑阵列GALGALPLD是是70年代发
6、展起来的新型逻辑器件,是一种通用大规模年代发展起来的新型逻辑器件,是一种通用大规模集成电路,用于集成电路,用于LSI和和VLSI设计中,采用软件和硬件相结合的方设计中,采用软件和硬件相结合的方法设计所需功能的数字系统。相继出现了法设计所需功能的数字系统。相继出现了ROM、PROM、PLA、PAL、GAL、EPLD和和FPGA等,它们组成基本相似。等,它们组成基本相似。PLDPLD的基本结构的基本结构互补互补输入信号输入信号输入输入电路电路输入输入与门与门乘积项乘积项或门或门阵列阵列阵列阵列和项和项输出输出输出函数输出函数电路电路反馈输入信号反馈输入信号可编程逻辑器件可编程逻辑器件PLDPLD的
7、发展历程的发展历程EPLD 器件器件FPGA器件器件PROM 和和PLA 器件器件FPLA和和PAL 器件器件内嵌复杂内嵌复杂功能模块功能模块的可编程的可编程片上系统片上系统SoPCCPLD器件器件GAL器件器件7070年代年代8080年代年代9090年代年代7070年代初期的年代初期的PLDPLD主要是可编程只读存储器主要是可编程只读存储器(PROM)(PROM)和可编程逻辑阵列和可编程逻辑阵列(PLA)(PLA)。在在PROMPROM中,与门阵列是固定的,或门阵列是可编程的;器件采中,与门阵列是固定的,或门阵列是可编程的;器件采用熔断丝工艺,一次性编程使用。用熔断丝工艺,一次性编程使用。7
8、070年代末期的年代末期的PLDPLD出现了可编程阵列逻辑出现了可编程阵列逻辑(PAL)(PAL)器件。在器件。在PALPAL器件中,与门器件中,与门阵列是可编程的,或门阵列是固定连接的,它有多种输出和反阵列是可编程的,或门阵列是固定连接的,它有多种输出和反馈结构,为数字逻辑设计带来了一定的灵活性。但馈结构,为数字逻辑设计带来了一定的灵活性。但PALPAL仍采用仍采用熔断丝工艺,一次性编程使用。熔断丝工艺,一次性编程使用。80年代中期的年代中期的PLD通用阵列逻辑通用阵列逻辑(GAL)器件问世,并取代了器件问世,并取代了PAL。GAL器件是在器件是在PAL器器件基础上发展起来的新一代器件。和件
9、基础上发展起来的新一代器件。和PAL一样,它的与门阵列是可编程的,一样,它的与门阵列是可编程的,或门阵列是固定的。但由于采用了高速电可擦或门阵列是固定的。但由于采用了高速电可擦CMOS工艺,可以反复擦除工艺,可以反复擦除和改写,很适宜于样机的研制。它具有和改写,很适宜于样机的研制。它具有CMOS低功耗特性,且速度可以与低功耗特性,且速度可以与TTL可编程器件相比。特别是在结构上采用了可编程器件相比。特别是在结构上采用了“输出逻辑宏单元输出逻辑宏单元”电路,电路,为用户提供了逻辑设计和使用上的较大灵活性。为用户提供了逻辑设计和使用上的较大灵活性。80年代中后期的年代中后期的PLD80年代后期问世
10、的年代后期问世的FPGA(现场可编程门阵列现场可编程门阵列)器件,器件,FPGA属于较高密属于较高密度的度的PLD器件。器件。FPGA的基本结构有两类:一类是在的基本结构有两类:一类是在PAL基础上加以改进和扩展形成基础上加以改进和扩展形成的;另一类是逻辑单元型,逻辑单元之间是互联阵列。这些资源可由用户的;另一类是逻辑单元型,逻辑单元之间是互联阵列。这些资源可由用户编程。编程。90年代的年代的SoPCSystem-on-a-Programmable-Chip,即可编程片上系统。,即可编程片上系统。用可编程逻辑技术把整个系统放到一块硅片上,称作用可编程逻辑技术把整个系统放到一块硅片上,称作SOP
11、C。可编程片。可编程片上系统(上系统(SOPC)是一种特殊的嵌入式系统:首先它是片上系统()是一种特殊的嵌入式系统:首先它是片上系统(SOC),),即由单个芯片完成整个系统的主要逻辑功能;其次,它是可编程系统,具即由单个芯片完成整个系统的主要逻辑功能;其次,它是可编程系统,具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件在系统可编有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件在系统可编程的功能。程的功能。SOPC是是PLD和和ASIC技术融合的结果,被称为技术融合的结果,被称为“半导体产业的未来半导体产业的未来”。可编程逻辑器件的分类可编程逻辑器件的分类按集成度按集成度(PLD
12、)分类分类:可编程逻辑器件(PLD)简单 PLD 复杂 PLD PROM PLA PAL GAL CPLD FPGA 根据有无寄存功能:根据有无寄存功能:可编程组合逻辑器件可编程组合逻辑器件可编程时序逻辑器件可编程时序逻辑器件按内部电路组成:按内部电路组成:PLA(可编程逻辑阵列)(可编程逻辑阵列)PGA(可编程门阵列)(可编程门阵列)按编程方式:按编程方式:熔丝编程熔丝编程光擦编程光擦编程电擦编程电擦编程在线编程在线编程PLDPLD基本结构大致相同,根据与或阵列是否可编程分为三类:基本结构大致相同,根据与或阵列是否可编程分为三类:(1)与固定、或编程:)与固定、或编程:ROM和和PROM(2
13、)与或全编程:)与或全编程:PLA(3)与编程、或固定:)与编程、或固定:PAL、GAL和和HDPLD(高密度高密度PLD)PROM-可编程存储器可编程存储器P PL LD DPLA-可编程逻辑阵列可编程逻辑阵列PAL-可编程阵列逻辑可编程阵列逻辑GAL-通用可编程阵列逻辑通用可编程阵列逻辑FPGA-现场可编程门阵列现场可编程门阵列ispLSI-在系统可编程大规模集成电路在系统可编程大规模集成电路1.1.与固定、或编程:与固定、或编程:与阵列全固定,即全译码;与阵列全固定,即全译码;ROMROM和和PROMPROM2.2.与、或全编程:与、或全编程:代表器件是代表器件是PLAPLA(Progr
14、ammable Logic ArrayProgrammable Logic Array),),下图给出了下图给出了PLAPLA的阵列结构,在的阵列结构,在PLDPLD中,它的灵活性最高。由中,它的灵活性最高。由于与或阵列均能编程的特点,在实现函数时,只需形成所需于与或阵列均能编程的特点,在实现函数时,只需形成所需的乘积项,使阵列规模比的乘积项,使阵列规模比PROMPROM小得多。小得多。3.3.与编程、或固定与编程、或固定:代表器件代表器件PALPAL(Programmable Array Programmable Array LogicLogic)和和GALGAL(Generic Array
15、 LogicGeneric Array Logic)。,)。,这种结构中,或阵列固定若干个乘积项输出,见下图。这种结构中,或阵列固定若干个乘积项输出,见下图。PLDPLD的性能特点的性能特点采用采用PLDPLD设计数字系统和中小规模相比具有如下特点:设计数字系统和中小规模相比具有如下特点:1.1.减小系统体积:减小系统体积:单片单片PLDPLD有很高的密度,可容纳中有很高的密度,可容纳中小规模集成电路的几倍到十几倍。小规模集成电路的几倍到十几倍。2.2.增强逻辑设计的灵活性:增强逻辑设计的灵活性:使用使用PLDPLD器件设计的系统,器件设计的系统,可以不受标准系列器件在逻辑功能上的限制。可以不
16、受标准系列器件在逻辑功能上的限制。3.3.缩短设计周期:缩短设计周期:由于有可编程特性,用由于有可编程特性,用PLDPLD设计一个设计一个系统所需时间比传统方式大为缩短。系统所需时间比传统方式大为缩短。4.4.提高系统处理速度:提高系统处理速度:用用PLDPLD与或两级结构实现任何逻辑与或两级结构实现任何逻辑功能,比用中小规模器件所需的逻辑级数少。这不仅简化了系功能,比用中小规模器件所需的逻辑级数少。这不仅简化了系统设计,而且减少了级间延迟,提高了系统的处理速度。统设计,而且减少了级间延迟,提高了系统的处理速度。5.5.降低系统成本:降低系统成本:由于由于PLDPLD集成度高,测试与装配的量大
17、大集成度高,测试与装配的量大大减少,避免了改变逻辑带来的重新设计和修改,有效地降低了成减少,避免了改变逻辑带来的重新设计和修改,有效地降低了成本。本。6.6.提高系统的可靠性:提高系统的可靠性:用用PLDPLD器件设计的系统减少了芯片和器件设计的系统减少了芯片和印制板数量,增加了平均寿命印制板数量,增加了平均寿命,减少相互间的连线,提高抗干扰减少相互间的连线,提高抗干扰能力,从而增加了系统的可靠性。能力,从而增加了系统的可靠性。7.7.系统具有加密功能:系统具有加密功能:某些某些PLDPLD器件,如器件,如GALGAL或高密度可编或高密度可编程逻辑器件本身具有加密功能。设计者在设计时选中加密项
18、,程逻辑器件本身具有加密功能。设计者在设计时选中加密项,可编程逻辑器件就被加密,器件的逻辑功能无法被读出,有效可编程逻辑器件就被加密,器件的逻辑功能无法被读出,有效地防止逻辑系统被抄袭。地防止逻辑系统被抄袭。PLDPLD的逻辑符号表示方法的逻辑符号表示方法PLDPLD具有较大的与或阵列,逻辑图的具有较大的与或阵列,逻辑图的1.1.输入缓冲器表示方法输入缓冲器表示方法A画法与传统的画法有所不同画法与传统的画法有所不同2.2.与门和或门的表示方法与门和或门的表示方法AAF1F2编程连接编程连接F1=A?B?C固定连接固定连接A B C DA B C DF2=B+C+D下图给出最简单的下图给出最简单
19、的PROMPROM电路图,右图是左图的简化形式。电路图,右图是左图的简化形式。编程连接点编程连接点固定连接点固定连接点(或)(或)(与)(与)实现的函数为:实现的函数为:F1=A?B+A?BF2=A?B+A?BF3=A?B第八章第八章 可编程逻辑器件可编程逻辑器件8.1 8.1 可编程逻辑器件可编程逻辑器件PLDPLD概述概述8.2 8.2 可编程只读存储可编程只读存储PROMPROM和和可编程逻辑阵列可编程逻辑阵列PLAPLA8.3 8.3 可编程逻辑器件可编程逻辑器件PALPAL和和通用逻辑阵列通用逻辑阵列GALGAL一、可编程只读存储器一、可编程只读存储器 PROMPROMPROM(PR
20、OM(Programmable Read-Only Memory)的结构是的结构是与阵列与阵列固定、或阵列可编程固定、或阵列可编程的的PLDPLD器件,对于有大量输入信号的器件,对于有大量输入信号的PROMPROM,比较适合作为存储器来比较适合作为存储器来存放数据存放数据,它在计算机系统和数据自,它在计算机系统和数据自动控制等方面起着重要的作用。对于较少的输入信号组成的动控制等方面起着重要的作用。对于较少的输入信号组成的与阵列固定、或阵列可编程的器件中,也可以很方便地与阵列固定、或阵列可编程的器件中,也可以很方便地实现实现任意组合逻辑函数任意组合逻辑函数。例例1 1:下图是一个下图是一个8 8
21、(字线)(字线)4 4(数据)的存储器数据阵列图。(数据)的存储器数据阵列图。字线字线数据输出端数据输出端如当地址码如当地址码A A2 2A A1 1A A0 0000000时,通过地址译码器,使字线时,通过地址译码器,使字线P P0 01 1,将字线,将字线P P0 0上的存储单元存储的数据上的存储单元存储的数据00000000输出,即输出,即D D0 0D D3 300000000。例:用例:用PROMPROM实现以下逻辑函数:实现以下逻辑函数:?Y?ABC?ABC?ABC0解:解:?Y1?ABC?ABC?ABC?Y?ABC?ABC?ABC?2?ABC111&1对于大多数逻辑对于大多数逻辑
22、函数而言,并不需要函数而言,并不需要使用全部最小项,造使用全部最小项,造成浪费成浪费Y0Y1Y211ABCABCABCABCABC例:例:试用适当容量的试用适当容量的PROMPROM实现两个两位二进制数比较实现两个两位二进制数比较的比较器。的比较器。(1 1)两个两位二进制数分别为)两个两位二进制数分别为 A A1 1A A0 0和和B B1 1B B0 0,当,当A A1 1A A0 0大于大于B B1 1B B0 0时,时,F F1 11 1,A A1 1A A0 0等于等于B B1 1B B0 0时,时,F F2 21 1,A A1 1A A0 0小于小于B B1 1B B0 0时,时,
23、F F3 31 1,下表给出了两位二进制和比较结果的输入输出,下表给出了两位二进制和比较结果的输入输出对照表,对照表,由此可写出输出逻辑由此可写出输出逻辑函数的最小项表达式为:函数的最小项表达式为:F1?m(4,8,9,12,13,14)F2?m(0,5,10,15)F3?m(1,2,3,6,7,11)(2 2)把)把A A1 1A A0 0和和B B1 1B B0 0作为作为PROMPROM的输入信号,的输入信号,F F1 1、F F2 2和和F F3 3为或阵列的输出,为或阵列的输出,下图是用下图是用PROMPROM实现比较实现比较器的阵列图。器的阵列图。F1?m(4,8,9,12,13,
24、14)F2?m(0,5,10,15)F3?m(1,2,3,6,7,11)(3 3)选用)选用PROMPROM的容量为的容量为16163 3位即可满足要求。位即可满足要求。例:试用例:试用PROMPROM实现实现4 4位二进制码到位二进制码到GrayGray码的转换。码的转换。转换真值表转换真值表A3A2A1A0或阵列或阵列与阵列与阵列D3D2D1D0以以PROMPROM实现简单的组合逻辑电路函数是很方便的实现简单的组合逻辑电路函数是很方便的一般的一般的PROMPROM输入的地址线都较多,容量也较大,又由输入的地址线都较多,容量也较大,又由于于PROMPROM的与阵列固定,必须进行全译码,要产生
25、全部的最的与阵列固定,必须进行全译码,要产生全部的最小项。小项。实际上,大多数组合逻辑函数的最小项不超过实际上,大多数组合逻辑函数的最小项不超过4040个,个,则使得则使得PROMPROM芯片的面积利用率不高,功耗增加。为解决芯片的面积利用率不高,功耗增加。为解决这一问题,考虑与阵列也设计成可编程形式来实现组合这一问题,考虑与阵列也设计成可编程形式来实现组合逻辑,这就是逻辑,这就是可编程逻辑阵列可编程逻辑阵列PLAPLA。二、可编程逻辑阵列二、可编程逻辑阵列 PLAPLA可编程逻辑阵列可编程逻辑阵列PLAPLA和和PROMPROM相比之下,有如下特点:相比之下,有如下特点:(一)(一)PROM
26、PROM是与阵列固定、或阵列可编程,而是与阵列固定、或阵列可编程,而PLAPLA是与和或阵列是与和或阵列全可编程。全可编程。(二)(二)PROMPROM与阵列是全译码的形式,而与阵列是全译码的形式,而PLAPLA是根据需要产生乘积是根据需要产生乘积项,从而减小了阵列的规模。项,从而减小了阵列的规模。(三)(三)PROMPROM实现的逻辑函数采用最小项表达式来描述;而用实现的逻辑函数采用最小项表达式来描述;而用PLAPLA实现逻辑函数时,运用简化后的实现逻辑函数时,运用简化后的最简与或式最简与或式,即由与阵列构成乘,即由与阵列构成乘积项,根据逻辑函数由或阵列实现相应乘积项的或运算。积项,根据逻辑
27、函数由或阵列实现相应乘积项的或运算。(四)在(四)在PLAPLA中,对多输入、多输出的逻辑函数可以利用中,对多输入、多输出的逻辑函数可以利用公共的公共的与项与项,因而,提高了阵列的利用率。,因而,提高了阵列的利用率。PLAPLA与与 PROMPROM的比较的比较A2A1A0A2A1A0F2F1F0F2F1F0例:用例:用PLAPLA实现逻辑函数实现逻辑函数?Y0?ABC?AB?ABC?ABC?ABC?Y1?ABC?ABC?ABC?Y2?ABC?ABC?AB CABC111&111Y0Y1Y2ABCABCABCABCABC例例:试用试用PLAPLA实现四位自然二进制码转换成四位格雷码。实现四位自
28、然二进制码转换成四位格雷码。(1 1)设四位自然二进制码为)设四位自然二进制码为B B3 3B B2 2B B1 1B B0 0,四位格雷码为,四位格雷码为G G3 3G G2 2G G1 1G G0 0,其对应的真值表如下表所示。其对应的真值表如下表所示。NO A1 A0 B1 B0 0 0 0 0 0 1 0 0 0 1 2 0 0 1 0 3 0 0 1 1 4 0 1 0 0 5 0 1 0 1 6 0 1 1 0 7 0 1 1 1 8 1 0 0 0 9 1 0 0 1 10 1 0 1 0 11 1 0 1 1 12 1 1 0 0 13 1 1 0 1 14 1 1 1 0 1
29、5 1 1 1 1 G3 G2 G1 G0 根据表列出逻辑函数并简化,根据表列出逻辑函数并简化,0 0 0 0 0 0 0 1 得最简输出表达式如下:得最简输出表达式如下:0 0 1 1 0 0 1 0 G?B 330 1 1 0 0 1 1 1 G2?B3B2?B3B20 1 0 1 0 1 0 0 1 1 0 0 G1?B2B1?B2B11 1 0 1 1 1 1 1 G0?B1B0?B1B0 1 1 1 0 1 0 1 0 1 0 1 1 1 0 0 1 1 0 0 0 (2 2)转换器有四个输入信号,化简后需用到)转换器有四个输入信号,化简后需用到7 7个不同的乘积个不同的乘积项,组成
30、项,组成4 4 个输出函数,故选用四输入的个输出函数,故选用四输入的7 74 4 PLAPLA实现,下实现,下图是四位自然二进制码转换为四位格雷码转换器图是四位自然二进制码转换为四位格雷码转换器PLAPLA阵列图。阵列图。G3?B3 G2?B3B2?B3B2 G1?B2B1?B2B1 G0?B1B0?B1B0 上图仅用了七个乘积项,上图仅用了七个乘积项,比比PROMPROM全译码少用全译码少用9 9个个,实现的逻辑,实现的逻辑功能是一样的。从而功能是一样的。从而降低了芯片的面积,提高了芯片的利用率降低了芯片的面积,提高了芯片的利用率,所以用它来实现多输入、多输出的复杂逻辑函数较所以用它来实现多
31、输入、多输出的复杂逻辑函数较PROMPROM有优越之有优越之处。处。?例例DCBAW0W1W2W3W4W5W6W7W8W9W1W11W12W1W1W15034142 2D D1F1F2ENF1ABCDACABCDF2ACDBCF1ABCDACABCDF2ACDBCDCBAW1W2W3W4W5W6W7D 2D 172F1F2ENPLAPLA除了能实现各种组合电路外,还可以在或阵列之后接除了能实现各种组合电路外,还可以在或阵列之后接入触发器组,作为反馈输入信号,实现时序逻辑电路。入触发器组,作为反馈输入信号,实现时序逻辑电路。例:例:设计一个模可变的同步递增计数器。当控制信号设计一个模可变的同步递
32、增计数器。当控制信号X X=0=0时为三进制计数,当时为三进制计数,当X X=1=1时为四进制计数。时为四进制计数。X控制输入端控制输入端Z1三进制进位输出端三进制进位输出端Z2四进制进位输出端四进制进位输出端经设计得:经设计得:D1?Q1Q0?Q1Q0X Z1?Q1Q0X D0?Q1Q0?Q0X Z2?Q1Q0X与阵列与阵列Q1Q1Q0Q0X X或阵列或阵列?Z2Z1D0D1 D1?Q1Q0?Q1Q0X D0?Q1Q0?Q0X Z1?Q1Q0X?Z2?Q1Q0X?Q0QDCQDCQ1CP例例 用组合用组合PLA及维持阻塞及维持阻塞D触发器构成同步十六进制加计数器。触发器构成同步十六进制加计数
33、器。解:见下图解:见下图000000010010001101000101Q3Q2Q1Q01111011011100111110111001011101010011000QQ3nQQn1nn0200 01 11 10QQ1nn000011110QQnn000110000001111110101000000111111QQ3nn200 01 11 10000111Qn?1310QQnn001101111011000001001000001101111Qn?12QQ3n1n200 01 11 10000111QQ3nn2100 01 11 1000011110Qn?1110Qn?10状态卡诺图状态卡
34、诺图状态方程如下状态方程如下:QQQQn?13n?12n?11n?10?Q?Q?Q?Qn2n2n1Q?QQ?QQ?QQQQ31303321nnnnnnnnn0QQ?QQ?QQ10202nnnnnn1Q?QQ01nnn0n0各触发器驱动方为各触发器驱动方为:D?Q3n?13n?12?Q?Q?Qn2Q?QQ?QQ?QQQQ31303321nnnnnnnnn0D?QD?Q21n2QQ?QQ?QQ10202nnn001nnnnnn1n?1n11n?10Q?QQD?Q0?Qn0QQQQn?13n?12n?11n?10?Q?Q?Q?Qn2n2n1Qn3n?Qn0n1Qn3n2?Qn0n0Qn3n2?Qn1
35、n3QQQ21nnn0QQ1n0?Qn1Q?QQQ?QQn0n0例例:用用PLA与与D触发器实现触发器实现8421BCD计数器计数器8.4.2.1BCD计数器状态表计数器状态表 十进十进制制 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 QD 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 现在状态现在状态 QC QB 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 QA 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 下一个状态(下一个状态(D 输入)
36、输入)QD(DD)QC(DC)QB(DB)QA(DA)0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 0 0 0 0?画出卡诺图画出卡诺图 QBQA QDQC 00 01 11 10 00 0 0?1 D01 0 0?0 11 0 1?10 0 0?QBQAQDQC000111100001?00101?01110?1001?DC Qn+1C=QCQA+QCQB+QCQBQA1100?1011?DDQn+1=QDQAQCQBQA0000?0n+1B QBQAQDQC000111100111?0DB Q
37、 QBQAQDQC000111100011?1=QDQBQA QBQA1100?1011?0100?0DAQn+1A=QAW1?QDQAW2?QCQBQAW3?QCQBW4?QCQAW5?QCQBQAW6?QBQAW7?QDQBQAW8?QADDQn+1D=QDQAQCQBQADCQn+1C=QCQA+QCQB+QCQBQADB Qn+1B=QDQBQA QBQADA Qn+1A=QAQAQBQCQDDDDDW1W2W3W4W5W6W7W8?阵列图阵列图RCP84第八章第八章 可编程逻辑器件可编程逻辑器件8.1 8.1 可编程逻辑器件可编程逻辑器件PLDPLD概述概述8.2 8.2 可编程只读
38、存储可编程只读存储PROMPROM和和可编程逻辑阵列可编程逻辑阵列PLAPLA8.3 8.3 可编程逻辑器件可编程逻辑器件PALPAL和和通用逻辑阵列通用逻辑阵列GALGAL一、可编程阵列逻辑器件一、可编程阵列逻辑器件 PALPALPALPAL采用双极型熔丝工艺,工作速度较高。采用双极型熔丝工艺,工作速度较高。PALPAL的结构是的结构是与阵列可编程和或阵列固定,这种结构为大多数逻辑函数提与阵列可编程和或阵列固定,这种结构为大多数逻辑函数提供了较高级的性能,为供了较高级的性能,为PLDPLD进一步的发展奠定了基础。进一步的发展奠定了基础。(一)(一)PALPAL的基本结构的基本结构PALPAL
39、器件的输入、输出结构以及输入、输出的数目是由器件的输入、输出结构以及输入、输出的数目是由集成电路制造商根据实际设计情况大致估计确定。集成电路制造商根据实际设计情况大致估计确定。PALPAL器件器件的型号很多,它的典型输出结构通常有四种,其余的结构是的型号很多,它的典型输出结构通常有四种,其余的结构是在这四种结构基础上变形而来。在这四种结构基础上变形而来。1.1.专用输出基本门阵列结构专用输出基本门阵列结构一个输入一个输入四个整积项四个整积项输入信号输入信号四个乘积项且通过四个乘积项且通过或非门低电平输出或非门低电平输出2.2.可编程可编程I/OI/O输出结构输出结构8 8个乘积项个乘积项两个输
40、入,一个来自外部两个输入,一个来自外部I I,另一来自反馈,另一来自反馈I/OI/O当最上面的乘积项为高电平时,三态当最上面的乘积项为高电平时,三态门开通,门开通,I/OI/O可作为输出或反馈;乘积可作为输出或反馈;乘积项为低电平时,三态门关断,是输入。项为低电平时,三态门关断,是输入。3.3.寄存器型输出结构:也称作时序结构。寄存器型输出结构:也称作时序结构。8 8个乘积项个乘积项CPCP和使能是和使能是PALPAL的公共端的公共端触发器的触发器的Q Q端可以端可以或门的输出通过或门的输出通过D D触发器,触发器,通过三态缓冲器通过三态缓冲器在在CPCP的上升沿时到达输出。的上升沿时到达输出
41、。送到输出引脚送到输出引脚触发器的反相端反馈回与触发器的反相端反馈回与阵列,作为输入信号参与阵列,作为输入信号参与更复杂的时序逻辑运算更复杂的时序逻辑运算4.4.带异或门的寄存器型输出结构:带异或门的寄存器型输出结构:增加了一个异或门增加了一个异或门把乘积项分割成两把乘积项分割成两两个和项在触发器的输入端异或之后,两个和项在触发器的输入端异或之后,个和项个和项在时钟上升沿到来时存入触发器内在时钟上升沿到来时存入触发器内例:试用例:试用PALPAL实现下列逻辑函数。实现下列逻辑函数。解:化简得最简与或式:解:化简得最简与或式:A BC或阵列或阵列与阵列与阵列Y1 1Y2 2例:用例:用PAL器件
42、设计一个数值判别电路。要求判断器件设计一个数值判别电路。要求判断4位二进制位二进制数数DCBA的大小属于的大小属于05、6 10、11 15三个区间的哪一个之三个区间的哪一个之内。内。Y0?DC?D BY1?DCB?DC B?DC AY2?DC?DBA例例 设计一个设计一个4 4位循环码计数器,要求所设计的计数器位循环码计数器,要求所设计的计数器具有置零和对输出进行三态控制的功能。具有置零和对输出进行三态控制的功能。CPY3Y2Y1Y0C01234567815000000001100001111100011110000011001100000000000011600000用用PAL器件设计这个
43、计数器,所用器件中应包括器件设计这个计数器,所用器件中应包括4个触发器和个触发器和相应的与或逻辑阵列。查手册相应的与或逻辑阵列。查手册PAL64R4满足要求。满足要求。输出缓冲器为反相器,输出缓冲器为反相器,所以所以4个触发器的个触发器的Q端的端的状态与真值表中的状态状态与真值表中的状态相反。相反。通过卡诺图对触发器的通过卡诺图对触发器的状态进行化简。得到每状态进行化简。得到每个触发器的驱动方程,个触发器的驱动方程,要求中还有具有置零功要求中还有具有置零功能,故应加入能,故应加入R端,得端,得驱动方程驱动方程得到了驱动方程和输出进位信号的方程后,对得到了驱动方程和输出进位信号的方程后,对PAL
44、进行编程。进行编程。以上设计工作在开发系统上自动进行,只要按以上设计工作在开发系统上自动进行,只要按照软件规定的格式输入逻辑真值表即可,其余照软件规定的格式输入逻辑真值表即可,其余工作由计算机去完成。工作由计算机去完成。有些有些PALPAL器件是由数个同一结构类型组成,有的则是由器件是由数个同一结构类型组成,有的则是由不同类型结构混合组成。不同类型结构混合组成。如由如由8 8个寄存器型输出结构组成的个寄存器型输出结构组成的PALPAL器件命名为器件命名为PAL16R8PAL16R8,由由8 8个可编程个可编程I/OI/O结构组成的结构组成的PALPAL器件则命名为器件则命名为PAL16L8PA
45、L16L8。应用应用PAL16L8PAL16L8设计组合逻辑电路,主要步骤是将输出和激设计组合逻辑电路,主要步骤是将输出和激励写成最简与或表达式,然后确定励写成最简与或表达式,然后确定PAL16L8PAL16L8的引脚和编程。的引脚和编程。目前能够支持目前能够支持PALPAL的编程软件已相当成熟,芯片应用也很的编程软件已相当成熟,芯片应用也很普及,但是由于其集成密度不高、编程不够灵活,且只能一普及,但是由于其集成密度不高、编程不够灵活,且只能一次编程,很难胜任功能较复杂的电路与系统。次编程,很难胜任功能较复杂的电路与系统。二、通用阵列逻辑二、通用阵列逻辑GALGAL器件器件采用采用E E2 2
46、CMOSCMOS工艺和灵活的输出结构,有电擦写反复编程的工艺和灵活的输出结构,有电擦写反复编程的特性。特性。与与PALPAL相比,相比,GALGAL的输出结构配置了可以任意组态的输出逻辑的输出结构配置了可以任意组态的输出逻辑宏单元宏单元OLMCOLMC(Output Logic Macro CellOutput Logic Macro Cell),),GALGAL和和PALPAL在结构上的区别见下图:在结构上的区别见下图:PALPAL结构结构适当地为适当地为OLMCOLMC进行进行编程,编程,GALGAL就可以在功就可以在功能上代替前能上代替前面讨论过的面讨论过的PALPAL各种输各种输出类型
47、以及出类型以及其派生类型其派生类型GALGAL结构结构GALGAL是继是继PALPAL之后具有较高性能的之后具有较高性能的 PLDPLD,和,和PALPAL相比,具有相比,具有以下特点:以下特点:(1)(1)有较高的通用性和灵活性:有较高的通用性和灵活性:它的每个逻辑宏单元可以根它的每个逻辑宏单元可以根据需要任意组态既可实现组合电路,又可实现时序电路。据需要任意组态既可实现组合电路,又可实现时序电路。(2)(2)100100可编程:可编程:GALGAL采用浮栅编程技术,使与阵列以及逻采用浮栅编程技术,使与阵列以及逻辑宏单元可以反复编程,当编程或逻辑设计有错时,可以擦辑宏单元可以反复编程,当编程
48、或逻辑设计有错时,可以擦除重新编程、反复修改,直到得到正确的结果,因而每个芯除重新编程、反复修改,直到得到正确的结果,因而每个芯片可片可100100编程。编程。(3)(3)100%100%可测试:可测试:GALGAL的宏单元接成时序状态,可以通的宏单元接成时序状态,可以通过测试软件对它们的状态进行预置,从而可以随意将电路过测试软件对它们的状态进行预置,从而可以随意将电路置于某一状态,以缩短测试过程,保证电路在编程以后,置于某一状态,以缩短测试过程,保证电路在编程以后,对编程结果对编程结果100100可测。可测。(4)(4)高性能的高性能的E E2 2COMSCOMS工艺:工艺:使使GALGAL高速度、低功耗,编程高速度、低功耗,编程数据可保存数据可保存2020年以上。正是由于这些良好的特性,使年以上。正是由于这些良好的特性,使 GALGAL器器件成为数字系统设计的初期理想器件。件成为数字系统设计的初期理想器件。