DSP作为电子系统中数字运算的核心,所操作数据的正确性是系统正常运行的基本保证。以导航接收机中的DSP应用为例,捕获跟踪、信号解调、电文格式转换、多径抑制、抗干扰等实时任务每时每刻都在进行比特信息的交互。作为系统数据的中转站,存储器的任何物理故障都有可能导致系统出现严重的异常。因此,需要一种快速有效的存储器测试算法对DSP外设存储器进行实时功能验证和检测,确保器件没有物理故障[1]。本方法专门针对存储器中AF、SAF、SOF、TF、CF故障的检测,如图1中虚线框内所示。
在已有的故障检测算法中,Checkerboard算法的测试向量类似于国际象棋中黑白相间的棋盘格,使用0-1间隔的测试序列写入存储器,运行时间为O(N),但故障覆盖率较低[2]。Galpat算法遍历了每个比特对其他比特的影响,可以检测所有非链接的静态故障,但运行时间为O(N2)[3]。在现有工艺条件下,完成一片兆字节容量的存储器的Galpat测试需要几百年。行进算法是工业中经常使用的存储器测试算法,如MATS++、March X、March C-等[4],其运行时间为O(N),具有较高的故障覆盖率,但通常不能覆盖所有静态非链接故障。
本文在考虑存储器静态非链接故障的基础上,以字作为基本检测单元,提出了一种可以检测所有SAF、TF、AF、SOF、CF故障的行进测试方案,其运算量为(11N+5v)/u+2N,其中,每个字为u比特,u=2v。
1 故障模型与定义
本文采用文献[2]通用的术语定义。
1.1 术语定义
为了方便描述以字作为基本检测单元的故障检测方法,补充定义以下术语:
· u:一个字的比特数,u=2v(v为非负整数)。
· P:u比特的测试向量字。
· P0:全0测试向量字。P0=bu…b2b1,bu=…=b2=b1=0。
· M:某个基于比特的行进测试算法,由一系列行进序列组成。
· MP:M对应的基于字的行进测试算法,P是u比特的测试向量字。
1.2 存储器故障模型
存储器静态非链接故障包括单个单元故障和耦合故障。
(1)单个单元故障
单个单元故障包括:SAF、SOF、AF和TF,其分类及检测序列如表1所示。
(2)耦合故障