Herconfigureerbare Hardware in Ieders Bereik Prof. Dirk Stroobandt Universiteit Gent Vakgroep ELIS Onderzoeksgroep PARIS http://www.elis.UGent.be/~dstr/ Overzicht • Nood aan digitale verwerking van gegevens • Voordelen van FPGA´s • Wat is een FPGA? • Hoe programmeer je een FPGA? • Toepassingen in PARIS 12 mei 2005 Dirk Stroobandt: FPGA's in ieders bereik 2 Inleiding 12 mei 2005 Dirk Stroobandt: FPGA's in ieders bereik 3 Inleiding 12 mei 2005 Dirk Stroobandt: FPGA's in ieders bereik 4 Huidige (ingebedde) systemen µ-processor DSP Sensor A/D Actuator D/A ASIC MEMS 12 mei 2005 Dirk Stroobandt: FPGA's in ieders bereik 5 12 mei 2005 Dirk Stroobandt: FPGA's in ieders bereik 6 Tegenstrijdige eisen Multimedia-toepassingen (op mobiele toestellen) Vereisen enorme rekenkracht (in ware tijd) Hardware (HW) + - * > Geen overbodige functionaliteit noch verbindingen Massaal parallel Geen configuratie 12 mei 2005 Vaste structuur Veel parallellisme Te duur Dirk Stroobandt: FPGA's in ieders bereik 7 Tegenstrijdige eisen Multimedia-toepassingen (op mobiele toestellen) µProcessor Vereisen flexibiliteit, veranderingen tijdens de uitvoering Software (SW) D$ Rf +|-|*|>| ID Zeer flexibel Weinig parallellisme Te traag 12 mei 2005 Sw n I$ Programmeerbaar Sequentieel Instructiestroom Dirk Stroobandt: FPGA's in ieders bereik 8 Nood aan flexibiliteit • Waarom is zo veel flexibiliteit nodig? – Tijdsmultiplexering van hardwaremiddelen – Nieuwe toepassingen moeten op de toestellen kunnen draaien – HW moet optimale efficiëntie hebben voor elke toepassing – Schaalbare toepassingen laten toe de QoS aan te passen aan de noden van het moment ? 12 mei 2005 Dirk Stroobandt: FPGA's in ieders bereik 9 Tegenstrijdige eisen Multimedia-toepassingen (op mobiele toestellen) Vereisen flexibiliteit, veranderingen tijdens de uitvoering Software (SW) Zeer flexibel Weinig parallellisme Te traag Vereisen enorme rekenkracht (in ware tijd) Conflict Flexibel Veel parallellisme Ideaal Hardware (HW) Vaste structuur Veel parallellisme Te duur Nieuwe optie: FPGA´s “Field Programmable Gate Array”: Grote matrix van hardware-blokken met herconfigureerbare functies en verbindingen 12 mei 2005 Dirk Stroobandt: FPGA's in ieders bereik 10 Overzicht • Nood aan digitale verwerking van gegevens • Voordelen van FPGA´s • Wat is een FPGA? • Hoe programmeer je een FPGA? • Toepassingen in PARIS 12 mei 2005 Dirk Stroobandt: FPGA's in ieders bereik 11 Voordelen van FPGA’s De ontwerpstappen voor digitaal ontwerp Systeemspecificatie Functioneel ontwerp Logisch ontwerp X=(ABCD+A+D+A(B+C)) Y=(A(B+C)+AC+D+A(BC+D)) Circuitontwerp Fysisch ontwerp Fabricatie Inpakken en testen 12 mei 2005 Dirk Stroobandt: FPGA's in ieders bereik 12 Voordelen van FPGA’s In ASIC’s: poorten worden als transistorschakelingen op de chip gebakken Circuitontwerp 12 mei 2005 Dirk Stroobandt: FPGA's in ieders bereik 13 Voordelen van FPGA’s In FPGA’s: poorten worden als waarheidstabel geïmplementeerd waarbij de uitgangswaarden in flip-flops (geheugens) na fabricatie opgeslagen (en gewijzigd) kunnen worden. abcd 0000 0001 0010 0011 0100 0101 0110 0111 uit 1 0 0 1 1 1 0 1 12 mei 2005 abcd 1000 1001 1010 1011 1100 1101 1110 1111 uit 1 1 0 0 0 1 0 1 Dirk Stroobandt: FPGA's in ieders bereik 14 Energie-flexibiliteitconflict Power efficiency (MOPS/mWatt) 1000 Source: T.Claasen et al. (ISSCC99) Intrinsic power efficiency of 32 b silicon 100 10 xed d mu e r i w hard ting ompu c e l b figura recon ssors ISProce 1 0.1 DSP-ASIP’s microprocessors 0.01 0.001 AmI 2 1 12 mei 2005 0.5 0.25 0.13 0.07 feature size(µm) Dirk Stroobandt: FPGA's in ieders bereik 15 Prijsvoordeel FPGA´s 12 mei 2005 Dirk Stroobandt: FPGA's in ieders bereik 16 Overzicht • Nood aan digitale verwerking van gegevens • Voordelen van FPGA´s • Wat is een FPGA? • Hoe programmeer je een FPGA? • Toepassingen in PARIS 12 mei 2005 Dirk Stroobandt: FPGA's in ieders bereik 17 Wat is een FPGA? • Chip met programmeerbare – logische blokken – verbindingen CLB CLB CLB CLB CLB CLB • Oorspronkelijk enkel – opzoektabellen – verbindingsmatrices • Programmeren door lange bitsequenties aan te leggen (leggen functies EN verbindingen vast) 12 mei 2005 Dirk Stroobandt: FPGA's in ieders bereik 18 Wat is een FPGA? • Hedendaagse FPGA´s hebben ook – Voorbestemde blokken zoals vermenigvuldigers – Gedistribueerd geheugen (registers) – Blokken RAM-geheugen – Speciale I/O-blokken – DSP-blokken – Processoren (PowerPC - ARM) • Voorbeelden: Xilinx Virtex II FPGA’s Altera Stratix II FPGA’s 12 mei 2005 Dirk Stroobandt: FPGA's in ieders bereik 19 Virtex II Configurable Logic Block (CLB) 12 mei 2005 Dirk Stroobandt: FPGA's in ieders bereik 20 Virtex II Slice (gesimplificeerd) Opzoektabellen (LUT) F en G kunnen gebruikt worden om elke Boolese functie van ≤ 4 variabelen te berekenen of als geheugenblokjes. 12 mei 2005 Dirk Stroobandt: FPGA's in ieders bereik 21 VIRTEX II slice 12 mei 2005 Dirk Stroobandt: FPGA's in ieders bereik 22 VIRTEX II overzicht 12 mei 2005 Dirk Stroobandt: FPGA's in ieders bereik 23 VIRTEX II block selectRAM 12 mei 2005 Dirk Stroobandt: FPGA's in ieders bereik 24 VIRTEX II Routing Architecture 12 mei 2005 Dirk Stroobandt: FPGA's in ieders bereik 25 VIRTEX II Routing Architecture 12 mei 2005 Dirk Stroobandt: FPGA's in ieders bereik 26 Virtex II Pro bevat tot 4 PowerPC processor cores 12 mei 2005 Dirk Stroobandt: FPGA's in ieders bereik 27 Stratix II 12 mei 2005 Dirk Stroobandt: FPGA's in ieders bereik 28 Een gloednieuw FPGA-bord 12 mei 2005 Dirk Stroobandt: FPGA's in ieders bereik De drie + * > Processor D$ 29 berekeningsvormen Herconfigureerbaar + Rf +|-|*|>| - ASIC > + - * * > ID Sw I$ n Programeerbaar Sequentieel Zeer veel toepassingen Weinig efficiënt 12 mei 2005 Sw Configuration 0 1 Configureerbaar Algoritme parallel uitgevoerd Groot aantal toepassingen Vrij efficiënt Dirk Stroobandt: FPGA's in ieders bereik Geen configuratie Massaal parallel Eén toepassing Zeer efficiënt 30 En allerlei tussenvormen Processor D$ Herconfigureerbaar + Rf +|-|*|>| - ASIC > + - * * > ID Sw I$ n Sw Configuration DSP-Processor 12 mei 2005 0 1 Structured ASIC Dirk Stroobandt: FPGA's in ieders bereik 31 Overzicht • Nood aan digitale verwerking van gegevens • Voordelen van FPGA´s • Wat is een FPGA? • Hoe programmeer je een FPGA? • Toepassingen in PARIS 12 mei 2005 Dirk Stroobandt: FPGA's in ieders bereik 32 Hoe programmeer je een FPGA? 011010010010110010010010110111110 101011010100101010001011110110110 110010001001110110110110110101111 010010010000101001010111100011011 12 mei 2005 Dirk Stroobandt: FPGA's in ieders bereik 33 Opstelling: FPGA-bord in computer 12 mei 2005 Dirk Stroobandt: FPGA's in ieders bereik 34 Hardware-beschrijving (VHDL) 12 mei 2005 Dirk Stroobandt: FPGA's in ieders bereik 35 Programma ontwerpt de hardware 12 mei 2005 Dirk Stroobandt: FPGA's in ieders bereik 36 Resultaat van plaatsing (simulatie) 12 mei 2005 Dirk Stroobandt: FPGA's in ieders bereik 37 Resultaat van plaatsing (simulatie) 12 mei 2005 Dirk Stroobandt: FPGA's in ieders bereik 38 Resultaat van plaatsing (simulatie) 12 mei 2005 Dirk Stroobandt: FPGA's in ieders bereik 39 Resultaat na configuratie (opgemeten) 12 mei 2005 Dirk Stroobandt: FPGA's in ieders bereik 40 Overzicht • Nood aan digitale verwerking van gegevens • Voordelen van FPGA´s • Wat is een FPGA? • Hoe programmeer je een FPGA? • Toepassingen in PARIS 12 mei 2005 Dirk Stroobandt: FPGA's in ieders bereik 41 Toepassingen in PARIS MP3-speler (studententhesis 2001-2002) 12 mei 2005 Dirk Stroobandt: FPGA's in ieders bereik 42 Toepassingen in PARIS WaveletWavelet transformatie Transform Bewegingsschatting Ongecomprimeerde beelden Entropieencodering BewegingsvectorMotion Vector Encoding encodering Implementatie schaalbare videocodec Motion BewegingsComp. compensatie Gecomprimeerde beelden Inverse Wavelet T. wavelettr. Entropy EntropieDecoding decodering Motion Vector BewegingsvectorDecoding decoding Meer info: http://www.elis.UGent.be/resume/ of [email protected] 12 mei 2005 Dirk Stroobandt: FPGA's in ieders bereik I n p a k k e n Verzenden bitstroom U i t p a k k e n 43 Toepassingen in PARIS Transparante communicatie tussen Java en herconfigureerbare hardware Geïnterpreteerd Machinecode JIT-compiler Bytecode HW-compiler Bitstroom Meer info: [email protected] 12 mei 2005 Dirk Stroobandt: FPGA's in ieders bereik 44 Conclusies • Herprogrammeerbare componenten hebben – veel betere prestaties dan een processor – veel meer flexibiliteit dan een ASIC • Herprogrammeerbare componenten – zijn goedkoper dan ASICs voor oplagen tot 10.000 a 1.000.000 stuks – kunnen veel sneller geprogrammeerd worden dan een ASIC gefabriceerd • Herprogrammeerbare componenten zijn zeer geschikt voor KMO’s (en universiteiten) 12 mei 2005 Dirk Stroobandt: FPGA's in ieders bereik 45 Vragen? Prof. Dirk Stroobandt Universiteit Gent Vakgroep ELIS Onderzoeksgroep PARIS http://www.elis.UGent.be/~dstr/ Wie zelf in de praktijk wil leren hoe FPGA’s geprogrammeerd en gebruikt kunnen worden, kan begin 2006 de IVPV-opleiding “Ontwerpmethodologie voor ingebedde elektronische systemen” volgen. 12 mei 2005 Dirk Stroobandt: FPGA's in ieders bereik 46