资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,数字逻辑与数字电路,1,2,第七章,半导体存储器,与,可编程逻辑技术,可编程逻辑电路有广义的与狭义的之分。广义上讲,凡是能够通过编程来改变逻辑功能的数字电路均称作可编程逻辑电路。如可编程计数器、单片机中可改变功用的I/O端口等都属于可编程逻辑的范畴。狭义的可编程逻辑电路则专指集成可编程逻辑器件,如PLD、GAL、CPLD、FPGA等。,随着可编程逻辑集成电路的技术发展,器件的密集程度从低到高、电路的复杂度也越来越高。,3,目前可编程逻辑器件正朝着将各种功能单元集成在一个芯片之内,再通过可编程的互连技术,构成变化多端的逻辑系统的方向发展。另一种趋势是将可编程逻辑器件与CPU、DSP芯片等集成在一起,构成更为复杂的器件和系统。,本章将介绍半导体存储器、可编程逻辑实现的方法和各种集成可编程逻辑器件的有关知识。,4,7.1,半导体存储器,半导体存储器,是一种能够存储大量二进制数据信息的半导体器件。在数字电子计算机系统中,半导体存储器是必不可少的重要部件。,按照工作方式和电路结构不同,半导体存储器又分为,只读存储器,ROM、,随机存储器,RAM两大类。,具体的又分为,掩模型,ROM、,紫外线可擦除式,EPROM、,电可擦除式,E,2,PROM、,闪存型,(Flash)存储器和,静态SRAM,、,动态DRAM,等许多品种。,5,随机存储器RAM为,易失性,存储器,当电路断电之后RAM中所保存的数据就丢失了。,而ROM、EPROM、E,2,PROM和Flash存储器均为,非易失性,存储器。当电路断电之后,存储在这些器件中的数据不会丢失。,6,7.1.1,随机存储器,RAM(,Random Access Memory),随机存储器RAM,是能够快速存取大量数据的半导体存储器。它在计算机中扮演着十分重要的角色。存取数据的速度是RAM的重要参数,它直接影响着计算机的运行速度。,RAM又有静态RAM和动态RAM之分。,静态RAM,常用,SRAM,(Static RAM)表示。,动态RAM,常用,DRAM,(Dynamic RAM)表示。,SRAM的存取速度远远快于DRAM,常用于高速运算的场合。而DRAM的存储单元电路比SRAM结构简单,存储器的容量更大。,7,1.,静态,随机存储器SRAM,由于存储器中有大量的存储单元,所以存储器的内部均采用阵列结构,如图7-1所示。,所谓,阵列,就是由许多行与列形成的栅格。在每一个行与列的交叉点上放有一个,存储单元,,每一个存储单元有两种可能的状态,分别代表两个逻辑真值。,当对存储器进行读写操作时,先由,地址译码器,选中某一个存储单元,然后对其实施读写。,8,9,SRAM的存储单元是由晶体管构成的双稳态电路,如右图(图7-2)所示。,10,图中V3、V4、V1和V2构成,双稳态电路,:或V3导通、V4截止,或V4导通、V3截止。V1和V2是V3和V4的有源负载。,当该存储单元被选中时,V5、V6和V7、V8均导通,可,以进行数据的读写操作。,SRAM的特点是电路不需要刷新,数据存入到存储器中,后,只要不断电,数据就能够长期保存在存储器中。,11,2.,动态,随机存储器DRAM,DRAM与SRAM相比,其存储单元更简单,因而DRAM的存储容量更大。图7-3是DRAM的存储单元电路图。,12,电路由一只MOS管和一个电容组成。,当该存储单元被选中时,可以通过列选线向电容充电或放电,进行数据的读写操作。,但由于电容中的电荷易于放电丢失,所以必须不断地定时实施刷新操作,对于电容进行补充充电。,所以动态随机存储器除了存储单元阵列、行列译码电路之外,还应当有数据的定时刷新电路等。,13,左图(图7-4)是一个1288位存储器的逻辑符号。,该存储器数据的写入与读出操作使用同样的8根I/O口线,当R/W为高电平时,从存储器中读出数据;当R/W为低电平时,将I/O口线上的数据写入到存储器中。,该存储器有7条地址线,故可访问2,7,=128个存储单元。,14,3.RAM集成电路举例,AS7C256是一个32k8位的SRAM集成电路。,表7-1是AS7C256的真值表。,图7-5是AS7C256的结构方框图。,15,16,AS7C256有三个控制信号,其中CE为片选信号,OE为输出使能信号,WE选择读/写操作模式。 CE和OE可用于存储器的扩展。,图7-6为AS7C256的读操作时序图。由图7-6能够看出:只有当地址信号和CE、OE信号稳定一段时间之后,才能从存储器读出可靠的数据来。而当地址信号改变或者CE、OE信号撤除后,仅在有限的时间内能够读出可靠的数据来。,t,RC,为读操作时,地址信号和CE信号的读循环时间,这个时间在器件的参数表中给出。,17,18,图7-7为AS7C256的写操作时序图。由图7-7能够看出:在进行写操作时,地址信号必须先于CE、WE信号有效稳定下来,这段时间即为t,AS,。,写入的数据至少必须稳定一段时间t,DW,,然后CE、WE信号才能撤除。当CE、WE信号撤除后,写入的数据仍要稳定一定时间t,DH,不变。,写操作时地址信号的写循环时间为t,WC,。,19,20,4.,SDRAM,和,DDR SDRAM,SDRAM(Synchronous DRAM)意为,同步动态,RAM,。是一种大容量的半导体存储器模块,其存储容量可达1GB 以上。,SDRAM的行地址线和列地址线是分时复用的,即地址线要分两次送出,先送行地址线,再送列地址线。这样可以减少地址线的数量、提高器件的性能,但寻址过程也会因此而变得复杂。,SDRAM存储器模块一般由多个较小容量的半导体存储器芯片与一些辅助逻辑集成电路组成。这些较小容量的半导体存储器又被分成若干个组(Rank),在存储器工作时,,21,按组分别进行读写操作。这样分组的结构方式保证了大容量存储器的字线和位线的长度不会太长。,DDR SDRAM(Double Data Rate Synchronous DRAM)意为,双倍数据速率同步,DRAM。DDR SDRAM是SDRAM的改进产品,其数据传输率更高,为SDRAM的两倍,:,每个时钟脉冲期间,完成数据传输两次。,22,DDR2 SDRAM是DDR SDRAM的2代更新产品。,最新的DDR SDRAM器件存储容量已经达到2GB。,图7-8是PC机中使用的DIMM(Dual Inline Memory Module即,双列直插存储器模块,)DDR SDRAM内存条的外形图。,23,7.1.2,只读存储器,ROM,(Read Only Memory),只读存储器ROM属于非易失性的存储器。即当断电之后,保存在ROM中的数据仍能够长期保存。,实际上有些ROM存储器也是能够由用户来写入数据的,但是它们写入数据的过程要比RAM复杂、且写入速度慢了许多,所以ROM适合于不频繁地写入数据的工作场合,而RAM适用于数据需要随时读写的工作环境。,1.,掩模ROM,掩模ROM也称作,Mask ROM,,它是在器件生产时由厂商完成编程的只读存储器。在使用过程中,用户是无法改变掩模ROM中的存储内容的。,24,一般掩模ROM的编程是通过制造时的掩模图来实现的。,所谓掩模图就是决定在ROM的某一行列交叉点上是否有一个晶体管的设计图纸。如果有晶体管,则表示该点存储数据,1,;若无晶体管,则表示该点存储数据,0,。,2.,熔丝型PROM,熔丝型PROM是可以由用户进行编程的存储器。对于器件各个行列交叉点上的熔丝,用户可以选择将其熔断或者保持不熔断状态,这样就实现了器件的编程。,由于熔丝熔断后就无法恢复原状,所以熔丝型PROM仅能被编程一次。,一次性编程常用,OTP,(One Time Programable)表示。,25,3.,紫外线可擦除型EPROM,紫外线可擦除型EPROM的存储单元是位于各个行列交叉点上的浮栅晶体管。,当晶体管的浮栅充上电荷后,晶体管在工作电压下是截止的,相当于存储了数据,1,。当晶体管的浮栅放电后,晶体管在工作电压下是导通的,相当于存储了数据,0,。,紫外线可擦除型EPROM中存储的数据,0,可以通过紫外线光照进行擦除,所以这种EPROM能够由用户多次编程。,这种EPROM的编程和擦除需要使用专门的编程装置。,26,目前紫外线可擦除型EPROM已经被性能更为优越的EEPROM和FLASH存储器所替代。,4.,电可擦除型EEPROM,EEPROM也称,E,2,PROM,,是一种可以用电脉冲完成擦除和写入操作的存储器。,当对E,2,PROM进行擦写操作时,要施加一个用于擦写的专门电压,其电压值高于读数据时的工作电压。,E,2,PROM的特点是集成度较低、价格较高。,27,7.1.3,FLASH存储器,FLASH存储器俗称,闪存,,是一种读写性能十分优良的新型非易失性存储器。,目前FLASH存储器的用途十分广泛,如U盘、MP3、数码相机、移动电话、单片机等均使用的是FLASH存储器。,FLASH存储器的存储单元为单管结构,因此存储器的存储容量可以做得很大。,FLASH存储器的存储单元为叠栅MOS管,图7-9是闪存型叠栅MOS管的结构图和电路符号。,28,29,当对叠栅MOS管执行写操作后,通过擦写高电压,MOS管的浮栅被负电荷充电,MOS管的开启电压数值变高,在正常读工作电压下管子将处于截止状态,相当于存储了数据,1,。,当执行擦除操作后,管子的浮栅被放电,MOS管的开启电压数值变低,在正常读工作电压下管子将处于导通状态,相当于存储了数据,0,。,这种结构的FLASH存储器中每一个浮栅MOS管能够存储一位二进制数据。而最新的技术成就是:可以用一个浮栅MOS管存储两位二进制数据,也即一个浮栅MOS管可以有四种状态。,30,这样就实现了一个单管存储两位数据,电路的存储容量被大大提高了。,随着电子技术的进步,更大容量的FLASH存储器被不断生产出来。,由于FLASH存储器具有容量大、读写容易和性价比高等优点,FLASH存储器的市场需求日益增长。,31,现代单片机中同时存在着RAM、FLASH存储器和E,2,PROM三种半导体存储器。,RAM用于数据运算和处理的中间过程,FLASH存储器用于存放单片机的程序代码,E,2,PROM用于存储断电后仍不会丢失的数据信息。,其中FLASH存储器的容量较大,它擦写方便、具有“在系统编程”的能力。,所谓“,在系统编程,”是指器件不需要从其应用电路中取下,直接可以在其应用电路中,通过专用的下载电缆,完成改写存储器中内容的意思。,32,单片机中的E,2,PROM容量较小,其可擦写的寿命要比FLASH存储器更长。,数码相机、移动电话、PDA和袖珍计算机等产品中的FLASH存储器为可拆卸的存储卡(Memory Cards)形式。,FLASH存储卡也是用多片较小容量的FLASH存储器芯片组合,以获得到很大的存储容量的。目前存储卡的容量已经达到8GB以上。,33,7.1.4,存储器的扩展,存储器扩展的方法十分容易理解:当需要扩展存储器的字长时,只要将多片存储器的地址线和控制线并联起来即可,扩展后的字长为几个存储器字长之和。,当需要扩展存储器的容量时,只要将多片存储器的地址线并联起来,再用N中选一的译码器对各个存储器进行片选,译码器的输入作为新增的地址线,然后将多片存储器的I/O口线并联起来使用即可。,存储器字长扩展和容量扩展的电路见后图所示。,34,128,8存储器扩展成12816存储器,35,1288存储器扩展成2568存储器,36,7.1.5,查找表,(Lookup Table),如果我们将存储器的地址线作为输入信号端,而把存储器各存储单元中的数据从数据线输出,则存储器中的存储情况能够被看作一张表,每个存储单元对应于表中的一个格子。当改变地址信号时,相当于从不同的格子中读取数据。,实际上各种数学运算和逻辑运算都可以用查表的方法完成。例如:进行两个4位二进制的加法运算,我们可以用具有8位地址线的存储器来实现,如图7-10所示。,37,因为两个4位二进制操作数,共有种排列情况,所以我们事先在存储器中将两个操作数所有可能情况下的512个和值(也即真值表的内容)存储到各存储单元中。然后通过地址线查表,就可以完成运算操作了。,对于复杂的运算还可以使用多级查表的方法来实现。,38,同样,一个N个输入变量的组合逻辑函数,共有2,N,种不同的输入情况组合。只要保证在所有2,N,种输入情况下,得到与函数真值表相同的输出数值,就实现了该逻辑函数。,因此我们事先按照组合逻辑函数的真值表,在存储器中的2,N,个存储单元中存入函数的真值。然后以地址线作为函数的输入,读取存储器中的数据作为函数输出,就能够实现组合逻辑函数了。,例如:我们可以用1K8位的ROM实现一个10个输入变量、8个输出变量的组合逻辑函数,如图7-11所示。,39,目前查找表是CPLD、FPGA等可编程逻辑集成电路中实现逻辑函数和逻辑运算的重要方法。,40,7.2,可编程逻辑的实现,7.2.1,电子开关,与,可编程互连,精心设计的MOS管能够制成电子开关,所谓,电子开关,是指导通电阻小、开关速度快、能够双向传输信号的器件。,电子开关的通断是由数字信号来控制的。电子开关不但能够用于开关数字信号,也能够用于开关模拟信号,这时电子开关已经替代了传统机械开关的作用。,图7-12是电子开关在音频放大器中的应用示意图。,41,图7-12 电子开关在音频电路中的应用,42,将电子开关与可编程的存储器等联接,就可以构成可编程的互连电路。可编程的,互连资源,是构成可编程逻辑集成电路的重要组成部分。,上图(图7-13)是由MOS管构成电子开关的电路,此处MOS管的源极和漏极是没有区分的,也即它们可以互易使用,管子的栅极引出线因此画在中间。因为MOS管的源极和漏极可以互换,故能够允许电流的双向流动。,43,7.2.2,可编程逻辑阵列,可编程逻辑阵列是实现可编程逻辑的一种方法。下图(图7-14)是一个可编程逻辑阵列的例子,它对读者理解可编程逻辑阵列的工作原理很有帮助。,44,图中行列交叉点处的圆圈代表,可编程单元,,它可以是熔丝或浮栅MOS管,总之可以由用户编程来决定其通断与否。,电路的逻辑功能是通过“,线与,”逻辑实现的:当列线上有多个可编程单元被编程后,只要某一个可编程单元对应的输入为低电平时,此列线就一定输出低电平。只有与列线相连的所有输入均为高电平时,列线才输出高电平。,45,图7-15是一个用可编程逻辑阵列实现逻辑函数的实例。,46,7.2.3,可配置逻辑功能,的电路,下图(图7-16)是一个可通过编程进行功能配置的逻辑电路。它包含一个D触发器、一个4选1数据选择器、一个异或门和一个三态门,以及三个可编程单元。,47,当数据选择器的通道选择码被编程为不同的数值时,输入变量X、D触发器的输出Q或Q、常数“1”分别被选中输出。,异或门上的可编程单元能够控制输出信号的极性。当它未被编程时,信号经过异或门后极性反相;当它被编程后,信号经过异或门后极性不变。,EN信号则控制三态门的打开与否。,所以这个电路能够配置成常数输出、变量输出或者D触发器输出,而且输出信号的极性还可以任意设置。,48,7.3,可编程逻辑集成电路,作为商品销售的可编程逻辑集成电路品种很多,其内部构造十分复杂。对于使用可编程逻辑器件的用户来说,并不需要对可编程逻辑器件的内部构造有十分深入的研究,仅需对可编程逻辑器件的内部结构和工作原理有一个初步的了解就可以了。,各种可编程逻辑集成电路的编程和使用,需要专用的软件系统的支持。生产可编程逻辑器件的各家厂商,都为用户提供配套的支持软件。,49,7.3.1,PAL,(Programmable Array Logic),PAL即,可编程阵列逻辑,,属于可编程逻辑器件的早期产品。,PAL由可编程的“与”逻辑阵列和固定的“或”逻辑阵列构成。,PAL的输出电路形式有些是组合逻辑的,也有是含触发器的时序逻辑电路。,图7-17是一种典型的熔丝型PAL产品PAL16R8的逻辑图。,50,图中每一行产生一个逻辑乘积项,各乘积项再通过右边的或门求和。,图中有“”号的门,表示该门的输入端与所有的纵向输入线都编程连接了。,通过编程配置,PAL能够实现各种组合逻辑函数和时序逻辑功能。,图7-17 PAL16R8的编程图,51,PAL编程图的局部放大图,编程连接点,表示该门的输入端与所有纵向线编程连接了,52,7.3.2,GAL,(Generic Array Logic ),GAL是,通用阵列逻辑,的简称。GAL中同样依靠逻辑阵列来实现逻辑函数,但与PAL不同,GAL的输出形式是可编程的。,GAL中输出单元为,OLMC,(,输出逻辑宏单元,),它是一种能够通过配置改变逻辑功能的电路。通过编程GAL的输出既可以是组合电路形式的,也可以是时序逻辑形式的,输出电路形式存在很大的选择余地。,因此GAL具有比PAL更为灵活的应用特性。,53,另外GAL中的可编程逻辑单元采用了可反复擦写的浮栅MOS管,因而GAL能够多次编程和修改逻辑功能。,GAL的典型产品有Lattice公司生产的GAL16LV8等。,GAL16V8的结构如下所示。,54,55,GAL16V8的管脚图,56,7.3.3,CPLD,(Complex Programmable Logic Devices)和,FPGA,(Field Programmable Gate Array),CPLD是,复杂可编程逻辑器件,的缩写,FPGA是,现场可编程门阵列,的简称。,CPLD和FPGA采用了比较复杂的结构,它们在芯片中集成了许多功能电路,包括:,(1) SRAM,(2) Flash存储器,(3) 可编程逻辑模块,(4) 输入/输出模块,57,(5) 快速互连资源等,FPGA中实现逻辑功能,通常采用,查找表,法。片内的Flash存储器用于存储编程信息代码,装入数据后的SRAM用于实现逻辑功能。,因此只要通过事先编程,就能够构成具有特定逻辑功能的数字系统。,采用FLASH存储器是FPGA的一种技术改进。此时,基于SRAM的存储单元控制器件逻辑的操作,这些单元在上电后1毫秒内由芯片上的Flash存储器载入,提供瞬时上电的性能。,58,器件也可以经由一个微处理器接口,如sysCONFIG 接口或JTAG接口进行配置。,与传统的基于SRAM的FPGA不同,基于Flash存储器的器件不需要外接引导存储器,所以能提供单芯片的解决方案,从而减少了电路板面积,并简化了系统制造过程。,由于没有外接的引导器件,启动时无需外部编程信号流(bit-stream),而窥探外部编程信号流正是SRAM FPGA的主要安全隐患。基于Flash存储器的FPGA还禁止从器件的SRAM和闪存部分回读编程信号流,进一步提高了器件的安全性。,59,使用,DLL,(Delay-Locked-Loop)是现代FPGA器件解决时钟偏移(Clock Skew)问题的有效方法。,时钟偏移,(Clock Skew)是指在高速电路中,各处的时钟信号之间存在一定的相位偏差的现象。,DLL利用一个负反馈环路,通过在环路中插入适当的延迟时间,从而实现了FPGA中各处的时钟边沿均准确对齐的功能。,60,DLL原理图,延迟,延迟,延迟,延迟,相位延迟控制,CLK_,in,CLK_,out,CLKFB,时钟分布网络,61,常见的CPLD和FPGA的生产厂商有:Xilinx公司、Lattice公司、Altera公司和Actel公司等。,常用的编程软件有:IspVM System,ISE WebPACK,QuartusII、Libero IDE和MAX+plus等。各种编程软件均支持,HDL,语言和,原理图,等输入方法。,无论是HDL还是原理图,均是一种表达用户逻辑设计要求的手段。关于HDL请读者参考书中附录D的内容。,当用户设计完成后,通过编程软件将设计文件编译成芯片编程用的输出文件,再利用下载电缆将编译后的文件代码下载到可编程逻辑集成电路芯片中。,最后除去下载电线、脱离编程环境,可编程逻辑集成电路就能够在应用电路中正常工作了。,62,下面我们看一个FPGA产品的实例:LatticeXP2器件。,表7-2是LatticeXP2器件的主要性能参数。,63,器件型号,XP2-5,XP2-8,XP2-17,XP2-30,XP2-40,LUT(K),5,8,17,29,40,分布式RAM(Kb),10,18,35,56,83,EBR SRAM(Kb),166,221,276,387,885,EBR SRAM块,9,12,15,21,48,sysDSP块,3,4,5,7,8,1818乘法器,12,16,20,28,32,PLL,2,2,4,4,4,电源电压(V),1.2,1.2,1.2,1.2,1.2,最大可用I/O口,172,201,358,450,540,LUT为查找表,EBR SRAM为嵌入式存储器,sysDSP提供高性能的乘法器和累加器等,PLL(系统时钟锁相环)具有倍频、分频和相移功能,用于管理时钟的相位关系。,表7-2 LatticeXP2器件性能,64,7.3.4,ISP,(In-System Programmable),技术,ISP,即,在系统可编程,的意思,它指器件具有无需从其所在的应用电路环境中取下,直接使用编程电缆,即能够完成擦写和编程任务的能力。,在系统可编程技术为随时改变系统的数据代码,从而改变系统的逻辑功能带来了极大的方便,它是现代电子技术的一项重要成就。ISP技术是通过片内可擦写的Flash存储器实现的。目前在系统可编程技术被广泛地应用在单片机(微处理器)、可编程逻辑集成电路等产品中。,65,图7-18 ISP技术应用的图示,66,英文词汇,memory,access,refresh period,erase,write,row,column,sense AMP,volatile,nonvolatile,Random Access Memory,Static RAM,Dynamic RAM,flash memory,array,cell matrix,read cycle,write cycle,Read Only Memory,memory expansion,67,英文词汇(续),mask ROM,One Time Programable,Memory Cards,In System Programmable,Interconnect Resource,Look Up Table,Configurable Logic Block,fuse- programmable,Delay-Locked-Loop,clock skew,Output Logic Macro Cell,68,本章小结,1.,半导体存储器,是数字电子系统中非常重要的组成部分。半导体存储器有ROM、RAM之分。RAM是易失性的半导体存储器,用于需要数据快速存取的场合。ROM是非易失性的存储器,断电后其中的数据不会丢失。,2.,Flash存储器,具有存储容量大、擦写便捷等优点,是目前应用最为广泛的非易失性存储器。,3.,查找表,是利用存储器实现逻辑函数和逻辑功能的重要方法。,69,4.现代,可编程逻辑集成电路,是将许多,功能电路,集成在其芯片上而构成,主要的功能电路包括:SRAM、Flash存储器、可编程逻辑模块、输入/输出模块和快速互连资源等。,5.,在系统可编程,技术是现代数字电子系统的重要技术特征,它能够在不将集成电路从电路板取下的条件下,直接通过电缆对系统编程,从而改变系统的逻辑功能。,70,思考题与习题,7-1 在Mask ROM、OTP ROM和 Flash Memory这几种半导体存储器中,如果产品的批量很大,且程序已经成熟不再需要改动,应当选用何种存储器?如果程序需要经常更改,或者不必考虑成本,应当选用何种存储器?如果希望价格较低,而且可以由用户进行编程,选用何种存储器较为合适?,7-2 RAM和ROM的特点有什么不同?它们各应用在什么场合?,7-3 如果用Flash Memory充当RAM,会出现什么问题?,71,7-4 SRAM与DRAM有什么不同?,7-5 存储器的扩展有哪2种方式?如何实现存储器的扩展?,7-6 什么是查找表?它有什么特点?,7-7 可编程逻辑集成电路有哪些种类?它们各有什么特点?,7-8 PAL和GAL的编程逻辑图与真实电路的逻辑图有什么不同?,7-9 CPLD和FPGA它们的芯片中集成了哪些功能电路?,7-10 什么是HDL?HDL的用途有哪些?,72,再见!,再见!,73,
展开阅读全文