Chapitre 7 Conception en Vue du Test : Test Intégré (BIST)

publicité
Chapitre 10
Test des Mémoires et des PLAs
« Programmable Logic Array »
Cours ELE6306
Département de Génie Électrique
École Polytechnique de Montréal
Plan
)Les circuits à structures régulières
Définition
¾ Test des circuits à structures régulières
¾
)Test des mémoires
Caractéristiques des mémoires
¾ Modèles de fautes
¾ Algorithmes de test
¾
)Test des PLA « Programmable Logic Array »
Caractéristiques des PLAs
¾ Modèles de fautes
¾ Algorithmes de test
¾
ELE6306 – Chap. 10 : Test des mémoires
1
© A. Khouas
Les circuits à structures régulières
)Définition :
¾
Ce sont les circuits composés d’une même structure qui se
répète
™
™
™
Les mémoires
Les PLAs « Programmable Logic Array », CPLD, FPGA
Les parties chemins de données dans les microprocesseurs
)Test des circuits à structures régulières :
¾
Inefficacité des méthodes générales
™
™
¾
Modèles de fautes
Algorithmes de générations
Adaptation de la technique de test aux structures des
circuits
ELE6306 – Chap. 10 : Test des mémoires
2
© A. Khouas
Fabrication des mémoires
Source : Essential of Electronic Testing, Bushnell&Agrawal
ELE6306 – Chap. 10 : Test des mémoires
3
© A. Khouas
Structure d’une mémoire
Source : Essential of Electronic Testing, Bushnell&Agrawal
ELE6306 – Chap. 10 : Test des mémoires
4
© A. Khouas
Temps de test vs taille des mémoires
Taille
Temps de test pour chaque complexité
n
n
n . log2n
n3/2
n2
1 Mb
4 Mb
16 Mb
64 Mb
256 Mb
1 Gb
2 Gb
0.06 s
0.25 s
1.01 s
4.03 s
16.11 s
64.43 s
128.9 s
1.26 s
5.54 s
24.16 s
104.7 s
451.0 s
1932.8 s
1.1 hr
64.5 s
515.4 s
1.2 hr
9.2 hr
73.3 hr
24.4 jr
69.6 jr
18.3 hr
12.2 jr
195.5 jr
3127.5 jr
137.1 an
2193.5 an
8774.1 an
Temps de test d’une cellule mémoire = 60ns
Source : Essential of Electronic Testing, Bushnell&Agrawal
ELE6306 – Chap. 10 : Test des mémoires
5
© A. Khouas
Test des mémoires
)La méthodologie de test classique n’est pas efficace
pour tester les mémoires :
¾
Plusieurs fautes ne peuvent pas être modélisées par le
modèle de collage
™
™
¾
Fautes de voisinages entre les cellules mémoires
Fautes de couplage entre les cellules
Les algorithmes classiques de génération ne sont pas très
efficaces
™
™
™
Pas de problème d’activation et de propagation de fautes
Très grand nombre de cellules
Plusieurs vecteurs pour tester une cellule mémoire
ELE6306 – Chap. 10 : Test des mémoires
6
© A. Khouas
Modèles de fautes
)Il existe plusieurs modèles de fautes pour les mémoires :
¾
¾
¾
¾
¾
¾
Fautes de collage SAF « Stuck-At Faults »
™ Cellules mémoires et autres composants de la mémoire
Fautes de transition TF « Transition Faults »
™ Cellules mémoires
Fautes de couplage CF « Coupling Faults »
™ Cellules mémoires
Fautes d’adressages AF « Adressing Faults »
™ Lignes d’adressage
Fautes de voisinage NPSF « Neighborhood Pattern Sensitive Faults »
™ Interaction entre les cellules mémoires voisines
Fautes (multiples) liées LF « Linked Faults »
ELE6306 – Chap. 10 : Test des mémoires
7
© A. Khouas
Fautes de collage « SAF »
W0
W0
W1
S0
S1
W1
Diagramme d’une cellule mémoire
W0
W1
W0
W1
S0
S1
Cellule avec collage @0
Cellule avec collage @1
Source : Essential of Electronic Testing, Bushnell&Agrawal
ELE6306 – Chap. 10 : Test des mémoires
8
© A. Khouas
Fautes de transition « TF »
W0
W0
W1
S0
S1
W1
Cellule avec une faute de transition 0 vers 1
W0
W0
S0
W1
S1
W1
Cellule avec une faute de transition 1 vers 0
Source : Essential of Electronic Testing, Bushnell&Agrawal
ELE6306 – Chap. 10 : Test des mémoires
9
© A. Khouas
Fautes de couplage « CF »
)Définition :
¾
Une faute de couplage entre plusieurs cellules implique qu’une
transition sur l’une engendre un changement sur les autres
™ En pratique, on limite le nombre de cellules couplées à 2
)Plusieurs types de fautes de couplage :
ª Fautes
d’inversion CFin:
™ Une transition sur i engendre une une transition (inversion) sur j
ª Fautes idempotentes CFid :
™ Une transition sur i force la valeur 0 ou 1 sur j
ª Fautes dynamiques CFdyn :
™ Une lecture ou écriture sur i force la valeur 0 ou 1 sur j
ELE6306 – Chap. 10 : Test des mémoires
10
© A. Khouas
Fautes de couplage « CF » (suite)
w0/i
w0/j
w0/j
S00
S01
w1/j
w0/i
w1/j
w0/i
w0/j
S00
w0/j
S01
w0/i
w1/j
w1/i
w0/j
S10
w1/j
S11
w1/i
w0/j
w1/i
w1/j
S10
w1/j
w0/j
w0/i
w1/i
w0/j
w0/i
w1/i
w0/i
w1/i
w0/i
w1/i
w1/j
S11
w1/i
w1/j
Diagramme avec la faute CFin ≺ j =↑ ,i =
Diagramme sans faute de couplage
Source : Essential of Electronic Testing, Bushnell&Agrawal
ELE6306 – Chap. 10 : Test des mémoires
11
© A. Khouas
Fautes de couplage « CF » (suite)
w0/i
w0/j
w0/j
S00
S01
w0/i
w1/j
w0/i
w1/i
w0/i
w1/i
w1/j
w0/j
w1/i
w0/j
S10
w1/j
S11
w1/i
w1/j
Diagramme avec la faute CFid ≺ j =↑, i = 1
Source : Essential of Electronic Testing, Bushnell&Agrawal
ELE6306 – Chap. 10 : Test des mémoires
12
© A. Khouas
Fautes d’adressage « AF »
)Définition :
ª les
fautes d’adressage modélisent les défauts dans l’adressage des
cellules mémoires
)Plusieurs types de fautes d’adressage :
ª Fautes
de type 1 :
™ Une adresse A ne contrôle aucune cellule mémoire
ª Fautes de type 2 :
™ Une cellule mémoire n’est contrôlée par aucune adresse
ª Fautes de type 3 :
™ Une adresse A contrôle plusieurs cellules mémoires
ª Fautes de type 4 :
™ Plusieurs adresses contrôlent la même cellule mémoire
ELE6306 – Chap. 10 : Test des mémoires
13
© A. Khouas
Fautes de voisinage « NPSF »
)Définition :
ª Une
cellule mémoire peut être affectée par le contenu des cellules
voisines (des combinaisons particulières des cellules voisines)
™
Ces fautes deviennent très fréquentes avec la diminution des
distances entre les cellules
)Plusieurs types de fautes de voisinage :
ª Fautes
™
La cellule est collée à une valeur donnée pour une combinaison
particulière des cellules voisines
ª Fautes
™
de voisinage passives « PNPSF » :
Une combinaison particulière des cellules voisines empêchent tout
changement sur la cellule
ª Fautes
™
de voisinage statiques « SNPSF » :
de voisinage actives « ANPSF » :
La cellule change quand une des cellules voisines change pour une
combinaison particulière des cellules voisines
ELE6306 – Chap. 10 : Test des mémoires
14
© A. Khouas
Fautes de voisinage « NPSF » (suite)
) Il existe plusieurs types de cellules voisines
¾
Type 1-NPSF
™
™
™
¾
Type 2-NPSF
™
™
™
¾
B : cellule de base
B,N,S,E,W : 5 cellules voisines
N,S,E,W : 4 « Deleted neighborhood cell »
B : cellule de base
B,N,…,SW : 9 cellules voisines
N…SW : 8 « Deleted neighborhood cell »
W
N
B
S
E
NW
W
SW
N
B
S
NE
E
SE
Autres
™
™
™
Digonal PSF
Triangle PSF
Row/culum coupling
ELE6306 – Chap. 10 : Test des mémoires
15
© A. Khouas
Notation March
r 0 : Lire 0
r1 : Lire 1
w0 : Écrire 0
w1 : Écrire 1
↑: Appliquer une transistion de 0 à 1
↓: Appliquer une transistion de 1 à 0
: Complémenter le contenu de la cellule
⇑: Incrémenter l' adresse
⇓: Décrémenter l' adresse
: Incrémenter ou décrémenter l' adresse
ELE6306 – Chap. 10 : Test des mémoires
16
© A. Khouas
Algorithme de test fonctionnel
)Algorithme fonctionnel :
ª
ª
ª
ª
ª
ª
Pour chaque cellule I de la mémoire faire
Écrire 0 dans la cellule I
Lire la cellule I
/* valeur attendue : 0 */
Écrire 1 dans la cellule I
Lire la cellule I
/* valeur attendue : 1 */
fin pour
)Notation :{ ( w0, r 0,w1, r1)}
)Fautes détectées par cet algorithme :
™
™
™
Fautes de collage « SAF »
Fautes de transition « TF » 0 vers 1 seulement
Fautes d’adressage de type 1 et 2
)Complexité : 4n
™
On a 4n opérations avec n = nombre de cellules
ELE6306 – Chap. 10 : Test des mémoires
17
© A. Khouas
Algorithme de test fonctionnel (suite)
)Algorithme fonctionnel modifié :
ª
ª
ª
ª
ª
ª
ª
ª
Pour chaque cellule I de la mémoire faire
Écrire 0 dans la cellule I
Lire la cellule I
/* valeur attendue : 0 */
Écrire 1 dans la cellule I
Lire la cellule I
/* valeur attendue : 1 */
Écrire 0 dans la cellule I
Lire la cellule I
/* valeur attendue : 0 */
fin pour
)Notation :{ ( w0, r 0,w1, r1, w0, r 0)}
)Fautes détectées :
™
SAF, TF, AF de type 1 et 2
)Complexité : 6n
ELE6306 – Chap. 10 : Test des mémoires
18
© A. Khouas
Algorithmes de test des mémoires
)Pour détecter les autres fautes dans les mémoires,
d’autres algorithmes de test ont été proposés :
¾
¾
¾
¾
¾
Algorithme Galpat « Galloping patterns »
Algorithme « Walking pattern »
Algorithme Galdia « Galloping diagonal »
Algorithme « Checkerboard »
Algorithmes de type « March »
ELE6306 – Chap. 10 : Test des mémoires
19
© A. Khouas
Algorithme « Galpat »
)Algorithme « Galpat » :
ª
ª
ª
ª
ª
ª
ª
ª
ª
ª
ª
début
Pour i=1 jusqu’à n faire
Écrire 0 dans M[i]
/* initialiser a 0 */
Pour i=1 jusqu’à n faire
Complémenter M[i]
Pour j=1 jusqu’à n faire
/* sauf i=j */
Lire M[i]
/* 1 */
Lire M[j]
/* 0 */
Complémenter M[i]
Répéter les deux boucles avec Initialisation à 1
fin
)Notation :{ ( w0); ⇑ ( , ⇑ (r1, r 0), ); ( w1); ⇑ ( , ⇑ (r 0, r1), )}
)Fautes détectées : SAF, TF, AF, et CF
)Complexité : 4n2
ELE6306 – Chap. 10 : Test des mémoires
20
© A. Khouas
Algorithme « Walking Pattern »
)Algorithme « Walking Pattern» :
ª
ª
ª
ª
ª
ª
ª
ª
ª
ª
ª
début
Pour i=1 jusqu’à n faire
Écrire 0 dans M[i]
/* initialiser a 0 */
Pour i=1 jusqu’à n faire
Complémenter M[i]
Lire M[i]
/* différence avec Galpat */
Pour j=1 jusqu’à n faire
/* sauf i=j */
Lire M[j]
/* 0 */
Complémenter M[i]
Répéter les deux boucles avec Initialisation à 1
fin
)Notation :
{
( w0); ⇑ ( ,r1, ⇑ (r 0), ); ( w1); ⇑ ( ,r 0, ⇑ (r1), )}
)Fautes détectées : SAF, TF, AF et CF
2
)Complexité : 2n
ELE6306 – Chap. 10 : Test des mémoires
21
© A. Khouas
Algorithme « Walking pattern » (suite)
)Exemple : matrice
4*4
0000
0000
0000
0000
1000
0000
0000
0000
0100
0000
0000
0000
0010
0000
0000
0000
0001
0000
0000
0000
0000
1000
0000
0000
0000
0000
. . . .
0000
0010
0000
0000
0000
0001
1111
1111
1111
1111
0111
1111
1111
1111
1011
1111
1111
1111
1101
1111
1111
1111
1110
1111
1111
1111
1111
0111
1111
1111
1111
1111
. . . .
1111
1101
1111
1111
1111
1110
ELE6306 – Chap. 10 : Test des mémoires
22
© A. Khouas
Algorithme « Galdia »
)Algorithme « Galdia » :
ª
ª
ª
ª
ª
ª
ª
ª
ª
ª
ª
début
Pour i=1 jusqu’à n faire
Écrire 0 dans M[i]
/* initialiser a 0 */
Pour i=1 jusqu’à m faire
/* m = n1/2 */
Pour j=1 jusqu’à m faire
Lire M[i,j]
/* 0 */
Complémenter M[i,j]
Lire les cellules de la diagonale et sa
complémentaire
Complémenter M[i,j]
Répéter les deux boucles avec Initialisation à 1
fin
)Fautes détectées : SAF, TF, AF et CF
)Complexité : 4n3/2
ELE6306 – Chap. 10 : Test des mémoires
23
© A. Khouas
Algorithme « Checkerboard »
)Exemple : matrice 8*8
11110000
11110000
11110000
11110000
00001111
00001111
00001111
00001111
11001100
00110011
00110011
11001100
11001100
00110011
00110011
11001100
01010101
10101010
01010101
10101010
01010101
10101010
01010101
10101010
)Fautes détectées : SAF, TF, AF, CF et NPSF (certaines
fautes)
)Complexité : 2n log2(n)
ELE6306 – Chap. 10 : Test des mémoires
24
© A. Khouas
Algorithmes « March »
)Algorithme « MATS+ » :
{
( w0); ⇑ (r 0, w1); ⇓ (r1, w0)}
ª Fautes
détectées : SAF, AF
ª Complexité : 5n
)Algorithme « MATS++ » :
{
( w0); ⇑ (r 0, w1); ⇓ (r1, w0, r 0)}
ª Fautes
détectées : SAF, AF, TF
ª Complexité
ELE6306 – Chap. 10 : Test des mémoires
: 6n
25
© A. Khouas
Algorithmes « March » (suite)
Algorithme « March X » :
{
( w0); ⇑ (r 0, w1); ⇓ (r1, w0); r 0}
Fautes détectées : SAF, AF,TF,CFin
Complexité : 6n
Algorithme « March C » :
{
( w0); ⇑ (r 0, w1); ⇑ (r1, w0); ⇓ (r 0, w1); ⇓ (r1, w0); (r 0)}
Fautes détectées : SAF, AF, TF,CFin, CFid, CFdyn
Complexité : 10n
ELE6306 – Chap. 10 : Test des mémoires
26
© A. Khouas
Test des fautes NPSF
)Fautes de voisinage statiques « SNPSF »
¾
Définition :
™
¾
Condition de test :
™
¾
La cellule est collée à une valeur donnée pour une
combinaison particulière des cellules voisines
k-1
Il faut appliquer les 2 combinaisons possibles des (k-1)
cellules voisines et vérifier qu’on peux sauvegarder 0/1 dans
la cellule de base, avec k = nombre de cellules voisines (y
compris la cellule de base)
Application :
™
™
Fautes de type-1 : k = 5
k
Pour chaque cellule, il faut : 2 = 32 vecteurs
ELE6306 – Chap. 10 : Test des mémoires
27
© A. Khouas
Test des fautes NPSF (suite)
)Fautes de voisinage passives « PNPSF »
¾
Définition :
™
¾
Condition de test :
™
¾
Une combinaison particulière des cellules voisines empêchent
tout changement sur la cellule
k-1
Pour chacune des 2 combinaisons possibles des (k-1) cellules
voisines (sans la cellule de base), vérifier les 2 transitions sur
la cellule de base, avec k = nombre de cellules voisines (y
compris la cellule de base)
Application :
™
™
Fautes de type-1 : k = 5
k-1
Pour chaque cellule, il faut : 2*2 = 32 vecteurs
ELE6306 – Chap. 10 : Test des mémoires
28
© A. Khouas
Test des fautes NPSF (suite)
)Fautes de voisinage actives « ANPSF » :
¾
Définition :
™
¾
Condition de test :
™
¾
La cellule change quand une des cellules voisines change pour
une combinaison particulière des cellules voisines
k-1
Pour chacune des 2 combinaisons possibles des (k-1) cellules
voisines (sans la cellule de base), vérifier les 2 transitions sur
chaque cellule voisine, avec k = nombre de cellules voisines (y
compris la cellule de base)
Application :
™
™
Fautes de type-1 : k = 5
k-2
k
Pour chaque cellule, il faut : 2*2*(k-1)*2 = (k-1)* 2 =128 vecteurs
ELE6306 – Chap. 10 : Test des mémoires
29
© A. Khouas
Test des fautes NPSF (suite)
)Problèmes :
Nombre très élevé de vecteurs pour chaque cellule
¾ Nombre très élevé d’écritures pour chaque vecteur
¾
)Solutions :
¾
1- Utilisation de séquences permettant de minimiser le nombre
d’écritures pour appliquer tous les vecteurs de test
™
Séquence Eulérienne
Cycle qui passe une seule fois par tous les arcs d'un graphe
™
Séquence Hamiltoniènne
Chemin simple fermé qui passe une et une seule fois par chaque sommet
d'un graphe
¾
2- Test parallèle des cellules
™
™
Méthode de pavage sans chevauchement « Tiling »
Méthode « two-group » (pour type 1-NPSF seulement)
ELE6306 – Chap. 10 : Test des mémoires
30
© A. Khouas
Test intégré des mémoires
) Avantage du BIST pour le test des mémoires
ª
ª
ª
ª
Diminue le temps de test
Permet le test en parallèle des mémoires
Facilite le test des mémoires dans les SOC
Seulement 1-3 % de surface additionnelle
) Techniques de BIST pour les mémoires
¾
Générateur
™
™
¾
Analyseur de réponse
™
™
¾
LFSR et conteur
Microcontrôleur pour la génération selon un algorithme donné
(exemple March)
MISR
Contage de 1
Autres BIST
™
Processor based BIST
ELE6306 – Chap. 10 : Test des mémoires
31
© A. Khouas
Les circuits logiques programmables
) Définition
¾
Circuits logiques dont les fonctions peuvent être programmées pour
une application particulière, après sa fabrication
) Acronymes :
¾
¾
¾
¾
¾
¾
¾
¾
PLD : Programmable Logic Device
SPLD : Simple Programmable Logic Device
PLA : Programmable Logic Array
PROM : Programmable Read Only Memory
PAL : Programmable Array Logic
GAL : Generic Array Logic
CPLD : Complexe Programmable Logic Device
FPGA : Field Programmable Gate Array
ELE6306 – Chap. 10 : Test des mémoires
32
© A. Khouas
Architecture des PLA
)Les circuits logiques programmables « PLA » sont
des circuits qui peuvent implémenter n’importe
quelle fonction booléenne
¾
Selon la technologie utilisée, les PLAs implémentent deux
niveaux logiques :
™
™
™
¾
AND-OR
NAND-NAND
NOR-NOR
Chaque PLA (and/or) est définie par la matrice P=(A,O)
™
™
A représente la matrice des termes AND
O représente la matrice des termes OR
ELE6306 – Chap. 10 : Test des mémoires
33
© A. Khouas
Architecture des PLA (suite)
Crosspoint
Product line
………
Pm
……...
Matrice
AND
……...
Matrice
OR
P2
P1
………
Bit line
x1 x1
……...
Output line
xn xn
Input Decoder
……...
Input line
x1
x2
ELE6306 – Chap. 10 : Test des mémoires
f1
f2
fk
xn
34
© A. Khouas
Architecture des PLA (suite)
)Exemple : Soit un circuit avec 4 entrées x1,x2,x3,x4 et 2
sorties s1 et s2 définies par :
s1 = x1 + x3 x4 + x2 x3
s2 = x3 x4 + x1 x2 x3 x4 + x2 x3 + x1 x2 x4
) Les matrices A et O de ce circuit sont :
x1 x2 x3 x4
⎡0
⎢x
⎢
⎢x
A=⎢
⎢0
⎢x
⎢
⎣1
x x x⎤
x 1 1 ⎥⎥
0 0 x⎥
⎥
0 0 0⎥
1 1 x⎥
⎥
1 x 0⎦
s1 s2
⎡1
⎢1
⎢
⎢1
O=⎢
⎢0
⎢0
⎢
⎣0
ELE6306 – Chap. 10 : Test des mémoires
0⎤
1 ⎥⎥
0⎥
⎥
1⎥
1⎥
⎥
1⎦
p1 = x1
p 2 = x3.x 4
⇒
p3 = x 2.x3
p 4 = x1.x 2.x3.x 4
et
s1=p1+p2+p3
s2=p2+p4+p5+p6
p5 = x 2.x3
p6 = x1.x 2.x 4
35
© A. Khouas
Architecture des PLA (suite)
p1
p2
p3
p4
p5
p6
b1
x1
x2
Matrice de ANDs
b2
b3
b4
x3
b5
b6
x4
b7
b8
s1
s2
Matrice de ORs
ELE6306 – Chap. 10 : Test des mémoires
36
© A. Khouas
Architecture des PLA (suite)
Architecture de base d’un PLA
Source : Programmable Logic Devices ; F. Gail Gray
ELE6306 – Chap. 10 : Test des mémoires
37
© A. Khouas
Architecture des PLA (suite)
Exemple de programmation d’un PLA
Source : Programmable Logic Devices ; F. Gail Gray
ELE6306 – Chap. 10 : Test des mémoires
38
© A. Khouas
Architecture des PLA (suite)
En logique négative on a :
p1 = …?…..
p2 = …?…..
p3 = …?…..
f1 = …?…..
f2 = …?…..
f3 = …?…..
Source : Programmable Logic Devices, Muroga, S.
ELE6306 – Chap. 10 : Test des mémoires
39
© A. Khouas
Architecture des PAL
Exemple de programmation d’un PAL
Source : Programmable Logic Devices ; F. Gail Gray
ELE6306 – Chap. 10 : Test des mémoires
40
© A. Khouas
Architecture des PROM (suite)
Exemple de programmation d’une PROM
Source : Programmable Logic Devices ; F. Gail Gray
ELE6306 – Chap. 10 : Test des mémoires
41
© A. Khouas
Test des PLAs
)La méthodologie de test classique n’est pas efficace
pour tester les PLAs pour plusieurs raisons :
¾
Plusieurs fautes ne peuvent pas être modélisées par le
modèle de collage
™
¾
Les algorithmes de génération ne sont pas très efficaces
™
™
™
¾
Extra-intersections dans les matrices de ANDs et ORs
Très grand « Fanin »
Très grand nombre de reconvergence
Redondance
Test pseudo-aléatoire peu efficace
™
Nombre élevé de points d’intersection « crosspoint »
ELE6306 – Chap. 10 : Test des mémoires
42
© A. Khouas
Modèles de fautes
)A cause de la structure particulière des PLAs, le
modèle de collage tout seul n’est pas suffisant pour
modéliser tous les défauts de fabrication
)De nouveau modèles de fautes spécifiques aux PLAs
sont utilisés pour représenter les défauts liés aux
matrices d’interconnexion
¾
Fautes d’interconnexion « Crosspoint faults »
ELE6306 – Chap. 10 : Test des mémoires
43
© A. Khouas
Fautes d’interconnexion
)Il existe plusieurs types de fautes d’interconnexion :
¾
Faute de réduction/contraction « Shrinkage fault » :
™
™
¾
Faute de croissance « Growth fault » :
™
™
¾
Une intersection manquante dans la matrice de ANDs
Implique une entrée manquante sur la ligne
Faute d’apparition « Appearance fault » :
™
™
¾
Une intersection additionnelle dans la matrice de ANDs
Implique une entrée additionnelle sur la ligne
Une intersection additionnelle dans la matrice de ORs
Faute qui apparaît sur la ligne de sortie
Faute de disparition « Disappearance fault » :
™
™
Une intersection manquante dans la matrice de ORs
Faute qui disparaît de la ligne de sortie
ELE6306 – Chap. 10 : Test des mémoires
44
© A. Khouas
Algorithmes de test
)Comme les algorithmes généraux de génération de
vecteurs de test ne sont pas efficaces pour les PLAs,
d’autres algorithmes ont été développés
ª Génération
™
™
déterministe
Fautes d'interconnexion simples
Fautes d’interconnexion doubles
ª Génération
semi-aléatoire
)Pour calculer le taux de couverture la simulation de
fautes est remplacée par l’analyse des vecteurs de
test
ª Plus
rapide que la simulation de fautes
ELE6306 – Chap. 10 : Test des mémoires
45
© A. Khouas
Génération déterministe
)Basée sur la sensibilisation des chemins
)Algorithme de génération
ª1
- Sélectionner une ligne de produit Pi « product line »
™
™
™
Soit Pi le produit correspondant
f
Soit P i le produit correspondant à la faute sur Pi
Un vecteur t active la faute sur Pi si : Pi f # Pi = Pi f .P i = 1
ª2
- Propager la faute à travers une ligne de sortie k « output
line »
™
™
™
Soit Zi,k la somme des cubes de la sortie k sans le produit Pi
Un vecteur t propage la faute à travers la sortie k si Zi,k = 0
Un vecteur t détecte la faute si : ( Pi f # Pi ) # Z i ,k = ( Pi f .P i ).Z i ,k = 1
ELE6306 – Chap. 10 : Test des mémoires
46
© A. Khouas
Génération déterministe (suite)
)Exemple :
¾Intersection
™
™
manquante entre p2 et b7
P2 = x3x4
f
P 2 = x3
x1
C2f # C2 = C2f .C2 = x3 x4
™
x2
Pour k=1 on a :
Z 2,1 = P1 + P3 = x1 + x2 x3
x3
( P2f # P2 ) # Z 2,1 = x1 x3 x4
™
x4
Les vecteurs qui détectent
cette faute à travers s1 doivent
vérifier : x1 x3 x4 = 1
¾Résultat
p1
p2
p3
p4
p5
p6
b1
b2
b3
b4
b5
b6
b7
b8
s1
s2
: x1x2x3x4 = 1x10
ELE6306 – Chap. 10 : Test des mémoires
47
© A. Khouas
Test intégré des PLAs
) Il existe plusieurs techniques de BIST pour les PLAs :
ª Technique
™
Permet d’effectuer le test durant le mode de normal
ª Technique
™
™
™
™
de signature
Utilisation d’un seul MISR
Utilisation de plusieurs MISR
ª Technique
™
de parité
Les fautes d’interconnexions simples sont facilement
détectables par le test de parité
ª Technique
™
concurrente
de partionnement
Diviser pour régner
Exploitation du test parallèle
Utilisation de registres BILBO
ELE6306 – Chap. 10 : Test des mémoires
48
© A. Khouas
Conclusion
)Test des mémoires
¾
Modèles de fautes pour les mémoires
™
¾
Beaucoup de modèles
Algorithmes de test des mémoires
™
Différents algorithmes de test selon les fautes qu’on souhaite
détecter
)Test des PLAs
¾
Modèles de fautes pour les PLAs
™
¾
Fautes d’interconnexion (4 types)
Algorithme de test des PLAs
™
Algorithme spécifique de génération des vecteurs de test pour
les fautes d’interconnexion
ELE6306 – Chap. 10 : Test des mémoires
49
© A. Khouas
Questions
ELE6306 – Chap. 10 : Test des mémoires
50
© A. Khouas
Téléchargement