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
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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)
• 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?
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.