JPH0675745A - 直列化差分フラッグ回路 - Google Patents

直列化差分フラッグ回路

Info

Publication number
JPH0675745A
JPH0675745A JP5149514A JP14951493A JPH0675745A JP H0675745 A JPH0675745 A JP H0675745A JP 5149514 A JP5149514 A JP 5149514A JP 14951493 A JP14951493 A JP 14951493A JP H0675745 A JPH0675745 A JP H0675745A
Authority
JP
Japan
Prior art keywords
bit
value
input
comparator
value input
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
JP5149514A
Other languages
English (en)
Inventor
David C Mcclure
マククルーア デビッド
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 JPH0675745A publication Critical patent/JPH0675745A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/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
    • G06F5/14Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations for overflow or underflow handling, e.g. full or empty flags
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Information Transfer Systems (AREA)
  • Time-Division Multiplex Systems (AREA)

Abstract

(57)【要約】 (修正有) 【目的】FIFOメモリにおいて使用するのに適した差
フラッグ論理を修正して減算器回路を使用せずにFIF
Oフラッグステータスを迅速に発生する。 【構成】読取及び書込クロック信号が、夫々、読取カウ
ンタ40及び書込カウンタ44への入力として供給され
る。比較ブロック48は読取及び書込カウンタの出力信
号を使用して出力フラッグ信号を発生する。チップリセ
ット期間中に、書込カウンタは全てゼロにリセットさ
れ、且つ読取カウンタはオフセットロジック46により
決定される所要のフラッグ値へリセットされる。書込か
らの読取カウンタのオフセットは、減算器回路を使用せ
ずにFIFOフラッグ信号を発生可能としている。ロー
ルオーバーMSBリセットは、読取カウンタ及び書込カ
ウンタのMSBに関する論理演算により決定される信号
である。両方のMSBが1に等しい場合には、ラップロ
ジック42が読取カウンタ及び書込カウンタのMSBを
0へリセットさせる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、大略、集積回路に関す
るものであって、更に詳細には、FIFOメモリにおい
て使用される差分フラッグ回路に関するものである。
【0002】
【従来の技術】先入先出(FIFO)メモリは、異なっ
たデータレートでデータを伝送する二つ又はそれ以上の
装置の間のインターフェースとして多様な適用場面にお
いて使用されている。FIFO用の典型的なインターフ
ェース適用例としては、コンピュータとプリンタとの
間、又はコンピュータと高速モデムとの間等がある。装
置間の速度差の為に、FIFO内に格納されているデー
タは、それがFIFO内に書込まれたのと異なったデー
タレートでFIFOから読出すことが可能である。FI
FOはデータが読取られるレートと異なったレートでデ
ータを受取ることが可能であるから、FIFO内に存在
するデータの量がどれほどのものであるかを決定するこ
とが重要である。従って、FIFOはそのデータステー
タスを表わす一つ又はそれ以上のフラッグを有してい
る。典型的なFIFOフラッグは、満杯、空、及び半分
満杯のデータステータスを表わす。
【0003】FIFOフラッグ回路は、従来、比較器と
減算器とを有していた。減算器は、比較される二つの値
の間の差を決定する。次いで、その差は対応する比較器
に対する入力として供給される。該比較器は、二つの値
の間の関係を決定し且つそれらが互いに等しいか又は等
しくないか否かを決定する。次いで、適宜の比較器出力
信号を発生する。FIFOフラッグ信号は、減算器及び
比較器がそれらのタスクを完了するまで決定されること
はない。1990年11月27日付で発行された米国特
許第4,974,241号及び1990年6月19日付
で発行された米国特許第4,935,719号(両方と
も、発明者はDavid C. McClureであ
る)は、従来技術においてFIFOフラッグ論理を発生
する為に直列減算器及び直列比較器を使用することを記
載している。従来、減算器回路は比較器回路よりも速度
が遅く、従って比較器回路が減算器回路を待っている場
合にFIFOフラッグの発生は阻止されていた。FIF
Oフラッグ論理回路における減算器の必要性を取除くこ
とにより、FIFOフラッグ信号はより迅速に発生させ
ることが可能である。1990年1月2日付で発行され
た発明者GerardA. Kreifelsの米国特
許第4,891,788号は、減算器を使用することな
しに、FIFOフラッグ論理を発生する為の従来技術を
示唆している。従来技術においては、複数個の直列大き
さ比較器が比較器回路の一般的な形態である。それら
は、多数の個別的なビット比較器を有しており、これら
のビット比較器が一体となって別の数値と相対的にある
数値の大きさを直列的に決定する。最初に、次のビット
であるLSB+1の比較を行なう前に、これら二つの数
値の最小桁ビット(LSB)の比較を行なう。このプロ
セスは、最大桁ビット(MSB)の比較が行なわれるま
で直列的に継続して行なわれる。
【0004】直列大きさ比較器を有する個別的なビット
比較器は四つの入力を有している。即ち、比較されるべ
き二つのビットから派生される二つの入力と、前のビッ
ト比較器の比較出力からの入力と、比較される二つのビ
ットの一方に等しい入力である。一つのビット比較器の
比較出力は次のビット比較器へ入力され、且つ一方のビ
ットの大きさが第二ビットの大きさと等しいか、それよ
り小さいか、又はそれより大きいか否かを反映させる。
比較中の二つのビットが等しい場合には、その比較入力
は比較出力としてそのビット比較器を介してパスされ
る。然しながら、これら二つのビットが大きさが等しく
ない場合には、比較中の二つのビットのうちの第一ビッ
トに等しい入力が比較出力としてパス即ち通過される。
この比較プロセスは、最小桁ビット(LSB)比較器か
ら開始され且つ最大桁ビット(MSB)比較器がその比
較動作を完了するまで直列的に継続して行なわれる。最
も高い次数のビットの差を有するビット比較器が最終的
な比較出力の状態を決定する。
【0005】大きさ比較器及び減算器と関連するゲート
遅延は、適宜のタイミングでFIFOフラッグ信号を発
生することに悪影響を与える場合がある。比較器と減算
器とに依存する従来のFIFOフラッグ論理は、迅速に
発生されることが必要である。大きさ比較器が速度が遅
い場合には、どれ程迅速にフラッグ論理を発生すること
が可能であるかということに悪影響を与え且つ全体的な
FIFO性能が悪影響を被る。FIFOフラッグ論理が
発生される速度を向上させる為の基本的な方法は、減算
器回路の必要性を全く取除くことである。このことは、
現在の直列大きさ比較器の構成を使用して達成すること
が望ましい。
【0006】
【課題を解決するための手段】FIFOメモリにおいて
使用するのに適した差分フラッグ論理を修正して、減算
器回路を使用することなしにFIFOフラッグステータ
スを迅速に発生させる。一体となって大きさ比較器を構
成する複数個のビット比較器が、第一ビットが第二ビッ
トと等しいか、それより小さいか、又はそれより大きい
か否かを決定し、且つ複合比較器出力を発生すべく動作
する。減算器機能は、所望のFIFOフラッグ値に等し
い値だけ読取カウントを書込カウントからオフセットさ
せることにより置換されている。更に、例えば数値の最
大桁ビット(MSB)等の選択したビットの制御が設け
られており、且つラップアラウンド条件を回避する為に
必要に応じ使用することが可能である。
【0007】
【実施例】FIFOは、例えばコンピュータとプリンタ
との間のような異なった速度でデータを送信及び受信す
る装置間での適用において通常使用される先入先出メモ
リである。FIFOからデータを読出すのと異なった速
度でFIFO内へデータを書込むことは、任意の特定の
時刻においてFIFO内に実際にどれだけのデータが存
在するかを知ることを必要とする。FIFOメモリは、
FIFOフラッグを使用することを介してそのデータス
テータスを出力する。FIFOフラッグを発生する為
に、FIFOメモリ回路内において、減算器と関連して
しばしば比較器が使用される。通常、減算器は比較器よ
りも速度が遅く、従って、減算器を使用することのない
FIFOフラッグ回路を提供することが望ましい。又、
減算器回路を取除くことは所要のレイアウト面積を減少
させ且つ関連する回路を減少させる。
【0008】FIFOフラッグ出力は、FIFOのデー
タステータスを表わし、従って、例えば、FIFOが満
杯であるか、半分満杯であるか又は空であるかを表わす
ことが可能である。FIFOデータステータスを決定す
る為に、FIFO内にどれだけのビットが書込まれ且つ
どれだけのビットがFIFOから読出されたかを追従す
ることが必要である。又、例えば書込カウントと読取カ
ウント等の二つの数値の大きさの間の関係を判別し、且
つ一方の数値の大きさが他方の数値の大きさと等しい
か、それより小さいか、又はそれより大きいか否かを判
別することが必要である。二つの数値の大きさを比較す
ることは、FIFO内部の大きさ比較器回路を使用して
行なわれる。
【0009】図1を参照すると、従来技術に基づくFI
FOフラッグ発生回路のブロック図が示されている。F
IFOフラッグは、カウンタブロック10と、減算器ブ
ロック12と、比較器ブロック14と、デグリッチブロ
ック16とを有している。書込クロック18、読取クロ
ック20、書込リセットクロック22、読取リセットク
ロック24はカウンタブロック10及びデグリッチブロ
ック16の両方に対する入力信号である。カウンタブロ
ック10はこれらの入力信号を受取り且つ書込カウント
26及び読取カウント28を発生し、それらのカウント
は減算器ブロック12に入力され、減算器ブロック12
は差信号30を出力する。差信号30及びプログラム値
32は比較器ブロック14へ入力され、比較器ブロック
14はそれらを比較して出力比較信号34を発生する。
当該技術分野において公知の如く、プログラム値32は
例えば空、半分満杯、又は満杯等の発生されるべきフラ
ッグ信号36のタイプに依存して異なった値にセットさ
れる。最後に、比較信号34及び書込クロック18、読
取クロック20、書込リセットクロック22、読取リセ
ットクロック24がデグリッチブロック36へ入力さ
れ、デグリッチブロック36はフラッグ出力信号36を
発生する。
【0010】図2を参照すると、本発明の一実施例に基
づいて構成されたFIFOフラッグ発生回路のブロック
図38が示されている。読取クロック信号及び書込クロ
ック信号が、夫々、読取カウンタ40及び書込カウンタ
44への入力として供給される。比較ブロック48は読
取カウンタ40及び書込カウンタ44の出力信号を使用
して出力フラッグ信号を発生する。チップリセット期間
中に、書込カウンタ44は全てゼロにリセットされ、且
つ読取カウンタ40はオフセットロジック46により決
定される所要のフラッグ値へリセットされる。このオフ
セットは、通常、書込カウンタ及び読取カウンタをチッ
プリセット時に何らかの所定の値へ強制させることによ
り決定される。書込カウンタからの読取カウンタのオフ
セットは、従来技術の場合と異なり、減算器回路を使用
することなしにFIFOフラッグ信号を発生することを
可能としている。ロールオーバーMSBリセットは、読
取カウンタ及び書込カウンタの最大桁ビット(MSB)
に関する論理演算により決定される信号である。読取カ
ウンタ及び書込カウンタの両方のMSBが1に等しい場
合には、ラップロジック42が読取カウンタ及び書込カ
ウンタのMSBを0へリセットさせる。ロールオーバー
MSBリセット信号は、ラップアラウンド問題が発生す
ることを防止し、尚、この点については後に更に詳細に
説明する。
【0011】図3は2つの数値の大きさの間の関係を決
定するための、本発明の一実施例に基づいて構成した直
列大きさ比較器を示した模式図である。この直列大きさ
比較器は、最終的な大きさ比較器出力を発生すべく直列
的な態様で動作する複数個のビット比較器から構成され
ている。必要とされるビット比較器の数は、比較される
2つの数値におけるビット数の関数である。
【0012】大きさ比較器は、2つの数値の大きさの間
の関係を決定する。大きさ比較器50は複数個のビット
比較器52,54,56,58を有しており、これらの
ビット比較器は、比較中の2つの数値の相対的な大きさ
のステータスを決定する。必要とされるビット比較器の
数は、比較中の2つの数値におけるビット数の関数であ
る。各ビット比較器は両方の数値からあるビット位置に
おける1つのビットを比較する。例えば、比較されるべ
き第一ビット70の大きさステータスが第二ビット72
の大きさステータスと比較され、第一ビット70が第二
ビット72と等しいか、それより小さいか、又はそれよ
り大きいか否を決定する。全てのビット比較器は4つの
入力を有している。比較されるべき2つのビット70及
び72は排他的ORゲート74への入力であり、該ゲー
トの出力はビット比較器52,54,56,58の入力
66であり、信号66は反転されて入力68を供給す
る。入力68は単に入力66の反転したものであり、ビ
ット比較器内部において容易に発生させることが可能で
あり、その場合には、それは入力信号を構成するもので
はない。ビット比較器へのその他の入力は、前のビット
比較器60の出力と、比較中の2つのビットのうちの第
一ビットである入力64である。入力64は図1に示し
たプログラム値32と異なっている。入力64は任意の
二進数とすることが可能であり、一方図1のプログラム
値32はFIFOフラッグの値を画定する一定のプログ
ラム値に等しい。図3は比較中の2つの二進数を示して
おり、一方図1は二進数がプログラム値32により表わ
される一定値と比較されていることを示している。
【0013】図3のビット比較器は、比較中の2つの数
値の相対的な大きさを検知する。ビット70及び72の
大きさが等しい場合には、比較出力62は比較入力60
と等しい。然しながら、ビット70及び72の大きさが
異なる場合には、比較出力62は設計基準に従って決定
され、入力ビット70が入力ビット72よりも大きい場
合には、比較出力62は1に等しい。逆に、入力ビット
70が入力ビット72よりも小さい場合には、比較出力
62は0と等しい。ビット入力70及び72が排他的O
Rゲートを介して通過する。従って、ビット70とビッ
ト72とが同一である場合には、入力66は0に等し
く、且つ反転された入力68は1に等しい。然しなが
ら、ビット70とビット72との大きさが異なる場合に
は、入力66は1に等しく且つ入力68は0に等しい。
以下の真理値表は入力66と68とによる比較出力62
を示している。
【0014】 表1 入力66 入力68 出力62 1 0 入力64 0 1 入力60 この真理値表は、比較されるべき2つのビット70及び
72が異なるものである場合には、比較入力64が比較
出力62としてパスされることを示している。逆に、ビ
ット70とビット72との大きさが等しい場合には、前
のビット比較器60からの比較入力が比較出力62とし
てパスされる。最初のビット比較器52の比較入力60
が固定値へ接続され、尚、その固定値は図3に示した如
くVCC又は接地とさせることが可能である。従って、入
力ビット70と72とが等しい場合には、比較出力62
へ低状態がパスされ、図3に示した如く、最初のビット
比較器52が接地へ接続されているものと仮定される。
次いで、ビット比較器52が低入力信号60を受取り、
且つ、ビット比較器54の入力ビット70及び72が同
一の大きさを有する場合には、比較出力62は0であ
り、比較入力60をパスさせる。このプロセスは最小桁
ビット(LSB)比較器52から開始され、且つ最大桁
ビット(MSB)比較器58がその比較動作を完了する
まで直列的に継続して行なわれる。MSBの大きさが比
較された場合にのみ、最終的な比較出力62が発生され
る。ビット差を有する最も高い次数のビット比較器がビ
ット比較器58の最終的な比較出力62の状態を決定す
る。比較中の2つのビットが異なる場合には、比較入力
64が比較出力62としてパスされる。
【0015】本発明の好適実施例においては、減算器回
路に対する必要性は、書込カウンタの値から異なった値
に読取カウンタをセットすることにより置換されてい
る。このオフセット値は所望のFIFOフラッグの値と
等しい。図2は、読取カウンタをそのリセット値へセッ
トするためにチップリセット期間中にどのようにしてオ
フセットロジックが使用されるかを示している。更に、
FIFOフラッグ論理回路において減算器が使用されて
いないという事実は、FIFOフラッグの一体性乃至は
信頼性を確保するための備えが成されねばならないこと
を意味している。説明の便宜上、半分満杯フラッグを発
生する8個のデータ位置を有するFIFOについて検討
する。半分満杯フラッグの場合、フラッグ値は8の半分
である4に等しい。チップリセット期間中に、書込カウ
ンタリセット値は0(0000)に等しく、一方読取カ
ウンタリセットはフラッグの値だけ書込カウンタリセッ
トからオフセットされている。従って、読取カウンタリ
セットは4(0100)に等しい。書込カウンタリセッ
トと読取カウンタリセットとの間の差は4であり、その
値はFIFOフラッグの値である。図2は、チップリセ
ット期間中に、FIFOフラッグの値だけ読取カウンタ
が書込カウンタからオフセットされた値へリセットされ
ることをオフセットロジックが確保することを示してい
る。
【0016】図3に示してあり、且つ上に説明した如
く、書込ビットが対応する読取ビットより大きい場合に
は比較出力62は論理高に等しい。然しながら、書込ビ
ットが対応する読取ビットよりも小さい場合には、比較
出力62は論理低に等しい。書込ビットが対応する読取
ビットに等しい場合には、比較入力60は比較出力62
としてパスされる。リセットされると、読取カウンタ及
び書込カウンタは、夫々、0100及び0000に等し
い。3回の書込みを実行した後に、読取カウンタはいま
だに0100であるが、書込カウンタは0011であ
る。書込カウンタは読取カウンタよりも小さいので、ビ
ット比較器58の比較出力信号62は0に等しい。この
4ビットの例においては、ビット比較器58の最後の比
較出力信号62を発生するために単に4個のビット比較
器が使用されているにすぎない。然しながら、より現実
的な16ビットの例においては、最終的な比較出力信号
を発生するためには16個のビット比較器が必要であ
る。次に、もう一度書込みが実行され、そのことはFI
FOが半分満杯状態であることを意味する。4番目の書
込みの後に、読取カウンタはいまだに0100である
が、書込カウンタは0100に等しい。この時点におい
て、読取カウンタと書込カウンタとは等しいのでビット
比較器58の比較出力信号62はいまだに0に等しく、
そのことは、正確に半分満杯状態フラッグを反映してい
る。もう一度書込みが行なわれると、現在0101に等
しい書込カウンタは読取カウンタよりも大きくなる。従
って、ビット比較器62の比較出力信号62は値を変化
させ1に等しくなる。1の値は、半分満杯状態よりも大
きいことを正確に反映しており、即ち、半分満杯状態+
1と等しいか又はそれより大きいものであることを反映
している。
【0017】上述した例は問題なく動作する。何故なら
ば、ラップアラウンド条件が発生しないからである。次
の例は上述した例に基づいて構築されており且つ半分満
杯フラッグに対してのラップアラウンド問題を例示する
ものである。リセット条件から開始して、読取カウンタ
及び書込カウンタは、夫々、0100及び0000であ
る。3回の書込みが行なわれると、フラッグは半分満杯
−1と等しくなり、且つ書込カウンタは0011へイン
クリメントする。ビット比較器58の比較出力信号62
は0に等しい。何故ならば、書込カウンタは読取カウン
タよりも小さいからである。次に、10回の読取りと1
0回の書込みとが実施され、読取カウンタ及び書込カウ
ンタを、夫々、1110及び1101へインクリメント
させる。書込みと同数の読取りが実施されているので、
フラッグはいまだに半分満杯−1に等しく、且ついまだ
に0に等しいビット比較器58の比較出力信号62はフ
ラッグステータスを正確に反映する。もう一度書込みが
行なわれると、書込総数は14となり読取数は10とな
る。この時点において、読取カウントと書込カウントと
の間の差が4であることにより示される如く、フラッグ
は半分満杯である。読取カウンタは1110のままであ
り且つ書込カウンタは1だけインクリメントして111
0となる。ビット比較器58の比較出力信号62は0に
等しく、半分満杯フラッグステータスを正確に表わして
いる。更に別の書込みが行なわれると、読取カウンタ及
び書込カウンタは、夫々、1110及び1111とな
る。これは、書込カウンタが読取カウンタよりも大きく
なった最初の場合であり、従ってビット比較器58の比
較出力信号62は1と等しく、新たなフラッグステータ
スは半分満杯+1であることを表わす。次のステップに
おいてラップアラウンド条件が発生する。書込みをもう
一度行なうと、書込カウントを(ラップアラウンド)さ
せ、且つそれ自身を0000へリセットし、読取カウン
タはいまだ1110に等しい。使用される論理規則に従
って、書込カウンタが読取カウンタよりも小さいので、
ビット比較器58の比較出力信号62は0に等しい。然
しながら、ビット比較器58の比較出力信号62の0の
値は、半分満杯+2であるフラッグステータスを正確に
反映するものではない。書込カウンタのラップアラウン
ドはエラー条件を発生させている。
【0018】上述したラップアラウンド条件を処理する
ために、読取カウンタ及び書込カウンタの最大桁ビット
(MSB)の両方が1に等しい場合に、0へリセットさ
せる。図2は、読取カウンタ及び書込カウンタの両方の
MSBをリセットさせるためにロールオーバーMSBリ
セット信号を使用することを示している。この方法の効
果を示すために、次の例について検討する。読取カウン
タ及び書込カウンタをリセットさせ次いで8回の書込み
を実行した後に、読取カウンタ及び書込カウンタは、夫
々、0100及び1000である。FIFOはフル即ち
満杯であり、且つビット比較器58の比較出力信号62
は1に等しく、そのことは半分満杯+1の条件に等しい
か又はそれより大きいことを表わしている。次に4回の
書込みと4回の読取りとを実施し、その結果読取カウン
タ及び書込カウンタは、夫々、1000及び1100へ
インクリメントされる。ビット比較器58の比較出力信
号62は1に等しい。何故ならば、FIFOはいまだに
満杯だからである。4回の読取及び書込みを行なった後
に、読取カウンタ及び書込カウンタの両方のMSBは1
に等しくなる。この時点において、両方のMSBは0へ
リセットされ、その結果読取カウントは0000となり
且つ書込カウントは0100となる。ビット比較器58
の比較出力信号62はいまだに1に等しく、それはFI
FOがいまだに満杯状態にあることと一致している。M
SBを0へリセットさせることは、書込カウントがラッ
プアラウンドする前の任意の時刻において発生すること
が可能である。この場合には、リセット動作は爾後の3
回の書込サイクルのうちのいずれかの期間中に行なうこ
とが可能である。
【0019】次に、満杯フラッグの例についてラップア
ラウンド条件について検討する。満杯フラッグの場合に
おいては、読取カウンタ及び書込カウンタは、夫々、0
111及び0000へセットされる。これらのカウンタ
の間の差は、満杯フラッグの場合に対しては7に等し
い。リセット状態から開始し、且つ7回の書込みを実行
することにより読取カウント及び書込カウントは、夫
々、0111及び0111となる。これらのカウントは
等しいので、ビット比較器58の比較出力信号62は0
に等しい。もう一度書込みが実行されると、FIFOは
満杯状態となり、書込カウントは1000へインクリメ
ントし、且つ書込カウントは読取カウントよりも大き
く、その結果ビット比較器58の比較出力信号62は1
に等しくなる。1回読取サイクルを実行するとFIFO
は満杯状態−1となり、且つ書込カウント及び読取カウ
ントの両方は1000に等しくなる。MSBは0へリセ
ットされ、且つその結果得られる読取カウント及び書込
カウントは、夫々、0000及び0000となる。ビッ
ト比較器58の比較出力信号62は0に等しく、FIF
Oが満杯−1であるという事実を正確に反映する。読取
カウント及び書込カウントの両方が1000に等しい場
合に読取カウント及び書込カウントのMSBを0にリセ
ットすることは、爾後の7回の書込みサイクルの期間中
の任意の時間に行なうことが可能である。何故ならば、
8回目の書込サイクルまでラップアラウンドが発生する
ことはないからである。
【0020】最後に、読取及び書込リセット値が両方と
も0000に等しい場合の空フラッグの例について検討
する。リセット時において、ビット比較器58の比較出
力信号62は0である。何故ならば、読取カウント及び
書込カウントが等しいからである。最初の書込みの後、
ビット比較器58の比較出力信号62は1である。何故
ならば、FIFOはもはや空ではないからである。同様
に、次の7回の書込期間中に、比較出力信号は1に等し
い。7番目の書込みの後に、読取カウント及び書込カウ
ントは、夫々、0000及び1000である。7回の書
込みを実行すると、読取カウントは0111へインクリ
メントされる。読取カウントはいまだに書込カウントよ
りも小さく、従ってビット比較器58の比較出力信号6
2はいまだに1に等しく、FIFOが空ではないことを
正確に反映している。爾後の7回の書込み及び爾後の1
回の読取りは、読取カウント及び書込カウントを、夫
々、1000及び1111へインクリメントさせる。こ
の時点において、MSBは両方とも1に等しいので、書
込カウントが次の書込サイクルでラップアラウンドする
前に、それらは0へリセットされねばならない。これ
は、正に次の書込みの前にMSBを0へリセットせねば
ならない例である。この短い期間が特定の適用例に対し
て不十分である場合には、カウンタのMSBをリセット
させる為により多くの時間を与える為にカウンタに対し
て別のビットを付加することが可能である。上述した空
フラッグの例においては、4ビットカウンタの代わりに
5ビットカウンタを使用することが可能であり、5番目
のビットは両方のMSBが1に等しい場合にリセットす
ることが可能である。このことは、MSBリセット機能
を実行する為に8個の付加的なサイクルを提供する。
【0021】読取及び書込カウントMSBをリセットす
ることは、図4及び5に示した如く、ロールオーバーM
SBリセット信号の発生により行なわれる。図4はロー
ルオーバーMSBリセット信号を決定する為のロジック
即ち論理を示した概略図である。読取カウント及び書込
カウントの両方のMSBがAND論理ゲートへ入力され
る。両方のMSBが1に等しい場合、ロールオーバーM
SBリセット信号は論理1に等しい。
【0022】図5はロールオーバーMSBリセット信号
を決定する別の実施例を示した概略図である。この実施
例においては、ロールオーバーMSBリセット信号はク
ロック信号に同期される。図5において、クロック信号
CLK及びCLK−1は同一のクロックとする場合もし
ない場合もある。読取カウント及び書込カウントのMS
BであるWMSB及びRMSBがそれらの夫々のDフリ
ップフロップへ入力される。クロック信号入力を受取る
と、MSBは出力QとしてDフリップフロップからラッ
チされる。両方のDフリップフロップからのQ出力は論
理ゲートにおいてゲート動作され、該ゲートはWMSB
とRMSBの両方が1に等しい場合に有効なロールオー
バーMSBリセット信号を発生する。Dフリップフロッ
プは、同一のロールオーバーMSBリセット信号を発生
するDラッチにより容易に置換することが可能である。
有効な論理高ロールオーバーMSBリセット信号が図4
又は図5に示した如くに発生されると、読取カウント及
び書込カウントのMSBは0へリセットされる。
【0023】上述した直列差フラッグ論理は従来のFI
FOフラッグ発生回路と比較して重要な利点を有してい
る。所望のフラッグに等しい値だけ書込カウンタからオ
フセットされている読取カウンタは、減算器を使用する
ことなしに、FIFOフラッグを発生することを可能と
している。ロールオーバーMSBリセット信号を使用す
ることは、ラップアラウンド条件が誤ったフラッグステ
ータスを与えることを防止している。満杯、半分満杯及
び空FIFOフラッグが必要とされる場合には、上述し
た如き3個の個別的な直列差フラッグ回路を使用するこ
とが可能である。これら3個のフラッグ回路は互いに独
立的に且つ物理的に分離してレイアウトすることが可能
である。従来技術においては、全てのフラッグ回路を一
つの大きなブロック内にレイアウトすることが必要であ
り、そのようなチップ面積を確保することはしばしば困
難である。全体的なFIFOレイアウトにおいて使用可
能な空間内に3つの個別的なフラッグ回路を割振ること
の方が余程簡単である。回路の空間を節約するというこ
とに加えて、減算器を使用することのない直列差フラッ
グ論理は従来の直列差フラッグ論理よりも著しく簡単で
あり、必要とされる部品の数はより少ない。
【0024】本発明においては、大きさ比較器を使用し
ている。大きさ比較器は、より小さいか、等しいか、又
はより大きいかの条件を検知することにより真実の大き
さ比較を行なうものである。一方、従来のフラッグ論理
において使用されているような簡単な比較器では二つの
値が等しいという条件のみを検知するものである。大き
さ比較器を使用することによりフラッグ仲裁問題を取除
いている。何故ならば、読取カウント及び書込カウント
はフラッグの境界を横断して互いにスキューしているか
らである。
【0025】直列大きさ比較器についてFIFOフラッ
グ発生回路に関連して説明した。この大きさ比較器は、
例えば一つの数値の大きさを別の数値の大きさと相対的
に決定することが必要であるコンピュータの演算論理装
置(ALU)等のその他の多数の適用場面において使用
することも可能である。
【0026】以上、本発明の具体的実施の態様について
詳細に説明したが、本発明は、これら具体例にのみ限定
されるべきものではなく、本発明の技術的範囲を逸脱す
ることなしに種々の変形が可能であることは勿論であ
る。
【図面の簡単な説明】
【図1】 従来技術に基づくFIFOフラッグ発生回路
を示したブロック図。
【図2】 本発明の一実施例に基づいて構成したFIF
Oフラッグ発生回路を示したブロック図。
【図3】 本発明の一実施例に基づいて構成した直列大
きさ比較器を示した概略図。
【図4】 ロールオーバーMSBリセット信号を決定す
る為の論理を示した概略図。
【図5】 ロールオーバーMSBリセット信号を決定す
る為の別の実施例を示した概略図。
【符号の説明】
40 読取カウンタ 42 ラップロジック 44 書込カウンタ 46 オフセットロジック 48 比較ブロック 50 大きさ比較器 52,54,56,58 ビット比較器 74 排他的ORゲート

Claims (25)

    【特許請求の範囲】
  1. 【請求項1】 差分フラッグ回路において、 第一二進値のビットと第二二進値のビットとの間の大き
    さを比較し次いで出力信号を発生する比較器、 前記フラッグの値だけ前記第二二進値からオフセットし
    た値に前記第一二進値を初期的に設定することによりフ
    ラッグを発生する手段、を有することを特徴とする差分
    フラッグ回路。
  2. 【請求項2】 請求項1において、更に、メモリ内に書
    込まれたがいまだにメモリから読出されていないデータ
    の不正確な数を前記差分フラッグ回路が表示することを
    防止する手段が設けられていることを特徴とする差分フ
    ラッグ回路。
  3. 【請求項3】 請求項2において、前記防止手段が前記
    第一二進値及び前記第二二進値の選択したビットに関し
    論理演算することにより決定されるリセット入力により
    与えられることを特徴とする差分フラッグ回路。
  4. 【請求項4】 請求項3において、前記選択されたビッ
    トが前記第一二進値及び前記第二二進値の最大桁ビット
    (MSB)であることを特徴とする差分フラッグ回路。
  5. 【請求項5】 請求項2において、前記選択したビット
    が両方ともリセット入力に基づいて所定の論理レベルと
    等しい場合に前記第一二進値及び前記第二二進値の選択
    したビットを所定の状態へリセットすることにより誤っ
    たフラッグステータスを防止し、その際にラップアラウ
    ンド条件を回避することを特徴とする差分フラッグ回
    路。
  6. 【請求項6】 請求項5において、前記選択したビット
    が前記第一二進値及び前記第二二進値の最大桁ビット
    (MSB)であることを特徴とする差分フラッグ回路。
  7. 【請求項7】 請求項1において、前記比較器が複数個
    のビット比較器から構成される直列大きさ比較器である
    ことを特徴とする差分フラッグ回路。
  8. 【請求項8】 請求項7において、前記ビット比較器の
    各々が比較出力を発生し、該比較出力はその次のビット
    比較器へ入力されることを特徴とする差分フラッグ回
    路。
  9. 【請求項9】 請求項8において、前記比較器グループ
    の最初のビット比較器は、その比較入力として、所定レ
    ベルにセットされた信号を有することを特徴とする差分
    フラッグ回路。
  10. 【請求項10】 請求項8において、前記各ビット比較
    器が第一値入力と、第二値入力と、第三値入力とを有す
    ることを特徴とする差分フラッグ回路。
  11. 【請求項11】 請求項10において、前記第一値入力
    が、比較されるべき前記第一二進値のビットと前記第二
    二進値のビットとに関する論理演算により決定される1
    ビット値であることを特徴とする差分フラッグ回路。
  12. 【請求項12】 請求項11において、前記第二値入力
    が比較されるべき前記第一二進値のビットの値に等しい
    ことを特徴とする差分フラッグ回路。
  13. 【請求項13】 請求項10において、前記第三値入力
    が前のビット比較器により発生された比較出力信号であ
    ることを特徴とする差分フラッグ回路。
  14. 【請求項14】 請求項1において、前記第一二進値の
    ビットと前記第二二進値のビットとがカウンタにより発
    生されることを特徴とする差分フラッグ回路。
  15. 【請求項15】 請求項14において、比較されるべき
    前記第一二進値のビットと前記第二二進値のビットと
    が、夫々、FIFO読取カウント及びFIFO書込カウ
    ントであることを特徴とする差分フラッグ回路。
  16. 【請求項16】 差分フラッグ回路を発生する方法にお
    いて、 第一値入力の大きさが第二値入力の大きさと等しいか、
    それより小さいか、又はそれより大きいか否かを表わす
    最終比較出力を発生する比較器を使用することにより前
    記第一値入力と第二値入力との間の大きさを比較し、 フラッグの値だけ前記第二値入力からオフセットされた
    値へ前記第一値入力を初期的にセットすることによりフ
    ラッグを発生する、上記各ステップを有することを特徴
    とする方法。
  17. 【請求項17】 請求項16において、更に、メモリ内
    に書込まれたがいまだにメモリから読取られていないデ
    ータビットの不正確な数を前記差分フラッグ回路が表示
    することを防止するステップを有することを特徴とする
    方法。
  18. 【請求項18】 請求項17において、前記防止は、前
    記第一値入力と前記第二値入力の選択したビットに関し
    論理演算することにより決定されるリセット入力により
    与えられることを特徴とする方法。
  19. 【請求項19】 請求項18において、前記選択したビ
    ットが前記第一値入力と前記第二値入力の最大桁ビット
    (MSB)であることを特徴とする方法。
  20. 【請求項20】 請求項17において、選択したビット
    が両方ともリセット入力に基づいた所定の論理レベルに
    等しい場合に、前記第一値入力及び前記第二値入力の選
    択したビットを所定の状態へリセットすることにより誤
    ったフラッグステータスを防止することを特徴とする方
    法。
  21. 【請求項21】 請求項20において、前記選択したビ
    ットが前記第一値入力と前記第二値入力の最大桁ビット
    (MSB)であることを特徴とする方法。
  22. 【請求項22】 請求項16において、前記比較器が複
    数個のビット比較器から構成される直列大きさ比較器で
    あることを特徴とする方法。
  23. 【請求項23】 請求項16において、前記第一値入力
    と前記第二値入力との間の大きさの比較を使用してFI
    FOに適したフラッグ信号を発生させることを特徴とす
    る方法。
  24. 【請求項24】 請求項16において、前記第一値入力
    と前記第二値入力とがカウンタにより発生されることを
    特徴とする方法。
  25. 【請求項25】 請求項24において、前記第一値入力
    と前記第二値入力とが、夫々、FIFO読取カウント及
    びFIFO書込カウントであることを特徴とする方法。
JP5149514A 1992-06-22 1993-06-21 直列化差分フラッグ回路 Pending JPH0675745A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/901,667 US5355113A (en) 1992-06-22 1992-06-22 Serialized difference flag circuit
US901667 1992-06-22

Publications (1)

Publication Number Publication Date
JPH0675745A true JPH0675745A (ja) 1994-03-18

Family

ID=25414612

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5149514A Pending JPH0675745A (ja) 1992-06-22 1993-06-21 直列化差分フラッグ回路

Country Status (4)

Country Link
US (1) US5355113A (ja)
EP (1) EP0579375B1 (ja)
JP (1) JPH0675745A (ja)
DE (1) DE69329761T2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5852748A (en) * 1995-12-29 1998-12-22 Cypress Semiconductor Corp. Programmable read-write word line equality signal generation for FIFOs
US5900013A (en) * 1996-07-26 1999-05-04 Advanced Micro Devices, Inc. Dual comparator scheme for detecting a wrap-around condition and generating a cancel signal for removing wrap-around buffer entries
US5960468A (en) * 1997-04-30 1999-09-28 Sony Corporation Asynchronous memory interface for a video processor with a 2N sized buffer and N+1 bit wide gray coded counters
US6041418A (en) * 1998-08-07 2000-03-21 Lucent Technologies, Inc. Race free and technology independent flag generating circuitry associated with two asynchronous clocks
US6732223B1 (en) * 2000-04-03 2004-05-04 Micron Technology, Inc. Method and apparatus for address FIFO for high-bandwidth command/address busses in digital storage system
US6480912B1 (en) 2000-07-21 2002-11-12 Stmicroelectronics, Inc. Method and apparatus for determining the number of empty memory locations in a FIFO memory device
US7116599B1 (en) * 2001-09-20 2006-10-03 Cypress Semiconductor Corp. High speed FIFO synchronous programmable full and empty flag generation
US7149938B1 (en) * 2001-12-07 2006-12-12 Applied Micro Circuits Corporation Non-causal channel equalization
US8161366B2 (en) * 2007-12-03 2012-04-17 International Business Machines Corporation Finite state machine error recovery

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3196283A (en) * 1960-05-26 1965-07-20 Cutler Hammer Inc Pulse amplitude comparator
US3278761A (en) * 1964-07-17 1966-10-11 Rca Corp Differential amplifier having a high output impedance for differential input signals and a low output impedance for common mode signals
US5027330A (en) * 1988-12-30 1991-06-25 At&T Bell Laboratories FIFO memory arrangement including a memory location fill indication
US4935719A (en) * 1989-03-31 1990-06-19 Sgs-Thomson Microelectronics, Inc. Comparator circuitry
US4969164A (en) * 1989-04-27 1990-11-06 Advanced Micro Devices, Inc. Programmable threshold detection logic for a digital storage buffer
US5084841A (en) * 1989-08-14 1992-01-28 Texas Instruments Incorporated Programmable status flag generator FIFO using gray code
US5357236A (en) * 1992-05-29 1994-10-18 Sgs-Thomson Microelectronics, Inc. Parallelized difference flag logic

Also Published As

Publication number Publication date
DE69329761D1 (de) 2001-01-25
EP0579375A2 (en) 1994-01-19
US5355113A (en) 1994-10-11
EP0579375B1 (en) 2000-12-20
EP0579375A3 (en) 1994-01-26
DE69329761T2 (de) 2001-05-10

Similar Documents

Publication Publication Date Title
US5508679A (en) FIFO with adaptable flags for changing system speed requirements
US5079693A (en) Bidirectional FIFO buffer having reread and rewrite means
US6366530B1 (en) Synchronizing data operations across a synchronization boundary between different clock domains using two-hot encoding
US5088061A (en) Routing independent circuit components
US5287503A (en) System having control registers coupled to a bus whereby addresses on the bus select a control register and a function to be performed on the control register
US4914575A (en) System for transferring data between an interleaved main memory and an I/O device at high speed
US4371949A (en) Time-shared, multi-phase memory accessing system having automatically updatable error logging means
US4174537A (en) Time-shared, multi-phase memory accessing system having automatically updatable error logging means
JPH0675745A (ja) 直列化差分フラッグ回路
JPH05265922A (ja) ダイレクト・メモリ・アクセス・コントローラ
US4498178A (en) Data error correction circuit
US5357236A (en) Parallelized difference flag logic
JP3509894B2 (ja) 並列化大きさ比較器
US20020004861A1 (en) DMA controller in which bus access ratio can be set
US4234918A (en) Time-shared, multi-phase memory system with error checking and data correcting
US5555559A (en) Microprocessor capable of ensuring flexible recovery time for I/O device by inserting idle states
US5515506A (en) Encoding and decoding of dual-ported RAM parity using one shared parity tree and within one clock cycle
US6480912B1 (en) Method and apparatus for determining the number of empty memory locations in a FIFO memory device
US5504913A (en) Queue memory with self-handling addressing and underflow
JPS60181851A (ja) 部分書込み制御方式
US11342922B1 (en) Direct bi-directional gray code counter
JP3450227B2 (ja) 連続照合サンプリング回路
JPH0212358A (ja) データ転送方式
JP3455828B2 (ja) ビットシフト回路
JPS63138591A (ja) 先入れ先出しメモリ回路

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040309