Chapitre 5
--------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------
Introduction
Bien que très intéressantes d'un point de vue économique, les nouvelles techniques d’intégration des systèmes embarqués sur puce nécessitent une adaptation du flot de conception microélectronique à ce nouveau genre de circuit. Les défis à relever sont nombreux et couvrent divers domaines allant de l'élaboration de nouvelles technologies de gravure jusqu'au test. Des problèmes apparaissent dès la conception de tels systèmes où les questions de testabilité doivent être prises en compte. Sur un système sur carte, chaque composante est testée individuellement avant d’être connectée sur la carte, ensuite les interconnexions de la carte sont
testées. Sur un système sur puce, il n’y a pas de test individuel avant l’assemblage. De nouvelles contraintes de test apparaissent telles que l’accès aux différentes fonctions du système et la nécessité d’utiliser des testeurs coûteux capables de tester une très grande variété de fonctions complexes. Ces contraintes rendent la problématique du test de plus en plus complexe et de plus en plus coûteuse (pouvant représenter plus de 50% du coût total de certains systèmes mixtes analogiques numériques).
2. Test et surveillance intégrés
Les fautes sont induites par des défauts physiques ou défauts logiques qui affectent la conception, la fabrication ou le fonctionnement des composantes du système. Les défauts de conception sont commis soit par les humains soit par les logiciels de CAO au cours du processus de conception. Les défauts de fabrication résultent des imperfections dans les procédés de fabrication. Les défauts en opération sont généralement dus à la fatigue ou aux contraintes environnementales au cours des sollicitations du système. Les interférences électromagnétiques, ainsi que les vibrations et les températures extrêmes sont des sources potentielles de ce type de défaut. Certains défauts de conception et de fabrication peuvent échapper à la détection lors de tests appropriés. Ces défauts s’associent à la fatigue et aux perturbations environnementales pour créer des fautes dans le système en exploitation. Sous certaines conditions de fonctionnement, les fautes engendrent des erreurs qui se caractérisent par des états incorrects. Les erreurs entraînent des défaillances qui se caractérisent par une déviation plus ou moins importante du comportement du système par rapport au comportement nominal attendu. La défaillance devient un risque de danger si elle est susceptible d’entraîner un accident.
2.1. Test hors ligne intégré
Le test des systèmes est un maillon de la stratégie des fabricants ; il permet de mesurer la qualité et la fiabilité des produits et donc de valider l'ensemble de la chaîne de production. L'intérêt du test est multiple, il permet d'une part de fournir des systèmes opérationnels et d'autre part, grâce au diagnostic, de remettre en cause les procédures de fabrication ou de conception et donc d’augmenter le rendement de production. Le test s'insère donc naturellement dans le processus de synthèse et de réalisation de tout système, qu'il soit électronique ou non.
Exécuté en fin de production, le test hors ligne permet d’éliminer de façon simple et efficace tout système défectueux dont les défauts de fabrication sont révélés par l’application d’une séquence de détection. Ce mode d’implémentation est choisi dans les cas de figure suivants :
Le test consiste à appliquer des vecteurs de test aux entrées du circuit sous test et de comparer ses sorties observées à des données de référence pré-calculées par simulation. Suivant que l’application du test fait appel ou pas à l'utilisation d'équipements extérieurs, on distingue le test externe du test intégré BIST( Built In Self Test) . Le test externe fait appel à l'utilisation de testeurs, qui sont des équipements automatiques de test ATE( Automatic Test Equipments). Les techniques de test intégré consistent à inclure directement dans le circuit tout ou partie des fonctions réalisées par le testeur qui sont la génération de vecteurs de test et l’analyse des résultats. Le test intégré contribue à la maîtrise des coûts induits par le test. L’utilisation des modules BIST sur le circuit permet d’effectuer le test du circuit de façon complètement autonome ce qui s’avère particulièrement utile pour la maintenance ou le test de systèmes embarqués sur site. Grâce au test intégré, la tâche des équipements automatiques de test est allégée, les outils de test sont simplifiés (moins de mémoire nécessaire pour stocker les vecteurs). Un autre avantage non négligeable du BIST est de permettre l’exécution du test à la vitesse nominale du circuit. Les dispositifs de test intégré doivent être capables de générer des vecteurs de test et de comparer les résultats obtenus à ceux attendus suivant le schéma de principe représenté dans la Figure suivante :
- test du système en sortie de chaîne de production avant la livraison aux clients
- test du système au démarrage ou à intervalles réguliers (maintenance préventive)
- en complément du test en ligne dans les applications critiques, le test hors ligne peut être utilisé pour préciser les raisons d’un dysfonctionnement révélé par une procédure de test en ligne.
Le test intégré structurel regroupe l’ensemble des techniques qui consistent à implanter sur le silicium les ressources nécessaires au test d’un circuit, c’est-à-dire les générateurs de vecteurs de test et analyseurs de réponses. Contrairement au test externe qui ne peut être envisagé que si le système n’est pas sollicité, les techniques de test intégré se classifient en deux catégories suivant qu’elles sont applicables au système en exploitation ou hors exploitation. On distingue ainsi le test en ligne et le test hors ligne. Contrairement au test en ligne, le mode d’implémentation hors exploitation autorise le choix du protocole de test en fonction des objectifs et des conditions d’application du test : choix des séquences d’entrée de test, choix des points d’observation et maîtrise de certaines entrées inconnues.
Compte tenu de la complexité et des performances croissantes des systèmes, les ATE sont de plus en plus coûteux, ce qui impose des stratégies de conception facilitant le test afin d’en réduire le coût. Des recherches fondamentales et appliquées visant la résolution des problèmes de test sont intensivement poursuivies tant dans les universités que dans l’industrie. Le terme ‘conception en vue d’une meilleure testabilité’ (DFT17) recouvre toutes les techniques utilisées en vue de rendre le test des circuits économiquement viables.
Les techniques ‘ad hoc’ consistent en un ensemble de règles à respecter afin de rendre la conception plus facilement testable. Au contraire, les techniques structurées concernent la structure générale du circuit et sont basées sur l’utilisation de règles de conception de portée générale. Le but général des techniques structurées est de faciliter l’accès aux noeuds internes du circuit tout en limitant le nombre d’entrées sorties supplémentaires prévues à cet effet.
Malgré la somme importante d’efforts consentis pour le développement de méthodes et de techniques pour le test des circuits intégrés, un certain nombre de problèmes et de difficultés sont encore non résolus. Ils concernent aussi bien la génération des séquences de test proprement dites que l’application des données de test au circuit à tester. Il est peu probable que dans les années à venir, les résultats obtenus permettent de proposer des techniques de test ou des méthodes ayant une portée générale s’appliquant à des conceptions non structurées. Par contre, il semble raisonnable de parier sur l’obtention de résultats significatifs et économiquement viables, applicables pour des conceptions particulières incluant des dispositifs spécifiques en vue de faciliter le test.
Le test (hors ligne) des composantes digitales bénéficie des efforts de recherche considérables et d’une littérature scientifique très fournie. Les circuits analogiques et mixtes n’ayant pas fait l’objet d’une activité de recherche aussi prolifique, le test intégré de ce type de composante reste aujourd’hui un problème ouvert et constitue un des défis importants qui restent à lever. L’un des axes de nos investigations actuelles contribue à la recherche de solutions à bas coût pour l’intégration du test des composantes analogiques et mixtes.
2.2 Test en ligne intégré
La qualité d’un système embarqué est caractérisée par un ensemble de propriétés liées aux performances et à la fiabilité. Les propriétés de performance concernent les aspects dynamiques du comportement du système, tels que : vitesse, efficacité, temps de réponse, temps de latence, etc. Les propriétés de fiabilité comprennent la sûreté, la sécurité, la disponibilité, la facilité de réparation, et toute autre propriété caractérisant la capacité du système à fournir un service en présence de fautes, erreurs, surcharge, ou tout autre incident susceptible de perturber son fonctionnement nominal. L’objectif visé est de s’affranchir de l’influence des fautes pour ainsi contribuer à l’amélioration de la sécurité et la sûreté de fonctionnement des systèmes conçus et fabriqués.
Différentes méthodes peuvent être conjointement utilisées pour atteindre cet objectif. Parmi les moyens les plus couramment mis en oeuvre, on distingue :
- la prévention des défaillances qui vise la réduction de la probabilité d’occurrence de fautes ; elle implique une analyse des mécanismes des différents modes de défaillance pour en déduire les lois de dégradation qui les gouvernent.
- la tolérance aux fautes qui concerne la réduction de la sensibilité de la fonction implémentée aux fautes.
- la prévision qui implique la surveillance du système. Elle regroupe les opérations de détection et de localisation de fautes afin de décider d’une action compensatrice de sorte que le processus puisse continuer à remplir la mission qui lui a été confiée, malgré la présence des défauts mis en évidence. La décision d’intervention ou de reconfiguration est prise lorsqu’il y a évidence expérimentale d’un défaut imminent.
La complexité des systèmes actuels et la nécessité d’accomplir ces tâches dans un temps restreint limitent fortement le rôle des opérateurs humains. Il est nécessaire de confier la tâche de surveillance à un module automatique de diagnostic intégré. A l’occurrence d’une défaillance, la réaction du module de surveillance commence par la détection du défaut, passe par la localisation du composant défectueux et se termine par une auto-reconfiguration permettant au système de poursuivre sa mission malgré l’évidence d’un défaut.
Le diagnostic regroupe l’ensemble des tâches requises pour accomplir la mission de surveillance qui contribue à garantir l’intégrité des systèmes embarqués. Le but est de fournir un ensemble d’informations auxiliaires d’une part aux opérations de maintenance (palliatives et curatives), et d’autre part aux organes de décisions intégrés chargés de la reconfiguration automatique du système dans le cas des applications critiques. Le problème de conception de système de surveillance intégré peut se formuler comme suit : en utilisant la connaissance que l’on a du système et les données disponibles en temps réel, il s’agit d’adjoindre aux spécifications fonctionnelles du système un module dont le rôle est de produire les décisions les meilleures possibles relatives à l’état de santé du système. La partie fonctionnelle du système et le module de surveillance qui lui est associé doivent être intégrables sur le même support (chip) avec un surcoût raisonnable (surface et performances). Les données disponibles peuvent être aussi bien les valeurs des signaux mesurés (sortie, noeuds internes) que les valeurs des signaux connus (consignes d’entrée, paramètres nominaux). D’un point de vue fonctionnel, un diagnostic complet de système embarqué met en exergue le besoin émergeant de disposer de technologies de conception capables de prendre simultanément en compte les aspects suivants :
1) Production d’alarmes : La détection concerne la mise en évidence d’événements qui affectent
l’évolution nominale du processus. Elle consiste généralement à prendre une décision binaire : le
fonctionnement du système est-il correct ou défaillant ? La procédure doit déterminer, le cas échéant, l’instant d’occurrence de la faute. C’est le rôle du test en ligne. La tâche est d’autant plus ardue que contrairement au test hors ligne, l’application du test en ligne ne permet pas, en générale de choisir les signaux d’excitation en vue du test.
2) Analyse d’alarmes : l’interprétation des alarmes caractérise les causes possibles du
dysfonctionnement. La finesse des décisions à ce niveau peut être variable. Il convient ici de préciser de façon claire ce que l’on entend par connaître l’état de santé du système.
a) L’isolation concerne la détermination des événements anormaux et la localisation précise de la
défaillance de façon à pouvoir déterminer la ou les zone(s) défectueuse(s). Ceci peut se faire à
différents niveaux : sous-système, composants, …
b) L’identification détermine l’allure de la panne et renseigne ainsi sur le type de maintenance ou de correction (accommodation ou reconfiguration) à réaliser sur le système. Dans certains cas,
l’identification cherche à comprendre l’origine de la défaillance (recherche des causes) et même à
prévoir son évolution (pronostic). Cette étape est très difficile à implémenter, car sa mise en œuvre requiert la connaissance précise du modèle de chaque faute possible. La plupart des systèmes de diagnostic actuels n’intègrent que la détection et l’isolation. L’identification de la panne n’est réalisée que lorsqu’une action de reconfiguration en ligne du système ou des objectifs à atteindre est envisagée.
3) La reconfiguration concerne, enfin la remise en état de la partie défectueuse du système, de façon à lui permettre de satisfaire à sa mission. La nature de la reconfiguration est étroitement liée à la gravité de la défaillance détectée.
Comme l’indique la Figure suivante les procédures de décision se situent à deux niveaux : la production d’alarmes correspond à une décision qui stipule qu’une anomalie de fonctionnement est détectée et qui, le cas échéant, est capable de situer la date de transition du fonctionnement normal au fonctionnement anormal. La finesse des décisions de ce niveau peut être essentiellement variable. Elle doit répondre au cahier des charges qui définit la nature et la précision des renseignements que l’on souhaite avoir sur l’état du système. Une autre décision concerne la possibilité de laisser le système poursuivre sa mission ou de l’interrompre. Les risques induits par la nouvelle situation, les mesures à prendre pour la contrôler sont des décisions qui relèvent de la tolérance aux fautes et ne concernent pas nos travaux actuels.