voordelen van fpga's
TRANSCRIPT
Herconfigureerbare Hardwarein Ieders Bereik
Herconfigureerbare Hardwarein Ieders Bereik
Prof. Dirk Stroobandt
Universiteit GentVakgroep ELIS
Onderzoeksgroep PARIShttp://www.elis.UGent.be/~dstr/
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 2
OverzichtOverzicht
• Nood aan digitale verwerking van gegevens
• Voordelen van FPGA´s• Wat is een FPGA?• Hoe programmeer je een FPGA?• Toepassingen in PARIS
• Nood aan digitale verwerking van gegevens
• Voordelen van FPGA´s• Wat is een FPGA?• Hoe programmeer je een FPGA?• Toepassingen in PARIS
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 3
Inleiding
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 4
Inleiding
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 5
Huidige (ingebedde) systemenHuidige (ingebedde) systemen
µ-pro-cessor DSP
ASIC
SensorA/D
ActuatorD/A
MEMS
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 6
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 7
Tegenstrijdige eisenTegenstrijdige eisenMultimedia-toepassingen (op mobiele toestellen)
Vereisen enormerekenkracht (in ware tijd)
Hardware (HW)
Vaste structuurVeel parallellisme
Te duur
+-
* >
Geen overbodige functionaliteitnoch verbindingenMassaal parallelGeen configuratie
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 8
Tegenstrijdige eisenTegenstrijdige eisenMultimedia-toepassingen (op mobiele toestellen)
Vereisen flexibiliteit,veranderingen tijdens de uitvoering
Software (SW)
Zeer flexibelWeinig parallellismeTe traag
RfD$
I$Sw
ID
+|-|*|>|
n
ProgrammeerbaarSequentieelInstructiestroom
µProcessor
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 9
Nood aan flexibiliteitNood 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
?
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 10
Tegenstrijdige eisenTegenstrijdige eisen
Conflict
Multimedia-toepassingen (op mobiele toestellen)
Vereisen flexibiliteit,veranderingen tijdens de uitvoering
Software (SW)
Zeer flexibelWeinig parallellismeTe traag Nieuwe optie: FPGA´s
“Field Programmable Gate Array”:Grote matrix van hardware-blokken met
herconfigureerbare functies en verbindingen
FlexibelVeel parallellisme
Ideaal
Vereisen enormerekenkracht (in ware tijd)
Hardware (HW)
Vaste structuurVeel parallellisme
Te duur
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 11
OverzichtOverzicht
• Nood aan digitale verwerking van gegevens
• Voordelen van FPGA´s• Wat is een FPGA?• Hoe programmeer je een FPGA?• Toepassingen in PARIS
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 12
Voordelen van FPGA’sDe ontwerpstappen voor digitaal ontwerp
X=(ABCD+A+D+A(B+C))Y=(A(B+C)+AC+D+A(BC+D))
Inpakken en testen
Fabricatie
Circuitontwerp
Fysisch ontwerp
Logisch ontwerp
Functioneel ontwerp
Systeemspecificatie
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 13
Voordelen van FPGA’s
In ASIC’s: poorten worden als transistorschakelingenop de chip gebakken
Circuitontwerp
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 14
Voordelen van FPGA’s
In FPGA’s: poorten worden als waarheidstabelgeïmplementeerd waarbij de uitgangswaardenin flip-flops (geheugens) na fabricatie opgeslagen(en gewijzigd) kunnen worden.
a b c d uit0 0 0 0 10 0 0 1 00 0 1 0 00 0 1 1 10 1 0 0 10 1 0 1 10 1 1 0 00 1 1 1 1
a b c d uit 1 0 0 0 11 0 0 1 11 0 1 0 01 0 1 1 01 1 0 0 01 1 0 1 11 1 1 0 01 1 1 1 1
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 15
Energie-flexibiliteitconflictEnergie-flexibiliteitconflictSource: T.Claasen et al. (ISSCC99)
Intrinsicpowerefficiencyof 32 b silicon
microprocessors
2 1 0.5 0.25 0.13 0.07feature size(µm)
1000
100
10
1
0.1
0.01
0.001
Power efficiency (MOPS/mWatt)
ISProcessorsreconfigurable computinghardwired muxed
DSP-ASIP’s
AmI
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 16
Prijsvoordeel FPGA´sPrijsvoordeel FPGA´s
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 17
OverzichtOverzicht
• Nood aan digitale verwerking van gegevens
• Voordelen van FPGA´s• Wat is een FPGA?• Hoe programmeer je een FPGA?• Toepassingen in PARIS
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 18
Wat is een FPGA?Wat is een FPGA?
• Chip met programmeerbare– logische blokken– verbindingen
• Oorspronkelijk enkel– opzoektabellen– verbindingsmatrices
• Programmeren doorlange bitsequenties aan te leggen(leggen functies EN verbindingen vast)
CLB CLB CLB
CLB CLB CLB
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 19
Wat is een FPGA?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’sAltera Stratix II FPGA’s
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 20
Virtex II Configurable Logic Block (CLB)
Virtex II Configurable Logic Block (CLB)
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 21
Virtex II Slice (gesimplificeerd)Virtex II Slice (gesimplificeerd)Opzoektabellen (LUT) F en G kunnen gebruikt worden om elke Boolese functie van ≤ 4 variabelen te berekenenof als geheugenblokjes.
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 22
VIRTEX II sliceVIRTEX II slice
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 23
VIRTEX II overzichtVIRTEX II overzicht
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 24
VIRTEX II block selectRAMVIRTEX II block selectRAM
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 25
VIRTEX II Routing ArchitectureVIRTEX II Routing Architecture
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 26
VIRTEX II Routing ArchitectureVIRTEX II Routing Architecture
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 27
Virtex II Pro bevat tot 4 PowerPC processor cores
Virtex II Pro bevat tot 4 PowerPC processor cores
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 28
Stratix IIStratix II
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 29
Een gloednieuw FPGA-bordEen gloednieuw FPGA-bord
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 30
De drie berekeningsvormenDe drie berekeningsvormen
RfD$
I$Sw
ID
+
- *
>
Configuration
+|-|*|>| +-
* >
Sw
Processor Herconfigureerbaar ASIC
ProgrameerbaarSequentieelZeer veel toepassingenWeinig efficiënt
ConfigureerbaarAlgoritme parallel uitgevoerdGroot aantal toepassingenVrij efficiënt
Geen configuratieMassaal parallelEén toepassingZeer efficiënt
+- * >
n 1 0
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 31
En allerlei tussenvormenEn allerlei tussenvormen
RfD$
I$Sw
ID
+
- *
>
Configuration
+|-|*|>| +-
* >
Sw
Processor Herconfigureerbaar ASIC
n 1 0
DSP-Processor Structured ASIC
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 32
OverzichtOverzicht
• Nood aan digitale verwerking van gegevens
• Voordelen van FPGA´s• Wat is een FPGA?• Hoe programmeer je een FPGA?• Toepassingen in PARIS
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 33
Hoe programmeer je een FPGA?Hoe programmeer je een FPGA?
110010001001110110110110110101111010010010000101001010111100011011
011010010010110010010010110111110101011010100101010001011110110110
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 34
Opstelling: FPGA-bord in computerOpstelling: FPGA-bord in computer
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 35
Hardware-beschrijving (VHDL)Hardware-beschrijving (VHDL)
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 36
Programma ontwerpt de hardwareProgramma ontwerpt de hardware
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 37
Resultaat van plaatsing (simulatie)Resultaat van plaatsing (simulatie)
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 38
Resultaat van plaatsing (simulatie)Resultaat van plaatsing (simulatie)
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 39
Resultaat van plaatsing (simulatie)Resultaat van plaatsing (simulatie)
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 40
Resultaat na configuratie (opgemeten)Resultaat na configuratie (opgemeten)
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 41
OverzichtOverzicht
• Nood aan digitale verwerking van gegevens
• Voordelen van FPGA´s• Wat is een FPGA?• Hoe programmeer je een FPGA?• Toepassingen in PARIS
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 42
Toepassingen in PARISToepassingen in PARIS
MP3-speler(studententhesis2001-2002)
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 43
Toepassingen in PARISToepassingen in PARIS
WaveletTransform
Motion VectorEncoding
MotionComp.
InverseWavelet T.
EntropyDecoding
Motion VectorDecoding
Ongecomprimeerdebeelden
Gecomprimeerdebeelden
Bewegings-schatting
Wavelet-transformatie
Entropie-encodering
Bewegingsvector-encodering
Inpakken
Bewegings-compensatie
Inversewavelettr.
Entropie-decodering
Bewegingsvector-decoding
Uitpakken
VerzendenbitstroomImplementatie schaalbare videocodec
Meer info: http://www.elis.UGent.be/resume/of [email protected]
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 44
Toepassingen in PARISToepassingen in PARISTransparante communicatie tussen Java en
herconfigureerbare hardware
JIT-compiler
HW-compilerBytecode
Geïnterpreteerd
Bitstroom
Meer info: [email protected]
Machine-code
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 45
ConclusiesConclusies
• 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 zeergeschikt voor KMO’s (en universiteiten)
Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 46
Vragen?Vragen?
Prof. Dirk Stroobandt
Universiteit GentVakgroep ELIS
Onderzoeksgroep PARIShttp://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.