Filière 1 uv-4 Conception de systèmes numériques le CoDesign jego christophe, Ed



Yüklə 445 b.
tarix26.08.2018
ölçüsü445 b.
#74746


Filière 1 UV-4 Conception de systèmes numériques le CoDesign

  • JEGO CHRISTOPHE, Ed. 2006


Plan

  • 1 Introduction

  • 2 Méthodologie de conception

  • 3 Le flot de conception CoDesign

  • 4 Un langage de conception de niveau système

  • 5 Des outils de CoDesign



Plan

  • 1 Introduction

    • 1 Prévision d’évolution technologique
    • 2 Perspective d’intégration
    • 3 Implications de l’évolution technologique
  • 2 Méthodologie de conception

  • 3 Le flot de conception CoDesign

  • 4 Un langage de conception de niveau système

  • 5 Des outils de CoDesign



Introduction : Prévision d’évolution technologique



Introduction : Prévision d’évolution technologique



Introduction : Perspective d’intégration



Introduction : Implications de l’évolution technologique



Introduction : Implications de l’évolution technologique



Introduction : Implications de l’évolution technologique



Introduction : Implications de l’évolution technologique



Introduction : Implications de l’évolution technologique



Introduction : Implications de l’évolution technologique



Plan

  • 1 Introduction

  • 2 Méthodologie de conception

    • 1 Nécessité & Objectifs
    • 2 Niveaux d’abstraction
    • 3 Flot de conception
    • 4 Tendances
  • 3 Le flot de conception CoDesign

  • 4 Un langage de conception de niveau système

  • 5 Des outils de CoDesign



Méthodologie de conception : Nécessité & Objectifs

  • Nécessité d’une méthodologie

      • Systèmes de grande complexité à intégrer
      • Capacité d’intégration croissante
      • Espace de recherche de solutions extrêmement vaste
      • Temps de conception de plus en plus court (Pb de Time-to-Market)
  • Objectifs

      • Favoriser l’exploration de l’espace architectural
      • Limiter les erreurs de conception (sûreté de fonctionnement)
      • Utiliser les outils de CAO pour les tâches répétitives et laborieuses
      • Rester indépendant le plus longtemps possible vis à vis de la technologie
      • Prendre en compte les contraintes matérielles au plus tôt


Méthodologie de conception : Niveaux d’abstraction

  • Conception d’un circuit ou d’un système : passer d’un cahier des charges à une réalisation

  • Quatre grands niveaux de conception :

      • Niveau Spécification (ou système) : définition du problème
      • Niveau Architectural : agencement général de la réalisation
      • Niveau Logique (ou logiciel) : conception détaillée
      • Niveau Implantation : réalisation physique
  • La réalisation peut être matérielle, logicielle ou conjointe



Méthodologie de conception : Niveaux d’abstraction

  • Diagramme en Y : " The basic idea underlying the Y-chart is that each element of an electronic system can be described within three different domain [Gajski83] " 

  • A l’intérieur de chaque domaine, les éléments peuvent être décrit à différents niveaux d’abstraction. Les transitions à l’intérieur du diagramme en Y entre les domaines définissent les étapes de conception.



Méthodologie de conception : Niveaux d’abstraction



Méthodologie de conception : Flot de conception



Méthodologie de conception : Flot de conception



Méthodologie de conception : Flot de conception

  • Caractéristiques d’une démarche ascendante:

    • La conception débute par une phase d’optimisation électrique.
    • Une bibliothèque d’éléments optimisés est construite à chaque niveau (utilisée au niveau d’abstraction supérieur).
    • A chaque composant d’un niveau considéré, est associé une phase d’abstraction (délimitation du composant auquel est associé une fonction au niveau supérieur).
  • Contraintes de la démarche ascendante:

    • Nécessite une étude au niveau électrique longue et coûteuse qui ne peut être justifiée que pour des réalisations à grande diffusion.
    • Implique des contraintes de conception système difficiles à appréhender car on commence par la spécification de sous-ensembles en espérant progresser vers une solution architecturale pour le système global.


Méthodologie de conception : Flot de conception



Méthodologie de conception : Flot de conception

  • Caractéristiques d’une démarche descendante:

    • Spécification : définition des différentes tâches fonctionnelles et des contraintes de conception (débit, surface, consommation…)
    • Conception fonctionnelle : détermination des fonctions internes, des protocoles et des échanges entre fonctions
    • Conception architecturale : détermination des opérateurs, gestion des chemins de données et du contrôle
    • Conception détaillée : transformation de la solution architecturale en circuit. Optimisation des caractéristiques temporelles
    • Réalisation : optimisation de l’implémentation au niveau des performances électriques et structurelles


Méthodologie de conception : Flot de conception



Méthodologie de conception : Flot de conception

  • Optimisations: gain dominant au niveau système

      • transformations algorithmiques
      • choix des fonctions
      • organisation des données
  • Exploration de l’espace architectural

      • éviter les remises en cause des décisions (rebouclage)
      • ordonner les prises de décision => heuristique de réduction du tps de conception
      • limiter l’espace de recherche des différents niveaux
  • Affinement progressif du circuit

      • flot continu du niveau système au circuit
      • combler le fossé entre les concepteurs de système et les concepteurs de circuit
      • définition de modèles globaux qui peuvent être affinés
  • MAIS

      • Rebouclage complet du flot => processus long et coûteux donc à proscrire
      • Flot descendant sans feedback => illusoire


Méthodologie de conception : Flot de conception



Méthodologie de conception : Tendance



Méthodologie de conception : Tendance

  • Mise en place d’un flot de conception continu des spécifications systèmes à l’implantation électrique

  • Systèmes embarqués

  •  (gestion de la consommation et de la mémorisation)

  • Définir des stratégies pour concevoir des circuits en technologies sub-microniques

  • Conception d’ASIP (Application Specific Instruction set Processor ) et de leur compilateur associé

  • Hardware/Software CoDesign



Plan

  • 1 Introduction

  • 2 Méthodologie de conception

  • 3 Le flot de conception CoDesign

    • 1 présentation générale
    • 2 les différentes étapes
          • Spécification
          • Partitionnement
          • Synthèse logicielle & matérielle
          • Co-Simulation
  • 4 Un langage de conception de niveau système

  • 5 Des outils de CoDesign



Le flot de conception CoDesign : Présentation générale

  • Le CoDesign logiciel/matériel propose une approche structurée pour la conception d’une classe de systèmes numériques  les systèmes dédiées

  • Quatre grands étapes sont distinguées dans l’approche CoDesign :

      • 1-) Spécification
      • 2-) Partitionnement
      • 3-) Synthèse logicielle & matérielle
      • 4-) Co-simulation
  • La réalisation finale est une réalisation conjointe matérielle/logicielle



Le flot de conception CoDesign : Présentation générale



Le flot de conception CoDesign : Présentation générale



Le flot de conception CoDesign : Présentation générale



Le flot de conception CoDesign : Présentation générale



Le flot de conception CoDesign : Présentation générale



Le flot de conception CoDesign : Les différentes étapes

  • Evaluation d’un cahier des charges

    • Aspects techniques
      • Evaluation de la complexité (nbre de portes, nbre E/S, …)
      • Performances électriques recherchées (surface, consommation, alimentation…)
      • Types de fonction à développer (numérique, analogique, RF)
      • Encapsulation : type de boîtier
      • …..
    • Aspects économiques
      • Délais de conception et de fabrication
      • Marché => Quantité de pièces prévues
      • Budget
      • ….
  • Choix de la cible matérielle

    • Une technologie
    • Un type de circuit (FPGA, ASIC, DSP, Processeurs…)
    • Un flot de développement (outils CAO)


Le flot de conception CoDesign : Les différentes étapes

  • Objectif

  • L’objectif du partitionnement est de regrouper les variables et les comportements fortement dépendants, puis de décider pour chaque regroupement d’une réalisation logicielle ou matérielle.

  • Problèmatique

  • Les performances réelles de la réalisation ne peuvent être connues qu’après l’étape de co-simulation.

  • Approche

  • Afin de permettre le partitionnement, des estimateurs de performance rapides et précis doivent prédire les performances et le coût d’une réalisation architecturale.



Le flot de conception CoDesign : Les différentes étapes



Le flot de conception CoDesign : Les différentes étapes



Le flot de conception CoDesign : les différentes étapes



Le flot de conception CoDesign : Les différentes étapes

  • Cette étape regroupe les synthèses de la partie logicielle, de la partie matérielle et des interfaces et protocoles de communication.

    • Synthèse logicielle : correspond à la conversion d’une description décrite dans un langage fonctionnel en un code exécutable par un processeur.
    • Synthèse matérielle : correspond à la conversion d’une description décrite dans un langage fonctionnel en un ensemble d’équations différentielles décrivant la structure d’un layout.
    • Synthèse des communications : étape essentielle, elle doit garantir les transferts de données entre les différents blocs matériels et logiciels. Les protocoles et les modes de communication sont définis durant cette étape.


Le flot de conception CoDesign : Les différentes étapes



Le flot de conception CoDesign : Les différentes étapes



Le flot de conception CoDesign : Les différentes étapes



Le flot de conception CoDesign : Les différentes étapes



Le flot de conception CoDesign : Les différentes étapes



Le flot de conception CoDesign : Les différentes étapes



Le flot de conception CoDesign : Les différentes étapes



Le flot de conception CoDesign : Les différentes étapes



Le flot de conception CoDesign : Les différentes étapes



Plan

  • 1 Introduction

  • 2 Méthodologie de conception

  • 3 Le flot de CoDesign

  • 4 Un langage de conception de niveau système

    • 1 Intérêt & état de l’art
    • 2 SpecC
    • 3 SystemC
    • 4 SystemVerilog (A system-level language war ???)
  • 5 Des outils de CoDesign



Un langage de conception système : Pourquoi

  • L’utilisation d’un langage de conception au niveau système devient indispensable.

  • Quatre grandes raisons peuvent être énoncées :

      • Les systèmes sont une combinaison de blocs matériel(s) et logiciel(s).
        •  les langages de conception sont dédiés à la partie matérielle uniquement.
      • Les systèmes comprennent des blocs IPs de sources différentes.
        • ces différentes sources doivent avoir un langage de description système commun pour modéliser l’ensemble de l’application.
      • La simulation au niveau RTL devient trop complexe
        • une simulation à un haut niveau d’abstraction pour des systèmes complexes permet un gain de temps important.
      • La modélisation au niveau système doit être exploitable lors des
      • synthèses logicielles et matérielles
        • un prototype virtuel de la partie matérielle doit être disponible pour le
        • développement de la partie logicielle


Un langage de conception système : Etat de l’art

  • Rosetta Université du Kansas http://www.sldl.org/

  • Superlog CoDesign Automation http://www.superlog.org/

  • Cynlib Forte Design Systems (CynApps) http://www.forteds.com/

  • SpecC CECS Université de Californie Irvine http://www.SpecC.gr.jp/eng/

  • SystemC OSCI (Synopsys & Coware) http://www.systemc.org/

  • SystemVerilog Accellera http://www.systemverilog.org/

  • Et d’autres SDL, Esterel, StateChart, Signal, HardwareC, VHDL+,

  • Polis, OpenJ, Javatime, SPI, Okapi….



Un langage de conception système : SpecC



Un langage de conception système : SpecC



Un langage de conception système : SpecC



Un langage de conception système : SpecC



Un langage de conception système : SystemC



Un langage de conception système : SystemC



Un langage de conception système : SystemC



Un langage de conception système : SystemC



Un langage de conception système : SystemC



Un langage de conception système : SystemVerilog



Un langage de conception système : SystemVerilog



Plan

  • 1 Introduction

  • 2 Méthodologie de conception

  • 3 Le flot de CoDesign

  • 4 Un langage de conception de niveau système

  • 5 Des outils de CoDesign

    • 1 SCE (SoC Environment)
    • 2 CoFluent Studio (CoFluent Design)
    • 3 ConvergenSC (CoWare)
    • 4 outils chez les leaders de la CAO Electronqiue


Des outils de CoDesign : SoC Environment



SoC Environment



SoC Environment



SoC Environment



SoC Environment



SoC Environment



SoC Environment



SoC Environment



Des outils de CoDesign : CoFluent Studio

  • MCSE est une démarche complète allant de l'analyse du problème jusqu'à la réalisation et qui préconise l'utilisation d'une approche descendante.

  • Elle recommande de procéder selon 4 étapes. A chaque étape sont associés un modèle en entrée et un modèle en sortie, et une procédure qui aide le concepteur à déterminer la solution appropriée respectant le modèle.

    • La première étape concerne l'élaboration des spécifications. Il s'agit d'exprimer le QUOI de l'application en caractérisant le système à développer selon une vue purement externe.
    • La deuxième étape concerne l'élaboration d'un premier modèle de la solution interne. Le concepteur procède par raffinements successifs à partir des spécifications fonctionnelles, la solution devant être conforme au modèle fonctionnel.
    • La troisième étape concerne la détermination du support exécutif et de la configuration. L'architecture matérielle doit tenir compte des contraintes de répartition géographique et des interfaces nécessaire pour le couplage avec l'environnement.
    • La dernière étape concerne la réalisation. La solution est développée par des sous- ensembles qui sont ensuite intégrés, testés puis validés. La solution matérielle peut se développer séparément de la solution logicielle.


Des outils de CoDesign : CoFluent Studio



Des outils de CoDesign : CoFluent Studio



Des outils de CoDesign : CoFluent Studio



Des outils de CoDesign : ConvergenSC

  • L’environnement ConvergenSC (ex : CoWare N2C) permet la modélisation de systèmes complexes à travers l’utilisation d’une représentation unifiée SystemC.

  • ConvergenSC System Designer permet la spécification de modules matériels (par exemple IPs) à deux niveaux d’abstraction principaux (fonctionnel et cycle). La spécification peut être réalisée en C/C++ ou en SystemC.

  • ConvergenSC System Verifier permet grâce à la disponibilité de modèles de cœur de processeur et des interfaces correspondantes (SystemC) un prototypage réaliste et par conséquent la co-simulation de l’ensemble du système.

  • Les communications entre la partie matérielle et la partie logicielle sont modélisées par l’environnement ConvergenSC à travers la gestion de l’interface. Cette interface est soit fournie avec le cœur de processeur, soit générée par ConvergenSC.



Des outils de CoDesign : ConvergenSC



Des outils de CoDesign : ConvergenSC



Des outils de CoDesign : leaders de la CAO Electronique



Conclusion : Un flot de conception SOC



Conclusion : Evolution des systèmes microélectroniques



Bibliographie

  • [Calvez93] J. P. Calvez, "Spécification et conception des ASICs", Ed. Masson, 1993.

  • [DeMicheli95] G. De Micheli, M. Sami, " Hardware/Software CoDesign", Ed. Kluwer Academic Publisher, 1995.

  • [Calvez96] J. P. Calvez, " A CoDesign Case Study with the MCSE Methodology, in the journal "Design Automation for Embedded Systems “ in the journal "Design Automation for Embedded Systems", Vol 1, Kluwer Academic Publishers, 1996, pp 183-212.

  • [Keating99] M. Keating, P Bricaud , " Reuse Methodology Manual for System-on-a-Chip Designs ", 2nde Edition, Ed. Kluwer Academic Publisher, 1999.

  • [Gajski00] D. D.Gajski, J.Zhu, R. Dömer, A. Gerstlauer, S. Zhao, " SpecC: SpecCification Language and Design Methodology " , Ed. Kluwer Academic Publisher, 2000.

  • [Edwards00] S. A. Edwards ," Languages for Digital Embedded Systems“ , Ed. Kluwer Academic Publisher, 2000.

  • [Tabbara00] B. Tabbara, A. Tabbara, A. Sangiovanni-Vincentelli, « Function/Architectural Optimization and Co-Design of Embedded Systems " , Ed. Kluwer Academic Publisher, 2000.

  • [Thoen00] F.Thoen, F. Catthoor, "Modeling Verification and Exploration of Task-Level Concurrency in Real-Time Embedded Systems", Ed. Kluwer Academic Publisher, 2000.

  • [Gerstlauer01] A. Gerstlauer, R. Dömer, J. Peng, D. D.Gajski, " System Design: A Practical Guide with SpecC" , Ed. Kluwer Academic Publisher, 2000.

  • [SIA01] Semiconductor Industry Association, "The National Technology Roadmap For Semiconductors", 2001.

  • [Vahid02] F. Vahid, T. D. Givargis," Embedded System Design: A Unified Hardware/Software Introduction" , Ed. John Wiley & Sons, 2002.



Bibliographie

  • Equipes de recherche française

  • MCSE mcse.ireste.fr/ Nantes

  • SLS/TIMA tima.imag.fr/SLS/sls_v_francaise.htm Grenoble

  • LESTER lester.univ-ubs.fr:8080/ Lorient

  • LASTI archi.enssat.fr/ Lannion

  • COSI www.irisa.fr/cosi/ Rennes

  • I3S www.i3s.unice.fr/~kwiatkow/mosarts//presentationt.htm Nice

  • L3I servif5.insa-lyon.fr/l3i/ Lyon

  • CMoS www.lami.univ-evry.fr/cmos/index.htm Evry

  • LIP6 www-asim.lip6.fr Paris

  • LIRMM www.lirmm.fr Montpellier

  • Projets de recherche internationaux

  • The Chinook Project www.cs.washington.edu/research/projects/lis/chinook/ Washington

  • ESM Group www.cecs.uci.edu/~cad/projects.html Irvine

  • www.cecs.uci.edu/~SpecC/

  • DSCAD Group chronos.stanford.edu/users/cad/ Stanford

  • POLIS Project www-cad.eecs.berkeley.edu/~polis/ Berkeley

  • IMEC Lab www.imec.be/ Louvain

  • COBRA Project www.fzi.de/divisions/sim/projects/cobra.html Karlsruhe

  • C. E. Department www-ti.informatik.uni-tuebingen.de/ Tuebingen

  • COMITY Project www.it.uc3m.es/~comity/ Madrid

  • CIRCUS Project www.grm.polymtl.ca/circus/ Montréal



Yüklə 445 b.

Dostları ilə paylaş:




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin