Les FPGAs Architectures et tendances SE204 Jean-Luc Danger page 1 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech PLAN Qu’est ce qu’un FPGA ? • Les grands principes, le Marché • Comparaison avec les circuits ASICs Les principes innovants • Cellules • Interconnexion • Blocs embarqués, I/Os • Configuration • Consommation, sûreté Tendances Conception • Vue d’ensemble • Synthèse à partir page 2 Télécom ParisTech d’un modèle HDL Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Qu’est ce qu’un FPGA ? Circuit Electronique • Dispose d’une structure régulière de portes ou « cellules » « Field Programmable Gate Array » • Calculs concurrents et rapides (qq100MHz), propres au matériel • Circuit déjà fabriqué Circuit Programmable • Contient une mémoire • Le contenu de la mémoire « bitstream » définit : La fonction de chaque cellules L’interconnexion entre les cellules • Le « bitstream » n’est pas du logiciel Ce n’est pas un fichier exécutable, mais une description de portes ou « netlist » page 3 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Place dans les filières technologiques Matériel Logiciel programmes Circuits personnalisés Circuits "sur étagères" ASICs PLDs Full custom Gate arrays EPLD FPGA Standard Cell page 4 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Microprocesseur, DSP, Microcontrôleur, Mémoire ASSP Applications des FPGAs Marché petit et moyen volume • Etude des coûts pour le choix ASIC FPGA Prototypage rapide avant conception ASIC Accélération de simulation Validation de concept en Recherche • Plate-forme quantique • Plate-forme 100Ghz • Fiabilité, sécurité,… Enseignement de l'électronique page 5 Télécom ParisTech Nick Tredennick, Brion Shimamoto. The Rise of Reconfigurable Systems. In proceeding of Engineering of Reconfigurable Systems and Algorithms, ERSA’2003. June 23-26,Las Vegas, Nevada, USA. Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Architecture d'un FPGA 3 plans virtuels : Logique Interconnexion Programmation Matrice de cellules Canaux de routage et commutateurs Mémoire de configuration Contient le « bitstream » E/S Bloc embarqué cellule • L’interconnexion occupe environ 80% de la surface • Pour une même fonction, la surface est environ 30 fois celle d’un circuit ASIC page 6 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Marché des FPGAs page 7 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Histoire : Concurrence féroce, beaucoup d'échecs • • L’innovation des nouvelles sociétés doit présenter une vraie rupture Beaucoup de juristes dans les sociétés de FPGAs (toutes américaines) page 8 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech PLAN Qu’est ce qu’un FPGA ? • Les grands principes, le Marché • Comparaison avec les circuits ASICs Les principes innovants • Cellules • Interconnexion • Blocs embarqués, I/Os • Configuration • Consommation, sûreté Tendances Conception • Vue d’ensemble • Synthèse à partir page 9 Télécom ParisTech d’un modèle HDL Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Comparaison multi-critères ASIC/FPGA Coût à la pièce (dépend du volume) FPGA ASIC consommation vitesse Temps de développement robustesse flexibilité sécurité interfaçage page 10 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech reprogrammable À concevoir 1 fois Comparaison multi-niveaux ASIC/FPGA logiciel c 11 c 10 c 12 c8 c5 c 10 c4 c8 c9 c 14 c 12 c8 X5 X13 FPGA F 13 F 11 X2 F9 F7 X4 F5 c7 c 14 c4 c8 c 13 c6 c 12 c8 c3 c6 c4 c8 F3 X3 F1 F 14 X9 X6 X14 Standard cell F 15 X10 X11 ASIC existant F 12 F 10 X1 F8 c 15 c2 c 12 c8 c4 c8 X8 F6 X7 F4 c1 c2 F2 X15 1/2 16 16 8 CONTROL UNIT COMMANDS 16 ROUND 32 16 32 PERMUTATION PERMUTATION TRANSPOSTION MEMORY 256x16 bits 9 CLIP & ROUND SERIAL PARALleL CONVERTER PIXELS Synchro SERIAL PARALleL CONVERTER X0 32 SERIAL OPERATIVE PART Algorithme F0 Logiciel CPU Architecture Logiciel SoC Logiciel SoC Code HDL Code HDL Netlist Netlist 32 12 DCT TERMS Logique transistors CPU existe Lay-out portes masques Lay-out global fonderie page 11 Télécom ParisTech schémas portes Fonte + test Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech circuit existe Flot de conception FPGA Principales Différences avec ASIC : • Synthèse et P/R spécifiques • Pas de structure de test • Fabrication => programmation spécifications VERIFICATION Code HDL SYNTHESE Synthèse et P/R spécifique : nombre de cellules figé par circuit page 12 Télécom ParisTech PLACEMENT ROUTAGE netlist Technologie FPGA + contraintes Vitesse/Coût bitstream CONFIGURATION Programmation : Téléchargement du bitstream dans le circuit => autonomie Altera : Quartus II Xilinx : ISE Microsemi (Actel) : libero Lattice : Diamond Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Les technologies micro-électroniques des FPGAs Les dernières technologies sont utilisées • Permet de satisfaire le besoin fort en densité • Permet au fondeur de tester sa technologie Evolution des FPGAs XILINX famille Virtex : famille année technologie Max cellules Détail techno Virtex4 2004 90nm 200000 LUT4 Virtex5 2007 65nm 330000 LUT6 * Triple oxyde (réduction de la consommation) Virtex6 2010 40nm 760000 LUT6 * Lithographie par immersion (finesse de gravure) * Implants SiGe (augmentation de la vitesse) Virtex7 2012 28nm 2000000 LUT6 * High-K technology (réduit les courants de fuite) En préparation : Virtex Ultrascale avec technologie 3D 20nm page 13 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Les technologies micro-électroniques des FPGAs Evolution des FPGAs ALTERA STRATIX: Fin FET page 14 Télécom ParisTech Technologie INTEL Fin-FET Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech ASICs dans les FPGAs : Hard IPs RAM CPU RAM Co-proc 2 RAM page 15 CPU embarqué Co-proc 3 IP soft Co-proc 1 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech PLAN Qu’est ce qu’un FPGA ? • Les grands principes, le Marché • Comparaison avec les circuits ASICs Les principes innovants • Cellules • Interconnexion • Blocs embarqués, I/Os • Configuration • Consommation, sûreté Tendances Conception • Vue d’ensemble • Synthèse à partir page 16 Télécom ParisTech d’un modèle HDL Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech La cellule ou Comment générer une fonction logique quelconque? Cellule = LUT (+ bascule) In1 In2 In3 in4 LUT4 OUT LUT pour la logique combinatoire LUT mémoire ad1 ad2 ad3 ad4 page 17 mémoire Télécom ParisTech DFF pour la logique séquentielle Modes d’utilisation de la LUT : • Additionneur 1 bit : 1LUT4 = 2 LUT3 (résultat,retenue) • Mémoire RAM 16 bits (Xilinx) • Registre à décalage (Xilinx) Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Architecture d'une LUT In 0 In 1 In 2 In 3 LUT 4 entrées Out In 0 In 0 In 1 In 1 In 2 In 3 In 2 configuration SRAM In 3 SRAM SRAM SRAM SRAM SRAM Points de configuration page 18 Out Multiplexeur 2 vers 1 Télécom ParisTech Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Combien d'entrées pour la LUT ? Si beaucoup d’entrées : mémoire énorme mais moins de LUT sur le chemin de calcul . Quel est le meilleur compromis ? Nb LUTs interconnexion NB LUTs sur le chemin critique Temps critique Elias Ahmed, Jonathan Rose: The effect of LUT and cluster size on deep-submicron FPGA performance and density. IEEE Trans. VLSI Syst. 12(3): 288-298 (2004) page 19 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Cellule à LUT : ALTERA STRATIX mode normal LUT Chain Input Register Chain Input Register Control Signals Cin Data1 Data2 4-Input LUT Data3 Sync Load & Clear Logic Reg Data4 Row, Column & Direct Link Routing Local Routing Register Feedback LUT Chain Output page 20 Télécom ParisTech Register Chain Output Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Cellule à LUT : ALTERA STRATIX mode arithmétique Algorithme : CARRY SELECT C0 LAB Carry-In Carry-In0 Carry-In1 Carry-In Logic Register Chain Input addnsub Data1 Data2 Data3 cellule Register Control Signals Two 2-Input LUTs (Sum) 0 1 0 1 0 Sync Load & Clear Logic Two 2-Input LUTs (Carry) C15 Reg Row, Column & Direct Link Routing Local Routing Carry-Out Logic Register Chain Output CarryOut0 page 21 CarryOut1 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech 1 XILINX Virtex5/6 : LUT6 A6 A5 A4 A3 A2 A1 LUT5 O6 2 sorties O5 LUT5 Configuration en 1 LUT6 ou 2 LUT5 page 22 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech ALTERA Adaptive Logic Module (STRATIXII,III,IV,V) 1 ALM Inputs 2 Comb. Logic Adder 3 Reg 4 5 6 Adder 7 Reg 8 ALM page 23 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech StratixII : Configurations ALM ALM ALM 5-LUT 3-LUT ALM 5-LUT ALM 4-LUT 4-LUT 6LUT(1) 7LUT(1) 4-LUT ALM ALM 5-LUT 6-LUT 5-LUT page 24 ALM Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech 6LUT(1) StratixII : Arbre d’addition X0 Y0 Z0 X0 Y0 Z0 3 LUT + Shared 3 LUT C0 Arith 3 LUT S1 3 LUT C1 X2 Y2 Z2 3 LUT S2 X2 Y2 Z2 3 LUT C2 X1 Y1 Z1 X1 Y1 Z1 3 LUT page 25 S0 Télécom ParisTech R0 Carry Chain Chain + R1 ALM 0 + R2 + R3 Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Cellule à MUX : ProASIC en mode combinatoire Exemple : ProASICPLUS de ACTEL (technologie FLASH) Exemple 1 : porte NAND à 3 entrées page 26 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Cellule à MUX ProASIC : mode séquentiel Exemple : ProASICPLUS de ACTEL (technologie FLASH) Chemins de mémorisation Exemple 2 : bascule D avec reset asynchrone page 27 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech PLAN Qu’est ce qu’un FPGA ? • Les grands principes, le Marché • Comparaison avec les circuits ASICs Les principes innovants • Cellules • Interconnexion • Blocs embarqués, I/Os • Configuration • Consommation, sûreté Tendances Conception • Vue d’ensemble • Synthèse à partir page 28 Télécom ParisTech d’un modèle HDL Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Topologie d'interconnexion en matrice Boîte de connection Matrice de commutation cellule Canaux de routage page 29 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech La matrice de commutation Nombreuses possibilités 0 1 2 3 3 2 1 0 0 1 2 3 3 2 1 0 3 2 1 0 0 1 2 3 3 2 1 0 3 2 1 0 3 2 1 0 0 1 2 3 0 1 2 3 0 1 2 3 DISJOINT UNIVERSEL WILTON page 30 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech La boîte de connexion Les points de configuration des entrées sont en log(N) pour N entrées Point de configuration page 31 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Topologie de type matrice hiérarchique cellule Groupe de cellules (CLB,LAB,cluster,…) Connexions niveau 0 Connexions niveau 1 Canaux de routage CLB : "Configurable Logic Block" LAB : Logic Array Block page 32 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Taille des clusters Un grande taille de cluster facilite les contraintes de timings : => taille d'au moins 8 Taille du FPGA pour différentes tailles de LUT et cluster Elias Ahmed, Jonathan Rose: The effect of LUT and cluster size on deep-submicron FPGA performance and density. IEEE Trans. VLSI Syst. 12(3): 288-298 (2004) page 33 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Exemple de clusters Slice LUT x2 Virtex5 : CLB = 2 slices * 4 LUT6 page 34 Télécom ParisTech StratixIII : LAB = 8 ALM Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Matrice : interconnexions segmentées CLB CLB CLB CLB Canal de 4 lignes de longueur 1 Canal de 2 lignes de longueur 2 Canal de longueur 4 Un canal faisant toute la largeur sert pour les signaux globaux (horloge, reset,…) page 35 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Effet de la segmentation : gain en vitesse 1 hop = passage par un commutateur XILINX Virtex 4 page 36 Télécom ParisTech Intra-LAB 1 Hop 2 Hop 3 Hop XILINX Virtex 5 ALTERA StratixIII Segmentation diagonale Segmentation très forte Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech PLAN Qu’est ce qu’un FPGA ? • Les grands principes, le Marché • Comparaison avec les circuits ASICs Les principes innovants • Cellules • Interconnexion • Blocs embarqués, I/Os • Configuration • Consommation, sûreté Tendances Conception • Vue d’ensemble • Synthèse à partir page 37 Télécom ParisTech d’un modèle HDL Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Un FPGA est plus qu’un ensemble de cellules cellules mémoires Multiplieurs Clocks I/Os interfaces page 38 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Mémoires dans les FPGA Distribuée • Utilisation des LUTs des cellules en mode mémoire Embarquée • La mémoire est un bloc spécifique • Tailles entre 512b et 512Kb • Utilisable en Simple / Douple Port ROM FIFO Quelques Mbits dans les dernières familles • 17Mbits dans les Virtex7 page 39 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Embedded Array Block 18Kbits Type d'accès Exemple : Xilinx Virtex5 Each 18K 3 6 True dual-port page 40 16Kx1, 8Kx2, 4Kx4, 2Kx9, 1Kx18 Simple dual-port 16Kx1, 8Kx2, 4Kx4, 2Kx9, 1Kx18, 512x36 Single-port 16Kx1, 8Kx2, 4Kx4, 2Kx9, 1Kx18, 512x36 Télécom ParisTech 2 independent read and write ports 1 read & 1 write port Read AND write in 1 cycle 1 read & 1 write port Read OR write in 1 cycle Backwards compatible to V4 Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Add rA Port A Wdata Rdata A 36KbA 36 Memor y Array Ad 36 dr B Wdata B Port B Rdata 36 B Pour FIFO Evolution des tailles mémoires STRATIX Memory Functions Processor code storage Packet buffers Video frame buffers General purpose memory Shift registers Small FIFO buffers Filter delay lines page 41 Télécom ParisTech Stratix II Devices Stratix III/IV Devices MRAM M144K 576K Bits 144K Bits M4K M9K 4.5K Bits 9K Bits M512 MLAB 576 Bits 640 Bits Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Blocs arithmétiques dans les FPGAs Additions/soustractions • Se font généralement en propagation de retenue par un chemin de routage spécifique le long des cellules Multiplications, MACs • Blocs dédiés Souvent 18x18 utilisables en 4 (9x9) Accumulation Mise en Cascade, Arrondi, troncature, saturation • Quelques milliers dans les dernières familles 4000 dans les Virtex7 page 42 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Exemple : Xilinx Virtex 6 DSP slice B D A X P +/- = C 25x18 Multiplier 25bit Pre-adder ALU-like Second Stage Pattern Detector Power Consumption Benefits Lowest power operation of any FPGA solution 1.23mW/100Mz at 38% toggle rate 43 Performance Benefits 600MHz operations for any DSP operation (including large filters) ~1.2 TeraMACC in a single device Cost Benefits q Hardened pre-adder and adder cascade saves significant logic resources q Logic functions can be mapped into DSP blocks Télécom ParisTech Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Exemple : ALTERA StratixIII DSP block + Output Register Unit R R Optional RND & SAT Unit +- +- Output Multiplexer + +- - Optional Pipelining 144 Input Register Unit 72 + R page 44 Télécom ParisTech Output Register Unit R Optional RND & SAT Unit © 2006 Altera Corporation - Confidential 14 +- +- Output Multiplexer + +- - Optional Pipelining 144 Input Register Unit 72 Basic Multiplier Modes • 8 x (9x9) • 6 x (12x12) • 4 x (18x18) • 2 x (36x36) • 2 x complex (18x18) Sum Modes • 4 x Sum of Two (18x18) • 2 x Sum of Four (18x18) Accumulation • 2 x Acc Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Cascade Modes Input Cascade Output Cascade Rounding Unbiased and Biased Saturation Asymm and Symmetrical Barrel Shifter Arithmetic, Logical and Rotation Blocks de gestion d'horloge Besoins • Eviter le« Skew » d'horloge Du à la forte charge et la longueur des lignes • Fréquence interne différente de la fréquence externe Nécessité d'un asservissement fréquence • Besoin de plusieurs horloges corrélées Solutions 2 niveaux : • Interconnexion lignes dédiées pour les horloges : arbre d'horloge « bufferisés » • Bloc PLL/DLL dédié à la génération : Asservissement sur l'extérieur Compensation du skew d'horloge page 45 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Principe de génération d'horloge Système asservi en fréquence sur une oscillateur externe • PLL mesure de l'erreur de phase • DLL Frequence ajustable phase ajustable page 46 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Circuit de génération d'horloge Ajustement en fréquence et phase sur plusieurs horloges PLL f_out1=P/Q1 f_in f_out2=P/Q2 f_in DLL page 47 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech DLL Exemple : XILINX VIRTEX Virtex Virtex Clock Mirror Zero-Delay Internal Clock Buffer Sub 5ns Clock-to-Out on MegaGate FPGA Zero-Delay Board Clock Buffer Virtex Clock Phase Synthesis Clock Frequency Doubling For Internal and Board Applications page 48 Télécom ParisTech Timing Precision with normal clocks Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech PLL Exemple ALTERA Stratix Lock Detect Switchover Circuit Clock Inputs Redundant Clock PFD t CP/LF VCO M External Feedback page 49 Télécom ParisTech t K1 t I/O Buffer Spread Spectrum N K0 General Routing or I/O Buffers Local Clocks G0 t G1 t G2 t G3 t E0 t E1 t E2 t E3 t Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech 4 Global Clocks M N x KN I/O Buffers (SingleEnded or Differential Interconnexion : Réseau d'horloges Exemple : XILINX VIRTEX II 8 BUFGMUX 16 équipotentielles réparties sur 4 quadrants NE NW 8 8 NW 8 BUFGMUX NE 16 Clocks 16 Clocks 8 SW 8 BUFGMUX SW 8 SW 8 BUFGMUX page 50 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech SE Les processeurs intégrés Processeurs Hard : • IBM PPC405 • XILINX VIRTEX • (dual) ARM cortex-A9 • ALTERA ARRIA V, CYCLONE V, • XILINX ZynQ • ARM cortex-M3 • Smartfusion 2 • Beaucoup de processeurs Soft : • Propriétaires - XILINX : MicroBlaze 32 bits - ALTERA : NIOS2 32 bits - ACTEL Igloo , ProASIC3, Fusion : ARM7 cortex M1 • Libres. Exemples : - 32 bits RISC :Leon (SPARC 32 bits), LM32 (lattice) - 8 bits CISC simple : 6502 page 51 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Virtex-4 FX/Virtex-II Pro PowerPC 405 PLB Auxiliary Processor Unit Controller (Virtex-4) ISOCM PowerPC 405 Core I-Cache Array I-Cache Controller Instruction-Cache Unit Data-Cache Unit D-Cache Controller PLB page 52 CPU Instruction Shadow-TLB (4-Entry) Fetch and Decode Logic 3-Element Fetch Queue Data Shadow-TLB (8-Entry) Execution Unit 32x32 GPR ALU DSOCM Télécom ParisTech Timers PIT, FIT and WDT Timers and Debug Unified TLB (64-Entry) Cache Units D-Cache Array MMU MAC Debug Logic JTAG Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech I-Trace ARM cortex-A9 dans ARRIA V, CYCLONE V page 53 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Blocs embarqués analogiques : ACTEL Fusion SRAM / FIFO Coeur FPGA PA3 E/S PLL/CCC Flash utilisateur Securité Pompe de Charge ADC Gestion Horloge RTC, Xtal Osc. E/S analogiques Flash page 54 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Les IPs softs Bibliothèques très riches Communications ADPCM (u-law, a-law) ATM Controller CRC Ethernet MAC (10/100/Gigabit) HDLC Protocol Core IMA Controller SONET/SDH Framer T3/E3 Framer Packet Over SONET Processor Telephony Tone Generator Utopia Master & Slave POS-PHY Interface page 55 Bus Interface DSP Cœur de Processeurs, Périphériques PCI Target Color Space Converter NiosTM Processor PCI Master-Target Correlator PCI-X Digital Modulator Tensilica X-tensa Processor CAN Bus Discrete Cosine Transform IIC Master & Slave Fast Fourier Transform IEEE 1394 FIR Compiler PowerPC Bus Arbiter IIR Filter Image Processing Library PowerPC Bus Master NCO PowerPC Bus Slave Reed Solomon Encoder/Decoder USB Function Controller Interleaver/Deinterleaver USB Host Controller Viterbi Decoder … … Télécom ParisTech Turbo Decoder Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech PalmChip Bus SDRAM Controller DDR-SDRAM Controller QDR-SDRAM Controller 8237 DMA Controller 8255 Peripheral Interface 8259 Interrupt Controller 8254 Timer/Counter 8051, 6502, Z80 … Cellule E/S E/S configurable • Nombreux paramètres et standards Mode Terminaison simple Mode Différentiel Synchronisation avec les horloges Sérialisation/désérialisation Ajustement du Slew Rate Adaptation d'impédance Adaptation du retard Transceivers • Gigabit Transceivers jusqu’à 28Gbps (Virtex7) Accepte diverses tensions d'alimentation page 56 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Cellule E/S: XILINX VIRTEX page 57 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Cellule E/S : Virtex7 SERDES : sérialisation/désérialisation Interconnect to FPGA fabric Master IOLOGIC P IOSERDES + IODELAY VCCO PAD LVDS Termination Slave IOLOGIC N IOSERDES + IODELAY Single-ended différentiel page 58 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Cellule E/S ALTERA StratixIII Puissance et slew rate ajustables Retard ajustable :2 Sync block Read Terminaisons programmables 1 demux Sync block Write DQ Hard I/O IO Synchronisation avec l'horloge, 31 registres au total SERDES,… page 59 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Protocoles supportés Virtex5 SRAM standard Différentiel Très rapides page 60 LVCMOS (3.3v, 2.5v, 1.8v, 1.5v, and 1.2v) LVDS, Bus LVDS, Extended LVDS LCPECL PCI, PCI-X HyperTranport (LDT) Télécom ParisTech HSTL (1.8v, 1.5v, Classes I, II, III, IV) HSTL_I_12 (unidirectional only) DIFF_HSTL_I_18, DIFF_HSTL_I_18_DCI DIFF_HSTL_I, DIFF_HSTL_I_DCI RSDS_25 (point-topoint) Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech SDRAM, DDRAM SSTL (2.5v, 1.8v, Classes I, II) DIFF_SSTL_I DIFF_SSTL2_I_DCI DIFF_SSTL18_I, DIFF_SSTL18_I_DCI GTL, GTL+ Fond de panier PLAN Qu’est ce qu’un FPGA ? • Les grands principes, le Marché • Comparaison avec les circuits ASICs Les principes innovants • Cellules • Interconnexion • Blocs embarqués, I/Os • Configuration • Consommation, sûreté Tendances Conception • Vue d’ensemble • Synthèse à partir page 61 Télécom ParisTech d’un modèle HDL Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Programmation Technologie interne • Volatile : Mémoire SRAM. Un "bitstream" est stocké à l'extérieur - On parle de configuration car la reprogrammation est possible • Nonvolatile : - Mémoire FLASH ou équivalent - Antifusible Méthode de configuration pour SRAM • Interface spécifique • Configuration totale/partielle • Sécurisation du transfert page 62 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Technologies des commutateurs Pass-transistor : Peu coûteux c C porte de transmission : pas de limitation à Vdd-Vt C C c Buffer 3-états : amplificateur d page 63 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Technologies de programmation Mémoire Antifusible (Actel) La plus utilisée condensateur Point mémoire Point mémoire SRAM ou FLASH • Opération de fusion du diélectrique irréversible (OTP) grille polysilicium grille flottante N+ drain N+ oxyde Transistor à grille flottante page 64 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech PLAN Qu’est ce qu’un FPGA ? • Les grands principes, le Marché • Comparaison avec les circuits ASICs Les principes innovants • Cellules • Interconnexion • Blocs embarqués, I/Os • Configuration • Consommation, sûreté Tendances Conception • Vue d’ensemble • Synthèse à partir page 65 Télécom ParisTech d’un modèle HDL Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Consommation dans les FPGAs Le prix à payer de la programmabilité : x14 vs ASIC Consommation dynamique • En CMOS, l'essentiel de la consommation provient des courants de charge et décharge des capacités réparties 1 2 P= C V dd f 2 Vdd f C P Consommation statique • Due aux courants de fuite. Quasi nulle dans les technologies >130nM mais devient non négligeable si <130nM Stratégie de réduction • Transistors faible consommation • Gestion pour la mise en veille page 66 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Stratégie pour réduire la puissance statique Technologie Triple-Oxyde (Vgg) Configuration Memory Vccint Logic / Buffers Vcco IOB Transistor Types Interconnect Pass Gates page 67 Télécom ParisTech Thin Ox – Fast switching time, highest leakage Mid Ox – Fast signal passing, low leakage Thick Ox – Max Voltage tolerance, lowest leakage Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Stratégie pour réduire la puissance dynamique Stratix III Logic Array Timing Critical Path High-Speed Logic Low-Power Logic Unused Low-Power Logic page 68 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Stratégie pour réduire la puissance dynamique : StratixIII Changement de la tension du coeur • 1.1 V pour la performance maximum • 0.9 V pour le minimum de puissance consommée (varie en Vdd2) Tensions des E/S et PLL non affectées • La vitesse est maintenue au maximum sur les E/S Nominal Voltage Min. Regulator vOUT Max. Regulator vOUT Slow Timing Model Fast Timing Model Power Model 1.1 V 1.05 V 1.15 V 0.9 V 0.86 V 0.94 V page 69 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech StratixIII :Prise en compte au niveau de la conception Design Entry Timing Constraints Synthesis Place and Route Timing, Area, Power Optimization page 70 Télécom ParisTech PowerPlay Power Analyzer Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Robustesse dans les FPGAS Plusieurs sources de “fautes” • Rayonnements cosmiques Affecte les mémoires SRAM Mémoires embarquées Mémoire de configuration (à part Flash et anti-fusible) • Vieillissement des technologies • Bruit interne détériorant l'intégrité du signal Interférences Bruit de masse (Simultaneous Switching Noise) Mauvaises adaptations d'impédance • Actes malveillants page 71 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Rayonnement cosmique espace Erreur SEU "Single Event Upset" Current Rayon cosmique Point mémoire SRAM Time Vcc Add Data In Data Out Voltage Vss page 72 Télécom ParisTech Time Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Voltage Clear Time Parades au rayonnement cosmique Mémoire de configuration • Signature CRC dans le bitstream • Mesure régulière du CRC (Xilinx) ou utilisation d'un processeur pour mesurer la "criticalité" (Altera) • Utilisation de technologies robustes (Actel : FLASH, Antifusibles) Mémoire utilisateur • Code correcteur d'erreur ECC associé aux mémoires embarquées page 73 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Amélioration de l'intégrité du signal Action au niveau des E/S • Ajustement du « slew rate » • Ajustement de la puissance des sorties • Adaptation d'impédance • Ajustement du retard Action au niveau du boîtier • Respecter le ratio Vdd/Gnd/ E/S (8) • Mettre des capacités de découplage ou utiliser des boîtiers pré-équipés page 74 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Boîtiers Nécessité d'un grand nombre d'E/S *Loi de Rent: N=K.G N = nombre d'E/S K = nombre d'entrées/portes G = nombre de portes = constante de Rent dépendant de l'application ~0,6 Peut dépasser 1000 => boîtier BGA circuit boitier DIP (Dual In Line Package) page 75 Télécom ParisTech QFP (Quad Flat Package) BGA (Ball Grid Array) pitch=0,5mmm pitch=1mm ou moins Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech PLAN Qu’est ce qu’un FPGA ? • Les grands principes, le Marché • Comparaison avec les circuits ASICs Les principes innovants • Cellules • Interconnexion • Blocs embarqués, I/Os • Configuration • Consommation, sûreté Tendances Conception • Vue d’ensemble • Synthèse à partir page 76 Télécom ParisTech d’un modèle HDL Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Offre SoC avec processeurs en « dur » Existants : processeur en « HDL » • Processeurs Propriétaires (netlist seulement) XILINX : MicroBlaze 32 ALTERA : NIOS2 ACTEL Fusion, IGLOO, ProASIC3 : ARM7 cortex-M1 • Processeurs Libres LGPL, GPL Code VHDL ou Verilog LATTICE : MICO 32bits 32 bits RISC :Leon (SPARC 32 bits) Tendances : processeur en « dur » • Xilinx Zynq 7000 : Dual core ARM cortex A9 • Altera ARRIA SX : Dual core ARM cortex A9 • Actel Smartfusion(2) cSoc : ARM cortex M3 page 77 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Microsemi SmartFusion 2 page 78 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Xilinx Zynq 7000 page 79 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Altera ARRIA SX page 80 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Réduire la consommation Technologies Low-Power Flash • Silicon Blue : NVCM Mémoire NV à partir de process CMOS à 2 transistors ( technologie Kilopass) • ACTEL : Famille IGLOO Flash freeze mode : mode veille Technologies SRAM • Altera CYCLONE V • Xilinx ARTIX-7 page 81 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Augmenter les interfaces et leur rapidité De plus en plus de blocs d’interface durs dans les derniers FPGAs • PCI-express, Ethernet/MAC,Transceivers 28Gbps FPGA dédié I/O • CSwitch CS90 (configurable switch) Interconnexion et logique au centre de blocs périphériques durs page 82 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Transceivers Xilinx Spartan®-6 Virtex®-6 Family Family Artix™-7 Kintex™-7 Virtex-7 Family T Devices XT Devices Family Family 28.05 Gb/s GTZ GTH 11.18 Gb/s GTH 6.6 Gb/s GTX GTP GTP 40nm page 83 GTX GTX 12. 5 Gb/s 3.75 Gb/s 3.125 Gb/s HT Devices Télécom ParisTech 28nm Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech GTX GTH ReConfiguration à la volée page 84 Télécom ParisTech Start-up Tabula • 2D + Temps • Reconfigurations permanentes @1.6GHz • 8 configurations • Mémoires simple port équivalente à 8 ports 200MHz • Diminue les ressources de routage Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Calcul Asynchrone : plus d’horloge globale Pour augmenter les Performances • startup Achronix (techno Intel 22nm transistors 3D) Speedster 22i : Technologie « Picopipe » =>1.5GHz Pour augmenter la sécurité • Projet « SAFE » TIMA + TPT Implante le protocole QDI Routage et calcul dual rail page 85 Télécom ParisTech Les FPGAs Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech Circuits FPGA « custom » Télécom ParisTech Projet SAFE : 65nm FPGA asynchrone 3x3 Projet FASE : 130nm FPGA reconfigurable dynamiquement 8x8 Projet SeFPGA : 65nm FPGA en arbre 2048 cellules page 86 Télécom ParisTech Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech