Newsletters

  • Vertrieb kontaktieren

Beschleunigung von SERDES-Simulationen

Von Mike Woodward, MathWorks, und Tim Reeves, MathWorks

Die Ansprüche an die Verarbeitungsgeschwindigkeit von SERDES-Daten variieren je nach System in ziemlich breiten Grenzen. Am unteren Ende der Skala befinden sich SERDES-Systeme wie etwa Rückfahrkameras mit typischen Datenraten von weniger als 1 Gbps. Das obere Ende bilden optische Internet-Router mit hoher Bandbreite, die einen Durchsatz von 10 Gbps und mehr erreichen.

SERDES-Entwickler arbeiten mit SPICE-Simulatoren, die zwar hochexakt sind, aber auch sehr rechenintensiv. Die Simulation von SERDES-Geräten, die über 10 Gbps erzielen, ist darum auf einem SPICE-Simulator äußerst zeitaufwendig, was die Möglichkeiten zur eingehenden Analyse und Optimierung von Entwürfen einschränkt und zudem das Risiko von Entwicklungsfehlern erhöht.

Zur Beschleunigung der Simulation wenden sich darum immer mehr Entwickler einem schnelleren Ansatz zu: Dem Top-Down Design. Bei dieser Entwicklungsmethode wird die Systemleistung mithilfe eines Verhaltensmodells mit hoher Ausführungsgeschwindigkeit simuliert. Die Entwickler können so Alternativentwürfe rasch vergleichen und am Ende nur das leistungsfähigste Design mit SPICE simulieren.

Dieser Artikel stellt den Top-Down Entwurf eines SERDES-Modells mit Simulink® vor und zeigt, wie mithilfe dieses Modells die Simulationszeiten verkürzt werden können. Das vorgestellte Modell steht in der Simulink Mixed-Signal Library zum Download bereit.

Warum SERDES?

Einige Kommunikationssysteme übertragen Daten seriell– dazu gehören etwa Internetdaten, die über Faseroptiken übertragen werden, oder die über Twisted-Pair-Kabel laufenden Daten der Rückfahrkameras von Autos. Elektronische Systeme verarbeiten Daten aber parallel, also benötigt man Schnittstellenbausteine, die Daten von der seriellen in die parallele Form umwandeln und umgekehrt. Genau das übernehmen Serializer/Derializer-Systeme (SERDES, Abb. 1).

Abb. 1. Diagramm eines einfachen SERDES-Systems.
Abb. 1. Diagramm eines einfachen SERDES-Systems.

Kanäle verändern die durch sie hindurch geschickten Daten, indem sie beispielsweise die Pulsform verzerren oder variable Verzögerungen verursachen. Ein SERDES-Gerät, das ein Signal über einen Kanal empfängt, muss dieses Signal rekonstruieren können, wozu sowohl analoge als auch digitale Verarbeitungsschritte erforderlich sind. Ein SERDES ist daher ein Mixed-Signal-Gerät.

Simulationsziel

Um ein möglichst repräsentatives System aufzubauen, wurde eine Datenrate von 10 Gbps gewählt und sowohl das Senden als auch der Empfang von Daten, die Kanalmodellierung, Takt- und Datenrückgewinnung, Equalizer, 8b/10b-Codierung und -Decodierung sowie Effekte wie Jitter und Übersprechen in das Modell eingebaut (Abb. 2). Das Ziel ist, mit diesem Modell eine Mikrosekunde Datenverarbeitung des voll ausgelasteten Systems auf einem Quad-Core Laptop in weniger als 10 Minuten simulieren zu können.

Abb. 2. Das komplette SERDES-Modell in Simulink.
Abb. 2. Das komplette SERDES-Modell in Simulink.

Datenübertragung und Kanalmodellierung

Da das System mit einer spezifischen Rückwandverdrahtung arbeiten muss, besteht der erste Schritt in deren Modellierung. Dazu werden real gemessene Backplane-Daten in Form von Single-Ended 16-Tor S-Parametern herangezogen. Dieser Datensatz ist groß und verlangsamt darum auch die Simulation erheblich.

Um die Simulation zu beschleunigen, wird darum ein kompakteres Modell aufgebaut. Aus den 16-Tor Backplane-Daten werden differentielle Zwei-Tor S-Parameter für die Vorwärts- und Übersprechkanäle extrahiert und dann mit der Rational Fitting-Funktion aus der RF Toolbox™ ein Laplace-transformiertes Modell an diesen Teildatensatz angepasst. Dieses kompakte Modell stellt immer noch eine sehr genaue Darstellung der gemessenen Daten dar, läuft aber deutlich schneller als ein Modell mit vollständigen S-Parameterdaten.

Sowohl der Vorwärts- als auch der Übersprechkanal werden mit Zufallsdaten gespeist und beide Kanäle mit 8b/10b-Codierung kodiert. In den Sender wird Jitter als Teil des Feedforward-Equalizer Filters eingebracht, und das Modell erhält eine Funktion zur Protokollierung des RMS- und peak-to-peak-Jitters.

Da der Kanal das Signal verzerrt und dadurch Intersymbolinterferenz (ISI) verursacht, verbessert der Einsatz eines Filters die Signalintegrität. Der eingesetzte Filter beruht auf der Annahme, dass der Filter und das Kanalmodell als lineares, zeitinvariantes System angesehen werden können. Die Filterung wird in zwei Teile aufgespalten, die vor und nach dem Kanal angesiedelt sind. Die hinter dem Kanal stattfindende Filterung ist in den Equalizer Algorithmus integriert. Vor dem Kanal findet eine Pre-Emphasis Filterung mithilfe eines FIR-Filters mit drei Taps statt. Der Pre-Emphasis-Filter unterdrückt die ISI in der Mitte des Datensymbols.

Entwurf des Equalizers

Der Equalizer besteht aus zwei Teilen. Den ersten bildet eine Anordnung typischer analoger Bandpassfilter, welche die grobe Egalisierung übernehmen. Der zweite Teil (der Mixed-Signal Equalizer) verfeinert den Equalizer und minimiert den Einfluss der ISI und nutzt dazu sowohl internes als auch externes Feedback. Das externe Feedback stammt aus dem zurückgewonnenen Codeblock, das interne Feedback aus dem Rückkopplungsfilter (Abb. 3). Sowohl der Feed-Forward Equalizer (FFE) als auch der Feedback Equalizer (FBE) basieren auf FIR-Filtern, deren Parameter mit dem DFE-Block aus der Communications System Toolbox™ berechnet werden.

Abb. 3. Equalizer mit Rückkopplung und externem Takt.
Abb. 3. Equalizer mit Rückkopplung und externem Takt.

Die im Equalizer eingesetzten Rückkopplungsschleifen verlangsamen die SPICE-Modelle, weil SPICE-Solver oft nur langsam konvergieren. Simulink dagegen bedient sich eines Ansatzes auf der Verhaltensebene und kann dadurch Rückkopplungen viel schneller simulieren. Je nach Modell kann die Beschleunigung einen Faktor von zehn oder mehr ausmachen.

Modellierung von Takt- und Datenrückgewinnung (CDR)

In SERDES-Systemen geschieht die Taktrückgewinnung üblicherweise mithilfe einer Zweipunkt-PLL-Architektur, da diese leichter auf dem Chip zu implementieren ist. Auch diese Architektur arbeitet mit Rückkopplungen (Abb. 4).

Abb. 4. Die Zweipunkt-PLL-Architektur.
Abb. 4. Die Zweipunkt-PLL-Architektur.

Der hier eingesetzte spannungsgesteuerte Oszillator (Voltage-Controlled Oscillator, VCO) basiert auf einem tatsächlichen VCO-Baustein. Die zur Simulation dieses Bauteils eingesetzten Parameter stammen aus dessen Datenblatt. Weil das Phasenrauschen des VCO großen Einfluss auf die Gesamtleistung der CDR hat, wird das Phasenrauschen nach dem Verhalten eines realen Geräts modelliert. Die Koeffizienten des Lead/Lag-Filters werden so gewählt, dass sie eine ausreichende Bandbreite und kurze Totzeit zur Verfügung stellen.

Im CDR-Subsystem arbeiten analoge und digitale Bauteile zusammen. Das D-Latch ist eine digitale Komponente, während die restlichen Komponenten analog sind. In Simulink lassen sich analoge und digitale Bauteile miteinander ganz einfach so verbinden, wie dies im echten Gerät der Fall wäre. Die zugrundeliegende Simulationsinfrastruktur erledigt die nötigen Veränderungen an der Simulation selbständig.

Beschleunigung der Analog-Simulation

Die meisten Bauteile des SERDES-Modells geben analoge Signale aus. Zur Beschleunigung der Analog-Simulation arbeitet Simulink mit einem Solver mit variabler Schrittweite, der die während der Simulation eingesetzten Zeitschritte dynamisch an die jeweiligen Blockausgaben anpasst. Wenn sich die Blockausgaben sehr schnell ändern, wählt Simulink einen kürzeren Zeitschritt. Verändern sie sich dagegen nur langsam, werden die Zeitschritte entsprechend verlängert. Simulink sorgt damit stets für eine möglichst schnelle Simulation ohne Einbußen bei der Genauigkeit.

Simulationsergebnisse

Simulink schickt die zurückgewonnenen Daten durch einen 8b/10b-Decoder und vergleicht sie im „Compare Signals“-Block mit den ursprünglich übertragenen Daten. Die Unterschiede zwischen übertragenen und zurückgewonnenen Daten sind vernachlässigbar (Abb. 5).

Abb. 5. Vergleich von gesendetem und empfangenem Signal.
Abb. 5. Vergleich von gesendetem und empfangenem Signal.

Im Modell ist noch eine Reihe weiterer Diagramme verfügbar – man kann beispielsweise die empfangenen Daten mit dem zurückgewonnenen Takt und den zurückgewonnenen Daten vergleichen und sich das Augendiagramm an der Ausgabe des analogen Equalizers analysieren (Abb. 6).

Abb. 6. Das Augendiagramm am Ausgang des analogen Equalizers.
Abb. 6. Das Augendiagramm am Ausgang des analogen Equalizers.

Alternativentwürfe ausloten

Aufgrund der hohen Ausführungsgeschwindigkeit ist sogar eine interaktive Untersuchung der Systemeigenschaften während der Simulation möglich. Es können also Modellparameter variiert und dann direkt beobachtet werden, wie sich dies auf das System als Ganzes auswirkt.

Das SERDES-Modell enthält beispielsweise eine Dialogbox zur Einstellung der Rauschleistung. Durch Variation der Rauschleistung während der Ausführung einer Simulation lassen sich die Betriebsgrenzen des Entwurfs ermitteln. Dabei stellt sich heraus, dass der vorliegende Entwurf Takt und Daten bis zu Rauschleistungen von etwa 15 dBm erfolgreich zurückgewinnen kann. Jenseits dieser Marke beginnt sich das Augendiagramm zu schließen und es treten Unterschiede zwischen gesendeten und empfangenen Signalen auf.

Daneben lässt sich untersuchen, wie gut das System Jitter vom Sender ausgleichen kann. Dazu wird die Simulation ausgeführt und der auf den Sender für den Vorwärtskanal hinzugefügte Jitter nach und nach erhöht. Bei einem mittleren quadratischen Jitter von 17ps versagt die Korrektur des Empfängers, das Augendiagramm beginnt sich zu schließen und es schleichen sich Fehler in die vom Empfänger ausgegebenen Daten ein. Auch dieser Test kann interaktiv und in wenigen Minuten durchgeführt werden.

Zum Schluss wird die in einer Mikrosekunde anfallende Datenmenge durch das System geschleust. Die Simulation dauert nur 600 Sekunden auf einem Quad-Core Laptop. Das Simulationsziel ist damit nicht nur erreicht, sondern übertroffen.

Mit einem SPICE-Modell wäre es so gut wie unmöglich, die vorgestellten Tests interaktiv auszuführen. Am Simulink-Modell dagegen erhält man die Ergebnisse innerhalb weniger Minuten.

Simulink-Modelle laufen beträchtlich schneller als SPICE-Modelle, wodurch sich Alternativentwürfe unter verschiedenen Betriebsbedingungen rasch miteinander vergleichen lassen. Weil die Simulation von SERDES-Systemen mit hohen Datenraten extrem rechenintensiv ist, stellt Simulink eine der wenigen Entwicklungsumgebungen dar, in denen Ingenieure SERDES-Systeme in vernünftiger Zeit eingehend simulieren können.

Veröffentlicht 2012 - 92111v00

Receive the latest MATLAB and Simulink technical articles.

Related Resources

Latest Blogs