芯片片上SRAM存储概略及生成使用实践 (中)

在上一篇中,一起了解了片上SRAM的基本构造和结构,在本篇中,通过一些具体的Memory Compiler,一起深入的了解SRAM的具体特点和不同构成,闲话少说,Let’s go!
在这里插入图片描述
对于设计一个SRAM,除过最基本的核心部件(memory array )意外,在对SRAM进行的构件中还有多个部件需要添加,有了这些必要的封装,SRAM才可以提供一个友好的使用环境,提供给用户使用。

两种结构:Register File vs. memory array

常规的时序逻辑确实也具备了memory的存储方法,如果使用一种特殊的布局方式,可以模拟类似于register的高速的pipe级别的访问,同一个周期可以完成两次读和一次写操作(这里需要内部的读写冲突控制,产生先读后写操作)
在这里插入图片描述
在这里插入图片描述
这样的结构体和通常的memory array的bit cell结构体略有不同,带来的好处是在bitline的cap值和同样大小的memory array会有减小,可以有效降低访问memory cell时间,提升memory 速度。但是相应的当RF的容量逐步扩大,这种通过结构体降低cap的方法,会变得越来越不明显,所以RF的速度优势只限制在小容量的memory 上。
在近现代的工艺上(60nm 以及以下),RF也是使用bitcell进行构建,所以从bitcell上来看,RF和常规的memory array的基础期间是一样大的,这个从T家的SRAM 文档中可已看出来。
在这里插入图片描述

SRAM的结构框图

一个可操作控制的SRAM通常具有丰富的接口控制,这里呈现出一个简单T家的SRAM框图
在这里插入图片描述

可以看到这里的接口控制管脚,远远多于简单的memory array的控制需求,具体每一个管脚的配置用途详见下表

管脚 方向 描述 分类
VDD 输入 外围控制器件供电 电源地
VDDM 输入 memory array供电 电源地
VSS 输入 memory array和外围器件接地 电源地
A[*] 输入 地址输入 功能
D[*] 输入 数据输入 功能
BWEB[*] 输入 位写控制 功能
CEB 输入 片选 功能
WEB 输入 写控制 功能
REDENIO 输入 列修复冗余控制 功能
Q[*] 输出 memory array 数据输出 功能
FADIO[*] 输入 失效位地址控制 BIST测试
DM[*] 输入 BIST数据输入 BIST测试
AM[*] 输入 BIST地址输入 BIST测试
BWEBM[*] 输入 BIST位写控制 BIST测试
CEBM 输入 BIST片选 BIST测试
WEBM 输入 BIST写控制 BIST测试
BIST 输入 BIST控制 BIST测试
DSLP 输入 deep sleep模式:memory array访问禁止,但是memory数据会被保存 低功耗控制
SD 输入 shut down:关断全部memory array和绝大部分外设逻辑 低功耗控制
PUDELAY_SD 输出 shutdown 输出标记,用于指引低功耗策略 低功耗
PUDELAY_DSLP 输出 deepsleep 输出标记,用于指引低功耗策略 低功耗
DSLPLV 输入 deepsleep模式下retention diode的bypass控制 低功耗
TSEL pin : WTSEL[]/RTSEL[] 输入 时序微调 测试
TSEL pin : WTSEL[]/RTSEL[] 输入 时序微调 测试
TSEL pin : WASEN 输入 写辅助使能 测试
TSEL pin : WASSEL[*] 输入 写辅助微调 测试

除去常见的地址、数据、读写等功能类别,还可以根据场景分为以下几类

  • 电源地:毋庸置疑的必选项,但是由于通常的memory cell都很大,通常都在100um * 100um的区域范围,所以电源的连接要比这的两三句描述更为复杂。主要是供电需求。此外VDDM和VDD 也无需完全一样,可以分布来自不同的power source,这样可以构建dual rail的memory,提供更多的低功耗控制可能。在这里插入图片描述
    可以看到memory的PG pin 非常密集,主要分布早中间部分,这也是功耗大户memory array分布集中的地方

  • BIST测试: Built-in self-test,,顾名思义,这个是对memory 的物理存储特性进行的自测和错误标记,在遇到错误数据的时候,可以使用内部bypass/mux的方式,将正确地数据读取、写入到其他的地方。这里的BIST是给memory使用,通常也叫做MBIST。所有和BIST测试相关的管脚,都是可以MBIST逻辑,对memory进行强制管控。

  • 测试:TSEL pin主要用于良率微调的时候进行使用,在每一批wafer回片以后,进行机台测试,对于不同批次的产品可能在性能上会有些许不同,通过测试项目提取出来合理的调整值,储存到芯片的efuse之中,在芯片上电后,efuse的内容可以被相应逻辑读取并对memory 进行微操作,确保芯片使用正常。PS:这个微调很小,不建议在功能模式下进行调整和使用

  • 低功耗:基于memory的使用场景,memory 可以分为shut-down、deep-sleep和normal模式。譬如本级模块是一个可关断domain,在关断std-cell逻辑之前,需要对于memory的SD/DSLP进行拉高(使能),让memory进入到不同的工作模式以节省功耗。PS:如果在DSLP模式下,VDDM掉电,memory的内容会丢失

在这里插入图片描述

SRAM 冗余修复(redundancy repair)

在正常的SARM上,可能会有一定的bitcell的失效比率,基于不同的情形,可以分为column和row类型的bitcell损坏,譬如下图
在这里插入图片描述
这里的bit_i (第i列)的bitcell有损坏,这个时候,所有写入到bit_i的数据依次右移,直至bit_n-1移动到redun_1列,这个时候,可以通过redun_1避免整块memory的失效。
对应的,row and column redundancy 可以使用下图进行描述,
在这里插入图片描述

MBIST

MBIST是使用BIST逻辑对memory进行测试的一种方式,可以定位出SRAM的坏点,并且通过调用column/row的redundancy来进行修复(通常也称为MBISR:SRAM自修复功能)。MBIST的测试方法高效,和带有redundancy bit的memory联动使用可以有效提升芯片的良率。基本原理图如下
在这里插入图片描述
step_1: 在ATE测试环境下,使用MBIST逻辑对SRAM的每个bit进行测试
step_2: 发现问题进行上报,同时对问题进行归类(可修复,不可修复,是否可修复通常是根据错误数量和redundancy bit位来决断)
step_3:如果可修复,在ATE模式下,通过利用redundancy bit,对memory 进行修复,如果此时MBIST的测试可以通过,则相关信息烧录进在EFUSE里边。
step_4:进入用户模式,芯片启动,从EFUSE里边读取对应的出错的memory ID以及修复的方式。在使用SRAM的时候,FADIO[*] 输入控制会被钳位到对应的位置,确保SRAM使用中可以正确无误。

对于大部分的memory,其实都提供了MBIST的通路,如下图所示:
在这里插入图片描述
但是,考虑到后端实现的便利性,通常不会这么应用,在使用的时候,并不去产生MBIST pin,或者直接tie0掉。简单连接方法如下:
在这里插入图片描述

DFT可测性

由于SRAM的由外围逻辑和memory array构成。这里的外围逻辑本质上就是一些std-cell搭建的译码逻辑。从数字电路的角度来看,也是会有生成风险的可能,所以,使用scan-chain的DFT策略,可以很好的对这部分逻辑进行可测性分析。

在这里插入图片描述
当SRAM处于,DFT管控模式的时候,测试步骤如下
step1:使用shift mode,将memory 的输入端口信号配置成指定值
step2:使用capture mode,将这些端口信号捕捉到SRAM里内建得scan-FF 中
step3:再次使用shift mode,此时memory array处于bypass 模式下,scan-FF得值被依次shift out
step4:在SOC等DFT 输出管脚观察结果,和step1得输入信息进行比对,完成对SRAM 外围逻辑得DFT测试

本章词汇

词汇 解释
MBIST 存储器内建自测(Memory Built-In Self Test)
MBISR 存储器内建自修复 (Memory Built-In Self-Repair)
Column Redundancy SRAM 列冗余
Row Redundancy SRAM 行冗余
DFT Design For Test
ATE 集成电路自动测试 (Automatic Test Equipment)

【敲黑板划重点】

在这里插入图片描述
SRAM是由数字逻辑电路(外围电路)和存储单元(memory array)组成,所以会呈现出数字电路的特性(multi-VT legalize ,扫描链等)和存储单元的特点(MBIST)

参考资料

TSMC TSMC N7 SRAM Compiler Databook
TSMC TSMC N7 Design Rule

猜你喜欢

转载自blog.csdn.net/i_chip_backend/article/details/121662466
今日推荐