Title: ANALYSE DE TESTABILITE
1ANALYSE DE TESTABILITE
Christian LANDRAULT landraul_at_lirmm.fr Laboratoire
dInformatique, de Robotique et de
Microélectronique de Montpellier (LIRMM)
2Analyse 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 dun circuit qui influence divers
coûts associés au test (longueur, complexité de
génération dune séquence, ) - Dépend du contexte
- Pas dévaluation réelle
- En pratique Basée sur les concepts de
contrôlabilité et dobservabilité
3Mesures 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 dune ligne vers les Sorties
Primaires (SP)
4Mesures 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
...0101
e1
1
e2
...1101
e2
1
O
O
. . .
. . .
. . .
. . .
G1
G1
1
0000
e10
e10
...1000
1
5Diffé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)
6SCOAP(Sandia Controlability and Observability
Analysis Program)
- Basée sur une analyse structurelle et
nonnormalisée - Circuit cellules(comb.,séq.)
nuds(comb.,séq.) - Valeurs des mesures croissantes avec leffort de
test requis - Test d un nud
- EPs contrôle observation SPs
7SCOAP
- Six mesures associées à chaque noeud N
- CC0(N) contrôlabilité combinatoire à 0
minimum de nuds comb. quil faut contrôler pour
amener la valeur 0 sur N - CC1(N) contrôlabilité combinatoire à 1
minimum de nuds comb. quil faut contrôler pour
amener la valeur 1 sur N - CO observabilité combinatoire minimum de
nuds comb. qui doivent être contrôlés pour que
leffet de la faute sur N soit propagé vers une
SP. - SC0 contrôlabilité séquentielle à 0 minimum
de nuds séq. quil faut contrôler pour amener la
valeur 0 sur N - SC1 contrôlabilité séquentielle à 1 minimum
de nuds séq. quil faut contrôler pour amener la
valeur 1 sur N - S0 observabilité séquentielle minimum de
nuds séq. qui doivent être contrôlés pour que
leffet de la faute sur N soit propagé vers une
SP.
8SCOAP
- Evaluation
- Contrôlabilité en sortie dune cellule fonction
des contrôlabilités de ses entrées - Observabilité en entrée dune cellule fonction de
lobservabilité en sortie et des contrôlabilités
des autres entrées
CC(e1 )
CO(e1 )
CC(S)
CO(S)
CC(e2 )
CC(e2 )
9SCOAP cellules combinatoires
e1
s
e2
- CC0(s) min (CC0(e1),CC0(e2)) 1
- CC1(s) CC1(e1) CC1(e2) 1
- CO(e1) CC1(e2) CO (s) 1
e1
s
e2
- CC0(s) CC0 (e1) CC0 (e2) 1
- CC1(s) min (CC1(e1),CC1(e2))1
- CO(e1) CC0(e2) CO (s) 1
10Portes logiques classiques
AND2 CC0(OUT) min(CC0(IN1),CC0(IN2))
1 NAND2 CC0(OUT) CC1(IN1) CC1(IN2)
1 OR2 CC0(OUT) CC0(IN1) CC0(IN2)
1 NOR2 CC0(OUT) min(CC1(IN1),CC1(IN2))
1 INV CCO(OUT) CC1(IN) 1 BUF CCO(OUT)
CC0(IN) 1
Contrôlabilité Combinatoire à 0
AND2 CC1(OUT) CC1(IN1) CC1(IN2))
1 NAND2 CC1(OUT) min(CC0(IN1),CC0(IN2)
1 OR2 CC1(OUT) min(CC1(IN1),CC1(IN2))
1 NOR2 CC1(OUT) CC0(IN1) CC0(IN2))
1 INV CC1(OUT) CC0(IN) 1 BUF CC1(OUT)
CC1(IN) 1
Contrôlabilité Combinatoire à 1
AND2 CO(IN1) CC1(IN2) CO(OUT)
1 NAND2 CO(IN1) CC1(IN2) CO(OUT)
1 OR2 CO(IN1) CC0(IN2) CO(OUT)
1 NOR2 CO(IN1) CC0(IN2) CO(OUT)
1 INV CO(IN1) CO(OUT) 1 BUF CO(IN1) CO(OUT)
1
Observabilité Combinatoire
11SCOAP divergences
CC1(N), CC0(N) SC1(N), SC0(N)
CC1(N), CC0(N), SC1(N), SC0(N)
CC1(N), CC0(N) SC1(N), SC0(N)
CO(N1)
SO(N1)
CO(N) min (CO(N1), CO(N2)) SO(N) min (SO(N1),
SO(N2))
CO(N2)
SO(N1)
12SCOAP Calcul des valeurs
- Initialisation des nuds
- 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 dexécution croît de manière quadratique
avec la taille du circuit)
13SCOAP Exemple 1
Phase 1
CC0
CC1
Phase 2
CO
1
1
?
?
e1
?
?
5
s
e2
1
1
9
?
?
?
?
?
?
?
0
8
1
1
6
e3
7
?
?
?
?
?
1
1
?
?
?
?
?
Initialisation
Initialisation
14SCOAP Exemple 1calcul des controlabilités
Phase 1
CC0
CC1
Phase 2
CO
1
1
2
3
e1
5
s
e2
1
1
9
3
3
4
11
3
8
8
6
0
1
1
7
e3
2
3
4
2
1
1
3
2
Initialisation
Initialisation
15SCOAP Exemple 1Calcul des observabilités
Phase 1
CC0
CC1
Phase 2
CO
1
1
2
3
e1
10
9
5
s
e2
1
1
9
3
3
10
4
11
8
3
8
8
6
0
1
1
7
e3
2
3
3
11
9
4
2
1
1
3
2
7
9
10
Initialisation
Initialisation
16SCOAP Exemple 1 (suite)
e1
s
5
e2
9
8
6
7
e3
e4
Nud CC1(N)CO(N) vect. Test CC0(N)CO(N)
vect. Test Cà0 Cà1 e1
11 3 11
3 e2 11 3 11
3 e3 12 1
12 1 e4 11 3
11 3 5 11 3
11 3 6 11
3 12 1 7 9
3 11 3 8 11
3 6 9 S
11 3 4 13
17SCOAP cellules séquentielles
D
Q
Bascule D sensible au front descendant, RAZ
asynchrone
H
QB
R
- 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
18SCOAP Exemple 2
Contrôlabilité Séquentielle bascule D sans RAZ
- 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)
- SC0(OUT) SC0(IN1)SC0(IN2)
- SC1(OUT) min(SC1(IN1),SC1(IN2))
Contrôlabilités Séquentielles OU
- SC0(OUT)min(SC0(IN1)SC0(IN2),SC1(IN1)SC1(IN2))
- SC1(OUT)min(SC1(IN1)SC0(IN2),SC0(IN1)SC1(IN2))
Contrôlabilités Séquentielles OU Exclusif
FB
?
?
DI
O2
O1
O3
SC0
?
?
?
?
?
?
?
?
0
0
I
SC1
0
0
H
Initialisation
19SCOAP Exemple 2 (suite)
SC0(FB) min( SC0(O1)SC0(O3) , SC1(O1)SC1(O3)
) SC0(FB) min( SC0(FB)1SC0(FB)3 , 13 )
13 SC0(FB) 4
SC1(FB) min( SC1(O1)SC0(O3) , SC0(O1)SC1(O3)
) SC1(FB) min( 1SC0(FB)3 , SC0(FB)13 )
SC0(FB)4 SC1(FB) 8
FB
DI
O2
O1
O3
SC0(FB)
SC0(FB)1
SC0(FB)2
SC0(FB)3
0
0
SC0
I
0
1
2
3
0
0
SC1
H
20SCOAP Exemple 2 (suite)
FB
4
8
DI
O2
O1
O3
4
5
6
7
0
0
I
0
1
2
3
0
0
H
SC0
SC1
21Les dérivés de SCOAP (1)
- COMET(Controllability and Observability
Measurement for Testability) - possibilité dutiliser 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 dun nud
22Les dérivés de SCOAP (2)
- ARCOP
- testabilité d un nud difficulté de détecter
un collage sur le nud - TESTABILITE(N collé à 0) CC1(N) CO(N)
- TESTABILITE(N collé à 1) CC0(N) CO(N)
- DTA (Daisy Testability Analyser)
- insertion interactive de points de test (comme
ITTAP) - possibilité dutiliser 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)
23Inconvénients de SCOAP et de ses dérivés
exemple 1
2
s
1
4 ????
e1
SCOAP CC1
1
1
0
s
1
0
e1
Propagation de la valeur logique e1 1
1
1
Impossible de contrôler à 1
1
0
0
Propagation de la valeur logique e1 0
s
e1
0
0
24Inconvénients de SCOAP et de ses dérives
exemples 2 et 3
SCOAP CC1
SCOAP CC0
s
e
1
2
3
4
5 ???
Pourtant il est aussi facile de contrôler s que e
1
3 ?
1
2 ?
1
1
La façon de réaliser une même fonction influence
les résultats
25COP
- Basée sur une Analyse structurelle
- Mesures basées sur une approche probabiliste
- proportion de vecteurs dentrée qui peuvent
contrôler et observer le noeud - Limitées aux circuits combinatoires
- Normalisées 0 1
- Test d un nud
- EPs contrôle observation SPs
26COP
- Cinq mesures associées à chaque nud N
- C1(N) contrôlabilité à 1 de N
- ( vecteurs dentrée donnant 1 sur N) / 2n (n
bits) - C0(N) contrôlabilité à 0 de N
- ( vecteurs dentré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)
27COP 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)
28COP 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))
(Temps dexécution croît de manière linéaire avec
la taille du circuit)
29Conclusion
- Mesures présentées
- Hypothèse dindé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 lensemble des vecteurs
dentrée assurant la contrôlabilité d une panne
et l ensemble des vecteurs d entrée assurant
lobservabilité de cette même panne) - Erreur dinterprétation possible MAIS néanmoins
largement utilisé dans lindustrie - Aide à la génération de vecteurs de test
- Aide à la conception en vue du test