JPH07312078A - Ramベースのfifoメモリを直列から並列へおよび並列から直列へ変換する構造 - Google Patents
Ramベースのfifoメモリを直列から並列へおよび並列から直列へ変換する構造Info
- Publication number
- JPH07312078A JPH07312078A JP6294056A JP29405694A JPH07312078A JP H07312078 A JPH07312078 A JP H07312078A JP 6294056 A JP6294056 A JP 6294056A JP 29405694 A JP29405694 A JP 29405694A JP H07312078 A JPH07312078 A JP H07312078A
- Authority
- JP
- Japan
- Prior art keywords
- write
- read
- frame
- data
- memory
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods 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/10—Methods 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
てデータ出力速度を速くし、またビット毎にアドレスし
ないようにしてチップの面積を減らす手段を開示する。 【構成】 直列から並列へまた並列から直列へのデータ
変換を行うFIFOメモリ。直列入力データを、nビッ
ト幅の固定幅の書込みフレーム(30)に一時的に記憶
し、次に全nビット幅フレームをRAM配列(22)に
一度に並列に書き込む。RAM配列(22)からの並列
のデータを読取りフレーム(40)に一時的に記憶した
後、FIFO出力(53)に直列に与える。これにより
必要なポインタの数が減るので、全体のチップの大きさ
が減る。読取りフレーム(40)を書込みフレーム(3
0)と前記直列入力データに結合することにより、FI
FOに書き込んだデータはすぐに利用可能になり、読取
りフレーム(40)は書込みフレーム(30)から埋め
戻しデータを受けることができる。
Description
回路の分野であり、より詳しくは先入れ先出し(FIF
O)メモリに関する。
に、比較的高速で動作する計算機プロセッサと比較的低
速で動作する周辺装置の間のデータの転送に用いられ
る。FIFOメモリおよび関連する制御回路の例は、テ
キサス・インスツルメンツ社に譲渡されたウオード・ヘ
ライン(Ward,herein)およびケネス・L・
ウイリアムスの以下の米国特許に含まれている。すなわ
ち、第5,097,442号、「プログラム可能な深さ
の先入れ先出しメモリ」、1992年3月17日発行、
第5,084,841号、「グレーコードを用いたプロ
グラム可能な状態フラグ発生器FIFO」、1992年
1月28日発行、第4,864,543号、「多重メモ
リ状態フラグ発生のためのカウンタアドレスポインタを
備える先入れ先出しメモリ」、1989年9月5日発
行、第4,829,475号、「同時アドレス増分およ
びメモリ書込み操作のための方法と装置」、1989年
5月9日発行、第4,839,866号、「カスケード
可能な先入れ先出しメモリ」、1989年6月13日発
行。
は、テキサス・インスツルメンツ社に譲渡された次の米
国特許にも含まれている。すなわち、第5,117,3
95号、ハシモトの「多段階メモリの付加メモリ段階に
共通制御信号を与えるための拡張可能なFIFOメモ
リ」、1992年5月26日発行、第4,933,90
1号、タイ(Tai)とチウ(Chiu)の「時間的に
接近して受信した読取りおよび書込み要求に優先度を与
える方法」、1990年6月12日発行、第4,81
5,039号、タイとチウの「高速実時間アービタ
ー」、1989年3月21日発行、第4,882,71
0号、ハシモト他の「ダイナミックメモリ要素を含むF
IFOメモリ」、1989年11月21日発行、更にテ
キサス・インスツルメンツ社に譲渡された米国特許第
4,868,784号、マーシャル他の「単一ポートア
ドレスを備える多チャンネル直列ポートを持つマイクロ
コンピュータ」、1989年8月19日発行は、データ
送信を容易にするためにマイクロコンピュータの直列ポ
ートにFIFOメモリを組み込んでいる。
Oメモリに重要な貢献をしているが、更に改善が望まれ
る。例えば、FIFOの動作周波数が増加すれば有益で
ある。これによりFIFOメモリからのデータ出力がよ
り速くなる。書込み/読取り動作を行うときは、各ビッ
トにアドレスする必要がないことが望ましい。これによ
りFIFOのアドレスポインタの数が減り、チップの面
積が節約になる。
の利点は、以下の説明と図面を参照すれば、この分野の
技術者には明らかである。
して、メモリ配列に読取りフレームバッファと書込みフ
レームバッファを備えることにより、直列から並列へ、
また並列から直列へのデータ変換を行う。直列入力デー
タを、nビットの固定幅の書込みフレームに一時的に記
憶する。次に記憶された直列入力データの全nビット幅
のフレームを一度に並列にRAMに書き込む。RAMか
ら並列に読み出されるデータを読取りフレームに一時的
に記憶し、その後でFIFO出力に直列に出す。この構
造により、nクロックサイクルに1度しかRAMにアク
セスしないので動作の周波数が速くなり、FIFOの入
力と出力にそれぞれ書込みおよび読取りを直列に行って
いる間にRAMに並列にアクセスすることができる。
ので全体のチップ面積が減る。直列入力を並列入力に変
換することにより、RAMにデータを直列に書き込む場
合とは異なり、RAMに個々にアドレスする必要がな
い。この構造により、1語が単に1ビット幅である1ビ
ット幅FIFOを得ることができる。読取りフレームバ
ッファが直列データ入力に結合されるので、FIFOに
書き込まれるデータを直ちに出力することができる。従
って読取りフレームバッファはキャッシュとして機能
し、メモリをバイパスする。更に、読取りフレームバッ
フアは書込みフレームバッファに結合しているので、改
善された読取り/書込みフローコントローラにより、読
取りフレームは書込みフレームから埋め戻したデータを
受けることができる。
に説明する前に、まず本発明を適用できるデータ送信シ
ステムの例を図1に示す。データ送信システム2は、第
1送信装置6を第2送信装置8に結合するユニークなメ
モリバッファ4を備える。以下により詳細に説明するよ
うに、メモリバッファ4は、直列から並列へまた並列か
ら直列への変換を実現できる新規な、ランダムアクセス
メモリ(RAM)ベースの先入れ先出し(FIFO)メ
モリ構造を備える。
ビットを書込みフレームバッファに直列に入力し、バッ
ファが一杯になるまでデータをデータラッチに一時的に
記憶する。バッファが一杯になると各ビットをメモリ配
列に並列に書き込むので、直列から並列に変換される。
メモリバッファ4から読み取るときは、メモリ配列の、
ある数のビットに並列にアクセスして読取りフレームバ
ッファに入力し、その後直列にクロックアウトするまで
データラッチに一時的に記憶する。このようにして、並
列から直列への変換を行う。このような構造は、データ
語が単に1ビット幅の1ビット幅FIFOを提供する。
プロセッサなどの高速の装置でよく、データ送信装置8
はブラウン管(CRT)などの低速の装置でよい。デー
タ送信は、高速装置6から低速装置8に向かって行われ
る。データプロセッサ6は、CRT端末8が読み取る速
度よりはるかに高速でメモリバッファ4にデータを書き
込むことができる。データプロセッサの送信速度は毎秒
約9600ビットであり、CRT8などの代表的な周辺
要素の送信速度はわずかに毎秒約1200ビットであ
る。
E CLK信号線12は、送信装置6をメモリバッファ
4に接続する。データ入力10は1ビット幅で、送信装
置6からメモリバッファ4内の記憶場所にデータを直列
に送信する。送信装置6からの書込み命令は、WRIT
E CLK信号線12に現れ、データ入力10で送信さ
れる各語に同伴する。データ出力16とREAD CL
K信号線18は、送信装置8をメモリバッファ4に接続
する。データ出力16は1ビット幅で、READ CL
K信号線18に現れる読取り命令に従って、メモリバッ
ファ4内の記億場所からデータ送信装置8にデータを直
列に送信する。
TUS/FやREAD STATUS/Eなどの、デー
タ送信システムに含まれる一般的な他の信号線を示す。
望ましい実施態様では、メモリバッファ4は先入れ先出
しFIFOメモリである。この型のメモリは、使えるメ
モリ空間がどのくらい、例えば一杯、空、半分など、残
っているかを示すフラグを一般に含む。
構造の望ましい実施態様を示す。以下に詳細に説明する
ように、図2に示す基本構造は、16ビット幅の書込み
フレームセル30と16ビット幅の読取りフレームセル
40を備える、8ビット幅のメモリ構成22を示す。こ
の構造により、メモリ4は256x1すなわち1ビット
幅FIFOとして機能することができる。図2は「高水
準」図であって、FIFOメモリの全ての電気的略図を
示すものではないことに注意されたい。FIFO内にあ
るいくつかの装置、例えばフラグ回路や読取り/書込み
制御回路などは、簡単のために図2には示していない。
の構造をまず説明し、次に図2に示す各種の装置の構造
/機能を説明する。その次に、構造の重要な操作の特徴
を機能的に説明する。
書込みアドレスバス17はRAM22に接続される。こ
の分野の技術者にはすぐ分かるように、読取りおよび書
込みシーケンシャルアドレスは、従来からFIFO内の
フラグから内部で発生する。RAM22は、この例では
8ビット幅のN語の深さのスタティック・ランダムアク
セスメモリ配列であって、従って8ビットのデータ入力
DIN24と8ビットのデータ出力QOUT26を備え
る。データ入力DIN24は、マルチプレクサ28を通
して書込みフレームセル30に接続する。データ出力Q
OUT26は読取りフレームセル40に接続する。デー
タは書込みフレームセル30からRAM22に入力し
(書き込み)、データはRAM22から読取りフレーム
セル40に出力する(読み取る)。
する。書込みフレームセル30は、書込みトグル制御3
2、書込みアドレスデコーダ34、書込みフレーム30
A、書込みフレーム30Bを備える。書込みクロック信
号WRITE CLK120は書込みトグル制御32に
入力し、また書込みフレーム30Aと32Bに入力す
る。WRITE CLK信号120は、図1のWRIT
E CLK信号12から得られる。WRITE CLK
信号120は(図2を簡単にし明確にするために)、図
3−図7に示す読取り/書込みフロー制御回路により生
成される各種の信号の複合信号を表す。(米国出願番号
07/966,122のウオード・ヘラインの同時継続
および同時譲渡出願も、WRITE CLK信号120
を発生するのに適した別の読取り/書込み制御回路を開
示している。)書込みアドレスバス17は書込みアドレ
スデコーダ34に入る。直列データ入力10は書込みフ
レーム30Aと30Bに入力する。
て、書込みアドレスデコーダ34はバス36により書込
みフレーム30Aに接続し、バス38により書込みフレ
ーム30Bに接続する。バス36と38は読取りフレー
ムセル40に接続する。更にバス36とバス38からの
1ビットは、書込みトグル制御32に接続する。書込み
トグル制御32は、書込みフレーム30Aのための書込
み可能信号WENAと、書込みフレーム30Bのための
書込み可能信号WENBを発生する。書込み可能信号W
ENAとWENBは、更に読取りフレームセル40に入
力する。データは書込みフレーム30Aからバス31を
通してマルチプレクサ28に出力する。同様にデータは
書込みフレーム30Bからバス33を通してマルチプレ
クサ28に出力する。バス31と33は、更に読取りフ
レームセル40に接続する。マルチプレクサ28はデー
タ入力端子DIN24を通してデータをRAM22に入
力する。
て、読取りフレームセル40は読取りトグル制御42、
読取りアドレスデコーダ44、読取りフレーム40A、
読取りフレーム40B、マルチプレクサ46A、マルチ
プレクサ46B、マルチプレクサ48を備える。読取り
クロック信号READ CLK180は読取りトグル制
御42に入力し、更に読取りフレーム40Aと40Bに
入力する。WRITECLK信号120と同様に、RE
AD CLK信号180は図1のREADCLK18か
ら得られ、図3−図7に示す読取り/書込みフロー制御
回路により生成される各種の信号の複合信号を表す。W
RITE CLK120は更に読取りフレーム40Aと
40Bに入力する。読取りアドレスバス15は読取りア
ドレスデコーダ44に入力する。直列データ入力10は
読取りフレーム40Aと40Bに接続する。
りトグル制御42は、読取りフレーム40Aのための読
取り可能信号RENAと、読取りフレーム40Bのため
の読取り可能信号RENBを発生する。読取りフレーム
40Aは書込みフレームセル30の書込みトグル制御3
2から書込み可能信号WENAを受ける。更に読取りフ
レーム40Aは、それぞれ書込みフレーム30Aと書込
みアドレスデコーダ34からのバス31と36に接続す
る。データは読取りフレーム40Aからバス41を通し
てマルチプレクサ46Aに読み取る。読取りフレーム4
0Bは、書込みフレームセル30の書込みトグル制御3
2から書込み可能信号WENBを受ける。更に読取りフ
レーム40Bは、それぞれ書込みフレームセル30Bと
書込みアドレスデコーダ34からのバス33と38に接
続する。データは読取りフレーム40Bからバス43を
通してマルチプレクサ46Bに読み取る。データはRA
M22からデータ出力端子QOUT26を通して読取り
フレーム40Aと40Bに読み取る。
て、読取りアドレスデコーダ44はバス45によりマル
チプレクサ46Aに接続し、バス47によりマルチプレ
クサ46Bに接続する。更にバス45とバス47からの
1ビットは、読取りトグル制御42に接続する。バス5
0は、マルチプレクサ46Aの出力をマルチプレクサ4
8に接続する。バス51は、マルチプレクサ46Bの出
力をマルチプレクサ48に接続する。マルチプレクサ4
8の出力はバス52によりデータラッチ53に接続す
る。FIFOメモリバッファ4の直列データ出力16は
データラッチ53から取る。
1の複合信号WRITE CLK120とREAD C
LK180を発生する読取り/書込みフローコントロー
ラ(簡単のために図2には図示せず)を、図3−図7を
参照してまず説明する。読取り/書込みフローコントロ
ーラの以下の説明において、同様なフローコントローラ
の詳細な説明が発明者ウオード他の、これもテキサス・
インスツルメンツ社に譲渡された米国特許第5,24
9,154号にあるので、メモリバッファ4に含まれる
読取り/書込みフローコントローラ13の詳細な説明は
省く。しかし読取り/書込みフローコントローラ13
は、米国特許第5,249,154号に記述されている
フローコントローラよりも優れていることに注目された
い。これは、回路130を追加したために、後で説明す
るように、メモリバッファ4は「埋め戻し」と呼ぶ動作
によりデータの部分フレームを取り扱うことができるか
らである。
み制御回路の一部である読取り/書込みフローコントロ
ーラ13の部分的な詳細図である。フローコントローラ
13は、外部READ CLK18、外部WRITE
CLK12、各種の内部で発生する状態フラグ信号を受
ける。これらの信号に応答して、フローコントローラ1
3はメモリバッファ内のタイミングを管理する信号W
B、RBP、RCK、RB、P1、FALLA、FAL
L_Fを生成する。信号RBは、全8ビット語をRAM
22から読み取ったかどうかを示す。信号RBPは、フ
ラグを増分する読取りクロックである。信号RCKは遅
れたRBP信号で、アドレス指定を増分するのに用いら
れる。
ロードし、RAM22へのアドレス指定を増分する。信
号P1は、フォールスルー信号FALLAを妨げる。信
号FALLAはラッチング信号で、直列入力10のデー
タを読取りフレーム40内のセルにラッチする。信号F
ALL_Fは後で説明する「埋め戻し」操作に用いる。
図1にこれらの信号を個々に示すと非常に複雑になるの
で、これらの信号を適当にグループ化して、図1では二
つの複合信号READ CLK18とWRITE CL
K12として示した。しかし、フローコントローラ13
が生成する個々の信号は、図9、10−11に図示し
た。
13に関して、読取り/書込みフローコントローラ13
は、データが一般にどこから来るか、データが一般にど
こに行くかを基本的に決定する。WRITE CLK1
2にWRITEが発生すると、フローコントローラ13
はそのままWRITE CLK120を発生する。これ
により書込みトグル制御32は受けた第8クロック信号
でトグルし、フローコントローラ13は書込みアドレス
バス17にアドレス増分を発生する。同様に、READ
CLK18にREADが発生すると、フローコントロ
ーラはREADCLK180を出し、これにより読取り
トグル制御42は受けた第8クロック信号でトグルし、
フローコントローラ13は読取りアドレスバス15にア
ドレス増分を発生する。
説明する。図8は、読取りトグル制御回路42を示す。
読取りトグル制御回路42は、交差結合S,Rラッチ4
10と、1対のD型フリップフロップ420と430を
備える。交差結合ラッチ410は、バス45とバス47
からそれぞれ1ビットを入力として受ける。READC
LK180はフリップフロップ420と430をクロッ
クする。この回路は、読取りフレームセル40が読取り
フレーム40Aと読取りフレーム40Bの間を飛ぶすな
わちトグルするための二つの読取り可能信号RENAと
RENBを生成する。例えば、読取りフレーム40Aに
すでに8ビットがあり、RAM22に全8ビット語があ
る場合、ビット1−8が読取りフレーム40Aから直列
に読み出される。第8READ CLK180で、RA
M22から全8ビット語が読取りフレーム40Bに並列
に読み取られ、このフレームは出力へのデータの読み取
りが可能になり、データは次のクロックで直列に読み出
される。
読取りクロックでRAM22に全語があれば、反対側の
フレーム40Aに並列に読み取られ、直列読取り制御が
これにトグルする。この操作は、メモリRAM22に全
8ビット語がある間続く。8ビットより少ない部分語で
は、メモリRAM22からの書込みも読取りも起こらな
い。RAM22に全8ビット語が存在しないと、FIF
Oは空であるかまたは部分フレームを(書込みフレーム
30Aまたは30Bに)書き込み中であり、これらのビ
ットはバス33と31を使って1つずつ転送される。
トグル制御回路42と同じ構造なので、論理の詳細は示
さない。しかし回路32はWRITE CLK信号12
0でクロックされ、それそれ1ビットとしてバス36と
バス38から受ける。この回路は、書込みフレーム30
を書込みフレーム30Aと書込みフレーム30Bの間で
飛ばしてすなわちトグルして、いくつかのビットをRA
M22に書き込むまで記憶するための、二つの書込み可
能信号WENAとWENBを生成する。データをRAM
22に書き込むとき、WENAは書込みフレーム30A
を使用可能にして、8ビットを書込みフレーム30Aに
順次に書き込む。第8ビットを書込みフレーム30Aに
書き込むと、書込みトグル制御32はWENAを使用不
能にし、信号WENBを使用可能にする。その結果書込
みフレーム30Bは次の8ビットを受けることができ
る。
細を示す。(読取りフレーム40Bは同じ構造なので図
は省略する。)読取りフレーム40Aは一連の0から7
のデータラッチ、レジスタである。これらのラッチは動
作条件に従って、三つの異なる入力源からデータを得て
よい。フローコントローラ13からの信号RB、FAL
LA、FALL_Fと、書込みトグル制御32および読
取りトグル制御42からのそれぞれの信号WENAおよ
びRENAにより、データラッチは使用可能になり、適
当にクロックされて適当な入力からデータを受ける。
タラッチのデータ入力D2に接続する。メモリバッファ
4が空に近いときは、読取りフレーム40Aは直列デー
タ入力10を通してバッファの入力パッドから直接デー
タを得てよい。この型の条件では、直列に受ける最初の
16ビット(8ビットは読取りフレーム40Aが受け、
8ビットは読取りフレーム40Bが受ける)は、データ
ラッチ53の出力レジスタにプレロードされるので、各
ビットはすぐ出力することができる。従って直列データ
出力ポートが与えられる。
データラッチのデータ入力D1に接続するバス26を通
してRAM22から来るデータである。これは全8ビッ
ト並列入力を読取りフレーム40Aに与える。読取りフ
レーム40Aへの第3の入力は、データラッチのデータ
入力D3に接続するバス31を通して書込みフレーム3
0Aから来るデータである。(書込みフレーム30Aも
8ビット幅である。)ラッチ0−7のデータ出力Qはバ
ス41に接続しているので、出力データはマルチプレク
サ46Aに与えられる。
細を示す。(書込みフレーム30Bは同じ構造なので図
は省略する。)書込みフレーム30Aは一組の0から7
のデータラッチ、レジスタを備える。直列データは、直
列データ入力10からDラッチ入力への接続によりラッ
チに書き込まれる。フローコントローラ13からの信号
WBと書込みコントローラ32からの信号WENAはラ
ッチからバス31へのデータをクロックし、バス36は
書込みアドレスデコーダ34によりデコーダされるアド
レスから適当な選択を行う。
タ34の諭理図である。(FIFO設計者はデコーダを
一般に「ポインタ」と呼ぶ。)3個のDフリップフロッ
プは「グレーコード」ビット情報を受けて、図示した別
の論理と共に3入力グレーコードデータを8ポインタ情
報の中の1つに変換する。この情報はバス36を通して
書込みフレーム30Aと読取りフレーム40Aに与えら
れ、バス38を通して書込みフレーム30Bと読取りフ
レーム40Bに与えられる。1992年1月28日発行
の、テキサス・インスツルメンツ社に譲渡された米国特
許第5,084,841号、発明者ウオード他の「グレ
ーコードを用いたプログラム可能な状態フラグ発生器F
IFO」は、グレーコードの発生に関して詳細に説明し
ている。
ない。これは書込みアドレスデコーダ回路34と同様な
構造である。
マルチプレクサ28は、7個のセルを備える2対1マル
チプレクサである。各セルは、図13に示すAOI(ア
ンド、オア、反転)標準データパイプラインである。バ
ス31と33は、書込みフレーム30Aと30Bからそ
れぞれマルチプレクサ28に8ビットを与える。書込み
動作中は書込みトグル制御32は信号WENAを使用可
能にし、これによりマルチプレクサ28は書込みフレー
ム30Aから最初の7ビットを与える。書込みフレーム
30Aからの第8ビットがバス31に来ると「フォール
スルー」するので、これと最初の7ビットがRAM22
にパイプされる(書き込まれる)。第8ビットは必ずし
も記憶する必要がないので、この方式はRAM22にデ
ータを速く入力することができる。データを書込みフレ
ーム30AからRAM22に書き込んだ後、書込みトグ
ル制御32は信号WENAを使用不能にし、信号WEN
Bをトグルするすなわち使用可能にするので書込みフレ
ーム30Bが使用可能になり、そのデータは同様にマル
チプレクサ28に与えられ、RAM22に書き込まれ
る。
対1マルチプレクサなので、詳細は図示しない。マルチ
プレクサ48は、図13に示すようにアンド、オア、反
転方式に作った1セルを備える2対1マルチプレクサな
ので、詳細は図示しない。マルチプレクサ48は1出力
を出してデータラッチ53に記憶する。データラッチ5
3は標準のデータパイプラインなので、これも詳細には
図示しない。
動作を以下に説明する。
ビット幅のメモリ構成である。(もちろん、メモリ構成
はより広くてもよい。)この構造は、16ビット幅の書
込みフレームセル30と、16ビット幅の読取りフレー
ムセル40を備える。16ビット幅の書込みフレームセ
ル30は2個の8ビット幅のフレーム30Aと30Bを
備える。書込みフレーム30Aと30Bは書込みアドレ
スデコーダ34からの1デコード信号によりアドレス
し、書込みトグル制御32からのトグル制御信号により
切り替える。全ての書込みフレームラッチに接続する直
列データ入力バス10を通して1ビットデータを書込み
フレーム30に直列に入力する。WRITE CLK1
20にWRITEが発生したときに、1ビットを書き込
むために、書込みフレーム30Aと30Bデータセルの
どちらかを選択する。
ビットをマルチプレクサ28で2対1に多重送信し、書
込みトグル制御32の選択に従って、書込みフレーム3
0Aまたは30BからRAM22に並列に書き込む。1
6ビット幅の読取りフレームセル40は、フレームの数
と大きさに関しては書込みフレーム30と同様である。
しかし、データはRAM22から読取りフレーム40に
8ビット幅の語で並列に与える。読取りフレーム40A
と40Bの出力は、読取りアドレスデコーダ44からの
デコードにより選択したマルチプレクサ46Aと46B
で8対1に多重送信する。更に読取りフレームの出力
は、読取りトグル制御42により選択したマルチプレク
サ48で2対1に多重送信し、その後データラッチ53
を通して直列に出力する。書込みフレームポインタ34
により選択したときは、データは更に直列データ入力1
0から読取りフレーム40に直列に書き込むことができ
る。また書込みフレームセル40は、読取りフレームポ
インタ44により選択した直列の「フォールスルー」を
行うことができる。
特にWRITE動作に関連して説明する。
最初書込みフレーム30に直列に書き込まれ、その後メ
モリ22に並列に書き込まれる。WRITE CLK1
2に外部のWRITE命令を受けると、フローコントロ
ーラ13はWRITE CLK120と書込みアドレス
バス17に書込みアドレス情報を発生する。WRITE
CLK120にバス36またはバス38からの1ビッ
トを加えることにより、書込みトグル制御32は使用可
能信号WENAまたはWENBを発生する。WENAを
発生したと仮定しよう。信号WENAは図10に示す論
理を通して、書込みフレーム30Aを形成するデータラ
ッチのクロック入力に接続する。
書込みアドレス情報をデコードして、この情報を書込み
フレーム30A内のデータラッチのクロック入力に入力
する。従って、WRITE CLK120信号毎にRE
ADとWRITEの間に16ビットより小さい差がある
と(すなわちほとんど空の条件)、直列入力データ10
にある入力ビットを書込みフレーム30Aの1つのフリ
ップフロップにロードする。深さの状態に従って、各ビ
ットを書込みフレーム30Aに順次ロードする。第8W
RITE CLK120信号で、フレーム内にラッチさ
れた前の7ビットを、直列入力データ10の第8ビット
と共に、バス31を通してRAM22に並列に転送す
る。
て、書込みフレーム30のための書込みアドレスデコー
ダ34からのアドレス情報を、書込みトグル制御32に
より、書込みフレーム30Aから使用可能信号WENB
を介して書込みフレーム30Bにトグルするので、デー
タ入力10のデータを引き続き書込みフレーム30B内
のデータラッチに直列に書き込む。書込みフレーム30
Bが一杯になると(8個のWRITE CLK120信
号の後)、書込みフレーム30B内のデータを8ビット
同時に(並列に)RAM22に書き込み、書込みトグル
制御32は信号WENBを使用不能にしまた信号WEN
Aを使用可能にして、制御を書込みフレーム30Aに戻
す。従ってWRITEでは、RAM22に書き込むのは
全8ビット語だけである。部分フレーム(8有効語より
少ない)は書き込まない。
特に読取り動作に関連して以下に説明する。
書込みトグル制御32と同様に機能して、読取りフレー
ム40Aと40Bがデータを出力できるようにする読取
り可能信号RENAとRENBを出す。従って以下の説
明では、図8を参照すればこの分野の技術者に容易に理
解できるような切替えの詳細は省略することを承知され
たい。
ト語だけである。FIFOメモリ4の状態に従って、デ
ータは読取りフレーム40Aと40Bに3入力の中の1
つから与えられる。第1は直列データ入力10からの直
列データ入力、第2はRAM22からの並列データ入
力、第3は書込みフレーム30からバス33と31を通
って入る並列データ入力である。
0へのデータ入力に関しては、この操作は本質的には書
込みフレーム30に情報を書き込む操作と同じであっ
て、書込みフレーム回路により制御される。書込みトグ
ル制御信号WENAおよびWENBと、バス36および
38を通る書込みアドレスデコーダ34からの情報と共
に、WRITE CLK信号120を読取りフレームセ
ル40に接続する。最初の16個のWRITE CLK
で、書込みフレーム30に書き込む直列データ入力10
からのデータビットを、読取りフレームバッファ40に
も直接書き込む。
個目の書込みでは、読取りフレーム40が一杯なので、
メモリバッファ4は直列データ入力10から読取りフレ
ーム40にそれ以上データを書き込まない。従って、図
1の装置8からの読取り要求と図1の装置6からの書込
み要求が16個のWRITE CLK120信号より大
きく離れていて、更に読取りフレーム40が一杯であれ
ば、メモリバッファ4は書込みフレーム40にそれ以上
書き込むことができない。しかし、読取りフレーム40
が記憶しているビット数が16より小さくてWRITE
命令が発生すると、そのビットを書込みポインタ34を
用いて読み取りフレーム40に直接書き込む。これによ
り、30A/30Bに書き込まれている部分フレーム
(例えば4ビットだけが書き込まれた後読取りが始まっ
た)はデータラッチ53に出力できる。RESET信号
を受けると、書込みアドレスポインタ34と書込みトグ
ル制御32を用いて、直列データ入力10にある最初の
16ビットを読取りフレーム40A/40Bに同様にし
て書き込む。
0へのデータ入力に関しては、書込みフレーム30は読
取りフレーム40が一杯のときにオーバーフローバッフ
ァとして機能し、またREADが発生しかつ読取りフレ
ーム40が一杯でないときは読取りフレーム40にデー
タを与える機能を持つ。読取りフレーム40が一杯でな
くすなわち読取りフレーム40が16ビットより少な
く、かつ図1の装置8がREADを発すると、書込みフ
レームセル30から十分なビットが読取りフレームの最
後の(空の)場所に「フォールスルーする」ので、これ
らの場所は出力することのできるデータで満たされる。
(データはメモリバッファ4から全8ビット語で出力さ
れることを思い出していただきたい。)追加のビットを
置くためのデータラッチが読取りフレーム40内になく
(読取りフレーム40が一杯)、かつメモリ22に送る
一杯になった書込みフレームもないという条件が起こっ
た場合は、書込みフレーム30は読取りフレーム40向
けのビットを保持する。
ム40も書込みフレーム30も共に空の場合がある。1
6個のWRITE CLKが起こると、上に説明したよ
うに16ビットを書込みフレーム30に書き込んだよう
に、読取りフレーム40に書き込むかも知れない。しか
し間にREAD CLKがなくて更に4個のWRITE
CLKが発生すると(全部で20個のWRITE C
LK)、読取りフレーム40は一杯になっているので、
直列データ入力バス10からの次のデータビットを書き
込むことができない。この4データビットは書込みフレ
ームセル30だけに存在し、読取りフレーム40のオー
バーフローとして機能する。しかし場所が空いたらこれ
らのビットを出力できるように、読取りフレームセル4
0に転送する必要がある。以下の説明では、「埋め戻
し」操作によりこのようなオーバーフローデータビット
を利用できるようにする方法を述べる。
行った後でREADが発生したと仮定する。メモリバッ
ファ4は読取りフレーム40内の空の場所をクロックア
ウトした、すなわち読取りフレーム40内の1つの場所
を空にした。しかし、読取りフレーム40の空のデータ
ラッチに戻さなければならない1ビットが存在する。す
なわち第17ビットを戻さなければならない。第17ビ
ットは二つの異なる場所、すなわち直列データ入力10
からまたは書込みフレーム30から来る可能性がある。
最後のWRITEとREADが近ければ、直列データ入
力10から来る可能性がある。最後のWRITEとRE
ADが近ければ、書込みフレーム30に行く直列データ
入力10のデータは、上に説明したように、読取りフレ
ーム40の空の場所に直接書き込まれる。しかし最後の
WRITEとREADがかなり、例えば約10から15
ナノ秒離れていれば、読取りフレーム40の空の場所
は、書込みフレーム30からのデータで「埋め戻し」操
作により満たすことができる。
いてREADが発生した場合はいつでも、それがよいデ
ータであってもなくても、読取りフレーム40は書込み
フレーム30からデータビットを得る。RAM22メモ
リREADが発生すると、メモリバッファ4はこのフレ
ーム(読取りフレーム)を正確なデータで置換する。そ
の差が32より大きければ、書込みフレーム30に書き
込み中のデータは埋め戻しに必要なデータではない。1
7から32の間であればデータはよいデータであるが、
32より大きいと埋め戻し中のデータはよいデータでは
ない(すなわちシーケンス外)。その理由は、差が32
すなわち2語より大きいと、READはRAM22から
とにかくデータを得ようとし、従って何らかの不正確な
埋め戻しデータを重ね書きしようとする。
タを入力することに関して、FIFO4に16より大き
い語が存在する場合は、RAM22から並列に全8ビッ
ト語をロードすることができる。読取りフレーム40は
書込みフレーム30と同じ原理で動作する。すなわち3
0A/40Aまたは30B/40Bの最後のビットが読
み取られると、全8ビットのメモリ語(利用可能であれ
ば)が反対側のフレームに入力される。8ビット語は次
のクロックの前に出力に行かなければならないが、読取
りビット線を次のクロックの前に完全に回復する必要は
ない。メモリ22は、少なくとも次の8クロック間は再
びアクセスされない。
示す読取り/書込みフローコントローラ13に関して説
明する。フローコントローラ13は、WRITE CL
K120、READ CLK180、読取りアドレスバ
ス15の読取りアドレス情報、書込みアドレスバス17
の書込みアドレス情報を与える他に、メモリバッファ4
の状態フラグを与える。
で、メモリバッファ4が読取りフレームの終わりに達し
たときは、次の8ビットをメモリから得るためのREA
Dが発生する。フローコントローラ13は、フレームの
最後のビットが書き込まれた(これにより語をメモリ2
2にロードする)後でその語のREADが発生する場合
を処理する。フローコントローラ13は、メモリ22に
全語が存在するかどうか、存在すればその語をメモリ2
2から取り出して出力53にロードするかどうかを、相
対的なタイミングに従って決定する。フローコントロー
ラ13は、メモリ22から全語を取り出さない場合は最
後のビットを出力にフォールスルーするので、この最後
のビットは読取りフレーム40で使用可能になる。
8ビットの中7ビットを読取りフレーム40にロードし
たときに、WRITE/READがほとんど同時に発生
した場合は、READとWRITEの相対的タイミング
に従って、フローコントローラ13は、WRITEの方
が先に発生した場合はメモリ22から全語を取り出して
読取りフレーム40にロードするか(すなわち、最初の
8ビットをメモリ内のデータで重ね書きするので同じデ
ータになる)、またはフローコントローラ13は、最後
のビットをデータ入力10から読取りフレーム40にフ
ォールスルーする。信号FALLAはメモリバッファ4
に、フォールスルーを行って直列データ入力から読取り
フレーム40にロードするよう指示する。フレームの最
後のビットを書き込んだ直後にREADが発生した場合
は、これは効果的である。データがまだメモリ22にな
い場合は、フローコントローラ13は直列データ入力1
0から読取りフレーム40にフォールスルーさせる。
ーコントローラ13には図7に示す回路130を追加し
ているので、米国特許第5,249,154号に記述さ
れているフローコントローラより改善されている。回路
130により、メモリバッファ4は前に説明した埋め戻
し操作を行って部分フレームのデータを処理することが
できる。回路130には2入力が入る。1つは空プラス
16を表すフラグEP16であり、他の1つはシステム
パッドクロック入力RD_SYS_ENである。回路1
30はシステムパッドクロック端をスキューさせる準安
定減少方式部分131を含み、埋め戻しラッチング信号
FALL_Fを発生する部分132を含む。この回路は
WRITEが16回より多く発生するのを検出し、第1
7ビットをWRTEまたはREADするときFALL_
Fを発生する。READが発生しかつ16ビットより大
きいときFALL_Fを発生する。
幅の固定幅(フレーム)を持つ一時記憶要素に直列に入
力し、次にRAMから全nビット幅のフレームで書込み
および読取りを行うことができる。RAMから並列に読
み取ったデータを、出力に直列に与える。これにより、
RAMはnクロックサイクルに一度だけアクセスされる
ので操作の周波数を速くすることができ、またFIFO
内のRAMは並列にアクセスし、FIFOの入力と出力
は直列にそれそれ書込みおよび読取りを行うことができ
る。
減らすことができる。従来のFIFOとは異なり、デー
タを直列に書込み中にRAMメモリ22にいちいちアド
レスする必要がない。このようにアドレスすると多数の
ポインタ(デコーダ)を必要とする。本発明の構造は、
直列入力を並列入力に変換することにより、アドレスの
回数を8分の1に減らす。
得ることを可能にする。メモリバッファ4は、語が単に
1ビット幅の実質的に256x1のFIFOである。
説明したが、この説明は制限的な意味に解釈してはなら
ない。この説明を参照すれば、この分野の技術者には本
発明には各種の他の実施態様が可能なことは明らかであ
る。従って特許請求の範囲は、本発明の真の範囲と精神
内にある実施態様のいかなる変形も含むものである。
る。 (1) 先入れ先出しメモリ装置であって、メモリ配列
と、前記メモリ配列に結合する読取りフレームバッファ
と、前記メモリ配列に結合し、また前記読取りフレーム
バッファに結合する書込みフレームバッファと、を備え
る先入れ先出しメモリ装置。
第1組のデータラッチと、第2組のデータラッチと、前
記第1組のデータラッチと前記第2組のデータラッチに
結合する書込みトグル制御回路と、を備える第1項記載
の先入れ先出しメモリ装置。 (3) 前記書込みフレームバッファは、前記第1組の
データラッチと前記第2組のデータラッチと前記書込み
トグル制御回路に結合する書込みアドレスデコーダを更
に備える、第2項記載の先入れ先出しメモリ装置。
へのデータ変換を行う先入れ先出し(FIFO)メモリ
装置であって、データを記憶するメモリ配列と、直列デ
ータ入力を受け、また前記受けた直列データ入力を前記
メモリ配列に並列に書き込むための書込みフレームバッ
ファと、前記メモリ配列から並列にデータ出力を受け、
また前記メモリ配列から受けた前記データ出力を直列に
出力し、また直列入力データを受けるための読取りフレ
ームバッファと、を備える先入れ先出しメモリ装置。 (5) 前記読取りフレームバッファは前記書込みフレ
ームバッファから埋め戻しデータを更に受ける、第4項
記載のFIFOメモリ装置。
IFO)であって、データをFIFOに転送するための
直列データ入力と、前記直列データ入力に結合して前記
転送されたデータを記憶するためのメモリと、前記メモ
リに結合して前記FIFOからデータを転送するための
直列データ出力とを備えるFIFOと、前記直列データ
入力と前記直列データ出力に結合し、前記メモリをバイ
パスすることにより前記FIFOを通して直列データを
転送するための記億装置と、を備えるキャッシュ直列F
IFO。 (7) 前記記憶装置はまた、前記メモリからデータを
転送するためのものである、第6項記載のキャッシュ直
列FIFO。
入力に結合しまた前記メモリに結合する書込みフレーム
バッファと、前記直列データ入力と、前記直列データ出
力と、前記メモリと、前記書込みフレームバッファに接
続し、更に前記書込みフレームバッファから埋め戻しデ
ータを受けるための読取りフレームバッファと、を備え
る第7項記載のキャッシュ直列FIFO。
へのデータ変換を行うFIFOメモリ(4)。読取りフ
レームバッファ(40)と書込みフレームバッファ(3
0)は、RAM配列(22)に結合する。直列入力デー
タを、nビット幅の固定幅の書込みフレーム(30)に
一時的に記憶する。次に記憶した直列入力データの全n
ビット幅フレームを、RAM配列(22)に一度に並列
に書き込む。RAM配列(22)から並列に読み取った
データを、読取りフレーム(40)に一時的に記憶した
後、FIFO出力(53)に直列に与える。直列入力を
並列入力に変換することにより必要なポインタの数が減
るので、全体のチップの大きさが減る。これは、データ
をRAMに直列に書き込むときにいちいちアドレスする
必要がないからである。読取りフレーム(40)は、書
込みフレーム(30)と前記直列入力データに結合す
る。これにより、FIFOに書き込んだデータはすぐに
利用可能になり、読取りフレーム(40)は書込みフレ
ーム(30)から埋め戻しデータを受けることができ
る。
のブロック図。
すブロック図。
の要部を示す論理図。
の要部を示す論理図。
の要部を示す論理図。
の要部を示す論理図。
の要部を示す論理図。
示す論理図。
示す論理図。
を示す論理図。
(ポインタ)34を示す論理図。
論理図。
アンド、オア、反転装置を示す電気的略図。
から並列へおよび並列から直列へ変換する構造
回路の分野であり、より詳しくは先入れ先出し(FIF
O)メモリに関する。
に、比較的高速で動作する計算機プロセッサと比較的低
速で動作する周辺装置の間のデータの転送に用いられ
る。FIFOメモリおよび関連する制御回路の例は、テ
キサス・インスツルメンツ社に譲渡されたウオード・ヘ
ライン(Ward,herein)およびケネス・L・
ウイリアムスの以下の米国特許に含まれている。すなわ
ち、第5,097,442号、「プログラム可能な深さ
の先入れ先出しメモリ」、1992年3月17日発行、
第5,084,841号、「グレーコードを用いたプロ
グラム可能な状態フラグ発生器FIFO」、1992年
1月28日発行、第4,864,543号、「多重メモ
リ状態フラグ発生のためのカウンタアドレスポインタを
備える先入れ先出しメモリ」、1989年9月5日発
行、第4,829,475号、「同時アドレス増分およ
びメモリ書込み操作のための方法と装置」、1989年
5月9日発行、第4,839,866号、「カスケード
可能な先入れ先出しメモリ」、1989年6月13日発
行。
は、テキサス・インスツルメンツ社に譲渡された次の米
国特許にも含まれている。すなわち、第5,117,3
95号、ハシモトの「多段階メモリの付加メモリ段階に
共通制御信号を与えるための拡張可能なFIFOメモ
リ」、1992年5月26日発行、第4,933,90
1号、タイ(Tai)とチウ(Chiu)の「時間的に
接近して受信した読取りおよび書込み要求に優先度を与
える方法」、1990年6月12日発行、第4,81
5,039号、タイとチウの「高速実時間アービタ
ー」、1989年3月21日発行、第4,882,71
0号、ハシモト他の「ダイナミックメモリ要素を含むF
IFOメモリ」、1989年11月21日発行。更にテ
キサス・インスツルメンツ社に譲渡された米国特許第
4,868,784号、マーシャル他の「単一ポートア
ドレスを備える多チャンネル直列ポートを持つマイクロ
コンピュータ」、1989年8月19日発行は、データ
送信を容易にするためにマイクロコンピュータの直列ポ
ートにFIFOメモリを組み込んでいる。
Oメモリに重要な貢献をしているが、更に改善が望まれ
る。例えば、FIFOの動作周波数が増加すれば有益で
ある。これによりFIFOメモリからのデータ出力がよ
り速くなる。書込み/読取り動作を行うときは、各ビッ
トにアドレスする必要がないことが望ましい。これによ
りFIFOのアドレスポインタの数が減り、チップの面
積が節約になる。
の利点は、以下の説明と図面を参照すれば、この分野の
技術者には明らかである。
して、メモリ配列に読取りフレームバッファと書込みフ
レームバッファを備えることにより、直列から並列へ、
また並列から直列へのデータ変換を行う。直列入力デー
タを、nビットの固定幅の書込みフレームに一時的に記
憶する。次に記憶された直列入力データの全nビット幅
のフレームを一度に並列にRAMに書き込む。RAMか
ら並列に読み出されるデータを読取りフレームに一時的
に記憶し、その後でFIFO出力に直列に出す。この構
造により、nクロックサイクルに1度しかRAMにアク
セスしないので動作の周波数が速くなり、FIFOの入
力と出力にそれぞれ書込みおよび読取りを直列に行って
いる間にRAMに並列にアクセスすることができる。
ので全体のチップ面積が減る。直列入力を並列入力に変
換することにより、RAMにデータを直列に書き込む場
合とは異なり、RAMに個々にアドレスする必要がな
い。この構造により、1語が単に1ビット幅である1ビ
ット幅FIFOを得ることができる。読取りフレームバ
ッファが直列データ入力に結合されるので、FIFOに
書き込まれるデータを直ちに出力することができる。従
って読取りフレームバッファはキャッシュとして機能
し、メモリをバイパスする。更に、読取りフレームバッ
ファは書込みフレームバッファに結合しているので、改
善された読取り/書込みフローコントローラにより、読
取りフレームは書込みフレームから埋め戻したデータを
受けることができる。
に説明する前に、まず本発明を適用できるデータ送信シ
ステムの例を図1に示す。データ送信システム2は、第
1送信装置6を第2送信装置8に結合するユニークなメ
モリバッファ4を備える。以下により詳細に説明するよ
うに、メモリバッファ4は、直列から並列へまた並列か
ら直列への変換を実現できる新規な、ランダムアクセス
メモリ(RAM)ベースの先入れ先出し(FIFO)メ
モリ構造を備える。
ビットを書込みフレームバッファに直列に入力し、バッ
ファが一杯になるまでデータをデータラッチに一時的に
記憶する。バッファが一杯になると各ビットをメモリ配
列に並列に書き込むので、直列から並列に変換される。
メモリバッファ4から読み取るときは、メモリ配列の、
ある数のビットに並列にアクセスして読取りフレームバ
ッファに入力し、その後直列にクロックアウトするまで
データラッチに一時的に記憶する。このようにして、並
列から直列への変換を行う。このような構造は、データ
語が単に1ビット幅の1ビット幅FIFOを提供する。
プロセッサなどの高速の装置でよく、データ送信装置8
はブラウン管(CRT)などの低速の装置でよい。デー
タ送信は、高速装置6から低速装置8に向かって行われ
る。データプロセッサ6は、CRT端末8が読み取る速
度よりはるかに高速でメモリバッファ4にデータを書き
込むことができる。データプロセッサの送信速度は毎秒
約9600ビットであり、CRT8などの代表的な周辺
要素の送信速度はわずかに毎秒約1200ビットであ
る。
E CLK信号線12は、送信装置6をメモリバッファ
4に接続する。データ入力10は1ビット幅で、送信装
置6からメモリバッファ4内の記憶場所にデータを直列
に送信する。送信装置6からの書込み命令は、WRIT
E CLK信号線12に現れ、データ入力10で送信さ
れる各語に同伴する。データ出力16とREAD CL
K信号線18は、送信装置8をメモリバッファ4に接続
する。データ出力16は1ビット幅で、READ CL
K信号線18に現れる読取り命令に従って、メモリバッ
ファ4内の記憶場所からデータ送信装置8にデータを直
列に送信する。
TUS/FやREAD STATUS/Eなどの、デー
タ送信システムに含まれる一般的な他の信号線を示す。
望ましい実施態様では、メモリバッファ4は先入れ先出
しFIFOメモリである。この型のメモリは、使えるメ
モリ空間がどのくらい、例えば一杯、空、半分など、残
っているかを示すフラグを一般に含む。
構造の望ましい実施態様を示す。以下に詳細に説明する
ように、図2に示す基本構造は、16ビット幅の書込み
フレームセル30と16ビット幅の読取りフレームセル
40を備える、8ビット幅のメモリ構成22を示す。こ
の構造により、メモリ4は256x1すなわち1ビット
幅FIFOとして機能することができる。図2は「高水
準」図であって、FIFOメモリの全ての電気的略図を
示すものではないことに注意されたい。FIFO内にあ
るいくつかの装置、例えばフラグ回路や読取り/書込み
制御回路などは、簡単のために図2には示していない。
の構造をまず説明し、次に図2に示す各種の装置の構造
/機能を説明する。その次に、構造の重要な操作の特徴
を機能的に説明する。
書込みアドレスバス17はRAM22に接続される。こ
の分野の技術者にはすぐ分かるように、読取りおよび書
込みシーケンシャルアドレスは、従来からFIFO内の
フラグから内部で発生する。RAM22は、この例では
8ビット幅のN語の深さのスタティック・ランダムアク
セスメモリ配列であって、従って8ビットのデータ入力
DIN24と8ビットのデータ出力QOUT26を備え
る。データ入力DIN24は、マルチプレクサ28を通
して書込みフレームゼル30に接続する。データ出力Q
OUT26は読取りフレームセル40に接続する。デー
タは書込みフレームセル30からRAM22に入力し
(書き込み)、データはRAM22から読取りフレーム
セル40に出力する(読み取る)。
する。書込みフレームセル30は、書込みトグル制御3
2、書込みアドレスデコーダ34、書込みフレーム30
A、書込みフレーム30Bを備える。書込みクロック信
号WRITE CLK120は書込みトグル制御32に
入力し、また書込みフレーム30Aと32Bに入力す
る。WRITE CLK信号120は、図1のWRIT
E CLK信号12から得られる。WRITE CLK
信号120は(図2を簡単にし明確にするために)、図
3−図7に示す読取り/書込みフロー制御回路により生
成される各種の信号の複合信号を表す。(米国出願番号
07/966,122のウオード・ヘラインの同時継続
および同時譲渡出願も、WRITE CLK信号120
を発生するのに適した別の読取り/書込み制御回路を開
示している。)書込みアドレスバス17は書込みアドレ
スデコーダ34に入る。直列データ入力10は書込みフ
レーム30Aと30Bに入力する。
て、書込みアドレスデコーダ34はバス36により書込
みフレーム30Aに接続し、バス38により書込みフレ
ーム30Bに接続する。バス36と38は読取りフレー
ムセル40に接続する。更にバス36とバス38からの
1ビットは、書込みトグル制御32に接続する。書込み
トグル制御32は、書込みフレーム30Aのための書込
み可能信号WENAと、書込みフレーム30Bのための
書込み可能信号WENBを発生する。書込み可能信号W
ENAとWENBは、更に読取りフレームセル40に入
力する。データは書込みフレーム30Aからバス31を
通してマルチプレクサ28に出力する。同様にデータは
書込みフレーム30Bからバス33を通してマルチプレ
クサ28に出力する。バス31と33は、更に読取りフ
レームセル40に接続する。マルチプレクサ28はデー
タ入力端子DIN24を通してデータをRAM22に入
力する。
て、読取りフレームセル40は読取りトグル制御42、
読取りアドレスデコーダ44、読取りフレーム40A、
読取りフレーム40B、マルチプレクサ46A、マルチ
プレクサ46B、マルチプレクサ48を備える。読取り
クロック信号READ CLK180は読取りトグル制
御42に入力し、更に読取りフレーム40Aと40Bに
入力する。WRITECLK信号120と同様に、RE
AD CLK信号180は図1のREADCLK18か
ら得られ、図3−図7に示す読取り/書込みフロー制御
回路により生成される各種の信号の複合信号を表す。W
RITE CLK120は更に読取りフレーム40Aと
40Bに入力する。読取りアドレスバス15は読取りア
ドレスデコーダ44に入力する。直列データ入力10は
読取りフレーム40Aと40Bに接続する。
りトグル制御42は、読取りフレーム40Aのための読
取り可能信号RENAと、読取りフレーム40Bのため
の読取り可能信号RENBを発生する。読取りフレーム
40Aは書込みフレームセル30の書込みトグル制御3
2から書込み可能信号WENAを受ける。更に読取りフ
レーム40Aは、それぞれ書込みフレーム30Aと書込
みアドレスデコーダ34からのバス31と36に接続す
る。データは読取りフレーム40Aからバス41を通し
てマルチプレクサ46Aに読み取る。読取りフレーム4
0Bは、書込みフレームセル30の書込みトグル制御3
2から書込み可能信号WENBを受ける。更に読取りフ
レーム40Bは、それぞれ書込みフレームセル30Bと
書込みアドレスデコーダ34からのバス33と38に接
続する。データは読取りフレーム40Bからバス43を
通してマルチプレクサ46Bに読み取る。データはRA
M22からデータ出力端子QOUT26を通して読取り
フレーム40Aと40Bに読み取る。
て、読取りアドレスデコーダ44はバス45によりマル
チプレクサ46Aに接続し、バス47によりマルチプレ
クサ46Bに接続する。更にバス45とバス47からの
1ビットは、読取りトグル制御42に接続する。バス5
0は、マルチプレクサ46Aの出力をマルチプレクサ4
8に接続する。バス51は、マルチプレクサ46Bの出
力をマルチプレクサ48に接続する。マルチプレクサ4
8の出力はバス52によりデータラッチ53に接続す
る。FIFOメモリバッファ4の直列データ出力16は
データラッチ53から取る。
1の複合信号WRITE CLK120とREAD C
LK180を発生する読取り/書込みフローコントロー
ラ(簡単のために図2には図示せず)を、図3−図7を
参照してまず説明する。読取り/書込みフローコントロ
ーラの以下の説明において、同様なフローコントローラ
の詳細な説明が発明者ウオード他の、これもテキサス・
インスツルメンツ社に譲渡された米国特許第5,24
9,154号にあるので、メモリバッファ4に含まれる
読取り/書込みフローコントローラ13の詳細な説明は
省く。しかし読取り/書込みフローコントローラ13
は、米国特許第5,249,154号に記述されている
フローコントローラよりも優れていることに注目された
い。これは、回路130を追加したために、後で説明す
るように、メモリバッファ4は「埋め戻し」と呼ぶ動作
によりデータの部分フレームを取り扱うことができるか
らである。
み制御回路の一部である読取り/書込みフローコントロ
ーラ13の部分的な詳細図である。フローコントローラ
13は、外部READ CLK18、外部WRITE
CLK12、各種の内部で発生する状態フラグ信号を受
ける。これらの信号に応答して、フローコントローラ1
3はメモリバッファ内のタイミングを管理する信号W
B、RBP、RCK、RB、P1、FALLA、FAL
L Fを生成する。信号RBは、全8ビット語をRAM
22から読み取ったかどうかを示す。信号RBPは、フ
ラグを増分する読取りクロックである。信号RCKは遅
れたRBP信号で、アドレス指定を増分するのに用いら
れる。
ロードし、RAM22へのアドレス指定を増分する。信
号P1は、フォールスルー信号FALLAを妨げる。信
号FALLAはラッチング信号で、直列入力10のデー
タを読取りフレーム40内のセルにラッチする。信号F
ALL Fは後で説明する「埋め戻し」操作に用いる。
図1にこれらの信号を個々に示すと非常に複雑になるの
で、これらの信号を適当にグループ化して、図1では二
つの複合信号READ CLK18とWRITE CL
K12として示した。しかし、フローコントローラ13
が生成する個々の信号は、図9、10、11に図示し
た。
13に関して、読取り/書込みフローコントローラ13
は、データが一般にどこから来るか、データが一般にど
こに行くかを基本的に決定する。WRITE CLK1
2にWRITEが発生すると、フローコントローラ13
はそのままWRITE CLK120を発生する。これ
により書込みトグル制御32は受けた第8クロック信号
でトグルし、フローコントローラ13は書込みアドレス
バス17にアドレス増分を発生する。同様に、READ
CLK18にREADが発生すると、フローコントロ
ーラはREADCLK180を出し、これにより読取り
トグル制御42は受けた第8クロック信号でトグルし、
フローコントローラ13は読取りアドレスバス15にア
ドレス増分を発生する。
説明する。図8は、読取りトグル制御回路42を示す。
読取りトグル制御回路42は、交差結合S,Rラッチ4
10と、1対のD型フリップフロップ420と430を
備える。交差結合ラッチ410は、バス45とバス47
からそれぞれ1ビットを入力として受ける。READC
LK180はフリップフロップ420と430をクロッ
クする。この回路は、読取りフレームセル40が読取り
フレーム40Aと読取りフレーム40Bの間を飛ぶすな
わちトグルするための二つの読取り可能信号RENAと
RENBを生成する。例えば、読取りフレーム40Aに
すでに8ビットがあり、RAM22に全8ビット語があ
る場合、ビット1−8が読取りフレーム40Aから直列
に読み出される。第8READ CLK180で、RA
M22から全8ビット語が読取りフレーム40Bに並列
に読み取られ、このフレームは出力へのデータの読み取
りが可能になり、データは次のクロックで直列に読み出
される。
読取りクロックでRAM22に全語があれば、反対側の
フレーム40Aに並列に読み取られ、直列読取り制御が
これにトグルする。この操作は、メモリRAM22に全
8ビット語がある間続く。8ビットより少ない部分語で
は、メモリRAM22からの書込みも読取りも起こらな
い。RAM22に全8ビット語が存在しないと、FIF
Oは空であるかまたは部分フレームを(書込みフレーム
30Aまたは30Bに)書き込み中であり、これらのビ
ットはバス33と31を使って1つずつ転送される。
トグル制御回路42と同じ構造なので、論理の詳細は示
さない。しかし回路32はWRITE CLK信号12
0でクロックされ、それぞれ1ビットとしてバス36と
バス38から受ける。この回路は、書込みフレーム30
を書込みフレーム30Aと書込みフレーム30Bの間で
飛ばしてすなわちトグルして、いくつかのビットをRA
M22に書き込むまで記憶するための、二つの書込み可
能信号WENAとWENBを生成する。データをRAM
22に書き込むとき、WENAは書込みフレーム30A
を使用可能にして、8ビットを書込みフレーム30Aに
順次に書き込む。第8ビットを書込みフレーム30Aに
書き込むと、書込みトグル制御32はWENAを使用不
能にし、信号WENBを使用可能にする。その結果書込
みフレーム30Bは次の8ビットを受けることができ
る。
細を示す。(読取りフレーム40Bは同じ構造なので図
は省略する。)読取りフレーム40Aは一連の0から7
のデータラッチ、レジスタである。これらのラッチは動
作条件に従って、三つの異なる入力源からデータを得て
よい。フローコントローラ13からの信号RB、FAL
LA、FALL Fと、書込みトグル制御32および読
取りトグル制御42からのそれぞれの信号WENAおよ
びRENAにより、データラッチは使用可能になり、適
当にクロックされて適当な入力からデータを受ける。
タラッチのデータ入力D2に接続する。メモリバッファ
4が空に近いときは、読取りフレーム40Aは直列デー
タ入力10を通してバッファの入力パッドから直接デー
タを得てよい。この型の条件では、直列に受ける最初の
16ビット(8ビットは読取りフレーム40Aが受け、
8ビットは読取りフレーム40Bが受ける)は、データ
ラッチ53の出力レジスタにプレロードされるので、各
ビットはすぐ出力することができる。従って直列データ
出力ポートが与えられる。
データラッチのデータ入力D1に接続するバス26を通
してRAM22から来るデータである。これは全8ビッ
ト並列入力を読取りフレーム40Aに与える。読取りフ
レーム40Aへの第3の入力は、データラッチのデータ
入力D3に接続するバス31を通して書込みフレーム3
0Aから来るデータである。(書込みフレーム30Aも
8ビット幅である。)ラッチ0−7のデータ出力Qはバ
ス41に接続しているので、出力データはマルチプレク
サ46Aに与えられる。
細を示す。(書込みフレーム30Bは同じ構造なので図
は省略する。)書込みフレーム30Aは一組の0から7
のデータラッチ、レジスタを備える。直列データは、直
列データ入力10からDラッチ入力への接続によりラッ
チに書き込まれる。フローコントローラ13からの信号
WBと書込みコントローラ32からの信号WENAはラ
ッチからバス31へのデータをクロックし、バス36は
書込みアドレスデコーダ34によりデコーダされるアド
レスから適当な選択を行う。
ンタ34の論理図である。(FIFO設計者はデコーダ
を一般に「ポインタ」と呼ぶ。)3個のDフリップフロ
ップは「グレーコード」ビット情報を受けて、図示した
別の論理と共に3入力グレーコードデータを8ポインタ
情報の中の1つに変換する。この情報はバス36を通し
て書込みフレーム30Aと読取りフレーム40Aに与え
られ、バス38を通して書込みフレーム30Bと読取り
フレーム40Bに与えられる。1992年1月28日発
行の、テキサス・インスツルメンツ社に譲渡された米国
特許第5,084,841号、発明者ウオード他の「グ
レーコードを用いたプログラム可能な状態フラグ発生器
FIFO」は、グレーコードの発生に関して詳細に説明
している。
ない。これは書込みアドレスデコーダ回路34と同様な
構造である。
マルチプレクサ28は、7個のセルを備える2対1マル
チプレクサである。各セルは、図13に示すAOI(ア
ンド、オア、反転)標準データパイプラインである。バ
ス31と33は、書込みフレーム30Aと30Bからそ
れぞれマルチプレクサ28に8ビットを与える。書込み
動作中は書込みトグル制御32は信号WENAを使用可
能にし、これによりマルチプレクサ28は書込みフレー
ム30Aから最初の7ビットを与える。書込みフレーム
30Aからの第8ビットがバス31に来ると「フォール
スルー」するので、これと最初の7ビットがRAM22
にパイプされる(書き込まれる)。第8ビットは必ずし
も記憶する必要がないので、この方式はRAM22にデ
ータを速く入力することができる。データを書込みフレ
ーム30AからRAM22に書き込んだ後、書込みトグ
ル制御32は信号WENAを使用不能にし、信号WEN
Bをトグルするすなわち使用可能にするので書込みフレ
ーム30Bが使用可能になり、そのデータは同様にマル
チプレクサ28に与えられ、RAM22に書き込まれ
る。
対1マルチプレクサなので、詳細は図示しない。マルチ
プレクサ48は、図13に示すようにアンド、オア、反
転方式に作った1セルを備える2対1マルチプレクサな
ので、詳細は図示しない。マルチプレクサ48は1出力
を出してデータラッチ53に記憶する。データラッチ5
3は標準のデータパイプラインなので、これも詳細には
図示しない。
動作を以下に説明する。
ビット幅のメモリ構成である。(もちろん、メモリ構成
はより広くてもよい。)この構造は、16ビット幅の書
込みフレームセル30と、16ビット幅の読取りフレー
ムセル40を備える。16ビット幅の書込みフレームセ
ル30は2個の8ビット幅のフレーム30Aと30Bを
備える。書込みフレーム30Aと30Bは書込みアドレ
スデコーダ34からの1デコード信号によりアドレス
し、書込みトグル制御32からのトグル制御信号により
切り替える。全ての書込みフレームラッチに接続する直
列データ入力バス10を通して1ビットデータを書込み
フレーム30に直列に入力する。WRITE CLK1
20にWRITEが発生したときに、1ビットを書き込
むために、書込みフレーム30Aと30Bデータセルの
どちらかを選択する。
ビットをマルチプレクサ28で2対1に多重送信し、書
込みトグル制御32の選択に従って、書込みフレーム3
0Aまたは30BからRAM22に並列に書き込む。1
6ビット幅の読取りフレームセル40は、フレームの数
と大きさに関しては書込みフレーム30と同様である。
しかし、データはRAM22から読取りフレーム40に
8ビット幅の語で並列に与える。読取りフレーム40A
と40Bの出力は、読取りアドレスデコーダ44からの
デコードにより選択したマルチプレクサ46Aと46B
で8対1に多重送信する。更に読取りフレームの出力
は、読取りトグル制御42により選択したマルチプレク
サ48で2対1に多重送信し、その後データラッチ53
を通して直列に出力する。書込みフレームポインタ34
により選択したときは、データは更に直列データ入力1
0から読取りフレーム40に直列に書き込むことができ
る。また書込みフレームセル40は、読取りフレームポ
インタ44により選択した直列の「フォールスルー」を
行うことができる。
特にWRITE動作に関連して説明する。
最初書込みフレーム30に直列に書き込まれ、その後メ
モリ22に並列に書き込まれる。WRITE CLK1
2に外部のWRITE命令を受けると、フローコントロ
ーラ13はWRITE CLK120と書込みアドレス
バス17に書込みアドレス情報を発生する。WRITE
CLK120にバス36またはバス38からの1ビッ
トを加えることにより、書込みトグル制御32は使用可
能信号WENAまたはWENBを発生する。WENAを
発生したと仮定しよう。信号WENAは図10に示す論
理を通して、書込みフレーム30Aを形成するデータラ
ッチのクロック入力に接続する。
書込みアドレス情報をデコードして、この情報を書込み
フレーム30A内のデータラッチのクロック入力に入力
する。従って、WRITE CLK120信号毎にRE
ADとWRITEの間に16ビットより小さい差がある
と(すなわちほとんど空の条件)、直列入力データ10
にある入力ビットを書込みフレーム30Aの1つのフリ
ップフロップにロードする。深さの状態に従って、各ビ
ットを書込みフレーム30Aに順次ロードする。第8W
RITE CLK120信号で、フレーム内にラッチさ
れた前の7ビットを、直列入力データ10の第8ビット
と共に、バス31を通してRAM22に並列に転送す
る。
て、書込みフレーム30のための書込みアドレスデコー
ダ34からのアドレス情報を、書込みトグル制御32に
より、書込みフレーム30Aから使用可能信号WENB
を介して書込みフレーム30Bにトグルするので、デー
タ入力10のデータを引き続き書込みフレーム30B内
のデータラッチに直列に書き込む。書込みフレーム30
Bが一杯になると(8個のWRITE CLK120信
号の後)、書込みフレーム30B内のデータを8ビット
同時に(並列に)RAM22に書き込み、書込みトグル
制御32は信号WENBを使用不能にしまた信号WEN
Aを使用可能にして、制御を書込みフレーム30Aに戻
す。従ってWRITEでは、RAM22に書き込むのは
全8ビット語だけである。部分フレーム(8有効語より
少ない)は書き込まない。
特に読取り動作に関連して以下に説明する。
書込みトグル制御32と同様に機能して、読取りフレー
ム40Aと40Bがデータを出力できるようにする読取
り可能信号RENAとRENBを出す。従って以下の説
明では、図8を参照すればこの分野の技術者に容易に理
解できるような切替えの詳細は省略することを承知され
たい。
ト語だけである。FIFOメモリ4の状態に従って、デ
ータは読取りフレーム40Aと40Bに3入力の中の1
つから与えられる。第1は直列データ入力10からの直
列データ入力、第2はRAM22からの並列データ入
力、第3は書込みフレーム30からバス33と31を通
って入る並列データ入力である。
0へのデータ入力に関しては、この操作は本質的には書
込みフレーム30に情報を書き込む操作と同じであっ
て、書込みフレーム回路により制御される。書込みトグ
ル制御信号WENAおよびWENBと、バス36および
38を通る書込みアドレスデコーダ34からの情報と共
に、WRITE CLK信号120を読取りフレームセ
ル40に接続する。最初の16個のWRITE CLK
で、書込みフレーム30に書き込む直列データ入力10
からのデータビットを、読取りフレームバッファ40に
も直接書き込む。
個目の書込みでは、読取りフレーム40が一杯なので、
メモリバッファ4は直列データ入力10から読取りフレ
ーム40にそれ以上データを書き込まない。従って、図
1の装置8からの読取り要求と図1の装置6からの書込
み要求が16個のWRITE CLK120信号より大
きく離れていて、更に読取りフレーム40が一杯であれ
ば、メモリバッファ4は書込みフレーム40にそれ以上
書き込むことができない。しかし、読取りフレーム40
が記憶しているビット数が16より小さくてWRITE
命令が発生すると、そのビットを書込みポインタ34を
用いて読み取りフレーム40に直接書き込む。これによ
り、30A/30Bに書き込まれている部分フレーム
(例えば4ビットだけが書き込まれた後読取りが始まっ
た)はデータラッチ53に出力できる。RESET信号
を受けると、書込みアドレスポインタ34と書込みトグ
ル制御32を用いて、直列データ入力10にある最初の
16ビットを読取りフレーム40A/40Bに同様にし
て書き込む。
0へのデータ入力に関しては、書込みフレーム30は読
取りフレーム40が一杯のときにオーバーフローバッフ
ァとして機能し、またREADが発生しかつ読取りフレ
ーム40が一杯でないときは読取りフレーム40にデー
タを与える機能を持つ。読取りフレーム40が一杯でな
くすなわち読取りフレーム40が16ビットより少な
く、かつ図1の装置8がREADを発すると、書込みフ
レームセル30から十分なビットが読取りフレームの最
後の(空の)場所に「フォールスルーする」ので、これ
らの場所は出力することのできるデータで満たされる。
(データはメモリバッファ4から全8ビット語で出力さ
れることを思い出していただきたい。)追加のビットを
置くためのデータラッチが読取りフレーム40内になく
(読取りフレーム40が一杯)、かつメモリ22に送る
一杯になった書込みフレームもないという条件が起こっ
た場合は、書込みフレーム30は読取りフレーム40向
けのビットを保持する。
ム40も書込みフレーム30も共に空の場合がある。1
6個のWRITE CLKが起こると、上に説明したよ
うに16ビットを書込みフレーム30に書き込んだよう
に、読取りフレーム40に書き込むかも知れない。しか
し間にREAD CLKがなくて更に4個のWRITE
CLKが発生すると(全部で20個のWRITE C
LK)、読取りフレーム40は一杯になっているので、
直列データ入力バス10からの次のデータビットを書き
込むことができない。この4データビットは書込みフレ
ームセル30だけに存在し、読取りフレーム40のオー
バーフローとして機能する。しかし場所が空いたらこれ
らのビットを出力できるように、読取りフレームセル4
0に転送する必要がある。以下の説明では、「埋め戻
し」操作によりこのようなオーバーフローデータビット
を利用できるようにする方法を述べる。
行った後でREADが発生したと仮定する。メモリバッ
ファ4は読取りフレーム40内の空の場所をクロックア
ウトした、すなわち読取りフレーム40内の1つの場所
を空にした。しかし、読取りフレーム40の空のデータ
ラッチに戻さなければならない1ビットが存在する。す
なわち第17ビットを戻さなければならない。第17ビ
ットは二つの異なる場所、すなわち直列データ入力10
からまたは書込みフレーム30から来る可能性がある。
最後のWRITEとREADが近ければ、直列データ入
力10から来る可能性がある。最後のWRITEとRE
ADが近ければ、書込みフレーム30に行く直列データ
入力10のデータは、上に説明したように、読取りフレ
ーム40の空の場所に直接書き込まれる。しかし最後の
WRITEとREADがかなり、例えば約10から15
ナノ秒離れていれば、読取りフレーム40の空の場所
は、書込みフレーム30からのデータで「埋め戻し」操
作により満たすことができる。
いてREADが発生した場合はいつでも、それがよいデ
ータであってもなくても、読取りフレーム40は書込み
フレーム30からデータビットを得る。RAM22メモ
リREADが発生すると、メモリバッファ4はこのフレ
ーム(読取りフレーム)を正確なデータで置換する。そ
の差が32より大きければ、書込みフレーム30に書き
込み中のデータは埋め戻しに必要なデータではない。1
7から32の間であればデータはよいデータであるが、
32より大きいと埋め戻し中のデータはよいデータでは
ない(すなわちシーケンス外)。その理由は、差が32
すなわち2語より大きいと、READはRAM22から
とにかくデータを得ようとし、従って何らかの不正確な
埋め戻しデータを重ね書きしようとする。
タを入力することに関して、FIFO4に16より大き
い語が存在する場合は、RAM22から並列に全8ビッ
ト語をロードすることができる。読取りフレーム40は
書込みフレーム30と同じ原理で動作する。すなわち3
0A/40Aまたは30B/40Bの最後のビットが読
み取られると、全8ビットのメモリ語(利用可能であれ
ば)が反対側のフレームに入力される。8ビット語は次
のクロックの前に出力に行かなければならないが、読取
りビット線を次のクロックの前に完全に回復する必要は
ない。メモリ22は、少なくとも次の8クロック間は再
びアクセスされない。
示す読取り/書込みフローコントローラ13に関して説
明する。フローコントローラ13は、WRITE CL
K120、READ CLK180、読取りアドレスバ
ス15の読取りアドレス情報、書込みアドレスバス17
の書込みアドレス情報を与える他に、メモリバッファ4
の状態フラグを与える。
で、メモリバッファ4が読取りフレームの終わりに達し
たときは、次の8ビットをメモリから得るためのREA
Dが発生する。フローコントローラ13は、フレームの
最後のビットが書き込まれた(これにより語をメモリ2
2にロードする)後でその語のREADが発生する場合
を処理する。フローコントローラ13は、メモリ22に
全語が存在するかどうか、存在すればその語をメモリ2
2から取り出して出力53にロードするかどうかを、相
対的なタイミングに従って決定する。フローコントロー
ラ13は、メモリ22から全語を取り出さない場合は最
後のビットを出力にフォールスルーするので、この最後
のビットは読取りフレーム40で使用可能になる。
8ビットの中7ビットを読取りフレーム40にロードし
たときに、WRITE/READがほとんど同時に発生
した場合は、READとWRITEの相対的タイミング
に従って、フローコントローラ13は、WRITEの方
が先に発生した場合はメモリ22から全語を取り出して
読取りフレーム40にロードするか(すなわち、最初の
8ビットをメモリ内のデータで重ね書きするので同じデ
ータになる)、またはフローコントローラ13は、最後
のビットをデータ入力10から読取りフレーム40にフ
ォールスルーする。信号FALLAはメモリバッファ4
に、フォールスルーを行って直列データ入力から読取り
フレーム40にロードするよう指示する。フレームの最
後のビットを書き込んだ直後にREADが発生した場合
は、これは効果的である。データがまだメモリ22にな
い場合は、フローコントローラ13は直列データ入力1
0から読取りフレーム40にフォールスルーさせる。
ーコントローラ13には図7に示す回路130を追加し
ているので、米国特許第5,249,154号に記述さ
れているフローコントローラより改善されている。回路
130により、メモリバッファ4は前に説明した埋め戻
し操作を行って部分フレームのデータを処理することが
できる。回路130には2入力が入る。1つは空プラス
16を表すフラグEP16であり、他の1つはシステム
パッドクロック入力RD SYS ENである。回路1
30はシステムパッドクロック端をスキューさせる準安
定減少方式部分131を含み、埋め戻しラッチング信号
FALL Fを発生する部分132を含む。この回路は
WRITEが16回より多く発生するのを検出し、第1
7ビットをWRTEまたはREADするときFALL
Fを発生する。READが発生しかつ16ビットより大
きいときFALL Fを発生する。
幅の固定幅(フレーム)を持つ一時記憶要素に直列に入
力し、次にRAMから全nビット幅のフレームで書込み
および読取りを行うことができる。RAMから並列に読
み取ったデータを、出力に直列に与える。これにより、
RAMはnクロックサイクルに一度だけアクセスされる
ので操作の周波数を速くすることができ、またFIFO
内のRAMは並列にアクセスし、FIFOの入力と出力
は直列にそれぞれ書込みおよび読取りを行うことができ
る。
減らすことができる。従来のFIFOとは異なり、デー
タを直列に書込み中にRAMメモリ22にいちいちアド
レスする必要がない。このようにアドレスすると多数の
ポインタ(デコーダ)を必要とする。本発明の構造は、
直列入力を並列入力に変換することにより、アドレスの
回数を8分の1に減らす。
得ることを可能にする。メモリバッファ4は、語が単に
1ビット幅の実質的に256x1のFIFOである。
説明したが、この説明は制限的な意味に解釈してはなら
ない。この説明を参照すれば、この分野の技術者には本
発明には各種の他の実施態様が可能なことは明らかであ
る。従って特許請求の範囲は、本発明の真の範囲と精神
内にある実施態様のいかなる変形も含むものである。
る。 (1) 先入れ先出しメモリ装置であって、メモリ配列
と、前記メモリ配列に結合する読取りフレームバッファ
と、前記メモリ配列に結合し、また前記読取りフレーム
バッファに結合する書込みフレームバッファと、を備え
る先入れ先出しメモリ装置。
第1組のデータラッチと、第2組のデータラッチと、前
記第1組のデータラッチと前記第2組のデータラッチに
結合する書込みトグル制御回路と、を備える第1項記載
の先入れ先出しメモリ装置。 (3) 前記書込みフレームバッファは、前記第1組の
データラッチと前記第2組のデータラッチと前記書込み
トグル制御回路に結合する書込みアドレスデコーダを更
に備える、第2項記載の先入れ先出しメモリ装置。
へのデータ変換を行う先入れ先出し(FIFO)メモリ
装置であって、データを記憶するメモリ配列と、直列デ
ータ入力を受け、また前記受けた直列データ入力を前記
メモリ配列に並列に書き込むための書込みフレームバッ
ファと、前記メモリ配列から並列にデータ出力を受け、
また前記メモリ配列から受けた前記データ出力を直列に
出力し、また直列入力データを受けるための読取りフレ
ームバッファと、を備える先入れ先出しメモリ装置。 (5) 前記読取りフレームバッファは前記書込みフレ
ームバッファから埋め戻しデータを更に受ける、第4項
記載のFIFOメモリ装置。
IFO)であって、データをFIFOに転送するための
直列データ入力と、前記直列データ入力に結合して前記
転送されたデータを記憶するためのメモリと、前記メモ
リに結合して前記FIFOからデータを転送するための
直列データ出力とを備えるFIFOと、前記直列データ
入力と前記直列データ出力に結合し、前記メモリをバイ
パスすることにより前記FIFOを通して直列データを
転送するための記憶装置と、を備えるキャッシュ直列F
IFO。 (7) 前記記憶装置はまた、前記メモリからデータを
転送するためのものである、第6項記載のキャッシュ直
列FIFO。
入力に結合しまた前記メモリに結合する書込みフレーム
バッファと、前記直列データ入力と、前記直列データ出
力と、前記メモリと、前記書込みフレームバッファに接
続し、更に前記書込みフレームバッファから埋め戻しデ
ータを受けるための読取りフレームバッファと、を備え
る第7項記載のキャッシュ直列FIFO。
へのデータ変換を行うFIFOメモリ(4)。読取りフ
レームバッファ(40)と書込みフレームバッファ(3
0)は、RAM配列(22)に結合する。直列入力デー
タを、nビット幅の固定幅の書込みフレーム(30)に
一時的に記憶する。次に記憶した直列入力データの全n
ビット幅フレームを、RAM配列(22)に一度に並列
に書き込む。RAM配列(22)から並列に読み取った
データを、読取りフレーム(40)に一時的に記憶した
後、FIFO出力(53)に直列に与える。直列入力を
並列入力に変換することにより必要なポインタの数が減
るので、全体のチップの大きさが減る。これは、データ
をRAMに直列に書き込むときにいちいちアドレスする
必要がないからである。読取りフレーム(40)は、書
込みフレーム(30)と前記直列入力データに結合す
る。これにより、FIFOに書き込んだデータはすぐに
利用可能になり、読取りフレーム(40)は書込みフレ
ーム(30)から埋め戻しデータを受けることができ
る。
のブロック図。
すブロック図。
の要部を示す論理図。
の要部を示す論理図。
の要部を示す論理図。
の要部を示す論理図。
の要部を示す論理図。
示す論理図。
示す論理図。
を示す論理図。
(ポインタ)34を示す論理図。
論理図。
アンド、オア、反転装置を示す電気的略図。
Claims (1)
- 【請求項1】先入れ先出しメモリ装置であって、 メモリ配列と、 前記メモリ配列に結合する読取りフレームバッファと、 前記メモリ配列に結合し、また前記読取りフレームバッ
ファに結合する書込みフレームバッファと、を備える先
入れ先出しメモリ装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US139348 | 1993-10-20 | ||
| US08/139,348 US5602780A (en) | 1993-10-20 | 1993-10-20 | Serial to parallel and parallel to serial architecture for a RAM based FIFO memory |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH07312078A true JPH07312078A (ja) | 1995-11-28 |
Family
ID=22486197
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6294056A Pending JPH07312078A (ja) | 1993-10-20 | 1994-10-20 | Ramベースのfifoメモリを直列から並列へおよび並列から直列へ変換する構造 |
Country Status (2)
| Country | Link |
|---|---|
| US (2) | US5602780A (ja) |
| JP (1) | JPH07312078A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR19980086711A (ko) * | 1997-05-01 | 1998-12-05 | 조오지 떠블유 하우스위어트 | 범용직렬버스 주변장치 마이크로 컨트롤러 |
| JP2007025022A (ja) * | 2005-07-13 | 2007-02-01 | Hitachi Via Mechanics Ltd | 描画装置及びそれを搭載した露光装置 |
Families Citing this family (76)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| SE514348C2 (sv) * | 1995-06-09 | 2001-02-12 | Saab Dynamics Ab | Minnesstruktur anpassad för lagring och hämtning av vektorer |
| KR0184464B1 (ko) * | 1995-11-28 | 1999-05-15 | 김광호 | 동기형 반도체 메모리장치의 디코딩 회로 |
| GB2308903B (en) * | 1996-01-05 | 2000-01-26 | Advanced Risc Mach Ltd | Cache memory circuit |
| US6055590A (en) * | 1996-06-05 | 2000-04-25 | Compaq Computer Corporation | Bridge circuit comprising independent transaction buffers with control logic adapted to store overflow data in second buffer when transaction size exceeds the first buffer size |
| US5951635A (en) * | 1996-11-18 | 1999-09-14 | Vlsi Technology, Inc. | Asynchronous FIFO controller |
| JPH10255459A (ja) * | 1997-03-10 | 1998-09-25 | Mitsubishi Electric Corp | ラインメモリ |
| US5812881A (en) * | 1997-04-10 | 1998-09-22 | International Business Machines Corporation | Handshake minimizing serial to parallel bus interface in a data processing system |
| US6615296B2 (en) | 1997-05-30 | 2003-09-02 | Lsi Logic Corporation | Efficient implementation of first-in-first-out memories for multi-processor systems |
| US6115761A (en) * | 1997-05-30 | 2000-09-05 | Lsi Logic Corporation | First-In-First-Out (FIFO) memories having dual descriptors and credit passing for efficient access in a multi-processor system environment |
| US6044419A (en) * | 1997-09-30 | 2000-03-28 | Intel Corporation | Memory handling system that backfills dual-port buffer from overflow buffer when dual-port buffer is no longer full |
| US6094695A (en) * | 1998-03-11 | 2000-07-25 | Texas Instruments Incorporated | Storage buffer that dynamically adjusts boundary between two storage areas when one area is full and the other has an empty data register |
| US5982700A (en) * | 1998-05-21 | 1999-11-09 | Integrated Device Technology, Inc. | Buffer memory arrays having nonlinear columns for providing parallel data access capability and methods of operating same |
| US5978307A (en) * | 1998-05-21 | 1999-11-02 | Integrated Device Technology, Inc. | Integrated circuit memory devices having partitioned multi-port memory arrays therein for increasing data bandwidth and methods of operating same |
| US5999478A (en) * | 1998-05-21 | 1999-12-07 | Integrated Device Technology, Inc. | Highly integrated tri-port memory buffers having fast fall-through capability and methods of operating same |
| US6216205B1 (en) | 1998-05-21 | 2001-04-10 | Integrated Device Technology, Inc. | Methods of controlling memory buffers having tri-port cache arrays therein |
| TW502172B (en) * | 1998-10-26 | 2002-09-11 | Winbond Electronics Corp | Digital camera to printer conversion device with USB structure |
| TW424227B (en) * | 1999-04-08 | 2001-03-01 | Via Tech Inc | Signal decoding device and method thereof |
| JP3376976B2 (ja) * | 1999-10-18 | 2003-02-17 | 日本電気株式会社 | 半導体記憶装置 |
| US7356639B2 (en) * | 2000-01-05 | 2008-04-08 | Rambus Inc. | Configurable width buffered module having a bypass circuit |
| US6502161B1 (en) | 2000-01-05 | 2002-12-31 | Rambus Inc. | Memory system including a point-to-point linked memory subsystem |
| US7363422B2 (en) * | 2000-01-05 | 2008-04-22 | Rambus Inc. | Configurable width buffered module |
| US7266634B2 (en) | 2000-01-05 | 2007-09-04 | Rambus Inc. | Configurable width buffered module having flyby elements |
| US7010642B2 (en) * | 2000-01-05 | 2006-03-07 | Rambus Inc. | System featuring a controller device and a memory module that includes an integrated circuit buffer device and a plurality of integrated circuit memory devices |
| US7404032B2 (en) * | 2000-01-05 | 2008-07-22 | Rambus Inc. | Configurable width buffered module having switch elements |
| US20050010737A1 (en) * | 2000-01-05 | 2005-01-13 | Fred Ware | Configurable width buffered module having splitter elements |
| JP4612139B2 (ja) * | 2000-02-08 | 2011-01-12 | 富士通セミコンダクター株式会社 | 入力回路及びその入力回路を利用する半導体装置 |
| US6842459B1 (en) | 2000-04-19 | 2005-01-11 | Serconet Ltd. | Network combining wired and non-wired segments |
| ATE367681T1 (de) * | 2001-11-21 | 2007-08-15 | Interdigital Tech Corp | Basisstation mit einer hybriden parallelen/seriellen busschnittstelle |
| ES2287360T3 (es) * | 2001-11-21 | 2007-12-16 | Interdigital Technology Corporation | Metodo empleado por una estacion de base para transferir datos. |
| US7069464B2 (en) | 2001-11-21 | 2006-06-27 | Interdigital Technology Corporation | Hybrid parallel/serial bus interface |
| ATE397323T1 (de) * | 2001-11-21 | 2008-06-15 | Interdigital Tech Corp | Benutzergeräte (ue) mit einer hybriden parallelen-seriellen busschnittstelle |
| US6707399B1 (en) | 2002-10-10 | 2004-03-16 | Altera Corporation | Data realignment techniques for serial-to-parallel conversion |
| US7515598B2 (en) * | 2002-10-29 | 2009-04-07 | Intel Corporation | Configurable transmit and receive system interfaces for a network device |
| US20040123004A1 (en) * | 2002-12-19 | 2004-06-24 | International Business Machines Corporation | An improved fifo based controller circuit for slave devices attached to a cpu bus |
| US6838902B1 (en) * | 2003-05-28 | 2005-01-04 | Actel Corporation | Synchronous first-in/first-out block memory for a field programmable gate array |
| US20050002728A1 (en) * | 2003-07-01 | 2005-01-06 | Isaac Weiser | Plastic connector for connecting parts and method therefor |
| KR100593442B1 (ko) * | 2004-02-06 | 2006-06-28 | 삼성전자주식회사 | 반도체 메모리 장치 및 이 장치의 데이터 라이트 및 리드방법 |
| US7562271B2 (en) * | 2005-09-26 | 2009-07-14 | Rambus Inc. | Memory system topologies including a buffer device and an integrated circuit memory device |
| US11328764B2 (en) | 2005-09-26 | 2022-05-10 | Rambus Inc. | Memory system topologies including a memory die stack |
| US7464225B2 (en) * | 2005-09-26 | 2008-12-09 | Rambus Inc. | Memory module including a plurality of integrated circuit memory devices and a plurality of buffer devices in a matrix topology |
| US20070165457A1 (en) * | 2005-09-30 | 2007-07-19 | Jin-Ki Kim | Nonvolatile memory system |
| US20070076502A1 (en) * | 2005-09-30 | 2007-04-05 | Pyeon Hong B | Daisy chain cascading devices |
| US7747833B2 (en) * | 2005-09-30 | 2010-06-29 | Mosaid Technologies Incorporated | Independent link and bank selection |
| KR101260632B1 (ko) | 2005-09-30 | 2013-05-03 | 모사이드 테크놀로지스 인코퍼레이티드 | 출력 제어 메모리 |
| US7652922B2 (en) * | 2005-09-30 | 2010-01-26 | Mosaid Technologies Incorporated | Multiple independent serial link memory |
| US11948629B2 (en) | 2005-09-30 | 2024-04-02 | Mosaid Technologies Incorporated | Non-volatile memory device with concurrent bank operations |
| US8069328B2 (en) * | 2006-03-28 | 2011-11-29 | Mosaid Technologies Incorporated | Daisy chain cascade configuration recognition technique |
| US8335868B2 (en) * | 2006-03-28 | 2012-12-18 | Mosaid Technologies Incorporated | Apparatus and method for establishing device identifiers for serially interconnected devices |
| US8364861B2 (en) * | 2006-03-28 | 2013-01-29 | Mosaid Technologies Incorporated | Asynchronous ID generation |
| US7551492B2 (en) * | 2006-03-29 | 2009-06-23 | Mosaid Technologies, Inc. | Non-volatile semiconductor memory with page erase |
| EP2242058B1 (en) * | 2006-03-31 | 2014-07-16 | Mosaid Technologies Incorporated | Flash memory system control scheme |
| US7904639B2 (en) * | 2006-08-22 | 2011-03-08 | Mosaid Technologies Incorporated | Modular command structure for memory and memory system |
| US8700818B2 (en) * | 2006-09-29 | 2014-04-15 | Mosaid Technologies Incorporated | Packet based ID generation for serially interconnected devices |
| US7817470B2 (en) * | 2006-11-27 | 2010-10-19 | Mosaid Technologies Incorporated | Non-volatile memory serial core architecture |
| US8010709B2 (en) * | 2006-12-06 | 2011-08-30 | Mosaid Technologies Incorporated | Apparatus and method for producing device identifiers for serially interconnected devices of mixed type |
| US8331361B2 (en) * | 2006-12-06 | 2012-12-11 | Mosaid Technologies Incorporated | Apparatus and method for producing device identifiers for serially interconnected devices of mixed type |
| US8271758B2 (en) | 2006-12-06 | 2012-09-18 | Mosaid Technologies Incorporated | Apparatus and method for producing IDS for interconnected devices of mixed type |
| US7818464B2 (en) * | 2006-12-06 | 2010-10-19 | Mosaid Technologies Incorporated | Apparatus and method for capturing serial input data |
| US7853727B2 (en) * | 2006-12-06 | 2010-12-14 | Mosaid Technologies Incorporated | Apparatus and method for producing identifiers regardless of mixed device type in a serial interconnection |
| US7529149B2 (en) * | 2006-12-12 | 2009-05-05 | Mosaid Technologies Incorporated | Memory system and method with serial and parallel modes |
| US8984249B2 (en) * | 2006-12-20 | 2015-03-17 | Novachips Canada Inc. | ID generation apparatus and method for serially interconnected devices |
| US8010710B2 (en) * | 2007-02-13 | 2011-08-30 | Mosaid Technologies Incorporated | Apparatus and method for identifying device type of serially interconnected devices |
| US8122202B2 (en) | 2007-02-16 | 2012-02-21 | Peter Gillingham | Reduced pin count interface |
| JP5385156B2 (ja) * | 2007-02-16 | 2014-01-08 | モサイド・テクノロジーズ・インコーポレーテッド | 半導体デバイスおよび複数の相互接続デバイスを有するシステムの電力消費を低減するための方法 |
| US8046527B2 (en) * | 2007-02-22 | 2011-10-25 | Mosaid Technologies Incorporated | Apparatus and method for using a page buffer of a memory device as a temporary cache |
| US7796462B2 (en) * | 2007-02-22 | 2010-09-14 | Mosaid Technologies Incorporated | Data flow control in multiple independent port |
| US8086785B2 (en) | 2007-02-22 | 2011-12-27 | Mosaid Technologies Incorporated | System and method of page buffer operation for memory devices |
| US7624310B2 (en) | 2007-07-11 | 2009-11-24 | Micron Technology, Inc. | System and method for initializing a memory system, and memory device and processor-based system using same |
| US7913128B2 (en) * | 2007-11-23 | 2011-03-22 | Mosaid Technologies Incorporated | Data channel test apparatus and method thereof |
| US7983099B2 (en) | 2007-12-20 | 2011-07-19 | Mosaid Technologies Incorporated | Dual function compatible non-volatile memory device |
| US7940572B2 (en) * | 2008-01-07 | 2011-05-10 | Mosaid Technologies Incorporated | NAND flash memory having multiple cell substrates |
| US8594110B2 (en) | 2008-01-11 | 2013-11-26 | Mosaid Technologies Incorporated | Ring-of-clusters network topologies |
| US8521980B2 (en) | 2009-07-16 | 2013-08-27 | Mosaid Technologies Incorporated | Simultaneous read and write data transfer |
| US8189408B2 (en) * | 2009-11-17 | 2012-05-29 | Freescale Semiconductor, Inc. | Memory device having shifting capability and method thereof |
| US8300479B2 (en) * | 2010-03-25 | 2012-10-30 | Infinera Corporation | Temporal alignment of data unit groups in a switch |
| US8825967B2 (en) | 2011-12-08 | 2014-09-02 | Conversant Intellectual Property Management Inc. | Independent write and read control in serially-connected devices |
Family Cites Families (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4868784A (en) * | 1982-02-22 | 1989-09-19 | Texas Instruments Incorporated | Microcomputer with a multi-channel serial port having a single port address |
| FR2536200B1 (fr) * | 1982-11-15 | 1987-01-16 | Helen Andre | Unite de stockage temporaire de donnees organisee en file d'attente |
| US5097442A (en) * | 1985-06-20 | 1992-03-17 | Texas Instruments Incorporated | Programmable depth first-in, first-out memory |
| 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 |
| JPH083956B2 (ja) * | 1986-09-18 | 1996-01-17 | 日本テキサス・インスツルメンツ株式会社 | 半導体記憶装置 |
| US4839866A (en) * | 1987-05-29 | 1989-06-13 | Texas Instruments Incorporated | Cascadable first-in, first-out memory |
| JP2627903B2 (ja) * | 1987-09-18 | 1997-07-09 | 日本テキサス・インスツルメンツ株式会社 | 半導体記憶装置 |
| JP2615088B2 (ja) * | 1987-11-06 | 1997-05-28 | 株式会社日立製作所 | 半導体記憶装置 |
| US4933901A (en) * | 1988-01-11 | 1990-06-12 | Texas Instruments Incorporated | Method for assigning priority to read and write requests received closely in time |
| US4815039A (en) * | 1988-01-11 | 1989-03-21 | Texas Instruments Incorporated | Fast real-time arbiter |
| US5255238A (en) * | 1988-09-08 | 1993-10-19 | Hitachi, Ltd. | First-in first-out semiconductor memory device |
| US5084841A (en) * | 1989-08-14 | 1992-01-28 | Texas Instruments Incorporated | Programmable status flag generator FIFO using gray code |
| US5220529A (en) * | 1990-08-20 | 1993-06-15 | Fujitsu Limited | One-chip first-in first-out memory device having matched write and read operations |
| US5142555A (en) * | 1990-11-13 | 1992-08-25 | Dallas Semiconductor Corporation | Phase detector |
-
1993
- 1993-10-20 US US08/139,348 patent/US5602780A/en not_active Expired - Lifetime
-
1994
- 1994-10-20 JP JP6294056A patent/JPH07312078A/ja active Pending
-
1995
- 1995-03-31 US US08/414,252 patent/US5596540A/en not_active Expired - Lifetime
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR19980086711A (ko) * | 1997-05-01 | 1998-12-05 | 조오지 떠블유 하우스위어트 | 범용직렬버스 주변장치 마이크로 컨트롤러 |
| JP2007025022A (ja) * | 2005-07-13 | 2007-02-01 | Hitachi Via Mechanics Ltd | 描画装置及びそれを搭載した露光装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| US5596540A (en) | 1997-01-21 |
| US5602780A (en) | 1997-02-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5596540A (en) | Serial to parallel and parallel to serial architecture for a RAM based FIFO memory | |
| US5097442A (en) | Programmable depth first-in, first-out memory | |
| US4374410A (en) | Data processing system | |
| CA2231362C (en) | A data maximizing serial to parallel bus interface in a data processing system and method therefor | |
| US6802036B2 (en) | High-speed first-in-first-out buffer | |
| US6424347B1 (en) | Interface control apparatus for frame buffer | |
| US5634013A (en) | Bus bridge address translator | |
| JPH08321180A (ja) | 半導体記憶装置 | |
| EP0421627B1 (en) | Memory device | |
| JPS61264379A (ja) | 記憶回路 | |
| JPH05100877A (ja) | パリテイ反転試験方式 | |
| US5732011A (en) | Digital system having high speed buffering | |
| JPH05189360A (ja) | データ転送および記憶方式 | |
| JPS6027976A (ja) | 先入先出メモリ装置 | |
| JP2605656B2 (ja) | 1チップメモリデバイス | |
| JPH10112178A (ja) | Fifoメモリおよびその製造方法 | |
| KR940009821B1 (ko) | 마이크로 프로세서의 입출력 기능을 이용한 어드레스 확장회로 | |
| US6654844B1 (en) | Method and arrangement for connecting processor to ASIC | |
| JPH09185882A (ja) | 入出力データの大きさを異にする先入れ先出しメモリ装置及びその方法 | |
| JPH05324529A (ja) | データ転送装置及びデータ転送方法 | |
| JP2889479B2 (ja) | ヒストグラム構築回路 | |
| US20040160845A1 (en) | Method and apparatus to reduce access time in synchronous FIFOS with zero latency overhead | |
| JPH0228739A (ja) | キャッシュメモリコントローラ | |
| JPH0212358A (ja) | データ転送方式 | |
| JP3242474B2 (ja) | データ処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050208 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050218 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20050518 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20050523 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20051021 |