JP2000305895A - 非同期インターフェース - Google Patents

非同期インターフェース

Info

Publication number
JP2000305895A
JP2000305895A JP11114471A JP11447199A JP2000305895A JP 2000305895 A JP2000305895 A JP 2000305895A JP 11114471 A JP11114471 A JP 11114471A JP 11447199 A JP11447199 A JP 11447199A JP 2000305895 A JP2000305895 A JP 2000305895A
Authority
JP
Japan
Prior art keywords
flip
flop
clock
data
buffer
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
JP11114471A
Other languages
English (en)
Inventor
Takanori Furuzono
貴則 古園
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 JP11114471A priority Critical patent/JP2000305895A/ja
Publication of JP2000305895A publication Critical patent/JP2000305895A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Systems (AREA)

Abstract

(57)【要約】 【課題】 必要最少限のバッファ構成で、データの受け
渡しタイミングの保証の容易な非同期インターフェース
を提供する。 【解決手段】 非同期インターフェースは、ライトバッ
ファ20、21、リードバッファ45へのデータの書き
込みをクロック10に同期して、ライトバッファ25、
リードバッファ40、41へのデータの書き込みをクロ
ック11に同期して行なうことで、クロック10とクロ
ック11の間のデータの同期化を行なっている。この
際、ライトバッファ20、21、リードバッファ45へ
のデータの書き込みは、クロック10とクロック11の
間のデータの受け渡しの安全なタイミングを通知する同
期信号12のアサートされたサイクルでのみ許可され
る。これにより、少ないバッファ構成でタイミングの保
証の容易な非同期インターフェースを実現している。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータおよ
びディジタル製品分野に属し、より具体的には周波数の
異なるクロックに同期した回路の間のデータ転送制御を
行なう非同期インターフェースに関するものであり、回
路規模の削減と転送タイミングの保証の容易化を図った
非同期インターフェースである。
【0002】
【従来の技術】従来、周波数の異なるクロックに同期し
た回路の間のデータ転送制御を行なうための非同期イン
ターフェースとしては、特開平5−227136号に記
載されているようなFIFO制御を行なうものが知られ
ている。
【0003】この非同期インターフェースは図9に示す
ような構成で、クロック1010に同期して、FIFO
として構成されたバッファにデータを書き込み、クロッ
ク1011に同期してバッファからデータを読み出すも
のである。
【0004】
【発明が解決しようとする課題】しかしながら、上記従
来技術においては以下に述べるような問題がある。
【0005】FIFOのバッファ構成を最低限(2並
列)に抑えて、クロック1011側へノーウェイトのラ
イトアクセスを連続して行なわなくてはならない場合に
は、クロック1011側への書き込みデータを、データ
バリッド(正論理)がネゲートされてバッファデータがイ
ンバリッドになったのをうけて、次のクロック1010
の立ち上がりでバッファに書き込むことになる。しか
し、クロック1011とクロック1010の位相関係
は、それぞれの周波数が異なる場合、任意の関係となる
ため、図10のタイミングチャートに示すように、クロ
ック1011側への書き込みデータが確定するのが、ク
ロック1010の立ち上がりまでに充分なセットアップ
タイムを経ることが出来ない場合が生じる。また図11
のタイミングチャートに示すように、クロック1011
側への書き込みデータは、クロック1011の立ち上が
りから充分なホールドタイムを経ずに、クロック101
0の立ち上がりで書き換えられてしまい、誤ったデータ
として書き込まれてしまう場合が生じる。結果的にバッ
ファ構成を最低限に抑えた場合は、データの受け渡しタ
イミングの保証が困難となり、これを保証しようとする
と、余分にバッファを持って構成されていた。
【0006】本発明はこのような問題点を鑑み、バッフ
ァ構成を最低限に抑えつつ、データの受け渡しタイミン
グの保証を容易にすることを図った非同期インターフェ
ースである。
【0007】
【課題を解決するための手段】請求項1記載の非同期イ
ンターフェースは、周波数、位相の異なる第1のクロッ
クと第2のクロック間のデータ転送を行なうための非同
期インターフェースであって、並列に配置された複数系
統のバッファと、同期信号を生成する同期信号生成部
と、複数系統のバッファに格納されたデータを系統毎に
セレクトするセレクタを有し、複数系統のバッファへの
データの書き込みもしくは読み出しが、同期信号に基づ
いて決定されるタイミングで行なわれる。
【0008】請求項2記載の非同期インターフェース
は、同期信号生成部が、安定なデータ受け渡しタイミン
グを通知する同期信号を生成するため、第2のクロック
の立ち上がり毎に値を反転し、かつ互いに排他的な論理
をとる第1のフリップフロップと第4のフリップフロッ
プと、第1のクロックの立ち下がりで第1のフリップフ
ロップの値を取り込む第2のフリップフロップと、第1
のクロックの立ち下がりで第2のフリップフロップの値
を取り込む第3のフリップフロップと、第1のクロック
の立ち下がりで第4のフリップフロップの値を取り込む
第5のフリップフロップと、第1のクロックの立ち下が
りで第5のフリップフロップの値を取り込む第6のフリ
ップフロップとを有し、同期信号が、第2のフリップフ
ロップの値と第3のフリップフロップの値を論理反転し
た値との論理積と、第5のフリップフロップの値と第6
のフリップフロップの値を論理反転した値との論理積と
の論理和によって与えられる。
【0009】請求項3記載の非同期インターフェース
は、同期信号生成部が、安定なデータ受け渡しタイミン
グを通知する同期信号を生成するため、同期信号生成部
が、第2のクロックの立ち上がり毎にセットされる第1
のフリップフロップと、第1のクロックの立ち下がりで
第1のフリップフロップの値を取り込む第2のフリップ
フロップを有し、第1のフリップフロップが第2のフリ
ップフロップがセットされた場合にリセットされ、同期
信号が第2のフリップフロップの値で与えられる。
【0010】
【発明の実施の形態】本発明の実施形態について図1か
ら図8を用いて説明する。
【0011】図2は本発明による非同期インターフェー
スを用いた情報システムの構成例であり、非同期インタ
ーフェース1、メモリインターフェース3、メモリ4、
CPU2で構成される。CPU2はバス制御機能を有し
ており、非同期インターフェース1とは後に非同期イン
ターフェース1の動作で説明するようにハンドシェーク
を行なってデータの授受を行なっている。またメモリイ
ンターフェース3はメモリ4としてSDRAMなどのバ
ースト転送をサポートするようなメモリとのインターフ
ェースを行なうもので、非同期インターフェース1と
は、ノーウェイトの連続アクセスを行なうことが要求さ
れるものである。このメモリインターフェース3と非同
期インターフェース1とのプロトコルもハンドシェーク
となっている。CPU2とメモリインターフェース3
は、位相関係の保証されない異なる周波数で動作し、C
PU2へのクロック10の周波数は、メモリインターフ
ェース3へのクロック11の周波数より高い周波数であ
る。
【0012】図1は本発明の非同期インターフェース1
の構成を示したものである。非同期インターフェース1
はおおまかに、同期信号生成部5、ライトデータ制御部
6、リードデータ制御部7から構成される。
【0013】同期信号生成部5は、クロック10、クロ
ック11、リセット120を入力とし、同期信号12を
出力する箇所である。同期信号12は、異なる周波数ド
メインのデータの受け渡しを安定なタイミングで行なえ
るタイミングを通知するための信号である。
【0014】ライトデータ制御部6は、クロック10側
からクロック11側へのデータ転送、同期化制御を行な
う箇所である。ライトデータ制御部6は、ライトバッフ
ァ20、ライトバッファ21、セレクタ22、ライトバ
ッファ25、ライトバッファバリッドフラグ23、ライ
トバッファバリッドフラグ24、ライトバッファバリッ
ドフラグ26、ライトバッファバリッドフラグ27、ラ
イトバッファセレクト202、ライトバッファセレクト
205から構成される。ライトバッファ20、ライトバ
ッファ21、ライトバッファ25、ライトバッファバリ
ッドフラグ23、ライトバッファバリッドフラグ24、
ライトバッファバリッドフラグ26、ライトバッファバ
リッドフラグ27、ライトバッファセレクト202、ラ
イトバッファセレクト205はそれぞれDフリップフロ
ップであり、とりわけライトバッファ20、ライトバッ
ファ21、ライトバッファ25はロード/ホールド端子
(LH)のついた、ロードホールド型フリップフロップ
であり、ライトバッファバリッドフラグ23、ライトバ
ッファバリッドフラグ24、ライトバッファセレクト2
02の1ビット目、ライトバッファセレクト205の1
ビット目は、ロード/ホールド端子(LH)とリセット
端子(R)のついたリセット端子つきロードホールド型
フリップフロップであり、ライトバッファバリッドフラ
グ24、ライトバッファセレクト202の0ビット目、
ライトバッファセレクト205の0ビット目は、セット
端子(S)のついたセット端子つきロードホールド型フ
リップフロップである。
【0015】リードデータ制御部7は、クロック11側
からクロック10側へのデータ転送、同期化制御を行な
う箇所である。リードデータ制御部7は、リードリクエ
ストバリッドフラグ33、リードリクエストバリッドフ
ラグ34、リードリクエストバリッドフラグ36、リー
ドリクエストバリッドフラグ37、リードリクエストセ
レクト305、リードリクエスト111、リードバッフ
ァ40、リードバッファ41、リードバッファ45、セ
レクタ42、リードバッファセレクト405、リードバ
ッファバリッドフラグ43、リードバッファバリッドフ
ラグ44、リードバッファバリッドフラグ46、データ
アクノリッジ106で構成される。
【0016】リードリクエストバリッドフラグ33、リ
ードリクエストバリッドフラグ34、リードリクエスト
バリッドフラグ36、リードリクエストバリッドフラグ
37、リードリクエストセレクト305、リードリクエ
スト111、リードバッファ40、リードバッファ4
1、リードバッファ45、リードバッファセレクト40
2、リードバッファセレクト405、リードバッファバ
リッドフラグ43、リードバッファバリッドフラグ4
4、リードバッファバリッドフラグ46、データアクノ
リッジ106はそれぞれDフリップフロップであり、と
りわけリードバッファ40、リードバッファ41、リー
ドバッファ45はロード/ホールド端子(LH)のつい
た、ロードホールド型フリップフロップであり、リード
リクエストバリッドフラグ33、リードリクエストバリ
ッドフラグ34、リードリクエストバリッドフラグ3
6、リードリクエストバリッドフラグ37、リードリク
エストセレクト305の1ビット目、リードバッファバ
リッドフラグ43、リードバッファバリッドフラグ4
4、リードバッファセレクト402の1ビット目と、リ
ードバッファセレクト405の1ビット目は、ロード/
ホールド端子(LH)とリセット端子(R)のついたリ
セット端子つきロードホールド型フリップフロップであ
り、リードリクエストセレクト305の0ビット目、リ
ードバッファセレクト402の0ビット目、リードバッ
ファセレクト405の0ビット目は、ロード/ホールド
端子(LH)とセット端子(S)のついたセット端子つ
きロードホールド型フリップフロップである。
【0017】非同期インターフェース1の動作を図3、
図4のタイミングチャートを用いて説明する。
【0018】図3はクロック10同期側の回路からクロ
ック11同期側の回路へのデータの転送、つまり、クロ
ック10側をマスタとしてみた場合のライトアクセスの
動作タイミングを示したタイミングチャートである。
【0019】まず、(最初のアクセスでは)サイクルm
1でライトリクエスト100(負論理)がアサートされ
る。ライトリクエスト100はデータ入力103のデー
タが転送する有効なデータであることを通知し、クロッ
ク11側へのデータ転送を要求する信号であり、リクエ
ストアクノリッジ102(負論理)を非同期インターフ
ェース1がアサートしているクロック10の立ち上がり
エッジまで有効なデータとともにアサートされ続ける。
【0020】非同期インターフェース1は、ライトリク
エスト100がアサートされていたら、このデータ入力
103のデータを同期信号12(正論理)のアサートさ
れているサイクル、例えばサイクルm2でライトバッフ
ァ20、またはライトバッファ21に書き込む。ライト
バッファ20、またはライトバッファ21のいずれに書
き込むかは、ラッチイネーブル200(正論理)がアサ
ートされた場合はライトバッファ20に、ラッチイネー
ブル201(正論理)のアサートされた場合はライトバ
ッファ21に書き込まれる。ラッチイネーブル200は
2ビットから成るライトバッファセレクト202(正論
理)の0ビット目がアサートされていて、ライトバッフ
ァ20に同期化されていない有効なデータがあることを
示すライトバッファバリッドフラグ23(正論理)がセ
ットされていない場合にアサートすることができ、ラッ
チイネーブル201はライトバッファセレクト202の
1ビット目がアサートされていて、ライトバッファ20
に同期化されていない有効なデータがあることを示すラ
イトバッファバリッドフラグ24(正論理)がセットさ
れていない場合にアサートすることができる。ライトバ
ッファセレクト202の0,1ビットは排他的にどちら
かのビットがアサートされるよう構成されており、ラッ
チイネーブル200、201のいずれかがアサートされ
た立ち上がりエッジでアサートされるビットが切り換わ
るようになっている。図3の例では、サイクルm2では
ラッチイネーブル200がアサートされ、ライトバッフ
ァ20にデータ入力103のデータが書き込まれる。
【0021】ライトバッファ20、21にデータが書き
込まれるのと同じサイクルで、それぞれライトバッファ
バリッドフラグ23、24がセットされる。このライト
バッファバリッドフラグ23、24はそれぞれラッチイ
ネーブル200、201をロード信号としてハイレベル
をラッチするようになっている。図3の例では、サイク
ルm2でライトバッファバリッドフラグ23がセットさ
れている。
【0022】クロック11に同期するためのデータはセ
レクタ22によって、ライトバッファ20または21の
データからセレクトされる。セレクタ22でのセレクト
は、2ビットから成るライトバッファセレクト205
(正論理)の0ビット目がアサートされている場合はラ
イトバッファ20のデータが、1ビット目がアサートさ
れている場合はライトバッファ21の値がセレクトされ
る。ライトバッファセレクト205の0,1ビットは排
他的にどちらかのビットがアサートされるよう構成され
ており、ラッチイネーブル210(正論理)がアサート
されたクロック11の立ち上がりエッジでアサートされ
るビットが切り換わるようになっている。
【0023】ライトバッファバリッドフラグ26(正論
理)、およびライトバッファバリッドフラグ27(正論
理)はクロック11の立ち上がりでそれぞれライトバッ
ファバリッドフラグ23、24の値を格納する。ライト
バッファバリッドフラグ26がセットされている場合
は、ライトバッファバリッドフラグ23がリセットさ
れ、ライトバッファバリッドフラグ27がセットされて
いる場合は、ライトバッファバリッドフラグ24がリセ
ットされる。
【0024】ライトバッファ25へのデータの書き込み
は、ライトバッファバリッドフラグ23と24の論理和
によるラッチイネーブル210がアサートされたクロッ
ク11の立ち上がりで行なわれる。このライトバッファ
25へのデータの書き込みが異なるクロックドメイン間
でのデータの受渡し箇所となるが、後述するように同期
信号12のアサートされたクロック10の立ち上がりエ
ッジと、クロック11の立ち上がりエッジとは、最低の
位相間隔が保証可能なため、不安定なデータの受渡しが
行なわれることがない。ちなみにライトバッファ25
は、クロック11側への転送タイミングを緩和するため
のものであり、クロック11側で充分高速に動作可能な
場合には、必ずしも必要はない。
【0025】クロック11に同期する回路へのデータ出
力の通知は、ライトリクエスト110(負論理)をアサ
ートして行なう。ライトリクエスト110は、ラッチイ
ネーブル210がアサートされたクロック11の立ち上
がりで行なわれ、いったんアサートされるとアクノリッ
ジ112(負論理)がアサートされたクロック11の立
ち上がりまでアサートされ、ライトバッファ25の値で
あるデータ出力113が有効な出力データであることを
通知する。図3の例ではs1でライトリクエスト110
がアサートされ、ノーウェイトでアクノリッジ112が
アサートされたためサイクルs2の立ち上がりで最初の
アクセスを完了している。
【0026】以上では図3の例について、最初のデータ
(wd0)の転送について説明してきたが、サイクルm
2から転送される次のデータ(wd1)は、サイクルm
5でライトバッファ21に、サイクルs2でライトバッ
ファ25に書き込まれてクロック11に同期したデータ
となっている。さらに次のサイクルm5からのデータ
(wd2)は、最初のデータ(wd0)がすでにクロッ
ク11に同期化されて転送済みなので再びライトバッフ
ァ20に書き込むことが可能である。以上のようにクロ
ック10側からクロック11側への転送では、ライトバ
ッファ20、21へ交互にデータを書き込むことによっ
て同期化を実現させている。
【0027】次に以下ではクロック11同期側の回路か
らクロック10同期側の回路へのデータの転送を説明す
る。図4はクロック11同期側の回路からクロック10
同期側の回路へのデータの転送、つまり、クロック10
側をマスタとしてみた場合のリードアクセスの動作タイ
ミングを示したタイミングチャートである。
【0028】まず、(最初のアクセスでは)サイクルm
1でリードリクエスト101(負論理)がアサートされ
る。リードリクエスト101はクロック11側のデータ
の読み出しを要求する信号であり、リクエストアクノリ
ッジ102(負論理)を非同期インターフェース1がア
サートしているクロック10の立ち上がりエッジまでア
サートされる。
【0029】非同期インターフェース1はリードリクエ
スト101がアサートされていたら、同期信号12のア
サートされているサイクル、例えばサイクルm2でリー
ドリクエストバリッドフラグ33(正論理)、リードリ
クエストバリッドフラグ34(正論理)のいずれかをセ
ットする。リードリクエストバリッドフラグ33、34
の書き込みについては、2ビットから成るリードリクエ
ストセレクト305(正論理)の0ビット目がアサート
されている場合はリードリクエストバリッドフラグ33
が、1ビット目がアサートされている場合はリードリク
エストバリッドフラグ34が書き込み可能となる。リー
ドリクエストセレクト305の0,1ビットは排他的に
どちらかのビットがアサートされるよう構成されてお
り、リードリクエストバリッドフラグ33、34のいず
れかがセットされる度に、リードリクエストセレクト3
05のセットされるビットが切り替わるようになってい
る。図4の例ではサイクルm2でリクエストバリッドフ
ラグ33がセットされる。
【0030】リードリクエストバリッドフラグ36(正
論理)、およびリードリクエストバリッドフラグ37
(正論理)はクロック11の立ち上がりでそれぞれリー
ドリクエストバリッドフラグ33、34の値を格納す
る。リードリクエストバリッドフラグ36がセットされ
ている場合は、リードリクエストバリッドフラグ33が
リセットされ、リードリクエストバリッドフラグ37が
セットされている場合は、リードリクエストバリッドフ
ラグ33がリセットされる。
【0031】クロック11に同期する回路への読み出し
の要求は、リードリクエスト111(負論理)をアサー
トして行なう。リードリクエスト111は、リードリク
エストバリッドフラグ33と34の論理和によるリクエ
ストイネーブル310がアサートされたクロック11の
立ち上がりでアサート、いったんアサートされるとアク
ノリッジ112(負論理)がアサートされたクロック1
1の立ち上がりまでアサートされる。図4の例ではs1
でリードリクエスト111がアサートされ、ノーウェイ
トでアクノリッジ112がアサートされたためサイクル
s2の立ち上がりで最初のアクセスを完了している。
【0032】リードアクセス時にはアクノリッジ112
をアサートするサイクルで、データ入力114が有効な
読み出しデータとなる。リードリクエスト111をアサ
ートしているサイクルで、アクノリッジ112がアサー
トされたら、非同期インターフェース1はデータ入力1
14のデータを、リードバッファ40またはリードバッ
ファ41に書き込む。ラッチイネーブル400は、リー
ドリクエスト111とアクノリッジ112の論理和の否
定を、リードバッファセレクト402(正論理)の0ビ
ット目と論理積したもので、ラッチイネーブル400が
アサートされているクロック11の立ち上がりで、リー
ドバッファ40にデータ入力114のデータが書き込ま
れる。同様にラッチイネーブル401は、リードイネー
ブル111とアクノリッジ112の論理和の否定を、リ
ードバッファセレクト402(正論理)の1ビット目と
論理積したもので、ラッチイネーブル400がアサート
されているクロック11の立ち上がりで、リードバッフ
ァ40にデータ入力114のデータが書き込まれる。
【0033】2ビットから成るリードバッファセレクト
402の0,1ビットは排他的にどちらかのビットがア
サートされるよう構成されており、ラッチイネーブル4
00、401いずれかがアサートされる度に、アサート
されるビットが切り替わる。図4の例では、サイクルs
1でラッチイネーブル400がアサートされ、サイクル
s2の立ち上がりでリードバッファ40にデータが書き
込まれる。
【0034】リードバッファ40、41にデータが書き
込まれるのと同じサイクルで、それぞれリードバッファ
バリッドフラグ43、44がセットされる。このリード
バッファバリッドフラグ43、44はそれぞれラッチイ
ネーブル400、401をロード信号としてハイレベル
をラッチするようになっている。図4の例では、サイク
ルmでリードバッファバリッドフラグ43がセットされ
る。
【0035】リードバッファバリッドフラグ46(正論
理)はクロック10の立ち上がりでそれぞれリードバッ
ファバリッドフラグ43と44の論理和を格納する。ラ
イトバッファバリッドフラグ46がセットされている場
合に、同期信号12がアサートされていれば、リードバ
ッファバリッドフラグ46はリセットされる。
【0036】リードバッファ45へのデータの書き込み
は、リードバッファバリッドフラグ43と44の論理和
と同期信号12との論理積によるラッチイネーブル41
0がアサートされたクロック10の立ち上がりで行なわ
れる。リードバッファ45へ書き込まれるデータはセレ
クタ42で、セレクトされたリードバッファ40もしく
はリードバッファ41のデータが書き込まれる。
【0037】セレクタ42でのセレクトは、2ビットか
ら成るライトバッファセレクト405(正論理)の0ビ
ット目がアサートされている場合はリードバッファ40
のデータが、1ビット目がアサートされている場合はリ
ードバッファ41の値がセレクトされる。リードバッフ
ァセレクト405の0,1ビットは排他的にどちらかの
ビットがアサートされるよう構成されており、ラッチイ
ネーブル410(正論理)がアサートされたクロック1
1の立ち上がりエッジでアサートされるビットが切り換
わるようになっている。
【0038】リードバッファ45へのデータの書き込み
が異なるクロックドメイン間でのデータの受渡し箇所と
なる。ちなみにリードバッファ45は、クロック10側
への転送タイミングを緩和するためのものであり、クロ
ック10側で充分高速に動作可能な場合には、必ずしも
必要はない。
【0039】非同期インターフェース1はこうして読み
出したデータを転送するため、リードバッファ45の値
であるデータ出力105のデータが有効な読み出しデー
タであることをデータアクノリッジ106(負論理)を
1サイクルアサートして通知する。データアクノリッジ
106はクロック10の立ち上がりで、ラッチイネーブ
ル410の値をラッチしたものである。
【0040】以上では図4の例について、最初のデータ
(rd0)の転送について説明してきたが、サイクルm
2からの次のリクエストは、サイクルm5でリードリク
エストバリッドフラグ34がセットされて、サイクルs
2からスレーブへのアクセスを開始している。ここでリ
ードしたデータ(rd1)はサイクルs3でリードバッ
ファ41に書き込まれ、サイクルm10でリードバッフ
ァ41に書き込まれて、クロック10側に転送されてい
る。さらに次のサイクルm5からのリクエストでは、最
初のデータ(rd0)がすでにクロック10に同期化さ
れて転送済みなので再びリードバッファ40に書き込む
ことが可能である。以上のようにクロック11側からク
ロック10側への転送では、リードバッファ40、41
へ交互にデータを書き込むことによって同期化を実現さ
せている。
【0041】なお、図1の構成では転送されるデータは
1ビットとしているが、ライトバッファ20、21、2
5、リードバッファ40、41、45をそれぞれデータ
のビット幅の分持つ構成とすることで、その他の制御信
号は共通のままで、多ビットのデータ転送にも対応でき
る。
【0042】図5に同期信号12を生成する同期信号生
成部5の構成を示す。また、図6に図5の構成の同期信
号生成部5により同期信号12が生成されるタイミング
チャートを示す。
【0043】同期信号生成部5はそれぞれ、Dフリップ
フロップであるフリップフロップ500、フリップフロ
ップ501、フリップフロップ502、フリップフロッ
プ503、フリップフロップ504、フリップフロップ
505で構成される。特にフリップフロップ500はセ
ット端子つきフリップフロップであり、フリップフロッ
プ501はリセット端子つきフリップフロップである。
【0044】フリップフロップ500とフリップフロッ
プ501は、クロック11の立ち上がり毎に値を反転す
る。フリップフロップ500、501はシステムリセッ
ト時にそれぞれセット、リセットされ、以降互いに反転
した値をとる。フリップフロップ502とフリップフロ
ップ503は、クロック10の立ち下がりエッジで、そ
れぞれフリップフロップ500、501の値を取り込
む。そしてさらに、フリップフロップ504とフリップ
フロップ505がクロック10の立ち下がりエッジで、
それぞれフリップフロップ502、503の値を取り込
んで1サイクル遅延させている。フリップフロップ50
0がアサートされ、フリップフロップ502がネゲート
されているか、フリップフロップ501がアサートさ
れ、フリップフロップ503がネゲートされた場合に同
期信号12がアサートされる。
【0045】この同期信号12は、クロック11の立ち
上がりエッジからの最初のクロック10の立ち下がりエ
ッジから、その次のクロック10の立ち下がりエッジま
でアサートされる信号である。クロック10に同期する
バッファ(ライトバッファ20、21、リードバッファ
40、41)を2並列で持てば、それぞれのバッファの
データの受け渡しはクロック11の2サイクルに一回と
なる。そのため、クロック10の周波数がクロック11
の周波数より高いという関係のもとでは、同期信号12
のアサートされたクロック10の立ち上がりでクロック
10に同期するバッファの書き換えを行えば、クロック
11側のデータの受け渡しが行われるクロック11の立
ち上がりエッジと、前述のクロック10の立ち上がりか
らはクロック10の半サイクル以上は離れることにな
る。そのため、セットアップ、ホールド時間としてクロ
ック10半サイクルが保証される。
【0046】クロック10とクロック11の位相関係に
よっては、クロック10の立ち下がりエッジがクロック
11の立ち上がりエッジから充分離れていないため、最
初の立ち下がりエッジでは同期信号12がアサートされ
なずに、同期信号12が次のクロック10の立ち下がり
からアサートされる場合がある。この場合は同期信号1
2のアサートされているクロック10の立ち上がりエッ
ジとデータの受け渡しの行われるクロック11の立ち上
がりエッジとの間隔は、クロック10の半サイクルを下
回ることになるが、最低でもクロック10の半サイクル
からフリップフロップ502およびフリップフロップ5
03のセットアップ時間を引いた時間は保証される。
【0047】同期信号生成部5の構成としては図7のよ
うな構成も可能である。この図7の構成による同期信号
生成部5の動作タイミングのタイミングチャートを図8
に示す。
【0048】この同期信号生成部5はDフリップフロッ
プであるフリップフロップ600とリップフロップ60
1で構成される。フリップフロップ600はリセット端
子つきフリップフロップである。この同期信号生成部5
には、リセット信号120は特に必要ない。
【0049】フリップフロップ600はクロック11の
立ち上がりエッジでセットされる。フリップフロップ6
01はフリップフロップ600の値をクロック10の立
ち下がりエッジで取り込む。フリップフロップ600は
フリップフロップ600がセットされるとリセットされ
る。フリップフロップ601の値が同期信号12とな
る。
【0050】なお、これまでの説明でのバスインターフ
ェースのプロトコルや各信号の正論理、負論理の違いに
ついては以上の例以外の構成も可能であることは明らか
である。
【0051】
【発明の効果】請求項1記載の非同期インターフェース
によれば、複数並列の構成されたバッファの読み書き
を、周波数の異なる第1のクロックと第2のクロックの
間のデータの安定な受け渡しタイミングを通知する同期
信号に基づいて行なうことで、最少限のバッファ構成で
の、連続したデータアクセスを含むデータ転送時のデー
タ受け渡しのためのタイミングマージンの保証できる効
果がある。
【0052】請求項2記載の非同期インターフェースに
よれば、ある第2のクロックの立ち上がりエッジから、
第1のクロック半サイクル以上経て、バッファデータの
書き換えが行なわれることで、データ受け渡しのための
充分なタイミングマージンを確保する効果がある。
【0053】請求項3記載の非同期インターフェースに
よれば、第1のフリップフロップが第2のフリップフロ
ップがセットされた場合にリセットされることで、同期
信号生成部が小規模の回路で実現される効果がある。
【図面の簡単な説明】
【図1】本発明の非同期インターフェース1の構成図
【図2】本発明の非同期インターフェース1を用いた情
報システムの構成図
【図3】非同期インターフェース1の書き込みアクセス
のタイミングチャート
【図4】非同期インターフェース1の読み出しアクセス
のタイミングチャート
【図5】請求項2による同期信号生成部5の構成図
【図6】請求項2による同期信号生成部5の同期信号1
2生成のタイミングチャート
【図7】請求項3による同期信号生成部5の構成図
【図8】請求項3による同期信号生成部5の同期信号1
2生成のタイミングチャート
【図9】従来技術による非同期インターフェースの構成
【図10】従来技術による非同期インターフェースでセ
ットアップエラーが生じる場合のタイミングチャート
【図11】従来技術による非同期インターフェースでホ
ールドエラーが生じる場合のタイミングチャート
【符号の説明】
1 非同期インターフェース 2 CPU 3 メモリコントローラ 4 メモリ 5 同期信号生成部 6 ライトデータ制御部 7 リードデータ制御部 10、11 クロック 12 同期信号 20、21、25 ライトバッファ 22、42 セレクタ 23、24、26、27 ライトバッファバリッドフラ
グ 33、34、36、37 リードリクエストバリッドフ
ラグ 40、41、45 リードバッファ 43、44、46 リードバッファバリッドフラグ 100 ライトリクエスト 101 リードリクエスト 102 リクエストアクノリッジ 103 データ入力 104 データ出力 106 データアクノリッジ 110 ライトリクエスト 111 リードリクエスト 112 アクノリッジ 113 データ出力 114 データ入力 120 リセット 200、201、210、310、400、401、4
10 ラッチイネーブル 202、205 ライトバッファセレクト 305 リードリクエストセレクト 402、405 リードバッファセレクト

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】第1のクロックに同期した回路と第2のク
    ロックに同期した回路の間のデータ転送制御を行なう非
    同期インターフェースであって、並列に配置された複数
    系統のバッファと、前記複数系統のバッファに格納され
    たデータを系統毎にセレクトするセレクタと、前記第1
    のクロックと前記を有し、前記第2のクロックを入力と
    し、同期信号を生成する同期信号生成部を有し、前記複
    数系統のバッファへのデータの書き込みもしくは読み出
    しが、前記同期信号に基づいて決定されるタイミングで
    行なわれることを特徴とする非同期インターフェース。
  2. 【請求項2】前記同期信号生成部が、前記第2のクロッ
    クの立ち上がり毎に値を反転し、かつ互いに排他的な論
    理をとる第1のフリップフロップと第4のフリップフロ
    ップと、前記第1のクロックの立ち下がりで前記第1の
    フリップフロップの値を取り込む第2のフリップフロッ
    プと、前記第1のクロックの立ち下がりで前記第2のフ
    リップフロップの値を取り込む第3のフリップフロップ
    と、前記第1のクロックの立ち下がりで前記第4のフリ
    ップフロップの値を取り込む第5のフリップフロップ
    と、前記第1のクロックの立ち下がりで前記第5のフリ
    ップフロップの値を取り込む第6のフリップフロップと
    を有し、前記同期信号が、前記第2のフリップフロップ
    の値と前記第3のフリップフロップの値を論理反転した
    値との論理積と、前記第5のフリップフロップの値と前
    記第6のフリップフロップの値を論理反転した値との論
    理積との論理和によって与えられることを特徴とする請
    求項1記載の非同期インターフェース。
  3. 【請求項3】前記同期信号生成部が、前記第2のクロッ
    クの立ち上がり毎にセットされる第1のフリップフロッ
    プと、前記第1のクロックの立ち下がりで前記第1のフ
    リップフロップの値を取り込む第2のフリップフロップ
    を有し、前記第1のフリップフロップが第2のフリップ
    フロップがセットされた場合にリセットされ、前記同期
    信号が第2のフリップフロップの値で与えられることを
    特徴とする請求項1記載の非同期インターフェース。
JP11114471A 1999-04-22 1999-04-22 非同期インターフェース Pending JP2000305895A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11114471A JP2000305895A (ja) 1999-04-22 1999-04-22 非同期インターフェース

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11114471A JP2000305895A (ja) 1999-04-22 1999-04-22 非同期インターフェース

Publications (1)

Publication Number Publication Date
JP2000305895A true JP2000305895A (ja) 2000-11-02

Family

ID=14638576

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11114471A Pending JP2000305895A (ja) 1999-04-22 1999-04-22 非同期インターフェース

Country Status (1)

Country Link
JP (1) JP2000305895A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7454589B2 (en) 2004-12-09 2008-11-18 Fujitsu Limited Data buffer circuit, interface circuit and control method therefor
US8463956B2 (en) 2010-03-04 2013-06-11 Ricoh Company, Ltd. Data transfer control apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7454589B2 (en) 2004-12-09 2008-11-18 Fujitsu Limited Data buffer circuit, interface circuit and control method therefor
US8463956B2 (en) 2010-03-04 2013-06-11 Ricoh Company, Ltd. Data transfer control apparatus

Similar Documents

Publication Publication Date Title
JPH07306827A (ja) P/q整数比関係を有する周波数で動作するディジタル装置間で同期データ伝送を行うための方法および装置
TW569087B (en) Efficient clock start and stop apparatus for clock forwarded system I/O
JP2002323995A (ja) トレース回路
JPS6083166A (ja) 半導体集積回路装置
JP2007048022A (ja) 非同期バスインタフェース及びその処理方法
EP0337385B1 (en) Cache memory controller associated with a microprocessor
US20050198420A1 (en) Microcomputer minimizing influence of bus contention
JP2000305895A (ja) 非同期インターフェース
JP3686834B2 (ja) データ転送時間の調節方法、コンピュータシステム及びバス・デバイス
EP0462622B1 (en) Microprocessor capable of ensuring flexible recovery time for I/O device
US20060018185A1 (en) Memory control apparatus and electronic apparatus
JP5528939B2 (ja) マイクロコンピュータ
JP3563223B2 (ja) レジスタ回路
KR100400933B1 (ko) 키폰시스템의 중앙처리장치와 주변장치간의 동기화장치
US10742216B1 (en) Clock domain crossing for an interface between logic circuits
JP2637319B2 (ja) 直接メモリアクセス回路
JP2544886B2 (ja) デ―タ転送システムおよびデ―タ転送方法
JP2000076180A (ja) バス接続装置及び情報処理システム
JP3903872B2 (ja) 多重アクセス制御回路
JP2005157929A (ja) 半導体装置
KR100579419B1 (ko) Ddr sdram 데이터 전송을 위한 amba인터페이스 장치
JP4620492B2 (ja) バスインターフェイス回路
JP2697772B2 (ja) 情報処理装置
JP2645462B2 (ja) データ処理システム
JP2007128438A (ja) データ転送回路