DE3718469C2 - - Google Patents

Info

Publication number
DE3718469C2
DE3718469C2 DE3718469A DE3718469A DE3718469C2 DE 3718469 C2 DE3718469 C2 DE 3718469C2 DE 3718469 A DE3718469 A DE 3718469A DE 3718469 A DE3718469 A DE 3718469A DE 3718469 C2 DE3718469 C2 DE 3718469C2
Authority
DE
Germany
Prior art keywords
signal
write command
flip
fifo register
command signal
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.)
Expired
Application number
DE3718469A
Other languages
German (de)
Other versions
DE3718469A1 (en
Inventor
Mathias Dipl.-Elektro.-Ing. Hofmann (Eth), Zuerich, Ch
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)

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 derart nach dem FIFO (First in - first out)-Prinzip aufgebauter Datenpufferspeicher ist aus der US-PS 43 14 361 bekannt, wobei dieser Speicher einen festen Eingang und einen frei wählbaren variablen Ausgang aufweist, was eine Herabsetzung der Datendurchgangszeit ermöglicht. Ein FIFO-Register 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 (first in - first out) principle Data buffer memory is known from US Pat. No. 4,314,361, the latter Memory a fixed input and a freely selectable variable output has, which enables a reduction in data throughput time. A FIFO register 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 has been written, whereby a data word is 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. Eine 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 . Such a memory cell (data latch) is in principle a statically clocked D flip-flop, as is 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, das 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 points P 1 and P 2 is provided for the preparation of the write command signals (strobes) and the time between 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:
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 extern 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 FIFO register according to FIG. 1 works as follows:
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 using the signal S and the reading of the data u ', v', w ' from stage 3 using the signal r is controlled externally in such a way 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:
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 2, c und F 2 die Beziehungen:
The circuit according to FIG. 2 works as follows:
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 filling state or are the write command state of the previous stage. The signal F 2 can, for. B. "0" or "1". The relationships thus apply to the signals S 2 , c and F 2 :

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

worin T eine Zeit, X ein Negations-Präfix und Tk′ ein Zeitpunkt ist, dem eine aktive Flanke des Taktes Tk entspricht.where T is a time, X is a negation prefix and Tk 'is a time to which an active edge of the clock Tk corresponds.

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 equal to "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 proves 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 sie 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 corresponding fill state signals have 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, und die Flipflops der Matrix Speicherzellen (Data Latch) sind, 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 und daß für diese Signale die drei Beziehungen S 2 = (F 1 + S 1) · XF 2 (I)c = S 2 · XTk′ (II)F 2 (T < Tk′) = (S 2 + F 2 (T < Tk′)) · XS 3 (III)gelten, 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.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, and the flip-flops of the matrix memory cells (data latch), characterized in 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 by its own fill status signal (F 2 ) and its own write command signal ( S 2), supplies the control stage (C 2), an additional write command signal (S 3 is fed), and that for these signals the three relations S 2 = (F 1 + S 1) x XF 2 (I) c = S 2 · XTk ′ (II) F 2 (T < Tk ′) = (S 2 + F 2 (T < Tk ′)) · XS 3 (III) apply, 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 at which an active edge of the clock (Tk) corresponds. 2. FIFO-Register nach Anspruch 1, dadurch gekennzeichnet, daß das Füllzustandssignal (F 1) und das Schreibbefehlsignal (S 1) von einer der Steuerstufe (C 2) vorgeschalteten Steuerstufe (C 1) geliefert werden.2. FIFO register according to claim 1, characterized in that the fill status signal (F 1 ) and the write command signal (S 1 ) from a control stage (C 2 ) upstream control stage (C 1 ) are supplied. 3. FIFO-Register nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß das zusätzliche Schreibbefehlsignal (S 3) das Schreibbefehlausgangssignal einer der Steuerstufe (C 2) nachgeschalteten Steuerstufe (C 3) ist.3. FIFO register according to claim 1 or 2, characterized in that the additional write command signal (S 3 ) is the write command output signal of a control stage (C 2 ) downstream control stage (C 3 ). 4. FIFO-Register nach Anspruch 1, 2 oder 3, dadurch gekennzeichnet, daß das zusätzliche Schreibbefehlsignal (S 3) der letzten Stufe (C 3) ein externes Schreibbefehlsignal ist.4. FIFO register according to claim 1, 2 or 3, characterized in that the additional write command signal (S 3 ) of the last stage (C 3 ) is an external write command signal. 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 DE3718469A1 (en) 1988-01-14
DE3718469C2 true 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)

Families Citing this family (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

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL7713708A (en) * 1977-12-12 1979-06-14 Philips Nv INFORMATION BUFFER MEMORY OF THE "FIRST-IN, FIRST-OUT" TYPE WITH FIXED INPUT AND VARIABLE OUTPUT.

Also Published As

Publication number Publication date
NO872467D0 (en) 1987-06-12
NO170244C (en) 1992-09-23
DE3718469A1 (en) 1988-01-14
NO170244B (en) 1992-06-15
NO872467L (en) 1987-12-17
CH671476A5 (en) 1989-08-31

Similar Documents

Publication Publication Date Title
DE2256118C3 (en) Pseudo-hierarchical storage system
CH638913A5 (en) DEVICE IN TEXT PROCESSING PLANTS FOR SELECTING DATA QUALIFIED DIFFERENT LENGTH.
DE2455178A1 (en) INTEGRATED, PROGRAMMABLE LOGIC ARRANGEMENT
DE1963895A1 (en) Data storage system
DE3148099C2 (en) Arrangement for recognizing a digital sequence
DE1153553B (en) Tax register
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;
DE2457884A1 (en) MOSAIC PRINTER
DE3104880A1 (en) Random-access memory
DE3018509C2 (en) Shift register
DE2031038B2 (en)
DE3718469C2 (en)
DE2210541C3 (en)
DE2110458C3 (en) Storage arrangement in a data processing system
DE2331928A1 (en) CONTROL DEVICE FOR PRINTING TABLES
DE2406171B2 (en) SYNCHRONOUS MULTIPURPOSE COUNTER
DE3501274A1 (en) COUNTER
DE1449806A1 (en) Matrix memory
DE2233164C3 (en) Circuit arrangement for the transmission of successive bit positions between two registers
DE1808678B2 (en) PROCEDURE AND CIRCUIT ARRANGEMENT FOR ELECTRONIC DATA DIALING SYSTEMS WITH A CENTRAL MEMORY
DE2610428A1 (en) ARRANGEMENT FOR THE CONTROL OF THE INTERMEDIATE STORAGE OF BETWEEN TWO FUNCTIONAL UNITS TO BE TRANSFERRED IN A BUFFER MEMORY
DE2942235A1 (en) TIME MULTIPLEX CIRCUIT
DE3507326C2 (en)
DE1152837B (en) Electronic information processing machine

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