Projet, ELE6306

publicité
ELE6306 : Test de systèmes électroniques
Projet de cours
Synthèse des algorithmes pour les
générateurs automatiques de vecteurs de
tests (ATPG) pour les circuits séquentiels
Francis St-Pierre ; Olivier-Don Truong
Professeur : A. Khouas
Département de génie électrique
École Polytechnique de Montréal
Plan













Introduction
Méthode Time-Frame
Algorithme Essential
Algorithme Hitec
Algorithme Atoms
Méthode Séquence d’initialisation
simulation séquentielle basée
Algorithme CONTEST
Algorithme GENTEST
Algorithme ALT-TEST
Comparaison des méthode
Algorithme pour TETRAX MAX ET FAST SCAN
Conclusion
Projet, ELE6306 - avril 17
1
École Polytechnique de Montréal
Introduction
Utilisation des ATPG pour les circuits séquentiels
Différence des ATPG pour les circuits combinatoire et les
circuits séquentiels. Procédure de test différente
Différence et avantage face à la méthode de chaîne de Scan
Il y a deux méthodes utilisées pour les ATPG séquentiels :
Les Time Frames et la simulation séquentielle basée
Projet, ELE6306 - avril 17
2
École Polytechnique de Montréal
Expension en Time-Frame
Dérouler le circuit dans le temps
Chaque fenêtre (frame) représente le circuit à un moment
différent dans le temps
Faute présente pour chaque fenêtre
Application d’algorithmes combinatoires au circuits
séquentiels
Projet, ELE6306 - avril 17
3
École Polytechnique de Montréal
Raisons
 5 valeurs logiques ne prenaient pas en
compte la répétition des effets d’une
faute dans un circuit séquentiel
Nine-valued logic
 Propagation faute jusqu’à une sortie
primaire, celle-ci sera présente pour
chaque time frame.
 Cette façon d’attribuer des valeurs fera
représenter le circuit comme deux
machines qui seront simulées
simultanément par l’ATPG
 Besoin d’exécuter cette opération une
seule fois vue qu’elle est effectuée en
même temps dans un time frame
Projet, ELE6306 - avril 17
4
École Polytechnique de Montréal
Exemple
Projet, ELE6306 - avril 17
5
École Polytechnique de Montréal
Étapes
Sortie d’une flip-flop devient l’entrée d’une autre,
vice-versa
Implications: attribuera aux signaux les 9 valeurs
logiques et les attributions faciliterons
l’identification de fautes non détectables
Affectons valeur 1/0 pour un sock-at-0
0/1 pour un stock-at-1
Projet, ELE6306 - avril 17
6
École Polytechnique de Montréal
Étapes suite
Justifier la valeur de sortie provenant des entrées primaires,
en considérant les chemins et rajoutant les time frames
précédents
Si justification impossible => utiliser le potentiel de sortie
d’un autre PO et justifier de nouveau
Si toutes PO non atteintes pour la faute => alors la faute n’est
pas testable
Dernier recours => Changer stuck-at 1/1 ou 0/1 par 1/X ou
0/X. L’erreur sera identifiée comme étant potentiellement
détectable.
Projet, ELE6306 - avril 17
7
École Polytechnique de Montréal
Algorithme Essential
Reprend technique ATPG combinatoire
Prend avantage des implications globales pour la
convergence successive de sorties et de time frames
Utilise le concept du chemin de propagation
Combine traitement de time frames précédent et futur
CTF et PTF
N’utilise pas concept des 9 nine-valued logic
12-
Étape de prétraitement
Étape de génération de vecteurs
Projet, ELE6306 - avril 17
8
École Polytechnique de Montréal
Étape de prétraitement
Apprentissage et analyse de la structure du circuit
=> détecter fautes non testable
Déterminera la dominance entre signaux
Établira la structure (dataflow) et emplacement des
boucles de rétroaction.
Affecte une valeur 0 ou 1 et effectue implication
pour CTF et PTF
Alterne CTF et PTF dépendamment de la direction
Projet, ELE6306 - avril 17
9
École Polytechnique de Montréal
Projet, ELE6306 - avril 17
10
École Polytechnique de Montréal
Vérification des fautes
Implication d’un signal, mais dépend d’un autre
=> Dilemme destructif => un ne peut arriver sans l’autre
Signaux ne peut pas être forcés à 0 ou 1
Signal dépend d’une flip-flop dans un état indéterminé
=> Flip-flop influence incapacité de vérifier S@0 ou S@1
porte subséquente
Projet, ELE6306 - avril 17
11
École Polytechnique de Montréal
Étape de génération de vecteurs
Partie 1
Apprentissage des informations en lien avec fautes
Informations sur les interconnexions
=> Trouver signaux structurellement atteignables
pour l’évaluation des effets d’une faute
Utilisera la notion de distance d’une faute pour un
signal
Projet, ELE6306 - avril 17
12
École Polytechnique de Montréal
Étape de génération de vecteurs (suite)
Partie 2 Notion de frontière D
Utilise relations de dominance
Deux instructions de synthétisation basées
sur la structure potentiel de propagation et
des signaux dynamiquement dominants
Partie 3 Vérifier implications sont toujours
valable avant de les effectuer
La règle de la propagation pour portes ET
permet d’éviter la propagation vers les
boucles de rétroactions
Projet, ELE6306 - avril 17
13
École Polytechnique de Montréal
Algorithme HITEC
Développé à Université Illinois
Possède un haut taux de couverture
et identifie les fautes indétectables
3 méthodes sont utilisées
1- Il utilise une meilleure technique frontière D
2- Justification d’un état
3- Apprend des fautes abandonnée
Projet, ELE6306 - avril 17
14
École Polytechnique de Montréal
Frontière D
Si le chemin est sans issues, frontière recule jusqu’au
moment où elle trouve un meilleur chemin
Prochaine étape, l’état initial de la faute testée sera
justifié
Justification d’un état
>Un conflit est repéré => la faute rend l’état non valide
>Objectifs d’un état sont atteints
=> un test est trouvé donc pas besoin d’appliquer de nouveau vecteurs
>Utilisation des données trouvées non fructueuse
=> traitement à reculons pour un time frame
Projet, ELE6306 - avril 17
15
École Polytechnique de Montréal
Justification d’un état (suite)
 Assignations pour justifier
=> Classées du plus difficile vers le plus facile
 Justification d’un état en évaluation non réussie
=> État sera classé comme étant non atteignable pour la faute en cours
d’évaluation
 Déterminer états injustifiables
=> une série d’états illégaux associés pour chaque faute
3 critères déterminent si illégaux (non justifiable<=/illégal=>perte temps présentement)
1- Pseudo entrée primaire avec contrôlabilité SCOAP infinie
=>Flip-Flop ne pourra pas être initialisée
2- Aucune répétition d’un état
Ex: Un état a déjà été visité, donc le générateur a trouvé une boucle
3- Identification des états anciennement déclarés injustifiable
Projet, ELE6306 - avril 17
16
École Polytechnique de Montréal
Apprentissage par simulation de fautes
 À la première génération du test, les fautes redondantes ou non testables
ne se sont pas identifiées
 Utilise informations du simulateur de fautes pour celles ayant réussi leur
propagation jusqu’à PO
 Chaque faute n’ayant pas réussi, le simulateur note les time frame vers
lesquelles elles se sont rendues
 Au besoin, plus de time frame seront utilisés pour la réussite de la
propagation
Projet, ELE6306 - avril 17
17
École Polytechnique de Montréal
Algorithme ATOMS
 ATOMS est l’évolution de ATOM
 Nouvelles méthodes pour réduction de l’espace des états et
l’identification des états injustifiables
 Apporte des notions pouvant être utilisé pour simulation based et
déterminatrice
 Le générateur de test utilisé est HITEC et PODEM pour le traitement
de chaque time frame.
a
Projet, ELE6306 - avril 17
18
École Polytechnique de Montréal
1. Sensibilisation unique améliorée
 Utilisé seulement durant la propagation des fautes pour
trouver les assignations nécessaires aux lignes en prenant l'intersection
des implications logiques des dominateurs dynamiques pour les portes
de la frontière D
2. Backtrace avec X-path et vérification de conflit
 Utilisé pour propagation des fautes et la phase de justification des états
 Aide le générateur à déterminer les conflits possibles avant d’affecter une
valeur à une entrée primaire ou une flip-flop
 Empêche le générateur de test d'entrer dans une situation sans issue =>
perte de temps
Projet, ELE6306 - avril 17
19
École Polytechnique de Montréal
3. Lookback
 Préconise la traversée des transitions d’états avec l’utilisation combinée
de la volonté de profondeur et de largeur.
 Limite locale et globale de retour arrière des états est établie
 Un état Si et une limite locale de retour arrière n, aucune solution n’est
trouvée après avoir traversé n prédécesseur.
Va retourner à son successeur dans le graphique et continue à traverser
les prédécesseurs de cet état en utilisant la règle.
4. Identification des états injustifiables (sauver temps)
 Générateur ne tombe pas dans un état de recherche pour une situation ne
pouvant pas être résolue
 État injustifiable Su peut être atteint par un état Sk, donc ce dernier est
injustifiable => Passe par graphique de transition des états précédents et
états rencontrés lors du chemin arrière seront identifiés injustifiables
Projet, ELE6306 - avril 17
20
École Polytechnique de Montréal
5. Région de support
 Partie du circuit affectant la génération d’un test pour une faute
 Les portes hors de la région de support ne sont pas en connexion vers
certains flip-flops, elles n’affecteront pas la justification
 Ne sera pas nécessaire de faire des implications hors de cette région
 Évite calculs inutiles
Projet, ELE6306 - avril 17
21
École Polytechnique de Montréal
Séquence d’initialisation
Ce n’est pas tous les circuits qui possède une
séquence d’initialisation
Le but est d’avoir aucune séquence homogène
La séquence d’initialisation comporte 3 étapes



séquence de synchronisation (SS) ou séquence homing
(HS)
séquence distinguée (DS)
séquence de transition (TS)
Projet, ELE6306 - avril 17
22
École Polytechnique de Montréal
séquence de synchronisation (SS)
Permet
d’avoir un état connu à partir d’une séquence d’entrée
sans se préoccuper de l’état initial au départ
Vecteur obtenu 01010 de la séquence de synchronisation
Projet, ELE6306 - avril 17
23
École Polytechnique de Montréal
séquence homing (HS)
Permet
de connaître l’état final du circuit avec la séquence de
sortie indépendamment de l’état initial
Une séquence 010 nous permet de déterminer l’état final sans se
soucier de l’état initial par la réponse de la sortie
Projet, ELE6306 - avril 17
24
École Polytechnique de Montréal
séquence distinguée (DS)




Cette séquence implique d’avoir une séquence d’entrée
qui procure une séquence de sortie avec un état M
différent pour chaque état initial.
Ex: Avec un graphique du même style que dans la
séquence homing. Avec des états initiaux ABCD et une
séquence d’entrée 111, il faudrait avoir
(A)101(B)110(C)111(D)011
Toutes les DS sont des HS mais le contraire n’est pas
toujours valable.
Tous les circuits possède une HS, mais ce n’est pas tous les
circuits qui possède une DS car on peut trouver des
séquences homogène comme (DD)10.
Projet, ELE6306 - avril 17
25
École Polytechnique de Montréal
La séquence de transition (TS)
Permet
de passer d’un état S1 à un état S2 par la plus petite
séquence d’entrée. Cette séquence permet de pouvoir tester
d’autres fautes dans un circuit séquentiel à partir d’un autre état.
Projet, ELE6306 - avril 17
26
École Polytechnique de Montréal
Simulation basée séquentielle
Comparativement au Time Frame, cette méthode part du
début du circuit jusqu’à la fin. Elle teste les faute de façon
directe
Se base sur le principe de simulation de fautes concurrentes
(CFS)


Ce principe consiste à insérer plusieurs vecteurs dans un état de
départ, de retenir les vecteurs qui détectent le plus de fautes et de les
inscrire dans une liste.
Par la suite on testera les circuits avec cette liste de vecteurs
Pour les circuits séquentiels, on cherchera à insérer une série
de vecteurs.
Projet, ELE6306 - avril 17
27
École Polytechnique de Montréal
Algorithme CONTEST
Algorithme qui se base sur le principe des fautes
concurrentes (CFS).
Utilise une fonction appelé cost dans chaque phase
Comporte 3 phases:
1- Initialisation pour un état connu de départ
 2- Détection de fautes concurrentes
 3- Détection des fautes uniques

Projet, ELE6306 - avril 17
28
École Polytechnique de Montréal
Initialisation dans un état connu de départ





Le cost est défini par le nombre de bascule étant dans un
état inconnu.
Au départ, le cost est égale au nombre de bascule et le but
est d’avoir un cost égale à 0. Il faut pas plus de 10% non
initialisé.
Pendant cette phase, on prend un vecteur courant qui sera
le vecteur de référence. Ce vecteur aura un certain cost.
On prend un vecteur d’essai et on le compare au vecteur
courant. Si son cost est plus petit, on remplace le vecteur
courant par le vecteur d’essaie sinon on essaie un nouveau
vecteur d’essai.
L’initialisation est finie lorsque cost = 0
Projet, ELE6306 - avril 17
29
École Polytechnique de Montréal
Détection de fautes concurrentes
Vecteurs
d’initialisation ont déjà détecté certaines fautes
Ici le cost détermine la distance d’une porte à une sortie
primaire. Le cost est calculé en porte logique et plus il est petit,
plus la faute est possible à être détectée.
Quand le cost = 0 , la faute a été propagé à une sortie
primaire.
Si la faute n’est pas activée, le cost sera égale à infini.
Projet, ELE6306 - avril 17
30
École Polytechnique de Montréal
Détection de fautes concurrentes (suite)




Lorsqu’il y a trop de fautes indétectables, on calcul le
cost(C) totale de toutes les fautes.
Après on calculera le nouveau cost (C’)avec un vecteur
d’essaie.
Si C’ < C on garde le vecteur d’essai et on recommence
jusqu’à un cost le plus petit possible. Si C’ > C on rejette le
vecteur.
Les fautes plus isolées seront traitées dans la phase 3.
Projet, ELE6306 - avril 17
31
École Polytechnique de Montréal
Détection des fautes uniques
La fonction cost sera fondée sur la mesure de testabilité SCOAP.
 Le cost est déterminé par l’effort pour activer et propager une
fautes vers une sortie primaire
 Pour savoir quel faute il fera, il évaluera toutes les fautes dans la
liste de fautes non détecté et testera les fautes avec le plus bas
cost.
 Cette phase est finie si on a un taux de couverture satisfaisant ou
qu’il n’y plus aucune faute à tester.

Résumé CONTEST
L’algorithme CONTEST est considéré évolutif, car il accepte
ou rejette des vecteurs selon leur efficacité à trouver les
fautes. En utilisant sa fonction cost.
Projet, ELE6306 - avril 17
32
École Polytechnique de Montréal
Algorithme GENETIC








Basé sur l’algorithme CONTEST pour ces 3 phases.
Il génère des types de vecteurs qui ont étés efficace dans le passé.
Ici on utilisera une fonction appelé fitness qui cherche, comparative à cost,
à être le plus élevé possible.
Prend une série de vecteurs qu’on appellera Population qui subira par la
suite des itérations appelé nouvelle génération.
Les vecteurs d’une nouvelle génération sont fait à partir des opérations
suivante: crossover, mutation et sélection sur la génération actuelle. Ceci
est l’itération
Le fitness est évalué selon l’étape dans la quel on est.
Si le fitness de la nouvelle génération est plus élevé que celle de la
génération présente, on remplace la génération présente par la nouvelle
génération.
Utilise l’algorithme GENETIC dans le programme GATEST
Projet, ELE6306 - avril 17
33
École Polytechnique de Montréal
Algorithme ALT-TEST (hybride)
Intéressante et pas souvent utilisée
Méthode génétique simulation-based et déterminatrice
Avantage des deux méthodes
Il existe aussi CRIS-hybrid et GA-HITEC
Alt-Test est différent de ces prédécesseurs par certains points.
Étapes
 Plupart du traitement sera effectué par la partie génétique (GA)
 HITEC servira principalement à guider GA vers de nouveaux états du circuit
 GA identifiera les fautes difficiles pour HITEC
 La population est initialisée avec des séries aléatoires, séquences suggérées par HITEC
ou bien d’autres déjà été déterminées par une évaluation précédente de GA.
Projet, ELE6306 - avril 17
34
École Polytechnique de Montréal
GA est utilisé en premier jusqu’aux résultats stagnant
Composé de trois étapes pointant sur trois objectifs différents
1-Consistera à détecter les fautes provenant de la liste des fautes
2-Maximisera le nombre d’état visité et propagera l’effet de ces fautes vers les flip-flops
3-S’efforcera de détecter les dernières fautes restantes et visitera de nouveaux états
Dans chaque étape, GA sélectionnera 31 fautes de sa liste de fautes
 Maximiser la vitesse d’exécution
Les meilleurs vecteurs seront ajoutés et les séquences ayant une étroitesse plus
grande ou égale aux meilleurs résultats seront gardées pour les individus faisant
partie de la population pour la prochaine utilisation de GA
Projet, ELE6306 - avril 17
35
École Polytechnique de Montréal
3 étapes ont des buts différents =>Rapport d’Étroitesse n’est pas le même
P1 Nombre de fautes détectées faisant partie du groupe de fautes
P2 Nombre de Flip-flops comportant des fautes à la fin d’une simulation
P3 nouveaux états visités
P4 flip-flops difficiles à contrôler pour leurs valeurs.
Étape 1 : Étroitesse = 0,8P1 + 0,1P2 + 0,1(P3 + P4)
=>détecter le plus de fautes possibles en peu de temps
Étape 2 : Étroitesse = 0,1P1 + 0,45P2 + 0,45(P3 + P4)
=>détecter le plus de fautes possibles en peu de temps
Étape 3 : Étroitesse = 0,41P1 + 0,2P2 + 0,4(P3 + P4)
=>retour pour l’évaluation de fautes difficiles n’étant pas
résolut par les étapes précédentes de HITEC et GA
Projet, ELE6306 - avril 17
36
École Polytechnique de Montréal
Comparaison des méthodes
Avantages et désavantages de Time frame:

Avantages:
 Identifie les
fautes redondantes et les fautes non détectables
 Extension directe d’une approche combinatoire qui permet
de réutiliser des algorithmes combinatoires performants.

Désavantages:
 Utilise
beaucoup de mémoire et de temps de CPU car cette
méthode nécessite de copier X fois la partie combinatoire du
circuit dans la mémoire.
 Cette méthode aura de la misère à tester les gros circuits
asynchrones à cause des problèmes de timing.
Projet, ELE6306 - avril 17
37
École Polytechnique de Montréal
Comparaison des méthodes (suite)
Avantages et désavantages de Simulation
séquentielle basée:

Avantages:
 Détecte plusieurs
fautes avec un vecteur de test
 Test pas mal toutes les sortes de circuits (sauf rétroaction)
 Moins de temps de CPU

Désavantages:
 Incapable d’identifier
les fautes redondantes
 N’est pas capable de déterminer le taux d’efficacité à cause
de son ignorance face à la détection de fautes non détectées
 Génère beaucoup de vecteurs de test
 Inefficace pour les circuits avec rétroactions complexes
Projet, ELE6306 - avril 17
38
École Polytechnique de Montréal
Comparaison des méthodes(suite)
Explication du choix d’une méthode plus qu’une
autre


Dépend des caractéristiques du circuit utilisé (asynchrone,
rétroaction,…)
Coût actuelle du temps de CPU comparativement à celui
des vecteurs de test.
Existe méthode Hybride, comme ALT-TEST, qui tire
les avantages de chaque méthode.
Projet, ELE6306 - avril 17
39
École Polytechnique de Montréal
TETRAMAX et FASTSCAN
Impossible de trouver les algorithmes utilisés dans
ces programmes car:
Coût des licences de programmes en millier de dollars
 Mais il est sûr que les algorithmes utilisés sont des
améliorations des algorithmes que nous avons énoncés
dans cette synthèse. Ces améliorations restes secrètes.

Projet, ELE6306 - avril 17
40
École Polytechnique de Montréal
Conclusion


Passé à travers plusieurs algorithme et nombreuse étapes
Remarqué notions importante pouvant être réutilisées
Existe d’autre algorithme très développé:
Wavexpress: DFT et applique un algorithme modifié
=>observe améliorations
Basé sur partitionnement d’un clock et l’arrêt de celui-ci.
Permet d’arrêter global feedback loop dans le circuit et générer
clock waves pour le circuit résultant, applique algo.
Projet, ELE6306 - avril 17
41
École Polytechnique de Montréal
Questions
Projet, ELE6306 - avril 17
42
École Polytechnique de Montréal
Téléchargement