La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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

Présentations similaires


Présentation au sujet: "Filière 1 UV-4 Conception de systèmes numériques le CoDesign"— Transcription de la présentation:

1 Filière 1 UV-4 Conception de systèmes numériques le CoDesign
JEGO CHRISTOPHE, Ed. 2006

2 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

3 Plan 1 Introduction 2 Méthodologie de conception
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

4 Introduction : Prévision d’évolution technologique
2005 2008 2011 2014 2017 2020 Technologie (mm) 90 65 45 30 20 15 Taille des puces mP & ASIC (mm2) 246 Densité d’intégration mP & ASIC (Mtr/cm2) 225 449 899 1 798 3 596 7 192 Fréquence d’horloge SOC (GHz) 5.2 11 17.6 28.3 45.5 73.1 Tension d’alimentation (V) 0.9 1.1 0.8 1 0.7 0.6 0.5 Source : November 2005 ITRS Release Conference

5 Introduction : Prévision d’évolution technologique
Source : 29 November 2001 ITRS Release Conference

6 Introduction : Perspective d’intégration

7 Introduction : Implications de l’évolution technologique
[SIA99] ?

8 Introduction : Implications de l’évolution technologique
 Favoriser la réutilisation de fonctions Notion d’IP (Intellectual Property) Réutiliser les blocs déjà conçus dans la société ; Utiliser les générateurs de macro-cellules (Ram, multiplieurs,…) Acheter des blocs conçus hors de l’entreprise. Cœur RISC DSP MPEG Analog. Buff. E/S Rom Ram 25% de conception personnalisée

9 Introduction : Implications de l’évolution technologique
 Favoriser la réutilisation de fonctions

10 Introduction : Implications de l’évolution technologique
 Élever le niveau d’abstraction

11 Introduction : Implications de l’évolution technologique
 Élever le niveau d’abstraction

12 Introduction : Implications de l’évolution technologique
un flot de conception traditionnel des orientations méthodologiques des capacités technologiques Cœur RISC DSP MPEgG Analog. Buff. E/S Rom Ram Définition d’un flot de conception pour les Systèmes sur Puce Buff. E/S Cœur DSP Rom Ram MPEG Cœur RISC Ram Buff. E/S Analog.

13 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

14 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

15 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

16 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.

17 Méthodologie de conception : Niveaux d’abstraction
Type Eléments de base Conception Composants discrets Conception électrique Optimisation des caractéristiques électriques SSI Small Scale Integration Conception logique Optimisation des équations logiques MSI Middle Scale Integration Conception numérique Optimisation des traitements LSI Large Scale Integration Conception architecturale Choix des fonctionnalités VLSI Very Large Scale Integration Conception fonctionnelle Optimisation des implémentations matérielles et logicielles ULSI Ultra Large Scale Integration Conception système Optimisation conjointe des implémentations Full Adder Registre Mux UAL Séquenceur P E/S Fpga E S Asic E S Cœur RISC Cœur DSP Analog. Buff. E/S Ram Rom MPEG

18 Méthodologie de conception : Flot de conception
Démarche de conception Spécification Conception Architecturale Conception Logique Placement/Routage Silicium Top-Down Design Bottom-Up Design Démarche descendante ascendante Raffinement de chaque constituant Abstraction sur un ensemble de constituants

19 Méthodologie de conception : Flot de conception
Démarche ascendante Domaine de travail Algorithmie Traitement du signal et de l’image Niveau technologique (portes logiques) Niveau logique (équations logiques) Niveau architectural (description structurelle) Niveau système (description comportementale) Ordonnancement Sélection de composants Machine d’états Boites à outil pour le concepteur du niveau supérieur Simplifications logiques Equations booléennes Physique du composants Dimensionnement des transistors

20 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.

21 Méthodologie de conception : Flot de conception

22 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

23 Méthodologie de conception : Flot de conception
Synthèse Architecturale Synthèse Système Niveau fonctionnel Niveau architectural Niveau logique Niveau électrique et physique HDL Schéma Diagramme d’états Schéma / Netlist Equation logique Equation différentielle Modèle électrique Modèle physique

24 Méthodologie de conception : Flot de conception
Méthode globale 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 Solution : optimisations locales et rebouclages partiels

25 Méthodologie de conception : Flot de conception
Méthode globale Vérification des spécifications Spécification système Découpage en fonctions Simulation fonctionnelle Choix de l’algorithme Conception fonctionnelle Librairie de composants (tps/surf/cons) Estimation grossière Simulation fonctionnelle et structurelle Choix de composants et ordonnancement Synthèse architecturale Librairie de portes Estimation fine Simulation au niveau logique Synthèse logique Précision des estimations CONTRAINTES Paramètres connus (…) Estimation exacte Simulation électrique Placement Routage Tests (vecteurs de test) Process Circuit

26 Méthodologie de conception : Tendance

27 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

28 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

29 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

30 Le flot de conception CoDesign : Présentation générale
Spécification Synthèse logicielle Synthèse Interfaces Synthèse matérielle Proc / DSP ASIC / FPGA Estimations Modèles Partitionnement HW/SW Optimisations Co-Simulation

31 Le flot de conception CoDesign : Présentation générale
Domaines relevant du CoDesign

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

33 Le flot de conception CoDesign : Présentation générale
Solutions architecturales Circuits précaractérisés prédiffusés sur mesure Sea of gates ASIC (Application Specific Integrated Circuit) Circuit programmable ASIP (Application Specific Instruction set Processor) Machine FPGA EPLD PLA Custom Semi- Gate array DSP mC Processeurs généraux multimédias Full Custom Standart cell VLIW RISC

34 Le flot de conception CoDesign : Présentation générale
Compromis performance/flexibilité

35 Le flot de conception CoDesign : Les différentes étapes
Spécification 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)

36 Le flot de conception CoDesign : Les différentes étapes
Partitionnement 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.

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

38 Le flot de conception CoDesign : Les différentes étapes
Partitionnement Comparaison de quelques techniques automatiques

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

40 Le flot de conception CoDesign : Les différentes étapes
Synthèse 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.

41 Le flot de conception CoDesign : Les différentes étapes
Synthèse logicielle C File C File Asm. File Compiler Assembler Binary File Binary File Binary File Linker Library Debugger Exec. File Profiler Phase de développement Phase de vérification

42 Le flot de conception CoDesign : Les différentes étapes
Synthèse logicielle Phase de développement Phase de développement Development processor Debugger Phase de vérification Emulator Outils de mesure Programmer Phase de vérification

43 Le flot de conception CoDesign : Les différentes étapes
Niveau d’abstraction Synthèse matérielle Spécification comportementale comportementale Description Description RTL Description logique (portes) GAUT Catapult-C Synthèse architecturale Librairie de composants MENTOR GRAPHICS CADENCE Synthèse logique Librairie de portes SYNOPSYS Librairie de transistors MENTOR GRAPHICS Synthèse CADENCE physique Fiabilité des prédictions CAO Layout

44 Le flot de conception CoDesign : Les différentes étapes
Synthèse matérielle SUM := A1+B1 Algorithme Circuit

45 Le flot de conception CoDesign : Les différentes étapes
Synthèse des communications

46 Le flot de conception CoDesign : Les différentes étapes
Synthèse des communications Partitionnement Logiciel/Matériel Bibliothèque de protocoles Spécification des communications Sélection des protocoles Génération des interfaces Choix des modèles et des langages Estimation des performances Logiciel Matériel Synthèse des bus Synthèse des interfaces matérielle et logicielle Coûts de synthèse ? Caractéristiques temporelles des transferts ? Interfaces Vérification et/ou correction du partitionnement

47 Le flot de conception CoDesign : Les différentes étapes
Une nécessité !! Co-simulation

48 Le flot de conception CoDesign : Les différentes étapes
Co-simulation Co-Simulation

49 Le flot de conception CoDesign : Les différentes étapes
Co-simulation Exemple Principe

50 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

51 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

52 Un langage de conception système : Etat de l’art
La définition d’un langage de niveau système a fait l’objet de nombreux travaux de recherche d’où la proposition de nombreux langages Rosetta Université du Kansas Superlog CoDesign Automation Cynlib Forte Design Systems (CynApps) SpecC CECS Université de Californie Irvine SystemC OSCI (Synopsys & Coware) SystemVerilog Accellera Et d’autres SDL, Esterel, StateChart, Signal, HardwareC, VHDL+, Polis, OpenJ, Javatime, SPI, Okapi…. SpecC CECS Université de Californie Irvine SystemC OSCI (Synopsys & Coware) SystemVerilog Accellera

53 Un langage de conception système : SpecC
SpecC est un environnement pour la conception au niveau système. Cet environnement se compose de 3 éléments: la méthodologie SpecC : méthodologie de CoDesign basée sur la notion d’IPs pour la spécification, la modélisation et la conception de systèmes embarqués au niveau système. le langage SpecC : langage construit à partir du langage ANSI-C avec des extensions dédiées à la conception. les outils de CAO SpecC : environnement de CAO comprenant des outils de compilation, de simulation, d’estimation et de synthèse. L’environnement SpecC est issu des travaux de l’équipe du professeur Gajski du CECS (Center for Embedded Computer Systems) de l’Université de Californie, Irvine

54 Un langage de conception système : SpecC

55 Un langage de conception système : SpecC
Langage SpecC: extension du langage de programmation ANSI-C (enrichissement avec des concepts matériels et logiciels). première version du langage SpecC développée par l’équipe de Gajski en 1997. éléments ajoutés dans le langage SpecC: Hiérarchie structurelle : notion de canal (ensemble de variables et de fonctions définissant le protocole de communication) et notion d’interface (ensemble de fonctions de communication spécifiées au sein du canal). Hiérarchie comportementale : trois modèles d’exécution (séquentiel, concurrent et pipeline) Synchronisation : le type prédéfini event est l’élément de base de la synchronisation (argument des fonctions wait et notify) Délai temporel : différentiation entre l’intervalle de temps (niveau fonctionnel) et l’instant précis d’exécution (niveau architectural) Gestion d’exceptions : deux types d’exception sont supportés : abortion & interrupt Types de données : deux nouveaux types : booléen (bool) et bit-vecteur (bit[;]) Réutilisation et IP : le langage SpecC favorise la réutilisation et l’intégration d’IPs (Wrapper)

56 Un langage de conception système : SpecC
Wrapper : séparation des communications du comportement Légende

57 Un langage de conception système : SystemC
un sous-ensemble du langage ANSI-C++ combiné à un ensemble de librairies favorisant la spécification, la simulation et la synthèse de systèmes numériques complexes. initialement dédié à la simulation au niveau architectural mais ce langage s’enrichit de bibliothèques pour pouvoir répondre à toutes les caractéristiques d’un langage système. System RTL Physical HW Implementation Verification & Analysis System Level IP SW Implementation C-Compiler Soft IP Hard IP

58 Un langage de conception système : SystemC
Origines du langage

59 Un langage de conception système : SystemC
Norme IEEE 1666 Décembre 2005 PISCATAWAY, N.J., USA, 12 December 2005 The IEEE has approved a new electronic design standard for the SystemC 2.1 language. The standard, IEEE 1666(TM), “Standard SystemC Language Reference Manual,” addresses the increasing complexity of system-on-chip (SoC) design at the systems level, where the most substantial performance and productivity gains in semiconductors can be made. Version 2.1 Spécification de l’ensemble du système Octobre 2004 Conception de l’architecture Exploration de l’espace architecturale Février 2002 Version 2 Synthèse logique Simulation matérielle Avril 2000 Version 1

60 Un langage de conception système : SystemC
SystemC est une extension du langage C++, plus précisément une bibliothèque de classes C++ contenant des modèles de matériel, ainsi que toutes les briques de base pour modéliser un système matériel qui n'aurait pas été inclus dans la bibliothèque de base. Cette bibliothèque C++ comprend aussi en standard un moteur de simulation événementiel rapide, permettant de se passer d'un simulateur externe. La figure ci-dessous résume l'architecture de la bibliothèque. Elle se base sur le langage C++ et intègre en standard un moteur événementiel. Les types de données usuels C++ ont été enrichis par des types de données adaptées au matériel (logique multivaluée, décimaux virgule fixe, ...). Les autres éléments se répartissent en deux ensembles, les éléments structurels qui représentent la structure des systèmes matériels (modules, ports), et les éléments de communication entre processus et modules (événements, canaux). Certains des éléments de communication, les canaux, qui sont fréquement utilisés, font partie de SystemC. On les appelle les canaux atomiques ou primaires (car ce sont des briques de base), et regroupent les signaux, les fifos, ... Certains de ces types de données servent à représenter du matériel (modules, ports, signaux, fifo), d'autres à représenter du logiciel (sémaphores, mutex), et certains sont suffisament abstraits pour pouvoir représenter les deux (canaux, événements, interfaces, ...). Organisation de SystemC Un modèle écrit en SystemC est donc un programme C++ utilisant les classes de la bilbiothèque SystemC. Il doit donc être compilé. A l'école, vous travaillerez sur des PC Linux avec la suite de compilation C/C++ GNU (gcc/g++). Le processus de développement est le même que pour tout programme C/C++ : compilation des librairies SystemC : c'est déjà fait si vous utilisez les machines du département... compilation des parties C++ avec g++ compilation des parties C avec gcc laisons des objects pour produire un exécutable, en utilisant éventuellement toutes les bibliothèques dont on a envie (libpng, libm, libssl, ...)

61 Un langage de conception système : SystemC
La structure du langage SystemC repose sur 5 éléments : le module : un modèle SystemC est construit à partir d’une hiérarchie de modules qui peuvent eux-mêmes contenir des modules et des processus (similaire en VHDL et Verilog). Les modules et les processus communiquent à travers des signaux par l’intermédiaire de ports (in, out, in/out) associés aux modules. le processus : il existe 3 types de processus SC_METHOD : s’exécute directement (pas d’attente ou de boucle infinie) SC_THREAD : s’exécute séquentiellement grâce à l’instruction Wait (ex: FSM) SC_CTHREAD : cas particulier du précédent, une horloge est associée à ce type de processus. Les signaux de sortie sont alors disponibles sur des fronts de l’horloge la synchronisation : l’attente (waiting)  fin du cycle ou événement l’observation (watching)  globale ou locale le canal*:ensemble de variables et de fonctions définissant le protocole de communication l’interface*: ensemble de fonctions de communication spécifiées au sein du canal (*) concept de SpecC

62 Un langage de conception système : SystemVerilog

63 Un langage de conception système : SystemVerilog
Structure de SystemVerilog 3.1

64 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

65 Des outils de CoDesign : SoC Environment

66 SoC Environment

67 SoC Environment

68 SoC Environment

69 SoC Environment

70 SoC Environment

71 SoC Environment

72 SoC Environment Processus d’exploration Processus de synthèse
Processus de raffinement Processus de modélisation Processus de synthèse Processus d’exploration

73 Des outils de CoDesign : CoFluent Studio
MCSE = Méthodologie de Conception des Systèmes Electroniques 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.

74 Des outils de CoDesign : CoFluent Studio
MCSE = Méthodologie de Conception des Systèmes Electroniques

75 Des outils de CoDesign : CoFluent Studio
CoFluent Studio covers 3 steps of the MCSE design flow (out of 5 steps): Functional design Architectural design, including executive structure design Prototyping

76 Des outils de CoDesign : CoFluent Studio
CoFluent Studio is a set of tools encapsulated into a common framework and presented to developers in a coherent and context-sensitive way that strictly follows the recommended MCSE design flow.

77 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.

78 Des outils de CoDesign : ConvergenSC
IP and Performance Models Function Algorithms, Control and Testbench ANSI C/C++, SystemC Architecture Environnement de modélisation, de co-simulation et de gestion des interfaces Behavioral C/C++ System Design and Partitioning Executable Implementable Refine Interface Synthesis Cycle-Accurate C/C++ HW-SW Co-design and Multi-level Co-verification Testbench SW Optimization Interface Synthesis Generate HDL RTLC HW Design "Traditional" HW-SW Co-verification SW Image + RTL Implementation

79 Des outils de CoDesign : ConvergenSC
Caractéristiques de l’outil ConvergenSC Pré RTL Niveau C Post RTL Niveau Assemblage Matériel Logiciel

80 Des outils de CoDesign : leaders de la CAO Electronique
Environnement niveau système : SPW Outil de Co-Simulation VCC Environnement niveau système : System Studio Outil de Co-Simulation : Seamless

81 Conclusion : Un flot de conception SOC

82 Conclusion : Evolution des systèmes microélectroniques

83 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 [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", [Vahid02] F. Vahid, T. D. Givargis," Embedded System Design: A Unified Hardware/Software Introduction" , Ed. John Wiley & Sons, 2002.

84 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 Rennes I3S Nice L3I servif5.insa-lyon.fr/l3i/ Lyon CMoS Evry LIP6 www-asim.lip6.fr Paris LIRMM Montpellier Projets de recherche internationaux The Chinook Project Washington ESM Group Irvine DSCAD Group chronos.stanford.edu/users/cad/ Stanford POLIS Project www-cad.eecs.berkeley.edu/~polis/ Berkeley IMEC Lab Louvain COBRA Project Karlsruhe C. E. Department www-ti.informatik.uni-tuebingen.de/ Tuebingen COMITY Project Madrid CIRCUS Project Montréal


Télécharger ppt "Filière 1 UV-4 Conception de systèmes numériques le CoDesign"

Présentations similaires


Annonces Google