Architecture des processeurs « Partie matérielle » CE311/CE317 Module « Systèmes matériels et logiciels » Crédit : 5 (en 2 parties) Vincent Beroulle Bureau.

Slides:



Advertisements
Présentations similaires
Du Software au Hardware
Advertisements

Flow de conception (4h)-demo
Ing Mohamed MASMOUDI Cours VHDL Ing Mohamed MASMOUDI
Décrire un circuit numérique avec VHDL
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 #8 Flot de conception d’un circuit numérique
Cours #7 Vérification d’un modèle VHDL
COMPOSANTS PROGRAMMABLES
Modélisation VHDL d’un chemin des données
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.
Advanced Boolean Equation Language
Méthodologie de conception Outils de conception
INF8505: processeurs embarqués configurables
Les systèmes mono-puce
Concepts intermédiaires de VHDL
Synthèse et implémentation d’un circuit combinatoire
Journées d'études Faible Tension Faible Consommation 14, 15, 16 mai Gwenolé CORRE, Nathalie JULIEN, Eric SENN, Eric MARTIN LESTER, Université de.
Implantation de processeurs dans les FPGA et ASIC
Introduction au VHDL - R.WEBER - Polytech'Orleans
Les FPGA « Field Programmable Gate Array »
Implémentation de la division sur FPGA
VHDL pour circuits séquentiels
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Flot de conception de.
Composants à réseaux logiques programmables
Le VHDL Programmation des CPLD et FPGA avec Quartus II ENSET d'Oran / IUFM Aix Marseille - mai
Developpement Process « Coding party !! » Tony Carnal Altran.
Projet de fin d'étude pour l'obtention du Diplôme Nationale d'Ingénieur en Informatique Conception et développement des modules de GED pour l’ indexation.
Logiciel Assistant Gestion d’Événement Rémi Papillié (Chef d’équipe) Maxime Brodeur Xavier Pajani Gabriel Rolland David St-Jean.
Marid 5 décembre 2006Présentation du code parallèle – PEGASE – INRIA Sophia-Antipolis 1 Code Parallèle pour la Simulation Numérique en Mécanique des Fluides.
Le système Raid 5 Table des matières Qu'est ce que le RAID ? Les objectifs Le raid 5 Les avantages et les inconvénients Les composants d’un Raid.
1- Introduction 1ère partie Le langage SQL 2- Connexion 3- Structure & Contenu 4- Requêtes.
1 UML: applications, études de cas ● Processus (Extreme Programming, Unified Process) ● Architectures ● Expression du besoin technique Conception Préliminaire.
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.
Ecole Nationale d’Ingénieurs de Sfax
Architecture Informatique
Environnement du développement de BD ORACLE REPORTS 10g
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Description d’un circuit combinatoire en VHDL
Automates Programmables Industriels Automates Programmables
Chapitre 01: Structure d'un module VHDL
Informatique et Sciences du Numérique
Chapitre 12 Surveillance des ressources et des performances
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Réseaux pré-diffusés programmables par l’utilisateur: FPGA
Synthèse et implémentation de circuits arithmétiques sur FPGA
Le temps de propagation des signaux dans un circuit
Présentation de la séquence Positionnement dans l'année
Programmation système
Ou comment partager la connaissance
Présentation initiale
VALMEM Traduction automatique d'une description comportementale VHDL + annotations temporelles en automates temporisés A. Bara, E. Encrenaz LIP6 VALMEM.
Technologies SoPC (System On Programmable Chip)
SYSTèMES à évènements discrets
TGV Trigger Générique Vme Face avant Tri d’événements de physique
INTRODUCTION Architecture et Technologie des Ordinateurs
"Interprétation matérielle de temps multi-dimensionnel "
Gei 431 Architecture des ordinateurs II – Frédéric Mailhot Introduction Objectifs du cours Évaluation Références Matière du cours: - Techniques modernes.
Sylvie DELAËT 2002 Architecture des machines Bienvenus en Amphi d’Architecture des Machines.
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é.
BIOS- OS Environnement logiciel PC / Traitement numérique / Contrôle.
ENSEIGNER L’ALGORITHMIQUE ET LA PROGRAMMATION AU COLLÈGE
Encadré par : M. Mohammad EL GHABZOURI Elaboré par : - AZEGAMOUT Mohamed - ABOULKACEM abdelouahed - GOUN Ayoub EXPOSÉ Sous le thème : SER 2018 Parallélisme.
FPGAs (Field Programmable Gate Array)
PAF Guillaume Martin - Fabrice Cizeron - Xavier Roulot
Introduction aux Circuits Reconfigurables et FPGA.
Transcription de la présentation:

Architecture des processeurs « Partie matérielle » CE311/CE317 Module « Systèmes matériels et logiciels » Crédit : 5 (en 2 parties) Vincent Beroulle Bureau : B206

I Introduction

3 Informations préliminaires Objectif du cours : Savoir utiliser les outils de synthèses logiques et les composants reconfigurables afin de concevoir des systèmes numériques simples Pré-requis : conception numérique (logique booléenne, portes logiques, circuits combinatoires et séquentielles, fonctions booléenne, technologie des mémoires…), représentation des nombres et arithmétique binaire…

4 Informations préliminaires Chamilo : Polycopiés du cours (ce document en pdf) VHDL Quick Refence Card Sujets de TD et de TP Corrections des examens des années précédents

5 Informations préliminaires Références VHDL, du langage au circuit, du circuit au langage, J. Weber, M. Meaudre, Masson Initiation au langage VHDL, Michel Aumiaux, Dunod VHDL, Introduction à la synthèse logique, P. Larcher, Eyrolles Circuits numériques et synthèse logique, un outil: VHDL, J.Weber, M. Meaudre, Masson VHDL, langage, modélisation, synthèse, Airiau, Bergé, Olive, Rouillard, P. P. Romandes

6 Informations préliminaires Version d’évaluation du simulateur (Modelsim) et de l'outil de synthèse VHDL (Vivado WebPACK) disponible –sur le site Xilinx : pack.htm

7 I Introduction Plan global du cours I Introduction –Pourquoi utiliser les composants reconfigurables? –Architecture des FPGA –VHDL flot de conception II Les bases du VHDL pour la synthèse

8 I Introduction Contexte « systèmes embarqués » Développement sous de fortes contraintes de miniaturisation, coût, performances temporelles, consommation, etc…. Réduction du "Time-To-Market« (TTM) Adoption de techniques de conception à base de composants reconfigurables : –VHDL : « Very high speed integrated circuit Hardware Description Language » –Simulation et synthèse automatique

9 I Introduction Pourquoi utiliser la logique reconfigurable? La logique reconfigurable offre plus de performances qu’un processeur Mais moins de flexibilité

10 I Introduction Pourquoi utiliser la logique reconfigurable? Exécution spatiale : Parallélisme Exécution temporelle : Séquentiel Pourquoi un composant reconfigurable peut-il être plus rapide qu'un processeur? Flexibilité  Performance Performance  Flexibilité ProcesseursLogique reconfigurable PLD

11 I Introduction Pourquoi utiliser la logique reconfigurable? t1 <- x t2 <- y t3 <- A.t1 t3 <- t3.t1 t2 <- B.t2 t3 <- t2+t3 Y <- t3+C # CYCLES : 7 # CYCLES : 3 S=Ax²+By+C PLD

12 I Introduction Quand utiliser la logique reconfigurable? Choix entre processeur (logique programmée, logiciel) et composant reconfigurable (logique cablée) en fonction de la périodicité des évènements : –ps – ns : matériel (FPGA) –µs : matériel ou logiciel –ms : logiciel (par exemple, lecture de la position d’interrupteurs, écriture sur les diodes d’afficheurs 7 segments)

13 I Introduction Quand utiliser le VHDL? µProcesseur FPGA/ Co-processeur ou Périphérique VHDL Synthèse VHDL Le VHDL permet de concevoir toutes les architectures numériques

14 I Introduction Cibles des outils de synthèse logique Le VHDL permet de concevoir des systèmes sur des cibles matérielles différentes Concevoir sur : –Circuit reconfigurable (CPLD/FPGA) : de l’ordre de 10M à 100M de transistors –Circuit non reconfigurable (ASIC/SoC : processeurs, multi-cores) : de 100M à 10Md de transistors –Circuit mixte (SoPC ou eFPGA) mélangeant parties reconfigurables et non reconfigurables (10Md à 50Md de transistors)

15 I Introduction Cibles des outils de synthèse logique Glossaire : –CPLD : Complex Programmable Logic Device –FPGA : Field Programmable Gate Array –ASIC : Application Specific Integrated Circuit –SoC : System-on-Chip –SoPC : System-on-Programmable-Chip –eFPGA : embedded FPGA CS440

16 I Introduction Plan global du cours I Introduction –Pourquoi utiliser les composants reconfigurables? –Architecture des FPGA SRAM –VHDL flot de conception II Les bases du VHDL pour la synthèse

17 I Introduction Architecture FPGA SRAM «Field Programmable Gate Array » –Tableau de blocs logiques programmables interconnectés entre eux (et vers les entrées/sorties) par des canaux de routage CLB IOB CLB IOB Configurable Logic Block

18 I Introduction Architecture FPGA SRAM Cellules mémoires SRAM de configuration Cellules d ’entrée / sortie configurables Cellules logiques configurables Interconnexions configurables Deux couches : 1 opérative + 1 configuration

19 I Introduction Architecture FPGA SRAM Logic Cell Inputs 0 Output Memory adresses SRAM Memory Bits (programmable) La logique programmable des cellules logiques configurable est basée sur une mémoire appelée Look-Up Table

20 I Introduction Plan global du cours I Introduction –Pourquoi utiliser les composants reconfigurables? –Architecture des FPGA –VHDL et flot de conception II Les bases du VHDL pour la synthèse

21 I Introduction VHDL Le VHDL permet de ne plus manipuler de schéma : –Constructions d’un langage de haut-niveau –Librairies (pour la réutilisation de composants/fonctions) Le VHDL est compatible avec les outils de synthèse et de simulation C’est un standard

22 I Introduction Environnement de conception VHDL Chronogramme pour la simulation Synthèse logique Circuit logique

23 I Introduction Synthèse Synthèse logique : passage du VHDL niveau RTL au VHDL niveau porte –RTL : Register Transfer Level –Description des opérateurs et de l’ordonnancement des opérations dans le temps –Niveau porte : schéma de portes logiques C’est l’étape majeure du flot de conception

24 I Introduction Défauts de la synthèse Perte du contrôle de l’implémentation bas- niveau à cause du niveau d’abstraction utilisé –Il faut maîtriser l’outil! Qualité des outils de synthèse variable –Chaque outil donne des implantations différentes (car ils utilisent des algorithmes spécifiques, ou des contraintes par défaut différentes)

25 I Introduction Flot de conception 1 Décrire les spécifications 2 Coder le circuit en VHDL 3 Simuler le code source 4 Synthétiser, optimiser, placer et router le circuit dans une cible 5 Simuler le circuit « après-synthèse » 6 Programmer le composant 7 Tester le composant

26 I Introduction 1 Décrire les spécifications Les spécifications permettent de fixer : –La fonction du circuit –Son initialisation –La fréquence maximale d’utilisation –… VHDL comportemental : Description des relations liant entrées et sorties

27 I Introduction 2 Coder le circuit en VHDL Coder le circuit : – Penser votre code en terme de matériel = « Se placer à la place du logiciel de synthèse »

28 I Introduction 2 Coder le circuit en VHDL Taille de(s) additionneur(s)? Plusieurs additionneurs? Quand plusieurs implémentations sont possibles votre code doit guider les choix de l'outil de synthèse library IEEE; use IEEE.std_logic_1164.all; entity synth is port(A, B, C, D : in integer; sel : in std_logic_vector(1 downto 0); Z : out integer); end entity synth; architecture behavioral of synth is begin with sel select Z <=A+B when "00", C+D when "10", 0 when others; end architecture behavioral;

29 I Introduction 3 Simuler le code source (avant synthèse) Simuler son code avant de faire la synthèse permet d’éviter des erreurs de conception

30 I Introduction 4 Synthétiser, optimiser et ajuster Les étapes de la synthèse : –« Inférence » d’opérateurs Inférence = reconnaissance de structures connues par l’outil de synthèse (additionneur, mémoire…) –Optimisation logique –« Placement - Routage »

31 I Introduction 4 Synthétiser, optimiser et ajuster De nombreuses éditeurs de logiciel ont créé des outils de synthèse : –Synopsys, Cadence, Mentor Graphics, … Les fabricants de PLD (fondeurs) proposent leurs outils gratuitement –Xilinx, Cypress, Altera…

32 I Introduction 5 Simuler le circuit « après-synthèse » Vérifier, les fonctionnalités mais aussi les temps de propagation Si échecs alors : –Modifier son code VHDL –Changer les contraintes de l’outil de synthèse –Changer de circuits cibles (et donc de fréquence maximale d’horloge)

33 I Introduction 5 Simuler le circuit « après-synthèse » Simulation post-synthèse possible mais dans la majorité des cas : – Pas de simulation fonctionnelle après synthèse, car : 1."il n'y a pas de raison pour que la synthèse soit fausse" … 2."les temps de simulations seraient alors trop longs" => analyse directe des rapports de synthèse : Vue RTL, nombre et type des composants utilisés, fréquence maximale…

34 I Introduction 5 Simuler le circuit « après-synthèse » Machine à états Exemple de vue RTL

35 I Introduction 6 Programmer le composant La synthèse produit un fichier binaire (Bitstream) « In-System Programmability (ISP) » : programmation du composant sur la carte Un PC permet de programmer le composant reconfigurable

36 I Introduction Synthèse du flot de conception Spécifications HDL RTL Simulation NetlistSimulation Configuration du FPGA SYNTHESE PLACE & ROUTE CREATION DE LA DESCRIPTION Observation des signaux internes