Automatische Erzeugung approximierter HW-Beschleuniger

Automatische Erzeugung approximierter HW-Beschleuniger

Umfeld:

Approximative Hardwarebeschleuniger eignen sich vorallem für Algorithmen der Bildverarbeitung oder für neuronale Netze, da diese üblicherweise auch dann noch brauchbare Ergebnisse liefern. Solche approximierten Beschleuniger werden allerdings oft manuell entwickelt, was sehr zeitaufwändig ist. Es müssen Teile des Beschleunigers identifiziert werden, die sich für Approximierung eignen und entsprechende Zellen ausgetauscht bzw. manuelle durch approximierte Implementierungen ausgetauscht werden.

Aufgabe:

In dieser Arbeit soll ein automatisierter Ansatz zur Erzeugung von approximierten Beschleunigern auf Basis der exakten Implementierung entworfen werden. Dabei sollen vorerst einfach Schaltnetze getestet werden, indem sie in eine RTL-Darstellung überführt und dann durch eine zu entwickelnde Software automatisch in eine approximierte Variante übersetzt werden. Mittels Simulation und ggf. auch einer FPGA-Implementierung kann das approximierte Schaltnetz dann auf Genauigkeit, Ressourcenverbrauch und Taktfrequenz untersucht und mit der ursprünglichen, exakten Implementierung verglichen werden.

Voraussetzungen:

  • Interesse sowohl an Hard- als auch an Software
  • Spaß an der Arbeit mit verschiedenen Tools zur Hardwaresynthese (Xilinx Vivado uvm.)
  • Motivation und Interesse am selbstständigen Lösen von technischen Problemen