新闻中心

EEPW首页 > 测试测量 > 设计应用 > 嵌入式存储器的测试及可测性设计研究

嵌入式存储器的测试及可测性设计研究

作者:时间:2012-11-15来源:网络收藏

伪随机存储器算法

这类算法利用n位反馈移位寄存器产生伪随机序列对进行。反馈移位寄存器可以通过如式(1)所示的n元反馈函数的多项式来进行构造。如果移位寄存器以作为反馈函数,则称之为反馈移位寄存器。

如果n级反馈移位寄存器呈线性结构,则称之为线性反馈移位寄存器,可构造为如式(2)所示的多项式形式,共包含2n个移位寄存器。

不满足公式(2)的反馈移位寄存器称为非线性反馈移位寄存器,其共包含个移位寄存器。与线性反馈移位寄存器包含的移位寄存器总个数比较发现,非线性反馈移位寄存器具有的移位寄存器总数更多,结构更复杂。

确定性存储器算法

这类算法的形式很多,需要根据被测存储器的结构特征和关注的故障选择适合的测试算法,产生测试向量,以便提高测试故障覆盖率,主要用于存储器结构相对规则,并与关注的故障类型相关度高的存储器测试。下面介绍三种比较典型的确定性存储器测试算法。

(1)MSCAN(Memory SCAN)算法

这种算法就是简单地对存储器的每个单元写0,然后读出每个单元的内容验证是否为0;再对每个单元写1,然后读出验证。算法公式如式3所示。

MSCAN测试算法的复杂度与存储单元数量N成正比,其测试复杂度为

从测试复杂度可以看出此算法花费的测试时间较短,另外此算法能够测试SAF故障,也能测试存储器在最差情况下所消耗的功耗,还可以作为进行其它较复杂测试算法之前对存储器的初始化操作,但是此算法的测试故障覆盖率较低。

(2)Checkerboard算法

这种测试算法在向存储单元赋值时要求0和1交替赋值,也就是每个存储器单元与周围的四个单元的值都不同。然后再读取每个存储器单元的数值,并检验其正确性。算法公式如式5所示。

Checkerboard测试算法的复杂度同样与存储单元数量N成正比,其测试复杂度为

在如上的测试完成后,还需要交换0和1的位置再按照算法的要求交替写入和读取并验证。这种算法执行速度较快,能够测试数据保留故障、固定故障和一半的转换故障。

(3)GALPAT(Galloping Pattern)算法

这种算法也称为漫游或者乒乓测试。首先需要初始化存储器的所有单元为0(或1),然后按照地址从小到大的顺序对某被测单元写1(或0)的操作,接下来读取被测单元的数值进行验证。算法公式如式7所示。

GALPAT测试算法的复杂度为

这种测试算法的测试故障覆盖率较高,能够测试固定故障、状态传输故障、图形敏感故障以及大部分耦合故障。但根据公式8可知,该测试算法需要花费的测试时间较长,对于大容量存储器来说并不适合。

March系列算法

March系列算法是在存储器测试领域得到广泛研究和应用的测试算法,原因在于其具有较高的故障覆盖率,并花费较少的测试时间。此系列算法已经成功运用到大容量的SRAM测试,SDRAM测试等存储器测试领域,并出现了大量的改进算法。

March系列算法通过有限状态机的控制,对存储器的每个单元进行读写操作,读写的顺序会按照算法的要求,分为地址升序和降序等方式。这样,通过算法设计的对存储单元的各种读写过程,能够测试出绝大部分存储器故障。

常见的March系列算法包含MATS算法、March X算法、March C-算法等。各种算法的不同之处就是包含的March元素各不相同。每种March算法包含多个March元素,每个March元素都由地址变化顺序、读写的操作和操作的数据三部分组成。用表示读写的顺序可以是升序,也可以是降序;表示读写的顺序为升序;表示读写的顺序为降序;表示从存储器单元中读取的向量应该为第n个向量;表示向存储器单元中写入第n个向量。

结束语

的测试及是随着SoC的发展而逐步发展的研究领域,近些年的研究成果取得长足的进步,但是其测试难度也是相当大的,主要问题如下:无法通过芯片的封装引脚直接访问,造成对嵌入式存储器的可控制性以及可观测性较低;任何一种测试算法都不能测试所有的故障类型,增加了测试的难度;随着嵌入式存储器容量的不断增加,所花费的测试时间也不断地增加,测试向量也越来越多,超过了目前的ATE处理能力。总之,嵌入式存储器测试及仍需要广大学者继续努力研究。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭