©2008 Landrault 1 Christian LANDRAULT [email protected] Laboratoire dInformatique, de Robotique et...
-
Upload
marcellin-marc -
Category
Documents
-
view
105 -
download
0
Transcript of ©2008 Landrault 1 Christian LANDRAULT [email protected] Laboratoire dInformatique, de Robotique et...
1©2008 Landrault
Christian [email protected]
Laboratoire d’Informatique, de Robotique et de Microélectronique de Montpellier
(LIRMM)
ANALYSE DE TESTABILITE
2©2008 Landrault
Analyse de testabilité
Mesures utilisées comme critères de choix Générateurs automatiques de vecteurs de test Outils de conception en vue du test
Testabilité Caractéristique d’un circuit qui influence divers
coûts associés au test (longueur, complexité de génération d’une séquence, …)
• Dépend du contexte
• Pas d’évaluation réelle
En pratique : Basée sur les concepts de contrôlabilité et d’observabilité
3©2008 Landrault
Mesures de ‘ Testabilité ’
Contrôlabilité indique la difficulté relative à positionner une ligne
à 0 ou à 1 à partir des Entrées Primaires (EP)
Observabilité indique la difficulté relative à propager une erreur
à partir d’une ligne vers les Sorties Primaires (SP)
4©2008 Landrault
Mesures dans le contexte
Test du collage à 0 de la sortie de G1
Génération de vecteurs aléatoires Contrôle à 1 de la sortie de G1 très difficile
(probabilité de 1/2n) Génération de vecteurs déterministes
Contrôle à 1 de la sortie de G1 évident
e1
e2O
e10
.
.
.G1
...0101
...1101
...1000
.
.
.
e1
e2O
e10
.
.
.G1
11
1
.
.
. 1…0000
5©2008 Landrault
Différentes méthodes
Obtention des mesures dans le meilleur cas pour
un test déterministe (SCOAP et dérivées)
Obtention des mesures à partir de calculs
probabilistes pour un test aléatoire ou pseudo
aléatoire (COP)
6©2008 Landrault
SCOAP(Sandia Controlability and Observability Analysis Program)
Basée sur une analyse structurelle et nonnormalisée
Circuit = cellules(comb.,séq.) + nœuds(comb.,séq.)
Valeurs des mesures croissantes avec l’effort de test requis Test d ’un nœud :
EPs contrôle & observation SPs
7©2008 Landrault
SCOAP
Six mesures associées à chaque noeud N :– CC0(N) = contrôlabilité combinatoire à 0 = # minimum de nœuds
comb. qu’il faut contrôler pour amener la valeur 0 sur N
– CC1(N) = contrôlabilité combinatoire à 1 = # minimum de nœuds comb. qu’il faut contrôler pour amener la valeur 1 sur N
– CO = observabilité combinatoire = # minimum de nœuds comb. qui doivent être contrôlés pour que l’effet de la faute sur N soit propagé vers une SP.
– SC0 = contrôlabilité séquentielle à 0 = # minimum de nœuds séq. qu’il faut contrôler pour amener la valeur 0 sur N
– SC1 = contrôlabilité séquentielle à 1 = # minimum de nœuds séq. qu’il faut contrôler pour amener la valeur 1 sur N
– S0 = observabilité séquentielle = # minimum de nœuds séq. qui doivent être contrôlés pour que l’effet de la faute sur N soit propagé vers une SP.
8©2008 Landrault
SCOAP
Evaluation : Contrôlabilité en sortie d’une cellule fonction des
contrôlabilités de ses entrées Observabilité en entrée d’une cellule fonction de
l’observabilité en sortie et des contrôlabilités des autres entrées
CC(e1 )
CC(e2 )
CC(S) CO(e1 )
CC(e2 )
CO(S)
9©2008 Landrault
SCOAP : cellules combinatoires
CC0(s) = min (CC0(e1),CC0(e2)) + 1 CC1(s) = CC1(e1) + CC1(e2) + 1 CO(e1) = CC1(e2) + CO (s) + 1
e1
e2
s
e1
e2
s
CC0(s) = CC0 (e1) + CC0 (e2) + 1 CC1(s) = min (CC1(e1),CC1(e2))+1 CO(e1) = CC0(e2) + CO (s) + 1
10©2008 Landrault
Portes logiques classiques
AND2 CC0(OUT) = min(CC0(IN1),CC0(IN2)) + 1NAND2 CC0(OUT) = CC1(IN1) + CC1(IN2) + 1OR2 CC0(OUT) = CC0(IN1) + CC0(IN2) + 1NOR2 CC0(OUT) = min(CC1(IN1),CC1(IN2)) + 1INV CCO(OUT) = CC1(IN) + 1BUF CCO(OUT) = CC0(IN) + 1
AND2 CC1(OUT) = CC1(IN1) + CC1(IN2)) + 1NAND2 CC1(OUT) = min(CC0(IN1),CC0(IN2) + 1OR2 CC1(OUT) = min(CC1(IN1),CC1(IN2)) + 1NOR2 CC1(OUT) = CC0(IN1) + CC0(IN2)) + 1INV CC1(OUT) = CC0(IN) + 1BUF CC1(OUT) = CC1(IN) + 1
AND2 CO(IN1) = CC1(IN2) + CO(OUT) + 1NAND2 CO(IN1) = CC1(IN2) + CO(OUT) + 1OR2 CO(IN1) = CC0(IN2) + CO(OUT) + 1NOR2 CO(IN1) = CC0(IN2) + CO(OUT) + 1INV CO(IN1) = CO(OUT) + 1BUF CO(IN1) = CO(OUT) + 1
ContrôlabilitéCombinatoire à 0
ContrôlabilitéCombinatoire à 1
ObservabilitéCombinatoire
11©2008 Landrault
SCOAP : divergences
CO(N1)
CO(N2)
CO(N) = min (CO(N1), CO(N2))SO(N) = min (SO(N1), SO(N2))
SO(N1)
SO(N1)
CC1(N), CC0(N)SC1(N), SC0(N)
CC1(N), CC0(N),SC1(N), SC0(N)
CC1(N), CC0(N)SC1(N), SC0(N)
12©2008 Landrault
SCOAP : Calcul des valeurs
Initialisation des nœuds :– Si N = EP, CC0(N) = CC1(N) = 1
SC0(N) = SC1(N) = 0
– Si N = SP, CO(N) = SO(N) = 0– Sinon CC0 = CC1 = SC0 = SC1 = infini
Phase 1 :– Calcul des contrôlabilités des EPs aux SPs,– Itération jusqu’à stabilisation
M(N) = min(M(N)av,M(N)ap) Phase 2 :
– Calcul des observabilités des SPs aux Eps
(Temps d’exécution croît de manière quadratique avec la taille du circuit)
13©2008 Landrault
SCOAP : Exemple 1
e1
e2
e3
Initialisation
s5
6 78
1 1
1
1
1
1
1
1
0
CC0 CC1
CO
Phase 1
Initialisation
Phase 2
9
14©2008 Landrault
SCOAP : Exemple 1calcul des controlabilités
e1
e2
e3
Initialisation
s5
6 78
1 1
1
1
1
1
1
1
0
CC0 CC1
CO
Phase 1
2
3
3
23
3 24 2
3 84 11
Initialisation
Phase 2
3 9
15©2008 Landrault
SCOAP : Exemple 1Calcul des observabilités
e1
e2
e3
Initialisation
s5
6 78
1 1
1
1
1
1
1
1
0
CC0 CC1
CO
Phase 1
2
3
3
23
3 24 2
3 84 11
9
3
7
8
910
9
10
11
10
Initialisation
Phase 2
3 9
16©2008 Landrault
SCOAP : Exemple 1 (suite)
e1
e2
e3e4
s5
6 7 8
Nœud CC1(N)+CO(N) # vect. Test CC0(N)+CO(N) # vect. Test Cà0 Cà1
e1 11 3 11 3e2 11 3 11 3e3 12 1 12 1e4 11 3 11 35 11 3 11 36 11 3 12 17 9 3 11 38 11 3 6 9S 11 3 4 13
9
17©2008 Landrault
SCOAP : cellules séquentielles
CC0(Q) = min (CC1(R)+CC0(H) , CC0(D)+CC1(H)+CC0(H)+CC0(R))
CC1(Q) = CC1(D)+ CC1(H) + CC0(H) + CC0(R)
SC0(Q) = min (SC1(R)+SC0(H) , SC0(D)+SC1(H)+SC0(H)+SC0(R))+1
SC1(Q) = SC1(D) + SC1(H) + SC0(H) + SC0(R) + 1
CO(D) = CO(Q) + CC1(H) + CC0(H) + CC0(R)
SO(D) = SO(Q) + SC1(H) + SC0(H) + SC0(R) + 1
D
R
Q
QB
HBascule D sensible au frontdescendant, RAZ asynchrone
18©2008 Landrault
SCOAP : Exemple 2
SC0(Q)=SC0(D)+SC1(H)+SC0(H)+1 = SC0(D)+1 (si H = EP) SC1(Q)=SC1(D)+SC1(H)+SC0(H)+1 = SC1(D)+1 (si H = EP)
Initialisation
0 0
SC0
SC1 H
D Q
H
D Q
H
D Q
H
DI
I
O3O2O1
0 0
ContrôlabilitéSéquentielle
bascule D sans RAZ
FB
Contrôlabilités SéquentiellesOU
SC0(OUT) = SC0(IN1)+SC0(IN2) SC1(OUT) = min(SC1(IN1),SC1(IN2))
Contrôlabilités SéquentiellesOU Exclusif
SC0(OUT)=min(SC0(IN1)+SC0(IN2),SC1(IN1)+SC1(IN2)) SC1(OUT)=min(SC1(IN1)+SC0(IN2),SC0(IN1)+SC1(IN2))
19©2008 Landrault
SCOAP : Exemple 2 (suite)
0 0SC0
SC1
H
D Q
H
D Q
H
D Q
H
DI
I
O3O2O1
0 0
SC0(FB)
0
SC0(FB)+1
1
FB
SC0(FB) = min( SC0(O1)+SC0(O3) , SC1(O1)+SC1(O3) )SC0(FB) = min( SC0(FB)+1+SC0(FB)+3 , 1+3 ) = 1+3SC0(FB) = 4
SC0(FB)+2
2
SC0(FB)+3
3
SC1(FB) = min( SC1(O1)+SC0(O3) , SC0(O1)+SC1(O3) )SC1(FB) = min( 1+SC0(FB)+3 , SC0(FB)+1+3 ) = SC0(FB)+4SC1(FB) = 8
20©2008 Landrault
SCOAP : Exemple 2 (suite)
0 0
SC0
SC1
H
D Q
H
D Q
H
D Q
H
DI
I
O3O2O1
0 0
0 1
FB4
2 3
8
4 5 6 7
21©2008 Landrault
Les dérivés de SCOAP (1)
COMET(Controllability and Observability Measurement for Testability)
• possibilité d’utiliser des macrocellules et non plus uniquement des portes logiques ( gain de temps / SCOAP)
• prise en compte de cellules bidirectionnelles• mesure de ‘prédictabilité’ : quantifie la facilité avec laquelle le
circuit peut être initialisé dans un état connu
ITTAP• insertion interactive de points de test• mesure supplémentaire qui donne la longueur d ’une
séquence de test aléatoire pour contrôler ou observer la valeur d’un nœud
22©2008 Landrault
Les dérivés de SCOAP (2)
ARCOP• testabilité d ’un nœud = difficulté de détecter un collage sur
le nœud
– TESTABILITE(N collé à 0) = CC1(N) + CO(N)TESTABILITE(N collé à 0) = CC1(N) + CO(N)– TESTABILITE(N collé à 1) = CC0(N) + CO(N)TESTABILITE(N collé à 1) = CC0(N) + CO(N)
DTA (Daisy Testability Analyser)• insertion interactive de points de test (comme ITTAP)
• possibilité d’utiliser des macrocellules et non plus uniquement des portes logiques (RAM, ROM, PLA, blocs représentés par des fonctions booléennes) gain de temps / SCOAP
FUNTAP• généralisation de la méthode au niveau fonctionnel (ex :
chemins de données)
23©2008 Landrault
Inconvénients de SCOAP et de ses dérivés : exemple 1
s
e11
1
1
2
SCOAP CC14 ????
se10
0
0
10
s
e11
1
1
0
0Propagation de lavaleur logique e1 = 1
Propagation de lavaleur logique e1 = 0
Impossible de contrôlerà 1
24©2008 Landrault
Inconvénients de SCOAP et de ses dérives : exemples 2 et 3
1
Pourtant il est aussi facile de contrôler s que e
2
SCOAP CC1
3 4 5 ???
se
1 2 ?1 1
1 3 ?
SCOAP CC0
La façon de réaliser une même fonction influence les résultats
25©2008 Landrault
COP
Basée sur une Analyse structurelle Mesures basées sur une approche probabiliste
proportion de vecteurs d’entrée qui peuvent contrôler et observer le noeud
Limitées aux circuits combinatoires Normalisées [0 1] Test d ’un nœud :
EPs contrôle & observation SPs
26©2008 Landrault
COP
Cinq mesures associées à chaque nœud N :– C1(N) = contrôlabilité à 1 de N
= (# vecteurs d’entrée donnant 1 sur N) / 2n (n = # bits)
– C0(N) = contrôlabilité à 0 de N
= (# vecteurs d’entrée donnant 0 sur N) / 2n
= 1 - C1(N)– O(N) = observabilité de N
= (# de 1 et de 0 sur N observables sur 1 SP) / 2n – O1(N) = observabilité à 1 de N
= probabilité de détecter un collage à 0 de la ligne N
= C1(N).O(N)– O0(N) = observabilité à 0 de N
= probabilité de détecter un collage à 1 de la ligne N
= C0(N).O(N)
C1(N), O(N) C0(N), O1(N), O0(N)
27©2008 Landrault
COP : portes classiques
Porte AND C1(s) = C1(e1) . C1(e2) O(e1) = C1(e2) . O(s)
Porte OR C1(s) = 1 - (1-C1(e1)).(1-C1(e2)) O(e1) = (1-C1(e2)) . O(s)
Porte NOT C1(s) = 1 - C1(e) O(e) = O(s)
28©2008 Landrault
COP : calcul des mesures
Initialisation : C1(EPs) = 0,5 , O(SP) = 1 Passe avant (EPs vers SPs) pour les
contrôlabilités Passe arrière (SPs vers EPs) pour les
observabilités Racine (B) et b branches de divergences
(Bi) :
O(B)= 1 - (1-O(Bi))I=1
b
(Temps d’exécution croît de manière linéaire avec la taille du circuit)
29©2008 Landrault
Conclusion
Mesures présentées :• Hypothèse d’indépendance entre les aspects
contrôlabilité et observabilité
Calcul de la testabilité NP-complet• Algorithmes empiriques et approximatifs
Observabilité et Contrôlabilité : mauvaise image de la testabilité (qui est induite par le recouvrement entre l’ensemble des vecteurs d’entrée assurant la contrôlabilité d ’une panne et l ’ensemble des vecteurs d ’entrée assurant l’observabilité de cette même panne)
Erreur d’interprétation possible MAIS néanmoins largement utilisé dans l’industrie
• Aide à la génération de vecteurs de test
• Aide à la conception en vue du test