JPH1050052A - 高速fifo回路 - Google Patents

高速fifo回路

Info

Publication number
JPH1050052A
JPH1050052A JP8205795A JP20579596A JPH1050052A JP H1050052 A JPH1050052 A JP H1050052A JP 8205795 A JP8205795 A JP 8205795A JP 20579596 A JP20579596 A JP 20579596A JP H1050052 A JPH1050052 A JP H1050052A
Authority
JP
Japan
Prior art keywords
shift register
memory
flag information
generated
read
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
JP8205795A
Other languages
English (en)
Other versions
JP3019917B2 (ja
Inventor
Haruki Yamashita
晴樹 山下
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP8205795A priority Critical patent/JP3019917B2/ja
Publication of JPH1050052A publication Critical patent/JPH1050052A/ja
Application granted granted Critical
Publication of JP3019917B2 publication Critical patent/JP3019917B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 メモリがフルかエンプティかの識別を速く行
うことのできる高速FIFO回路を提供すること。 【解決手段】 ライト側シフトレジスタ回路11、リー
ド側シフトレジスタ回路12で生成されるアドレスをメ
モリ10のワード線及び比較部13に入力すると共に、
各シフトレジスタ回路で生成されるシフトレジスタの周
回数を示す信号を比較部に入力する。比較部は各シフト
レジスタ回路からのアドレス及び周回数を示す信号に応
じてメモリが一杯であることを示すフルフラグ情報、メ
モリが空であることを示すエンプティフラグ情報を生成
し、フルフラグ情報が生成された場合にはライトクロッ
クを止め、エンプティフラグ情報が生成された場合には
リードクロックを止める。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はFIFO(Firs
t In First Out)回路に関し、特に低速
でしか処理できないデータを一次保持し、高速で処理さ
れた順にデータを出力するのに適した高速FIFO回路
に関する。
【0002】
【従来の技術】通常、FIFO回路はメモリとして利用
され、記憶したデータを書き込んだ順序で読み出すこと
ができる。それ故、FIFO回路は、高速動作のデータ
プロセッサと低速動作の周辺装置との間に接続されて、
データプロセッサから周辺装置にデータを送る際のバッ
ファメモリとして利用される。
【0003】ところで、FIFO回路は、記憶容量に制
限があるため、書込み回数に比べてリード回数が少ない
時には記憶データが一杯になってしまい、この状態で書
き込みを続けると、まだ読み出されていない記憶データ
の上に新たなデータが書き込まれてしまうおそれがあ
る。一方、例えば書き込みが中断している間に読み出し
が進んでしまうと、一度読み出しが行われた記憶データ
が再び読み出されてしまうおそれもある。
【0004】上記のような問題点を解消するために、F
IFO回路では、記憶データでメモリが一杯になるとフ
ルフラグ(Full Flag)情報を発生してデータ
プロセッサ側に知らせ、書き込みを禁止する。一方、一
度書き込まれた記憶データが一通り読み出されてしまっ
た場合には、エンプティフラグ(Empty Fla
g)情報を発生して読み出しを禁止する。
【0005】上記のような機能を有する回路装置は、例
えば特開昭61−296424に記載されており、これ
を図4を参照して簡単に説明する。
【0006】書込み/読取(以下、W/Rと略記する)
制御器30がメモリ48の書込み及び読取を制御する為
に、データプロセッサ及び周辺装置(いずれも図示せ
ず)からの書込み及び読取指令をそれぞれ受取る。W/
R制御器30は、書込み線34を介して書込みアドレス
・リング・カウンタ32に、そして読取線38を介して
読取アドレス・リング・カウンタ36に対応する書込み
及び読取信号を送る。
【0007】比較器40は、複数の導線42,44を介
して書込みアドレス・リング・カウンタ32及び読取ア
ドレス・リング・カウンタ36に接続される。比較器4
0は線46によってW/R制御器30にも接続されてい
て、書込み及び読取アドレス・リング・カウンタ32,
36が同じアドレスを示す時を知らせる。この情報によ
り、W/R制御器30はメモリ48が一杯又は空である
時を決定することが出来る。
【0008】メモリ48は複数のメモリ・ワード・レジ
スタ50−1〜50−Nを持ち、これがワード1乃至N
を記憶する。各々のメモリ・ワード・レジスタが書込み
アドレス・リング・カウンタ32の1つの段に接続さ
れ、このメモリ・ワード・レジスタのメモリ書込み動作
を行う。更に各々のメモリ・ワード・レジスタが、メモ
リ読取動作を行なう為に、読取アドレス・リング・カウ
ンタ36の関連する段にも接続されている。以下の説明
では、書込み又は読取動作の間にアドレスされるメモリ
・ワード位置は、リング・カウンタ32又は36の一方
によって指示されるものとする。読取アドレス・リング
・カウンタ36が書込みアドレス・リング・カウンタ3
2と同じメモリ・ワード・レジスタ50−1乃至50−
Nを示し、且つ最後のメモリ動作が書込み動作であった
時、メモリ48は一杯である。
【0009】同様に、書込み及び読取アドレス・リング
・カウンタ32,36が同じメモリ・ワード・レジスタ
50−1乃至50−Nを示し、且つ最後に受取った指令
が読取指令である時、メモリ48は空であるから、この
後の読取指令を受取っても処理されない。
【0010】例えば、メモリ48のメモリ・ワード・レ
ジスタ50−2が読取られ、その為、読取アドレス・リ
ング・カウンタ36がメモリ・ワード・レジスタ50−
2を指示していると仮定する。この時、メモリ・ワード
・レジスタ50−2乃至50−Nは50−1と同じく、
新しいデータを書込むことが出来る。メモリ・ワード・
レジスタ50−1が書込まれた時、メモリ48が一杯に
なる。更に、読取アドレス・リング・カウンタ36及び
書込みドレス・リング・カウンタがメモリ・ワード・レ
ジスタ50−2を指示し、最後のメモリ動作は書込み動
作であった時、メモリ48が一杯であることを検出でき
る。
【0011】逆に、メモリ48全体が書込まれていて、
この為、メモリ・ワード・レジスタ50−Nが書込まれ
ていれば、書込みアドレス・リング・カウンタ32がメ
モリ・ワード・レジスタ50−1を指示する。この状況
では、メモリ・ワード・レジスタ50−1乃至50−N
をこの後で読取ることが出来、メモリ48は空になる。
読取及び書込みアドレス・リング・カウンタ32,36
が同じメモリ・ワード・レジスタ50−1を指示し、最
後のメモリ動作が読取動作であった時、メモリ空状態を
検出することが出来る。
【0012】
【発明が解決しようとする課題】上記の回路装置では、
アドレス指定を読取アドレス・リング・カウンタ32と
書込みアドレス・リング・カウンタ36とで行ってお
り、最後のメモリ読取り及び書込み動作の記述を管理す
ることでメモリフル及びメモリエンプティの識別を行う
ようにしている。ところが、このようなカウンタを利用
した識別方法ではメモリがフルかエンプティかを決定す
るまでに時間がかかりすぎてしまい、サイクルタイムで
見るとかなり低速のFIFO回路になってしまう。
【0013】本発明はこのような問題点を解消しようと
するものであり、メモリがフルかエンプティかの識別を
速く行うことのできる高速FIFO回路を提供すること
にある。
【0014】
【課題を解決するための手段】本発明は、メモリのライ
ト側とリード側にそれぞれシフトレジスタ手段を設け、
各シフトレジスタ手段にライトクロック、リードクロッ
クを入力し、各シフトレジスタ手段で生成されるアドレ
スを前記メモリのワード線及び比較手段に入力すると共
に、各シフトレジスタ手段で生成されるシフトレジスタ
の周回数を示す信号を前記比較手段に入力し、前記比較
手段は各シフトレジスタ手段からの前記アドレス及び前
記周回数を示す信号に応じて前記メモリが一杯であるこ
とを示すフルフラグ情報、前記メモリが空であることを
示すエンプティフラグ情報を生成し、前記フルフラグ情
報が生成された場合には前記ライトクロックを止め、前
記エンプティフラグ情報が生成された場合には前記リー
ドクロックを止めるようにしたことを特徴とする。
【0015】なお、前記比較手段は、各シフトレジスタ
手段で生成されるアドレスが一致し、かつ各シフトレジ
スタ手段からの前記周回数を示す信号が一致した場合に
前記エンプティフラグ情報を生成し、各シフトレジスタ
手段で生成されるアドレスが一致し、かつ各シフトレジ
スタ手段からの前記周回数を示す信号が異なる場合に
は、前記フルフラグ情報を生成する。
【0016】また、前記シフトレジスタ手段は、1クロ
ック入力される毎に“H”レベルがシフトしてワード線
をオンとするnビットシフトレジスタと、このシフトレ
ジスタの“H”レベルが何周しているかを奇数周と偶数
周とで区別して出力するトグルフリップフロップとから
成る。
【0017】
【発明の実施の形態】はじめに、図1を参照して、本発
明による高速FIFO回路の好ましい実施の形態につい
て説明する。図1において、メモリ10に対してライト
側シフトレジスタ回路11とリード側シフトレジスタ回
路12とが設けられる。ライト側シフトレジスタ回路1
1、リード側シフトレジスタ回路12はそれぞれ、ライ
トクロックWCLK、リードクロックRCLKを受け、
ライトアドレスWADR、リードアドレスRADRをメ
モリ10のワード線に入力すると共に、比較部13に入
力する。メモリ10にはライトアドレスWADRに基づ
いてデータDIが書込まれ、リードアドレスRADRに
基づいてデータDOが読み出される。ライト側シフトレ
ジスタ回路11とリード側シフトレジスタ回路12はま
た、内蔵のシフトレジスタの周回数を示す信号WT/F
F、RT/FFを比較部13に入力する。
【0018】比較部13は、各シフトレジスタ回路から
のライトアドレスWADR、リードアドレスRADRと
周回数を示す信号WT/FF、RT/FFとに応じてメ
モリ10が一杯であることを示すフルフラグ情報FFL
G、メモリ10が空があることを示すエンプティフラグ
情報EFLGを生成する。比較部13はまた、フルフラ
グ情報FFLGを生成した時はライトクロックWCLK
を止め、エンプティフラグ情報EFLGを生成した時は
リードクロックRCLKを止める。
【0019】厳密に言えば、比較部13はライトアドレ
スWADRとリードアドレスRADRとが一致し、かつ
周回数を示す信号WT/FF、RT/FFで示される周
回数が一致した時にエンプティフラグ情報EFLGを生
成し、ライトアドレスWADRとリードアドレスRAD
Rとが一致し、かつ周回数を示す信号WT/FF、RT
/FFで示される周回数が異なる場合はフルフラグ情報
FFLGを生成する。なお、周回数は、ここでは“奇数
周”と“偶数周”とで示されるものとし、信号WT/F
F、RT/FFで示される周回数がいずれも“奇数周”
あるいは“偶数周”の場合に周回数が一致したものとす
る。
【0020】図2を参照して、比較部13について説明
する。比較部13は、ライトアドレスWADRとリード
アドレスRADRとの一致の有無を判別する比較器13
−1と、周回数を示す信号WT/FFとRT/FFとを
入力とするEx−OR(排他的論理和)回路13−2
と、Ex−OR回路13−2の出力を入力とするインバ
ータ回路13−3と、インバータ回路13−3と比較器
13−1の出力を入力とするNAND回路13−4と、
Ex−OR回路13−2の出力と比較器13−1の出力
を入力とするNAND回路13−5とを含む。
【0021】このような回路構成により、ライトアドレ
スWADRとリードアドレスRADRとが一致し、かつ
信号WT/FF、信号RT/FFで示される周回数が一
致すると、NAND回路13−4からエンプティフラグ
情報EFLGが生成され、ライトアドレスWADRとリ
ードアドレスRADRとが一致し、かつ信号WT/F
F、信号RT/FFで示される周回数が不一致の場合に
は、NAND回路13−5からフルフラグ情報FFLG
が生成されることが理解できよう。
【0022】次に、図3を参照して、ライト側シフトレ
ジスタ回路11について説明する。ライト側シフトレジ
スタ回路11は、ここでは32ビットのシフトレジスタ
11−1と、トグルフリップフロップ11−2とから成
る。シフトレジスタ11−1は、1クロック入力される
毎に“H(ハイ)”レベルがシフトし、メモリ10に至
るワード線をオンにしてゆく。したがって、アドレスを
決定してワード線をオンさせるのに必要な時間は、シフ
トレジスタ11−1を構成しているフリップフロップ1
個のディレイ分だけしか必要としない。また、トグルフ
リップフロップ11−2は、“H”レベルがフリップフ
ロップFF/0〜FF/31を一周すると状態が変化す
るフリップフロップであり、シフトレジスタ11−1の
“H”レベルが何周しているかを示す信号を、ここでは
奇数周の場合“1”、偶数周の場合“0”で表わして出
力する。上記の構成、作用はリード側シフトレジスタ回
路12についてもまったく同じである。
【0023】いずれにしても、エンプティフラグ情報E
FLGあるいはフルフラグ情報FFLGはRS−フリッ
プフロップ(図示せず)に生成され、エンプティフラグ
情報EFLGを受けたRS−フリップフロップはリード
クロックRCLKの停止を指示する信号を出力し、フル
フラグ情報FFLGを受けたRS−フリップフロップは
ライトクロックWCLKの停止を指示する信号を出力す
る。
【0024】以上、本発明を好ましい実施の形態につい
て説明したが、本発明による高速FIFO回路は、CP
U周辺に使われるASIC(Application
Specific Custom Product)
や、高速バスに対応したバッファ(100MHz程度で
動作)への利用が適しており、メモリ容量32ワード×
8ビット、32ワード×16ビット、32ワード×32
ビットのSRAMが考えられる。
【0025】
【発明の効果】本発明によれば、アドレス生成にシフト
レジスタを使用し、シフトレジスタの“H”レベルの位
置を比較することでメモリのフル,エンプティの認識を
高速で行うことができ、結果としてサイクルタイムを大
幅に短縮することができる。また、入力クロックは非同
期でも良い。
【図面の簡単な説明】
【図1】本発明による高速FIFO回路の構成を示すブ
ロック図である。
【図2】図1に示された比較部の構成を示した図であ
る。
【図3】図1に示されたライト側シフトレジスタ回路の
構成を示した図である。
【図4】従来の一例を示すブロック図である。
【符号の説明】
DI 入力データ DO 出力データ WADR ライトアドレス RADR リードアドレス WCLK ライトクロック RCLK リードクロック EFLG エンプティフラグ情報 FFLG フルフラグ情報

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 メモリのライト側とリード側にそれぞれ
    シフトレジスタ手段を設け、各シフトレジスタ手段にラ
    イトクロック、リードクロックを入力し、各シフトレジ
    スタ手段で生成されるアドレスを前記メモリのワード線
    及び比較手段に入力すると共に、各シフトレジスタ手段
    で生成されるシフトレジスタの周回数を示す信号を前記
    比較手段に入力し、前記比較手段は各シフトレジスタ手
    段からの前記アドレス及び前記周回数を示す信号に応じ
    て前記メモリが一杯であることを示すフルフラグ情報、
    前記メモリが空であることを示すエンプティフラグ情報
    を生成し、前記フルフラグ情報が生成された場合には前
    記ライトクロックを止め、前記エンプティフラグ情報が
    生成された場合には前記リードクロックを止めるように
    したことを特徴とする高速FIFO回路。
  2. 【請求項2】 前記比較手段は、各シフトレジスタ手段
    で生成されるアドレスが一致し、かつ各シフトレジスタ
    手段からの前記周回数を示す信号が一致した場合に前記
    エンプティフラグ情報を生成し、各シフトレジスタ手段
    で生成されるアドレスが一致し、かつ各シフトレジスタ
    手段からの前記周回数を示す信号が異なる場合には、前
    記フルフラグ情報を生成することを特徴とする請求項1
    記載の高速FIFO回路。
  3. 【請求項3】 前記シフトレジスタ手段は、1クロック
    入力される毎に“H”レベルがシフトしてワード線をオ
    ンとするnビットシフトレジスタと、このシフトレジス
    タの“H”レベルが何周しているかを奇数周と偶数周と
    で区別して出力するトグルフリップフロップとから成る
    ことを特徴とする請求項1あるいは2記載の高速FIF
    O回路。
JP8205795A 1996-08-05 1996-08-05 高速fifo回路 Expired - Lifetime JP3019917B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8205795A JP3019917B2 (ja) 1996-08-05 1996-08-05 高速fifo回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8205795A JP3019917B2 (ja) 1996-08-05 1996-08-05 高速fifo回路

Publications (2)

Publication Number Publication Date
JPH1050052A true JPH1050052A (ja) 1998-02-20
JP3019917B2 JP3019917B2 (ja) 2000-03-15

Family

ID=16512819

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8205795A Expired - Lifetime JP3019917B2 (ja) 1996-08-05 1996-08-05 高速fifo回路

Country Status (1)

Country Link
JP (1) JP3019917B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002014993A3 (en) * 2000-08-11 2002-08-29 Advanced Micro Devices Inc Efficient clock start and stop apparatus for clock forwarded sytem i/o
US7353356B2 (en) 2002-03-07 2008-04-01 Renesas Technology Corp. High speed, low current consumption FIFO circuit

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002014993A3 (en) * 2000-08-11 2002-08-29 Advanced Micro Devices Inc Efficient clock start and stop apparatus for clock forwarded sytem i/o
JP2004506975A (ja) * 2000-08-11 2004-03-04 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド クロックフォワードシステムi/oのための効率的なクロック開始および停止装置
US6782486B1 (en) 2000-08-11 2004-08-24 Advanced Micro Devices, Inc. Apparatus for stopping and starting a clock in a clock forwarded I/O system depending on the presence of valid data in a receive buffer
US7353356B2 (en) 2002-03-07 2008-04-01 Renesas Technology Corp. High speed, low current consumption FIFO circuit

Also Published As

Publication number Publication date
JP3019917B2 (ja) 2000-03-15

Similar Documents

Publication Publication Date Title
US5587953A (en) First-in-first-out buffer memory
US5365485A (en) Fifo with fast retransmit mode
JPH0511976A (ja) データ処理装置
JP2000148444A (ja) 複数論理fifoシステム
JP2007525766A (ja) マルチポートメモリシステムにおける衝突検出
US7257687B2 (en) Synchronization of active flag and status bus flags in a multi-queue first-in first-out memory system
JPH11502656A (ja) メモリへの書込みを結合する方法および装置
WO2003044652A2 (en) High-speed first-in-first-out buffer
US6058439A (en) Asynchronous first-in-first-out buffer circuit burst mode control
US20040085817A1 (en) First-in first-out memory circuit and method for executing same
JP3520032B2 (ja) データ処理装置
EP0282248A2 (en) Block access system using cache memory
JPH07121437A (ja) コンピュータシステム
JP3019917B2 (ja) 高速fifo回路
JPH04279945A (ja) メモリ回路
US6097656A (en) High speed empty flag generator
JP2002109874A (ja) Fifoメモリ装置内の空のメモリ位置の数を決定する方法及び装置
JP2638484B2 (ja) データ処理装置
JP2908331B2 (ja) リストベクトル処理システム
JP4478592B2 (ja) メモリ回路
JP3520570B2 (ja) メモリアクセス制御装置
JP4061841B2 (ja) 半導体記憶装置
JPH06103026A (ja) メモリシステム
JPS607529A (ja) バツフアメモリ装置
JPH09274599A (ja) バッファメモリ装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19991208