一种改进的嵌入式存储器测试算法.doc_第1页
一种改进的嵌入式存储器测试算法.doc_第2页
一种改进的嵌入式存储器测试算法.doc_第3页
一种改进的嵌入式存储器测试算法.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一种改进的嵌入式存储器测试算法摘要基于一种适合于测试静态简化故障的March SS算法,提出了一种改进的嵌入式随机存取存储器测试算法 March SSE 算法。该算法在测试长度不变的情况下,不仅能测出 March SS 算法所测试的全部的功能故障,而且还能检测出 March SS 算法所遗漏的固定开路故障,以及大部分的动态故障,故障覆盖率得到了大幅度地提高。关键词 故障原语 , 静态故障 ,动态故障 ,存储器测试 ,故障覆盖率1 引言随着深亚微米VLSI 技术的发展,大量的不同厂家的电路设计或核集成到一个芯片上。存储器密度的增长使存储器的测试面临着更大的挑战。嵌入式 RAM 存储器是最难测试的

2、电路,因为存储器的测试通常需要大量的测试模式来激活存储器并将存储器的单元内容读出来与标准值进行比较。在可以接受的测试费用和测试时间的限制下,准确的故障模型和有效的测试算法是至关重要的。而为了保证测试时间和故障覆盖率,测试的好坏大大的依赖于所选的功能故障模型。以前大部分关于故障模型的论文都是把故障的敏化固定在最多一个操作上(如一个读或一个写),这些功能故障被叫作静态功能故障。而基于缺陷注入和SPICE 仿真的 DRAM的试验分析表明:在没有静态故障的情况下存在另外一种多于一个操作才能敏化的故障(如一个连续的读和写操作),即动态故障。大部分的测试算法主要针对静态故障,对动态故障的覆盖率比较低,但动

3、态故障的测试也是非常重要的 1 。2 存储器故障模型故障模型可以用故障原语(Fault Primitive)来表示。单个单元故障用符号 表示,两个单元耦合故障用符号 表示。 S 表示单个单元的敏化操作序列,Sa 表示耦合单元的敏化操作序列,Sv 表示被耦合单元的敏化操作序列,F 表示故障单元的值F 0 ,1 , R 表示读操作的逻辑输出值R 0 ,1 , 。表示写操作激活故障,没有输出值。 故障原语可以构成一个驱动所有存储器功能故障的操作序列的完整集合。2.1 单个单元静态故障单个单元静态故障有12 种可能的故障原语, 而这 12 种故障原语可以看作是一个六个功能故障模型的集合,下面是这六种功

4、能故障:1 )状态故障 (STate Fault) ;2 )转换故障 (TransitiON Fault);3)写干扰故障(Write Disturb Fault); 4 )读破坏故障 (Read Destructive Fault); 5)伪读破坏故障(Deceptive ReadDestructive Fault);6)错误读故障 (Incorrect Read Fault)。这些故障在文章2 中有详细的解释。在文章 3 中提到固定故障(Stuck-at Faults)的故障原语是 和 ,所以固定故障被认为是状态故障与转换故障的并集。固定开路故障(Stuck Open Fault)4是由于

5、断开的字线引起的,即0w1或1w0的操作是不能完成的,所以可以认为是转换故障;另外由于存储器的读出依赖于灵敏放大器,可以认为是错误读故障,所以把固定开路故障认为是转变故障和错误读故障的并集。2.2 静态耦合故障静态耦合故障的故障原语有36 种,可以被归纳为以下七种类型的功能故障模型2 : 1)状态耦合故障(State Coupling Fault); 2)干扰耦合故障(Disturb Coupling Fault); 3)转换耦合故障(Transition CouplingFault);4)写破坏耦合故障(Write Destructive Coupling Fault); 5)读破坏耦合故障

6、(Read DestructiveCoupling Fault);6)伪读破坏耦合故障(Deceptive Read Destructive Coupling Fault); 7)错误读耦合故障(Incorrect Read Coupling Fault)。这些故障在文章2 中有详细的解释。2.3 单个单元的动态故障只考虑 S=xWyRz 这种情况。单个单元动态故障的故障原语有12 种,可以被归纳为以下三种类型的功能故障模型: 1 )动态的读破坏故障(Dynamic Read Destructive Fault);2)动态的伪读破坏故障(DynamicDeceptive Read Destru

7、ctive Fault);3 )动态的错误读故障(Dynamic IncorrectRead Fault)。这些故障在文章 1 中有详细的解释。2.4 动态耦合故障主要分析两个单元的动态耦合故障,它可分为四种类型。只研究其中的两种(两个连续的操作都应用在耦合单元和两个连续的操作都应用在被耦合单元)。两个单元的动态耦合故障的故障原语有32 种,可以被归纳为以下四种类型的功能故障模型1 :1)动态干扰耦合故障 (Dynamic Disturb Coupling Fault): 耦合单元的连续的两个写,读操作使被耦合单元的值发生跳变。2)动态的读破坏耦合故障 (Dynamic Read Destru

8、ctive Coupling Fault):耦合单元的某一特定值使被耦合单元的连续的两个写,读操作改变了存储单元的逻辑值并输出错误的值。3)动态的伪读破坏耦合故障 (Dynamic Deceptive Read Destructive Coupling Fault):耦合单元的某一特定值使被耦合单元的连续的两个写,读操作改变了存储单元的逻辑但输出正确的值。4)动态的错误读耦合故障 (Dynamic Incorrect Read Coupling Fault):耦合单元的某一特定值使被耦合单元的连续的两个写,读操作返回错误的值但存储单元的值没有发生改变。3存储器测试在文章 2 中提到的 Marc

9、h SS 算法如图1 所示,它被认为能测出上面所提到的所有的静态简化故障。在文章 3 中把固定开路故障认为是转换故障和错误读故障的并集,但是由于固定开路故障的敏化必须使上次读的值与本次所期望读的值反向,所以对它的测试的算法是不同于错误读故障的算法。通过对图1 所示March SS 算法的分析可以很容易的发现它不能测出固定开路故障,只须在它的四个元素M1, M2, M3 ,M4 中任意一个元素的最后一个写操作的后面增加一个读操作就能测出固定开路故障(如在元素M1 的 w1最后面加一个 r1 )。为了规则性,可以在M1 ,M2 ,M3 , M4 四个元素的后面都增加一个读操作,得到March SS

10、 算法,其算法如图 2 所示。图 1. March SS算法图 2. March SS 算法增加的读操作只会影响由这个读操作所敏化的故障的检测。而对于其它的静态故障的检测,由于增加的读操作并不影响存储器单元的内容,所以也不会影响这些故障的覆盖率。在这些由读操作所引起的故障中,除伪读破坏故障和伪读破坏耦合故障以外的其它故障是由一个读操作敏化并且检测的,所以该算法只会增加不会减少对这些故障的覆盖率。最后对于伪读破坏故障和伪读破坏耦合故障,用March SS算法的测试如表 1 中的 (a)和 (b) 所示。其中 “va”示被耦合单表元的地址高于耦合单元的地址,“va”表示被耦合单元的地址低于耦合单元

11、的地址,“,”表示故障能被多个元素敏化和检测,“/的”左边表示敏化右边表示检测。从以上可以得出该算法可以测出所有的静态故障。(a)(b)表 1. (a)March SS算法对伪读破坏故障的覆盖率,(b) Marc h SS 算法对伪读破坏耦合故障的覆盖率算法 March SS 中的 M1 ,M2,M3 ,M4 四个元素的第二个读操作主要是为了检测由第一个读操作敏化的伪读破坏故障和伪读破坏耦合故障 ,而对其它的故障的检测没有任何贡献, 所以去掉这些读操作并不影响对这两个故障之外的故障的检测。 从表 1 的 (a)和 (b)可以看出, 如果没有这四个读操作同样能测出伪读破坏故障和伪读破坏耦合故障。

12、因此可以去掉 March SS算法中 M1 ,M2 ,M3 ,M4 四个元素的第二个读操作,得到一个如图 3 所示的改进的算法 March SSE 算法。该算法同样能测出所有的上述的静态故障,另外还能测出固定开路这个不能被 March SS 测出的静态故障。故障覆盖率得到了提高。图 3. March SSE 算法下面分别来看 March SS算法和 March SSE算法对动态故障的测试情况,对单个单元的动态故障的测试如表 2 所示,表格的第三列所对应的是March SS对单个单元的动态故障的测试情况,第四列是MarchSSE 对单个单元的动态故障的测试情况。可以看出 March SS算法只能

13、测出其中1/3 的故障,而 March SSE能够测出 5/6 的故障。功能故障模型 (FFM)故障原语 (FP)March SSMarch SSE动态读破坏故障 (dRDF)M1, M3M1, M3M1, M3M2,M4M2,M4M2,M4动态伪读破坏故障(dDRDF)M1/M2,M3/M4M2/M3,M4/M5动态错误读故障 (dIRF)M1, M3M1, M3M1, M3M2,M4M2,M4M2,M4表 2. March SS 和 March SSE 对单个单元的动态故障的覆盖率对于多个单元的动态耦合故障,以两个单元的为例。表3 显示了两种算法对动态干扰耦合故障(dCFds)和动态伪读破

14、坏耦合故障(dCFdrd) 两种动态耦合故障的敏化和检测情况。而另外两种动态耦合故障动态读破坏耦合故障 (dCFrd) 和动态错误读耦合故障(dCFir) 同理很容易被证明可以全部被March SSE算法测试,而 March SS只能测出其中一半的故障。对两个单元的动态耦合故障的总体来讲,March SS算法只能测出其中 3/8 的故障,而 March SSE却能测出 7/8 的故障。因此对动态故障的故障覆盖率有了大幅度的提高。FFM故障原语 (FP)March SSMarch SSEvavava动态干扰耦M1/M1M3/M3M1/M1M3/M3合故障M1/M1M3/M3(dCFds)M4/M

15、5M2/M3M4/M5M2/M3M4/M5M2/M3M3/M4M1/M2M3/M4M1/M2M3/M4M1/M2M2/M2M4/M4M2/M2M4/M4M2/M2M4/M4动态伪读破坏耦合故障M3/M4M1/M2(dCFdrd)M2/M3M4/M5M1/M2M3/M4M4/M5M2/M3表 3. March SS 和 March SSE 对两个单元的动态耦合故障的覆盖率4结论本文通过对嵌入式存储器的几种不同的类型的动态和静态简化功能故障的分析,在原有的主要用来测试静态故障的March SS算法的基础上提出了March SSE算法。该算法长度为22N , N 为存储器的字的个数,其中每个字包含一

16、位。与March SS算法相比较, March SSE算法在测试长度不变的情况下,其故障覆盖率有了大幅度的提高。不但能测出March SS算法所测试的全部的功能故障,而且还能检测出March SS算法所遗漏的固定开路故障, 以及 85% 以上的第 2 节所描述的动态故障, 故障覆盖率得到了大幅度地提高。信息来源 :微计算机信息出师表两汉:诸葛亮先帝创业未半而中道崩殂, 今天下三分, 益州疲弊, 此诚危急存亡之秋也。然侍卫之臣不懈于内,忠志之士忘身于外者,盖追先帝之殊遇,欲报之于陛下也。诚宜开张圣听,以光先帝遗德,恢弘志士之气,不宜妄自菲薄,引喻失义,以塞忠谏之路也。宫中府中,俱为一体;陟罚臧否

17、,不宜异同。若有作奸犯科及为忠善者,宜付有司论其刑赏,以昭陛下平明之理;不宜偏私,使内外异法也。侍中、侍郎郭攸之、费祎、董允等,此皆良实,志虑忠纯,是以先帝简拔以遗陛下:愚以为宫中之事,事无大小,悉以咨之,然后施行,必能裨补阙漏,有所广益。将军向宠,性行淑均,晓畅军事,试用于昔日,先帝称之曰愚以为营中之事,悉以咨之,必能使行阵和睦,优劣得所。“能 ”,是以众议举宠为督:亲贤臣, 远小人, 此先汉所以兴隆也; 亲小人, 远贤臣, 此后汉所以倾颓也。 先帝在时,每与臣论此事, 未尝不叹息痛恨于桓、 灵也。 侍中、尚书、 长史、 参军,此悉贞良死节之臣,愿陛下亲之、信之,则汉室之隆,可计日而待也。臣本布衣,躬耕于南阳,苟全性命于乱世,不求闻达于诸侯。先帝不以臣卑鄙,猥自枉屈,三顾臣于草庐之中,咨臣以当世之事,由是感激,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论