Entwicklung einer Toolchain zur automatischen Generierung einer optimierten eFPGA Architektur für neuronale Netze

Entwicklung einer Toolchain zur automatischen Generierung einer optimierten eFPGA Architektur für neuronale Netze

Umfeld

Heutige eingebettete Systeme setzen nicht mehr nur auf eine Hardware Komponente, sondern versuchen die Vorteile von CPUs, GPUs und FPGAs zu kombinieren. Ein eingebettetes FPGA (eFPGA) bietet die Möglichkeit der Rekonfiguration zur Laufzeit und kann somit verschiedenste Anwendungen wie beispielsweise die Ausführung neuronaler Netze (NNs) hardwareseitig beschleunigen. Gleichzeitig benötigen eFPGAs aber eine relativ große Fläche auf dem System-on-Chip (SoC). Da der Platz auf einem solchen SoC stark limitiert ist, wird nach Lösungen gesucht, um den Flächenverbrauch solcher eFPGAs zu optimieren.

 

Aufgabe

Im Rahmen dieser Arbeit soll eine Toolchain vom Konzept bis zur prototypischen Umsetzung in SystemC realisiert werden. Dabei wird auf Basis eines bestehenden FPGA-Systems gearbeitet. Die Arbeit kann in folgende Teilschritte gegliedert werden:

  • Einarbeitung in das Aufgabenumfeld – SystemC und bspw. Neuronale Netze
  • Entwurf eines Konzeptes für die Toolchain
  • Prototypische Implementierung und Integration in das Bestandssystem
  • Evaluation der Toolchain

 

Voraussetzungen

  • Hohe Motivation und hohes Interesse an den Themen FPGAs/neuronale Netze
  • Grundlegende Kenntnisse in C++ und VHDL