JP2001222407A - Fifo回路 - Google Patents

Fifo回路

Info

Publication number
JP2001222407A
JP2001222407A JP2000030182A JP2000030182A JP2001222407A JP 2001222407 A JP2001222407 A JP 2001222407A JP 2000030182 A JP2000030182 A JP 2000030182A JP 2000030182 A JP2000030182 A JP 2000030182A JP 2001222407 A JP2001222407 A JP 2001222407A
Authority
JP
Japan
Prior art keywords
input
output
circuit
clock
pointer
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
JP2000030182A
Other languages
English (en)
Inventor
Yoshitaka Hanaki
義孝 花木
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2000030182A priority Critical patent/JP2001222407A/ja
Publication of JP2001222407A publication Critical patent/JP2001222407A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Systems (AREA)
  • Communication Control (AREA)

Abstract

(57)【要約】 【課題】 クロック周波数が相違する機器間の接続、デ
ータの入出力に使用されるFIFO回路の転送速度等を
向上させる。 【解決手段】 入力クロックに同期した入力ポインタを
生成する回路と、生成された入力ポインタを出力クロッ
クに同期させる回路と、出力クロックに同期した出力ポ
インタを生成する回路と、生成された出力ポインタを入
力ポインタに同期させる入力側用クロック乗換え回路
と、入力ポインタと入力クロック同期の出力ポインタか
ら入力クロック同期のFIFO状態を生成する入力クロ
ック同期FIFO状態生成回路と、出力クロック同期の
入力ポインタと出力クロック同期の出力ポインタから出
力ポインタに同期したFIFO状態を生成する出力クロ
ック同期FIFO状態生成回路とを備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はFIFOに関し、特
に入力側と出力側のクロックが相互に同期していない場
合にデータの入出力を効率良くなすFIFO回路に関す
る。
【0002】
【従来の技術】パソコンとハードディスク装置との接続
等の機器間の接続に用いられる機器あるいは回路とし
て、FIFO(先入れ先だし)回路がある。ところでこ
の際 、入力側の機器と出力側の機器とのクロックが互
いに同期していない場合が多々有りうる。この場合、デ
ータの転送の必要が生じたときには、従来は一旦FIF
Oの入力側でデータをFIFOの出力側クロックに同期
させ、しかる後出力クロックに同期してFIFOに書き
込んでいた。
【0003】以下、図1に、この従来のFIFO回路の
構成を示す。本図において、200はFIFO回路であ
り、201は入力側制御回路であり、202は出力側制
御回路である。更に、1001は入力クロック端子であ
り、1021は入力要求端子であり、1031は入力デ
ータ端子であり、1002は出力クロック端子であり、
1012は出力クロックに同期したディップスティック
端子であり、1022は出力要求端子であり、1032
は出力データ端子であり、1042は出力クロックに同
期した出力ポインタ生成回路であり、1052は出力ク
ロックに同期した入力ポインタ生成回路であり、107
2は減算器であり、1081は入力ポインタであり、1
082は出力ポインタであり、1091は入力許可端子
であり、110はクロック乗り換え回路であり、111
は0比較器であり、112は入出力に対して専用の端子
を有するデュアルポートメモリ(記憶手段)である。
【0004】なお、図では各部の接続関係を中心とした
構成を理解し易くするため、このデュアルポートメモリ
は矩形状に記載しているが、概念的にはドーナツ状であ
りその周囲を入力ポインタ1081と出力ポインタ10
82が追いかけっこをしてFIFO機能が発揮される。
【0005】以下、本図に示すFIFO回路の動作を説
明する。
【0006】<初期状態>初期状態においては、入力ポ
インタ生成回路1052の出力値及び出力ポインタ生成
回路1042の出力値は共に0である。この時、出力側
の減算器1072の出力値及び(FIFOに溜まってい
る語数を示す)ディップスティック端子1012の値も
共に0となる。従って、出力制御回路202にはFIF
O200に溜まっているデータの語数が0、すなわちF
IFOが空であることが通知され、0比較器111はク
ロック乗り換え回路110への入力許可をアサートす
る。しかし、クロック乗り換え回路110には、未だ入
力制御回路201から入力データが入力されていないの
で、デュアルポートメモリ112への入力要求はネゲー
トされており、かつ入力制御回路201への入力許可端
子1091はアサートされている。
【0007】<FIFOへのデータ入力>入力制御回路
201への入力許可端子1091がネゲートされた状態
では、入力制御回路201が入力要求端子1021をア
サートすることは禁止されている。入力制御回路201
への入力許可端子1091がアサートされた状態で、入
力制御回路201は入力要求端子1021をアサートし
て、同時に入力データ端子1031に入力データを印加
する。次の入力クロックの有効エッジにおいて、入力デ
ータの値がその為の端子1031よりクロック乗り換え
回路110に取り込まれる。
【0008】入力データがクロック乗り換え回路110
に取り込まれると、0比較器111で生成される入力許
可信号がアサートされるまで、入力データはクロック乗
り換え回路110に留まっている。0比較器110で生
成される入力許可信号がアサートされると、クロック乗
り換え回路110はデュアルポートメモリ112への入
力要求をアサートして、同時に入力データをデュアルポ
ートメモリ112への入力データ用ポート1081に印
加する。次の出力クロック端子1002のアサートにお
いて、入力ポインタ生成回路1052で指定(アドレッ
シング)されたデュアルポートメモリ112内のセルに
入力データが書き込まれ、更に入力ポインタ生成回路1
052の保持する値が次のアドレスを指すべくインクリ
メント(増加)される。
【0009】<FIFOからのデータ出力>出力クロッ
ク同期のディップスティック端子1012の値が0であ
る時は、FIFO112に溜まっている語数は0、すな
わちFIFOが空であるので、出力制御回路202が出
力要求端子1022をアサートすることは禁止されてい
る。ディップスティック端子1012の値が0でないと
き、出力要求がアサートされると、次の出力クロックの
有効エッジにおいて、出力データ端子1032の値が出
力制御回路202に読み出され、出力ポインタ生成回路
1042の出力値は次のアドレスのデータを読み出すべ
くインクリメントされる。
【0010】このようにして、従来のFIFO回路で
は、互いに非同期な入力クロックと出力クロックを持つ
FIFOがその機能を発揮するためには、クロック乗り
換え回路において入力データを入力クロック同期から出
力クロック同期に変換していた。
【0011】また、入力制御回路は、クロック乗り換え
回路を使用して入力許可端子及び入力要求端子間で入力
クロック同期のハンドシェイクを行い、更にクロック乗
り換え回路はデュアルポートメモリへの入力許可と入力
要求間で出力クロック同期のハンドシェイクを行ってい
た。
【0012】
【発明が解決しようとする課題】しかしながら、上記従
来のFIFO回路のクロック乗換においては、以下の3
つの問題点がある。
【0013】第1に、互いに非同期な入力クロックと出
力クロックの間でのデータの入出力でのクロック乗換え
では、一般にデータはビット幅が大きいため、データの
全ビットについてこれを行うのは、回路規模が大きくな
り、コストが高くなる。
【0014】第2に、クロック乗換え回路の平均転送周
波数が、ハンドシェイクの都合上入力クロック周波数と
出力クロック周波数のうち小さい方の周波数の1/2に
制限されてしまうため、FIFO回路の性能が低下す
る。例えば、データ幅が入力、出力共32ビット(入出
力回線が32本)、入力クロックが25MHz、出力ク
ロックが16MHzの場合には、クロック乗り換え回路
の平均転送周波数は8MHz(=16MHzの半分)に
しかならない。その結果、入力制御回路の転送性能は3
2ビット×25MHz=100MB/秒、出力制御回路
の転送性能は32ビット×16MHz=64MB/秒も
あるのに、FIFOの転送性能はわずか32ビット×8
MHz=32MB/秒に制限される。
【0015】これを解決するため、より高速なクロック
を用いるのは、消費電力、半導体の性能、雑音等の面か
ら一般的にはシステム上許容されない場合が多い。
【0016】と言って、クロック乗り換え回路を複数並
列に装備して順に動かすことによって動作速度を増加
し、クロック乗り換えの転送速度を高速化するのは、必
要なチップ面積等が増大し、コストアップとなる場合が
多い。
【0017】第3に、入力制御回路は、クロック乗り換
え回路に対する入力が許可されているか否かだけの情報
しか利用できず、入力制御回路へのディップスティック
端子を持てない。具体的には、複数バイトのデータを連
続して転送する際に、バースト転送が可能なだけの空き
がFIFOにあるか否かを判断できないため、バースト
的にデータを入力することが出来ない。
【0018】このため、入出力のクロック周波数が相違
していても、転送レートが高く、入力制御及び出力制御
に対してディップスティックを提供できしかも回路規模
が小さいFIFO回路の出現、開発が望まれていた。
【0019】
【課題を解決するための手段】本発明は、以上の3つの
課題を解決することを目的としたなされたものであり、
入出力の両側にクロック乗換回路、ディクスティップを
有する様にしている。具体的には、以下の構成としてい
る。
【0020】請求項1記載の発明においては、デュアル
ポートメモリと、入力クロックに同期した入力位置を指
す入力ポインタを生成する回路と、該回路によって生成
された入力ポインタを出力クロックに同期させる出力側
用のクロック乗換え回路と、出力クロックに同期した出
力位置を指す出力ポインタを生成する回路と、該回路に
よって生成された出力ポインタを入力ポインタに同期さ
せる入力側用のクロック乗換え回路と、入力クロック同
期の入力ポインタと入力クロック同期の出力ポインタか
ら入力クロック同期のディップスティック(FIFOに
空いている語数)を生成する回路と、出力クロック同期
の入力ポインタと出力クロック同期の出力ポインタから
出力クロックに同期したディップスティック(FIFO
に溜まっている語数)を生成する回路とを有しているこ
とを特徴としている。
【0021】上記構成により、入力クロックから出力ク
ロックへのクロックの乗り換えは、一般にビット幅の大
きなデータではなく、ビット幅の小さなポインタを通し
て行われるため、より少ない回路規模でクロックの乗換
えが可能となる。
【0022】請求項2記載の発明においては、クロック
乗換え回路として、プロテクテッド・ハンドシェイク回
路が用いられることを特徴としている。
【0023】上記構成により、相互に非同期な入力クロ
ック、出力クロックに対してもまったく安全にFIFO
を機能させることが可能となっている。
【0024】請求項3記載の発明においては、クロック
乗換え回路として、Tタイプ・サービス・ラッチを持つ
ハンドシェイク回路を用いることを特徴としている。
【0025】上記構成により、クロックの乗り換えにお
いて、プロテクテッド・ハンドシェイク回路よりも安全
性に劣るかもしれないが、データ・エラーを検出する機
能を有する転送プロトコルを高速化することが可能とな
っている。
【0026】請求項4記載の発明においては、クロック
乗換え回路として、ジェントルマン・アグリーメントと
呼ばれるポーリング回路を用いることを特徴としてい
る。
【0027】上記構成により、FIFO全体を非同期セ
ット、リセットを有するセルを用いない同期要素のみに
よって実現することが可能である。このため、スキャン
設計が楽になる。
【0028】請求項5記載の発明においては、クロック
乗換え回路はその要求信号がハンドシェイク回路に対し
て入力要求を行うことが禁止された状態を指す禁止信号
の反転から生成される回路であり、このためクロック乗
換え回路への要求信号がクロック乗換え回路の許可信号
から生成されることを特徴としている。
【0029】上記構成により、クロック乗換え回路への
要求信号は、FIFOへの入力要求のタイミングとは無
関係に、入力クロックと出力クロックによって定まる一
定の時間以下の間隔でアサートされ続ける。このため入
力制御部は、入力ポインタのクロック乗換えを待たずに
入力クロック毎に入力要求を出しうるので、FIFO回
路の転送性能は、入力クロックと出力クロックのうち周
波数の低い方で律速され、ひいては従来のFIFO回路
と比較して2倍の転送性能となる。
【0030】請求項6記載の発明においては、FIFO
でアドレッシングされるメモリの語数が2^nであると
き、入力ポインタ生成回路及び出力ポインタ生成回路で
は(n+1)ビットのポインタを計算することを特徴と
している。
【0031】上記構成により、入力ポインタから出力ポ
インタを引くことで、簡単にFIFOの語数を求めるこ
とが可能となる。
【0032】請求項7記載の発明においては、FIFO
でアドレッシングされるメモリの語数が2^nであると
き、入力クロック同期のディップスティックは入力クロ
ック同期の入力ポインタから入力クロック同期の出力ポ
インタを引くことによって求め、出力クロック同期のデ
ィップスティックは出力クロック同期の出力ポインタか
ら出力クロック同期の入力ポインタを引くことによって
求めることを特徴としている。
【0033】上記構成により、出力クロック同期のFI
FO状態としては、FIFOに溜まっているデータの語
数、入力クロック同期のFIFO状態としてはFIFO
の空き語数が、それぞれ減算器一つによって得られる。
【0034】請求項8記載の発明においては、FIFO
でアドレッシングされるメモリの語数が2^nであると
き、入力ポインタと出力ポインタの一致検出によってF
IFO状態を生成することを特徴としている。
【0035】上記構成により、バースト入力あるいはバ
ースト出力が不必要なFIFO転送において、入力制御
回路あるいは出力制御回路にとって必要最小限な情報で
あるFIFOに空きがあるか否かの情報を、非常に容易
に生成することが出来る。
【0036】
【発明の実施の形態】以下、本発明をその実施の形態に
もとずいて説明する。
【0037】(第1の実施の形態)本発明の第1の実施
の形態のFIFO回路の構成を図2に示す。なお本図に
おいて、図1に示した従来技術の物と同一若しくは同様
の作用をなす物(部分、構成物)については同じ符号を
付してある。またこのため、それらについての説明は原
則として省略する。
【0038】本図において、210はFIFO回路であ
り、211は入力制御回路である。更に、1011は入
力クロックに同期したFIFOのディップスティック端
子であり、1041は入力ポインタ生成回路であり、1
082は入力クロック同期の出力ポインタであり、10
81は入力ポインタであり、1002は出力クロック端
子であり、1012は出力クロックに同期したディップ
スティック端子であり、1042は出力ポインタ生成回
路であり、1072は出力側減算器であり、1071は
入力側減算器であり、118はインバータであり、また
図のMSBはMost Significant Bi
t (最上位ビット)を指し、110はデュアルポート
メモリである。
【0039】更に、11は入力クロック同期の入力ポイ
ンタの信号線であり、12は出力クロック同期の入力ポ
インタの信号線であり、21は入力クロック同期の出力
ポインタの信号線であり、22は出力クロック同期の出
力ポインタの信号線である。
【0040】以下、以上の構成のFIFO回路の動作を
説明する。
【0041】<初期状態>初期状態において、入力ポイ
ンタ生成回路1041の出力値及び出力ポインタ生成回
路1042の出力値は共に0である。すなわち、入力ク
ロックに同期した入力ポインタ及び出力ポインタの値は
共に0であるから、入力側ディップスティック生成回路
1061の出力値は2n、出力側ディップスティック生
成回路1062の出力値は0である。
【0042】<FIFOへのデータ入力>入力側のディ
ップスティックが0の時は、FIFOが一杯であるの
で、FIFO外部からの入力要求は禁止される。
【0043】次に、FIFO外部からの入力要求が禁止
されていない時に、入力データ端子1031にFIFO
への入力データが入力され、入力要求端子1021がア
サートされたとする。次の入力クロックによって、入力
ポインタ生成回路1041の出力値として定されたデュ
アルポートメモリ110内のアドレスのセルに入力デー
タ端子1031のデータが書き込まれ、併せて入力ポイ
ンタ生成回路1041が出力する入力ポインタの値がイ
ンクリメントされる。そしてこのインクリメントされた
入力ポインタの値は出力側のクロック乗り換え回路10
62に入力され、クロック乗り換えに必要な時間の後、
出力クロック同期の入力ポインタの値に反映される。
【0044】<FIFOからのデータ出力>出力側のデ
ィップスティックが0の時は、FIFOが空であるの
で、FIFO外部からの出力要求は禁止される。
【0045】次に、FIFO外部からの出力要求が禁止
されていないときに、出力要求端子1022がアサート
されたとする。次の出力クロックによって、出力ポイン
タ生成回路1042の出力値として指定されたデュアル
ポートメモリ110内のアドレスのセルから、出力デー
タ端子1032にデータが出力され、併せて出力側出力
ポインタ生成回路1042が出力する出力ポインタの値
がインクリメントされる。このインクリメントされた出
力ポインタの値はクロック乗り換え回路1061に入力
され、クロック乗換えに必要な時間の後、入力クロック
同期の出力ポインタの値に反映される。
【0046】なお、説明の便宜上初期状態における入力
ポインタ生成回路の出力値及び出力ポインタ生成回路の
出力値は共に0としたが、これは実装上任意に決定して
よいのは勿論である。また、入力ポインタ生成回路及び
出力ポインタ生成回路は、それぞれ入力要求及び出力要
求がアサートされた時にインクリメントされるものとし
たが、デクリメントされるように実装してもよいのは勿
論である。
【0047】本実施の形態のFIFO回路は、以上のよ
うにして異なるクロック周期を有する機器間を接続する
FIFOとしての動作をおこなう。クロック乗換え回路
への要求信号は、FIFOへの入力要求のタイミングと
は無関係に、入力クロックと出力クロックによって定ま
る一定の時間以下の間隔でアサートされつづける。入力
制御部は、入力ポインタのクロック乗換えを待たずに入
力クロック毎に入力要求を出しうるので、FIFO回路
の転送性能は、入力クロックと出力クロックのうち周波
数の低い方で律速される。これは、従来のFIFO回路
の転送性能と比べて、2倍の転送性能である。
【0048】ここで、例として、入力クロックが出力ク
ロックに対して非常に高速な場合の、入力ポインタのク
ロック乗り換えについて考える。FIFOに十分な空き
があると、入力クロック同期の入力ポインタが(入力可
能であるため)、FIFOへの複数回の入力要求によっ
て、低速な出力クロックによって律速される入力ポイン
タのクロック乗り換えの前に、複数回インクリメントさ
れる場合が考えられるが、出力クロック同期にクロック
乗り換えされた入力ポインタの取る値が入力クロック同
期の入力ポインタと比べて間引かれるだけであり(デー
タそのものは間引かれないため)、出力制御回路は正常
に動作する。
【0049】上記の例と比較して、従来のFIFO回路
で、入力データのクロック乗り換えにおいて、クロック
乗換え回路への要求信号をクロック乗換え回路の許可信
号から生成した場合はどうなるかを考える。この場合、
出力クロック同期にクロック乗り換えされた入力データ
の取る値が、入力クロック同期の入力データと比べて間
引かれることになる。入力データが間引かれたのではF
IFO回路として成り立たないので、このような構成は
実現不可能である。
【0050】なお、従来は2^n語のFIFOに対し
て、nビットのポインタを用いていたため、入力ポイン
タと出力ポインタの一致検出のみによってFIFOの状
態を生成することが出来なかった。これは、入力ポイン
タと出力ポインタが一致する状況として、FIFOが空
である場合と、FIFOが一杯である場合の2通りの場
合がありうるからである。
【0051】(第2の実施の形態)本実施の形態は、図
2に示すFIFO回路の入力ポインタ、出力ポインタの
クロック乗換え回路1061、1062として、図3に
示すプロテクテッド・ハンドシェイク回路を利用するも
のである。
【0052】図3に、このプロテクテッド・ハンドシェ
イク回路を示す。このプロテクテッド・ハンドシェイク
回路は、基本的なハンドシェイク回路のサービスラッチ
301の前及び禁止ラインの途中にDタイプラッチ30
3が挿入されている。そして、このFIFOの入力ポイ
ンタ、出力ポインタのクロック乗換え回路として、プロ
テクテッド・ハンドシェイク回路を利用して同期システ
ムの内部状態を保護することにより、相互に非同期な入
力クロック、出力クロックに対しても全く安全にFIF
Oを機能させることが可能となる。
【0053】なおここに、相互に非同期な回路間のデー
タの授受を行うハンドシェイク回路の基本的なものやこ
の禁止ラインが送信システムに対して非同期等の問題点
があること等は、例えば「Desiging ASIC
S」 トライエックス刊 の130頁(第5章)の図
5.2、131頁の説明に記載されている等の言わば周
知の技術であるため、その説明は省略する。以上の他、
Dタイプラッチや後に記載するTタイプラッチ等のF.
F.(フリップ・フロップ)の各型の特徴、長短も、例
えば上記書籍に記載されている言わば周知の技術である
ため、それらの説明も省略する。
【0054】なおまた、図中304はリクエストラッチ
であり、cka、ckbはクロック信号線である。ま
た、data available は出力せず、更に
requin と inhibit はインバータを介
して接続されている。
【0055】(第3の実施の形態)本実施の形態は、入
力ポインタ、出力ポインタのクロック乗換え回路とし
て、データ転送終了後すぐにリクエストラッチを使用す
ることが可能なTタイプ・サービス・ラッチを持つハン
ドシェイク回路を利用するものである。
【0056】図4に、このTタイプ・サービス・ラッチ
305を持つハンドシェイク回路を示す。FIFOの入
力ポインタ、出力ポインタのクロック乗換え回路とし
て、Tタイプ・サービス・ラッチを持つハンドシェイク
回路を用いることによって、相互に非同期な入力クロッ
ク、出力クロックに対して、先の第2の実施の形態のF
IFO回路と比較した場合、クロックの乗り換えにおい
て、プロテクテッド・ハンドシェイク回路よりも安全性
には劣るかも知れないが、CRCチェックを行うと定め
られたプロトコルやECCによる誤り訂正を行う様な転
送の場合には、データの授受の際の誤りが検出あるいは
訂正されるので転送を高速化することが可能となり、ス
ループットに優れたものになる。
【0057】(第4の実施の形態)本実施の形態は、入
力ポインタ、出力ポインタのクロック乗換え回路とし
て、送信側と受信側の両方にプロテクションラッチが組
み込まれたジェントルマン・アグリーメント回路を利用
するものである。
【0058】図5に、このジェントルマン・アグリーメ
ント(紳士協定)回路を示す。FIFOの入力ポイン
タ、出力ポインタのクロック乗換え回路として、この非
同期要素を有さないジェントルマン・アグリーメント回
路を用いることによって、FIFOの他の部分も非同期
要素を有さないため、FIFO全体を同期要素のみによ
って実現することが可能となる。
【0059】以上、本発明をその幾つかの実施の形態に
もとずいて説明してきたが、本発明はその趣旨を含む限
り何もこれらに限定されないのは勿論である。
【0060】
【発明の効果】以上の説明で判るように、本発明によれ
ば、送信側と受信側とで相互にクロック周波数が相違す
る機器、システムでの接続用に使用されるFIFO回路
において、データの転送の必要が生じた際には転送レー
トが高く、入力制御及び出力制御に対してディップステ
ィックを提供でき、しかも回路規模が小さい物を提供す
ることができる。
【図面の簡単な説明】
【図1】 従来技術の、クロック周波数が相違する機器
間の接続、データの入出力に使用されるFIFO回路全
体の構成図である。
【図2】 本発明に係るFIFO回路の第1の実施の形
態の全体構成図である。
【図3】 本発明に係るFIFO回路の第2の実施の形
態の要部、プロテクテッド・ハンドシェイク回路の構成
図である。
【図4】 本発明に係るFIFO回路の第3の実施の形
態の要部、Tタイプ・サービス・ラッチを有するハンド
シェイク回路の構成図である。
【図5】 本発明に係るFIFO回路の第4の実施の形
態の要部、ポーリング回路の構成図である。
【符号の説明】
1001 入力クロック端子 1011 ディップスティック(入力クロック同期)端
子 1021 入力要求端子 1031 入力データ端子 1041 入力ポインタ生成回路(実施の形態) 1061 クロック乗り換え回路(入力側) 1071 減算器(入力側) 1091 入力許可 1002 出力クロック端子 1012 ディップスティック(出力クロック同期)端
子 1022 出力要求端子 1032 出力データ端子 1042 出力ポインタ生成回路 1052 入力ポインタ生成回路(従来技術) 1062 クロック乗り換え回路(出力側) 1072 減算器(出力側) 1081 入力ポインタ 1082 出力ポインタ 109 入力許可端子 110 クロック乗り換え回路 111 0比較器 112 デュアルポートメモリ 118 インバータ 200 従来のFIFO回路 210 実施の形態のFIFO回路 201 従来の入力制御回路 211 実施の形態の入力制御回路 202 出力制御回路 301 サービスラッチ 302 禁止ライン 303 Dタイプラッチ 304 リクエストラッチ 305 Tタイプ・サービスラッチ 306 プロテクションラッチ

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 デュアルポートメモリと、 入力クロックに同期した入力ポインタを生成する入力ポ
    インタ生成回路と、 前記入力ポインタ生成回路によって生成された入力ポイ
    ンタを出力クロックに同期させる出力側用クロック乗換
    え回路と、 出力クロックに同期した出力ポインタを生成する出力ポ
    インタ生成回路と、 前記出力ポインタ生成回路によって生成された出力ポイ
    ンタを入力ポインタに同期させる入力側用クロック乗換
    え回路と、 上記入力クロック同期の入力ポインタと上記入力クロッ
    ク同期の出力ポインタから入力クロック同期のFIFO
    状態を生成する入力クロック同期FIFO状態生成回路
    と、 上記出力クロック同期の入力ポインタと上記出力クロッ
    ク同期の出力ポインタから出力クロックに同期したFI
    FO状態を生成する出力クロック同期FIFO状態生成
    回路と、 前記入力クロック同期FIFO状態生成回路の指示のも
    とで前記デュアルポートメモリにデータを入力する入力
    部と、 前記出力クロック同期FIFO状態生成回路の指示のも
    とで前記デュアルポートメモリからデータを出力する出
    力部とを有していることを特徴とするFIFO回路。
  2. 【請求項2】 前記クロック乗換え回路は、 プロテクテッド・ハンドシェイク回路を用いていること
    を特徴とする請求項1記載のFIFO回路。
  3. 【請求項3】 前記クロック乗換え回路は、 Tタイプ・サービス・ラッチを持つハンドシェイク回路
    を用いていることを特徴とする請求項1記載のFIFO
    回路。
  4. 【請求項4】 前記クロック乗換え回路は、 ジェントルマン・アグリーメントとして知られるポーリ
    ング回路を用いていることを特徴とする請求項1記載の
    FIFO回路。
  5. 【請求項5】 前記クロック乗換え回路は、 その要求信号が禁止信号の反転から生成される回路であ
    ることを特徴とする請求項1記載のFIFO回路。
  6. 【請求項6】 前記入力ポインタ生成回路及び出力ポイ
    ンタ生成回路は各々、 FIFOでアドレッシングされるメモリの語数が2^n
    であるとき、(n+1)ビットのポインタを計算するデ
    ィップスティック対応型のものであることを特徴とする
    請求項1、請求項2、請求項3、請求項4若しくは請求
    項5記載のFIFO回路。
  7. 【請求項7】 前記入力クロック同期FIFO状態生成
    回路は、 FIFOでアドレッシングされるメモリの語数が2^n
    であるとき、入力クロック同期のFIFO状態を入力ク
    ロック同期の出力ポインタから入力クロック同期の入力
    ポインタを減じて得られた(n+1)ビットの値の最上
    位ビットを反転することによって求めるものであり、 前記入力クロック同期FIFO状態生成回路は、 FIFOでアドレッシングされるメモリの語数が2^n
    であるとき、出力クロック同期のFIFO状態を出力ク
    ロック同期の入力ポインタから出力クロック同期の出力
    ポインタを引くことによって求めるものであることを特
    徴とする請求項6記載のFIFO回路。
  8. 【請求項8】 前記デュアルポートメモリへの入力部と
    出力部は、 FIFOでアドレッシングされるメモリの語数が2^n
    であるとき、上記入力ポインタと上記出力ポインタの値
    が一致したのを検出することによってFIFO状態を生
    成することを特徴とする請求項6記載のFIFO回路。
JP2000030182A 2000-02-08 2000-02-08 Fifo回路 Pending JP2001222407A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000030182A JP2001222407A (ja) 2000-02-08 2000-02-08 Fifo回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000030182A JP2001222407A (ja) 2000-02-08 2000-02-08 Fifo回路

Publications (1)

Publication Number Publication Date
JP2001222407A true JP2001222407A (ja) 2001-08-17

Family

ID=18555225

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000030182A Pending JP2001222407A (ja) 2000-02-08 2000-02-08 Fifo回路

Country Status (1)

Country Link
JP (1) JP2001222407A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008071151A (ja) * 2006-09-14 2008-03-27 Oki Electric Ind Co Ltd 非同期データ保持回路

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008071151A (ja) * 2006-09-14 2008-03-27 Oki Electric Ind Co Ltd 非同期データ保持回路
JP4758311B2 (ja) * 2006-09-14 2011-08-24 Okiセミコンダクタ株式会社 非同期データ保持回路

Similar Documents

Publication Publication Date Title
US6260152B1 (en) Method and apparatus for synchronizing data transfers in a logic circuit having plural clock domains
JP3856696B2 (ja) 2倍データ速度同期式動的ランダムアクセスメモリのための構成可能同期装置
KR100434833B1 (ko) 직렬/병렬 변환 회로, 데이터 전송 제어 장치 및 전자 기기
JP3712471B2 (ja) コンピュータシステム及び第1の回路と第2の回路との間でデータを転送するインタフェース回路
US8520464B2 (en) Interface circuit and semiconductor device incorporating same
JP3645584B2 (ja) データ転送同期装置
US6249875B1 (en) Interface circuit using plurality of synchronizers for synchronizing respective control signals over a multi-clock environment
JP2007525766A (ja) マルチポートメモリシステムにおける衝突検出
US5539739A (en) Asynchronous interface between parallel processor nodes
US20100322365A1 (en) System and method for synchronizing multi-clock domains
US5128970A (en) Non-return to zero synchronizer
US6957399B2 (en) Controlling the propagation of a digital signal by means of variable I/O delay compensation using delay-tracking
KR20040063283A (ko) 제어신호 발생회로 및 상기 제어신호 발생회로를 구비하는데이터 전송회로
US6952791B2 (en) Method and circuit for initializing a de-skewing buffer in a clock forwarded system
JP2001222407A (ja) Fifo回路
EP3739463B1 (en) Circuit for asynchronous data transfer
JPH09321826A (ja) データ転送システム
US7899955B2 (en) Asynchronous data buffer
JP3790158B2 (ja) Fifo回路
KR19990086737A (ko) 비동기식 선입선출 시스템의 제어 장치
JP3562416B2 (ja) Lsi間データ転送システム及びそれに用いるソースシンクロナスデータ転送方式
KR100400933B1 (ko) 키폰시스템의 중앙처리장치와 주변장치간의 동기화장치
CN117411465A (zh) 一种时钟切换电路、芯片及电子设备
US20030133528A1 (en) Aligned clock forwarding scheme
CN116107950A (zh) 数据处理装置、通信系统、芯片、板卡、电子设备

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040707

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040713

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20041109