©2008 Landrault 1 Christian LANDRAULT [email protected] Laboratoire dInformatique, de Robotique et...

29
1 ©2008 Landrault Christian LANDRAULT [email protected] Laboratoire d’Informatique, de Robotique et de Microélectronique de Montpellier (LIRMM) ANALYSE DE TESTABILITE

Transcript of ©2008 Landrault 1 Christian LANDRAULT [email protected] Laboratoire dInformatique, de Robotique et...

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

1©2008 Landrault

Christian [email protected]

Laboratoire d’Informatique, de Robotique et de Microélectronique de Montpellier

(LIRMM)

ANALYSE DE TESTABILITE

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

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é

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

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)

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

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

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

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)

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

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

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

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.

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

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)

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

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

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

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

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

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)

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

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)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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)

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

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

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

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

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

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

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

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)

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

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)

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

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)

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

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