1 / 52

Intégration des Systèmes Notions de test et testabilité

Intégration des Systèmes Notions de test et testabilité. Michele Portolan Grenoble INP / TIMA Michele.Portolan@imag.fr. Pourquoi s’intéresser au test ?. 1. Fondamental pour la qualité. 2. Une part croissante dans le développement. 3. Une part croissante dans le coût de production.

luana
Download Presentation

Intégration des Systèmes Notions de test et testabilité

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Intégration des Systèmes Notions de test et testabilité Michele Portolan Grenoble INP / TIMA Michele.Portolan@imag.fr

  2. Pourquoi s’intéresser au test ? 1. Fondamental pour la qualité 2. Une part croissante dans le développement 3. Une part croissante dans le coût de production TTM => "Time to market" … TTM => "Time to money" ! Test & Measurement Europe – Dec/Jan 2002

  3. Contenu et objectif • Objectif : introduction aux concepts de base liés au test de circuits numériques ("custom") • Notions générales et terminologie • Prise en compte dans le processus de conception/fabrication • Test fonctionnel / Test structurel (vecteurs, taux de couverture) • Approches de conception pour le test (niveau circuit) • Conception pour le test des équipements : norme "boundary scan" et utilisation en dehors du domaine du test dans les systèmes embarqués • Pratique : insertion de scan et génération de vecteurs pendant le projet

  4. 1. Terminologie : défaut ou faute ? • Défaut • Niveau physique • Exemples : connexion coupée, court-circuit d'oxyde, contact mal formé … • Faute • Représentation des défauts au niveau logique (abstraction) • Exemple : collage à 0 ou à 1 Faute permanente ou intermittente si modélisation d'un défaut Faute transitoire possible lorsque liée à l'environnement ou à l'intégrité du signal

  5. Terminologie : test ou vérification ? • Vérification/Validation • Recherche d'erreurs de conception • Phase de conception • Test • Recherche de défauts/fautes (dus à la fabrication, au vieillissement ou à l'environnement opérationnel) • Phase de fabrication ou phase opérationnelle/maintenance • Conception supposée validée Enseignement focalisé sur les concepts et techniques du test

  6. Terminologie : test ou diagnostic ? • Test • Détection globale de la présence de défauts/fautes • Identification des circuits bons (go/no go) • Diagnostic • Détection individuelle et localisation des défauts/fautes • Permet réparation ou correction de conception Enseignement limité aux concepts et techniques du test

  7. Terminologie : quel type de test ? • Test en ligne • Test effectué en parallèle de l'exécution de la fonction opérationnelle • Lié à la sûreté de fonctionnement • Vieillissement, effets parasites ( ex. SEUs radiations, particules) • Test hors ligne • Test effectué en dehors de l'exécution de la fonction opérationnelle • Eventuellement réalisé dans l'environnement opérationnel ("in situ") • Test de fin de fabrication (défauts) et de maintenance (vieillissement) Enseignement limité aux concepts et techniques du test hors ligne

  8. Distribution 2. Des "masques" au circuit encapsulé Masques (CAO) Masques physiques Fabrication (process) Découpe/ assemblage Tranches achevées

  9. Tranches achevées Test sous pointes Le test en fabrication Fabrication (process) Contrôles visuels (options)

  10. Test sous pointes Photo : CNET Grenoble

  11. Vieillissement accéléré Découpe/ assemblage Test en boîtier Test en étuve (option) Distribution Le test en fabrication Fabrication (process) Tranches achevées Contrôles visuels (options) Test sous pointes - paramétrique - consommation - fonction (conditions nominales et limites) - performances dynamiques - motifs de surveillance du process (caractérisation électrique) - circuits (courants de fuite, puis test fréquence faible, aux conditions d'environnement nominales)

  12. Flot de conception : préparation du test Spécifications de test ("Boundary scan", fonctions de test, normes, taux de couverture, …) Spécifications "Système" et "haut niveau" Netlist circuit Vecteurs des blocs Vecteurs circuit Contraintes de synthèse (insertion de scan, …) Macrocellules : BIST, … Génération de vecteurs, Contraintes sur les simulations Conception logique Simulation de fautes Simulation orientée test Compilateurs : BIST … Génération physique Post-traitement Ré-organisation de scan,dimensionnement d'alimentations … Programme de test P&R

  13. Passage simulation -> programme de test Résultat de simulation (fichier trace tabulaire statique) Description de brochage étendue (groupes de signaux) Traduction en commandes du testeur Nécessite de prendre en compte les limitations du testeur pendant la définition des simulations

  14. Caractéristiques majeures d'un testeur • Nombre de canaux, nombre de canaux bidirectionnels • Fréquence maximum et minimum • Profondeur mémoire par canal • Nombre d'alimentations et caractéristiques • Largeur d'impulsion minimum applicable sur les entrées • Largeur d'impulsion minimum détectable sur les sorties • Résolutions électrique et temporelle • Nombre de générateurs de phases (nombre de fronts disponibles => nombre de chronogrammes de référence) • Formats d'application des signaux • Formats de comparaison (type d'échantillonnage) • Types de mesures (fonctionnel, paramétrique, …) • …

  15. STIL : Standard Test Interface Language • Norme IEEE 1450 : format de données commun pour faciliter le transfert de vecteurs de test entre ATPG, simulateur, BIST et testeur (ATE) • Standard pour tous les fournisseurs CAO / ATE – nouvelle forme de définition de chronogrammes (WaveformTables) • Réduction de la quantité de données ("gigabyte problem") : moyens de formatage efficaces + macros et procédures • Langage flexible pour répondre à des besoins variés • Bonne prise en compte des besoins pour les approches scan (procédures pour protocoles de chargement/déchargement, représentation compacte en hexadécimal, possibilité d'annotations aidant au diagnostic, …) • Utilisation d'évènements (drive-up, drive-down, drive-on, drive-off, compare-high, compare-low, etc. …) pour la définition de chronogrammes, au lieu des formats fixes plus classiques (RZ, NRZ, …)

  16. Le test dans le flot de conception Objectif pour le circuit final : séquence de test (ensemble de vecteurs) de longueur minimale pour une qualité de test donnée Ordre de grandeur typique : exécution < 1s La testabilité doit être prise en compte lors de chaque étape de la conception (cahier des charges, architecture, conception logique, et même conception physique)

  17. 3. Vecteurs de test : principe de base 0 1 1 1 0 0 Circuit/ Système 1 1 0 0 1 Entrées Primaires Sorties Primaires Vecteur de sortie Vs Vecteur d'entrée Ve Accessibles de l'extérieur Vecteur de test : V = (Ve,Vs) => diffère d'un stimulus de simulation classique Séquence de test : suite ordonnée ou non de vecteurs de test

  18. Détermination des vecteurs de test • Test fonctionnel • Semblable aux stimuli de validation de la conception (validation des fonctions), mais petit sous-ensemble "significatif" • Généralement déterminé "manuellement" par le concepteur • Test structurel • La conception doit être préalablement validée • Fondé sur la structure au niveau portes (ou transistors) du circuit et sur la fonction de chaque élément de base, plutôt que sur la fonction globale • Recherche d'un taux de couverture, pour un modèle de fautes donné • Généralement déterminé avec l'aide d'outils de CAO (ATPG)

  19. Effort pour la génération de vecteurs Effort doublé pour chaque génération de processeur [Intel]

  20. Taux de couverture Liste de fautes indétectables Test structurel Vecteurs fonctionnels Netlist (portes, transistors) Choix d'un modèle de fautes (abstraction au niveau logique/électrique des effets des défauts) Recherche d'une séquence (ordonnée/non ordonnée) minimale de vecteurs de test détectant les fautes considérées dans la structure spécifiée (Automatic) Test Pattern Generation Séquence de test Simulation de fautes

  21. Défauts/fautes … Circuit ouvert • Défauts aléatoires ponctuels • Perte de rendement systématique(marginalités) • Dispersions … Court-circuit

  22. Modèle des collages logiques ("stuck-at") Modèle le plus utilisé : collages simples au niveau portes Vdd s-a-1 a s b Reconnu pour modéliser ~70% des défauts réels en CMOS(cf. ITRS 1999) – Note : peu significatif pour les cellules avec structures 3 états Extensions : collages au niveau transistors, collages multiples

  23. Passage faute -> vecteur de test (principe) Cas d'un collage : 1. Justification : imposer un niveau bas 1 3. Propagation de la faute s-a-1 ? a 1 1 (0 si faute présente) s 1 V = 101 b Cohérence Justification/Propagation 0 2. Sensibilisation du chemin • Algorithmes (minimisation du jeu de vecteurs) • Problèmes de complexité (structure, nombre de portes et de chemins, séquentialité et rebouclages, …)

  24. Autres modèles de fautes • Modélisation incomplète par les collages des défauts physiques réels => autres modèles généraux et modèles spécifiques (macro-cellules denses : exemple des couplages entre cellules d'un plan mémoire) • Stuck-on, stuck-open => comportement séquentiel induit (mémorisation dynamique) • Court-circuits francs ou résistifs (shorts, bridges) • Fautes de retard (niveau portes ou chemins) • Couplages entre interconnexions (sub-micronique profond) • Analyse paramétrique (exemple du test de courant Iddq) • Court-circuits au niveau des interconnexions • Défauts d'oxyde de grille, court-circuits internes aux cellules, …

  25. Complémentarité des approches Résultats comparés : fautes détectées par • test fonctionnel, • test structurel (scan), • test des fautes de retard • test Iddq (intersections à visualiser sur une sphère) Note : <500 defect per million requis pour µP… Une couverture ~100% pour les collages simples est insuffisante pour un niveau correct en ppm (=> Iddq …) Test & Measurement Europe – Dec/Jan 2002

  26. Exemple de faute non testable s-a-1 ?! Problème de redondance logique : a + a . b = a + b Assez facile à éliminer dans un bloc, beaucoup plus délicat dans un assemblage hiérarchique (optimisations souvent locales aux blocs)

  27. 4. Notion de testabilité • "Aptitude d'un circuit ou d'un système à être testé" • Prend en compte : • Le taux de couverture (pour un modèle donné), • Le nombre total de vecteurs, • Le temps de génération du test, • Les moyens à mettre en oeuvre pour la génération, • Le temps de test sur ATE, • Les caractéristiques nécessaires pour l'ATE. • Concepts clés : • Contrôlabilité des noeuds depuis les entrées primaires • Observabilité des noeuds depuis les sorties primaires

  28. Augmentation de la testabilité • Complexité croissante • Testabilité intrinsèque plus faible • Ratio croissant entre le nombre de broches et le nombre de transistors intégrés => indispensable de lier conception et test => conception en vue du test • Objectif : augmenter la contrôlabilité et l'observabilité des noeuds internes • Pouvoir les atteindre • Les atteindre le plus vite possible

  29. Conception pour la testabilité (DFT) • 2 niveaux d'application • Circuits • Cartes et systèmes • 2 grands types d'approches • Modification de la structure pour faciliter le test depuis l'extérieur • Ajout d'éléments dans le circuit ou la système pour permettre un auto-test • Principe de base : partitionnement

  30. Coûts Temps de conception Performances (perte potentielle) Outils spécifiques Matériel (surface silicium) Gains Temps de génération du test Accélération simulation de fautes Complexité ATE Temps d'application du test Conception pour la testabilité : bilan R&D Production + gains au niveau du test des équipements, + gains en maintenance et en qualité des tests, + diagnostic facilité, + restauration de l'adéquation entre les besoins et les possibilités des outils et des machines (CAO et ATE)

  31. 5. Techniques de conception en vue du test • Techniques non structurées (ad-hoc) Ajout d'éléments "au coup par coup", sans stratégie d'ensemble => Plots de test internes (prototypes), multiplexeurs, … • Techniques structurées, voire systématiques Ajout d'éléments après définition d'un partitionnement et d'une stratégie globale • test parallèle (accès par multiplexages) • test sériel (registres à décalage) • Auto-tests (BIST) • Remarque : lien important entre les choix DFT et les possibilités du testeur disponible en production (échanges nécessaires entre l'ingénieur DFT et l'ingénieur de test – cf. www.tmworld.com/checklist)

  32. Modification d'un point mémoire fonctionnel Ajout d'une entrée multiplexée : Test Esérie E S Q D S D Q E Augmentation contrôlabilité et observabilité Augmentation de la surface et du chemin critique (charge en sortie + traversée du multiplexeur) Peut nécessiter un forçage de la sortie pendant le décalage Remarque : structures variées possibles avec des schémas d'horloge différents, notamment pour pouvoir commander par horloges les instants de positionnement et de capture pour le test des fautes de retard Ssérie

  33. Implantation d'un "scanpath" (1) Circuit initial : Logique combinatoire … D Q D Q D Q D Q H

  34. Implantation d'un "scanpath" (2) Circuit avec une seule chaîne série : Logique combinatoire Test D Q D Q D Q D Q Esérie Ssérie H Remarque pour un circuit avec plusieurs domaines d'horloge : nécessité de séparer les chaînes des différents domaines ou de les synchroniser (exemple : ordonnancement du plus lent vers le plus rapide)

  35. Implantation d'un "scanpath" (3) Circuit avec N chaînes série (principe - N limité en pratique par l'ATE disponible) : Logique combinatoire Test1 D Q D Q Esérie1 Ssérie1 H1 TestN D Q D Q EsérieN SsérieN HN

  36. Techniques structurées de test sériel • Ajout limité ou systématique d'entrées multiplexées aux éléments de mémorisation • utilisation de verrous (horloges biphasées) : LSSD • utilisation de bascules : "scanpath" ou "scan" • Inconvénients • longueur du test (un vecteur N bits est lu ou écrit en N cycles d'horloge) • profondeur mémoire par canal sur le testeur (au moins pour certaines E/S) • consommation et risque de problèmes fonctionnels/électriques pendant les décalages (=> verrous en sortie …) • Avantages • nombre de signaux de commande peu élevé (compromis possible avec la longueur du test) • coût matériel plus faible que pour les techniques de test parallèle

  37. "Full scan" vs. "Partial scan" • Approche "full scan" • Modification systématique • Coût matériel "élevé" • Impact obligatoire sur le chemin critique • Approche "partial scan" • Algorithmes de sélection des bascules à chaîner, en fonction des contraintes (coût, chemin critique, …) et de la structure du circuit (noeuds d'accès difficile) • Possibilité d'éviter un impact sur le chemin critique • Sélection par le concepteur • Structure pipeline "acceptable" (reste facilement testable) • Pas de scan sur les éléments facilement accessibles fonctionnellement (exemple : banc de registres banalisés dans un processeur)

  38. Les auto-tests (BIST) • Eléments de commande du test (application des vecteurs et analyse des réponses) intégrés dans le circuit • Permet un test à fréquence réelle (détection des fautes de retard) • Deux familles d'auto-tests : • auto-tests pseudo-aléatoire • auto-tests déterministes • Nécessité d'éviter des circuits faussement déclarés "bons" • codage des signaux d'erreurs (e.g. double rail) • logique de test permettant de tester l'auto-test … ou conception assurant qu'une faute dans le BIST ne peut pas masquer une faute dans la logique fonctionnelle

  39. Auto-tests pseudo-aléatoires : principe Sorties fonctionnelles Bloc sous test Entrées fonctionnelles MISR compacteur LFSR autonome Signature

  40. Auto-test déterministe : cas des RAM Choix d'un modèle de fautes en fonction de la structure et implantation de l'algorithme de test correspondant : adresse fonctionnelle Test 0 Pour algorithme de "marche" classique Générateur d'adresses (compteur/décompteur) RAM adresse 1 commandes données données fonctionnelles Contrôleur (séquencement des adresses et des données écrites et lues) Test Comparateur Signal d'erreur (codage double rail)

  41. Test de cartes, MCM/SiP et systèmes • Complexité des techniques (circuits VLSI, densité d'interconnexion, montage en surface, multi-couches, circuits hybrides et MCM, …) => limitation de l'emploi des "planches à clous" • Utilisation de techniques semblables à celles employées pour les circuits • Besoin de standardisation des protocoles de test pour faciliter les tests d'entrée chez les équipementiers • Nécessaire aux différents niveaux hiérarchiques (circuits hybrides et MCM, cartes, systèmes, …) => travaux du JTAG (Joint Test Action Group)

  42. Propositions du JTAG • Faciliter le test et le diagnostic d'éléments numériques • Maîtriser et minimiser la complexité des testeurs de cartes • Ré-utiliser les test fonctionnels des circuits et les dispositifs de test intégrés pour le test in-situ • Approche de test sériel pour réduire le nombre de broches de test • Capacités minimum orientées vers le test de la carte (test externe) : présence et orientation des composants, interconnexions et soudures correctes Norme IEEE 1149.1 "Boundary Scan" (début 1990)

  43. Architecture niveau carte : principe Test Access Port

  44. Impact sur la conception des circuits Test Access Port

  45. Instructions "Boundary Scan" • EXTEST : test externe (interconnexions, composants non compatibles avec la norme) • BYPASS : réduction d e la longueur de la chaîne sérielle • SAMPLE/PRELOAD : échantillonnage et pré-chargement du registre de périphérie • INTEST : test interne (composants compatibles avec la norme) • RUNBIST : activation des dispositifs de test intégré • IDCODE : code d'identification du composant • USERCODE : code d'identification de la programmation • Instructions utilisateur • Instructions 2ème révision (CLAMP et HIGHZ pour éviter les contentions de bus en forçant un niveau sûr ou un état haute impédance sur les sorties, …)

  46. Le registre de périphérie "Boundary Scan" sortie série de donnée Cellule complète : Mode entrée parallèle de donnée sortie parallèle de donnée Shift verrou Q Q D D entrée série de donnée Capture Update sortie parallèle de donnée entrée parallèle de donnée Shift Cellule "simple observation" : sortie série de donnée D Q entrée série de donnée Capture

  47. Test externe d'une interconnexion : exemple Instruction Configuration BS TDI Verrou de sortie -> Extérieur Extérieur -> Bascule d'entrée C1 EXTEST Verrou de sortie -> Extérieur Extérieur -> Bascule d'entrée C2 EXTEST Fonctionnel C3 BYPASS TDO

  48. Test interne d'un circuit : exemple Instruction Configuration BS TDI Fonctionnel C1 BYPASS Verrou d'entrée -> Coeur Coeur -> Bascule de sortie C2 INTEST Fonctionnel C3 BYPASS TDO

  49. Le "Contrôleur du TAP" 1 TEST-LOGIC-RESET 0 1 1 SELECT-DR-SCAN 1 SELECT-IR-SCAN 0 RUN-TEST-IDLE 0 0 CAPTURE-DR CAPTURE-IR Moore, 16 états Initialisé par TRST Commandé par TMS Synchronisé sur front montant de TCK Commandes :registre d'instruction,sélection TDO,commandes globales TDR 1 1 0 0 0 SHIFT-DR 0 SHIFT-IR 1 1 EXIT1-DR EXIT1-IR 1 1 0 0 0 PAUSE-DR 0 PAUSE-IR 1 1 0 0 EXIT2-DR EXIT2-IR 1 1 1 UPDATE-DR UPDATE-IR 1 0 0

  50. Test interne d'un circuit depuis la carte entrée série Chaîne scan Chaîne scan Chaîne scan sortie série Insertion des registres scan internes des circuits dans la chaîne sérielle établie sur la carte

More Related