低功耗内存设计与亚阈值SRAM稳定性分析
内存生成器的设计与实现
在内存设计中,分区长度受到多种因素的限制。当前分区的最大单元数为256个,最小字长为8位。限制分区长度的因素主要有两个:一是位线负载,它会随着分区划分的存储体数量增加而增大;二是行解码能力,需要在保持低能耗的同时满足时序约束。目前分区的最大尺寸为256 x 256位,即8KB。由于位线位于金属3层,字线位于金属2层(金属2层具有更高的寄生电容),所以位线比字线长可能会带来更好的效果。
设计内存生成器时考虑了以下几点:
1.
专注于低功耗架构和实现
:采用低功耗的设计理念,降低内存的能耗。
2.
模块化、与叶单元无关的设计
:叶单元布局的任何变化只需更改内存生成器中指定的参数。这使得生成器代码具有通用性,能够轻松适应不同的技术。例如,可以将6T SRAM单元替换为4T SRAM单元,或将NAND预解码器替换为宽NOR预解码器。
3.
内存阵列分区位置和大小的完全灵活性
:可以根据实际需求灵活确定分区的位置和大小。
4.
阵列中字长和每行字数的灵活性
:支持不同的字长和每行字数设置。
5.
可生成内存大小的灵活性
:能够生成不同大小的内存。
实验结果
为了验证ASBE内存架构的适用性和通过临时内存生成器获得的布局质量,选取了一个典型嵌入式应用(视频解码器)的源代码,并针对两个不同平台进行编译:一个是具有1KB代码内存的ARM7TDMI RISC内核,另一个是具有8KB代码内存的LX - ST200 VLIW内核。
通过ARMulator对ARM内核和LX - ISS对LX - ST200内核进行内存分析,捕获内存访问轨迹。将这两条轨迹输入到修改后的MemArt引擎中,以获取内存分区的数量、大小和寻址空间。
对于这两个案例研究,将内存大小和分区规格提供给ASBE内存生成器,以获得完整ASBE内存架构的最终布局。使用Cadence Virtuoso ICFB进行寄生参数提取、时序和功耗仿真。逻辑和单元阵列的参考技术均为意法半导体的130nm HCMOS9。
两个ASBE内存宏的面积、延迟和能量结果如下表所示:
| Platform | Monolithic | | | Uniform (32 part.) | | | Uniform (16 part.) | | | ASBE | | |
| — | — | — | — | — | — | — | — | — | — | — | — | — |
| | E [nJ] | D [ns] | A [µm²] | E [nJ] | D [ns] | A [µm²] | E [nJ] | D [ns] | A [µm²] | E [nJ] | D [ns] | A [µm²] |
| ARM7TDMI | 4.3e06 | 0.31 | 144052 | 2.8e06 | 0.28 | 145279 | 2.7e06 | 0.28 | 145485 | 2.4e06 | 0.29 | 144751 |
| LX - ST200 | 2.1e07 | 1.36 | 518393 | 1.3e07 | 1.34 | 520664 | 1.2e07 | 1.33 | 521089 | 1.1e07 | 1.34 | 519809 |
与整体式SRAM宏以及两个均匀分区内存实例(一个由32个分区组成,每个分区8行;另一个包含16个分区,每个分区16行)相比,节约(正数)和开销(负数)情况如下表所示:
| Platform | Uniform (32 part.) | | | Uniform (16 part.) | | | ASBE | | |
| — | — | — | — | — | — | — | — | — | — |
| | ∆E [%] | ∆D [%] | ∆A [%] | ∆E [%] | ∆D [%] | ∆A [%] | ∆E [%] | ∆D [%] | ∆A [%] |
| ARM7TDMI | 34.83 | 7.96 | -0.85 | 37.15 | 9.55 | -0.99 | 43.34 | 6.05 | -0.48 |
| LX - ST200 | 38.86 | 1.97 | -0.43 | 42.03 | 2.63 | -0.52 | 45.34 | 1.68 | -0.27 |
从结果可以看出,两个案例研究中最佳的能量节约来自ASBE宏,而不是均匀分区的实现。这与理论结果一致,证实了ASBE内存架构的可行性和有效性,以及与均匀内存分区相比的优越性。同时,生成的布局质量也得到了体现,面积占用略优于均匀分区内存,时序基本相同(明显优于整体式架构)。
亚阈值SRAM单元的静态噪声裕度分析
在深亚微米技术的低功耗设计中,降低内存的泄漏电流至关重要。一种常见的架构技术是降低电源电压,使SRAM单元在亚阈值(Vth)区域工作。本文分析了亚阈值SRAM单元的稳定性,首次推导出了亚阈值下静态噪声裕度(SNM)作为电路参数、工作条件和工艺变化的函数的解析表达式。通过一个3G接收器案例研究,展示了稳定的亚阈值SRAM设计的泄漏电流节约潜力,可实现高达65%的能量节约。
泄漏电流组件
如今SRAM单元的主要泄漏组件是亚阈值电流Isub和栅氧化层电流Iox。亚阈值泄漏是一种弱反型(Vgs < Vth)电流,使用以下模型表示:
[I_{sub}=S\cdot I_0\cdot\left(\exp\left(\frac{V_{gs}-V_{th}}{nV_T}\right)-1\right)\cdot\left(1 - \exp\left(-\frac{V_{ds}}{V_T}\right)\right)]
其中,S是晶体管的(W/L)比,VT = kT/q表示热电压,I0是Vgs = Vth时的特定工艺电流,T是芯片温度,n是亚阈值摆幅系数。阈值电压Vth是电路(如反向体偏置)和器件参数的函数。为简化分析,忽略影响Vth的短沟道效应,假设在VDD ≤ Vth的电路中Vth为常数。热电压VT随温度线性增加,如果Isub增长或SoC的其他部分产生热量,VT会上升,进一步增加Isub,形成恶性循环。从公式可以看出,降低电源电压、增加Vth(以速度降低为代价)和/或冷却设计可以降低Isub。
栅氧化层电流Iox主要是由于通过薄栅氧化层绝缘层的隧穿效应。由于Iox随VDD呈指数下降,且与工作温度无关,在亚阈值工作区域,Iox不会显著增加泄漏电流,因此在后续分析中忽略Iox。
亚阈值SRAM单元的解析SNM模型
静态噪声裕度(SNM)是表征SRAM单元抗噪声能力的常用指标,定义为翻转单元状态所需的最小直流噪声电压。通过绘制静态电压传输特性(VTC)并找到它们之间的最大可能正方形来估算SNM,正方形的边长L表示翻转单元状态所需的每个单元存储节点上的最小噪声电压。
通过求解基尔霍夫电流定律,可以推导出两个单元反相器在最大正方形角Q/R和Q’/R’附近的静态VTC函数F1和F2:
- 存储节点VL:(I_1 = I_3 + I_5)
- 存储节点VR:(I_2 = I_4 + I_6)
由于所有六个晶体管都在亚阈值区域工作,且泄漏电流Ii主要由亚阈值电流主导,因此Ii由上述亚阈值电流模型表示。
待机模式
假设单元在存储节点VL中存储‘0’,在存储节点VR中存储‘1’,且在待机模式下位线设置为VDD。两个访问晶体管M3和M4关闭,即栅极电压设置为地。由于亚阈值电流主要由扩散分量主导,I3和I4可以忽略不计。因此,基尔霍夫电流方程可以简化为:在节点VL处I1 = I5,在节点VR处I2 = I6。
通过基尔霍夫电压方程消除晶体管Mi的电压Vgs,i和Vds,i:
[V_{1,gs}=V_{2,ds}=V_R]
[V_{2,gs}=V_{1,ds}=V_L]
[V_{5,gs}=V_{6,ds}=V_{DD}-V_R]
[V_{6,gs}=V_{5,ds}=V_{DD}-V_L]
将亚阈值电流模型代入基尔霍夫电流方程并应用上述电压关系,可以得到静态VTC函数F1(VL = x)和F2(VR = y):
[F_1(x)=\frac{n_1 + n_5}{n_1n_5}V_T\ln\left(\frac{e^{-\frac{x}{V_T}} + 1}{e^{-\frac{V_{DD}-x}{V_T}} + 1}\right)+F_{s,1}]
[F_2(y)=\frac{n_2 + n_6}{n_2n_6}V_T\ln\left(\frac{e^{-\frac{y}{V_T}} + 1}{e^{-\frac{V_{DD}-y}{V_T}} + 1}\right)+F_{s,2}]
其中,
[F_{s,i}=\frac{n_iV_{th,i}-n_jV_{th,j}}{n_in_j}+\frac{n_i + n_j}{n_in_j}V_T\ln\left(\frac{S_j}{S_i}\right)]
由于无法为F1⁻¹(y)或F2⁻¹(x)导出解析表达式,因此寻找VTC侧瓣内最大正方形的优化问题不能简化为单维问题,需要将SNM的求解表述为多变量优化问题:在0 ≤ x, y ≤ VDD的范围内,最大化f(x, y),同时满足g(x, y) = 0。
SNM建模为嵌套在F1(x)和F2(y)之间的正方形的边长,目标函数和约束条件如下:
[f(x_1,y_2)=F_2(y_2)-x_1]
[g(x_1,y_2)=F_1(x_1)+y_2 - F_2(y_2)-x_1 = 0]
由于f(x1, y2)在由VTC侧瓣界定的凸优化问题内可微,可以使用拉格朗日乘数法找到最大值。
低功耗内存设计与亚阈值SRAM稳定性分析
拉格朗日乘数法求解SNM
拉格朗日乘数法是解决上述多变量优化问题的有效方法。具体来说,我们定义拉格朗日函数:
[\varPhi(x_1,y_2,\lambda)=F_2(y_2)-x_1-\lambda(F_1(x_1)+y_2 - F_2(y_2)-x_1)]
其中,(\lambda)是拉格朗日乘数。通过对(\varPhi)分别关于(x_1)、(y_2)和(\lambda)求偏导数,并令其等于0,得到以下方程组:
[\begin{cases}
\frac{\partial\varPhi}{\partial x_1}=-1-\lambda(F_1^\prime(x_1)-1)=0\
\frac{\partial\varPhi}{\partial y_2}=F_2^\prime(y_2)-\lambda(1 - F_2^\prime(y_2))=0\
\frac{\partial\varPhi}{\partial\lambda}=F_1(x_1)+y_2 - F_2(y_2)-x_1 = 0
\end{cases}]
求解这个方程组,就可以得到使(f(x_1,y_2))最大的((x_{max},y_{max})),进而得到SNM的值。
不同模式下的电流分析
通过SPICE模拟不同模式下的亚阈值电流分量,能够进一步简化基尔霍夫电流方程。以下是不同模式下的电流分析:
-
活动模式
:在活动模式下,访问晶体管开启,部分电流可以根据模拟结果进行忽略。例如,在某些情况下,某些晶体管的电流相对较小,可以在计算中忽略不计,从而简化方程。
-
待机模式
:在待机模式下,访问晶体管关闭,如前面所述,(I_3)和(I_4)可以忽略。这使得基尔霍夫电流方程在待机模式下得到简化,便于后续的分析和计算。
总结与展望
本文结合了基于分析的技术和物理分区,实现了为特定软件应用自动生成节能分区内存架构的目标。为ASBE内存架构的各个组件提供了设计解决方案,并详细描述了原型ASBE内存生成器的实现细节。通过两个实际案例验证了自动内存生成的结果,证实了生成布局的质量以及在能量、延迟和面积方面的效率。
在未来的工作中,计划从以下几个方面进行深入研究:
1.
内存解码器架构
:研究低功耗、低开销的内存解码器替代架构,以突破当前生成器可处理的ASBE宏大小的限制(目前为256 x 256位)。
2.
地址聚类方案
:探索比现有方案更高效的地址聚类方案。一个优化的重排序方案将有助于提高分区的质量。
3.
工业框架集成
:将ASBE内存生成器算法集成到SRAM合成的工业框架中,推动技术的实际应用。
流程图总结
下面是整个研究过程的mermaid流程图:
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px
classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px
A([开始]):::startend --> B(内存生成器设计):::process
B --> C(实验验证):::process
C --> D(亚阈值SRAM分析):::process
D --> E(泄漏电流组件分析):::process
E --> F(解析SNM模型推导):::process
F --> G(拉格朗日法求解SNM):::process
G --> H(不同模式电流分析):::process
H --> I(总结与展望):::process
I --> J([结束]):::startend
关键技术点回顾
技术点 | 描述 |
---|---|
内存生成器设计 | 考虑低功耗、模块化、分区灵活性等因素 |
实验验证 | 通过实际应用案例验证ASBE内存架构的性能 |
亚阈值SRAM分析 | 研究亚阈值下SRAM单元的稳定性和泄漏电流 |
解析SNM模型 | 推导亚阈值下静态噪声裕度的解析表达式 |
拉格朗日法求解 | 用于解决多变量优化问题求SNM |
不同模式电流分析 | 简化基尔霍夫电流方程 |
通过以上研究和分析,为低功耗内存设计提供了理论支持和实践指导,未来的研究方向将进一步推动该领域的发展。