Synthese Eingebetteter Systeme Wintersemester 2012/13. 8 FPGAs

Ähnliche Dokumente
Synthese Eingebetteter Systeme. 8 FPGAs

Teil 1: Digitale Logik

Übersicht aktueller heterogener FPGA-SOCs

Cswitch Seminar. HWS 08 Von Andreas Peters. Cswitch Seminar, Andreas Peters

Fakultät für Informatik Informatik 12. technische universität dortmund. FPGA-Programming. P. Marwedel Informatik 12, U. Dortmund

Teil 1: Digitale Logik

IHS2 Seminar. Einführung Zusatzfolien A. Integrated HW/SW Systems Group. IHS2 Seminar 06 November 2009 Self-Organization 19 November

Hardware Programmierbare Logik

EyeCheck Smart Cameras

Programmierbare Logik CPLDs. Studienprojekt B Tammo van Lessen

FPGA Systementwurf. Rosbeh Etemadi. Paderborn University. 29. Mai 2007

Emulation und Rapid Prototyping

Emulation und Rapid Prototyping. Hw-Sw-Co-Design

FPGA. Field Programmable Gate Array

F Programmierbare Logikbausteine

13 Programmierbare Speicher- und Logikbausteine

Ein Vortrag von Kamal Laghmari im Fach: Technische Informatik

Outline Schieberegister Multiplexer Zähler Addierer. Rechenschaltungen. Marc Reichenbach und Michael Schmidt

F Programmierbare Logikbausteine

XILINX ISE WEBPACK und DIGILENT BASYS2

COOL HASHING MIT FPGAS. Robert Bachran

Programmierbare Logik mit GAL und CPLD. Einführung in die Schaltungsentwicklung mit Logikbausteinen in ISP-Technologie von Christian Ellwein

Open Source - Mikrokontroller für Mixed Signal ASIC

R&R. Ges. für Rationalisierung und Rechentechnik mbh. R&R Industrie-Hutschienen PC IPCH101. ca. 335 x 200 x 160 mm. Remote-Anschluß für Bedienpanel

Tristate Buffer / erste Module

230 V AC oder 24 V DC. hinter entspiegelter Glasscheibe

Analyse von Ansätzen zur Beschleunigung von SAT - Lösern durch dedizierte Hardware Komponenten

Übung Hardwareentwurf

Embedded Linux für SoC Applikationen

FPGA - aktuelle Bausteine und ihre Anwendungen von Altera

Realisierung einer 32'768-Punkt-FFT für 2 GBytes/s Datenrate auf einem FPGA

Entwicklung eines Lehrpraktikums auf Basis der Zynq-Plattform

IHS2 Seminar. Einführung. Integrated HW/SW Systems Group. IHS2 Seminar 06 November 2009 Self-Organization 06 November

Modul A. Modul B. Bisheriger Ansatz für dynamisch und partiell rekonfigurierbare Systeme. Slot 0 Slot 1. Prozessor. Dynamischer Bereich

Software ubiquitärer Systeme

- Messdaten herunterladen - Diagnosis and Analysis of measuring data. - Download of measuring data

F. Technologische Grundlagen

Teil 1: Digitale Logik

AVT Spartan-3E Development Kit AVT DK S3E-500 (V1.0)

Self-aware Memory: Hardware-Prototyp eines Prozessorknotens

Entwurf und Optimierung heterogener ASIP-eFPGA-Architekturen

4.Vorlesung Rechnerorganisation

Rechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 14/15

Rekonfigurierbare Prozessoren

Technische Informatik für Ingenieure

Embedded Touch Panel PC OTP/57V

D. Programmierbare Logik

BitRecords FPGA Modul XC6SLX25_V2.0, Mai2013 1

Messsysteme für den SwissFEL

Digitaltechnik II SS 2007

Anwenderprogrammierbare

Technische Grundlagen der Informatik Kapitel 5. Prof. Dr. Sorin A. Huss Fachbereich Informatik TU Darmstadt

Hybride Apps DPR und Android auf dem Xilinx ZYNQ. Endric Schubert, Missing Link Electronics Fabian Zentner, Univ. Ulm

Hardware Praktikum 2008

AVT Spartan-3A DSP Development Kit Kurzbeschreibung AVT DK S3ADSP-1800 (V1.0)

High Performance Embedded Processors

FPGA-Based Architecture for Pattern Recognition

Analyse verschiedener HLS-Systeme in Hinblick auf ihren Umgang mit der Hochsprachenabstraktion Speicher. Sascha Kath

IHS2 Seminar CFG. Steffen Ostendorff Zusebau, R2078, Tel: -1788

Configurable Embedded Systems

3. Hardware CPLD XC9536 von Xilinx. CPLD / FPGA Tutorial

Technische Grundlagen der Informatik

Datenblatt: TERRA PC-GAMER ,00. Gaming-PC mit 120GB SSD + NVIDIA GTX 970 Grafik. Zusätzliche Artikelbilder IT. MADE IN GERMANY

Seminar REKONFIGURIERBARE HARDWARE- STRUKTUREN. Alexander Giese Universität Mannheim Lehrstuhl für Rechnerarchitektur 23.

5 Zusammengesetzte und reguläre Schaltungsstrukturen

Manual Universaladapterboard für Spartan3_Board

FPGA. Übersicht der Aktuellen Bausteine. Inhaltsverzeichnis. 1. Einführung 1.1 Was ist ein FGPA?

Tickt ihr Board noch richtig? Frequenzmessung durch ChipVORX als Ergänzung zum Boundary Scan Test. Dipl.-Ing. (FH) Martin Borowski

Datenblatt - Fiche technique - Data sheet

Teil V. Programmierbare Logische Arrays (PLAs)

Einleitung_. FPAAs Field Programmable Analog Arrays. (1) Was sind FPAAs? (2) Wie funktionieren FPAAs? (3) Stand der Technik heute?

Verkaufspreisliste März Apogee Digital Clocking

Entwurf von digitalen Schaltungen und Systemen mit HDLsundFPGAs

SENYO MINI PC 1000MP. II Intel Core i3/i5 Prozessor. II Intel HD-Grafik 520. II 1 x msata M.2

ASIC Application-Specific Integrated Circuit

Realisierung einer MC-basierten Optionspreisberechnung mit FloPoCo

REKONFIGURIERBARE ARCHITEKTUREN. Robert Rasche

Entwurf eines FPGA-Cores zur Simulationsbeschleunigung zeitkontinuierlicher Modelle im HiL Kontext

Programmierbare Logik für die Displayansteuerung

JAEMACOM Berlin. Benjamin Schantze IGEL Technology GmbH

Datenblatt: TERRA PC-HOME Zusätzliche Artikelbilder IT. MADE IN GERMANY. Technische Änderungen und Irrtümer vorbehalten. Keine Mitnahmegarantie.

. EMC Folie: 1 Prof. Dr.-Ing. Alfred Rozek Berlin. SoC. Rapid Prototyping VoIP

Testbericht Thomas-Krenn.AG Open-E DSS

Analyse von Ansätzen zur Beschleunigung von SAT - Lösern durch dedizierte Hardware Komponenten

EHP Einführung Projekt A

NI crio - Chassis von National Instruments Preisliste

Newsletter August 2007

Boundary Scan Days 2009

Einführung in die Elektronik für Physiker

Einführung in die technische Informatik

Das große All-in-All CPLD/FPGA Tutorial

Quality control and process tracking. From concept to acceptance.

HW/SW Codesign für Real-time Ethernet basierte Steuergeräte

Entwurf digitaler Schaltungen Groÿe Übung 2 VHDL und FPGAs

Entwurf digitaler Schaltungen Groÿe Übung 2 VHDL und FPGAs

TW-75-IP40Trackball. Trackball module of industrial applications, ball diameter 75 mm, degree of protection IP40. Description

EyeScan AT 3D. Technische Daten. Bis zu Hz (je nach Modell) Bis zu 4096 Punkte / Profile (je nach Modell)

Eingebettete Taktübertragung auf Speicherbussen

Transkript:

2 Synthese Eingebetteter Systeme Wintersemester 22/3 8 FPGAs Michael Engel Informatik 2 TU Dortmund 22//9

FPGAs Energieeffizienz FPGA: Strukturen und Routing Virtex 5 XUPv5-Board Anschlüsse Konfiguration 2, 2-2-

s pili h P: ys et r uo C 72, CE M I, na M e D ogu H Joule Bedeutung der Energieeffizienz IPE=Inherent power efficiency AmI=Ambient Intelligence 2, 2-3-

Probleme der Hardwareimplementierung Mangelnde Flexibilität (sich ändernde Standards) Maskenkosten für Spezial-HW sind extrem hoch Spezialhardware für viele Anwendungen nicht machbar, aber dennoch ist Energieeffizienz wichtig! [http://www.molecularimprints.com/technology/ tech_articles/mii_coo_nist_2.pdf9] 2, 2-4-

Rekonfigurierbare Logik Full custom chips sind zu teuer, Software zu langsam. Geschwindigkeit von HW mit Flexibilität von SW vereinen HW mit programmierbaren Funktionen + Verbindungen Verwendung konfigurierbarer Hardware; üblich: field programmable gate arrays (FPGAs) Anwendungen: bit-orientierte Algorithmen wie Verschlüsselung, Schnelle Objekterkennung (Medizin, Militär), Anpassung von Handy auf verschiedene Standards. Verschiedene Hersteller Xilinx (z.b. Virtex 5) Altera, Actel, Lattice und einige mehr 2, 2-5-

FPGA Field Programmable Gate Array = (Anwendungs-)Feld programmierbare (Logik-)Gatter-Anordnung Wieso programmierbar?!? Programm = Festlegung der Konfiguration Vergleiche FLASH-Speicher, E(E)PROMs Definiert grundlegende Funktionsweise und Verschaltung Nicht (primär) Definition zeitlicher Abläufe Besser: konfigurierbar Funktionsprinzip SRAM-basierte Konfiguration: Xilinx, Altera FLASH-basierte Konfiguration: Actel, Lattice 2, 2-6-

SRAM-basierte FPGA-Strukturen Grundstruktur Array von Blöcken aus jeweils Look-Up-Table (LUT): SRAM-Speicher und -Bit-Register (Flipflop) LUTs können beliebige n-stellige Binärfunktion realisieren n = Größe der LUT: 4-LUT = 4 Eingangsbits Programmierung (Konfigurierung) Speichern der Wahrheitstabelle in LUT-SRAM Funktionsberechnung Auslesen der Speicheradresse, die Eingang entspricht 2, 2-7-

Beispiel: 4-LUT Realisierung der Funktion y = f(lut) = x * x2 * not(x3) * x4 Erstellen der Wahrheitstabelle LUT-Inhalt: 6 Resultatbits y an Adressen 5: x x2 x3 x4 y Wie sieht Konfiguration bei Fkt. mit nur 3 Variablen aus? 2, 2-8-

Verbindungsstrukturen Verschaltung der LUTs (relativ) frei konfigurierbar Multiplexer-Strukturen in einzelnen Blöcken Realisierung sehr schneller lokaler Verbindungen Einbindung oder Umgehung des Flipflops Rückkopplung von FF-Ausgang an Eingang Verbindung mit Nachbarblöcken Verbindungen über größere Entfernungen Gitter aus Busstrukturen zwischen Blöcken Anschließbar an Ein- und Ausgänge Programmierbare Elemente in Knoten 2, 2-9-

Weitere FPGA-Elemente I/O-Blöcke Verbindung der FPGA-Anschlüsse mit Schaltmatrix An Anwendung anpaßbar: Signalpegel, Zeitverhalten Xilinx: Konfigurierbar in UCF-Datei (User Constraints File) Taktaufbereitung Synchroner Takt an allen Stellen des Chips Taktteilung oder Taktvervielfachung Xilinx: DCM: Digital Clock Manager Vervielfachung des Taktes durch PLL (Phase Locked Loop) 2, 2 - -

Weitere FPGA-Elemente Speicherblöcke SRAM-Komponenten : Block RAM Feste Kapazität in kbit Xilinx: z.b. 8 kbit Variable Breiten 8/9/6/8/32/36 Bit Extra -Bits für Parity/ECC Oft: Dual Port Zwei gleichzeitige Schreib-/ Lesezugriffe 2, 2 - -

Weitere FPGA-Elemente Fest verdrahtete Funktionen Beschleunigung häufig benötigter Funktionen, die als LUTs große Flächen auf FPGA belegen z.b. Multiplizierer/DSP-Blöcke, Schieberegister Hard Cores Fest verdrahtete Prozessorkerne ( 4) Ideal für Systems-on-Chip Weniger Fläche, höherer Takt als LUT-Realisierung LUT-Version eines Prozessors: Soft Core Xilinx: PowerPC 45 (Virtex II/4/5FXT), ARM Cortex-A9 Analogkomponenten Spezial-FPGAs mit A/D- und D/A-Wandlern 2, 2-2 -

DSP-Slice Unterstützung für Signalverarbeitungsanwendungen 25-x8-Bit Multiplizierer, 48-Bit Addierer, kaskadierte Ein-/Ausgänge 2, 2-3 -

Schieberegister-Konfiguration Slices können als Schieberegister konfiguriert werden 2, 2-4 -

FPGA-Matrix Logikblöcke (LB) Funktionen Routing-Kanäle (C) Verbindung Switches (S) Konfiguration der Verbindung I/O-Blöcke Kommunikation mit Außenwelt 2, 2-5 -

Architektur der Logikblöcke Mehrere Basis-Logikelemente (BLE = LUT+FF+MUX) bilden zusammen Logikgruppe 2, 2-6 -

Logikgruppen Logikgruppen sind vollständig verbunden Jeder der I Eingänge und N Ausgänge der Logikgruppe kann mit jedem Eingang (..k) des LUTs verbunden werden Realisiert durch Multiplexer an den BLE-Eingängen Anzahl der Eingänge einer Logikgruppe: 2, 2-7 -

Verschaltung der Logikgruppen Ein-/Ausgänge (I/O) von Logikgruppen in 4 Ebenen an den jeweiligen Seiten verschaltbar 2, 2-8 -

Architektur der Verbindungskanäle Horizontale und vertikale Routing-Kanäle zwischen Zeilen und Spalten von Logikblöcken (LB) Channel-Teil, das zu LB benachbart ist: Channel-Segment Besteht aus W Leitungen (Wires) = Channel-Breite Aktuelle FPGAs: alle Channels mit gleicher Breite Routing-Architektur meist unidirektional Jede Verbindung im FPGA hat eine Quelle, selektiert durch Multiplexer und Tri-State-Puffer 2, 2-9 -

Eigenschaften der Verbindungskanäle Leitungslänge L: Anzahl der Leitung umgebenden LBs Abb.: L=2 Beste Ergebnisse erzielbar durch Leitungen mit L=4 / 8 Xilinx Virtex 4 L=6: 66% der Leitungen L=2: 22% der Leitungen L=24: 3% der Leitungen (gesamte Höhe/Breite des FPGA) 2, 2-2 -

Schaltelemente Verbindung der Channel-Segmente (horizontal und vertikal) durch Schaltelemente (S) Leitung mit zu S benachbartem Channelsegment kann mit Leitung in jedem anderen mit S benachbarten Segment verbunden werden Realisiert durch programmierbare Schaltelemente (Switches) und Multiplexer Flexibilität des Schaltelements definiert durch Anzahl der Ausgangsleitungen Verbindung zwischen LBs und RoutingSegmenten durch Connection Blocks (C) Zwischen LB-Eingang und Leitung Zwischen LB-Ausgang und Leitung 2, 2-2 -

Virtex 5 Routingarchitektur Logikblöcke in Virtex 5: CLB (Configurable Logic Blocks) Bestehen aus zwei Slices Je Slice 4 LUT-Elemente mit je 6 Eingängen (6-LUTs) 2, 2-22 -

Struktur des Slice-Elements 2, 2-23 -

Virtex 5: LUT-Architektur Ältere Xilinx-FPGAs: 4-LUTs statt 6-LUTs Größe der LUTs abhängig von Technologie Virtex 4: 9nm Strukturbreite Virtex 5: 65nm Bei 65nm: 6-LUTs bieten besseres Verhältnis von Chipfläche zu Leitungsverzögerungen 2, 2-24 -

Virtex 5: Routingkapazitäten Abhängigkeit zwischen Anzahl der Logikkomponenten in einem LB und der erforderlichen Anzahl an Verbindungen zu anderen LBs des Chips Rent s Rule [4]: T: Anzahl Anschlüsse ( Pins an allen vier Seiten des LB) C: Anzahl interner Komponenten des LB t: durchschnittliche Anzahl Anschlüsse in einzelnem LB Rent-Konstante p: Logikkomplexität des LB Rent-Exponent Im Bereich,5,75 2, 2-25 -

Virtex 5: Routingkapazitäten Vergleich LB von Virtex 4 Virtex 5 Anzahl LUT-Eingänge bei Virtex 5 5% höher (4-LUTs vs. 6-LUTs) 2, 2-26 -

Virtex 5: Routingarchitektur Nach Rent s Rule: 5% mehr Links in Virtex 5 notwendig Wenn Routing-Struktur des Virtex 4 beibehalten Nur schwer realisierbar > hoher Verbrauch an Fläche Neue Routingstruktur Diagonally symmetric interconnect pattern Reduziert Delays LBs mit kleinerer Anzahl hops (Schaltelemente) erreichbar 2, 2-27 -

Virtex 5: Routingarchitektur Erreichbarkeit in Abh. von Anzahl der hops Vergleich der Routing-Verzögerungen: Virtex 4 Virtex 5 2, 2-28 -

Virtex 5: Routingarchitektur Diagonale Strukturen erfordern neue Segmentarten Traditionell: Länge double (erreichen 2 LBs), hex (6 LBs) und long (alle LBs in Zeile oder Spalte) Jetzt: Segmente der Länge double (2 LBs), pent (5 LBs) und long Einige der pent -LBs sind L-förmig Erreichen 3 oder 4 LBs auf horizontalem Channel und oder 2 LBs auf vertikalem Channel Einfachere Realisierung der diagonalen Strukturen 2, 2-29 -

Digital Clock Manager Realisierung von Frequenzsynthese, Phasenverschiebung, Spread Spectrum (Frequenzverteilung über bestimmte Bandbreite) Auf- und Abwärtsskalierung des Eingangstaktes (um einstellbaren Faktor n/m mit C_CLKFX_MULTIPLY, C_CLKFX_DIVIDE) Phasenverschiebung um 9/8/27 2, 2-3 -

Taktverteilung Bis zu 32 globale Takte verfügbar 8 Takte/Quadrant nutzbar, organisiert in Taktspalten 2, 2-3 -

Ressourcen verschiedener Virtex 5 FPGAs High-End-FPGA-Familie mit verschiedenen Eigenschaften noch aktueller: Virtex 6, 7 Preis: bis mehrere pro Chip 2, 2-32 -

Low-End-FPGAs Xilinx Spartan 3/6-Serie Geringere Kapazitäten, weniger Spezialfunktionen Günstige Chips ( ) und Entwicklungsboards (ab 5 ) 2, 2-33 -

Xilinx University Program (XUP) Virtex 5 Entwicklungsboard (ML59) High-end Entwicklungsboard mit XC5VLXT FPGA Dokumentation: [] 2, 2-34 -

Xilinx University Program (XUP) Virtex 5 Development Board (ML59) Große Anzahl von I/OSchnittstellen 2, 2-35 -

Eigenschaften des XUPv5-Boards () Xilinx Virtex-5 FPGA XC5VLXT-FFG36 Two Xilinx XCF32P Platform Flash PROMs (32 Mb each) for storing large device configurations Xilinx System ACE CompactFlash configuration controller with Type I CompactFlash connector Xilinx XC9544XL CPLD for glue logic 64-bit wide, 256-MB DDR2 small outline DIMM (SODIMM), compatible with EDK supported IP and software drivers Clocking Programmable system clock generator chip One open 3.3V clock oscillator socket External clocking via SMAs (two differential pairs) DIP switches (8), LEDs (8), pushbuttons, rotary encoder Expansion header with 32 single-ended I/O, 6 LVDS-capable differential pairs, 4 spare I/Os shared with buttons and LEDs, power, JTAG chain expansion capability, and IIC bus expansion 2, 2-36 -

Eigenschaften des XUPv5-Boards (2) Stereo AC97 audio codec with line-in, line-out, 5-mW headphone, microphone-in jacks, SPDIF digital audio jacks, and piezo audio transducer RS-232 serial port, DB9 and header for second serial port 6-character x 2-line LCD display One 8-Kb IIC EEPROM and other IIC capable devices PS/2 mouse and keyboard connectors Video input/output Video input (VGA) Video output DVI connector (VGA supported with included adapter) ZBT synchronous SRAM, 9 Mb on 32-bit data bus with four parity bits Intel P3 StrataFlash linear flash chip (32 MB) Serial Peripheral Interface (SPI) flash (2 MB) // tri-speed Ethernet PHY transceiver and RJ-45 with support for MII, GMII, RGMII, and SGMII Ethernet PHY interfaces 2, 2-37 -

Eigenschaften des XUPv-Boards (3) USB interface chip with host and peripheral ports Rechargeable lithium battery to hold FPGA encryption keys JTAG configuration port for use with Parallel Cable III, Parallel Cable IV, or Platform USB download cable Onboard power supplies for all necessary voltages Temperature and voltage monitoring chip with fan controller 2, 2-38 -

Anschlüsse für LEDs und Taster 2, 2-39 -

Konfigurations-Datenfluss Sehr flexible Konfigurationsmöglichkeiten: FLASH CF-Karte JTAG 2, 2-4 -

Integrated Software Environment (ISE) Generierung von Konfigurations-Bitstreams (bit files) Aus VHDL, Verilog, Gatterschaltung Frei verfügbar: WebPack http://www.xilinx.com/ise/logic_design_prod/webpack.htm Teilmenge der Funktionalität Große FPGAs nicht unterstützt Alternative: Verwendung von Makefiles: http://www.xess.com/appnotes/makefile.html 2, 2-4 -

ISE-Versionen Webpack Foundation Kostenlos, Unterstützt nur kleine FPGAs Normalerweise kostenpflichtig: Webpack.i Foundation.i LS2 besitzt Lizenzen, die Studierenden temporär gegen NDA ausgeliehen werden. Verfügbar unter www.xilinx.com Aktuell eingesetzte Version (Windows/Linux). Enthält einfachen Simulator. Optional: Modelsim Simulator (Windows only) Webpack 2/3 Foundation 2/3 Aktuelle Version noch nicht getestet Aktuell Unterstützung für neuere FPGAs, neue GUI 2, 2-42 -

Zusammenfassung FPGAs Energieeffizienz Strukturen, Verbindungen, Routing Spezialelemente Architektur Virtex-5 Komplexität Logikelemente Verbindung XUPv5-Board Xilinx-Software 2, 2-43 -

Literatur a. Xilinx, Inc. UG347: ML55/ML56/ML57 Evaluation Platform User Guide http://www.xilinx.com/support/documentation/boards_and_kits/ug347.p b. Xilinx, Inc. UG9: Virtex-5 FPGA User Guide http://www.xilinx.com/support/documentation/user_guides/ug9.pdf c. Petar Borisov Minev and Valentina Stoianova Kukenska: The Virtex-5 Routing and Logic Architecture Annual Journal of Electronics, 29 d. B. Landman, R. Russo. On a Pin or Block Relationship for Partitions of Logic Graphs, IEEE Transaction on Computers, vol. C-2, pp. 469-479, 97. 2, 2-44 -