FPGAs

 

Seit einigen Jahren wachsen Hard- und Softwareentwicklung zunehmend zusammen. Mit Hilfe moderner DSPs und FPGAs können heute komplexe zeitkritische Algorithmen in Software umgesetzt werden, deren Realisierung noch vor wenigen Jahren nur durch aufwendige Schaltungen aus Spezialbausteinen möglich war. Am Arbeitsbereich Nachrichtentechnik sind zahlreiche Experimentierplatinen mit Bausteinen unterschiedlicher Leistungsfähigkeit vorhanden, die interessierten Studierenden für erste Schritte zur Verfügung stehen.

 

  Was ist ein FPGA ?
 

Mikroprozessoren (CPUs, DSPs etc.) bestehen aus fest definierten Verarbeitungseinheiten, die durch ein sequentiell abgearbeitetes Programm gesteuert werden. Wenngleich heutige Prozessoren in der Lage sind, mitunter mehrere Maschinenbefehle parallel abzuarbeiten, ist die Parallelität durch die starre Architektur vergleichsweise eingeschränkt.

Ein FPGA (Field Programmable Gate Array) kann man sich demgegenüber als ein IC vorstellen, dessen innere Verschaltung erst vom Anwender definiert wird. Intern enthält das FPGA eine Vielzahl identischer Zellen, die jeweils aus einfachen Logikelementen (FlipFlops, Lookup-Tables) bestehen und in nahezu beliebiger Weise miteinander verschaltet werden können. Soweit es die vorhandenen Resourcen zulassen, können somit beliebige digitale Operationen auf die Eingangssignale angewendet werden. Aufwendige Algorithmen können in hohem Maße parallelisiert werden, so daß je nach Anwendung selbst gegenüber modernen DSPs vielfach höhere Verarbeitungsgeschwindigkeiten erzielt werden können. Prinzipiell ist es sogar möglich (und auch nicht unüblich) komplette Prozessoren als Systemkomponenten innerhalb des FPGAs zu realisieren.Ein FPGA kann beliebig oft neu programmiert werden und somit mit neuer Funktionalität gefüllt werden.

Die Umsetzung der im FPGA zu implementierenden Algorithmen und Funktionen beginnt am PC. Bevorzugt kommt hier die Hardware-Beschreibungssprache VHDL zum Einsatz. Nach dem Erstellen des Sourcecodes kann dieser mittels Simulation auf Richtigkeit geprüft und anschließend in Programmierdaten für das FPGA übersetzt werden. Das FPGA erhält die Programmierdaten entweder über ein Programmierkabel direkt vom PC oder aus einem Boot-PROM, das seinerseits vom PC aus beschrieben werden kann.


Am Arbeitsbereich Nachrichtentechnik werden FPGAs insbesondere zur Implementierung von hochratigen digitalen Funkübertragungssystemen eingesetzt. Hierfür werden FPGAs unterschiedlicher Größe der Firma Xilinx eingesetzt. Es stehen mehrere Experimentierboards, teilweise mit A/D-D/A-Wandlern und/oder PCI-Schnittstelle zur Verfügung.

BETREUER:  Nico Tönder

 

  Realisierte Projekte
FPGA Board 1.0
         Eine FPGA Entwicklungsplattform aus eigener Produktion    

ARBEITSBEREICH

HOME

TUHH