Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
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 Methodologie de test pour un FPGA
2
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 Methodologie de test pour un FPGA
3
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 Methodologie de test pour un FPGA
4
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 Methodologie de test pour un FPGA
5
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 Methodologie de test pour un FPGA
6
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 Methodologie de test pour un FPGA
7
É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 Methodologie de test pour un FPGA
8
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 Methodologie de test pour un FPGA
9
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 Methodologie de test pour un FPGA
10
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 Methodologie de test pour un FPGA
11
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 Methodologie de test pour un FPGA
12
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 Methodologie de test pour un FPGA
13
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 Methodologie de test pour un FPGA
14
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 Methodologie de test pour un FPGA
15
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 Methodologie de test pour un FPGA
16
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 Methodologie de test pour un FPGA
17
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 Methodologie de test pour un FPGA
18
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 Methodologie de test pour un FPGA
19
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, Proceedings. International, 7-10 Oct 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, Proceedings. XI Brazilian Symposium on 30 Sept.-3 Oct Page(s): [6] Doumar, A.; Ito, H., “Testing the logic cells and interconnect resources for FPGAsTest” ,Symposium, (ATS '99) Proceedings. Eighth Asian16-18 Nov Page(s): 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 Methodologie de test pour un FPGA
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.