JPH09251771A - 非同期fifoにおいてエンプティフラグ及びフルフラグを作成するステートマシンの構成 - Google Patents

非同期fifoにおいてエンプティフラグ及びフルフラグを作成するステートマシンの構成

Info

Publication number
JPH09251771A
JPH09251771A JP8327331A JP32733196A JPH09251771A JP H09251771 A JPH09251771 A JP H09251771A JP 8327331 A JP8327331 A JP 8327331A JP 32733196 A JP32733196 A JP 32733196A JP H09251771 A JPH09251771 A JP H09251771A
Authority
JP
Japan
Prior art keywords
input
output
flag
inputs
signal
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
JP8327331A
Other languages
English (en)
Inventor
L Hawkins Andrew
アンドルー・エル・ホーキンズ
L Narayan Pidugu
ピデューグ・エル・ナラヤナ
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.)
Cypress Semiconductor Corp
Original Assignee
Cypress Semiconductor 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 Cypress Semiconductor Corp filed Critical Cypress Semiconductor Corp
Publication of JPH09251771A publication Critical patent/JPH09251771A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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)
  • Quality & Reliability (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)
  • Logic Circuits (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 非同期式FIFOのためのエンプティフラグ
又はフルフラグを作成するステートマシン。 【解決手段】 3つの前のステート変数P,Q,Sと3
つの他の入力(内部で作成されるルックアヘッドフル
(full)フラグ,外部書込みクロック及び読取りクロッ
ク)とを組み合わせることにより、次のステート変数の
組P′,Q′,S′を作成する。次のステート変数
P′,Q′,S′は、前のステート変数P,Q,Sとそ
の補数信号Pb,Qb,Sbとの積から導かれる。フル
フラグは上記P′,Q′,S′からの入力,読取りクロ
ック信号及び書込みクロック信号からの入力,ルックア
ヘッド復号済み内部フルフラグ信号からの入力を用いて
作成される。エンプティフラグは、ルックアヘッド復号
済み内部フルフラグをルックアヘッド復号済み内部エン
プティフラグに変更することにより作成できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、FIFO(先入れ
先出し)バッファに関し、特に、非同期FIFOバッフ
ァが空の場合にはエンプティ(empty )フラグを、同バ
ッファが一杯の場合にはフル(full)フラグを指示手段
として作成するステートマシンに関する。
【0002】
【従来の技術及び発明が解決しようとする課題】FIF
O(先入れ先出し)バッファにおいて、カウンタ,加算
器及び組み合わせ論理を用いた非同期FIFOバッファ
を作成し、同FIFOバッファが一杯の場合にそれを指
示するいわゆるフル(full)フラグを作成することは、
よく知られた技術である。このフルフラグの作成は、
又、入力されたカウンタを組み合わせ論理で直接復号し
て行ってもよい。しかし、上記の2つの方法は、共に入
力クロックと出力クロックとの間の回路が回りくどいた
め、フラグ作成時に比較的長い遅れが生じる。組み合わ
せ復号方法に関連したこのフラグの遅れを克服すべく、
ある種の形態のルックアヘッド技術が利用されている。
過去の例において、このルックアヘッド技術とは、ルッ
クアヘッド復号経路によってフル−1ステート(full-1
status )フラグを作成すると共に、実際の(actual)
フルフラグをもたらすために出力付近にラッチ及びフィ
ルタを作成するものである。このルックアヘッド技術に
よって、フルフラグ作成時の遅れが減少するが、一方、
非同期式の読取りクロック及び書込みクロックの組み合
わせに基づき非同期フル−1フラグをサンプリングしよ
うとするラッチのため、準安定性問題(metastability
problems)がもたらされてしまう。
【0003】一般的なカウンタ/加算器復号方法におい
ては、2つのカウンタが必要であり、一方のカウンタは
読取りクロックを有し、他方のカウンタは書込みクロッ
クを有する。これら2つのカウンタは主再設定(master
reset)時にゼロに再設定され、各々に付随のクロック
にのみ基づいて増分される。読取りカウンタ及び書込み
カウンタの出力は減算器にもたらされ、減算器は、書き
込まれた位置の数値と読み取られた位置の数値との間の
差を演算する。この差が組み合わせ論理にもたらされる
ことにより、FIFO(バッファ)が一杯であるかどう
かが決定される。組み合わせ論理出力は、次に、出力フ
ラグを駆動するために用いられる。
【0004】直接復号方法と称されるもう一つの方法
は、カウンタ/加算器方法において用いられるカウンタ
と同様のカウンタを使用する。FIFO(バッファ)が
一杯の場合には、出力に際して減算器を用いる代わり
に、組み合わせ論理が復号のため用いられる。これは、
書込みカウンタ及び読取りカウンタの排他的論理和素子
(XOR)を取ることによってなされる。この組み合わ
せ論理は、書込み及び読取りカウンタ入力変数に関する
フルフラグのための真理値表を作成することによって実
現される。この直接復号による方法により、カウンタ/
加算器による方法と比較して、フルフラグを作成するた
めに必要な論理の量が減少すると共に、フルフラグを作
成する速度が向上する。しかし、この直接復号によって
も、相変わらず15−30ns程度のフラグ遅れが生じ
る。
【0005】
【発明の概要】本発明は、FIFO(バッファ)が一杯
の場合はこのステートを指示するフルフラグを作成し、
あるいはFIFO(バッファ)が空の場合はこのステー
トを指示するエンプティフラグを作成するステートマシ
ンの構成を提供するものである。このステートマシンを
用いることにより、フラグ作成時の遅れを著しく短縮で
きると共に、従来の技術に付随した非同期性に関する問
題を全て解決できる。上記のような性能の向上に加え
て、本発明には、e11からe25年という非常に長い平均
故障間隔を有するという利点があり、又、FIFOのサ
イズとは無関係に実行可能である。本発明は、前の(ス
テートを表す)3つのステート変数と他のの3つの入力
(内部で作成されたルックアヘッドフラグ,外部書込み
クロック及び外部読取りクロック)との組み合わせを利
用して、次の(ステートを表す)1組のステート変数を
作成する。この「次の」ステート変数は、特に、「前
の」ステート変数と「前の」ステート変数の補数信号と
の積から導き出される。フル(full)フラグは、上記の
3つの「次の」ステート変数,読取りクロック信号,書
込みクロック信号及びルックアヘッド復号済み内部フル
フラグ信号からの入力を操作するデジタル論理復号技術
を用いて作成される。一方、エンプティフラグは、読取
りクロック入力と書込みクロック入力とを切り替えると
共に、ルックアヘッド復号済み内部フルフラグをルック
アヘッド復号済み内部エンプティフラグに変更すること
によって可能である。本発明において、上記の特徴の全
ては、ステートマシンの速度経路内のカウンタ,加算器
もしくは復号器を一切用いずに実現可能である。
【0006】本発明の目的,特徴及び有利な点は、非同
期FIFOと共に使用すべくエンプティフラグ又はフル
フラグを作成するステートマシンを提供することであ
る。本発明のステートマシンによれば、フラグの遅れを
著しく短縮でき、平均故障期間が非常に長く、複数の入
力変化を効果的に操作でき、回路の構成及びシミュレー
ションが最小限度で済み、ラッチやモノショット(mono
-shots)が要求されず、他の構成技術に容易にポートで
き、又、FIFOのサイズとは無関係に実行できる。本
発明の他の目的、特徴及び有利な点は、上記の特許請求
の範囲、以下の詳細な説明及び添付図面から明らかであ
ろう。
【0007】
【発明の実施の形態】図1を参照すると、本発明の好適
実施の形態に基づくステートマシン20のブロック略図
が示されている。図1により、上記のステートマシン2
0の機能全体の概観が理解される。各構成要素の作用の
詳細は、図2〜図7に示されている。ステートマシン2
0は、一般に、信号作成器22,合成信号作成器24及
びフラグ復号器26を有する。信号作成器22は、第1
の入力28,第2の入力30及び第3の入力32を受信
する。第1の入力28,第2の入力30及び第3の入力
32は、ステートマシン20のステート変数P,Q及び
Sに各々対応する。ステート変数P,Q及びSは、この
3つの変数が組みになってFIFOバッファの8つの起
こり得るステートを表すものである。つまり、各ステー
ト変数が1個のデジタル弁(0又は1)なので、3つの
変数を組み合わせれば、23 すなわち8つの起こり得る
ステートを表すことができる。
【0008】信号作成器22は、8つの出力38,4
0,42,44,46,48,50,52を有する。出
力38は、第1の入力28に存在するステート変数Pに
等しい未処理の信号を表す。出力40は、出力38に存
在する上記の信号のデジタル補数Pbを表す。同様に、
出力42は、第2の入力30に存在するステート変数Q
に等しい未処理の信号を表す。出力44は、出力42に
存在する上記の信号のデジタル補数Qbを表す。出力4
6は、第3の入力32に存在するステート変数Sに等し
い未処理の信号を表す。出力48は、出力46に存在す
る上記信号のデジタル補数Sbを表す。出力50は、フ
ラグ入力53に存在するルックアヘッドフル(full)フ
ラグ信号Eに等しい未処理の信号を表す。出力52は、
出力50に存在する上記の信号に対するデジタル補数
(FLAGb)を表す。ルックアヘッドフルフラグ信号
Eは、ステートマシン20で作成されると共に、ステー
トマシン20からFIFOへと向かう。
【0009】信号作成器22の機能は、ステート変数
P,Q及びSに等しい信号及びその信号に対する補数信
号を作成することである。信号作成器22は、又、信号
FLAG及びその信号に対する補数信号FLAGbをも
たらす。信号作成器22によって作成された信号は、合
成信号作成器24によって用いられて1組の次のステー
ト変数P′,Q′及びS′が作成され、又、これら次の
ステート変数P′,Q′及びS′は合成信号作成器24
によって操作・処理される。
【0010】合成信号作成器24は、8つの入力54,
56,58,60,62,64,66,68を有し、こ
れらの入力は各々信号作成器22の出力38〜52に接
続される。合成信号作成器24は、書込みクロック入力
70を有し、書込みクロック入力70は、外部書込み信
号Wを受信する。合成信号作成器24は、又、読取りク
ロック入力72を有し、読取りクロック入力72は、外
部読取りクロック信号Rを受信する。合成信号作成器2
4は、これらの諸入力54〜72を処理し、ステートマ
シン20のステート変数P,Q及びSを表す3つの出力
74,76,78をもたらす。
【0011】フラグ復号器26は、入力80,82,8
4を有し、各入力は各々合成信号作成器24の出力7
4,76,78に接続されている。フラグ復号器26
は、又、外部書込み信号Wを受信する書込みクロック入
力86と、外部読取り信号Rを受信する読取りクロック
入力88とを有する。フラグ復号器26は、上記の入力
80,82,84にもたらされたステート変数と、上記
の書込みクロック入力86,読取りクロック88にもた
らされた信号とをデジタル論理を用いて操作することに
より、エンプティフラグ出力信号FLAGbext を作成
する。
【0012】図2を参照すると、本発明のステートマシ
ン20のブロック図が示されている。図2には、論理ブ
ロック100及びその6つの入力回線102〜112が
示されている。入力回線102は、ルックアヘッドフル
フラグEを受信する。入力回線104は、ステートマシ
ン20の予めセットされたステート変数であるPステー
トに接続される。入力回線106は、外部読取りクロッ
クRを受信する。入力回線108は、入力Rrst を受信
し、この入力Rrst は、(活動性が低い,active low)
外部再設定信号Rstb 及び(活動性が低い,active lo
w)再送信信号Rtbの論理的NAND(否定積)であ
る。入力回線110は、外部再設定信号Rstb (低活
性)を受信する。入力112は、外部書込み信号Wを受
信する。論理ブロック100は、1つの出力回線114
を有し、この出力回線114はフルフラグ(full flag
)信号(Flagbext)をもたらす。出力回線1
14は出力回線116に接続され、この出力回線116
が、外部フルフラグ信号(FLAGbext )をもたら
す。FLAGbext は、ステート変数P,Q及びSから
復号化され、FIFOバッファが一杯の場合にはONで
ある。出力回線114は、又、内部フラグ作成ブロック
117に接続され、内部フラグ作成ブロック117は、
内部フルフラグ信号(Flagbint)を表す出力回
線118を作成する。FLAGbint 信号は、FLAG
bext 信号と同じ信号を遅らせたものであり、内部クロ
ック作成論理(エンプティフラグの場合は読取りクロッ
クであり、フルフラグの場合は書込みクロック)のブロ
ッキングを制御するために用いられる。
【0013】図3A,図3Bを参照すると、ステートマ
シン20のより詳細な概略図が示されている。図示され
るように、論理ブロック100は、再設定処理ブロック
130と、前端側の合成信号作成ブロック132と、後
端側の合成信号作成ブロック134と、出力ドライバブ
ロック136とを有する。再設定処理ブロック130
は、ルックアヘッドフルフラグEを表す入力102と、
ステートマシン20の予め設定されたステートを表すP
ステート入力104と、信号Rrst を表す入力106
と、外部再設定を表すRstb 入力110とを有する。再
設定処理ブロック130は、第1のインバータ140
と、第2のインバータ142と、第1の使用可能な(イ
ネーブルステートの,enabled )インバータ144と、
第2のイネーブルステートのインバータ146とを含
む。Rstb 入力110は、第1のインバータ140に接
続され、第1のインバータ140は、第1のイネーブル
ステートのインバータ144のp−イネーブル(enabl
e)入力と、第2のイネーブルステートのインバータ1
46のn−イネーブル入力とに接続される。Rstb 入力
110は、又、第1のイネーブルステートのインバータ
144のn−イネーブル入力と、第2のイネーブルステ
ートのインバータ146のp−イネーブル入力とに(直
接に)接続される。入力102は、第1のイネーブルス
テートのインバータ144の反転・逆転トランジスタに
接続される。入力102は、又、前端側の合成信号作成
ブロック132にも接続される。Pステート入力104
は、第2のイネーブルステートのインバータ146の反
転・逆転トランジスタに接続される。第1のイネーブル
ステートのインバータ144の出力及び第2のイネーブ
ルステートのインバータ146の出力は、接合されて1
つの出力150を形成する。Rrst入力106は、第2
のインバータ142と、後端側の合成信号作成ブロック
144と、出力ドライバブロック136とに接続され
る。第2のインバータ142も又、出力ドライバブロッ
ク136に接続される。
【0014】再設定及び再送信の間、ステートマシン2
0に対するクロック入力W及びクロック入力Rの入力値
は、比較的高いことが望ましい。同様に、再送信の間、
ステートマシン20に対するルックアヘッドフルフラグ
入力Eは、非ルックアヘッドフルフラグであることが望
ましい。これは、ルックアヘッドフルフラグ入力Eを作
成させる復号論理においてLSBビット論理を操作する
ことにより達成される。再設定処理ブロック130の出
力150は、出力ドライバブロック136に接続される
と共に、ステートマシン20を所定のステートに再設定
する。Pステートの入力104は、主再設定(master r
eset)の間にステートマシン20が強制的に設定される
モードを決定する。Pステートの入力104は、ステー
トマシン20の出力すなわちエンプティフラグもしくは
フルフラグのどちらの出力を所望するかによって、電圧
源又はアースに適宜接続される。つまり、Pステートの
入力104が電圧源に接続された場合、ステートマシン
20の出力222においてフルフラグが作成される。P
ステートの入力104がアースに接続されると、エンプ
ティフラグが作成される。主再設定が開始された後、ス
テートマシン20がエンプティフラグを作成している場
合、出力222は低いデジタル値として開始される。一
方、ステートマシン20がフルフラグを作成している場
合、出力222は高いデジタル値として開始される。
【0015】前端側の合成信号作成ブロック132は、
再設定処理ブロック130に接続された第1の入力16
0を有する。第1の入力160は、ルックアヘッドフル
フラグEを表す。第2の入力162は、外部書込み信号
Wに接続される。第3の入力164は、外部書込み信号
Wにインバータ165を介して接続されると共に、第2
の入力162に対するデジタル補数を表す。第4の入力
166は、外部読取り信号Rに接続される。第5の入力
168は、インバータ169を介して外部読取り信号R
に接続される。第5の入力168は、第4の入力166
のデジタル補数を表す。第6の入力170は、インバー
タ171を介して出力ドライバブロック136に接続さ
れる。第6の入力170は、ステート変数Pを表す。第
7の入力172は、出力ドライバブロック136に直接
に接続されると共に、ステート変数Qを表す。第8の入
力174は、後端側の合成信号作成ブロック134に接
続されると共に、ステート変数Sを表す。ステート変数
P,Q及びSは、ステートマシン20の現在のステート
を示す。ステート変数P,Q及びSは、前端側の合成信
号作成ブロック132の他の入力と組み合わせて用いら
れ、これにより、不連続的な・離散的な(discrete)デ
ジタル論理を介して1組の次のステート変数P′,Q′
及びS′が演算される。前端側の合成信号作成ブロック
132は、3つの出力バス176,178,180を有
し、これらの出力バスは、上記のデジタル操作の結果を
表すと共に、次のステート変数P′,Q′及びS′を作
成するための積の項(product terms )をもたらす。
【0016】後端側の合成信号作成ブロック134は、
再設定入力106に接続された第1の入力182と、前
端側の合成信号作成ブロック132のP′出力バス17
6に接続された第2の入力184と、前端側の合成信号
作成ブロック132のQ′出力バス178に接続された
第3の入力186と、前端側の合成信号作成ブロック1
32のS′出力バス180に接続された第4の入力18
8とを有する。各出力バス176,178,180は多
ビットのバスであり、各バスは、多ビットのワードを後
端側の合成信号作成論理ブロック134にもたらす。こ
れについて、図4及び図6を参照しつつ、以下詳述す
る。後端側の合成信号作成ブロック134は、ステート
変数Pを表す出力190及び192を有する。出力19
0,192は、出力ドライバブロック136に接続され
る。又、第3の出力194は、ステート変数Qを表し、
一方、第4の出力196はステート変数Sを表す。第5
の出力198は、ステート変数Sのデジタル補数Sbを
表す。第3の出力194及び第4の出力196は、共に
出力ドライバブロック136に接続される。
【0017】出力ドライバブロック136は、論理ブロ
ック200と、第1のNAND(NOR)ゲート202
と、第2のNAND(NOR)ゲート204と、第3の
NAND(NOR)ゲート206とを有する。論理ブロ
ック200は、第1の再設定ブロック出力150と、第
2のインバータ142と、再設定入力106と、出力1
90と、出力192からの入力を有する。論理ブロック
200は、これらの入力を処理すると共に、ステートマ
シン20のステート変数Pを表す出力208をもたら
す。出力208は、第3のNANDゲート206に接続
されると共に、インバータ171にも接続される。第1
のNANDゲート202は、3つの入力210,21
2,214を有する。入力210は、再設定入力106
に接続され、一方、入力212は、後端側の合成信号作
成ブロック134のQ(ステート)出力194に接続さ
れる。尚、入力210と入力212とは、互いに接続さ
れる。入力212は、後端側の合成信号作成ブロック1
34のS(ステート)出力196に接続される。第1の
NANDゲート202の出力は、第3のNANDゲート
206に接続される。第2のNANDゲート204の第
1の入力216は、再設定入力106に接続される。第
2のNANDゲート204の第2の入力218は、書込
み入力クロック112に接続される。上記の2つの入力
216,218は、又、互いに接続される。第2のNA
NDゲート204の第3の入力220は、後端側の合成
信号作成ブロック134のS(ステート)出力196に
接続される。第2のNANDゲート204の出力は、第
3のNANDゲート206に接続される。第3のNAN
Dゲート206は1つの出力を有し、この出力は、ステ
ートマシン20の外部フルフラグ信号を表す。
【0018】図4を参照すると、前端側の合成信号作成
ブロック132がより詳細に示されている。前端側の合
成信号作成ブロック132は、図示されるように、信号
作成ブロック230と、P復号器ブロック232と、Q
復号器ブロック234と、S復号器ブロック236とを
有する。信号作成ブロック230は、図3に示されるよ
うに、入力160〜174を有する。信号作成ブロック
230は複数の出力を有し、それらは、各ステート変数
P,Q及びSを表す出力,各ステート変数のデジタル補
数Pb,Qb及びSbを表す出力,ルックアヘッドフル
フラグ信号Eを表す出力及び内部ルックアヘッドフルフ
ラグ補数(信号)Ebを表す出力である。P復号器(復
号論理)ブロック232は、8つのNANDゲート23
8を有する。Q復号器ブロック234は、6つのNAN
Dゲート240を有する。同様に、S復号器ブロック2
36は、5つのNANDゲート242を有する。前端側
の合成信号作成ブロック132に入力された外部書込み
信号Wは、S復号器ブロック236の(5つの)NAN
Dゲート242の1つと、Q復号器ブロック234の
(6つの)NANDゲート240のうちの3つと、P復
号器ブロック232の(8つの)NANDゲート238
のうちの3つとにもたらされる。書込み信号の補数信号
Wbが、P復号器ブロック232のNANDゲート23
2の1つにもたらされる。外部の読取りクロックRが、
S復号器236のNANDゲート242のうちの2つ
と、P復号器ブロック232のNANDゲート238の
うちの4つとにもたらされる。読取りクロック入力の補
数信号Rbが、S復号器ブロック236のNANDゲー
ト242のうちの1つと、Q復号器ブロック234のN
ANDゲート240のうちの3つと、P復号器ブロック
232のNANDゲート238のうちの2つとにもたら
される。他の論理ゲートは、NANDゲート238,2
40,242によって実現される機能を実行するために
使用される。
【0019】P復号器ブロック232のNANDゲート
238は、ルックアヘッドフルフラグ補数Ebからの2
つの入力と、ステート変数Pからの2つの入力と、ステ
ート変数Pの補数Pbからの4つの入力と、ステート変
数13−Qからの5つの入力と、ステート変数Sからの
2つの入力と、ステート変数Sの補数Sbからの4つの
入力とを有する。Q復号器ブロック234は、ルックア
ヘッドフルフラグ補数Ebからの1つの入力と、ステー
ト変数Pからの2つの入力と、ステート変数Pの補数P
bからの3つの入力と、ステート変数Qからの2つの入
力と、ステート変数Qの補数Qbからの2つの入力と、
ステート変数Sの補数Sbからの3つの入力とを有す
る。S復号器ブロック236は、ルックアヘッドフルフ
ラグEからの1つの入力と、ルックアヘッドフルフラグ
の補数Ebからの1つの入力と、ステート変数Pの補数
Pbからの3つの入力と、ステート変数Qからの1つの
入力と、ステート変数Qの補数Qbからの1つの入力
と、ステート変数Sからの1つの入力と、ステート変数
Sの補数Sbからの1つの入力とを有する。
【0020】P復号器ブロック232は、NANDゲー
ト238の各ゲートからの出力をまとめてバス出力17
6を形成し、バス出力176はステート変数Pを表す。
Q復号器ブロック234は、NANDゲート240の各
ゲートからの出力をまとめてバス178を形成し、バス
178はステート変数Qを表す。同様に、S復号器ブロ
ック236は、NANDゲート242の各ゲートからの
全ての出力をまとめてバス出力180を形成し、バス出
力180はステート変数Sを表す。尚、各復号器ブロッ
ク232,234,236は、信号作成器ブロック23
0の様々な出力から多入力(multiple input)を行うの
で、信号E,P,Q及びSがそれらの補数Eb,Pb,
Qb及びSbと共に同時に活動ステート(active(low)
digitalstate )になることは、確実に防止されねばな
らない。このことは、信号作成ブロック230の内部論
理ゲートを介して達成される。
【0021】図5を参照すると、信号作成ブロック23
0がより詳細に示されている。信号作成ブロック230
は、図示されるように、交差対(式)(cross coupled
)ゲートブロック250,252,254,256を
有する。交差対ゲートブロック250は、図示されるよ
うに、インバータ258と、NANDゲート260と、
NANDゲート262とを有する。入力信号Pbinがイ
ンバータ258にもたらされ、この信号は次にNAND
ゲート262の入力にもたらされる。信号Pbinは、
又、NANDゲート260の入力にもたらされる。NA
NDゲート260の出力は、NANDゲート262の入
力にもたらされる。同様に、NANDゲート262の出
力は、NANDゲート260の入力にもたらされる。N
ANDゲート260,262は交差対に構成されている
ので、信号及びその補数信号の両方が同時に活動ステー
トになることが確実に防止される。NANDゲート26
0の出力は出力信号Pを作成し、一方、NANDゲート
262は出力Pbを作成する。出力信号Pout 及びPb
out は、復号器ブロック230,234,236への入
力をもたらす内部ステート変数である。交差対ゲートブ
ロック250,254,256は類似の内部構成要素,
接続及び出力を有し、変数Q,Sのための信号及びそれ
らの補数信号,ルックアヘッドフルフラグEのための信
号及びその補数信号を作成する。
【0022】図6を参照すると、後端側の合成信号作成
ブロック134がより詳細に示されている。後端側の合
成信号作成ブロック134は、図示されるように、第1
のNANDゲート270と、第2のNANDゲート27
2と、第3のNANDゲート274と、第4のNAND
ゲート276と、第5のNANDゲート278と、第6
のNANDゲート280と、第1のNORゲート282
と、第2のNORゲート284と、第1のインバータ2
86と、第2のインバータ288とを有する。後端側の
合成信号作成ブロック134は、前端側の合成信号作成
ブロック132の出力バス176,178,180から
の各出力を入力する入力184,186,188を有す
る(出力バス176,178,180は、3つのステー
ト変数P,Q,Sの各々を表す)。後端側の合成信号作
成ブロック134は、又、第4の入力を有し、第4の入
力は、再設定入力Rst106(図3Aの106参照)を
表す。P入力の内部ビットが、第1のNANDゲート2
70の3つの入力と、第2のNANDゲート272の2
つの入力とにもたらされる。第1のNANDゲート27
0により出力P0(図3A,図3Bの190参照)がも
たらされ、一方、第2のNANDゲート272により出
力P1(図3A,図3Bの192参照)がもたらされ
る。Q入力の内部ビットが、第3のNANDゲート27
4の4つの入力と、第4のNANDゲート276の4つ
の入力とにもたらされる。第3のNANDゲート274
及び第4のNANDゲート276の出力は、第1のNO
Rゲート282の入力にもたらされる。S入力の内部ビ
ットは、第5のNANDゲート278の3つの入力と、
第6のNANDゲート280の3つの入力とにもたらさ
れる。第5のNANDゲート278及び第6のNAND
ゲート280の出力は、第2のNORゲート284の入
力にもたらされる。再設定入力Rstは、第1のNORゲ
ート282及び第2のNORゲート284の両方にもた
らされる。第1のNORゲート282の出力は、第1の
インバータ286を介して送られて、ステート変数Q
(参照番号194)(図3Aの出力194参照)をもた
らす。第2のNORゲート284からの出力は、ステー
ト変数S(参照番号196)(図3Aの出力196参
照)をもたらす。第2のNORゲート284からの出力
は、又、第2のインバータ288を介して送られて、ス
テート変数Sのデジタル補数Sbを表す出力198(図
3Aの出力198参照)をもたらす。
【0023】ステートマシン20は、一般に、そのクロ
ック信号のハイタイム(high time)が10ns,ロー
タイム(low time)が5nsで機能するように構成され
る。しかし、本発明のステートマシン20の場合、ハイ
タイム及びロータイムが共に5nsといった比較的低級
なクロックであっても、充分機能する。
【0024】図7を参照すると、論理ブロック200の
内部論理(図3B参照)がより詳細に示されている。ト
ランジスタ300のゲートがRrst 入力を受信し、トラ
ンジスタ302のゲートが入力P1を受信し、トランジ
スタ304のゲートが入力P0を受信する。トランジス
タ306のゲートも又、入力P0を受信する。トランジ
スタ308のゲートは、入力Rrstbを受信する。トラン
ジスタ310のゲートも又、入力P1を受信する。トラ
ンジスタ300,302,304,306,308のソ
ース及びドレーンは、継続接続(cascated)されてい
る。出力Pout は、トランジスタ304のソースと、ト
ランジスタ310のドレーンとに接続される。論理ブロ
ック200は、トランジスタ312と、トランジスタ3
14と、トランジスタ316と、トランジスタ318と
を有する。トランジスタ312は、入力Rrstbを受信す
る。トランジスタ312,314,316,318のソ
ース及びドレーンは、継続接続される。トランジスタ3
14のドレーンは、論理ブロック200のPout 出力
(図3Bの208参照)を作成する。トランジスタ31
6のゲートは、論理ブロック200のEflag入力を
受信する。ゲートトランジスタ318は、論理ブロック
200のRrst 入力を受信する。
【0025】図8を参照すると、ステートマシン20の
タイミング図319が示されている。タイミング図31
9は、先ず2つの書込み信号Wを受信して次に読取り信
号Rを受信した後のステートマシン20を表している。
4つの遷移(transition)時間が、各々T1,T2,T
3及びT4として表されている。第1のタイミング波3
20は、図示されるように書込み信号W(図3A及び図
4の162参照)を表し、第2のタイミング波322
は、図示されるように読取り信号R(図3A及び図4の
166参照)を表し、第3のタイミング波(信号)32
4は、図示されるように外部フルフラグ信号FLAGb
ext を表し、第4のタイミング波(信号)326は、図
示されるようにルックアヘッドフルフラグE(図3A及
び図4の入力160参照)を表す。
【0026】下記の表1は、ステートマシン20の操作
を示すフローテーブル(すなわちステート図)である。
【0027】
【表1】
【0028】表1の黒く塗りつぶされた箱は、ステート
マシン20の8つのステートを示す。左端の列の数字
は、8〜31の順に24の安定したステートを示す。表
1の最上行の一連の数字は、二進法による3つの信号
E,W及びRの様々な組み合わせ(8種類)を示す。こ
れらの数字のうち、最終(右端)列のEFは、外部フル
フラグ信号FLAGbext のステートを表す。列が1つ
ずつずれる度に、上記の信号(E,W,R)の1つが変
化する。例えば、列000は、E,W及びRが全て0の
場合の安定したステート(8,16,24)を示す。次
の列は、Rが0から1に変わると共にE及びWは0のま
まの場合の安定したステート(9,17,25)を示
す。その次の列は、Wが0から1に変わると共にRが
1,Eが0のままの場合の安定したステート(10,1
8,26)を示す。
【0029】表1内の矢印は、遷移をあらわす。T1
(図8参照)において、ステートマシンは、箱22(行
22,列101であり、図8に示されるように、時間T
1においてWが0,Rが1,Eが1であることを意味す
る)の安定ステートにある。書込み信号Wの補数信号が
時間T2において高い値になると、ステートマシンのス
テートは列101の1つ左の列,すなわち列111にシ
フトする。これは、安定していないステートである。従
って、ステートマシンは、この組み合わせ(111)に
とって安定したステート、すなわち行13,列111に
シフトする。時間T1と時間T2との間に行われるこの
遷移が、ステートマシン20の内部機能を表している。
第2の遷移は、時間T3において読取り信号Rの補数信
号が低い値になったとき(図8参照)起こる。つまり、
ステートマシン20は、シフト前には行13,列110
にあるが、この第2の遷移により、行20,列110に
ある安定ステートとしての箱にシフトする。逆に言え
ば、このようなシフトの実行が、ステートマシン20の
第2の遷移が成功したことを意味する。時間T4におい
て、読取り信号Rの補数信号が高い値になると、ステー
トマシン20は1つ右の列の行20,列111に遷移
し、次に行21,列111の安定ステートへとシフトさ
れて調節が行われる。
【0030】尚、本発明は上記においてルックアヘッド
フルフラグEに関して説明されが、本発明がステートマ
シン20をルックアヘッドエンプティフラグと共に用い
ることを含むのは、勿論である。
【0031】又、当事者であれば、上記の特許請求の範
囲の範囲内において本発明に種々の変更を加えてよいこ
とは明らかであろう。
【図面の簡単な説明】
【図1】本発明の好適実施の形態に基づくステートマシ
ン全体の構成を示すブロック略図である。
【図2】図1のステートマシンの全体構造を示すブロッ
ク図である。
【図3A】図1のステートマシンの各構成要素の概略図
である。
【図3B】図1のステートマシンの各構成要素の概略図
である。
【図4】本発明の合成信号作成論理装置の前端の概略図
である。
【図5】本発明の信号及びその補数信号を作成する論理
装置を示す概略図である。
【図6】本発明の合成信号作成論理装置の後端の概略図
である。
【図7】本発明の合成信号作成論理装置の一部分の概略
図である。
【図8】本発明の幾つかの典型的なステート遷移を示す
タイミング図である。
【符号の説明】
20 ステートマシン P,Q,S 前のステート変数 P′,Q′,S′ 次のステート変数 Pb,Qb,Sb 前のステート変数の補数
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成9年5月16日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0013
【補正方法】変更
【補正内容】
【0013】図3A,図3Bを参照すると、ステートマ
シン20のより詳細な概略図が示されている。図示され
るように、論理ブロック100は、再設定処理ブロック
130と、前端側の合成信号作成ブロック132と、後
端側の合成信号作成ブロック134と、出力ドライバブ
ロック136とを有する。再設定処理ブロック130
は、ルックアヘッドフルフラグEを表す入力102と、
ステートマシン20の予め設定されたステートを表すP
ステート入力104と、信号Rrst を表す入力106
と、外部再設定を表すRstb 入力110とを有する。再
設定処理ブロック130は、第1のインバータ140
と、第2のインバータ142と、第1の使用可能な(イ
ネーブルステートの,enabled )インバータ144と、
第2のイネーブルステートのインバータ146とを含
む。Rstb 入力110は、第1のインバータ140に接
続され、第1のインバータ140は、第1のイネーブル
ステートのインバータ144のp−イネーブル(enabl
e)入力と、第2のイネーブルステートのインバータ1
46のn−イネーブル入力とに接続される。Rstb 入力
110は、又、第1のイネーブルステートのインバータ
144のn−イネーブル入力と、第2のイネーブルステ
ートのインバータ146のp−イネーブル入力とに(直
接に)接続される。入力102は、第1のイネーブルス
テートのインバータ144の反転・逆転トランジスタに
接続される。入力102は、又、前端側の合成信号作成
ブロック132にも接続される。Pステート入力104
は、第2のイネーブルステートのインバータ146の反
転・逆転トランジスタに接続される。第1のイネーブル
ステートのインバータ144の出力及び第2のイネーブ
ルステートのインバータ146の出力は、接合されて1
つの出力150を形成する。Rrst入力108は、第2
のインバータ142と、後端側の合成信号作成ブロック
144と、出力ドライバブロック136とに接続され
る。第2のインバータ142も又、出力ドライバブロッ
ク136に接続される。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0016
【補正方法】変更
【補正内容】
【0016】後端側の合成信号作成ブロック134は、
再設定入力108に接続された第1の入力182と、前
端側の合成信号作成ブロック132のP′出力バス17
6に接続された第2の入力184と、前端側の合成信号
作成ブロック132のQ′出力バス178に接続された
第3の入力186と、前端側の合成信号作成ブロック1
32のS′出力バス180に接続された第4の入力18
8とを有する。各出力バス176,178,180は多
ビットのバスであり、各バスは、多ビットのワードを後
端側の合成信号作成論理ブロック134にもたらす。こ
れについて、図4及び図6を参照しつつ、以下詳述す
る。後端側の合成信号作成ブロック134は、ステート
変数Pを表す出力190及び192を有する。出力19
0,192は、出力ドライバブロック136に接続され
る。又、第3の出力194は、ステート変数Qを表し、
一方、第4の出力196はステート変数Sを表す。第5
の出力198は、ステート変数Sのデジタル補数Sbを
表す。第3の出力194及び第4の出力196は、共に
出力ドライバブロック136に接続される。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0017
【補正方法】変更
【補正内容】
【0017】出力ドライバブロック136は、論理ブロ
ック200と、第1のNAND(NOR)ゲート202
と、第2のNAND(NOR)ゲート204と、第3の
NAND(NOR)ゲート206とを有する。論理ブロ
ック200は、第1の再設定ブロック出力150と、第
2のインバータ142と、再設定入力106と、出力1
90と、出力192からの入力を有する。論理ブロック
200は、これらの入力を処理すると共に、ステートマ
シン20のステート変数Pを表す出力208をもたら
す。出力208は、第3のNANDゲート206に接続
されると共に、インバータ171にも接続される。第1
のNANDゲート202は、3つの入力210,21
2,214を有する。入力210は、外部読取りクロッ
クR入力106に接続され、一方、入力212は、後端
側の合成信号作成ブロック134のQ(ステート)出力
194に接続される。尚、入力210と入力216
は、互いに接続される。入力214は、後端側の合成信
号作成ブロック134のS(ステート)出力196に接
続される。第1のNANDゲート202の出力は、第3
のNANDゲート206に接続される。第2のNAND
ゲート204の第1の入力216は、外部読取りクロッ
クR入力106に接続される。第2のNANDゲート2
04の第2の入力218は、書込み入力クロック112
に接続される。上記の2つの入力216,218は、
又、互いに接続される。第2のNANDゲート204の
第3の入力220は、後端側の合成信号作成ブロック1
34のS(ステート)出力196に接続される。第2の
NANDゲート204の出力は、第3のNANDゲート
206に接続される。第3のNANDゲート206は1
つの出力を有し、この出力は、ステートマシン20の外
部フルフラグ信号を表す。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0018
【補正方法】変更
【補正内容】
【0018】図4を参照すると、前端側の合成信号作成
ブロック132がより詳細に示されている。前端側の合
成信号作成ブロック132は、図示されるように、信号
作成ブロック230と、P復号器ブロック232と、Q
復号器ブロック234と、S復号器ブロック236とを
有する。信号作成ブロック230は、図3A,図3B及
び図4に示されるように、入力160〜174を有す
る。信号作成ブロック230は複数の出力を有し、それ
らは、各ステート変数P,Q及びSを表す出力,各ステ
ート変数のデジタル補数Pb,Qb及びSbを表す出
力,ルックアヘッドフルフラグ信号Eを表す出力及び内
部ルックアヘッドフルフラグ補数(信号)Ebを表す出
力である。P復号器(復号論理)ブロック232は、8
つのNANDゲート238を有する。Q復号器ブロック
234は、6つのNANDゲート240を有する。同様
に、S復号器ブロック236は、5つのNANDゲート
242を有する。前端側の合成信号作成ブロック132
に入力された外部書込み信号Wは、S復号器ブロック2
36の(5つの)NANDゲート242の1つと、Q復
号器ブロック234の(6つの)NANDゲート240
のうちの3つと、P復号器ブロック232の(8つの)
NANDゲート238のうちの3つとにもたらされる。
書込み信号の補数信号Wbが、P復号器ブロック232
のNANDゲート232の1つにもたらされる。外部の
読取りクロックRが、S復号器236のNANDゲート
242のうちの2つと、P復号器ブロック232のNA
NDゲート238のうちの4つとにもたらされる。読取
りクロック入力の補数信号Rbが、S復号器ブロック2
36のNANDゲート242のうちの1つと、Q復号器
ブロック234のNANDゲート240のうちの3つ
と、P復号器ブロック232のNANDゲート238の
うちの2つとにもたらされる。他の論理ゲートは、NA
NDゲート238,240,242によって実現される
機能を実行するために使用される。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0019
【補正方法】変更
【補正内容】
【0019】P復号器ブロック232のNANDゲート
238は、ルックアヘッドフルフラグ補数Ebからの2
つの入力と、ステート変数Pからの2つの入力と、ステ
ート変数Pの補数Pbからの4つの入力と、ステート変
数Qからの5つの入力と、ステート変数Sからの2つの
入力と、ステート変数Sの補数Sbからの4つの入力と
を有する。Q復号器ブロック234は、ルックアヘッド
フルフラグ補数Ebからの1つの入力と、ステート変数
Pからの2つの入力と、ステート変数Pの補数Pbから
の3つの入力と、ステート変数Qからの2つの入力と、
ステート変数Qの補数Qbからの2つの入力と、ステー
ト変数Sの補数Sbからの3つの入力とを有する。S復
号器ブロック236は、ルックアヘッドフルフラグEか
らの1つの入力と、ルックアヘッドフルフラグの補数E
bからの1つの入力と、ステート変数Pの補数Pbから
の3つの入力と、ステート変数Qからの1つの入力と、
ステート変数Qの補数Qbからの1つの入力と、ステー
ト変数Sからの1つの入力と、ステート変数Sの補数S
bからの1つの入力とを有する。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0021
【補正方法】変更
【補正内容】
【0021】図5を参照すると、信号作成ブロック23
0がより詳細に示されている。信号作成ブロック230
は、図示されるように、交差対(式)(cross coupled
)ゲートブロック250,252,254,256を
有する。交差対ゲートブロック250は、図示されるよ
うに、インバータ258と、NANDゲート260と、
NANDゲート262とを有する。入力信号Pbinがイ
ンバータ258にもたらされ、この信号は次にNAND
ゲート262の入力にもたらされる。信号Pbinは、
又、NANDゲート260の入力にもたらされる。NA
NDゲート260の出力は、NANDゲート262の入
力にもたらされる。同様に、NANDゲート262の出
力は、NANDゲート260の入力にもたらされる。N
ANDゲート260,262は交差対に構成されている
ので、信号及びその補数信号の両方が同時に活動ステー
トになることが確実に防止される。NANDゲート26
0の出力は出力信号Pを作成し、一方、NANDゲート
262は出力Pbを作成する。出力信号Pout 及びPb
out は、復号器ブロック232,234,236への入
力をもたらす内部ステート変数である。交差対ゲートブ
ロック250,252,254,256は類似の内部構
成要素,接続及び出力を有し、変数Q,Sのための信号
及びそれらの補数信号,ルックアヘッドフルフラグEの
ための信号及びその補数信号を作成する。
【手続補正7】
【補正対象書類名】図面
【補正対象項目名】図3A
【補正方法】変更
【補正内容】
【図3A】
【手続補正8】
【補正対象書類名】図面
【補正対象項目名】図7
【補正方法】変更
【補正内容】
【図7】
フロントページの続き (71)出願人 596123420 3901 North First Stre et,San Jose,Califor nia, (72)発明者 ピデューグ・エル・ナラヤナ アメリカ合衆国 ミシシッピー州 スター クヴィル ノース・モンゴメリー・ストリ ート 1040 #エス

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】 FIFO(先入れ先出し)バッファが一
    杯であることを表す出力フラグを作成する装置であっ
    て、この装置が、 信号作成手段と、 合成信号作成手段と、 フラグ復号器手段とを含み、 上記信号作成手段が、上記FIFOの現在のステート
    (state )を示すデジタルワードを形成する第1の組の
    入力と、ルックアヘッドフルフラグを表すフラグ入力と
    を有すると共に、これらの入力を操作して第1の組の出
    力と第2の組の出力と第3の組の出力を作成し、上記第
    1の組の出力が上記第1の組の入力で構成され、上記第
    2の組の出力が上記第1の組のデジタル補数で構成さ
    れ、上記第3の組の出力が上記フラグ入力及び上記フラ
    グ入力のデジタル補数で構成され、 上記合成信号作成手段が、上記信号作成手段の上記第1
    の組の出力と上記第2の組の出力と上記第3の組の出力
    とに接続された第1の組の入力を有すると共に、この第
    1の組の入力を操作して上記FIFOの現在のステート
    を表す出力組を作成し、 上記フラグ復号器手段が、上記合成信号作成手段の上記
    出力組に接続された1組の復号器入力を有し、上記フラ
    グ復号器手段がこの1組の復号器入力を操作して出力フ
    ラグを作成し、上記出力フラグが、上記FIFOが一杯
    の場合はある一つの論理ステートにあり、上記FIFO
    が一杯でない場合は別の論理ステートにあるFIFOバ
    ッファが一杯であることを示す出力フラグを作成する装
    置。
  2. 【請求項2】 上記合成信号作成手段が、外部書込みク
    ロックと外部読取りクロックとに接続された1対もしく
    はそれ以上の対のタイミング入力をさらに有し、上記合
    成信号作成手段が、上記合成信号作成手段の上記第1の
    組の入力と上記フラグ入力とを組み合わせて上記タイミ
    ング入力を操作することにより、上記出力組を作成する
    請求項1記載の装置。
  3. 【請求項3】 上記フラグ復号器手段が、外部書込みク
    ロックと外部読取りクロックとに接続された1対もしく
    はそれ以上の対のタイミング入力をさらに有すると共
    に、上記1組の復号器入力と組み合わせて上記タイミン
    グ入力を操作することにより、上記出力フラグを作成す
    る請求項1記載の装置。
  4. 【請求項4】 上記信号作成手段が、上記信号作成手段
    の上記第1の組の入力と上記信号作成手段の上記第1の
    組の出力及び上記第2の組の出力との間に接続された1
    組の交差対ゲートをさらに有し、この1組の交差対ゲー
    トによって、上記信号作成手段の上記第1の組の出力と
    上記第2の組の出力とが同時に活動ステートになること
    が確実に防止される請求項1記載の装置。
  5. 【請求項5】 上記交差対ゲートが、第1のNANDゲ
    ート及び第2のNANDゲートを有し、上記各NAND
    ゲートが第1の入力と第2の入力と1つの出力とを有
    し、上記第1及び第2のNANDゲートの上記各第1の
    入力が、上記信号作成手段の上記第1の組の入力からの
    信号に接続され、上記第1のNANDゲートの出力が、
    上記信号作成手段の上記第1の組の出力への信号をもた
    らすと共に上記第2のNANDゲートの上記第2の入力
    に接続され、上記第2のNANDゲートの出力が、上記
    信号作成手段の上記第2の組の出力への信号をもたらす
    と共に上記第1のNANDゲートの上記第2の入力に接
    続される請求項4記載の装置。
  6. 【請求項6】 上記各交差対ゲートが、上記信号作成手
    段の上記第1の組の入力からの信号と上記第2のNAN
    Dゲートの上記第1の入力との間に接続されたインバー
    タをさらに有する請求項5記載の装置。
  7. 【請求項7】 上記合成信号作成手段が、論理ゲートの
    配列をさらに有する請求項1記載の装置。
  8. 【請求項8】 上記FIFOの現在のステートを表す上
    記合成信号作成手段の上記出力組が、3つの変数P,Q
    及びSを有する請求項1記載の装置。
  9. 【請求項9】 上記変数P,Q及びSが、上記FIFO
    の8つの起こりうるステートを表す請求項8記載の装
    置。
  10. 【請求項10】 上記フラグ復号器手段が、上記FIF
    Oの8つの起こりうるステートに呼応して上記出力フラ
    グを作成する請求項9記載の装置。
  11. 【請求項11】 FIFO(先入れ先出し)バッファが
    一杯であることを表すフラグを作成する装置であって、
    この装置が、 前端側の合成信号作成ブロックと、 後端側の合成信号作成ブロックと、 出力ドライバとを有し、 上記前端側の合成信号作成ブロックが、上記FIFOの
    現在のステート(state )を示すデジタルワードを形成
    するルックアヘッドフルフラグを表すフラグ入力を含む
    1組の入力を有すると共に、この1組の入力を操作して
    上記FIFOの現在のステートを表す1組の出力を作成
    し、 上記後端側の合成信号作成ブロックが、上記前端側の合
    成信号作成ブロックの上記1組の出力に接続された1組
    の入力を有すると共に、この1組の入力を操作して上記
    FIFOの次のステートを表す1組の出力を作成し、 上記出力ドライバが、上記後端側の合成信号作成ブロッ
    クの上記1組の出力に接続された1組の入力を有すると
    共に、この1組の入力を操作して出力フラグを作成し、
    上記出力フラグが、上記FIFOが一杯の場合にはある
    一つの論理ステートにあり、上記FIFOが一杯でない
    場合には別の論理ステートにあるFIFOバッファが一
    杯であることを表すフラグを作成する装置。
  12. 【請求項12】 再設定処理ブロックをさらに含み、こ
    の再設定処理ブロックが、内部で作成されたルックアヘ
    ッドフルフラグと再設定入力と予め設定されたステート
    の入力とから成る1組の入力を有し、上記予め設定され
    たステートの入力が、上記FIFOが空いている場合に
    は第1の論理ステートに再設定され、一方、上記FIF
    Oが一杯の場合には第2の論理ステートに再設定され、
    又、上記再設定処理ブロックが上記1組の入力を操作し
    て再設定出力を作成し、上記再設定出力が、上記装置が
    主再設定モードにある場合には第1の論理ステートにあ
    り、上記装置が再送信モードにある場合には第2の論理
    ステートにある請求項11記載の装置。
  13. 【請求項13】 上記出力ドライバが、上記再設定処理
    ブロックの上記再設定出力に接続された再設定入力を有
    し、上記装置が、この出力ドライバの再設定入力が上記
    第2の論理ステートにあるとき初期設定される請求項1
    2記載の装置。
  14. 【請求項14】 上記前端側の合成信号作成手段が、外
    部書込みクロックと外部読取りクロックとに接続された
    1対のもしくはそれ以上の対のタイミング入力をさらに
    有すると共に、その第1の対のタイミング入力を上記フ
    ラグ入力を含む上記1組の入力と組み合わせて操作し
    て、上記前端側の合成信号作成手段の上記1組の出力を
    作成する請求項11記載の装置。
  15. 【請求項15】 上記出力ドライバが、外部書込みクロ
    ックと外部読取りクロックとに接続された1対もしくは
    それ以上の対の入力をさらに有すると共に、その第1の
    対の入力を上記出力ドライバの上記1組の入力及び上記
    フラグ入力と組み合わせて操作して、上記出力フラグを
    作成する請求項11記載の装置。
  16. 【請求項16】 上記前端側の合成信号作成ブロック
    が、1組の交差対ゲートをさらに含み、この1組の交差
    対ゲートによって、上記前端側の合成信号作成ブロック
    の上記第1の組の出力と上記第2の組の出力とが同時に
    同じデジタルステートになることが確実に防止される請
    求項11記載の装置。
  17. 【請求項17】 上記FIFOの現在のステートを表す
    上記前端側の合成信号作成ブロックの上記1組の出力
    が、3つの変数P,Q及びSを含む請求項11記載の装
    置。
  18. 【請求項18】 上記変数P,Q及びSが、上記FIF
    Oの8つの起こり得るステートを表す請求項13記載の
    装置。
  19. 【請求項19】 上記FIFOの8つの起こり得るステ
    ートに呼応して、フラグ復号器が上記出力フラグを作成
    する請求項18記載の装置。
  20. 【請求項20】 上記出力フラグが、NANDゲートの
    配列によって実行される所定の方法で、上記変数P,Q
    及びSに呼応して作成される請求項19記載の装置。
JP8327331A 1995-12-06 1996-12-06 非同期fifoにおいてエンプティフラグ及びフルフラグを作成するステートマシンの構成 Pending JPH09251771A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/567,893 US5712992A (en) 1995-12-06 1995-12-06 State machine design for generating empty and full flags in an asynchronous FIFO
US08/567,893 1995-12-06

Publications (1)

Publication Number Publication Date
JPH09251771A true JPH09251771A (ja) 1997-09-22

Family

ID=24269068

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8327331A Pending JPH09251771A (ja) 1995-12-06 1996-12-06 非同期fifoにおいてエンプティフラグ及びフルフラグを作成するステートマシンの構成

Country Status (3)

Country Link
US (2) US5712992A (ja)
JP (1) JPH09251771A (ja)
KR (1) KR100403396B1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5844423A (en) * 1995-12-14 1998-12-01 Cypress Semiconductor Corporation Half-full flag generator for synchronous FIFOs
JP3825099B2 (ja) * 1996-09-26 2006-09-20 富士通株式会社 映像データ転送方式およびビデオサーバ装置
US6124878A (en) * 1996-12-20 2000-09-26 Time Warner Cable, A Division Of Time Warner Enterainment Company, L.P. Optimum bandwidth utilization in a shared cable system data channel
US6101329A (en) * 1997-02-18 2000-08-08 Lsi Logic Corporation System for comparing counter blocks and flag registers to determine whether FIFO buffer can send or receive data
US6044416A (en) * 1997-09-19 2000-03-28 Samsung Electronics Co., Ltd. Configurable first-in first-out memory interface
US6041370A (en) * 1997-12-08 2000-03-21 Intel Corporation FIFO using a fading ones counter
US6588015B1 (en) 1998-01-14 2003-07-01 General Instrument Corporation Broadcast interactive digital radio
US6006340A (en) * 1998-03-27 1999-12-21 Phoenix Technologies Ltd. Communication interface between two finite state machines operating at different clock domains
US6489805B1 (en) 1998-12-09 2002-12-03 Cypress Semiconductor Corp. Circuits, architectures, and methods for generating a periodic signal in a memory
NO993483L (no) 1999-07-15 2001-01-16 Ericsson Telefon Ab L M Fremgangsmåte og anordning for effektiv overföring av datapakker
US6442657B1 (en) 1999-08-10 2002-08-27 Cypress Semiconductor Corporation Flag generation scheme for FIFOs
US6507877B1 (en) 1999-09-03 2003-01-14 Whamtech, Inc. Asynchronous concurrent dual-stream FIFO
US6377097B1 (en) * 2000-03-13 2002-04-23 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Method and apparatus for reducing the vulnerability of latches to single event upsets
US6400642B1 (en) * 2000-03-24 2002-06-04 Cypress Semiconductor Corp. Memory architecture
US6377071B1 (en) * 2000-03-31 2002-04-23 Cypress Semiconductor Corp. Composite flag generation for DDR FIFOs
US6681337B1 (en) * 2000-04-25 2004-01-20 Sun Microsystems, Inc. Method and apparatus for loading data from an address specified by an address register into a different register wherein the registers are clocked in different time domains
US6970392B1 (en) * 2001-06-29 2005-11-29 Cypress Semiconductor Corp. High speed asynchronous and programmable state machine for generating almost full synchronous flags in a synchronous FIFO
US6445635B1 (en) * 2001-06-30 2002-09-03 Cypress Semiconductor Corporation High speed asynchronous and programmable state machine for generating almost empty synchronous flags in a synchronous FIFO
US6678759B2 (en) 2001-07-26 2004-01-13 Jsi Microelectronics, Inc. Glitch suppression circuit and method
ATE396447T1 (de) * 2003-07-02 2008-06-15 Nxp Bv Einzelspeicher mit mehrfach- schieberegisterfunktionalität
WO2007042864A1 (en) * 2005-10-14 2007-04-19 Freescale Semiconductor, Inc. Device and method for managing a retransmit operation

Family Cites Families (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4467443A (en) * 1979-07-30 1984-08-21 Burroughs Corporation Bit addressable variable length memory system
EP0206743A3 (en) * 1985-06-20 1990-04-25 Texas Instruments Incorporated Zero fall-through time asynchronous fifo buffer with nonambiguous empty/full resolution
US4864543A (en) * 1987-04-30 1989-09-05 Texas Instruments Incorporated First-in, first-out memory with counter address pointers for generating multiple memory status flags
US4833651A (en) * 1986-07-24 1989-05-23 National Semiconductor Corporation High-speed, asynchronous, No-Fall-Through, first-in-first out memory with high data integrity
US4847812A (en) * 1986-09-18 1989-07-11 Advanced Micro Devices FIFO memory device including circuit for generating flag signals
US4802122A (en) * 1987-04-28 1989-01-31 Advanced Micro Devices, Inc. Fast flush for a first-in first-out memory
US5222047A (en) * 1987-05-15 1993-06-22 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for driving word line in block access memory
US4839866A (en) * 1987-05-29 1989-06-13 Texas Instruments Incorporated Cascadable first-in, first-out memory
JPH0753114B2 (ja) * 1987-07-06 1995-06-07 農業生物遺伝子構造解析技術研究組合 キユウリモザイクウイルスの3a蛋白質をコ−ドする遺伝子
US4875196A (en) * 1987-09-08 1989-10-17 Sharp Microelectronic Technology, Inc. Method of operating data buffer apparatus
US5113339A (en) * 1987-10-20 1992-05-12 Sharp Kabushiki Kaisha Data processor for detecting identical data simultaneously coexisting in a plurality of data sections of data transmission paths
JPH01113996A (ja) * 1987-10-27 1989-05-02 Mitsubishi Electric Corp 半導体記憶装置
US5587962A (en) * 1987-12-23 1996-12-24 Texas Instruments Incorporated Memory circuit accommodating both serial and random access including an alternate address buffer register
US5093807A (en) * 1987-12-23 1992-03-03 Texas Instruments Incorporated Video frame storage system
US5021994A (en) * 1988-01-11 1991-06-04 Texas Instruments Incorporated Look-ahead flag generator
US5084837A (en) * 1988-01-22 1992-01-28 Sharp Kabushiki Kaisha Fifo buffer with folded data transmission path permitting selective bypass of storage
US4891788A (en) * 1988-05-09 1990-01-02 Kreifels Gerard A FIFO with almost full/almost empty flag
US4942553A (en) * 1988-05-12 1990-07-17 Zilog, Inc. System for providing notification of impending FIFO overruns and underruns
US5625842A (en) * 1988-05-18 1997-04-29 Zilog, Inc. System for the automatic transfer of message status in digital data communication
US4888739A (en) * 1988-06-15 1989-12-19 Cypress Semiconductor Corporation First-in first-out buffer memory with improved status flags
US5255238A (en) * 1988-09-08 1993-10-19 Hitachi, Ltd. First-in first-out semiconductor memory device
JPH02168496A (ja) * 1988-09-14 1990-06-28 Kawasaki Steel Corp 半導体メモリ回路
US5079693A (en) * 1989-02-28 1992-01-07 Integrated Device Technology, Inc. Bidirectional FIFO buffer having reread and rewrite means
US5121346A (en) * 1989-03-31 1992-06-09 Sgs-Thomson Microelectronics, Inc. Difference comparison between two asynchronous pointers and a programmable value
US5278956A (en) * 1990-01-22 1994-01-11 Vlsi Technology, Inc. Variable sized FIFO memory and programmable trigger level therefor for use in a UART or the like
JPH0474387A (ja) * 1990-07-16 1992-03-09 Nec Corp 半導体記憶装置
US5088061A (en) * 1990-07-24 1992-02-11 Vlsi Technology, Inc. Routing independent circuit components
US5325487A (en) * 1990-08-14 1994-06-28 Integrated Device Technology, Inc. Shadow pipeline architecture in FIFO buffer
US5220529A (en) * 1990-08-20 1993-06-15 Fujitsu Limited One-chip first-in first-out memory device having matched write and read operations
US5274600A (en) * 1990-12-13 1993-12-28 Texas Instruments Incorporated First-in first-out memory
JP2715004B2 (ja) * 1991-01-07 1998-02-16 三菱電機株式会社 半導体メモリ装置
US5228002A (en) * 1991-04-26 1993-07-13 Quality Semiconductor Inc. First-in first-out memory device and method for accessing the device
US5311475A (en) * 1991-04-26 1994-05-10 Quality Semiconductor Inc. High speed full and empty flag generators for first-in first-out memory
US5406273A (en) * 1991-05-14 1995-04-11 Sharp Kabushiki Kaisha Data processor
US5262996A (en) * 1991-08-27 1993-11-16 Industrial Technology Research Institute FIFO module
US5412611A (en) * 1992-03-17 1995-05-02 Fujitsu, Limited FIFO memory device capable of writing contiguous data into rows
US5490257A (en) * 1992-02-24 1996-02-06 Advanced Micro Devices, Inc. RAM based FIFO memory half-full detection apparatus and method
US5315184A (en) * 1992-05-04 1994-05-24 Zilog, Inc. Self arbitrating auto resettable flag circuit
US5336938A (en) * 1992-06-25 1994-08-09 Cypress Semiconductor Corporation Apparatus for generating an asynchronous status flag with defined minimum pulse
JPH0676559A (ja) * 1992-06-26 1994-03-18 Mitsubishi Electric Corp ファーストインファーストアウトメモリ装置
US5381126A (en) * 1992-07-31 1995-01-10 Sgs-Thompson Microelectronics, Inc. Programmable difference flag logic
US5426756A (en) * 1992-08-11 1995-06-20 S3, Incorporated Memory controller and method determining empty/full status of a FIFO memory using gray code counters
US5619681A (en) * 1992-11-23 1997-04-08 Zilog, Inc. Delayed FIFO status for serial shift emulation
US5384744A (en) * 1992-11-23 1995-01-24 Paradigm Technology, Inc. Look ahead flag for FIFO
KR940015850A (ko) * 1992-12-29 1994-07-21 김주용 피포 제어를 위해 필요한 플래그 신호를 구현하는 회로
US5473756A (en) * 1992-12-30 1995-12-05 Intel Corporation FIFO buffer with full/empty detection by comparing respective registers in read and write circular shift registers
US5345419A (en) * 1993-02-10 1994-09-06 At&T Bell Laboratories Fifo with word line match circuits for flag generation
SG44604A1 (en) * 1993-09-20 1997-12-19 Codex Corp Circuit and method of interconnecting content addressable memory
US5469443A (en) * 1993-10-01 1995-11-21 Hal Computer Systems, Inc. Method and apparatus for testing random access memory
US5406554A (en) * 1993-10-05 1995-04-11 Music Semiconductors, Corp. Synchronous FIFO having an alterable buffer store
JP3283659B2 (ja) * 1993-10-07 2002-05-20 富士通株式会社 Fifoメモリの誤動作検出方法及び装置
US5365485A (en) * 1993-11-22 1994-11-15 Texas Instruments Incorporated Fifo with fast retransmit mode
KR960014169B1 (ko) * 1994-05-17 1996-10-14 금성일렉트론 주식회사 메모리의 데이타 입출력 상태 검출 회로
US5506809A (en) * 1994-06-29 1996-04-09 Sharp Kabushiki Kaisha Predictive status flag generation in a first-in first-out (FIFO) memory device method and apparatus
US5546347A (en) * 1994-07-22 1996-08-13 Integrated Device Technology, Inc. Interleaving architecture and method for a high density FIFO
US5487049A (en) * 1994-11-23 1996-01-23 Samsung Semiconductor, Inc. Page-in, burst-out FIFO
KR0134711B1 (ko) * 1994-12-21 1998-05-15 양승택 피포(fifo) 레벨 카운팅을 위한 쓰기/읽기 신호 중재회로
US5513318A (en) * 1994-12-28 1996-04-30 At&T Corp. Method for built-in self-testing of ring-address FIFOs
US5506815A (en) * 1995-01-19 1996-04-09 Etron Technology Inc. Reconfigurable multi-user buffer memory particularly for signal processing system
US5519701A (en) * 1995-03-29 1996-05-21 International Business Machines Corporation Architecture for high performance management of multiple circular FIFO storage means
US5623449A (en) * 1995-08-11 1997-04-22 Lucent Technologies Inc. Flag detection for first-in-first-out memories
US5642318A (en) * 1995-12-05 1997-06-24 Cypress Semicondcutor Corporation Testing method for FIFOS
US5809339A (en) * 1995-12-06 1998-09-15 Cypress Semiconductor Corp. State machine design for generating half-full and half-empty flags in an asynchronous FIFO
US5627797A (en) * 1995-12-14 1997-05-06 Cypress Semiconductor Corporation Full and empty flag generator for synchronous FIFOS

Also Published As

Publication number Publication date
KR970049559A (ko) 1997-07-29
US5712992A (en) 1998-01-27
US6016403A (en) 2000-01-18
KR100403396B1 (ko) 2004-03-31

Similar Documents

Publication Publication Date Title
JPH09251771A (ja) 非同期fifoにおいてエンプティフラグ及びフルフラグを作成するステートマシンの構成
Hauck et al. High-performance carry chains for FPGAs
JPH06295233A (ja) プログラム可能な論理装置および再プログラム可能な論理において論理機能を実現する方法
US6970897B2 (en) Self-timed transmission system and method for processing multiple data sets
JPH02136920A (ja) データ処理回路
US5627797A (en) Full and empty flag generator for synchronous FIFOS
US6990510B2 (en) Wide adder with critical path of three gates
JPH09231742A (ja) 非同期fifoにおいてハーフフルフラグ及びハーフエンプティフラグを作成するステートマシンの構成
JPS62256034A (ja) パイプライン演算ユニツト
US5434810A (en) Binary operator using block select look ahead system which serves as parallel adder/subtracter able to greatly reduce the number of elements of circuit with out sacrifice to high speed of computation
US4229803A (en) I2 L Full adder and ALU
EP0278529A2 (en) Multiplication circuit capable of operating at a high speed with a small amount of hardware
US5844423A (en) Half-full flag generator for synchronous FIFOs
JPH0434177B2 (ja)
EP0442116A2 (en) Pipeline method and apparatus
US5963056A (en) Full and empty flag generator for synchronous FIFOs
US4879675A (en) Parity generator circuit and method
US7444366B2 (en) Faster shift value calculation using modified carry-lookahead adder
JPH11305994A (ja) データ処理装置
US5493525A (en) Carry-chain compiler
JP4122071B2 (ja) データの分割及び縮小が実行可能なビデオ制御回路
JP2681968B2 (ja) 演算処理装置
JP4428819B2 (ja) 多入力データソーティング回路
JP2513432B2 (ja) 加算回路
JPS6115273A (ja) ベクトル演算処理装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070109

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070409

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070412

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070509

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070514

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070608

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070613

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070911