(57)【要約】【課題】開放形コアプロトコルを基盤とするバスシステムを提供する。【解決手段】本発明はシステムオンチップにおけるバスシステムに関するものであって、さらに詳細にはＡＭＢＡプロトコルを基盤とするＩＰコアを開放形コアプロトコルに効果的に適用するためのバスシステムに関するのである。本発明のバスシステムはＡＭＢＡプロトコルでデータ伝送状態を示すＨＲＥＡＤＹ信号をマスタ用とスレーブ用とで区分し、各々のＩＰコアのマスタブロックとスレーブブロックとに印加することによってマスタブロックが動作中にもスレーブブロックの動作ができるようにする。【選択図】      図４
2011065685.tif 000002
【特許請求の範囲】
【請求項１】
バスと、
マスタブロックとスレーブブロックとを含むＩＰコアと、
前記ＩＰコアの前記マスタブロックおよび前記スレーブブロックを前記バスに連結させるラッパとを含み、
前記ラッパは前記マスタブロックのデータ伝送状態を示す第１データ伝送状態信号を前記マスタブロックに印加し、前記スレーブブロックのデータ伝送状態を示す第２データ伝送状態信号を前記スレーブブロックに印加し、
前記マスタブロックからデータが伝送される第１時間と前記スレーブブロックにデータが伝送される第２時間は重畳することを特徴とするバスシステム。
【請求項２】
前記ＩＰコアはＡＭＢＡプロトコルを基盤として設計されたＩＰコアであることを特徴とする請求項１に記載のバスシステム。
【請求項３】
前記第１データ伝送状態信号と前記第２データ伝送状態信号とは前記バスを通じた前記マスタブロックと前記スレーブブロックとのデータ伝送状態を示す信号であることを特徴とする請求項１に記載のバスシステム。
【請求項４】
前記マスタブロックが待機状態の場合にも、前記スレーブブロックは前記バスと連結された他のＩＰコアからデータが入力されることを特徴とする請求項１に記載のバスシステム。
【請求項５】
前記待機状態では前記第１データ伝送状態信号がローであることを特徴とする請求項４に記載のバスシステム。
【請求項６】
前記スレーブブロックは前記マスタブロックの動作を設定するレジスタであることを特徴とする請求項４に記載のバスシステム。
【請求項７】
前記スレーブブロックに入力される前記データは前記マスタブロックの設定状態を示すデータであることを特徴とする請求項４に記載のバスシステム。
【請求項８】
前記ラッパは前記マスタブロックと前記バスとの間の接続を提供するマスタラッパと、
前記スレーブブロックと前記バスとの間の接続を提供するスレーブラッパとを含むことを特徴とする請求項１に記載のバスシステム。
【請求項９】
前記マスタラッパは前記第１データ伝送状態信号を前記マスタブロックに印加することを特徴とする請求項８に記載のバスシステム。
【請求項１０】
前記スレーブラッパは前記第２データ伝送状態信号を前記スレーブブロックに印加することを特徴とする請求項８に記載のバスシステム。
【請求項１１】
バスシステムにおいて、
バスと、
複数のＩＰコアと、
前記ＩＰコアの各々に対応し、各々の対応するＩＰコアを前記バスに連結させる複数のラッパとを含み、
前記ＩＰコアのうちのマスタ動作とスレーブ動作とを全部実行するＩＰコアはマスタブロックとスレーブブロックとで区分され、前記マスタブロック及び前記スレーブブロックを含んだＩＰコアに連結されたラッパは前記マスタブロックのデータ伝送状態を示す信号である第１データ伝送状態信号を前記マスタブロックに印加し、前記スレーブブロックのデータ伝送状態を示す第２データ伝送状態信号を前記スレーブブロックに印加し、
前記スレーブブロックは前記マスタブロックの動作を設定するレジスタであり、前記マスタブロックからデータが伝送される第１時間と前記スレーブブロックにデータが伝送される第２時間は重畳することを特徴とするバスシステム。
【請求項１２】
前記マスタブロックが待機状態である場合にも、前記スレーブブロックは前記バスと連結された他のＩＰコアからデータが入力されることを特徴とする請求項１１に記載のバスシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はシステムオンチップ(ＳＯＣ: Ｓｙｓｔｅｍ Ｏｎ ＣｈＩＰ)におけるバスシステムに係り、さらに詳細には、ＡＭＢＡ(ＡＭＢＡ: Ａｄｖａｎｃｅｄ Ｍｉｃｒｏｃｏｎｔｒｏｌｌｅｒ Ｂｕｓ Ａｒｃｈｉｔｅｃｔｕｒｅ)プロトコル(Ｐｒｏｔｏｃｏｌ)に従うＩＰ(Ｉｎｔｅｌｌｅｃｔｕａｌ Ｐｒｏｐｅｒｔｙ)コア(Ｃｏｒｅ)を開放形コアプロトコル(ＯＣＰ: Ｏｐｅｎ Ｃｏｒｅ Ｐｒｏｔｏｃｏｌ)に効果的に適用するためのバスシステムに関する。
【背景技術】
【０００２】
効果的なシステムオンチップの設計のために最も重要なことは、一つのチップ上に実現された複数のＩＰコア間の相互通信のためのバスシステムの実現である。最近まで一番広く使われているシステムオンチップバスシステムは、ＡＲＭ(Ａｄｖａｎｃｅｄ ＲＩＳＣ Ｍａｃｈｉｎｅ)社のＡＭＢＡプロトコルを基盤とするＡＨＢ(Ａｄｖａｎｃｅｄ Ｈｉｇｈ−ｐｅｒｆｏｒｍａｎｃｅ Ｂｕｓ)バスシステムであり、これによって多くのＩＰコアがＡＭＢＡプロトコルを基盤として設計された。
【０００３】
一方、システムオンチップ設計において、徐々に短くなっている市場の要求(ｔｉｍｅ ｔｏ ｍａｒｋｅｔ)に応じるために以前に設計され、現在使われているＩＰコアのリサイクルが徐々に拡がっている。このようなＩＰコアのリサイクルは設計時間の短縮とチップの信頼性向上のために必須である。このようなＩＰコアのリサイクルにより適するバスシステムがプラグイン(ｐｌｕｇ−ｉｎ)概念の開放形コアプロトコルを基盤とするソニック社(ＳＯＮＩＣｓ Ｉｎｃ。)のシリコンバックプレーンマイクロネットワーク(Ｓｉｌｉｃｏｎ Ｂａｃｋｐｌａｎｅ μＮｅｔｗｏｒｋ)であり、最近、その使用が徐々に増加している。
【０００４】
図１はＡＭＢＡプロトコルスペック２．０で提案するＡＨＢバスシステムのブロック図である。図１に示したように、ＡＨＢバスシステムは複数のマスタ(Ｍａｓｔｅｒ１００、１０２、１０４)とスレーブ(Ｓｌａｖｅ １２０、１２２、１２４、１２６)と、アービタ(Ａｒｂｉｔｅｒ １１０)と、デコーダ(Ｄｅｃｏｄｅｒ １１８)とを含む。(ただ、図１では説明の便宜のために３個のマスタと４個のスレーブのみを図示した。)また、ＡＨＢバスシステムはマスタとスレーブとの間のデータの流れを制御するための多数のＭＵＸ回路１１２、１１４、１１６を含む。ＭＵＸ回路１１２、１１４、１１６はアービタ１１０とデコーダ１１８とによって制御される。
【０００５】
図１に示したＡＨＢバスシステムで特定のマスタがバスに連結されたスレーブに接続してデータの読み出しおよび書き込みを行うためには、先にマスタがアービタにバス使用要請をする。例えば、マスタ１(１００)はスレーブ３(１２４)にデータを書き込むために先にアービタ１１０にバス使用要請ＨＢＵＳＲＥＱ１を行う。アービタ１１０はマスタ１(１００)のバス使用要請ＨＢＵＳＲＥＱ１に応答して現在バスを使っている他のマスタが存在するか否かを確認し、もし現在バスを使用中である他のマスタが存在しなければ、アービタ１１０はマスタ１(１００)にバスグラント信号ＨＧＲＡＮＴを印加する。そして、アービタ１１０は第１ＭＵＸ回路１１２と第２ＭＵＸ回路１１４とを制御してマスタ１(１００)からのデータＨＷＤＡＴＡ１をスレーブ３(１２４)に伝送する。この時、第１ＭＵＸ回路１１２はマスタからスレーブへのアドレス信号ＨＡＤＤＲと制御信号との伝送のためのＭＵＸ回路であり、第２ＭＵＸ回路１１４はマスタからスレーブへのデータＨＷＤＡＴＡの伝送のためのＭＵＸ回路である。一方、マスタ１(１００)によるデータ伝送が完了すれば、スレーブ３(１２４)はマスタ１(１００にデータの伝送が終わったことを知らせる信号を印加する。この時、スレーブからマスタに印加されるデータ伝送状態信号ＨＲＥＡＤＹはデコーダ１１８によって制御される第３ＭＵＸ回路１１６を介してマスタ１(１００)に伝送される。
【０００６】
図２Ａは図１のＡＨＢバスシステムでマスタが一周期の間データを伝送する場合、データ伝送とデータ伝送状態信号ＨＲＥＡＤＹとの関係を示すタイミング図である。そして、図２Ｂは図１のＡＨＢバスシステムでマスタが何周期にもかけてデータを伝送する場合のデータ伝送とデータ伝送状態信号ＨＲＥＡＤＹとの関係を示すタイミング図である。
【０００７】
図２Ａに示すように、マスタからデータＨＷＤＡＴＡが一周期の間だけ伝送される場合には、スレーブからのデータ伝送状態信号ＨＲＥＡＤＹはハイ(ｈｉｇｈ)の状態をそのまま維持する。一方、図２Ｂに示すように、マスタからスレーブに何周期にもかけてデータＤＡＴＡ＿Ｓが伝送される場合には、安定したデータ伝送のためにデータの伝送が完了するまでデータ伝送状態信号ＨＲＥＡＤＹをロー(ｌｏｗ)状態に維持する。一方、データ伝送状態信号ＨＲＥＡＤＹがローの状態の間にはマスタの安定したデータ伝送は可能であるが、現在進行中であるデータの伝送の以外の他の動作の安全性は保障することができない。したがって、データ伝送状態信号ＨＲＥＡＤＹがローである状態をマスタの待機状態(ｗａｉｔ ｓｔａｔｅ)という。
【０００８】
図３は開放形コアプロトコルを基盤とするシリコンバックプレーンマイクロネットワークのブロック図である。図３に示したシリコンバックプレーンマイクロネットワーク３００はツリー形態のシリコンバックプレーンバス３０２と複数のエージェント３０４とを含む。そして、各々のエージェント３０４にはマスタまたはスレーブで動作するＩＰコア３１０、３１２、３１４、３１８、３２０、３２２が連結される。シリコンバックプレーンバス３０２は、図３のようにツリー(ｔｒｅｅ)の形態で実現することもでき、リング(ｒｉｎｇ)の形態で実現することもできる。エージェント３０４はＩＰコアをシリコンバックプレーンバス３０２に連結させるインターフェース(Ｉｎｔｅｒｆａｃｅ)の機能を実行する。
【０００９】
一方、図３に示すように、ＩＰコアにはマスタ３１０、３１２またはスレーブ３１８、３２０、３２２だけで動作するものと、レジスタ基盤のＩＰコアのようにマスタ３１６とスレーブ３１７との両方で動作するもの３１４とがある。もし、図３で、ＩＰコアがＡＭＢＡプロトコルを基盤として設計されたら、マスタとスレーブとの両方で動作するＩＰコア３１４で、マスタ３１６がデータを伝送する途中に待機状態に入っていくようになれば(ＨＲＥＡＤＹ信号がローである区間)スレーブ３１７はこの区間の間にバスを通じたどのような動作も実行することができない。例えば、スレーブ３１７がマスタ３１６の動作状態を設定するレジスタであれば、マスタ３１６が待機状態に入っていった動作中にはレジスタ３１７の設定を変更することができない。これはＡＭＢＡプロトコルでは一つのＩＰコアに対してデータ伝送状態信号ＨＲＥＡＤＹをマスタとスレーブの区分なしに一つだけ使用するので、外部ではマスタの待機状態をＩＰコアの全体の待機状態と認識するためである。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明では上述の問題を解決するためにＡＭＢＡプロトコルを基盤として、マスタとスレーブとの両方で動作するＩＰコアを、開放形コアプロトコルを基盤とするバスに適用するとき、マスタとスレーブの各々のデータ伝送状態信号をマスタ用とスレーブ用とで区分し、各々マスタブロックとスレーブブロックに印加するバスシステムを提供する。
【課題を解決するための手段】
【００１１】
本発明のバスシステムは開放形コアプロトコルを基盤とするバスと、マスタブロックとスレーブブロックとを含むＩＰコアおよびＩＰコアのマスタブロックとスレーブブロックとを各々バスに連結させるラッパとを含む。そして、ラッパはマスタブロックのデータ伝送状態を示す第１データ伝送状態信号をマスタブロックに印加し、スレーブブロックのデータ伝送状態を示す第２データ伝送状態信号をスレーブブロックに印加する。
【発明の効果】
【００１２】
ＡＭＢＡプロトコルを基盤とするＩＰコアを開放形コアプロトコル基盤のバスに適用する場合、本発明のバスシステムはＩＰコアのマスタブロックがデータを伝送中で待機状態にある間にもスレーブブロックの動作ができるようにし、バスの利用効率を高めることによってシステムの性能を向上させる。
【図面の簡単な説明】
【００１３】
【図１】ＡＭＢＡプロトコルスペック２．０で提案するＡＨＢバスシステムのブロック図である。
【図２Ａ】図１のＡＨＢバスシステムでマスタが一周期の間データを伝送する場合、データ伝送とデータ伝送状態信号ＨＲＥＡＤＹとの関係を示すタイミング図である。
【図２Ｂ】図１のＡＨＢバスシステムでマスタが何周期にもかけてデータを伝送する場合のデータ伝送とデータ伝送状態信号ＨＲＥＡＤＹとの関係を示すタイミング図である。
【図３】開放形コアプロトコルに従うシリコンバックプレーンバスシステムのブロック図である。
【図４】図１のＡＭＢＡプロトコルに従うＩＰコアを図２のシリコンバックプレーンバスシステムに適用した本発明のブロック図である。
【図５】図４に示した本発明のバスシステムでマスタブロックとスレーブブロックの各々に対して別途のデータ伝送状態信号を使用する場合のデータ伝送のタイミング図である。
【発明を実施するための形態】
【００１４】
図４は図１のＡＭＢＡプロトコルに従うＩＰコアを図２のシリコンバックプレーンバスシステムに適用した本発明のバスシステムの実施形態を示すブロック図である。図４に示すように、本発明のバスシステムは開放形コアプロトコルを基盤とするシリコンバックプレーンマイクロネットワーク４００とラッパブロック４１０とＡＭＢＡプロトコルを基盤とする複数のＩＰコア４２０、４３０、４４０とを含む。
【００１５】
シリコンバックプレーンマイクロネットワーク４００は開放形コアプロトコル基盤のシリコンバックプレーンバス４０２およびラッパ４１０と連結されて、各ＩＰコア４２０、４３０、４４０とシリコンバックプレーンバス４０２との接続を提供し、シリコンバックプレーンマイクロネットワークプロトコルを実行するエージェント４０４、４０６、４０８を含む。
【００１６】
ラッパブロック４１０は各ＩＰコア４２０、４３０、４４０と連結されて各ＩＰコア４２０、４３０、４４０をエージェント４０４、４０６、４０８に連結させる。すなわち、ＩＰコア４２０、４３０、４４０とシリコンバックプレーンマイクロネットワーク４００との接続を提供し、ＡＭＢＡプロトコルを開放形コアプロトコルに、または開放形コアプロトコルをＡＭＢＡプロトコルに変換するプロトコル変換の機能を実行する。
【００１７】
ＩＰコア４２０、４３０、４４０には第１ＩＰコア４２０のようにマスタ動作のみ実行するもの、第２ＩＰコア４３０のようにマスタとスレーブの動作を全部実行するもの、および第３ＩＰコア４４０のようにスレーブの動作のみを実行するものがある。したがって、第１ＩＰコア４２０はマスタブロック４２２のみを含み、第２ＩＰコア４３０はマスタブロック４３２とスレーブブロック４３４との両方を含む。そして、第３ＩＰコア４４０はスレーブブロック４４２のみを含む。各ＩＰコアのマスタブロック４２２、４３２は各々のマスタラッパ(Ｗｒａｐｐｅｒ、４１２、４１３)と連結されてエージェントを介してシリコンバックプレーンバス４０２に接続し、スレーブブロック４３４、４４２はスレーブラッパ４１４、４１６と連結されてエージェントを介してシリコンバックプレーンバス４０２に接続する。
【００１８】
一方、本発明のバスシステムで第２ＩＰコア４３０のようにマスタブロック４３２とスレーブブロック４３４とを両方含むＩＰコアに連結されたラッパ４１５はマスタブロック４３２とスレーブブロック４３４の各々に対するデータの伝送状態信号をマスタ用ＨＲＥＡＤＹ＿Ｍとスレーブ用ＨＲＥＡＤＹ＿Ｓとで区分して各々マスタブロック４３２とスレーブブロック４３４とに印加する。すなわち、マスタラッパ２(４１３)はマスタブロック４３２にマスタデータ伝送状態信号ＨＲＥＡＤＹ＿Ｍを印加し、マスタラッパ２(４１４)はスレーブブロック４３４にスレーブデータ伝送状態信号ＨＲＥＡＤＹ＿Ｓを印加する。この時、スレーブデータ伝送状態信号ＨＲＥＡＤＹ＿Ｓは常にハイ状態を維持するようにして、マスタブロック４３２の動作状態にかかわらず、外部からのデータ受信ができるようにする。特に、このような動作はマスタブロック４３２が待機状態(ＨＲＥＡＤＹ＿Ｍがロー状態)にあり、外部の他のマスタブロック(例えば、マスタ１(４２２))からスレーブブロック４３４にデータの入力が必要な場合に有用である。例えば、レジスタ基盤のＩＰコアの場合、外部の他のマスタからレジスタ設定のためのデータの入力が頻繁に発生する。そして、マスタブロック４３２がデータを送信中待機状態に入っていった場合にもマスタブロック４３２の動作を設定するためのレジスタ(スレーブブロック)の再設定が必要な場合がある。この場合、マスタデータ伝送状態信号ＨＲＥＡＤＹ＿Ｍとスレーブデータ伝送状態信号ＨＲＥＡＤＹ＿Ｓとを別途に区分して各々印加し、スレーブデータ伝送状態信号ＨＲＥＡＤＹ＿Ｓをハイ状態に維持させることによって、マスタブロック４３２の動作とは無関係に必要な場合は常にスレーブブロック４３４にデータを入力することができる。
【００１９】
図５は図４に示した本発明のバスシステムでマスタブロックとスレーブブロックの各々に対して別途のデータ伝送状態信号を使用する場合のデータ伝送タイミング図である。
【００２０】
図５に示したように、ハイ状態を維持する別途のスレーブデータ伝送状態信号ＨＲＥＡＤＹ＿Ｓをスレーブブロック４３４に印加することによって、マスタブロック４３２が待機状態である間(ＨＲＥＡＤＹ＿Ｍがローである区間)にも、他の外部ＩＰコア４２０からのデータＤＡＴＡ＿Ｂの入力が可能である。
【００２１】
以上では、本発明によるバスシステムの構成及び動作を詳細に説明したが、これは例示的なものに過ぎず、本発明の技術的思想を逸脱しない範囲内で多様な応用及び変更が可能である。
【符号の説明】
【００２２】
４００    シリコンバックプレーンマイクロネットワーク
４０２    シリコンバックプレーンバス
４０４，４０６，４０８    エージェント
４１０    ラッパブロック
４１２，４１３    マスタラッパ
４１４，４１６    スレーブラッパ
４２０，４３０，４４０    ＩＰコア
４２２，４３２    マスタブロック
４３４，４４２    スレーブブロック
【図１】
2011065685.tif 000003
【図２Ａ】
2011065685.tif 000004
【図２Ｂ】
2011065685.tif 000005
【図３】
2011065685.tif 000006
【図４】
2011065685.tif 000007
【図５】
2011065685.tif 000008