WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Les systèmes embarqués

( Télécharger le fichier original )
par Ramzi BOULKROUNE
Université de Annaba - Ingénieur d'état en électronique option télécommunication 2009
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

II.5.2. Flots de conception récents :

Si le flot de conception classique pouvait suffire pour les première et deuxième générations de systèmes embarqués, la troisième génération, fortement hétérogène et multimaître, est trop complexe pour que les limitations précédemment énoncées soient acceptable telles que le codéveloppement.

II.5.2.1. Codéveloppement :

Le codéveloppement ou codesing a pour but de développer conjointement les diverses parties d'un système hétérogène (logiciel, électronique, mécanique, etc.). C'est pourquoi une description globale du système est nécessaire.

Deux approches sont possibles pour cette description : la première consiste à décrire toutes les parties dans un langage unique. Ce langage doit alors avoir une sémantique pour chacune des parties. L'avantage est qu'il est plus simple pour les outils et les utilisateurs de gérer un langage unique. L'inconvénient est qu'il est difficile, sinon impossible, de définir un langage qui soit vraiment adapté à toutes les parties du système. La deuxième approche consiste à utiliser plusieurs langages, chacun étant adapté à une partie du système. Un langage de coordination sert à faire le lien entre toutes les descriptions. L'avantage est que, cette fois, il est possible d'avoir le langage optimal pour chaque partie. L'inconvénient est que la gestion de tous ces langages est difficile.

Une partie difficile du codéveloppement est le découpage entre le logiciel et le matériel. De nombreuses heuristiques ont été développées, etc. cependant l'approche manuelle prévaut toujours.

La figure II.4 donne un exemple de flot basé sur le codévloppement en comparaison avec le flot classique : dans le nouveau flot, la séparation entre le logiciel et le matériel est effectuée plus tard, et une nouvelle équipe fait son apparition : l'équipe d'architecture, qui s'occupe du système global et de la coordination entre les équipes.

Le codéveloppement repose aussi sur l'utilisation d'une autre technique permettant la simulation du système aux divers niveaux d'avancement dans la conception. Ces simulations, appelées cosimulations, sont décrites dans la section suivante.

II.5.2.2. Cosimulation :

La cosimulation a pour but de simuler conjointement les diverses parties d'un système hétérogène. Cela permet d'effectuer la validation d'un système complet avant le prototype, mais aussi à divers niveaux d'abstraction.

Il existe deux méthodes pour effectuer cette cosimulation (présentées figure II.5) : la première consiste à traduire les descriptions des diverses parties dans un unique langage pour la simulation. Très souvent, il s'agit d'un langage de programmation tel que le C pour accélérer les simulations. La difficulté est d'être assuré que la traduction et la simulation du langage unique ne changent pas la sémantique des descriptions des diverses parties. La deuxième méthode consiste à conserver les descriptions spécifiques des diverses parties et à exécuter en parallèle les divers simulateurs. Un programme, appelé bus de cosimulation, cette tâche peut s'avérer difficile à effectuer lorsque les modèles de simulation sont différents ; de plus les communications entre les simulateurs peuvent s'avérer coûteuses.

Cosimulation avec description

Cosimulation multilangage

Description
logicielle

Description
matérielle

Description
autre

Description
logicielle

Description
matérielle

Description
autre

Traduction

Simulateur
logiciel

Simulateur
matériel

Simulateur
autre

Description
unique

 
 
 
 
 
 

Simulateur

Bus de cosimulation

Figure II.5 : Les deux méthodes de cosimulation

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Nous voulons explorer la bonté contrée énorme où tout se tait"   Appolinaire