Académique Documents
Professionnel Documents
Culture Documents
Electron I Que Embarq U É
Electron I Que Embarq U É
Environnement Spécifique
de l’électronique embarqué
M. Kthiri Moez
Maitre assistant à l’ISSAT de Mateur
Spécialité: électronique embarqué
M. kthiri/ISSAT
1 Kthiri.moez@yahoo.fr
Les systèmes embarqués sont des systèmes
informatiques spécialisés conçus pour
effectuer des tâches spécifiques ou des
fonctions dédiées au sein d'un système plus
vaste. Ils sont appelés "embarqués" parce
qu'ils sont intégrés dans un appareil ou un
système plus grand plutôt que de fonctionner
comme des ordinateurs autonomes..
Les systèmes embarqués sont couramment
2 utilisés dans une grande variété de
M. kthiri/ISSAT
Kthiri.moez@yahoo.fr
INTRODUCTION
M. kthiri/ISSAT
3 Kthiri.moez@yahoo.fr
EXEMPLE d’un S. E
NIOS II
RAM
FPGA
RAM application Ethernet
Interface de contrôle
M. kthiri/ISSAT
4 Kthiri.moez@yahoo.fr
Partie I:
Généralité sur Les
Systèmes Embarqués
M. kthiri/ISSAT
5 Kthiri.moez@yahoo.fr
UN PEU D’HISTOIRE
Seconde guerre mondiale: premiers ordinateurs (ENIAC) qui
pèsent 30 tonnes.
Sa programmation nécessitait une intervention manuelle
humaine importante.
M. kthiri/ISSAT
6 Kthiri.moez@yahoo.fr
UN PEU D’HISTOIRE
1947-1954: Invention puis
commercialisation des transistors
semi-conducteurs.
Années 60 et 70: premiers circuits
intégrés
1971: premier processeur Intel
4004 qui intégre 2300 transistors
1960-2002:
Réduction des tailles de transistors
( 10000)
Augmentation exponentielle des
performances
M. kthiri/ISSAT
7 Kthiri.moez@yahoo.fr
IMPORTANCE DU MARCHE DE L’EMBARQUE
M. kthiri/ISSAT
8 Kthiri.moez@yahoo.fr
IMPORTANCE DU MARCHE DE L’EMBARQUE
M. kthiri/ISSAT
9 Kthiri.moez@yahoo.fr
IMPORTANCE DU MARCHE DE L’EMBARQUE
M. kthiri/ISSAT
10 Kthiri.moez@yahoo.fr
IMPORTANCE DU MARCHE DE L’EMBARQUE
Faux!...
M. kthiri/ISSAT
11 Kthiri.moez@yahoo.fr
IMPORTANCE DU MARCHE DE L’EMBARQUE
Il ne faut pas croire que le marché du microprocesseur se
résume à celui du PC via les processeurs x86.
Les pentium ne représentent que 2% des microprocesseurs
vendu dans le monde.
M. kthiri/ISSAT
12 Kthiri.moez@yahoo.fr
IMPORTANCE DU MARCHE DE L’EMBARQUE
Il a été vendu 108 millions de processeurs x86 pour le marché
du PC contre 1,4 milliard de processeurs 8 bits pour le marché
des systèmes embarqués (appelé aussi marché de l’embarqué) !
M. kthiri/ISSAT
13 Kthiri.moez@yahoo.fr
IMPORTANCE DU MARCHE DE L’EMBARQUE
En 2004
Marché des systèmes embarqués est devenu supérieur au
marché PC.
En 1996
Selon le New-York Times, l'américain moyen était en
"contact" avec 60 processeurs / jour
En 2004
On estime ce nombre à 100!
M. kthiri/ISSAT
14 Kthiri.moez@yahoo.fr
IMPORTANCE DU MARCHE DE L’EMBARQUE
M. kthiri/ISSAT
15 Kthiri.moez@yahoo.fr
IMPORTANCE DU MARCHE DE L’EMBARQUE
M. kthiri/ISSAT
16 Kthiri.moez@yahoo.fr
IMPORTANCE DU MARCHE DE L’EMBARQUE
M. kthiri/ISSAT
17 Kthiri.moez@yahoo.fr
IMPORTANCE DU MARCHE DE L’EMBARQUE
Un Système Embarqué intègre des logiciels et des matériels
conjointement et spécifiquement conçus pour assurer des
fonctionnalités souvent critiques.
M. kthiri/ISSAT
18 Kthiri.moez@yahoo.fr
IMPORTANCE DU MARCHE DE L’EMBARQUE
Grand public :
Appareils photographiques et caméras, lecteurs DVD, chauffage
et climatisation, éclairage, électroménager, domotique, sécurité
(incendie, intrusion, surveillance, piscine), ascenseurs, HiFi,
audio et vidéo, consoles de jeux, décodeurs, etc.
Transports :
Automobile, aéronautique, spatial, marine, assistance à la
conduite ou au pilotage, maintenance, signalisation, contrôle du
trafic aérien, maritime (aujourd’hui aide, demain automatique,
objectif trafic autoroutier), distributeur de billets, radar, etc.
Défense :
Contrôle de trajectoire, lanceur, etc.
M. kthiri/ISSAT
19 Kthiri.moez@yahoo.fr
IMPORTANCE DU MARCHE DE L’EMBARQUE
Secteur manufacturier et industrie :
Chaînes de production, automates, production et distribution
électricité, réacteurs chimiques, réacteurs nucléaires, raffineries,
dispositifs de sécurité, aide à la maintenance, etc.
Information et communication :
Imprimante, périphérique, téléphone, répondeur, fax, Internet,
routeurs, téléphonie mobile, satellites, GPS, etc.
Santé :
Imagerie médicale, diagnostique, soins, implants,
handicapés, etc.
Autres :
Carte à puce, distributeurs, etc.
M. kthiri/ISSAT
20 Kthiri.moez@yahoo.fr
EVOLUTION DE LA CONCEPTION
M. kthiri/ISSAT
21 Kthiri.moez@yahoo.fr
Partie II:
Caractéristiques Des
Systèmes Embarqués
M. kthiri/ISSAT
22 Kthiri.moez@yahoo.fr
DEFINITION d’un S. E
M. kthiri/ISSAT
23 Kthiri.moez@yahoo.fr
DEFINITION d’un S. E
Un système embarqué :
Est un système numérique.
Utilise généralement un processeur.
Exécute un logiciel dédié pour réaliser une fonctionnalité
précise.
N ’a pas réellement de clavier standard (BP, clavier matriciel...).
L ’affichage est limité (écran LCD…) ou n ’existe pas du tout.
N ’est pas un PC.
Exécute une tache précise dédiée à une application spécifique.
M. kthiri/ISSAT
24 Kthiri.moez@yahoo.fr
LES 4 TYPES DE SYSTEMES EMBARQUES
Calcul généraliste
Application similaire à une application de bureau mais empaquetée
dans un système embarqué.
EXP: plateforme de jeu vidéo.
Contrôle de systèmes
Contrôle de systèmes en Temps Réel.
EXP: Moteur d’automobile, process chimique, process nucléaire,
système de navigation aérien.
Traitement de signaux
Calcul sur de grosses quantités de données.
EXP: Radar, compression vidéo.
Communications & Réseaux
Transmission d’information et commutation.
EXP: Téléphone, Internet.
M. kthiri/ISSAT
25 Kthiri.moez@yahoo.fr
CARACTÉRISTIQUES D ’UN SYSTÈME EMBARQUÉ
Environnement :
Température, vibrations, chocs, variations d ’alimentation,
interférences RF, corrosion, eau, feu, radiations.
Prise en compte des évolutions des caractéristiques des
composants en fonction de la température, des radiations...
Faible consommation :
Batterie de 8 heures et plus (PC portable : 2 heures).
M. kthiri/ISSAT
26 Kthiri.moez@yahoo.fr
CARACTÉRISTIQUES D ’UN SYSTÈME EMBARQUÉ
Réactivité :
Les opérations de calcul doivent être faites en réponse à un
événement extérieur (interruption matérielle).
M. kthiri/ISSAT
27 Kthiri.moez@yahoo.fr
CARACTÉRISTIQUES D ’UN SYSTÈME EMBARQUÉ
M. kthiri/ISSAT
28 Kthiri.moez@yahoo.fr
CARACTÉRISTIQUES D ’UN SYSTÈME EMBARQUÉ
M. kthiri/ISSAT
29 Kthiri.moez@yahoo.fr
CARACTÉRISTIQUES D ’UN SYSTÈME EMBARQUÉ
Exercice 2 :
M. kthiri/ISSAT
30 Kthiri.moez@yahoo.fr
CARACTÉRISTIQUES D ’UN SYSTÈME EMBARQUÉ
M. kthiri/ISSAT
31 Kthiri.moez@yahoo.fr
Partie III.1:Architecture des systèmes
Embarqués
M. kthiri/ISSAT
32 Kthiri.moez@yahoo.fr
Les systèmes embarqués sont omniprésents dans notre vie
quotidienne, bien que souvent discrets et invisibles pour la plupart des
utilisateurs. Ils se cachent dans nos smartphones, nos appareils
électroménagers, nos voitures et même dans nos jouets pour enfants.
Ces systèmes sont conçus pour accomplir des tâches spécifiques, et
leur architecture est le résultat d'un mariage complexe entre le
matériel et le logiciel, visant à répondre aux besoins particuliers de
chaque application.
Ce cours vise à explorer en profondeur les composants essentiels qui
rendent ces systèmes fonctionnels. De la sélection des processeurs à
la conception des bus de communication, des mémoires aux
accélérateurs matériels.
L'architecture des systèmes embarqués est une discipline en
constante évolution, car les exigences des applications et les
avancées technologiques repoussent sans cesse les limites de ce qui
est possible. Au cours de ce cours, nous examinerons les choix
cruciaux que les concepteurs de systèmes embarqués doivent faire
pour optimiser les performances, la consommation d'énergie, la
fiabilité et bien d'autres aspects.
M. kthiri/ISSAT
33 Kthiri.moez@yahoo.fr
Les processeurs généralistes pour l'embarqué :
Les processeurs généralistes, également appelés microprocesseurs, sont des
unités de traitement centrales qui sont couramment utilisées dans les
systèmes embarqués. Ils sont polyvalents et peuvent exécuter une grande
variété de tâches. Les processeurs x86 d'Intel et les processeurs ARM sont
deux exemples de processeurs généralistes couramment utilisés. Ces
processeurs sont adaptés aux applications qui nécessitent une grande
flexibilité, comme les systèmes d'exploitation et les applications
multitâches.
M. kthiri/ISSAT
34 Kthiri.moez@yahoo.fr
Les DSP sont conçus spécifiquement pour le traitement des signaux,
tels que le traitement audio, vidéo et de données. Ils sont capables
d'exécuter rapidement des opérations mathématiques complexes sur
des signaux en temps réel. Les DSP sont souvent utilisés dans des
applications telles que les téléphones portables, les appareils audio, les
radars et les systèmes de communication.
L'architecture d'un processeur de traitement de signal (DSP, pour
Digital Signal Processor) est conçue spécifiquement pour le traitement
de signaux numériques. Les DSP sont largement utilisés dans un
certain nombre d'applications, notamment le traitement audio, vidéo,
radar, sonar, les communications sans fil et bien d'autres domaines où
le traitement en temps réel des signaux numériques est essentiel. Voici
un aperçu de l'architecture d'un DSP et de son principe de
fonctionnement :
M. kthiri/ISSAT
35 Kthiri.moez@yahoo.fr
Architecture d'un DSP :
Unité de calcul à virgule flottante (FPU) : Les DSP sont
dotés de FPUs qui sont capables d'effectuer des opérations
arithmétiques sur des nombres en virgule flottante, ce qui
les rend très adaptés pour des calculs complexes.
Pipeline à plusieurs étages : Les DSP utilisent souvent
un pipeline à plusieurs étages pour améliorer les
performances en traitant plusieurs instructions en
parallèle. Cela permet de réduire le temps nécessaire pour
effectuer un ensemble donné d'instructions.
M. kthiri/ISSAT
36 Kthiri.moez@yahoo.fr
Mémoires spécialisées : Les DSP sont généralement équipés de
mémoires spécialisées, notamment des mémoires RAM pour stocker
des données et des instructions, ainsi que des mémoires de
coefficients pour stocker des valeurs constantes utilisées dans le
traitement de signal.
Instructions SIMD (Single Instruction, Multiple Data) : Les DSP
sont conçus pour traiter de manière efficace des données en parallèle.
Les instructions SIMD permettent d'effectuer la même opération sur
plusieurs données simultanément, ce qui est particulièrement utile
pour le traitement de signal.
Unité d'adressage efficace : Les DSP disposent d'unités d'adressage
efficaces pour accéder rapidement à la mémoire et aux données.
Principe de fonctionnement :
Le DSP fonctionne en traitant des échantillons de signaux numériques
en temps réel. Voici les étapes typiques du traitement de signal par un
DSP :
M. kthiri/ISSAT
37 Kthiri.moez@yahoo.fr
Échantillonnage : Le signal analogique est échantillonné
à des intervalles réguliers pour le convertir en une
séquence de valeurs numériques.
Prétraitement : Les échantillons bruts peuvent être
soumis à des opérations de prétraitement, telles que la
mise en forme du signal, la normalisation ou le filtrage
pour éliminer le bruit.
Traitement principal : Le DSP effectue les opérations de
traitement sur les échantillons, telles que la convolution, la
transformation de Fourier rapide (FFT), le filtrage
numérique, etc. Ces opérations sont effectuées en parallèle
sur plusieurs échantillons en utilisant des instructions
SIMD.
M. kthiri/ISSAT
38 Kthiri.moez@yahoo.fr
Post-traitement : Après le traitement principal, le signal
peut subir des opérations de post-traitement, telles que la
détection, la compression ou la modulation.
Sortie : Le signal traité est converti en signal analogique
(le cas échéant) et renvoyé pour une utilisation ultérieure.
Le DSP est capable d'exécuter ces étapes de manière
rapide et efficace, ce qui en fait un composant essentiel
dans de nombreuses applications qui nécessitent un
traitement de signal en temps réel. Sa conception
matérielle spécialisée et ses fonctionnalités dédiées en font
un choix idéal pour de telles tâches.
M. kthiri/ISSAT
39 Kthiri.moez@yahoo.fr
M. kthiri/ISSAT
40 Kthiri.moez@yahoo.fr
3. Les processeurs graphiques (GPU) :
Les GPU sont des processeurs conçus pour accélérer le
rendu graphique et le calcul parallèle. Ils sont devenus
essentiels dans les systèmes embarqués utilisés pour les
applications de traitement graphique, comme les jeux, la
vision par ordinateur, la réalité virtuelle et augmentée,
ainsi que l'apprentissage automatique accéléré par
matériel.
M. kthiri/ISSAT
41 Kthiri.moez@yahoo.fr
4. Les processeurs spécifiques (ASIP) :
Les ASIP (Application-Specific Instruction-Set Processor)
sont conçus pour des applications spécifiques. Ils sont
optimisés pour des tâches particulières et offrent des
performances supérieures à celles des processeurs
généralistes. Les ASIP sont couramment utilisés dans des
systèmes embarqués nécessitant une efficacité énergétique
ou des performances élevées pour des tâches bien définies,
comme le traitement d'image dans les caméras
numériques.
M. kthiri/ISSAT
42 Kthiri.moez@yahoo.fr
5. Les accélérateurs matériels (ASIC) :
Les ASIC (Application-Specific Integrated Circuits) sont
des circuits intégrés conçus sur mesure pour une
application spécifique. Ils sont extrêmement spécialisés et
peuvent offrir des performances exceptionnelles pour une
tâche donnée. Cependant, leur conception est coûteuse et
prend du temps. Les ASIC sont souvent utilisés dans des
systèmes embarqués de haute performance, tels que les
réseaux de neurones artificiels ou les dispositifs de
traitement de signaux haut de gamme.
M. kthiri/ISSAT
43 Kthiri.moez@yahoo.fr
6. Les circuits programmables : FPGA et SOPC :
Les FPGA (Field-Programmable Gate Arrays) et les SOPC (System-
on-a-Programmable-Chip) sont des dispositifs programmables qui
permettent aux concepteurs de systèmes embarqués de mettre en
œuvre des fonctions matérielles personnalisées. Les FPGA offrent une
grande flexibilité et sont utilisés lorsque des modifications fréquentes
du matériel sont nécessaires.
M. kthiri/ISSAT
44 Kthiri.moez@yahoo.fr
Un FPGA, ou Field-Programmable Gate Array, est un composant
électronique programmable utilisé principalement dans le domaine de
la conception électronique et de la logique numérique. Les FPGA sont
des dispositifs à semi-conducteurs qui contiennent une matrice de
blocs logiques programmables interconnectés, des éléments mémoires
et des composants d'entrée/sortie (E/S).
M. kthiri/ISSAT
45 Kthiri.moez@yahoo.fr
Architecture d'un FPGA :
– Matrice de blocs logiques : Un FPGA est composé d'une matrice
de blocs logiques programmables, qui sont des éléments de base
contenant des portes logiques (comme des AND, OR, NOT, etc.)
et des flip-flops. Ces blocs logiques peuvent être interconnectés
pour créer des circuits logiques complexes.
M. kthiri/ISSAT
46 Kthiri.moez@yahoo.fr
Programmation d'un FPGA :
– Le FPGA est programmé à l'aide de langages de description
matérielle (HDL, Hardware Description Language) tels que
VHDL ou Verilog. Ces langages permettent de décrire la
fonctionnalité logique que le FPGA doit réaliser.
– Une fois le code HDL écrit, il est synthétisé en une netlist, qui
représente la structure logique du circuit.
M. kthiri/ISSAT
47 Kthiri.moez@yahoo.fr
M. kthiri/ISSAT
48 Kthiri.moez@yahoo.fr
Configuration du FPGA :
– Le fichier de configuration est chargé dans le FPGA à l'aide d'un
programmateur ou d'un dispositif de chargement.
– Une fois configuré, le FPGA fonctionne comme un circuit logique
personnalisé, exécutant la fonctionnalité spécifiée dans le code
HDL.
Réprogrammation :
– L'un des avantages clés des FPGA est leur capacité à être
reprogrammés. Cela signifie que vous pouvez changer la
fonctionnalité du FPGA en reprogrammant simplement le fichier
de configuration.
– La reprogrammation est utile pour le prototypage rapide, les mises
à jour de conception, les tests et les adaptations à de nouveaux
besoins.
M. kthiri/ISSAT
49 Kthiri.moez@yahoo.fr
Applications des FPGA :
– Les FPGA sont utilisés dans une variété d'applications, y compris
la conception de systèmes embarqués, la vision par ordinateur, la
communication sans fil, le traitement du signal numérique, la
cryptographie, la robotique, la simulation matérielle etc..
M. kthiri/ISSAT
50 Kthiri.moez@yahoo.fr
Les SOPC combinent des FPGA avec un ou plusieurs processeurs
pour créer des systèmes embarqués personnalisés.
Les bus de communication :
Les bus de communication sont utilisés pour permettre aux différents
composants d'un système embarqué de communiquer entre eux. Les
bus, tels que I2C, SPI, UART, PCIe, et CAN, facilitent la
transmission de données entre les périphériques, les processeurs et la
mémoire. Le choix du bus dépend des exigences de bande passante,
de la distance de communication, de la fiabilité, et d'autres facteurs
spécifiques à l'application.
8. Les mémoires :
Les mémoires jouent un rôle essentiel dans les systèmes embarqués
pour le stockage de données et de code. Il existe plusieurs types de
mémoires, notamment la mémoire flash, la RAM, la ROM, la
mémoire EEPROM, etc. Le choix des mémoires dépend des exigences
de l'application en matière de capacité de stockage, de vitesse d'accès
et de rétention de données.
M. kthiri/ISSAT
51 Kthiri.moez@yahoo.fr
M. kthiri/ISSAT
52 Kthiri.moez@yahoo.fr
Partie III.2:
Conception Des Systèmes
Embarqués
M. kthiri/ISSAT
53 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
Type Eléments de base Conception
Conception électrique
Composants 1 2
Conception numérique
MSI Full
Middle Scale
Registre Mux
Adder Optimisation des traitements
Integration
Conception architecturale
LSI UAL
Séquenceur
Large Scale Choix des fonctionnalités
Integration
Conception fonctionnelle
VLSI
Very Large
Scale
E/S P E Fpga S E Asic S
Optimisation des implémentations
matérielles ou logicielles
Integration
Conception système
ULSI
Rom Buff. E/S
Cœur DSP MPEG Optimisation conjointe des
Ultra Large
Scale Cœur RISC Ram implémentations
Integration
Buff. E/S Analog. matérielles et logicielles
M. kthiri/ISSAT
54 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
La conception d’un système embarqué passe de la
spécification à la réalisation.
M. kthiri/ISSAT
55 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
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
Rester indépendant le plus longtemps possible vis à vis de la
technologie
Prendre en compte les contraintes matérielles au plus tôt
M. kthiri/ISSAT
56 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
M. kthiri/ISSAT
57 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
M. kthiri/ISSAT
58 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
M. kthiri/ISSAT
59 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
Conception top-down :
– Commencer par une description très abstraite;
– Enrichir de détails solutions spécifiques.
Conception Bottom-up :
– Assembler des petits composants pour obtenir un
gros système assemblage spécifique.
M. kthiri/ISSAT
60 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
Conception top-down
Dans cette approche, encore appelée conception globale ou
descendante, le système est divisé en blocs. Chaque bloc est
ensuite progressivement modélisé, en partant du plus haut
niveau d’abstraction, interconnecté et simulé jusqu’à ce que
l’ensemble soit partitionné à son niveau le plus fondamental.
(Définition Electronique International Hebdo)
Conception bottom-up
Méthode de conception dans laquelle des composants de bas
niveau sont définis, à partir desquels les composants plus
complexes pourront être à leur tour assemblés.(conception
ascendante)
M. kthiri/ISSAT
61 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
M. kthiri/ISSAT
62 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
Synthèse Système
HDL
Schéma Niveau fonctionnel
Diagramme d’états
Synthèse Architecturale
HDL
Schéma Niveau architectural
Diagramme d’états
HDL
Schéma / Netlist Niveau logique
Equation logique
Equation
différentielle Niveau
Modèle électrique électrique et
Modèle physique physique
M. kthiri/ISSAT
63 Kthiri.moez@yahoo.fr
METHODOLOGIE 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.
Cette méthodologie de conception a des processus long et coûteux
M. kthiri/ISSAT
64 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
M. kthiri/ISSAT
65 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
M. kthiri/ISSAT
66 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
M. kthiri/ISSAT
67 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
M. kthiri/ISSAT
68 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
M. kthiri/ISSAT
69 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
M. kthiri/ISSAT
70 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
Le flot de conception CoDesign
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 grandes étapes sont distinguées dans l’approche CoDesign
1-) Spécification
2-) Partitionnement
3-) Synthèse logicielle & matérielle
4-) Co-simulation
M. kthiri/ISSAT
72 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
Le flot de conception CoDesign
SW = microprocesseur
HW = FPGA ou ASIC
M. kthiri/ISSAT
73 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
Le flot de conception CoDesign
Buts :
M. kthiri/ISSAT
74 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
Le flot de conception CoDesign
SPECIFICATION HAUT NIVEAU DE L’APPLICATION
ordonnancement de l’application
proposition de candidats HW et SW
ESTIMATION SYSTEME
COSIMULATION
TESTS
M. kthiri/ISSAT
75 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
Spécification Le flot de conception CoDesign 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.
….
M. kthiri/ISSAT
76 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
Spécification Le flot de conception CoDesign Spécification
M. kthiri/ISSAT
77 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
Partitionnement Le flot de conception CoDesign 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.
M. kthiri/ISSAT
78 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
Partitionnement Le flot de conception CoDesign Partitionnement
M. kthiri/ISSAT
79 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
Partitionnement Le flot de conception CoDesign Partitionnement
M. kthiri/ISSAT
80 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
Partitionnement Le flot de conception CoDesign Partitionnement
M. kthiri/ISSAT
81 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
Synthèse Le flot de conception CoDesign 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.
M. kthiri/ISSAT
82 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
Le flot de conception CoDesign Synthèse logicielle
Processeurs standards:
Simplicité de mise en œuvre, flexibilité
Performances limitées
DSP:
Traitement de signal, opérations de calcul répétitives
M. kthiri/ISSAT
83 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
Le flot de conception CoDesign Synthèse logicielle
C File C File Asm. File
Compiler Assembler
Linker
Debugger
Library
Exec. File
Profiler
M. kthiri/ISSAT
84 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
Le flot de conception CoDesign Synthèse logicielle
M. kthiri/ISSAT
85 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
Le flot de conception CoDesign Synthèse logicielle
Avantages:
Flexibilité: il suffit de modifier le programme pour modifier l’application
Simple à mettre en œuvre grâce à la programmation de haut niveau
Temps de conception courts et coûts de conception faible
Inconvénients:
Faibles performances (consommation, vitesse de fonctionnement, …)
à cause d’une architecture séquentielle et des trop nombreux accès à la
mémoire
Le passage par un compilateur peut dégrader les performances
Complexité du langage machine et de l’assembleur
M. kthiri/ISSAT
86 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
Le flot de conception CoDesign Synthèse matérielle
Niveau d’abstraction
Spécification
comportementale
Description
comportementale
Synthèse
Librairie de composants
architecturale
Description RTL
Synthèse
Librairie de portes
logique
Description logique
(portes)
Synthèse
physique Librairie de transistors
Layout
M. kthiri/ISSAT
87 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
Le flot de conception CoDesign Synthèse matérielle
SUM :=
A1+B1
Algorithme
Circuit
M. kthiri/ISSAT
88 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
Co-simulation Le flot de conception CoDesign Co-simulation
Une nécessité !!
M. kthiri/ISSAT
89 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
Co-simulation Le flot de conception CoDesign Co-simulation
M. kthiri/ISSAT
90 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
Co-simulation Le flot de conception CoDesign Co-simulation
M. kthiri/ISSAT
91 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
Co-simulation Le flot de conception CoDesign Co-simulation
M. kthiri/ISSAT
93 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
Co-simulation Le flot de conception CoDesign Co-simulation
M. kthiri/ISSAT
94 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
Co-simulation Le flot de conception CoDesign Co-simulation
Prototypage: utilisation de circuits
programmables FPGA et de cœurs de circuits
(DSP, microcontrôleurs, etc).
M. kthiri/ISSAT
95 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
Co-simulation Le flot de conception CoDesign Co-simulation
M. kthiri/ISSAT
96 Kthiri.moez@yahoo.fr
METHODOLOGIE DE CONCEPTION
Co-simulation Le flot de conception CoDesign Co-simulation