-
Verfahren
zum Arbeiten mit einer Netzliste, die einen Entwurf einer integrierten
Schaltung beschreibt, um eine reduzierte Anzahl von Fehlvergleichen
zwischen gemessenen Testergebnissen von einer integrierten Prototypschaltung
und simuliertem Betriebsverhalten zu schaffen.
-
Technisches Gebiet
-
Die
Erfindung bezieht sich auf ein Verfahren zum Arbeiten mit einer
Netzliste, die einen Entwurf einer integrierten Schaltung beschreibt,
ein Verfahren zum Generieren von Testvektoren, um eine reduzierte
Anzahl von Fehlvergleichen zwischen gemessenen Testergebnissen von
einer integrierten Prototypschaltung und simuliertem Betriebsverhalten
der integrierten Prototypschaltung zu schaffen, und ein Verfahren
zum Verbessern der Testbarkeit einer integrierten Schaltung.
-
Hintergrund der Technik
-
Integrierte
Schaltungen sind zunehmend komplexer geworden, mit dem Ergebnis,
dass Modellierung und Testen integrierter Schaltungen auch zunehmend
komplexer geworden sind. In Modellierung und Testen integrierter
Schaltungen und neuer integrierter Schaltungsentwürfe ist
es zunehmend schwerer, zwischen Testfehlern und Fehlern im Betriebsverhalten
zu unterscheiden, da die Kompliziertheit der zu modellierenden oder
testenden integrierten Schaltungen anwächst. Zusätzlich ist die Analyse von
Modellierungsergebnissen zunehmend rechenintensiver geworden.
-
Als
ein Ergebnis wurden Techniken zum Automatisieren der Modellierung
und des Testens entwickelt. Ein Beispiel einer solchen Technik ist
in „Test Data
Quality Assurance" von
Kawai et al. in Testing's Impact
on Design and Technology, Washington Sept. 8–11 1986, Proceedings of the
international Test Conference, IEEE Comp. Soc. Press, US, 8 September
1986, S. 848–852
offenbart, in dem ein System zur Generierung von Testdaten offenbart
ist. In diesem System sind großintegrierte
(LSI) Blöcke
in Grundelementen sowohl auf Gatterniveau wie auch auf Funktionsniveau
beschrieben, für
die verschiedene Simulationen durchgeführt wurden. Durch Vergleichen
der Simulationsergebnisse beider Simulationen können falsche Testdaten, die
durch Bibliotheksfehler, Entwurfsfehler oder Fehler im System zur
Testdatengenerierung festgestellt werden.
-
Eine
andere Technik, als Scan-Test (Abtasttest) bekannt, teilt einen
vorgeschlagenen Entwurf einer Digitalschaltung unter Verwendung
von Testlogik, die in die Digitalschalschaltung eingebaut werden muss,
in Scan-Pfade auf. Ein Scan-Pfad enthält kombinatorische Logik und
hat ein Ausgangssignal, das nur dann eine Funktion eines Eingangssignals
ist, wenn geeignete Testsignale an verschiedene Teilstücke der
Digitalschaltung angelegt werden, um den Scan-Pfad von anderen Teilstücken der
Schaltung zu isolieren und Eingangs- und Ausgangssignale in Flipflops,
die entlang des Scan-Pfads enthalten sind, zu erfassen.
-
Typischerweise
besteht jeder Scan-Pfad aus kombinatorischer Logik mit einem ersten,
ein erstes Signal speicherndes Flipflop an einem oder in der Nähe eines
ersten Endes des Scan-Pfads und einem zweiten, ein zweites Signal
speichernden Flipflop an einem zweiten Ende des Scan-Pfads. Das
erste und zweite Signal können
Eingangssignale oder Ausgangssignale sein, abhängig von den Tests, die durchgeführt werden,
und auch davon abhängig, wann
die Signale während
eines Scan-Tests abgefragt werden. Mehrere Scan-Pfade können seriell
zusammengekoppelt werden, um Scan-Ketten zu bilden, wo das Ausgangssignal
eine Funktion nur eines Eingangssignals ist. Als ein Ergebnis können eine Anzahl
von Schaltungselementen durch Überwachen einer
begrenzten Anzahl von Signalen kollektiv getestet werden, was die
Anzahl von Testsignalen, die an die integrierte Schaltung geliefert
werden müssen, und
auch die Anzahl der Ausgangssignale, die analysiert werden müssen, um
die Funktionalität
der Schaltung zu beurteilen, reduziert.
-
Ein
automatischer Testmustergenerator (ATPG) analysiert eine Beschreibung
der Logikfunktionen der integrierten Schaltung, als Netzliste bekannt, und
synthetisiert aus der Netzliste eine Reihe von Eingangssignalen,
die als Testvektoren bekannt sind. Die Testvektoren werden in eine
entsprechende Reihe von Scan-Ketten eingegeben, wenn die zu testende
Schaltung in den Testbetriebsmodus versetzt ist. Der ATPG synthetisiert
auch eine Reihe simulierter Ausgangssignale. Gemessene Scan-Ausgangssignale
werden mit ihren aus der Simulation erwarteten Werten verglichen,
um zu bestimmen, welche Ausgangssignale ihren erwarteten Signalen
entsprechen und welche Ausgangssignale fehlerhaft sind, d.h. Werte
haben, die nicht ihren erwarteten Werten entsprechen. Fehlerhafte
Ausgangssignale von den Scan-Ketten können aus einer Vielfalt von
Gründen resultieren.
-
Eine
erste potenzielle Ursache kann eine Fehlfunktion des kombinatorischen
Schaltkreises in dem Scan-Pfad sein. Diese Art der Fehlfunktion
ist das, was die Scan-Architektur
erfassen und identifizieren soll.
-
Eine
zweite potenzielle Ursache kann eine Fehlfunktion des Flipflops
sein, welches das Ausgangssignal des Scan-Pfads erfassen soll. Dies
kann beispielsweise auf ungeeignetes Taktungs- oder Rücksetz-Verhalten
des Scan-Flipflops, das durch Rauschen oder Spitzen in dem an das
Flipflop angelegte Taktsignal verursacht sein kann, zurückzuführen sein.
Das kann auch auf Verriegeln von falschen Daten durch das Flipflop,
das durch eine unterschiedliche Signaldurchlaufbedingung oder Taktversatz
verursacht sein kann, zurückzuführen sein.
Fehler dieser Art sind das Ergebnis von Problemen, die während der
Datenerfassung durch die Flipflops auftreten.
-
Eine
dritte potenzielle Fehlerursache können Taktversatz oder fehlende
Taktimpulse sein, die unter anderem Anlass zum Rücksetzen der Flipflops geben.
Wenn diese in der Scan-Kette auftreten, resultieren sie in unerwartetem
Rücksetzen
eines oder mehrerer Scan-Flipflops, das dem Erfassen der Daten folgt
und die Scan-Daten zerstört.
Fehlerhafte Tastung oder defektes Multiplexerfunktionieren in dem
integrierten Prototypschaltungsentwurf können auch in der Zerstörung der
Ausgangssignale von der integrierten Prototyp-Schaltung resultieren.
Diese Art Probleme sind mit Fehlern in dem Schieben der Daten durch
die integrierte Prototypschaltung verbunden.
-
Aber
wenn ein oder mehrere Defekte von einer oder mehreren Arten vorhanden
sind, sind die auf diese Weise erzielten Ausgangssignale nicht leicht zu
interpretieren. Außerdem
kann es extrem schwierig sein, zwischen Fehlern aufgrund von Fehlfunktion des
zu testenden Schaltkreises und aufgrund von Problemen, die nur mit
dem Testbetriebsmodus im Zusammenhang stehen, wie z.B. Probleme,
die während
der Datenerfassungs- und
Schiebeoperationen auftreten, zu unterscheiden. Diese letzteren
Probleme weisen nicht auf Defekte in der getesteten Schaltung hin.
-
Typischerweise
werden Ausgangsdaten, die als Antwort auf die Anwendung eines Testvektors
von dem ATPG erfasst werden, in Textdateien angeordnet. Überprüfung der
Ausgangsdaten gekoppelt mit detailliertem Parsing des Datenflusses
durch die getestete integrierte Schaltung wird benötigt, um
die Ausbreitung von Testsignalen durch die getestete Schaltung zu
verfolgen, um zu bestimmen, wo der oder die Fehler während des
Ablaufs des Tests auftreten. Dieser Prozess ist extrem arbeitsintensiv
und häufig
auch Objekt für
Fehler in Interpretationen.
-
Beim
Herbeiführen
eines Entwurfs einer neuen integrierten Schaltung wird eine Reihe
von Fotomasken entworfen. Wenn diese Masken hergestellt sind, werden
sie verwendet, um einen Prototypen des Entwurfs der neuen integrierten
Schaltung zu bauen. Typischerweise wird das ATPG verwendet, um Testvektoren
zu generieren, nachdem die Fotomasken entworfen worden sind und
der Entwurf an die Fotomasken-Einrichtung übergeben worden ist. Das geschieht,
weil die Testvektoren zum Testen der integrierten Prototypschaltung
typischerweise erst mehrere Wochen, nachdem die Fotomasken entworfen
worden sind, benötigt
werden und weil es, aus der Sicht des Marketings, keinen Grund gibt,
die Testvektoren früher
zu generieren.
-
Ein
Problem mit diesem Ansatz ist, dass die Konsequenzen schwerwiegend
sind, wenn während des
Ablaufs der Generierung der Testvektoren eine Fehlfunktion des Entwurfs
der neuen integrierten Schaltung gefunden wird. Dies kann von dem
Design-Team verlangen,
einen oder mehrere Ausgänge der
neuen integrierten Prototypschaltungen zu maskieren (oder ignorieren),
was in einer dramatisch verringerten Fehlerabdeckung resultiert.
In schweren Fällen
können
die Fehlfunktionen von dem Design-Team verlangen, den Fotomaskenentwurf
zu stornieren und einen überarbeiteten
Maskenentwurf zu erzeugen, oder neue Fotomasken zu bestellen und
einen zweiten Prototypen der integrierten Schaltung aus den neuen
Fotomasken zu bauen.
-
Wenn
Probleme auf unerwartetes Verhalten, wie z.B. Rücksetzen eines Flipflops in
der Scan-Kette, zurückzuführen sind,
kann eine große
Anzahl von Fehlvergleichen zwischen den erwarteten oder simulierten
Ergebnissen und den Ergebnissen, die von einem Prototypen eines
neuen integrierten Schaltungsentwurfs gemessen werden, beobachtet
werden. Was benötigt
wird, ist ein Weg, die Anzahl von Fehlvergleichen zwischen den erwarteten
Testergebnissen und den Ergebnissen, die von einem Prototypen eines
neuen integrierten Schaltungsentwurfs gemessen werden, mit geringerer
Reduzierung der Testabdeckung, als wie es passiert, wenn ein Ausgang maskiert
wird, zu reduzieren.
-
Offenbarung der Erfindung
-
In
einer Hinsicht enthält
die Erfindung ein Verfahren zum Arbeiten mit einer Netzliste, die
einen Entwurf einer integrierten Schaltung zur Verwendung mit einem
automatisierten Testmustergenerator zum Generieren von Testmustern
zum Testen einer entsprechend dem Entwurf aufgebauten integrierten Schaltung
beschreibt, wobei das Verfahren die Verwendung der Testmuster in
einer Simulation eines Testmodus der integrierten Schaltung unter
Verwendung des Entwurfs der integrierten Schaltung umfasst, wobei
das Verfahren dadurch gekennzeichnet ist, dass es außerdem Folgendes
umfasst: Identifizieren eines ersten fehlerhaften Teilstücks des
Entwurfs der integrierten Schaltung in der Netzliste, Bestimmen
von Bedingungen, unter denen das erste fehlerhafte Teilstück wahrscheinlich
nicht richtig funktioniert und Modifizieren des ersten fehlerhaften
Teilstücks
beispielsweise durch Austausch des ersten fehlerhaften Teilstücks in der
Netzliste gegen ein anderes erstes Teilstück, das als Antwort auf Bedingungen,
unter denen das erste fehlerhafte Teilstück wahrscheinlich nicht richtig
funktioniert, unbekannte Ausgangssignale liefert, die einen unbekannten
Zustand repräsentieren,
um die Anzahl von Fehlvergleichen zwischen den simulierten Testergebnissen
und den Testergebnissen der integrierten Schaltung zu reduzieren.
-
In
einer Ausführungsform
enthält
die vorliegende Erfindung einen Schritt des Generierens von Testvektoren,
um eine reduzierte Anzahl von Fehlvergleichen zwischen gemessenen
Testergebnissen von dem Prototypen des integrierten Schaltungsentwurfs
und simuliertem Betriebsverhalten des Prototyps des integrierten
Schaltungsentwurfs zu schaffen. Das Verfahren enthält das Identifizieren
von Timing-Bedingungen in dem Prototypen des integrierten Schaltungsentwurfs,
die inkorrektes Flipflop-Verhalten verursachen, und das Schaffen
eines Schaltungsentwurfs, der eine Zeit und Dauer identifiziert, die
den Bedingungen entsprechen, unter denen das inkorrekte Flipflop-Verhalten
auftritt. Das Verfahren enthält
auch das Modifizieren einer Netzliste, die dem Prototypen des integrierten
Schaltungsentwurfs entspricht, um den Schaltungsentwurf mit einzuschließen, und
das Generieren von Testvektoren und simulierten Ausgangssignalen,
die der modifizierten Netzliste entsprechen.
-
Kurzbeschreibung der Zeichnung
-
Bevorzugte
Ausführungsformen
der Erfindung werden unten mit Bezug auf die zugehörige Zeichnung
beschrieben. Dabei zeigen:
-
1 ein
vereinfachtes Blockschaltbild eines computergestützten Entwurfsystems (CAD)
gemäß einer
Ausführungsform
der vorliegenden Erfindung,
-
2 ein
vereinfachtes Flussdiagramm eines Entwurfsprozesses für eine integrierte
Schaltung mit testfreundlichen Entwurfseigenschaften entsprechend
den Techniken der vorliegenden Erfindung,
-
3 ein
vereinfachtes Schaltbild eines Teils des Entwurfs einer integrierten
Schaltung gemäß dem Stand
der Technik
-
4 ein
vereinfachtes Schaltbild des Entwurfs der integrierten Schaltung
von 3 mit einer virtuellen Schaltung, die einem Prototypen
des integrierten Schaltungsentwurfs entspricht, gemäß einer Ausführungsform
der vorliegenden Erfindung, und
-
5 ein
vereinfachtes Timing-Diagramm für
die Schaltung von 4 gemäß einer Ausführungsform
der vorliegenden Erfindung.
-
Die
besten Arten, die Erfindung und die Offenbarung der Erfindung auszuführen
-
1 ist
ein vereinfachtes Blockschaltbild eines Computersystems, das neue
Aspekte der vorliegenden Erfindung enthält und mit dem Bezugszeichen 10 gekennzeichnet
ist. Das Computersystem 10 ist konfiguriert, ein elektronisches
Entwurfsautomatisierungssystem (EDA) 12 zu implementieren, das
zu Simulationsoperationen eines Entwurfs für eine integrierte Schaltung
fähig ist.
Ein Schaltungsdesigner gibt einen Entwurf einer integrierten Schaltung
ein, der testfreundliche Entwurfseigenschaften enthält, überprüft die Gültigkeit,
platziert Komponenten auf ein Chip-Layout und trassiert Verbindungen zwischen
Komponenten. Gemäß einer
Konstruktion umfasst eine integrierte Schaltung im Entwurf und Test
eine anwendungsspezifische integrierte Schaltung (ASIC).
-
Das
elektronische Entwurfsautomatisierungssystem (EDA) 12 enthält eine
Zentralprozessoreinheit (CPU) oder Prozessor 20 und einen
Speicher 22, die an die anderen Elemente des Systems 12 über einen
Bus 25 gekoppelt sind. In einer Form umfasst der Speicher 22 einen
Schreib-Lese-Speicher 26, einen Festwertspeicher 28 und
die Datenspeicheranordnung 24. In einer Form umfasst die
Datenspeicheranordnung 24 ein Festplattenlaufwerk. Die CPU 20 wird
verwendet, um ein Betriebssystem und Applikationsprogramme wie z.B.
EDA- und ATPG-Programme zu implementieren. Außerdem wird die CPU 20 verwendet,
die neuen Eigenschaften der vorliegenden Erfindung zu implementieren.
-
Ein
menschlicher Designer, Benutzer oder Bediener gibt Entwurfsinformation über eine
Tastatur 30 und/oder eine den Cursor manipulierende Eingabeeinrichtung
zum Anfassen 32, wie z.B. eine Maus oder ein Touchpad,
in das System 12 ein. Aber es sei verstanden, dass andere
Formen von Eingabeeinrichtungen auch verwendet werden können, inklusive Spracherkennungssysteme,
Joysticks, grafische Tabletts, Datenleser, Kartenleser, magnetische
und optische Leser, andere Computersysteme usw. Der Designer empfängt visuelles
Feedback auf den Entwurfsprozess über eine Ausgabeeinrichtung 34.
Gemäß einer Konstruktion
umfasst die Ausgabeeinrichtung 34 ein grafisches Anzeigeterminal
wie z.B. eine CRT-Anzeige oder eine Flüssigkristall-Anzeige. Während Synthese
und Testen eines Entwurfs wird der Speicher 22 verwendet,
um logische Entwurfsinformation für eine integrierte Schaltung
im Entwurf zu speichern.
-
2 ist
ein vereinfachtes Flussdiagramm eines Entwurfsprozesses für eine integrierte
Schaltung mit testfreundlichen Entwurfseigenschaften entsprechend
den Techniken der vorliegenden Erfindung. In einem Schritt 36 spezifiziert
der Designer den Logikentwurf der integrierten Schaltung über eine
kommerziell verfügbare
Form von Entwurfserfassungssoftware, die von Synopsys, Inc. Und
Cadence Design Systems, Inc. verfügbar ist.
-
In
einem Schritt 38 wird eine Verhaltens-Beschreibungsdatei
von der Entwurfs-Erfassungssoftware ausgegeben. Die Verhaltens-Beschreibungsdatei
ist in einer Hardware-Beschreibungssprache (HDL), wie z.B. VHDL
oder VERILOG, geschrieben. Die Verhaltens-Beschreibungsdatei repräsentiert
den Logik-Entwurf eines vorgeschlagenen Entwurfs auf einem Registertransferniveau.
-
In
einem Schritt 40 wird die Verhaltens-Beschreibungsdatei
aus Schritt 38 in ein Logikentwurfsyntheseprogramm, wie
z.B. einen HDL-Entwurfscompiler, eingegeben. Das Logikentwurfsyntheseprogramm
ist funktionsfähig,
Schaltkreise und Gatter zu erzeugen, die notwendig sind, um einen
Entwurf zu realisieren, der durch die Verhaltens-Beschreibungsdatei, die Ausgabe von
Schritt 38 war, spezifiziert ist. Ein kommerziell verfügbarer HDL-Entwurfscompiler
wird von Synopsys, Inc. verkauft.
-
In
einem Schritt 42 arbeitet der HDL-Entwurfscompiler mit
dem Logikentwurfssyntheseprogramm zusammen, um eine detaillierte
Beschreibungsdatei zu generieren. Die detaillierte Beschreibungsdatei
enthält
eine Definition des Logikentwurfs für den vorgeschlagenen Entwurf
der integrierten Schaltung auf Gatterebene. Die detaillierte Beschreibungsdatei
umfasst eine Netzliste für
den in Betracht gezogenen Entwurf.
-
In
einem Schritt 44 wird die detaillierte Beschreibungsdatei
in verschiedene EDA-Programme eingegeben, wie z.B. ein ATPG-Programm,
wie auch Platzierungs- und Trassierungswerkzeuge, Timing-Analysatoren
und Simulationsprogramme. Das ATPG-Programm generiert Testvektoren, die
in dem System 12 verwendet werden, den Betrieb eines vorgeschlagenen
Entwurfs für
die integrierte Schaltung unter Verwendung der Netzliste zu simulieren.
-
In
einem Schritt 46 verwendet das System 12 das ATPG-Programm,
um Testvektoren und simulierte Ausgangsdaten als eine Textdatei
bereitzustellen.
-
In
einer Abfrageaufgabe 48 bestimmt der Designer, der den
Prozess P1 verwendet, durch Überprüfung der
Ausgabetextdatei, ob es Fehlfunktionen in dem Prototypentwurf gibt.
Wenn die Fehlfunktionen von der Art der oben erwähnten Timing-Fehler aufgrund
von Flipflop-Fehlfunktionen sind, kann die Anzahl der Fehlvergleiche,
die zwischen Simulation des Prototypenentwurfs und Messungen der
integrierten Prototypenschaltung erzeugt werden, durch Generierung
passender zusätzlicher „virtueller" Logikelemente in
einem Schritt 50 reduziert werden. Die virtuellen Logikelemente
werden in die Netzliste eingefügt
und die Schritte 44 bis 48 wiederholt. Dies generiert
auch neue Testvektoren aus der resultierenden überarbeiteten Netzliste, wie
mit Bezug auf 3–5 unten
diskutiert wird. Die zugefügten Logikelemente
werden als virtuelle Logikelemente bezeichnet, weil sie in der beschriebenen
Ausführungsform
in der Software existieren und nicht in der Form einer integrierten
Schaltung gebaut werden. Wenn während
der Abfrageaufgabe 48 keine weiteren Fehlfunktionen bemerkt
werden, endet der Prozess P1.
-
3 ist
ein vereinfachtes Schaltbild eines Schaltungsteils 51 des
Entwurfs einer integrierten Schaltung gemäß dem Stand der Technik. Die
in 3 gezeigte Schaltung 51 enthält die Flipflops 52, 54 und 56 und
das ODER-Gatter 58. Ein Ausgang QA des Flipflops 52 ist
an einen ersten Eingang des ODER-Gatters 58 gekoppelt und
ein Ausgang QB des Flipflops 54 ist an einen zweiten Eingang
des ODER-Gatters 58 gekoppelt. Ein Ausgang des ODER-Gatters 58 ist
an einen Rücksetzeingang
CIC des Flipflops 56 gekoppelt.
-
Fehler
können
auftreten, wenn beispielsweise die Ausgänge QA und QB im funktionalen
Modus nicht gleichzeitig schalten können, aber im Scan-Modus gleichzeitig
schalten müssen.
Wenn beispielsweise QA von logisch „0" auf logisch „1" geht, bevor QB von logisch „1" auf logisch „0" geht, kann CIC vorübergehend
auf logisch „0" schalten und dabei
das Flipflop 56 zurücksetzen.
Aber das ATPG-Werkzeug hat diese Timing-Information nicht und wird deshalb dieses
Rücksetzt-Ereignis
nicht vorhersagen können.
Entsprechend wird das ATPG-Werkzeug vorhersagen, dass der Ausgang
des Flipflops 56 auf jeglichen Wert, der am Eingang DC
des Flipflops 56 vorhanden ist, gesetzt wird, und wird
nicht vorhersagen, dass das Flipflop 56 zurückgesetzt
wird, sodass der tatsächliche
Wert logisch „0" ist. Diese Situation
führt zu
einer wahrscheinlichen Fehlanpassung zwischen einem Wert, der beim
Labortesten einer integrierten Prototypschaltung erhalten wird,
und den simulierten Werten, die von dem ATPG-Werkzeug in der ersten Iteration
des Prozesses P1 von 2 erhalten wurden.
-
Wenn
Situationen der oben beschriebenen Art in der Abfrageaufgabe 48 während der
Iteration des Prozesses P1 gefunden werden, kann der Designer den
Schaltungsentwurf der verwendet wurde, um Testvektoren und simulierte
Ausgangssignale zu genieren, durch Schaffen der virtuellen Schaltung 60 von 4 modifizieren.
Die virtuelle Schaltung 60 ersetzt einen unbekannten Wert „X" an dem CIC-Eingang
des Flipflops 56, wenn die Bedingungen, die einen Timing-Fehler
oder einen Störimpuls
veranlassen können,
das Flipflop 56 zurückzusetzen,
auftreten. Die virtuelle Schaltung 60 erlaubt auch einen normalen
Betrieb der Schaltung 51, wenn diese Bedingungen nicht
auftreten, wie unten detaillierter diskutiert wird.
-
Die
virtuelle Schaltung 60 enthält in diesem Beispiel Exclusiv-ODER
(„XOR") Gatter 62, 64 und 66,
ein Drei-Eingangs-UND-Gatter 68, ein erstes Latch 70,
ein zweites Latch 72, ein Zwei-Eingang-UND-Gatter 74 und
einen Multiplexer 76. Die XOR-Gatter 62, 64 und 66 und
das UND-Gatter 68 bilden eine kombinatorische Logikschaltung 78,
die das Auftreten einer potenziellen Störung feststellt, während die
Latche 70 und 72 und das UND-Gatter 74 eine
sequenzielle Logikschaltung 80 bilden, die eine passende
Dauer identifiziert, während
der die potenzielle Fehlersituation die Funktion der Schaltung 51 beeinflussen
kann. Ein Ausgang der sequenziellen Logikschaltung 80 ist
an einen Umschalteingang des Multiplexers 76 gekoppelt.
-
5 ist
ein vereinfachtes Timing-Diagramm für die Schaltungen 51 und 60 von 4 gemäß einer
Ausführungsform
der vorliegenden Erfindung. Das Timing-Diagramm TD1 enthält eine oberen Linie, die das
Verhalten des Taktsignals CLK zeugt, wobei Übergänge im Taktsignal mit t1–t10 bezeichnet sind. Das Timing-Diagramm enthält auch
Linien, die nacheinander unterhalb der Linie, die dem Taktsignal
CLK entspricht, heruntergehen und jeweils dem Verhalten der Signale,
die dem DA-Eingang des Flipflops 52, dem QA-Ausgang des
Flipflops 52, dem DB-Eingang des Flipflops 54,
dem QB-Ausgang des Flipflops 54, dem Eingang C des ersten
Latch 70, den Ausgängen L1
und L2 des ersten und zweiten Latch 70 und 72 und
dem Rücksetzeingang
CIC des Flipflops 56 gegen die Zeit entsprechen. Diese
Signale sind unter Bedingungen gezeigt, unter denen Störimpulse
auftreten können.
Die Zeiten, die Bedingungen entsprechen, zu denen Störungen auftreten
können,
sind mit schwarzen Kästen
bezeichnet, und deuten einen unbekannten Zustand in der Linie, die
den CIC-Eingang des Flipflops 56 beschreibt, an.
-
Die
Schaltung 78 stellt Bedingungen fest, unter denen Störimpulse
auftreten können.
In diesem Fall können
der Störimpulse
auftreten, wenn beide der Ausgänge
QA und QB gleichzeitig schalten und Werte haben, die untereinander
vor und nach dem Schalten verschieden sind. Das XOR-Gatter 62 stellt fest,
dass das Flipflop 52 den Zustand zu den Zeiten t1–t3 ändert.
Genauso stellt das XOR-Gatter 64 fest, dass das Flipflop 54 den
Zustand zu denselben Zeiten ändert.
Das XOR-Gatter 66 stellt einen Zustandsunterschied zwischen
den Ausgängen
QA und QB der Flipflops 52 und 54 während des
Intervalls, in dem die Flipflops 52 und 54 den
Zustand ändern, fest.
Das UND-Gatter 68 bestimmt, wann alle drei Bedingungen
nebeneinander bestehen und liefert ein Ausgangssignal C. Das Signal
C wird zur Zeit t2 in das erste Latch eingetaktet.
Zur Zeit t3 wird das logische „1", das von dem ersten
Latch 70 ausgegeben wird, in das zweite Latch 72 eingetaktet.
Als ein Ergebnis veranlasst ein Ausgangssignal S (4)
von dem UND-Gatter 74 den Multiplexer 76, während des Intervalls
von t5 bis t4 (bezeichnet
mit einem schwarzen Kasten, untere Linie) ein mit „X" bezeichnetes Signal
(4), das einem unbekannten Wert entspricht, an
den Rücksetzeingang
CIC (untere Linie, 5) des Flipflops 56 zu
koppeln.
-
Wenn
die Netzliste in den Schritten 50 und 36–46 modifiziert
ist, stellt das ATPG entsprechend ein Simulationsergebnis für die Schaltung 51 bereit, das
nicht in einem Fehlvergleich zwischen simulierten und gemessenen
Ergebnissen resultiert. Dies vereinfacht die Analyse der Testergebnisse
und erleichtert die Entwicklung neuer integrierter Schaltungsentwürfe.
-
1:
-
2:
- Start
- Start
- 36
- Spezifiziere
den Entwurf unter Verwendung von Entwurfserfassungssoftware
- 38
- Gebe
Verhaltens-Beschreibungsdatei aus
- 40
- Gebe
Verhaltens-Beschreibungsdatei in das Logikentwurf-Syntheseprogramm
ein
-
- (VHDL)
- 42
- Gebe
detaillierte Beschreibungsdatei aus (Netzliste) aus
- 44
- Gebe
Netzliste in das ATPG-Programm ein
- 46
- Gebe
Testvektoren und simulierte Ausgangsdaten aus
- 48
- Gibt
es Timing-Fehler?
- 50
- Generiere
virtuelle Logik
- Yes
- Ja
- No
- Nein
- End
- Ende
-
4:
-
-
- Virtual Test Logic
- virtuelle Testlogik
- Latch
- Latch