|
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.
|
|
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
|