DE10127170A1 - Fehlersuchverfahren und Fehlersuchvorrichtung - Google Patents
Fehlersuchverfahren und FehlersuchvorrichtungInfo
- Publication number
- DE10127170A1 DE10127170A1 DE10127170A DE10127170A DE10127170A1 DE 10127170 A1 DE10127170 A1 DE 10127170A1 DE 10127170 A DE10127170 A DE 10127170A DE 10127170 A DE10127170 A DE 10127170A DE 10127170 A1 DE10127170 A1 DE 10127170A1
- Authority
- DE
- Germany
- Prior art keywords
- troubleshooting
- simulation model
- devices
- debugger
- individual
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
Zur vereinfachten Bedienung und Kontrolle der Fehlersuche in einem System (1) mit mehreren unterschiedlichen Modellen (2, 3, 4), wie beispielsweise einem Hardware-Modell, einem Software-Programm und einem Testbench-Modell, aktiviert der Benutzer einen einheitlichen Debugger (11), der seinerseits verschiedene untergeordnete Debugger (5, 6, 7) aufruft und ausführt, welche jeweils den unterschiedlichen Modellen (2, 3, 4) zugeordnet sind. Die untergeordneten Debugger (5, 6, 7) greifen dann jeweils auf die ihnen zugeordneten unterschiedlichen Modelle zum Ausführen entsprechender Fehlersuchoperationen zu.
Description
Die vorliegende Erfindung betrifft ein Fehlersuchverfahren
für ein System mit unterschiedlichen Simulationsmodellen, wie
beispielsweise einem Hardware-Modell, einem Software-Programm
und/oder einem Testbench-Modell, sowie eine Vorrichtung zur
Fehlersuche in einem System mit derartigen unterschiedlichen
Simulationsmodellen, welche bevorzugt beim Entwurf elektroni
scher Schaltungen einsetzbar ist, d. h. in diesem Fall handelt
es sich bei dem zu simulierenden System um eine elektronische
Schaltung.
Es gibt zu simulierende Systeme, die mittels einer kontrol
lierten und instrumentierten Abarbeitung von Programm
schritten (sog. Debuggen) in einer Testumgebung auf Fehler
untersucht werden sollen und durch unterschiedliche Simulati
onsmodelle simuliert werden. Im Rahmen dieser Erfindung wer
den unter dem Begriff "Simulationsmodell" insbesondere Hard
ware-Modelle, Software-Programme und Testbench-Modelle ver
standen. Ein solches System kann zum Beispiel mit Hilfe von
drei Klassen von Sprachen beschrieben werden: mit einer oder
mehreren Hardware-Beschreibungssprachen ("Hardware Descripti
on Language", HDL) für die Hardware, mit einer oder mehreren
Programmiersprachen ("Programming Language", PL) für die
Software und mit einer Testbenchsprache ("Test Language", TL
oder "Hardware Verification Language", HVL) für die
Testbench.
Bei der Fehlersuche in Datenverarbeitungsprogrammen wird üb
licherweise das auf Fehler zu untersuchende Modell bzw. Pro
gramm unter Kontrolle einer Fehlersucheinrichtung bzw. eines
Fehlersuchprogramms, eines sogenannten Debuggers, ausgeführt.
Hierzu wird das Fehlersuchprogramm aufgerufen, das wiederum
das zu untersuchende Modell bzw. Programm aufruft, welches in
der Regel einen Unterbrechungspunkt enthält. Bei Erreichen
dieses Unterbrechungspunktes wird die weitere Abarbeitung des
zu untersuchenden Programms gestoppt und zum Debugger zurück
gekehrt.
Bei herkömmlichen Fehlersuchverfahren wird für jede Klasse
der oben angegebenen Sprachen, d. h. für jedes Modell, ein ei
genes Fehlersuchprogramm mit eigenen Kommandos und einer ei
genen Oberfläche verwendet. Dem Vorteil, dass für jede Klasse
von Sprachen ein optimaler Debugger eingesetzt werden kann,
steht der Nachteil gegenüber, dass sich die verschiedenen De
bugger für die unterschiedlichen Modelle unterschiedlich ver
halten und dass vom Benutzer viele Kommando-Schnittstellen
und Fenster am Bildschirm seines Rechnerarbeitsplatzes zu
kontrollieren sind.
Es ist daher eine Aufgabe der vorliegenden Erfindung, ein
Fehlersuchverfahren für ein System mit unterschiedlichen Si
mulationsmodellen, das die obigen Nachteile vermeidet und
insbesondere vom Benutzer einfach bedient und kontrolliert
werden kann, sowie eine entsprechende Fehlersuchvorrichtung
bereitzustellen.
Diese Aufgabe wird durch ein Fehlersuchverfahren mit den
Merkmalen von Patentanspruch 1 bzw. durch eine Fehlersuchvor
richtung mit den Merkmalen von Patentanspruch 9 gelöst. Vor
teilhafte Ausgestaltungen und Weiterbildungen der Erfindung
sind Gegenstand der Unteransprüche.
Erfindungsgemäß wird zur Fehlersuche in einem System mit meh
reren unterschiedlichen Simulationsmodellen, wie zum Beispiel
einem Hardware-Modell, einem Software-Modell/Programm und ei
nem Testbench-Modell, vom Benutzer eine übergeordnete Feh
lersucheinrichtung (Debugger) ausgeführt, welche ihrerseits
mit verschiedenen untergeordneten Fehlersucheinrichtungen
(Debugger), die jeweils den unterschiedlichen Simulationsmo
dellen zugeordnet sind, kommuniziert und diese aktiviert. Die
untergeordneten Fehlersucheinrichtungen greifen dann jeweils
entsprechend auf das ihnen zugeordnete Simulationsmodell zu,
um einen Fehler in dem System (bzw. in dem jeweiligen Simula
tionsmodell) aufzufinden. Durch die Bereitstellung der über
geordneten einheitlichen und gemeinsamen Fehlersucheinrich
tung kann dem Benutzer eine einheitliche Schnittstelle mit
eigenen Kommandos, eigenem Kommandointerpreter und eigener
Oberfläche zur Verfügung gestellt werden, um die Fehlersuche
in den einzelnen Simulationsmodellen für den Benutzer zu ver
einfachen. Gleichzeitig können für die unterschiedlichen Si
mulationsmodelle jeweils optimale Debugger als untergeordnete
Fehlersucheinrichtungen verwendet werden, so dass trotz der
vereinfachten Bedienung für den Benutzer ein optimales Ergeb
nis der Fehlersuche gewährleistet werden kann.
Die übergeordnete Fehlersucheinrichtung kann gegebenenfalls
auch direkt, d. h. ohne Zwischenschaltung einer entsprechenden
untergeordneten Fehlersucheinrichtung, auf das jeweilige Si
mulationsmodell kontrollierend und analysierend zugreifen.
Vorzugsweise erfolgt die Kommunikation zwischen der einheit
lichen übergeordneten Fehlersucheinrichtung und den einzelnen
untergeordneten und speziellen Fehlersucheinrichtungen in
Form einer Master-Worker- oder Master-Slave-Kommunikation,
wobei die übergeordnete Fehlersucheinrichtung als Master und
die untergeordneten Fehlersucheinrichtungen als Workers oder
Slaves fungieren.
Die vorliegende Erfindung kann bevorzugt bei der Entwicklung
bzw. bei der Simulation/Verifikation von elektrischen Schal
tungen (Hardwareentwurf) eingesetzt werden.
Die vorliegende Erfindung wird nachfolgend anhand ver
schiedener Ausführungsbeispiele unter Bezugnahme auf die bei
liegende Zeichnung näher erläutert. Darin zeigen:
Fig. 1 eine schematische Darstellung des Aufbaus eines
ersten Ausführungsbeispiels einer Vorrichtung zur
Fehlersuche gemäß der vorliegenden Erfindung;
Fig. 2 eine schematische Darstellung des Aufbaus eines
zweiten Ausführungsbeispiels einer Vorrichtung zur
Fehlersuche gemäß der vorliegenden Erfindung;
Fig. 3 ein grob skizziertes Ablaufdiagramm zur Erläuterung
eines Funktionsablaufs eines Fehlersuchverfahrens
gemäß der vorliegenden Erfindung;
Fig. 4 ein grob skizziertes Ablaufdiagramm zur Erläuterung
eines weiteren Funktionsablaufs eines Fehlersuch
verfahrens gemäß der vorliegenden Erfindung; und
Fig. 5 ein grob skizziertes Ablaufdiagramm zur Erläuterung
eines nochmals weiteren Funktionsablaufs eines Feh
lersuchverfahrens gemäß der vorliegenden Erfindung.
In Fig. 1 ist zunächst der grundsätzliche Aufbau eines ersten
Ausführungsbeispiels einer Vorrichtung zur Durchführung des
erfindungsgemäßen Fehlersuchverfahrens dargestellt.
Das zu simulierende System 1 ist im vorliegenden Fall aus
drei unterschiedlichen Simulationsmodellen 2-4, die nachfol
gend der Einfachheit halber verkürzt als Modell bezeichnet
werden, aufgebaut. Die (in Fig. 1 mit I bis III bezeichneten)
Modelle 2, 3, 4 sind beispielsweise ein Hardware-Modell, ein
Software-Modell/Programm und ein Testbench-Modell, in denen
das System jeweils durch entsprechende Sprachen wie eingangs
erläutert beschrieben ist. Weiter kommunizieren die in ge
speicherter Form vorliegenden unterschiedlichen Modelle 2, 3,
4 üblicherweise auch untereinander. Die Anzahl der zum Ein
satz kommenden Modelle bzw. Klassen von Sprachen ist dabei
nicht festgelegt, wobei auch lediglich zwei Sprachen, z. B.
eine Hardware-Beschreibungssprache und eine Testbenchsprache,
verwendet werden können, d. h. es ist insbesondere auch mög
lich, ein nur aus einem Hardware-Modell und einem Software-
Programm bestehendes System zu simulieren und auf Fehler zu
untersuchen.
Alle Modelle 2, 3, 4 des zu simulierenden Systems 1 verfügen
über eine entsprechende Schnittstelle 8, 9, 10 zu einer spe
ziell auf das jeweilige Modell abgestimmten Fehlersuchein
richtung in Form von Debuggern 5-7, d. h. für jedes Modell 2,
3, 4 ist ein optimaler Debugger mit eigenen, unterschiedli
chen Kommandos vorgesehen.
Im Gegensatz zu herkömmlichen Fehlersuchvorrichtungen muss
der Benutzer bei der erfindungsgemäßen Fehlersuchvorrichtung
jedoch nicht mit den mehreren unterschiedlichen speziellen
Debuggern 5-7 arbeiten und diese kontrollieren. Dem Benutzer
steht vielmehr eine übergeordnete Fehlersucheinrichtung in
Form eines einheitlichen Debuggers 11 zur Verfügung, auf die
er über eine geeignete Benutzer-Schnittstelle 12 zugreifen
kann. Dieser einheitliche Debugger 11 besitzt einen eigenen
Kommando-Interpreter mit eigenen Kommandos und gegebenenfalls
einer eigenen graphischen Oberfläche. Dieser Kommando-
Interpreter setzt seine eigenen Kommandos in die jeweiligen
Kommandos der unterschiedlichen speziellen Debugger 5, 6, 7
um und führt die so umgesetzten Kommandos den einzelnen spe
ziellen Debuggern 5, 6, 7 zur Abarbeitung entsprechender Feh
lersuchoperationen durch Zugriff auf das jeweilige Modell zu.
Umgekehrt setzt der Kommando-Interpreter des einheitlichen
Debuggers 11 die ihm von den verschiedenen speziellen Debug
gern 5, 6, 7 zugeleiteten Kommandos bzw. Ausgaben und Rück
meldungen derart um, dass sie dem Benutzer über die Benutzer-
Schnittstelle 12 in einer einheitlichen Form dargestellt und
ausgegeben werden können.
Bei der Fehlersuchvorrichtung gemäß diesem Ausführungsbei
spiel muss der Benutzer nicht wie bei bisherigen Systemen
mehrere Debugger 5-7 parallel kontrollieren, sondern der Be
nutzer bedient bzw. kontrolliert nur den einheitlichen Debug
ger 11. Somit ist die Durchführung der Fehlersuche für den
Benutzer wesentlich vereinfacht.
Eine alternative Ausführungsform der erfindungsgemäßen Feh
lersuchvorrichtung ist in Fig. 2 dargestellt. Gleiche Be
standteile der Anordnung sind dabei mit den gleichen Bezugs
zeichen wie bei dem ersten Ausführungsbeispiel von Fig. 1
versehen.
Das zweite Ausführungsbeispiel unterscheidet sich von dem in
Fig. 1 dargestellten Ausführungsbeispiel dadurch, dass der
spezielle Debugger 6 für das Software-Programm 3 entfällt.
Dies bedeutet, dass der einheitliche Debugger 11 in diesem
Fall direkt auf die Debugger-Schnittstelle 9 des Software-
Programms 3 kontrollierend und analysierend zugreift. In
UNIX-Betriebssystemen wird im Zusammenhang mit einer derarti
gen Debugger-Schnittstelle 9 der Begriff "Common Object For
mat" verwendet. Für den Fall, dass auch bezüglich des Hard
ware-Modells 2 und/oder des Testbench-Modells 4 derartige
allgemeine Schnittstellen 8 bzw. 10 vorhanden sind, können
analog der Hardware-Debugger 5 und der Testbench-Debugger 7
entfallen, da der einheitliche Debugger 11 dann direkt auf
das Hardware-Modell 2 bzw. das Testbench-Modell 4 zugreifen
kann.
Die Kommunikation zwischen dem einheitlichen Debugger 11 und
den verwendeten speziellen untergeordneten Debuggern 5, 6, 7
beruht bei beiden Ausführungsbeispielen der erfindungsgemäßen
Fehlersuchvorrichtung vorzugsweise auf einer sogenannten Mas
ter-Slave-Kommunikation. Dabei fungiert während der gesamten
Simulation der einheitliche Debugger 11 als Master, während
die einzelnen speziellen Debugger 5, 6, 7 als Slaves arbei
ten. Somit wird jede Anfrage des einheitlichen Debuggers 11
an einen der eingesetzten Debugger 5, 6, 7 von diesem mit ei
ner Bestätigung quittiert. Eine solche Bestätigung kann bei
spielsweise lediglich ein Prompt, d. h. eine erneute Eingabe
aufforderung des jeweiligen Debuggers 5-7, sein. Zusätzlich
zu dieser Bestätigung können bei Bedarf, zum Beispiel wenn
von dem übergeordneten einheitlichen Debugger 11 ein Befehl
zur Berechnung des Wertes eines Objekts an einen untergeord
neten speziellen Debugger 5-7 gegeben wird, von dem jeweili
gen speziellen Debugger 5, 6, 7 an den einheitlichen Debugger
11 weitere Informationen, wie beispielsweise der Wert dieses
Objekts, zurückgegeben werden. Dabei läuft die Kommunikation
zwischen dem einheitlichen Debugger 11 und den speziellen De
buggern 5-7 vollautomatisiert und rechnergestützt ab, d. h.
von dem einheitlichen Debugger 11 wird automatisch eine Be
nutzereingabe erfasst und in eine entsprechende Ansteue
rung/Aktivierung der speziellen Debugger 5-7 umgesetzt, wel
che ihrerseits die entsprechenden Fehlersuchoperationen auto
matisch/rechnergestützt durchführen.
Anhand der Fig. 3 bis 5 werden nun beispielhaft verschiedene
Funktionsabläufe erläutert, die bei einem Fehlersuchverfahren
mit der oben beschriebenen Fehlersuchvorrichtung auftreten
können. Selbstverständlich ist das Fehlersuchverfahren gemäß
der vorliegenden Erfindung nicht auf diese drei grundlegenden
Funktionsabläufe beschränkt, sondern diese dienen lediglich
dem besseren Verständnis der Erfindung, und der Fachmann wird
den erfindungsgemäßen Aufbau ohne weiteres auf weitere Funk
tionsabläufe übertragen, die bei einer Fehlersuche in Syste
men mit mehreren unterschiedlichen Modellen benötigt werden.
In Fig. 3 ist zunächst der Funktionsablauf für ein Kommando
dargestellt, das von dem einheitlichen Debugger 11 an alle
vorhandenen speziellen Debugger 5-7 geschickt wird.
Bei dem gezeigten Beispiel wird von dem Benutzer über die Be
nutzer-Schnittstelle 12 beispielsweise das Kommando "Start"
an den einheitlichen Debugger 11 gegeben. Der einheitliche
Debugger bzw. Haupt-Debugger 11 setzt das Kommando "Start" in
die äquivalenten Kommandos der speziellen Debugger 5, 6, 7,
wie beispielsweise "run" oder "start", um und leitet diese
umgesetzten Kommandos an die einzelnen speziellen Debugger 5,
6, 7 weiter. Wie bei dem in Fig. 1 gezeigten Fall werden als
spezielle untergeordnete Debugger ein Hardware-Debugger (HW-
Debugger) 5, der auf ein Hardware-Modell (HW-Modell) 2 zu
greift, ein Software-Debugger (SW-Debugger) 6, der auf ein
Software-Programm/Modell (SW-Programm) 3 zugreift, und ein
Testbench-Debugger (TB-Debugger) 7, der auf ein Testbench-
Modell (TB-Modell) 4 zugreift, verwendet.
Nachdem alle Debugger 5, 6, 7 aufgrund des von dem einheitli
chen Debugger 11 zugeführten Startkommandos die Abarbeitung
ihrer Modelle bzw. Programme 2, 3, 4 begonnen haben, beginnt
in der Regel eine beliebige Abfolge von Interaktionen zwi
schen den Modellen bzw. Programmen, wie dies in Fig. 3 durch
Pfeile angedeutet ist. Ist die Ausführung der Modelle 2, 3, 4
beendet, dann schicken die zugeordneten Debugger 5, 6, 7 je
weils eine spezifische "Ende"-Meldung an den einheitlichen
Debugger 11, wobei diese "Ende"-Meldungen möglicherweise auch
korreliert erfolgen können. Das Haupt-Fehlersuchprogramm 11
setzt dann diese "Ende"-Meldungen um und gibt eine entspre
chende "Ende"-Rückmeldung an die Benutzer-Schnittstelle 12
aus.
Zur Verwaltung aller an einer Simulation des Systems 1 betei
ligten Objekte muss der einheitliche Debugger 11 die Objekte
aller Modelle 2, 3, 4 zusammenfassen. Dies bedeutet, dass un
terschiedliche Namensbereiche (Hardware, Software, Testbench)
gemeinsam verwaltet werden müssen. Da grundsätzlich die Mög
lichkeit besteht, dass zum Beispiel eine Variable des Soft
ware-Programms 3 den gleichen Namen wie ein Signal des Hard
ware-Modells 2 besitzt, ist es von Vorteil, wenn der einheit
liche Debugger 11 in der Lage ist, die lokalen Namensbereiche
der einzelnen Modelle 2, 3, 4 intern zu globalen Namen zu er
weitern, um sie unterscheiden zu können.
Anhand von Fig. 4 wird nun der Funktionsablauf für ein vom
Benutzer eingegebenes Kommando zur Abfrage des Wertes eines
Objekts von einem bestimmten Modell erläutert.
Zunächst muss der einheitliche Debugger 11 anhand des globa
len Objektnamens, zu dem der Wert abgefragt werden soll,
bestimmen, in welchem Modell 2, 3, 4 das gewünschte Objekt
vorhanden ist. Dann ermittelt der einheitliche Debugger 11
den entsprechenden lokalen Namen des Objekts und fragt mit
tels entsprechendem Kommando den Wert des Objekts bei dem je
weiligen untergeordneten speziellen Debugger (im vorliegenden
Fall bei dem Software-Debugger 6) ab, unter dessen Kontrolle
das bestimmte Modell 3 abläuft, zu dem das Objekt gehört. Der
spezielle Debugger 6 gibt dann den gewünschten Wert des Ob
jekts an den einheitlichen Debugger 11 zurück, welcher diesen
Wert, gegebenenfalls nach einer weiteren Bearbeitung, an die
Benutzer-Schnittstelle 12 weiterleitet.
Auf ähnliche Weise können durch den Benutzer Abbruch
bedingungen gesetzt oder gelöscht oder Werte von Objekten ge
setzt werden. In solchen Fällen wird dann von dem jeweiligen
speziellen Debugger 5, 6, 7 anstelle des Wertes des Objekts,
wie oben beschrieben, nur eine Bestätigung an den einheitli
chen Debugger 11 zurückgegeben.
Schließlich wird als drittes Beispiel eines Funktionsablaufs
anhand von Fig. 5 die Abarbeitung eines Einzelschritt-
Kommandos veranschaulicht.
Aufgrund eines vom Benutzer über die Benutzer-Schnittstelle
12 eingegebenen Einzelschritt-Kommandos generiert der ein
heitliche Debugger 11 ein entsprechendes Einzelschritt-
Kommando für das gewünschte Modell (im vorliegenden Fall das
Testbench-Modell 4) und gibt dieses an den dem Modell 4 zuge
ordneten Debugger 7 weiter. Daraufhin wird das Modell 4 im
Einzelschritt-Modus betrieben, während die anderen Modelle 2,
3 auch ohne Unterbrechung und nicht im Einzelschritt-Modus
ablaufen können. Nach Beendigung des Einzelschritts gibt der
Debugger 7 eine Bestätigung, dass der Einzelschritt von dem
Modell 4 abgeschlossen ist, an den einheitlichen Debugger 11
zurück, der diese Bestätigung in ein entsprechendes Kommando
für die Benutzer-Schnittstelle 12 umsetzt.
Bei dem oben beschriebenen Funktionsablauf ist es im allge
meinen unerheblich, ob ein Einzelschritt über eine einzige
Einzelanweisung oder über mehrere zusammengefasste Einzelan
weisungen abläuft. Außerdem kann das Einzelschritt-Kommando
je nach Kommando des Benutzers sowohl nur für ein Modell als
auch für mehrere oder für alle Modelle 2, 3, 4 gelten.
Claims (19)
1. Fehlersuchverfahren für ein durch mehrere unterschiedli
che Simulationsmodelle simuliertes System,
wobei das System (1) in den einzelnen Simulationsmodellen (2- 4) durch Beschreibungssprachen unterschiedlicher Klassen be schrieben wird, und
wobei den einzelnen Simulationsmodellen (2-4) unterschiedli che erste Fehlersucheinrichtungen (5-7) zum Auffinden eines Fehlers jeweils mittels Zugriff auf das entsprechende Simula tionsmodell (2-4) zugeordnet sind,
gekennzeichnet durch die Schritte
wobei das System (1) in den einzelnen Simulationsmodellen (2- 4) durch Beschreibungssprachen unterschiedlicher Klassen be schrieben wird, und
wobei den einzelnen Simulationsmodellen (2-4) unterschiedli che erste Fehlersucheinrichtungen (5-7) zum Auffinden eines Fehlers jeweils mittels Zugriff auf das entsprechende Simula tionsmodell (2-4) zugeordnet sind,
gekennzeichnet durch die Schritte
- a) automatisches Erfassen einer Benutzereingabe mit Hilfe einer zweiten Fehlersucheinrichtung (11), welche den ersten Fehlersucheinrichtungen (5-7) übergeordnet ist, und
- b) automatisches Ansteuern der ersten Fehlersucheinrichtun gen (5-7) durch die zweite Fehlersucheinrichtung (11) in Ab hängigkeit von der Benutzereingabe, um durch Zugriff auf das jeweilige Simulationsmodell (2-4) einen Systemfehler zu fin den.
2. Fehlersuchverfahren nach Anspruch 1,
dadurch gekennzeichnet,
dass ein Simulationsmodell (2) ein Hardware-Simulationsmodell
ist, in dem das System (1) durch eine Hardware-
Beschreibungssprache beschrieben ist, wobei diesem Simulati
onsmodell (2) als eine entsprechende erste Fehlersucheinrich
tung ein Hardware-Debugger (5) zugeordnet ist.
3. Fehlersuchverfahren nach Anspruch 1 oder 2,
dadurch gekennzeichnet,
dass ein Simulationsmodell (4) ein Testbench-
Simulationsmodell ist, in dem das System (1) durch eine
Testbench-Sprache beschrieben ist, wobei diesem Simulations
modell (4) als eine entsprechende erste Fehlersucheinrichtung
ein Testbench-Debugger (7) zugeordnet ist.
4. Fehlersuchverfahren nach einem der vorhergehenden An
sprüche,
dadurch gekennzeichnet,
dass ein Simulationsmodell (3) ein Software-Simulationsmodell
ist, in dem das System (1) durch eine Programmiersprache be
schrieben ist, wobei diesem Simulationsmodell (3) als eine
entsprechende erste Fehlersucheinrichtung ein Software-
Debugger (6) zugeordnet ist.
5. Fehlersuchverfahren nach einem der vorhergehenden An
sprüche,
dadurch gekennzeichnet,
dass die übergeordnete zweite Fehlersucheinrichtung (11) di
rekt auf mindestens ein Simulationsmodell (3) ohne Zwischen
schaltung einer ersten Fehlersucheinrichtung zugreift.
6. Fehlersuchverfahren nach einem der vorhergehenden An
sprüche,
dadurch gekennzeichnet,
dass von der zweiten Fehlersucheinrichtung (11) eine Benut
zereingabe automatisch in entsprechende Kommandos für die
einzelnen ersten Fehlersucheinrichtungen (5-7) umgesetzt
wird.
7. Fehlersuchverfahren nach einem der vorhergehenden An
sprüche,
dadurch gekennzeichnet,
dass von den ersten Fehlersucheinrichtungen (5-7) automatisch
in Abhängigkeit von der Ansteuerung durch die zweite Fehler
sucheinrichtung (11) durch Zugriff auf das jeweilige Simula
tionsmodell (2-4) eine entsprechende Fehlersuchoperation
durchgeführt wird, wobei von der zweiten Fehlersucheinrich
tung (11) automatisch eine von den einzelnen ersten Fehler
sucheinrichtungen (5-7) im Laufe der jeweiligen Fehlersuch
operation generierte Rückmeldung erfasst und an den Benutzer
ausgegeben wird.
8. Fehlersuchverfahren nach einem der vorhergehenden An
sprüche,
dadurch gekennzeichnet,
dass die Kommunikation zwischen der zweiten Fehlersuchein
richtung (11) und den ersten Fehlersucheinrichtungen (5-7) in
Form einer Master-Worker-Kommunikation erfolgt, wobei die
zweite Fehlersucheinrichtung (11) als Master und die ersten
Fehlersucheinrichtungen (5-7) als Workers fungieren.
9. Vorrichtung zur Fehlersuche für ein durch mehrere unter
schiedliche Simulationsmodelle simuliertes System,
wobei das System (1) in den einzelnen Simulationsmodellen (2- 4) durch Beschreibungssprachen unterschiedlicher Klassen be schrieben ist,
mit mehreren unterschiedlichen ersten Fehlersucheinrichtungen (5-7), welche jeweils einem entsprechenden Simulationsmodell (2-4) zugeordnet sind, zum Auffinden eines Systemfehlers mit tels Zugriff auf das entsprechende Simulationsmodell (2-4),
dadurch gekennzeichnet,
dass eine den ersten Fehlersucheinrichtungen (5-7) übergeord nete zweite Fehlersucheinrichtung (11) vorgesehen ist,
wobei die zweite Fehlersucheinrichtung (11) zum automatischen Erfassen einer Benutzereingabe und zum automatischen Ansteu ern der ersten Fehlersucheinrichtungen (5-7) in Abhängigkeit von der Benutzereingabe zum Auffinden eines Fehlers durch Zugriff auf das jeweilige Simulationsmodell (2-4) ausgestal tet ist.
wobei das System (1) in den einzelnen Simulationsmodellen (2- 4) durch Beschreibungssprachen unterschiedlicher Klassen be schrieben ist,
mit mehreren unterschiedlichen ersten Fehlersucheinrichtungen (5-7), welche jeweils einem entsprechenden Simulationsmodell (2-4) zugeordnet sind, zum Auffinden eines Systemfehlers mit tels Zugriff auf das entsprechende Simulationsmodell (2-4),
dadurch gekennzeichnet,
dass eine den ersten Fehlersucheinrichtungen (5-7) übergeord nete zweite Fehlersucheinrichtung (11) vorgesehen ist,
wobei die zweite Fehlersucheinrichtung (11) zum automatischen Erfassen einer Benutzereingabe und zum automatischen Ansteu ern der ersten Fehlersucheinrichtungen (5-7) in Abhängigkeit von der Benutzereingabe zum Auffinden eines Fehlers durch Zugriff auf das jeweilige Simulationsmodell (2-4) ausgestal tet ist.
10. Vorrichtung zur Fehlersuche nach Anspruch 9,
dadurch gekennzeichnet,
dass ein Simulationsmodell (2) ein Hardware-Simulationsmodell
ist, in dem das System (1) durch eine Hardware-
Beschreibungssprache beschrieben ist, wobei diesem Simulati
onsmodell (2) als eine entsprechende erste Fehlersucheinrich
tung ein Hardware-Debugger (5) zugeordnet ist.
11. Vorrichtung nach Anspruch 9 oder 10,
dadurch gekennzeichnet,
dass ein Simulationsmodell (4) ein Testbench-
Simulationsmodell ist, in dem das System (1) durch eine
Testbench-Sprache beschrieben ist, wobei diesem Simulations
modell (4) als eine entsprechende erste Fehlersucheinrichtung
ein Testbench-Debugger (7) zugeordnet ist.
12. Vorrichtung zur Fehlersuche nach einem der Ansprüche 9-
11,
dadurch gekennzeichnet,
dass ein Simulationsmodell (3) ein Software-Simulationsmodell
ist, in dem das System (1) durch eine Programmiersprache be
schrieben ist, wobei diesem Simulationsmodell (3) als eine
entsprechende erste Fehlersucheinrichtung ein Software-
Debugger (6) zugeordnet ist.
13. Vorrichtung zur Fehlersuche nach einem der Ansprüche 9-
12,
dadurch gekennzeichnet,
dass die zweite Fehlersucheinrichtung (11) direkt auf mindes
tens ein Simulationsmodell (3) ohne Zwischenschaltung einer
entsprechenden ersten Fehlersucheinrichtung zugreift.
14. Vorrichtung zur Fehlersuche nach einem der Ansprüche 9-
13,
dadurch gekennzeichnet,
dass die zweite Fehlersucheinrichtung (11) zur automatischen
Umsetzung der Benutzereingabe in entsprechende Kommandos für
die einzelnen ersten Fehlersucheinrichtungen (5-7) ausgestal
tet ist.
15. Vorrichtung zur Fehlersuche nach einem der Ansprüche 9-
14,
dadurch gekennzeichnet,
dass die einzelnen ersten Fehlersucheinrichtungen (5-7) zur automatischen Durchführung entsprechender Fehlersuchoperatio nen in Abhängigkeit von der Ansteuerung durch die zweite Feh lersucheinrichtung (11) durch Zugriff auf das jeweilige Simu lationsmodell (2-4) ausgestaltet sind, und
dass die zweite Fehlersucheinrichtung (11) zum automatischen Erfassen von Rückmeldungen, welche von den ersten Fehlersuch einrichtungen (5-7) im Laufe der jeweiligen Fehlersuchopera tionen generiert werden, ausgestaltet ist, um diese an den Benutzer auszugeben.
dass die einzelnen ersten Fehlersucheinrichtungen (5-7) zur automatischen Durchführung entsprechender Fehlersuchoperatio nen in Abhängigkeit von der Ansteuerung durch die zweite Feh lersucheinrichtung (11) durch Zugriff auf das jeweilige Simu lationsmodell (2-4) ausgestaltet sind, und
dass die zweite Fehlersucheinrichtung (11) zum automatischen Erfassen von Rückmeldungen, welche von den ersten Fehlersuch einrichtungen (5-7) im Laufe der jeweiligen Fehlersuchopera tionen generiert werden, ausgestaltet ist, um diese an den Benutzer auszugeben.
16. Vorrichtung zur Fehlersuche nach einem der Ansprüche 9-
15,
dadurch gekennzeichnet,
dass die einzelnen ersten Fehlersucheinrichtungen (5-7) und
die zweite Fehlersucheinrichtung (11) zur Realisierung einer
Master-Slave-Kommunikation zwischen der ersten Fehlersuchein
richtung (11) als Master einerseits und den einzelnen zweiten
Fehlersucheinrichtungen (5-7) als Workers andererseits aus
gestaltet sind.
17. Vorrichtung zur Fehlersuche nach einem der Ansprüche 9-
16,
dadurch gekennzeichnet,
dass den einzelnen Simulationsmodellen (2-4) jeweils eine
Schnittstelle (8-10) zur Anbindung an die jeweilige erste
Fehlersucheinrichtung (5-7) zugeordnet ist.
18. Vorrichtung zur Fehlersuche nach einem der Ansprüche 9-
17,
dadurch gekennzeichnet,
dass die einzelnen Simulationsmodelle (2-4) durch Einrichtun
gen realisiert sind, welche zur Kommunikation untereinander
ausgestaltet sind.
19. Verwendung einer Vorrichtung nach einem der Ansprüche 9-
18 für den Entwurf von elektronischen Schaltungen.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10127170A DE10127170A1 (de) | 2001-06-05 | 2001-06-05 | Fehlersuchverfahren und Fehlersuchvorrichtung |
EP02010295A EP1265146A3 (de) | 2001-06-05 | 2002-05-21 | Fehlersuchverfahren und Fehlersuchvorrichtung |
US10/162,358 US20030005416A1 (en) | 2001-06-05 | 2002-06-04 | Fault search method and apparatus |
CN02126282A CN1389829A (zh) | 2001-06-05 | 2002-06-04 | 故障搜索方法和故障搜索设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10127170A DE10127170A1 (de) | 2001-06-05 | 2001-06-05 | Fehlersuchverfahren und Fehlersuchvorrichtung |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10127170A1 true DE10127170A1 (de) | 2002-12-19 |
Family
ID=7687192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10127170A Withdrawn DE10127170A1 (de) | 2001-06-05 | 2001-06-05 | Fehlersuchverfahren und Fehlersuchvorrichtung |
Country Status (4)
Country | Link |
---|---|
US (1) | US20030005416A1 (de) |
EP (1) | EP1265146A3 (de) |
CN (1) | CN1389829A (de) |
DE (1) | DE10127170A1 (de) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7373290B2 (en) | 2002-04-04 | 2008-05-13 | International Business Machines Corporation | Method and system for reducing storage requirements of simulation data via keyword restrictions |
US7206732B2 (en) * | 2002-04-04 | 2007-04-17 | International Business Machines Corporation | C-API instrumentation for HDL models |
US7158924B2 (en) * | 2002-04-04 | 2007-01-02 | International Business Machines Corporation | Dynamic loading of C-API HDL model instrumentation |
US7203633B2 (en) * | 2002-04-04 | 2007-04-10 | International Business Machines Corporation | Method and system for selectively storing and retrieving simulation data utilizing keywords |
US6698004B2 (en) * | 2002-06-20 | 2004-02-24 | Sun Microsystems, Inc. | Pin toggling using an object oriented programming language |
US7236918B2 (en) * | 2003-12-31 | 2007-06-26 | International Business Machines Corporation | Method and system for selective compilation of instrumentation entities into a simulation model of a digital design |
US7536288B2 (en) | 2003-12-31 | 2009-05-19 | International Business Machines Corporation | Method, system and program product supporting user tracing in a simulator |
CN1734428A (zh) * | 2004-08-02 | 2006-02-15 | 微软公司 | 基于事务性能模型的自动配置 |
US7392169B2 (en) * | 2004-10-21 | 2008-06-24 | International Business Machines Corporation | Method, system and program product for defining and recording minimum and maximum event counts of a simulation utilizing a high level language |
US20060089826A1 (en) * | 2004-10-21 | 2006-04-27 | International Business Machines Corporation | Method, system and program product for defining and recording minimum and maximum count events of a simulation |
CA2488678A1 (en) * | 2004-11-30 | 2006-05-30 | Ibm Canada Limited - Ibm Canada Limitee | Visual debugger for dynamic xsl transformation |
US7454325B2 (en) | 2004-12-07 | 2008-11-18 | International Business Machines Corporation | Method, system and program product for defining and recording threshold-qualified count events of a simulation by testcases |
US7627739B2 (en) * | 2005-08-29 | 2009-12-01 | Searete, Llc | Optimization of a hardware resource shared by a multiprocessor |
US7552043B2 (en) * | 2005-09-15 | 2009-06-23 | International Business Machines Corporation | Method, system and program product for selectively removing instrumentation logic from a simulation model |
CN100418067C (zh) * | 2005-10-20 | 2008-09-10 | 英业达股份有限公司 | 计算机程序查错辅助方法及系统 |
US7711537B2 (en) * | 2006-05-03 | 2010-05-04 | International Business Machines Corporation | Signals for simulation result viewing |
US7493248B2 (en) * | 2006-05-08 | 2009-02-17 | International Business Machines Corporation | Method, system and program product supporting phase events in a simulation model of a digital system |
US7912694B2 (en) * | 2007-01-30 | 2011-03-22 | International Business Machines Corporation | Print events in the simulation of a digital system |
US8924933B2 (en) * | 2008-03-25 | 2014-12-30 | Barclays Capital Inc. | Method and system for automated testing of computer applications |
US8160857B2 (en) | 2008-12-16 | 2012-04-17 | International Business Machines Corporation | Selective compilation of a simulation model in view of unavailable higher level signals |
US8453080B2 (en) * | 2008-12-16 | 2013-05-28 | International Business Machines Corporation | Model build in the presence of a non-binding reference |
US9032266B2 (en) * | 2011-06-28 | 2015-05-12 | Terence Wai-kwok Chan | Multithreaded, mixed-HDL/ESL concurrent fault simulator for large-scale integrated circuit designs |
US10635766B2 (en) | 2016-12-12 | 2020-04-28 | International Business Machines Corporation | Simulation employing level-dependent multitype events |
US10915428B2 (en) * | 2019-06-27 | 2021-02-09 | Capital One Services, Llc | Intelligent services and training agent for application dependency discovery, reporting, and management tool |
US11354222B2 (en) | 2019-06-27 | 2022-06-07 | Capital One Services, Llc | Discovery crawler for application dependency discovery, reporting, and management tool |
US10642719B1 (en) | 2019-06-27 | 2020-05-05 | Capital One Services, Llc | Intelligent services for application dependency discovery, reporting, and management tool |
US20210181250A1 (en) * | 2019-12-17 | 2021-06-17 | Bayes Electronics Technology Co., Ltd | System and method for identifying design faults or semiconductor modeling errors by analyzing failed transient simulation of an integrated circuit |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1991020032A1 (en) * | 1990-06-11 | 1991-12-26 | Supercomputer Systems Limited Partnership | Integrated development and maintenance software system |
US5768567A (en) * | 1996-05-14 | 1998-06-16 | Mentor Graphics Corporation | Optimizing hardware and software co-simulator |
US6026230A (en) * | 1997-05-02 | 2000-02-15 | Axis Systems, Inc. | Memory simulation system and method |
US6182258B1 (en) * | 1997-06-03 | 2001-01-30 | Verisity Ltd. | Method and apparatus for test generation during circuit design |
US6263303B1 (en) * | 1998-10-26 | 2001-07-17 | Sony Corporation | Simulator architecture |
DE10041111A1 (de) * | 2000-08-22 | 2002-03-14 | Infineon Technologies Ag | Verfahren zum Überarbeiten eines in einer Programmiersprache verfaßten Computerprogramms |
-
2001
- 2001-06-05 DE DE10127170A patent/DE10127170A1/de not_active Withdrawn
-
2002
- 2002-05-21 EP EP02010295A patent/EP1265146A3/de not_active Withdrawn
- 2002-06-04 US US10/162,358 patent/US20030005416A1/en not_active Abandoned
- 2002-06-04 CN CN02126282A patent/CN1389829A/zh active Pending
Non-Patent Citations (1)
Title |
---|
BRITTON, Campbell: Co-Simulation Predicts How Programmable Devices Will Function On A Circuit Board, in: ELECTRONIC DESIGN, June 4, 2001, S. 67, 68, 70, 72 * |
Also Published As
Publication number | Publication date |
---|---|
EP1265146A3 (de) | 2006-04-12 |
EP1265146A2 (de) | 2002-12-11 |
CN1389829A (zh) | 2003-01-08 |
US20030005416A1 (en) | 2003-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10127170A1 (de) | Fehlersuchverfahren und Fehlersuchvorrichtung | |
DE69720821T2 (de) | Fehlersuchsystem für Programme mit einer graphischen Benutzerschnittstelle | |
DE69831732T2 (de) | Verfahren und gerät zum korrigieren von fehlern in einem rechnersystem | |
EP2685382B1 (de) | Verfahren und Vorrichtung zum Erstellen und Testen eines Steuergeräteprogramms | |
DE102006019292A1 (de) | Modellieren programmierbarer Einrichtungen | |
DE10309246B4 (de) | Verfahren für das Event Management | |
DE19700513A1 (de) | Mit CAD-Daten verknüpftes Halbleiterprüfsystem | |
DE112021003677T5 (de) | Automatisierte unterstützte schaltkreisvalidierung | |
DE102009043287A1 (de) | Verfahren und Anordnung zum Installieren und Konfigurieren eines Computersystems | |
DE102004019151A1 (de) | Rechnergestütztes Diagnosesystem auf der Basis von Heuristiken und System-Topologien | |
DE10213009A1 (de) | Verfahren zum elektronischen Testen von Speichermodulen | |
DE10057575A1 (de) | Verfahren zur automatischen Softwaregenerierung | |
DE19707065A1 (de) | System zur Erstellung eines Entscheidungsbaums insbesondere für eine Fehlerdiagnose bei einem Kraftfahrzeug | |
EP2653850B1 (de) | Verfahren und IT-System zum Durchführen von Gesamtfahrzeugtests | |
DE10101067A1 (de) | Programmausführungssystem für ein Halbleiter-Prüfgerät | |
EP2977894B1 (de) | Erstellen eines FPGA-Codes mit automatisch eingefügter Beeinflussungsstruktur | |
DE60219551T2 (de) | Verfahren zum prüfen der Steuersoftware eines Telekommunikationsgerätes mit einer verteilten Steuerung | |
DE19740543C1 (de) | Verfahren zum Testen eines integrierten Schaltkreises sowie Verfahren und Datenverarbeitungsanlage zum Erzeugen von Testdaten | |
DE102012203252A1 (de) | Vorrichtung und Verfahren zum Testen von elektronischen Geräten mit einer räumlich getrennten Steuereinrichtung | |
DE102009043286A1 (de) | Verfahren und Vorrichtung zur Überprüfung der Konfigurierung eines Computersystems | |
EP1349073B1 (de) | Steuereinrichtung | |
EP0560342B1 (de) | Verfahren zum Untersuchen des Ablaufs eines in einer Hardware-Beschreibungssprache geschriebenen Programms | |
EP1621945B1 (de) | Konsistenzsicherung in einem Automatisierungssystem | |
DE102021203278A1 (de) | Verfahren zum Testen eines Steuergeräts | |
DE102019204530A1 (de) | Verfahren und System zur parallelen Echtzeitanalyse bei Funktionsprüfungen von Hardware und Software von Steuergeräten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8139 | Disposal/non-payment of the annual fee |