一、 RAM测试方法回顾
方法1:一种测试系统RAM的方法是分两步来检讨,先后向全体数据区送入#00H和#FFH,再先后读出进行比较,若不一样,则解释出错。
方法2:方法1并不能完备检讨出RAM的缺点,在参考文献等分析先容了一种进行RAM检测的标准算法MARCH-G。MARCH一G算法能够供应非常出色的故障覆盖率,但是所须要的测试韶光是很大的。MARCH-G算法须要对全地址空间遍历3次。设地址线为”根,则CPU需对RAM访问6×2n次。

方法3:一种通过地址旗子暗记移位来完成测试的方法。在地址旗子暗记为全O的根本上,每次只使地址线Ai的旗子暗记取反一次,同时保持其他非检测地址线 Aj(i≠j)的旗子暗记坚持0不变,这样从低位向高位逐位进行;接着在地址旗子暗记为全1的根本上,每次只使地址线Ai的旗子暗记取反一次,同时保持其他非检测地址线Aj(i≠j)的旗子暗记坚持1不变,同样从低位向高位逐位进行。因此地址旗子暗记的移位实在便是按照2K(K为整数,最大值为地址总线的宽度)非线性寻址,全体所需的地址范围可以算作因此全0和全1为背景再通过移位产生的。在地址变革的同时给相应的存储单元写入不同的伪随机数据。在以上的写单元操作完成后,再倒序地将地址旗子暗记移位读出所写入的伪随机数据并进行检测。设地址线为n根,则CPU只对系统RAM中的2n+2个存储单元进行访问。
二、 基于种子和逐位倒转的RAM测试方法
基于种子和逐位倒转的测试方法是在方法3的根本上进一步改进得到的。方法3紧张是利用全O和全1两个背景数来移位展开的,与MARCH-G算法比较得到的故障覆盖率轻微低些,但利用了较少的地址单元。这里我们把方法3中的背景数称为“种子”。以地址线为8根的RAM为例,种子分别取00000000和11111111两个数,取00000000、11111111、0000llll和 llll0000四个数,以及取00000000、11111111、00001111、11110000、00110011、1100llOO、 01010101和10101010八个数来移位展开测试,所达到的故障覆盖率是不一样的。种子数为2的改进方法要低于MARCH-G算法的故障覆盖率,种子数为4的改进方法与MARCH-G算法相称,种子数为8的改进方法能够超过MARCH-G算法的效果。整体上基于种子和逐位倒转的改进方法是可以代替 MARCH-G算法的,但是种子数目不同所须要的寻址次数也是不同的。设地址线为n根,种子数为2时须要访问RAM共计4”+4次,种子数为4时须要访问 RAM共计8n+8次,种子数为8时须要访问RAM共计16n+16次,而MARCH-G算法须要访问RAM共计6×2n次。可见,基于种子和逐位倒转的改进方法比MARCH-G算法的测试韶光开销大大降落。同时,故障覆盖率会随着种子数目的增加而提高,当然不同种子数时所须要的测试韶光开销也不同。在实际测试运用中要根据测试韶光和测试故障覆盖率的需求来选择得当的种子数目,才能达到满意的效果。