Download as pdf or txt
Download as pdf or txt
You are on page 1of 12

SEC5203 TESTING OF VLSI CIRCUITS UNIT –V TESTABLE MEMORY DESIGN

PREPARED BY : G.I.SHAMINI

Syllabus

RAM fault model – Test algorithm for RAMs. GALPAT – March Test – Detection of pattern
sensitive faults built in self test techniques for RAM chips. Self testable SRAM architecture.
Test generation and BIST for Embedded RAMs.

1. RAM fault model.


Classical fault models are not sufficient to represent all important failure
modes in RAM. Sequential ATPG is not possible for RAM. Functional fault models
are commonly used for memories: they define functional behavior of faulty memories.
New fault models are being proposed to cover new defects and failures in modern
memories.

1. SAF Stuck-At Fault

2. TF Transition Fault

3. CF Coupling Fault

4. NPSF Neighbourhood Pattern Sensitive Fault

5. AF Address decoding fault

1. Stuck-At Fault (SAF)

Cell (line) SA0 or SA1


– A stuck-at fault (SAF) occurs when the value of a cell or line is always 0 (a stuck-
at-0 fault) or always 1 (a stuckat-1 fault).
– A test that detects all SAFs guarantees that from each cell, a 0 and a 1 must be
read.
2. Transition Fault (TF)

Cell fails to transit from 0 to 1 or 1 to 0 in specified time period.

– A cell has a transition fault (TF) if it fails to transit from 0 to 1 (a<↑/0> TF) or from
1 to 0 (a<↓/1>TF).

3. Address-Decoder Fault (AF)


An address decoder fault (AF) is a functional fault in the address decoder that
results in one of four kinds of abnormal behaviour:
– Given a certain address, no cell will be accessed
– A certain cell is never accessed by any address

Page 1 of 12
SEC5203 TESTING OF VLSI CIRCUITS UNIT –V TESTABLE MEMORY DESIGN
PREPARED BY : G.I.SHAMINI

– Given a certain address, multiple cells are accessed


– A certain cell can be accessed by multiple addresses.
4. Stuck-Open Fault (SOF)

A stuck-open fault (SOF) occurs when the cell cannot be accessed due to, e.g.,
a broken word line. A read to this cell will produce the previously read value.

5. Coupling Fault (CF)


A coupling fault (CF) between two cells occurs when the logic value of a cell
is influenced by the content of, or operation on, another cell.
6. State Coupling Fault (CFst)
Coupled (victim) cell is forced to 0 or 1 if coupling (aggressor) cell is in given
state.
7. Inversion Coupling Fault (CFin)
Transition in coupling cell complements (inverts) coupled cell.
8. Idempotent Coupling Fault (CFid)
Coupled cell is forced to 0 or 1 if coupling cell transits from 0 to 1 or 1 to 0.
9. Disturb Fault (DF)
Victim cell forced to 0 or 1 if we (successively) read or write aggressor cell
(may be the same cell)
10. Hammer test Read Disturb Fault (RDF)

There is a read disturb fault (RDF) if the cell value will flip when being read
(successively).

11. Data Retention Fault (DRF)


DRAM
– Refresh Fault
– Leakage Fault
SRAM
– Leakage Fault Static Data Losses-defective pull-up.

2. RAM Test Algorithm

A test algorithm (or simply test) is a finite sequence of test elements: A test element contains

 a number of memory operations (access commands)


 Data pattern (background) specified for the Read and Write operation
 Address (sequence) specified for the Read and Write operations

2.1 March test algorithm

Page 2 of 12
SEC5203 TESTING OF VLSI CIRCUITS UNIT –V TESTABLE MEMORY DESIGN
PREPARED BY : G.I.SHAMINI

A march test algorithm is a finite sequence of march elements: A march


element is specified by an address order and a finite number of Read/Write
operations. The march test notations are given by:

⇑: address sequence is in the ascending order

⇓: address changes in the descending order

: address sequence is either ⇑ or ⇓

r: the Read operation Reading an expected 0 from a cell (r0); reading an expected
1 from a cell (r1)

w: the Write operation Writing a 0 into a cell (w0); writing a 1 into a cell (w1)

Example (MATS+): { c(w );0 ⇑ (r ,0 w );1 ⇓(r ,1 w0)}

Another example of march test { (w1); (r1, w0)}

Initial state

Addressing cell 0 Addressing cell 1 Addressing cell 2 Addressing cell 3

(w1)
Addressing cell 0 Addressing cell 1 Addressing cell 2 Addressing cell 3

(r1,w0)

Page 3 of 12
SEC5203 TESTING OF VLSI CIRCUITS UNIT –V TESTABLE MEMORY DESIGN
PREPARED BY : G.I.SHAMINI

2.1.1 March Tests for SAFs & TFs

MATS+:{ (w0); ⇑ (r0,w1); ⇓ (r1,w0)}

 MATS+ detection of SA0 fault

Good memory after M0 Good memory after M1 Good memory after M2

Bad memory after M0 Bad memory after M1 Bad memory after M2

 MATS+ detection of SA1 fault

Good memory after M0 Good memory after M1 Good memory after M2

Bad memory after M0 Bad memory after M1 Bad memory after M2

MATS+ detection of TFu&TFd can be proved in the same way. SAFs & TFs can be
detected by a march test which contains the following two march elements (or single march
element containing both elements).

(…,w0,r0,…) to detect SA1 faults and TFd

Page 4 of 12
SEC5203 TESTING OF VLSI CIRCUITS UNIT –V TESTABLE MEMORY DESIGN
PREPARED BY : G.I.SHAMINI

(…,w1,r1,…) to detect SA0 faults and TFu

2.1.2 March Tests for CFs

March C : { (w0); ⇑ (r0,w1); ⇑ (r1,w0); ⇓ (r0,w1); ⇓ (r1,w0); (r0)}

Detection of CFs :

M1 is executed

Cell 0 is Cell 1 is Cell 2 is Cell 3 is Cell 8 is


Addressed addressed addressed addressed addressed

M3 is executed

Cell 0 is Cell 1 is Cell 2 is Cell 3 is Cell 8 is


Addressed addressed addressed addressed addressed

Conditions for detecting CFs :− A march test which contains one of the two pairs of march
elements of Case A & Case B can detect simple CFs (CFin, CFst, CFid).
 Case A

1.

2.

 Case B

1.

2.

Page 5 of 12
SEC5203 TESTING OF VLSI CIRCUITS UNIT –V TESTABLE MEMORY DESIGN
PREPARED BY : G.I.SHAMINI

A.1 (A.2) will sensitize the CFs, and it will detect the fault, when the value of the
fault effect is x’ (x), by the rx (rx’) operation of the first (second) march element when the
coupled cell has a higher (lower) address than the coupling cell.
2.1.3 March Tests for DRFs
Data retention faults (DRFs) two subtypes:
 A stored ‘1’ will become a ‘0’ after a time T
 A stored ‘0’ will become a ‘1’ after a time T
Conditions for detecting DRFs
 Any march test can be extended to detect DRFs
 The detection of each of the two DRF subtypes requires that a memory cell be
written into the corresponding logic states
If we are detecting only simple DRFs then the delay elements can be placed between any two
pairs of march elements, e.g.,⇑ (rx’,. . . ,wx) ; Del; ⇓(rx’,. . . ,wx).
2.1.4 March Tests for AFs
Conditions for detecting AFs are as follows:
1. Read the value x from cell 0, then write x’ to cell 0, …, read the value x from
cell n-1, then write x’ to cell n-1.
2. Read the value x’ from cell n-1, then write x to cell n- 1, …, read the value x’
from cell 0.
Sufficiency of the conditions for detecting AFs
1. Fault A & B: Detected by every test that detects SAFs. When address A x is
written and read, Cx will appear either SA0 or SA1.
2. Fault C: Detected by first initializing the entire memory to an expected value
x or x’. Any subsequent march element operation that reads the expected
value x and ends by writing x’ detects fault C.
3. Fault D:
 The memory my return a random result. The fault must be generated
when Ax is written, and detected when either Aw and Av is read
 Condition 1 detects fault D1 and D2
 Condition 2 detects fault D1 and D3
Necessity of the conditions for detecting AFs

 Remove rx from Condition 1 : A test cannot detect fault A or B for the case they
always return x’
 Remove rx’ from Condition 2 : A test cannot detect fault A or B for the case they
always return x
 Remove rx or wx’ from Condition 1 : A test cannot detect fault D2
 Remove rx’ or wx from Condition 2 : A test cannot detect fault D3

Page 6 of 12
SEC5203 TESTING OF VLSI CIRCUITS UNIT –V TESTABLE MEMORY DESIGN
PREPARED BY : G.I.SHAMINI

 Remove both write operations : A test cannot detect fault C and fault D1

2.2 Detection of pattern sensitive faults

The basic concept of pattern sensitive is the victim cell is forced to 0 or 1 if a certain
number of neighbors show a particular pattern. The PSF is the most general k-coupling fault
with k=n. With the Neighborhood Pattern Sensitive Fault (NPSF), the neighborhood is
limited to all the cells in a single position surrounding the base cell which is represented in
figure 1.

Figure 1: Neighbourhood Pattern Sensitive Fault.

It is equivalent to an N-coupling fault involving more than one aggressor (up to 8


adjacent locations).It is extremely hard to detectfor each memory cell: the effect of all the
possible combinations (28) of the adjacent cells should be tested.

There are several methods and algorithms to perform tests for Neighborhood Pattern
Sensitive Faults (NPSFs). A type 1 neighborhood contains five cells that is the base cell and
the four cells physically adjacent to the base cell which is shown in figure 2 . Usually the type
1 neighborhood is used because the deleted neighborhood of the type 1 neighborhood is most
likely to influence the base cell (since all neighborhood share a row or a column with the base
cell) and because of its simplicity and smaller test time. The type-2 NPSF is with 8
neighborhood cells which is shown in figure 3.

Figure 2: Type 1 Figure 3: Type 2

Cells N,W,B,E,S is represented as 0,1,2,3,4 and 5. The main types of NPSFs are Active
NPSF, Passive NPSF and static NPSF.

Page 7 of 12
SEC5203 TESTING OF VLSI CIRCUITS UNIT –V TESTABLE MEMORY DESIGN
PREPARED BY : G.I.SHAMINI

1. Active NPSF (ANPSF):


 Change of the base cell due to a transition in the neighborhood cells
 Each base cell must be read in state 0 and in state 1, for all possible
changes in the neighborhood pattern

2. Passive NPSF (PNPSF):

 The change of the base cell is impossible due to a certain neighborhood


cells configuration
 Each base cell must be written and read in state 0 and in state 1, for all
permutations in the neighborhood pattern

3. Static NPSF (SNPSF):

 The content of the base cell is forced to a certain state due to a certain
neighborhood pattern
 Each base cell must be read in state 0 and in state 1, for all permutations in
the neighborhood pattern

It is essential to minimize the number of writes during NPSF testing. SNPSF patterns are
produced following an Hamiltonian sequence (hamiltonian distance of 1 between patterns,
Gray code for example): k+2k-1 writes. ANPSF and PNPSF patterns are produced following
an Euleriansequence : k+k.2k writes . The number of writes furtherreduced by testing the
neighborhoodssimultaneously. It isperformed by twomethods. That are Tilingmethod and
Two group Method.

2.2.1 Tilingmethod

The tiling method totally covers memory with nonoverlappingneighborhoods. Figure


4a and 4b depicts this for a 5-element Type-1 neighborhood. Cell 2 is always the base cell,
and the deleted neighborhood cells are numbered shown. When all static neighborhood
patterns (SNPs) are applied simultaneously to the neighborhoods of all base cells-2, they are
automatically applied to the neighborhoods of all base cells in the memory .This reduces the
pattern length from n*2k patterns to (n/k)* 2k patterns.

Page 8 of 12
SEC5203 TESTING OF VLSI CIRCUITS UNIT –V TESTABLE MEMORY DESIGN
PREPARED BY : G.I.SHAMINI

(a)Type 1 tilingneighbour (b) Neighbourhoods of base cells 0,1,2,3


and 4

Figure 4 : Tilingmethod

2.2.2 Two-group method:

For the two-group method, a cell is simultaneously a base cell in one group and a
deleted neighbourhood cell in the other group, and vice versa. With this duality property, cells
are divided into two groups, group-1 and group-2, in a checkerboard pattern; depicted in
Figure 5. Base cells of group-1 are deleted neighbourhood cells of group-2, and vice versa.
Each group has n/2 base cells b and n/2 deleted neighbourhood cells formed by 4 subgroups
A, B, C and D. This only works for Type-1 neighbourhoods.

Figure 5 : Cell labels in two group method

3. Self testable SRAM architecture

The architecture of the testable RAM isshown in figure 6. The control signals c1 and
c2 are used to select the mode of operation of the RAM as follows

C1 C2 Mode of operation

0 0 normal

0 1 BIST

Page 9 of 12
SEC5203 TESTING OF VLSI CIRCUITS UNIT –V TESTABLE MEMORY DESIGN
PREPARED BY : G.I.SHAMINI

1 x Scan

During the BIST mode,theaddresscountergenerates the addresssequence 0,…..,n-1 of the


RAM array.Thewaitcounteriscombinedwith the addresscounter,anditisused to test for data
retentionfaults.Thedetection of such a faultrequiresthat a 0(1), bewritteninto a memorycell
and after a certain time, the content of the cellbeverified. The waitcountergenerates the
necessaryamount of wait or delay time for the data retention test.

The function of the data generatoris to generate certain data words and their
compliments inorder to detect the possible couplingfaultsbetween cella at the
sameaddress.The data produced by the SRAM during the READ operation are accepted by
the data receptor(parallel signature analyzer), and compressed to generate a unique signature.
Once the signature has been generated,the signature generatoris set in a hold mode, and the
signature isseriallyshiftedout.Itisthencomparedwith the reference signature calculated by
using a dedicated software tool.The signature generatureconsists of a minimum of
eightmemoryelements to ensure a satisfactoryfaultcoverage.The test
logiccanbefullytestedusing the builtin scan capability.

Figure 6 : Self testable SRAM architecture

4. Test generation and BIST for Embedded RAMs.

Page 10 of 12
SEC5203 TESTING OF VLSI CIRCUITS UNIT –V TESTABLE MEMORY DESIGN
PREPARED BY : G.I.SHAMINI

Embedded RAMS are widely used in digital integrated Systems such as


telecommunications ASICs and broadband ISDN, in processors for implementing cache
memories and registers, and in DSP chips for storage of weights. It is not possible to test an
embedded RAM simply by applying test patterns directly to the chip’s 1/0 pins, because the
embedded RAM’S address, data, and control signals are not directly accessible through the
1/0 pins (Figure 7).

Figure 7: Embedded RAM

Instead, their inputs and outputs have to be accessed through the logic in which the
memories are embedded. Many of the RAM test algorithms involve applying test vectors in a
particular sequence, and it would be difficult to apply the test vectors in the correct sequence
through the embedding logic, let alone generate all of the required test vectors.

Sample Questions

1. With neat diagram, Explain about Self Testable SRAM architecture.


2. How to detect the pattern sensitive faults in random access memory and explain built
in self test techniques for RAM chips.
3. Draw the fault model for RAM. Explain any one testing algorithm to test random
access memory.
4. Explain the various test algorithms for RAM’s.
5. Explain in detail about test generation and BIST for Embedded RAM’s with necessary
diagrams.

Page 11 of 12
SEC5203 TESTING OF VLSI CIRCUITS UNIT –V TESTABLE MEMORY DESIGN
PREPARED BY : G.I.SHAMINI

Page 12 of 12

You might also like