Intérêt des FPGA
Les circuits programmables de type FPGA ( Field Programmable Gate Arrays ) sont constitués de blocs logiques élémentaires et de réseaux d’interconnexions pouvant être configurés par l’utilisateur. Celui-ci a la possibilité d’implanter une fonctionnalité donnée dans ces circuits sans avoir à se préoccuper des différentes étapes de sa fabrication. La complexité des circuits implantés dans les FPGA leur permet aujourd’hui de concurrencer les circuits spécifiques pour de petits volumes de production ( jusqu’à quelques milliers d’unités ). Ils sont donc très bien adaptés à une utilisation pour des applications de type spatial. Le recours aux ASIC ( Application Specific Integrated Circuits ) impose en effet des temps de développement et de fabrication de l’ordre de plusieurs mois et ce pour un coût élevé. Les FPGA autorisent la réalisation de circuits ayant une complexité équivalente en des temps et pour des coûts plus réduits. En outre, de nombreux FPGA permettent une reconfiguration à volonté et donc une évolution des circuits au cours de leur vie. Ce qui nous amène à nous intéresser de plus près à leur architecture.
Couche de configuration et couche opérative
Pour décrire les FPGA on peut avoir recours à un partitionnement symbolique de leur architecture selon deux couches : la couche opérative et la couche de configuration. La couche opérative comprend les différents éléments assurant la réalisation de la fonction programmée : les blocs logiques élémentaires, les réseaux d’interconnexion et les entrées / sorties. La couche de configuration regroupe tous les éléments nécessaires à la programmation du circuit. Il existe plusieurs technologies de programmation des FPGA. Certains fabricants, comme Actel par exemple, ont recours à une programmation par antifusibles. C’est la plus économe en terme de surface mais les circuits sont alors configurés une fois pour toute. L’utilisation d’une technologie à base d’EPROM ( Eraseable Programmable Read Only Memory ) permet de reprogrammer plusieurs fois un FPGA. Cependant l’effacement d’une configuration impose une exposition du circuit à un rayonnement ultraviolet. Une reprogrammation à distance du circuit n’est donc pas envisageable. Cette limitation a été levée par l’apparition de technologies à base d’EEPROM ( Electrically Eraseable Programmable Read Only Memory ) qui permettent une reprogrammation électrique des composants in situ. Mais les principaux fabricants de FPGA pour des applications aéronautiques et spatiales ( Actel et Xilinx entre autres ) ne proposent pas encore de circuits reconfigurables basés sur cette technologie dans le cadre de ces applications. Nous avons fait le choix de nous intéresser plus particulièrement aux FPGA à base de SRAM ( Static Random Access Memory ). Ces FPGA présentent le grand avantage d’être programmables et reconfigurables à volonté in situ. Ils offrent ainsi la possibilité intéressante d’avoir une fonctionnalité modifiable à distance. C’est cependant la technologie la plus gourmande en surface. Un autre inconvénient de ces FPGA est la volatilité de leur configuration, celle-ci est perdue à chaque mise hors tension du circuit. La configuration du circuit doit être stockée dans un élément extérieur au FPGA ( PROM, EEPROM, disque dur, etc. ) et chargée à chaque mise sous tension.
Les interconnexions
Dans les FPGA à architecture symétrique on peut distinguer une composante d’interconnexion locale et une composante d’interconnexion globale. La composante locale a pour rôle d’interconnecter les éléments des blocs logiques en fonction de la configuration et d’assurer la communication entre les blocs logiques directement adjacents sans avoir recours à la composante globale. Cette dernière assure la circulation des données à l’échelle du FPGA entre les blocs logiques éloignés. Au niveau local, on trouve donc des interconnexions configurables au sein des blocs logiques dans et entre les cellules logiques élémentaires. Elles sont réalisées au moyen de multiplexeurs, de buffers trois états et de portes passantes (un simple NMOS ou bien une porte de transmission associant un NMOS et un PMOS en parallèle ). On trouve également un groupe d’interconnexions vers les blocs logiques directement adjacents selon le même principe. Il s’agit d’interconnexions courtes présentant de faibles retards si on les compare aux interconnexions à longue distance. Au niveau global, on trouve un réseau d’interconnexions horizontales et verticales à l’échelle du circuit situé entre les blocs logiques ( cf. le réseau grisé de la figure 2 ). L’échange des données entre les blocs logiques et ces interconnexions globales se fait par l’intermédiaire de Cellules d’Interconnexions Locales ( CIL ). L’aiguillage des données au sein du quadrillage d’interconnexions globales est assuré par des Cellules d’Interconnexions Globales ( CIG ) placées à chacune de ces intersections selon le schéma synoptique de la figure 7.
Les effets singuliers de la couche de configuration
La principale caractéristique des circuits reconfigurables est la présence d’une couche de configuration, décrite au II.A.1.2 Son rôle est de mémoriser la fonctionnalité du circuit ( fonctions logiques programmées, routage des interconnexions, etc. ). Cette couche de configuration est constituée de points mémoire, les CSRAM ( Configuration Static Random Access Memory ), réalisées avec cinq transistors. Ils possèdent plusieurs zones sensibles à l’impact d’une particule radiative, dont la localisation varie en fonction du niveau logique des nœuds du circuit. La figure 1 rappelle l’architecture d’une CSRAM et donne l’emplacement de ces différentes zones sensibles en fonction de l’état du point mémoire. Nous définissons cet état par le niveau logique du nœud Q, ainsi nous considérons que le point mémoire est dans l’état 1 quand Q=1 avec Qb=0, et respectivement à l’état 0 quand Q=0 avec Qb=1.
Flip-flops
Dans les circuits programmables, on rencontre de nombreuses bascules du type Maître- Esclave, comme les D flip-flops. Elles sont, en général, situées entre deux blocs logiques ( multiplexeurs, tables d’allocation, etc. ). Leur rôle est de mémoriser l’information le temps nécessaire à son traitement ( une période d’horloge ). Les valeurs mémorisées forment une image de l’état logique du circuit à un instant donné. Ainsi, si l’une d’entre elles subit une erreur, le circuit passe dans un état logique erroné et il peut s’écouler un temps important avant le rétablissement d’un état correct.
Le durcissement technologique des circuits intégrés
Le recours à des technologies CMOS plus complexes est qualifié de durcissement » technologique » des CI. Afin de limiter la charge collectée par les nœuds sensibles du circuit, des technologies spécifiques épi CMOS, CMOS SOI et CMOS SOS peuvent être utilisées ( ces technologies apportent également des améliorations aux effets de dose et de Latch Up, mais ces aspects sortent du cadre de notre étude ). Epi – CMOS Une réduction de la charge collectée par le phénomène dit de » funneling » peut être obtenu en limitant l’extension de la zone de charge d’espace. Cette méthode entraîne une réduction de la charge totale collectée au niveau des diffusions sensibles. Le recours à la technologie Epi – CMOS permet d’y parvenir. Les transistors sont alors gravés sur une couche mince épitaxiée peu dopée par rapport à un substrat fortement dopé. La figure 1 met en évidence cette réduction de l’extension de la ZCE autour d’une diffusion dopée N+ lors du passage de la technologie CMOS classique ( fig. 1.a ) à la technologie Epi – CMOS ( fig. 1.b ).
Redimensionnement et augmentation des capacités
Un surdimensionnement des transistors des portes logiques se traduit, pour une même charge collectée, par un transitoire moins abrupt sur les nœuds sensibles. Il permet également une évacuation plus rapide des charges générées via les transistors passants et donc un retour plus rapide au potentiel initial correct. De façon similaire, une augmentation de la capacité des nœuds sensibles ( grâce à un jeu sur le dessin des transistors par exemple ) entraîne une augmentation de la charge critique, en effet, la collection de charge nécessaire pour atteindre le potentiel des seuils de transition des portes logiques augmente en proportion. Mais, ces deux approches ont pour inconvénient une dégradation de la vitesse de fonctionnement du circuit. Elles sont antagonistes avec l’évolution technologique qui va vers une intégration sans cesse plus poussée des circuits et une augmentation de leur fréquence de fonctionnement. En conséquence, elles sont rarement acceptables.
|
Table des matières
I Introduction générale
II Position du problème
A – Les FPGA à base de SRAM
A.1. Présentation et architecture des FPGA
A.1.1. Intérêt des FPGA
A.1.2. Couche de configuration et couche opérative
A.2. La couche opérative
A.2.1. Les cellules logiques
A.2.2. Les interconnexions
A.2.3. Les entrées / sorties
A.3. La couche de configuration
A.3.1. Les points mémoire de configuration
A.3.2. Ordonnancement des CSRAM et principe de la configuration
A.4. Conclusion
B – Les phénomènes radiatifs
B.1. Origine des phénomènes radiatifs
B.2. Les effets de dose cumulée
B.3. Les effets singuliers
B.3.1. Le Latch Up
B.3.2. Les effets transitoires
B.3.3. L’hypothèse de l’événement unique
C – Radiations et FPGA
C.1. Les effets singuliers de la couche de configuration
C.2. Vulnérabilité de la couche logique aux effets singuliers
C.2.1. Les arbres d’horloge
C.2.2. Multiplexeurs et tables d’allocation
C.2.3. Flip-flops
C.3. Conclusion
III Durcissement des FPGA
A – Les solutions actuelles
A.1. Les approches générales en durcissement de circuits intégrés
A.1.1. Le durcissement technologique des circuits intégrés
A.1.2. Le durcissement par conception des circuits intégrés
A.2. Etat de l’art des techniques de durcissement proposées par les fabricants de FPGA
A.2.1. Durcissement de la couche opérative
A.2.2. Durcissement de la couche de configuration
A.2.3. Conclusion sur les approches des fabricants de FPGA
A.3. Conclusion
B – Nouvelles approches du durcissement des FPGA
B.1. Durcissement par restructuration
B.1.1. Le HZ inverseur
B.1.2. La HZ CSRAM
B.1.3. La HZ latch
B.1.4. La HZ architecture
B.1.5. Limitation en fréquence
B.1.6. Conclusion
B.2. Durcissement par détection et correction d’erreurs de la couche de configuration
B.2.1. Principe de la détection – correction d’erreurs par test de la parité
B.2.2. Modifications de l’architecture de la couche de configuration
B.2.3. Gestion et validité du contrôle de la parité et de la correction
B.2.4. Conclusion
B.3. Conclusion sur les nouvelles approches du durcissement des FPGA
IV Validation expérimentale
V Conclusion
Bibliographie
Télécharger le rapport complet