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.3. La conception des systèmes sur puces :

Le flot de conception est généralement découpé en deux parties, la partie frontale et la partie dorsale du flot (en anglais ces parties sont appelées front-end et back-end). La première partie consiste à raffiner les spécifications initiales pour produire une réalisation de haut niveau. La partie dorsale du flot réalise les étapes de conception de bas niveau pour aller à la puce. Le point de

Chapitre II conception des logiciels embarqués

rencontre constitue un contrat (en anglais sign-off) permettant de sous-traiter la partie dorsale du flot. Au cours des années, la réalisation de haut niveau faisant l'objet du contrat à évolué du simple dessin des masques aux modèles de portes et est en passe d'atteindre le niveau transfert de registre. Il est prévu que cette évolution continue pour atteindre le niveau micro-architecture puis le niveau architecture de système contenant à la fois les parties matérielles (composants et interconnexions) et les parties logicielles (programmes d'applications et systèmes d'exploitation).

La partie frontale du flot part d'une spécification système qui permet de fixer les principales contraintes du produit à réaliser. Ce modèle sera aussi utilisé pour l'exploration d'architecture afin de fixer la solution architecturale qui sera réalisée. Suit alors la conception de cette solution. Cette étape comporte trois types d'actions ; la conception des composants logiciels, la conception des composants matériels et la conception des interfaces logicielles/matérielles.

Le résultat de cette partie est actuellement une micro-architecture de l'ensemble du système. Les parties matérielles sont détaillées au niveau transfert de registre (description au niveau du cycle d'horloge). Dans le cas où le système contient des parties logicielles exécutées sur un ou plusieurs processeurs embarqués, elles sont décrites au niveau de l'instruction (assembleur)

La partie dorsale comprend la conception des parties matérielles en passant par la conception logique et la conception physique. La figure II.3 montre une vue simplifiée de ce flot. Les rectangles désignent des modèles de description et les ovales des outils.

Verification, validation (tome!)

Architecture

Code assembleur

Raffinement du Raffinement de la Synthèse

Logiciel (tome3) communication (tome3) comportementale

(tome1)

Spécification des parties logicielles

Exploration d'architecture
(tome1)

Produit (niveau physique)

Spécification système

Conception physique
(tome2)

Interconnexion

Conception logique
(tome2)

Micro-architecture

Ports logiques

Spécification des
parties matérielles

Test (Tome2)

Figure II.3 : le flot de conception système

Ce flot considère cinq niveaux d'abstraction : le niveau système, le niveau architecture et le niveau microarchitecture, le niveau porte et le niveau physique. Au niveau système le circuit est spécifié au niveau des transactions entre les éléments de calcul : un ensemble de modules hiérarchiques et de processus communiquant par protocoles de communication de haut niveau par l'intermédiaire de canaux abstraits. Un canal peut cacher des protocoles de communication de haut niveau et des primitives de communication qui manipulent des types de données abstrait. A ce niveau, les modules peuvent être décrits en utilisant différents langages et/ou en utilisant différents niveaux d'abstraction. La cosimulation est utilisée pour valider la fonctionnalité du système. Ce modèle peut être utilisé pour explorer l'espace des solutions architecturales et fixer les grandes lignes de l'architecture. Cette étape est généralement réalisée à l'aide d'outils de simulation et d'estimation de performances.

Le deuxième niveau d'abstraction représente une architecture abstraite qu'on appelle macroarchitecture, ce modèle est composé d'un ensemble de modules reliés ensemble par des fils logiques. Chaque module représente un processeur dans l'architecture finale. Ceci peut être un processeur logiciel (par exemple : un DSP ou un microcontrôleur exécutant le logiciel), un processeur matériel (un composant spécifique) ou un module existant (mémoire globale, périphérique, contrôleur de bus, etc.). Les fils logiques sont des canaux abstraits qui transfèrent des types de données fixes (par exemple : nombre entier ou flottant) et peuvent cacher des protocoles de bas niveau (par exemple : poignée de main, transfert en mode rafale). Les différents modules peuvent être décrits en utilisant un ou plusieurs langages. La cosimulation peut être utilisée pour valider ce découpage architectural. Cette macroarchitecture peut être utilisée par différentes équipes pour réaliser les composants matériels, les composants logiciels et l'intégration des différents composants. Le résultat de ce flot est une macroarchitecture du système décrite au niveau transfert de registre. Ce modèle contient tout les détails de la communication entre les composants. Les couches de communication logicielles peuvent comporter un système d'exploitation spécifique (OS). Les couches de communication matérielles comportent les bus et autres dispositifs permettent de router les informations entre les composants. Les blocs matériels sont raffinés au niveau du cycle d'horloge. Finalement, les blocs existants (souvent appelés IP de l'anglais Intellectual Property) sont enveloppés dans des interfaces afin de les adapter aux bus et réseaux de communication utilisés. La connexion entre les différents blocs matériels est faite par les fils physiques qui mettent en application les protocoles choisis. Les composants logiciels communiquent entre eux et avec l'extérieur via des appels système à l'OS.

Le niveau porte détaille le système au niveau des délais élémentaires des transferts entre les portes de base. Finalement, le niveau physique représente les dessins des masques.

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








"Il faudrait pour le bonheur des états que les philosophes fussent roi ou que les rois fussent philosophes"   Platon