一种改进的嵌入式存储器测试算法_第1页
一种改进的嵌入式存储器测试算法_第2页
一种改进的嵌入式存储器测试算法_第3页
一种改进的嵌入式存储器测试算法_第4页
全文预览已结束

下载本文档

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

文档简介

1、一种改进的嵌入式存储器测试算法摘要  基于一种适合于测试测试 二极管,电磁阀静态简化故障的March SS算法,提出了一种改进的嵌入式随机存取存储器存储器 存储器是用来存储程序和数据的部件,有了存储器,计算机才有记忆功能,才能保证正常工作。它根据控制器指定的位置存进和取出信息。 全文测试算法March SSE算法。该算法在测试长度不变的情况下,不仅能测出March SS算法所测试的全部的功能故障,而且还能检测出March SS算法所遗漏的固定开路故障,以及大部分的动态故障,故障覆盖率得到了大幅度地提高。 关键词 故障原语,静

2、态故障,动态故障,存储器存储器 存储器是用来存储程序和数据的部件,有了存储器,计算机才有记忆功能,才能保证正常工作。它根据控制器指定的位置存进和取出信息。 测试,故障覆盖率  1  引言   随着深亚微米VLSI技术的发展,大量的不同厂家的电路设计或核集成到一个芯片上。存储器密度的增长使存储器的测试面临着更大的挑战。嵌入式RAM存储器是最难测试的电路,因为存储器的测试通常需要大量的测试模式来激活存储器并将存储器的单元内容读出来与标准值进行比较。在可以接受的测试费用和测试时间的限制下,准确的故障模型和有效的测试算法是至关重要的。而为了保证测试时间和故障覆盖

3、率,测试的好坏大大的依赖于所选的功能故障模型。    以前大部分关于故障模型的论文都是把故障的敏化固定在最多一个操作上(如一个读或一个写),这些功能故障被叫作静态功能故障。而基于缺陷注入和SPISPI 由于SPI(setial peripheralinterface)总线占用的接口线少,通信效率高,并且支持大部分处理器芯片,因而是一种理想的选择。SPI是利用4根信号线进行通信的串行接口协议,包括主从两种模式。4个接口信号为:串行数据输入(MISO,主设备输入、从设备输出)、串行数据输出(MOSI,主设备输出、从设备输入)、移位时钟(SCK)、低电平有效的从设备使能

4、信号(cs)。SPI最大的特点是由主设备时钟信号的出现与否来确定主从设备间的通信。一旦检测到主设备的时钟信号,数据开始传输。 CE仿真的DRAMDRAM DRAM即动态随机存储器最为常见的系统内存。为了保持数据, 必须隔一段时间刷新(refresh)一次,如果存储单元没有被刷新,刷新的必要性与DRAM的结构有关,DRAM是靠其内部电容电位来记录其逻辑值的,但是电容因各方面的技术困难无可避免的有显著的漏电现象(放电现象)而使电位下降,于是需要周期性地对高电位电容进行充电而保持其稳定。 的试验分析表明:在没有静态故障的情况下存在另外一种多于一个操作才能敏化的故障(如一个连续的读和写操作),即动态故

5、障。大部分的测试算法主要针对静态故障,对动态故障的覆盖率比较低,但动态故障的测试也是非常重要的1。 2  存储器故障模型    故障模型可以用故障原语(Fault Primitive)来表示。单个单元故障用符号<S/F/R>表示,两个单元耦合故障用符号<Sa;Sv/F/R>表示。S表示单个单元的敏化操作序列,Sa表示耦合单元的敏化操作序列,Sv表示被耦合单元的敏化操作序列,F表示故障单元的值F 0,1,R表示读操作的逻辑输出值R 0,1,。表示写操作激活故障,没有输出值。故障原语可以构成一个驱动所有存储器功能故障的操作序列的完整集

6、合。2.1单个单元静态故障    单个单元静态故障有12种可能的故障原语,而这12种故障原语可以看作是一个六个功能故障模型的集合,下面是这六种功能故障:1)状态故障(STate Fault);2)转换故障(TransitiON Fault);3)写干扰故障(Write Disturb Fault);4)读破坏故障(Read Destructive Fault); 5)伪读破坏故障(Deceptive Read Destructive Fault);6)错误读故障(Incorrect Read Fault)。这些故障在文章2中有详细的解释。   

7、 在文章3中提到固定故障(Stuck-at Faults)的故障原语是< /0/->和< /1/->,所以固定故障被认为是状态故障与转换故障的并集。固定开路故障(Stuck Open Fault)4是由于断开的字线引起的,即0w1或1w0的操作是不能完成的,所以可以认为是转换故障;另外由于存储器的读出依赖于灵敏放大器,可以认为是错误读故障,所以把固定开路故障认为是转变故障和错误读故障的并集。2.2静态耦合故障    静态耦合故障的故障原语有36种,可以被归纳为以下七种类型的功能故障模型2:1)状态耦合故障(State Coupli

8、ng Fault); 2)干扰耦合故障(Disturb Coupling Fault); 3)转换耦合故障(Transition Coupling Fault);4)写破坏耦合故障(Write Destructive Coupling Fault); 5)读破坏耦合故障(Read Destructive Coupling Fault);6)伪读破坏耦合故障(Deceptive Read Destructive Coupling Fault); 7)错误读耦合故障(Incorrect Read Coupling Fault)。这些故障在文章2中有详细的解释。2.3单个单元的动态故障 &

9、#160;  只考虑S=xWyRz这种情况。单个单元动态故障的故障原语有12种,可以被归纳为以下三种类型的功能故障模型:1)动态的读破坏故障(Dynamic Read Destructive Fault);2)动态的伪读破坏故障(Dynamic Deceptive Read Destructive Fault);3)动态的错误读故障(Dynamic Incorrect       Read Fault)。这些故障在文章1中有详细的解释。2.4动态耦合故障    主要分析两个单元的动态耦合故障,它

10、可分为四种类型。只研究其中的两种(两个连续的操作都应用在耦合单元和两个连续的操作都应用在被耦合单元)。两个单元的动态耦合故障的故障原语有32种,可以被归纳为以下四种类型的功能故障模型1:1)动态干扰耦合故障(Dynamic Disturb Coupling Fault): 耦合单元的连续的两个写,读操作使被耦合单元的值发生跳变。2)动态的读破坏耦合故障(Dynamic Read Destructive Coupling Fault):耦合单元的某一特定值使被耦合单元的连续的两个写,读操作改变了存储单元的逻辑值并输出错误的值。3)动态的伪读破坏耦合故障(Dynamic Deceptive Rea

11、d Destructive Coupling Fault):耦合单元的某一特定值使被耦合单元的连续的两个写,读操作改变了存储单元的逻辑但输出正确的值。 4)动态的错误读耦合故障(Dynamic Incorrect Read Coupling Fault):耦合单元的某一特定值使被耦合单元的连续的两个写,读操作返回错误的值但存储单元的值没有发生改变。3       存储器测试    在文章2中提到的March SS算法如图1所示,它被认为能测出上面所提到的所有的静态简化故障。在文章3中把固定开路故障认为是转

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

13、#160;                  图2. March SS算法增加的读操作只会影响由这个读操作所敏化的故障的检测。而对于其它的静态故障的检测,由于增加的读操作并不影响存储器单元的内容,所以也不会影响这些故障的覆盖率。在这些由读操作所引起的故障中,除伪读破坏故障和伪读破坏耦合故障以外的其它故障是由一个读操作敏化并且检测的,所以该算法只会增加不会减少对这些故障的覆盖率。最后对于伪读破坏故障和伪读破坏耦合故障,

14、用March SS算法的测试如表1中的(a)和(b)所示。其中“v>a”表示被耦合单元的地址高于耦合单元的地址,“v<a”表示被耦合单元的地址低于耦合单元的地址,“,”表示故障能被多个元素敏化和检测,“/”的左边表示敏化右边表示检测。从以上可以得出该算法可以测出所有的静态故障。            (a)              &

15、#160;                     (b)   表1. (a)March SS算法对伪读破坏故障的覆盖率,(b) March SS算法对伪读破坏耦合故障的覆盖率      算法March SS中的M1,M2,M3,M4四个元素的第二个读操作主要是为了检测由第一个读操作敏化的伪读破坏故障和伪读破坏耦合故障,而对其它

16、的故障的检测没有任何贡献,所以去掉这些读操作并不影响对这两个故障之外的故障的检测。从表1的(a)和(b)可以看出,如果没有这四个读操作同样能测出伪读破坏故障和伪读破坏耦合故障。因此可以去掉March SS算法中M1,M2,M3,M4四个元素的第二个读操作,得到一个如图3所示的改进的算法March SSE算法。该算法同样能测出所有的上述的静态故障,另外还能测出固定开路这个不能被March SS测出的静态故障。故障覆盖率得到了提高。           图3. March SSE算法

17、60;     下面分别来看March SS算法和March SSE算法对动态故障的测试情况,对单个单元的动态故障的测试如表2所示,表格的第三列所对应的是March SS对单个单元的动态故障的测试情况,第四列是March SSE对单个单元的动态故障的测试情况。可以看出March SS算法只能测出其中1/3的故障,而March SSE能够测出5/6的故障。功能故障模型(FFM)故障原语(FP)March SSMarch SSE动态读破坏故障(dRDF)<0w0r0/1>M1, M3M1, M3<0w1r1/0> M1, M

18、3<1w0r0/1> M2,M4<1w1r1/0>M2,M4M2,M4动态伪读破坏故障(dDRDF)<0w0r0/0>  <0w1r1/1> M1/M2,M3/M4<1w0r0/0> M2/M3,M4/M5<1w1r1/1>  动态错误读故障(dIRF) <0w0r0/0/1>M1, M3M1, M3<0w1r1/1/0> M1, M3<1w0r0/0/1> M2,M4<1w1r1/1/0&g

19、t;M2,M4M2,M4             表2. March SS和March SSE对单个单元的动态故障的覆盖率   对于多个单元的动态耦合故障,以两个单元的为例。表3显示了两种算法对动态干扰耦合故障(dCFds)和动态伪读破坏耦合故障(dCFdrd)两种动态耦合故障的敏化和检测情况。而另外两种动态耦合故障动态读破坏耦合故障(dCFrd)和动态错误读耦合故障(dCFir)同理很容易被证明可以全部被March SSE算法测试,而March SS只能

20、测出其中一半的故障。对两个单元的动态耦合故障的总体来讲,March SS算法只能测出其中3/8的故障,而March SSE却能测出7/8的故障。因此对动态故障的故障覆盖率有了大幅度的提高。 FFM故障原语(FP)March SSMarch SSEv>av<av>av<a动态干扰耦合故障(dCFds) <0w0r0;0/->M1/M1M3/M3M1/M1M3/M3<0w1r1;0/->  M1/M1M3/M3<1w1r1;0/->M4/M5M2/M3M4/M5M2/M3<1w0r0;0/->  M4/M5M2/M3<0w0r0;1/->M3/M4M1/M2M3/M4M1/M2<0w1r1;1/->  M3/M4M1/M2<1w1r1;1/->M2/M2M4/M4M2/M2M4/M4<1w0r0;1/->  M2/M2M4/M4动态伪读破坏耦合故障(dCFdrd)<0;0w0r0/0>    <0;0w1r1/1>

温馨提示

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

评论

0/150

提交评论