Francis St-Pierre ; Olivier-Don Truong Professeur : A. Khouas Département de génie électrique
description
Transcript of Francis St-Pierre ; Olivier-Don Truong Professeur : A. Khouas Département de génie électrique
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, ELE6306 - 20 avr. 2023 É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
3
Projet, ELE6306 - 20 avr. 2023 É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
4
Projet, ELE6306 - 20 avr. 2023 École Polytechnique de Montréal
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
Expension en Time-Frame
5
Projet, ELE6306 - 20 avr. 2023 É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
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
Nine-valued logic
6
Projet, ELE6306 - 20 avr. 2023 École Polytechnique de Montréal
Exemple
7
Projet, ELE6306 - 20 avr. 2023 É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
8
Projet, ELE6306 - 20 avr. 2023 É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.
9
Projet, ELE6306 - 20 avr. 2023 É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
1- Étape de prétraitement
2- Étape de génération de vecteurs
10
Projet, ELE6306 - 20 avr. 2023 É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
11
Projet, ELE6306 - 20 avr. 2023 École Polytechnique de Montréal
12
Projet, ELE6306 - 20 avr. 2023 É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
13
Projet, ELE6306 - 20 avr. 2023 É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
14
Projet, ELE6306 - 20 avr. 2023 É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
15
Projet, ELE6306 - 20 avr. 2023 É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
16
Projet, ELE6306 - 20 avr. 2023 É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
17
Projet, ELE6306 - 20 avr. 2023 É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
18
Projet, ELE6306 - 20 avr. 2023 É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
19
Projet, ELE6306 - 20 avr. 2023 É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
20
Projet, ELE6306 - 20 avr. 2023 É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
21
Projet, ELE6306 - 20 avr. 2023 É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
22
Projet, ELE6306 - 20 avr. 2023 É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
23
Projet, ELE6306 - 20 avr. 2023 É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)
24
Projet, ELE6306 - 20 avr. 2023 É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
25
Projet, ELE6306 - 20 avr. 2023 É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
26
Projet, ELE6306 - 20 avr. 2023 É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..
27
Projet, ELE6306 - 20 avr. 2023 É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.
28
Projet, ELE6306 - 20 avr. 2023 É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.
29
Projet, ELE6306 - 20 avr. 2023 É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
30
Projet, ELE6306 - 20 avr. 2023 É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
31
Projet, ELE6306 - 20 avr. 2023 École Polytechnique de Montréal
Détection de fautes concurrentesVecteurs d’initialisation ont déjà détecté certaines fautesIci 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.
32
Projet, ELE6306 - 20 avr. 2023 É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.
33
Projet, ELE6306 - 20 avr. 2023 É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é CONTESTL’algorithme 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, ELE6306 - 20 avr. 2023 É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
35
Projet, ELE6306 - 20 avr. 2023 É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.
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.
Étapes
36
Projet, ELE6306 - 20 avr. 2023 École Polytechnique de Montréal
GA est utilisé en premier jusqu’aux résultats stagnant
Composé de trois étapes pointant sur trois objectifs différents1-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
37
Projet, ELE6306 - 20 avr. 2023 É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
38
Projet, ELE6306 - 20 avr. 2023 É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.
39
Projet, ELE6306 - 20 avr. 2023 É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 testTest pas mal toutes les sortes de circuits (sauf
rétroaction)Moins de temps de CPU
Désavantages: Incapable d’identifier les fautes redondantesN’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
40
Projet, ELE6306 - 20 avr. 2023 É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.
41
Projet, ELE6306 - 20 avr. 2023 É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.
42
Projet, ELE6306 - 20 avr. 2023 É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.
43
Projet, ELE6306 - 20 avr. 2023 École Polytechnique de Montréal
Questions