(57)【要約】【課題】  階層バス方式において所定の優先度に従いバス転送をスレーブモジュールに伝達可能になる。【解決手段】  複数のバスマスタとスレーブモジュールとのバスの接続を制御するバス制御回路であって、複数のバスマスタそれぞれからのバス転送要求信号を受信し、予め設定された優先順位に従ってバス転送要求信号を発行したバスマスタの１つに対するバス権を付与することを示す調停結果信号を出力する調停回路と、複数のバススイッチとを有する。ここで、複数のバススイッチそれぞれは、複数のバス転送信号を受信するための複数の入力端子、および、複数の入力端子のうちの１つバス転送信号を下流に伝達するための出力端子とを有する選択回路と、調停回路が出力する調停結果信号を受信し、当該調停結果信号に基づいて選択回路に対して複数の入力端子のいずれか１つを選択するよう制御する制御回路とを有する。そして、最下流に位置するバススイッチが有する選択回路の出力端子にスレーブモジュールが接続され。【選択図】  図１
2020046876.tif 000002
【特許請求の範囲】
【請求項１】
複数のバスマスタとスレーブモジュールとのバスの接続を制御するバス制御回路であって、
前記複数のバスマスタそれぞれからのバス転送要求信号を受信し、予め設定された優先順位に従ってバス転送要求信号を発行したバスマスタの１つに対するバス権を付与することを示す調停結果信号を出力する調停回路と、
複数のバススイッチとを有し、
前記複数のバススイッチそれぞれは、
複数のバス転送信号を受信するための複数の入力端子、および、前記複数の入力端子のうちの１つバス転送信号を下流に伝達するための出力端子とを有する選択回路と、
前記調停回路が出力する前記調停結果信号を受信し、当該調停結果信号に基づいて前記選択回路に対して前記複数の入力端子のいずれか１つを選択するよう制御する制御回路とを有し、
最下流に位置するバススイッチが有する前記選択回路の出力端子に前記スレーブモジュールが接続される
ことを特徴とするバス制御回路。
【請求項２】
前記制御回路は、前記調停結果信号をバススイッチの経路情報に変換し、切替選択信号として保持するメモリを有することを特徴とする請求項１に記載のバス制御回路。
【請求項３】
前記制御回路が有する前記メモリは、前記切替選択信号をＦＩＦＯ形式で保持することを特徴とする請求項１又は２に記載のバス制御回路。
【請求項４】
前記バススイッチは、アドレス情報バスを伝達するスイッチと、データ情報バスを伝達するスイッチを有することを特徴とする請求項１乃至３のいずれか１項に記載のバス制御回路。
【請求項５】
前記調停回路は、前記複数のバスマスタから、前記バス転送要求信号とともにバス転送方向を示す情報を更に受信し、バス権を与えるとして決定したバスマスタからのバス転送方向を示す情報を前記調停結果信号とともに出力することを特徴とする請求項１乃至４のいずれか１項に記載のバス制御回路。
【請求項６】
前記制御回路は、前記調停結果信号と前記バス転送方向を示す情報とを、バススイッチの経路情報に変換し、切替選択信号として保持するメモリを有することを特徴とする請求項５に記載のバス制御回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は複数のバスマスタからスレーブへのアクセス時のバスマスタ間のアクセス調停であるバス制御技術に関するものである。
【背景技術】
【０００２】
ＣＰＵやシステムの機能を司り動作するモジュールを含むハードウエアシステムでは、共有バスを介して主記憶メモリなどのスレーブモジュールに接続されている。システムの動作に当たっては、バスマスタモジュールがバスを介してメモリへのアクセスを発行しシステムの動作を実現する。このようなハードウエアシステムは一般的には、半導体集積回路上に実装される。半導体技術の進展に伴い半導体集積回路に搭載可能な論理は飛躍的に向上し、それに伴いシステムの規模が拡大の一途をたどっている。
【０００３】
このようにシステム規模が拡大すると、搭載可能な機能が増加し、それに伴い主記憶にアクセスするバスマスタモジュールの数も増加することになる。
【０００４】
複数のバスマスタモジュールがメモリなどにアクセスを同時に発行する場合、共有バス上でアクセスが競合するため、システムが定める所定の動作仕様に従い優先度をつけて調停されることが一般的である。調停回路は一般にバスマスタからのアクセス要求を受け付け、動作仕様で定められる所定の条件に基づいてアクセス許可するバスマスタを選択する。バススイッチは調停回路で選択されたバスマスタの情報に基づき、複数のバスマスタモジュールのアクセスから１つのアクセスを選択する。一般にバススイッチでは、アドレスなどのアクセス属性を示す多ビットの信号やアクセスデータなどの多ビットの信号を選択する論理として構成される。
【０００５】
複数のバスマスタモジュールとスレーブ間の接続を構成するバスシステムとして単一の調停回路とバススイッチでバスシステム構成するＳＨＡＲＥＤ  ＢＵＳ方式と呼ばれるバスシステムが存在する。
【０００６】
ＳＨＡＲＥＤ  ＢＵＳ方式では単一の調停回路でバスアクセスを選択するため、所定の優先度でスレーブモジュールにバス転送を伝達可能である。
【０００７】
しかしながら本方式ではバスマスタ数が増えるに従い、複数のバスマスタモジュールのアクセスから一つを選択するバススイッチにて、多ビットの信号が集中することにより半導体集積回路上で配線混雑が発生し、回路規模が大きくなってしまう課題がある。また、複数のバスマスタモジュールの多ビットのバス信号から１つを選択する論理構造となるため、論理段数が深くなることに起因して、動作周波数に制限が生じる課題が発生する。
【０００８】
例えば２００を超えるバスマスタモジュールを単一のバススイッチで実装した場合、バスシステム回路全体で配線集中が発生する。配線集中を回避するために配置面積を拡大することによって回路規模が肥大化する。一方で論理段数が深いことでタイミング収束性が困難な論理に対して配置面積を拡大することで配線遅延がさらに大きくなり、動作周波数に制限が発生する。その結果、近年の多機能化によるバスマスタモジュール数が多いシステムでは、単一のバススイッチでバスシステムを構築することは実現することは困難である。
【０００９】
このような課題に対応し多くのバスマスタモジュールを取り扱う大規模システムでは、バススイッチを階層的に配置し多段で構成し、各バススイッチに接続されるバスアクセス間でアクセス調停を行う階層バス方式が一般的になりつつある（特許文献１）。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１０−２８２４０５公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、階層バス方式では、バススイッチを多段で構成し、個々のバススイッチにてアクセス間の調停が行うものであった。このため、全てのマスタ間で設定される優先順位と多段で段階的に調停された結果の優先順位が異なる場合が生じる。
【００１２】
その結果、優先度が低いアクセスが優先度の高いアクセスに先立ってバス転送がスレーブモジュールに伝達されるケースが生じうる。一方で、大規模システムでは複数のプロセスやタスクが競合し動作するため、システム全体性能を満足するためにはバス転送の優先順位に従って実現することが求められるケースがある。このような場合、階層バス方式ではスレーブモジュールとの間に、バス転送のアクセス順を優先度に従ってアクセス順を並び替える論理が必要となる。アクセス順を並び替える論理は、複数のアドレスコマンドとそれに紐づく書き込みデータを保持が必要である。一般的にアドレスコマンドは、アドレス信号やマスタ識別信号、転送方向信号、転送タイプ信号等を有し４０ビット程度の信号で表される。また、書き込みデータは、バス幅やバスプロトコルにも依存するが６４ビットバスの場合はデータとバイトイネーブル情報の７２ビットの信号で表される。さらに一つのアドレスコマンドに対して、バス転送のバースト長に応じて複数の７２ビット信号で表される。例えば、バス転送のバースト長が１６ビートである場合、１１５２ビットの信号が必要となる。ここで、アクセス順を並び替える論理が４転送保持して並び替える場合、４７６８ビットの信号を保持し、並び替える必要があり、相当数の回路規模を消費することとなる。さらに並び替え論理は条件を比較し出力する幅の広いデータを選択する論理となるため、配線混雑や動作周波数確保のためのステージ分割が必要となり、コストアップの要因となる。
【００１３】
本発明は、上記の課題を鑑みたものであり、階層バス方式において所定の優先度に従いバス転送をスレーブモジュールに伝達可能なバス制御回路を提供しようとするものである。
【課題を解決するための手段】
【００１４】
この課題を解決するため、例えば本発明のバス制御回路は以下の構成を備える。すなわち、
複数のバスマスタとスレーブモジュールとのバスの接続を制御するバス制御回路であって、
前記複数のバスマスタそれぞれからのバス転送要求信号を受信し、予め設定された優先順位に従ってバス転送要求信号を発行したバスマスタの１つに対するバス権を付与することを示す調停結果信号を出力する調停回路と、
複数のバススイッチとを有し、
前記複数のバススイッチそれぞれは、
複数のバス転送信号を受信するための複数の入力端子、および、前記複数の入力端子のうちの１つバス転送信号を下流に伝達するための出力端子とを有する選択回路と、
前記調停回路が出力する前記調停結果信号を受信し、当該調停結果信号に基づいて前記選択回路に対して前記複数の入力端子のいずれか１つを選択するよう制御する制御回路とを有し、
最下流に位置するバススイッチが有する前記選択回路の出力端子に前記スレーブモジュールが接続されることを特徴とする。
【発明の効果】
【００１５】
本発明により、階層バス方式において所定の優先度に従いバス転送をスレーブモジュールに伝達可能なバス制御回路を提供できるようになる。
【図面の簡単な説明】
【００１６】
【図１】第１の実施形態におけるバスシステム構成図。
【図２】第１の実施形態におけるバススイッチ回路の構成図。
【図３】第２の実施形態におけるバスシステム構成図。
【図４】第２の実施形態におけるバススイッチ回路の構成図。
【図５】第２の実施形態におけるバスシステム構成概略図。
【図６】実施形態におけるス転送の信号波形例を示す図。
【図７】第２の実施形態の作用を説明するためのバスシステム構成図。
【図８】図７の作用説明におけるサイクル毎のバススイッチの状態説明図。
【発明を実施するための形態】
【００１７】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。なお、以下に示す実施形態における構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１８】
［第１の実施形態］
図１は、第１の実施形態におけるバス制御回路を搭載するバスシステムの構成図である。図１に例示するバスシステムは８つのバスマスタモジュール１０１と、１つのスレーブモジュール１０２で構成されるバスシステムである。なお、バスマスタモジュール、スレーブモジュールの数に特に制限はなく、あくまで例示であると理解されたい。
【００１９】
バスマスタモジュール１０１はバス転送要求信号１０４とバス転送信号１０３を出力する。調停回路１００は各バスマスタモジュール１０１のバス転送要求信号１０４を集約する。また、調停回路１００は、バス転送要求を出力したバスマスタモジュール１０１の中から、予め設定された条件に従って、それらバス転送要求を調停し、バスアクセス権を与える対象の１つのバスマスタモジュール１０１を決定する。
【００２０】
バス転送要求信号１０４は、バスマスタモジュール１０１がバスアクセスの要求の有無を示す信号であり、バスアクセス要求の有無に加えて転送方向や当該バスアクセスの優先度情報を含んでいても構わない。
【００２１】
調停回路１００は、各バスマスタモジュール１０１からのバス転送要求信号１０４を受け、バス転送許可を与えるバスマスタモジュールを決定する。そして、調停回路１００は、決定したバスマスタモジュールにバス転送許可を与えるべく、該当するバスマスタモジュールからスレーブモジュール１０２に経路を表すバスマスタ情報を、調停結果信号１０６として出力する。この調停結果信号１０６はバスを構成する全てのバススイッチ回路１０５に伝達される。
【００２２】
なお、実施形態では、バスマスタの個数を８個の例を示している。そのうちの１つがスレーブモジュールと接続されることになるので、バスマスタを特定するためには３ビットあればよい。したがって、調停回路１００が出力する調停結果信号１０６は、３ビットと少ない信号線で表すことができる。
【００２３】
バスマスタモジュール１０１からスレーブモジュール１０２までの経路はバススイッチ回路１０５を介して接続され、各バスマスタモジュール１０１のバス転送信号１０３はバススイッチ回路１０５に入力される。
【００２４】
バス転送信号１０３は当該バスアクセスのアドレス情報やバス転送方向、バス転送識別情報などのコマンド情報を含む。また、スレーブモジュール１０２への書き込みの場合、バス転送信号１０３は、コマンド情報に加え、書き込むべきデータを含むことになる。
【００２５】
バススイッチ回路１０５は複数のバス転送信号１０３を入力し、一方を選択して出力バスに伝達するするスイッチ回路である。本実施形態では２つのバス転送信号１０３の入力バスの構成を例示している。以下、バススイッチ回路１０５の構成を説明する。
【００２６】
図２はバススイッチ回路１０５の構成図である。調停回路１００から転送許可されるバスマスタモジュールの情報として通知され調停結果信号１０６は経路エンコード回路２０２に入力される。経路エンコード回路２０２は、受信した調停結果信号１０６に基づき、当該バスマスタモジュールのバス転送が当該バススイッチ回路１０５を介して転送されるか否かを判定する。経路エンコード回路２０２は、バス構成情報として当該バススイッチ回路１０５に入力される２つのバス転送信号１０３のそれぞれに対し、いずれのバスマスタモジュール１０１の転送が行われるかのバスマスタ経路情報２０７を保持している。このバスマスタ経路情報２０７は、例えばＲＯＭやレジスタファイルなどのメモリに格納される。
【００２７】
当該バススイッチ回路１０５を介して転送される場合、経路エンコード回路２０２は、経路選択回路２００のいずれの入力端子を選択するのかを示す情報をエンコードし、経路ＭＵＸ制御回路２０１に経路選択情報２０３として通知する。当該バススイッチ回路１０５を介さないバス転送である場合は、経路エンコード回路２０２は、調停結果信号１０６９に応答した処理は行わず、経路ＭＵＸ制御回路２０１への通知は行わない。
【００２８】
経路ＭＵＸ制御２０１は、経路選択回路２００からの経路選択情報２０３の通知に従い、バスマスタ経路情報２０７を生成する。本例では、経路選択回路２００は、２入力端子、１出力端子の選択回路となっているため、経路選択情報２０３は１ビットの情報である。
【００２９】
経路ＭＵＸ制御回路２０１は経路エンコード回路２０２より経路選択情報２０３が通知されると、入力される２つのバス転送信号１０３のいずれか一方を選択するための切替選択信号２０４をスイッチの切替情報として生成し出力する。また、経路ＭＵＸ制御回路２０１は、有効な切替選択信号２０４の有無を示すバスマスタ経路ステータス情報２０６を出力する。
【００３０】
経路エンコード回路２０２は、さらに、下流に出力されるバス転送信号１０３でバス転送の最終を示すフラグ信号２０５入力に有し、最終転送フラグ信号２０５の発行により当該転送の切替選択信号２０４と当該バスマスタ経路ステータス情報２０６の出力を停止する。最終転送フラグ信号２０５は、バスマスタモジュール１０１が発行したバス転送要求に関連付けられるバス転送の最終転送を示すフラグ信号である。フラグ信号の生成は任意であるが、例えば図６の波形に示すようにバス転送信号１０３がＶＡＬＩＤ、ＲＥＡＤＹの２線ハンドシェイクによる転送においてバス転送のペイロードの最終サイクルを示すフラグ信号として実現しても構わない。図６の例では、２つのバス転送を示している。１番目の一連のバス転送は４サイクルのバス転送、２番目のバス転送は５サイクルのバス転送である。それぞれの最終のペイロード転送である４サイクル目の転送と５サイクル目の転送でＬＡＳＴ信号を発行することで、一連のバス転送の最終サイクルを示している。ここでは、バス転送で明示的に最終転送を示すフラグを付与する形式を例示しているが、例えばペイロードに転送長データ情報を有し、その情報を参照することでフラグ信号を生成することも可能である。また、転送長が固定のバス転送である場合には、固定サイクル間隔でフラグ信号を生成しても構わない。
【００３１】
スレーブモジュール１０２にダイレクトに接続される、最下流の位置するバススイッチ回路１０５は、最終転送を示すフラグ信号２０５を、転送終了フラグ信号１０７として調停回路１００に通知する。調停回路１００は調停結果信号１０４を出力後、転送終了フラグ信号１０７の受信を待って次のバスアクセスの調停結果を出力する。経路選択回路２００は切替選択信号２０４が示す値に基づき２つのバス転送信号１０３のいずれか一方を出力（もしくは通過）するように制御する。また、経路選択回路２００は、経路選択情報の状態である経路ステータス情報２０６の入力を有する。経路選択回路２００は経路ステータス情報２０６で、有効な経路選択情報が無い場合、２入力のバス転送信号１０３のいずれも出力しないように制御する。すなわち、経路選択回路２００は、有効なバス経路選択情報が入力されていない状態下では、上流からのバス転送信号１０３の情報を下流に伝達しないよう制御される。
【００３２】
このようにバススイッチ回路１０５を構成することにより、調停回路１００により決定したバス権を取得するバスマスタモジュール１０１順にスレーブモジュール１０２へのバス転送の経路を構成し、バス転送を実現することが可能となる。
【００３３】
［第２の実施形態］
図３は第２の実施形態を示すバスシステムの構成図である。図３に例示するバスシステムは８つのバスマスタモジュール１０１と１つのスレーブモジュール１０２で構成されるバスシステムである。バスマスタモジュール１０１はバス転送要求信号１０４とバス転送信号１０３を出力する。
【００３４】
調停回路３００は各バスマスタモジュール１０１からのバス転送要求に応答し、予め設定された条件に従って、複数のバス転送要求を調停し、バスアクセス権を与える１つのバスマスタモジュールを決定する。また、調停回路３００は各バスマスタモジュール１０１のバス転送要求信号１０４を集約する。
【００３５】
バス転送要求信号１０４は、バスマスタモジュール１０１が発行するバスアクセスの要求の有無を示す信号であり、バスアクセス要求の有無に加えて転送方向や当該バスアクセスの優先度情報を含んでいても構わない。
【００３６】
調停回路３００は、各バスマスタモジュール１０１からのバス転送要求を受け、バス転送許可を与える１つのバスマスタモジュールを決定し、バス転送許可を与えるバスマスタ情報を調停結果信号１０６として出力する。調停結果信号１０６はバスを構成する全てのバススイッチ回路３０５に伝達される。
【００３７】
バスマスタモジュール１０１からスレーブモジュール１０２までの経路はバススイッチ回路３０５を介して接続され、各バスマスタモジュール１０１のバス転送信号１０３はバススイッチ回路３０５に入力される。
【００３８】
バス転送信号１０３は当該バスアクセスのアドレス情報やバス転送方向、バス転送識別情報などのコマンド情報を含む。また、スレーブモジュール１０２への書き込みの場合には、バス転送信号１０３は、その書き込みのデータを含むことになる。本実施形態では、コマンド情報と書き込みデータを含んだ構成を例示しているが、コマンド情報と書き込みデータがバス転送信号として分離した構成であっても構わない。
【００３９】
バススイッチ回路３０５は複数のバス転送信号１０３を入力し、一方を選択して出力バスに伝達するスイッチ回路である。本実施形態では２つのバス転送信号１０３の入力バスの構成を例示している。以下、バススイッチ回路３０５の構成を説明する。
【００４０】
図４は第２の実施形態における、バススイッチ回路３０５の構成図である。調停回路３００から転送許可されるバスマスタモジュールの情報として通知され調停結果信号１０６は経路エンコード回路４０２に入力される。経路エンコード回路４０２は、当該バスマスタモジュールのバス転送が当該バススイッチ回路３０５を介して転送されるか否かを判定する。このため、経路エンコード回路４０２は、バス構成情報として当該バススイッチ回路３０５に入力される２つのバス転送信号１０３のそれぞれに対し、いずれのバスマスタモジュール１０１の転送が行われるかの判定するためのバスマスタ経路情報４０７を保持している。
【００４１】
当該バススイッチ回路３０５を介して転送される場合、経路エンコード回路４０２は、いずれのバス転送信号１０３より入力されるかの情報にエンコードし、経路情報ＦＩＦＯ４０１に経路選択情報４０３として通知する。当該バススイッチ回路３０５を介さないバス転送である場合は、経路エンコード回路４０２は、調停結果信号１０６に応答した処理は行わず、経路情報ＦＩＦＯ４０１への通知は行わない。
【００４２】
図５は、図３に対して個々のバスマスタモジュール１０１とバススイッチ回路３０５それぞれを識別可能にし、個々のスイッチ回路３０５の経路選択論理の経路を識別可能に示したものである。以下、図５を参照して、スイッチ回路３０５の動作を説明する。
【００４３】
バスマスタモジュールの１つである「Ｍａｓｔｅｒ−２」に繋がるスイッチ回路である“スイッチ−１（５００）”に関して例示する。したがって、以下に説明する、経路選択回路４００等は、スイッチ−１（５００）内のものとなることに注意されたい。転送許可されるバスマスタモジュールの情報が、Ｍａｓｔｅｒ−０あるいはＭａｓｔｅｒ−１である場合、経路エンコード回路４０２はスイッチ−１（５００）を介する転送として判定する。経路エンコード回路４０２は経路Ｂより転送されるバス転送と判定し、本情報を経路選択情報４０３として経路情報ＦＩＦＯ４０１に通知する。転送許可されるバスマスタモジュールの情報が、Ｍａｓｔｅｒ−２である場合も同様に、経路エンコード回路４０２はスイッチ−１（５００）を介する転送として判定する。経路エンコード回路４０２は経路Ａより転送されるバス転送と判定し、本情報を経路選択情報４０３として経路情報ＦＩＦＯ４０１に通知する。対して、転送許可されるバスマスタモジュールの情報がＭａｓｔｅｒ−３から７のいずれかであった場合は、経路エンコード回路４０２はスイッチ−１（５００）を介さない転送として判定し、経路選択情報２０３の通知を行わないよう動作する。
【００４４】
次にスレーブモジュール１０２にダイレクトに接続されるスイッチ回路であるスイッチ−３（５０１）に関して例示する。当該スイッチ−３は、転送許可されるバスマスタモジュールの情報がＭａｓｔｅｒ−０から７のいずれであっても、経路エンコード回路４０２はスイッチ−３（５０１）を介する転送として判定する。すなわち、スイッチ−３（５０１）を介さない転送と判定する条件は存在しない。転送許可されるバスマスタモジュールの情報がＭａｓｔｅｒ−０から３のいずれかであった場合、経路エンコード回路４０２は経路Ａより転送されるバス転送と判定し、本情報を経路選択情報４０３として経路情報ＦＩＦＯ４０１に通知する。一方、転送許可されるバスマスタモジュールの情報がＭａｓｔｅｒ−４から７のいずれかであった場合、経路エンコード回路４０２は経路Ｂより転送されるバス転送と判定し、本情報を経路選択情報４０３として経路情報ＦＩＦＯ４０１に通知する。
【００４５】
経路選択情報ＦＩＦＯ４０１は経路選択回路４００の選択情報をＦＩＦＯ形式で保持するよう構成される。経路エンコード回路４０２により通知される経路選択情報４０３をＦＩＦＯに登録する。本例では、経路選択回路４００は２入力の選択回路となっているため、経路選択情報４０３は１ビットの情報であり、経路選択情報ＦＩＦＯ４０１は１ビットのＦＩＦＯとして構成される。
【００４６】
経路選択情報ＦＩＦＯ４０１は経路エンコード回路４０２より経路選択情報４０３が通知されると、当該経路選択情報４０３をＦＩＦＯに登録する。さらに、下流に出力されるバス転送信号４０３でバス転送の最終を示すフラグ信号４０５入力を有し、最終転送フラグ信号４０５の発行によりＦＩＦＯより一番古く登録されたエントリを削除するよう動作する。最終転送フラグ信号４０５は、バスマスタモジュール１０１が発行したバス転送要求に関連付けられるバス転送の最終転送を示すフラグ信号である。フラグ信号の生成は任意であるが、第１の実施形態と同様、例えば図６の波形に示すようにバス転送信号１０３がＶＡＬＩＤ・ＲＥＡＤＹの２線ハンドシェイクによる転送においてバス転送のペイロードの最終サイクルを示すフラグ信号として実現しても構わない。
【００４７】
経路選択情報ＦＩＦＯ４０１は、ＦＩＦＯの先頭に保持されている経路選択情報を経路選択回路４００の切替選択信号４０４として出力する。経路選択回路４００は切替選択信号４０４が示す値に基づき２入力のバス転送信号１０３のいずれかを出力するように制御する。以上より経路選択情報ＦＩＦＯ４０１はスイッチの切替順情報を保持するよう動作する。
【００４８】
また、経路選択回路４００は経路情報ＦＩＦＯ４０１に保持される経路選択情報の状態であるＦＩＦＯステータス情報４０６の入力を有する。経路選択回路４００はＦＩＦＯステータス情報４０６で、ＦＩＦＯに保持されている有効な経路選択情報のエントリが無い場合、２入力のバス転送信号１０３のいずれも出力しないように制御する。すなわち、経路情報ＦＩＦＯ４０１のエントリが空の場合は上流からのバス転送信号１０３の情報を下流に伝達しないよう制御される。
【００４９】
このようにバススイッチ回路３０５を構成することにより、調停回路３００により決定したバス権を取得するバスマスタモジュール１０１順にスレーブモジュール１０２へのバス転送の経路を構成し、バス転送を実現することが可能となる。
【００５０】
次に、図７に示した４つのバスマスタモジュール１０１のバス構成を用いて、バス全体の挙動を説明する。図８はサイクル毎のバスを構成する３つのバススイッチ回路３０５におけるバス転送信号１０３の状態と経路選択ＦＩＦＯ４０１の状態を示している。また、本例では説明を簡易にするために各バス転送は２サイクルの転送であるものとして例示する。Ｃｙｃｌｅ−０では４つのバスマスタモジュールがバス転送要求を発行している状態で、調停回路３００はまだ調停結果信号１０６が発行されていない状態である。各バスマスタモジュールはバス転送信号１０３を下流に向けて発行している状態である。本状態を図８では“ｖａｌｉｄ”と示しており、スイッチ−１とスイッチ−３の経路Ａ、経路Ｂはそれぞれ“ｖａｌｉｄ”となっている。各バススイッチの経路選択ＦＩＦＯ４０１は空の状態であり、そのため各バススイッチは下流にバス転送信号１０３を発行しない状態である。したがって、スイッチ−２の経路Ａ、経路Ｂはバス転送が発行されていない状態“−”となっている。
【００５１】
本例では、調停回路３００はバスマスタモジュール１０１からのバス転送要求に応答して、Ｍａｓｔｅｒ−１、Ｍａｓｔｅｒ−２、Ｍａｓｔｅｒ−３の順にバス権を与えるものとする。そして、Ｍａｓｔｅｒ−１は自身のバス転送が終了時あるいは終了前に次バス転送要求を発行し、Ｍａｓｔｅｒ−４に先立ってＭａｓｔｅｒ−１に対してバス権を与えている。さらに、Ｍａｓｔｅｒ−３はＣｙｃｌｅ−８でバス転送要求を発行し、Ｃｙｃｌｅ−９で調停回路（１００）はＭａｓｔｅｒ−３に対してバス権を与えるよう動作しているものとする。
【００５２】
Ｃｙｃｌｅ−１で調停回路３００よりＭａｓｔｅｒ−１に対してバス権が付与されると、スイッチ−１の経路情報ＦＩＦＯ４０１には経路Ｂの情報、スイッチ−２の経路情報ＦＩＦＯ４０１には経路Ａの情報が登録される。スイッチ−３については、バス権が与えられたＭａｓｔｅｒ−１は当該スイッチとは関連しないため、経路情報ＦＩＦＯ４０１には経路情報が登録されず、ＦＩＦＯは空の状態が継続する。スイッチ−１では、経路情報ＦＩＦＯ４０１に情報が登録されたため、経路選択回路４００は経路Ｂを選択するよう動作し、スイッチ−１に入力される経路ＢのＭａｓｔｅｒ−１の第一転送がスイッチ２に対して出力される。スイッチ−２の経路情報ＦＩＦＯ４０１にも情報が登録されたため、経路選択回路４００は経路Ａを選択するように動作するが、スイッチ−１からのバス転送が入力前であるため、下流に有効なバス転送は発行されない。
【００５３】
Ｃｙｃｌｅ−２で調停回路３００よりＭａｓｔｅｒ−２に対してバス権が付与されると、スイッチ−１の経路情報ＦＩＦＯ４０１には経路Ａの情報、スイッチ−２の経路情報ＦＩＦＯ４０１には経路Ａの情報が登録される。スイッチ−１では経路ＢよりＭａｓｔｅｒ−１の最終転送が伝送される状態であり、経路選択回路４００の経路は切り換わっていない状態である。一方、スイッチ−２は、経路Ａよりスイッチ−１より転送されたＭａｓｔｅｒ−１の第一転送を下流のスレーブモジュール１０２に転送する。
【００５４】
Ｃｙｃｌｅ−３で調停回路３００よりＭａｓｔｅｒ−３に対してバス権が付与されると、スイッチ−３の経路情報ＦＩＦＯ４０１には経路Ａの情報、スイッチ−２の経路情報ＦＩＦＯ４０１には経路Ｂの情報が登録される。スイッチ−１はバス権が与えられたＭａｓｔｅｒ−３は当該スイッチとは関連しないため、経路情報ＦＩＦＯ４０１には登録されない。しかし、Ｃｙｃｌｅ−２で経路Ｂを介したＭａｓｔｅｒ−１の最終転送が転送されたため、ＦＩＦＯの一番古い経路Ｂのエントリが削除され、切替選択信号４０４は経路Ａを示し経路選択回路４００の経路が変更される。スイッチ−３では、経路情報ＦＩＦＯ４０１に情報が登録されたため、経路選択回路４００は経路Ａを選択するように動作し、スイッチ−３に入力される経路ＡのＭａｓｔｅｒ−３の第一転送がスイッチ２に対して出力される。スイッチ−２では経路ＡからのＭａｓｔｅｒ−１の最終転送をスレーブに転送中となる。
【００５５】
Ｃｙｃｌｅ−４にて、調停回路３００よりＭａｓｔｅｒ−１に対してバス権が付与されると、スイッチ−１の経路情報ＦＩＦＯ４０１には経路Ｂの情報、スイッチ−２の経路情報ＦＩＦＯ４０１には経路Ａの情報が登録される。スイッチ−２では経路Ａを介したＭａｓｔｅｒ−１の最終転送がＣｙｃｌｅ−３で転送されたため、ＦＩＦＯの一番古い経路Ａのエントリが削除される。経路情報ＦＩＦＯ４０１のエントリが削除されるが、切替選択信号４０４は次のエントリも経路Ａであるため経路選択回路４００のスイッチは経路Ａの選択を継続し、Ｍａｓｔｅｒ−２の第一転送をスレーブモジュール１０２に転送する。
【００５６】
Ｃｙｃｌｅ−５にて、調停回路３００よりＭａｓｔｅｒ−４に対してバス権が付与されると、スイッチ−３の経路情報ＦＩＦＯ４０１には経路Ｂの情報、スイッチ−２の経路情報ＦＩＦＯ４０１には経路Ｂの情報が登録される。スイッチ−１はバス権が与えられたＭａｓｔｅｒ−４は当該スイッチとは関連しないため、経路情報ＦＩＦＯ４０１には登録されない。しかし、Ｃｙｃｌｅ−４で経路Ａを介したＭａｓｔｅｒ−２の最終転送が転送されたため、ＦＩＦＯの一番古い経路Ａのエントリが削除され、切替選択信号４０４は経路Ｂを示し、経路選択回路４００の経路が変更される。Ｃｙｃｌｅ−５でスイッチ−２において、経路Ａを介したＭａｓｔｅｒ−２の最終転送がスレーブモジュール１０２に対して転送される。
【００５７】
Ｃｙｃｌｅ−６では、経路情報ＦＩＦＯ４０１の一番古いエントリが削除され、経路選択回路４００の経路が経路Ｂに変更され、スイッチ−３を介した転送に切り替わることとなる。以下、同様にＭａｓｔｅｒ−３の転送が完了すると、スイッチ−２はＣｙｃｌｅ−８で経路Ａに切り替わりＭａｓｔｅｒ−１の転送がスレーブモジュールに転送される。Ｃｙｃｌｅ−９で新たに調停回路３００よりＭａｓｔｅｒ−３に対してバス権が付与されると、スイッチ−３の経路情報ＦＩＦＯ４０１には経路Ａの情報、スイッチ−２の経路情報ＦＩＦＯ４０１には経路Ｂの情報が登録される。Ｃｙｃｌｅ−９でＭａｓｔｅｒ−１の最終転送が完了するとＣｙｃｌｅ−１０よりＭａｓｔｅｒ−４のバス転送、Ｃｙｃｌｅ−１２よりＭａｓｔｅｒ−３のバス転送がスレーブモジュール１０２に転送されるよう動作する。
【００５８】
以上の実施形態で示されるように、複数のバススイッチ回路３０５を介してバスマスタモジュールからスレーブモジュールのパスを構成するバスシステムにて、簡易な選択論理で調停回路のバス権付与順にバス転送を発行可能である。特にスイッチの経路選択回路４００の入力数を絞ることにより、少ないビット数のＦＩＦＯでバス全体の経路選択を構成することが可能となり、小コストで所望のバス転送優先順位が制御可能なバスシステムの構築が可能となる。
【００５９】
また、本実施形態では明示していないが、調停回路３００は各バススイッチ回路３０５の経路情報ＦＩＦＯ４０１の状態を参照し、バス権付与を与えるタイミングを制御することも可能である。具体的には、経路情報ＦＩＦＯ４０１のＦＩＦＯエントリの空き具合を参照し、空きがない場合にはＦＩＦＯエントリの空きが生じるまでバス権付与を待たせることも可能である。
【００６０】
また、先に示した例は調停回路３００からの調停結果であるバス権付与情報をバススイッチ回路３０５に伝達する構成を示している。本実施形態ではバススイッチ回路３０５は経路情報ＦＩＦＯ４０１のエントリが無い場合は経路選択回路４００を介して下流にバス転送を発行しないよう制御する。したがって、バスマスタモジュール１０１はバス転送要求を発行後にバス転送信号１０３を介してバス転送を発行しても構わない構成となっている。対して、調停回路３００は調停結果であるバス権付与情報をバスマスタモジュール１０１に伝達しても構わない。バス権付与情報をバスマスタモジュールに伝達する構成を採用することにより、バスマスタモジュール１０１からのバス転送信号１０３の発行をバス権付与情報受領後に制御することが可能となる。これにより、経路選択回路４００は経路情報ＦＩＦＯ４０１のエントリが無い場合の制御が不要となる。
【００６１】
［実施形態の変形例］
第１、第２の実施形態は、バスマスタモジュールからバススレーブモジュールへの経路でアドレス情報とデータ情報を同一経路で伝達する構成を示しているが、アドレス情報とデータ情報を独立に転送する構成にも適用可能である。すなわち、アドレス情報バスとデータ情報バスが独立に構成される形式に適用可能である。本構成では、バスマスタモジュール１０１はバス転送要求信号１０４とともにバス転送方向情報を調停回路１００（又は３００）に通知する。調停回路１００（又は３００）は調停結果信号１０６とともに、当該転送のバス転送方向情報をバススイッチ回路１０５（又は３０５）に伝達される。バススイッチ回路はアドレス情報を伝達するバススイッチとデータ情報を伝達するバススイッチが独立して構成される。データ情報を伝達するバススイッチは、調停結果信号１０６とともに伝達されるバス転送方向情報を参照し、書き込み転送である場合のみバススイッチの経路情報に変換することにより実現される。
【００６２】
第１、第２の実施形態では調停回路１００（又は３００）が発行する調停結果信号１０６を、バスシステムを構成するすべてのバススイッチ回路１０５（又は３０５）に一斉に通知される構成例を示している。一方で、調停結果信号１０６は一部のバススイッチ回路１０５（又は３０５）にのみ通知される構成であっても構わない。例えば図５の構成を例にとると、Ｍａｓｔｅｒ−０から３に対するバスアクセス権の調停結果信号１０６の通知はスイッチ−０から３に対してのみ通知しても構わない。
【００６３】
第１、第２の実施形態では、バススイッチ回路１０５（又は、３０５）は入力バスが２つとする、スイッチ回路構成を例示しているが、入力バスは３つ以上の構成であっても構わない。その場合、バススイッチに対する切替選択信号２０４（又は、４０４）は２ビット以上の信号で表されることになる。
【符号の説明】
【００６４】
１００、３００…調停回路、１０１…バスマスタモジュール、１０２…スレーブモジュール、１０３…バス転送信号、１０４…バス転送要求信号、１０５、３０５…バススイッチ回路、１０６…調停結果信号、２００、４００…経路選択回路、２０１…経路ＭＵＸ制御部、２０２、４０２…経路エンコード回路、２０３、４０３…経路選択情報、２０４、４０４…切替選択信号、２０５、４０５…バス転送最終フラグ信号、２０６…バスマスタ経路ステータス情報、２０７、４０７…バスマスタ経路情報、４０１…経路情報ＦＩＦＯ
【図１】
2020046876.tif 000003
【図２】
2020046876.tif 000004
【図３】
2020046876.tif 000005
【図４】
2020046876.tif 000006
【図５】
2020046876.tif 000007
【図６】
2020046876.tif 000008
【図７】
2020046876.tif 000009
【図８】
2020046876.tif 000010