Upload
doanlien
View
215
Download
0
Embed Size (px)
Citation preview
Seminar
REKONFIGURIERBARE HARDWARE-STRUKTUREN
Alexander GieseUniversität Mannheim
Lehrstuhl für Rechnerarchitektur23. November 2004
1
Gliederung1. ASIC/FPGA
1.1 ASIC, Vor/Nachteile1.2 FPGA, Vor/Nachteile1.3 ASIC vs. FPGA
2. FPGA2.1 Herkunft FPGA2.2 Aufbau FPGA (Xilinx)2.3 Virtex 4
3. Structured ASICs3.1 Warum?3.2 Aufbau Structural ASICs3.3 Besonderheiten
4. Embedded FPGA Cores 4.1 Eigenschaften und Aufbau?
5. Zusammenfassung
2
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
ASIC FPGAPreis Hoch NiedrigEntwicklungszeit Hoch NiedrigFertigungszeit Hoch NiedrigNRE-Kosten Hoch NiedrigFlexibilität Niedrig HochFläche Niedrig HochAusnutzung Hoch NiedrigGeschwindigkeit Hoch NiedrigStückkosten Niedrig Hoch
Gegenüberstellung Vor- und Nachteile ASIC/FPGA:
(Tab. 1) 6
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
(Abb. 1)
NRE-KostenASIC NRE-Kosten
FPGA
Kosten
Stückzahl
ASIC
FPGA
7
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
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
(Abb. 2) 11
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)
(Abb. 2)
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
(Abb. 3)
Schaltmatrix
Logik Block Logik Block
Logik Block
Makro Zellen 13
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 weiterevordefinierten Blöcke wie zB. DLLs und Power PCs.
14
FPGA(Field Programmable Gate Array)
Strucktureller Aufbau des FPGAs:
(Abb. 4)
IO-Zelle
CLB
RAM-Block
15
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:
(Abb. 5)
B
0
A 1
0 X = A * B
A B X0 0 00 1 01 0 01 1 1
16
CLB(Complex Logical Blocks)
Verschiedene Arten von CLBs:
- Sea of Gates:- konfigurierbare Transistoren erstellen die Schaltung- OR3/NOR3/AND3/No XOR3
(Abb. 6, 0.25 um Flash Memory Based FPGA For Space Applications, Actel) 17
CLB(Complex Logical Blocks)
Verschiedene Arten von CLBs:
- Lookup Tables:
- SRAMs (statischer Speicher) - Addresierung durch Eingangs- signal - Wert der Speicherzelle ist das Ergebnis
Bsp.: 4-fach AND
(Abb. 7)
00 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15
000000000000001
X1X2X3X4
Y
18
CLB(Complex Logical Blocks)
Vereinfachter Aufbau eines CLB von Xilinx (Spartan Serie) (Abb. 8):
I4 LUTI3 I2 QI1
Carry&
ControlLogic
SD QCK EC
R
I4 LUTI3 I2 QI1
Carry&
ControlLogic
SD QCK EC
R
G4G3G2G1
F5INBYSRF4F3F2F1
CINCLKCE
COUTYBY
YQ
XBX
XQ
19
Verbindungsnetzwerk
Hirarchicher Interconnect Xilinx (Virtex):
(Abb. 9)
Fast Connects
Direkt Connections
Horizontal Hex LinesVertical Hex LinesHorizontal Long LinesVertical Long Lines
20
Horizontal Double LinesVertical Double Lines
Verbindungsnetzwerk
Symmetrische Arrays:
- Logikblöcke in regelmäßiger Matrixstruktur verteilt- dazwischen Interconnect- Area- verschieden Lange direkte Verbindungen- Switchematrix an Kreuzungspunkten
- Bsp: Xilinx PSM = Programmable Switch Matrix
(Abb. 10)
CLB CLB
PSM PSM
CLB
CLB CLB CLB
PSM PSM
CLB CLB CLB
21
Virtex 4
Feature/Product
Logic Cells 200,448 55,296 142,128Total Block RAM (kbits) 6,048 5,760 9,936Digital Clock Managers (DCM) 12 8 20
8 4 8Max Differential I/O Pairs 480 320 448XtremeDSP™ Slices 96 512 192PowerPC Processor Blocks - - 2
- - 2RocketIO™ Serial Transceivers - - 24Configuration Memory Bits 50,648,448 24,088,320 50,900,352Max Select I/O™ 960 640 896
XC4VLX200
XC4VSX55
XC4VFX140
EasyPath™ Cost Reduction Solutions
XCE4VLX200
XCE4VSX55
XCE4VFX140
Phase-matched Clock Dividers (PMCD)
10/100/1000 Ethernet MAC Blocks
(Tab. 2, Homepage Xilinx) 23
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
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 ASIC SA FPGA Digital path performance ~400 Mhz >250 Mhz <125 Mhz Memory access performance ~300 Mhz >250 Mhz <100 Mhz Design time 9-18 months 6-9 months 6-9 months Implementation time 8-12 weeks 1-3 weeks Manufacturing time 8-10 weeks 4-6 weeks Overall development cost High Low Lowest Design flexibility Maximum Medium Minimum Annual volumes >100K/year >5K/year <5K/year Typical unit pricing Lowest Low High
<20M gates <5M gates <<1Mgates(Tab. 3, Basics of Design (LSILOGIC), 15 März 2004)
Typical design size(ASIC gates)
28
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):
(Abb. 13 Structured ASICS, Opportunities and Challenges; Behrooz Zahiri ) 31
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 ):
(Abb. 15 Structured ASICS, Opportunities and Challenges; Behrooz Zahiri ) 33
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:
(Abb. 17) 38
VCC VDD
HyperBlox FP- HyperRoute Multiplexor & SRAM
HyperBlox MP- HyperVia Single Layer Via
Embedded FPGAsProbleme:- 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 FPGAsVariCore FPGA IP-Zelle des Herstellers Actel:
41
- Aufbau 2x1 bis 4x4- konfigurierbar durch JTAG, PROM, CPU- ein Peg 2,5K ASIC gates
(Abb. 18, VariCore Embedded Programmable Gate Array Core (EPGA) , Actel)
Embedded FPGAsAufbau einer PEG-Zelle (8x8 FG-Zellen(functional group)):
42 (Abb. 19, VariCore Embedded Programmable Gate Array Core (EPGA) , Actel)
Embedded FPGAsAufbau einer FG-Zelle, 4 LUs (logic units):
43 (Abb. 20, VariCore Embedded Programmable Gate Array Core (EPGA) , Actel)
Embedded FPGAsAufbau einer Logic Unit:
44 (Abb. 21, VariCore Embedded Programmable Gate Array Core (EPGA) , Actel)
Zusammenfassung
45
Kosten
Stückzahl
FPGA
SA
ASIC
100.0005.000(Abb. 22, Zahlen Basics of Design (LSILOGIC), 15 März 2004
Zusammenfassung
46
Geschwindigkeit
Flexibilität
ASIC
SA
FPGA
ASIC embedded FPGA
SA with FP-Blocks
(Abb. 22)
Literatur
46
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