Embedded Systems

Statische Schaltungsanalyse zur Detektion redundanter Registeraktivitäten

Bearbeitet von Y. Runge.

Master’s Thesis

Abstract

In dieser Arbeit wird eine Methodik präsentiert, mit deren Hilfe taktübergreifende Registerabhängigkeiten bei der Generierung von Sleep Mode Traces berücksichtigt werden können. Sleep Mode Traces zeichnen abschaltbare Komponenten eines Designs in Abhängigkeit der Zeit auf und werden in aktuellen Ansätzen zur elektrischen Leistungsoptimierung von integrierten Schaltkreisen verwendet. Sie müssen jedoch entweder manuell oder automatisiert, aber zufällig generiert werden. Diese Arbeit ist die Erweiterung eines Frameworks, das die Generierung von Sleep Mode Traces automatisiert. Hierzu analysiert es das Design und leitet ein Regelwerk von logischen Ausdrücken ab, mit dem bestimmt werden kann, wann Komponenten des Designs abschaltbar sind. In der ursprünglichen Implementierung des Frameworks konnte festgestellt werden, dass es für bestimmte Traces nicht alle abschaltbaren Komponenten als solche erkennt, was sich darauf zurückführen ließ, dass Komponenten als benötigt eingestuft wurden, die Ergebnisse produzierten, welche einige Takte später verworfen wurden. Um das zu erkennen, wird das Framework um eine Komponente erweitert, die Zusammenhänge zwischen Registern analysiert, um taktübergreifend festzustellen, wann eine Komponente benötigt wird und wann nicht. Mit dieser Information wird nun ein Trace Takt für Takt analysiert. Hierbei wird für die von Komponenten produzierten Ergebnisse geprüft, ob diese in der Zukunft für die Ausgangssignale des Designs relevant sind. Ist das nicht der Fall, so werden sie im Nachhinein verworfen. Tests zeigen, dass durch die Erweiterung des Frameworks bis zu 60 % mehr Leistung theoretisch eingespart werden kann. Der maximale Speicherbedarf des Frameworks wird jedoch bis zu verneunfacht und die Größe des Regelwerks steigt um ca. 10 %. Die benötigte Zeit für die Generierung des Regelwerks wird bis zu verfünffacht und die durchschnittliche Laufzeit für die Auswertung eines Taktes in einem Trace steigt von 5 ms auf 400 ms. Um diese Probleme zu lösen, können zusätzliche Erweiterungen eingebaut werden wie die Parallelisierung der Trace-Analyse, indem mehrere Takte gleichzeitig ausgewertet werden, die Verwendung von schnelleren Datenstrukturen während der Trace-Analyse (Map vs Array) und die Reduktion des maximalen Speicherbedarfs durch eine Verfeinerung der eingesetzten Algorithmen.

Contact

Bringmann, Oliver

Peterson, Dustin