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

Slides:



Advertisements
Présentations similaires
PC / Traitement numérique / Contrôle Environnement logiciel
Advertisements

Chapitre 2 Modélisation de Fautes
Processus d'expression du besoin
Les Evolutions et la Maintenance
Test de Systèmes Intégrés Digitaux et Mixtes
LIRMM 1 Journée Deuxièmes années Département Microélectronique LIRMM.
LA QUALITE LOGICIELLE Plan du cours Le Plan Qualité 1 h ½
Approche interne de la chaîne d’énergie (approche nécessaire pour maîtriser le fonctionnement des systèmes au delà du premier ordre) Spécification des.
simulateur de réseau de machines UML connectées par WiFi mode ad-hoc
Flow de conception (4h)-demo
Phase de préparation des itérations Produit Story 11 Release1 Story 1mStory 21 Release2 Story 2m… …
Les Ateliers de Génie Logiciel
Alain Villemeur Sector
Plan Évolution Système On Chip Difficultés de la testabilité des SOCs
MIAGE MASTER 1 Cours de gestion de projet
Sommaire Objectif de Peakup Principes de fonctionnement
Les besoins en CAN pour les applications d'imagerie
Automates Programmables Industriels Automates Programmables
Le Reengineering.
Plan de l’exposé Introduction Revue de littérature Méthodologie
Architecture des Ordinateurs
Synthèse d’activités Présentation.
Introduction Objectifs du cours Évaluation Références
Formation en alternance
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Notions de Base Hiver 2002 Petko Valtchev.
Module 2 : Préparation de l'analyse des performances du serveur
Module 3 : Analyse des performances du serveur
Plan Introduction Architecture des FPGA Modèles des fautes
Plan Introduction DFT d’un additionneur asynchrone
Test de l’intégrité des signaux numériques des interconnexions des SoC
Plan Problématique Fautes de délai Techniques de test « at-speed »
Chapitre 3 Simulation de Fautes
10 février 2006GDR ISIS Journée Localisation et Navigation Projet EGNOS-BUS (Eurêka) André Monin, Wael Suleiman LAAS-CNRS.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Implémentation d’un.
Tenue aux radiations des composants Logiques et Interfaces
Module 8 : Surveillance des performances de SQL Server
Sciences de l'Ingénieur
Le management de l'IVVQ Processus techniques IVVQ
Supports de formation au SQ Unifié
Approche interne de la chaîne d’énergie (approche nécessaire pour maîtriser le fonctionnement des systèmes au delà du premier ordre) Spécification des.
Hatainville Les Moitiers d’Allonne – Tel : Website : stratic.online.com La démarche projet Mars 2001.
LE PLAN QUALITE Utilité du plan qualité :
INF8505: processeurs embarqués configurables
Les systèmes mono-puce
Vérification dans le cycle de vie GEF492A 2014 Référence: [HvV §14.2, 14.9] Capt Vincent Roberge Collège Militaire Royal du Canada Génie électrique et.
AutoCAD Electrical bonnes raisons pour évoluer depuis AutoCAD
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Introduction au Génie Logiciel
Test et Testabilité des Circuits Intégrés Digitaux
Advisor Advanced IP Présentation Télémaintenance Télésurveillance.
Chapitre 5 Test de circuits séquentiels
Initiation à la conception des systèmes d'informations
Construction d'une hiérarchie mémoire faible consommation
L’Audio sur PC Comparaison Numérique vs Analogique Comparaison Audio sur PC vs Hardware dédié (DSP) Rmq: beaucoup de simulitudes avec la vidéo, mais débit.
CIRCUITS LOGIQUES PROGRAMMABLES
François CARCENAC,Frédéric BONIOL ONERA-DTIM Zoubir MAMMERI IRIT
Présentation AICHA REVEL INGENIEUR D’ÉTUDE STERIA DEPARTEMENT TRD
Prototypage Rapide Du modèle numérique au modèle physique
LIRMM, MONTPELLIER, FRANCE FTFC 2003 Définition d’une métrique d’insertion de buffers X. Michel, A. Verle N. Azémard, P. Maurine, D. Auvergne Paris, France.
Les FPGA « Field Programmable Gate Array »
INTRODUCTION.

ELE6306 : Test de systèmes électroniques Adaptation d’une interface de communication pour implants en vue du test Laurent Aubray, Dominique Pâquet-Ferron.
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.
L’enseignement de l’Analyse Fonctionnelle et Structurelle S 5 en S. T
L’ ENGAGEMENT D’ UN SAVOIR FAIRE Depuis 1986 ,ESTELEC INDUSTRIE réalise des cartes électroniques
TPs d’Intégration des Systemes
1 Le Projet N Ordre du jour : Rappel d’une demande industrielle Présentation du projet technique Choix des blocs fonctionnels Quantification.
Systèmes à microprocesseur Les mémoires
Transcription de la présentation:

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 TTM => "Time to market" … TTM => "Time to money" ! Test & Measurement Europe – Dec/Jan 2002

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

1. Terminologie : défaut ou faute ? 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

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

Terminologie : test ou diagnostic ? 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

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

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

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

Test sous pointes Photo : CNET Grenoble

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

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

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

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, …) …

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, …)

Le test dans le flot de conception 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) 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

3. Vecteurs de test : principe de base 1 Circuit/ Système 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

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)

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

Test structurel Test Pattern Generation 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 Taux de couverture Liste de fautes indétectables Simulation de fautes

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

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

Passage faute -> vecteur de test (principe) Cas d'un collage : 1. Justification : imposer un niveau bas 1 s-a-1 ? 3. Propagation de la faute a 1 1 (0 si faute présente) s 1 V = 101 b Cohérence Justification/Propagation 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, …)

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, …

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

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)

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

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

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

Conception pour la testabilité : bilan 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 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)

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)

Modification d'un point mémoire fonctionnel Ajout d'une entrée multiplexée : Test Esérie E D Q S D Q S 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

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

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)

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

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

"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)

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

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

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 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)

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)

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)

Architecture niveau carte : principe Test Access Port

Impact sur la conception des circuits Test Access Port

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, …)

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 D Q verrou D Q 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

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

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

Le "Contrôleur du TAP" Moore, 16 états Initialisé par TRST TEST-LOGIC-RESET 1 1 SELECT-DR- SCAN 1 SELECT-IR- SCAN RUN-TEST-IDLE 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 SHIFT-DR SHIFT-IR 1 1 EXIT1-DR EXIT1-IR 1 1 PAUSE-DR PAUSE-IR 1 1 EXIT2-DR EXIT2-IR 1 1 1 UPDATE-DR UPDATE-IR 1

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

Extensions basées sur le "Boundary Scan" Contrôle du test interne (BIST, scan) par le TAP pour réduire la complexité des testeurs de circuits en production (peu de canaux nécessaires) Utilisation de l'interface "Boundary Scan" pour la configuration des contenus mémoires (ex. Flash) de certains composants en fin de production (effectué avec le test : évite une étape supplémentaire en production) Extension vers la programmation "dans le système" (ISP, ou "In-System Programming", devenu ISC ou " In-System Configuration") => normalisation IEEE 1532, incluant de nouveaux registres, de nouvelles instructions et l'extension du BSDL Permet notamment les modifications de fonctionnalité (ou corrections) à distance – Exemple : téléchargement d'un jeu sur un téléphone portable Extension analogique / mixte : IEEE 1149.4 Test de blocs embarqués (IP) : IEEE 1500 ("wrapper" et "Test Access Mechanism")

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