Technologie FPGA, Evolution et Projections

ย Technologie FPGA, Evolution et Projectionsย 

Le marchรฉ de la conception dโ€™application ร  base de FPGA intรฉresse de plus en plus les รฉditeurs traditionnels de CAO. Jusquโ€™ร  une รฉpoque rรฉcente, la conception dโ€™un systรจme sur puce (SOC) nโ€™รฉtait accessible quโ€™aux sociรฉtรฉs de grande taille, du fait des multiples exigences quโ€™elle induisait (complexitรฉ et diversitรฉ des compรฉtences requises, coรปts รฉlevรฉs des outils de dรฉveloppement matรฉriel et logiciel, et forts volumes nรฉcessaires pour justifier le coรปt de conception dโ€™un ASIC). Aujourdโ€™hui, deux รฉvรฉnements ont changรฉ la donne : lโ€™avรจnement des derniรจres gรฉnรฉrations de FPGA et la disponibilitรฉ des blocs de propriรฉtรฉ intellectuelle (IP), utilisable notamment sur ces matrices programmables, mettent la technologie SOC ร  la portรฉe dโ€™un public nettement plus large. Ainsi, cette technologie, qui ciblait principalement les domaines : public, mรฉdical, tรฉlรฉcommunication et automobile, devient intรฉressante pour des applications plus simples et portant sur des volumes moins importants. Et ceci particuliรจrement depuis que les FPGA sont proposรฉs ร  un prix trรจs faible (0.0001dollar par porte). De plus, lโ€™offre en propriรฉtรฉ intellectuelle pour ces circuits, ร  prรฉsent est trรจs variรฉe et performante. Mentionnons simplement la richesse des cล“urs des processeurs : des microcontrรดleurs 8 et 16 bits aux microprocesseurs et DSP 32 bits de haute performance, grรขce notament ร  lโ€™architecture VLIW (Very Large Instruction Word). Pour mettre en ล“uvre ces applications SOC, les concepteurs doivent disposer dโ€™outils de CAO รฉlectronique et de dรฉveloppement de logiciels enfouis. Dans les PME, les premiers systรจmes sur puce remplacent gรฉnรฉralement des produits existants rรฉalisรฉs ร  lโ€™aide de plusieurs composants (microcontrรดleur, pรฉriphรฉriques, etc.). Afin de mener ร  bien leurs projets, ces sociรฉtรฉs ont besoin dโ€™un jeu de blocs IP fonctionnant ensemble et dโ€™un fournisseur capable de garantir cette interopรฉrabilitรฉ, et non dโ€™une mรฉthodologie gรฉnรฉrique de conception SOC. Les cล“urs IPs et les pรฉriphรฉriques choisis pour ces systรจmes sont souvent des copies de composants discrets associรฉs ร  des outils de dรฉveloppement logiciel, de haute qualitรฉ et de prix modique, mais proposรฉs par des firmes diffรฉrentes.

Limites de FPGA

Lโ€™emploi de FPGA est devenu, ร  juste titre, une solution privilรฉgiรฉe pour produire rapidement des circuits. Pourtant, la complexitรฉ croissante des plus grandes matrices engendre de graves problรจmes ร  lโ€™รฉtape de routage. Entre les ASIC et les FPGA de haute complexitรฉ, la durรฉe du procรฉdรฉ de placement-routage sous contrainte temporelle varie beaucoup avant de converger vers la solution optimale .

Les FPGA ont certes de nombreux atouts, mais les concepteurs de systรจmes ont tendance ร  se tourner, par habitude, vers cette solution sans regarder si elle rรฉpond correctement aux objectifs de performances et de coรปt, voire si elle sโ€™inscrit bien dans le calendrier de dรฉveloppement de leurs projets. Pourtant, les FPGA de forte complexitรฉ induisent des limitations sรฉvรจres qui peuvent pรฉnaliser le bon dรฉroulement dโ€™une conception. Certaines applications, dans le domaine des rรฉseaux et communications notamment, exigent des fonctions complexes et un nombre รฉlevรฉ de broches, ceci assorti de performances toujours croissantes. De ce fait, les plus grands rรฉseaux logiques programmables choisis pour rรฉaliser ces projets sont frรฉquemment employรฉs au-delร  de leurs possibilitรฉs physiques, des limitations inhรฉrentes ร  leurs architectures. Avec de tels FPGA, il faut souvent plusieurs mois avant de converger vers un routage satisfaisant au niveau des performances temporelles (Figure 2.3). Dans ce cas, la convergence vers un timing optimal est presque toujours un procรฉdรฉ long, imprรฉvisible, onรฉreux, et extrรชmement laborieux.

Au niveau des FPGA de forte complexitรฉ, la difficultรฉ dโ€™utilisation de ces matrices dans des applications de hautes performances rรฉside dans le principe dโ€™interconnexions programmables pour le routage des signaux. Et ceci nโ€™est pas entiรจrement dรป au fait que la quantit รฉ de ressources de routage disponibles est plus faible dans les FPGA basรฉs sur des points SRAM que dans les technologies concurrentes. Entre en jeu รฉgalement le retard substantiel, de type R-C, inhรฉrent ร  ces circuits programmables par SRAM (Figure 2.4 : Chaque point dโ€™aiguillage consomme au moins cinq transistors pour la Ram et un transistor interrupteur de grande taille). Ce dรฉlai de propagation rend les performances du composant hautement sensibles au moindre changement dans un chemin de routage .

Technologie FPGA du Xilinx

Dรจs lโ€™origine, les FPGA, tels que Xilinx les a inventรฉs, avaient la rรฉputation de mettre ร  disposition de lโ€™utilisateur une conception rapide, fiable et simple. Les progrรจs technologiques ont permis dโ€™accรฉder ร  des matrices logiques programmables de plusieurs millions de portes. Cette complexitรฉ actuelle reste absolument gรฉrable et permet la rรฉalisation dโ€™applications trรจs performantes moyennant une bonne connaissance des ressources offertes et le respect dโ€™une mรฉthodologie de conception.

Les principales caractรฉristiques de ces trois familles sont :
โ™ฆย Complexitรฉs allant de 1500 ร  plus de 8 millions de portes.
โ™ฆย Faible consommation.
โ™ฆ Grande souplesse dโ€™utilisation des entrรฉes/sorties avec adaptation dโ€™impรฉdance (Virtex-II) et configuration en mode diffรฉrentiel (Spartan-IIE, Virtex-E et Virtex-II).
โ™ฆย Fonctions mรฉmoire (distribuรฉe et blocs de Ram).
โ™ฆย Dispositifs de gestion des horloges (DLL et DCM).
โ™ฆ Multiplieurs cรขblรฉs (Virtex-II) .

FPGA Virtex-II Pro

Xilinx a mis depuis peu sur le marchรฉ, une nouvelle technologie de circuits FPGA intรฉgrants de nouvelles fonctionnalitรฉs, ces derniers permettent la rรฉalisation dโ€™architectures qui auparavant sโ€™avรฉraient trรจs compliquรฉes ร  entreprendre. Parmi ces nouveaux circuits, le VIRTEX-II PRO (Figure 2.11) qui est un composant FPGA intรฉgrant un cล“ur de processeur PowerPC 405 de chez IBM pouvant fonctionner ร  plus de 300MHz. Afin de rendre le co-design plus simple ร  rรฉaliser, la famille de composant Virtex-II-Pro possรจde plusieurs atouts tel que :
โ™ฆย lโ€™intรฉgration dโ€™un ou deux cล“urs de processeur powerPC405
โ™ฆ un grand nombre de slices pouvant atteindre 44.096 unitรฉs permet dโ€™implรฉmenter des algorithmes dont la complexitรฉ les rend gourmand en consommation des ressources logiques
โ™ฆ des blocs de mรฉmoire de 18Kb sont aussi disponible ce qui diminuera lโ€™accรจs vers des ressources externes et ce qui peut รชtre fatal pour le circuit surtout du point de vue consommation dโ€™รฉnergie
โ™ฆย des multiplieurs 18×18 bits, des DCM (Digital Clock Manager).

Pour cela Xilinx fourni des IPs soft (Figure 2.12) รฉcrites en langage VHDL qui permettent dโ€™exploiter le PowerPC405 et de lui fournir tous les pรฉriphรฉriques nรฉcessaires ร  son fonctionnement. Les premiรจres IPs ร  implรฉmenter autour du processeur sont le PLB ยซ Processor Local Bus ยป et le ยซOn Chip Memory Controllerยป, la premiรจre constitue le bus de communication sur lequel viennent se greffer dโ€™autres IPs, quant au ยซOn Chip Memory Controller ยป il permet de connecter le PowerPC405 avec les Bramโ€™s du FPGA ou bien avec des RAMs externes oรน sera logรฉ le code ร  exรฉcuter.

Le rapport de stage ou le pfe est un document dโ€™analyse, de synthรจse et dโ€™รฉvaluation de votre apprentissage, cโ€™est pour cela chatpfe.com propose le tรฉlรฉchargement des modรจles complet de projet de fin dโ€™รฉtude, rapport de stage, mรฉmoire, pfe, thรจse, pour connaรฎtre la mรฉthodologie ร  avoir et savoir comment construire les parties dโ€™un projet de fin dโ€™รฉtude.

Table des matiรจres

INTRODUCTION
CHAPITRE 1 : CONTEXTE GENERAL DE LA THESE ET MOTIVATIONS
1.1 Conception des systรจmes embarquรฉs
1.2 Contribution
1.3 Plan du mรฉmoire
CHAPITRE 2 : SYSTEME SUR PUCE
2.1 Technologie ASIC, Evolution et Projection
2.2 Technologie FPGA, Evolution et Projections
2.2.1 Introduction
2.2.2 Limites de FPGA
2.2.3 Technologie FPGA du Xilinx
2.2.4 La famille FPGA Xilinx Virtex-II
2.2.5 FPGA Virtex-II Pro
2.2.6 Flot de conception FPGA
2.2.6.1 Vue Gรฉnรฉrale
2.2.6.2 Conception et Synthรจse
2.2.6.3 Design Hiรฉrarchique
2.2.6.4 Schรฉmatiques
2.2.6.5 Les รฉlรฉments des Librairies
2.2.6.6 Outil de Gรฉnรฉration de Cores
2.2.6.7 HDL et synthรจse
2.2.6.8 Simulation fonctionnelle
2.2.6.9 Contraintes
2.2.6.10 Translation en NetList
2.2.6.11 Implรฉmentation
2.2.6.12 Mapping
2.2.6.13 Placement et Routage
2.2.6.14 Gรฉnรฉration de flot de bits
2.2.6.15 Vรฉrification
2.2.6.16 Analyse temporelle statique
2.2.6.17 Vรฉrification sur le circuit
2.3 Module ADM-XRC-II
2.3.1 Prรฉsentation de la plateforme ADM-XRC-II
2.3.2 Spรฉcifications techniques du module ADM-XRC-II
2.3.3 Signaux du bus local
2.3.4 Fonctions de commande plateforme
2.4 Mรฉthodologies de Conception SOC et IPs
2.4.1 Les composants rรฉutilisables
2.4.2 Mรฉthodologie de rรฉutilisabilitรฉ
2.4.3 Les composants virtuels IPs
2.5 IPs Paramรฉtrables et SOPC
2.6 Reconfigurabilitรฉ dynamique
2.7 Conclusion
CHAPITRE 3 : ALGORITHMES EVOLUTIONNAIRES MONO ET MULTIOBJECTIFS
3.1 Optimisation difficile
3.2 Mรฉtaheuristiques
3.3 Capacitรฉ des mรฉtaheuristiques ร  sโ€™extraire dโ€™un minimum local
3.4 Fonction dโ€™objectif et fonction dโ€™adaptation
3.5 Optimisation monobjectif
3.5.1 La mรฉthode du recuit simulรฉ
3.5.2 La mรฉthode de recherche avec Tabous
3.5.3 Algorithme gรฉnรฉtique
3.5.3.1 Introduction ร  lโ€™AG
3.5.3.2 Algorithme gรฉnรฉtique simple ยซ AGS ยป
3.5.3.3 Algorithme Gรฉnรฉtique Canonique ยซ AGC ยป
3.5.3.4 Principe de lโ€™AGC
3.5.3.5 Reproduction
3.5.3.6 Croisement
3.5.3.7 Mutation
3.5.3.8 Les paramรจtres de lโ€™AG
3.5.3.9 Gรฉnรฉration dโ€™une nouvelle population
3.5.3.10 Elitisme
3.5.3.11 Etat de lโ€™art de la convergence de lโ€™AGC
3.6 Optimisation multiobjectifs
3.6.1 Objectifs multiples avec la mรฉthode dโ€™agrรฉgation
3.6.2 Mรฉthodes non-agrรฉgatives
3.6.2.1 Pareto Archived Evolution Strategy ยซ PAES ยป
3.6.2.2 Strength Pareto Evolutionary Algorithm ยซ SPEA ยป
3.6.3 Objectifs multiples avec le critรจre de Pareto
3.7 Lโ€™algorithme NSGA-II
3.7.1 Classification des individus
3.7.2 Prรฉservation de la diversitรฉ
3.7.3 Opรฉrateur de comparaison Crowded
3.7.4 Boucle principale de lโ€™algorithme NSGA -II
3.7.5 Convergence et diversitรฉ des solutions des algorithmes multiobjectifs
3.7.6 Implรฉmentation de NSGA -II
3.7.7 Distribution du calcul des performances
3.8 Conclusion
CHAPITRE 4 : EXPLORATION ARCHITECTURALE
4.1 IPs Processeurs et Microarchitecture
4.2 Evaluation des Performances
4.3 Evaluation de la consommation dโ€™รฉnergie
4.3.1 Techniques employรฉes pour la rรฉduction de la consommation dโ€™รฉnergie
4.3.2 SimplePower
4.4 Evaluation de la surface silicium
4.5 Exploration de lโ€™espace architectural ร  base de simulation
4.5.1 Le Simulateur SimpleScalar
4.5.2 Paramรจtres de simulation
4.5.2.1 Paramรจtres caches
4.5.2.2 Paramรจtres de Pipeline et les unitรฉs fonctionnelles
4.5.3 Reprรฉsentation chromosomique: codage dโ€™individus
4.5.4 Dรฉcodage de la solution
4.5.5 Rรฉsultats de la simulation
4.6 Exploration ร  base dโ€™Emulation
4.6.1 IP de processeur Leon
4.6.2 Caractรฉristiques configurables du Leon
4.6.2.1 Utilisation du processeur
4.6.2.2 Utilisation du compilateur
4.6.2.3 Processeur et mรฉmoires
4.6.3 Intรฉgration de lโ€™IP Leon sur le FPGA
4.6.3.1 Structure Hard
4.6.3.2 Compilation dโ€™une application pour initialiser la ROM
4.6.4 Le processeur Leon dans la bocle dโ€™exploration
4.6.4.1 Objectif
4.6.4.2 Architecture HARD de la plateforme dโ€™รฉmulation
4.6.4.3 Structure Soft cรดtรฉ PC
4.6.5 Rรฉsultats de lโ€™รฉmulation
4.6.5.1 Exploration exhaustive
4.6.5.2 Exploration avec lโ€™algorithme NSGA-II
4.7. Conclusion
CONCLUSION

Rapport PFE, mรฉmoire et thรจse PDFTรฉlรฉcharger le rapport complet

Tรฉlรฉcharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiรฉe. Les champs obligatoires sont indiquรฉs avec *