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

 > 

Affectation de circuits d'une bibliothèque a des unités fonctionnelles d'une partie opérative avec des contraintes de surface, de vitesse et de consommation d'énergie.

( Télécharger le fichier original )
par Farida LOUACHENI
Université Saad Dahleb Blida - Ingénieur d'état Informatique  2011
  

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

RESUME

Il existe actuellement des applications ayant des caractéristiques différentes en termes de surface, vitesse et consommation de puissance. De ce fait, la conception du circuit ou système implémentant l'application concernée est sujette à ses spécifications.

Une méthode de conception répondant à ces critères serait de concevoir le circuit ou système à partir d'aucun composant (?from scratch?) en veillant à satisfaire les différentes contraintes au cours de la conception. Néanmoins, la concurrence et la compétitivité féroces dans le marché des systèmes électroniques font que cette démarche présente l'inconvénient majeur de nécessiter un temps de conception énorme, ou du moins, ne répondant pas à la demande pressante du marché. Aussi, cette méthodologie de conception (appelée dans la terminologie anglo-saxonne ?full custom?) est écartée pour ce genre d'applications commerciales.

Une autre méthode serait de constituer tout le circuit (ou système) à partir de composants déjà conçus, et ce, pour des fins de rapidité de conception. Toutefois, ces composants de base ont certaines caractéristiques électriques et pourraient, en les assemblant, ne pas répondre au cahier des charges de l'application concernée. Alors comment concevoir rapidement un système tout en veillant à satisfaire les contraintes imposées ?

L'objet du travail décrit dans ce mémoire est une contribution à répondre favorablement à la question précédemment citée.

Mots-clés : applications différentes, contraintes différentes, rapidité de conception, satisfaction du cahier des charges.

INTRODUCTION GENERALE

La prolifération importante de systèmes électroniques sur le marché actuel a engrangé une concurrence et une compétitivité sans merci. C'est à la compagnie qui mettra, la première, un produit sur le marché que reviendra la plus grande part de ce marché. Il est donc tout à fait primordial que la conception doive être rapide. Comme il a été souligné dans le résumé, concevoir le circuit (ou système) à partir de zéro (?from scratch?) n'est certainement pas la voie indiquée. Il s'agira alors de constituer le système à partir de composants déjà conçus. Mais ces composants ont euxmêmes certaines caractéristiques électriques. En les assemblant, il n'est pas sûr de satisfaire le cahier des charges de l'application concernée. Alors comment procéder pour que :

- la conception du système soit rapide,

- les contraintes de l'application concernée soient satisfaites ?

Le travail décrit dans ce mémoire est une contribution pour répondre favorablement au dilemme posé. Il s'articule sur l'utilisation d'une bibliothèque de composants. Cette bibliothèque se caractérise par le fait que pour tout composant assurant une ou des fonctions données, plusieurs instances de ce même composant existent. Ces instances, quoique assurant la même fonctionnalité, ont toutefois des caractéristiques électriques différentes. Le système à concevoir étant composé d'une ou de plusieurs instances d'un certain nombre ou de tous les composants (assurant des fonctions différentes) de la bibliothèque, il s'agira a lors de combiner, judicieusement, ces instances pour répondre au cahier des charges de l'application.

Il est clair qu'une combinaison manuelle de ces instances est à abandonner, étant donné que le nombre de combinaisons est extraordinaire: ceci prendrait plusieurs mois, et l'intérêt de la rapidité de conception serait perdu. Nous verrons dans ce mémoire, que même avec l'utilisation d'un processeur, le temps CPU serait considérable si on considérait exhaustivement toutes les combinaisons, puis de sélectionner celle qui répondrait le mieux à l'application concernée. Il s'agirait alors de développer une méthode approchée qui répondra à la double problématique d'être polynomiale et de produire une solution optimale ou pré-optimale.

C'est un défi assez important que l'on ne peut relever qu'avec des méthodes rigoureuses, s'articulant sur des principes connus (algorithmes génétiques ou évolutionnaires, séparation et évaluation, recuit simulé, Tabu search, etc,...). Il est très important d'indiquer que ce n'est pas le principe choisi (algorithme génétique, ....) qui conduirait à une solution de qualité, mais plutôt comment procéder à l'initialisation, comment passer d'une solution à une autre, comment éviter un traitement redondant (gaspillage inutile de temps CPU), ... Des réponses à ces questions sont indiquées dans [1]. Toutefois, quoique l'algorithmique développé repose sur une bonne heuristique ou une bonne méta-heuristique, comment ?mesurer? la qualité de la solution qu'il a produite ? Ceci peut se faire moyennant l'utilisation de benchmarks, données dont la génération a été bien réfléchie (afin de répondre à des cas réels dans le monde industriel) et qui sont mises à la disposition (par téléchargement) des laboratoires de recherche. Ainsi, les chercheurs pourraient comparer leurs algorithmes sur les mêmes données. Cette comparaison permettrait éventuellement d'améliorer l'algorithme si la qualité de la solution qu'il produit est loin de valoir celles produites par d'autres algorithmes. Néanmoins, de tels benchmarks n'existent pas pour tout ce qu'on pourrait développer. Alors le seul moyen de mesurer la qualité de notre solution serait de la comparer à la solution exacte, c'està-dire celle obtenue après l'exploration exhaustive dans l'espace des solutions. Evidemment, l'exécution de la méthode exacte ne peut être envisageable que pour des cas possibles, ceux engendrant un temps CPU raisonnable. Cette méthode a surtout pour mérite d'indiquer qu'une méthode approchée n'est pas bonne. En effet, si les méthodes approchée et exacte produisent la même solution pour certains cas (ceux rendant possibles l'exécution de la méthode exacte), qu'en est-il pour les autres cas ? Toutefois, si la méthode approchée a été développée en respectant certaines règles de base [1] et si sa solution est identique ou proche de celle produite par la méthode exhaustive pour de nombreux jeux d'essais, l'on peut espérer que pour les cas où la méthode exacte n'est pas envisageable, la solution obtenue serait fiable.

Du fait de l'indisponibilité de benchmarks, notre travail a consisté à développer la méthode exacte qui servira comme un moyen de mesure de la qualité de la solution obtenue avec une méthode approchée (autre projet potentiel de fin d'études).

Notre mémoire est organisé comme suit : Dans le premier chapitre, nous apporterons quelques définitions qui faciliteront au lecteur la compréhension des autres chapitres. Le deuxième chapitre sera consacré à l'étude technique du problème concerné, en particulier sa complexité algorithmique, suivi par le troisième chapitre qui décrira nos algorithmes, les structures de données, ainsi que les formats des enregistrements des différents fichiers utilisés. Nous présenterons les résultats obtenus au quatrième chapitre, et terminerons notre mémoire par une conclusion au cinquième chapitre. Enfin, ce dernier chapitre sera suivi par la citation des références bibliographiques.

précédent sommaire suivant