Alberto Bosio Bosio@lirmm.fr Chapitre 5 ATPG Alberto Bosio Bosio@lirmm.fr 1.

Slides:



Advertisements
Présentations similaires
Explorer un espace d’états
Advertisements

Chapitre 2 Modélisation de Fautes
« 1.7. Fonction mémoire et différents types de logiques »
3. Variantes de l’algorithme
Recherche de motifs par méthodes exploratoires: Comparaisons de performances et statistiques sur le score.
Test de Systèmes Intégrés Digitaux et Mixtes
Sensibilisation à l’Algorithmique
Introduction à l’Algorithmique
Sensibilisation à l’Algorithmique et structure de données
Cours d'algorithmique 11 / Intranet 1 9 janvier 2006 Cours dAlgorithmique N P - complétude.
Equipe optimisation TempoSoft
Algèbre de Boole Définitions :
Optimisation dans les télécommunications
A.Faÿ 1 Recherche opérationnelle Résumé de cours.
Plan Problématique Modélisation des fautes de délai
Cours d’Automatique MASTER OIV
To Tune or not to Tune? To Tune or not to Tune? A Lightweight Physical Design Alerter Costa Jean-Denis Le Yaouanc Aurélie Mécanismes de SGBD 2007.
UNIVERSITE DES SCIENCES ET DE LA TECHNOLOGIE D’ORAN
Structures de données linéaires
INFOR 101 Chapitre 3 Marianne Morris.
Cours #6 Conception d’unités de contrôle
Les lois des probabilités
©2008 Landrault 1 Christian LANDRAULT Laboratoire dInformatique, de Robotique et de Microélectronique de Montpellier (LIRMM) ANALYSE.
Chapitre 2 : La fonction de transfert
IFT-2000: Structures de Données Introduction à lanalyse dalgorithmes Dominic Genest, 2009.
SÉMINAIRE DE LANCEMENT DES COURS EN LIGNE
Algorithmique et Programmation
1 Exercice : longueur d’un mot est-elle paire ?  Test fonctionnel  Quel ensemble de valeur choisir / spécification  Test structurel  Soit le code d’un.
CaDEA atelier 2 Input Brad cousins, university of ottawa
IFT Complexité et NP-complétude
Gestion de Fichiers Tri Interne Efficace et Tri Externe.
Optimisation linéaire
Plan Introduction Méthode Time-Frame Algorithme Essential
Cours #7 Vérification d’un modèle VHDL
Efficacité des algorithmes
Mise en oeuvre des MMCs L'utilisation des MMCs en reconnaissance des formes s'effectue en trois étapes : définition de la topologie de la chaîne de Markov,
TEST ET TESTABILITE DES CIRCUITS INTEGRES DIGITAUX
Génération de colonnes pour la résolution des problemes de foresterie
Structures de données IFT-2000 Abder Alikacem La récursivité Semaine 5 Département dinformatique et de génie logiciel Édition Septembre 2009.
Programmation linéaire en nombres entiers : les méthodes de troncature
Structures de données IFT-2000 Abder Alikacem La récursivité Département d’informatique et de génie logiciel Édition Septembre 2009.
Banc d’essai pour un circuit combinatoire
les méthodes de recherche locale
Chapitre 3 Simulation de Fautes
Objectifs de vérification logiciels GEF492A 2014 Référence: [HvV §14.1] Capt Vincent Roberge Collège Militaire Royal du Canada Génie électrique et génie.
Hatainville Les Moitiers d’Allonne – Tel : Website : stratic.online.com La démarche projet Mars 2001.
Programmation linéaire en nombres entiers
Méthodes de tri.
1 Alain Casali Christian Ernst Extraction de Règles de Corrélation Décisionnelles 29 Janvier 2009.
Présentation du marché obligataire
I.A. Session 2009/2010 E.P.S.I. Bordeaux – C.S.I.I – 2 ème Année – Cours n°6.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Banc d’essai pour un.
Test et Testabilité des Circuits Intégrés Digitaux
Chapitre 5 Test de circuits séquentiels
GF-11: Tri Interne Efficace et Tri Externe
1 INFOR 101 Chapitre 4 Marianne Morris. 2 Révision de chapitre 3 Algorithmes Sequential Search Selection Sort Binary Search Ordre de magnitude  (n) Mesurer.
Cours LCS N°4 Présenté par Mr: LALLALI
Recherches locales et méta-heuristiques
Introduction et Généralités sur l’Algorithmique
Recherche de motifs par projections aléatoires
1/16 Chapitre 3: Représentation des systèmes par la notion de variables d’état Contenu du chapitre 3.1. Introduction 3.2. Les variables d’état d’un système.
Compression de données de test : Réduction du nombre de broches et gain en temps de test Julien DALMASSO, Marie-Lise FLOTTES, Bruno ROUZEYRE {dalmasso,
ELE6306 : Test de systèmes électroniques Test intégré et Modèle de faute de délai Etudiante : S. BENCHIKH Professeur : A. Khouas Département de génie électrique.
1 Logiciels de confection automatique d’horaires.
Post-optimisation, analyse de sensibilité et paramétrage
CSI25101 Tri Plus efficace. CSI25102 Tri récursif Le tri récursif divise les données de grande taille en deux presque moitiés et est appelé récursivement.
Raison d'être de la structure de fichiers : Les premiers travaux : Début des années 1960 : En 1963 : Près de 10 ans plus tard... (à peu près 1973) : Durant.
A. Lebrun. Principe de base Dans la logique combinatoire, les sorties dépendent des différentes entrées et peuvent être calculées par l’algèbre de Boole.
Programmation par contraintes Réalisé par: WETCHA Chaima MOKDED Mohamed Ali FIA3-GL-AL 1 1.
Algorithmes Branch & Bound Module IAD/RP/RO Master d ’informatique Paris 6 Philippe Chrétienne.
Transcription de la présentation:

Alberto Bosio Bosio@lirmm.fr Chapitre 5 ATPG Alberto Bosio Bosio@lirmm.fr 1

Génération de vecteurs de test Généralités Test Aléatoire Test Déterministe Gestion des fautes Principes et Concepts élémentaires Génération au niveau structurel Circuit combinatoire (D-algorithme, PODEM) Circuit séquentiel (Chapitre 6) Génération au niveau fonctionnel Mémoire (Chapitre 8)

Généralités Hypothèses (dans ce chapitre) : Test appliqué hors du fonctionnement normal du circuit (off-line) Vecteurs mémorisés dans un testeur qui se charge d’appliquer la séquence au circuit (test externe) Résultats par comparaison complète des réponses du circuit avec les réponses attendues

Généralités Principaux aspects : Le coût de la Génération de Vecteurs de Test La qualité du test généré Le coût d’application du test généré Evaluation (dans le contexte d’un modèle de fautes) : Taux de couverture Tc

Taux de couverture : Tc Taux de couverture de fautes Efficacité Connu par simulation de faute Utilisé dans l’industrie Efficacité # de fautes détectées par la séquence de test # de fautes total (dans le modèle) Tc = # de fautes détectées par la séquence de test Eff = # de fautes testables

Test aléatoire Vecteurs de test générés de façon aléatoire Coût du développement peu élevé

Test aléatoire Qualité du test : Dépend de la longueur de la séquence Simple obtenir Tc  60% - 80% Séquence longue pour un Tc raisonnable (95%) Séquence très longue pour un Tc élevé (>98%) Coût d’application élevé car séquences longues : Temps d’application et mémoire nécessaire élevés

Test Déterministe Il peut être manuel ou automatique En général, appliqué à des sous ensembles fonctionnels du circuit (approche boule de neige «start-small», «diviser pour régner») Basé le plus souvent sur le modèle de collage

Génération Automatique de vecteurs de test ATPG : Automatic Test Pattern Generation GESTION DES FAUTES LISTE DE FAUTES REDUITE DESCRIPTION DU CIRCUIT GENERATION DE VECTEURS DE TEST TAUX DE COUVERTURE VECTEURS DE TEST

Génération au niveau structurel Test des circuits combinatoires : Idée de base : sensibilisation de chemins Technique : Choix d’un chemin sensible de l’origine de la panne jusqu’à une sortie primaire = phase de propagation aval ("forward-trace phase") Déterminer un vecteur d’entrée qui satisfasse toutes les assignations effectuées dans la phase précédente = phase de propagation amont ("backward-trace phase")

Génération au niveau structurel Sensibilisation de la faute Effet de faute X 1 Circuit combinatoire 1/0 1/0 Entrées Primaires (PI) Sorties Primaires (PO) Chemin de propagation CA0 (Sa0)

Le D-algorithme : Principe Principe de base définir le test d’une faute f en termes d’E/S de la porte fautive déterminer tous les chemins sensibilisables du site de la faute à toutes les SPs du circuit (propagation aval) construire le vecteur de test sur les EPs qui réalise toutes les assignations effectuées en 1/ et 2/ (propagation amont)

Le D-algorithme : Principe Algèbre à 5 valeurs 0, 1, X, D (1/0), D (0/1) D  1 dans le circuit sain, 0 dans le circuit fautif D  0 dans le circuit sain, 1 dans le circuit fautif Dans ce cours D est parfois noté D* 3 notions D-cube primitif Couverture singulière D-cube de propagation

sur la sortie d’une porte AND Le D-algorithme D-cube primitif d’une faute affectant une porte Permet de mettre en évidence une faute en sortie d’une porte sous forme de D (D) en appliquant certaines valeurs sur les entrées e1 e2 S 1 1 D D-cube primitif du CA0 sur la sortie d’une porte AND

Le D-algorithme Couverture singulière d’une porte Table de vérité réduite utilisant les valeurs (0, 1, X) e1 e2 S 0 x 0 x 0 0 1 1 1 Couverture singulière d’une porte AND à 2 entrées

Le D-algorithme D-cube de propagation d’une porte Spécifie les valeurs à appliquer sur les entrées excepté une (ou plus) tel qu’un changement sur cette entrée (ou ces entrées) induit un changement en sortie de la porte. Propage D(D) de la (les) entrée(s) vers la sortie e1 e2 S D 1 D cube simple 1 D D   ’’ D D D cube multiple D 1 D cube simple 1 D D ’’ D-cube de propagation AND à 2 entrées

D-Algorithm (Roth et al., 1967, D-alg II) Use D-algebra Activate fault Place a D or D* at fault site Do justification, forward implication and consistency check for all signals Repeatedly propagate D-chain toward POs through a gate Backtrack if A conflict occurs, or D-frontier becomes a null set Stop when D or D* at a PO, i.e., test found, or If search exhausted without a test, then no test possible

Definitions Justification: Changing inputs of a gate if the present input values do not justify the output value. Forward implication: Determination of the gate output value, which is X, according to the input values. Consistency check: Verifying that the gate output is justifiable from the values of inputs, which may have changed since the output was determined. D-frontier: Set of gates whose inputs have a D or D, and the output is X.

D-algorithme : exemple 0/ Construire le tableau des D-cubes de propagation du circuit Lignes e1 e2 e3 e4 l5 l6 l7 l8 l9 l10 l11 l12 a 0 x D x D* x x x x x x x b D x 0 x D* x x x x x x x c x 0 D x x D* x x x x x x d x D 0 x x D* x x x x x x e x 0 x D x x D* x x x x x f x D x 0 x x D* x x x x x g x 0 x x D x x D* x x x x h x D x x 0 x x D* x x x x 9 0 x x x x D x x D* x x x ….. Tableau des D-cubes de propagation du circuit Cubes

D-algorithme : exemple 1/ Choisir un D-cube primitif (C0) pour la faute considérée (Sa0 - I6): e1 e2 e3 e4 l5 l6 l7 l8 l9 l10 l11 l12 x 0 0 x x D x x x x x x

D-algorithme : exemple collage à 0 D

D-algorithme : exemple 2/ Propagation de D jusqu’à la sortie l12 (phase de propagation aval) D-intersection Porte Porte à Cube e1 e2 e3 e4 l5 l6 l7 l8 l9 l10 l11 l12 activée activer C0 G6 G9,G10 I D C1=C0  (9) D D* G9 G12 C2=C0  (10) D D* G10 G12 II C3=C1  (12) D D* D G12  C4=C2  (12) D D* D G12  C5=C0  (9)  (10) D D* D* G9,G10 G12 III C6=C5  (12) D D* D* D G12  I : Cube initial (C0) pour la faute de sortie de G6 collée à 0 II : 2 Chemins simples (D-cube simple) conduisant au cubes C3 et C4 III : 1 Chemin multiple (D-cube multiple) conduisant au cube C6

D-algorithme : exemple Règles d ’intersection des D-cubes de propagation  0 1 x D D* 0 0 - 0 - - 1 - 1 1 - - x 0 1 x D D* D - - D D - D* - - D* - D* Opération de D-intersection () conflit e1 e2 e3 e4 l5 l6 l7 l8 l9 l10 l11 l12 C0 x 0 0 x x D x x x x x x (9) 0 x x x x D x x D* x x x  = 0 0 0 x x D x x D* x x x

D-algorithme : exemple C3 D* collage à 0 D D

D-algorithme : exemple C4 collage à 0 D D D*

D-algorithme : exemple C6 D* collage à 0 D D D*

D-algorithme : exemple 3/ construire le vecteur de test sur les EPs qui réalise toutes les assignations effectuées en 1/ et 2/ (phase de propagation amont)

D-algorithme : exemple 3/ Phase de justification du cube final C3 : cube  couverture singulière l12 D-intersection Cube C3 e1 e2 e3 e4 l5 l6 l7 l8 l9 l10 l11 x x D x D* D P11(a) couverture singulière NOR G11 x x x x x x 1 x x x x P11(b) couverture singulière NOR G11 x x 1 x x x x x x x x C3  P11(a) D 1 D* D P10(a) NOR G10 P10(b) NOR G10 1 x x 1 C3  P11(a)  P10(a) 1 D 1 D* D P8(a) NOR G8 P8(b) NOR G8 1 x x 1 C3  P11(a)  P10(a)  P8(b) 1 1 D 1 D* D P7 NOR G7 1 Valeur à justifier Incompatibilité sur l’EP e4 Impossible de tester le CA0/l6 par le chemin simple de propagation correspondant à C3 (G9, G12) Incompatibilité

D-algorithme : Exemple 3/ Phase de justification du cube final C6 : cube  couverture singulière

Problèmes avec le D-algorithme Temps d’exécution trop important (beaucoup de chemins + fautes redondantes) Amélioration des temps de calcul 9V- algorithme (même stratégie mais sensibilisation simultanée de tous les chemins de propagation) Changement de stratégie avec PODEM (parcours dans un arbre)

PODEM : Path Oriented Decision Making Le test des circuits combinatoires est vu comme un PB de parcours dans un arbre Fondement : algorithme d’énumération dans lequel toutes les combinaisons d’entrée sont implicitement (mais exhaustivement) examinées comme vecteur de test d’une faute donnée La structure du circuit est utilisée pour guider les essais successifs des combinaisons d’entrée

Principe de l’algorithme d’énumération Toutes les entrées à X Assignation initiale ei 1 ej 1 ek ek 1 el el 1 dépend de l ’ordre des variables dépend des valeurs assignées em em 1 11111 11110

Algorithme Général 1. détermination de l’objectif à atteindre propagation du D vers les SPs 2. «remontée» de l’objectif vers les EPs (plus simple que D-algorithme car utilisation d’heuristiques) Si justification des entrées d’une porte dont la sortie est à une valeur prioritaire, choisir l’entrée la plus facilement contrôlable à la valeur prioritaire = parmi plusieurs solutions, choix de celle qui a le plus de chance d’être satisfaite Si justification des entrées d’une porte dont la sortie est à une valeur non prioritaire, choisir l’entrée la plus difficile à contrôler à la valeur non prioritaire = parmi plusieurs problèmes à résoudre choix de celui réputé comme le plus difficile (afin d’éviter un échec global après la résolution de problèmes plus faciles) 3. Implications des assignations faites en 2 4. si test trouvé sortir 5. sinon 5.1. si objectif atteint alors modification de l’objectif retour en 1 5.2. sinon si test encore possible alors retour en 2 pour nouvelle assignation sinon retour en 1 pour modification de l’objectif

Exemple collage à 1

Exemple Remarque : Limite de propagation de la valeur fautive D = D-frontière

PODEM : Exercice collage à 0

FAN C’est une amélioration de PODEM sur un certain nombre d’heuristiques relatives aux divergences (Fan out) d’où son nom Différences majeures : Arrêt des justifications des valeurs sur les sommets de cônes (nœud sans divergence en amont) car leur justification sera toujours possible => gain de temps si échec sur justification de valeurs sur d’autres nœuds Propagation amont multiple (sur tous les chemins possibles) => pied de divergence se voit affecté comme objectif celui le plus souvent remonté à travers les branches de divergence Sensibilisation obligée => assignation des valeurs nécessaires de propagation sur toutes les portes "obligées" c’est à dire faisant nécessairement partie du chemin de propagation