DE3787431T2 - Verfahren zur Generierung einer Kandidatenliste von fehlerhaften Schaltungselementen und Verfahren zur Isolierung von Fehlern in einer logischen Schaltung unter Verwendung dieser Kandidatenliste. - Google Patents
Verfahren zur Generierung einer Kandidatenliste von fehlerhaften Schaltungselementen und Verfahren zur Isolierung von Fehlern in einer logischen Schaltung unter Verwendung dieser Kandidatenliste.Info
- Publication number
- DE3787431T2 DE3787431T2 DE87112000T DE3787431T DE3787431T2 DE 3787431 T2 DE3787431 T2 DE 3787431T2 DE 87112000 T DE87112000 T DE 87112000T DE 3787431 T DE3787431 T DE 3787431T DE 3787431 T2 DE3787431 T2 DE 3787431T2
- Authority
- DE
- Germany
- Prior art keywords
- circuit elements
- logic
- circuit
- list
- simulated
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000012360 testing method Methods 0.000 claims abstract description 49
- 238000002955 isolation Methods 0.000 claims abstract description 26
- 230000002159 abnormal effect Effects 0.000 claims description 10
- 230000008859 change Effects 0.000 claims description 10
- 238000011144 upstream manufacturing Methods 0.000 claims description 10
- 230000007257 malfunction Effects 0.000 claims description 8
- 238000002405 diagnostic procedure Methods 0.000 claims description 7
- 238000004088 simulation Methods 0.000 claims description 6
- 230000002547 anomalous effect Effects 0.000 claims description 2
- 238000011156 evaluation Methods 0.000 claims description 2
- 238000011835 investigation Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 claims description 2
- 238000004891 communication Methods 0.000 claims 1
- 238000013178 mathematical model Methods 0.000 abstract 1
- 238000013138 pruning Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 11
- 238000013461 design Methods 0.000 description 9
- 239000002131 composite material Substances 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 241001632422 Radiola linoides Species 0.000 description 1
- 206010000210 abortion Diseases 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000013101 initial test Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
- G01R31/318342—Generation of test inputs, e.g. test vectors, patterns or sequences by preliminary fault modelling, e.g. analysis, simulation
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/261—Functional testing by simulating additional hardware, e.g. fault simulation
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Dc Digital Transmission (AREA)
- Earth Drilling (AREA)
- Diaphragms For Electromechanical Transducers (AREA)
- Control Of Turbines (AREA)
Description
- Die vorliegende Erfindung betrifft ein Verfahren zum Isolieren fehlerhafter digitaler logischer Gatter in einem logischen Schaltkreis.
- Hersteller digitaler Computersysteme verkaufen typischerweise mit ihren Systemen Diagnose-Software, um ihren Kunden zu ermöglichen, fehlerhafte Teile für den Austausch zu lokalisieren. In früheren Verfahren zum Isolieren von Fehlern wurden Simulatoren verwendet, um Fehlerverzeichnisse (fault dictionaries) zu erzeugen, indem Fehler in eine Simulation des Schaltkreises, der getestet werden soll, eingesetzt wurden, und indem sowohl fehlerhafte als auch normal arbeitende Schaltkreise simuliert wurden, bis ihre Ausgänge sich unterschieden. Der simulierte normale Ausgang jeder Systemkomponente wird dann mit dem simulierten fehlerhaften Ausgang verglichen, und die Antworten des fehlerhaften und des fehlerfreien Schaltkreises werden in einem Fehlerverzeichnis tabelliert. Ein Fehler könnte potentiell in dem Punkt auftreten, an dem das Signal abweicht, oder an jedem anderen Schaltkreiselement, welches zu diesem Punkt hinführt. Dieses Verfahren erfordert lange Laufzeiten, um das Simulationsprogramm zu verarbeiten, da es unzahlige Fehlermöglichkeiten gibt, die getestet werden müssen. Die Laufzeit war hierbei etwa gleich der Anzahl der logischen Gatter hoch drei. Bei sehr großen Netzwerken konnten die Simulationen auch die Speicherkapazität des Computers übersteigen.
- Das Verfahren der Fehlerisolation, wie es oben beschrieben wurde, war auch aufgrund einer nichtinitialisierten Logik anfällig für Probleme. Nichtinitialisierte Logik tritt auf, wenn Zufallsinformation in den logischen Gattern gespeichert wird, nachdem das System mit Leistung versorgt wird und bevor das System beginnt, das Programm abzuarbeiten. Das Ergebnis von nichtinitialisierter Logik in den Schaltkreis ist, daß dies in Teilen des Schaltkreises, die noch nicht getestet sind, auftreten kann und als nicht eindeutige Information zurückgeführt werden kann, was in einer fehlerhaften Fehlerisolation resultiert.
- Ein herkömmliches Verfahren zum Beherrschen dieses Problems mit nichtinitialisierter Logik wendet in dem Schaltkreisdesign zusätzlich Scan-Logik-Hardware an. Die Extra-Hardware wurde verwendet, um es dem Programmierer zu erlauben, den logischen Zustand eines jeden Schaltkreiselements in dem System zu setzen, bevor mit der Fehlerisolation begonnen wurde. Jedoch erhöht die Verwendung von Scan-Logik-Hardware für die Fehlerisolation die Kosten des Systems, ohne dabei die System-Performance zu erhöhen.
- Ein anderes herkömmliches Verfahren ist aus D1 = GB-A- 1 389 319 bekannt. In GB-A-l 389 319 wird eine Simulationsmethode zum Identifizieren von Gruppen potentieller erkennbarer Fehler von einer Liste von möglichen Fehlern in einem logischen Schaltkreis beschrieben.
- Obwohl D1 einen unterschiedlichen Ansatz verwendet als Anspruch 1, da D1 auf der Idee beruht, Gruppen von potentiell erkennbaren Fehlern von einer Liste von möglichen Fehlern in dem logischen Schaltkreis zu identifizieren, wobei mit dem Zurückgehen (backtracing) von Ausgangstestpunkten begonnen wird und wobei auch flags und Fehlerzähler verwendet werden, während Patentanspruch 1 auf der Beobachtbarkeit von Seed-Signalen, die an vorgegebenen kritischen Testpunkten und mit vorgegebenen Taktzyklen auftreten, beruht, können, die Schritte a), d), e) und f) des Verfahrensanspruchs 1 als in D1 erwähnt angesehen werden.
- Es ist daher die Aufgabe der vorliegenden Erfindung, ein Verfahren zum Isolieren von fehlerhaften Schaltkreiselementen anzugeben, welches eine kürzere Simulationsprogrammlaufzeit benötigt und ein Fehlerisolierverfahren anzugeben, welches die Anzahl der Schaltkreiselemente, die als Fehlermöglichkeit getestet werden müssen, reduziert.
- Diese Aufgabe wird durch die Merkmale der Ansprüche 1 und 6 gelöst.
- Die beiliegenden Zeichnungen, die einen Teil der Beschreibung darstellen, verdeutlichen eine Ausführungsform der Erfindung und erleichtern zusammen mit der Beschreibung das Verständnis der Prinzipien der Erfindung.
- Fig. 1 ist ein Blockschaltbild, das ein Verfahren und eine Vorrichtung zum Isolieren von Fehlern in einem logischen Schaltkreis gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung verdeutlicht;
- Fig. 2 ist ein Blockschaltbild, das das Verfahren und die Vorrichtung der Fig. 1 weiter verdeutlicht;
- Fig. 3 ist ein allgemeines Flußdiagramm, das die Schritte in dem Verfahren zum Isolieren von Fehlern in dem Blockschaltbild der Fig. 2 verdeutlicht;
- Fig. 4 ist ein Blockschaltbild, das das Verfahren und die Vorrichtung zum Erzeugen einer Liste von Schaltkreiselementen zur Benutzung während der Fehlerisolation in dem logischen Schaltkreis der Fig. 2 verdeutlicht;
- Fig. 5 ist ein Flußdiagramm zum Verdeutlichen des Verfahrens zum Erzeugen einer Liste von Schaltkreiselementen zur Benutzung beim Isolieren von Fehlern in dem logischen Schaltkreis, wie er in Fig. 4 gezeigt ist;
- Fig. 6 ist detaillierteres Blockschaltbild, das das Verfahren und die Vorrichtung der bevorzugten Ausführungsform verdeutlicht, wie sie für die Anwendung der Lehre der vorliegenden Erfindung verwendet werden;
- Fig. 7 ist ein detaillierteres Flußdiagramm, das die Hauptroutine einer Prozedur verdeutlicht, wie sie verwendet wird, um eine Liste von Schaltkreiselementen zur Benutzung während der Fehlerisolation in dem logischen Schaltkreis der Fig. 2, wie es allgemein in Fig. 5 beschrieben wurde, zu erzeugen;
- Fig. 8 ist ein Flußdiagramm, das eine Unterroutine der Hauptroutine des Ablaufdiagramms der Fig. 7 verdeutlicht;
- Fig. 9 ist ein Flußdiagramm, das eine weitere Unterroutine der Hauptroutine des Flußdiagramms der Fig. 7 verdeutlicht;
- Fig. 10 ist ein Logik-Schaltbild und eine Illustration einer Pruning-Regel für ein nichtgetaktetes Gatter;
- Fig. 11 ist ein Pin-Belegungsplan für ein getaktetes logisches Gatter; und
- Fig. 12 ist ein logisches Schaltbild, das eine Pruning-Regel verdeutlicht.
- Im folgenden wird ein bevorzugtes Ausführungsbeispiel der Erfindung detailliert beschrieben, von dem ein Beispiel in den beiliegenden Zeichnungen dargestellt ist, und wobei gleiche Bezugszeichen entsprechende Elemente bezeichnen.
- Fig. 1 zeigt den ersten Schritt zur Ausführung der bevorzugten Ausführungsform der vorliegenden Erfindung. Ein logischer Schaltkreis, wie etwa ein Computer 20, wird gemäß den Signalen von einen Taktgeber 22 betrieben. Ein Diagnose-Programm, welches mit 24 bezeichnet ist, wird auf dem Computer 20 ausgeführt, um gewisse vorbestimmte Operationen des Computers 20 zu testen, und um ein Ausgangsergebnis 26 zu erzielen. Das Ergebnis am Ausgang 26 wird dann mit einem Wert verglichen, von dem bekannt ist, daß er von dem Computer 20, welcher das Diagnoseprogramm 24 ausführt, dann erzeugt wird, wenn der Computer 20 normal arbeitet, d. h. wenn keine Fehler in dem Computer 20 auftreten. Wenn der Wert des Ausgangs 26 mit dem bekannten Wert übereinstimmt, ist festgestellt worden, daß der Computer 20 ordnungsgemäß in bezug auf die Operation, die von dem Diagnoseprogramm 24 getestet wird, arbeitet. Auf der anderen Seite zeigt eine Diskrepanz zwischen dem Wert des Ausgangs 26 von dem bekannten Wert einen Fehler im Computer 20 an.
- Der nächste Schritt bei der Ausführung eines bevorzugten Ausführungsbeispiels der vorliegenden Erfindung ist in Fig. 2 gezeigt. Der Computer 20 enthält eine Vielzahl von Schaltkreiselementen, von denen ein Teil in schematischer Weise als Elemente 28-48 dargestellt ist, und welche logische Schaltkreiselemente, wie UND-Gatter, ODER-Gatter, Latches, Multiplexer usw. enthalten kann. Die Schaltkreiselemente 28-48 stellen nicht notwendigerweise bekannte Schaltkreiselemente dar, wie sie tatsächlich in einem Computer 20 enthalten sind, sondern dienen lediglich dem Verständnis.
- Einige der durch die Elemente 28-48 erzeugten Signale sind als Testpunkte für Service-Personal zugänglich und werden als sichtbare Signale (visible signals) bezeichnet, wie sie beispielsweise an den Testpunkten 49-53 auftreten. Spezielle dieser sichtbaren Signale, wie etwa die, die an den Testpunkten 50 und 52 auftreten, sind kritische Signale (critical signals). Von den Designern des Computers 20 wurde festgestellt, daß die logischen Zustände, die während dem Vorhandensein dieser kritischen Signale zu speziellen Zeiten vorliegen, ein Indikator für das Vorhandensein oder Nichtvorhandensein von Fehlern in gewissen Teilen des Computers 20 während dem Ablauf bestimmter Operationen sind. Derartige kritische Signale während bestimmter Taktzyklen werden als Seed-Signale bezeichnet. Es ist wichtig festzustellen, daß der Ausdruck "Seed-Signale" sowohl einen Signalnamen als auch einen bestimmten Taktzyklus enthält. Der Computer 20 enthält eine Vielzahl von Schaltkreiselementen, die in aufeinanderfolgenden Stufen verbunden sind, um eine Vielzahl von Signalpfaden und eine Vielzahl von Testpunkten als Ausgänge bestimmter Schaltkreiselemente zu bilden. Der Computer 20 führt Befehle gemäß aufeinanderfolgenden Taktzyklen aus. Der Ablauf des Diagnoseprogramms 24 auf dem Computer 20 aktiviert bestimmte der Testpunkte, wie beispielsweise die Testpunkte 50 und 52 zu bestimmten Taktzyklen.
- Eine Liste 54 mit Schaltkreiselementen ist gespeichert, welche die möglichen Schaltkreiselemente bildet, welche eine Anomalie an den Seed-Signal-Testpunkten, wie etwa 50 und 52, bewirken können. Es ist festgestellt worden, daß nicht alle Schaltkreiselemente oberhalb (upstream) von den Seed-Signal-Testpunkten in der Lage sind, einen unkorrekten Wert zu bewirken, welcher an den Seed-Signal-Testpunkten auftritt. Beispielsweise kann ein Fehler am Seed-Signal- Testpunkt 50 durch einen Fehler des Schaltkreiselements 36 verursacht sein. Jedoch haben nicht notwendigerweise alle Schaltkreiselemente oberhalb des Schaltkreiselements 36 die Fähigkeit, eine abnormale Indikation am Seed-Signal- Testpunkt 50 zu bewirken. Das heißt, es kann sein, daß ein oder mehr Eingänge des Schaltkreiselements 36, wie derjenige, wie er vom Schaltkreiselemente 30 erzeugt wird, keinen Effekt auf den logischen Zustand des Seed-Signal- Testpunkts 50 haben. Entsprechend besteht für einen Testingenieur keine Notwendigkeit, an das Setzen des Schaltkreiselements 30 zu denken, wenn ein abnormales Signal am Seed-Signal-Testpunkt 50 bemerkt wird.
- Die Identitäten der Schaltkreiselemente, die die Fähigkeit aufweisen, eine abnormale Anzeige an jedem Seed-Signal- Testpunkt zu bewirken, sind in der Liste 54 gespeichert. Die Liste 54 schließt irrelevante Schaltkreiselemente, wie etwa Schaltkreiselement 30 aus, welche nicht die Fähigkeit haben, eine abnormale Anzeige am Seed-Signal-Testpunkt zu erzeugen.
- Wie in Fig. 2 gezeigt ist, wird eine Liste 56 von Seed- Signal-Testpunkten mit Anomalitäten durch den Ablauf des Diagnoseprogramms 24 in dem Computer 20 erzeugt. Die Liste 56 wird dann mit der Liste 54 von Kandidaten fehlerhafter Schaltkreiselemente kombiniert, um eine Liste 58 von fehlerhaften Schaltkreiselementen des Computers 20 zu erzeugen.
- Ein Service-Ingenieur kann dann jedes der Schaltkreiselemente auf der Liste 58 ersetzen, um den Computer 20 in seinen normalen Betrieb zurückzuversetzen.
- Ein logischen Flußdiagramm eines Aspekts der vorliegenden Erfindung ist in Fig. 3 gezeigt. Wie in Fig. 3 zu sehen ist, beginnt das bevorzugte Verfahren zum Isolieren von Fehlern in einem logischen Schaltkreis mit dem Block 80, in dem das Diagnoseprogramm 24 auf dem logischen Schaltkreis ausgeführt wird, um einen fehlerhaften Betrieb des logischen Schaltkreises zu detektieren. In Block 82 wird eine Liste von Schaltkreiselementen gespeichert, welche in der Lage sind, eine Fehleranzeige an bestimmten Testpunkten zu erzeugen, welche von dem Diagnoseprogramm 24 an bestimmten Taktzyklen (ausgenommen die irrelevanten Schaltkreiselemente) aktiviert wurden. Danach wird in Block 84 eine Fehlerisolationsprozedur ausgeführt, um die logischen Zustände der vorgegebenen Testpunkte zu untersuchen. Im Block 86 wird ein Vergleich vorgenommen, ob die untersuchten logischen Zustände der vorbestimmten Testpunkte gleich den logischen Zuständen der Testpunkte während des normalen Betriebs sind. In Block 88 wird eine Liste von Schaltkreiselementen ausgegeben, welche in der Fehlerisolationsprozedur enthalten sind, und welche mit anomalen logischen Zuständen direkt im Vergleich im Block 86 identifiziert wurden, korrespondieren, d. h. Fehlerelemente, die mit den Testpunkten korrespondieren, deren tatsächliche logische Zustände im Computer 20 nicht gleich den logischen Zuständen dieser Testpunkte während eines normalen Betriebs sind.
- Fig. 4 verdeutlicht ein Verfahren und eine Vorrichtung zum Erzeugen einer Liste 54 von Kandidaten fehlerhafter Schaltkreiselemente für die spätere Verwendung innerhalb der Isolation von Fehlern im Computer 20. Diese Liste wird vorzugsweise im Herstellerbetrieb erzeugt und ist im Softwarepaket des Diagnoseprogramms, welches den Kunden, die den Computer 20 kaufen, enthalten.
- Ein Generic-Simulator 200 wird so konfiguriert, um den logischen Schaltkreis des Computers 20 genau zu repräsentieren. Bevorzugterweise sollte der Simulator 200 die folgenden Charakteristiken aufweisen. Er sollte in der Lage sein, zumindest 25 Taktzyklen pro Sekunde zu simulieren und sollte in der Lage sein, ein logisches Design von zumindest 250.000 logischen Gattern zu simulieren. Vorzugsweise simuliert der Simulator 200 Tri-State-Information, d. h. einen logischen Zustand "0", einen logischen Zustand "1" oder einen nichtinitialisierten logischen Zustand.
- Der Simulator 200 wird mit einem mathematischen logischen Modell 202 geladen, welches den tatsächlichen logischen Schaltkreis im Computer 20 modeliert. Der Simulator 200 simuliert somit, nachdem das logische Modell 202 geladen ist, den normalen Betrieb des Computers 20. Das logische Modell 202 wird in einer vorgegebenen Programmiersprache implementiert und entsprechend einem spezifizierten Protokoll, welches mit dem spezifischen verwendeten Simulator korrespondiert, aufgebaut.
- Der Simulator 200 wird mit dem Diagnoseprogramm 24 geladen, welches eine Serie von Diagnoseprozeduren enthält, von denen jede eine einheitliche Testsequenz zum Ausführen bestimmter Module innerhalb des Computers 20 aufweist. Das Design dieser Diagnoseprogramme ist dem Stand der Technik hinlänglich bekannt. Für eine detailliertere Beschreibung eines derartigen Designs wird auf "Designs for Testability
- - A Survey", Thomas W. Williams und Kenneth P. Parker, Proceedings of the IEEE, Vol. 71, No. 1 (Januar 1983) verwiesen.
- Der Simulator 200 führt das Diagnoseprogramm 24 auf dem logischen Modell 202 für jeden Taktzyklus, welcher von dem Taktgenerator 22 erzeugt wird, aus. Der Simulator 200 gibt eine große Datenbank 204 aus, welche die logischen Zustände für jedes Schaltkreiselement innerhalb des logischen Modells 20 für jeden Taktzyklus enthält. Die Datenbank 204 wird dann mit vorgegebenen Seed-Signalen 206, wie sie oben beschrieben wurden, versorgt, und wird außerdem mit "Pruning-Regeln" 208 versorgt.
- Es gibt eine einmalige Pruning-Regel (Analyse-Regel) für jeden Schaltkreiselementtyp. Diese Pruning-Regeln, die im folgenden genauer beschrieben werden, erlauben es, daß gewisse Schaltkreiselemente des logischen Schaltkreises 202 in dem Fehlerisolationsprozeß nicht weiter betrachtet werden müssen. Die die Seed-Signale 206 erzeugenden simulierten Schaltkreiselemente werden, basierend auf vorgegebenen Kriterien, die in den Pruning-Regeln 208 enthalten sind, bewertet, um Signalpfade zu eliminieren und simulierte Schaltkreiselemente davon, die nicht in der Lage sind, die durch Seed-Signale 206 angedeuteten Fehlfunktionen zu bewirken. Wenn ein Eingangspfad zum simulierten Schaltkreiselement, der das Seed-Signal erzeugt, in der Lage ist, eine Fehlfunktion zu bewirken, bewertet der Simulator 200 rekursiv die simulierten Schaltkreiselemente aufeinanderfolgender weiter oben liegender Stufen dieses nichteliminierten Signalpfades und die simulierten Schaltkreiselemente in diesem Signalpfad entsprechend vorgegebenen Kriterien von Pruning-Regeln 208. Von dieser Wechselwirkung der Pruning-Regeln 208 und der Seed-Signale 206 auf der Datenbank 204 wird die Liste 54, welche die nichteliminierten Schaltkreiselemente als Kandidat auflistet, die in der Lage sind, einen Fehler zu bewirken, und welche irrelevante Schaltkreiselemente davon ausschließt, erzeugt.
- Fig. 5 verdeutlicht ein Verfahren zum Erzeugen der Liste 54 der Fig. 4. Am Block 250 simuliert der Simulator 200 die Ausführung des Diagnoseprogramms 24 im Computer 20. Am Block 252 werden die logischen Zustände simulierter Testpunkte an jedem Taktzyklus während der simulierten Ausführung des Diagnoseprogramms 24 gespeichert. Am Block 254 werden gewisse Untergruppen der gespeicherten logischen Zustände als Seed-Signale spezifiziert, bei denen eine Fehlfunktion einer vorgegebenen Operation des Diagnoseprogramms 24 detektiert werden kann. Am Block 256 werden die simulierten Schaltkreiselemente, die jeweils ein Seed-Signal erzeugen, untersucht, um die Signalpfade zu identifizieren, welche als Eingänge dem untersuchten simulierten Schaltkreiselement zugeführt werden.
- Am Block 258 wird eine Bestimmung vorgenommen, ob das simulierte Schaltkreiselement, welches ein Seed-Signal erzeugt, einen Fehler von jedem seiner Eingänge weiterieiten kann. Diese Bestimmung wird, basierend auf vorgegebenen Kriterien, von Pruning-Regeln 208 vorgenommen, um Signalpfade und davon simulierte Schaltkreiselemente, welche nicht nicht der Lage sind, die durch das Seed-Signal angedeutete Fehlfunktion zu bewirken, zu eliminieren.
- Wenn das simulierte Schaltkreiselement in der Lage ist, die Fehlfunktion zu bewirken, wird das simulierte Schaltkreiselement in einem Feld bei Block 260 gespeichert. Wenn ein Eingangsschaltkreiselement nicht in der Lage ist, den Fehler zu erzeugen, wird es und alle darüberliegenden Schaltkreiselemente seiner Signalpfade vom weiteren Test am Block 262 eliminiert.
- Eine Bestimmung wird in Block 264 vorgenommen, ob dieses letzte simulierte Schaltkreiselement in diesem Signalpfad ist. Wenn das so ist, endet die Bewertung dieses Signalpfads. Wenn nicht, werden darauffolgende höherliegende Stufen nicht eliminierter Signalpfade und simulierter Schaltkreiselemente davon rekursiv bei den Blöcken 266 und 258 gemäß den Pruning-Regeln 208 bewertet.
- In Fig. 6 ist ein detaillierteres schematisches Blockschaltbild eines bevorzugten Ausführungsbeispiels der vorliegenden Erfindung gezeigt. Wie mit Bezug auf die Figur vorher beschrieben wurde, wird eine Datenbank 204 kompiliert, welche die logischen Zustände jedes sichtbaren Signals (visible signal) an jedem Taktzyklus während der Ausführung des Diagnoseprogramms 24 durch den Simulator 200 repräsentiert. In einer bevorzugten Ausführungsform enthält der Simulator 200 einen Host-Computer 402, wie beispielsweise einen VAX 8600, der kommerziell von Digital Equipment Corporation erhältlich ist. Ein Simulationsprogramm 404 wird in den Host-Computer 402 geladen. Obwohl für die vorliegende Erfindung DECSIM ein geeignetes Simulationsprogramm von Digital Equipment Corporation benutzt wurde, ist es für den Fachmann klar, das jedes geeignete Simulationsprogramm, welches die vorher beschriebenen Eigenschaften aufweist, verwendet werden kann. Beispiele derartiger Simulationsprogramme sind der LASAR-Simulator, welcher kommerziell von Teradyne Corporation erhältlich ist, und der HILO-Simulator, der kommerziell von Genrad Company erhältlich ist.
- Ein logisches Modell 202 wird zunächst dem Simulationsprogramm 404 zugeführt. Das logische Modell 202, welches vorher beschrieben wurde, besteht aus einer kompletten mathematischen Beschreibung des Computers 20, für eine Fehlerisolation schließlich ausgeführt werden soll. Das logische Modell 202 wird in einer Eingangssprache (input language) für das Simulationsprogramm 404 ausgedrückt. Derartige Eingangssprachen sind spezifisch für das entsprechende Simulationsprogramm, welches ausgewählt wird.
- Ein Synchronisationssoftwareprogramm 406 kann ebenfalls in den Host-Computer 402 geladen werden, um eine geeignete Synchronisation der Software und der Hardware zu erreichen, wenn eine Fehlerisolationsprozedur auf dem Computer 20 ausgeführt wird. Die Funktion der Synchronisationssoftware 406 wird im folgenden genauer beschrieben.
- Wenn der Host-Computer 402 mit dem Simulationsprogramm 404 geladen wird, welches ein logisches Modell 202 und eine Synchronisationssoftware 406 enthält, kann der Host-Computer 402 in exakter Weise den Betrieb des Computers 20 während der Ausübung des Betriebs irgendeiner Software einschließlich des Diagnoseprogramms 24 genau simulieren. Der Ausgang des Host-Computers 402 ist die Datenbank 204, welcher aus den logischen Zuständen jedes Signals an jedem Taktzyklus während der Ausführung des Diagnoseprogramms 24 besteht.
- Wenn der simulierte Computer, wie beispielsweise der Computer 20, ein sehr großer Prozessor ist, wie beispielsweise eine VAX 8600, werden extrem lange Computerzeiten benötigt, um die Datenbank 204 zu erstellen. Für derartige Anwendungen kann es vorteilhaft sein, den Host-Computer 402 in Verbindung mit einem Hardware-Beschleuniger 408 zu betreiben, um eine schnellere Erzeugung der Datenbank 204 zu erreichen. Geeignete Beschleuniger (accelerators) sind von Zycad und Genrad Corporation erhältlich. Der Betrieb des Host-Computers 402 zusammen mit dem Hardware-Beschleuniger 408 ist für den Fachmann geläufig und ist beispielsweise im Artikel "A Simulation Engine in the Design Environment", Roy A. Rezac an Leslie Turner Smith, VLSI Design, (November und Dezember 1984), beschrieben.
- Die Datenbank 204 wird von dem Fehlerisolationserzeugungsprogramm 410 verwendet, um die Liste 54 vom Kandidaten für fehlerhafte Schaltkreiselemente, die mit jedem Seed-Signal assoziiert sind, zu erzeugen. Das Programm 410 sendet auch zusätzliche Daten, die aus mehreren Signallisten bestehen. Eine erste Liste 412 enthält alle sichtbaren Signalnamen (visible signal names) und deren Adressen. In einer Liste 206 sind außerdem die Seed-Signal-Namen und Taktzykluszeiten enthalten. Wie oben diskutiert wurde, ist ein Seed-Signal ein Signal, dessen logischer Zustand an einem vorgegebenen Taktzyklus dahingehend festgestellt wurde, daß es einen normalen oder abnormalen Betrieb des Computers 20 während einer spezifizierten Operation anzeigt. Die Liste 206 der Seed-Signale wird von einem Testingenieur, welcher sich mit dem logischen Design des Computers 20 auskennt, erstellt. Ein derartiger Testingenieur stellt außerdem eine Liste 416 von Signalen innerhalb des Computers 20 zur Verfügung, welche von der Analyse während der Erstellung der Liste 54 ausgenommen werden sollen. In gleicher Weise wird eine Liste 418 von einem Testingenieur erstellt, welche aus denjenigen Signalen besteht, für deren Werte vom Programm 410 angenommen wird, daß sie korrekt sind. Die Liste 418 wird ebenfalls von einem Testingenieur zur Verfügung gestellt, welcher sich dem logischen Design des Computers 20 auskennt.
- Ein Chip-Feld 420 ist ebenfalls in dem Programm 410 vorgesehen. Das Chip-Feld 420 besteht im wesentlichen aus der gleichen Information wie das logische Modell 202, lediglich in einer unterschiedlichen Form. Das Chip-Feld 420 besteht aus einer Beschreibung spezifischer Schaltkreiselemente des Computers 20, einschließlich der Charakteristiken eines jeden Schaltkreiselementes und seiner Verbindungen mit anderen Schaltkreiselementen. In der bevorzugten Ausführungsform besteht das Chip-Feld 420 aus einem Feld, welches die in Tabelle 1 angegebene Information enthält. Die Tabelle 1 ist unten wiedergegeben.
- CHIP-FELD [] ist ein Feld von "CHIP-STRUKTUREN". Jedes Element des Feldes ist eines dieser Strukturen.
- LOCATION: zusammengesetztes Feld von 10 Zeichen
- DIPTYPE: zusammengesetztes Feld von 6 Zeichen
- NODE_INFO: Feld von bis zu 12 Zeichen
- DELAY_TINE: ganzzahlig
- PART_INDEX: ganzzahlig
- KNOWN_SIGNAL: ganzzahlig
- FLOAT_MASK: UNSIGNED
- OUTPUT_PIN_NBR: Feld mit bis zu 32 Zeichen
- OUTPUT_PIN: zusammengesetztes Feld von 32 Zeichen
- CHIP_NUMBER: ganzzahlig
- PTR: Pointer zu einer anderen CHIP-STRUKTUR
- INPUT_PINS_31: Feld von 32 Zeichen-Strings
- INPUT_SIGNALS_31: Feld von 32 Zeichen-Strings.
- Das Programm 410 analysiert die Seed-Signale, die von der Liste 206 zur Verfügung gestellt werden, und die in der Datenbank 204 enthaltenen logischen Zustände, um festzustellen, welche Schaltkreiselemente des Computers 20 aufgrund eines Fehlers einen anomalen logischen Zustand von Seed-Signalen, wie sie in der Liste 206 enthalten sind, erzeugen kann. Wie vorher erklärt worden ist, kann nicht jedes Schaltkreiselement, welches in einem Signalpfad oberhalb der Seed-Signale liegt, einen anormalen Seed-Signal logischen Zustand erzeugen. Derartige Schaltkreiselemente, deren Operation irrelevant bezüglich des logischen Zustands der Seed-Signale sind, werden von der weiteren Betrachtung ausgeschlossen, indem vorgegebene Kriterien oder "Pruning-Regeln", die in der Liste 208, wie sie dem Programm 410 zugeführt wird, enthalten sind, angewendet werden.
- Die Ausgabe des Programms 410 stellt eine Serie von IF- Statements mit folgender Form dar:
- IF [VISIBLE SIGNAL] AT [CLOCK CYCLE] NOT EQUAL TO [GooD VALUE] THEN OUTPUT [CANDIDATE LIST (VISIBLE SIGNAL)]
- wobei:
- VISIBLE SIGNAL der Name eines spezifizierten sichtbaren Signals ist,
- CLOCK CYLE ein spezifizierter Taktzyklus ist, bei dem der Name des sichtbaren Signals anzeigt, ob der Betrieb des Computers 20 normal oder abnormal ist,
- GOOD VALUE der logische Zustand des spezifizierten sichtbaren Signals ist, wenn der Computer 20 normal arbeitet, und
- CNNDIDATE LIST die Liste der Schaltkreiselemente ist, welche die Fähigkeit haben, aufgrund eines Fehlers zu bewirken, daß ein anomaler logischer Zustand an dem sichtbaren Signal auftritt.
- Wie in Fig. 6 gezeigt ist, werden die IF-Statements, wie sie durch das Programm 410 erzeugt werden, einem Compiler 422 zugeführt, um ein Objekt-File zu generieren, welches aus einem binären Code besteht, der mit den IF-Statements korrespondiert. Das Objekt-File, welches von dem Compiler 422 erzeugt wird, wird mit einem Service-Program-File 426 kombiniert. Das Service-Programm-File 426 empfängt auch als einen Eingang die komplette Liste 412 der sichtbaren Signalnamen und der Synchronisationssoftware 406. Das Service- Programm-File 426 wird dann in einem Service-Prozessor 432 des Computers 20 ausgeführt.
- In einer bevorzugten Ausführungsform besteht der Computer 20 auch aus einem VAX 8600-Computer, wie er am Markt von Digital Equipment Corporation erhältlich ist. Der Service-Prozessor 432 lädt das Diagnoseprogramm 24 in den Computer 20 und führt das Diagnoseprogramm 24 in Taktfolgen aus, um die logischen Zustände der sichtbaren Signale innerhalb des Computers 20 für jeden Taktzyklus während der Ausführung des Diagnoseprogramms 24 zu beobachten. Die Fehlerisolationsbefehle, die mit den IF-Statements, wie sie von dem Programm 410 erzeugt wurden, korrespondieren, werden immer dann ausgeführt, wenn der momentane Taktzyklus des Computers 20 während der Fehlerisolationsprozedur gleich dem Taktzyklus ist, welcher ein Teil des sichtbaren Signals ist. Wenn die Bedingung, die in dem IF-Statement spezifiziert ist, vorliegt, wird die Liste der Schaltkreiselemente, die in dem IF-Statement enthalten ist, zur Liste 58 der fehlerhaften Schaltkreiskomponenten addiert, und als Ausgang bei Beendigung der Fehlerisolationsprozedur auf dem Computer 20 zur Verfügung gestellt.
- Der Computer 20 enthält eine CPU, welche eine Vielzahl von Mikrocode-Sets ausführt, wobei jeweils eine Set für jedes Set von Befehlen, wie sie in den Instruktionsset des Computers enthalten sind, vorgesehen ist. In der bevorzugten Ausführungsform der Erfindung werden die Fehler der Detektions- und Isolationstechniken dazu verwendet, um einen Service-Ingenieur in die Lage zu versetzen, derartige Schaltkreiselemente zu ersetzen, welche eine unrichtige Ausführung der Mikrocode-Befehle, die in der CPU ausgeführt werden, zu bewirken.
- Im Betrieb wird ein Set von Diagnoseprogrammen, die als Mikro-Hardcore-Diagnosen bezeichnet werden, ausgeführt, um den Betrieb eines kleinen Teils der Hardware des Computers 20 zu testen, um festzustellen, ob der Computer 20 in genügender Weise funktionsfähig ist, um das Diagnoseprogramm 24 auszuführen. Falls der Computer 20 diesen Test nicht besteht, wird das fehlerhafte Modul, das mit der Mikro-Hardcore-Diagnose-Routine assoziiert ist, ersetzt. Wenn der Computer 20 diesen Test besteht, ersetzt der Service-Prozessor 432 den Mikrocode, der in der CPU gespeichert ist, mit dem Diagnoseprogramm 24 und der Synchronisationssoftware 406. Die Synchronisationssoftware 406 arbeitet lediglich innerhalb des kleinen Bereichs der Hardware, wie sie durch die Mikro-Hardcore-Diagnose-Routine getestet wurde, und dient als Interface zwischen dem Service-Prozessor und einer Diagnose-Prozedur, wobei sie Steuerinformation, wie etwa "loop on fault", "halt on fault" oder "loop on test" spezifiziert. Der Service-Prozessor 432 sagt der Synchronisationssoftware 406 die Identität der spezifischen Diagnoseprozedur, bei der die Testausführung beginnen soll. Die Synchronisationssoftware 406 wartet dann auf einen spezifischen Startbefehl von dem Service-Prozessor 432 und nimmt einen spezifischen Pfad durch den Mikrocode-Adressenraum in der CPU, um die Ausführung des Diagnoseprogramms 24 zu bewirken, um mit einem spezifizierten Test zu beginnen.
- Der Service-Prozessor 432 unternimmt keine weiteren Schritte während das Diagnoseprogramm 24 ausgeführt wird. Wenn das Diagnoseprogramm 24 einen Fehler detektiert, signalisiert die Synchronisationssoftware 406 dem Service-Prozessor 432, daß ein Fehler detektiert worden ist. Der Service-Prozessor 432 fährt fort, Fehlerisolationsbefehle, die mit IF-Statements, wie wie oben diskutiert wurden, korrespondieren, auszuführen.
- Der Betrieb und die Zwischenwirkung des Computers 20 und des Service-Prozessors 432 sind für den Fachmann hinlänglich bekannt, beispielsweise in den Veröffentlichungen, wie "VAX 8600/8650 Console Technical Description", "VAX 8600/8650 System Diagnostic Users Guide", und "VAX 8600/8650 System Description an Processor Overview" bekannt, welche alle von Digital Equipment Corporation veröffentlicht worden sind.
- In den Fig. 7-9 ist das Fehlerisolationserzeugungsprogramm 410 als Flußdiagramm gezeigt. Fig. 7 zeigt die Hauptroutine des Programms. Bei Block 500 werden gewisse Initialisierungen und "Housekeeping"-Prozeduren ausgeführt. Diese Prozeduren umfassen das Setzen von Speicherfeldern und der Werte für Zähler.
- Bei Block 502 werden alle Seed-Signale auf eine "Halteliste" gesetzt, wobei dies in invertierter chronologischer Reihenfolge bezüglich ihrer assoziierten Taktzyklen geschieht. Bei Block 504 werden die Seed-Signalnamen für den momentanen Taktzyklus der Halteliste in eine "Arbeitsliste" verschoben. Diese Arbeitsliste (working list) ist ebenfalls ein Feld, welches in dem Speicher gespeichert ist. Bei Block 506 wird festgestellt, ob die Halteliste und die Arbeitsliste in übereinstimmender Weise beide Null sind. Falls dem so ist, ist die Analyse vollständig und das Programm wird beendet. Falls nichts wird bei Block 508 eine Bestimmung vorgenommen, ob die Arbeitsliste gleich Null ist. Falls nicht, wird das nächste Seed-Signal von der Arbeitsliste bei Block 510 genommen. Das Programm wird eine Rückführungsunterroutine bei Block 512 aufrufen, um das nächste Seed-Signal zu analysieren. Wenn die Arbeitsliste für diesen Taktzyklus gleich Null ist, fährt das Programm mit Block 514 fort, wo der nächste Taktzyklus dekrementiert wird und das Programm in einer Schleife zu Block 504 zurückführt.
- Bezüglich der Fig. 8 und der Rückführungsunterroutine wird bei Block 600 ein Index, welcher als "backwards depth number" inkrementiert. Die "backwards depth number" wird dazu verwendet, um eine effizientere Ausführung des Fehlerisolationserzeugungsprogramms 410 zur Verfügung zu stellen und um sicherzustellen, daß ein Limit bezüglich der Ausführungszeit für das Fehlerisolationserzeugungsprogramm 410 vorgesehen ist und daß die Speicherkapazität des Host- Computers 402 nicht überschritten wird. Danach wird bei Block 602 festgestellt, ob die "backwards depth number" gleich eins ist. Wenn das so ist, stellt dies eine Anzeige dar, daß die momentane Ausführung der Rückführungsroutine (trace-back routine) die erste derartige Ausführung für dieses Seed-Signal ist. Daher wird bei Block 604 mit der Konstruktion eines IF-Statements in der Form, wie sie oben diskutiert wurde, begonnen, wobei der Signalname für das momentane Seed-Signal und den logischen Zustand dieses Seed-Signals anhand der Datenbank 204 bestimmt wird. Bei Block 606 wird die Identifikation des Schaltkreiselements, welches mit diesem Seed-Signal assoziiert ist, vom Typfeld 420 erhalten und in der Liste 54 gespeichert.
- Bei Block 608 wird eine Bestimmung vorgenommen, ob das momentane Signal als sichtbares Signal bewertet wird, wenn das so ist, wird die Liste der Schaltkreiselemente, die mit den momentanen IF-Statements assoziiert sind, bei Block 610 beendet und ein neues IF-Statement, welches diesen Namen des sichtbaren Signals und den simulierten logischen Zustand benutzt, bei Block 612 begonnen. Wenn das momentane Signal bei Block 608 nicht als sichtbares Signal bewertet wurde, wird bei Block 640 die Identifikation für das Schaltkreiselement, welches mit diesem Signal korrespondiert, vom Typfeld 420 erhalten und in der Kandidatenliste 54 für das momentane IF-Statement gespeichert.
- Bei Block 616 wird eine Bestimmung vorgenommen, ob die "backwards depth number" größer oder gleich der maximalen "backwards depth number" ist, wie sie von dem Programmdesigner spezifiziert wurde. Wenn das so ist, stellt dies einen Anhaltspunkt dafür dar, daß der Host-Computer vermutlich über den Speicher hinauslaufen wird und die Unterroutine bricht ab. Anderenfalls wird bei Block 618 ein Aufruf zur "do-backwards-gate"-Unterroutine, wie sie in Fig. 10 gezeigt ist, gemacht.
- Bezug nehmend auf Fig. 9 ist die "do-backwards-gate"- Unterroutine detaillierter gezeigt. Bei Block 650 wird das momentane Signal mit der angenommenen Signalliste 418 verglichen. Wenn das momentane Signal sich in der angenommenen Signalliste 418 befindet, wird das Programm abbrechen, da die angenommenen Signale diejenigen sind, die vorher als bereits getestet bezeichnet wurden. Wenn das momentane Signal sich nicht in der angenommenen Signalliste 418 befindet, wird das momentane Signal bei Block 652 mit der ausgenommenen Signalliste (excluded signal list) 416 verglichen. Wenn das momentane Signal sich in der Signalliste 416 befindet, wird die Unterroutine abbrechen, da keine weiteren Rückführungen für dieses Signal mehr vorgenommen werden sollten.
- Die Unterroutine bestimmt danach bei Block 654, ob das momentane Signal von einem getakteten Schaltkreiselement erzeugt worden ist. Wenn das so ist, wird bei Block 656 festgestellt, ob dieses getaktete Schaltkreiselement während des momentanen Taktzyklus getaktet wurde. Wenn das nicht so ist, wird durch Durchsuchen der Datenbank 204 bei Block 658 festgestellt, bei welchem Zyklus dieses getaktete Schaltkreiselement getaktet wurde. Danach wird dieses Schaltkreiselement und sein getakteter Zyklus bei Block 660 zur Halteliste addiert und das Programm beendet die Unterroutine.
- Bei Block 662 wird eine "Pruning-Regel" für diesen spezifischen Typ von Schaltkreiselement identifiziert. Bei Block 664 wird festgestellt, ob irgendein Eingang dieses Schaltkreiselementes einen Fehler durch sein Schaltkreiselement weiterleiten kann. Wenn das nicht so ist, wird die Unterroutine beendet. Falls das so ist, werden die Signalnamen der Eingänge, die die Fehler weiterleiten, auf die Arbeitsliste bei Block 666 plaziert. Bei Block 668 wird ein Rückruf zur Rückführungsroutine gemacht.
- In Fig. 10 ist ein Beispiel einer Pruning-Regel angegeben. Die Fig. 10 zeigt ein ODER-Gatter 700 mit den logischen Zuständen 0, 1 und 1 bei den Eingängen 702, 704 und dem Ausgang 706. Diese logischen Zustände werden durch die simulierte Ausführung des Diagnoseprogramms 24 auf dem Host- Computer 402 bewirkt und in der Datenbank 204, wie sie in Fig. 6 gezeigt ist, gespeichert. Das bedeutet, daß das ODER-Gatter 700, welches ein Schaltkreiselement des Computers 20 bei einem spezifizierten Taktsignal repräsentiert, die spezifizierten logischen Zustände an seinen Eingängen und Ausgängen während des normalen Betriebs des Computers 20 haben wird.
- Der Ausgangszustand wird zunächst festgestellt und gespeichert. Danach werden die Eingänge verarbeitet, um festzustellen, ob ein Fehler in dem logischen Zustand entweder bei den Eingängen 702 oder 704 in einer Fehlerweitergabe durch das ODER-Gatter 700 mit der Beeinflussung des Ausgangs 706 resultiert. Als Beispiel einer derartigen Verarbeitung wird der Eingang 702 zuerst fehlerhaft gemacht. Das heißt, es wird angenommen, daß der logische Zustand 1 statt 0 ist. Es wird dann festgestellt, ob ein derartiger Wechsel in einem Wechsel des logischen Zustands des Ausgangs 706 resultieren würde. Wenn das nicht so ist, wird ein Wechsel des Eingangs 702 von 0 auf 1 nicht den logischen Zustand beim Ausgang 706 beeinflussen, da der Eingang 704 bereits 1 ist. In diesem Fall kann festgestellt werden, daß der logische Zustand des Eingangs 702 nicht den Ausgang des ODER-Gatters 700 während dieses Zeitzyklus beeinflussen kann. Daher ist es nicht notwendig zu analysieren, ob Schaltkreiselemente, die oberhalb des Eingangs 702 verbunden sind, als Kandidaten für einen fehlerhaften Teil betrachtet werden sollten, wenn der Ausgang 706 des ODER-Gatters 700 als fehlerhaft detektiert wird. Derartige Schaltkreiselemente werden daher analysiert (pruned) und es wird keine weitere Analyse bezüglich der weiter oben liegenden Schaltkreiselemente vorgenommen.
- Danach wird der richtige logische Zustand des Eingangs 702 erneut gespeichert, d. h. er wird auf 0 zurückgesetzt. Der logische Zustand bei dem Eingang 704 wird dann verfälscht, um ihn von 1 nach 0 zu ändern. Es sei angemerkt, daß dieser Wechsel tatsächlich in einem Wechsel des logischen Zustands des Ausgangs 706 resultieren wird. Dies bedeutet, daß der Eingang 704 bezüglich des logischen Zustands des Ausgangs 706 bei diesem besonderen Taktzyklus relevant ist und daß die Schaltkreiselemente oberhalb des Eingangs 704 analysiert und als Kandidaten für fehlerhafte Teile berücksichtig werden müssen, wenn der Ausgang 706 als fehlerhaft erkannt wird.
- Wenn der Ausgang 706 oder das ODER-Gatter 700 0 wären, und beide Eingängen 0 werden, kann daraus geschlossen werden, daß ein Wechsel entweder des Eingangs 702 oder 704 in einem Wechsel des logischen Zustands des Ausgangs 706 resultieren würde. In einem derartigen Fall würde keiner der Eingänge 702 oder 704 anlysiert (pruned) werden und die Schaltkreiselemente, die sich darüber erstrecken, müßten überprüft werden. Ein Beispiel von Computerbefehlen, die eine Pruning-Regel für ein Zwei-Eingangs-ODER-Gatter implementieren, ist in der untenstehenden Tabelle 2 gezeigt. Diese Computerbefehle sind in der Computersprache C ausgedrückt.
- Ein Beispiel einer Pruning-Regel für ein getaktetes Schaltkreiselement ist in Fig. 11 gezeigt, welche einen getakteten Latch-Schaltkreis 710 zeigt. Der Latch-Schaltkreis 710 weist einen Ausgangsanschluß 712, einen Dateneingangsanschluß 714, einen Taktanschluß 716 und einen Rücksetzanschluß 718 auf. Die logischen Zustände des Eingangsanschlusses 714, des Taktanschlusses 716 und des Ausgangsanschlusses 712 sind 0, wohingegen der logische Zustand des Rücksetzanschlusses 718 1 ist. Es ist ersichtlich, daß, da der logische Zustand des Rücksetzanschlusses 718 1 ist, der logische Zustand des Ausgangsanschlusses 712 stets 0 sein wird, unabhängig vom logischen Zustand des Eingangsanschlusses 714 oder des Taktanschlusses 716. Somit werden die Schaltkreiselemente, die mit dem Eingangsanschluß 714 und dem Taktanschluß 716 verbunden sind, analysiert (pruned) werden. Die Computerbefehle, die eine Pruning-Regel für den getakteten Latch-Schaltkreis 710 implementieren, sind in Tabelle 3 gezeigt.
- In gleicher Weise kann jedes Schaltkreiselement analysiert werden, um eine Pruning-Regel zu erzeugen, um herauszufinden, welche Eingänge irrelvant für den Ausgangszustand sind, und um zu spezifizieren, daß die Schaltkreiselemente, die mit derartigen irrelevanten Eingängen verbunden sind, problemlos bei der Bestimmung, welche Schaltkreiselemente Kandidaten für fehlerhafte Teile, die einen falschen logischen Zustand am Ausgang des Schaltkreiselements bewirken können, ignoriert werden können. In diesem Fall ergeben die Pruning-Regeln eine Liste von Signaleingängen, welche nicht irrelevant sind. Wie oben diskutiert wurde, werden derartige nicht irrelevanten Signaleingänge in rekursiver Weise zurückverfolgt, um solche darüberliegenden Schaltkreiselemente zu identifizieren, welche möglicherweise den Ausgang beeinflussen.
- Ein weiteres Beispiel für die Benutzung der Pruning-Regeln zum Eleminieren gewisser Abschnitte der Logik von der weiteren Betrachtung ist in Fig. 12 gezeigt. In Fig. 12 ist ein Schaltbild von Schaltkreiselementen, die miteinander nur zum Zwecke der Demonstration des Betriebs des bevorzugten Ausführungsbeispiels der Erfindung miteinander verbunden sind, und welche nicht notwendigerweise einen tatsächlichen logischen Schaltkreis repräsentieren.
- Fig. 12 zeigt ein Schaltkreiselement 740, welches einen Ausgang 742 aufweist. Der Ausgang 742 wird an einem bestimmten Taktzyklus als Seed-Signal bezeichnet. Entsprechend stellt die vorliegende Erfindung ein Verfahren zum Rückverfolgen durch weiter oben liegende Schaltkreiselemente zur Verfügung, um festzustellen, welches derartiges Schaltkreiselement vermutlich einen Fehler am Ausgang 742 erzeugt.
- Das Schaltkreiselement 740 hat zwei Eingänge 744 und 746. Die Erfindung wird zuerst den Eingang 744 analysieren, von dem der logische Zustand durch das weiter oben liegende Schaltkreiselement 748 bestimmt wird. Die logischen Zustände des Ausgangs 744 des Schaltkreiselements 748 sowie die Eingänge 750, 752 und 756 sind in der Datenbank 204 enthalten. Nimmt man an, daß die Anwendung einer geeigneten Pruning-Regel, die mit dem Schaltkreiselement 748 korrespondiert, zeigt, daß nur der Eingang 750 den logischen Zustand des Ausgangs 744 des Schaltkreiselements 748 beeinflussen kann, so können die Eingänge 752 und 754 verworfen werden (pruned). Entsprechend können die weiter oben liegenden Schaltkreiselemente 756 und 758, welche den logischen Zustand der Eingänge 752 und 754 bestimmen, nicht zur Liste der Kandidaten von Schaltkreiselementen addiert werden, welche einen Fehler am Ausgang 742 bewirken können. Auf der anderen Seite kann das Schaltkreiselement 716 tatsächlich ein derartiges Kandidatenschaltkreiselement sein, da sein Ausgang den logischen Zustand des Eingangs 744 des Schaltkreiselements 740 beeinflussen kann.
- Das Schaltkreiselement 760 und die damit assoziierten Signale werden in einer weiteren Iteration der Rückverfolgungsroutine analysiert. In diesem Fall jedoch sind die Eingänge 762 und 764 beides angenommene Signale. Das heißt, diese Signale wurden dem Programm 410 als Eingänge zur Verfügung gestellt als Mitglieder einer Liste von Signalen, von denen angenommen wird, daß sie nicht fehlerhaft sind. Entsprechend wird die Rückverfolgungsroutine über seine rekursiven Aufrufe auf den nächsten zu betrachtenden Eingang 746 des Schaltkreiselements 740 zurückkommen.
- Der logische Zustand des Eingangs 746 wird von dem weiter oben liegenden Schaltkreiselement 766 bestimmt. Jedoch wird auch der Eingang 768 des Schaltkreiselements 768 als "gutes" Signal angenommen, welches als Eingang dem Programm 410 zugeführt wird. Entsprechend werden die Schaltkreiselemente oberhalb des Eingangs 768 nicht analysiert. Der Eingang 770, welcher den anderen Eingang des Schaltkreiselements 766 darstellt, wird durch Pruning-Regeln für das Schaltkreiselement 766 als relevant bestimmt. Entsprechend wird das Schaltkreiselement 772, welches den logischen Zustand des Eingangs 770 bestimmt, durch einen weiteren Aufruf zur Rückverfolgungsroutine bewertet. Wie anhand der Fig. 12 gesehen werden kann, sind beide Eingänge 774 und 776 des Schaltkreiselements 772 ausgenommene Signale. Das heißt, sie wurden als Eingangsdaten dem Programm 410 als Signale zugeführt, welche nicht weiter analysiert werden müssen. Die rekursiven Aufrufe der Rückführungsroutine werden dann fortfahren, das nächste Signal, welches in der Arbeitsliste erscheint, zu untersuchen.
Claims (7)
1. Verfahren zum Erzeugen einer Kandidaten-Liste von
fehlerhaften Schaltkreiselementen (58) zur Benutzung für die
Isolation von Fehlern in einem logischen Schaltkreis (20),
wobei der logische Schaltkreis eine Vielzahl von
Schaltkreiselementen (28-48) aufweist und eine Vielzahl von
kritischen Testpunkten (49-53) an den Ausgängen von
bestimmten der Schaltkreiselemente aufweist, wobei die
Schaltkreiselemente untereinander in aufeinanderfolgenden Stufen
verbunden sind, um eine Vielzahl von Signalpfaden, welche
sich von den kritischen Testpunkten nach oben erstrecken, zu
bilden, und wobei der logische Schaltkreis Operationen gemäß
einer Vielzahl von aufeinanderfolgenden Taktzyklen (22)
ausführt und das Verfahren die folgenden Schritte aufweist:
a) Simulieren der Ausführung einer Diagnoseprozedur (24) auf
dem logischen Schaltkreis (250), um eine vorbestimmte
Operation des logischen Schaltkreises unter Verwendung
eines logischen Modells (202), welches simulierte
Schaltkreiselemente und simulierte kritische Testpunkte
enthält, die mit den logischen Schaltkreiselementen (28-48)
und den kritischen Testpunkten des logischen
Schaltkreises (49-53) korrespondieren, auszuführen;
b) Speichern der logischen Zustände der simulierten
kritischen Testpunkte (252) zu einer Vielzahl von
vorbestimmten Taktzyklen während der simulierten Ausführung
der Diagnoseprozedur;
c) Spezifizieren von Untergruppen gespeicherter logischer
Zustände als Seed-Signale (254) in einer Liste (56) von
Seed-Signalen mit Anomalitäten, bei denen eine
Fehlfunktion der vorgegebenen Operation detektiert werden
kann;
d) Untersuchen der simulierten Schaltkreiselemente, welche
jeweils ein Seed-Signal erzeugen, um Signalpfade zu
identifizieren, welche als Eingänge den untersuchten
simulierten Schaltkreiselementen (256) zugeführt werden;
e) Bewerten der simulierten Schaltkreiselemente, welche die
Seed-Signale erzeugen auf der Grundlage vorbestimmter
Kriterien, um Signalpfade und simulierte
Schaltkreiselemente davon zu eliminieren, welche unfähig sind, eine
Fehlfunktion, die durch die Seed-Signale (258, 262)
angezeigt ist, zu bewirken;
f) rekursives Bewerten der simulierten Schaltkreiselemente
aufeinanderfolgender, nach oben führender (upstream)
Stufen nicht eliminierter Signalpfade und simulierter
Schaltkreiselemente davon entsprechend vorgegebener
Kriterien; und
g) Speichern der nichteliminierten Schaltkreiselemente als
Kandidaten, die in der Lage sind, die Fehlfunktionen
(260) zu bewirken in einer Kandidatenliste (58)
fehlerhafter Schaltkreiselemente.
2. Verfahren nach Anspruch 1, weiterhin umfassend den
Schritt des Bestimmens, ob ein Schaltkreiselement eliminiert
ist, basierend auf einem vorgegebenen angegenommenen
Signal-Set (650).
3. Verfahren nach Anspruch 1 oder 2, bei dem der
Bewertungsschritt für jeden der Taktzyklen durchgeführt wird und
folgende Unterschritte aufweist:
a) Bestimmen, ob ein Schaltkreiselement ein getaktes oder
ein nichtgetaktes Schaltkreiselement ist (654);
b) Speichern der logischen Zustände eines jeden getakteten
Schaltkreiselements für die Verarbeitung an
unterschiedlichen Taktzyklen;
c) Speichern der logischen Zustände der Ausgänge eines jeden
nichtgetakteten Schaltkreiselements;
d) Verändern des logischen Zustands eines jeden Eingangs
eines jeden nichtgetakteten Schaltkreiselements jeweils
separat, um festzustellen, ob der Wechsel im logischen
Eingangszustand den logischen Ausgangszustand beeinflußt
(664);
e) Eliminieren von weiter oberhalb liegenden Signalpfaden
für jeden Eingang, wenn eine Veränderung des logischen
Zustands des Eingangs den logischen Ausgangszustand nicht
beeinflußt; und
f) erneutes Speichern eines veränderten logischen
Eingangszustands, bevor der logische Zustand eines anderen
Eingangs verändert wird.
4. Verfahren nach Anspruch 1, 2 oder 3, bei dem der
Simulationsschritt die folgenden Unterschritte aufweist:
a) Laden des Simulationsprogramms in einen Host-Computer
(402); und
b) Ausführen des Simulationsprogramms auf dem Host-Computer
in Verbindung mit einem Hardware-Beschleuniger.
5. Verfahren nach mindestens einem der vorhergehenden
Ansprüche, bei dem der Spezifizierschritt das Spezifizieren
von Namen sichtbarer Signale und spezifizierter Taktzyklen
umfaßt, bei denen die logischen Zustände der sichtbaren
Signale indikativ für den normalen oder abnormalen Betrieb
des logischen Schaltkreises sind.
6. Verfahren zum Isolieren von Fehlern in einem logischen
Schaltkreis (20), der eine Vielzahl von Schaltkreiselementen
328-48) aufweist, welche in aufeinanderfolgenden Stufen
miteinander verbunden sind, um eine Vielzahl von Signalpfaden
zu bilden und eine Vielzahl von kritischen Testpunkten
(49-53) an den Ausgängen bestimmter Schaltkreiselemente (36,
32, 34, 38, 40, 42) zu bilden und Ausführen von Befehlen
gemäß aufeinanderfolgender Taktzyklen, wobei das Verfahren
folgende Schritte aufweist:
a) Ausführen einer Diagnoseprozedur (80) auf den logischen
Schaltkreis, um einen fehlerhaften Betrieb des logischen
Schaltkreises (20) zu detektieren;
b) Speichern (82) einer Kandidatenliste fehlerhafter
Schaltkreiselemente (58), wie sie erhalten werden durch
Verwendung des Verfahrens des Anspruchs 1, welche in der
Lage sind, eine Fehlerindikation an bestimmten kritischen
Testpunkten, die durch die Diagnoseprozedur an
vorgegebenen Taktzyklen aktiviert wurden, zu erzeugen, und zum
Ausschließen der Schaltkreiselemente, die nicht in der
Lage sind, derartige Fehlindikationen zu bewirken;
c) Ausführen einer Fehlerisolationsprozedur (84), um die
logischen Zustände bestimmter kritischer Testpunkte
(49-53) zu untersuchen;
d) Vergleichen (86) der untersuchten logischen Zustände mit
den logischen Zuständen von vorgegebenen kritischen
Testpunkten während des normalen Betriebs des logischen
Schaltkreises (20); und
e) Ausgeben (88) einer Liste von fehlerhaften
Schaltkreiselementen, die in der Kandidatenliste fehlerhafter
Schaltkreiselemente enthalten sind, welche mit den
anomalen logischen Zuständen korrespondieren, wie sie
durch den Vergleichsschritt (86) identifiziert wurden.
7. Verfahren nach Anspruch 6, bei dem der Schritt des
Ausführens der Fehlerisolationsprozedur das Bereitstellen der
Ausführung auf einem Hilfsserviceprozessor, welcher mit dem
logischen Schaltkreis in Verbindung steht, enthält.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/902,614 US4727545A (en) | 1986-09-02 | 1986-09-02 | Method and apparatus for isolating faults in a digital logic circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3787431D1 DE3787431D1 (de) | 1993-10-21 |
DE3787431T2 true DE3787431T2 (de) | 1994-01-13 |
Family
ID=25416113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE87112000T Expired - Fee Related DE3787431T2 (de) | 1986-09-02 | 1987-08-18 | Verfahren zur Generierung einer Kandidatenliste von fehlerhaften Schaltungselementen und Verfahren zur Isolierung von Fehlern in einer logischen Schaltung unter Verwendung dieser Kandidatenliste. |
Country Status (11)
Country | Link |
---|---|
US (1) | US4727545A (de) |
EP (1) | EP0259662B1 (de) |
JP (1) | JPS63132346A (de) |
AT (1) | ATE94666T1 (de) |
AU (1) | AU590110B2 (de) |
CA (1) | CA1273706A (de) |
DE (1) | DE3787431T2 (de) |
DK (1) | DK456087A (de) |
FI (1) | FI873793A (de) |
IE (1) | IE872345L (de) |
IL (1) | IL83617A0 (de) |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4996659A (en) * | 1986-08-20 | 1991-02-26 | Hitachi, Ltd. | Method of diagnosing integrated logic circuit |
US4829520A (en) * | 1987-03-16 | 1989-05-09 | American Telephone And Telegraph Company, At&T Bell Laboratories | In-place diagnosable electronic circuit board |
US4961156A (en) * | 1987-10-27 | 1990-10-02 | Nec Corporation | Simulation capable of simultaneously simulating a logic circuit model in response to a plurality of input logic signals |
US5029166A (en) * | 1989-05-31 | 1991-07-02 | At&T Bell Laboratories | Method and apparatus for testing circuit boards |
US5107497A (en) * | 1989-07-28 | 1992-04-21 | At&T Bell Laboratories | Technique for producing an expert system for system fault diagnosis |
US5161158A (en) * | 1989-10-16 | 1992-11-03 | The Boeing Company | Failure analysis system |
US5210699A (en) * | 1989-12-18 | 1993-05-11 | Siemens Components, Inc. | Process for extracting logic from transistor and resistor data representations of circuits |
US5146460A (en) * | 1990-02-16 | 1992-09-08 | International Business Machines | Logic simulation using a hardware accelerator together with an automated error event isolation and trace facility |
US5327361A (en) * | 1990-03-30 | 1994-07-05 | International Business Machines Corporation | Events trace gatherer for a logic simulation machine |
US8050903B1 (en) * | 1990-05-29 | 2011-11-01 | Texas Instruments Incorporated | Apparatus and method for checkpointing simulation data in a simulator |
US5127012A (en) * | 1991-02-19 | 1992-06-30 | Eastman Kodak Company | Diagnostic and administrative device for document production apparatus |
US5633812A (en) * | 1992-09-29 | 1997-05-27 | International Business Machines Corporation | Fault simulation of testing for board circuit failures |
US5418974A (en) * | 1992-10-08 | 1995-05-23 | International Business Machines Corporation | Circuit design method and system therefor |
US5418794A (en) * | 1992-12-18 | 1995-05-23 | Amdahl Corporation | Error determination scan tree apparatus and method |
US5475695A (en) * | 1993-03-19 | 1995-12-12 | Semiconductor Diagnosis & Test Corporation | Automatic failure analysis system |
US5500940A (en) * | 1994-04-25 | 1996-03-19 | Hewlett-Packard Company | Method for evaluating failure in an electronic data storage system and preemptive notification thereof, and system with component failure evaluation |
US6480817B1 (en) * | 1994-09-01 | 2002-11-12 | Hynix Semiconductor, Inc. | Integrated circuit I/O pad cell modeling |
US5671352A (en) * | 1995-07-07 | 1997-09-23 | Sun Microsystems, Inc. | Error injection to a behavioral model |
WO1997016740A1 (en) * | 1995-11-02 | 1997-05-09 | Genrad, Inc. | System and method of accounting for defect detection in a testing system |
US6161202A (en) * | 1997-02-18 | 2000-12-12 | Ee-Signals Gmbh & Co. Kg | Method for the monitoring of integrated circuits |
US8489860B1 (en) * | 1997-12-22 | 2013-07-16 | Texas Instruments Incorporated | Mobile electronic device having a host processor system capable of dynamically canging tasks performed by a coprocessor in the device |
US6694362B1 (en) * | 2000-01-03 | 2004-02-17 | Micromuse Inc. | Method and system for network event impact analysis and correlation with network administrators, management policies and procedures |
US6515483B1 (en) * | 2000-08-30 | 2003-02-04 | Micron Technology, Inc. | System for partial scan testing of integrated circuits |
US20050157654A1 (en) * | 2000-10-12 | 2005-07-21 | Farrell Craig A. | Apparatus and method for automated discovery and monitoring of relationships between network elements |
US7383191B1 (en) | 2000-11-28 | 2008-06-03 | International Business Machines Corporation | Method and system for predicting causes of network service outages using time domain correlation |
US6966015B2 (en) * | 2001-03-22 | 2005-11-15 | Micromuse, Ltd. | Method and system for reducing false alarms in network fault management systems |
GB2373607B (en) * | 2001-03-23 | 2003-02-12 | Sun Microsystems Inc | A computer system |
US6744739B2 (en) * | 2001-05-18 | 2004-06-01 | Micromuse Inc. | Method and system for determining network characteristics using routing protocols |
US7043727B2 (en) * | 2001-06-08 | 2006-05-09 | Micromuse Ltd. | Method and system for efficient distribution of network event data |
US7516208B1 (en) | 2001-07-20 | 2009-04-07 | International Business Machines Corporation | Event database management method and system for network event reporting system |
US20050286685A1 (en) * | 2001-08-10 | 2005-12-29 | Nikola Vukovljak | System and method for testing multiple dial-up points in a communications network |
US6961887B1 (en) * | 2001-10-09 | 2005-11-01 | The United States Of America As Represented By The Secretary Of The Navy | Streamlined LASAR-to-L200 post-processing for CASS |
US7363368B2 (en) | 2001-12-24 | 2008-04-22 | International Business Machines Corporation | System and method for transaction recording and playback |
US7395468B2 (en) * | 2004-03-23 | 2008-07-01 | Broadcom Corporation | Methods for debugging scan testing failures of integrated circuits |
US7581150B2 (en) * | 2004-09-28 | 2009-08-25 | Broadcom Corporation | Methods and computer program products for debugging clock-related scan testing failures of integrated circuits |
US7500165B2 (en) | 2004-10-06 | 2009-03-03 | Broadcom Corporation | Systems and methods for controlling clock signals during scan testing integrated circuits |
US8171347B2 (en) * | 2007-07-11 | 2012-05-01 | Oracle America, Inc. | Method and apparatus for troubleshooting a computer system |
US8229723B2 (en) * | 2007-12-07 | 2012-07-24 | Sonics, Inc. | Performance software instrumentation and analysis for electronic design automation |
US8806401B1 (en) * | 2013-03-15 | 2014-08-12 | Atrenta, Inc. | System and methods for reasonable functional verification of an integrated circuit design |
US9940235B2 (en) | 2016-06-29 | 2018-04-10 | Oracle International Corporation | Method and system for valid memory module configuration and verification |
CN107219772B (zh) * | 2017-05-23 | 2020-02-18 | 南方电网科学研究院有限责任公司 | 测试多回线故障抑制与隔离装置功能指标的方法、装置及*** |
US10585995B2 (en) | 2017-06-26 | 2020-03-10 | International Business Machines Corporation | Reducing clock power consumption of a computer processor |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3702011A (en) * | 1970-05-12 | 1972-10-31 | Bell Telephone Labor Inc | Apparatus and method for simulating logic faults |
GB1389319A (en) * | 1971-11-15 | 1975-04-03 | Ibm | Data processing system |
JPS55153054A (en) * | 1979-05-15 | 1980-11-28 | Hitachi Ltd | Logic circuit simulation system |
GB8309692D0 (en) * | 1983-04-09 | 1983-05-11 | Int Computers Ltd | Verifying design of digital electronic systems |
US4587625A (en) * | 1983-07-05 | 1986-05-06 | Motorola Inc. | Processor for simulating digital structures |
GB8327753D0 (en) * | 1983-10-17 | 1983-11-16 | Robinson G D | Test generation system |
FR2567273B1 (fr) * | 1984-07-03 | 1986-11-14 | Commissariat Energie Atomique | Dispositif de simulation de la defaillance ou du bon fonctionnement d'un systeme logique |
US4654851A (en) * | 1984-12-24 | 1987-03-31 | Rockwell International Corporation | Multiple data path simulator |
-
1986
- 1986-09-02 US US06/902,614 patent/US4727545A/en not_active Expired - Fee Related
-
1987
- 1987-08-18 AU AU77149/87A patent/AU590110B2/en not_active Ceased
- 1987-08-18 DE DE87112000T patent/DE3787431T2/de not_active Expired - Fee Related
- 1987-08-18 AT AT87112000T patent/ATE94666T1/de not_active IP Right Cessation
- 1987-08-18 EP EP87112000A patent/EP0259662B1/de not_active Expired - Lifetime
- 1987-08-23 IL IL83617A patent/IL83617A0/xx unknown
- 1987-08-27 CA CA000545547A patent/CA1273706A/en not_active Expired - Fee Related
- 1987-09-01 FI FI873793A patent/FI873793A/fi not_active Application Discontinuation
- 1987-09-01 IE IE872345A patent/IE872345L/xx unknown
- 1987-09-01 DK DK456087A patent/DK456087A/da not_active Application Discontinuation
- 1987-09-02 JP JP62218063A patent/JPS63132346A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
DK456087D0 (da) | 1987-09-01 |
JPS63132346A (ja) | 1988-06-04 |
DK456087A (da) | 1988-03-03 |
IL83617A0 (en) | 1988-01-31 |
FI873793A (fi) | 1988-03-03 |
EP0259662B1 (de) | 1993-09-15 |
IE872345L (en) | 1988-03-02 |
US4727545A (en) | 1988-02-23 |
FI873793A0 (fi) | 1987-09-01 |
EP0259662A3 (en) | 1989-07-26 |
AU590110B2 (en) | 1989-10-26 |
EP0259662A2 (de) | 1988-03-16 |
ATE94666T1 (de) | 1993-10-15 |
AU7714987A (en) | 1988-03-10 |
CA1273706A (en) | 1990-09-04 |
DE3787431D1 (de) | 1993-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3787431T2 (de) | Verfahren zur Generierung einer Kandidatenliste von fehlerhaften Schaltungselementen und Verfahren zur Isolierung von Fehlern in einer logischen Schaltung unter Verwendung dieser Kandidatenliste. | |
DE69033360T2 (de) | Simulation von ausgewählten Logik-Schaltungsentwürfen | |
DE69720821T2 (de) | Fehlersuchsystem für Programme mit einer graphischen Benutzerschnittstelle | |
DE69229389T2 (de) | Testsystem für Schaltkreise | |
DE69826659T2 (de) | Billige, leicht anzuwendende software für ein automatisches testsystem | |
DE60106799T2 (de) | Probabilistische Diagnose, inbesondere für eingebettete Fernanwendungen | |
DE69229889T2 (de) | Automatische Logikmodell-Erzeugung aus einer Schaltschema-Datenbank | |
DE68929289T2 (de) | Expertensystem für fehlerdiagnose | |
DE69924296T2 (de) | Ic-test programmiersystem zur zuordnung logischer funktionstestdaten von logischen integrierten schaltung zu einer physikalischen darstellung | |
DE69831732T2 (de) | Verfahren und gerät zum korrigieren von fehlern in einem rechnersystem | |
DE69226937T2 (de) | Prüfverfahren für Leiterplatten | |
DE19959157C2 (de) | Verbessertes Funktionstesten durch das Filtern von groben Mutationen | |
DE19937232B4 (de) | Entwicklungs- und Bewertungssystem für integrierte Halbleiterschaltungen | |
DE10392497T5 (de) | Herstellungsverfahren und Herstellungsvorrichtung zum Vermeiden eines Prototypen-Aufschubs bei der ASIC/SOC-Herstellung | |
DE3903835A1 (de) | Verfahren und vorrichtung zum pruefen von mikroprozessorsystemen unter verwendung von speicheremulationstechniken | |
DE69225527T2 (de) | Verfahren und System zur automatischen Bestimmung der logischen Funktion einer Schaltung | |
DE10010043A1 (de) | Halbleitervorrichtung-Simulationseinrichtung und zugehörige Halbleitertestprogramm-Fehlerbeseitigungseinrichtung | |
DE69717824T2 (de) | Verfahren und vorrichtung zum software-test | |
DE69218682T2 (de) | Verfahren zum austesten eines softwareprogramms | |
DE3702408C2 (de) | ||
DE19536203A1 (de) | Fehlerdiagnoseverfahren für eine sequentielle Schaltung | |
DE10127170A1 (de) | Fehlersuchverfahren und Fehlersuchvorrichtung | |
DE102014102551A1 (de) | Maschine und Verfahren zum Evaluieren von fehlschlagenden Softwareprogrammen | |
DE102004058753A1 (de) | Verifizierung von Integrierte-Schaltung-Tests unter Verwendung einer Testsimulation und einer Integrierte-Schaltungs-Simulation mit einem simulierten Ausfall | |
DE60012735T2 (de) | Verfahren zur unterscheidung von verschiedenen typen von abtastfehlern, rechnerbasierte schaltungsemulation und fehlerdetektionssystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |