©2007 landrault christian landrault [email protected] laboratoire dinformatique, de robotique et de...
TRANSCRIPT
©2007 Landrault
Christian LANDRAULT
Laboratoire d’Informatique, de Robotique
et de Microélectronique de Montpellier
(LIRMM)
TEST INTEGREBIST : “Built-In Self-Test”
©2007 Landrault
Définitions et terminologie
Capacité d’un circuit à se tester lui-même
Test en ligne Test hors ligne
Concurrentcodage
Non Concurrentroutines dediagnostic
Structurelmodèles de
fautes explicites
Fonctionnellogiciels de
test spécifiques
©2007 Landrault
Pourquoi du test intégré ?
prix élevé et toujours croissant des testeurs génération des séquences de test longue et
difficile temps d ’application des séquences élevé inefficacité grandissante des testeurs
©2007 Landrault
Test intégréUn passage obligé
1995 2001 2010Technologie (micron) 0,35 0,18 0,07
Nombre de transistors(millions)
1 10 100
Fréquence d’horloge(MHz)
300 600 1100
Nombre d’E/S 900 2000 4800
Taille de la puce (mm2) 450 750 1400Pourcentage de circuitsavec DFT/BIST (%)
25 50 90
Carte de route SIA (aspect technologie)
©2007 Landrault
Test intégréUn passage obligé
1995 2001 2010Vitesse du test (MB/s) 125 225 550
Longueur de la séquencede test (millions)
4 8 2
Standardisation deslogiciels de test (%)
0 25 90
Testeurs avec option detest analogique (%)
20 100 100
Coût du test encaractérisation (k$/pin)
14 5 1,5
Coût du test enproduction (k$/pin)
3,3 1,3 0,4
Carte de route SIA (aspect test)
©2007 Landrault
Principe du test intégré
Contrôle du test
Circuit sous Test
Eva
luat
ion
des
répo
nses
Gén
érat
ion
de
vect
eurs
©2007 Landrault
Avantages du test intégré
Suppression de la nécessité de testeur coûteux
possibilité de test à vitesse nominale taux de couverture bon et « modulable » temps de test court (vitesse + hiérarchisation) possibilité de test en fonctionnement (temps
de dormance)
©2007 Landrault
Plan du chapitre
Génération intégrée de vecteurs de test
Analyse intégrée des réponses
Structures pour le test intégré
Planification et contrôle du test intégré
Test intégré des mémoires
©2007 Landrault
Différentes méthodes de génération
Test aléatoire (pseudo-aléatoire)– pas besoin d ’ATPG– test long (TC fonction de la longueur de la séquence)– pseudo-aléatoire : même caractéristique qu’aléatoire mais
appliqué de manière déterministe
Test déterministe– utilisation d ’ATPG– vecteurs fixés et optimaux
Test exhaustif (pseudo-exhautif)– pas besoin d ’ATPG– pseudo-exhaustif : même caractéristique qu’exhaustif mais
séquence moins longue
©2007 Landrault
Registre à décalage rebouclé et autonome
BASCULES D
10 10
11
00
La séquenced’états parcourue
dépend de l ’état initial
©2007 Landrault
Registre à décalage à rebouclage linéaire (LFSR)
001 100
111000
La séquenced ’états parcouruedépend toujours
de l’état initial++
110011
010
101
©2007 Landrault
Registre à décalage à rebouclage linéaire (généralisation)
++ +
C1 C2 C3 Cn
+
Cn-1
Q1 Q2 Q3 Qn-1 Qn
ci=1 si la connexion existe sinon ci = 0
,,, 210 aaaam est la séquence de sortie
©2007 Landrault
Registre à décalage à rebouclage linéaire (généralisation)
,,, 210 aaaam est la séquence de sortie
m
mm xaxG
0
)( im
n
iim aca
1
n
i m
imim
ii
m
mim
n
ii xaxcxacxG
1 00 1
)(
n
i m
mm
ii
ii xaxaxaxcxG
1 0
11)(
n
i
ii
ii xGxaxaxcxG
1
11 )()(
©2007 Landrault
Registre à décalage à rebouclage linéaire (généralisation)
n
i
ii
n
i
ii
ii xaxaxcxGxcxG
1
11
1
)()(
n
i
ii
ii
n
i
ii
xc
xaxaxcxG
1
11
1
1)(
La séquence de sortie dépendtoujours de l’état initial
et du « cablage » du LFSRPolynôme
caractéristique
©2007 Landrault
Registre à décalage à rebouclage linéaire (généralisation)
pour un LFSR de n bascules, une séquence de longueur 2n-1est dite de longueur maximum
le polynôme caractéristique d’un LFSR à longueur maximum est dit polynôme primitif
il existe des polynômes primitifs pour toutes valeurs de n
en pratique on privilégie les polynômes primitifs avec peu de termes (surface plus faible)
©2007 Landrault
LFSR de longueur maximum (n=3)
001 100
111
010
+
110
011000
101
321 xxP(x) Q1 Q2 Q3
Séquence delongueur maximum État absorbant
©2007 Landrault
LFSR de longueur maximum
degré degré degré
1 0 13 4 3 1 0 25 3 0
2 1 0 14 12 11 1 0 26 8 7 1 0
3 1 0 15 1 0 27 8 7 1 0
4 1 0 16 5 3 2 0 28 3 0
5 2 0 17 3 0 29 2 0
6 1 0 18 7 0 30 16 15 1 0
7 1 0 19 6 5 1 0 31 3 0
8 6 5 1 0 20 3 0 32 28 27 1 0
9 4 0 21 2 0 33 13 0
10 3 0 22 1 0 34 15 14 1 0
11 2 0 23 5 0 35 2 0
12 7 4 3 0 24 4 3 1 0 36 11 0
1)( 141534 xxxxxP
Quelques polynômes primitifs pour 1 n 36
©2007 Landrault
Génération pseudo-aléatoire par automates cellulaires
Un automate cellulaire (AC) est une MEF dont l’état suivant est fonction de l ’état présent et des états des autres automates
En pratique, l ’état suivant est fonction de l ’état présent et de l ’état des cellules voisines
règle 90 : règle 150 :
)()()1( 111 tatata iii
)()()()1( 111 tatatata iiii
©2007 Landrault
Génération pseudo-aléatoire par automates cellulaires
CAO
CAI2
CAO
CAI1
CAO
CAI2
CAO
CAI1
CAO
CAI2
CAO
CAI1
CAO
CAI2
CAO
CAI1
LOGIQUE
Scan in Scan out
PO PO PO PO
PI PI PI PI
TDOTDI
CAI2CAI1
BISTTest interneTest externe échantillonnageScanNormal
5 modes de fonctionnementCellule élémentaire
©2007 Landrault
Génération pseudo-aléatoirepondérée
P1 ou P0 =0,5
++ +
C1 C2 C3 Cn
+
Cn-1
Q1 Q2 Q3 Qn-1 Qn
P1 = 0,25, P0 =0,75 P1 = 0,75, P0 =0,25
©2007 Landrault
Génération exhaustive
Utilisation de LFSR modifié
++ +C1 C2 C3 Cn
+Cn-1
Q1 Q2 Q3 Qn-1 Qn
NOR
©2007 Landrault
Génération exhaustive
+
Q1 Q2 Q3
001 100
111
010
110
011
000
101
©2007 Landrault
Génération déterministe
Génération d ’une séquence de test par ATPG (ou autre moyen)
génération de cette séquence par une structure matérielle : ROM : simple mais coûteux MEF : toujours simple et toujours coûteux recherches en cours
©2007 Landrault
BIST et taux de couverture
Description des circuits Longueur de la séquence de test pour obtenir le taux de couverture maximum
circuits Fonctions Nombre d’Entrées/Sorties
Nombre total de fautes
Nombre de fautes redondantes
déterministe aléatoire[
c432 Décodeur de priorité
36/7 864 4 41 2,5 103
c499 ECAT 41/32 998 8 61 1,9 103
c880 ALU + contrôle 60/26 1760 0 39 3,7 104
c1355 ECAT 41/32 2710 8 91 2,2 106
c1908 ECAT 33/25 3816 9 144 6,2 104
c2670 ALU + contrôle 157/140 5340 117 77 1,1 107
c3540 ALU + contrôle 50/22 7080 137 144 2,3 106
c5315 ALU + sélecteur 178/123 10630 59 90 5,3 104
c6288 Multiplieur 16 bits
33/32 12576 34 45 1,9 103
c7552 ALU + contrôle 206/108 15104 131 114 4,9 1011
©2007 Landrault
Amélioration du taux de couverture
Insertion de point de test (contrôle et observation) : Modification du circuit
Ajout de vecteurs supplémentaires déterministes : ROM (taille), Réinitialisation du LFSR, modifications de vecteurs aléatoires inutiles (bit flipping)
BIST Hybride où les vecteurs supplémentaires sont générés par le testeur
©2007 Landrault
Analyse intégrée des réponses
Vérification de la parité Compaction de la réponse par comptage :
comptage des 1 (0) comptage des transitions
Compaction de la réponse par LFSR
©2007 Landrault
Vérification de la parité
Circuit à tester Q
Initialisation de la bascule Détection des fautes simples sur un bit et d’erreurs en nombre
impair sur une chaîne de m bits
Probabilité de masquage
12
12
2
m
m
mP
©2007 Landrault
Vérification de la parité(plusieurs sorties)
Associer un vérificateur de parité à chaque sortie (coût élevé)
« groupage » des sorties avant compression (taux de masquage plus élevé)
Circuit à tester
Q
©2007 Landrault
Comptage des transitions
Simulations logiques du circuit sain et du circuit fautif
Comptage des transitions dans e circuit sain et le circuit fautif
©2007 Landrault
Comptage des transitions
Technique utilisée par HP dans les années 80 pour la maintenances des plaques
Probabilité de masquage pour une séquence de longueur m avec r transitions
12
11
2
m
r
m
Pm
Pm
r
0 m-1 Pm=0 pour 0 et m transitions L’objectif est donc de rendre le nombre de transitions du circuit sain ou très grand ou très petit
)1(
2max
mP
©2007 Landrault
Compaction par utilisation de LFSR : division polynomiale
La séquence de bits est assimilée à un polynôme Q(x) La signature sera le reste de la division de Q(x) par le polynôme
caractéristique du LFSR P(x) Q(x) = x6+x3+x2+1 P(x) = x3+x+1 reste (signature)
r(x) = x+1 (0011)
1001101 10111011 1010001010 1011 00011
©2007 Landrault
Division polynomiale : analogie avec les nombres entiers
Séquence de sortie : 1 3 0 5 6 7 6 4 1 On la considère comme 1305676641 la signature est le reste de la division par 99 soit 6
(cette signature est toujours < 99) si à la place on reçoit : 1 3 5 5 6 2 6 4 1 le reste sera
60 et les erreurs seront détectées en fait la séquence reçue est différente de la
séquence idéale par une erreur de 4995000 si l'erreur est divisible par 99 il y a masquage sinon
détection 1305676641 + 62865 (99x635) = 130630506
Reste 6 Reste 6
©2007 Landrault
Compaction par utilisation de LFSR (une seule sortie)
Taux de masquage faible et surtout « modulable »
de l’ordre de si n est le nombre de bascules
1D
H
Q 1D
H
Q 1D
H
Q 1D
H
Q s(t)
Q3Q2Q1 Q4
3 2 1 0
H
Entrée
nPm
2
1
©2007 Landrault
Compaction par utilisation de MISR (plusieurs sorties)
Taux de masquage faible et « modulable » Toujours de l’ordre de si n est le
nombre de basculesn
Pm2
1
1D
H
Q 1D
H
Q 1D
H
Q 1D
H
Q s(t)
Q3Q2Q1 Q4
3 2 1 0
Horloge
Z1
Z2 Z3 Z4
©2007 Landrault
Compaction par utilisation de MISR (plusieurs sorties)
L'approximation pour la probabilité de masquage est d'autant plus valable que la séquence à analyser est longue
Pour les séquences courtes toujours utiliser un polynôme primitif comme diviseur et éventuellement faire une vérification par simulation de fautes
nPm
2
1
©2007 Landrault
Mise en œuvreTest parallèle : « Test per clock »
Contrôle du test
Circuit sous Test
Eva
luat
ion
des
répo
nses
Gén
érat
ion
de
vect
eurs
Sortiesprimaires
Entréesprimaires
©2007 Landrault
Test parallèle : « Test per clock »
Utilisation de registres spéciaux pouvant fonctionner en quatre modes différents : fonction de bascule D (mode système) le registre effectue la génération autonome d'états
qui sont considérés comme vecteurs de test (mode génération de vecteurs de test)
le registre comprime la réponse du circuit (mode d'analyse de signature)
les états internes du registre peuvent être entrés et sortis en série (mode scan)
BILBO (Built-In Logic Block Observer) : Könemann, Mucha, Zwiehoff, 1979
©2007 Landrault
Registre BILBO
Z1 Z2
D
H
Q D
H
Q
B1
B2
Horloge
Q1 Q2
MUX
SCO
SCI
B1=B2=1, registre parallèle (entrées Zi et sorties Qi)
B1=B2=0, registre série (entrée SCI, sortie SCO)
B1=1 et B2=0, analyseur de signature parallèle (entrées Zi)
B1=1 et B2=0, générateur de vecteurs (entrées Zi constantes et sorties Q i)
Le circuit est remis à zéro en positionnant B1=0 et B2=1.
©2007 Landrault
Test parallèle Placement des registres de test
Le BIST s'effectue comme suit : en mode décalage les registres R1 et R2 sont initialisés R1 génère les vecteurs pour le circuit C1 dont les réponses sont compressées par R2 R2 travaille ensuite en générateur pour C2 alors que R1 compresse les réponses de C2 après compression les contenus de R1 et R2 doivent être décalés en mode série et comparés aux résultats
attendus
SDI SDO
R1 C1 R2 C2
©2007 Landrault
Test parallèle : Unité de test
Les registres de test ne peuvent pas être utilisés simultanément en générateur et analyseur
le nombre de registre doit donc être augmenté et le contrôle s'avère complexe
une unité de test est la portion minimum de circuit pouvant être testée indépendamment
une unité de test comprend le module à tester T, un registre de test pour l'analyse de la réponse et tous les registres de test générant en entrée les vecteurs de test au module T
©2007 Landrault
Exemple RTL et Unités de test
Registre Test 7
C
Test register 1
C
Registre Test 4
C
Registre Test 2
C
Registre Test 6
C
Registre Test 3
PI
PO
Registre Test 5
C
Registre Test 3 Registre Test 7
Registre Test 1
Registre Test 4
Registre Test 3
Registre Test 2
Registre Test 5
Registre Test 4 Registre Test 5
Registre Test 2
Registre Test 2 Registre Test 1
Registre Test 4
Registre Test 2
Test register 6
©2007 Landrault
Compatibilité des unités de test
Deux unités de test (UT) peuvent être activées simultanément s'il n'y a pas de conflit de ressources
conflit : un même registre doit simultanément générer des vecteurs et analyser des réponses
temps de test minimum correspond au parallélisme maximum
problème de couverture minimum appliqué au graphe d'incompatibilité de test où les nœuds sont les UT et les arcs les incompatibilités entre UT
©2007 Landrault
Procédure de BIST
Session de Test : UT effectuées en parallèle
Procédure de BIST : Sessions de test effectuées séquentiellement (en série)
L'unité de contrôle du BIST doit implémenter matériellement la procédure
©2007 Landrault
Registre Test 3 Registre Test 7
Registre Test 1
Registre Test 4
Registre Test 3
Registre Test 2
Registre Test 5
Registre Test 4 Registre Test 5
Registre Test 2
Registre Test 2 Registre Test 1
Registre Test 4
Registre Test 2
Registre Test 6
Test units
Control incompatibility graph
Sessions de Test
TR 1 TR 2
TR 5 TR 4
TR 6 TR 3
{TR1, TR2}{TR3}{TR4, TR5, TR6}
©2007 Landrault
« Test per clock »POUR et CONTRE
POUR temps de test réduit
le test à la vitesse nominale est possible
les tests utilisant deux vecteurs consécutifs sont envisageables moyennant l'utilisation de registres de test appropriés
CONTRE le surcoût matériel est élevé car les registres (BILBO) prennent plus de place qu'un scan avec générateur série
la partie contrôle est plus compliquée que dans le test per scan
l'insertion des registres de test à un impact sur les performances du système
©2007 Landrault
Mise en œuvreTest série : « Test per scan »
Contrôle du testCircuit
sous Test
Evaluation desréponses
Génération de vecteurs
Entréesprimaires
Registre de scan
Sortiesprimaires
©2007 Landrault
Partie contrôle du test série : « Test per scan »
module under test
MUT
scan pathTPG TRE
Compteur
de vecteur
Compteur
de bit
BCU
shift/capture
CT
TEND
1) TPG génère une séquence de bits et remplit le scan
2) Sur l'horloge de "capture" :- appliquer le contenu du scan path au MUT- charger la réponse du MUT dans le scan path
3) Décaler une nouvelle séquence de bits et compacter la réponse (TRE)
©2007 Landrault
« Test per scan »POUR et CONTRE
POUR convient à tout flot de conception commercial supportant le scan le matériel pour le BIST est extérieur au MUT d'où un faible impact sur les performances du système
le contrôle du BIST est simple
l'approche peut être facilement étendu au scan partiel et au scan multiple
en général, le surcoût matériel est plus faible que dans le schéma de "test per clock"
CONTRE temps de test long (entrée série)
de nombreuses fautes nécessitent deux vecteurs de test et ne peuvent pas être détecter par scan
le module sous test n'est pas testé à vitesse nominale
©2007 Landrault
Mise en œuvreTest série : «multiple scan »
Bardell and McAnney, 1984 ("STUMPS" à IBM) Réduction du temps de test Corrélation (dépendance linéaire) entre les signaux d'entrée (insertion de "Phase shifter")
+
+
......
TPG/LFSR
.....
.....
MUT
MISR
©2007 Landrault
Dépendance linéaire
Par construction les bits fournis par un LFSR sont linéairement dépendants
par exemple le test du collage à zéro de s nécessite a1 = a3 = a4 = 1
x1x0 x2
a5 x0+x1
a4 x0+x1+x2
a3 x0+x2
a2 x2
a1 x1
a0 x0
s
Donc x1= 1, x0 + x2= 1 et x0 + x1 + x2= 1 qui ne peuvent
être satisfaites simultanément
LFSR
©2007 Landrault
Insertion de "Phase Shifter"[Rajski, Tyszer] VLSI test Symposium1998
L F
S R
Chaîne de scan
Chaîne de scan
Chaîne de scan
Chaîne de scan
Chaîne de scan
M I
S R
Phase shifter Circuit sous test
Bonne séparation des chaînes avec 1 à 3 portes OUEX par chaîne
©2007 Landrault
Test intégré des mémoires
Mémoires RAM Quelques approches de test pseudo exhaustif En général utilisation d'algorithmes déterministe
de type "March"
Mémoires ROM
©2007 Landrault
Test des RAMLe modèle du circuit
Adresse
Décodeur d’adresse
Tableau des cellules mémoires
Logique de lecture/écriture
Données
Suffisant si l’on est pas intéressé par la localisation de la faute
Adresse Rafraîchissement
Logique derafraîchissement
Registre de donnéesAmplificateurs
Tableau des cellules mémoire
Décodeur de colonnes
Décodeur de lignes
Registre d'adressage
"Driver" d'écriture
Lecture/Ecriture
Données
Décodage d'adresse
Logique de lecture/écriture
©2007 Landrault
Fautes du décodeur d’adresse :Sous-type et occurrence
avec une certaine adresse aucune cellule est accédée
une certaine cellule n’est jamais accédée avec une certaine adresse plusieurs
cellules sont accédées une certaine cellule est accédée avec
plusieurs adresses
Une faute du décodeur d’adresse combine au moins deux sous-types
©2007 Landrault
Fautes du décodeur d’adresse exemples
Ax Cx
Sous-types 1 & 2
Ax Cx
Ay Cy
Sous-types 1 & 3
Ax Cx
Ay Cy
Sous-types 3 & 4
©2007 Landrault
Fautes dans le tableau de cellules : fautes de cellule
collage d’une cellule à 0 ou à 1 (CA)
collage ouvert d ’une cellule (SOF)
faute de transition d’une cellule (FT) elle ne peut effectuer une transition montante (FTM) ou
descendante (FTD)
faute de rétention de données (deux sous
types à 0 ou 1)
©2007 Landrault
Fautes dans le tableau de cellules : fautes entre cellules
fautes de couplage entre deux cellules (CF) : fautes de couplage d’inversion (2 sous-types) (CFin)
• la transition 0-1 (ou 1-0) de la case couplante fait passer la case couplée de x a x* (x = 0 ou 1)
fautes de couplage idempotente (4 sous-types) (CFid)• la transition 0-1 (ou 1-0) de la case couplante fait passer la case
couplée de x à x* mais pas de x* à x fautes de couplage d ’état (4 sous-types) (CFst)
• la cellule couplée est forcée à une valeur (0 ou 1) si la cellule couplante est à une certaine valeur (0 ou 1)
Rmq : fautes de couplages entre K cellules très complexes si aucune restriction sur la position respective des k cellules
fautes de voisinage (FV) fautes de couplages entre une cellule et ses cellules
voisines
©2007 Landrault
Test des mémoiresNotions de fautes liées
les fautes liées influencent la même cellule l’effet est un possible masquage de faute (donc
des tests plus complexes afin de les prendre en compte)
i j k l i k l
< ;1>
< ;0> < ;0>< ;1>
2 fautes de couplagesidempotentes
2 fautes de couplagesidempotentes liées
©2007 Landrault
Test des RAMLes algorithmes March
Tests pour les fautes de collage, les fautes de transition et les fautes de couplage Def1: un élément de March est une séquence finie
d’opérations appliquée à chaque cellule d’une mémoire en les parcourant soit en ordre croissant ( ) soit en ordre décroissant ( )
Un test March est une séquence finie d’éléments exemple : le test MATS+ en 5n
{ | (w0); (r0,w1); (r1,w0)}( | signifie que l’ordre d’adresses est indifférent)
©2007 Landrault
Exemple{ (r0,w1); (r1,w0) }
DEBUT{élément (r0,w1)}POUR i=0 à N-1
FAIRElire la cellule i (valeur attendue 0)écrire 1 dans la cellule i
FAIT{élément (r1,w0)}POUR i=N-1 à 0
FAIRElire la cellule i (valeur attendue 1)écrire 0 dans la cellule i
FAITFIN
©2007 Landrault
Test MarchConditions de détection
pour chaque type de faute on démontre les conditions à observer
fautes du décodeur d’adresse
(rx, ..., wx) et (rx, ..., wx) faute de collage et collage ouvert
(...,rx,...) et (..., rx, ..., rx, ...) fautes de rétention de données
{test March existant;Del; (r0,w1);Del; (r1)}
{test March existant;Del; (r0,w1,r1);Del; (r1,w0,r0)} .......
©2007 Landrault
Test March : Couverture de fautes
{ (w0); (r0,w1); (r1,w0); (r0,w1); (r1,w0);Del; (r0,w1);Del; (r1)}
Fautes de décodeurs d’adresses détectéesFautes de collage détectéesFautes de collage ouvert non détectées car (..., rx, ..., rx, ...) absentFautes de rétention de données détectéesFautes de transition (w0,...,w1,...,r1,...,w0,...,r0) détectéesFautes de couplage non détectées.......
©2007 Landrault
Les Tests de «March»
Nom Réf. Description de l'algorithme
MATS [NAI79] { (w0); (r0,w1);(r1)}
MATS+ [ABA83] {(w0);(r0,w1); (r1,w0)}
Marching 1/0 [BRE76] {(w0);(r0,w1,r1);(r1,w0,r0);(w1);(r1,w0,r0);(r0,w1,r1)}
MATS++ [VAN91] {(w0);(r0,w1);(r1,w0,r0)}
March X [VAN91] {(w0);(r0,w1);(r1,w0);(r0)}
March C- [MAR82] {(w0);(r0,w1);(r1,w0);(r0,w1);(r1,w0);(r0)}
March A [SUK81] {(w0);(r0,w1,w0,w1);(r1,w0,w1);(r1,w0,w1,w0);(r0,w1,w0)}
March Y [VAN91] {(w0);(r0,w1,r1);(r1,w0,r0);(r0)}
March B [SUK81] {(w0);(r0,w1,r1,w0,r0,w1);(r1,w0,w1);(r1,w0,w1,w0);(r0,w1,w0)}
March GS [VAN93] {(w0);(r0,w1,r1,w0,w1);(r1,w0,r0,w1);(r1,w0,w1,w0);(r0,w1,r1,w0);Del;(r0,w1,r1);Del;(r1,w0,r0)}
March M [MIK96] {(w0);(r0,w1,r1,w0);(r0);(r0,w1);(r1);(r1,w0,r0,w1,);(r1);(r1,w0)}
March LR [VAN96] {(w0);(r0,w1);(r1,w0,r0,w1);(r1,w0);(r0,w1,r1,w0,);(r0)}
March LRD [VAN96] {(w0);(r0,w1);(r1,w0,r0,w1);(r1,w0);(r0,w1,r1,w0,);(r0):Del;(r0,w1);Del;(r1)}
March LRDD [VAN96] {(w0);(r0,w1);(r1,w0,r0,w1);(r1,w0);(r0,w1,r1,w0,);(r0):Del;(r0,w1,r1);Del;(r1)}
©2007 Landrault
Test March etdétection de fautes
Algorithme Taux de couverture Temps de test
FA CA FT FC Autres Complexité
Test d'unemémoire de
1Mbits2
Zéro-un - L - - n 0,42s
Echiquier - L - - Rafraîchissement n 0,52s
1 balladeur L L L L n2 2,5j
GALPAT L L L L n2 5,1j
GALROW LQ L L L n3/2 7,2m
GALCOL LQ L L L n3/2 7,2m
MATS DQ D - - 4n 0,42s
MATS+ D D - - 5n 0,52s
Marching 1/0 D D D - 14n 1,5s
MATS++ D D D - 6n 0,63s
March X D D D D 6n 0,63s
March C- D D D D voir tr. suivant 10n 1,0s
March A D D D D id 15n 1,6s
March Y D D D D id 8n 0,85s
March B D D D D id 17n 1,8s
March GS D D D D id 24n+2T1 2,5s+2T1
March M D D D D id 16n 1,7s
March LR D D D D id 14n 1,5s
March LRD D D D D id 17n+2T1 1,8s+2T1
March LRDD D D D D id 18n+2T1 1,9s+2T1
D : Détection LQ : Localisation Quelques fautes
DQ : Détection Quelques fautes FA : Faute d'Adressage
L : localisation
1 : T est le temps nécessaire pour la mise en évidence de la faute de rétention de données, desrésultats empiriques [DEK90] montrent qu'une attente de 100 ms est suffisante2 : pour un temps de cycle de 100ns
©2007 Landrault
Test march et fautes liées
Types de fautes liées couvertes
Nom Longueur TFimpliquée
s
CFid#
CFid
CFidimpliquée
s
CFstimpli-quées
CFdst#
CFdst
CFdstimpli-quées
DRFimpli-quées
MATS 4n - - - - - - -
MATS+ 5n - - - - - - -
Marching 1/0 14n + - - + - - -
MATS++ 6n - - - - - - -
March X 6n - - - - - - -
March C- 10n - - - + - - -
March A 15n - + - + - - -
March Y 8n - - - - - - -
March B 17n + + - + - - -
March GS 24n+2T + + - + - - -
March M 16n + + + + - - -
March LR 14n + + + + + + -
March LRD 17n+2T + + + + + + +
March LRDD 18n+2T + + + + + + +
©2007 Landrault
Test des mémoires organisées en mot de b (>1) bits
Fautes de collage et de transition : pas de problème, utilisation d’un mot de fond et de son complément
Fautes de couplage :– pas de problèmes si les cellules couplées dans des
mots différents,– si les cellules couplées dans le même mot,
• si l’opération d’écriture est prépondérante sur la faute de couplage alors pas de pb
• si l’opération d’écriture est non prépondérante sur la faute de couplage, faute inversion pas de pb, faute idempotente utilisation de b mots de fond
©2007 Landrault
Test intégré déterministe de RAMArchitecture générale
….
….
MUX
Donnée entranteMots de fonds
Décodeur colonne
Décodeur colonne
Déc
odeu
r lig
ne
...contrôleur
Gén
érat
eur
d'ad
ress
es
comparateur
OK/OK
Générateurde données Donnée sortante
Plan mémoire
test/normal
©2007 Landrault
Algorithme de test des ROM
Algorithme en trois passes différent de ceux utilisés pour les RAM
Comparaison avec le circuit bon par compression de données (MISR)
Première passe : suivant les adresses croissantes lire la donnée et la compresser (vérification des données stockées et du décodage d'adresses)
Deuxième passe : suivant les adresses décroissantes lire la donnée et la compresser (vérification de la non présence d'opération de lecture destructrice dans le sens des adresses croissantes)
Troisième passe : suivant les adresses croissantes lire la donnée et la compresser (vérification de la non présence d'opération de lecture destructrice dans le sens des adresses décroissantes)
©2007 Landrault
Test intégré de ROMArchitecture générale
….
….MISR
Déc
odeu
r lig
ne
...contrôleur
Gén
érat
eur
d'ad
ress
es
comparateur
OK/OK
Signaturecorrecte
Donnée sortante
Plan mémoire
Décodeur colonne