DE60104015T2 - Entschlüsselungsverfahren zur datenabbildung in speicherschaltungen - Google Patents

Entschlüsselungsverfahren zur datenabbildung in speicherschaltungen Download PDF

Info

Publication number
DE60104015T2
DE60104015T2 DE60104015T DE60104015T DE60104015T2 DE 60104015 T2 DE60104015 T2 DE 60104015T2 DE 60104015 T DE60104015 T DE 60104015T DE 60104015 T DE60104015 T DE 60104015T DE 60104015 T2 DE60104015 T2 DE 60104015T2
Authority
DE
Germany
Prior art keywords
pattern
data
memory
logical
memory array
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 - Fee Related
Application number
DE60104015T
Other languages
English (en)
Other versions
DE60104015D1 (de
Inventor
Gunther Lehmann
Gerd Frankowsky
Louis L. Hsu
Armin Reith
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.)
Infineon Technologies AG
International Business Machines Corp
Original Assignee
Infineon Technologies AG
International Business Machines Corp
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, International Business Machines Corp filed Critical Infineon Technologies AG
Publication of DE60104015D1 publication Critical patent/DE60104015D1/de
Application granted granted Critical
Publication of DE60104015T2 publication Critical patent/DE60104015T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • 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/318378Generation of test inputs, e.g. test vectors, patterns or sequences of patterns for devices arranged in a network
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/10Test algorithms, e.g. memory scan [MScan] algorithms; Test patterns, e.g. checkerboard patterns 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • 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
    • 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/319Tester hardware, i.e. output processing circuits
    • G01R31/31917Stimuli generation or application of test patterns to the device under test [DUT]
    • G01R31/31926Routing signals to or from the device under test [DUT], e.g. switch matrix, pin multiplexing

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

  • HINTERGRUND DER ERFINDUNG
  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft allgemein Verfahren zum Adressieren in Speicherschaltungen und insbesondere ein Verfahren, das das Prüfen von Speicherschaltungen vereinfacht, indem die Abbildungsprobleme zwischen physikalischen und logischen Datenmustern (z. B. Datenverwürfelung) überwunden werden.
  • Allgemeiner Stand der Technik
  • In einer Speicherschaltung (z. B. einem statischen Direktzugriffsspeicher (SRAM), einem dynamischen Direktzugriffsspeicher (DRAM) und dergleichen) werden Daten normalerweise in einer Matrix von Speicherelementen gespeichert. Das Zugreifen auf die Datenwerte der Speicherelemente (Leseoperation) oder das Modifizieren dieser (Schreiboperation) ist ausschließlich durch Verwendung der Schnittstelle der Speicherschaltung möglich. Während eines Lesebefehls wird dieser Schnittstelle eine Adresse zugeführt. Diese Adresse wird dann durch die Speicherschaltung verarbeitet und die an dieser Adresse befindlichen Daten werden an den Datenausgang abgeliefert. Im Gegensatz dazu speichert ein Schreibbefehl extern zugeführte Daten an der in Verbindung mit den Daten zugeführten Adresse.
  • Deshalb weist eine Speicherschaltung zwei Arten von Speicheradressierung auf. Eine Adresse beschreibt die physikalische Speicherstelle eines Speicherelements (die als die „physikalische Adresse" bezeichnet wird). Die andere Adresse ist die Adresse, die der Schnittstelle der Speicherschaltung zugeführt werden muß, um auf ein spezifisches Speicherelement zuzugreifen (als die „logische Adresse" bezeichnet). Bei vorbe kannten Speichergenerationen war die Beziehung zwischen der physikalischen und der logischen Adresse einfach, da die beiden Teile der logischen Adresse (die in der Regel Zeile und Spalte genannt werden) eine transparente Beziehung zu den x- und y-Koordinaten der Speicherelemente (z. B. der physikalischen Adresse) aufwiesen.
  • Moderne Architekturen von Speicherschaltungen verhindern jedoch zunehmend die Extraktion eines transparenten Abbildungsschemas zwischen den logischen und den physikalischen Adressen. Die nichttrivialen Abbildungen werden durch den Begriff „Datenverwürfelung" zusammengefaßt. Datenverwürfelung kann im allgemeinen durch mehrere Faktoren verursacht werden, darunter
    • – Bitleitungs-Verdrehung,
    • – Wortleitungsadressierung und -segmentierung,
    • – Layout-Spiegelung,
    • – Multiplexen und Demultiplexen von Datenpaketen in den Burst-Betriebsarten und
    • – Wrap-Abhängigkeit (verschachtelt gegenüber sequentiell).
  • Durch die Kombination dieser Datenverwürfelungen wird es nahezu unmöglich, eine logische Adresse für eine gegebene physikalische Adresse abzuleiten. Dies ist jedoch eine Voraussetzung für die Hardware-Prüfung, da die Speicherelemente einer Speichermatrix ausschließlich durch die Schnittstelle der Speicherschaltung zugänglich sind. Insbesondere werden mehrere charakteristische physikalische Datenmuster wie zum Beispiel Streifen, Schachbrett, unstrukturiert, usw., für eine Speichermatrix ausgeführt, um durch Koppelungs- und Substratrauschen verursachte Probleme zu identifizieren. Ferner muß die Hardware-Prüfung in der Lage sein, die physikalische Speicherstelle von Ausfällen zu extrahieren, wenn die Daten an der logischen Schnittstelle falsch sind.
  • Unter Berücksichtigung der Größe derzeitiger Speicherschaltungen ist es offensichtlich, daß die Prüfmustererzeugung und -analyse automatisch durchgeführt werden muß. Zur Zeit benützte Mustererzeugungstechniken (die auf prozeduraler Programmierung basieren) sind jedoch ineffizient, weil die Entwicklung des zugrundeliegenden Erzeugungsalgorithmus durch die Datenverwürfelung verhindert wird.
  • KURZE DARSTELLUNG DER ERFINDUNG
  • Eine Aufgabe der vorliegenden Erfindung ist deshalb die Schaffung eines automatischen Mustererzeugungs- und -analyseverfahrens zur Durchführung der Hardware-Prüfung von Speicherschaltungen.
  • Gemäß der vorliegenden Erfindung wird eine automatische Erzeugung eines logischen Hardware-Prüfmusters auf der Basis eines gegebenen physikalischen Musters bereitgestellt. Das Verfahren umfaßt die Rückwärtstransformation von einer gegebenen Menge logischer Datenmuster. Da das Verfahren automatisch ist, ist keine Kenntnis der Datenverwürfelung innerhalb der Speicherschaltung erforderlich.
  • Die Ausübung der Erfindung erfordert die folgenden Elemente:
  • Eine Betrachtungsvorrichtung bzw. einen Generator für Muster, wodurch eine graphische Benutzeroberfläche (GUI) repräsentiert wird. Diese Schnittstelle ermöglicht eine graphische Definition der in den Speicherelementen gespeicherten Werte. Außerdem stellt sie eine Bibliothek mit vordefinierten Stan dardmustern, wie zum Beispiel einem Schachbrettmustern, bereit. Neben der Definition von Mustern ermöglicht dieses Modul außerdem das Betrachten des in der Speicherschaltung gespeicherten Musters.
  • Ein Layout der Speichermatrix (bzw. des Speicherarrays). Dieser Teil wird von dem Speicherentwurf abgeleitet. Im Prinzip liefert er die geometrische Speicherstelle (d. h. die x- und die y-Koordinate) jedes Speicherelements.
  • Eine verflachte Array-Netzliste (die in der Regel durch ein Layout- bzw. Schaltbildwerkzeug erzeugt wird) liefert eine Verknüpfung zwischen dem hierarchischen Namen jedes Speicherelements und seiner geometrischen Speicherstelle.
  • Eine hierarchische Darstellung der Speicherschaltung (Netzliste), die durch einen Logiksimulator ausgeführt werden kann.
  • Ein Logiksimulator ermöglicht das Modellieren des Verhaltens der Speicherschaltung durch Ausführen von Lese- und Schreibbefehlen an der Netzliste. Zusätzlich liefert er eine Funktionalität zum Setzen von Anfangsbedingungen auf Schaltungsknoten (wie zum Beispiel der Spannungen von Speicherelementen) bevor eine Simulation gestartet wird. Ähnlich wird eine Funktionalität unterstützt, die die Endzustände von Schaltungsknoten am Ende der Simulation liest.
  • Ein Muster-Server (und/oder ein Prüfer-RAM) wirkt als eine Zwischenspeicherung zwischen dem Hardware-Prüfer und dem Logiksimulator. Daten werden in Paaren von Adresse und Daten ausgetauscht, welche schlicht den an einer spezifischen logischen Adresse gespeicherten Datenwert bzw. die an einer spe zifischen logischen Adresse gespeicherten Datenwerte beschreiben.
  • Ein Hardware-Prüfer erzeugt und mißt elektrische Signale an den Anschlüssen des Speicherbausteins.
  • Ein Bitmap-Analysierer kann physikalische Datenmuster vergleichen. Nichtübereinstimmungen zwischen einem Eingangsmuster und dem abgeleiteten Muster können analysiert werden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die obigen und andere Aufgaben, Aspekte und Vorteile werden aus der folgenden ausführlichen Beschreibung einer bevorzugten Ausführungsform der Erfindung mit Bezug auf die Zeichnungen besser verständlich. Es zeigen:
  • 1 ein Blockdiagramm des Datenflusses der Erzeugung eines physikalischen Array-Datenmusters und der Umwandlung dieses in das logische Datenmuster für die Prüfung und Analyse des MOS-Speicherarrays gemäß der Erfindung;
  • 2 ein Diagramm des Verfahrens zum Eingeben eines bekannten physikalischen Datenmusters in das Layout des Arrays über eine Datenabbildungstechnik gemäß der Erfindung;
  • 3 ein Flußdiagramm der Logik der Erzeugung eines logischen Datenmusters aus einem bekannten physikalischen Datenmuster.
  • AUSFÜHRLICHE BESCHREIBUNG EINER BEVORZUGTEN AUSFÜHRUNGSFORM DER ERFINDUNG
  • Prozeduren zum Umwandeln von physikalischen Array-Datenmustern in logische Datenmuster
  • Nunmehr unter Bezugnahme auf die Zeichnungen und insbesondere auf 1 ist in Blockdiagrammform der Datenfluß der Mustererzeugung und Musteranalyse der Erfindung gezeigt. Eine Betrachtungsvorrichtung bzw. ein Generator 10 für Muster liefert eine graphische Benutzeroberfläche (GUI), die das Eingeben von Datenmustern und das Betrachten gespeicherter Datenmuster durch den bzw. die Benutzer 3 ermöglicht. Diese Schnittstelle ermöglicht sowohl die Eingabe von Daten als auch das Betrachten von Daten durch den bzw. die Benutzer über eine graphische Definition der in einem Speicherarray gespeicherten Werte. Ferner speichert sie eine Bibliothek mit vordefinierten Standardmustern, wie zum Beispiel einem Schachbrettmuster, einem Streifenmuster, einem Zufallsmuster, einem unstrukturierten Muster und dergleichen. Die Datenmuster können in einem Tabellenformat mit identischen Zeilen und Spalten wie denen des zu prüfenden Speicherarrays vorliegen.
  • Das Layout 11 des Speicherarrays erfolgt durch eine Bedienungsperson oder Software in Schritt 100 zur Erzeugung eines physikalischen Entwurfs des Speicherarrays unter Verwendung eines beliebigen herkömmlichen Layout-Werkzeugs. Das erzeugte physikalische Layout des Speicherarrays enthält im allgemeinen viele Ebenen und Formen zur Verwendung zur Erzeugung von Masken für die Speicherarrayherstellung.
  • Jede Zelle in dem physikalischen Layout 11 des Speicherarrays wird mit vordefinierten Daten aus einer in dem Mustergeneratormodul 10 gespeicherten Tabelle abgebildet. Die Abbildungstechnik erfolgt über Software, die automatisch die Daten _1_ oder _0_ über den Schritt 101 in jede Zelle des Arrays schreibt.
  • Die Einzelheiten der Datenabbildung aus dem Mustergenerator 10 in das physikalische Layout 11 sind in 2 dargestellt. Zum Beispiel wird ein Schachbrettmuster aus einer Bibliothek in den Mustergenerator geladen. Ein Softwareprogramm wird zur Ausführung der injektiven Datenabbildung von der Musterbetrachtungsvorrichtung auf das physikalische Layout verwendet. Nachdem dies geschehen ist, sind bei dem Modul für das physikalische Layout alle Zellen mit dem Schachbrettdatenmuster gespeichert.
  • Das in dem Layout 11 gespeicherte Datenmuster wird dann in Schritt 102 zu einem Eingangsdeck 12A gestreamt, um die Anfangszustände jeder Zelle in dem Array zu definieren. Jeder Anfangszustand trägt einen vollen Zellenadressenweg, der die logische Speicherstelle dieser Zelle anzeigt, und den Wert des Anfangszustands. Der Daten-Streaming-Prozeß 102 erfolgt durch Verwendung eines LVS-Werkzeugs (Layout Versus Schematic), das in der Technik bekannt ist.
  • Die existierende LVS-Software kann eine Querverweisprüfung eines Schaltungs-Layouts im Vergleich zu ihrem Schaltbild durchführen. Der Zweck der LVS-Prüfung ist das Verifizieren der Übereinstimmung von Layouts und ihrem Schaltbild. Dieses Werkzeug kann so modifiziert werden, daß es die Datenmuster, die in dem Array des Layouts gespeichert sind, in ein Eingangsdeck transferiert, mit Auflistung als der Anfangszustand für die Zellen. Zum Beispiel können die in dem Array des physikalischen Layouts gespeicherten Daten in ein verflachtes Format übersetzt werden, wobei alle hierarchischen Wege jeder Zelle die Zellenspeicherstelle darüber anzeigen, um welches Array, welches Sub-Array, welche Zeilen- und welche Spaltenadresse es sich handelt. Nachdem per Software die Abbildung durchgeführt wurde, werden alle Anfangszustände für alle Zellen mit einem bekannten Datenmuster in ein Eingangsdeck 12A gestreamt. Genauer gesagt werden nun alle physikalischen Datenmuster in den Anfangszuständen des Deck aufgezeichnet und sind bereit für die Simulation. Diese Anfangszustände werden in Schritt 103 in den Simulator 13 eingeben.
  • Um eine Simulation auszuführen, wird in Schritt 97 aus dem Schaltbild 4 der Speicherschaltung durch Verwendung einer beliebigen existierenden Software für diesen Zweck eine Netzliste 5 erzeugt. Zum Beispiel kann die Netzliste mit einem Cadence-Werkzeug aus einem Schaltbild erzeugt werden. Ein Beispiel für ein Eingangsdeck und eine durch das Cadence-Werkzeug für eine einfache Schaltung erzeugte Netzliste ist nachfolgend gezeigt.
  • Eingangsdeck
    Figure 00080001
  • Figure 00090001
  • Figure 00100001
  • Deshalb ist die Netzliste das Schaltbild, das in einem Textformat, das der Simulator 13 kennt, kompiliert und dem Simulator 13 zugeführt wird Schritt 96.
  • Um die in dem Speicherarray gespeicherten Daten zu lesen, muß das Speicherarray jedoch mit einem bekannten Datenmuster vorgeladen werden. Die in der Eingabe gespeicherten Anfangszustände ermöglichen es dem Simulator 13, die Daten in das Array zu laden. Dies geschieht durch Zuführen von Anfangszuständen, um das Array vorzuladen. Nachdem das Array mit dem bekannten Datenmuster vorgeladen wurde, kann durch den Simulator 13 eine Array-Lesesimulation ausgeführt werden. Für die Array-Lesesimulation kann jeder beliebige existierende Logiksimulator 13 verwendet werden, zum Beispiel Starsim, Powermill, VHDL oder Verilog.
  • Zusammengefaßt und wie in 3 dargestellt, extrahiert das modifizierte LVS-Werkzeug die Anfangsdatenwerte aus dem Array-Layout 31. Durch Zusammenführen der Netzliste und der Anfangszustände 32 kann ein Logiksimulatorwerkzeug 33 dann eine volle Array-Lesesimulation des Speicherarrays 34 durchführen. Alle gelesenen Zellendaten mit logischer Adresse aus dem Array werden in dem Muster-Server 14 gespeichert.
  • Der Muster-Server 14 wirkt als eine Zwischenspeicherung zwischen dem Hardware-Prüfer 15 und dem Simulator 13. In dem Muster-Server 14 gespeicherte Daten enthalten sowohl Felder von Adressen als auch Datenwert, welche schlicht den an einer spezifischen logischen Adresse gespeicherten Datenwert bzw. die an einer spezifischen logischen Adresse gespeicherten Datenwerte beschreiben. Damit ist die erste Ausführungsform abgeschlossen, die ein bekanntes physikalisches Array-Datenmuster in das entsprechende logische Datenmuster umwandeln soll. Das logische Datenmuster kann in einem Bitmap-Format oder in einem Tabellenformat vorliegen.
  • Prozeduren zum Prüfen eines Speicherarrays unter Verwendung eines bekannten physikalischen Datenmusters
  • Die in dem Muster-Server 14 gespeicherten Informationen weisen den Prüfer in Schritt 106 an, das DRAM-Array auf der Wafer-Hardware 16 (z. B. Speicherchips auf einem Wafer) mit den Informationen, einschließlich der logischen Adresse und Schreibdatenwerte für jede Zelle zu programmieren. Nachdem das Array programmiert ist und nach einem spezifischen Zeitraum werden die Daten in Schritt 206 durch den Prüfer ausgelesen. Das Ergebnis aus dem Hardware-Prüfer 15 erzeugt Leseadressen und mißt elektrische Signale der Zellen, die sich an diesen Adressen befinden, die dann in Schritt 205 in einem logischen Bitmap-Format in dem Muster-Server 14 gespeichert werden. Diese logische Bitmap aus dem Prüfer kann mit der im Schritt 105 erzeugten logischen Bitmap verglichen werden, mit der die Daten in die Hardware 16 programmiert wurden, um einen Ausfall zu erkennen. Dadurch erhält man jedoch keine Informationen über ein Ausfallbit bzw. mehrere Ausfallbit einer physikalischen Speicherstelle. Deshalb muß man weiter diese aus Hardware gemessene logische Bitmap wieder in eine physikalische Bitmap umwandeln, damit die ausgefallene Speicherstelle in dem Array bestimmt werden kann.
  • Die logische Bitmap wird in Schritt 205 aus dem Hardware-Prüfer 15 an den Muster-Server 14 ausgegeben, um dann in Schritt 204 in das Stimulus-Format 17 für eine Schreibsimulation, das in Schritt 207 an den Simulator 13 ausgegeben wird, umgewandelt. Zum Schreiben des logischen Datenmusters in das Speicherarray und somit zum Erzeugen eines Ausgangsdecks 12B in Schritt 203 können derselbe Simulator 13 und dieselbe Netzliste 5 verwendet werden. Diese in dem Ausgangsdeck gespeicherten Daten weisen nun physikalische Adressen auf, die denen in dem zuvor beschriebenen Eingangsdeck 12A ähnlich sind. Die in dem Ausgangsdeck 12B gespeicherten Daten werden dann in Schritt 202 unter Verwendung desselben modifizierten LVS-Werkzeugs, aber in umgekehrter Weise, zu dem Layout 11 zurückgestreamt.
  • Im Schritt 201 wird ein einfaches Softwareprogramm, das dem bereits im Schritt 101 erwähnten ähnlich ist, zur Abbildung auf das Format einer physikalischen Bitmap oder einer Tabelle in der Musterbetrachtungsvorrichtung bzw. dem Generator 10 verwendet. Die aus der Hardware gelesenen Daten sind nun dem Benutzer 3 sichtbar.
  • Der Bitmap-Analysierer 9 benutzt im Schritt 99 eine Schnittstelle mit der Musterbetrachtungsvorrichtung, bzw. dem Generator 10 und kann im Schritt 98 unter Verwendung einer Vergleichsfunktion 8 physikalische Datenmuster zwischen dem ursprünglichen Eingangsmuster und dem aus der Hardware gelesenen Muster vergleichen. Nichtübereinstimmungen zwischen einem Eingangsmuster und dem geprüften Muster können angezeigt und analysiert werden.
  • Auf der Basis dieser Struktur können trotz etwaiger Datenverwürfelung die Eigenschaften einer hergestellten Speicherschaltung leicht untersucht werden. Erstens wählt der Benutzer des Verfahrens unter Verwendung der GUI der Musterbetrachtungsvorrichtung bzw. des Generators 10 ein physikalisches Datenmuster, das an den Speicherchip angelegt werden soll. Diese physikalische Datenabbildung wird dann in Anfangszustände für den Logiksimulator 13 für die entsprechenden Speicherelemente in der Netzliste durch Verwendung des Schaltungslayoutmoduls 11 und der verflachten Netzliste 5 übersetzt. Nach dem Zuweisen der Anfangszustände wird ein Simulationslauf durchgeführt, der den Speicher ausliest, indem er alle möglichen Adressen an das Speichermodell anlegt. Als Ergebnis wird eine Menge von Paaren (Adresse, Daten) erhalten, die das logische Datenmuster darstellt, das dem anfänglichen physikalischen Datenmuster entspricht. Der Inhalt dieser Nachschlagetabelle wird dann durch Verwendung des Hardware-Prüfers 15 in die tatsächliche Speicherhardware geschrieben. Nach dem Beschreiben der Speicherhardware und nach einer vorbestimmten Wartezeit liest der Prüfer den Speicher durch Anlegen aller möglichen Adressen aus. Diese Ergebnisse werden als Paare (Adresse, Daten) in dem Muster-Server 14 gespeichert. Die Wartezeit ist normalerweise kleiner als die Haltezeit der Speicherzellen. Während dieser Wartezeit könn ten aufgrund bestimmter Arten von Defekten einige Zellen ausfallen. Wenn die Wartezeit größer als die entwickelte Zellenhaltezeit ist, fällt der größte Teil der Zellen aus. Die Wartezeit kann von 0 bis 100 ms verändert werden. Mit dieser Prüfung wird normalerweise die Zellenhaltezeit bestimmt.
  • An diesem Punkt ist es bereits möglich, die logischen Adressen von Ausfällen zu identifizieren, indem einfach die Paare (Adresse, Daten) der Schreib- und der Leseoperation verglichen werden. Um jedoch die physikalische Speicherstelle von Ausfällen zu finden, muß die Datenverwürflung wieder umgekehrt werden. Die während der Leseoperation aus der tatsächlichen Hardware abgeleiteten Paare (Adresse, Daten) werden deshalb unter Verwendung eines Simulationsmodells in das Array geschrieben.
  • Am Ende der Simulation wird der Inhalt aller Speicherelemente direkt aus der hierarchischen Querschnittsnetzliste 5 extrahiert. Diese Werte werden dann durch nochmalige Verwendung der verflachten Netzliste und des Speicherlayoutmoduls 11 auf ihre physikalische Speicherstelle abgebildet. Als letztes wird das resultierende physikalische Datenmuster durch die Musterbetrachtungsvorrichtung bzw. den Generator 10 angezeigt. Zusätzlich könnte man mit dem Bitmap-Analysierer 9 das anfängliche physikalische Muster mit dem abgeleiteten Muster vergleichen und somit Bereiche mit Bitausfällen angeben.
  • Das Verfahren der Erfindung ist nützlich, wenn eine Speicherschaltung eine nicht triviale Datenverwürfelung aufweist. Insbesondere ist es hilfreich für die Schaltungsprüfung, wenn Hardwareausfälle in dem Layout gefunden werden müssen. Da das Verfahren jede manuelle Analyse umgeht, wird es die Entwicklung eines Hardware-Prüfmusters signifikant beschleunigen. Es kann in der Prüfumgebung als ein Black-Box-Werkzeug verwendet werden, bei dem die einzige Schnittstelle zu dem Benutzer ein graphischer Generator und eine graphische Betrachtungsvorrichtung für Muster ist. Innerhalb dieser Schnittstelle kann der Prüfingenieur Prüfmuster unabhängig von einer etwaigen Datenverwürfelung graphisch setzen und analysieren. Vom Standpunkt des Entwicklers aus gesehen unterstützt dieses Verfahren die Verifizierung der Datenverwürfelung, da es dabei hilft, physikalische mit logischen Datenmustern in Beziehung zu setzen.
  • Obwohl die Erfindung im Hinblick auf eine einzige bevorzugte Ausführungsform beschrieben wurde, ist für Fachleute erkennbar, daß die Erfindung mit Modifikation innerhalb des Schutzumfangs der angefügten Ansprüche ausgeübt werden kann.

Claims (12)

  1. Automatisches Verfahren zur Erzeugung eines logischen Hardware-Prüfmusters in Speicherarrayschaltungen, mit den folgenden Schritten: Erzeugen einer graphischen Benutzeroberfläche (10), die eine graphische Definition von in Speicherelementen einer Speicherschaltung gespeicherten Werten und ein Betrachten des in der Speicherschaltung gespeicherten Musters ermöglicht; Bereitstellen einer geometrischen Speicherstelle (11) jedes Speicherelements in der Speicherschaltung; Bereitstellen einer Verknüpfung (12) zwischen dem hierarchischen Namen jedes Speicherelements und seiner geometrischen Speicherstelle; Bereitstellen einer hierarchischen Darstellung (12) der Speicherarrayschaltung in Form einer Netzliste, die durch einen Logiksimulator ausgeführt werden kann; Modellieren eines Verhaltens der Speicherschaltung in einem Logiksimulator (13) durch Ausführen von Lese- und Schreibbefehlen auf der Netzliste; Bereitstellen einer Zwischenspeicherung (14) zwischen einem Hardware-Prüfer (15) und dem Logiksimulator (13), wobei die Daten in Paaren von Adresse und Daten ausgetauscht werden, welche schlicht den an einer spezifischen logischen Adresse gespeicherten Datenwert bzw. die an einer spezifischen logischen Adresse gespeicherten Datenwerte beschreiben; und Erzeugen und Messen elektrischer Signale an Anschlüssen der Speicherschaltung durch den Hardware-Prüfer (15).
  2. Automatisches Verfahren zur Erzeugung eines logischen Hardware-Prüfmusters in Speicherarrayschaltungen nach Anspruch 1, wobei der Schritt des Erzeugens einer graphischen Benutzeroberfläche eine manuelle Eingabe eines Datenmusters ermöglicht.
  3. Automatisches Verfahren zur Erzeugung eines logischen Hardware-Prüfmusters in Speicherarrayschaltungen nach Anspruch 1, wobei der Schritt des Erzeugens einer graphischen Benutzeroberfläche die Auswahl eines vordefinierten Datenmusters ermöglicht.
  4. Automatisches Verfahren zur Erzeugung eines logischen Hardware-Prüfmusters in Speicherarrayschaltungen nach Anspruch 3, wobei das vordefinierte Datenmuster aus der folgenden Gruppe ausgewählt wird: ein Schachbrettmuster, ein Streifenmuster, ein Zufallsmuster und ein unstrukturiertes Muster.
  5. Automatisches Verfahren zur Erzeugung eines logischen Hardware-Prüfmusters in Speicherarrayschaltungen nach Anspruch 1, wobei der Schritt des Bereitstellens einer geometrischen Speicherstelle jedes Speicherelements in der Speicherschaltung durch eine Abbildungstechnik durchgeführt wird, die automatisch Daten von „1" oder „0" in jede Zelle des Arrays schreibt.
  6. Automatisches Verfahren zur Erzeugung eines logischen Hardware-Prüfmusters in Speicherschaltungen nach Anspruch 1, wobei der Schritt des Bereitstellens einer Verknüpfung zwischen dem hierarchischen Namen jedes Speicherelements und seiner geometrischen Speicherstelle unter Verwendung eines LVS-Werkzeuges (layout versus schematic) durchgeführt wird.
  7. Automatisches Verfahren zur Erzeugung eines logischen Hardware-Prüfmusters in Speicherschaltungen nach Anspruch 1, wobei der Schritt des Bereitstellens einer hierarchischen Darstellung der Speicherarrayschaltung in Form einer Netzliste durch Compilieren eines Schaltbildes in einem dem Simulator bekannten Textformat durchgeführt wird.
  8. Automatisches Verfahren zur Erzeugung eines logischen Hardware-Prüfmusters in Speicherschaltungen nach Anspruch 1, weiterhin mit den folgenden Schritten: Ausgeben einer aus gemessenen elektrischen Signalen erzeugten logischen Bitmap; Umwandeln der logischen Bitmap in ein Stimulus-Format für den Logiksimulator und Erzeugen von der logischen Bitmap entsprechenden physikalischen Adressen; Abbilden der physikalischen Bitmap zur Anzeige in der graphischen Benutzeroberfläche, wodurch es einem Benutzer ermöglicht wird, Nichtübereinstimmungen zwischen einem physikalischen Eingangsmuster und dem geprüften physikalischen Muster zu betrachten und zu analysieren.
  9. Automatisches Verfahren zur Erzeugung eines logischen Hardware-Prüfmusters in Speicherschaltungen nach Anspruch 8, weiterhin mit dem Schritt des automatischen Analysierens von Unterschieden zwischen dem logischen Eingangsmuster und dem geprüften logischen Muster.
  10. System zur automatischen Mustererzeugung und -analyse zur Verwendung beim Prüfen von Speicherarrayschaltungen, umfassend: eine Betrachtungsvorrichtung bzw. einen Generator für Muster, die bzw. der eine graphische Benutzeroberfläche (GUI) repräsentiert, die eine graphische Definition von in Speicherelementen von Speicherarrayschaltungen gespeicherten Werten und das Betrachten eines in Speicherarrayschaltungen gespeicherten Musters ermöglicht; ein Layout des Speicherarrays, das aus einem Entwurf einer Speicherarrayschaltung abgeleitet wird, wodurch eine geometrische Speicherstelle jedes Speicherelements bereitgestellt wird; eine verflachte Array-Netzliste, die durch ein LVS-Werkzeug (layout versus schematic) erzeugt wird, wodurch eine Verknüpfung zwischen einem hierarchischen Namen jedes Speicherelements und seiner geometrischen Speicherstelle bereitgestellt wird; eine hierarchische Darstellung einer Speicherarrayschaltung in Form einer Netzliste, die durch einen Logiksimulator ausgeführt werden kann; einen Logiksimulator, der das Modellieren des Verhaltens der Speicherarrayschaltung durch Ausführen von Lese- und Schreibbefehlen auf der Netzliste und Setzen von Anfangszuständen auf Schaltungsknoten und Lesen von Endzuständen von Schaltungsknoten an einem Ende einer Simulation ermöglicht; einen als Zwischenspeicherung zwischen einem Hardware-Prüfer und dem Logiksimulator dienenden Muster-Server, wobei die Daten in Paaren von Adresse und Daten ausgetauscht werden, welche schlicht den an einer spezifischen logischen Adresse gespeicherten Datenwert bzw. die an einer spezifischen logischen Adresse gespeicherten Datenwerte beschreiben; einen Hardware-Prüfer, der elektrische Signale an Anschlüssen der Speicherarrayschaltung nach einem vorbestimmten Zeitraum, nach dem bekannte Daten in das Array programmiert wurden, erzeugt und mißt; und einen Bitmap-Analysierer, der physikalische Datenmuster vergleicht, um Nichtübereinstimmungen zwischen einem Eingangsmuster und einem abgeleiteten Muster zu analysieren.
  11. System zur automatischen Musterzeugung und -analyse zur Verwendung beim Prüfen von Speicherarrayschaltungen nach An spruch 10, wobei der vorbestimmte Zeitraum kleiner als eine entwickelte Zellenhaltezeit ist.
  12. System zur automatischen Musterzeugung und -analyse zur Verwendung beim Prüfen von Speicherarrayschaltungen nach Anspruch 10, wobei der vorbestimmte Zeitraum im Bereich von 0 bis 100 ms variiert wird, um die Zellenhaltezeit zu bestimmen.
DE60104015T 2000-09-29 2001-08-30 Entschlüsselungsverfahren zur datenabbildung in speicherschaltungen Expired - Fee Related DE60104015T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US675953 2000-09-29
US09/675,953 US6601205B1 (en) 2000-09-29 2000-09-29 Method to descramble the data mapping in memory circuits
PCT/US2001/027001 WO2002029825A2 (en) 2000-09-29 2001-08-30 Method to descramble the data mapping in memory circuits

Publications (2)

Publication Number Publication Date
DE60104015D1 DE60104015D1 (de) 2004-07-29
DE60104015T2 true DE60104015T2 (de) 2005-06-30

Family

ID=24712608

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60104015T Expired - Fee Related DE60104015T2 (de) 2000-09-29 2001-08-30 Entschlüsselungsverfahren zur datenabbildung in speicherschaltungen

Country Status (5)

Country Link
US (1) US6601205B1 (de)
EP (1) EP1327249B1 (de)
KR (1) KR20030039378A (de)
DE (1) DE60104015T2 (de)
WO (1) WO2002029825A2 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6941499B1 (en) * 2001-06-18 2005-09-06 Taiwan Semiconductor Manufacturing Company Method to verify the performance of BIST circuitry for testing embedded memory
US7003697B2 (en) * 2001-07-02 2006-02-21 Nextest Systems, Corporation Apparatus having pattern scrambler for testing a semiconductor device and method for operating same
US7017088B2 (en) * 2001-09-07 2006-03-21 Sun Microsystems, Inc. Graphical system and automated pattern generator for testing arrays
US7219321B2 (en) * 2004-04-23 2007-05-15 Lsi Logic Corporation Process and apparatus for memory mapping
US7168052B2 (en) * 2004-06-23 2007-01-23 Lsi Logic Corporation Yield driven memory placement system
DE102004047633B4 (de) * 2004-09-30 2014-06-26 Advanced Micro Devices, Inc. Auf Umkehrung basierte Stimuluserzeugnis für die Bauteilprüfung
KR100831271B1 (ko) * 2006-08-16 2008-05-22 동부일렉트로닉스 주식회사 물리적 레이어의 프로그램적 생성을 통한 물리적 레이아웃 데이터를 변경하는 방법
US7725782B2 (en) * 2007-01-04 2010-05-25 Gm Global Technology Operations, Inc. Linked random access memory (RAM) interleaved pattern persistence strategy
US8375225B1 (en) 2009-12-11 2013-02-12 Western Digital Technologies, Inc. Memory protection
US9514258B2 (en) * 2012-06-22 2016-12-06 Synopsys, Inc. Generation of memory structural model based on memory layout

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5371851A (en) * 1989-04-26 1994-12-06 Credence Systems Corporation Graphical data base editor
US5325309A (en) * 1991-04-30 1994-06-28 Lsi Logic Corporation Method and apparatus for integrated circuit diagnosis
US5506959A (en) * 1994-08-04 1996-04-09 Telecommunication Research Laboratories Method and apparatus for testing electronic memories for the presence of multiple cell coupling faults
JPH0935496A (ja) * 1995-07-12 1997-02-07 Advantest Corp メモリ試験装置
US5720031A (en) * 1995-12-04 1998-02-17 Micron Technology, Inc. Method and apparatus for testing memory devices and displaying results of such tests
JPH11144496A (ja) * 1997-11-10 1999-05-28 Nec Corp Lsiセル位置情報出力装置、出力方法およびlsiセル位置情報出力プログラムの記録媒体
US6081463A (en) * 1998-02-25 2000-06-27 Micron Technology, Inc. Semiconductor memory remapping
US6205407B1 (en) * 1998-02-26 2001-03-20 Integrated Measurement Systems, Inc. System and method for generating test program code simultaneously with data produced by ATPG or simulation pattern capture program
US6128759A (en) * 1998-03-20 2000-10-03 Teradyne, Inc. Flexible test environment for automatic test equipment
US6185707B1 (en) * 1998-11-13 2001-02-06 Knights Technology, Inc. IC test software system for mapping logical functional test data of logic integrated circuits to physical representation
US6389525B1 (en) * 1999-01-08 2002-05-14 Teradyne, Inc. Pattern generator for a packet-based memory tester
US6442724B1 (en) * 1999-04-02 2002-08-27 Teradyne, Inc. Failure capture apparatus and method for automatic test equipment
US6499120B1 (en) * 1999-12-30 2002-12-24 Infineon Technologies Richmond, Lp Usage of redundancy data for displaying failure bit maps for semiconductor devices

Also Published As

Publication number Publication date
EP1327249A2 (de) 2003-07-16
EP1327249B1 (de) 2004-06-23
DE60104015D1 (de) 2004-07-29
US6601205B1 (en) 2003-07-29
WO2002029825A3 (en) 2002-08-01
KR20030039378A (ko) 2003-05-17
WO2002029825A2 (en) 2002-04-11

Similar Documents

Publication Publication Date Title
DE102004023407B4 (de) Testvorrichtung und Verfahren zum Testen eines eingebetteten Speicherkerns sowie zugehöriger Halbleiterchip
DE60220511T2 (de) Verfahren und system zur optimierung der testkosten und deaktivierungsdefekte für scan- und bist-speicher
DE60128014T2 (de) Intelligenter Prüfadapter
DE10010043C2 (de) Halbleitervorrichtung-Simulationseinrichtung und zugehörige Halbleitertestprogramm-Debugging-Einrichtung
DE10125344A1 (de) Ereignisgestütztes Halbleiterprüfsystem mit modularer Architektur zur Speicherprüfung
DE10392497T5 (de) Herstellungsverfahren und Herstellungsvorrichtung zum Vermeiden eines Prototypen-Aufschubs bei der ASIC/SOC-Herstellung
DE10234135B4 (de) Verfahren, System und Computerprogramm zum Steuern der Prüfung einer gedruckten Schaltungsplatine in Bezug auf Herstellungsdefekte
DE10055456A1 (de) Halbleiterprüfsystem zur Prüfung von Mischsignalbauteilen
DE19937232B4 (de) Entwicklungs- und Bewertungssystem für integrierte Halbleiterschaltungen
DE10118141A1 (de) Anwendungsspezifisches ereignisgestütztes Halbleiter-Speicherprüfsystem
DE102005025744A1 (de) Verfahren und Vorrichtung zum automatisierten Testaufbau
DE10120080B4 (de) Ereignisgestütztes Prüfsystem mit einer Einrichtung zur Erzeugung von Prüfabschluß-Mehrfachsignalen
DE60104015T2 (de) Entschlüsselungsverfahren zur datenabbildung in speicherschaltungen
DE60018468T2 (de) Verbrauch von redundanzdaten für das anzeigen der bitfehlerkarten für halbleiterelemente
DE19948388A1 (de) Verfahren und System zum Prüfen eingebetteter Speicher
DE102004058753A1 (de) Verifizierung von Integrierte-Schaltung-Tests unter Verwendung einer Testsimulation und einer Integrierte-Schaltungs-Simulation mit einem simulierten Ausfall
DE102017117496A1 (de) Zell-Bewusste Fehlstellen-Charakterisierung und Wellenformanalyse mithilfe mehrerer Strobe-Punkte
DE102013114558A1 (de) Ausschneiden-bei-der Diagnose (CID) - Ein Verfahren zur Verbesserung des Durchsatzes des Vorgangs für Anhebung der Ausbeute
DE112021003677T5 (de) Automatisierte unterstützte schaltkreisvalidierung
DE112008000748T5 (de) Prüfgerät, elektrische Vorrichtung und Prüfverfahren
DE102006007439A1 (de) Verfahren und Vorrichtung zum Testen von Halbleitern unter Verwendung von Einzelchips mit integrierten Schaltungen
DE112006003729T5 (de) Testzeitberechnungseinrichtung
DE602004007906T2 (de) Testeinrichtung und einstellverfahren
DE4439971A1 (de) Fehleranalysesystem für integrierte Schaltkreise
DE10317431A1 (de) Verfahren zur Generierung von Testersteuerungen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee