1 / 19

Méthodologies de test pour un FPGA

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. Plan. Introduction au FPGA Structure d’un FPGA Design d’un FPGA Philosophie générale pour tester un FPGA

Download Presentation

Méthodologies de test pour un FPGA

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

  2. 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

  3. 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 ELE 6306 - Methodologie de test pour un FPGA

  4. 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) ELE 6306 - Methodologie de test pour un FPGA

  5. 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 ELE 6306 - Methodologie de test pour un FPGA

  6. Design d’un FPGA [1] ELE 6306 - 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. ELE 6306 - 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! ELE 6306 - 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 ELE 6306 - 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 ELE 6306 - 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 ELE 6306 - 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 ELE 6306 - Methodologie de test pour un FPGA

  13. Méthodes de test pour FPGA (4) Trois configurations de test pour trouver toutes types de fautes d’interconnection ELE 6306 - 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 ELE 6306 - Methodologie de test pour un FPGA

  15. Méthodes de test pour FPGA (6) Un gabarit d’un BIST dans un FPGA ELE 6306 - Methodologie de test pour un FPGA

  16. Méthodes de test pour FPGA (7) Exemple d’insertions de fautes stuck-at dans un bloc logique ELE 6306 - 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! ELE 6306 - Methodologie de test pour un FPGA

  18. 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 ELE 6306 - Methodologie de test pour un FPGA

  19. 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 ELE 6306 - Methodologie de test pour un FPGA

More Related