DE60026178T2 - Modellierung und prüfung einer integrierten schaltung - Google Patents

Modellierung und prüfung einer integrierten schaltung Download PDF

Info

Publication number
DE60026178T2
DE60026178T2 DE60026178T DE60026178T DE60026178T2 DE 60026178 T2 DE60026178 T2 DE 60026178T2 DE 60026178 T DE60026178 T DE 60026178T DE 60026178 T DE60026178 T DE 60026178T DE 60026178 T2 DE60026178 T2 DE 60026178T2
Authority
DE
Germany
Prior art keywords
design
flip
integrated circuit
flop
netlist
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60026178T
Other languages
English (en)
Other versions
DE60026178D1 (de
Inventor
Frederic San Diego HAYEM
Patrick Arnould
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.)
NXP BV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of DE60026178D1 publication Critical patent/DE60026178D1/de
Application granted granted Critical
Publication of DE60026178T2 publication Critical patent/DE60026178T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318342Generation of test inputs, e.g. test vectors, patterns or sequences by preliminary fault modelling, e.g. analysis, simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Description

  • 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 35 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 3646 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

Claims (20)

  1. 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 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.
  2. Verfahren nach Anspruch 1, dass außerdem das Identifizieren eines zweiten fehlerhaften Teilstücks des Entwurfs der integrierten Prototypschaltung in der Netzliste, Bestimmen von Bedingungen, unter denen das zweite fehlerhafte Teilstück wahrscheinlich nicht richtig funktioniert und den Austausch des zweiten fehlerhaften Teilstücks in der Netzliste gegen ein anderes zweites Teilstück, das als Antwort auf die Bedingungen, unter denen das zweite fehlerhafte Teilstück wahrscheinlich nicht richtig funktioniert, unbekannte Ausgangssignale liefert, die einen unbekannten Zustand repräsentieren, umfasst.
  3. Verfahren nach Anspruch 1, in dem das Ersetzen des ersten fehlerhaften Teilstücks in der Netzliste das Erstellen einer Netzliste umfasst, die einer Schaltung entspricht, die ein Ausgangssignal liefert, das den Bedingungen entspricht, unter denen das erste fehlerhafte Teilstück wahrscheinlich nicht richtig funktioniert, sowie Ankoppeln des Ausgangssignals an einen Toggle-Eingang eines Multiplexers, Ankoppeln eines unbekannten Signals an einen ersten Eingang des Multiplexers und Ankoppeln eines Signals von dem ersten fehlerhaften Teilstück an einen zweiten Eingang des Multiplexers.
  4. Verfahren nach Anspruch 1, in dem das Ersetzen des ersten fehlerhaften Teilstücks in der Netzliste das Bilden einer Netzliste umfasst, die Folgendem entspricht: Ankoppeln eines Ausgangs eines Multiplexers an einen Knoten, der einem Ausgang des ersten fehlerhaften Teilstücks entspricht, Ankoppeln eines unbekannten Signals an einen ersten Eingang des Multiplexers, Ankoppeln eines Ausgangs des ersten fehlerhaften Teilstücks an einen zweiten Eingang des Multiplexers und Umschalten des Multiplexers, um das unbekannte Signal an den Multiplexerausgang zu koppeln, wenn Bedingungen vorhanden sind, unter denen das erste fehlerhafte Teilstück wahrscheinlich nicht richtig funktioniert.
  5. Verfahren nach Anspruch 4, in dem das Ersetzen des ersten fehlerhaften Teilstücks in der Netzliste außerdem das Bilden einer Netzliste umfasst, die dem Umschalten des Multiplexers entspricht, um den Ausgang von dem ersten fehlerhaften Teilstück an den Multiplexerausgang zu koppeln, wenn Bedingungen, unter denen das erste fehlerhafte Teilstück wahrscheinlich nicht richtig funktioniert, nicht vorhanden sind.
  6. Verfahren nach Anspruch 1, in dem das Ersetzen des ersten fehlerhaften Teilstücks in der Netzliste außerdem das Bilden einer Netzliste umfasst, die dem Ersetzen des ersten fehlerhaften Teilstücks durch kombinatorische Logik entspricht, die einen Anfang einer Zeit identifiziert, während der das erste fehlerhafte Teilstück wahrscheinlich nicht richtig funktioniert.
  7. Verfahren nach Anspruch 1, in dem das Ersetzen des ersten fehlerhaften Teilstücks in der Netzliste außerdem das Bilden einer Netzliste umfasst, die dem Ersetzen des ersten fehlerhaften Teilstücks durch synchrone Logik entspricht, die eine Dauer identifiziert, während der das erste fehlerhafte Teilstück wahrscheinlich nicht richtig funktioniert.
  8. 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, wobei das genannte Teilstück ein Flipflop umfasst; Bestimmen von Bedingungen, unter denen das erste fehlerhafte Teilstück wahrscheinlich nicht richtig funktioniert, durch Identifizieren von Timing-Bedingungen in dem Entwurf der integrierten Schaltung, die ein falsches Verhalten des Flipflops verursachen; Modifizieren des ersten fehlerhaften Teilstücks durch Erstellen eines Schaltungsentwurfs, das eine Zeit und Dauer identifiziert, die Bedingungen entsprechen, unter denen das falsche Verhalten des Flipflops auftritt, und Modifizieren einer Netzliste, die dem Entwurf der integrierten Schaltung entspricht, um den Schaltungsentwurf mit einzuschließen; und Generieren von Testvektoren und simulierten Ausgangssignalen, die der modifizierten Netzliste entsprechen, um reduzierte Anzahlen von Fehlvergleichen zwischen gemessenen Testergebnissen von dem Entwurf der integrierten Schaltung und simuliertem Betriebsverhalten des Entwurfs der integrierten Schaltung zu schaffen, um die Testbarkeit des Entwurfs der integrierten Schaltung zu verbessern.
  9. Verfahren nach Anspruch 8, in dem Erstellen eines Schaltungsentwurfs das Ankoppeln eines Signals mit einem unbekannten Wert über einen Multiplexer an ein Flipflop umfasst, wenn Bedingungen, unter denen das falsche Verhalten des Flipflops auftritt, vorhanden sind.
  10. Verfahren nach Anspruch 9, in dem Erstellen eines Schaltungsentwurfs das Erstellen eines Entwurfs einer ersten Schaltung umfasst, die eine Zeit identifiziert, zu der Bedingungen, unter denen das falsche Verhalten des Flipflops auftritt, vorhanden sind.
  11. Verfahren nach Anspruch 10, in dem Erstellen eines Schaltungsentwurfs das Erstellen eines Entwurfs einer zweiten Schaltung umfasst, die eine Dauer identifiziert, während der Bedingungen, unter den das falsche Verhalten des Flipflops besteht, vorhanden sind.
  12. Verfahren nach Anspruch 8, in dem Erstellen eines Schaltungsentwurfs das Erstellen eines Entwurfs einer kombinatorischen Logikschaltung umfasst, die eine Zeit identifiziert, zu der Bedingungen, unter den das falsche Verhalten des Flipflops auftritt, vorhanden sind.
  13. Verfahren nach Anspruch 12, in dem Erstellen eines Schaltungsentwurfs das Erstellen eines Entwurfs einer sequenziellen Logikschaltung umfasst, die eine Dauer identifiziert, während der die Bedingungen, unter den das falsche Verhalten des Flipflops besteht, vorhanden sind.
  14. Verfahren nach Anspruch 13, in dem Erstellen eines Schaltungsentwurfs das Ankoppeln eines Signals mit einem unbekannten Wert über einen Multiplexer an ein Flipflop umfasst, wenn der Entwurf der kombinatorischen Logikschaltung Bedingungen identifiziert, unter denen das falsche Verhalten des Flipflops auftritt.
  15. Verfahren nach Anspruch 13, in dem Erstellen eines Schaltungsentwurfs das Ankoppeln eines Signals mit einem unbekannten Wert über einen Multiplexer an ein Flipflop für die von der sequenziellen Logikschaltung identifizierten Dauer umfasst.
  16. Verfahren zum Arbeiten mit einer Netzliste, die einen Entwurf einer integrierten Schaltung zur Verwendung mit einem automatisierten Testmustergenerator zur Generierung 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, durch Identifizieren von Bedingungen, unter denen das Verhalten eines Flipflops in dem Entwurf der integrierten Schaltung wahrscheinlich von dem Verhalten des Flipflops, das durch das Werkzeug zur automatisierten Generierung von Testmustern vorhersagt wird, abweicht, Bestimmen einer Zeit, wann die Bedingungen initiiert werden und Bestimmen einer Dauer für die Bedingungen; und Modifizieren des ersten fehlerhaften Teilstücks durch Simulieren des Ankoppelns eines Signals mit einem unbekannten Wert an das Flipflop anstelle eines Signals, das zu den Bedingungen gehört, zu der Zeit startend, zu der die Bedingungen initiiert werden und für die Dauer der Bedingungen, um simulierte Testantworten bereitzustellen, die nicht in einem Fehlvergleich zwischen gemessenen Antworten von dem Entwurf der integrierten Schaltung und dem Verhalten des Flipflops, das durch das Werkzeug zur automatisierten Generierung von Testmustern vorhersagt wird, resultieren, um die Testbarkeit des Entwurfs der integrierten Schaltung zu verbessern.
  17. Verfahren nach Anspruch 16, in dem das Identifizieren von Bedingungen, unter denen das Verhalten des Flipflops wahrscheinlich von dem vorhergesagten Verhalten des Flipflops abweicht, das Identifizieren von Bedingungen in einem Testbetriebsmodus von Scan-Testschaltkreisen in der integrierten Schaltung umfasst.
  18. Verfahren nach Anspruch 17, in dem das Simulieren des Ankoppelns eines Signals mit einem unbekannten Wert das Simulieren des Umschaltens eines Multiplexers umfasst.
  19. Verfahren nach Anspruch 16, in dem das Simulieren des Ankoppelns eines Signals mit einem unbekannten Wert das Simulieren kombinatorischer Logik umfasst, die konfiguriert ist, um eine Zeit zu identifizieren, zu der das Verhalten des Flipflops von dem Verhalten des Flipflops, das durch das Werkzeug zur automatisierten Generierung von Testmustern vorhersagt wird, wahrscheinlich abweicht.
  20. Verfahren nach Anspruch 19, in dem das Simulieren des Ankoppelns eines Signals mit einem unbekannten Wert das Simulieren sequenzieller Logik umfasst, die konfiguriert ist, um eine Dauer zu identifizieren, während der das Verhalten des Flipflops von dem Verhalten des Flipflops, das durch das Werkzeug zur automatisierten Generierung von Testmustern vorhersagt wird, wahrscheinlich abweicht.
DE60026178T 1999-12-13 2000-12-07 Modellierung und prüfung einer integrierten schaltung Expired - Lifetime DE60026178T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/460,254 US6546514B1 (en) 1999-12-13 1999-12-13 Integrated circuit analysis and design involving defective circuit element replacement on a netlist
US460254 1999-12-13
PCT/US2000/042680 WO2001045565A2 (en) 1999-12-13 2000-12-07 Modeling and testing of an integrated circuit

Publications (2)

Publication Number Publication Date
DE60026178D1 DE60026178D1 (de) 2006-04-27
DE60026178T2 true DE60026178T2 (de) 2006-11-09

Family

ID=23827962

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60026178T Expired - Lifetime DE60026178T2 (de) 1999-12-13 2000-12-07 Modellierung und prüfung einer integrierten schaltung

Country Status (5)

Country Link
US (1) US6546514B1 (de)
EP (1) EP1259165B1 (de)
JP (1) JP2003523001A (de)
DE (1) DE60026178T2 (de)
WO (1) WO2001045565A2 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001201543A (ja) * 2000-01-18 2001-07-27 Rooran:Kk スキャン・パス構築用プログラムを記録した記録媒体とスキャン・パスの構築方法及びこのスキャン・パスを組み込んだ演算処理システム
US20040098646A1 (en) * 2002-11-20 2004-05-20 Fisher Rory L. Method and apparatus to check the integrity of scan chain connectivity by traversing the test logic of the device
US7194706B2 (en) * 2004-07-27 2007-03-20 International Business Machines Corporation Designing scan chains with specific parameter sensitivities to identify process defects
US20070011544A1 (en) * 2005-06-15 2007-01-11 Hsiu-Huan Shen Reprogramming of tester resource assignments
US9360523B2 (en) 2014-04-18 2016-06-07 Breker Verification Systems Display in a graphical format of test results generated using scenario models

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS647400A (en) * 1987-06-29 1989-01-11 Hitachi Ltd Ic tester
US5111413A (en) * 1989-03-24 1992-05-05 Vantage Analysis Systems, Inc. Computer-aided engineering
US5629860A (en) * 1994-05-16 1997-05-13 Motorola, Inc. Method for determining timing delays associated with placement and routing of an integrated circuit
US5754826A (en) * 1995-08-04 1998-05-19 Synopsys, Inc. CAD and simulation system for targeting IC designs to multiple fabrication processes
US5938782A (en) 1996-09-24 1999-08-17 Vlsi Technology, Inc. Scan flip-flop and methods for controlling the entry of data therein
US6219813B1 (en) * 1998-06-29 2001-04-17 International Business Machines Corporation Programmable timing circuit for testing the cycle time of functional circuits on an integrated circuit chip
US6308309B1 (en) * 1999-08-13 2001-10-23 Xilinx, Inc. Place-holding library elements for defining routing paths

Also Published As

Publication number Publication date
WO2001045565A3 (en) 2002-09-12
DE60026178D1 (de) 2006-04-27
EP1259165A2 (de) 2002-11-27
EP1259165B1 (de) 2006-02-22
JP2003523001A (ja) 2003-07-29
WO2001045565A2 (en) 2001-06-28
US6546514B1 (en) 2003-04-08

Similar Documents

Publication Publication Date Title
CN108830008B (zh) 一种标准单元库全模型的测试方法及测试***
DE60314530T2 (de) Verfahren und system zum debuggen unter verwendung duplizierter logik
US5831869A (en) Method of compacting data representations of hierarchical logic designs used for static timing analysis
US8751984B2 (en) Method, system and computer program for hardware design debugging
DE10392497T5 (de) Herstellungsverfahren und Herstellungsvorrichtung zum Vermeiden eines Prototypen-Aufschubs bei der ASIC/SOC-Herstellung
DE19937232B4 (de) Entwicklungs- und Bewertungssystem für integrierte Halbleiterschaltungen
US20080127009A1 (en) Method, system and computer program for automated hardware design debugging
DE10031536A1 (de) Ereignisgestütztes Halbleiterprüfsystem
US5920489A (en) Method and system for modeling the behavior of a circuit
EP0508620B1 (de) Verfahren und System zur automatischen Bestimmung der logischen Funktion einer Schaltung
DE60012735T2 (de) Verfahren zur unterscheidung von verschiedenen typen von abtastfehlern, rechnerbasierte schaltungsemulation und fehlerdetektionssystem
DE102004058753A1 (de) Verifizierung von Integrierte-Schaltung-Tests unter Verwendung einer Testsimulation und einer Integrierte-Schaltungs-Simulation mit einem simulierten Ausfall
US5796990A (en) Hierarchical fault modeling system and method
DE10296464T5 (de) Verfahren und Gerät zur Validierung des Entwurfes einer komplexen integrierten Schaltungen
US5819072A (en) Method of using a four-state simulator for testing integrated circuit designs having variable timing constraints
US20060190870A1 (en) Latch modeling technique for formal verification
DE60026178T2 (de) Modellierung und prüfung einer integrierten schaltung
DE102016118749A1 (de) Signalwiederherstellung in Schaltwerk-Schaltung
Kamath et al. A comprehensive multi-voltage design platform for system-level validation of standard cell library
Doshi et al. THEMIS logic simulator-a mix mode, multi-level, hierarchical, interactive digital circuit simulator
Wallack et al. Coverage metrics for functional tests
Fummi et al. Logic-level mapping of high-level faults
Lin et al. Generating concise assertions with complete coverage
Wohl et al. Using ATPG for clock rules checking in complex scan designs
Vali et al. Satisfiability-based analysis of failing traces during post-silicon debug

Legal Events

Date Code Title Description
8320 Willingness to grant licences declared (paragraph 23)
8328 Change in the person/name/address of the agent

Representative=s name: VOLMER, G., DIPL.-ING., PAT.-ANW., 52066 AACHEN

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

Representative=s name: EISENFUEHR, SPEISER & PARTNER, 10178 BERLIN

8327 Change in the person/name/address of the patent owner

Owner name: NXP B.V., EINDHOVEN, NL