Méthodologies de test pour un FPGA

Slides:



Advertisements
Présentations similaires
Module Systèmes d’exploitation
Advertisements

Structures de données avancées : Principales structures de fichiers
Chap. 4 Recherche en Table
A NETWORK-AWARE DISTRIBUTED STORAGE CACHE FOR DATA INTENSIVE ENVIRONMENTS Brian L. TIERNEY, Jason LEE, Brian CROWLEY, Mason HOLDING Computing Sciences.
Architecture des processeurs généralistes haute performance
LIRMM 1 Journée Deuxièmes années Département Microélectronique LIRMM.
© Tous droits réservés. Toute reproduction totale ou partielle sur quelque support que ce soit ou utilisation du contenu de ce document est interdite.
Les éléments de mémorisation
Chap. 1 Structures séquentielles : listes linéaires
Initiation à la programmation et algorithmique cours 3
Traitement Co-Séquentiel: Appariment et Fusion de Plusieurs Listes
Cours Systèmes logiques
Plan Problématique Modélisation des fautes de délai
Page 1 Introduction à ATEasy 3.0 Page 2 Quest ce quATEasy 3.0? n Ensemble de développement très simple demploi n Conçu pour développer des bancs de test.
Plan Évolution Système On Chip Difficultés de la testabilité des SOCs
Bouyela Ngoyi Gérard Armand professeur: Pierre Langlois
ADR Active and Dynamic Routing. Plan Introduction au routage Les réseaux actifs Les agents Mise à jour des matrices de routage Architecture du routage.
Cours #6 Conception d’unités de contrôle
ELE6306 Tests de Systèmes Électroniques
Principes de persistance dans les applications orienté objet
Cours #8 Flot de conception d’un circuit numérique
Plan de l’exposé Introduction Revue de littérature Méthodologie
Informatique temps réel et réseaux de terrain – ELEC365
1 TAL : une bibliothèque de cellules pour le design de circuits asynchrones QDI P. Maurine, J. B. Rigaud, F. Bouesse, G. Sicard, M. Renaudin.
1 CLUB DES UTILISATEURS SAS DE QUÉBEC COMMENT TRANSFORMER UN PROGRAMME SAS EN TÂCHE PLANIFIÉE SOUS WINDOWS Présentation de Jacques Pagé STRiCT Technologies.
Gestion de Fichiers Arbres B.
Indexation 1. Concepts de base 2. Arbre B 3. Indexes secondaires.
Les fichiers indexés (Les B-arbres)
Introduction Objectifs du cours Évaluation Références
Lévolution du Web et les implications dun crawler incrémental Basé sur : « The Evolution of the Web and Implications for an Incremental Crawler», Junghoo.
Gestion de Fichiers Tri Interne Efficace et Tri Externe.
Universté de la Manouba
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Notions de Base Hiver 2002 Petko Valtchev.
Test dun Réseau sur puce générique (generic Network on Chip) Présenté par: David Bafumba-Lokilo & Silvio Fornera.
ELE6306 : Test de systèmes électroniques Projet de cours Chaîne de scan unique: Reconfiguration = Optimisation Louis-Martin Côté Professeur : A. Khouas.
Test de systèmes électronique
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 »
Cours #7 Vérification d’un modèle VHDL
Détection du meilleur format de compression pour une matrice creuse dans un environnement parallèle hétérogène Olfa HAMDI-LARBI.
1 Couplage dun langage de contrôle de formatage avec un système de formatage existant DEA ISC : 1 avril 2003 Fateh Boulmaiz
Programmation linéaire en nombres entiers : les méthodes de troncature
NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels CEI
‘‘Open Data base Connectivity‘‘
ANALYSE METHODE & OUTILS
Outil de gestion des cartes grises
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Implémentation d’un.
Advanced Boolean Equation Language
Chapitre 3 :Algèbre de Boole
Supports de formation au SQ Unifié
MICROLOR Le savoir partagé
Test de l’unité d’exécution d’une instruction par application d’instructions de test Projet du cours ELE6306 : Tests des systèmes électroniques. Nicolas.
Méthodologie de conception Outils de conception
Développement d'application rapide GEF492A Automne 2014 [HvV § 3.2.3]
Les systèmes mono-puce
1 Registration Physique Séminaire du Master Davide Bazzi Université de Fribourg
Synthèse et implémentation d’un circuit combinatoire
TP N°4 – M2 EEA SM Conception en Vue du Test. Objectifs Réaliser le flot complet de synthèse – test – synthèse en vue du test Utilisation d’un design.
Introduction au VHDL - R.WEBER - Polytech'Orleans
Réseaux pré-diffusés programmables par l’utilisateur: FPGA
Construction d'une hiérarchie mémoire faible consommation
Techniques de BIST à puissance réduite
1 Université Henri Poincaré, Nancy 1 La préemption appliquée aux FPGAs Soutenance de rapport bibliographique de DEA Faculté des Sciences Vandoeuvre-lès-Nancy.
ELE6306 : Test de systèmes électroniques Adaptation d’une interface de communication pour implants en vue du test Laurent Aubray, Dominique Pâquet-Ferron.
Scan-Chain Attack.
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.
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.
Transcription de la présentation:

Méthodologies de test pour un FPGA Maya Nahas Présentation de projet ELE 6306 – Tests de systèmes électroniques Professeur Khouas École Polytechnique de Montréal 13 Décembre, 2005 ELE 6306 - Methodologie de test pour un FPGA

ELE 6306 - Methodologie de test pour un FPGA Plan Introduction au FPGA Structure d’un FPGA Design d’un FPGA Philosophie générale pour tester un FPGA Test sur ASIC vs. test sur FPGA Méthode de test d’un FPGA Méthode ASIC Méthode populaire Méthodes nouvelles Applications des méthodes de test Conclusion Références ELE 6306 - Methodologie de test pour un FPGA

ELE 6306 - Methodologie de test pour un FPGA Introduction au FPGA Possède des éléments logiques et des interconnections programmables Programmable par le client et dans le champ Reconfiguration complète ou partielle (RTR) Différents types de technologie et différentes architectures existent pour les FPGAs FPGA basé sur la technologie SRAM est la plus récente et populaire Element logique mimique la fonctionalite logique de portes ou circuit combinatoire plus complexe. Les interconnections programmable permet au designer de connecter le circuit ensemble comme necessaire. ELE 6306 - Methodologie de test pour un FPGA

ELE 6306 - Methodologie de test pour un FPGA Structure d’un FPGA (1) Matrices d’interconnection pour connecter tous les blocs de logique et mémoire ensemble Bloc logique configurables (CLBs): “lookup table” (composé de cellules SRAM) registres (flip-flop) composants pour l’arithméthique rapide Blocs pour entrées et sorties primaires (situées aux peripheries du FPGA et sont associées avec des pins sur un FPGA) BRAMs – utilisés pour sauvegarder de l’information (soit instruction ou data) Element logique mimique la fonctionalite logique de portes ou circuit combinatoire plus complexe. Les interconnections programmable permet au designer de connecter le circuit ensemble comme necessaire. ELE 6306 - Methodologie de test pour un FPGA

ELE 6306 - Methodologie de test pour un FPGA Structure d’un FPGA (2) Les LUTs à 4 entrées sont couramment les plus populaires Ces mêmes LUTs peuvent synthétiser n’importe quelle fonction booléenne à 4 variables Les blocs logiques offrent des sorties combinationelles ou séquentielles en utilisant un MUX Element logique mimique la fonctionalite logique de portes ou circuit combinatoire plus complexe. Les interconnections programmable permet au designer de connecter le circuit ensemble comme necessaire. ELE 6306 - Methodologie de test pour un FPGA

ELE 6306 - Methodologie de test pour un FPGA Design d’un FPGA [1] Element logique mimique la fonctionalite logique de portes ou circuit combinatoire plus complexe. Les interconnections programmable permet au designer de connecter le circuit ensemble comme necessaire. ELE 6306 - Methodologie de test pour un FPGA

Étapes de design pour un FPGA Design conçu en faisant un schéma ou en utilisant un des langages de description (produit un netlist) Implémentation de notre design est fait a partir d’un « bitstream » qui est utilisé pour configurer le FPGA On fait un mapping de notre design aux ressources présentes On programme les ressources trouvées dans la première étape On programme les interconnections entre les ressources pour former notre circuit Le mapping de notre circuit aux ressources doit se faire avant de produire notre bitstream On peut contrôler quels ressources sont utiliser pour faire un partie spécifique d’un circuit, mais c’est habituellement vraiment long de faire cela, alors on laisse les outils faire cette partie, donc, c’est aléatoire. On peut aussi utiliser une langages de programmation pour contrôler ce layout de notre circuit, en faisant cela, on se permet de contrôler les valeurs assigner aux ressources plus facilement. Element logique mimique la fonctionalite logique de portes ou circuit combinatoire plus complexe. Les interconnections programmable permet au designer de connecter le circuit ensemble comme necessaire. ELE 6306 - Methodologie de test pour un FPGA

Philosophie générale pour tester un FPGA [2] Générale, uniforme et indépendante de l’application On ne peut pas construire un test suite (génération et application) pour toutes sortes de circuits possibles Scalaire et indépendante de la taille du FPGA On peut réduire le temps de configuration du FPGA et d’application des tests si notre méthode est indépendante de la taille du circuit programmé sur le FPGA Réutilisable et peut être automatisée On change d’architecture chaque 6-12 mois Cela est plus prononcé en utilisant les FPGAs Produits des résultats mesurables et quantifiables Non seulement pour localiser les fautes mais pour essayer de les contourner aussi! Element logique mimique la fonctionalite logique de portes ou circuit combinatoire plus complexe. Les interconnections programmable permet au designer de connecter le circuit ensemble comme necessaire. ELE 6306 - Methodologie de test pour un FPGA

Test Gratuits dans un FPGA Contrôlable et observable sans avoir à ajouter des scan paths ou test points, puisque les nœuds font parties des ressources déjà présentes Une entrée ou sortie de LUT peut être controllée/observée de l’extérieur en la routant à une broche (pin) particulière Un FPGA doit avoir la capacité de lire ce qui a été programmer dans les éléments, pour confirmer que la programmation est correcte (readback) Pour cette raison, ceci nous provisionne la capacité de faire un scan out sans avoir à ajouter des éléments, puisque cette fonctionnalité est déjà provisionner et est nécessaire dans un FPGA Element logique mimique la fonctionalite logique de portes ou circuit combinatoire plus complexe. Les interconnections programmable permet au designer de connecter le circuit ensemble comme necessaire. ELE 6306 - Methodologie de test pour un FPGA

Méthodes de test pour FPGA (1) Méthodes appliquées aujourd’hui pour ASIC peuvent être utilisées sur un FPGA BIST – notre design doit inclure les éléments nécessaires (LFSR – BILBO-MISR) Déterministe – prend beaucoup de mémoires pour garder les vecteurs et c’est difficile de générer un ATPG dans un FPGA JTAG – prends beaucoup de ressources qui peuvent être utiliser par le circuit même Chaîne de scan – test les interconnections mais pas les mémoires Element logique mimique la fonctionalite logique de portes ou circuit combinatoire plus complexe. Les interconnections programmable permet au designer de connecter le circuit ensemble comme necessaire. ELE 6306 - Methodologie de test pour un FPGA

Méthodes de test pour FPGA (2) [3] Méthodes populaires pour tester un FPGA est de tester le FPGA sans que ça soit programmé Mode « offline » Tester toutes les ressources dans le FPGA et donc lorsque c’est programmé, on est certain que les ressources n’ont pas de fautes L’avantage de cette méthode est que la partie de tester le FPGA est séparée du fonctionnement du circuit, donc, c’est générique, et scalaire De plus, les ressources utilisées pour tester, peuvent par la suite d’un test, être re-utilisées comme ressources pour le circuit. Ceci prends avantage d’une propriété d’un FPGA – reconfiguration. (baisse ou même élimine l’overhead inclu en ASIC test) Mode « offline » prends beaucoup de temps et donc n’est pas bon pour des applications où un circuit doit produire des résultats rapidement dans un temps limité Mode « online » sera mieux dans ce cas Element logique mimique la fonctionalite logique de portes ou circuit combinatoire plus complexe. Les interconnections programmable permet au designer de connecter le circuit ensemble comme necessaire. ELE 6306 - Methodologie de test pour un FPGA

Méthodes de test pour FPGA (3) Méthodes nouvelles pour tester un FPGA décomposent les ressources d’un FPGA en trois parties majeures et essayent de les tester individuellement, puis ensemble Test de l’interconnections [4] Généralement, l’interconnection et les registres dans les blocs logiques, sont tester en chainant un pseudo-scan path (shift register chain) Aussi, la fonctionnalité readback d’un FPGA nous donne le pouvoir de non seulement trouver les fautes à l’extérieur du FPGA, mais aussi à localiser la faute à l’intérieur du FPGA! Deux types de fautes existent dans l’interconnection Bridging faults, comme les wired-AND et wired-OR Resisitive open faults, comme notre modèle de faute à circuit ouvert Element logique mimique la fonctionalite logique de portes ou circuit combinatoire plus complexe. Les interconnections programmable permet au designer de connecter le circuit ensemble comme necessaire. ELE 6306 - Methodologie de test pour un FPGA

Méthodes de test pour FPGA (4) Element logique mimique la fonctionalite logique de portes ou circuit combinatoire plus complexe. Les interconnections programmable permet au designer de connecter le circuit ensemble comme necessaire. Trois configurations de test pour trouver toutes types de fautes d’interconnection ELE 6306 - Methodologie de test pour un FPGA

Méthodes de test pour FPGA (5) Test des blocs logiques et mémoires [5] Généralement, les LUTs et leurs circuiteries associées, sont tester en utilisant une méthode de BIST semblable à celle d’un ASIC, mais modifiée pour un FPGA Puisque les registres sont déjà testés par la méthode de shift register chain, on considère ici les LUTs et les multiplexeurs présents dans les blocs logiques Les blocs mémoires présents dans les blocs logiques sont testés en utilisant cette méthode (BIST) Par contre, les blocs mémoires (BRAMs) qui sont composés de denses architectures à RAMs sont testés par les mêmes méthodes utilisées pour tester les chips RAM, et ne font pas parties de cette revue Element logique mimique la fonctionalite logique de portes ou circuit combinatoire plus complexe. Les interconnections programmable permet au designer de connecter le circuit ensemble comme necessaire. ELE 6306 - Methodologie de test pour un FPGA

Méthodes de test pour FPGA (6) Element logique mimique la fonctionalite logique de portes ou circuit combinatoire plus complexe. Les interconnections programmable permet au designer de connecter le circuit ensemble comme necessaire. Un gabarit d’un BIST dans un FPGA ELE 6306 - Methodologie de test pour un FPGA

Méthodes de test pour FPGA (7) Element logique mimique la fonctionalite logique de portes ou circuit combinatoire plus complexe. Les interconnections programmable permet au designer de connecter le circuit ensemble comme necessaire. Exemple d’insertions de fautes stuck-at dans un bloc logique ELE 6306 - Methodologie de test pour un FPGA

Applications de Méthodes de Test Il existe des applications qui exigent certaines fonctionnalités additionnelles Par exemple: les circuit électroniques dans les applications spatiales contenant un FPGA Ne peuvent communiquer avec un satellite que pendant certaines minutes par journée (quand ils se croisent les chemins) Solution: utiliser un on-line test pour continuellement tester les ressources même si le satellite n’est pas en vue Ne possèdent pas beaucoup de ressources de communication pour envoyer les résultats des tests ou pour accepter des longues bitstreams Solution: utiliser une compression pour les deux! Ne peuvent pas être remplacés très périodiquement Solution: utiliser la fonctionnalité reconfigurable d’un FPGA pour router les signaux autours des fautes! Element logique mimique la fonctionalite logique de portes ou circuit combinatoire plus complexe. Les interconnections programmable permet au designer de connecter le circuit ensemble comme necessaire. ELE 6306 - Methodologie de test pour un FPGA

ELE 6306 - Methodologie de test pour un FPGA Conclusions On a présenté aujourd’hui les différences de méthodes de test entre celles conçues pour un ASIC et pour un FPGA La plupart des méthodes de tester un FPGA visent à tester les ressources séparément, et puis ensemble On ne peut pas aveuglement utiliser les méthodes de test d’un ASIC sur un FPGA, puisque le dernier est très différent en architecture et fonctionnement Il existe d’autres méthodes nouvelles pour tester les interconnections, ou les blocs logiques d’un FPGA, mais ils ne sont pas très populaires Les auteurs en [6] ont même devisé une nouvelle méthode pour passer la bitstream de configuration dans le FPGA tout en testant les ressources du dernier Element logique mimique la fonctionalite logique de portes ou circuit combinatoire plus complexe. Les interconnections programmable permet au designer de connecter le circuit ensemble comme necessaire. ELE 6306 - Methodologie de test pour un FPGA

ELE 6306 - Methodologie de test pour un FPGA Références [1] Ashenden, Peter, ”VHDL Quick Start”, The University of Adelaide [2] Toutounchi, S.; Lai, A. ”FPGA test and coverage”, Test Conference, 2002. Proceedings. International, 7-10 Oct. 2002 Page(s):599 – 607 [3] Stroud, C.; Konala, S.; Ping Chen; Abramovici, M., ”Built-in self-test of logic blocks in FPGAs (Finally, a free lunch: BIST without overhead!)”, VLSI Test Symposium, 1996., Proceedings of 14th 28 April-1 May 1996 Page(s):387 – 392 [4] Renovell, M.; Portal, J.M.; Figueras, J.; Zorian, Y., ”Testing the interconnect of RAM-based FPGAs”, Design & Test of Computers, IEEE Volume 15, Issue 1, Jan.-March 1998 Page(s):45 – 50 [5] Renovell, M., “SRAM-based FPGAs: a structural test approach”, Integrated Circuit Design, 1998. Proceedings. XI Brazilian Symposium on 30 Sept.-3 Oct. 1998 Page(s):67 - 72 [6] Doumar, A.; Ito, H., “Testing the logic cells and interconnect resources for FPGAsTest” ,Symposium, 1999. (ATS '99) Proceedings. Eighth Asian16-18 Nov. 1999 Page(s):369 - 374 Element logique mimique la fonctionalite logique de portes ou circuit combinatoire plus complexe. Les interconnections programmable permet au designer de connecter le circuit ensemble comme necessaire. ELE 6306 - Methodologie de test pour un FPGA