DE19704322A1 - Speichereinrichtung und Verfahren zum Speichern von Daten nach dem FIFO-Prinzip - Google Patents
Speichereinrichtung und Verfahren zum Speichern von Daten nach dem FIFO-PrinzipInfo
- Publication number
- DE19704322A1 DE19704322A1 DE19704322A DE19704322A DE19704322A1 DE 19704322 A1 DE19704322 A1 DE 19704322A1 DE 19704322 A DE19704322 A DE 19704322A DE 19704322 A DE19704322 A DE 19704322A DE 19704322 A1 DE19704322 A1 DE 19704322A1
- Authority
- DE
- Germany
- Prior art keywords
- counter
- memory
- value
- output
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000005070 sampling Methods 0.000 claims abstract 2
- 230000015654 memory Effects 0.000 claims description 75
- 238000000034 method Methods 0.000 claims description 4
- 230000000630 rising effect Effects 0.000 abstract description 3
- 210000000352 storage cell Anatomy 0.000 abstract 1
- 238000002360 preparation method Methods 0.000 description 7
- 238000010276 construction Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 239000004575 stone Substances 0.000 description 3
- 230000007704 transition Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
- G06F5/10—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
Description
Die Erfindung betrifft eine Speichereinrichtung zum Spei
chern von Daten nach dem FIFO-Prinzip (first in first
out), mit einem Speicher, einem Eingabezähler, einem Aus
gabezähler und einer Vergleichseinheit.
Die Daten werden vorzugsweise als Datenworte mit einer
vorgegebenen Anzahl von Bitstellen bearbeitet. Wird ein
Datenwort in den Speicher geschrieben, so wird der Einga
bezähler verändert, vorzugsweise um den numerischen Wert
"1" erhöht. Beim Lesen eines Datenworts aus dem Speicher
wird dagegen der Ausgabezähler verändert, z. B. ebenfalls
durch Erhöhen um den numerischen Wert "1".
Die Vergleichseinheit, die eingangsseitig mit dem Ausgang
des Eingabezählers und mit dem Ausgang des Ausgabezählers
verbunden ist, vergleicht die Zählerstände von Eingabe
zähler und Ausgabezähler und gibt ein Statussignal über
das Vorhandensein von Datenworten im Speicher aus.
Bei bekannten FIFO-Speichern (wie z. B. beim Schaltkreis
SN74ACT7806) wird eine vollständige Entkopplung der auf
den FIFO-Speicher zugreifenden asynchronen Systeme nicht
erreicht. Das Statussignal mit der Information über die
im FIFO-Speicher enthaltene Anzahl von Datenworten wird
in der Regel vom lesenden System abgefragt. Ändert sich
während der Abfrage das Statussignal infolge eines
Schreibzugriffs des schreibenden Systems, so können Feh
ler im lesenden System auftreten, da das Statussignal ei
nen sogenannten verbotenen Zustand während seiner Abfrage
hat, d. h. einen nicht eindeutig definierten physikali
schen Zustand hat, dem kein binärer logischer Zustand
entspricht.
Es ist Aufgabe der Erfindung, einen einfach aufgebauten
FIFO-Speicher anzugeben, der eine fehlerfreie Kopplung
des schreibenden und des lesenden Systems ermöglicht.
Diese Aufgabe wird dadurch gelöst, daß in der Verbindung
zwischen Vergleichseinheit und Eingabezähler eine Ab
tasteinheit angeordnet ist, die gemäß einem Taktsignal
den Stand des Eingabezählers abtastet und das Abtaster
gebnis an die Vergleichseinheit ausgibt.
Die Erfindung geht von der Überlegung aus, daß eine Vor
hersage des genauen Zeitpunktes eines Schreibzugriffs aus
Sicht des lesenden Systems nicht möglich ist, so daß
ständig damit gerechnet werden muß, daß Datenworte in den
FIFO-Speicher geschrieben werden, die auch den Zähler
stand des Eingabezählers verändern. Bei sich änderndem
Zählerstand des Eingabezählers ist jedoch ein gerade
durchgeführter Vergleich des sich ändernden Zählerstandes
mit dem Zählerstand des Ausgabezählers fehlerbehaftet.
Deshalb wird bei der Erfindung mit Hilfe der Abtastein
heit der Stand des Eingabezählers abgetastet. Da dieses
Abtasten gemäß einem bekannten und damit auch vorhersag
baren Taktsignal erfolgt, ist davon auszugehen, daß zu
mindest das Abtastergebnis während des folgenden Ver
gleichs konstant bleibt, so daß der Vergleich richtig
durchgeführt wird. Somit ergibt sich ein sicheres Arbei
ten des FIFO-Speichers.
In einem Ausführungsbeispiel der Erfindung wird das Sta
tussignal durch eine Ausgangseinheit abhängig von dem
Taktsignal ausgewertet, so sind das schreibende System
auf der Eingangsseite des FIFO-Speichers und das lesende
System auf der Ausgangsseite des FIFO-Speichers bezüglich
des Statussignals vollständig voneinander entkoppelt. Das
bedeutet, daß sichergestellt ist, daß beim Abfragen des
Statussignals dieses auf einem konstanten Wert bleibt.
Die Folge ist, daß dem lesenden System ein stabiles Sta
tussignal zur Verfügung gestellt wird, so daß auch ein
sicherer Betrieb des lesenden Systems gewährleistet ist.
Als Antasteinheit wird im einfachsten Fall mindestens ein
Flipflop-Baustein verwendet. Die Anzahl verwendeter
Flipflop-Bausteine richtet sich nach der Anzahl von Bit
stellen im Eingabezähler. Die Flipflop-Bausteine werden
mit dem Taktsignal getaktet. Da jedoch insbesondere bei
hohen Taktfrequenzen des Taktsignals in den Flipflop-Bau
steinen sogenannte metastabile Zustände auftreten kön
nen, wird zweckmäßigerweise hinter den ersten Flipflop-Bau
steinen ein weiterer Flipflop-Baustein geschaltet,
dessen Eingang mit dem Ausgang des ersten Flipflop-Bau
steines verbunden ist. Die Anzahl der weiteren Flipf
lop-Bausteine richtet sich wiederum nach der Anzahl der
Bitstellen im Eingabezähler. Die weiteren Flipflop-Bau
steine werden ebenfalls mit dem Taktsignal getaktet.
Durch diese Anordnung sind metastabile Zustände an den
Ausgängen der weiteren Flipflop-Bausteine ausgeschlossen.
Es ergibt sich eine einfach aufgebaute Abtasteinheit, die
ein stabiles Abtastergebnis liefert.
Der FIFO-Speicher nach der Erfindung oder nach einem der
Ausführungsbeispiele der Erfindung wird zweckmäßig in ei
nem ASIC-Baustein eingesetzt (anwenderspezifischer inte
grierter Schaltkreis), da in solchen Schaltkreisen beson
ders hohe Anforderungen an die Entkopplung von Eingangs
signalen und Ausgangssignalen des FIFO-Speichers gestellt
werden. Übliche Taktfrequenzen in ASIC-Bausteinen sind
z. B. 100 MHz.
Die Erfindung betrifft weiterhin ein Verfahren zum Be
treiben des FIFO-Speichers, so daß die beim Erläutern der
Erfindung und ihrer Ausführungsbeispiele genannten tech
nischen Wirkungen auch für das Verfahren zum Betreiben
des FIFO-Speichers gelten.
Die Erfindung betrifft in einem weiteren Aspekt einen
FIFO-Speicher mit den Merkmalen des Patentanspruchs 9.
Bei den eingangs genannten bekannten FIFO-Speichern wer
den die Zählerstände von Eingabezähler und Ausgabezähler
in einem Subtrahierer voneinander subtrahiert. Anschlie
ßend wird das Ergebnis der Subtraktion in einem Kompara
tor mit Vorgabewerten verglichen, um ein oder mehrere
Statussignale zu erzeugen. Diese Vorgabewerte sind z. B.
der numerische Wert "0", ein numerischer Wert für die
halbe Speicherkapazität des FIFO-Speichers und ein nume
rischer Wert für die gesamte Speicherkapazität des
FIFO-Speichers.
Beim weiteren Aspekt der Erfindung zählt der Eingabezäh
ler und der Ausgabezähler mindestens bis zu einem Wert,
welcher der doppelten Anzahl von Speicherzellen zum Spei
chern von Eingabedaten entspricht, wobei zur Adressierung
dieser Speicherzellen die untersten Bitstellen des jewei
ligen Zählerwerts verwendet werden. Durch diese Maßnahme
wird erreicht, daß sich der Vergleich auf ein Prüfen der
Ungleichheit bzw. Gleichheit der Zählerstände im Eingabe
zähler und im Ausgabezähler reduzieren läßt. Es ergibt
sich ein einfach aufgebauter FIFO-Speicher.
Im folgenden werden Ausführungsbeispiele der Erfindung
unter Bezugnahme auf die beiliegenden Zeichnungen erläu
tert.
Darin zeigen:
Fig. 1 eine Darstellung der wesentlichen elektrischen
Funktionseinheiten eines FIFO-Speichers,
Fig. 2 Signalverläufe an zwei in Reihe geschalteten
D-Flipflops, und
Fig. 3 eine Prinzipdarstellung der Zuordnung von
Zählerwerten zu Speicherzellen des FIFO-Spei
chers.
Fig. 1 zeigt wesentliche elektrische Funktionseinheiten
eines FIFO-Speichers 10. Über Datenleitungen 12 werden
Datenworte in einen Datenwortspeicher 14 geschrieben. Am
Ausgang des Datenwortspeichers 14 werden die Datenworte
in derselben Reihenfolge wie beim Schreiben auf Datenlei
tungen 16 wieder ausgegeben. Zur Vereinfachung der fol
genden Erläuterungen enthält bei diesem Beispiel der Da
tenwortspeicher 14 nur acht Speicherzellen 18 bis 32, in
denen jeweils ein Datenwort gespeichert ist. Für den ein
fachen Fall einer Datenwortbreite von vier Bitstellen
enthält somit jede der Speicherzellen 18 bis 32 vier
Bitspeicherzellen, die für die Speicherzelle 18 durch ho
rizontale Strichlinien angedeutet sind. In der Praxis
können selbstverständlich mehr Speicherzellen und eine
größere Datenwortbreite vorgesehen sein.
Der FIFO-Speicher 10 enthält weiterhin einen Schreibzäh
ler 34 zum Zählen der Schreibzugriffe und einen Lesezäh
ler 36 zum Zählen der Lesezugriffe. Der Wert des Schreib
zählers 34 wird um den numerischen Wert "1" erhöht, so
bald auf einer Schreibleitung 38 ein Schreibsignal an
liegt, das mit der steigenden Taktflanke eines Schreib
taktsignals TS auf einer Taktleitung 40 wirksam wird.
Ebenso wird der Lesezähler 36 um den numerischen Wert "1"
gemäß einem Lesetakt TL vorgegebener Frequenz auf einer
Taktleitung 42 erhöht, falls auf einer Leseleitung 44 ein
Lesesignal anliegt.
Der Schreibzähler 34 ist über einen Leitungsbus 46 mit
einem Schreibdecoder 48 verbunden, welcher gemäß dem Zäh
lerstand des Schreibzählers 34 eine der Speicherzellen 18
bis 32 adressiert. Beim Auftreten des Schreibsignals auf
der Schreibleitung 38 wird durch eine nicht dargestellte
Steuerung die Übernahme der Eingabedaten auf den Daten
leitungen 12 in die durch den Schreibdecoder 48 adres
sierte Speicherzelle 18 bis 32 synchron zum Schreibtakt
TS bewirkt. Der Schreibzähler 34 zählt zyklisch vom nume
rischen Wert "0" bis zu einem Zählerwert, welcher der
doppelten Anzahl von Speicherzellen 18 bis 32 entspricht - in
der Fig. 1 bis zum Zählerwert "15". Auf dem Lei
tungsbus 46 werden jedoch nur die am niedrigst signifi
kanten drei Bit des Zählerstandes vom Schreibzähler 34
zum Schreibdecoder 48 übermittelt und für die Adressie
rung des Datenwortspeichers 14 verwendet. Über einen Lei
tungsbus 50 ist der Schreibzähler 34 auch mit einer Ab
tasteinheit 52 verbunden. Dieser Leitungsbus 50 enthält
eine Leitung mehr als der Leitungsbus 46 und übermittelt
den vollständigen Zählerstand des Schreibzählers 34 an
eine Abtasteinheit 52, deren Aufbau weiter unten be
schrieben ist.
Der Lesezähler 36 ist über einen vier Leitungen enthal
tenden Leitungsbus 54 mit einem Lesedecoder 56 verbunden,
der abhängig vom Zählerwert des Lesezählers 36 eine der
Speicherzellen 18 bis 32 adressiert. Beim Auftreten eines
Lesesignals auf der Leseleitung 44 wird das Datenwort in
der durch den Lesedecoder 56 adressierten Speicherzelle
18 bis 32 auf den Datenleitungen 16 ausgegeben. Ein Lei
tungsbus 58 verbindet den Lesezähler 36 mit einem Ver
gleicher 60, dessen Funktion ebenfalls weiter unten noch
erläutert wird. Dieser Leitungsbus 58 hat eine Leitung
mehr als der Leitungsbus 54. Auf dem Leitungsbus 54 wer
den die Bitstellen 2° bis 23 und auf dem Leitungsbus 58
die Bitstellen 20 bis 24 des Zählerstandes im Lesezähler
36 übertragen.
Die Abtasteinheit 52 enthält in einer ersten Flipflop-Grup
pe 62 vier D-Flipflops, von denen in der Fig. 1 die
Flipflops 64 und 66 gezeigt sind. Die Flipflops 64, 66
der ersten Flipflop-Gruppe 62 sind eingangsseitig mit je
weils einer Datenleitung des Leitungsbusses 50 verbunden.
So liegt am Eingang des Flipflops 64 der Wert der Bit
stelle 20 und am Eingang des Flipflops 66 der Wert der
Bitstelle 2 4 des Zählerstandes des Schreibzählers 34 an.
Ausgänge Q der Flipflops 64, 66 der ersten Flipflop-Grup
pe 62 sind jeweils über Leitungen 68 bis 70 mit den
Eingängen von Flipflops einer zweiten Flipflop-Gruppe 72
verbunden. Die Flipflop-Gruppe 72 enthält somit vier
D-Flipflops, von denen in der Fig. 1 die Flipflops 74 und
76 dargestellt sind. Das Flipflop 74 ist über die Leitung
68 mit dem Flipflop 64, und das Flipflop 76 ist über die
Leitung 70 mit dem Flipflop 66 verbunden.
Die Ausgänge Q der Flipflops 74, 76 der zweiten Flipflop-Grup
pe 72 sind über einen Leitungsbus 78 an den Verglei
cher 60 angeschlossen. Sämtliche Flipflops 64, 66, 74 und
76 der Abtasteinheit 52 werden durch ein gemeinsames
Taktsignal TA getaktet, das z. B. mit dem Lesetakt TL
identisch ist. Die Wirkungsweise der Abtasteinheit 52
wird am Beispiel der Flipflops 64 und 74 weiter unten an
hand der Fig. 2 erläutert.
Der Vergleicher 60 vergleicht die Zählerstände auf dem
Leitungsbus 58 und dem Leitungsbus 78 und erzeugt an sei
nem Ausgang auf einer Statussignalleitung 82 ein Sta
tussignal, das bei Gleichheit der verglichenen Zähler
stände den Wert "L" und bei Ungleichheit den Wert "H"
hat. Das Statussignal wird durch ein lesendes Schaltungs
system (nicht dargestellt) abgefragt, um zu überprüfen,
ob Datenworte im Datenwortspeicher 14 vorhanden sind. Der
Wert "H" auf der Signalleitungen 82 bei Ungleichheit der
verglichenen Zählerstände signalisiert, daß Datenworte im
Datenwortspeicher 14 vorhanden sind.
Beim Erhöhen von dualen Zählerständen gibt es aufeinan
derfolgende Zählerstände, bei denen sich mehrere Bitstel
len ändern. Durch das Verwenden von synchronen Schreib
zählern 34 und 36 kann in gewissen Grenzen erreicht wer
den, daß sich sämtliche Bitstellen der Zählerwerte des
Schreibzählers 34 bzw. des Lesezählers 36 beim Erhöhen
etwa gleichzeitig ändern. Bei einem Vergleich auf Un
gleichheit kann jedoch auch ein asynchroner Schreibzähler
34 bzw. Lesezähler 36 verwendet werden, da bei nicht
gleichzeitiger Änderung der Bitstellen durch den Ver
gleicher 60 zumindest die Tatsache erkannt wird, daß eine
Veränderung stattgefunden hat, die an das lesende System
über die Statusleitung 82 signalisiert wird. Liest das
lesende System dann sofort ein Datenwort aus dem Daten
wortspeicher 14 und erhöht somit den Zählerstand des Le
sezählers 36, so vergeht zumindest soviel Zeit, daß zu
mindest eine weitere Taktflanke des Taktsignals TA aufge
treten ist, mit der dann ein Zählerstand am Vergleicher
60 anliegt, bei dem alle sich ändernden Bitstellen den
richtigen Wert haben.
Mit dem lesenden Schaltungssystem sind auch die Datenlei
tungen 16, die Taktleitungen 42, 80 und die Leseleitung
44 verbunden. Andererseits ist ein schreibendes Schal
tungssystem (nicht dargestellt) mit den Datenleitungen
12, der Taktleitung 40 und der Schreibleitung 38 verbun
den. Somit können über den FIFO-Speicher 10 Datenworte
vom schreibenden Schaltungssystem zum lesenden Schal
tungssystem übertragen werden. Obwohl beide Schaltungssy
steme asynchron zueinander arbeiten, wird durch den FIFO-Spei
cher 10 eine vollständige Entkopplung der beiden
Schaltungssysteme bezüglich des Statussignals auf der
Statussignalleitung 82 erreicht.
Fig. 2 zeigt anhand von zwei Signalverläufen der in Reihe
geschalteten Flipflops 64 und 74 die Wirkungsweise der
Abtasteinheit 52 (vgl. Fig. 1). Im oberen Teil der Fig. 2
sind die Schaltzeiten des Flipflops 64 dargestellt. Als
Bezugspunkt dient ein Punkt P1 im oberen Drittel der an
steigenden Flanke 100 des Taktsignals TA auf der Taktlei
tung 80 (vgl. Fig. 1). Die Taktflanke 100 bzw. eine fal
lende Taktflanke 102 des Taktsignals TA hat zur besseren
Darstellung einen relativ geringen Flankenanstieg bzw.
Flankenabfall. Auf der Ordinatenachse 104 der oberen Dar
stellung in der Fig. 2 ist der Momentanwert T1 des Takt
signals TA auf der Taktleitung 80 dargestellt. Die Ab
szissenachse 106 bildet die Zeitachse.
Der Verlauf des Taktsignals TA erreicht die zum Bezugs
punkt P1 gehörende Spannung zu einem Zeitpunkt t1. Sollen
Eingangssignale am Eingang des Flipflops 64 mit dem Takt
signal TA übernommen werden, so müssen die Eingangssigna
le bereits eine sogenannte Vorbereitungszeit tV1 vor dem
Zeitpunkt t1 am Eingang des Flipflops 64 (vgl. Fig. 1)
anliegen. Weiterhin muß das Eingangssignal für die soge
nannte minimale Haltezeit tH1 unverändert am Eingang an
liegen. Nach einer Signallaufzeit tP liegt der Wert des
Eingangssignals dann am Ausgang Q des Flipflops 64 an.
Treten während der Haltezeit tH1 Schwankungen im Wert des
Eingangssignals auf, so treten nach Ablauf der Si
gnallaufzeit tP am Ausgang sogenannte metastabile Zu
stände auf. Ein solcher Zustand ist in Fig. 2 oben in ei
nem Koordinatensystem 108 dargestellt, das auf seiner Or
dinate 110 die Ausgangsspannung UQ1 am Ausgang Q des
Flipflops 64 zeigt. Auf der Abszissenachse 112 des Koor
dinatensystems 108 ist wiederum die Zeit t aufgetragen.
Ist die Signallaufzeit tP zu einem nach dem Zeitpunkt t1
liegenden Zeitpunkt t2 abgelaufen, so sind die metastabi
len Zustände dadurch gekennzeichnet, daß Signalschwingun
gen 114 am Ausgang des Flipflops 64 auftreten. Somit
liegt der Spannungswert VQ1 am Ausgang Q zeitweise in
verbotenen Bereichen zwischen dem Signalwert für "H" und
"L".
Im unteren Teil der Fig. 2 sind Schaltzeiten am Flipflop
74 (vgl. Fig. 1) bezüglich des Taktsignals TA darge
stellt, das auch am Takteingang des Flipflops 74 anliegt.
Auf der Ordinatenachse 116 ist wiederum der momentane
Spannungswert T1 des Taktsignals TA abgetragen. Auf der
Abszissenachse 118 ist die Zeit t aufgetragen. Bezüglich
des Zeitpunkts t1 hat auch das Flipflop 74 eine Vorberei
tungszeit tV2, die vor dem Zeitpunkt t1 liegt. Die Vorbe
reitungszeit tV2 ist die Zeit, die ein Eingangssignal
mindestens vor Erreichen der zu einem Bezugspunkt P2 ge
hörenden Spannung des Taktsignals TA am Eingang des
Flipflops 74 anliegen muß. Um metastabile Zustände am
Ausgang Q des Flipflops 74 zu vermeiden, müssen die Ein
gangssignale für eine minimale Haltezeit tH2 am Eingang
in ihrem Signalwert unverändert bleiben. Nach Ablauf der
minimalen Haltezeit tH2 sind Veränderungen des Eingangs
signals bis zum nächsten Taktimpuls wirkungslos. Die Vor
bereitungszeit tV1 und die Vorbereitungszeit tV2 sind et
wa gleich lang. Ebenso sind auch die Haltezeiten tH1 und
tH2 etwa gleich lang.
Durch das In-Reihe-Schalten der Flipflops 64 und 74 (vgl.
Fig. 1) wird erreicht, daß am Ausgang Q des Flipflops 74
keine metastabilen Zustände auftreten können. Dies ist
darauf zurückzuführen, daß gegebenenfalls auftretende
Schwingungszustände 114 bereits am Ausgang des Flipflops
64 und somit auch am Eingang des Flipflops 74 bereits ab
geklungen sind, bevor während der Vorbereitungszeit tV2
und der Haltezeit tH2 anliegende Eingangssignale des
Flipflops 74 auf den Ausgang Q des Flipflops 74 wirksam
geschaltet werden. Somit kann am Ausgang Q des Flipflops
74 nur einer der beiden zulässigen Zustände "H" oder "L"
auftreten. Dies gilt unabhängig davon, zu welchem Zeit
punkt der Wert des Schreibzählers 34 (vgl. Fig. 1) erhöht
wird.
Fig. 3 zeigt eine Prinzipdarstellung der Zuordnung von
Zählerwerten "0" bis "15" des Schreibzählers 34 und des
Lesezählers "36" zu den Speicherzellen 18 bis 32 (vgl.
Fig. 1). Nach einem Rücksetzen hat der Zählerstand des
Schreibzählers 34, angedeutet durch einen Pfeil 130, bzw.
der Zählerstand des Lesezählers 36, angedeutet durch ei
nen Pfeil 132, wie in der Fig. 3 dargestellt, den numeri
schen Wert "0". Bei Erhöhen des Zählerwerts des Schreib
zählers 34 bewegt sich der Schreibpfeil 130 in Uhrzeiger
richtung, angedeutet durch einen Drehrichtungspfeil 134.
Der Lesepfeil 132 bewegt sich bei jedem Lesevorgang eben
falls in Uhrzeigerrichtung um eine der Speicherzelle 18
bis 32 weiter, angedeutet durch einen Drehrichtungspfeil
136. Da jedoch das signifikanteste Bit des Zählerstandes
des Schreibzählers 34 bzw. des Lesezählers 36 (vgl. Fig.
1) nicht zur Adressierung der Speicherzellen 18 bis 32
genutzt wird, ergibt sich in der Zwölf-Uhr-Stellung 138
des Schreibpfeils 130 und des Lesepfeils 132 die folgende
Situation: Beim Übergang vom Zählerwert "7" auf den
Zählerwert "8" wird von der Adressierung der Speicherzel
le 32 zur Adressierung der ersten Speicherzelle 18 über
gegangen. Andererseits wird auch beim Übergang des jewei
ligen Zählerwerts vom numerischen Wert "15" zum numeri
schen Wert "0" von der Adressierung der Speicherzelle 32
zur Adressierung der ersten Speicherzelle 18 übergegan
gen.
Die Wirkung dieser Adressierung mit einer Überkreuzung
138 der Zählerstände in der Zwölf-Uhr-Stellung besteht
darin, daß z. B. der Zustand "Speicherzellen 18 bis 32 be
schrieben" vom Zustand "Speicherzellen 18 bis 32 leer"
durch einfachen Vergleich der Zählerwerte des Schreibzäh
lers 34 und des Lesezählers 36 unterschieden werden kön
nen. Erfolgen nach dem Rücksetzen unmittelbar hinterein
ander z. B. acht Schreibzugriffe, so dreht sich der
Schreibpfeil 130 um 360° in Uhrzeigerrichtung, vgl. Pfeil
134, so daß er wieder die in der Fig. 3 gezeigte Stellung
erreicht. Obwohl Schreibpfeil 130 und 132 auf dieselbe
Speicherzelle 18 zeigen, kann anhand der Zählerstände "8"
bzw. "0" erkannt werden, daß acht Werte in den Speicher
zellen 18 bis 32 gespeichert wurden. Dies ist bei Verwen
den von Zählerwerten "0" bis "7" nicht ohne weiteres mög
lich.
10
FIFO-Speicher
12
Datenleitung
14
Datenwortspeicher
16
Datenleitung
18
bis
32
Speicherzellen
34
Schreibzähler
36
Lesezähler
38
Schreibleitung
40
Taktleitung
TS Schreibtakt
TL Lesetakt
TS Schreibtakt
TL Lesetakt
42
Taktleitung
44
Leseleitung
46
Leitungsbus
48
Schreibdecoder
50
Leitungsbus
52
Abtasteinheit
54
Leitungsbus
56
Lesedecoder
58
Leitungsbus
60
Vergleicher
62
Flipflop-Gruppe
64,
66
Flipflop
Q Ausgang
Q Ausgang
68,
70
Leitung
72
zweite Flipflop-Gruppe
74,
76
Flipflop
78
Leitungsbus
80
Taktleitung
82
Statussignalleitung
P1, P2 Bezugspunkt
P1, P2 Bezugspunkt
100
,
102
Taktflanke
T1 momentaner Spannungswert
TA Taktsignal
T1 momentaner Spannungswert
TA Taktsignal
104
Ordinatenachse
106
Abszissenachse
t Zeit
t1, t2 Zeitpunkt
tV1, tV2 Vorbereitungszeit
tH1, tH2 minimale Haltezeit
tP Signallaufzeit
t Zeit
t1, t2 Zeitpunkt
tV1, tV2 Vorbereitungszeit
tH1, tH2 minimale Haltezeit
tP Signallaufzeit
108
Koordinatensystem
110
Ordinatenachse
UQ1 Ausgangsspannung
UQ1 Ausgangsspannung
112
Abszissenachse
114
Schwingungszustände
116
Ordinatenachse
118
Abszissenachse
130
Schreibpfeil
132
Lesepfeil
134,
136
Drehrichtungspfeil
138
Überkreuzung 12-Uhr-Stellung
Claims (9)
1. Speichereinrichtung (10) zum Speichern von Daten nach
dem FIFO-Prinzip,
- - mit einem Eingabezähler (34), dessen Wert beim Schreiben von Daten in einen Speicher (14) verän dert wird,
- - einem Ausgabezähler (36), dessen Wert beim Lesen von Daten aus dem Speicher (14) verändert wird,
- - und mit einer Vergleichseinheit (60), die eingangs seitig mit dem Ausgang des Eingabezählers (34) und mit dem Ausgang des Ausgabezählers (36) verbunden ist und die abhängig vom Vergleich der Zählerstände ein Statussignal (82) über das Vorhandensein von Daten im Speicher (14) ausgibt,
2. Speichereinrichtung (10) nach Anspruch 1, dadurch ge
kennzeichnet, daß das Statussignal (82) an mindestens
einer Ausgangseinheit anliegt, die das Statussignal
(82) abhängig vom Taktsignal (TA) auswertet und die
mit einer Leseleitung (44) der Speichereinrichtung
(10) verbunden ist, über die dem Speicher (14) vor
zugsweise abhängig vom Taktsignal (TA) ein Auslese
vorgang signalisiert wird.
3. Speichereinrichtung (10) nach einem der vorhergehen
den Ansprüche, dadurch gekennzeichnet, daß die Abta
steinheit (52) mindestens einen ersten Flipflop-Bau
stein (64, 66) enthält, an dessen Takteingang (C)
das Taktsignal (TA) anliegt.
4. Speichereinrichtung (10) nach Anspruch 3, dadurch ge
kennzeichnet, daß die Abtasteinheit (52) mindestens
einen weiteren Flipflop-Baustein (74, 76) enthält,
der eingangsseitig mit dem Ausgang (Q) des ersten
Flipflop-Bausteins (64, 66) verbunden ist und an des
sen Takteingang (C) ebenfalls das Taktsignal (TA) an
liegt.
5. Speichereinrichtung (10) nach einem der vorhergehen
den Ansprüche, dadurch gekennzeichnet, daß das
Schreiben der Daten gemäß einem Schreibtakt (TS) er
folgt und daß das Lesen gemäß einem Lesetakt (TL) er
folgt, der vorzugsweise mit dem Taktsignal (TA) über
einstimmt,
- - wobei Schreibtakt (TS) und Lesetakt (TL) zueinander phasenverschoben sind und/oder unterschiedliche Taktfrequenzen haben.
6. Speichereinrichtung (10) nach einem der vorhergehen
den Ansprüche, dadurch gekennzeichnet, daß der Einga
bezähler (34) und der Ausgabezähler (36) mindestens
bis zu einem Wert zählen, welcher der doppelten An
zahl von Speicherzellen (18 bis 32) im Speicher (14)
entspricht, wobei zur Adressierung des Speichers (14)
nur ein Teil der Bitstellen des jeweiligen Zählerwer
tes verwendet wird.
7. Speichereinrichtung (10) nach einem der vorhergehen
den Ansprüche, dadurch gekennzeichnet, daß die we
sentlichen Komponenten dieser Speichereinrichtung
(10) in einem einzigen ASIC-Baustein realisiert sind.
8. Verfahren zum Betreiben eines FIFO-Speichers (10),
- - bei dem der Wert eines Eingabezählers (34) beim Schreiben von Daten in einen Speicher (14) verän dert wird,
- - der Wert eines Ausgabezählers (36) beim Lesen von Daten aus dem Speicher (14) verändert wird,
- - und bei dem durch Vergleich des Werts des Ausgabe
zählers (36) mit dem Wert des Eingabezählers (34)
ein Statussignal (80) erzeugt wird, welches das
Vorhandensein von Daten im Speicher (14) angibt,
dadurch gekennzeichnet, daß der Wert des Eingabezäh lers (34) gemäß einem Takt (TA) abgetastet wird und daß der abgetastete Wert des Ausgabezählers (36) beim Vergleich verwendet wird.
9. Speichereinrichtung (10) zum Speichern von Daten nach
dem FIFO-Prinzip,
- - mit einem Eingabezähler (34), dessen Wert beim Schreiben von Daten in einen Speicher (14) verän dert wird,
- - einem Ausgabezähler (36), dessen Wert beim Lesen von Daten aus dem Speicher (14) verändert wird,
- - und mit einer Vergleichseinheit (60), die eingangs seitig mit dem Ausgangs des Eingabezählers (34) und mit dem Ausgang des Ausgabezählers (36) verbunden ist und die abhängig vom Vergleich der Zählerstände ein Statussignal (82) über das Vorhandensein von Daten im Speicher (14) ausgibt,
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19704322A DE19704322A1 (de) | 1997-02-05 | 1997-02-05 | Speichereinrichtung und Verfahren zum Speichern von Daten nach dem FIFO-Prinzip |
US09/012,592 US5883840A (en) | 1997-02-05 | 1998-01-23 | Memory device and method for storing data according to the FIFO principle |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19704322A DE19704322A1 (de) | 1997-02-05 | 1997-02-05 | Speichereinrichtung und Verfahren zum Speichern von Daten nach dem FIFO-Prinzip |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19704322A1 true DE19704322A1 (de) | 1998-08-13 |
Family
ID=7819373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19704322A Withdrawn DE19704322A1 (de) | 1997-02-05 | 1997-02-05 | Speichereinrichtung und Verfahren zum Speichern von Daten nach dem FIFO-Prinzip |
Country Status (2)
Country | Link |
---|---|
US (1) | US5883840A (de) |
DE (1) | DE19704322A1 (de) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW202236267A (zh) | 2015-05-28 | 2022-09-16 | 日商鎧俠股份有限公司 | 半導體裝置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5491659A (en) * | 1995-01-13 | 1996-02-13 | Hughes Aircraft Corp. | Hazard-free circuitry for determining full and empty conditions in first-in-first-out memory |
US5506809A (en) * | 1994-06-29 | 1996-04-09 | Sharp Kabushiki Kaisha | Predictive status flag generation in a first-in first-out (FIFO) memory device method and apparatus |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5255238A (en) * | 1988-09-08 | 1993-10-19 | Hitachi, Ltd. | First-in first-out semiconductor memory device |
US5289408A (en) * | 1989-02-09 | 1994-02-22 | Olympus Optical Co., Ltd. | Memory apparatus using tunnel current techniques |
US5134587A (en) * | 1990-08-17 | 1992-07-28 | Sgs-Thomson Microelectronics, Inc. | Semiconductor memory with automatic test mode exit on chip enable |
US5289584A (en) * | 1991-06-21 | 1994-02-22 | Compaq Computer Corp. | Memory system with FIFO data input |
JP3283659B2 (ja) * | 1993-10-07 | 2002-05-20 | 富士通株式会社 | Fifoメモリの誤動作検出方法及び装置 |
-
1997
- 1997-02-05 DE DE19704322A patent/DE19704322A1/de not_active Withdrawn
-
1998
- 1998-01-23 US US09/012,592 patent/US5883840A/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5506809A (en) * | 1994-06-29 | 1996-04-09 | Sharp Kabushiki Kaisha | Predictive status flag generation in a first-in first-out (FIFO) memory device method and apparatus |
US5491659A (en) * | 1995-01-13 | 1996-02-13 | Hughes Aircraft Corp. | Hazard-free circuitry for determining full and empty conditions in first-in-first-out memory |
Also Published As
Publication number | Publication date |
---|---|
US5883840A (en) | 1999-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3300260C2 (de) | ||
DE19733748C2 (de) | Datenübertragungsvorrichtung | |
DE102004021694B4 (de) | Verfahren und Schaltungsanordnung zum Steuern eines Schreibzugriffs auf einen Halbleiterspeicher | |
DE69934401T2 (de) | Datenerfassungssystem mit mitteln zur analyse und zum abspeichern in echtzeit | |
DE2340547B2 (de) | Schaltungsanordnung zum testen logischer schaltungen | |
EP0574598A1 (de) | Datenpufferspeicher | |
DE19914986B4 (de) | Vorrichtung zum Verzögern eines Taktsignals | |
DE4418862C1 (de) | Speichervorrichtung mit Seitenwählfähigkeit und Speichersystem für seriellen Zugriff | |
EP0224707B1 (de) | Schaltungsanordnung zum selbsttätigen Überwachen mehrerer analoger elektrischer Signale | |
DE60108551T2 (de) | Digitales Speicheroszilloskop | |
DE3111555A1 (de) | Verfahren zur informationsspeicherung unter anwendung frueherer aufzeichnung | |
DE102007004713B4 (de) | Datenübergabeeinheit zum Übertragen von Daten zwischen unterschiedlichen Taktbereichen | |
DE102005019568B4 (de) | Speichereinrichtung, Verwendung derselben und Verfahren zur Synchronisation eines Datenwortes | |
DE10102871C2 (de) | Halbleiterbauelement zum Anschluß an ein Testsystem sowie Testsystem mit dem Halbleiterbauelement | |
DE4417594C2 (de) | Seriell-Zugriffsspeichervorrichtung | |
DE19934500C2 (de) | Synchroner integrierter Speicher | |
DE102005053916B4 (de) | Synchronisationsschaltung für einen Schreibvorgang auf einen Halbleiterspeicher | |
DE10146149B4 (de) | Schaltungsanordnung zum Empfang eines Datensignals | |
DE19704322A1 (de) | Speichereinrichtung und Verfahren zum Speichern von Daten nach dem FIFO-Prinzip | |
DE69915953T2 (de) | Verfahren und Anordnung zum Synchronisieren eines Datenstroms | |
DE2307542A1 (de) | Digitale steuerschaltung | |
DE2455440A1 (de) | Verifizierungsanordnung | |
DE102006036823A1 (de) | Datensynchronisier- und -pufferschaltung zur Synchronisation von seriell empfangenen Datensignalen | |
DE19742673C2 (de) | Ein-Ausgabepufferspeicherschaltung, durch die die für Ein- und Ausgabepufferoperationen erforderlichen Datentransferoperationen minimiert werden können | |
DE19839121A1 (de) | Anordnung zum kontinuierlichen und unterbrechungsfreien Einlesen einer großen Datenmenge eines elektronischen Meßgerätes in einen Speicher |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8127 | New person/name/address of the applicant |
Owner name: FUJITSU SIEMENS COMPUTERS GMBH, 81739 MUENCHEN, DE |
|
8120 | Willingness to grant licences paragraph 23 | ||
8139 | Disposal/non-payment of the annual fee |