Skip to Main Content
Mutual testing is a technique for both on-line and off-line built-in self-test in VLSI circuits. The essential idea in mutual testing is that if identical test patterns are applied to the circuit under test and its alternate implementation, the two must generate identical outputs. The circuit is declared faulty if the outputs do not match in content. Mutual testing will fail if the waveforms are compared in time, since the alternate implementations of the circuit may differ in speed, making it necessary to apply tests at different clock rates. Even when the two implementations are instantiations of the same block, their responses to identical inputs will differ in frequency, phase, noise content, and amplitude, depending on the physical placement of the two instances. We describe the use of the Discrete Wavelet Transform to compare the two signals in time as well as frequency domains. The proposed technique has several benefits. It reduces the yield loss due to misclassification of good circuits due to incorrect comparison. Secondly, it permits the at-speed testing of a block even when the alternate implementation of the block is tested at a slower speed. The test power reduction due to slower-speed testing of the alternate implementation is also a distinct advantage.