DE3718469A1 - Synchronous FIFO register - Google Patents

Synchronous FIFO register

Info

Publication number
DE3718469A1
DE3718469A1 DE19873718469 DE3718469A DE3718469A1 DE 3718469 A1 DE3718469 A1 DE 3718469A1 DE 19873718469 DE19873718469 DE 19873718469 DE 3718469 A DE3718469 A DE 3718469A DE 3718469 A1 DE3718469 A1 DE 3718469A1
Authority
DE
Germany
Prior art keywords
signal
write command
flip
fifo register
control
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.)
Granted
Application number
DE19873718469
Other languages
German (de)
Other versions
DE3718469C2 (en
Inventor
Mathias Hofmann
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.)
Siemens Schweiz AG
Original Assignee
Siemens Albis 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 Siemens Albis AG filed Critical Siemens Albis AG
Publication of DE3718469A1 publication Critical patent/DE3718469A1/en
Application granted granted Critical
Publication of DE3718469C2 publication Critical patent/DE3718469C2/de
Granted 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)
  • Communication Control (AREA)
  • Shift Register Type Memory (AREA)

Abstract

The synchronous FIFO register has a three-column flip-flop matrix, which serves for the serial shifting of data bits (u, v, w) arriving in parallel. There is provided a control circuit with three control stages (C1, C2, C3), which each control one flip-flop column of the matrix and of which the central control stage (C2) receives on the input side a filling status signal F1 and a write command signal S1, which are generated by the first control stage (C1), and supplies on the output side its own filling status signal F2 and its own write command signal S2 to the third control stage (C3), the central control stage being fed an additional write command signal S3 from the third control stage (C3). In order to make the central matrix column of this FIFO register transparent in a simple way, the central control stage (C2) is configured in such a way that the following relationships apply to the said signals S2 = (F1 + S1) . XF2 c = S2 . XTk' F2(T>Tk') = (S2 + F2(T<Tk')) . XS3 where c is the control signal for the flip-flop column, T is a time, X is a negation prefix and Tk' is a point in time coinciding with an active edge of the clock pulse (Tk). <IMAGE>

Description

Die vorliegende Erfindung betrifft ein synchrones FIFO-Register nach dem Oberbegriff des Patentanspruches 1.The present invention relates to a synchronous FIFO register according to the preamble of claim 1.

Ein FIFO-Register (First in - first out) ist bekanntlich ein digitaler Speicher mit einem Ausgang, an welchem die Datenworte in der Reihenfolge erscheinen, in der sie am Eingang geschrieben wurden, wobei ein Datenwort solange am Ausgang erhalten bleibt, bis an einem Lese-Eingang ein Lese-Signal eintrifft, welches bewirkt, daß das nächste Datenwort an den Ausgang verlegt wird. Derartige FIFO-Register, die aus einer Steuerschaltung und einer Flipflop-Matrix mit längs paralleler Zeilen bzw. Spalten angeordneten D-Flipflops bestehen, erweisen sich als nachteilig im Hinblick auf ihre relativ aufwendige Realisierung.A FIFO register (first in - first out) is known to be a digital memory with a Output at which the data words appear in the order in which they appear on the Input was written, whereby a data word was received at the output remains until a read signal arrives at a read input, which causes the next data word is routed to the output. Such FIFO registers that come from a control circuit and a flip-flop matrix with parallel rows or columns arranged D flip-flops exist, prove to be disadvantageous in terms of their relatively complex implementation.

Der Erfindung liegt daher die Aufgabe zugrunde, ein FIFO-Register zu schaffen, das sich mit relativ geringem schaltungstechnischem Aufwand realisieren läßt.The invention is therefore based on the object of creating a FIFO register which can be implemented with relatively little outlay on circuitry.

Diese Aufgabe wird durch die im kennzeichnenden Teil des Patentanspruches 1 angegebenen Maßnahmen gelöst. Eine solche Ausgestaltung eines FIFO-Registers bringt den Vorteil einer sehr einfachen Simulierbarkeit mit sich und ermöglicht in besonders aufwandsparender Weise dessen Realisierung unter monolithischer Integrierung. Weitere Ausgestaltungen der Erfindung sind in den abhängigen Ansprüchen angegeben.This object is achieved by those specified in the characterizing part of patent claim 1 Measures solved. Such a configuration of a FIFO register brings the advantage of a very simple simulatability and enables in particular cost-effective way of implementing it with monolithic integration. Further refinements of the invention are specified in the dependent claims.

Die Erfindung wird nachfolgend anhand einer Zeichnung beispielsweise näher erläutert. Es zeigt:The invention is explained in more detail below with reference to a drawing, for example. It shows:

Fig. 1 das Blockschaltbild eines FIFO-Registers nach der Erfindung, Fig. 1 is a block diagram of a FIFO register of the invention;

Fig. 2 das Schaltbild einer Steuerstufe und einer Flipflopspalte für ein solches FIFO-Register, Fig. 2 is a circuit diagram of a control stage and a Flipflopspalte of such a FIFO-register,

Fig. 3 ein Zeitdiagramm verschiedener Signale in einem solchen FIFO-Register, Fig. 3 is a timing diagram of various signals in such a FIFO-register,

Fig. 4 eine Tabelle zur Veranschaulichung der sogenannten Transparenz eines solchen FIFO-Registers. Fig. 4 is a table to illustrate the so-called transparency of such a FIFO register.

Das FIFO-Register nach Fig. 1 weist eine Flipflop-Matrix auf, die aus drei Reihenschaltungen mit je drei Speicherzellen U 1, U 2, U 3, V 1, V 2, V 3 und W 1, W 2, W 3 besteht. Einse solche Speicherzelle (Data Latch) ist im Prinzip ein statisch getaktetes D-Flipflop, wie es im Buch "Halbleiter-Schaltungstechnik" von U. Tietze und Ch. Schenk, Springer Verlag 1978, Seite 164 dargestellt ist. Die mittleren Speicherzellen U 2, V 2 und W 2 werden gemeinsam mit einem Steuersignal c beaufschlagt, das von einer zwischen zwei Steuerstufen C 1 und C 3 eingefügten weiteren Steuerstufe C 2 geliefert wird, wobei die Steuerstufe C 1 gemeinsam die Speicherzellen U 1, V 1, W 1 und die Steuerstufe C 3 gemeinsam die Speicherzellen U 3, V 3, W 3 steuert.The FIFO register according to FIG. 1 has a flip-flop matrix which consists of three series circuits, each with three memory cells U 1 , U 2 , U 3 , V 1 , V 2 , V 3 and W 1 , W 2 , W 3 . In principle, such a memory cell (data latch) is a statically clocked D flip-flop, as shown in the book "Semiconductor Circuit Technology" by U. Tietze and Ch. Schenk, Springer Verlag 1978, page 164. The middle memory cells U 2 , V 2 and W 2 are acted upon together with a control signal c , which is supplied by a further control stage C 2 inserted between two control stages C 1 and C 3 , the control stage C 1 together storing the memory cells U 1 , V 1 , W 1 and the control stage C 3 jointly controls the memory cells U 3 , V 3 , W 3 .

Jede Steuerstufe C 1, C 2, C 3 weist einen Eingang für je ein Schreibbefehlsignal (Strobe) S, S 1 bzw. S 2 auf, das ausgangsseitig jeweils in das Schreibsignal S 1, S 2 bzw. S 3 für die nächste Stufe, wenn vorhanden, umgewandelt wird. Zudem weist jede Steuerstufe C 1, C 2, C 3 einen weiteren Eingang für je ein Füllzustandssignal F, F 1, F 2 auf, das jeweils in das Füllzustandssignal F 1, F 2 bzw. F 3 für die nächste Stufe, wenn vorhanden, umgewandelt wird. Die drei Steuerstufen, die gemeinsam mit einem Takt Tk beaufschlagt werden, weisen zudem je einen weiteren Eingang für ein rückgekoppeltes Schreibbefehlsignal auf; die erste Steuerstufe C 1 wird mit dem Signal S 2, die zweite mit dem Signal S 3 und die dritte mit einem Lesebefehlsignal r beaufschlagt.Each control stage C 1 , C 2 , C 3 has an input for a write command signal (strobe) S , S 1 or S 2 , which on the output side is in the write signal S 1 , S 2 or S 3 for the next stage, if available, is converted. In addition, each control stage C 1 , C 2 , C 3 has a further input for a fill state signal F , F 1 , F 2 , which is in each case in the fill state signal F 1 , F 2 or F 3 for the next stage, if present, is converted. The three control stages, which are supplied with a clock Tk , each have an additional input for a feedback write command signal; the first control stage C 1 is supplied with the signal S 2 , the second with the signal S 3 and the third with a read command signal r .

Die Steuerstufe C 2 nach Fig. 2 weist ein flankengetriggertes, mit dem Taktsignal Tk beaufschlagtes D-Flipflop KS auf, dessen D-Eingang ein neues Füllzustandssignal g 2 zugeführt wird, das von einem UND-Tor U 1 geliefert wird, welches das über einen Inverter N 1 geführte Signal S 3 und das Ausgangssignal eines ODER-Gatters G 1 zusammenfaßt. Der eine Eingang dieses ODER-Gatters G 1 ist mit dem das Signal F 2 liefernden Q-Ausgang des D-Flipflops KS und der andere Eingang mit dem das Signal S 2 liefernden Ausgang eines weiteren UND-Tores U 2 verbunden, welches das invertierte Signal F 2 mit dem Ausgangssignal eines ODER-Gatters G 2 verknüpft, der die Signale F 1 und S 1 zusammenfaßt. Zudem ist noch ein weiteres UND-Tor U 3 vorhanden, welches das Signal S 2 mit dem über einen Inverter N 2 geführten Taktsignal Tk verknüpft und das Steuersignal c liefert, wobei anstelle des invertierten Signals Tk auch ein in Fig. 2 nicht dargestelltes Signal eingesetzt werden kann, das dieselbe Periodizität wie das Signal Tk besitzt und einen korrekten Zeitablauf gewährleistet.The control stage C 2 of FIG. 2 has an edge-triggered D flip-flop KS to which the clock signal Tk is applied, the D input of which is supplied with a new fill state signal g 2 , which is supplied by an AND gate U 1 , which does this via a Inverter N 1 led signal S 3 and the output signal of an OR gate G 1 summarizes. One input of this OR gate G 1 is connected to the Q output of the D flip-flop KS which supplies the signal F 2 and the other input is connected to the output of a further AND gate U 2 which supplies the signal S 2 and which supplies the inverted signal F 2 is linked to the output signal of an OR gate G 2 , which combines the signals F 1 and S 1 . In addition, there is a further AND gate U 3 which links the signal S 2 to the clock signal Tk conducted via an inverter N 2 and supplies the control signal c , a signal not shown in FIG. 2 being used instead of the inverted signal Tk which has the same periodicity as the signal Tk and ensures a correct timing.

In Fig. 3 sind der Takt Tk, die Signale S 1, S 2, S 3, das Steuersignal c, das Neufüllzustandssignal g 2, die Datensignale u, u 2, u′, u′ 2 und die Füllzustandssignale F 1, F 2 dargestellt. Der Takt Tk ist ein rechteckförmiges Signal, von dem zwei ansteigende Flanken in den Zeitpunkten P 1 und P 3 und eine abfallende Flanke im Zeitpunkt P 2 dargestellt sind. Die Zeit zwischen den Punkten P 1 und P 2 ist zur Vorbereitung der Schreibbefehlsignale (Strobes) und die Zeit zwischen den Punkten P 2 und P 3 für die Weitergabe der Daten vorgesehen, woraus sich ein Zyklus, bestehend aus einer Steuerphase und einer Schreibphase ergibt. Die Signale S 1, S 2, S 3 und g 2 sind während der Steuerphase und die Signale c, u 2, u′ 2 und u′ während der Schreibphase aktiv. Die Signale F 1 und F 2 aktualisieren sich mit der Flanke P 3. Der maximal mögliche Takt ist abhängig einerseits von der Zeit, die die Signale F, F 1, F 2, F 3 brauchen, um die ganze Schaltung zu durchlaufen und andererseits von der Zeit, die die Daten brauchen, um von u nach u′ zu gelangen. Die entsprechenden maximalen Verzögerungszeiten bestimmen die größtmögliche Taktfrequenz. Der Takt kann hingegen beliebig langsam sein.In Fig. 3 are the clock Tk , the signals S 1 , S 2 , S 3 , the control signal c , the refill state signal g 2 , the data signals u , u 2 , u ' , u' 2 and the fill state signals F 1 , F 2 shown. The clock Tk is a rectangular signal, of which two rising edges at times P 1 and P 3 and a falling edge at time P 2 are shown. The time between the points P 1 and P 2 is provided for the preparation of the write command signals (strobes) and the time between the points P 2 and P 3 for the transfer of the data, which results in a cycle consisting of a control phase and a write phase. The signals S 1 , S 2 , S 3 and g 2 are active during the control phase and the signals c , u 2 , u ' 2 and u' during the write phase. The signals F 1 and F 2 update with the edge P 3 . The maximum possible clock depends on the one hand on the time that the signals F , F 1 , F 2 , F 3 need to go through the entire circuit and on the other hand on the time that the data need to go from u to u ' reach. The corresponding maximum delay times determine the greatest possible clock frequency. The clock, however, can be slow.

Das FIFO-Register nach Fig. 1 funktioniert folgendermaßen:The FIFO register according to FIG. 1 works as follows:

Die Steuerstufen C 1, C 2, C 3 veranlassen eine schrittweise nacheinanderfolgende Übertragung von einem Datenbit u = 1 oder u = 0 über die drei Speicherzellen U 1, U 2, U 3, und zwar jeweils während der Zeit, in der die Steuersignale b, c bzw. d den Wert "1" aufweisen. Entsprechendes geschieht immer gleichzeitig mit den Zellen V 1, V 2, V 3 und W 1, W 2, W 3. Dabei wird das Einschreiben der Daten u, v, w in die Stufe 1 mit Hilfe des Signals S und das Auslesen der Daten u′, v′, w′ von der Stufe 3 mit Hilfe des Signals r derart extrem gesteuert, daß beide Operationen weitgehend unabhängig voneinander erfolgen können. Für die Steuersignale b, c, d sind alle 8 möglichen Werte von 000 bis 111 erlaubt, wodurch 8 Transfermöglichkeiten entstehen. Die Kombination 000 für die Signale b, c, d ergibt keinen Datentransfer. Die nacheinander angelegten Kombinationen 000, 100, 010, 001, erlauben eine Übertragung des Eingangsbits in einer minimalen Zeit von drei Zyklen. Bei der Aufeinanderfolge der Kombinationen 000, 110, 001 oder 000, 100, 011 wird das Eingangsbit in einer minimalen Zeit von zwei Zyklen übertragen. Der Sprung von den Zuständen 000 zu den Zuständen 111 macht das FIFO-Register transparent, indem das Eingangsbit in einem einzigen Zyklus zum Ausgang gelangt.The control stages C 1 , C 2 , C 3 cause a successive successive transmission of a data bit u = 1 or u = 0 via the three memory cells U 1 , U 2 , U 3 , in each case during the time in which the control signals b , c and d have the value "1". The same always happens simultaneously with the cells V 1 , V 2 , V 3 and W 1 , W 2 , W 3 . The writing of the data u, v, w in stage 1 with the help of the signal S and the reading of the data u ', v', w ' from the stage 3 with the help of the signal r is extremely controlled so that both operations largely can be done independently. All 8 possible values from 000 to 111 are permitted for the control signals b, c, d , which results in 8 transfer options. The combination 000 for the signals b, c, d results in no data transfer. The successive combinations 000, 100, 010, 001 allow the input bit to be transmitted in a minimum time of three cycles. With the sequence of combinations 000, 110, 001 or 000, 100, 011, the input bit is transmitted in a minimum time of two cycles. The jump from states 000 to states 111 makes the FIFO register transparent in that the input bit reaches the output in a single cycle.

In der Steuerphase eines einzelnen Zyklus wird jeweils die Verschiebung bestimmt, das heißt, es wird entschieden, ob eine Verschiebung (z. B. c = 1) stattfindet oder nicht (c = 0). Am Ende der Schreibphase wird der Füllzustand der Stufe C 2 bestimmt, das heißt, es wird registriert, ob die Speicherzelle der Stufe C 2 beschrieben, gelesen oder beschrieben und gelesen wurde, denn die Speicherzelle muß ein einziges Mal gelesen werden, um keinen Bitverlust oder keine Bitduplizierung zu haben. Die Bestimmung, ob der Füllzustand relevant ist oder nicht, ist wichtig, weil die Speicherzellen ihre Information behalten, auch nachdem sie gelesen wurden.In the control phase of a single cycle, the shift is determined in each case, that is, it is decided whether a shift (e.g. c = 1) takes place or not ( c = 0). At the end of the write phase, the fill level of level C 2 is determined, that is, it is registered whether the memory cell of level C 2 has been written, read or written and read, because the memory cell must be read once in order to avoid bit loss or to have no bit duplication. Determining whether the fill level is relevant or not is important because the memory cells retain their information even after they have been read.

In Fig. 1 sind nur die drei letzten Steuerstufen eines FIFO-Registers dargestellt. Sollte jedoch beispielsweise die Stufe C 1 die erste sein, so müßte der Eingang für das Signal F oder S geerdet werden; denn es genügt eines der beiden Signale S oder F, um zu bewirken, daß die Daten eingeschrieben werden.In Fig. 1 only the last three control stages of a FIFO register are shown. If, for example, stage C 1 is the first, the input for signal F or S would have to be grounded; because one of the two signals S or F is sufficient to cause the data to be written.

Die Schaltung nach Fig. 2 funktioniert folgendermaßen:The circuit according to FIG. 2 works as follows:

Die Steuerstufe C 2 muß zwei Signale erzeugen, das Signal g 2, das den neuen relevanten Füllzustand angibt, und das Schreibbefehlsignal S 2 (Strobe), welches der Stufe C 3 anzeigt, daß die Stufe C 2 beschrieben wird. Das Signal F 2 bezieht sich auf den aktuellen Füllzustand und besagt, ob dieser relevant (F 2 = 1) oder nicht relevant (F 2 = 0) ist. Der neue Zustand des Signals g 2 wird vom Signal S 3 über das UND-Tor U 1 übernommen und mit der steigenden Flanke P 3 als Signal F 2 vom Flipflop KS abgegeben. Das Signal g 2 wird durch die Bedingung g 2 = XS 3 · (F 2 + (-XF 2 · (F 1 + S 1))) bestimmt, worin das Präfix X ein Negationssymbol und F 1 und S 1 der Füllzustand bzw. der Schreibbefehlzustand der vorhergehenden Stufe sind. Das Signal F 2 kann z. B. "0" oder "1" sein. Somit gelten für die Signale S 3, c und F 3 die Beziehungen:The control stage C 2 must generate two signals, the signal g 2 , which indicates the new relevant fill state, and the write command signal S 2 (strobe), which indicates to the stage C 3 that the stage C 2 is being written. The signal F 2 relates to the current filling state and states whether this is relevant ( F 2 = 1) or not relevant ( F 2 = 0). The new state of the signal g 2 is taken over by the signal S 3 via the AND gate U 1 and is output as a signal F 2 by the flip-flop KS with the rising edge P 3 . The signal g 2 is determined by the condition g 2 = XS 3 · ( F 2 + ( -XF 2 · ( F 1 + S 1 ))), in which the prefix X is a negation symbol and F 1 and S 1 the fill state or are the write command state of the previous stage. The signal F 2 can, for. B. "0" or "1". Thus the relationships apply to the signals S 3 , c and F 3 :

S 2 = (F 1 + S 1) · XF 2
c = S 2 · XTk
F 2(T ≦λτ Tk) = (S 2 + F 2(T ≦ωτ Tk)) · XS-3
S 2 = ( F 1 + S 1 ) XF 2
c = S 2 · XTk
F 2 ( T ≦ λτ Tk ) = ( S 2 + F 2 ( T ≦ ωτ Tk )) * XS - 3

Die gespeicherten Daten in den Zellen der vorhergehenden Stufe können relevant sein oder nicht; wenn sie relevant sind, müssen sie gelesen, d. h. übertragen werden, anderenfalls nicht.The data stored in the cells of the previous level may be relevant or not; if they are relevant, they must be read, i. H. be transmitted, otherwise not.

Wenn die Werte in den Speicherzellen U 2, V 2, W 2 der 2. Stufe irrelevant sind und die der 1. Stufe entweder relevant sind oder in diesem Zyklus relevant werden und übernommen werden sollen, muß das Signal S 1 = 1 werden oder F 1 = 1 sein, damit während der Schreibphase (Tk = 0) die Speicherzellen U 2, V 2, W 2 die relevanten Werte übernehmen können. Zugleich muß die Stufe C 2 weitermelden, ob die Zellen U 2, V 2, W 2 relevante Werte übernommen haben (F 2 = 1) oder nicht (F 2 = 0). Dies geschieht folgendermaßen: If the values in the memory cells U 2 , V 2 , W 2 of the second stage are irrelevant and those of the first stage are either relevant or become relevant in this cycle and are to be adopted, the signal S 1 = 1 or F 1 = 1 so that the memory cells U 2 , V 2 , W 2 can take over the relevant values during the write phase ( Tk = 0). At the same time, stage C 2 must report whether the cells U 2 , V 2 , W 2 have taken on relevant values ( F 2 = 1) or not ( F 2 = 0). This is done as follows:

Wenn die 3. Stufe die in den Zellen U 2, V 2, W 2 der 2. Stufe gespeicherten relevanten Werte nicht liest, dann bleiben die relevanten Werte in diesen Zellen und F 2 ist gleich "1"; andernfalls, d. h. wenn diese relevanten Werte gelesen werden, muß F 2 gleich "0" werden. Wenn die 2. Stufe irrelevante Werte (F 2 = 0) aufweist und beschrieben wird, dann würde sie relevante Werte (F 2 = 1) erhalten und es bleibt die Frage, ob die folgende 3. Stufe die 2. Stufe in dieser Zeit liest oder nicht. Werden sie nicht gelesen (S 3 = 0), so werden sie relevant (F 2 = 1); werden sie jedoch gleichzeitig gelesen (S 3 = 1), so bleiben sie irrelevant (F 2 = 0), obwohl auch sie in diesem Zyklus geschrieben wurden. Durch diese Eigenschaft wird die Transparenz des erfindungsgemäßen FIFO-Registers nachgewiesen.If the 3rd stage does not read the relevant values stored in cells U 2 , V 2 , W 2 of the 2nd stage, then the relevant values remain in these cells and F 2 is "1"; otherwise, ie when these relevant values are read, F 2 must become "0". If the 2nd stage has irrelevant values ( F 2 = 0) and is described, then it would receive relevant values ( F 2 = 1) and the question remains whether the following 3rd stage reads the 2nd stage during this time or not. If they are not read ( S 3 = 0), they become relevant ( F 2 = 1); however, if they are read at the same time ( S 3 = 1), they remain irrelevant ( F 2 = 0), even though they were also written in this cycle. This property verifies the transparency of the FIFO register according to the invention.

Diese Transparenz besteht immer dann, wenn eine Anzahl m aufeinanderfolgender Speicherzellen einer Reihe bereits gelesen wurde und daher irrelevante Werte aufweist, so daß für die die entsprechenden Füllzustandssignale die Werte Fi = 1, F(i + 1) = 0, F(i + 2) = 0, . . . F(i + m) = 0 und F(i + m + 1) = 1 haben, worin Fi nicht unbedingt gleich F 1 sein muß. Unter diesen Bedingungen bewirkt ein neuer Schreibbefehl der ersten Stufe (S = 1, F = 0), daß das relevante Bit in der Stelle i in einem einzigen Zyklus auf die Stelle i + m springt. Diese spezielle Eigenschaft wird anhand der Tabelle nach Fig. 4 veranschaulicht, die sich auf ein FIFO-Register mit 8 in Reihe geschalteten Speicherzellen bezieht. Die Signale S und r entsprechen den gleichnamigen in Fig. 1 bis 3.This transparency always exists when a number m of successive memory cells in a row has already been read and therefore has irrelevant values, so that the values Fi = 1, F ( i + 1) = 0, F ( i + 2 ) = 0. . . F ( i + m ) = 0 and F ( i + m + 1) = 1, where Fi need not necessarily be F 1 . Under these conditions, a new first stage write command ( S = 1, F = 0) causes the relevant bit in position i to jump to position i + m in a single cycle. This special property is illustrated with reference to the table of FIG. 4, which relates to a FIFO register with 8 memory cells connected in series. The signals S and r correspond to those of the same name in FIGS. 1 to 3.

In weiterer Ausgestaltung der Erfindung können in einzelnen Steuerstufen das Eingangs-ODER-Gatter, z. B. das Gatter G 2 in Fig. 2, entfallen oder der entsprechende Eingang für das Signal S 1 kann geerdet werden, um nur mit dem Füllzustandssignal, z. B. mit dem Signal F 1 in Fig. 2, zu arbeiten. In diesem Fall ist das FIFO-Register zwar nur zwischen diesen Steuerstufen transparent, die Taktfrequenz kann jedoch vergrößert werden, wobei das Taktsignal an sich alle Stufen gemeinsam steuern kann. Die Taktfrequenz kann beispielsweise um einen Faktor n vergrößert werden, falls n-1 derart geerdete Stufen jeweils als erste Steuerstufen unter den verschiedenen Gruppen vorhanden sind, in die die ganze Reihe geteilt werden kann.In a further embodiment of the invention, the input OR gate, for. B. the gate G 2 in Fig. 2, omitted or the corresponding input for the signal S 1 can be grounded to only with the fill state signal, for. B. to work with the signal F 1 in Fig. 2. In this case, the FIFO register is only transparent between these control stages, but the clock frequency can be increased, whereby the clock signal itself can control all stages together. The clock frequency can be increased, for example, by a factor n if n -1 stages grounded in this way are present as first control stages among the various groups, into which the whole series can be divided.

Vorzugsweise können alle Kippstufen (z. B. KS in Fig. 2) mit einem Rücksetzeingang versehen sein, um alle Spalten der Flipflop-Matrix bei Bedarf gemeinsam mit Hilfe eines Rücksetzsignals RS zu leeren.All flip-flops (eg KS in FIG. 2) can preferably be provided with a reset input in order to empty all columns of the flip-flop matrix together, if necessary, with the aid of a reset signal RS .

Claims (8)

1. Synchrones FIFO-Register mit einer von einer Steuerschaltung gesteuerten Flipflop-Matrix zur seriellen Verschiebung von parallel ankommenden Datenbits (u, v, w), wobei die Steuerschaltung mindestens eine eine Flipflopspalte der Matrix steuernde Steuerstufe (C 2) aufweist, dadurch gekennzeichnet, daß die Steuerstufe (C 2) eingangsseitig mit einem Füllzustandssignal F 1 und einem Schreibbefehlsignal S 1 beaufschlagt ist und ausgangsseitig ein eigenes Füllzustandssignal F 2 und ein eigenes Schreibbefehlsignal S 2 liefert, wobei der Steuerstufe (C 2) ein zusätzliches Schreibbefehlsignal S 3 zugeführt wird, daß für diese Signale die drei Beziehungen S 2 = (F 1 + S 1) · XF 2
c = S 2 · XTk′
F 2(T ≦λτ Tk′) = (S 2 + F 2(T ≦ωτ Tk′)) -· XS 3gelten, worin c das Steuersignal für die Flipflopspalte, T eine Zeit, X ein Negations-Präfix und Tk′ ein Zeitpunkt ist, dem eine aktive Flanke des Taktes (Tk) entspricht, und daß die Flipflops der Matrix Speicherzellen (Data Latch) sind.
1. Synchronous FIFO register with a flip-flop matrix controlled by a control circuit for the serial shifting of data bits ( u, v, w ) arriving in parallel, the control circuit having at least one control stage ( C 2 ) controlling a flip-flop column of the matrix, characterized in that that the control stage ( C 2 ) is acted upon on the input side by a fill status signal F 1 and a write command signal S 1 and on the output side it supplies its own fill status signal F 2 and its own write command signal S 2 , the control stage ( C 2 ) being supplied with an additional write command signal S 3 , that for these signals the three relationships S 2 = ( F 1 + S 1 ) · XF 2
c = S 2 · XTk '
F 2 ( T ≦ λτ Tk ′ ) = ( S 2 + F 2 ( T ≦ ωτ Tk ′ )) - · XS 3 , where c is the control signal for the flip-flop column, T is a time, X is a negation prefix and Tk ′ is a point in time to which an active edge of the clock ( Tk ) corresponds and that the flip-flops of the matrix are memory cells (data latch).
2. FIFO-Register nach Anspruch 1, dadurch gekennzeichnet, daß das Füllzustandssignal F 1 und das Schreibbefehlsignal S 2 von einer der Steuerstufe (C 1) vorgeschalteten weiteren Steuerstufe (CC 1) geliefert werden.2. FIFO register according to claim 1, characterized in that the filling status signal F 1 and the write command signal S 2 are supplied by a further control stage ( CC 1 ) connected upstream of the control stage ( C 1 ). 3. FIFO-Register nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß das zusätzliche Schreibbefehlsignal (r) der letzten Stufe ein externes Schreibbefehlsignal ist.3. FIFO register according to claim 1 or 2, characterized in that the additional write command signal ( r ) of the last stage is an external write command signal. 4. FIFO-Register nach einem der Ansprüche 1, 2 oder 3, dadurch gekennzeichnet, daß das zusätzliche Schreibbefehlsignal (S 3) das Schreibbefehlausgangssignal einer nachgeschalteten Steuerstufe (C 3) ist.4. FIFO register according to one of claims 1, 2 or 3, characterized in that the additional write command signal ( S 3 ) is the write command output signal of a downstream control stage ( C 3 ). 5. FIFO-Register nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß für mindestens eine Steuerstufe die vereinfachte Beziehung S 2 = F 1 · XF 2für das Schreibbefehlsignal gilt. 5. FIFO register according to one of claims 1 to 4, characterized in that for at least one control stage the simplified relationship S 2 = F 1 · XF 2 applies to the write command signal. 6. FIFO-Register nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß zur Implementierung der dritten Beziehung eine Kippstufe (KS) vorhanden ist, deren Takteingang mit dem Takt (Tk) und deren D-Eingang mit einem Signal g 2 beaufschlagt wird, für das die weitere Beziehung g 2 = S 3 · (F 2 + S 2)gilt.6. FIFO register according to one of claims 1 to 5, characterized in that for the implementation of the third relationship a flip-flop ( KS ) is present, the clock input with the clock ( Tk ) and the D input with a signal g 2 is applied , for which the further relationship g 2 = S 3 · ( F 2 + S 2 ) applies. 7. FIFO-Register nach Anspruch 6, dadurch gekennzeichnet, daß mehrere Steuerstufen (C 1, C 2, C 3) mit je einer solchen Kippstufe (KS) versehen sind.7. FIFO register according to claim 6, characterized in that several control stages ( C 1 , C 2 , C 3 ) are each provided with such a flip-flop ( KS ). 8. FIFO-Register nach Anspruch 7, dadurch gekennzeichnet, daß mindestens eine dieser Kippstufen rücksetzbar und an eine gemeinsame Löschleitung angeschlossen ist.8. FIFO register according to claim 7, characterized in that at least one of these flip-flops can be reset and connected to a common extinguishing line connected.
DE19873718469 1986-06-16 1987-06-02 Synchronous FIFO register Granted DE3718469A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CH2418/86A CH671476A5 (en) 1986-06-16 1986-06-16

Publications (2)

Publication Number Publication Date
DE3718469A1 true DE3718469A1 (en) 1988-01-14
DE3718469C2 DE3718469C2 (en) 1989-06-22

Family

ID=4233345

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19873718469 Granted DE3718469A1 (en) 1986-06-16 1987-06-02 Synchronous FIFO register

Country Status (3)

Country Link
CH (1) CH671476A5 (en)
DE (1) DE3718469A1 (en)
NO (1) NO170244C (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2515226A1 (en) * 2011-04-21 2012-10-24 STMicroelectronics SA An arrangement

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4314361A (en) * 1977-12-12 1982-02-02 U.S. Philips Corporation Data buffer memory of the first-in, first-out type comprising a fixed input and a variable output

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4314361A (en) * 1977-12-12 1982-02-02 U.S. Philips Corporation Data buffer memory of the first-in, first-out type comprising a fixed input and a variable output

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2515226A1 (en) * 2011-04-21 2012-10-24 STMicroelectronics SA An arrangement

Also Published As

Publication number Publication date
NO872467D0 (en) 1987-06-12
NO170244B (en) 1992-06-15
DE3718469C2 (en) 1989-06-22
NO170244C (en) 1992-09-23
NO872467L (en) 1987-12-17
CH671476A5 (en) 1989-08-31

Similar Documents

Publication Publication Date Title
DE3786298T2 (en) Method and switch for conveying information.
DE2256118C3 (en) Pseudo-hierarchical storage system
DE3418248A1 (en) DATA PROCESSING SYSTEM WITH AN ARRANGEMENT FOR DATA TRANSFER BETWEEN A STORAGE AND A CENTRAL PROCESSOR
DE2627788C2 (en) Memory for calculators with parallel arranged memory loops with a return circuit
DE2855673A1 (en) ARRANGEMENT FOR HANDLING DIRECT ACCESS TO THE MEMORY OF A DATA PROCESSING SYSTEM
EP0190554A1 (en) Method and circuit arrangement for switching over a clocked device having multiple operating states
DE2364254B2 (en) CIRCUIT ARRANGEMENT FOR DATA PROCESSING DEVICES
DE1153553B (en) Tax register
DE2326516B2 (en) PROCEDURE AND ARRANGEMENT FOR CONTROLLING ACCESS AND REGENERATION IN A DYNAMIC MEMORY FOR STORING DIGITAL INFORMATION
DE2364253A1 (en) CIRCUIT ARRANGEMENT FOR MICROPROGRAMMED DATA PROCESSING DEVICES
DE3123382A1 (en) &#34;METHOD AND DEVICE FOR TRANSMITTING DATA BETWEEN CENTRAL UNITS OR PROCESSORS OF MULTI-PROCESSOR SYSTEMS&#34;
DE69016063T2 (en) PCM transmission system.
DE3018509C2 (en) Shift register
DE2210541C3 (en)
DE2031038B2 (en)
DE3718469C2 (en)
DE2331928A1 (en) CONTROL DEVICE FOR PRINTING TABLES
DE2110458C3 (en) Storage arrangement in a data processing system
DE2406171B2 (en) SYNCHRONOUS MULTIPURPOSE COUNTER
DE3501274A1 (en) COUNTER
DE2610428A1 (en) ARRANGEMENT FOR THE CONTROL OF THE INTERMEDIATE STORAGE OF BETWEEN TWO FUNCTIONAL UNITS TO BE TRANSFERRED IN A BUFFER MEMORY
DE1808678B2 (en) PROCEDURE AND CIRCUIT ARRANGEMENT FOR ELECTRONIC DATA DIALING SYSTEMS WITH A CENTRAL MEMORY
DE1806172A1 (en) Priority switching
DE68902185T2 (en) MODULAR STORAGE.
DE3507326C2 (en)

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Free format text: DERZEIT KEIN VERTRETER BESTELLT

8328 Change in the person/name/address of the agent

Free format text: FUCHS, F., DR.-ING., PAT.-ANW., 8000 MUENCHEN

8339 Ceased/non-payment of the annual fee