一种面向弱故障的低电压SRAM测试方法
技术领域
本发明涉及集成电路技术领域,尤其涉及一种面向弱故障的低电压SRAM测试方法。
背景技术
随着汽车电子、智能家居等不同应用场景的芯片对低功耗的要求越来越高,作为芯片内最关键模块之一的低功耗SRAM正逐渐成为业界的研究热点。实现SRAM低功耗的方法有很多种,其中最有效的方法就是直接降低供电电压,因此低至近阈值区的低电压SRAM成为了近些年来的热点研究对象。但是在电源电压接近阈值电压的情况下,更先进的工艺和制造过程中可能出现的随机参数变化给SRAM的稳定性和可靠性带来了极大的挑战,因此对低电压SRAM测试变得越来越重要。
弱故障是指用传统的测试方法很难或无法测试到的故障,同样也会包括一些动静态故障、电路结构类故障等,这类故障随着工艺节点不断降低、供电电压不断下降,逐渐成为影响芯片测试逃逸率的最主要因素之一。这种故障具体表现为所对应的物理制造缺陷很小、不明显,以至于单个这种缺陷引起的单个故障不足以让芯片功能失效,但是两个或两个以上这种故障的同时存在和敏化会在某些情况下引起叠加效应,进而可能会引起强故障,最终导致芯片功能失效。这类故障正是传统测试方法的测试盲点,也是如今测试逃逸率难以下降的关键所在。
发明内容
为解决上述问题,本发明的目的提供一种面向弱故障的低电压SRAM测试方法,采用棋盘数据背景并配合连续读操作,对存储单元弱故障、译码器字线弱故障和写驱动位线弱故障的故障覆盖率较现有测试方法有所提高,在March C+算法、Checkerboard算法和三种弱故障机理研究的基础上,根据临界电阻的定义推演出三种弱故障对应的测试元素,且根据棋盘数据背景比传统数据背景在低电压下更易敏化故障的特性,算法复杂度12N。
本发明提供一种面向弱故障的低电压SRAM测试方法,所述测试方法步骤如下:
步骤一:建立弱故障模型:选取了阵列电路、地址译码器电路和写驱动电路中三处敏感的位置进行了故障注入,并根据任意一点注入故障后能否正确实现相应的读写操作序列,提出了三种弱故障模型,分别为存储单元弱故障、译码器字线弱故障和写驱动位线弱故障;
步骤二:March-CBD算法设计:为了增加算法的故障覆盖率,除了基于弱故障激活敏化机制整合三种弱故障测试元素之外,还引入了Checkerboard数据背景和连续读操作,推导出的March-CBD算法为:
{↑wDrD,↑rD,↑wD’rD’,↑rD’,↓wDrD,↓rD,↓wD’rD’,↓rD’}
其中D为Checkerboard数据背景;
步骤三:基于March-CBD算法BIST电路设计:MBIST系统的关键模块有两个:BISTController和BIST Collar;
步骤四:故障注入和验证:验证实例采用的是HSIM和VCS联合仿真方法。
进一步改进在于:所述步骤一中存储单元弱故障使用存储单元内的两个反相器的耦合臂之间的电阻Ra表示该故障,当Ra值小于临界电阻R1critical时,该存储单元能正常读写,Q、QB虽然会存在一定的电压损耗且曲线不够平滑,但是依旧能在一个周期内达到逻辑值,当Ra值大于R1critical,弱缺陷就会直接转变为强缺陷,存储单元的读写就会发生错误。
进一步改进在于:所述步骤一中译码器字线弱故障使用译码器译出字线上的电阻Rd表示该故障,当Rd值小于临界电阻R2critical时,存储单元能正常读写,Q、QB和WL虽然会存在一定的电压损耗且曲线不够平滑,但是依旧能达到想要的逻辑值,当Rd值大于R2critical,弱缺陷就会直接转变为强缺陷,存储单元的读写就会发生错误。
进一步改进在于:所述步骤一中写驱动位线弱故障使用写驱动电路的输出位线上电阻Rw表示该故障,当Rw值小于临界电阻R3critical时,该存储单元能正常读写,Q、QB和BL/BLB虽然会存在一定的电压损耗且曲线不够平滑,但是依旧能达到想要的逻辑值,当Rw值大于R3critical,弱缺陷就会直接转变为强缺陷,存储单元的读写发生错误。
进一步改进在于:所述步骤三中BIST Controller,主要由四部分电路组成:基于算法的状态控制器、地址生成器、数据生成器和分析比较器,其中状态控制器、地址生成器和数据生成器共同组成基于算法的向量生成器;BIST Collar主要由旁路逻辑和SRAM电路组成。
进一步改进在于:所述Checkerboard数据背景的间隔性对一部分耦合故障能有良好的覆盖,并且相邻存储单元存储数据的不同会给弱故障带来更多的敏化压力,使得弱故障更容易被检测到;连续读操作,会使得位线电压越来越低,放电时间极慢,读取的操作会变慢,能够有效地敏化激活出具有隐蔽性的弱故障。
本发明的有益效果:在March C+算法和Checkerboard算法基础上,根据临界电阻的定义推演出三种弱故障(存储单元弱故障、译码器字线弱故障和写驱动位线弱故障)对应的测试元素,且根据棋盘数据背景比传统数据背景在低电压下更易敏化故障的特性,结合连续读操作,设计出一种仅有7个测试元素的新型测试算法,该算法具有弱故障覆盖率高、测试时间短的优点,适用于低电压SRAM量产测试。
附图说明
图1是本发明的测试方法实现步骤示意框图。
图2是本发明的Ra值>临界电阻R1critical的读写波形示意图。
图3是本发明的Rd值>临界电阻R2critical的读写波形示意图.
图4是本发明的Rw值>临界电阻R3critical的读写波形示意。
图5是本发明的MBIST系统电路结构示意框图。
图6是本发明的故障检测流程示意框图。
图7是本发明的March-CBD算法分别对AD、AW、DW故障的检测结果示意图。
图8是本发明的March-CBD和March C+两种算法分别对AD、AW、DW故障的检测数据示意图。
具体实施方式
为了加深对本发明的理解,下面将结合实施例对本发明作进一步详述,该实施例仅用于解释本发明,并不构成对本发明保护范围的限定。
本实施例提供一种面向弱故障的低电压SRAM测试方法,所述测试方法步骤如下:
步骤一:建立弱故障模型:选取了阵列电路、地址译码器电路和写驱动电路中三处敏感的位置进行了故障注入,并根据任意一点注入故障后能否正确实现相应的读写操作序列,提出了三种弱故障模型,分别为存储单元弱故障、译码器字线弱故障和写驱动位线弱故障;
步骤二:March-CBD算法设计:为了增加算法的故障覆盖率,除了基于弱故障激活敏化机制整合三种弱故障测试元素之外,还引入了Checkerboard数据背景和连续读操作,推导出的March-CBD算法为:
{↑wDrD,↑rD,↑wD’rD’,↑rD’,↓wDrD,↓rD,↓wD’rD’,↓rD’}
其中D为Checkerboard数据背景;
步骤三:基于March-CBD算法BIST电路设计:MBIST系统的关键模块有两个:BISTController和BIST Collar;
步骤四:故障注入和验证:验证实例采用的是HSIM和VCS联合仿真方法。
为了有效模拟出弱故障,选取了阵列电路、地址译码器电路和写驱动电路中三处敏感的位置进行了故障注入,并根据任意一点注入故障后能否正确实现相应的读写操作序列,提出了三种弱故障模型,分别为存储单元弱故障、译码器字线弱故障和写驱动位线弱故障。
1. 三种弱故障测试元素
1)存储单元弱故障,本实施例使用存储单元内的两个反相器的耦合臂之间的电阻Ra表示该故障,当Ra值小于临界电阻R1critical时,该存储单元能正常读写,Q、QB虽然会存在一定的电压损耗且曲线不够平滑,但是依旧能在一个周期内达到逻辑值。当Ra值大于R1critical,弱缺陷就会直接转变为强缺陷,存储单元的读写就会发生错误,如图2所示。
2)译码器字线弱故障,本实施例使用译码器译出字线上的电阻Rd表示该故障,当Rd值小于临界电阻R2critical时,存储单元能正常读写,Q、QB和WL虽然会存在一定的电压损耗且曲线不够平滑,但是依旧能达到想要的逻辑值。当Rd值大于R2critical,弱缺陷就会直接转变为强缺陷,存储单元的读写就会发生错误,如图3所示。
3)写驱动位线弱故障,本实施例使用写驱动电路的输出位线上电阻Rw表示该故障,当Rw值小于临界电阻R3critical时,该存储单元能正常读写,Q、QB和BL/BLB虽然会存在一定的电压损耗且曲线不够平滑,但是依旧能达到想要的逻辑值。当Rw值大于R3critical,弱缺陷就会直接转变为强缺陷,存储单元的读写发生错误,如图4所示。
根据上述内容以及故障原语分析(其中x∈{0,1,D}):
①为能检测到Ra,需要算法可以敏化存储单元强故障,因此算法中需要如下测试元素:
{↑↓wx,↑↓rx,↑↓wx’,↑↓rx’}
②为能检测到Rd,需要算法可以敏化译码器字线强故障,因此算法中需要如下测试元素:
{↑↓wx,↑↓wx’,↑↓rx’}
③为能检测Rw,需要算法能够敏化写驱动位线强故障,因此算法中需要如下测试元素:
{↑↓wx,↑↓wx’,↑↓rx’}
2.March-CBD算法
单一弱故障无法影响SRAM在正常工作情况下的读写情况,但是当弱故障缺陷阻值超过相应的临界阻值,或多种弱故障同时敏化引起叠加效应的情况下,便会引起强故障。前者可以被传统测试方法检测到,而后者需要通过相应的敏化操作才能检测到,即需要同时敏化两个或两个以上的弱故障,此时的弱故障表现为强故障。为了增加算法的故障覆盖率,除了基于弱故障激活敏化机制整合三种弱故障测试元素之外,本实施例还引入了Checkerboard数据背景和连续读操作,该数据背景的间隔性对一部分耦合故障能有良好的覆盖,并且相邻存储单元存储数据的不同会给弱故障带来更多的敏化压力,使得弱故障更容易被检测到,因此推导出的March-CBD算法为:
{↑wDrD,↑rD,↑wD’rD’,↑rD’,↓wDrD,↓rD,↓wD’rD’,↓rD’}
其中D为Checkerboard数据背景。
3. 基于March-CBD算法BIST电路设计
基于March-CBD算法生成BIST电路,MBIST系统的关键模块有两个:BIST Controller和BIST Collar(SRAM和旁路逻辑)。其中最重要的模块是BIST Controller,主要由四部分电路组成:基于算法的状态控制器、地址生成器、数据生成器和分析比较器。其中状态控制器、地址生成器和数据生成器共同组成基于算法的向量生成器。BIST Collar主要由旁路逻辑和SRAM电路组成。电路结构框图如图5所示。
4. 面向弱故障低电压SRAM测试的March-CBD算法实例验证
4.1 故障注入和验证
验证实例采用的是HSIM和VCS联合仿真方法,实现对SMIC 40nm工艺的64KB 6T SRAM的模拟故障注入和仿真结果分析,联合仿真环境是:工艺角为TT,供电电压为0.8V,温度为25℃。为计算该算法对弱故障的故障覆盖率,采用控制变量法,每次对单一存储单元、地址译码器和写驱动电路的相同位置注入故障,通过不断实验得出相应节点的临界电阻,实验结果表明在存储单元耦合臂处的临界电阻R1critical为16391KΩ,地址译码器字线处的临界电阻R2critical为252KΩ,写驱动位线处的临界电阻R3critical为1857KΩ。
整个故障检测过程如图6所示。由于弱故障的检测需要两个或两个以上的弱故障共同敏化,并且根据弱故障插入位置的不同测试方案也不一样,大体可以划分为3类测试方案:AD、AW、DW,其中,AD代表在存储单元和地址译码器的相应位置分别插入一个弱故障;AW代表在存储单元和写驱动电路的相应位置分别插入一个弱故障;DW代表在写驱动电路和地址译码器的相应位置分别插入一个弱故障。在SRAM的spice网表中分别找到相应位置插入电阻,以弱开路电阻的方式来模拟缺陷特性,完成故障注入。
图7为March-CBD算法分别对AD、AW、DW故障的检测结果,在AD测试方案中,Ra值为14000KΩ、Rd值设为80KΩ;在AW测试方案中,Ra值为10000KΩ、Rw值为40KΩ;在DW测试方案中,其中Rd值为120KΩ、Rw值为600KΩ。可以看出,均发现bist_fail_0信号跳变为1,说明March-CBD算法能够检测到AD、AW、DW弱故障。
4.2 检测能力的分析
为评估算法对故障的检测能力,将算法故障覆盖率用FC(FC=检测到故障的组合点/该平面所有点数)进行等效。由于SRAM子电路的重复性和规则性,本验证实例选择000地址的第一个存储单元、其相对应的译码电路和其相对应的写驱动电路作为测试样本,并且为了证明March-CBD算法的优越性,将该算法和March C+算法对三种弱故障的检测结果进行了大量仿真统计。图8表示March-CBD和March C+两种算法对AD故障、AW故障、DW故障的检测结果。根据大量的仿真数据,通过计算得出,March-CBD算法和March C+算法针对AD、AW、DW弱故障的故障覆盖率如表1所示。可以得出March-CBD算法针对AW弱故障的检测能力相比于March C+提升11.4%;March-CBD算法针对DW弱故障的检测能力相比于March C+提升13.9%;March-CBD算法针对DW弱故障的检测能力相比于March C+提升6.5%。因此March-CBD算法相比于March C+算法针对弱故障的检测能力更强。
表1