Vous êtes sur la page 1sur 23

Chapitre 7

Conception en Vue du Test :


Test Intégré (BIST)

Abdelhakim Khouas

Département de Génie Électrique


École Polytechnique de Montréal

Plan

)C’est quoi le test intégré (BIST) ?


)Méthodes et techniques de génération des
vecteurs de test
)LFSR « Linear Feedback Shift Register »
)Techniques d’analyse des réponses
)MISR « Multiple Input Signature Analyser »
)BILBO « Built In Logic Block Observer »

ELE6306 – Chap. 7 : Test intégré (BIST) 1 © A. Khouas

C’est quoi le test intégré (BIST) ?

) Test intégré « Built In Self Test » BIST


¾ Le principe du BIST consiste à ajouter de la circuiterie pour permettre
au circuit ou au système de se tester tout seul (Auto-Test).
¾ Méthode utilisée pour :
ª Les mémoires
ª Les circuits analogiques
ª Les circuits combinatoires et séquentiels
ª Les systèmes on chip « SOC »

) Architecture générale du BIST


¾ Générateur de vecteurs de test pseudo-aléatoire « PRPG »
¾ Analyseur de réponses
¾ Partie contrôle

ELE6306 – Chap. 7 : Test intégré (BIST) 2 © A. Khouas

1
C’est quoi le test intégré ? (suite)

)Avantages :
¾ Génération interne des vecteurs de test, amélioration de
contrôlabilité
¾ Analyse interne des réponses, amélioration d’observabilité
¾ Test on-line et off-line
¾ Équipements de test simples ou pas d’équipement de test
¾ Test à la fréquence d’utilisation
™ Plus rapide
™ Plus précis
™ Permet le test réel des délais
¾ Hiérarchisation des tests
¾ Réutilisation des structures de test

ELE6306 – Chap. 7 : Test intégré (BIST) 3 © A. Khouas

C’est quoi le test intégré ? (suite)

)Inconvénients :
¾ Augmentation de la surface
ª Mémoire de 4096 mots de 128 bits de l’ordre de 13%

¾ Dégradation des performances


ª ROM de 256 Kbits de l’ordre de 6%

¾ Ajout de pins d’entrée/sortie

ELE6306 – Chap. 7 : Test intégré (BIST) 4 © A. Khouas

C’est quoi le test intégré ? (suite)

)Il existe deux types de BIST


¾ Off-line BIST
ª Le test est effectué pendant le mode test
ª Deux différents tests :
™ Off-line fonctionnel : Pour le diagnostic
™ Off-line structurel : Détection des défauts de fabrication
¾ On-line BIST
ª Letest s’effectue durant le fonctionnement normal du circuit
ª Détecte les défauts pendant le fonctionnement normal du circuit
ª Deux différents tests :
™ On-line concurrent

™ On-line non concurrent

ELE6306 – Chap. 7 : Test intégré (BIST) 5 © A. Khouas

2
Architecture générale du BIST

PIs
CUT POs

Générateur
Analyseur
PRPG

Contrôle

Ctrl

ELE6306 – Chap. 7 : Test intégré (BIST) 6 © A. Khouas

Méthodes de génération

)Méthodes de génération :
¾ Génération exhaustive/pseudo-exhaustive
¾ Génération aléatoire/pseudo-aléatoire
¾ Génération déterministe
¾ Génération fonctionnelle
)Techniques d’application des vecteurs
¾ Manuel
¾ ATE « Automatic Test Equipement »
¾ Interne (cas du BIST)

ELE6306 – Chap. 7 : Test intégré (BIST) 7 © A. Khouas

Techniques de génération pour le BIST

)Il existe plusieurs techniques de génération et


d’application des vecteurs de test pour le BIST
¾ Registres à décalage « LFSR »
ª Pour la génération aléatoire et exhaustive
¾ Conteurs binaires
ª Pour la génération exhaustive
¾ ROMs « Prestored TPG »
ª Pour la génération déterministe ou fonctionnelle
¾ Techniques adaptatives
ª Pour la génération aléatoire pondérée dynamiquement
¾ Automates cellulaires
ª Pour la génération aléatoire

ELE6306 – Chap. 7 : Test intégré (BIST) 8 © A. Khouas

3
« Linear Feedback Shift Register » LFSR
)Les registres à décalage à rebouclage linéaire « LFSR »
sont des circuits logiques contenant les composants
suivants :
¾ 1- Bascules D « D Flip-Flops »
¾ 2- Additionneurs modulo-2 « XOR »
)Propriétés du LFSR :
¾ Cyclique
ª Le circuit revient à son état initial pour un nombre suffisant de
coups d’horloge
¾ Période
ª La période du LFSR est comprise entre 1 et 2n-1, n est le nombre de
bascules D (longueur du LFSR ou nombre d’étages)

ELE6306 – Chap. 7 : Test intégré (BIST) 9 © A. Khouas

Exemples de registres à décalage


Cyclic SR Feedback Shift Register Maximal-Length FSR

S0 : 0 1 1 S0 : 0 1 1 S0 : 0 1 1
S1 : 1 0 1 S1 : 0 0 1 S1 : 0 0 1
S2 : 1 1 0 S2 : 1 0 0 S2 : 1 0 0
---------------------------- S3 : 1 1 0 S3 : 0 1 0
S0 : 0 1 1 ---------------------------- S4 : 1 0 1
S0 : 0 1 1 S5 : 1 1 0
S6 : 1 1 1
----------------------------
S0 : 0 1 1

ELE6306 – Chap. 7 : Test intégré (BIST) 10 © A. Khouas

Exemples de registres à décalage (suite)


Maximal-Length FSR Maximal-Length FSR

S0 : 1 1 1 S0 : 0 0 0
S1 : 0 1 1 ----------------------------
Cyclique
S2 : 0 0 1 S0 : 0 0 0
S3 : 1 0 0 de
S4 : 0 1 0 longueur
S5 : 1 0 1 23 − 1
S6 : 1 1 0
----------------------------
S0 : 1 1 1

ELE6306 – Chap. 7 : Test intégré (BIST) 11 © A. Khouas

4
Architecture d’un LFSR standard

......

C1 C2 CN-1 CN

D1 D2 ...... DN-1 DN

Y1 Y2 YN-1 YN

Architecture générale d’un LFSR standard

ELE6306 – Chap. 7 : Test intégré (BIST) 12 © A. Khouas

Architecture d’un LFSR standard (suite)

 Y1 (t + 1)  C1 C2 C3 C4 ...... Cn − 2 Cn −1 1   Y1 (t ) 
   0 0   Y2 (t ) 
 Y2 (t + 1)   1 0 0 0 ...... 0
 Y3 (t + 1)   0 1 0 0 ...... 0 0 0   Y3 (t ) 
     
 . = . . . . ...... . . .  . 
×
 .  . . . . ...... . . .  . 
     
 .   . . . . ...... . . .  . 
Y (t + 1)   0 0 0 0 ...... 1 0 0  Y (t ) 
 n −1
    n−1 
 Yn (t + 1)   0 0 0 0 ...... 0 1 0   Yn (t ) 

Équation matricielle d’un LFSR standard

ELE6306 – Chap. 7 : Test intégré (BIST) 13 © A. Khouas

Fonction génératrice

......

C1 C2 CN-1 CN

D1 D2 ...... DN-1 DN {am} = {…….a2 a1 a0}

Y1 Y2 YN-1 YN

)Pour un LFSR d’ordre n :


a0 , a1 , a2 ,..., an−1 : sont les valeurs initiales des registres
an = C1 .an−1 ⊕ C2 .an−2 ⊕ ... ⊕ Cn .a0
#

n
am = ∑ Ci am −i pour m ≥ n
i =1

ELE6306 – Chap. 7 : Test intégré (BIST) 14 © A. Khouas

5
Fonction génératrice (suite)

......

C1 C2 CN-1 CN

D1 D2 ...... DN-1 DN {am} = {…….a2 a1 a0}


am = ∑i =1 Ci am −i pour m ≥ n
n

Y1 Y2 YN-1 YN

)On appelle fonction génératrice du LFSR :


G ( X ) = a0 ⊕ a1 X ⊕ a2 X 2 ⊕ ... ⊕ am X m ⊕ ...

= ∑ am X m (dans la suite on utilisera + au lieu de ⊕)
m =0
ELE6306 – Chap. 7 : Test intégré (BIST) 15 © A. Khouas

Polynôme caractéristique

......

C1 C2 CN-1 CN

D1 D2 ...... DN-1 DN

Y1 Y2 YN-1 YN

)On appelle polynôme caractéristique du LFSR


n
P ( X ) = 1 + ∑ Ci X i
i =1

= 1 + C1 X + C2 X 2 + ..... + Cn −1 X n −1 + Cn X n
ELE6306 – Chap. 7 : Test intégré (BIST) 16 © A. Khouas

Exemples de LFSR
P(X)= 1+X+X2+X3 P(X)= 1+X+X3 P(X)= 1+X2+X3

S0 : 0 1 1 S0 : 0 1 1 S0 : 0 1 1
S1 : 0 0 1 S1 : 1 0 1 S1 : 0 0 1
S2 : 1 0 0 S2 : 0 1 0 S2 : 1 0 0
S3 : 1 1 0 S3 : 0 0 1 S3 : 0 1 0
---------------------------- S4 : 1 0 0 S4 : 1 0 1
S0 : 0 1 1 S5 : 1 1 0 S5 : 1 1 0
S6 : 1 1 1 S6 : 1 1 1
---------------------------- ----------------------------
S0 : 0 1 1 S0 : 0 1 1

ELE6306 – Chap. 7 : Test intégré (BIST) 17 © A. Khouas

6
Théorie des LFSRs

)On peux montrer que :

∑C X (a−i X −i + ..... + a−1 X −1 )


i
i
G( X ) = i =1
n
1 + ∑ Ci X i
i =1

avec : a−1 , a− 2 ,..., a− n les valeurs initilaes des registres

)Pour =a-1= a-2= …. a-n-1=0 et a-n=1, on :


G( X ) = 1 = 1
n
P( X )
1 + ∑ Ci X i
i =1
ELE6306 – Chap. 7 : Test intégré (BIST) 18 © A. Khouas

Théorie des LFSRs (suite)

)Comme G(X) est périodique de période p, alors on a :


G ( X ) = A( X )+ X p A( X )+ ... + X pi A( X ) + ...

A( X )
= A( X )∑ X pi =
i =0 1− X p
Comme G ( X ) = 1 ⇒ 1 − X p = A( X ) P ( X )
P( X )
)Si p est la période du LFSR, alors le polynôme
p
caractéristique P(X) divise (1-X )
)Théorème :
¾ La période d’un LFSR de polynôme caractéristique P(X)
k
est le plus petit entier k tel que P(X) divise (1- X )

ELE6306 – Chap. 7 : Test intégré (BIST) 19 © A. Khouas

Polynômes primitifs

)Définition : Polynôme primitif


¾ C’est un polynôme caractéristique qui permet d’avoir la période
maximum qui est 2n-1

)Définition : Polynôme irréductible


¾ C’est un polynôme caractéristique qui est aussi premier, il n ’est
divisible que par 1 et lui même, il est caractérisé par :
™ Il a un nombre impair de termes
k n
™ S ’il est de degré n, alors il divise (1+X ) avec k=2 -1

)Théorème
¾ Un polynôme irréductible P(X) est primitif si le plus petit entier
positif k tel que P(X) est un diviseur de (1+Xk) est la valeur k=(2n-1)
avec n le degré du polynôme P(X)

ELE6306 – Chap. 7 : Test intégré (BIST) 20 © A. Khouas

7
Polynômes primitifs (suite)

Valeurs de N Polynômes primitifs


------------------ -----------------------------
1,2,3,4,6,7,15,22 1 + X + Xn
5,11, 21, 29 1 + X2 + Xn
10,17,20,25,28,31 1 + X3 + Xn
9 1 + X4 + Xn
23 1 + X5 + Xn
18 1 + X7 + Xn
8 1 + X2 + X3 + X4 + Xn
12,14,16 1 + X + X3 + X4 + Xn
13 1 + X + X4 + X6 + Xn

ELE6306 – Chap. 7 : Test intégré (BIST) 21 © A. Khouas

Polynômes primitifs (suite)

)Les polynômes de degré 3 sont :


¾ P(X)=1+X3
¾ P(X)=1+X+X3 primitif
2 3
¾ P(X)=1+X +X primitif
2 3
¾ P(X)=1+X+X +X
™ (1+X3) = (1+X)(1+X+X2) et (1+X+X2+X3 )=(1+X)(1+ X2)

)Il existe plusieurs polynômes primitifs de degré n,


mais il est avantageux d’utiliser celui qui a le moins
de termes car il nécessite moins de portes xor.

ELE6306 – Chap. 7 : Test intégré (BIST) 22 © A. Khouas

Propriétés des générateurs LFSR


)La séquence des vecteurs générés par un LFSR ayant
un polynôme primitif d’ordre n à les propriétés
suivantes :
™ La période de la séquence est 2n -1
™ Si on initialise le LFSR à une valeur différente de 0, le LFSR
génère tous les vecteurs possibles (sauf 0) avant de revenir au
vecteur initial
™ La séquence de longueur (2n -1) a 2n-1 1s et (2n-1 -1) 0s
™ La séquence de longueur (2n -1) a (2n-1 -1)transitions

)Pour la génération pseudo-aléatoire, le LFSR est l’un


des meilleurs générateurs
ELE6306 – Chap. 7 : Test intégré (BIST) 23 © A. Khouas

8
Types de LFSR

)Type 1 : LFSR standard « xor externes »


......

C1 C2 CN-1 CN =1

D1 D2 ...... DN-1 DN

Y1 Y2 YN-1 YN

n
P( X ) = 1 + ∑ Ci X i = 1 + C1 X + C 2 X 2 + ..... + C n −1 X n −1 + Cn X n
i =1

ELE6306 – Chap. 7 : Test intégré (BIST) 24 © A. Khouas

Types de LFSR (suite)

 Y1 (t + 1)  C1 C2 C3 C4 ...... Cn − 2 Cn −1 1   Y1 (t ) 
   0 0   Y2 (t ) 
 Y2 (t + 1)   1 0 0 0 ...... 0
 Y3 (t + 1)   0 1 0 0 ...... 0 0 0   Y3 (t ) 
     
 . = . . . . ...... . . .  . 
×
 .  . . . . ...... . . .  . 
     
 .   . . . . ...... . . .  . 
Y (t + 1)   0 0 0 0 ...... 1 0 0  Y (t ) 
 n −1
    n−1 
 Yn (t + 1)   0 0 0 0 ...... 0 1 0   Yn (t ) 

Équation matricielle d’un LFSR standard (XOR externe)

ELE6306 – Chap. 7 : Test intégré (BIST) 25 © A. Khouas

Types de LFSR (suite)

)Type 2 : LFSR dual « xor internes »

1= CN CN-1 CN-2 C2 C1

D1 D2 ...... DN-1 DN

Y1 Y2 YN-1 YN

n −1
P( X ) = 1 + C1 X + C2 X + ..... + Cn −1 X
2
+ Cn X n

ELE6306 – Chap. 7 : Test intégré (BIST) 26 © A. Khouas

9
Types de LFSR (suite)

 Y1 (t + 1)  0 0 0 0 ...... 0 0 1   Y1 (t ) 
 Y (t + 1)  1 0 0 0 ...... 0 0 Cn − 2   Y2 (t ) 
 2  
 Y3 (t + 1)  0 1 0 0 ...... 0 0 Cn −1   Y3 (t ) 
     
 .  = . . . . ...... . . .   . 
×
 .  . . . . ...... . . .   . 
     
 .  . . . . ...... . . .   . 
Y (t + 1)  0 0 0 0 ...... 1 0 C2  Yn −1 (t ) 
 n −1     
 Yn (t + 1)  0 0 0 0 ...... 0 1 C1   Yn (t ) 

Équation matricielle d’un LFSR dual (XOR interne)

ELE6306 – Chap. 7 : Test intégré (BIST) 27 © A. Khouas

Types de LFSR (suite)

)LFSR C1 C2 C3 C4=1

standard D1 D2 D3 D4

Y1 Y2 Y3 Y4

C4=1 C3 C2 C1
)LFSR dual
D1 D2 D3 D4

Y1 Y2 Y3 Y4

ELE6306 – Chap. 7 : Test intégré (BIST) 28 © A. Khouas

Architecture générale du BIST

PIs
CUT POs

PRPG
Analyseur
(LFSR)

Contrôle

ELE6306 – Chap. 7 : Test intégré (BIST) 29 © A. Khouas

10
Analyse des réponses

PRPG
(LFSR)

DUT
Contrôle Référence
#N vecteurs

OK/KO

Analyseur Résultat

ELE6306 – Chap. 7 : Test intégré (BIST) 30 © A. Khouas

Analyse des réponses (suite)

)But
¾ Trouver un moyen de comparer les réponses du circuit sous test avec
les réponses du circuit correct pour pouvoir détecter les circuits
défectueux. Les paramètres importants à considérer sont :
™ L’algorithme utilisé doit être facile à implémenter
™ Le temps d ’analyse des résultats doit être très rapide
™ Minimiser la longueur du résultat à stocker
™ Minimiser la perte d’information

)Problématique de l’analyse des réponses


¾ Compression (réversible) et stockage trop coûteux
¾ Compaction (irréversible) engendre le problème de masquage de
fautes

ELE6306 – Chap. 7 : Test intégré (BIST) 31 © A. Khouas

Analyse des réponses (suite)


)Masquage de fautes
¾ Soit C(m) la fonction de compression (compaction) utilisée pour n
vecteurs
¾ On appelle « signature » le résultat de la fonction C(m)
¾ Une faute est masquée si la fonction C(m) donne la même
signature pour le circuit fautif et le circuit correct. Conséquences :
™ Pour le test, il est impossible de détecter la faute malgré
que la séquence de test détecte la faute
™ Pour le diagnostic, il est impossible de différencier deux
fautes qui ont la même signature

)Une des mesures importantes de la qualité d’une


technique de compression est la probabilité de
masquage de fautes
ELE6306 – Chap. 7 : Test intégré (BIST) 32 © A. Khouas

11
Analyse des réponses (suite)

)Il existe plusieurs techniques d’analyse des réponses


qui sont :
¾ Contage de un « Ones counting »
¾ Contage de transitions « Transitions counting »
¾ Vérification de la parité « Parity checking »
¾ Compression cyclique « Cyclic code compression »
¾ Analyse de signatures « Signature analysis »
ª en utilisant un registre LFSR
ª en utilisant un registre MISR
ª en utilisant un registre BILBO

ELE6306 – Chap. 7 : Test intégré (BIST) 33 © A. Khouas

Contage de un

R = rn ...r2 r1
Compteur de 1 Référence
DUT
....

....

#n vecteurs
Compteur de 1 Référence

n
La fonction de compression est : 1C(R) = ∑ ri = r on a 0≤r≤n
i =1
 n n!
Le nombre de séquence R' de n bits ayant 1C(R') = r est :   =
 r  r!( n − r )!
 n
 r  − 1
La probabilité de masquage de fautes est : P (n / r ) =  n
2 −1
ELE6306 – Chap. 7 : Test intégré (BIST) 34 © A. Khouas

Contage de un (suite)

R1 = r1,n ...r1,1
m sorties

DUT Convertisseur
....
....

Compteur de 1
#n vecteurs parallèle/série
Rm = rm ,n ...rm ,1

Référence
m n
La fonction de compression est : 1C(R) = ∑ ∑ r j,i = r on a 0 ≤ r ≤ n.m
j =1 i =1
) Avantage :
¾ Diminue la surface additionnelle
) Inconvénients :
¾ Augmente le temps d’application des tests
¾ Augmente la probabilité de masquage de fautes

ELE6306 – Chap. 7 : Test intégré (BIST) 35 © A. Khouas

12
Contage de un (suite)

00000000 = R f 2 1C ( R f 2 ) = 0
11000000 = R f 1 1C ( R f 1 ) = 2
11110000
& 10000000 = Rcc 1C ( Rcc ) = 1
11001100
& Compteur de 1
10101010

1C(RC.C. )=1

La probabilité de masquage de fautes est : P(8 / 1) =


( )−1 =
8
1 7 = 0,02745
28 − 1 255

) On remarque que la probabilité de masquage est plus faible pour


les valeurs extrêmes de 1C(RC.C). Si 1C(RC.C)=0 ou 8 alors P=0

ELE6306 – Chap. 7 : Test intégré (BIST) 36 © A. Khouas

Contage de transitions

R = rn ...r2 r1
D 1C Réf.
DUT
....

....

#n vecteurs
Compteur de 1
Détecteur de transition

n −1
La fonction de compression est : TC(R) = ∑ (ri ⊕ ri +1 ) = r on a 0 ≤ r ≤ ( n − 1)
i =1

 n − 1
2  −1
r 
La probabilité de masquage de fautes est : P (n / r ) =  n 
2 −1

ELE6306 – Chap. 7 : Test intégré (BIST) 37 © A. Khouas

Contage de transitions (suite)

00000000 = R f 2 TC ( R f 2 ) = 0
11000000 = R f 1 TC ( R f 1 ) = 1
11110000
& 10000000 = Rcc TC ( Rcc ) = 1
11001100
& Comp. de trans.
10101010

TC(RC.C. )=1

La probabilité de masquage de fautes est : P(8 / 1) =


2 −1()
7
1
= 14 = 0,055
28 − 1 255
) On remarque que, dans ce cas, la probabilité de masquage est plus grande
que pour la technique de contage de 1.
) On ne peux pas détecter la faute f1

ELE6306 – Chap. 7 : Test intégré (BIST) 38 © A. Khouas

13
Vérification de la parité

R = rn ...r2 r1
D 1 bit Réf.
DUT
....
....

#n vecteurs

La fonction de compression est : PC(R) = r0 ⊕ r1 ⊕ ... ⊕ ri PC ( R) = 0 ou 1


n −1
La probabilité de masquage de fautes est : P(n) = 2 n − 1 ≈ 0,5
2 −1

ELE6306 – Chap. 7 : Test intégré (BIST) 39 © A. Khouas

Vérification de la parité (suite)

00000000 = R f 2 PC ( R f 2 ) = 0
11000000 = R f 1 PC ( R f 1 ) = 0
11110000
& 10000000 = Rcc PC ( Rcc ) = 1
11001100
& Vérif. de par.
10101010

1C(RC.C. )=1

7
La probabilité de masquage de fautes est : P(8) = 28 −1 = 14 = 0,498
2 − 1 255
) On remarque que la probabilité de masquage est plus grande que pour la
technique de contage de transition, mais on détecte les deux fautes de
l’exemple.

ELE6306 – Chap. 7 : Test intégré (BIST) 40 © A. Khouas

Analyse de signatures

)L’analyse de signature est une technique de


compression basée sur l’utilisation des registres à
décalage
¾ La forme la plus simple de cette méthode consiste à
utiliser un LFSR à une entrée
¾ La signature est le contenu du LFSR après avoir entré le
dernier bit de la séquence à analyser

ELE6306 – Chap. 7 : Test intégré (BIST) 41 © A. Khouas

14
Analyse de signatures (suite)

)Théorie des polynômes )Exemple


Soit deux polynômes : G ( X ) et P( X ) G(X) = X 7 + X 3 + X
La division de G(X) par P(X) produit : P(X) = X 5 + X 3 + X + 1
un quotient Q( X )
et un reste R( X ) on a donc : X7 + X3 + X X 5 + X 3 + X +1
⊕ X7 + X5 + X3 + X 2 −−−−−−−−−−−
G( X ) R( X ) −−−−−−−−−−−−− X 2 +1
= Q( X ) + ou
P( X ) P( X ) X5+ X2 + X
G ( X ) = Q( X ) P ( X ) + R( X ) ⊕ X 5 + X 3 + X +1
−−−−−−−−−−−−−
La fonction de division par P(X) est réalisé X 3 + X 2 +1
par un LFSR de polynôme carctéristique P(X)
Q( X ) = X 2 + 1 R( X ) = X 3 + X 2 + 1

ELE6306 – Chap. 7 : Test intégré (BIST) 42 © A. Khouas

Analyse de signatures (suite)

....

Q( X )
G( X )
....

Soit P( X ) le polynôme caractéristique du LFSR


I ( X ) = 0 l' état initial du LFSR
R( X ) l' état final du LFSR alors on a :

G( X ) R( X )
= Q( X ) + ou
P( X ) P( X )
G ( X ) = Q( X ) P( X ) + R( X )

ELE6306 – Chap. 7 : Test intégré (BIST) 43 © A. Khouas

Analyse de signatures (suite)


P*(X)= 1+X+X4
)Exemple
G(X) = X 7 + X 3 + X 2 + X ⇒ 10001110
G( X )
P(X) = X 4 + X + 1

X7 + X3 + X2 + X X 4 + X +1 Y1 Y2 Y3 Y4

⊕ X7 + X4 + X3 −−−−−−−−−
−−−−−−−−−−−− X 3 +1
G(X) Y1 Y2 Y3 Y4 Q(X)
___________________________________________
X4+ X2+X
0 0 0 0
⊕ X 4 + X +1 1 1 0 0 0
−−−−−−−−−−−− 0 0 1 0 0
X 2 +1 0 0 0 1 0
0 1 0 0 1
1 0 1 0 0 1
Q ( X ) = X 3 + 1 ⇒ 1001
1 1 0 1 0 0
R ( X ) = X 2 + 1 ⇒ 0101 1 0 1 0 1 0
0 1 0 1 0 1
ELE6306 – Chap. 7 : Test intégré (BIST) 44 © A. Khouas

15
Analyse de signatures avec LFSR

....

LFSR
DUT R = rn ...r1r0
....

....
#n vecteurs

Signature = état final du LFSR

La signature de la séquence R est : R(X) = état final du registre


n −m 1
La probabilité de masquage de fautes est :P ( n) = 2 n − 1 ≈ m
2 −1 2
avec m = longueur du LFSR

ELE6306 – Chap. 7 : Test intégré (BIST) 45 © A. Khouas

Analyse de signatures avec LFSR (suite)

)Pour un circuit à plusieurs sorties R1 … Rm il existe


plusieurs adaptations de la technique d’analyse de
signatures avec un LFSR qui sont :
¾ 1- LFSR avec un multiplexeur
¾ 2- LFSR avec un XOR
¾ 3- LFSR à entrées multiples MISR

ELE6306 – Chap. 7 : Test intégré (BIST) 46 © A. Khouas

Analyse de signature (suite)

....

DUT
....

....

LFSR
#n vecteurs ....

LFSR avec un XOR

....

DUT
....
....

LFSR
#n vecteurs ....

LFSR avec un multiplexeur

ELE6306 – Chap. 7 : Test intégré (BIST) 47 © A. Khouas

16
Analyse de signature avec MISR

R1 = r1,n ...r1,1
m sorties MISR
DUT ....
....

avec Référence
#n vecteurs
m étages
Rm = rm,n ...rm,1
n− m 1
P ( n) = 2 n − 1 ≈ m
2 −1 2

) Multiple Input Shift Register « MISR »


¾ On utilise un MISR pour analyser plusieurs sorties à la fois

) Avantages
¾ Diminue la surface additionnelles (par rapport à plusieurs LFSRs)
¾ Diminue le temps de test (par rapport au LFSR avec multiplexeur)

ELE6306 – Chap. 7 : Test intégré (BIST) 48 © A. Khouas

Multiple Input Shift Register MISR

R1 R2 R3 .... Rm-1 Rm

D1 D2 .... Dm-1 Dm

1= Cm Cm-1 Cm-2 C2 C1

) Le polynôme caractéristique du MISR peut être non primitif,


mais des études ont montré que les MISRs avec des polynômes
caractéristiques primitifs ou complexes sont meilleurs
ELE6306 – Chap. 7 : Test intégré (BIST) 49 © A. Khouas

MISR (suite)

 D1 (t + 1)  0 0 0 0 ...... 0 0 1   D1 (t )   R1 (t ) 
 D (t + 1)  1 0 0 0 ...... 0 0 Cn − 2   D2 (t )   R2 (t ) 
 2  
 D3 (t + 1)  0 1 0 0 ...... 0 0 Cn −1   D3 (t )   R3 (t ) 
       
 .  = . . . . ...... . . .   .   . 
× ⊕
 .  . . . . ...... . . .   .   . 
       
 .  . . . . ...... . . .   .   . 
 D (t + 1)  0 0 0 0 ...... 1 0 C2   D (t )   R (t ) 
 m −1
    m −1   m −1 
 Dm (t + 1)  0 0 0 0 ...... 0 1 C1   Dm (t )   Rm (t ) 

Équation matricielle d’un MISR

ELE6306 – Chap. 7 : Test intégré (BIST) 50 © A. Khouas

17
Built-In Logic Block Observer « BILBO »
)Combine les registres avec scan, le générateur de
vecteurs de test et l’analyseur de signature
)Quatre modes de fonctionnement
¾ Normal
¾ Générateur LFSR et analyseur de signature MISR
¾ SCAN et Reset R i

C1
Mode Fonction
C1 C2
&
Qi
0 0 SCAN
C2 + DDi
0 1 Reset +
1 0 LFSR/MISR Qi −1 Qi
1 1 Normal

Modes de fonctionnement Cellule BILBO

ELE6306 – Chap. 7 : Test intégré (BIST) 51 © A. Khouas

Built-In Logic Block Observer (suite)


D1 .... Dm

C1

C2
&
&

Qm
Q1
.... + Dm SO
SI + +
+ D1 Q1 Qm−1

C1 1= CN

......

ELE6306 – Chap. 7 : Test intégré (BIST) 52 © A. Khouas

Built-In Logic Block Observer (suite)


) C1=C2=0 (Scan)

SI D1 D2 .... Dm-1 Dm SO

Q1 Q2 Qm-1 Qm

) C1=C2=1 (normal)
D1 D2 Dm-1 Dm

D1 D2 .... Dm-1 Dm

Q1 Q2 Qm-1 Qm

ELE6306 – Chap. 7 : Test intégré (BIST) 53 © A. Khouas

18
BIST avec LFSR et MISR

PIs
Circuit
POs
combinatoire

LFSR MISR

Contrôle
ROM

ELE6306 – Chap. 7 : Test intégré (BIST) 54 © A. Khouas

BIST avec LFSR et MISR et Scan-Path

PIs
Circuit
POs
combinatoire

SI LFSR MISR SO

Test intégré avec LFSR, MISR et Scan-Path

) On utilise le mode scan pour initialiser le LFSR et lire la signature


finale du circuit

ELE6306 – Chap. 7 : Test intégré (BIST) 55 © A. Khouas

BIST pour les circuits séquentiels

PIs
Circuit
POs
séquentiels

....

SI LFSR MISR1 MISR2 SO

Test intégré avec LFSR et MISR pour les circuits séquentiels

) Le MISR1 est utilisé au même temps comme analyseur de


signature et PRPG (générateur de vecteur de test pseudo-aléatoire)

ELE6306 – Chap. 7 : Test intégré (BIST) 56 © A. Khouas

19
MISR comme PRPG
Nombre de vecteurs différents

2n
LFSR MISR

2n-1

0
2n 2n+1
Nombre de vecteurs générés

ELE6306 – Chap. 7 : Test intégré (BIST) 57 © A. Khouas

Test intégré avec BILBO

PIs
Comb 1

Comb 2
BILBO
....
....

POs

SI LFSR MISR2 SO

Test intégré avec BILBO pour les circuits séquentiels


) Le BILBO remplace les registres du circuit séquentiel, et est utilisé
comme, générateur de vecteur de test LFSR et analyseur de
signature MISR
ELE6306 – Chap. 7 : Test intégré (BIST) 58 © A. Khouas

Exemple d’architecture de BIST


A1 A2
8 8

Multiplieur
16

R1
16 16

6
Contrôle ALU

Sortie
16
R2

ELE6306 – Chap. 7 : Test intégré (BIST) 59 © A. Khouas

20
Exemple d’architecture de BIST : solution 1
A1 A2
PRPG

Multiplieur
16

BILBO
16
PRPG
PRPG

Contrôle ALU

Sortie
16
MISR

ELE6306 – Chap. 7 : Test intégré (BIST) 60 © A. Khouas

Exemple d’architecture de BIST : solution 2


A1 A2
PRPG

Multiplieur
16

R2
16
PRPG
PRPG

Contrôle ALU

Sortie
16
MISR

ELE6306 – Chap. 7 : Test intégré (BIST) 61 © A. Khouas

Exemple d’architecture de BIST : solution 3


A1 A2
PRPG

0 Multiplieur
22 16

MISR
16 16

Contrôle ALU

Sortie
16
MISR

ELE6306 – Chap. 7 : Test intégré (BIST) 62 © A. Khouas

21
Exemple d’architecture de BIST : solution 4
A1 A2
PRPG

Multiplieur
16

MISR
16
PRPG

Contrôle ALU

Sortie
16
MISR

ELE6306 – Chap. 7 : Test intégré (BIST) 63 © A. Khouas

Exemple d’architecture de BIST : comparaison

Nombre de vecteurs
Solution Taux de couverture
minimun maximum moyenne
1 830 3619 2177 100%
2 >3000 64,5%
3 634 2531 1457 100%
4 721 2121 1378 100%

ELE6306 – Chap. 7 : Test intégré (BIST) 64 © A. Khouas

Conclusion

) Définition du BIST
¾ Avantages et inconvénients
¾ Architecture
) Les méthodes et techniques de génération des vecteurs de
test
) Générateur LFSR
¾ Théorie et architecture
) Les techniques d’analyse des réponses
) Analyse de signature avec MISR
) Technique BILBO

ELE6306 – Chap. 7 : Test intégré (BIST) 65 © A. Khouas

22
Conclusion (suite)
Conception en vue du Test
DFT

Chemin de Scan JTAG BIST Ad hoc

Application des vecteurs Analyse des réponses


PRPG

LSFR Contage de un

Compteur Contage de transition

MISR Vérification de parité

BILBO Analyse de signatures

ROM
LFSR MISR BILBO
Autres

ELE6306 – Chap. 7 : Test intégré (BIST) 66 © A. Khouas

Documentation
) ATPG and BIST
¾ Kagaris, D.;
¾ The VLSI Handbook ; Ed. Wai-Kai Chen, CRC Press LLC, 2000.
) CAD Tools for BIST/DFT and Delay Faults
¾ Tragoudas, S. ;
¾ The VLSI Handbook. Ed. Wai-Kai Chen, CRC Press LLC, 2000.
) DS-LFSR: a BIST TPG for low switching activity
¾ Wang, S.; Gupta, S.K.;
¾ IEEE Transactions on Computer-Aided Design of Integrated
¾ Circuits and Systems, July 2002 Page(s): 842 -851
) An analysis of the probabilistic behavior of linear feedback signature registers
¾ Ivanov, A.; Agarwal, V.K.;
¾ IEEE Transactions on Computer-Aided Design of Integrated
¾ Circuits and Systems, Oct. 1989, pp. 1074 -1088
) Linear Feedback Shift Register v3.0
¾ Xilinx.

ELE6306 – Chap. 7 : Test intégré (BIST) 67 © A. Khouas

Questions

ELE6306 – Chap. 7 : Test intégré (BIST) 68 © A. Khouas

23

Vous aimerez peut-être aussi