Abgeschlossene Arbeiten 2014

  • Automatische Generierung von Monitoren für die Überprüfung von Trace-Events
    Kategorie: Master-Arbeit
    Bearbeiter: Philip Gottschling
    Betreuer: Prof. Dr.-Ing. Christian Hochberger

    Moderne Mikrocontroller können über Trace-Schnittstellen wie z.B. Nexus enorme Datenmengen an externe Beobachter weitergeben. Neben Instruktions- und partiell auch Daten-Traces stehen dabei auch abstraktere Informationen, wie z.B. Ownership (welcher Prozess wird gerade ausgeführt) oder sogar anwendungsgetriebene Nachrichten zur Verfügung.

    Im Rahmen dieser Master-Arbeit soll ein Werkzeug entstehen, welches die Überprüfung solcher Nachrichten vereinfacht. Dazu soll eine formale Sprache zur Beschreibung einer Finite State Machine entworfen werden. Diese Beschreibung gliedert sich in einen strukturellen Teil und eine Beschreibung des Verhaltens.

  • FPGA basierter Logic-Analyzer
    Kategorie: Bachelor-Arbeit
    Bearbeiter: Jakob Wenzel
    Betreuer: Prof. Dr. Christian Hochberger / extern
    FPGAs sind heute in der Lage, externe digitale Signale mit sehr hoher Abtastrate zu erfassen. Zusätzlich enthalten moderne FPGAs auch noch DRAM-Kontroller, die in der Lage sind, die abgetasteten Signale mit hoher Bandbreite abzuspeichern. Somit hat man alle Zutaten beisammen, die für einen Low-Cost Logic Analyzer gebraucht werden.
    Ziel der Arbeit ist es, auf einem vorhandenen FPGA-Board (Xilinx Spartan-6 mit DDR3 und USB-Verbindung zum PC) einen Logic-Analyzer mit folgenden Merkmalen zu implementieren:

    • 32 Eingangskanäle, single ended
    • wahlweise interner oder externer Takt
    • 2 Clock-Eingänge
    • programmierbarer Clock, Abtastung der Eingänge mit bis zu 1 GHz
    • programmierbare Filterung der Eingangssignale
    • Ringpuffer in internen Block-RAMs sowie in externem DDR3-Speicher
    • einfache Trigger-Bedingungen / einfacher Trigger-Sequenzer
    Die Arbeiten sind in Verilog auszuführen, optional kann eine Visualisierung hinzugenommen werden (am besten in Java, da plattformunabhängig).
  • Entwicklung eines generischen Bus-Protokolls für AMIDAR-Prozessoren
    Kategorie: Master-Arbeit
    Bearbeiter: Alan Tanfer
    Betreuer: Changgong Li
    An der Professur Mikrorechner der TU Dresden wurde das Modell eines adaptiven Prozessors entwickelt, welches am Fachgebiet Rechnersysteme weiterentwickelt wird. Dieses Modell erlaubt es, dem Prozessor zur Laufzeit auf die spezifischen Anforderungen einer Applikation zu reagieren. Hierzu zählen sowohl die Anpassung von Busstrukturen, als auch die Anpassung von bestehenden und die Synthese von neuen Funktionseinheiten.
    Ein effizientes Bus-System ist der Kernbestandteil des oben genannten Prozessor-Modells, da verschiedene Funktionseinheiten eines AMIDAR-Prozessors asynchron voneinander arbeiten und trotzdem riesige Informationsmengen (sowohl Befehle als auch Zwischendaten) miteinander austauschen können müssen. Hierbei kann jede Funktionseinheit gleichzeitig die Master- und Slave-Rolle einnehmen. Daher müssen in das Busprotokoll Mechanismen eingebaut werden, wie sie typischerweise in hoch performanten Multi-Master Bussen (PCI, AHB, CoreConnect) verwendet werden.
    Ziel dieser Arbeit soll es sein, ein generisches Bus-Protokoll für das AMIDAR-Modell zu entwerfen und exemplarisch für einen Java-Prozessor in Verilog zu implementieren. Das dadurch entstehende Bus-System soll die Datenübertragung zwischen mehreren Funktionseinheiten möglichst effizient durchführen können (möglichst wenige Stalls).
    Dafür sind die folgenden Eigenschaften des Systems gefordert:

    • Multi-Master Fähigkeit des Protokolls und aller Infrastruktur-Komponenten
    • Unterstützung von Burst-Übertragungen
    • Möglichst "faire" Buszuteilung
    • Dynamische Regulierung der Busbelastung durch Anhalten/Fortsetzen der Kommunikation zwischen zwei bestimmten Funktionseinheiten
    • Unterstützung der Parametrierung der Anzahl und Bandbreite der einzusetzenden Busse
    • Optionale Unterstützung der Fehlererkennung und Re-Transportierung der entsprechenden Daten
  • FPGA Implementierung einer Floating-Point-ALU in AMIDAR-Prozessoren
    Kategorie: Bachelor-Arbeit
    Bearbeiter: Christian Rose
    Betreuer: Changgong Li
    Am Fachgebiet Rechnersysteme wird an adaptiven Prozessorstrukturen geforscht. Die Familie der AMIDAR Prozessoren basiert dabei auf einem Modell, welches an der Professur Mikrorechner der TU Dresden entwickelt wurde. Dieses Modell erlaubt es dem Prozessor zur Laufzeit einer Applikation auf deren spezifische Anforderungen zu reagieren. Hierzu zählen sowohl die Anpassung von Busstrukturen, als auch die Anpassung von bestehenden und die Synthese von neuen Funktionseinheiten.
    Bisherige Arbeiten (www.amidar.de) haben gezeigt, dass ein deutliches Beschleunigungspotential für Applikationen im Bereich der eingebetteten Systeme besteht.
    Ziel dieser Arbeit soll es sein, eine Floating-Point-ALU auf Basis des bestehenden Prozessormodells auf einem FPGA in Verilog zu implementieren. Die dadurch entstehende ALU soll dann alle Floating-Point-Operationen ausführen können, welche durch das AMIDAR-Modell definiert sind.
  • Erweiterung der SpartanMC Binutils um Debug-Informationen
    Kategorie: Grosser Beleg
    Bearbeiter: Michael Lindauer
    Betreuer: Prof. Dr. Christian Hochberger
    Am Fachgebiet Rechnersysteme (und an der Professur Mikrorechner der TU Dresden) wird ein SoC-Kit rund um den SpartanMC Soft-Core entwickelt. Dieser ist ein speziell für die Verwendung in FPGAs entwickelter CPU-Core. Aufgrund dieser Zielplattform nutzt der SpartanMC eine Befehls- und Datenbreite von 18 Bit, welche die Strukturen aktueller FPGAs optimal ausnutzt.
    Zur Programmierung des SpartanMC wird die GNU Toolchain verwendet. Darin werden die Binutils für das Handling von Objekt-Dateien und Binärprogrammen verwendet. Leider unterstützt die aktuelle Portierung der Binutils nicht die Verarbeitung von Debug-Informationen in ELF-Binaries, bzw. in Objekt-Dateien.
    Im Rahmen dieser Arbeit sollen Assembler, Linker und evtl. weitere betroffene Programme aus den Binutils erweitert werden, so dass Debug-Informationen durchgängig verarbeitet werden können.
  • Floating-Point Support für den SpartanMC
    Kategorie: Master-Arbeit
    Bearbeiter: Sheheryar Zahoor Qazi
    Betreuer: Prof. Dr. Christian Hochberger
    Am Fachgebiet Rechnersysteme (und an der Professur Mikrorechner der TU Dresden) wird ein SoC-Kit rund um den SpartanMC Soft-Core entwickelt. Dieser ist ein speziell für die Verwendung in FPGAs entwickelter CPU-Core. Aufgrund dieser Zielplattform nutzt der SpartanMC eine Befehls- und Datenbreite von 18 Bit, welche die Strukturen aktueller FPGAs optimal ausnutzt.
    Das aktuelle SpartanMC SoC Kit unterstützt leider noch keine floating point Operationen. Diese Arbeit soll daher die Unterstützung für Gleitkomma Operationen bereitstellen. Die Unterstützung soll sowohl rein softwareseitig durch Übersetzung in unterstützte Befehle als auch hardwareseitig durch spezielle Peripherie gewährleistet werden.
  • Minimales Echtzeit-OS für den SpartanMC Mikrokontroller
    Kategorie: Bachelor-Arbeit
    Bearbeiter: Gregor Koch
    Betreuer: Prof. Dr. Christian Hochberger
    Am Fachgebiet Rechnersysteme (und an der Professur Mikrorechner der TU Dresden) wird ein SoC-Kit rund um den SpartanMC Soft-Core entwickelt. Dieser ist ein speziell für die Verwendung in FPGAs entwickelter CPU-Core. Aufgrund dieser Zielplattform nutzt der SpartanMC eine Befehls- und Datenbreite von 18 Bit, welche die Strukturen aktueller FPGAs optimal ausnutzt.
    Für diesen Mikrokontroller soll ein minimales Echtzeit-Betriebssystem entworfen werden, welches die folgenden Funktionen enthalten soll:

    • Task-Verwaltung mit Prioritäten
    • Semaphore als Synchronisationsmechanismus
    • Einfache Speicherverwaltung
    Gegebenenfalls müssen hierfür auch noch Änderungen an der Hardware des Prozessorkerns durchgeführt werden.
  • Optimierung der Befehlscodierung des SpartanMC
    Kategorie: Bachelor-Arbeit
    Bearbeiter: Patrick Hentschel
    Betreuer: Prof. Dr. Christian Hochberger
    Am Fachgebiet Rechnersysteme (und an der Professur Mikrorechner der TU Dresden) wird ein SoC-Kit rund um den SpartanMC Soft-Core entwickelt. Dieser ist ein speziell für die Verwendung in FPGAs entwickelter CPU-Core. Aufgrund dieser Zielplattform nutzt der SpartanMC eine Befehls- und Datenbreite von 18 Bit, welche die Strukturen aktueller FPGAs optimal ausnutzt.
    Im Rahmen dieser Arbeit soll der Befehlscode des SpartanMC optimiert werden. Durch Zuweisung verschiedener Binärmuster zu einzelnen Teilgruppen des Befehlssatzes soll die resultierende Decodierlogik im Prozessor minimiert werden. Gleichzeitig soll dabei natürlich nicht die maximale Taktfrequenz eingeschränkt werden.
  • Portierung des SpartanMC auf andere FPGA-Architekturen
    Kategorie: Bachelor-Arbeit
    Bearbeiter: Andreas Ring
    Betreuer: Kris Heid
    Am Fachgebiet Rechnersysteme (und an der Professur Mikrorechner der TU Dresden) wird ein SoC-Kit rund um den SpartanMC Soft-Core entwickelt. Dieser ist ein speziell für die Verwendung in FPGAs entwickelter CPU-Core. Aufgrund dieser Zielplattform nutzt der SpartanMC eine Befehls- und Datenbreite von 18 Bit, welche die Strukturen aktueller FPGAs optimal ausnutzt.
    Der SpartanMC wurde, wie der Name nahe legt, auf Spartan3 FPGAs von Xilinx entwickelt. Implementiert und eingesetzt wurde er bisher auch auf den FPGA-Familien Spartan6 und Virtex5. Grundsätzlich lässt sich der Prozessorkern aber auch auf beliebigen anderen FPGA-Familien (insbesondere auch von anderen FPGA-Herstellern) verwenden.
    Ziel dieser Arbeit soll die Anpassung der SpartanMC- Verilog Quellen sein, um das SoC-Kit mit ALTERA FPGAs verwenden zu können. Hardware, die zur Zeit noch durch spezielle Xilinx-Primitive realisiert wird, muss entweder durch generischen Verilog-Code oder durch andere geeignete Primitive der ALTERA FPGAs ersetzt werden. Im Weiteren muss auch die Einbindung der ALTERA Synthese-Tools kontrolliert werden.
    Als Plattform für die Portierung stehen DE0-Nano Boards mit Altera Cyclone IV FPGAs zur Verfügung.
  • Tool zur Aktualisierung des Programmspeichers in SpartanMC-SoCs
    Kategorie: Bachelor-Arbeit
    Bearbeiter: Marcel Jourdan
    Betreuer: Changgong Li
    Der SpartanMC ist ein an der TU Dresden / Professur für Mikrorechner entwickelter CPU-Core, der speziell für die Verwendung in FPGAs zugeschnitten ist. Aufgrund dieser Zielplattform nutzt der SpartanMC eine Befehls- und Datenbreite von 18 Bit, welche die Strukturen aktueller FPGAs optimal ausnutzt.
    Im Rahmen dieser Arbeit soll ein Tool entstehen, dass in einem bereits komplett gerouteten und platzierten FPGA-Design (Xilinx-Toolchain) des SpartanMC die BlockRAM-Inhalte gezielt austauschen kann, um ein verändertes Programm in den Bitstream zu schreiben.
    Hierzu soll das XDL-Format verwendet werden. Dieses Format stellt eine textuelle Repräsentation des kompletten Designs dar und wird vom gleichnamigen Xilinx Tool (xdl) generiert. Ziel der Arbeit ist das Erstellen eines Tools, dass ein derartiges XDL-File einliest, und den darin enthaltenen BlockRAM-Instanzen neue Speicherinhalte zuordnet. Wichtig ist dabei insbesondere die korrekte Zuordnung der logischen BlockRAM-Instanzen auf HDL-Ebene zu den physikalischen Instanzen auf Chipebene.
Drucken | Impressum | Datenschutzerklärung | Sitemap | Suche | Kontakt
Zum SeitenanfangZum Seitenanfang