[go: up one dir, main page]

JPH08124376A - FIFO memory - Google Patents

FIFO memory

Info

Publication number
JPH08124376A
JPH08124376A JP6264066A JP26406694A JPH08124376A JP H08124376 A JPH08124376 A JP H08124376A JP 6264066 A JP6264066 A JP 6264066A JP 26406694 A JP26406694 A JP 26406694A JP H08124376 A JPH08124376 A JP H08124376A
Authority
JP
Japan
Prior art keywords
read
write
address
window
counter
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
JP6264066A
Other languages
Japanese (ja)
Other versions
JP3669591B2 (en
Inventor
Hiroki Higuchi
弘樹 樋口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP26406694A priority Critical patent/JP3669591B2/en
Publication of JPH08124376A publication Critical patent/JPH08124376A/en
Application granted granted Critical
Publication of JP3669591B2 publication Critical patent/JP3669591B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

(57)【要約】 【目的】 本発明はFIFOメモリに関し、常に信頼性
の高い容量監視を行えるFIFOメモリの提供を目的と
する。 【構成】 データを記憶するメモリと、メモリの書込ア
ドレスを生成する書込カウンタと、メモリの読出アドレ
スを生成する読出カウンタとを備えるFIFOメモリに
おいて、書込カウンタの書込アドレスに基づき互いに異
なる第1,第2のウィンドウを生成すると共に、該第
1,第2のウィンドウと読出カウンタの所定の読出アド
レスに基づき生成した第3のウィンドウとの間の少なく
とも一部重なりを検出することによりメモリの容量監視
を行う。好ましくは、書込アドレスの小さい値に対応す
る第1のウィンドウと読出アドレスの第3のウィンドウ
とが重なったことによりエンプティーフラグをセット
し、その後のデータ読出制御を一時的に休止させる。ま
た書込アドレスの大きい値に対応する第2のウィンドウ
と読出アドレスの第3のウィンドウとが重なったことに
よりフルフラグをセットし、その後のデータ書込制御を
一時的に休止させる。
(57) [Summary] [Object] The present invention relates to a FIFO memory, and an object of the present invention is to provide a FIFO memory capable of always performing highly reliable capacity monitoring. In a FIFO memory having a memory for storing data, a write counter for generating a write address of the memory, and a read counter for generating a read address of the memory, they are different from each other based on the write address of the write counter. A memory by generating the first and second windows and detecting at least a partial overlap between the first and second windows and the third window generated based on a predetermined read address of the read counter. Capacity monitoring. Preferably, the empty flag is set by the overlap of the first window corresponding to the smaller value of the write address and the third window of the read address, and the subsequent data read control is temporarily suspended. Further, the full flag is set by the overlap of the second window corresponding to the large value of the write address and the third window of the read address, and the subsequent data write control is temporarily suspended.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明はFIFOメモリに関し、
更に詳しくはデータを記憶するメモリと、メモリの書込
アドレスを生成する書込カウンタと、メモリの読出アド
レスを生成する読出カウンタとを備えるFIFOメモリ
に関する。この種のFIFOメモリはデータ書込側の第
1のクロック信号によりデータを書き込み、かつこれを
データ読出側の第2のクロック信号により任意の位相で
読み出すような用途(例えばデータ伝送装置等)に広く
利用されている。
FIELD OF THE INVENTION The present invention relates to a FIFO memory,
More specifically, the present invention relates to a FIFO memory including a memory that stores data, a write counter that generates a write address of the memory, and a read counter that generates a read address of the memory. This kind of FIFO memory is used for the purpose of writing data by the first clock signal on the data writing side and reading it at an arbitrary phase by the second clock signal on the data reading side (for example, a data transmission device). Widely used.

【0002】[0002]

【従来の技術】図9は従来のFIFOメモリのブロック
図で、図において1はデュアルポートRAM(DP−R
AM)、2は書込カウンタ(CTR)、3は読出カウン
タ(CTR)、11,12はANDゲート回路(A)、
30は容量監視部、31はアップダウンカウンタ(U/
DCTR)、32,33はデコーダ(DEC)、41は
シリアル・パラレル変換部(S/P)、42はパラレル
・シリアル変換部(P/S)である。
2. Description of the Related Art FIG. 9 is a block diagram of a conventional FIFO memory, in which 1 is a dual port RAM (DP-R).
AM), 2 is a write counter (CTR), 3 is a read counter (CTR), 11 and 12 are AND gate circuits (A),
30 is a capacity monitoring unit, 31 is an up / down counter (U /
DCTR), 32 and 33 are decoders (DEC), 41 is a serial / parallel converter (S / P), and 42 is a parallel / serial converter (P / S).

【0003】シリアル・パラレル変換部41は入力のシ
リアルデ−タSDIをデータ書込側のクロック信号CK
Aにより所定ビット数(1ワード)毎のパラレルデータ
DINに変換し、これを1ワード毎に発生する書込クロ
ック信号WCK(=書込パルス信号WP)によりデュア
ルポートRAM1に書き込むと共に、該書込パルス信号
WPは書込カウンタ2及びアップダウンカウンタ31に
夫々+1する。
The serial / parallel converter 41 converts the input serial data SDI into the clock signal CK on the data writing side.
The parallel data DIN for each predetermined number of bits (1 word) is converted by A, and this is written to the dual port RAM 1 by the write clock signal WCK (= write pulse signal WP) generated for each word, and the writing is performed. The pulse signal WP increments the write counter 2 and the up / down counter 31 by +1.

【0004】パラレル・シリアル変換部42はデュアル
ポートRAM1の記憶データを読出クロック信号RCK
(=読出パルス信号RE)により読み出し、これをデー
タ読出側のクロック信号CKBによりシリアルデータS
DOに変換すると共に、前記読出パルス信号REは読出
カウンタ3に+1し、かつアップダウンカウンタ31か
ら−1する。
The parallel / serial converter 42 converts the data stored in the dual port RAM 1 into a read clock signal RCK.
(= Read pulse signal RE), and the serial data S is read by the clock signal CKB on the data read side.
At the same time as being converted into DO, the read pulse signal RE is incremented by 1 in the read counter 3 and is incremented by 1 in the up / down counter 31.

【0005】容量監視部30において、デコーダ32は
アップダウンカウンタ31のカウント値CDに基づきR
AM1のバッファフル状態を監視しており、CD=N
(但し、NはRAM1の記憶容量)になるとバッファフ
ル信号FLを生成し、ANDゲート回路11を介してそ
れ以上のデータ書込を阻止する。一方、デコーダ33は
同カウント値CDに基づきRAM1のバッファエンプテ
ィー状態を監視しており、CD=0になるとバッファエ
ンプティー信号EPを生成し、ANDゲート回路12を
介してそれ以上のデータ読出を阻止する。従って、上記
容量監視の下では、データ書込位相がデータ読出位相を
追い越すこともないし、またデータ読出位相がデータ書
込位相を追い越すこともない。
In the capacity monitoring unit 30, the decoder 32 uses the count value CD of the up / down counter 31 as the R value.
Monitoring the buffer full state of AM1, CD = N
When (N is the storage capacity of the RAM 1), the buffer full signal FL is generated, and further data writing is blocked via the AND gate circuit 11. On the other hand, the decoder 33 monitors the buffer empty state of the RAM 1 based on the same count value CD, generates a buffer empty signal EP when CD = 0, and blocks further data reading via the AND gate circuit 12. . Therefore, under the above capacity monitoring, the data write phase does not overtake the data read phase, and the data read phase does not overtake the data write phase.

【0006】図10は従来のFIFOメモリのタイミン
グチャートである。始めの方では読出パルス信号REは
書込パルス信号WPよりも十分に遅れた位相で発生して
おり、アップダウンカウンタ31のカウント値CDはC
D=2→1→2→1の状態を繰り返す。しかるに、この
例では、クロック信号CKBが途中で断又は擾乱により
途切れており、このために書込パルス信号WPと読出パ
ルス信号REとは新たな位相関係(この例では極めて接
近した位相関係)に遷移する。このようなケースの発生
は実際上少なくない。かかる場合でも、もしアップダウ
ンカウンタ31が互いに接近した書込パルス信号WP及
び読出パルス信号REにより正常なアップ/ダウン動作
を継続できれば、その後のカウント値CDはCD=3→
2→3→2となり、データの記憶数を正確に指し示す。
FIG. 10 is a timing chart of a conventional FIFO memory. At the beginning, the read pulse signal RE is generated in a phase that is sufficiently behind the write pulse signal WP, and the count value CD of the up / down counter 31 is C.
The state of D = 2 → 1 → 2 → 1 is repeated. However, in this example, the clock signal CKB is interrupted on the way due to disconnection or disturbance, and therefore the write pulse signal WP and the read pulse signal RE have a new phase relationship (in this example, a very close phase relationship). Transition. The occurrence of such cases is not small in practice. Even in such a case, if the up / down counter 31 can continue the normal up / down operation by the write pulse signal WP and the read pulse signal RE approaching each other, the subsequent count value CD is CD = 3 →
2 → 3 → 2, which indicates the number of stored data accurately.

【0007】[0007]

【発明が解決しようとする課題】しかし、一般には、書
込パルス信号WPと読出パルス信号REの位相が接近す
ると、例えば読出パルス信号REによる−1動作をミス
する場合があり、もし矢印↑の位置で−1動作をミスし
てしまうと、その後のカウント値CDはCD=3→4→
3→4となり、もはやデータの記憶数を正確に指し示さ
なくなる。その結果、実際にデータ書込の行われていな
い記憶データが有ることになりシステムに重大な悪影響
を及ぼす。しかも、このような誤監視の状態を検出する
他の適当な手段もないので、従来のFIFOメモリは動
作信頼性を欠くものであった。
However, in general, if the phases of the write pulse signal WP and the read pulse signal RE are close to each other, for example, the -1 operation due to the read pulse signal RE may be missed. If the -1 operation is missed at the position, the count value CD thereafter is CD = 3 → 4 →
It becomes 3 → 4, and the number of stored data is no longer accurately indicated. As a result, there is stored data for which no data has been actually written, which seriously affects the system. Moreover, since there is no other suitable means for detecting such an erroneous monitoring state, the conventional FIFO memory lacks operational reliability.

【0008】なお、アップダウンカウンタ31のアップ
/ダウン動作を何れか一方のクロック信号CKA又はC
KBにより行う方法もあるが、該クロック信号CKA又
はCKBが断又は擾乱により一時的に途切れてしまえ
ば、上記と同じ誤動作状態になることは避けられない。
本発明の目的は、常に信頼性の高い容量監視を行えるF
IFOメモリを提供することにある。
The up / down operation of the up / down counter 31 is controlled by one of the clock signals CKA or C.
Although there is also a method of using the KB, if the clock signal CKA or CKB is temporarily interrupted due to disconnection or disturbance, the same malfunction state as described above cannot be avoided.
An object of the present invention is to provide an F that can always perform reliable capacity monitoring.
To provide IFO memory.

【0009】[0009]

【課題を解決するための手段】上記の課題は図1の構成
により解決される。即ち、本発明(1)のFIFOメモ
リは、データを記憶するメモリと、メモリの書込アドレ
スを生成する書込カウンタと、メモリの読出アドレスを
生成する読出カウンタとを備えるFIFOメモリにおい
て、書込カウンタの書込アドレスに基づき互いに異なる
第1,第2のウィンドウを生成すると共に、該第1,第
2のウィンドウと読出カウンタの所定の読出アドレスに
基づき生成した第3のウィンドウとの間の少なくとも一
部重なりを検出することによりメモリの容量監視を行う
ものである。
The above-mentioned problems can be solved by the structure shown in FIG. That is, the FIFO memory of the present invention (1) is a FIFO memory including a memory for storing data, a write counter for generating a write address of the memory, and a read counter for generating a read address of the memory. The first and second windows different from each other are generated based on the write address of the counter, and at least the third window generated based on the predetermined read address of the read counter is generated. The memory capacity is monitored by detecting a partial overlap.

【0010】また本発明(10)のFIFOメモリは、
データを記憶するメモリと、メモリの書込アドレスを生
成する書込カウンタと、メモリの読出アドレスを生成す
る読出カウンタとを備えるFIFOメモリにおいて、読
出カウンタの読出アドレスに基づき互いに異なる第1,
第2のウィンドウを生成すると共に、該第1,第2のウ
ィンドウと書込カウンタの所定の書込アドレスに基づき
生成した第3のウィンドウとの間の少なくとも一部重な
りを検出することによりメモリの容量監視を行うもので
ある。
The FIFO memory of the present invention (10) is
In a FIFO memory provided with a memory for storing data, a write counter for generating a write address of the memory, and a read counter for generating a read address of the memory, first and second different from each other based on the read address of the read counter.
By generating the second window and detecting at least a partial overlap between the first and second windows and the third window generated based on the predetermined write address of the write counter, the memory The capacity is monitored.

【0011】[0011]

【作用】本発明(1)においては、例えばRAD=0の
第3のウィンドウ信号SをWAD=0,1の第1のウィ
ンドウ信号WINEとWAD=N−1,Nの第2のウィ
ンドウ信号WINFとで挟み込むと共に、該信号WIN
E又は信号WINFと信号Sとの間の少なくとも一部重
なりを検出することによりメモリの容量監視を行う。
In the present invention (1), for example, the third window signal S with RAD = 0 is replaced with the first window signal WINE with WAD = 0, 1 and the second window signal WINF with WAD = N-1, N. And the signal WIN
The memory capacity is monitored by detecting at least a partial overlap between E or the signal WINF and the signal S.

【0012】本発明(1)によれば、メモリ1の容量監
視を実際のアドレス信号(制御)に基づき一体不可分に
行うので、データ読書制御と容量監視制御とは遊離せ
ず、常に信頼性の高い容量監視を行える。好ましくは、
図3に示す如く、書込アドレス信号WADの小さい値
(例えばWAD=0,1)に対応する第1のウィンドウ
信号WINEと読出アドレス信号RADの所定値(例え
ばRAD=0)に対応する第3のウィンドウ信号Sとが
重なったことによりエンプティーフラグ信号EFLGを
セットし、その後のデータ読出制御を一時的に休止させ
る。従って、データ読書位相がバッファエンプティーの
側に移相しても、データ読出位相が自動的に遅らされ、
新たな好ましいデータ読書位相に遷移する。
According to the present invention (1), since the capacity of the memory 1 is inseparably integrated based on the actual address signal (control), the data reading control and the capacity monitoring control are not separated, and the reliability is always maintained. High capacity monitoring is possible. Preferably,
As shown in FIG. 3, the first window signal WINE corresponding to a small value of the write address signal WAD (for example, WAD = 0, 1) and the third value corresponding to a predetermined value of the read address signal RAD (for example, RAD = 0). The empty flag signal EFLG is set due to the overlap with the window signal S of 1. and the subsequent data read control is temporarily suspended. Therefore, even if the data reading phase shifts to the buffer empty side, the data reading phase is automatically delayed,
Transition to a new preferred data reading phase.

【0013】また好ましくは、書込アドレス信号WAD
が所定値(例えばWAD=4)に達したことによりエン
プティーフラグ信号EFLGをリセットし、これに伴い
データ読出制御を開始する。従って、データ読書位相が
バッファエンプティーの側に移相しても、データ読出位
相がデータ書込位相に対して一定遅れとなるまで自動的
に遅らされ、所望のデータ読書位相が保たれる。
Further preferably, the write address signal WAD
Has reached a predetermined value (for example, WAD = 4), the empty flag signal EFLG is reset, and the data read control is started accordingly. Therefore, even if the data reading phase shifts to the buffer empty side, the data reading phase is automatically delayed until it becomes a constant delay with respect to the data writing phase, and the desired data reading phase is maintained.

【0014】また好ましくは、図4に示す如く、エンプ
ティーフラグ信号EFLGのリセットに伴い読出カウン
タ3に任意の読出アドレス信号RADをセットする。従
って、データ読書位相がバッファエンプティーの側に移
相しても、データ読出位相を自動的に遅らせると共に、
データ読出制御を所望の位相から再開できる。また好ま
しくは、図5に示す如く、書込アドレス信号WADの大
きい値(例えばWAD=N−1,N)に対応する第2の
ウィンドウ信号WINFと読出アドレス信号RADの所
定値(例えばRAD=0)に対応する第3のウィンドウ
信号Sとが重なったことによりフルフラグ信号FFLG
をセットし、その後のデータ書込制御を一時的に休止さ
せる。従って、データ読書位相がバッファフルの側に移
相しても、データ書込位相が自動的に遅らされ、新たな
好ましいデータ読書位相に遷移する。
Further, preferably, as shown in FIG. 4, an arbitrary read address signal RAD is set in the read counter 3 in accordance with the reset of the empty flag signal EFLG. Therefore, even if the data reading phase shifts to the buffer empty side, the data reading phase is automatically delayed and
The data read control can be restarted from the desired phase. Further, preferably, as shown in FIG. 5, the second window signal WINF corresponding to a large value of the write address signal WAD (for example, WAD = N−1, N) and the predetermined value of the read address signal RAD (for example, RAD = 0). ) And the third window signal S corresponding to
Is set and the subsequent data write control is temporarily suspended. Therefore, even if the data reading phase shifts to the buffer full side, the data writing phase is automatically delayed, and a transition is made to a new preferable data reading phase.

【0015】また好ましくは、読出アドレス信号RAD
が所定値(例えばRAD=3)に達したことによりフル
フラグ信号FFLGをリセットし、これに伴いデータ書
込制御を開始する。従って、データ読書位相がバッファ
フルの側に移相しても、データ書込位相がデータ読出位
相に対して一定進みとなるまで自動的に遅らされ、所望
のデータ読書位相が保たれる。
Further preferably, the read address signal RAD
Has reached a predetermined value (for example, RAD = 3), the full flag signal FFLG is reset, and the data write control is started accordingly. Therefore, even if the data reading phase shifts to the buffer full side, the data writing phase is automatically delayed until it leads the data reading phase by a certain amount, and the desired data reading phase is maintained.

【0016】また好ましくは、図6に示す如く、フルフ
ラグ信号FFLGのリセットに伴い書込カウンタ2に任
意の書込アドレス信号WADをセットする。従って、デ
ータ読書位相がバッファフルの側に移相しても、データ
書込位相を自動的に遅らせると共に、データ書込制御を
所望の位相から再開できる。また好ましくは、図2に示
す如く、外部よりエンプティーフラグ信号EFLGを強
制セット可能である。従って、データ読出制御を任意の
時点に任意の位相から開始(再開)できる。
Further, preferably, as shown in FIG. 6, an arbitrary write address signal WAD is set in the write counter 2 in accordance with the reset of the full flag signal FFLG. Therefore, even if the data reading phase shifts to the buffer full side, the data writing phase can be automatically delayed and the data writing control can be restarted from a desired phase. Further, preferably, as shown in FIG. 2, the empty flag signal EFLG can be forcibly set from the outside. Therefore, the data read control can be started (restarted) at any time and from any phase.

【0017】また好ましくは、図7,図8に示す如く、
書込側及び読出側の各生成信号は夫々第1,第2のクロ
ック信号CKA/CKBに同期して生成されると共に、
書込側と読出側との間にまたがる制御信号WINE,W
INF,S等は1又は2以上のクロックラッチ回路を介
して相手側のクロック信号CKB/CKAに乗り換える
様に構成されている。従って、書込側及び読出側の各論
理動作が確実なものとなる。
Preferably, as shown in FIGS. 7 and 8,
The write-side and read-side generated signals are generated in synchronization with the first and second clock signals CKA / CKB, respectively, and
Control signals WINE and W straddling between the write side and the read side
The INFs, S, etc. are configured to transfer to the clock signal CKB / CKA of the other side via one or more clock latch circuits. Therefore, each logical operation on the writing side and the reading side becomes reliable.

【0018】ところで、上記本発明(1)では、読出カ
ウンタの所定の読出アドレス(第3のウィンドウ)を書
込カウンタの互いに異なる第1,第2の書込アドレス
(第1,第2のウィンドウ)で挟み込み、これらのアド
レスの一部重なりを検出することでメモリの容量監視を
行った。この容量監視方式の対称性に着目すれば、逆に
書込カウンタの所定の書込アドレス(第3のウィンド
ウ)を読出カウンタの互いに異なる第1,第2の読出ア
ドレス(第1,第2のウィンドウ)で挟み込み、これら
のアドレスの一部重なりを検出することでも同様の容量
監視が行えることは明らかである。
In the present invention (1), the predetermined read address (third window) of the read counter is set to the first and second write addresses (first and second window) of the write counter which are different from each other. ), The memory capacity was monitored by detecting a partial overlap of these addresses. Paying attention to the symmetry of this capacity monitoring method, conversely, the predetermined write address (third window) of the write counter is set to the first and second read addresses (first and second read addresses) of the read counter which are different from each other. It is obvious that the same capacity monitoring can be performed by sandwiching them with a (window) and detecting a partial overlap of these addresses.

【0019】そこで、図示しないが、本発明(10)に
おいては、例えばWAD=0の第3のウィンドウ信号S
をRAD=0,1の第1のウィンドウ信号WINEとR
AD=N−1,Nの第2のウィンドウ信号WINFとで
挟み込むと共に、該信号WINE又は信号WINFと信
号Sとの間の少なくとも一部重なりを検出することによ
りメモリの容量監視を行う。
Therefore, although not shown, in the present invention (10), for example, the third window signal S with WAD = 0
The first window signal WINE and R with RAD = 0,1
The capacity of the memory is monitored by sandwiching it with the second window signal WINF of AD = N−1, N and detecting at least a partial overlap between the signal WINE or the signal WINF and the signal S.

【0020】好ましくは、データ書込位相に対してデー
タ読出位相が所定以上の遅れとなった後、読出アドレス
信号RADの大きい値(例えばRAD=N−1,N)に
対応する第2のウィンドウと書込アドレス信号WAD
(例えばWAD=0)の第3のウィンドウとが重なった
ことによりエンプティーフラグをセットし、その後のデ
ータ読出制御を一時的に休止させる。従って、データ読
書位相がバッファエンプティーの側に移相しても、デー
タ読出位相が自動的に遅らされ、新たな好ましいデータ
読書位相に遷移する。
Preferably, the second window corresponding to a large value of the read address signal RAD (for example, RAD = N-1, N) after the data read phase is delayed by a predetermined amount or more with respect to the data write phase. And write address signal WAD
The empty flag is set by the overlap with the third window (for example, WAD = 0), and the subsequent data read control is temporarily suspended. Therefore, even if the data reading phase is shifted to the buffer empty side, the data reading phase is automatically delayed, and a transition is made to a new preferable data reading phase.

【0021】また好ましくは、データ書込位相に対して
データ読出位相が所定以上の遅れとなった後、読出アド
レス信号RADの小さい値(例えばRAD=O,1)に
対応する第1のウィンドウと書込アドレス信号WAD
(例えばWAD=0)の第3のウィンドウとが重なった
ことによりフルフラグをセットし、その後のデータ書込
制御を一時的に休止させる。従って、データ読書位相が
バッファフルの側に移相しても、データ書込位相が自動
的に遅らされ、新たな好ましいデータ読書位相に遷移す
る。
Further, preferably, after the data read phase is delayed by a predetermined amount or more with respect to the data write phase, a first window corresponding to a small value of read address signal RAD (for example, RAD = 0, 1) is provided. Write address signal WAD
The full flag is set due to the overlap with the third window (for example, WAD = 0), and the subsequent data write control is temporarily suspended. Therefore, even if the data reading phase shifts to the buffer full side, the data writing phase is automatically delayed, and a transition is made to a new preferable data reading phase.

【0022】[0022]

【実施例】以下、添付図面に従って本発明による実施例
を詳細に説明する。なお、全図を通して同一符号は同一
又は相当部分を示すものとする。図2は実施例のFIF
Oメモリのブロック図で、図において1はデュアルポー
トRAM(DP−RAM)、2は書込カウンタ(CT
R)、3は読出カウンタ(CTR)、4〜8はタイミン
グ信号生成部(TSG)、9,10はDタイプのフリッ
プフロップ(F−F)、11〜18はANDゲート回路
(A)、19,20はORゲート回路(O)である。
Embodiments of the present invention will be described in detail below with reference to the accompanying drawings. Note that the same reference numerals indicate the same or corresponding parts throughout the drawings. FIG. 2 shows the FIF of the embodiment.
In the block diagram of the O memory, 1 is a dual port RAM (DP-RAM), 2 is a write counter (CT).
R), 3 is a read counter (CTR), 4-8 is a timing signal generator (TSG), 9 and 10 are D-type flip-flops (FF), 11-18 are AND gate circuits (A), 19 , 20 are OR gate circuits (O).

【0023】入力のパラレルデータDINをクロック信
号CKAに同期した書込クロック信号WCK(=書込パ
ルス信号WP)によりデュアルポートRAM1に書き込
むと共に、該書込パルス信号WPは書込カウンタ2に+
1する。一方、デュアルポートRAM1の記憶データを
クロック信号CKBに同期した読出クロック信号RCK
(=読出パルス信号RE)により読み出すと共に、該読
出パルス信号REは読出カウンタ3に+1する。
The input parallel data DIN is written to the dual port RAM 1 by the write clock signal WCK (= write pulse signal WP) synchronized with the clock signal CKA, and the write pulse signal WP is added to the write counter 2+.
Do 1 On the other hand, the read clock signal RCK in which the data stored in the dual port RAM 1 is synchronized with the clock signal CKB.
The read pulse signal RE is read by (= read pulse signal RE), and the read pulse signal RE is incremented by 1 in the read counter 3.

【0024】タイミング信号生成部4は書込カウンタ2
の書込アドレス信号WADに基づき、WAD=0,1の
タイミングに書込開始側のウィンドウ信号WINEを生
成する。またタイミング信号生成部6は同書込アドレス
信号WADに基づき、WAD=N−1,Nのタイミング
に書込終了側のウィンドウ信号WINFを生成する。一
方、タイミング信号生成部7は読出カウンタ3の読出ア
ドレス信号RADに基づき、RAD=0のタイミングに
読出開始側の基準信号Sを生成する。更に、タイミング
信号生成部5はWAD=4のタイミングにエンプティー
フラグクリア信号EFCLRを生成し、またタイミング
信号生成部8はRAD=3のタイミングにフルフラブク
リア信号FFCLRを生成する。
The timing signal generator 4 is composed of the write counter 2
Based on the write address signal WAD of, the window signal WINE on the write start side is generated at the timing of WAD = 0, 1. Further, the timing signal generator 6 generates the window signal WINF on the write end side at the timing of WAD = N−1, N based on the write address signal WAD. On the other hand, the timing signal generator 7 generates the reference signal S on the read start side at the timing of RAD = 0 based on the read address signal RAD of the read counter 3. Further, the timing signal generator 5 generates the empty flag clear signal EFCLR at the timing of WAD = 4, and the timing signal generator 8 generates the full flag clear signal FFCLR at the timing of RAD = 3.

【0025】クロック信号CKA,CKBは夫々フリー
ランしており、互いに位相同期していない。クロック周
波数CKA,CKBは基本的には略同一であるが、周波
数の誤差、ジッタ又はワンダにより継続的又は一時的に
CKA<CKB又はCKA>CKBの関係となる。これ
に伴いデュアルポートRAM1に対するデータ読書位相
も様々に変動する。即ち、CKA<CKBの場合はデー
タ読出制御が速いためにバッファエンプティーの側に移
相し、またCKA>CKBの場合はデータ書込制御が速
いためにバッファフルの側に移相する。
The clock signals CKA and CKB are free-running and are not in phase synchronization with each other. The clock frequencies CKA and CKB are basically substantially the same, but the relationship of CKA <CKB or CKA> CKB is continuously or temporarily generated due to frequency error, jitter, or wander. Along with this, the data reading phase for the dual port RAM 1 also changes variously. That is, when CKA <CKB, the data read control is fast and therefore the phase shifts to the buffer empty side, and when CKA> CKB, the data write control is fast and the phase shifts to the buffer full side.

【0026】以下に、データ読書位相がバッファエンプ
ティーの側又はバッファフルの側に移相した場合の容量
監視制御及びこれに伴う読書移相制御を図3〜図6のタ
イミングチャート(1)〜(4)を参照して説明する。
図3は実施例のFIFOメモリのタイミングチャート
(1)であり、データ読書位相がバッファエンプティー
の側に移相した場合の動作を示している。
The following is a timing chart (1) to () of FIG. 3 to FIG. 6 showing the capacity monitoring control and the accompanying reading phase shift control when the data reading phase is shifted to the buffer empty side or the buffer full side. This will be described with reference to 4).
FIG. 3 is a timing chart (1) of the FIFO memory of the embodiment and shows the operation when the data reading phase is shifted to the buffer empty side.

【0027】なお、図示しないが、最初はシステムリセ
ット信号SRの発生によりWAD=0,RAD=0であ
る。この場合は始めからウィンドウ信号WINE=1,
基準信号S=1となりANDゲート回路15を満足す
る。ANDゲート回路15の出力はORゲート回路1
9,ANDゲート回路15を介して最初のクロック信号
CKBによりフリップフロップ10をセットし、エンプ
ティーフラグ信号EFLG=1となる。フリップフロッ
プ10がDタイプの場合は該EFLG=1の状態はOR
ゲート回路19,ANDゲート回路16を介して保持さ
れる。ANDゲート回路12はEFLG=1により読出
パルス信号REの発生を阻止し、これによりデータ読出
制御は待たされる。
Although not shown, initially, WAD = 0 and RAD = 0 due to the generation of the system reset signal SR. In this case, the window signal WINE = 1,
The reference signal S = 1 and the AND gate circuit 15 is satisfied. The output of the AND gate circuit 15 is the OR gate circuit 1
9. The flip-flop 10 is set by the first clock signal CKB via the AND gate circuit 15, and the empty flag signal EFLG = 1. When the flip-flop 10 is of D type, the state of EFLG = 1 is OR
It is held via the gate circuit 19 and the AND gate circuit 16. The AND gate circuit 12 blocks the generation of the read pulse signal RE when EFLG = 1, whereby the data read control is kept waiting.

【0028】やがて、書込アドレス信号WAD=4とな
ると、タイミング信号生成部5からはエンプティーフラ
グクリア信号EFCLが発生し、これがANDゲート回
路16を介してフリップフロップ10をリセットする。
これによりエンプティーフラグ信号EFLG=0とな
り、上記待たされていたデータ読出制御は所定の遅れ位
相で開始される。この場合に、タイミング信号生成部5
のデコード値を「4」よりも十分に大きい値に選べば、
データ読出制御の開始位相を十分に遅らせることが可能
である。なお、タイミング信号生成部5のデコード値は
外部より設定可能に構成しても良い。
When the write address signal WAD = 4 eventually, the empty flag clear signal EFCL is generated from the timing signal generator 5, and this resets the flip-flop 10 via the AND gate circuit 16.
As a result, the empty flag signal EFLG becomes 0, and the waiting data reading control is started with a predetermined delay phase. In this case, the timing signal generator 5
If the decode value of is chosen to be much larger than "4",
It is possible to sufficiently delay the start phase of data read control. The decode value of the timing signal generator 5 may be set externally.

【0029】しかる後、例えばクロック周波数CKA<
CKBの関係によりデータ読書位相がバッファエンプテ
ィーの側に移相すると、ウィンドウ信号WINE(WA
D=1)と基準信号S(RAD=0)とが重なり、AN
Dゲート回路15を満足する。ANDゲート回路15の
出力はORゲート回路19,ANDゲート回路16を介
してフリップフロップ10をセットし、エンプティーフ
ラグ信号EFLG=1となる。フリップフロップ10が
Dタイプの場合はEFLG=1の状態はORゲート回路
19,ANDゲート回路16を介して保持される。AN
Dゲート回路12はEFLG=1によりその後の読出パ
ルス信号REの発生を阻止し、これによりデータ読出制
御は待たされる。
After that, for example, the clock frequency CKA <
When the data reading phase is shifted to the buffer empty side due to the relationship of CKB, the window signal WIN (WA
D = 1) and the reference signal S (RAD = 0) overlap and AN
The D gate circuit 15 is satisfied. The output of the AND gate circuit 15 sets the flip-flop 10 via the OR gate circuit 19 and the AND gate circuit 16, and the empty flag signal EFLG = 1. When the flip-flop 10 is a D type, the state of EFLG = 1 is held via the OR gate circuit 19 and the AND gate circuit 16. AN
The D gate circuit 12 prevents the subsequent generation of the read pulse signal RE when EFLG = 1, and the data read control is kept waiting.

【0030】やがて、書込アドレス信号WAD=4とな
ると、エンプティーフラグクリア信号EFCLが発生
し、これがANDゲート回路16を介してフリップフロ
ップ10をリセットする。これによりエンプティーフラ
グ信号EFLG=0となり、上記待たされていたデータ
読出制御は続きのデータ読出制御を再開する。なお、更
にクロック周波数CKA<CKBの状態が続くと、デー
タ読書位相はまもなくバッファエンプティーの側に再度
移相する。しかし、例えばタイミング信号生成部5のデ
コード値を「4」よりも十分に大きい値にすれば、デー
タ読出制御の再開位相を十分に遅らせることが可能であ
る。
When the write address signal WAD = 4, the empty flag clear signal EFCL is generated, which resets the flip-flop 10 via the AND gate circuit 16. As a result, the empty flag signal EFLG becomes 0, and the waiting data read control restarts the subsequent data read control. If the clock frequency CKA <CKB continues, the data reading phase will soon shift to the buffer empty side again. However, if the decode value of the timing signal generator 5 is set to a value sufficiently larger than “4”, the restart phase of the data read control can be delayed sufficiently.

【0031】また、図2のタイミング信号生成部5を設
ける代わりに、タイマ(TM)21を設けても良い。こ
の例のタイマ21はEFLG=1となった後の所定数の
クロック信号CKBを計数することによりタイムアウト
し、エンプティーフラグクリア信号EFCLを発生す
る。かかる構成とすれば、データ読書位相がバッファエ
ンプティーとなる度にデータ読出位相を所定時間だけ遅
らせるような簡単な制御が行える。
A timer (TM) 21 may be provided instead of the timing signal generator 5 shown in FIG. The timer 21 in this example times out by counting a predetermined number of clock signals CKB after EFLG = 1, and generates an empty flag clear signal EFCL. With this configuration, simple control can be performed such that the data read phase is delayed by a predetermined time each time the data reading phase becomes the buffer empty.

【0032】図4は実施例のFIFOメモリのタイミン
グチャート(2)であり、データ読書位相がバッファエ
ンプティーの側に移相した場合の他の動作を示してい
る。この例では、図2に示す如く、ANDゲート回路1
4を設け、EFLG=1*EFCL=1の条件で読出カ
ウンタ3に所定値(この例では「0」)をロード可能と
している。こうすれば、データ読出位相は図3のような
続きのRAD=2からではなく、図4のRAD=0から
再開される。従って、データ読出位相は更に遅れる。こ
の読出フレームでは一部データが二重読出となってしま
うが、次フレームからの読出は正常となる。また、読出
カウンタ3にロードする所定値は「0」以外の任意の値
で良く、更にこの値は外部から設定可能に構成しても良
い。こうすれば、データ読出位相を任意に設定できる。
FIG. 4 is a timing chart (2) of the FIFO memory of the embodiment and shows another operation when the data reading phase is shifted to the buffer empty side. In this example, as shown in FIG. 2, the AND gate circuit 1
4 is provided so that a predetermined value (“0” in this example) can be loaded into the read counter 3 under the condition of EFLG = 1 * EFCL = 1. In this way, the data read phase is restarted from RAD = 0 in FIG. 4, rather than from the subsequent RAD = 2 as in FIG. Therefore, the data read phase is further delayed. In this read frame, some data is double read, but the read from the next frame is normal. The predetermined value loaded to the read counter 3 may be any value other than "0", and this value may be set externally. In this way, the data read phase can be set arbitrarily.

【0033】なお、図2に示す如く、外部からのセット
信号PGSによりフリップフロップ10を任意のタイミ
ングに強制セットしても良い。こうすれば、任意のタイ
ミングに任意のデータ読出アドレスからのデータ読出制
御を再開できる。図5は実施例のFIFOメモリのタイ
ミングチャート(3)であり、データ読書位相がバッフ
ァフルの側に移相した場合の動作を示している。
As shown in FIG. 2, the flip-flop 10 may be forcibly set at an arbitrary timing by an external set signal PGS. In this way, data read control from an arbitrary data read address can be restarted at an arbitrary timing. FIG. 5 is a timing chart (3) of the FIFO memory of the embodiment and shows the operation when the data reading phase is shifted to the buffer full side.

【0034】クロック周波数CKA>CKBの関係によ
りデータ読書位相がバッファフルの側に移相すると、ウ
ィンドウ信号WINF(WAD=N−1)と基準信号S
(RAD=0)とが重なり、ANDゲート回路17を満
足する。ANDゲート回路17の出力はORゲート回路
20,ANDゲート回路18を介してフリップフロップ
9をセットし、フルフラグ信号FFLG=1となる。フ
リップフロップ9がDタイプの場合はFFLG=1の状
態はORゲート回路20,ANDゲート回路18を介し
て保持される。ANDゲート回路13はFFLG=1に
よりその後の書込パルス信号WPの発生を阻止し、これ
によりデータ書込制御は待たされる。
When the data reading phase is shifted to the buffer full side due to the relationship of clock frequency CKA> CKB, the window signal WINF (WAD = N-1) and the reference signal S
(RAD = 0) overlaps and satisfies the AND gate circuit 17. The output of the AND gate circuit 17 sets the flip-flop 9 via the OR gate circuit 20 and the AND gate circuit 18, and the full flag signal FFLG = 1. When the flip-flop 9 is the D type, the state of FFLG = 1 is held via the OR gate circuit 20 and the AND gate circuit 18. The AND gate circuit 13 prevents the subsequent generation of the write pulse signal WP by FFLG = 1, whereby the data write control is kept waiting.

【0035】やがて、読出アドレス信号RAD=3とな
ると、フルフラグクリア信号FFCLが発生し、これが
ANDゲート回路18を介してフリップフロップ9をリ
セットする。これによりフルフラグ信号FFLG=0と
なり、上記待たされていたデータ書込制御は続きのデー
タ書込制御を再開する。なお、更にクロック周波数CK
A>CKBの状態が続くと、データ読書位相はまもなく
バッファフルの側に再度移相する。しかし、例えばタイ
ミング信号生成部8のデコード値を「3」よりも十分に
大きい値にすれば、データ書込制御の再開位相を十分に
遅らせることが可能である。
When the read address signal RAD = 3 eventually, a full flag clear signal FFCL is generated, which resets the flip-flop 9 via the AND gate circuit 18. As a result, the full flag signal FFLG becomes 0, and the waiting data write control restarts the subsequent data write control. In addition, the clock frequency CK
If the state of A> CKB continues, the data reading phase will be shifted to the buffer full side again soon. However, if the decode value of the timing signal generator 8 is set to a value sufficiently larger than “3”, the restart phase of the data write control can be delayed sufficiently.

【0036】また、図示しないが、図2のタイミング信
号生成部8を設ける代わりに、上記同様にしてタイマを
設けても良い。この場合のタイマはFFLG=1となっ
た後の所定数のクロック信号CKAを計数することによ
りタイムアウトし、フルフラグクリア信号FFCLを発
生する。かかる構成とすれば、データ読書位相がバッフ
ァフルとなる度にデータ書込位相を所定時間だけ遅らせ
るような簡単な制御が行える。
Although not shown, a timer may be provided in the same manner as above, instead of providing the timing signal generator 8 of FIG. The timer in this case times out by counting a predetermined number of clock signals CKA after FFLG = 1, and generates a full flag clear signal FFCL. With such a configuration, simple control can be performed such that the data writing phase is delayed by a predetermined time each time the data reading phase becomes full.

【0037】図6は実施例のFIFOメモリのタイミン
グチャート(4)であり、データ読書位相がバッファフ
ルの側に移相した場合の他の動作を示している。この例
では、図2に示す如くANDゲート回路13を設け、F
FLG=1*FFCL=1の条件で書込カウンタ2に所
定値(この例では「0」)をロード可能にしている。こ
の場合のデータ読書位相は図5の場合と略同等となる
が、例えば書込カウンタ2に「0」以外の任意の値をロ
ードすれば、任意の書込アドレスWADからデータ書込
制御を再開できる。このフレームのデータ書込は正常で
はないが、次フレームからのデータ書込は正常となる。
FIG. 6 is a timing chart (4) of the FIFO memory of the embodiment, showing another operation when the data reading phase is shifted to the buffer full side. In this example, an AND gate circuit 13 is provided as shown in FIG.
Under the condition of FLG = 1 * FFCL = 1, the write counter 2 can be loaded with a predetermined value (“0” in this example). The data reading phase in this case is substantially the same as that in FIG. 5, but if the write counter 2 is loaded with an arbitrary value other than "0", the data write control is restarted from the arbitrary write address WAD. it can. The data writing of this frame is not normal, but the data writing from the next frame is normal.

【0038】かくして、上記本実施例の容量監視・制御
の下では、データ書込位相はデータ読出位相に重ならな
いし、かつ追い越すこともない。またデータ読出位相は
データ書込位相に重ならないし、かつ追い越すこともな
い。また、ウィンドウ信号WINE,WINFの信号幅
を更に大きく選べば、一層の余裕をもったデータ読書位
相制御が行える。
Thus, under the capacity monitoring / control of the present embodiment, the data writing phase does not overlap with the data reading phase and does not overtake. Also, the data read phase does not overlap the data write phase and does not overtake it. Further, if the signal widths of the window signals WINE and WINF are selected to be larger, the data reading phase control with even more margin can be performed.

【0039】図7は実施例のタイミング信号生成部のブ
ロック図である。図7の(A)は、一例として4つのデ
コーダDEC0〜DEC3により夫々に書込アドレス信
号WAD=0〜3又はWAD=N−3〜Nをデコード
し、各デコード出力の論理和をとる構成を示している。
この構成は出力信号WINE,WINF等の時間幅が短
い場合に有効である。
FIG. 7 is a block diagram of the timing signal generator of the embodiment. As an example, FIG. 7A shows a configuration in which four decoders DEC0 to DEC3 decode the write address signals WAD = 0 to 3 or WAD = N-3 to N, respectively, and take the logical sum of the decoded outputs. Shows.
This configuration is effective when the time widths of the output signals WINE, WINF, etc. are short.

【0040】図7の(B)は、デコーダDEC0のデコ
ード出力によりRSフリップフロップFFを強制セット
し、かつDEC3のデコード出力により同フリップフロ
ップFFを強制リセットする構成を示している。この構
成は出力信号WINE,WINF等の時間幅が長い場合
に有効である。図7の(C)は、デコーダDEC0のデ
コード出力によりDフリップフロップFFをクロック信
号CKAのタイミングにセットし、かつDEC3のデコ
ード出力により同フリップフロップFFをクロック信号
CKAのタイミングにリセット構成を示している。この
構成は出力信号WINE,WINF等の時間幅が長い場
合に有効である。
FIG. 7B shows a configuration in which the RS flip-flop FF is forcibly set by the decode output of the decoder DEC0 and the flip-flop FF is forcibly reset by the decode output of DEC3. This configuration is effective when the time width of the output signals WINE, WINF, etc. is long. 7C shows a configuration in which the D flip-flop FF is set at the timing of the clock signal CKA by the decode output of the decoder DEC0, and the flip-flop FF is reset at the timing of the clock signal CKA by the decode output of DEC3. There is. This configuration is effective when the time width of the output signals WINE, WINF, etc. is long.

【0041】図8は実施例の制御信号のクロック乗換方
式のブロック図である。図8の(A)は、クロック信号
CKAに同期した制御信号を2つのDフリップフロップ
FFを使用してクロック信号CKBに同期した制御信号
に乗り換える構成を示している。なお、Dフリップフロ
ップFFは1つでも良い。図8の(B)では、まず上段
の2つのDフリップフロップFF及びANDゲート回路
Aによりクロック信号CKAに同期した制御信号の立ち
上がりエッジをクロック信号CKBのタイミングで捕ら
え、これにより出力のDフリップフロップFFをセット
する。次に下段の2つのDフリップフロップFF及びA
NDゲート回路Aによりクロック信号CKAに同期した
制御信号の立ち下がりエッジをクロック信号CKBのタ
イミングで捕らえ、これにより出力のDフリップフロッ
プFFをリセットする。
FIG. 8 is a block diagram of the control signal clock transfer system of the embodiment. FIG. 8A shows a configuration in which the control signal synchronized with the clock signal CKA is transferred to the control signal synchronized with the clock signal CKB by using the two D flip-flops FF. The number of D flip-flops FF may be one. In FIG. 8B, the rising edges of the control signal synchronized with the clock signal CKA are first captured by the two upper D flip-flops FF and the AND gate circuit A at the timing of the clock signal CKB. Set FF. Next, the two lower D flip-flops FF and A
The ND gate circuit A catches the falling edge of the control signal in synchronization with the clock signal CKA at the timing of the clock signal CKB, thereby resetting the output D flip-flop FF.

【0042】なお、上記制御信号のクロック乗換を行う
場合には、クロック信号CKAに同期した側の制御信号
の時間幅は少なくともクロック信号CKBの1周期分あ
ることが必要である。かくして、上記何れかのクロック
乗換回路を使用することにより、動作安定なFIFOメ
モリを構成できる。
In the case of performing the clock transfer of the control signal, the time width of the control signal on the side synchronized with the clock signal CKA needs to be at least one cycle of the clock signal CKB. Thus, by using any one of the above clock transfer circuits, a FIFO memory with stable operation can be constructed.

【0043】なお、上記実施例ではデータメモリをデュ
アルポートRAM1で構成したが、他にエラスティック
メモリ又は通常のRAMを使用して構成しても良い。ま
た、上記実施例では基準信号SはRAD=0のタイミン
グに1個生成したがこれに限らない。基準信号Sは任意
のRAD=a〜b(但し、0<a<b<N)について連
続して生成しても良いし、又はRAD=a,b(但し、
0<a<b<N)の2点で夫々生成しても良い。
Although the data memory is composed of the dual port RAM 1 in the above embodiment, it may be composed of an elastic memory or a normal RAM. Further, in the above embodiment, one reference signal S is generated at the timing of RAD = 0, but the present invention is not limited to this. The reference signal S may be continuously generated for any RAD = a to b (where 0 <a <b <N), or RAD = a, b (however,
It may be generated at two points of 0 <a <b <N).

【0044】また、上記実施例では読出カウンタ3の基
準信号Sを書込カウンタ2の異なるウィンドウ信号WI
NE,WINFで挟み込み、これらの信号の一部重なり
を検出することでメモリ1の容量監視を行った。しか
し、この容量監視方式の対称性に着目すれば、逆に書込
カウンタ2の基準信号S(例えばWAD=0)を読出カ
ウンタ3の異なるウィンドウ信号WINE(例えばRA
D=0,1),WINF(例えばRAD=N−1,N)
で挟み込み、これらの信号の一部重なりを検出すること
でも同様の容量監視が行えることは明らかである。
Further, in the above embodiment, the reference signal S of the read counter 3 is changed to the different window signal WI of the write counter 2.
The capacity of the memory 1 was monitored by sandwiching between NE and WINF and detecting a partial overlap of these signals. However, if attention is paid to the symmetry of this capacitance monitoring method, conversely, the reference signal S (for example, WAD = 0) of the write counter 2 is changed to the different window signal WINE (for example, RA
D = 0, 1), WINF (for example, RAD = N-1, N)
It is clear that the same capacity monitoring can be performed by sandwiching the two with and detecting a partial overlap of these signals.

【0045】この場合は、図示しないが、データ書込位
相に対してデータ読出位相が所定以上の遅れとなった
後、読出カウンタ3のウィンドウ信号WINFと書込カ
ウンタ2の基準信号Sとが重なったことによりエンプテ
ィーフラグ信号EFLGをセットし、その後のデータ読
出制御を一時的に休止させる。また、データ書込位相に
対してデータ読出位相が所定以上の遅れとなった後、読
出カウンタ3のウィンドウ信号WINEと書込カウンタ
2の基準信号Sとが重なったことによりフルフラグ信号
FFLGをセットし、その後のデータ書込制御を一時的
に休止させる。
In this case, although not shown, the window signal WINF of the read counter 3 and the reference signal S of the write counter 2 overlap after the data read phase is delayed by a predetermined amount or more with respect to the data write phase. As a result, the empty flag signal EFLG is set, and the subsequent data read control is temporarily suspended. Further, the full flag signal FFLG is set because the window signal WIN of the read counter 3 and the reference signal S of the write counter 2 overlap each other after the data read phase is delayed by a predetermined amount or more with respect to the data write phase. Then, the subsequent data writing control is temporarily suspended.

【0046】また、上記本発明に好適なる実施例を述べ
たが、本発明思想を逸脱しない範囲内で、構成及び組合
せの様々な変更が行えることは言うまでも無い。
Although the preferred embodiment of the present invention has been described above, it goes without saying that various changes in the structure and combination can be made without departing from the spirit of the present invention.

【0047】[0047]

【発明の効果】以上述べた如く本発明によれば、書込カ
ウンタの書込アドレスに基づき互いに異なる第1,第2
のウィンドウを生成すると共に、該第1,第2のウィン
ドウと読出カウンタの所定の読出アドレスに基づき生成
した第3のウィンドウとの間の少なくとも一部重なりを
検出することによりメモリの容量監視を行うので、デー
タ読書制御とメモリ容量監視制御とが遊離せず、もって
クロック信号の断や擾乱等が生じても、常に信頼性の高
いFIFOメモリ動作が保証される。
As described above, according to the present invention, the first and the second different from each other based on the write address of the write counter.
Of the memory, and at the same time, the memory capacity is monitored by detecting at least a partial overlap between the first and second windows and the third window generated based on a predetermined read address of the read counter. Therefore, the data reading control and the memory capacity monitoring control are not separated, and even if the clock signal is interrupted or disturbed, a highly reliable FIFO memory operation is always guaranteed.

【図面の簡単な説明】[Brief description of drawings]

【図1】図1は本発明の原理を説明する図である。FIG. 1 is a diagram illustrating the principle of the present invention.

【図2】図2は実施例のFIFOメモリのブロック図で
ある。
FIG. 2 is a block diagram of a FIFO memory according to an embodiment.

【図3】図3は実施例のFIFOメモリのタイミングチ
ャート(1)である。
FIG. 3 is a timing chart (1) of the FIFO memory according to the embodiment.

【図4】図4は実施例のFIFOメモリのタイミングチ
ャート(2)である。
FIG. 4 is a timing chart (2) of the FIFO memory according to the embodiment.

【図5】図5は実施例のFIFOメモリのタイミングチ
ャート(3)である。
FIG. 5 is a timing chart (3) of the FIFO memory according to the embodiment.

【図6】図6は実施例のFIFOメモリのタイミングチ
ャート(4)である。
FIG. 6 is a timing chart (4) of the FIFO memory according to the embodiment.

【図7】図7は実施例のタイミング信号生成部のブロッ
ク図である。
FIG. 7 is a block diagram of a timing signal generation unit according to the embodiment.

【図8】図8は実施例の制御信号のクロック乗換方式の
ブロック図である。
FIG. 8 is a block diagram of a control signal clock transfer system according to the embodiment.

【図9】図9は従来のFIFOメモリのブロック図であ
る。
FIG. 9 is a block diagram of a conventional FIFO memory.

【図10】図10は従来のFIFOメモリのタイミング
チャートである。
FIG. 10 is a timing chart of a conventional FIFO memory.

【符号の説明】[Explanation of symbols]

1 メモリ 2 書込カウンタ 3 読出カウンタ 4 第1のウィンドウ生成部 6 第2のウィンドウ生成部 7 第3のウィンドウ生成部 1 Memory 2 Write Counter 3 Read Counter 4 First Window Generation Unit 6 Second Window Generation Unit 7 Third Window Generation Unit

Claims (12)

【特許請求の範囲】[Claims] 【請求項1】 データを記憶するメモリと、メモリの書
込アドレスを生成する書込カウンタと、メモリの読出ア
ドレスを生成する読出カウンタとを備えるFIFOメモ
リにおいて、 書込カウンタの書込アドレスに基づき互いに異なる第
1,第2のウィンドウを生成すると共に、該第1,第2
のウィンドウと読出カウンタの所定の読出アドレスに基
づき生成した第3のウィンドウとの間の少なくとも一部
重なりを検出することによりメモリの容量監視を行うこ
とを特徴とするFIFOメモリ。
1. A FIFO memory comprising: a memory for storing data; a write counter for generating a write address of the memory; and a read counter for generating a read address of the memory, based on a write address of the write counter. The first and second windows that are different from each other are generated, and the first and second windows are generated.
FIFO memory, wherein the capacity of the memory is monitored by detecting at least a partial overlap between the window and the third window generated based on a predetermined read address of the read counter.
【請求項2】 書込アドレスの小さい値に対応する第1
のウィンドウと読出アドレスの第3のウィンドウとが重
なったことによりエンプティーフラグをセットし、その
後のデータ読出制御を一時的に休止させることを特徴と
する請求項1のFIFOメモリ。
2. A first corresponding to a small value of a write address.
2. The FIFO memory according to claim 1, wherein the empty flag is set when the third window of the read address overlaps the third window of the read address, and the subsequent data read control is temporarily suspended.
【請求項3】 書込アドレスが所定値に達したことによ
りエンプティーフラグをリセットし、これに伴いデータ
読出制御を開始することを特徴とする請求項2のFIF
Oメモリ。
3. The FIF according to claim 2, wherein the empty flag is reset when the write address reaches a predetermined value, and the data read control is started accordingly.
O memory.
【請求項4】 エンプティーフラグのリセットに伴い読
出カウンタに任意の読出アドレスをセットすることを特
徴とする請求項3のFIFOメモリ。
4. The FIFO memory according to claim 3, wherein an arbitrary read address is set in the read counter when the empty flag is reset.
【請求項5】 書込アドレスの大きい値に対応する第2
のウィンドウと読出アドレスの第3のウィンドウとが重
なったことによりフルフラグをセットし、その後のデー
タ書込制御を一時的に休止させることを特徴とする請求
項1のFIFOメモリ。
5. A second address corresponding to a large value of the write address.
2. The FIFO memory according to claim 1, wherein the full flag is set by the overlapping of the third window of the read address and the third window of the read address, and the subsequent data write control is temporarily suspended.
【請求項6】 読出アドレスが所定値に達したことによ
りフルフラグをリセットし、これに伴いデータ書込制御
を開始することを特徴とする請求項5のFIFOメモ
リ。
6. The FIFO memory according to claim 5, wherein the full flag is reset when the read address reaches a predetermined value, and the data write control is started accordingly.
【請求項7】 フルフラグのリセットに伴い書込カウン
タに任意の書込アドレスをセットすることを特徴とする
請求項6のFIFOメモリ。
7. The FIFO memory according to claim 6, wherein an arbitrary write address is set in the write counter when the full flag is reset.
【請求項8】 外部よりエンプティーフラグを強制セッ
ト可能であることを特徴とする請求項2のFIFOメモ
リ。
8. The FIFO memory according to claim 2, wherein the empty flag can be forcibly set from the outside.
【請求項9】 書込側及び読出側の各生成信号は夫々第
1,第2のクロック信号に同期して生成されると共に、
書込側と読出側との間にまたがる制御信号は1又は2以
上のクロックラッチ回路を介して相手側のクロック信号
に乗り換える様に構成されていることを特徴とする請求
項1のFIFOメモリ。
9. The write-side and read-side generated signals are respectively generated in synchronization with the first and second clock signals, and
2. The FIFO memory according to claim 1, wherein the control signal extending between the writing side and the reading side is configured to be transferred to the clock signal of the other side via one or more clock latch circuits.
【請求項10】 データを記憶するメモリと、メモリの
書込アドレスを生成する書込カウンタと、メモリの読出
アドレスを生成する読出カウンタとを備えるFIFOメ
モリにおいて、 読出カウンタの読出アドレスに基づき互いに異なる第
1,第2のウィンドウを生成すると共に、該第1,第2
のウィンドウと書込カウンタの所定の書込アドレスに基
づき生成した第3のウィンドウとの間の少なくとも一部
重なりを検出することによりメモリの容量監視を行うこ
とを特徴とするFIFOメモリ。
10. A FIFO memory including a memory for storing data, a write counter for generating a write address of the memory, and a read counter for generating a read address of the memory, which are different from each other based on the read address of the read counter. The first and second windows are generated, and the first and second windows are generated.
FIFO memory, wherein the capacity of the memory is monitored by detecting at least a partial overlap between the above window and a third window generated based on a predetermined write address of the write counter.
【請求項11】 データ書込位相に対してデータ読出位
相が所定以上の遅れとなった後、読出アドレスの大きい
値に対応する第2のウィンドウと書込アドレスの第3の
ウィンドウとが重なったことによりエンプティーフラグ
をセットし、その後のデータ読出制御を一時的に休止さ
せることを特徴とする請求項10のFIFOメモリ。
11. The second window corresponding to a large value of the read address and the third window of the write address overlap each other after the data read phase is delayed by a predetermined amount or more with respect to the data write phase. 11. The FIFO memory according to claim 10, wherein the empty flag is thereby set and the subsequent data read control is temporarily suspended.
【請求項12】 データ書込位相に対してデータ読出位
相が所定以上の遅れとなった後、読出アドレスの小さい
値に対応する第1のウィンドウと書込アドレスの第3の
ウィンドウとが重なったことによりフルフラグをセット
し、その後のデータ書込制御を一時的に休止させること
を特徴とする請求項10のFIFOメモリ。
12. The first window corresponding to a small value of the read address and the third window of the write address overlap each other after the data read phase is delayed by a predetermined amount or more with respect to the data write phase. 11. The FIFO memory according to claim 10, wherein the full flag is set and the subsequent data write control is temporarily suspended.
JP26406694A 1994-10-27 1994-10-27 FIFO memory Expired - Fee Related JP3669591B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26406694A JP3669591B2 (en) 1994-10-27 1994-10-27 FIFO memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26406694A JP3669591B2 (en) 1994-10-27 1994-10-27 FIFO memory

Publications (2)

Publication Number Publication Date
JPH08124376A true JPH08124376A (en) 1996-05-17
JP3669591B2 JP3669591B2 (en) 2005-07-06

Family

ID=17398054

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26406694A Expired - Fee Related JP3669591B2 (en) 1994-10-27 1994-10-27 FIFO memory

Country Status (1)

Country Link
JP (1) JP3669591B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6154407A (en) * 1998-04-24 2000-11-28 Oki Electric Industry Co., Ltd. First in first out memory circuit
US6693986B2 (en) 2000-02-28 2004-02-17 Fujitsu Limited Signal control apparatus, transmission system and signal resynchronization control method
CN100337443C (en) * 2003-07-02 2007-09-12 华为技术有限公司 A FIFO storage and method for rapidly generating storage mark
JP2014107793A (en) * 2012-11-29 2014-06-09 Fujitsu Ltd Counter device and counting method

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6154407A (en) * 1998-04-24 2000-11-28 Oki Electric Industry Co., Ltd. First in first out memory circuit
US6191993B1 (en) 1998-04-24 2001-02-20 Kenjiro Matoba First in first out memory circuit
US6252815B1 (en) 1998-04-24 2001-06-26 Oki Electric Industry Co., Ltd. First in first out memory circuit
US6693986B2 (en) 2000-02-28 2004-02-17 Fujitsu Limited Signal control apparatus, transmission system and signal resynchronization control method
CN100337443C (en) * 2003-07-02 2007-09-12 华为技术有限公司 A FIFO storage and method for rapidly generating storage mark
JP2014107793A (en) * 2012-11-29 2014-06-09 Fujitsu Ltd Counter device and counting method

Also Published As

Publication number Publication date
JP3669591B2 (en) 2005-07-06

Similar Documents

Publication Publication Date Title
TWI298888B (en) Pseudo-synchronization of the transportation of data across asynchronous clock domains
US6166963A (en) Dual port memory with synchronized read and write pointers
FI63499C (en) ADRESS- OCH AVBROTTSIGNALGENERATOR
JPH0817180A (en) Method and apparatus for predictive status flag generation in a first in first out (FIFO) memory device
JPH06259225A (en) Synchronizer of data transfer
JPH08124376A (en) FIFO memory
US6137851A (en) System and method for synchronizing a signal with respect to another signal
EP1639601B1 (en) Asynchronous jitter reduction technique
JP2621897B2 (en) Transmit buffer circuit for asynchronous data transmission
JP3592169B2 (en) Asynchronous data transfer control device and asynchronous data transfer control method
JPS60252962A (en) Processor down notification method
JP3688137B2 (en) Microcomputer
JP3441275B2 (en) Data parallel interface circuit
EP1188108B1 (en) Two clock domain pulse to pulse synchronizer
EP0242908A1 (en) Television signal memory write circuit
JP2616583B2 (en) Data transmission equipment
JP2834948B2 (en) Data transfer method
JP2944549B2 (en) Cell processing circuit
JPS6073770A (en) Asynchronous signal processing method in information processing device
JP2000307556A (en) Asynchronous signal interface circuit
KR930004435B1 (en) Memory Overflow Detection Device of Elastic Buffer
KR900009356Y1 (en) Jitter absorbing circuit in tape recorder
JPS63182911A (en) Duty detection circuit
JPH04264644A (en) Buffer storage device read error detection circuit
JPS61210736A (en) Buffer circuit for transferring information

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20040521

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040706

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040826

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050405

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050408

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080422

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090422

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090422

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100422

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110422

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees