DE69225527T2 - Verfahren und System zur automatischen Bestimmung der logischen Funktion einer Schaltung - Google Patents

Verfahren und System zur automatischen Bestimmung der logischen Funktion einer Schaltung

Info

Publication number
DE69225527T2
DE69225527T2 DE69225527T DE69225527T DE69225527T2 DE 69225527 T2 DE69225527 T2 DE 69225527T2 DE 69225527 T DE69225527 T DE 69225527T DE 69225527 T DE69225527 T DE 69225527T DE 69225527 T2 DE69225527 T2 DE 69225527T2
Authority
DE
Germany
Prior art keywords
input
logic
circuit
output
simulator
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69225527T
Other languages
English (en)
Other versions
DE69225527D1 (de
Inventor
Paul D Nuber
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.)
Agilent Technologies Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Application granted granted Critical
Publication of DE69225527D1 publication Critical patent/DE69225527D1/de
Publication of DE69225527T2 publication Critical patent/DE69225527T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

    Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf ein System zum automatischen Bestimmen der Logikfunktion einer Schaltung und insbesondere auf ein System, welches automatisch die Wahrheitstabelle einer unbekannten kombinatorischen Logikschaltung bestimmt, oder welches automatisch die Eingangsanregungen bestimmt, welche Ausgangsübergänge der Ausgangssignale einer bekannten kombinatorischen Logikschaltung bewirken werden.
  • Beschreibung des Stands der Technik
  • Wenn integrierte Schaltungen zum Durchführen spezieller Funktionen entworfen werden, zeichneten Entwurfsingenieure üblicherweise schematische Diagramme der vorgeschlagenen Schaltung, wobei alle Elemente und Verbindungen dargelegt werden, die notwendig sind, damit die Schaltung die erwünschten Funktionen durchführt. Aus den schematischen Diagrammen wurden Prototypenschaltungen gebaut und getestet. Vor dem Aufkommen von computerunterstützten Entwurfssystemen (CAD-Systemen) wurde der Prototyp der Schaltung tatsächlich gebaut, und zwar unter Verwendung von Techniken, wie z. B. der Drahtwickeltechnik und dergleichen. Die resultierende Prototypschaltung wurde dann getestet, indem unterschiedliche Kombinationen von Eingangssignalen (Eingangsvektoren) an die Schaltung angelegt wurden, und indem das Ausgangssignal der Schaltung auf einem Gerät, wie z. B. einem Oszilloskop, überprüft wurde. Fehler im Schaltungsentwurf wurden gefunden, wenn die Ausgangssignale nicht die erwünschten waren, wobei der Entwurfsfehler oder die nicht korrekte Verbindung typischerweise manuell durch sorgfältige Untersuchung des Schaltungsplans und der Prototypverdrahtung verfolgt wurde. Sobald der Entwurfsfehler oder die nicht korrekte Verbindung gefunden wurden, wurde die Prototypenschaltung neu gebaut und wieder getestet. Dieses Schaltungsentwurfsverfahren war sehr zeitaufwendig und zäh, weshalb Entwurfsingenieure andere Verfahren suchten, um den Schaltplan in eine Schaltung umzuwandeln, welche die erwünschten Funktionen durchführt.
  • Computerunterstützte Entwurfssysteme (CAD-Systeme) haben den Entwurfsingenieuren in diesem Schaltungsentwurfsverfahren sehr stark geholfen. CAD-Systeme erlauben es dem Entwurfsingenieur, den Schaltplan auf dem Computer vorzubereiten, die Schaltung zur Implementation auf einer Schaltungsplatine zu layouten, und die Schaltung unter Verwendung von Logiksimulationstechniken zu testen. Logiksimulatoren erlauben es somit dem Entwurfs- bzw. Entwicklungsingenieur, den vorgeschlagenen Schaltungsentwurf ohne tatsächliches Aufbauen des Prototyps zu testen. Dies wird erreicht, indem der Entwicklungsingenieur die Elemente und Knoten der Schaltung als Eingabe in den Logiksimulator und die Signale, die an diesen Knoten für spezielle Eingänge erwartet werden, spezifiziert. Diese Informationen werden direkt aus dem Schaltungsdiagramm bestimmt und typischerweise in den Logiksimulator als Eingabedatei eingegeben. Der Logiksimulator schickt diese Daten durch ein Modell der vorgeschlagenen Schaltung, um die Ausgangssignale der simulierten Schaltung zu erzeugen. Solche Logiksimulatoaren sind jedoch darin begrenzt, daß sie keine Verwendung eines Verhaltensmodells vorsehen, welches die Schaltung charakterisiert, weshalb sie nicht die Möglichkeit vorsehen, daß die Simulationseingabevektoren zum Testen des Schaltungsentwurfs automatisch aus dem Schaltplan extrahiert werden. Stattdessen mußte der Entwicklungsingenieur das Simulationsmodell mühsam entwickeln und implementieren und die Eingabevektordatei erzeugen.
  • Ein Beispiel eines Logiksimulators des oben beschriebenen Typs ist ein Schaltebenenlogiksimulator. Schaltebenenlogiksimulatoren können Knotenbewertungsalgorithmen umfassen, welche es möglich machen, daß der Logiksimulator den Betrieb der modellierten Schaltungen vollständig mit bidirektionalen Schaltern simuliert. Schaltebenenlogiksimulatoren sind somit wichtige Werkzeuge zum Schaltungsentwurf, da immer dann, wenn ein Entwurfsingenieur die Verwendung klassischer Logikgatter beendet und eine dynamische oder Tranfergatterlogik verwendet, ein Schaltebenenlogiksimulator notwendig wird. Dies ist der Fall, da ein herkömmlicher Logiksimulator nicht alle komplexen Interaktionen modellieren kann, welche zwischen nicht-klassischen Transistorverbindungen stattfinden. Demgemäß ist die hierin vorhandene Beschreibung auf ein System gerichtet, das einen Schaltebenenlogiksimulator umfaßt.
  • Ein Modell der Schaltung muß vom Entwicklungsingenieur erzeugt werden, bevor eine Simulation stattfinden kann. Dies bedeutet, daß alle Elemente, Verbindungen und Knoten für einen Schaltungsentwurf gesammelt und in eine Eingangsdatendatei umgewandelt werden müssen, welche in einem Format ist, die für den Logiksimulator akzeptabel ist. Typischerweise enthält die Eingangsdatendatei eine Datei mit einem Eintrag für jeden Transistor in dem Entwurf (wobei die Datei unter Verwendung von Knotennummern beschrieben werden kann), und dieselbe umfaßt ferner eine Datei, die eine Abbildung der Knotennummer auf einen Signalname enthält. Das Modell wird erzeugt, indem die Eingangsdateien in eine binäre Datenbank umgewandelt werden, welche direkt in den Logiksimulator geladen werden kann. In anderen Worten liest der Logiksimulator die Eingangsdatendatei und formatiert sie in eine Speicher-basierte Datenstruktur, die die Verbindungssituation des Schaltungsmodells ausdrückt. Diese Datenstruktur wird dann als Datei in dem Logiksimulator gespeichert und als die Logiksimulatordatenbank bezeichnet.
  • Zusätzlich zum Schaltungsmodell ist es nötig, eine Eingangsvektordatei von Eingangserregungssignalen zu erzeugen, derart, daß ein Betrieb des Schaltungsmodells simuliert werden kann. Die Eingangsvektordatei enthält die gesamten erwünschten Eingangserregunqssiqnalverläufe und Logiksimulatorsteuerbefehle. Die Eingangsvektordatei kann ebenfalls irgendwelche Ausgangsbestätigungen enthalten, die das erwünschte Verhalten des Schaltungsmodells vorhersagen. Die Aufnahme der Ausgangsbestätigungen in eine Eingangsvektordatei ermöglicht es, daß der eingestellte Eingangsvektor als Regressionstest wirkt, wodurch eine Nachverarbeitung eines Simulationsdurchlaufs wesentlich vereinfacht wird.
  • Wenn der Logiksimulator läuft, werden typischerweise zwei Ausgangsdateien erzeugt. Die erste Datei ist die Simulatorlistendatei, während die zweite die Rohdatendatei ist. Die Simulatorlistendatei ist typischerweise eine ASCII-Datei, welche irgendwelche Simulator-erzeugten Zustandsmeldungen sowie irgendwelche Bestätigungsfehler auflistet. Die Rohdatendatei ist andererseits typischerweise eine Nicht-ASCII- Datei, welche die Knotenübergänge für jeden Knoten in dem Logiksimulatormodell für alle Zeitschritte in der Simulation enthält. Die Rohdatendateien werden von dem Logiksimulator- Nachverarbeiter verwendet, um irgendeinen angeforderten Knoten für irgendeine Zeitdauer anzuzeigen. Insbesondere übersetzt der Nachverarbeiter oder Postprozessor die Rohdatendatei in eine Form, die der Benutzer betrachten kann. Der Benutzer kann vorzugsweise steuern, welche Signale und welche Zeitschritte angezeigt werden.
  • Zusätzlich kann der Logiksimulator eine Datei umfassen, welche die Werte aller Knoten zu einem speziellen Zeitpunkt enthält. Diese Datei kann verwendet werden, um eine Simulation in einen bekannten Zustand zurückzusetzen, und dieselbe wird üblicherweise verwendet, wenn eine Eingangsvektordatei entwickelt wird, um einen Zustand des Schaltungsmodells, wie z. B. einen Rücksetzzustand, zu speichern, welcher während einer Simulation immer wieder hergestellt werden kann. Die Fähigkeit, an einem bekannten Punkt neu zu starten, vereinfacht das Verfahren des Entwickelns einer Eingangsvektordatei.
  • Die Entwicklung einer Eingangsvektordatei zum Testen eines simulierten Logikentwurfs bleibt jedoch eine ziemlich schwierige und zähe Angelegenheit. Typischerweise wird die Eingangsvektordatei von dem Entwurfsingenieur manuell durch Spezifizieren der Eingangsvektoren erzeugt, welche nötig sind, um die Schaltung gemäß der Wahrheitstabelle zu erregen. In anderen Worten mußte der Entwurfsingenieur die Abschnitte der Wahrheitstabelle der Schaltung spezifizieren, welche durch eine spezielle Simulation getestet werden sollte, und derselbe mußte die notwendige Eingangsdatei vorbereiten, wobei er die Kapazitäten der Schaltung, die Verzögerungszeiten und dergleichen berücksichtigen mußte, derart, daß sich die Simulation korrekt verhalten würde. Dieses Verfahren erfordert ein Versuch-und-Fehler-Verfahren auf Seiten des Entwurfsingenieurs, und dasselbe erfordert, daß der Entwurfsingenieur die korrekte Simulationsausgangsantwort für jedes Eingangserregungssignal annimmt. Dies ist praktisch unmöglich, wenn die Logik der kombinatorischen Logikschaltung unbekannt ist.
  • Demgemäß ist es wünschenswert, daß die Wahrheitstabelle und die Eingangsvektoren einer zu simulierenden digitalen Schaltung (oder einer unbekannten kombinatorischen Logikschaltung) automatisch bestimmt werden, derart, daß der Benutzer nicht mehr die Eingangswerte zum Testen des Schaltungsentwurfs oder zum Bestimmen der Wahrheitstabelle der Schaltung spezifizieren muß. Vorzugsweise kann ein System zum automatischen Bestimmen der Wahrheitstabelle und zum automatischen Erzeugen eines Satzes von Testvektoren entwickelt werden, welche die simulierte Schaltung in einen Aktivitätszustand erregen, ohne daß der Benutzer die Eingangssignale spezifizieren muß. Die vorliegende Erfindung wurde darauf zugeschnitten, diese Bedürfnisse zu erfüllen.
  • Zusammenfassung der Erfindung
  • Die oben erwähnten Probleme im Stand der Technik wurden gemäß der vorliegenden Erfindung überwunden, indem ein System zum automatischen Bestimmen der Wahrheitstabelle oder Übergangstabelle einer kombinatorischen Logikschaltung, die in einem Logiksimulator simuliert wird, entwickelt wurde, und zwar statt der Situation, in der der Benutzer die Wahrheitstabelle oder Übergangstabelle spezifizieren mußte. Die Erfindung ist besonders nützlich, wenn die Logikschaltung eine unbekannte Logikfunktion aufweist, und dieselbe wird erreicht, indem ein System geschaffen wird, welches mit dem Logiksimulator kommuniziert, um einen Satz von Eingangsvektoren (Eingangserregungssignalen) zu schaffen, welche die simulierte Logikschaltung in einen Aktivitätszustand erregen. Insbesondere erzeugt die Erfindung aus einer Liste von Eingangssignalen und Ausgangssignalen der Schaltung einen vollständigen Satz von binären Vektoren in dem Eingangsraum, dieselbe sendet sie zu dem Logiksimulator und untersucht den Zustand der Ausgangsvektoren aus dem Logiksimulator, um zu bestimmen, welche Eingangs-zu-Ausgangs-Wege existieren. Da dieses Verfahren automatisch durchgeführt wird, ist die vorliegende Erfindung in der Verwendung viel einfacher als es bisher gemäß den CAD-Simulationstechniken des Stands der Technik möglich war, und dieselbe liefert ferner vollständigere Ergebnisse. Die vorliegende Erfindung erleichtert somit den integrierten Schaltungsentwurf, das Testen und das Charakterisieren für Entwurfs ingenieure wesentlich.
  • Das System der Erfindung bestimmt automatisch die Logikfunktion einer Kombinationsschaltung unter Verwendung eines Logiksimulators, indem folgende Schritte durchgeführt werden:
  • Empfangen von Eingangs- und Ausgangstorinformationen für die Schaltung als Eingangsdaten; und
  • für jedes jeweilige Eingangstor der Schaltung und für jede jeweilige Eingangslogiksignalstruktur der Eingangstore der Schaltung neben dem jeweiligen Eingangstor, Durchführen der folgenden Schritte:
  • (a) Anlegen jeweiliger Eingangslogikwerte an das Eingangstor und Simulieren der Logikwerte an den Ausgangstoren der Schaltung für eine Eingangslogiksignalstruktur, die den Eingangslogikwert umfaßt, und
  • (b) Bestimmen, ob einer der Logikwerte an den Ausgangstoren seinen Zustand zwischen jeweiligen Simulationen für verschiedene Eingangslogikwerte verändert, die an das Eingangstor angelegt werden, und wenn dies so ist, Speichern zumindest entweder der Eingangslogiksignalstrukturen oder der entsprechenden Eingangslogikzustandsübergänge oder der entsprechenden Ausgangslogikzustandsübergänge in einem Speicher.
  • Vorzugsweise umfaßt das Verfahren ferner den weiteren Schritt des Bestimmens aus der Ausgabe des Logiksimulators, ob ein Eingangs-Ausgangs-Weg zwischen jedem jeweiligen Eingangstor und jedem jeweiligen Ausgangstor der Schaltung existiert. Ferner umfaßt das Verfahren der Erfindung vorzugsweise die weiteren Schritte des Umwandelns der in dem Speicher gespeicherten Eingangslogikzustandsübergänge in eine stückweise lineare Signalform und des Anlegens der stückweise linearen Signalform an einen Analogsimulator zur Simulation der Ausgangssignalformen der Schaltung, wodurch eine Messung der Eingangs-zu-Ausgangs-Verzögerung der Schaltung möglich wird.
  • Das Verfahren der Erfindung ist durch ein System implementiert, welches folgende Merkmale aufweist: einen Logiksimulator, vorzugsweise einen Schaltebenenlogiksimulator, zum Simulieren des vorweg genommenen Ausgangssignals der Schaltung als Reaktion auf ein benanntes Eingangssignal, eine Einrichtung zum Liefern von Eingangs- und Ausgangstorinformationen für die Schaltung als Eingangsdaten, einen Übergangsdatenspeicher und eine Übergangstabellenbestimmungseinrichtung. Die Übergangstabellenbestimmungseinrichtung der Erfindung bestimmt fur jedes jeweilige Eingangstor der Schaltung und für jede jeweilige Eingangslogiksignalstruktur der Eingangstore der Schaltung außer dem jeweiligen Eingangstor, ob sich irgendeiner der Logikwerte an den Ausgangstoren bezüglich seines Zustands zwischen jeweiligen Simulationen für unterschiedliche Eingangslogikwerte, die an das Eingangstor angelegt werden, verändert, und wenn dies so ist, speichert sie zumindest entweder die Eingangslogiksignalstrukturen oder die entsprechenden Eingangslogikzustandsübergänge oder die entsprechenden Ausgangslogikzustandsübergänge in dem Übergangsdatenspeicher. Bei einem bevorzugten Ausführungsbeispiel umfaßt die Übergangstabellenbestimmungseinrichtung eine Verarbeitungseinrichtung zum Durchführen folgender Schritte für jedes jeweilige Eingangstor der Schaltung und für jede jeweilige Eingangslogiksignalstruktur der Eingangstore der Schaltung außer dem jeweiligen Eingangstor:
  • (a) Einstellen eines Eingangslogikwerts des Eingangstors auf einen ersten Logikpegel und Anweisen des Logiksimulators, um die Logikwerte an den Ausgangstoren der Schaltung für eine Eingangslogiksignalstruktur, die den Eingangslogikwert umfaßt, zu simulieren;
  • (b) Einstellen des Eingangslogikwerts des Eingangstors auf einen zweiten Logikpegel und Anweisen des Logiksimulators, um die Logikwerte an den Ausgangstoren der Schaltung für die Eingangslogiksignalstruktur, die den Eingangslogikwert umfaßt, zu simulieren;
  • (c) Bestimmen, ob einer der Logikwerte an den Ausgangstoren zwischen den Simulationen der Schritte (a) und (b) seinen Zustand verändert, und wenn dies so ist, Speichern der Eingangslogiksignalstruktur, die den Eingangslogikwert umfaßt, des entsprechenden Eingangslogikzustandübergangs und des entsprechenden Ausgangslogikzustandübergangs in dem Datenspeicher;
  • (d) Einstellen des Eingangslogikwerts des Eingangstors zurück auf den ersten Logikpegel und Anweisen des Logiksimulators, um die Logikwerte an den Ausgangstoren der Schaltung für die Eingangslogiksignalstruktur, die den Eingangslogikwert umfaßt, zu simulieren; und
  • (e) Bestimmen, ob einer der Logikwerte an den Ausgangstoren zwischen den Simulationen der Schritte (b) und (d) seinen Zustand verändert, und wenn dies so ist, Speichern der Eingangslogiksignalstruktur, die den Eingangslogikwert umfaßt, des entsprechenden Eingangslogikzustandübergangs und des entsprechenden Ausgangslogikzustandübergangs in dem Übergangsdatenspeicher.
  • Gemäß einem solchen System muß der Entwicklungsingenieur nicht unabhängig bestimmen, welche Eingangsvektoren Veränderungen in dem Ausgangssignal des Schaltungsmodells bewirken. Dies wird automatisch durchgeführt, derart, daß eine wesentliche Menge der Schaltungsentwurfszeit eingespart werden kann.
  • Kurzbeschreibung der Zeichnungen
  • Diese und weitere Ziele und Vorteile der Erfindung werden aus der folgenden detaillierten Beschreibung des gegenwärtig bevorzugten beispielhaften Ausführungsbeispiels der Erfindung, welche in Verbindung mit den beigefügten Zeichnungen durchgeführt wird, offensichtlicher und deutlicher. Es zeigen:
  • Fig. 1 eine Beispielschaltung mit drei Eingängen und zwei Ausgängen, deren Logik durch Simulation gemäß den Techniken der Erfindung getestet wird;
  • Fig. 2 auf schematische Art und Weise ein System zum Bestimmen der Logikfunktion einer Schaltung gemäß den Techniken der Erfindung;
  • Fig. 3(a) und 3(b) zusammengenommen ein Flußdiagramm des Eingangsvektorgenerators 206 des Ausführungsbeispiels von Fig. 2; und
  • Fig. 4 ein Beispiel einer Wahrheitstabelle und einer Übergangstabelle, die von dem erfindungsgemäßen System automatisch erzeugt wurden, wenn die Eingänge und Ausgänge eines Komplementärausgangs- NAND-Gatters mit drei Eingängen charakterisiert werden.
  • Detaillierte Beschreibung des gegenwärtig bevorzugten Ausführungsbeispiels
  • Ein System und Verfahren, welches die oben erwähnten und weitere nützliche Vorteile gemäß einem bevorzugten beispielhaften Ausführungsbeispiel der Erfindung liefern, wird nachfolgend bezugnehmend auf die Fig. 1 bis 4 beschrieben.
  • Demgemäß sollten alle Fragen bezüglich des Schutzbereichs der Erfindung durch Bezugnahme auf die beigefügten Ansprüche gelöst werden.
  • Fig. 1 zeigt auf schematische Art und Weise eine kombinatorische Logikschaltung, welche durch einen Schaltebenenlogiksimulator gemäß der Erfindung getestet werden soll. Wie es in der Fig. gezeigt ist, umfaßt die zu testende Schaltung eine Mehrzahl von Eingängen I&sub1;-I&sub3; und eine Mehrzahl von Ausgängen O&sub1; und O&sub2;. Natürlich können viel mehr Eingänge und Ausgänge gemäß der erwünschten Funktion der Schaltung verwendet werden. Ein Logiksimulatormodell dieser Schaltung wird simuliert und dann gemäß bekannter Techniken getestet, indem eine Vielzahl von Eingangslogiksignalstrukturen an die Eingänge I&sub1;-I&sub3; angelegt werden. Diese Eingangssignalstrukturen simulieren somit wirksam die externe Umgebung der Schaltungslogik 100. Die resultierenden Ausgangssignale O&sub1; und O&sub2; sowie andere Werte an Knoten innerhalb der Schaltungslogik 100 werden durch den Logiksimulator bestimmt, wobei der Entwurfsingenieur basierend auf den Werten, die von dem Logiksimulator zurückgegeben werden, bestimmen kann, ob die Schaltung korrekt entworfen ist, oder ob ein Neuentwurf notwendig ist.
  • Wie es in Fig. 2 gezeigt ist, wird das Simulationsmodell 200 für die Schaltungslogik 100 in einen Schaltebenenlogiksimulator 202 zum Modellieren der Schaltungslogik 100 eingegeben. Die Eingangserregungssignale zum Testen der Schaltungslogik 100 werden dann in den Schaltebenenlogiksimulator 202 über eine Kommunikationsschnittstelle, wie z. B. einen UNIX-Sockel (UNIX ist eine eingetragene Marke), eingegeben. Vorzugsweise ist der Kommunikationssockel von dem Typ, der von Craig Heikes in der verwandten EP-Patentanmeldung Nr. 508619 beschrieben ist, die am gleichen Tag wie diese Anmeldung durch den gleichen Anmelder wie bei der vorliegenden Anmeldung eingereicht worden ist. Der Kommunikationssockel legt Eingangserregungssignale an, welche aus den Eingangstoren I[1,...,N] und den Ausgangstoren O[1,...,M] bestimmt werden, die in einer Datei 204 durch einen Wahrheitstabellen- (Vektor-) Generator 206 gemäß den Techniken der Erfindung bereitgestellt werden. In anderen Worten werden, wie es nachfolgend detaillierter beschrieben wird, die Eingangsund die Ausgangstore der Schaltungslogik 100 als Datendatei 204 eingegeben, wobei der Wahrheitstabellen- (Vektor-) Generator 206 der Erfindung aus den Daten in der Datei 204 automatisch die Eingangslogiksignalstruktur und die entsprechenden Eingangslogikzustandsübergänge für die jeweiligen Eingangssignale der Schaltungslogik 100 bestimmt und von dem Schaltebenenlogiksimulator 202 die entsprechenden Logikzustände an den Ausgängen der Schaltungslogik 100 empfängt. Wenn der Schaltebenenlogiksimulator 202 insbesondere Logikzustandsübergänge an den Ausgängen desselben als Reaktion auf Eingangserregungssignale von dem Wahrheitstabellengenerator 206 erzeugt, wird dies durch den Wahrheitstabellengenerator 206 erfaßt und in einer Übergangstabelle aufgezeichnet. Aus der Übergangstabelle kann der Entwurfsingenieur oder ein Computer bestimmen, welche Eingangssignale Veränderungen in welchen Ausgangssignalen erzeugen, und demgemäß, welche Eingänge über einen Schaltungsweg mit einem speziellen Ausgangstor verbunden sind.
  • Wie es für Fachleute in der Technik bekannt ist liefert das Simulationsmodell 200 ein Schaltungsmodell, welches die Schaltungslogik 100 auf einer Transistorebene als unterschiedliche Knoten darstellt. Aus diesem Modell bestimmt der Schaltebenenlogiksimulator 202 erfaßte Wege durch die Schaltungslogik 100. Insbesondere legt der Schaltebenenlogiksimulator 202 die spezifizierten Eingangserregungssignale an das Simulationsmodell 200 an und gibt die Ergebnisse an den Wahrheitstabellengenerator 206 für eine Bestimmung aus, welche Eingangssignale Ausgangssignaländerungen bewirken.
  • Wie es in dem Abschnitt der Beschreibung bemerkt wurde, der sich mit dem Stand der Technik befaßt, erlaubt es ein Schaltebenenlogiksimulator 202, daß die Schaltungslogik 100 vollständig mit bidirektionalen Schaltern modelliert wird, welche Knoten verbinden. Bei einem bevorzugten Ausführungsbeispiel werden die Eingangsknoten der simulierten Schaltungslogik 100 als geordnetes Paar von Zustand und Stärke dargestellt. Der Zustand eines Knotens kann entweder 0, 1 oder X (nicht relevant) sein, während die Stärke eines Knotens als Ganzzahl dargestellt sein kann. Da Schaltebenenlogiksimulatoren 202 jedoch für Fachleute bekannt sind, wird keine Beschreibung eines speziellen Schaltebenenlogiksimulators 202 an dieser Stelle gegeben. Stattdessen ist es für Fachleute offensichtlich, daß die Wichtigkeit der vorliegenden Erfindung darin gesehen werden kann, daß die Eingangserregungssignale für den Schaltebenenlogiksimulator 202 automatisch bestimmt werden können, ohne daß der Benutzer die Eingangserregungssignale spezifizieren muß, oder daß derselbe sogar die Schaltungslogik der zu testenden Schaltung kennen muß. Die Eingangserregungssignale können natür lich für Eingangssignale in unterschiedliche Logiksimulatoren unterschiedlich formatiert sein. In anderen Worten liegt die Wichtigkeit der hierin beschriebenen Erfindung darin, daß Testvektoren, welche die simulierte Schaltungslogik 100 in Aktivität erregen, automatisch berechnet werden können, ohne daß eine zeitaufwendige Benutzerintervention erforderlich ist. Dieser Aspekt der Erfindung wird nachfolgend detaillierter bezugnehmend auf die Fig. 3 und 4 beschrieben.
  • Die Fig. 3(a) und 3(b) stellen gemeinsam ein Flußdiagramm zum Berechnen der Eingangserregungssignale für einen Schaltebenenlogiksimulator 202 gemäß der Technik der Erfindung dar. Die vorliegende Erfindung ermöglicht es, daß die Wahrheitstabelle und/oder die Übergangstabelle der Schaltungslogik 100 automatisch bestimmt werden, ohne daß der Entwurfsingenieur manuell alle möglichen Eingangslogikzustände durcharbeiten muß, was für eine kombinatorische Logikschaltung mit einer Mehrzahl von Eingängen außerordentlich mühsam ist. Die vorliegende Erfindung überprüft stattdessen alle Eingangszustände durch erschöpfendes Durchsuchen des Eingaberaums, um zu bestimmen, welche Kombinationen von Eingangssignalen Veränderungen in den Ausgangssignalen erzeugen. Eine solche umfassende Technik war bisher im Stand der Technik nicht möglich.
  • Das in den Fig. 3(a) und 3(b) dargestellte Verfahren erlaubt es somit dem Entwicklungsingenieur, den Logiksimulator einfach anzuweisen, den Eingangsblock der Schaltungsschematik in dem Logiksimulatormodell zu charakterisieren, ohne manuell bestimmen zu müssen, welche Eingangssignale Veränderungen in den Ausgangssignalen erzeugen. Die resultierenden Übergangsdaten können zum Testen der Schaltungslogik 100 verwendet werden, um zu bestimmen, ob die Schaltung korrekt entworfen ist, oder im anderen Fall können die Eingangserregungssignale verwendet werden, um dabei zu helfen, die Logikfunktion einer unbekannten Schaltung zu bestimmen. Das Verfahren der Fig. 3(a) und 3(b) kann ebenfalls verwendet werden, um Wege zu identifizieren, die verwendet werden, um die Schaltungslogik 100 zu charakterisieren, um die Verzögerung von einem Eingang zu einem Ausgang derselben zu bestimmen. Erregungsvektoren können beispielsweise gemäß den nachfolgend zu beschreibenden Techniken erzeugt werden, wobei anschließend für jeden interessierenden Parameterwert eine Simulation durchgeführt werden kann, derart, daß die Verzögerung vom Eingang zum Ausgang gemessen werden kann. Die extrahierten Verzögerungsdaten können dann an erwünschte Gleichungen gemäß den Techniken, welche für Fachleute bekannt sind, angepaßt werden.
  • Wie es in den Fig. 3(a) und 3(b) gezeigt ist, berechnet der Vektorgenerator 206 die Eingangserregungssignale in den Schaltebenenlogiksimulator 202 durch Starten an einem Schritt 300 und durch Lesen der Eingangsknoten I[1,....,N) und der Ausgangsknoten O[1,...,M] von der Eingangsdatendatei 204 in einem Schritt 302. Ebenfalls können, wo notwendig, Leistungsversorgungsdaten für die simulierte Schaltung von einer Datei 204 gelesen werden (z. B. die Eingangsdatei 204 könnte spezifizieren, daß VDD einen Wert von 5V hat). Eine Kommunikationssockelverbindung wird dann zwischen dem Vektorgenerator 206 und dem Schaltebenenlogiksimulator 202 gemäß bekannter Techniken geöffnet. Der Logiksimulator 202 wird dann initialisiert, wonach die Leistungsversorgungen der simulierten Schaltung eingestellt werden (Schritt 304).
  • Das Verfahren tritt dann für jedes Eingangssignal i in eine Schleife ein, um die Eingangssignalstrukturen zu bestimmen, welche Ausgangssignalübergänge bewirken. Der Eingangszähler i wird somit gleich 1 für das erste Eingangssignal I[i] eingestellt (Schritt 306). Ein Wert "p", der der ersten Signalstruktur für die restlichen Eingänge (außer I[i]) der Schaltungslogik entspricht, wird dann in einem Schritt 308 eingegeben. Der erzeugte Wert für das erste Eingangssignal I[i] wird dann in einem Schritt 310 gleich einem niedrigen Logikzustand ("0") eingestellt und zusammen mit der ersten Signalstruktur p zu dem Logiksimulator 202 gesendet. Der Logiksimulator 202 fährt dann fort, die entsprechenden Knoten- und Ausgangswerte zu simulieren, wobei diese Werte zu dem Vektorgenerator 206 über den Kommunikationssockel zurückgegeben und gespeichert werden (Schritt 312). Der Eingangswert wird dann in einen hohen logischen Zustand ("1") in einem Schritt 314 verändert und wieder zusammen mit der ersten Signalstruktur p zu dem Logiksimulator 202 gesendet. Der Logiksimulator 202 fährt wieder fort und simuliert die entsprechenden Knotenwerte und Ausgangssignale für diese Eingangssignale und gibt die entsprechenden Werte über den Kommunikationssockel zu dem Vektorgenerator 206 zurück. Diese Werte werden dann gespeichert (Schritt 316). In einem Schritt 318 wird dann bestimmt, ob die Ausgangswerte, die von dem Logiksimulator 202 in den Schritten 312 und 316 zurückgegeben wurden, unterschiedliche Werte haben, und somit, ob sich ein Ausgang bei der ansteigenden Flanke des gegenwärtigen Eingangssignals I[i] verändert hatte. Wenn in dem Schritt 318 eine Änderung der Ausgangswerte erfaßt worden ist, werden die gegenwärtigen Eingangs- und Ausgangswerte und die Eingangs- und Ausgangsübergangswerte in einem Schritt 320 in einen Speicher geschrieben. Andernfalls springt das Verfahren direkt zu einem Schritt 322, in dem der Eingangszustand für das gegenwärtige Eingangssignal I[i] zurück zu dem niedrigen logischen Pegel ("0") geändert wird. Die Eingangswerte, die I[i] und p umfassen, werden wieder zu dem Logiksimulator 202 zur Simulation gesendet. Wie vorher wird das Ausgangssignal des Logiksimulators 202 über den Kommunikationssockel anschließend zu dem Vektorgenerator 206 zurückgegeben und gespeichert (Schritt 324). Es wird dann in einem Schritt 326 bestimmt, ob die Ausgangswerte, die in dem Schritt 316 und in dem Schritt 324 zurückgegeben worden sind, wertemäßig unterschiedlich sind, und somit, ob zumindest ein Ausgangswert bei der fallenden Flanke des gegenwärtigen Eingangswerts I[i] verändert worden ist. Wenn eine solche Veränderung erfaßt wird, werden die gegenwärtigen Eingangssignal- und Ausgangssignalwerte und die Eingangsund Ausgangsübergangswerte in einem Schritt 328 in den Speicher geschrieben. Andernfalls springt die Steuerung direkt zu einem Schritt 330, in dem bestimmt wird, ob die gegenwärtige Eingangssignalstruktur p die letzte Struktur ist. Wenn die gegenwärtige Eingangssignalstruktur p nicht die letzte Struktur ist, wird p gleich der nächsten Struktur in einem Schritt 332 eingestellt, wonach die Schritte 310 bis 330 wiederholt werden. Dieses Verfahren wird für jede der 2N-1 Eingangssignalstrukturen p wiederholt, wobei N die Gesamtzahl der Eingangstore der Schaltungslogik 100 ist. Wenn in dem Schritt 330 jedoch bestimmt wird, daß die gegenwärtige Signalstruktur p die letzte Struktur für einen speziellen Eingang i ist, wird der Eingang i zu dem nächsten Eingang (i+1) in einem Schritt 334 inkrementiert. Es wird dann in einem Schritt 336 bestimmt, ob der vorher verarbeitete Eingang i der letzte Eingang war, und, wenn dies so war, wird die Sockelverbindung zu dem Logiksimulator 202 in einem Schritt 338 geschlossen, und die Verarbeitung wird in einem Schritt 340 beendet. Andernfälls werden die Schritte 308 bis 334 für jeden verbleibenden Eingang i in die Schaltungslogik 100 wiederholt.
  • Ein Beispiel des Betriebs des Vektorgenerators 206 der Fig. 3(a) und 3(b) wird nachfolgend bezugnehmend auf Fig. 4 beschrieben. Fig. 4 zeigt die Eingangs- und die Ausgangssignalwerte (Wahrheitstabelle), welche resultieren, wenn das Verfahren der Fig. 3(a) und 3(b) an ein Komplementärausgangs-NAND-Gatter mit drei Eingängen I[1:3] und zwei Ausgängen O[1:2] angewandt wird. Wie es in Fig. 4 gezeigt ist, entspricht der Eingang i (Spalte 1) dem gegenwärtig getesteten Eingang (i = 1, 2 oder 3), während p (Spalte 2) den unterschiedlichen möglichen Logiksignalstrukturen für die anderen Eingänge entspricht (für eine Logikschaltung mit drei Eingängen hat p 2³&supmin;¹ = 4 Kombinationen pro Eingang i). Wie es in Spalte 3 von Fig. 4 gezeigt ist, entspricht I[i] dem Logikpegel (0 oder 1) für den gegenwärtigen Eingang i und die Signalstruktur p, welcher sich, wie es gezeigt ist, von niedrig auf hoch auf niedrig für jede Eingangssignalstruktur p verändert. Die resultierende Eingangssignalstruktur für die drei Eingänge (p und I[i]) ist dann in Spalte 4 von Fig. 4 gezeigt, wobei die entsprechenden zwei Ausgangssignalwerte O[1:2] in Spalte 5 gezeigt sind. Da die in dem Beispiel von Fig. 4 getestete Schaltung ein Komplementärausgangs-NAND-Gatter mit drei Eingängen ist, verändern die zwei Ausgangswerte nur den Zustand, wenn zwei der drei Eingangswerte hoch sind, und wenn der dritte Eingangswert den Zustand verändert. Wie es demgemäß in der ganz rechts gezeigten Spalte (Spalte 6) von Fig. 4 gezeigt ist, tritt eine ansteigende Flanke "^" oder eine fallende Flanke "v" in den Ausgangswerten nur dann auf, wenn an einem der Eingänge der Zustand verändert wird, während die anderen beiden Eingänge einen hohen Wert bekommen. Dies entspricht der Erwartung für ein Komplementärausgang-NAND-Gatter. Daher können die anderen Eingangskombinationen ignoriert werden, derart, daß nur die Eingangskombinationen [X11], [1X1] und [11X] (wobei X ein Übergang von 0 zu 1 oder von 1 zu 0 ist) als Übergangstabelle zum Testen der Schaltungslogik 100 eingegeben werden müssen. Der Logiksimulator 202 kann aus diesen Eingangserregungssignalen bestimmen, ob die Logikschaltung korrekt entworfen ist, oder die Wahrheitstabelle und die Übergangstabelle einer unbekannten Schaltung kann automatisch ohne Benutzereingabe bestimmt werden.
  • Natürlich werden es Fachleute würdigen, daß die Eingangslogikübergänge "1-0-1" statt "0-1-0" sein können, wie es in dem bevorzugten Ausführungsbeispiel gezeigt ist. Zusätzlich werden Fachleute würdigen, daß kompliziertere Schaltungsentwürfe in komplizierteren Übergangstabellen und Wahrheitstabellen resultieren werden. Fachleute in der Technik werden es jedoch ebenfalls würdigen, daß je komplizierter der Schaltungsentwurf ist, die vorliegende Erfindung dem Entwurfsingenieur um so mehr helfen wird.
  • Die obige Technik kann ebenfalls eine Hochaktivitätsübergangsmessung umfassen, wodurch alle Eingangssignale auf eingestellt werden, und der Logiksimulator 202 fortfährt, bevor alle Eingangssignale auf 1 eingestellt werden, wonach der Logiksimulator 202 wieder fortfährt. Wenn irgendwelche Ausgangssignale während diesen Simulationen verändert werden, dann können der Eingangswert und die Ausgangsübergangswerte gespeichert werden, um einen Hochleistungsverwendungsübergang zu zeigen. Alle Eingänge können dann auf 0 geändert werden, und die Simulation kann wieder durchgeführt werden, um zu bestimmen, ob irgendwelche Änderungen in dem Ausgangssignal bewirkt werden. Alle Änderungen werden wieder gespeichert, um Hochleistungsverwendungsübergänge zu zeigen.
  • Das Schaltungsentwurfsverfahren gemäß der Erfindung kann somit in die folgenden Schritte vereinfacht werden. Die Schaltungsschematik für die Schaltungslogik 100 wird erzeugt, und die integrierte Schaltung wird gemäß bekannter Techniken Layout-mäßig dargestellt. Ein Schaltungsextraktionsverfahren wird dann durchgeführt, bei dem die Transistoren in dem Schaltungsentwurf positioniert werden, wonach ihre Verbindungen bestimmt werden. Eine Ausgangsdatei wird erzeugt, welche die Knoteninformationen enthält. Diese Datei wird korrekt formatiert und in den Logiksimulator 202 als Simulationsmodell 200 eingegeben. Die Eingangserregungssignale (Eingangsvektoren) werden dann für jede mögliche Eingangssignalkombination gemäß den Techniken dieser Erfindung bereitgestellt, wobei der Logiksimulator 202 fortfährt, und wobei die Eingangssignale zu den Ausgangssignalen der simulierten Schaltung laufen dürfen. Sobald die Ausgangssignale der simulierten Schaltung eingeschwungen sind, werden die Werte der vorbestimmten Knoten und der Ausgangszustand der Schaltungslogik 100 bestimmt. Die Eingangsübergänge, die irgendwelche Ausgangsübergänge bewirken, werden aufgezeichnet. Die resultierenden Eingangsübergangsvektoren können dann verwendet werden, um den Entwurf der Logikschaltung 100 gemäß bekannter CAD-Simulationstechniken zu testen.
  • Ein Fachmann wird es würdigen, daß die Technik der Erfindung 3N 2N-1 Simulationsschritte erfordert, damit alle Eingangskombinationen für Niedrig-Hoch-Niedrig- oder Hoch-Niedrig- Hoch-Übergänge an jedem Eingang untersucht werden. Die Technik der Erfindung ermöglicht es somit, daß alle Zustände in dem Eingangsraum erschöpfend durchsucht werden, um zu bestimmen, welche Eingangssignale Veränderungen in den Ausgangssignalen bewirken. Ein Fachmann wird es würdigen, daß das Ausführungsbeispiel der Erfindung, wie es hierin beschrieben worden ist, nur für den Fall wirkt, bei dem ein einziges Eingangssignal eine Änderung in einem oder mehreren Ausgangssignalen bewirkt. Ein Fachmann in der Technik wird es ferner würdigen, daß die vorliegende Erfindung erweitert werden kann, um Situationen zu umfassen, bei denen eine Mehrzahl von Eingangssignalen Veränderungen in einem oder mehreren Ausgangssignalen bewirkt.
  • Ein Fachmann wird es ebenfalls würdigen, daß der Eingangsund der Ausgangsübergangsvektor, die gemäß der Technik in der Erfindung bestimmt werden, in stückweise lineare Signalformen umgewandelt werden können, und an einen Analogsimulator zum Simulieren der Ausgangssignalformen der Schaltungslogik 100 angelegt werden können. Ein Analogsimulator kann beispielsweise die Transistoren der Schaltungslogik 100 unter Verwendung der Transistorgrößen, der Kapazitäts- und der Verbindungs-Informationen modellieren, um aus der Ausgangssignalform die Verzögerungen zu bestimmen, welche durch die Schaltungslogik 100 bestimmt werden. Obwohl ein beispielhaftes Ausführungsbeispiel der Erfindung beschrieben worden ist, werden Fachleute ohne weiteres erkennen, daß viele zusätzlichen Modifikationen bezüglich des beispielhaften Ausführungsbeispiels möglich sind, ohne materiell von den neuartigen Lehren und Vorteilen der Erfindung abzuweichen. Die vorliegende Erfindung kann beispielsweise mit einem Simulationsmodell kombiniert werden, welches automatisch aus dem Schaltplan extrahiert wird, derart, daß die Simulation vollständig ohne Benutzerintervention ablaufen kann. Demgemäß sollen alle derartigen Modifikationen innerhalb des Bereichs der Erfindung, wie er in den folgenden Ansprüchen definiert ist, enthalten sein.

Claims (9)

1. Ein automatisiertes Verfahren zum Bestimmen der Logikfunktion einer kombinatorischen Schaltung (100) unter Verwendung eines Logiksimulators (202), mit folgenden Schritten:
Empfangen von Eingangs- (I) und Ausgangs- (O) Torinformationen für die Schaltung (100) als Eingangsdaten (302); und
für jedes jeweilige Eingangstor (I) der Schaltung (100) und für jede jeweilige Eingangslogiksignalstruktur (P) der Eingangstore (I) der Schaltung (100) neben dem jeweiligen Eingangstor (I), Durchführen der folgenden Schritte:
(a) Anlegen jeweiliger Eingangslogikwerte an das Eingangstor (I) und Simulieren der Logikwerte an den Ausgangstoren (O) der Schaltung (100) für eine Eingangslogiksignalstruktur (P), die den Eingangslogikwert umfaßt (310 - 316; 322 - 324), und
(b) Bestimmen, ob einer der Logikwerte an den Ausgangstoren (O) den Zustand zwischen jeweiligen Simulationen für unterschiedliche Eingangslogikwerte, die an das Eingangstor (I) angelegt werden (318; 326), seinen Zustand verändert, und wenn das so ist, Speichern zumindest entweder der Eingangslogiksignalstrukturen (P) oder der entsprechenden Eingangslogikzustandsübergänge oder der entsprechenden Ausgangslogikzustandsübergänge in einem Speicher (320; 328).
2. Das Verfahren gemäß Anspruch 1, das ferner den Schritt des Bestimmens aus dem Ausgangssignal des Logiksimulators (202) umfaßt, ob ein Eingangs-Ausgangs-Weg zwischen jedem jeweiligen Eingangstor (I) und jedem jeweiligen Ausgangstor (O) der Schaltung (100) existiert (Fig. 4).
3. Das Verfahren gemäß Anspruch 1, das ferner die Schritte des Umwandelns der Eingangslogikzustandsübergänge, die in dem Speicher gespeichert sind, in eine stückweise lineare Signalform und des Anlegens der stückweise linearen Signalform an einen Analogsimulator zum Simulieren der Ausgangssignalformen der Schaltung (100) umfaßt, wodurch eine Messung der Eingangs-zu-Ausgangs- Verzögerungen der Schaltung (100) ermöglicht wird.
4. Ein automatisiertes Verfahren zum Bestimmen der Logikfunktion einer kombinatorischen Logikschaltung (100) unter Verwendung eines Logiksimulators (202), mit folgenden Schritten:
Empfangen von Eingangs- (I) und Ausgangs-Tor- (O) Informationen für die Schaltung (100) als Eingangsdaten (302); und
für jedes jeweilige Eingangstor (I) der Schaltung (100) und für jede jeweilige Eingangslogiksignalstruktur (P) der Eingangstore (I) der Schaltung (100) neben dem jeweiligen Eingangstor (I), Durchführen der folgenden Schritte:
(a) Einstellen eines Eingangslogikwerts des Eingangstors (I) auf einen ersten Logikwert (310) und Simulieren der Logikwerte an den Ausgangstoren (O) der Schaltung (100) für eine Eingangslogiksignalstruktur (P), die den Eingangslogikwert (312) umfaßt,
(b) Einstellen des Eingangslogikwerts des Eingangstors (I) auf einen zweiten Logikwert (314) und Simulieren der Logikwerte an den Ausgangstoren (O) der Schaltung (100) für die Eingangslogiksignalstruktur (P), die den Eingangslogikwert umfaßt (316),
(c) Bestimmen, ob einer der Logikwerte an den Ausgangstoren (O) seinen Zustand zwischen den Simulationen der Schritte (a) und (b) verändert (318), und wenn dies so ist, Speichern der Eingangslogiksignalstruktur (P), die den Eingangslogikwert umfaßt, des entsprechenden Eingangslogikzustandübergangs und des entsprechenden Ausgangslogikzustandübergangs in einen Speicher (320),
(d) Einstellen des Eingangslogikwerts des Eingangstors (I) zurück auf den ersten Logikpegel (322) und Simulieren der Logikwerte an den Ausgangstoren (O) der Schaltung (100) für die Eingangslogiksignalstruktur (P), die den Eingangslogikwert umfaßt (324), und
(e) Bestimmen, ob einer der Logikwerte an den Ausgangstoren (O) seinen Zustand zwischen den Simulationen der Schritte (b) und (d) verändert (326), und wenn dies so ist, Speichern der Eingangslogiksignalstruktur (P), die den Eingangslogikwert umfaßt, des entsprechenden Eingangslogikzustandübergangs und des entsprechenden Ausgangslogikzustandübergangs in einem Speicher (328).
5. Das Verfahren gemäß Anspruch 4, das ferner den Schritt des Bestimmens aus dem Ausgangssignal des Logiksimulators (202) umfaßt, ob ein Eingangs-Ausgangs-Weg zwischen jedem jeweiligen Eingangstor (I) und jedem jeweiligen Ausgangstor (O) der Schaltung (100) existiert
6. Das Verfahren gemäß Anspruch 4, das ferner die Schritte des Umwandelns der Eingangslogikzustandsübergänge, die in dem Speicher gespeichert sind, in eine stückweise lineare Signalform und des Anlegens der stückweise linearen Signalform an einen Analogsimulator zum Simulieren der Ausgangssignalformen der Schaltung (100) umfaßt, wodurch eine Messung der Eingangs-zu-Ausgangs- Verzögerungen der Schaltung (100) ermöglicht wird.
7. Ein System zum Bestimmen der Logikfunktion einer kombinatorischen Schaltung (100), mit folgenden Merkmalen:
einem Logiksimulator (202) zum Simulieren des vorweggenommenen Ausgangssignals der Schaltung (100) als Reaktion auf ein bestimmtes Eingangssignal;
einer Einrichtung zum Liefern von Eingangs- (I) und Ausgangs- (O) Torinformationen für die Schaltung als Eingangsdaten (204);
einem Übergangsdatenspeicher; und
einer Übergangstabellenbestimmungseinrichtung (206) zum Bestimmen, für jedes jeweilige Eingangstor (I) der Schaltung (100) und für jede jeweilige Eingangslogiksignalstruktur (P) der Eingangstore (I) der Schaltung (100) neben dem jeweiligen Eingangstor (I), ob einer der Logikwerte an den Ausgangstoren (O) seinen Zustand zwischen jeweiligen Simulationen für unterschiedliche Eingangslogikwerte, die an das Eingangstor (I) angelegt werden, verändert, und wenn dies so ist, Speichern von zumindest entweder den Eingangslogiksignalstrukturen (P) oder den entsprechenden Eingangslogikzustandsübergängen oder den entsprechenden Ausgangslogikzustandsübergängen in dem Übergangsdatenspeicher.
8. Das System gemäß Anspruch 7, bei dem für jedes jeweilige Eingangstor (I) der Schaltung (100) und für jede jeweilige Eingangslogiksignalstruktur (P) der Eingangstore (I) der Schaltung (100) neben dem jeweiligen Eingangstor (I) die Übergangstabellenbestimmungseinrichtung (206) folgende Schritte durchführt:
(a) Einstellen eines Eingangslogikwerts des Eingangstors (I) auf einen ersten Logikpegel (310) und Anweisen des Logiksimulators die Logikwerte an den Ausgangstoren (O) der Schaltung (100) für eine Eingangslogiksignalstruktur (P), die den Eingangslogikwert umfaßt, zu simulieren (312);
(b) Einstellen des Eingangslogikwerts des Eingangstors (I) auf einen zweiten Logikpegel (314) und Anweisen des Logiksimulators (202), die Logikwerte an den Ausgangstoren (O) der Schaltung (100) für die Eingangslogiksignalstruktur (P), die den Eingangslogikwert umfaßt, zu simulieren (316);
(c) Bestimmen, ob einer der Logikwerte an den Ausgangstoren (O) seinen Zustand zwischen den Simulationen der Schritte (a) und (b) verändert (318), und wenn dies so ist, Speichern der Eingangslogiksignalstruktur (P), die den Eingangslogikwert umfaßt, des entsprechenden Eingangslogikzustandübergangs und des entsprechenden Ausgangslogikzustandübergangs in dem Übergangsdatenspeicher (320);
(d) Einstellen des Eingangslogikwerts des Eingangstors (I) zurück auf den ersten Logikpegel (322) und Anweisen des Logiksimulators (202), die Logikwerte an den Ausgangstoren (O) der Schaltung (100) für die Eingangslogiksignalstruktur (P), die den Eingangslogikwert umfaßt, zu simulieren (324); und
(e) Bestimmen, ob einer der Logikwerte an den Ausgangstoren (O) seinen Zustand zwischen den Simulationen der Schritte (b) und (d) verändert (326), und wenn dies so ist, Speichern der Eingangslogiksignalstruktur (P), die den Eingangslogikwert umfaßt, des entsprechenden Eingangslogikzustandübergangs und des entsprechenden Ausgangslogikzustandübergangs in dem Übergangsdatenspeicher (328).
9. Das System gemäß Anspruch 7, bei dem der Logiksimulator (302) ein Schaltebenenlogiksimulator ist.
DE69225527T 1991-04-11 1992-03-18 Verfahren und System zur automatischen Bestimmung der logischen Funktion einer Schaltung Expired - Fee Related DE69225527T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US68394991A 1991-04-11 1991-04-11

Publications (2)

Publication Number Publication Date
DE69225527D1 DE69225527D1 (de) 1998-06-25
DE69225527T2 true DE69225527T2 (de) 1998-09-10

Family

ID=24746112

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69225527T Expired - Fee Related DE69225527T2 (de) 1991-04-11 1992-03-18 Verfahren und System zur automatischen Bestimmung der logischen Funktion einer Schaltung

Country Status (5)

Country Link
US (1) US5426770A (de)
EP (1) EP0508620B1 (de)
JP (1) JP3248753B2 (de)
KR (1) KR920020341A (de)
DE (1) DE69225527T2 (de)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6430511B1 (en) * 1999-01-21 2002-08-06 University Of South Carolina Molecular computer
JP3124417B2 (ja) * 1993-07-13 2001-01-15 三菱電機株式会社 論理シミュレーションシステム及び論理シミュレーション方法
US5600579A (en) * 1994-07-08 1997-02-04 Apple Computer, Inc. Hardware simulation and design verification system and method
US5752000A (en) * 1994-08-02 1998-05-12 Cadence Design Systems, Inc. System and method for simulating discrete functions using ordered decision arrays
US6480817B1 (en) * 1994-09-01 2002-11-12 Hynix Semiconductor, Inc. Integrated circuit I/O pad cell modeling
JP3264806B2 (ja) * 1994-11-15 2002-03-11 富士通株式会社 回路シミュレーションモデル抽出方法及び装置
US5638381A (en) * 1995-07-21 1997-06-10 Motorola, Inc. Apparatus and method for deriving correspondence between storage elements of a first circuit model and storage elements of a second circuit model
US5859962A (en) * 1995-12-21 1999-01-12 Ncr Corporation Automated verification of digital design
US5883809A (en) * 1996-07-26 1999-03-16 3 Com Corporation Behavioral language models for testing and verification of digital electronic circuits
US5835698A (en) * 1996-09-20 1998-11-10 Novell, Inc. Unilaterally-controlled, time-insensitive, data-link recovery apparatus and method
US5995740A (en) * 1996-12-23 1999-11-30 Lsi Logic Corporation Method for capturing ASIC I/O pin data for tester compatibility analysis
US5920490A (en) * 1996-12-26 1999-07-06 Adaptec, Inc. Integrated circuit test stimulus verification and vector extraction system
US6449659B1 (en) 1997-07-14 2002-09-10 Microsoft Corporation System for instance customization with application independent programming of controls
US6718534B1 (en) 1997-07-14 2004-04-06 Microsoft Corporation System for application independent programming of controls
US6233723B1 (en) * 1997-08-28 2001-05-15 Vlsi Technology, Inc. Circuit behavioral information analysis apparatus and a method of analyzing behavioral information of a circuit
US7000202B1 (en) * 1998-07-22 2006-02-14 Magma Design Automation, Inc. Method of vector generation for estimating performance of integrated circuit designs
US6237117B1 (en) * 1998-09-30 2001-05-22 Sun Microsystems, Inc. Method for testing circuit design using exhaustive test vector sequence
GB9925659D0 (en) * 1999-10-29 1999-12-29 Sgs Thomson Microelectronics A method of verification
GB2368667B (en) * 2000-06-08 2002-09-18 Sgs Thomson Microelectronics Method and system for identifying inaccurate models
US6625770B1 (en) * 2000-06-20 2003-09-23 Lsi Logic Corporation Method of automatically generating schematic and waveform diagrams for relevant logic cells of a circuit using input signal predictors and transition times
US6708306B2 (en) * 2000-12-18 2004-03-16 Cadence Design Systems, Inc. Method for diagnosing failures using invariant analysis
US20080115028A1 (en) * 2006-10-23 2008-05-15 Samsung Electronics Co., Ltd. Method and system for test verification of integrated circuit designs

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0099114B1 (de) * 1982-07-13 1988-05-11 Nec Corporation Logischer Simulator durchführbar auf Ebenenbasis und auf logischer Blockbasis auf jeder Ebene
US4727313A (en) * 1985-03-08 1988-02-23 International Business Machines Corporation Fault simulation for differential cascode voltage switches
US4792913A (en) * 1986-11-03 1988-12-20 Grumman Aerospace Corporation Simulator for systems having analog and digital portions
JP2699377B2 (ja) * 1987-02-25 1998-01-19 日本電気株式会社 ハードウエア論理シミユレータ
JP2522541B2 (ja) * 1989-03-24 1996-08-07 三菱電機株式会社 シミュレ―ション装置及びシミュレ―ション方法
US5051938A (en) * 1989-06-23 1991-09-24 Hyduke Stanley M Simulation of selected logic circuit designs
JPH03118488A (ja) * 1989-10-02 1991-05-21 Hitachi Ltd 故障シミュレーション方式

Also Published As

Publication number Publication date
JPH05256901A (ja) 1993-10-08
DE69225527D1 (de) 1998-06-25
US5426770A (en) 1995-06-20
EP0508620B1 (de) 1998-05-20
EP0508620A2 (de) 1992-10-14
EP0508620A3 (de) 1994-01-12
KR920020341A (ko) 1992-11-21
JP3248753B2 (ja) 2002-01-21

Similar Documents

Publication Publication Date Title
DE69225527T2 (de) Verfahren und System zur automatischen Bestimmung der logischen Funktion einer Schaltung
DE69229889T2 (de) Automatische Logikmodell-Erzeugung aus einer Schaltschema-Datenbank
DE69033360T2 (de) Simulation von ausgewählten Logik-Schaltungsentwürfen
DE69321124T2 (de) Verfahren zur simulation einer elektronischen schaltung mit verbesserter genauigkeit.
DE69315576T2 (de) Verfahren und testanlage zur entwicklung einer integrierten schaltung.
DE3787431T2 (de) Verfahren zur Generierung einer Kandidatenliste von fehlerhaften Schaltungselementen und Verfahren zur Isolierung von Fehlern in einer logischen Schaltung unter Verwendung dieser Kandidatenliste.
DE3856079T2 (de) Verfahren für einen Blockdiagramm-Simulator
DE60314530T2 (de) Verfahren und system zum debuggen unter verwendung duplizierter logik
DE19700513C2 (de) Mit CAD-Daten verknüpftes Halbleiterprüfsystem
DE69226937T2 (de) Prüfverfahren für Leiterplatten
DE10031536A1 (de) Ereignisgestütztes Halbleiterprüfsystem
DE112020006021T5 (de) Auf maschinelles lernen basierendes verfahren und vorrichtung für die berechnung und verifizierung von verzögerungen des entwurfs integrierter schaltungen
DE112015002183T5 (de) Computerimplementiertes System und Verfahren zum Übersetzen von Verifizierungs-Befehlen eines elektronischen Designs
EP0580663B1 (de) Verfahren zur verifikation datenverarbeitender systeme
DE10296464T5 (de) Verfahren und Gerät zur Validierung des Entwurfes einer komplexen integrierten Schaltungen
DE68927984T2 (de) Logikschaltung mit einer Prüffunktion
DE60012735T2 (de) Verfahren zur unterscheidung von verschiedenen typen von abtastfehlern, rechnerbasierte schaltungsemulation und fehlerdetektionssystem
DE4211162C2 (de) Hardware-Emulationssystem
DE3854636T2 (de) Automatischer Prüfprozess für logische Geräte.
DE4327660C2 (de) Vorrichtung zum Herstellen einer und Herstellungsverfahren für eine integrierte Halbleiterschaltungsvorrichtung und elektronische Schaltungsvorrichtung
DE10043905A1 (de) Stromkopplung bei der gemischten Simulation von Schaltungen
DE69127798T2 (de) Verfahren und Gerät zum Organisieren und Analysieren von Zeitsteuerungsinformationen
EP1771799B1 (de) Verfahren zur bewertung der güte eines testprogramms
DE10324594A1 (de) Verfahren zum Bereitstellen einer verbesserten Simulationsfähigkeit eines dynamischen Systems außerhalb der ursprünglichen Modellierungsumgebung
DE10317431A1 (de) Verfahren zur Generierung von Testersteuerungen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: AGILENT TECHNOLOGIES, INC. (N.D.GES.D.STAATES DELA

8339 Ceased/non-payment of the annual fee