![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() ![]() |
|
Evaluation de la robustesse des circuits embarquésContexte et positionnement
La robustesse d’un système caractérise la capacité de ce dernier à réagir « convenablement » même lorsqu’il évolue dans un environnement perturbé. Les perturbations peuvent provenir d’un environnement inadapté ou partiellement défaillant, ou bien produisant des pics de tension qui modifient l’état interne du système. L’analyse des capacités de robustesse d’un système est un problème important qui intervient dans les différentes étapes de conception d’un système intégré sur puce : d’un point de vue algorithmique lors des différentes étapes de spécification et raffinements et dans la mise en œuvre de mécanisme de protection par blindage ou redondance au niveau du circuit implanté. L'équipe LabSoC de Telecom ParisTech développe un environnement appelé DIPLODOCUS [AM+06], dont l'objectif principal est la conception et le partitionnement de système sur puces et de systèmes intégrés, à un haut niveau d'abstraction, et selon l'approche dite en "Y" (Application, architecture, mapping). Plus précisément, l'environnement DIPLODOCUS propose de décrire l'application sous la forme de tâches abstraites communicantes. Le langage permettant de décrire ces tâches se focalise sur le contrôle : par exemple, les données sont abstraites, seuls des nombres d'échantillons de données peuvent être échangés entre tâches via des canaux de communication. L'architecture matérielle est décrite indépendamment de l'application sous la forme de noeuds matériels abstraits: noeuds d'exécution (e.g., CPU, accélérateurs matériels), noeuds de communication (i.e., bus) et noeuds de stockage (par exemple, mémoires). L'ensemble de ces abstractions permet de réaliser des simulations extrêmement rapides [KA+09] et des vérifications formelles [KA+10], soit sur l'application directement, soit sur la projection de cette application sur une architecture matérielle. L'ensemble de l'approche est implantée sous la forme d'un profil UML supporté par l'outil open-source TTool [A+08]. Les équipes ALSOC et MOVE du LIP6 ont développé, dans le cadre du projet ANR FME3, un cadre méthodologique permettant l’analyse de robustesse de circuits décrits au niveau RTL et soumis à des fautes transitoires [BB+09]. A l’issue de ce projet, différentes classes de robustesse ont été définies, ainsi que les outils algorithmiques de mesure de robustesse associés ; les expérimentations menées sur différents circuits décrits au niveau RTL montrent la pertinence de l’approche [BB+10]. Dans la pratique, la conception de systèmes complexes suit une méthodologie dans laquelle les applications sont initialement décrites à un niveau d’abstraction bien plus haut que le niveau RTL : ce dernier apparaît une fois que les choix architecturaux et de partitionnement ont été effectués. Il est intéressant d’analyser la robustesse d’un système dès les premières étapes de sa conception, et d’étudier comment le cadre méthodologique mis en place au niveau RTL peut évoluer pour des systèmes plus abstraits. Finalité du stage Le travail demandé consiste à étendre la plate-forme d’analyse de robustesse adaptée pour les descriptions RTL pour l’analyse de systèmes plus abstraits. Dans ce contexte, de nombreuses questions sont à étudier :
Pour répondre à ces questions, nous envisageons les étapes suivantes :
Encadrement Emmanuelle Encrenaz emmanuelle.encrenaz(at)lip6(.)fr Denis Poitrenaud denis.poitrenaud(at)lip6(.)fr Pré-requisModélisation des systèmes concurrents par systèmes de transitions ; Notions de vérification par model-checking ; Architecture, méthodes et outils de conception des systèmes embarqués sur puce. Bibliographie[AM+06] L. Apvrille, W. Muhammad, R. Ameur-Boulifa, S. Coudert and R. Pacalet, "A UML-based Environment for System Design Space Exploration", 13th IEEE Int. Conf. on Electronics, Circuits and Systems (ICECS'2006), Nice, France, December 2006 [A+08] L. Apvrille, "TTool for DIPLODOCUS: An Environment for Design Space Exploration", Proc. of the 8th Annual Int. Conf. on New Technologies of Distributed Systems (NOTERE'2008), Lyon, France, June 2008 [BB+10] S. Baarir, C. Braunstein, E. Encrenaz, J.-M. Ilié, T. Li, I. Mounier, D. Poitrenaud, S. Younes, Quantifying Robustness by Symbolic Model checking, Int. workshop on Hardware Verification (HWVW'10), satellite event of Int. Conf. on Computer Aided Verification (CAV'10), Edimburgh, Scotland, jul. 2010. [BB+09] S. Baarir, C. Braunstein, R. Clavel, E. Encrenaz, J.-M. Ilié, R. Leveugle, I. Mounier, L. Pierre, D. Poitrenaud, Complementary Formal Approaches for Dependability Analysis, IEEE 24th Int. Symp. Defect and Fault Tolerance in VLSI Systems (DFT 2009), pp. 331-339. IEEE Computer Society, Chicago, Illinois, USA, oct. 2010. [KA+09] D. Knorreck, L. Apvrille, R. Pacalet, "Fast Simulation Techniques for Design Space Exploration", Proceedings of the 47th Int. Conf. on Objects, Models, Components, vol. 33, pp. 308-327, Patterns, DOI: 978-3-642-02571-6, Zurich, Switzerland, June 2009 [KA+10] D. Knorreck, L. Apvrille, R. Pacalet, "Formal System-level Design Space Exploration", the 10th annual IEEE international conference on New Technologies of Distributed Systems (NOTERE'2010), Tozeur, Tunisia, June 2010. [Lev10] R. Leveugle, “Early Robustness Evaluation of Digital Integrated Systems”, Invited Presentation for a special session on Robustness in ECSI Forum on Design Languages (FDL), Southampton, UK, sept. 2010. [MI+08] S. Mitra, R. Iyer, K. Trivedi, , J. Tschanz, “Reliable Systems: Models, Metrics and Design Techniques”, Tutorial of 28th ACM & IEEE Int. Conf. on Computer-Aided Design (ICCAD’08), San Jose, California, USA, nov. 2008 |