DE60012735T2 - Verfahren zur unterscheidung von verschiedenen typen von abtastfehlern, rechnerbasierte schaltungsemulation und fehlerdetektionssystem - Google Patents

Verfahren zur unterscheidung von verschiedenen typen von abtastfehlern, rechnerbasierte schaltungsemulation und fehlerdetektionssystem Download PDF

Info

Publication number
DE60012735T2
DE60012735T2 DE60012735T DE60012735T DE60012735T2 DE 60012735 T2 DE60012735 T2 DE 60012735T2 DE 60012735 T DE60012735 T DE 60012735T DE 60012735 T DE60012735 T DE 60012735T DE 60012735 T2 DE60012735 T2 DE 60012735T2
Authority
DE
Germany
Prior art keywords
scan
simulated
flops
circuit
flop
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
DE60012735T
Other languages
English (en)
Other versions
DE60012735D1 (de
Inventor
Laurent Souef
Jerôme BOMBAL
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 DE60012735D1 publication Critical patent/DE60012735D1/de
Application granted granted Critical
Publication of DE60012735T2 publication Critical patent/DE60012735T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/261Functional testing by simulating additional hardware, e.g. fault simulation
    • 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/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318583Design for test
    • G01R31/318591Tools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/267Reconfiguring circuits for testing, e.g. LSSD, partitioning

Description

  • Technisches Umfeld
  • Die vorliegende Erfindung bezieht sich auf ein Verfahren zur Unterscheidung zwischen verschiedenen Typen von Abtastfehlern, computerlesbaren Code, der ein Anzeigegerät veranlasst, einen oder mehrere simulierte Abtastausgabedatensätze in Abhängigkeit von der Zeit grafisch darzustellen, sowie eine rechnerbasierte Schaltungsemulation und ein Fehlerdetektionssystem.
  • Hintergrund
  • Integrierte Schaltungen haben in Bezug auf Komplexität, Betriebsgeschwindigkeit und Nützlichkeit rasch zugelegt. Ein Verfahren zur Spezifizierung einer integrierten Schaltung ist die Verwendung einer Hardwarebeschreibungssprache (Hardware Description Language; HDL) wie VHDL. Eine Hardwarebeschreibungssprache ermöglicht die Darstellung des Entwurfs einer integrierten Schaltung auf einer logischen Ebene und schafft eine problemorientierte Entwurfssprache. Eine integrierte Schaltung wird in mehreren verschiedenen Ebenen dargestellt, die unterschiedliche Abstraktionsschichten umfassen. Um eine abschließende Implementierung zu erreichen, werden Syntheseprogramme umfassende „Silicon-Compiler" verwendet, wobei die Programme genügend Details erzeugen, um direkt zur Siliziumfertigung überzugehen.
  • Ein Kompilierer erzeugt während der Verarbeitung eines HDL-Programms eine Netzliste mit generischen Grundzellen. Eine Netzliste ist eine Liste aller Netze oder eine Sammlung der Anschlussstifte in einer Schaltung, die elektrisch verbunden werden müssen. Die Netzliste besteht aus einer detaillierten Liste mit Schaltverbindungen und logischen Komponenten und kann Grundzellen wie XOR-Gatter, NAND-Gatter, Signalspeicher und D-Flipflops sowie deren zugehörige Schaltverbindungen enthalten.
  • Der „Silicon-Compiler" erzeugt zunächst eine Netzliste von unabhängigen Zellen und wendet dann in einem als „Mapping" bezeichneten Verfahren eine bestimmte Zellbibliothek auf die resultierende generische Netzliste an. Dadurch wird eine abhängige abgebildete Netzliste erzeugt, die innerhalb einer Zellbibliothek vorhandene und für das Computersystem zur Verfügung stehende Standardschaltungen verwendet. „Silicon-Compiler" und Mapping-Programme sind dem Fachkundigen vertraut und werden in zahlreichen Patenten beschrieben, darunter in den US-amerikanischen Patentschriften 5.406.497 und 5.831.868.
  • Mit zunehmender Schaltungskomplexität ist es schwieriger und teurer geworden, die Funktionalität integrierter Schaltungen zu testen. Zu den Strategien, die entwickelt wurden, um dies zu bewältigen, gehört ein testfreundliches Design für elektronische Baugruppen (Design for Testability; DFT), eine in einer integrierten Schaltung platzierte Funktion, wodurch die Schaltung mittels zuvor festgelegter Teststeuersignale in einen Testbetrieb gebracht wird. Indem spezielle Testeingabesignale von einem automatischen Testmustergenerator (ATPG) an Eingänge der integrierten Schaltung angelegt werden, wird ein Satz von Ausgangssignalen erzeugt. Die Ausgangssignale werden mit erwarteten Werten verglichen, um festzustellen, ob die integrierte Schaltung die erwarteten Werte liefert. Falls eine Abweichung zwischen den Ausgangssignalen und den erwarteten Werten festgestellt wird, muss ermittelt werden, wie diese Abweichung entstand, um eine Reparatur-, Neuentwicklungs- oder andere Abhilfemaßnahme vorschlagen zu können.
  • Bei manchen Arten von DFT werden, nachdem die integrierte Schaltung mit Hilfe des Testsignals in den Testbetrieb gebracht wurde, sequenzielle und kombinatorische Logikschaltungen getestet, indem ausgewählte Flipflops innerhalb der integrierten Schaltung im Testbetrieb mit Hilfe von Multiplexern zu einem Schieberegister (auch bekannt als ein „Scan-Register") zusammengeschaltet werden. Ein Testvektor, der bekannte Eingangssignale enthält, wird auf Teile der integrierten Schaltung angewandt, und die daraus resultierenden Ausgangssignale werden zunächst parallel in den Scan-Registern erfasst und dann seriell aus den Scan-Registern ausgetaktet („Scan Shifting").
  • Neue integrierte Schaltungen zu entwerfen und herzustellen ist teuer. Insbesondere teuer ist es, Prototypen von integrierten Schaltungen herzustellen, die nicht wie erwartet oder wie erwünscht funktionieren. Daher ist es allgemein üblich, den Betrieb neuer Entwürfe während ihrer Entwicklung zu simulieren, um zu versuchen, so viele potenzielle Fehler oder Probleme wie möglich zu ermitteln, bevor man den Prototypenentwurf abschließt und dann herstellt.
  • Typische Simulationssoftware, wie sie beispielsweise von Mentor Graphics (Wilsonville, OR) oder Synopsys (Mountain, CA) erhältlich ist, liefert eine Textdateiausgabe mit Informationen in Bezug auf das simulierte Scan-Shifting. Häufig sind viel Zeit und Mühe erforderlich, um Fehlerkennzeichen in diesen Textdateien mittels Netzlisten-Syntaxanalyse und Berechnungen zurückzuverfolgen, um festzustellen, wo das Problem tatsächlich liegt. Zudem ist dieses Verfahren hinreichend kompliziert, um zumindest teilweise fehleranfällig zu sein, weil es keinerlei intuitiven Hinweis darauf liefert, wo das Problem liegt.
  • Zu den Problemen, die beim simulierten Erfassen des Ausgangssignals auftreten können, gehören unter anderem eine schlechte Abtastung durch das Flipflop während eines Erfassungszyklus aufgrund eines laufzeitbedingten Konflikts oder eines anderen Problems, falsches Taktverhalten und falsches Rücksetzverhalten, wobei beide der letztgenannten Zustände durch Taktsignalspitzen verursacht werden können. Zu den Problemen, die beim simulierten Scan-Shifting auftreten können, gehören unter anderem Taktsignalverzögerungen (Clock-Skew), die zum Datenverlust im Register führen, eine unerwartete Rücksetzung, die einige der Abtastdaten zerstört, ein ausbleibender Taktimpuls aufgrund einer Fehlfunktion in der Taktsteuerung (Clock-Gating) oder eine Unterbrechung der Scan-Kette, die auf eine schlechte Austastung oder Multiplexierung zurückzuführen ist.
  • Was benötigt wird, ist ein Werkzeug, das ein intuitives Verständnis für den Signalfluss in einer automatisierten Simulation von neuen integrierten Schaltungsentwürfen schafft und eine fertige und rasche Unterscheidung zwischen simulierten verschiebungsinduzierten Fehlern und simulierten Signalerfassungsfehlern in integrierten Schaltungsentwürfen mit einem testfreundlichen Design unterstützt.
  • Beschreibung der Erfindung
  • Die Erfindung wird durch die unabhängigen Ansprüche definiert. Die abhängigen Ansprüche definieren vorteilhafte Ausführungsformen.
  • Kurze Beschreibung der Zeichnungen
  • Im Folgenden werden bevorzugte Ausführungsformen der Erfindung unter Bezugnahme auf die nachfolgenden begleitenden Zeichnungen beschreiben. Es zeigen:
  • 1 eine schematische Darstellung einer Schaltung mit einer kombinatorischen Logikschaltung und Scan-Flipflops gemäß einer Ausführungsform der vorliegenden Erfindung;
  • 2 eine vereinfachte schematische Darstellung eines der Scan-Flipflops aus 1 gemäß einer Ausführungsform der vorliegenden Erfindung;
  • 3 ein vereinfachtes Blockschaltbild eines an eine integrierte Schaltung gekoppelten CAD-Systems (Computer Aided Design) gemäß einer Ausführungsform der vorliegenden Erfindung;
  • 4 ein vereinfachtes Blockdiagramm des Entwurfsprozesses für eine integrierte Schaltung mit DFT-Merkmalen gemäß einer Ausführungsform der vorliegenden Erfindung;
  • 5 ein vereinfachtes Ablaufdiagramm, das die Funktion eines beispielhaften Softwaremoduls zur Verarbeitung und Anzeige von simulierten, zur Schaltung aus 1 gehörenden Testdaten über das System aus 3 veranschaulicht, gemäß einer Ausführungsform der vorliegenden Erfindung;
  • 6 ein vereinfachtes Kurvenblatt, das die unter Verwendung des Verfahrens aus 5 über das System aus 3 erhaltenen, zur Schaltung aus 1 gehörenden korrekten simulierten Testergebnisse zeigt, gemäß einer Ausführungsform der vorliegenden Erfindung;
  • 7 ein vereinfachtes Kurvenblatt, das die unter Verwendung des Verfahrens aus 5 über das System aus 3 erhaltenen, auf ein Verschiebungsproblem bei der Schaltung aus 1 hindeutenden simulierten Testergebnisse zeigt, gemäß einer Ausführungsform der vorliegenden Erfindung;
  • 8 ein vereinfachtes Kurvenblatt, das die unter Verwendung des Verfahrens aus 5 über das System aus 3 erhaltenen, auf ein Erfassungsproblem bei der Schaltung aus 1 hindeutenden simulierten Testergebnisse zeigt, gemäß einer Ausführungsform der vorliegenden Erfindung.
  • Beste Methoden für die Ausführung der Erfindung und Beschreibung der Erfindung
  • Die vorliegende Erfindung beinhaltet Verfahren und Geräte für eine beschleunigte Analyse simulierter Testergebnissen von integrierten Schaltungen, die Merkmale für ein testfreundliches Design (DFT) aufweisen. Genauer gesagt erlaubt die vorliegende Erfindung die grafische Anzeige simulierter Testergebnisse in einer Weise, die eine rasche und robuste Bestimmung einer Fehlerstelle vereinfacht und eine intuitive Fehlerlokalisierung unterstützt.
  • In der folgenden Beschreibung werden zahlreiche spezielle Einzelheiten dargelegt, wie beispielsweise eine bestimmte Architektur, Hardwarekonfiguration usw., um ein umfassendes Verständnis für die vorliegende Erfindung zu schaffen. Für einen Fach kundigen wird es allerdings offensichtlich sein, dass sich die vorliegende Erfindung auch ohne diese speziellen Einzelheiten anwenden lässt. In anderen Fällen werden allgemein bekannte Verfahren und Hardwarekonfigurationen nicht ausführlich beschrieben, um die vorliegende Erfindung nicht undeutlich zu machen.
  • Die vorliegende Erfindung geht Probleme an, die beim simulierten Testen von modernen, hochintegrierten Schaltungen mit DFT-Merkmalen auftreten. Ursache für die Probleme sind die während der Testsimulation erzeugte große Datenmenge und der fehlende intuitive Ansatz zum Sortieren und Analysieren der simulierten Testdaten.
  • Die 1 und 2 beschreiben den Betrieb und die Konstruktion integrierter Schaltungen unter Verwendung von DFT-Techniken. Die 3 und 4 beschreiben die für den Simulationsbetrieb derartiger integrierter Schaltungen verwendete Hardware und Software. 5 beschreibt ein Verfahren für die Interpretation der Testergebnisse, und die 6 bis 8 zeigen Ergebnisse des Verfahrens aus 5.
  • 1 zeigt eine vereinfachte schematische Darstellung einer Schaltung 20 mit einer kombinatorischen Logikschaltung 22 und Scan-Flipflops 24 gemäß einer Ausführungsform der vorliegenden Erfindung. Die dargestellte Schaltung 20 enthält eine kombinatorische Logikschaltung 22, die mit mehreren Flipflops 24 und Steuerschaltungen 26 gekoppelt ist, auch als Verbindungslogik bekannt. Die einzelnen Flipflops 24 sind in 1 mit FF0 bis FF8 bezeichnet. Die Signale von den Q-Ausgängen der Flipflops 24, die den erfassten Daten von der kombinatorischen Logikschaltung 22 entsprechen, werden als „Flops" bezeichnet. In anderen Ausführungsformen kann die Schaltung 20 in vielen Konfigurationen realisiert werden, zum Beispiel als ASICs, Steuereinheiten usw., einschließlich einer anderen kombinatorischen Logikschaltung 22. Die dargestellten Flipflops 24 umfassen Scan-Flipflops und bilden zusammen ein Schieberegister, auch bekannt als Scan-Register 28. Das Scan-Register 28 zusammen mit der mit dem Scan-Register 28 verbundenen kombinatorischen Logik 22 ist als eine „Scan-Kette" bekannt. In anderen Schaltungsanordnungen können weitere Flipflop- oder Einrichtungskonfigurationen benutzt werden, zum Beispiel pegelempfindliche Scan-Entwürfe (Level Sensitive Scan Designs; LSSD). Beispiele für verschiedene Arten von Scan-Ketten, einschließlich der in LSSD verwendeten, werden in der US-amerikanischen Patentschrift 5.920.575 mit dem Titel „VLSI Test Circuit Apparatus And Method" und ausgegeben an Gregor et al., sowie in der US-amerikanischen Patentschrift 5.909.453 mit dem Titel "Lookahead Structure For Fast Scan Testing" und ausgegeben an Kelem et al., beschrieben.
  • 2 zeigt eine vereinfachte schematische Darstellung der Scan-Flipflops 24 aus 1 gemäß einer Ausführungsform der vorliegenden Erfindung. Die einzelnen Scan-Flipflops 24 enthalten jeweils einen internen Multiplexer 30, der mit einem internen D-Flipflop 32 gekoppelt ist. Das dargestellte Scan-Flipflop 24 hat einen Eingang D und einen Scan-in-Eingang Si, die mit dem Multiplexer 30 gekoppelt sind. Ein Ausgang S des Multiplexers 30 ist mit einem Eingang D des Flipflops 32 gekoppelt. Ein Aktivierungssignal SCANENABLE wird an einen Scan-Aktivierungseingang Se des dargestellten Scan-Flipflops 24 und an den Multiplexer 30 angelegt, um die Weiterleitung der Daten entweder vom Eingang D oder vom Scan-in-Eingang Si an den Eingang D des Flipflops 32 zu steuern. Auch ein Taktsignal kann an einen Takteingang CK des dargestellten Scan-Flipflops 24 und an Flipflop 32 angelegt werden, um die Funktionen des Scan-Flipflops 32 zeitlich abzustimmen. Der Ausgang Q des Flipflops 32 bildet einen Ausgang Q des Scan-Flipflops 24. In der Abbildung enthält das dargestellte Scan-Flipflop 24 auch einen Steuereingang mit einem Rücksetzeingang. In einzelnen Scan-Flipflops 32 können weitere Steuereingänge vorhanden sein, zum Beispiel ein Setzeingang.
  • Scan-Flipflop-Konfigurationen können eingesetzt werden, um eine höhere Flexibilität in Schaltungsentwürfen zu schaffen. Beispielsweise können Scan-Flipflops 24 verwendet werden, um Testmodusoperationen in Reaktion auf die Ausgabe eines Testmodussignals TESTMODE (nicht dargestellt) zu implementieren. In der beschriebenen Ausführungsform wird das Signal TESTMODE selektiv durch ein externes Schaltungsprüfgerät (unten unter Bezugnahme auf die 3 und 4 besprochen) aktiviert. Beispielsweise arbeitet die Schaltung 20 aus 1 in einem normalen Funktionsmodus, wenn das Signal TESTMODE logisch „0" ist. Alternativ arbeitet die Schaltung 20 in einem Testmodus, wenn das Signal TESTMODE logisch „1" ist.
  • Zusätzlich kann das Signal SCANENABLE verwendet werden, um den Betrieb der Scan-Flipflops 24 zu steuern. Wenn das Signal SCANENABLE im Testmodus beispielsweise logisch „0" ist, werden die Operationen in einem Erfassungsmodus bereitgestellt. Wenn alternativ dazu das Signal SCANENABLE logisch „1" ist, werden die Operationen in einem Scan-Modus bereitgestellt, der auch als Shift-Modus bezeichnet wird.
  • Im Allgemeinen steuert das Signal SCANENABLE die Weiterleitung der Daten von Eingang D oder von dem Scan-in-Eingang Si an den Ausgang Q der einzelnen Scan-Flipflops 24 entsprechend der Funktion im Erfassungs- bzw. Abtastmodus. Die Daten werden während des Erfassungsmodus von der kombinatorischen Logikschaltung 22 in den Flipflops 24 empfangen. Derartige Daten können anschließend durch das Scan-Register 28 abgetastet und im Abtastmodus an das FF0-Flipflop 24 ausgegeben werden. Alternativ dazu werden die Scan-in-Daten im Abtastmodus an die Scan-Flipflops 24 und damit an die kombinatorische Logikschaltung 22 weitergeleitet.
  • Wenn das Signal SCANENABLE logisch „0" ist, wird der mit dem Multiplexer 30 gekoppelte Eingang D des Scan-Flipflops 24 mit dem Eingang D des Flipflops 32 verbunden. Wenn das Signal SCANENABLE logisch „1" ist, wird der mit dem Multiplexer 30 gekoppelte Scan-in-Eingang Si des Scan-Flipflops 24 mit dem Eingang D des Flipflops 32 verbunden. Entsprechend können normale Daten von der Logikschaltung 22 selektiv über den Eingang D an die Scan-Flipflops 24 weitergeleitet werden. Alternativ dazu können Abtastdaten mit Hilfe des Scan-in-Eingangs Si selektiv in die Scan-Flipflops 24 eingegeben werden.
  • Erneut Bezug nehmend auf 1 arbeitet die Schaltung 20 in einem Funktionsmodus und einem Testmodus wie zuvor beschrieben. Die Schaltung 20 arbeitet im Normalbetrieb im Funktionsmodus, zum Beispiel mit einer zugehörigen Vorrichtung in einer bestimmten Anwendung. Die Schaltung 20 kann mit einem Schaltungsprüfgerät (unten unter Bezugnahme auf die 3 und 5 beschrieben) verbunden werden, das im Testmodus Prüfoperationen durchführt.
  • Die kombinatorische Logikschaltung 22 ist mit einzelnen Steuerschaltungen 26 verbunden. Die Steuerschaltungen 26 umfassen in der beschriebenen Ausführungsform ODER-Gatter, die entsprechend der Rücksetzeingänge der Scan-Flipflops 24 „aktiv niedrig" sind. Alternativ können die Steuerschaltungen 26 UND-Gatter umfassen, wenn die Rücksetzeingänge der Scan-Flipflops 24 „aktiv hoch" sind. Es sind auch andere Konfigurationen für die Steuerschaltungen 26 möglich. Die kombinatorische Logikschaltung 22 ist so konfiguriert, dass sie Steuersignale erzeugt, um die Operationen innerhalb der jeweiligen Scan-Flipflops 24 zu steuern. Beispielhafte Operationen umfassen in der dargestellten Ausführungsform unter anderem Rücksetzoperationen. In anderen Konfigurationen kann die kombinatorische Logikschaltung 22 weitere Funktionen der zugehörigen Scan-Flipflops 24 steuern.
  • Die Steuerschaltungen 26 haben jeweils einen Eingang, um Steuersignale von der kombinatorischen Logikschaltung 22 zu empfangen. Vorzugsweise sind die Steuerschaltungen 26 so konfiguriert, dass sie derartige empfangenen Steuersignale selektiv an die Steuereingänge der jeweiligen Scan-Flipflops 24 liefern, während die Schaltung 20 im Testmodus getestet wird. Wie nachstehend beschrieben, können die Steuerschaltungen 26 vorzugsweise auch so betrieben werden, dass sie selektiv die Weiterleitung der von der Logikschaltung 22 empfangenen Steuersignale an die jeweiligen Steuereingänge der Scan-Flipflops 24 deaktivieren, während die Schaltung 20 getestet wird. In der beschriebenen Ausführungsform sind die Steuerschaltungen 26 auch dafür konfiguriert, die von der Logikschaltung 22 empfangenen Steuersignale an die jeweiligen Steuereingänge der Scan-Flipflops 24 weiterzuleiten, während sich die Schaltung 20 im Funktionsmodus befindet.
  • Die Steuerschaltungen 26 haben weiterhin jeweils einen Eingang, der für den Empfang eines Aktivierungssignals eingerichtet ist, um die selektive Weiterleitung der von der Logikschaltung 22 empfangenen Steuersignale an die Steuereingänge der jeweiligen Scan-Flipflops 24 zu steuern, während die Schaltung 20 getestet wird. Ein beispielhaftes Signal ist das RESETnENABLE-Signal, wobei der Buchstabe „n" angibt, dass zusätzlich zu der Scan-Kette, die zu der Schaltung 20 gehört, möglicherweise eine oder mehrere weitere Scan-Ketten vorhanden sind.
  • Obwohl auf einzelne Ausgänge oder Flops der Scan-Flipflops 24 normalerweise nicht zugegriffen werden kann, wenn eine integrierte Schaltung einschließlich der Schaltung 20 aus 1 hergestellt wird, können diese Ausgänge, in 1 als „Flop[0]" bis „Flop[8]" bezeichnet, während des Simulationsbetriebs der Schaltung 20 verfügbar gemacht werden. Da es wünschenswert ist, die Anzahl der Eingangs/Ausgangsstifte in der integrierten Schaltung bei ihrer Herstellung zu reduzieren, wurde die Scan-Kette als Schieberegister konfiguriert. Diese Konfiguration macht es möglich, dass viele unterschiedliche Ausgänge der kombinatorischen Logikschaltung 22 aus 1 sequentiell von einem einzelnen mit dem Ausgang Q des FF0-Scan-Flipflops 24 verbundenen Ausgangsstift gelesen werden. Der Umfang der simulierten Ausgangsdaten beinhaltet jedoch sehr große Datenmengen, die den simulierten Betrieb der Schaltung beschreiben, sowie die Signale „Flop[0]" ... „Flop[8]". Diese Ausgangsdatensignale werden üblicherweise als Textdateien erzeugt, und es ist extrem schwierig und zeitaufwändig, die Schaltungsbeschreibung zusammen mit den simulierten Ausgangsdaten syntaktisch zu analysieren, um die Art und Position eines Fehlers im vorgeschlagenen Entwurf zu bestimmen. 3 zeigt ein vereinfachtes Blockdiagramm eines Computersystems, das neuartige Aspekte der vorliegenden Erfindung beinhaltet, die mit dem Bezugszeichen 40 angegeben sind. Das Computersystem 40 ist dafür konfiguriert, ein System zur elektronischen Design-Automatisierung (EDA) 42 zu implementieren, das den Betrieb eines Entwurfs für die Schaltung 20 aus 1 simu lieren kann. Ein Schaltungsentwickler gibt den Entwurf einer integrierten Schaltung ein, der Merkmale für ein testfreundliches Design enthält, bestätigt den Entwurf, platziert die Komponenten auf einem Chip und legt die Verbindungen zwischen den Komponenten an. Gemäß einer Konstruktion umfasst eine in der Entwicklung und Prüfung befindliche integrierte Schaltung 46 eine anwendungsspezifische integrierte Schaltung (ASIC) 48.
  • Das System zur elektronischen Design-Automatisierung (EDA) 42 beinhaltet eine Zentraleinheit (CPU) oder einen Prozessor 50, einen Speicher 52 und eine Datenspeichervorrichtung 54, die alle über einen Bus 47 mit anderen Elementen des Systems 42 gekoppelt sind. In einer Ausführungsform umfasst der Speicher 52 einen Direktzugriffsspeicher 56, einen Festwertspeicher 58 und eine Datenspeichervorrichtung 54. In einer Ausführungsform umfasst die Datenspeichervorrichtung 54 ein Festplattenlaufwerk. Die CPU 50 dient dazu, ein Betriebssystem und Anwendungsprogramme wie EDA- und ATPG-Programme zu implementieren. Darüber hinaus dient die CPU 50 zur Implementierung der neuartigen Merkmale der vorliegenden Erfindung.
  • Über eine Tastatur 60 und/oder eine die Schreibmarke beeinflussende Berührungseingabevorrichtung 62, zum Beispiel eine Maus oder ein Berührungsfeld, gibt ein Konstrukteur, Benutzer oder Bediener Entwurfsinformationen in das System 42 ein. Es versteht sich jedoch, dass auch andere Formen von Eingabevorrichtungen benutzt werden können, einschließlich Spracherkennungssysteme, Steuerhebel, Grafiktabletts, Datenlesegeräte, Kartenlesegeräte, magnetische und optische Lesegeräte, andere Computersysteme usw. Über eine Ausgabevorrichtung 64 erhält der Konstrukteur eine optische Rückmeldung zu dem Entwurfsvorgang. Gemäß einer Konstruktion umfasst die Ausgabevorrichtung 64 eine grafische Bildschirmstation, zum Beispiel eine Anzeige mit Kathodenstrahlröhre oder eine Flüssigkristallanzeige. Während der Synthese und Prüfung einer Konstruktion dient der Speicher 52 dazu, Logikentwurfsinformationen für eine in der Konstruktion befindliche integrierte Schaltung 46 zu speichern.
  • Im Betrieb spezifiziert der Konstrukteur den Logikentwurf der integrierten Schaltung 48 über eine kommerziell verfügbare Form einer Entwurfserfassungssoftware 76, wie beispielsweise die im Handel erhältliche Software von Synopsis, Inc. und Cadence Design Systems, Inc. Von der Entwurfserfassungssoftware 76 wird eine Verhaltensbeschreibungsdatei 78 ausgegeben. Die Verhaltensbeschreibungsdatei 78 wird in einer Hardwarebeschreibungssprache (HDL) wie VHDL geschrieben. Die Verhaltensbeschreibungsdatei 78 stellt den Logikentwurf einer vorgeschlagenen Konstruktion auf einer Register-Transfer-Ebene dar.
  • Die Verhaltensbeschreibungsdatei 78 liefert eine Eingabe für ein Logikentwurf-Syntheseprogramm 80, zum Beispiel einen VHDL-Design-Compiler 81. Das Logikentwurf-Syntheseprogramm 80 ist in der Lage, die erforderlichen Schaltungen und Gatter zu schaffen, um einen von der Verhaltensbeschreibungsdatei 78 spezifizierten Entwurf zu realisieren. Ein im Handel erhältlicher VHDL-Design-Compiler wird von Synopsis, Inc. verkauft. Der VHDL-Design-Compiler arbeitet zusammen mit dem Logik-Synthese-Design-Compiler 78, um eine ausführliche Beschreibungsdatei 82 zu erzeugen. Die ausführliche Beschreibungsdatei 82 enthält eine Gatterebenen-Definition des Logikentwurfs für den vorgeschlagenen Entwurf der integrierten Schaltung. Die ausführliche Beschreibungsdatei 82 umfasst eine Netzliste für den in Erwägung gezogenen Entwurf.
  • Die ausführliche Beschreibungsdatei 82 wird sowohl in verschiedene EDA-Systemprogramme, zum Beispiel ein Programm zur automatischen Erzeugung eines Testmusters (ATPG) 84, als auch in Platzierungs- und Verdrahtungswerkzeuge, Timing-Analysatoren und Simulationsprogramme eingegeben. Das ATPG-Programm 84 erzeugt Testmuster, die im System 42 verwendet werden, um die Funktion eines vorgeschlagenen Entwurfs für die integrierte Schaltung 20 aus 1 zu simulieren, wobei eine Netzliste in Form der ausführlichen Beschreibungsdatei 82 benutzt wird, die in das ATPG-Programm 84 eingegeben wird. Nach dem Stand der Technik gibt das System 42 die simulierten Daten als Textdatei aus.
  • 5 zeigt ein vereinfachtes Ablaufdiagramm, das die Funktion eines beispielhaften Softwaremoduls für die Verarbeitung und Anzeige der Ausgabedatei, einschließlich der zur Schaltung 20 aus 1 gehörenden simulierten Testdaten, mit Hilfe des EDA-Systems 42 aus den 3 und 4 gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht. Die hierin benutzte Bezeichnung „Modul" beinhaltet Codezeilen, die durch ein vom Hauptprogramm getrenntes Unterprogramm definiert sein können oder nicht.
  • 5 veranschaulicht einen Prozess „P1", der vom Konstrukteur im Anschluss an oder zeitgleich mit der Benutzung des ATPG-Programms 84 aus 4 über den Computer 40 aus 3 eingeleitet wird. Gemäß Schritt „S1" wird das Abtastaktivierungssignal „SCANENABLE" aus 1 simuliert. Nach Ausführung von Schritt „S1" wird der Prozess „P1" mit Schritt „S2" fortgesetzt.
  • In Schritt „S2" simuliert der Prozess „P2" ein Datenerfassungssignal, zum Beispiel das Signal RESETnENABLE aus 1. Nach Ausführung von Schritt „S2" wird der Prozess „P1" mit Schritt „S3" fortgesetzt.
  • In Schritt „S3" simuliert der Prozess „P1" mit Hilfe des ATPG-Programms Scan-Kettendaten. Nach Ausführung von Schritt „S3" wird der Prozess „P1" mit Schritt „S4" fortgesetzt.
  • In Schritt „S4" extrahiert der Prozess „P1" simulierte Scan-Flops aus den vom ATPG-Programm aus 4 ausgegebenen Simulationsdaten. Die extrahierten Scan-Flops können Daten enthalten, die zum Beispiel den Signalen „Flop[0]" bis „Flop[8]" aus 1 entsprechen. Nach Ausführung von Schritt „S4" wird der Prozess „P1" mit Schritt „S5" fortgesetzt.
  • In Schritt „S5" sortiert der Prozess „P1" die simulierten Scan-Flops. In einer Ausführungsform beinhaltet der Schritt „S5" das Sortieren der simulierten Scan-Flops in geordnete Gruppen, wobei jede Gruppe von Scan-Flops einer bestimmten Scan-Kette in der simulierten Schaltung 20 entspricht. In einer Ausführungsform werden die simulierten Signale in sequentieller Ordnung sortiert, z.B. „Flop[0]", „Flop[1]", ... „Flop[8]". Nach Ausführung von Schritt „S5" wird der Prozess „P1" mit Schritt „S6" fortgesetzt.
  • In Schritt „S6" identifiziert der Prozess „P1" Kennungen (z.B. „Flop[0]" usw.) für jedes der simulierten Signale. Nach Ausführung von Schritt „S6" wird der Prozess „P1" mit Schritt „S7" fortgesetzt.
  • In Schritt „S7" zeigt der Prozess „P1" die vom Konstrukteur gewählten simulierten Signale (und ihre Kennungen) als Funktion der Zeit grafisch an. In einer Ausführungsform zeigt der Prozess „P1" ferner die Testmodussignale an, zum Beispiel das Rücksetzaktivierungssignal RESETnENABLE oder das Abtastaktivierungssignal SCANE-NABLE aus 1, um die Interpretation der Scan-Flop-Daten zu vereinfachen und die Identifizierung des Erfassungszyklus zu ermöglichen (siehe 4 bis 6 und den zugehörigen Text). In einer Ausführungsform zeigt der Prozess „P1" optional auch die erwarteten Resultate von einem der Scan-Flops an, zum Beispiel die erwarteten Abtastausgabedaten von FF0 aus 1. Nach Ausführung von Schritt „S7" wird der Prozess „P1" mit Schritt „S8" fortgesetzt.
  • In Schritt „S8" ermittelt der Prozess „P1", ob der Konstrukteur zu einer anderen Scan-Kette gehörende simulierte Daten anzeigen möchte. Wenn der Konstrukteur keine zusätzlichen simulierten Daten anzeigen möchte, endet der Prozess „P1 ". Wenn der Konstrukteur zusätzliche simulierte Daten anzeigen möchte, wird der Prozess „P1" mit Schritt „S9" fortgesetzt.
  • In Schritt „S9" ermittelt der Prozess „P1 ", welche simulierten Daten der Konstrukteur angezeigt haben möchte, und wiederholt die Schritte „S4" bis „S8", bis der Konstrukteur festlegt, dass keine weiteren simulierten Daten mehr angezeigt zu werden brauchen.
  • In 6 ist ein vereinfachtes Kurvenblatt dargestellt, das die korrekten simulierten Testergebnisse der Schaltung 20 aus 1 zeigt, die über das System 42 aus 3 unter Verwendung des Prozesses „P1" aus 5 gemäß einer Ausführungsform der vorliegenden Erfindung erhalten wurden. Die oberste Kurve entspricht dem Rücksetzaktivierungssignal RESETnENABLE aus 1 und gestattet dem Konstrukteur die Identifizierung der dem Erfassungszyklus entsprechenden Zeitperiode (siehe vertikale Strichlinien, die dem auf logisch „0" gehenden Signal RESETnENABLE entsprechen). Die simulierten Signale „Flop[8]" bis „Flop[0]" (siehe 1) sind der Reihe nach unter dem Rücksetzsignal RESETnENABLE dargestellt. Die unterste Kurve entspricht den erwarteten Abtastausgabedaten, in diesem Fall aus der Simulation eines erwarteten ScanOut-Signals (1).
  • Wie durch den von dem Signal „Flop[8]" diagonal nach unten und rechts verlaufenden und am Signal „Flop[0]" endenden gestrichelten Pfeil beispielhaft veranschaulicht, pflanzen sich die zu den Flops 8 bis 0 gehörenden Daten in einer geordneten Weise durch das Scan-Register 28 (1) fort. Zu beachten ist, dass der gestrichelte Pfeil seitlich verschoben werden kann und weiterhin eine korrekte Datenfortpflanzung durch das Scan-Register 28 zeigt. Dies weist darauf hin, dass in dieser Simulation keine Verschiebeprobleme im Scan-Register 28 auftreten.
  • Ein Vergleich des Signals „Flop[0]" mit dem erwarteten Abtastausgabedatensignal zeigt ebenfalls, dass die simulierten Daten aus dem Schieberegister mit den erwarteten Abtastausgabedaten identisch sind. Dies weist darauf hin, dass die Simulation der Schaltung 20 aus 1 auf eine korrekte Funktion dieser Scan-Kette in diesem Test hinweist, und diese wiederum keine Probleme mit der Simulation der kombinatorischen Logikschaltung 22 oder der Kette, einschließlich des Scan-Registers 28, zu erkennen vermag.
  • In 7 ist ein vereinfachtes Kurvenblatt mit simulierten Testresultaten dargestellt, die auf ein Verschiebeproblem mit der Schaltung 20 aus 1 hindeuten und über das System 42 aus 3 unter Verwendung des Prozesses „P1" aus 5 gemäß einer Ausführungsform der vorliegenden Erfindung erlangt wurden. Die Kurven sind wie oben unter Bezugnahme auf 6 beschrieben angeordnet. In 7 zeigt ein Vergleich der unteren beiden Kurven, dass das Signal "Flop[0]" von den erwarteten Abtastausgabedaten abweicht. Dieser Vergleich, der automatisch ausgeführt werden kann, zeigt unmittelbar, dass in der Simulation eine Art von Fehler aufgetreten ist, und es kann eine Fehlermeldung erzeugt und angezeigt werden, um darauf hinzuweisen, dass die Simulation einen Fehler erkannt hat.
  • Ein Vergleich der Signale „Flop[2]" und „Flop[3]" zeigt, dass diese beiden Signale identisch sind. Dieser Vergleich, der automatisch ausgeführt werden kann, indem jedes mögliche Paar benachbarter Flops verglichen wird, um festzustellen, ob zwei benachbarte Flops identisch sind, ist ein klarer Hinweis auf ein Verschiebeproblem. Es kann eine Fehlermeldung erzeugt und angezeigt werden, um darauf hinzuweisen, dass die Simulation ein Verschiebeproblem erkannt hat, und um anzugeben, welches Paar von Flops mit dem Verschiebeproblem zusammenhängt. Im gezeigten Beispiel wird sich bei einer Prüfung der Taktsignale „Flop[2]" und „Flop[3]" wahrscheinlich eine große Phasenverschiebung zwischen diesen Signalen zeigen. Durch Festlegen oder Vermeiden der Taktsignalphasenverschiebung (Clock-Skew), zum Beispiel, indem man einen Lockup-Latch einfügt oder den Verteilungsbaum (Clock-Tree) gleichmäßig belastet, kann das Problem behoben werden. In jedem Fall wurde das Problem rasch erkannt, ohne dass man auf eine große Textdatei zurückgreifen und die Netzliste syntaktisch analysieren musste oder dergleichen.
  • In 8 ist ein vereinfachtes Kurvenblatt mit simulierten Testresultaten dargestellt, die auf ein Erfassungsproblem mit der Schaltung 20 aus 1 hindeuten und über das System 42 aus 3 unter Verwendung des Prozesses „P1" aus 5 gemäß einer Ausführungsform der vorliegenden Erfindung erlangt wurden. Die Kurven sind wie oben unter Bezugnahme auf die 6 und 7 beschrieben angeordnet, wobei jedoch die Kurve der erwarteten Abtastausgabedaten unterschiedlich ist und entweder einem unterschiedlichen Eingabevektor oder einer unterschiedlichen kombinatorischen Logikschaltung 22 (1) entspricht. Da sich das fehlerhafte simulierte Signal durch die Scan-Kette (Scan-Register 28 in 1), wie durch den gestrichelten Pfeil gezeigt, fortgepflanzt hat, ist das Abtastverhalten korrekt. Dies deutet auf ein Datenerfassungsproblem im FF7 Flipflop 24 aus 1 hin, und eine Fehlermeldung weist darauf hin, dass ein Datenerfassungsproblem mit dem Flipflop 24 vorliegt, das das Signal „Flop[7]" liefert. Eine Überprüfung der simulierten Eingangssignale zum FF7 Flipflop 24 wird sehr wahrscheinlich die Quelle des Problems aufdecken. Dadurch kann das Problem durch die Scan-Kette zurückverfolgt werden, ohne dass der Konstrukteur eine komplexe Textdatei interpretieren muss, ohne dass die zur Schaltung 20 gehörende Netzliste syntaktisch analysiert werden muss, und ohne jegliche Berechnungen. Infolgedessen werden sowohl die Geschwindigkeit als auch die Genauigkeit verbessert, mit der das Problem identifiziert werden kann.
  • Text in den Figuren
  • Figur 1
    Figure 00150001
  • Figur 2
    Figure 00150002
  • Figur 3
    Figure 00150003
  • Figur 4
    Figure 00150004
  • Figure 00160001
  • Figur 5
    Figure 00160002
  • Figur 6 und 7
    Figure 00160003

Claims (12)

  1. Verfahren zur Unterscheidung von verschiedenen Typen von Abtastfehlern, das Folgendes umfasst: – Simulieren eines Abtastaktivierungssignals („1) bei einer Schaltung, dargestellt durch eine Netzliste, die einer mit einer zu testenden kombinatorischen Logik (22) verbundenen Scan-Kette (20) entspricht; – Simulieren der Einleitung eines Datenerfassungszyklus (S2) in der der Netzliste entsprechenden Scan-Kette (20), wobei der Datenerfassungszyklus den Schaltungsbetrieb simuliert, um simulierte Ausgangsdaten zu liefern, einschließlich einer Reihe von Scan-Flops aus der Scan-Kette (20), die zusammen mit der kombinatorischen Logik (22) simuliert werden; und – Simulieren der Datenaustastung (S3) aus jedem Scan-Flop in der Scan-Kette (20); – Extrahieren simulierter Scan-Flops (S4) aus den simulierten Schaltungsbetriebsdaten; – Sortieren der simulierten Scan-Flops (S5) in eine logische Reihenfolge; – Identifizieren von Kennungen für die simulierten Scan-Flops (S6); und – grafisches Anzeigen der simulierten Scan-Flops (S7) als Funktion der Zeit zusammen mit den Kennungen.
  2. Verfahren nach Anspruch 1, das weiterhin den Schritt der grafischen Anzeige des simulierten Abtastaktivierungssignals umfasst.
  3. Verfahren nach Anspruch 1, das weiterhin die folgenden Schritte umfasst: Bildung erwarteter Abtastausgabedaten von der Netzliste unter Verwendung eines automatischen Testmustergenerators und der Bildung eines Pseudosignals, das Vergleichsunterschiede zwischen den angezeigten simulierten Scan-Flops und den erwarteten Abtastausgabedaten grafisch darstellt.
  4. Verfahren nach Anspruch 1, das weiterhin den Schritt der Bildung eines Pseudosignals umfasst, welches Vergleichsunterschiede zwischen den angezeigten simulierten Scan-Flops und den erwarteten Abtastausgabedaten grafisch darstellt.
  5. Verfahren nach Anspruch 1, wobei das Extrahieren der simulierten Scan-Flops die Reduzierung eines Umfangs der simulierten Ausgabedaten auf eine zu analysierende Scan-Kette beinhaltet.
  6. Verfahren nach Anspruch 1, wobei das Extrahieren der simulierten Scan-Flops die Reduzierung des Umfangs der Ausgabedaten auf eine zu analysierende Scan-Kette beinhaltet, und wobei das Sortieren der simulierten Scan-Flops in eine logische Reihenfolge das Sortieren der simulierten Scan-Flops in eine vom Scan-Eingang zum Scan-Ausgang reichende logische Reihenfolge beinhaltet.
  7. Verfahren nach Anspruch 1, das weiterhin die folgenden Schritte umfasst: Vergleichen eines ausgewählten Scan-Flops mit erwarteten Abtastausgabedaten, um festzustellen, ob der ausgewählte Scan-Flop mit den erwarteten Abtastausgabedaten übereinstimmt, und, falls der ausgewählte Scan-Flop nicht mit den erwarteten Abtastausgabedaten übereinstimmt, Liefern einer Fehlermeldung.
  8. Verfahren nach Anspruch 7, das weiterhin die folgenden Schritte umfasst: nach Lieferung einer Fehlermeldung Vergleichen der Scan-Flops, um festzustellen, ob zwei benachbarte Scan-Flops identisch sind, und, falls zwei benachbarte Scan-Flops als identisch festgestellt wurden, Liefern eines Hinweises auf ein Transferproblem im Zusammenhang mit den beiden identischen benachbarten Scan-Flops, und, falls keine zwei benachbarten Scan-Flops identisch sind, Liefern eines Hinweises darauf, dass ein Erfassungsproblem besteht.
  9. Verfahren nach Anspruch 8, das weiterhin den Schritt des Lieferns eines Hinweises darauf umfasst, welcher Scan-Flop das Erfassungsproblem hat, nachdem ein Hinweis auf ein bestehendes Erfassungsproblem geliefert wurde.
  10. Herstellungsartikel mit einem computerverwendbaren Medium mit einem integrierten computerlesbaren Code, um einen Computer zur Ausführung des Verfahrens nach Anspruch 1 zu veranlassen.
  11. Rechnerbasierte Schaltungsemulation und Fehlerdetektionssystem, Folgendes umfassend: – Speicher (52), konfiguriert, um eine Datenbank bereitzustellen, und geeignet, eine Netzliste, einschließlich Netze einer in der Entwicklung befindlichen integrierten Schaltung (46), zu speichern. – einen automatischen Testmustererzeugungsalgorithmus, geeignet zur Erzeugung von Testmustern, um den Entwurf einer integrierten Schaltung zu testen; und – Verarbeitungsschaltung (50), konfiguriert, um den Betrieb der entworfenen integrierten Schaltung zu simulieren und simulierte Schaltungsbetriebsdaten zu liefern, und um Fehlerarten zu identifizieren, die während der Simulation der entworfenen integrierten Schaltung auftreten, und geeignet, um das Verfahren nach Anspruch 1 auszuführen.
  12. Schaltungssimulationssystem nach Anspruch 11, wobei die Verarbeitungsschaltung einen zur Implementierung des automatischen Testmustererzeugungsalgorithmus konfigurierten Prozessor umfasst.
DE60012735T 1999-11-18 2000-11-13 Verfahren zur unterscheidung von verschiedenen typen von abtastfehlern, rechnerbasierte schaltungsemulation und fehlerdetektionssystem Expired - Lifetime DE60012735T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/443,883 US6970815B1 (en) 1999-11-18 1999-11-18 Method of discriminating between different types of scan failures, computer readable code to cause a display to graphically depict one or more simulated scan output data sets versus time and a computer implemented circuit simulation and fault detection system
US443883 1999-11-18
PCT/US2000/042148 WO2001037091A2 (en) 1999-11-18 2000-11-13 Method of discriminating between different types of scan failures, a computer implemented circuit simulation and fault detection system

Publications (2)

Publication Number Publication Date
DE60012735D1 DE60012735D1 (de) 2004-09-09
DE60012735T2 true DE60012735T2 (de) 2005-08-04

Family

ID=23762554

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60012735T Expired - Lifetime DE60012735T2 (de) 1999-11-18 2000-11-13 Verfahren zur unterscheidung von verschiedenen typen von abtastfehlern, rechnerbasierte schaltungsemulation und fehlerdetektionssystem

Country Status (5)

Country Link
US (1) US6970815B1 (de)
EP (1) EP1188117B1 (de)
JP (1) JP2003515217A (de)
DE (1) DE60012735T2 (de)
WO (1) WO2001037091A2 (de)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6697982B2 (en) * 2001-05-04 2004-02-24 Texas Instruments Incorporated Generating netlist test vectors by stripping references to a pseudo input
US20060136795A1 (en) * 2004-12-17 2006-06-22 Lsi Logic Corporation Method of testing scan chain integrity and tester setup for scan block testing
US7607057B2 (en) * 2004-12-28 2009-10-20 Lsi Corporation Test wrapper including integrated scan chain for testing embedded hard macro in an integrated circuit chip
US7543204B2 (en) * 2005-07-28 2009-06-02 International Business Machines Corporation Method, apparatus and computer program product for designing logic scan chains for matching gated portions of a clock tree
JP4839856B2 (ja) * 2006-01-23 2011-12-21 富士通株式会社 スキャンチェーン抽出プログラム、スキャンチェーン抽出方法及び試験装置
US8060851B2 (en) * 2006-10-13 2011-11-15 Verigy (Singapore) Pte. Ltd. Method for operating a secure semiconductor IP server to support failure analysis
US7945417B2 (en) * 2007-07-30 2011-05-17 Carl Z. Zhou Method of digital extraction for accurate failure diagnosis
US8164345B2 (en) * 2008-05-16 2012-04-24 Rutgers, The State University Of New Jersey Spectral and information theoretic method of test point, partial-scan, and full-scan flip-flop insertion to improve integrated circuit testability
GB2462897A (en) * 2008-09-02 2010-03-03 Ibm Debugging a hardware device comprising combinatorial logic
US8990648B2 (en) * 2012-03-28 2015-03-24 International Business Machines Corporation Optimized synchronous scan flip flop circuit
US9099173B2 (en) * 2012-12-14 2015-08-04 Virtium Technology, Inc. Classifying flash devices using ECC
US9081932B2 (en) * 2013-02-01 2015-07-14 Qualcomm Incorporated System and method to design and test a yield sensitive circuit
US10838449B2 (en) * 2018-07-05 2020-11-17 International Business Machines Corporation Automatic detection of clock grid misalignments and automatic realignment
US10914785B2 (en) 2018-11-13 2021-02-09 Realtek Semiconductor Corporation Testing method and testing system
US10598730B1 (en) 2018-11-13 2020-03-24 Realtek Semiconductor Corporation Testing method and testing system
US11879942B1 (en) * 2022-08-31 2024-01-23 Micron Technology, Inc. Core and interface scan testing architecture and methodology

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5051938A (en) * 1989-06-23 1991-09-24 Hyduke Stanley M Simulation of selected logic circuit designs
US5406497A (en) 1990-09-05 1995-04-11 Vlsi Technology, Inc. Methods of operating cell libraries and of realizing large scale integrated circuits using a programmed compiler including a cell library
US5253255A (en) 1990-11-02 1993-10-12 Intel Corporation Scan mechanism for monitoring the state of internal signals of a VLSI microprocessor chip
US5910958A (en) * 1991-08-14 1999-06-08 Vlsi Technology, Inc. Automatic generation of test vectors for sequential circuits
US5331570A (en) * 1992-03-27 1994-07-19 Mitsubishi Electric Research Laboratories, Inc. Method for generating test access procedures
US5404526A (en) 1992-10-20 1995-04-04 Dosch; Daniel G. Improved method for accessing machine state information
US5550839A (en) 1993-03-12 1996-08-27 Xilinx, Inc. Mask-programmed integrated circuits having timing and logic compatibility to user-configured logic arrays
US5574853A (en) * 1994-01-03 1996-11-12 Texas Instruments Incorporated Testing integrated circuit designs on a computer simulation using modified serialized scan patterns
AU2204695A (en) 1994-04-28 1995-11-29 Apple Computer, Inc. Scannable d-flip-flop with system independent clocking
US5633813A (en) * 1994-05-04 1997-05-27 Srinivasan; Seshan R. Apparatus and method for automatic test generation and fault simulation of electronic circuits, based on programmable logic circuits
US5572712A (en) * 1994-09-30 1996-11-05 Vlsi Technology, Inc. Method and apparatus for making integrated circuits with built-in self-test
US5748497A (en) * 1994-10-31 1998-05-05 Texas Instruments Incorporated System and method for improving fault coverage of an electric circuit
US5517637A (en) * 1994-12-09 1996-05-14 Motorola, Inc. Method for testing a test architecture within a circuit
US5596585A (en) * 1995-06-07 1997-01-21 Advanced Micro Devices, Inc. Performance driven BIST technique
US5862149A (en) 1995-08-29 1999-01-19 Unisys Corporation Method of partitioning logic designs for automatic test pattern generation based on logical registers
US5684808A (en) 1995-09-19 1997-11-04 Unisys Corporation System and method for satisfying mutually exclusive gating requirements in automatic test pattern generation systems
US5703789A (en) 1995-12-29 1997-12-30 Synopsys, Inc. Test ready compiler for design for test synthesis
US5903578A (en) * 1996-03-08 1999-05-11 Lsi Logic Corporation Test shells for protecting proprietary information in asic cores
US5696771A (en) 1996-05-17 1997-12-09 Synopsys, Inc. Method and apparatus for performing partial unscan and near full scan within design for test applications
US5812561A (en) 1996-09-03 1998-09-22 Motorola, Inc. Scan based testing of an integrated circuit for compliance with timing specifications
US5991909A (en) * 1996-10-15 1999-11-23 Mentor Graphics Corporation Parallel decompressor and related methods and apparatuses
US5831993A (en) 1997-03-17 1998-11-03 Lsi Logic Corporation Method and apparatus for scan chain with reduced delay penalty
US5909453A (en) 1997-07-02 1999-06-01 Xilinx, Inc. Lookahead structure for fast scan testing
US5920575A (en) 1997-09-19 1999-07-06 International Business Machines Corporation VLSI test circuit apparatus and method
US5983376A (en) * 1997-09-24 1999-11-09 Sun Microsystems, Inc. Automated scan insertion flow for control block design
US6256770B1 (en) * 1997-10-17 2001-07-03 Lucent Technologies Inc. Register transfer level (RTL) based scan insertion for integrated circuit design processes
US6175946B1 (en) * 1997-10-20 2001-01-16 O-In Design Automation Method for automatically generating checkers for finding functional defects in a description of a circuit
US6463560B1 (en) * 1999-06-23 2002-10-08 Agere Systems Guardian Corp. Method for implementing a bist scheme into integrated circuits for testing RTL controller-data paths in the integrated circuits

Also Published As

Publication number Publication date
WO2001037091A3 (en) 2002-01-03
WO2001037091A2 (en) 2001-05-25
DE60012735D1 (de) 2004-09-09
JP2003515217A (ja) 2003-04-22
US6970815B1 (en) 2005-11-29
EP1188117B1 (de) 2004-08-04
EP1188117A2 (de) 2002-03-20

Similar Documents

Publication Publication Date Title
DE69826659T2 (de) Billige, leicht anzuwendende software für ein automatisches testsystem
DE60012735T2 (de) Verfahren zur unterscheidung von verschiedenen typen von abtastfehlern, rechnerbasierte schaltungsemulation und fehlerdetektionssystem
DE60211659T2 (de) Verfahren und vorrichtung zur diagnose von ausfällen in einer integrierten schaltung unter verwendung von techniken des typs design-for-debug (dfd)
DE69834892T2 (de) Eingebetteter Logikanalysator
DE60128014T2 (de) Intelligenter Prüfadapter
DE19937232B4 (de) Entwicklungs- und Bewertungssystem für integrierte Halbleiterschaltungen
DE10392497T5 (de) Herstellungsverfahren und Herstellungsvorrichtung zum Vermeiden eines Prototypen-Aufschubs bei der ASIC/SOC-Herstellung
KR100506770B1 (ko) 이벤트 기준 반도체 테스트 시스템
US7478346B2 (en) Debugging system for gate level IC designs
DE10147078A1 (de) Verfahren zur Gültigkeitsprüfung von Entwürfen für komplexe integrierte Schaltungen
EP0508620B1 (de) Verfahren und System zur automatischen Bestimmung der logischen Funktion einer Schaltung
DE10053207A1 (de) Verfahren und Vorrichtung zur Gültigkeitsprüfung bei Systemchip-Entwürfen
DE19855488A1 (de) Testmustergenerator mit verbesserter Testsequenzverdichtung
US6510405B1 (en) Method and apparatus for selectively displaying signal values generated by a logic simulator
US20050071791A1 (en) Method and system for incremental behavioral validation of digital design expressed in hardware description language
DE112021003677T5 (de) Automatisierte unterstützte schaltkreisvalidierung
EP1771799B1 (de) Verfahren zur bewertung der güte eines testprogramms
DE102015102034A1 (de) Verfahren zum Analysieren von Ergebnissen in einem Entwurfsautomatisierungsablauf für elektronische Systeme, Computersystem und Computerprogrammprodukt
CN106546910A (zh) 基于位流回读的fpga测试平台
DE60026178T2 (de) Modellierung und prüfung einer integrierten schaltung
Wang et al. Practical FSM analysis for Verilog
CH694927A5 (de) Verfahren und Vorrichtung zur Fehleranalyse digitaler Logikschatungen..
DE102021124723A1 (de) Sichtbarkeit von Schaltungsdesigns in IC-Einrichtungen
Vali et al. Satisfiability-based analysis of failing traces during post-silicon debug
Sanchez et al. System level fault simulation

Legal Events

Date Code Title Description
8320 Willingness to grant licences declared (paragraph 23)
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