DE69838441T2 - Verfahren und Anordnung zur Verifizierung logischer Geräte - Google Patents

Verfahren und Anordnung zur Verifizierung logischer Geräte Download PDF

Info

Publication number
DE69838441T2
DE69838441T2 DE69838441T DE69838441T DE69838441T2 DE 69838441 T2 DE69838441 T2 DE 69838441T2 DE 69838441 T DE69838441 T DE 69838441T DE 69838441 T DE69838441 T DE 69838441T DE 69838441 T2 DE69838441 T2 DE 69838441T2
Authority
DE
Germany
Prior art keywords
state
subset
machine
state transition
finite
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 - Lifetime
Application number
DE69838441T
Other languages
English (en)
Other versions
DE69838441D1 (de
Inventor
Hiraoki Kawasaki-shi Iwashita
Tsuneo Kawasaki-shi Nakata
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Application granted granted Critical
Publication of DE69838441D1 publication Critical patent/DE69838441D1/de
Publication of DE69838441T2 publication Critical patent/DE69838441T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3323Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Debugging And Monitoring (AREA)
  • Tests Of Electronic Circuits (AREA)

Description

  • Hintergrund der Erfindung
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung zum Überprüfen, ob eine Maschine endlicher Zustände, die eine Operation einer synchronen sequentiellen Maschine anzeigt, eine Eigenschaft, die eine funktionelle Spezifikation anzeigt, erfüllt oder nicht.
  • „Improving quality of Simulation-based Verification Using State Enumeration" (Fujitsu Scientific and Technical Journal, Band 31, Sonderausgabe, Dezember 1995, Kawasaki, JP-Seiten 135-142 XP000555984) offenbart, daß Logiksimulation für Logiküberprüfung weitverbreitet verwendet wird. Da sie keine vollständige Überprüfung ermöglicht, ist die Qualität der Überprüfungstests, d.h. Eingabefolge zur Simulation, der Schlüssel zur Überprüfungseffizienz.
  • Diese Schrift stellt ein neuartiges Verfahren zum Erzeugen von Überprüfungstests dar, die formale Überprüfungstechniken verwenden. Der vorgeschlagene Algorithmus durchläuft den Zustandsraum eines Entwurfsmodells und stößt auf einen Satz Eingabefolgen von anfänglichen Zuständen zu den Zielzuständen. Die Logiksimulation mit den erzeugten Überprüfungstests wird überprüfen, ob eine Implementierung des Modells seine Spezifikation erfüllt.
  • Experimentelle Ergebnisse zeigen den Vorteil der Erzeugungszeit oder Überprüfungsqualität gegenüber gewöhnlichen Verfahren.
  • Eine Maschine endlicher Zustände wird häufig als ein mathematisches Modell einer Maschine mit synchroner Reihenfolge und eines Protokolls verwendet und betrifft auch ein Verfahren zum Überprüfen einer synchroner sequentiellen Schaltung und eines Protokolls. Ein bekanntes Verfahren zum Überprüfen, ob der funktionelle Entwurf einer Logikvorrichtung seine Spezifikation korrekt darstellt oder nicht, ist ein Modellüberprüfungsverfahren (mit Bezug auf die Referenzdokumente 2 und 5). Dieses Verfahren beweist mathematisch, daß eine Maschine endlicher Zustände die Spezifikation, die durch eine temporäre Logik dargestellt wird, erfüllt oder nicht erfüllt.
  • Die Überprüfungsoperation einer Logikvorrichtung in dem Modellüberprüfungsverfahren schließt unterschiedliche Schritte vom Überprüfen abstrakter Spezifikation bis zum Betreiben einer praktischen Schaltung ein. Da Fehler einfacher bei der Überprüfung der funktionellen Spezifikation zur frühesten Stufe in der Logikvorrichtung erfaßt werden können, wurde es in diesen Schritten erwartet, ein Überprüfungsverfahren mit einer hohen Geschwindigkeit und hohen Genauigkeit durchzuführen. Außerdem wurde erwartet, daß das Überprüfungsverfahren für eine komplizierte Logikvorrichtung durchgeführt wird, deren Speicherkapazität seine Grenze in einem gewöhnlichen Verfahren erreicht.
  • Unten wird die gewöhnliche Technologie beschrieben.
  • § 1: Erklärung der gewöhnlichen Technologie (1)
  • Die oben beschriebene Maschine endlicher Zustände wird als ein endlicher Automat mit einer Ausgabe definiert. Ein gewöhnliches Format der Maschine endlicher Zustände wird durch die folgende Gleichung (1) erhalten. M = (q, Σ, Φ, δ, λ, I) (1)
  • Jedes der Symbole hat die folgende Bedeutung.
  • q:
    Zustandssatz (endlich)
    Σ:
    Eingabealphabet (endlich)
    Φ:
    Ausgabealphabet (endlich)
    δ:
    Übergangsbeziehungsfunktion
    λ:
    Ausgabebeziehungsfunktion
    I:
    anfänglicher Zustandssatz
  • Die oben beschriebene Übergangsbeziehungsfunktion λ ist eine Funktion, die den nächsten Zustand bestimmt. Sie wird auf 1 eingestellt, wenn der gegenwärtige Zustand ein Übergang zu dem nächsten Zustand sein kann, falls der gegenwärtige Zustand und eine Eingabe eingegeben werden, wenn der gegenwärtige Zustand, der nächste Zustand und eine Eingabe eingegeben werden können, um einen nicht deterministischen Übergang darzustellen. Ansonsten ist sie auf 0 eingestellt. Wenn der Übergang deterministisch ist, kann der Zustandsübergang als eine Funktion dargestellt werden, um den nächsten Zustand durch den gegenwärtigen Zustand und eine Eingabe zu erhalten. Die oben beschriebene Ausgabebeziehungsfunktion λ entspricht ähnlich dem Fall, in dem eine Ausgabe nicht deterministisch ist.
  • Grundsätzlich können alle synchronen sequentiellen Schaltungen durch die Maschine endlicher Zustände modelliert werden. Wenn eine Logikvorrichtung entworfen wird, wird die Maschine endlicher Zustände deshalb häufig als Spezifikation verwendet. Beim Synthetisieren einer Logik wird ein Zustand zum Beispiel gewöhnlich durch eine Flip-Flop-Schaltung oder ein Register durch ein Synthetisierungssystem dargestellt, welches die Beschreibung der Spezifikation einer Vorrichtung, die in einer Entwurfsbeschreibungssprache geschrieben ist, in eine Maschine endlicher Zustände umwandelt, oder eine Übergangsbeziehungsfunktion δ und eine Ausgabebeziehungsfunktion λ wird gewöhnlich durch eine Kombinationsschaltung dargestellt.
  • Die elementare Logik der oben beschriebenen Maschine endlicher Zustände wird detailliert im Kapitel 2 des Referenzdokuments δ beschrieben. Das Überprüfen einer Vorrichtung, die als eine Maschine endlicher Zustände definiert ist, heißt zu überprüfen, ob die Vorrichtung richtig den Zustandsübergang der Maschine endlicher Zustände darstellt oder nicht. Eine anwendbare Technologie, um die Überprüfung zu erreichen, kann die Logiksimulation und formelle Überprüfung sein.
  • Die oben beschriebene Logiksimulation ist ein Verfahren zum Simulieren einer Operation durch Anwenden einer geeigneten Eingabe in ein Modell einer Vorrichtung (Beschreibung in einer Entwurfsbeschreibungssprache, Gatterebenenschaltungsdiagramm, usw.). Es wird bestätigt, daß eine Ausgabe, die in dem Verfahren erhalten wurde, mit dem Wert übereinstimmt, der durch die ursprüngliche Maschine endlicher Zustände erhalten wurde.
  • Die oben beschriebene formelle Überprüfung ist ein Lösungsweg, um mathematisch zu beweisen, ob die Eigenschaft, die durch die ursprüngliche Maschine endlicher Zustände erfüllt wird, vollständig durch das Modell der Vorrichtung erfüllt wird oder nicht. Typische Beispiele sind eine Sym bolmodellüberprüfung, Symbolsimulation, usw.. Die formelle Überprüfung wird detailliert in den Referenzdokumenten 5, 3, 11, 13 und 8 beschrieben.
  • Die oben beschriebene formelle Überprüfung (formelles Überprüfungsverfahren) bezieht sich auf eine Technologie, die von der Forschungsstufe bis zu der praktischen Stufe entwickelt wird, und mehrere Fälle, in denen das Verfahren bei der Prozessorentwurfsüberprüfung verwendet wird, wurden berichtet. Unter diesen wird das Symbolmodellüberprüfungsverfahren (mit Bezug auf das Referenzdokument 2) zum Überprüfen einer Steuerungslogik als das praktischste Verfahren betrachtet.
  • § 2: Erklärung der gewöhnlichen Technologie (2)
  • Es wird auf 1A Bezug genommen.
  • 1A zeigt die gewöhnliche Technologie, die ein Beispiel (1) der Maschine endlicher Zustände ist. In den oben beschriebenen formellen Überprüfungsverfahren stellt das Symbolmodellüberprüfungsverfahren ein logisches Vorrichtungsmodell der Kripke-Struktur dar, die eine Logikfunktion verwendet, und überprüft, ob ein nicht leerer Zustandsatz, der die Spezifikation erfüllt, die durch eine Berechnungsbaumlogik dargestellt wird, vorhanden ist oder nicht.
  • Die Kripke-Struktur ist eine Art eines nicht deterministischen endlichen Automaten, der durch die folgende Gleichung (2) dargestellt wird, die den endlichen Satz S eines Zustands, die Übergangsbeziehung R eines Zustands und den Satz S0 eines anfänglichen Zustandspunkts und den Satz L eines atomaren Vorschlags verwendet, der in jedem Zustand wahr ist. K = (S, R, S0, L) (2)
  • Die Berechnungsbaumlogik ist eine Art einer temporären Logik und wird durch einen Operator A, der „universell" anzeigt, einen Operator E, der „existenziell" anzeigt, einen temporären Operator F, der „zukünftig" anzeigt, einen temporären Operator G, der „global" anzeigt, einen temporären Operator „X", der „als nächstes" anzeigt, und einen temporären Operator U, der „bis" anzeigt, zusätzlich zu einem gewöhnlichen Logikoperator dargestellt.
  • Zum Beispiel zeigt der temporäre Operator AGa an, daß der Logikausdruck a in allen Zustandssätzen vorhanden ist, die von dem anfänglichen Zustand erreichbar sind. In diesem Fall werden in einem Modell einer Logikvorrichtung alle Wege, die von dem anfänglichen Zustand erreichbar sind, nachverfolgt, und es wird überprüft, ob alle Wege den Zustand erreichen können oder nicht, in dem der Logikausdruck a vorhanden ist.
  • Das heißt, die Überprüfungsoperation bei dem Symbolmodellüberprüfungsverfahren ist eine Operation des Nachverfolgens des Zustandsübergangs der Kripke-Struktur und zum Bestätigen, ob die Berechnungsbaumlogik, welche die Spezifikation anzeigt, in jedem Zustand vorhanden ist oder nicht. Diese Operation bezieht sich auf eine Satzoperation, um den kleinsten Gleitpunkt oder den größten Gleitpunkt in einem Modell gemäß einem Berechnungsbaumlogikausdruck zu erhalten.
  • Die oben beschriebene Satzoperation kann durch Kombinieren einer Bildberechnung Image ({q}) zum Erhalten eines Zustandssatzes, der von einem Zustandssatz {q} in einem Zustandsübergangsverfahren erreichbar ist, mit einer umgekehrten Bildberechnung Image-1 ({q}) zum Erhalten eines Zustandssatzes, von dem ein Zustandssatz {q} in einem Zustandsübergangsverfahren erreichbar ist, umgesetzt werden.
  • In dem Beispiel der Maschine endlicher Zustände, die durch einen Zustandsübergang zwischen neun Zuständen q0 bis q8, wie in 1A gezeigt, dargestellt wird, werden zum Beispiel Beispiele von Ergebnissen der Bildberechnung und der umgekehrten Bildberechnung durch die folgenden Gleichungen (3) bis (6) dargestellt. Image({q0}) = {q0, q1, q2, q3} (3) Image({q3, q8}) = {q2, q3, q5, q6, q8} (4) Image-1({q0}) = {q0, q1} (5) Image-1({q5}) = {q1, q2, q3, q4} (6)
  • In der Maschine endlicher Zustände, die in 1A gezeigt ist, wird, wenn die temporäre Logik AFp, die den Logikausdruck p verwendet, der den Zustand q7 anzeigt, überprüft, die Bildberechnung sequentiell von dem anfänglichen Zustand q0 wiederholt, und es wird überprüft, ob alle Wege, die von dem anfänglichen Zustand durchlaufen werden, tatsächlich den Zustand q7 erreichen können oder nicht. Wenn die temporäre Logik EFp überprüft wird, wird die umgekehrte Bildberechnung von dem Zustand q7 wiederholt, und es wird überprüft, ob es einen Weg gibt, der den anfänglichen Zustand q0 erreicht oder nicht.
  • In einem gewöhnlichen tatsächlichen Symbolmodellüberprüfungsverfahren wird eine Satzoperation durch ein Logikfunktionsverfahren (mit Bezug auf das Referenzdokument 5) ersetzt, und das Logikfunktionsverfahren wird effizienter, indem die Logikfunktion durch ein binäres Entscheidungsdiagramm (mit Bezug auf das Referenzdokument 1) dargestellt wird.
  • § 3: Erklärung der gewöhnlichen Technologie (3)
  • Es wird auf 1B bis 1H Bezug genommen.
  • 1B zeigt die Erklärung (2) der gewöhnlichen Technologie. 1C zeigt die Erklärung (3) der gewöhnlichen Technologie. 1D zeigt die Erklärung (4) der gewöhnlichen Technologie. 1E zeigt die Erklärung (5) der gewöhnlichen Technologie. 1F zeigt die Erklärung (6) der gewöhnlichen Technologie. 1G zeigt die Erklärung (7) der gewöhnlichen Technologie. 1H zeigt die Erklärung (8) der gewöhnlichen Technologie. In dem oben beschrieben Symbolmodellüberprüfungsverfahren wurde bereits eine Eigenschaftsüberprüfungsvorrichtung (auf die Tokuganhei 8-220005 Bezug genommen wird) vorgeschlagen, die sowohl den Umfang des Speichers verringern kann als auch eine Verfahrenszeit verkürzen kann. Diese gewöhnliche Technologie wird unten mit Bezugnahme auf 1B bis 1H beschrieben.
  • In 1B wandelt die Eigenschaftsüberprüfungseinrichtung den Berechnungsbaumlogikausdruck, der durch eine Eingabeempfangseinheit 211 akzeptiert wurde, als ein Logikausdruckeingabemittel in eine einzelne Wegdarstellung durch eine Umwandlungseinheit 212 zur einzelnen Wegdarstellung um. Außerdem wird die Darstellung durch eine Verfahrensfolgeum wandlungseinheit 213 in eine Verfahrensfolge umgewandelt, die später beschrieben wird, und dann für ein Verfahren durch eine Satzoperationseinheit 214 vorgesehen ist. Eine Bestimmungseinheit 215 bestimmt, ob der erhaltene Zustandssatz leer ist oder nicht. Somit kann die Eingabeeigenschaft überprüft werden.
  • In der Eingabeempfangseinheit 211 übermittelt eine Operatorbestimmungseinheit 221 den Berechnungsbaumlogikausdruck zu einer Additionseinheit für anfängliche Zustände 223 direkt oder über eine Negationseinheit 222 abhängig von dem führenden Operator in dem empfangenen Berechnungsbaumlogikausdruck. Wenn der führende Operator der Operator A ist, der „universell" anzeigt, übermittelt die Operatorbestimmungseinheit 221 den gesamten Berechnungsbaumlogikausdruck zu der Negationseinheit 222. Wenn der führende Operator der Operator E ist, der „Existentiell" anzeigt, überträgt sie den Ausdruck zu der Negationseinheit 222.
  • Die Negationseinheit 222 negiert den gesamten Berechnungsbaumlogikausdruck, der von der Operatorbestimmungseinheit 221 empfangen wurde und erstellt außerdem den Berechnungsbaumlogikausdruck durch Umformen einer notwendigen Gleichung gemäß einer Logikoperationsregel und übermittelt den erhaltenen Computerbaumlogikausdruck zu der Additionseinheit 223 für anfängliche Zustände. Die Additionseinheit 223 für anfängliche Zustände übermittelt den Berechnungsbaumlogikausdruck zu der Umwandlungseinheit 212 zur einzelnen Wegdarstellung als einen Startzustand der Überprüfungsoperation durch Addieren eines Vorschlagslogikausdrucks, der dem anfänglichen Zustand entspricht, zu dem Kopf des empfangenen Berechnungsbaumlogikausdrucks.
  • In der Umwandlungseinheit 212 zur einzelnen Wegdarstellung empfängt eine Ausdrucksumformungseinheit 224 einen Berechnungsbaumlogikausdruck von der oben beschriebenen Eingabeempfangseinheit 211, formt den Berechnungsbaumlogikausdruck gemäß der Umformungsregel um, die in einer Umformungsregelspeichereinheit 225 gespeichert ist, und wandelt ihn in eine einzelne Wegdarstellung um. Die Umformungsregelspeichereinheit 225 speichert die Umformungsregel R, welche durch die folgenden Gleichungen (7) bis (10) dargestellt wird, wobei sie als das Verfahren zum Umwandeln eines Berechnungsbaumlogikausdrucks in eine einzelne Wegdarstellung die Vorschlagslogikausdrücke p und q verwendet, die einen Zustandssatz und einen Teilausdruck f des oben beschriebenen Berechnungsbaumlogikausdrucks anzeigen. R(p∧EX f) = pR(f) (7) R(p∧EF f) = {R(p∧f), pTrue* R(f)} (8) R(p∧EG q) = (p∧f) qω (9) R(p∧E(q∪f) = {R(p∧f), pq* R(f)} (10)
  • In den oben aufgelisteten Gleichungen (7) bis (10) wird die endliche und unendliche Wiederholung des Vorschlagslogikausdrucks p durch Indexsymbole * und ω dargestellt. Jede Fallgruppe ist durch {} umschlossen. Die Ausdrucksumformungseinheit 224 erfaßt den Teil, der auf die oben beschriebene Umformungsregel in dem empfangenen Berechnungsbaumlogikausdruck anwendbar ist. Eine anwendbare Umformungsregel wird angewendet, um ein Umformungsverfahren durchzuführen, um ein Umwandlungsverfahren für eine Einheitswegdarstellung durchzuführen.
  • Die einzelne Wegdarstellung bezieht sich auf eine einzelne nicht verzweigte Zustandssatzfolge oder eine Zustandssatzfolge, die durch Verbinden einer Zustandssatzfolge, die eine unendliche Schleife ist, mit einer einzelnen nichtverzweigten Zustandssatzfolge erhalten wurde. Der Zustandssatz S einer einzelnen Wegdarstellung s wird unter Verwendung des Satzes P des Vorschlaglogikausdrucks, der einen optionalen Zustandssatz anzeigt, wie folgt definiert.
    • 1: Der Zustandssatz, wobei p ∈ P eine einzelne Wegdarstellung ist.
    • 2: Die Verbindung ps zwischen dem Zustandssatz, wobei p∈P und die Zustandssatzfolge S sind, wobei s ∈ S eine einzelne Wegdarstellung ist.
    • 3: Die unendliche Wiederholung pω des Zustandssatzes p, wobei p ∈ P eine einzelne Wegdarstellung ist.
    • 4: Die Verbindung p* zwischen der endlichen Wiederholung p* des Zustandssatzes p, wobei p ∈ P gilt, und der Zustandssatzfolge s, wobei s ∈ S gilt, ist eine einzelne Wegdarstellung.
  • Deshalb formt die Ausdrucksumformungseinheit 224 den Ausdruck gemäß der oben beschriebenen Umformungsregel um und erhält die Zustandssatzfolge, die durch eine einzelne Wegdarstellung angezeigt wird. Wenn ein Berechnungsbaumlogikausdruck AG (p → AFq), der die Eigenschaft anzeigt, die überprüft werden soll, durch die Eingabeempfangseinheit 211 eingegeben wird, ist der führende Operator der Operator A, der „universell" anzeigt. Deshalb wird die Negationseinheit 222 mit einer Eingabe von der Operatorbestimmungseinheit 221 betrieben und negiert zuerst einen Eingabeberechnungsbaumlogikausdruck und erstellt ihn dann, wie in 1C gezeigt, und erhält dadurch einen Berechnungsbaumlogikausruck, der den Operator A nicht einschließt.
  • Außerdem addiert die Additionseinheit für anfängliche Zustände 223 den Vorschlagslogikausdruck pi, der dem anfänglichen Zustand entspricht, zu dem Kopf des Berechnungsbaumlogikausdrucks, um den erhaltenen Berechnungsbaumlogikausdruck zur Verwendung bei dem Verfahren zu schaffen, das durch die Ausdrucksumformungseinheit 224 durchgeführt werden soll. Als Reaktion auf die Eingabe des Berechnungsbaumlogikausdrucks beginnt die Ausdrucksumformungseinheit 224 ihre Operation, um die oben aufgeführten Gleichungen (8) und (9) sequentiell auf einen partiellen Ausdruck anzuwenden, der durch jeden Unterstrich, wie in 1D gezeigt, angezeigt ist. Somit kann die einzelne Wegdarstellung erhalten werden, die in 1D gezeigt ist.
  • In der Verfahrensfolgeumwandlungseinheit 213 wandelt eine Ausdrucksumformungseinheit 226 eine einzelne Wegdarstellung in die Überprüfungsverfahrensfolge, die unten beschrieben ist, gemäß der Umwandlungsregel um, die in einer Umformungsregelspeichereinheit 227 gespeichert ist. Eine elementare Überprüfungsverfahrensfolge enthält einfach eine Bildberechnung. Gleichung (13) wird durch die folgende Gleichung (11) dargestellt, welche die Vorschläge p und q, den Operator Image, der die Bildberechnung anzeigt, und die Operatoren gfp, lfp, die den größten Gleitpunkt und den kleinsten Gleitpunkt anzeigen, verwendet. FindTrans(p) = Img(p) (11) FindTrail(p, q) = lfp Z. [p∨Img (q∧Z)] (12) FindLoop(p) = gfp Z. [p∧Img (Z)] (13)
  • Das Überprüfungsverfahren FindTrans(p), das in der oben aufgelisteten Gleichung (11) erscheint, ist genau die Bildberechnung. Wie in 1F gezeigt, wird ein erreichbarer Zustandssatz in einem Zustandsübergangsverfahren von dem Zustandssatz zurückgegeben, der durch den Vorschlagslogikausdruck p dargestellt wird. Das Überprüfungsverfahren FindTrail(p,q) in der oben aufgelisteten Gleichung (12) ist ein Verfahren zum Zurückgeben eines Zustandssatzes (der durch die diagonalen Linien in 1G angezeigt wird), der von dem Zustandssatz, der durch den Vorschlagslogikausdruck p) dargestellt wird, über einen Zustandssatz erreichbar ist, in dem der Vorschlaglogikausdruck q, wie in 1G gezeigt, vorhanden ist.
  • Das Überprüfungsverfahren FindLoop(p) in der oben aufgelisteten Gleichung (13) ist ein Verfahren zum Zurückgeben eines Zusammenschlusses (der durch die diagonalen Linien in 1H angezeigt wird) eines Untersatzes, der in dem Zustandssatz enthalten ist, der durch den Vorschlagslogikausdruck p dargestellt ist, wie in 1H gezeigt, und bildet eine Schleife, in welcher der Vorschlaglogikausdruck p vorhanden ist, und einen Untersatz, der von der Schleife erreichbar ist. Die Umwandlungsregelspeichereinheit 227 speichert eine Umwandlungsregel S, die durch die folgenden Gleichungen (14) bis (18) dargestellt wird. S(p) = p (14) S(sp) = FindTrans(S(s)) ∧ p (15) S(sp*) = FindTrail(FindTrans(S(s),p)) (16) S(spω) = FindLoop(FindTrail((S(s),p) ∧ p)) (17) S({s∧p, sp*}) = FindTrail(S(s),p) (18)
  • Deshalb erfaßt die Ausdrucksumformungseinheit 226 von der empfangenen einzelnen Wegdarstellung ein Teil, auf welches die Umwandlungsregeln anwendbar sind, und wendet eine entsprechende Umwandlungsregel sequentiell an, so daß die einzelne Wegdarstellung in eine Überprüfungsverfahrensfolge umgewandelt werden kann. Als Reaktion auf die einzelne Wegdarstellung, die in 1D gezeigt ist, wendet die Ausdrucksumformungseinheit 226 zum Beispiel sequentiell die oben aufgelisteten Gleichungen (17) und (18) an und erstellt die Gleichungen, um die Darstellung in eine Verfahrensfolge, wie in 1E gezeigt, umzuwandeln.
  • Als Reaktion auf die empfangene Verfahrensfolge führt die Satzoperationseinheit 214 eine Bildberechnung und eine Gleitpunktberechnung in den oben aufgelisteten Gleichungen 11 bis 13 durch, erhält einen Zustandssatz, der durch eine einzelne Wegdarstellung angezeigt wird, gibt ihn in die Bestimmungseinheit 215 ein, um zu bestimmen, ob der Zustandssatz ein leerer Satz ist oder nicht.
  • Da diese Verfahrensfolgen nur unter Verwendung von Bildberechnung wie oben beschrieben ausführbar sind, kann überprüft werden, ob ein Modell einer Logikvorrichtung die Eigenschaft, die durch eine einzelne Wegdarstellung dargestellt werden kann, durch Durchführen eines Satzoperationsverfahrens durch die Durchführung eines praktischen Computersystems umsetzt, selbst wenn der Umfang eines binären Entscheidungsdiagramms durch Darstellung der Zustandsübergangsbeziehung unter Verwendung einer Funktion verringert wird.
  • Mit Bezug auf die Eigenschaft, die durch eine einzelne Wegdarstellung dargestellt werden kann, können die Speichererfordernisse und die Verfahrenszeit somit verkürzt werden, um die Probleme zu lösen, die sich ergeben, wenn ein Symbolmodellüberprüfungsverfahren angewendet wird. Im Ergebnis kann das Symbolmodellüberprüfungsverfahren auf die Eigenschaftsüberprüfung einer Logikvorrichtung angewendet werden, die praktische Regeln hat.
  • Die oben beschriebenen gewöhnlichen Technologien haben die folgenden Probleme.
    • (1): In dem Symbolmodellüberprüfungsverfahren wird die Operation einer Maschine endlicher Zustände durch einen Logikausdruck dargestellt, und wird das Überprüfungsverfahren in einem Logikfunktionsverfahren umgesetzt. In diesem Verfahren wird ein binäres Entscheidungsdiagramm (BDD) als ein Darstellungsformat einer Logikfunktion verwendet. Die Anzahl der Zustände der Maschine endlicher Zustände, die bei der Entwurfsüberprüfung verwendet wird, kann 1020 überschreiten und erfordert ein implizites Darstellungsverfahren, das eine Logikfunktion verwendet, und ein effektives Logikfunktionsverfahren, das ein BDD verwendet.
  • Wenn jedoch ein Verfahren eine Anzahl von Zuständen enthält, und eine Vorrichtung einen komplizierten Zustandsübergang verarbeitet, tritt das Problem auf, daß die Größe des BDD, das die Übergangsbeziehung einer Maschine endlicher Zustände anzeigt, und die Größe des BDD, das während des Logikfunktionsverfahrens erzeugt wird, vergrößert werden. Die Größe eines BDD kann durch die Anzahl der Knoten des BDD gemessen werden. In dem schlimmsten Fall kann eine Variable wie ein Index zunehmen.
    • (2): Das oben beschriebene Problem (1) kann durch die Eigenschaftsüberprüfungsvorrichtung (mit Bezug auf Tokuganhei 8-220005) abgeschwächt werden. Wenn jedoch die Vorrichtung komplizierter ist, kann der Umfang des BDD die Grenze erreichen. Mit Bezug auf ein Teil der Eigenschaft kann der Umfang des BDD durch Teilen des Zustandssatzes während des Überprüfungsverfahrens verringert werden (mit Bezug auf die Referenzdokumente 10 und 12). In diesem Verfahren wird das Zustandsaufzählungsverfahren (mit Bezug auf das Referenzdokument 5) durch Wiederholen der Bildberechnung von dem anfänglichen Zustand innerhalb einer begrenzten Speicherkapazität durchgeführt.
  • Da eine gewöhnliche Symbolmodellüberprüfung auf der inversen Bildberechnung beruht (mit Bezug auf das Referenzdokument 5) ist dieses Verfahren bei der Anwendung begrenzt. Da die oben beschriebene Eigenschaftsüberprüfungsvorrichtung (mit Bezug auf Tokuganhei 8-220005) auf der Bildberechnung beruht, ist sie andererseits in unterschiedlichen Bereichen anwendbar. Für die oben beschriebene Eigenschaftsüberprüfungsvorrichtung (mit Bezug auf Tokuganhei 8-220005) beruht das Verfahren FindTrail() auf der Zustandsaufzählung und kann einen Zustandssatz zur Berechnung teilen.
  • Außerdem ist es einfach, einen Zustandssatz von FindTrans() zur Berechnung zu teilen. Jedoch bezieht sich FindLoop() auf ein Verfahren, das sich von der Zustandsaufzählung ziemlich unterscheidet, und es ist nicht erlaubt, einen Zustandssatz für ein Verfahren zu teilen. Deshalb funktioniert in den meisten Fällen das Verfahren zum Teilen eines Zustandssatzes zur Verringerung einer Speicherkapazität bei dem Symbolmodellüberprüfungsverfahren nicht.
  • § 4: Referenzdokumente
    • (Referenzdokument 1): R. E. Bryant. Graph based algorithm for boolean function manipulation. IEEE Trans. Comput. C-35 (8): 677-691, 1986.
    • (Referenzdokument 2): E. M. Clarke, E. A. Emerson and A. P. Sistla. Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Trans. Prog. Lang. Syst., 8 (2): 244-263, 1986.
    • (Referenzdokument 3): Fujita, Chef, and Yamazaki. Example of application to actual design of formal verification method. Information process, 35 (8): 719-725, 1994.
    • (Referenzdokument 4): Fujita and E. M. Clarke. Application of BDD to CAD. Information process, 34 (5): 609-616, 1993.
    • (Referenzdokument 5): Hiraishi and Hamaguchi. Formal verification method based on logical function process. Information process, 35 (8): 710-718, 1994.
    • (Referenzdokument 6): J. E. Hoperoft and J. D. Ullman. Introduction to Automata Theory, Languages and Computation. Addison-Wesley, Publishing Company, 1979.
    • (Referenzdokument 7): Minato. BDD process technology through computer. Information process, 34 (5): 593-599, 1993.
    • (Referenzdokument 8): Taniguchi und Kitamichi. "Specification description, design and verification through algebraic method. Information process, 35 (8): 742-750, 1994.
    • (Referenzdokument 9): Ishiura, What's BDD? Information process. 34 (5): 585-592, 1993.
    • (Referenzdokument 10): H. Iwashita, S. Kowatari, T. Nakata und F. Hirose. Automatic test program generation for pipelined processors. In Proceedings of the International Conference an Computer-Aided Design, S. 580-583, 1994.
    • (Referenzdokument 11): Kimura. Formal timing verification. Information process. 35 (8): 726-735, 1994.
    • (Referenzdokument 12): K. Ravi und R. Somenzi. Highdensity reachability analysis. In Proceedings of the International Conference an Computer-Aided Design, S. 154-158, 1995.
    • (Referenzdokument 13): Takahara. Formal verification through process algebra. Information process. 35 (8): 736-741, 1994.
    • (Referenzdokument 14): Watanabe und Kukimoto. Application of BDD. Information process. 34 (5): 600-608, 1993.
  • Zusammenfassung der Erfindung
  • Die vorliegende Erfindung dient dazu, ein Logikvorrichtungsüberprüfungsverfahren und eine Logikvorrichtungsüberprüfungsvorrichtung zu schaffen, die eine Speicherkapazität verringern können und die eine komplizierte Logikvorrichtung unter Verwendung eines Zustandssatzteilungsverfahrens überprüfen können.
  • Die Erfindung ist in den beigefügten unabhängigen Patentansprüchen definiert, auf die nun Bezug genommen werden soll.
  • Bevorzugte Merkmale können in den von diesen abhängigen Unteransprüchen gefunden werden.
  • Das Logikvorrichtungsüberprüfungsgerät gemäß der vorliegenden Erfindung schließt eine Eingabeeinheit, eine Ausgabeeinheit, eine Operationseinheit zur Zustandsübergangsbestim mung, eine Operationseinheit zur Erreichbarkeitsbestimmung, eine Operationseinheit zur Schleifenbestimmung und eine Steuerungseinheit ein.
  • In der ersten Phase der vorliegenden Erfindung gibt die Eingabeeinheit eine Maschine endlicher Zustände M und die Eigenschaft ein, die sich auf die M bezieht. Die Ausgabeeinheit gibt ein Überprüfungsergebnis aus. Die Operationseinheit zur Zustandsübergangsbestimmung erhält einen Zustandssatz, der in einem einzelnen Zustandsübergang von einem Element eines Zustandssatzes p erreichbar ist. Die Operationseinheit zur Erreichbarkeitsbestimmung erhält einen erreichbaren Zustandssatz über ein Element eines Zustandssatzes q von einem Element des Zustandssatzes p. Die Operationseinheit zur Schleifenbestimmung beginnt mit einem bestimmten Zustand bei p und bestimmt, ob es einen Weg eines Zustandsübergangs, der q nicht überschreitet, gibt oder nicht. Die Steuerungseinheit teilt den Zustandssatz, ruft die Operationseinheit zur Zustandsübergangsbestimmung, eine Operationseinheit zur Erreichbarkeitsbestimmung und eine Operationseinheit zur Schleifenbestimmung auf und erhält einen Weg von einem Zustandsübergang, der der Eigenschaft entspricht.
  • Kurze Beschreibung der Zeichnungen
  • 1A ist eine Ansicht (1) zur Erklärung der gewöhnlichen Technologie;
  • 1B ist eine Ansicht (2) zur Erklärung der gewöhnlichen Technologie;
  • 1C ist eine Ansicht (3) zur Erklärung der gewöhnlichen Technologie;
  • 1D ist eine Ansicht (4) zur Erklärung der gewöhnlichen Technologie;
  • 1E ist eine Ansicht (5) zur Erklärung der gewöhnlichen Technologie;
  • 1F ist eine Ansicht (6) zur Erklärung der gewöhnlichen Technologie;
  • 1G ist eine Ansicht (7) zur Erklärung der gewöhnlichen Technologie;
  • 1H ist eine Ansicht (8) zur Erklärung der gewöhnlichen Technologie;
  • 2A zeigt das Prinzip (1) der vorliegenden Erfindung;
  • 2B zeigt das Prinzip (2) der vorliegenden Erfindung;
  • 3 zeigt das Prinzip (3) der vorliegenden Erfindung;
  • 4 zeigt das Prinzip (4) der vorliegenden Erfindung;
  • 5 zeigt das Überprüfungsgerät gemäß einer Ausführungsform der vorliegenden Erfindung;
  • 6 zeigt ein praktisches Beispiel des Überprüfungsgeräts gemäß einer Ausführungsform der vorliegenden Erfindung;
  • 7 ist ein Verfahrensflußdiagramm gemäß der Ausführungsform 1 der vorliegenden Erfindung;
  • 8 ist ein Verfahrensflußdiagramm gemäß der Ausführungsform 2 der vorliegenden Erfindung;
  • 9 ist ein Verfahrensflußdiagramm gemäß der Ausführungsform 3 der vorliegenden Erfindung;
  • 10 ist ein Verfahrensflußdiagramm gemäß der Ausführungsform 4 der vorliegenden Erfindung.
  • Beschreibung der bevorzugten Ausführungsformen
  • Die vorliegende Erfindung wurde entwickelt, um die oben beschriebenen Probleme zu lösen, das Zustandssatzteilungsverfahren bei dem Symbolmodellüberprüfungsverfahren zu verwenden, eine Speicherkapazität zu verringern und eine komplizierte Logikvorrichtung zu überprüfen. Ausführungsformen der vorliegenden Erfindung sind unten detailliert mit Bezugnahme auf die beiliegenden Zeichnungen beschrieben.
  • 2A bis 4 sind Ansichten 1 bis 4 zur Erklärung der vorliegenden Erfindung. Die vorliegende Erfindung hat die folgende Anordnung, um die oben beschriebenen Ziele zu erreichen.
  • Ein Logikvorrichtungsüberprüfungsverfahren zum Überprüfen, ob eine Maschine endlicher Zustände, welche die Operation einer synchronen sequentiellen Maschine anzeigt, die Eigenschaft, welche die Funktionsspezifikation anzeigt, erfüllt oder nicht, schließt die Schritte ein: Wiederholen der Bildberechnung in der M und der Berechnung eines Satzprodukts mit q, wobei mit dem Zustandssatz p begonnen wird, wenn die Maschine endlicher Zustände M, der Untersatz q des Zustands der M, und der Untersatz p des q vorgegeben sind; und Überprüfen der Beziehung des Zustandssatzes des Berechnungsverfahrens. Im Ergebnis kann bestimmt werden, ob ein Zustandsübergangsweg, der immerwährend den q nicht überschreitet, vorhanden ist oder nicht, wobei mit einem bestimmten Zustand in dem p begonnen wird.
  • Jeder Verfahrensschritt wird unten mit Bezugnahme auf 2A beschrieben.
  • Wenn die Maschine endlicher Zustände M, der Untersatz q des Zustands der M (Zustandssatz q) und der Untersatz p des q in das Logikvorrichtungsüberprüfungsgerät eingegeben werden (S1), wird die Bildberechnung in der Maschine endlicher Zustände M (S2) durchgeführt, und wird die Satzproduktberechnung durchgeführt (S3). Während die Verfahren in S2 und S3 wiederholt durchgeführt werden, wird die Beziehung des Zustandssatzes des Berechnungsverfahrens durch den Vergleich eines Zustandssatzes (S4) überprüft. Somit wird bestimmt, ob ein Zustandsübergangsweg, der immerwährend nicht den q überschreitet, vorhanden ist oder nicht, wobei mit einem bestimmten Zustand in dem p begonnen wird.
  • Somit ist ein elementarer Algorithmus zum Teilen eines Zustandssatzes zur Berechnung in dem Verfahren des Bestimmens vorgesehen, ob ein Zustandsübergangsweg, der immerwährend nicht den q überschreitet, vorhanden ist oder nicht, wobei mit einem bestimmten Zustand in dem p begonnen wird. In den meisten Fällen einer Symbolmodellüberprüfung kann ein Zustandssatzteilungsverfahren verwendet werden. Deshalb kann eine Speicherkapazität verringert werden und eine komplizierte Logikvorrichtung überprüft werden.
  • Außerdem schließt ein Logikvorrichtungsüberprüfungsverfahren zum überprüfen, ob eine Maschine endlicher Zustände, welche die Operation einer synchronen sequentiellen Maschine anzeigt, die Eigenschaft erfüllt, welche die funktionelle Spezifikation anzeigt, die Schritte ein: Rekursives Wiederholen der Teilung eines Zustandssatzes, der Bildberechnung in der M, der Berechnung eines Zustandsprodukts mit q mit der Tiefe, die mit Priorität verarbeitet ist, wobei mit dem Zustandssatz p begonnen wird, wenn die Maschine endlicher Zustände M, der Untersatz q des Zustands der M und der Untersatz p des q vorgegeben sind; und Überprüfen des Berechnungsverfahrens. Im Ergebnis kann bestimmt werden, ob ein Zustandsübergangsweg, der immerwährend den q nicht überschreitet, vorhanden ist oder nicht, wobei mit einem bestimmten Zustand in dem p begonnen wird.
  • Jeder Verfahrensschritt wird unten mit Bezugnahme auf 2B beschrieben.
  • Wenn die Maschine endlicher Zustände M, der Untersatz q des Zustands der M und der Untersatz p (Zustandssatz p) der q in das Logikvorrichtungsüberprüfungsgerät eingegeben werden (S11), werden die Teilung eines Zustandssatzes (S12), die Bildberechnung in der M (S13), die Berechnung eines Satzprodukts mit q (S14), und der Zustandssatzvergleich (S15) wiederholt. Das heißt, die Teilung eines Zustandssatzes, die Bildberechnung in der M, die Berechnung eines Zustandssatzprodukts mit q mit der Tiefe, die mit Priorität verarbeitet ist, werden rekursiv wiederholt, wobei mit dem Zustandssatz p begonnen wird. Dann wird das Berechnungsverfahren durch den Zustandssatzvergleich wiederholt. Im Ergebnis kann bestimmt werden, ob Zustandsübergangswege, die immerwährend den q nicht überschreiten, vorhanden sind oder nicht, wobei mit einem bestimmten Zustand in dem p begonnen wird.
  • Wenn irgendeiner der oben beschriebenen Wege erfaßt werden kann, endet das Verfahren sofort. Wenn jedoch der Weg nicht vorhanden ist, wird eine Zurückverfolgungsbestimmung ausgeführt (S16). Wenn die Verfahrensbeendigungszustände nicht erfüllt sind, wird der geteilte und verbleibende Zustandssatz wieder verarbeitet, wobei mit dem Verfahren im Schritt S13 begonnen wird.
  • Somit wird ein Algorithmus zum Teilen eines Zustandssatzes für jede wiederholte Berechnung in dem Verfahren zum Bestimmen vorgesehen, ob ein Zustandsübergangsweg, der immerwährend den q nicht überschreitet, vorhanden ist oder nicht, wobei mit einem bestimmten Zustand in dem p begonnen wird. Deshalb kann eine Speicherkapazität durch das Teilen des Zustandssatzes verringert werden. Außerdem schließt ein Logikvorrichtungsüberprüfungsverfahren zum Überprüfen, ob eine Maschine endlicher Zustände, welche die Operation einer synchronen sequentiellen Maschine anzeigt, die Eigenschaft, welche die funktionelle Spezifikation anzeigt, erfüllt oder nicht, die Schritte ein: Wiederholen der Bildberechnung in der M, der Berechnung eines Satzprodukts durch q, wobei mit dem Zustandssatz p für jeden der Untersätze p1, p2, ... pn, die als p gesetzt sind, begonnen wird, wenn die Maschine M endlicher Zustände, der Untersatz q des Zustands der M, und der Untersatz p1, p2, ... pn des q vorgegeben sind, und Überprüfen der Beziehung des Zustandssatzes des Berechnungsverfahrens. Im Ergebnis kann bestimmt werden, ob ein Zustandsübergangsweg, der immerwährend den q nicht überschreitet, vorhanden ist oder nicht, wobei mit einem bestimmten Zustand in den p1 ∪ p2 ∪ p3 ... ∪ pn begonnen wird.
  • Jeder Verfahrensschritt wird unten mit Bezugnahme auf 3 beschrieben.
  • Wenn die Maschine endlicher Zustände M, der Untersatz q des Zustands der M und der Untersatz p1, p2, ... pn, (bereits geteilter Untersatz) des q in das Logikvorrichtungsüberprüfungsgerät eingegeben werden (S21), wird ein Startzustandssatz definiert, wobei die Untersätze p1, p2 ... pn individuell als p (Zustandssatz) gesetzt sind. Dann werden die Bildbe rechnung in der M (S23), die Berechnung eines Satzprodukts mit q (S24) und der Zustandssatzvergleich (S25) wiederholt, wobei mit dem Zustandssatz p begonnen wird.
  • Somit wird die Bildberechnung in der Maschine M endlicher Zustände für den definierten Startzustandssatz durchgeführt und dann das Satzprodukt mit q berechnet. Während die Verfahren in den Schritten S23 und S24 wiederholt durchgeführt werden, wird die Beziehung des Zustandssatzes in dem Berechnungsverfahren durch Vergleich überprüft, so daß bestimmt wird, ob Zustandsübergangswege, die immerwährend nicht den q überschreiten, vorhanden sind oder nicht.
  • Im Ergebnis, wenn irgendeiner der oben beschriebenen Wege erfaßt werden kann, endet das Verfahren sofort. Wenn der Weg jedoch nicht vorhanden ist, wird eine Startzustandssatzaktualisierungsbestimmung ausgeführt (S26). Wenn die Aktualisierung erforderlich ist, werden die Verfahren wiederholt, wobei mit dem Verfahren in Schritt S22 begonnen wird, das heißt, die Bildberechnung in der M, die Berechnung eines Satzprodukts mit q werden wiederholt, wobei mit dem Zustandssatz p begonnen wird, und die Beziehung des Zustandssatzes des Computerverfahrens wird geprüft. Im Ergebnis kann bestimmt werden, ob ein Zustandsübergangsweg, der immerwährend den q nicht überschreitet, vorhanden ist oder nicht, wobei mit einem bestimmten Zustand in den p1 ∪ p2 ∪ p3 ... ∪ pn begonnen wird.
  • Somit wird ein Algorithmus zum getrennten, nicht kollektiven Berechnen des p, wenn es in p1, p2, ..., pn unterteilt ist, in dem Verfahren des Bestimmens zugewiesen, ob ein Zustandsübergangsweg, der immerwährend nicht den q über schreitet, vorhanden ist oder nicht, wobei mit einem bestimmten Zustand in dem p begonnen wird. Deshalb kann in diesem Fall auch eine Speicherkapazität durch Teilen des Zustandssatzes verringert werden.
  • Außerdem schließt ein Logikvorrichtungsüberprüfungsverfahren zum Überprüfen, ob eine Maschine endlicher Zustände, welche die Operation einer synchronen sequentiellen Maschine anzeigt, die Eigenschaft, welche die funktionelle Spezifikation anzeigt, erfüllt oder nicht, die Schritte ein: Rekursives Wiederholen der Teilung eines Zustandssatzes, der Bildberechnung in der M und der Berechnung eines Satzprodukts mit q mit der Tiefe, die mit Priorität verarbeitet ist, wobei mit dem Zustandssatz p begonnen wird, wobei jeder der p1, p2 ... pn als p gesetzt ist, wenn die Maschine endlicher Zustände M, der Zustandssatz q des Zustands der Maschine M und der Untersatz p1, p2, ... pn des q vorgegeben sind; und Überprüfen der Beziehung des Zustandssatzes des Berechnungsverfahrens. Im Ergebnis kann bestimmt werden, ob ein Weg, der immerwährend den q nicht überschreitet, vorhanden ist oder nicht, wobei mit einem bestimmten Zustand in den p1 ∪ p2 ∪ p3 ... ∪ pn begonnen wird.
  • Jeder Verfahrensschritt wird unten mit Bezugnahme auf 4 beschrieben werden.
  • Wenn die Maschine endlicher Zustände M, der Untersatz q des Zustands der M, und der Untersatz p1, p2, ... pn (bereits durch den Untersatz geteilt) des q in das Logikvorrichtungsüberprüfungsgerät eingegeben werden (S31), wird ein Startzustandssatz mit dem Untersatz p1, p2, ... pn, der individuell als p (Zustandssatz) gesetzt ist, definiert. Dann werden die Teilung eines Zustandssatzes (S33), die Bildberechnung in der M (S34), die Berechnung eines Satzprodukts mit q (S35) mit der Tiefe, die mit Priorität verarbeitet ist, rekursiv wiederholt, wobei mit dem Zustandssatz p begonnen wird. Dann wird das Berechnungsverfahren durch den Zustandssatzvergleich (S36) geprüft. Im Ergebnis kann bestimmt werden, ob ein Weg, der den q immerwährend nicht überschreitet, vorhanden ist oder nicht, wobei mit einem bestimmten Zustand in den p1 ∪ p2 ∪ p3 ... ∪ pn begonnen wird. Wenn irgendeiner der oben beschriebenen Wege erfaßt werden kann, endet das Verfahren sofort. Wenn der Weg jedoch nicht vorhanden ist, wird eine Zurückverfolgungsbestimmung ausgeführt (S37). Wenn die Verfahrensbeendigungsbedingungen nicht erfüllt sind, wird der geteilte und verbleibende Zustandssatz wieder verarbeitet, wobei mit dem Verfahren in S34 begonnen wird. Wenn irgendeiner der oben beschriebenen Wege erfaßt werden kann, endet das Verfahren sofort. Wenn jedoch der Weg nicht vorhanden ist, wird eine Startzustandssatzaktualisierungsbestimmung (S38) ausgeführt, wenn die Verfahrensbeendigungszustände erfüllt sind, und werden die Verfahren wiederholt, wobei mit dem Verfahren im Schritt S32 begonnen wird, bis die Startzustandssatzaktualisierung nicht erforderlich ist. Wenn jedoch irgendeiner der oben beschriebenen Wege erfaßt werden kann, endet das Verfahren sofort.
  • Somit wird ein Algorithmus zum getrennten, nicht kollektiven Berechnen des p, wenn es in p1, p2, ... pn unterteilt ist, in dem Verfahren des Bestimmens zugewiesen, ob ein Zustandsübergangsweg, der den q immerwährend nicht überschreitet, vorhanden ist oder nicht, wobei mit einem bestimmten Zustand in dem p begonnen wird. In diesem Fall kann deshalb auch eine Speicherkapazität durch weiteres Teilen des Zustandssatzes während der Berechnung verringert werden.
  • Ein Logikvorrichtungsüberprüfungsgerät zum Überprüfen, ob eine Maschine endlicher Zustände, welche die Operation einer synchronen sequentiellen Maschine anzeigt, die Eigenschaft erfüllt, welche die funktionelle Spezifikation anzeigt, schließt außerdem ein eine Eingabeeinheit zum Eingeben einer Maschine endlicher Zustände M und eine Eigenschaft, die sich auf die M bezieht, eine Ausgabeeinheit zum Ausgeben eines Überprüfungsergebnisses; eine Operationseinheit zur Zustandsübergangsbestimmung zum Erhalten eines Zustandssatzes, der in einem einzigen Zustandsübergang von einem Element eines Zustandssatzes p erreichbar ist; eine Operationseinheit zur Erreichbarkeitsbestimmung zum Erhalten eines erreichbaren Zustandssatzes durch ein Element eines Zustandssatzes q von einem Element des Zustandssatzes p; eine Operationseinheit zur Schleifenbestimmung zum Beginnen eines bestimmten Zustands in p und zum Bestimmen, ob es einen Weg eines Zustandsübergangs, der q nicht überschreitet, gibt oder nicht; und eine Steuerungseinheit zum Teilen des Zustandssatzes, die jede der oben beschriebenen Operationseinheiten aufruft, und zum Erhalten eines Weg eines Zustandsübergangs, welcher der Eigenschaft entspricht.
  • Wenn die Maschine endlicher Zustände M und die Eigenschaft, die sich auf das M bezieht, in das Logikvorrichtungsüberprüfungsgerät eingegeben werden, empfängt die Eingabeeinheit die Eingangsdaten und übermittelt die Eingegebenen Daten an die Steuerungseinheit nach dem Teilen der Eingegebenen Daten, wenn die vorläufige Teilung erforderlich ist. Wenn jedoch die vorläufige Teilung nicht erforderlich ist, werden die Daten, so wie sie sind, direkt an die Steuerungseinheit übermittelt.
  • Dann teilt die Steuerungseinheit den Zustandssatz, wenn sie die eingegebenen Daten empfängt, ruft jede der Operationseinheiten auf und gibt das Überprüfungsergebnis an die Überprüfungsergebnisausgabeeinheit aus, das durch ein Überprüfungsverfahren erhalten wurde. Zu dieser Zeit, wenn die Operationseinheit zur Zustandsübergangsbestimmung aufgerufen wird, wird eine Operation des Erhaltens eines Zustandssatzes, der von einem Element des Zustandssatzes p in einem Zustandsübergangsverfahren erreichbar ist, durchgeführt, und das Operationsergebnis wird an die Steuerungseinheit zurückgegeben.
  • Wenn die Operationseinheit zur Erreichbarkeitsbestimmung aufgerufen wird, wird eine Operation zum Erhalten eines Zustandssatzes, der von einem Element des Zustandssatzes p durch ein Element des Zustandssatzes q erreichbar ist, ausgeführt, und wird das Operationsergebnis an die Steuerungseinheit zurückgegeben. Wenn die Operationseinheit zur Schleifenbestimmung aufgerufen wird, wird außerdem eine Operation ausgeführt, um zu bestimmen, ob ein Zustandsübergangsweg, der den q immerwährend nicht überschreitet, vorhanden ist oder nicht, wobei mit einem bestimmten Zustand in dem p begonnen wird. Das Operationsergebnis wird an die Steuerungseinheit zurückgegeben.
  • Somit kann ein Zustandssatzteilungsverfahren bei dem Symbolmodellüberprüfungsverfahren verwendet werden. Deshalb kann eine Speicherkapazität verringert werden und eine komplizierte Logikvorrichtung überprüft werden.
  • Außerdem speichert ein Speichermedium ein Programm in einem Überprüfungsverfahren zum Überprüfen, ob eine Maschine endlicher Zustände, welche die Operation einer synchronen sequentiellen Maschine anzeigt, die Eigenschaft, welche die funktionelle Spezifikation anzeigt, erfüllt oder nicht, um die Bildberechnung in den M, die Berechnung eines Satzprodukts mit q zu wiederholen, wobei mit dem Zustandssatz p begonnen wird, wenn die Maschine endlicher Zustände M, der Untersatz q des Zustands der M und der Untersatz p des q vorgegeben sind, und die Zustandssatzbeziehung des Berechnungsverfahrens zu überprüfen. Im Ergebnis kann bestimmt werden, ob ein Zustandssatzübergangsweg, der den q immerwährend nicht überschreitet, vorhanden ist oder nicht, wobei mit einem bestimmten Zustand in dem p begonnen wird.
  • Ein Verfahren, das jedem der Verfahrensschritte (S1 bis S4) ähnlich ist, das oben mit Bezugnahme auf 2A beschrieben wurde, kann durch Lesen und Ausführen des Programms umgesetzt werden, das in dem oben beschriebenen Speichermedium gespeichert ist. Das heißt, in einem Logikvorrichtungsüberprüfungsgerät zum Überprüfen, ob eine Maschine endlicher Zustände, welche die Operation einer synchronen sequentiellen Maschine anzeigt, die Eigenschaft, welche die funktionelle Spezifikation anzeigt, erfüllt oder nicht, werden die Bildberechnung in der M, die Berechnung eines Satzprodukts mit q wiederholt, wobei mit dem Zustandssatz p begonnen wird, wenn die Maschine endlicher Zustände M, der Untersatz q des Zustands der M und der Untersatz p der q vorgegeben sind. Dann wird die Zustandssatzbeziehung des Berechnungsverfahrens überprüft. Im Ergebnis kann bestimmt werden, ob ein Zustandsübergangsweg, der den q immerwährend nicht überschreitet, vorhanden ist oder nicht, wobei mit einem bestimmten Zustand in dem p begonnen wird.
  • In dem Verfahren zum Bestimmen, ob ein Zustandsübergangsweg, der den q immerwährend nicht überschreitet, vor handen ist oder nicht, ist somit ein elementarer Algorithmus zum Teilen eines Zustandssatzes zur Berechnung vorgesehen, wobei mit einem bestimmten Zustand in dem p begonnen wird. In den meisten Fällen einer Symbolmodellüberprüfung kann ein Zustandssatzteilungsverfahren verwendet werden.
  • Für die oben beschriebene Anordnung werden die folgenden Merkmale erhalten. Das heißt, in einem Logikvorrichtungsüberprüfungsgerät werden die Bildberechnung in der M und die Berechnung eines Satzprodukts mit q wiederholt, wobei mit dem Zustandssatz p begonnen wird, wenn die Maschine endlicher Zustände M und der Untersatz q des Zustands der M und der Untersatz p des q vorgegeben sind. Dann wird die Beziehung des Zustandssatzes des Berechnungsverfahrens überprüft. Im Ergebnis kann bestimmt werden, ob ein Zustandsübergangsweg, der den q immerwährend nicht überschreitet, vorhanden ist oder nicht, wobei mit einem bestimmten Zustand in dem p begonnen wird.
  • Deshalb kann in den meisten Fällen einer Symbolmodellprüfung ein Zustandssatzteilungsverfahren verwendet werden. In dem Zustandssatzteilungsverfahren kann das Überprüfungsverfahren auf einer komplizierten Logikvorrichtung durchgeführt werden, deren Speicherkapazität seine Grenze für ein gewöhnliches Verfahren erreicht. Dieses Problem der Speicherkapazität ist ernst, weil es die Ausführbarkeit einer Symbolmodellüberprüfung betrifft, und die vorliegende Erfindung trägt zu der Umsetzung dieser Ausführbarkeit bei.
  • Bei der anfänglichen Stufe der Teilungsoperation können außerdem negative oder positive Beispiele erfaßt werden. Bei der anfänglichen Stufe der Logiküberprüfung, bei der eine Anzahl von fehlerhaften Entwürfen erfaßt werden können, kann deshalb zum Beispiel ein fehlerhaftes Design gemäß der vorliegenden Erfindung schneller als für ein Verfahren erfaßt werden, das ohne die Teilungsoperation befolgt wird.
  • 5 ist eine Ansicht zur Erklärung des Geräts zum Überprüfen einer Logikvorrichtung. Dieses Gerät ist ein Beispiel eines Logikvorrichtungsüberprüfungsgeräts (auf das auch einfach als Überprüfungsgerät Bezug genommen wird), um zu Überprüfen, ob eine Maschine endlicher Zustände, welche die Operation einer synchronen sequentiellen Maschine anzeigt, die Eigenschaft erfüllt, welche die funktionelle Spezifikation anzeigt.
  • Das Überprüfungsgerät umfaßt eine Eigenschaftseingabeeinheit, das heißt, eine Maschine endlicher Zustände zum Eingeben einer Maschine endlicher Zustände M und der Eigenschaft, die sich auf die M bezieht; eine Überprüfungsergebnisausgabeeinheit 3 zum Ausgeben eines Überprüfungsergebnisses; eine Operationseinheit zur Zustandsübergangsbestimmung 4 zum Erhalten eines Zustandssatzes, der in einem Zustandsübergangsverfahren von einem Element eines Zustandssatzes p erreichbar ist; eine Operationseinheit zur Erreichbarkeitsbestimmung 6 zum Erhalten eines Zustandssatzes, der von einem Element des Zustandssatzes p durch ein Element eines Zustandssatzes q erreichbar ist; eine Operationseinheit zur Schleifenbestimmung 5 zum Bestimmen, ob ein Zustandsübergangsweg, der den q immerwährend nicht überschreitet, vorhanden ist oder nicht, wobei mit einem bestimmten Zustand in dem p begonnen wird; und eine Zustandssatzteilungs- und Operationseinheitsaufrufsteuerungseinheit 2 zum Aufrufen von jeder der Operationseinheiten, während ein Zustandssatz geteilt wird, und zum Erhalten eines Zustandssatzübergangswegs, welcher der Eigenschaft entspricht. Außerdem ist die Eigenschaftseingabeeinheit 1, das heißt, die Maschine endlicher Zustände, mit einer Teilungseinheit zum vorläufigen Teilen eingegebener Daten versehen.
  • Wenn die Maschine endlicher Zustände M und die Eigenschaft, die sich auf die M bezieht, eingegeben werden, empfängt die Eigenschaftseingabeeinheit 1 die eingegebenen Daten und übermittelt die eingegebenen Daten an die Zustandssatzteilungs- und Operationseinheitsaufrufsteuerungseinheit 2 nach dem Teilen der eingegebenen Daten durch die Teilungseinheit 7, wenn die vorläufige Teilung erforderlich ist. Wenn jedoch die vorläufige Teilung nicht erforderlich ist, werden die Daten, wie sie sind, direkt zu der Steuerungseinheit 2 übermittelt.
  • Dann teilt die Zustandssatzteilungs- und Operationseinheitsaufrufsteuerungseinheit 2 den Zustandssatz, wenn er die eingegebenen Daten empfängt, ruft jede der Operationseinheiten 4, 5 und 6 auf und gibt das Überprüfungsergebnis, das durch ein Überprüfungsverfahren erhalten wurde, an die Überprüfungsergebnisausgabeeinheit 3 aus. Zu dieser Zeit, wenn die Operationseinheit zur Zustandsübergangsbestimmung 4 (auf die durch das Referenzdokument 12 Bezug genommen wird) aufgerufen wird, wird eine Operation zum Erhalten eines Zustandssatzes, der von einem Element des Zustandssatzes p in einem Zustandssatzübergangsverfahren erreichbar ist, durchgeführt, und das Operationsergebnis wird an die Steuerungseinheit 2 zurückgegeben.
  • Wenn die Operationseinheit zur Erreichbarkeitsbestimmung 6 (mit Bezug auf das Referenzdokument 12) aufgerufen wird, wird eine Operation zum Erhalten eines Zustandssatzes, der von einem Element des Zustandssatzes p durch ein Element des Zustandssatzes q erreichbar ist, durchgeführt, und das Operationsergebnis wird an die Steuerungseinheit 2 zurückgegeben. Wenn außerdem die Operationseinheit zur Schleifenbestimmung 5 aufgerufen wird, wird eine Operation durchgeführt, um zu bestimmen, ob ein Zustandsübergangsweg, der den q immerwährend nicht überschreitet, vorhanden ist oder nicht, wobei mit einem bestimmten Zustand in dem p begonnen wird. Das Operationsergebnis wird an die Steuerungseinheit 2 zurückgegeben.
  • Die oben beschriebene Eigenschaftseingabeeinheit 1, die Steuerungseinheit 2, die Überprüfungsergebnisausgabeeinheit 3, die Operationseinheit zur Zustandsübergangsbestimmung 4, die Operationseinheit zur Schleifenbestimmung 5 und die Operationseinheit zur Erreichbarkeitsbestimmung 6 führen die Verfahren durch die Ausführung der Programme durch. Insbesondere schließen die Zustandsübergangbestimmungsoperationseinheit 4, die Operationseinheit zur Schleifenbestimmung 5 und die Operationseinheit zur Erreichbarkeitsbestimmung 6 Unterroutinen ein. Das heißt, das Überprüfungsverfahren wird durch Aufrufen von jeder der Unterroutinen durchgeführt, falls erforderlich.
  • Die Verfahren FindTrans() und FindTrail(), die bei den Verfahren durch das Eigenschaftsüberprüfungsgerät (auf das in Tokuganhei 8-220005 Bezug genommen wird) verwendet werden, das als gewöhnliche Technologie beschrieben wird, werden entsprechend als ein Zustandsübergangsbestimmungsverfahren durch die Operationseinheit zur Zustandsübergangsbestimmung 4 und ein Erreichbarkeitsbestimmungsverfahren durch die Operationseinheit zur Erreichbarkeitsbestimmung 6 durchgeführt. Statt der Bestimmung, ob ein Wert, der durch FindLoop() zurückgegeben wird, leer ist, wird das Verfahren in der Ausführungsform 3 oder 4, das unten beschrieben ist, als das Schleifenbestimmungsverfahren durch die Operationseinheit zur Schleifenbestimmung 5 verwendet.
  • Außerdem ist es nicht notwendig, vorläufig alle Zustandssätze p1, p2, ... pn in der Ausführungsform 3 oder 4, die unten beschrieben werden, zuzuweisen. Das Verfahren der Ausführungsform 3 oder 4 gemäß der vorliegenden Erfindung kann im voraus ausgeführt werden, wenn ein Untersatz eines Rückgabewerts während der Berechnung von FindTrans() und FindTrail() erhalten wird. Wenn ein Zustandsübergangsweg, der überprüft werden soll, erfaßt wird, kann das Überprüfungsverfahren bei einer frühen Stufe abbrechen.
  • 6 zeigt ein praktisches Beispiel des Überprüfungsgeräts. Das Überprüfungsgerät, das in 6 gezeigt ist, ist ein Beispiel des Geräts, das als das Überprüfungsgerät ausgebildet ist, das in 5 gezeigt ist. In jeder der unten beschriebenen Ausführungsformen wird das Überprüfungsverfahren durch dieses Überprüfungsgerät durchgeführt.
  • Das Überprüfungsgerät, das in 5 gezeigt ist, ist eine Einrichtung, die durch unterschiedliche Computer wie einen technischen Arbeitsplatzrechner, einen Personalcomputer, usw. umgesetzt wird. Die Vorrichtung schließt ein Hauptteil eines Computers 11, eine Anzeigeeinrichtung 12, die mit dem Hauptteil des Computers 11 verbunden ist, eine Eingabeeinrichtung 13, eine Ausgabeeinrichtung 14, eine Festplatteneinrichtung (HDD) 15 usw. ein. Der Hauptteil des Computers 11 schließt eine Eingabe/Ausgabe-Steuerungseinheit 16, eine CPU 17, einen Speicher 18, usw. ein.
  • Das Speichermedium der Festplatteneinrichtung 15 speichert ein Programm zum Überprüfen einer Logikeinrichtung (Programm zum Umsetzen von jeder Einheit, die in 5 gezeigt ist), weitere Programme, Daten, die überprüft werden sollen, weitere unterschiedliche Daten, usw. ein. Wenn eine Logikeinrichtung überprüft wird, werden die Daten und Programme, die auf dem Speichermedium der Festplatteneinrichtung 15 gespeichert sind, gelesen und in das Hauptteil des Computers 11 durch die Steuerung der CPU 17 geholt, und die CPU 17 führt die Programme aus, um notwendige Verfahren durchzuführen.
  • Der Speicher 18 wird durch die CPU 17, die in einem Verfahren arbeitet, verwendet. Die Programme und Daten, die auf dem Speichermedium der Festplatteneinrichtung 15 gespeichert sind, werden zum Beispiel wie folgt gespeichert.
    • (1): Daten (durch eine weitere Einrichtung erzeugt, die auf einer biegbaren Diskette (Floppy Disc) gespeichert sind, werden durch eine Antriebseinrichtung gelesen, die in dem Hauptteil des Computers 11 vorgesehen ist, und auf dem Speichermedium der Festplatteneinrichtung 15 gespeichert.
    • (2): Daten, die auf einem Speichermedium wie einer magnetooptischen Disk oder CD-ROM, usw. gespeichert sind, werden durch eine Antriebseinrichtung gelesen, die in den Hauptteil des Computers 11 vorgesehen ist, und auf dem Speichermedium der Festplatteneinrichtung 15 gespeichert.
    • (3): Daten, die von einer weiteren Einrichtung durch eine Kommunikationsleitung eines LAN usw. übermittelt werden, werden durch das Hauptteil des Computers 11 empfangen und auf dem Speichermedium der Festplatteneinrichtung 15 gespeichert.
  • Dieses Überprüfungsgerät schließt ein eine Eingabeeinheit zum Eingeben einer Maschine M endlicher Zustände und einer Eigenschaft, die sich auf die M bezieht; eine Ausgabeeinheit zum Ausgeben eines Überprüfungsergebnisses; eine Operationseinheit zur Zustandsübergangsbestimmung zum Erhalten eines Zustandssatzes, der in einem einzelnen Zustandsübergang von einem Element eines Zustandssatzes p erreichbar ist; eine Operationseinheit zur Erreichbarkeitsbestimmung zum Erhalten eines erreichbaren Zustandssatzes durch ein Element eines Zustandssatzes q von einem Element des Zustandssatzes p; eine Operationseinheit zur Schleifenbestimmung zum Beginnen mit einem bestimmten Zustand in p, und Bestimmen, ob es einen Weg eines Zustandsübergangs, der q nicht überschreitet, gibt oder nicht, und eine Steuerungseinheit zum Teilen des Zustandssatzes, Aufrufen von jeder der oben beschriebenen Operationseinheiten und Erhalten eines Wegs eines Zustandsübergangs, welcher der Eigenschaft entspricht.
  • Somit kann jede Operationseinheit aufgerufen werden, während ein Zustandssatz geteilt wird, um einen Zustandsübergangsweg zu erhalten, welcher der Eigenschaft entspricht. Somit kann das Zustandssatzteilungsverfahren verwendet werden, und kann das Überprüfungsverfahren auf einer komplizierten Logikeinrichtung durchgeführt werden, deren Speicherkapazität bei einem gewöhnlichen Verfahren seine Grenze erreicht.
  • 7 ist ein Verfahrensflußdiagramm gemäß der Ausführungsform 1 der vorliegenden Erfindung. Das Verfahren in der Ausführungsform 1 wird mit Bezugnahme auf 7 beschrieben. Dieses Verfahren wird durch das Überprüfungsgerät durchgeführt, das in 5 und 6 gezeigt ist. S51 bis S58 zeigen die Verfahrensschritte an. Image(a) ist eine Funktion zur Verwendung bei der Bildberechnung für den Zustand, der in der Maschine M endlicher Zustände eingestellt ist, und i ist ein optionaler Parameter.
  • In einem Logikvorrichtungsüberprüfungsverfahren zum Überprüfen, ob eine Maschine endlicher Zustände, welche die Operation einer synchronen sequentiellen Maschine anzeigt, die Eigenschaft, welche die funktionelle Spezifikation anzeigt, erfüllt oder nicht, werden die Bildberechnung in der M und die Berechnung eines Satzprodukts durch q wiederholt, wobei mit dem Zustandssatz p begonnen wird, wenn die Maschine M endlicher Zustände, der Untersatz q des Zustands der M und der Untersatz p des q (Zustandssatz p) vorgegeben sind. Dann wird die Zustandssatzbeziehung des Berechnungsverfahrens überprüft. Im Ergebnis kann beginnend mit einem bestimmten Zustand in p bestimmt werden, ob ein Zustandsübergangsweg, der immerwährend den q nicht überschreitet, vorhanden ist oder nicht.
  • Wenn a[i] ein leerer Satz durch Wiederholen der Operation von a[i] ← Image(a[i-1]) ∪ q in dem oben beschriebenen Verfahren wird, wird q notwendigerweise überschritten, wenn ein Zustand in dem p beginnt. Wenn k a[k] ⊆ (a[k+1] ∪ a[k+2] ∪ ... ∪ a[i]) erfüllt, zeigt es an, daß a[k] immer durch ein Element des q läuft und irgendein Element des a[k] erreicht, wenn a[k] die Zeit von irgendeinem Element zurückverfolgt.
  • Das heißt, es wird angezeigt, daß die Schleife, die durch ein Element von a[k] durchläuft, den q überschreitet, und daß ein Weg von einem Zustandsübergang durch einen Zustand in a[k] durchläuft und immerwährend den q nicht überschreitet, wobei mit einem bestimmten Zustand in dem p begonnen wird. Unten ist das Überprüfungsverfahren beschrieben.
  • Wenn die Maschine M endlicher Zustände, der Untersatz q des Zustands der M und der Untersatz p der q eingegeben werden (S51), definiert das Initialisierungsverfahren a[0] ← p, i ← 0 (S52). Dann wird i erhöht (i ← i+1) (S53), und die Operation der Bildberechnung in der M und das Satzprodukt mit q, d.h. a[i] ← Image(a[i-1]) ∩ q werden durchgeführt (S54).
  • Dann wird bestimmt, ob a[i] ein leerer Satz ist oder nicht (S55). Wenn es kein leerer Satz ist, dann wird bestimmt, ob k (0 ≤ k ≤ i-1) a[k] ⊆ (a[k+1] ∪ a[k+2] ∪ ... ∪ a[i]) erfüllt ist oder nicht (S56). Im Ergebnis werden dann, wenn k a[k] ⊆ (a[k+1] ∪ a[k+2] ∪ ... ∪ a[i]) nicht erfüllt, die Verfahren von dem Schritt S53 wiederholt.
  • Das heißt, der Untersatz p, der in dem Schritt S51 eingegeben wird, wird als ein anfänglicher Zustandssatz im Schritt S52 definiert.
  • Dann wird der anfängliche Zustandssatz als ein Vorverfahrenszustandssatz definiert und wird in den Schritten S54 und S55 überprüft, ob das Satzprodukt des Nachverfahrenszustandssatzes, das als ein Ergebnis der Bildberechnung erhalten wurde, die mit dem oben beschriebenen Vorverfahrenszu standssatz und dem oben beschriebenen Untersatz q durchgeführt wurde, ein leerer Satz ist oder nicht. Das heißt, es wird überprüft, ob ein Teil der Nachverfahrenzustandssätze, die als ein Ergebnis der oben beschriebenen Bildberechnung erhalten wurden, in dem oben beschriebenen Untersatz q enthalten sind oder nicht. Wenn das Satzprodukt im Schritt S55 ein leerer Satz ist, dann sind keine der Zustandssätze, die als ein Ergebnis der Bildberechnung erhalten wurden, in dem Untersatz q enthalten, und kein Weg kann erfaßt werden.
  • Wenn das oben beschriebene Satzprodukt im Schritt S55 kein leerer Satz ist, d.h. wenn ein Teil des Nachverfahrenszustandssatzes, der ein Ergebnis einer Bildberechnung ist, in dem oben beschriebenen Untersatz q enthalten ist, dann wird im Schritt S56 überprüft, ob ein Vorverfahrenszustandssatz in den Nachverfahrenszustandssätzen vorhanden ist oder nicht. Falls ja, ist ein Zustandsübergangsweg, der immerwährend einen Zustandssatz q nicht überschreitet, vorhanden.
  • Im Schritt S56, wenn kein Vorverfahrenszustandssatz in dem Nachverfahrenszustandssatz vorhanden ist, werden die Verfahren in und nach dem Schritt S54 mit dem oben beschriebenen Verfahrenszustandssatz wiederholt, der als ein Vorverfahrenszustandssatz definiert ist.
  • In dem zweiten oder darauffolgenden Schritt S56, der in dem Wiederholungsverfahren durchgeführt wird, wird auch überprüft, ob ein älterer Vorverfahrenssatz in dem Nachverfahrenzustandssatz im Schritt S56 vorhanden ist oder nicht, zusätzlich zu der Überprüfung, ob ein Vorverfahrenszustandssatz in dem Nachverfahrenszustandsverfahren vorhanden ist oder nicht.
  • Zum Beispiel wird zu der Zeit, wenn das Verfahren im Schritt S56 dreimal durchgeführt ist, in dem ersten Schritt S56 überprüft, ob der erste Vorverfahrenszustandssatz a[0], welcher der anfängliche Zustandssatz ist, in dem ersten Nachverfahrenszustandssatz a[1] vorhanden ist oder nicht. In dem zweiten Schritt S56 wird überprüft, ob der zweite Vorverfahrenszustandssatz a[1] in dem zweiten Nachverfahrenszustandssatz a[2] vorhanden ist oder nicht. Zusätzlich wird auch überprüft, ob der erste Nachverfahrenszustandssatz a[0] in dem Summensatz des ersten Nachverfahrenszustandssatzes a[1] und des zweiten Nachverfahrenszustandssatzes a[2] vorhanden ist oder nicht. In dem dritten Schritt S56 wird überprüft, ob der dritte Vorverfahrenszustandssatz a[2] in dem dritten Nachverfahrenszustandssatz a[3] vorhanden ist oder nicht. Zusätzlich wird auch überprüft, ob der zweite Vorverfahrenszustandssatz a[1] in dem Summensatz des zweiten Vorverfahrenszustandssatzes a[2] und des dritten Nachverfahrenszustandssatzes a[3] vorhanden ist oder nicht. Es wird auch überprüft, ob der erste Vorverfahrenszustandssatz a[0] in dem Summensatz des ersten Nachverfahrenszustandssatzes a[1], des zweiten Nachverfahrenszustandssatzes a[2] und des dritten Nachverfahrenszustandssatzes a[3] vorhanden ist oder nicht.
  • Wenn k a[k] ⊆ (a[k+1] ∪ a[k+2] ∪ ... ∪ a[i]) erfüllt, dann wird angezeigt, daß ein Weg eines Zustandsübergangs mit einem bestimmten Zustand in dem p beginnt und immerwährend den q nicht überschreitet. Deshalb endet das Überprüfungsverfahren (S57). Wenn jedoch in dem Verfahren in Schritt S55 bestimmt wird, daß ein a[i] ein leerer Satz ist, dann wird angezeigt, daß es keinen Weg eines Zustandsübergangs gibt, der mit einem bestimmten Zustand in dem p beginnt und immer während den q nicht überschreitet. Deshalb endet das Überprüfungsverfahren (S58).
  • In dem oben beschriebenen Verfahren zum Bestimmen, ob ein Zustandsübergangsweg, der immerwährend den q nicht überschreitet, vorhanden ist oder nicht, ist ein elementarer Algorithmus zum Teilen eines Zustandssatzes zur Berechnung vorgesehen, wobei mit einem bestimmten Zustand in dem p begonnen wird.
  • Die Ausführungsform 1 wiederholt die Bildberechnung in dem M und die Berechnung eines Satzprodukts mit q, wobei mit dem Zustandssatz p begonnen wird, wenn die Maschine M endlicher Zustände, der Untersatz q des Zustands der M und der Untersatz p des q vorgegeben sind. Dann wird die Beziehung des Zustandssatzes des Berechnungsverfahrens überprüft. Im Ergebnis kann bestimmt werden, ob ein Zustandsübergangsweg, der immerwährend den q nicht überschreitet, vorhanden ist oder nicht, wobei mit einem bestimmten Zustand in dem p begonnen wird.
  • Somit ist ein elementarer Algorithmus zum Teilen eines Zustandssatzes zur Berechnung in dem Verfahren des Bestimmens vorgesehen, ob ein Zustandsübergangsweg, der immerwährend den q nicht überschreitet, vorhanden ist oder nicht, wobei mit einem bestimmten Zustand in dem p begonnen wird. In den meisten Fällen einer Symbolmodellüberprüfung kann ein Zustandssatzteilungsverfahren verwendet werden. Deshalb kann eine Speicherkapazität verringert werden, und kann eine komplizierte Logikvorrichtung überprüft werden.
  • In dem Zustandssatzteilungsverfahren kann das Überprüfungsverfahren auf einer komplizierten Logikvorrichtung durchgeführt werden, deren Speicherkapazität bei einem gewöhnlichen Verfahren seine Grenze erreicht. Das Problem der Speicherkapazität ist ernst, weil es die Ausführbarkeit einer Symbolmodellüberprüfung betrifft, und die vorliegende Erfindung trägt zu der Umsetzung dieser Ausführbarkeit bei.
  • Außerdem können bei der anfänglichen Stufe der Teilungsoperation negative oder positive Beispiele erfaßt werden. Bei der anfänglichen Stufe der Logiküberprüfung, bei der eine Anzahl von fehlerhaften Entwürfen erfaßt werden kann, kann deshalb zum Beispiel ein fehlerhafter Entwurf gemäß der vorliegenden Erfindung schneller als bei einem Verfahren erfaßt werden, das ohne die Teilungsoperation befolgt wird.
  • 8 ist ein Verfahrensflußdiagramm gemäß der Ausführungsform 2 der vorliegenden Erfindung. Das Verfahren gemäß der Ausführungsform 2 wird unten mit Bezugnahme auf 8 beschrieben. Dieses Verfahren wird durch das Überprüfungsgerät durchgeführt, das in 5 und 6 gezeigt ist. S61 bis S74 zeigen die Verfahrensschritte an. Image(a) ist eine Funktion zur Verwendung bei der Bildberechnung für den Zustandssatz a in einer Maschine M endlicher Zustände, und i ist ein optionaler Parameter.
  • Bei einem Logikvorrichtungsüberprüfungsverfahren, zum Überprüfen, ob eine Maschine endlicher Zustände, welche die Operation einer synchron sequentiellen Maschine anzeigt, die Eigenschaft, welche die funktionale Spezifikation anzeigt, erfüllt oder nicht, werden die Zustandssatzteilung, die Bildberechnung in der M und die Berechnung eines Satzprodukts mit q rekursiv mit der Tiefe wiederholt, die mit Priorität verarbeitet ist, wobei mit dem Zustandssatz p begonnen wird, wenn die Maschine endlicher Zustände M, der Untersatz q des Zustands der M und der Untersatz p des q vorgegeben sind. Dann wird die Zustandssatzbeziehung des Berechnungsverfahrens überprüft. Im Ergebnis kann bestimmt werden, ob ein Zustandsübergangsweg, der immerwährend den q nicht überschreitet, vorhanden ist oder nicht, wobei mit einem bestimmten Zustand begonnen wird.
  • In diesem Verfahren ist a[i] = t eingestellt, und ist t in zwei Teile unterteilt. Einer ist als ein neues a[i] eingestellt und der andere ist als ein t in einem Stapel gespeichert. Das neue a[i] wird nach der Teilung in dem Überprüfungsverfahren verarbeitet. Das Überprüfungsverfahren wird auf dem neuen a[i] wiederholt durchgeführt, und es wird bestimmt, ob der oben beschriebene Weg vorhanden ist oder nicht.
  • Wenn der oben beschriebene Weg in dem neuen a[i] erfaßt wird, endet das Verfahren, wenn jedoch der Weg nicht erfaßt werden kann, dann wird das andere t, das in dem Stapel gespeichert ist, wieder aufgefunden, wird das ähnliche Überprüfungsverfahren mit dem t als ein neues a[i] durchgeführt und wird bestimmt, ob der Weg vorhanden ist oder nicht. Das praktische Verfahren wird wie folgt durchgeführt.
  • Wenn die Maschine M endlicher Zustände, der Untersatz q des Zustands der M und der Untersatz p der q eingegeben werden (S61), definiert das Initialisierungsverfahren a[0] ← p, i ← 0 (S62). Dann wird t ← a[i] gesetzt (S63), das t wird in die zwei Teile unterteilt, a[i] wird für t (a[i] ≠ ⌀) ersetzt (S64). Das heißt, a[i] wird als ein t eingestellt, das t wird in zwei Teile geteilt, und einer der zwei Teile wird als a[i] eingestellt. Deshalb sind die geteilten zwei Teile ein neues a[i] und das verbleibende t.
  • Es wird dann bestimmt, ob das t ein leerer Satz (S65) ist oder nicht. Wenn das t kein leerer Satz ist, wird der gegenwärtige Wert in den Stapel (S66) gespeichert. Wenn t ein leerer Satz ist, wird keine Handlung unternommen. Somit wird das folgende Verfahren mit dem neu geteilten und neuen a[i] durchgeführt. Das andere t wird in den Stapel gespeichert, wenn es kein leerer Satz ist. Wenn nötig, wird es nach dem Verfahren des neuen a[i] wieder aufgefunden.
  • Wenn das Verfahren mit dem neuen a[i] durchgeführt wird, dann wird i erhöht (i ← i+1) (S67), und die Operation der Bildberechnung in der M und das Satzprodukt mit q, d.h. a[i] ← Image(a[i-1]) ∩ q wird durchgeführt (S68).
  • Dann wird bestimmt, ob a[i] ein leerer Satz ist oder nicht (S69). Wenn es kein leerer Satz ist, dann wird bestimmt, ob k (0 ≤ k ≤ i-1) a[k] ⊆ (a[k+1] ∪ a[k+2] ∪ ... ∪ a[i]) erfüllt oder nicht (S70). Im Ergebnis werden, wenn k a[k] ⊆ (a[k+1] ∪ a[k+2]) ∪ ... ∪ a[i]) nicht erfüllt, dann die Verfahren vom Schritt S63 wiederholt.
  • Das heißt, der Untersatz p, der in dem Schritt S61 eingegeben wird, ist als ein anfänglicher Zustandssatz im Schritt S62 definiert.
  • Dann wird ein Teil des anfänglichen Zustandssatzes als ein Vorverfahrenszustandssatz in den Schritten S63 und S64 definiert, und es wird in den Schritten S68 und S69 überprüft, ob das Satzprodukt des Vorverfahrenszustandssatzes, das als ein Ergebnis der Bildberechnung erhalten wurde, die in dem oben beschriebenen Vorverfahrenszustandssatz und dem oben beschriebenen Untersatz q durchgeführt wurde, ein leerer Satz ist oder nicht. Das heißt, es wird überprüft, ob ein Teil der Nachverfahrenszustandssätze, die als Ergebnis der oben beschriebenen Bildberechnung erhalten wurden, in dem oben beschriebenen Untersatz q enthalten sind oder nicht. Wenn das Satzprodukt im Schritt S69 ein leerer Satz ist, dann sind keine der Zustandssätze, die als ein Ergebnis der Bildberechnung erhalten wurden, in dem Untersatz q enthalten, und keine Wege können erfaßt werden.
  • Wenn das oben beschriebene Satzprodukt kein leerer Satz im Schritt S69 ist, d.h. wenn ein Teil des Nachverfahrenszustandssatzes, der ein Ergebnis einer Bildberechnung ist, in dem oben beschriebenen Untersatz q enthalten ist, dann wird im Schritt S70 überprüft, ob ein Vorverfahrenszustandssatz in den Nachverfahrenszustandssätzen enthalten ist oder nicht. Falls ja, ist ein Zustandsübergangsweg, der immerwährend einen Zustandssatz q nicht überschreitet, vorhanden.
  • Im Schritt S70, wenn kein Vorverfahrenszustandssatz in dem Nachverfahrenzustandssatz vorhanden ist, werden die Verfahren in oder nach dem Schritt S68 mit dem oben beschriebenen Verfahrenszustandssatz wiederholt, der als ein Vorverfahrenszustandssatz durch Inkrementierung im Schritt S67 definiert ist.
  • In dem zweiten oder folgenden Schritt S70, der in dem Wiederholungsverfahren durchgeführt wird, wird auch überprüft, ob ein älterer Vorverfahrenssatz in dem Nachverfahrenszustandssatz im Schritt S70 vorhanden ist oder nicht, zusätzlich zu der Überprüfung, ob ein Vorverfahrenszustandssatz in dem Nachverfahrenszustandssatz vorhanden ist oder nicht.
  • Bis zu der Zeit, wenn das Verfahren im Schritt S70 dreimal durchgeführt wurde, wird zum Beispiel in dem ersten Schritt S70 überprüft, ob der erste Vorverfahrenszustandssatz a[0], der ein Teil des anfänglichen Zustandssatzes ist, in dem ersten Nachverfahrenszustandssatz a[1] vorhanden ist oder nicht. In dem zweiten Schritt S70 wird überprüft, ob der zweite Vorverfahrenszustandssatz a[1] in dem zweiten Nachverfahrenszustandssatz a[2] vorhanden ist oder nicht. Zusätzlich wird auch überprüft, ob der erste Nachverfahrenszustandssatz a[0] in dem Summensatz des ersten Nachverfahrenszustandssatzes a[1] und des zweiten Nachverfahrenszustandssatzes a[2] vorhanden ist oder nicht. In dem dritten Schritt S70 wird überprüft, ob der dritte Vorverfahrenszustandssatz a[2] in dem dritten Nachverfahrenszustandssatz a[3] vorhanden ist oder nicht. Zusätzlich wird auch überprüft, ob der zweite Vorverfahrenszustandssatz a[1] in dem Summensatz des zweiten Vorverfahrenszustandssatzes a[2] und des dritten Nachverfahrenszustandssatzes a[3] vorhanden ist oder nicht. Es wird auch überprüft, ob der erste Vorverfahrenszustandssatz a[0] in dem Summensatz des ersten Nachverfahrenszustandssatzes a[1], des zweiten Nachverfahrenszustandssatzes a[2] und des dritten Nachverfahrenszustandssatzes a[3] vorhanden ist oder nicht.
  • Wenn das Satzprodukt ein leerer Satz im Schritt S69 ist, d.h. ein Teil des Nachverfahrenszustandssatzes ist, der als ein Ergebnis der Bildberechnung erhalten wurde, nicht in dem oben beschriebenen Untersatz q enthalten ist, dann ist der verbleibende Teil, der kein Vorverfahrenszustandssatz in den Schritten S63 und S64 ist, im Schritt S73 als der Vorverfahrenszustandssatz im Schritt S65 definiert.
  • Wenn k a[k] ⊆ (a[k+1] ∪ a[k+2] ∪ ... ∪ a[i]) erfüllt, dann wird angezeigt, daß ein Weg eines Zustandsübergangs mit einem bestimmten Zustand in dem p beginnt und immerwährend nicht den q überschreitet. Deshalb endet das Überprüfungsverfahren (S71). Wenn jedoch in dem Verfahren in dem Schritt S69 bestimmt wird, daß a[i] ein leerer Satz ist, dann wird angezeigt, daß es keinen Weg eines Zustandsübergangs gibt, der mit einem bestimmten Zustand in dem p beginnt und immerwährend nicht den q überschreitet. Deshalb endet das Überprüfungsverfahren für das neue a[i] und es wird bestimmt, ob der Stapel leer ist oder nicht (S72).
  • Im Ergebnis wird, wenn der Stapel nicht leer ist, eine Variable in dem Stapel (S72) wiederhergestellt, und werden die Verfahren von dem Verfahren in S67 wiederholt. Wenn jedoch der Stapel in dem Verfahren im Schritt S72 leer ist, dann wird bestimmt, daß der Weg nicht erfaßt werden kann, und das Überprüfungsverfahren endet (S74).
  • Wenn die Maschine M endlicher Zustände, der Untersatz q des Zustands der M und der Untersatz p der q eingegeben werden, wiederholt die Ausführungsform 2 gemäß der vorliegenden Erfindung rekursiv mit der Tiefe, die mit Priorität verarbeitet ist, die Teilung eines Zustandssatzes, die Bildberechnung in dem M und die Berechnung eines Satzprodukts mit q. Dann wird das Berechnungsverfahren überprüft. Im Ergebnis kann bestimmt werden, ob Zustandsübergangswege, die immerwährend den q nicht überschreiten, vorhanden sind oder nicht, wobei mit einem bestimmten Zustand in dem p begonnen wird.
  • Dann ist ein Algorithmus zum Teilen eines Zustandssatzes für jede wiederholte Berechnung in dem Verfahren zum Bestim men vorgesehen, ob ein Zustandsübergangsweg, der immerwährend nicht den q überschreitet, in dem p vorhanden ist oder nicht, wobei mit einem bestimmten Zustand begonnen wird. Deshalb kann eine Speicherkapazität durch das Teilen des Zustandssatzes verringert werden, und das Überprüfungsverfahren kann auf einer komplizierten Logikeinrichtung durchgeführt werden, deren Speicherkapazität bei einem gewöhnlichen Verfahren seine Grenze erreicht.
  • 9 ist ein Verfahrensflußdiagramm gemäß der Ausführungsform 3 der vorliegenden Erfindung. Das Verfahren gemäß der Ausführungsform 3 wird unten mit Bezugnahme auf 9 beschrieben. Dieses Verfahren wird durch das Überprüfungsgerät durchgeführt, das in 5 und 6 gezeigt ist. S81 bis S91 zeigen die Verfahrensschritte an. Image(a) ist eine Funktion zur Verwendung bei der Bildberechnung für den Zustandssatz a in der Maschine M endlicher Zustände, und i ist ein optionaler Parameter.
  • In einem Logikvorrichtungsüberprüfungsverfahren zum Überprüfen, ob eine Maschine endlicher Zustände, welche die Operation einer synchronen sequentiellen Maschine anzeigt, die Eigenschaft, welche die funktionelle Spezifikation anzeigt, erfüllt oder nicht, werden die Bildberechnung in der M und die Berechnung eines Satzprodukts mit q wiederholt, wobei mit dem Zustandssatz p begonnen wird, wenn die Maschine endlicher Zustände M, der Untersatz q des Zustands der M und der Untersatz p [1], p [2] ..., p {n} (im folgenden wird auf den Untersatz des q als p1, p2, ..., pn Bezug genommen) des q vorgegeben sind. Dann wird die Zustandssatzbeziehung des Berechnungsverfahrens überprüft. Im Ergebnis kann bestimmt werden, ob ein Zustandsübergangsweg, der immerwährend den q nicht überschreitet, vorhanden ist oder nicht, wobei mit einem bestimmten Zustand in dem p1 ∪ p2 ∪ p3 ... ∪ pn begonnen wird. Das praktische Verfahren wird wie folgt durchgeführt.
  • Wenn die Maschine M endlicher Zustände, der Untersatz q des Zustands der M und der Untersatz p des q eingegeben werden (S81), ersetzt das Initialisierungsverfahren 1 durch einen optionalen Parameter (j ← 1) (S82) und definiert ein [0] ← p[j], i ← 0 (S83). Dann wird i erhöht (i ← i+1) (S84), und die Operation der Bildberechnung in den M und das Satzprodukt mit q, d.h., a[i] ← Image (a[i-1] ∩ q wird durchgeführt (S85).
  • Dann wird bestimmt, ob a[i] ein leerer Satz ist oder nicht (S86). Wenn es kein leerer Satz ist, dann wird bestimmt, ob k (0 ≤ k ≤ i-1) a[k] ⊆ (a[k+1] ∪ a[k+2] ∪ ... ∪ a[i]) erfüllt oder nicht (S87). Im Ergebnis, wenn k a[k] ⊆ (a[k+1] ∪ a[k+2] ∪ ... ∪ a[i]) nicht erfüllt, dann werden die Verfahren von dem Schritt S84 wiederholt.
  • Das heißt, der Untersatz p[j], der im Schritt S81 eingegeben wird, wird (in den Schritten S89 und S90) sequentiell als ein anfänglicher Zustandssatz im Schritt S83 definiert.
  • Dann wird der anfängliche Zustandssatz als ein Vorverfahrenszustandssatz definiert, und es wird in den Schritten S85 und S86 überprüft, ob das Satzprodukt des Nachverfahrenszustandssatzes, das als ein Ergebnis der Bildberechnung, die in dem oben beschriebenen Vorverfahrenszustandssatz und dem oben beschriebenen Untersatz q durchgeführt wurde, ein leerer Satz ist oder nicht. Das heißt, es wird überprüft, ob ein Teil der Nachverfahrenszustandssätze, die als ein Ergeb nis der oben beschriebenen Bildberechnung erhalten wurden, in dem oben beschriebenen Untersatz q enthalten sind oder nicht. Wenn das Satzprodukt in Schritt S86 ein leerer Satz ist, dann ist keiner der Zustandssätze, die als ein Ergebnis der Bildberechnung erhalten wurden, in dem Untersatz q enthalten und keine Wege können erfaßt werden.
  • Wenn das oben beschriebene Satzprodukt kein leerer Satz im Schritt S86 ist, das heißt, wenn ein Teil des Nachverfahrenszustandssatzes, der ein Ergebnis einer Bildberechnung ist, in dem oben beschriebenen Untersatz q enthalten ist, dann wird im Schritt S87 überprüft, ob ein Vorverfahrenszustandssatz in den Nachverfahrenszustandssätzen vorhanden ist oder nicht. Falls ja, ist ein Zustandsübergangsweg, der immerwährend einen Zustandssatz q nicht überschreitet, vorhanden.
  • Im Schritt S87, wenn kein Vorverfahrenszustandssatz in dem Nachverfahrenzustandssatz vorhanden ist, werden die Verfahren in und nach Schritt S54 mit dem oben beschriebenen Verfahrenszustandssatz wiederholt, der als ein Vorverfahrenszustandssatz definiert ist.
  • In dem zweiten oder folgenden Schritt S87, der in dem Wiederholungsverfahren durchgeführt wird, wird auch überprüft, ob ein älterer Vorverfahrenssatz in dem Nachverfahrenszustandssatz im Schritt S87 vorhanden ist oder nicht, zusätzlich zu der Überprüfung, ob ein Vorverfahrenszustandssatz in den Nachverfahrenszustandsverfahren vorhanden ist oder nicht.
  • Bis zu der Zeit, wenn das Verfahren in Schritt S56 dreimal durchgeführt wird, wird zum Beispiel in dem ersten Schritt S87 überprüft, ob der erste Vorverfahrenszustandssatz a[0], welcher der anfängliche Zustandssatz ist, in dem ersten Nachverfahrenszustandssatz a[1] vorhanden ist. In dem zweiten Schritt S87 wird überprüft, ob der zweite Vorverfahrenszustandssatz a[1] in dem zweiten Nachverfahrenszustandssatz a[2] vorhanden ist oder nicht. Zusätzlich wird auch überprüft, ob der erste Nachverfahrenszustandssatz a[0] in dem Summensatz des ersten Nachverfahrenszustandssatzes a[1] und des zweiten Vorverfahrenszustandssatzes a[2] vorhanden ist oder nicht. In dem dritten Schritt S87 wird überprüft, ob der dritte Vorverfahrenszustandssatz a[2] in dem dritten Nachverfahrenszustandssatz a[3] vorhanden ist oder nicht. Zusätzlich wird auch überprüft, ob der zweite Vorverfahrenszustandssatz a[1] in dem Summensatz des zweiten Vorverfahrenszustandssatzes a[2] und des dritten Nachverfahrenszustandssatzes a[3] vorhanden ist oder nicht. Es wird auch überprüft, ob der erste Vorverfahrenszustandssatz a[0] in dem Summensatz des ersten Nachverfahrenszustandssatzes a[1], des zweiten Nachverfahrenzustandssatzes a[2] und des dritten Nachverfahrenszustandssatzes a[3] vorhanden ist oder nicht.
  • Wenn k a[k] ⊆ (a[k+1] ∪ a[k+2] ∪ ... ∪ a[i]) erfüllt, dann wird angezeigt, daß ein Weg eines Zustandsübergangs mit einem bestimmten Zustand in dem p beginnt und immerwährend den q nicht überschreitet. Deshalb endet das Überprüfungsverfahren (S88). Wenn jedoch in dem Verfahren in Schritt S86 bestimmt wird, daß a[i] ein leerer Satz ist, wird es angezeigt, daß es keinen Weg eines Zustandsübergangs gibt, der mit einem bestimmten Zustand in dem p beginnt und immerwährend nicht den q überschreitet. Deshalb wird j (j ← j+1) erhöht (S89), und es wird bestimmt, ob die Bedingungen von j ≤ n erfüllt sind oder nicht (S90).
  • Im Ergebnis werden, wenn die Bedingung j ≤ n erfüllt ist, die Verfahren von dem Verfahren in S83 wiederholt. Wenn die Bedingung von 1 ≤ n nicht erfüllt ist, das heißt j ≥ n, dann wird bestimmt, daß der Weg nicht vorhanden ist, und das Überprüfungsverfahren endet (S91).
  • Die Ausführungsform 3 gemäß der vorliegenden Erfindung wiederholt die Bildberechnung in den M, die Berechnung eines Satzprodukts mit q, wobei mit dem Zustandssatz p mit jedem der Untersätze p1, p2, ... pn, die als q eingestellt sind, begonnen wird, wenn die Maschine endlicher Zustände M, der Untersatz q des Zustands der M und der Untersatz p1, p2, ... pn des q vorgegeben sind. Dann wird die Beziehung des Zustandssatzes des Berechnungsverfahrens überprüft. Im Ergebnis kann beginnend mit einem bestimmten Zustand in dem p1 ∪ p2 ∪ p3 ... ∪ pn bestimmt werden, ob ein Zustandsübergangsweg, der immerwährend den q nicht überschreitet, vorhanden ist oder nicht.
  • Somit wird ein Algorithmus zum getrennten nicht kollektiven Berechnen des p, wenn er in p1, p2 ... pn geteilt wird, in dem Verfahren des Bestimmens zugewiesen, ob ein Zustandsübergangsweg, welcher den q nicht überschreitet, vorhanden ist oder nicht, wobei mit einem bestimmten Zustand in dem p begonnen wird, und das Überprüfungsverfahren kann auf einer komplizierten Logikvorrichtung durchgeführt werden, deren Speicherkapazität bei einem gewöhnlichen Verfahren seine Grenze erreicht.
  • 10 ist ein Verfahrensflußdiagramm gemäß der Ausführungsform 4 der vorliegenden Erfindung. Das Verfahren gemäß der Ausführungsform 4 wird unten mit Bezugnahme auf 10 beschrieben. Dieses Verfahren wird durch das Überprüfungsgerät durchgeführt, das in 5 und 6 gezeigt ist. S101 bis S117 zeigen die Verfahrensschritte an.
  • In einem Logikvorrichtungsüberprüfungsverfahren zum Überprüfen, ob eine Maschine endlicher Zustände, welche die Operation einer sequentiellen synchronen Maschine anzeigt, die Eigenschaft, welche die funktionelle Spezifikation anzeigt, erfüllt oder nicht, werden die Zustandssatzteilung, die Bildberechnung in dem M und die Berechnung eines Satzprodukts mit q rekursiv mit der Tiefe, die mit Priorität verarbeitet ist, wiederholt, wobei mit dem Zustandssatz p begonnen wird, wenn die Maschine endlicher Zustände M, der Untersatz q des Zustands der M und der Untersatz p[1], p[2], p[n] (im Folgenden wird auf den Untersatz des q als p1, p2, ... pn Bezug genommen) des q vorgegeben sind. Dann wird das Berechnungsverfahren überprüft. Im Ergebnis kann bestimmt werden, ob ein Zustandsübergangsweg, der immerwährend den q nicht überschreitet, vorhanden ist oder nicht, wobei mit einem bestimmten Zustand in dem p1 ∪ p2 ∪ p3 ... ∪ pn begonnen wird. Das praktische Verfahren wird wie folgt durchgeführt.
  • Wenn die Maschine endlicher Zustände M, der Untersatz q des Zustands der M und der Untersatz p1, p2, ... pn der q eingegeben werden (S101), ersetzt das Initialisierungsverfahren 1 für einen optionalen Parameter (j ← 1) (S102) und definiert a[0] ← p[j], i ← 0 (S103). Dann wird t ← a[i] eingestellt (S104), wird das t in zwei Teile geteilt, wird a[i] durch das t ersetzt (a[i] ≠ ⌀) (S105). Das heißt a[i] wird als t gesetzt, das t wird in zwei Teile geteilt, und einer der zwei Teile wird als a[i] eingestellt. Deshalb sind die geteilten zwei Teile ein neues a[i] und das verbleibende t.
  • Dann wird bestimmt, ob das t ein leerer Satz ist oder nicht (S106). Wenn das t kein leerer Satz ist, wird der gegenwärtige Wert in dem Stapel gespeichert (S107). Wenn t ein leerer Satz ist, wird keine Handlung unternommen. Somit wird das folgende Verfahren auf dem neu geteilten und neuen a[i] durchgeführt. Das andere t wird in dem Stapel gespeichert, wenn er kein leerer Satz ist. Falls nötig, wird er nach dem Verfahren des neuen a[i] nachverfolgt.
  • Wenn das Verfahren mit dem neuen a[i] durchgeführt wird, wird i erhöht (i ← i+1) (S108) und die Operation der Bildberechnung in dem M und dem Satzprodukt mit q, das heißt, a[i] ← Image (a[i-1]) ∩ q wird durchgeführt (S109). Dann wird bestimmt, ob a[i] ein leerer Satz ist oder nicht (S110). Wenn es kein leerer Satz ist, dann wird bestimmt, ob k (0 ≤ k ≤ i-1) a[k] ⊆ (a[k+1] ∪ a[k+2] ∪ ... ∪ a[i]) erfüllt oder nicht (S111). Im Ergebnis werden, wenn k a[k] ⊆ (a[k+1] ∪ a[k+2] ∪ ... ∪ a[i]) erfüllt, dann die Verfahren vom Schritt S104 wiederholt.
  • Das heißt, der Untersatz p[j], der im Schritt S101 eingegeben wurde, wird sequentiell (in den Schritten S115 und S116) als ein anfänglicher Zustandssatz im Schritt S103 definiert.
  • Dann wird ein Teil des anfänglichen Zustandssatzes als ein Vorverfahrenszustandssatz definiert, und es wird in den Schritten S104 und S105 überprüft, ob das Satzprodukt des Nachverfahrenszustandssatzes, das als ein Ergebnis der Bildberechnung, die für den oben beschriebenen Vorverfah renszustandssatz und den oben beschriebenen Untersatz q durchgeführt wurde, ein leerer Satz ist oder nicht. Das heißt, es wird überprüft, ob ein Teil der Nachverfahrenszustandssätze, die als ein Ergebnis der oben beschriebenen Bildberechnung erhalten wurden, in dem oben beschriebenen Untersatz q enthalten sind oder nicht. Wenn das Satzprodukt im Schritt S110 ein leerer Satz ist, dann sind keine der Zustandssätze, die als ein Ergebnis der Bildberechnung erhalten wurden, in dem Untersatz q enthalten und keine Wege können erfaßt werden.
  • Wenn das oben beschriebene Satzprodukt kein leerer Satz im Schritt S110 ist, das heißt, wenn ein Teil des Nachverfahrenszustandssatzes, der ein Ergebnis einer Bildberechnung ist, in dem oben beschriebenen Untersatz q enthalten ist, dann wird im Schritt S111 überprüft, ob ein Vorverfahrenszustandssatz in den Nachverfahrenszustandssätzen vorhanden ist oder nicht. Falls ja, ist ein Zustandsübergangsweg, der immerwährend nicht einen Zustandssatz q überschreitet, vorhanden.
  • Im Schritt S111, wenn kein Vorverfahrenszustandssatz in dem Nachverfahrenzustandssatz vorhanden ist, werden die Verfahren in und nach Schritt S109 mit dem oben beschriebenen Verfahrenszustandssatz wiederholt, der als ein Vorverfahrenszustandssatz definiert ist.
  • In dem zweiten oder darauffolgenden Schritt S56, der in dem Wiederholungsverfahren durchgeführt wird, wird auch überprüft, ob ein älterer Vorverfahrenssatz in dem Nachverfahrenzustandssatz im Schritt S111 vorhanden ist oder nicht, zusätzlich zu der Überprüfung, ob ein Vorverfahrenszustands satz in dem Nachverfahrenszustandsverfahren vorhanden ist oder nicht.
  • Bis zu der Zeit, wenn das Verfahren im Schritt S111 dreimal durchgeführt wurde, wird zum Beispiel in dem ersten Schritt S111 überprüft, ob der erste Vorverfahrenszustandssatz a[0], welcher ein Teil des anfänglichen Zustandssatzes ist, in dem ersten Nachverfahrenzustandssatz a[1] vorhanden ist oder nicht. In dem zweiten Schritt S111 wird überprüft, ob der zweite Vorverfahrenszustandssatz a[1] in dem zweiten Nachverfahrenzustandssatz a[2] vorhanden ist oder nicht. Zusätzlich wird auch überprüft, ob der erste Nachverfahrenzustandssatz a[0] in dem Summensatz des ersten Nachverfahrenszustandssatzes a[1] und des zweiten Nachverfahrenszustandssatzes a[2] vorhanden ist oder nicht. In dem dritten Schritt S111 wird überprüft, ob der dritte Vorverfahrenszustandssatz a[2] in dem dritten Nachverfahrenzustandssatz a[3] vorhanden ist oder nicht. Zusätzlich wird auch überprüft, ob der zweite Vorverfahrenszustandssatz a[1] in dem Summensatz des zweiten Vorverfahrenszustandssatzes a[2] und des dritten Nachverfahrenszustandssatzes a[3] vorhanden ist oder nicht. Es wird auch überprüft, ob der erste Vorverfahrenszustandssatz a[0] in dem Summensatz des ersten Nachverfahrenzustandssatzes a[1], des zweiten Nachverfahrenszustandssatzes a[2] und des dritten Nachverfahrenszustandssatzes a[3] vorhanden ist oder nicht.
  • Wenn das Satzprodukt ein leerer Satz im Schritt S110 ist, das heißt, ein Teil des Nachverfahrenszustandssatzes, das als ein Ergebnis der Bildberechnung erhalten wurde, nicht in dem oben beschriebenen Untersatz q enthalten ist, dann wird der verbleibende Teil, der kein Vorverfahrenszustandssatz in den Schritten S104 und S105 ist, im Schritt S114 als ein Vorverfahrenszustandssatz im Schritt S105 definiert.
  • Wenn k a[k] ⊆ (a[k+1] ∪ a[k+2] ∪ ... ∪ a[i]) erfüllt, dann wird angezeigt, daß ein Weg eines Zustandsübergangs mit einem bestimmten Zustand in dem p beginnt und immerwährend nicht den q überschreitet. Deshalb endet das Überprüfungsverfahren (S112). Wenn jedoch in dem Verfahren im Schritt S111 bestimmt wurde, daß ein a[i] ein leerer Satz ist, wird angezeigt, daß es keinen Weg eines Zustandsübergangs gibt, der mit einem bestimmten Zustand in dem p beginnt und immerwährend nicht den q überschreitet. Deshalb endet das Überprüfungsverfahren für das neue a[i] und es wird bestimmt, ob der Stapel leer ist oder nicht (S113).
  • Im Ergebnis wird, wenn der Stapel nicht leer ist, eine Variable in den Stapel (S114) wiederhergestellt und die Verfahren werden von dem Verfahren in S108 wiederholt. Wenn jedoch der Stapel in den Verfahren im Schritt S113 leer ist, dann wird j erhöht (j ← j+1) (S115), und es wird bestimmt, ob die Bedingungen von j ≤ n erfüllt sind oder nicht (S116). Im Ergebnis werden, wenn die Bedingung von j ≤ n erfüllt ist, die Verfahren von den Verfahren in S103 wiederholt. Wenn die Bedingung von 1 ≤ n nicht erfüllt ist, das heißt j ≥ n, dann wird bestimmt, daß der Weg nicht vorhanden ist und das Überprüfungsverfahren endet (S117).
  • Die Ausführungsform 4 gemäß der vorliegenden Erfindung wiederholt die Zustandssatzteilung, die Bildberechnung in dem M und die Berechnung eines Satzprodukts mit q rekursiv mit der Tiefe, die mit Priorität verarbeitet ist, mit jedem der Untersätze p1, p2, ... pn, die als p eingestellt sind, wobei mit dem Zustandssatz p begonnen wird, wenn die Maschine endlicher Zustände M, der Zustandssatz q der M und der Untersatz p1, p2, ... pn des q vorgegeben sind. Dann wird die Beziehung des Zustandssatzes des Berechnungsverfahrens überprüft. Im Ergebnis kann bestimmt werden, ob ein Zustandsübergangsweg, der immerwährend nicht den q überschreitet, vorhanden ist oder nicht, wobei mit einem bestimmten Zustand in dem p1 ∪ p2 ∪ p3 ... ∪ pn begonnen wird.
  • Somit ist ein Algorithmus zum getrennten, nicht kollektiven Berechnen des p, wenn es in p1, p2, ... pn unterteilt wird, bei dem Verfahren des Bestimmens zugewiesen, ob ein Zustandsübergangsweg, der immerwährend den q nicht überschreitet, in dem p vorhanden ist oder nicht, wobei mit einem bestimmten Zustand begonnen wird, und das Überprüfungsverfahren kann auf einer komplizierten Logikvorrichtung durchgeführt werden, deren Speicherkapazität seine Grenze bei einem gemeinsamen Verfahren erreicht.
  • (Weitere Ausführungsformen)
  • Die Ausführungsformen der vorliegenden Erfindung werden oben beschrieben, aber die vorliegende Erfindung kann auch auf die folgenden Anwendungen angewendet werden.
  • Falls es wird bestimmt, daß das q notwendigerweise überschritten wird, wenn ein Zustandssatz in dem oben beschriebenen Logikvorrichtungsüberprüfungsverfahrens unterteilt wird, wobei mit einem Zustand in einen bestimmten Satz r begonnen wird, dann wird angezeigt, daß es keine Schleife eines Zustandsübergangs in dem r gibt. Deshalb kann das q durch q ∩ r in der darauffolgenden Berechnung ersetzt werden. Wie oben erklärt werden gemäß der vorliegenden Erfindung die Bildberechnung in dem M und die Berechnung eines Satzprodukts mit q wiederholt, wobei mit dem Zustandssatz p begonnen wird, wenn die Maschine endlicher Zustände m, der Untersatz q des Zustands der m und der Untersatz p der q vorgegeben sind. Dann wird die Beziehung des Zustandssatzes des Berechnungsverfahrens überprüft. Im Ergebnis kann bestimmt werden, ob ein Zustandsübergangsweg, der immerwährend den q nicht überschreitet, vorhanden ist oder nicht, wobei mit einem bestimmten Zustand in dem p begonnen wird. Somit kann ein Zustandssatzteilungsverfahren in den meisten Fällen der Symbolmodellüberprüfung verwendet werden.
  • In dem Zustandssatzteilungsverfahren kann das Überprüfungsverfahren auf einer komplizierten Logikvorrichtung durchgeführt werden, deren Speicherkapazitäten ihre Grenze bei einem gewöhnlichen Verfahren erreicht. Das Problem der Speicherkapazität ist ernst, weil es sich auf die Ausführbarkeit einer Symbolmodellüberprüfung bezieht, und die vorliegende Erfindung trägt zu der Umsetzung dieser Ausführbarkeit bei.
  • Bei der anfänglichen Stufe der Teilungsoperation können außerdem negative oder positive Beispiele erfaßt werden. Deshalb kann zum Beispiel bei dem anfänglichen Stufe der Logiküberprüfung, bei der eine Anzahl von fehlerhaften Entwürfen erfaßt werden kann, ein fehlerhafter Entwurf gemäß der vorliegenden Erfindung schneller als bei einem Verfahren erfaßt werden, das ohne die Teilungsoperation befolgt wird.

Claims (12)

  1. Logikvorrichtungsüberprüfungsverfahren zum Überprüfen, ob eine Maschine endlicher Zustände, die eine Operation einer synchronen sequentiellen Maschine anzeigt, eine Eigenschaft, die eine funktionelle Spezifikation anzeigt, erfüllt oder nicht, dadurch gekennzeichnet, daß das Verfahren umfaßt: einen Eingabeschritt zum Eingeben von Zustandssätzen, die aus einer Maschine endlicher Zustände M, einem Untersatz q eines Zustands der Maschine endlicher Zustände M und einem Untersatz p des Untersatzes q bestehen; einen Operationsschritt zur Zustandsübergangsbestimmung, um einen Zustandssatz zu erhalten, der in einem einzigen Zustandsübergang von einem Element des Untersatzes p erreichbar ist; einen Operationsschritt zur Schleifenbestimmung, um mit einem bestimmten Zustand in dem Untersatz p zu beginnen und zu bestimmen, ob es einen Weg eines Zustandsübergangs gibt, der den Untersatz q nicht überschreitet, oder nicht; einen Operationsschritt zur Erreichbarkeitsbestimmung, um einen erreichbaren Zustandssatz durch ein Element des Untersatzes q von einem Element des Untersatzes p zu erhalten, wobei das Verfahren einschließt das Steuern von jedem von dem Operationsschritt zur Zustandsübergangsbestimmung, dem Operationsschritt zur Erreichbarkeitsbestimmung und dem Operationsschritt zur Schleifenbestimmung und das Erhalten eines Wegs eines Zustandsübergangs, welcher der Eigenschaft entspricht, und Überprüfen, ob die Maschine endlicher Zustände die Eigenschaft, welche die funktionelle Spezifikation anzeigt, erfüllt oder nicht; und Ausgeben eines Überprüfungsergebnisses.
  2. Logikvorrichtungsüberprüfungsverfahren nach Anspruch 1, das außerdem umfaßt: einen Teilungsschritt zum Teilen des Eingangszustandssatzes durch den Eingabeschritt in zwei Gruppen; und einen Steuerungsschritt zum Steuern des Teilungsschritts.
  3. Logikvorrichtungsüberprüfungsverfahren nach Anspruch 1, das außerdem die Schritte umfaßt: Eingeben eines Untersatzes p1, p2 ... pn, der als der Untersatz p eingestellt ist, in den eingegebenen Zustandssatz; Definieren des Untersatzes p als ein Anfangszustandssatz und Aktualisieren des Definitionsschritts.
  4. Logikvorrichtungsüberprüfungsverfahren nach Anspruch 3, das außerdem die Schritte umfaßt: Teilen des eingegebenen Zustandssatzes des Untersatzes p1, p2, ..., pn durch den Eingabeschritt in zwei Gruppen; und Steuern des Teilungsschritts.
  5. Computerlesbares Speichermedium zur Verwendung bei einem Logikvorrichtungsüberprüfungsverfahren zum Überprüfen, ob eine Maschine endlicher Zustände, die eine Operation einer synchronen sequentiellen Maschine anzeigt, eine Eigenschaft, die eine funktionelle Spezifikation anzeigt, erfüllt oder nicht, dadurch gekennzeichnet, daß es einen Computer anleitet, die folgenden Schritte durchzuführen: einen Eingabeschritt zum Eingeben von Zustandssätzen, die aus einer Maschine endlicher Zustände M, einem Untersatz q eines Zustands der Maschine endlicher Zustände M und einem Untersatz p des Untersatzes q bestehen; einen Operationsschritt zur Zustandsübergangsbestimmung, um einen Zustandssatz zu erhalten, der in einem einzigen Zustandsübergang von einem Element des Untersatzes p erreichbar ist; einen Operationsschritt zur Schleifenbestimmung, um mit einem bestimmten Zustand in dem Untersatz p zu beginnen und zu bestimmen, ob es einen Weg eines Zustandsübergangs, der den Untersatz q nicht überschreitet, gibt oder nicht; einen Operationsschritt zur Erreichbarkeitsbestimmung, um einen erreichbaren Zustandssatz durch ein Element des Untersatzes q von einem Element des Untersatzes p zu erhalten, wobei das Verfahren einschließt das Steuern von jedem von dem Operationsschritt zur Zustandsübergangsbestimmung, dem Operationsschritt zur Erreichbarkeitsbestimmung und dem Operationsschritt zur Schleifenbestimmung und das Erhalten eines Wegs eines Zustandsübergangs, welcher der Eigenschaft entspricht, und Überprüfen, ob die Maschine endlicher Zustände die Eigenschaft erfüllt, welche die funktionelle Spezifikation anzeigt, oder nicht; und Ausgeben eines Überprüfungsergebnisses.
  6. Computerlesbares Speichermedium nach Anspruch 5, das außerdem verwendet wird, um einen Computer anzuleiten, die Funktionen durchzuführen von: einem Teilungsschritt zum Teilen des Eingangszustandssatzes durch den Eingabeschritt in zwei Gruppen; und einem Steuerungsschritt zum Steuern des Teilungsschritts.
  7. Computerlesbares Speichermedium nach Anspruch 5, das außerdem verwendet wird, um einen Computer anzuleiten, die Funktionen durchzuführen von: Eingeben eines Untersatzes p1, p2 ... pn, der als der Untersatz p eingestellt ist, in den eingegebenen Zustandssatz; Definieren des Untersatzes p als ein Anfangszustandssatz und Aktualisieren der Definitionsfunktion.
  8. Computerlesbares Speichermedium nach Anspruch 7, das außerdem verwendet wird, um einen Computer anzuleiten, die Funktionen durchzuführen von: Teilen des eingegebenen Zustandssatzes des Untersatzes p1, p2, ..., pn durch die Eingabefunktion in zwei Gruppen; und Steuern der Teilung.
  9. Logikvorrichtungsüberprüfungsgerät zum Überprüfen, ob eine Maschine endlicher Zustände, welche eine Operation einer synchronen sequentiellen Maschine anzeigt, eine Eigenschaft, welche eine funktionelle Spezifikation anzeigt, erfüllt oder nicht, dadurch gekennzeichnet, daß das Gerät umfaßt: ein Eingabemittel (1) zum Eingeben von Zustandssätzen, die aus einer Maschine M endlicher Zustände, einem Untersatz q der Maschine M endlicher Zustände und einem Untersatz p des Untersatzes q bestehen; ein Operationsmittel (4) zur Zustandsübergangsbestimmung, um einen Zustand zu erhalten, der in einen einzigen Zustandsübergang von einem Element des Untersatzes p erreichbar ist; ein Operationsmittel (5) zur Schleifenbestimmung, um mit einem bestimmten Zustand in dem Untersatz p zu beginnen und zu bestimmen, ob es einen Weg eines Zustandsübergangs gibt, der den Untersatz q nicht überschreitet, oder nicht; ein Operationsmittel (6) zur Erreichbarkeitsbestimmung, um einen erreichbaren Zustandssatz durch ein Element des Untersatzes q von einem Element des Untersatzes p zu erhalten; ein Steuerungsmittel (2) zum Steuern von jedem des Operationsmittels (4) zur Zustandsübergangsbestimmung, des Operationsmittel (6) zur Erreichbarkeitsbestimmung und des Operationsmittels (5) zur Schleifenbestimmung und zum Erhalten eines Wegs eines Zustandsübergangs, der der Eigenschaft entspricht, und Überprüfen, ob die Maschine endlicher Zustände die Eigenschaft erfüllt, welche die funktionelle Spezifikation anzeigt, oder nicht; und ein Ausgabemittel (3) zum Ausgeben eines Überprüfungsergebnisses.
  10. Logikvorrichtungsüberprüfungsgerät nach Anspruch 9, das außerdem umfaßt: ein Teilungsmittel (7) zum Teilen des eingegebenen Zustandssatzes durch das Eingabemittel (1) in zwei Gruppen; und einem Steuerungsmittel (2) zum Steuern des Teilungsmittels (7).
  11. Logikvorrichtungsüberprüfungsgerät nach Anspruch 9, das außerdem umfaßt: ein Eingabemittel (1) zum Eingeben eines Zustandssatzes eines Untersatzes p1, p2 ... pn, der als der Untersatz p eingestellt ist.
  12. Logikvorrichtungsüberprüfungsgerät nach Anspruch 11, das außerdem aufweist: ein Teilungsmittel (7) zum Teilen des eingegebenen Zustandssatzes des Untersatzes p1, p2 ... pn durch das Eingabemittel (1) in zwei Gruppen; und ein Steuerungsmittel (2) zum Steuern des Teilungsmittels (7).
DE69838441T 1997-02-28 1998-02-26 Verfahren und Anordnung zur Verifizierung logischer Geräte Expired - Lifetime DE69838441T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP4511497 1997-02-28
JP4511497 1997-02-28

Publications (2)

Publication Number Publication Date
DE69838441D1 DE69838441D1 (de) 2007-10-31
DE69838441T2 true DE69838441T2 (de) 2008-02-14

Family

ID=12710248

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69838441T Expired - Lifetime DE69838441T2 (de) 1997-02-28 1998-02-26 Verfahren und Anordnung zur Verifizierung logischer Geräte

Country Status (3)

Country Link
US (1) US6141633A (de)
EP (1) EP0862128B1 (de)
DE (1) DE69838441T2 (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0966703B1 (de) * 1997-03-11 2002-10-02 Siemens Aktiengesellschaft Verfahren zur rechnergestützten fehleranalyse von sensoren und/oder aktoren in einem technischen system
JP3663067B2 (ja) * 1998-12-17 2005-06-22 富士通株式会社 論理装置の検証方法、検証装置及び記録媒体
US6609230B1 (en) 1999-02-24 2003-08-19 Zhe Li Method for design verification using modular templates of test benches
GB2398901A (en) * 1999-06-20 2004-09-01 Intel Corp Coverage measurement of a formal verification property in which covered states cause the property to fail if the value of an observed signal is changed
US6484134B1 (en) 1999-06-20 2002-11-19 Intel Corporation Property coverage in formal verification
US6708328B1 (en) * 1999-12-17 2004-03-16 Lucent Technologies Inc. Employment of value of unknown in portion of partial state space for analysis of part of system
US6715107B2 (en) * 2000-12-26 2004-03-30 International Business Machines Corporation Method and system for reducing the computation tree to include only model behaviors defined succinctly by a user via regular expressions as being of interest
US7149675B2 (en) * 2001-03-09 2006-12-12 Intel Corporation System and method for automatically mapping state elements for equivalence verification
US6957178B2 (en) * 2001-10-29 2005-10-18 Honeywell International Inc. Incremental automata verification
US20030115559A1 (en) * 2001-12-13 2003-06-19 International Business Machines Corporation Hardware validation through binary decision diagrams including functions and equalities
US7788556B2 (en) * 2002-11-13 2010-08-31 Fujitsu Limited System and method for evaluating an erroneous state associated with a target circuit
US20050114809A1 (en) 2003-11-21 2005-05-26 Yuan Lu Design verification using formal techniques
US8265920B1 (en) 2004-07-30 2012-09-11 Synopsys, Inc. Determining large-scale finite state machines using constraint relaxation
US7322017B2 (en) 2004-12-14 2008-01-22 International Business Machines Corporation Method for verification using reachability overapproximation
US7370292B2 (en) * 2004-12-14 2008-05-06 International Business Machines Corporation Method for incremental design reduction via iterative overapproximation and re-encoding strategies
US8756543B2 (en) * 2011-04-29 2014-06-17 International Business Machines Corporation Verifying data intensive state transition machines related application
WO2015140841A1 (ja) * 2014-03-20 2015-09-24 日本電気株式会社 異常を検知する情報処理装置及び異常検知方法
CN109299530B (zh) * 2018-09-12 2023-07-25 成都奥卡思微电科技有限公司 一种仿真测试案例生成方法、系统、存储介质和终端

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5680332A (en) * 1995-10-30 1997-10-21 Motorola, Inc. Measurement of digital circuit simulation test coverage utilizing BDDs and state bins
JPH1063537A (ja) * 1996-08-21 1998-03-06 Fujitsu Ltd プロパティ検証方法および装置

Also Published As

Publication number Publication date
EP0862128A1 (de) 1998-09-02
US6141633A (en) 2000-10-31
EP0862128B1 (de) 2007-09-19
DE69838441D1 (de) 2007-10-31

Similar Documents

Publication Publication Date Title
DE69838441T2 (de) Verfahren und Anordnung zur Verifizierung logischer Geräte
DE69838835T2 (de) Verfahren zur Prüfung und zur Darstellung einer Hardware durch Zerlegung und Aufteilung
DE19860061B4 (de) System zur Prüfung der kombinatorischen Äquivalenz
DE69223787T2 (de) System fuer qualitative schlussfolgerung mit paralleler verarbeitung
DE69321124T2 (de) Verfahren zur simulation einer elektronischen schaltung mit verbesserter genauigkeit.
US7290230B2 (en) System and method for verifying a digital design using dynamic abstraction
DE3855860T2 (de) Schaltungsveränderungssystem und -verfahren, Verfahren zur Erzeugung von invertierter Logik und Logikentwurfssystem
DE69326072T2 (de) Verfahren zur Prüfung eines sequentiellen endlichen Automaten
Balbo et al. An example of modelling and evaluation of a concurrent program using coloured stochastic Petri nets: Lamport’s fast mutual exclusion algorithm
DE10143101A1 (de) Verfahren zur Validierung von Simulationsergebnissen eines Systems sowie darauf aufbauender Äquivalenzvergleich digitaler Schaltungen
DE69225527T2 (de) Verfahren und System zur automatischen Bestimmung der logischen Funktion einer Schaltung
EP1764715A1 (de) Verfahren zur Bestimmung der Güte einer Menge von Eigenschaften, verwendbar zur Verifikation and zur Spezifikation von Schaltungen
Gurr et al. Towards the principled design of software engineering diagrams
WO1992018944A1 (de) Verfahren zur verifikation datenverarbeitender systeme
DE10038499A1 (de) Verfahren und System für die verbesserte Entwicklungsprüfung mittels angepasster Ablaufverfolgung
DE69127798T2 (de) Verfahren und Gerät zum Organisieren und Analysieren von Zeitsteuerungsinformationen
US7203631B2 (en) System and method to analyze VLSI designs
DE202016008006U1 (de) Generierung von Integrationstests im Kleinen
DE102015102034A1 (de) Verfahren zum Analysieren von Ergebnissen in einem Entwurfsautomatisierungsablauf für elektronische Systeme, Computersystem und Computerprogrammprodukt
Ware et al. Conflict-preserving abstraction of discrete event systems using annotated automata
Larsen Computer Aided Verification: 3rd International Workshop, CAV'91, Aalborg, Denmark, July 1-4, 1991. Proceedings
DE2249852A1 (de) Computersystem
Kiiveri An incomplete data approach to the analysis of covariance structures
DE102021130117A1 (de) Diagnosemuster-erzeugungsverfahren und computer
DE112020000193T5 (de) Quantenschaltungsanordnung

Legal Events

Date Code Title Description
8381 Inventor (new situation)

Inventor name: IWASHITA, HIROAKI, KAWASAKI-SHI, KANAGAWA 211-, JP

Inventor name: NAKATA, TSUNEO, KAWASAKI-SHI, KANAGAWA 211-858, JP

8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: SEEGER SEEGER LINDNER PARTNERSCHAFT PATENTANWAELTE