-
TECHNISCHES GEBIET
-
Die
Erfindung betrifft eine Steuersignal-Zeitgeberschaltung zur Verwendung
in einer integrierten Schaltung, Halbleiterspeicherbauelemente,
und insbesondere ein Verfahren und eine Vorrichtung zum Lesen der
Frequenz eines Taktsignals.
-
HINTERGRUND DER ERFINDUNG
-
Halbleiterspeicher-Bauelemente
finden Einsatz in einer Vielfalt von Anwendungen. Solche Speicherbauelemente
empfangen Daten zur Speicherung im Rahmen dessen, was als Schreiboperation
bezeichnet wird, und sie liefern gespeicherte Daten an extern von
dem Speicher vorhandene Geräte im
Rahmen dessen, was als Leseoperationen bezeichnet wird. Typischerweise
wird auf die Speicherbauelemente über einen Bus oder ein Mehrfachbussystem
mit Hilfe einer externen Einrichtung oder eines Bus-Masters zugegriffen,
z.B. in Form eines Mikroprozessors, einer Speichersteuerung oder
einer anwendungsspezifischen integrierten Schaltung (ASIC). Der
Bus transferiert Adressen-, Daten- und Steuersignale zwischen dem
Speicherbauelement und dem auf dieses zugreifenden Bus-Masters.
-
Zahlreiche
der aktuellen Hochgeschwindigkeits-Speicherbauelemente, so z.B.
statische Schreib-/Lesespeicher (SRAMs) können bei Geschwindigkeiten
arbeiten, die höher
sind als die Fähigkeit
eines auf den SRAM zugreifenden Bus-Masters. Bei einem Lesevorgang
beispielsweise kann der SRAM die Daten früher liefern, als der Bus-Master
für den
Empfang solcher Daten bereit ist. Dann kann es zu einem Wettstreit
um den Bus kommen, bei dem aus dem SRAM gelesene Daten auf den Bus
gegeben werden, während
dort noch andere Daten vorhanden sind. Folglich sind zwei oder noch
mehr Bauelemente dabei, während
einer Konfliktzeitspanne relativ hohe Ströme zu liefern/abzuziehen, wodurch das
Risiko von gegenseitigen Sperrungen, einer erhöhten System-Energieaufnahme,
erhöhtem Energiequellen-
und Masserauschen und möglichen
fehlerhaften Datenwerten zunimmt.
-
Um
solche Buskonfliktprobleme zu vermeiden, fügen Entwickler von Systemen
mit Hochgeschwindigkeitsspeichern häufig Leerlaufzeiten zwischen
aufeinander folgende Datentransfervorgänge ein, um dadurch die Systemgeschwindigkeit
beträchtlich
unter die optimalen Werte zu senken. Darüber hinaus passen Systementwickler
häufig
Geschwindigkeitsspezifikationen für in dem System enthaltene
Bauelemente einander an. Hierdurch ist der Systementwickler möglicherweise
nicht in der Lage, ein leicht verfügbares und billiges Speicherbauelement
in einem System einzusetzen, dessen übrige Komponenten zu langsam
sind, um mit der Geschwindigkeit des Speicherbauelements Schritt
halten zu können.
-
Die
EP-A-0 697 768 zeigt
eine Steuersignal-Zeitgeberschaltung nach dem Oberbegriff des Anspruchs
1. Sie offenbart eine Schaltung zum Erzeugen eines Steuersignals
aus einem Eingangs-Steuersignal, wobei die Dauer des Steuersignals
von der Frequenz eines Taktsignals abhängt. Eine phasenverrastete
Schleife erzeugt ein Phasensteuersignal, welches dazu dient, das
Ausmaß der Verzögerung sowohl
in einer ersten als auch in einer zweiten Verzögerungsschaltung zu steuern.
Wenn die phasenverrastete Schleife sich in einem stabilen Zustand
befindet, ist die Impulsbreite des Taktsignals proportional zu der
Frequenz des Steuersignals.
-
Die
US-A-5 179 438 zeigt
eine Takt-Leseschaltung, die auf der Grundlage mehrerer Zeitverzögerungsschaltungen
arbeitet.
-
OFFENBARUNG DER ERFINGUNG
-
Erfindungsgemäß enthält eine
Steuersignal-Zeitgeberschaltung, die zur Verwendung in einer integrierten
Schaltung ausgebildet ist, beispielsweise in einem Speicherbauelement,
die Merkmale des Anspruchs 1. Die Schaltung empfängt ein Taktsignal und führt interne
Operationen durch, darunter die Erzeugung eines Steuersignals. Eine
Takt-Leseschaltung empfängt
das Taktsignal und erzeugt ansprechend darauf ein Geschwindigkeitssignal
mit einem der Frequenz des Taktsignals entsprechenden Wert. Eine
Steuersignal-Verzögerungsschaltung
empfängt das
Taktsignal und das Geschwindigkeitssignal, um ansprechend darauf
ein verzögertes
Steuersignal mit einer Zeitverzögerung
relativ zu dem Steuersignal entsprechend dem Geschwindigkeitssignalwert
zu erzeugen.
-
Das
Steuersignal kann eines aus einer großen Vielfalt von Steuersignalen
sein, die intern in einem Speicherbauelement erzeugt werden und
dessen interne Operationen steuern. Beispielsweise kann das Steuersignal
ein Datenausgabe-Steuersignal sein, welches den zeitlichen Ablauf
von Operationen der Datenausgabeschaltung steuert, die in dem Speicherbauelement
enthalten ist. Als weiteres Beispiel kann das Steuersignal ein Adressenauswahl-Steuersignal
sein, welches den zeitlichen Ablauf des Zugriffs zu einer adressierten
Speicherstelle innerhalb des Speicherbauelements steuert.
-
Die
Taktleseschaltung kann eine Mehrzahl von in Reihe geschalteten Zeitverzögerungsschaltungen
enthalten, die jeweils imstande sind, eingangsseitig ein Signal
zu empfangen und am Ausgang ein entsprechendes, zeitlich verzögertes Signal zu
erzeugen. Das Taktsignal wird an dem Eingang einer ersten der Zeitverzögerungsschaltung
empfangen. Die Taktleseschaltung kann außerdem mehrere Zwischenspeicherschaltungen
enthalten, von denen jede mit einer der Zeitverzögerungsschaltungen gekoppelt
ist und den Wert des betreffenden zeitlich verzögerten Signals zwischenspeichert.
Der Geschwindigkeitssignalwert kann dann einer Kombination der Zwischenspeicherwerte
entsprechen.
-
Die
Steuersignal-Verzögerungsschaltung kann
eine Mehrzahl von Zeitverzögerungsschaltungen
enthalten, von denen jede ein Signal am Eingang empfangen und am
Ausgang ein entsprechendes Zeitverzögerungssignal erzeugen kann,
wobei das Steuersignal durch eine ausgewählte Anzahl dieser Schaltungen
läuft.
Die Steuersignal-Verzögerungsschaltung
kann weiterhin eine Verzögerungsauswahlschaltung
enthalten, die das Geschwindigkeitssignal empfängt und dementsprechend das
Speichersteuersignal durch eine ausgewählte Anzahl von Zeitverzögerungsschaltungen
leitet, wobei die ausgewählte
Anzahl dem Wert des Geschwindigkeitssignals entspricht.
-
Durch
Lesen der Taktfrequenz und durch entsprechendes Einstellen der zeitlichen
Lage des Steuersignals innerhalb des Speicherbauelements kann die
Geschwindigkeit des Speicherbauelements in vorteilhafter Weise so
eingestellt wer den, dass sie zu den anderen Komponenten des Systems
passt. Zu den Vorteilen, die durch Ausführungsformen der Erfindung
erreicht werden, gehört,
dass ein SRAM-Bauelement in einem System enthalten sein kann, dessen
Betriebsgeschwindigkeiten normalerweise zu gering wären für die Hochgeschwindigkeits-Zugriffszeit
des SRAM-Bauelements.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist
ein teilweise funktionelles und teilweise logisches Schaltungsdiagramm
einer Taktleseschaltung gemäß einer
Ausführungsform
der Erfindung.
-
2 ist
ein logisches Schaltungsdiagramm einer Verzögerungs-Zwischenspeicherschaltung,
die in der in 1 gezeigten Taktleseschaltung
enthalten ist.
-
3 ist
ein funktionelles Blockdiagramm und zeigt ein Speicherbauelement
mit einer justierbaren Steuersignal-Verzögerungsschaltung gemäß einer
Ausführungsform
der Erfindung.
-
4 ist
ein teilweise funktionelles und teilweise logisches Schaltungsdiagramm
der in 3 gezeigten Steuersignal-Verzögerungsschaltung.
-
5 ist
ein teilweise funktionelles und teilweise logisches Schaltungsdiagramm
einer Verzögerungsstufenschaltung
in der in 4 gezeigten Steuersignal-Verzögerungsschaltung.
-
6 ist
ein funktionelles Blockdiagramm eines Computersystems mit einem
Speicherbauelement nach einer Ausführungsform der Erfindung.
-
DETAILLIERTE BESCHREIBUNG
DER ERFINDUNG
-
Was
folgt, ist eine Beschreibung eines Verfahrens und einer Vorrichtung
zum Einstellen oder Justieren der zeitlichen Lage eines Steuersignals
in einem Speicherbauelement. In dieser Beschreibung werden gewisse
Einzelheiten angegeben, um ein gründliches Verständnis verschiedener
Ausführungsformen
der Erfindung zu erreichen. Dem Fachmann ist allerdings klar, dass
die Erfindung auch ohne diese Details in die Praxis umgesetzt werden
kann. An anderen Stellen werden bekannte Schaltungen, Schaltungskomponenten
und Steuersignale sowie dazugehörige
Zeitsteuerabläufe
nicht im Einzelnen dargestellt oder beschrieben, um die Beschreibung verschiedener
Ausführungsformen
der Erfindung nicht zu überlasten.
-
1 zeigt
eine Taktleseschaltung 10 gemäß einer Ausführungsform
der Erfindung. Die Taktleseschaltung 10 empfängt ein
Taktsignal SYSCLK, liest oder erfasst die Frequenz des Taktsignals
und erzeugt ein Taktgeschwindigkeitssignal SLOW<0:1:>,
dessen Wert der Frequenz des Taktsignals entspricht. Das Taktsignal
SYSCLK kann ein Systemtaktsignal sein, beispielsweise ein Signal, welches
zum Steuern von Datentransferoperationen zwischen einem Speicherbauelement
und einem Prozessor, einer Systemsteuerung oder einem anderen Bus-Master
dient.
-
Die
Taktleseschaltung 10 empfängt das Taktsignal SYSCLK an
einer Kippstufe oder einer Teiler-2-Schaltung 10, die ein
Taktsignal CLK mit der halben Frequenz des Signals SYSCLK erzeugt.
Anschließend
wird das Taktsignal CLK durch mehrere in Reihe geschaltete Zeitverzögerungsschaltungen 14 geleitet,
bei denen es sich um eine aus einer Vielzahl bekannter Schaltungen
zum Verzögern
von Signalübertragungen
handeln kann. Die Zeitverzögerungsschaltungen 14 können untereinander
identischen Aufbau haben und im Wesentlichen die gleiche Zeitverzögerung liefern.
Alternativ können
die Zeitverzögerungsschaltungen 14 variieren,
und zwar sowohl hinsichtlich der speziellen Schaltungsimplementierung
als auch der erzeugten Signal-Zeitverzögerung. Eine oder mehrere der
Zeitverzögerungsschaltung 14 kann
ein Reset-Eingang (nicht dargestellt) haben, um die Zustände des
Ausgangssignals beispielsweise ansprechend auf eine Anstiegsflanke
des Taktsignals CLK zurückzusetzen.
-
Die
Taktleseschaltung 10 enthält weiterhin eine Mehrzahl
von Verzögerungs-Zwischenspeicherschaltungen 16,
jeweils mit einer der Zeitverzögerungsschaltungen 14 gekoppelt.
Jede der Verzögerungs-Zwischenspeicherschaltungen 16 empfängt das
von der zugehörigen
Zeitverzögerungsschaltung 14 empfangene,
verzögerte
Taktsignal und lässt
dieses Signal an den Eingang der nächsten Zeitverzögerungsschaltung
durch. Jede der Verzögerungs-Zwischenspeicherschaltungen 16 empfängt außerdem das
unverzögerte
Taktsignal CLK und dessen Komplement CLK,
die als Speicher-Steuersignale zum Zwischenspeichern des Werts des
verzögerten
Taktsignals dienen, welches von den jeweiligen Zeitverzögerungsschaltungen 14 ausgegeben wird.
Der zwischengespeicherte Wert des verzögerten Taktsignals wird an
einen Speicher-Ausgang der Verzögerungs-Zwischenspeicherschaltung 14 als Teil
eines vier Leitungen umfassenden Verzögerungssignals DELAY<0:3> ausgegeben. Wunschweise
können
die Verzögerungs-Zwischenspeicherschaltungen 14 jeweils
Direkteingänge
Latch, Reset und/oder Disable sowie dazugehörige interne Schaltungen (nicht
gezeigt) enthalten, um auf direktem Weg Signalwerte zwischenzuspeichern,
Signalwerte zurückzusetzen
und/oder die Verzögerungs-Zwischenspeicherschaltungen
unabhängig
vom Zustand des Taktsignals CLK zu deaktivieren.
-
Das
verzögerte
Taktsignal bereitet sich durch eine Reihe von Zeitverzögerungsschaltungen 14 und zugehörigen Verzögerungs-Zwischenspeicherschaltungen 16 aus,
wobei die Zeitverzögerung
zunehmend größer wird,
wie sich durch die Anzahl von Zeitverzögerungsschaltungen ergibt,
durch die sich das Signal ausbreitet. Das unverzögerte Taktsignal CLK und dessen
Komplement CLK halten den
Zustand des verzögerten
Taktsignals in jeder der Verzögerungs-Zwischenspeicherschaltungen 16 und
geben damit an, wie weit das verzögerte Taktsignal durch die
Reihe von Zeitverzögerungsschaltungen 14 gelaufen
ist. Ausgehend von den betrachteten Frequenzen des Taktsignals ist
SYSCLK und der Signalausbreitungsverzögerung, die durch die erste
der Zeitverzögerungsschaltungen 14 bewirkt
wird, erreicht ein hoher Zustand des verzögerten Taktsignals zumindest
ein Erstes der Verzögerungs-Zwischenspeicherschaltungen 16 vor
der Zwischenspeicherung. Das Verzögerungssignal DELAY<0:3> weist dann vier mögliche Werte
auf (1000, 1100, 1110 oder 1111), abhängig davon, wie weit sich das
verzögerte Taktsignal
durch die Zeitverzögerungsschaltung 14 ausgebreitet
hat. Das Verzögerungssignal
DELAY<0:3> wird in herkömmlicher
Weise umgewandelt in ein zwei Bits aufweisendes Taktgeschwindigkeitssignal
SLOW<0:1>, beispielsweise unter
Verwendung einer speziellen Umwandlungs-Logikschaltung 18,
die in 1 gezeigt ist.
-
Wie
weiter unten näher
erläutert
wird, besitzt jede der Verzögerungs-Zwischenspeicherschaltungen 16 einen
Verzögerungssignal-Ausgang,
der ansprechend auf eine Anstiegsflanke des Taktsignals CLK in einen
logisch niedrigen Zustand (oder null) gebracht wird. Das Taktsignal
breitet sich durch die Reihe von Zeitverzögerungsschaltungen 14 und
Verzögerungs-Zwischenspeicherschaltungen 16 aus, wobei
jede Verzögerungs-Zwischenspeicherschaltung
dann das Ausgangssignal der zugehörigen Zeitverzögerungsschaltung 14 bei
einer Abfallflanke des Taktsignals CLK speichert. Jedes der Komponentensignale
des Verzögerungssignals
DELAY<0:3> ist abhängig davon,
ob der verzögerte
hohe Zustand des Taktsignals CLK die entsprechende Verzögerungs-Zwischenspeicherschaltung 16 bei
der Abfallflanke des Taktsignals CLK an der Verzögerungs-Zwischenspeicherschaltung
erreicht hat, hoch oder niedrig. Weil das Taktsignal CLK die halbe
Frequenz des Taktsignals SYSCLK hat, sieht der Fachmann, dass das
von jeder der Verzögerungs-Zwischenspeicherschaltungen 16 zwischengespeicherte Signal
angibt, ob ein erster SYSCLK-Impuls den entsprechenden Verzögerungs-Zwischenspeicher
beim Auftreten des nächsten
SYSCLK-Impulses erreicht hat. Durch Speichern, wie weit der erste
Systemtaktimpuls sich durch die Zeitverzögerungsschaltungen 14 ausgebreitet
hat, wird eine funktionelle Messung einer Systemtaktfrequenz erreicht,
wobei das erzeugte Geschwindigkeitssignal SLOW<0:1> einen binären Wert
besitzt, der dieser Frequenz in umgekehrter Weise entspricht. Das
Geschwindigkeitssignal SLOW<0:1> kann dann, wie weiter
unten näher ausgeführt wird,
angewendet werden, um die zeitliche Lage einer Vielfalt von Steuersignalen
zu justieren, die beim Datenzugriff und/oder bei Transferoperationen
verwendet wird. Während
in 1 vier Zeitverzögerungsschaltungen 14 und
vier dazugehörige Verzögerungs-Zwischenspeicherschaltungen 16 zeigt,
sieht der Fachmann, dass in vorteilhafter Weise auch eine größere Anzahl
möglich
ist. In einer derzeit bevorzugten Ausführungsform sind acht Verzögerungs-Zwischenspeicherschaltungen
vorhanden, zusammen mit zugehörigen
Zeitverzögerungsschaltungen.
Das entsprechend produzierte Geschwindigkeitssignal SLOW ist dann
ein drei Bits umfassendes Signal. Durch die Verwendung einer größeren Anzahl von
Verzögerungs-Zwischenspeicherschaltungen und
Zeitverzögerungsschaltungen
lässt sich
die funktionelle Messung der Taktsignalfrequenz mit größerer Empfindlichkeit
vornehmen als mit dem speziell in 1 dargestellten
Ausführungsbeispiel.
-
Der
Fachmann erkennt, dass die oben beschriebene Taktleseschaltung 10 im
Wesentlichen die Impulsbreite oder Periode des Taktsignals SYSCLK
mit verschiedenen Zeitintervallen vergleicht. Wenn z.B. die Impulsbreite
größer ist
als die Zeitverzögerung,
die durch die erste der Zeitverzögerungsschaltungen 14 be wirkt
wird, so speichert die Erste der Verzögerungs-Zwischenspeicherschaltungen 16 einen
logisch hoen Zustand für
das Verzögerungssignal.
Wenn die Impulsbreite größer ist
als die Zeitverzögerung,
die von der ersten und der zweiten Zeitverzögerungsschaltung 14 hervorgerufen
wird, so speichern die erste und die zweite Verzögerungs-Zwischenspeicherschaltung 16 jeweils
ein Verzögerungssignal
mit logisch hohem Zustand, etc.
-
2 zeigt
eine von zahlreichen möglichen Implementierungen
für eine
der Verzögerungs-Zwischenspeicherschaltungen 16 aus 1.
Die dargestellt Verzögerungs-Zwischenspeicherschaltung 16 enthält ein Durchlassgatter 22 und
ein Rücksetzgatter 24.
Wenn das Taktsignal CLK einen logisch niedrigen Zustand hat (und
folglich CLK einen logisch
hohen Zustand besitzt), trennt das Durchlassgatter 22 den
Ausgang vom Eingang, und das Rücksetzgatter 24 zieht
den Ausgang der Verzögerungs-Zwischenspeicherschaltung 16 auf
einen logisch niedrigen Zustand, beispielsweise Massepotential.
Wenn das Taktsignal CLK einen logisch hohen Zustand hat (und folglich CLK einen logisch niedrigen
Zustand besitzt), lässt
das Durchlassgatter 22 ein Signal vom Eingang zum Ausgang
der Verzögerungs-Zwischenspeicherschaltung 16,
welche außerdem
einen Master-Slave-Zwischenspeicher 26 besitzt, der auf
die Rückflanke
des Taktsignals CLK anspricht, um den Zustand des Ausgangssignals
als Signal DELAY zwischenzuspeichern.
-
Der
Zwischenspeicher 26 wird gebildet durch zwei Negatoren
und Durchlassgatter in herkömmlichem
Aufbau. Der erste und der zweite Negator 28 und 29 und
das erste Durchlassgatter 30 bilden einen Master-Zwischenspeicher 31.
Ein dritter und ein vierter Negator 32, 33 und
ein zweites Gatter 34 bilden einen Salve-Zwischenspeicher 35.
Ein drittes Durchlassgatter 36 liegt zwischen dem Master-Zwischenspeicher 31 und
dem Slave-Zwischenspeicher 35, um den Slave-Zwischenspeicher
und den Master-Zwischenspeicher zu verbinden oder voneinander zu
trennen. Ein viertes Gatter 38 liegt an dem Eingang des
Master-Zwischenspeichers 31, um das Ausgangssignal der
Verzögerungs-Zwischenspeicherschaltung 16 selektiv
an dem Master-Zwischenspeicher durchzulassen. Wenn das Taktsignal
CLK einen logisch hohen Zustand hat, werden das zweite Gatter 34 und
das vierte Gatter 38 eingeschaltet, während das erste Gatter 30 und
das dritte Gatter 36 ausgeschaltet werden. Hierdurch wird
der Slave-Zwischenspeicher 35 von dem Master-Zwischenspeicher 31 getrennt,
und es wird die Rückkopplungsschleife
des Slave-Zwischenspeichers geschlossen, wodurch der vorhergehende
Zu stand gespeichert wird. Die Rückkopplungsschleife
des Master-Zwischenspeichers 31 ist offen, und das Ausgangssignal des
Master-Zwischenspeichers folgt einfach dem Komplement des Ausgangssignals
der Verzögerungs-Zwischenspeicherschaltung 16.
Wenn das Taktsignal CLK in einen logisch niedrigen Zustand übergeht,
so wechseln die Ein- oder Aus-Zustände der Gatter 30, 34, 36 und 38.
Der Master-Zwischenspeicher 31 wird dann von dem von der
Verzögerungs-Zwischenspeicherschaltung 16 erzeugten Ausgangssignal
getrennt, und die Master-Zwischenspeicher-Rückkopplungsschleife
wird geschlossen und speichert damit das Komplement des Ausgangssignals
der Verzögerungs-Zwischenspeicherschaltung
unmittelbar vor der Rückflanke
des Taktsignals CLK. Dieser gespeicherte Signalzustand wird von dem
Gatter 36 zu dem Slave-Zwischenspeicher 35 weitergereicht.
Die Rückkopplungsschleife
des Slave-Zwischenspeichers 35 ist offen, sein Ausgang folgt
also dem Komplement des von dem Master-Zwischenspeicher 31 gespeicherten
Signals. Beim Übergang
des Taktsignals CLK von einem logisch hohen in einen logisch niedrigen
Zustand nimmt also der logische Zustand des Signals DELAY einen
Wert an, den das Ausgangssignal der Verzögerungs-Zwischenspeicherschaltung 16 unmittelbar
vor dem vorhergehenden Übergang
des Taktsignals innehat.
-
3 zeigt
eine von zahlreichen möglichen Anwendungen
unter Verwendung des Geschwindigkeitssignals SLOW<0:1>, welches von der in 1 gezeigten
Taktleseschaltung 10 erzeugt wird. 10 zeigt
ein Speicherbauelement 40 mit einem Speicherzellenarray 42,
welches mit mehreren internen Taktsignalen arbeitet, die von einer
Speichersteuerschaltung 44 erzeugt werden. Ein außerhalb
des Speicherbauelements 40 befindliches Bauelement legt
mehrere Befehlssignale an die Speichersteuerschaltung 44,
darunter bekannte Signale wie beispielsweise ein Schreibfreigabesignal
(WE), ein Ausgabe-Freigabesignal
(OE), ein Chip-Freigabesignal (CE). Die Speichersteuerschaltung 44 empfängt außerdem das
Systemtaktsignal SYSCLK. Der Fachmann sieht, dass jedes der dargestellten
Steuersignale selbst für
eine Mehrzahl zugehöriger
Steuersignale steht, und dass zusätzliche bekannte Steuersignale
abhängig
vom speziellen Typ des Speicherbauelements 40 vorhanden
sein können
(abhängig
davon, ob es sich um einen SRAM, einen synchronen DRAM etc. handelt).
-
Eine
Adresse ADDR wird über
einen Adressenbus 46 an das Speicherbauelement 40 gelegt. Die
Adresse ADDR kann eine einfache angelegte Adresse sein, so z.B. im
Fall eines SRAM, oder kann eine Zeitmultiplex-Adresse sein, so z.B.
im Fall eines DRAM. Ansprechend auf ein oder mehrere Steuersignale,
die von der Speichersteuerschaltung 44 geliefert werden,
decodiert die Adressenschaltung 48 die Adresse ADDR, wählt entsprechende
Stellen innerhalb des Speicherzellenarrays 42 aus und leitet
den Zugriff zu diesen Speicherstellen ein. Wie der Fachmann weiß, enthält die dargestellte
Adressenschaltung 48 eine Vielzahl funktioneller Komponenten,
die speziell von dem Typ des Speicherbauelements abhängen. Beispielsweise
kann die Adressenschaltung 48 einen Adressen-Burst-Zähler und
eine Multiplexschaltung zusammen mit einer Aktivierungs- und Adressenauswahlschaltung
enthalten, die für
den speziellen Typ des Speicherbauelements geeignet sind. Ansprechend
auf ein oder mehrere Steuersignale seitens der Speichersteuerschaltung 44 schreibt die
Schreibschaltung 50 Daten in adressierte Speicherzellen
innerhalb des Speicherzellenarrays 42. Der Fachmann weiß, dass
die dargestellte Schreibschaltung 50 eine Vielzahl funktioneller
Komponenten speziell für
den Typ des Speicherbauelements enthält. Beispielsweise kann die
Schreibschaltung 50 eine Byte-Freigabeschaltung und eine
Schreib-Treiberschaltung enthalten. Ansprechend auf ein oder mehrere
Steuersignale seitens der Speichersteuerschaltung 44 sucht
eine Leseschaltung 42 Daten aus den Adressstellen innerhalb
des Speicherzellenarrays 42. Der Fachmann sieht, dass die
dargestellte Schaltung 52 eine Vielfalt funktioneller Schaltungskomponenten
enthält,
die für
den speziellen Speicherbauelement-Typ geeignet sind. Beispielsweise
kann die Leseschaltung 52 eine Leseverstärkerschaltung
und eine E/A-Gatterschaltung enthalten.
-
Ansprechend
auf ein oder mehrere Steuersignale aus der Speichersteuerschaltung 44 werden die
Dateneingabe- und Datenausgabeschaltungen 54 und 56 selektiv
mit dem Datenbus 58 verbunden, um Eingangs- und Ausgangsdaten
D und Q in das Speicherbauelement 40 einzugeben bzw. aus
ihm auszugeben. Die Dateneingabeschaltung 54 empfängt davon
den Datenbus 58 und liefert sie an die Schreibschaltung 50 zwecks
Speicherung in einer adressierten Stelle des Speicherzellenarrays 42.
Die Datenausgabeschaltung 56 empfängt Daten, die von der Leseschaltung 52 geholt
wurden, und sie liefert diese Daten über den Datenbus 58 an
externe Geräte.
Der Fachmann erkennt, dass die dargestellten Daten Eingabe- und
Ausgabeschaltungen 54 und 56 eine Vielfalt von
funktionellen Schaltungskomponenten enthalten können, so z.B. eine Puffer-
und Registerschaltung.
-
Nach
einer Ausführungsform
der Erfindung ist in dem Speicherbauelement 40 eine einstellbare Steuersignal-Verzögerungsschaltung 60 vorhanden, die
nach 3 die Speichersteuerschaltung 44 mit der
Datenausgabeschaltung 66 koppelt. Die Steuersignal-Verzögerungsschaltung 60 empfängt das
Geschwindigkeitssignal SLOW<0:1> und justiert die zeitliche
Verzögerung
des Steuersignals entsprechend dem speziellen Wert des Geschwindigkeitssignals.
Um ein Beispiel zu geben: Die zeitliche Lage des Datentransfers
von der Leseschaltung 52 zu der Datenausgabeschaltung 56 lässt sich
steuern durch Einstellen der zeitlichen Lage des intern erzeugten Taktsignals,
welches die Lesedaten in die Ausgabeschaltung taktet. Ein weiteres
Beispiel: Die Steuersignal-Verzögerungsschaltung 60 kann
selektiv die zeitliche Lage des intern erzeugten Ausgabe-Freigabesignals
einstellen, welches an die Datenausgabeschaltung 56 gelegt
wird, um selektiv die zeitliche Lage der Verbindung niedriger Impedanz
zu dem Datenbus 58 zu steuern. Natürlich sieht der Fachmann, dass
die Steuersignal-Verzögerungsschaltung 60 dazu
benutzt werden kann, die zeitliche Lage einer großen Vielfalt
von Steuersignalen innerhalb des Speicherbauelements 40 einzustellen,
nicht nur solcher Signale, die in Verbindung mit der dargestellten Datenausgabeschaltung 56 stehen.
-
4 zeigt
eine mögliche
Ausführungsform der
Steuersignal-Verzögerungsschaltung 60.
Ein Signaleingang der Steuersignal-Verzögerungsschaltung 60 wird
nach dem Durchgang durch ein Gatter 51 und durch eine ausgewählte Anzahl
mehrerer Zeitverzögerungsstufen 62 ausgegeben,
wobei die ausgewählte
Anzahl abhängt
vom Wert des Geschwindigkeitssignals SLOW<0:1>.
Eine logische Schaltung 64 tastet den Signalzustand der
verschiedenen Komponenten des Geschwindigkeitssignals SLOW<0:1> ab und legt entsprechende
Steuer- und Komplementärsignale
DELAYn und DELAYn und die
Zeitverzögerungsstufen 62,
die außerdem
jeweils das Verzögerungssteuersignal
empfangen, welches an die unmittelbar vorausgehende Zeitverzögerungsstufe
gelegt wird, und zwar bei dem Eingang „Verzögerung n minus 1" DELAYnm1. Abhängig von
den Zuständen dieser
Signale tut, wie im Folgenden detailliert beschrieben wird, jede
der Zeitverzögerungsstufen
eines der folgenden Dinge: Sie lässt
das Eingangssignal direkt zu einem Ausgang OUT durch, um anschließende Zeitverzögerungsstufen
zu umgehen; oder sie verzögert
das Eingangssignal und gibt es an den verzögerten Ausgang DELAYOUT aus
zur Weiterreichnung an den Eingang IN der nächsten Zeitverzögerungsstufe 62.
Abhängig
davon, ob der Dezimalwert des Geschwindig keitssignals SLOW<0:1> den Wert 0, 1, 2 oder
3 hat, wird das Eingangssignal der Steuersignal-Verzögerungsschaltung 60 entsprechend
von dem Gatter 61 und der ersten Verzögerungsstufe 62 überhaupt
nicht verzögert,
wird von der ersten Verzögerungsstufe
verzögert,
wird von der ersten und der zweiten Verzögerungsstufe verzögert, oder
wird von der ersten, der zweiten und der dritten Zeitverzögerungsstufe
verzögert.
-
Wie
hier in Verbindung mit 1 diskutiert wurde, erkennt
der Fachmann, dass die Frequenz des Taktsignals SYSCLK funktionell
mit höherer
Genauigkeit gemessen werden kann und die zeitliche Lage der Steuersignale
entsprechend justiert werden kann. Wie oben diskutiert wurde, enthält die derzeit bevorzugte
Ausführungsform
Schaltungen, die ein drei Bits umfassendes Geschwindigkeitssignal SLOW
liefern. Dementsprechend würde
die Steuersignal-Verzögerungsschaltung 60 dann
sieben Verzögerungsstufen
anstatt der in 4 gezeigten drei Verzögerungsstufen 62 enthalten.
-
5 zeigt
eine mögliche
Implementierung der Zeitverzögerungsstufe 62.
Das Verzögerungs-Steuersignal
und das dazu komplementäre
Signal DELAYn werden an das
Eingangsgatter 70 bzw. das Verzögerungs-Ausgangsgatter 72 gelegt.
Zwischen dem Eingangsgatter 70 und dem Verzögerungs-Ausgangsgatter 72 befindet
sich eine Zeitverzögerungsschaltung 74,
bei der es sich um eine aus einer Vielfalt bekannter Schaltungen
zum Verzögern der
Signalübertragung
handeln kann. Wenn der logische Zustand von DELAYn hoch ist (und
entsprechend das komplementäre
Signal DELAYn niedrig ist),
werden die Gatter 70 und 72 freigegeben, und das
Eingangssignal der Zeitverzögerungsstufe 62 wird
durch die Zeitverzögerungsschaltung 74 geleitet und
als verzögertes
Ausgangssignal DELAY-OUT bereitgestellt.
-
Wenn
der logische Zustand von DELAYn niedrig ist (und das entsprechende
komplementäre Signal DELAYn hoch ist), werden
Gatter 70 und 72 gesperrt. Die Logikschaltung
aus einem NAND-Gatter 78 und einem Negator 80 gibt
das Ausgangsgatter 76 frei oder sperrt es. Wenn der logische
Zustand von DELAYn niedrig ist und der logische Zustand von DELAYnm1
hoch ist, wird das Ausgangsgatter 76 freigegeben und leitet
das Eingangssignal der Zeitverzögerungsstufe 62 direkt
ohne zeitliche Verzögerung
zu einem Ausgang. Wenn der logische Zustand von DELAYn niedrig und
der logische Zustand von DELAYnm1 niedrig ist, ist das Gatter 76 gesperrt.
Zusammengefasst: (i) Wenn DELAYn hoch ist, wird das Eingangssignal
an der Zeitverzögerungsstufe 62 durch
die Zeitverzögerungsschaltung 74 geleitet
und als zeitlich verzögertes
Ausgangssignal DELAVOUT geliefert; (ii) wenn DELAYn niedrig und
DELAYnm1 hoch ist, wird das Eingangssignal der Zeitverzögerungsstufe
(ohne Verzögerung)
zum Ausgang OUT geleitet; wenn DELAYn niedrig und DELAYnm1 niedrig
ist, gibt es keinen Signalweg durch die Zeitverzögerungsstufe, und es erfolgt
eine Umgehung, wie es in Verwendung mit 4 erläutert wurde.
-
6 ist
ein funktionelles Blockdiagramm eines Computersystems 90,
welches ein erfindungsgemäß aufgebautes
Speicherbauelement 100 enthält. Beispielsweise kann das
Speicherbauelement 100 eine Konfiguration ähnlich wie
das Speicherbauelement 40 und die oben in Verbindung mit 3 beschriebenen Äquivalente
haben. Das Computersystem 90 enthält eine Computerschaltung 92 zum
Ausführen
von Funktionen wie der Ausführung
von Software, um gewünschte
Berechnungen und Aufgaben zu übernehmen.
Die Computerschaltung 92 enthält mindestens einen (nicht
gezeigten) Prozessor und ein Speicherbauelement 100, wie
dargestellt. Eine Dateneingabeeinrichtung 94 ist mit der
Computerschaltung 92 gekoppelt, so dass eine Bedienungsperson
manuell Daten eingeben kann. Beispiele für Dateneingabegeräte 94 enthalten
eine Tastatur und eine Zeigereinrichtung. Die Datenausgabeeinrichtung 96 ist
mit der Computerschaltung 92 gekoppelt, um die von der
Computerschaltung erzeugten Daten an eine Bedienungsperson auszugeben.
Beispiele für
Datenausgabegeräte 96 sind
ein Drucker und eine Videoanzeigeeinheit. Eine Datenspeichereinrichtung 98 ist
mit der Computerschaltung 92 gekoppelt, um Daten in einen
externen Speicher zu speichern und/oder Daten aus dem Speicher zu
holen. Beispiele für
Speichervorrichtungen 98 und zugehörige Speichermedien umfassen
Laufwerke, die Festplatten und Floppy-Disks enthalten, außerdem Magnetbandrecorder
sowie CD-Lesespeicher-Laufwerke (CD-ROMs).
-
Obwohl
spezielle Ausführungsbeispiele
der Erfindung zum Zweck der Veranschaulichung dargestellt wurden,
ist ersichtlich, dass verschiedene Abwandlungen möglich sind,
ohne vom Schutzumfang und Grundgedanken der Erfindung abzuweichen. Um
nur ein Beispiel zu nennen: Eine Reihe alternativer Schaltungsimplementierungen
kann von funktionell die oben speziell beschriebenen Verzögerungs-Zwischenspeicherschaltungen 16 und
Zeitverzögerungsstufen 62 erset zen.
Tatsächlich
versteht der Fachmann, dass eine Reihe geeigneter Schaltungen angepasst
und kombiniert werden kann zur Implementierung selektiver Justierung
der zeitlichen Lage von Steuersignalen in einem Speicherbauelement
oder einer anderen integrierten Schaltung. Folglich ist die Erfindung
nicht auf die offenbarten Ausführungsformen
beschränkt,
stattdessen bestimmt sich der Schutzumfang der Erfindung durch die
beigefügten
Ansprüche.