-
Die vorliegende Erfindung betrifft einen integrierten Speicher sowie ein Verfahren zur Funktionsüberprüfung eines derartigen integrierten Speichers.
-
Integrierte Speicher, beispielsweise in Form von DRAMs (Dynamic Random Access Memories) werden im Herstellungsprozeß im allgemeinen umfangreichen Funktionstests unterzogen. Unter anderem dienen diese Funktionstests dazu, fehlerhafte Speicherzellen beziehungsweise fehlerhafte Spaltenleitungen oder Reihenleitungen zu identifizieren. Mit zunehmender Speichergröße nehmen die Kosten von Funktionstests einen immer größeren Anteil an den gesamten Produktionskosten eines Speichers ein. Um die Testkosten zu senken, werden daher zunehmend Methoden wie Testmodes zur Komprimierung von Daten, Parallelisierung von Speicherzugriffen mittels einer reduzierten Anzahl von Anschlußkontakten oder zusätzliche Testlogik, beispielsweise in Form einer BIST-Einheit (Built-In Self-Test), entwickelt.
-
Mit fortschreitender Entwicklung auf dem Gebiet von integrierten Speichern steigt die Betriebsfrequenz, mit der ein integrierter Speicher betrieben wird, im allgemeinen ständig an. Mit zunehmenden Betriebsfrequenzen von integrierten Speichern wird es meist schwieriger, diese auf ihre Funktionsfähigkeit hin zu testen. Dabei ist es für den Erhalt eines weitgehend aussagekräftigen Testergebnisses wichtig, daß der Speicher auch bei seiner Betriebsfrequenz, die er im Normalbetrieb aufweist, getestet wird.
-
Erfahrungsgemäß ist es jedoch ein vergleichsweise großes Problem, Testgeräte für neuere integrierte Speicher bereitzustellen, die Ausgangssignale eines getesteten integrierten Speichers, der mit maximaler Betriebsfrequenz getestet und betrieben wird, bei dieser geforderten Frequenz mit genügender Genauigkeit bewerten können. Oftmals sind derartige Testgeräte auf dem Markt nicht verfügbar oder vergleichsweise teuer. Aus Kostengründen ist es deshalb oft von großem Vorteil, durch chipseitige Hardware Testgeräte älterer Bauart, die lediglich vergleichsweise niedrige Frequenzen unterstützen, für neuere Chip-Generationen nutzbar zu machen.
-
In diesem Zusammenhang sind Testmethoden bekannt, bei denen Testgeräte, die nur vergleichsweise niedrige Frequenzen unterstützen, nur noch zur Abfrage einer sogenannten Pass-Fail-Information eines Funktionstests eines Speicherzellenfeldes des zu testenden Speichers herangezogen werden, wobei der Funktionstest selbst durch eine BIST-Einheit durchgeführt wird. Der Funktionstest mittels der BIST-Einheit kann unabhängig von der Betriebsfrequenz eines Testers mit der spezifizierten Zielfrequenz durchgeführt werden. Nachträglich wird das hochfrequenzbetriebene Speicherchip-Interface separat getestet.
-
BIST-Einheiten sind, wenn diese eine möglichst flexible Adressgenerationseinheit besitzen sollen, nur schaltungs- und somit platzaufwendig realisierbar. Daher ist es in diesem Zusammenhang interessanter, die Adressgenerierung durch ein extern angeschlossenes und flexibel programmierbares Testgerät zu steuern.
-
Bisher wurde vor allem das Ziel verfolgt, Testpattern mit möglichst einfacher inkrementeller beziehungsweise dekrementeller Adreßgenerierung so zu entwerfen, daß eine möglichst einfache Abtestbarkeit des Speichers inklusive der Redundanz ohne komplexe Adreßraum-Berechnungen möglich ist. Derartige Funktionstests werden vor allem auf Wafer-Ebene durchgeführt. Bei der Generierung von adressierten Speicherzugriffen nimmt man aus Kostengründen hierbei jedoch folgende Einschränkungen vor: Es wird nur eine fix definierte Adreß-Schrittweite, nur eine Richtung der Inkrementierung sowie eine Adressierung entweder in Reihen- oder Spalten-Richtung unterstützt. Weiterhin werden keine komplexen Sprungmöglichkeiten zwischen dem redundanten Speicherzellenbereich und dem Hauptzellenfeld unterstützt. Das Speicherchip-Interface ist meist nur einmalig vor Testbeginn konfigurierbar und während des Speichertests nicht ohne großen Zeitverlust umkonfigurierbar.
-
In der
US 6 321 320 B1 ist eine flexible und programmierbare Build-In Self-Test-Einheit beschrieben, die auf einen integrierten Halbleiterspeicher aufgebracht ist. Die BIST-Einheit umfasst einen Hauptsteuerungsblock und eine Einheit zur Adressgenerierung, die ihrerseits eine Einheit zur lokalen Steuerung der Adressgenerierung aufweist sowie eine weitere Einheit, um Adressdaten zu generieren. Jede der Einheiten ist unabhängig voneinander programmierbar, um die einzelnen auszuführenden Operationen während eines Testbetriebs durchführen zu können. Die BIST-Einheit wird zu Beginn mit einem entsprechenden Befehlssatz von der CPU programmiert, so dass anschließend der Test in vorgegebener Weise durchlaufen wird.
-
Der vorliegenden Erfindung liegt die Aufgabe zugrunde, einen integrierten Speicher bereitzustellen, bei dem eine vergleichsweise hohe Funktionalität und Flexibilität bei der Adreßgeneration im Speichertest ermöglicht wird.
-
Weiterhin ist es Aufgabe der vorliegenden Erfindung, ein geeignetes Verfahren zur Funktionsüberprüfung eines derartigen integrierten Speichers anzugeben.
-
Diese Aufgabe wird erfindungsgemäß durch einen integrierten Speicher gemäß Patentanspruch 1 und durch ein Verfahren zur Funktionsüberprüfung eines derartigen integrierten Speichers gemäß Patentanspruch 11 gelöst.
-
Ein integrierter Speicher gemäß der vorliegenden Erfindung umfasst unter anderem eine Adressierungsberechnungslogik, die mit einer Adressierungseinheit zur Adressierung von Speicherzellen für einen Speicherzugriff anhand von empfangenen Adressierungssignalen verbunden ist. Diese Adressierungsberechnungslogik ist durch ein Testmodussignal für einen Testbetrieb des Speichers aktivierbar. Die Adressierungsberechnungslogik empfängt Kommandosignale und Adreßsignale für den Testbetrieb, berechnet daraus für den Speicherzugriff die Adressierungssignale und speist diese in die Adressierungseinheit ein.
-
Die Adressierungsberechnungslogik umfasst eine Registereinheit zum Speichern von Adreßparametern für die Berechnung der Adressierungssignale, eine der Registereinheit nachgeschaltete Rechenkaskade zur Berechnung der Adressierungssignale, eine der Rechenkaskade nachgeschaltete Rückschreibelogik zum Rückschreiben von aktuellen Adressierungssignalen in die Registereinheit sowie eine Steuerungseinheit, die zur Steuerung des Berechnungsvorgangs und zur Einspeisung von Initialisierungswerten mit der Registereinheit und der Rechenkaskade verbunden ist.
-
Die Adressierungseinheit führt die eigentliche Adressierung von Speicherzellen für den Speicherzugriff während des Testbetriebs durch. Die Adressierungsberechnungslogik kann ohne weiteres in eine komplexe BIST-Einheit integriert werden.
-
Gemäß dem erfindungsgemäßen Verfahren zur Funktionsüberprüfung des integrierten Speichers wird die Adressierungsberechnungslogik für den Testbetrieb durch das Testmodussignal aktiviert. Anschließend wird eine Initialisierung mit einer Übertragung von zu speichernden Ausgangsparametern in die Adressierungsberechnungslogik durchgeführt. Nach der Initialisierung werden die Kommandosignale und Adreßsignale für den Testbetrieb an die Adressierungsberechnungslogik angelegt und entsprechende Schreib-/Leseoperationen von der Zugriffssteuerung durchgeführt.
-
Mit der erfindungsgemäßen Adressierungsberechnungslogik ist die Voraussetzung geschaffen, daß zusätzliche Kommandos zur Testdurchführung von einem externen Testgerät bereitgestellt werden können, ohne daß hierzu der Hardware-Aufwand wesentlich zunimmt. Die Adressierungsberechnungslogik ist dazu geeignet, daß variable Schrittweiten und Sprungziele bei der Testdurchführung festgelegt werden können, wodurch eine erhöhte Funktionalität und Flexibilität beim Speichertest ermöglicht ist. Hierbei können jeweils geeignete Schrittweiten und Sprungziele bei der Initialisierung mit der Übertragung von entsprechenden Ausgangsparametern definiert werden. Mit dem Anlegen von zusätzlichen Kommandos zur Testdurchführung kann der Speichertest flexibel gestaltet werden.
-
Vorzugsweise ist die Adressierungsberechnungslogik derart ausgelegt, daß die Berechnung der Adressierungs-Signale zur Einspeisung in die Adressierungseinheit in der Adressierungsberechnungslogik innerhalb eines Taktzyklus eines an den Speicher angelegten Taktsignals erfolgt. Hierdurch wird eine schnelle Adreßberechnung gewährleistet (sogenannte On-the-fly-Adressberechnung). Eine derartige hochfrequenztaugliche Adreßberechnung kann nicht nur auf Wafer-Ebene, sondern auch auf Komponenten-Ebene insbesondere zur Verifikation der Fehlerabdeckung eines auf Wafer-Ebene durchgeführten Funktionstests (sogenannter Front-End-Test) verwendet werden.
-
Mit der Erfindung ist weiterhin vorteilhaft eine kombinierte oder getrennte Adressierung von regulärem Speicherzellenfeld und redundantem Speicherzellenfeld ermöglicht. Insbesondere wird zur getrennten Adressierung von redundantem Speicherzellenfeld mit der Initialisierung eine Adresse innerhalb des Redundanz-Speicherzellenfeldes als Zugriffs-Startadresse an die Adressierungsberechnungslogik übergeben.
-
Weitere vorteilhafte Aus- und Weiterbildungen der Erfindung sind in Unteransprüchen angegeben.
-
Die Erfindung wird im folgenden anhand der in der Zeichnung dargestellten Figuren, die Ausführungsbeispiele der vorliegenden Erfindung darstellen, näher erläutert. Es zeigen:
-
1 eine Ausführungsform eines erfindungsgemäßen integrierten Speichers,
-
2 eine Ausführungsform einer Adressierungseinheit und einer Adressierungsberechnungslogik gemäß der Erfindung,
-
3 eine detailliertere Ausführungsform einer Adressierungsberechnungslogik gemäß der Erfindung,
-
4 eine schematische Darstellung eines Speicherzellenfeldes des erfindungsgemäßen Speichers, das einem Funktionstest unterzogen wird,
-
5 schematische Darstellungen des Speicherzellenfeldes nach 4 für unterschiedliche Testsequenzen.
-
In 1 ist eine Ausführungsform eines erfindungsgemäßen integrierten Speichers 1 anhand eines prinzipiellen Aufbauschemas gezeigt. Zur Ansteuerung des in 1 dargestellten SDRAMs sind Anschlüsse an dem Baustein vorgesehen, die in drei Gruppen aufgeteilt werden können. Es sind Adreßanschlüsse ADR, Kommandoanschlüsse CMD und Datenanschlüsse DQ vorgesehen. Während die Kommando- und Adreßanschlüsse CMD beziehungsweise ADR reine Eingangsanschlüsse sind, sind die Datenanschlüsse DQ Eingangs- und Ausgangsanschlüsse, je nachdem, ob eine Schreib- oder Lese-Operation durchgeführt wird. Die entsprechenden Signale werden von einer Pin-Logik 11 empfangen beziehungsweise ausgegeben.
-
Der SDRAM gemäß 1 besteht im wesentlichen aus einer Zugriffssteuerung 6 und einem Speicherzellenfeld 4. Die Zugriffssteuerung 6 enthält mehrere Logik-Baugruppen zur Kommando-Interpretation und zur Adressierung. Insbesondere ist eine Adressierungseinheit 8, eine Testmoduslogik 9 sowie eine Kommando-Logik 10 vorgesehen. Mit Hilfe dieser Baugruppen kann die Zugriffssteuerung 6 einen Speicherzugriff auf das Speicherzellenfeld 4 zum Lesen oder Schreiben von Daten steuern. Der Schreib- beziehungsweise Lese-Zugriff wird mit einem Aktivierungskommando des Speicherzellenfeldes zusammen mit einer Reihenadressierung (X-Adressierung) eingeleitet, anschließend wird die zugehörige Spaltenadressierung (Y-Adressierung) zusammen mit dem Lese- oder Schreib-Kommando durchgeführt. In 1 sowie in den folgenden 2 und 3 sind jeweilige Komponenten beziehungsweise Baugruppen zur X-Adressierung und Y-Adressierung mit ”X” beziehungsweise ”Y” gekennzeichnet.
-
Für den Speicherzugriff werden entsprechende Reihenadressen und Spaltenadressen von der Adressierungseinheit 8 zu einem Reihendecoder 2 beziehungsweise Spaltendecoder 3 weitergeleitet, die die entsprechenden adressierten Speicherzellen MC des Speicherzellenfeldes 4 und/oder Redundanz-Speicherzellenfeldes 5 auswählen. Die Speicherzellen MC sind hierbei in Kreuzungspunkten von Reihenleitungen RO und Spaltenleitungen COL angeordnet. Der Speicherzugriff erfolgt in Synchronisation mit einem Taktsignal CK, das an der Zugriffssteuerung 6 anliegt. Der Speicher 1 weist außerdem eine Adressierungsberechnungslogik 7 auf, deren Aufbau und Funktionsweise in Zusammenhang mit den 2 bis 5 näher erläutert wird.
-
In 2 ist eine Ausführungsform einer Adressierungseinheit 8 und einer Adressierungsberechnungslogik 7 dargestellt. Die Adressierungseinheit 8 enthält Standardkomponenten, die der Adressierungs-Spezifikation des Speichers Rechnung tragen. Sie dient insbesondere zur Adressierung von Speicherzellen für den Speicherzugriff anhand von empfangenen Adressierungssignalen XA und YA. Mit der Adressierungseinheit 8 ist die Adressierungsberechnungslogik 7 verbunden. Diese ist mittels einer Testmoduslogik 25 durch ein Testmodussignal TM für einen Testbetrieb des Speichers aktivierbar. Die Testmoduslogik 25 ist vorzugsweise an den Adreßanschlüssen ADR mit den Signalleitungen A00 bis A11 verbunden. Im allgemeinen wird die Anzahl der Adreßanschlüsse über diese Anzahl hinausgehen, was vor allem von der Speicherdichte abhängt. Um möglichst viel zusätzliche Funktionalität kodieren zu können, werden vorzugsweise alle verfügbaren Adreß-, Kommando- und/oder Datenzins umkodiert.
-
Über diese Signalleitungen werden im Testbetrieb kombinierte Kommandosignale und Adreßsignale für den Testbetrieb empfangen und an die Adressierungsberechnungslogik 7 weitergeleitet. Die Testmoduslogik 25 befindet sich hierbei im Zustand ”On”. Die Adressierungsberechnungslogik 7 empfängt die an den Signalleitungen A00 bis A11 anliegenden kombinierten Kommandosignale und Adreßsignale, berechnet daraus für den Speicherzugriff die Adressierungssignale XA und YA und speist diese in die Adressierungseinheit 8 ein. Diese steuert in entsprechender Weise den Reihendecoder 2 und Spaltendecoder 3 an. Hierbei ist in der Adressierungseinheit 8 im Y-Adressierungs-Pfad eine zusätzliche Burst-Logik 27 vorgesehen.
-
Im Normalbetrieb ist die Testmoduslogik 25, gesteuert durch das Testmodussignal TM, im Zustand ”Off”. In diesem Fall wird die Standard-Adreßlogik 26 der Adressierungseinheit 8, das heißt also die Adressierungseinheit 8 direkt zur Durchführung eines Standard-Adressierungsvorgangs für einen Speicherzugriff im Normalbetrieb angesteuert. In diesem Modus sind die Signalleitungen A00 bis A11 zur Übertragung von reinen Adreßsignalen vorgesehen.
-
Die Adressierungsberechnungslogik 7 umfaßt eine Registereinheit 21 zum Speichern von Adreßparametern, die für die anschließende Berechnung der Adressierungssignale XA und YA benötigt werden. Der Registereinheit 21 ist eine Rechenkaskade 22 nachgeschaltet, die die eigentliche Berechnung der Adressierungssignale durchführt. Eine Vergleichs- und Rückschreibelogik 23 dient zum Rückschreiben von aktuellen Adressierungssignalen in die Registereinheit 21. Zur Steuerung des Berechnungsvorganges und zur Einspeisung von Initialisierungswerten in die Registereinheit 21 und in die Rechenkaskade 22 ist eine Steuerungseinheit 24 vorgesehen, die mit der Registereinheit 21, der Rechenkaskade 22 und der Vergleichs- und Rückschreibelogik 23 verbunden ist. Die Steuerungseinheit 24 empfängt die über die Testmoduslogik 25 empfangenen kombinierten Kommando- und Adreßsignale, die an den Adreßanschlüssen ADR anliegen. Die Adressierungsberechnungslogik 7 ist derart ausgelegt, daß die Berechnung der Adressierungssignale XA und YA in der Adressierungsberechnungslogik innerhalb eines Taktzyklus des Taktsignals CK erfolgt. Die Adressierungsberechnungslogik 7 kann sowohl zur Berechnung von Reihenadressen als auch zur Berechnung von Spaltenadressen verwendet werden.
-
In 3 ist eine detailliertere Ausführungsform einer Adressierungsberechnungslogik 7 dargestellt. Die Registereinheit 21 enthält ein Offset-Register 211 zur Speicherung einer Reihen-Zugriffs-Startadresse XOffset sowie ein Register 212 zur Speicherung einer aktuellen Zugriffsadresse Xakt. Weiterhin ist ein Backup-Register 213 zur Speicherung einer Adresse Xsave in Form einer Adreß-Marke vorgesehen. Entsprechende Register 214 bis 216 sind auch für die Spaltenadressierung vorhanden. Die Register 211 und 212 beziehungsweise 214 und 215 sind über jeweilige Addierer und Zwischenregister mit einem Multiplexer 217 verbunden. Sowohl die Addierer als auch der Multiplexer 217 sind von der Steuerungseinheit 24 steuerbar. Ebenso ist der Austausch der Adreßparameter der Backup-Register 213, 216 mit den Registern 212, 215 steuerbar. Die Register 211 bis 216 werden bei einer Initialisierung mit einem jeweiligen Ausgangsparameter gesetzt. Über den Multiplexer 217 werden jeweilige Adreßparameter für die Reihenadressierung und Spaltenadressierung an die Rechenkaskade 22 ausgegeben.
-
Die Rechenkaskade 22 umfaßt Register R1 und R2 zur Festlegung von Schrittweiten und Sprungzielen bei der Adreßberechnung. In den Registern R1 und R2 wird dazu ein entsprechender Parameterwert gespeichert. Die Rechenkaskade 22 empfängt über das Eingangsregister 221 den von der Registereinheit 21 ausgegebenen Adreßparameterwert. Dieser wird zusammen mit dem Registerwert des Registers R1 einem Addierer/Subtrahierer 224 zugeführt. Ein Zwischenergebnis der Addition beziehungsweise Subtraktion wird in dem Register 225 zwischengespeichert. Das Zwischenergebnis wird zusammen mit dem Registerwert des Registers R2 einem Addierer/Subtrahierer 226 zugeführt, das Ergebnis dieser Addition beziehungsweise Subtraktion in dem Ausgangsregister 227 abgelegt.
-
Auf diese Weise wird die von der Registereinheit 21 empfangene Adresse modifiziert. Weiterhin weist die Rechenkaskade 22 einen Bypass 222 auf, um die empfangene Adresse unverändert auszugeben. Die Rechenkaskade 22 gemäß dem vorliegenden Ausführungsbeispiel enthält zwei Register R1, R2 und Paralleladdierer/-subtrahierer 224, 226, wobei gemäß dem erfindungsgemäßen Konzept mindestens ein Register beziehungsweise Addierer/Subtrahierer vorzusehen ist. Die Anordnung von mehreren Registern in der Rechenkaskade 22 hat den Vorteil, daß mit größerer Flexibilität unterschiedliche Schrittweiten und Sprungziele bei der Adreßberechnung realisiert werden können.
-
Über entsprechende Steuersignale der Steuerungseinheit 24 kann entschieden werden, welche der Register R1, R2 zur Berechnung von modifizierten Adreßsignalen hinzugezogen werden beziehungsweise ob die Komponenten 224 und 226 als Addierer oder Subtrahierer fungieren. Mittels der Steuerungseinheit 24 ist weiterhin steuerbar, ob der im Eingangsregister 221 gespeicherte Adreßwert direkt an das Ausgangsregister 227 weitergeleitet wird.
-
Der Rechenkaskade 22 ist eine Vergleichslogik 23 nachgeschaltet, die eine Registerschaltung 233 aufweist zur Speicherung von vorgegebenen Maximalwerten XMax und YMax für die Reihenadressierung beziehungsweise Spaltenadressierung. Weiterhin werden in der Registerschaltung 233 die Werte XOffset und YOffset gespeichert. Der von der Rechenkaskade 22 ausgegebene Wert wird im Eingangsregister 231 gespeichert. Eine wahlweise von der Steuerungseinheit 24 gesteuerte Vergleichsschaltung 232 vergleicht die Werte XMax und YMax der konfigurierbaren Registerschaltung 233 mit dem Wert des Eingangsregister 231. Abhängig von dem Vergleichsergebnis wird die Adresse des Eingangsregisters 231 modifiziert. Im Falle eines Adreßbereichs der Größe einer ganzzahligen Zweierpotenz n kann die Adreßbereichseingrenzung von 0 bis 2n – 1 durch einfache UND-Operation mit einer Bereichsmaske Xmask oder Ymask erfolgen. Eine flexible, geradezu ideale ”Adreßbereichsfilterung” (Einschränkung bei Bereichsüberlauf/-unterlauf) nicht geradzahliger oder unvollständig geradzahliger binärer Adreßbreite wird durch eine Vergleichslogik 23 erreicht.
-
Der gegebenenfalls modifizierte Adreßwert wird im Ausgangsregister 234 abgelegt und in den jeweiligen X-Adressierungs-Pfad beziehungsweise Y-Adressierungs-Pfad zur Weiterleitung an die Adressierungseinheit 8 eingespeist. Über Rückkopplungsregister 235 und 236 werden die aktuellen Adressierungssignale in die dafür vorgesehenen Register 212, 215 der Registereinheit 21 rückgeschrieben.
-
Die Zusammenschaltung von Registereinheit 21, Rechenkaskade 22 und Vergleichs- und Rückschreibelogik 23 in Verbindung mit der Rückkopplungsschleife ist so konstituiert, daß alle Paralleladditionen in mehreren Stufen zusammen mit den Vergleichsberechnungen innerhalb eines Taktes abgearbeitet und für die im nächsten Takt folgende Adreßberechnung verwendet werden können. Die Adreßberechnung für die X-Adressierung und Y-Adressierung wird seriell gemäß der Adressierungsreihenfolge zum Zugriff auf das Speicherzellenfeld des Speichers, bei dem zuerst die Reihen und anschließend die Spalten adressiert werden, durchgeführt.
-
Zu Beginn des Betriebs der Adressierungsberechnungslogik 7 muß eine Initialisierung derselben mit geeigneten Ausgangsparametern vorgenommen werden. Die Initialisierung beinhaltet das Konfigurieren der Registereinheit, das Konfigurieren der zur Berechnung hinzuziehbaren Register in der Rechenkaskade und das Laden von Registerwerten in der Vergleichs- und Rückschreibelogik.
-
Im folgenden wird die Funktionsweise der Adressierungsberechnungslogik 7 näher beschrieben.
-
Die Adressierungsberechnungslogik wird durch Aufruf eines Testmodes mittels des Testmodussignals TM einmalig aktiviert. Dieser Testmode bleibt bis zum Trennen der Stromversorgung aktiv oder wird durch einen entsprechenden Adreßberechnungs-Steuermodus aufgehoben. Die Adressierungsberechnungslogik ist vorteilhaft derart aufgebaut, daß ein erneutes Laden oder Umkonfigurieren von Registern nicht nötig ist.
-
Eine Initialisierung der Adressierungsberechnungslogik erfolgt entweder durch parallele, parallel-serielle oder rein serielle Übertragung von zu speichernden Registerwerten über die Adreßpins. Dabei können in einem oder mehreren nachfolgenden Takten die Register reihenweise gesetzt werden. Bevorzugt wird eine 2-Takt-Übertragung gewählt, bei der im ersten Takt das zu beschreibende Register adressiert wird und im zweiten oder nachfolgenden Takt die jeweiligen Parameterwerte parallel oder seriell übertragen werden. Bei einem 10 Bit breiten Adreßbus sind bei einer 2-Wort-Übertragung 1024 Register selektierbar und konfigurierbar. Alle in der Adressierungsberechnungslogik enthaltenen Register sind in ihrer Adreßbreite den zu adressierenden Speicherzellen angepaßt.
-
Hierbei ist ein zusätzlicher Registersatz zur Adressierung einer Speicherbank (sogenannte Z-Adressierung) denkbar. Vorteilhaft ist ein spezielles Reset-Kommando vorgesehen, das alle Register in einem Takt auf entsprechend gewünschte Werte zurücksetzen kann. Somit wäre der Initialisierungsvorgang merklich verkürzbar.
-
Nach dem Konfigurieren der Register können von extern im Testbetrieb Schreib-/Lese-Operationen über die Kommandoanschlüsse eingeleitet werden. Im Testmodus werden an den Adreßanschlüssen, entgegen einer Betriebsweise im Normalbetrieb, kombinierte Kommando- und Adreßsignale angelegt, aus denen die Adressierungsberechnungslogik Testmodus-spezifische Adressen berechnet.
-
In der folgenden Tabelle sind beispielhafte, nicht abschließende Kommandos aufgelistet, die für einen Testbetrieb zur Verfügung stehen. Es werden hierbei nur X-Adreßbefehle aufgelistet, die analog auch für die Y-Adressierung beziehungsweise Z-Adressierung existieren.
| Takte | Bedeutung |
Reset | 1 | Setze Adresslogik zurück |
ExitTestMode | 1 | Reaktiviere Adresslogik |
LoadReg n, m | 2 | Lade Register n mit dem Wert m |
| | |
AddXOffsetToXakt | 1 | Addiere den Offset zur aktuellen X-Addr |
MoveXaktToRn | 1 | Kopiere Xakt nach Register Rn |
MoveXaktToXSave | 1 | Kopiere Xakt nach Xsave |
MoveXSaveToXakt | 1 | Kopiere Xsave nach Xakt |
MoveXaktToXMax | 1 | Kopiere Xakt nach XMax |
| | |
XALUSubn | 1 | Subtrahiere alle Register Rn von Xakt je nach Bit-Status von Argument 1. Argument 1 gibt die Registerauswahl an. |
XALUAddn | 1 | Addiere alle Register Rn zu XAkt je nach Bit-Status von Argument 1. Argument 1 gibt die Registerauswahl an. |
XALUn,x | 1 | Addiere/Subtrahiere alle Register zu/von Xakt, je nach Bit-Status von Argument 1 und Argument 2. Argument 1 gibt die Registerauswahl an. Argument 2 gibt die Addition (= 0) bzw. Subtraktion (= 1) bei der Registerauswahl an. |
-
Im folgenden ist eine beispielhafte Adreßcodierungstabelle für eine Adressierungsberechnungslogik mit drei Registern R1, R2, R3 in der Rechenkaskade und je einem Offset-, Max- und Save-Register für die X-Adressierung und Y-Adressierung dargestellt.
| Befehlscodierung | Argument 2 | Argument 1 |
Befehl | A11 | A10 | A09 | A08 | A07 | A06 | A05 | A04 | A03 | A02 | A01 | A00 |
Reset | 0 | 0 | 0 | 0 | 0 | 0 | | | | | | |
ExitTestMode | 1 | 1 | 1 | 1 | 1 | 1 | | | | | | |
LoadReg n, m | 0 | 0 | 0 | 0 | 0 | 1 | m2 | m1 | m0 | R3 | R2 | R1 |
AddxOffToXakt | 0 | 0 | 0 | 0 | 0 | 1 | | | | | | |
MoveXaktTaRn | 0 | 0 | 0 | 0 | 1 | 0 | | | | R3 | R2 | R1 |
MoveXaktToXSave | 0 | 0 | 0 | 0 | 1 | 1 | | | | | | |
MoveXSaveToXakt | 0 | 0 | 0 | 1 | 0 | 0 | | | | | | |
MoveXaktToXMax | 0 | 0 | 0 | 1 | 0 | 1 | | | | | | |
AddYOffToxakt | 1 | 0 | 0 | 0 | 0 | 1 | | | | | | |
MoveYaktToRn | 1 | 0 | 0 | 0 | 1 | 0 | | | | R3 | R2 | R1 |
MoveYaktToxSave | 1 | 0 | 0 | 0 | 1 | 1 | | | | | | |
MoveYSaveToXakt | 1 | 0 | 0 | 1 | 0 | 0 | | | | | | |
MoveYaktToXMax | 1 | 0 | 0 | 1 | 0 | 1 | | | | | | |
XALUSubn | 0 | 1 | 0 | 0 | 0 | 0 | | | | R3 | R2 | R1 |
XALUAddn | 0 | 1 | 0 | 0 | 0 | 0 | | | | R3 | R2 | R1 |
XALUn,x | 0 | 1 | 0 | 0 | 0 | 0 | x2 | x1 | x0 | R3 | R2 | R1 |
YALUSubn | 1 | 0 | 0 | 0 | 0 | 0 | | | | R3 | R2 | R1 |
YALUAddn | 1 | 0 | 0 | 0 | 0 | 0 | | | | R3 | R2 | R1 |
YALUn,x | 1 | 0 | 0 | 0 | 0 | 0 | x2 | x1 | x0 | R3 | R2 | R1 |
-
Im folgenden wird beispielhaft die Durchführung der bestimmten Operationsfolge ”ACT x + 1/WR Y + 1” erläutert.
-
Dies bedeutet, daß Reihen nacheinander mit Schrittweite 1 adressiert und aktiviert werden und Spalten ebenfalls mit Schrittweite 1 nacheinander beschrieben werden. Nach der Initialisierung des Speichers, bei der im Register R1 der Wert 1 abgelegt worden ist, wird an die Kommandoanschlüsse und Adreßanschlüsse folgende Befehlsfolge angelegt:
ACT XALUAdd1/WR YALUAdd1.
-
Im allgemeinen kann die Berechnungslogik aus der aktuellen X-Adresse Xakt, den Registerwerten der Register Rx, dem Offset-Wert XOffset und XMax die nächste gültige X-Adresse berechnen gemäß
-
Für die Y-Adreßberechnung ergibt sich entsprechendes. Die obigen Berechnungsgleichungen erfordern bei einer einstufigen Rechenkaskade mindestens drei Berechnungen, wobei der Gräßer-Kleiner-Vergleich durch eine Addition/Subtraktion implizit schon vorliegt. Mit entsprechend gewählten X-Y-Offset-Registerwerten kann bestimmt werden, ob ein regulärer Zellenfelddurchlauf mit Overflow-Automatik, ein Durchlauf eines Bereichs des Zellenfelds mit Overflow-Automatik, ein Durchlauf des Redundanz-Zellenfeldes mit Overflow-Automatik oder ein Durchlauf eines Bereichs des Redundanz-Zellenfeldes mit Overflow-Automatik durchgeführt wird. Hierfür werden die X/Y-Offset-Werte und X/YMax-Werte entsprechend gewählt. Der Registerwert Rx gibt hierbei die Schrittweite und Schrittrichtung an.
-
In den 4 und 5 ist eine schematische Darstellung eines Speicherzellenfeldes 4 beziehungsweise eines Redundanz-Speicherzellenfeldes 5 mit einer beispielhaften Anzahl an Reihen und Spalten gezeigt. Das Speicherzellenfeld 4 weist 32 Reihen und 64 Spalten auf. Es sind in dem Speicherzellenfeld 4 demzufolge 32 × 64 Speicherzellen angeordnet. Das X-Redundanz-Speicherzellenfeld hat die Größe 2 × 64, das Y-Redundanz-Speicherzellenfeld die Größe 32 × 4.
-
Im Zusammenhang mit 5 werden im folgenden vier Beispiele eines Adressierungsdurchlaufs für einen Testbetrieb erläutert.
-
In 5a ist ein Adressierungsdurchlauf des X-Y-Redundanz-Speicherzellenfeldes mit Schrittweite +1 gezeigt (schraffiert dargestelltes Zellenfeld). Hierzu werden für die Adressierungsberechnungslogik folgende Start-Parameter bei der Initialisierung gewählt:
XOffset = 32
YOffset = 64
Xakt = XOffset
Yakt = YOffset
XMax = 33
YMax = 67
R1 = +1
-
In 5b ist ein Adressierungsdurchlauf des regulären Speicherzellenfeldes 4 mit Schrittweite +2 dargestellt. Hierbei werden folgende Start-Parameter gesetzt:
XOffset = 0
YOffset = 0
Xakt = XOffset
Yakt = YOffset
XMax = 31
YMax = 63
R1 = +2
-
In 5c ist ein Adressierungsdurchlauf des X-Redundanz-Speicherzellenfeldes mit Schrittweite –1 gezeigt. Hierbei werden folgende Start-Parameter gesetzt:
XOffset = 32
YOffset = 0
Xakt = XOffset
Yakt = YOffset
XMax = 33
YMax = 67
R1 = –1
-
In 5d ist ein Adressierungsdurchlauf des kompletten Speicherzellenfeldes mit Schrittweite –2 dargestellt. Hierbei werden folgende Start-Parameter gewählt:
XOffset = 0
YOffset = 0
Xakt = XOffset
Yakt = YOffset
XMax = 33
YMax = 67
R1 = –2
-
Bezugszeichenliste
-
- 1
- Speicher
- 2
- Reihendecoder
- 3
- Spaltendecoder
- 4
- Speicherzellenfeld
- 5
- Redundanz-Speicherzellenfeld
- 6
- Zugriffssteuerung
- 7
- Adressierungsberechnungslogik
- 8
- Adressierungseinheit
- 9
- Testmoduslogik
- 10
- Kommandologik
- 11
- Pin-Logik
- 21
- Registereinheit
- 22
- Rechenkaskade
- 23
- Vergleichs- und Rückschreibelogik
- 24
- Steuerungseinheit
- 25
- Testmoduslogik
- 26
- Standard-Adreßlogik
- 27
- Burst-Logik
- 211 bis 216
- Register
- 217
- Multiplexer
- 221
- Eingangsregister
- 222
- Bypass
- 224
- Addierer/Subtrahierer
- 225
- Register
- 226
- Addierer/Subtrahierer
- 227
- Ausgangsregister
- 231
- Eingangsregister
- 232
- Vergleichsschaltung
- 233
- Registerschaltung
- 234
- Ausgangsregister
- 235, 236
- Rückkopplungsregister
- MC
- Speicherzellen
- DQ
- Datenanschlüsse
- CMD
- Kommandoanschlüsse
- ADR
- Adreßanschlüsse
- X
- Komponente der Reihenadressierung
- Y
- Komponente der Spaltenadressierung
- RO
- Reihe
- COL
- Spalte
- TM
- Testmodussignal
- R1, R2
- Register
- CK
- Taktsignal
- XA
- Adressierungssignal
- YA
- Adressierungssignal
- A00 bis A11
- Signalleitung
- XOffset
- Reihen-Zugriffs-Startadresse
- Xakt
- aktuelle Adresse
- Xsave
- Backup-Adresse
- YOffset
- Spalten-Zugriffs-Startadresse
- Yakt
- aktuelle Adresse
- Ysave
- Backup-Adresse