(57)【特許請求の範囲】
【請求項１】
複数のＩＰコアと該複数のＩＰコアに隣接して配設されるルーターとを含むＬＳＩにおいて、隣接する前記ルーター間に配設される非同期プロトコル変換装置であって、
前記ＬＳＩ中の隣接するルーターに接続される２相から４相への変換器と、
前記２相から４相への変換器の出力側に接続される４相パイプラインルーターと、
前記４相パイプラインルーターの出力に接続される４相から２相への変換器と、
前記２相から４相への変換器を制御する入力制御部と、
前記４相から２相への変換器を制御する出力制御部と、を含み、
前記入力制御部に、前記２相から４相への変換器から入力相信号が入力され、かつ、前記４相パイプラインルーターから入力完了信号が入力され、
前記入力制御部は、前記２相から４相への変換器へ入力イネーブル信号を出力し、
前記出力制御部に、前記４相パイプラインルーターから出力完了信号が入力され、かつ、前記４相から２相への変換器から出力相信号が入力され、
前記出力制御部は、前記４相パイプラインルーターへ出力イネーブル信号を出力し、かつ、前記４相から２相への変換器へ前置出力相信号を出力し、
前記２相から４相へのプロトコル変換器が前記入力制御部により、前記４相から２相へのプロトコル変換器が前記出力制御部により、それぞれ独立に制御されることを特徴とする、非同期プロトコル変換装置。
【請求項２】
複数のＩＰコアと該複数のＩＰコアに隣接して配設されるルーターとを含むＬＳＩにおいて、隣接する前記ルーター間に配設される非同期プロトコル変換装置であって、
前記ＬＳＩ中の隣接するルーターに接続される２相から４相への変換器と、
前記２相から４相への変換器の出力側に接続される４相パイプラインルーターと、
前記４相パイプラインルーターの出力に接続される４相から２相への変換器と、
前記２相から４相への変換器を制御する入力制御部と、
前記４相から２相への変換器を制御する出力制御部と、を含み、
前記２相から４相への変換器は、前記ルーターに接続される２相完了検波器と、４相符号器と、からなり、
前記４相から２相への変換器は、前記４相パイプラインルーターの出力に接続される４相復号器と該４相復号器の出力が入力される２相完了検波器と、からなり、
前記入力制御部に、前記２相から４相への変換器の２相完了検波器から入力相信号が入力され、かつ、前記４相パイプラインルーターから入力完了信号が入力され、
前記入力制御部は、前記４相符号器へ入力イネーブル信号を出力し、
前記出力制御部に、前記４相パイプラインルーターから出力完了信号が入力され、かつ、前記４相から２相への変換器の２相完了検波器から出力相信号が入力され、
前記出力制御部は、前記４相パイプラインルーターへ出力イネーブル信号を出力し、かつ、前記４相復号器へ前置出力相信号を出力し、
前記２相から４相へのプロトコル変換器が前記入力制御部により、前記４相から２相へのプロトコル変換器が前記出力制御部により、それぞれ独立に制御されることを特徴とする、非同期プロトコル変換装置。
【請求項３】
前記入力制御部は、以下の状態遷移を有していることを特徴とする、請求項１又は２に記載の非同期プロトコル変換装置。
（ａ）初期状態では、信号in_phaseの状態が高(High)となる。同様に、信号in_completionの状態が低(Low)となる。
（ｂ）信号in_enableは立ち上がり、状態が高(High)となる。
（ｃ）信号in_enableが立ち上がると、真（“１”）又は偽（“０”）の信号in_true(false)が立ち上がり、その状態は高(High)となる。
（ｄ）信号in_true(false)が入力されると、信号in_completionが立ち上がり、その状態が高(High)となる。
（ｅ）信号in_completionが立ち上がると、次に信号ack_leftが立ち上がり、その状態が高(High)となる。
（ｆ）信号ack_leftが立ち上がると、信号in_enableが立ち下がり、その状態が低(Low)となると共に、信号Input(EVEN)が入力される。
（ｇ）信号in_enableが立ち下がると、信号in_true(false)が立ち下がり、その状態が低(Low)となる。
（ｈ）信号in_true(false)が立ち下がると、信号in completionが立ち下がり、その状態が低(Low)となる。
（ｉ）信号Input(EVEN)が入力されると、信号in_phaseが立ち下がり、その状態が低(Low)となる。
（ｊ）信号in_phaseが立ち下がり、かつ、信号in_completionが立ち下がると、信号in_enableが立ち上がり、その状態が高(High)となる。
（ｋ）信号in_ enableが立ち上がると、信号in_true(false)が立ち上がり、その状態が高(High)となる。
（ｌ）信号in_true(false)が立ち上がると、信号in_completionが立ち上がり、その状態が高(High)となる。
（ｍ）信号in_completionが立ち上がると、信号ack_leftが立ち下がり、その状態が低(Low)となる。
（ｎ）信号ack_leftが立ち下がると、信号in_enable-が立ち下がり、その状態が低(Low)となると共に、信号Input(ODD)が入力される。
（ｏ）信号Input(ODD)が入力されると、信号in_phaseは、立ち上がり、その状態が高（High）となり、初期状態に戻る。
（ｐ）信号in_enableが立ち下がると、信号in_true(false)が立ち下がり、その状態が低（Low）となる。
（ｑ）信号in_true(false)が立ち下がると、信号in_completionが立ち下がり、その状態が低（Low）となり、初期状態に戻る。
【請求項４】
前記入力制御部は、非同期式ＤラッチとＸＯＲ回路とから構成されることを特徴とする、請求項１〜３の何れかに記載の非同期プロトコル変換装置。
【請求項５】
前記出力制御部は、以下の状態遷移を有していることを特徴とする、請求項１又は２に記載の非同期プロトコル変換装置。
（ａ）初期状態では、信号out_true(false)が立ち上がり、その状態が高(High)となる。
（ｂ）信号out_true(false)が立ち上がると、信号out_completionが立ち上がり、その状態が高(High)となると共に、信号Output(ODD)が入力される。
（ｃ）信号Output(ODD)が入力されると、信号out_phaseが立ち上がり、その状態が高(High)となる。
（ｄ）信号out_phaseが立ち上がると、信号ark_rightが立ち上がり、その状態が高(High)となる。
（ｅ）信号out_phase及び信号out_completionが立ち上がると、信号out_enableが立ち下がり、その状態が低(Low)となる。信号out_enableが立ち下がると、信号out_true(false)が立ち下がり、その状態が低(Low)となる。
（ｆ）信号out_true(false)が立ち下がると、信号out_completionが立ち下がり、その状態が低(Low)となる。
（ｇ）信号out_completionが立ち下がり、かつ、信号ack_rightが立ち上がると、信号out_enableが立ち上がり、その状態が高(High)となる。
（ｈ）信号out_enableが立ち上がると、信号out_true(false)が立ち上がり、その状態が高(High)となる。
（ｉ）信号out_true(false)が立ち上がると、信号Output(EVEN)が出力されると共に、信号out_completionが立ち上がり、その状態が高(High)となる。
（ｊ）信号Output(EVEN)が出力されると、信号out_phaseが立ち下がり、その状態が低(Low)となる。
（ｋ）信号out_phaseが立ち下がり、かつ、信号out_completionが立ち上がると、信号out_enableが立ち下がり、その状態が低(Low)となる。信号out_enableが立ち下がると、信号out_true(false)が立ち下がり、その状態が低(Low)となる。
（ｌ）信号out_true(false)が立ち下がると、信号out_completionが立ち下がり、その状態が低(Low)となる。
（ｍ）信号out_completionが立ち下がり、かつ、信号ack_rightが立ち下がると、信号out_enableが立ち上がり、その状態が高(High)となる。
（ｎ）信号out_enableが立ち上がると、信号out_true(false)が立ち上がり、その状態が高（High）となり、初期状態に戻る。
【請求項６】
前記出力制御部は、非同期式ＤラッチとＸＯＲ回路ゲートとＣ素子とから構成されることを特徴とする、請求項１、２、５の何れかに記載の非同期プロトコル変換装置。
【請求項７】
前記４相パイプラインルーターは、４相の機能ブロックとパイプラインレジスタと４相完了検波器とを含んで構成されていることを特徴とする、請求項１又は２に記載の非同期プロトコル変換装置。
【請求項８】
前記４相パイプラインルーターは、ルーティング回路と、該ルーティング回路に接続されるアービトレーション回路と、該アービトレーション回路に接続されるマルチプレクサ回路とを含んで構成されていることを特徴とする、請求項１又は２に記載の非同期プロトコル変換装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、非同期プロトコル変換装置に関する。さらに、詳しくは、本発明は、ルーターを介して通信を行うシステムＬＳＩ内で使用される、非同期プロトコル変換装置に関する。
【背景技術】
【０００２】
半導体集積回路は、最小加工寸法の微細化が進み、量産レベルの最小加工寸法は３２ｎｍに達しており、集積されるトランジスタ数の規模が大きくなっている。このような大規模集積回路は、システムＬＳＩとも呼ばれている。
図１９は、ＮＯＣ通信方式に基づくシステムＬＳＩの構成を示すブロック図である。図１９に示すように、システムＬＳＩ（システムオンチップ（System-on-Chips：ＳｏＣ）とも呼ばれている。）４０は、一般に複数の処理機能単位（Intellectual Property Core）、ＩＰコアと呼ぶ。）４１で構成されている。近年の最小加工寸法の微細化によって、システムＬＳＩ４０の１チップ中には演算、デジタル信号演算（ＤＳＰ）、メモリ等のＩＰコア４１が集積できるようになっている。これらＩＰコア４１間を、パケット情報に基づき、ＩＰコア４１に隣接して配設されるルーター４２を介して通信する方式が、ネットワークオンチップ(Network-on-Chip：ＮｏＣ)と呼ばれている。【０００３】
ＮｏＣ内の１チップ中に配置される各ＩＰコア４１は、各ＩＰコア４１のクロック周波数で動作している。つまり、各ＩＰコア４１は、通常異なるクロック周波数で動作している。各ＩＰコア４１間の通信方式としては、バス通信等で用いられるクロックによる同期方式とクロックを用いない非同期通信方式がある。同期方式では、設計自由度がなく消費電力が多い。【０００４】
近年、各ＩＰコア４１間の通信方式としては、上記した従来の同期方式の欠点を改善するため、非同期通信方式が採用されることが多くなってきている（特許文献１参照）。この非同期通信方式にも４相方式(非特許文献１及び２参照)と２相方式(非特許文献３及び４参照)が知られている。【０００５】
最初に４相２線符号について説明する（非特許文献５参照）。
２線方式の４相プロコルでは、「データ」と「スペーサ」を交互に使用して連続した「データ」を判別する。ここで、「相」とは「１回のデータ転送を行うためのステップ数」を表し、「線」は「データを転送するのに必要な配線の本数」を表す。【０００６】
図２０は、４相２線符号を説明する図であり、それぞれ（Ａ）は４相２線符号化に基づく非同期データ転送のチャネルモデルを、（Ｂ）は符号の定義を、（Ｃ）は４相２線符号化に基づく転送プロトコルにおける１回のデータ転送の手順を示している。
４相２線符号は、２線ｘとｘ’（図２０（ａ）参照）にそれぞれ論理値の“１”と“０”を割り当て、どちらかの線を立ち上げることでデータの到来を認識するワンホット符号である。データを表す符号の間にスペーサを挟むことによって、連続したデータを識別することができる（図２０（ｂ）参照）。【０００７】
図２０（ｃ）に示されるように、４相２線符号化に基づく転送プロトコルにおける１回のデータ転送は、次の手順で行われる。
（１）送信側は受信側からの応答信号を識別し、受信側へ新しいデータを送り出す。
（２）受信側は新しいデータを検出し、データを受け取ったという応答信号を返す。
（３）送信側はその応答信号を識別し、受信側へスペーサを送り出す。
（４）受信側はスペーサを検出し、スペーサを受け取ったという応答信号を返す。
このように、４相２線符号では、データの符号とスペーサの符号の両方について要求応答処理が必要であるため、1回のデータ転送を完了（完結とも呼ばれる。）するのに４ステップもの手順がかかってしまう。この結果、データ転送のサイクルタイムが大きくなってしまう。【０００８】
次に、２相２線符号について説明する（非特許文献５参照）。
２線方式の２相プロコルでは、高速化のために４相プロトコルの「スペーサ」を省き、「偶」（EVENとも呼ぶ。）と「奇」（ODDとも呼ぶ。）というデータを使用している。
図２１は、２相２線符号を説明する図であり、それぞれ（Ａ）は２相２線符号化に基づく非同期データ転送のチャネルモデルを、（Ｂ）は符号の定義を、（Ｃ）は２相２線符号化に基づく転送プロトコルにおける１回のデータ転送の手順を示している。
２相２線符号は、２線ｘとｘ’にそれぞれ論理値の“１”と“０”を割り当て、どちらかの線を立ち上げることでデータの到来を認識する符号である（図２１（ａ）参照）。
２相２線符号のデータは、「奇数」と「偶数」という２つの異なる定義を持つ（図２１（ｂ）参照）。連続したデータは定義が異なる符号を交互に遷移させることによって区別する。データは、「奇数」から「偶数」若しくはその逆に遷移する際、２線ｘとｘ’のどちらか一方のみが変化するように定義されているため、有効状態を正しく検出できる。【０００９】
図２１（ｃ）に示すように、２相２線符号化に基づく転送プロトコルにおける１回のデータ転送は、次の手順で行われる。
（１）送信側は受信側からの応答信号の反転を識別し、受信側へ先と異なる定義のデータを送り出す。
（２）受信側は異なる定義のデータを検出し、応答信号を反転させて送信側へ送る。
このように、２相２線符号化は、４相２線符号化のようにスペーサの挿入に伴う要求応答処理を必要としないため、１回のデータ転送を完了するのに２ステップの手順で済むという特徴がある。【００１０】
近年、４相の非同期通信方式において、４相方式のプロトコルを用い、擬似遅延不感の論理方式(quasi-delay-insensitive、以下ＱＤＩ論理方式と呼ぶ。)によりルーター同士を接続するリンクの回路が設計されている(非特許文献１及び２参照)。【００１１】
一方、２相の非同期通信方式において、２相方式のプロトコル（非特許文献３参照）を用いた高速の非同期通信のリンクが報告されている(非特許文献４参照)。しかしながら、２相方式のプロトコルの回路は、複雑なラッチと機能ブロックを必要とするために大きな面積を必要とし、遅延時間が大きくなるという欠点がある。このため、ルーターのような演算ブロックは、専ら４相方式のプロトコルが用いられている。【００１２】
ＱＤＩ論理方式を用いた非同期プロトコル変換装置が提案されている(非特許文献６及び７参照)。プロトコル変換器とは、２相プロトコルから４相プロトコル、又この逆変換である４相プロトコルから２相プロトコルへの変換器である。
図２２は、上記のＱＤＩ論理方式を用いた非同期プロトコル変換装置５０の構成を示すブロック図である。図２２に示すように、従来の非同期プロトコル変換装置５０は、２相から４相へのプロトコル変換器５１と、このプロトコル変換器５１に接続される４相ルーター５２と、４相ルーター５２から出力される４相プロトコル信号を再び２相プロトコル信号に変換する４相から２相へのプロトコル変換器５３と、制御部５４と、から構成されている。【００１３】
４相ルーター５２は、ルーティング回路５２ａと、調停回路５２ｂと、マルチプレクサ（ＭＵＸと略称することもある。）回路５２ｃを、含んで構成されている。ルーティング回路５２ａと調停回路５２ｂとの間にはレジスタ５２ｄが配置されている。同様に、調停回路５２ｂとマルチプレクサ回路５２ｃとの間にもレジスタ５２ｅが配置されている。これらのレジスタ５２ｄ，５２ｅは、通信速度を速くするために用いられている（非特許文献１参照）。【００１４】
図２３は、ＱＤＩ論理方式を用いた従来の非同期プロトコル変換装置の動作を示すタイミングチャートである。図２３に示すように、最初、全ての４相信号は低であり、スペーサの状態である。そして、入力相信号と出力相信号とは２相信号であり、同じ相情報「偶」を有している。相情報「奇」を有している新しい２相の入力が来たときには、入力相信号は、遷移をしてイネーブルを確認して高となる。これにより、２相から４相へのプロトコル変換器５１は、４相プロトコル用の「データ」を生成し、そして、４相ルーターは３つの機能ブロック、即ちルーティング回路５２ａと調停回路５２ｂとマルチプレクサ回路５２ｃで計算する。４相ルーター５２が計算した後、４相から２相へのプロトコル変換器５３は、相情報「奇」を有している新しい２相を出力する。【００１５】
一方、完了が確認されて、そして出力相信号が変化した場合、４相ルーター５２をリセットするためにスペーサを発生するために、イネーブルが再度確認される。同時に、２相の入力が変化する。４相ルーター５２がリセットされた後、完了が再度確認される。これは、次の２相の入力信号のプロトコル変換の準備を意味している。【００１６】
従来の非同期プロトコル変換装置５０では、新しい２相の入力信号は、全ての４相ルーター５２の機能ブロックが４相から２相へのプロトコル変換器５１中の以前の２相信号の復号化によってリセットがされた後で、符号化される。【００１７】
従って、従来の非同期プロトコル変換装置５０のサイクルタイム（ｔｃｙｃle_conv）は、２相から４相へのプロトコル変換器(2p→4ｐ)５１と、パイプライン構造の４相ルーター５２の機能ブロック、即ちルーティング回路５２ａと調停回路５２ｂとマルチプレクサ回路５２ｃと、４相から２相へのプロトコル変換器(4ｐ→2ｐ)５３と、制御部５４の「データ」（“data”）及び「スペーサ」（“spacer”）とからなる遅延時間の合計となる。従って、サイクルタイム（ｔｃｙｃle_conv）は、下記（１）式で与えられる。
【数１】
0005935105.tif 000002
ここで、ｋはルーターのパイプライン化された回路の段数である。図２３に示す４相ルーター５２のパイプラインの場合は、ｋ＝３である。【００１８】
このように、非同期の４相パイプライン回路、例えば４相ルーター５２に従来のプロトコル変換器を適用した場合には、サイクルタイム（ｔｃｙｃle_conv）は、パイプライン回路の段数に比例して増大する。
【先行技術文献】
【特許文献】
【００１９】
【特許文献１】特開２００６−２５４４４９号公報
【非特許文献】
【００２０】
【非特許文献１】J. Bainbridge, et al., “A Delay-Insensitive Chip Area Interconnect”, IEEE, Micro, vol. 22, no. 5, Sep.-Oct. 2002. pp. 16-23.
【非特許文献２】E. Beigne, et al., “An asynchronous NoC architecture providing low latency service and its multi-level design framework”, Proc. 11th IEEE Int. Symp. Asynchronous Circuits Syst., pp. 54-63, 2005
【非特許文献３】M. Dean, et al., “Efficient Self-Timed Level-Encoded 2-Phase Dual-Rail (LEDR)”, Adv. Res. in VLSI, pp. 55-70, 1991.
【非特許文献４】P. B. McGee, et al., “A Level-Encoded Transition Signaling Protocol for High-Throughput Asynchronous Global Communication”, Proc. 14th IEEE Int. Symp. Asynchronous Circuits Syst., pp. 116-127, Apr. 2008.
【非特許文献５】東北大学博士論文、高橋知宏、平成１８年度
【非特許文献６】A. Mitra, et al., “Efficient Asynchronous Protocol Converters for Two-Phase Delay-Insensitive Global Communication”, Proc. IEEE Int. Symp. Asynchronous Circuits Syst., pp. 186-195, Mar. 2007.
【非特許文献７】W. F. McLaughlin, et al., “Asynchronous Protocol Converters for Two-Phase Delay-Insensitive Global Communication”, IEEE Trans. Very Large Scale Integration (VLSI) Systems, vol. 17, no. 7, pp. 923-928, July 2009.
【発明の概要】
【発明が解決しようとする課題】
【００２１】
従来の非同期式演算装置の入出力ポートに接続されたプロトコル変換装置は、入出力ポートに共通に接続されていた。先ず、演算装置に送信されてきた入力データのプロトコルの変換を行い、演算装置で特定の演算を行い、出力データのプロトコル変換を行い出力データのプロトコルが変換されたことを確認することで、１回の処理が終了する。この処理を逐次的に行う必要があったため、従来変換装置を適用できる装置は１入力１出力の演算装置に限定されていた。【００２２】
このように、従来装置では、使用できる演算装置は１入力１出力に限定されていたため、多入力多出力のルーターに従来装置を使用することはできなかった。【００２３】
従来のネットワークオンチップの構成要素であるルーター及びデータ転送リンクに使用できるプロトコルは１種類に限定されていた。このため、データ転送リンクに待ち時間の多いプロトコルを使用する必要があり、ネットワークオンチップの転送速度が大幅に低下してしまう問題があった。【００２４】
本発明は、上記課題に鑑み、非同期式のＬＳＩ、例えば、ネットワークオンチップにおいて、数十個のＩＰコア間の通信を柔軟に行うことができ、かつ、多入力多出力の非同期プロトコル変換装置を提供することを目的としている。
【課題を解決するための手段】
【００２５】
上記目的を達成するため、本発明の非同期プロトコル変換装置は、複数のＩＰコアと複数のＩＰコアに隣接して配設されるルーターとを含むＬＳＩにおいて、隣接するルーター間に配設され、ＬＳＩ中の隣接するルーターに接続される２相から４相への変換器と、２相から４相への変換器の出力側に接続されるパイプラインルーターと、４相パイプラインルーターの出力に接続される４相から２相への変換器と、２相から４相への変換器を制御する入力制御部と、４相から２相への変換器を制御する出力制御部と、を含み、入力制御部に、２相から４相への変換器から入力相信号が入力され、かつ、４相パイプラインルーターから入力完了信号が入力され、入力制御部は、２相から４相への変換器へ入力イネーブル信号を出力し、出力制御部に、４相パイプラインルーターから出力完了信号が入力され、かつ、４相から２相への変換器から出力相信号が入力され、出力制御部は、４相パイプラインルーターへ出力イネーブル信号を出力し、かつ、４相から２相への変換器へ前置出力相信号を出力し、２相から４相へのプロトコル変換器が入力制御部により、４相から２相へのプロトコル変換器が前記出力制御部により、それぞれ独立に制御されることを特徴とする。
本発明の別の態様は、複数のＩＰコアと複数のＩＰコアに隣接して配設されるルーターとを含むＬＳＩにおいて、隣接するルーター間に配設される非同期プロトコル変換装置であって、ＬＳＩ中の隣接するルーターに接続される２相から４相への変換器と、２相から４相への変換器の出力側に接続される４相パイプラインルーターと、４相パイプラインルーターの出力に接続される４相から２相への変換器と、２相から４相への変換器を制御する入力制御部と、４相から２相への変換器を制御する出力制御部と、を含み、２相から４相への変換器は、ルーターに接続される２相完了検波器と、４相符号器と、からなり、４相から２相への変換器は、４相パイプラインルーターの出力に接続される４相復号器と４相復号器の出力が入力される２相完了検波器と、からなり、入力制御部に、２相から４相への変換器の２相完了検波器から入力相信号が入力され、かつ、４相パイプラインルーターから入力完了信号が入力され、入力制御部は、４相符号器へ入力イネーブル信号を出力し、出力制御部に、４相パイプラインルーターから出力完了信号が入力され、かつ、４相から２相への変換器の２相完了検波器から出力相信号が入力され、出力制御部は、４相パイプラインルーターへ出力イネーブル信号を出力し、かつ、４相復号器へ前置出力相信号を出力し、２相から４相へのプロトコル変換器が前記入力制御部により、４相から２相へのプロトコル変換器が出力制御部により、それぞれ独立に制御されることを特徴とする。
【００２６】
上記構成において、入力制御部は、好ましくは、以下の状態遷移を有している。
（ａ）初期状態では、信号in_phaseの状態が高(High)となる。同様に、信号in_completionの状態が低(Low)となる。
（ｂ）信号in_enableは立ち上がり、状態が高(High)となる。
（ｃ）信号in_enableが立ち上がると、真（“１”）又は偽（“０”）の信号in_true(false)が立ち上がり、その状態は高(High)となる。
（ｄ）信号in_true(false)が入力されると、信号in_completionが立ち上がり、その状態が高(High)となる。
（ｅ）信号in_completionが立ち上がると、次に信号ack_leftが立ち上がり、その状態が高(High)となる。
（ｆ）信号ack_leftが立ち上がると、信号in_enableが立ち下がり、その状態が低(Low)となると共に、信号Input(EVEN)が入力される。
（ｇ）信号in_enableが立ち下がると、信号in_true(false)が立ち下がり、その状態が低(Low)となる。
（ｈ）信号in_true(false)が立ち下がると、信号in completionが立ち下がりその状態が低(Low)となる。
（ｉ）信号Input(EVEN)が入力されると、信号in_phaseが立ち下がり、その状態が低(Low)となる。
（ｊ）信号in_phaseが立ち下がり、かつ、信号in_completionが立ち下がると、信号in_enableが立ち上がり、その状態が高(High)となる。
（ｋ）信号in_ enableが立ち上がると、信号in_true(false)が立ち上がり、その状態が高(High)となる。
（ｌ）信号in_true(false)が立ち上がると、信号in_completionが立ち上がり、その状態が高(High)となる。
（ｍ）信号in_completionが立ち上がると、信号ack_leftが立ち下がり、その状態が低(Low)となる。
（ｎ）信号ack_leftが立ち下がると、信号in_enableが立ち下がり、その状態が低(Low)となると共に、信号Input(ODD)が入力される。
（ｏ）信号Input(ODD)が入力されると、信号in_phaseは立ち上がり、その状態が高（High）となり、初期状態に戻る。
（ｐ）信号in_enableが立ち下がると、信号in_true(false)が立ち下がり、その状態が低（Low）となる。
（ｑ）信号in_true(false)が立ち下がると、信号in_completionが立ち下がり、その状態が低（Low）となり、初期状態に戻る。
上記入力制御部は、好ましくは、非同期式ＤラッチとＸＯＲ回路とから構成される。【００２７】
前記出力制御部は、好ましくは以下の状態遷移を有している。
（ａ）初期状態では、信号out_true(false)が立ち上がり、その状態が高(High)となる。
（ｂ）信号out_true(false)が立ち上がると、信号out_completionが立ち上がり、その状態が高(High)となると共に、信号Output(ODD)が入力される。
（ｃ）信号Output(ODD)が入力されると、信号out_phaseが立ち上がり、その状態が高(High)となる。
（ｄ）信号out_phaseが立ち上がると、信号ark_rightが立ち上がり、その状態が高(High)となる。
（ｅ）信号out_phase及び信号out_completionが立ち上がると、信号out_enableが立ち下がり、その状態が低(Low)となる。信号out_enableが立ち下がると、信号out_true(false)が立ち下がり、その状態が低(Low)となる。
（ｆ）信号out_true(false)が立ち下がると、信号out_completionが立ち下がり、その状態が低(Low)となる。
（ｇ）信号out_completionが立ち下がり、かつ、信号ack_rightが立ち上がると、信号out_enableが立ち上がり、その状態が高(High)となる。
（ｈ）信号out_enableが立ち上がると、信号out_true(false)が立ち上がり、その状態が高(High)となる。
（ｉ）信号out_true(false)が立ち上がると、信号Output(EVEN)が出力されると共に、信号out_completionが立ち上がり、その状態が高(High)となる。
（ｊ）信号Output(EVEN)が出力されると、信号out_phaseが立ち下がり、その状態が低(Low)となる。
（ｋ）信号out_phaseが立ち下がり、かつ、信号out_completionが立ち上がると、信号out_enableが立ち下がり、その状態が低(Low)となる。信号out_enableが立ち下がると、信号out_true(false)が立ち下がり、その状態が低(Low)となる。
（ｌ）信号out_true(false)が立ち下がると、信号out_completionが立ち下がり、その状態が低(Low)となる。
（ｍ）信号out_completionが立ち下がり、かつ、信号ack_rightが立ち下がると、信号out_enableが立ち上がり、その状態が高(High)となる。
（ｎ）信号out_enableが立ち上がると、信号out_true(false)が立ち上がり、その状態が高（High）となり、初期状態に戻る。
前記出力制御部は、好ましくは、非同期式ＤラッチとＸＯＲ回路とＣ素子とから構成される。
４相パイプラインルーターは、好ましくは、４相の機能ブロックとパイプラインレジスタと４相完了検波器とを含んで構成されている。
４相パイプラインルーターは、好ましくは、ルーティング回路と、ルーティング回路に接続されるアービトレーション回路と、アービトレーション回路に接続されるマルチプレクサ回路とを含んで構成されている。
【発明の効果】
【００２８】
本発明の非同期プロトコル変換装置によれば、多入力多出力のプロトコル変換装置を用いることで、ルーターおよびデータ転送にそれぞれ独立に適したプロトコルを適用することが可能となり、高速なネットワークオンチップが実現できる。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施形態に係る非同期プロトコル変換装置の構成を示すブロック図である。
【図２】本発明の非同期プロトコル変換装置が配設されるＬＳＩの構成を示すブロック図である。
【図３】２相完了検波器の構成を示す回路図である。
【図４】Ｃ素子の動作を説明する図であり、それぞれ（Ａ）はＣ素子の構成を示す回路図、（Ｂ）はＣ素子の動作の真理値表を示している。
【図５】４相符号器の構成を示す回路図である。
【図６】入力制御部の構成を示す回路図である。
【図７（Ａ）】２相から４相への変換器と入力制御部とを示す回路図である。
【図７（Ｂ）】入力制御部の動作を説明するタイムチャートである。
【図８】入力制御部の動作を説明する状態遷移図である。
【図９】４相のパイプラインルーターの構成を示す回路図である。
【図１０】４相復号器の構成を示す回路図である。
【図１１】出力制御部の構成を示す回路図である。
【図１２（Ａ）】４相から２相への変換器と出力制御部の回路図である。
【図１２（Ｂ）】４相から２相への変換器の動作を説明するタイムチャートである。
【図１３】出力制御部の動作を説明する状態遷移図である。
【図１４】本発明の非同期プロトコル変換装置の動作を説明するタイムチャートである。
【図１５】５入力５出力の非同期プロトコル変換装置の構成を示すブロック図である。
【図１６】本発明の非同期プロトコル変換装置をシミュレーションしたタイムチャートの一例を示す図である。
【図１７】シミュレーション例１の結果を示す図であり、それぞれ（Ａ）はパイプラインレジスタ数とスループットとの関係、（Ｂ）はパイプラインレジスタ数と消費エネルギーとの関係を示している。
【図１８】シミュレーション例２の結果を示す図であり、それぞれ（Ａ）はワイヤー長とスループットとの関係、（Ｂ）はワイヤー長と消費エネルギーとの関係を示している。
【図１９】ＮｏＣ通信方式に基づく従来のシステムＬＳＩの構成を示すブロック図である。
【図２０】公知の４相２線符号を説明する図であり、それぞれ（Ａ）は４相２線符号化に基づく非同期データ転送のチャネルモデルを、（Ｂ）は符号の定義を、（Ｃ）は４相２線符号化に基づく転送プロトコルにおける１回のデータ転送の手順を示している。
【図２１】公知の２相２線符号を説明する図であり、それぞれ（Ａ）は２相２線符号化に基づく非同期データ転送のチャネルモデルを、（Ｂ）は符号の定義を、（Ｃ）は２相２線符号化に基づく転送プロトコルにおける１回のデータ転送の手順を示している。
【図２２】ＱＤＩ論理方式を用いた従来の非同期プロトコル変換装置の構成を示すブロック図である。
【図２３】ＱＤＩ論理方式を用いた従来の非同期プロトコル変換装置の動作を示すタイミングチャートである。
【符号の説明】
【００３０】
１，３０：非同期プロトコル変換装置
１１，３１：２相から４相への変換器
１２，３２：４相のパイプラインルーター
１２ａ，１２ｂ，・・・，１２ｋ：４相の機能ブロック
１２ｐ：パイプラインレジスタ
１２ｑ：４相完了検波器
１２ｒ，１２ｓ：ＮＯＲ回路
１２ｔ，１２ｕ，１５ａ，１６ｒ：Ｃ素子
１３：４相から２相への変換器
１４，３４：入力制御部
１４ａ，１４ｂ，１５ｃ，１５ｄ，１５ｅ：非同期式Ｄラッチ
１４ｃ，１５ｂ，１６ａ，１６ｂ，１６ｎ：ＸＯＲ回路
１５，３５：出力制御部
１６：２相完了検波器
１６ｐ，１７ｂ，１７ｃ，１８ｂ，１８ｃ，１８ｄ，１８ｅ：ＡＮＤ回路
１６ｑ，１８ｆ，１８ｇ：ＯＲ回路
１７：４相符号器１７ａ，１８ａ：ＮＯＴ回路
１８：４相復号器
１８ｈ，１８ｉ：非同期式ＲＳラッチ
１９：２相完了検波器
２０：システムＬＳＩ
２１：ＩＰコア
２２：ルーター３２：３段構成のパイプラインルーター
３６：ルーティング回路
３７：アービトレーション回路
３８：マルチプレクサ回路
【発明を実施するための形態】
【００３１】
以下、図面を参照しながら本発明の実施形態を具体的に説明する。
図１は、本発明の実施形態に係る非同期プロトコル変換装置１の構成を示すブロック図である。図１に示すように、本発明の実施形態に係る非同期プロトコル変換装置１は、ＬＳＩ中の隣接するルーターに接続される２相から４相への変換器１１と、２相から４相への変換器１１の出力側に接続される４相のパイプラインルーター１２と、４相のパイプラインルーター１２の出力に接続される４相から２相への変換器１３と、２相から４相への変換器１１等を制御する入力制御部１４と、４相から２相への変換器１３等を制御する出力制御部１５と、から構成されている。
【００３２】
図２は、本発明の非同期プロトコル変換装置１が配設されるシステムＬＳＩ２０の部分的な構成を示すブロック図である。図２に示すように、配設されるＬＳＩ２０は、複数のＩＰコア２１と、複数のＩＰコア２１に隣接して配設されるルーター２２と、本発明の非同期プロトコル変換装置１とを含んで構成されている。非同期プロトコル変換装置１は、左側に隣接するルーター２２ａから入力データ信号と入力パリティ信号が入力される。そして、非同期プロトコル変換装置１は、右側に隣接するルーター２２ｂに出力データ信号と出力パリティ信号を出力する。
【００３３】
入力制御部１４からは、入力確認信号（ack_left）が左側に隣接するルーター２０に出力される。そして、出力制御部１５には、出力確認信号（ack_right）が右側に隣接するルーター２１から入力される。
【００３４】
２相から４相への変換器１１は、非同期プロトコル変換装置１の外部のルーター２０に接続される２相完了検波器１６と、４相符号器１７とから構成されている。
【００３５】
図３は、２相完了検波器１６の構成を示す回路図である。図３に示すように、２相完了検波器１６は、入力０〜ｎ−１に接続されるエクスクルーシブオア（ＸＯＲ回路と呼ぶ。）１６ａ，１６ｂ，・・・，１６ｎと、ＸＯＲ回路１６a,１６b，・・・，１６nの出力のすべてが入力されるアンド(ＡＮＤ回路と呼ぶ。)１６ｐと、ＸＯＲ回路１６a，１６b，・・・，１６ｎの出力のすべてが入力されるオア(ＯＲ回路と呼ぶ。)１６ｑと、ＡＮＤ回路１６ｐとＯＲ回路１６ｑの出力が入力されるＣ素子１６ｒとから構成されている。ＸＯＲ回路等の論理回路はＸＯＲ回路ゲート等とも呼ばれる。
【００３６】
図４は、Ｃ素子１６ｒの動作を説明する図であり、それぞれ（Ａ）はＣ素子１６ｒの構成を示す回路図、（Ｂ）はＣ素子１６ｒの動作の真理値表を示している。図４（Ａ）に示すように、Ｃ素子１６ｒは、非同期式の回路に使用される双安定の記憶素子であり、待ち合わせ回路や合流回路とも呼ばれている。図４（Ｂ）に示すように、全ての入力が論理“１”になると出力が論理“１”になり、全ての入力が論理“０”になると出力が論理“０”になる。入力に論理“１”と“０”が混在した状態では、直前の出力を維持する。
【００３７】
図５は、４相符号器１７の構成を示す回路図である。図５に示すように、４相符号器１７は、１個のノット（ＮＯＴ回路と呼ぶ。ＮＯＴ回路はインバータとも呼ばれる。）１７ａと、２個のＡＮＤ回路１７ｂ，１７ｃと、から構成されている。
【００３８】
図６は、入力制御部１４の構成を示す回路図である。図６に示すように、入力制御部１４は、第１及び第２の非同期式Ｄラッチ１４ａ，１４ｂと１個のＸＯＲ回路１４ｃとから構成されている。
【００３９】
図７（Ａ）は２相から４相への変換器１１と入力制御部１４とを示す回路図であり、図１に示す２相から４相への変換器１１と、図６に示した入力制御部１４を纏めて示している。
【００４０】
図７（Ｂ）は、入力制御部１４の動作を説明するタイムチャートである。図７（Ｂ）の横軸は時間（任意目盛り）である。縦軸は、上から順に、それぞれ２相入力信号（2phase_in）、入力相信号（in_phase）、入力イネーブル信号（in_enable）、４相入力信号（4phase_in）、入力完了信号（in_completion）、入力側確認信号（ack_left）を示している。
図７（Ｂ）に示すように、入力完了信号が低（Low）のとき、２相入力信号（2phase_in）は、非同期式Ｄラッチ１４ａを通過する。一方、前の２相入力信号は、非同期式Ｄラッチ１４ｂで保持、つまり記憶されている。ＸＯＲ回路１４ｃは、４相演算用に入力イネーブル信号(in_enable)を変化させるために相信号の変化を決定する。つまり、入力イネーブル信号(in_enable)が高（High）のときに４相演算が実行される。
【００４１】
入力完了信号(in_completion)が高（High）になると、入力相信号（2phase_in）は、次のプロトコル変換が入力に対して現在の相信号として非同期式Ｄラッチ１４ｂに記憶される。つまり、入力イネーブル信号(in_enable)が低（Low）のときに４相演算がリセットされる。
次に、入力確認信号（ack_left）は、次の２相入力信号を受信するために変化する。
【００４２】
図８は、入力制御部１４の動作を説明する状態遷移図である。最初に状態遷移図の表示方法について説明する。
（１）図８に示す信号名の後ろの＋もしくは−はその信号の立ち上がり（rise）又は立ち下がり（fall）を意味している。例えば、in_enable +は、信号in_enableが立ち上がり（rise）し，その状態が高(High)であることを示している。
（２）黒丸印（●）は現在の状態、つまり初期状態を示している。例えば、図８では、in_enable-とin_phase+とが初期状態であることを示している。
（３）信号名(in_enable+等)に入力されている矢印にすべて黒丸印（●）が揃ったとき、その信号名の出力に黒丸印（●）、つまり、初期状態が移動する。例えば、図８では、初期状態ではin_enable+の入力にすべて黒丸印（●）が揃っているために、その出力に黒丸を移動する。
（４）信号名の出力が２つ以上に分岐している場合には、状態が複数個生成されることを示している。例えば、図８では、ack_left+はin_enable-及びInput(EVEN)の信号を生成する。
【００４３】
図８に示すように、入力制御部１４の動作は、次のような状態遷移をする。以下の説明では、各信号に附した上記＋又は−は、所定の遅延時間の後で高又は低の状態に遷移する。このため、各信号の状態は、各信号に附した上記＋又は−は省略して、遷移した状態、つまり高(High)又は低(Low)で説明する。
（ａ）初期状態では、信号in_phaseの状態が高(High)となる。同様に、信号in_completionの状態が低(Low)となる。
（ｂ）信号in_enableは立ち上がり、状態が高(High)となる。
（ｃ）信号in_enableが立ち上がると、真（“１”）又は偽（“０”）の信号in_true(false)が立ち上がり、その状態は高(High)となる。
（ｄ）信号in_true(false)が入力されると、信号in_completionが立ち上がり、その状態が高(High)となる。
（ｅ）信号in_completionが立ち上がると、次に信号ack_leftが立ち上がり、その状態が高(High)となる。
（ｆ）信号ack_leftが立ち上がると、信号in_enableが立ち下がり、その状態が低(Low)となると共に、信号Input(EVEN)が入力される。
（ｇ）信号in_enableが立ち下がると、信号in_true(false)が立ち下がり、その状態が低(Low)となる。
（ｈ）信号in_true(false)が立ち下がると、信号in_completionが立ち下がり、その状態が低(Low)となる。
（ｉ）信号Input(EVEN)が入力されると、信号in_phaseが立ち下がり、その状態が低(Low)となる。
（ｊ）信号in_phaseが立ち下がり、かつ、信号in_completionが立ち下がると、信号in_enableが立ち上がり、その状態が高(High)となる。
（ｋ）信号in_ enableが立ち上がると、信号in_true(false)が立ち上がり、その状態が高(High)となる。
（ｌ）信号in_true(false)が立ち上がると、信号in_completionが立ち上がり、その状態が高(High)となる。
（ｍ）信号in_completionが立ち上がると、信号ack_leftが立ち下がり、その状態が低(Low)となる。
（ｎ）信号ack_leftが立ち下がると、信号in_enable-が立ち下がり、その状態が低(Low)となると共に、信号Input(ODD)が入力される。
（ｏ）信号Input(ODD)が入力されると、信号in_phaseは立ち上がり、その状態が高（High）となり、初期状態に戻る。
（ｐ）信号in_enableが立ち下がると、信号in_true(false)が立ち下がり、その状態が低（Low）となる。
（ｑ）信号in_true(false)が立ち下がると、信号in_completionが立ち下がり、その状態が低（Low）となり、初期状態に戻る。
【００４４】
図９は、４相のパイプラインルーター１２の構成を示す回路図である。図９に示すように、４相のパイプラインルーター１２は、複数の４相の機能ブロック１２ａ，１２ｂ，・・・，１２ｋとパイプラインレジスタ１２ｐと４相完了検波器１２ｑとを含んで構成されている。４相完了検波器１２ｑは、ＮＯＲ回路１２ｒ，１２ｓとＣ素子１２ｔのツリーから構成されている。複数のＣ素子１２ｕから成るパイプラインレジスタ１２pは、次段に配設されている４相完了検波器１２ｑによって制御されている。
【００４５】
入力側の入力完了信号は、４相のパイプラインルーター１２の初段の機能ブロック１２ａが完了したときに高(High)になる。そして、入力側の入力完了信号は、４相のパイプラインルーター１２の初段の機能ブロック１２ａがリセットされたときに低(Low)となる。
これに対して、出力側の出力完了信号は、４相のパイプラインルーター１２の最後段の機能ブロック１２ｃが完了したときに高(High)になる。そして、出力側の出力完了信号は、４相のパイプラインルーター１２の最後段の機能ブロック１２ｃがリセットされたとき低(Low)になる。
【００４６】
４相から２相への変換器１３は、４相のパイプラインルーター１２に接続される４相復号器１８と、４相復号器１８の出力が入力される２相完了検波器１９と、から構成されている。
【００４７】
図１０は、４相復号器１８の構成を示す回路図である。図１０に示すように、４相復号器１８は、１個のＮＯＴ回路１８ａと、４個のＡＮＤ回路１８ｂ，１８ｃ，１８ｄ，１８ｅと、２個のＯＲ回路１８ｆ，１８ｇと、２個の非同期式ＲＳラッチ１８ｈ，１８ｉとから構成されている。
【００４８】
４相復号器１８の出力が入力される２相完了検波器１９の構成は、入力側の２相完了検波器１６と同じ構成を有している。
【００４９】
図１１は、出力制御部１５の構成を示す回路図である。図１１に示すように、出力制御部１５は、１個のＣ素子１５ａと、３個の非同期式Ｄラッチ１５ｃ，１５ｄ，１５ｅと１個のＸＯＲ回路１５ｂとから構成されている。
【００５０】
図１２（Ａ）は４相から２相への変換器１３と出力制御部１５の回路図であり、図１に示す４相から２相への変換器１３と、図１１に示した出力制御部１５を纏めて示したものである。
【００５１】
図１２（Ｂ）は４相から２相への変換器１３の動作を説明するタイムチャートである。図１２（Ｂ）の横軸は時間（任意目盛り）である。縦軸は、上から順に、それぞれ４相出力信号（4phase_out）、２相出力信号（2phase_out）、出力完了信号（out_completion）、出力相信号（out_phase）、出力イネーブル信号（out_enable）、出力側確認信号（ack_right）、前置出力相信号（pre_out_phase）を示している。
【００５２】
図１２（Ｂ）に示すように、出力完了信号が高（High）のとき、出力相信号（out_phase）は、非同期式Ｄラッチ１５ｃを通過する。これは、出力イネーブル信号（out_enable）を停止させる。
これに対して、出力完了信号が低（Low）のとき、前置出力相信号（pre_out_phase）は、出力相信号（out_phase）と同じになる。ここで、前置出力相信号（pre_out_phase）は、図１２（Ｂ）に示すように、次のプロトコル変換のための４相復号器１８のＮＯＴ回路１８ａに出力される。
【００５３】
出力確認信号（ack_right）が出力相信号（out_phase）の遷移で変化した場合には、Ｃ素子１５ａの出力が遷移して、非同期式Ｄラッチ１５及びＸＯＲ回路１５ｄを介して出力イネーブル信号（out_enable）を実行する。
【００５４】
上記した入力制御部１４及び出力制御部１５の入力イネーブル信号（in_enable）、出力イネーブル信号（out_enable）、前置出力相信号（pre_out_phase）は、入力される信号の遷移によってのみ生成される。これにより、本発明の非同期プロトコル変換装置１は、完全にＱＤＩで動作するタイミングに対して耐性があるという利点が生じる。
【００５５】
本発明の非同期プロトコル変換装置１は、図１に示すように、プロトコル変換が、パイプライン化された４相ルーター１２の入力側の入力制御部１４と出力側の出力制御部１５とでそれぞれ独立に行われることに特徴がある。
４相のパイプラインルーター１２の初段と最後段の機能ブロック１２ａ，１２ｃは、入力イネーブル信号（in_enable）と出力イネーブル信号（out_enable）が高（High）のとき、そして低（Low）のとき評価される。
【００５６】
４相のパイプラインルーター１２の初段と最後段の機能ブロック１２ａ，１２ｃが完了したときには、入力完了信号（in_completion）と出力完了信号（out_ completion）は、高（High）であり、そしてリセットされると低（Low）となる。
【００５７】
図１３は、出力制御部１５の動作を説明する状態遷移図である。図１３に示すように、出力制御部１５の動作は、次のような状態遷移をする。
（ａ）初期状態では、信号out_true(false)が立ち上がり、その状態が高(High)となる。
（ｂ）信号out_true(false)が立ち上がると、信号out_completionが立ち上がり、その状態が高(High)となると共に、信号Output(ODD)が入力される。
（ｃ）信号Output(ODD)が入力されると、信号out_phaseが立ち上がり、その状態が高(High)となる。
（ｄ）信号out_phaseが立ち上がると、信号ark_rightが立ち上がり、その状態が高(High)となる。
（ｅ）信号out_phase及び信号out_completionが立ち上がると、信号out_enableが立ち下がり、その状態が低(Low)となる。信号out_enableが立ち下がると、信号out_true(false)が立ち下がり、その状態が低(Low)となる。
（ｆ）信号out_true(false)が立ち下がると、信号out_completionが立ち下がり、その状態が低(Low)となる。
（ｇ）信号out_completionが立ち下がり、かつ、信号ack_rightが立ち上がると、信号out_enableが立ち上がり、その状態が高(High)となる。
（ｈ）信号out_enableが立ち上がると、信号out_true(false)が立ち上がり、その状態が高(High)となる。
（ｉ）信号out_true(false)が立ち上がると、信号Output(EVEN)が出力されると共に、信号out_completionが立ち上がり、その状態が高(High)となる。
（ｊ）信号Output(EVEN)が出力されると、信号out_phaseが立ち下がり、その状態が低(Low)となる。
（ｋ）信号out_phaseが立ち下がり、かつ、信号out_completionが立ち上がると、信号out_enableが立ち下がり、その状態が低(Low)となる。信号out_enableが立ち下がると、信号out_true(false)が立ち下がり、その状態が低(Low)となる。
（ｌ）信号out_true(false)が立ち下がると、信号out_completionが立ち下がり、その状態が低(Low)となる。
（ｍ）信号out_completionが立ち下がり、かつ、信号ack_rightが立ち下がると、信号out_enableが立ち上がり、その状態が高(High)となる。
（ｎ）信号out_enableが立ち上がると、信号out_true(false)が立ち上がり、その状態が高（High）となり、初期状態に戻る。
【００５８】
図１４は、本発明の非同期プロトコル変換装置１の動作を説明するタイムチャートである。図１４の横軸は時間（任意目盛り）である。縦軸は、各部の波形を示している。入力側の波形は実線で、出力側の波形は一点鎖線で示している。
図１４に示すように、入力側では以下のステップが実行されている。
（１）相情報「奇」を有している新しい２相の入力が来たときには、入力相信号は遷移をして入力イネーブル信号が実行される。
（２）パイプライン化されたルーターの入力側では、２相から４相へのプロトコル変換器１１は、４相プロトコル用の「データ」を生成し、そして、４相ルーター１２は初段の機能ブロック１２ａで計算を行う（ルーティング）。
（３）初段の計算の後、４相ルーター１２は第２段の機能ブロック（調停回路）１２ｂで計算を行う。同時に、入力完了信号が実行（アサート）される。
（４）一度入力完了信号が実行（アサート）されると、４相の入力信号をリセットするようにスペーサを発生するために入力イネーブル信号が停止される。このとき、次の入力の２相信号を要求する。
（５）４相のパイプラインルーター１２の初段の機能ブロック１２ａがリセットされた後、入力完了信号が停止される。これは、次の２相入力信号のプロトコル変換の準備ができたことを意味している。
【００５９】
図１４に示すように、出力側では以下のステップが実行されている。
（１）パイプライン化された４相ルーター１２の出力側では、４相ルーター１２の計算の後で出力完了信号が実行（アサート）される。この際、４相から２相への変換器１３は相信号が「奇」の新しい２相信号を出力し、出力イネーブル信号を停止させる。
（２）４相ルーターの機能ブロック１２ａがリセットされてスペーサが出力イネーブル信号を停止したとき、出力完了信号が次の４相から２相への変換のために実行（アサート）される。
【００６０】
次に、入力側では、新しい２相入力信号が入力されたとき、４相ルーター１２中の初段の機能ブロック１２ａがリセットされて符号化が開始される。
一方、出力側では、新しい２相入力信号が出力されたとき、４相ルーター１２中の最後段の機能ブロック１２ｃがリセットされて復号化が開始される。
【００６１】
次に、本発明の非同期プロトコル変換装置１のサイクルタイムについて説明する。
本発明の非同期プロトコル変換装置１のサイクルタイム（ｔｃｙｃle_invention）は、入力側の遅延時間と出力側の遅延時間の大きい方のどちらかになる。入力側の遅延時間は、２相から４相へのプロトコル変換器(2p→4ｐ)１１と、４相ルーター１２の初段の機能ブロック１２ａ（「データ」及び「スペーサ」）と、入力制御部１４（「データ」及び「スペーサ」）と、で生じる。
【００６２】
一方、出力側の遅延時間は、４相から２相へのプロトコル変換器(4p→2ｐ)１３と、４相ルーター１２の最後段の機能ブロック１２ｃ（「データ」及び「スペーサ」）と、出力制御部１５（「データ」及び「スペーサ」）と、で生じる。
【００６３】
従って、非同期プロトコル変換装置１のサイクルタイム（ｔｃｙｃle_invention）は、下記（２）式で与えられる。
【数２】
0005935105.tif 000003
（２）式から明らかなように、非同期プロトコル変換装置１のサイクルタイム（ｔｃｙ
ｃle_invention）は、ルーターのパイプライン化された回路の段数であるｋに依存しない。
従って、本発明の非同期プロトコル変換装置１のサイクルタイムは、従来の非同期プロトコル変換装置に比較して高速に動作する。
【００６４】
（非同期プロトコル変換装置の多入力と多出力化）
次に、本発明の非同期プロトコル変換装置の多入力と多出力化について説明する。
図１５は、５入力５出力の非同期プロトコル変換装置３０の構成を示すブロック図である。５入力５出力の非同期プロトコル変換装置３０は、図２に示すルーター２２ａの出力に接続される２相から４相への変換器３１と、２相から４相への変換器３１に接続される３段構成の４相のパイプラインルーター３２と、３段構成の４相のパイプラインルーター３２に接続される４相から２相への変換器３３と、入力制御部３４と、出力制御部３５と、から構成されている。
【００６５】
５入力５出力の非同期プロトコル変換装置３０は、各非同期プロトコル変換装置３０ａ，３０ａ，３０ｂ，３０ｃ，３０ｄ，３０ｅから構成されている。非同期プロトコル変換装置３０ａは、２相から４相への変換器３１ａと、２相から４相への変換器３１ａに接続される３段構成の４相のパイプラインルーター３２ａと、３段構成の４相のパイプラインルーター３２ａに接続される４相から２相への変換器３３ａと、図示しない各入力制御部３４と、図示しない各出力制御部３５と、から構成されている。他の各非同期プロトコル変換装置３０ｂ〜３９ｅも非同期プロトコル変換装置３０ａと同様に構成されている。
【００６６】
非同期プロトコル変換装置３０の各非同期プロトコル変換装置３１ａ，３１ｂ，３１ｃ，３１ｄ，３１ｅは、同じ構成を有している。２相から４相への変換器３１ａは、図１で説明した非同期プロトコル変換装置１の２相から４相への変換器１１と同様の構成を有し、同様の動作をする。入力制御部３４は、図１で説明した非同期プロトコル変換装置１の入力制御部１４と同様の構成を有し、２相から４相への変換器３１の入力制御を同様に行う。
【００６７】
３段構成のパイプラインルーター３２は、ルーティング回路３６と、ルーティング回路３６に接続されるアービトレーション回路３７と、アービトレーション回路３７に接続されるマルチプレクサ回路３８とから構成されている。アービトレーション回路３７は、調停回路とも呼ばれている。３段構成のパイプラインルーター３２はパイプラインルーター３２ａ，３２ｂ，３２ｃ，３２ｄ，３２ｅから構成され、それぞれ同じ構成を有している。パイプラインルーター３２ａは、ルーティング回路３６ａと、アービトレーション回路３７ａと、マルチプレクサ回路３８ａとから構成されている。他のパイプラインルーター３２ｂ〜３２ｅもパイプラインルーター３２ａと同様に構成されている。
【００６８】
３段構成の４相のパイプラインルーター３２に接続される４相から２相への各変換器３３ａ，３３ｂ，３３ｃ，３３ｄ，３３ｅは、同じ構成を有している。４相から２相への変換器３３ａは、図１で説明した非同期プロトコル変換装置１の４相から２相への変換器１３と同様の構成を有し、同様の動作をする。出力制御部３５は、図１で説明した非同期プロトコル変換装置１の出力制御部１５と同様の構成を有し、４相から２相への変換器３３の出力制御を同様に行う。
【００６９】
５入力５出力の非同期プロトコル変換装置３０の動作について説明する。
ルーター２２ａの出力に接続される２相から４相への変換器３１ａの出力が入力されるルーティング回路３６ａは、入力データのアドレスに応じて転送先が決定される。その後、入力データは、対応するアドレスの各アービトレーション回路、つまり、３７ａ〜３７ｅの何れかに送出される。アービトレーション回路３７ａにおいては、入力データと他の入力データの転送先が同じだった場合の調停を取る。つまり、どちらか一方の入力データの転送を行うことができる。その後、入力データは各アービトレーション回路３７ａ〜３７ｅに接続される各マルチプレクサ回路３８ａ〜３８ｅに転送され、４相から２相への変換器３３に出力される。例えば、４相から２相への変換器３３ａの出力が、ルーター２２ｂの何れかの入力に出力される。
【００７０】
５入力５出力の非同期プロトコル変換装置３０によれば、非同期の４相のパイプラインルーター３２において、入出力が独立に動作する。図１５では、５入力５出力の非同期プロトコル変換装置３０の例を示したが、各非同期プロトコル変換装置３０ａはその入出力の数の分だけ必要になる。図１５の場合には、５台の非同期プロトコル変換装置３０ａ〜３０ｅが必要となる。つまり、ｎ入力ｎ出力の場合には、非同期プロトコル変換装置３０ａがｎ個必要となる。
【００７１】
（非同期プロトコル変換装置１のシミュレーション）  図１を参照して説明した非同期プロトコル変換装置１を、最小加工寸法が０．１３μｍのＣＭＯＳ製造技術によって集積回路を設計した。この集積回路を、ＨＳＰＩＣＥでシミュレーションした。集積回路の電源電圧（Ｖｄｄ）は１．２Ｖとした。シミュレーションでは、パイプラインのレジスタ数は５とし、データは先入れ先出し（ＦＩＦＯ（First In First Out））で処理し、データのビットはシリアル転送した。
【００７２】
図１６は、非同期プロトコル変換装置１をシミュレーションしたタイムチャートの一例を示す図である。図の横軸は時間（ｎｓ）である。図の縦軸は、上から順に、それぞれ２相入力データ信号（in_data）、２相入力パリティ信号（in_parity）、４相入力真信号（in_true）、４相入力擬信号（in_false）、４相出力真信号（out_true）、４相出力擬信号（out_false）、２相出力データ信号（out_data）、２相出力パリティ信号（out_parity）、入力相信号（in_phase）、入力イネーブル信号（in_enable）、入力完了信号（in_completion）、入力側確認信号（ack_left）、出力相信号（out_phase）、出力イネーブル信号（out_enable）、出力完了信号（out_completion）、出力側確認信号（ack_right ）を示している。
【００７３】
図１６に示すように、非同期プロトコル変換装置１では、２相の入力信号は、前の２相信号が出力制御部１５によって復号される前に、入力制御部１４によって符号化が開始されることが分かる。これにより、本発明の非同期プロトコル変換装置１では、プロトコル変換が４相パイプライン回路の前後に配設される入力制御部１４と出力制御部１５とでそれぞれ独立に処理されることが確認できた。
【００７４】
（シミュレーション例１）
パイプラインレジスタ数を変化させて、本発明及び比較例の非同期プロトコル変換装置１のシミュレーションを行った。本発明及び比較例の非同期プロトコル変換装置のトランジスタ数は、それぞれ２４６個、２１７個であった。本発明の非同期プロトコル変換装置１のトランジスタ数は、比較例の１１３％となる。
【００７５】
図１７は、シミュレーション例１の結果を示す図であり、それぞれ（Ａ）はパイプラインレジスタ数とスループットとの関係、（Ｂ）はパイプラインレジスタ数と消費エネルギーとの関係を示している。各図の横軸はパイプラインレジスタ数である。図１７（Ａ）の縦軸はスループットであり、図１７（Ｂ）の縦軸は消費エネルギー（ｆＪ）である。スループットは、データの転送速度（ＧＢｐｓ）である。
図１７（Ａ）に示すように、本発明の非同期プロトコル変換装置１のスループットは、パイプラインレジスタ数には依存しないことが分かる。比較例のスループットは、パイプラインレジスタ数の増加に伴い低下する。パイプラインレジスタ数が５では、本発明の非同期プロトコル変換装置１のスループットは、比較例に対して１．７７大きいことが判明した。
【００７６】
図１７（Ｂ）に示すように、本発明及び比較例の非同期プロトコル変換装置１の消費エネルギーは、パイプラインレジスタ数に比例して増大することが分かる。本発明の非同期プロトコル変換装置１の消費エネルギーは、比較例に対して７％程度大きいだけである。
上記シミュレーション例１から、本発明の非同期プロトコル変換装置１は、パイプラインレジスタ数が増大するほど比較例に対してスループットが向上し、消費エネルギーは比較例とほぼ同じであることが分かる。
【００７７】
（シミュレーション例２）
二つの１０ビットの４相ルーターの間に本発明の非同期プロトコル変換装置１を挿入して、２相転送を実現するシミュレーションを行った。比較例としては、従来の４相方式による４相転送回路のシミュレーションを行った。従来の４相転送回路は、４相プロトコルだけを使用している。
なお、比較例を従来の４相方式とした理由は、従来の非同期プロトコル変換器が多入力多出力のルーターに適用できないことによる。
【００７８】
本発明の非同期プロトコル変換装置１及び比較例の４相転送回路のトランジスタ数は、それぞれ７１３５５個、６１８１８個であった。本発明の非同期プロトコル変換装置１のトランジスタ数は、比較例の１１５％となる。
【００７９】
図１８は、シミュレーション例２の結果を示す図であり、それぞれ（Ａ）はワイヤー長とスループットとの関係、（Ｂ）はワイヤー長と消費エネルギーとの関係を示している。各図の横軸はワイヤー長（ｍｍ）である。図１８（Ａ）の縦軸はスループットであり、図１８（Ｂ）の縦軸は消費エネルギー（ｐＪ）である。
図１８（Ａ）に示すように、本発明の非同期プロトコル変換装置１のスループットは、ワイヤー長が７ｍｍまではほぼ一定であり、ワイヤー長が７ｍｍ以上では徐々に低下した。比較例のスループットは、ワイヤー長が増加すると低下する。ワイヤー長が１０ｍｍでは、本発明の非同期プロトコル変換装置１を用いたスループットは、比較例に対して２．０５倍大きいことが判明した。
【００８０】
図１８（Ｂ）に示すように、本発明及び比較例の非同期プロトコル変換装置１の消費エネルギーは、パイプラインレジスタ数に比例して増大することが分かる。本発明の非同期プロトコル変換装置１の消費エネルギーは、比較例に対して小さいことが分かる。ワイヤー長が１０ｍｍでは、本発明の非同期プロトコル変換装置１の消費エネルギーは、比較例に対して７７％であることが判明した。
【００８１】
上記シミュレーション例２から、本発明の非同期プロトコル変換装置１は、ワイヤー長が増大するほど比較例に対して、スループットが向上し、消費エネルギーが低下することが分かる。
【００８２】
表１は、上記シミュレーションの結果を纏めた図である。
【表１】
0005935105.tif 000004
【００８３】
本発明によれば、数十個のＩＰコア間の通信を柔軟に行う非同期式ネットワークオンチップにおけるルーターとデータ転送リンク間のプロトコル変換装置が提供される。従来装置では入出力のプロトコル変換を共通に行っていたため、使用できる演算装置は１入力１出力で限定されていた。
これに対して、本発明の非同期プロトコル変換装置１は、演算装置となる４相パイプラインルーター１２と、４相パイプラインルーター１２の入出力ポートに接続された２つの独立した入力制御部１４と、出力制御部１５と、から構成される。これにより、入力側では、演算装置となる４相パイプラインルーター１２に送信されてきた入力データのプロトコルの変換を行い、演算装置内部の変換後のデータを確認することで、入力側の処理が終了する。
一方、出力側では、演算装置内部のデータを確認し、出力データのプロトコルの変換を行うことで、出力側の処理が終了する。
このように、本発明では入出力ポートで独立してプロトコルの変換が可能となることから、多入力多出力の演算装置への使用が可能となる。
【００８４】
本発明の非同期プロトコル変換装置１では、入出力ポートで独立してプロトコルの変換が可能となることから、多入力多出力の演算装置への使用が可能となる。回路シミュレーションの結果、従来の４相転送回路に較べて、配線遅延時間が約５５％となった。
【００８５】
本発明では、入力側、出力側で独立にプロトコルを変換できる装置を実現することで、多入力多出力であるルーター２２にプロトコル変換装置を使用することが可能となった。そのため、ルーター２２及びデータ転送リンクに最適なプロトコルを使用することが可能となる。その結果、データ転送リンクに待ち時間の少ないプロトコルを使用することが可能となるため、ネットワークオンチップに用いた場合には転送速度が大幅に向上する。
【００８６】
本発明の非同期プロトコル変換装置１を使用したシステムオンチップでは、チップ内データ通信速度の向上により同時に駆動できるプロセッサの数を増加させることが可能となる。また、非同期プロトコル変換装置１はクロック信号を用いない非同期式であることから、クロック信号を発生する回路の削除に伴う電力の削減も可能となる。これにより、低電力かつ高速なＳｏＣ（システムオンチップ）が実現できる。
【００８７】
本発明の非同期プロトコル変換装置１の回路規模は、従来方式の４相転送回路及び２相転送回路の回路規模と比較すると、従来方式の４相転送回路（回路規模を１００とする）：従来方式の２相転送回路：本発明の非同期プロトコル変換装置１＝１００：２５０：１１５となる。このため、本発明の非同期プロトコル変換装置１の回路規模は、従来方式の４相転送回路の回路規模と同程度で、かつ、従来方式の４相転送回路よりもスループットの大きい非同期プロトコル変換装置１を実現できる。
【００８８】
システムＬＳＩやＮｏＣ内の複数の処理機能ブロック間の非同期通信方式に４相と２相方式があるが、本発明の非同期プロトコル変換装置は、４相と２相の利点を組み合わせた新しい方式であり、特定用途向けのＩＣ、即ちＡＳＩＣ(Application Specific Integrated Circuit)にも適用できる。
【００８９】
本発明は、上記実施の形態に限定されるものではなく、特許請求の範囲に記載した発明の範囲内で種々の変形が可能であり、それらも本発明の範囲内に含まれることはいうまでもない。
【図１】
0005935105.tif 000005
【図２】
0005935105.tif 000006
【図３】
0005935105.tif 000007
【図４】
0005935105.tif 000008
【図５】
0005935105.tif 000009
【図６】
0005935105.tif 000010
【図７（Ａ）】
0005935105.tif 000011
【図７（Ｂ）】
0005935105.tif 000012
【図８】
0005935105.tif 000013
【図９】
0005935105.tif 000014
【図１０】
0005935105.tif 000015
【図１１】
0005935105.tif 000016
【図１２（Ａ）】
0005935105.tif 000017
【図１２（Ｂ）】
0005935105.tif 000018
【図１３】
0005935105.tif 000019
【図１４】
0005935105.tif 000020
【図１５】
0005935105.tif 000021
【図１６】
0005935105.tif 000022
【図１７】
0005935105.tif 000023
【図１８】
0005935105.tif 000024
【図１９】
0005935105.tif 000025
【図２０】
0005935105.tif 000026
【図２１】
0005935105.tif 000027
【図２２】
0005935105.tif 000028
【図２３】
0005935105.tif 000029