Cadence Frühe Low-Power-Optimierung

Bei einer Leistungsverbrauchoptimierung auf Systemebene stellt sich das klassische Dilemma: Je früher eine Entscheidung gefällt wird, desto größer sind ihre potenziellen Auswirkungen. Deshalb geht ein früher Optimierungsansatz mit neuen Herausforderungen für die Modellierung und Analyse einher.

Die Low-Power-Optimierung konzentriert sich heute auf die unteren Implementierungsebenen. Dadurch lassen sich erhebliche Verbesserungen erzielen. Geht man das Problem jedoch bereits auf Systemebene an, so sind noch größere Fortschritte möglich. Allerdings geht ein früher Optimierungsansatz mit neuen Herausforderungen für die Modellierung und Analyse einher.

Eine erhebliche Optimierung lässt sich durch das Abschalten des Taktsignals in den Gates erreichen (Clock Gating). Oft ist es sinnvoll, größere Bereiche eines Designs komplett abzuschalten oder mittels variabler Spannungen einen Kompromiss zwischen Performance und Stromverbrauch zu finden. Die Software-Treiber, mit deren Hilfe sich diese Effekte erzielen lassen, müssen jedoch geschrieben, verifiziert und getestet werden. Ein solches Vorgehen macht die Hardware/Software-Integration zu einer großen Herausforderung.

Power-Analyse auf Transaktionsebene

Durch eine Power-Analyse auf der Basis von virtuellen Prototypen mit Modellen auf Transaktionsebene (TLMs) lassen sich Power-Management-Vorgaben prüfen und damit eine relative Optimierung der Software durchführen. Die ermittelten Leistungswerte sind allerdings nicht exakt genug, um die Leistungsaufnahme korrekt vorauszusagen.

Der Anwender kann damit aber abschätzen, ob eine Änderung relative Einsparungen erlaubt. Dies gilt insbesondere bei einem virtuellen TLM-Prototypen mit grobem Timing. Bei solchen ungenauen Timing-Details können die Tools nur Werte für den geschätzten Leistungsverbrauch pro Funktion liefern. Wird das Timing auf ungefähre Werte verfeinert, dann sind Kompromisse zwischen Performance und Leistungsaufnahme möglich, da der virtuelle Prototyp jetzt Leistungsprofile über die Zeit liefern kann.

Hardware-Komponenten lassen sich durch verschiedene Leistungsparameter charakterisieren, sodass sich die Leistung des jeweiligen Blocks berechnen lässt (Bild 1). Diese fasst ein zentrales Protokollierungsmodul für die Analyse zusammen. Mithilfe einer virtuellen Plattform können Entwickler außerdem die benötig-ten Leistungsmanagement-Treiber schon frühzeitig fertigstellen.

Diese helfen bei der Entscheidung, wann gewisse Teile des Designs in unterschiedliche Leistungsmodi geschaltet werden können. Während die Interpretation der Parameter, wie in Bild 1 gezeigt, an sich nicht schwierig ist, liegt die eigentliche Herausforderung darin, die richtigen Daten für die Interpretation zu messen. Die Anwender führen dazu heute eine Analyse auf der Basis von Leistungsabschätzungen und der Messung bisheriger Designs oder Messungen auf der Basis verfeinerter Daten durch, sobald diese im Design-Flow verfügbar sind.

Analyse auf RTL- oder Gatter-Ebene

Sobald ein Design auf RTL-Ebene (Register Transfer Level) verfeinert wurde, sind zwei große Herausforderungen zu meistern: die effiziente Beschreibung der Low-Power-Vorgaben für die Analyse und die effektive Erfassung der richtigen Menge von Umschaltinformationen im Betriebsmodus, um die Low-Power-Effekte verstehen zu können. Die Leistungsanalyse eines System-on-Chip (SoC) erfordert lange Durchläufe (Deep Cycles), um die maximale und mittlere Leistung auf Systemebene ermitteln und analysieren zu können.

Es gilt zudem zu vermeiden, dass die Analyse nur den lokalen maximalen Stromverbrauch erfasst. Mit der RTL-Simulation allein lässt sich dies nicht erreichen. Hier ist eine Verstärkung durch Hardware-unterstützte Verfahren notwendig, wie sie beispielsweise in der Verifikationsplattform »Palladium XP« von Cadence enthalten sind. Durch den Einsatz der Hardware-unterstützten Verifikation erhalten die Anwender eine echte Testumgebung, mit der sie die Auswirkungen der Software berücksichtigen können.

Palladium XP enthält eine schnelle Low-Power-Berechnungs-Engine und ermöglicht eine Analyse für einen Kompromiss zwischen Geschwindigkeit und Genauigkeit. Es lassen sich beispielsweise Umschaltinformationen zu den Designaktivitäten erfassen. Eine schnelle, grobe Analyse auf der Basis der Umschalthäufigkeit (»Native Toggle Counts«) ist schnell eingerichtet und liefert grundlegende Designinformationen.

Sind die Höchstwerte mit hoher Genauigkeit zu ermitteln, dann ist dies mittels »Weighted Toggle Count« (WTC) für verschiedene Netze möglich. Die höchste Genauigkeit lässt sich durch eine feinkörnige Analyse mit Hilfe des »Full Toggle Count Format« (TCF) erreichen. Für eine leistungsorientierte funktionelle Verifikation ist es möglich, das Low-Power-Modell in CPF (Common Power Format) zu erstellen.

Palladium XP liest dann die CPF-Datei und erstellt automatisch die Messlogik für den Low-Power-Betrieb. Dessen Aktivität kann dann erfasst und in Form eines Signalverlaufs für das Debugging dargestellt werden. »Palladium Dynamic Power Analysis« (DPA) kennt die Power-Vorgaben über das CPF-Modell, dessen Informationen zum Leistungsmodus und zu den Leistungsdomänen dann in den DPA-Report einfließen.

Vom System bis zur Implementierung

Für die Entwickler gilt es, den steigenden Erwartungen der Verbraucher an Elektronikgeräte nachzukommen und neue Wege in der Power-Optimierung einzuschlagen. Ein kombinierter Flow von TLM über RTL bis hin zur Implementierung kann entscheidend bei der Optimierung der Low-Power-Anforderungen helfen. Die im frühen Entwicklungsstadium getroffenen Designentscheidungen und der damit einhergehende Anstieg der Verifikationsläufe mit stetig verfeinerten Daten erfordern auf Leistungsoptimierung spezialisierte Entwurfsabläufe, die Verfahren auf unterschiedlichen Abstraktionsebenen kombinieren können (Bild 2).

Von TLM-basierten virtuellen Plattformen ausgehend lassen sich die Power-Vorgaben deklarieren und anschließend für die Implementierung in RTL weitergeben. Sind durch ständige Präzisierung verfeinerte Messdaten verfügbar, können diese nochmals in die frühen Designphasen einfließen, um die angestrebten Verhaltensweisen zu erzielen. Der Dreh- und Angelpunkt zur erfolgreichen Low-Power-Optimierung liegt daher im Ansatz auf Systemebene.

Über den Autor:

Frank Schirrmeister ist Senior Director bei Cadence Design Systems.