Title: Diapositive 1
1Algorithme de test de mémoires pour
Neighborhood Pattern sensitive Faults
Test de systèmes Électroniques ELE6306
Andrey Gonzalez Negin Sahraii
2Introduction
- NPSF important pour tester DRAMs.
- NPSF exige un temps de test long (plus de 100N
opérations de lecture/écriture) où N est la
taille de ladresse. - Il y a différentes sortes de test pour NPSF mais
avec un bas taux de couverture. - La méthode MARCH traditionnel a un bon taux de
couverture mais il ne détecte pas tous les NPFS. - La méthode MARCH en utilisant Backgrounds
multiples est proposée 1.Cette méthode détecte
statique NPSF, passive NPFS et active NPFS - Avantages Temps de test plus court, taux de
couverture complet pour NPSF, facile
implémentation BIST - 1 K.Cheng, M. Tsai et C. Wu. Université
National Tsing Hu
3Model de fautes NPFS
- Un Neighborhood pattern sensitive fault arrive
lorsque le contenu dune cellule de la mémoire ou
la capacité de changement de la cellule est
influencé par certain pattern dautres cellules
voisines dans la mémoire. - NPFS Statique (SNPSF) Il arrive si la cellule de
base est forcé à certain état en raison de
lapparition de certain pattern dans les cellules
voisines. - NPFS Passif (PNPSF) Il arrive si la cellule de
base ne peut pas changer de létat 0 à 1 ou 1 à 0
en raison de lapparition de certain pattern dans
les cellules voisines. - NPFS Actif (ANPSF) Il arrive si la cellule de
base est forcé à certain état lorsque un
transition arrive dans un seule cellule voisine
tandis les autres cellules voisines prendre un
certain pattern .
4Model de fautes NPFS
5Algorithme March
- Les algorithmes MARCH Traditionnelles couvrent un
petit pourcentage des NPSFs. - Lorsque on lit ou écrit la cellule base (B),
toutes le cellules avec adresse plus haute que B
ont le même état. La même chose arrive avec les
cellules avec adresse plus basse que B. Exemple - La majeure partie des NPSFs ne peut pas être
activé par le test MARCH. - Le TC est plus petit que 30 si lalgorithme
MARCH utilise seulement backgrounds de données
solides.
6Algorithme March
- Si on utilise backgrounds de données multiples,
tous les patterns peuvent être générés. Exemple - Dans la figure, a est le contenu de la cellule et
b est le complément de cet valeur.
7Algorithme March avec 8 Backgrounds
- On a besoin dun générateur de background pour
remplir la mémoire avec les bits correspondant.
Le bit a est généré par ladresse de lignes et de
colonne de la mémoire. - Algorithme MARCH-12N
- (wa) (ra,wb,wa) (ra,wb) (rb,wa,wb)
(rb,wa) (ra). - Cet algorithme est complet. Il détecte tous les
NPSFs avec un temps de test de 96N (12x8N).
8Algorithme March avec 8 Backgrounds
- La figure suivant montre les ANPSFs qui sont
détectés avec lalgorithme MARCH-12N avec les 8
backgrounds
9Algorithme March avec 8 Backgrounds
- Si on veut couvrir les fautes AF et CFst, on
ajoute 4N opérations à MARCH-12 seulement pour
le background 1 - Background 1 prolongé à 16N operations
- (wa) (ra,wb,wa) (ra,wb) (rb,wa,wb)
(rb,wa) (ra,wb) (rb,wa) (ra). - Toutes les fautes sont couvertes avec cet
extended 12N MARCH. Lalgorithm resultant 100N
(16 12x7).
10Conception BIST
2 M.Bushnell, V.Agrawal. Essentials of
Electronics Testing
11Conception BIST
12Conception BIST
13- Machine à état du contrôleur BIST
14Modèle de Faute NPSF
- Ram (32K x 1bit) contient 64 columns et
512rows. - Adresse de cellule défectueuse est addbase .
- Cellules voisinesadresse (N) addbase-64,
adresse (W) addbase-1, adresse ( E )
addbase1, adresse ( S) addbase64.
15Modèle de Faute NPSF Statique
- -- Modèle de faute NPSF Statique
(NEWSlt1001) gt (Blt0) - If(WEevent AND WE1) then
- Memory(conv_integer(Address) ) Data
- End if
- If(Address addbase and
- Memory(conv_integer(addbase-64))1 and
- Memory(conv_integer(addbase-1))0 and
- Memory(conv_integer(addbase1))0 and
- Memory(conv_integer(addbase64))1 ) then
- Memory(conv_integer(addbase))0
- End if
16Modèle de Faute NPSF Passif
- --Modèle de faute NPSF passif (NEWSlt1010)
gt (Base ne peux pas changer) - If(WEevent AND WE1) then
- If (change 0 )then
- Memory(conv_integer(Address) ) Data
- End if
- End if
- If(Address addbase and
- Memory(conv_integer(addbase-64))1 and
- Memory(conv_integer(addbase-1))0 and
- Memory(conv_integer(addbase64))1 and
- Memory(conv_integer(addbase1))0 )
then - Change lt1
- else
- Change lt0
- End if
17Modèle de Faute NPSF Actif
- --Modèle de faute NPSF Actif (NEWSlt01?1) gt
(Blt 0) - If(WEevent AND WE1) then
- If(Address addbase1) then
- If (Memory(conv_integer(addbase-64))1
and - Memory(conv_integer(addbase-1))1 and
- Memory(conv_integer(addbase64))1
and - Data 1 and
- Memory(conv_integer(addbase1))0
) then - Memory(conv_integer(addbase)) 0
- End if
- End if
- Memory(conv_integer(Address) ) Data
- End if
18Résultat de la simulation sans fautes
19Résultat de la simulation avec NPSF Statique
20Résultat de la simulation avec NPSF Passif
21Résultat de la simulation avec NPSF Actif
22Conclusions
- La méthode MARCH traditionnel a été améliorée en
utilisant des Backgrounds multiples. - Lalgorithme MARCH-12 N prolongé peut détecter
tous les NPSFs, CF et AF. - Temps de test 100N bas en relation au nombre de
fautes détectés - Un Algorithme de diagnostic peut être implémenté
pour détecter le type et lendroit de la faute
détecté en utilisant signatures MARCH.