首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于DBL结构的嵌入式64kb SRAM的低功耗设计

基于DBL结构的嵌入式64kb SRAM的低功耗设计

摘要: 针对嵌入式系统的低功耗要求,采用位线分割结构和存储阵列分块译码结构,完成了64 kb低功耗SRAM模块的设计。 与一般布局的存储器相比,采用这两种技术使存储器的功耗降低了43% ,而面积仅增加了18%。  

  关键词:存储器;SRAM;位线分割;分块译码

   嵌入式存储器的容量及其在系统芯片中所占的面积越来越大,对其操作所带来的动态功耗成为系统芯片功耗中重要的组成部分,因此,必须寻求有效的低功耗设计技术,以降低嵌入式存储器对整个系统的影响。为了降低存储器的功耗,人们采用了字线分割、分级字线译码以及字线脉冲产生等技术,大大降低了存储器的动态功耗。 另外一种能有效降低存储器动态功耗的技术就是位线分割(DBL)。 针对系统要求,笔者采用DBL结构以及一种存储阵列分块译码结构,完成了64 kb嵌入式存储器模块的设计。

        参数的修正与公式的重新推导

        DBL结构的原理
  
  DBL结构就是通过将两个或者多个SRAM存储单元进行合并,以减少连接到位线上的晶体管数目,从而减小位线电容,达到降低存储器动态功耗的目的。 图1w给出了将4个SRAM单元连接在一起并通过传输管连接到位线上的电路示意图。 与一般布局的位线结构相比,图1w所示的DBL结构中连接到位线上的传输管数目减少了3 /4。

  DBL结构有两个关键:第1,确定存储阵列行数N 与合并的单元个数M 之间的最优关系。 所谓最优是指合并后存储器的动态功耗最小。 对于这个关系,文献[ 1 ]中给出了相应的公式:
pnor = (1 /M + 0.1) + 2 ×( (M + 1) / (N (ΔV /V ) ) )  , (1)
Mop t = ( (N /2) ×(ΔV /V ) ) 1 /2  , (2)
  式中ΔV 表示位线上电压的摆幅, V 表示电源电压。第2,确定合并后各个管子的宽长比。下面,针对这两个问题进行讨论。


        DBL功耗公式的修正

  公式(1) , ( 2)是在下述假设下得出的:在SRAM中,位线的电容主要是由存储单元中传输晶体管的漏极电容和位线的金属连线电容构成,并且金属线的寄生电容是与位线相连管子漏极总电容C的10% ,则图2中寄生电容C1 和C2 可表示为
C1 = C M /N  ,  C2 = C /M + 0.1C 。


  然而,上述假设并没有真正反映位线电容的构成,因为位线电容的组成包括存储单元中传输晶体管的源/漏电容CBS ,位线间的耦合电容CBB ,位线与横向字线之间的耦合电容CWW ,位线与地线的耦合电容CBSS ,位线与电源线的耦合电容CBDD ,位线的金属连线电容CW 等。 随着深亚微米技术的发展,在位线总电容中,传输晶体管的源/ 漏电容CBS 所占的比例只有60% ~ 70% ,其他的电容分量共占30% ~40%,在这种情况下公式设计电路会带来较大的误差。 另外,对C1 的舍入过大,由此也引入了很大的误差,必须进行修正。 笔者对公式的重新推导如下。

   假设存储阵列的行数为N, DBL 结构中合并的存储单元数为M,一般布局结构(N 行) 中, 与位线相连的所有传输管漏极的总电容为C,并假定位线上其他的寄生电容是此漏极总电容的30% , 则图2中电容C1 和C2 可表示为
C1 = C (1.3M + 1) /N  ,  C2 = (C /M ) + 0.3C 。

  假设读写操作时子位线不进行预充电,并且其电压值能够达到电源电压,用ΔV 表示位线上电压的摆幅,那么,图2中DBL存储器的动态功耗可表示为

        p =f (M ) = (C2 ×ΔV ×V + 2 ×C1 ×V2 ) ×f = [ (C /M + 0.3 ×C) ×ΔV ×V + 2 ×C ( (1.3M + 1) /N ) ×V2 ] ×f (3)

  根据标准存储单元的功耗表达式pstan = (C ×ΔV ×V ) ×f , (4)
  对式(3) 归一化得pnor = (1 /M + 0.3) + 2 ×( (1.3M + 1) / (N ×ΔV /V ) )  , (5)
   因此可求得功耗最小时的M 值Mop t = ( (N /2. 6) ×(ΔV /V ) ) 1 /2  。 (6)
  如果存储阵列的行数N = 1 024,位线电压变化率ΔV /V = 011,则Mop t ≈ 6, pnor ≈ 0164。 但是如果按照公式(1) , (2) 计算,则Mop t ≈ 8, pnor ≈ 0140,后面的设计均基于修正后的公式(5) , (6)。

        管子宽长比的选择
  在6管存储单元中,为了完成正常的读写操作,各个管子的宽长比必须满足一定的约束条件,这种约束条件通常用上拉比PR 和单元比CR 来刻画。 对于图3@ 所示的存储单元,有CR = (WN 2 / LN 2 ) / (WN 4 /LN 4 ) PR = (WP1 / LP1 ) / (WN 3 /LN 3 ) 。 为了完成正常的读出操作,不发生“读翻转”,要求CR 大于1.8 (VDD = 3.3V, Vt = 0.5V) [ 7 ] ,因此N2 比 N4 有更好的导通性。 为了完成正常的写入操作, 要求PR 小于1 (VDD = 3.3V, Vtp = 0.5V 和μP / μN =0.5) ,也就是说, N3 应该比P1 有更好的导通性。 在DBL结构中,如果存储单元中各个管子的W /L 与 一般结构中的相同,显然,由于N4 和N6 (N3 和N5 ) 的串联等效关系,使得CR 的条件更容易满足,而PR 的条件更不容易满足,从而使写入操作变得更加困难。 因此, 为了完成正常的读写操作, 应合理确定管子N4 和N6 (N3 和N5 ) 的宽长比。N4 和N6 宽长比的选择,可以通过将N4 和N6 (N3 和N5 ) 近似成串联电阻来估算,如图3w 所示。 为了方便分析,假设N4 和N6 的结构相同。 显然,为了保持原先存储单元正常的读写功能,应该将N4 和N6 的宽长比都加倍,而其他管子的宽长比保持不变。


        分块译码的DBL 结构


  通过前面的分析可以看出,对于位线很长的存储阵列,通过采用DBL技术,选取合理的M 值,动态功耗会有所减小。 然而,以上的分析并没有考虑不同尺寸的管子以及不同的版图布局风格等因素的影响。 另外,在DBL结构中,由于还附加了其他的控制逻辑电路,其本身也有功耗,因此,实际功耗并不能完全按照公式(5)计算。为了进一步降低存储器的功耗,笔者在DBL结构的基础上,设计了存储阵列的分块译码结构。首先,为了使版图形状满足要求,将64kb SRAM划分成8个8kb的子阵列,并利用地址信号A1 , A2 , A3 译码后对8个8kb子阵列进行选择。 这不仅满足了版图的布局要求,也降低了存储器的功耗,整个布局如图4v所示。分块译码的DBL结构主要是针对每个8kb的存储子阵列设计的,如图4w所示,每个8kb的子阵列由左右两个存储阵列模块构成。 其工作原理为:利用列地址线A0 和A0 控制行译码器的输出,使得在任何读写周期,左右两个存储阵列只有一个被选中,这样整个64kb的SRAM就有1 /16子阵列处于活动状态,从而减小了由于字线充放电引起的动态功耗。

  图4w中,控制逻辑的具体结构如图4x 所示,子阵列sub DBLàmemroy arrayi ( i = 0~7)的结构如图4y所示,每个子阵列有512行,即N =512,根据公式(6) ,合并后的存储单元数M =4



  按照分块译码的DBL结构,采用chartered 0.35μm双层多晶三层铝布线的n阱CMOS工艺,完成了嵌入式64kb SRAM模块的设计,版图面积1。 4mm ×4. 7mm (一般结构的版图面积1.3mm ×4. 3mm)。 Starsim仿真结果表明,采用分块译码DBL结构的存储器的平均电流约为37mA,一般结构存储器的平均电流约为65mA。

        结束语
  以上讨论了嵌入式64kb SRAM的低功耗设计,通过采用DBL结构以及存储阵列分块译码结构,使得存储器的功耗降低了43%,而面积仅增加了18%。 仿真结果表明两者的最小访问周期都约为15 ns。 因此,根据A T2 P (A 是面积, T是访问周期, P是功耗)来衡量,这种低功耗设计方法是可行的。随着嵌入式存储器容量的加大以及深亚微米技术的发展,亚阈值漏电流所造成的静态功耗已经不可忽略,寻求有效的低功耗设计技术仍然是值得探讨的课题。
继承事业,薪火相传
返回列表