(57)【要約】【課題】回路規模を増大させることなく、マスタデバイスおよびスレーブデバイス間のデータアクセスを効率よく行う。【解決手段】高速動作バス６に接続されているマスタデバイス１から、バスブリッジ回路３を介して、低速動作バス７に接続されている複数のスレーブデバイス２へのデータアクセスを行う場合、マスタデバイス１側からのアクセス内容およびその時点の内部状態を基に、バスブリッジ回路３内の第１、第２ステートマシン４、５の状態が遷移する。この第１、第２のステートマシン４、５の状態を基に、バスブリッジ回路３は、低速で動作するスレーブデバイス側のアクセスが完了するのを待ってから、マスタデバイス１側からのアクセスが完了するようにウェイト制御を行う。【選択図】  図１
2005078146.tif 000002
【特許請求の範囲】
【請求項１】
第１のクロックに同期して動作するマスタデバイス側の第１のバスと、前記第１のクロックより低い周波数の第２のクロックに同期して動作するスレーブデバイス側の第２のバスとを接続するバスブリッジ回路であって、
前記マスタデバイスからのデータアクセス時、前記マスタデバイスのデータアクセス情報および前記データアクセス時点のバスアクセス状態を判別する状態判別手段と、
判別結果に基づいて前記マスタデバイスおよび前記スレーブデバイスのアクセスを制御するアクセス制御手段と、を備えるバスブリッジ回路。
【請求項２】
請求項１記載のバスブリッジ回路において、前記第１のクロックの周波数と前記第２のクロックの周波数との比が２：１である場合、前記第１のクロックのポジティブエッジと前記第２のクロックのポジティブエッジとが重なるクロック同相のタイミングであるか、前記第１のクロックのポジティブエッジと前記第２のクロックのネガティブエッジとが重なるクロック逆相のタイミングであるかを判別するクロック判別手段を備え、
前記アクセス制御手段は、前記クロック同相のタイミングである場合、前記マスタデバイスからのアクセス内容を前記スレーブデバイスに伝送し、前記クロック逆相のタイミングである場合、前記マスタデバイスからのアクセスを一時中断させるウェイト制御を行うバスブリッジ回路。
【請求項３】
請求項１記載のバスブリッジ回路において、前記状態判別手段は、前記第１のクロックの周波数と前記第２のクロックの周波数との比が２：１である場合、前記第１のクロックで動作し、前記マスタデバイスのアクセス状態を基に遷移する第１のステートマシンと、前記第１のステートマシンの遷移に同期し、前記第１のステートマシンの直前の状態を記憶する第２のステートマシンとを備え、
前記アクセス制御手段は、前記第１および第２のステートマシンの状態に基づいて前記スレーブデバイスへのアクセス制御および前記マスタデバイスへのウェイト制御を行うバスブリッジ回路。
【請求項４】
請求項１記載のバスブリッジ回路において、前記第１のクロックの周波数と前記第２のクロックの周波数との比がＮ：１である場合、前記第１のクロックのポジティブエッジと前記第２のクロックのポジティブエッジとが重なるクロック同相のタイミングを判別するクロック判別手段を備え、
前記アクセス制御手段は、前記クロック同相のタイミングである場合、前記マスタデバイスからのアクセス内容を前記スレーブデバイスに伝送し、前記クロック同相以外のタイミングである場合、前記マスタデバイスからのアクセスを一時中断させるウェイト制御を行うバスブリッジ回路。
【請求項５】
請求項１記載のバスブリッジ回路において、前記状態判別手段は、前記第１のクロックの周波数と前記第２のクロックの周波数との比がＮ：１である場合、前記第１のクロックで動作し、前記マスタデバイスのアクセス状態を基に遷移する第１のステートマシンと、前記第１のステートマシンの遷移に同期し、前記第１のステートマシンの直前の状態を記憶する第２のステートマシンと、前記第２のステートマシンと同様、第（Ｎ−１）のステートマシンの遷移に同期し、前記第（Ｎ−１）のステートマシンの直前の状態を記憶する第Ｎのステートマシンとを含むＮ個のステートマシンを備え、
前記アクセス制御手段は、前記第１〜第Ｎのステートマシンの状態に基づいて前記スレーブデバイスへのアクセス制御および前記マスタデバイスへのウェイト制御を行うバスブリッジ回路。
【請求項６】
請求項１記載のバスブリッジ回路において、前記状態判別手段は、前記マスタデバイスからのアクセスがライトアクセスであるかリードアクセスであるかを判別し、
前記アクセス制御手段は、前記リードアクセスである場合、前記スレーブデバイスのアクセスが終了し、前記スレーブデバイスからのリードデータが前記マスタデバイスに伝送されるまで前記ウェイト制御を行い、前記ライトアクセスである場合、スレーブデバイスがアクセス中であっても、前記マスタデバイスのアクセスを終了させる制御を行うバスブリッジ回路。
【請求項７】
請求項１から６のいずれか一項記載のバスブリッジ回路、マスタデバイス側に接続されるマスタデバイスおよびスレーブデバイス側に接続されるスレーブデバイスを搭載する半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異なる動作周波数のクロックに同期して動作するマスタデバイスおよびスレーブデバイス間のデータアクセスを制御するバスブリッジ回路に関する。
【背景技術】
【０００２】
近年、半導体集積回路では、その大規模化、高集積化により、設計・開発期間が増大傾向にある。半導体集積回路の設計・開発期間を短縮するため、機能モジュール毎に予め設計されたブロック（以下、ＩＰという）を用い、所望の半導体集積回路を実現するために必要とされる複数のＩＰを１つの半導体集積回路に集積する手法（ＩＰベース設計）が採用されている。ＩＰベース設計では、各ＩＰのホストＩ／Ｆが共通仕様で設計されている場合、比較的容易に大規模な半導体集積回路を実現できる。また、ホストＩ／Ｆでは、設計の容易性から、同期バス方式が頻繁に用いられる。
【０００３】
しかし、このように大規模な半導体集積回路を実現可能なＩＰでは、スキャンテスト等を容易に行えるように、全ての回路が単一のクロックで動作可能なように構成されている場合が多い。このため、例えば、高速動作が要求されるＣＰＵ等のマスタデバイスと、低速動作で十分なスレーブデバイスとを１つの半導体集積回路に集積した場合、同期バス方式では、スレーブデバイスのホストＩ／ＦをＣＰＵ側のホストＩ／Ｆと同じクロック動作周波数に設定する必要がある。したがって、半導体集積回路全体のパフォーマンスを向上させるためには、高い周波数を使用しなくてはならないが、この場合、低速で十分なスレーブデバイスを必要以上に高速で動作させるため、消費電力が増加してしまう。これに対し、従来では、マスタデバイス側のホストＩ／Ｆを高速に動作させ、スレーブ側のホストＩ／Ｆを低速に動作させる手段として、マスタデバイスおよびスレーブデバイス間にバスブリッジ回路を組み込んでいた。
【０００４】
図１０は従来のバスブリッジ回路を搭載したシステム構成を示す図である。図１０において、１は高速動作可能なマスタデバイス（例えば、ＣＰＵ）、２は低速動作可能な複数のスレーブデバイス、３はバスブリッジ回路、６は高速動作バス、７は低速動作バスである。バスブリッジ回路３は、２ポートＲＡＭ９を備える。２ポートＲＡＭ９は、ポートＡおよびポートＢの２つのポートを有し、それぞれ独立に動作可能である。
【０００５】
マスタデバイス１からの高速データアクセスは、バスブリッジ回路３内の２ポートＲＡＭ９のポートＡに対して行われる。スレーブデバイス２への低速データアクセスは、バスブリッジ回路３内の２ポートＲＡＭ９のポートＢから行われる。このように、マスタデバイス１およびスレーブデバイス２のアクセス情報を一旦、２ポートＲＡＭ９に蓄えることにより、動作速度の異なるマスタデバイス１およびスレーブデバイス２間のデータアクセス制御が行われていた（例えば、特許文献１参照）。
【特許文献１】特表２００１−５２１２４６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来のバスブリッジ回路では、マスタデバイス１側から高速アクセスで送られたデータを、スレーブデバイス２側に低速アクセスで漏れなく送るためには、マスタデバイス１側からのバスブリッジ回路３に対するアクセス頻度に見合った、十分な容量の２ポートＲＡＭ９を確保する必要があった。このため、一時的に大量のデータをスレーブデバイス２側に送信する場合、大容量の２ポートＲＡＭを使用しなければならず、半導体集積回路の規模の増大を招いていた。さらに、消費電力の増加およびコストの増加が避けられなかった。
【０００７】
本発明は、回路規模を増大させることなく、異なる動作周波数のクロックに同期して動作するマスタデバイスおよびスレーブデバイス間のデータアクセスを効率よく行うことができるバスブリッジ回路を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記に示した従来技術の課題を解決するために、本発明のバスブリッジ回路は、第１のクロックに同期して動作するマスタデバイス側の第１のバスと、前記第１のクロックより低い周波数の第２のクロックに同期して動作するスレーブデバイス側の第２のバスとを接続するバスブリッジ回路であって、前記マスタデバイスからのデータアクセス時、前記マスタデバイスのデータアクセス情報および前記データアクセス時点のバスアクセス状態を判別する状態判別手段と、判別結果に基づいて前記マスタデバイスおよび前記スレーブデバイスのアクセスを制御するアクセス制御手段とを備えることで、マスタデバイスからのデータアクセス時、マスタデバイスのデータアクセス情報およびデータアクセス時点のバスアクセス状態の判別結果に基づいてマスタデバイスおよびスレーブデバイスのアクセスを制御することが可能となるため、回路規模を増大させることなく、異なる動作周波数のクロックに同期して動作するマスタデバイスおよびスレーブデバイス間のデータアクセスを効率よく行うことができる。
【０００９】
また、本発明のバスブリッジ回路において、前記第１のクロックの周波数と前記第２のクロックの周波数との比が２：１である場合、前記第１のクロックのポジティブエッジと前記第２のクロックのポジティブエッジとが重なるクロック同相のタイミングであるか、前記第１のクロックのポジティブエッジと前記第２のクロックのネガティブエッジとが重なるクロック逆相のタイミングであるかを判別するクロック判別手段を備え、前記アクセス制御手段は、前記クロック同相のタイミングである場合、前記マスタデバイスからのアクセス内容を前記スレーブデバイスに伝送し、前記クロック逆相のタイミングである場合、前記マスタデバイスからのアクセスを一時中断させるウェイト制御を行う。
【００１０】
また、本発明のバスブリッジ回路において、前記状態判別手段は、前記第１のクロックの周波数と前記第２のクロックの周波数との比が２：１である場合、前記第１のクロックで動作し、前記マスタデバイスのアクセス状態を基に遷移する第１のステートマシンと、前記第１のステートマシンの遷移に同期し、前記第１のステートマシンの直前の状態を記憶する第２のステートマシンとを備え、前記アクセス制御手段は、前記第１および第２のステートマシンの状態に基づいて前記スレーブデバイスへのアクセス制御および前記マスタデバイスへのウェイト制御を行う。
【００１１】
また、本発明のバスブリッジ回路において、前記第１のクロックの周波数と前記第２のクロックの周波数との比がＮ：１である場合、前記第１のクロックのポジティブエッジと前記第２のクロックのポジティブエッジとが重なるクロック同相のタイミングを判別するクロック判別手段を備え、前記アクセス制御手段は、前記クロック同相のタイミングである場合、前記マスタデバイスからのアクセス内容を前記スレーブデバイスに伝送し、前記クロック同相以外のタイミングである場合、前記マスタデバイスからのアクセスを一時中断させるウェイト制御を行う。
【００１２】
また、本発明のバスブリッジ回路において、前記状態判別手段は、前記第１のクロックの周波数と前記第２のクロックの周波数との比がＮ：１である場合、前記第１のクロックで動作し、前記マスタデバイスのアクセス状態を基に遷移する第１のステートマシンと、前記第１のステートマシンの遷移に同期し、前記第１のステートマシンの直前の状態を記憶する第２のステートマシンと、前記第２のステートマシンと同様、第（Ｎ−１）のステートマシンの遷移に同期し、前記第（Ｎ−１）のステートマシンの直前の状態を記憶する第Ｎのステートマシンとを含むＮ個のステートマシンを備え、前記アクセス制御手段は、前記第１〜第Ｎのステートマシンの状態に基づいて前記スレーブデバイスへのアクセス制御および前記マスタデバイスへのウェイト制御を行う。
【００１３】
また、本発明のバスブリッジ回路において、前記状態判別手段は、前記マスタデバイスからのアクセスがライトアクセスであるかリードアクセスであるかを判別し、前記アクセス制御手段は、前記リードアクセスである場合、前記スレーブデバイスのアクセスが終了し、前記スレーブデバイスからのリードデータが前記マスタデバイスに伝送されるまで前記ウェイト制御を行い、前記ライトアクセスである場合、スレーブデバイスがアクセス中であっても、前記マスタデバイスのアクセスを終了させる制御を行う。
【００１４】
本発明の半導体集積回路は、上記のバスブリッジ回路、マスタデバイス側に接続されるマスタデバイスおよびスレーブデバイス側に接続されるスレーブデバイスを搭載する。
【発明の効果】
【００１５】
本発明によれば、マスタデバイスからのデータアクセス時、マスタデバイスのデータアクセス情報およびデータアクセス時点のバスアクセス状態の判別結果に基づいてマスタデバイスおよびスレーブデバイスのアクセスを制御することが可能となる。従って、回路規模を増大させることなく半導体集積回路の面積削減およびマスタデバイスおよびスレーブデバイス間のデータアクセスの効率化により消費電力を可能にする。
【発明を実施するための最良の形態】
【００１６】
（実施の形態１）
実施の形態１では、２つの異なる動作周波数のクロックに同期してデータの送受信を行うバスブリッジ回路において、高速動作バスのクロック周波数と低速動作バスのクロック周波数との比が２：１である場合を示す。
【００１７】
図１は実施の形態１におけるバスブリッジ回路を搭載したシステム構成を示す図である。図１において、１は高速動作可能なマスタデバイス（例えば、ＣＰＵ）１、２は低速動作可能な複数のスレーブデバイス、３はバスブリッジ回路、６は高速動作バス、７は低速動作バスである。バスブリッジ回路３は、マスタデバイス１のアクセス状態を基に遷移する第１のステートマシン４、および第１のステートマシン４の遷移に同期し、その直前の状態を記憶する第２のステートマシン５からなる２つのステートマシンを備える。
【００１８】
マスタデバイス１は、高速動作バス６に接続されている複数のスレーブデバイス１２、およびバスブリッジ回路３を介して低速動作バス７に接続されている複数のスレーブデバイス２に対してデータアクセスを行う。この場合、高速動作バス６上のマスタデバイス１とバスブリッジ回路３とは、マスタスレーブの関係にある。また、低速動作バス７上のブリッジ回路３とスレーブデバイス２とは、マスタスレーブの関係にある。そして、高速動作バス６および低速動作バス７を介して、独立にデータアクセス動作が行われる。
【００１９】
マスタデバイス１から低速動作バス７に接続されているスレーブデバイス２にデータアクセスが行われた場合、そのアクセス内容およびその時点の内部状態を基に、ステートマシンが遷移する。ステートマシンの状態に応じて、バスブリッジ回路３が動作し、高速動作バス６上のマスタデバイス１および低速動作バス７上のスレーブデバイス２間のデータアクセスを行う。
【００２０】
図３から図８はバスブリッジ回路の状態遷移およびデータアクセスタイミングを示すタイミングチャートである。高速動作バス６上の信号には、マスタデバイス１から出力されるクロック、アドレス、リードライト信号、リードイネーブル信号、ライトイネーブル信号、チップセレクト信号、ライトデータ、マスタデバイス１に入力されるリードデータ、およびウェイト制御信号が含まれる。
【００２１】
高速動作バス６のリードアクセスが開始すると、最初のサイクルでアドレスが確定し、リードライト信号がＨレベル、リードイネーブル信号がＨレベル、ライトイネーブル信号がＨレベル、チップセレクト信号がＬレベル、ウェイト制御信号がＨレベルになる。
【００２２】
次のサイクルで、リードイネーブル信号がＬレベルに変化し、この時点で、リードデータが確定している場合、ウェイト制御信号がＬレベルとなるが、スレーブデバイス側のデータ出力準備が間に合わない場合、データ出力準備が完了するまで、ウェイト信号はＨレベルを保持し続ける。この間、リードイネーブル信号はＬレベルを保持し続ける。
【００２３】
ウェイト制御信号がＬレベルに変化した時点で、マスタデバイス１はリードデータを取り込んでアクセスサイクルを終了する。そして、リードイネーブル信号がＨレベルに変化し、ウェイト制御信号もＨレベルに変化する。
【００２４】
高速動作バス６のライトアクセスが開始すると、最初のサイクルでアドレス、ライトデータが確定し、リードライト信号がＬレベル、リードイネーブル信号がＨレベル、ライトイネーブル信号がＨレベル、チップセレクト信号がＬレベル、ウェイト制御信号がＨレベルになる。
【００２５】
次のサイクルで、ライトイネーブル信号がＬレベルに変化し、この時点で、スレーブデバイス側がライトデータを取り込める準備ができている場合、ウェイト制御信号がＬレベルとなるが、スレーブデバイス側のデータ取り込み準備が間に合わない場合、データ取り込み準備が完了するまで、ウェイト信号がＨレベルを保持し続ける。この間、ライトイネーブル信号はＬレベルを保持し続ける。ウェイト制御信号がＬレベルに変化した時点で、ライトデータがスレーブデバイス側に取り込まれ、アクセスサイクルが終了する。そして、ライトイネーブル信号がＨレベルに変化するとともに、ウェイト制御信号もＨレベルに変化する。このように、高速動作バス６では、ウェイト制御信号によりアクセスサイクルが変化する。最短の場合で、アクセスサイクルは２クロックである。
【００２６】
低速動作バス７上の信号には、マスタデバイス側から出力されるクロック、アドレス、リードライト信号、リードイネーブル信号、ライトイネーブル信号、チップセレクト信号、ライトデータおよびマスタデバイス側に入力されるリードデータが含まれる。
【００２７】
低速動作バス７のリードアクセスが開始すると、最初のサイクルで、アドレスが確定し、リードライト信号がＨレベル、リードイネーブル信号がＨレベル、ライトイネーブルＨレベル、チップセレクト信号がＬレベルとなる。次のサイクルで、リードイネーブル信号がＬレベルに変化し、この時点で、リードデータを取り込んでアクセスサイクルが終了し、リードイネーブル信号がＨレベルに変化する。
【００２８】
低速動作バス７のライトアクセスが開始すると、最初のサイクルで、アドレス、ライトデータが確定し、リードライト信号がＬレベル、リードイネーブル信号がＨレベル、ライトイネーブル信号がＨレベル、チップセレクト信号がＬレベルとなる。次のサイクルで、ライトイネーブル信号がＬレベルに変化し、この時点で、ライトデータが取り込まれ、アクセスサイクルが終了するとともに、ライトイネーブル信号がＨレベルに変化する。このように、低速動作バス７では、必ずアクセスサイクルが２クロックとなる。
【００２９】
図２は第１のステートマシン４の状態遷移を示す図である。図中、ＩＤＬＥ、Ｒ０、Ｒ１、Ｒ２、Ｗ０、Ｗ１、Ｗ２、Ｗ２２は、それぞれステートマシンの状態を示す。ＩＤＬＥ状態は定常状態である。Ｒ０状態はリード準備段階である。Ｒ１状態はリード動作第１段階である。Ｒ２状態はリード動作第２段階である。Ｗ０状態はライト準備段階である。Ｗ１状態はライト動作第１段階である。Ｗ２状態はライト動作第２段階である。Ｗ２２状態は連続ライト動作第２段階である。
【００３０】
各ステートの遷移は、高速動作バスクロックのポジティブエッジを基準に動作している。ＩＤＬＥ状態→Ｒ０／Ｗ０状態への遷移は、それぞれマスタデバイス１からのリード／ライトアクセスが開始されたタイミングで行われる。また、Ｒ０状態→Ｒ１状態またはＷ０状態→Ｗ１状態への遷移は、１クロック後に無条件で行われる。その他の状態遷移は、高速動作バスクロックと低速動作バスクロックが同相となるタイミングで行われる。
【００３１】
尚、Ｗ１状態からの遷移は、Ｗ１状態の時にマスタデバイス１から連続してライト動作が行われている場合、Ｗ２２状態に遷移し、マスタデバイス１から連続してライト動作が行われていない場合、Ｗ２状態に遷移する。また、Ｗ２状態の時、マスタデバイス１がリード動作を開始している場合、Ｗ２状態からＲ１状態に遷移し、リード動作が行われていない場合、Ｗ２状態からＩＤＬＥ状態に遷移する。尚、第２のステートマシン５の状態は、高速動作バスクロックを基準として動作し、直前の第１のステートマシン４の状態に遷移する。
【００３２】
図３は連続リードアクセス動作において高速動作バスクロックおよび低速動作バスクロックが同相のタイミングである場合の各信号の変化を示すタイミングチャートである。連続リードアクセスを行う場合、高速バスクロックと低速バスクロックが同相のタイミングで、マスタデバイス１からのアクセススタートタイミングによる、高速動作バス６のアクセスが開始すると、まず、アドレスが確定する。そして、チップセレクト信号がＬレベル、リードライト信号がＨレベルとなる。
【００３３】
バスブリッジ回路３は、チップセレクト信号およびリードライト信号により、リードアクセスサイクルが開始したことを判断し、次の高速動作クロックのタイミングで、第１のステートマシン４の状態をＩＤＬＥ状態からＲ０状態に遷移させる。
【００３４】
次の高速動作クロックサイクルで、第１のステートマシン４の状態がＲ０状態→Ｒ１状態に変化すると、第２のステートマシン５の状態が直前の第１のステートマシン４の状態であるＲ０状態に変化する。
【００３５】
第１のステートマシン４がＲ１状態→Ｒ２状態に遷移するタイミングは、高速動作クロックと低速動作クロックのポジティブエッジが重なる時であるので、図３の場合、Ｒ１状態に遷移してから高速動作クロックの２クロック後となる。同様に、Ｒ２状態→ＩＤＬＥ状態に遷移するタイミングは、Ｒ２状態に遷移してから高速動作クロックの２クロック後となる。この間、第２のステートマシン５の状態は、高速動作クロック基準で、直前の第１のステートマシン４の状態に順次遷移する。
【００３６】
バスブリッジ回路３は、第１のステートマシン４および第２のステートマシン５の状態に応じた制御を行う。低速動作バス７上のスレーブデバイス２へのアクセスでは、第１のステートマシン４がＩＤＬＥ状態からＲ０状態に遷移した後、低速動作バスクロックのポジティブエッジに同期してリードアクセスを実行し、第１のステートマシン４の状態がＲ２状態→ＩＤＬＥ状態に変化する時点で、リードアクセスを終了する。
【００３７】
高速動作バス６上のマスタデバイス１は、低速動作バス７上のスレーブデバイス２へのリードアクセスが完了するまで、動作を保持しておくためにウェイト制御信号をＨレベルに保持し続け、第１のステートマシン４および第２のステートマシン５が共にＲ２状態になった時点で、ウェイト制御信号をＬレベルに変化させ、このサイクルでアクセスを終了させる。
【００３８】
マスタデバイス１から連続してリードアクセスが発生した場合、第１のステートマシン４は、ＩＤＬＥ→Ｒ０（１サイクル）→Ｒ１（２サイクル）→Ｒ２（２サイクル）→ＩＤＬＥと状態遷移を繰り返し、同様の動作を行う。
【００３９】
図４は連続リードアクセス動作において高速動作バスクロックおよび低速動作バスクロックが逆相のタイミングである場合の各信号の変化を示すタイミングチャートである。連続リードアクセス動作を行う場合、高速バスクロックと低速バスクロックが逆相のタイミングで、マスタデバイス１からのアクセススタートタイミングによる、高速動作バス６のアクセスが開始すると、まず、アドレスが確定し、チップセレクト信号がＬレベル、リードライト信号がＨレベルとなる。
【００４０】
バスブリッジ回路３は、チップセレクト信号およびリードライト信号により、リードのアクセスサイクルが開始したことを判断し、次の高速動作クロックのタイミングで、第１のステートマシン４の状態をＩＤＬＥ状態からＲ０状態に遷移させる。次の高速動作クロックサイクルで、第１のステートマシン４の状態がＲ０状態→Ｒ１状態に変化し、第２のステートマシン５の状態が直前の第１のステートマシン４の状態であるＲ０状態に変化する。
【００４１】
第１のステートマシン４がＲ１状態→Ｒ２状態に遷移するタイミングは、クロック同相時であるので、図４の場合、Ｒ１状態に遷移してから高速動作クロックの１クロック後となる。また、Ｒ２状態→ＩＤＬＥ状態に遷移するタイミングは、Ｒ２状態に遷移してから高速動作クロックの２クロック後となる。この間、第２のステートマシン５の状態は、高速動作クロック基準で、直前の第１のステートマシン４の状態に順次遷移する。
【００４２】
バスブリッジ回路３は、第１のステートマシン４および第２のステートマシン５の状態に応じた制御を行う。低速動作バス７上のスレーブデバイス２へのアクセスでは、第１のステートマシン４がＲ０状態に遷移した後の低速動作バスクロックのポジティブエッジ、すなわちＲ０状態になった時点に同期してリードアクセスを実行し、第１のステートマシン４の状態がＲ２状態→ＩＤＬＥ状態に変化する時点で、リードアクセスを終了する。
【００４３】
高速動作バス６上のマスタデバイス１は、低速動作バス７上のスレーブデバイス２へのリードアクセスが完了するまで動作を保持しておくために、ウェイト制御信号をＨレベルに保持し続け、第１のステートマシン４および第２のステートマシン５が共にＲ２状態になった時点で、ウェイト制御信号Ｌレベルに変化させ、このサイクルでアクセスを終了させる。
【００４４】
さらに、マスタデバイス１から連続してリードアクセスが発生した場合、アクセススタートタイミングにおける高速動作クロックおよび低速動作クロックは同相であるので、図３と同様、第１のステートマシン４は、ＩＤＬＥ→Ｒ０（１サイクル）→Ｒ１（２サイクル）→Ｒ２（２サイクル）→ＩＤＬＥと状態遷移を繰り返し、前述した動作を行う。
【００４５】
図５は連続ライトアクセス動作において高速動作バスクロックおよび低速動作バスクロックが同相のタイミングである場合の各信号の変化を示すタイミングチャートである。連続ライトアクセス動作を行う場合、高速バスクロックと低速バスクロックが同相のタイミングで、マスタデバイス１からのアクセススタートタイミングによる、高速動作バス６のアクセスが開始すると、まずアドレス、ライトデータが確定し、チップセレクト信号がＬレベル、リードライト信号がＬレベルとなる。
【００４６】
バスブリッジ回路３は、チップセレクト信号およびリードライト信号により、ライトアクセスサイクルが開始されたことを判断し、次の高速動作クロックのタイミングで、第１のステートマシン４の状態をＷ０状態に変化させる。
【００４７】
ライト動作の場合、低速動作バス側のデータライト動作が完了しなくても、マスタデバイス１からのライトデータを一旦バスブリッジ回路３が受け取ることで、ライトアクセスサイクルを終了できる。したがって、第１のステートマシン４の状態がＷ０状態の時、ウェイト制御信号をＬレベルに変化させ、マスタデバイス１からのアクセスを終了させる。
【００４８】
その後、次の高速動作クロックサイクルで、第１のステートマシン４の状態がＷ０状態→Ｗ１状態に変化し、第２のステートマシン５の状態が直前の第１のスートマシン４の状態であるＷ０状態に変化する。この時点で、マスタデバイス１は、次のアクセスサイクルに移行できる。ここで、図５の場合、連続ライト動作を実行するので、このタイミングで、次のライト動作用のアドレス、ライトデータが確定し、チップセレクト信号がＬレベル、リードライト信号がＬレベルとなる。
【００４９】
第１のステートマシン４がＷ１状態から次の状態に移行するのは、高速動作クロックと低速動作クロックが同相のタイミングとなる、高速動作クロックの２クロック後であり、この時点では、既にマスタデバイス１が次のデータライトの実行を開始しているので、第１のステートマシン４の状態はＷ２２状態に遷移する。
【００５０】
その後、高速動作クロックと低速動作クロックが同相のタイミングでＷ１状態に遷移する。この間、第２のステートマシン５の状態は、高速動作クロック基準で、直前の第１のステートマシン４の状態に順次遷移する。低速動作バス７上のスレーブデバイス２へのライトアクセスは、第１のステートマシン４がＷ０状態もしくはＷ１状態に遷移した後の低速動作バスクロックのポジティブエッジに同期して実行し、第１のステートマシン４の状態がＷ２２状態もしくはＷ２状態から次の状態に遷移する時、アクセスが終了する。したがって、第１のステートマシン４がＷ２２状態→Ｗ１状態に遷移する時点で、低速動作バス７上のスレーブデバイス２へのアクセスは終了し、Ｗ１状態に遷移した時点から、低速動作バス７上のスレーブデバイス２に対し、２つ目のライトデータの動作を開始する。
【００５１】
また、マスタデバイス１へのウェイト制御信号は、第１のステートマシン４と第２のステートマシン５の状態が共にＷ２２状態になった時点（すなわち、スレーブデバイス２のアクセスが終了するタイミング）でＬレベルとなり、マスタデバイス１にアクセスの終了を通知する。このように、連続ライトアクセスを実行した場合、バスブリッジ回路３は常にマスタデバイス１のアクセスを１アクセス分保持しており、マスタデバイス１のアクセスが終了しても、低速動作バス７側で１回分のライトアクセスが実行される。
【００５２】
第１のステートマシン４の状態がＷ１状態の時、マスタデバイス１側で次のライト動作が実行されていない場合、次のクロック同相のタイミングでＷ２状態に遷移し、さらに次のクロック同相のタイミングでＩＤＬＥ状態に遷移することで、スレーブデバイス２側へのデータアクセスが終了する。
【００５３】
図６は連続ライトアクセス動作において高速動作バスクロックおよび低速動作バスクロックが逆相のタイミングである場合の各信号の変化を示すタイミングチャートである。連続ライトアクセス動作を行う場合、高速バスクロックと低速バスクロックが逆相のタイミングで、マスタデバイス１からのアクセススタートタイミングによる、高速動作バス６のアクセスが開始すると、まずアドレス、ライトデータが確定し、チップセレクト信号がＬレベル、リードライト信号がＬレベルとなる。
【００５４】
バスブリッジ回路３は、チップセレクト信号およびリードライト信号により、ライトアクセスサイクルが開始されたことを判断し、次の高速動作クロックのタイミングで、第１のステートマシンの状態をＷ０状態に変化させる。
【００５５】
ライト動作の場合、低速動作バス７のデータライト動作が完了しなくても、マスタデバイス１からのライトデータを一旦バスブリッジ回路３が受け取ることで、ライトアクセスサイクルを終了できる。したがって、第１のステートマシン４の状態がＷ０状態の時、ウェイト制御信号をＬレベルに変化させ、マスタデバイス１からのアクセスを終了させる。
【００５６】
その後、次の高速動作クロックサイクルで、第１のステートマシン４の状態がＷ０状態→Ｗ１状態に変化し、第２のステートマシン５の状態が直前の第１のステートマシン４の状態であるＷ０状態に変化する。この時点で、マスタデバイス１は次のアクセスサイクルに移行し、図５と同様、連続ライト動作が実行される。
【００５７】
第１のステートマシン４は、Ｗ１状態から次の状態に移行するのは、高速動作クロックと低速動作クロックが同相となるタイミングであるので、高速動作クロックの１クロック後となる。この時点では、既にマスタデバイス１が次のデータライトの実行を開始しており、第１のステートマシン４はＷ２２状態に遷移する。
【００５８】
その後、高速動作クロックと低速動作クロックが同相のタイミングで、マスタデバイス１はＷ１状態に遷移する。この間、第２のステートマシン５の状態は、高速動作クロック基準で、直前の第１のステートマシン４の状態に順次遷移する。低速動作バス６上のスレーブデバイス２へのライトアクセスは、第１のステートマシン４がＷ０状態もしくはＷ１状態に遷移した後の低速動作バスクロックのポジティブエッジに同期して実行され、第１のステートマシン４の状態がＷ２２状態もしくはＷ２状態から次の状態に遷移する時、終了する。
【００５９】
したがって、第１のステートマシン４がＷ２２状態→Ｗ１状態に遷移する時点で、低速動作バス７上のスレーブデバイス２へのアクセスは終了し、Ｗ１状態に遷移した時点から、低速動作バス７上のスレーブデバイス２に対し、２つ目のライトデータの動作を開始する。これ以降の連続ライト動作は、図５の場合と同じになる。
【００６０】
図７は連続ライト・リードアクセス動作において高速動作バスクロックおよび低速動作バスクロックが同相のタイミングである場合の各信号の変化を示すタイミングチャートである。連続ライト・リードアクセス動作（ライト→リード→ライト→リードの連続アクセス動作）を行う場合、高速バスクロックと低速バスクロックが同相のタイミングで、マスタデバイス１からのアクセススタートタイミングによる、高速動作バス６のアクセスが開始すると、バスブリッジ回路３は、アクセスサイクルが開始したことを判断し、次の高速動作クロックのタイミングで、第１のステートマシン４の状態をＷ０状態に変化させると、ウェイト制御信号がＬレベルとなり、マスタデバイス１からのアクセスを終了させる。
【００６１】
その後、次の高速動作クロックサイクルで、第１のステートマシン４の状態がＷ０状態→Ｗ１状態に変化し、第２のステートマシン５の状態が直前の第１のステートマシン４の状態であるＷ０状態に変化する。この時点で、マスタデバイス１は次のアクセスサイクルに移行する。図７の場合、リードアクセスが開始し、このタイミングで、次のリード用のアドレスが確定し、チップセレクト信号がＬレベルとなり、リードライト信号がＨレベルとなる。
【００６２】
第１のステートマシン４がＷ１状態から次の状態に移行するのは、高速動作クロックと低速動作クロックが同相のタイミングとなる、高速動作クロックの２クロック後である。この時点では、既にマスタデバイス１が次のデータリードの実行を開始しているが、連続ライト動作ではないので、Ｗ２状態に遷移する。その後のクロック同相のタイミングで、第１のステートマシン４は、マスタデバイス１からの次のアクセスがリードアクセスであることを認識してＲ１状態に遷移し、次のクロック同期タイミング毎に、Ｒ１状態→Ｒ２状態→ＩＤＬＥ状態と順次遷移する。
【００６３】
この間、第２のステートマシン５は、高速動作クロック基準で、直前の第１のステートマシン４の状態に順次遷移する。そして、低速動作バスクロックに同期し、第１のステートマシン４のＷ０状態〜Ｗ２状態の遷移期間中、スレーブデバイス２へのライトアクセスを実行し、Ｒ１状態〜Ｒ２状態の遷移期間中、スレーブデバイス２へのリードアクセスを実行する。
【００６４】
アクセス状態を保持するために、リードアクセスが完了するまで、マスタデバイス１へのウェイト制御信号をＨレベルに保持し続ける。バスブリッジ回路３は、第１のステートマシン４および第２のステートマシン５が共にＲ２状態である時、ウェイト制御信号をＬレベルで出力し、マスタデバイス１にアクセスサイクルの終了を通知する。
【００６５】
リード動作からライト動作に連続して移行する場合、第１のステートマシン４が一旦ＩＤＬＥ状態に遷移するので、ＩＤＬＥ状態からのスタートとなり、前述したライト動作のスタート時点から同じ動作を繰り返す。
【００６６】
図８は連続ライト・リードアクセス動作において高速動作バスクロックおよび低速動作バスクロックが逆相のタイミングである場合の各信号の変化を示すタイミングチャートである。高速バスクロックと低速バスクロックが逆相のタイミングで、マスタデバイス１からのアクセススタートタイミングによる、ライトアクセスが開始する場合、ライト動作開始時点における動作は、前述した図６と同様の動作となり、それ以降、ライト動作からリード動作に連続する動作は、前述した図７と同様の動作となる。
【００６７】
実施の形態１におけるバスブリッジ回路によれば、第１のステートマシン４および第２のステートマシン５の状態に応じて、マスタデバイス側の高速動作バス６上の各信号、およびスレーブデバイス側の低速動作バス７上の各信号を制御することで、クロック動作周波数が異なるマスタデバイス１およびスレーブデバイス２間でデータアクセスを効率良く行うことができる。これにより、大容量のＲＡＭを使用しなくても済み、回路規模の増大を抑えることができる。さらに、回路規模が増大することによる消費電力の増加およびコストの増加を抑えることができる。
【００６８】
（実施の形態２）
実施の形態２では、２つの異なる動作周波数のクロックに同期してデータの送受信を行うバスブリッジ回路において、高速動作バスのクロック周波数と低速動作バスのクロック周波数との比がＮ：１である場合を示す。ここで、Ｎは値３以上の整数である。
【００６９】
図９は実施の形態２におけるバスブリッジ回路を搭載したシステム構成を示す図である。なお、実施の形態１と同一の構成要素については、同一の符号を付して説明する。
【００７０】
実施の形態２のバスブリッジ回路３内には、第１のステートマシン４から第Ｎのステートマシン８までのＮ個のステートマシンが存在する。第１のステートマシン４は、実施の形態１と同様の状態遷移を行う。但し、ＩＤＬＥ状態→Ｒ０／Ｗ０状態の遷移は、それぞれマスタデバイス１からリード／ライトアクセスが開始したタイミングで起こり、Ｒ０状態→Ｒ１またはＷ０状態→Ｗ１状態の遷移は、無条件に高速動作クロックの１クロック後に起こり、その他の状態遷移は、高速動作バスクロックと低速動作バスクロックが同相となるタイミングでのみ起こる。
【００７１】
第２のステートマシン５は、高速動作クロック基準で動作し、直前の第１のステートマシン４の状態に遷移し、同様に第Ｎのステートマシン８は、直前の第（Ｎ−１）のステートマシンの状態に遷移する。
【００７２】
マスタデバイス１からのライト／リードアクセスによる、低速動作バス７へのアクセスは、ＩＤＬＥ状態→Ｗ０／Ｒ０状態、Ｗ２２状態→Ｗ１もしくはＷ２状態→Ｒ１状態に遷移した後、高速動作クロックと低速動作クロックのポジティブエッジが重なった時点から開始し、Ｗ２、Ｗ２２、Ｒ２のいずれかの状態から次の状態に遷移するタイミングで行われる。一方、マスタデバイス１へのウェイト制御信号は、第１のステートマシン４〜第Ｎのステートマシン８が共にＷ２２状態、Ｒ２状態、もしくは第１のステートマシン４がＷ０状態の時にＬレベルに変化し、その他のタイミングでは、ウェイト制御信号をＨレベルに保持し続ける。こうして、高速動作バス６上のマスタデバイス１から低速動作バス７上のスレーブデバイス２へのアクセスが行われる。
【図面の簡単な説明】
【００７３】
【図１】実施の形態１におけるバスブリッジ回路を搭載したシステム構成を示す図
【図２】第１のステートマシン４の状態遷移を示す図である。
【図３】連続リードアクセス動作において高速動作バスクロックおよび低速動作バスクロックが同相のタイミングである場合の各信号の変化を示すタイミングチャート
【図４】連続リードアクセス動作において高速動作バスクロックおよび低速動作バスクロックが逆相のタイミングである場合の各信号の変化を示すタイミングチャート
【図５】連続ライトアクセス動作において高速動作バスクロックおよび低速動作バスクロックが同相のタイミングである場合の各信号の変化を示すタイミングチャート
【図６】連続ライトアクセス動作において高速動作バスクロックおよび低速動作バスクロックが逆相のタイミングである場合の各信号の変化を示すタイミングチャート
【図７】連続ライト・リードアクセス動作において高速動作バスクロックおよび低速動作バスクロックが同相のタイミングである場合の各信号の変化を示すタイミングチャート
【図８】連続ライト・リードアクセス動作において高速動作バスクロックおよび低速動作バスクロックが逆相のタイミングである場合の各信号の変化を示すタイミングチャート
【図９】実施の形態２におけるバスブリッジ回路を搭載したシステム構成を示す図
【図１０】従来のバスブリッジ回路を搭載したシステム構成を示す図
【符号の説明】
【００７４】
１  マスタデバイス
２  スレーブデバイス
３  バスブリッジ回路
４  第１のステートマシン
５  第２のステートマシン
６  低速動作バス
７  高速動作バス
【図１】
2005078146.tif 000003
【図２】
2005078146.tif 000004
【図３】
2005078146.tif 000005
【図４】
2005078146.tif 000006
【図５】
2005078146.tif 000007
【図６】
2005078146.tif 000008
【図７】
2005078146.tif 000009
【図８】
2005078146.tif 000010
【図９】
2005078146.tif 000011
【図１０】
2005078146.tif 000012