Artikel aus dem Bereich Elektronik- und Elektrotechnik-Design

Artikel aus dem Bereich Elektronik- und Elektrotechnik-Design

Low-Cost, Take Tragbare Logic Analyzers auf neue Debug-Aufgaben

Gepostet am 16. August 2014 | Testen & Messen

Digital Designs heutige Einbeziehung FPGAs, System-on-Chip (SOC) ICs und Speicher steigt sowohl in der Komplexität und Geschwindigkeit. Designer benötigen Tools, die einen Weg für ein "Symptom" auslösen stellen und dann schauen zurück in die Zeit mit hoher Geschwindigkeit Zeiterfassung, um die Ursache des Versagens zu finden. Es muss ein Weg, um funktionale und zeitbezogenen Problemen mit einer großen Anzahl von Signalen, wie es typisch ist in vielen der heutigen eingebettete Entwürfe zugeordnet unterscheiden. Das gleiche gilt für die Verfolgung Hochgeschwindigkeits-Datenbusse mit synchronen "Zustandsmodus" Abscheidung und eine Hochgeschwindigkeits-Triggersequenz bestimmte Systembedingungen finden. Es ist auch wichtig, um nachzuspüren DDR2 und DDR3 Speicheradresse und Steuerbusse gelten Decoder, Compliance-Tools und Performance-Analyse-Tools sein. Schließlich, die sowohl single-ended und echte differentielle Sondieren ist für den sich entwickelnden Hochgeschwindigkeitsdifferenz Schnittstellen, um genau zu erfassen Signale von Interesse benötigt. Alle diese digitale Debug-Funktionen sind jetzt mit einer neuen Generation von Mehrzweck Logik-Analysatoren, die Leistung und Funktionen, die bisher nur in teureren modularen Logik-Analysator-Systemen verfügbar war anbieten möglich.

Trigger für eine Symptom und Blick in die Zeit nach der Ursache mit mehr Details Ein sehr häufiges Szenario tritt auf, wenn ein Design-Team stellt sich auf ihrer digitalen Prototypen nur um zu entdecken, dass es nicht in Betrieb ist, wie es konzipiert wurde. Der Versuch, das eigentliche Problem zu finden erfordert in der Regel einen Blick auf die Zielaktivität detailliert genug, um starten zu isolieren, die Ursache des Scheiterns. Bei komplexeren Systemen, bei denen ein Oszilloskop oder auch ein Mixed-Signal-Oszilloskop ist nicht ausreichend, um eine schnelle Ansicht auf Systemebene zu bekommen, ist ein Logik-Analysator oft als der erste Schritt in sich einen Überblick über das Funktionsverhalten bevorzugt, so dass eine weitere Debug und Validierung können auf Bereiche, die Verdächtigen scheinen angelegt werden. Schon früh in der Debug-Prozess ist es schwierig zu wissen, wie man den Analysator auslösen, aber ein Timeout-Signal oder Flagge ist ein guter Ausgangspunkt. Der Analysator kann ein Fehler in der Ziel durch Auslösen einer Fehlerbedingung , wie ein Zeitablaufsignal oder ein Flag, das hochgezogen ist detektieren. Betrachten wir zum Beispiel ein Design in einem Xilinx Zynq 7000 SoC, in dem eine grundlegende Kommunikationssystem nicht, Daten zu einem anderen Gerät, wie es sollte implementiert. Eine Grundzustandsmaschine ist ein Verfahren, bei dem Daten aus einer anderen Vorrichtung geschrieben und ein Bestätigungs-Bit soll von dem Gerät anzeigt, daß die Daten empfangen wurde und nun mehr Daten gesendet werden können wieder aufgenommen werden, zu fahren. Das Hin-und-her-Prozess sollte fortgesetzt werden, bis alle Daten gesendet. In diesem Beispiel werden FPGA-I / O-Signale mit fliegenden Sonden auf 0,1-Zoll-Abstand Kopfstiften verbunden sondiert. Die Logik-Analysator ist mit einem Bus Label namens "Staat" für die Fünf-Bit "One-Hot" Zustandsmaschine, ein weiteres Label für das Bestätigungssignal als "ACK" und ein Label für die Timeout-Signal aufgerufen wird "Timeout".

Dieser Bus und Signalaufbau ist in Abbildung 1 dargestellt die Übernahme-Modus auf Zeiterfassung mit einer 5 GHz Abtastrate und 4M Probe Speichertiefe in einem Menü unter dem Reiter "Sampling" gesetzt. Ein Trigger wird aus dem Wellenformfenster für die ansteigende Flanke des Zeitablaufsignal, da das Zeitablaufsignal Verdacht auf hoch durch den Zielfehler gesetzt. Der Logikanalysator Schaltfläche Ausführen gedrückt und das Zielsystem eingeleitet wird. Der Logikanalysator triggert auf die steigende Flanke des Timeout-Signal und die resultierende Spur ist in Abbildung 2 Hinweis gesehen, dass, anders als die Timeout-Signal steigende Flanke und dem 250 MHz laufende Uhr, sind alle anderen Signale eine flache Linie oder gesperrt up. Die Zustandsmaschine Wert "1F" ist ein ungültiger Zustand und nicht viel mehr Informationen können nachgelesen werden. Aber da das Timing Capture hatte eine 5 GHz, 200ps Abtastung mit hoher Auflösung, der Designer der rechten Maustaste auf den Bildschirm und wählen Sie "Voll verkleinern", um zu sehen, was in der tiefen Speicherpuffer der Logikanalysator gefangen genommen worden. Dies ist in Abbildung 3. Jetzt gezeigt, mit einem Rückblick in tiefen Speichererfassung , Aktivität kann rund 500 vor der Zeitüberschreitung Flagge sehen uns. Dies ist, wo die Ursache des Scheiterns könnte gefunden werden.

Eine Box kann um den Tätigkeitsbereich zu vergrößern und schauen genauer gezeichnet werden, wie in Abbildung 4. Dies ermöglicht dem Designer zu sehen, dass die Zustandsmaschine hatte einen Ausbruch von Aktivität gezeigt, ein Bestätigungs bisschen zurückgegeben wurde, eine zweite Burst aufgetreten ist, und weiteres Bestätigungsbit zurückgegeben wurde, bevor es ist offensichtlich, dass etwas schief deutlich falsch. Eine dritte Zustandsmaschine Burst aufgetreten sind, aber keine Bestätigung Bit zurückgegeben wurde und die Zustandsmaschine dann haupt nicht mehr ausgeführt. Von großem Interesse an diesem Punkt wird genauer auf dieses Dritt Platzen der Suche die Zustandsmaschine-wenn es keine Reaktion Bestätigungs Bit-zu genau untersuchen das Timing und die Logik dieser Schaltung.

Mit box um diesen Bereich der Spur gezogen Zum Vergrößern können einige sehr interessante Entwicklungen wie in Abbildung zu sehen ist 5. Die allgemeine Funktionalität der Zustandsmaschine sieht richtig-vom Ruhezustand zum START-Zustand, an den ADDR Zustand, um den Datenzustand und schließlich das Warten auf ACK-Zustand. Zoomen mit tiefen Speicher ist es nun möglich, sich zur Zeit zwischen der Uhr und die Zustandsmaschine Datenbits aussehen. Eine erste Markierung kann auf die steigende Flanke des Takt mit dem START-Zustand zugeordnet schnappt werden, schnappt eine zweite Markierung zu dem Zeitpunkt, wo das START-Zustand stabilisiert hat. Mit dem 5-GHz-Zeiterfassung ist es möglich, zu erkennen, dass es eine ernsthafte Zeitproblem, da die ansteigende Flanke des Takt ist sehr nahe an dem Zeitpunkt, wenn die Zustandsmaschine Bits besteht, den Startzustand angesiedelt, so dass wenig set-up Zeit zwischen Takt- und Daten, wie im Delta Zeitmessung zwischen Marker eins und zwei von nur 600 ps gezeigt. Die Taktflanke sollte auf der START-Zustandsmaschine Daten gültig Region zentriert werden. Hinweis Es ist ein Zwischenwert auf der Zustandsmaschine Bus zwischen dem Leerlauf und Start-Zustand, und es ist möglich, dass die ungültigen Zustandswert wird immer in das andere Gerät getaktet aufgrund der minimalen Rüstzeiten.

Ein solches Ereignis könnte erklären, warum keine Bestätigung Bit immer kommt aus dem anderen Gerät und warum das Design Störungen zurück. Dies ermöglicht eine weitere Untersuchung in die spezifische Ursache für die Uhr, um Daten Timing-Fehler. Das Ergebnis war in diesem Fall, dass der Entwickler überlassen die Xilinx Benutzer Constraint File (UCF), die die Takt-Daten-Timing definiert. Die Schnellübersicht durch die Logik-Analysator vorgesehen, mit dem zusätzlichen Vorteil, dass in der Lage, sich auf bestimmte Bereiche zu vergrößern erlaubt der Designer, um die Ursache des Fehlers schnell zu finden. ### ÜBERGANGSZEIT Verlängerung der realen TARGET Zeit, oft BEMERKEN, Designer müssen eine bestimmte Menge an Zielaktivität, um festzustellen, ob den ordnungsgemäßen Betrieb geschieht sehen. Ein Beispiel hierfür könnte die Beobachtung eines vollständigen Videorahmen sein. Ein modernes Design kann leicht erfordern Speichertiefe von 8 M Proben, um einen Video-Frame zu überprüfen. Ein wichtiges Zeiterfassungsmodus in den Logikanalysator heißt "Übergangszeit."

In diesem Modus erfassten Abtastwerte werden nur in den Speicher gebracht werden, wenn es eine Änderung in einem der erworbenen Bits. Dies führt zu äußerst effiziente Verwendung des Speichers in den Logikanalysator, insbesondere mit einem Target aufweisen bursty Verhalten. In diesem Modus werden die Speichernutzung optimiert wird, wodurch die Erfassung von längerer Zielvorgang. Nehmen Sie zum Beispiel die bisherige Situation, in der die Zustandsmaschine Ausbruch von Aktivität aufgetreten 500 us vor dem Triggerpunkt. Mit der Übergangszeitmodus, auch eine Spur so flach wie 1M Proben mit 5 GHz Zeitgeschwindigkeit konnte diese Aktivität erfassen und immer noch erlauben, hochauflösende Zeitauswertung, wie in Abbildung 6 dargestellt Hinweis, dass die als Markierungen auf der unteren gezeigten Proben (Zeitskala) werden nur dann gespeichert, wenn es einen Übergang.

Jetzt, Allzweck portable Logik-Analysatoren bieten bis zu 5 GHz Zeiterfassung kombiniert mit tiefem Speicher, ist es möglich, auf der Haupt Symptom für ein Problem, auslösen wie ein Timeout-Flag, und blicken zurück in tiefe Speichererfassung auf der Suche nach der Wurzel Ursache des Scheiterns. Hinzugefügt Funktionen wie einem High-Speed Trigger Sequenzer und Differential Sondieren auch erweitern die Palette der Anwendungen, die mit tragbaren Logik-Analysatoren angesprochen werden können.

Artikel Quellen:

avatar

Sie müssen sich anmelden um einen Kommentar zu veröffentlichen

avatar

Sie müssen sich anmelden um einen Kommentar zu veröffentlichen