(57)【特許請求の範囲】
【請求項１】
異なる周波数で互いに非同期で動作している複数の転送装置間で、有効なデータ信号を送信したことを表す有効データ送信信号とデータ信号の受信が完了したことを表す受信完了信号とを用いたハンドシェイク方式でデータ転送を行う非同期転送システムにおける非同期転送装置であって、
送信回路を有し、この送信回路は、
上記データ信号を転送先に転送する転送手段と、
有効データ送信信号を検出したときに、上記転送手段を、データ信号を保持する動作停止状態にする一方、有効データ送信信号を検出せず、かつ、上記転送先からの受信完了信号を検出したときに、上記転送手段を、データ信号を取り込む動作状態にさせる送信制御手段とを備えていることを特徴とする非同期転送装置。
【請求項２】
請求項１に記載の非同期転送装置において、
上記送信制御手段は、
少なくとも上記有効データ送信信号と受信完了信号とに基いて、上記転送手段に供給するクロック信号を制御する送信用クロック信号制御手段であることを特徴とする非同期転送装置。
【請求項３】
請求項２に記載の非同期転送装置において、
上記送信用クロック信号制御手段は、
上記転送手段に供給するクロック信号を停止させて、上記転送手段を上記停止状態にする送信用クロック信号停止手段を備えていることを特徴とする非同期転送装置。
【請求項４】
請求項１に記載の非同期転送装置において、
受信回路を有し、この受信回路は、
転送元からのデータ信号を受信する受信手段と、
上記転送元からの有効データ送信信号を受信したときに、上記受信手段を、データ信号を取り込む動作状態にすると共に、上記有効データ送信信号を取り込んで、上記転送元に受信完了信号を出力する一方、上記有効データ送信信号を検出しないときに、上記受信手段を、データ信号を取り込まない停止状態にする受信制御手段を備えていることを特徴とする非同期転送装置。
【請求項５】
請求項４に記載の非同期転送装置において、
上記受信制御手段は、
少なくとも上記有効データ送信信号に基いて、上記受信手段に供給するクロック信号を制御する受信用クロック信号制御手段であることを特徴とする非同期転送装置。
【請求項６】
請求項５に記載の非同期転送装置において、
上記受信用クロック信号制御手段は、
上記受信手段に供給するクロック信号を停止させて、上記受信手段を停止状態にする受信用クロック信号停止手段を備えていることを特徴とする非同期転送装置。
【請求項７】
異なる周波数で互いに非同期で動作している複数の転送装置間で、有効なデータ信号を送信したことを表す有効データ送信信号とデータ信号の受信が完了したことを表す受信完了信号とを用いたハンドシェイク方式でデータ転送を行う非同期転送方法であって、
転送元は、有効データ送信信号を検出したときに、データ転送動作を停止状態にする一方、上記転送元が、有効データ送信信号を検出せず、かつ、転送先からの受信完了信号を検出したときに、データ転送動作を開始すること特徴とする非同期転送方法。
【請求項８】
請求項７に記載の非同期転送方法において、
すくなくとも上記有効データ送信信号に基いて、上記データ転送動作に使用するクロック信号を制御して、上記データ転送動作を停止状態にすることを特徴とする非同期転送方法。
【請求項９】
請求項８に記載の非同期転送方法において、
上記クロック信号を停止させることによって、上記データ転送動作を停止状態にすることを特徴とする非同期転送方法。
【請求項１０】
請求項７に記載の非同期転送方法において、
転送元からの有効データ送信信号を受信すると、データ受信動作を開始し、
上記有効データ送信信号を取り込むと、上記転送元に受信完了信号を出力する一方、
上記転送元から有効データ送信信号を検出しないときに、データ受信動作を停止することを特徴とする非同期転送方法。
【請求項１１】
請求項１０に記載の非同期転送方法において、
少なくとも上記有効データ送信信号と上記受信完了信号に基いて、上記データ受信動作に使用するクロック信号を制御して、上記データ受信動作を開始することを特徴とする非同期転送方法。
【請求項１２】
請求項１１に記載の非同期転送方法において、
上記クロック信号を停止させることによって、上記受信動作を停止させることを特徴とする非同期転送方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
半導体集積回路において、異なる周波数で動作している複数の転送装置間において、ハンドシェイク方式を用いてデータ転送を行なう非同期転送装置および非同期転送方法に関する。
【０００２】
【従来の技術】
一般に、非同期転送を実現する手法として以下の（１），（２）の方式がある。
【０００３】
（１）  ハンドシェイクを用いた転送方式
（２）  高速クロックで仲介する方式
上記（１）のハンドシェイクを用いた転送方式は、広く知られた方法であり、図７に示す回路などで広く実現されている。図７に示す回路のタイミングチャートを図８に示す。
【０００４】
図７では、データ信号の記載を省略しており、回路Ａ１１と回路Ｂ１１との間で、送信データが有効であることを示す有効データ送信信号Ｔｒｅｑと、受信完了を示す受信完了信号Ｔａｃｋとが確実に相手に送信されることを示している。
【０００５】
この回路Ａ１１は、ＤタイプフリップフロップＦ１０１とＦ１０２からなり、クロック信号ｃｌｋＡで動作している。また、回路Ｂ１１は、ＤタイプフリップフロップＦ１０３とＦ１０５からなり、クロック信号ｃｌｋＢで動作している。したがって、回路Ａ１１と回路Ｂ１１とは非同期である。
【０００６】
まず、回路Ａ１１は、有効データ送信信号Ｔｒｅｑを“１”に立ち上げ、送信データが有効（Ｖａｌｉｄ）であるとして、データ信号ＴＤＡＴＡを回路Ｂ１１に送信する。一方、回路Ｂ１１は、クロック信号ｃｌｋＢの立ち上がりに同期を取り、上記データを取り込んでラッチする。
【０００７】
この回路Ｂ１１において、たとえ、１段目のフリップフロップＦ１０３での取り込みが不安定でも、２段目のフリップフロップＦ１０５での取り込みが行われるまで、つまり、有効データ送信信号Ｔｒｅｑ２が“１”に立ち上がり、回路Ｂ１１が備える例えばレジスタ（図示せず）に、上記データ信号ＴＤＡＴＡが取り込まれるまで、回路Ａ１１はデータ信号ＴＤＡＴＡを出力し続ける。
【０００８】
そして、回路Ｂ１１の上記レジスタが、データ信号ＴＤＡＴＡを取り込んで、データ信号ＲＤＡＴＡ（回路Ｂ１１内部のデータ）となると、回路Ｂ１１は、信号Ｔｒｅｑ２のタイミングで、受信の完了を示す受信完了信号Ｔａｃｋを回路Ａ１１に送信する。
【０００９】
一方、回路Ａ１１側も、この受信の完了を示す受信完了信号Ｔａｃｋを２段構成のフリップフロップＦ１０１とＦ１０２で受け取る。この回路Ａ１１は、上記受信完了信号Ｔａｃｋを信号Ｔａｃｋ２として受け取るまで、回路Ａ１１はデータ信号ＴＤＡＴＡをさらに出力し続けることになる。したがって、たとえ、両回路Ａ１１，Ｂ１１に不安定な期間があっても、確実な送受信がなされることになる。この不安定な期間は、特に、回路Ａ１１のクロック信号ｃｌｋＡと回路Ｂ１１のクロック信号ｃｌｋＢが同時に立ち上がった場合等に発生する。
【００１０】
図７に示す回路では、メタステーブル状態（クロック信号とデータ信号の同時変化によりレジスタの出力が発振している状態）を回避するために、回路Ａ１１と回路Ｂ１１の双方の遅延回路を２段にしている。したがって、１回のデータ転送に要する時間は、遅い方のクロックで４サイクル以上必要であり、データ転送のオーバーヘッド（制御や管理に費やされる時間）が大きい。
【００１１】
このオーバーヘッドが大きい問題に対しては、上記（２）の高速クロックで仲介する方式による解決策があり、特開平０５−２５７５６６号公報や、特開平１１−１６１５９９号公報に記載の内容が知られている。
【００１２】
しかし、この高速クロックで仲介する方法では、転送を仲介する回路が転送元と転送先の両方の回路よりも高速で動作する必要があるから、消費電力が増大する。
【００１３】
また、上記オーバーヘッドが大きい問題に対して、データ転送パス上の遅延回路を削減することで解決する方法が広く知られている。図９に示す回路は、データ転送パス上の遅延回路を削減する方法を実現した一例である。このデータ転送パス上の遅延回路を削減する方法では、メタステーブル状態による回路の誤動作を防ぐ必要がある。このことを以下に説明する。
【００１４】
すなわち、図９では、有効データ送信信号Ｔｒｅｑおよび受信完了信号Ｔａｃｋは、各回路Ａ１２，回路Ｂ１２内で、１段のフリップフロップＦ１１１，Ｆ１１２で取り込んでいる。この場合、回路Ｂ１２は、追加回路Ｈ１２を有している。この追加回路Ｈ１２がないと、回路Ａ１２と回路Ｂ１２との間での有効データ送信信号Ｔｒｅｑ，受信完了信号Ｔａｃｋおよびデータ信号ＴＤａｔａのやり取りにおける配線遅延やスキューによるタイミングのズレによって、図１０（Ａ）に矢印Ｐで示すようなデータ受信の誤動作が発生する。
【００１５】
すなわち、この図１０（Ａ）では、回路Ｂ１２内のフリップフロップＦ１１２が、有効データ送信信号Ｔｒｅｑを、クロック信号ｃｌｋＢの立ち上がりに同期を取って取り込み、有効データ送信信号Ｔｒｅｑ１のタイミングで受信完了信号Ｔａｃｋを回路Ａ１２側に送信する。このとき、同時に、回路Ａ１２側のクロック信号ｃｌｋＡが立ち上がった場合、回路Ａ１２は、信号Ｔａｃｋ１を取り込み、データ信号Ｔｄａｔａの送信を止める。ここで、回路Ｂ１２において、クロック信号ｃｌｋＢの立ち上がりで同期を取り、上記データ信号Ｔｄａｔａを取り込むレジスタ（図示せず）は、配線遅延やスキューによって、クロック信号ｃｌｋＢの立ち上がりのタイミングがずれると、この回路Ｂ１２内の上記レジスタが取り込むデータ信号Ｒｄａｔａは、上記データ信号Ｔｄａｔａが、無効（Ｕｎｖａｌｉｄ）になった後のデータになってしまうから、無効（Ｕｎｖａｌｉｄ）となる。
【００１６】
このことを避けるため、追加回路Ｈ１２は、信号Ｔｒｅｑ１から充分に遅延をかけた信号を信号Ｔａｃｋとして、先の配線遅延やスキューによるタイミングのズレを吸収し、確実な送受信を行う。
【００１７】
この追加回路Ｃの具体的実現方法は、メタステーブル状態による回路の誤動作を防ぐ方法として、例えば、特開平０５−１５２９０４号公報，特開平０７−０８４９４６号公報，特開平０８−１７９９２６号公報に記載の方法などが知られている。
【００１８】
しかし、これらの方法は、オーバーヘッドが増加するとか、クロック信号ｃｌｋＡ，ｃｌｋＢ間の周波数比や位相差に制限があるとか、メタステーブル検出回路を必要とするなどの問題がある。
【００１９】
【発明が解決しようとする課題】
そこで、この発明の目的は、ハードウェアの大幅な増加を招くこと無しに、１つのデータ転送にかかるオーバーヘッド（制御や管理に費やされる時間）を低減すると共に低消費電力化も計ることができる非同期転送装置および非同期転送方法を提供することにある。
【００２０】
【課題を解決するための手段】
上記目的を達成するため、この発明の非同期転送装置は、異なる周波数で互いに非同期で動作している複数の転送装置間で、有効なデータ信号を送信したことを表す有効データ送信信号とデータ信号の受信が完了したことを表す受信完了信号とを用いたハンドシェイク方式でデータ転送を行う非同期転送システムにおける非同期転送装置であって、
送信回路を有し、この送信回路は、
上記データ信号を転送先に転送する転送手段と、
有効データ送信信号を検出したときに、上記転送手段を、データ信号を保持する動作停止状態にする一方、有効データ送信信号を検出せず、かつ、上記転送先からの受信完了信号を検出したときに、上記転送手段を、データ信号を取り込む動作状態にさせる送信制御手段とを備えていることを特徴としている。
【００２１】
この発明の非同期転送装置では、送信制御手段が、有効データ送信信号を検出したときに、転送手段を動作停止状態にする一方、有効データ送信信号を検出せず、かつ、上記転送先からの受信完了信号を検出したときに、上記転送手段を動作状態にさせる。したがって、この発明によれば、ハンドシェイクで用いる有効データ送信信号を転送手段の動作制御に利用して、小さなオーバーヘッド（制御時間）でメタステーブル状態を回避できる。したがって、１つのデータ転送にかかるオーバーヘッドを低減すると共に低消費電力化も図れる。
【００２２】
また、一実施形態の非同期転送装置は、上記非同期転送装置において、上記送信制御手段は、少なくとも上記有効データ送信信号と受信完了信号とに基いて、上記転送手段に供給するクロック信号を制御する送信用クロック信号制御手段である。
【００２３】
この一実施形態では、上記送信制御手段は、送信用クロック信号制御手段であり、ハンドシェイクで用いる有効データ送信信号と受信完了信号を利用し、転送手段に供給するクロック信号を制御することで、転送手段を動作状態または停止状態に制御する。したがって、ハードウェアの大幅な増加を招くこと無しに、１つのデータ転送にかかるオーバーヘッドを低減すると共に低消費電力化も計ることができる。
【００２４】
また、他の実施形態は、上記非同期転送装置において、上記送信用クロック信号制御手段は、上記転送手段に供給するクロック信号を停止させて、上記転送手段を上記停止状態にする送信用クロック信号停止手段を備えている。
【００２５】
この実施形態では、上記送信用クロック信号制御手段は、送信用クロック信号停止手段を備え、この送信用クロック信号停止手段で、上記転送手段に供給するクロック信号を停止させて、上記転送手段を上記停止状態にする。
【００２６】
また、一実施形態は、上記非同期転送装置において、上記送信用クロック信号停止手段は、上記転送手段に供給するクロック信号にマスクをかけるマスク手段を備えている。
【００２７】
この実施形態では、上記送信用クロック信号停止手段がマスク手段を備え、このマスク手段が、上記転送手段に供給するクロック信号にマスクをかける。これにより、転送手段に供給するクロック信号を停止させて、転送手段を停止状態にする。
【００２８】
また、他の実施形態は、上記非同期転送装置において、受信回路を有し、この受信回路は、
転送元からのデータ信号を受信する受信手段と、
上記転送元からの有効データ送信信号を受信したときに、上記受信手段を、データ信号を取り込む動作状態にすると共に、上記有効データ送信信号を取り込んで、上記転送元に受信完了信号を出力する一方、上記有効データ送信信号を検出しないときに、上記受信手段を、データ信号を取り込まない停止状態にする受信制御手段を備えている。
【００２９】
この実施形態では、受信制御手段を備え、この受信制御手段が、上記転送元からの有効データ送信信号を受信したときに、上記受信手段を、データ信号を取り込む動作状態にすると共に、上記有効データ送信信号を取り込んで、上記転送元に受信完了信号を出力する。一方、この受信制御手段が、上記有効データ送信信号を検出しないときに、上記受信手段を、データ信号を取り込まない停止状態にする。したがって、この実施形態によれば、転送元からの有効データ送信信号の検出と非検出に応じて、受信手段を動作状態と停止状態に制御して、転送元からのデータ信号を確実に受信し、かつ、上記有効データ送信信号を取り込むと、上記転送元に受信完了信号を出力する。
【００３０】
また、一実施形態は、上記非同期転送装置において、上記受信制御手段は、少なくとも上記有効データ送信信号に基いて、上記受信手段に供給するクロック信号を制御する受信用クロック信号制御手段である。
【００３１】
この実施形態では、上記受信制御手段は、受信用クロック信号制御手段であり、この受信用クロック信号制御手段が、少なくとも上記有効データ送信信号に基いて、上記受信手段に供給するクロック信号を制御することによって、受信手段の動作状態または停止状態に制御する。
【００３２】
また、他の実施形態は、上記非同期転送装置において、上記受信用クロック信号制御手段は、上記受信手段に供給するクロック信号を停止させて、上記受信手段を停止状態にする受信用クロック信号停止手段を備えている。
【００３３】
この実施形態では、上記受信用クロック信号制御手段は、受信用クロック信号停止手段を備え、この受信用クロック信号停止手段で、上記受信手段に供給するクロック信号を停止させて、上記受信手段を停止状態にする。
【００３４】
また、一実施形態は、上記非同期転送装置において、上記受信用クロック信号停止手段は、上記受信手段に供給するクロック信号にマスクをかけるマスク手段を備えている。
【００３５】
この実施形態では、上記受信用クロック信号停止手段がマスク手段を備え、このマスク手段が、上記受信手段に供給するクロック信号にマスクをかける。これにより、受信手段に供給するクロック信号を停止させて、受信手段を停止状態にする。
【００３６】
また、他の実施形態の非同期転送方法は、異なる周波数で互いに非同期で動作している複数の転送装置間で、有効なデータ信号を送信したことを表す有効データ送信信号とデータ信号の受信が完了したことを表す受信完了信号とを用いたハンドシェイク方式でデータ転送を行う非同期転送方法であって、
転送元は、有効データ送信信号を検出したときに、データ転送動作を停止状態にする一方、上記転送元が、有効データ送信信号を検出せず、かつ、転送先からの受信完了信号を検出したときに、データ転送動作を開始する。
【００３７】
この実施形態の非同期転送方法では、転送元は、有効データ送信信号を検出したときに、データ転送動作を停止状態にする一方、上記転送元が、有効データ送信信号を検出せず、かつ、転送先からの受信完了信号を検出したときに、データ転送動作を開始する。したがって、この発明の非同期転送方法によれば、ハンドシェイクで用いる有効データ送信信号を転送手段の動作制御に利用して、小さなオーバーヘッドでメタステーブル状態を回避できる。したがって、１つのデータ転送にかかるオーバーヘッドを低減すると共に低消費電力化も図れる。
【００３８】
また、一実施形態の非同期転送方法は、上記非同期転送方法において、すくなくとも上記有効データ送信信号に基いて、上記データ転送動作に使用するクロック信号を制御して、上記データ転送動作を停止状態にする。
【００３９】
また、他の実施形態は、上記非同期転送方法において、上記クロック信号を停止させることによって、上記データ転送動作を停止状態にする。
【００４０】
また、一実施形態は、上記非同期転送方法において、上記クロック信号にマスクをかけることによって、上記クロック信号を停止させる。
【００４１】
また、他の実施形態は、上記非同期転送方法において、
転送元からの有効データ送信信号を受信すると、データ受信動作を開始し、
上記有効データ送信信号を取り込むと、上記転送元に受信完了信号を出力する一方、上記転送元から有効データ送信信号を検出しないときに、データ受信動作を停止する。
【００４２】
この実施形態では、転送元からの有効データ送信信号の検出と非検出に応じて、受信動作の開始と停止を制御して、転送元からのデータ信号を確実に受信し、かつ、上記転送元からの有効データ送信信号を取り込むと、上記転送元に受信完了信号を出力する。
【００４３】
また、一実施形態は、上記非同期転送方法において、
少なくとも上記有効データ送信信号と上記受信完了信号に基いて、上記データ受信動作に使用するクロック信号を制御して、上記データ受信動作を開始する。
【００４４】
また、他の実施形態は、上記非同期転送方法において、上記クロック信号を停止させることによって、上記受信動作を停止させる。
【００４５】
また、一実施形態は、上記非同期転送方法において、上記クロック信号にマスクをかけることによって、上記クロック信号を停止させる。
【００４６】
【発明の実施の形態】
以下、この発明を図示の実施の形態に基いて詳細に説明する。
【００４７】
（第１の実施の形態）
図１に、この発明の非同期転送装置の第１実施形態を示し、図２に、この第１実施形態のタイミングチャートを示す。
【００４８】
なお、図１では、転送元の転送装置の送信回路として転送回路Ａ５を示し、転送先の転送装置の受信回路として転送回路Ｂ５を示している。
【００４９】
この転送回路Ａ５は、３つのフリップフロップＦ１，Ｆ２，Ｆ３とＯＲゲート５１およびＡＮＤゲート５２で構成され、図１に示す信号ｃｌｋＡ’，信号ｃｌｋＡ，有効データ送信信号Ｔｒｅｑ，信号Ｔａｃｋ１について、次の論理式（１）を実現する組み合わせ論理回路である。
【００５０】
ｃｌｋＡ’＝ｃｌｋＡ  ＯＲ  （Ｔｒｅｑ  ＡＮＤ  （ｎｏｔ  Ｔａｃｋ１））      …  （１）
この転送回路Ａ５の制御回路５Ａは、２つのフリップフロップＦ１，Ｆ２とＯＲゲート５１およびＡＮＤゲート５２から構成されている。なお、このフリップフロップＦ１，Ｆ２は、クロックの立ち上がりでデータを取り込み、ラッチする回路であればよく、レジスタ等であってもよい。
【００５１】
図１の転送回路Ａ５において、クロック信号ｃｌｋＡは、フリップフロップＦ１のクロック入力端子とＯＲゲート５１の一方の入力端子に入力されている。
【００５２】
このフリップフロップＦ１のデータ入力端子には、転送回路Ｂ５からの受信完了信号Ｔａｃｋが入力される。フリップフロップＦ１の／Ｑ端子（データ出力の反転出力。）から、ＡＮＤゲート５２の一方の入力端子に、信号／Ｔａｃｋ１が出力される。このＡＮＤゲート５２の他方の入力端子には、フリップフロップＦ２のＱ端子（データ出力の非反転出力）からの出力が入力される。このＱ端子の出力は、有効データ送信信号Ｔｒｅｑになっている。
【００５３】
上記ＡＮＤゲート５２の出力は、ＯＲゲート５１の他方の入力端子に入力される。このＯＲゲート５１の出力は、信号ｃｌｋＡ’として、フリップフロップＦ２のクロック入力端子に入力されている。
【００５４】
また、この信号ｃｌｋＡ’は、別途、フリップフロップＦ３のクロック入力端子にも入力され、この信号ｃｌｋＡ’の立ち上がりに同期を取り、データ信号ＴＤａｔａが回路Ｂ５に出力される。
【００５５】
データ信号ＴＤａｔａは、回路Ａ５から回路Ｂ５に送信するデータ信号であり、基本となる同期信号は信号ｃｌｋＡである。データ信号Ｔｄａｔａに有効なデータが存在している期間を、図２に、実線で囲んだ“ＤＡＴＡ  Ｖａｌｉｄ”で示し、最初のデータ転送が終了し、次のデータを送信できる期間を、破線で囲んだ“Ｎｅｘｔ  Ｄａｔａ”で示す。
【００５６】
有効データ送信信号Ｔｒｅｑは、送信データ信号ＴＤａｔａが有効であるときに値‘１’を取り、信号ＴＤａｔａが無効であるときに値‘０’を取る有効データ送信信号であり、基本となる同期信号は、信号ｃｌｋＡである。
【００５７】
また、信号Ｔａｃｋ１は、受信完了信号Ｔａｃｋを同期信号ｃｌｋＡでサンプリングした信号である。この信号Ｔａｃｋ１を反転した信号／Ｔａｃｋ１と受信完了信号Ｔａｃｋとの関係を、図２に二重線で示す。
【００５８】
上記信号ｃｌｋ’Ａの立ち上がりに同期を取り、回路Ａ５内のデータがデータ信号Ｔｄａｔａとして回路Ａ５から出力され、同時に、このデータ信号Ｔｄａｔａのデータが有効（Ｖａｌｉｄ）であることを表す有効データ送信信号Ｔｒｅｑも“１”として回路Ａ５から出力される。
【００５９】
一方、このときは、回路Ｂ５からの受信完了信号Ｔａｃｋは、未だ“０”であるので、信号ｃｌｋＡの立ち上がりでデータを取り込むフリップフロップＦ１の端子／Ｑが出力する信号／ＴＡＣＫ１は、“１”になっている。したがって、ＡＮＤゲート５２は、“１”を出力するから、ＯＲゲート５１は信号ｃｌｋＡに関わらず、信号ｃｌｋＡ’として“１”を出力することになる。これにより、信号ｃｌｋＡ’は、クロック信号ｃｌｋＡがマスクされた信号となる。したがって、フリップフロップＦ２とフリップフロップＦ３には、クロック信号ｃｌｋＡが入力されないから、フリップフロップＦ２，Ｆ３はラッチ状態となり、出力状態を維持する。
【００６０】
そして、回路Ｂ５内でのデータ信号ＴＤａｔａの取り込みが完了し、受信完了信号Ｔａｃｋの値が“０”から“１”に変化した後、フリップフロップＦ１で、クロック信号ｃｌｋＡの立ち上がりで、この“１”を取り込み、反転信号／Ｔａｃｋ１は、“０”に変化する。これにより、ＡＮＤゲート５２の出力は、“０”に変化するので、ＯＲゲート５１は、入力されたクロック信号ｃｌｋＡを、そのまま、信号ｃｌｋＡ’として出力する。
【００６１】
そして、この信号ｃｌｋＡ’のマスクが解除された後の最初の立ち上がりで、フリップフロップＦ２とフリップフロップＦ３は、この回路Ａ５内のデータ信号ＴＤａｔａと有効データ送信信号Ｔｒｅｑを取り込み、回路Ｂ５に出力する。
【００６２】
したがって、回路Ａ５は、回路Ｂ５からの受信完了信号Ｔａｃｋを受け取った時点で、フリップフロップＦ３に入力するデータ信号ＴＤａｔａを無効データに変え、有効データ送信信号Ｔｒｅｑを別のデータに変えても、フリップフロップＦ２およびフリップフロップＦ３は、先の最初の信号ｃｌｋＡ’の立ち上がりが入力されるまでラッチ状態であるから、フリップフロップＦ３が出力する有効（Ｖａｌｉｄ）なデータ信号ＴＤａｔａは変化しない。
【００６３】
一方、転送回路Ｂ５は、２つのフリップフロップＦ４，Ｆ５とＯＲゲート５３とインバータ５５と任意回路Ｃ５からなり、信号ｃｌｋＢ’と信号ｃｌｋＢと有効データ送信信号Ｔｒｅｑに関し、次の論理式（２）を実現する組み合わせ論理回路と、図２に示すタイミングで信号Ｔｒｅｑ１を生成する順序回路からなる。
【００６４】
ｃｌｋＢ’＝ｃｌｋＢ  ｏｒ（ｎｏｔ  Ｔｒｅｑ）                  …  （２）
転送回路Ｂ５が備える制御回路５Ｂは、１つのフリップフロップＦ４とインバータ５５とＯＲゲート５３から構成されている。なお、上記フリップフロップＦ４は、クロックの立ち上がりでデータを取り込み、ラッチする回路であればよく、レジスタ等でもよい。
【００６５】
この転送回路Ｂ５では、クロック信号ｃｌｋＢは、ＯＲゲート５３の一方の入力端子に入力されている。また、フリップフロップＦ４のデータ入力端子には、転送回路Ａ５からの有効データ送信信号Ｔｒｅｑが入力される。フリップフロップＦ４のＱ端子（データ出力の非反転出力）は、受信完了信号Ｔａｃｋとなる信号Ｔｒｅｑ１を出力する。この信号Ｔｒｅｑ１は、この回路Ｂ５内の内部回路（例えば任意回路Ｃ５）で使用してもよい。回路Ａ５からの有効データ送信信号Ｔｒｅｑは、フリップフロップＦ４のデータ入力端子と、インバータ５５の入力端子とフリップフロップＦ４のリセット入力端子にも入力されている。このリセット入力端子に、信号値“０”が入力されることで、フリップフロップＦ４がリセットされる。
【００６６】
そして、インバータ５５の出力は、ＯＲゲート５３の他方の入力端子に入力されている。このＯＲゲート５３の出力は、信号ｃｌｋＢ’として、フリップフロップＦ４とＦ５のクロック入力端子に入力される。この信号ｃｌｋＢ’の立ち上がりに同期を取り、回路Ａ５からのデータ信号ＴＤａｔａが、回路Ｂ５に取り込まれ、データ信号ＲＤａｔａとして、回路Ｂ５内の内部回路に入力される。
【００６７】
一方、フリップフロップＦ４のＱ端子が出力する信号Ｔｒｅｑ１は、有効データ送信信号Ｔｒｅｑが‘０’のときに値‘０’を取る。一方、上記信号Ｔｒｅｑ１は、有効データ送信信号Ｔｒｅｑが‘１’のときに、信号ｃｌｋＢ’に同期して、有効データ送信信号Ｔｒｅｑの値をサンプリングした値を取る受信完了信号である。有効データ送信信号Ｔｒｅｑが‘０’のときの有効データ送信信号Ｔｒｅｑと信号Ｔｒｅｑ１との関係を、図２に太線で示す。また、有効データ送信信号Ｔｒｅｑが‘１’のときの有効データ送信信号Ｔｒｅｑと信号Ｔｒｅｑ１との関係を、図２に二重線で示す。
【００６８】
回路Ａ５からの信号Ｔｒｅｑが“０”のときは、インバータ５５を介して、信号値“１”がＯＲゲート５３に入力される。このため、ＯＲゲート５３はクロック信号ｃｌｋＢに関わらず、信号値“１”を出力することになり、クロック信号ｃｌｋＢ’はクロック信号ｃｌｋＢがマスクされた信号となる。
【００６９】
さらに、回路Ａ５からの有効データ送信信号Ｔｒｅｑは、フリップフロップＦ４のリセット端子にも入力されているので、有効データ送信信号Ｔｒｅｑが“０”のときは、フリップフロップＦ４はリセット状態である。したがって、有効データ送信信号Ｔｒｅｑが“０”のときは、信号Ｔｒｅｑ１は“０”となり、すなわち、受信完了信号Ｔａｃｋは“０”となっている。
【００７０】
そして、図２の破断線より右側に示すように、転送元の回路Ａ５から有効（Ｖａｌｉｄ）なデータ信号ＴＤａｔａが、回路Ｂ５に送信されると共に、有効データ送信信号Ｔｒｅｑが“１”に立ち上がると、まず、フリップフロップＦ４のリセット状態が解除され、信号ｃｌｋＢ’のマスク状態が解除される。
【００７１】
次いで、マスクが解除された後の最初の信号ｃｌｋＢ’の立ち上がりで、フリップフロップＦ４およびフリップフロップＦ５は、それぞれ、データ信号ＴＤａｔａおよび有効データ送信信号Ｔｒｅｑを取り込み、データ信号ＲＤａｔａおよび信号Ｔｒｅｑ１として内部回路（例えば、任意回路Ｃ５）に出力する。さらに、上記信号Ｔｒｅｑ１は、受信完了信号Ｔａｃｋとして、回路Ａ５に入力される。
【００７２】
そして、有効データ送信信号Ｔｒｅｑが、“０”に立ち下がり、データ信号ＴＤａｔａが非有効（Ｕｎｖａｌｉｄ）となると、先に説明したように、信号ｃｌｋＢ’にはマスクがかかると共に、フリップフロップＦ４はリセット状態となる。したがって、フリップフロップＦ５は、直前の有効（Ｖａｌｉｄ）なデータ信号ＴＤａｔａをデータ信号ＲＤａｔａとしてラッチした状態を維持する。
【００７３】
このデータ信号Ｒｄａｔａは、回路Ｂ５で受信したデータ信号であり、基本となる同期信号は、クロック信号ｃｌｋＢである。このデータ信号Ｒｄａｔａに有効なデータが存在している期間を、図２に実線で囲んだ“ＤＡＴＡ  Ｖａｌｉｄ”で示している。
【００７４】
回路Ｂ５が回路Ａ５に出力する受信完了信号Ｔａｃｋは、回路Ａ５からの送信データ信号ＴＤａｔａが回路Ｂ５によって、データ信号Ｒｄａｔａとして正しく受信できたときに、値‘１’を示す受信完了信号であり、信号Ｔｒｅｑ１と同値である。
【００７５】
図１に示す回路Ａ５において、信号ｃｌｋＡ’が動作している非マスク状態の間、回路Ｂ５の信号ｃｌｋＢ’は、マスク状態で停止している。したがって、回路Ｂ５に取り込まれるデータ信号ＴＤａｔａの値が変化しているとき、同期クロック信号ｃｌｋＢ’が変化しないことを保証でき、メタステーブル状態が発生しないことを保証できる。
また、図１に示す回路Ｂ５において、信号ｃｌｋＢ’が動作している間、回路Ａ５において、信号ｃｌｋＡ’は停止している。このため、回路Ｂ５でデータを取り込む時刻Ｔｂに、取り込まれるデータ信号ＴＤａｔａの値が変化しないことが保証され、メタステーブル状態が発生しないことを保証できる。
図２のタイミングチャートにおいて、有効データ送信信号Ｔｒｅｑの立上り時刻Ｔｓａから受信完了信号Ｔａｃｋの立上り時刻Ｔｓｂまでの期間は、クロック信号ｃｌｋＢの周期ＴＢ以下である。また、上記立上り時刻Ｔｓｂから有効データ送信信号Ｔｒｅｑの立下り時刻Ｔｅａまでの期間は、クロック信号ｃｌｋＡの周期ＴＡの２倍以下である。この立下り時刻Ｔｅａ以後は、直ちに、次のデータ転送が可能になるので、１回の転送に要する期間は最大で、（ＴＢ＋ＴＡ×２）である。
【００７６】
従来の一例である図７の回路の場合、１回の転送に要する期間として、遅い方のクロック信号ｃｌｋＢを基準に、その周期ＴＢの４倍の時間が必要であることから、この第１実施形態による図１の回路構成によれば、（ＴＢ×３−ＴＡ×２）の時間以上の期間短縮が可能となる。
【００７７】
したがって、この第１実施形態によれば、異なる周波数で動作している非同期の２回路間のデータ転送において、ハードウェアの大幅な増加を招くことなしに、１つのデータ転送にかかるオーバーヘッドを低減すると共に低消費電力化も計ることができる。
【００７８】
（第２の実施の形態）
次に、図３に、この発明の第２実施形態の回路を示す。この第２実施形態は、転送回路７Ａの構成が第１実施形態と異なり、転送回路７Ｂは前述の第１実施形態の転送回路Ｂ５と同じ構成である。したがって、転送回路７Ａについて重点的に説明する。
【００７９】
この転送回路Ａ７は、第１実施形態の制御回路５Ａと異なる制御回路７Ａを備えた点が、転送回路Ａ５と異なる。より詳しくは、この転送回路Ａ７の制御回路７Ａは、ＡＮＤゲート５２に入力する受信完了信号Ｔａｃｋ１を生成するための回路構成が前述の制御回路５Ａと異なる。すなわち、この制御回路７Ａでは、フリップフロップＦ７１とそのクロック入力端子に接続したＯＲゲート７２とインバータ７３とで信号Ｔａｃｋ１を生成する。
【００８０】
制御回路７Ａにおいて、受信完了信号Ｔａｃｋ１は、回路Ｂ５から入力された受信完了信号Ｔａｃｋが信号値‘０’のときに値‘０’を取る。一方、受信完了信号Ｔａｃｋ１は、信号Ｔａｃｋが‘１’のときに、クロック信号ｃｌｋＡに同期して、受信完了信号Ｔａｃｋの値をサンプリングした値を取る。
【００８１】
この第２実施形態では、フリップフロップＦ７１の／Ｑ出力をＡＮＤゲート５２に入力することと、回路Ｂ７からの受信完了信号ＴａｃｋがフリップフロップＦ７１のデータ入力端子に入力される点は先の第１実施形態と同じである。
【００８２】
これに対し、この第２実施形態の制御回路７Ａでは、信号Ｔａｃｋ１の反転信号／Ｔａｃｋ１の生成手法が、第１実施形態の制御回路５Ａと異なり、追加のＯＲゲート７２とインバータ７３を有し、受信完了信号ＴａｃｋはフリップフロップＦ１のリセット端子とインバータ７３の入力端子に入力される。上記フリップフロップＦ７１は、上記リセット端子に信号値“０”が入力されることでリセットする。
【００８３】
インバータ７３の出力は、ＯＲゲート７２の一方の入力端子に入力され、他方の入力端子にはクロック信号ｃｌｋＡが入力される。そして、ＯＲゲート７２の出力は、フリップフロップＦ７１のクロック入力端子に入力される。
【００８４】
この第２実施形態では、回路Ｂ７からの受信完了信号Ｔａｃｋが、“１”のときは、信号ｃｌｋＡがフリップフロップＦ７１のクロック入力端子にそのまま入力されるため、先の第１実施形態と同じ動作を行う。
【００８５】
次に、受信完了信号Ｔａｃｋが、“０”のときは、フリップフロップＦ７１はリセット状態となる。特に、受信完了信号Ｔａｃｋが“０”になったと同時に、フリップフロップＦ７１はリセットされ、信号／Ｔａｃｋ１が“１”になる。この点が、先の第１実施形態と異なる。
【００８６】
したがって、先の第１実施形態では、クロック信号ｃｌｋＡの立ち上がりを待って、受信完了信号Ｔａｃｋを制御回路５Ａに取り込んでいたのに対して、この第２実施形態では、より早く、受信完了信号Ｔａｃｋを取り込むことができる。したがって、この第２実施形態では、信号Ｔｒｅｑが、信号値“１”へ早く立ち上がり応答でき、次のデータ信号“Ｎｅｘｔ  Ｄａｔａ（Ｖａｌｉｄ）”を出力するタイミングを早くすることができる。
【００８７】
（第３の実施の形態）
次に、図４に、この発明の第３実施形態の回路構成を示す。この第３実施形態は、第１実施形態の制御回路５Ａと制御回路５Ｂに替えて、制御回路８Ａと制御回路８Ｂを備えた点が、第１実施形態と異なる点である。
【００８８】
この第３の実施形態は、先述の第１，第２の実施形態における制御回路をより一般的な形で表している。
【００８９】
この第３実施形態では、制御回路８Ａは、その出力信号ＭＡ，有効データ送信信号Ｔｒｅｑ，信号Ｔａｃｋ１，クロック信号ｃｌｋＡに関して、次の論理式（３）もしくは（４）を実現する論理回路である。なお、制御回路８Ａが、論理式（４）を実現する論理回路である場合には、クロック信号ｃｌｋＡに同期した順序回路を含んでもよい。
【００９０】
ＭＡ＝ｆｕｎｃ｛Ｔｒｅｑ，Ｔａｃｋ１｝                    …  （３）
ＭＡ＝ｆｕｎｃ｛ｃｌｋＡ，Ｔｒｅｑ，Ｔａｃｋ１｝            …  （４）
上記論理式（３），（４）において、関数ｆｕｎｃ｛｝は、以下に説明する動作を満足する任意の論理式である。
【００９１】
データ信号ＴＤａｔａは、転送回路Ａ８から転送回路Ｂ８に送信するデータ信号であり、基本となる同期信号は、クロック信号ｃｌｋＡである。
【００９２】
有効データ送信信号Ｔｒｅｑは、送信データ信号ＴＤａｔａが有効であるときに、値‘１’を取り、送信データ信号ＴＤａｔａが無効であるときに、値‘０’を取るデータ有効信号であり、基本となる同期信号は、クロック信号（同期信号）ｃｌｋＡである。また、フリップフロップＦ１から制御回路８Ａに入力する信号Ｔａｃｋ１は、受信完了信号Ｔａｃｋを同期信号ｃｌｋＡでサンプリングした信号である。
【００９３】
次に、制御回路８Ｂは、その出力信号ＭＢ，信号Ｔｒｅｑ，信号Ｔａｃｋ１，クロック信号ｃｌｋＢに関して、次の論理式（５）または（６）または（７）を実現する論理回路であり、クロック信号ｃｌｋＢに同期した順序回路を含んでもよい。
【００９４】
ＭＢ＝ｆｕｎｃ’｛Ｔｒｅｑ｝                              …（５）
ＭＢ＝ｆｕｎｃ’｛ｃｌｋＢ，Ｔｒｅｑ｝                      …（６）
ＭＢ＝ｆｕｎｃ’｛ｃｌｋＢ，Ｔｒｅｑ，Ｔｒｅｑ１｝            …（７）
上記論理式（５），（６），（７）において、関数ｆｕｎｃ’｛｝は、以下に説明する動作を満足する任意の論理式である。
【００９５】
上記信号Ｔｒｅｑ１は、有効データ送信信号Ｔｒｅｑの値を、クロック信号ｃｌｋＢをクロックマスク信号ＭＢでマスクして生成したクロック信号ｃｌｋＢ’に同期してサンプリングした値を取る受信完了信号である。
【００９６】
また、データ信号ＲＤａｔａは、回路Ｂ８で受信したデータ信号であり、基本となる同期信号はクロック信号ｃｌｋＢである。
【００９７】
また、受信完了信号Ｔａｃｋは、回路Ａ８からの送信データ信号ＴＤａｔａが回路Ｂ８で信号Ｒｄａｔａとして正しく受信できたときに値‘１’を示す受信完了信号であり、受信完了信号Ｔｒｅｑ１と同じ値である。
【００９８】
この第３実施形態では、まず、最初に、転送先の回路Ｂ８から回路Ａ８に出力する受信完了信号Ｔａｃｋは“０”になっている。
【００９９】
回路Ａ８が備える制御回路８Ａは、制御信号ＭＡをＯＲゲート５１に入力し、回路Ａ８内の基準クロック信号ｃｌｋＡを、ＯＲゲート５１からフリップフロップＦ２とＦ３を含む出力手段に出力する。すると、この出力手段では、上記基準クロック信号ｃｌｋＡに同期を取り、転送先の回路Ｂ８に送信する有効データ送信信号Ｔｒｅｑを“１”に立ち上げると共に、データ信号ＴＤａｔａを回路Ｂ８に出力する。上記有効データ送信信号Ｔｒｅｑは、データ信号ＴＤａｔａが有効であることを表す識別信号である。
【０１００】
そして、制御回路８Ａは、有効データ送信信号Ｔｒｅｑが“１”であること（すなわち、転送先回路Ｂ８にデータ信号ＴＤａｔａが出力されたこと）を検出すると、制御信号ＭＡを‘１’にすることによって、上記出力手段への基準クロック信号ｃｌｋＡにマスクをして、上記出力手段への基準クロック信号ｃｌｋＡの入力を止める。
【０１０１】
次に、回路Ａ８から出力されたデータ信号ＴＤａｔａと有効データ送信信号Ｔｒｅｑは、回路Ｂ８が備えるフリップフロップＦ４とＦ５を含む入力手段に入力される。すると、この入力手段は、回路Ｂ８内の基準クロック信号ｃｌｋＢに同期して、このデータ信号ＴＤａｔａと有効データ送信信号Ｔｒｅｑを回路Ｂ８内に取り込む。そして、この取り込んだ信号は、任意の回路Ｃ５でさらに処理される。
【０１０２】
制御回路８Ｂは、有効データ送信信号Ｔｒｅｑを取り込むと、ＯＲゲート８３に出力する制御信号ＭＢを“０”にして、クロック信号ｃｌｋＢのマスクを解除し、このＯＲゲート８３からフリップフロップＦ４のクロック信号入力端子に入力されたクロック信号ｃｌｋＢ’の立ち上がりで受信完了信号Ｔｒｅｑ１を“１”に立ち上げる。これにより、受信完了信号Ｔａｃｋを“１”に立ち上げて、回路Ａ８に送信する。
【０１０３】
制御回路８Ａは、この受信完了信号Ｔａｃｋを、回路Ａ８内の基準クロック信号ｃｌｋＡに同期させて、信号Ｔａｃｋ１として取り込み、制御信号ＭＡを“０”にして、ＯＲゲート５１に入力することで、上記出力手段に対する基準クロック信号ｃｌｋＡのマスクを解除する。これにより、受信完了信号Ｔｒｅｑは“０”となる。
【０１０４】
制御回路８Ｂは、この値“０”の信号Ｔｒｅｑを受けると、制御信号ＭＢを“１”にして、ＯＲゲート８３に入力することで、上記入力手段への基準クロック信号ｃｌｋＢにマスクをかけ、フリップフロップＦ４が出力する受信完了信号Ｔｒｅｑ１を“０”にし、受信完了信号Ｔａｃｋを“０”にする。これにより、次のデータの転送の待機状態となる。
【０１０５】
次のデータの転送は、先と同じように基準クロック信号ｃｌｋＡに同期を取り、転送先の回路Ｂ８にデータが有効である識別信号Ｔｒｅｑを“１”に立ち上げると共に、データ信号ＴＤａｔａを、回路Ａ８から出力する。
【０１０６】
この図４の回路Ａ８において、クロック信号ｃｌｋＡ’が非マスク状態で動作している間、回路Ｂ８のクロック信号ｃｌｋＢ’はマスク状態で停止している。このため、回路Ｂ８で取り込まれるデータ信号ＴＤａｔａの値が変化しているとき、同期クロック信号ｃｌｋＢ’が変化しないことが保証され、メタステーブル状態が発生しないことを保証できる。
【０１０７】
また、図４の回路Ｂ８において、クロック信号ｃｌｋＢ’が動作している間、回路Ａ８のクロック信号ｃｌｋＡ’は停止している。このため、回路Ｂ８でデータを取り込む時刻Ｔｂに、取り込まれるデータ信号ＴＤａｔａの値が変化しないことが保証され、メタステーブル状態が発生しないことを保証できる。
【０１０８】
（第４の実施の形態）
次に、図５に、この発明の第４実施形態の回路構成を示す。また、図６に、転送回路Ａ９，Ｂ９のタイミングチャートを示す。
【０１０９】
図５に示す第４実施形態の転送回路Ａ９は、図１に示す第１実施形態の転送回路Ａ５と同じであり、この第４実施形態は、転送回路Ｂ９における制御回路９Ｂの構成が、先述の第１実施形態と異なる。
【０１１０】
図５に示す転送回路Ａ９の制御回路９Ａは、有効データ送信信号Ｔｒｅｑ，受信完了信号Ｔａｃｋ１，制御信号ＭＡに関して、次の論理式（８）を実現する組み合わせ論理回路である。
【０１１１】
ＭＡ＝Ｔｒｅｑ  ＡＮＤ  （ｎｏｔ  Ｔａｃｋ１）                  …（８）
この論理式（８）は、先述した論理式（１）の下記のアンダーライン部を、制御信号ＭＡに置換える式である。
ｃｌｋＡ’＝ｃｌｋＡ  ＯＲ（Ｔｒｅｑ  ＡＮＤ  （ｎｏｔ  Ｔａｃｋ１））      …（１）
信号ＴＤａｔａは、転送回路Ａ９から転送回路Ｂ９に送信するデータ信号である。この信号ＴＤａｔａは、クロック信号ｃｌｋＡを、マスクして生成したクロック信号ｃｌｋＡ’に同期して動作する。このクロック信号ｃｌｋＡのマスクは、ＡＮＤゲート９２からＯＲゲート９１にクロックマスク信号ＭＡを入力することで、行われる。
【０１１２】
データ信号ＴＤａｔａに有効なデータが存在している期間を、図６に、“ＤＡＴＡ  Ｖａｌｉｄ”で示し、最初のデータ転送が終了し、次のデータを送信できる期間を、“Ｎｅｘｔ”で示す。
【０１１３】
有効データ送信信号Ｔｒｅｑは、送信データ信号ＴＤａｔａが有効であるときに、値‘１’を取り、送信データ信号ＴＤａｔａが無効であるときに、値‘０’を取る。この有効データ送信信号Ｔｒｅｑは、クロック信号ｃｌｋＡをクロックマスク信号ＭＡでマスクして生成したクロック信号ｃｌｋＡ’に同期して動作する。
【０１１４】
また、信号Ｔａｃｋ１は、受信完了信号Ｔａｃｋを同期信号ｃｌｋＡでサンプリングした信号である。信号Ｔａｃｋ１の反転信号／Ｔａｃｋ１と制御信号ＭＡおよび有効データ送信信号Ｔｒｅｑとの関係を、図６に２重線で示す。
【０１１５】
一方、回路Ｂ９の制御回路９Ｂは、制御信号ＭＢ，信号Ｔｒｅｑ，信号Ｔｒｅｑ３に関し、次の論理式（９）を実現する組み合わせ論理回路である。
【０１１６】
ＭＢ＝Ｔｒｅｑ  ｏｒ  Ｔｒｅｑ３                          …（９）
回路Ｂ９が備える制御回路９Ｂは、先述の第１実施形態の制御回路５Ｂと異り、フリップフロップＦ４のリセット信号入力端子にリセット信号として信号Ｔｒｅｑを入力する信号線が無い。また、制御回路９Ｂは、上記制御回路５Ｂに比べて、フリップフロップＦ６とＯＲゲート９３が新たに追加されている。
【０１１７】
このフリップフロップＦ６のデータ入力端子とＯＲゲート９３の一方の入力端子に、回路Ａ９からの有効データ送信信号Ｔｒｅｑが入力され、フリップフロップＦ６のクロック入力端子にはクロック信号ｃｌｋＢが入力される。また、フリップフロップＦ６の出力端子Ｑ（非反転出力端子）の信号は、ＯＲゲート９３の他方の入力端子に入力され、ＯＲゲート９３の出力信号ＭＢは、インバータ９５の入力端子に入力される回路構成となっている。
【０１１８】
これにより、転送回路Ａ９から転送回路Ｂ９に出力される有効データ送信信号Ｔｒｅｑが“１”となり、転送回路Ａ９から転送回路Ｂ９にデータ信号ＴＤａｔａ（Ｖａｌｉｄ）が転送されてきたとき、制御回路９Ｂでは、ＯＲゲート９３の出力信号ＭＢ（制御信号ＭＢ）が“１”となる。したがって、インバータ９５の出力が“０”となるので、ＯＲゲート９６は、クロック信号ｃｌｋＢをそのままクロック信号ｃｌｋＢ’として、フリップフロップＦ４，Ｆ５のクロック入力端子に出力する。この点は、先述の第１実施形態での動作と同じである。
【０１１９】
そして、有効データ送信信号Ｔｒｅｑの信号値“１”が、フリップフロップＦ４に取り込まれると、フリップフロップＦ４は、値“１”の信号Ｔｒｅｑ１を受信完了信号Ｔａｃｋとして、回路Ａ９に送信する。
【０１２０】
回路Ａ９では、フリップフロップＦ１で、クロック信号ｃｌｋＡの立ち上がりに同期して、上記受信完了信号Ｔａｃｋを回路Ａ９内に取り込む。このフリップフロップＦ１は、その／Ｑ端子から、上記信号Ｔａｃｋを反転した信号値“０”の信号／Ｔａｃｋ１を、ＡＮＤゲート９２に出力する。すると、クロックマスク信号ＭＡが“０”となり、クロック信号ｃｌｋＡ’のマスクが解除される。このマスクが解除されたクロック信号ｃｌｋＡ’の最初の立ち上がりに同期を取り、有効データ送信信号Ｔｒｅｑは、“０”となり、データ信号ＴＤａｔａは、非有効（Ｕｎｖａｌｉｄ）となる。ここまでの動作は、先述の第１実施形態での動作と同じである。
【０１２１】
ここで、上記信号値“０”になった有効データ送信信号Ｔｒｅｑは、回路Ｂ９に入力される。この回路Ｂ９では、フリップフロップＦ６がクロック信号ｃｌｋＢの立ち上がりに同期を取り、フリップフロップＦ６のＱ出力端子が出力する信号Ｔｒｅｑ３が“０”となることで、ＯＲゲート９３の出力信号ＭＢが“０”に変化する。これにより、インバータ９５の出力が“１”となり、ＯＲゲート９６の出力信号であるクロック信号ｃｌｋＢ’がクロック信号ｃｌｋＢに関わらず、“１”となる。このことで、クロック信号ｃｌｋＢ’にマスクがかかる。
【０１２２】
一方、有効データ送信信号Ｔｒｅｑを取り込んだフリップフロップＦ４により、信号Ｔｒｅｑ１は、“０”に変化し、受信完了信号Ｔａｃｋは“０”に変化する。以後は、また、先述の第１実施形態と同じ動作を行う。
【０１２３】
この第４実施形態では、回路Ｂ９の制御回路９ＢにフリップフロップＦ６を設け、クロック信号ｃｌｋＢの立ち上がりに同期を取り、有効データ送信信号Ｔｒｅｑの“０”への変化を取り込むので、受信完了信号Ｔａｃｋが信号値“１”である期間を充分に取ることができ、信号の波形鈍り等に対して強くすることができる。
【０１２４】
フリップフロップＦ６の出力信号である信号Ｔｒｅｑ３は、遅延データ有効信号であり、有効データ送信信号Ｔｒｅｑをクロック信号ｃｌｋＢでサンプリングした値をとる。また、信号Ｔｒｅｑ１は、受信完了信号であり、クロック信号ｃｌｋＢをクロックマスク信号ＭＢでマスクして生成したクロック信号ｃｌｋＢ’に同期して、有効データ送信信号Ｔｒｅｑをサンプリングした値を取る。この信号Ｔｒｅｑ１と有効データ送信信号Ｔｒｅｑとの関係を、図６に２重線で示す。
【０１２５】
また、信号Ｒｄａｔａは、回路Ｂ９で受信したデータ信号であり、クロック信号ｃｌｋＢ’に同期して動作する。このデータ信号Ｒｄａｔａに有効なデータが存在している期間を、図６に、“ＤＡＴＡ  Ｖａｌｉｄ”で示す。
【０１２６】
また、受信完了信号Ｔａｃｋは、回路Ａ９からの送信データ信号ＴＤａｔａが回路Ｂ９で信号Ｒｄａｔａとして正しく受信できたときに、値‘１’を示す受信完了信号であり、信号Ｔｒｅｑ１と同じ値である。図６に、受信完了信号Ｔａｃｋと信号Ｔｒｅｑ１との関係を２重線で示す。
【０１２７】
図５に示す回路Ａ９において、クロック信号ｃｌｋＡ’が動作している間、回路Ｂ９のクロック信号ｃｌｋＢ’は停止している。このため、回路Ｂ９で取り込まれるデータ信号ＴＤａｔａの値が変化しているとき、同期クロック信号ｃｌｋＢ’が変化しないことが保証され、メタステーブル状態が発生しないことを保証できる。
【０１２８】
また、図５に示す回路Ｂ９において、クロック信号ｃｌｋＢ’が動作している間、回路Ａ９のクロック信号ｃｌｋＡ’は停止している。このため、回路Ｂ９でデータ信号ＴＤａｔａを取り込む時刻Ｔｂに、取り込まれるデータ信号ＴＤａｔａの値が変化しないことが保証され、メタステーブル状態が発生しないことを保証できる。
【０１２９】
図６のタイミングチャートにおいて、有効データ送信信号Ｔｒｅｑの立上り時刻Ｔｓａから、受信完了信号Ｔａｃｋの立上り時刻Ｔｓｂまでの期間は、クロック信号ｃｌｋＢの周期ＴＢ以下である。
【０１３０】
また、受信完了信号Ｔａｃｋの立下がり時刻Ｔｅｂから信号Ｔａｃｋ１の立下り時刻Ｔｅａまでの期間は、クロック信号ｃｌｋＡの周期ＴＡ以下である。
【０１３１】
クロック信号ｃｌｋＡの周期ＴＡが、クロック信号ｃｌｋＢの周期ＴＢよりも短いと仮定すると、受信完了信号Ｔａｃｋが‘１’の期間は、クロック信号ｃｌｋＢの１周期分の期間ＴＢとなり、また、信号Ｔａｃｋ１の立下り時刻Ｔｅａ以後は、ただちに、次のデータ転送が可能になる。したがって、１回の転送に要する期間は、最大で、（ＴＢ×２＋ＴＡ）となる。
【０１３２】
従来の一例である図７の回路の場合、１回の転送に要する期間は、遅い方のクロック信号ｃｌｋＢを基準に、その周期ＴＢの４倍が必要であるから、この第４実施形態の回路によれば、（ＴＢ×２−ＴＡ）時間以上の転送期間短縮が可能である。
【０１３３】
尚、上記第１〜第４実施形態では、送信回路としての回路Ａ５，Ａ７，Ａ８，Ａ９を有する転送装置を送信側（転送元）の転送装置とし、受信回路としての回路Ｂ５，Ｂ７，Ｂ８，Ｂ９を有する転送装置を受信側（転送先）の転送装置としたが、両転送装置は、送信回路Ａ５（あるいはＡ７，Ａ８，Ａ９）と受信回路Ｂ５（あるいはＢ７，Ｂ８，Ｂ９）の両方を備えている。
【０１３４】
【発明の効果】
以上より明らかなように、この発明の非同期転送装置は、送信制御手段が、有効データ送信信号を検出したときに、転送手段を動作停止状態にする一方、有効データ送信信号を検出せず、かつ、上記転送先からの受信完了信号を検出したときに、上記転送手段を動作状態にさせる。したがって、この発明によれば、ハンドシェイクで用いる有効データ送信信号を転送手段の動作制御に利用して、小さなオーバーヘッド（制御時間）でメタステーブル状態を回避できる。したがって、１つのデータ転送にかかるオーバーヘッドを低減すると共に低消費電力化も図れる。
【０１３５】
また、一実施形態の非同期転送装置は、上記送信制御手段が、送信用クロック信号制御手段であり、ハンドシェイクで用いる有効データ送信信号と受信完了信号を利用し、転送手段に供給するクロック信号を制御することで、転送手段を動作状態または停止状態に制御する。したがって、ハードウェアの大幅な増加を招くこと無しに、１つのデータ転送にかかるオーバーヘッドを低減すると共に低消費電力化も計ることができる。
【０１３６】
また、他の実施形態は、上記送信用クロック信号制御手段が、送信用クロック信号停止手段を備え、この送信用クロック信号停止手段で、上記転送手段に供給するクロック信号を停止させて、上記転送手段を上記停止状態にする。したがって、クロック停止による消費電力の低減が期待できる。
【０１３７】
また、一実施形態は、上記送信用クロック信号停止手段がマスク手段を備え、このマスク手段が、上記転送手段に供給するクロック信号にマスクをかける。これにより、転送手段に供給するクロック信号を停止させて、転送手段を停止状態にする。したがって、クロック停止による消費電力の低減が期待できる。
【０１３８】
また、他の実施形態は、上記非同期転送装置において、受信制御手段を備え、この受信制御手段が、上記転送元からの有効データ送信信号を受信したときに、上記受信手段を、データ信号を取り込む動作状態にすると共に、上記有効データ送信信号を取り込んで、上記転送元に受信完了信号を出力する。一方、この受信制御手段が、上記有効データ送信信号を検出しないときに、上記受信手段を、データ信号を取り込まない停止状態にする。したがって、この実施形態によれば、転送元からの有効データ送信信号の検出と非検出に応じて、受信手段を動作状態と停止状態に制御して、転送元からのデータ信号を確実に受信し、かつ、上記有効データ送信信号を取り込むと、上記転送元に受信完了信号を出力する。
【０１３９】
また、一実施形態は、上記非同期転送装置において、上記受信制御手段は、受信用クロック信号制御手段であり、この受信用クロック信号制御手段が、少なくとも上記有効データ送信信号に基いて、上記受信手段に供給するクロック信号を制御することによって、受信手段を動作状態または停止状態に制御する。したがって、簡単なハードウェアで受信手段を制御できる。
【０１４０】
また、他の実施形態は、上記非同期転送装置において、上記受信用クロック信号制御手段は、受信用クロック信号停止手段を備え、この受信用クロック信号停止手段で、上記受信手段に供給するクロック信号を停止させて、上記受信手段を停止状態にする。したがって、クロック停止による消費電力の低減を図れる。
【０１４１】
また、一実施形態は、上記非同期転送装置において、上記受信用クロック信号停止手段がマスク手段を備え、このマスク手段が、上記受信手段に供給するクロック信号にマスクをかける。これにより、受信手段に供給するクロック信号を停止させて、受信手段を停止状態にする。
【０１４２】
また、他の実施形態の非同期転送方法は、転送元は、有効データ送信信号を検出したときに、データ転送動作を停止状態にする一方、上記転送元が、有効データ送信信号を検出せず、かつ、転送先からの受信完了信号を検出したときに、データ転送動作を開始する。したがって、この発明の非同期転送方法によれば、ハンドシェイクで用いる有効データ送信信号を転送手段の動作制御に利用して、小さなオーバーヘッドでメタステーブル状態を回避できる。したがって、１つのデータ転送にかかるオーバーヘッドを低減すると共に低消費電力化も図れる。
【０１４３】
また、一実施形態の非同期転送方法は、上記非同期転送方法において、すくなくとも上記有効データ送信信号に基いて、上記データ転送動作に使用するクロック信号を制御して、上記データ転送動作を停止状態にする。
【０１４４】
また、他の実施形態の非同期転送方法は、上記クロック信号を停止させることによって、上記データ転送動作を停止状態にする。
【０１４５】
また、一実施形態の非同期転送方法は、上記クロック信号にマスクをかけることによって、上記クロック信号を停止させる。
【０１４６】
また、他の実施形態の非同期転送方法は、転送元からの有効データ送信信号の検出と非検出に応じて、受信動作の開始と停止を制御して、転送元からのデータ信号を確実に受信し、かつ、上記転送元からの有効データ送信信号を取り込むと、上記転送元に受信完了信号を出力する。
【０１４７】
また、一実施形態の非同期転送方法は、少なくとも上記有効データ送信信号と上記受信完了信号に基いて、上記データ受信動作に使用するクロック信号を制御して、上記データ受信動作を開始する。
【０１４８】
また、他の実施形態の非同期転送方法は、上記クロック信号を停止させることによって、上記受信動作を停止させる。
【０１４９】
また、一実施形態の非同期転送方法は、上記クロック信号にマスクをかけることによって、上記クロック信号を停止させる。
【図面の簡単な説明】
【図１】この発明の非同期転送装置の第１実施形態の回路図である。
【図２】上記第１実施形態のタイミングチャートである。
【図３】この発明の第２実施形態の回路図である。
【図４】この発明の第３実施形態の回路図である。
【図５】この発明の第４実施形態の回路図である。
【図６】上記第４実施形態のタイミングチャートである。
【図７】第１従来例の非同期転送回路の回路図である。
【図８】第１従来例のタイミングチャートである。
【図９】第２従来例の非同期転送回路の回路図である。
【図１０】第２従来例のタイミングチャートである。
【符号の説明】
Ａ５，Ｂ５，Ａ７，Ｂ７，Ａ８，Ｂ８，Ａ９，Ｂ９…転送回路、
Ｆ１〜Ｆ６，Ｆ７１，…フリップフロップ、
５Ａ，５Ｂ，７Ａ，７Ｂ，８Ａ，８Ｂ，９Ａ，９Ｂ…制御回路、
５１，５３，７２，８３，９１，９３，９６…ＯＲゲート、
５２，９２…ＡＮＤゲート、５５，９５…インバータ、
Ｃ５，Ｃ９…任意回路、
Ｔｄａｔａ，Ｒｄａｔａ…データ信号、
ｃｌｋＡ，ｃｌｋＡ’，ｃｌｋＢ，ｃｌｋＢ’…クロック信号、
Ｔｒｅｑ…有効データ送信信号、Ｔａｃｋ…受信完了信号。
【図１】
0003604637.tif 000002
【図２】
0003604637.tif 000003
【図３】
0003604637.tif 000004
【図４】
0003604637.tif 000005
【図５】
0003604637.tif 000006
【図６】
0003604637.tif 000007
【図７】
0003604637.tif 000008
【図８】
0003604637.tif 000009
【図９】
0003604637.tif 000010
【図１０】
0003604637.tif 000011