图2 流水线处理能够让连续的读/写操作在连续的
时钟周期内完成,提供全速存储器BIST功能。
嵌入式存储器中的时序故障
如同一般的随机逻辑,嵌入式存储器也需要测试静态故障和“实速”(at-speed)故障。由于存储器BIST通常在系统时钟下运行,因此也被称之为实速存储器BIST。然而,即使BIST控制逻辑利用系统时钟来设定测试序列,却需要数个时序周期去完成单独的读/写操作。因此,实速存储器BIST电路虽然采用系统时钟频率,其实并无法如同芯片在正常模式运作下那样,执行读写周期。运用流水线(pipelining)读写操作,则可产生较为有效的测试,称之为“全速”(full-speed) 存储器BIST(见图2)。简言之,便是在连续的时钟周期里,执行连续(back-to-back)的读写操作,如同在正常系统操作模式下的存储器一般。
对于大型存储器而言,测试那些与速度相关的故障时,全速存储器BIST其实是个不错的选择。但是对于小型或时序要求很高的存储器而言,同样的测试方法可能会有问题。宏测试工具要把每组功能性向量转换成扫描向量,所以每组向量的测试速度则必然变慢。不仅如此,有些嵌入式存储器完全同步,并使用与扫描链相同的时钟信号。当时钟信号触发其模块时,扫描单元上先前的设定值便会被新值所取代。如此一来,便无法传递模块输出端的期待值。因此,传统的宏测试方式无法适用于不具有门控时钟的同步存储器。
不过,同步宏测试可以解决这个问题。简言之,便是执行连续的全速测试,而不需要重复载入扫描链。同步宏测试会决定扫描单元上用来产生第一个宏向量的值,并载入扫描链。同时,也会决定用来产生第二个宏向量的值,并且在扫描单元的输入端以管道方式传输。当扫描链被载入时,不同的时钟信号即可以实速触发。如此一来,好几组的全速向量便被传送到模块。全速测试可以不受干扰地应用于设计中的几乎任一模块。不仅如此,全速测试只用到功能逻辑电路,而非测试逻辑电路,因此,可以执行更接近实际状况的全速测试。
结语
在实际测试中总是得面临测试工具的成本,测试开发时间,测试机台的时间,测试向量的调试时间,以及测试覆盖率之间的考量与抉择。宏测试是可以有效地对那些与日俱增的小型嵌入式模块进行静态与实速故障测试的工具。它甚至可以应用到较大的存储器,透过芯片的功能逻辑,自动执行全速测试。
参考文献
1 van der Goor, A.J. Testing Semiconductor Memories: Theory and Practice. John Wiley & Sons. 1991
2 Rajsuman, R. "Testing a System-On-a-Chip with Embedded Microprocessor. "Proceedings of the 1999 International Test Conference. pp. 449?08