Étude du temps de simulation de l’injection de pannes à haut niveau

Étude du temps de simulation de l’injection de pannes à haut niveau

Les rayons cosmiques dans l’atmosphère

Le terme rayons cosmiques est générique et englobe plusieurs types de rayonnements. Il peut s’agir de rayonnement électromagnétique, d’électrons, de protons, d’ions lourds couvrant un large spectre d’énergie, allant des faibles énergies jusqu’aux hauts niveaux d’énergie venant de différentes sources telles que le soleil, les étoiles dans l’univers, ou des objets célestes plus énergétiques comme les super novas. À l’entrée des rayons cosmiques dans l’atmosphère, on assiste à une atténuation des niveaux d’énergie ainsi qu’à la désintégration de ces rayons en différentes particules. Ceci est causé notamment par l’interaction avec les atomes d’azote et d’oxygène (Bolchini et Sandionigi, 2010). Comme observé à la Figure 1.1, à l’entrée de l’atmosphère, les rayons cosmiques se désintègrent en différentes particules. On parle d’« averses » de particules secondaires qui produisent des protons, électrons, neutrons, ions lourds, muons et pions. La majorité des particules produites sont des neutrons qui n’ont pas tendance à se recombiner, elles sont causées par des collisions très rapides. Dans l’atmosphère, leur niveau d’énergie peut atteindre quelques centaines de mégaélectronvolts. On peut les mesurer dès 330 km d’altitude, et leur nombre donc leur densité de flux augmente quand l’altitude diminue. On parle de flux de neutrons, ce qui correspond à leur nombre. Le maximum d’intensité du flux de neutrons ainsi produit se situe à environ 20 km d’altitude. À partir de cette distance, leur densité diminue, au niveau du sol elle atteint 1/500 de la densité maximale. La latitude est aussi un facteur important à cause du champ magnétique de la terre. Notons que les neutrons ne sont pas directement sensibles au champ magnétique terrestre, mais que ce dernier agit directement sur les particules chargées dont les neutrons sont issus.

Effet des neutrons énergétiques sur les circuits intégrés Les neutrons, avec un haut niveau d’énergie, peuvent générer des particules chargées dans n’importe quel circuit intégré (Actel, Decembre 2002). La plupart des neutrons passeront à travers le silicium sans interagir avec le circuit, mais il est possible qu’un neutron vienne interagir et perturber un atome. Des particules secondaires sont alors créés ce qui va engendrer une trainée de paires électrons-trous pouvant atteindre quelques dizaines de microns de longueur. Si cela a lieu proche d’une jonction PN, ces charges induisent un courant momentané qui peut générer un pic de tension transitoire. Les neutrons ne génèrent pas directement d’ionisation dans le silicium. On parle de réaction élastique et inélastique. Lors d’une réaction inélastique, le noyau du silicium peut se fragmenter et ainsi créer des ions plus légers et des particules supplémentaires (neutrons et protons). L’énergie cinétique résiduelle est partagée entre les autres particules, ce qui a pour conséquence qu’une seule réaction inélastique peut causer une erreur dans un circuit électronique (Baumann, 2005).

La Figure 1.2 montre une coupe d’un transistor au niveau physique, en présence d’un neutron qui vient interagir avec un noyau, le fragmente et génère une trainée de paires électrons/trous proche de la jonction PN de la source d’un transistor. Dans cette situation, un pic de tension pourrait être mesuré sur le drain du transistor si ce dernier est adéquatement polarisé. Figure 1.2 Interaction d’un Neutron avec le silicium d’un circuit intégré Adaptée de Actel (2002) Plus l’énergie du neutron incident est élevée, plus la probabilité d’une réaction élastique ou inélastique est faible. Toutefois, lors d’une réaction inélastique, plus l’énergie du neutron incident est élevée plus la propagation s’effectuera dans différentes directions. La probabilité qu’une erreur causée par l’impact d’un neutron apparaisse dépend de plusieurs facteurs. Tout d’abord, il faut que ce neutron possède une énergie suffisante pour engendrer la génération de paires électron-trou. Ensuite, il faut que ces particules produites possèdent elles-mêmes une énergie suffisante et qu’elles se propagent dans la bonne direction pour déposer suffisamment de charges dans une zone sensible du substrat. Il a été prouvé que la sensibilité d’un circuit intégré dépendait aussi de la technologie utilisée. Plus la technologie est fine plus la quantité de particules nécessaires à perturber la jonction est faible (Hazucha et Svensson, 2000). La Figure 1.3 représente le taux d’erreur mesuré en fonction du procédé de fabrication utilisé. Plus le procédé est fin, plus le taux d’erreur, ou Soft Error Rate (SER), est élevé. Pour une faible différence de finesse de 0.25 micron à 0.18, le SER est multiplié par 10, entre 0.25 et 0.05 micron il est multiplié par plus de 1000. Le procédé de fabrication est donc un facteur important à prendre en compte lorsque l’on souhaite estimer la sensibilité d’un circuit aux radiations.

Niveau système

Des langages comme SystemC, POLIS ou encore Esterel permettent de décrire des circuits au niveau système. Mathworks Simulink est un outil qui permet la simulation à un niveau système, dans ce cas particulier on parle de niveau bloc. L’injection de pannes à ce niveau a pour but d’effectuer une analyse de sureté très tôt dans le flot de conception. Les systèmes sur puces sont les principales cibles de cette approche. À ce niveau d’abstraction les modèles de pannes peuvent manquer de précision. À notre connaissance, il n’existe à ce jour aucune méthodologie permettant de simuler l’effet des SEU à haut niveau d’abstraction avec précision. Dans ce projet, nous utiliserons l’outil de simulation Simulink, car il est populaire et fortement utilisé afin de réaliser des simulations à haut niveau d’abstraction. Comme énoncé précédemment, cet outil utilise une représentation bloc d’un système, ce qui correspond à la représentation algorithmique d’un système. Un modèle est composé de différents blocs représentants des fonctions, des décisions conditionnelles, des constantes, etc. Lorsque connectés ensemble, ces blocs peuvent représenter des fonctions complexes. Au niveau bloc il existe deux classes de pannes pouvant être injectées : des saboteurs et des mutants. Un saboteur change la valeur d’un signal entre deux blocs. Un mutant, quant à lui, change la fonctionnalité d’un bloc. Il est important de noter que le niveau d’abstraction étant élevé, des détails d’implémentation sont abstraits. L’injection de pannes sous Simulink est donc limitée. Les modèles de panne tendent à manquer de précision, surtout lorsque des blocs complexes sont utilisés, car uniquement les entrées/sorties sont accessibles.

Bilan des différentes méthodologies d’injection de pannes

Le Tableau 1.2 présente le résumé des avantages et des inconvénients des différentes techniques d’injection présentées dans cette section. Par émulation, il est possible d’injecter des pannes en utilisant le prototypage grâce à un FPGA. L’injection de pannes est plus rapide que par simulation. La reconfiguration permet de ne pas devoir instrumenter le circuit. Le temps nécessaire à la préparation de l’injection est donc plus faible. Globalement, les performances par émulation dépendent des caractéristiques du FPGA et de la rapidité de la connexion entre l’ordinateur et le FPGA. Avec l’approche par instrumentation, la communication entre l’utilisateur et le FPGA nécessite le transfert de moins de données, ce qui peut améliorer la performance. La taille du FPGA et le nombre d’entrées/sorties reste cependant un facteur limitant. Par simulation, l’injection de pannes au niveau instruction et systèmes utilisent des modèles de pannes grossiers. De plus, le temps nécessaire à la simulation au niveau instruction est déjà conséquent. L’injection de panne par simulation au niveau RTL peut s’effectuer par instrumentation ou grâce aux commandes du simulateur. Dans ce dernier cas, l’injection est dépendante des capacités du simulateur. L’instrumentation, plus difficile à mettre en oeuvre, permet l’utilisation de modèles de pannes plus précis. Cependant, il faut modifier la description originale du circuit.

Au niveau porte logique, la simulation permet l’injection de pannes utilisant des modèles encore plus précis. De plus, l’analyse est meilleure, car la structure exacte du circuit est connue. Nous avons vu les différentes techniques d’injection de pannes à ce jour. L’injection de pannes peut se faire à différents niveaux d’abstraction et à différents moments du flot de conception. Chaque méthodologie possède ses propres avantages et inconvénients. Typiquement, plus le niveau d’abstraction est bas plus les modèles de pannes seront précis. En contrepartie, le temps nécessaire pour l’injection à bas niveau est normalement élevé. Il existe très peu d’outils permettant l’injection par simulation de pannes permanentes au niveau portes logiques. À notre connaissance, seul LIFTING et VFIT peuvent effectuer ce genre de simulation. Or VFIT est dépassé, la complexité d’un modèle au niveau portes logiques et la mauvaise gestion de la mémoire de l’outil font qu’il est impossible d’utiliser la liste d’interconnexions comme modèle pour y injecter des pannes. L’outil est actuellement en refonte sur des plateformes plus récentes afin de supporter cela.

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela chatpfe.com propose le téléchargement des modèles complet de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

INTRODUCTION
CHAPITRE 1 REVUE DE LITTÉRATURE
1.1 Les rayons cosmiques dans l’atmosphère
1.1.1 Effet des neutrons énergétiques sur les circuits intégrés
1.1.2 Modélisation du flux de neutrons
1.1.3 Efficacité d’un écran de protection
1.1.4 Bilan de l’introduction aux rayons cosmiques dans l’atmosphère
1.2 Les erreurs causées par les rayons cosmiques
1.2.1 Classification des pannes causées par les radiations
1.2.2 Taux de pannes
1.3 Vérification d’un circuit par injection de pannes
1.3.1 Les types de pannes
1.3.2 Les différentes techniques d’injection de pannes
1.3.2.1 Injection de pannes dans des circuits physiques
1.3.2.2 Injection de pannes par émulation
1.3.2.3 Injection de pannes par simulation
1.3.3 Bilan des différentes méthodologies d’injection de pannes
CHAPITRE 2 MÉTHODOLOGIE PROPOSÉE DU PROJET
2.1 Flux de conception et niveaux d’abstractions
2.2 Méthodologie de création de composants fautifs
2.2.1 Étape 1 : Génération des rapports d’injection de pannes
2.2.2 Étape 2 : Génération des Signatures
2.2.3 Étape 3 : Instrumentation sous Simulink
2.2.4 Bilan de la méthodologie
CHAPITRE 3 GÉNÉRATION DES RAPPORTS D’INJECTION DE PANNES
3.1 Présentation de l’approche d’injection de pannes au niveau portes logiques par simulation avec l’outil LIFTING
3.2 Présentation de l’approche secondaire d’injection de pannes par émulation avec SEU Controller
3.3 Études de cas
3.3.1 Injection de pannes par simulation dans un additionneur 8 bits
3.3.2 Injection de pannes par simulation dans un multiplicateur 8 bits
3.3.3 Injection de pannes par simulation dans le circuit ISCAS’85 c432
3.4 Bilan de la génération des rapports d’injection de pannes
CHAPITRE 4 GÉNÉRATION DE SIGNATURES
4.1 Le concept de Signature
4.1.1 Signatures arithmétiques
4.1.2 Signatures logiques
4.1.3 Filtrage des Signatures
4.2 Présentation de l’outil de génération automatisée de Signatures (OGAS)
4.3 Études de cas
4.3.1 Génération de la Signature d’un additionneur 8 bits
4.3.2 Génération de la Signature d’un multiplicateur 8 bits
4.3.3 Génération de Signatures du circuit c432 ISCAS’85
4.4 Bilan de la génération de Signatures
CHAPITRE 5 INSTRUMENTATION SOUS SIMULINK
5.1 Création de composants fautifs sous Simulink
5.2 Étude de la précision de l’injection de pannes à haut niveau d’abstraction
5.3 Étude du temps de simulation de l’injection de pannes à haut niveau
5.4 Bilan de l’instrumentation sous Simulink
CONCLUSION
RECOMMANDATIONS
ANNEXE I EXEMPLE D’UTILISATION DE SEU CONTROLLER
ANNEXE II PRÉCISION DE SIGNATURES D’UN ADDITIONNEUR 8 BITS
ANNEXE III PRÉCISION DE SIGNATURES D’UN MULTIPLICATEUR 8 BITS
ANNEXE IV PRÉCISION DE SIGNATURES DU CIRCUIT ISCAS85 C432
BIBLIOGRAPHIE

Rapport PFE, mémoire et thèse PDFTélécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *