JPH05197520A - Fifo memory - Google Patents

Fifo memory

Info

Publication number
JPH05197520A
JPH05197520A JP4008823A JP882392A JPH05197520A JP H05197520 A JPH05197520 A JP H05197520A JP 4008823 A JP4008823 A JP 4008823A JP 882392 A JP882392 A JP 882392A JP H05197520 A JPH05197520 A JP H05197520A
Authority
JP
Japan
Prior art keywords
full
data
empty
signal
processor
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.)
Pending
Application number
JP4008823A
Other languages
Japanese (ja)
Inventor
Daisaku Yamane
大作 山根
Masaji Ishikawa
正司 石川
Yuuki Sudou
雄基 須藤
Sachio Yamato
佐知男 山戸
Hiroshi Miura
浩 三浦
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.)
Japan Radio Co Ltd
Original Assignee
Japan Radio Co 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 Japan Radio Co Ltd filed Critical Japan Radio Co Ltd
Priority to JP4008823A priority Critical patent/JPH05197520A/en
Publication of JPH05197520A publication Critical patent/JPH05197520A/en
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

PURPOSE:To prevent data from overflowing by outputting a fullness signal before a storage means becomes completely full. CONSTITUTION:Flip-flops 24 and 26 which are connected to a flag checker 20 latch 'empty' or 'full' respectively. The latched 'empty' and 'full' (lat- empty and lat-full in the figure) are outputted to a processor, etc. Then a full- timing setter 22 sets the output time point of 'full' from the flag checker 20 is set corresponding to an external signal preset-full. Thus, the output time of a processor, etc., is set with preset-full so that registers 10-i are efficiently used without any data overflow of a register file 12.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、非同期に動作する複数
のプロセッサ、専用処理ハードウエア等の間をパイプラ
イン的にデータが流れる情報処理システムに関し、特
に、上流側プロセッサ等から下流側プロセッサ等への授
受に係るデータを一旦格納するFIFO(Fast-In Fast
-Out)メモリの改良に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information processing system in which data flows in a pipeline between a plurality of processors operating asynchronously, dedicated processing hardware, etc., and particularly, from an upstream processor to a downstream processor. FIFO (Fast-In Fast) that temporarily stores data related to sending and receiving
-Out) Regarding memory improvements.

【0002】[0002]

【従来の技術】従来から、各種情報処理システムにおい
てFIFOメモリが用いられている。例えば上流側プロ
セッサから下流側プロセッサに向けデータを流すパイプ
ライン型のシステムでは、特に上流側と下流側が非同期
の場合に、授受に係るデータを一旦格納するためFIF
Oメモリを用いる。
2. Description of the Related Art Conventionally, a FIFO memory has been used in various information processing systems. For example, in a pipeline type system in which data is sent from an upstream processor to a downstream processor, a FIFO is used to temporarily store data related to transfer, especially when the upstream side and the downstream side are asynchronous.
O memory is used.

【0003】このようなシステムにおいては、一般に、
FIFOメモリにおけるデータ格納状況を検出しつつ、
通信を行う。検出する状況としては、例えばFIFOメ
モリのエンプティやフルがある。エンプティとはFIF
Oメモリが空の状況であり、フルとは書き込みの余地が
ない状況である。FIFOメモリは、これらの状況を、
エンプティ信号、フル信号によりプロセッサ等に知らせ
る。
In such a system, in general,
While detecting the data storage status in the FIFO memory,
Communicate. The status to be detected is, for example, empty or full of the FIFO memory. What is empty FIF
The O memory is empty, and full means that there is no room for writing. The FIFO memory stores these situations
Notify the processor, etc. by an empty signal or full signal.

【0004】上流側のプロセッサ、専用処理ハードウエ
ア等は、フル信号を検出してデータの送出をやめる。こ
れは、FIFOメモリがフルであるにもかかわらずデー
タが送出されてしまうと、このデータがFIFOメモリ
から溢れてしまい、システムの誤動作につながるからで
ある。
The upstream processor, dedicated processing hardware, etc. detect the full signal and stop sending data. This is because if the data is sent out even though the FIFO memory is full, this data will overflow from the FIFO memory, leading to a malfunction of the system.

【0005】[0005]

【発明が解決しようとする課題】しかしながら、プロセ
ッサ等には、フル信号を検知してただちにデータの送出
を停止するものの他、フル信号検出後1以上のデータを
送出する構成のものもある。従って、実際にフルとなっ
ている状態でフル信号を出力するのでは遅く、データ溢
れが生じてしまう場合がある。
However, in addition to the processor which detects a full signal and immediately stops the transmission of data, there is a processor which transmits one or more data after the detection of the full signal. Therefore, outputting the full signal in the actual full state is slow and data overflow may occur.

【0006】このような不具合を防止するFIFOメモ
リとしては、従来、完全にフルになる以前の状態(ハー
フフル)でフル信号を出力する構成があった。この構成
のFIFOメモリを使用した場合、フル信号検出後1以
上のデータを送出する構成のプロセッサであっても、デ
ータ溢れが生じることはない。しかし、このように早め
にフル信号を出力する構成では、FIFOメモリの内部
メモリを有効活用できなくなる。
As a FIFO memory for preventing such a problem, conventionally, there has been a configuration in which a full signal is output in a state before being completely full (half full). When the FIFO memory with this configuration is used, data overflow does not occur even with a processor configured to send out one or more data after detecting a full signal. However, in such a configuration that outputs a full signal early, it becomes impossible to effectively use the internal memory of the FIFO memory.

【0007】本発明は、このような問題点を解決するこ
とを課題としてなされたものであり、データ溢れが生じ
ないようかつ内部メモリを有効活用できるようFIFO
メモリを構成し、さらにアクセスの高速化を実現するこ
とを目的とする。
The present invention has been made to solve the above problems, and a FIFO is provided so that data overflow does not occur and the internal memory can be effectively used.
The purpose is to configure a memory and to achieve faster access.

【0008】[0008]

【課題を解決するための手段】このような目的を達成す
るために、本発明の請求項1に係るFIFOメモリは、
各段毎に順に書き込み/読み出し可能な複数段の記憶手
段と、書き込みクロックを計数することにより複数段の
記憶手段からデータの書き込み先を指定する第1の計数
手段と、読み出しクロックを計数することにより複数段
の記憶手段からデータの読み出し先を指定する第2の計
数手段と、第2の計数手段により指定された段が第1の
計数手段により指定された段からみて設定値以上前の段
である場合に、前記記憶手段への書き込み余地がない旨
のフル信号を出力するフル信号出力手段と、この設定値
を設定する設定手段と、を備えることを特徴とする。
In order to achieve such an object, a FIFO memory according to claim 1 of the present invention comprises:
A plurality of storage means capable of writing / reading in sequence for each stage, a first counting means for designating a write destination of data from the plurality of storage means by counting the write clock, and a read clock. Second counting means for designating a data read destination from the storage means of a plurality of stages, and the stage designated by the second counting means is a preset value or more before the stage designated by the first counting means. In this case, a full signal output means for outputting a full signal indicating that there is no room for writing to the storage means, and a setting means for setting this set value are provided.

【0009】請求項2に係るFIFOメモリは、書き込
みクロックに応じてフル信号をラッチする第1のラッチ
手段を備えることを特徴とする。
According to a second aspect of the present invention, a FIFO memory is provided with a first latch means for latching a full signal according to a write clock.

【0010】請求項3に係るFIFOメモリは、第1及
び第2の計数手段の計数値が一致している場合にエンプ
ティ信号を出力するエンプティ信号出力手段と、読み出
しクロックに応じてエンプティ信号をラッチする第2の
ラッチ手段と、を備えることを特徴とする。
According to another aspect of the FIFO memory of the present invention, an empty signal output means for outputting an empty signal when the count values of the first and second counting means are coincident with each other, and the empty signal is latched according to a read clock. Second latching means for

【0011】そして、請求項4に係る情報処理システム
は、非同期に動作する複数の情報処理手段の間をパイプ
ライン的に上流から下流に向けデータが流れ、各情報処
理手段の間でのデータの授受にあたって請求項1乃至3
記載のFIFOメモリにより当該データを一旦格納する
ことを特徴とする。
Further, in the information processing system according to the fourth aspect, data flows from upstream to downstream in a pipeline manner between a plurality of information processing means that operate asynchronously, and data between the information processing means is transferred. Claims 1 to 3 in giving and receiving
It is characterized in that the data is temporarily stored by the described FIFO memory.

【0012】[0012]

【作用】本発明のFIFOメモリにおいては、書き込み
段及び読み出し段が、それぞれ第1又は第2の計数手段
により指定される。すなわち、第1の計数手段は例えば
上流側のプロセッサからの書き込みクロックを計数して
データの書き込み先を指定し、第2の計数手段は例えば
下流側のプロセッサからの読み出しクロックを計数して
データの読み出し先を指定する。FIFOメモリの記憶
手段がフル状態となった場合、先に述べたようにフル信
号を出力する必要がある。本発明では、記憶手段がフル
であるか否かの判定を、第2の計数手段により指定され
た段が第1の計数手段により指定された段からみて設定
値以上前の段であるか否かの判定として実行している。
従って、例えば上流側のプロセッサがフル信号検出後に
1以上データを送出してしまうプロセッサであったとし
ても、記憶手段が完全にフルになっている状態に至る前
にフル信号が出力されているため、データ溢れを防止で
きる。さらに、この設定値の設定により、完全フル以前
の任意の時点でフル信号を出力させることが可能にな
り、データ送出に係るプロセッサ等の構成・動作に応じ
た設定が可能である。
In the FIFO memory of the present invention, the write stage and the read stage are designated by the first or second counting means, respectively. That is, the first counting unit counts the write clock from the upstream processor, for example, and specifies the data write destination, and the second counting unit counts the read clock from the downstream processor, for example. Specify the read destination. When the storage means of the FIFO memory becomes full, it is necessary to output a full signal as described above. According to the present invention, whether or not the storage means is full is determined by whether or not the stage designated by the second counting means is a stage preceding the stage designated by the first counting means by a preset value or more. It is being executed as a judgment.
Therefore, for example, even if the processor on the upstream side sends one or more data after the full signal is detected, the full signal is output before the storage means becomes completely full. Data overflow can be prevented. Furthermore, by setting this set value, it becomes possible to output a full signal at any time before complete full, and it is possible to make settings according to the configuration and operation of the processor or the like relating to data transmission.

【0013】請求項2においては、第1のラッチ手段に
よりフル信号がラッチされる。ラッチタイミングは例え
ば上流側プロセッサからの書き込みクロックで与えられ
る。これにより、上流側プロセッサの動作周波数に好適
に対応できる。
In the second aspect, the full signal is latched by the first latch means. The latch timing is given by a write clock from the upstream processor, for example. As a result, the operating frequency of the upstream processor can be favorably dealt with.

【0014】請求項3においては、第1及び第2の計数
手段の計数値が一致している場合にエンプティ信号が出
力される。また、第2のラッチ手段によりこのエンプテ
ィ信号がラッチされる。ラッチタイミングは例えば下流
側プロセッサからの読み出しクロックで与えられる。こ
れにより、下流側プロセッサの動作周波数に好適に対応
できる。
In the third aspect, the empty signal is output when the count values of the first and second counting means match. Also, the empty signal is latched by the second latch means. The latch timing is given by a read clock from the downstream processor, for example. As a result, the operating frequency of the downstream processor can be favorably dealt with.

【0015】そして、請求項4においては、非同期に動
作する複数の情報処理手段の間でパイプライン的に上流
から下流に向けデータが流される。このとき、各情報処
理手段の間で授受されるデータが本発明のFIFOメモ
リにより一旦格納される。従って、互いに非同期の情報
処理手段の間でのデータの授受が、データ溢れなく、さ
らには高速に、実現される。
Further, in claim 4, data is flowed from upstream to downstream in a pipeline manner between the plurality of information processing means which operate asynchronously. At this time, the data exchanged between the respective information processing means are temporarily stored in the FIFO memory of the present invention. Therefore, the data exchange between the asynchronous information processing means can be realized without data overflow and at high speed.

【0016】[0016]

【実施例】以下、本発明の好適な実施例について図面に
基づき説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT A preferred embodiment of the present invention will be described below with reference to the drawings.

【0017】実施例の構成 図1には、本発明の一実施例に係るFIFOメモリの構
成が示されている。この図に示されるFIFOメモリ
は、図示しない複数のプロセッサ、専用処理ハードウエ
ア等によりアクセスされる。これらのプロセッサ等は一
般に非同期である。この図に示されるFIFOメモリ
は、上流側プロセッサ等から下流側プロセッサ等に向け
パイプライン的に流されるデータを一旦格納する。
Configuration of Embodiment FIG. 1 shows the configuration of a FIFO memory according to an embodiment of the present invention. The FIFO memory shown in this figure is accessed by a plurality of processors (not shown), dedicated processing hardware, and the like. These processors and the like are generally asynchronous. The FIFO memory shown in this figure temporarily stores data flowed in a pipeline from an upstream processor or the like to a downstream processor or the like.

【0018】この図に示されるFIFOメモリは、N個
のレジスタ10−i(i=0,1,…N−1から構成さ
れるレジスタファイル12を備えている。すなわち、レ
ジスタ10−iはFIFOメモリの内部メモリである。
レジスタ10−iは、ライトポインタ14及びリードポ
インタ16によって巡回的に指定され、上流側プロセッ
サによるデータin_dataの書き込み及び下流側プロセッ
サによるデータout _dataの読み出しが実行される。
The FIFO memory shown in this figure comprises a register file 12 consisting of N registers 10-i (i = 0, 1, ... N-1), that is, the register 10-i is a FIFO. The internal memory of the memory.
The register 10-i is cyclically designated by the write pointer 14 and the read pointer 16, and the upstream processor writes the data in_data and the downstream processor reads the data out_data.

【0019】すなわち、ライトポインタ14は、上流側
プロセッサ等から書き込み信号wrが発せられているとき
に当該上流側プロセッサ等からの書き込みクロックclk1
(以下、wr_clk ともいう)を計数する。上流側プロセ
ッサ等から供給されるデータin_dataは、ライトポイン
タ14の数値wr_pointer によって指定されたレジスタ
10−iに書き込まれる。この書き込み動作は、書き込
みクロックclk1の立ち上がりエッジで行う。
That is, the write pointer 14 writes the write clock clk1 from the upstream processor when the write signal wr is issued from the upstream processor.
(Hereinafter, also referred to as wr_clk) is counted. The data in_data supplied from the upstream processor or the like is written in the register 10-i designated by the numerical value wr_pointer of the write pointer 14. This write operation is performed at the rising edge of the write clock clk1.

【0020】また、リードポインタ16は、下流側プロ
セッサ等から読み出し信号rdが発せられているときに当
該下流側プロセッサ等からの読み出しクロックclk2(以
下、rd_clk ともいう)を計数する。リードポインタ1
6の計数値rd_pointer は、レジスタファイル12に付
設されたマルチプレクサ18に供給され、マルチプレク
サ18からは、リードポインタ16の計数値rd_pointe
r に対応した段のレジスタ10−iに格納されているデ
ータがout _dataとして出力され、下流側プロセッサ等
はこれを読み込む。この読み出し動作は、読み出しクロ
ックclk2の立ち下がりエッジで行う。
Further, the read pointer 16 counts the read clock clk2 (hereinafter, also referred to as rd_clk) from the downstream processor or the like when the read signal rd is issued from the downstream processor or the like. Read pointer 1
The count value rd_pointer of 6 is supplied to the multiplexer 18 attached to the register file 12, and the count value rd_pointe of the read pointer 16 is supplied from the multiplexer 18.
The data stored in the register 10-i of the stage corresponding to r is output as out_data, and the downstream processor or the like reads it. This read operation is performed at the falling edge of the read clock clk2.

【0021】この実施例は、さらに、フラグチェッカ2
0、フルタイミング設定器22、フリップフロップ24
及び26を有している。
This embodiment further includes a flag checker 2
0, full timing setting device 22, flip-flop 24
And 26.

【0022】フラグチェッカ20は、wr_pointer 及び
rd_pointer が後述する条件を満たす場合、逐次エンプ
ティ信号empty 又はフル信号fullを出力する。フラグチ
ェッカ18に接続されているフリップフロップ24及び
26は、それぞれ、empty 又はfullをラッチする。empt
y 及びfullは、それぞれ、clk2(rd _clk)又はclk1(wr
_clk)の立ち上がりでラッチされる。ラッチされたempt
y 及びfull、すなわち図中のlat _empty 及びlat _fu
llは、プロセッサ等に出力される。
The flag checker 20 uses wr_pointer and
When rd_pointer satisfies the condition described later, it sequentially outputs the empty signal empty or the full signal full. The flip-flops 24 and 26 connected to the flag checker 18 latch empty or full, respectively. empt
y and full are clk2 (rd_clk) or clk1 (wr
It is latched at the rising edge of _clk). Latched empt
y and full, that is, lat_empty and lat_fu in the figure
ll is output to a processor or the like.

【0023】そして、フルタイミング設定器22は、外
部から供給される信号preset_fullに応じ、フラグチェ
ッカ20からのfullの出力時点を設定する。すなわち、
レジスタファイル12におけるデータ溢れが生じること
なくかつレジスタ10−iが効率的に使用されるよう、
preset_fullにより、プロセッサ等の仕様に応じてfull
の出力時点を設定できる。
The full timing setter 22 sets the full output time from the flag checker 20 according to the signal preset_full supplied from the outside. That is,
In order not to cause data overflow in the register file 12 and to effectively use the register 10-i,
With preset_full, full according to the specifications of the processor etc.
The output time of can be set.

【0024】本実施例の大きな特徴は、empty 及びfull
の生成アルゴリズム、すなわちフラグチェッカ20の動
作原理にある。特にfullの生成により、データ溢れの防
止という顕著な効果を得ることができる。以下、次の論
理式で表される信号生成アルゴリズムを参照しつつ、こ
れらの特徴に関して説明する。
The major characteristics of this embodiment are empty and full.
In the generation algorithm, that is, the operating principle of the flag checker 20. In particular, by generating full, a remarkable effect of preventing data overflow can be obtained. Hereinafter, these features will be described with reference to a signal generation algorithm represented by the following logical expression.

【0025】[0025]

【数1】 エンプティ時の動作 図2には、本実施例におけるエンプティ時の動作がタイ
ミングチャートとして示されている。なお、この図は負
論理で描かれている。
[Equation 1] Operation at Empty Time FIG. 2 shows a timing chart of the operation at empty time in the present embodiment. Note that this figure is drawn in negative logic.

【0026】まず、上流側プロセッサ等からの書き込み
信号wr- がオンしていない時点(t1 以前)でwr_poin
ter =rd_pointer =n(0≦n≦N−1)であったと
する。この場合、図3に示されるように、wr_pointer
とrd_pointer が同一のレジスタ10−iを指してい
る。wr_pointer は最後に書き込みを行ったレジスタ1
0−iを示しており、rd_pointer は最後に読み出しを
行ったレジスタ10−iを示しているから、wr_pointe
r =rd_pointer の場合、N個のレジスタ10−iすべ
てに対して書き込みが可能である。
First, at the time when the write signal wr- from the upstream processor or the like is not turned on (before t 1 ), wr_poin
It is assumed that ter = rd_pointer = n (0≤n≤N-1). In this case, as shown in FIG. 3, wr_pointer
And rd_pointer point to the same register 10-i. wr_pointer is the last written register 1
0-i and rd_pointer indicates the last read register 10-i, so wr_pointe
When r = rd_pointer, it is possible to write to all N registers 10-i.

【0027】この状態、すなわちエンプティ状態では、
上記アルゴリズムにおける第1の判定式が成立する。す
なわち、wr_pointer =rd_pointer であるから、フラ
グチェッカ20はエンプティ信号empty をオンさせてい
る。フリップフロップ26は、タイミングt3 以前のcl
k2(rd _clk)の立ち上がりエッジでこれをラッチしてい
る。従って、lat _empty もオンしている。
In this state, that is, the empty state,
The first judgment formula in the above algorithm is established. That is, since wr_pointer = rd_pointer, the flag checker 20 turns on the empty signal empty. The flip-flop 26 has cl before the timing t 3.
It is latched at the rising edge of k2 (rd_clk). Therefore, lat_empty is also on.

【0028】タイミングt1 においては、上流側プロセ
ッサ等からの書き込み信号wr- がオンする。この状態で
clk1(wr _clk)が立ち上がると(t2 )、wr_pointer
が1インクリメントし、上流側プロセッサ等からのin_
dataがwr_pointer により示されるレジスタ10に書き
込まれる。このとき、図4に示されるような状態とな
り、wr_pointer ≠rd_pointer となるため、エンプテ
ィ信号empty をオンさせる条件が成立しなくなる。この
ため、フラグチェッカ20はエンプティ信号empty をオ
フさせる。フリップフロップ26は、タイミングt3
すなわちタイミングt2 直後のclk2(rd _clk)の立ち上
がりでエンプティ信号empty をラッチする。すなわちla
t _empty がオフする。
At timing t 1 , the write signal wr- from the upstream processor or the like is turned on. In this state
clk1 (wr _clk) and rises (t 2), wr_pointer
Is incremented by 1 and in_ from the upstream processor etc.
data is written to register 10 pointed to by wr_pointer. At this time, the state becomes as shown in FIG. 4, and since wr_pointer ≠ rd_pointer, the condition for turning on the empty signal empty is not satisfied. Therefore, the flag checker 20 turns off the empty signal empty. The flip-flop 26 has a timing t 3 ,
That latching the empty signal empty at the rising timing t 2 immediately after clk2 (rd _clk). Ie la
t_empty turns off.

【0029】図2においては、下流側プロセッサ等は読
み出し信号rdを常にオンさせている。従って、タイミン
グt3 直後のclk2(rd _clk)の立ち下がり(t4 )でリ
ードポインタ16はrd_pointer を1インクリメントさ
せ、n+1番目のレジスタ10からのデータの読み出し
が実行される。
In FIG. 2, the downstream processor or the like keeps the read signal rd on. Therefore, the read pointer 16 increments rd_pointer by 1 at the trailing edge (t 4 ) of clk2 (rd_clk) immediately after the timing t 3, and the data reading from the (n + 1) th register 10 is executed.

【0030】この読み出しが行われる結果、再び、レジ
スタファイル12は図5に示されるようにエンプティ状
態となる。すなわち、フラグチェッカ20は、wr_poin
ter=rd_pointer の条件が成り立つため、再びエンプ
ティ信号empty をオンさせる。
As a result of this reading, the register file 12 is again in the empty state as shown in FIG. That is, the flag checker 20 uses wr_poin
Since the condition of ter = rd_pointer is satisfied, the empty signal empty is turned on again.

【0031】上流側プロセッサ等からの書き込み信号wr
は、次のclk1(wr _clk)の立ち上がり(t5 )までオン
している。タイミングt5 では、ライトポインタ14は
clk1(wr _clk)の立ち上がりに応じwr_pointer を1イ
ンクリメントさせ、レジスタ10への書き込みが行われ
る。すると、図6に示されるようにエンプティ状態でな
くなるため、フラグチェッカ20は再びエンプティ信号
empty をオフさせる。この直後のclk2(rd _clk)の立ち
上がり(t6 )では、このエンプティ信号empty がラッ
チされるが、タイミングt4 からt5 の間にclk2(rd _
clk)の立ち上がりがないためlat _empty の値には変化
がない。すなわち、上流側プロセッサ等と下流側プロセ
ッサ等とが非同期であるために短時間エンプティ信号em
pty がオンしても、これは、上流側プロセッサ等からは
見えなくなる。
Write signal wr from the upstream processor or the like
Is on until the next rising edge (t 5 ) of clk1 (wr_clk). At timing t 5 , the write pointer 14
wr_pointer is incremented by 1 in response to the rise of clk1 (wr_clk), and writing to the register 10 is performed. Then, as shown in FIG. 6, the empty state is lost, so that the flag checker 20 again sends the empty signal.
Turn empty off. In the rising (t 6) of the immediately following clk2 (rd _clk), although the empty signal empty is latched, clk2 between the timing t 4 of the t 5 (rd _
Since there is no rise of (clk), the value of lat_empty does not change. That is, since the upstream processor and the downstream processor are asynchronous, the short-time empty signal em
Even if the pty is turned on, it will not be visible to upstream processors.

【0032】次のclk2(rd _clk)の立ち下がりタイミン
グt7 では、rd_pointer が1インクリメントされデー
タの読み出しが行われるため、図7に示されるようにレ
ジスタファイル12は再びエンプティ状態となる。従っ
て、フラグチェッカ20はempty をオンさせる。さら
に、次のclk1(wr _clk)の立ち上がりタイミングt8
はすでに書き込み信号wrがオフしているためwr_pointe
r は変わらず書き込みは行われない。従って、エンプテ
ィ状態が続き、次のclk2(rd _clk)の立ち下がりタイミ
ングt9 でlat _empty もオンする。
At the next falling timing t 7 of clk2 (rd_clk), rd_pointer is incremented by 1 and data is read, so that the register file 12 becomes empty again as shown in FIG. Therefore, the flag checker 20 turns on empty. Further, at the next rising timing t 8 of clk1 (wr_clk), the write signal wr is already off, so wr_pointe
r remains unchanged and is not written. Therefore, the empty state continues, and lat_empty is also turned on at the next falling timing t 9 of clk2 (rd_clk).

【0033】このように、エンプティ時には、clk1(wr
_clk)の立ち上がりに応じてレジスタファイル12への
書き込みを行い、clk2(rd _clk)の立ち下がりに応じて
読み出しを行うことができる。従って、上流側プロセッ
サ等と下流側プロセッサ等とが非同期であっても構わな
い。むろん、エンプティ時でなくてもこの点は同様であ
る。
Thus, when empty, clk1 (wr
The register file 12 can be written in response to the rising edge of _clk), and can be read out in response to the falling edge of clk2 (rd_clk). Therefore, the upstream processor and the downstream processor may be asynchronous. Of course, this point is the same even when not empty.

【0034】フル時の動作 図8には、本実施例におけるフル時の動作がタイミング
チャートとして示されている。この図も負論理で示され
ている。この実施例の場合、preset_fullは2に設定さ
れており、これにより、従来における完全フルの一つ前
のタイミングで、すなわち上流側プロセッサがfull検知
後データを1個送出してもデータ溢れが生じないよう、
フル信号fullが出力される。これにつき、次に説明す
る。
Full-time Operation FIG. 8 shows a timing chart of the full-time operation in this embodiment. This figure is also shown in negative logic. In the case of this embodiment, preset_full is set to 2, which causes a data overflow at the timing immediately before the complete full in the prior art, that is, even if the upstream processor sends one data after full detection. Not like
The full signal full is output. This will be described below.

【0035】まず、図9に示されるように、最初wr_po
inter =n−2、rd_pointer =nであったとする。こ
の場合、図9から明らかなように、あと1回データの書
き込みを行うとレジスタファイル12が完全フル(wr_
pointer =rd_pointer −1の状態)である。本実施例
では、この状態で、フル信号fullをオンさせている。す
なわち、wr_pointer =rd_pointer が成り立たず、wr
_pointer <rd_pointer であり、its _difference=
preset_full=2であるから、先に記したアルゴリズム
により、フラグチェッカ20はフル信号fullをオンさせ
る。
First, as shown in FIG. 9, first wr_po
It is assumed that inter = n-2 and rd_pointer = n. In this case, as is clear from FIG. 9, when the data is written once more, the register file 12 becomes completely full (wr_
pointer = rd_pointer −1). In this embodiment, the full signal full is turned on in this state. That is, wr_pointer = rd_pointer does not hold, and wr
_Pointer <rd_pointer, and its _difference =
Since preset_full = 2, the flag checker 20 turns on the full signal full according to the algorithm described above.

【0036】なお、このフル信号fullはタイミングt11
以前のclk2(rd _clk)の立ち上がりでフリップフロップ
24にラッチされており、また、書き込み信号wrはオ
ン、読み出し信号rdはオフしているものとする。
Note that this full signal full has a timing t 11
It is assumed that the signal is latched in the flip-flop 24 at the previous rise of clk2 (rd_clk), the write signal wr is on, and the read signal rd is off.

【0037】clk2(rd _clk)の立ち上がりタイミングt
11において下流側プロセッサ等が読み出しを開始し、読
み出し信号rdがオンしたとする。すると、フラグチェッ
カ20は直後のclk2(rd _clk)の立ち下がりタイミング
12でrd_pointer を1インクリメントさせる。これに
より、rd_pointer =n+1となり、図10に示される
状態となる。マルチプレクサ18からは、n+1番目の
レジスタ10からのデータがout _dataとして出力され
る。この状態では、its _difference=3であるから、
its _difference≦preset_fullの条件が満たされなく
なる。この結果、フル信号fullはオフする。これに伴
い、次のclk1(wr _clk)立ち上がりタイミングt13でla
t _fullもオフする。
Rising timing t of clk2 (rd_clk)
At 11 , the downstream processor or the like starts reading and the read signal rd is turned on. Then, the flag checker 20 increments rd_pointer by 1 at the trailing edge timing t 12 of clk2 (rd_clk) immediately after. As a result, rd_pointer = n + 1, and the state shown in FIG. 10 is obtained. The data from the (n + 1) th register 10 is output from the multiplexer 18 as out_data. In this state, its_difference = 3,
The condition of its_difference ≦ preset_full is not satisfied. As a result, the full signal full turns off. Accordingly, the following clk1 (wr _clk) la at the rising edge t 13
t_full is also turned off.

【0038】この後、rdがオンしているので、次のclk2
(rd _clk)の立ち下がりタイミングt14で再び読み出し
が実行される。すなわち、図11に示されるようにrd_
pointer が1インクリメントしn+2となる。この状態
でもits _difference=4であるから、its _differen
ce≦preset_fullの条件が満たさず、やはりフル信号fu
llはオフしている。
After this, since rd is on, the next clk2
The reading is executed again at the falling timing t 14 of (rd_clk). That is, as shown in FIG. 11, rd_
The pointer is incremented by 1 and becomes n + 2. Even in this state, its_difference = 4, so its_differen
The condition of ce ≦ preset_full is not satisfied, and still the full signal fu
I'm off.

【0039】次のclk1(wr _clk)立ち上がりタイミング
15では、wrがオンしているためライトポインタ14は
wr_pointer を1インクリメントさせ図12に示される
ようにn−1とする。上流側プロセッサ等からのin_da
taは、n−1番目のレジスタ10に書き込まれる。この
状態でも、its _difference=3であるから、its _di
fference≦preset_fullの条件は満たされず、フル信号
fullはオフしている。この後rdがオフし、clk2(rd _cl
k)の立ち下がりタイミングt16ではすでにオフとなって
いるとすると、次のclk1(wr _clk)立ち上がりタイミン
グt17でwr_pointer =nとなる結果、its _differen
ce=2となりits _difference≦preset_fullの条件が
成立する。従って、フラグチェッカ20はフル信号full
をオンさせ、これに伴いlat _fullも次のclk1(wr _cl
k)立ち上がりタイミングt18でオンする。上流側プロセ
ッサ等がlat _fullがオンした後データを1個送出して
しまうものであった場合、このタイミングt18でも書き
込みが行われてしまうが、フル信号fullは完全フルの手
前でオンしているため、レジスタファイル12からのデ
ータ溢れは生じない。
[0039] In the next clk1 (wr _clk) rising timing t 15, write pointer 14 for wr is on
wr_pointer is incremented by 1 to be n-1 as shown in FIG. In_da from upstream processor etc.
ta is written in the (n-1) th register 10. Even in this state, its_difference = 3, so its_di
The condition of fference ≤ preset_full is not satisfied, and a full signal
full is off. After this, rd turns off and clk2 (rd_cl
If it is already off at the falling timing t 16 of k), as a result of wr_pointer = n at the next clk1 (wr_clk) rising timing t 17 , its_differen
ce = 2 and the condition of its_difference ≦ preset_full is satisfied. Therefore, the flag checker 20 outputs the full signal full.
Lat_full is turned on next, and clk1 (wr_cl
k) Turn on at the rising timing t 18 . If the upstream processor or the like sends out one data after lat_full is turned on, writing is also performed at this timing t 18 , but the full signal full is turned on before full full. Therefore, overflow of data from the register file 12 does not occur.

【0040】従って、本実施例では、非同期のプロセッ
サ等から構成されるパイプライン型情報処理システムに
おいて、FIFOメモリのデータ溢れによる誤動作等が
防止される。さらに、ハーフフル等に比べ、FIFOメ
モリの有効活用を図ることができる。
Therefore, in this embodiment, in a pipeline type information processing system including an asynchronous processor and the like, malfunction due to data overflow of the FIFO memory is prevented. Further, the FIFO memory can be effectively used as compared with the half full and the like.

【0041】さらには、完全フル状態からみてどの程度
前の時点でフル信号fullを発生させるかを決めるのは、
preset_fullである。これは、例えば上流側プロセッサ
等からの制御の可能なものであるから、当該プロセッサ
等の仕様、プロトコルに応じてフル信号full発生タイミ
ングを調整できる。これにより、汎用性を確保できる。
Further, it is necessary to determine how long before the full signal is generated the full signal full in view of the complete full state.
preset_full. Since this can be controlled by, for example, the upstream processor, the timing of generating the full signal full can be adjusted according to the specifications and protocol of the processor. This ensures versatility.

【0042】なお、wr_pointer >rd_pointer が成立
している場合については説明しなかった。このような状
況は、rd_pointer がN−1を越えると0に戻るために
生じるものである。この場合のフル信号full発生条件
は、先に示したように、レジスタファイル12の大きさ
FIFO_LENGTH=N−1を考慮にいれた条件となる。
The case where wr_pointer> rd_pointer holds is not described. Such a situation occurs because rd_pointer returns to 0 when it exceeds N-1. In this case, the full signal full generation condition is the size of the register file 12 as described above.
The condition takes into consideration FIFO_LENGTH = N-1.

【0043】[0043]

【発明の効果】以上説明したように、本発明のFIFO
メモリによれば、第1の計数手段により指定された段か
らみて第2の計数手段により指定された段が所定値以上
前の段であるか否かを判定してフル信号を出力すること
により、まもなくフル状態となることを完全フル状態に
至る前にプロセッサ等に知らせることができる。従っ
て、例えば上流側のプロセッサがフル信号検出後に1以
上データを送出してしまうプロセッサであったとして
も、データ溢れを防止できる。さらに、フル信号発生時
点はデータ送出に係るプロセッサ等の構成・動作に応じ
設定可能であるため汎用性が高くなり、特にN/2以下
に設定した場合には、従来のハーフフル等に比べ記憶手
段を有効活用できる。
As described above, the FIFO of the present invention
According to the memory, by judging whether or not the stage designated by the second counting unit is a stage preceding the stage designated by the first counting unit by a predetermined value or more, a full signal is output. It is possible to notify the processor or the like that the full state will soon be reached before the full state is reached. Therefore, for example, even if the processor on the upstream side sends one or more data after the full signal is detected, the data overflow can be prevented. Further, since the full signal generation time can be set according to the configuration and operation of the processor or the like relating to data transmission, the versatility is enhanced, and particularly when it is set to N / 2 or less, the storage means is different from the conventional half full or the like. Can be effectively utilized.

【0044】請求項2によれば、上流側プロセッサ等か
らの書き込みクロックでフル信号をラッチするようにし
たため、上流側プロセッサ等の動作周波数に好適に対応
できる。
According to the second aspect, since the full signal is latched by the write clock from the upstream side processor or the like, it is possible to favorably cope with the operating frequency of the upstream side processor or the like.

【0045】請求項3によれば、エンプティ信号を出力
可能であるとともに、下流側プロセッサ等からの読み出
しクロックでエンプティ信号をラッチするようにしたた
め、下流側プロセッサ等の動作周波数に好適に対応でき
る。また、第2のラッチ手段によりこのエンプティ信号
がラッチされる。
According to the third aspect of the present invention, the empty signal can be output and the empty signal is latched by the read clock from the downstream side processor or the like. Therefore, the operating frequency of the downstream side processor or the like can be favorably dealt with. Also, the empty signal is latched by the second latch means.

【0046】そして、請求項4によれば、非同期に動作
する複数の情報処理手段の間でパイプライン的にデータ
を流す際、本発明のFIFOメモリを用いることによ
り、非同期の情報処理手段の間でのデータの授受が、デ
ータ溢れなく行われ、システムの動作が正確となる。
According to a fourth aspect of the present invention, when data is pipelined between a plurality of information processing means which operate asynchronously, the FIFO memory of the present invention is used, so that the asynchronous information processing means Data is sent and received without overflowing the data, and the system operates accurately.

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

【図1】本発明の一実施例に係るFIFOメモリの構成
を示す図である。
FIG. 1 is a diagram showing a configuration of a FIFO memory according to an embodiment of the present invention.

【図2】この実施例におけるエンプティ時の動作の一例
を示すタイミングチャートである。
FIG. 2 is a timing chart showing an example of an operation at the time of empty in this embodiment.

【図3】図2の動作におけるタイミングt2 以前の書き
込み段/読み出し段指定を示す説明図である。
FIG. 3 is an explanatory diagram showing designation of a writing stage / reading stage before timing t 2 in the operation of FIG.

【図4】図2の動作におけるタイミングt2 以後t4
前の書き込み段/読み出し段指定を示す説明図である。
FIG. 4 is an explanatory diagram showing write stage / read stage designation after timing t 2 and before timing t 4 in the operation of FIG. 2;

【図5】図2の動作におけるタイミングt4 以後t5
前の書き込み段/読み出し段指定を示す説明図である。
5 is an explanatory diagram showing write stage / read stage designation after timing t 4 and before timing t 5 in the operation of FIG. 2;

【図6】図2の動作におけるタイミングt5 以後t7
前の書き込み段/読み出し段指定を示す説明図である。
FIG. 6 is an explanatory diagram showing designation of a writing stage / reading stage after timing t 5 and before timing t 7 in the operation of FIG. 2;

【図7】図2の動作におけるタイミングt7 以後の書き
込み段/読み出し段指定を示す説明図である。
FIG. 7 is an explanatory diagram showing designation of a write stage / read stage after timing t 7 in the operation of FIG. 2;

【図8】この実施例におけるフル時の動作の一例を示す
タイミングチャートである。
FIG. 8 is a timing chart showing an example of full-time operation in this embodiment.

【図9】図8の動作におけるタイミングt12以前の書き
込み段/読み出し段指定を示す説明図である。
9 is an explanatory diagram showing write stage / read stage designation before timing t 12 in the operation of FIG. 8;

【図10】図8の動作におけるタイミングt12以後t14
以前の書き込み段/読み出し段指定を示す説明図であ
る。
FIG. 10 is a timing t 14 after timing t 12 in the operation of FIG.
It is explanatory drawing which shows the former write stage / read stage designation | designated.

【図11】図8の動作におけるタイミングt14以後t15
以前の書き込み段/読み出し段指定を示す説明図であ
る。
FIG. 11 is a timing t 15 after timing t 14 in the operation of FIG.
It is explanatory drawing which shows the former write stage / read stage designation | designated.

【図12】図8の動作におけるタイミングt15以後t17
以前の書き込み段/読み出し段指定を示す説明図であ
る。
FIG. 12 is a timing t 15 later in the operation of FIG. 8 t 17
It is explanatory drawing which shows the former write stage / read stage designation | designated.

【図13】図8の動作におけるタイミングt17以後の書
き込み段/読み出し段指定を示す説明図である。
13 is an explanatory diagram showing write stage / read stage designation after timing t 17 in the operation of FIG. 8;

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

10−0,10−1,…10−N−1 レジスタ 12 レジスタファイル 14 ライトポインタ 16 リードポインタ 18 マルチプレクサ 20 フラグチェッカ 22 フルタイミング設定器 24,26 フリップフロップ in_data 書き込みデータ out _data 読み出しデータ wr 書き込み信号 rd 読み出し信号 clk1(wr _clk) 書き込みクロック clk2(rd _clk) 読み出しクロック full フル信号 empty エンプティ信号 lat _full ラッチされたフル信号 lat _empty ラッチされたエンプティ信号 preset_full フルタイミングを表すプリセット値 10-0, 10-1, ... 10-N-1 register 12 register file 14 write pointer 16 read pointer 18 multiplexer 20 flag checker 22 full timing setting device 24, 26 flip-flop in_data write data out_data read data wr write signal rd Read signal clk1 (wr_clk) Write clock clk2 (rd_clk) Read clock full Full signal empty Empty signal lat_full Latched full signal lat_empty Latched empty signal preset_full Preset value indicating full timing

─────────────────────────────────────────────────────
─────────────────────────────────────────────────── ───

【手続補正書】[Procedure amendment]

【提出日】平成4年4月22日[Submission date] April 22, 1992

【手続補正1】[Procedure Amendment 1]

【補正対象書類名】図面[Document name to be corrected] Drawing

【補正対象項目名】図3[Name of item to be corrected] Figure 3

【補正方法】変更[Correction method] Change

【補正内容】[Correction content]

【図3】 [Figure 3]

【手続補正2】[Procedure Amendment 2]

【補正対象書類名】図面[Document name to be corrected] Drawing

【補正対象項目名】図4[Name of item to be corrected] Fig. 4

【補正方法】変更[Correction method] Change

【補正内容】[Correction content]

【図4】 [Figure 4]

【手続補正3】[Procedure 3]

【補正対象書類名】図面[Document name to be corrected] Drawing

【補正対象項目名】図5[Name of item to be corrected] Figure 5

【補正方法】変更[Correction method] Change

【補正内容】[Correction content]

【図5】 [Figure 5]

【手続補正4】[Procedure amendment 4]

【補正対象書類名】図面[Document name to be corrected] Drawing

【補正対象項目名】図6[Name of item to be corrected] Figure 6

【補正方法】変更[Correction method] Change

【補正内容】[Correction content]

【図6】 [Figure 6]

【手続補正5】[Procedure Amendment 5]

【補正対象書類名】図面[Document name to be corrected] Drawing

【補正対象項目名】図7[Name of item to be corrected] Figure 7

【補正方法】変更[Correction method] Change

【補正内容】[Correction content]

【図7】 [Figure 7]

【手続補正6】[Procedure correction 6]

【補正対象書類名】図面[Document name to be corrected] Drawing

【補正対象項目名】図9[Correction target item name] Figure 9

【補正方法】変更[Correction method] Change

【補正内容】[Correction content]

【図9】 [Figure 9]

【手続補正7】[Procedure Amendment 7]

【補正対象書類名】図面[Document name to be corrected] Drawing

【補正対象項目名】図10[Name of item to be corrected] Fig. 10

【補正方法】変更[Correction method] Change

【補正内容】[Correction content]

【図10】 [Figure 10]

【手続補正8】[Procedure Amendment 8]

【補正対象書類名】図面[Document name to be corrected] Drawing

【補正対象項目名】図11[Name of item to be corrected] Fig. 11

【補正方法】変更[Correction method] Change

【補正内容】[Correction content]

【図11】 FIG. 11

【手続補正9】[Procedure Amendment 9]

【補正対象書類名】図面[Document name to be corrected] Drawing

【補正対象項目名】図12[Correction target item name] Figure 12

【補正方法】変更[Correction method] Change

【補正内容】[Correction content]

【図12】 [Fig. 12]

【手続補正10】[Procedure Amendment 10]

【補正対象書類名】図面[Document name to be corrected] Drawing

【補正対象項目名】図13[Name of item to be corrected] Fig. 13

【補正方法】変更[Correction method] Change

【補正内容】[Correction content]

【図13】 [Fig. 13]

───────────────────────────────────────────────────── フロントページの続き (72)発明者 山戸 佐知男 東京都三鷹市下連雀五丁目1番1号 日本 無線株式会社内 (72)発明者 三浦 浩 東京都三鷹市下連雀五丁目1番1号 日本 無線株式会社内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Sachio Yamato 5-1-1 Shimorenjaku, Mitaka City, Tokyo Japan Radio Co., Ltd. (72) Inventor Hiroshi Miura 5-1-1, Shimorenjaku, Mitaka City, Tokyo Japan Wireless Corporation

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 各段毎に順に書き込み/読み出し可能な
複数段の記憶手段と、 書き込みクロックを計数することにより複数段の記憶手
段からデータの書き込み先を指定する第1の計数手段
と、 読み出しクロックを計数することにより複数段の記憶手
段からデータの読み出し先を指定する第2の計数手段
と、 第2の計数手段により指定された段が第1の計数手段に
より指定された段からみて設定値以上前の段である場合
に、前記記憶手段への書き込み余地がない旨のフル信号
を出力するフル信号出力手段と、 前記設定値を設定する設定手段と、 を備えることを特徴とするFIFOメモリ。
1. A plurality of stages of storage means capable of writing / reading in sequence for each stage, a first counting means for specifying a write destination of data from the plurality of stages of storage means by counting a write clock, and a reading operation. Second counting means for designating a data reading destination from a plurality of stages of storage means by counting clocks, and the stage designated by the second counting means is set in view of the stage designated by the first counting means. A FIFO comprising: a full signal output means for outputting a full signal indicating that there is no room for writing to the storage means when the value is before the value; and a setting means for setting the set value. memory.
【請求項2】 請求項1記載のFIFOメモリにおい
て、 書き込みクロックに応じてフル信号をラッチする第1の
ラッチ手段を備えることを特徴とするFIFOメモリ。
2. The FIFO memory according to claim 1, further comprising first latching means for latching a full signal according to a write clock.
【請求項3】 請求項1記載のFIFOメモリにおい
て、 第1及び第2の計数手段の計数値が一致している場合に
複数段の記憶手段が空である旨のエンプティ信号を出力
するエンプティ信号出力手段と、 読み出しクロックに応じてエンプティ信号をラッチする
第2のラッチ手段と、を備えることを特徴とするFIF
Oメモリ。
3. The FIFO memory according to claim 1, wherein when the count values of the first and second counting means are the same, an empty signal for outputting an empty signal indicating that the storage means of a plurality of stages is empty. An FIF including: an output unit; and a second latch unit that latches an empty signal according to a read clock.
O memory.
【請求項4】 非同期に動作する複数の情報処理手段の
間をパイプライン的に上流から下流に向けデータが流れ
る情報処理システムにおいて、 各情報処理手段の間でのデータの授受にあたって請求項
1乃至3記載のFIFOメモリにより当該データを一旦
格納することを特徴とする情報処理システム。
4. An information processing system in which data flows from upstream to downstream in a pipeline manner between a plurality of information processing means that operate asynchronously, and when data is transferred between the information processing means. An information processing system characterized in that the FIFO memory described in 3 temporarily stores the data.
JP4008823A 1992-01-22 1992-01-22 Fifo memory Pending JPH05197520A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4008823A JPH05197520A (en) 1992-01-22 1992-01-22 Fifo memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4008823A JPH05197520A (en) 1992-01-22 1992-01-22 Fifo memory

Publications (1)

Publication Number Publication Date
JPH05197520A true JPH05197520A (en) 1993-08-06

Family

ID=11703526

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4008823A Pending JPH05197520A (en) 1992-01-22 1992-01-22 Fifo memory

Country Status (1)

Country Link
JP (1) JPH05197520A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100489880B1 (en) * 1995-12-06 2005-09-06 사이프러스 세미컨덕터 코포레이션 State machine design to generate half-filled and half-blank flags in an asynchronous FIFO
JP2011227919A (en) * 2000-06-09 2011-11-10 Trustees Of Columbia Univ In The City Of New York Small standby time fifo circuit for mixed asynchronous and synchronous system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS53109437A (en) * 1977-03-01 1978-09-25 Ericsson Telefon Ab L M Address and break signal generator
JPH0315941A (en) * 1989-06-14 1991-01-24 Hitachi Ltd Semiconductor integrated circuit

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS53109437A (en) * 1977-03-01 1978-09-25 Ericsson Telefon Ab L M Address and break signal generator
JPH0315941A (en) * 1989-06-14 1991-01-24 Hitachi Ltd Semiconductor integrated circuit

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100489880B1 (en) * 1995-12-06 2005-09-06 사이프러스 세미컨덕터 코포레이션 State machine design to generate half-filled and half-blank flags in an asynchronous FIFO
JP2011227919A (en) * 2000-06-09 2011-11-10 Trustees Of Columbia Univ In The City Of New York Small standby time fifo circuit for mixed asynchronous and synchronous system

Similar Documents

Publication Publication Date Title
US4649512A (en) Interface circuit having a shift register inserted between a data transmission unit and a data reception unit
US8001409B2 (en) Synchronization device and methods thereof
US8291138B2 (en) Skip based control logic for first in first out buffer
US7870310B2 (en) Multiple counters to relieve flag restriction in a multi-queue first-in first-out memory system
JPH06259225A (en) Synchronizer of data transfer
US7523232B2 (en) Mark/re-read and mark/re-write operations in a multi-queue first-in first-out memory system
JP2004062630A (en) Fifo memory and semiconductor device
US6442627B1 (en) Output FIFO data transfer control device
JPH05197520A (en) Fifo memory
US6510483B1 (en) Circuit, architecture and method for reading an address counter and/or matching a bus width through one or more synchronous ports
CN110618950B (en) Asynchronous FIFO read-write control circuit and method, readable storage medium and terminal
JP4569163B2 (en) Data input / output device and data input / output method
EP0790552A2 (en) Data processing apparatus for performing pipeline processing
JPH06197009A (en) Counter with output latch function
JPH05265701A (en) Fifo memory
JP2973941B2 (en) Asynchronous FIFO buffer device
JPS6073730A (en) Buffer controller
JP3443215B2 (en) Serial input and output device
JPS638983Y2 (en)
US8806130B2 (en) Memory access device outputting transfer request
JP3335926B2 (en) Read and clear circuit
JPH0432922A (en) Interface control circuit
JPH04369756A (en) Data transfer method
JPH05298066A (en) Fifo buffer device
JP2005174090A (en) Data transfer circuit