Herzlich Willkommen beim beam-Verlag in Marburg, dem Fachverlag für anspruchsvolle Elektronik-Literatur.


Wir freuen uns, Sie auf unserem ePaper-Kiosk begrüßen zu können.

Aufrufe
vor 7 Jahren

9-2016

  • Text
  • Technik
  • Radio
  • Filter
  • Oszillatoren
  • Quarze
  • Emv
  • Messtechnik
  • Bauelemente
  • Antennen
  • Antenna
  • Frequency
  • Wireless
Fachzeitschrift für Hochfrequenz- und Mikrowellentechnik

MIMO Bild 3:

MIMO Bild 3: Partiell-paralleles FIR-Modul unterschiedlichen Sätzen von Koeffizienten. 2. Eine komplexe asymmetrische FIR-Funktion mit mehr als 100 Taps in jedem Zweig ist erforderlich, um eine der Funktion angemessene Vorkodierung zu liefern. 3. Die Precoding-Koeffizienten sind häufig zu aktualisieren. 4. Der so entwickelte Precoder- Kern muss einfach aktualisierbar und expandierbar sein, um unterschiedlich skalierte Systemarchitekturen zu unterstützen. 5. Die Precoding-Latenz sollte bei eingeschränktem Ressourcen- Einsatz so niedrig wie möglich sein. Darüber hinaus muss man neben den funktionalen Anforderungen für ein gegebenes Design auch die Begrenzungen bei der Hardware berücksichtigen. Eine im Hinblick auf die Ressourcen günstige Algorithmus-Implementierung ist vorteilhaft beim Einsatz von Hardware-Komponenten wie DSP48, einem dedizierten Hardware-Multiplizierer auf den Xilinx FPGAs. High-Speed/Low- Latency-Precoder (HLP) Die Skalierbarkeit muss als systemische Schlüsseleigenschaft vor dem Beginn einer Entwicklung wie dieser klar adressiert Tabelle 2: Ressourcennutzung in unterschiedlichen Applikations-Szenarien mit dem vorgeschlagenen HLP-Kern werden. Ein skalierbares Design ermöglicht die langfristige Evolution der Infrastruktur und führt kurzfristig zu einer optimal kosteneffektiven Strategie beim Einsatz. Skalierbarkeit entsteht aus Modularität. Nach diesem Prinzip haben wir eine modularisierte und generische komplexe Evaluierungsplattform für FIR-Filter in Simulink mit dem Xilinx System Generator erstellt. Bild 1 verdeutlicht die Top- Level-Systemarchitektur. Darin beschreibt Simulink_HLP_core mehrkanalige komplexe FIR- Filter mit diskreten digitalen Filterblöcken in Simulink. FPGA_ HLP_core stellt mehrkanalige komplex FIR-Filter mit Xilinx- Ressourcen im System Generator dar (siehe Bild 2). Unterschiedliche Architekturen der FIR-Implementierung bedingen unterschiedliche Nutzungsgrade der FPGA-Ressourcen. Tabelle 1 vergleicht die komplexen Multiplikatoren (CM) in einem asymmetrischen 128-tap- FIR-Filter in unterschiedlichen Implementierungen, unter der Annahme einer IQ-Datenrate von 30,72 MSamples/s (20 MHz Bandbreite mit LTE-Advanced Signal). Die gesamte Architektur dieser parallelen Implementierung ist recht unkompliziert, wegen ihres einfachen Mappings auf die Direct-I FIR-Architektur. Allerdings braucht sie eine Menge CM-Ressourcen. Eine volle serielle Implementierung würde den geringsten CM-Aufwand durch gemeinsame Nutzung der CM- Einheit mit 128 Operationen im TDM-Prinzip (time-division multiplex) bedingen. Allerdings arbeitet sie dann mit einer auch für State-of-the-Art FPGAs unerreichbaren Taktrate. Eine praktikable Lösung besteht in der Wahl einer partiell- 52 hf-praxis 9/2016

MIMO Bild 4: Beispiel einer skalierten Precoding-Applikation auf der Basis des 4B-LC-Kerns parallelen Architektur der Implementierung. Sie spaltet die lange sequenzielle Filterkette in mehrere Segmente mit parallelen Stufen auf. Zwei Beispiele dazu zeigt die Tabelle 1. Wir haben uns für die Auslegung A entschieden, wegen ihrer minimalen CM-Nutzung und der beherrschbaren Taktrate. Die endgültige Architektur lässt sich durch die Variation der Datenrate, der Taktrate und der Zahl der sequenziellen Stufen festlegen: F CLK = F DATA ×N TAP ÷N SS Darin repräsentieren N TAP und N SS die Länge der Filter und die Anzahl der sequenziellen Stufen. Anschließend werden die drei Haupt-Module erstellt: 1. Modul zur Ablage der Ko effizienten: Wir verwenden High-Performance Dual-Port Block-RAMs für die IQ-Koeffizienten, die in die RAMs mit den FIR-Koeffizienten geladen werden müssen. Als Anwender kann man wählen, wann die Koeffizienten zur Speicherung hochgeladen werden, und wann die Koeffizienten der FIR-Filter durch die Steuersignale wr und rd aktualisiert werden. 2. Modul zum TDM-Pipelining: Wir multiplexen die einlaufenden IQ-Daten mit einer Sample-Rate von 30,72 MHz und erzeugen damit acht Pipelines (N SS = 8) von Datenströmen mit einer höheren Sampling-Rate von 30,72×128/8 = 491,52 MHz. Diese Datenströme werden auf ein lineares Konvolutionsmodul mit vier Zweigen (4B-LC) geleitet. 3. 4B-LC Modul: Es enthält vier unabhängige FIR-Filterketten. Alle sind in derselben partiellparallelen Architektur implementiert. Zweig 1 ist in Bild 3 dargestellt. Der Zweig 1 enthält vier Subprocessing-Stufen, die im Sinne des besseren Timings durch Register von einander getrennt sind: eine sequenzielle Schreib- und parallele Lesestufe für die FIR- Koeffizienten im RAM (cRAM), eine komplexe Multiplikationsstufe, einen Addierer und eine segmentierte Akkumulationsund Downsampling-Stufe. Um die Zahl der Ein- und Ausgänge des Kerns zu minimieren, erstellen wir zunächst eine sequentielle Write-Operation, die die Koeffizienten aus dem Speicher in den FIR cRAM lädt, und zwar im TDM-Prinzip (jeder cRAM enthält 16 = 128/8 IQ-Koeffizienten). Dazu wurde eine parallele Read-Operation geschrieben, die die FIR-Koeffizienten simultan an den CM- Kern leitet. Für die Multiplikationsstufe wurde, um den Nutzungsgrad des DSP48 zu minimieren, eine effiziente Pipeline-Architektur mit drei Multiplikatoren gewählt, um komplexe Multiplikationen auszuführen - was sechs Latenzzyklen erfordert. Die anschließende komplexe Additionsstufe aggregiert die Ausgangssignale der CMs zu einem einzigen Datenstrom. Dann akkumuliert die segmentierte Akkumulations- und Downsampling-Stufe die temporären Substreams über 16 Zeitzyklen, um die zugehörigen linearen Konvolutionen eines 128-tap FIR-Filters zu erhalten, und um die High-Speed-Datenströme per Downsampling an die Sample- Rate des Systems (30,72 MHz) anzugleichen. Verifizierung Die IP-Verifizierung geschah in zwei Schritten. Zunächst wurden die Ausgänge des FPGA_ HLP_core mit dem referenzierten Multibranch FIR-Kern mit doppelter Präzision per Simulink verglichen. Dabei ergab sich ein relativer Amplitudenfehler von weniger als 0,04 Prozent für die Version mit 16 bit Auflösung. Ein breiterer Datenpfad dürfte eine bessere Performance liefern, allerdings unter Einsatz weiterer Ressourcen. Nach der Verifizierung der Funktion wurde die Baustein-Performance evaluiert. Der zweite Schritt bestand somit im Synthetisieren und Implementieren der erstellten IP in der Vivado Design Suite 2015.1, mit Ausrichtung auf den FPGA des Zynq-7000 All Programmable SoC (äquivalent zum Kintex xc7k325tffg900-2). Mit der Einstellung des Tools auf volle Hierarchie für Synthese und Implementierung war es ein Leichtes, das geforderte Timing bei einer internen Taktrate von 491,52 MHz zu erreichen, da das Design mit Pipelining und klar definierten Hierarchien arbeitet. Skalierbarkeit Die von uns entwickelte HLP- IP lässt sich sehr einfach einsetzen, um einen größeren Massive-MIMO Precoding-Kern zu schaffen. Tabelle 2 präsentiert einige ausgewählte Szenarien der Applikation, mit der erforderlichen Ressourcen-Nutzung. Zur Erzielung der endgültigen Ergebnisse der Vorkodierung wird eine zusätzliche Aggregationsstufe benötigt. Anhand des in Bild 4 gezeigten Beispiels ist es einfach, einen 4 x 4 Precoding Core zu bauen, indem man vier HLP-Kerne und eine zusätzliche Daten-Aggregationsstufe mit Pipeline einbaut. Effizient und skalierbar Unser Beitrag zeigt, wie man in kurzer Zeit eine effiziente und skalierbare Applikation mit linearer Konvolution per DSP in Form eines Massive- MIMO Precoding-Kerns mit dem Xilinx System Generator und den Vivado Design-Tools erstellt. Man könnte diesen Kern erweitern, um Longer-tap FIR- Applikationen zu unterstützen, entweder durch mehr sequenzielle Stufen in der partiell-parallelen Architektur, oder durch eine gewisse Erhöhung der Taktrate, um die Verarbeitung zu beschleunigen. Im letzteren Fall ist es angebracht, die bestehenden Engpässe und den kritischen Pfad der Zielsysteme im Hinblick auf die vorliegende Implementierung zu identifizieren. Auch ist die Ko-Optimierung der Hardware und der Algorithmen eine aussichtsreiche Methode zur Verfeinerung der System- Performance, etwa durch die Entwicklung eines kompakteren Vorkodierungs-Algorithmus für die Hardware-Nutzung. Bislang haben wir auf eine Precoding-Lösung mit der geringsten Latenz fokussiert. Unser nächster Schritt wird darin bestehen, eine alternative Lösung zu untersuchen, die bessere Ressourcennutzung und niedrigere Leistungsaufnahme realisiert. ◄ hf-praxis 9/2016 53

hf-praxis

PC & Industrie

© beam-Verlag Dipl.-Ing. Reinhard Birchel