DE60224378T2 - Verfahren zur Erzeugung eines Testmusters für die Simulation und/oder Prüfung des Layouts einer integrierten Schaltung - Google Patents

Verfahren zur Erzeugung eines Testmusters für die Simulation und/oder Prüfung des Layouts einer integrierten Schaltung Download PDF

Info

Publication number
DE60224378T2
DE60224378T2 DE60224378T DE60224378T DE60224378T2 DE 60224378 T2 DE60224378 T2 DE 60224378T2 DE 60224378 T DE60224378 T DE 60224378T DE 60224378 T DE60224378 T DE 60224378T DE 60224378 T2 DE60224378 T2 DE 60224378T2
Authority
DE
Germany
Prior art keywords
test
test patterns
patterns
predetermined
integrated circuit
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
DE60224378T
Other languages
English (en)
Other versions
DE60224378D1 (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
Qimonda 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 Qimonda AG filed Critical Qimonda AG
Publication of DE60224378D1 publication Critical patent/DE60224378D1/de
Application granted granted Critical
Publication of DE60224378T2 publication Critical patent/DE60224378T2/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/318371Methodologies therefor, e.g. algorithms, procedures

Landscapes

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

Description

  • Verfahren zum Erzeugen eines Testmusters für die Simulation und/oder den Test des Layouts einer integrierten Schaltung.
  • Zum Erzielen einer hohen Leistung und einer hohen Integrationsdichte werden die Abmessungen von integrierten Schaltungskomponenten immer weiter herunterskaliert. Insbesondere werden Transistorabmessungen herunterskaliert, während eine niedrigere Verlustleistung durch Herunterskalieren der Versorgungsspannung erreicht wird. Aufgrund der hohen Packungsdichte von Transistoren nimmt der Stomversorgungsstrom zu und somit können große Stromausschläge innerhalb einer kurzen Zeitperiode erhebliches Rauschen verursachen. Folglich ist eine Schwierigkeit, der sich Schaltungsdesigner gegenüber sehen, die Stromzufuhr von Schaltungen mit sehr hoher Leistung aufgrund des schweren Schaltrauschens.
  • Zum Verifizieren der Funktion einer neu ausgelegten Schaltung wird die Schaltung zuerst simuliert und dann getestet. Während der Simulation werden an die Eingänge der Schaltung mehrere Eingangssignale angelegt und die Ausgangssignale der Schaltung berechnet. Die Eingangssignale werden als Testmuster bezeichnet. Wenn sich die Ausgangssignale voreingestellten Zielsignalen nicht ausreichend annähern, wird die Schaltung neu ausgelegt und neu simuliert.
  • Wenn die Simulation abgeschlossen ist, wird danach ein Chip, der die integrierte Schaltung enthält, hergestellt und unter Verwendung von ATE (Automatic Test Equipment – Testautomat) getestet. Der ATE legt auch ein Testmuster an die Schaltung an. Das Testmuster für den ATE muß von einem Benutzer manuell angegeben werden. Im allgemeinen wird das gleiche Testmuster, das für die Simulation verwendet wurde, 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, neu simuliert und neu getestet.
  • Mit zunehmender Komplexität integrierter Schaltungen nehmen Integrationsdichte und Funktionalität dramatisch zu. Das gleichzeitige Schalten einer großen Anzahl von Transistoren induziert eine große Stromspitze. Das Schaltrauschen an dem Stromverteilungsnetz muß auf ein tolerierbares Niveau 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 besteht darin, alle Kombinationen von Eingangsmustern zu simulieren, um zu bestimmen, welche Kombination das maximale Schaltrauschen induziert. Die Komplexität des Lösungsraums ist jedoch exponentiell proportional zu der Anzahl von Primäreingängen des Systems. Dementsprechend würde es enorme Zeit erfordern, den ganzen Lösungsraum auch nur für ein moderat komplexes System zu verarbeiten.
  • Dazu sind eine Reihe von Ansätzen vorgeschlagen worden, um diese Probleme zu behandeln. In "Estimation of Switching Noise of Power Supply Lines in Deep Submicron CMOS circuits", Shiyou Zhao und Kaushik Roy, 13th International Conference an VLSI Design, IEEE Januar 2000, wird zum Bestimmen der Untergrenze des Worst-Case-Schaltrauschens auf Stromversorgungsleitungen ein probabilistischer Ansatz vorgeschlagen. Der hierin beschriebene Algorithmus verfolgt das Worst-Case-Eingangsmuster, das die steilste größte Schaltstromspitze und deshalb das größte Schaltrauschen induziert.
  • Dies basiert auf der Beobachtung, daß das größte Schaltrauschen direkt zu der steilsten größten Schaltstromspitze in Beziehung steht.
  • Bei diesem Ansatz wird das Design einer integrierten Schaltung simuliert, indem zufällig erzeugte Eingangssignalvektoren an die Eingänge der Schaltung angelegt werden. Für jedes Eingangsvektorpaar wird der simulierte Spitzenschaltstrom bestimmt. Die Worst-Case-Eingangsvektorpaare beschicken als Anfangspopulation einen genetischen Algorithmus. Der genetische Algorithmus ist so ausgelegt, daß er das oder die fast optimalen Eingangsmuster aussondert, die die steilste größte Schaltstromspitze und deshalb das Worst-Case-Schaltrauschen induzieren. Die Worst-Case-Eingangsmuster werden dann in einer HSPICE-Simulation der Schaltung verwendet, um die exakte Stromwellenform zu extrahieren.
  • Ein mit diesem Ansatz assoziiertes Problem ist die Schwierigkeit, geeignete Zufallstestmuster zu erzeugen. Je größer die Anzahl an Zufallstestmustern, um so höher die Wahrscheinlichkeit, ein Testmuster zu erzeugen, das sich dem Worst-Case ausreichend annähert. Da jedoch die Simulation jedes Testmusters zeitraubend ist, ist die Simulation einer großen Anzahl von Testmustern praktisch nicht durchführbar.
  • Ein Ansatz in Richtung auf eine simulationsbasierte Testmustererzeugung mit einem genetischen Algorithmus ist aus dem Dokument "Genetic Algorithm for VLSI Design, Layouts & Test Automation", von P. Mazumder und E. Rudnick, 1999, PRENTICE HALL, UPPER SADDLE RIVER, NJ, USA bekannt. Die erzeugten Testmuster dienen zur Fehlerdetektion.
  • Ein weiteres simulationsbasiertes Verfahren zur Testmustererzeugung ist aus "Sequential Circuit test generation using Dynamic State Traversal" von M.S.
  • Hsiao et al., EUROPEAN DESIGN AND TEST CONFERENCE, März 1997, Seiten 22–28, bekannt.
  • Noch ein weiteres simulationsbasiertes Verfahren zum Erzeugen von Testmustern ist in "Virtual Test Automation Generator (VTAG)" von S. Singer et al., NAVAIR LAKEHURST, [online] 5. Mai 2000, beschrieben.
  • Aus der internationalen Anmeldung WO 03/107019 A2 , die nach der Einreichung dieser Anmeldung veröffentlicht wurde, ist ein weiteres Verfahren zum Erzeugen von Testmustern bekannt, wobei die Testmuster zur Fehlerdetektion dienen.
  • Falls 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 könnte jedoch Jahre benötigen, um sogar bei Verwendung der schnellsten Simulationsanwendungen eine ganze Chipsimulation einer großen Schaltung durchzuführen.
  • Die vorliegende Erfindung trachtet danach, sich mit diesem Problem zu beschäftigen.
  • Gemäß einem Aspekt der Erfindung wird ein Verfahren zum Erzeugen einer Menge von Testmustern zum Abschätzen eines mit einem Layout einer integrierten Schaltung assoziierten Worst-Case-Rauschens bereitgestellt, wobei die erzeugte Menge von Testmustern sich für die Simulation und/oder den Test des Layouts einer integrierten Schaltung eignet, wobei das Verfahren die folgenden Schritte umfaßt:
    • (a) Erzeugen einer Menge von Testmustern auf einer Zufallsbasis;
    • (b) Anlegen der Menge von Testmustern an die integrierte Schaltung unter Verwendung eines Testautomaten (ATE);
    • (c) Bestimmen der Ausgangssignale der integrierten Schaltung;
    • (d) Verarbeiten der Ausgangssignale, um zu bestimmen, ob vorbestimmte Testkriterien erfüllt sind, wobei die vorbestimmten Testkriterien mit dem Worst-Case-Rauschen assoziiert sind;
    • (e) je nach der Bestimmung in Schritt (d), Erzeugen einer neuen Menge von Testmustern auf der Basis der Menge von in Schritt (a) erzeugten Testmustern durch Auswählen von Testmustern aus der Menge von Testmustern gemäß einem vorbestimmten Auswahlkriterium; und Kombinieren der ausgewählten Testmuster gemäß einem genetischen Algorithmus, um die neue Menge von Testmustern zu erzeugen; und
    • (f) Wiederholen der Schritte (b) bis (e) mit einer vorbestimmten Häufigkeit oder bis die vorbestimmten Testkriterien erfüllt sind.
  • Dementsprechend verwendet das Verfahren einen genetischen Algorithmus (Optimierungsverfahren), um eine Menge von Zufallsmustern auf der Basis von Messungen unter Verwendung eines ATE zu optimieren. Dadurch kann eine Menge von Worst-Case-Rauschmustern automatisch ausgewählt werden.
  • Die ausgewählte Menge von Worst-Case-Rauschmustern kann zum erneuten Simulieren des Layouts der integrierten Schaltung zur detaillierten Designanalyse oder Verbesserung verwendet werden.
  • Dieser Ansatz ist effizienter und schneller als jedes Verfahren auf reiner Zufallsbasis, das einen nichtoptimalen Zufallsmustererzeugungs- oder -simulationsansatz verwendet.
  • Außerdem kann er mit einem beliebigen ATE-System verwendet werden.
  • Ein genetischer Algorithmus kann gleichermaßen zum Detektieren einer Menge potentieller Worst-Case-Testbedingungen bezüglich von an eine integrierte Schaltung gelieferten Einganssignalen verwendet werden (zum Beispiel Stromversorgung). Die Parameter solcher Eingangssignale werden als AC/DC-Parameter bezeichnet.
  • Dementsprechend wird auch ein Verfahren zum Erzeugen einer Menge von Eingangssignalen für die Simulation und/oder den Test des Layouts einer integrierten Schaltung bereitgestellt, wobei das Verfahren die folgenden Schritte umfaßt:
    • (m) Erzeugen mehrerer Mengen von Eingangssignalen;
    • (n) Anlegen der mehreren Mengen von Eingangssignalen an die integrierte Schaltung unter Verwendung eines Testautomaten (ATE);
    • (o) Bestimmen der Ausgangssignale der integrierten Schaltung;
    • (p) Verarbeiten der Ausgangssignale, um zu bestimmen, ob vorbestimmte Testkriterien erfüllt sind;
    • (q) je nach der Bestimmung in Schritt (p), Erzeugen einer neuen Mehrzahl von Mengen von Eingangssignalen auf der Basis der in Schritt (m) erzeugten mehreren Mengen von Eingangssignalen unter Verwendung eines genetischen Algorithmus.
  • Gemäß diesem Verfahren kann eine Menge von Worst-Case-Testbedingungen aufgrund resultierenden hohen Stromversorgungsrauschens (dynamischer Strom) detektiert werden, ohne daß Parameter von Eingangssignalen manuell und/oder nach dem Zufallsprinzip ausgewählt werden müssen.
  • Dieses Verfahren kann auch unter Verwendung existierender ATE-Systeme implementiert werden.
  • Die infolge dieses Verfahrens erhaltenen Eingangs signale können später erneut simuliert werden.
  • Bevorzugt wird das Verfahren zum Approximieren einer Worst-Case-Menge von Testmustern zusammen mit dem Verfahren zum Approximieren einer Menge von Worst-Case-Eingangssignalparametern durchgeführt. Auf diese Weise kann ein Worst-Case-Gesamtarbeitszustand der integrierten Schaltung approximiert werden.
  • Es werden nun Ausführungsbeispiele der Erfindung unter Bezugnahme auf die Zeichnungen beschrieben. Es zeigen:
  • 1 ein schematisches Flußdiagramm eines Verfahrens gemäß einer Ausführungsform der Erfindung;
  • 2 die Ergebnisse eines praktischen Experiments unter Verwendung eines Verfahrens gemäß einer Ausführungsform der Erfindung und
  • 3 ein schematisches Flußdiagramm eines Verfahrens gemäß einer weiteren Ausführungsform der Erfindung.
  • Genetische Algorithmen basieren auf den Prinzipien der natürlichen Auswahl. Insbesondere sind genetische Algorithmen stochastische Suchmethoden, die die natürliche biologische Evolution simulieren. Die Algorithmen arbeiten auf der Basis einer Population möglicher Lösungen und produzieren – durch Anwenden des Prinzips des "Überlebens des Geeignetsten" ("survival of the fittest") auf diese potentiellen Lösungen – eine bessere Approximation einer Ziellösung bei 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äß ihres Niveaus "Eignung" im Problembereich erzeugt. Die ausgewählten Individuen werden unter Verwendung von aus der natürlichen Genetik geborgten Operatoren miteinander vermehrt. Dieser Prozeß führt zur Evolution von Populationen von Individuen, die besser an ihre Umgebung angepaßt sind als die Individuen, aus denen sie erzeugt wurden, wie bei der natürlichen Anpassung.
  • Dementsprechend modellieren genetische Algorithmen natürliche Prozesse wie etwa Auswahl, Kreuzung, Rekombination und Mutation.
  • 1 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 anstatt einer einzelnen Musterlösung. Auf diese Weise kann die Suche nach besseren Approximationen auf parallele Weise erfolgen. Deshalb ist dieses Verfahren effizienter als Suchprozesse mit einem einzelnen Muster unter Verwendung dynamischer Zufallsalgorithmusverfahren.
  • Genetische Algorithmen können für die Simulation des Designs einer integrierten Schaltung 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 der Testmuster in jeder Musterpopulation ab. Wie jedoch oben angedeutet stellt der simulationsbasierte Ansatz eine Begrenzung dar, wenn genetische Algorithmen verwendet werden sollen. Die Prozedur der genetischen Auswahl muß jede "Eignung" (dynamischer Spitzen-/gemittelter Strom) der Testmuster in jeder Musterpopulation auswerten. Beispielsweise können 200 Musterpopulationen vorliegen, die jeweils 20 Muster enthalten. Somit muß der genetische Algorithmus die Eignung von 200·20 = 4000 Mustern auswerten. Wenn jedes Testmuster ein Testmuster aus 50 Zyklen 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 einer Nonstop-Simulation, um nur 200 Musterpopulationen zu verarbeiten.
  • Außerdem ist der volle Musterkombinationsbereich proportional zur Komplexität von VLSI- und ULSI-Designs. Deshalb ist eine Teilmenge von 200 Musterpopulationen nur eine sehr kleine Teilmenge des ganzen Musterkombinationsbereichs.
  • Wenn im Gegensatz dazu ein genetischer Algorithmus zusammen mit einem ATE verwendet wird, können viel mehr Musterpopulationen pro Zeiteinheit verarbeitet werden, weil das Testen einer integrierten Schaltung unter Verwendung eines ATE erheblich schneller ist als die Simulation über konventionelle Systeme. Dementsprechend 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 von individuellen Zufallsmustern PN POP = (p1, p2, ..., pN)zufällig erzeugt und initialisiert, wobei N die größte Anzahl an Zufallsmustern und POP die größte Anzahl von Musterpopulationen ist.
  • Danach werden für jedes individuelle Muster (p1, p2, ..., pN) die Zielfunktionen Ipeak(V Isample(PN, SRMS))und Iaveraged(PN, SRMS) unter Verwendung von Gleichung (1) ausgewertet:
    Figure 00100001
  • Die erste (anfängliche) Generation wird somit produziert und die gemittelte Eignung der individuellen Muster (p1, p2, ..., pN) wird unter Verwendung von Gleichung (2) berechnet:
    Figure 00100002
    Wenn das Optimierungskriterium (Averaged_Fitness(IMeasurement(PN POP)) < IMAX_REF)für keine existierende Population erfüllt ist, wird auf der Basis der existierenden Population eine neue Population erzeugt. Individuelle Muster werden entsprechend ihrer Eignung für die Produktion von Nachkommen ausgewählt (Schleife 1 in 1).
  • Bei diesem Auswahlansatz wird das Grundkonzept einer Turnierauswahl verwendet. Das heißt, nur das beste individuelle Muster aus der existierenden Population wird als Elter ausgewählt. Dieser Prozeß wird wiederholt, bis ein vordefinierter Prozentsatz am besten Mustern ausgewählt worden ist:
    Figure 00100003
    wobei B der vordefinierte Prozentsatz der besten Mustergruppe ist. Die Sortierungsfunktion ordnet zuerst die Testmuster vom kleinsten zum größten entsprechend ihren Eignungswerten um. Danach wird die Elternauswahl in einer Zufallssequenz auf der Basis des neuen suboptimalen Eignungsbereichs N erzeugt, der über B berechnet wird. Eltern (ausgewählte Muster) werden über eine Kreuzung (4) kombiniert, rekombiniert (5) und mutiert (6), um Nachkommen zu erzeugen:
    Figure 00110001
    wobei C der Testmustergehalt ist, der für eine Kreuzung von zwei Mustern ausgewählt ist. Bei dem Kreuzungsprozeß werden ein oberes, ein unteres und ein Streifenkreuzungsverfahren in einer Zufallssequenz ausgeführt, und die Inhalte von zwei Kreuzungsmustern werden ausgetauscht, um zwei neue Nachkommensmuster zu erzeugen. Danach wird anhand der Rekombinationsgleichung (5) das beste Eignungsmuster unter den beiden neuen Kreuzungsnachkommensmustern ausgewählt:
    Figure 00110002
    wobei M die Anzahl neuer ausgewählter Nachkommensmuster ist, um die neue Population zu bilden. Nach der Rekombination erfahren die Nachkommen eine Mutation. Nachkommensvariablen werden durch die Addition kleiner Zufallswerte mutiert Ry ∊ {1 0 –1}
  • Der Mutationsprozeß unterstützt die Verbesserung des Optimierungssuchprozesses.
  • Schließlich werden alle Nachkommensmuster in die Population eingefügt, wodurch die Eltern (ursprüngliche Musterpopulation) ersetzt und eine neue Generation hergestellt wird. Dieser Zyklus (Schleife 1 in 1) wird ausgeführt, bis die Optimierungskriterien erfüllt sind.
  • Wenn sich die Eignung nach einer vordefinierten Anzahl von genetischen Vermehrungsgenerationen nicht verbessert, wird in einer Zufallssequenz eine neue Musterpopulation (Schleife 2 in 1) 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 1 gegeben.
  • 2 veranschaulicht ein Versuchsdiagramm eines dynamischen genetischen Algorithmusansatzes (100 MHz, VDDP-EA-PAd-eDRAM-Kern). Der Versuch beinhaltete 20 Muster in jeder Population und 34 (Population) genetische Algorithmussuchproben (Schleife 2 + Schleife 1). Die Gesamtanzahl verarbeiteter Muster betrug 20·34 = 680. Der Versuch dauerte erheblich kürzer als ein simulationsbasierter Ansatz, und die durch Verwendung des Worst-Case-Musters erhaltene Stromgrenze war im Vergleich zu höheren Ansätzen auf der Basis eines dynamischen Zufallsalgorithmus höher.
  • Es wird nun unter Bezugnahme auf 3 eine weitere Ausführungsform der Erfindung beschrieben.
  • Wie oben angedeutet steht das beim Betrieb einer integrierten Schaltung auftretende größte Schaltrauschen in direkter Beziehung zu der steilsten größten dynamischen Schaltstromspitze. Das Schaltverhalten hängt von den an die Schaltung angelegten Testmustern ab.
  • Außerdem hängt das Schaltrauschen von der Abweichung von an die integrierte Schaltung angelegten Eingangssignalen ab (AC- und DC-Bedingungen/Parameter). Dies spiegelt den Betrieb von integrierten Schaltungen in der Praxis wieder, wo bei den meisten Anwendungen eine Stromversorgungsfluktuation von 10% auftreten kann.
  • Dementsprechend haben Signalschaltung und -abweichung eine große Auswirkung auf das interne Signalverhalten (z. B. Ausbreitungsverzögerung) und Schaltrauschen. Unter Verwendung des simulationsbasierten Ansatzes ist es jedoch unmöglich, gleichzeitig Millionen von Testmustern und verschiedene Eingangssignalbedingungen zu simulieren. Deshalb berücksichtigen simulationsbasierte Ansätze nur das Signalschalten und ignorieren die andere wichtige Ursache für Schaltrauschen, nämlich Signalabweichung.
  • Gemäß der Ausführungsform von 3 wird ein Verfahren bereitgestellt, das Signalschalt- und Signalabweichungsanalyse zur gleichen Zeit gestattet. Dies führt zu einer effizienteren Analyse des Arbeitsverhaltens einer integrierten Schaltung als bekannte Verfahren.
  • Worst-Case-Arbeitsbedingungen einer integrierten Schaltung hängen von dem Niveau des Schaltrauschens ab. Das Schaltrauschen wird hauptsächlich durch Signalschaltereignisse (verschiedene Testmuster) und Signalabweichung (AC/DC-Parametervariation) beeinflußt. Um eine Worst-Case-Bedingung zu approximieren, muß der steilste größte dynamische Schaltstrom detektiert werden. Der dynamische Schaltstrom ist eine Funktion des Testmusters (Signalschalten) und der Testbedingungsvariation (Signalabweichung). Dies kann der Einschränkung unterliegen, daß die Testmuster gültig sein müssen. Alternativ kann die Approximation ohne Einschränkung implementiert werden, so daß die dynamische Stromfunktion das Ausfallgebiet ohne irgendwelche Eingangssignalabweichungsgrenzen (z. B. +/–12,5%) untersucht.
  • Eine Implementierung einer Approximation des Worst-Case-Signalschaltens und der Worst-Case-Signalabweichung unter Verwendung eines Einschränkungsoptimierungsansatzes ist in 3 dargestellt. Anfänglich werden anhand des oben beschriebenen Verfahrens eine Reihe von individuellen Worst-Case-Zufallsmustern PN PPOP = (p1, p2, ..., pN) erzeugt, wobei N die größte Anzahl von Worst-Case-Mustern und PPOP die im voraus ausgewählte Worst-Case-Musterpopulation ist.
  • Danach wird eine Reihe von AC- oder DC-Parametern SMSPOP (AC|DC) = (S1, S2, ..., SM) im voraus ausgewählt, wobei M die Anzahl von Worst-Case-Bedingungen und SPOP eine im voraus ausgewählte Worst-Case-Bedingungspopulation ist. Jede einzelne Bedingungspopulation enthält eine Reihe von im voraus ausgewählten AC- oder DC-Parametern. Mehrere Populationen bilden eine Bedingungscodematrix(CCM – condition code matrix)-Datei.
  • Analog werden Worst-Case-Muster in einer Vektorcodematrix (VCM) gespeichert.
  • Die Funktion zum Approximieren des höchsten Schaltrauschens ist als eine dynamische Stromfunktion bezüglich der Schaltmusterpopulationen und der Bedingungsparameterpopulationen definiert, die der Einschränkung unterworfen sind, daß die Testmuster gültig sein müssen. Damit liegt die Analyse des Signalschaltens und der Signalabweichung immer innerhalb des gültigen Bereichs. Es kann jedoch nützlich sein, die Grenzen des gültigen Bereichs zu detektieren.
  • Das Problem der Abschätzung des Stromversorgungsschaltens und des Abweichungsrauschens kann wie folgt formuliert werden:
    Figure 00150001
  • Wie oben angedeutet sind evolutionäre genetische Verfahren stochastische Optimierungskonzepte, die die biologische Evolution nachahmen. Ein derartiges genetisches Konzept kann zum Detektieren von Worst-Case-Schaltmustern verwendet werden, wie oben beschrieben. Der Algorithmus detektiert die beste Anpassung an das Problem durch Evolution, d. h. Parallelverarbeitung von Reihen von Testmustern. Die Testmuster sind in den Testmusterpopulationen enthalten. Die Eignung ist als dynamischer Strom in bezug auf jedes Versuchstestmuster (Signalschalten) definiert.
  • Gleichung (7) spiegelt die Testmuster- und Testbedingungsabweichung wieder. Um aus einer Eingangssignalabweichung gültige Ergebnisse bezüglich der Testmuster zu erzeugen, muß die Funktion der Einschränkung unterworfen sein, daß die Testmuster gültig sein müssen, da eine Signalfluktuation ansonsten einen Testmusterausfall verursachen könnte.
  • Die Eignung ist bei dieser Ausführungsform mit dem der oben erwähnten Einschränkung unterworfenen steilsten größten dynamischen Schaltstrom assoziiert.
  • Unter spezifischerer Bezugnahme auf 3 wird anfänglich eine Anzahl von im voraus ausgewählten individuellen Testbedingungskombinationen (die Population/CCM) bezüglich einer Menge von Worst-Case-Mustern (VCM) zufällig erzeugt und initialisiert. Gleichung (7) wird dann bezüglich "Eignung" für jede Kombination unter Verwendung von ATE ausgewertet, und die mittlere Eignung der anfänglichen Population wird berechnet.
  • Wenn das Optimierungskriterium nicht erfüllt ist (siehe "Evolutionseignung prüfen" in 3) wird die Erzeugung einer neuen Population initiiert. Individuelle Testbedingungskombinationen werden entsprechend ihrer Eignung für die Erzeugung von Nachkommen ausgewählt (evolutionsgenetische Optimierungsschleife). Bei dem Auswahlansatz wird das Grundkonzept der Turnierauswahl verwendet, das heißt, nur die beste individuelle Kombination aus dieser Population wird als Eltern ausgewählt.
  • Dieser Prozeß wird wiederholt, bis ein vordefinierter Prozentsatz bester Kombinationen ausgewählt ist. Die Sortierungsfunktion ordnet zuerst die Testbedingungskombination entsprechend ihrer Eignungswerte vom kleinsten zum größten um. Danach werden die Eltern in einer Zufallssequenz auf der Basis des neuen suboptimalen Eignungsbereichs ausgewählt. Eltern (ausgewählte Testbedingungskombinationen) werden einer Kreuzung, Rekombination und/oder Mutation unterzogen, um Nachkommen zu erzeugen.
  • Bei dem Kreuzungsprozeß wird ein Verfahren der binären Kreuzung in einer Zufallssequenz verwendet, und die Inhalte von zwei Kreuzungstestbedingungskombinationen werden entsprechend ausgetauscht, um neue Nachkommenskombinationen zu erzeugen. Danach wird der Rekombinationsprozeß zum Auswählen der Kombination mit bester Eignung unter zwei neuen Kreuzungsnachkommenskombinationen verwendet.
  • Nach der Rekombination erfahren die Nachkommen eine Mutation. Das heißt, die Nachkommensvariablen werden durch die Addition von kleinen Zufallswerten mutiert. Die Mutationsrate liegt im Bereich von –1 bis 1. Der Mutationsprozeß unterstützt die Verbesserung des Optimierungssuchprozesses.
  • Schließlich werden alle Nachkommen in die Population eingesetzt und ersetzen dadurch die Eltern (ursprüngliche CCM-Population, wodurch einen neue Population entsteht.
  • Dieser Zyklus wird ausgeführt bis die Optimierungskriterien erfüllt sind oder das Ende der Optimierungsschleife erreicht ist. Wenn sich die Eignung nach einer vordefinierten Anzahl von genetischen Vermehrungsgenerationen nicht verbessert hat, wird eine neue Population in Zufallssequenz generiert.
  • Am Ende der Evolutionsschleife wie in 3 gezeigt wird die Worst-Case-Eignung automatisch aus allen verarbeiteten Populationen detektiert. Die CCM-Datenbank wird entsprechend aktualisiert.
  • Der ganze Prozeß wird wiederholt, bis alle Worst-Case-Muster aus der VCM-Datei verarbeitet worden sind. Die letzte Worst-Case-CCM wird dann automatisch erzeugt.
  • Das oben beschriebene Evolutionsverfahren verbessert stark die Chancen, die Worst-Case-Signalabweichungs- und Signalschaltkombination zu finden. Gleichzeitig ist es schneller und effizienter als bekannte Ansätze auf Zufalls- oder Versuchsbasis.
  • 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: Implementierung eines dynamischen genetischen Algorithmus (D_GA) unter Verwendung von J973-ATE
    Figure 00180001
  • Figure 00190001

Claims (18)

  1. Verfahren zum Erzeugen einer Menge von Testmustern für die Abschätzung eines mit einem Layout einer integrierten Schaltung assoziierten Worst-Case-Rauschens, wobei die erzeugte Menge von Testmustern sich für die Simulation und/oder den Test des Layouts der integrierten Schaltung eignet, wobei das Verfahren die folgenden Schritte umfaßt: (a) Erzeugen einer Menge von Testmustern auf einer Zufallsbasis; (b) Anlegen der Menge von Testmustern an die integrierte Schaltung unter Verwendung eines Testautomaten (ATE); (c) Bestimmen der Ausgangssignale der integrierten Schaltung; (d) Verarbeiten der Ausgangssignale, um zu bestimmen, ob vorbestimmte Testkriterien erfüllt sind, wobei die vorbestimmten Testkriterien mit dem Worst-Case-Rauschen assoziiert sind; (e) je nach der Bestimmung in Schritt (d), Erzeugen einer neuen Menge von Testmustern auf der Basis der Menge von in Schritt (a) erzeugten Testmustern durch Auswählen von Testmustern aus der Menge von Testmustern gemäß vorbestimmte Auswahlkriterien; und Kombinieren der ausgewählten Testmuster gemäß einem genetischen Algorithmus, um die neue Menge von Testmustern zu erzeugen; und (f) Wiederholen der Schritte (b) bis (e) mit einer vorbestimmten Häufigkeit oder bis die vorbestimmten Testkriterien erfüllt sind.
  2. Verfahren nach Anspruch 1, umfassend: Erzeugen einer neuen Menge von Testmustern auf einer Zufallsbasis, wenn die vorbestimmten Testkriterien nach der Wiederholung der Schritte (b) bis (e) mit der vorbestimmten Häufigkeit nicht erfüllt sind; und Wiederholen von Schritt (f) auf der Basis der neuen Menge von Testmustern.
  3. Verfahren nach einem der Ansprüche 1 oder 2, wobei die vorbestimmten Testkriterien erfüllt sind, wenn die Menge von Testmustern mit einer mittleren Eignung über einen vorbestimmten Wert assoziiert ist, wobei die Eignung mit dem steilsten größten dynamischen Schaltstrom assoziiert ist.
  4. Verfahren nach einem der Ansprüche 1 bis 3, wobei Schritt (e) umfaßt: Kombinieren einiger oder aller der Testmuster gemäß dem genetischen Algorithmus, um die neue Menge von Testmustern zu erzeugen.
  5. Verfahren nach Anspruch 4, weiterhin umfassend: Auswählen eines Testmusters, wenn es mit einem Eignungswert über einem Referenzwert assoziiert ist.
  6. Verfahren nach Anspruch 5, umfassend: (g) Auswählen eines Testmusters, wenn es mit dem höchsten Eignungswert aller nichtausgewählten Testmuster assoziiert ist.
  7. Verfahren nach Anspruch 6, umfassend: Wiederholen von Schritt (g), bis ein vorbestimmter Prozentsatz an Testmustern ausgewählt worden ist.
  8. Verfahren nach Anspruch 7, wobei Schritt (e) folgendes umfaßt: (h) Anordnen der ausgewählten Testmuster in der Reihenfolge assoziierter Eignungswerte; (i) zufälliges Auswählen der Elterntestmuster aus den Testmustern nach Anordnung in Schritt (h); und (j) Kombinieren der ausgewählten Elterntestmuster.
  9. Verfahren nach einem der vorhergehenden Ansprüche, wobei der genetische Algorithmus Kreuzen, Rekombination und/oder Mutation ausgewählter Testmuster beinhaltet.
  10. Verfahren nach einem der vorhergehenden Ansprüche, wobei Schritt (a) folgendes umfaßt: Erzeugen mehrerer Mengen an Testmustern, wobei jede Menge an Testmustern in einer Testmusterpopulation enthalten ist.
  11. Verfahren nach Anspruch 10, umfassend: Ausführen der Schritte nach einem der vorhergehenden Ansprüche für jede Population.
  12. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Menge an Testmustern eine Mehrzahl von Mengen von Eingangssignalen ist.
  13. Verfahren nach Anspruch 12, wobei die Eingangssignale Stromversorgungsfluktuationen widerspiegeln.
  14. Verfahren nach Anspruch 12 oder 13, wobei vorbestimmte Parameter jeder Menge von Eingangssignalen gegenüber jenen anderer Mengen von Eingangssignalen variieren.
  15. Verfahren nach einem der Ansprüche 12 bis 14, wobei die vorbestimmten Testkriterien erfüllt sind, wenn die Mehrzahl von Mengen von Eingangssignalen mit dem Worst-Case-Schaltrauschen assoziiert ist.
  16. Verfahren zum Erzeugen von Testmustern und Eingangssignalen für die Simulation und/oder den Test des Layouts einer integrierten Schaltung, wobei das Verfahren folgendes umfaßt: Ausführen des Verfahrens nach einem der Ansprüche 1 bis 11; und Ausführen des Verfahrens nach einem der Ansprüche 12 bis 15.
  17. Datenverarbeitungssystem, das einen Testautomaten (ATE – automatic test equipment) umfaßt, wobei das Datenverarbeitungssystem so ausgelegt ist, daß es das Verfahren nach einem der vorhergehenden Ansprüche ausführt.
  18. Computerprogramm, das dafür ausgelegt ist, das Verfahren nach einem der Ansprüche 1 bis 16 auf einem mit einem Testautomaten (ATE) assoziierten Computer auszuführen.
DE60224378T 2002-07-19 2002-07-19 Verfahren zur Erzeugung eines Testmusters für die Simulation und/oder Prüfung des Layouts einer integrierten Schaltung Expired - Lifetime DE60224378T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP02090271A EP1382975B1 (de) 2002-07-19 2002-07-19 Verfahren zur Erzeugung eines Testmusters für die Simulation und/oder Prüfung des Layouts einer integrierten Schaltung

Publications (2)

Publication Number Publication Date
DE60224378D1 DE60224378D1 (de) 2008-02-14
DE60224378T2 true DE60224378T2 (de) 2009-01-02

Family

ID=29762697

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60224378T Expired - Lifetime DE60224378T2 (de) 2002-07-19 2002-07-19 Verfahren zur Erzeugung eines Testmusters für die Simulation und/oder Prüfung des Layouts einer integrierten Schaltung

Country Status (3)

Country Link
US (1) US6993735B2 (de)
EP (1) EP1382975B1 (de)
DE (1) DE60224378T2 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7120840B1 (en) * 2004-02-06 2006-10-10 Credence Systems Corporation Method and system for improved ATE timing calibration at a device under test
EP1577801A1 (de) * 2004-03-15 2005-09-21 Infineon Technologies AG Ein Konzept zur Charakterisierung eines Geräts
JP4414899B2 (ja) * 2005-01-17 2010-02-10 Okiセミコンダクタ株式会社 ダミーメタルの配置方法
US20060195744A1 (en) * 2005-02-11 2006-08-31 Broadcom Corporation Method and apparatus to simulate automatic test equipment
US7313771B2 (en) * 2005-03-31 2007-12-25 Fujitsu Limited Computing current in a digital circuit based on an accurate current model for library cells
US7844926B1 (en) * 2006-01-31 2010-11-30 Oracle America, Inc. Specification window violation identification with application in semiconductor device design
US20070266349A1 (en) * 2006-05-09 2007-11-15 Craig Jesse E Directed random verification
US20080046789A1 (en) * 2006-08-21 2008-02-21 Igor Arsovski Apparatus and method for testing memory devices and circuits in integrated circuits
US7615990B1 (en) 2007-06-28 2009-11-10 Credence Systems Corporation Loadboard enhancements for automated test equipment
US20110126052A1 (en) * 2009-11-23 2011-05-26 Bhavesh Mistry Generation of Test Information for Testing a Circuit
US20140172343A1 (en) * 2012-12-13 2014-06-19 Infineon Technologies Ag Emulation System and Method

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6311318B1 (en) * 1999-07-13 2001-10-30 Vlsi Technology, Inc. Design for test area optimization algorithm
US6327687B1 (en) * 1999-11-23 2001-12-04 Janusz Rajski Test pattern compression for an integrated circuit test environment
CA2321346A1 (en) * 2000-09-28 2002-03-28 Stephen K. Sunter Method, system and program product for testing and/or diagnosing circuits using embedded test controller access data
US6782515B2 (en) * 2002-01-02 2004-08-24 Cadence Design Systems, Inc. Method for identifying test points to optimize the testing of integrated circuits using a genetic algorithm
US7039845B2 (en) * 2002-03-28 2006-05-02 Jeff Rearick Method and apparatus for deriving a bounded set of path delay test patterns covering all transition faults
GB0213882D0 (en) * 2002-06-17 2002-07-31 Univ Strathclyde A digital system & method for testing analogue & mixed-signal circuits or systems

Also Published As

Publication number Publication date
EP1382975A1 (de) 2004-01-21
US20040034838A1 (en) 2004-02-19
DE60224378D1 (de) 2008-02-14
US6993735B2 (en) 2006-01-31
EP1382975B1 (de) 2008-01-02

Similar Documents

Publication Publication Date Title
DE69114183T2 (de) System zur Reduzierung von Prüfdatenspeichern.
DE3689538T2 (de) Integrierte Schaltung und Optimierungsverfahren dafür.
DE112011103563T5 (de) Verfahren und System zum Identifizieren von seltenen Fehlerrarten
DE69033360T2 (de) Simulation von ausgewählten Logik-Schaltungsentwürfen
DE3787431T2 (de) Verfahren zur Generierung einer Kandidatenliste von fehlerhaften Schaltungselementen und Verfahren zur Isolierung von Fehlern in einer logischen Schaltung unter Verwendung dieser Kandidatenliste.
DE3689228T2 (de) Verfahren zur Modellierung und zur Fehlersimulation von komplementären Metalloxidhalbleiterschaltungen.
EP0855662B1 (de) Elektrische Analyse integrierter Schaltungen
DE60224378T2 (de) Verfahren zur Erzeugung eines Testmusters für die Simulation und/oder Prüfung des Layouts einer integrierten Schaltung
DE102017125256A1 (de) Suche nach einer neuronalen Architektur
DE102007060417A1 (de) Rohchip- und Wafer-Fehlerklassifikationssystem und Verfahren dazu
DE112021002290T5 (de) Partitionierbares neuronales netz für festkörperlaufwerke
EP0580663B1 (de) Verfahren zur verifikation datenverarbeitender systeme
DE102004036813A1 (de) Verfahren zum Erzeugen eines Schaltungsmodells
DE102016011527B4 (de) Maschinenlernvorrichtung und Verfahren zum Lernen einer Anordungsposition eines Magneten in einem Rotor und Rotordesignvorrichtung, die die Maschinenlernvorrichtung umfasst
DE10296464T5 (de) Verfahren und Gerät zur Validierung des Entwurfes einer komplexen integrierten Schaltungen
DE60218447T2 (de) Verfahren zur Bearbeitung von Testmustern für einen integrierten Schaltkreis
DE10000451A1 (de) Taktsignalanalyseeinrichtung und Taktsignalanalyseverfahren
DE3854636T2 (de) Automatischer Prüfprozess für logische Geräte.
DE60204535T2 (de) Optimierungsverfahren einer Prüfsequenz für digitale integrierte Schaltungen
DE60202443T2 (de) Methode zum Testen eines elektronischen Bauteils
DE10324594A1 (de) Verfahren zum Bereitstellen einer verbesserten Simulationsfähigkeit eines dynamischen Systems außerhalb der ursprünglichen Modellierungsumgebung
DE102015102034A1 (de) Verfahren zum Analysieren von Ergebnissen in einem Entwurfsautomatisierungsablauf für elektronische Systeme, Computersystem und Computerprogrammprodukt
DE102019115303A1 (de) Strömungsanalysevorrichtung und Verfahren dafür
DE69926587T2 (de) Verfahren und Vorrichtung zur Auswahl von Prüfpunkten in einer Schaltung mit beschränkter Zugänglichkeit
EP1068580B1 (de) Verfahren zum vergleich elektrischer schaltungen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition