Kinetis-System-on-Chips (SoCs) sind eine Familie hochintegrierter Low-Power-, Mixed-Signal-32-Bit-Mikrocontroller basierend auf dem ARM-Cortex-M4-Core. Für ihre NVM (Non-Volatile Memory)-Blöcke wird eine 90-nm-Split-Gate-Thin-Film-Storage(TFS)-Technologie eingesetzt.
Methoden zur Reduktion der Verlustleistung
Für Kinetis-SoCs hat Freescale zehn verschiedene verlustleistungsspezifische Betriebsmodi mit sehr aggressiven Verlustleistungsgrenzen definiert. Die folgenden Methoden wurden verwendet:
Clock Gating,
Multiple VT Libraries,
Extended Gate Length Libraries,
Back Biasing,
State Retention Power Gating (SRPG),
Power Gating and standby modes in RAM und
Multiple Supply Voltage (MSV) Power Domains.
Bereits der RTL-Code wurde so geschrieben, dass sich größere Gruppen von Registern mittels eines Enable-Signals abschalten lassen. Das Clock Gating wurde automatisch als Bestandteil der Synthese mit Cadence Encounter RTL Compiler eingefügt, wodurch die dynamische Verlustleistung um 30Prozent reduziert werden konnte. Zum Einsatz kamen hierbei auch Freescales Multi-Threshold-Zellbibliotheken mit drei Threshold Werten (HVT/SVT/LVT). Um noch eine weitere Leakage-Reduktion zu erreichen, wurden zudem Extended-Gate-Length-Bibliotheken verwendet.
Als eine weitere innovative Methode zur Leakage-Reduktion wurde das Back Biasing angewandt. Entgegen der traditionellen Standard-CMOS-Schaltungstechnik werden beim Back Biasing die Bulk-Anschlüsse der p-Transistoren mit jeweils höheren positiven Spannungen und der n-Transistoren mit negativen Spannungen vorgespannt. Bei der in Kinetis verwendeten Methode wurden die Bulk-Anschlüsse auf Versorgungsspannung (Ground) gelegt und die Source-Anschlüsse der Transistoren mit einer um 0,4 V geshifteten Spannung versorgt. Dieses Vorgehen führt zwar dazu, dass für Signalübergänge zu anderen Power-Domänen (beispielsweise zur 3,3-V-Domäne) nicht nur die Vdd-, sondern auch die Vss-Pegel angepasst werden müssen. Aber gemessen daran, dass keine Charge-Pump-Schaltungen für die sonst nötige Bulk-Vorspannung benötigt werden, ist der Aufwand dafür vertretbar gering.
Für den Haupt-SoC-Spannungsregler und Teile des RAMs kam Power Gating ebenfalls zur Anwendung. Für die RAMs wurde über getrennte Versorgungen der Standby-Mode realisiert. Zusätzlich wurden Power-Domänen mit verschiedenen Versorgungsspannungen auf Kinetis implementiert - 3,3 V für Domänen in Dual-Gate-Oxide(DGO)-CMOS-Technologie und 1,2 V für die verbleibenden Domänen.
Kinetis SoC Low-Power Design-Flow
Im Design-Flow wurde das Si2‘s Common Power Format (CPF) verwendet, welches es ermöglicht, den RTL-Code unabhängig von den zu verwendenden Low-Power-Methoden zu beschreiben und somit auch eine einfache Wiederverwendung gewährleistet. Außer Clock Gating und Leakage-Optimierung hat man alle Low-Power-Techniken im CPF modelliert. Ein „goldenes“ CPF-File wurde erstellt, und dieses allen Schritten des Design-Flows bereitgestellt:
Power-aware-Simulation
Die Power-aware-Simulation des Designs auf RTL- und Netzlisten-Ebene ermöglicht die Verifikation des korrekten Verhaltens von Low-Power-Techniken wie Power Gating, State Retention und der Isolation von abschaltbaren Power-Domänen. Dabei wird zum Beispiel den Signalen einer abgeschalteten Power-Domäne der Signalwert X zugewiesen. Damit kann man unter anderem verifizieren, dass die im CPF-File beschriebenen Regeln zur Isolation der Power-Domäne sicherstellen, dass kein X in den nicht abgeschalteten Teil des Designs propagiert wird und dort zu Fehlverhalten führt. Eine solche Simulation erfolgte mittels Cadence-Incisive-Technologie in zwei Schritten: Auf RTL-Ebene wurde die Low-Power-Architektur im Simulator basierend auf der CPF-Beschreibung modelliert. Nach der Synthese hat man das Verhalten basierend auf den eingefügten Low-Power-Komponenten (beispielsweise Power Switches und Isolationszellen) simuliert.
Synthese und Scan Insertion
Cadence RTL-Compiler fügte beim Syntheseschritt alle notwendigen Low-Power-Komponenten (basierend auf CPF) ein. Im Compiler sind die verschiedenen Synthese- und Optimierungsalgorithmen Power-Domain-aware, was eine korrekte Low-Power-Synthese des RTL-Codes sicherstellt. Auch die Scan-Insertion erfolgte im RTL-Compiler unter Beachtung der im CPF definierten Power-Domänen. Dies stellt sowohl eine volle Steuerbarkeit und Beobachtbarkeit im Testmodus als auch eine Testbarkeit der Low-Power-Komponenten selbst sicher.
Physikalische Implementierung
Die physikalische Implementierung hat man mit Cadence-Encounter-Digital-Implementation-System (EDI) vorgenommen. Dabei wurden neue und existente digitale sowie Mixed-Signal-Blöcke unter Einsatz so genannter CPF-Makromodelle integriert. Mit solchen Modellen kann man die Power-Architektur von komplexen IP-Blöcken beschreiben und eine Low-Power-korrekte Integration sicherstellen. Die Design-Tools von Cadence unterstützen standardmäßig die Implementierung von Low-Power-Techniken und sind alle Power-Domäne- aware. Dies ermöglicht eine korrekte physikalische Implementierung. So wird beispielsweise dafür gesorgt, dass Signale, die durch eine Power-Domäne geführt werden, mit den entsprechenden, erlaubten Bufferzellen optimiert werden, und diese auch an die richtige Versorgungsspannung angeschlossen werden.
Formale Verifikation
Für die formale Verifikation der Low-Power-Architektur kam Encounter Conformal Low Power zum Einsatz. Mit dessen Hilfe wurden strukturelle und funktionale Checks durchgeführt, um die richtige Umsetzung der CPF-Beschreibung zu verifizieren. Dabei konnte man fehlende Isolationszellen und für eine bestimmte Power-Domäne nicht erlaubte Bufferzellen identifizieren, die fälschlicherweise bei manuellen �?nderungen (ECOs) in das Design eingefügt wurden.
Ergebnisse und Fazit
Die Leistungsaufnahme lag entsprechend der Power Modi „Full-Performance Run“ bzw. „Very Low Power Run“ im Bereich von 280 bis 4 mW sowie zwischen 40 bis 6,6 µW im „Low Leakage Stop“- bzw. „Very Low Leakage Stop 1“-Modus. Die Ergebnisse lagen sehr nahe an der Zielspezifikation, wobei sich die mit den einzelnen Verfahren erreichten Einsparungen relativ genau vorhersagen ließen.
Die Realisierung eines Multi-mode/Multi-voltage-Clocknetzwerkes ist eine große Herausforderung. Wegen der unterschiedlichen Prozesstechnologie und Versorgungsspannung war es besonders schwierig, die Clock-Netzverzweigungen mit Übergängen von den 1,2-V- zu den 3,3-V-Domänen zu balancieren. Für künftige Derivate wird hierfür ein asynchrones Interface entwickelt.
Bezüglich der Design-Tools hatte das Layout der Standardzellen große Auswirkungen auf die im EDI-System erreichbaren Platzierungsdichten. Auf die Optimierung des Layouts der Low-Power-Zellen wird daher künftig verstärkt Wert gelegt werden, um die Integration im physikalischen Design zu vereinfachen.
Auch sollte die Simulation auf Gatterebene so früh wie möglich im Design-Zyklus erfolgen. Während der RTL-Simulation wurden falsche Werte, aber ein korrektes Verhalten auf Gatterebene aufgrund der asynchronen Natur einiger Blöcke entdeckt. Zudem sind einige Erweiterungen im CPF wünschenswert, besonders um die sehr große Auswahl an Low-Power-spezifischen Zellen von Freescale zu unterstützen.