Power-Management FPGAs richtig versorgen

FPGAs benötigen verschiedene Versorgungsspannungen. Für Konfigurationsschaltungen, Verwaltungsfunktionen, die verschiedenen I/Os, SerDes-Transceiver, Taktmanagement etc. gelten jeweils individuelle Anforderungen. Beim Design einer Stromversorgung für ein FPGA muss dies berücksichtigt werden.

Programmierbare Logikbausteine wie FPGAs und CPLDs agieren auf der Leiterplatte meist als System-on-a-Chip (SoC). Daher gestaltet sich das Design der Stromversorgung für solch einen Bau-stein ähnlich wie bei einem kompletten System. Bei High-End-FPGAs wie der »Virtex-M«-Serie von Xilinx oder der »Stratix«-Serie von Altera sind nicht selten 10 bis 15 verschiedene Versorgungsspannungen erforderlich.

Bei FPGAs geringerer Dichte (Beispiele sind die Reihen »Kintex« und »Spartan« von Xilinx oder die Altera-Serien »Arria« und »Cyclone«) werden je nach Anwendung zwischen 2 und 10 Versorgungsspannungen benötigt. Die meisten modernen programmierbaren Logikbausteine benötigen eine Core-Versorgungsspannung, die den Großteil des Chips speist und auf welche die meiste Verlustleistung entfällt. Jede neue Prozesstechnologie benötigt jeweils eine neue Core-Spannung.

Ergänzende Schaltungen wie die Konfigurationslogik, das Taktmanagement sowie Verwaltungsfunktionen erfordern weitere Versorgungsspannungen. Hinzu kommt, dass FPGAs häufig als Brücke zwischen verschiedenen Schnittstellenstandards genutzt werden. Jeder I/O-Treiber benötigt dazu seine ganz spezifische Versorgungsspannung, die zwischen 1,2 V und 3,3 V betragen kann. Beispiele für solche Schnittstellen sind LVTTL/LVCMOS, LVDS, bus LVDS, mini-LVDS, HSTL, SSTL und TMDS.

Besondere Sorgfalt ist bei der Versorgung schneller SerDes-Transceiver geboten, die mit Datenraten zwischen 155 MBit/s und 28 GBit/s oder sogar mehr arbeiten können und jeweils zwischen einem und mehreren Ampere benötigen. Eine 100G-Ethernet-Anwendung etwa benötigt mehrere solcher Transceiver und kommt damit leicht auf 10 A oder mehr. Wegen der hohen Datenraten dieser Applikationen würde sich eine verrauschte Versorgungsspannung auch besonders nachteilig für die Performance auswirken.

Angesichts dieser enormen Vielfalt bei den FPGAs kommt es darauf an, für jeden Anwendungsfall die genau passende Stromversorgung zu wählen. Entwickler müssen die Spannungsregler für die Maximalleistung einer jeden Versorgungsspannung richtig zusammenstellen, die Sequencing-Anforderungen definieren und auch die Power-Management-Anforderungen des Systems festlegen.

Wegen der immer kleiner werdenden Schaltungsstrukturen der FPGAs müssen die Versorgungsspannungen außerdem immer geringere Toleranzen einhalten. Aus diesem Grund sind Regler mit einer Regelgenauigkeit von 1% über alle Netz-, Last- und Temperaturvariationen sowie Herstellungstoleranzen von so großer Bedeutung (Bild 1).

Leistungsverbrauch abschätzen

Um den Leistungsbedarf eines FPGAs grob abzustecken, geht ein Entwickler am besten nach den folgenden drei Schritten vor:

  • Benötigte Spannungen bestimmen: Man kann dazu das Datenblatt des jeweiligen FPGAs heranziehen, muss sich aber auf alle Fälle vergewissern, dass alle benötigten Versorgungsspannungen mit den jeweils angegebenen Stromschätzungen berücksichtigt sind.
  • In Datenblättern nach möglichen Spannungsreglern suchen: Damit stellt man sicher, dass die Werte in Bezug auf VIN, VOUT, IOUT, Sequencing, Schnittstellen und Programmierbarkeit den Anforderungen des FPGA gerecht werden.
  • Die Produktdatenbank eines Herstellers heranziehen, um die besten Bauteile für das FPGA und die Anwendung zu ermitteln.

Die Wahl der richtigen Stromversorgung für ein FPGA oder PLD beginnt damit, dass der Entwickler die Auswahl der Komponenten auf die Leistung ausrichtet, die für jede Versorgungsspannung einer Applikation erforderlich ist. Auf Basis dieser Informationen kann er dann darangehen, eine Stromversorgung zu begutachten und schließlich auszuwählen.

Darüber hinaus kann der Entwickler die Auswahl über weitere Anforderungen verfeinern. Dazu zählen Start-up-Sequencing und Tracking, das Anlaufen an einem bereits unter Spannung stehenden Verbraucher, die Synchronisation zu einem externen Takt und die Messung bei der Last (Remote Sensing).
Viele dieser Features findet man heute in einem einzigen Baustein integriert. Je nach Anwendung können diese neuen Features entweder unbedingt erforderlich oder auch vollkommen überflüssig sein. Die passende Stromversorgung kann man also nur dann finden, wenn man genauestens mit der jeweiligen Anwendung vertraut ist.

Anforderungen des Systems

Designüberlegungen auf der Systemebene beeinflussen ebenfalls die Wahl der Stromversorgungsarchitektur. Bei einfacheren FPGA-Anwendungen setzt man hier auf Regler mit einer oder mehreren Ausgangsspannungen. Aus einer Eingangsspannung von 5 V oder 12 V können diese Bausteine alle benötigten Versorgungsspannungen für ein FPGA erzeugen. Überdies enthalten sie die erforderlichen Sequencing-Schaltungen und benötigen daher ein Minimum an externen Bauelementen.

Ein einfacher Einsatz und Anwenderfreundlichkeit hat in diesen Applikationen höchste Priorität, weshalb diese Regler einen hohen Integrationsgrad aufweisen. Weitere Features, die diese Stromversorgungsdesigns zusätzlich vereinfachen, sind integrierte MOSFETs, interne Kompensationsmaßnahmen, die digitale Programmierbarkeit sowie integrierte Induktivitäten.

Infrastruktur-Equipment enthält FPGAs, DSPs, ASICs und Peripheriefunktionen, die durch zahlreiche Point-of-Load-Regler (PoL) versorgt werden. Diese PoL-Regler steuert in vielen Fällen ein zentraler Master-Controller. Oft kommt in solchen Anwendungen das PMBus-Protokoll oder eine I²C/SPI-basierte Regelung mit einem Mikrocontroller zum Einsatz.

Einige Anwendungen machen es notwendig, die Stromversorgung der FPGAs auf der Leiterplatte und zahlreicher weiterer Bauelemente im System mit einer dynamischen Power-Management- und Monitoring-Lösung zu koordinieren.Gelegentlich wird empfohlen, einige ICs auf bestimmte Ereignisse hin ein- beziehungsweise auszuschalten.

In solchen Fällen bewähren sich Power-Management-ICs wie die Bausteine »MAX34440« und »MAX34441« von Maxim, die mehrere PoL-Regler und auch Lüfter ansteuern können (Bild 2). Diese ICs können die Ausgangsleistung für mehrere Betriebsarten (z.B. Hibernate und Standby) dynamisch regeln und warten mit besonderen Überwachungs- und Fehlerprotokollierungsfunktionen auf.

Batteriebetriebene Anwendungen können die Stromsparfunktionen der Xilinx-FPGAs nutzen. Diese belassen die FPGA-Schaltungen im Hibernate-Modus (Tiefschlaf), solange es keine Algorithmen zu verarbeiten gilt. Reglerbausteine wie beispielsweise der »MAX15053« von Maxim können derartige FPGAs versorgen. Sie unterstützen Techniken wie das Pulse-Skipping und steigern dadurch den Wirkungsgrad beim Betrieb mit geringer Last (Bild 3).

Über den Autor:

Viral Vaidya ist Business Manager für industrielle Stromversorgungsprodukte bei Maxim Integrated.