(57)【特許請求の範囲】
【請求項１】
リクエスト入力端子、アクノリッジ出力端子、リクエスト出力端子、およびアクノリッジ入力端子をもつハンドシェークプロトコル変換用論理回路であって、
前記リクエスト入力端子がローレベルからハイレベルに遷移すると前記リクエスト出力端子を反転させ、その後前記アクノリッジ入力端子が反転すると前記アクノリッジ出力端子をローレベルからハイレベルに遷移させ、前記リクエスト入力端子がハイレベルからローレベルに遷移すると前記アクノリッジ出力端子をハイレベルからローレベルに遷移させることを特徴とするハンドシェークプロトコル変換用論理回路。
【請求項２】
リクエスト入力端子、アクノリッジ出力端子、リクエスト出力端子、およびアクノリッジ入力端子をもつハンドシェークプロトコル変換用論理回路であって、
前記リクエスト入力端子が反転すると前記リクエスト出力端子をローレベルからハイレベルに遷移させ、その後前記アクノリッジ入力端子がローレベルからハイレベルに遷移すると前記リクエスト出力端子をハイレベルからローレベルに遷移させ、前記アクノリッジ入力端子がハイレベルからローレベルに遷移すると前記アクノリッジ出力端子を反転させることを特徴とするハンドシェークプロトコル変換用論理回路。
【請求項３】
リクエスト入力端子、アクノリッジ出力端子、リクエスト出力端子、およびアクノリッジ入力端子をもつハンドシェークプロトコル変換用論理回路であって、
前記リクエスト入力端子がローレベルからハイレベルになった時に、前記アクノリッジ出力端子をローレベルからハイレベルに遷移させるとともに前記リクエスト出力端子を反転させ、その後、前記アクノリッジ入力端子が反転した時に前記リクエスト入力端子がハイレベルからローレベルになるのを待って、前記アクノリッジ出力端子をハイレベルからローレベルに遷移させることを特徴とするハンドシェークプロトコル変換用論理回路。
【請求項４】
リクエスト入力端子、アクノリッジ出力端子、リクエスト出力端子、およびアクノリッジ入力端子をもつハンドシェークプロトコル変換用論理回路であって、
前記リクエスト入力端子が反転した時に前記アクノリッジ入力端子がローレベルになるのを待って前記リクエスト出力端子をローレベルからハイレベルに遷移させ、その後前記アクノリッジ入力端子がローレベルからハイレベルに変化したときに前記アクノリッジ出力端子を反転させるとともに、前記リクエスト出力端子をハイレベルからローレベルに変化させることを特徴とするハンドシェークプロトコル変換用論理回路。
【請求項５】
第１および第２のＤラッチと論理素子からなり、リクエスト入力端子、アクノリッジ出力端子、リクエスト出力端子、およびアクノリッジ入力端子をもつハンドシェークプロトコル変換用論理回路であって、
前記アクノリッジ入力端子を前記第１のＤラッチのデータ入力端子に接続し、前記リクエスト入力端子を前記リクエスト入力端子がローレベルのとき書き込みが行われるよう前記第１のＤラッチの書き込み許可入力端子に接続し、前記第１のＤラッチのデータ出力端子を前記第２のＤラッチのデータ入力端子に信号が反転して伝送されるよう接続し、前記リクエスト入力端子を前記リクエスト入力端子がハイレベルのとき書き込みが行われるよう前記第２のＤラッチの書き込み許可入力端子に接続し、前記第２のＤラッチのデータ出力端子を前記リクエスト出力端子に接続し、前記第１のＤラッチのデータ出力端子と前記アクノリッジ入力端子の排他的論理和を前記アクノリッジ出力端子に接続してなることを特徴とするハンドシェークプロトコル変換用論理回路。
【請求項６】
第３および第４のＤラッチと論理素子からなり、リクエスト入力端子、アクノリッジ出力端子、リクエスト出力端子、およびアクノリッジ入力端子をもつハンドシェークプロトコル変換用論理回路であって、
前記リクエスト入力端子を前記第３のＤラッチのデータ入力端子に接続し、前記アクノリッジ入力端子を前記アクノリッジ入力端子がハイレベルのとき書き込みが行われるよう前記第３のラッチの書き込み許可入力端子に接続し、前記第３のラッチのデータ出力端子を前記第４のラッチのデータ入力端子に接続し、前記アクノリッジ入力端子を前記アクノリッジ入力端子がローレベルのとき書き込みが行われるよう前記第４のラッチの書き込み許可入力端子に接続し、前記第４のラッチのデータ出力を前記アクノリッジ出力端子に接続し、前記第３のラッチのデータ出力端子と前記リクエスト入力端子の排他的論理和を前記リクエスト出力端子に接続してなることを特徴とするハンドシェークプロトコル変換用論理回路。
【請求項７】
エッジトリガタイプのフリップフロップと論理素子からなり、リクエスト入力端子、アクノリッジ出力端子、リクエスト出力端子、およびアクノリッジ入力端子をもつハンドシェークプロトコル変換用論理回路であって、
前記フリップフロップは前記リクエスト入力端子の立ち上がりエッジで前記リクエスト出力端子の値を反転させて保持し、
前記フリップフロップのデータ出力端子を前記リクエスト出力端子に接続し、
前記アクノリッジ入力端子と前記フリップフロップのデータ出力端子との排他的論理和結果と前記リクエスト入力端子との論理和をとって前記アクノリッジ出力端子に接続してなることを特徴とするハンドシェークプロトコル変換用論理回路。
【請求項８】
エッジトリガタイプのフリップフロップと論理素子からなり、リクエスト入力端子、アクノリッジ出力端子、リクエスト出力端子、およびアクノリッジ入力端子をもつハンドシェークプロトコル変換用論理回路であって、
前記フリップフロップはアクノリッジ入力端子の立ち上がりエッジで前記アクノリッジ出力端子の値を反転させて保持し、
前記フリップフロップのデータ出力端子を前記アクノリッジ出力端子に接続し、
前記リクエスト入力端子と前記フリップフロップのデータ出力端子との排他的否定論理和結果と前記アクノリッジ入力端子との否定論理和をとって前記リクエスト出力端子に接続してなることを特徴とするハンドシェークプロトコル変換用論理回路。
【請求項９】
４サイクル束データ転送方式の非同期式回路を実装するＬＳＩチップにおける非同期式ＬＳＩチップ用入出力インタフェース回路において、
チップ内回路からのデータ出力用のリクエスト出力端子とアクノリッジ入力端子を請求項１、３、５、又は７の論理回路のリクエスト入力端子とアクノリッジ出力端子にそれぞれ接続し、請求項１、３、５、または７の論理回路のリクエスト出力端子とアクノリッジ入力端子を、チップ外へのリクエスト出力端子とアクノリッジ入力端子にそれぞれ接続し、
チップ外からのデータ入力用のリクエスト入力端子とアクノリッジ出力端子を請求項２、４、６、又は８の論理回路のリクエスト入力端子とアクノリッジ出力端子にそれぞれ接続し、請求項２、４、６、又は８の論理回路のリクエスト出力端子とアクノリッジ入力端子を、チップ内回路のデータ入力用のリクエスト入力端子とアクノリッジ出力端子にそれぞれ接続してなり、
チップ外にデータを出力する際には、ハンドシェークプロトコルを４サイクルから２サイクルに変換し、チップ外からデータを入力する際には、ハンドシェークプロトコルを２サイクルから４サイクルに変換することを特徴とする非同期式ＬＳＩチップ用入出力インタフェース回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は非同期式ディジタル論理ＬＳＩチップにおけるハンドシェークプロトコル変換用論理回路、および該論理回路を使用した非同期式ＬＳＩチップ用入出力インタフェース回路に関するものである。
【０００２】
【従来の技術】
非同期式回路の代表的な構成法としては、束データ転送方式と２線エンコーディング方式の２つが主に知られている。
【０００３】
束データ転送方式の構成法を図１１に示す。束データ転送方式では、データの送り手１０と受け手２０の間で、リクエスト信号線とアクノリッジ信号線の２本の信号線が設けられる。送り手１０はデータを組合せ論理回路３０を通して受け手２０に転送する際に、リクエスト信号も同時に送りデータ転送の発生を受け手２０に知らせる。そして、受け手２０はデータを受け取ったことをアクノリッジ信号により送り手１０に通知する。受け手２０において、データが確定してから、リクエスト信号が到着するという前後関係を保証するために、リクエスト信号線には十分な遅延時間を確保するよう遅延素子１が挿入される。
【０００４】
これに対し２線エンコーディング方式は、１ビットのデータを送るのに２本の信号線を用いて、データ転送のタイミング自体をデータ信号線に情報として持たせるものである。すなわち、データの値だけでなくそれが有効か無効かを判別できるよう、１ビットのデータを２ビットにコーディングして送る。データを受け取ったことは束データ転送方式と同様にアクノリッジ信号線を用いて送り手に通知される。この方式では、遅延素子を使用せずにデータ転送のタイミングを取ることが可能になるが、原理的にデータパスのバンド幅が束データ転送方式の２倍になる。
【０００５】
更に束データ転送方式には、データ転送のプロトコルの違いにより２サイクル束データ転送方式（マイクロパイプラインとも呼ばれる）と４サイクル束データ転送方式の２つがある。サイクルは１データの転送に関わる信号遷移の回数を表し、それぞれ２フェーズ束データ転送方式、４フェーズ束データ転送方式と呼ばれることもある。
【０００６】
４サイクル束データ転送方式のデータ転送プロトコルを図１２に示す。４サイクル束データ転送方式では、リクエスト信号の立ち上がりもしくは立ち下がりのどちらかの契機でしかデータ転送は行なわれない。これに対して、２サイクル束データ転送方式では、図１３に示すように、リクエスト信号の立ち上がりと立ち下がりの両方の契機でデータ転送を行なうため、１回のハンドシェークで、４サイクル束データ転送方式の２倍のデータを転送できる。しかしながら、２サイクルの束データ転送方式に基づく非同期式回路では、データの送受信のために用いるレジスタは、リクエスト信号の立ち上がりと立ち下がりを区別せず書き込みを行なうものでなければならない。このようなレジスタは、一方の信号遷移で書き込みを行なうものと比べて構成が複雑になる上、通常ＬＳＩチップ製造ベンダによってスタンダードセルとしては提供されない。また、データ転送の相手を内部状態に応じて切り替えるような実際的な回路の構成に必要なハンドシェーク回路が２サイクルの束データ転送方式では複雑になる。このため現状ではチップ内の非同期式回路の構成法としては、４サイクルの束データ転送方式の方が実現性が高い。
【０００７】
【発明が解決しようとする課題】
クロックでデータ転送のタイミングを制御する同期式ＬＳＩチップにおいては、チップ間もしくはチップと周辺装置間などのチップ外のデータ送受信の最大性能はＩ／Ｏバッファの最高動作周波数や、伝送線路のインピーダンスなどの物理特性によって主に決まる。これに対し、非同期式ＬＳＩチップにおいては、データ送受信の性能は、リクエスト信号とアクノリッジ信号の伝送経路上に発生する遅延の総和によって主に決まる。
【０００８】
束データ転送方式に基づく非同期式ＬＳＩチップの直接的なチップ間接続の方法と、その信号伝達において発生する遅延要因を図１４に示す。図中１００Ａ，１００ＢはＬＳＩチップの境界を、１１０Ａ，１１０Ｂはチップ内部の論理実装領域（論理回路）を、またＬＳＩチップ境界１１０Ａ，１１０Ｂ上の端子１２０Ａ，１２０ＢはＩ／Ｏパッドを表す。送信側の論理回路１１０Ａから受信側の論理回路１１０Ｂまでのリクエスト信号の伝送経路上には、送信側チップの出力バッファによる遅延Ｄ１や、チップ間の配線遅延やＲＣ遅延などによる信号伝達遅延Ｄ３、さらには受信側チップの入力バッファによる遅延Ｄ２などが生じる。受信側の論理回路１１０Ｂから送信例の論理回路１１０Ａまでのアクノリッジ信号の伝送経路上にも同様の遅延が生じる。送信例の論理回路１１０Ａから受信例の論理回路１１０Ｂまでのデータ信号の伝送経路についても同様である。これらの遅延はチップ内のゲート遅延や配線遅延と比べて大きく、さらにチップ間の遅延Ｄ３はチップ間の距離に応じて増大する。
【０００９】
このようなチップ間接続におけるデータ転送周期は、前述のようにリクエスト信号とアクノリッジ信号の遅延時間の総和を越えることはできない。非同期式回路のパイプラインでは、パイプラインの各部でデータ転送性能が異なっていてもよいが、パイプラインのスループットは、データ転送性能の最も遅い部分によって決まる。従って、チップ間のデータ転送性能がボトルネックとなって、ＬＳＩチップのスループットが抑えられてしまうことが問題となる。この問題は、チップ間の距離が長くなるに従って顕著となる。
【００１０】
特に論理回路１１０Ａ，１１０Ｂを４サイクルの束データ転送方式で構成する場合には、１データの転送にリクエスト信号とアクノリッジ信号の遷移が２往復するだけの時間を要するので、チップ間のデータ転送が性能上ボトルネックとなり易い。チップ間のデータ転送効率を向上させる工夫が望まれる。
【００１１】
本発明の目的は、ＬＳＩチップ間のデータ転送効率を向上させることを可能としたハンドシェークプロトコル変換用論理回路および非同期式ＬＳＩチップ用入出力インターフェース回路を提供することである。
【００１２】
【課題を解決するための手段】
請求項１にかかる発明は、リクエスト入力端子、アクノリッジ出力端子、リクエスト出力端子、およびアクノリッジ入力端子をもつハンドシェークプロトコル変換用論理回路であって、前記リクエスト入力端子がローレベルからハイレベルに遷移すると前記リクエスト出力端子を反転させ、その後前記アクノリッジ入力端子が反転すると前記アクノリッジ出力端子をローレベルからハイレベルに遷移させ、前記リクエスト入力端子がハイレベルからローレベルに遷移すると前記アクノリッジ出力端子をハイレベルからローレベルに遷移させることを特徴とするハンドシェークプロトコル変換用論理回路とした。
【００１３】
請求項２にかかる発明は、リクエスト入力端子、アクノリッジ出力端子、リクエスト出力端子、およびアクノリッジ入力端子をもつハンドシェークプロトコル変換用論理回路であって、前記リクエスト入力端子が反転すると前記リクエスト出力端子をローレベルからハイレベルに遷移させ、その後前記アクノリッジ入力端子がローレベルからハイレベルに遷移すると前記リクエスト出力端子をハイレベルからローレベルに遷移させ、前記アクノリッジ入力端子がハイレベルからローレベルに遷移すると前記アクノリッジ出力端子を反転させることを特徴とするハンドシェークプロトコル変換用論理回路とした。
【００１４】
請求項３にかかる発明は、リクエスト入力端子、アクノリッジ出力端子、リクエスト出力端子、およびアクノリッジ入力端子をもつハンドシェークプロトコル変換用論理回路であって、前記リクエスト入力端子がローレベルからハイレベルになった時に、前記アクノリッジ出力端子をローレベルからハイレベルに遷移させるとともに前記リクエスト出力端子を反転させ、その後、前記アクノリッジ入力端子が反転した時に前記リクエスト入力端子がハイレベルからローレベルになるのを待って、前記アクノリッジ出力端子をハイレベルからローレベルに遷移させることを特徴とするハンドシェークプロトコル変換用論理回路とした。
【００１５】
請求項４にかかる発明は、リクエスト入力端子、アクノリッジ出力端子、リクエスト出力端子、およびアクノリッジ入力端子をもつハンドシェークプロトコル変換用論理回路であって、前記リクエスト入力端子が反転した時に前記アクノリッジ入力端子がローレベルになるのを待って前記リクエスト出力端子をローレベルからハイレベルに遷移させ、その後前記アクノリッジ入力端子がローレベルからハイレベルに変化したときに前記アクノリッジ出力端子を反転させるとともに、前記リクエスト出力端子をハイレベルからローレベルに変化させることを特徴とするハンドシェークプロトコル変換用論理回路とした。
【００１６】
請求項５にかかる発明は、第１および第２のＤラッチと論理素子からなり、リクエスト入力端子、アクノリッジ出力端子、リクエスト出力端子、およびアクノリッジ入力端子をもつハンドシェークプロトコル変換用論理回路であって、前記アクノリッジ入力端子を前記第１のＤラッチのデータ入力端子に接続し、前記リクエスト入力端子を前記リクエスト入力端子がローレベルのとき書き込みが行われるよう前記第１のＤラッチの書き込み許可入力端子に接続し、前記第１のＤラッチのデータ出力端子を前記第２のＤラッチのデータ入力端子に信号が反転して伝送されるよう接続し、前記リクエスト入力端子を前記リクエスト入力端子がハイレベルのとき書き込みが行われるよう前記第２のＤラッチの書き込み許可入力端子に接続し、前記第２のＤラッチのデータ出力端子を前記リクエスト出力端子に接続し、前記第１のＤラッチのデータ出力端子と前記アクノリッジ入力端子の排他的論理和を前記アクノリッジ出力端子に接続してなることを特徴とするハンドシェークプロトコル変換用論理回路とした。
【００１７】
請求項６にかかる発明は、第３および第４のＤラッチと論理素子からなり、リクエスト入力端子、アクノリッジ出力端子、リクエスト出力端子、およびアクノリッジ入力端子をもつハンドシェークプロトコル変換用論理回路であって、前記リクエスト入力端子を前記第３のＤラッチのデータ入力端子に接続し、前記アクノリッジ入力端子を前記アクノリッジ入力端子がハイレベルのとき書き込みが行われるよう前記第３のラッチの書き込み許可入力端子に接続し、前記第３のラッチのデータ出力端子を前記第４のラッチのデータ入力端子に接続し、前記アクノリッジ入力端子を前記アクノリッジ入力端子がローレベルのとき書き込みが行われるよう前記第４のラッチの書き込み許可入力端子に接続し、前記第４のラッチのデータ出力を前記アクノリッジ出力端子に接続し、前記第３のラッチのデータ出力端子と前記リクエスト入力端子の排他的論理和を前記リクエスト出力端子に接続してなることを特徴とするハンドシェークプロトコル変換用論理回路とした。
【００１８】
請求項７にかかる発明は、エッジトリガタイプのフリップフロップと論理素子からなり、リクエスト入力端子、アクノリッジ出力端子、リクエスト出力端子、およびアクノリッジ入力端子をもつハンドシェークプロトコル変換用論理回路であって、前記フリップフロップは前記リクエスト入力端子の立ち上がりエッジで前記リクエスト出力端子の値を反転させて保持し、前記フリップフロップのデータ出力端子を前記リクエスト出力端子に接続し、前記アクノリッジ入力端子と前記フリップフロップのデータ出力端子との排他的論理和結果と前記リクエスト入力端子との論理和をとって前記アクノリッジ出力端子に接続してなることを特徴とするハンドシェークプロトコル変換用論理回路とした。
【００１９】
請求項８にかかる発明は、エッジトリガタイプのフリップフロップと論理素子からなり、リクエスト入力端子、アクノリッジ出力端子、リクエスト出力端子、およびアクノリッジ入力端子をもつハンドシェークプロトコル変換用論理回路であって、前記フリップフロップはアクノリッジ入力端子の立ち上がりエッジで前記アクノリッジ出力端子の値を反転させて保持し、前記フリップフロップのデータ出力端子を前記アクノリッジ出力端子に接続し、前記リクエスト入力端子と前記フリップフロップのデータ出力端子との排他的否定論理和結果と前記アクノリッジ入力端子との否定論理和をとって前記リクエスト出力端子に接続してなることを特徴とするハンドシェークプロトコル変換用論理回路とした。
【００２０】
請求項９にかかる発明は、４サイクル束データ転送方式の非同期式回路を実装するＬＳＩチップにおける非同期式ＬＳＩチップ用入出力インタフェース回路において、チップ内回路からのデータ出力用のリクエスト出力端子とアクノリッジ入力端子を請求項１、３、５、又は７にかかる発明の論理回路のリクエスト入力端子とアクノリッジ出力端子にそれぞれ接続し、請求項１、３、５、または７にかかる発明の論理回路のリクエスト出力端子とアクノリッジ入力端子を、チップ外へのリクエスト出力端子とアクノリッジ入力端子にそれぞれ接続し、チップ外からのデータ入力用のリクエスト入力端子とアクノリッジ出力端子を請求項２、４、６、又は８にかかる発明の論理回路のリクエスト入力端子とアクノリッジ出力端子にそれぞれ接続し、請求項２、４、６、又は８にかかる発明の論理回路のリクエスト出力端子とアクノリッジ入力端子を、チップ内回路のデータ入力用のリクエスト入力端子とアクノリッジ出力端子にそれぞれ接続してなり、チップ外にデータを出力する際には、ハンドシェークプロトコルを４サイクルから２サイクルに変換し、チップ外からデータを入力する際には、ハンドシェークプロトコルを２サイクルから４サイクルに変換することを特徴とする非同期式ＬＳＩチップ用入出力インタフェース回路とした。
【００２１】
【発明の実施の形態】
［第１の実施形態］（請求項１，５）
図１(a)は請求項１，５に対応する実施形態のハンドシェークプロトコル変換用論理回路１３０を示す図である。図中のＤラッチ１３１，１３２は図１(b)の真理値表で与えられる一般的な素子で、端子Ｇの値がハイレベル（「１」）のとき端子Ｄｉｎの値を端子Ｄｏｕｔに出力し、端子Ｇの値がローレベル（「０」）の時は直前の値を保持して端子Ｄｏｕｔに出力する。これらＤラッチ１３１，１３２の初期値（出力値）はいずれもローレベルとする。また論理回路１３０のＤラッチ１３１，１３２、ＸＯＲ素子１３３，インバータ１３４，１３５は入力信号が単調に変化した際に出力にグリッチ（ハザード）を生じないものとする。更に、リクエスト入力端子の信号が変化した際に、それがインバータ１３４、Ｄラッチ１３１、およびインバータ１３５を経由してＤラッチ１３２のデータ入力端子Ｄｉｎに至る経路の遅延は、リクエスト入力端子の信号変化がＤラッチ１３２の書き込み許可入力端子Ｇを反転させるのに要する時間より十分大きいという制約が満たされるものとする。更にリクエスト出力端子やアクノリッジ出力端子の信号が変化してからリクエスト入力端子やアクノリッジ入力端子の信号が変化するまでに、論理回路１３０の内部は安定するものとする。
【００２２】
この時、論理回路１３０を、アクノリッジ出力端子がハイレベルになってからリクエスト入力端子をローレベルに遷移させ、アクノリッジ出力端子がローレベルになってからリクエスト入力端子をハイレベルに遷移させるように外部で制御し、またリクエスト出力端子がハイレベルになってからアクノリッジ入力端子をハイレベルに遷移させ、リクエスト出力端子がローレベルになってからアクノリッジ入力端子をローレベルに遷移させるよう外部で制御すると、この回路は図２のタイミングチャートのように動作する。
【００２３】
図２において、実線の矢印は論理回路１３０による信号遷移の因果関係を表し、点線の矢印は外部の制御による信号遷移を表す。すなわち論理回路１３０は、リクエスト入力端子がローレベルからハイレベルに遷移するとリクエスト出力端子を反転させ、その後アクノリッジ入力端子が反転するとアクノリッジ出力端子をローレベルからハイレベルに遷移させ、さらにリクエスト入力端子がハイレベルからローレベルに遷移すると、アクノリッジ出力端子をハイレベルからローレベルに遷移させるよう動作する。
【００２４】
図２から分かるように第１の実施形態の論理回路１３０は、リクエスト入力端子とアクノリッジ出力端子の対をハンドシェークの受け側とし、リクエスト出力端子とアクノリッジ入力端子の対をハンドシェークの送り側とすると、４サイクルのハンドシェークを２サイクルハンドシェークに変換するプロトコル変換機能を実現している。
【００２５】
なお、図１に示した論理回路１３０からは、インバータ１３５の接続位置の変更等の論理変換操作により種々の等価な回路を実現できる。図３はこのような論理変換操作によって得られた等価回路の一例の論理回路１３０’を示す図である。図３の論理回路１３０’では、ＸＯＲ素子１３３をＸＮＯＲ素子１３３’に変更して接続し、インバータ１３５はＤラッチ１３１のデータ出力端子に接続したインバータ１３５’に変更している。論理変換操作としては、他にも、ド・モルガンの定理を適用したり、図１のＸＯＲ素子１３３をＡＮＤ素子とＮＯＲ素子に展開したりすること等が挙げられる。このような操作で得られる等価回路についても、前述のタイミング制約やグリッチを生じないという条件がみたされれば、勿論第１の実施形態と同様に用いることができる。
【００２６】
［第２の実施形態］（請求項２，６）
図４は請求項２，６に対応する実施形態のハンドシェークプロトコル変換用論理回路１４０を示す図である。Ｄラッチ１４１，１４２の初期値はいずれもローレベルとする。またＤラッチ１４１，１４２、ＸＯＲ素子１４３、インバータ１４４は論理回路１３０と同様に入力信号の単調な変化でグリッチを生じないものとする。更に、アクノリッジ入力端子の信号が変化した際に、Ｄラッチ１４１を経由してＤラッチ１４２のデータ入力端子Ｄｉｎに至る経路の遅延は、アクノリッジ入力端子の信号がインバータ１４４を経由してＤラッチ１４２の書き込み許可入力端子Ｇを反転させるのに要する時間より十分大きいという制約が満たされるものとする。更にリクエスト出力端子やアクノリッジ出力端子の信号が変化してからリクエスト入力端子やアクノリッジ入力端子の信号が変化するまでに、論理回路１４０の内部は安定するものとする。
【００２７】
この時、論理回路１４０を、アクノリッジ出力端子がハイレベルになってからリクエスト入力端子をローレベルに遷移させ、アクノリッジ出力端子がローレベルになってからリクエスト入力端子をハイレベルに遷移させるように外部で制御し、またリクエスト出力端子がハイレベルになってからアクノリッジ入力端子をハイレベルに遷移させ、リクエスト出力端子がローレベルになってからアクノリッジ入力端子をローレベルに遷移させるよう外部で制御すると、この回路は図５のタイミングチャートのように動作する。
【００２８】
図５において、実線の矢印は論理回路１４０による信号遷移の因果関係を表し、点線の矢印は外部の制御による信号遷移を表す。すなわち論理回路１４０は、リクエスト入力端子が反転するとリクエスト出力端子をローレベルからハイレベルに遷移させ、その後アクノリッジ入力端子がローレベルからハイレベルに遷移するとリクエスト出力端子をハイレベルからローレベルに遷移させ、さらにアクノリッジ入力端子がハイレベルからローレベルに遷移すると、アクノリッジ出力端子を反転させるよう動作する。
【００２９】
図５から分かるように論理回路１４０は、リクエスト入力端子とアクノリッジ出力端子の対をハンドシェークの受け側とし、リクエスト出力端子とアクノリッジ入力端子の対をハンドシェークの送り側とすると、２サイクルのハンドシェークを４サイクルハンドシェークに変換するプロトコル変換機能を実現している。
【００３０】
なお、本実施形態の論理回路１４０においても、図３で説明したのと同様に、図４の等価回路を用いることができる。
【００３１】
［第３の実施形態］（請求項９）
図６は請求項９に対応する実施形態の非同期式ＬＳＩチップ入出力用インタフェース回路を示す図である。ここでは、図１(a)に示した第１の実施形態の論理回路１３０と図４に示した第２の実施形態の論理回路１４０を用いた。図６中、１００Ａ，１００ＢはＬＳＩチップの境界を、１１０Ａ，１１０Ｂは４サイクル束データ転送方式の非同期式回路を実装するチップ内部の論理実装領域（論理回路）を、またＬＳＩチップ境界１００Ａ，１００Ｂ上の端子１２０Ａ，１２０ＢはＩ／Ｏパッドを表す。論理回路１３０はＬＳＩチップ１００Ａ側に、論理回路１４０はＬＳＩチップ１００Ｂの側に設けられる。
【００３２】
Ｒ１は論理回路１３０のリクエスト入力端子を、Ａ１はアクノリッジ出力端子を、Ｒ２はリクエスト出力端子を、Ａ２はアクノリッジ入力端子をそれぞれ表す。またＲ３は論理回路１４０のリクエスト入力端子を、Ａ３はアクノリッジ出力端子を、Ｒ４はリクエスト出力端子を、Ａ４はアクノリッジ入力端子をそれぞれ表す。なお図では省略しているが、Ｉ／Ｏパッド１２０Ａ，１２０Ｂ上の出力信号は十分な駆動力をもつ出力バッファで駆動され、入力信号は十分な駆動力をもつ入力バッファを介してＬＳＩチップ内部に供給されるものとする。
【００３３】
このインタフェース回路は、ＬＳＩチップ外にデータを出力する際には、データ転送のタイミングを制御する４サイクルプロトコルのハンドシェーク（図６のＨ１部分）を２サイクルプロトコル（図６のＨ２部分）に変換し、ＬＳＩチップ外からデータを入力する際には、２サイクルプロトコルのハンドシェーク（図６のＨ２’部分）を４サイクルプロトコル（図６のＨ３部分）に変換する。
【００３４】
この構成では、リクエスト入力端子Ｒ１がローレベルからハイレベルに変化してから、リクエスト出力端子Ｒ４がローレベルからハイレベルに変化することが保証される。またアクノリッジ出力端子Ａ１がローレベルからハイレベルになった時点でリクエスト出力端子Ｒ４がローレベルからハイレベルになり、またハイレベルからローレベルに戻っていることが保証される。従って、送り手側の論理回路１１０Ａは、Ａ１がローレベルからハイレベルになった時点、あるいはローレベルに戻った時点のいずれかで次のデータを出力すれば良く、また受け手側の論理回路１１０Ｂでは、受信データはＲ４がハイレベルとなっている期間中に安定していて取り込み可能である。
【００３５】
なお、図６では１００Ａを出力側に、１００Ｂを入力側に対応させて描いているが、単一のＬＳＩチップで入力と出力の両方の機能を備える実施方法も勿論可能である。さらに複数のハンドシェーク信号線対（リクエスト信号線とアクノリッジ信号線の対）でデータ線を分けて束ねることで、単一のＬＳＩチップに独立した複数の入力ポートもしくは出力ポートをもたせる実施方法も可能である。
【００３６】
［第４の実施形態］（請求項３，７）
図７は請求項３，７に対応する実施形態のハンドシェークプロトコル変換用論理回路１５０を示す図である。フリップフロップ１５１はリクエスト出力端子の値を保持し、リクエスト入力端子の信号の立ち上がり契機でその値を反転させる。保持値の反転は、フリップフロップ１５１のデータ出力端子Ｄｏｕｔをインバータ１５４を介して、データ入力端子Ｄｉｎにフイードバックすることで行っている。これは、アクノリッジ入力端子の値をインバータを介して、フリップフロップ１５１のデータ入力端子Ｄｉｎに供給したり、フリップフロップ１５１をＴフリップフロップで置き換えることによっても実現できる。フリップフロップ１５１の保持初期値はローレベルとする。また論理回路１５０のフリップフロップ１５１、ＸＯＲ素子１５２、ＯＲ素子１５３、インバータ１５４は入力信号の変化時に出力にグリッチを生成しないこととする。更にリクエスト出力端子やアクノリッジ出力端子の信号が変化してからリクエスト入力端子やアクノリッジ入力端子の信号が変化するまでに、論理回路１５０の内部は安定するものとする。
【００３７】
ＸＯＲ素子１５２はフリップフロップ１５１の出力値すなわちリクエスト出力端子の値とアクノリッジ入力端子の値を比較し、両者が一致する時にローレベルを、そうでないときにハイレベルを出力する。またＯＲ素子１５３は、リクエスト入力端子がハイレベルの時か、ＸＯＲ素子１５２の出力値がハイレベル、すなわちアクノリッジ入力端子とリクエスト出力端子の値が一致しないときに、アクノリッジ出力端子にハイレベルを、それ以外のときにローレベルを出力する。
【００３８】
論理回路１５０を、アクノリッジ出力端子がハイレベルになってからリクエスト入力端子をローレベルに遷移させ、アクノリッジ出力端子がローレベルになってからリクエスト入力端子をハイレベルに遷移させるように外部で制御し、またリクエスト出力端子がハイレベルになってからアクノリッジ入力端子をハイレベルに遷移させ、リクエスト出力端子がローレベルになってからアクノリッジ入力端子をローレベルに遷移させるよう外部で制御すると、この回路は図８のタイミングチャートのように動作する。
【００３９】
図８において、実線の矢印は論理回路１５０による信号遷移の因果関係を、点線の矢印は外部の制御による信号遷移を表す。すなわち論理回路１５０は、リクエスト入力端子がローレベルからハイレベルになった時に、アクノリッジ出力端子をハイレベルにするとともにリクエスト出力端子を反転させ、その後、リクエスト出力端子とアクノリッジ入力端子の値が一致しかつリクエスト入力端子がハイレベルからローレベルになるのを待って、アクノリッジ出力端子をローレベルにするよう動作する。
【００４０】
リクエスト入力端子とアクノリッジ出力端子の対をハンドシェークの受け側とし、リクエスト出力端子とアクノリッジ入力端子の対をハンドシェークの送り側とすると、これら回路もまた４サイクルのハンドシェークを２サイクルハンドシェークに変換するプロトコル変換機能を実現している。ただし、図１(b)に示した第１の実施形態の論理回路１３０と違って、アクノリッジ入力端子がリクエスト出力端子に対応して反転したことは、アクノリッジ出力端子がローレベルからハイレベルに遷移する時には保証されず、ハイレベルからローレベルに戻った時点で保証される。
【００４１】
なお、本実施形態の論理回路１５０においても、図３で説明したのと同様に、図７の等価回路を用いることができる。
【００４２】
［第５の実施形態］（請求項４，８）
図９は請求項４，８に対応する実施形態のハンドシェークプロトコル変換用論理回路１６０を示す図である。フリップフロップ１６１はアクノリッジ出力端子の値を保持し、アクノリッジ入力端子の立ち上がり契機でその値を反転させる。保持値の反転については論理回路１５０と同様である。またフリップフロップ１６１の保持初期値はローレベルとし、その他の実装上の条件についても論理回路１５０と同様とする。
【００４３】
ＸＮＯＲ素子１６２はフリップフロップ１６１の出力値すなわちアクノリッジ出力端子の値とリクエスト入力端子の値を比較し、両者が一致する時にハイレベルを、そうでないときにローレベルを出力する。またＮＯＲ素子１６３は、アクノリッジ入力端子がローレベルでかつ、ＸＮＯＲ素子１６２の出力値がローレベルすなわちリクエスト入力端子とアクノリッジ出力端子が一致しない時に、リクエスト出力端子にハイレベルを、それ以外の時はローレベルを出力する。
【００４４】
論理回路１６０を、アクノリッジ出力端子がハイレベルになってからリクエスト入力端子をローレベルに遷移させ、アクノリッジ出力端子がローレベルになってからリクエスト入力端子をハイレベルに遷移させるように外部で制御し、またリクエスト出力端子がハイレベルになってからアクノリッジ入力端子をハイレベルに遷移させ、リクエスト出力端子がローレベルになってからアクノリッジ入力端子をローレベルに遷移させるよう外部で制御すると、この回路は図１０のタイミングチャートのように動作する。
【００４５】
図１０において、実線の矢印は論理回路１６０による信号遷移の因果関係を、点線の矢印は、外部の制御による信号遷移を表す。すなわち論理回路１６０は、リクエスト入力端子が反転した時にアクノリッジ入力端子がローレベルになるのを待ってリクエスト出力端子をローレベルからハイレベルに変化させ、その後アクノリッジ入力端子がローレベルからハイレベルに変化したときにアクノリッジ出力端子を反転させるとともに、リクエスト出力端子をハイレベルからローレベルに変化させるよう動作する。
【００４６】
リクエスト入力端子とアクノリッジ出力端子の対をハンドシェークの受け側とし、リクエスト出力端子とアクノリッジ入力端子の対をハンドシェークの送り側とすると、これら回路もまた、２サイクルのハンドシェークを４サイクルハンドシェークに変換するプロトコル変換機能を実現している。ただし、図４に示した第２の実施形態による論理回路１４０と違って、アクノリッジ出力端子が反転した時、リクエスト出力端子およびアクノリッジ入力端子がローレベルからハイレベルに変化したことは保証されるが、リクエスト出力端子およびアクノリッジ入力端子がハイレベルからローレベルに戻ったことまでは保証されない。
【００４７】
なお、本実施形態の論理回路１６０においても、図３で説明したのと同様に、図９の等価回路を用いることができる。
【００４８】
［第６の実施形態］（請求項９）
図６における論理回路１３０を図７に示した第４の実施形態の論理回路１５０に置換し、論理回路１４０を図９に示した第５の実施形態の論理回路１６０に置換することで、請求項９に対応する実施形態の非同期式ＬＳＩチップ入出力用インタフェース回路を構成することができる。すなわち、チップ外にデータを出力する際には、データ転送のタイミングを制御する４サイクルプロトコルのハンドシェークを２サイクルプロトコルに変換し、チップ外からデータを入力する際には、２サイクルプロトコルのハンドシェークを４サイクルプロトコルに変換するよう構成できる。
【００４９】
ただしこの構成では、リクエスト入力端子Ｒ１がローレベルからハイレベルに変化してから、リクエスト出力端子Ｒ４がローレベルからハイレベルに変化すること、またアクノリッジ出力端子Ａ１がハイレベルからローレベルに変化した時点でＲ４とＡ４がローレベルからハイレベルに変化していることは保証されるが、アクノリッジ出力端子Ａ１がローレベルからハイレベルになった時点ではＲ４とＡ４がローレベルからハイレベルになったことも、ハイレベルからローレベルに戻っていることも保証されない。
【００５０】
従ってデータ転送を正しく行うためには、送り手側の論理回路１１０ＡはＡ１がローレベルからハイレベルになり、ハイレベルからローレベルに戻るまで次のデータを出力できない。また、受け手側の論理回路１１０ＢはＲ４の立ち上がりエッジでのみデータを取り込むようになっていなければならない。
【００５１】
一方、図６で説明した第３の実施形態のインタフェース回路の信号遷移が完全に逐次的であるのに対し、本実施形態のインタフェース回路の信号遷移においては、Ａ１がハイレベルとなってからＲ１がローレベルになる遷移と、Ｒ２が反転してからＡ２が反転するまでの遷移は独立に生起可能で、またＲ４がローレベルになってからＡ４がローレベルになるまでの遷移と、Ａ３が反転してからＲ３が反転するまでの遷移も独立に生起可能である。すなわち、送り手側論理回路１１０ＡのハンドシェークＨ１と受け手側論理回路１１０ＢのハンドシェークＨ３とチップ間のハンドシェークＨ２，Ｈ２’の一部遷移は同時並列的に行うことができる。このため、本実施形態では１回のデータ転送のハンドシェークに要する時間を図６で説明した第３の実施形態と比べて短くできる。
【００５２】
［その他の実施形態］
なお、請求項９に対応する実施形態の非同期式ＬＳＩチップ入出力用インタフェース回路としては、図６に示した第３実施形態の入出力用インタフェース回路の論理回路１３０を第４の実施形態の論理回路１４０に置換するのみ、あるいは論理回路１４０を第５の実施形態の論理回路１６０に置換するのみとした構成にすることもでき、いずれも同様に動作する。
【００５３】
【発明の効果】
以上から、請求項１，３，５，又は７にかかる発明によれば、４サイクルのハンドシェークを２サイクルのハンドシェークに変換する論理回路を構成でき、また、請求項２，４，６，又は８にかかる発明によれば、２サイクルのハンドシェークを４サイクルのハンドシェークに変換する論理回路を構成できる。
【００５４】
更に請求項９にかかる発明によれば、４サイクル束データ転送方式を内部の回路実装に採用する非同期式ＬＳＩチップにおいて、チップ間通信や周辺装置とのデータ転送のハンドシェークを２サイクルプロトコルに変換することで、リクエスト信号とアクノリッジ信号の往復回数を半減でき、すなわちＩ／Ｏバッファによる遅延やチップ間の配線遅延を半分に減らせ、原理的には１回のデータ転送に要する時間を最大２分の１に短縮できる。そしてこれにより、４サイクル束データ転送方式の非同期式ＬＳＩチップにおいてチップ外のデータ転送がボトルネックとなってチップ性能を低下させる問題を緩和できる。
【図面の簡単な説明】
【図１】  (a)は第１の実施形態のハンドシェークプロトコル変換用論理回路のブロック図、(b)はＤラッチの機能を定義する真理値の説明図である。
【図２】  同第１の実施形態のハンドシェークプロトコル変換用論理回路の動作を示すタイミングチャートである。
【図３】  同第１の実施形態のハンドシェークプロトコル変換用論理回路の変形例のブロック図である。
【図４】  第２の実施形態のハンドシェークプロトコル変換用論理回路のブロック図である。
【図５】  同第２の実施形態のハンドシェークプロトコル変換用論理回路の動作を示すタイミングチャートである。
【図６】  第３の実施形態の非同期式ＬＳＩチップ用入出力インターフェース回路のブロック図である。
【図７】  第４の実施形態のハンドシェークプロトコル変換用論理回路のブロック図である。
【図８】  同第４の実施形態のハンドシェークプロトコル変換用論理回路の動作を示すタイミングチャートである。
【図９】  第５の実施形態のハンドシェークプロトコル変換用論理回路のブロック図である。
【図１０】  同第５の実施形態のハンドシェークプロトコル変換用論理回路の動作を示すタイミングチャートである。
【図１１】  束データ転送方式による非同期回路の構成法の説明図である。
【図１２】  ４サイクル束データ転送方式のデータ転送プロトコルを説明するタイミングチャートである。
【図１３】  ２サイクル束データ転送方式のデータ転送プロトコルを説明するタイミングチャートである。
【図１４】  束データ転送方式による非同期式回路のチップ間接続で発生する遅延の説明図である。
【符号の説明】
１３０，１３０’，１５０：４サイクルのハンドシェークを２サイクルのハンドシェークに変換するハンドシェークプロトコル変換用論理回路
１４０，１６０：２サイクルのハンドシェークを４サイクルのハンドシェークに変換するハンドシェークプロトコル変換用論理回路
【図１】
0003892323.tif 000002
【図２】
0003892323.tif 000003
【図３】
0003892323.tif 000004
【図４】
0003892323.tif 000005
【図５】
0003892323.tif 000006
【図６】
0003892323.tif 000007
【図７】
0003892323.tif 000008
【図８】
0003892323.tif 000009
【図９】
0003892323.tif 000010
【図１０】
0003892323.tif 000011
【図１１】
0003892323.tif 000012
【図１２】
0003892323.tif 000013
【図１３】
0003892323.tif 000014
【図１４】
0003892323.tif 000015