PatentDe  


Dokumentenidentifikation DE69128493T2 25.06.1998
EP-Veröffentlichungsnummer 0453722
Titel Kompakte, erweiterbare, gefaltete Fifo-Warteschlange
Anmelder Codex Corp., Mansfield, Mass., US
Erfinder Theobald, Kevin Bryan, Cambridge, Massachusetts 02140, US
Vertreter Pfeifer, L., Dipl.-Phys. Dr.-Ing., Pat.-Anw., 65388 Schlangenbad
DE-Aktenzeichen 69128493
Vertragsstaaten DE, FR, GB
Sprache des Dokument En
EP-Anmeldetag 15.02.1991
EP-Aktenzeichen 911021764
EP-Offenlegungsdatum 30.10.1991
EP date of grant 29.12.1997
Veröffentlichungstag im Patentblatt 25.06.1998
IPC-Hauptklasse G06F 5/06
IPC-Nebenklasse G11C 19/00   

Beschreibung[de]
Hintergrund der Erfindung

Diese Erfindung bezieht sich allgemein auf Fifo- (First-in- First-Out) Schaltungen und insbesondere auf eine Fifo-Schaltung, bei-der die Speicherkapazität für Daten leicht, ohne den bereits existierenden Steuerschaltungen Anordnungsänderungen aufzuerlegen, erweitert werden kann, und die so geschaltet sind, daß sich die ältesten Daten, an der Spitze der Warteschlange stets in einem vorgegebenen Register befinden.

Fifo-Schaltungen finden sich in einer riesigen Vielzahl von Anwendungen, bei denen Daten für einen gewisse Zeit gespeichert werden müssen und dieselben Daten später in der Reihenfolge ihres Hereinkommens gelesen werden müssen. Eine dieser Anwendungen ist im Bereich der Datenübertragungen zum Beispiel in einer-Modem- Schaltung, bei der ein Datenblock etwa von einer mit 10 MHz getakteten Computerschnittstelle mit hoher Datenübertragungsrate in die Fifo hinein geschrieben werden kann und die mit einer viel niedrigeren Übertragungsrate zur Übermittlung über eine herkömmliche Nachrichtenverbindung ausgelesen wird, die mit 9600 Baud oder mehr betrieben wird. Die Zwischenspeicherung, die die Fifo-Schaltung ermöglicht, erlaubt der Computerschnittstelle, einen Datenblock in ihr abzuladen und zur Ausführung anderer Verarbeitungsaufgaben zurückzukehren. Die Modem-Schaltung kann dann die Daten mit einer geeigneten niedrigeren Übermittlungsfrequenz ausgeben und den Computer unterbrechen, wenn sie für den nächsten Datenblock bereit ist.

Eine herkömmliche Fifo-Schaltung kann eine vorgegebene Anzahl N von seriell verbundenen Registern enthalten, wobei jedes Register M Bit breit ist und M und N positive ganze Zahlen sind. Ein Datenwort mit M Bit wird in den Dateneingang der Fifo geschrieben, und alle bereits vorhandenen Daten werden auf die nächst höhere Position geschoben, so daß die ältesten Daten die höchsten, am weitesten vom Eingangsbus entfernten Positionen einnehmen. Ein Zähler wird bei jedem M-Bit-Datenwort, das der Fifo hinzugefügt wird, heraufgesetzt, um die höchste Datenposition, also die Spitze der Warteschlange abzuspeichern, und sie kann von einer Adreßlogik jederzeit bestimmt werden. Üblicherweise gibt es in der Fifo N Adreßentschlüsselungsschaltungen, für jedes Register eine. Während des Lesezykluses wird die Spitze der Warteschlange über die Addreßentschlüsselungslogik vom Zähler identifiziert, und das dort gespeicherte Datenwort mit M Bit wird aus der entschlüsselten Position gelesen, woraufhin der Zähler zurückgesetzt wird. Einer der Nachteile der im Vorangegangenen beschriebenen Fifo-Schaltung besteht in der Notwendigkeit, den Zähler zu lesen, die Adresse der höchsten Datenposition zu lesen und das Datenwort mit M Bit zu lesen. Das Verfahren benötigt mehrere Zeittakte, um die Folge von Arbeitsschritten auszuführen, wodurch sich die Zugriffszeit auf die Daten insgesamt erhöht. Hinzukommt, daß die Adreßentschlüsselung Hochleistungstreiber haben muß, die vorgeladen sind, um entlang der Datenlesezeilen genügend Leistung bereitzustellen. Das Vorladen der Datenlesezeilen benötigt wiederum weitere Zeittakte und verlangsamt die Leistung der Fifo.

Ein weiterer ausgesprochener Nachteil einer Fifo nach dem Stand der Technik besteht in der Schwierigkeit, die mit der Erweiterung der Länge auf den Wert N zusammenhängt. Wenn die Länge der Fifo sich vergrößert, muß normalerweise die Breite der gesamten Adreßentschlüsselungslogik vergrößert werden. Wenn zum Beispiel die Fifo-Steuerschaltung ursprünglich mit 8 Bit zum Adressieren von 256 Registerplätzen (N = 256) ausgelegt war und eine Änderung der Auslegung später eine weitere Länge von 256 (insgesamt 512) in der Fifo erfordert, weil jede Entschlüsselungsschaltung dieselbe Breite hat, müssen dann alle 512 Adreßentschlüsselungsschaltungen einschließlich der ursprünglichen 256 gegen 9 Bit Adreßlänge ausgetauscht werden, um dem Zuwachs an Datenspeicherkapazität gerecht zu werden. Das Verfahren der Entschlüsselung der Adresse der höchsten Position ist wenig geeignet, verbraucht übermäßig viel Leistung und verhindert eine flexible Auslegung insbesondere dann, wenn versucht wird, seine Kapazität zu erhöhen.

Es wird daher eine verbesserte Fifo-Schaltung benötigt, die ohne Veränderungen innerhalb der bereits existierenden Steuerschaltung erweiterbar ist und so geschaltet ist, daß die Position der ältesten Daten stets in einer vorgegebenen Registerposition ist, so daß keine Adresse mehr entschlüsselt werden muß, um die Spitze der Warteschlange zu finden.

Das US Patent Nr. 4 040 018 "Ladder for Information Processing" beschreibt einen binären Schalter für das Lenken zweier Datenströme, so daß sie abhängig von äußerer Steuerung entweder einander überkreuzen oder einander umgehen. Eine lineare Matrix von Schieberegisterschleifen ist über solche Schalter miteinander verbunden, um eine Speicherstrukturleiter zu bilden.

Zusammenfassung der Erfindung

Dementsprechend soll mit der vorliegenden Erfindung eine verbesserte Fifo-schaltung geschaffen werden.

Ein Merkmal der vorliegenden Erfindung ist, daß eine verbesserte Fifo-Schaltung mit mehreren Datenzellen zum Speichern von Datenworten in derselben Reihenfolge, wie sie empfangen wurden, und mehreren Steuerzellen, um die Übertragung von Datenworten zwischen den- Datenzellen zu ermöglichen, bereitgestellt wird, bei der sich das älteste Datenwort stets an einem vorgegebenen Platz befindet.

Ein weiteres Merkmal der vorliegenden Erfindung ist, daß eine verbesserte Fifo-Schaltung mit einem mit einer ersten unteren Datenzelle verbundenen Eingangsdatenbus und einem mit einer zweiten oberen Datenzelle verbundenen Ausgangsdatenbus bereitgestellt wird, wobei die erste und zweite Datenzelle ein zusammengeschaltetes Datenzellenpaar bilden, damit zwischen ihnen Daten ausgetauscht werden können.

Ein weiteres Merkmal der vorliegenden Erfindung ist, daß eine verbesserte Fifo-Schaltung bereitgestellt wird, in der die übrigen Datenzellen ebenso in Paaren zusammengeschaltet und zum Datenaustausch zwischen diesen miteinander verbunden sind, so daß die Datenworte in der oberen und unteren Datenzelle eines jeden Paares abgelegt werden, bevor vom Eingangsdatenbus entferntere Datenzellen zugewiesen werden.

Ein weiteres Merkmal der vorliegenden Erfindung ist, daß eine verbesserte Fifo-Schaltung bereitgestellt wird, in der Datenzellen dafür vorgesehen sind, daß das älteste Datenwort stets in die zweite obere mit dem Ausgangsdatenbus verbundene Datenzelle, die als Spitze der Warteschlange festgelegt wurde, geschoben wird, unabhängig von der Anzahl der Daten in der Fifo und von ihrem Fassungsvermögen.

Ein zusätzliches Merkmal der vorliegenden Erfindung ist es, eine verbesserte Fifo-Schaltung bereitzustellen, die erweitert werden kann.

Ein zusätzliches Merkmal der vorliegenden Erfindung ist es, eine verbesserte Fifo-Schaltung bereitzustellen, die ohne Veränderung der bereits vorhandenen Datenzellen oder Steuerzellen, einfach durch das Hinzufügen von Datenzellen und zugehörigen Steuerzellen erweitert werden kann.

Wie oben geschildert, wird eine Fifo-Schaltung zum Speichern von Daten bereitgestellt, die mehrere erste Datenzellen umfaßt, die zur Speicherung der Daten in ihnen seriell zwischen einem Eingangsbus und einem Leitungsbus gekoppelt sind. Mehrere zweite Datenzellen sind seriell zwischen dem Leitungsbus und einem Ausgangsbus gekoppelt, und sie sind entlang den mehreren ersten Datenzellen ausgerichtet und so geschaltet, daß jede der mehreren zweiten Datenzellen mit der entsprechenden benachbarten der mehreren ersten Datenzellen zum Datenaustausch zwischen ihnen gekoppelt ist. Die Fifo-Schaltung wird mit mehreren Steuerzellen, die mehrere Ausgänge zum Abgeben eines digitalen Positionssteuersignals haben, die jeweils mit den mehreren zweiten Datenzellen gekoppelt sind, und die zum Steuern der Bewegung von Daten zwischen den mehreren ersten und zweiten Datenzellen zum Verschieben der ältesten Daten zum Ausgangsbus geschaltet sind, versehen. Das digitale Positionssteuersignal enthält einen ersten Teil variabler Länge an Bits, was einem ersten logischen Zustand entspricht, und einen zweiten Teil variabler Länge an Bits, was einem zweiten logischen Zustand entspricht, die zusammen das digitale Positionssteuersignal bilden, das den besetzten Teil der mehreren ersten und zweiten Datenzellen identifiziert.

In einer Ausführungsform umfaßt die vorliegende Erfindung mehrere Steuerzellen mit mehreren Ausgängen für die Abgabe eines digitalen Positionssteuersignals als Reaktion auf erste, zweite, dritte, vierte und fünfte Steuersignale, die daran angelegt werden. Das digital Positionssteuersignal enthält einen ersten Teil mit einem ersten logischen Zustand und einen zweiten Teil mit einem zweiten logischen Zustand, wobei der erste Teil mit dem ersten logischen Zustand sich verlängert, während der zweite Teil mit dem zweiten logischen Zustand sich verkürzt, wenn das zweite Steuersignal vor dem vierten logischen Steuersignal gesetzt wird, und der erste Teil mit dem ersten logischen Zustand verkürzt sich, während der zweite -Teil mit dem zweiten logischen Zustand sich verändert, wenn das vierte Steuersignal vor dem zweiten Steuersignal gesetzt wird. Außerdem verlängert sich der erste Teil mit dem ersten logischen Zustand, während der zweite Teil mit dem zweiten logischen Zustand sich verkürzt, wenn das dritte Steuersignal vor dem ersten Steuersignal gesetzt wird, und der erste Teil mit dem ersten logischen Zustand verkürzt sich, während der zweite Teil mit dem zweiten logischen Zustand sich verlängert, wenn das erste Steuersignal vor dem dritten Steuersignal gesetzt wird. Das vierte Steuersignal dient zum Zurücksetzen des digitalen Positionssteuersignals auf einen vorgegebenen Wert.

Kurze Beschreibung der Zeichnungen

Fig. 1 ist ein vereinfachtes Blockdiagramm, das eine bevorzugte Ausführungsform der vorliegenden Erfindung zeigt.

Fig. 2 ist eine schematische Darstellung und ein Blockdiagramm, die bevorzugte Ausführungsform der Steuerzellen darstellend.

Fig. 3 ist eine Darstellung der Pulsfolgen zur Erläuterung der Beschreibung der Erfindung.

Fig. 4 ist eine schematische Darstellung und ein Blockdiagramm, die bevorzugte Ausführungsform der Abschlußzellen darstellend, und

Fig. 5 ist eine schematische Darstellung und ein Blockdiagramm, die bevorzugte Ausführungsform der Datenzellenpaare darstellend.

Ausführliche Beschreibung der bevorzugten Ausführungsform

In Fig. 1 wird eine Fifo 10 gezeigt, die unter Verwendung von herkömmlichen Herstellungsverfahren für integrierte Schaltungen für die Herstellung als integrierte Schaltung geeignet ist. Die Ausführungsform der Fifo 10 umfaßt mehrere seriell verbundene Abschnitte wie etwa den P-Abschnitt 11, den N-Abschnitt 12, den P-Abschnitt 13, N-Abschnitt 14 und den P/N-Abschnitt 15, der in Abhängigkeit von seiner Speicherkapazität einer von beiden Typen sein kann. Jeder Abschnitt umfaßt eine Steuerzelle und obere und untere Datenzellen, wie etwa die Steuerzelle 16, die obere Datenzelle 17 und die untere Datenzelle 18 für den P-Abschnitt 11. Ebenso umfaßt der N-Abschnitt 12, die Steuerzelle 19 und das Datenzellenpaar 20 und 21, und der P-Abschnitt 13 umfaßt die Steuerzelle 22 und das Datenzellenpaar 23 und 24, während der N-Abschnitt 14 die Steuerzelle 25 und das Datenzellenpaar 26 und 27 umfaßt und der PIN- Abschnitt 15 die Steuerzelle 28 und das Datenzellenpaar 29 und 30 enthält. Die Steuerzellen 16, 19, 22, 25 bis 28 sind, wie in Fig. 1 gezeigt, zwischen der Initialisierungszelle 31 und der Abschlußzelle 32 seriell verbunden. Innerhalb jedes P- und N- Abschnitts ist die Steuerzelle mit der oberen Datenzelle verbunden, während benachbarte Zellen miteinander verbunden sind, damit ein Datenwort zwischen ihnen weitergeleitet werden kann. Die Steuerzelle 16 zum Beispiel ist mit dem Datenzellenpaar 17 und 18 verbunden, um an sie ein Positionssteuersignal zu liefern, während die Datenzellen 17, 18, 20 und 21 verbunden sind, wodurch ein Datenwort zwischen ihnen übertragen werden kann. Ein Datenwort mit M Bit, üblicherweise 1, 8 oder 16 Bit Breite wird an den Eingangsbus 33 angelegt, der der Dateneingang der Datenzelle 18 ist, obwohl M jeden ganzzahligen positiven Wert annehmen kann. Die Datenworte werden über den Ausgangsbus 36 aus der Datenzelle 17 gelesen. Zusätzliche Steuersignale werden am Eingang 34 und Eingang 35 angelegt und durch die Datenzellen und entsprechenden Steuerzellen zum Steuern verschiedener Arbeitsschritte der Fifo 10 weitergeleitet.

Die Fifo 10 kann sich nur in einem von zwei möglichen Zuständen befinden: im geraden Zustand, wenn eine gerade Anzahl von eindeutigen Datenworten in ihr gespeichert ist, und im ungeraden Zustand bei einer ungeraden Anzahl von Datenworten. Es werden die Taktsignale C1 und C2 mit zwei Pegeln bereitgestellt, die mit einer Taktfrequenz von etwa 21.6 kHz zum Erzeugen der Steuersignale zusammenwirken. Die Pulse der Taktsignale C1 und C2 überlappen nicht, so daß entsprechende Flanken zu unterschiedlichen Zeitpunkten auftreten. Der Phasenversatz zwischen den Taktsignalen C1 und C2 hängt technologisch von der Schaltgeschwindigkeit der Datenzellen ab.

Der Betrieb der Fifo 10 wird in drei Teilen diskutiert. Zuerst wird zum prinzipiellen Verständnis die Bewegung der Datenworte von Datenzelle zu Datenzelle vorgestellt. Im zweiten Teil werden die Steuerzellen 16, 19 22 und 25 erläutert, woran sich ein dritter Teil anschließt, in dem die Datenzellen unter exemplarischer Verwendung des Datenzellenpaars 17 und 18 und des Datenzellenpaars und 21 ausführlich untersucht werden. Im allgemeinen werden die M-Bit-Datenworte, die am Eingangsbus 33 angelegt sind, so durch die Datenzellen weitergeleitet, daß das älteste Datenwort stets in der Datenzelle 17 zum Lesen am Ausgangsbus 36 vorhanden ist. Das Alter des Datenworts wird von der Eintrittszeit aus bestimmt; die vorliegende Erfindung arbeitet somit als eine Fifo-Warteschlange. Abhängig vom Zustand und dem Inhalt der Fifo 10 wird das M-Bit-Datenwort entweder in die untere Datenzelle geschrieben oder über Kreuz in die obere Datenzelle desselben Paares oder der nächst höheren Datenzelle. Die Datenzellen der Fifo 10 sind daher wie folgt sequentiell zugewiesen: Datenzelle 17, Datenzelle 18, Datenzelle 20, Datenzelle 21, Datenzelle 23, Datenzelle 24, Datenzelle 26, Datenzelle 27 und so weiter.

Man betrachte das folgende Beispiel, bei dem vier Datenworte mit M Bit A, B, C und D vor dem ersten Auslesen seriell in das leere Fifo 10 geschrieben werden. Ein wichtiger Leitgedanke für dieses Beispiel ist das Verfahren, das älteste vorliegende Daten wort am Ausgangsbus 36 zu erhalten. Die Datenübertragungen zwischen Datenzellen erfolgen zu den Taktzeiten C1 und C2. Beim ersten Schreibzyklus, bei dem die Fifo 10 leer ist, gilt der gerade Zustand, und das auf den Eingangsbus 33 gegebene Datenwort A wird in der Taktzeit C1 über Kreuz in die Datenzelle 17 und in der Taktzeit C2 in die Datenzelle 18 geschrieben, was die Fifo 10 im ungeraden Zustand zurückläßt, das heißt, sie enthält ein eindeutiges Datenwort. Während des Schreibzyklus im ungeraden Zustands wird in der Taktzeit C1 der Inhalt der Datenzelle 18 in die Datenzelle 21 geschoben, und das Datenwort B wird in der Datenzelle 18 gespeichert, danach wird das Datenwort B von der Datenzelle 18 zur Datenzelle 20 übertragen, wobei in der Taktzeit C2 das Datenwort A in der Datenzelle 17 und das Datenwort B in den Datenzellen 18 und bleibt. Es gilt wieder der gerade Zustand, denn in der Fifo 10 sind zwei eindeutige Datenworte A und B gespeichert. Beim nächsten Schreibschritt wird in der Taktzeit C1 das in der Datenzelle 18 gespeicherte Datenwort B zur Datenzelle 20 übertragen und eine Kopie des Datenworts B in die untere Datenzelle 21 geschoben, während in der Taktzeit C2 das Datenwort C in die Datenzelle 18 geschrieben wird, was das Datenwort A in der Datenzelle 17, das Datenwort B in den Datenzellen 20 und 21 und das Datenwort C in der Datenzelle 18 beläßt. Obwohl diese zusätzliche Bewegung in die Datenzelle 20 redundant ist, führt sie zu einer Vereinfachung der Steuerlogik. Schließlich wird während des vierten Schreibzyklus, wenn der ungerade Zustand gilt, das Datenwort C zur Datenzelle 21 übertragen und das Datenwort D in der Taktzeit C1 in die Datenzelle 18 geschrieben, worauf das Datenwort C in der Taktzeit C2 zur Datenzelle 23 weitergeleitet wird. Nach vier Schreibschritten enthält die Fifo 10 somit das Datenwort A in der Datenzelle 17, das Datenwort B in der Datenzelle 20, das Datenwort C in den Datenzellen 21 und 23 und das Datenwort D in der Datenzelle 18. Die allgemeine Regel für Schreibschritte ist also, den Inhalt der unteren Datenzellen während der Taktzeit C2 (d.h. von der Datenzelle 18 zur Datenzelle 21, von der Datenzelle 21 zur Datenzelle 24 usw.) zu schieben, was die Datenzelle 18 zum Laden des hereinkommenden Datenwortes, das auf den Eingangsbus 33 gegeben wird, frei macht. Für einen Schreibzyklus im geraden Zustand wird die allgemeine Regel um das Weiterleiten des am weitesten vom Eingangsbus 33 entfernten Datenwortes in den unteren Datenzellen in die nächste obere Datenzelle in der Taktzeit C1 erweitert, d.h. im obigen Beispiel das Kopieren des Datenworts B beim dritten Schreibzyklus von der Datenzelle 18 in die Datenzelle 20. Umgekehrt wird die allgemeine Regel bei Schreibschritten im ungeraden Zustand durch das Weiterleiten des am weitesten vom Eingangsbus 33 entfernten, in der unteren Datenzelle gespeicherten Datenworts in die nächste obere Datenzelle in der Taktzeit C2, nachdem die Datenworte in den unteren Datenzellen verschoben wurden, erweitert, d.h. im obigen Beispiel das Kopieren des Datenworts C aus der Datenzelle 21 in die Datenzelle 23 während des vierten Schreibzyklus. Die oben beschriebene Datenbewegung rückt den gesamten belegten Teil der Fifo 10 weiter, und obgleich das Weiterreichen der nicht leeren Datenzellen in geraden Zustände redundant ist, wird durch dieses Verfahren nichtsdestotrotz insgesamt die Steuerlogik vereinfacht.

Bei dem ersten folgenden Leseschritt des vorangegangenen Beispiels gilt der gerade Zusand, und das Datenwort A wird aus der Datenzelle 17 in der Taktzeit C1 gelesen, und die Datenworte B und C werden in der Taktzeit C2 in die Datenzelle 17 beziehungsweise 20 geschoben, was das Datenwort B in der Datenzelle 17, das Datenwort C in den Datenzellen 20 und 21 und das Datenwort D in der Datenzelle 18 zurückläßt In einem geraden Zustand erfolgt kein weiterleiten über Kreuz. Beim zweiten Lesen gilt der ungerade Zustand, bei dem das Datenwort B aus der Datenzelle 17 gelesen wird und in der Taktzeit C1 das Datenwort C in die Datenzelle 17 verschoben wird, während das Datenwort D in der Taktzeit C2 quer von Datenzelle 18 zu Datenzelle 20 weitergeleitet wird, was das Datenwort C in der Datenzelle 17 und das Datenwort D in den Datenzellen 18 und 20 zurückläßt. Die allgemeine Regel für einen Leseschritt ist also: das Datenwort in Datenzelle 17 wird gelesen, während die in den oberen Datenzellen gespeichert Datenworte einen Schritt in Richtung des Ausgangsbusses 36 gerückt werden. Für einen Leseschritt im ungeraden Zustand wird die allgemeine Regel erweitert durch das Weiterleiten des am weitesten vom Ausgangsbus 33 entfernten Datenwortes in der unteren Datenzelle quer in die nächste obere Datenzelle in der Taktzeit C2, d.h. im obigen Beispiel das Kopieren des Datenworts D von der Datenzelle 18 in die Datenzelle 20 während des zweiten Lesens. Bemerkenswert ist, daß ein Spezialfall dann auftritt, wenn aus einer vollen Fifo 10 gelesen wird. Dann gibt es kein querkopieren, denn außerhalb der die räumlichen Grenzen gibt es keinen Platz. Das räumliche Ende der unteren Datenzellen, die Datenzelle 30 ist jedoch, wie in Fig. 1 gezeigt, über den Leitungsbus 37 mit dem räumlichen Anfang der oberen Datenzellen, der Datenzelle 29 verbunden. Wenn der Inhalt der oberen Datenzellen zum Ausgangsbus 36 verschoben wird, wird das Datenwort, das am Ausgang der Datenzelle 30 anliegt in die Datenzelle 29 kopiert.

Das vorangehende Beispiel beschreibt vier aufeinanderfolgende Schreibschritte, die von entsprechenden Leseschritten gefolgt werden, um die normalen Betriebsweise zu veranschaulichen, bei der die Fifo 10 zum Beispiel von einer (nicht gezeigten) Computerschnittstelle mit hoher Übertragungsrate einen Block mit Datenworten erhalten kann, gefolgt von Lesezyklen mit niedriger Datenüber tragungsrate. Da das Auftreten von Schreib- und Lesezyklen unabhängig voneinander ist, ist es möglich und tatsächlich üblich, die Betriebsschritte dynamisch zu vermischen. In der Taktzeit ist es genauso möglich, gleichzeitig zu lesen und zu schreiben, natürlich unter der Voraussetzung, daß die Fifo 10 Daten enthält. Es werde angenommen, die Fifo 10 sei zum Beispiel in einem geraden Zustand folgendermaßen geladen: Datenwort A in Datenzelle 17, Datenwort B in Datenzelle 20, Datenwort C in Datenzelle 21 und 23, Datenwort D in Datenzelle 18, und Datenwort E liege am Eingangsbus 33 an. Bei einem gleichzeitigem Lese- und Schreibschritt wird das Datenwort A aus der Datenzelle 17 über den Ausgangsbus 36 gelesen, während das Datenwort E in die Datenzelle 18 geschrieben wird, während gleichzeitig in der Taktzeit C1 die Datenworte B und C in die Datenzellen 17 und 20 übertragen werden und die Datenworte C und D in die Datenzellen 21 bzw. 24 geschoben werden. Während der Taktzeit C2 wird das Datenwort D von der Datenzelle 21 quer in die Datenzelle 23 übertragen, was das Datenwort B in der Datenzelle 17, das Datenwort C in der Datenzelle 20, das Datenwort D in den Datenzellen 21 und 23 und das Datenwort E in der Datenzelle 18 zurückläßt Die Fifo 10 bleibt bemerkenswerterweise in dem geraden Zustand, denn in ihr bleibt eine gerade Anzahl von Datenworten gespeichert. Als nächstes soll ein Schreib- und Leseschritt in einem ungeraden Zustand betrachtet werden, bei dem die Fifo 10 wie folgt geladen ist: das Datenwort A ist in Datenzelle 18, und das Datenwort D liegt am Eingangsbus 33 an. In der Taktzeit C1 wird das Datenwort A aus der Datenzelle 17 über den Ausgangsbus 36 gelesen, während Datenwort D in die Datenzelle 17 geschrieben wird, während Datenwort B in die Datenzelle 17 übertragen wird und das Datenwort C zur Datenzelle 21 geschoben wird. Der nächste Schritt bei dem gleichzeitigen Lese- und Schreibschritt im ungeraden Zustand in der Taktzeit C2 ist eine Abweichung vom im vorangegangenen dargestellten Querkopieren, denn in ihm wird das Datenwort C direkt aufwärts von der Datenzelle 21 in die Datenzelle 20 kopiert, was das Datenwort B in der Datenzelle 17, das Datenwort C in den Datenzellen 20 und 21 und das Datenwort D in der Datenzelle 18 zurückläßt Wiederum bleibt die Fifo 10 im ungeraden Zustand, denn die gesamte Anzahl der Datenworte hat sich nicht geändert. Ein letzter Fall betrifft gleichzeitige Lese- und Schreibzyklen, wenn die Fifo 10 voll ist. Obwohl es keine Querkopien per se gibt, wird das aus der Datenzelle 30 geschobene Datenwort an den Eingang der Datenzelle 29 angelegt, wodurch in der Wirkung dasselbe Ergebnis erreicht wird.

Die vorangehende Beschreibung erläutert die Bewegung der Datenworte, so daß das älteste stets für das Auslesen am Ausgangsbus 36 zur Verfügung steht. Bei der vorliegenden Erfindung muß somit im Gegensatz zu üblichen, seriell verbundenen Registern nach dem Stand der Technik die Adresse der höchsten Datenposition nicht mehr verschlüsseln werden, und dadurch wurde die Konstruktion verbessert und die Leistungsfähigkeit der Fifo-Schaltung verbessert. Außerdem werden keine vorgeladenen Lesezeilen mehr gebraucht, denn das älteste Datenwort liegt an einem vorgegebenen Ort an.

Da die oben beschriebenen Technik, die Datenworte zwischen den Datenzelle zu bewegen, erläutert wurden, können die Initialisierungszelle 30 und die, in Fig. 2 gezeigten, Steuerzellen 16, 19, 22, 25-28 erläutert werden. Die Funktion der Steuerzellen besteht darin, ein digitales Positionssteuersignal mit einem ersten Teil von logischen Einsen und einem zweiten Teil von logischen Nullen wie etwa "11000..." zu erhalten. Die bewegliche Eins-Null-Grenze des Positionssteuersignals bezeichnet das Datenzellenpaar, das am weitesten vom Eingangsbus 33 entfernt gültige Daten enthält. Ein Wert von "00000..." zeigt ein leeres Fifo 10 an, während "11111..." für ihren vollen Zustand reserviert ist, weswegen klar ist, daß die Länge des ersten und zweiten Teils des digitalen Positionssteuersignals in den beiden Extremfällen tatsächlich null sein kann. Das Positionssteuersignal, das beim vorliegenden momentanen Zustand "11000.." darstellt, umfaßt ein erstes signifikantestes Bit (MSB) als die am weitesten links liegende "1", ein zweites MSB als die am zweitweitesten links liegende "1", ein drittes MSB als die am weitesten links liegende "0", ein viertes MSB als die am zweitweitesten links liegende "0" und ein fünftes MSB als die am weitesten rechts liegende "0". Das erste und zweite MSB im logischen Zustand Eins bezeichnen gültige Daten in den Datenzellen 17, 18, 20 und 21, und die Fifo 10 ist in ihrem geraden Zustand. Es ist wichtig zu erkennen, daß sich das Positionssteuersignal, das an den Ausgang der Steuerzellen 16, 19, 22, 25-28 abgegeben wird, bei Schreibzyklen im geraden Zustand und Lesezyklen im ungeraden Zustand ändert, außer, wie beschrieben, bei Situationen mit gleichzeitigem Lesen und Schreiben.

In Fig. 2 wird der mit den Leitern 40, 42, 44, 46 und 48- gekoppelte Eingang 35 gezeigt mit einschließlich dem Steuersignal PS1, das am Leiter 40 anliegt, dem Steuersignal PS2, das am Leiter 42 anliegt, dem Steuersignal RESET, das am Leiter 44 anliegt, dem Steuersignal PS3, das am Leiter 46 anliegt, und dem Steuersignal PS4, das am Leiter 48 anliegt. Der Leiter 44 ist mit dem Eingang des Inverters 50 verbunden, dessen Ausgang mit der Source des Transistors 52 verbunden ist, während der Drain des letzteren mit dem Drain von-Transistor 54 und dem Eingang des Inverters 56 verbunden ist. Die Source des Transistors 54 ist mit dem Stronversorgungsleiter 58 verbunden, der üblicherweise auf Massepotential liegt, und das Gate des Transistors 54 ist mit dem Leiter 44 verbunden, während das Gate des Transistors 52 zum Empfang des Steuersignals PS2 mit dem Leiter 42 verbunden ist. Die Steuerzelle 16 umfaßt die Transistoren 62, 64, 66 und 68 und den Inverter 74. Der Eingang des Inverters 56, ist der Knoten 60, er ist verbunden mit dem Drain von Transistor 61, dem Drain von Transistor 64 und mit dem Gate von Transistor 66, um das erste MSB des Positionssteuersignals abzugeben, das an der Datenzelle 17 anliegt. Die Sources der Transistoren 64 und 66 sind mit dem Stromversorgungsanschluß 70 verbunden, sie werden bei einem positiven Potential wie etwa Vcc betrieben. Das Gate des Transistors 64 und der Drain des Transistor 66 sind gemeinsam am Knoten 72 verbunden mit dem Drain des Transistors 68 und mit dem Eingang des Inverters 74, und der Ausgang des Inverters 74 ist mit der Source des Transistors 68 verbunden. Der Ausgang des Inverters 74 ist mit der Source des Transistors 68 verbunden. Der Ausgang des Inverters 74 ist mit der Source des Transistors 62 am Knoten 76 verbunden, um das zweite MSB des Positionssteuersignals zu liefern. Das Gate des Transistors 62 ist mit den Leiter 40 verbunden, und das Gate des Transistors 68 ist mit dem Leiter 46 verbunden.

Außerdem umfaßt die Steuerzelle 19 die Transistoren 78, 80, 82 und 84 und den Inverter 88. Die Source des Transistors 78 ist mit dem Knoten 76 und sein Drain mit dem Gate des Transistors 80 und mit dem Drain des Transistors 82 verbunden. Der Drain des Transistors 80 ist am Knoten 72 mit dem Gate des Transistors 82 und mit dem Drain des Transistors 84 verbunden. Zusätzlich ist die Source des Transistors 82 mit dem Stromversorgungsleiter 58 verbunden, und die Source des Transistor 80 ist mit dem Leiter 44 verbunden. Der Knoten 86 wird zwischen der Source des Transistors 84 und dem Ausgang des Inverters 88 gebildet, während der Eingang des Inverters 88 mit dem Drain des Transistors 78 am Knoten 90 verbunden ist, um das dritte MSB des Positionssteuersignals abzugeben. Das Gate des Transistors 78 ist mit Leiter 42 zum Empfangen des anliegenden Steuersignals PS2 verbundenen und das Gate des Transistors 84 reagiert auf das Steuersignal PS4 vom Leiter 44.

Desweiteren umfaßt in Fig. 4 die Steuerzelle 22 die Transistoren 92, 94, 96 und 98 und den Inverter 102. Der Eingang des Inverters 88 ist mit der Drain des Transistors 92, dem Drain des Transistors 94 und mit dem Gate des Transistors 96 verbunden. Die Sources der Transistoren 94 und 96 sind mit dem Stromversorgungsanschluß 70 verbunden, während sowohl das Gate des Transistors 94 als auch der Drain des Transistors 96 am Knoten 100 mit dem Drain des Transistors 98 und dem Eingang des Inverters 102 verbunden sind. Der Ausgang des Inverters 88 ist mit der Source des Transistors 98 am Knoten 86 verbunden, während der Ausgang des Inverters 102 mit der Source des Transistors 92 am Knoten 104 verbunden ist, um das vierte MSB des Positionssteuersignals abzugeben. Das Gate des Transistors 92 ist mit dem Leiter 40 verbunden, und das Gate des Transistors 98 ist mit dem Leiter 46 verbunden. Hinzukommt, daß die Steuerzelle 25 die Transistoren 106, 108, 110 und 112 und den Inverter 116 umfaßt. Die Source des Transistors 106 ist mit dem Knoten 104 verbunden, und der Drain desselben ist mit dem Gate des Transistors 108 und mit dem Drain des Transistors 110 verbunden. Der Drain des Transistors 108 ist am Knoten 100 mit dem Gate des Transistor 110 und mit dem Drain des Transistors 112 verbunden. Hinzukommt, daß die Source des Transistors 110 mit dem Stromversorgungsleiter 58 verbunden ist und die Source des Transistors 108 mit dem Leiter 44 verbunden ist. An der Verbindungsstelle zwischen der Source des Transistors 112 und dem Ausgang der Inverters 116 ist der Knoten 114 vorgesehen, während der Eingang des Inverters 116 mit der Drain des Transistors 106 am Knoten 118 zum Abgeben des fünften MSB des Positionssteuersignals verbunden ist. Das Gate des Transistor 106 ist mit dem Leiter 42 zum Empfangen des anliegenden Steuersignals PS2 verbunden, und das Gate des Transistors 112 reagiert auf das Steuersignal PS4 am Leiter 48. Die Abschlußzelle 32 ist mit der Steuerzelle 25 verbunden dargestellt, obwohl die Fifo 10 sowohl mit einem P- als auch mit einem N-Abschnitt abschließen kann.

Zur Erklärung des Betriebs der Steuerzellen 16, 19, 22 25-28 werde das folgende Beispiel betrachtet, bei dem acht Datenworte in die Fifo 10 geschrieben werden und dann vier aufeinanderfolgende Lesezyklen erfolgen. Das am Leiter 44 anliegende Steuersignal RESET wird auf eine logische Eins gehoben&sub1; um die Steuerzellen 16, 19, 22, 25-28 auf einen bekannten Zustand zu initialisieren und das an die Knoten 60, 76, 90, 104 und 118 gelieferte Positionssteuersignal auf "00000" zurückzusetzen, wodurch im Ergebnis die in den Datenzellen gespeicherten Datenworte gelöscht werden. Außerdem kann das am Leiter 40 anliegende Steuersignal PS1 und das am Leiter 46 anliegende Steuersignal PS3 auf eine logische Null heruntergesetzt werden, während das am Leiter 42 anliegende Steuersignal PS2 und das am Leiter 48 anliegende Steuersignal PS4 auf eine logische Eins heruntergesetzt werden, wodurch die Transistoren 52, 62, 68, 78, 84, 92, 98, 106 und 112 ausgeschaltet werden. Die logische Eins am Leiter 44 schaltet den Transistor 54 ein, was den am Stromversorgungsleiter 58 anliegenden Knoten 60 auf Massepotential zieht und die Source des Transistor 68 über den Inverter 56 hochtreibt. Die logische Null am Knoten 60 schaltet den Transistor 66 durch und zieht den Knoten 72 auf eine logische Eins, wodurch der Knoten 76 vom Inverter 74 auf logisch Null getrieben wird, während die logische Eins am Knoten 72 den Transistor 82 anschaltet, was den Knoten 90 auflogisch Null zieht. Das Verfahren setzt sich durch die Steuerzellen fort, was in den oberen Knoten 60, 76, 90, 104 und 118 anfangs eine logisch Null (Positionssteuersignal "00000") und in den unteren Knoten 72, 86, 100 und 114 anfangs eine logisch Eins ergibt. Die Initialisierungszelle 30 löst die Voreinstellung der Steuerzellen 16, 19, 22, 25-28 in einen bekannten Zustand bei Aktivierung des Steuersignals RESET aus. Die Steuersignale PS1 und PS3 werden dann auflogisch Eins gehoben und das Steuersignal RESET wird zur Zeit t&sub0; aus Fig. 3 auflogisch Null abgesenkt, was den Transistor 54 abschaltet und die Steuerzelle 16,19, 22, 25-28 in Bereitschaft schaltet. Fig. 3 ist ein Zeitdiagramm zur Erklärung der Steuerzellen. Die oberen und unteren Knoten ändern ihren Zustand jedoch solange nicht, bis die Lese- und Schreibzyklen mit dem Durchschalten der Transistoren 62, 92, 68 und 98 wegen der Steuersignale PS1 und PS3 beginnen, die positive Rückkopplungsklemmen zum Beispiel durch den Transistor 66, den Inverter 74 und den Transistor 62 aufzubauen, um den Knoten 60 auflogisch Null und den Knoten 72 ungeachtet der Entladung durch dessen Leckstrom auf logisch Eins zu halten. Ahnliche Klemmen werden in jeder Steuerzelle, d.h. Transistor 96, Inverter 102 und Transistor 92 für die Knoten 86, 90, 100 und 104 aktiviert.

Während des ersten Schreibschritts im geraden Zustand wird das Datenwort A mit M Bit am Eingangsbus 33 zum Laden an die leere Fifo angelegt. Zur Zeit t&sub1; werden die an den Leitern 40 bzw. 46 anliegenden Steuersignale PS1 bzw. PS3 gesenkt, wodurch die Transistoren 62, 68, 92 und 98 ausgeschaltet werden und die zugehörige positive Rückkopplungsschlaufe, die den Knoten 60 angesteuert hat, geöffnet wird. Das am Leiter 42 anliegende Steuersignal PS2 wird zur Zeit t&sub2; auflogisch Null aktiviert, wodurch die Transistoren 52, 78 und 106 angeschaltet werden. Da das Steuersignal RESET auf logisch Null ist, wird die am Ausgang des Inverter 50 auftretende logische Eins durch den Transistor 52 weitergeleitet, um den Knoten 60 auflogisch Eins und über den Inverter 56 die Source des Transistors 68 mit logisch Null anzusteuern, worauf die logische Eins am Knoten 60 den Transistor 66 ausschaltet, was das Treibersignal vom Knoten 72 entfernt, obwohl die logische Eins dort für eine kurze Zeitdauer als eine kapazitive Ladung bleibt. Um den Knoten 72 aktiv anzusteuern, wird das Steuersignal PS4 zur Zeit t&sub3; heruntergesetzt, was die Transistoren 84 und 112 anschaltet und die aktive logische Eins vom Knoten 86 zum Knoten 72 weiterleitet Die aktive logische Eins am Knoten 72 hält über den Inverter 74 die logische Null am Knoten 76 und schaltet den Transistor 82 an, was den Knoten 90 auf das Massepotential zieht, das am Stromversorgungsleiter 58 anliegt. Somit wird eine positive Rückkopplungsklemme für die Knoten 72, 76, 86 und 90 geschaffen, wodurch die logische Null über den Transistor 84 am Knoten 72 anliegt, während die logische Eins am Knoten 72 den Transistor 82 leitend erhält, wodurch der Knoten 90 aktiv mit logisch Null angesteuert wird, was die Schlaufe vervollständigt. Der Übergang des Steuersignal PS4 zur Zeit t&sub3; narkiert die Beendigung des ersten Schreibschritts, was das Positionssteuersignal auf dem Wert "10000" beläßt, der anzeigt, daß das Datenwort in der Datenzelle 17 gespeichert ist und der ungerade Zusand wahr ist. Die Steuersignale PS1, PS2, PS2 und PS4 werden nicht angelegt, und das Positionssteuersignal ändert sich beim Schreibzyklus im ungeraden Zustand nicht, wobei das Datenwort B in die Datenzelle 18 geladen wird und in die Datenzelle 20 quer weitergereicht wird.

Der nächste Schreibzyklus im geraden Zustand für das Datenwort C beginnt zur Zeit t&sub4;, mit dem Übergang der Steuersignale PS2 und PS4 auf Hoch, um die Transistoren 52, 78, 84, 106 und 112 auszuschalten, was bis zur Zeit t&sub5; die aktiven Treibersignale von den Knoten 60 und 72 entfernt, wenn das Steuersignal PS3 auflogisch Eins angehoben wird, um die Transistoren 68 und 98 anzuschalten und die logische Null am Ausgang des Inverters 56 zum Knoten 72 zu übertragen, was den Transistor 64 anschaltet, um den Knoten 60 über den Stromversorgungsleiter 70 auf einer logischen Eins festzuhalten. Eine positive Rückkopplungklemme wird für die Knoten 60, 72 und 76 erzeugt, das bedeutet, die logische Eins am Knoten 60 wird über den Inverter 56 in eine logische Null umgewandelt und über den Transistor 68 an den Knoten 72 angelegt, während die logische Null am Knoten 72 den Transistor 64 leitend erhält, was den Knoten 60 aktiv mit einer logischen Eins ansteuert. Da der Knoten 72 nun jedoch auflogisch Null ist, ist der Transistor 82 ausgeschaltet, und der Knoten 90 wird nicht mehr länger aktiv angesteuert. Daher wird zur Zeit t&sub6; das Steuersignal PS1 erneut aktiviert, was die Transistoren 62 und 92 anschaltet, um den Knoten 90 erneut mit einer logischen Null vom Knoten 104 aktiv anzusteuern. Der zweite Schreibzyklus im geraden Zustand ist abgeschlossen, wodurch der ungerade Zustand wahr wird und das Positionssteuersignal "11000" wird. Wiederum werden die Steuersignale PS1, PS3, PS2 und PS4 während des Schreibzyklus im ungeraden Zustand nicht ausgeübt, bei dem das Datenwort D in die Datenzelle 18 geladen wird. Es ist wichtig, daß die Zeit für das Trennen der Übergänge der Steuersignale PS1 und PS3 und der Übergänge der Steuersignale PS2 und PS4 ausreichen muß, um sicherzustellen, daß keine Knoten gleichzeitig in entgegengesetzter Richtung angesteuert werden.

Während des dritten Schreibschritts im geraden Zustand wird das Datenwort E mit M Bit in die Fifo 10 geladen, wobei einem ähnlichen Schema wie beim ersten Schreibschritt im geraden Zustand gefolgt wird. Zur Zeit t&sub7; werden die Steuersignale PS1 und PS3 gesenkt, was die Transistoren 62, 68, 92 und 98 ausschaltet und die positiven Rückkopplungsklemmen öffnet, was dem Knoten 72 und 90 zu schwimmen erlaubt. Das Steuersignal PS2 wird zur Zeit t&sub8; auf eine logische Null aktiviert, was die Transistoren 52, 78 und 106 anschaltet. Die logische Eins am Knoten 76 wird über den Transistor 78 zum Knoten 90 weitergeleitet, was den Knoten 86 auflogisch Null treibt und den Transistor 80 anschaltet, um den Knoten 72 aktiv mit der logischen Null am Leiter 44 anzusteuern, denn der Transistor 68 ist übergangsweise ausgeschaltet. Die positive Rückkopplungsklemme, die die Transistoren 78 und 80 und den Inverter 74 umfaßt, hält die Knoten 72 und 86 auflogisch Null und die Knoten 76 und 90 auf logisch Eins. Das Steuersignal PS4 wird zur Zeit t&sub9; abgesenkt, um die Transistoren 84 und 112 anzuschalten und die aktive logische Eins am Knoten 114 zum Knoten 100 weiterzuleiten. Die aktive logische Eins am Knoten 100 schaltet den Transistor 110 ein, was den Knoten 118 auf Massepotential zieht. Der Übergang des Steuersignals PS4 zur Zeit t&sub9; markiert das Ende des dritten Schreibzyklusses im graden Zustand, was das Positionssteuersignal mit dem Wert "11100" zurückläßt, was anzeigt, daß das Datenwort A in der Datenzelle 17, das Datenwort B in der Datenzelle 20, Datenwort C in den Datenzelle 23 und 24, Datenwort D in Datenzelle 21 und Datenwort E in der Datenzelle 18 gespeichert ist. Der Zustand der Fifo 10 ist wieder ungerade und das Datenwort F wird in die Datenzelle 18 geladen, ohne den Zustand des Positionssteuersignals zu ändern.

Der vierte Schreibzyklus im geraden Zustand für das Datenwort G beginnt zur Zeit t&sub1;&sub0;, wenn die Steuersignale PS2 und PS4 auf Hoch gehen, um die Transistoren 52, 78, 84, 106 und 112 auszuschalten. Die Knoten 90 und 100 werden bis zur Zeit t&sub1;&sub1; nicht aktiv angesteuert, wenn das Steuersignal PS3 auflogisch Eins angehoben wird, was die Transistoren 68 und 98 anschaltet und die logische Null am Ausgang des Inverters 88 zum Knoten 100 überträgt, was den Transistor 94 anschaltet, um den Knoten 90 auf einer logischen Eins über den Stronversorgungsleiter 70 zu halten und die positive Rückkopplungsklemme für die Knoten 86, 90, 100 und 104 wiederherzustellen. Zur Zeit t&sub1;&sub2; wird das Steuersignal PS1 erneut aktiviert, was die Transistoren 62 und 92 anschaltet, um wieder den Knoten 118 aktiv anzusteuern und um den vierten Schreibschritt zu beenden, was das Positionssteuersignal mit dem Wert "11110" zurückläßt Das Datenwort H wurde beim Schreiben im ungeraden Zustand in die Datenzelle 18 geladen, was die Fifo 10 im geraden Zustand und dem in der Datenzelle 17 gespeicherten Datenwort A, dem Datenwort B in Datenzelle 20, dem Datenwort C in der Datenzelle 23, dem Datenwort D in der Datenzelle 26, dem Datenwort E in der Datenzelle 27 und in der nächsten oberen Datenzelle, dem Datenwort F in der Datenzelle 24, dem Datenwort G in der Datenzelle 21 und dem Datenwort H in der Datenzelle 18 zurückläßt Die Schlüsseleigenschaft für das Auslösen des Schreibzyklus im geraden Zustand ist somit das Auslösen des Steuersignals PS2 vor dem Steuersignal PS4, wodurch die Transistoren 52, 78 und 106 angeschaltet werden und die logischen Einsen entlang den Knoten 60, 76, 90, 104 und 118 übertragen werden, und für andere Schreibschritte in geraden Zuständen muß das Steuersignal PS3 vor dem Steuersignal PS1 aktiviert werden, um sicherzustellen, daß die logischen Einsen an den Knoten 60, 76, 90, 104 und 118 weg von der Initialisierungszelle 31 weitergeleitet werden. Es ist nicht notwendig, während der Schreibschritte im ungeraden Zustand das Positionssteuersignal zu ändern, denn die Übertragungen von Datenworten füllen einfach die untere Datenzelle des gegenwärtigen Datenzellenpaars.

Nun wird bei einem Leseschritt aus dem geraden Zustand das - Verfahren umgedreht. Beim Lesens des Datenwortes A im geraden Zustand erfolgt keine Anderung des Positionssteuersignals, denn die Datenzelle 26 wird nach dem Abschluß noch das gültige Datenwort E enthalten. Die Steuersignale PS1 und PS3 werden jedoch zur Zeit t&sub1;&sub3; aus Fig. 3 für das folgenden Lesen von Datenwort B in ungeraden Zustand gesenkt, was die positiven Rückkopplungsklemmen ausschaltet, was es den Knoten 100 und 118 erlaubt zu schwimmen, bis das Zeitsteuersignal PS4 zur Zeit t&sub1;&sub4; deutlich vor dem Steuersignal PS2 auflogisch Null gesetzt wird. Die logische Eins am Knoten 114 wird über den Transistor 112 zum Knoten 100 übertragen, was den Knoten 104 über den Inverter 102 auf eine logische Null setzt, während die logische Eins am Knoten 100 den Transistor 94 ausschaltet, was den Knoten 90 freigibt. Die aktive logische Eins am Knoten 100 schaltet den Transistor 94 aus, was den Knoten 90 freigibt. Die aktive logische Eins am Knoten 100 schaltet ebenso den Transistor 110 an, was den Knoten 118 auf Massepotential zieht und die Klemme für die Knoten 100, 104, 114 und 118 vorbereitet. Das Steuersignal PS2 wird zur Zeit t&sub1;&sub5; auflogisch Null gesetzt, was die Transistoren 52, 78 und 106 anschaltet und die aktive logische Eins am Knoten 76 zum Knoten 90 weiterleitet, wodurch das erste Lesen bei ungeradem Zustand beendet wird, und das Positionssteuersignal gleich "11100" ergibt mit dem Datenwort C in der Datenzelle 17, dem Datenwort D in der Datenzelle 20, dem Datenwort E in der Datenzelle 23 und dem Datenwort F in den Datenzellen 24 und 26, dem Datenwort G in der Datenzelle 21 und dem Datenwort H in der Datenzelle 18. Wieder wird das Positionssteuersignal beim Lesen des Datenworts C im geraden Zustand nicht geändert.

Der zweite Lesezyklus im ungeraden Zustand beginnt zur Zeit t&sub1;&sub6; mit dem Übergang der Steuersignale PS2 und PS4 auf Hoch, wodurch die an den Knoten 90 und 100 anliegenden Ansteuersignale bis zur Zeit t&sub1;&sub7; entfernt werden, wenn das Steuersignal PS1 auflogisch Eins gehoben wird, um die Transistoren 62 und 92 anzuschalten und die logische Null am Knoten 104 zum Knoten 90 zu übertragen, was den Transistor 80 ausschaltet. Zur Zeit t&sub1;&sub8; wird das Steuersignal PS3 erneut aktiviert, was die Transistoren 68 und 98 anschaltet, um wieder aktiv den Knoten 72 anzusteuern. Der Lesezyklus ist beendet, was für das Positionssteuersignal die logischen Pegel "11000" ergibt. Es ist daher bei Auslösen des Lesezyklus im ungeraden Zustand wichtig, das Steuersignal PS4 vor dem Steuersignal PS2 zu aktivieren, um sicherzustellen, daß die logischen Nullen des Positionssteuersignals zur Initialisierungszelle 31 weitergeleitet werden, und für andere Leseschritte im ungeraden Zustand muß das Steuersignal PS1 vor dem Steuersignal PS3 aktiviert sein. Wie oben bemerkt, ändern gleichzeitige Lese- und Schreibschritte nie das Positionssteuersignal, denn die Anzahl der Datenwort in der Fifo 10 bleibt gleich.

Fig. 4 zeigt weitere Einzelheiten der Abschlußzelle 32. Abhängig von dem gewählten Abschlußpunkt der Fifo 10 wird die Steuerzelle 28, wenn eine ungeraden Anzahl von Abschnitten eingebaut wurden, als Steuerzelle 22 konfiguriert sein oder, wenn eine gerade Anzahl von Abschnitten verwendet wurde, als Steuerzelle 25. Wenn die Steuerzelle 28 nun eine ungerade Zelle in einer seriellen Kette ist, dann wird die in Fig. 4A gezeigte Version verwendet. Innerhalb der Abschlußzelle 32 von Fig. 4A wird der Transistor 120 mit einer mit dem Stromversorgungsleiter 70 verbundenen Source und einem mit Knoten 100 verbundenen Drain dargestellt, während das Gate des Transistors 120 mit dem Leiter 48 verbunden ist. Wenn die Steuerzelle 28 eine gerade Zelle in der Kette ist, dann bildet die in Fig. 48 gezeigte alternative Ausführung den Abschluß bei ihrem Betrieb. Die Abschlußzelle 32 aus Fig. 48 enthält den Transistor 122, dessen Drain mit dem Knoten 118 verbunden ist und dessen Source mit dem Stromversorgungsleiter 58 verbunden ist. Das Gate des Transistors 122 reagiert auf das am Leiter 40 anliegende Steuersignal PS1. In der Situation, in der das Positionssteuersignal "...11111" (alle Bits sind logische Einsen) ist, liefert die Abschlußzelle 32 eine Anzeige zum Andern des am weitesten rechts liegenden Bits zurück zur logischen Null. Es werde zum Beispiel angenommen, daß die ungerade Steuerzelle 22 die letzte in der Kette ist und das Drain des Transistors 120 mit dem Knoten 100 verbunden ist. Es werde weiter angenommen, daß der Knoten 100 auflogisch Null und der Knoten 104 auflogisch Eins liegt. Während des Lesezyklusses wird das Steuersignal PS4 erniedrigt, um den Transistor 120 anzuschalten, wodurch eine logische Eins auf den Eingang des Inverters 102 wirkt und dementsprechend eine logische Null an seinem Ausgang liegt, um die Knoten 100 bzw. 104 aktiv anzusteuern. Ebenso wird der Transistor 122 verwendet, um die Knoten 114 und 118 aktiv anzusteuern, sollte ein Leseschritt erfolgen, wenn der Knoten 118 eine logische Eins und der Knoten 114 eine logische Null ist.

Ein Vorteil der Steuerzellen 16, 19, 22, 25-28 ist offensichtlich, wenn man die Entwicklung der Fifo 10 betrachtet Um ihr Fassungsvermögen zu vergrößern, muß man nur weitere Abschnitte mit Steuerzellen zum Beispiel zwischen den Steuerzellen 25 und 28 einsetzen und zugehörige Datenzellenpaare einsetzten, wodurch sich die Breite des digitalen Positionssteuersignals entsprechend erweitert. Die bereits existierenden Steuerzellen 16, 19, 22 und 25 werden nicht verändert, wodurch die vorliegende Erfindung somit eine verbesserte Veränderbarkeit der Auslegung schafft, ohne erforderliches begrenzendes Überarbeiten von existierenden Steuerschaltungen. Hinzukommt, daß der wahre Wert der Steuerzellen 16, 19, 22, 25-28 besser gewürdigt werden kann, wenn man ihre allgemeine Anwendung in anderen Schaltungen neben den Fifos betrachtet. Es gibt viele Anwendungen, bei denen eine erweiterbare, bewegliche Grenze ein wertvolles Steuerverfahren wäre, wie zum Beispiel bei einem programmierbaren Frequenzteiler mit einem PLL-Kreis.

In Fig. 5 werden das Datenzellenpaar 17 und 18 und das Datenzellenpaar 20 und 21 in weiteren Einzelheiten einschließlich des Master-Slave-Flipflops 130, des UND-Gatters 132 und 134 und des Master-Slave-Flipflops 136 für das erste Paar gezeigt, während das Maste-Slave-Flipflop 140, die UND-Gatter 142 und 144 und das Master-Slave-Flipflop 146 für das zweite Paar bereitgestellt werden. Die Flipflops 130 und 140 sind herkömmliche Master-Slave- Flipflops vom Typ D mit drei Eingängen, und die Flipflops 136 und 146 sind Master-Slave-Flipflops vom Typ D mit einem Eingang. Das am Eingangsbus 33 angelegte Datenwort mit M Bit wird zum Eingang IN1 von Flipflop 136 und zum Eingang 1N3 von Flipflop 130 durchgeschaltet. Mehrere Steuersignale werden am Eingang 34 angelegt einschließlich dem Steuersignal VERSCHIEBEBEFEHL 1, Steuersignal VERSCHIEBEBEFEHL 2, demsteuersignal VERRIEGELUNG, den Taktzeiten C1 und C2, dem Steuersignal CRST und dem Steuersignal CRDI. Es ist klar, daß diese Steuersignale außerhalb über Zustandstabellen gemeinsam mit den Zeittakten C1 und C2 erzeugt werden können. Das Steuersignal VERSCHIEBEBEFEHL 1 wird an den LD1 Eingängen der Flipflops 130 und 140 verstärkt, während das Steuersignal VERSCHIEBEBEFEHL 2 an den Eingängen LD1 der Flipflops 130 und 140 liegt und das Steuersignal VEPRIEGELUNG mit den Eingängen VERRIEGELUNG der Flipflops 130, 136, 140 und 146 verbunden ist. Das Steuersignal CPDI wird an die ersten Eingänge der UND-Gatter 132 und 142 angelegt, während das Steuersignal CRST an den ersten Eingängen der UND-Gatter 134 und 144 angelegt wird. Das erste MSB des Positionssteuersignals wird über den Inverter 148 an den -zweiten Eingang des UND-Gatters 132 angelegt und das zweite MSB des Positionssteuersignals wird über den Inverter 150 auf den zweiten Eingang des UND-Gatters 134 gegeben. Das zweite MSB des Positionssteuersignals wird ebenso über den Inverter 152 auf den zweiten Einfang des UND-Gatters 142 gelegt, während das dritte MSB des Positionssteuersignals über den Inverter 154 auf den zweiten Eingang des UND-Gatters 144 gelegt wird. Der Ausgang des UND- Gatters 132 ist mit dem Eingang LD3 des Flipflop 130 verbunden, und der Ausgang des UND-Gatters 134 ist mit dem Eingang LD2 desselben verbunden. Der Ausgang Q des Flipflops 136 und der Eingang 1N2 des Flipflops 130 sind gemeinsam mit dem Eingang IN1 des Flipflops 146 und mit dem Eingang 1N3 des Flipflops 140 verbunden, während das Datenwort vom Ausgang Q des Flipflops 140 an den Eingang IN1 des Flipflops 130 angelegt wird und das Datenwort, das am Q Ausgang des Flipflops 130 bereit gestellt wird, an den Ausgangsbus 36 angelegt wird. Der Ausgang des UND-Gatters 142 ist mit dem Eingang LD3 des Flipflops 140 verbunden, und der Ausgang des UND-Gatters 144 ist mit dem Eingang LD2 desselben verbunden. Der Ausgang Q des Flipflops 146 und der Eingang 1N2 des Flipflops 140 sind gemeinsam mit dem Eingang IN1 des Master-Slave-Flipflops 140 der Datenzelle 24 und mit dem Eingang IN3 des Master-Slave-Flipflops der Datenzelle - 23 verbunden, während das Datenwort vom Ausgang Q des Master-Slave- Flipflops der Datenzelle 23 am Eingang IN1 des Flipflops 140 anliegt. Die Flipflops 130 und 140 enthalten getrennte Steuerladeeingänge LD1, LD2 und LD3 zum Aufnehmen von Eingängen von drei verschiedenen Quellen IN1, IN2 bzw. IN3. Die Datenzellen 23, 24, 26, 27, 29 und 30 folgen einem ähnlichen Aufbau. Für die entsprechenden (nicht gezeigten) UND-Gatter der Datenzelle 23 wird das dritte MSB des Positionssteuersignals ebenso über einen Inverter an den zweiten Eingang von einem UND-Gatter (etwa Gatter-142) angelegt, und das vierte MSB des Positionssteuersignals wird ebenso über einen Inverter an den zweiten Eingang eines anderen UND- Gatters (etwa Gatter 144) angelegt. Die Bits des Positionssteuersignals, die niedriger sind als das erste MSB, werden somit an benachbarten Datenzellen angelegt.

Die Bewegung der Datenworte wurde weiter oben aus einer Makroperspektive heraus besprochen, und diese beinhaltete eine ausführliche Erklärung des Positionssteuersignals. Nun werden bei der Darstellung der Flipflops 130, 136, 140 und 146 diese beiden Ansätze verbunden Zunächst werde ein Schreibschritt angenommen, bei dem das Datenwort B an den Eingangsbus 33 zur Speicherung in der Fifo 10 angelegt wird, die bereits das Datenwort A in den Datenzelle 17 und 18 enthält. Das Positionssteuersignal ist daher "10000", und der ungerade Zustand ist wahr. Man erinnere von der vorherigen Besprechung, daß die Schreibschritte im ungeraden Zustand, die Schritte des Verschiebens von Datenworten 21 entlang der unteren Datenzellen in der Taktzeit C1 d.h. von Datenzelle 18 zu Datenzelle 21 beinhalten, während die erste mit den hereinkornmenden Datenwort geladen wird, gefolgt von dem Querkopieren zur nächsten oberen Datenzelle in der Taktzeit C2. Der Schreibzyklus im ungeraden Zustand beginnt, wenn das Steuersignal Verschiebungsbefehl 1 in der Taktzeit C1 auf Hoch übergeht, wodurch der Master- Abschnitt des Flipflops 136 mit dem Datenwort B geladen wird, nachdem es durch das Steuersignal VERRIEGELUNG vom Slave-Abschnitt in der Taktzeit C2 zum zugehörigen Ausgang Q weitergeleitet wurde. Ebenso ändert das Steuersignal CRDI in der Taktzeit C2 seinen Zustand und verbindet sich über das UND-Gatter 142 mit dem invertierten zweiten MSB des Positionssteuersignals "10000", um die logische Eins, die an dessen Ausgang abgegeben wird, an den Eingang LD3 des Flipflops 140 anzulegen, wodurch das Datenwort B in seinem Master-Abschnitt gespeichert wird. Der Eingang LD3 des Flipflops 130 ist nicht freigegeben, denn das erste MSB des Positionssteuersignals ist logisch Eins, und wird am Ausgang des Inverters 148 in eine logische Null und ebenso am Ausgang des UND-Gatters 132 übersetzt. Das intern gespeicherte Datenwort B wird durch die Slave-Abschnitte der Flipflops 136 und 140 weitergeleitet, wenn das Steuersignal VERRIEGELUNG hoch ist, was ebenso in den Taktzeiten C2 geschieht. Die Fifo 10 befindet sich nun in ihrem geraden Zustand mit dem Datenwort A im Flipflop 130 und dem Datenwort B in den Flipflops 136 und 140, wobei das Positionssteuersignal noch gleich "10000" ist, denn dies war ein Schreibzyklus im ungeraden Zustand.

Der nachfolgende Schreibschritt im geraden Zustand von Datenwort C enthält die Schritte, das Datenwort während der Taktzeit C1 quer weiterzugeben, gefolgt vom Laden des hereinkommenden Datenworts in die geräumte Datenzelle in der Taktzeit C2. Die Steuersignale VERSCHIEBEBEFEHL 1 und CRDI sind in der Taktzeit C1 aktiviert, wobei das Datenwort B in den Master-Abschnitt des Flipflops 146 zugleich mit der Bewegung des Datenworts C in den Master- Abschnitt des Flipflops 136 verschoben ist. Das Positionssteuersignal "10000" untersagt die Datenbewegung innerhalb des Flipflops 130, obwohl das invertierte zweite MSB sich wieder mit dem Steuersignal CRDI verbindet, um LD3 des Flipflops 140 zu aktivieren und das Weiterleiten des Datenworts B quer hinüber zu bewerkstelligen. Die intern gespeicherten Datenworte B und C werden durch den Slave- Abschnitt weitergeleitet, wenn das Steuersignal VERRIEGELUNG hoch ist, was in der Taktzeit C2 geschieht, wobei das Datenwort A im Flipflop 130, das Datenwort B in den Flipflops 140 und 146 und das Datenwort C im Flipflop 136 belassen wird. Der Zustand des Fifo 10 ist ungerade, und das Positionssteuersignal ist "11000" am Schluß des Schreibschritts im geraden Zustand, wodurch weitere Schreibschritte zu dem Flipflop 140 über den Eingang IN3 verhütet werden. Das Positionssteuersignal ändert sich in der Taktzeit C2, so daß das Datenwort B sich zum Flipflop 140 bewegen kann, bevor das Positionssteuersignal sich ändert.

Als nächstes soll ein Leseschritt im geraden Zustand betrachtet werden, der die Schritte enthält, das Datenwort in die Datenzelle 17 zu lesen, während in der Taktzeit C1 Datenworte zwischen den oberen Datenzellen verschoben werden, d.h. von der Datenzelle zur Datenzelle 17 gefolgt von einer Kopierung des am weitesten vom Eingangsbus 33 entfernten Datenworts in der unteren Zelle quer in die nächste obere Datenzelle in der Taktzeit C2. Der Lesezyklus im ungeraden Zustand beginnt, wenn das Steuersignal VERSCHIEBEBEFEHL 2 in der Taktzeit C1 auf Hoch geht, wobei das Datenwort A vom Ausgangsbus 36 gelesen wird, während der Eingang LD1 des Flipflops 130 angeregt wird, das Dätenwort B in seinen Master-Abschnitt zu verschieben. Das Positionssteuersignal wird in der Taktzeit C2 au "10000" geändert, während das Steuersignal CRDI seinen Zustand ändert und sich über das UND-Gatter 142 mit dem invertierten zweiten MSB von dem verbindet, um den Eingang LD3 des Flipflops 140 freizugeben, das Datenwort C in seinem Master- Abschnitt zu speichern. Die intern gespeicherten Datenworte B und C werden zu den Ausgängen Q weitergeleitet und mit dem Steuersignal VERRIEGELUNG verriegelt. Der Lesezyklus im geraden Zustand ist vergleichbar mit dem Lesezyklus im ungeraden Zustand, außer daß das Steuersignal CRDI nicht aktiviert ist und das Positionssteuersignal seinen Wert nicht ändert. Weiterhin ist der gleichzeitige Lese- und Schreibschritt eine Verbindung von einzelnen Lese- und Schreibzyklen. Das Steuersignal CRDI ist in der Taktzeit C2 für gleichzeitige Lese-Schreibschritte in geraden Zuständen aktiviert, während das Steuersignal CRST während der Taktzeit C2 für Lese- Schreibschritte in ungeraden Zuständen aktiviert ist. In der Taktzeit C1 sind die Steuersignale VERSCHIEBEBEFEHL 1 und VERSCHIEBEBEFEHL 2 beide freigegeben, und in der Taktzeit C2 kippt das Steuersignal VERRIEGELUNG stets.

Was beschrieben wurde, ist somit eine neuartige Fifo- Schaltung, die mehrere Datenzellen zum Speichern von Datenworten in derselben Reihenfolge, wie sie empfangen wurden, und mehrere Steuerzellen, um das Weiterleiten der Datenworte zwischen den Datenzelle zu ermöglichen, so daß das älteste Datenwort stets zum Lesen am Ausgangsbus anliegt, umfaßt. Außerdem ist die verbesserte Fifo-Schaltung durch das Hinzufügen von Datenzellen und zugehörigen Steuerzellen ohne Veränderungen bei den bereits existierenden Datenzellen oder Steuerzellen erweiterbar.


Anspruch[de]

1. Fifo- (First-In-First-Out) Schaltung zum Speichern von Daten, die mehrere seriell zwischen einem Eingangsbus (33) und einem Leitungsbus (37) verbundene erste Datenzellen (18, 21, 24, 27, 30) zum Speichern der Daten in ihnen und mehrere seriell zwischen dem Leitungsbus (37) und einem Ausgangsbus (36) verbundene und an den mehreren ersten Datenzellen ausgerichtete zweite Datenzellen (17, 20, 23, 26, 29), wobei jede der mehreren zweiten Datenzellen mit einer entsprechenden benachbarten der mehreren ersten Datenzelle zur Übertragung von Daten zwischen ihnen verbunden ist, und mehrere Steuerzellen (16, 19, 22, 25, 28) umfaßt, wobei die Fifo-Schaltung gekennzeichnet ist durch die mehreren Steuerzellen mit mehreren Ausgängen zum Ausgeben eines digitalen Positionssteuersignals, die jeweils mit den mehreren zweiten Datenzellen gekoppelt sind und zur Steuerung der Bewegung von Daten zwischen den mehreren ersten und zweiten Datenzellen zum Verschieben der ältesten Daten zum Ausgangsbus geschaltet sind, wobei das digitale Positionssteuersignal einen ersten Teil von variabler Länge von Bits entsprechend einem ersten logischen Zustand und einen zweiten Teil einer variablen Länge von Bits entsprechend einem zweiten logischen Zustand enthält und der erste und zweite Teil des digitalen Positionssteuersignals das gesamte digitale Positionssteuersignal bildet, das den belegten Teil der mehreren ersten und zweiten Datenzelle anzeigt.

2. Schaltung nach Anspruch 1, in der eine erste der mehreren Steuerzellen umfaßt:

einen ersten Transistor (62) mit einem Gate, einem Drain und einer Source, wobei das Gate auf ein erstes Steuersignal reagiert, das Drain mit einer ersten der mehreren zweiten Datenzelle gekoppelt ist, die Source mit einer zweiten, benachbarten der mehreren zweiten Datenzelle gekoppelt ist,

einen zweiten Transistor (64) mit einem Gate, einem Drain und einer Source, wobei der Drain mit dem Drain des ersten Transistor gekoppelt ist, die Source mit einer ersten Quelle der Betriebsspannung (70) gekoppelt ist,

einen dritten Transistor (66) mit einem Gate, einem Drain und einer Source, wobei das Gate mit dem Drain des zweiten Transistor gekoppelt ist, die Source mit der ersten Quelle der Betriebsspannung gekoppelt ist, der Drain mit dem Gate des zweiten Transistors gekoppelt ist,

einen vierten Transistor (68) mit einem Gate, einem Drain und einer Source, wobei- das Gate auf ein zweites Steuersignal reagiert, der Drain mit dem Gate des zweiten Transistors verbunden ist, und

einen ersten Inverter (74) mit einem an das Drain des vierten Transistor gekoppelten Eingang und mit einem an die Source des ersten Transistors gekoppelten Ausgang.

3. Schaltung nach Anspruch 2, in der eine zweite der mehreren Steuerzellen umfaßt:

einen fünften Transistor (78) mit einem Gate, einem Drain und einer Source, wobei das Gate von einem dritten Steuersignal abhängt, die Source mit dem Ausgang des ersten Inverters gekoppelt ist, der Drain mit einer dritten der mehreren zweiten Datenzellen verbunden ist,

ein sechster Transistor (80) mit einem Gate, einem Drain und einer Source, wobei das Gate mit dem Drain des fünften Transistors gekoppelt ist, die Source mit einem vierten Steuersignal gekoppelt ist, der Drain mit dem Eingang des ersten Inverters gekoppelt ist,

ein siebter Transistor (82) mit einem Gate, einem Drain und einer Source, wobei das Gate mit dem Drain des sechsten Transistors gekoppelt ist, die Source mit einer zweiten Quelle der Betriebsspannung (58) gekoppelt ist, die mit dem Gate des sechsten Transistors gekoppelt ist,

ein achter Transistor (84) mit einem Gate, einem Drain und einer Source, wobei das Gate auf ein fünftes Steuersignal reagiert, der Drain mit dem Eingang des ersten Inverters gekoppelt ist, und ein zweiter Inverter (88) mit einem an das Drain des fünften Transistors gekoppelten Eingang und mit einem an die Source des achten Transistors gekoppelten Ausgang.

4. Schaltung nach Anspruch 3, in der die mehreren Steuerzellen außerdem eine mit einem Ende der mehreren Steuerzellen gekoppelte Initialisierungszelle (31) umfassen, wobei die Initialisierungszelle enthält:

einen dritten Inverter (50) mit einem Eingang, der auf das vierte Steuersignal reagiert, und mit einem Ausgang,

einen neunten Transistor (52) mit einem Gate, einem Drain und einer Source, wobei das Gate auf das dritte Steuersignal reagiert, die Source mit dem Ausgang des dritten Inverters gekoppelt ist, der Drain mit dem Drain des erste Transistors gekoppelt ist,

einen zehnten Transistor (54) mit einem Gate, einem Drain und einer Source, wobei das Gate zum Empfangen des vierte Steuersignals gekoppelt ist, der Drain mit dem Drain des neunten Transistors gekoppelt ist, die Source mit der zweiten Quelle des Betriebsspannung gekoppelt ist, und

einen vierten Inverter (56) mit einem mit dem Drain des neunten Transistors gekoppelten Eingang und mit einem an die Source des vierten Transistors gekoppelten Ausgang.

5. Schaltung nach Anspruch 4, in der die erste der mehreren zweiten Datenzellen umfaßt:

ein erstes Flipflop (130) mit einem ersten, zweiten und dritten Eingang und einem ersten, zweiten und dritten Ladesteuereingang und mit einem Ausgang, wobei der dritte Eingang mit dem Eingangsbus gekoppelt ist, der erste Eingang mit dem Ausgang der zweiten der mehreren zweiten Datenzellen gekoppelt ist, der erste Ladesteuereingang auf ein sechstes Steuersignal reagiert, der Ausgang mit dem Ausgangsbus gekoppelt ist,

ein erstes Logikgatter (132) mit einem ersten und zweiten Eingang und mit einem Ausgang, wobei der erste Eingang zum Empfangen eines siebten Steuersignals gekoppelt ist, der Ausgang mit dem dritten Ladesteuereingang des ersten Flipflops gekoppelt ist,

ein fünfter Inverter (148) mit einem an das Drain des ersten Transistors gekoppelten Drain und mit einem an den zweiten Eingang des ersten Logikgatters gekoppelten Ausgang,

ein zweites Logikgatter (134) mit einem erstem und einem zweiten Eingang und mit einem Ausgang, wobei der erste Eingang zum Empfangen eines achten Steuersignals gekoppelt ist, der Ausgang mit dem zweiten Ladesteuereingang des ersten Flipflops gekoppelt ist, und

ein sechster Inverter (150) mit einem mit der Source des ersten Transistors gekoppelten Eingang und mit einem mit dem zweiten Eingang des zweiten Logikgatters gekoppelten Ausgang.

6. Schaltung nach Anspruch 5, in der eine erste der mehreren ersten Datenzellen ein zweites Flipflop (136) mit einem Eingang, einem Ladesteuereingang und einem Ausgang umfaßt, wobei der Eingang mit dem Eingangsbus gekoppelt ist, der Ausgang mit dem zweiten Eingang des ersten Flipflops gekoppelt ist, der Ladesteuereingang zum Empfangen eines neunten Steuersignals gekoppelt ist.







IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

  Patente PDF

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com