Anforderungen für Mobilgeräte Kleine Flash-FPGAs mit geringem Stromverbrauch

Autor / Redakteur: Wendy Lockhart* / Holger Heller

Um bei tragbaren Geräten die Anforderungen „Abmessungen und Stromverbrauch“ zu erfüllen, sind eigentlich ASICs erforderlich. Der Marktdruck, kurze Entwicklungszyklen und niedrigere Kosten lassen ASIC-Entwicklungen aber zu einem Designrisiko werden. Spezielle FPGA-Techniken bieten hier eine geeignete Lösung.

Anbieter zum Thema

Das vergangene Jahrzehnt war geprägt von schnellen und dauerhaften Veränderungen hin zu kleineren und handlicheren Systemen. Viele große Systeme, die einst ihren Platz auf dem Schreibtisch hatten, gibt es heute in tragbaren Ausführungen. Andere Mobilgeräte, die in einem Rucksack oder in einer Aktentasche transportiert werden mussten, sollen heute in die Brusttasche eines Oberhemds passen. Die Batterielaufzeit zwischen den Ladevorgängen, einst in Stunden gemessen, muss heute mehrere Tage erreichen. Überlegungen zu Kriterien wie Abmessungen und Stromverbrauch genießen bei vielen Systemdesigns eine hohe Priorität.

Tragbarkeit und lange Batterielaufzeit sind oft widersprüchliche Entwicklungsanforderungen. Entwicklerteams stehen vor der Herausforderung, immer mehr Funktionen in noch kleinere Gehäuse zu packen und dann irgendwie genug Strom in den Baustein zu bringen, der ausreicht, um mit einer einzigen Batterieladung alle Gerätefunktionen für Tage, Wochen oder Monate zu ermöglichen. Dafür sind eigentlich ASICs vorgesehen, die aber durch den Marktdruck hinsichtlicher kürzerer Entwicklungszyklen und niedrigerer Kosten zu einem hohen Designrisiko führen.

Aufgrund der relativ langen Zeit, die für die Entwicklung und das Debugging eines ASICs erforderlich ist, könnten ein bestimmtes Marktfenster verpasst werden oder so hohe Entwicklungskosten entstehen, dass sich unmöglich Gewinne erzielen lassen. Entwicklerteams entscheiden sich daher für den Einsatz von FPGAs. In vielen Applikationen bieten FPGAs die gleiche Funktionalität wie ein ASIC oder übertreffen diese. Beachten sollte man jedoch, dass nicht alle FPGAs gleich sind. Dies gilt speziell für tragbare Applikationen, die nur wenig Strom verbrauchen dürfen.

FPGA-Grundlagen

Die detaillierte Beschreibung eines FPGAs würde den Rahmen dieses Beitrags übersteigen. Deshalb soll hier lediglich ein kurzer Überblick erfolgen. In einem FPGA befinden sich im Prinzip mehrere programmierbare Logikblöcke sowie ein Netzwerk aus programmierbaren Verbindungsleitungen. Entwickler programmieren die Interconnects, um die Logikblöcke zu verbinden und kundenspezifische Funktionen zu realisieren.

FPGAs bieten Designteams zwei wesentliche Vorteile: Flexibilität bei der Entwicklung und kurze Entwicklungszeit. Mit FPGAs können Entwickler in der gleichen Zeit, die für einen einzigen Durchlauf eines ASIC-Designzyklus erforderlich ist, mehrere Designoptionen realisieren und testen. Als Ergebnis entsteht ein besseres Design in kürzerer Zeit.

Aufgrund dieser Vorteile könnte man sich fragen, warum FPGAs nicht in noch mehr Designs eingesetzt werden. Die Antwort liefert die Prozesstechnologie. FPGAs werden normalerweise in SRAM-Technik gefertigt. Dadurch entstehen Bausteine mit großen Abmessungen und hohem Stromverbrauch. Diese Nachteile begrenzen die Einsatzmöglichkeiten von SRAM-FPGAs in tragbaren Applikationen. FPGAs in Flash-Technologie hingegen vermeiden die genannten Nachteile und machen programmierbare Logik zur idealen Lösung für Mobilgeräte.

Kleinere Abmessungen, weniger Stromaufnahme

So bietet Actels Low-Power Flash-FPGA-Technik gegenüber SRAM-FPGAs kleinere Abmessungen und einen geringeren Stromverbrauch. Die nicht flüchtigen, wiederprogrammierbare Flash-FPGAs nutzen als programmierbare Schalter für die Verbindungsleitungen lediglich eine einzige Flash-Zelle. Im Vergleich dazu nutzen SRAM-FPGAs aus sechs Transistoren bestehende Zellen. Sie sind deshalb größer und verbrauchen mehr Strom. Actels nano-FPGAs werden in Gehäusen mit Abmessungen von 3 mm × 3 mm angeboten. Die Flash-Bausteine verbrauchen nur 2 µW.

Bild 1: Power-Profil eines Beispiel-FPGAs unter Berücksichtigung der Zeit in den jeweiligen Betriebsarten (Archiv: Vogel Business Media)

Entwicklungen mit FPGAs verlaufen nicht ohne Herausforderungen. Dies gilt speziell für Low-Power-Applikationen. So müssen Entwickler neben den Datenblättern für die jeweiligen Bausteine das gesamte Power-Profil des FPGAs berücksichtigen, das aus fünf verschiedenen Betriebsarten besteht: Einschaltvorgang (Power-up-Mode), Konfigurations-Mode, Standby-Mode, aktiver Betrieb (Active-Mode) und Sleep-Mode. Um den gesamten Strombedarf bestimmen zu können, müssen die Entwickler berechnen, wie lange sich das System in jeder Betriebsart befindet. Auch die Betriebstemperatur muss berücksichtigt werden, da sich der Stromverbrauch von FPGAs mit der Temperatur ändert (Bild 1).

SRAM-FPGAs befinden sich normalerweise in einem unkonfigurierten Zustand, in dem sie so lange verbleiben, bis die Einschalt- oder Power-up- bzw. Reset-Sequenz abgeschlossen ist. Der Einschaltprozess umfasst das Hochfahren der Stromversorgungen auf ihren Spannungsendwert, das Hochfahren des Systems in einen stabilen Zustand sowie die Konfiguration des FPGAs, basierend auf den Informationen zur Systemkonfiguration (siehe Konfigurationsmodus).

Während des Einschaltens können Stromspitzen von mehreren Ampere entstehen, die mehrere Mikrosekunden dauern. Um die Stromspitzen beim Einschalten von SRAMs abzumildern, setzen Entwickler oft komplexe Power-Sequencing-Techniken ein. Diese verursachen jedoch Zusatzkosten und erhöhen die Komplexität des Systems. Beim Einschalten von Actels Flash-FPGAs entstehen gegenüber SRAM-FPGAs nur geringe Stromspitzen.

Konfigurationsmodus und -sequenz

Sobald die Einschalt- und Reset-Sequenz für ein SRAM-FPGA abgeschlossen ist, beginnt die Konfigurationssequenz. Im Konfigurationsmodus werden die Konfigurationsdaten in das FPGA geladen und der Baustein programmiert. Dazu sind Konfigurationsströme erforderlich. In der Konfigurationssequenz können leicht mehrere 100 mA für die Dauer mehrerer 100 ms verbraucht werden.

Bild 2: Einschalt- und Konfigurationsströme von SRAM-FPGAs gegenüber nicht flüchtigen Flash-FPGAs (Archiv: Vogel Business Media)

Dies wiederholt sich bei jedem Einschalten des Systems. Für Systeme, die am Leitungsnetz arbeiten, kann dieser Sachverhalt akzeptabel sein. Bei tragbaren, batteriegespeisten Systemen jedoch sind die relativ hohen Ströme nicht tolerierbar. Im Gegensatz zu SRAM-FPGAs bleiben bei Actels Flash-FPGAs die Konfigurationsdaten auch dann erhalten, wenn die Bausteine von der Versorgungsspannung getrennt werden. Deshalb sind keine Konfigurationsströme erforderlich (Bild 2).

Bild 3: IGLOO-FPGAs verbrauchen im statischen Betrieb 1000- bis 1700-mal weniger Leistung als Bausteine des Wettbewerbs (Archiv: Vogel Business Media)

Ein FPGA kann sich über längere Zeiträume im Standby-Mode befinden. In diesem Zustand ist das FPGA zwar eingeschaltet, jedoch nicht aktiv. Die Leistungsaufnahme im Standby wird normalerweise als „statische Leistung“ bezeichnet. Sogar im Standby verbrauchen SRAM-FPGAs wesentlich mehr Strom als Flash-FPGAs. Auch die Temperatur spielt im Standby-Modus eine wichtige Rolle. Bei Raumtemperatur können SRAM-FPGAs über 1000-mal mehr statische Leistung aufnehmen als Flash-FPGAs, wobei sich der Leistungsverbrauch bei steigender Temperatur erhöht. Für tragbare Geräte, die sich meist im Standby befinden, sind Flash-FPGAs die beste Wahl (Bild 3).

Im Active-Mode arbeiten FPGAs entsprechend ihrer Programmierung. Die im Active-Modus benötigte Leistung wird als „dynamische Leistung“ bezeichnet. Je nach Taktfrequenz, Kapazität der Logikelemente, Schaltaktivitäten im Inneren und an den I/Os kann die Stromaufnahme im dynamischen Betrieb eines FPGAs stark schwanken. Wenn die dynamische Leistung lediglich aus der Leistung bestehen würde, die bei Logikoperationen verbraucht wird, wären die Leistungsprofile für alle modernen FPGA-Technologien ähnlich. Zur gesamten dynamischen Leistung jedoch gehört auch der statische Leistungsanteil im Standby-Mode. Sogar im Active-Mode verbrauchen SRAM-FPGAs mehr Strom als Flash-Bausteine. Genau wie beim Standby-Mode ergibt sich auch im Active-Mode bei hohen Temperaturen eine höhere Leistungsdifferenz.

Unterschied zwischen Sleep- und Standby-Modus

Um bei tragbaren Geräten speziell im ungenutzten Zustand (Idle-Mode) Strom zu sparen, implementieren die Entwickler normalerweise den „Sleep-Mode“. Zu beachten ist der Unterschied zwischen Sleep-Mode und Standby-Mode. Im Standby-Mode ist ein Gerät zwar eingeschaltet, arbeitet aber nicht. Im Sleep-Mode eines Gerätes fließt lediglich ein minimaler Strom, der einen schnellen Einschaltvorgang ermöglicht.

Ohne spezielle Maßnahmen (z.B. zusätzliche Schaltungen zum Kompensieren des Sleep-Modes) verlieren SRAM-FPGAs ihre Konfigurationsdaten und müssen deshalb vor dem Umschalten in den Standby- oder Active-Mode neu konfiguriert werden. Dabei wird Konfigurationsstrom verbraucht. Actels Flash-FPGAs verfügen über mehrere Low-Power-Betriebsarten wie etwa der „Flash*Freeze“-Modus. In dieser Betriebsart lässt sich bei den IGLOO-nano-FPGAs der Leistungsverbrauch auf 2 µW senken. Darüber hinaus können Entwickler den Flash*Freeze-Pin der FPGAs nutzen, um schnell und einfach in diesen Modus zu gelangen oder diesen zu verlassen.

Auf dem Markt für Mobilgeräte nutzt Low-Power-Technik ohne kleine Gehäuseabmessungen nur wenig. So sind Grundfläche und Höhe eines FPGAs ebenso wichtig wie die Zahl der I/Os. Actel bietet FPGAs mit Abmessungen von nur 3 mm × 3 mm und einer Höhe von 0,7 mm an. Das Unternehmen hat damit Bausteine mit äußerst kleinem Formfaktor im Programm, die durch den Einsatz von Micro-Chipscale-Technik mit 0,4 mm Pitch-Packaging hinsichtlich der Anzahl der I/Os bei gleichzeitig kleinen Gehäuseabmessungen führend sind.

*Wendy Lockhart ist Principal Engineer Market Communications, Actel, Mountain View, Kalifornien.

Artikelfiles und Artikellinks

(ID:282912)