Module 11 :Built in Self test (BIST)

Lecture 3 and 4:Memory Testing

For this section we will assume March test steps to be the ones given above. Now we will apply the basic concept of March test for the different fault models.

3.1 Stuck at fault model

March test discussed above obviously tests s-a-0 and s-a-1 faults in the cells because 0 and 1 in each cell is written and read back.

3.2 Transition fault

In March test during Step 1 all cells are written with 0 and in Step 2 all cells are written with 1s, thereby making a 0 to 1 transition in the cells. In Step 2 it is verified if cells have 0 in them and in Step 3 it is verified if cells have 1, thereby verifying 0 to 1 transition in the cells. So, Step 1 through Step 3 tests absence of fault. In a similar manner, Step 3 through Step 5 tests absence of fault.

3.3  Coupling Faults

March tests cannot detect all coupling faults. Let is consider three cells i,j,k such that address of i<address of j and address of j<address of k . Cell i is coupled with cell j and cell k by fault ; j and k are the coupling cell. In march test as we go either in ascending order or descending order of memory address of cells, both i and j are either visited before or after cell k. Let us consider the situation given in Figure 14. As Step-1 of March test all the cells i,j,k are written with 0. Following that in Step 2, all the cells (in order of) k,j,i are written with 1 (after successful reading of 0 from the cells). It may be noted that first cell k is written with 1; as cell i is coupled with cell k having fault , the 0 to 1 transition in cell k inverts the content of cell i. Following that, cell j is written with 1; as cell i is also coupled with cell j having fault , the 0 to 1 transition in cell j inverts the content of cell i again. Now when cell i is read, the value determined is 0 which means absence of two coupling faults (i) rising cƒinvi,j and (ii) rising cƒinvi,k. In other words, “rising cƒinvi,k” masks “rising cƒinvi,j ”.

Figure 14. Example situation where March test fails to test coupling faults

So March tests cannot detect all coupling faults.

Test pattern sequence required to test different coupling faults are given below:

•  Inverting rising coupling fault between cell i ( coupled cell ) and j ( coupling cell ): (i) Cell j is to be written with a 0 and read back, (ii) value at cell i is to be read and remembered, (iii) cell j is to be written with a 1 and read back, and (iv) value at cell i is to be read and checked that it is same as the one remembered (i.e., no inversion has happened).

•  Inverting falling coupling fault between cell i and j : (i) Cell j is to be written with a 1 and read back, (ii) value at cell i is to be read and remembered, (iii) cell j is to be written with a 0 and read back, and (iv) value at cell i is to be read and checked that it is same as the one remembered (i.e., no inversion has happened).