FPGAs (Field Programmable Gate Array)

Slides:



Advertisements
Présentations similaires
3.3 Circuits logiques à mémoire Bascules (latches)
Advertisements

Les systèmes mono-puce
Implantation de processeurs dans les FPGA et ASIC
Réseaux pré-diffusés programmables par l’utilisateur: FPGA
Les FPGA « Field Programmable Gate Array »
LES MEMOIRES.
SUNDANCE Multiprocessor Technology Ltd. Yann CLIN Stage effectué de février à juin Superviseur technique: Jocelyn SEROT Superviseur industriel: Emmanuel.
CHAftITREI ARCHITECTURE de BASE. Modèle de Von Neumann Langage d’assemblage1 John Von Neumann est à l'origine d'un modèle de machine universelle de traitement.
Logiciel Assistant Gestion d’Événement Rémi Papillié (Chef d’équipe) Maxime Brodeur Xavier Pajani Gabriel Rolland David St-Jean.
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.
François Médevielle - UPSTI -. Introduction  Découvrir les éléments constitutifs d’un « ordinateur »  Comprendre l’organisation fonctionnelle d’une.
Ecole Nationale d’Ingénieurs de Sfax
Les mémoires de l’ordinateur
Atelier Microfer Lille
Architecture des microordinateurs
Les P G I Les Progiciels de Gestion Intégrés
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Logique Combinatoire.
Patrick Monassier – 2009 mod
L’ordinateur: comment ça marche ? Ou comment avoir des idées justes sur le sujet... PCI SV I - STU I Alain Mille UFR d’Informatique UCBL.
Chapitre 01: Structure d'un module VHDL
S.P.I BUS série synchrone à grande vitesse Cliquez ici pour avancer
Journée Analyse D0, 19 janvier 2004
Evaluation de l'UE TICE 1 TRANSMISSION DES DONNEES INFORMATIQUES SABATIER Fabienne 1ère année de sciences du langage/sciences de l’éducation.
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Evolution des machines Introduction à l’ARDUINO
Chapitre 12 Surveillance des ressources et des performances
RIP - Configuration des Extensions.
Les cartes réseau. Sommaire Généralités Support de l’information
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
« Structure d'un API » Les automates programmables A T Training On Line.
Architecture matérielle et logicielle des systèmes embarqués de moyenne complexité Elle est composée :  d’une unité de traitement centrale,  de.
Programmation système
Jelassi Khaled Systèmes micro-programmés 1 Les systèmes micro-programmés Principe: Un système microprogramme est donc constitué de:  Un microprocesseur.
Août 2009.
 Introduction L’électrotechnique et l’électronique de puissance ont leur place dans les fonctions de traction/freinage dynamique et les auxiliaires associés.
Révision finale GIF-1001 Ordinateurs: Structure et Applications, Hiver 2015 Jean-François Lalonde.
Evaluation de l'UE TICE 1 TRANSMISSION DES DONNEES INFORMATIQUES SABATIER Fabienne 1ère année de sciences du langage/sciences de l’éducation.
Carte mère AD77 infinity : assemblage d'un ordinateur de bureau
À l’intérieur de l’ordinateur
Architecture de machines Le microprocesseur Cours
Réalisé par : akarne youssef.  Un microcontrôleur, est un composant électronique qui rassemble tous les éléments d'un "mini- ordinateur" et qui se présente.
Cours de Structure et Technologie des composants d’ordinateurs
Bus et adressage GIF-1001: Ordinateurs: Structure et Applications
Informatique générale
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)
ARCHITECTURE DES ORDINATEURS
S.P.I BUS série synchrone à grande vitesse Cliquez ici pour avancer
Création de portes logiques avec Minecraft
MPR - Le concept de réseau - 06
1 PROJET D’INFORMATIQUE les composants de l'ordinateur Gammoudi Rayéne 7 B 2.
Les réseaux logiques programmables
INTRODUCTION Architecture et Technologie des Ordinateurs
ATELIER DE MAINTENANCE ET DE REPARATION DES EQUIPEMENTS INFORMATIQUE SURTAB ACADEMIE – JANVIER 2019 Jean Rony Fultidor Durée : 4 heures.
1. Les Circuits combinatoires Un circuit combinatoire est un circuit numérique dont les sorties dépendent uniquement des entrées. S i =F(E i ) S i =F(E.
R&D TDC : mesure de temps à 10 ps ajustable
Architecture d’un ordinateur
PLATE FORME DE GESTION ÉLECTRONIQUE DE DOCUMENTS Présenté par: Amine LARIBI.
1 Architecture des ordinateurs Généralités. 2 Définition Informatique = Information + Automatique Ce terme a été introduit en France. Il est très répandu.
ANNÉE SCOLAIRE Carte d’extension Realisé par : FATIHA ESSADEQ Encadré par : MR TANARI.
Le bus de terrain AS-i Bus AS-i (Actuator Sensor interface ) Fichiers
Encadré par : M. Mohammad EL GHABZOURI Elaboré par : - AZEGAMOUT Mohamed - ABOULKACEM abdelouahed - GOUN Ayoub EXPOSÉ Sous le thème : SER 2018 Parallélisme.
CONFIGURATION D’UN ROUTEUR Introduction et planification du cours  Configuration d’un routeur  Administration d’un routeur  Protocoles RIP et IGRP 
Evolution des machines Introduction au MSP-EXP432
Contenu Systèmes de test parallèles Multithreading Synchronisation
Introduction aux Circuits Reconfigurables et FPGA.
Transcription de la présentation:

FPGAs (Field Programmable Gate Array) Evolution des architectures

Plan Les «anciens» FPGA → Famille XC4000 Virtex → Les bancs mémoires internes apparaissent. VirtexII → Les multiplieurs sont physiquement implantés dans l’architecture. VirtexII-Pro → Intégration de microprocesseurs RISC. 13/05/2019

1. Les «anciens» FPGA → Famille XC4000 Entrées/Sorties (IOB: Input Output Block) Blocs logiques (CLB: Configurable Logic Block) IOB: Permet l’interfaçage entre les broches du circuit et les signaux internes. CLB: Elément fonctionnel de base permettant la construction du système logique de l’utilisateur. Buffer d’horloge (fréquence d’horloge jusqu’à 80Mhz) 13/05/2019

Schéma d’un CLB sur FPGA XC4000 Mémoire distribuée disponible dans 1 CLB=32bits Un CLB est constitué de : 2 générateurs de fonctions logiques (F’ et G’) à 4 entrées indépendantes (F1,…,F4 pour F’ et G1,…,G4 pour G’) et une sortie chacun(F’ et G’). Ces générateurs permettent donc d’implanter n’importe quelle fonction booléenne à 4 entrées. Ces générateurs de fonctions sont implanter sous forme de LUTs. Le délai de propagation du signal (ou temps de réponse) est alors indépendant de la fonction logique implémentée. 1 3ème générateur de fonctions (H’) à 3 entrées. 2 de ses entrées peuvent être les sorties des générateurs de fonctions F’ et G’. D’une autre façon, 1 ou 2 de ses entrées peuvent provenir de l’extérieur du CLB (H0, H2). La 3eme entrée de ce générateur de fonction H’ doit obligatoirement provenir de l’extérieur du CLB (H1). Les signaux F’,G’ et H’ peuvent sortir directement du CLB. F’ ou H’ peuvent être connectés à la sortie X. De même, G’ ou H’ peuvent être connectés à la sortie Y. 2 éléments de stockages qui peuvent être utilisés pour mémoriser les résultas des générateurs de fonctions F et G. Cependant, ces éléments de stockage et les générateurs de fonctions peuvent être utilisés indépendamment. DIN peut être utilisé comme une entrée directe de l’un des deux éléments de stockage. Ces éléments de stockage peuvent être configurés en flips-flops (de type bascule D) ou en latches. Au total, un CLB possède 13 entrées et 4 sorties qui sont toutes reliées aux ressources d’interconnexion du FPGA. 13/05/2019

Ressources matérielles Logic Cells = Total CLBs×2.375 13/05/2019

2. Virtex → bancs mémoires internes Delay-Locked Loop Block RAM Evolution du Virtex: nouveau design du CLB. intégration de bancs mémoire (BRAMs). nouvelle gestion des signaux d’horloge (DLLs). amélioration des capacités de routage des systèmes (Versaring). Le FPGA Virtex est composé de: IOBs CLBs 2 BRAMs: Blocks RAM. ATTENTION, les BRAMs indiquent les zones ou se trouvent les bancs mémoires mais n’indiquent pas leur nombre. Versaring: ressources dédiées au routage du système logique permettant de réaliser plus efficacement l’interface entre les signaux internes et les IOBs (allocation des PINs) 4 DLLs: Delay Locked Loop. Ressources d’interconnexion 13/05/2019

Schéma d’un CLB sur FPGA Virtex LC (Logic Cell) CLB Le bloc de base dans un CLB d’un Virtex est la « Logic Cell » (LC). Une LC contient 1 générateur de fonction à 4 entrées, une « carry logic »(littéralement une logique de retenue) et un élément de stockage. La sortie du générateur de fonction de chaque LC va à la fois à la sortie du CLB et à l’entrée de la flip-flop. Chaque CLB du Virtex contient 4 LCs organisées en 2 « SLICES ». En plus de ces 4 LCs, le CLB contient de la logique qui combine les générateurs de fonctions de 5 ou 6 entrées. Par conséquent, lorsque nous estimons le nombre de porte logique de base contenues dans un composant donné, nous considérons que chaque CLB équivaut à 4.5 LCs. SLICE 13/05/2019

Schéma détaillé d’un SLICE Mémoire distribuée disponible dans 1 SLICE=32bits Les sorties des 2 générateurs de fonctions des 2 SLICES sont multiplexées par F5. De même, le multiplexeur F6 combine les 4 générateurs de fonctions en sélectionnant une des sorties du multiplexeur F5. De plus, de la logique dédiée est intégrée afin de réaliser des fonctions arithmétiques rapide. La porte XOR dans chaque LC permet d’implanter un additionneur 1-bit complet dans ce LC. La porte AND permet une implantation plus efficace des multiplieurs. 1 CLB=2 SLICES=64 bits de mémoire distribuée disponible!!! 13/05/2019

Bancs mémoire internes 1 Block RAM=banc mémoire synchrone double port de 4096 bits. Les 2 ports sont contrôlés par des signaux indépendants. La largeur des bus est configurable. Chaque Block RAM possède des ressources de routage dédiées lui permettant une interface efficace avec les CLBs et les autres Blocks RAM. 13/05/2019

Delay-Locked Loop 4 DLLs sur chaque Virtex. ce composant élimine tout décalage de phase de l’horloge lié aux différents temps de propagation des signaux suivants leur chemin → tous les signaux d’horloges sont synchrones!!! (précision 10ps) fréquence de l’horloge jusqu’à 160Mhz. multiples sorties sur chaque DLL. 1. multiplieur par 2 de la fréquence d’horloge (sortie déphasée de 90° disponible). 2. diviseur de fréquence d’horloge. 3. déphaseur d’horloge intégré. 4. sortie miroir (locked). PLL (Phase-Locked Loop) lié à la DLL 13/05/2019

Capacité de routage améliorée 1 Versablock= interconnexion entre les LUTs, les flip-flops et les GRM (General Routing Matrix). connexion « feedback » interne à chaque CLB, ce qui permet de chaîner les LUTs de ce CLB en minimisant le temps de propagation des signaux. Les CLBs adjacents (horizontalement) peuvent être directement connectés, ce qui évite le délai de propagation lié au GRM. 13/05/2019

Ressources matérielles Virtex Max. Avail. User I/O Speed Grades I/O Standards Supported Delay Locked Loops (DLLs) Max. Distributed RAM Bits Max. Block RAM Bits (1 Block=4096Bits) System Gates Logic Cells (4.5×nb.CLB) CLB Array (Row x Col.) 316 260 180 4, 5, 6 17 4 98,304 55,296 38,400 24,576 65,536 49,152 40,960 32,768 322,970 164,674 108,904 57,906 6,912 3,888 2,700 1,728 32 x 48 24 x 36 20 x 30 16 x 24 512 404 393,216 221,184 153,600 131,072 81,920 1,124,022 661,111 468,252 27,648 15,552 10,800 64 x 96 48 x 72 40 x 60 Feature/Product  XCV300 XCV150 XCV100 XCV50 XCV1000 XCV600 XCV400 13/05/2019

Evolution Virtex-E Virtex Virtex-E 13/05/2019 Le Virtex-E embarque plus de mémoire que la série Virtex de base. Les bancs sont alors disposés en colonnes alternativement avec des colonnes de CLBs. 13/05/2019

Ressources matérielles Virtex-E Max. Avail. User I/O Speed Grades I/O Standards Supported Delay Locked Loops (DLLs) Max. Distributed RAM Bits Max. Block RAM Bits (1 Block=4096Bits) System Gates Logic Cells (4.5×nb.CLB) CLB Array (Row x Col.) Feature/Product  804 6, 7, 8  20  8  1,038,336 851,968  4,074,387 73,008 104x156  XCV3200E 176  24,576  65,536  71,693  1,728  16 x 24  XCV50E 284  75,264  114,688  306,393  5,292  28 x 42  XCV200E 316 98,304 131,072 411,955 6,912  32x48 XCV300E 512 221,184 294,912 985,882 15,552 48x72 XCV600E 660 393,216 1,569,178 27,648  64x96 XCV1000E 614,400  655,360 2,541,952  43,200 80x120  XCV2000E 13/05/2019

3. Virtex II → multiplieurs implantés dans l’architecture. Evolution du VirtexII: nouveau design du CLB. bancs mémoire de plus grande taille. multiplieurs intégrés. nouvelle gestion des horloges(DCM: Digital Clock Manager). capacité de routage améliorée. cryptage du « bitstream » → sécurisation du système. 13/05/2019

Layout d’un Virtex II 13/05/2019

Schéma d’un CLB sur FPGA VirtexII Contrôle de l’accès au GRM (General Routing Matrix) 1 CLB=4 SLICES 13/05/2019

Schéma détaillé d’un demi-SLICE 1 CLB=4 SLICES=4×32=128 bit 13/05/2019

Exemples de configurations 13/05/2019

Ram en dual port 13/05/2019

Utilisation en registre à décalage 13/05/2019

Fast Carry Logic Additions et soustractions plus rapides à l’aide d’une porte XOR et d’un multiplexeur dédiés (un additionneur 2 bits complet dans un seul slice) Une porte AND dédiée permet l’implantation de multiplieurs 13/05/2019

Sommes de produits Une porte OR (ORCY) dédiée permet de cascader horizontalement les CLB pour implanter des sommes de produits 13/05/2019

Buffers trois états Chaque CLB contient 2 buffers 3 états. Chacun des 4 slices peut accéder aux buffers par l’intermédiaire d’une matrice d’interconnexion Utile pour concevoir des bus 13/05/2019

Bancs mémoire internes Dual-Port Single-Port Dual-Port Single-Port 13/05/2019

Vues de différentes configurations des bancs mémoire. 13/05/2019

Multiplieurs 18-bit×18-bit Association Block RAM↔multiplieur : L’utilisation du BRAM et du multiplieur associés à l’accumulateur d’une LUT permet l’implantation d’un multiplieur accumulateur (typiquement utilisé pour la réalisation de filtres digitaux FIR et IIR) 13/05/2019

Vues de différentes configurations des multiplieurs. 13/05/2019

Digital Clock Manager 13/05/2019 Nous retrouvons toutes les fonctionnalités de la DLL du Virtex (multiplieur/diviseur de fréquences, déphasages). De plus, le DCM permet la synthèse de fréquences. 13/05/2019

Capacité de routage améliorée Technologies d’interconnexion Ressources de routage 13/05/2019

Ressources matérielles VirtexII Max. Avail. User I/Os 18 x 18 Multipliers Digital Clock Managers Max Block RAM (Kbits) System Gates Logic Cells CLB Array (Row x col.) Feature/Product XC2V250 XC2V40 XC2V1500 XC2v500 XC2V2000 200 88 24 4 8 432 72 250k 40k 3456 576 24x16 8x8 528 264 48 32 864 1.5 M 500k 17280 6912 48x40 32x24 624 56 1008 2M 24192 56x48 XC2V4000 912 120 12 2160 4M 51840 80x72 1108 168 3024 8M 104882 112x104 XC2V8000 13/05/2019

Evolution du Virtex au VirtexII 13/05/2019

4. VirtexII Pro : architecture FPGA/CPU Le VirtexII Pro est dessiné sur la base du VirtexII. De ce fait, les CLBs,mémoires et multiplieurs ne changent pas. Evolution du VirtexII Pro : interfaces de communication rapides (MGTs : Multi-Gigabit Transceiver). implantation de processeurs RISC IBM PowerPC405-D5. 13/05/2019

Interfaces standards rapides (MGT) 13/05/2019

Le bloc processeur intégré Le Bloc processeur contient : le CPU de type RISC IBM PowerPC 405-D5. les contrôleurs et interfaces des bancs mémoires (OCM controller= On Chip Memory controller). la logique de contrôle. les interfaces entre le CPU et le FPGA. 13/05/2019

Architecture du processeur Le processeur contient : une unité de mémoire cache. une unité de contrôle de la mémoire (MMU : Memory Management Unit). une unité FETCH/DECODE. une unité d’exécution. une unité de gestion des horloges et de gestion du débogage. 13/05/2019

Ressources matérielles VirtexII Pro 852 564 396 348 204 8 4 216 88 44 28 12 16 2 1 3,888 1,584 792 504 50,832 20,880 11,088 6,768 3,168 22,592 9,280 4,928 3,008 1,408 XC2VP50 XC2VP20 XC2VP7 XC2VP4 XC2VP2 Max Available User I/O Digital Clock Management Blocks 18x18 Multipliers Rocket I/O Multi-Gigabit Transceivers PowerPC Processors Block RAM (Kbits) Logic Cells CLB Slices Feature/Product 13/05/2019

Virtex 4 Nouvelles caractéristiques Xesium clock technology XtremDSP Slice Support des interfaces mémoires rapides (DDR, DDR2, etc) SelectIO technology : de 1.5 à 3.3 V RocketIO de 622 Mb/s à 11.1Gb/s Ethernet Media Access Controller 13/05/2019

Virtex 4 13/05/2019

Virtex 4 13/05/2019

Spartan 3 : bas coût 13/05/2019

Futur proche : ASMBL: Revolutionary Platform FPGA Architecture 13/05/2019

ASMBL 13/05/2019

Ex :Virtex 4 13/05/2019

Les outils actuels ISE (environnement complet) Mentor graphics, Leornado Sysnopsis Abel Core Generator IP center (PCI, FFT, Microprocesseur, interconnexions, etc) 13/05/2019

D’autres fabricants… Altera Stratix Cyclone Atmel AT40K 13/05/2019

Stratix – architecture générale 1 LAB = 10 LE (logic elements) 13/05/2019

Stratix : Logic Element 13/05/2019

Stratix – DSP blocks 13/05/2019

Atmel AT40K 13/05/2019

Atmel – cellule élémentaire 2 LUT à 3 entrées 13/05/2019

Conclusion DEMAIN…??? Plus de ressources matérielles : Plus de ressources fonctionnelles (CLBs). Plus de mémoires intégrées. Une efficacité de routage encore améliorée. Un interfaçage avec l’extérieur toujours plus rapide. Des ressources « microprocesseur » toujours plus nombreuses (processeurs implantés plus puissants, contenant plus de mémoire interne). Poursuite de l’intégration de modules de différentes natures (par exemple des capteurs divers : imageurs, micros,…..) pour réduire au minimum le contrôle d’interfaces → spécialisation des architectures dédiées à des applications spécifiques??? 13/05/2019