DE19704322A1 - Speichereinrichtung und Verfahren zum Speichern von Daten nach dem FIFO-Prinzip - Google Patents

Speichereinrichtung und Verfahren zum Speichern von Daten nach dem FIFO-Prinzip

Info

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
Application number
DE19704322A
Other languages
English (en)
Inventor
Lorenz Unruhe
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Technology Solutions GmbH
Original Assignee
Wincor Nixdorf International GmbH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wincor Nixdorf International GmbH filed Critical Wincor Nixdorf International GmbH
Priority to DE19704322A priority Critical patent/DE19704322A1/de
Priority to US09/012,592 priority patent/US5883840A/en
Publication of DE19704322A1 publication Critical patent/DE19704322A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods 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/10Methods 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.
Bezugszeichenliste
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
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
68,
70
Leitung
72
zweite Flipflop-Gruppe
74,
76
Flipflop
78
Leitungsbus
80
Taktleitung
82
Statussignalleitung
P1, P2 Bezugspunkt
100
,
102
Taktflanke
T1 momentaner Spannungswert
TA Taktsignal
104
Ordinatenachse
106
Abszissenachse
t Zeit
t1, t2 Zeitpunkt
tV1, tV2 Vorbereitungszeit
tH1, tH2 minimale Haltezeit
tP Signallaufzeit
108
Koordinatensystem
110
Ordinatenachse
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,
dadurch gekennzeichnet, daß in der Verbindung (50, 78) zwischen Vergleichseinheit (60) und Eingabezähler (34) eine Abtasteinheit (52) angeordnet ist, die ge­ mäß einem Taktsignal (TA) den Stand des Eingabezäh­ lers (34) abtastet und das Abtastergebnis an die Ver­ gleichseinheit (60) 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,
dadurch gekennzeichnet, daß der Eingabezähler (34) und der Ausgabezähler (36) mindestens bis zu einem Wert zählen, welcher der doppelten Anzahl von Spei­ cherzellen (18 bis 32) im Speicher (14) entspricht, wobei zur Adressierung des Speichers (14) nur ein Teil der Bitstellen des jeweiligen Zählerwerts ver­ wendet wird.
DE19704322A 1997-02-05 1997-02-05 Speichereinrichtung und Verfahren zum Speichern von Daten nach dem FIFO-Prinzip Withdrawn DE19704322A1 (de)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW202236267A (zh) 2015-05-28 2022-09-16 日商鎧俠股份有限公司 半導體裝置

Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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メモリの誤動作検出方法及び装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
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