Les Circuits Reconfigurables : Passé, Présent, Futur …. Lionel TORRES [email protected] INTRODUCTION & CONTEXTE ª Technologies microélectroniques en 2007 : - Technologie de 90nm (voir 65nm) - Intégration courante de plusieurs dizaines de millions de transistors… 1 milliard en 2004 - Fréquence de fonctionnement supérieures à 2GHz 1999 2008 0.18mm 256Mb DRAM 16 CPU FP 64b 500 MHz 0.07mm 4Gb DRAM 256 CPU FP 64b 2.5GHz 18 mm 30,000 pistes 1 clock répéteurs tous les 3 mm 25 mm 120,000 pistes 16 clocks répéteurs tous les 0.5 mm Introduction & contexte Pourquoi les architectures reconfigurables ? Les FPGA sont aujourd’hui de réelles alternatives aux ASIC (capacité, prix et performances en adéquation avec les besoins) FPGA Nombre de portes (log) 10M 100k 10k i té ac p Ca m 2007 IC AS x a 19 99 100M 19 97 1000M 1M ASIC Coût de fabrication 20 01 2005 03 20 ion sat i l i t d’ u e A n PG yen F o M ax m é it ac p 80% des design fonctionnent Ca 2003 5 200 2001 2 00 7 1999 7 199 à moins de 200MHZ 1k 1989 2000 2007année Source : Altera, SOPC World Seminar Source : L. Bossuet, G. Gogniat - LESTER 200 000 1 000 000 Nombre de circuits fabriqués S. Tredennick, The Rise of Reconfigurable Systems, ERSA 2003 Pourquoi les architectures reconfigurables ? D a t a 1G R a t 100M e S a 10M m p l 1M e s 100k p e r 10k s e c 1k o n d ASIC FPGA-Based processing Multiple DSP Cores or Chips Single-Chip DSP MPU/MCU Less Complex Algorithm Complexity More Complex Pourquoi les architectures reconfigurables ? D a t a 1G R a t 100M e S a 10M m p l 1M e s 100k p e r 10k s e c 1k o n d ASIC FPGA-Based processing Multiple DSP Cores or Chips Single-Chip DSP MPU/MCU Less Complex Algorithm Complexity More Complex PRINCIPES et CLASSIFICATION DEFINITION : COMPOSANTS STANDARDS PROGRAMMABLES ELECTRIQUEMENT – UNE SEULE FOIS (FUSIBLES) OU PLUSIEURS FOIS RE-PROGRAMMABLES (RECONFIGURATION) PRINCIPES DES ARCHITECTURES: ENSEMBLE DE RESSOURCES LOGIQUES (PORTES, BASCULES, …ETC) QUI PEUVENT ÊTRE INTERCONNECTÉES DE DIFFÉRENTES FAÇONS. REALISATION DE FONCTIONS BOOLEENNES SOUS FORME D’UNE SOMME LIMITEE DE MONOMES (PAL, PLD, EPLD,...) OU D’UN RESEAU DE CELLULES (FPGA) User Logic Layer Configuration Memory Layer PRINCIPES et CLASSIFICATION TECHNOLOGIES DE PROGRAMMATION : FUSIBLES (METAL), ANTIFUSIBLES (CAPACITE MOS), TRANSISTOR MOS A GRILLE FLOTANTE (EPLD), RAM STATIQUE (FPGA-SRAM),... • Fuse Programmable une seule fois (configurable) • Antifuse • FLASH Nombre de configuration ( x.103 à x. 106) - NV • SRAM Configuration réalisée à chaque mise sous tension PRINCIPES et CLASSIFICATION CLASSIFICATION Source: Dataquest Logic Standard Logic Programmable Logic Devices (PLDs) ASIC Gate Arrays SPLDs (PALs) Acronyms SPLD = Simple Prog. Logic Device PAL = Prog. Array of Logic CPLD = Complex PLD FPGA = Field Prog. Gate Array CPLDs Cell-Based ICs Full Custom ICs FPGAs Common Resources Configurable Logic Blocks (CLB) – Memory Look-Up Table – AND-OR planes – Simple gates Input / Output Blocks (IOB) – Bidirectional, latches, inverters PRINCIPES et CLASSIFICATION Cout ASIC FPGA Reconfigurable architectures design space Performances GPP Flexibilité General Purpose Processor ARCHITECTURES ET CIRCUITS FPGAs : Field Programmable Gate Arrays Matrice de blocs reconfigurables Interconnexion reconfigurable CLB = LUT + Sequentiel éléments ARCHITECTURES ET CIRCUITS FPGAs : Reconfigurable • Arrangement Matriciel de blocs logiques avec configuration des : 1. Interconnexions entre les blocs logiques, 2. La fonction de chaque bloc. CLB CLB CLB CLB CLB CLB CLB CLB CLB CLB CLB CLB CLB CLB CLB CLB ARCHITECTURES ET CIRCUITS FPGAs : Reconfigurable • Arrangement Matriciel de blocs logiques avec configuration des : 1. Interconnexions entre les blocs logiques, 2. La fonction de chaque bloc. CLB CLB CLB CLB CLB CLB CLB CLB CLB CLB CLB CLB CLB CLB CLB CLB ARCHITECTURES ET CIRCUITS FPGAs : Reconfigurable • Arrangement Matriciel de blocs logiques avec configuration des : 1. Interconnexions entre les blocs logiques, 2. La fonction de chaque bloc. set by configuration bit-stream Logic Block CLB CLB CLB CLB CLB CLB CLB CLB 1 INPUTS CLB CLB CLB CLB CLB CLB CLB CLB latch 4-LUT FF 0 OUTPUT 4-input "look up table" ARCHITECTURES ET CIRCUITS FPGAs : Generic reconfigurable block 1 0 0 0 1 0 0 0 Table de vérité de la fonction F( A, B, C, D) = A.B.C.D + A.C.D + A.D 1 F( A, B, C, D) = ∑ (0, 3, 7, 8,10,12,14) 1 0 1 0 1 0 1 0 Entrée du FPGA Multiplexeur 2n:1 15 ABCD Si 150 transistors / LUT Pour 50.000 LUTS Î 7.500.000 transistors ! ARCHITECTURES ET CIRCUITS Active Interconnect ™ Complexité des FPGAs Processeur CLBs Slice S3 CLB, CLB, Switch Switch IOB, IOB, Matrix Matrix DCM DCM Slice S2 Switch Matrix • Fully Buffered • Fast, Predictable Slice S0 BRAM Block RAM • 18KBit True Dual Port • Up to 3.5Mbits / device Slice S1 Multipliers • 18b x 18b mult • 200MHz pipelined • 8 LUTs • Logic (primary use) • 128b distributed RAM • Shift registers • Wide Input functions (32:1) ARCHITECTURES ET CIRCUITS Complexité Technologique • > 500 Mhz de fréquence d‘horloge • 90 nm, 9-Metal layers – 65nm 11-Metal layers • > 300 000 CLBs ! • Fonctions arithmétiques cablées (Multiplieur, MAC, etc …) • Plusieurs Processeurs (Hard, Soft) • Plusieurs centaines de Kb de Mémoire (Flash ou SRAM) • Blocs Analogiques (de + en +) • 50 Millions de bits de configuration !! ARCHITECTURES ET CIRCUITS Complexité Logicielle (CAO) library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_arith.all; use IEEE.std_logic_signed.all; entity add4 is port( A, B SUM ); end add4 ; : in std_logic_vector(7 downto 0); : out std_logic_vector(7 downto 0) architecture archi_add4 of add4 is begin process(A, B) begin sum <= A+B ; end process; end archi_add4; • Hétérogenéité des architectures • Du FPGA vers le SOPC (System On Programmable Chip) • Synthèse d‘architecture (et non logique) ARCHITECTURES ET CIRCUITS • FPGAs à travers le temps 1990 Mostly Increasing number Very few LUT 1995 LUT ou LUT ? LUT a standard ? 2000 2005 2010 LUT LUT LUT LUT RAM RAM RAM Flash SRAM DSP Analog DSP CPU CPU CPU CPU CPU CPU CPU CPU LES APPLICATIONS - Telecom Un des marchés majeurs du FPGA - Consumer HDTV, MP3 etc .. -Automobile - Spatial radiation tolerant reconfigurable FPGAs -Super Computer (Cray) - ..... Vers l’embarqué .... ET LES ETUDIANTS DANS TOUT CELA … • Que peut on illustrer pédagogiquement – FPGA se « démocratise » Æ Bac+2 à Bac+8 – Première approche « ludique » vers le monde de la microélectronique – Connaissance des architectures/technologies – Approche logique – Approche système (µcontrolleur + FPGA) – Aspects logiciels/matériels – Utilisation dans le cadre de véritables applications Ne pas divulguer ce transparent aux fondeurs … merci ASICs are dead… My Position [Jonathan Rose] They Just Don’t Know It Yet!