Simon Provost, Jean-François Thibeault ELE6306 : Test de systèmes électroniques Génération de vecteurs pour tester les fautes de délai Simon Provost, Jean-François Thibeault Professeur : A. Khouas Département de génie électrique École Polytechnique de Montréal
Plan Problématique Modélisation des fautes de délai Qualification des tests Méthodes de génération Génération avec énumération des chemins NEST BIST
Problématique Délais sont inhérents aux circuits électroniques Les délais varient d’un circuit à l’autre Nouveaux délais engendrés par le procédé de fabrication Description d’une faute de délai Temps d’application du test Génération de vecteurs de test difficile Transitions observables? Problème NP-Complet
Modélisation des fautes de délai Modèle de délai sur les portes Transition d’une porte hors du maximum permis Modèle simple Même algorithme que les fautes de collage Modèle de délai sur les chemins Transition propagée sur un chemin Plus précis Nombre de chemin croît exponentiellement avec le nombre de nœud.
Vecteurs de test Doivent pouvoir créer une transition observable Besoin de deux vecteurs de test Sensibilisation du chemin Propagation de la transition Vecteur d’initialisation inséré au temps t0 Vecteur de propagation inséré au temps t1 Sortie lue au temps t2 t2 = t1 + tc où tc est la période de l’horloge du système à tester
Vecteurs de test (suite)
Robustesse du test Un test est considéré comme robuste si la transition induite par les deux vecteurs de test détectent la faute peu importe les délais dans le reste du circuit Un test est considéré comme robuste si toutes les transitions à chaque noeud du chemin testé doivent attendre que la transition précédente ait lieu avant d’être complété
Robustesse du test (exemple) Test robuste Test non robuste
Variables utilisées Couverture des variables Tableau des variables
Sensibilisation du chemin Assignation des entrées pour la création d’un test robuste Les entrées qui ne sont pas sur le chemin à tester, ne doivent pas influencer le test (off-path) Voici des valeurs possibles pour ces entrées:
Méthodes de génération énumérative Plusieurs méthodes nécessitent de connaître les chemins à tester Les chemins choisis sont ceux dont le délai prévu est supérieur à un temps prédéterminé Typiquement le délai limite est en pourcentage de la période d’horloge Le nombre de chemins ainsi sélectionné peut être grand dans un circuit optimisé en vitesse
Méthodes de génération (1) Choisir un chemin à tester Établir les valeurs du off-path Modéliser les contraintes aux temps t0 et t1 à l’aide d’une porte « et » Réduit le problème à un problème de satisfaisabilité Le respect des contraintes imposés par la porte « et » ne garanti pas un test robuste
Méthodes de génération (2) Établir les valeurs du off-path permettant le test robuste Propager les valeurs jusqu’à l’entrée en utilisant un algorithme inspiré de PODEM Propager les signaux dans l’ordre suivant : 1er : Tous les signaux S0 & S1 et ensuite les signaux U0 & U1 2e : Les signaux ayant la contrôlabilité la plus élevée Produit un test robuste
NEST : Un méthode de génération non-énumérative Possède l’avantage de ne pas avoir à énumérer les chemins du circuit Algorithme en fonction des nœuds, donc complexité réduite Cherche les transitions qui testent le plus grand nombre de chemins possibles Produit un ensemble de vecteurs de test plus petits
NEST : Un méthode de génération non-énumérative Présentation de la méthode On calcul le nombre de chemins différents entre chaque nœuds du circuit Pour tenir compte des portes qui inversent, on ajoute une parité sur le nombre d’inversion
NEST : Un méthode de génération non-énumérative Ensuite, on assigne les transitions sur les chemins à tester et les valeurs sur les off-path Nous obtenons ainsi un vecteur permettant de tester plusieurs chemins Lorsqu’un vecteur est trouvé, on reprend la procédure mais en ignorant les nœuds se trouvant sur des chemins déjà couverts
Test orienté BIST Test basé sur une architecture BIST Probabilité de détecter une faute de transition à l’aide d’un ensemble de paires de vecteurs: P(ft) = |S(ft)|/(2m x 2m) où ft : ensemble des fautes S(ft) : ens. des vecteurs qui détectent la faute m : nombre d’entrées du circuit sous test Si P(ft) est petit, la faute est dite « résistante aux vecteurs aléatoires » Pour détecter ces fautes, il faudrait utiliser des vecteurs générés
Test orienté BIST (suite) Mélange de vecteurs pseudo aléatoires et de vecteurs générés Permet d’atteindre un haut taux de couverture rapidement
Conclusion Les fautes de délai seront toujours plus problématiques avec l’optimisation des circuits en vitesse et avec l’accroissement de leur taille. La génération des vecteurs et le choix des chemins à tester sont et seront toujours les plus gros problèmes associés à la détection des fautes de délai
Questions
Références et Auteurs G.L. Smith, “Model for delay faults based upon path” in Proc. Int. Test Conf., Nov 1985, pp. 342-349 C. J. Lin, S.M. Reddy, “On delay fault testing in logic circuits “, IEEE Trans. Computer-Aided Design, pp. 694-703, Sept 1987 S. Patil, S. M. Reddy, “A test generation system for path delay faults“, IEEE 1989, pp. 40-43 I. Pomeranz, S.M. Reddy, “NEST: A nonenumerative test generation method for path delay faults in combinational circuits “, IEEE Trans. Computer-Aided Design, IEEE 1995, pp. 1505-1515 T. Asakawa, K. Iwasaki, S. Kajihara, “BIST-Oriented test pattern generator for detection of transition faults“, Systems and Computers in Japan, Vol. 34, No. 3, 2003, pp. 76-84 J-F. Thibeault (B.Ing 2002 Polytechnique de Montréal) Étudiant au M.Sc.A en Génie Informatique au laboratoire CIRCUS du GRM sous la supervision de Prof. Guy Bois. S. Provost (DEC 1998 CEGEP de Ahuntsic) (oui oui, j’ai juste un DEC…) Étudiant au B.Ing-M.Sc.A intégré en Génie Informatique au laboratoire CIRCUS du GRM sous la supervision de Prof. Guy Bois.