DE3886038T2 - Speichergerät, das einen zur Ausführung einer Selbstprüfung adaptierten statischen RAM-Speicher enthält und integrierte Schaltung, die als eingebauten statischen RAM-Speicher ein solches Gerät enthält. - Google Patents
Speichergerät, das einen zur Ausführung einer Selbstprüfung adaptierten statischen RAM-Speicher enthält und integrierte Schaltung, die als eingebauten statischen RAM-Speicher ein solches Gerät enthält.Info
- Publication number
- DE3886038T2 DE3886038T2 DE3886038T DE3886038T DE3886038T2 DE 3886038 T2 DE3886038 T2 DE 3886038T2 DE 3886038 T DE3886038 T DE 3886038T DE 3886038 T DE3886038 T DE 3886038T DE 3886038 T2 DE3886038 T2 DE 3886038T2
- Authority
- DE
- Germany
- Prior art keywords
- data
- test
- memory
- register
- address
- 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
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 102
- 230000015654 memory Effects 0.000 title claims abstract description 81
- 230000003068 static effect Effects 0.000 title claims abstract description 6
- 238000004891 communication Methods 0.000 claims abstract description 5
- 230000007246 mechanism Effects 0.000 claims description 3
- 230000003213 activating effect Effects 0.000 claims description 2
- 238000012545 processing Methods 0.000 claims description 2
- 238000006243 chemical reaction Methods 0.000 claims 3
- 230000006870 function Effects 0.000 abstract description 5
- 230000001360 synchronised effect Effects 0.000 abstract description 4
- 238000000034 method Methods 0.000 description 7
- 230000007704 transition Effects 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000014759 maintenance of location Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000014616 translation Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 229930091051 Arenine Natural products 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C19/00—Digital stores in which the information is moved stepwise, e.g. shift registers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
- G11C29/20—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits using counters or linear-feedback shift registers [LFSR]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/40—Response verification devices using compression techniques
Landscapes
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Tests Of Electronic Circuits (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Dram (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Description
- Die Erfindung betrifft eine Speicheranordnung, die einen wortorientierten statischen RAM-Speicher enthält, und daran angeschlossen
- - ein Adreßregister,
- - ein Dateneingangsregister mit aufeinanderfolgenden Bitpositionen und
- - ein Steuerregister,
- wobei alle diese Register extern zugängliche funktionelle Verbindungen für die Kommunikation von Informationen haben und wobei ein erstes Steuermittel vorgesehen ist, um den genannten Speicher wahlweise in einem Betriebszustand oder in einem Selbstprüfungs-Zustand zu aktivieren; wobei im genannten Betriebszustand das genannte Adreßregister und das genannte Dateneingangsregister wirksam mit dem Speicher verbunden sind, und wobei im genannten Selbstprüfungs-Zustand das genannte Adreßregister, das genannte Dateneingangsregister und das genannte Steuerregister wirksam sind, um bei Abwesenheit jeglicher Informationskommunikation über einen Informationseingang der Speicheranordnung aufeinanderfolgende Datentestmuster und Adressenprüfmuster zum Schreiben in den Speicher zu bilden.
- Eine solche Speicheranordnung ist aus einer Publikation von S.K. Jain et al. mit dem Titel "Built in self testing of embedded memories" in IEEE Design and Test of Computers Vol. 3, Nr. 5, Oktober 1986, Seite 27 - 37, bekannt.
- Bei einer Speicheranordnung lassen sich folgende Fehler unterscheiden:
- Eine Speicherzelle wird als "hängengeblieben" (stuck-at) bezeichnet, wenn der Logikwert der Zelle nicht durch eine Einwirkung auf die Zelle oder durch den Einfluß von anderen Zellen geändert werden kann. Eine Zelle wird als "hängengeblieben auf 0 oder 1" (stuck-at-0(1)) bezeichnet, wenn ihr gelesener Wert immer 0 bzw. 1 ist.
- Eine Speicherzelle wird als "offengeblieben" (stuck-open) bezeichnet, wenn kein Zugriff auf die Zelle möglich ist. Die Ursache eines "Stuck-open"-Fehlers besteht darin, daß die Durchgangstransistoren der Zelle immer geöffnet sind.
- Eine Zelle mit einem Übergangsfehler ist nicht in der Lage, von 0 auf 1 oder von 1 auf 0 überzugehen.
- Eine Speicherzelle i wird als zustandsgekoppelt mit einer anderen Speicherzelle j bezeichnet, wenn sich die Zelle i nur dann wie "hängengeblieben" auf einem bestimmten Wert x(xE{0,1}) benimmt, wenn sich Zelle j in einem bestimmten Zustand y(yE{0,1}) befindet. Mit anderen Worten: Wenn sich Zelle j in einem definierten Zustand befindet, ist der Zustand von Zelle i definiert und kann gelesen werden, aber nicht mit einem Schreibvorgang geändert werden. Das bedeutet nicht, daß Zelle j ebenfalls zustandsgekoppelt mit Zelle i ist.
- Eine Speicherzelle i wird als übergangsgekoppelt mit Zelle j bezeichnet, wenn ein Ubergang xT (xE{0,1}) einen Übergang yT (yE{0,1}) der Zelle i erzwingt. Dies braucht nicht zu bedeuten, daß Zelle j ebenfalls übergangsgekoppelt ist mit Zelle i.
- Die Übertragung von elektrischen/elektronischen Fehlern auf die obigen funktionellen Fehler hängt von der Schaltungsimplementierung ab und wird nicht weiter betrachtet.
- Die Speicheranordnung muß auf solche Fehler geprüft werden. Üblicherweise erfolgt diese Prüfung, indem ein festgelegtes Datenmuster an eine festgelegte Adresse geschrieben wird. Zu einem späteren Zeitpunkt werden die Daten wieder ausgelesen. Die eigentliche Prüfung besteht aus dem Vergleich der ausgelesenen Datenmuster mit den Daten, die an diesen Speicherplatz geschrieben werden sollten. Wenn beim Vergleich eine ausreichende Anzahl Übereinstimmungen gefunden wurde, wird der Speicher als in Ordnung betrachtet. Die Prüfung einer solchen Speicheranordnung als eingebauter Speicher wurde in der Literatur beschrieben. Die folgende Publikation wird als relevante Technik angeführt: Z. Sun et al., Self-testing of embed-25 ded RAM's, IEEE 1984 International Test Conference Proeeedings, Proceedings Seite 148 - 156, Abhandlung 4.3. Aus dem Stand der Technik ist bekannt, daß zwei Datenmuster für die Prüfung verwendet werden. Dies hat den Nachteil, daß nicht alle Kopplungsfehler zwischen Zellen an der gleichen Adresse erkannt werden.
- Unter anderem hat die vorliegende Erfindung zur Aufgabe, eine Speicheranordnung entsprechend der Einleitung zu schaffen, die sowohl für den eingebauten als auch für den eigenständigen Betrieb angepaßt ist und eine Selbstprüfung durchführt, deren Prüfungseinrichtungen sich für eine einfache Parametrierung eignen, wobei die Anzahl der Testmuster und damit die erforderliche Prüfungszeit begrenzt sind, und die nach der Initialisierung der Prüfung unabhängig weitere Prüfoperationen durchführen kann.
- Insbesondere soll die Selbstprüfung Kopplungsfehler zwischen Zellen an der gleichen Adresse erkennen. Zu diesem Zweck sind mehrere, als Daten-Hintergründe bezeichnete Testmuster während der Speicherprüfung erforderlich.
- Einige andere Aufgaben der Erfindung sind:
- 1. Der Prüfalgorithmus der Selbstprüfungs-Vorrichtung muß über hervorragende Möglichkeiten zur Fehlererkennung verfügen.
- 2. Die Struktur der Selbstprüfungs-Vorrichtung ist unabhängig von der Adressen- und Datenverwürfelung.
- 3. Die Selbstprüfungs-Vorrichtung erzeugt Daten-Hintergründe auf dem Chip und eignet sich daher sowohl für bitorientierte als auch für wortorientierte SRAMs.
- 4. Sie bietet die Möglichkeit zur Prüfung der Daten-Erhaltung.
- 5. Sie eignet sich sowohl für eingebaute SRAMs als auch für eigenständige SRAMs und paßt ausgezeichnet in eine Boundary-Scan-Umgebung. Eine solche Umgebung wurde insbesondere offengelegt in der niederländischen Patentanmeldung 8502476, den US- Patentschriften Nr. 4.879.717 und Nr. 4.791.358, die durch Nennung als hierin aufgenommen betrachtet werden. Außerdem ist eine Scan-Prüfung der Selbstprüfungs-Logik durchführbar.
- 6. Aufgrund der regelmäßigen und symmetrischen Struktur des Prüfalgorithmus werden die Gemeinkosten für den Speicher gering gehalten (3% für einen synchronen 16K- SRAM).
- Erfindungsgemäß ist die Speicheranordnung dadurch gekennzeichnet, daß für das genannte Dateneingangsregister ein Voreinstell-Mechanismus vorgesehen ist, um im letztgenannten Register ein anfängliches Datentestmuster zu erzeugen, das eine maximale Anzahl 1-0-Differenzen zwischen den aufeinanderfolgenden Bitpositionen hat, wobei das Dateneingangsregister mit einem zweiten Steuermittel versehen ist, um aus dem genannten Datentestmuster weitere nachfolgende Datentestmuster zu erzeugen, und wobei das zweite Steuermittel so angeordnet ist, daß die Bits von der ersten Hälfte des Datentestmusters jeweils auf zwei Bits in einem nächstfolgenden Testmuster projiziert werden. Die projizierten Muster können weniger (1-0)-Differenzen zwischen den aufeinanderfolgenden Bitpositionen haben. Weitere Wiederholungen führen schließlich zu einem Bitmuster mit einem gleichförmigen Bitwert. Für n Bits sind insgesamt ²log n+1 Muster erforderlich, was eine vorteilhaft niedrige Anzahl ist.
- Vorzugsweise stellen alle genannten Register jeweils Teile einer seriell aktivierbaren Prüf-Scan-Kette dar, die einen seriellen Eingang zum Empfangen der Voreinstell-Informationen und einen seriellen Ausgang zum Ausgeben eines Signaturmusters hat, wobei das erste Steuermittel vorgesehen ist, um den genannten Speicher abwechselnd in einem Scan-Zustand, im Betriebszustand oder im Selbstprüfungs- Zustand zu aktivieren; im genannten Scan-Zustand sind alle Register gekoppelt, um ein serielles Schieberegister in der genannten Scan-Kette zu bilden. Auf diese Weise paßt der Speicher in eine Boundary-Scan-Umgebung.
- In einer Ausführungsform der erfindungsgemäßen Speicheranordnung sind im genannten Selbstprüfungs-Zustand das genannte Adreßregister, das genannte Dateneingangsregister und das genannte Steuerregister wirksam, um die anfänglichen Datentestmuster und die nachfolgenden weiteren Datenmuster jeweils in alle Wort- Speicherplätze im Speicher einzuschreiben. Diese Selbstsequenz macht eine kontinuierliche Steuerung auf einem höheren Organisationsniveau überflüssig. Die vorläufige Signatur wird jedesmal in einer "latch"-artigen Organisation festgehalten, was eine vorteilhafte synchrone Organisation darstellt. Vorteilhaft ist auch, daß die Prüfungs- Steuerungseinrichtungen und der Speicher selbst direkt einer Scan-Prüfung unterzogen werden können. Obwohl die Wahrscheinlichkeit einer fehlerhaften Steuerung an sich gering ist (aufgrund der relativ kleinen Fläche), ermöglichen diese Einrichtungen eine schnelle Prüfung des spezifischen Steuermittels sowie eine schnelle Prüfung von vorgegebenen Teilen der Speicheranordnung. Vorteilhafterweise enthält der Speicher zusätzlich zu seinem Adreßzähler einen Wartezähler, um selbständig eine Wartezeit für die Datenhalteprüfung herunterzuzahlen. Statische RAMs müssen eine angemessene Datenhaltezeit haben. Durch die Prüfung der Haltezeit wird die erwartete Zuverlässigkeit der Speicheranordnung daher erhöht. Vorteilhafterweise wird die Steuerung durch eine Vorrichtung mit finitem Zustand durchgeführt. Die Realisierung dieser Vorrichtung durch ROM, programmierbares Logik-Array, "wild logic" oder ein anderes Mittel ist, wie noch gezeigt wird, mit einer unerwartet geringen Anzahl von Logiksteuerungs-Ausdrücken möglich. Vorteilhafterweise kann der Speicher bei N verschiedenen Adressen nach einer 9N- oder nach einer 13N-Adressen-Prüfsequenz-Methode geprüft werden. Dies stellt eine relativ geringe Anzahl von Zugriffen auf jeden Speicherplatz dar, die außerdem nur in der Anzahl der Speicherplätze linear ist.
- Die Erfindung betrifft auch eine integrierte Schaltung mit einer prüfbaren Speicheranordnung entsprechend der obigen Beschreibung, die im genannten Betriebszustand wirksam mit mindestens einem weitere Datenverarbeitungs-Subsystem auf der integrierten Schaltung verbunden ist. Die Prüfbarkeit des jetzt eingebauten RAM- Speichers erhöht die Zuverlässigkeit der Gesamtschaltung wesentlich.
- Die Erfindung wird im folgenden in bezug auf die beigefügten Zeichnungen näher beschrieben. Es zeigen:
- Figur 1 einen 13N-Prüfalgorithmus mit Datenhalteprüfung;
- Figur 2 Daten-Hintergründe für die Prüfung eines 16 Bit breiten SRAMs,
- Figur 3 eine globale Architektur einer erfindungsgemäßen Speicheranordnung;
- Figur 4 eine modifizierte Registerzelle für die Verwendung in Figur 3;
- Figur 5 eine weitere Abwandlung für einen eigenständigen RAM-Speicher;
- Figur 6 ein Zustandsdiagramm für eine Selbstprüfüngs-Steueranordnung;
- Figur 7 eine Tabelle der verschiedenen Betriebsarten der Steueranordnung;
- Figur 8 eine exemplarische Schaltungsrealisierung der Selbstprüfungs- Steueranordnung;
- Figur 9 eine exemplarische Schaltungsrealisierung des parametrierbaren Datengenerators;
- Figur 10a, 10b, 10c, 10d eine exemplarische Schaltungsrealisierung eines Acht-Bit-Adressengenerator-Zählers und eines zusätzlichen Drei-Bit-Wartezählers sowie speziell abgeänderte Registerzellen für die Verwendung darin;
- Figur 11 eine exemplarische Schaltungsrealisierung eines Acht-Bit- Signaturgenerators;
- Figur 11a eine modifizierte Registerzelle hierfür.
- Figur 1 zeigt einen 13N-Prüfalgorithmus mit Datenhalteprüfung. N ist die Anzahl der Adressen 0 ... N-1 in der ersten Spalte. Die zweite Spalte gibt die Initialisierung an, wobei alle Adressen nacheinander mit 0 beschrieben werden. Die Adressensequenz erfolgt durch Inkrementieren der Adressen jeweils um +1. Auf ähnliche Weise haben die dritte und die vierte Spalte ansteigende Adressen. Die fünfte und sechste Spalte hingegen haben absteigende Adressen, die um -1 inkrementiert werden.
- Diese Prüfung basiert auf einem realistischen Fehlermodell einschließlich "Stuck-at"-Fehlern, "Stuck-open"-Fehlern, Übergangsfehlern, Kopplungsfehlern und Datenhaltefehlern. In den Figuren wird eine RAM-SCHREIB-Anweisung mit Wr (Write) bezeichnet und eine LESE-Anweisung mit Rd (Read). Die Orientierung der Daten ist in Klammern angegeben. Die RAM-Adresse, bei der die Anweisung ausgeführt wird, ist in der ersten Spalte der Figur angegeben. Die erforderliche Wartezeit für die Datenhalteprüfung hängt weitgehend vom Entwurf ab. In unserem Entwurf verwenden wir als Beispiel 50 ms. Ein bitorientierter SRAM wird mit diesem Prüfalgorithmus eingehend geprüft. Bei der Prüfung eines wortorientierten SRAM muß jedoch jede Adresse mit einem kompletten Wort beschrieben und von dort gelesen werden. Um Kopplungsfehler zwischen Zellen an der gleichen Adresse zu erkennen, sind bei der Speicherprüfung mehrere Datenworte, die als Daten-Hintergründe bezeichnet werden, erforderlich.
- Figur 2 zeigt Daten-Hintergründe für einen 16 Bit breiten RAM-Speicher. Im ersten Daten-Hintergrund befindet sich ein 0-1-Übergang zwischen jedem Paar aufeinanderfolgender Bitpositionen. Die Umsetung in die nächsten vier Daten-Hintergründe erfolgt folgendermaßen: Für die Bitpositionen 0... i ... n-1 wird Bit i in die Bitpositionen 2i und (2i-1) für den nächsten Daten-Hintergrund kopiert. Bei 16 Bits wird nach vier erfolgreichen Umsetzungen ein Hintergrund erreicht, bei dem nur Nullen vorliegen. Die untere Hälfte der Figur zeigt Daten-Hintergründe, die in bezug auf einen entsprechenden Daten-Hintergrund in der oberen Hälfte bitweise invertiert sind. Allgemeiner ausgedrückt, das Kopieren oder Projizieren in der oberen Hälfte kann auf verschiedene Weise erfolgen, indem die Hälfte der Bits jeweils auf zwei Bitpositionen projiziert wird. Bei bestimmten Einstellungen kann das Kopieren mit einer Invertierung erfolgen. Das oben gezeigte Schema scheint sich sehr leicht implementieren zu lassen.
- Eine komplette Selbstprüfung für einen wortorientierten SRAM läuft folgendermaßen ab: Zuerst wird der 13N-Prüfalgorithmus mit dem ersten Daten- Hintergrund ausgeführt, dann mit dem zweiten Daten-Hintergrund usw. Zum Schluß werden sowohl der 13N-Prüfalgorithmus als auch die Datenhalteprüfung mit dem letzten Daten-Hintergrund ausgeführt.
- Die Datenhalteprüfung impliziert zwei Warte-Intervalle sowohl in der siebten als auch in der neunten Spalte. Während dieser Intervalle wird der Speicher deaktiviert und der Dateninhalt muß daher unverändert bleiben. Die Methode kann schneller gemacht werden, indem die Funktion Sofortiges-Lesen-nach-dem-Schreiben (direct-read-after-write) nicht benutzt wird. Hierdurch wird die Methode auf ein 9N- Verfahren reduziert. Die Muster der zweiten Hälfte von Figur 2 werden, wie im folgenden gezeigt wird, durch Invertierung realisiert. Die Invertierung findet vor der Umsetzung statt. Die Halteprüfung wird nur für zwei Hintergrunde durchgeführt: Muster mit ausschließlich Nullen und Muster mit ausschließlich Einsen.
- Figur 3 zeigt eine globale Architektur einer erfindungsgemäßen Speicheranordnung. Die Speichermatrix enthält Speicherzellen in einem Reihen- und Spalten- Array, die herkömmliche Schaltungen beinhalten können. Ein Adreßeingang 22 wird durch das Adreßregister 24 versorgt, das über den externen Adreßpfad 26 Adressen von einer nicht dargestellten Quelle empfangen kann. Ein Dateneingang 28 wird durch ein Datenregister 30 versorgt, das über den externen Datenpfad 32 Daten von einer nicht dargestellten Datenquelle empfangen kann. Ein externer Datenausgang 34 ist parallel zum Datenausgangsregister 36 angeordnet. Ein Steuerregister 38 erhält externe Steuersignale (Read, Write, Chip-select u.ä.) auf dem externen Pfad 40 und gibt auf den Leitungen 41 Steuersignale für die Matrix aus. Ein Selbstprüfungs-Steuergerät 42 enthält ein Registerzellen-Mittel 68 und kommuniziert über die Steuersignalleitungen 44, 46, 50, 54 mit verschiedenen anderen Subsystemen. Der abgebildete SRAM kann einen internen Teil einer komplizierten integrierten Schaltung, zum Beispiel eines Mikroprozessors, eines Modems oder eines speziellen Gerätes darstellen, für den/das er als eingebauter Speicher fungiert. Ein solches Gerät kann ein Rechenwerk (arithmetic and logic unit, ALU), einen Multiplizierer, einen "barrel shifter", "wild logic", ein programmierbares Logik-Array, Register, Eingabe-/Ausgabe-Schaltungen, AD-DA-Umsetzer,- Bus-Organisationen und anderes enthalten. Diese können den Speicher mit Adreß-, Daten- und Steuersignalen versorgen und Daten vom Speicher erhalten. Alternativ kann PHNI2.624EP 8 nur eine Auswahl dieser Funktionen vorhanden sein, wenn die verbleibenden Daten- /Adreß- und Steuerverbindungen direkt mit den zugehöhren Bond-Pads des Chips verbunden sind. Insoweit diese Subsysteme selbst in herkömmlicher Technologie aufgebaut sind, wird keine weitere Offenbarung als notwendig erachtet. Auf der anderen Seite kann der dargestellte Speicher ein eigenständiger Speicher sein, wenn die externen Verbindungen direkt zu den zugehörigen Bond-Pads führen.
- Für die Prüfung von Objekten wurden folgende Elemente vorgesehen: Es wird eine serielle Scan-Kette nach einem bekannten Prinzip gebildet, die die schraffiert dargestellten Elemente enthält. Die verbindende Scan-Leitung umfaßt Eingang 62, die Verbindungsstrecken 52, 48, 31, 39 und den seriellen Ausgang 64. Alle auf diese Weise verbundenen Register können als ein serielles Schieberegister unter der Steuerung der Steuersignale C1, C2 auf Leitung 58 gesteuert werden, die im nachfolgenden erörtert werden. Eingang 62 und Ausgang 64 können mit einer nicht abgebildeten Host-Vorrichtung gekoppelt werden. Der Host kann außerdem die Leitungen 58 mit geeigneten Steuersignalen ansteuern. Das Dateneingangsregister 30 wurde mit einem Datenerzeugungs-Mechanismus zum Modifizieren der Datenmuster versehen; es tauscht Steuersignale mit dem Steuerungs-Subsystem 42 aus. Das Adreßregister 24 hat zusätzliche Einrichtungen 72, um einen Zähler zu bilden. Register 66 hat auf entsprechende Weise die Einrichtungen 77, um einen Wartezähler für die Ausführung der Datenhalteprüfung zu bilden. Die Einrichtungen 72, 77 tauschen über Leitung 50 Steuersignale mit dem Steuerungs-Subsystem 42 aus. Das Datenausgangsregister 36 hat Einrichtungen zum Erzeugen eines Signaturmusters aus einer Folge von aufeinanderfolgenden Datenergebnismustern. Das Signaturmuster kann über Leitung 64 weitergeleitet werden. Die letztgenannten Einrichtungen erhalten Steuersignale über Leitung 54. Schließlich kann das Steuerungs-Subsystem 42 die Steuersignale auf Leitung 44 übertragen, um die prüfungsbezogenen Betriebsarten zu steuern.
- Figur 4 zeigt eine modifizierte Registerzelle für die Verwendung in der Schaltung aus Figur 3. Die Registerzelle enthält einen Speicherteil 92 und einen Eingangs-Multiplexer 90, der zwei Steuersignale C1, C2 erhält. Die Funktion dieser Steuersignale ist in der zugehörigen Tabelle dargestellt: bei C1 = C2 = 0 ist der normale Eingang N aktiviert. Wenn C1 = 0, C2 = 1, ist der Selbstprüfungseingang T aktiviert. Wenn C1 = 1 und C2 "don't care'" ist, ist der Scan-Eingang S aktiviert. Der Speicherteil 92 wird durch einen Takt CLK aktiviert. Das Ausgangssignal vom Speicherteil kann für den normalen Ausgang, den Scan-Ausgang oder, falls erforderlich, für den Selbstprüfungs-Ausgang verwendet werden. "Normal" impliziert den standardmäßigen Speicherbetrieb. "Scan" impliziert, daß die Registerzelle ein Teil eines Schieberegisters aus Registerzellen ist. "Test" wird im folgenden näher beschrieben. Wenn die "Test"-Einrichtung nicht erforderlich ist, brauchen die zugehörigen Anschlüsse nicht vorhanden zu sein.
- Figur 5 zeigt eine weitere Abwandlung einer Registerzelle für die Verwendung in einem eigenständigen Speicher. In diesem Fall wurden zwei Multiplexer 94, 96 vorgesehen. Der erste ist eine reduzierte Ausführung des Multiplexers 90 aus Figur 4, der zweite wird nur verwendet, um zwischen "Normal"- und "Nicht-normal"- Situationen zu unterscheiden. Bei normaler Situation erfolgt keine Speicherung. Die Signale "test-out" und "scan-out" stehen am Ausgang der Speicherzelle an.
- In dieser Hinsicht zeigt Figur 7 die Folge der Betriebsarten des Steuergerätes. Zuerst, bei C1 = C2 = 0, wird der RAM-Speicher in normalem Modus betrieben. Anschließend werden bei C1 = C2 = 1 alle Register initialisiert. Nachdem C2 auf 0 gesetzt wurde, läuft die Selbstprüfung ab, bis sie nach der Beendung unabhängig stoppt. Dann wird C2 wieder auf 1 gesetzt und die Prüfungsergebnisse einschließlich des Signaturmusters können seriell ausgegeben werden. Schließlich werden beide Steuersignale auf Null gesetzt und die Schaltung steht wieder für den normalen Betrieb zur Verfügung.
- Figur 6 zeigt das Zustandsdiagramm eines Selbstprüfungs-Steuergerätes für die Ausführung der 13N-Prüfung aus Figur 1. Die regelmäßige Struktur der Prüfmethode führt zu einem Zustandsdiagramm von geringer Komplexität und damit zu einem Selbstprüfungs-Steuergerät mit geringer Komplexität.
- Jeder Zustand ist mit einem Kreis markiert. Der erste Zustand S0 führt die zweite Spalte von Figur 1 aus und befindet sich daher in einer Endlosschleife, wobei jedesmal die nächste Adresse (Spalte 6) generiert wird. Der Daten-Hintergrund bleibt unverändert (Spalte 9), die Adressenreihenfolge wird nicht invertiert (Spalte 8), die Daten werden nicht invertiert (Spalte 7) und die letzte Adresse wurde nicht erreicht (Spalte 6). Wenn die letzte Adresse erreicht wird, geht das System (siehe Spalte 7) in den nächsten Zustand S1 über. Die Daten werden invertiert (Spalte 7), die Adresse wird inkrementiert, so daß wieder die erste Adresse erreicht wird. Anschließend wird die vorliegende Adresse ausgelesen (Zustand S1), mit den neuen Daten beschrieben (Zustand S2) und erneut ausgelesen (Zustand S3). Danach kehrt das System zum Zustand S1 zurück, geht ohne Änderung zur nächsten Adresse (Zeile 3, Spalte 6) über und der Zyklus wird wiederholt (S1, S2, S3). Wenn die letzte Adresse gefunden ist (Zeile 4, Spalte 5), werden die Daten invertiert (Spalte 4), die Adresse wird inkrementiert (Spalte 6) und der gesamte Adreßbereich wird erneut durchlaufen. Dieser Vorgang entspricht der Ausführung der vierten Spalte von Figur 1. Nach der Abarbeitung aller Adressen wird die fünfte Reihe erreicht. Hier werden die Daten invertiert (Spalte 7), die Adressenreihenfolge wird invertiert (Spalte 8), die Adressenreihenfolge ist "normal" (Spalte 3), das heißt: Es erfolgt keine weitere Änderung und keine weitere Invertierung der Daten (Spalte 4). Wenn die letzte Adresse erreicht ist, fährt das System mit Zeile 6 fort. Hier wird die Adressenreihenfolge invertiert (Spalte 8), der nächste Daten-Hintergrund wird geschrieben (Spalte 9), die Adressenreihenfolge ist absteigend (Spalte 3). Solange der letzte Daten-Hintergrund nicht erreicht ist, erfolgt die Ausgabe von Zustand S3 an Zustand S0, wobei der neue Daten-Hintergrund nacheinander an alle Speicheradressen geschrieben wird. Anschließend werden die Zustände S1, S2, S3 erneut wiederholt durchlaufen. Bei Erreichen des letzten Daten-Hintergrundes geht das System über Spalte 7 in den Zustand S4. Hier wird der Adreßzähler aktiviert (Spalte 6), aber der Speicher selbst bleibt deaktiviert. Wenn die Wartezeit beendet ist (Spalte 1, Zeile 9), geht das System in Zustand S5, wo die erste Adresse gelesen wird. Anschließend werden in Zustand S6 neue Daten geschrieben und diese beiden Zustände werden für jede unterschiedliche Adresse einmal durchlaufen. Wenn die letzte Adresse wieder erreicht ist (Reihe 11), geht das System in Zustand S7. Hier gibt es wieder eine Wartezeit für die Prüfung der Datenerhaltung. Anschließend werden in Zustand S8 alle Speicherpositionen gelesen, und nach Erreichen der letzten Adresse geht das System in Zustand S9, in dem der Speicher deaktiviert wird, und die Prüfung ist beendet. Als einziges bleibt die Ausgabe der Informationen zur Prüfungsauswertung einschließlich des Signaturmusters, das hier nicht abgebildet ist.
- Figur 8 zeigt eine exemplarische Schaltungsrealisierung des Selbstprüfungs-Steuergerätes (Teil 42 in Figur 3). Die Programmierung erfolgt in dem programmierbaren Logik-Array PLA 100 mit ausreichender Speicherkapazität. Es sind neun Eingänge und neun Ausgänge vorhanden. Die Eingänge sind folgende: Zustandseingänge 102, die die zehn Zustände aus Figur 6 (S0 ... S9) definieren können. Eingang 104 gibt die Richtung der Adressen-Inkrementierung an. Eingang 108 gibt die invertierte oder normale Situation in bezug auf die Daten (Spalte 4 in Figur 6) an. Eingang 110 signalisiert das Erreichen des letzten Daten-Hintergrundes: Das betreffende Signal wird durch den im folgenden zu beschreibenden Datengenerator erzeugt; der Block gibt die Signalisierung eines stabilen Zustandes an. Eingang 112 gibt das Erreichen der letzten Adresse eines Zyklus durch alle Speicheradressen an. Eingang 114 signalisiert den Ablauf der Wartezeit für die Datenhalteprüfung. Die Signale 112, 114 werden durch den im folgenden beschriebenen Adressen-/Wartezähler erzeugt; der Block gibt die Realisierung eines stabilen Zustandes an.
- Die Ausgänge des PLA sind folgende: Die Ausgänge 116 geben den nächsten zu erreichenden Zustand des Systems an und sind über die Halte-Registerzellen mit den Eingängen 102 rückgekoppelt. Ausgang 118 aktiviert das im folgenden beschriebene LFSR (linear feedback shift register, Lineares Rückkopplungs-Schieberegister), um ein Signaturmuster zu erzeugen. Ausgang 120 gibt die nächste zu aktivierende Adresse an. Ausgang 122 gibt an, daß die Daten zu invertieren sind. Ausgang 124 gibt an, daß die Richtung der Adressen-Inkrementierung umzukehren ist. Ausgang 126 gibt an, daß der nächste Daten-Hintergrund zu aktivieren ist. Die Ausgangssignale werden folgendermaßen verarbeitet: Die Ausgänge 122, 126 sind mit dem Datengenerator verbunden, der durch Block 128 symbolisiert wird. Ausgang 120 ist mit dem Adressenzähler verbunden, der durch Block 130 symbolisiert wird. Die Zustandsausgänge Out 4, Out 3 sind mit dem durch Block 134 symbolisierten RAM-Speicher verbunden, um dort die Betriebsarten Aktivieren/Deaktivieren bzw. Schreiben/Lesen zu steuern. Die lokalen Eingangssignale (102, 104, 108) werden durch die Flipflops 132 erzeugt, deren Aufbau in Block 136 genauer dargestellt ist: Die eigentliche Registerzelle 138 ist ein Daten- Flipflop, das durch den Takt clk gesteuert wird; ihm ist ein 2:1-Multiplexer 140 vorgeschaltet, der durch das oben beschriebene Steuersignal C1 gesteuert wird. Er hat zwei Eingänge, und zwar den Selbstprüfungs-Eingang und den seriellen Scan-Eingang. Element 142 ist eine weitere derartige Zelle, die durch den PLA-Ausgang Out 1 versorgt wird. Die Zellen 142, 132 können in einem seriellen Schieberegister zur Ausführung einer Scan-Prüfung so verbunden werden, daß sie durch Eingang 144 gespeist werden und die Daten über Ausgang 146 ausgegeben werden. Zusammen stellen sie den schraffierten Teil 68 des Steuergerätes 42 in Figur 3 dar. Der Ausgang von Element 142 ist mit dem signaturbildenden Gerät verbunden, das im folgenden beschrieben wird. Die Ausgangssignale 122, 124 werden über ein EXKLUSIV-ODER-Gatter ihren zugehörigen Register-Flipflops zugeführt. Die Eingänge 104, 102 zum PLA 100 sind mit dem Adressenzähler 130 verbunden, um dort die Richtung der Adressen-Inkrementierung umzukehren und die Wartezeit für die Datenhalteprüfung zu aktivieren.
- Das PLA kann durch eine kombinatorische Logik mit der gleichen Funktionalität ersetzt werden (z.B. eine Standardzellen-Ausführung oder eine Gatter- Matrix). Da das PLA alle Informationen zum Prüfalgorithmus enthält, braucht nur das PLA neu entworfen zu werden, wenn ein anderer Prüfalgorithmus verwendet wird.
- Figur 9 zeigt eine exemplarische Schaltungsrealisierung eines parametrierbaren Datengenerators. Für ein Datenmuster mit acht Bits besteht dieser Datengenerator aus acht Stufen, die jeweils einen Multiplexer mit drei Eingängen (200 ... 214) und eine Registerzelle enthalten, die entsprechend Figur 4 modifiziert wurde (216 ... 230). Mit ihren S-Eingängen kann diese Registerzelle einen Teil einer seriellen Scan-Kette bilden. Jeder Eingangs-Multiplexer versorgt eine Registerzelle, die mit dem Ausgang des vorgenannten Bauelementes verbunden ist. Die Registerzellen wiederum versorgen ihre jeweiligen Eingangsmultiplexer folgendermaßen: Ein Signal INVDATA = 1, unter Synchronisierungssteuerung (nicht abgebildet), invertiert die Daten mit Hilfe des invertierenden Eingangs 01 (angegeben durch einen Kreis). Dies impliziert, daß alle gespeicherten Datenbits gleichzeitig invertiert werden. Das zugehörige Steuerbit wird durch die Anordnung aus Figur 8 erzeugt. Das invertierte Datenbit wird gespeichert.
- Unter der Steuerung eines Steuersignals NEXTDBGR = 1 wird das nächstfolgende Muster in den Registerzellen gespeichert, indem jedesmal der Ausgang von Registerzelle j den Eingang 10 der Eingangs-Multiplexer von der Registerzelle 2j, 2j+i versorgt, also von 216 nach 200, 202, von 218 nach 204, 206, von 220 nach 208, 210, von 222 nach 212, 214. Die Parametrierung erfolgt auf einfache Weise folgendermaßen: Durch Übergehen auf die doppelte Länge (16 Bit) werden die Ausgangssignale der Registerzellen 224 - 230 zu den Multiplexer-Eingängen der nächstfolgenden acht Stufen geleitet. Dies impliziert eine zusätzliche Verbindung für jede Bitlängen-Zunahme des Musters.
- Unter der Steuerung von zwei Steuersignalen INVDATA = 0 und NEXTDBGR = 0 wird das Bit in der entsprechenden Registerzelle zum zugehörigen Multiplexer-Eingang zurückgekoppelt und in der Registerzelle wiederhergestellt. Auf diese Weise wird dafür gesorgt, daß die Anordnung vollständig synchron arbeitet. Die Registerzellen sind oben in der Figur genauer dargestellt. Alle Registerzellen können einen Datenbit-Eingang des Speichers versorgen. Außerdem können alle Registerzellen mit ihren S-Eingängen zu einer seriellen Scan-Kette verbunden werden.
- Die Kombination der Steuersignale NEXTDBGR = 1 und INVDATA = 1 tritt nicht auf. Die Registerzelle 230 versorgt eine zusätzliche Registerzelle 232 (die mit einem Multiplexer 234 mit zwei Eingängen und einem weiteren Multiplexer 236 mit zwei Eingängen versehen ist). Das Ausgangssignal dieser Registerzelle gibt an, daß der letzte Daten-Hintergrund aufgetreten ist. Der Multiplexer 234 wählt zwischen dem Scan-Betrieb und dem Selbstprüfungs-Betrieb. Der Multiplexer 239 wählt zwischen dem vorhandenen Daten-Hintergrund, der synchron zurückgekoppelt und wiederhergestellt wird, und dem nächsten Daten-Hintergrund, der unter der Steuerung des Steuersignals NEXTDBGR seinem -1-Eingang zugeführt wird. Die letztgenannte Möglichkeit liegt vor, wenn Bits in den Zellen 216 und 222 das gleiche Vorzeichen haben: Dann ist das neue Muster der letzte Daten-Hintergrund. Bei einem 16-Bit-Muster muß das EXKLUSIV-ODER-Gatter 238 durch die erste und die achte Registerzelle versorgt werden. Das Ausgangssignal der Zelle 232 dient für den Eingang 110 in Figur 8. Wenn die Folgemuster für den Daten-Hintergrund auf eine andere Weise erzeugt werden, muß die Erkennung des letzten Daten-Hintergrundes unmittelbar berichtigt werden.
- Auf der anderen Seite ist der Datengenerator für einen bitorientierten Speicher besonders einfach, da er nur aus einem einzigen Flipflop und wenigen Gattern besteht. Die beiden erforderlichen Daten-Hintergründe werden durch Invertieren des Flipflops erzeugt.
- Die Figuren 10a, b, c, d zeigen eine exemplarische Schaltungsrealisierung eines Acht-Bit-Adressengenerator-Zählers une eines digitalen Drei-Bit-Wartezählers sowie insbesondere die für den Einsatz in dieser Anordnung angepaßten Zellen.
- Der Adressengenerator und der Wartezähler sind kombiniert, um die Speicherkosten zu reduzieren. Die Anzahl der Adreßbits und die Anzähl der Wartezähler-Bits definieren zusammen mit der Taktfrequenz die Gesamt-Wartezeit für die Datenhalteprüfung.
- Zwei mögliche Schaltungsausführungen des Adreßzählers werden berücksichtigt: ein lineares Rückkopplungs-Schieberegister (Linear Feedback Shift Register, LFSR) und ein binärer Aufwärts-/Abwärts-Zähler. Das LFSR weist für diesen Zweck jedoch einige Nachteile auf:
- 1. Der Reihenfolge der Adressenabtastung kann nicht ohne einen erheblichen Aufwand an zusätzlicher Logik umgekehrt werden.
- 2. Die Erzeugung der Adresse aus reinen Nullen (all zero) erfordert zusätzliche Hardware.
- 3. Die Erzeugung eines Ausführungs-Signals erfordert zusätzliche Logik.
- Wir haben eine Ausführung mit einem binären Aufwärts-/Abwärts-Zähler gewählt, weil hiermit eine kleinere Schaltung erreicht wurde. Ein Problem beim Binärzähler stellt die Verzögerung des Ripple-Übertragssignals dar. Einschließlich des Wartezählers kann sich die Anzahl der Stufen im Zähler auf bis zu 20 Bits belaufen. Wir haben dieses Problem gelöst, indem wir einen Aufwärts-/Abwärts-Zähler mit Pipeline-Übertragssignal entworfen haben. Die maximale Verzögerung wird auf diese Weise auf die Verzögerung einer Reihe von vier UND-Gattern mit zwei Eingängen reduziert.
- Damit können alle Adressen erzeugt werden. Es gibt eine Adresse, an der die Folge zurückkehren kann. Bei jeder Adresse kann die Zählung angehalten werden; die Adressen-Erzeugung ist synchron. Für beide Zählrichtungen wird ein Signal geliefert, das das Erreichen der letzten Zählposition angibt. Der Entwurf ist parametrierbar. Die Adressenzähler-Zellen sind entsprechend Figur 10b angepaßt. Die eigentliche Zelle hat einen Eingangs-Multiplexer und zwei zusätzliche EXKLUSIV-ODER-Gatter. Der Multiplexer wird durch das bei 130 in Figur 8 dargestellte Signal "-nextaddr" und "addr.dir" gesteuert. Das erste EXKLUSIV-ODER-Gatter ändert unter der Steuerung des Übertrag-Eingangssignals (carry-in) den Inhalt der Registerzelle. Das zweite EXKLUSIV-ODER-Gatter des Signals für die Richtung der Adressen-Inkrementierung und des Zelleninhaltes erzeugt das Übertrag-Ausgangssignal (carry-out) für die nächste Stufe. Eine Reihe von UND-Gattern erzeugt unter der Steuerung der Übertrag-Eingangssignale (carry-in) und -Ausgangssignale (carry-out) das Ripple-Übertragssignal. Der Wartezähler hat in diesem Fall drei Stufen, die in Figur 10d genauer dargestellt sind. Diese sind etwas einfacher, da sie nur in einer Richtung zu zählen brauchen. Der Wartezähler stellt die höchstwertigen Bit-Stufen in bezug auf den Adressenzähler dar.
- Um den Zähler schneller zu machen, wurden zwei Pipeline-Flipflops zwischen die Reihen von Ripple-UND-Gattern eingefügt, die in Figur 10c ausführlich dargestellt sind. Insoweit ihre einzige Funktion darin besteht, das Eingangssignal vom Ausgangssignal zu trennen, ist ihr Aufbau sehr einfach. Das Erreichen der letzten Adresse einer Adressensequenz wird durch ein UND-Gatter am Ausgang der achten Stufe signalisiert. Dieses Signal wird zum Eingang 112 in Figur 8 weitergeleitet. Die niedrigste Bitposition des Wartezählerpostens erhält ein Aktiviersignal aus Figur 3 (Block 130). Die höchste Bitposition des Wartezählers gibt ein Signal "Ende der Wartezeit" an den Eingang 114 in Figur 8 weiter.
- Das in Figur 10a dargestellte schnelle Ripple-Netzwerk selbst war Gegenstand der niederländischen Patentanmeldung 8800860 vom 5. April 1988, die der internationalen Patentanmeldung WO 89/10028 entspricht, das durch Nennung als hierin aufgenommen betrachtet wird. Der Kürze halber wird die Funktionsweise dieser Schaltung nicht weiter beschrieben.
- Figur 11l zeigt eine exemplarische Schaltungsrealisierung für einen Acht- Bit-Signaturgenerator oder Datenrezeptor und Figur 11 eine hierfür modifizierte Registerzelle.
- Die Daten, die durch den RAM-Speicher während der Lese-Vorgänge des Prüfalgorithmus erzeugt werden, werden zum Datenrezeptor geleitet. Es gibt zwei Möglichkeiten, diese Daten mit den erwarteten Daten zu vergleichen:
- 1. Die gelesenen Daten während jedes Lese-Vorgangs mit den erwarteten Daten vergleichen und ein PASS/FAlL-Bit setzen, wenn eine Abweichung erkannt wird.
- 2. Die Daten auf dem Chip durch polynome Division in einem parallelen Signatur-Analysator (PSA) komprimieren. Der resultierende Inhalt des PSA wird als Signatur bezeichnet.
- Wir wählen die LFSR-Implementierung, da bei dieser Lösung die Speicherkosten gering sind und die Verzögerung eines LFSR gering und von der Anzahl der Bits unabhängig ist.
- Nach der Beendigung der Selbstprüfung muß die resultierende Signatur mit einer Signatur verglichen werden, die zuvor durch ein spezielles Software-Tool errechnet wurde. Der Vergleich erfolgt außerhalb des Chips. Aus diesem Grunde muß die Signatur nach der Beendigung der Prüfung aus dem PSA herausgeschoben werden. Ein Halte-Betrieb ist beim PSA erforderlich, um zu verhindern, daß die resultierende Signatur nach der Beendigung der Prüfung im PSA verlorengeht. Das Halte-Steuersignal wird im Selbstprüfungs-Steuergerät erzeugt.
- Da die Fehlererfassung des PSA mit der Reduzierung der Anzahl PSA- Stufen exponentiell abnimmt, werden mindestens acht PSA-Stufen für erforderlich gehalten. Normalerweise entspricht die Anzahl der PSA-Stufen der Anzahl Datenausgänge des SRAM. Wenn die Anzahl der Datenausgänge des SRAM kleiner ist als acht, werden die restlichen PSA-Eingänge mit Vss verbunden.
- Die Figur zeigt eine mögliche Schaltungsrealisierung für einen Acht-Bit- PSA. Ein Minimal-Polynom wird im PSA verwendet, um eine maximale Fehlererfassung sicherzustellen und Timing-Probleme aufgrund von Polynom-Rückkopplungen im PSA auf ein Minimum zu reduzieren. Die Wahl des Startparameters des PSA (Initialisierung) ist willkürlich. Wir wählen der Einfachheit halber das Wort, das nur aus Nullen besteht.
- Figur 11a zeigt den Aufbau einer einzigen Zelle in allen Einzelheiten. Sie ist mit dem Standard-Speicher-Port versehen, dem ein Multiplexer vorgeschaltet ist, der zwischen Prüfungs-Betrieb und seriellem Scan-Betrieb wählt, sowie ein zweiter Multiplexer, der zwischen dem vorliegenden Zelleninhalt (über Rückkopplung) und einem Prüfsignal wählt, das durch ein EXKLUSIV-ODER-Gatter gesteuert wird. Die Wahl wird durch ein LFSR-Aktivier-Signal gesteuert, das durch das Element 142 in Figur 8 erzeugt wird. Die Eingangs-EXKLUSIV-ODER-Gatter können ein Datenbit direkt vom RAM erhalten. Weitere EXKLUSIV-ODER-Gatter bilden die Rückkopplungsregister maximaler Länge auf in der Technik bekannte Weise. Der Ausgang ist seriell. Wenn der RAM-Speicher eine kleinere Datenbreite hat, brauchen weniger Stufen durch den Datenausgang versorgt werden.
Claims (6)
1. Speicheranordnung, die einen wortorientierten statischen RAM-Speicher
enthält, und daran angeschlossen
- ein Adreßregister (24),
- ein Dateneingangsregister (30) mit aufeinanderfolgenden Bitpositionen und
- ein Steuerregister (38),
wobei alle diese Register extern zugängliche funktionelle Verbindungen für die
Kommunikation von Informationen haben und wobei ein erstes Steuermittel vorgesehen ist,
um den genannten Speicher wahlweise in einem Betriebszustand oder in einem
Selbstprüfungs-Zustand zu aktivieren; wobei im genannten Betriebszustand das genannte
Adreßregister (24) und das genannte Dateneingangsregister (30) wirksam mit dem
Speicher verbunden sind, und wobei im genannten Selbstprüfungs-Zustand das genannte
Adreßregister (24), das genannte Dateneingangsregister (30) und das genannte
Steuerregister (38) wirksam sind, um bei Abwesenheit jeglicher Införmationskommunikation
über einen Informationseingang der Speicheranordnung aufeinanderfolgende
Datentestmuster und Adressenprüfmuster zum Schreiben in den Speicher zu bilden, dadurch
gekennzeichnet, daß für das genannte Dateneingangsregister (30) ein Voreinstell-
Mechanismus vorgesehen ist, um im letztgenannten Register ein anfängliches
Datentestmuster zu erzeugen, das eine maximale Anzahl 1-0-Differenzen zwischen den
aufeinanderfolgenden Bitpositionen hat, wobei das Dateneingangsregister mit einem
zweiten Steuermittel versehen ist, um aus dem genannten Datentestmuster weitere
nachfolgende Datentestmuster zu erzeugen und wobei das zweite Steuermittel so
angeordnet ist, daß die Bits von der ersten Hälfte des Datentestmusters jeweils auf zwei Bits
in einem nächstfolgenden Testmuster projiziert werden.
2. Speicheranordnung nach Anspruch 1, dadurch gekennzeichnet,
daß alle genannten Register (24, 30, 38) jeweils Teile einer seriell aktivierbaren Prüf-
Scan-Kette darstellen, die einen seriellen Eingang (62) zum Empfangen von Voreinstell-
Information und einen seriellen Ausgang (64) zum Ausgeben eines Signaturmusters hat,
wobei das erste Steuermittel vorgesehen ist, um den genannten Speicher abwechselnd in
einem Scan-Zustand, im Betriebszustand oder im Selbstprüfungs-Zustand zu aktivieren;
wobei im genannten Scan-Zustand alle Register (24, 30, 38) gekoppelt sind, um ein
serielles Schieberegister in der genannten Scan-Kette zu bilden.
3. Speicheranordnung nach Anspruch 1 oder 2, dadurch
gekennzeichnet, daß im genannten Selbstprüfungs-Zustand das genannte Adreßregister (24), das
genannte Dateneingangsregister (30) und das genannte Steuerregister (38) wirksam sind,
um die anfänglichen Datentestmuster und die nachfolgenden weiteren Datenmuster
jeweils in alle Wort-Speicherplätze im Speicher einzuschreiben.
4. Speicheranordnung nach einem der vorhergehenden Ansprüche
1 bis 3, dadurch gekennzeichnet, daß das genannte Adreßregister (24) mit einem
Ablaufsteuerungsmittel versehen ist, um ein Initialisierungsmuster sequentiell in eine
Folge von Folgemustern umzusetzen, und daß das genannte Umsetzungsmittel synchron
mit der Erzeugung der genannten Folgemuster arbeitet.
5. Speicheranordnung nach Anspruch 4, dadurch gekennzeichnet,
daß diese Anordnung ein Datenausgangsregister (36) enthält, das wirksam ist für das
Empfangen von aufeinanderfolgenden Datenergebnismustern und ein Umsetzungsmittel
zum anschließenden Umsetzen der aufeinanderfolgenden Datenergebnismuster in ein
Signaturmuster, wobei das Umsetzungsmittel über einen Halte-Zustand zum Erhalten
von hierin erzeugten vorläufigen Signaturmustern verfügt.
6. Integrierte Schaltung mit einer Speicheranordnung nach mindestens einem
der Ansprüche 1 bis 5, und mit einem weiteren Datenverarbeitungs-Subsystem, das im
genannten Betriebszustand wirksam mit mindestens einem genannten
Dateneingangsregister oder einem genannten Adreßregister oder einem Datenausgang des Speichers
verbunden ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP88201501A EP0350538B1 (de) | 1988-07-13 | 1988-07-13 | Speichergerät, das einen zur Ausführung einer Selbstprüfung adaptierten statischen RAM-Speicher enthält und integrierte Schaltung, die als eingebauten statischen RAM-Speicher ein solches Gerät enthält |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3886038D1 DE3886038D1 (de) | 1994-01-13 |
DE3886038T2 true DE3886038T2 (de) | 1994-05-19 |
Family
ID=8199820
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3886038T Expired - Fee Related DE3886038T2 (de) | 1988-07-13 | 1988-07-13 | Speichergerät, das einen zur Ausführung einer Selbstprüfung adaptierten statischen RAM-Speicher enthält und integrierte Schaltung, die als eingebauten statischen RAM-Speicher ein solches Gerät enthält. |
Country Status (5)
Country | Link |
---|---|
US (1) | US5325367A (de) |
EP (1) | EP0350538B1 (de) |
JP (1) | JP3162061B2 (de) |
KR (1) | KR970004074B1 (de) |
DE (1) | DE3886038T2 (de) |
Families Citing this family (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR920001079B1 (ko) * | 1989-06-10 | 1992-02-01 | 삼성전자 주식회사 | 직렬데이타 통로가 내장된 메모리소자의 테스트방법 |
US5173906A (en) * | 1990-08-31 | 1992-12-22 | Dreibelbis Jeffrey H | Built-in self test for integrated circuits |
JPH06504396A (ja) * | 1991-01-11 | 1994-05-19 | シーメンス アクチエンゲゼルシヤフト | マクロセルとして半導体素子に配置されたメモリを自己検査方式で検査するための方法およびこの方法を実施するための装置 |
US5528600A (en) | 1991-01-28 | 1996-06-18 | Actel Corporation | Testability circuits for logic arrays |
FR2682522B1 (fr) * | 1991-10-11 | 1997-01-10 | Sgs Thomson Microelectronics | Procede pour verifier le contenu apres effacement d'une memoire permanente effacable, notamment de type eprom, dispositif pour sa mise en óoeuvre et memoire integrant ce dispositif. |
CZ383292A3 (en) * | 1992-02-18 | 1994-03-16 | Koninkl Philips Electronics Nv | Method of testing electronic circuits and an integrated circuit tested in such a manner |
EP0599524A3 (de) * | 1992-11-24 | 1996-04-17 | Advanced Micro Devices Inc | Selbsttest für integrierte Speichernetzwerke. |
US5627842A (en) * | 1993-01-21 | 1997-05-06 | Digital Equipment Corporation | Architecture for system-wide standardized intra-module and inter-module fault testing |
US5450455A (en) * | 1993-06-28 | 1995-09-12 | Tandem Computers Incorporated | Method and apparatus for including the states of nonscannable parts in a scan chain |
US5416783A (en) * | 1993-08-09 | 1995-05-16 | Motorola, Inc. | Method and apparatus for generating pseudorandom numbers or for performing data compression in a data processor |
US5617531A (en) * | 1993-11-02 | 1997-04-01 | Motorola, Inc. | Data Processor having a built-in internal self test controller for testing a plurality of memories internal to the data processor |
US5448525A (en) * | 1994-03-10 | 1995-09-05 | Intel Corporation | Apparatus for configuring a subset of an integrated circuit having boundary scan circuitry connected in series and a method thereof |
US5608897A (en) * | 1994-04-05 | 1997-03-04 | International Business Machines Corporation | Programmable linear feedback shift register timeout mechanism |
US5592493A (en) * | 1994-09-13 | 1997-01-07 | Motorola Inc. | Serial scan chain architecture for a data processing system and method of operation |
US6070252A (en) * | 1994-09-30 | 2000-05-30 | Intel Corporation | Method and apparatus for interactive built-in-self-testing with user-programmable test patterns |
US5535164A (en) * | 1995-03-03 | 1996-07-09 | International Business Machines Corporation | BIST tester for multiple memories |
US5675545A (en) * | 1995-09-08 | 1997-10-07 | Ambit Design Systems, Inc. | Method of forming a database that defines an integrated circuit memory with built in test circuitry |
US5867507A (en) * | 1995-12-12 | 1999-02-02 | International Business Machines Corporation | Testable programmable gate array and associated LSSD/deterministic test methodology |
US5748640A (en) * | 1996-09-12 | 1998-05-05 | Advanced Micro Devices | Technique for incorporating a built-in self-test (BIST) of a DRAM block with existing functional test vectors for a microprocessor |
US5909049A (en) | 1997-02-11 | 1999-06-01 | Actel Corporation | Antifuse programmed PROM cell |
US5961653A (en) * | 1997-02-19 | 1999-10-05 | International Business Machines Corporation | Processor based BIST for an embedded memory |
US5954830A (en) * | 1997-04-08 | 1999-09-21 | International Business Machines Corporation | Method and apparatus for achieving higher performance data compression in ABIST testing by reducing the number of data outputs |
US6115789A (en) * | 1997-04-28 | 2000-09-05 | International Business Machines Corporation | Method and system for determining which memory locations have been accessed in a self timed cache architecture |
US6272588B1 (en) | 1997-05-30 | 2001-08-07 | Motorola Inc. | Method and apparatus for verifying and characterizing data retention time in a DRAM using built-in test circuitry |
US6205564B1 (en) * | 1997-06-02 | 2001-03-20 | Lucent Technologies Inc. | Optimized built-in self-test method and apparatus for random access memories |
US6115836A (en) * | 1997-09-17 | 2000-09-05 | Cypress Semiconductor Corporation | Scan path circuitry for programming a variable clock pulse width |
US5953285A (en) * | 1997-09-17 | 1999-09-14 | Cypress Semiconductor Corp. | Scan path circuitry including an output register having a flow through mode |
US6006347A (en) * | 1997-09-17 | 1999-12-21 | Cypress Semiconductor Corporation | Test mode features for synchronous pipelined memories |
US5936977A (en) | 1997-09-17 | 1999-08-10 | Cypress Semiconductor Corp. | Scan path circuitry including a programmable delay circuit |
US6161204A (en) * | 1998-02-17 | 2000-12-12 | Micron Technology, Inc. | Method and apparatus for testing SRAM memory cells |
US6473727B1 (en) * | 1998-03-06 | 2002-10-29 | Lsi Logic Corporation | Processor development systems |
US6173425B1 (en) | 1998-04-15 | 2001-01-09 | Integrated Device Technology, Inc. | Methods of testing integrated circuits to include data traversal path identification information and related status information in test data streams |
US6260164B1 (en) * | 1998-07-31 | 2001-07-10 | International Business Machines Corporation | SRAM that can be clocked on either clock phase |
GB2345976B (en) * | 1999-01-22 | 2003-06-25 | Sgs Thomson Microelectronics | Test circuit for memory |
KR100305679B1 (ko) * | 1999-02-24 | 2001-09-26 | 윤종용 | 반도체 메모리 장치의 테스터의 테스터 방법 및 그 장치 |
DE19911939C2 (de) * | 1999-03-17 | 2001-03-22 | Siemens Ag | Verfahren für den eingebauten Selbsttest einer elektronischen Schaltung |
US6286116B1 (en) * | 1999-03-26 | 2001-09-04 | Compaq Computer Corporation | Built-in test method for content addressable memories |
GB9911043D0 (en) * | 1999-05-12 | 1999-07-14 | Sgs Thomson Microelectronics | Memory circuit |
US6560740B1 (en) | 1999-08-03 | 2003-05-06 | Advanced Micro Devices, Inc. | Apparatus and method for programmable built-in self-test and self-repair of embedded memory |
IT1313865B1 (it) * | 1999-11-11 | 2002-09-24 | St Microelectronics Srl | Apparato per la verifica della ritenzione di dati in memorie nonvolatili. |
US6327687B1 (en) | 1999-11-23 | 2001-12-04 | Janusz Rajski | Test pattern compression for an integrated circuit test environment |
US6557129B1 (en) | 1999-11-23 | 2003-04-29 | Janusz Rajski | Method and apparatus for selectively compacting test responses |
US9664739B2 (en) | 1999-11-23 | 2017-05-30 | Mentor Graphics Corporation | Continuous application and decompression of test patterns and selective compaction of test responses |
WO2001039254A2 (en) * | 1999-11-23 | 2001-05-31 | Mentor Graphics Corporation | Continuous application and decompression of test patterns to a circuit-under-test |
US6353842B1 (en) | 1999-11-23 | 2002-03-05 | Janusz Rajski | Method for synthesizing linear finite state machines |
US7493540B1 (en) | 1999-11-23 | 2009-02-17 | Jansuz Rajski | Continuous application and decompression of test patterns to a circuit-under-test |
US6684358B1 (en) * | 1999-11-23 | 2004-01-27 | Janusz Rajski | Decompressor/PRPG for applying pseudo-random and deterministic test patterns |
US8533547B2 (en) * | 1999-11-23 | 2013-09-10 | Mentor Graphics Corporation | Continuous application and decompression of test patterns and selective compaction of test responses |
US9134370B2 (en) | 1999-11-23 | 2015-09-15 | Mentor Graphics Corporation | Continuous application and decompression of test patterns and selective compaction of test responses |
US6874109B1 (en) | 1999-11-23 | 2005-03-29 | Janusz Rajski | Phase shifter with reduced linear dependency |
US6643807B1 (en) | 2000-08-01 | 2003-11-04 | International Business Machines Corporation | Array-built-in-self-test (ABIST) for efficient, fast, bitmapping of large embedded arrays in manufacturing test |
US6979504B2 (en) * | 2001-07-25 | 2005-12-27 | Ballard Power Systems Inc. | Fuel cell system automatic power switching method and apparatus |
US20030022036A1 (en) * | 2001-07-25 | 2003-01-30 | Ballard Power Systems Inc. | Fuel cell controller self inspection |
US7401271B1 (en) * | 2001-08-20 | 2008-07-15 | Emc Corporation | Testing system and method of using same |
US7290184B2 (en) * | 2001-08-23 | 2007-10-30 | Seagate Technology Llc | Emulation system for evaluating digital data channel configurations |
JP2005004876A (ja) * | 2003-06-11 | 2005-01-06 | Toshiba Corp | 半導体記憶装置とその評価方法 |
US7546505B2 (en) * | 2006-11-08 | 2009-06-09 | Lsi Corporation | Built in self test transport controller architecture |
US7707467B2 (en) * | 2007-02-23 | 2010-04-27 | Micron Technology, Inc. | Input/output compression and pin reduction in an integrated circuit |
US7913128B2 (en) | 2007-11-23 | 2011-03-22 | Mosaid Technologies Incorporated | Data channel test apparatus and method thereof |
US7779316B2 (en) * | 2007-12-05 | 2010-08-17 | Oracle America, Inc. | Method of testing memory array at operational speed using scan |
KR100994669B1 (ko) | 2008-05-19 | 2010-11-16 | 프롬써어티 주식회사 | 메모리 성능 파라미터의 측정 대기시간을 제어하는 장치 |
TW201126529A (en) * | 2010-01-18 | 2011-08-01 | Realtek Semiconductor Corp | Memory with self-testing function and the test method thereof |
US9104568B2 (en) | 2013-03-15 | 2015-08-11 | International Business Machines Corporation | Detection of memory cells that are stuck in a physical state |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3961251A (en) * | 1974-12-20 | 1976-06-01 | International Business Machines Corporation | Testing embedded arrays |
JPS6244674A (ja) * | 1985-08-23 | 1987-02-26 | Toshiba Corp | 評価容易化回路 |
US4701920A (en) * | 1985-11-08 | 1987-10-20 | Eta Systems, Inc. | Built-in self-test system for VLSI circuit chips |
US4903266A (en) * | 1988-04-29 | 1990-02-20 | International Business Machines Corporation | Memory self-test |
-
1988
- 1988-07-13 DE DE3886038T patent/DE3886038T2/de not_active Expired - Fee Related
- 1988-07-13 EP EP88201501A patent/EP0350538B1/de not_active Expired - Lifetime
-
1989
- 1989-07-11 KR KR1019890009829A patent/KR970004074B1/ko not_active IP Right Cessation
- 1989-07-13 JP JP17918189A patent/JP3162061B2/ja not_active Expired - Fee Related
-
1991
- 1991-08-22 US US07/752,166 patent/US5325367A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP0350538B1 (de) | 1993-12-01 |
JP3162061B2 (ja) | 2001-04-25 |
KR970004074B1 (ko) | 1997-03-24 |
DE3886038D1 (de) | 1994-01-13 |
US5325367A (en) | 1994-06-28 |
JPH0287400A (ja) | 1990-03-28 |
KR900002331A (ko) | 1990-02-28 |
EP0350538A1 (de) | 1990-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3886038T2 (de) | Speichergerät, das einen zur Ausführung einer Selbstprüfung adaptierten statischen RAM-Speicher enthält und integrierte Schaltung, die als eingebauten statischen RAM-Speicher ein solches Gerät enthält. | |
DE2728676C2 (de) | Stufenempfindliches, als monolithisch hochintegrierte Schaltung ausgeführtes System aus logischen Schaltungen mit darin eingebetteter Matrixanordnung | |
DE69825234T2 (de) | Verfahren und vorrichtung zur selbstprüfung von multi-port-rams | |
DE68921269T2 (de) | Integrierte Prüfschaltung. | |
DE2555439C2 (de) | Monolithische hochintegrierte Halbleiterschaltung | |
DE3788487T2 (de) | Integrierte Schaltung mit Speicherselbstprüfung. | |
DE2349377C2 (de) | Schaltwerk zur Durchführung von Datenverarbeitungsoperationen | |
DE2349324C2 (de) | Verfahren zum Prüfen einer Funktionseinheit und Einrichtung zur Durchführung des Verfahrens | |
DE60220511T2 (de) | Verfahren und system zur optimierung der testkosten und deaktivierungsdefekte für scan- und bist-speicher | |
DE102011053359B4 (de) | Latch-basierte Speichervorrichtung und Verfahren zum Testen derselben | |
DE10150321A1 (de) | Verfahren und Vorrichtung zum Testen von integrierten Schaltungen | |
DE2517356A1 (de) | In datenverarbeitungsanlagen universell einsetzbarer logischer modul- baustein | |
DE2614000A1 (de) | Einrichtung zur diagnose von funktionseinheiten | |
DE102004009693A1 (de) | Technik zum Kombinieren eines Abtasttests und eines eingebauten Speicherselbsttests | |
DE3788586T2 (de) | Schaltung zur Prüfung des Eingangsspannungssignals für eine halbleiterintegrierte Schaltung. | |
DE19630746A1 (de) | Verfahren und Vorrichtung zum Testen einer Assoziativspeicherschaltung und einer Assoziativspeicherschaltung mit redundanter Funktion | |
EP0186724A1 (de) | Prüf- und Diagnoseeinrichtung für Digitalrechner | |
DE69912545T2 (de) | Schaltkreis mit einer einheit zum testen von verbindungen und ein verfahren zum testen von verbindungen zwischen einem ersten und zweiten elektronischen schaltkreis | |
DE69016509T2 (de) | Integrierte Halbleiterschaltungsanordnung mit Testschaltung. | |
DE3412677C2 (de) | ||
DE3782020T2 (de) | Elektronischer zaehler. | |
EP0628832B1 (de) | Integrierte Schaltung mit Registerstufen | |
DE3814875C2 (de) | ||
DE2946119C2 (de) | Datenverarbeitungseinrichtung mit einer Vielzahl von Datenverarbeitungselementen, denen ein einziger Strom von Steuersignalen zugeführt wird | |
EP1055238B1 (de) | Testschaltung und verfahren zum prüfen einer digitalen halbleiter-schaltungsanordnung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: PHILIPS ELECTRONICS N.V., EINDHOVEN, NL |
|
8327 | Change in the person/name/address of the patent owner |
Owner name: KONINKLIJKE PHILIPS ELECTRONICS N.V., EINDHOVEN, N |
|
8339 | Ceased/non-payment of the annual fee |