Voordelen van FPGA's

23
Herconfigureerbare Hardware in Ieders Bereik Herconfigureerbare Hardware in Ieders Bereik Prof. Dirk Stroobandt Universiteit Gent Vakgroep ELIS Onderzoeksgroep PARIS http://www.elis.UGent.be/~dstr/ Dirk Stroobandt: FPGA's in ieders bereik 12 mei 2005 2 Overzicht Overzicht 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

Transcript of Voordelen van FPGA's

Page 1: Voordelen van FPGA's

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

Page 2: Voordelen van FPGA's

Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 3

Inleiding

Dirk Stroobandt: FPGA's in ieders bereik12 mei 2005 4

Inleiding

Page 3: Voordelen van FPGA's

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

Page 4: Voordelen van FPGA's

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

Page 5: Voordelen van FPGA's

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

Page 6: Voordelen van FPGA's

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

Page 7: Voordelen van FPGA's

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

Page 8: Voordelen van FPGA's

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

Page 9: Voordelen van 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

Page 10: Voordelen van FPGA's

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)

Page 11: Voordelen van FPGA's

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

Page 12: Voordelen van FPGA's

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

Page 13: Voordelen van FPGA's

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

Page 14: Voordelen van FPGA's

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

Page 15: Voordelen van FPGA's

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

Page 16: Voordelen van FPGA's

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

Page 17: Voordelen van FPGA's

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

Page 18: Voordelen van FPGA's

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

Page 19: Voordelen van FPGA's

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)

Page 20: Voordelen van FPGA's

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)

Page 21: Voordelen van FPGA's

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)

Page 22: Voordelen van FPGA's

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

Page 23: Voordelen van FPGA's

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.