Institut für Mikroelektronische Systeme Studium Studien- & Abschlussarbeiten Abgeschlossene Arbeiten
Implementierung und Evaluierung generischer Addierer- und Multipliziererarchitekturen für Approximate-Computing-Anwendungen

Implementierung und Evaluierung generischer Addierer- und Multipliziererarchitekturen für Approximate-Computing-Anwendungen

Betreuung:  Weißbrich, Moritz
Ist abgeschlossen:  ja

Seit einigen Jahren erfahren Approximate-Computing-Designansätze wachsendes Forschungsinteresse für energieeffiziente oder High-Performance-Hardwaredesigns. In Anwendungsfeldern wie der Bildverarbeitung kann eine gewisse Berechnungsungenauigkeit, z.B. aufgrund Grenzen menschlicher Wahrnehmung oder bereits verrauschter Eingangsdaten, toleriert werden. Indem konventionelle Designvorgaben exakt berechnender arithmetischer Hardware gelockert werden, ist es im Abtausch gegen Berechnungsgenauigkeit möglich, über die Möglichkeiten exakter Architekturen hinaus die Verlustleistung zu senken oder die Performance zu steigern.

In der Literatur werden verschiedene approximative Architekturmodifikationen für Addierer und Multiplizierer präsentiert, wobei jede Architektur eine eigene Charakteristik bzgl. des Approximationsfehlers, benötigter Chipfläche und Verlustleistung sowie möglicher Performance aufweist. Eine vollständige Evaluation der vorgeschlagenen Approximationsansätze ist daher unumgänglich für die Auswahl geeigneter, auf eine Applikationsklasse spezialisierter arithmetischer Hardware.

In dieser Arbeit soll eine Auswahl approximierender Addierer- und Multipliziererarchitekturen aus der Literatur als strukturelle und generische RTL-Beschreibung in der Hardware-Beschreibungssprache VHDL implementiert werden. Eine Organisation als Modulbibliothek mit einheitlichen Schnittstellen soll die einfache Verwendbarkeit und Austauschbarkeit der arithmetischen Einheiten sicherstellen. Im Rahmen der Evaluation der Implementierung sollen ASIC-Synthesen mit einer verfügbaren Standardzell-Bibliothek sowie Simulationen durchgeführt werden, um den Abtausch zwischen Berechnungsgenauigkeit, Performance, Chipfläche und Verlustleistungsaufnahme zu quantifizieren.