-
DATEN VERWANDTER ANMELDUNGEN
-
Diese
Anmeldung beansprucht die Vorzüge
der vorläufigen
US-Patentantanmeldung Nr. 60/282
917 , angemeldet 10. April 2001.
-
TECHNISCHES GEBIET
-
Die
vorliegende Erfindung steht im Allgemeinen zum Gebiet der Speichergestaltung
und -Prüfung
unter Verwendung von Gestaltung für Prüfungen (DFT(design-for-test))-Techniken
in Beziehung. Insbesondere bezieht sich die vorliegende Erfindung
auf das Gebiet von Speicherprüfung
und -Diagnose für
Integrierte Schaltungen, die eingebaute Selbstprüfungen (BIST (built-in self-test))
und Speicherabtasttechniken benutzen.
-
HINTERGRUND
-
Eine
moderne integrierte Schaltung enthält gewöhnlich eine bedeutende Anzahl
von eingebetteten Speicheranordnungen bzw. -bereichen: Einige sind
klein und einige sind groß.
Im Allgemeinen kann so viel wie die Hälfte der Größe einer Integrierten Schaltung
durch eingebettete Speicheranordnungen aufgebraucht werden. Zusätzlich hat
eine Speicheranordnung eine sehr dichte körperliche Verwirklichung aufgrund
ihres regelmäßigen Aufbaus.
Als Ergebnis sind Speicheranordnungen anfällig für körperliche Fehler, was es wichtig macht,
alle eingebetteten Speicheranordnungen in einer Integrierten Schaltung
gründlich
zu überprüfen.
-
Es
gibt zwei Angänge
zum Prüfen
einer eingebetteten Speicheranordnung: äußere Prüfung und eingebaute Selbstprüfung (BIST),
wie unten beschrieben:
Bei Prüfung von außen sollte zuerst ein direkter
Zugangskanal zwischen einer automatischen Prüfausrüstung (ATE (automatic test
equipment)) und der zu prüfenden
eingebetteten Speicheranordnung eingerichtet werden. Dann werden, über den
direkten Zugangskanal, Prüfmuster
aus der ATE an die eingebettete Speicheranordnung angelegt, und
Prüfantworten
werden an die ATE aus der unter Prüfung befindlichen eingebetteten Speicheranordnung
zurückübertragen.
Ein Vergleich der Prüfantworten
mit erwarteten Antworten wird auf der ATE durchgeführt um zu
bestimmen, ob die eingebettete Speicheranordnung fehlerhaft ist
oder nicht. Der direkte Zugangskanal kann parallel oder seriell
sein. Bei einem parallelen direkten Zugangskanal kann auf alle der
Dateneingänge,
Datenausgänge,
Adreßleitungen
und Steuerleitungen einer eingebetteten Speicheranordnung von einer
ATE gleichzeitig zugegriffen werden. Da eine große Schnittstelle zwischen einer
ATE und einer eingebetteten Speicheranordnung benötigt wird,
ist ein paralleler direkter Zugangskanal gewöhnlich sehr teuer, was ihn
nicht geeignet für
eine Integrierte Schaltung mit einer bedeutenden Anzahl von eingebetteten
Speicheranordnungen macht. Bei einem seriellen direkten Zugangskanal
reicht eine kleine Schnittstelle zwischen einer ATE und einer eingebetteten
Speicheranordnung aus, aber Prüfmuster
und Prüfantworten
müssen
seriell übertragen
werden. Die typische Verwirklichung eines seriellen direkten Zugangskanals
ist die Speicherabtastprüftechnik
(memory scan test technique), in der eine oder mehrere Abtastketten
um eine Speicheranordnung angeordnet werden, um Prüfmuster
einzuschieben und Prüfantworten
auszuschieben. Man beachte, daß die Speicherabtastprüfechnik
immer noch die Einbeziehung einer ATE während der Speicherprüfung benötigt.
-
Bei
der Speicher-BIST-Technik werden alle Prüfmuster und Steuersignale durch
eine gewisse Schaltung, die in der gleichen Integrierten Schaltung
sitzt wie die eingebettete Speicheranordnung, erzeugt und an die
eingebettete Speicheranordnung, die geprüft wird, angelegt. Der Vergleich
zwischen Prüfantworten
und erwarteten Antworten wird auch in der gleichen Integrierten
Schaltung durchgeführt.
Diese Prüftechnik
erfordert eine einfache Schnittstelle zwischen einer Integrierten
Schaltung und einer ATE, die wesentlich vereinfacht werden kann.
Die Vorteile der Speicher-BIST-Technik umfassen geringere Prüfkosten,
höhere
Prüfqualität und bessere
Prüfwiederverwendbarkeit.
-
Die
allgemeine Praxis in der Industrie ist jetzt, große eingebettete
Speicheranordnungen mit der Speicher-BIST-Technik zu prüfen, während das
Prüfen
verhältnismäßig kleiner
Speicheranordnungen, z.B. jener mit weniger als 4 kBits, mit der
Speicherabtasttechnik geprüft
werden.
-
Bei
der Speicherprüfung,
die entweder die Speicher-BIST-Technik oder die Speicherabtasttechnik
benutzt, gibt es drei Hauptprobleme:
Fehlerabdeckung, Prüfeinteilung
und Speicherreparatur, wie unten beschrieben.
-
Zuerst
sollte eine Speicherprüftechnik
in der Lage sein, so viele Fehler wie möglich zu entdecken oder diagnostizieren.
Insbesondere ist es wichtig, Verbindungsfehler ins Visier zu nehmen,
die eine Abhängigkeit zwischen
zwei Bits in einem Speicherwort erzeugen, was sie daran hindert,
ihre Werte unabhängig
zu ändern. Da
dieser Art von Fehlern in einer modernen Speicheranordnung gang
und gäbe
ist, sollte eine Speicherprüftechnik
eine hohe Abdeckung von Verbindungsfehlern haben. Zusätzlich ist
es wichtig, da verschiedene Speicherprüfalgorithmen verschiedene entsprechende
Fehlerabdeckungen haben, daß eine
Speicherprüftechnik anpassungsfähig genug
ist, sich an verschiedene Speicherprüfungsalgorithmen anzupassen.
-
Zweitens
enthält
eine Integrierte Schaltung gewöhnlich
eine bedeutende Anzahl von eingebetteten Speicheranordnungen. Einige
von ihnen können
ziemlich groß sein.
Wenn alle der eingebetteten Speicheranordnungen zur gleichen Zeit
geprüft
oder diagnostiziert werden, kann mehr Leistung verbraucht werden,
als die Packung zulassen kann, was die Prüfung scheitern lassen kann
oder sogar die Packung selbst beschädigen kann. Um dieses Problem
zu lösen,
wird ein Prüfzeitplan
benötigt
um die Prüfvorgänge einzelner
Speicheranordnungen vernünftig
zu ordnen.
-
Drittens,
selbst wenn eine Speicheranordnung als fehlerhaft befunden wird,
ist es teuer, sie einfach wegzuwerfen, da der Rest der Integrierten
Schaltung, einschließlich
solch komplizierter und teurer logischer Blöcke wie einer MPU, in der Lage
sein können,
richtig zu arbeiten. Zusätzlich
ist es gut möglich,
daß nur
einige wenige Speicherzellen in einer großen Speicheranordnung fehlerhaft
sind. Als Ergebnis ist es oft notwendig, eine fehlerhafte oder kaputte
Speicheranordnung durch Neuanordnung in einer solchen Weise, daß jede gültige Speicheradresse
nur auf ein Speicherwort, das nur aus guten oder fehlerfreien Speicherstellen
besteht, abgebildet wird, zu reparieren.
-
Stand
der Technik (StdT)-Lösungen
für die
obigen drei Speicherprüfprobleme
weisen eine Lösung zum
Verbessern der Verbindungsfehlerabdeckung auf der Grundlage der
Verwendung des Inhaltes eines Johnson-Zählers als Testdaten (StdT-Lösung # 1),
zwei Lösungen
für Speicherprüfzeitpläne auf der
Grundlage von Zeichendurchlaß (token
passing) oder Vorgangsauslösung
(StdT-Lösung
# 2 und StdT-Lösung
# 3) und eine Lösung
zur Speicherinstandsetzung unter Verwendung redundanter Wortleitungen
und Bitleitungen (StdT-Lösung
# 4), wie unten zusammengefaßt,
auf:
StdT–Lösung # 1
ist in
US-Patent Nr. 6 041 426 von
Qureshi (2000) beschrieben. Diese Lösung beruht auf dem Verwenden
eines Johnson-Zählers
um Daten zu erzeugen, die während
der Speicherprüfung
in eine Speicheranordnung geschrieben werden sollen. Die Parität des Inhaltes
eines Johnson-Zählers
wird auch in eine Speicheranordnung als Teil der Prüfdaten geschrieben.
Wenn die Daten aus einem Speicherwort ausgelesen werden, werden
sowohl die Daten selbst als auch ihre Parität überprüft, um zu sehen, ob sie irgendwie
nicht zusammenpassen. Diese Lösung
leidet jedoch an verschiedenen Nachteilen. Erstens ist die Lösung keine
reine auf einem Johnson-Zähler
beruhende Technik, da sie erfordert, daß sowohl Daten als auch ihre
Parität überprüft werden.
Dieser Johnson-Zähler-plus-Paritätsangang
benötigt
mehr komplizierte zusätzliche
Hardware bei größeren Hardwarekosten.
Zweitens soll diese Lösung
nur in der Speicher-BIST-Technik benutzt werden. Wenn man diese
Lösung
auf eine kleine eingebettete Speicheranordnung anwendet, wird dies
zu teuer. Drittens weist jeder Prüfzyklus in dieser Lösung einen
Schreibvorgang, der durch einen Lesevorgang gefolgt wird, und dann
einen Vergleichsvorgang auf. Zusätzlich
werden für
jedes Wort nur zwei Prüfzyklen
angewandt. Da nur ein Datum aus einem Johnson-Zähler in jedem Prüfzyklus
angelegt wird, werden nur zwei Datenmuster aus einem Johnson-Zähler für jedes
Wort angelegt. Offensichtlich gibt es keine Garantie, daß alle der
vier 2-Bit-Logikwertkombinationen 00, 01, 10, und 11 in alle 2-Bits
in jedem Speicherwort geschrieben werden; als Ergebnis können manche
Verbindungsfehler nicht entdeckt oder diagnostiziert werden. Viertens
ist das BIST-Steuerschema in dieser Lösung nicht anpassungsfähig, insoweit,
als es nicht leicht angepaßt
werden kann, um andere Speicherprüfalgorithmen zu verwirklichen.
Dies begrenzt die Nützlichkeit
der Lösung,
da der Ausstoß und
andere Kennwerte verschiedener Herstellungsverfahren das Benutzen
verschiedener Speicherprüfalgorithmen
erfordern können.
-
StdT-Lösung # 2
wird im
US-Patent Nr. 6 237 123 von
Kim et al. (2001) beschrieben. Diese Lösung soll ein Prüfzeitplan-Schema
verwirklichen, indem sie Speicher-BIST-Vorgänge für mehrfache „gebistete" Speicheranordnungen
ordnet und steuert. Sie verwendet ein Zeichendurchlaß-Netzwerk,
das ein Universal-BIST-Zeitplaner (USB (universal BIST scheduler)
genannt wird, um „gebistete" Speicheranordnungen
in einen Zeitplan zu bringen um parallele BIST-Vorgänge, serielle
BIST-Vorgänge
oder eine Mischung von beiden zu verwirklichen. Diese Lösung leidet
jedoch an verschiedenen Nachteilen: Erstens ist ein Zeichendurchlaß-Netzwerk groß und bringt
beträchtliche
Hardware-Zusatzkosten mit sich. Zweitens ist ein Zeichendurchlaß-Netzwerk,
daß die
Verwendung von endlichen Automaten mit sich bringt, in seiner Arbeitsweise
komplex. Dies erhöht
die Möglichkeit,
daß das
Zeichendurchlaß-Netzwerk
selbst an irgendeiner Art von Fehlern leidet. Drittens ist keine
Einrichtung vorgesehen, um zu überprüfen, ob
ein Zeichendurchlaß-Netzwerk
richtig arbeiten kann. Viertens kann die Einrichtung eines universellen
BIST-Zeitplanes mit einem Zeichendurchlaß-Netzwerk eine verhältnismäßig große Datenmenge
mit sich bringen.
-
StdT-Lösung # 3
wird im
US-Patent Nr. 5 995 731 von
Crouch et al. (1999) beschrieben. Diese Lösung soll mehrere Speicher-BIST-Steuereinrichtungen
zum Prüfen
mehrer eingebetteter Speicheranordnungen integrieren. Im Grunde
verwendet es ein UND-Gatter und ein ODER-Gatter um ERLEDIGT-Signale
und VERSAGEN-Signale aus einer Gruppe von Speicheranordnungen, für die entschieden
wurde, sie parallel zu testen, zusammenzufassen. Der Ausgang des
UND-Gatters kann dann verwendet werden als ein Vorgangsauslösesignal
um die Speicher-BIST-Prüfsitzung
für die
nächste
Gruppe von Speicheranordnungen zu beginnen. Dies hilft beim Prüfen zweier
Gruppen von Speicheranordnungen in einer seriellen Weise, aber Prüfen aller Speicheranordnungen
in jeder Gruppe im parallelen Modus. Zusätzlich, um die Bitmap jeder
Speicheranordnung einer Speichergruppe auszugeben, wird ein Multiplexer
hinzugefügt
und alle Speicheranordnungen in der Speichergruppe teilen den Ausgang
des Multiplexers im Diagnosemodus. Diese Lösung soll als Speicher-BIST-Zeitplantechnik mit
geringen Kosten dienen. Diese Lösung
leidet jedoch an verschiedenen Nachteilen. Zuerst ist diese Lösung nicht
anpassungsfähig
insoweit, als das Prüfzeitplanergebnis,
einschließlich
des Speichergruppierungsergebnisses und der Prüfreihenfolge unter den Speichergruppen
als Teil einer Integrierten Schaltung verwirklicht ist, was es unmöglich macht,
zu wechseln, sobald einmal die Integrierte Schaltung hergestellt
ist.
-
Zweitens,
wenn die Speicheranordnungen in einer Speichergruppe körperlich
von einander verstreut sind, dann kann es schwierig werden, ERLEDIGT-Signale
und VERSAGENS-Signale zu kombinieren, aufgrund von Leitweg-Verstopfung.
Drittens macht diese Lösung
es schwierig, eine bestimmte Speicheranordnung zu diagnostizieren,
da es keine Möglichkeit
gibt, nur eine Speicheranordnung zu aktivieren, aber alle anderen
Speicheranordnung in einer Speichergruppe abzuschalten. Es sei z.B.
angenommen, daß eine
Speichergruppe drei Speicheranordnungen enthält. Wenn die kombinierten VERSAGEN-Signale
dieser Speichergruppe ein Versagen anzeigen, gibt es keine Möglichkeit
zu wissen, welche Speicheranordnung versagte. Um die fehlerhafte
Speicheranordnung zu bestimmen, müssen die Bitmaps für alle der
drei Speicheranordnungen gewonnen werden. Zu diesem Zweck muß der Speicher-BIST-Vorgang
für die
Speichergruppe dreimal wiederholt werden, da die Bitmaps für die drei
Speicheranordnungen einen Ausgangsanschluß über einen Multiplexer teilen
müssen.
Das macht die Lösung
sehr zeitaufwendig bei der Fehlerdiagnose.
-
StdT-Lösung # 4
wird im
US-Patent Nr. 6 343 366 von
Okitaka (2002) beschrieben. Diese Lösung soll eine Speicheranordnung
reparieren, wenn sie als fehlerhaft befunden wurde. Zu diesem Zweck
sollte die fehlerhafte Speicherzelle zuerst bestimmt werden. Dann
wird die fehlerhafte Speicherzelle durch einer Reserve- oder Redundanz-Speicherzelle,
die vorher in der Speicheranordnung angebracht wird, ersetzt. Diese
Lösung leidet
jedoch an verschiedenen Nachteilen. Zuerst ist diese Speicherreparaturlösung sehr
teuer, da sie eine komplexe Reparaturschaltung benötigt. Zweitens
hat diese Speicherreparaturlösung
nur Erfolg, wenn es genug Redundanzspeicherzellen, die in einer
Speicheranordnung eingebettet sind, gibt. Da es nur eine begrenzte
Anzahl von Redundanzspeicherzellen gibt, wird eine solche Speicherreparatur
unmöglich,
wenn es zu viele fehlerhafte Speicherzellen gibt. Drittens hat diese
Speicherreparaturlösung
einzelne fehlerhafte Speicherzellen im Visier. In der Wirklichkeit
ist es sehr gut möglich,
daß mehrere
Speicherzellen in der gleichen körperlichen
Umgebung zur gleichen Zeit kaputtgehen können. Das Reparieren solcher
Speicherzellen eine nach der anderen ist nicht nur ineffizient,
sondern führt
auch zu hohen Hardwarekosten.
-
Das
US-Patent Nr. 6 001 662 zeigt
ein Verfahren um eine Selbstprüfungs-Steuereinrichtung
zu liefern, wo ein Johnson-Zähler
Daten, die in eine Speicheranordnung während der Speicherprüfung eingeschrieben werden
sollen, erzeugt.
-
Es
besteht daher ein Bedürfnis
für eine
verbesserte Speicherprüftechnik,
die ein Verfahren, eine Vorrichtung und ein CAD-(CAD(computer-aided
design))-System aufweist, um eine hohe Abdeckung von Verbindungsfehlern,
eine anpassungsfähige
Prüfzeitplanung
und eine effiziente Speicherreparaturfähigkeit zu erzielen. Diese
Speicherprüftechnik
sollte geringe Hardwarekosten haben, kann sowohl bei Speicher-BIST-
als auch bei Speicher-Abtast-Techniken
verwendet werden, kann jeglichen Verbindungsfehler zwischen jeglichen zwei
Bit in jedem Speicherwort aufspüren
und diagnostizieren und kann leicht an jeden Speicherprüfalgorithmus
angepaßt
werden (s. StdT-Lösung
# 1). Zusätzlich
sollte diese Speicherprüftechnik
ein anpassungsfähiges
und einfaches Prüfzeitplanschema
mit geringen Kosten haben (s. StdT-Lösung # 2 und StdT-Lösung # 3). Darüberhinaus
sollte diese Speicherprüftechnik
eine einfache und effiziente Speicherinstandsetzunglösung haben,
die nicht durch die Anzahl von Redundanz-Zeilen und -Spalten begrenzt
ist (s. StdT-Lösung
# 4). Schließlich
sollte diese Speicherprüftechnik
eine mächtige
Diagnostizierfähigkeit
haben, was durch StdT-Lösungen
nicht vollständig
angesprochen wird.
-
ZUSAMMENFASSUNG
-
Diese
Erfindung wird durch Anspruch 1 umrissen. Dementsprechend ist ein
erstes Ziel der vorliegenden Erfindung, ein verbessertes Speicherprüfsystem
für sowohl
Speicher-BIST- als
auch Speicher-Abtast-Techniken zu schaffen. Dieses Speicherprüfsystem
weist ein Verfahren und eine Vorrichtung auf um die Entdeckung und
Lokalisierung jeglichen Verbindungsfehlers zwischen jeglichen zwei
Bit in einem Speicherwort in einer eingebetteten Speicheranordnung
zu erlauben, eine anpassungsfähige
Prüfzeitplanung
zu erlauben und eine effiziente Speicherreparatur zu erlauben. Die
vorliegende Erfindung weist weiter ein CAD-System auf, das ein solches Speicherprüfsystem
zusammenstellt und gewünschte
Hardwarebeschreibungssprachen (HDL(hardware description language))-prüfbänke erzeugt.
Die Speicherprüftechnik
die in der vorliegenden Erfindung im einzelnen dargelegt wird, wird
wie folgt zusammengefaßt:
-
(1) Datenerzeugung auf der Grundlage eines
Folgenerzeugers
-
Während der
Speicherprüfung
müssen
besonders gestaltete Daten in eine Speicheranordnung geschrieben
werden. Die Art der Daten, die in eine Speicheranordnung geschrieben
werden, ist ein wichtiger Faktor, der die Fehlerabdeckung der Speicherprüfung bestimmt.
-
Es
wurde gezeigt, daß das
Verbindungsfehlermodell eine übliche
Fehlerart bei modernen Speicheranordnungen ist. Diese Art von Fehler
zeigt sich, indem er eine Abhängigkeit
von zwei Bits in einem Speicherwort erzeugt. Um einen Verbindungsfehler
zu entdecken oder zu diagnostizieren, ist es nötig, verschiedene Werte auf
die zwei Bits zu schreiben und dann die Werte zurückzulesen
um zu sehen, ob sie korrekt geschrieben werden. Um irgendeinen Verbindungsfehler
in irgendeinem Speicherwort zwischen irgendwelchen zwei Bits zu
entdecken oder zu diagnostizieren müssen die Daten, die in irgendeinem
Speicherwort geschrieben werden an jegliche zwei Bits verschiedene
Werte anlegen. Es ist somit klar, daß man einen Folgenerzeuger verwenden
kann, um eine Folge von Mustern zu erzeugen, wo alle zwei Bits in
der Folge von Mustern vier verschiedene Zustände: 00, 01, 10 und 11 enthalten.
Wenn diese Folge von Mustern in eine Speicheranordnung geschrieben
wird, ist es offensichtlich, daß jeder
Verbindungsfehler zwischen allen zwei Bits in jedem Wort in einer
Speicheranordnung festgestellt und diagnostiziert werden kann.
-
Ein
n-stufiger Johnson-Zähler,
der auch ein Gedrehter-Ring-Zähler
(twisted-ring-counter)
genannt wird, ist ein synchroner Zähler, der aus n D-Flipflops
und einem sehr kleinen Netzwerk für kombinatorische Logik besteht.
Ein n-stufiger Johnson-Zähler
hat die folgenden Eigenschaften: Wenn er mit einem I-aus-n-Code angestoßen wird,
wird ein n-stufiger Johnson-Zähler durch
2n Zustände
zählen,
so daß die
Ausgänge
von je zwei D-Flipflops in dem Johnson-Zähler alle 2-Bit-Logikwertkombinationen:
00, 01,10 und 11 durchlaufen. Als Ergebnis kann ein Johnson-Zähler als
ein Folgenerzeuger benutzt werden, um eine Folge von Mustern, die
in eine Speicheranordnung während
einer Speicherprüfung
geschrieben werden sollen, zu erzeugen, um alle Verbindungsfehler
zwischen jeglichen zwei Bit in jedem Wort in einer Speicheranordnung
festzustellen oder zu diagnostizieren.
-
Z.B.,
wenn jedes Speicherwort in einer Speicheranordnung n Bit lang ist,
dann kann ein n-stufiger Johnson-Zähler verwendet werden, um Daten,
die in jedes Wort der Speicheranordnung während der Speicherprüfung geschrieben
werden sollen, zu erzeugen. Indem man den Inhalt eines Johnson-Zählers in
ein Speicherwort schreibt und es dann zum Vergleich zurückliest,
kann leicht bestimmt werden, ob es einen Verbindungsfehler zwischen
irgendwelchen zwei Bits in dem Speicherwort gibt.
-
Die
vorliegende Erfindung umfaßt
jedes Verfahren und jede Vorrichtung, die einen Folgenerzeuger verwenden,
um Daten zu erzeugen, die in eine Speicheranordnung während einer
Speicherprüfung
geschrieben werden sollen. Solch eine Folge sollte in der Lage sein, eine
Folge von Mustern zu erzeugen, wo alle zwei Bit in der Folge von
Mustern vier unterschiedene Zustände
enthalten: 00, 01, 10 und 11. Als eine Ausführungsform der vorliegenden
Erfindung kann ein Johnson-Zähler
als ein solcher Folgenerzeuger verwendet werden. Außerdem wird
ein Datenverbinder, der aus einer Mehrzahl von Multiplexern zusammengesetzt
ist hinzugefügt,
um die Ausgänge
eines Folgenerzeugers an die Dateneingänge einer Speicheranordnung
zu verbinden, um Daten aus dem Folgenerzeuger während der Speicherprüfung in
die Speicheranordnung zu schreiben. Zusätzlich wird ein Folgenerzeuger
neu angeordnet, indem man einen Multiplexer an den Eingang seines
D-Flipflops erster Stufe hinzufügt,
so daß der
Folgenerzeuger als ein Schieberegister arbeiten kann. Dies wird
benutzt, um einen Folgenerzeuger zu einem speziellen Anfangszustand
anzustoßen,
gewöhnlich
einem 1-aus-n Code durch Randabtastung (boundary scan). Darüber hinaus
wird zusätzliche
Haltezustandsschaltung hinzugefügt
um einen Folgenerzeuger zu veranlassen, seinen Zustand unverändert beizubehalten,
sogar wenn sein Tastgeber angestellt ist. Dieses Merkmal ist nützlich beim
Gestalten einer Speicher-BIST-(eingebaute Selbstprüfung)-Steuereinrichtung.
Bei der vorliegenden Erfindung wird ein Folgenerzeuger, erweitert
durch einen Datenverbinder, eine Schiebeschaltung und eine Zustandshalteschaltung,
als Datenerzeuger verwendet. Der Vorteil solch eines Datenerzeugers
ist, daß jeglicher
Verbindungsfehler zwischen jeglichen zwei Bits in einem Speicherwort
entdeckt oder diagnostiziert werden kann bei geringen Bereichskosten.
-
(2) Neuabbildung von Adressen
-
Wenn
eine Speicheranordnung, die in eine integrierte Schaltung eingebettet
ist, durch eine Speicherprüfung
als fehlerhaft befunden wurde, wird gewöhnlich eine Speicherreparatur
in Betracht gezogen, anstatt die integrierte Schaltung einfach auszusondern.
Zu diesem Zweck muß die
Speicheranordnung genug Redundanz einschließlich Reservespalten und/oder
Zeilen enthalten. Wenn gefunden wird, daß eine Speicheranordnung Fehler
hat, wird bestimmt, ob die Fehler reparierbar sind, indem man einige
Spalten und oder Zeilen auf Reserven umschaltet. Jedoch, da die
Anzahl von Reservespalten und/oder -Zeilen begrenzt ist, ist eine
Speicheranordnung nicht immer reparabel, wenn sie zu viele Fehler
enthält.
-
Eine
Speicheranordnung ist gewöhnlich
in eine Menge kleinerer Baublöcke
organisiert, die Speicherbänke
genannt werden. Die Adresse einer solchen Speicheranordnung hat
zwei Abschnitte: Einer wird benutzt, um die Speicherbank anzuzeigen,
und der andere wird benutzt, die Verschiebung (offset) in der Speicherbank
anzuzeigen. Als Ergebnis kann das Abbilden einer Adresse auf ein
Wort in einer Speicheranordnung durchgeführt werden, indem man zuerst
den Speicherbankbereich der Adresse an eine Speicherbank dekodiert
und dann den Verschiebungsbereich der Adresse benutzt, um das entsprechende
Wort direkt in der Speicherbank zu lokalisieren. Offensichtlich
kann durch Ändern
der Speicherbank-Dekodierfunktion eine Adresse auf verschiedene
körperliche
Stellen in einer Speicheranordnung abgebildet werden.
-
Die
vorliegende Erfindung weist weiter alle Verfahren und Vorrichtungen
auf, die einen Adresse-Neuabbildungslogikblock verwenden um die
ursprüngliche
Speicherbankdekodierfunktion zu ändern
um alle fehlerhaften Speicherbänke
zu überspringen.
-
Der
Adressenraum der neuabgebildeten Speicherbänke, obwohl er kleiner ist
als der der ursprünglichen
Speicherbänke,
beginnt auch bei 0 und schreitet in fortlaufender Weise fort. Die
Adressenneuabbildungsfunktion kann mit einem eingebetteten programmierbaren
Element verwirklicht werden, einschließlich eines programmierbaren
ROMs (PROM), einer programmierbaren Logikeinrichtung (PLD (programmable
logic device)), einer programmierbaren Logikanordnung (PLA (programmable
logic array)), einer feldprogrammierbaren Gatteranordnung (FGPA
(field programmable gate array)) oder einem Flash-Speicher. Der
Vorteil dieser Neuabbildungstechnik ist, daß sie das Leben einer Speicheranordnung
zu geringen Kosten verlängern
kann. Zusätzlich
ist diese Neuabbildungstechnik flexibel insoweit, als eine Neuabbildungsfunktion
auf einfache Weise geändert
werden kann. Diese macht es möglich,
eine eingebettete Speicheranordnung in einer Integrierten Schaltung
durch Adressen-Neuabbildung zu reparieren, selbst wenn die Integrierte
Schaltung in einem System benutzt wird.
-
Es
sei z.B. angenommen, daß eine
Speicheranordnung vier Speicherbänke
B0, B1. B3 und B4 hat. Jegliche Adresse für diese Speicheranordnung sollte
zwei Bit haben, A0 und A1, die benutzt werden, um anzuzeigen, welche
Speicherbank gewählt
werden sollte.
-
Angenommen,
daß die
ursprüngliche
Speicherbank-Abbildungsfunktion wie folgt ist:
A1 | A0 | Ausgewählte Speicherbank |
0 | 0 | B0 |
0 | 1 | B1 |
1 | 0 | B2 |
1 | 1 | B3 |
-
Angenommen,
daß Speicherbank
B1 während
der Speicherprüfung
als fehlerhaft befunden wird. Um diese Speicheranordnung an einer
Weise mit verringerter Größe zu benutzen
kann eine Adressen-Neuabbildungsfunktion verwendet werden, um die
Speicherbankadresse {A1 = 0, A0 = 1} aus Speicherbank B1 neu abzubilden
auf Speicherbank B3. Das Ergebnis ist unten gezeigt:
A1 | A0 | Ausgewählte Speicherbank |
0 | 0 | B0 |
0 | 1 | B3 |
1 | 0 | B2 |
-
(3) Anpaßbares Speicherprüfzeitplan-Schema
auf der Grundlage von Speicherwählern.
-
Eine
Integrierte Schaltung kann eine große Anzahl von eingebetteten
Speicheranordnungen enthalten. Im Betriebszustand ist gewöhnlich nicht
beabsichtigt, daß die
eingebetteten Speicheranordnungen zur gleichen Zeit betätigt werden.
Im Prüfzustand
ist es jedoch möglich,
jegliche Anzahl von eingebetteten Speicheranordnungen in einer Integrierten
Schaltung zur gleichen Zeit zu betätigen. Dies erzeugt die Gefahr,
die Leistungsaufnahmegrenze der Integrierten Schaltung zu überschreiten.
In einer modernen Integrierten Schaltung nehmen eingebettete Speicheranordnungen
gewöhnlich
eine größere Fläche als
Logikblöcke
ein. Als Ergebnis ist die Leistungsverwaltung während der Speicherprüfung sehr
wichtig.
-
Die
vorliegende Erfindung weist weiter jegliches Verfahren und Vorrichtung
auf, die ein anpaßbares Speicherprüfzeitverteilungsschema
benutzen, in dem ein Speicherelement, genannt ein Speicherwähler, zu
jeder Speicheranordnung hinzugefügt
wird. Der Wert eines Speicherwählers
zeigt an, ob die entsprechende Speicheranordnung während eines
Speicherprüf-Arbeitsdurchganges
geprüft
oder diagnostiziert werden soll. Falls der logische Wert 1 ist,
wird die entsprechende Speicheranordnung geprüft oder diagnostiziert; ansonsten
wird die entsprechende Speicheranordnung inaktiv gemacht um sie
zu veranlassen, wenig Leistung aufzunehmen, während andere Speicheranordnungen
geprüft
oder diagnostiziert werden. Zusätzlich
kann eine Gruppe von Speicheranordnungen sich einen Speicherwähler teilen,
wenn die Speicheranordnungen die ganze Zeit parallel geprüft oder
diagnostiziert werden sollen. Darüber hinaus können alle
Speicherwähler
in einer Integrierten Schaltung in ein Speicherwahl-Schieberegister
getan werden, auf das von außerhalb
der Integrierten Schaltung durch Grenzabtastung (boundary scan)
zugegriffen werden kann. Speicherprüfzeitverteilungsinformation,
in der Form einer Menge von logischen Werten für alle Speicherwähler, kann
in das Speicherwahlregister eingeschoben werden, bevor die Speicherprüfung begonnen
wird. Danach kann ein einzelnes Speicherprüfstartsignal ausgegeben werden.
Die Speicheranordnungen, die gerade geprüft oder diagnostiziert werden,
werden durch den Inhalt des Speicherwahlregisters bestimmt. Der
Vorteil dieses Speicherprüfzeitverteilungsschemas
auf der Grundlage von Speicherwählern
ist seine Anpassungsfähigkeit.
Jegliche Prüfreihenfolge
kann durch das Verwenden dieses Schemas erzielt werden. Zusätzlich besteht
keine Notwendigkeit, eine Prüfreihenfolge
vor der Produktion festzulegen. Darüber hinaus ist es einfach,
nur eine Speicheranordnung für den
Diagnosezweck zu wählen.
-
BIST
(eingebaute Selbstprüfung)
ist ein Prüfschema,
in dem Prüfstimuli
in einer Integrierten Schaltung erzeugt werden und an einen Teil
der in Prüfung
befindlichen Schaltung angelegt werden. Prüfantworten aus dem Teil der
Integrierten Schaltung werden auch in der Integrierten Schaltung
analysiert, um zu bestimmen, ob irgendein Fehler vorliegt. Die Vorteile
von BIST schließen
weniger Prüf-Schnittstellenerfordernisse,
weniger Einbeziehung von Prüfern,
weniger Kosten für
die Prüfungserzeugung
und -anwendung, höhere
Prüfqualität aufgrund
von „at-speed
test" und bessere
Prüfwiederverwendung
ein. Insbesondere für
eine regelmäßig aufgebaute
Schaltung so wie eine Speicheranordnung sind ihre Prüfmuster
so regelmäßig, daß sie leicht
erzeugt werden können,
indem man wohleingeführte
March-Algorithmen
benutzt. Es ist daher passend, zusätzliche Schaltungen zu verwirklichen
um die Prüfmuster
in einer Integrierten Schaltung zu erzeugen insbesondere für Speicheranordnungen.
Als Ergebnis, Speicher-BIST ist nun eine allgemeine Prüfpraxis.
Eine Speicher-BIST-Schaltung besteht gewöhnlich aus einem Datenerzeuger,
einem Adressenerzeuger, einem Vergleicher, einem endlichen Automaten
zum Erzeugen aller notwendigen Steuersignale und einiger zusätzlicher
Logikschaltung, die benutzt wird, um Dateneingänge, Adresseneingänge und
Steuereingänge
vom Funktionsmodus zum Speicher-BIST-Modus
umzuschalten.
-
Die
vorliegende Erfindung weist weiter alle Verfahren und Vorrichtungen
auf, die eine Speicher-BIST-Steuereinrichtung verwenden, die eine
Folge von Mustern anlegt, wo alle zwei Bit in der Folge von Mustern
vier unterschiedene Zustände:
00, 01, 10 und 11, enthalten. Solch eine Folge von Mustern kann
von einem Folgenerzeuger, so wie einem Johnson-Zähler, erzeugt werden, und das
kann sicherstellen, daß jeder Verbindungsfehler
zwischen allen zwei Bits in jedem Wort in der eingebetteten Speicheranordnung
entdeckt oder diagnostiziert werden kann. Zusätzlich sollte die Speicher-BIST-Steuereinrichtung
an jeden bitweisen March-Typ-Speicherselbstprüfalgorithmus
angepaßt
werden können.
Das heißt,
ein bitweiser Marchartiger Speicherselbstprüfalgorithmus kann in einem
Textformat vorgeschrieben sein und ein CAD-System kann verwendet
werden, um eine Speicher-BIST-Steuereinrichtung zu erzeugen, die
den bitweisen Speicherprüfalgorithmus
verwirklicht. Der Vorteil ist seine Anpaßbarkeit, verschiedenen Prüfanforderungen
zu genügen,
indem er sich an alle March-artigen Speicherprüfalgorithmen anpaßt. Zusätzlich enthält jede
Speicheranordnung auch einen Speicherwähler, eine BIST-Ergebniskette
und eine BIST-Fehlerbeseitigungskette. Eine BIST-Ergebniskette ist ein Schieberegister,
das aus D-Flipflops zusammengesetzt ist, die solche BIST-Ergebnisse
wie Beendet und Bestanden/Durchgefallen darstellen. Eine BIST-Fehlerbeseitigungskette
ist ein Schieberegister, das aus D-Flipflops zusammengesetzt ist,
die solche BIST-Fehlerbeseitigungsinformation darstellen wie Fehler,
Fehlerdaten und Fehleradresse. Zusätzlich kann ein Abtast-Verbinder
benutzt werden um Speicherwähler, BIST-Ergebnisketten und
BIST-Fehlerbeseitigungsketten miteinander zu verbinden in einer
Integrierten Schaltung mit verschiedenen eingebetteten Speicheranordnungen,
und sie durch Grenzabtastung zugänglich
zu machen. Die Verbindung kann seriell oder parallel sein. Diese
Abtastkette ist nützlich
bei der Fehlerdiagnose.
-
Ein
Beispiel einer Speicher-BIST-Steuereinrichtung gemäß der vorliegenden
Erfindung wird nachfolgend beschrieben:
Angenommen, daß eine 8 × 4-Speicheranordnung
(8 Wörter
und jedes Wort mit 4 Bits) durch den March-Algorithmus geprüft oder
diagnostiziert werden. Dies ist ein O(5N)-Speicherprüfalgorithmus,
wo N die Anzahl der Wörter
in einer Speicheranordnung ist. O(5N) bedeutet, daß die Prüfzeit auf
der Grundlage des March-Algorithmus 5N proportional ist. Wenn dieser
Speicherprüfalgorithmus
benutzt wird, arbeitet die Speicher-BIST-Steuereinrichtung gemäß der vorliegenden
Erfindung auf folgende Weise:
- (a) Setzte den
entsprechenden Speicherwähler
auf den logischen Wert 1, was die Speicheranordnung, die geprüft oder
diagnostiziert werden soll, anschaltet.
- (b) Initialisiere den Datenerzeuger zu einem Alles-0-Zustand.
- (c) Schreibe Anfangsdaten in alle Wörter in der Speicheranordnung.
- (d) Für
jedes Wort in einer Aufwärtsanordnung
wiederhole die folgenden Arbeitsschritte 4x:
(i) Lies die Inhalte
des gegenwärtig
adressierten Wortes aus und vergleiche die Speicherinhalte mit den
Inhalten des Datenerzeugers um festzustellen, ob ein Fehler vorliegt.
(ii)
Verschiebe den Datenerzeuger um ein Bit.
(iii) Schreibe die
Inhalte des Datenerzeugers in das gegenwärtig adressierte Wort.
- (e) Für
jedes Wort in einer Abwärtsreihenfolge
wiederhole den Schritt (d).
-
(5) Anpaßbare Speicher-Abtast-Steuereinrichtung.
-
Trotz
aller Vorteile von Speicher-BIST können seine Kosten in manchen
Fällen
ein Problem werden, insbesondere für eine kleine Speicheranordnung.
Um dieses Problem zu lösen,
kann eine Speicherabtasttechnik benutzt werden, in der Abtastzellen
an den Dateneingängen,
Datenausgängen
und den Adreßleitungen
einer Speicheranordnung eingefügt
werden. Diese Abtastzellen können
in eine oder mehrere Abtastketten verbunden werden. Durch die Abtastketten
können
Daten und Adressen von einer automatischen Prüfausrüstung (ATE (automatic test
equipment)) an die Speicheranordnung geliefert werden und Prüfantworten
können
von der Speicheranordnung an die ATE übertragen werden. Durch das
Verschieben der Prüferzeugung,
der Prüfanwendung
und des Prüfantwortvergleichs
an eine ATE kann die Speicherabtasttechnik eine Speicherprüfung mit
sehr geringen Hardwarekosten erzielen. Als Ergebnis ist diese Speicherprüftechnik
zum Prüfen
kleiner Speicher geeignet.
-
Die
vorliegende Erfindung weist weiter alle Verfahren und Vorrichtungen
auf, die eine Speicherabtaststeuereinrichtung verwenden, die eine
Folge von Mustern anlegt, wo jegliche zwei Bits in der Folge von
Mustern vier verschiedene Zustände
enthalten: 00, 01, 10 und 11. Solch eine Folge von Mustern kann
durch einen Folgenerzeuger so wie einen Johnson-Zähler in
einer ATE erzeugt werden. Der Vorteil ist, daß alle Kopplungs- oder Verbindungsfehler
zwischen jeglichen zwei Bits in jeglichem Speicherwort in der eingebetteten
Speicheranordnung entdeckt oder diagnostiziert werden können. Zusätzlich sind
die Hardwarekosten solch einer Speicherabtasttechnik niedrig, was
sie für
kleinere Speicheranordnungen geeignet macht. Darüber hinaus sollte die Speicherabtaststeuereinrichtung
in der Lage sein, an jeden bitweisen March-artigen Abtast-Prüfalgorithmus
angepaßt
zu werden. Bemerke, daß solch
eine Speicherabtastprüfeinrichtung
gewöhnlich
in einer ATE sitzt. Darüber
hinaus werden die Abtastzellen, die an die Dateneingänge und
Adreßleitungen
einer Speicheranordnung eingefügt werden,
in eine Eingangsabtastkette (ISC (input scan chain)) getan; während die
Abtastzellen an den Datenausgängen
der Speicheranordnung in eine Ausgangsabtastkette (OSC (output scan chain))
getan werden. Diese zwei Abtastketten werden in eine Abtastzustandskette
zusammenverbunden, die durch Grenz-Abtastung zugänglich gemacht werden kann.
-
Ein
Beispiel eines Speicherabtaststeuereinrichtung gemäß der vorliegenden
Erfindung wird unten beschrieben.
-
Angenommen,
daß eine
8 × 4
Speicheranordnung (8 Wörter
und jedes Wort mit 4 Bits) durch den March-Algorithmus geprüft oder
diagnostiziert werden soll. Dies ist ein O(5N)-Speicherprüfalgorithmus,
wo N die Anzahl der Wörter
in einer Speicheranordnung ist. O(5N) bedeutet, daß die Prüfzeit auf
der Grundlage des March-Algorithmus 5N proportional ist. Wenn dieser
Speicherprüfalgorithmus
benutzt wird, arbeitet die Speicher-BIST-Steuereinrichtung gemäß der vorliegenden
Erfindung in der folgenden Weise:
- (a) Setzte
den entsprechenden Speicherwähler
auf den logischen Wert 1, was die Speicheranordnung, die geprüft oder
diagnostiziert werden soll, anschaltet.
- (b) Initialisiere den Datenerzeuger zu einem Alles-0-Zustand.
- (c) Schiebe Anfangsdaten ein und schreibe sie in alle Wörter in
der Speicheranordnung.
- (d) Für
jedes Wort in einer Aufwärtsanordnung
wiederhole die folgenden Arbeitsschritte 4x:
(i) lies die Inhalte
des gegenwärtig
adressierten Wortes aus. Schiebe die Inhalte vermittels der Speicherabtastkette
aus, zur gleichen Zeit schiebe neue Daten, die in die Speicheranordnung über die
Speicherabtastkette geschrieben werden sollen, ein und vergleiche
die Speicherinhalte mit erwarteten Ergebnissen um zu bestimmen,
ob ein Fehler vorliegt.
(ii) Schreibe die neu eingeschobenen
Daten in das gegenwärtig
adressierte Wort.
- (e) für
jedes Wort in Abwärtsreihenfolge
wiederhole den Schritt (d).
-
Um
es zusammenzufassen: die vorliegende Erfindung verwendet eine verbesserte
Speicherprüftechnik.
Ein Folgenerzeuger wird benutzt, eine Folge von Mustern zu erzeugen,
wo jegliche zwei Bits in der Folge von Mustern vier unterschiedliche
Zustände
enthalten: 00, 01, 10 und 11. Durch Einschreiben einer solchen Folge
von Mustern in eine Speicheranordnung kann sichergestellt werden,
daß jeglicher
Verbindungsfehler zwischen jeglichen zwei Bits in jedem Speicherwort
in der eingebetteten Speicheranordnung entdeckt und diagnostiziert
werden kann. Ein Johnson-Zähler
kann als ein solcher Folgenerzeuger benutzt werden. Im Grunde kann
durch Schreiben von 2n verschiedenen Inhalten aus einem Johnson-Zähler auf
jedes Speicherwort sichergestellt werden, daß jeder Verbindungsfehler zwischen
allen zwei Bits in jedem Speicherwort in der eingebeten Speicheranordnung
entdeckt oder diagnostiziert werden kann. Hier ist n die Breite
eines Speicherwortes. Die Hardwarekosten, die benötigt werden
um einen Johnson-Zähler
zu verwirklichen, sind gering. Außerdem werden anpaßbare Speicherprüfsteuereinrichtungen
im Speicher-BIST-Modus und im Speicher-Abtastmodus verwendet, was
es leichtmacht, verschiedene Testanforderungen zu erfüllen, indem
man an jeden bitweisen March-artigen Speicherselbstprüf- oder
Abtastprüf-Algorithmus
anpaßt.
Außerdem
wird ein flexibles Prüfzeitschema
benutzt, das auf der Verwendung von Speicherwählern gründet. Jede eingebettete Speicheranordnung
hat ihren eigenen Speicherwähler,
um anzuzeigen, ob die Speicheranordnung geprüft werden soll oder nicht.
Alle die Speicherwähler
werden in eine Abtastkette getan, durch die verschiedene Testzeitpläne leicht
verwirklicht werden können.
Dieses Schema macht es auch leicht, irgendeine einzelne eingebettete Speicheranordnung
zu diagnostizieren. Darüber
hinaus wird ein Speicherreparaturschema benutzt, auf der Grundlage
von Adressenneuabbildung eines Logikblockes, was alle fehlerhaften
Speicherbänke überspringen kann.
Dies wird die Lebensdauer einer eingebetteten Speicheranordnung
bei verminderter Speichergröße verlängern. Der
Logikblock zum Adressenneuabbilden ist programmierbar, was es möglich macht,
eine eingebettete Speicheranordnung in einer Integrierten Schaltung
zu retten, selbst wenn die Integrierte Schaltung in einem System
verwendet wird. Zuletzt wird ein Diagnoseschema verwendet, um BIST-Ergebnisse
und BIST-Fehlerbeseitigungsinformation wirksam nach außen zu bringen
durch Grenz-Abtastung. Dies verbessert die Diagnostizierbarkeit
einer Integrierten Schaltung mit einer bedeutenden Anzahl von eingebetteten
Speicheranordnungen sehr.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Der
obige und andere Gegenstände,
Vorteile und Merkmale der Erfindung werden ersichtlicher, wenn sie
mit der folgenden Beschreibung und den begleitenden Zeichnungen
in Betracht gezogen werden, worin:
-
1 ein
Beispiel einer BIST-Steuereinrichtung um einen 8 × 4-Speicher
gemäß der vorliegenden
Erfindung zu prüfen
oder diagnostizieren, zeigt;
-
2 ein
Beispiel eines Datenerzeugers, der einen Vier-Stufen-Folgenerzeuger
gemäß der vorliegenden
Erfindung aufweist, zeigt;
-
3 ein
Beispiel einer Folge von Mustern, die durch den Vier-Stufen-Folgenerzeuger
der 2 gemäß der vorliegenden
Erfindung erzeugt werden, zeigt;
-
4 ein
Beispiel eines Adressenerzeugers, der eine Adressenneuabbildungslogik
enthält,
um alle fehlerhaften Speicherbänke
auszuschalten und alle guten Speicherbänke auf einen Speicher mit
verminderter Größe gemäß der vorliegenden
Erfindung neu abzubilden, zeigt;
-
5 ein
Beispiel eines Speicherwählers,
der zwei D-Flipflops aufweist, um zwei Speicher unter Verwendung
von Speicher-BIST gemäß der vorliegenden
Erfindung zu prüfen
oder zu diagnostizieren, zeigt;
-
6 ein
Beispiel einer BIST-Zustandskette, die eine BIST-Ergebniskette und
eine BIST-Fehlerbeseitigungskette
gemäß der vorliegenden
Erfindung aufweist, zeigt;
-
7 ein
erstes Beispiel eines Abtastverbinders in einer hierarchischen Speicher-BIST-Steuereinrichtung
um eine Mehrzahl von Speichern unter Verwendung von zwei Speicher-BIST-Steuereinrichtungen
zu prüfen
oder zu diagnostizieren, zeigt;
-
8 ein
zweites Beispiel eines Abtastverbinders in einer hierarchischen
Speicher-BIST-Steuereinrichtung
um eine Mehrzahl von Speichern unter Verwendung von zwei Speicher-BIST-Steuereinrichtungen
zu prüfen
oder zu diagnostizieren, zeigt;
-
9 ein
O(5N)-March-Prüfverfahren
nach dem Stande der Technik und ein O(5N) angepaßtes bitweises March-Prüfverfahren
einer Ausführungsform
der vorliegenden Erfindung unter Verwendung von Speicher-BIST um
den Speicher der 1 zu prüfen oder zu diagnostizieren,
zeigt;
-
10 ein
Beispiel einer Speicherabtaststeuereinrichtung um einen 8 × 4-Speicher
gemäß der vorliegenden
Erfindung zu prüfen
oder zu diagnostizieren, zeigt;
-
11 ein
Beispiel einer Abtastzustandskette, die die Eingangsabtastkette
und die Ausgangsabtastkette gemäß der vorliegenden
Erfindung aufweist, zeigt;
-
12 zwei
Beispiele von Abtastverbindern in einer hierarchischen Speicherabtaststeuereinrichtung um
eine Mehrzahl von Speichern unter Verwendung zweier Speicherabtaststeuereinrichtung
zu prüfen
oder zu diagnostizieren, zeigt;
-
13 ein
O(5N)-March-Prüfverfahren
nach dem Stande der Technik und ein O(5N) angepaßtes bitweises March-Prüfverfahren
einer Ausführungsform
der vorliegenden Erfindung unter Verwendung von Speicherabtastung
um den Speicher der 10 zu prüfen oder zu diagnostizieren,
zeigt;
-
14 ein
Fließdiagramm
eines CAD-Systems zum Aufbau einer hierarchischen Speicher-BIST-Steuereinrichtung
gemäß der vorliegenden
Erfindung zeigt;
-
15 ein
Fließdiagramm
eines Speicher-BIST-Verfahrens um eine Mehrzahl von Speichern gemäß der vorliegenden
Erfindung zu prüfen
oder zu diagnostizieren, zeigt;
-
16 ein
Fließdiagramm
eines CAD-Systems zum Aufbauen einer hierarchischen Speicher-Abtaststeuereinrichtung
gemäß der vorliegenden
Erfindung zeigt;
-
17 ein
Fließdiagramm
eines Speicherabtastverfahrens um eine Mehrzahl von Speichern gemäß der vorliegenden
Erfindung zu prüfen
oder zu diagnostizieren, zeigt; und
-
18 ein
Beispiel eines Systems, in dem ein CAD-System um eine Mehrzahl von
Speichern gemäß der vorliegenden
Erfindung zu prüfen
oder zu diagnostizieren verwirklicht sein kann, zeigt.
-
INS EINZELNE GEHENDE BESCHREIUNG
DER ERFINDUNG
-
Die
folgende Beschreibung wird zur Zeit als die beste Art und Weise
der Ausführung
der vorliegenden Erfindung erwogen. Diese Beschreibung soll nicht
in einem beschränkendem
Sinne genommen werden, sondern wird nur zum Zwecke des Beschreibens
der Grundsätze
der Erfindung gemacht. Der Bereich der Erfindung sollte durch Bezug
auf die angehängten
Ansprüche
bestimmt werden.
-
1 zeigt
ein Beispiel einer Speicher-BIST-Steuereinrichtung um einen 8 × 4-Speicher
gemäß der vorliegenden
Erfindung zu prüfen
oder zu diagnostizieren. Die Speicher-BIST-Steuereinrichtung 101 weist
einen endlichen Automaten 103, einen Speicherwähler und
eine BIST-Zustandskette 104, einen Adressenerzeuger 105,
einen Datenerzeuger 106 und einen Vergleicher 107 auf.
Der endliche Automat 103 steuert die BIST-Arbeitsweise
für den
Speicher RAM_8 × 4 102.
Wenn der Speicherwähler 104 auf
den logischen Wert 1 gesetzt wird, führt der endliche Automat 103 den
BIST-Vorgang auf dem Speicher RAM_8 × 4 102 durch, indem
er den Adressenerzeuger 105, den Datenerzeuger 106 und
den Vergleicher 107 steuert. Auf die Vollendung des BIST-Vorgangs
hin oder wenn ein Fehler gefunden worden ist, können die Signalwerte, die in
der BIST-Zustandskette 104 gespeichert sind, durch Bist_status_out 118 zur
Speicherdiagnose ausgeschoben werden, wenn erforderlich. Das Taktsignal
CLK 109 wird durch den Entwerfer geliefert, um als der
BIST-Takt verwendet zu werden. Das Bist_mode-Signal 113 ist
das Signal um den BIST-Vorgang zu starten. Das Bist-scan-in-Signal 115 kann
als der gemeinsame Abtasteingang des Speicherwählers und der BIST- Zustandskette 104,
und des Datenerzeugers 106 verwendet werden. Das Bist_status_en-Signal 117 ist
das Auslösesignal
um den Speicherwähler
und die BIST-Zustandskette 104 zu verschieben. Die normalen
Adreßleitungen 108 gehen
in den Adressenerzeuger 105. Im Funktionsmodus werden normale
Adreßleitungen
an die Adresseneingänge
des Speichers-RAM_8 × 4 102 angeschlossen.
Die normalen Dateneingänge 114 gehen in
den Datenerzeuger 106. Im Funktionsmodus werden normale
Dateneingänge
an die Dateneingänge
des Speichers-RAM_8 × 4 102 angeschlossen.
Der normale CS 110, der normale RE 111 und der
normale WE 112 sind das Chip-Wählsignal (chip select signal)
bzw. das Lese-Steuersignal (read control signal) bzw. das Schreib-Steuersignal
(write control signal) des Speichers RAM_8 × 4 102.
-
2 zeigt
ein Beispiel eines Datenerzeugers der einen vierstufigen Folgenerzeuger
gemäß der vorliegenden
Erfindung aufweist.
-
Der
vierstufige Folgenerzeuger 201 beruht auf einem Johnsonzähler. Er
besteht aus 4 D-Flipflops, FF1 203 bis FF4 206,
6 Multiplexern 207 bis 212, einem UND-Gatter 214,
und einem Inverter 213. Wenn das Bist_mode-Signal 224 auf
den logischen Wert 0 gesetzt wird, wird der Folgenerzeuger 201 als
ein Schieberegister wirken. Als Ergebnis können erforderliche Anfangswerte
in den Folgeerzeuger 201 eingeschoben werden, bevor der
BIST-Vorgang gestartet wird. Wenn das Bist_mode-Signal 224 auf
den logischen Wert 1 gesetzt wird, und das Haltesignal 227 auf
den logischen Wert 0 gesetzt wird, wird der Folgenerzeuger 201 als
ein Johnson-Zähler
wirken. Als Ergebnis können
Prüfdaten,
die in eine Speicheranordnung geschrieben werden sollen, erzeugt
werden. Wenn sowohl das Bist-mode-Signal 224 und das Halten-Signal 227 auf
den logischen Wert 1 gesetzt werden, wird der Folgenerzeuger 201 seinen
Inhalt unverändert
halten, selbst wenn die D-Flipflops FF1 203 bis FF4 206 getriggert
werden.
-
Zusätzlich wird
ein Datenverbinder 202 verwendet, um die Ausgänge des
Folgenerzeugers 201 und die normalen Dateneingänge 228 an
die Dateneingänge
D[3] 232 bis D[0] 223 einer Speicheranordnung
zu verbinden. Wenn das Bist-mode-Signal 224 auf den logischen
Wert 1 gesetzt wird, werden normale Dateneingänge 228 an die Dateneingänge D[3] 229 bis
D[0] 232 einer Speicheranordnung angelegt. Wenn das Bist_mode-Signal 224 auf
den logischen Wert 1 gesetzt wird, dann werden die Ausgänge 219 bis 222 des
Folgenerzeugers an die Dateneingänge
D[3] 229 bis D[0] 232 einer Speicheranordnung
angelegt.
-
Darüber hinaus
verwendet der Multiplexer 213 das Bist mode-Signal 224 um
den Taktgeber zu bestimmen, der verwendet wird, um den Folgenerzeuger 201 anzutreiben.
Wenn der Bist_mode 224 auf den logischen Wert 0 gesetzt
wird, verwendet der Folgenerzeuger TCK 226. Wenn das Bist_mode-Signal 224 auf
den logischen Wert 1 gesetzt wird, verwendet der Folgenerzeuger
CLK 225.
-
3 zeigt
ein Beispiel einer Folge von Mustern, die durch den vierstufigen
Folgenerzeuger der 2 gemäß der vorliegenden Erfindung
erzeugt sind.
-
Die
Folge von Mustern 300 wird erzeugt durch zuerst Initialisieren
des vierstufigen Folgenerzeugers 201, der in 2 gezeigt
ist, mit einem Alles-0-Muster und dann Anlegen von acht Taktimpulsen.
Offensichtlich erscheint jede 2-Bit Logikwertkombination aus {00,
01, 10 und 11} an den Ausgängen
aller zweier D-Flipflops FF1 203 bis FF4 206,
die in 2 gezeigt sind. Dies bedeutet, daß, wenn
die Folge von Mustern in ein Speicherwort mit Breite 4 Bit als Prüfdaten geschrieben
wird, jeder Verbindungsfehler zwischen allen 2 Bits in jeglichem
Wort entdeckt werden wird.
-
4 zeigt
ein Beispiel eines Adressenerzeugers, der eine Adressenabbildungslogik
aufweist, um alle fehlerhaften Speicherbänke auszuschalten und alle
guten Speicherbänke
auf einen Speicher mit verminderter Größe gemäß der vorliegenden Erfindung
neu abzubilden.
-
4A zeigt den Aufbau eines Adressenerzeugers 105,
der einen Aufwärts-Abwärts-Zähler 401, einen Multiplexer 402 und
eine Adressen-Neuabbildungs-Logik 403 aufweist. Das Bist_mode-Signal 113 wird verwendet,
um den Aufwärts-Abwärts-Zähler 401 und
das Wählsignal
des Multiplexers 402 zu initialisieren. Wenn das Bist_mode-Signal 113 auf
den logischen Wert 0 gesetzt wird, wird der Ausgang des Multiplexers 402 aus
der normalen Adresse 108 kommen. Wenn das Bist_mode signal 113 auf
den logischen Wert 1 gesetzt wird, wird der Ausgang des Multiplexers 402 aus
dem Ausgang 404 des Aufwärts-Abwärts-Zählers 401 kommen.
Wenn das Zählsignal „count" 407 auf
den logischen Wert 1 gesetzt wird, wird der Aufwärts-Abwärts-Zähler 401 den Zählvorgang
durchführen;
sonst wird der Aufwärts-Abwärts-Zähler 401 seinen
Zustand halten. Wenn das Aufwärts-Abwärts-Signal
(up-down) 408 auf den logischen Wert 1 gesetzt wird, wird
der Aufwärts-Abwärts-Zähler 401 aufwärts zählen; sonst
wird der Aufwärts-Abwärts-Zähler 401 abwärts zählen. Die Adressen-Neuabbildungs- Logik 403 nimmt
den Ausgang 405 des Multiplexers 402 und bildet
ihn dann auf einen durch den Benutzer festgelegten Wert ab.
-
4B zeigt ein Beispiel der Adressenneuabbildung
(address re-mapping). Wie auf der Eingangsadressenseite angezeigt,
entsprechen die Bankadressen 000 und 100 zwei fehlerhaften Speicherbänken. Durch
die Adressen-Neuabbildungs-Logik 403 werden die Adressen
000 und 100 auf Bankadressen 111 bzw. 110 abgebildet. Bemerke, daß der effektive
Bankadressenraum nun von einem Bereich von 000 bis 111 auf einen
Bereich von 000 bis 101 vermindert ist.
-
5 zeigt
ein Beispiel eines Speicherwählers
der zwei D-Flipflops aufweist um zwei Speicher unter Verwendung
von Speicher-BIST gemäß der vorliegenden
Erfindung zu prüfen
oder zu diagnostizieren.
-
5 zeigt
ein Beispiel eines Speicherwählers 501 um
zwei Speicheranordnung M1 502 und M2 503 gemäß der vorliegenden
Erfindung zu prüfen.
Der Speicherwähler 501 weist
zwei D-Flipflops FF1 504 und FF2 505 auf, die
ein Schieberegister bilden. Wähl-Abtastung-Ein (select_scan_in) 508 ist
der Eingang des Schieberegisters. Das Select_scan_en-Signal 509 ist
das Freigabe (enable)-Signal des Schieberegisters. Der endliche
Automat 103 nimmt die Ausgänge 511 und 512 des
Speicherwählers 501 an
und erzeugt die Speichersteuersignale 513 und 514 um
die Speicheranordnungen M1 502 und M2 503 freizugeben
oder anzuhalten. Wenn sowohl FF1 504 als auch FF2 505 auf
den logischen Wert 1 gesetzt werden, wird der BIST-Vorgang an beiden
Speicheranordnungen M1 502 und M2 503 durchgeführt. Wenn
FF1 504 und FF2 505 auf den logischen Wert 1 bzw.
logischen Wert 0 gesetzt werden, wird der BIST-Vorgang nur auf dem
ersten Speicher M1 502 durchgeführt. Wenn FF1 504 als
auch FF2 505 auf den logischen Wert 0 bzw. logischen Wert
1 gesetzt werden, wird der BIST-Vorgang
nur auf dem zweiten Speicher M2 503 durchgeführt. Wenn
sowohl FF1 504 als auch FF2 505 auf den logischen
Wert 0 gesetzt werden, wird kein BIST-Vorgang durchgeführt auf
den Speicheranordnungen M1 502 und M2 503. Wähl-Abtast-Aus
(Select_scan_out) 510 kann fortgelassen werden, wenn es
keine andere Kette gibt, die nach dem Speicherwähler 501 angeschlossen
werden soll.
-
6 zeigt
ein Beispiel einer BIST-Zustandskette, die eine BIST-Ergebniskette
und eine BIST-Fehlerbeseitigungskette gemäß der vorliegenden Erfindung
aufweist.
-
Die
BIST-Ergebniskette 601 weist zwei D-Flipflops FF1 603 und
FF2 604 auf. Das ENDE-(finish)-Signal 613 kommt
aus dem endlichen Automaten 103 der Speicher-BIST-Steuereinrichtung 101 und
wird verwendet, um anzuzeigen, ob der BIST-Vorgang endet. Das Bestanden/Durchgefallen-Signal 614 zeigt
das Ergebnis des Prüfens
einer Speicheranordnung RAM_8 × 4 102 an.
Im Allgemeinen wird jede Speicheranordnung, die geprüft wird,
ein Bestanden/Durchgefallen-Signal haben. Das Ergebnis-Abtast-EN-Signal
(Result_scan_en) 616, das Ergebnis-Abtast-Ein-Signal (Result_scan_in) 615 und
das Ergebnis-Abtast-Aus-(Result_scan-out)-Signal 617 sind
das Auslösesignal,
der Eingang und der Ausgang der BIST-Ergebniskette 601 und
der BIST-Fehlerbeseitigungskette 602. Diese BIST-Ergebniskette 601 kann
unabhängig
oder Teil anderer Ketten sein.
-
Die
BIST-Fehlerbeseitungskette 602 weist eine Mehrzahl von
D-Flipflops FF3 607 bis FFn 609 auf. Das Fehlersignal 618 kommt
aus dem endlichen Automaten 103 der Speicher-BIST-Steuereinrichtung 101 und wird
benutzt, um anzuzeigen, ob ein Fehler gefunden worden ist. Das Fehleradressensignal 619 zeigt
an, daß eine
fehlerhafte Adresse gefunden worden ist. Das Fehlerdatensignal 620 zeigt
an, daß fehlerhafte
Daten gefunden worden sind. Die BIST-Fehlerbeseitigungskette 602 kann
unabhängig
oder Teil anderer Ketten sein.
-
7 zeigt
ein erstes Beispiel eines Abtastverbinders in einer hierarchischen
Speicher-BIST-Steuereinrichtung
um eine Mehrzahl von Speichern unter Verwendung von zwei Speicher-BIST-Steuereinrichtungen zu
prüfen
oder zu diagnostizieren.
-
Dieses
Beispiel zeigt zwei Speicher-BIST-Steuereinrichtungen MBC1 702 und
MBC2 703, deren Abtastketten an die Grenzabtastung (boundary
scan) durch den TDI 719 und den TDO 722 angeschlossen
sind. Die Abtastketten der Speicher-BIST-Steuereinrichtungen MBC1 702 und
MBC2 703 teilen den TDO 722 mit der Grenzabtastkette
BSC 701. Der Multiplexer 712 verwendet das Wähle-(select)-Signal 723 um
die Quelle für
den TDO 722 Ausgang zu wählen. Der Speicherwähler 706,
die BIST-Ergebniskette 704 und die BIST-Fehlerbeseitigungskette 705 in
der Speicher-BIST-Steuereinrichtung MBC1 702 und der Speicherwähler 710,
die BIST-Ergebniskette 708 und die BIST-Fehlerbeseitigungskette 709 in
der Speicher-BIST-Steuereinrichtung MBC2 703 sind in eine
einzige Abtastkette verbunden. Das scan_en-Signal 718 ist
das Freigabe- oder Auslösesignal
der Abtastkette. TCK 116 wird als der Taktgeber verwendet,
der verwendet wird um die Abtastkette und die Grenzabtastkette BSC 701 anzutreiben.
Der TDI 719 Eingang ist der gemeinsame Abtasteingang aller Ketten.
-
8 zeigt
ein zweites Beispiel eines Abtastverbinders in einer hierarchischen
Speicher-BIST-Steuereinrichtung
um eine Mehrzahl von Speichern unter Verwendung von zwei Speicher-BIST-Steuereinrichtungen
zu überprüfen oder
zu diagnostizieren.
-
Dieses
Beispiel zeigt zwei Speicher-BIST-Steuereinrichtungen MBC1 802 und
MBC2 803, deren Abtastketten mit der Grenzabtastung durch
den TDI 819 und TDO 823 verbunden sind. Die Abtastketten
der Speicher-BIST-Steuereinrichtungen MBC1 802 und MBC2 803 teilen
den TDO 823 mit der Grenzabtastkette BSC 801.
Der Multiplexer 812 wählt
das Wähle-(„select")-Signal 824 um
die Quelle für
den TDO 823-Ausgang zu wählen.
Die BIST-Ergebniskette 804 und
die BIST-Fehlerbeseitigungskette 809 in der Speicher-BIST-Steuereinrichtung
MBC1 802 und die BIST-Ergebniskette 808 und die
BIST-Fehlerbeseitigungskette 809 in
der Speicher-BIST-Steuereinrichtung MBC2 803 sind in eine
einzige Abtastkette verbunden. Das scan_en-Signal 818 ist
das Abtastauslösesignal
dieser Abtastkette. Der Speicherwähler 806 in der Speicher-BIST-Steuereinrichtung
MBC1 802 und der Speicherwähler 810 in der Speicher-BIST-Steuereinrichtung
MBC2 803 sind in eine andere Abtastkette verbunden. Das
ms_sel_en-Signal 820 ist das Abtastauslösesignal dieser Abtastkette.
Der TCK 116 wird als der Taktgeber verwendet, der verwendet
wird, diese zwei Abtastketten und die Grenzabtastkette BSC 801 anzutreiben.
Der TDI 819-Eingang ist der gemeinsame Abtasteingang aller Ketten.
-
9 zeigt
eine O(5N)-March-Prüfprozedur
nach dem Stand der Technik und eine O(5N) angepaßte bitweise March-Prüfprozedur
einer Ausführungsform
der vorliegenden Erfindung die Speicher-BIST verwendet, um den Speicher
der 1 zu prüfen
oder zu diagnostizieren.
-
9A zeigt eine O(5N)-March-Prüfprozedur
nach dem Stand der Technik um die Speicheranordnung RAM_8 × 4 102,
die in 1 gezeigt ist, zu prüfen. Leitungen 1 und 2 werden
verwendet, um die erste Speicheranordnung mit Alle-0-Hintergrunddaten
zu füllen.
Leitung 3 dient dazu, durch den Adressenwortraum von 0 bis 7 durchzuschalten.
Leitung 4 dient dazu, aus dem Speicherwort zu lesen und das Ergebnis
mit dem erwarteten Datenmuster zu vergleichen. Leitung 5 dient dazu,
das inverse Muster in das Speicherwort zu schreiben. Leitung 6 wird
dazu verwendet, durch den Adressenwortraum von 7 bis 0 zu schalten.
Leitung 7 dient dazu, aus dem Speicherwort zu lesen und das Ergebnis
mit dem erwarteten Datenmuster zu vergleichen. Leitung 8 dient dazu,
das inverse Muster in das Speicherwort zu schreiben.
-
9B zeigt eine O(5N)-angepaßte-bitweise-March-Prüfprozedur
unter Verwendung eines Folgenerzeugers auf der Grundlage eines Johnson-Zählers als
eines Datenerzeugers um die in 1 gezeigte
Speicheranordnung RAM_8 × 4 102 zu
prüfen.
Leitung 1 und 2 werden verwendet, um zuerst den Speicher mit anfänglichen
Hintergrunddaten zu füllen.
Leitung 3 dient dazu, durch den Adressenwortraum von 0 bis 7 zu schalten.
Leitung 4 dient dazu, durch die Bitbreite von 0 bis 3 zu schalten.
Leitung 5 dient dazu, aus dem Speicherwort zu lesen und das Ergebnis
mit dem erwarteten Datenmuster zu vergleichen. Leitung 6 dient dazu,
ein neues Muster in das Speicherwort zu schreiben. Leitung 7 wird
verwendet, um durch den Adressenwortspeicher von 7 bis 0 zu schalten.
Leitung 8 dient dazu, durch die Bitbreite von 0 bis 3 zu schalten.
Leitung 9 dient dazu, aus dem Speicherwort zu lesen und das Ergebnis
mit dem erwarteten Datenmustern zu vergleichen. Leitung 10 dient
dazu, ein neues Muster in das Speicherwort zu schreiben.
-
10 zeigt
ein Beispiel einer Speicherabtaststeuereinrichung um einen 8-mal-4-Speicher gemäß der vorliegenden
Erfindung zu prüfen
oder zu diagnostzieren.
-
Die
Speicherabtaststeuereinrichtung 1001 weist einen Speicherwähler 1002,
ein UND-Gatter 1003, eine
Eingangsabtastkette ISC (input scan chain) 1004, eine Augangsabtastkette
OSC (output scan chain) 1008 und eine Mehrzahl von Multiplexern 1006, 1007 und 1009 auf.
Der Speicherwähler 1002 ist
ein Schieberegister, dessen Eingang sel scan_in 1010 und
dessen Ausgang sel_scan out 1022 ist. Das Verschiebe-Freigabesignal
des Speicherwählers 1002 ist
sel_scan-en 1011. TCK 1012 ist der Taktgeber des
Speicherwähler 1002.
Die Speicheradresse und Daten können
durch die Eingangsabtastkette ISC 1004 eingeschoben werden. Wenn
scan_en 1020 auf den logischen Wert 1 gesetzt wird, können die
Speicheradresse und Daten in die Eingangsabtastkette ISC 1004 durch
den Abtastketteneingang scan_in 1021 eingeschoben werden.
Die Datenausgänge
des Speichers RAM_8 × 4 1005 können durch
die Ausgangsabtastkette OSC 1008 erfaßt werden. Wenn test_en 1013 auf
den logischen Wert 1 gesetzt wird, sind die Speicheradresse und
Daten des RAM_8 × 4 1005 von
ISC 1004; sonst sind die Speicheradresse und Daten von
RAM_8 × 4 1005 aus
normalen Adressen A[2:0] 1018 und Daten D[3:0] 1019.
Der Taktgeber GTCK 1024 von ISC 1004 und OSC 1008 sind
vom UND-Gatter 1003. Wenn der Speicherwähler 1002 gewählt wird,
wird sel_scan_out 1022 auf den logischen Wert 1 gesetzt
und GTCK 1024 wird das Gleiche wie TCK 1012; sonst
hat GTCK 1027 immer den logischen Wert 0, weil sel_scan_out 1022 auf
den logischen Wert 0 fest eingestellt ist.
-
11 zeigt
ein Beispiel einer Abtastzustandskette, die die Eingangsabtastkette
und die Ausgangsabtastkette gemäß der vorliegenden
Erfindung aufweist.
-
Die
Eingangsabtastkette ISO 1101 wird für die Adreßleitungen A[2:0] und die Dateneingänge D[3:0] wie
in 10 gezeigt eingefügt; während die Ausgangsabtastkette
OSC 1102 für
Datenausgänge
Q[3:0] eingefügt
ist. Diese zwei Abtastketten werden zusammen in eine Abtastzustandskette 1100 von
der Eingangsabtastkette ISC 1101 zur Ausgangsabtastkette
OSC 1102 zusammenverbunden. Die Abtastzustandskette 1100 hat
einen Abtasteingang scan_in 1117 und einen Abtastausgang
scan_out 1127. Sein Abtastfreigabesignal ist scan en 1118 und
sein Taktgeber ist TCK 1119. Offensichtlich können Speicheradressen,
Daten, die in ein Speicherwort geschrieben werden sollen und Daten,
die aus einem Speicherwort ausgelesen werden über diese Abtastkette übertragen
werden, um den Speicherabtasttest einer Speicheranordnung durchzuführen.
-
12 zeigt
zwei Beispiele von Abtastverbindern in einer hierarchischen Speicher-Abtaststeuereinrichtung
um eine Mehrzahl von Speichern unter Verwendung von zwei Speicher-Abtaststeuereinrichtungen
zu prüfen
oder zu diagnostizieren.
-
12A zeigt ein erstes Beispiel einer Abtastung 1200.
Speicher-Abtast-Steuereinrichtungen MSC1 1202 und MSC2 1203 enthalten
Speicherwähler
MS1 1204 und MS2 1209, UND-Gatter 1205 und 1210,
Eingangsabtastketten ISC1 1206 und ISC2 1211 und
Ausgangsabtastketten OSC1 1207 bzw. OSC2 1212.
Speicherabtaststeuergeräte
MSC1 1202 und MSC2 1203 werden verwendet, um eine
Speicherabtastprüfung
für die
Speicheranordnungen M1 1208 bzw. M2 1213 zu steuern.
Speicherwähler
MS1 1204 und MS2 1209 bilden eine Abtastkette
von TDI 1216 bis TDO 1220, die durch den Taktgeber
TCK 1217 betrieben wird. Das Abtastauslösesignal für diese Abtastkette ist scan_en 1215.
Zusätzlich
bilden ISC1 1206, OSC1 1207, ISC2 1211 und
OSC2 1212 auch eine Abtastkette von SDI 1218 bis
SDO 1222. Das Abtastauslösesignal für diese Abtastkette ist scan_mode 1219.
Die Verschiebeoperation von ISC1 1206 und OSC1 1207 wird
durch einen gattergesteuerten Taktgeber, der durch das Zusammenführen von
TCK 1217 und dem Ausgang des Speicherwählers MS1 1204 mit
einem UND-Gatter 1205 erzeugt wird, gesteuert. Als Ergebnis
können
ISC1 1206 und OSC1 1207 nur dann eine Verschiebeoperation
durchführen,
wenn Speicheranordnung M1 1208 für Prüfung oder Diagnose gewählt ist.
Gleicherweise wird die Verschiebeoperation von ISC2 1211 und
OSC2 1212 durch einen gattergesteuerten Taktgeber gesteuert,
der durch Zusammenführen
des TCK 1217 und des Ausganges des Speicherwählers MS2 1209 mit
einem UND-Gatter 1210 erzeugt wird. Als Ergebnis können ISC2 1211 und OSC2 1212 nur
dann eine Verschiebeoperation durchführen, wenn die Speicheranordnung
M2 1213 für
Prüfung
oder Diagnose gewählt
ist.
-
12B zeigt ein zweites Beispiel einer Abtastung 1250.
Speicher-Abtast-Steuergeräte
MSC1 1252 und MSC2 1253 enthalten Speicherwähler MS1 1254 und
MS2 1259, UND-Gatter 1255 und 1260, Eingangsabtastketten
ISC1 1256 und ISC2 1261 und Ausgangsabtastketten
OSC1 1257 bzw. OSC2 1262. Speicherabtaststeuergeräte MSC1 1252 und
MSC2 1253 werden verwendet, um eine Speicherabtastprüfung für die Speicheranordnungen
M1 1258 bzw. M2 1263 zu steuern. Speicherwähler MS1 1254 und
MS2 1259 bilden eine Abtastkette von TDI 1266 bis
TDO 1269, die durch den Taktgeber TCK 1267 betrieben
werden. Das Abtastauslösesignal
für diese
Abtastkette ist scan_en 1265. Zusätzlich bilden ISC1 1256,
OSC1 1257, ISC2 1261 und OSC2 1262 auch
eine Abtastkette von TDI 1266 bis TDO 1269. Das
Abtastauslösesignal
für diese
Abtastkette ist scan_mode 1268. Die Verschiebeoperation
von ISC1 1256 und OSC1 1257 wird durch einen gattergesteuerten
Taktgeber, der durch das Zusammenführen des TCK 1267 und
des Ausgangs des Speicherwählers
MS1 1254 mit einem UND-Gatter 1205 erzeugt wird,
gesteuert. Als Ergebnis können
ISC1 1256 und OSC1 1257 nur dann eine Verschiebeoperation
durchführen,
wenn Speicheranordnung M1 1258 für Prüfung oder Diagnose gewählt ist.
Gleicherweise wird die Verschiebeoperation von ISC2 1261 und
OSC2 1262 durch einen gattergesteuerten Taktgeber gesteuert,
der durch Zusammenführen
des TCK 1267 und des Ausganges des Speicherwählers MS2 1259 mit
einem UND-Gatter 1260 erzeugt wird. Als Ergebnis können ISC2 1261 und OSC2 1262 nur
dann eine Verschiebeoperation durchführen, wenn die Speicheranordnung
M2 1263 für
Prüfung
oder Diagnose gewählt
ist.
-
13 zeigt
einen O(5N)-Marchprüfvorgang
nach dem Stande der Technik und einen 0(5N) angepaßten bitweisen
Marchprüfvorgang
einer Ausführungsform
der vorliegenden Erfindung unter Verwendung von Speicherabtastung
um den Speicher der 10 zu prüfen oder zu diagnostizieren.
-
13A zeigt einen O(5N)-Marchprüfvorgang
nach dem Stande der Technik um die in 10 gezeigte
Speicheranordnung zu prüfen.
Am Anfang werden alle Wörter
in der Speicheranordnung mit Alle-0-Hintergrunddaten wie in Zeilen
1 bis 3 gezeigt gefüllt.
Dann wird ein Prüfdurchgang
auf jedem Speicherwort in einer ansteigenden Reihenfolge von Adresse
0 bis Adresse 7 wie auf Zeilen 4 bis 8 gezeigt durchgeführt. In
jedem Prüfdurchgang
wird das Speicherwort gelesen und ausgeschoben um mit dem erwarteten
Datenmuster zu vergleichen, wie auf Zeilen 5 und 6 gezeigt. Danach
wird das invertierte Datenmuster eingeschoben und auf das Wort wie
auf Zeilen 7 und 8 gezeigt geschrieben. Solch ein Prüfdurchgang
wird dann für
jedes Speicherwort in einer absteigenden Reihenfolge von Adresse
7 bis Adresse 0 wiederholt, wie auf Zeilen 9 bis 13 gezeigt.
-
13B zeigt einen O(5N)-angepaßten bitweisen
Marchprüfvorgang
um die in 10 gezeigte Speicheranordnung
zu prüfen.
Am Anfang werden alle Wörter
in der Speicheranordnung mit Alle-0-Hintergrunddaten wie auf Zeilen
1 bis 3 gezeigt gefüllt.
Dann wird ein Prüfdurchgang
auf jedem Speicherwort in einer ansteigenden Reihenfolge von Adresse
0 bis Adresse 7 wie auf Zeilen 4 bis 9 gezeigt durchgeführt. In
jedem Prüfdurchgang
wird die folgende Menge von Operationen auf jedem Speicherwort vier
Mal (der Anzahl von Bits in einem Speicherwort) wiederholt wie auf
Zeilen 5 bis 9 gezeigt: Zuerst wird das Speicherwort gelesen und
ausgeschoben um mit dem erwarteten Datenmuster zu vergleichen, wie
auf Zeilen 6 und 7 gezeigt. Danach wird ein neues Datenmuster eingeschoben
und auf das Wort geschrieben, wie auf Zeilen 8 und 9 gezeigt. Solch
ein Prüfdurchgang
wird dann für
jedes Speicherwort in einer absteigenden Reihenfolge von Adresse
7 bis Adresse 0 wiederholt, wie auf Zeilen 10 bis 15 gezeigt.
-
14 zeigt
ein Fließdiagramm
eines CAD-Systems zum Erzeugen einer hierarchischen Speicher-BIST-Steuereinrichtung
gemäß der vorliegenden
Erfindung. Das CAD-System nimmt Speicher-BIST-Beschränkungen 1401,
Speicherbeschreibungen 1402 und einen ausgewählten Speicher-Selbstprüfalgorithmus 1403 an.
Die Kompilierung 1404 wird durchgeführt um eine Entwurfsdatenbank 1405 zu
erzeugen, auf deren Grundlage eine hierarchische Speicher-BIST-Synthese
durchgeführt
wird, um den Speicher-BIST-Steuereinrichtungs-HDL-(hardware design
language)-Code 1408 sowie HDL-Prüfbänke und ATE-Prüfprogramme 1407 zu
erzeugen. Alle Berichte und Fehler werden in den Listendateien 1409 gespeichert.
-
15 zeigt
ein Fließdiagramm
eines Speicher-BIST-Verfahrens um eine Mehrzahl von Speichern gemäß der vorliegenden
Erfindung zu prüfen
oder zu diagnostizieren. Zuerst, in der Stufe der Speichergruppenwahl 1501,
wird eine Gruppe von Speicheranordnungen gewählt, auf der Grundlage von
Spitzenleistungsaufnahme, durchschnittlicher Energieabgabe und der
Prüfzeit.
Zweitens werden, in der Stufe der Speicher-BIST-Ausführung 1502,
die gewählten Speicheranordnungen
durch die Speicher-BIST-Technik geprüft oder diagnostiziert. Drittens,
in der Speicher. BIST-Zustandsanalyse 1503 wird Prüf- oder
Diagnosezustandsinformation analysiert um zu bestimmen, ob eine
Speicheranordnung fehlerhaft ist oder wo die fehlerhaften Wörter usw.
sich befinden. Dieser Vorgang wird wiederholt, bis alle Speichergruppen
geprüft
oder diagnostiziert worden sind.
-
16 zeigt
ein Fließdiagramm
eines CAD-Systems zu Synthese einer hierarchischen Speicherabtaststeuereinrichtung
gemäß der vorliegenden
Erfindung. Das CAD-System nimmt Speicher-Abtast-Beschränkungen 1601,
Speicherbeschreibungen 1602 und einen ausgewählten Speicher-Abtastprüfalgorithmus 1603 an.
Die Kompilierung 1604 wird durchgeführt um eine Entwurfsdatenbank 1605 zu
erzeugen, auf deren Grundlage eine hierarchische Speicher-Abtast-Synthese
durchgeführt
wird, um den Speicher-Abtast-Steuereinrichtungs-HDL-(hardware design
language)-Code 1608 sowie HDL-Prüfbänke und ATE-Prüfprogramme 1607 zu erzeugen.
Alle Berichte und Fehler werden in den Listendateien 1609 gespeichert.
-
17 zeigt
ein Fließdiagramm
eines Speicher-Abtast-Verfahrens um eine Mehrzahl von Speichern gemäß der vorliegenden
Erfindung zu prüfen
oder zu diagnostizieren. Zuerst, in der Stufe der Speichergruppenwahl 1701,
wird eine Gruppe von Speicheranordnungen gewählt, auf der Grundlage von
Spitzenleistungsaufnahme, durchschnittlicher Energieabgabe und Prüfzeit. Zweitens
werden, in der Stufe der Speicher-Abtast-Ausführung 1702, die gewählten Speicheranordnungen
durch die Speicher-Abtast-Technik geprüft oder diagnostiziert. Drittens,
in der Speicher. Abtast-Zustandsanalyse 1703 wird Prüf- oder
Diagnosezustandsinformation analysiert um zu bestimmen, ob eine
Speicheranordnung fehlerhaft ist oder wo die fehlerhaften Wörter usw.
sich befinden. Dieser Vorgang wird wiederholt, bis alle Speichergruppen
geprüft
oder diagnostiziert worden sind.
-
128 zeigt ein Beispiel eines Systems,
in dem ein CAD-System, das Speicher-BIST oder Speicherabtastung
zum Prüfen
oder Diagnostizieren einer Mehrzahl von Speicheranordnungen, gemäß der vorliegenden
Erfindung, verwendet, verwirklicht werden kann. Das System 1800 weist
einen Prozessor 1802, der mit einem Speicher 1801 zusammenarbeitet
um eine Menge von Speicher-BIST- oder Speicher-Abtast-Synthesesoftware
laufen zu lassen, auf. Der Prozessor 1802 kann eine Zentralverarbeitungseinheit
(CPU, central processing unit)) eines PCs, einer Workstation, eines
Großrechners
oder eines anderen geeigneten digitalen Verarbeitungsgerätes darstellen.
Der Speicher 1801 kann ein elektronischer Speicher oder
ein Speicher auf der Grundlage einer magnetischen oder optischen
Scheibe sein, oder verschiedene Kombinationen davon. Ein Entwurfsgerät (designer)
wirkt mit der Speicher-BIST- oder der Speicher-Abtast-Synthesesoftware
zusammen, die durch den Prozessor 1802 laufen gelassen
wird, um passende Eingänge über eine
Eingabevorrichtung, die eine Tastatur, ein Plattenlaufwerk oder
andere geeignete Quelle von Entwurfsinformation sein kann, zu liefern.
Der Prozessor 1802 liefert Ausgänge an das Entwurfsgerät über eine
Ausgabevorrichtung 1804, die eine Anzeige, ein Drucker,
ein Plattenlaufwerk oder verschiedene Kombinationen dieser und anderer
Elemente sein kann. Nachdem somit gegenwärtig bevorzugte Ausführungsformen
der vorliegenden Erfindung beschrieben worden sind, kann nun gewürdigt werden,
daß die
Ziele der Erfindung vollständig
erreicht worden sind. Und es wird durch den Fachmann verstanden
werden, daß viele Änderungen
im Aufbau und der Schaltung, und sich weithin unterscheidende Ausführungsformen
und Anwendungen der Erfindung sich aufdrängen ohne den Bereich der Erfindung
zu verlassen. Die Offenbarung und die Beschreibung hierin sollen
erläuternd
sein und sind nicht in irgendeinem Sinne Beschränkung der Erfindung, die bevorzugter
durch die folgenden Ansprüche
in ihrem Bereich umrissen ist.