©2007 landrault christian landrault [email protected] laboratoire dinformatique, de robotique et de...

69
©2007 Landrault Christian LANDRAULT [email protected] Laboratoire d’Informatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE BIST : “Built-In Self- Test”

Upload: gustave-nogues

Post on 04-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©2007 Landrault

Christian LANDRAULT

[email protected]

Laboratoire d’Informatique, de Robotique

et de Microélectronique de Montpellier

(LIRMM)

TEST INTEGREBIST : “Built-In Self-Test”

Page 2: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 3: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 4: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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)

Page 5: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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)

Page 6: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 7: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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)

Page 8: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 9: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 10: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 11: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 12: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 13: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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 )()(

Page 14: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 15: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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)

Page 16: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 17: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 18: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 19: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 20: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 21: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©2007 Landrault

Génération exhaustive

Utilisation de LFSR modifié

++ +C1 C2 C3 Cn

+Cn-1

Q1 Q2 Q3 Qn-1 Qn

NOR

Page 22: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©2007 Landrault

Génération exhaustive

+

Q1 Q2 Q3

001 100

111

010

110

011

000

101

Page 23: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 24: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 25: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 26: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 27: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 28: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 29: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 30: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 31: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 32: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 33: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 34: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 35: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 36: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 37: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 38: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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.

Page 39: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 40: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 41: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 42: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 43: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 44: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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}

Page 45: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 46: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 47: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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)

Page 48: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 49: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 50: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 51: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 52: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 53: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 54: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 55: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 56: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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)

Page 57: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 58: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 59: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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)

Page 60: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 61: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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)} .......

Page 62: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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.......

Page 63: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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)}

Page 64: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 65: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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 + + + + + + +

Page 66: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 67: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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

Page 68: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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)

Page 69: ©2007 Landrault Christian LANDRAULT landraul@lirmm.fr Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) TEST INTEGRE

©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