-
Die
Erfindung betrifft ein FIFO-Schieberegister zum seriellen Beschreiben
mit Daten und zum seriellen Auslesen von Daten, wobei die hineingeschriebenen
Daten in der gleichen Reihenfolge auslesbar sind.
-
An
vielen Stellen in integrierten Schaltungen werden sogenannte FIFO-Schieberegister (First-In-First-Out)
zur Synchronisation von Taktsignalen oder zur Verzögerung von
Daten verwendet. FIFO-Schieberegister umfassen üblicherweise einen Dateneingang,
an dem Daten mit einem ersten Taktsignal hineingeschrieben werden
und einen Datenausgang, aus dem Daten mit einem zweiten vom ersten
Taktsignal unabhängigen
Taktsignal in der gleichen Reihenfolge ausgelesen werden können.
-
Herkömmliche
FIFO-Schieberegister weisen Zähler
und Decoder auf, die aufgrund ihrer Komplexität eine wesentliche Beschränkung der
Zugriffsgeschwindigkeit des FIFO-Schieberegisters darstellen. Bisher
bekannte FIFO-Schieberegister weisen zumindest einen Schreib- und
einen Lesepointer auf, die eine Adresse bereitstellen, die die zu
schreibende bzw. zu lesenden Speicherzelle adressiert. Diese Adresse
wird über
einen Adressdecoder dekodiert. Zusätzlich ermittelt eine Vergleichslogik
aus den Zählerständen den
jeweiligen Zustand des FIFO-Schieberegisters. Aufgrund der Komplexität der verwendeten
Pointer und Adressdecoderschaltungen ist die Arbeitsgeschwindigkeit
solcher FIFO-Schieberegister beschränkt.
-
Es
ist daher Aufgabe der vorliegenden Erfindung ein FIFO-Schieberegister zu
schaffen, das eine hohe maximale Arbeitsfrequenz aufweist.
-
Diese
Aufgabe wird durch das FIFO-Schieberegister nach Anspruch 1 gelöst.
-
Weitere
vorteilhafte Ausgestaltungen der Erfindung sind in den abhängigen Ansprüchen angegeben.
-
Erfindungsgemäß ist ein
FIFO-Schieberegister zum seriellen Beschreiben mit Daten und zum
seriellen Auslesen von Daten vorgesehen. Die hineingeschriebenen
Daten sind in der gleichen Reihenfolge auslesbar, wie zuvor in das
FIFO-Schieberegister hineingeschrieben.
Das FIFO-Schieberegister weist einen Registerspeicher mit in Serie
geschalteten Registerelementen auf. Jedem der Registerelemente ist ein
entsprechendes Speicherelement eines Maskierungsspeichers zum jeweiligen
Speichern eines Gültigkeitsdatums
mit einer ersten Gültigkeitsinformation oder
einer zweiten Gültigkeitsinformation
zugeordnet. Die erste Gültigkeitsinformation
gibt an, dass in dem zugeordneten Registerelement ein gültiges Datum
gespeichert ist. Die zweite Gültigkeitseinformation
gibt an, dass in dem zugeordneten Registerelement kein gültiges Datum
gespeichert ist. Die Registerelemente sowie die Speicherelemente
sind so miteinander verschaltet, um beim Auslesezugriff das gespeicherte
Datum aus einem bestimmten der Registerelemente in das dazu nachgeschaltete
Registerelement zu speichern und das in dem dem bestimmten Registerelement
zugeordneten Speicherelement gespeicherte Gültigkeitsdatum in dem dazu
nachgeschalteten Speicherelement zu speichern. Die Registerelemente
und die Speicherelemente sind weiterhin so miteinander verschaltet,
um bei einem Schreibzugriff ein bestimmtes der Registerelemente
mit einem bereitgestellten Schreibdatum zu beschreiben. Das bestimmte
Registerelemente ist dadurch bestimmt, dass dessen zugeordnetes
Speicherelement die zweite Gültigkeitsinformation
aufweist und das dem bestimmten Registerelement nachgeordnete Speicherelement
die erste Gültigkeitsinformation
aufweist, oder dadurch bestimmt ist, dass dessen zugeordnetes Speicherelement
die zweite Gül tigkeitsinformation
aufweist und dass kein dem bestimmten Registerelement nachgeordnetes
Registerelement existiert.
-
Bei
einem solchen FIFO-Schieberegister dienen die Speicherelemente,
die jeweils den Registerelementen zugeordnet sind, dazu, jeweils
bereits eine dekodierte Pointerinformation zur Verfügung zu stellen.
Mithilfe der ersten Gültigkeitsinformation
wird angezeigt, welches der Registerelemente mit einem gültigen Datum
beschrieben ist und anhand der zweiten Gültigkeitsinformation wird angezeigt,
welches der Registerelemente nicht oder noch nicht mit einem gültigen Datum
beschrieben worden ist. Da beim Beschreiben des Schieberegisters
immer dasjenige Registerelement mit dem anliegenden Datum beschrieben
wird, das dem Registerelement, in das das zuletzt geschriebene Datum
gespeichert ist, vorgeschaltet ist, können die gespeicherten Daten
auf einfache Weise durch ein Verschieben der in den Registerelementen
gespeicherten Daten ausgelesen werden.
-
Das
Registerelement, in das das zu schreibende Datum geschrieben werden
soll, wird dadurch erkannt, dass in dem dem betreffenden Registerelement
zugeordneten Speicherelement die zweite Gültigkeitsinformation gespeichert
wird und in dem im nachgeschalteten Registerelement zugeordneten Speicherelement
die erste Gültigkeitsinformation
gespeichert ist, sofern ein nachgeschaltetes Registerelement zu
dem betreffenden Registerelement existiert. Dadurch ist es möglich, ohne
eine Decodierlogik für
eine Pointeradresse auszukommen. Der Pointer wird durch einen Maskierungsspeicher
ersetzt, der für
jedes der Registerelemente ein zugehöriges Speicherelement bereitstellt.
Die Pointerinformation besteht darin, dass das Registerelement,
in dem das nächste
zu speichernde Datum beschrieben werden soll, dadurch angezeigt
wird, dass dem Registerelement ein Speicherelement zugeordnet ist,
in dem eine zweite Gültigkeitsinformation
gespeichert ist, und in einem dazu nachgeschalteten Speicherelement
die erste Gültigkeitsinformation
gespeichert ist.
-
Das
Auswählen
des betreffenden Registerelementes zum Schreiben eines zu schreibenden
Datums ist somit durch eine einfache Logikschaltung durchführbar.
-
Es
kann weiterhin vorgesehen sein, dass ein Datenausgang des FIFO-Schieberegisters
durch den Ausgang des Registerelements gebildet ist, zu dem kein
nachgeordnetes Registerelement existiert.
-
Vorzugsweise
sind die Speicherelemente und die Registerelemente als D-Flipflops
ausgestaltet. Jedes der D-Flipflops weist einen ersten Eingang auf,
einen dem ersten Eingang zugeordneten ersten Takteingang, um ein
an dem ersten Eingang anliegendes Datum gemäß einem an dem ersten Takteingang
anliegendes erstes Taktsignal in das D-Flipflop zu übernehmen.
Jedes der D-Flipflops weist weiterhin einen zweiten Eingang, einen
dem zweiten Eingang zugeordneten zweiten Takteingang sowie einen dem
zweiten Eingang zugeordneten Freischalteingang auf, um ein an dem
zweiten Eingang anliegendes Datum gemäß einem an dem zweiten Takteingang
anliegenden zweiten Taktsignal und gemäß einem an dem Freischalteingang
anliegenden Freischaltsignal in das D-Flipflop zu übernehmen.
Jedes der D-Flipflops weist weiterhin einen Ausgang auf, um das
in dem D-Flipflop gespeicherte Datum auf einer daran angeschlossenen
Ausgangleitung bereitzustellen. Ein solches D-Flipflop ist besonders
geeignet, das erfindungsgemäße FIFO-Schieberegister aufzubauen.
-
Vorzugsweise
ist der Ausgang eines der Registerelemente mit dem ersten Eingang
des dazu nachgeschalteten Registerelementes verbunden. Der Ausgang
eines der Speicherelemente ist mit dem ersten Eingang des dazu nachgeschalteten
Speicherelementes – sofern
vorhanden – und
mit dem zweiten Eingang des dazu vorgeschalteten Speicherelementes
verbunden. Der zweite Eingang der Registerelemente ist mit einer
Datenleitung zum Bereitstellen von Schreibdaten verbunden.
-
Jedes
der D-Flipflops der Speicherelemente des FIFO-Schieberegisters kann einen invertierenden
Ausgang aufweisen, der mit dem ersten Eingang des Nicht-Oder-Gatters
verbunden ist und wobei der Ausgang des dazu vorgeschalteten Speicherelementes
mit einem zweiten Eingang des Nicht-Oder-Gatters verbunden ist.
Ein Ausgang des Nicht-Oder-Gatters ist mit dem Freischalteingang
des dem vorgeschalteten Speicherelements zugeordneten Registerelement
verbunden. So können
auf einfache Weise die Gültigkeitsdaten
in zwei benachbarten Registerelementen abgefragt werden, wobei das
zwischen die beiden Speicherelemente geschaltete Nicht-Oder-Gatter
an seinem Ausgang eine logische „1" – bei
einer Codierung der ersten Gültigkeitsinformation
mit einer logischen „1" und der zweiten
Gültigkeitsinformation
mit einer logischen „0" ausgibt, wenn in
zwei benachbarten Speicherelementen unterschiedliche Gültigkeitsinformationen
gespeichert sind. Somit kann das dem Nicht-Oder-Gatter zugeordnete
Registerelement als einziges der Registerelemente mithilfe des Nicht-Oder-Gatters
ausgewählt werden,
um das anstehende zu schreibende Datum aufzunehmen.
-
Vorzugsweise
ist das erste Taktsignal zum Einlesen des auf der Datenleitung angelegten
Datums in das FIFO-Schieberregister
und das zweite Taktsignal zum Auslesen des in dem letzten Registerelement
des Registerspeichers gespeicherte Datum vorgesehen.
-
Eine
bevorzugte Ausführungsform
der Erfindung wird im folgenden anhand der beigefügten Zeichnungen
näher erläutert. Es
zeigen:
-
1 ein schematisches Blockschaltbild
eines erfindungsgemäßen FIFO-Schieberegisters
mit vier Registerelementen.
-
In 1 ist ein Schaltbild einer
Ausführungsform
eines erfindungsgemäßen FIFO-Schieberegisters
dargestellt. Es zeigt einen Registerspeicher 1, der beispielhaft
vier Registerelemente 2 aufweist, die in Reihe geschaltet
sind. Jedes der Registerelemente 2 ist als ein D-Flipflop
mit zwei Eingängen
ausgebildet.
-
Jedes
D-Flipflop der Registerelemente 2 weist einen ersten Dateneingang
D1 und einen dem ersten Dateneingang D1 zugeordneten ersten Takteingang
C1 auf. Ein an dem ersten Dateneingang D1 anliegendes Datum wird
gemäß einer
Flanke eines ersten an dem ersten Takteingang anliegenden Taktsignals
RCLK in das D-Flipflop übernommen.
Sobald das anliegende Datum in das D-Flipflop übernommen ist, bleibt der entsprechende
Datenwert gespeichert und liegt an einem nicht-invertierenden Ausgang
Q des D-Flipflops an. Gleichzeitig liegt ein inverser Datenwert
an einem invertierenden Ausgang bQ des D-Flipflops an.
-
Jedes
der D-Flipflop weist weiterhin einen zweiten Dateneingang D2, einen
dem zweiten Dateneingang zugeordneten zweiten Takteingang C2 und ein
dem zweiten Dateneingang D2 zugeordneten Freischalteingang C2EN
auf. Ein an D2 anliegendes Datum wird gemäß einer Flanke eines zweiten
Taktsignals WCLK an dem zweiten Takteingang C2 dann in das D-Flipflop 2 übernommen,
wenn mithilfe eines Freischaltsignals, das an dem Freischalteingang C2EN
anliegt, der zweite Dateneingang D2 aktiviert ist. Im vorliegenden
Fall werden Daten gemäß dem ersten
bzw. zweiten Taktsignal RCLK, WCLK bei einer steigenden Flanke in
das D-Flopflop übernommen.
Die Übernahme
des zweiten Datensignals erfolgt gemäß dem Freischaltsignal am Freischalteingang
C2EN dann, wenn sich der Pegel des Freischaltsignals auf einer logischen „1" befindet. Jedes der
D-Flipflops weist weiterhin einen Rücksetzeingang bR auf, der mithilfe
eines low-aktiven Rücksetzsignals
bRESET zurückgesetzt
werden kann.
-
Die
durch die D-Flipflops gebildeten Registerelemente 2 sind
in Serie geschaltet, d.h. der nicht invertierende Ausgang Q ist
jeweils mit dem ersten Dateneingang D1 des nachgeschalteten Registerelements 2 verbunden.
Der nicht invertierende Ausgang Q des letzten Registerelementes 2 stellt
den Datenausgang des FIFO-Schieberegisters dar. Der erste Dateneingang
D1 des ersten Registerelementes 2 der Reihe der Registerelemente 2 ist
mit einem Massepotential GND verbunden, so dass dort dauerhaft eine
logische „0" als Signal angelegt
ist.
-
Die
ersten Takteingänge
C1 aller so in Serie geschalteter Registerelemente 2 sind
mit dem ersten Taktsignal RCLK verbunden. Beim Auslesen von Daten
aus dem Registerspeicher 1 werden mit jeder steigenden
Flanke des ersten Taktsignals RCLK das in dem vorletzten Registerelement
gespeicherte Datum, das gleichzeitig an dem ersten Dateneingang D1
des letzten Registerelements anliegt, in das letzte Registerelement 2 übernommen
und gleichzeitig an dem Ausgang Q des letzten Registerelementes 2 bis zur
nächsten
steigenden Flanke des ersten Taktsignals RCLK ausgegeben. Da der
Ausgang Q des letzten Registerelementes 2 gleichzeitig
den Ausgang des FIFO-Schieberegisters
darstellt, wird mit dem ersten Taktsignal RCLK das entsprechende
Datum ausgegeben. Auf gleiche Weise wird bei der steigenden Flanke
des ersten Taktsignals RCLK der Inhalt jedes der Registerelemente 2 in
das jeweils nachgeschaltete Registerelement 2 geschrieben,
wobei das erste Registerelement der Serienschaltung mit einer logischen „0" beschrieben wird.
-
Jedem
der Registerelemente 2 des Registerspeichers 1 ist
ein entsprechendes Speicherelement 3 eines Maskierungsspeichers 4 zugeordnet.
Jedes der Speicherelemente 3 ist als D-Flipflop in gleicher Bauart
wie die D-Flipflops der Registerelemente 2 ausgeführt. Die
Speicherelemente 3 des Maskierungsspeichers 4 sind
so ausgelegt, um ein Gültigkeitsdatum
zu speichern.
-
Das
Gültigkeitsdatum
kann eine erste Gültigkeitsinformation
oder eine zweite Gültigkeitsinformation
tragen. Die erste Gültigkeitsinformation
gibt an, dass in dem zugeordneten Re gisterelement 2 ein
gültiges
Datum, d.h. ein zuvor geschriebenes Datum gespeichert ist. Die zweite
Gültigkeitsinformation
gibt an, dass in dem zugeordneten Registerelement 2 kein
gültiges
Datum, d.h. ein Datum, das nicht zuvor über die Datenleitung geschrieben
wurde und das lediglich als Fülldatum
dient, gespeichert ist. Vorzugsweise ist die erste Gültigkeitsinformation
als logische „1" und die zweite Gültigkeitsinformation
als logische „0" codiert.
-
Die
Speicherelemente 3 sind auf gleiche Weise in Serie geschaltet,
wie die Registerelemente 2, d.h. der Ausgang Q jedes der
Speicherelemente 3 ist mit dem ersten Dateneingang D1 des
jeweils nachgeschalteten Speicherelementes 3 verbunden. Die
ersten Takteingänge
C1 der Speicherelemente 3 sind ebenfalls mit dem ersten
Taktsignal RCLK verbunden. Beim Auslesen des Datums oder der Daten gemäß dem ersten
Taktsignal RCLK werden somit die Gültigkeitsdaten in den Speicherelementen 3 von jedem
Speicherelement in das nachgeschaltete Speicherelement weitergereicht.
Somit wird auch das Gültigkeitsdatum
auf gleiche Weise wie die in den Registerelementen 2 gespeicherten
Daten weitergereicht, so dass die Zuordnung zwischen der Gültigkeitsinformation
und dem in dem jeweiligen Registerelement 2 gespeicherten
Datum erhalten bleibt.
-
Zum
Schreiben eines zu schreibenden Datums wird der zweite Dateneingang
D2 des betreffenden Registerelementes 2 verwendet. Das
Schreiben eines Datums erfolgt gemäß einem zweiten Taktsignal
WCLK, das mit jedem der zweiten Takteingänge C2 der Registerelemente 2 und
mit jedem der zweiten Takteingänge
C2 der Speicherelemente 3 verbunden ist. Da das zu schreibende
Datum nur dann in ein Registerelement 2 eingelesen werden
kann, wenn das Freischaltsignal auf einer logischen „1" liegt, kann mithilfe
des Freischaltsignal gesteuert werden, in welches der parallel über den
zweiten Takteingang C2 ansteuerbaren Registerelemente 2 das zu
schreibende Datum geschrieben wird. Gemäß der Funktionsweise des FIFO-Schieberegisters
wird das zu schreibende Datum genau in das jenige Registerelement 2 geschrieben,
das selbst noch nicht mit einem zu schreibenden Datum beschrieben
worden ist und dessen nachgeschaltetes Registerelement 2 bereits
mit einem Datum beschrieben worden ist, so dass sich die Serienschaltung
der Registerelemente 2 in eine Richtung füllt. Da
die bereits beschriebenen Registerelemente 2 durch die
erste Gültigkeitsinformation
in dem jeweils zugeordneten Speicherelement 3 gekennzeichnet
sind, lässt
sich über
eine logische Verknüpfung
der Inhalt der Speicherelemente herausfinden, welches der Registerelemente 2.
beschrieben werden soll.
-
So
liegt an dem Freischalteingang desjenigen Registerelementes 2 eine
logische „1" an, dessen zugeordneten
Speicherelement 3 die zweite Gültigkeitsinformation trägt und wobei
das dem nachgeschalteten Registerelement zugeordnete Speicherelement
die erste Gültigkeitsinformation
trägt.
Dies wird gemäß der vorliegenden
Ausführungsform
mithilfe eines Nicht-Oder-Gatters 5 ermittelt.
Jedem der Registerelemente 2, außer dem letzten Registerelement 2 der
Serienschaltung von Registerelementen 2, ist ein solches
Nicht-Oder-Gatter 5 zugeordnet. Ein erster Eingang des
Nicht-Oder-Gatters 5 ist mit dem nicht-invertierenden Ausgang
Q des dem Registerelement 2 zugeordneten Speicherelements
verbunden. Ein zweiter Eingang des Nicht-Oder-Gatters 5 ist
mit dem invertierenden Ausgang des dem dem Registerelement 2 nachgeschalteten
Registerelement 2 zugeordneten Speicherelementes verbunden.
-
Ist
das entsprechende Registerelement 2 dasjenige, das als
nächstes
mit einem Datum beschrieben werden soll, so ist in dem nachgeschalteten
Speicherelement 3 eine logische „1" gespeichert. Damit liegt an dem invertierenden
Ausgang bQ des nachgeschalteten Speicherelements 3 eine
logische „0" an. In dem dem betreffenden
zu beschreibenden Registerelement 2 zugeordneten Speicherelement 3 muss
dagegen eine zweite Gültigkeitsinformation, d.h.
eine logische „0" gespeichert sein.
Der nicht invertierende Ausgang Q des dem betreffenden Registerelements
zugeordneten Speicherelement 3 trägt eine logi sche „0", die an den zweiten
Eingang des Nicht-Oder-Gatters 5, das dem betreffenden
Registerelement 2 zugeordnet ist, angelegt ist. Liegt an den
Eingängen
eines Nicht-Oder-Gatters 5 jeweils eine logische „0" an, so wird der
Ausgang des Nicht-Oder-Gatters 5 auf
eine logische „1" gelegt. Der Ausgang
des Nicht-Oder-Gatters 5 wird mit dem Freischalteingang
des dem Nicht-Oder-Gatter 5 zugeordneten Registerelements 2 verbunden.
-
Somit
ist genau dasjenige Registerelement 2 zum Beschreiben mit
einem zu schreibenden Datum aktiviert, dessen zugeordnetes Speicherelement 3 die
zweite Gültigkeitsinformation
und wobei das Speicherelement 3 des nachgeschalteten Registerelements
die erste Gültigkeitsinformation
trägt.
Dies gilt in der Regel für
alle Registerelemente 2 bis auf das letzte Registerelement 2 der
Serienschaltung der Registerelemente 2, da dieses bereits
dann mit dem zu schreibenden Datum beschrieben wird, wenn dessen
zugeordnetes Speicherelement 3 die zweite Gültigkeitsinformation
trägt,
die angibt, dass das letzte Registerelement 2 noch nicht
mit einem gültigen
Datum beschrieben worden ist.
-
Damit
nach dem Beschreiben eines betreffenden Registerelementes 2 das
in dem entsprechend zugeordneten Speicherelement 3 gespeicherte
Gültigkeitsdatum
entsprechend aktualisiert wird, muss dort die erste Gültigkeitsinformation
gespeichert werden. Dazu sind die Speicherelemente 3 bezüglich des
zweiten Taktsignals WCLK als Schieberegister geschaltet, das Daten
gemäß dem zweiten Taktsignal
WCLK in umgekehrter Richtung wie gemäß dem ersten Taktsignal RCLK
verschiebt. Dazu ist der jeweils nicht invertierende Ausgang Q jedes der
Speicherelemente, abgesehen von dem ersten Speicherelement der Serienschaltung,
mit dem jeweiligen zweiten Dateneingang D2 des vorgeschalteten Speicherelementes 3 verbunden.
-
Der
zweite Dateneingang D2 des letzten Speicherelementes 3 ist
mit einem High-Potential, das eine logische „1" vorgibt, verbunden. Bei einer steigenden
Flanke des zweiten Taktsignals WCLK wird in das letzte Speicherelement 3 eine
logische „1" geschrieben und
die jeweiligen Inhalte der Speicherelemente 3 zu dem jeweils
vorgeschalteten Speicherelement 3 übertragen und in das entsprechende D-Flipflop
geschrieben. Indem der jeweils invertierende Ausgang bQ jedes der
Speicherelemente 3 an den Freischalteingang C2EN des gleichen
Speicherelementes 3 gekoppelt ist, sind dem Verschieben
der Gültigkeitsdaten
in den Speicherelementen nur die mit der jeweils zweiten Gültigkeitsinformation
belegten Speicherelemente zum Beschreiben mit der ersten Gültigkeitsinformation
aktiviert, da eine logische „1" nur dann an dem
invertierenden Ausgang bQ des Speicherelementes anliegt, wenn in
dem entsprechenden D-Flipflop eine logische „0" gespeichert ist. Dadurch, dass der
invertierende Ausgang bQ des Speicherelements 3 mit dem
Freischalteingang C2EN verbunden ist, wird weiterhin erreicht, dass
ein bereits gesetztes Speicherelement durch das zweite Taktsignal
WCLK nicht zurückgesetzt
wird und nur bezüglich
des ersten Taktsignals zurückgesetzt
werden kann.
-
Um
eine Statusinformation, dass das FIFO-Schieberegister keine zuvor
geschriebenen Daten enthält,
zur Verfügung
zu stellen, ist ein zweites Nicht-Oder-Gatter 6 vorgesehen,
an dessen Eingängen
der jeweils nicht invertierende Ausgang Q jedes der Speicherelemente 2 angelegt
ist. Am Ausgang des Nicht-Oder-Gatters 6 liegt
dann eine logische „1" an, wenn in jedem
der Speicherelemente 3 eine logische „0" gespeichert ist. Diese zeigt dann gemäß einem „EMPTY"-Signal an, dass
kein Datum aus dem FIFO-Schieberegister ausgelesen werden kann.
-
Es
ist ein drittes Nicht-Oder-Gatter 7 vorgesehen, an dessen
Eingängen
die invertierenden Ausgänge
bQ der Speicherelemente 3 angelegt sind. Ein Ausgang des
dritten Nicht-Oder-Gatters 7 liegt dann auf einer logischen „1", wenn in allen der
Speicherelemente 3 die erste Gültigkeitsinformation gespeichert
ist und somit kein weiterer Speicherplatz zur Verfügung steht,
um ein weiteres zu schreibendes Datum aufzunehmen. Die logische „1" zeigt gemäß einem „Full"-Signal dann an,
dass das FIFO-Schieberegister vollständig gefüllt ist.
-
Das
erfindungsgemäße FIFO-Schieberegister
bietet die Möglichkeit,
die Registerelemente 2 schnell mit Daten zu beschreiben
und schnell Daten auszulesen, wobei beim Auslesen eines Datums oder
beim Schreiben eines Datums lediglich die Laufzeit durch ein D-Flipflop
die maximale Arbeitsgeschwindigkeit bestimmt. Werden mehrere Daten nacheinander
ausgelesen bzw. erfolgt dies lediglich über die Registerelemente 2 des
Registerspeichers 2, so dass auch in diesem Fall die maximale
Arbeitsgeschwindigkeit durch die Laufzeit durch ein D-Flipflop bestimmt
ist. Lediglich beim Beschreiben mit mehreren Daten wird die maximale
Arbeitsgeschwindigkeit des erfindungsgemäßen FIFO-Schieberegisters durch
die Laufzeit durch ein D-Flipflop
zuzüglich der
Laufzeit durch das Nicht-Oder-Gatter 5 bestimmt. Denn erst
nach dem Anliegen der ersten Gültigkeitsinformation
in dem Speicherelement 3 des soeben beschriebenen Registerelements 2 bewirkt
an dem invertierenden Ausgang Q des betreffenden Speicherelements
eine logische „0", die zu einem Schalten
des Nicht-Oder-Gatters 5 des jeweils vorgeschalteten Registerelementes 2 führt, wobei
erst bei Anliegen des entsprechenden Freischaltsignals am Freischalteingang
C2EN des entsprechenden Registerelements 2 dieses Registerelement
mit dem nächsten zu
schreibenden Datum beschrieben werden kann. Da die Laufzeit durch
ein Nicht-Oder-Gatter in der Regel sehr kurz ist, wird dadurch die
maximale Arbeitsgeschwindigkeit nicht wesentlich beeinträchtigt. Im
Gegensatz zu bisherigen FIFO-Schieberegistern, die eine Pointerschaltung
und eine Adressdecoderschaltung aufweisen, kann somit die Arbeitsgeschwindigkeit
deutlich erhöht
werden.
-
- 1
- Registerspeicher
- 2
- Registerelemente
- 3
- Speicherelemente
- 4
- Maskierungsspeicher
- 5
- Nicht-Oder-Gatter
- 6
- zweites
Nicht-Oder-Gatter
- 7
- drittes
Nicht-Oder-Gatter