|
方法一:% {) p/ Q2 S5 \/ Z 参考文献中给出了一种测试系统RAM的方法。该方法是分两步来检查,先后向整个数据区送入#00H和#FFH,再先后读出进行比较,若不一样,则说明出错。 5 W- q, z6 B0 C8 e& t' f- p方法二:: Z1 w# }% g8 A0 m* x2 l1 {( O! J 方法1并不能完全检查出RAM的错误,在参考文献中分析介绍了一种进行RAM检测的标准算法MARCH—G。MARCH一G算法能够提供非常出色的故障覆盖率,但是所需要的测试时间是很大的。MARCH—G算法需要对全地址空间遍历3次。设地址线为”根,则CPU需对RAM访问6×2n次。+ C1 E+ h$ H- |2 s) ^ 方法三:9 A6 x- \( z# u5 K6 A 参考文献中给出了一种通过地址信号移位来完成测试的方法。在地址信号为全O的基础上,每次只使地址线Ai的信号取反一次,同时保持其他非检测地址线Aj(i≠j)的信号维持0不变,这样从低位向高位逐位进行;接着在地址信号为全1的基础上,每次只使地址线Ai的信号取反一次,同时保持其他非检测地址线Aj(i≠j)的信号维持1不变,同样从低位向高位逐位进行。因此地址信号的移位其实就是按照2K(K为整数,最大值为地址总线的宽度)非线性寻址,整个所需的地址范围可以看成是以全0和全1为背景再通过移位产生的。在地址变化的同时给相应的存储单元写入不同的伪随机数据。在以上的写单元操作完成后,再倒序地将地址信号移位读出所写入的伪随机数据并进行检测。设地址线为n根,则CPU只对系统RAM中的2n+2个存储单元进行访问。 + v+ Y1 r! p# j- q/ x4 K; m7 u0 ]- m ^3 o- @2 Z1 c3 O
|
|