PatentDe  


Dokumentenidentifikation DE4042262A1 02.07.1992
Titel Verfahren zur Analyse der Funktionsweise von digitalen Schaltungen
Anmelder Richt, Stefan, 8130 Starnberg, DE
Erfinder Richt, Stefan Magnus, 8130 Starnberg, DE;
Hamm, Peter, 8132 Tutzing, DE
DE-Anmeldedatum 31.12.1990
DE-Aktenzeichen 4042262
Offenlegungstag 02.07.1992
Veröffentlichungstag im Patentblatt 02.07.1992
IPC-Hauptklasse G01R 31/318
IPC-Nebenklasse G06F 15/74   
Zusammenfassung Verfahren zur Analyse der Funktionsweise von digitalen Schaltungen, in welchem beliebig viele Ereignisse in einer lückenlosen Aufzeichnung mit ihrer Vorgeschichte oder mit ihrer Vorgeschichte und Nachgeschichte in eine Speichereinrichtung geschrieben werden.

Beschreibung[de]

Die Erfindung betrifft ein Verfahren zur Analyse der Funktionsweise von digitalen Schaltungen nach dem Oberbegriff des Patentanspruch 1, welches vorzugsweise in Logikanalysatoren Anwendung finden kann.

Bereich der Erfindung

In zunehmendem Maße werden digitale Schaltungen durch den immer höher werdende Integrationsgrad digitaler Schaltkreise komplexer. Gleichzeitig steigen die Anforderungen an die Zuverlässigkeit und die Fehlertoleranz, so daß an die notwendigen Prüf- und Testgeräte immer höhere Anforderungen gestellt werden. Um den steigenden Anforderungen gerecht zu werden, werden heute Logikanalysatoren und In-Circuit-Emulatoren eingesetzt. Im Weiteren soll von bekannten Verfahren zur Analyse der Funktionsweise von digitalen Schaltungen die Rede sein. Diese werden in Logikanalysatoren allgemein, und in Logikanalysatoren, die in In-Circuit-Emulatoren oder Entwicklungssysteme integriert sind, angewandt. Logikanalysatoren werden eingesetzt, um die Arbeitsweise von digitalen Schaltungen und digitalen Schaltkreisen, insbesondere von Mikroprozessoren im eingebauten Zustand, zu analysieren, ohne dabei deren Echtzeitverhalten zu beeinträchtigen.

Dabei werden die Abtastwerte mehrerer Datenleitungen zu bestimmten Abtastzeitpunkten, von einer Triggereinrichtung gesteuert, in eine Speichereinrichtung geschrieben. Bei Mikroprozessoren können dies beispielsweise Adreßbus, Datenbus und Steuerbus sein. Geeignete Abtastzeitpunkte für Aufzeichnung des Adreßbusses eines Mikroprozessorsystemes sind beispielsweise der Zeitpunkt des Read-, Write-Strobes oder des Op-Code-Fetch.

Der Inhalt dieser Speichereinrichtung wird dann in geeigneter Weise auf eine Anzeigeeinheit, beispielsweise auf eine Kathodenstrahlröhre, gegeben.

Bei bekannten Ausführungsbeispielen von Logikanalysatoren können mit einer Triggereinrichtung komplexe Triggerbedingungen definiert werden, bei deren Eintreten die Aufzeichnung der Datenleitungen gestartet bzw. gestoppt werden kann.

Eine komplexe Triggerbedingung kann ein einmaliges oder mehrmaliges Übereinstimmen der überwachten Datenleitungen mit vordefinierten Mustern sein. Bei der Analyse von Mikroprozessorsystemen könnte ein sinnvolles Ereignis beispielsweise das Auftreten eines Interrupts sein.

Ein Ereignis im Sinne des Patentanspruch 1 soll im Folgenden der Abtastwert der überwachten Datenleitungen zu beliebigen Abtastzeitpunkten (z. B. Op-Code Fetch) bei Eintreten einer vordefinierten Triggerbedingung sein. Das Eintreten dieser eingestellten Triggerbedingung soll als Triggerereignis bezeichnet werden.

Bei den bekannten Ausführungsbeispielen sind beispielsweise folgende Aufzeichnungsmodi üblich:

Sie heißen Pre-, Post- oder Center-Trigger oder Trace. Im Pretrace Modus ist während der Testsitzung die Aufzeichnung der Datenleitungen aktiv und der Speicher des Logikanalysators wird zyklisch immer wieder vollgeschrieben. Bei Eintreten des Triggerereignisses wird die Aufzeichnung gestoppt. Im Speicher steht die Vorgeschichte bis zum Ereignis.

Im Posttrace Modus ist während der Testsitzung die Aufzeichnung zunächst gestoppt. Bei Eintreten des Triggerereignisses wird die Aufzeichnung gestartet und nach einer wählbaren Anzahl von Aufzeichnungszyklen wieder gestoppt. Im Speicher steht jeweils und eine einstellbare Nachgeschichte nach dem Ereignis. Der Centertrace Modus ist eine Mischung aus beiden o. g. Modi. Die Aufzeichnung der Datenleitungen ist zunächst aktiv, und der Speicher des Analysators wird zyklisch beschrieben. Die Aufzeichnung wird nach einer einstellbaren Anzahl von Aufzeichnungszyklen nach dem Eintreten des Triggerereignisses gestoppt.

Im Speicher des Analysators steht die Vorgeschichte, das Ereignis selbst und die Nachgeschichte.

Nachteilig bei den o. g. Ausführungsbeispielen ist, daß Pre- und Centertrace Modus bei Aufzeichnung eines einzigen Ereignisses den ganzen Aufzeichnungsspeicher belegen. Denn sehr oft interessieren nur einige wenige Zyklen Vorgeschichte zuzüglich zum Ereignis selbst. Beispielsweise bei der Analyse des Programmablaufes von Mikroprozessorsystemen ist es von Interesse, wann bzw. von wo aus im Programm eine Funktion aufgerufen wurde. Der Aufruf der Funktion ist hier beispielsweise das Ereignis. Einige Zyklen Vorgeschichte würden nun ausreichend um die aufrufende Funktion zu identifizieren. Bei den bekannten Pre- und Centertrace Modi stünden in diesem Fall, außer des Funktionsaufrufes und einigen Zyklen Vorgeschichte, hauptsächlich für den Anwender wertlose Daten im Speicher. Der vorhandene Speicher wird im Pre- und Centertrace-Modus schlecht genutzt.

Die Aufgabe der Erfindung ist es nun, diesen Nachteil zu vermeiden. Durch das erfindungsgemäße Verfahren soll erreicht werden, daß der zur Verfügung stehende Speicher besser genutzt wird, und gleichzeitig die maximale Aufzeichnungsdauer vergrößert wird. Das erfindungsgemäße Verfahren soll dem Anwender ermöglichen hauptsächlich die ihn interessierenden Daten aufzuzeichnen. Da üblicherweise viele Datenleitungen (bis zu 120) aufgezeichnet werden und die verwendeten Speicher schnell sein müssen, ist eine optimale Ausnutzung des Tracespeichers sehr wünschenswert.

Die Aufgabe wird durch das in Patentanspruch 1 dargestellte Verfahren gelöst.

Es zeigt

Fig. 1 einen erfindungsgemäßen Speichereintrag gemäß Anspruch 2 und Anspruch 3,

Fig. 2 ein Blockschaltbild eines Ausführungsbeispieles einer Vorrichtung zur Durchführung des erfindungsgemäßen Verfahrens nach Anspruch 1,

Fig. 3 ein Blockschaltbild des bevorzugten Ausführungsbeispieles einer Vorrichtung zur Durchführung des erfindungsgemäßen Verfahrens nach Anspruch 1,

Fig. 4 Blockschaltbild eines vorteilhaften Ausführungsbeispieles einer Vorrichtung zur Durchführung des erfindungsgemäßen Verfahrens nach Anspruch 1.

Weitere vorteilhafte Ausführungsbeispiele ergeben sich aus den Unteransprüchen.

Im folgenden wird das erfindungsgemäße Verfahren nach Anspruch 1 beschrieben.

Erfindungsgemäß werden jeweils n-Zyklen Vorgeschichte (V) oder n Zyklen Vorgeschichte (V) und m-Zyklen Nachgeschichte (N) zusätzlich zu jedem Ereignis (E) in eine Speichereinrichtung geschrieben, wobei die Länge der zusätzlich zum Ereignis (E) selbst aufgezeichneten Vorgeschichte (V) und Nachgeschichte (N) konstant, aber vorzugsweise auch beliebig ist.

Es werden im erfindungsgemäßen Verfahren nach Patentanspruch 1 beliebig viele Ereignisse (E) jeweils mit beliebiger Vorgeschichte (V) oder mit beliebiger Vorgeschichte (V) und beliebiger Nachgeschichte (N) in Echtzeit in eine Speichereinrichtung gespeichert. Die Anzahl der in Echtzeit lückenlos aufzeichenbaren Speichereinträge gemäß Fig. 1 ist nur von der physikalischen Größe des Speichers begrenzt. Vorgeschichte (V) im Sinne der Erfindung sind Abtastwerte der zu überwachenden Datenleitungen zu beliebigen Abtastzeitpunkten zeitlich vor dem Triggerereignis. Nachgeschichte (N) im Sinne der Erfindung sind Abtastwerte der zu überwachenden Datenleitungen zu beliebigen Zeitpunkten zeitlich nach dem Triggerereignis. Der Anwender hat die Möglichkeit vor jedem Testdurchlauf die Länge der Vorgeschichte oder der Vor- und Nachgeschichte selbst zu bestimmen.

Die Erfindung bietet dem Anwender zusätzlich den Vorteil, daß er nicht genau auf das ihn interessierende Ereignis triggern muß. Es genügt beispielsweise auf ein zeitlich benachbartes Ereignis zu triggern, um das gewünschte Ereignis aufzuzeichnen. Erfindungsgemäß kann das interessierende Ereignis zeitlich vor dem Ergebnis, auf das getriggert wird, liegen. In vielen Fällen kann dies eine wesentliche Vereinfachung der Bedienung bedeuten. Ist die Fehlerbedingung nicht exakt bekannt, oder mit der vorhandenen Triggerlogik nicht zu qualifizieren, kann in herkömmlicher Weise nicht auf den Fehler getriggert werden. Mit dem erfindungsgemäßen Verfahren ist es durch geschickte Wahl des Zeitfensters möglich, auch diese Ereignisse aufzuzeichnen.

Ein weiterer Vorteil der Erfindung ist, daß durch die erfindungsgemäße mehrfache Pre- und Centertrace Aufzeichnung auch sporadisch auftretende Fehler leichter aufgespürt werden können.

Weitere Vorteile der Erfindung ergeben sich bei der sog. Performanceanalyse, welche bei der Analyse von Mikroprozessorsystemen zunehmends an Bedeutung gewinnt.

In einer vorteilhaften Weiterbildung der Erfindung können aus den erfindungsgemäßen Speichereinträgen mittels Software die Ausführungszeit von Funktionen in Abhängigkeit von der aufrufenden Funktion ermittelt werden. In einer weiteren vorteilhaften Weiterbildung der Erfindung kann mittels Software aus den erfindungsgemäßen Speichereinträgen der Programmverlauf exakt rekonstruiert werden und dargestellt werden.

In einer weiteren vorteilhaften Weiterbildung der Erfindung kann das Clocksignal (4), (21), (33) zusätzlich von einer Qualifizierlogik gesteuert werden, um unerwünschte Speichereinträge auszublenden. Dadurch kann der zur Verfügung stehende Speicher noch besser genutzt werden.

Weitere vorteilhafte Weiterbildungen des erfindungsgemäßen Verfahrens ergeben sich aus den Ansprüchen 11-14. Durch die Realisierung der Hardware mit Logikbausteinen beispielsweise der Firma Xilinxs, bei denen die logische Verknüpfung flüchtig ist und beim Power/Up neu geladen werden muß, kann durch Ausnützung dieses "Nachteils" erreicht werden, daß die Logikbausteine im eingebauten Zustand umprogrammiert werden können. Für die Anwendung in einem Logikanalyser ergibt sich der Vorteil, daß mit der selben Hardware mehrere Prozessoren unterstützt werden können. Die Schaltungsanordnung nach Anspruch 10 läßt sich ebenfalls vorteilhaft entsprechend Anspruch 13 und 14 realisieren. Die variable Pre- und Post-Länge läßt sich vorteilhaft durch Umprogrammierung der Logikbausteine realisieren.

Die Erfindung wird nun anhand eines Ausführungsbeispieles, das in Fig. 2 dargestellt ist, näher beschrieben.

Die zu analysierenden Datenleitungen (1) sind mit einer digitalen Verzögerungseinheit (2) verbunden. Mit jedem Aktivwerden des Clocksignales (4) wird der Zustand der zu überwachenden Datenleitungen in die digitale Verzögerungseinheit (2) geschrieben. Die Ablaufsteuerung (5) kontrolliert die Anzahl der zwischengespeicherten Zustände und hält sie konstant auf den Wert des eingestellten Pretrace-Wertes, indem sie beispielsweise durch Auswertung des Clocksignals (4) die Anzahl der Einträge bestimmt, mit dem Pretrace-Wert vergleicht und bei Gleichheit mit jedem Aktivwerden des Clocksignals zwar einen neuen Zustand speichert, aber gleichzeitig den ältesten Zustand ausliest.

Solange die Triggerleitung (7) inaktiv ist, werden Daten zwar in die digitale Verzögerungseinheit geschrieben und auch ausgelesen, aber nicht in den Speicher (6) geschrieben.

Wird die digitale Verzögerungseinheit (2) beispielsweise durch einen Ringpuffer nach Anspruch 9 ausgeführt, muß die Ablaufsteuerung (5) nicht die Anzahl der zwischengespeicherten Daten tatsächlich konstant halten, sondern erreicht den selben Effekt bekannterweise durch Adressierung des Schreib- und Lesezeigers.

Bei Auftreten eines Triggersignals (7) aktiviert die Ablaufsteuerung die Aufzeichnung in den Speicher (6). Mit dem Clocksignal (4) werden Zustände beginnend mit dem ältesten zwischengespeicherten Zustand aus der digitalen Verzögerungseinheit (2) in den Speicher (6) geschrieben. Die Aufzeichnung in den Speicher wird durch die Ablaufsteuerung solange aktiviert, bis die eingestellte Vorgeschichte, das Ereignis und die eingestellte Nachgeschichte in den Speicher (6) geschrieben worden ist.

Jetzt stoppt die Ablaufsteuerung (5) die Aufzeichnung in den Speicher (6) wieder, während Daten wie beschrieben in die Verzögerungseinheit geschrieben werden. Wird die Triggerleitung wieder aktiv, wird erfindungsgemäß ein neues Ereignis im Pre- oder Centertrace Modus in den Speicher geschrieben.

Im Folgenden wird das bevorzugte Ausführungsbeispiel beschrieben.

Die in Fig. 3 beschriebene Schaltung eignet sich zur Aufzeichnung von 8 Datenleitungen. Werden mehr als 8 Datenleitungen überwacht, müssen mehrere der Funktionseinheiten FIFO-Speicher (10) und Speicher (11) parallel geschaltet werden. Die 8 zu überwachenden Datenleitungen (12) gehen auf den Eingang des FIFO-Speichers (10).

Mit jedem Clocksignal (21) werden Abtastwerte der Datenleitungen (12) in den FIFO-Speicher (10) geschrieben. Mit jedem Eintrag wird der Up/Down-Zähler (20) inkrementiert. Der Zählerstand wird mit einem Komparator (21) mit der eingestellten Prelänge (22) verglichen. Enthält das FIFO mehr Einträge als die eingestellte Pre-Länge, wird über Gatter (18) die FIFOout-Leitung (19) betätigt und ein Datum wird ausgelesen ohne aber in den Speicher (11) geschrieben zu werden. Gleichzeitig wird der Zähler (20) dekrementiert.

Die Triggerleitung (13) ist auf den Set-Eingang des Flip-Flop (14) und gleichzeitig auf den Eingang einer Verzögerungseinheit (15) geführt, deren Länge variabel einstellbar ist. Mit der Verzögerungseinheit (15) wird die gewünschte Posttrace-Länge (23) eingestellt. Tritt ein Triggerpuls auf, wird über Flip-Flop (14) und Gatter (16) die Aufzeichnung in den Speicher (11) aktiviert. Gleichzeitig beginnt der Triggerpuls durch die Verzögerungseinheit (15) zu laufen.

Der Ausgang des Gatter (16) ist mit den Enable-Eingang (17) des Speicher (11) und mit einem Eingang von Gatter (18) verbunden. Über Gatter (18) wird die FIFOout-Leitung (19) des FIFO-Speicher (10) betätigt.

Die sich im FIFO-Speicher befindlichen Daten werden mit jedem Aktivwerden des Clocksignals (21) aus dem FIFO-Speicher (10) in den Speicher (11) geschrieben. Die Aufzeichnung der aus dem FIFO-Speicher (10) ausgelesenen Daten in den Speicher (11) bleibt solange aktiv, bis das Triggersignal (13) durch die Verzögerungseinheit (15) und den FIFO-Speicher (10) durchgelaufen ist. Die Verzögerungseinheit (15) kann beispielsweise durch einen Zähler, der auf die Länge der gewünschten Nachgeschichte gesetzt wird und mit jedem Clockzyklus dekrementiert wird, ausgeführt werden.

Fig. 4 zeigt ein vorteilhaftes Ausführungsbeispiel des erfindungsgemäßen Verfahren nach Anspruch 1 entsprechend des Patentanspruches 10.

Die aufzuzeichnenden Datenleitungen (32) werden gesteuert von einer Ablaufsteuerung (30) in einen Halbleiterspeicher (31) geschrieben. Die Clockleitung (33) bestimmt den Abtastzeitpunkt der Datenleitungen. Die Ablaufsteuerung (30) erzeugt die Adressen unter denen die Daten in den Speicher (31) geschrieben werden, und teilt den Speicher (31) in virtuelle Speicherseiten konstanter oder variabler Länge. Die Größe der virtuellen Speicherseiten kann vorzugsweise die Summe aus Pre-Länge Ereignis und Post-Länge sein.

Ist die Triggerleitung (34) inaktiv, werden die Datenleitungen (32) mit jedem Clocksignal (33) in die aktuelle Speicherseite geschrieben. Ist die aktuelle Speicherseite voll, wird sie zyklisch überschrieben.

Wird die Triggerleitung (34) aktiv, werden das Ereignis und dann noch die gewünschte Anzahl der Post-Zyklen in die aktuelle Speicherseite geschrieben. Dann aktiviert die Ablaufsteuerung (30) die nächste Speicherseite, die nun die aktuelle Speicherseite ist und nun zyklisch beschrieben wird.

Wird die Triggerleitung (34) wieder aktiv, aktiviert die Ablaufsteuerung wiederum die nächste virtuelle Seite, nachdem, wie vorher beschrieben, die gewünschte Anzahl der Post-Zyklen in die aktuelle Speicherseite geschrieben worden ist.


Anspruch[de]
  1. 1. Verfahren zur Analyse der Funktionsweise von digitalen Schaltkreisen, bei dem Abtastwerte mehrerer Datenleitungen zu bestimmten Abtastzeitpunkten in eine Speichereinrichtung geschrieben werden und auf einem Bildschirm darstellbar sind, dadurch gekennzeichnet, daß beliebig viele Ereignisse gesteuert von einer Triggereinheit jeweils mit ihrer Vorgeschichte (Pretrace) oder mit ihrer Vorgeschichte und Nachgeschichte (Centertrace) in eine Speichereinrichtung geschrieben werden, und daß die Länge der Vorgeschichte und/oder der Nachgeschichte beliebig ist.
  2. 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die aufgezeichneten Ereignisse entsprechend Fig. 1 in eine Speichereinrichtung geschrieben werden.
  3. 3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die aufgezeichneten Ereignisse entsprechend Fig. 1 auf eine Anzeigeeinheit gegeben werden.
  4. 4. Vorrichtung zur Durchführung des Verfahrens nach Anspruch 1, dadurch gekennzeichnet, daß eine digitale Verzögerungsschaltung (2) angeordnet wird, in das die aufzuzeichnenden Daten gesteuert von einer Ablaufsteuerung (5) geschrieben und wieder ausgelesen werden, bevor sie in die Speichereinrichtung (6) geschrieben werden.
  5. 5. Vorrichtung zur Durchführung des Verfahrens nach Anspruch 1, gemäß Anspruch 4, dadurch gekennzeichnet, daß die digitale Verzögerungsschaltung (2) eine variable Länge hat.
  6. 6. Vorrichtung zur Durchführung des Verfahrens nach Anspruch 1, gemäß Anspruch 4, dadurch gekennzeichnet, daß die digitale Verzögerungsschaltung (2) durch einen FIFO-Speicher ausgeführt wird.
  7. 7. Vorrichtung zur Durchführung des Verfahrens nach Anspruch 1, gemäß Anspruch 4, dadurch gekennzeichnet, daß die digitale Verzögerungsschaltung (2) durch parallel geschaltete Schieberegister ausgeführt ist.
  8. 8. Vorrichtung zur Durchführung des Verfahrens nach Anspruch 1, gemäß Anspruch 4, dadurch gekennzeichnet, daß die digitale Verzögerungsschaltung (2) durch ein CCD (Charge Coupled Device) ausgeführt ist.
  9. 9. Vorrichtung zur Durchführung des Verfahrens nach Anspruch 1, gemäß Anspruch 4, dadurch gekennzeichnet, daß die digitale Verzögerungsschaltung (2) aus einem Ringpuffer besteht, in dem gleichzeitig Daten geschrieben und ausgelesen werden können.
  10. 10. Vorrichtung zur Durchführung des Verfahrens nach Anspruch 1, dadurch gekennzeichnet, daß eine Ablaufsteuerung (30) angeordnet wird, die den Speicher (31) in virtuelle Seiten beliebiger Länge unterteilt und nach Aufzeichnung eines Ereignisses mit Vorgeschichte oder eines Ereignisses mit Vorgeschichte und Nachgeschichte auf eine neue Seite weiterschaltet.
  11. 11. Vorrichtung nach Anspruch 4, dadurch gekennzeichnet, daß die Verzögerungsschaltung (2) und/oder die Ablaufsteuerung (5) durch eine programmierbare Logikschaltung, die im eingebauten Zustand umprogrammiert werden kann, realisiert wird.
  12. 12. Vorrichtung nach Anspruch 4, dadurch gekennzeichnet, daß die Verzögerungsschaltung (2) und/oder die Ablaufsteuerung (5) durch mehrere programmierbare Logikschaltungen, die im eingebauten Zustand umprogrammiert werden können, realisiert wird.
  13. 13. Vorrichtung nach Anspruch 10, dadurch gekennzeichnet, daß Ablaufsteuerung (30) und/oder Speicher (31) durch eine programmierbare Logikschaltung, die im eingebauten Zustand umprogrammiert werden kann, realisiert wird.
  14. 14. Vorrichtung nach Anspruch 10, dadurch gekennzeichnet, daß Ablaufsteuerung (30) und/oder Speicher (31) durch mehrere programmierbare Logikschaltungen, die im eingebauten Zustand umprogrammiert werden können, realisiert wird.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com