Vous êtes sur la page 1sur 22

Conception d’objets connectés

Le Co-design

EYA BCHINI
A.U: 2023/2024
Conception classique des systèmes
embarquées
Conception traditionnelle des systèmes embarqués

Un système embarqué est souvent formé par une collection de circuits


(ASIC, IP, ADC, mémoires…) et de logiciels (code exécutable :
taches, Objets…) en étroite interaction.

Approche logicielle Approche matérielle

Intégratio Intégratio
n Test n Test
Validation Validation
Systèmes
Embarqué SoC
Approche traditionnelle

1. Choix du matériel (composants électroniques, processeur…)


pour le système embarqué.
2. Donner le système ainsi conçu aux programmeurs.
3. Les programmeurs doivent réaliser un logiciel qui s’adapte
au matériel.
Problèmes
Complexité croissante des systèmes embarqués
Les systèmes embarqués sont de plus en plus complexes:
 Il est de plus en plus difficile d’obtenir une
solution globale optimisée au premier coup.
 Il est de plus en plus difficile de corriger les erreurs.
 Il est de plus en plus difficile de maintenir le système au
cours du temps (obsolescence des composants…).

En conséquence, l’approche traditionnelle de


développement
Conception conjointe : co-
design
hardware/software
Co-design hardware/software

Le Co-design constitue une méthodologie de conception


d’un
système embarqué de tendance actuelle.

Le Co-design consiste à concevoir en même temps le matériel et le


logiciel pour une fonctionnalité à implémenter. (dès les premières
phases)

Le clé de cette conception est la spécification unique du système


décrivant son architecture et son comportement: d’où on tient
compte très tôt de l’interaction entre la partie hardware et la partie
Le co-design permet de repousser le plus loin possible dans la
conception du système les choix matériels à faire
contrairement à l’approche classique où les choix matériels
sont faits en premier lieu !
Conception et co-design
Objectif du co-design

 Flexibilité de conception
Possibilité d’effectuer des modifications lors de la phase de
conception en raison du changement d’orientation du systèmes ou des
contraintes.
 Limitation des erreurs de conception
Le codesign évite les mauvaises surprises lors de la phase
d’intégration
des différents sous systèmes et les tests du système global.
 Solutions moins couteuses et plus performantes
 Phase d’intégration et de test réduites
Avantages du codesign

Le co-design est dans la conception des


intéressant embarqués : systèmes
- Amélioration des performances: parallélisme (matériel bien
adapté au logiciel) , architecture spécialisée…
- Reconfiguration statique ou dynamique en cours de
fonctionnement.
- Indépendance vis à vis des évolutions technologiques des circuits
logiques programmables.
- Profiter des améliorations des outils de conception fournis par les
fabricants de circuits logiques programmables: synthèse plus
efficace, performances accrues.
Flot de conception co-design
Présentation générale

 Le Co-Design logiciel/matériel propose une approche structurée


pour la conception d’une classe de systèmes numériques.
 On distingue quatre grands étapes dans l’approche Co-Design :
1-) Spécification et modélisation:
- description des fonctionnalités du système de façon
abstraite.
-conceptualisation et affinement des spécifications produisant
un modèle du matériel et du logiciel.
2-) Partitionnement matériel & logiciel.
3-) Synthèse et optimisation logicielle & matérielle: synthèse matériel
et compilation logicielle
4-) Co-simulation (validation, intégration et test d’intégration)
Approche co-design
Spécification (1/1)

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
Spécification (1/2)

Choix de la cible matérielle


- Une technologie
- Un type de circuit (FPGA, ASIC, DSP, Processeurs…)
Partitionnement

Objectif du partitionnement
Regrouper les variables et les comportements fortement
dépendants, puis de décider pour chaque regroupement le type de
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
o Choix du modèle de spécification en fonction du type de l'application

o Classiquement les concepteurs considèrent qu'un système est dominé:


 Par le contrôle: Contrôle/commande de processus
– Systèmes à événements discrets
– Systèmes réactifs synchrones
– Machine d'états finis
– Réseaux de Petri
– Graphe de tâches
 Par les données : Les sorties sont fonctionnellement dépendantes
des entrées, Les occurrences des valeurs sur les entrées sont
périodiques
– Dataflow, Process Networks
Synthèse matérielle et logicielle

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 (motif, plannification).

 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.
Synthèse logicielle

Phase de développement

Phase de vérification

C File C File As. File

conversion en un Compiler Assembler


code exécutable
par un processeur. Binary Binary Binary
File
File File

Debugger
Linker
Library
Profiler
Exec. File
Synthèse matérielle

Niveau
Spécification d’abstraction
Synthèse architecturale : comportemental
catapullt C: vérification et e Description
comportemental
synthèse haute niveau Synthèse e
architecturale

Description RTL
Synthèse
(register transfer
level)
logique
Description logique
Synthèse (portes)

Outils de synthèse logique : physique


Fiabilité des
VHDL. Layout prédictions
Co-simulation

Vous aimerez peut-être aussi