"Interprétation matérielle de temps multi-dimensionnel "

Slides:



Advertisements
Présentations similaires
Ing Mohamed MASMOUDI Cours VHDL Ing Mohamed MASMOUDI
Advertisements

Structures de données et algorithmes – TP2
Cours #6 Conception d’unités de contrôle
Cours #8 Flot de conception d’un circuit numérique
TP Fichiers et Tableaux Avril Un fichier Permet le stockage de données sur des supports de mémoire externes (donc les données ne seront pas perdues.
Cours #7 Vérification d’un modèle VHDL
3.3 Circuits logiques à mémoire Bascules (latches)
MMAlpha Un outil pour la compilation sur silicium.
Banc d’essai pour un circuit combinatoire
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 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.
Concepts intermédiaires de VHDL
Synthèse et implémentation d’un circuit combinatoire
Méthodes d’assimilation: Le problème du point de vue de la mesure (P. Prunet, Noveltis) Assimilation de données en zones cotières (P. De Mey, LEGOS/POC)
Journées d'études Faible Tension Faible Consommation 14, 15, 16 mai Gwenolé CORRE, Nathalie JULIEN, Eric SENN, Eric MARTIN LESTER, Université de.
Application à la Radio Logicielle Restreinte
Introduction au VHDL - R.WEBER - Polytech'Orleans
Steven Derrien Équipe R2D2
1 IFT 099 Introduction à la programmation. 2 Plan du cours (sem. 1) 1.Introduction - les ordinateurs 2.La programmation procédurale 3.La programmation.
Architecture et technologie des ordinateurs II
Conception d ’ une IP d ’ un contrôleur de bus I ² C en SystemC1.0 ZHANG XUN Tuteurs du projet : Mr. P. Garda - Mr. O. Romain LISIF---Team SYEL Université.
MJ / EME 2006Architecture matérielle des systèmes microprogrammés Exemple de système microprogrammé Exemple de système microprogrammé Bus Bus de données.
TPs d’Intégration des Systemes
IUS62 INCISIVE UNIFIED SIMULATOR linux. ENVIRONNEMENT Xwin32 -> lappsun26, lappsun27 Script d’initialisation de l’environnement –Mldv Aide –cdnshelp.
The relationship between the different FEB projects The first MainBoard and its Processing DaughterBoard will be developed for 3-in-1, but keeping the.
Thématiques, démarches et attentes particulières
Les journées de l’2015 Le Model-Based Design Une approche complète en sciences industrielles de l’ingénieur Frédéric MAZET Lycée Dumont d’Urville Toulon.
TECHNOLOGIE 6ème Équipe 4 Compte Rendu Définition Modélisation 3D :
Les Instructions Itératives (Les Boucles)
Description d’un circuit combinatoire en VHDL
Arithmétique entière en VHDL
Techniques de décomposition
Circuits Omegapix2 (2D et 3D)
Chapitre 01: Structure d'un module VHDL
L’Instruction de Test Alternatif
Réseaux pré-diffusés programmables par l’utilisateur: FPGA
Synthèse et implémentation de circuits arithmétiques sur FPGA
L’I NSTRUCTION DE T EST A LTERNATIF Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université A.Mira, Bejaia Année.
L ES I NSTRUCTIONS I TÉRATIVES (L ES B OUCLES ) Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université A.Mira,
Cours N°10: Algorithmiques Tableaux - Matrices
Bus et adressage GIF-1001: Ordinateurs: Structure et Applications
Architecture des processeurs « Partie matérielle » CE311/CE317 Module « Systèmes matériels et logiciels » Crédit : 5 (en 2 parties) Vincent Beroulle Bureau.
Technologies SoPC (System On Programmable Chip)
Un projet en spécialité SIN
MINISTÈRE DE L’ENSEIGNEMENT SUPÉRIEUR ET DE LA RECHERCHE SCIENTIFIQUE
Efficacité des algorithmes
Aménagement des locaux
Les réseaux logiques programmables
Essaie Persuasif.
Nom du projet Auteurs 1.Introduction permet de poser le contexte et de spécifier l’objectif 2.Matériels et méthodes la méthodologie utilisée pour la mise.
Plan Introduction Problématique et Objectif Solution Proposé Conception et Modélisation Réalisation Conclusion et perspective
Gei 431 Architecture des ordinateurs II – Frédéric Mailhot Introduction Objectifs du cours Évaluation Références Matière du cours: - Techniques modernes.
Royaume de Maroc Université Hassan Premier Settat Faculté des Sciences et Techniques de Settat Description synthétiseur en langage VHDL d'un circuit intégré.
BUFFER CIRCULAIRE Meryem EL BAKRI. PLAN Introduction Buffer circulaire Fonctionnement.
Les QUestsions Write the following questions in French. Use intonation, est-ce que, & inversion.
R&D TDC : mesure de temps à 10 ps ajustable
PROGRAMMATION ET ENSEIGNEMENT
Création d’un outil d’aide à la composition de cours
Patrice Quinton Séminaire COSI
Année – scolaire 2018/2019 P 1. TOUAIMIA Shelihane 1 STMG 3Lycée Hugues Libergier à ReimsRéalisation d’une Etude de Gestion en 1 STMGTravail de recherche,
Design Patterns en programmation par objets
Mémoire expérimental Table des matières Remerciements Résumé (1 page) Introduction (écrire à la fin). Quelle est la problématique de recherche, pourquoi.
Journée 2ème: introduction
Type Tableau Partie 1 : Vecteurs
Introduction aux Circuits Reconfigurables et FPGA.
Transcription de la présentation:

"Interprétation matérielle de temps multi-dimensionnel " 10/12/2018 MMAlpha   "Interprétation matérielle de temps multi-dimensionnel " Anne-Claire GUILLOU 2eme année de thèse Equipe COSI (COnception SIlicium) Directeur : Patrice Quinton et Tanguy Risset

Séminaire CoSi - MMAlpha Plan Introduction Temps multi-dimensionnel Exemple du produit Matrice-Matrice Transformation sur une équation Implémentation des mémoires Conclusion 10/12/2018 Séminaire CoSi - MMAlpha

Séminaire CoSi - MMAlpha Contexte Exploration, implémentation amélioration et test de la génération hardware MMAlpha Valider l'implémentation de nouveaux algorithmes : DLMS Améliorations et extension du VHDL généré Précision virgule fixe et troncature L ’expression du temps multi-dimensionnel Réseaux 2D 10/12/2018 Séminaire CoSi - MMAlpha

Le temps multi-dimensionnel Le temps logique est un vecteur Motivation : permet de traiter des algorithmes complexes Algorithmes intrinsèquement multi-dimensionnel Partitionnement LSGP - Pavage Architectures pour les problèmes à N dimensions 10/12/2018 Séminaire CoSi - MMAlpha

Le temps multi-dimensionnel Problématique Générer des architectures pour de tels programmes  Architecture multi-horloges  Utilisation de mémoires ou de FIFO  Génération de contrôleurs, de compteurs 10/12/2018 Séminaire CoSi - MMAlpha

Séminaire CoSi - MMAlpha 10/12/2018 Travaux de références Principalement : Paul Feautrier : « Some efficient solution to the affine scheduling problem, part II, multidimensional time » et « Scanning Polyhedra without Do-loops ». Sanjay et Fabien : « Optimizing Memory usage in the Polyhedral Model » 10/12/2018 Séminaire CoSi - MMAlpha

Modification de la synthèse architecturale 10/12/2018 Modification de la synthèse architecturale Expression de la mémoire Banc de registre ou mémoire RAM ? Comment synthétiser de la mémoire avec alpha ? Dans le cas, d ’un Schedule à 2 dimension il se peut qu’on ait besoin de mémoire a 1 dimension. 10/12/2018 Séminaire CoSi - MMAlpha

Produit Matrice-Matrice b5,1 b5,2 b5.3 b5,4 b4,1 b4,2 b4.3 b4,4 b3,1 b3,2 b3.3 b3,4 b2,1 b2,2 b2.3 b2,4 b1,1 b1,2 b1.3 b1,4 c1,5 c1,4 c1.3 c1,2 c1,1 a1,1 a1,2 a1.3 a1,4 a1,5 c2,5 c2,4 c2.3 c2,2 c2,1 a2,1 a2,2 a2.3 a2,4 a2,5 c3,5 c3,4 c3.3 c3,2 c3,1 a3,1 a3,2 a3.3 a3,4 a3,5 c4,1 c4,2 c4.3 c4,4 c4,5 a4,1 a4,2 a4.3 a4,4 a4,5 10/12/2018 Séminaire CoSi - MMAlpha

Produit Mat-Mat linéaire b5,1 b5,2 b5.3 b5,4 b4,1 b4,2 b4.3 b4,4 b3,1 b3,2 b3.3 b3,4 b2,1 b2,2 b2.3 b2,4 b1,1 b1,2 b1.3 b1,4 a2,1 a2,2 a2.3 a2,4 a2,5 a1,1 a1,2 a1.3 a1,4 a1,5 10/12/2018 Séminaire CoSi - MMAlpha

Produit Mat-Mat linéaire a2,1 a2.2 a2,3 a2,4 a2,5 a1,1 a1.2 b2,1 b2.2 b2,3 b2,4 b1,1 b3,4 b2,2 b2.3 b2,4 b1,1 b1,2 b1.3 a2.3 a2,4 a2,5 a1,1 a1,2 a1.3 a1,4 a2,2 a2.3 a2,4 a2,5 a1,1 a1,2 a1.3 b2,1 b2,2 b2.3 b2,4 b1,1 b1,2 a2,4 a2,5 a1,1 a1,2 a1.3 a1,4 a1,5 b1,1 b1,2 b1.3 b1,4 b2.3 b2,4 10/12/2018 Séminaire CoSi - MMAlpha

Architecture d ’une cellule b a c 10/12/2018 Séminaire CoSi - MMAlpha

Programme Alpha ordonnancé system MatMat :{M,N,P | 3<=M; 3<=N; 3<=P} (a : {i,k | 1<=i<=M; 1<=k<=N} of real; b : {k,j | 1<=k<=N; 1<=j<=P} of real) returns (c : {i,j | 1<=i<=M; 1<=j<=P} of real); var B : {t1,t2,p | p+1<=t1<=p+M; 2<=t2<=N; 1<=p<=P} of real; A : {t1,t2,p | p+1<=t1<=p+M; 2<=t2<=N; 1<=p<=P} of real; C : {t1,t2,p | p+1<=t1<=p+M; 2<=t2<=N+1; 1<=p<=P} of real; let B[t1,t2,p] = case { | t1=p+1} : b[t2,p]; { | p+2<=t1} : B[t1-1,t2,p]; esac; A[t1,t2,p] = { | p=1} : a[t1-1,t2]; { | 2<=p} : A[t1-1,t2,p-1]; C[t1,t2,p] = { | t2=2} : 0[]; { | 3<=t2} : A[t1,t2-1,p] * B[t1,t2-1,p] + C[t1,t2-1,p]; c[i,j] = C[i+j,N+1,j]; tel; 10/12/2018 Séminaire CoSi - MMAlpha

Transformation d ’une équation Exemple : équation de B Fonction mémoire : MemB (t1,t2,p) = (t2,p) B B[t1,t2,p] = case { | t1=p+1} : b[t2,p]; { | p+2<=t1} : B[t1-1,t2,p]; esac; B[t1,t2,p] = case { | t1=p+1} : b[t2,p]; { | p+2<=t1} : B[t1-1,t2,p]; esac; B B b 10/12/2018 Séminaire CoSi - MMAlpha

Séminaire CoSi - MMAlpha Lecture de B MemB AdrLectB[t1,t2,p] = case { | t2=2} : 2; { | 2<=t2} : AdrLectB[t1,t2-1,p] + 1; esac; use Read(MemB,AdrLectB) returns (DataLectB) AdrLectB DataLectB B B b 10/12/2018 Séminaire CoSi - MMAlpha

Séminaire CoSi - MMAlpha Ecriture de B B B[t1,t2,p] = case { | t1=p+1} : b[t2,p]; { | p+2<=t1} : B[t1-1,t2,p]; esac; B[t1,t2,p] = case { | t1=p+1} : b[t2,p]; { | p+2<=t1} : B[t1-1,t2,p]; esac; B B b 10/12/2018 Séminaire CoSi - MMAlpha

Séminaire CoSi - MMAlpha Ecriture de B AdrEcrB[t1,t2,p] = case { | t2=2} : 2; { | 2<=t2} : AdrEcrB[t1,t2-1,p] + 1; esac; use Write(MemB,AdrEcrB, DataEcrB) returns (MemB) MemB AdrEcrB DataEcrB B b 10/12/2018 Séminaire CoSi - MMAlpha

Transformation d ’une équation Resultat : équation de B b B B[t1,t2,p] = case { | t1=p+1} : b[t2,p]; { | p+2<=t1} : B[t1-1,t2,p]; esac; 10/12/2018 Séminaire CoSi - MMAlpha

Séminaire CoSi - MMAlpha Equations finales AdrEcrB: {t1,t2,p | p+1<=t1<=p+M; 2<=t2<=N; 1<=p<=P} of real; DataEcrB: {t1,t2,p | p+1<=t1<=p+M; 2<=t2<=N; 1<=p<=P} of real; AdrLectB: {t1,t2,p | p+2<=t1<=p+M; 2<=t2<=N; 1<=p<=P} of real; DataLectB: {t1,t2,p | p+2<=t1<=p+M; 2<=t2<=N; 1<=p<=P} of real; MemB: {t2,p | 2<=t2<=N; 1<=p<=P} of real; AdrEcrB[t1,t2,p] = -- (t2,p) case { | t2=2} : 2; { | 2<=t2} : AdrErcB[t1,t2-1,p] + 1; esac; AdrLectB[t1,t2,p] = -- (t2,p) { | 2<=t2} : AdrLectB[t1,t2-1,p] + 1; DataEcrB[t1,t2,p] = case { | t1=p+1} : InputPortb; { | p+2<=t1} : DataLectB[t1,t2,p]; use Read(MemB,AdrLectB) returns (DataLectB); use Write(MemB,AdrEcrB,DataEcrB) returns (MemB); MemB DataLectB DataEcrB b 10/12/2018 Séminaire CoSi - MMAlpha

Séminaire CoSi - MMAlpha 10/12/2018 Mémoires Double port Ecriture et lecture simultanées pour une même variable Mémoire double-port disponible pour Asic et FPGA (Xilinx Virtex) Plus coûteux qu’une RAM simple EnA EnB WrA WrB AddrA AddrB DataA DataB Très naturellement nous avons été amenés a considérer les mémoires double port. CLk Rst 10/12/2018 Séminaire CoSi - MMAlpha

Séminaire CoSi - MMAlpha 10/12/2018 Mémoires FIFO FIFO ou Shift-Register ? Simplifie le contrôle et le VHDL générés (strucurel) Conception d ’une bibliothèque comprenant une FIFO spécifique Banc de registre ou utilisant une DP write full read empty DataIn DataOut Très naturellement nous avons été amenés a considérer les mémoires double port. 10/12/2018 Séminaire CoSi - MMAlpha

Séminaire CoSi - MMAlpha Domaine triangulaire t1 t2 10/12/2018 Séminaire CoSi - MMAlpha

Quelques mots sur le contrôle Génération de signaux multi-horloges une horloge sur un circuit un clock enable pour chaque indice de temps des compteurs (cas où le dom est triang.)  «  Scanning polyhedra without do loop » Génération de signaux de contrôle et d’adressage pour les mémoires 10/12/2018 Séminaire CoSi - MMAlpha

Séminaire CoSi - MMAlpha Travail réalisé Ordonnancement multi-dimensionnel VHDL du Produit Matrice-Matrice linéaire avec Shift-Register Synthétisé mais pas simulé Méthode de ré-écriture des équations alpha Réseaux de cellules 2D 10/12/2018 Séminaire CoSi - MMAlpha

Séminaire CoSi - MMAlpha Réseaux 2D Expérimentation de code VHDL outer_loop : for l in 0 to (NUM_ROWS - 1) generate inner_loop : for c in 0 to (NUM_COLS -1) generate cell_instance : cell port map ( clk => clk, clk_en => clk_en, rst => rst, high_in => vertical_array(c)(l), left_in => horizontal_array(l)(c), low_out => vertical_array(c)(l+1), right_out => horizontal_array(l)(c+1)); end generate inner_loop; end generate outer_loop; 10/12/2018 Séminaire CoSi - MMAlpha