(57)【要約】【課題】ＡＣＵ間のバス制御にコンピュータネットワークで用いられているトークン方式を適用することにより、バス調停を必要としない単純な構成にできるＩＰコア間の通信方式を提供する。【解決手段】本発明は、超高集積回路ブロックで成るＩＰコア１１に自立性を持たせたアーキテクチャを組み込み、簡素なフォーマットのメッセージ通信によってオンチップバス１６の標準化を容易にし、ＩＰコア１１間のバス調停機構も不要で、使用を容易にするＩＰコア間の通信方式を特徴とする。【選択図】      図６
2007233976.tif 000002
【特許請求の範囲】
【請求項１】
複数のＩＰコアと共通のオンチップバスとの間それぞれに接続制御ユニットを配置し、各ＩＰコアと接続された接続制御ユニット間をトークン方式によって連係させたことを特徴とするＩＰコア間の通信方式。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、超高集積回路ブロックで成るＩＰコア間の通信方式に関する。
【背景技術】
【０００２】
超高集積化時代を向かえ、数十から数百という超集積回路ブロックで成るＩＰコア（Intellectual Property Core）が一つのチップ上に集積可能となってきている。この集積化においては電源電圧と消費電力、ＩＰコア間の同期化とインタフェースの標準化および通信方式などの課題が存在する。各ＩＰコア間の接続は、従来のバス形ネットワークでは性能と電源の障害となることから、各ＩＰコア間を相互に接続するネットワークオンチップ（Network on Chip：ＮｏＣ）の構想が報告されている（例えば、下記の非特許文献１）。
【０００３】
また、このような大規模なチップに全回路ブロックを一つの機関で設計することは設計に要する時間やコストなどから困難である。そこで、ＩＰコアの再利用とその流通形態が重要性を増す。開発元の異なるＩＰコアの再利用にはインタフェースの標準化が不可欠であるが、各社それぞれ特定の技術を持って競合している現状を考慮すれば、その標準化は困難な問題である。他方、各ＩＰコア間の同期化に関しては、全体的に非同期式／部分的に同期式で、必然的に多くの異なったクロックを用いることになる（同じく、下記の非特許文献１）。
【０００４】
そこで、近年、本願発明者らによって、ＩＰコアをオブジェクト指向における１オブジェクトとしてとらえ、オブジェクト間で送受信されるメッセージとパラメータという極めて簡素なフォーマットのメッセージ通信を行うことによって、インタフェースの標準化を容易にすることができ、また、ＩＰコアとデータバスとの間に通信の制御を行うユニットＡＣＵ（Access Control Unit）を配置することによって、ＩＰコアがそのＡＣＵとのメッセージ通信によって目的とするＩＰコアと通信を行うことを可能にする技術が提案されている（下記非特許文献２）。
【０００５】
しかしながら、将来のＮｏＣにおいても部分的に同期式とあるように、機能的に見てバス形で構成した方が都合の良い部分もある。その場合、バスの調停機構が大きな課題となる。
【特許文献１】特開２００２−１１７０１１号公報
【非特許文献１】Luca Benini, Giovanni De Micheli; "Networks on Chips: A New SoC Paradigm", IEEE, Computer, pp.70-78, Jan 2002
【非特許文献２】古屋憲吾、中村次男、冬爪成人、笠原宏：「オブジェクト指向技術を導入したＩＰコアの設計とその連携方式」、電気関係学会関西支部連合大会Ｇ１０−１５、２００３年１１月
【非特許文献３】穂苅泰明、「半導体技術のロードマップの最新動向」、情報処理、２００２年４６巻、５５−６０ページ、２００２年５月
【非特許文献４】安浦寛人、「新しいＳｏＣ設計技術開発と大学・学会・研究機関の役割」、ＳＴＡＲＣシンポジウム、２００３年
【非特許文献５】唐木信雄、「非同期回路設計の進め」、Design Wave Magazine、６４−６９ページ、２００５年６月
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、上記従来の技術的課題に鑑みてなされたもので、超高集積回路ブロックで成るＩＰコアに自立性を持たせたアーキテクチャを組み込み、簡素なフォーマットのメッセージ通信によってオンチップバスの標準化を容易にし、ＩＰコア間のバス調停機構も不要で、使用を容易にするＩＰコア間の通信方式を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、複数のＩＰコアと共通のオンチップバスとの間それぞれに接続制御ユニットを配置し、各ＩＰコアと接続された接続制御ユニット間をトークン方式によって連係させたことを特徴とするＩＰコア間の通信方式を要旨とする。
【発明の効果】
【０００８】
本発明のＩＰ間の通信方式によれば、ＩＰコアに自立性を持たせたアーキテクチャを組み込み、簡素なフォーマットのメッセージ通信によってオンチップバスの標準化を容易にし、ＩＰコア間のバス調停機構も不要で、使用が容易である。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施の形態を図に基づいて詳説する。
【００１０】
［ＩＰコア間のメッセージ通信方式］開発元の異なる多種多様なＩＰコアの再利用にインタフェースの標準化が不可欠である。そこで、オブジェクト指向技術で用いられているメッセージ（そのＶＣの機能）とパラメータ（そのＶＣに与えられた機能を処理するのに必要なデータ〉から成るメッセージ通信とすることにより、ＩＰコアの標準化を容易にする。また、使用者は個々のＶＣの処理手順を知る必要はなく、メッセージを送るだけという統一した使用法で複数のＶＣを使えるようにする。
【００１１】
ＩＰコア間の通信フォーマットを図１に示す。簡単のために、１ワード８ビットで設計している。メッセージのＩＰ指定中、上位２ビットは四則演算器のオペランドのタイプ用に用いる。例えば、加算の場合、“００”で被加数のみ、“０１”で加数のみ、“１０”で被加数と加数（“１１”は未使用）。従って、この場合、６４個のＩＰコアまで対応できる（それ以上必要ならＩＰ指定のワード数を２バイトとするなどで対応できる）。精度情報は８ビットのＭＳＢを拡張用ビットとし、“０”で０〜１２７バイトのデータを指定。それ以上の場合はＭＳＢを“１”とすることにより１バイトの追加を意味し、１６３８３バイトまでデータ長を拡張することができる（それ以上も同様にバイト単位に精度情報を追加可能）。
【００１２】
バス上に図１のメッセージとパラメータを出力する場合はメッセージの開始を示すオール０（１バイト）と通信の終了を意味するオール１（５バイト）を付加する。全てのＩＰコアは８ビットのバスが全て０のメッセージ開始フラグを検出したら、次の１バイトからＩＰの指定を判断し、自分宛だったら続けて送られてくる精度情報に従って、パラメータを取り込む。自分宛でなかったら、続いて送られてくるデータを無視し、５バイト分の連続した１を検出して通信の終了を知る。パラメータ中に１が５バイト以上連続するデータがある場合は、連続した４バイトの１の次には必ず１バイトの０を挿入し、受信する場合はその０を取り除く操作を行うことによって、通信終了の誤判定を防ぐ。
【００１３】
ＩＰコアとＡＣＵ間ではＩＰコアの論理アドレスとＡＣＵの実アドレスの変換が必要となる。ＡＣＵ間の通信フォーマットを図２に示す。同図（ａ）に示す送信データでは、ＩＰコア指定にはＩＰコアからの論理送信アドレスをそのＡＣＵのアドレスに送信先アドレスとして付加し、続けて、送信するＡＣＵのアドレスを送信元アドレスとして付加して送信する。指定したＩＰコアで処理された結果は、同図（ｂ）に示すようにＩＰコア指定の送信元アドレスと送信先アドレスを逆にして、バスに送出する。
【００１４】
［通信制御ユニット（ＡＣＵ）の説明］
通信制御ユニットＡＣＵが開発元の異なるＩＰコアとのインタフェースをとることでＩＰコアの再利用を容易にし、課題となっていた各種ＩＰコアの標準化の問題を解決する。さらに、チップ上でのネットワークを形成するにあたり、従来のバス型ネットワークではバス調停機構の問題があるが、ＡＣＵがコンピュータネットワークで用いられているトークン方式でバスの使用権を制御することで、バス調停機構は不要とする。
【００１５】
ＡＣＵの特徴として、すべて全く同じアーキテクチャであり、接続するＩＰコアに合わせた設定をする必要は無く、単純にＩＰコアと接続するだけでＩＰコア間の通信を行うことができる。さらにゲート数も５Ｋゲートほどなので数千万ゲート規模のＳｏＣのような超高集積回路内というような現状を考えると問題とならない規模で実現できる。
【００１６】
ＡＣＵ１０の構成を図３に示し、動作シミュレーションを図４に示し、ＩＰコア１１の論理アドレスをＡＣＵ１０の実アドレスに変換するテーブル１２の例を図５に示してある。
【００１７】
図３において、トークン制御ブロック１２はトークン通知線、トークン終了検知線、通信要求の有無によってトークンを保持するかパスするかを管理し、また初期トークンを作る機構部分である。トークン制御ブロック１２は、図４（ａ）に示すように、任意に指定できるＡＣＵ１０で一定時間（任意に指定できる）経過したら初期トークンを出力する。ＩＰコアからの通信要求があり（ＩＰ＿ｙ＝０）、トークン通知線からトークンが入力されたとき（ｔ＿ｉｎ＝０）、ＩＰコア１１への通信許可（ＩＰ＿ｋ＝０）を出力し、トークンを保持する（ｋｅｅｐ＿ｔ＝０）。保持したトークンはデータ通信が終了したら次のＡＣＵ１０ヘトークンをパスする（ｔ＿ｏｕｔ＝０）。ＩＰコア１１からの通信要求がなければ次のＡＣＵ１０ヘトークンをパスする。トークンを確実にパスするため、トークン通知線とトークン終了検知線とはハンドシェイク方式を採用している。これによりトークン通知線がアクティブになったら直前のＡＣＵ１０のトークン終了検知線をアクティブにし（ｆ＿ｏｕｔ＝０）、トークン通知を終了する。このトークンに相当するアクティブ信号をループ状にパスしていくことでバスの使用権を決定する。また、なんらかのエラーでトークンが消滅してしまった場合、任意に指定した機構が一定時間経過することで新たなトークンを出力する（初期トークンの出力と同様な状態）。
【００１８】
アドレス変換ブロック１３は、ＩＰコア１１からデータ（ｃｏｒｅ＿ｄａｔａ）を送信する場合、図４（ｂ）に示すように、送信先のＩＰコア１１の論理アドレスをＡＣＵ１０の物理アドレスに変換し（０１→２１）、送信元のＡＣＵアドレス（ａｄｄｒｅｓｓ＿ａ＝２４）を付加し、オンチップバス１６にデータ（ｂｕｓ＿ｄａｔａ）を送出する。送信後、指定したＩＰコア１１からそのＩＰコアのＡＤＵ１０に返送された処理結果は、アドレス判別ブロック１４で一時保存していた送信元アドレスデータを送信先アドレスとし、元々の送信先アドレスを送信元アドレスとして、オンチップバス１６にデータを送出し、送信元のＡＣＵ１０に返送する。
【００１９】
アドレス判別ブロック１６はオンチップバス１６から送られてくるデータが自宛であるかを判別する。図４（ｃ）に示すように、自宛でなければ続けて送られてくるアドレス以降のデータを無視する。自宛であれば、続けて送られてくるパラメータを取り込み、ＩＰコア１１へ通信要求（ＡＣＵ＿ｒｅｑ＝０）を出力する。ＩＰコア１１から通信許可（ＡＣＵ＿ａｃｋ＝０）を得たら、送信元アドレスを取り除いてＩＰコア１１ヘデータ（ｃｏｒｅ＿ｄａｔａ）を送出する。このとき取り除いた送信元アドレスは、ＩＰコア１１で処理されたデータを送信元のＩＰコア１１へ返送するために一時保存される（ａｄｄｒｅｓｓ＿ｂ＝２４）。
【００２０】
エラー判別ブロック１５はオンチップバス１６ヘ出力されるデータをその出力と同時に取り込み、オンチップバス１６へ出力する前のデータと比較する。そして出力後のデータが出力前のデータと違っていたらオンチップバス１６上でデータが衝突していると判断する。これは本来１つであるべきトークンが誤動作で２つ以上存在してしまった結果生じたことであるので、エラー信号を出力して（該当するＩＰコア１１に対しては精度情報を“０”として再送要求を行う）ＡＣＵ１０を初期化する（つまり、トークンを非アクティブにし、トークンが全くない初期状態にする）。
【００２１】
［通信制御機構］バスの使用権はトークン方式によって決定する。この方式を用いることで、バス方式で問題となるバス調停機構を必要とすることなく、極めて単純な構成でバスの使用権を制御することができる。通信機構の通信例として、トークン方式と図６におけるＩＰコア（２）からＩＰコア（Ｎ）へ通信を行う場合の流れを順序立てて説明する。
【００２２】
ＩＰコア（２）からＩＰコア（Ｎ）へのデータは、ＩＰコア（２）に接続されている自分のＡＣＵ（２）に通信要求信号が入力されているときにトークンを取得することでＡＣＵ（２）はＩＰコア（２）に通信許可信号を出力する。
【００２３】
許可を得たＩＰコア（２）は接続されているＡＣＵ（２）ヘデータを送る。ＡＣＵ（２）はデータの送信先アドレス（ＩＰコア（Ｎ）のアドレス）をオンチップバス１６側アドレス（ＡＣＵ（Ｎ）のアドレス）に変換し、続けてＡＣＵ（２）の送信元アドレスを付加したデータをバス１６上に送出する。
【００２４】
各ＡＣＵ（１）〜ＡＣＵ（Ｎ）はメッセージの開始を検知すると、一斉にメッセージを取り込み、送信先アドレスと自分のアドレスを比較し、一致(この場合はＩＰコア（Ｎ）)したものだけが続けて送られてくるパラメータを取り込み、接続されているＩＰコアへ通信要求を出力する。ＩＰコア（Ｎ）から通信許可が得られたら、ＩＰコア（Ｎ）に接続されているＡＣＵ（Ｎ）は送信元アドレス（ＩＰコア（２）のアドレス）をＡＣＵ（Ｎ）に一時保存し、それを取り除いたデータをＩＰコア（Ｎ）へ送出する。
【００２５】
ＩＰコア（Ｎ）で処理されたデータは、接続されているＡＣＵ（２）へ返送され、一時保存していた送信元アドレス（ＩＰコア（２）のアドレス）を処理後のデータの送信先アドレスとし、バス１６上に送出する。ＡＣＵ（２）の送信時と同様に、すべてのＡＣＵ（１）〜ＡＣＵ（Ｎ）がアドレス判別を行い、アドレスが一致したＩＰコア（２）のＡＣＵ（２）だけが続けて送られてくるＩＰコア（Ｎ）の処理結果を受信し、ＩＰコア（２）に送出する。通信終了後、トークンはトークン通知線によって次のＡＣＵであるＡＣＵ３ヘパスされる。これによって次はＩＰコア（３）がバスの使用権を得る。
【００２６】
ＩＰコア（Ｎ）に接続されているＡＣＵ（Ｎ）からトークンがパスされた場合は、ＩＰコア（１）に接続されているＡＣＵ（１）ヘパスされるというように通知線をループ状に構成することでトークンを循環させる。
【００２７】
以上のように、本実施の形態のＩＰコア間の通信方式によれば、供給元の異なるＩＰコア間のインタフェースの標準化がメッセージとパラメータの通信だけとなり、単純なメッセージ通信によってＩＰコア間の通信を行うことができる。また、ＩＰコアを１オブジェクトとして捉えることによってソフトウェアのように柔軟性のあるモジュールとして考えることができるため、新たにＩＰコアを付加しようとした揚合でも容易に対応できる。オブジェクト指向ハードウェア設計法により使用者は内部仕様を知る必要がなく、多くのＩＰコアを容易に集積化することが可能である。
【図面の簡単な説明】
【００２８】
【図１】本発明の１つの実施の形態のＩＰコア間の通信方式において採用したＩＰコア間の通信データフォーマットのブロック図。
【図２】上記実施の形態におけるＡＣＵ間の通信データフォーマットのブロック図。
【図３】上記実施の形態のＩＰコア間の通信方式において採用したＡＣＵモジュールのブロック図。
【図４】上記実施の形態におけるＡＣＵモジュールによる通信動作のシミュレーション結果を示す説明図。
【図５】上記実施の形態においてＡＣＵモジュールとＩＰコアとのアドレス対照表。
【図６】上記実施の形態のＩＰコア間の通信方式を使用するＩＰコア間のネットワーク接続を示すブロック図。
【符号の説明】
【００２９】
１０  ＡＣＵ（接続制御ユニット）
１１  ＩＰコア
１２  トークン制御ブロック
１３  アドレス変換ブロック
１４  アドレス判別ブロック
１５  エラー判別ブロック
１６  オンチップバス
【図１】
2007233976.tif 000003
【図２】
2007233976.tif 000004
【図３】
2007233976.tif 000005
【図５】
2007233976.tif 000006
【図６】
2007233976.tif 000007
【図４】
2007233976.tif 000008
【手続補正書】
【提出日】平成18年7月13日(2006.7.13)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
ＡＣＵ１０の構成を図３に示し、動作シミュレーションを図４に示し、ＩＰコア１１の論理アドレスをＡＣＵ１０の実アドレスに変換するテーブルの例を図５に示してある。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】変更
【補正の内容】
【００１９】
アドレス判別ブロック１４はオンチップバス１６から送られてくるデータが自宛であるかを判別する。図４（ｃ）に示すように、自宛でなければ続けて送られてくるアドレス以降のデータを無視する。自宛であれば、続けて送られてくるパラメータを取り込み、ＩＰコア１１へ通信要求（ＡＣＵ＿ｒｅｑ＝０）を出力する。ＩＰコア１１から通信許可（ＡＣＵ＿ａｃｋ＝０）を得たら、送信元アドレスを取り除いてＩＰコア１１ヘデータ（ｃｏｒｅ＿ｄａｔａ）を送出する。このとき取り除いた送信元アドレスは、ＩＰコア１１で処理されたデータを送信元のＩＰコア１１へ返送するために一時保存される（ａｄｄｒｅｓ＿ｂ＝２４）。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図２
【補正方法】変更
【補正の内容】
【図２】
2007233976.tif 000009
【手続補正書】
【提出日】平成18年8月1日(2006.8.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のＩＰコアと共通のオンチップバスとの間それぞれに接続制御ユニットを配置し、前記接続制御ユニット間それぞれにトークン専用ラインを配置し、当該トークン専用ライン上を順繰りに伝送するトークンによって前記接続制御ユニット間を連係させるＩＰコア間の通信方法において、
前記ＩＰコアそれぞれは、メッセージ部とパラメータ部とで成り、かつ、前記メッセージ部には送信元ＩＰコア、送信先ＩＰコアそれぞれの論理アドレスを設定し、前記パラメータ部には演算パラメータを設定するフォーマットの通信データを使用し、
前記接続制御ユニットそれぞれは、複数のＩＰコアそれぞれの論理アドレスと各ＩＰコアに接続されている接続制御ユニットの物理アドレスとの対応を示すアドレス変換テーブルを備え、
各接続制御ユニットは、
上流側に隣接する接続制御ユニットからトークンを受けた時に、当該接続制御ユニットに接続されているＩＰコアからの通信要求の有無を判断し、
前記自ユニットに接続されているＩＰコアからの通信要求がない時には、前記トークンを下流側に隣接する接続制御ユニットにパスし、かつ、前記上流側に隣接する接続制御ユニットにトークン終了を通知し、
前記自ユニットに接続されているＩＰコアからの通信要求がある時には、前記トークンを一時保持し、当該ＩＰコアからの前記通信データのメッセージ部を参照し、前記送信先、送信元のＩＰコアの論理アドレスを前記アドレス変換テーブルを参照して送信先、送信元の接続制御ユニットの物理アドレスに変換してから当該通信データを前記オンチップバスに送出し、その後に前記トークンを前記下流側に隣接する接続制御ユニットにパスし、かつ、前記上流側に隣接する接続制御ユニットにトークン終了を通知することを特徴とするＩＰコア間の通信方法。
【請求項２】
各制御ユニットは、前記オンチップバス上の通信データをチェックし、自ユニットの物理アドレスを送信先とする通信データがある時に、当該通信データのメッセージ部に設定されている前記送信先、送信元の接続制御ユニットの物理アドレスを前記アドレス変換テーブルを参照して送信先、送信元のＩＰコアの論理アドレスに変換してから自ユニットに接続されているＩＰコアに当該通信データを転送することを特徴とする請求項１に記載のＩＰコア間の通信方法。
【請求項３】
前記通信データのパラメータ部は可変長とし、かつ、前記通信データのメッセージ部には、送信元、送信先それぞれの論理アドレスを設定するＩＰ指定フィールドと共に、前記パラメータ部のデータ長を設定する精度情報フィールドを設け、
前記ＩＰコアは、前記通信データのメッセージ部の精度情報フィールドに使用する演算パラメータのデータ長を設定し、当該通信データのパラメータ部に前記精度情報フィールドに設定されたデータ長を持つ演算パラメータを設定することを特徴とする請求項１又は２に記載のＩＰコア間の通信方法。
【請求項４】
複数のＩＰコアと、共通のオンチップバスと、前記複数のＩＰコアと共通のオンチップバスとの間それぞれに配置した接続制御ユニットと、前記接続制御ユニット間それぞれに配置されたトークン専用ラインとを備え、前記トークン専用ライン上を順繰りに伝送するトークンによって前記接続制御ユニット間を連係させる集積回路であって、
各ＩＰコアは、
データフォーマットとして、メッセージ部とパラメータ部とで成り、かつ、前記メッセージ部には送信元ＩＰコア、送信先ＩＰコアそれぞれの論理アドレスを設定し、前記パラメータ部には演算パラメータを設定する通信データを使用し、
各接続制御ユニットは、
前記トークン専用ライン上を上流側から送られてくるトークンを受けた時に、自ユニットに接続されているＩＰコアからの通信要求の有無を判断し、当該ＩＰコアからの通信要求がない時には、前記トークンを下流側に隣接する接続制御ユニットにパスし、かつ、トークン終了を上流側に隣接する接続制御ユニットに通知し、自ユニットに接続されているＩＰコアからの通信要求がある時には、当該通信要求がなくなるまで前記トークンを一時的に保持しておくトークン制御手段と、
複数のＩＰコアそれぞれの論理アドレスと各ＩＰコアに接続されている接続制御ユニットの物理アドレスとの対応を示すアドレス変換テーブルと、
自ユニットに接続されているＩＰコアからの通信要求がある時に、当該ＩＰコアからの前記通信データのメッセージ部から送信先、送信元のＩＰコアの論理アドレスを抽出し、前記アドレス変換テーブルを参照して当該送信先、送信元の論理アドレスを送信先、送信元の接続制御ユニットの物理アドレスに変換してから当該通信データを前記オンチップバスに送出するアドレス変換手段と、
前記オンチップバス上の通信データをチェックし、自ユニットの物理アドレスを送信先とする通信データがある時に、当該通信データのメッセージ部から送信先、送信元の接続制御ユニットの物理アドレスを抽出し、前記アドレス変換テーブルを参照して当該送信先、送信元の物理アドレスを送信先、送信元のＩＰコアの論理アドレスに変換してから自ユニットに接続されているＩＰコアに当該通信データを転送するアドレス判別手段とを備えたことを特徴とする集積回路。
【請求項５】
前記通信データパラメータ部は可変長とし、かつ、前記通信データのメッセージ部には、送信元ＩＰコア、送信先ＩＰコアそれぞれの論理アドレスを設定するＩＰ指定フィールドと共に、前記パラメータ部のデータ長を設定する精度情報フィールドを設け、
前記ＩＰコアは、前記通信データのメッセージ部の精度情報フィールドに使用するデータ長を設定し、当該通信データのパラメータ部に前記精度情報フィールドに設定されたデータ長を持つ演算パラメータを設定することを特徴とする請求項４に記載の集積回路。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、超高集積回路ブロックで成るＩＰコア間の通信方法及びそれを使用する集積回路に関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
本発明は、複数のＩＰコアと共通のオンチップバスとの間それぞれに接続制御ユニットを配置し、前記接続制御ユニット間それぞれにトークン専用ラインを配置し、当該トークン専用ライン上を順繰りに伝送するトークンによって前記接続制御ユニット間を連係させるＩＰコア間の通信方法において、前記ＩＰコアそれぞれは、メッセージ部とパラメータ部とで成り、かつ、前記メッセージ部には送信元ＩＰコア、送信先ＩＰコアそれぞれの論理アドレスを設定し、前記パラメータ部には演算パラメータを設定するフォーマットの通信データを使用し、前記接続制御ユニットそれぞれは、複数のＩＰコアそれぞれの論理アドレスと各ＩＰコアに接続されている接続制御ユニットの物理アドレスとの対応を示すアドレス変換テーブルを備え、各接続制御ユニットは、上流側に隣接する接続制御ユニットからトークンを受けた時に、当該接続制御ユニットに接続されているＩＰコアからの通信要求の有無を判断し、前記自ユニットに接続されているＩＰコアからの通信要求がない時には、前記トークンを下流側に隣接する接続制御ユニットにパスし、かつ、前記上流側に隣接する接続制御ユニットにトークン終了を通知し、前記自ユニットに接続されているＩＰコアからの通信要求がある時には、前記トークンを一時保持し、当該ＩＰコアからの前記通信データのメッセージ部を参照し、前記送信先、送信元のＩＰコアの論理アドレスを前記アドレス変換テーブルを参照して送信先、送信元の接続制御ユニットの物理アドレスに変換してから当該通信データを前記オンチップバスに送出し、その後に前記トークンを前記下流側に隣接する接続制御ユニットにパスし、かつ、前記上流側に隣接する接続制御ユニットにトークン終了を通知することを特徴とするＩＰコア間の通信方法を要旨とする。
上記の発明のＩＰコア間の通信方法において、各制御ユニットは、前記オンチップバス上の通信データをチェックし、自ユニットの物理アドレスを送信先とする通信データがある時に、当該通信データのメッセージ部に設定されている前記送信先、送信元の接続制御ユニットの物理アドレスを前記アドレス変換テーブルを参照して送信先、送信元のＩＰコアの論理アドレスに変換してから自ユニットに接続されているＩＰコアに当該通信データを転送するものとすることができる。
また上記の発明のＩＰコア間の通信方法において、前記通信データのパラメータ部は可変長とし、かつ、前記通信データのメッセージ部には、送信元、送信先それぞれの論理アドレスを設定するＩＰ指定フィールドと共に、前記パラメータ部のデータ長を設定する精度情報フィールドを設け、前記ＩＰコアは、前記通信データのメッセージ部の精度情報フィールドに使用する演算パラメータのデータ長を設定し、当該通信データのパラメータ部に前記精度情報フィールドに設定されたデータ長を持つ演算パラメータを設定するものとすることができる。
また、本発明は、複数のＩＰコアと、共通のオンチップバスと、前記複数のＩＰコアと共通のオンチップバスとの間それぞれに配置した接続制御ユニットと、前記接続制御ユニット間それぞれに配置されたトークン専用ラインとを備え、前記トークン専用ライン上を順繰りに伝送するトークンによって前記接続制御ユニット間を連係させる集積回路であって、各ＩＰコアは、データフォーマットとして、メッセージ部とパラメータ部とで成り、かつ、前記メッセージ部には送信元ＩＰコア、送信先ＩＰコアそれぞれの論理アドレスを設定し、前記パラメータ部には演算パラメータを設定する通信データを使用し、各接続制御ユニットは、前記トークン専用ライン上を上流側から送られてくるトークンを受けた時に、自ユニットに接続されているＩＰコアからの通信要求の有無を判断し、当該ＩＰコアからの通信要求がない時には、前記トークンを下流側に隣接する接続制御ユニットにパスし、かつ、トークン終了を上流側に隣接する接続制御ユニットに通知し、自ユニットに接続されているＩＰコアからの通信要求がある時には、当該通信要求がなくなるまで前記トークンを一時的に保持しておくトークン制御手段と、複数のＩＰコアそれぞれの論理アドレスと各ＩＰコアに接続されている接続制御ユニットの物理アドレスとの対応を示すアドレス変換テーブルと、自ユニットに接続されているＩＰコアからの通信要求がある時に、当該ＩＰコアからの前記通信データのメッセージ部から送信先、送信元のＩＰコアの論理アドレスを抽出し、前記アドレス変換テーブルを参照して当該送信先、送信元の論理アドレスを送信先、送信元の接続制御ユニットの物理アドレスに変換してから当該通信データを前記オンチップバスに送出するアドレス変換手段と、前記オンチップバス上の通信データをチェックし、自ユニットの物理アドレスを送信先とする通信データがある時に、当該通信データのメッセージ部から送信先、送信元の接続制御ユニットの物理アドレスを抽出し、前記アドレス変換テーブルを参照して当該送信先、送信元の物理アドレスを送信先、送信元のＩＰコアの論理アドレスに変換してから自ユニットに接続されているＩＰコアに当該通信データを転送するアドレス判別手段とを備えたことを特徴とする集積回路を要旨とする。
上記の発明の集積回路において、前記通信データパラメータ部は可変長とし、かつ、前記通信データのメッセージ部には、送信元ＩＰコア、送信先ＩＰコアそれぞれの論理アドレスを設定するＩＰ指定フィールドと共に、前記パラメータ部のデータ長を設定する精度情報フィールドを設け、前記ＩＰコアは、前記通信データのメッセージ部の精度情報フィールドに使用するデータ長を設定し、当該通信データのパラメータ部に前記精度情報フィールドに設定されたデータ長を持つ演算パラメータを設定するものとすることができる。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
本発明のＩＰコア間の通信方法及び集積回路によれば、各ＩＰコアとオンチップバスとの間それぞれに共通の構成の接続制御ユニットを介在させ、接続制御ユニット間をトークン方式で連係させ、通信データには各ＩＰコアに共通のデータフォーマットのものを使用させ、そのメッセージ部に精度情報フィールドを設定し、ここにデータ長を設定し、かつ、通信データのパラメータ部にはここで設定されたデータ長の演算パラメータを書込ませるようにし、さらには、各接続制御ユニットにはＩＰコアの論理アドレスと接続制御ユニットの物理アドレスとの対応を示すアドレス変換テーブルを持たせ、オンチップバス上では接続制御ユニットの物理アドレスベースでデータ通信させるようにしたので、ＩＰコアそれぞれに自立性を持たせたアーキテクチュアを組み込むことができ、簡素なフォーマットのメッセージ通信によってオンチップバスの標準化を容易にし、ＩＰコア間のバス調整機構も不要にして、多数のＩＰコアを擁する大規模集積回路であってもシンプルな構造にして組み上げることができる。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
ＡＣＵの特徴として、すべて全く同じアーキテクチャであり、接続するＩＰコアに合わせた設定をする必要は無く、単純にＩＰコアと接続するだけでＩＰコア間の通信を行うことができる。さらにゲート数も５Ｋゲートほどなので数千万ゲート規模のＳｏＣ（System on Chip）のような超高集積回路内というような現状を考えると問題とならない規模で実現できる。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
アドレス変換ブロック１３は、ＩＰコア１１からデータ（ｃｏｒｅ＿ｄａｔａ）を送信する場合、図４（ｂ）に示すように、送信先のＩＰコア１１の論理アドレスをＡＣＵ１０の物理アドレスに変換し（０１→２１）、送信元のＡＣＵアドレス（ａｄｄｒｅｓｓ＿ａ＝２４）を付加し、オンチップバス１６にデータ（ｂｕｓ＿ｄａｔａ）を送出する。送信後、指定したＩＰコア１１からそのＩＰコアのＡＣＵ１０に返送された処理結果は、アドレス判別ブロック１４で一時保存していた送信元アドレスデータを送信先アドレスとし、元々の送信先アドレスを送信元アドレスとして、オンチップバス１６にデータを送出し、送信元のＡＣＵ１０に返送する。
【手続補正８】
【補正対象書類名】図面
【補正対象項目名】図３
【補正方法】変更
【補正の内容】
【図３】
2007233976.tif 000010
【手続補正９】
【補正対象書類名】図面
【補正対象項目名】図４
【補正方法】変更
【補正の内容】
【図４】
2007233976.tif 000011