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