Professur Rechnerarchitektur






Diplomarbeit

Entwicklung eines Software-Frameworks zur Unterstützung dynamisch rekonfigurierbarer Hardware auf Basis von VirtexII-Pro FPGAs.


Beginn: 01.3.2004

Zielstellung:

VirtexII-Pro FPGAs bieten neben der üblichen FPGA-Funktionalität spezielle Hardwarekomponenten an - insbesondere einen Prozessorkern basierend auf PowerPC. Damit steht ein äußerst leistungsfähiges Basissystem für eingebettete Systeme mit hohen Anforderungen zur Verfügung.

Ein weiteres Feature dieser FPGAs besteht in der partiellen Programmierbarkeit. Dass heißt, Bereiche des FPGAs können während der Laufzeit umprogrammiert werden, ohne dabei die Funktion anderer Bereiche zu beeinträchtigen.

Mit der Kombination beider Besonderheiten lassen sich relativ kleine, leistungsstarke sowie flexibel einsetzbare Computersysteme realisieren, für welche sich in der Zukunft ein breites Anwendungsfeld erschließen könnte. Obwohl es bereits diverse Entwicklungen in diese Richtung gibt (General Purpose Rechner + FPGA), so scheint es an einer allgemeinen Schnittstelle zwischen Anwendungsprogramm und Hardwarekomponenten zu fehlen. Wesentliches Ziel der Diplomarbeit soll die Entwicklung eines API sein, welches das dynamische Laden/Entladen von Hardwarekomponenten ermöglicht, sowie den User-Level Zugriff auf diese zur Verfügung stellt. Die Funktionalität des API soll anhand einer Beispielkomponente demonstriert werden. Die Entwicklung dieser Beispielkomponente soll jedoch nicht Gegenstand der Diplomarbeit sein.

Im einzelnen gilt es dabei:

  • Ein rudimentäres Linux auf der zur Verfügung gestellten VirtexII-Pro Hardware soll zum Laufen gebracht werden.
  • Es ist ein allgemeines Konzept für ein solches API zu erstellen. (Wie soll das im einzelnen alles ablaufen?) Dies schließt eine Recherche bereits aktiver Projekte ein.
  • Als Bestandteil des API ist ein Linux-Treiber zu entwickeln, welcher die Modifikation der Hardware, das Einrichten von Page-Mappings sowie ggf. weitere Dinge (z.B. Interrupts und deren Weiterleitung an Anwendung?) handhabt.
  • Falls notwendig/vorhanden ist der User-Level Teil des API zu entwickeln.
  • Ein kleines Testprogramm zur Demonstration der grundlegenden Funktionalität unter Einbeziehung der erwähnten Beispielkomponente.

Die vollständige Diplomarbeit können Sie hier herunterladen.

Betreuer: Prof. Dr. W. Rehm, Dipl.-Inf. Mario Trams