La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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.

Présentations similaires


Présentation au sujet: "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."— Transcription de la présentation:

1 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

2 Projet, ELE juin 14École Polytechnique de Montréal 1 Plan Introduction Méthode Time-Frame Algorithme Essential Algorithme Hitec Algorithme Atoms Méthode Séquence dinitialisation simulation séquentielle basée Algorithme CONTEST Algorithme GENTEST Algorithme ALT-TEST Comparaison des méthode Algorithme pour TETRAX MAX ET FAST SCAN Conclusion

3 Projet, ELE juin 14École Polytechnique de Montréal 2 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

4 Projet, ELE juin 14École Polytechnique de Montréal 3 +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 dalgorithmes combinatoires au circuits séquentiels Expension en Time-Frame

5 Projet, ELE juin 14École Polytechnique de Montréal 4 Raisons +5 valeurs logiques ne prenaient pas en compte la répétition des effets dune faute dans un circuit séquentiel +Propagation faute jusquà une sortie primaire, celle-ci sera présente pour chaque time frame. +Cette façon dattribuer des valeurs fera représenter le circuit comme deux machines qui seront simulées simultanément par lATPG +Besoin dexécuter cette opération une seule fois vue quelle est effectuée en même temps dans un time frame Nine-valued logic

6 Projet, ELE juin 14École Polytechnique de Montréal 5 Exemple

7 Projet, ELE juin 14École Polytechnique de Montréal 6 Étapes +Sortie dune flip-flop devient lentrée dune autre, vice-versa +Implications: attribuera aux signaux les 9 valeurs logiques et les attributions faciliterons lidentification de fautes non détectables +Affectons valeur 1/0 pour un sock-at-0 +0/1 pour un stock-at-1

8 Projet, ELE juin 14École Polytechnique de Montréal 7 É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 dun autre PO et justifier de nouveau +Si toutes PO non atteintes pour la faute => alors la faute nest pas testable +Dernier recours => Changer stuck-at 1/1 ou 0/1 par 1/X ou 0/X. Lerreur sera identifiée comme étant potentiellement détectable.

9 Projet, ELE juin 14École Polytechnique de Montréal 8 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 +Nutilise pas concept des 9 nine-valued logic + 1-Étape de prétraitement 2-Étape de génération de vecteurs

10 Projet, ELE juin 14École Polytechnique de Montréal 9 É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

11 Projet, ELE juin 14École Polytechnique de Montréal 10

12 Projet, ELE juin 14École Polytechnique de Montréal 11 Vérification des fautes +Implication dun signal, mais dépend dun autre =>Dilemme destructif => un ne peut arriver sans lautre +Signaux ne peut pas être forcés à 0 ou 1 Signal dépend dune flip-flop dans un état indéterminé => Flip-flop influence incapacité de vérifier ou porte subséquente

13 Projet, ELE juin 14École Polytechnique de Montréal 12 É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 dune faute +Utilisera la notion de distance dune faute pour un signal

14 Projet, ELE juin 14École Polytechnique de Montréal 13 É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

15 Projet, ELE juin 14École Polytechnique de Montréal 14 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 dun état 3- Apprend des fautes abandonnée

16 Projet, ELE juin 14École Polytechnique de Montréal 15 Frontière D Si le chemin est sans issues, frontière recule jusquau moment où elle trouve un meilleur chemin Prochaine étape, létat initial de la faute testée sera justifié Justification dun état >Un conflit est repéré => la faute rend létat non valide >Objectifs dun état sont atteints => un test est trouvé donc pas besoin dappliquer de nouveau vecteurs >Utilisation des données trouvées non fructueuse => traitement à reculons pour un time frame

17 Projet, ELE juin 14École Polytechnique de Montréal 16 Justification dun état (suite) +Assignations pour justifier => Classées du plus difficile vers le plus facile +Justification dun é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 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 dun é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

18 Projet, ELE juin 14École Polytechnique de Montréal 17 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 nayant 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

19 Projet, ELE juin 14École Polytechnique de Montréal 18 Algorithme ATOMS +ATOMS est lévolution de ATOM +Nouvelles méthodes pour réduction de lespace des états et lidentification 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

20 Projet, ELE juin 14École Polytechnique de Montréal 19 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 daffecter 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

21 Projet, ELE juin 14École Polytechnique de Montréal Lookback +Préconise la traversée des transitions détats avec lutilisation 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 nest 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 S u peut être atteint par un état S k, 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

22 Projet, ELE juin 14École Polytechnique de Montréal Région de support +Partie du circuit affectant la génération dun test pour une faute +Les portes hors de la région de support ne sont pas en connexion vers certains flip-flops, elles naffecteront pas la justification +Ne sera pas nécessaire de faire des implications hors de cette région +Évite calculs inutiles

23 Projet, ELE juin 14École Polytechnique de Montréal 22 Séquence dinitialisation +Ce nest pas tous les circuits qui possède une séquence dinitialisation +Le but est davoir aucune séquence homogène +La séquence dinitialisation comporte 3 étapes séquence de synchronisation (SS) ou séquence homing (HS) séquence distinguée (DS) séquence de transition (TS)

24 Projet, ELE juin 14École Polytechnique de Montréal 23 séquence de synchronisation (SS) Permet davoir un état connu à partir dune séquence dentrée sans se préoccuper de létat initial au départ Vecteur obtenu de la séquence de synchronisation

25 Projet, ELE juin 14École Polytechnique de Montréal 24 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

26 Projet, ELE juin 14École Polytechnique de Montréal 25 séquence distinguée (DS)

27 Projet, ELE juin 14École Polytechnique de Montréal 26 La séquence de transition (TS) Permet de passer dun état S1 à un état S2 par la plus petite séquence dentrée. Cette séquence permet de pouvoir tester dautres fautes dans un circuit séquentiel à partir dun autre état.

28 Projet, ELE juin 14École Polytechnique de Montréal 27 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.

29 Projet, ELE juin 14École Polytechnique de Montréal 28 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

30 Projet, ELE juin 14École Polytechnique de Montréal 29 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 davoir 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 dessai et on le compare au vecteur courant. Si son cost est plus petit, on remplace le vecteur courant par le vecteur dessaie sinon on essaie un nouveau vecteur dessai. Linitialisation est finie lorsque cost = 0

31 Projet, ELE juin 14École Polytechnique de Montréal 30 Détection de fautes concurrentes Vecteurs dinitialisation ont déjà détecté certaines fautes Ici le cost détermine la distance dune 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 nest pas activée, le cost sera égale à infini.

32 Projet, ELE juin 14École Polytechnique de Montréal 31 Détection de fautes concurrentes (suite) Lorsquil 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 dessaie. Si C C on rejette le vecteur. Les fautes plus isolées seront traitées dans la phase 3.

33 Projet, ELE juin 14École Polytechnique de Montréal 32 Détection des fautes uniques La fonction cost sera fondée sur la mesure de testabilité SCOAP. Le cost est déterminé par leffort 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 quil ny plus aucune faute à tester. Résumé CONTEST +Lalgorithme CONTEST est considéré évolutif, car il accepte ou rejette des vecteurs selon leur efficacité à trouver les fautes. En utilisant sa fonction cost.

34 Projet, ELE juin 14École Polytechnique de Montréal 33 Algorithme GENETIC Basé sur lalgorithme 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 quon appellera Population qui subira par la suite des itérations appelé nouvelle génération. Les vecteurs dune nouvelle génération sont fait à partir des opérations suivante: crossover, mutation et sélection sur la génération actuelle. Ceci est lité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 lalgorithme GENETIC dans le programme GATEST

35 Projet, ELE juin 14École Polytechnique de Montréal 34 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. +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 dautres déjà été déterminées par une évaluation précédente de GA. Étapes

36 Projet, ELE juin 14École Polytechnique de Montréal 35 +GA est utilisé en premier jusquaux 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 leffet de ces fautes vers les flip-flops 3-Sefforcera 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 dexé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

37 Projet, ELE juin 14École Polytechnique de Montréal 36 3 étapes ont des buts différents =>Rapport dÉtroitesse nest 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 dune 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

38 Projet, ELE juin 14École Polytechnique de Montréal 37 Comparaison des méthodes +Avantages et désavantages de Time frame: Avantages: Identifie les fautes redondantes et les fautes non détectables Extension directe dune 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.

39 Projet, ELE juin 14École Polytechnique de Montréal 38 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 didentifier les fautes redondantes Nest pas capable de déterminer le taux defficacité à 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

40 Projet, ELE juin 14École Polytechnique de Montréal 39 Comparaison des méthodes(suite) +Explication du choix dune méthode plus quune 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.

41 Projet, ELE juin 14École Polytechnique de Montréal 40 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.

42 Projet, ELE juin 14École Polytechnique de Montréal 41 Conclusion Passé à travers plusieurs algorithme et nombreuse étapes Remarqué notions importante pouvant être réutilisées Existe dautre algorithme très développé: Wavexpress: DFT et applique un algorithme modifié =>observe améliorations Basé sur partitionnement dun clock et larrêt de celui-ci. Permet darrêter global feedback loop dans le circuit et générer clock waves pour le circuit résultant, applique algo.

43 Projet, ELE juin 14École Polytechnique de Montréal 42 Questions


Télécharger ppt "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."

Présentations similaires


Annonces Google