Seminar - Computer Architecture Group

Transcrição

Seminar - Computer Architecture Group
Seminar
REKONFIGURIERBARE HARDWARESTRUKTUREN
Alexander Giese
Universität Mannheim
Lehrstuhl für Rechnerarchitektur
23. November 2004
1
Gliederung
1. ASIC/FPGA
1.1 ASIC, Vor/Nachteile
1.2 FPGA, Vor/Nachteile
1.3 ASIC vs. FPGA
2. FPGA
2.1 Herkunft FPGA
2.2 Aufbau FPGA (Xilinx)
2.3 Virtex 4
3. Structured ASICs
3.1 Warum?
3.2 Aufbau Structural ASICs
3.3 Besonderheiten
4. Embedded FPGA Cores
4.1 Eigenschaften und Aufbau?
5. Zusammenfassung
2
FPGA/ASIC
3
ASIC
(Application Specific Integrated Circuit)
Was ist ein ASIC?
- für ein genau definiertes, anwendungsspezifisches Problem
entworfen und hergestellter Chip
Vorteile:
- genau auf die Problemstellung zugeschnittene Lösung in Hardware
- hohe Taktrate (schnell)
- wenig Platz (kompaktes Design)
- gute Siliziumausnutzung (wenig ungenutzte Fläche)
- geringe Stückkosten (nach den NRE-Kosten)
Nachteil:
- lange Entwicklungszeit
- hohe Entwicklungskosten
- unflexibel bei Designänderungen
4
FPGA
(Field Programmable Gate Array)
Was ist ein FPGA?
- besteht aus logischen Einheiten
- diese sind individuell einstellbar (SRAM)
- mit konfigurierbarem Netzwerk verbunden
Vorteile:
- auf mehrere Probleme anpassbar
- immer wieder schnell rekonfigurierbar
- schnelle Entwicklungszeit
- geringe Entwicklungskosten
Nachteile:
- langsamer Takt
- große Chipfläche
- oft viele Logikzellen ungenutzt oder FPGA zu klein
- hohe Stückkosten
5
ASIC vs. FPGA
Gegenüberstellung Vor- und Nachteile ASIC/FPGA:
Preis
Entwicklungszeit
Fertigungszeit
NRE-Kosten
Flexibilität
Fläche
Ausnutzung
Geschwindigkeit
Stückkosten
6
ASIC
Hoch
Hoch
Hoch
Hoch
Niedrig
Niedrig
Hoch
Hoch
Niedrig
(Tab. 1)
FPGA
Niedrig
Niedrig
Niedrig
Niedrig
Hoch
Hoch
Niedrig
Niedrig
Hoch
Kostengegenüberstellung
NRE-Kosten (Non recovering Engineering). Kosten für die Entwicklung
und Vorbereitung eines Chips bis zur Fertigung.
Gegenübergestellt sind die Herstellungskosten eines FPGAs und ASICs
Kosten
FPGA
ASIC
NRE-Kosten
ASIC
NRE-Kosten
FPGA
7
(Abb. 1)
Stückzahl
Zusammenfassung
ASICs:
verwenden wenn:
- festes Problem
- grosse Stückzahl
- Lösung mit FPGA ungenügend (zu langsam, zu gross, zu teuer)
FPGAs:
verwenden wenn:
- Applikation nicht zu komplex
- Stückzahl gering
- Änderungen an der Apllikation nach Ausgabe
8
FPGA
9
Geschichte des FPGAs
Geschichte:
- 1960 Estrin´s „fixed plus variable structure computer“
- 1970 PLD (programmable logic device)
- 1985 Field Programmable Gate Arrays
- 1990 multi-FPGA CCM's (custom computing machines)
Ehemalige Herausforderung war es, etwas zu entwickeln, was so
schnell ist wie Hardware aber so flexibel ist wie Software.
Vorläufer Bauteile des FPGAs:
- PLD
- CPLD (complex programmable logic device)
10
PLD
(Programmable Logic Devices)
PLD:
- durch eine zweistufige UND/ODER-Matrix programmierbar
- UND-Matrix bildet aus den Eingangssignalen Produktterme
- ODER-Matrix verknüpft die Produkterme disjunkt
11
(Abb. 2)
PLD
(Programmable Logic Devices)
Man erhält so eine DNF (disjunktive Normalform) der Eingangssignale.
Bsp. DNF: (ab)+(cd)+(bc)
Vorteile:
- günstige Standardbausteine => hohe Stückzahlen
- regelmäßige Matrixstruktur => hohe Dichte
Verschiedene Arten:
- PLA (UND-Matrix und ODER-Matrix konfigurierbar)
- EPROM (UND-Matrix fest, ODER-Matrix konfigurierbar)
- PAL (UND-Matrix konfigutierbar, ODER-Matrix fest)
12
CPLD
(Complex Programmable Logic Devices)
CPLD:
- Logikblöcken
- Logikblöcke bestehen aus PAL-ähnlichen Makro-Blöcken
- Makro-Blöcke über eine Schaltmatrix verbunden
Logik Block
Logik Block
Schaltmatrix
Logik Block
Makro Zellen
13
(Abb. 3)
FPGA
(Field Programmable Gate Array)
Aufbau des FPGAs:
- besteht aus mehreren Logikblöcken
- mit einem konfigurierbarem Netzwerk
Diese Logikblöcke nennt man bei Xilinx CLBs (Complex Logical Blocks)
Verschiedener Aufbau von CLBs:
- Multiplexer
- Sea of Gates
- Lookup Tables (LUTs)
Ein FPGA enthält zusätzlich noch IO-Zellen, RAM-Blöcke und weitere
vordefinierten Blöcke wie zB. DLLs und Power PCs.
14
FPGA
(Field Programmable Gate Array)
Strucktureller Aufbau des FPGAs:
IO-Zelle
CLB
RAM-Block
15
(Abb. 4)
CLB
(Complex Logical Blocks)
Verschiedene Arten von CLBs:
- Multiplexer:
- Ausgangssignal wird aus den Eingangssignalen eines Multiplexers
ausgewählt
- Ansteuereingang des Multiplexers wird von einem Signal der
Anwenderschaltung angesteuert
Beispielaufbau einer UND-Funktion mit einem Multiplexer:
B
16
0
0
A
1
X=A*B
(Abb. 5)
A
0
0
1
1
B
0
1
0
1
X
0
0
0
1
CLB
(Complex Logical Blocks)
Verschiedene Arten von CLBs:
- Sea of Gates:
- konfigurierbare Transistoren erstellen die Schaltung
- OR3/NOR3/AND3/No XOR3
17
(Abb. 6, 0.25 um Flash Memory Based FPGA For Space Applications, Actel)
CLB
(Complex Logical Blocks)
Verschiedene Arten von CLBs:
- Lookup Tables:
- SRAMs (statischer Speicher)
- Addresierung durch Eingangssignal
- Wert der Speicherzelle ist das
Ergebnis
Bsp.: 4-fach AND
18
X1
X2
X3
X4
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
(Abb. 7)
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
Y
CLB
(Complex Logical Blocks)
Vereinfachter Aufbau eines CLB von Xilinx (Spartan Serie) (Abb. 8):
G4
G3
G2
G1
F5IN
BY
SR
F4
F3
F2
F1
CIN
CLK
19 CE
I4
I3
I2
I1
COUT
YB
Y
LUT
Q
Carry
&
Control
Logic
S
D
CK
EC
Q
YQ
R
I4
I3
I2
I1
XB
X
LUT
Q
Carry
&
Control
Logic
S
D
CK
EC
Q
R
XQ
Verbindungsnetzwerk
Hirarchicher Interconnect Xilinx (Virtex):
Fast Connects
Direkt Connections
Horizontal Double Lines
Vertical Double Lines
Horizontal Hex Lines
Vertical Hex Lines
Horizontal Long Lines
Vertical Long Lines
20
(Abb. 9)
Verbindungsnetzwerk
Symmetrische Arrays:
CLB
CLB
PSM
CLB
PSM
CLB
PSM
CLB
21
CLB
CLB
PSM
CLB
(Abb. 10)
CLB
- Logikblöcke in regelmäßiger
Matrixstruktur verteilt
- dazwischen InterconnectArea
- verschieden Lange direkte
Verbindungen
- Switchematrix an
Kreuzungspunkten
- Bsp: Xilinx
PSM = Programmable
Switch Matrix
Verbindungsnetzwerk
Aufbau einer PSM:
Path Transistor
22
PSM
(Abb. 11)
Virtex 4
Feature/Product
EasyPath™ Cost Reduction
Solutions
Logic Cells
Total Block RAM (kbits)
Digital Clock Managers (DCM)
Phase-matched Clock Dividers
(PMCD)
Max Differential I/O Pairs
XtremeDSP™ Slices
PowerPC Processor Blocks
10/100/1000 Ethernet MAC
Blocks
RocketIO™ Serial Transceivers
Configuration Memory Bits
Max Select I/O™
23
XC
4VLX200
XCE
4VLX200
200,448
6,048
12
XC
4VSX55
XCE
4VSX55
55,296
5,760
8
XC
4VFX140
XCE
4VFX140
142,128
9,936
20
8
480
96
-
4
320
512
-
8
448
192
2
50,648,448
960
24,088,320
640
2
24
50,900,352
896
(Tab. 2, Homepage Xilinx)
Virtex 4
• 500 MHz XtremeDSP Slices (SX Serie)
- Dedicated 18-bit x 18-bit multiplier, multiply-accumulator, or
multiply-adder blocks
- Optional 48-bit accumulator for multiply accumulate (MACC)
operation
- Integrated adder for complex-multiply or multiply-add operation
- Up to 100% speed improvement over previous generation devices.
24
Virtex 4
• Embedded PowerPC 405 (PPC405) core (FX-Serie)
- Up to 450 MHz operation
- Five-stage data path pipeline
- 16 KB instruction and 16 KB data cache
- MMU mit TLB
25
Structured ASIC
26
Warum Structured ASICs?
Was ist ein Structured ASIC (SA)?
- Logikeinheiten und Macros standartmäßig vorgefertigt
- nur Verdrahtung der oberen Metalllagen wird vom Kunden festgelegt
Warum Structured ASIC?
- schliesst die Lücke zwischen der Entscheidung ob FPGA oder ASIC
- hohen Stückkosten des FPGA
- hohen Maskenkosten des ASIC
Structured-ASIC:
- NRE-Kosten etwa ein Zehntel eines vergleichbaren ASIC-Designs
- fast identische Leistung eines ASICs
- Stückkosten vielfache niedriger als für ein vergleichbares FPGA
27
Warum Structured ASICs?
Vergleich von ASIC, Structured ASIC, FPGA
Characteristics
Digital path performance
Memory access performance
Design time
Implementation time
Manufacturing time
Overall development cost
Design flexibility
Annual volumes
Typical unit pricing
Typical design size(ASIC gates)
ASIC
~400 Mhz
~300 Mhz
9-18 months
8-12 weeks
8-10 weeks
High
Maximum
>100K/year
Lowest
<20M gates
SA
>250 Mhz
>250 Mhz
6-9 months
1-3 weeks
4-6 weeks
Low
Medium
>5K/year
Low
<5M gates
(Tab. 3, Basics of Design (LSILOGIC), 15 März 2004)
28
FPGA
<125 Mhz
<100 Mhz
6-9 months
Lowest
Minimum
<5K/year
High
<<1Mgates
Aufbau Structured ASIC
I/O
Sea-of-tiles
RAM-Block
Clock-Tree
29
(Abb. 12)
Aufbau Structured ASIC
Vorgefertigte Bestandteile:
- Matrix von Tiles (sea of tiles)
- konfigurierbare general-purpose I/O
- Mikroprozessokerne
- Gigabit Transceivers
- eingebettete RAM-Blöcke
- ...
30
Arten von Tiles
fine-grained tiles ( Transistoren, Widerstände):
31
(Abb. 13 Structured ASICS, Opportunities and Challenges; Behrooz Zahiri )
Arten von Tiles
medium-grained tiles ( Mux, LUT ):
(Abb. 14 Structured ASICS, Opportunities and Challenges; Behrooz Zahiri )
32
Arten von Tiles
coarse-grained tiles ( generic logic ):
33
(Abb. 15 Structured ASICS, Opportunities and Challenges; Behrooz Zahiri )
Nachteil Structured ASIC
Nachteile Structured ASIC
- teure, nicht speziell auf Structured ASIC zugeschnittene Design
Tools, müssen verwendet werden
- neue Architekturformen, die mit den Structured ASICs erschienen
sind, sind noch nicht formell ausgewertet und vergleichbar analysiert
34
Zusammenfassung Structured ASIC
Zusammenfassung:
- niedrige Entwicklungskosten
- schnelle Fertigung
- hohe Integrationsdichte
- gute Performance
- geringer Stromverbrauch
- geringe Stückkosten schon bei mittleren Stückzahlen
35
Besonderheiten Structured ASIC
Structured ASICs mit rekonfigurierbaren Blöcken (Gladiator CLD):
(Abb. 16, Product Brief Gladiator CLD, Leopard Logic)
36
Besonderheiten Structured ASIC
Features Gladiator CLD25000 (configurable logic design):
- 500 Mhz system speed
- 25.600.000 System Gates
- 256K MP-Cells (metal programmable)
- 16K FP-Cells (field programmable)
- 256 36K DPRAMs
- 256 18x18 MACs
- 16 PLL/DLL
37
Besonderheiten Structured ASIC
Aufbau MP-Zelle/FP-Zelle:
HyperBlox MP
- HyperVia
Single Layer Via
HyperBlox FP
- HyperRoute
Multiplexor & SRAM
VCC VDD
38
(Abb. 17)
Embedded
FPGAs
39
Embedded FPGAs
Probleme:
- Herstellungsprozess des FPGAs IP-Cores (intelectual property) muss mit
dem Herstellungsprozess des ASICs kombiniert werden
- der eingebettete FPGA darf nicht alle Metallagen beanspruchen
- Powerversorgung des FPGA muss gewährleistet sein
Vorteile:
- risikoreiche Funktionsblöcke können auf das FPGA abgebildet werden
- Protokolle sind im Feld anpassbar
- reduzierte Supportkosten (Firmwareupdate)
- Designfehler können im Feld behoben werden
40
Embedded FPGAs
VariCore FPGA IP-Zelle des Herstellers Actel:
- Aufbau 2x1
bis 4x4
- konfigurierbar
durch JTAG,
PROM, CPU
- ein Peg 2,5K
ASIC gates
41
(Abb. 18, VariCore Embedded Programmable Gate Array Core (EPGA) , Actel)
Embedded FPGAs
Aufbau einer PEG-Zelle (8x8 FG-Zellen(functional group)):
42
(Abb. 19, VariCore Embedded Programmable Gate Array Core (EPGA) , Actel)
Embedded FPGAs
Aufbau einer FG-Zelle, 4 LUs (logic units):
43
(Abb. 20, VariCore Embedded Programmable Gate Array Core (EPGA) , Actel)
Embedded FPGAs
Aufbau einer Logic Unit:
44
(Abb. 21, VariCore Embedded Programmable Gate Array Core (EPGA) , Actel)
Zusammenfassung
Kosten
FPGA
SA
ASIC
5.000
100.000
(Abb. 22, Zahlen Basics of Design (LSILOGIC), 15 März 2004
45
Stückzahl
Zusammenfassung
Geschwindigkeit
ASIC
ASIC
embedded FPGA
SA
SA with
FP-Blocks
FPGA
(Abb. 22)
46
Flexibilität
Literatur
Paper:
- Product Brief, Gladiator , Leopard Logic
- White Paper, Configurable Logic Devices, Leopard Logic
- VariCore Embedded Programmable Gate Array Core, Actel
- The Actel Embedded FPGA Core, Actel
- A Hybrid ASIC and FPGA Architekture, P.S. Zuchowsky, C.B.
Reynolds...
- Einbindung von programmierbarer Logik in SoC-Desings, Design &
Verification
- White Paper, IBM Licenses Embedded FPGA Cores from Xilinx for use
in SoC ASICs
- Proseminar, Geschichte nd Einführung in Aufbau und Arbeitsweise von
FPGA, Matthias Fuchs
- Reconfigurable Hardware: FPGA Devices, Alex Plotkin
- Reconfigurable Computer Origins: The UCLA Fixed-Plus-Variable
(F+V) Structure Computer, Gerald Estrin
- Skript, DST, Prof. Dr. P. Fischer
46
Literatur
Homepages:
- www.xilinx.com
- www.actel.com
- www.leopardlogic.com
- www.ibm.com
- http://sus.ti.uni-mannheim.de
46