首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

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

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

针对不同的嵌入式存储器,需要专门针对可能产生的各种缺陷类型,采用一种或多种测试算法来设计专用BIST电路。通常嵌入式存储器的BIST电路包括测试向量产生模块、测试算法控制模块和结果分析模块。结构框图如图2所示。


图2 存储器BIST电路结构
存储器的测试算法
存储器测试需要根据测试算法的要求产生大量的测试向量,要反复对所有的存储器单元进行读/写操作,并与预期值进行比较。测试算法设计的目标是能够尽可能多地检测出存储器的各种故障。为了在尽可能短的测试时间和测试费用限制下测试出最多的存储器故障,选择高效的测试算法是至关重要的。目前应用比较广泛的存储器测试算法主要包括伪随机存储器测试算法、确定性存储器测试算法,以及March系列存储器测试算法三类。



伪随机存储器测试算法

    这类算法利用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处理能力。总之,嵌入式存储器测试及可测性设计仍需要广大学者继续努力研究。
返回列表