Herconfigureerbare Hardware in Ieders Bereik

advertisement
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
Download