220 likes | 336 Views
Algorithme de test de mémoires pour « Neighborhood Pattern sensitive Faults ». Test de systèmes É lectroniques ELE6306. Andrey Gonzalez Negin Sahraii. Introduction. NPSF important pour tester DRAMs.
E N D
Algorithme de test de mémoires pour « Neighborhood Pattern sensitive Faults » Test de systèmes Électroniques ELE6306 Andrey Gonzalez Negin Sahraii
Introduction • 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 l’adresse. • 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
Model de fautes NPFS • Un “Neighborhood pattern sensitive fault” arrive lorsque le contenu d’une cellule de la mémoire ou la capacité de changement de la cellule est influencé par certain pattern d’autres cellules voisines dans la mémoire. • NPFS Statique (SNPSF): Il arrive si la cellule de base est forcé à certain état en raison de l’apparition 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 l’apparition 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 .
Algorithme 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 l’algorithme MARCH utilise seulement backgrounds de données solides.
Algorithme 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.
Algorithme March avec 8 Backgrounds • On a besoin d’un générateur de background pour remplir la mémoire avec les bits correspondant. Le bit a est généré par l’adresse 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).
Algorithme March avec 8 Backgrounds • La figure suivant montre les ANPSFs qui sont détectés avec l’algorithme MARCH-12N avec les 8 backgrounds:
Algorithme 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”. L’algorithm resultant 100N (16 + 12x7).
Conception BIST [2] M.Bushnell, V.Agrawal. Essentials of Electronics Testing
test rst_n syserror syscorrect BIST Controller clk writ test (State machin) Ram Pulse Generator oe_ lastad firstad clear wr_n count cs countup add(0-14) UP/Down RAM Counter 15 3 Datain add0,add1,add6 writ test fina datab Background data Buffer bgf bgc pattern Generator rst_n oe_n error Comparator Le circuit de BIST Conception BIST
Modèle de Faute NPSF • Ram (32K x 1bit) contient 64 ‘columns’ et 512‘rows’. • Adresse de cellule défectueuse est «addbase ». • Cellules voisines:adresse (N) = addbase-64, adresse (W) : addbase-1, adresse ( E )= addbase+1, adresse ( S) =addbase+64.
Modèle de Faute NPSF Statique • -- Modèle de faute NPSF Statique (“NEWS”<=”1001”) => (B<=’0’): • If(WE’event AND WE=’1’) 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(addbase+1))=’0’ and • Memory(conv_integer(addbase+64))=’1’ ) then • Memory(conv_integer(addbase))=’0’; • End if;
Modèle de Faute NPSF Passif • --Modèle de faute NPSF passif (“NEWS”<=”1010”) => (Base ne peux pas changer): • If(WE’event AND WE=’1’) 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(addbase+64))=’1’ and • Memory(conv_integer(addbase+1))=’0’ ) then • Change <=’1’ ; • else; • Change <=’0’ ; • End if;
Modèle de Faute NPSF Actif • --Modèle de faute NPSFActif(“NEWS”<=”01↑1”) => (B<= ‘0’): • If(WE’event AND WE=’1’) then • If(Address = addbase+1) then • If (Memory(conv_integer(addbase-64))=’1’ and • Memory(conv_integer(addbase-1))=’1’ and • Memory(conv_integer(addbase+64))=’1’ and • Data =’1’ and • Memory(conv_integer(addbase+1))=’0’ ) then • Memory(conv_integer(addbase)) :=’0’ ; • End if; • End if; • Memory(conv_integer(Address) ) :=Data ; • End if;
Conclusions • La méthode MARCH traditionnel a été améliorée en utilisant des Backgrounds multiples. • L’algorithme 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 l’endroit de la faute détecté en utilisant signatures MARCH.