Signalverarbeitung in Hochleistungssystemen Warum FPGAs gegenüber Standard-DSPs überlegen sind
Eine unflexible Hardware-Architektur begrenzt die Leistungsfähigkeit von DSPs. In FPGAs implemen- tierte DSP-Systeme dagegen sind variabel bezüglich Busstruktur, Speicher, Hardware-Beschleuniger und Anzahl von MAC-Blöcken
Anbieter zum Thema
DSPs sind zwar softwareprogrammierbar, die Hardware-Architektur ist jedoch nicht flexibel und begrenzt somit die Leistungsfähigkeit Bus, Anzahl der MAC-Blöcke, Speicher etc.). FPGAs bieten dagegen eine vollständig kundenspezifische Anpassung der Hardware zur Implementierung verschiedenster DSP-Anwendungen. In FPGAs implementierte DSP-Systeme können auf eine variable Architektur bezüglich Busstruktur, Speicher, Hardware-Beschleuniger und Anzahl von MAC-Blöcken zurückgreifen.Während der letzten sechs Jahre ist die DSP-Leistungsfähigkeit von FPGAs um den Faktor 16 gestiegen und hat heute einen Stand von rund 500 GMACs (Giga Multiply-Accumulate-Operations per second) erreicht. In diesem Zeitraum ist die Rechenleistung von Standard-DSPs von 1,6 auf etwa 8,0 GMACS angestiegen (Bild 1). Die Infrastruktur für die drahtlose Kommunikation, Equipment für Video-Broadcast und medizinische Bildverarbeitung sind Bereiche, die nach immer höherer DSP-Rechenleistung verlangen. Um diesen Anforderungen gerecht zu werden, sind leistungsfähige FPGAs hier zur bevorzugten programmierbaren DSP-Plattform geworden.
Ein System, das eine hohe DSP-Rechenleistung benötigt, ist eine Basisstation-Plattform für die mobile Kommunikation der dritten Generation. Eine solche Plattform enthält eine HF- und eine Channel-Karte – beides Anwendungen, die sehr hohe Rechenleistungen benötigen. Ausgeklügelte Algorithmen helfen hier, diese Herausforderungen zu meistern. Sie benötigen aber deutlich mehr Rechenleistung als traditionelle DSPs zur Verfügung stellen können. Viele Komponenten für die drahtlose Infrastruktur verlassen sich daher mittlerweile auf FPGAs, wenn es um die HF-Linearisierung geht.
Ein weiterer Bereich, in dem FPGAs zur bevorzugten Verarbeitungsplattform geworden sind, stellt die Basisband-Verarbeitung in WiMAX-Anwendungen dar. Auch hier sind aufgrund des OFDM-Modulationsverfahrens (Orthogonal Frequency Division Multiplexing) enorme Rechenleistungen gefordert, die nur mit ASICs oder FPGAs zu erfüllen sind. Da ASICs oft zu teuer und risikoreich in der Entwicklung sind, bieten FPGAs hier klare Vorteile im WiMAX-Markt (Bild 2).
FPGAs ideal für den DSP-Einsatz
Was macht FPGAs nun zur idealen Lösung für DSP-Anwendungen? Ganz einfach: Die hohe Anzahl von Multiplizierern, die große On-Chip-Speicherbandbreite, die enorme I/O-Bandbreite und die Flexibilität der FPGA-Architektur, die sich durch die programmierbare Logik ergibt. All diese Eigenschaften stellen sicher, dass keine andere programmierbare Technologie eine vergleichbare DSP-Leistungsfähigkeit liefert. FPGAs bieten im Vergleich zu allen anderen Halbleiterlösungen die höchste programmierbare DSP-Leistung bei niedriger Leistungsaufnahme, geringen Systemkosten und geringem Platzbedarf auf der Leiterplatte.
Systementwickler können ein vergleichbares System mit nur einem Board und einem oder mehreren FPGAs entwickeln, für das sonst Dutzende von DSPs und möglicherweise mehrere Leiterplatten benötigt wurden. Nachdem bei FPGAs eine vertikale Migration mit dem gleichen Gehäusetyp möglich ist, lässt sich ein einziges Board und Systemdesign leicht von einer Lowend- zur absoluten Highend-Lösung skalieren, ohne dass mehrere Board-Designs erforderlich wären. Diese Flexibilität ist ein wichtiger Vorteil, weil sich damit Entwicklungs- und Verifikationskosten für die Produktlinien reduzieren lassen.
Die hohe Anzahl von On-chip-Multiplizierern (bis zu 896 18 × 18-Multiplizierer bei Stratix-III-FPGAs) in einem DSP-Block ist eine wichtige Innovation. Denn sie ermöglicht, dass mehrere Multiplizierer auf weniger Siliziumfläche untergebracht werden können und dass die Leistungsaufnahme sinkt. DSP-Blöcke sind typischerweise Hardwareblöcke, die auf Rechenleistung, Flexibilität und geringe Leistungsaufnahme getrimmt sind. DSP-Blöcke in Silizium haben jedoch zwei physikalische Beschränkungen: die Anzahl an Peripherie und die Fläche, die sie benötigen. Die Peripherie eines DSP-Blocks verbindet 144 Eingangs- und 144 Ausgangsleitungen sowie die entsprechenden Steuersignale. Bei den Stratix III-FPGAs reicht die Fläche eines DSP-Blocks für vier 18 × 18-Multiplizierer, entsprechend der Gesamtzahl der Eingangs- und Ausgangssignale.
Optimierter DSP-Block für hohe Rechenleistung
Auf Systemebene hat sich gezeigt, dass viele Kunden die Multiplizierlogik vorwiegend für Filter- und Transformationsalgorithmen nutzen, die zum Großteil auf Additions- und Multiplikationsoperationen beruhen. Wird der Kernbereich eines DSP-Blocks optimiert, lassen sich zweimal so viele Additionen und Multiplikationen durchführen. Dadurch reduzieren sich die Anforderungen an die I/Os relativ zur gesamten Rechenleistung. Wenn mehr Rechenoperationen eines DSP-Algorithmus innerhalb eines DSP-Blocks abgearbeitet werden können, steigt die gesamte Effizienz des Chips erheblich an.
Ein DSP-Block mit acht 18 × 18-Multiplizierern und den dazugehörigen Registern, Akkumulatoren sowie Rundungs-/Glättungsschaltungen ist in Bild 3 dargestellt. Die Nutzung der Multiplizierer ist ausschließlich durch die Anzahl der Ausgangsleitungen vom DSP-Block begrenzt, nicht durch die Logikfläche. Vergleicht man diesen Ansatz mit konkurrierenden Architekturen, ergibt sich eine um rund 50% höhere Siliziumeffizienz. Den höchsten Anspruch an die DSP-Fähigkeit eines Logikblocks stellen Algorithmen, die Sum-of-Multiplication-Operationen aufweisen. Beispiele hierfür sind FIR-Filter (Finite Impulse Response) oder komplexe Multiplikationen. Die Anzahl von 18 × 18-Multiplizierern steigt erheblich an, sobald eine Sum-of-Multiplication-Operation Teil des Algorithmus ist.
Infrastrukturanwendungen in der drahtlosen Kommunikation sind ein gutes Beispiel dafür, wie die Flexibilität von FPGAs genutzt werden kann. FPGAs findet man in flexiblen Channel-Karten, die verschiedene Standards unterstützen und dank vertikaler Migration auch verschiedene Kanaldichten. Eine Basisstation kann mit einem Minimum an Kanälen konfiguriert werden oder aber auch mit sehr vielen Kanälen, alles mit der gleichen Architektur und nur durch die Wahl von FPGAs mit unterschiedlichen Kapazitäten. In vielen sich entwickelnden Regionen liegt der Fokus mehr auf einem flexiblen, aufrüstbaren und servicereichen Equipment, wo die Flexibilität von FPGAs zum Tragen kommt. In diesen sehr kostensensitiven Bereichen kann das gleiche Produkt auch auf einem strukturierten ASIC der HardCopy-Familie basieren, wenn die Funktionalität weitgehend standardisiert ist.
Vorteile bei externer Bandbreite
FPGAs weisen eine deutlich höhere I/O-Bandbreite als konkurrierende DSPs auf. Die I/O-Bandbreite, die durch immer mehr Eingangs- und Ausgangsdaten sowie durch den Bedarf an mehr externen Datenspeicher nach oben getrieben wird, ist ein wichtiger Faktor für die Verarbeitungsleistung eines Systems. Für speicherintensive Anwendungen unterstützen die Speicherschnittstellen der Stratix-III-FPGAs DDR3-Speicher mit 400 MHz. Das ist eine um bis zu 16-mal höhere externe Bandbreite als die von führenden Standard-DSPs.
FPGAs haben sich in den letzten Jahren schnell als Systemlösungen etabliert, weil die Systemarchitekten dank der Entwicklungs-Tools auf Systemebene die Flexibilität, Skalierbarkeit, hohe Signalverarbeitungsleistung und Steuerungsmöglichkeiten dieser Lösungen einfach umsetzen konnten. Diese Tools beinhalten DSP-Systemmodellierungs- und Systemintegrations-Tools, Steuerungs-IP, automatische C-to-Hardware-Beschleuniger und DSP-optimierte Anwendungs-IP. Mit Hilfe dieser Tools können Entwickler schnell leistungsfähige Architekturen realisieren, die genau auf ihre Systemanforderungen zugeschnitten sind. Zusammen mit der vertikalen Migration und der Migration auf HardCopy können Systemarchitekten eine Skalierbarkeit quer durch ihre Produktlinien erreichen und viele Produktvarianten implementieren, um den Marktanforderungen gerecht zu werden, während sie einen entscheidenden Produktivitätszugewinn erhalten.
Die entsprechenden Tools und das IP, das notwendig ist, um eine Architektur komplett in einem FPGA abzubilden, stehen heute zur Verfügung. Aber trotzdem gibt es Anwendungen, in denen ein Standardprozessor für das System erforderlich oder empfehlenswert ist. Dieser kann in Zusammenarbeit mit einem FPGA (FPGA-Coprocessing) die Systemleistungsfähigkeit erhöhen und gleichzeitig die Systemkosten, Leistungsaufnahme und den erforderlichen Leiterplattenplatz senken. Dabei übernimmt das FPGA die rechenintensiven Algorithmen und entlastet so den Prozessor. Viele Systeme nutzen daher einen Steuerungsprozessor, einen DSP und ein oder mehrere FPGAs (in denen der Großteil der Rechenarbeit abläuft). In solch einem Aufbau werden der Steuerungsprozessor und der DSP für die bereits bestehende Software, das Betriebssystem oder andere Funktionen (wie Windows-GUI-Steuerung) genutzt.
DSP-Technologie in PLDs
Verstärkt werden für die Signalverarbeitung in Hochleistungssystemen FPGAs eingesetzt, denn sie bieten die höchste programmierbare und flexible Signalverarbeitungsleistung, die auf Halbleitern zur Verfügung steht. Zusammen mit der vertikalen Migration und der Umstiegsmöglichkeit auf strukturierte ASICs (HardCopy) als kostengünstige Bausteinvariante stellen FPGAs eine sehr flexible Systemarchitektur dar, die die Anforderungen an hohe Rechenleistung, niedrige Leistungsaufnahme, attraktiven Preis, Produktvarianz und Lebenszyklus erfüllt.
*Paul Ekas ist Senior Product Manager bei Altera in San Jose, Kalifornien.
(ID:191346)