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

Chapitre III

Conception matériel

Chapitre III conception matériel

III.1. Introduction :

La conception de systèmes à base de composants apparaît bien établie dans le monde de l'électronique où les ingénieurs ont toujours travaillé ainsi. Dans les années 1980, une architecture matérielle est vue comme l'interconnexion sur une carte (PCB pour Printed Circuit Board) de composants sur étagère vendus dans des boîtiers séparés. Ces composants sont vus comme des boîtes noires auxquelles les constructeurs associent des documents (datasheets, notes d'application) pour en préciser les fonctionnalités, les interfaces et les contraintes d'utilisation. Une même carte regroupe généralement un processeur, de la mémoire, des périphériques de taille modeste et des circuits logiques. Ces derniers sont combinés soit pour construire des circuits plus complexes, soit sous forme de «glu» pour adapter les interfaces entre composants.

Dans les années 1990, les microcontrôleurs intègrent dans un même boîtier un coeur de processeur, ses périphériques et de la mémoire. La capacité croissante des ASICs (Application Specific Integrated Circuits) autorise l'implantation directement en matériel de fonctions complexes tandis que les circuits logiques programmables (PLD) permettent de regrouper la «glu» sur une même puce pour en réduire l'encombrement.

A partir de 2000, un simple ASIC ou FPGA (Field-Programmable Gate Array) peut contenir l'équivalent de plusieurs millions de portes logiques, ce qui permet d'intégrer dans le même boîtier un ou plusieurs coeurs de processeurs, des bus, de la mémoire et des périphériques. L'ordre de complexité de ces périphériques va d'un simple timer à un décodeur vidéo complet.

Aussi, un effort important est fourni pour la vérification des SoC en utilisant des représentations abstraites du système et de ses composants. Compte tenu de la complexité en nombre de portes des composants, cette vérification ne peut être exhaustive et s'avère à son tour très coûteuse en temps de développement. Les concepteurs de circuits combinent plusieurs approches :

- l'optimisation et la génération automatique de matériel à partir d'une modélisation de haut niveau du système,

- la réutilisation de composants pour éviter de la redondance dans la conception,

- l'utilisation de techniques de simulation et de vérification formelle afin de s'assurer que les modèles sont consistants par rapport aux spécifications.

III.2 Modéliser et synthétiser à un haut niveau d'abstraction :

Un flot typique de conception de matériel suit une progression descendante faite d'une succession d'étapes qui enrichissent la vision abstraite du système. Le diagramme en Y, proposé par Gajski et Kuhn, donne une vision synthétique des domaines de conception et des niveaux d'abstraction sous lesquels un circuit peut se présenter au cours de son développement. Les trois domaines proposés sont le domaine comportemental, dans lequel on s'intéresse aux propriétés dynamiques du fonctionnement d'un système ; le domaine structurel dans lequel un système est vu comme une interconnexion de composants ; le domaine géométrique, ou physique dans lequel on s'intéresse aux relations spatiales entre ces composants sur le support cible (carte ou circuit intégré). Les différents niveaux d'abstraction identifiés dans chacun de ces domaines sont :

- le niveau architectural décrit les fonctionnalités d'un système au niveau spécifications, donne sa décomposition en sous-systèmes ainsi que ses contraintes d'implantation physique ;

- le niveau algorithmique exprime des comportements de type flot de données et/ou de contrôle en utilisant des modèles hauts niveaux. La structure représente l'affectation des fonctions aux ressources. Des informations géométriques sont exprimées en terme de partitionnement en blocs sur un circuit intégré ou une carte ;

- le niveau transfert de registres (RTL) exprime l'ordonnancement au cycle d'horloge près des opérations et des transferts de données. Pour l'aspect structurel, ces opérations sont projetées sur des ressources matérielles élémentaires (registres, opérateurs arithmétiques, etc.) ;

- le niveau logique décrit le comportement sous forme d'équations booléennes, qui peuvent elles mêmes se traduire sous la forme d'une interconnexion de portes logiques d'une part, et d'autre part de cellules élémentaires placées et routées d'une bibliothèque technologique de type ASIC ;

- le niveau circuit modélise le comportement électrique sous forme d'équations différentielles ou de fonctions de transfert ; une représentation structurelle décompose le circuit en une interconnexion de transistors et une représentation géométrique détaille le placement et le routage de ces transistors sur le substrat de silicium.

Cette décomposition en domaines et niveaux d'abstraction conduit à une représentation commune des formes sous lesquelles un système peut se présenter et des transformations réalisables pour passer d'une représentation à une autre. Les langages de description de matériel comme VHDL ou Verilog autorisent des représentations combinant différents niveaux et domaines, représentations sur lesquelles des outils automatiques peuvent travailler à des fins d'analyse et de synthèse. Les outils de synthèse matérielle réalisent en fait l'équivalent de la «compilation», au sens logiciel, en automatisant le raffinement d'une description de «haut niveau» (par exemple une description comportementale au niveau RTL) en une description de plus bas niveau (par exemple une description structurelle au niveau logique).

Trois étapes de synthèse sont aujourd'hui couramment utilisées dans l'industrie : synthèse RTL (du niveau RTL comportemental vers le niveau logique structurel) ; synthèse logique (optimisation au niveau logique structurel) et synthèse physique, ou placement/routage (du niveau logique structurel vers le niveau logique ou circuit dans le domaine géométrique). Ces étapes s'enchaînent et les interventions du concepteur se limitent à l'écriture de scripts qui précisent notamment les contraintes à respecter. En amont de ces trois étapes, la synthèse de haut niveau promet la génération automatique d'une description RTL à partir d'une description du comportement au niveau algorithmique : ces nouveaux outils qui émergent depuis quelques années sur le marché de la CAO reposent sur l'ordonnancement automatique des opérations et la synthèse d'un contrôleur adapté aux performances souhaitées pour l'architecture matérielle de sortie.

Chapitre III conception matériel

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








"Ceux qui vivent sont ceux qui luttent"   Victor Hugo