Die Erfindung betrifft eine integrierte Schaltung mit einer
Datenverarbeitungseinheit und einem Zwischenspeicher.
Das Testen einer integrierten Schaltung wird herkömmlicher
weise durchgeführt, indem die integrierte Schaltung von einem
Tester mit Testdaten versorgt wird. Die in Abhängigkeit von
den angelegten Testdaten erhaltenen Ausgangswerte werden an
den Tester zurückübertragen und dort überprüft. Stellt der
Tester fest, dass ein zurückübertragener Wert nicht einem
Sollwert entspricht, wird ein Fehler erkannt.
Für die Reparatur von Fehlern in integrierten Schaltungen
sind häufig Einstellungsspeicher vorgesehen, die nach Ab
schluss eines Testes beschrieben werden, um z. B. defekte
Schaltungsbereiche abzuschalten und durch zusätzlich auf der
integrierten Schaltung vorgesehene, redundante Schaltungs
elemente zu ersetzen. Dies erfolgt dadurch, in dem sog. Fuses
verwendet werden, die Schalter darstellen, die anfänglich ge
schlossen bzw. geöffnet sind und dann je nach vorzunehmender
Einstellung mit Hilfe einer geeigneten Programmierschaltung
geöffnet bzw. geschlossen werden.
Herkömmlicherweise wird die Berechnung der notwendigen Ein
stellungen in einem externen Tester durchgeführt. Diese Vor
gehensweise ist insbesondere aufgrund der Datenübertragung
vom und zum Tester sehr zeitintensiv. Will man die vorzuneh
menden Einstellungen in der getesteten integrierten Schaltung
ermitteln, so ist es notwendig, eine integrierte Verar
beitungsschaltung einschließlich Registerspeicher vorzusehen,
in denen die Einstellungen berechnet werden. Bei Speicherbau
steinen müsste diese Verarbeitungsschaltung die vorzunehmen
den Einstellungen durch eine Redundanzkalkulation optimieren,
wobei dann durch die Einstellungen Ersatzelemente für Fehler
adressen in einem Speicherfeld aktiviert werden. Die Re
dundanzkalkulation in der Verarbeitungseinheit wird üblicher
weise mit einem iterativen Verfahren durchgeführt. Das Ermit
teln entsprechender Einstellungen in der zu testenden Schal
tung hat den Nachteil, dass ein erheblicher zusätzlicher
Schaltungsaufwand für die Verarbeitungsschaltung, die die Re
dundanzkalkulation durchführt, notwendig wäre.
Es ist daher Aufgabe dieser Erfindung, eine integrierte
Schaltung vorzusehen, mit der die individuellen Einstellungen
für den Einstellungsspeicher ermittelt werden können, wobei
der notwendige Schaltungsaufwand minimiert wird.
Diese Aufgabe wird durch die integrierte Schaltung nach An
spruch 1 gelöst. Weitere vorteilhafte Ausführungsformen sind
in den abhängigen Ansprüche angegeben.
Erfindungsgemäß ist eine integrierte Schaltung mit einer
Datenverarbeitungseinheit, einem Zwischenspeicher und einem
Einstellungsspeicher vorgesehen. Der Zwischenspeicher enthält
Register für die Datenverarbeitungseinheit. Der Zwischen
speicher ist mit dem Einstellungsspeicher verbunden, wobei
der Einstellungsspeicher über den Zwischenspeicher be
schreibbar und/oder lesbar ist.
Diese Erfindung hat den Vorteil, dass eine Redundanzkalkula
tion zum Bestimmen der Einstellungswerte für den Einstel
lungsspeicher in der integrierten Schaltung, die getestet
wird, vorgenommen werden kann. Die dazu notwendige Schaltung,
die eine Datenverarbeitungseinheit, einen Zwischenspeicher
und einen Einstellungsspeicher aufweist, um die notwendigen
Berechnungen durchzuführen, hätte aufgrund des Schaltungsauf
wands für den Registerspeicher einen nicht zu vernachlässig
baren Flächenbedarf in der integrierten Schaltung. Indem er
findungsgemäß vorgesehen ist, die ohnehin in der integrierten
Schaltung zum Beschreiben der Einstellungsspeicher zur Verfügung
stehenden Zwischenspeicher auch als Register für eine
Datenverarbeitungseinheit zu verwenden, kann der zusätzliche
Flächenbedarf minimiert werden. Es ist lediglich ein zusätz
licher Schaltungsaufwand für die Verarbeitungseinheit nötig,
nicht jedoch für die Registerspeicher.
In einer weiteren bevorzugten Ausführungsform ist vorgesehen,
dass die integrierte Schaltung Schaltungselemente zum Ersatz
von defekten Schaltungsbereichen aufweist, wobei die Schal
tungselemente durch den Einstellungsspeicher aktivierbar
sind. Vorzugsweise sind die Schaltungselemente Speicher
elemente, die defekte Speicherbereiche eines Speichers er
setzen. Es ist dabei besonders vorteilhaft, das Ermitteln der
Einstellungen in der zu testenden integrierten Schaltung vor
zunehmen, da insbesondere die optimale Nutzung der zur Ver
fügung stehenden Schaltungselemente, die die defekten Spei
cherbereiche ersetzen sollen, nur mit einigem Rechenaufwand
zu berechnen ist. Üblicherweise werden die dazu notwendigen
Einstellungen iterativ ermittelt, d. h. in einem recheninten
siven Näherungsverfahren. Mit der erfindungsgemäßen Vor
richtung können die dazu notwendigen Rechenoperationen paral
lel in der jeweiligen integrierten Schaltung durchgeführt
werden, wodurch Rechenkapazität in einem Tester eingespart
werden kann.
Gemäß einer weiteren bevorzugten Ausführungsform ist vorge
sehen, dass die Verarbeitungseinheit eine Arithmetik-Logik-
Einheit (ALU) aufweist. Eine solche Arithmetik-Logik-Einheit
ist üblicherweise aufgebaut, so dass codierte Anweisungen in
einem Programmspeicher auf die Inhalte von einem oder
mehreren Registern angewandt werden. Ferner ist vorgesehen,
dass der Zwischenspeicher der integrierten Schaltung in
mehrere Register unterteilt ist, wobei mindestens ein Re
gister für die zu verarbeitenden Daten und ein weiteres Re
gister für codierte Anweisungen für die ALU vorgesehen ist.
Dabei weist die integrierte Schaltung vorzugsweise zwei Da
ten-Register für die zu verarbeitenden Daten auf. Eine solche
Konfiguration ist vorteilhaft, damit ein Programmregister für
die codierten Anweisungen und zwei Daten-Register vorgesehen
sind, mit deren Inhalten arithmetische oder logische
Operationen entsprechend den Anweisungen ausgeführt werden
können. Das Ergebnis wird in eines der Daten-Register zurück
geschrieben. Da über die Arithmetik-Logik-Einheit die Daten
in die Registerzellen geschrieben werden können, ist es mög
lich, dass die ALU die ermittelten Einstellungen direkt an
die betreffende Position des Zwischenspeichers für den Ein
stellungsspeicher schreibt. Auf diese Weise kann in erheb
lichem Maße Zeit eingespart werden, da das Übertragen von er
mittelten Daten von der integrierten Schaltung zum Tester
und/oder umgekehrt entfällt.
Die Erfindung wird anhand der beigefügten Zeichnung näher er
läutert. Es zeigt:
Fig. 1 ein Blockschaltbild einer integrierten Schaltung gemäß
einer Ausführungsform der Erfindung.
Fig. 1 zeigt schematisch ein Blockschaltbild einer integrier
ten Schaltung gemäß einer bevorzugten Ausführungsform der Er
findung. In einer integrierten Schaltung (nicht gezeigt) be
findet sich ein Einstellungsspeicher 1 mit Einstellungs
speicherzellen 2. Der Einstellungsspeicher 1 dient dazu re
dundante Schaltungsbereiche, insbesondere redundante Spei
cherbereiche, zu aktivieren, um dadurch defekte Bereiche ei
nes (nicht gezeigten) Speicherarrays zu ersetzen. Der Ein
stellungsspeicher 1 steht mit einem Latch 3 mit Latchzellen 4
in Verbindung, so dass jede Einstellungsspeicherzelle 2 eine
Latchzelle 4 zugeordnet ist. Das Latch 3 ist in einen ersten
Latchbereich 5, einen zweiten Latchbereich 6 und einen drit
ten Latchbereich 7 unterteilt, wobei die Latchzellen 4 in je
dem der Latchbereiche 5, 6, 7 als Schieberegister verschaltet
sind, d. h. der Ausgang einer Latchzelle ist mit dem Eingang
einer nächsten Latchzelle 4 verbunden. Vorzugsweise weist der
erste 5 und der zweite Latchbereich 6 jeweils die gleiche Anzahl
von Latchzellen 4 auf. Es kann jedoch auch vorgesehen
sein, dass die Anzahl der Latchzellen 4 in dem ersten Latch
bereich 5 und dem zweiten Latchbereich 6 unterschiedlich
sind.
Die jeweils erste bzw. letzte Latchzelle der Latchzellen 4
der drei Latchbereiche 5, 6, 7 sind mit den Bezugszeichen
41, 43, 45 bzw. 42, 44, 46 versehen. Der Ausgang der letzten
Latchzelle 42 des ersten Latchbereiches 5 ist über einen
Schalter S1 schaltbar mit dem Eingang der ersten Latchzelle
43 des zweiten Latchbereiches 6 verbunden, so dass bei ge
schlossenem Schalter ein Schieberegister gebildet wird, das
den ersten und zweiten Latchbereich umfasst. Ebenso ist der
Ausgang der letzten Latchzelle 44 des zweiten Latchbereiches
6 über einen Schalter S2 schaltbar mit einem Eingang der
ersten Latchzelle 45 des dritten Latchbereiches 7 verbunden,
so dass bei geschlossenem Schalter S2 ein Schieberegister
über den zweiten 6 und dem dritten Latchbereich 7 gebildet
wird. Sind beide Schalter S1 und S2 geschlossen, bilden alle
Latchzellen 4 gemeinsam ein Schieberegister.
Die Ausgänge der letzten Latchzellen 42, 44 des ersten Latch
bereiches 5 und des zweiten Latchbereiches 6 sind jeweils mit
einer Verarbeitungseinheit 8 verbunden, so dass die Daten in
den Latchbereichen 5, 6, 7 seriell gelesen werden können. Ein
Ausgang der Verarbeitungseinheit 8 ist mit einem Eingang der
ersten Latchzelle 41 des ersten Bereiches 5 verbunden. Der
Ausgang der letzten Latchzelle 46 des dritten Latchbereiches
7 ist einerseits mit einem Eingang der Verarbeitungseinheit 8
und andererseits über einen Schalter S3 schaltbar mit dem
Eingang der ersten Latchzelle 45 des dritten Latchbereiches 7
verbunden. Die Schalter S1, S2 und S3 werden über die Ver
arbeitungseinheit 8 gesteuert. Am Eingang der ersten Latch
zelle 41 des ersten Bereiches 5 ist weiterhin ein externer
Tester angeschlossen (nicht gezeigt), über den die Latch
zellen geschrieben oder ausgelesen werden können.
Um aus Fehlerdaten, d. h. fehlerhaften Ausgangsdaten bei An
liegen eines bestimmten Testmusters, wie z. B. Adressen defek
ter Speicherzellen, Einstellungsdaten für den Einstellungs
speicher 1 zu generieren, müssen die Fehlerdaten gewöhnlich
in einem Algorithmus verarbeitet werden. Das Ergebnis des
Algorithmus sind dann Einstellungsdaten, die in den Einstel
lungsspeicher 1 gespeichert werden. Bei herkömmlichen Test
systemen wird diese Berechnung in einem externen Tester
(nicht gezeigt) durchgeführt, d. h. die Fehlerdaten werden an
den externen Tester übertragen, dort die Berechnung durchge
führt und anschließend die Einstellungsdaten in die inte
grierte Schaltung zum Speichern in den Einstellungsspeicher 1
zurückübertragen.
Im vorliegenden Ausführungsbeispiel wird die integrierte
Schaltung in einem Speicherbaustein vorgesehen. Der Einstel
lungsspeicher 1 erhält dann nach dem Beschreiben Einstel
lungswerte, wodurch Redundanzspeicherbereiche freigeschaltet
werden, die defekte Speicherzellen in einem Hauptzellenfeld
ersetzen. Da durch den Einstellungsspeicher sowohl Wort- und
Bit-Leitungen als auch einzelne Zellen ersetzt werden können,
ist es sinnvoll in einem Algorithmus defekte Zellen, soweit
möglich, zu Wort- oder Bitleitungen zusammenzufassen, die
dann mit einer dafür vorgesehenen redundanten Wort- oder Bit
leitung ersetzt werden.
Mit der erfindungsgemäßen integrierten Schaltung ist es mög
lich, diese Berechnung in dem Speicherbaustein durchzuführen.
Dadurch, dass man die Latchzellen 4 für die Einstellungs
speicherzellen 2 als Register für die Verarbeitungseinheit 8
verwendet, kann in erheblichem Maße Fläche auf dem Speicher
baustein eingespart werden.
Eine Redundanzberechnung wird durchgeführt, indem zunächst
vom Tester (nicht gezeigt) die ermittelten Fehlerdaten und
die Verarbeitungsanweisungen zur Verfügung gestellt werden,
die dann seriell in das als Schieberegister ausgebildete
Latch 3 geschrieben werden, so dass sich Fehlerdaten in dem
ersten Latchbereich 5 und dem zweiten Latchbereich 6 und An
weisungsdaten in dem dritten Latchbereich 7 befinden. Um
diese Daten in das Latch 3 hineinzuschreiben, müssen die
Schalter S1 und S2 geschlossen sein, so dass das gesamte
Latch 3 ein einheitliches Schieberegister bildet. Das Latch 3
kann jedoch auch mit Daten beschrieben werden, die in der in
tegrierten Schaltung erzeugt werden oder dort gespeichert
sind. So können z. B. die Latchbereiche 5, 6 mit Daten aus
einem Soll-Ist-Vergleich, der in der integrierten Schaltung
stattfindet, und der Latchbereich 7 mit Programmdaten aus ei
nem ROM-Speicher beschrieben werden.
Befinden sich die vorgesehenen Daten im Latch 3, beginnt die
Verarbeitungseinheit 8 damit, die Anweisung im dritten Latch
bereich 7 auszuführen. Dazu werden die Schalter S1 und S2 ge
öffnet und Schalter S3, je nach dem, ob eine zyklische Be
arbeitung notwendig ist, geschlossen. Nun wird der Inhalt der
letzten Latchzelle 46 des dritten Bereiches 7 durch ein Ver
schieben nach rechts in die Verarbeitungseinheit 8 ausgele
sen. Der Inhalt der letzten Latchzelle 46 wird dabei in die
erste Latchzelle 45 des dritten Latchbereiches 7 wieder
hineingeschrieben, wenn der Schalter S3 geschlossen ist.
Gemäß der empfangenen Anweisung liest die Verarbeitungsein
heit 8 den Inhalt der letzten Latchzelle 42 des ersten Latch
bereiches 5 und/oder der Inhalt der letzten Latchzelle 44 des
zweiten Latchbereiches 6 ein und verknüpft diese Inhalte ge
mäß der empfangenen Anweisungen. Das Ergebnis wird in die
erste Latchzelle 41 des ersten Latchbereiches 5 geschrieben,
und alle Positionen der Latchzellen 4 nach rechts verschoben,
wobei der Inhalt der letzten Latchzelle 42 des ersten Latch
bereiches in die Verarbeitungseinheit 8 eingelesen wird.
Dieser Verarbeitungszyklus wird in einer vorgegebenen Anzahl
wiederholt und dabei nacheinander durch ein Nach-Rechts-Ver
schieben der Latchzellen des ersten Bereiches 5 und/oder der
Latchzellen 4 des zweiten Latchbereiches 6 alle Latchzellen
des ersten Latchbereiches 5 und des zweiten Latchbereiches 6
gemäß der empfangenen Anweisung in der Verarbeitungseinheit 8
verarbeitet. Mit dem Auslesen der Inhalte der Latchzellen 4
des ersten Latchbereiches 5 wird gleichzeitig an dem Eingang
der ersten Latchzelle 41 des ersten Latchbereiches 5 das je
weilige Ergebnis der Verarbeitung in den ersten Latchbereich
5 geschrieben.
Nach Ablauf der bestimmten Anzahl von Zyklen ist die An
weisung bearbeitet und die nächste Anweisung wird aus der
letzten Latchzelle 46 des dritten Latchbereiches 7 in die
Verarbeitungseinheit durch ein Nach-Rechts-Verschieben einge
lesen. Dort wird, wie zuvor beschrieben, der Inhalt der
Latchzellen 4 des ersten Latchbereiches 5 und/oder der Inhalt
der Latchzellen des zweiten Latchbereiches 6 gemäß der An
weisung verarbeitet und das Ergebnis jeweils in die erste
Latchzelle 41 des ersten Latchbereiches 5 hineingeschrieben.
Auslesen und Hineinschreiben in den Latchbereich 5 und den
zweiten Latchbereich 6 erfolgt durch ein Nach-Rechts-Ver
schieben der Inhalte.
Die Verarbeitungseinheit 8 kann ebenfalls über ein Steuern
des Schalters S1 vorsehen, die Inhalte des ersten Latchbe
reiches 5 in den zweiten Latchbereich 6 durch ein Nach-
Rechts-Verschieben zu übertragen. Analog ist es auch möglich,
Inhalte des zweiten Latchbereiches 6 über die Verarbeitungs
einheit 8 - gesteuert durch im dritten Latchbereich 7 ge
speicherten Anweisungen - in den ersten Latchbereich 5 zu
übertragen. Weiterhin ist es möglich, durch Schließen des
Schalters S2 und Öffnen des Schalters S3 den Inhalt des zwei
ten Latchbereiches 6 in den dritten Latchbereich 7 zu über
tragen. Dadurch kann auch ein Ergebnis einer zuvor erfolgten
Operation in den dritten Latchbereich 7, den Anweisungs
speicher, geladen werden, wodurch komplexe, vom Ergebnis vor
heriger Operationen abhängige Programmabläufe durchgeführt
werden können.
Es kann weiterhin vorgesehen sein, dass die erfindungsgemäße
integrierte Schaltung nur ein Teil der zur Verfügung stehen
den Latchzellen 4 als Registerzellen verwendet. Z. B. könnte
der Ausgang der letzten Latchzelle 46 des dritten Bereiches 7
über einen weiteren Schalter (nicht gezeigt) mit weiteren
Latchzellen 4, die jeweiligen Einstellungsspeicherzellen 2
zugeordnet sind, verbunden sein. Dadurch wäre es möglich,
dass bereits ermittelte Einstellungswerte für den Einstel
lungsspeicher 1 in die betreffenden Latchzellen 4 abgelegt
werden, ohne diese zuvor zur Zwischenspeicher o. ä. an den
externen Tester übertragen zu müssen.
Selbstverständlich können die Latchzellen 4 auch in mehr als
drei Bereiche unterteilt werden. Dadurch ist es möglich, in
der Verarbeitungseinheit 8 auch komplexere Operationen mit
mehr als zwei Registern vorzunehmen.
Durch das Schließen des Schalters S3 wird der Programm
speicher im dritten Latchbereich 7 rückgekoppelt, so dass
eine vorgegebene Anweisungsfolge wiederholt ausgeführt werden
kann. Dies eignet sich bevorzugt für das Durchführen von
iterativen Berechnungsverfahren, die insbesondere bei der
Optimierung von Einstellungswerten aus Fehlerdaten vorgenom
men werden müssen. Es ist dadurch möglich, erhebliche Rechen
zeit einzusparen, da während eines Testlaufes die integrier
ten Bausteine parallel Rechenoperationen durchführen können,
die nach herkömmlichem Verfahren im Tester stattgefunden hät
ten.
Die Größe der Latchbereiche 5, 6, 7 kann willkürlich gewählt
werden. Es ist jedoch sinnvoll, den ersten und zweiten Latch
bereich 5, 6 in der Größe einer Speicheradresse vorzusehen,
um Adressen defekter Speicherzellen verarbeiten zu können und
den dritten Latchbereich 7 in einer ausreichenden Größe für
die Operationen für die Verarbeitungseinheit 8 vorzusehen.
Die in der vorstehenden Beschreibung, der Zeichnung und den
Ansprüchen offenbarten Merkmale der Erfindung können sowohl
einzeln als auch in beliebiger Kombination für die Verwirk
lichung der Erfindung in ihren verschiedenen Ausgestaltungen
von Bedeutung sein.
Bezugszeichenliste
1
Einstellungsspeicher
2
Einstellungsspeicherzelle
3
Latch
4
Latchzellen
5
1
. Latchbereich
6
2
. Latchbereich
7
3
. Latchbereich
8
Verarbeitungseinheit
41-46
Latchzellen
S1, S2, S3 Schalter