1、第7章 存储器与可编程逻辑器件7.1 随机存储器RAM7.2 可编程逻辑器件PLD7.3 只读存储器ROM和可编程逻辑阵列PLA*7.4 PAL、GAL的原理及应用*7.5 HDPLD原理第第7章章 存储器与可编程逻辑器件存储器与可编程逻辑器件第7章 存储器与可编程逻辑器件由触发器构成的寄存器也是一种存储器(Memory),这种存储器能够存储几个字节的数据,器件规模小,存储容量也很小。随着数字设备中需要存储的信息容量剧增,对存储器提出了更高的要求。7.1 7.1 随机存储器随机存储器RAMRAM 第7章 存储器与可编程逻辑器件存储器是一种能存储二进制信息的器件。计算机系统中的存储器可分为两类:
2、一类是用于保存正在处理的指令和数据,CPU可以直接对它进行访问,这类存储器通常称为主存储器(或内存);另一类是由能记录信息的装置组成,CPU需要使用其所存放的信息时,可将信息读入内存。这类存储器通常称为外存储器或海量(Mass storage)存储器。微型计算机的存储器按物理介质的不同,存在多种分类,如图7-1所示。第7章 存储器与可编程逻辑器件图7-1 存储器的分类及实物图第7章 存储器与可编程逻辑器件磁表面存储器常用于组成外存储器,半导体存储器用来组成内存储器。主存储器总是由只读存储器(ROM)和随机存储器(RAM)两类器件组成。RAM中的任何一个数据可以被随机的读取或修改,而ROM中的数
3、据只能被读取。本节重点介绍半导体存储器中的随机存取存储器。RAM正常工作时,可以随时对任意地址的数据进行读或写操作,但断电后器件中所存储的信息也会随之消失,因此被称为易失性存储器。而通常作外存的磁表面存储器在断电后,器件中所存储的信息不会随之消失,因此被称为非易失性存储器。第7章 存储器与可编程逻辑器件根据制造工艺的不同,RAM可分为双极(TTL)型RAM和单极(MOS)型RAM,双极型RAM的存取速度高,可达10 ns甚至更高,但其功耗较大,集成度较低;MOS型RAM的功耗小,集成度高。MOS型RAM又分为静态RAM(SRAM,Static RAM)和动态RAM(DRAM,Dynamic R
4、AM)两类。DRAM存储单元的结构非常简单,所以集成度远高于SRAM,单片存储容量可达几百兆位甚至更大,但存取速度比SRAM慢。第7章 存储器与可编程逻辑器件存储器的存储容量和存取时间是存储系统性能的两个重要指标。存储容量指存储器所能存放的信息的多少,存储容量越大,说明存储器能够存储的信息越多。存储器以字为单位来组织信息,一个字包含若干个(一般为8个)基本存储单元,一个字中所含的二进制位数称为字长,每个字都有一个确定的地址与之对应。存储器的容量一般用字数N同字长M的乘积即NM来表示。例如,1 K8表示该存储器有1024字,每个字存放8位二进制信息。存取时间一般用读/写周期来描述,读/写周期越短
5、,存储器的工作速度就越高。第7章 存储器与可编程逻辑器件1.DRAM(Dynamic RAM,动态随机存储器,动态随机存储器)DRAM最初采用页面模式存储器(Page Mode RAM,PM RAM),后来发展为快速页面模式存储器(Fast Page Mode RAM,FPM RAM)。当CPU访问连续地址时,在指出行地址后,它只要不断地指定列地址就可以读出数据,这样在取出同一行的数据时,用不着每一次都要再指定行地址,因而可以提高读写速度。第7章 存储器与可编程逻辑器件2.EDO RAM(Extended Data Out RAM,扩展数据输,扩展数据输出存储器出存储器)EDO RAM是在普通
6、DRAM的接口上增加了一些逻辑电路,以减少定位读取数据时的延时,从而提高了数据的存取速度。通常被读取的指令或数据在RAM中是连续存放的,即下一个要读写的单元位于当前单元同一行的下一列上。所以在读写当前单元的周期中,就可以初始化下一个读写周期。EDO RAM正是利用了这一地址预测功能,从而缩短了读写周期。另外,为了使充电线路上的脉冲信息能保持一定的时间,EDO RAM还在输出端增加了一组“门槛”电路,将充电线上的数据保持到CPU准确读完为止。第7章 存储器与可编程逻辑器件EDO技术与以往的内存技术相比,最主要的特点是取消了数据输出与传输两个周期之间的间隔时间。同高速页面模式相比,由于增大了输出数
7、据所占的时间比例,在大量存取操作时可极大地缩短存取时间,性能提高近1530,而制造成本与快速面页模式RAM相近。第7章 存储器与可编程逻辑器件3.BEDO RAM(Burst Extended Data Output RAM,突,突发扩充数据输出随机存储器发扩充数据输出随机存储器)突发模式技术是假定CPU要读的下四个数据的地址是连续的,同时启动对它们的操作,从而更大地增加RAM的带宽。BEDO RAM的工作方式是在“突发动作”中读取数据,即在提供内存地址后,CPU假定其后的数据地址是连续的,并自动把它们预取出来。于是在每个时钟周期,BEDO RAM可读取三个数据中的每一个数据,从而明显地提高了
8、指令的传送速度。它的缺陷是无法与高于66 MHz的总线相匹配。第7章 存储器与可编程逻辑器件4.SDRAM(Synchronous DRAM,同步动态随机存储器,同步动态随机存储器)此类RAM与系统时钟以相同的速度同步工作,这样就可以取消等待周期,减少数据存取时间。数据可在脉冲上升沿便开始传输。由于SDRAM的速度比EDO内存提高了50,因此它能够以高达100 MHz的速度传递数据,是标准DRAM的4倍。另外,SDRAM不仅可用作主存,在显示卡方面也有广泛应用。第7章 存储器与可编程逻辑器件5.SDRAM(同步动态随机存储器同步动态随机存储器)同步动态随机存储器也称DDR(Double Dat
9、a Rate),其核心以SDRAM为基础,但在速度和容量上有明显提高。与SDRAM相比,DDR运用了更先进的同步电路,使指定地址、数据的输送和输出等主要步骤既能独立执行,又保持与CPU完全同步。DDR本质上不需要提高时钟频率就能加倍提高SDRAM的速度,它允许在时钟脉冲的上升沿和下降沿读出数据,因而其速度是标准SDRAM的两倍。第7章 存储器与可编程逻辑器件6.CDRAM(Cached DRAM,高速缓存动态随机存储器,高速缓存动态随机存储器)此项技术把高速的SRAM存储单元集成至DRAM芯片中,作为DRAM内部的缓存,其两者存储单元间通过内部总线相连。7.SLDRAM(Sync Link D
10、RAM,同步链接动态随机存,同步链接动态随机存储器储器)SLDRAM是一种增强和扩展的SDRAM架构,同SDRAM一样使用每个脉冲上升沿传输数据。第7章 存储器与可编程逻辑器件8.RDRAM(Rambus DRAM)RDRAM是由Rambus公司开发的具有高系统带宽、芯片到芯片接口的新型高性能DRAM,它能在很高的频率范围内通过一个简单的总线传输数据。这种存储器由于利用行缓冲器作为高速暂存,故能够以高速方式工作。普通的DRAM行缓冲器的信息在写回存储器后便不再保留,而RDRAM则具有继续保持这一信息的特性,于是在进行存储器访问时,如行缓冲器中已经有目标数据,则可利用,因而实现了高速访问。第7章
11、 存储器与可编程逻辑器件9.Concurrent RDRAM(并行型并行型RDRAM)并行型RDRAM属第三代RDRAM,其在处理图形和多媒体程序时可以达到非常高的带宽,即使在寻找小的、随机的数据块时也能保持相同的带宽。作为RDRAM的增强产品,它在600 MHz的频率下可以达到每个通道600 MB/s的数据传输率。另外,Concurrent RDRAM可同其前一代产品兼容,预计其工作频率最高可达到800 MHz。10.Direct RDRAMDirect RDRAM是RDRAM的扩展,它使用了同样的RSL(Rambus Signaling Logic,Rambus信号逻辑)技术,其工作频率达
12、到了800 MHz,效率较之RDRAM更高。单个Direct RDRAM 传输率可达1.6 GB/s。第7章 存储器与可编程逻辑器件11.PC100 SDRAMPC100 SDRAM又称SPD(Serial Presence Detect)内存,这是专为支持100 MHz主板外频的芯片组相匹配的带有SPD的新一代内存条。SPD为内存的一种新规范,SPD是在SDRAM内存上加入一颗很小的EEPROM,可以预先将内存条的各种信息(如内存块种类、存取时间、容量、速度、工作电压等)写入其中。电脑启动过程中,系统的BIOS通过系统管理总线把SPD的内容读入,并自动调整各项设定,以达到最稳定和最优化的效果
13、。第7章 存储器与可编程逻辑器件7.1.1 RAM的存储单元的存储单元RAM的核心部件是存储矩阵中的存储单元。按工作原理分,RAM的存储单元分为静态和动态两种;按存储单元所用器件分,可分为双极型(TTL)和单极型(MOS)型两种。1.静态存储单元静态存储单元图7-2所示是六管MOS静态基本存储单元电路,图中V1V4是由两个交叉耦合连接的反相器组成的基本RS触发器,用以存储一位二进制信息。V5、V6管是由数据选择端Xi控制的门控管,用于控制触发器与数据线的接通与断开。上述六只MOS管构成了一个静态基本存储单元电路。第7章 存储器与可编程逻辑器件图7-2 六管MOS静态基本存储单元第7章 存储器与
14、可编程逻辑器件2.动态存储单元动态存储单元动态基本存储单元电路是利用MOS管栅源间电容对电荷的暂存效应来实现信息存储的。为避免所存信息的丢失,必须定时给电容补充漏掉的电荷,这一操作称为刷新。常见的MOS动态基本存储电路有单管电路、三管电路和四管电路等。为提高存储器的集成度,目前大容量的动态RAM大多采用单管MOS动态基本存储电路。单管MOS动态存储电路结构如图7-3所示,图中的电容C用于存储信息,V为门控管。第7章 存储器与可编程逻辑器件图7-3 单管MOS动态基本存储单元第7章 存储器与可编程逻辑器件由于门控管和电容C的漏电,C上的电荷会随时间的推移逐渐减少,因此,当不对该单元进行操作时,为
15、了能长时间保存数据,必须定时进行刷新操作,刷新的过程是先将该数据读出来,然后立即回写回去。动态RAM的优点是单元电路结构简单,单片集成度高,功耗比静态AM低,价格更便宜。其缺点是需要进行刷新和再生操作。另外,由于电容中信号较弱,读出时需要进行放大。第7章 存储器与可编程逻辑器件7.1.2 RAM的结构的结构RAM由存储矩阵、地址译码器和读/写控制器三部分组成。图7-4所示为RAM的结构框图。第7章 存储器与可编程逻辑器件图7-4 RAM的结构框图第7章 存储器与可编程逻辑器件1.存储矩阵存储矩阵存储矩阵由若干存储单元组成,一个存储单元称为存储器的一个字,每个存储单元由若干个可以存放一位二进制信
16、息的基本存储单元组成,一个存储单元所含有的基本存储单元的个数,也即能存放的二进制位数称为存储器的“字长”。存储器中的每个字都赋予一个唯一的编号,这个编号称为“地址”。地址以二进制表示,经地址译码器译出后对存储单元中的基本存储单元进行选通,地址译码器输出线称为“字线”。每个单元中的基本存储单元通过各自的连线与读/写控制器相连,这样的连线称为存储器的“位线”。字线是某个存储单元专用的,而位线中的某一位是所有存储单元中相同数位的基本存储单元所公用的。对于有n位地址和m位字长的存储器来说,它共有2nm个基本存储单元,即存储容量为2nm。第7章 存储器与可编程逻辑器件2.地址译码地址译码在图7-4中,输
17、入的n位地址(A0An-1)经译码器译出后,2n条字线(W0)中的一条有效。这条有效的字线在存储矩阵的2n个存储单元中选中其中之一。在读/写控制信号的作用下,被选中单元的m个基本存储电路通过m根位线与读/写控制器连通,从而可以通过m位数据输入/输出线读出存储单元的内容或者向存储单元写入新内容。这样就实现了对指定地址的存储单元的读/写操作。第7章 存储器与可编程逻辑器件3.读读/写与片选控制写与片选控制数字系统中的RAM一般由多片组成,而系统每次读/写时,只对其中的一片(或几片)进行读/写(或称访问),为此在每片RAM上均加有片选端,只有=0的RAM芯片才被选中,可以进行读/写操作。=1的RAM
18、芯片均为高阻状态,不进行任何操作。【例例7.1】已知Intel2164A是一种采用单管动态存储单元的典型的动态RAM,存储容量为64 K1位。试判断Intel2164A有多少根地址线,多少根数据线。解解:由于64 K=216,可得Intel2164A的容量为2161,因此Intel2164A具有16根地址线,1根数据线。第7章 存储器与可编程逻辑器件【例例7.2】已知芯片HM6116是一种典型的CMOS静态RAM,其引脚排列如图7-5所示。HM6116有11个地址输入端A10A0、8个数据输入/输出端I/O8I/O1,试确定HM6116的存储容量。解解:由HM6116有11个地址端,可知它有2
19、11个字,又由数据输入/输出线为8根,可知它的字长为8,所以HM6116的存储容量为2118,即2 K8。第7章 存储器与可编程逻辑器件图7-5 HM6116引脚排列及封装形式第7章 存储器与可编程逻辑器件7.1.3 RAM的扩展的扩展1.位扩展位扩展在存储器芯片的字长不能满足实际的存储系统的字长要求时,需要进行位扩展。位扩展可以采用并联方式实现。图7-6所示为用4片321位的RAM扩展为324位的RAM的存储系统框图。图中4片RAM的所有地址线、R/和分别对应并接在一起,而每一片的I/O端作为整个RAM的I/O端的一位。第7章 存储器与可编程逻辑器件图7-6 RAM的位扩展连接第7章 存储器
20、与可编程逻辑器件2.字扩展字扩展在RAM的数据位数(字长)满足系统要求而字数达不到要求时,需要进行字扩展。字数若增加,地址线也要做相应增加。每增加一位地址,系统中存储单元数(字数)就增加一倍。可采用多个芯片地址串联的方式进行扩展,即用高位地址译码输出控制每个芯片的片选端来指定工作的芯片,实现芯片间地址串行连接,从而达到扩展字数的目的。图7-7是用四片321的RAM扩展为1281的RAM的系统框图。图中,译码器的输入是系统的高位地址A5和A6,译码输出分别连到四片RAM的片选端,使各RAM分地址段轮流工作,整个系统字数扩大了4倍,而字长不变。第7章 存储器与可编程逻辑器件图7-7 RAM的字扩展
21、连接第7章 存储器与可编程逻辑器件7.2.1 可编程逻辑器件可编程逻辑器件PLD的分类的分类1.可编程器件的发展历程可编程器件的发展历程20世纪70年代中期诞生了专用集成电路ASIC(Application Specific Integrated Circuit)。ASIC可分为全定制和半定制两种类型。全定制ASIC的各层掩膜都是按照特定电路的功能而专门制造的。半定制ASIC是按一定规格预先加工好的半成品芯片,然后再按具体要求进行加工和制造。7.2 7.2 可编程逻辑器件可编程逻辑器件PLDPLD 第7章 存储器与可编程逻辑器件半定制ASIC有门阵列(Gate Array)、标准单元(Stan
22、dard Cell)和可编程逻辑器件PLD(Programmable Logic Device)三种类型。门阵列是一种预先制造好的硅阵列,内部包括基本逻辑门和触发器等,芯片中留有一定的连线区,用户根据需要的功能设计电路确定连线方式,然后交厂家进行最后的布线。标准单元是厂家将预先配置好、经过测试、具有一定功能的逻辑块作为标准单元存放在数据库中,设计者根据需要在库中选择单元构成电路,并完成电路到版图的最终设计。这两种半定制ASIC都要由用户向生产厂家定做,设计和制造周期较长,开发费用也较高,适用于大批量产品的生产。第7章 存储器与可编程逻辑器件PLD器件是ASIC的重要分支,它是厂家作为通用器件生
23、产的半定制电路,由用户利用软、硬件工具对器件进行设计和编程,使之实现所需要的逻辑功能。PLD的出现为数字系统设计带来了崭新的变化,传统的系统设计方法采用SSI、MSI标准通用器件对电路板进行设计,由于器件种类多、数量多、连线复杂,因而系统板往往体积大、功耗大、可靠性差。采用PLD进行系统设计时,可将原来的板级设计改为芯片级设计,而且所有的设计都可以利用电子设计自动化EDA(Electronic Design Automation)工具来完成,从而简化系统设计,极大地提高了设计效率,缩短了系统设计周期,增强了设计的灵活性,同时可减少芯片数量、缩小系统体积、降低功耗、提高系统的速度和可靠性、降低系
24、统成本。第7章 存储器与可编程逻辑器件PLD器件经历了从低密度可编程逻辑器件LDPLD(Lowdensity PLD)到高密度可编程逻辑器件HDPLD(Highdensity PLD)的发展。可编程器件的大致发展过程如下。(1)20世纪70年代:PROM、PLA、PAL;(2)20世纪80年代初:GAL;(3)20世纪80年代后期:EPLD、CPLD、FPGA;(4)20世纪90年代后:SOPC。第7章 存储器与可编程逻辑器件2.可编程逻辑器件的分类可编程逻辑器件的分类(1)按集成度分为低密度PLD(LDPLD)和高密度PLD(HDPLD)。LDPLD主要产品有可编程只读存储器PROM(Pro
25、grammable ReadOnly Memory)、可编程逻辑阵列PLA(Programmable Logic Array)、可编程阵列逻辑PAL(Programmable Array Logic)和通用阵列逻辑GAL(Generic Array Logic)。这些器件结构简单,具有成本低、速度高、设计简便等优点,但其规模较小,难以实现复杂的逻辑功能。第7章 存储器与可编程逻辑器件HDPLD包括可擦除可编程逻辑器件EPLD(Erasable Programmable Logic Device)、复杂可编程逻辑器件CPLD(Complex Programmable Logic Device)和
26、现场可编程门阵列FPGA(Field Programmable Gate Array)三种类型。EPLD和CPLD是在PAL、GAL的基础上发展起来的,其基本结构由与或阵列组成,因此通常称为阵列型PLD,而FPGA具有门阵列的结构形式,通常称为单元型PLD。第7章 存储器与可编程逻辑器件(2)按结构特征可分为乘积项结构器件和查找表结构器件两大类。乘积项结构器件的基本结构为“与或阵列”,大部分简单PLD和CPLD属于此类器件。查找表结构器件由简单的查找表组成可编程门,再构成阵列形式。FPGA属于此类器件。(3)按编程工艺可分为如下四类。一次性编程型的熔丝(Fuse)或反熔丝(Antifuse)结
27、构,如PROM和个别FPGA(如Actel公司的FPGA)。紫外光擦除电可编程的UVCMOS结构,如EPROM。电擦除电可编程的E2CMOS结构或Flash结构,如CPLD等。第7章 存储器与可编程逻辑器件SRAM结构,如大部分的FPGA器件。目前应用比较广泛的可编程逻辑器件有两种,一种是基于E2CMOS(或Flash)结构的PLD,另一种是基于SRAM的PLD。E2CMOS结构的PLD可以编程100次以上,其优点是断电后信息不会丢失。这类器件又分为在编程器上编程的PLD和在系统编程(ISP,In System Programmable)的PLD。ISP器件不需要编程器,可以先装配在印制板上,
28、通过电缆进行编程,调试和维修十分方便。第7章 存储器与可编程逻辑器件7.2.2 PLD器件的简化表示方法器件的简化表示方法逻辑电路通常用逻辑图来表示,而传统的表示方法对于大规模集成电路而言,一方面不易读和画,另一方面描述困难,设计方及使用方都不易接受。因此,厂家和用户都广泛接受一种与传统方法不同的简化表示法。PLD的输入缓冲器和输出缓冲器都采用了互补输出结构,其表示法如图7-8所示。第7章 存储器与可编程逻辑器件图7-8 PLD缓冲器表示法 第7章 存储器与可编程逻辑器件PLD与门表示法如图7-9所示,图中与门的输入线通常画成行(横)线,与门的所有输入变量都称为输入项,并画成与行线垂直的列线以
29、表示与门的输入。列线与行线的相交处若有“”,表示有一个耦合元件固定连接,“”表示编程连接。交叉处若无标记则表示不连接(被擦除)。与门的输出称为乘积项P,图中与门的输出P=ABD。或门使用类似的方法表示,如图7-10所示。第7章 存储器与可编程逻辑器件图7-9 PLD与门表示法 第7章 存储器与可编程逻辑器件图7-11所示为PLD与门的简略表示法。图中与门P1的全部输入项接通,因此P1=这种状态称为与门的缺省(Default)状态。为简便起见,对于这种全部输入项都接通的缺省状态,可以用带有“”的与门符号表示,如图7-11中的P2所示。P3中任何输入项都不接通,即所有输入都悬空,因此P3=1,也称
30、为“悬浮1”状态。第7章 存储器与可编程逻辑器件图7-10 PLD或门表示法 第7章 存储器与可编程逻辑器件图7-11 PLD与门简略表示法 第7章 存储器与可编程逻辑器件7.2.3 PLD器件的基本结构器件的基本结构1.ROM结构结构ROM是最早出现的PLD器件。ROM具有典型的PLD结构与逻辑阵列和或逻辑阵列,从而可以方便地实现任何组合逻辑函数。大规模的ROM也常作为存储器使用。ROM包含一个不可编程的与阵列和一个可编程的或阵列,如图7-12所示。图中清楚地表明了不可编程的与阵列和可编程的或阵列。为了简便起见,也可以简化为图7-13所示的表示方法。第7章 存储器与可编程逻辑器件图7-12
31、ROM的基本结构 第7章 存储器与可编程逻辑器件图7-13 ROM结构简化表示 第7章 存储器与可编程逻辑器件2.PLA结构结构PLA由可编程与阵列和可编程或阵列构成,它的基本结构如图7-14所示。PLA输出端产生的逻辑函数为简化的与或式。3.PAL/GAL结构结构PAL是由可编程与阵列和固定的或阵列构成的,它的输出乘积项的个数是固定的。输出为若干个乘积项之和。输出方式灵活多样,应用广泛。其结构如图7-15所示。第7章 存储器与可编程逻辑器件图7-14 PLA的基本结构 第7章 存储器与可编程逻辑器件图7-15 PAL和GAL的基本结构 第7章 存储器与可编程逻辑器件4.PLD器件的基本结构器
32、件的基本结构PLD器件的基本结构框图如图7-16所示,电路的主体是由门构成的“与阵列”和“或阵列”,可以用来实现组合逻辑函数。输入电路由缓冲器组成,可以使输入信号具有足够的驱动能力,并产生互补输入信号。第7章 存储器与可编程逻辑器件图7-16 PLD器件基本结构框图第7章 存储器与可编程逻辑器件输出电路可以提供不同的输出结构,如直接输出(组合输出)或通过寄存器输出(时序输出)。此外,输出端口都有三态门(TS),可以通过三态门控制数据直接输出或反馈到输入端。通常PLD电路中只有部分电路可以编程或组态,表7-1列出了4种PLD电路的结构特点。第7章 存储器与可编程逻辑器件表表7-1 四种四种PLD
33、器件的特点器件的特点 第7章 存储器与可编程逻辑器件7.3.1 ROM的基本原理的基本原理ROM在正常工作时只能读取信息,而不能写入信息。ROM中的信息是在制造时或用专门的写入设备写入的,并可以长期保存,断电后信息也不会丢失,因此是非易失性存储器。ROM又分为掩膜ROM、可编程ROM(PROM,Programmable ROM)和可擦除可编程ROM(EPROM,Erasable Programmable ROM)等几种不同的类型。ROM的一般结构如图7-17所示。7.3 7.3 只读存储器只读存储器ROMROM和可编程逻辑阵列和可编程逻辑阵列PLAPLA 第7章 存储器与可编程逻辑器件图7-1
34、7 ROM结构图第7章 存储器与可编程逻辑器件图7-18所示为一个44ROM未编程时的阵列图。图7-19是该ROM经编程后的阵列图。读出数据时,首先输入地址码,在数据输出端D3D0则可以获得该地址对应字中所存储的数据。例如,当A1A0=00时,第一个字被选中读出,对应字中的数据D3D2D1D0=1100。当A1A0为01、10、11时,依次读出的数据是1001、1010、1101。该ROM存储的数据如表7-2所示。第7章 存储器与可编程逻辑器件图7-18 ROM阵列图 第7章 存储器与可编程逻辑器件图7-19 编程后的ROM阵列图 第7章 存储器与可编程逻辑器件表表7-2 图图7-14 ROM
35、的数据表的数据表 第7章 存储器与可编程逻辑器件7.3.2 ROM在组合逻辑设计中的应用在组合逻辑设计中的应用用ROM实现组合逻辑的基本原理可从“存储器”和“与或逻辑网络”两个角度来理解。从存储器的角度来看,只要把逻辑函数的真值表事先存入ROM,便可用ROM实现该函数。例如,在表7-3中将输入地址A1A0视为输入变量,而将D3、D2、D1、D0视为一组输出逻辑变量,则D3、D2、D1、D0就是A1、A0的一组逻辑函数,即第7章 存储器与可编程逻辑器件可见,用ROM实现组合逻辑函数时,具体的做法就是将逻辑函数的输入变量作为ROM的地址输入,将每组输出对应的函数值作为数据写入相应的存储单元中,这样
36、按地址读出的数据便是相应的函数值。从与或逻辑网络的角度看,ROM中的地址译码器形成了输入变量的所有最小项,即实现了逻辑变量的“与”计算。ROM中的存储矩阵实现了最小项的“或”运算,即形成了各个逻辑函数,如上式所示。由上可知,在用ROM实现逻辑函数时,需列出它的真值表或最小项表达式,然后画出ROM的符号矩阵图。工厂根据用户提供的符号矩阵图,便可生产出所需的ROM。第7章 存储器与可编程逻辑器件利用ROM不仅可实现逻辑函数(特别是多输出函数),而且可以用做序列信号发生器和字符发生器,以及存放数学函数表(如快速乘法表、指数表、对数表及三角函数表等)。下面举例说明这些应用。用ROM实现逻辑函数一般按以
37、下步骤进行:(1)根据逻辑函数的输入、输出变量数,确定ROM容量,选择合适的ROM。(2)写出逻辑函数的最小项表达式,画出ROM阵列图。(3)根据阵列图对ROM进行编程。第7章 存储器与可编程逻辑器件【例例7.3】分析图7-20所示电路,指出该电路的功能。Ci+1和Fi的表达式分别为:Ci+1=m3+m5+m6+m7=m(3,5,6,7)Fi=m1+m2+m4+m7=m(1,2,4,7)所以,Ci+1和Fi的真值表如表7-3所示,容易看出该电路的功能为一位全加器。第7章 存储器与可编程逻辑器件图7-20 例7.3ROM阵列图 第7章 存储器与可编程逻辑器件表表7-3 例例7.3函数真值表函数真
38、值表 第7章 存储器与可编程逻辑器件7.3.3 ROM的编程及分类的编程及分类ROM的编程是指将信息存入ROM的过程。根据编程和擦除的方法不同,ROM可分为掩膜ROM、可编程ROM(PROM)和可擦除的可编程ROM(EPROM)三种类型。1.掩膜掩膜ROM掩膜ROM中存放的信息是由生产厂家采用掩膜工艺专门为用户制作的,这种ROM出厂时其内部存储的信息就已经“固化”在里边了,所以也称固定ROM。它在使用时只能读出,而不能写入,因此通常只用来存放固定数据、固定程序和函数表等。这种方法适合产品的大批生产。第7章 存储器与可编程逻辑器件2.可编程可编程ROM(PROM)PROM在出厂时,存储的内容为全
39、0(或全1),用户可根据需要,将某些单元改写为1(或0)。这种ROM采用熔丝(反熔丝)或PN结击穿的方法编程,由于熔丝烧断或PN结击穿后不能再恢复,因此PROM只能改写一次。对PROM的编程是在编程器上通过计算机来进行的。这种方法适合定型产品的小批量生产。第7章 存储器与可编程逻辑器件3.可擦除的可编程可擦除的可编程ROM(EPROM)EPROM可实现多次编程,早期的EPROM芯片大多采用UVCMOS工艺生产,它的写入方法与PROM相同,擦除采用紫外线灯照射芯片的透明窗口的方法,大约1030分钟即可将芯片中的编程信息擦除,以便重新写入。重新写入信息后需要将擦除窗口用非透明材料封住,以防紫外线照
40、射,丢失编程信息。由于它具有擦除功能,因此适合于产品开发。第7章 存储器与可编程逻辑器件4.电可擦除的电可擦除的EPROM(E2PROM)采用UVCOMS工艺的EPROM器件,写入和擦除都需要特定工具编程器和紫外线灯,使用很不方便。而E2PROM是利用电脉冲对芯片进行写入、擦除的芯片。在E2PROM的储存单元中采用了浮栅隧道氧化层MOS管(Flotox),它有控制极GC和浮置栅GF两个栅极。Flotox管的特点是浮置栅和漏极之间有一个氧化层极薄的隧道区。由于其隧道效应,Flotox管的信息可以利用一定宽度电脉冲擦除和编程。有的E2PROM芯片内部含有编程电压发生器,单字节或整片写入就像存入RA
41、M一样。它们之间的不同之处是,E2PROM 掉电后存入信息不会丢失。这种类型的E2PROM器件不需要专用电路即可实现编程。第7章 存储器与可编程逻辑器件5.快闪存储器(快闪存储器(Flash Memory)快闪存储器是新一代电信号擦除的可编程ROM。它既吸收了EPROM结构简单、编程可靠的优点,又保留了E2PROM用隧道效应擦除快捷的特性,而且集成度可以做得很高。快闪存储器的写入方法和EPROM相同,即利用雪崩注入的方法使浮栅充电。Flash的擦除方法是利用隧道效应进行的,类似于E2PROM的写0操作,但Flash只能一次擦除一个扇区(一个扇区包含连续的若干个存储单元)或整个芯片的所有数据,这
42、是不同于E2PROM 的一个特点。第7章 存储器与可编程逻辑器件7.3.4 可编程逻辑阵列可编程逻辑阵列PLA1.PLA的基本结构的基本结构PLA的基本结构如图7-21所示,它由与阵列和或阵列两部分构成,且都可以编程。图7-22 是时序型PLA的基本结构,它包含三个组成部分:与阵列、或阵列和触发器网络。由于与阵列可以编程,因此,当用PLA实现组合逻辑设计时,为更加有效地利用资源,可先把组合逻辑化为最简与或表达式,式中每一个乘积项用与阵列中的一个门来实现。利用时序PLA设计时序电路,与前面介绍的经典方法类似,不同之处仅仅是由与、或阵列代替门电路而已。第7章 存储器与可编程逻辑器件图7-21 PL
43、A的基本结构 第7章 存储器与可编程逻辑器件图7-22 时序型PLA的基本结构 第7章 存储器与可编程逻辑器件2.PLA的应用的应用【例例7.4】已知某PLA的编程阵列图如图7-23所示,试写出G3、G2、G1、G0的逻辑表达式。由图7-23可知PLA的输出逻辑函数G3、G2、G1、G0分别为:列出函数真值表,如表7-4所示,所以该电路实现的是四位二进制码到格雷码的转换。第7章 存储器与可编程逻辑器件图7-23 例7.4PLA编程阵列图第7章 存储器与可编程逻辑器件表表7-4 四位二进制码转换为格雷码的真值表四位二进制码转换为格雷码的真值表 第7章 存储器与可编程逻辑器件7.4.1 可编程阵列
44、逻辑可编程阵列逻辑PAL 1.PAL的输出结构的输出结构 PAL有许多型号,不同型号其内部的与阵列的结构基本是相同的,但其输出结构和反馈方式却不相同,常见的有以下四种:(1)专用输出结构。这种结构的输出端只能输出信号,不能兼做输入。它是由基本门阵列的输出加反相器构成的。这种输出结构只适用于实现组合逻辑函数。*7.4 PAL*7.4 PAL、GALGAL的原理及应用的原理及应用 第7章 存储器与可编程逻辑器件(2)可编程I/O结构。可编程I/O结构的输出端既可以作为输入端,也可以作为输出端。作为输出端时,其信号仍然可以返回到阵列中,以实现复杂逻辑。(3)寄存器输出结构。这种结构的输出端增加了一个
45、D触发器,将或门输出存入D触发器,D触发器的输出再通过三态门输出,同时反馈信号至与阵列,以便实现时序电路。(4)异或型输出结构。异或型输出结构是把乘积项分为两个项,在D触发器输入端异或,并在时钟上升沿到达时存入D触发器。第7章 存储器与可编程逻辑器件2.典型的典型的PALPAL的种类繁多,PAL16L8和PAL16R8是两种典型的PAL器件。图7-24所示为PAL16L8的逻辑图。图中画出了可编程与阵列和固定或阵列(用或门的逻辑符号表示)。阵列中每条纵线代表一个输入信号,每条横线表示一个乘积项(PT),其中引脚29是输入端,引脚1219由三态门控制,既可以做输出,也可以做输入,是一种I/O结构
46、。PAL型各标识数据项的含义:在PAL16L8中,16表示输入变量的个数,8表示输出端数,L表示低电平有效。PAL16L8属于异步I/O输出,低电平有效。第7章 存储器与可编程逻辑器件图7-24 PAL16L8的逻辑图第7章 存储器与可编程逻辑器件3.PAL的特点的特点PAL器件是在PLA器件之后第一个具有典型实用意义的可编程逻辑器件。PAL与SSI、MSI标准产品相比具有密度高、节省空间等许多优点。通常一片PAL可代替68片SSI或24片MSI。提高了速度,这也是提高工艺水平的结果。PAL的主要优点是使用方便、通用性强(可代替大部分SSI、MSI)、功能强大、设计容易、保密性好等。PAL的主
47、要缺点是由于它采用了双极型熔丝工艺,只能一次编程。另外PAL器件种类繁多,也为设计和使用带来了不便。第7章 存储器与可编程逻辑器件7.4.2 GAL的原理的原理 1.GAL的基本结构的基本结构GAL16V8片内逻辑阵列如图7-25所示,它由以下4个部分组成:(1)8个输入缓冲器和8个输出反馈/输入缓冲器;(2)8个输出逻辑宏单元OLMC,8个三态缓冲器,每个OLMC对应一个I/O引脚;(3)由88个与门构成的与阵列,共形成64个乘积项,每个与门有32个输入项,由8个输入信号及8个反馈信号(分别有原变量和反变量)组成,故共有3288=2048个可编程单元;(4)具有系统时钟CK和输出选通信号OE
48、的输入/输出缓冲器。GAL器件没有独立的或阵列结构,或门放在各自的OLMC中。第7章 存储器与可编程逻辑器件2.GAL的输出逻辑宏单元的输出逻辑宏单元OLMC输出逻辑宏单元OLMC(Output Logic Macro Cell)经组态可以实现各种输出功能。只要在OLMC的结构控制字中写入不同的数据就可以得到不同类型的输出结构,完全可以取代PAL的各种输出电路结构。OLMC组态的实现,即结构控制字各个控制位的设定都是由开发软件和硬件自动完成的。OLMC共有五种工作模式:(1)专用输入结构:该OLMC只能作为输入。(2)专用输出结构:输出不经过触发器,直接组合输出。(3)带反馈的组合型输出:它属
49、于组合输入/输出(I/O)结构,适合于三态I/O缓冲等双向组合逻辑。第7章 存储器与可编程逻辑器件图7-25 GAL16V8阵列图第7章 存储器与可编程逻辑器件(4)时序电路中的组合输出结构:时钟、选通分别连到各自的公共端,适合于计数器、移位寄存器等。(5)寄存器模式组合I/O结构:该模式中除本单元为组合I/O外,其余OLMC为带寄存器的输出结构,适合于实现带寄存器的器件中的组合输出。第7章 存储器与可编程逻辑器件3.GAL芯片的特点芯片的特点GAL芯片具有电可擦除工艺,可重新配置逻辑和重新组态各个可编程单元。用户可随时修改设计。完全的E2CMOS工艺保证了低功耗,最大运行电流为45 mA,最
50、大维持电流为35 mA,存取速度为10.25 ns。GAL芯片具有输出逻辑宏单元(OLMC),使其设计灵活多变,可替代大部分PAL产品。GAL芯片具有高速编程功能,按行编程速度为10 ms/行,在1 s内可进行整片编程。GAL芯片具有加密单元,可防止复制,其电子标签可以作为识别标志。它也可预置和加电复位全部寄存器,具有100%的功能可试验性。第7章 存储器与可编程逻辑器件7.4.3 GAL的编程及应用的编程及应用编程是使用GAL器件的关键,GAL器件要实现设计目标必须将GAL所要实现的功能通过编程写入器件内。GAL器件是PLD的一种,下面以PLD为例说明编程及应用过程。第7章 存储器与可编程逻