Journées d'études Faible Tension Faible Consommation 14, 15, 16 mai 2003 1 Gwenolé CORRE, Nathalie JULIEN, Eric SENN, Eric MARTIN LESTER, Université de.

Slides:



Advertisements
Présentations similaires
Les étapes dans la construction du projet En amont du projet Analyse de la situation Définition des besoins Élaboration d'hypothèses Détermination des.
Advertisements

LIRMM 1 Journée Deuxièmes années Département Microélectronique LIRMM.
Test Intégré pour Convertisseurs Analogique/Numérique
Cours n° 8 Conception et Programmation à Objets
Exécutif Temps réel. Limitation des système classiques Rappels Mise en œuvre lourde des communications entre processus Problème de prédictibilité avec.
Auto Apprentissage Le DSP
Introduction à MPI Types dérivés MPI Décembre 2005
Synthèse Haut Niveau de Circuits
Programmation graphique du processeur CELL : Faciliter la programmation T. Grandpierre.
Ing Mohamed MASMOUDI Cours VHDL Ing Mohamed MASMOUDI
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Cours VHDL Chap 3: sémantique VHDL
Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE
Cours #6 Conception d’unités de contrôle
Le VHDL De nos jours, les circuits numériques de haute performance sont habituellement créés à partir de descriptions en langages de haut niveau. Nous.
Cours #12: Exercices de révision
Cours #8 Flot de conception d’un circuit numérique
Plan de l’exposé Introduction Revue de littérature Méthodologie
Historique de SystemC Regroupe 4 courants didées: SCENIC Project : Synopsys+UC Irvine Philips System-Level Data Types, VSIA SLD DWG IMEC, Hardware-Software.
Cours #4 Éléments à mémoire et circuits séquentiels synchrones de base
Optimisation et parallélisation de code pour processeur à instructions SIMD multimedia François Ferrand.
Moteur de RechercheMoteur de recherche "from scratch"
Plan 1-Introduction. 2-Standard VHDL-AMS. Modélisations:
Cours #7 Vérification d’un modèle VHDL
Cours #5 Conception de chemins des données
Standard Template Library
COMPOSANTS PROGRAMMABLES
Outils graphiques de conception et de débogage sous Eclipse
Modélisation VHDL d’un chemin des données
Décodeurs et encodeurs : sujets de ce thème
Flot de conception pour plateforme reconfigurable
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Représentation et opérations.
Le VHDL : SOMMAIRE I Introduction II Éléments généraux du langage
Banc d’essai pour un circuit combinatoire
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Synthèse d’un circuit.
Modélisation VHDL du chemin des données d’un processeur à usage général Sujets de ce thème
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Analyse de machines.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Description d’un circuit.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Entrées et sorties par.
INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Langages de description architecturale.
Méthodologie de conception Outils de conception
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Vérification de circuits.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Arithmétique entière.
Les systèmes mono-puce
Mise au point de systèmes mixtes et évaluation de puissance : Un exemple d’application Anne-Marie TRULLEMANS- ANCKAERT FTFC’03 UCL-DICE, Place du Levant.
Concepts intermédiaires de VHDL
Synthèse et implémentation d’un circuit combinatoire
« Validation Formelle de Systèmes Interactifs »
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Banc d’essai pour un.
Application à la Radio Logicielle Restreinte
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Objets des catégories.
Introduction au VHDL - R.WEBER - Polytech'Orleans
Construction d'une hiérarchie mémoire faible consommation
Structures de données avancées : Fichiers multidimensionnels Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI) zegour.esi.dz
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Tests exhaustifs.
Les différentes sortes de filtre
Architecture et technologie des ordinateurs II
1 École des Mines de Saint-Etienne. 158, cours Fauriel Saint-Etienne Cedex 2. Tél Fax Jean-Jacques Girardot
LIRMM, MONTPELLIER, FRANCE FTFC 2003 Définition d’une métrique d’insertion de buffers X. Michel, A. Verle N. Azémard, P. Maurine, D. Auvergne Paris, France.
Les FPGA « Field Programmable Gate Array »
INTRODUCTION.
Implémentation de la division sur FPGA
VHDL pour circuits séquentiels
SUNDANCE Multiprocessor Technology Ltd. Yann CLIN Stage effectué de février à juin Superviseur technique: Jocelyn SEROT Superviseur industriel: Emmanuel.
Optimisation pour la Conception de Systèmes Embarqués
PaCO++ André Ribes Réunion Hydrogrid Rennes 15/09/03.
Le VHDL Programmation des CPLD et FPGA avec Quartus II ENSET d'Oran / IUFM Aix Marseille - mai
Systèmes à microprocesseur Les mémoires
Description d’un circuit combinatoire en VHDL
Chapitre 01: Structure d'un module VHDL
Transcription de la présentation:

journées d'études Faible Tension Faible Consommation 14, 15, 16 mai Gwenolé CORRE, Nathalie JULIEN, Eric SENN, Eric MARTIN LESTER, Université de Bretagne Sud Centre de recherches, BP Lorient Cedex – France Ordonnancement sous contrainte de mémorisation : une optimisation efficace des ressources lors de la synthèse d'architecture

journées d'études Faible Tension Faible Consommation 14, 15, 16 mai Plan u IIntroduction u IIStratégie de conception développée. u IIIOrdonnancement sous contrainte de mémorisation è Les contraintes de synthèse. è Ordonnancement proposé. è Exemple. u IVRésultats. u VConclusion et perspectives.

journées d'études Faible Tension Faible Consommation 14, 15, 16 mai Pourquoi s'intéresser à la partie mémoire lors de la synthèse d'architecture ? u Pour des applications en traitements du signal et de l'image. è Vitesse : La partie mémoire limite les performances d’un système. è Surface : La mémoire représente une part importante de la surface d’un système, 90% en è Consommation : La mémoire représente 50 à 80% de la consommation globale d’un système. I Introduction Objectifs : déterminer la meilleure organisation de l’unité de mémorisation possible en fonction des contraintes d’une application. Prendre en compte cette organisation lors de la synthèse d ’architecture.

journées d'études Faible Tension Faible Consommation 14, 15, 16 mai II Stratégie de conception développée au LESTER Troisième étape : Optimisation aval Première étape : Optimisation amont Description RTL DFG + Mapping mémoire Description comportementale de l’application Génération du circuit en VHDL RTL Placement des données, génération des adresses Analyse Transformation de code Définition de hiérarchie mémoire Distribution des structures de données Deuxième étape : Synthèse d ’architecture Synthèse d'architecture réaliser par l'outil de synthèse GAUT Bibliothèque mémoire Bibliothèque opérateurs II Stratégie de conception développée u fichiers de mapping mémoire X, numbancs, adresse, taille;Placement des structures de données H, numbancs, adresse, taille; x(0), numbancs, adresse,;Eclatement des structures de données, x(1), numbancs, adresse,;Placement des données scalaires x(2), numbancs, adresse,; x(3), numbancs, adresse,; h(0), numbancs, adresse,; h(1), numbancs, adresse,; h(2), numbancs, adresse,; h(3), numbancs, adresse,;

journées d'études Faible Tension Faible Consommation 14, 15, 16 mai II Stratégie de conception développée au LESTER Troisième étape : Optimisation aval Première étape : Optimisation amont Description RTL DFG + Mapping mémoire Description comportementale de l’application Génération du circuit en VHDL RTL Placement des données, génération des adresses Analyse Transformation de code Définition de hiérarchie mémoire Distribution des structures de données Deuxième étape : Synthèse d ’architecture Synthèse d'architecture réaliser par l'outil de synthèse GAUT Bibliothèque mémoire Bibliothèque opérateurs II Stratégie de conception développée component ram_16x1024 generic ( time : integer := 5 ; temps d’accès en ns area : integer:= 4265; surface en nombre de CLB consovar : integer:= 348;consommation dynamique en mW/MHz consocst : integer := 36;consommation dynamique en mW size : integer := Taille mémoire en nombre de bits ); port ( a:in std_logic_vector(9 downto 0); clk:in std_logic; we :in std_logic; oe :in std_logic; in :in std_logic_vector(nb_bit-1 downto 0); out:out std_logic_vector(nb_bit-1 downto 0) ) end component;

journées d'études Faible Tension Faible Consommation 14, 15, 16 mai II Stratégie de conception développée au LESTER Troisième étape : Optimisation aval Première étape : Optimisation amont Description RTL DFG + Mapping mémoire Description comportementale de l’application Génération du circuit en VHDL RTL Placement des données, génération des adresses Analyse Transformation de code Définition de hiérarchie mémoire Distribution des structures de données Deuxième étape : Synthèse d ’architecture Synthèse d'architecture réaliser par l'outil de synthèse GAUT Bibliothèque mémoire Bibliothèque opérateurs II Stratégie de conception développée Synthèse d’architecture Cœur de Gaut -Sélection -Allocation -ORDONNANCEMENT -Assignation Options de synthèse Contraintes temporelles DFG Mapping mémoire Bibliothèque mémoire Bibliothèque d'opérateurs

journées d'études Faible Tension Faible Consommation 14, 15, 16 mai Ordonnancement proposé cycle =0; Faire Trier la liste des Ops_exe (mobilité) Parcourir la liste des Ops_exe si (Ops_courante = Ops_accessible) alors(accessibilité) conserver Ops_courante dans la liste Ops-exe mettre à jour la liste des mémoires accessibles sinon retirer Ops_courante de la liste Ops_exe fin si Ops_courante = Ops_suivante tant que Ops_courante   Ordonnancer Ops_exe en fonction des Opr_libre Mettre à jour la liste des mémoires accessibles Mettre à jour les listes des Opr_libre et des Ops_exe cycle = cycle+1; Tant que toutes les opérations ne sont pas ordonnancées III Ordonnancement sous contrainte de mémorisation

journées d'études Faible Tension Faible Consommation 14, 15, 16 mai entity test is port (a, b, c, d, e, f:in integer; x, y, z:out integer); end add; architecture test_arch of test is begin constant latency := 40 ns : time; Process variable tmp, tmp2 : integer; begin tmp :=a+b; z := a + f; x := tmp + c; tmp2 := d+e; y <= tmp2 + f; wait for latency; end process; end test_arch; afcbd x y z tmp2 deb fin 4 5 e tmp DFG Exemple Code source VHDL III Ordonnancement sous contrainte de mémorisation

journées d'études Faible Tension Faible Consommation 14, 15, 16 mai Contrainte de mapping mémoire Fichier de contrainte mapping afcbd x y z tmp2 deb fin 4 5 e tmp DFG a, 1, 0, ; d, 1, 1, ; x, 1, 2, ; y, 1, 3, ; z, 1, 4, ; b, 2, 0, ; e, 2, 1, ; f, 3, 0, ; c, 3, 1, ; III Ordonnancement sous contrainte de mémorisation

journées d'études Faible Tension Faible Consommation 14, 15, 16 mai DFG Influence sur l'ordonnancement 13 0 afcbd x y z tmp2 deb fin 4 5 e tmp add1 add2 cadence Sans contraintes de mapping 13 0 afcbd x y z tmp2 deb fin 4 5 e tmp Avec contraintes de mapping add1 add2 cadence III Ordonnancement sous contrainte de mémorisation Contraintes de synthèse Contrainte de cadence : 40 ns période de l'horloge : 10ns temps de traversée des opérateurs : additionneur : 10 ns temps d'accès aux ram : 10 ns

journées d'études Faible Tension Faible Consommation 14, 15, 16 mai IV Résultats Evaluation de la synthèse d'une FFT 32 points en fonction du placement des données en mémoire Conditions de synthèse u Contrainte de cadence : 8000 ns u Bibliothèque : VirtexE_400_6_16b u période de l'horloge : 10ns u temps de traversée des opérateurs : additionneur : 10 ns soustracteur : 10ns multiplieur : 20 ns u temps d'accès aux ram : 10 ns Placement des données en mémoires nomap pas de contraintes de mapping mémoire Map6 échantillons pairs dans le banc1 échantillons impairs dans le banc2 map5map4map3map2map1 tous les échantillons sont placés dans un seul banc mémoire RIRIRIRI banc1 banc2 IV Résultats

journées d'études Faible Tension Faible Consommation 14, 15, 16 mai Résultats FFT 32 points Les ressources arithmétiques 1additionneur, 1 soustracteur et 1multiplieur. Par rapport à une synthèse sans contrainte de mapping : u réduction du nombre de ressources et du nombre de bus. u temps de traversée de l’architecture identique. u Réduction de la consommation, Résultats obtenus à l'aide de l'outil Xpower après synthèse sur un FPGA Xilinx, virtexE xcv400e_ 8bg432. IV Résultats

journées d'études Faible Tension Faible Consommation 14, 15, 16 mai Résultats FFT 32 points IV Résultats Comparaison entre les solutions map2 et map4 : u plus de ressources et plus de surface pour map4. u temps de traversée de l’architecture identique. u la consommation est réduite de moitié en fonction des contraintes de mapping mémoire.

journées d'études Faible Tension Faible Consommation 14, 15, 16 mai V Conclusion et perspectives Modifications u Prise en compte d’un fichier de contraintes de mapping mémoire. u Ordonnancement des opérations en fonction des accès mémoire en lecture et en écriture. u Vérification fonctionnelle de l’unité de traitement et de l’unité de contrôle. u Réduction du nombre d’accès mémoire simultanés. u Réduction du nombre de bus entre l’unité de mémorisation et l’unité de traitement. u Réduction de la consommation en fonction du placement des données en mémoire. Impacts V Conclusion et perspectives

journées d'études Faible Tension Faible Consommation 14, 15, 16 mai Perspectives u Gestions des modes d’accès mémoires (burst ou séquentiel). u Gestion des contraintes d’ordonnancement (critère de stabilité des données ou critère d’accessibilité des données). u Evaluation de la consommation dans l’outil GAUT lors de la synthèse d’architecture V Conclusion et perspectives

journées d'études Faible Tension Faible Consommation 14, 15, 16 mai Version de l’outil de synthèse d’architecture GAUT intégrant les contraintes de mapping mémoire disponible sur le site : à partir de début juin