ELE6306 : Test de systèmes électroniques
This presentation is the property of its rightful owner.
Sponsored Links
1 / 43

Francis St-Pierre ; Olivier-Don Truong Professeur : A. Khouas Département de génie électrique PowerPoint PPT Presentation


  • 61 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

Francis St-Pierre ; Olivier-Don Truong Professeur : A. Khouas Département de génie électrique

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Francis st pierre olivier don truong professeur a khouas d partement de g nie lectrique

ELE6306 : Test de systèmes électroniquesProjet de coursSynthè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


Francis st pierre olivier don truong professeur a khouas d partement de g nie lectrique

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


Introduction

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


Francis st pierre olivier don truong professeur a khouas d partement de g nie lectrique

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


Raisons

Raisons

Nine-valued logic

  • 5 valeurs logiques ne prenaient pas en compte la répétition des effets d’une faute dans un circuit séquentiel

  • 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


Exemple

Exemple


Tapes

É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


Tapes suite

É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.


Algorithme essential

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

  • 1-Étape de prétraitement

    2-Étape de génération de vecteurs 


Tape de pr traitement

É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


V rification des fautes

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 [email protected] ou [email protected]

    porte subséquente


Tape de g n ration de vecteurs

É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


Tape de g n ration de vecteurs suite

É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


Algorithme hitec

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


Fronti re d

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


Justification d un tat suite

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


Apprentissage par simulation de fautes

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


Algorithme atoms

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


Francis st pierre olivier don truong professeur a khouas d partement de g nie lectrique

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


Francis st pierre olivier don truong professeur a khouas d partement de g nie lectrique

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


Francis st pierre olivier don truong professeur a khouas d partement de g nie lectrique

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


S quence d initialisation

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)


S quence de synchronisation ss

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


S quence homing hs

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


S quence distingu e ds

séquence distinguée (DS)

  • Cette séquenceimplique 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.


La s quence de transition ts

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.


Simulation bas e s quentielle

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.


Algorithme contest

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


Initialisation dans un tat connu de d part

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


D tection de fautes concurrentes

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.


D tection de fautes concurrentes suite

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.


D tection des fautes uniques

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.


Algorithme genetic

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


Algorithme alt test hybride

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.


Francis st pierre olivier don truong professeur a khouas d partement de g nie lectrique

  • 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


Francis st pierre olivier don truong professeur a khouas d partement de g nie lectrique

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


Comparaison des m thodes

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.


Comparaison des m thodes suite

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


Comparaison des m thodes suite1

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.


Tetramax et fastscan

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.


Conclusion

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.


Questions

Questions


  • Login