DE69225527T2 - Verfahren und System zur automatischen Bestimmung der logischen Funktion einer Schaltung - Google Patents
Verfahren und System zur automatischen Bestimmung der logischen Funktion einer SchaltungInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 41
- 230000007704 transition Effects 0.000 claims description 61
- 238000004088 simulation Methods 0.000 claims description 35
- 230000006870 function Effects 0.000 claims description 12
- 238000005259 measurement Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 4
- 230000001934 delay Effects 0.000 claims description 3
- 230000003466 anti-cipated effect Effects 0.000 claims description 2
- 238000013461 design Methods 0.000 description 35
- 239000013598 vector Substances 0.000 description 33
- 230000005284 excitation Effects 0.000 description 18
- 238000012360 testing method Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 7
- 238000011960 computer-aided design Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000000295 complement effect Effects 0.000 description 4
- 238000012938 design process Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000010618 wire wrap Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design 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
- 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.
- 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.
- 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.
- 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.
- 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.
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)
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)
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 | 故障シミュレーション方式 |
-
1992
- 1992-03-18 DE DE69225527T patent/DE69225527T2/de not_active Expired - Fee Related
- 1992-03-18 EP EP92302312A patent/EP0508620B1/de not_active Expired - Lifetime
- 1992-04-10 KR KR1019920006024A patent/KR920020341A/ko not_active Application Discontinuation
- 1992-04-10 JP JP11816792A patent/JP3248753B2/ja not_active Expired - Fee Related
-
1994
- 1994-04-28 US US08/235,107 patent/US5426770A/en not_active Expired - Fee Related
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 |