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



Ähnliche Dokumente
Programmierbare Logik CPLDs. Studienprojekt B Tammo van Lessen

13 Programmierbare Speicher- und Logikbausteine

Einführung in. Logische Schaltungen

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Anwenderprogrammierbare

Software zur Anbindung Ihrer Maschinen über Wireless- (GPRS/EDGE) und Breitbandanbindungen (DSL, LAN)

Professionelle Seminare im Bereich MS-Office

SharePoint Demonstration

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Das Leitbild vom Verein WIR

Was meinen die Leute eigentlich mit: Grexit?

UserManual. Handbuch zur Konfiguration einer FRITZ!Box. Autor: Version: Hansruedi Steiner 2.0, November 2014

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Internationales Altkatholisches Laienforum

Meet the Germans. Lerntipp zur Schulung der Fertigkeit des Sprechens. Lerntipp und Redemittel zur Präsentation oder einen Vortrag halten

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

Mikrocontroller Grundlagen. Markus Koch April 2011

Urlaubsregel in David

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook ( ) Zentrum für Datenverarbeitung der Universität Tübingen

! " # $ " % & Nicki Wruck worldwidewruck

Die Invaliden-Versicherung ändert sich

1 topologisches Sortieren

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

COMPUTER MULTIMEDIA SERVICE

ZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht BREMERHAVEN. Der Zauberwürfel-Roboter. Paul Giese. Schule: Wilhelm-Raabe-Schule

Facharbeit Informatik. Thema:

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Leichte-Sprache-Bilder

Zeit lässt sich nicht wie Geld für schlechte Zeiten zur Seite legen. Die Zeit vergeht egal, ob genutzt oder ungenutzt.

Microcontroller Kurs Microcontroller Kurs/Johannes Fuchs 1

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten!

CSS-Grundlagen. Etwas über Browser. Kapitel. Die Vorbereitung

Eine Logikschaltung zur Addition zweier Zahlen

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Was ist Sozial-Raum-Orientierung?

Guide DynDNS und Portforwarding

Primzahlen und RSA-Verschlüsselung

Installation und Inbetriebnahme von SolidWorks

How to do? Projekte - Zeiterfassung

Hier ist die Anleitung zum Flashen des MTK GPS auf der APM 2.0. Prinzipiell funktioniert es auch auf der APM 2.5 und APM 1.

Wir machen neue Politik für Baden-Württemberg

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

Lineare Gleichungssysteme

Papa - was ist American Dream?

Pädagogik. Melanie Schewtschenko. Eingewöhnung und Übergang in die Kinderkrippe. Warum ist die Beteiligung der Eltern so wichtig?

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Rohstoffanalyse - COT Daten - Gold, Fleischmärkte, Orangensaft, Crude Oil, US Zinsen, S&P500 - KW 07/2009

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

IBIS Professional. z Dokumentation zur Dublettenprüfung

ISA Einrichtung einer DFUE VErbindung - von Marc Grote

IRF2000 Application Note Lösung von IP-Adresskonflikten bei zwei identischen Netzwerken

Anleitung über den Umgang mit Schildern

Handbuch PCI Treiber-Installation

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

1. Einführung. 2. Archivierung alter Datensätze

RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

icloud nicht neu, aber doch irgendwie anders

WLAN Konfiguration. Michael Bukreus Seite 1

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version Deutsch

(C)opyright 2009 by Jochen Vajda

macs Support Ticket System

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock

ACDSee Pro 2. ACDSee Pro 2 Tutorials: Übertragung von Fotos (+ Datenbank) auf einen anderen Computer. Über Metadaten und die Datenbank

Leitfaden zur Einrichtung za-mail mit IMAP auf dem iphone

FTP-Leitfaden RZ. Benutzerleitfaden

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Stepperfocuser 2.0 mit Bootloader

Einrichten eines HBCI- Zugangs mit Bank X 5.1

ANYWHERE Zugriff von externen Arbeitsplätzen

Nokia Handy - Daten sichern.

DER SELBST-CHECK FÜR IHR PROJEKT

Europäischer Fonds für Regionale Entwicklung: EFRE im Bundes-Land Brandenburg vom Jahr 2014 bis für das Jahr 2020 in Leichter Sprache

Einrichtung eines VPN-Zugangs

Aufgabensammlung. a) Berechnen Sie den Basis- und Kollektorstrom des Transistors T 4. b) Welche Transistoren leiten, welche sperren?

ONLINE-AKADEMIE. "Diplomierter NLP Anwender für Schule und Unterricht" Ziele

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Wie halte ich Ordnung auf meiner Festplatte?

1: 9. Hamburger Gründerpreis - Kategorie Existenzgründer :00 Uhr

Andreas Rühl. Investmentfonds. verstehen und richtig nutzen. Strategien für die optimale Vermögensstruktur. FinanzBuch Verlag

Erfahrungen mit Hartz IV- Empfängern

Alfred Korte. Die Methode der Spitzenverkäufer: Wie Sie mit Marketing und Verkauf erfolgreich werden. Die Wirtschaftspaten e.v.

Bewertung des Blattes

Zeichen bei Zahlen entschlüsseln

Geld Verdienen im Internet leicht gemacht

Simulation LIF5000. Abbildung 1

Strom in unserem Alltag

360 - Der Weg zum gläsernen Unternehmen mit QlikView am Beispiel Einkauf

Fax einrichten auf Windows XP-PC

Transkript:

FPGA Übersicht der Aktuellen Bausteine Von Markus Stanczyk Inhaltsverzeichnis 1. Einführung 1.1 Was ist ein FGPA? 2. Aufbau eines FPGA 2.1 Logikblöcke 2.2 Verbindungsarchitektur 3. Marktüberblick 3.1 Allgemein 3.2 Xilinx 3.3 Actel 3.4 Lucent 3.5Alerta 4. Zusammenfassung 5. Literatur

Einführung 1.1 Was ist ein FPGA? Mit den Begriff FPGA (Field Programmable Gate Arrays) bezeichnet man komplexe programmierbare Logikbauelemente, deren Architektur auf einer vergleichsweise kleinen Basiszelle beruht. Bei FPGAs wir die Implementierung von logischen Funktionen hauptsächlich durch die Programmierung der Verbindungsleitungen zwischen den Logikblock erreicht. Es gibt zwei verschiedene Typen von FPGAs die rekonfigurierbaren und nicht rekunfigurierbaren. Für die rekonfigurierbaren FPGAs verwendet man Speichertechnologien wie SRAM. Der Nachteil dieser FPGAs ist dass sie flüchtig sind, d.h. das die Programmierung nur solange im Baustein ist wie Strom durch ihn fliesst. Wird die Stromzufuhr unterbrochen so muss der Baustein neu konfiguriert werden bzw. seine Konfiguration neu einlesen. Die nicht rekonfigurierbaren FPGAs können nur einmal programmiert werden und behält die Programmierung für immer, dies geschieht meist dadurch das die Leitungen im Baustein physikalisch zerstört bzw. erstellt werden. Solche Bausteine basieren meist auf der Antifuse Technologie. FLASH Bausteine vereinigen die Vorteile beider Technologien sie sind nicht flüchtig und sie können sehr schnell rekonfiguriert werden. Aufbau eines FPGA 2.1 Logikblock Ein FPGA besteht aus sehr vielen kleinen logischen Einheiten den sogenannten Logic Blocks. In diesen kleinen logischen Einheiten befinden sich einfache logische Schaltungen die meist konfiguriert werden können. Diese kleinen Logikeinheiten werden bei der Implementierung von logischen Funktionen miteinander verknüpft. Granularität: Unter der Granularität eines FPGAs versteht man die Grösse seiner Logikblöcke. Ein FPGA wird als feinkörnig bezeichnet wenn die Logikblöcke eher klein sind. Sie

enthalten nur wenig Logik und haben nur wenige Ein und Ausgänge. Feinkörnige FPGAs können die Logikblöcke effizienter nutzen allerdings sind viele Verbindungen nötig um grössere Funktionen zu realisieren. Ein grobkörniger FPGA hat grosse Logikblöcke. Bei grösseren Funktionen bringt das zwar Geschwindigkeitsvorteile allerdings leidet die Ausnutzung der Fläche darunter. Um die Bausteine untereinander vergleichbar zu machen geben viele Hersteller eine Gatteräquivalente bei ihren Bausteinen an. Dabei entspricht eine Einheit einen NAND mit zwei Eingängen. Allerdings lassen sich Bausteine verschiedener Hersteller nur sehr bedingt so vergleichen da einige Hersteller sehr grösszügig bei der Angabe der Anzahl der Gatteräquivalente sind. 2.1.1 Aufbau der Logikblöcke Grundsätzlich kann man zwischen 3 verschieden Konzepten beim Aufbau der Logikblöcke unterscheiden: Lookup Tabels: Diese Technik wird bei FPGAs verwendet die auf SRAM basieren. Der Speicher wird so beschrieben das es zu jeder Eingangkombination der entsprechende Wert einer Logikfunktion ausgegeben wird. Multiplexer: Diese Technologie wird bei Antifuse FPGAs verwendet. Mit einen einfachen 1 Bit Multiplexer lassen sich leicht Funktionen wie AND, OR, NOT realisieren. Sea of Gates: Im Moment verwendet diese Technologie nur der Hersteller GateField. Bei diesen Konzept besteht ein Logikblock aus max. 8 Transistoren die über programmierbare Leitungen verbunden werden und so eine Funktion realisieren. 2.2 Verbindungsarchitektur Besonders bei den Logikblöcken mit feiner Granularität spielt die Verdrahtung eine sehr wichtige Rolle, da bereits einfache logische Funktionen auf mehrere Logikblöcke aufgeteilt werden müssen. Ist die Anzahl der Leitungen zu klein so können nicht alle Basiszellen angeschlossen werden. Wenn man zu viele Leitungen hat können zwar alle Basiszellen genutzt werden aber es muss sehr viel Fläche für

die Verdrahtung aufgewendet werden. Dies macht ausserdem den Baustein unnötig teuer. Marktübersicht 3.1 Allgemein 1985 brachte Xilinx mit den XC2064 den ersten FPGA Baustein auf den Markt. Dieser hatte "nur" 1200 Gatter, heute haben die FPGAs die 1,5 Millionen Gatter Grenze überschritten und es ist noch lange kein Ende der Entwicklung in Sicht. Im Jahr 2000 betrug der Umsatz auf diesen knapp 1,6 Milliarden Dollar und man kann davon ausgehen das der Markt seitdem noch stark gewachsen ist. Marktführer ist Xilinx mit einen Marktanteil von knapp 60%. Actel ( 16% ) und Altera ( 13% ) sowie Lucent ( 9% ) sind ebenfalls wichtige Firmen auf den FPGA Markt. Viele neuen Firmen versuchen sich ebenfalls auf den boomenden Markt mit aggressiven Marketingstrategien zu etablieren. So wird oft versucht durch sehr frühes ankündigen von neuen leistungsfähigen Bausteinen die Kunden zu ködern. Bis diese jeden in brauchbaren Stückzahlen lieferbar sind kann es Jahre dauern. Andere gross angekündigte Bausteine kommen gar nicht auf den Markt bzw. werden gleich kurz nach der Markteinführung wieder vom Markt genommen. Es wäre eigentlich sinnlos wenn man den Markt betrachtet sich auf einzelne Bausteine festzulegen da diese sehr schnell veraltet sind. Stattdessen hab ich mich entschlossen die grössten Produktfamilien der wichtigsten oben genannten, Hersteller vorzustellen. 3.2 Xilinx 3.2.1 Einleitung Das 1984 gegründete Xilinx gilt mit der Logic Cell Array (LCA) als Erfinderin der FPGAs. Bis heute konnte Xilinx ihre marktführende Position verteidigen. Xilinx

besitzt trotzdem keine Eigenfertigung, d.h. alle Xilinx FPGAs werden von Drittfirmen gefertigt. Der aktuelle Marktanteil von Xilinx FPGAs liegt bei 60%. 3.2.2.Virtex Familie Die CLB (Configurable Logic Block CLB) der Virtex Architektur besteht aus zwei identischen Blöcken, die als Slices bezeichnet werden. Jedes Slice wird noch mal in zwei logische Blöcke unterteilt (Logic Cells LC) so dass jeder Virtex CLB aus vier logischen Zellen besteht. Mit einen Slice kann man eine beliebige Funktion realisieren oder ihn als Speicher konfigurieren. Jeder Slice besitzt eine eigene Carry Logic welche miteinander verknüpft über die Carry Chains als 1 Bit Volladdierer oder über spezielle And Gatter beispielsweise als Multiplizierer implementiert werden können. Eine Erweiterung der bisher bekannten Logikblöcke bilden grosse, sogenannte BlockSelectRAMs, in Gruppen zusammengefasste RAM. Jeder Virtex Baustein beinhaltet zwei dieser Gruppen welche in Spalten neben den CLBs angebracht sind. Insgesamt besitzt jeder Baustein von 12 bis 556 Blöcke. Dank der SelectLink Technologie kann man zwischen 2 Bausteinen eine Verbindung mit 80 Gbit/s herstellen. Die Verdrahtung besteht aus Verbindungsleitungen mit 5 unterschiedlichen Längen. Die kürzesten Leitungen (Single Lenght Lines) führen jeweils von einer Switch Matrix zur nächsten während die längeren Leitungen längere Chipabschnitte überspannen. Die Double Length Lines sind doppelt so lang wie die Single Lenght Lines und verlaufen an 2 CLBs vorbei, bevor sie in die Switch Matrix eingehen. Jeder CLB besitzt 8 Double Length Lines, sowie 4 Quadlines und 4 Longlines mit denen grössere Verbindungen überbrücken lassen. Darüber hinaus existieren globale Verbindungen zur Verteilung von Taktsignalen. 3.2.3 Spartan Familie Bisher wurden über 50 Millionen FPGAs der Spartan Familie verkauft. Damit ist er

sicher einer der erfolgreichsten Bausteine auf den FPGA Markt. Die Spartan Famlie baut auf der selben Technologie wie die Virtex Familie auf. Allerdings werden die Bausteine in allen Punkten auf kleinst mögliche Kosten getrimmt: Fertigungstechnologie, Chipgrösse, Gehäuse, Produktion und Bausteintest. Dank dieser Tatsache und neuer Produktionstechnologien konnte man die Produktionskosten so weit senken dass die Bausteine bereits ab 3,50$ verkauft werden können. 3.3 Actel 3.3.1 Einleitung Die Firma Actel wurde 1985 in Sunnyvale, Kalifornien gegründet. Bereits 1988 brachte Actel den ersten Antifuse FPGA auf den Markt. 1996 gelang es Actel den ersten FPGA zu entwickeln der auch in Geräten eingesetzt werden konnte die radioaktiver Strahlung ausgesetzt sind. 3.3.2 SX Familie Bei der SX Familie handelt es sich um Antifuse FPGA. Diese Technologie erlaubt es nicht einmal gebrannte Steine neu zu brennen. Der Vorteil ist allerdings dass die auf dieser Technologie basierenden FPGAs weniger Strom verbrauchen, da nur da Strom fliesst wo er auch wirklich gebraucht wird. Die SX Familie ist 66 MHz PCI Bus kompatibel. Die Architektur erlaubt einen 100% Ausnutzungsgrad. Ausserdem wird die Systemdiagnose durch den Silicon Explorer II und ActionProbe erleichtert. Ausserden besitzen die Bausteine einen Schutz gegen das Auslesen ihrer Konfiguration. Eine weitere sehr nützliche Eigenschaft die in den neuen Bausteinen von Actel umgesetzt wurde ist das Hot Swapping. Diese Technologie erlaubt es das Systeme während der Wartung online bleiben können und die Bausteine währenddessen entfernt und wieder eingesetzt werden können. 3.3.3 ProASIC Familie

Die ProASIC Familie basiert auf einer Flash/CMOS Technologie. Diese Technologie verbindet die Vorteile von SRAM und von Antifuse basierenden Bausteinen. Sie sind reprogrammierbar und nicht flüchtig. Die Bausteine besitzen, ebenso wie die SX Familie, einen Ausleseschutz (Security Bit) und ISP Unterstützung (in System Programming) d.h. das mit Hilfe des Silicon Sculptors und des Silicon Explorers die ProASIC Bausteine "im System" mit einen Plugin Connector und einen Programmierkabel programmieren kann. Ein weiterer Vorteil dieser Bausteine ist der geringe Stromverbrauch. Sie brauchen nur ca. 30 50% des Stroms den SRAM Bausteine verbrauchen. 3.4 Lattice Einleitung Lattice wurde 1983 gegründet. Der Firmenhauptsitz befindet sich in Hillsboro (Oregon,USA). Lattice beschäftigt sich Hauptsächlich mit der Herstellung von PLD s und FPGA s. Die Produkte werden teilweise selbst, aber auch von Vertragspartnern hergestellt. Die meisten Lattice Bausteine sind gleich aufgebaut. Die Chips sind quadratisch: aussen sind die Logikbausteine angebracht und in der Mitte ist der sogenannte Global Routing Pool (GRP). Die Generic Logic Blocks (GLB) haben von Serie zu Serie verschiedene Grössen sind aber im Grunde alle gleich aufgebaut. Sie enthalten ein AND Array als interne Schaltmatix ein Product Term Sharing Array (PTSA) welchen den Zugriff auf Produktterme und die Makrozellen verwaltet. Die Produktterme stellen mathematische und logische Operationen bereit die häufig benötigt werden. Alle Ein und Ausgänge der Chip münden im GRP so dass die Anbindung des FPGAs an externe Komponenten erleichtert wird. Die Makrozellen werden von den Outputs des PTSA des jeweilig übergeordneten GLB s angesteuert und gliedern sich in vier Bereiche: ein AND Array, welche die Inputs aus den GRP verschaltet, ein eigenes Product Term Sharing Array, die Control Functions und die rekonfigurierbaren Register. Diese dienen als Kurzspeicher bei Rechenoperationen und werden durch Flip Flops realisiert. Lattice stellt dem Kunden kostenlos Entwicklungs und Analyse Software zur Verfügung. Dabei handelt es sich meist um von Lattice entwickelte Tools die nur mit

ihren Bausteinen funktionieren 3.5 Altera 3.5.1.Allgemein Die Altera Corporation wurde 1983 gegründet. Bereits 1984 brachte sie den ersten reprogrammierbaren logischen Chip auf den Markt basierend auf der CMOS Technologie. Zu den Abnehmern von Altera gehören namhafte Firmen die Cisco Systems, 3COM, Siemens, Sony,... Altera besitzt keine eigenen Fabriken sondern lässt sich die Bausteine bei der taiwanesischen Foundery TSMC fertigen. 3.5.2 APEX20k Familie Die Chips der Apex20k Familie haben von zwischen 30.000 bis zu 1,5 Millionen Gates. Sie basieren auf der 0.22 µm (APEX20k), 0.18 µm (APEX20KE) und 0.15 µm (APEX20KC) Technologie. Die Bausteine dieser Familie vereinen in ihrer Multicore Architektur sowohl PAL (CPLD ), als auch FPGA Strukturen. Bei den Bausteinen werden jeweils 10 LA (Logic Elements) zu einen LAB (Logic Array Block) zusammengefasst. 16 LABs werden dann zu einen ESB (Embedded System Block). Die ESB ermöglichen eine sehr einfache Implementierung von Speicherstrukturen wie RAM, ROM, Dual Port RAM oder FIFO. Jeder ESB hat 2048 programmierbare Bits. 4. Zusammenfassung Welcher Baustein ist nun der Beste? Naja wie kann s anders sein auf diese Frage gibt s leider keine Antwort. Jeder Baustein hat seine schwächen und stärken und deswegen ist es stark Anwendungsabhängig welcher Baustein am besten geeignet ist. Die Auswahl eines geeigneten Bausteines ist sehr schwierig da die (Werbe )Angaben der Hersteller oft geschönt sind und somit unbrauchbar sind. Die Schwächen offenbaren sich erst beim konkreten Entwurf der FPGA Schaltung.

Grundsätzlich kann man sagen das man bei der Auswahl eines FPGAs einen Kompromiss zwischen den drei Kriterien Preis, Leistungsfähigkeit und Grösse eingehen muss. 5. Literatur Wannemacher, Markus "das FPGA Kochbuch" Webseiten der Firmen: http://www.xilinx.com/ http://www.actel.com/ http://www.alerta.com/ http://www.latticesemi.com/ http://www.elektronikpraxis.de http://www.heise.de http://xputers.informatik.uni kl.de http://www.channel e.de