文档整理 | 借鉴参考collection of questions and answers20XX第二章 SRAM工作原理和性能指标2.1. SRAM根本构造SRAM即静态随机存储器,大多是由CMOS管组成的挥发性静态存储器在掉电后存储器中所存数据就会丧失顾名思义,随机静态存储器可以对任何地址进展读写操作,通过锁存器的原理对数据进展保存,在无操作状况下,锁存器处于稳态,保持数据稳定,不用进展周期性的电荷刷新SRAM由根本单元构成的阵列以及外围电路构成,其中阵列的划分和外围电路的优劣对整个SRAM的性能有很大的影响静态随机存取存储器〔简称为静态存储器或SRAM〕是随机存储器的一种,它由静态挥发性存储单元组成的存储阵列〔或者叫内核,core〕组成,其地址译码集成在片内SRAM速度很快而且不用刷新就能保存数据不丧失它以双稳态电路形式存储数据,构造复杂,内部需要使用更多的晶体管构成存放器以保存数据SRAM由于靠连续的供电来维持所存数据的完整性,故属于易挥发性存储器SRAM电路构造与操作和一般的RAM类似,由存储阵列、灵敏放大器、译码器、输入输出电路和时序控制电路五大局部组成存储单元按行和列排列起来就组成了SRAM的阵列构造,行和列分别称为“字线〞和“位线〞。
每个存储单元对应于一个唯一的地址,或者说行和列的穿插就定义出了地址,而且每一个地址和某一特定的数据输入输出端口是相连的一个存储芯片上的阵列〔或者自阵列〕数目是由整个存储器的大小、数据输入输出端口数目、存储速度要求、整个芯片的幅员布局和测试要求所决定的如图2-1所示存储阵列是由存储单元(cell)构成的矩形阵列每一个单元都有自己独特的地址,通过外围的译码电路选中相应的单元进展读写操作译码电路包括行译码电路和列译码电路,其中行译码电路用来从2k行中选中一行,列译码是从2n中列中选出一列这样通过行译码列译码的共同作用来从阵列中选出相应的单元进展读写操作灵敏放大器和写入电路用来对数据进展读写操作在数据读出过程中,由于位线过长使得从单元中读出的信号很弱,需要用灵敏放大器来放大信号,加快数据的读出过程写入电路用来进展数据的输入控制电路主要用来控制数据的读写以及译码过程通过相应的控制信号如读使能信号写使能信号等来控制数据的读写操作图 2-1 SRAM的整体构造图2.1.1. 存储阵列SRAM有很多阵列构造,不同需求的SRAM需要不同的阵列构造当需要实现一个N个字,且每字为M位的存储器时,最直接的方法是沿纵向把连续的存储单元字堆叠起来。
如以下图所示图 2-2 N个字存储器的总体构造在这种构造中,可以通过选择一根字线(S0-SN-1)来进展读写操作也就是说,从S0-Sn-1的字线信号中,有且只能有一条字线信号为高电平这个方法虽然比较简单并在很小的存储器中能工作的很好,但是遇到较大的存储器时就会出现问题假设要实现一个IKx8位的存储器,使用2.2(a)的构造就需要lK根选择线,这对布线与封装都构成难以抑制的困难插入一个译码器就可以减少选择信号的数目,如图2-2(b)所示通过提供一个二进制编码的地址字A0一Ak-1来选择一个存储字译码器把这一地址转换成N=2K根选择线,其中每次只有一根起作用这一方法把例中1K根外部地址线的数目转变成10根地址线 log2210 ,从而事实上消除了布线和封装问题对于更大容量的存储器,如果使用上述阵列构造,由于它的高度比宽度大太多倍,把存储单元连接到输入/输出的垂直线会过长,造成在运行时极慢为了解决这个问题,不但要在行方向使用译码器,在列方向上也要使用译码电路,地址字被分成列地址和行地址行地址可以读写一行的存储单元,而列地址可以从所选出的行中找出一个所需要的字,如图2-3这种构造应用于64K到256K范围的存储器。
对于更大容量的存储器,这种构造便会出现问题由于阵列的长度和宽度都太大,导致字线和位线的长度太长,所以电容和电阻变得过大而出现了严重的速度下降问题又因为金属互连导线RC延迟与长度平方成正比,所以整个存储器的访问时间同阵列宽度和高度的平方成正比同时又因为导线电容增大,使一次读写所消耗的能量也随尺寸增大而增加图2-3阵列构造的存储器组织由上面了解到,大容量的存储器由于字线和位线的长度,电容和电阻变得过大而开场出现严重的速度下降问题因此,较大的存储器在地址空间上再进一步增加一个层次,即对存储器进展分割形成层次化的阵列构造对存储器的分割可以通过减少一条字线上连接的单元数目或一条位线上连接的单元数目来实现通过分割可以降低存取操作时总的切换电容,从而降低存储器的功耗比方将存储器分割成P个小块,每一小块与图2-3一样如图2-4字的选择基于送入各块的行地址和列地址此外还有一个地址成为块地址,负责在P个块中选出需要读写的一块这样就显著降低了字线的长度,使读写速度较快而且将存储器适当的分割成几个子模块有助于把存储器的工作功耗限制在整个存储阵列的有限区域内,块地址只用来激活被寻址的块,未被寻址的块处于省电模式,只消耗维持数据所需要的功耗,这样可以节省很多功耗。
如图2-4,阵列被分为4块,在这个布局下,选择一个字线要经过两个步骤首先通过块选择信号选择所需要的块,其次按照所选择的块的字线信号结合位线信号就可以选择所对应的单元图 2-4 层次化的存储构造2.1.2. 灵敏放大器随着SRAM容量不断的增大,单元尺寸的不断缩小,位线变长,位线电容就相应增大,数据的读取时间也变的越来越长为了提高读取的速度,必须减小数据关键路径上的延迟时间减小SRAM的读取时间,一般有两种途径:一种有效方法是减少位线电容,另一种有效方法是在位线与输出缓冲单元之间参加灵敏放大器,减小位线电压摆幅,从而减小数据传输延时所以,灵敏放大器应该具有以下功能:1. 灵敏放大器可以从存储单元读出小信号,转换成逻辑电平0和1,实现数据的有效读出2. 由于位线电容是影响存储器速度的主要因素所以灵敏放大器是提高存储器访问速度的关键3. 高增益的灵敏放大器应该可以减小位线上的电压摆幅,可以显著减小功耗和增加速度灵敏放大器按照电路类型可以分为差分型和非差分型其中,差分型灵敏放大器把小信号的差分输入(即位线电压)放大为大信号输出它具有很多优点,比方抗干扰能力强、电压摆幅大、偏置电路简单、线性度高等。
差分型灵敏放大器能区分出很小的信号差,它的速度相对非差分型来说较快但是幅员面积也相对较大非差分型的灵敏放大器多用于非易失性存储器及顺序存储器随着集成度的提高以及性能的优化,非差分型灵敏放大器越来越难以满足系统的要求差分灵敏放大器、非差分灵敏放大器一般都采用电压工作模式在存储器中,位线信号的准确值因芯片的不同而不同,甚至在同一芯片的不同位置也不会一样1或0信号的绝对值可能会在一个很大的范围内变化芯片中会存在多个噪声源,比方电路切换引起电源电压上的尖峰信号,或者字线和位线之间的电容串扰等这些噪声信号的影响有时可能非常严重,特别是当被检测的信号幅值一般都很小的时候差分型灵敏放大器的输入端一般与一对位线相连,但并不表示两根位线必须为其提供一对互补的逻辑信号,通常情况是,一根位线上为参考电压,另一根就提供与存储单元存储数据相对应的信号差分放大器在有效抑制共模噪声和放大信号间真正差异的方面有很大作用2.1.3. 地址译码器电路SRAM的性能有很大局部是通过借助外围电路比方译码器和灵敏放大器来提高因此译码器的设计也很重要数据的读出和写入的过程有很大一局部时间花在译码上,因此它也是SRAM功耗的重要组成局部。
可以采取多级译码和字线脉冲的方法来降低功耗多级译码的使用可以有效的减少字线的负载,从而降低功耗字线脉冲的方法可以减小位线的电压摆幅,也进一步降低功耗在SRAM中,译码器是由一系列的与非门或者或非门组成它根据一组给定的地址去选中相应的单元来进展读写操作在大容量的存储器中,译码器直接和存储单元阵列相连,译码器单元的几何尺寸必须和存储器内核尺寸匹配(节距匹配)否那么就会造成布线的极大浪费和由此引起的延时和功耗的增加此外,译码器电路在SRAM中所占面积仅次于存储阵列因此,译码器的设计对存储器的整体面积也有一定影响利用译码器,我们可以用M个地址来表示2M个存储单元所以,译码器在实现随机存取功能同时,还减少了管脚的封装数因此,在存储器设计中,译码器的设计也是SRAM设计中的一个重要环节它对减小SRAM芯片面积和功耗、提高工作速度都有很大的影响SRAM的译码器种类有行译码器和列译码器它们分别对应存储阵列的行和列每一组地址经过译码器,唯一确定一个存储单元在译码过程中,首先由行译码器选中一条字线,然后由列译码器选中一个位线,由字线和位线确定唯一要访问的单元图 2-5 译码器电路如图2-5,译码器可以用与非门实现也可以用或非门实现。
它的逻辑功能相当于一个具有2n输出n输入的与门功能实际应用中由于不可能设计具有这么多输入的与门,所以在实际应用中译码器采用层次式与门构造2.1.4. 控制电路SRAM的读写操作都是由一系列的时序过程按顺序来完成的,所以需要用控制电路来保证其能正确且有效工作在图2-6所示的SRAM构造框图中,CSB,WEB和OEB分别称为片选控制端,写控制端和读控制端在实际应用中,并不由它们直接来控制读写,而是通过一定的控制电路,使三者经过逻辑组合,再产生几个信号,来分别控制读写操作对于存储容量比较大的异步SRAM,为了减少功耗和提高速度都会采用一种“地址转换监控电路(ATD)〞它能通过监测外部信号的变化自动产生内部控制信号如SE,控制灵敏放大器的开关信号,从而非常有效地降低功耗和提高存储速度图2-6 SRAM的构造框图2.2. SRAM工作原理SRAM的存储单元是靠双稳态电路存储信息如图2-7所示,M1、M3和M2、M4分别构成两个穿插耦合的倒相器,M5、M6为存取门管,作为读写操作的单元选择器件WL为字线,BL和NBL是一对位线,VDD是电源,GND是地SRAM的工作状态包括写入、读出和数据保持三种状态。
写入状态是指将数据线上的数据写入到存储位单元的存储节点中;读出状态是指将存储在内部存储节点上的数据读出到数据输出口;数据保持状态是指在读写状态都不执行时,存储在存储节点上的数值保持原来状态图2-7 SRAM存储单元逻辑图2.2.1. 数据写入向存储单元写入“1〞的过程是:〔1〕当WL字线为低电平,置BL位线为“1〞电平,NBL为“0〞电平;〔2〕置WL字线为高电平,此时M5、M6导通;〔3〕存储单元的存储节点V2通过M6向NBL放电,到达“0〞电平,M1截止;〔4〕BL位线通过M5,VDD通过M3,对存储节点V1充电至“1〞电平,M2导通;〔5〕置WL字线为低电平,M5、M6管关闭,此时存储单元的结点V1处于“1〞电平状态,V2处于“0〞电平状态这样就完成了向存储单元写入“1〞的全过程类似的方法可向存储单元写入“0〞信号通常SRAM存储单元都做成阵列构造,多个存储单元共用一根字线,在连续进展写入操作时,如果时序上配合不当,就有可能用前次位线上的数据改写同一根字线上的其他单元中的数据,进展高速存储器设计尤其要注意这一点另外,SRAM存储单元中的MOS管适宜的宽长比值是保证存储单元能够高速地进展写入数据操作的关键。
2.2.2. 数据读出从存储单元读出“1〞的过程是:〔1〕预充BL和NBL位线到“1〞电平,此时WL字线处于低电平;〔2〕使WL字线为高电平,M5和M6导通;〔3〕NBL通过M6和M2〔单元存“1〞时,M2一直处于导通状态〕迅速放电至“0〞电平,M1仍然截止;〔4〕VDD通过M3和M。