-
Die
Erfindung betrifft eine Schaltungsanordnung zur Erzeugung eines
n-Bit Ausgangszeigers, insbesondere für einen FIFO-basierten Leselatenzzähler mit
einstellbarer Leselatenz in einem Halbleiterspeicher. Die Erfindung
betrifft ferner einen Halbleiterspeicher und ein Verfahren.
-
Bei
modernen Computer- und Softwareanwendungen besteht zunehmend der
Bedarf, immer größere Datenmengen
in immer kürzerer
Zeit zu verarbeiten. Zur Speicherung der Daten werden hoch integrierte
Speicher, wie z. B. synchrone dynamische Schreib/Lesespeicher (S-DRAM-Speicher)
verwendet. S-DRAM sind Standardspeicherbausteine, die aus hoch integrierten
Transistoren und Kondensatoren bestehen und die einen Speicherzugriff
ohne zusätzliche
Wartezyklen erlauben.
-
1 der Zeichnung zeigt ausschnittsweise
den Lesepfad eines S-DRAM
1, wie er in der
DE 102 10 726 B4 und dort
insbesondere in
1 dargestellt
ist. Über
einen Leseverstärker
3 und
eine internen Datenbus
4 werden getaktet über ein
internes Taktsignal CLK Lesedaten aus dem Speicherzellenfeld
2 ausgelesen.
Zur synchronen Datenausgabe ist im Lesepfad ein Datenpuffer-FIFO
5 angeordnet.
Die dort zwischengespeicherten Lesedaten werden über einen OCD-Treiber
6 (Off
Chip Driver) aus dem FIFO
5 ausgelesen und über einen externen
Datenbus
7 beispielsweise einem Mikrokontroller zur weiteren
Verarbeitung zugeführt.
Das FIFO
5 wird von dem Leseverstärker
3 über einen
Lesezeiger INP und von einem Leselatenzgenerator
8 mittels
eines als zeitverzögertes
Datenfreigabesignal fungierenden Ausgangszeigers OUTP angesteuert.
-
Bei
einem Lesezugriff spielen Signalverzögerungen eine große Rolle.
Zum Einen wird eine Auslesezeit tAA benötigt, um die Lesedaten RDint
aus dem Speicherzellenfeld 2 auszulesen und für den OCD-Treiber 6 bereitzustellen.
Eine weitere Signalverzögerung
ergibt sich aus der Laufzeit tDP der Lesedaten RDout durch den OCD-Treiber 6.
Aufgrund der bekannten Signalverzögerungen tAA, tDP wird die
so genannte Leselatenz ΔT
definiert, die Zeitdauer bezeichnet, die mindestens benötigt wird,
um Lesedaten aus dem Speicherzellenfeld 2 auszulesen und
unter Berücksichtigung
der Signalverzögerungen
tAA, tDP am Ausgang des OCD-Treibers 6 bereit zu stellen.
Die Leselatenz ΔT
wird durch den Leselatenzgenerator 8 erzeugt, der den Ausgangszeiger
OUTP gegenüber
den Eingangszeiger INP des FIFOs 5 entsprechend um eine
der Leselatenz ΔT
entsprechende Mindestanzahl n an Takten verschiebt.
-
Diese
n-Takte der Leselatenz ΔT
werden durch einen eigens dafür
vorgesehenen Leselatenzzähler 8 gezählt, der
in entsprechender Weise den Ausgangszähler OUTP gegenüber dem
Eingangszähler
INP um eine Anzahl n der Takte des Taktsignals CLK verschiebt. Bei
der Realisierung eines Leselatenzzähler wird meist ein FIFO-basiertes
Konzept verwendet, bei dem das chipinterne Lesesignal RDint gesteuert
von dem Leselatenzgenerator 8 um die programmierte Leselatenz ΔT verschoben
wird und in die Domain des externen Taktsignals DLL-CLK überführt wird. 2 der Zeichnung zeigt anhand
eines Blockschaltbildes ein FIFO 9 mit vier einzelnen FIFO-Zellen 9a und
somit einer FIFO-Tiefe von 4. Die Verschiebung der Taktdomain wird
dadurch realisiert, dass zum Beispiel der Eingangszeiger INP0 die
Zelle "0" des Datenpuffer-FIFOs öffnet, so dass
in der Folge das interne Datensignal RDint dort eingelesen wird.
Zur selben Zeit ist zum Beispiel der Ausgangszähler OUTP1 aktiv. Das hat zur
Folge, dass das interne Datensignal RDint erst drei Takte später aus der
Zelle "0" ausgelesen wird
(siehe 3A), unter der Annahme, dass
jeder Eingangszeiger INP0–INP3
und Ausgangszeiger OUTP0–OUTP3
jeweils für
die Dauer eines Taktes abwechselnd und nacheinander aktiv sind.
-
Bei
modernen Halbleiterspeichern besteht zunehmend der Bedarf, nicht
nur eine einzelne Leselatenz ΔT,
sondern verschiedene Leselatenzen ΔT einstellen zu können, damit
der Halbleiterspeicher auch in verschiedenen Betriebsmodi betreibbar
ist. Um eine eingestellte Leselatenz ΔT nun zu verändern, muss der Ausgangszeiger
relativ zum Eingangszeiger verschoben werden. Wenn im oben dargestellten
Beispiel nicht der Ausgangszeiger OUTP1 für die FIFO-Zelle "1" aktiv wäre, sondern z. B. der Ausgangszeiger
OUTP2 für
die FIFO-Zelle "2", dann würden die in dem Datenpuffer-FIFO
abgelegten Lesedaten einen Takt früher aus diesem ausgelesen,
was einer um 1 verringerten Leselatenz entspricht.
-
3 zeigt ein Blockschaltbild
für eine
Implementierung einer programmierbaren Leselatenz ΔT zur Erläuterung
der allgemeinen Problematik. Hier ist ein mit Bezugszeichen 10 bezeichneter
4-Bit-Ringzähler
vorgesehen, der also vier Zählerstufen 10a aufweist
und der entsprechend dem Zählerstand
ein 4-Bit-Zählerstandssignal
CNT0–CNT3
bereitstellt.
-
Für einen
n-Bit-Ausgangszeiger sind ferner n-Multiplexerstufen 11 erforderlich,
die ausgangsseitig jeweils ein Bit des Ausgangszeigers OUTP erzeugen.
Eingangsseitig sind die Multiplexerstufen 11 jeweils in
zueinander verschiedener Reihenfolge mit den Ausgängen des
Ringzählers 10 verbunden. Über ein
Multiplexersteuersignal 11a lässt sich die jeweils gewünschte bzw.
einzustellende Leselatenz, die sich im Ausgangszeiger OUTP wiederspiegelt,
auswählen,
indem jedem Multiplexer 11 dasselbe Steuersignal 11a zur
Auswahl des jeweils selben Multiplexereingangs zugeführt wird.
Den Multiplexerstufen 11 wird eingangsseitig der Zählerstand des
Ringzählers 10 jeweils
in einer bestimmten Reihenfolge eingekoppelt.
-
Problematisch
an dieser Implementierung ist zum Einen, dass insbesondere bei einer
Vielzahl von zu programmierenden Leselatenzen ΔT eine entsprechende Vielzahl
an Eingangsan schlüssen
der Multiplexer 11 vorgesehen sein müssen. Zum Anderen wird dadurch
auch der Ringzähler 10 schaltungstechnisch
sehr aufwändig,
da dieser eine der Bitbreite des Ausgangszeigers OUTP entsprechende
Anzahl an Zählerstufen 10a aufweisen
muss. Bei einer Vielzahl solcher Zählerstufen 10a wird
die Rückkopplungsleitung 10b des
Ringzählers 10 sehr
lang, was aufgrund der Signallaufzeiten zu einer geringeren Leistungsfähigkeit
des Ringzählers führt. Insbesondere
ist der Ringzähler 10 dann
immer langsamer. Außerdem
wird eine immer größere Anzahl an
Multiplexerstufen benötigt,
was zur Folge hat, dass jedem Bit CNT0–CNT3 des Zählerstandssignal bzw. dem jeweiligen
Ausgang eine immer höhere
Last zugeordnet ist. Dadurch wird eine korrekte Funktionalität bei hohen
Betriebsfrequenzen für
das Auslesen von Lesedaten zunehmend schwieriger.
-
Dieses
Problem entsteht vor allem bei sehr großen Leselatenzen sowie sehr
langen Zähler-
und Multiplexerleitungen, was einerseits zu höheren Laufzeiten der Signale
auf diesen Leitungen und andererseits zu parasitären Kapazitäten führen kann. Dies sind unerwünschte Einflüsse, die
es insbesondere beim Betrieb hoch integrierter Halbleiterspeicher
im hohen MHz-Bereich und ab dem GHz-Bereich zu vermeiden gilt, da
dadurch ein definiertes Auslesen der im Halbleiterspeicher gespeicherten
Informationen nicht oder nur mit erheblichem Zusatzaufwand und/oder
unter Inkaufnahme von Datenverlusten beim Auslesen möglich ist.
Dies ist ein Zustand, den es verständlicherweise zu vermeiden
gilt.
-
Vor
diesem Hintergrund liegt der vorliegenden Erfindung die Aufgabe
zugrunde, bei einem FIFO-basierten Leselatenzzähler mit einstellbarer Leselatenz
ein besseres und insbesondere ein zuverlässigeres Auslesen von Lesedaten
bei hohen Betriebsfrequenzen zu ermöglichen. Alternativ soll ein
Leselatenzzähler
bereitgestellt werden, der insbesondere in der Lage ist, bei einer
Vielzahl von Leselatenzen funktionsgerecht zu arbeiten.
-
Erfindungsgemäß wird zumindest
eine dieser Aufgaben durch eine Schaltungsanordnung mit den Merkmalen
des Patentanspruchs 1 durch einen Halbleiterspeicher mit den Merkmalen
des Patentanspruchs 10 und/oder durch ein Verfahren mit den Merkmalen
des Patentanspruchs 12 gelöst.
-
Demgemäß ist vorgesehen:
Eine
Schaltungsanordnung zur Erzeugung eines n-Bit Ausgangszeigers, insbesondere
für einen
FIFO-basierten Leselatenzzähler
mit einstellbarer Leselatenz in einem Halbleiterspeicher, mit mindestens
einer m-Bit Schnittstelle zur Einkopplung jeweils eines m-Bit Referenzsignals,
das jeweils eine Information der über den Ausgangszeiger einzustellenden
Leselatenz aufweist, mit mindestens einem m-Bit Binärzähler, der
ausgangsseitig ein m-Bit Zählerstandssignal
mit einem jeweils aktuellen Zählerstand
bereitstellt, mit einer dem Binärzähler nachgeschalteten
Decoderanordnung, die eine erste Anzahl (n) Decodereinrichtung aufweist,
die jeweils das aktuelle Zählerstandssignal
mit einem einer jeweiligen Decodereinrichtung zugeordneten Referenzwert vergleichen
und abhängig
von dem Vergleich ausgangsseitig jeweils ein Bit des Ausgangszeigers
bereitstellen, mit n-Ausgängen
zur Bereitstellung der n-Bit des Ausgangszeigers. (Patentanspruch
1) Ein Halbleiterspeicher, mit einem Speicherzellenfeld, in dem
Lesedaten abgelegt sind, mit einem Lesepfad, in dem folgende Schaltungsteile
angeordnet sind:
- – ein Leseverstärker zum
Auslesen der in dem Speicherzellenfeld abgelegten Lesedaten,
- – ein
dem Leseverstärker
ausgangsseitig nachgeschalteter Leselatenzzähler, dessen Leselatenz über eine Schaltungsanordnung
nach einem der vorstehenden Ansprüchen einstellbar ausgebildet
ist,
- – ein
der Schaltungsanordnung ausgangsseitig nachgeschalteter OCD-Treiber,
- – eine
Ausgangsschnittstelle, an der die mit der vorgegebenen Leselatenz
verzögerten
Lesedaten abgreifbar sind. (Patentanspruch 10)
-
Ein
Verfahren zum Einstellen einer durch Programmierung einstellbaren
Leselatenz mittels einer erfindungsgemäßen Schaltungsanordnung, mit
den Verfahrensschritten:
- (a) Bereitstellen
eines binären
m-Bit Zählerstandes;
- (b) Bereitstellen einer Anzahl voneinander verschiedener binärer m-Bit
Referenzwerte, welche jeweils eine Information über die einzustellende Leselatenz
enthalten;
- (c) Bitweises Vergleichen des Zählerstandes mit dem einer Decodereinrichtung
zugeordneten Referenzwert;
- (d) Ausgeben eines Bits für
den Ausgangszeiger abhängig
von dem Vergleich;
- (e) Wiederholen der Schritte (c) und (d) für jede Decodereinrichtung;
- (f) Zusammenführen
der m-Bits der m-Decodereinrichtungen zu dem Ausgangszeiger. (Patentanspruch
12)
-
Die
der vorliegenden Erfindung zugrunde liegende Idee besteht darin,
eine Schaltungsanordnung zur Erzeugung von Ausgangszeigern einer
FIFO-basierten Leselatenz-Steuerschaltung, die für unterschiedliche Leselatenzen
ausgelegt ist, bereitzustellen, die statt eines Ringzählers einen
Binärzähler und
statt mehrerer Multiplexerstufen eine Decoderanordnung mit durch
einen Referenzwert einstellbarer Decodereinrichtungen aufweist.
Der Referenzwert ist dabei ein Maß der jeweils eingestellten
bzw. programmierten Leselatenz.
-
Bei
der erfindungsgemäßen Schaltungsanordnung
wird also eine mit einem einstellbaren Referenzwert programmierbare
Decoderanordnung zur korrekten Generierung der n-Bits des Ausgangszeigers
für einen
Leselatenzzähler
und insbesondere für
dessen FIFO beschrieben. Dabei werden die binären Zählerstandswerte eines Binärzählers mit
einem von der eingestell ten programmierten Leselatenz abhängigen Referenzsignal
verglichen und bei Übereinstimmung
wird ein entsprechendes Bit des Ausgangszeigers bestimmt. Dies wird
für alle
Bits des Ausgangszeigers in gleicher Weise mittels eigens dafür vorgesehener
Decodereinrichtungen durchgeführt.
-
Ein
binärer
Zähler
weist im Vergleich zu einem Ringzähler eine geringere Bitbreite
des ausgangsseitigen Zählerstandssignal
auf, so dass dieser eine geringere Anzahl an Ausgangsanschlüssen und
somit Verbindungsleitungen aufweist. Zum Anderen benötigt man
nun keine Rückkopplungsleitung
mehr, die insbesondere bei einer Vielzahl von zu programmierenden
Leselatenzen bei einem entsprechenden Ringzähler mitunter sehr lang werden
kann.
-
Darüber sind
bei Verwendung eines Binärzählers für die ausgangsseitig
bereitgestellten Zählerstandssignale
deutlich weniger Pufferspeicher, nachfolgend als Latches bezeichnet,
erforderlich. Beispielsweise sind im Falle einer FIFO-Tiefe von
16 insgesamt n = 16 Ausgangszeigersignale erforderlich, wobei durch
die Verwendung eines Binärzählers statt
der bisher erforderlichen 16 Latches nunmehr nur m = 4 Latches (n
= 2m) erforderlich sind. Insgesamt bedeutet
dies, dass ein Binärzähler im
Vergleich zu einem Ringzähler
signifikant kleiner und damit Chipflächen günstiger ausgebildet werden
kann.
-
Ferner
werden die bisher verwendeten Multiplexer zum Zusammenführen der
Ausgangszeigersignale nunmehr durch eine Anzahl an Decodereinrichtungen
ersetzt, welche den Ausgängen
des Binärzählers nachgeschaltet
sind. Die Anzahl entspricht dabei zumindest der Bitbreite des Ausgangszeigers,
wobei jede Decodereinrichtung jeweils ein Bit des Ausgangszeigers
liefert. Diese Decodereinrichtungen sind dazu ausgelegt, den Wert
des von dem Binärzähler ausgangsseitig
bereitgestellten Zählerausgangsbits
mit entsprechenden Referenzbits eines Referenzsignals zu vergleichen.
Das Referenzsignal enthält
ei ne Information über
die jeweils aktuell eingestellt Leselatenz. Der jeweils korrekte
Ausgangszeiger liegt dann vor, wenn der von dem Binärzähler erzeugte
aktuelle Zählerwert
mit dem eingestellten Referenzwert übereinstimmt. Dann ergeben
die ausgangsseitig an den verschiedenen Decodereinrichtungen anliegenden
Bits zusammen den korrekten Ausgangszeiger zur Ansteuerung des FIFO-basierten
Leselatenzzählers,
der dann auf die jeweils eingestellte, programmierte Leselatenz
ausgelegt ist. Auf diese Weise wird somit ein programmierbarer n-aus-m-Decoder
dargestellt, wobei n = 2m ist.
-
Vorteilhafte
Ausgestaltungen und Weiterbildungen der Erfindung ergeben sich aus
den weiteren Unteransprüchen
sowie der Beschreibung und der Bezugnahme auf die Zeichnungen.
-
Eine
typische Ausgestaltung der Erfindung sieht einen Takteingang vor,
in den ein Taktsignal, insbesondere ein internes Taktsignals des
Halbleiterspeichers, einkoppelbar ist. Denkbar wäre allerdings auch ein extern
generiertes Taktsignal, beispielsweise durch eine DLL-Schaltung.
Vorzugsweise wird der Binärzähler mit
einem Takt dieses Taktsignals getaktet.
-
Eine
bevorzugte Ausgestaltung sieht zumindest zwei Binärzähler vor.
Ein erster Binärzähler ist
mit einem ersten Teil der Decodereinrichtungen und mindestens ein
zweiter Binärzähler ist
mit einem zweiten Teil der Decodereinrichtungen verbunden. Dadurch
lassen sich die Leitungslängen
für die
Verbindungsleitungen zusätzlich
verringern und damit hinsichtlich deren parasitärer Auswirkungen optimieren.
Zudem ergibt sich dadurch eine Reduzierung der an den Ausgängen des
Zählers
anliegenden Last.
-
Typischerweise
weist ein jeweiliges Referenzsignal jeweils einen unterschiedlichen
binären
Referenzwert auf. Die Decodereinrichtungen sind nun nebeneinander
derart angeordnet, dass diesen die Referenzwerte beginnend bei einer
ersten De codereinrichtung in entsprechend der Reihenfolge der nebeneinander
angeordneten Decodereinrichtungen in auf- oder in absteigender Folge
zugeführt
werden. Die erste Decodereinrichtung erzeugt dann das erste (oder
letzte) Bit des Ausgangszeigers, die letzte Decodereinrichtung erzeugt das
letzte (oder erste) Bit des Ausgangszeigers.
-
Eine
besonders bevorzugte Ausgestaltung der Erfindung sieht vor, dass
genau eine m-Bit Schnittstelle zur Einkopplung lediglich eines einzigen
m-Bit Referenzsignals vorgesehen ist. Diese Schnittstelle ist eingangsseitig
mit einer ersten Decodereinrichtung verbunden. Dabei werden die
für die übrigen Decodereinrichtungen
erforderlichen Referenzwerte aus dem Referenzwert dieses Referenzsignals
abgeleitet. Hierzu ist vorzugsweise zumindest eine der Decodereinrichtungen
mit einer Inkrementierschaltung ausgestattet, welche durch Inkrementieren
des dieser Decodereinrichtung zugeordneten Referenzwertes um einen
festen Wert einen Referenzwert für
eine weitere Decodereinrichtung erzeugt, welcher der weiteren Decodereinrichtung
zugeführt
werden kann. Unter einem Inkrementieren sei hier auch ein Dekrementieren
zu verstehen. Der feste Wert ist vorzugsweise plus oder minus eins.
Der Vorteil besteht hier darin, dass lediglich eine der Decodereinrichtungen
mit einer Schnittstelle für
die Referenzwerte ausgestattet werden muss, was schaltungstechnisch zu
bevorzugen ist.
-
Eine
alternative, ebenfalls bevorzugte Ausgestaltung sieht vor, dass
jeder Decodereinrichtung eine m-Bit Schnittstelle zur Einkopplung
eines jeweils dieser Decodereinrichtung zugeordneten m-Bit Referenzsignals
zugeordnet ist.
-
Typischerweise
ist eine jeweilige Decodereinrichtung dazu ausgelegt, einen bitweisen
Vergleich des m-Bit Zählerstandssignals
mit dem dieser Decodereinrichtung zugeordneten m-Bit Referenzsignal
vorzunehmen und bei Übereinstimmung
der Bitwerte der beiden miteinander verglichenen Signale das Bit für den Ausgangszeiger
auf einen ersten logischen Pegel (z.B. "1")
zu setzen und andernfalls auf einen zweiten logischen Pegel (z.B. "0") zu setzen. In einer schaltungstechnisch
sehr eleganten und einfachen Ausgestaltung wird diese Funktionalität dadurch
bereit gestellt, dass zumindest eine dieser Decodereinrichtungen
ein XOR-Gatter mit nachgeschaltetem NOR-Gatter aufweist.
-
Eine
bevorzugte Ausgestaltung des erfindungsgemäßen Halbleiterspeichers sieht
ein Register vor, in dem zumindest eine programmierbare Leselatenz
und/oder zumindest ein Referenzwert, der eine Information über jeweils
eine programmierbare Leselatenz enthält, abgelegt ist/sind. Die
vorliegende Erfindung eignet sich insbesondere bei so genannten
DDR-Halbleiterspeichern
(DDR = double data rate) und insbesondere bei Speichern für Grafikanwendungen,
um dem eingangs genannten Bedarf einer immer höheren Datenverarbeitungsgeschwindigkeit
gerecht zu werden.
-
Die
Erfindung wird nachfolgend anhand der in den schematischen Figuren
der Zeichnung angegebenen Ausführungsbeispiele
näher erläutert. Es
zeigt dabei
-
1 ein
Blockschaltbild mit einem Ausschnitt eines bekannten S-DRAMs im
Bereich dessen Lesepfades;
-
2, 2A Blockschaltbilder
zur Erläuterung
der allgemeinen Problematik der Funktion eines Leselatenzzählers;
-
3 ein
Blockschaltbild zur Erläuterung
der allgemeinen Problematik für
die Reduzierung einer programmierbaren Leselatenz;
-
4 ein
Blockschaltbild einer erfindungsgemäßen Schaltungsanordnung zur
Erzeugung von Ausgangszeigern einer FIFO-basierten Leselatenz-Steuerschaltung;
-
5 ein
Blockschaltbild einer einzelnen Decodereinrichtung einer erfindungsgemäßen Schaltungsanordnung
gemäß 4;
-
6 ein
Blockschaltbild eines weiteren Ausführungsbeispiels einer erfindungsgemäßen Schaltungsanordnung
zur Erzeugung von Ausgangszeigern einer FIFO-basierten Leselatenz-Steuerschaltung;
-
7 ein
Blockschaltbild eines weiteren Ausführungsbeispiels einer Decoderanordnung
einer erfindungsgemäßen Schaltungsanordnung
gemäß 4.
-
8 ein
Blockschaltbild eines Halbleiterspeichers mit einer erfindungsgemäßen Schaltungsanordnung.
-
In
den Figuren der Zeichnung sind gleiche bzw. funktionsgleiche Elemente
und Signale – sofern
nichts Anderes angegeben ist – mit
den selben Bezugszeichen versehen worden.
-
4 zeigt
ein Blockschaltbild einer erfindungsgemäßen Schaltungsanordnung zur
Erzeugung von Ausgangszeigern einer FIFO-basierten Leselatenz-Steuerschaltung,
die für
unterschiedliche Leselatenzen ausgelegt sein soll. Es sei angenommen,
dass die (in der 4 nicht dargestellte) FIFO-basierte Leselatenz-Steuerschaltung
ein Datenpuffer-FIFO mit einer FIFO-Tiefe von 16 aufweist. Somit
ist die erfindungsgemäße Schaltungsanordnung
dazu ausgelegt, einen 16-Bit-Ausgangszeiger
bereitzustellen.
-
Die
erfindungsgemäße Schaltungsanordnung
ist hier mit Bezugszeichen 20 bezeichnet. Die Schaltungsanordnung 20 weist
einen Takteingang 21 und einen Ausgang 22 auf. Über den
Takteingang 21 ist ein internes Taktsignal CLK einkoppelbar.
Der Ausgang 22 weist n = 16 parallele Ausgangsanschlüsse auf, über welche
ein Ausgangszeigersignal bzw. ein 16-Bit-Ausgangszeiger OUTP abgreifbar ist.
-
Zwischen
dem Takteingang 21 und den Ausgängen 22 ist ein Binärzähler 23 angeordnet,
dem eingangsseitig das Taktsignal CLK zugeführt wird. Der Binärzähler 23 ist
als 4-Bit-Binärzähler (m
= 4) ausgebildet und erzeugt ausgangsseitig ein 4-Bit-Zählerstandsignal
CNT. Ferner umfasst die erfindungsgemäße Schaltungsanordnung 20 eine
Decoderanordnung 24 mit insgesamt 16 parallel zueinander
angeordneten Decodereinrichtungen 24-0 bis 24-15,
die jeweils eingangsseitig mit den Zählerausgängen des Binärzählers 23 verbunden
sind. Jede der Decodereinrichtungen 24-0 bis 24-15 ist über jeweils
eine Verbindungsleitung 25 mit einem der Ausgangsanschlüsse 22 verbunden,
so dass insgesamt jede Decodereinrichtung 24-0 bis 24-15 jeweils ein
Bit für
den 16-Bit-Ausgangszeiger OUTP bereitstellt. Das Ausgangszeigersignal
OUTP liegt an den Ausgängen 22 in
thermometercodierter Form vor.
-
Der
Binärzähler 23 weist
ferner einen Reset-Eingang 26 zur Einkopplung eines Resetsignals
RES auf, über
welches sich der Binärzähler 23 auf
einen anfänglichen
Zählerstand,
beispielsweise auf "0000", zurücksetzen
lässt.
-
Die
erfindungsgemäße Schaltungsanordnung 20 enthält ferner
Referenzeingänge 27. Über die
Referenzeingänge 27 lässt sich
jeder Decodereinrichtung 24-0 bis 24-15 jeweils
ein Referenzsignal REF zuführen. Im
vorliegenden Ausführungsbeispiel
weisen die Referenzsignale REF dieselbe Bitbreite wie das Zählerstandsignal
CNT, also im vorliegenden Ausführungsbeispiel
eine Bitbreite von 4, auf. Jedes Referenzsignal REF gibt einen 4
Bit breiten Referenzwert vor, der als Referenz der jeweiligen Decodereinrichtung 24-0 bis 24-15 zugeführt wird.
Im Beispiel in 4 werden der Decoderanordnung 24 somit
eine der Anzahl n der Decodereinrichtung entsprechende Anzahl an
n-Bit-Referenzsignale, die sich jeweils voneinander unterscheiden,
zugeführt. Die
jeweiligen binären
Referenzwerte dieser Referenzsignale werden nachfolgend noch anhand
der Tabellen 1 und 2 beschrieben. Der jeweilige Refe renzwert REF
enthält
eine Information über
die gewünschte
Leselatenz, die für
die FIFO-basierte Leselatenz-Steuerschaltung
verwendet werden soll und mit der somit der Ausgangszeiger OUTP
zum Auslesen der Lesedaten das Datenpuffer-FIFO ansteuern soll.
Diese Leselatenz ist typischerweise in einem eigens dafür vorgesehenen
Register, z. B. einem in der 4 lediglich
angedeuteten Mode-Register 28, abgelegt. Die Mode-Register 28 ist
wie die Leselatenz-Steuerschaltung
und das entsprechende Datenpuffer-FIFO typischerweise Bestandteil
eines hoch integrierten Halbleiterspeichers.
-
5 zeigt
ein Blockschaltbild einer einzelnen Decodereinrichtung 24 einer
Decoderanordnung 24 aus 4, die also
dazu ausgelegt ist, ausgangsseitig ein einzelnes Bit für den Ausgangszeiger
OUTP zu erzeugen. Der Index "X" soll hier andeuten,
dass es sich jeweils um die X-te Decodereinrichtung 24X,
Ausgangsanschluss 22X bzw. Ausgangsleitung 25X handelt.
Die Decodereinrichtung 24X enthält einen Zählereingang 30 zur
Einkopplung des jeweiligen 4-Bit-Zählerstandsignals CNT und einen
Referenzeingang 31 zur Einkopplung des 4-Bit-Referenzsignals REF.
Die Decodereinrichtung 24X ist in diesem Ausführungsbeispiel
gatterförmig
ausgebildet und enthält
eingangsseitig ein XOR-Gatter 32 und ausgangsseitig ein
NOR-Gatter 33.
Dem XOR-Gatter 32 werden eingangsseitig das Zählerstandsignal
CNT und das Referenzsignal REF zugeführt, deren einzelne Bits in
dem XOR-Gatter 32 XOR-verknüpft werden. Das XOR-Gatter 32 stellt
abhängig
davon am Ausgang ein 4-Bit-Vergleichssignal
VS bereit, die in dem nachgeschalteten NOR-Gatter 33 entsprechend NOR-verknüpft werden.
Das NOR-Gatter 33 erzeugt
ausgangsseitig ein einzelnes Bit OUTPX für den Ausgangszeiger OUTP.
-
6 zeigt
anhand eines Blockschaltbildes ein weiteres Ausführungsbeispiel einer erfindungsgemäßen Schaltungsanordnung 20.
Im Unterschied zu dem Ausführungsbeispiel
in 4 ist hier die Schaltungsanordnung 20 zweiteilig
ausgebildet und weist zwei Binärzähler 23a, 23b auf.
Jedem Binärzähler 23a, 23b sind jeweils
acht Decodereinrichtungen 24a, 24b nachgeschaltet.
Die ersten (oberen) acht Decodereinrichtungen 24a sind
dazu ausgelegt, die ersten acht Bits OUTP0–OUTP7 für den Ausgangszeiger OUTP zu
erzeugen, wohingegen die zweiten (unteren) acht Decodereinrichtungen 24b zur
Erzeugung der übrigen
acht Bits OUTP8–OUTP15
des Ausgangszeigers OUTP vorgesehen sind. Die Ansteuerung der einzelnen
Decodereinrichtungen 24 mit den entsprechenden Referenzsignalen
REF sowie die Ansteuerung der entsprechenden Binärzähler 23a, 23b mit
dem Taktsignal CLK und dem Resetsignal RES erfolgt hier analog zu
den Ausführungsbeispielen
in den 4 und 5.
-
7 zeigt
ein weiteres Ausführungsbeispiel
einer Decoderanordnung einer erfindungsgemäße Schaltungsanordnung gemäß 4.
Jede Decodereinrichtung 24-0 bis 24-14 – mit Ausnahme
der Decodereinrichtung 24-15 – enthält hier neben den jeweiligen
XOR-Gattern 32 und NOR-Gattern 33 eine Einrichtung 34 zum
Inkrementieren eines jeweiligen Eingangssignals um "+1".
-
Im
Unterschied zu dem Ausführungsbeispiel
in der 5 weist lediglich die erste Decodereinrichtung 24-0 einen
Referenzeingang 27, in welchen ein Referenzsignal REF eingekoppelt
wird, auf. Die übrigen
Decodereinrichtungen 24-1 bis 24-15 sind nicht
mit dem Referenzeingang 27 verbunden. Sie erhalten ihren
jeweiligen Referenzwert REF' von
der jeweils vorherigen Decodereinrichtung 24-0 bis 24-14,
indem der für
eine jeweilige Decodereinrichtung 24-1 bis 24-15 vorgesehene
Referenzwert von dem Referenzwert einer jeweils vorherigen Decodereinrichtung 24-0 bis 24-14 durch
Inkrementierung dessen Referenzwertes um "+1" gewonnen
wird. Somit reicht es aus, wenn lediglich einer Decodereinrichtungen 24-0,
beispielsweise der ersten Decodereinrichtung 24-0, ein
eine Information über
die Leselatenz enthaltenden externes Referenzsignal REF zugeführt wird.
Auf diese Weise kann die Schaltungstopologie signifikant vereinfacht
werden, da nun auf sehr lange Verbindungsleitungen zum Zuführen der
verschiedenen Referenzsignale zu den übrigen Decodereinrichtung 24-0 bis 24-15 verzichtet
werden kann. Dies ist insbesondere bei solchen Schaltungstopographien von
besonderem Vorteil, die für
große
Leselatenz ausgelegt sind.
-
Nachfolgend
wird die Funktionsweise einer Decoderanordnung
24 entsprechend
8 erläutert:
Die
einzelnen Bits des Ausgangszeiger
5 OUTP schalten die einzelnen
FIFO-Zellen eines Datenpuffer-FIFOs in sequentieller Abfolge aktiv.
Falls der Binärzähler
23 auf
einen anfänglichen
Startwert von <0000> initialisiert ist,
bedeutet dies, dass die Abfolge zur Aktivierung der FIFO-Zellen
wie in folgender Tabelle 1 dargestellt sein muss:
Tabelle
1
-
Soll
nun aber als erstes der Ausgangszeiger "4" aktiviert
werden, so muss der Referenzwert in der entsprechenden Decodereinrichtung 24-4 gleich
dem Startwert des Binärzählers 23 sein.
Für eine
Initialisierung auf <0000> wie in der obigen
Tabelle 1 gezeigt, wäre
der Referenzwert somit REF4 = <0000>. Da die sequentielle
Abfolge nach wie vor beibehalten bleiben muss, folgt, dass die dem
Referenzwert REF4 = <0000> nachfolgenden Referenzwerte
jeweils um +1 erhöht,
also um +1 inkrementiert werden müssen. Dies ist für das Beispiel,
dass der Ausgangszeiger "4" als erstes aktiviert
werden soll, in der folgenden Tabelle 2 dargestellt.
-
-
Aus
der Tabelle 2 ist ersichtlich, dass unter diesen Voraussetzungen
die zu dem Ausgangszeiger "0" zugehörige Decodereinrichtung
nun den Wert <1100> als Referenzwert aufweist.
Zur Initialisierung des Systems muss also nur die jeweils erste
Decodereinrichtung 24-0 mit dem jeweiligen Referenzwert <1100> geladen werden und
alle folgenden Decodereinrichtung 24-1 bis 24-15 erhalten
den jeweiligen Referenzwert um +1 inkrementiert. Zur Programmierung
einer anderen Leselatenz muss nur der Referenzwert der ersten Decodereinrichtung 24-0 entsprechend
verändert
werden, wobei die anderen Decodereinrichtung 24-1 bis 24-15 sich
durch die Inkrementierung entsprechend richtig einstellen.
-
8 zeigt
ein Blockschaltbild eines Halbleiterspeichers mit einer erfindungsgemäßen Schaltungsanordnung
im Bereich dessen Lesepfades. Der Halbleiterspeicher 40 weist
ein Speicherzellenfeld 41 auf, aus dem bei einem Lesezugriff
Lesedaten RDint auslesbar sind. In dem Lesepfad ist nacheinander
ein Leseverstärker 42,
ein Leselatenzzähler 43,
ein OCD-Treiber 44 und
eine mit einem externen Bus 45 verbundene Ausgangsschnittstelle 46 angeordnet.
Der Leselatenzzähler 43 wird
durch einen Ausgangszeiger OUTP ausgelesen. Erfindungsgemäß lässt sich
der Ausgangszeiger OUTP entsprechend der gewünschten Leselatenz, die z.
B. in einem Mode-Register 20 abgelegt ist, auf diese einstellen.
Hierfür
ist eine erfindungsgemäße Schaltungsanordnung 20 vorgesehen.
-
Obwohl
die vorliegende Erfindung vorstehend anhand bevorzugter Ausführungsbeispiele
näher erläutert wurde,
sei sie nicht darauf beschränkt,
sondern ist auf vielfältige
Art und Weise modifizierbar. Insbesondere ist die erfindungsgemäße Schaltungsanordnung
und somit auch deren Binärzähler und
Decoderanordnung schaltungstechnisch bewusst sehr einfach dargestellt
worden. Es versteht sich von selbst, dass diese Schaltungsteile
auch modifiziert ausgebildet werden können, ohne dass vom grundsätzlichen
Wesen der Erfindung abgewichen wird. Es versteht sich auch von selbst,
dass die angegebenen Zahlenangaben, beispielsweise die Verwendung
von 16 Decodereinrichtungen, Referenzwerten und dergleichen, lediglich
beispielhaft gewählt wurden,
um das vorliegende Ausführungsbeispiel
anhand einer FIFO-Tiefe von 16 zu beschreiben. Darüber hinaus
ist es auch denkbar, eine geringere oder größere FIFO-Tiefe durch eine
unterschiedliche Anzahl an Decodereinrichtungen und auch durch eine
unterschiedliche Aufteilung der Decodereinrichtungen zu realisieren.
-
- 1
- S-DRAM
- 2
- Speicherzellenfeld
- 3
- Leseverstärker
- 4
- interner
Datenbus
- 5
- Datenpuffer-FIFO
- 6
- OCD-Treiber
- 7
- externer
Datenbus
- 8
- Leselatenzgenerator
- 9
- Datenpuffer-FIFO
- 9a
- FIFO-Zellen
des Datenpuffer-FIFOs
- 10
- Ringzähler
- 10a
- Zählerstufen
des Ringzählers
- 10b
- Rückkopplungsleitung
des Ringzählers
- 11
- Multiplexerstufen
- 11a
- Multiplexersteuersignal
- 20
- Schaltungsanordnung
zur Erzeugung von Ausgangszeigern
- 21
- Takteingang
- 22
- Ausgänge für den Ausgangszeiger
- 23,
23a, 23b
- Binärzähler
- 24
- Decoderanordnung
- 24a,
24b
- (erste
und zweite) Decodereinrichtungen
- 24X
- Decodereinrichtung
- 24-0
bis 24-15
- einzelne
Decodereinrichtungen
- 25,
25X
- Ausgangsleitungen
- 26
- Reset-Eingang
- 27
- Eingänge für das Referenzsignal
- 28
- (Mode-)Register
- 30
- Eingänge für das Zählerstandsignal
- 32
- XOR-Gatter
- 33
- NOR-Gatter
- 34
- Einrichtung
zum Inkrementieren um 1
- 40
- Halbleiterspeicher
- 41
- Speicherzellenfeld
- 42
- Leseverstärker
- 43
- Leselatenzzähler
- 44
- OCD-Treiber
- 45
- externer
Bus
- 46
- Ausgangsschnittstelle
- ΔT
- Leselatenzzeit
- CLK
- internes
Taktsignal
- CNT
- Zählerstandsignal
des Binärzählers
- CNT0–CNT3
- Zählerstandsbits
des Ringzählers/Binärzählers
- DLL-CLK
- DLL-Taktsignal
- INP
- Eingangszeiger
- INP0–INP3
- einzelne
Bits des Eingangszeigers
- n
- Anzahl
der Takte
- NOP
- NOP-Befehl
(NOP = no operation)
- OUTP
- Ausgangszeiger
- OUTP0–OUTP15
- einzelne
Bits des Ausgangszeigers
- RD
- Lesekommando
- RDint
- Lesedaten
- RDout
- Lesedaten
- REF
- Referenzsignal,
Referenzwert
- REF'
- vom
Referenzsignal abgeleitete Referenzwerte
- RES
- Resetsignal
- VS
- Vergleichssignal