Conception pour les tests - Design for testing
La conception pour les tests ou la conception pour la testabilité ( DFT ) consiste en des techniques de conception de circuits intégrés qui ajoutent des fonctionnalités de testabilité à la conception d'un produit matériel. Les fonctionnalités ajoutées facilitent le développement et l'application des tests de fabrication au matériel conçu. Le but des tests de fabrication est de valider que le matériel du produit ne contient aucun défaut de fabrication qui pourrait nuire au bon fonctionnement du produit.
Les tests sont appliqués à plusieurs étapes du flux de fabrication du matériel et, pour certains produits, peuvent également être utilisés pour la maintenance du matériel dans l'environnement du client. Les tests sont généralement pilotés par des programmes de test qui s'exécutent à l'aide d' un équipement de test automatique (ATE) ou, dans le cas de la maintenance du système, à l'intérieur du système assemblé lui-même. En plus de détecter et d'indiquer la présence de défauts (c'est-à-dire que le test échoue), les tests peuvent être en mesure de consigner des informations de diagnostic sur la nature des échecs de test rencontrés. Les informations de diagnostic peuvent être utilisées pour localiser la source de l'échec.
En d'autres termes, la réponse des vecteurs (motifs) d'un bon circuit est comparée à la réponse des vecteurs (utilisant les mêmes motifs) d'un DUT (dispositif sous test). Si la réponse est la même ou correspond, le circuit est bon. Sinon, le circuit n'est pas fabriqué comme prévu.
DFT joue un rôle important dans le développement de programmes de test et en tant qu'interface pour l'application de test et le diagnostic. La génération automatique de modèles de test , ou ATPG, est beaucoup plus facile si les règles et suggestions DFT appropriées ont été implémentées.
Histoire
Les techniques DFT ont été utilisées au moins depuis les premiers jours des équipements de traitement de données électriques / électroniques. Les premiers exemples des années 40/50 sont les commutateurs et les instruments qui permettaient à un ingénieur de «balayer» (c'est-à-dire de sonder sélectivement) la tension / le courant à certains nœuds internes d'un ordinateur analogique [scan analogique]. La DFT est souvent associée à des modifications de conception qui fournissent un meilleur accès aux éléments du circuit interne de sorte que l'état interne local puisse être contrôlé ( contrôlabilité ) et / ou observé ( observabilité ) plus facilement. Les modifications de conception peuvent être de nature strictement physique (par exemple, ajouter un point de sonde physique à un réseau) et / ou ajouter des éléments de circuit actifs pour faciliter la contrôlabilité / observabilité (par exemple, insérer un multiplexeur dans un réseau). Bien que les améliorations de la contrôlabilité et de l'observabilité des éléments de circuits internes soient certainement importantes pour les tests, elles ne sont pas le seul type de DFT. D'autres directives, par exemple, traitent des caractéristiques électromécaniques de l'interface entre le produit testé et l'équipement d'essai. Des exemples sont des lignes directrices pour la taille, la forme et l'espacement des points de sonde, ou la suggestion d'ajouter un état à haute impédance aux pilotes attachés aux réseaux sondés de manière à atténuer le risque de dommages dus à la conduite arrière.
Au fil des années, l'industrie a développé et utilisé une grande variété de directives plus ou moins détaillées et plus ou moins formelles pour les modifications souhaitées et / ou obligatoires des circuits DFT. La compréhension commune de la DFT dans le contexte de l' automatisation de la conception électronique (EDA) pour la microélectronique moderne est façonnée dans une large mesure par les capacités des outils logiciels commerciaux de DFT ainsi que par l'expertise et l'expérience d'une communauté professionnelle d'ingénieurs DFT recherchant, développant , et en utilisant de tels outils. Une grande partie du corpus de connaissances DFT se concentre sur les circuits numériques tandis que la DFT pour les circuits à signaux analogiques / mixtes prend un peu de recul.
Objectifs de la DFT pour les produits microélectroniques
La DFT affecte et dépend des méthodes utilisées pour le développement de tests, l'application de tests et les diagnostics.
La plupart des DFT supportés par des outils pratiqués dans l'industrie aujourd'hui, au moins pour les circuits numériques, reposent sur un paradigme de test structurel . Le test structurel ne tente pas directement de déterminer si la fonctionnalité globale du circuit est correcte. Au lieu de cela, il essaie de s'assurer que le circuit a été correctement assemblé à partir de certains blocs de construction de bas niveau comme spécifié dans une netlist structurelle . Par exemple, toutes les portes logiques spécifiées sont-elles présentes, fonctionnent-elles correctement et correctement connectées? La condition est que si la netlist est correcte et que les tests structurels ont confirmé l'assemblage correct des éléments du circuit, alors le circuit doit fonctionner correctement.
Notez que ceci est très différent du test fonctionnel , qui tente de valider que le circuit testé fonctionne conformément à sa spécification fonctionnelle. Ceci est étroitement lié au problème de vérification fonctionnelle consistant à déterminer si le circuit spécifié par la netlist répond aux spécifications fonctionnelles, en supposant qu'il est construit correctement.
L'un des avantages du paradigme structurel est que la génération de tests peut se concentrer sur le test d'un nombre limité d'éléments de circuit relativement simples plutôt que d'avoir à faire face à une multiplicité explosive d' états fonctionnels et de transitions d'états. Bien que la tâche de tester une seule porte logique à la fois semble simple, il y a un obstacle à surmonter. Pour les conceptions très complexes d'aujourd'hui, la plupart des portes sont profondément intégrées alors que l'équipement de test est uniquement connecté aux entrées / sorties (E / S) principales et / ou à certains points de test physiques. Les portes intégrées doivent donc être manipulées à travers des couches logiques intermédiaires. Si la logique intermédiaire contient des éléments d'état, alors le problème d'un espace d'états explosant de façon exponentielle et d'un séquençage des transitions d'état crée un problème insoluble pour la génération de tests. Pour simplifier la génération de tests, DFT résout le problème d'accessibilité en supprimant le besoin de séquences de transition d'état compliquées lorsque vous essayez de contrôler et / ou d'observer ce qui se passe à un élément de circuit interne. En fonction des choix DFT effectués lors de la conception / mise en œuvre des circuits, la génération de tests structurels pour des circuits logiques complexes peut être plus ou moins automatisée ou auto-automatisée [1] . Un objectif clé des méthodologies DFT, par conséquent, est de permettre aux concepteurs de faire des compromis entre la quantité et le type de DFT et le coût / bénéfice (temps, effort, qualité) de la tâche de génération de test.
Un autre avantage est de diagnostiquer un circuit au cas où un problème surviendrait à l'avenir. C'est comme l'ajout de certaines fonctionnalités ou dispositions dans la conception afin que l'appareil puisse être testé en cas de défaut lors de son utilisation.
Avoir hâte de
Un défi pour l'industrie est de suivre les progrès rapides de la technologie des puces (nombre d'E / S / taille / placement / espacement, vitesse d'E / S, nombre de circuits internes / vitesse / puissance, contrôle thermique, etc.) sans être obligé de améliorer continuellement l'équipement de test. Les techniques DFT modernes doivent donc offrir des options permettant de tester des puces et des assemblages de nouvelle génération sur des équipements de test existants et / ou de réduire les exigences / le coût des nouveaux équipements de test. En conséquence, les techniques DFT sont continuellement mises à jour, telles que l'incorporation de la compression, afin de s'assurer que les délais d'application des testeurs restent dans certaines limites dictées par l'objectif de coût des produits testés.
Diagnostique
Surtout pour les technologies avancées de semi-conducteurs, il est prévu que certaines des puces sur chaque tranche fabriquée contiennent des défauts qui les rendent non fonctionnelles. L'objectif principal du test est de trouver et de séparer ces puces non fonctionnelles des puces entièrement fonctionnelles, ce qui signifie qu'une ou plusieurs réponses capturées par le testeur à partir d'une puce non fonctionnelle testée diffèrent de la réponse attendue. Le pourcentage de puces qui échouent au test doit donc être étroitement lié au rendement fonctionnel attendu pour ce type de puce. En réalité, cependant, il n'est pas rare que toutes les puces d'un nouveau type de puces arrivant à l'étage de test pour la première fois échouent (ce qu'on appelle une situation de rendement nul). Dans ce cas, les puces doivent passer par un processus de débogage qui tente d'identifier la raison de la situation de rendement nul. Dans d'autres cas, les retombées du test (pourcentage d'échecs du test) peuvent être plus élevées que prévu / acceptable ou fluctuer soudainement. Là encore, les puces doivent être soumises à un processus d'analyse pour identifier la raison de la retombée excessive du test.
Dans les deux cas, des informations vitales sur la nature du problème sous-jacent peuvent être cachées dans la manière dont les puces échouent pendant le test. Pour faciliter une meilleure analyse, des informations d'échec supplémentaires au-delà d'un simple succès / échec sont collectées dans un journal des échecs. Le journal des échecs contient généralement des informations sur le moment (par exemple, cycle du testeur), où (par exemple, sur quel canal de testeur) et comment (par exemple, valeur logique) le test a échoué. Les diagnostics tentent de dériver du journal des échecs à quel emplacement logique / physique à l'intérieur de la puce le problème a probablement commencé. En exécutant un grand nombre de pannes via le processus de diagnostic, appelé diagnostic de volume, des pannes systématiques peuvent être identifiées.
Dans certains cas (par exemple, cartes de circuits imprimés , modules multi- puces (MCM), mémoires intégrées ou autonomes ), il peut être possible de réparer un circuit défaillant sous test. Pour cela, les diagnostics doivent trouver rapidement l'unité défaillante et créer un ordre de travail pour la réparation / le remplacement de l'unité défaillante.
Les approches DFT peuvent être plus ou moins conviviales pour les diagnostics. Les objectifs associés de la DFT sont de faciliter / simplifier la collecte de données de défaillance et les diagnostics dans une mesure qui peut permettre une sélection intelligente des échantillons d'analyse des défaillances (FA), ainsi que d'améliorer le coût, la précision, la vitesse et le débit des diagnostics et de la FA.
Conception de numérisation
La méthode la plus courante pour fournir des données de test des entrées de la puce aux circuits internes testés (CUT, en abrégé) et pour observer leurs sorties est appelée conception par balayage. Dans la conception par balayage, les registres ( bascules ou verrous) de la conception sont connectés en une ou plusieurs chaînes de balayage , qui sont utilisées pour accéder aux nœuds internes de la puce. Les motifs de test sont décalés via la ou les chaînes de balayage, des signaux d'horloge fonctionnels sont pulsés pour tester le circuit pendant le ou les «cycles de capture», et les résultats sont ensuite déplacés vers les broches de sortie de la puce et comparés au «bon» attendu machine "résultats.
Une application simple des techniques de balayage peut aboutir à de grands ensembles de vecteurs avec un temps de test et des exigences de mémoire longs correspondants. Les techniques de compression de test résolvent ce problème en décompressant l'entrée de balayage sur la puce et en compressant la sortie de test. Des gains importants sont possibles étant donné qu'un vecteur de test particulier n'a généralement besoin de définir et / ou d'examiner qu'une petite fraction des bits de la chaîne de balayage.
La sortie d'une conception de balayage peut être fournie sous des formes telles que le format vectoriel série (SVF), à exécuter par un équipement de test.
Déboguer à l'aide des fonctionnalités DFT
En plus d'être utiles pour la fabrication de tests «go / no go», les chaînes de balayage peuvent également être utilisées pour «déboguer» les conceptions de puces. Dans ce contexte, la puce s'exerce en "mode fonctionnel" normal (par exemple, une puce d'ordinateur ou de téléphone portable pourrait exécuter des instructions en langage d'assemblage). A tout moment, l'horloge de la puce peut être arrêtée, et la puce reconfigurée en "mode test". À ce stade, l'état interne complet peut être vidé, ou défini sur les valeurs souhaitées, à l'aide des chaînes d'analyse. Une autre utilisation de l'analyse pour faciliter le débogage consiste à analyser dans un état initial tous les éléments de la mémoire, puis à revenir en mode fonctionnel pour effectuer le débogage du système. L'avantage est d'amener le système à un état connu sans passer par de nombreux cycles d'horloge. Cette utilisation des chaînes de balayage, avec les circuits de commande d'horloge, est une sous-discipline connexe de la conception logique appelée "Conception pour le débogage" ou "Conception pour la débuggabilité".
Voir également
- Équipement de test automatique
- Génération automatique du motif de test
- BIST
- Design pour X
- Classement des défauts
- Test IDDQ
- JTAG
Les références
- IEEE Std 1149.1 (JTAG) Testability Primer Une présentation technique sur la conception pour le test centrée sur le JTAG et le Boundary Scan
- Principes de test et architectures VLSI , par LT Wang, CW Wu et XQ Wen, chapitre 2, 2006. Elsevier.
- Manuel de l'automatisation de la conception électronique pour les circuits intégrés , par Lavagno, Martin et Scheffer, ISBN 0-8493-3096-3 Une enquête sur le domaine de l'automatisation de la conception électronique . Ce résumé est dérivé (avec permission) du Vol I, Chapitre 21, Design For Test , par Bernd Koenemann.
-
^ Ben-Gal I., Herer Y. et Raz T. (2003). "Procédure d'inspection auto-corrigée en cas d'erreurs d'inspection" (PDF) . IIE Transactions on Quality and Reliability, 34 (6), p. 529-540. Citer le journal nécessite
|journal=( aide ) - ^ "Conception pour le débogage: l'impératif tacite dans la conception de puces" par Ron Wilson, EDN, 21/06/2007