Hardware Reference
In-Depth Information
Several testing approaches have been proposed in the literature to build
functional memory test algorithms. One of the first proposed algorithms was the
GALPAT ( Van de Goor 1991 ) . It is composed of the following steps:
1. Initialize all memory cells with '0'
2. For each cell i do:
a) Complement the cell content
b) For each cell j ยค i read the content of j and the content of i
c) Complement the content of i
3. Repeat step 2 starting with the memory initialized with '1'
The main drawback of this approach is that its complexity is O.4n 2 / where n is the
number of memory cells.
Several improvements of this algorithm have been proposed:
Galloping Diagonal Test: similar to GALPAT ( Van de Goor 1991 ) , but it moves
diagonally checking both column and row decoders simultaneously. Its complex-
ity is O.n 2 /.
Walking Pattern: similar to GALPAT except that the test cell is read once and
then all other cells are read. Its complexity is O.2n 2 /.
All these tests have two common drawbacks: (i) the complexity is in general too high
as it is not linear with the number of memory cells, and (ii) the fault coverage is in
general low as they to not systematically try to address specific fault models. For
these two reasons these tests have been abandoned and nowadays common practice
is to resort to a well-known category of test algorithms known as march tests .
The idea of march tests is to construct a number of operation sequences and to
perform each sequence on all memory cells, one after the other, before performing
the next sequence in the test. A march test is therefore defined as a sequence of
march elements , where a march element is a sequence of memory operations per-
formed sequentially on all memory cells. In a march element, the way one proceeds
from one cell to the next is specified by the address order, which can be increas-
ing (denoted by * ) or decreasing (denoted by + ). The * address order has to be
the exactly opposite of the + address order. For some march elements, the address
order can be chosen arbitrarily as increasing or decreasing and denoted by the m
symbol. In a march element, it is possible to perform a write 0 ( w 0 ), write 1 ( w 1 ),
read 0 (r 0 ), and read 1 (r 1 ) operation. The 0 and 1 after the read operations represent
the expected values of the read. By arranging a number of march elements one after
the other, a march test is constructed.
Among all published march tests, a very interesting march algorithm able to
cover all static, dynamic, and linked FFMs proposed in the pervious sections of
this chapter is the March AB ( Bosio et al. 2008 ) reported in Eq. 6.8 .
m . w 1 /
+ .r 1 w 0 r 0 w 0 r 0 /
+ .r 0 w 1 r 1 w 1 r 1 /
(6.8)
 
Search WWH ::




Custom Search