Introduction
Introduction
The idea of using an LFSR as a linear decompressor and solving for test
cubes using linear algebra was described . Linear decompressors that can
receive data from the tester in a continuous-flow (i.e., “streaming” data) are
especially useful for test data compression. Continuous-flow linear
decompressors can be directly connected to the tester and operate very
efficiently since they simply receive the data as fast as the tester can transfer
it. From a tool integration standpoint, this is very nice since it mimics the
standard behavior of normal scan chains. There is no need for any special
scheduling or synchronization. Most of the commercial tools for
compressing test vectors are based on linear decompressors.
If there are c scan cells, then the space of all possible scan vectorsis
c
2 . The output space of a linear decompressor is the set of scan vectors that
can be generated by the linear decompressor. Each bit stored on the tester
can be thought of as a “free-variable” that can be assigned any value (0 or
1). Consider the case where the linear decompressor receives an input
sequence from the tester consisting of -free-variables when generating a scan
vector. Assuming the linear decompressor is always initialized to the same
state before generating each scan. The output space will be equal to 2n if
every input sequence maps to a unique scan vector, and less than 2n if some
input sequences map to the same scan vector. In the degenerate case where
the linear decompressor is just a set of wires directly connecting each scan
chain to a tester channel, then n = c and the content of every scan cell is
equal to a unique free variable such that the output space of the linear
decompressor contains all possible scan vectors. However, in order to get
compression, n needs to be less than c , and thus, in the general case, the
output space of the linear decompressor will be a subset of all possible scan
vectors.
This project describes a technique to alter and reshape the output space of a
linear decompressor, which will allow the number of free-variables to be
reduced further while still keeping all the test cubes in the output space
thereby increasing the compression. Any method for designing a linear
decompressor can be used first to obtain the best linear Decompressor that it
can. Using that linear decompressor as a starting point, the proposed
techniques reduce the number of free-variables further to improve the
compression.