[go: up one dir, main page]

DE60218447T2 - Verfahren zur Bearbeitung von Testmustern für einen integrierten Schaltkreis - Google Patents

Verfahren zur Bearbeitung von Testmustern für einen integrierten Schaltkreis Download PDF

Info

Publication number
DE60218447T2
DE60218447T2 DE60218447T DE60218447T DE60218447T2 DE 60218447 T2 DE60218447 T2 DE 60218447T2 DE 60218447 T DE60218447 T DE 60218447T DE 60218447 T DE60218447 T DE 60218447T DE 60218447 T2 DE60218447 T2 DE 60218447T2
Authority
DE
Germany
Prior art keywords
test
test patterns
predetermined
patterns
neural network
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
DE60218447T
Other languages
English (en)
Other versions
DE60218447D1 (de
Inventor
Eric Liau
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.)
Qimonda AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Publication of DE60218447D1 publication Critical patent/DE60218447D1/de
Application granted granted Critical
Publication of DE60218447T2 publication Critical patent/DE60218447T2/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
    • 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/318371Methodologies therefor, e.g. algorithms, procedures

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)

Description

  • Aus dem US-Patent Nr. 5,684,946 ist ein Designverifikationsverfahren bekannt, bei dem ein Eingabestimulus an eine zu testende Einrichtung angelegt wird. Die zu testende Einrichtung wird durch ein Designmodell dargestellt, das unter Verwendung spezialisierter Programmiersprachen wie etwa Verilog oder standardmäßiger Programmiersprachen wie der Programmiersprache C konstruiert werden kann. Das US-Patent offenbart außerdem eine „Korrelations-Engine", die die Ausgabe der zu testenden Einrichtung mit den Eingabestimuli korreliert, um Eingabestimuli zu erzeugen, die die am meisten „interessierenden Ereignisse" verursachen werden. Gemäß dem US-Patent kann eine derartige „Korrelations-Engine" auf einem DOE-(Design of Experiments)-Verfahren oder anderen Korrelationsverfahren wie etwa der Verwendung eines neuralen Netzes basieren. Das US-Patent erwähnt weiterhin, daß der darin beschriebene Verifikationsprozeß auch auf Prototyp-Hardware angewendet werden könnte.
  • Der Artikel „Test Generation Using Neural Computers" (S. T. Chakradhar, V. D. Agrawal, M. L. Bushnell; International Journal of Computer Aided VLSI Design 3, 241-257 (1991)) beschreibt ein Verfahren, bei dem mit einem neuronalen Netz eine integrierte Schaltung modelliert wird. Dazu werden alle Schaltungselemente – wie etwa Boolesche Gatter – in neuronale Netzknoten transformiert. Später wird das Testerzeugungsproblem als ein Energieminimierungsproblem auf der Basis einer „Energiefunktion" formuliert.
  • Um eine hohe Leistung und hohe Integrationsdichte zu erzielen, werden die Abmessungen von integrierten Schaltungskomponenten immer weiter herunterskaliert. Insbesondere werden die Transistorabmessungen herunterskaliert, während eine niedrigere Verlustleistung durch Herunterskalieren der Versorgungsspannung erreicht wird. Aufgrund einer hohen Packungsdichte von Transistoren jedoch steigt der Stromversorgungsstrom an, und somit können große Stromschwankungen innerhalb einer kurzen Zeitperiode erhebliches Rauschen verursachen. Folglich ist eine Schwierigkeit, der sich Schaltungsdesigner gegenübersehen, die Stromversorgung von Schaltungen mit sehr hoher Leistung, und zwar aufgrund des starken Schaltrauschens.
  • Um die Funktion einer neu ausgelegten integrierten Schaltung zu verifizieren, wird die Schaltung zuerst simuliert und dann gestestet. Während der Simulation werden mehrere Eingangssignale an die Eingänge der Schaltung angelegt und die Ausgangssignale der Schaltung berechnet. Die Eingangssignale werden als Testmuster bezeichnet. Wenn die Ausgangssignale voreingestellten Zielsignalen nicht ausreichend nahekommen, wird die Schaltung neu ausgelegt und wieder simuliert.
  • Wenn die Simulation abgeschlossen ist, wird ein die integrierte Schaltung enthaltender Chip hergestellt und unter Verwendung von ATE (Automatic Test Equipment – Automatisches Testgerät) getestet. Das ATE legt auch ein Testmuster an die Schaltung an. Das Testmuster für das ATE muß von einem Benutzer manuell eingegeben werden. Im allgemeinen wird das gleiche Testmuster, das für die Simulation verwendet worden ist, auch für das Testen verwendet. Wenn die von der Schaltung als Reaktion auf das Testmuster des ATE erzeugten Ausgangssignale von voreingestellten Zielsignalen abweichen, wird die Schaltung neu ausgelegt, wieder simuliert und wieder getestet.
  • Während die Komplexität integrierter Schaltungen zunimmt, nehmen Integrationsdichte und Funktionalität dramatisch zu. Das gleichzeitige Schalten einer großen Anzahl von Transistoren induziert einen großen Stromstoß. Das Schaltrauschen auf dem Stromverteilungsnetz muß auf ein tolerierbares Maß unterdrückt werden, um die Zuverlässigkeit der Schaltung sicherzustellen. Zur effizienten Bekämpfung des Schaltrauschens ist eine Abschätzung des Worst-Case-Schaltrauschens erforderlich.
  • Eine Möglichkeit zum Bestimmen des Worst-Case-Schaltrauschens ist das Simulieren aller Kombinationen von Eingangsmustern, um zu bestimmen, welche Kombination das größte Schaltrauschen induziert. Die Komplexität des Lösungsraums ist jedoch exponentiell proportional zur Anzahl der Primäreingaben des Systems. Dementsprechend würde es enorme Zeit erfordern, selbst bei einem mäßig komplexen System den ganzen Lösungsraum zu verarbeiten.
  • Folglich ist es fast unmöglich, alle Testmuster, die Worst-Case-Schaltrauschen verursachen, durch Simulation oder Testen zu bestimmen. Dementsprechend kann ein kleiner Satz von Testmustern, die zumindest einige Worst-Case-Szenarien verursachen, ausgewählt werden. Auf diese Weise ist jedoch die Simulation oder das Testen der integrierten Schaltung möglicherweise nicht zufriedenstellend.
  • Der Designer muß somit entweder enorme zeitliche Anforderungen für Simulation und Testen akzeptieren, oder potentiell unzureichende Simulations- oder Testeffizienz. Dies ist eindeutig unerwünscht.
  • Dazu sind einige Ansätze vorgeschlagen worden, um diese Probleme zu behandeln. In „Estimation of Switching Noise an Power Supply Lines in Deep Sub-micron CMOS circuits", Shiyou Zhao und Kaushik Roy, 13th International Conference an VLSI Design, IEEE Januar 2000, wird ein probabilistischer Ansatz zum Bestimmen der Untergrenze des Worst-Case-Schaltrauschens auf Stromversorgungsleitungen vorgeschlagen. Der darin beschriebene Algorithmus verfolgt die Worst-Case-Eingabemuster, die die steilste maximale Schaltstromspitze und deshalb das maximale Schaltrauschen induzieren. Dies basiert auf der Beobachtung, daß das maximale Schaltrauschen zu der steilsten maximalen Schaltstromspitze in direkter Beziehung steht.
  • Bei diesem Ansatz wird das Design einer integrierten Schaltung simuliert durch Anlegen zufällig erzeugter Eingangssignalvektoren an die Eingänge der Schaltung. Für jedes Eingangsvektorpaar wird der simulierte Spitzenschaltstrom bestimmt. Die Worst-Case-Eingabevektorpaare speisen als anfängliche Population einen genetischen Algorithmus. Der genetische Algorithmus ist ausgelegt, das oder die fast optimale(n) Eingabemuster auszusortieren, die die steilste maximale Schaltstromspitze und deshalb das Worst-Case-Schaltrauschen induzieren. Die Worst-Case-Eingabemuster werden dann in einer HSPICE-Simulation der Schaltungen verwendet, um die genaue Stromwellenform zu extrahieren.
  • Ein mit diesem Ansatz assoziiertes Problem ist die Schwierigkeit, geeignete Zufallstestmuster zu erzeugen. Je größer die Anzahl der Zufallstestmuster, umso höher ist die Wahrscheinlichkeit, ein Testmuster zu erzeugen, das dem Worst-Case ausreichend nahekommt. Da jedoch die Simulation jedes Testmusters zeitraubend ist, ist die Simulation einer großen Anzahl von Testmustern praktisch nicht durchführbar.
  • Wenn insbesondere ein genetischer Algorithmus verwendet wird, ist es zu zeitraubend, jedes einzelne Zufallsmuster aus jeder neuen Musterpopulation zu simulieren, bevor der Algorithmus bestimmen kann, welches der Muster der Population zur weiteren Optimierung ausgewählt werden soll. Deshalb wird dieses Verfahren durch die Anzahl der Versuchszufallsmuster in jeder Musterpopulation gesättigt. Es eignet sich für kleine Schaltungen. Es würde jedoch selbst bei Verwendung der schnellsten Simulationsanwendungen möglicherweise Jahre dauern, um eine vollständige Chip-Simulation einer großen Schaltung durchzuführen.
  • Die vorliegende Erfindung trachtet danach, diese Probleme zu behandeln.
  • Gemäß der vorliegenden Erfindung wird ein Verfahren zum Testen einer integrierten Schaltung nach Anspruch 1, ein Datenverarbeitungssystem nach Anspruch 31 und ein Computerprogramm nach Anspruch 32 bereitgestellt. In einem „Lernmodus" dieses Verfahrens wird das Verhalten der integrierten Schaltung approximiert, wobei der Lernmodus folgendes umfaßt:
    • (a) Anwenden eines Satzes Testmuster auf die integrierte Schaltung;
    • (b) Anwenden des Satzes Testmuster auf ein neuronales Netz;
    • (c) Vergleichen der Ausgaben der integrierten Schaltung und der Ausgaben des neuronalen Netzes und
    • (d) Adaptieren von Parametern des neuronalen Netzes zum Approximieren des Verhaltens der integrierten Schaltung auf der Basis des Vergleichs.
  • Insbesondere können die Testmuster auf die integrierte Schaltung über ein automatisches Testgerät (ATE) angewendet werden. Das neuronale Netz kann in das ATE integriert sein. Es kann unter Verwendung eines beliebigen bekannten ATE implementiert sein.
  • Die Erfindung basiert auf der Idee, daß das dynamische Verhalten der integrierten Schaltungseinrichtung aus einem Satz Zufallstestmuster unter Verwendung eines neuronalen Netzes erlernt werden kann.
  • Nachdem der Lernprozeß abgeschlossen worden ist, kann das ATE eine Testmusterklassifikation vornehmen. Das ATE kann somit suboptimale Muster für die spätere Simulation oder das spätere Testen der integrierten Schaltung auswählen. Die ausgewählten Testmuster kommen den Worst-Case-Szenarien ausreichend nahe.
  • Dementsprechend stellt die Erfindung auch einen Arbeitsmodus bereit, wobei der Arbeitsmodus folgendes umfaßt:
    • (m) Anwenden eines weiteren Testmusters auf das neuronale Netz, dessen Parameter darauf adaptiert worden sind, das Verhalten der integrierten Schaltung wie oben beschrieben zu approximieren; Verarbeiten der Ausgabe des neuronalen Netzes, um zu bestimmen, ob vorbestimmte Kriterien erfüllt sind; und Auswählen jener weiteren Testmuster, die vorbestimmte Kriterien erfüllen, und Anwenden der ausgewählten Testmuster auf die integrierte Schaltung, um die integrierte Schaltung zu testen.
  • Unter Verwendung dieses Verfahrens wird eine ausreichende Anzahl Testmuster für ein effizientes Testen der integrierten Schaltung bereitgestellt.
  • Der letztere Modus des Arbeitens des neuronalen Netzes kann als „Arbeitsmodus" bezeichnet werden.
  • Dementsprechend wird auch ein Verfahren zum Testen einer integrierten Schaltung bereitgestellt; wobei das Verfahren folgendes umfaßt: Anwenden von Testmustern, die gemäß dem oben beschriebenen Verfahren zum Auswählen von Testmustern ausgewählt worden sind, auf die integrierte Schaltung unter Verwendung von automatischem Testgerät (ATE).
  • Gemäß einer bevorzugten Ausführungsform der Erfindung werden die Testmuster, die gemäß dem oben beschriebenen Ansatz auf Basis eines neuronalen Netzes ausgewählt worden sind, unter Verwendung eines genetischen Algorithmus weiter optimiert.
  • Somit wird ein Verfahren zum Bereitstellen eines Testmusters für die Simulation und/oder den Test des Layouts einer integrierten Schaltung bereitgestellt, wobei das Verfahren die folgenden Schritte umfaßt:
    • (A) Bereitstellen eines Satzes Testmuster, die aus Testmustern bestehen, die gemäß dem oben beschriebenen Verfahren zum Auswählen von Testmustern ausgewählt wurden;
    • (B) Anwenden des Satzes ausgewählter Testmuster auf die integrierte Schaltung unter Verwendung von automatischem Testgerät (ATE);
    • (C) Bestimmen der Ausgaben der integrierten Schaltung;
    • (D) Bearbeiten der Ausgaben zum Bestimmen, ob vorbestimmte Testkriterien erfüllt sind;
    • (E) in Abhängigkeit von der Bestimmung in Schritt (D) Erzeugen eines neuen Satzes Testmuster auf der Basis des von Schritt (A) bereitgestellten Satzes ausgewählter Testmuster unter Verwendung eines genetischen Algorithmus.
  • Diese Kombination aus Ansätzen auf der Basis eines neuronalen Netzes und eines genetischen Algorithmus erhöht weiter die Chancen, Testmuster zu finden, die Worst-Case-Arbeitsszenarien der integrierten Schaltung ausreichend nahekommen.
  • Das Verfahren verwendet einen genetischen Algorithmus (Optimierungsverfahren), um einen Satz vorausgewählter Muster auf der Basis von Messungen unter Verwendung eines ATE zu optimieren. Dadurch kann ein Satz Worst-Case-Rauschmuster automatisch ausgewählt werden. Indem ATE für die Verarbeitung der Testmuster verwendet wird, wird die Leistung im Vergleich zu Ansätzen auf der Basis einer Simulation stark verbessert.
  • Entsprechend erzeugte Testmuster können zusätzlich zur weiteren Detaildesignanalyse und Verbesserung neu simuliert werden.
  • Der Ansatz über einen genetischen Algorithmus kann unter Verwendung existierender ATEs implementiert werden.
  • Die Erfindung wird nun lediglich beispielhaft unter Bezugnahme auf die beiliegenden Zeichnungen beschrieben. Es zeigen:
  • 1 schematisch eine Klassifikation von drei Gruppen von Testmustern;
  • 2 einen Prozeß, der den Neuronales-Netz-Lernmodus gemäß einer Ausführungsform der Erfindung darstellt;
  • 3 einen Prozeß, der den Neuronales-Netz-Arbeitsmodus gemäß einer Ausführungsform der Erfindung darstellt;
  • 4 ein schematisches Flußdiagramm eines genetischen Algorithmus unter Verwendung anfänglicher Zufallsmustererzeugung; und
  • 5 ein schmatisches Flußdiagramm eines Verfahrens, das auf Basis eines neuronalen Netzes eine Vorauswahl von Testmustern und die spätere Optimierung unter Verwendung eines genetischen Algorithmus kombiniert.
  • Gemäß einer Ausführungsform der Erfindung wird ein neuronales Netzmodell in das ATE implementiert. Das heißt, das ATE kann automatisch aus auf dem ATE durchgeführten Testläufen einer integrierten Schaltung lernen. Nachdem das Trainieren des neuronalen Netzes abgeschlossen worden ist, ist es in der Lage, zu identifizieren, welche Gruppe von Testmustern zu einem suboptimalen Satz gehört. Dazu werden einige Millionen Testmuster über das neuronale Netz ausgewählt. Danach wird das vorausgewählte suboptimale Muster simuliert (Simulationsansatz) oder gemessen (ATE-Ansatz), um weiter zu bestimmen, welche der Muster vorbestimmte Kriterien erfüllen. Jene Muster, die die Kriterien erfüllen, werden zur Speicherung ausgewählt.
  • 1 veranschaulicht schematisch eine Klassifikation von drei Gruppen von Mustern. Da die auf einem Simulationsansatz oder dem ATE-Ansatz basierende Auswahl von Mustern auf der Basis eines suboptimalen Satzes von Mustern (Gruppe C) durchgeführt wird, sind die Geschwindigkeit und Effizienz im Vergleich zu herkömmlichen Verfahren zum Identifizieren geeigneter Testmuster erheblich verbessert. Dieser Ansatz wird als eine maximale Approximation bezeichnet.
  • Es werde angenommen, wie in 1 dargestellt, daß es PN ∊ {PN A PN B PN C}, N > 0, drei Gruppen von Testmustern innerhalb eines vollständigen Bereichs aller möglichen Testmuster gibt. Anstatt alle möglichen Muster zu durchsuchen, kann das neuronale Netz lernen und zwischen verschiedenen Gruppen von Testmustern unterscheiden, wobei ein ATE-basiertes Trainingsprogramm verwendet wird. Dementsprechend werden die Testmuster vorklassifiziert.
  • Bei dem Maximale-Approximations-Algorithmusmodus werden die suboptimalen Sätze PN C und PN B ∩ PN C auf der Basis neuronaler Netzentscheidungen erzeugt, und ein suboptimaler Mustersatz bildet eine neue Musterpopulation.
  • Dieser Prozeß kann auf der Basis der neuen Musterpopulation iterativ wiederholt werden, um dadurch die beste Gruppe von Mustern aus der suboptimalen Population auszuwählen, usw.
  • Ein neuronales Netz ist eine miteinander verbundene Anordnung einfacher Verarbeitungselemente, Einheiten oder Knoten, deren Funktionalität lose auf der des tierischen Neurons basiert. Die Netzfähigkeit des Netzes wird in den Zwischen-Einheit-Verbindungsstärken oder -gewichten gespeichert, erhalten durch einen Prozeß der Adaptation an oder des Lernens von einem Satz von Trainingsmustern.
  • 2 veranschaulicht einen Prozeß, der dem Neuronales-Netz-Lernmodus gemäß einer Ausführungsform der Erfindung darstellt. Das neuronale Netz basiert auf Rück-Ausbreitungs-Netzcharakteristiken, um eine Musterklassifizierungsaufgabe auszuführen. Am Anfang lernt das neuronale Netz von einem Satz von Zufallsmustern. Die Testergebnisse werden von einem Testsystem (ATE) überwacht. Der Lernprozeß wird beendet, wenn der Lernfehler unter einem vorbestimmten Wert liegt. Danach wird eine Neuronales-Netz-Lerngewichts-(„Gehirn")-Datei erzeugt. Diese Datei wird dann im Arbeitsmodus verwendet, um eine Musterklassifizierungsaufgabe durchzuführen.
  • 3 veranschaulicht einen Prozeß, der den Neuronales-Netz-Arbeitsmodus gemäß einer Ausführungsform der Erfindung darstellt. In dem Arbeitsmodus ist das neuronale Netz in der Lage, auf der Basis einer Lernerfahrung (in der NN-Gehirndatei enthalten) eine Musterklassifizierung zur Musterapproximation und -auswahl durchzuführen. Die Prozedur der Musterauswahl kann auf einem sehr kleinen Satz von NN-Musterpopulationen basieren. Beispielsweise kann eine NN-Musterpopulation sechs NN-Entscheidungsmuster enthalten. Das neuronale Netz bestimmt zuerst, ob irgendein Muster aus diesen sechs NN-Entscheidungsmustern zu einer potentiellen Maximalstromgruppe (suboptimale Gruppe) gehört. Wenn dies der Fall ist, wird dieses Muster ausgewählt. Wenn nein, dann wird die Suche unter Verwendung der gleichen Prozedur wiederholt. Bei der finalen Netzklassifikation werden nur jene Muster ausgewählt, die einen höheren dynamischen Strom als Muster verursachen, die bei realen Messungen getestet worden sind (RSMA). Beispielsweise können unter Verwendung dieses Ansatzes 6·100 = 600 Muster klassifiziert werden, von denen nur 100 Muster ein Testen durch Messung erfordern, um zu bestimmen, ob sie höhere dynamische Ströme verursachen, während die anderen 500 Muster von dem neuronalen Netz klassifiziert werden.
  • Eine Implementierung des Neuronales-Netz-Musterlernprozesses und des Neuronales-Netz-Musterklassifizierungsprozesses ist in Anhang 1 bzw. Anhang 2 angegeben.
  • Bei einer Ausführungsform der Erfindung ist das neuronale Netz ein neuronales Rückausbreitungsnetz. Rückausbreitung ist ein überwachter Lernalgorithmus, der hauptsächlich von Mehrschicht-Perceptronen verwendet wird, um die Gewichte zu ändern, die mit der oder den versteckten Neuronenschichten des Netzes assoziiert sind.
  • Eine weitere Ausführungsform der Erfindung wird nun unter Bezugnahme auf 4 und 5 beschrieben. Bei dieser Ausführungsform werden durch das neuronale Netz ausgewählte Testmuster unter Verwendung eines genetischen Algorithmus weiter optimiert.
  • Zu Veranschaulichungszwecken zeigt 4 ein schematisches Flußdiagramm eines genetischen Algorithmus ohne Vorauswahl von Testmustern durch ein neuronales Netz (stattdessen werden die anfänglichen Muster auf einer Zufallsbasis generiert).
  • 5 veranschaulicht ein schematisches Flußdiagramm eines Verfahrens, das auf einem neuronalen Netz basierte Vorauswahl von Testmustern und nachfolgende Optimierung unter Verwendung eines genetischen Algorithmus gemäß einer Ausführungsform der Erfindung kombiniert.
  • Genetische Algorithmen basieren auf den Prinzipien natürlicher Selektion. Insbesondere sind genetische Algorithmen stochastische Suchverfahren, die eine natürliche biologische Evolution simulieren. Die Algorithmen arbeiten auf der Basis einer Population potentieller Lösungen und produzieren, unter Anwendung des Prinzips des „Überlebens des Tauglichsten" auf diese potentiellen Lösungen, eine bessere Approximation einer Ziellösung in jeder Iteration des Algorithmus.
  • Jede Iteration des Algorithmus produziert eine neue Generation von Approximationen. Die Approximationen jeder Generation werden durch den Prozeß des Auswählens von Individuen gemäß ihrem „Fitnessgrad" im Problembereich erzeugt. Die ausgewählten Individuen werden unter Verwendung von Operatoren, die der natürlichen Genetik entlehnt sind, miteinander gekreuzt. Dieser Prozeß führt zu der Evolution von Populationen von Individuen, die für ihre Umgebung besser geeignet sind als die Individuen, aus denen sie erzeugt wurden, wie bei der natürlichen Adaptation.
  • Dementsprechend modellieren genetische Algorithmen natürliche Prozesse wie etwa Selektion, Überkreuzen, Rekombination und Mutation.
  • 4 zeigt ein Verfahren zum Detektieren des Worst-Case-Stromverbrauchs/Spitzenstrommusters (RSMA) auf der Basis eines genetischen Algorithmus. Dieses Verfahren arbeitet auf der Basis von Populationen von individuellen Mustern anstelle einer einzelnen Musterlösung. Auf diese Weise kann die Suche nach besseren Approximationen auf parallele Weise durchgeführt werden. Dieses Verfahren ist deshalb effizienter als Einzelmustersuchprozesse unter Verwendung von dynamischen Zufallsalgorithmusverfahren.
  • Genetische Algorithmen können für die Simulation eines integrierten Schaltungs-Designs eingesetzt werden, um das Worst-Case-Mustersuchproblem zu lösen. Die Effizienz von genetischen Suchprozeduren hängt größtenteils von der Anzahl der Musterpopulationen und der Anzahl von Testmustern in jeder Musterpopulation ab. Wie oben jedoch angedeutet, stellt der simulationsbasierte Ansatz eine Begrenzung dar, wenn genetische Algorithmen verwendet werden sollen. Die genetische Selektionsprozedur muß jede „Fitneß" (dynamischer Spitzen-/gemittelter Strom) der Testmuster in jeder Musterpopulation auswerten. Beispielsweise liegen möglicherweise 200 Musterpopulationen vor, die jeweils 20 Muster enthalten. Somit muß der genetische Algorithmus die Fitneß von 200·20 = 4000 Mustern auswerten. Wenn jedes Testmuster ein 50-Zyklen-Testmuster ist, das 30 Minuten an Simulationszeit erfordert (z.B. EPIC- oder SPICE-Simulator), dann beträgt die insgesamt erforderliche Such- und Simulationszeit 4000·30 Minuten = 120000 Minuten, d.h. etwa 83 Tage unaufhörliche Simulation, um nur 200 Musterpopulationen zu verarbeiten.
  • Außerdem nimmt der volle Musterkombinationsbereich proportional zur Komplexität von VLSI oder ULSI-Designs zu. Deshalb ist ein Teilsatz aus 200 Musterpopulationen nur ein sehr kleiner Teilsatz des vollen Musterkombinationsbereichs.
  • Wenn im Gegensatz ein genetischer Algorithmus zusammen mit ATE verwendet wird, können pro Zeiteinheit viel mehr Musterpopulationen verarbeitet werden, weil das Testen einer integrierten Schaltung unter Verwendung von ATE erheblich schneller ist als eine Simulation unter Verwendung herkömmlicher Systeme. Deshalb ist die Approximation von Worst-Case-Testmustern in einer gegebenen Zeitperiode viel genauer.
  • Eine Implementierung eines dynamischen genetischen Algorithmus zur Verwendung mit ATE wird nachfolgend vorgestellt. Zu Beginn der Berechnung wird eine Reihe individueller Zufallsmuster PN POP = (p1, p2, ..., pN)zufällig erzeugt und initialisiert, wobei N die maximale Anzahl an Zufallsmustern und POP die maximale Anzahl an Musterpopulationen ist.
  • Danach werden für jedes individuelle Muster (p1, p2, ..., pN) die objektiven Funktionen Ipeak(∀ Isample (PN, SRMS))und Iaveraged(PN, SRMS)ausgewertet, wobei Gleichung (1) verwendet wird:
  • Figure 00140001
  • Die erste (anfängliche) Generation wird somit produziert, und die mittlere Fitneß der individuellen Muster (p1, p2, ..., pN) wird unter Verwendung von Gleichung (2) berechnet:
  • Figure 00150001
  • Wenn das Optimierungskriterium (Aeeraged_Fitness(IMeasurement(PNPOP)) < IMAX_REF)für keine existierende Population erfüllt ist, wird eine neue Population auf der Basis der existierenden Population erzeugt. Individuelle Muster werden entsprechend ihrer Fitneß für die Produktion von Nachkommen (Schleife 1 in 4) ausgewählt.
  • Bei diesem Auswahlansatz wird das Grundkonzept der Wettkampfselektion verwendet. Das heißt, nur das beste individuelle Muster aus der existierenden Population wird als ein Elternteil ausgewählt. Dieser Prozeß wird wiederholt, bis ein vordefinierter Prozentsatz an besten Mustern ausgewählt worden ist:
    Figure 00150002
    wobei B der vordefinierte Prozentsatz der besten Mustergruppe ist. Die Sortierungsfunktion ordnet zuerst die Testmuster von Minimum bis Maximum entsprechend ihrer Fitneßswerte um. Danach wird die Elternselektion in einer Zufallssequenz auf der Basis des neuen suboptimalen Fitneßsbereichs N erzeugt, der unter Verwendung von B berechnet wird. Eltern (ausgewählte Muster) werden unter Verwendung einer Überkreuzung (4) kombiniert, rekombiniert (5) und mutiert (6), um Nachkommen zu erzeugen:
    Figure 00160001
    wobei C der Testmusterinhalt ist, der für eine Überkreuzung von zwei Mustern ausgewählt ist. Bei dem Überkreuzungsprozeß werden obere, untere oder Streifenüberkreuzungsverfahren in einer Zufallssequenz durchgeführt, und die Inhalte der beiden Überkreuzungsmuster werden ausgetauscht, um zwei neue Nachkommenmuster zu produzieren.
  • Danach wird die Rekombinationsgleichung (5) verwendet, um das beste Fitneßsmuster aus zwei neuen Überkreuzungsnachkommensmustern auszuwählen:
    Figure 00160002
    wobei M die Anzahl neu ausgewählter Nachkommensmuster zum Bilden der neuen Population ist. Nach Rekombination erfahren die Nachkommen eine Mutation. Nachkommensvariablen werden durch die Addition kleiner Zufallswerte mutiert Ry ∊ {1 0 –1}.
  • Der Mutationsprozeß hilft, den Optimierungssuchprozeß zu verbessern.
  • Schließlich werden alle Nachkommensmuster in die Population eingefügt, wobei die Eltern (ursprüngliche Musterpopulation) ersetzt und eine neue Generation erzeugt wird. Dieser Zyklus (Schleife 1 in 4) wird abgearbeitet, bis die Optimierungskriterien erfüllt sind.
  • Wenn sich die Fitneß nach einer vordefinierten Anzahl genetischer Zuchtgenerationen nicht verbessert, wird eine neue Musterpopulation (Schleife 2 in 4) in einer Zufallssequenz generiert. Diese Kombination erhöht stark die Chancen, Worst-Case-Testmuster zu finden.
  • Eine komplette Implementierung dieses Algorithmus unter Verwendung von ATE J973 ist in Anhang 3 angegeben.
  • 5 veranschaulicht ein Flußdiagramm eines Verfahrens, das eine auf einem neuronalen Netz basierende Vorauswahl von Testmustern und nachfolgende Optimierung unter Verwendung eines genetischen Algorithmus kombiniert.
  • Eine vollständige Implementierung dieses kombinierten Ansatzes unter Verwendung von ATE J973 ist in Anhang 4 gegeben.
  • Es ist anzumerken, daß die Erfindung nicht auf die hierin beschriebenen Ausführungsformen und Implementierungen beschränkt ist, sondern Modifikationen und Variationen innerhalb des Schutzbereichs der Erfindung, wie anhand der Ansprüche bestimmt, einschließt.
  • Anhang 1: Neuronales-Netz-Musterlernimplementierung unter Verwendung von ATE J973
    Figure 00180001
  • Figure 00190001
  • Anhang 2: Neuronales-Netz-Musterklassifizierungsimplementierung unter Verwendung von ATE J973
    Figure 00200001
  • Figure 00210001
  • Anhang 3: Dynamische genetische Algorithmusimplementierung unter Verwendung von ATE J973
    Figure 00220001
  • Figure 00230001
  • Anhang 4: Kombinierte Neuronales-Netz-Musterklassifikation und dynamische genetische Algorithmusimplementierung unter Verwendung von ATE J973
    Figure 00240001
  • Figure 00250001

Claims (32)

  1. Verfahren zum Testen einer integrierten Schaltung, wobei das Verfahren folgendes umfaßt: – Adaptieren eines neuronalen Netzes zum Approximieren des Verhaltens der integrierten Schaltung, wobei a) ein Satz Testmuster auf die integrierte Schaltung angewendet wird; b) der Satz Testmuster auch auf das neuronale Netz angewendet wird; c) die Ausgaben der integrierten Schaltung und die Ausgaben des neuronalen Netzes verglichen werden und d) Parameter des neuronalen Netzes adaptiert werden zum Approximieren des Verhaltens der integrierten Schaltung auf der Basis des Vergleichs; – (m) danach Anwenden weiterer Testmuster auf das adaptierte neuronale Netz; – (n) Verarbeiten der Ausgabe des neuronalen Netzes zum Bestimmen, ob vorbestimmte Kriterien erfüllt sind; – Auswählen jener weiteren Testmuster, die die vorbestimmten Kriterien erfüllen; – (A) Bereitstellen eines Satzes Testmuster, die aus den ausgewählten Testmustern bestehen; – (B) Anwenden des Satzes ausgewählter Testmuster auf die integrierte Schaltung unter Verwendung von automatischem Testgerät (ATE – Automatic Test Equipment); – (C) Bestimmen der Ausgaben der integrierten Schaltung; – (D) Bearbeiten der Ausgaben zum Bestimmen, ob vorbestimmte Testkriterien erfüllt sind; und – (E) in Abhängigkeit von der Bestimmung in Schritt (D) Erzeugen eines neuen Satzes Testmuster auf der Basis des von Schritt (A) bereitgestellten Satzes ausgewählter Testmuster unter Verwendung eines genetischen Algorithmus.
  2. Verfahren nach Anspruch 1, wobei der Satz Testmuster und/oder die ausgewählten Testmuster auf die integrierte Schaltung über ein automatisches Testgerät angewendet werden.
  3. Verfahren nach Anspruch 2, wobei das neuronale Netz in dem automatischen Testgerät implementiert wird.
  4. Verfahren nach Anspruch 1 oder 2, wobei der Satz Testmuster auf einer Zufallsbasis erzeugt wird.
  5. Verfahren nach einem der vorhergehenden Ansprüche, wobei Schritt (d) folgendes umfaßt: Adaptieren von Zwischen-Einheit-Gewichten des neuronalen Netzes durch Rückausbreitung.
  6. Verfahren nach einem der vorhergehenden Ansprüche, umfassend: Wiederholen der Schritte (a) bis (d), bis ein Adaptationspegel im Schritt (d) unter einen vorbestimmten Wert fällt.
  7. Verfahren nach Anspruch 6, umfassend: Speichern vorbestimmte Parameter des neuronalen Netzes darstellender Daten nach dem Ende der Wiederholung der Schritte (a) bis (d).
  8. Verfahren nach einem der vorhergehenden Ansprüche, umfassend: (o) Auswählen des ausgewählten Testmusters zur Speicherung, falls die vorbestimmten Kriterien erfüllt sind.
  9. Verfahren nach Anspruch 8, umfassend: Wiederholen der Schritte (m) bis (o), bis eine vorbestimmte Anzahl ausgewählter Testmuster gespeichert worden ist.
  10. Verfahren nach Anspruch 8 oder 9, wobei die vorbestimmten Kriterien erfüllt sind, wenn ein Wert eines vorbestimmten Parameters eines von dem neuronalen Netz als Reaktion auf das Anwenden des ausgewählten Testmusters ausgegebenen Signals einen Referenzwert übersteigt.
  11. Verfahren nach Anspruch 10, umfassend: (p) Anwenden eines weiteren Satzes ausgewählter Testmuster auf die integrierte Schaltung unter Verwendung eines automatischen Testgeräts (ATE); (q) Messen der Werte des vorbestimmten Parameters von von der integrierten Schaltung als Reaktion auf Schritt (p) erzeugten Ausgangssignalen, wobei die vorbestimmten Kriterien erfüllt sind, wenn der Wert des vorbestimmten Parameters des von dem neuronalen Netz als Reaktion auf das Anwenden des ausgewählten Testmusters ausgegebenen Signals den Referenzwert und alle in diesem Schritt (q) gemessenen Werte übersteigt.
  12. Verfahren nach Anspruch 11, wobei der weitere Satz Testmuster auf einer Zufallsbasis erzeugt wird.
  13. Verfahren nach einem der Ansprüche 10 bis 12, wobei der vorbestimmte Parameter ein Strom ist.
  14. Verfahren nach einem der Ansprüche 8 bis 13, weiterhin umfassend: (r) Erzeugen einer Testmusterpopulation, die aus mehreren Testmustern besteht; (s) Anwenden jedes Testmusters der Testmusterpopulation auf das neuronale Netz; (t) für jedes Testmuster Verarbeiten der Ausgabe des neuronalen Netzes zum Bestimmen eines Werts eines vorbestimmten Parameters; (u) Zuordnen jedes Testmusters zu einer von mehreren Klassifikationsgruppen gemäß dem Wert des in Schritt (t) bestimmten vorbestimmten Parameters.
  15. Verfahren nach Anspruch 14, umfassend: Wiederholen der Schritte (r) bis (u) unter Verwendung einer neuen Testmusterpopulation, die aus den Testmustern besteht, die in einer ausgewählten der Klassifikationsgruppen enthalten sind.
  16. Verfahren nach Anspruch 15, wobei die ausgewählte der Klassifikationsgruppen aus Testmustern besteht, die einen Satz von Worst-Case-Arbeitseingangsparametern der integrierten Schaltung approximiert.
  17. Verfahren nach einem der Ansprüche 8 bis 16, umfassend: mehrfaches Wiederholen der Schritte (m) bis (o); Anwenden der in jedem Schritt (o) ausgewählten Testmuster auf die integrierte Schaltung unter Verwendung eines automatischen Testgeräts (ATE); Verarbeiten der Ausgabe des automatischen Testgeräts zum Bestimmen, ob weitere vorbestimmte Kriterien erfüllt sind; und Auswählen jener Testmuster zur Speicherung, die die weiteren vorbestimmten Kriterien erfüllen.
  18. Verfahren nach einem der vorhergehenden Ansprüche, wobei die vorbestimmten Kriterien eine Approximation eines Worst-Case-Arbeitsmodus der integrierten Schaltung darstellen.
  19. Verfahren nach einem der vorhergehenden Ansprüche, umfassend: (F1) Wiederholen der Schritte (B) bis (E), bis die vorbestimmten Testkriterien erfüllt sind.
  20. Verfahren nach einem der vorhergehenden Ansprüche, umfassend: (F2) Wiederholen der Schritte (B) bis (E) mit einer vorbestimmten Häufigkeit oder bis die vorbestimmten Testkriterien erfüllt sind.
  21. Verfahren nach einem der vorhergehenden Ansprüche, wobei die vorbestimmten Testkriterien erfüllt sind, wenn der Satz ausgewählter Testmuster mit einer mittleren Fitneß über einen vorbestimmten Wert assoziiert ist.
  22. Verfahren nach einem der vorhergehenden Ansprüche, wobei Schritt (E) folgendes umfaßt: Kombinieren einiger oder aller der ausgewählten Testmuster gemäß dem genetischen Algorithmus zum Bereitstellen des neuen Satzes Testmuster.
  23. Verfahren nach Anspruch 22, weiterhin umfassend: Auswählen von Testmustern aus dem Satz ausgewählter Testmuster gemäß vorbestimmter Auswahlkriterien und Kombinieren der ausgewählten Testmuster gemäß dem genetischen Algorithmus zum Bereitstellen des neuen Satzes von Testmustern.
  24. Verfahren nach Anspruch 23, umfassend: Auswählen eines Testmusters, wenn es mit einem Fitneßwert größer als einem Referenzwert assoziiert ist.
  25. Verfahren nach Anspruch 23 oder 24, umfassend: (G) Auswählen eines Testmusters, wenn es mit einem höchsten Fitneßwert aller nicht ausgewählten Testmuster assoziiert ist.
  26. Verfahren nach Anspruch 25, umfassend: Wiederholen von Schritt (G), bis ein vorbestimmter Prozentsatz Testmuster ausgewählt worden ist.
  27. Verfahren nach Anspruch 25, wobei Schritt (E) folgendes umfaßt: (H) Anordnen der ausgewählten Testmuster in der Reihenfolge der assoziierten Fitneßwerte; (I) zufälliges Auswählen von Stammtestmustern aus den Testmustern wie in Schritt (H) angeordnet und (J) Kombinieren der ausgewählten Stammtestmuster.
  28. Verfahren nach einem der vorhergehenden Ansprüche, wobei der genetische Algorithmus Überkreuzen, Rekombination und/oder Mutation ausgewählter Testmuster beinhaltet.
  29. Verfahren nach einem der vorhergehenden Ansprüche, wobei Schritt (A) folgendes umfaßt: Bereitstellen mehrerer Sätze ausgewählter Testmuster, wobei jeder Satz ausgewählter Testmuster in einer Testmusterpopulation enthalten ist.
  30. Verfahren nach Anspruch 29, umfassend: Ausführen der Schritte von einem der Ansprüche für jede Population.
  31. Datenverarbeitungssystem, umfassend Mittel zum Ausführen des Verfahrens nach einem der vorhergehenden Ansprüche.
  32. Computerprogramm, umfassend Mittel zum Ausführen des Verfahrens nach einem der Ansprüche 1 bis 30 auf einem Datenverarbeitungssystem, wenn das System betrieben wird.
DE60218447T 2002-07-19 2002-07-19 Verfahren zur Bearbeitung von Testmustern für einen integrierten Schaltkreis Expired - Lifetime DE60218447T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP02090272A EP1382976B1 (de) 2002-07-19 2002-07-19 Verfahren zur Bearbeitung von Testmustern für einen integrierten Schaltkreis

Publications (2)

Publication Number Publication Date
DE60218447D1 DE60218447D1 (de) 2007-04-12
DE60218447T2 true DE60218447T2 (de) 2007-11-08

Family

ID=29762698

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60218447T Expired - Lifetime DE60218447T2 (de) 2002-07-19 2002-07-19 Verfahren zur Bearbeitung von Testmustern für einen integrierten Schaltkreis

Country Status (3)

Country Link
US (1) US20040059977A1 (de)
EP (1) EP1382976B1 (de)
DE (1) DE60218447T2 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1723571A4 (de) * 2004-02-06 2007-05-09 Test Advantage Inc Verfahren und vorrichtungen zur datenanalyse
DE102004037402B4 (de) * 2004-07-30 2011-02-03 Certess S.A. Verfahren zur Bewertung der Güte eines Testprogrammes
US20060195744A1 (en) * 2005-02-11 2006-08-31 Broadcom Corporation Method and apparatus to simulate automatic test equipment
US7308663B2 (en) * 2005-09-26 2007-12-11 International Business Machines Corporation Circuit design verification using checkpointing
US7315973B1 (en) * 2005-09-30 2008-01-01 Unisys Corporation Method and apparatus for choosing tests for simulation and associated algorithms and hierarchical bipartite graph data structure
US20110282642A1 (en) * 2010-05-15 2011-11-17 Microsoft Corporation Network emulation in manual and automated testing tools
JP6626064B2 (ja) * 2017-10-31 2019-12-25 ファナック株式会社 試験装置及び機械学習装置
US10931659B2 (en) * 2018-08-24 2021-02-23 Bank Of America Corporation Federated authentication for information sharing artificial intelligence systems
US20210011837A1 (en) * 2019-07-11 2021-01-14 Rockwell Collins, Inc. Systems and methods for fuzzing with feedback

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5684946A (en) * 1995-09-11 1997-11-04 Digital Equipment Corporation Apparatus and method for improving the efficiency and quality of functional verification
US6110214A (en) * 1996-05-03 2000-08-29 Aspen Technology, Inc. Analyzer for modeling and optimizing maintenance operations

Also Published As

Publication number Publication date
EP1382976A1 (de) 2004-01-21
DE60218447D1 (de) 2007-04-12
US20040059977A1 (en) 2004-03-25
EP1382976B1 (de) 2007-02-28

Similar Documents

Publication Publication Date Title
DE102017108169B4 (de) Produktionssystem, das einen Bestimmungswert einer Variablen in Bezug auf eine Produktabweichung festlegt
Khotanzad et al. Feature selection for texture recognition based on image synthesis
DE102007060417B4 (de) Rohchip- und Wafer-Fehlerklassifikationssystem und Verfahren dazu
DE102016011527B4 (de) Maschinenlernvorrichtung und Verfahren zum Lernen einer Anordungsposition eines Magneten in einem Rotor und Rotordesignvorrichtung, die die Maschinenlernvorrichtung umfasst
CN106814698A (zh) 具备芯焊接位置决定功能的线放电加工机的仿真装置
DE69518326T2 (de) Niederspannungsneuronalnetzwerk mit sehr niedrigem Leistungsverbrauch
DE60218447T2 (de) Verfahren zur Bearbeitung von Testmustern für einen integrierten Schaltkreis
DE60224378T2 (de) Verfahren zur Erzeugung eines Testmusters für die Simulation und/oder Prüfung des Layouts einer integrierten Schaltung
EP3188053A1 (de) Verfahren zum konfigurieren einer co-simulation für ein gesamtsystem
DE102004036813A1 (de) Verfahren zum Erzeugen eines Schaltungsmodells
DE102017117496A1 (de) Zell-Bewusste Fehlstellen-Charakterisierung und Wellenformanalyse mithilfe mehrerer Strobe-Punkte
DE69607166T2 (de) Elektronische Anordnung zur Durchführung von Konvolutionsoperationen
DE10000451A1 (de) Taktsignalanalyseeinrichtung und Taktsignalanalyseverfahren
DE102019115293A1 (de) Vorrichtung zum Optimieren der Strömungsanalyse und Verfahren dafür
DE112020003599T5 (de) Prüfvorrichtung, prüfverfahren, prüfprogramm, lernvorrichtung, lernverfahren und lernprogramm
Slavutskii et al. Different numerical dimensions data flows: machine learning instead of correlation methods
DE69926587T2 (de) Verfahren und Vorrichtung zur Auswahl von Prüfpunkten in einer Schaltung mit beschränkter Zugänglichkeit
DE10394299T5 (de) Design eines integrierten Schaltkreises zur Optimierung der Herstellbarkeit
WO2022069275A1 (de) Vorrichtung und computerimplementiertes verfahren für eine netzwerkarchitektursuche
DE212022000032U1 (de) Automatisches Entwurfsvorrichtung für eine analoge Schaltung basierend auf einer Baumstruktur
DE60027911T2 (de) Verfahren und vorrichtung zur netzwerk folgerung
DE102023111115B3 (de) Steuervorrichtung für eine Leistungsvorrichtung, Leistungsanordnung mit einer solchen Steuervorrichtung und Verfahren zum Betreiben einer Leistungsvorrichtung
Laughery Jr Computer modeling of human performance on microcomputers
Lin et al. Neural net diagnostics for VLSI test
CN110096041A (zh) 基于谐振器装配工艺的滤波器一致性质量控制方法

Legal Events

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

Owner name: QIMONDA AG, 81739 MUENCHEN, DE