(57)【要約】【課題】マルチレイヤバスシステムにおいて、特定のバスマスタのリアルタイム処理を可能とする。【解決手段】複数のバスマスタ（１１，１２，１３）とバススレーブ（１６，１７）との間の接続制御を行う接続モジュール１５を備えたマルチレイヤバスシステム１０において、高度の優先処理を必要とする特定のバスマスタ２（１２）からバススレーブに対するアクセス要求信号（ＨＢＵＳＲＥＱ＿０２）に応答して、特定のバスマスタ２以外から前記バススレーブに対するアクセス要求を一時的に禁止する制御手段（１４ａ，１４ｂ）を、バスマスタと前記接続モジュールとの間に備えた。【選択図】図１
2006195746.tif 000002
【特許請求の範囲】
【請求項１】
複数のバスマスタとバススレーブとの間の接続制御を行う接続モジュールを備えたマルチレイヤバスシステムにおいて、
高度の優先処理を必要とする特定のバスマスタからバススレーブに対するアクセス要求信号に応答して、前記特定のバスマスタ以外から前記バススレーブに対するアクセス要求を一時的に禁止する制御手段を、バスマスタと前記接続モジュールとの間に備えたことを特徴とするマルチレイヤバスシステム。
【請求項２】
前記特定のバスマスタが複数存在する場合に、予め設定された優先順位に従って前記特定のバスマスタに対して優先的にアクセス権を付与する調停手段を更に備えたことを特徴とするマルチレイヤバスシステム。
【請求項３】
前記制御手段は、
前記特定のバスマスタからのアクセス要求信号に基づいてのマスク信号を出力する第一の制御手段と、
前記特定のバスマスタ以外のバスマスタからバススレーブに対する制御信号を前記マスク信号に基づいてマスクする第二の制御手段と、
前記スレーブからの応答信号を前記マスク信号に基づいてマスクする第三の制御手段と、
を備えていることを特徴とする請求項１又は２のいずれか一項に記載のマルチレイヤバスシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、半導体集積回路に於けるバス制御回路及びバス制御方法、特に、ＡＨＢバスを用いたマルチレイヤバスシステムに関する。
【背景技術】
【０００２】
【非特許文献１】ＡＲＭ：”Ｍｕｌｔｉ−ｌａｙｅｒ  ＡＨＢ  Ｏｖｅｒｖｉｅｗ”（ＤＶＩ００４５Ｂ，ＭＡｙ２００４）
【０００３】
この種の従来技術としては、上記非特許文献１に記載されたものがあり、複数のバスマスタが複数のバススレーブに対して同時にアクセスすることが可能であり、このような同時アクセスを可能とすることで、システムとしてのバス帯域を広げ、システム性能を向上させている。
【０００４】
従来のマルチレイヤバスシステムに於いては、複数のマスタ及びスレーブを接続する為の接続モジュールは、複数のバスマスタから同一バススレーブに対して同時にアクセス要求が発生した場合、ラウンドロビン方式（すなわち、アクセス要求を行った複数のマスタに対して処理要求を順番に割り振る方式）により、１トランザクション毎にレイヤ（バスマスタ）を切り換える処理を行っている。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のマルチレイヤバスシステムでは、従来のシングルレイヤバスシステムのように、あるバスマスタが動作中に他のバスマスタを停止させるというような調停は行わないため、複数のバスマスタが同時に動作する際に、特定のバスマスタのリアルタイム処理の確保（一定期間に特定のバスマスタが一定回数バススレーブにアクセスすること）が困難になるという問題が有った。
【０００６】
例えば、３レイヤ構成のマルチレイヤバスシステムに於いて、各レイヤのバスマスタが同時に同じバススレーブに対してアクセス要求を出した場合、前記接続モジュールはバススレーブの１トランザクション毎にレイヤ（バスマスタ）を切り換えるため（ラウンドロビン方式）、特定のバスマスタのリアルタイム処理の為に、優先してバススレーブにアクセスしようとしても、１トランザクションでレイヤが切り替わる為に、リアルタイム処理を必要とするバスマスタは、一定期間に必要なアクセスが出来ず、リアルタイム処理が困難になるという問題があった。このため、ソフト処理により他レイヤのバスマスタの動作を中断させる必要が有った。
【０００７】
高機能のマルチメディア向けシステムＬＳＩなどでは、リアルタイム処理を要求される処理（音声、画像処理）が多く、そのようなシステムＬＳＩにマルチレイヤバスシステムを適用する場合に、リアルタイム処理の確保が問題となっていた。
【０００８】
この発明は、マルチレイヤバスシステムにおいて、特定のバスマスタのリアルタイム処理を可能とすることを課題とする。
【課題を解決するための手段】
【０００９】
この発明は、前記課題を解決する為に、複数のバスマスタとバススレーブとの間の接続制御を行う接続モジュールを備えたマルチレイヤバスシステムにおいて、高度の優先処理（リアルタイム処理）を必要とする特定のバスマスタからバススレーブに対するアクセス要求信号に応答して、前記特定のバスマスタ以外から前記バススレーブに対するアクセス要求を一時的に禁止する制御手段を、バスマスタと前記接続モジュールとの間に備えている。
【００１０】
また、この発明においては、高度の優先処理を必要とする特定のバスマスタが複数存在する場合に、予め設定された優先順位に従って特定のバスマスタに対して優先的にアクセス権を付与する調停手段を更に備えている。
【発明の効果】
【００１１】
本発明によれば、以上のような構成を備えたことにより、複数のバスマスタとバススレーブ、及び接続モジュールから構成されたマルチレイヤバスシステムにおいて、リアルタイム処理等の高度の優先処理を要求するバスマスタからの要求を優先させる制御回路を、バスマスタと接続モジュールとの間に備えたので、特定のバスマスタに対するリアルタイム処理をサービスすることが可能となる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照して、本発明の実施の形態について説明する。尚、各図面は、この発明が理解できる程度に概略的に示しているにすぎない。
【００１３】
（１）第１の実施形態
図１は、この発明によるマルチレイヤバスシステムの第１の実施形態の構成を示すブロック図であり、このシステム１０は、Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｍａｔｒｉｘモジュール（接続モジュールを構成する）１５とバスマスタ１，３との間にバス制御回路１４ａ，１４ｂを備えている。バス制御回路１４ａ，１４ｂの入力端子には、リアルタイム処理を必要とするバスマスタ２（１２）からのバス要求信号（ＨＢＵＳＲＥＱ＿０２）が入力されている。
【００１４】
図２は、バス制御回路１４ａ，１４ｂの構成を示すブロック図であり、この制御回路は、第１の制御回路１４１と、第２の制御回路１４２と、第３の制御回路１４３を備えている。
【００１５】
第１の制御回路１４１は、セレクタ（１４１ａ，１４１ｂ）及びフリップフロップ（１４１ｃ、１４１ｄ）を備えており、接続モジュール１５からバス制御回路に対して出力される転送完了信号であるＨＲＥＡＤＹ＿Ｓ信号と、優先順位の高いバスマスタ（この実施形態ではバスマスタ２）からのバス要求信号（ＨＢＵＳＲＥＱ＿０２）を入力して、クロック信号（ＨＣＬＫ）に同期したマスク信号（ｍａｓｋ＿ａ，ｍａｓｋ＿ｄ）を生成する。
【００１６】
第２の制御回路１４２は、セレクタ（１４２ａ，１４２ｂ，１４２ｃ）、フリップフロップ１４２ｄ、及び反転入力端子を有する論理積回路１４２ｅとを備え、バスマスタからの制御入力信号（ＨＡＤＤＲ，ＨＴＲＡＮＳ等の信号であり、一括してＭＡＳＴＥＲ  ＣＴＬ＿Ｉｎと表す）、第３の制御回路１４３により生成されるバスマスタへのＲＥＡＤＹ信号であるＨＲＥＡＤＹ＿Ｍ信号、及び前記マスク信号（ｍａｓｋ＿ａ，ｍａｓｋ＿ｂ）を入力して、接続モジュール１５に対する出力信号（ＭＡＳＴＥＲ  ＣＴＬ＿Ｏｕｔ）を生成する。
【００１７】
第３の制御回路１４３は、セレクタ１４３ａを備え、接続モジュール１５からの応答入力信号（ＨＲＥＡＤＹ＿Ｓ、ＨＲＤＡＴＡ等のスレーブからの信号のことで、一括してＳＬＡＶＥ  ＲＥＳ＿Ｉｎと表す）と前記マスク信号ｍａｓｋ＿ｄを入力して、ＨＲＥＡＤＹ＿Ｍ信号などのスレーブに対する応答出力信号（ＳＬＡＶＥ  ＲＥＳ＿Ｏｕｔ）を生成する。
【００１８】
第１実施形態においては、バスマスタ２がリアルタイム処理を要求しているバスマスタであり、図４に示すように、前記ｍａｓｋ＿ａ信号は、ＨＢＵＳＲＥＱ＿０２信号をＨＲＥＡＤＹ＿Ｓ信号で同期化した信号であり、ＡＨＢのアドレスフェーズが開始されるタイミングで変化する信号である。また、前記ｍａｓｋ＿ｄ信号は、ｍａｓｋ＿ａ信号を再度ＨＲＥＡＤＹ＿Ｓ信号で同期化した信号であり、ｍａｓｋ＿ａ信号が変化したトランザクションのデータフェーズで変化する信号である。
【００１９】
以下、第１実施形態に於けるマルチレイヤバスシステムの動作説明を行う。先ず、バスマスタ２がバス権を要求し、バス要求信号（ＨＢＵＳＲＥＱ＿０２）が発行されると、この信号はバス制御回路１４ａ，１４ｂに入力される。この後、バスマスタ２以外のバスマスタ（レイヤ）のバススレーブに対するアクセスは以下の様なステップでマスクされる。
【００２０】
（Ａ１）バスマスタ２からのバス要求信号（ＨＢＵＳＲＥＱ＿０２）がアサートされると、図２のｍａｓｋ＿ａ信号が有効となり、接続モジュール１５に対するバス制御回路からの出力信号（ＭＡＳＴＥＲ  ＣＴＬ＿Ｏｕｔ）は”０”にマスクされる。ＡＨＢプロトコルにおいては、ＨＴＲＡＮＳ信号がレベル”０”の状態になると、バススレーブに対するＩＤＬＥアクセス状態を示すので、バススレーブに対するアクセスは発生しない。
【００２１】
（Ａ２）バスマスタ１（又はバスマスタ３）へのスレーブ応答信号（ＳＬＡＶＥ  ＲＥＳ＿Ｏｕｔ）は、ｍａｓｋ＿ｄ信号がアサートされる（レベル”１”となる）と”０”にマスクされる。接続モジュール１５へのマスタ制御信号出力（ＭＡＳＴＥＲ  ＣＴＬ＿Ｏｕｔ）がｍａｓｋ＿ａ信号により”０”にマスクされる直前のアクセスサイクル（図４のＨＡＤＤＲ＝Ａｄｄｒ．Ｂのサイクル）では、ｍａｓｋ＿ｄ信号は”０”であるため、ＨＡＤＤＲ＝Ａｄｄｒ．Ｂに対するスレーブ応答信号（ＳＬＡＶＥ  ＲＥＳ＿Ｏｕｔ）は、マスタ接続ポート（１５ａ，１５Ｃ）からのスレーブ応答信号（ＳＬＡＶＥ  ＲＥＳ＿Ｉｎ）がそのままバスマスタ１（又はバスマスタ３）に入力される。
【００２２】
（Ａ３）次のサイクル（ｔ１１）からマスク信号（ｍａｓｋ＿ｄ）が”１”となり、バスマスタ１（又はバスマスタ３）へのスレーブ応答信号（ＳＬＡＶＥ  ＲＥＳ＿Ｉｎ）信号は”０”にマスクされ、第３の制御回路１４３から”０”にマスクされたスレーブ応答信号（ＳＬＡＶＥ  ＲＥＳ＿Ｏｕｔ）がバスマスタ１又はバスマスタ３に出力され、バスマスタ１又はバスマスタ３からスレーブに対するアクセス要求が禁止される様態になる。
【００２３】
バスマスタ２からのバス要求信号（ＨＢＵＳＲＥＱ＿０２）がネゲートされ、バスマスタ１，３のアクセス禁止状態を解除する場合の動作は、以下の用になる。
【００２４】
（Ｂ１）バスマスタ２からのバス要求信号（ＨＢＵＳＲＥＱ＿０２）がネゲートされ、マスク信号（ｍａｓｋ＿ａ）が”０”となると、次のＨＲＥＡＤＹ＿Ｓ信号を受信するまでｍａｓｋ＿ｄ信号はレベル”１”のままで変化しないため、図２に於ける第２の制御回路１４２のセレクタ１４２ｂにより、フリップフロップ１４２ｄに保持されたマスタ制御信号（ＭＡＳＴＥＲ  ＣＴＬ＿Ｉｎ）値（図４に於けるＨＡＤＤＲ＝Ａｄｄｒ．Ｃ）が選択され、ＭＡＳＴＥＲ  ＣＴＬ＿Ｏｕｔ信号（ＨＡＤＤＲ）として出力される。
【００２５】
（Ｂ２）上記ＨＡＤＤＲ＝Ａｄｄｒ．Ｃが接続モジュール１５に対して発行される（すなわち、ＨＲＥＡＤＹ＿Ｓ＝１となる）と、ｍａｓｋ＿ｄも”０”となり、図２の第２の制御回路１４２から出力信号（ＭＡＳＴＥＲ  ＣＴＬ＿Ｏｕｔ）信号としては、バスマスタ１，３からの出力信号（ＨＡＤＤＲ，ＨＴＲＡＮＳ）信号がそのまま接続モジュール１５に出力される。この時、バスマスタへのスレーブ応答信号（ＳＬＡＶＥ  ＲＥＳ＿Ｉｎ）もｍａｓｋ＿ｄ＝”０”となることで、マスク状態から解除され、この信号がそのまま出力信号（ＳＬＡＶＥ  ＲＥＳ＿Ｏｕｔ）として第３の制御回路１４３から出力される。
【００２６】
このように、バス制御回路１４ａ，１４ｂにより、バスマスタ２がバス権を要求している間は、バスマスタ１，３のアクセスは禁止（マスク）され、バスマスタ２のみが動作可能となり、バス権要求が解除されると、バスマスタ１，３の動作が再開される。
【００２７】
尚、バスマスタ２からのリアルタイム処理要求信号が存在しない場合は、図３に示すように、各マスタ１，３は接続モジュールの制御のもと平等にスレーブに対するアクセスすることが可能である。
【００２８】
以上説明したように、第１の実施形態の制御回路に於いては、次のような効果が得られる。
（ａ）特定のレイヤのバスマスタがアクセスする際に、他のレイヤのバスマスタのアクセスをマスクすることが可能となり、特定のバスマスタのリアルタイム処理を行うことが可能となる。
（ｂ）他のバスマスタの動作をマスクする処理はハードウェアにより行うようにしているので、ソフトウェアの負荷が軽減される。
（ｃ）ソフトウェアにより、バスマスタのアクセスを禁止／再開する手順が不要となる為、リアルタイム処理を行うバスマスタのアクセス終了後、他のバスマスタの動作再開までの期間を短縮することが可能となる。
【００２９】
（２）第２の実施形態
図５は、この発明によるマルチレイヤバスシステムの第２の実施形態の構成を示すブロック図であり、Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｍａｔｒｉｘモジュール（接続モジュール）５７とバスマスタ１〜４との間に、各々バス制御回路５５ａ−５５ｄが備えられている。
【００３０】
バスマスタ４からのリアルタイム処理を必要とするバス要求信号（ＨＢＵＳＲＥＱ＿０４）は、バスマスタ３に接続されている制御回路５５ｃの入力端子、セレクタ５６ａの選択信号入力端子、及び２入力論理和ゲート回路５６ｂの一方の入力端子に接続されている。バスマスタ３からのリアルタイム処理を必要とするバス要求信号（ＨＢＵＳＲＥＱ＿０３）は、前記２入力論理和ゲート回路５６ｂの他方の入力端子に接続されると共に、前記セレクタ５６の前記選択信号入力が無効レベルの時に選択される端子に接続されている。また、前記２入力論理和ゲート回路５６ｂの出力信号は、バスマスタ１，２の制御回路５５ａ，５５ｂの入力端子に接続され、前記セレクタ５６の出力信号はバスマスタ４と接続モジュール５７の間に介在する制御回路５５ｄの入力端子に接続されている。
【００３１】
以下、第２の実施形態に於けるマルチレイヤバスシステムの動作を説明する。この実施形態では、バスマスタ３，４がリアルタイム処理を必要とするバスマスタであるとする。
（Ｃ１）バスマスタ３，４が共にバス権要求を出力していない場合
この場合は、通常の動作が行われ、いずれのバスマスタも平等にバススレーブに対してアクセスを行うことができる。
【００３２】
（Ｃ２）バスマスタ４のみがリアルタイム処理の為のバス権を要求した場合
図５のセレクタ５６ａからは選択信号”１”に対応して、値”０”が制御回路５５ｄに出力されるため、バスマスタ４は通常と同様にバスマスタに対するアクセスが可能となる。一方、バスマスタ４からのバス要求信号（ＨＢＵＳＲＥＱ＿０４）が”１”となることにより、バスマスタ１〜３に対応する制御回路５５ａ〜５５ｃの入力端子には”１”が入力されるので、第１の実施形態と同様に、これらのバスマスタからバススレーブへのアクセス要求が一時マスクされることになる。
【００３３】
（Ｃ３）バスマスタ３のみがリアルタイム処理の為バス権を要求した場合
優先順位が上位のバスマスタ４からのバス要求信号（ＨＢＵＳＲＥＱ＿０４）は”０”であるため、バスマスタ３に関連する制御回路５５ｃの入力端子には”０”が入力され、一方、セレクタ５６ａの選択信号”０”に対応してバスマスタ３からのバス要求信号（ＨＢＵＳＲＥＱ＿０３＝”１”）がバスマスタ４に関連する制御回路５５ｄの入力端子に入力され、また、前記２入力論理和ゲート回路５６ｂの出力信号”１”がバスマスタ１，２に関連する制御回路５５ａ，５５ｂの入力端子に入力されるので、バスマスタ３からのバス要求信号（ＨＢＵＳＲＥＱ＿０３）が有効な間は、バスマスタ１，２，４からバススレーブに対するアクセスがマスクされることになる。
【００３４】
（Ｃ４）バスマスタ３，４からのリアルタイム処理の為のバス権を要求が同時に発生した場合
この場合は、セレクタ５６ａによりバスマスタ３からのバス要求信号（ＨＢＵＳＲＥＱ＿０３＝１）は制御回路５５ｄに入力されず、”０”が入力されるので、バスマスタ１〜３からバススレーブに対するアクセスは、マスクされ、優先順位が上位のバスマスタ４のみがアクセス可能となる。
【００３５】
以上説明したように、リアルタイム処理を必要とするバスマスタが複数存在する場合でも、バス権要求を調停するための調停手段（５６ａ，５６ｂ）を設けたことにより、予め設定された優先順位に従った順序でバススレーブに対するアクセス制御を行うことが可能となる。
【図面の簡単な説明】
【００３６】
【図１】第１の実施形態に於けるマルチレイヤバスシステムの構成を示すブロック図である。
【図２】制御回路の内部構成を示すブロック図である。
【図３】バスマスタ２からのリアルタイム処理要求信号が存在しない場合の動作を示すタイムチャートである。
【図４】バスマスタ２からのリアルタイム処理要求信号が存在する場合の動作を示すタイムチャートである。
【図５】第２の実施形態に於けるマルチレイヤバスシステムの構成を示すブロック図である。
【符号の説明】
【００３７】
１１，５１      バスマスタ１
１２，５２      バスマスタ２
１３，５３      バスマスタ３
５４        バスマスタ４
１４ａ，１４ｂ、５５ａ〜５５ｄ  制御回路
５６ａ      セレクタ
５６ｂ      ２入力論理和ゲート回路
１５，５７      Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｍａｔｒｉｘモジュール
１６，１７，５８，５９  バススレーブ
【図１】
2006195746.tif 000003
【図２】
2006195746.tif 000004
【図３】
2006195746.tif 000005
【図４】
2006195746.tif 000006
【図５】
2006195746.tif 000007