Debugging von Hochleistungs-Designs mit Mixed-Signal-Oszilloskopen
Dean Miles - Technical Marketing Manager, Tektronix
Dieser Artikel beschreibt drei unterschiedliche Anwendungen, bei denen durch den Einsatz eines Oszilloskops mit analogen und digitalen Funktionen die Zeit für die Suche und Behebung von Problemen deutlich verkürzt werden konnte:
- Speicher
- Sehr schnelle serielle Daten
- Hochfrequenz
<html><head><title>Jive SBS</title></head>
<body><font face="arial,helvetica,sans-serif">
<b>Error</b><br><font size="-1">
An general error occurred while processing your request.
</font></font></body></html>
Diese realen Beispiele zeigen, wie Ingenieure mit Hilfe des Tektronix Performance Mixed-Signal-Oszilloskops MSO70000 diese Probleme gelöst haben. Die hier vorgestellten Beispiele sind keine umfassende Liste von Aufgaben, die sich mit einem MSO70000 erledigen lassen, sondern verdeutlichen einige der vielen Vorteile eines Mixed-Signal-Oszilloskops.
Die Tektronix MSO70000 Modelle bieten eine simultane Abtastrate von 50 GS/s auf jedem der 4 Analogkanäle oder von 100 GS/s auf 2 Kanälen im Interleaved-Modus. Die MSO70000 Serie beinhaltet zudem 16 Digitalkanäle für die Aufzeichnung von langsamen seriellen Daten. Diese lassen sich für das digitale Debugging oder in Verbindung mit den Analogkanälen zur Fehlersuche und zur Überprüfung der Funktionalität bei einer Kombination von digitalen und analogen Signalen in einem Design nutzen.
Abbildung 1.1: DDR3 Read Burst
Anwendungsbereich: Speicher
Das Performance-MSO der Serie MSO70000 erlaubt eine Erfassung von mehreren Signalen auf einem DDR-Bus, wobei eine Triggerung und Darstellung von speziellen Bus-Ereignissen möglich ist. Bis zu 16 Digitalkanäle können verwendet werden, um die logische Zustände von Befehls- und Adresssignalen, wie RAS, CAS, WE, CE und CS, darzustellen.
Außerdem sind 4 Analogkanäle für das MSO70000 verfügbar, mit denen die Signalintegrität des Takts, der Daten und der Enable-Signale eines Speichersystems untersucht werden kann.
DDR gehört zu den besten Beispielen, um die wichtigsten Vorteile des MSO70000 zu verdeutlichen. Mit bis zu 16 Digitalkanälen lassen sich die logischen Zustände der Befehls- und Adresssignale, wie RAS, CAS, WE, CE, CS usw., darstellen.
Die Signalintegrität dieser 16 Eingänge kann mit Hilfe der iCapture Multiplexfunktion analysiert werden, wobei jedes der digitalen Eingangssignale intern auf einen der vier Analogkanäle des Oszilloskop geschaltet werden kann. Ereignisse, wie Initialisierung, Zustandsübergänge und Timing auf dem Befehlsbus lassen sich mit Hilfe der Bus-Decodier-Funktionen des MSO analysieren.
Durch eine Kombination von analogen und digitalen Kanälen und in Verbindung mit der DPOJET- und der DDRA-Anwendung ergibt dies eine vollständige und abgerundete Lösung.
Abbildung 1.2: DDR Write Burst
Warum sollte ein MSO verwendet werden?
Die Digitalkanäle des MSO werden bei DDR-Anwendungen verwendet für:
- Verifizierung des Lese- und Schreibstatus der Datenleitungen
- Feststellung, wann gültige Daten auf der Leitung sind
Bislang musste das Oszilloskop mittels komplizierter Algorithmen und erweiterter Such- und Markierfunktionen die entsprechenden Signalcharakteristiken und Phasenbeziehungen der Lese- und Schreibzyklen finden.
Dieser Ansatz war sehr fehleranfällig, weil die JEDEC-Spezifikation die Signalcharakteristik der Lese- und Schreibzyklen nur sehr grob definierte. Es gab beispielsweise Situationen, wo ein Testobjekt zwar noch innerhalb der Spezifikation war, aber interne Algorithmen den Zyklus nicht korrekt erfassten. Mit Hilfe der digitalen Kanäle lässt sich einfach bestimmen, wann gültige Daten auf der Leitung liegen und ob dies ein Lese- oder Schreibvorgang ist.
Wer kann vom Einsatz eines MSO70000 profitieren?
- Entwickler von Speichercontrollern
- Halbleiterhersteller
- PC-Hersteller
Abbildung 2.1: Überlauffehler auf einem digitalen Dekodier-Bus
Anwendungsbereich: PCI-Express - Serieller Hochgeschwindigkeitsbus
Mit den Geräten der MSO70000-Serie kann bei PCI Express eine bessere Transparenz bei langsamen Steuerbussignalen erreicht werden. Diese liefern den Entwicklern Informationen über den Status des Verkehrs über die schnellen seriellen analogen Bus-Leitungen (Lanes).
Die PCI Express Sender-/Empfängerpaare enthalten oft nicht nur eine serielle Verbindung sondern auch einen integrierten "Debug-Port". Dieser parallele Ausgang liefert Echtzeitdaten, welche die innerhalb des Geräts ablaufenden Transaktionen zusammenfassen.
Durch die Debug-Ports sowohl am Sender als auch am Empfänger können die Entwickler den Zustand der Übertragungsstrecke überwachen und viele Probleme auf der Sende- und Empfangsseite lokalisieren.
Abbildung 2.2: PCI-Express Statemachine
Warum sollte ein MSO verwendet werden?
Durch den integrierten Debug-Port kann der Zustand des PCIe Cores überwacht und für die Triggerung verwendet werden. Der Screenshot des Oszilloskops in Bild 2.1 zeigt die Aufzeichnung einer seriellen PCI Express Verbindung.
In diesem Anwendungsbeispiel hat ein Fehler auf dem Bus das MSO getriggert.
Auf Grund der guten Signalqualität konnte der Entwicklungsingenieur visuell beurteilen, dass das Problem nicht durch ein zugrunde liegendes analoges Problem verursacht wurde. Dies schien eher auf ein digitales Problem hinzuweisen, wie ein Timing-Problem oder einen anderen digitalen Konflikt.
Mit Hilfe eines MSO70000 konnte der Ingenieur zeigen, dass Störungen von einer Stromversorgung durch Einkopplung zu Problemen im DDR-Speicher-Bus führten. Direkt vor der FPGA-Statemachine wurde die PCIe-Verbindung in den Leerlauf geschaltet und das Auslesen des Speichers veranlasst. Schaltstörungen auf einer der beiden Stromversorgungsleitungen verursachten Setup- und Hold-Violations beim Speicher, die mit dem MSO sichtbar gemacht werden konnten. Dies wiederum hinderte den FPGA-Speichercontroller an der korrekten Zwischenspeicherung der Daten. (Bild 2.3).
Abbildung 2.3: Abfolge von Ereignissen, die zu einem Überlauf führen können.
Wenn Fehler in FPGA-basierten Designs auftreten, können die Geräte der MSO70000-Serie bei der Darstellung analoger Ereignisse helfen, wie von Eingangs- und Ausgangssignalen und auf den Stromversorgungsleitungen. Zusätzlich zeigen die digitalen Leitungen den internen Status der FPGA-Logik. Zu den möglichen Problemen, bei denen ein Debugging erforderlich ist, gehören:
- Situationen, die nicht in der Simulation berücksichtigt wurden, z.B. Stromversorgungsprobleme
- Übersprechen zwischen schnellen Leitungen, die durch einen stärkeren Treiber verursacht werden. Dieser beeinflusst eine benachbarte Leitung nur, wenn mehrere Treiber gleichzeitig einschalten
- Logikfehler der Statemachine, nicht eingerastete Phasenregelkreise und ein FIFO-Überlauf
Die Folge der Fehler, die zu einem Ausfall in der PCI-Express Statemachine führten, sind in Abbildung 2.3 zu sehen:
- Stromversorgungstörungen, die auf den Speicherbus einkoppeln
- Probleme, die beim Auslesen des Speichers auftreten
- Unerwartete Daten, die zum FPGA geschickt werden und dort einen Überlauf verursachen
Wer kann vom Einsatz eines MSO70000 profitieren?
- PHY-Design- und Validierungs-Ingenieure
- Motherboard-Entwickler
<html><head><title>Jive SBS</title></head>
<body><font face="arial,helvetica,sans-serif">
<b>Error</b><br><font size="-1">
An general error occurred while processing your request.
</font></font></body></html>
Abbildung 2.4: TIE-Diagramm zeigt die Korrelation mit dem Störimpuls auf dem DDC Bus.
Anwendungsbereich: Videosystem mit High-Speed-HDMI
Die MSO70000-Serie kann auch für die Fehlersuche bei Display-Problemen in schnellen seriellen Videosystemen genutzt werden. Die digitale Darstellung des DDC-Bus (Data Display Channel) zusammen mit der analogen Darstellung der digitalen Kanäle kann bei der Lösung schwieriger Design-Probleme helfen.
Wie im PCI Express Beispiel in Abbildung 2.4 werden in Videosystemen auch langsame serielle Busse verwendet, die einfache Aufgaben innerhalb des Systems steuern. In HDMI-Systemen gibt es einen DDC-Bus (Data Display Channel). Dieser Bus wird für die Konfiguration des Displays verwendet, wie die Einstellung der Auflösung und Farbkonfiguration, und nutzt das I2C-Protokoll für die Kommunikation.
Warum sollte ein MSO verwendet werden?
Bei diesem Design-Beispiel hatte der Ingenieur ein HDMI-Videosystem mit intermittierenden aber auch vollständigen Display-Ausfällen. Die Überprüfung der HDMI-Bitübertragungsschicht ergab keinen Hinweis.
Mit Hilfe des MSO70000 konnte der Ingenieur die analogen Lanes des HDMI-Signals und gleichzeitig den DDC-Bus betrachten und die dortigen Daten dekodieren. Dabei entdeckte er, dass die DDC-Leitung die Display-Informationen auf die falsche Adresse schrieb.
Mit Hilfe einer Trendanalyse der Daten wurde dann die Ursache dafür gefunden. Die DDC-Leitung schrieb die falsche Adresse, weil die Flankensteilheit der Daten zu hoch war. Auf Grund dieser Erkenntnisse wurde ein Fehler in der Abschirmung des HDMI-Kabels entdeckt. Die Schirmung wurde verbessert und der Treiber für die Daten wurde verlangsamt, um die Probleme durch die zu hohe Flankensteilheit zu beheben.
Wer kann vom Einsatz eines MSO70000 profitieren?
- Anbieter von Graphikchips
- Display-Hersteller
- Hersteller von Mobiltelefonen
<html><head><title>Jive SBS</title></head>
<body><font face="arial,helvetica,sans-serif">
<b>Error</b><br><font size="-1">
An general error occurred while processing your request.
</font></font></body></html>
Abbildung 3.1: Abfolge von Ereignissen, die zu einem Überlauf führen können.
Anwendungsbereich: SDR - Funktelekommunikationssystem (Software Defined Radio)
Bei der Software Radio Funktion der MSO70000-Serie wird die Signalmodulation des Kanals mittels Software definiert. Die Signale werden als getaktete digitale Signale generiert, über einen Breitband-DAC von Digital nach Analog umgewandelt und dann bei Bedarf von einer Zwischenfrequenz auf Hochfrequenz hochgemischt. Der Empfänger verwendet entsprechend einen Breitband-ADC (Analog-Digital-Wandler), der alle SDR-Kanäle erfasst. Der Empfänger extrahiert, konvertiert und demoduliert dann das Kanalsignal mittels Software und einem Universal-Prozessor.
Warum sollte ein MSO verwendet werden?
Bei dieser Anwendung wurden die 16 Digitalkanäle der MSO70000-Serie verwendet. Ein Logik-Trigger wurde so eingestellt, dass ein unzulässiger Statuswert am Eingang des D/A-Wandlers (DAC) erfasst werden konnte. Der Logik-Trigger startet die Erfassung, sobald ein bestimmter Statuswert (0 x3F) erreicht wird. Die korrelierte Darstellung des Analogsignals wird mit einer Verzögerung von etwa 34 ns angezeigt (Bild 3.1). Dies entspricht der absoluten Verzögerungszeit durch die DAC-Umwandlung. Durch die Analyse war eine Korrelation der Logikwerte zu den Spannungsspitzen auf dem Analogkanal möglich.
Die Darstellung der analogen Signale im Zeitbereich lieferte nicht die vollständige Ansicht der Auswirkungen, die diese auf das SDR-Design haben könnten, so dass eine weitere korrelierte Analyse der Hochfrequenzleistung erforderlich ist.
Eine gleichzeitige Beurteilung der Hochfrequenzleistung des Signals ist mit Hilfe der Tektronix SignalVu Software möglich. Diese läuft direkt auf der MSO70000 Serie und verwendet den gleichen Datensatz (Bild 3.2). Der Screenshot auf der rechten Seite zeigt die Hochfrequenzanalyse auf der Basis der gleichen Daten wie im Bild links. Der Logik-Status-Trigger wurde verwendet, um den Datensatz zu erfassen, während SignalVu die Hochfrequenzanalyse ausführt.
Bei diesem Beispiel wurden mittels einer DFT (Diskret Fourier-Transformation) eine Spektrogramm- und Spektrum-Frequenzbereichsanalyse durchgeführt. Die im Zeitbereich erfassten Daten werden als RF I&Q über die Zeit und Amplitude über die Zeit angezeigt. Mittels Zeit-korrelierter Marker wird die Zeitkorrelation der Hochfrequenzanalyse für verschiedene Darstellungen verdeutlicht. Es ist eindeutig zu sehen, das die mittels der Digitalkanäle des MSO70000 und des Triggers erfassten unzulässigen Statuswerte am DAC zu einer Zunahme des Spektrums führten.
<html><head><title>Jive SBS</title></head> <body><font face="arial,helvetica,sans-serif"> <b>Error</b><br><font size="-1"> An general error occurred while processing your request. </font></font></body></html>
Abbildung 3.2: Abfolge von Ereignissen, die zu einem Überlauf führen können.
Wer kann vom Einsatz eines MSO70000 profitieren?
- Entwickler von SDR (Software Defined Radio) oder Frequenz-agilen Funkanwendungen
- Militär/Behörden (Breitband-Radaranwendungen.)
- Hersteller von Mobiltelefonen