DE10332449A1 - FIFO-Schieberegister zum seriellen Beschreiben und Auslesen von Daten - Google Patents

FIFO-Schieberegister zum seriellen Beschreiben und Auslesen von Daten Download PDF

Info

Publication number
DE10332449A1
DE10332449A1 DE2003132449 DE10332449A DE10332449A1 DE 10332449 A1 DE10332449 A1 DE 10332449A1 DE 2003132449 DE2003132449 DE 2003132449 DE 10332449 A DE10332449 A DE 10332449A DE 10332449 A1 DE10332449 A1 DE 10332449A1
Authority
DE
Germany
Prior art keywords
register
input
elements
date
data
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
DE2003132449
Other languages
English (en)
Inventor
Michael Hausmann
Helmut Kandolf
Sven Kalms
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE2003132449 priority Critical patent/DE10332449A1/de
Publication of DE10332449A1 publication Critical patent/DE10332449A1/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/08Methods 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, the intermediate ones not being accessible for either enqueue or dequeue operations, e.g. using a shift register

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Shift Register Type Memory (AREA)

Abstract

Die Erfindung betrifft ein FIFO-Schieberegister zum seriellen Beschreiben mit Daten und zum seriellen Auslesen der Daten, wobei die hineingeschriebenen Daten in der gleichen Reihenfolge auslesbar sind, wobei jedem der Registerelemente ein entsprechendes Speicherelement eines Maskierungsspeichers zum jeweiligen Speichern eines Gültigkeitsdatums mit einer ersten Gültigkeitsinformation oder einer zweiten Gültigkeitsinformation zugeordnet ist, wobei die Registerelemente sowie die Speicherelemente so miteinander verschaltet sind, um bei einem Auslesezugriff das gespeicherte Datum aus einem bestimmten der Registerelemente in das dazu nachgeschaltete Registerelement zu speichern und das in dem dem bestimmten Registerelement zugeordneten Speicherelement gespeicherte Gültigkeitsdatum in dem dazu nachgeschalteten Speicherelement zu speichern, wobei die Registerelemente und die Speicherelemente so miteinander verschaltet sind, um bei einem Schreibzugriff ein bestimmtes der Registerelemente mit einem bereitgestellten Schreibdatum und das zugeordnete Speicherelement mit der ersten Gültigkeitsinformation zu beschreiben, wobei das bestimmte Registerelement dadurch bestimmt ist, dass dessen zugeordnetes Speicherelement die zweite Gültigkeitsinformation aufweist und dass das dem bestimmten Registerelement nachgeordnete Registerelement zugeordnete Speicherelement die erste Gültigkeitsinformation aufweist, oder dadurch bestimmt ist, dass dessen zugeordnetes Speicherelement die zweite ...

Description

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

Claims (6)

  1. FIFO-Schieberegister zum seriellen Beschreiben mit Daten und zum seriellen Auslesen der Daten, wobei die hineingeschriebenen Daten in der gleichen Reihenfolge auslesbar sind, wobei jedem der Registerelemente (2) ein entsprechendes Speicherelement (3) eines Maskierungsspeichers (4) zum jeweiligen Speichern eines Gültigkeitsdatum mit einer ersten Gültigkeitsinformation oder einer zweiten Gültigkeitsinformation zugeordnet ist, wobei die erste Gültigkeitsinformation angibt, dass in dem zugeordneten Registerelement (2) ein gültiges Datum gespeichert ist, und die zweite Gültigkeitsinformation angibt, dass in dem zugeordneten Registerelement (2) kein gültiges Datum gespeichert ist, wobei die Registerelemente (2) sowie die Speicherelemente (3) so miteinander verschaltet sind, um bei einem Auslesezugriff das gespeicherte Datum aus einem bestimmten der Registerelemente (2) in das dazu nachgeschaltete Registerelement (2) zu speichern und das in dem dem bestimmten Registerelement zugeordneten Speicherelement (3) gespeicherte Gültigkeitsdatum in dem dazu nachgeschalteten Speicherelement (3) zu speichern, wobei die Registerelemente (2) und die Speicherelemente (3) so miteinander verschaltet sind, um bei einem Schreibzugriff ein bestimmtes der Registerelemente (2) mit einem bereitgestellten Schreibdatum und das zugeordnete Speicherelement mit der ersten Gültigkeitsinformation zu beschreiben, wobei das bestimmte Registerelement (2) dadurch bestimmt ist, dass dessen zugeordnetes Speicherelement (3) die zweite Gültigkeitsinformation aufweist und dass das dem bestimmten Registerelement (2) nachgeordnete Registerelement (2) zugeordnete Speicherelement (3) die erste Gültigkeitsinformation aufweist, oder dadurch bestimmt ist, dass dessen zugeordnetes Speicherelement (3) die zweite Gültig keitsinformation aufweist und dass kein dem bestimmten Registerelement (2) nachgeordnetes Registerelement (2) existiert.
  2. FIFO-Schieberegister nach Anspruch 1, wobei ein Datenausgang des FIFO-Schreibregisters durch den Ausgang des Registerelementes (2) gebildet ist, zu dem kein nachgeordnetes Registerelement (2) existiert.
  3. FIFO-Schieberegister nach Anspruch 1 oder 2, wobei die Speicherelemente (3) und die Registerelemente (2) als D-Flipflops gestaltet sind, wobei jedes der D-Flipflops einen ersten Eingang (D1), einen dem ersten Eingang zugeordneten ersten Takteingang (C1), um ein an dem ersten Eingang (D1) anliegendes Datum gemäß einem an dem ersten Takteingang (C1) anliegendes ersten Taktsignal (RCLK) in das D-Flipflop zu übernehmen, einen zweiten Eingang (D2), einen dem zweiten Eingang (D2) zugeordneten zweiten Takteingang (C2) und einen dem zweiten Eingang (D2) zugeordneten Freischalteingang (C2EN), um ein an dem zweiten Eingang (D2) anliegendes Datum gemäß einem an dem zweiten Takteingang (C2) anliegenden zweiten Taktsignal (WCLK) und gemäß einem an dem Freischalteingang anliegenden Freischaltsignal in das D-Flipflop zu übernehmen, und einen Ausgang aufweist, um das in dem D-Flipflop gespeicherte Datum auf einer Ausgangsleitung bereitzustellen.
  4. FIFO-Schieberegister nach Anspruch 3, wobei der Ausgang eines der Registerelemente (2) mit dem ersten Eingang (D1) des dazu nachgeschalteten Registerelementes (2) verbunden ist, wobei der Ausgang (Q) eines der Speicherelemente (2) mit dem ersten Eingang (D1) des dazu nachgeschalteten Speicherelementes (2) und mit dem zweiten Eingang (D2) des dazu vorgeschalteten Speicherelementes (2) verbunden ist, und wobei der zweite Ein gang (D2) der Registerelemente (2) mit einer Datenleitung zum Bereitstellen von Schreibdaten verbunden ist.
  5. FIFO-Schieberegister nach Anspruch 4, wobei ein invertierender Ausgang eines der Speicherelemente (2) mit einem ersten Eingang eines Nicht-Oder-Gatters (5) verbunden ist und wobei der Ausgang (Q) des dazu vorgeschalteten Speicherelementes (2) mit einem zweiten Eingang des Nicht-Oder-Gatters (5) verbunden ist, wobei ein Ausgang des Nicht-Oder-Gatters (5) mit dem Freischalteingang des dem vorgeschalteten Speicherelementes (3) zugeordneten Registerelementes (2) verbunden ist.
  6. FIFO-Schieberegister nach Anspruch 3 bis 5, wobei das erste Taktsignal (RCLK) zum Einlesen des auf der Datenleitung angelegten Datum und das zweite Taktsignal (WCLK) zum Ausgeben der gespeicherten Daten vorgesehen ist.
DE2003132449 2003-07-17 2003-07-17 FIFO-Schieberegister zum seriellen Beschreiben und Auslesen von Daten Withdrawn DE10332449A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2003132449 DE10332449A1 (de) 2003-07-17 2003-07-17 FIFO-Schieberegister zum seriellen Beschreiben und Auslesen von Daten

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2003132449 DE10332449A1 (de) 2003-07-17 2003-07-17 FIFO-Schieberegister zum seriellen Beschreiben und Auslesen von Daten

Publications (1)

Publication Number Publication Date
DE10332449A1 true DE10332449A1 (de) 2004-12-09

Family

ID=33441769

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2003132449 Withdrawn DE10332449A1 (de) 2003-07-17 2003-07-17 FIFO-Schieberegister zum seriellen Beschreiben und Auslesen von Daten

Country Status (1)

Country Link
DE (1) DE10332449A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3789928T2 (de) * 1986-09-16 1995-01-12 Hewlett Packard Co "Fifo"-Schieberegister mit direkter Dateneingabe.

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3789928T2 (de) * 1986-09-16 1995-01-12 Hewlett Packard Co "Fifo"-Schieberegister mit direkter Dateneingabe.

Similar Documents

Publication Publication Date Title
DE2803989C2 (de) Digitaldatenspeicher mit wahlfreiem Zugriff
DE102004021694A1 (de) Verfahren und Schaltungsanordnung zum Steuern eines Schreibzugriffs auf einen Halbleiterspeicher
DE2853239A1 (de) Datenpufferspeicher vom typ first-in, first-out mit variablem eingang und festem ausgang
DE4007223A1 (de) Schaltkreis zum speichern und uebertragen eines logischen signales
DE2853240C2 (de)
DE19924254C2 (de) Synchronisierschaltung zum Empfangen eines asynchronen Eingangssignals
DE60221230T2 (de) Hochgeschwindigkeits-Signalausbreitungsschaltung und -Verfahren
DE19581885C2 (de) Verschachtelungs- und sequentieller Zähler
EP0769853B1 (de) Logischer Block für einen Viterbi-Decoder
DE10332449A1 (de) FIFO-Schieberegister zum seriellen Beschreiben und Auslesen von Daten
EP1721407A1 (de) Schnittstellenvorrichtung und verfahren zur synchronisation von daten
DE2924526C2 (de)
DE4132152C2 (de) Serieller Auswahlschaltkreis und Betriebsverfahren hierfür
DE112020002008T5 (de) Schaltung zur erzeugung eines synchronen rücksetzsignals und digitale verarbeitungsvorrichtung
DE2530034A1 (de) Zaehler zum zaehlen von taktsignalen
DE2527236C3 (de) Anordnung zum Einsetzen von Daten in ein Register
EP0080970B1 (de) Auf nichtganze Teilungszahlen einstellbarer Frequenzteiler
DE2702586C3 (de) Schaltungsanordnung zum Steuern des Speicherzugriffs bei einem Rechner
DE19536486C2 (de) Bewerter- und Verstärkerschaltung
EP0356873B1 (de) Serielle Datenschnittstelle
DE4403334C2 (de) Einrichtung zum Verhindern von Rauschübertragung eines digitalen Signals
DE2844352A1 (de) Speicher mit serienweisem zugriff
DE102006054161B4 (de) Eingebettete Testschaltung, Testsystem und Verfahren zum Testen eines Dual-Port-Speichers
DE2936801A1 (de) Steuereinrichtung zur ausfuehrung von instruktionen
EP0193157A1 (de) Schaltungsanordnung mit einer matrixförmigen Speicheranordnung zur variabel einstellbaren Verzögerung digitaler Signale

Legal Events

Date Code Title Description
OAV Applicant agreed to the publication of the unexamined application as to paragraph 31 lit. 2 z1
OP8 Request for examination as to paragraph 44 patent law
8130 Withdrawal