JPH0277836A - Fifo用フラグを提供するための回路及び方法 - Google Patents

Fifo用フラグを提供するための回路及び方法

Info

Publication number
JPH0277836A
JPH0277836A JP1115946A JP11594689A JPH0277836A JP H0277836 A JPH0277836 A JP H0277836A JP 1115946 A JP1115946 A JP 1115946A JP 11594689 A JP11594689 A JP 11594689A JP H0277836 A JPH0277836 A JP H0277836A
Authority
JP
Japan
Prior art keywords
signal
write
flag
read
logic state
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
JP1115946A
Other languages
English (en)
Other versions
JP2863545B2 (ja
Inventor
Gerard A Kreifels
ジェラード エイ.クライフェルズ
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.)
STMicroelectronics lnc USA
Original Assignee
SGS Thomson Microelectronics Inc
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 SGS Thomson Microelectronics Inc filed Critical SGS Thomson Microelectronics Inc
Publication of JPH0277836A publication Critical patent/JPH0277836A/ja
Application granted granted Critical
Publication of JP2863545B2 publication Critical patent/JP2863545B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • G06F5/12Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2205/00Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F2205/12Indexing scheme relating to groups G06F5/12 - G06F5/14
    • G06F2205/126Monitoring of intermediate fill level, i.e. with additional means for monitoring the fill level, e.g. half full flag, almost empty flag

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Communication Control (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Dc Digital Transmission (AREA)
  • Static Random-Access Memory (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、一般に、FIFOに関するものであり、さら
に詳細には、FIFOに記憶されている情報の量を決定
するためのフラグの動作に関する。
従来の技術 先入れ先出しメモ!I(FIFO)は、処理速度が大き
く異なる2台の別々の機械の間で読み出し動作と書き込
み動作を行う上で重要なデータバッファ機能を担う。F
IFOを用いると2台の機械の間で非同期動作を実行す
ることが可能であり、これら機械においてデータをFI
FOに書き込むこととデータをFIFOから読み出すこ
とが同時に実行できる。FIFOの中心は、読み出し動
作と書き込み動作を互いに独立に行うことを可能にする
デュアルポートメモリである。この結果、人力と出力で
本当に非同期の動作を実行することが可能になる。
FIFOのデュアルポートメモリ部分は、アドレス可能
な複数のロケーションを有するデュアルポー)RAMセ
ルを用いて実現することができる。
読み出しポインタと書き込みポインタが、読み出し動作
および書き込み動作においてアドレス可能なロケーショ
ンのアドレスを発生させるためにそれぞれ設けられてい
る。読み出しポインタと書き込みポインタは、実際にデ
ータが一連のシフトレジスタの中を移動する代わりに、
1回の読み出し動作および書き込み動作に対してそれぞ
れインクリメントされる。しかし、読み出しポインタと
書き込みポインタが同時に同じアドレスを指し示して、
同じアドレスにおいては情報が1つのメモリロケーショ
ンに書き込まれ、それと同時に同じメモリロケーション
から情報が読み出されることがないようにすることが重
要である。この事態を回避するため、ステータスフラグ
を用いて2つのポインタの間の近似度をユーザーに知ら
せる。
ステータスフラグは読み出し側で用いられて、FIFO
が空であることをユーザーに知らせる。
このため、ユーザーは空のFIFOを読み出そうとする
ことはなく、実際、読み出しポインタがインクリメント
されて書き込みポインタのアドレスに追いつくことを禁
止する回路が設置されている。
同様に、メモリが一杯であることをユーザーに知らせる
ための一杯フラグを設けて、ユーザーがメモリにデータ
を書き込んだり書き込みポインタをインクリメントして
読み出しポインタを追い越すことがないようにしている
。「−棒状態」フラグや「空状態」フラグは、FIFO
に設けられている従来通りのフラグである。
従来のFIFOに設けられている別のフラグは、FIF
Oの書き込み側にはFIFOが半分満たされていること
を知らせ、FIFOの読み出し側にはFIFOが半分空
いていることを知らせる半充満フラグである。しかし、
このタイプのフラグにはこのことに関係した同期の問題
が幾つかある。
特に非同期動作を行うときが問題である。例えば、デー
タが、半充満フラグを半充満位置にセットするメモリの
ロケーションに書き込まれる場合には、同時読み出し動
作によってフラグがエラー状態になるというフラグエラ
ーが発生しないようにすることが重要である。典型的に
は、2048個のレジスタを有するFIFOでは、デー
タが第1025番目のロケーションに書き込まれる場合
に半−杯フラグがセットされる。しかし、同時に読み出
し動作が起こると、半充満フラグは思いがけずリセット
位置にされたり、または書き込み動作ではフラグがリセ
ット位置に戻ることがあったりする。
発明が解決しようとする課題 この半−杯フラグのエラーの問題を解決するため、多く
のFIFOでは読み出し動作と書き込み動作が所定の時
間内に起こらないようにする外部回路を使用することが
要求されている。このためには、一般に、読み出しポー
トと書き込みポートの間に、読み出しおよび/または書
き込み動作の一方が他方に対して遅延していることを保
証するある種の無効化回路が必要とされる。しかし、こ
の方法の主要な欠点は、本当の非同期動作が否定され、
読み出しボートと書き込みボートを同期させる必要があ
ることである。
課題を解決するための手段 ここに開示して権利を請求する本発明には、FIFO用
の「ほぼ一杯」フラグが含まれる。FIFOから情報を
読み出すためにFIFO内でのロケーションを決定する
目的で読み出しポインタが設けられており、FIFOに
情報を書き込むためにFIFO内でのロケーションを決
定する目的で書き込みポインタが設けられている。読み
出しポインタは1回の読み出し動作ごとにインクリメン
トされ、書き込みポインタは1回の書き込み動作ごとに
インクリメントされる。書き込みポインタは読み出しポ
インタよりも値が大きい。カウンタ回路が読み出しポイ
ンタと書き込みポインタの近似度を決定するために設け
られている。読み出しポインタと書き込みポインタの間
が、−棒状態よりも小さく、空の状態よりも大きな所定
の距離能れている場合には、第1の論理状態の比較信号
が発生する。比較信号が発生しない場合には、カウンタ
回路の出力は第2の論理状態である。カウンタ回路の出
力が第1の論理状態にあって比較信号の存在を示してお
り、外部書き込み信号が受信されると判定される場合に
は、セット信号が発生する。比較信号が存在していると
判定される場合には、フラグがリセット位置に置かれる
本発明の別の態様によると、カウンタ回路は、第1の論
理状態から第2の論理状態へ、または第2の論理状態か
ら第1の論理状態へと状態が変化した後に所定の安定化
時間を有する。無効化回路が、外部読み出し信号の発生
後所定の時間が経過するまでリセット信号が発生しない
ようにするために設けられている。外部読み出し信号に
よって比較信号が第2の論理状態から第1の論理状態へ
と変化する。
本発明のさらに別の態様によると、カウンタ回路は所定
の安定化時間を有する。比較信号が、外部書き込み信号
の受信後所定の期間にわたってAND回路の1つの人力
にラッチされる。さらに、このAND回路の他方の入力
にはパルスが入力される。このパルスは、セット信号が
上記の所定の期間にのみ発生してカウンタ回路の出力の
いかなる変化とも無関係であるようにする所定の時間幅
を有する。また、リセット動作は、この所定の期間の間
は無効にされる。
本発明とその利点をより完全に理解するため、添付の図
面を参照して以下に説明する。
実施例 第1図を参照すると、「ほぼ一杯/はぼ空」フラグを利
用した本発明のFIFOのブロックダイヤグラムが示さ
れている。FIFOはデュアルポートメモリアレイ10
を備えている。このメモリアレイ10は、バス12に接
続されたデータ入力ポートと、バス14に接続されたデ
ータ出力ポートとを有する。バス12は、入力バス18
の人力データDO〜D8に接続された人力バッファ16
から出力され、バス14は、出力バス22に出力データ
QO〜Q8を出力する出力バッファ20に接続されてい
る。データビットが9つ使用されているが、FIFOの
動作ではデータビットの数は任意でよい。デュアルポー
トメモリアレイ10は、バス12から書き込んだりバス
14に読み出したりする動作が可能なアドレス可能な複
数のメモリロケーションのアレイである。しかし、レジ
スタなどの任意のタイプのFIFOメそりブロックを本
発明で使用できることを理解しておく必要がある。
メモリアレイ10は、バス26を通じて書き込みアドレ
スポインタ24に接続された書き込みアドレス入力を備
えている。読み出しアドレス入力は、バス30を介して
読み出しアドレスポインタ28の出力に接続されている
。書き込みアドレスポインタ24と読み出しアドレスポ
インタ28は、様々な制御信号によってインクリメント
される循環カウンタである。書き込みアドレスポインタ
24は、書き込み入力信号を受けるように接続された書
き込み制御回路32によって制御され、読み出しアドレ
スポインタ28は、読み出し入力信号を受ける読み出し
制御回路34によって制御される。循環カウンタを利用
することにより、次のシーケンシャルアドレスを新しい
データワードが人力されるごとにメモリアレイ10に書
き込むことがでと、読み出しポインタ28をインクリメ
ントして次のシーケンシャルアドレスに記憶されている
データを読み出すことができる。
書き込み制御回路32の出力は、入力バッファ16とフ
ラグ論理回路36にも入力される。フラグ論理回路36
は、入力に、読み出し制御回路34の出力も受ける。読
み出し制御回路34の出力は出力バッファ20にも入力
される。フラグ論理回路36は、内部で各書き込み動作
と読み出し動作をカウントしてカウント値を比較するこ
とにより、書き込みアドレスポインタ24と読み出しア
ドレスポインタ28の間の近似度を決定することができ
る。読み出しポインク28と書き込みポインタ24が最
大の距離能れている場合に「−杯」フラグがライン38
に出力され、読み出しポインタ28と書き込みポインタ
24が等しい場合に「空」フラグがライン40に出力さ
れる。「ほぼ一杯/はぼ空」、フラグはライン42に出
力されて、近似度を空の状態と一杯状態の間の値として
示す。本発明の目的のためには、単なる例であるが、こ
の近似度を半充満にする。ここで、このフラグを「半」
フラグと呼ぶ。従って、「半」フラグは、1つのレジス
タでメモリアレイ10の中の50%よりも多いアドレス
可能なロケーションに書き込みがなされたときにセット
される。この「半」フラグは、メモリアレイ10が半充
満であることを書き込み側に伝える。「半」フラグは、
2つのポインタの間の近似度が例えば空から4バイト、
または充満から8バイトというよう1ニー任意の近似度
のときにセットまたはリセットすることができることを
理解しておく必要がある。
次に第2図を参照すると、フラグ論理回路36と、この
フラグ論理回路36の中でライン42に「半」フラグを
発生させるための部分のブロックダイヤグラムが示され
ている。−杯フラグおよび空フラグをライン38.40
に発生させるのは従来と同じであるため、ここでは詳細
な説明を行わない。書き込み制御回路32の出力はカウ
ンタ44に入力され、読み出し制御回路34の出力はカ
ウンタ46に入力される。カウンタ44とカウンタ46
は、連続的にインクリメントされる循環カウンタである
。カウンタ44と46の出力は比較回路48に入力され
る。比較回路4Bは、上記のカウンタの値が1024離
れているときにはいつでも出力ライン50に調和信号を
発生する。
これは、上記の好ましい態様でメモリアレイ10が最大
レジスタ値である2048をとる半充満状態を表す。こ
の調和信号は「ほぼ一杯/はぼ空」フラグ論理ブロック
52に入力され、このフラグ論理ブロック52の出力は
ライン42に「半」フラグを出力する。フラグ論理ブロ
ック52は、書き込み制御回路32の出力と読み制御回
路34の出力も受信する。このフラグ論理回路52は、
カウント値が1024から1025になったときにフラ
グをセットし、カウント値が1024のときにフラグを
リセットする動作を行うことが一般に可能である。さら
に、フラグ論理ブロック52は、読み出し動作と書き込
み動作が値が1024と1025の間の変化の近くで起
こる場合、さらには変化が同時である場合に「半」フラ
グの状態にエラーが発生するのを防止するため、「半」
フラグにエラーが起こることはありえない。
以下に説明するように、フラグ論理ブロックは、一般に
、読み出し信号の後縁から離れた幅の狭いパルスと、書
き込み信号の後縁から離れた幅の狭いパルスによって動
作する。幅の狭いこれらパルスを使用することにより、
フラグのセットおよびリセットの問題は、パルスが重な
る場合にのみ起こることができるようになり、従ってエ
ラーの可能性がかなり小さくなる。幅の狭いこれらパル
スの動作と、値のセットおよびリセットに関しては、第
8図a−jのタイミングチャートを参照してあとで詳細
に説明する。
次に第3図を参照すると、互いに同等なカウンタ44と
46のそれぞれを構成する循環式11ビツトカウンタの
論理回路図が示されている。11ビツトのそれぞれには
D型フリップフロップ54が備えられている。各フリッ
プフロップ54は、出力ビット800〜BOIOのうち
の1つを出力するQ出力を有する。第2のカウンタ(図
示せず)が値AOO〜AOIOを出力する。このカウン
タは、第3図に示したカウンタと同等である。
カウンタのフリップフロップはライン56のクロック信
号によってタイミングを制御され、このフリップフロッ
プのセット入力はライン58のリセット信号INITB
に接続されている。カウンタは最初は所定の値にセット
され、次に、カウンタクロックが値BOO〜B010に
インクリメントされる。ビットBOOに関係するフリッ
プフロップ54は、そのデータ入力がインバータ60を
介してVD+。
に接続されている。ビットBOIに関係するフリップフ
ロップ54のデータ入力は、NANDゲート62の出力
に接続されている。このNANDゲート62の一方の入
力はピッ)BOOに接続され、他方の入力はVD[lに
接続されている。ピッ)BO2に関係するフリップフロ
ップ54のデータ入力は、3人力NORゲート70の出
力に接続されている。
このNANDゲート64の1つの入力はピッ)BOlに
接続され、別の1つの人力はピッ)Booに接続され、
もう1つの入力はVDDに接続されている。ビットBO
3に関係するフリップフロップ54は、データ入力が4
人力NORゲート70の出力に接続されている。このN
ANDゲート66の1つの入力はピッ)BO2に接続さ
れ、別の1つの入力はピッ)BOIに接続され、別の1
つの入力はビットB○0に接続され、もう1つの入力は
VflDに接続されている。
ビットBO4に関係するフリップフロップ54のデータ
入力は、インバータ68を介してNORゲート70の出
力に接続されている。NORゲート70は一方の入力が
3人力NORゲート70の出力に接続されており、他方
の入力が2人力NORゲート70の出力に接続されてい
る。NANDゲート72は、1つの入力がピッ)BO3
に接続され、別の1つの入力がピッ)BO2に接続され
、もう1つの人力がピッ)BOIに接続されている。N
ANDゲート74は、一方の人力がピッ)BOOに接続
され、他方の人力がV。[lに接続されている。
ビットBO5に関係するフリップフロップ54は、デー
タ入力がNANDゲート76の出力に接続されている。
このNANDゲート76の一方の入力はピッ)BO4に
接続され、他方の人力がNORゲート70の出力に接続
されている。ピッ)BO6に関係するフリップフロップ
54は、データ入力がNANDゲート78の出力に接続
されている。このNANDゲート78の1つの人力はピ
ッ)BO5に接続され、別の入力はビットBO4に接続
され、もう1つの入力はNORゲート70の出力に接続
されている。ビットBO7に関係するフリップフロップ
54は、そのデータ入力が4人力NORゲート70の出
力に接続されている。このNANDゲート80の1つの
入力はピッ)BO6に接続され、別の入力はピッ)BO
5に接続され、別の入カビッ)BO4に接続され、もう
1つの入力はNORゲート70の出力に接続されている
ビットBO8に関係するフリップフロップ54のデータ
人力は、インバータ82を介してNORゲート84の出
力に接続されている。NORゲート84は、一方の入力
が3人力NORゲート70の出力に接続され、他方の入
力が2人力NORゲート70の出力に接続されている。
NANDゲート86は、1つの入力がピッ)BO7に接
続され、別の入力がピッ)BO6に接続され、もう1つ
の入力がビットB05に接続されている。NANDゲー
ト88は、一方の入力がピッ)BO4に接続され、他方
の入力がNORゲート70の出力に接続されている。ビ
ットBO9に関係するフリップフロップ54は、データ
入力がNANDゲート90の出力に接続されている。こ
のNANDゲート90は一方の入力がピッ)BO8に接
続されており、他方の入力がNORゲート84の出力に
接続されている。ビットB010に関係するフリップフ
ロップ54は、そのデータ入力が3人力NORゲート7
0の出力に接続されている。このNANDゲート92は
、1つの入力がピッ)BO9に接続され、別の入力がピ
ッ)BO8に接続され、もう1つの人力がNORゲート
84の出力に接続されている。
次に第4図を参照すると、フラグ論理ブロック52に対
する立下りパルスAEPならびにBEPと、−杯フラグ
とを発生させるための回路図が示されている。フラグ比
較動作は、NOR型比較論理回路で実行される。排他的
NOR比較回路は、複数の論理ブロック94で構成され
ている。各論理ブロック94は2つの排他的NORゲー
)96.98で構成されており、これら排他的NORゲ
ート96.98の出力は、NANDゲー) 100の2
つの入力にそれぞれ接続されている。NANDゲー) 
 100の出力は、論理ブロック94からの出力となる
。カウンタビットA00、BOO,AOI、BOIと関
係する論理ブロック94のみについて詳しく説明する。
図示されている論理ブロック94に対しては、ビットA
00、BOQがそれぞれ排他的NORゲート96の各入
力に入力され、ピッ)AOI、BOIが排他的NORゲ
ート98の各入力に入力される。ブロック94の出力は
NAOと表記される。各論理ブロック94は、ビットA
OO1BooからビットA09、BO9に対応して設け
られている。ビットA010、BOIOは、単一の排他
的NORゲート102に入力される。この排他的NOR
ゲート102の出力はNANDゲート104の1つの入
力に入力されて出力NA5を出力する。このNANDゲ
ート104の他方の入力は、インバータ106を介して
信号Pに接続されている。この信号Pは、通常の動作状
態ではロウレベルである。
ブロック94の出力NAOとNAIは、NORゲ−)1
08の入力にそれぞれ入力される。出力NA2、NA3
はNORゲート110の各入力に入力され、出力NA4
、NA5はNORゲーゲート2の各入力に入力される。
NORゲート108.110.112の出力は、それぞ
れ信号N0O1Not、NO2である。これら出力は、
3人力NORゲ−ト114の入力にそれぞれ入力される
。このNANDゲート114の出力は、フラグ論理ブロ
ックに対する比較信号となる。第2図の比較回路のため
には、出力NAO〜NA5の中から選択を行い、NAO
〜NA2を使用する。このことに関しては第5図を参照
して説明する。
書き込み制御入力は端子DGAに受信される。
この入力は立上りパルスである。端子DGAから入力さ
れたパルスはCMO3)ランスファーゲート116に人
力され、その出力が逆並列接続のインバータの構成にさ
れたラッチ118に入力される。
トランスファーゲート116とラッチ118における遅
延は、あとで説明する第5図の回路へ入力するための信
号CBの後に第3図のBOO〜B010が発生するまで
の遅延と整合している。ラッチ118の出力は排他的N
ORゲート120の一方の入力に接続されており、この
排他的NORゲー) 120の他方の入力はNチャネル
トランジスタ122を介してグラウンドに接続されてい
る。排他的NORゲート120の出力はNANDゲート
124の一方の入力に接続されており、このNANDゲ
ート124の他方の入力はPチャネルトランジスタ12
6を介してvanに接続されている。Pチャネルトラン
ジスタ126のゲートは、負荷用Nチャネルトランジス
り128を介してグラウンドに接続されている。
NANDゲート124の出力はNORゲート130の一
方の入力に接続されており、このNORゲート130の
他方の入力はNチャネルトランジスタ132のソース/
ドレイン通路を介してグラウンドに接続されている。ト
ランジスタ132のゲートは、Pチャネルトランジスタ
134のソース/ドレイン通路を介してVDtlに接続
されている。このトランジスタ134は、ゲートが負荷
用Nチャネルトランジスタ140を介してグラウンドに
接続されている。
NORゲート130の出力は3人力NORゲート110
1つの入力に接続されており、このNANDゲート14
2の別の入力はPチャネルトランジスタ144のソース
/ドレイン通路を介してVIllDに接続されている。
トランジスタ144のゲートは、負荷用Nチャネルトラ
ンジスタ146を介してグラウンドに接続されている。
排他的NORゲート120、NANDゲート 124、
NORゲート 130、NANDゲート142を通過す
ることによる遅延は、比較回路の各ブランチ、例えばC
MPを発生させる1本のブランチに対する排他的NOR
ゲート96、NANDゲート 100、NORゲート 
108、NANDゲート114を通過することによる遅
延と整合している。NANDゲート142の出力はNA
NDゲート148の一方の入力に接続されており、この
NANDゲー) 148の他方の入力は書き込みパルス
DGAに接続されている。NANDゲート148の出力
は、3人力NORゲート1080つの入力に接続されて
いる。このNANDゲート15oの出力はNORゲート
152の一方の入力に接続されている。NORゲート1
52は他方の入力がNANDゲート114の出力に接続
されており、このNANDゲート114からの比較出力
を受信する。このNANDゲート114の比較出力は2
つのカウンタの間の比較結果を表し、NORゲート15
2の出力からは一杯フラグであることが出方される。こ
こでは、−杯フラグの動作に関しては詳しく説明しない
NAND’r’−ト1420)出カバN ORゲート1
54の一方の入力にも入力される。このNORゲート1
54の他方の入力は、Nチャネルトランジスタ156を
介してグラウンドに接続されている。このトランジスタ
156のゲートは、Pチャネルトランジスタ158を介
してV。Dに接続されている。Pチャネルトランジスタ
158のゲートは、負荷用Nチャネルトランジスタ16
0を介してグラウンドに接続されている。NORゲート
154は、その出力が、直列接続の3つのインバータ1
64を介してNANDゲート162の一方の人力に接続
されている。インバータ164とNORゲート154は
、以後に続く回路の遅延と整合させる重要な遅延機能を
担う。NANDゲート162の他方の入力は書き込みパ
ルスDGAに接続されており、このNANDゲート16
2の出力は、フラグ論理ブロック52で使用されるAR
Pパルスを出力する。
読み出し入力は、端子DGBに入力される立下りパルス
である。このDGBパルスは、CMo5トランスフアー
ゲート167を介してラッチ166に入力される。トラ
ンスファーゲート167とラッチ166を通過すること
による遅延は、信号CBの後に第3図のBOO〜B01
0が発生するまでの遅延と整合している。ラッチ166
は、出力が排他的NORゲート168の一方の入力に接
続されている。
この排他的NORゲート168の他方の人力は、Nチャ
ネルトランジスタ122を介してグラウンドに接続され
ている。排他的NORゲート168の出力は、NAND
ゲート170の一方の人力に接続されており、このNA
NDゲート170の他方の入力はトランジスタ126を
介してvanに接続されている。
NANDゲート170の出力は、NORゲート172の
一方の人力に接続されており、このNORゲート172
の他方の入力はトランジスタ132を介してグラウンド
に接続されている。NORゲート172の出力は、3人
力NORゲート110の1つの入力に接続され、このN
ANDゲート174の他の2つの入力はトランジスタ1
44を介してvanに接続されている。排他的NORゲ
ニト168、NANDゲート170、NORゲート17
2、NANDゲート174を通過することによる遅延は
、BOO〜BO10の後にCMPが発生するまでの遅延
と整合している。
NANDゲート174の出力は、NANDゲート176
の一方の入力に接続されており、このNANDゲート1
76の他方の入力はDGBパルスに接続されている。こ
のNANDゲート176の出力は、フラグ論理ブロック
に対する制御信号を出力するためにNANDゲート15
0に接続されている。NANDゲート150の入力は外
部信号RFCZに接続されている。さらに、NANDゲ
ート174の出力はNANDゲート178の一方の入力
にも接続されており、このNANDゲート178の他方
の入力はDGBパルスに接続されている。このNAND
ゲート178の出力は、フラグ論理ブロック52に対す
る出力BEPとなる。ARP信号およびBEP信号を発
生させる回路が、NORゲート154と3つのインバー
タ164による余分な遅延を除いては同じであることに
注意されたい。ARP信号およびBEP信号を発生させ
る回路は、各インバータ列を通過することによる遅延と
等しい期間の間実行される2つの分離されたワンショッ
ト動作を実行する。さらに、読み出し信号DGBは、ト
ランスファーゲート167の人力では立下りパルスであ
るため、読み出しパルスの後縁から離れた位置に発生す
る。
次に第5図を参照すると、「ほぼ一杯/はぼ空」フラグ
論理ブロック52の一部分の論理回路図が示されている
。ピッ)BOIOとAoloが排他的ORゲート180
の人力にそれぞれ入力される。この排他的ORゲート1
80の出力は、NANDゲート182の一方の入力に接
続されている。このNANDゲ−)182の他方の入力
はVt1Dに接続されている。
NANDゲート182の出力はNORゲート184の一
方の入力に接続されており、このNORゲート184の
他方の人力は、第4図の排他的OR論理ブロック94の
出力であるカウンタ出力NR4に接続されている。NO
Rゲート184の出力は3人力NORゲート1101つ
の入力に接続されており、このNANDゲート186の
他の2つの入力はそれぞれ信号NOIとNOOに接続さ
れている。これら信号NotとN00は、第3図のカウ
ンタのNORゲート110.108からの出力である。
NANDゲート186は、フラグ論理ブロック52で使
用される比較信号CMPを出力する。
比較信号CMPはNORゲート188の一方の入力に入
力され、このNORゲート188の他方に人力はインバ
ータ190を介して信号BEPに接続されている。信号
CMPは、調和信号が存在しているときにはCMPがロ
ウとなるようなアクティブロウである。2つのカウンタ
44と46の間の差が1024に等しい場合には、信号
N0O1NOI、N03が2つのカウンタ44.46か
ら選択されて調和信号が発生する。この調和信号は半充
満状態を表す。しかし、第2図のフラグ論理ブロック5
2を操作するためには任意の値が選択可能であることを
理解しておく必要がある。
信号CMPがアクティブロウであるため、NORゲート
188の出力は、調和信号が存在していてBEPがハイ
のときに論理状態がハイになる。BEPがロウであるか
、あるいは調和信号が存在していないときには、出力は
論理状態がロウである。
従って、信号BEPにより、以下に説明するようにこの
BEPパルスの間無効化動作が実行される。
NORゲート188の出力は、ラッチ192のデータ人
力に人力される。ラッチ192のクロック入力は信号A
EPに接続されており、このラッチ192の反転クロッ
ク人力はインバータ194を介して信号AEPに接続さ
れている。このラッチ192はセット人力がBEPに接
続されており、QZ小出力インパーク196を介して端
子198に接続されていて信号HMATLを出力する。
さらに、NORゲ−)188の出力は直列接続の2つの
インバータ202を介して端子200に接続されて信号
HMATUを出力する。第5図の回路の動作において、
信号HMATUは、2つのポインタの差が1024でB
EPがハイのときにのみハイになる。信号BEPが口う
になるときにはいつでも信号HMATUがロウになって
無効化機能が実行される。あるいは、ポインタ間の差が
1024以外のときにはいつでも信号HMATUがロウ
になる。
ラッチ192は、信号AEPがハイのときにはいつでも
透過性であり、信号AEPがロウのときにはいってもこ
のラッチの入力の値が端子198にラッチされる。この
ラッチ192のセット入力はインパーク190の出力に
接続されていて、BEPパルスが発生したときにはいつ
でも端子198の値が論理状態のロウにセットされる。
従って、信号AEPがBEPパルスの間にロウになると
、端子198の出力がロウにラッチされる。しかし、B
EPパルスがハイであり、差が1024であるならば、
信号AEPの間に端子198に論理状態のハイがラッチ
される。
次に第6図を参照すると、フラグ論理ブロック52のう
ちで第5図の論理回路とのインターフェイス用の残りの
部分の論理回路図が示されている。
信号HMATLがNANDゲート204の一方の入力に
入力され、このNANDゲート204の他方の入力はイ
ンバータ206を介して信号AEPを受けるように接続
されている。NANDゲート204の出力によってPチ
ャネルトランジスタ210のゲートが駆動される。この
トランジスタ210はソースがVoに接続され、ドレイ
ンが出力ノード212に接続されている。信号HMAT
UはNANDゲート214の一方の人力に接続されてお
り、このNANDゲート214の他方の入力は信号AE
Pに接続されている。このNANDゲート214の出力
はインバータ216を介してNチャネルトランジスタ2
18のゲートに接続されている。Nチャネルトランジス
タ218は、ドレインがノード212に接続されており
、ソースがグラウンドに接続されている。
ノード212は逆並列接続のインバータからなるラッチ
220の入力に接続されている。このラッチ202は、
直列接続の2つのインバータ222を介してライン42
のHALFZと表示された「ほぼ一杯/はぼ空」フラグ
を出力する。
信号HMATLは、信号AEPと組み合わされてPチャ
ネルトランジスタ210を介してノード212をハイの
状態にすることによって「半」フラグをセットする機能
を有する。従って、AEPパルスの間にHMATLがハ
イであり、このARPがロウである場合には、「半」フ
ラグがセットされる。
さらに、フラグをセットするときにはARPによってN
ANDゲート214の動作が無効にされるためにNチャ
ネルトランジスタ218は導通しない。
しかし、信号HMATLがロウで信号AEPがノ\イの
場合には信号HMATUが動作可能になってフラグがリ
セットされる。このことは、信号CMPがロウであって
差の値が1024であることを表しており、かつBEP
パルスが信号CMPの立ち下がりエツジで発生した後に
のみ起こる。
次に第7図を参照すると、第5図のラッチ192のブロ
ックダイヤグラムが示されている。ラッチ192はD入
力がCMO5)ランスファーゲート224を介して逆並
列接続インバータのタイプのラッチ2260入力に接続
されている。このラッチ226の出力は、QZ小出力出
力する。このラッチ226の入力はNチャネルトランジ
スタ228のドレインにも接続されている。このトラン
ジスタ228はソースがグラウンドに接続されており、
ゲートがセット人力に接続されている。このセ+7 )
人力はインバータ190を介してBEPにも接続されて
いる。
トランスファーゲート224はクロック人力Gと補クロ
ック人力GZによって制御され、AEPに接続されてい
るクロック入力がノ\イのときにトランスファーゲート
224が導通し、AEPがロウのときにトランスファー
ゲート224が遮断状態になるようにされている。
次に第8図a −jを参照すると、「ほぼ一杯/はぼ空
」の状態に対してフラグをセットまたはリセットする期
間中に書き込み動作と読み出し動作が時間的に接して発
生する場合の様々な動作を表すタイミングチャートが示
されている。特に第8図aを参照すると、書き込み入力
制御信号WRITEが立下りパルスとして示されており
、読み出し人力制御信号READもやはり立下りパルス
として示されている。AEPパルスは通常はハイであり
、書き込み制御信号の立ち下がりエツジの発生に応答し
てトリガされてロウになる。この立下りパルスは、第4
図に関して先に説明した所定のパルス幅を有する。立下
りパルスであるAEPは書き込みパルスのエツジと同時
に発生するように図示されているが、実際には以下に説
明するように書き込みパルスのエツジよりも遅れている
。同様に、信号BEPは通常はノ\イであり、読み出し
パルスの立ち上がりエツジから離れて遅れて発生する立
下りパルスである。立下り7 NIL tレスであるB
EPは、以下に説明するように7 N+’ルス幅がAE
Pパルスのパルス幅よりモ狭い。
第8図すを参照すると、NANDゲート186の出力信
号CMPが、2つのカウンタ44と46の異なるすべて
の値に対して値1024を除いて通常はノ\イであるこ
とがわかる。差の値が1024であるとき;こは信号C
MPはロウである。差の値が1024未満である通常動
作の間は、「半」フラグHALFZがハイのままにとど
まるが、差の値は1回の書き込み動作ごとにインクリメ
ントされる。この差の値は、カウンタ44がインクリメ
ントされ、カウンタ46がインクリメントされないこと
の結果である。
例として第8図すに示したように、差の初期値は第1回
目の書き込み動作が行われるまでは1022である。こ
の第1回目の書き込み動作においてカウンタが書き込み
パルスの立ち下がりエツジでインクリメントされて値1
023になる。次の書き込み動作では、差の値がインク
リメントされて1024になり、信号CMPがロウにな
る。次の書き込み動作では、値が1024から1025
に変化し、HALFZがロウになる。HALFZは、読
み出し動作が行われるまでロウにとどまる。読み出しパ
ルスの立ち上がりエツジでは、差の値が1025から1
024にデクリメントされる。この結果、信号CMPが
ロウになり、HALFZがハイになる。書き込み動作の
ない次に続く読み出し動作では、差の値が再びデクリメ
ントされて1023になり、信号CMPがハイになる。
これは、カウンタ46がインクリメントされ、カウンタ
44がインクリメントされないことの結果である。読み
出し動作と書き込み動作によってそれぞれAEPパルス
とBEPパルスが発生するため、タイミング動作に関し
ては以下の説明ではAEPパルスとBEPパルスのみを
参照する。
しかし、差の値と信号CMPは、書き込み動作の立ち下
がりエツジによって、あるいは読み出し動作の立ち上が
りエツジによって更新されるのであリ、ARPパルスま
たはBEPパルスによって更新されるのではない。
第8図Cは、差の値が1024である結果として信号C
MPが最初はロウにセットされていることを示している
。これは、読み出し動作によって「半」フラグがリセッ
トされるか、あるいは書き込み動作によって差の値が1
023から1024に変化することの結果である。第8
図Cは、書き込み動作が読み出し動作の前に起こり、両
者の重なりがない場合を示している。
信号CMPがロウである場合に書き込み動作が起こると
きには、差が1024から1025に変化する際にAE
Pパルスがロウになり、信号CMPがハイになる。この
結果、フラグが、ほぼ一杯であることを示すロウにセッ
トされる。出力信号HMATLは、ラッチ192がNO
Rゲート188のハイ出力をHMATL端子198にラ
ッチしていることの結果としてハイである。NORゲー
ト188の出力は、信号CMPが最初はロウで信号BE
Pが最初はハイであることがらハイである。この値は、
AEPがロウになったときにラッチされる。HMATU
は、BEPの状態に関係なくCMPがハイになったとき
にロウになる。BEPはAEPパルスの間もハイにとど
まり、AEPがハイになった後に読み出し動作が行われ
る際に低下する。BEPの立ち下がりエツジは、差の値
が1025から1024に変化するのと一致し、その結
果としてCMPがロウになる。HMATLは、AEPが
ハイになったときにロウになるが、ラッチ192が再び
透過状態になるためにCMPはハイである。NORゲー
ト188の出力がロウであり、入力をラッチ192の中
の内部ラッチ226に取り込む結果としてラッチ192
がBEPによって強制的に論理状態のロウにされるため
、HMATLO値はBEPパルスの間ロウに維持される
。BEPパルスが終了する立ち上がりエツジでは、HM
ATUがハイになり、リセット動作用のフラグHALF
Zがハイになる。
動作中は、2つの機能が達成される。第1はフラグのセ
ットであり、第2はフラグのリセットである。フラグの
セット動作は、カウント値が1024から1025に変
化したことを判定することによって実行される。従って
、この変化を判定するためには、遷移を調べる必要があ
る。書き込み動作と同時にカウント値がインクリメント
されるため、判定はARPが低下するときにカウント値
がインクリメントされたことがわかることによってなさ
れる。従って、以前のカウント値が1024であること
と、AEPの立ち下がりエツジが発生することの両方を
知るだけでよい。これは、カウント値が1025にイン
クリメントされることと同時に起こるはずである。従っ
て、論理回路は、CMPの変化を調べるのではなく、A
EPがロウになる前に値が1024であることに対応し
てCMPがロウであったかどうかを調べる。従って、セ
ット動作はAEPの立ち下がりエツジで起こる。
セント動作の間は、予想外のリセットが発生しないよう
にすることが重要である。リセットが起こりうる唯一の
場合は、何らかの理由で信号CMPが極めて短時間の間
ロウになる場合である。しかし、AEPの間は、データ
人力の変化が出力に反映されないようにラッチ192が
ラッチされる。
このことは、カウンタ44と46の動作の結果として発
生することがある。カウンタの状態が変化している間、
フリップフロップの中には他のものよりも遅いものがあ
るために「ちょっとした問題が発生し」、その結果とし
てCMPが極めて短時間の間思いがけずロウになる可能
性がある。CMPの1024から1025への立ち上が
りエツジは、AEPの立ち下がりエツジと同時に起こる
ように図示されているが、ARPがロウになってからし
ばらくして発生する。リセット動作が行われたことを示
す潜在的なあらゆるちょっとした問題はこの立ち下がり
エツジの周囲で発生する。AEPにより、CMPに関す
る任意の動作が回路を通じてHMATLに伝達されるの
が防止されるため、ARPによリ、上記のちょっとした
問題によって思いがけないリセットが起こるのが防止さ
れる。これは、カウント値が1024よりもはるかに小
さくて「半」フラグがセットされないであろう場合にA
EPパルスガ発生することを考えるときに重要である。
CMPに1024から1025への遷移という形のちょ
っとした問題が現れる場合には、このちょっとした問題
が無効化される。セット動作が行われることになる唯一
の条件は、比較器の出力CMPにロウが存在することか
、あるいはAEPのロウ進行エツジが発生することであ
る。従って、セット動作は、比較器の動作またはカウン
タの動作の結果として起こるあらゆるちょっとした問題
とは独立している。判定は、AEPの立ち下がりエツジ
が発生することと、以前の差の値が1024であること
にのみ基づいて行われる。
フラグのセット動作は、フラグのリセット動作と対比さ
せることができる。フラグをリセットするときには、C
MPの遷移を調べて、値が1025から1024に変化
したことを判定する必要がある。しかし、この遷移はB
EPパルスが終了するまで調べられない。BEPパルス
が終了するときには、思いがけないあらゆるちょっとし
た問題が発生してしまっており、カウンタが正確な値に
安定化されるであろう。例えば、差の値が読み出し動作
の間に1027から1026に変化する場合には、発生
する可能性のあるあらゆるちょっとした問題がこの遷移
の近傍で発生する。しかし、BEPによって、このBE
Pの立ち上がりエツジまでは潜在的なあらゆるリセット
動作が無効化される。このため、カウンタを安定化させ
るのに所定の時間がかかる。
従って、リセット動作は「半」フラグがセットされるこ
とと、CMPの立ち下がりエツジが発生することと、信
号CMPに対応する差の値がBEPの立ち上がりエツジ
で1024に等しいこととに関係する。
第8図dは、ARPの立ち下がりエツジがBEPの立ち
下がりエツジの直前に起こる場合を示している。差が1
024である間にAEPがロウになると、差が1025
にインクリメントされるためにCMPがハイになる。こ
の結果、HMATLがハイの状態にラッチ°される。C
MPの立ち上がりエツジによってHMATUがロウにな
り、AEPの立ち下がりエツジによってHALFZがロ
ウになる。
この結果としてフラグが効果的にセットされる。
BEPの立ち下がりが発生すると、差の値が1025か
ら1024にデクリメントされ、CMPがロウになる。
CMPがハイである期間は非常に短くすることができる
。しかし、BEPがHMATUを無効化し、HMATU
はBEPが立ち上がりエツジで再びハイに戻るまでロウ
にとどまる。この結果、NANDゲート214への入力
で論理レベルがハイになる。しかし、BEPの立ち上が
りエツジがAEPの立ち上がりエツジの前に発生する場
合には、すなわちBEPパルスが完全にAEPパルスの
中に発生する場合には、AEPがNANDゲート214
を無効化し、フラグがリセットされるのが防止される。
フラグはAEPの立ち上がりエツジでハイにリセットさ
れ、NANDゲート214の出力がロウになり、トラン
ジスタ218がオンになる。しかし、BEPの立ち上が
りエツジがARPの立ち上がりエツジの前に発生する場
合には、フラグがBEPの立ち上がりエツジでリセット
される。従って、AEPパルスの幅によって、「半」フ
ラグ期間のセット後にリセットが起こりえない最小時間
が与えられる。これは、BEPがロウになるまで論理状
態のハイが出力HMATLにラッチされてラッチ226
の人力がロウにされることに起因する。
AEPの立ち下がりエツジとBEPの立ち下がりエツジ
の間に時間差があるために、「半」フラグが論理状態の
ロウにセットされる。「半」フラグは、BEPの立ち上
がりエツジのあとに発生するAEPの立ち上がりエツジ
までリセットすることができない。この場合、AEPが
「半」フラグのセット動作を制御する。あとで発生する
BEPパルスによってCMPがロウになり、AEPのパ
ルス幅が「半」フラグのセットとリセットの間の最小時
間間隔を与える。
第8図eは、BEPの立ち下がりエツジがAEPの立ち
下がりエツジの直前に起こり、差の値が1024である
場合を示している。これは、フラグがリセット状態にあ
り、差の値が1024から1023に変化する場合であ
ることを示している。従って、BEPの立ち下がりエツ
ジではCMPがハイになり、差の値が1023になった
ことがわかる。これと同時に、BEPが出力HMATL
を強制的にロウの状態にするため、HMATLはロウに
なる。さらに、上で説明したように、BEPは、BEP
がロウである間にリセットを行う機能を無効にするため
、HMATUもロウになる。
ARPの立ち下がりエツジが発生するときには、差の値
が1023から1024までインクリメントされ、CM
Pはロウになる。さらに、ラッチ192への入力の値は
このラッチの出力にラッチされる。第8図eの例では、
AEPの立ち下がりエツジがBEPの立ち上がりエツジ
の前に発生し、HMATLがロウにラッチされる。HM
ATLは、ARPの立ち上がりエツジまでロウにラッチ
された状態にとどまる。AEPの立ち下がりエツジによ
ってCMPがロウになる場合には、ロウ状態がラッチ時
のNORゲート188の出力値であるため、HMATL
が常にロウ状態にラッチされている。セット動作が起こ
りうる唯一の場合は、HMATLが論理状態のハイであ
るときにAEPの立ち下がりエツジが発生する場合であ
る。これは、BEPの立ち下がりエツジの前に起こる必
要がある。
第8図fは、AEPとBEPの立ち下がりエツジが同時
に起こり、これら立ち下がりエツジが発生する前の差の
値が1024である場合を示している。
AEPとBEPの立ち下がりエツジでは、差の値がやは
り1024である。従って、CMPは、両方のルスの立
ち下がりエツジの前と後でロウにとどまる。BEPがロ
ウになるため、HMATLO値は強制的にロウにされ、
このロウ状態がラッチ192にラッチされる。さらに、
HMATUもやはりBEPの立ち下がりエツジで強制的
にロウにされる。
従って、フラグは論理状態のハイでリセット状態にとど
まる。フラグをロウ状態にリセットすることのできる唯
一の場合は、AEPの立ち下がりエツジがBEPの立ち
下がりエツジの直前に起こり、論理状態のハイがHMA
TLにラッチされる場合である。しかし、このことが実
際に起こる場合には、フラグは、第8図dに示したよう
にAEPパルスの終了時にリセットされる。
第8図gのタイミングチャートには、AEPの立ち下が
りエツジがBEPの立ち上がりエツジと同時に起こり、
BEPの立ち下がりエツジの前の差の値が1024であ
る場合が示されている。BEPがロウになるときには、
差の値が1023に変化し、CMPがハイになる。さら
に、HMATLが強制的にロウにされ、HMATUが強
制的にロウにされる。差の値が1024となると、AR
Pの立ち下がりエツジによりCMPがロウになる。BE
Pの立ち上がりエツジが同時に起こるため、CMPがロ
ウでBEPがハイの組み合わせによってHMATUがハ
イになる。AEPパルスの立ち下がりエツジによって、
ARPパルスの持続期間中にHMATLの以前のロウ状
態もラッチされる。HMATLはARPの立ち上がりエ
ツジでハイになる。従って、フラグが論理状態のロウに
セットされる。
第8図h〜第8図Jには、フラグが最初はロウにセット
されていてほぼ一杯の状態を表しており、読み出し動作
と書き込み動作が近接して起こる場合の条件が示されて
いる。第8図りは、AEPパルスがBEPパルスの直前
に発生する場合である。
最初は、差の値が1024であり、この差の値がAEP
の立ち下がりエツジで1023に変化する。HMATL
は、差の値が1024のときにロウであり、この値がA
EPの立ち下がりエツジでラッチ192にラッチされる
。BEPの立ち下がりエツジが発生すると差の値が10
23に変化するが、CMPはハイのままにとどまる。従
って、HMATLまたはHMATUは状態に変化がなく
常にロウにとどまる。
従って、「半」フラグは決してリセットすることができ
ない。上で説明したように、「半」フラグは、AEPの
立ち上がりエツジが発生した後に、HMATUがハイで
あればリセットされる。CMPは決してロウにならない
ため、HMATUは常にロウにとどまる。HMATUが
ロウになるための唯一の条件は、BEPの立ち下がりエ
ツジがAEPの立ち下がりエツジの直前に発生すること
である。
第8図1には、BEPの立ち下がりエツジがAEPの立
ち下がりエツジの直前に起こる場合が示されている。B
EPの立ち下がりエツジが発生するときには、差の値が
1025から1024に変化し、CMPがロウになる。
しかし、この間、HMATUはBEPがロウになるため
に強制的にロウにされる。BEPがロウになることは、
上で説明したようにBEPパルスの無効化機能の一部で
ある。AEPの立ち下がりエツジが起こるときには、差
の値が1024から1025に変化し、HMATLがロ
ウ状態にラッチされる。HMATLがロウ状態にラッチ
される理由は、BEPがロウの間にBEPがHMATL
を強制的にロウにすることにある。AEPの立ち下がり
エツジがBEPの立ち上がりエツジの前に起こるため、
「半」フラグはリセットすることができない。リセット
のためには、BEPの立ち上がりエツジの後にCMPが
ロウになる必要がある。しかし、AEPの立ち下がりエ
ツジがBEPの立ち上がりエツジの後に起こる場合には
、「半」フラグはハイにリセットされるがAEPの次の
立ち上がりエツジによって「半」フラグがロウ状態にセ
ットされる。この場合、HMATUはBEPの立ち上が
りエツジによってハイになり、次に論理状態のハイがA
EPパルスの間にHMATLにラッチされる。
第8図Jには、「半」フラグがロウでほぼ一杯の状態を
示しているときにAEPの立ち下がりエツジがBEPの
立ち上がりエツジと同時に起こる場合が示されている。
この状態では、BEPの立ち下がりエツジによって差の
値が1025から1024に変化し、CMPがロウにな
る。さらに、BEPの立ち上がりエツジまでBEPに無
効化機能があるためにHMATUが強制的にロウにされ
る。HMATLは、BEPの立ち下がりエツジから立ち
上がりエツジまで強制的にロウにされる。この結果、A
RPの立ち下がりエツジでロウ状態がHMATLにラッ
チされるとともに、CMPがハイにされ、さらに、フラ
グはAEPパルスの間はリセットすることかできないた
めにフラグのリセットが防止される。AEPの立ち下が
りエツジがBEPの立ち上がりエツジ直後に起こる場合
には、HMATUはハイになり、フラグをリセットする
。しかし、AEPの立ち上がりエツジが起こると直ちに
、論理状態のハイがHMATLにラッチされ、フラグが
リセットされる。この動作においては、HMATUがロ
ウであり、AEPがリセット機能を無効化することが重
要である。
上記の動作から、ポインタの間の値の差が第1の所定の
値から次の第2の所定の値に変化するときにフラグのセ
ット/リセットが起こることがわかる。これは、値の増
加または減少である。フラグは、第1の値からの増加が
判明したときにセットされ、第1の値への減少が判明し
たときにリセットされる。初期値からの値の増加は、ま
ず第1に、第1の値が存在していることを判定し、次に
、増加があることを判定することによって判定される。
これは、AEP自体の値が増加し、フラグをセットする
のに必要とされる唯一の情報が、第1の値がAEPの立
ち上がりエツジの発生の前に存在しているかどうかであ
るというAEPを利用することによって実現される。フ
ラグのセットの間は、回路の動作を無効化して、内部回
路でちょっとした問題が起こらないようにすることが重
要である。そこで、AEPによって、可能なあらゆるリ
セット動作と、比較器の動作に起因するあらゆるちょっ
とした問題とが無効化される。比較器の遷移はAEPが
発生するたびごとに、あるいは書き込み動作が実行され
るごとに発生しうるため、差の値がインクリメントされ
るごとにAEPにより無効化機能が実現される。他方、
リセット動作は、差の値が第2の値から第1の値に減少
するときにはいつでも起こる。この判定は、リセット動
作が単に第1の値が存在していることによって起こるこ
とによってなされる。もちろん、上記の好ましい実施例
では1024である第1の値は、リセット動作の判定を
行うのに必要とされる時間と比較してより長時間、すな
わち50ナノ秒の間存在する。
リセット動作により、以前に起こったあらゆるすセット
動作を停止させる無効化動作が実行されるとともに、カ
ウンタと比較器がこの判定を行う前に安定化しているこ
とを確実にする所定の遅延が与えられる。
第6図の回路におけるBEPの無効化機能により、リセ
ット動作とセット動作の間の時間の関係がわかる。セッ
ト動作では、AEPにより可能なあらゆるリセットが無
効化されて、HMATLがハイであるかどうかが判定さ
れる。例えば、この期間には、比較器とBEPに対する
任意の動作が無効化され、ハイになるという潜在的な小
さな問題が発生することによりトランジスタ218がオ
ンになることが防止される。この目的で、AEPはパル
ス幅がBEPのパルス幅よりもわずかに広い。
AEPのパルス幅は、HMATUがBEPによって無効
にされる時間に対応するようにされている。
この無効化動作のためには3つのインバータ190.2
02とNORゲート188が直列に導入されており、A
RPが直接にNANDゲート214に入力されるため、
NORゲート154と3つのインバータ164がこの遅
延を相殺する。しかし、リセット動作がAEPパルスの
全期間を通じて無効化され、HMATUによってリセッ
ト動作が起こらないようにすることが重要である。同様
に、BEPは、BEPパルスの間にHMATUを無効化
することによってリセット動作を無効化し、あらゆる進
行中のリセット動作を停止させるのに使用することがで
きる。
好ましい実施例についてこれまで詳しく説明してきたが
、添付の特許請求の範囲に定義された本発明の精神なら
びに範囲をはずれることなく、本発明に対して様々な変
更、置換、改変を施すことができる。
【図面の簡単な説明】
第1図は、本発明のFIFOのブロックダイヤグラムで
ある。 第2図は、「ほぼ一杯」フラグを発生させるためのフラ
グ論理回路のブロックダイヤグラムである。 第3図は、カウンタの論理回路図である。 第4図は、ARPとBEPを発生させるためのパルス発
生回路の論理回路図である。 第5図は、フラグ論理回路の論理回路図の一部である。 第6図は、フラグをセットおよびリセットするためのフ
ラグ論理回路の出力回路の図である。 第7図は、第5図のラッチの詳細な論理回路図である。 第8図a〜第8図jは、フラグ論理回路の動作のタイミ
ングチャートである。 (主な参照番号) 10・・デュアルポートメモリアレイ、12.14.1
8.20.22.26.30・・バス、16・・入カハ
ッファ、20・・出力ハッファ、24・・入力アドレス
ポインタ、 28・・出力アドレスポインタ、 32・・書き込み制御回路、 34・・読み出し制御回路、 36・・フラグ論理回路、 38.40.42.50.56.58・・ライン、44
.46・・カウンタ、  48・・比較回路、52・・
フラグ論理ブロック、 54・・フリップフロップ、 60.68.82.106.164.190.194.
196.202.222・・インバータ、 62.64.66.72.74.76.78.80.8
6.88.9o、92.100.104.114.12
4.142.148.150.162.170.174
.176.178.182.186.204.214・
 ・NANDゲート、 70.84.108.110.112.130.152
.154.172.184.188・ ・NORゲート
、 96.98.102.120.168、・・排他的NO
Rゲート、 94・・論理ブロック、 116.167.224・・トランスファーゲート、1
18.166.192.220.226・・ラッチ、1
22.128.132.140.146.156.16
0.218.228・・Nチャネルトランジスタ、 126.134.144.158.210・・Pチャネ
ルトランジスタ、 180・・排他的ORゲート、 198.200・・端子、 212・・出力ノード

Claims (11)

    【特許請求の範囲】
  1. (1)FIFO用の「ほぼ一杯」フラグであって、−F
    IFOから情報を読み出すためにFIFO内でのロケー
    ションを決定するために、外部読み出し信号の印加に応
    答して各読み出し動作ごとにインクリメントされる読み
    出しポインタと、−FIFOに情報を書き込むためにF
    IFO内でのロケーションを決定するために、外部書き
    込み信号の印加に応答して各書き込み動作ごとにインク
    リメントされる書き込みポインタと、 −読み出しポインタおよび書き込みポインタの近似度を
    決定して、読み出しポインタおよび書き込みポインタの
    間に所定の差があるときに比較信号を出力し、この比較
    信号を発生したときに第1の論理状態から第2の論理状
    態に遷移するカウンタ手段と、 −外部書き込み信号の印加の結果として読み出しポイン
    タおよび書き込みポインタの近似度が変化したことに応
    答して上記カウンタ手段の出力が上記第2の論理状態か
    ら上記第1の論理状態に変化するときを判定してセット
    信号を発生するセット手段と、 −上記比較信号が存在しているときを判定し、この比較
    信号に応答してリセット信号を発生させるリセット手段
    と、 −セット位置とリセット位置を有する「ほぼ一杯」フラ
    グとを備え、 上記「ほぼ一杯」フラグは、上記セット信号の発生に応
    答してセット位置に設定され、上記リセット信号の発生
    に応答してリセット位置に設定されることを特徴とする
    「ほぼ一杯」フラグ。
  2. (2)上記カウンタ手段が、第1の論理状態から第2の
    論理状態に遷移するとき、および第2の論理状態から第
    1の論理状態に遷移するときに所定の安定化時間をもっ
    ており、 −上記外部書き込み信号の受信後に上記安定化時間より
    も長い所定の時間の間上記セット信号の発生を阻止して
    上記カウンタ手段を安定化させる第1の無効化手段と、 −上記外部読み出し信号の受信後に上記安定化時間より
    も長い第2の所定の時間の間上記リセット信号の発生を
    阻止して上記カウンタ手段を安定化させる第2の無効化
    手段とをさらに備えることを特徴とする請求項1に記載
    の「ほぼ一杯」フラグ。
  3. (3)上記セット手段が、上記外部書き込み信号が受信
    されたときに上記比較信号が存在しているかどうかを決
    定して、その存在に応答して上記セット信号を発生させ
    る手段を備え、上記カウンタ手段の出力の第2の論理状
    態から第1への論理状態に変化とは独立にこのセット信
    号を発生させることを特徴とする請求項1に記載の「ほ
    ぼ一杯」フラグ。
  4. (4)外部読み出し信号の受信後の所定の時間の間リセ
    ット信号の発生を禁止する手段をさらに備えることを特
    徴とする請求項1または3に記載の「ほぼ一杯」フラグ
  5. (5)FIFO用の「ほぼ一杯」フラグであって、−F
    IFOから情報を読み出すためにFIFO内でのロケー
    ションを決定するために、外部読み出し信号の受信に応
    答して各読み出し動作ごとにインクリメントされる読み
    出しポインタと、−FIFOに情報を書き込むためにF
    IFO内でのロケーションを決定するために、外部書き
    込み信号の受信に応答して各書き込み動作ごとにインク
    リメントされる書き込みポインタと、 −上記外部読み出し信号の受信に応答してインクリメン
    トされ、上記読み出しポインタの値に対応する第1のカ
    ウント値を有する第1のカウンタと、 −上記外部書き込み信号の受信に応答してインクリメン
    トされ、上記書き込みポインタの値に対応する第2のカ
    ウント値を有しており、第1のカウント値と第2のカウ
    ント値の差が読み出しポインタと書き込みポインタの近
    似度に対応するようにされている第2のカウンタと、 −第1のカウント値を第2のカウント値と比較して、両
    者の間に所定の差がある場合に第2の論理状態にある比
    較信号を出力し、この比較信号が発生されない場合には
    、この比較信号が第1の論理状態にされ、出力が第2の
    論理状態になる比較手段と、 −上記外部書き込み信号を受信したときに上記比較信号
    の存在に応答してセット信号を発生させるセット手段と
    、 −上記比較信号の存在に応答してリセット信号を発生さ
    せるリセット手段と、 −上記外部読み出し信号を受信した後の所定の時間の間
    上記リセット手段がリセット信号を発生するのを禁止し
    て、上記比較手段が上記比較信号を第1の論理状態から
    第2の論理状態に遷移させる近くに上記リセット信号が
    発生されるのを防止する無効化手段と、 −上記セット信号が発生したときにはセット位置に設定
    され、上記リセット信号の発生に応答してリセット位置
    に設定されるフラグと を備えることを特徴とする「ほぼ一杯」フラグ。
  6. (6)上記セット手段が、 −上記比較手段の出力に接続されたデータ入力を有して
    おり、上記外部書き込み信号の受信に応答して比較回路
    の出力の論理状態を出力にラッチするラッチと、 −第1の入力と、第2の入力と、出力とを備えており、
    AND論理機能を実行するANDゲートと、 −上記外部書き込み信号の受信に応答してパルス幅が第
    2の所定の持続期間となっている書き込みパルスを発生
    させ、この書き込みパルスは上記ANDゲートの1つの
    入力に入力されるとともに、上記ラッチを制御して上記
    比較回路の出力の論理状態を上記ANDゲートの他方の
    入力にラッチさせるパルス発生手段とを備え、 上記ANDゲートの出力が、上記比較回路の出力に応答
    して書き込みパルスのパルス幅の間だけ発生し、書き込
    みパルスの開始時に第1の論理状態にある上記リセット
    信号を発生することを特徴とする請求項5に記載の「ほ
    ぼ一杯」フラグ。
  7. (7)上記リセット信号の発生が上記書き込みパルスの
    間は禁止されることを特徴とする請求項6に記載の「ほ
    ぼ一杯」フラグ。
  8. (8)上記無効化手段が、上記所定の時間の間上記リセ
    ット信号の発生を禁止することを特徴とする請求項5に
    記載の「ほぼ一杯」フラグ。
  9. (9)上記比較手段および第1と第2のカウンタが、第
    1と第2の論理状態の間で遷移するための所定の安定化
    時間をもっており、上記無効化手段の上記所定の時間が
    上記安定化時間よりも長いことを特徴とする請求項5に
    記載の「ほぼ一杯」フラグ。
  10. (10)FIFOのほぼ一杯の状態を示す方法であって
    、 −FIFOから情報を読み出すためにFIFOのロケー
    ションを決定する読み出しポインタを設け、この読み出
    しポインタを、外部読み出し信号の受信に応答して各読
    み出し動作ごとにインクリメントし、 −FIFOに情報を書き込むためにFIFOのロケーシ
    ョンを決定する書き込みポインタを設け、この書き込み
    ポインタを、外部書き込み信号の受信に応答して各書き
    込み動作ごとにインクリメントし、 −読み出しポインタと書き込みポインタの差を決定し、
    比較信号を制御して、この差が所定の近似値に等しい場
    合には第1の論理状態から第2の論理状態に変化させ、
    この差が所定の近似値とは異なっている場合には第2の
    論理状態から第1の論理状態に変化させ、 −上記外部書き込み信号が受信されたときに、第2の論
    理状態にある上記比較信号に応答してセット信号を発生
    させ、 −第2の論理状態にある上記比較信号に応答してリセッ
    ト信号を発生させ、 −上記外部読み出し信号の受信後、所定の期間の間上記
    リセット信号の発生を禁止して、上記比較信号が第1の
    論理状態から第2の論理状態に遷移するときに上記リセ
    ット信号が発生されるのを防止し、 −上記セット信号が発生したときにはフラグをセット位
    置に設定し、上記リセット信号の発生に応答してこのフ
    ラグをリセット位置に再設定する動作を含むことを特徴
    とする方法。
  11. (11)近似値を決定する上記段階が、 −上記外部読み出し信号の受信に応答して、上記読み出
    しポインタの値に対応する第1のカウント値を有する第
    1のカウンタをインクリメントし、−上記外部書き込み
    信号の受信に応答して、上記書き込みポインタの値に対
    応する第2のカウント値を有する第2のカウンタをイン
    クリメントし、−上記第1と第2のカウント値を比較し
    、上記読み出しポインタと上記書き込みポインタの近似
    度が所定の近似値に等しい場合に第2の論理状態にある
    上記比較信号を出力する動作を含むことを特徴とする請
    求項10に記載の方法。
JP1115946A 1988-05-09 1989-05-09 Fifo用フラグを提供するための回路及び方法 Expired - Fee Related JP2863545B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US19155588A 1988-05-09 1988-05-09
US191,555 1988-05-09

Publications (2)

Publication Number Publication Date
JPH0277836A true JPH0277836A (ja) 1990-03-16
JP2863545B2 JP2863545B2 (ja) 1999-03-03

Family

ID=22705951

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1115946A Expired - Fee Related JP2863545B2 (ja) 1988-05-09 1989-05-09 Fifo用フラグを提供するための回路及び方法

Country Status (4)

Country Link
EP (1) EP0342107B1 (ja)
JP (1) JP2863545B2 (ja)
KR (1) KR0137771B1 (ja)
DE (1) DE68926833T2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0417187A (ja) * 1990-05-09 1992-01-21 Nippon Telegr & Teleph Corp <Ntt> Fifo回路
JPH0421123A (ja) * 1990-05-16 1992-01-24 Nec Commun Syst Ltd Fifoレジスタ

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5206817A (en) * 1989-03-31 1993-04-27 Sgs-Thomson Microelectronics, Inc. Pipelined circuitry for allowing the comparison of the relative difference between two asynchronous pointers and a programmable value
GB9008932D0 (en) * 1990-04-20 1990-06-20 British Broadcasting Corp Synchronisation of digital audio signals
DE69423069T2 (de) * 1993-10-29 2000-08-24 Ncr Int Inc System für Datentransfer
KR970029070A (ko) * 1995-11-04 1997-06-26 김광호 입출력데이타의 크기를 달리하는 선입선출메모리장치 및 그 방법
US6993602B2 (en) * 2002-01-29 2006-01-31 Intel Corporation Configuring queues based on a given parameter
US7315912B2 (en) 2004-04-01 2008-01-01 Nvidia Corporation Deadlock avoidance in a bus fabric
CN108833300B (zh) * 2018-06-21 2020-11-27 厦门大学 一种基于单天线的大数据包远距离传输方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01234928A (ja) * 1988-03-16 1989-09-20 Fujitsu Ltd バッファの状態検出回路

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE399773B (sv) * 1977-03-01 1978-02-27 Ellemtel Utvecklings Ab Adress- och avbrottsignalgenerator
US4486854A (en) * 1981-10-15 1984-12-04 Codex Corporation First-in, first-out memory system
US4694426A (en) * 1985-12-20 1987-09-15 Ncr Corporation Asynchronous FIFO status circuit

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01234928A (ja) * 1988-03-16 1989-09-20 Fujitsu Ltd バッファの状態検出回路

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0417187A (ja) * 1990-05-09 1992-01-21 Nippon Telegr & Teleph Corp <Ntt> Fifo回路
JPH0421123A (ja) * 1990-05-16 1992-01-24 Nec Commun Syst Ltd Fifoレジスタ

Also Published As

Publication number Publication date
EP0342107B1 (en) 1996-07-17
DE68926833T2 (de) 1997-02-20
KR900018824A (ko) 1990-12-22
DE68926833D1 (de) 1996-08-22
JP2863545B2 (ja) 1999-03-03
EP0342107A3 (en) 1991-08-21
KR0137771B1 (ko) 1998-06-15
EP0342107A2 (en) 1989-11-15

Similar Documents

Publication Publication Date Title
US4891788A (en) FIFO with almost full/almost empty flag
JP2612559B2 (ja) シフトレジスタ・メモリの状態を決定する方法と装置
KR100274731B1 (ko) 전력소비를최소화한동기dram
US4694426A (en) Asynchronous FIFO status circuit
US6366529B1 (en) Fast FiFo memory storage system
US20060020743A1 (en) Multi-queue address generator for start and end addresses in a multi-queue first-in first-out memory system
JPH0277836A (ja) Fifo用フラグを提供するための回路及び方法
US6622198B2 (en) Look-ahead, wrap-around first-in, first-out integrated (FIFO) circuit device architecture
US6563346B2 (en) Phase independent frequency comparator
US6240031B1 (en) Memory architecture
US4713832A (en) Programmable divider up/down counter with anti-aliasing feature and asynchronous read/write
US6400642B1 (en) Memory architecture
US7392406B2 (en) Circuit and method for generating clock signals for clocking digital signal processor and memory
US5426772A (en) Single PAL circuit generating system clock and control signals to minimize skew
US7321520B2 (en) Configurable length first-in first-out memory
EP0442116A2 (en) Pipeline method and apparatus
US4090256A (en) First-in-first-out register implemented with single rank storage elements
US6477097B2 (en) Data backup memory
US6374313B1 (en) FIFO and method of operating same which inhibits output transitions when the last cell is read or when the FIFO is erased
US5994920A (en) Half-full flag generator for synchronous FIFOs
US6185720B1 (en) Slaveless synchronous system design
US5600599A (en) Data signal output circuit and semiconductor memory device including the same
JP3240067B2 (ja) 順次メモリ
JP3119793B2 (ja) クロック乗せ換え回路
US6680990B1 (en) Elastic integrated circuit

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees