Upload
clinton-carlson
View
60
Download
1
Embed Size (px)
DESCRIPTION
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 - PowerPoint PPT Presentation
Citation preview
ELE 6306 - Methodologie de test pour un FPGA
1
Maya Nahas
Présentation de projetELE 6306 – Tests de systèmes électroniques
Professeur KhouasÉcole Polytechnique de Montréal
13 Décembre, 2005
Méthodologies de test pour un FPGA
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