(57)【要約】【課題】他のバスを介したり、大規模な回路を実装する必要がなく、応答タイミングを速くできること。【解決手段】システムバス１００がシステムバスクロックに同期して出力した、システムバス１００のアドレス／データの転送サイクルを示す第１のアドレス／データフェーズ信号２をモジュールバスクロックに同期するよう第２のアドレス／データフェーズ信号３に変換し、メモリコントローラ３００が第２のアドレス／データフェーズ信号３に応答して出力した、メモリコントローラ３００のデータの転送サイクルを示す第１のデータレディ信号５を第１のアドレス／データフェーズ信号２のデータ転送タイミングに整合するよう第２のデータレディ信号６に変換し、第２のアドレス／データフェーズ信号３と第２のデータレディ信号６に基づいてシステムバス１００とメモリコントローラ３００との間でアドレス／データを転送をする。【選択図】        図１
2005038156.tif 000002
【特許請求の範囲】
【請求項１】
システムバスがアドレス／データ転送のタイミングを設定するアドレス／データフェーズ信号と、該システムバスのシステムバスクロックをＮ逓倍したモジュールバスクロックで動作するスレーブモジュールがデータ転送のタイミングを設定するデ−タレディ信号とに基づいてシステムバスとスレーブモジュールとの間でアドレス／データを転送する同期式バスインタフェース装置において、
前記システムバスが前記システムバスクロックに同期して出力した第１のアドレス／データフェーズ信号を前記モジュールバスクロックに同期するよう第２のアドレス／データフェーズ信号に変換するアドレス／データフェーズ信号変換手段と、
前記スレーブモジュールが前記第２のアドレス／データフェーズ信号に応答して出力した第１のデータレディ信号を前記第１のアドレス／データフェーズ信号のデータ転送タイミングに整合させるよう第２のデータレディ信号に変換するデータレディ信号変換手段と、
を備えたことを特徴とする同期式バスインタフェース装置。
【請求項２】
前記システムバスが前記システムバスクロックに同期して出力した前記第１のアドレス／データフェーズ信号を前記モジュールバスクロックに同期させるよう変換するイネーブル信号と、前記スレーブモジュールが前記第２のアドレス／データフェーズ信号に応答して出力した前記第１のデータレディ信号を該第１のアドレス／データフェーズ信号のアドレス／データ転送のタイミングに整合させるよう変換するディセーブル信号とを生成するマスク信号生成手段をさらに備え、
アドレス／データフェーズ信号変換手段は、前記第１のアドレス／データフェーズ信号を前記マスク信号生成手段によって生成されたイネーブル信号に基づいて前記第２のアドレス／データフェーズ信号に変換し、
前記データレディ信号変換手段は、前記第１のデータレディ信号を前記マスク信号生成手段によって生成されたディセーブル信号に基づいて前記第２のデータレディ信号に変換することを特徴とする請求項１に記載の同期式バスインタフェース装置。
【請求項３】
前記モジュールバスクロックに同期し、Ｎ個のカウンタ信号を生成するカウンタ信号生成手段をさらに備え、
前記マスク信号生成手段は、前記カウンタ信号生成手段によって生成されたＮ番目のカウンタ信号に基づいて前記イネーブル信号を生成し、前記第１のデータレディ信号と、前記カウンタ信号生成手段によって生成された１番目のカウンタ信号と、Ｎ番目のカウンタ信号とに基づいて前記ディセーブル信号を生成することを特徴とする請求項２に記載の同期式バスインタフェース装置。
【請求項４】
前記第１のデータレディ信号の反転信号と、前記カウンタ信号生成手段によって生成された１番目のカウンタ信号との論理積信号を生成する論理積信号生成手段をさらに備え、
前記マスク信号生成手段は、前記カウンタ信号生成手段によって生成されたＮ番目のカウンタ信号に基づいて前記イネーブル信号を生成し、前記論理積信号生成手段によって生成された論理積信号と、前記カウンタ信号生成手段によって生成されたＮ番目のカウンタ信号とに基づいて前記ディセーブル信号を生成することを特徴とする請求項３に記載の同期式バスインタフェース装置。
【請求項５】
前記論理積信号生成手段によって生成された論理積信号をセット入力とし、前記カウンタ信号生成手段によって生成されたＮ番目のカウンタ信号をリセット入力として、フリップフロップ信号を生成するフリップフロップ信号生成手段をさらに備え、
前記マスク信号生成手段は、前記カウンタ信号生成手段によって生成されたＮ番目のカウンタ信号に基づいて前記イネーブル信号を生成し、前記フリップフロップ信号生成手段によって生成されたフリップフロップ信号に基づいて前記ディセーブル信号を生成することを特徴とする請求項４に記載の同期式バスインタフェース装置。
【請求項６】
前記アドレス／データフェーズ信号変換手段によって変換された第２のアドレス／データフェーズ信号と、前記データレディ信号変換手段によって変換された第２のデータレディ信号とに基づいてシステムバスとスレーブモジュールとの間でアドレス／データを転送するアドレス／データ転送手段をさらに備えたことを特徴とする請求項１に記載の同期式バスインタフェース装置。
【請求項７】
システムバスがアドレス／データ転送のタイミングを設定するアドレス／データフェーズ信号と、該システムバスのシステムバスクロックをＮ逓倍したモジュールバスクロックで動作するスレーブモジュールがデータ転送のタイミングを設定するデ−タレディ信号とに基づいてシステムバスとスレーブモジュールとの間でアドレス／データを転送する同期式バスインタフェース装置に用いられる周波数変換方法において、
前記システムバスが前記システムバスクロックに同期して出力した第１のアドレス／データフェーズ信号を前記モジュールバスクロックに同期するよう第２のアドレス／データフェーズ信号に変換するアドレス／データフェーズ信号変換工程と、
前記スレーブモジュールが前記第２のアドレス／データフェーズ信号に応答して出力した第１のデータレディ信号を前記第１のアドレス／データフェーズ信号のデータ転送タイミングに整合させるよう第２のデータレディ信号に変換するデータレディ信号変換工程と、
を含んだことを特徴とする周波数変換方法。
【請求項８】
前記システムバスが前記システムバスクロックに同期して出力した前記第１のアドレス／データフェーズ信号を前記モジュールバスクロックに同期させるよう変換するイネーブル信号と、前記スレーブモジュールが前記第２のアドレス／データフェーズ信号に応答して出力した前記第１のデータレディ信号を該第１のアドレス／データフェーズ信号のアドレス／データ転送のタイミングに整合させるよう変換するディセーブル信号とを生成するマスク信号生成工程をさらに含み、
アドレス／データフェーズ信号変換工程は、前記第１のアドレス／データフェーズ信号を前記マスク信号生成工程によって生成されたイネーブル信号に基づいて前記第２のアドレス／データフェーズ信号に変換し、
前記データレディ信号変換工程は、前記第１のデータレディ信号を前記マスク信号生成工程によって生成されたディセーブル信号に基づいて前記第２のデータレディ信号に変換することを特徴とする請求項７に記載の周波数変換方法。
【請求項９】
前記モジュールバスクロックに同期し、Ｎ個のカウンタ信号を生成するカウンタ信号生成工程をさらに含み、
前記マスク信号生成工程は、前記カウンタ信号生成工程によって生成されたＮ番目のカウンタ信号に基づいて前記イネーブル信号を生成し、前記第１のデータレディ信号と、前記カウンタ信号生成工程によって生成された１番目のカウンタ信号と、Ｎ番目のカウンタ信号とに基づいて前記ディセーブル信号を生成することを特徴とする請求項８に記載の周波数変換方法。
【請求項１０】
前記第１のデータレディ信号の反転信号と、前記カウンタ信号生成工程によって生成された１番目のカウンタ信号との論理積信号を生成する論理積信号生成工程をさらに含み、
前記マスク信号生成工程は、前記カウンタ信号生成工程によって生成されたＮ番目のカウンタ信号に基づいて前記イネーブル信号を生成し、前記論理積信号生成工程によって生成された論理積信号と、前記カウンタ信号生成工程によって生成されたＮ番目のカウンタ信号とに基づいて前記ディセーブル信号を生成することを特徴とする請求項９に記載の周波数変換方法。
【請求項１１】
前記論理積信号生成工程によって生成された論理積信号をセット入力とし、前記カウンタ信号生成工程によって生成されたＮ番目のカウンタ信号をリセット入力として、フリップフロップ信号を生成するフリップフロップ信号生成工程をさらに含み、
前記マスク信号生成工程は、前記カウンタ信号生成工程によって生成されたＮ番目のカウンタ信号に基づいて前記イネーブル信号を生成し、前記フリップフロップ信号生成工程によって生成されたフリップフロップ信号に基づいて前記ディセーブル信号を生成することを特徴とする請求項１０に記載の周波数変換方法。
【請求項１２】
前記アドレス／データフェーズ信号変換工程によって変換された第２のアドレス／データフェーズ信号と、前記データレディ信号変換工程によって変換された第２のデータレディ信号とに基づいてシステムバスとスレーブモジュールとの間でアドレス／データを転送するアドレス／データ転送手段をさらに含んだことを特徴とする請求項７に記載の周波数変換方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、同期式バスインタフェース装置および周波数変換方法に関し、特に、他のバスを介したり、大規模な回路を実装する必要がなく、応答タイミングを速くできる同期式バスインタフェース装置および周波数変換方法に関するものである。
【背景技術】
【０００２】
従来、システムバスがアドレス／データ転送のタイミングを設定するアドレス／データフェーズ信号と、システムバスのシステムバスクロックをＮ逓倍したモジュールバスクロックで動作するスレーブモジュールがデータ転送のタイミングを設定するデ−タレディ信号とに基づいてシステムバスとスレーブモジュールとの間でアドレス／データを転送する同期式バスインタフェース装置が知られている。かかる同期式バスインタフェース装置は、システムバスのバスクロックの周波数とスレーブモジュールのモジュールバスクロックの周波数を周波数変換するバスブリッジであった。例えば、非特許文献１では、ＭＩＰＳプロセッサとＡＨＢバスを接続し、ＡＨＢバスを介してスレーブモジュールを接続するバスブリッジに関する従来技術を開示している。
【０００３】
【非特許文献１】ＭＩＰＳ  Ｔｅｃｈｎｏｌｏｇｉｅｓホームページ、プロダクト、バスブリッジ［２００３年７月１日検索］、＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｍｉｐｓ．ｊｐ／０２ｐｒｏｄｕｃｔｓ／ＳｙｓｔｅｍＩＰ／ｂｕｓ＿ｂｒｉｄｇｅ．ｈｔｍｌ＃０１＞
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、非特許文献１の従来技術のバスブリッジは、ＭＩＰＳプロセッサとＡＨＢバスを接続し、ＡＨＢバスを介してスレーブモジュールを接続することはできるが、大規模な回路を実装し、応答タイミングが遅くなるという問題点があった。
【０００５】
本発明は、上記に鑑みてなされたものであって、他のバスを介したり、大規模な回路を実装する必要がなく、応答タイミングを速くできる同期式バスインタフェース装置および周波数変換方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、請求項１の発明に係る同期式バスインタフェース装置は、システムバスがアドレス／データ転送のタイミングを設定するアドレス／データフェーズ信号と、該システムバスのシステムバスクロックをＮ逓倍したモジュールバスクロックで動作するスレーブモジュールがデータ転送のタイミングを設定するデ−タレディ信号とに基づいてシステムバスとスレーブモジュールとの間でアドレス／データを転送する同期式バスインタフェース装置において、前記システムバスが前記システムバスクロックに同期して出力した第１のアドレス／データフェーズ信号を前記モジュールバスクロックに同期するよう第２のアドレス／データフェーズ信号に変換するアドレス／データフェーズ信号変換手段と、前記スレーブモジュールが前記第２のアドレス／データフェーズ信号に応答して出力した第１のデータレディ信号を前記第１のアドレス／データフェーズ信号のデータ転送タイミングに整合させるよう第２のデータレディ信号に変換するするデータレディ信号変換手段と、を備えたことを特徴とする。
【０００７】
また、請求項２の発明に係る同期式バスインタフェース装置は、請求項１の発明において、前記システムバスが前記システムバスクロックに同期して出力した前記第１のアドレス／データフェーズ信号を前記モジュールバスクロックに同期させるよう変換するイネーブル信号と、前記スレーブモジュールが前記第２のアドレス／データフェーズ信号に応答して出力した前記第１のデータレディ信号を該第１のアドレス／データフェーズ信号のアドレス／データ転送のタイミングに整合させるよう変換するディセーブル信号とを生成するマスク信号生成手段をさらに備え、アドレス／データフェーズ信号変換手段は、前記第１のアドレス／データフェーズ信号を前記マスク信号生成手段によって生成されたイネーブル信号に基づいて変換し、前記第２のアドレス／データフェーズ信号を生成し、前記データレディ信号生成手段は、前記第１のデータレディ信号を前記マスク信号生成手段によって生成されたディセーブル信号に基づいて変換し、前記第２のデータレディ信号を生成することを特徴とする。
【０００８】
また、請求項３の発明に係る同期式バスインタフェース装置は、請求項２の発明において、前記モジュールバスクロックに同期し、Ｎ個のカウンタ信号を生成するカウンタ信号生成手段をさらに備え、前記マスク信号生成手段は、前記カウンタ信号生成手段によって生成されたＮ番目のカウンタ信号に基づいて前記イネーブル信号を生成し、前記第１のデータレディ信号と、前記カウンタ信号生成手段によって生成された１番目のカウンタ信号と、Ｎ番目のカウンタ信号とに基づいて前記ディセーブル信号を生成することを特徴とする。
【０００９】
また、請求項４の発明に係る同期式バスインタフェース装置は、請求項３の発明において、前記第１のデータレディ信号の反転信号と、前記カウンタ信号生成手段によって生成された１番目のカウンタ信号との論理積信号を生成する論理積信号生成手段をさらに備え、前記マスク信号生成手段は、前記カウンタ信号生成手段によって生成されたＮ番目のカウンタ信号に基づいて前記イネーブル信号を生成し、前記論理積信号生成手段によって生成された論理積信号と、前記カウンタ信号生成手段によって生成されたＮ番目のカウンタ信号とに基づいて前記ディセーブル信号を生成することを特徴とする。
【００１０】
また、請求項５の発明に係る同期式バスインタフェース装置は、請求項４の発明において、前記論理積信号生成手段によって生成された論理積信号をセット入力とし、前記カウンタ信号生成手段によって生成されたＮ番目のカウンタ信号をリセット入力として、フリップフロップ信号を生成するフリップフロップ信号生成手段をさらに備え、前記マスク信号生成手段は、前記カウンタ信号生成手段によって生成されたＮ番目のカウンタ信号に基づいて前記イネーブル信号を生成し、前記フリップフロップ信号生成手段によって生成されたフリップフロップ信号に基づいて前記ディセーブル信号を生成することを特徴とする。
【００１１】
また、請求項６の発明に係る同期式バスインタフェース装置は、請求項１の発明において、前記アドレス／データフェーズ信号変換手段によって変換された第２のアドレス／データフェーズ信号と、前記データレディ信号変換手段によって変換された第２のデータレディ信号とに基づいてシステムバスとスレーブモジュールとの間でアドレス／データを転送するアドレス／データ転送手段をさらに備えたことを特徴とする。
【００１２】
また、請求項７の発明に係る周波数変換方法は、システムバスがアドレス／データ転送のタイミングを設定するアドレス／データフェーズ信号と、該システムバスのシステムバスクロックをＮ逓倍したモジュールバスクロックで動作するスレーブモジュールがデータ転送のタイミングを設定するデ−タレディ信号とに基づいてシステムバスとスレーブモジュールとの間でアドレス／データを転送する同期式バスインタフェース装置に用いられる周波数変換方法において、前記システムバスが前記システムバスクロックに同期して出力した第１のアドレス／データフェーズ信号を前記モジュールバスクロックに同期するよう第２のアドレス／データフェーズ信号に変換するアドレス／データフェーズ信号変換工程と、前記スレーブモジュールが前記第２のアドレス／データフェーズ信号に応答して出力した第１のデータレディ信号を前記第１のアドレス／データフェーズ信号のデータ転送タイミングに整合させるよう第２のデータレディ信号に変換するデータレディ信号変換工程と、を含んだことを特徴とする。
【００１３】
また、請求項８の発明に係る周波数変換方法は、請求項７の発明において、前記システムバスが前記システムバスクロックに同期して出力した前記第１のアドレス／データフェーズ信号を前記モジュールバスクロックに同期させるよう変換するイネーブル信号と、前記スレーブモジュールが前記第２のアドレス／データフェーズ信号に応答して出力した前記第１のデータレディ信号を該第１のアドレス／データフェーズ信号のアドレス／データ転送のタイミングに整合させるよう変換するディセーブル信号とを生成するマスク信号生成工程をさらに含み、アドレス／データフェーズ信号変換工程は、前記第１のアドレス／データフェーズ信号を前記マスク信号生成工程によって生成されたイネーブル信号に基づいて前記第２のアドレス／データフェーズ信号に変換し、前記データレディ信号変換工程は、前記第１のデータレディ信号を前記マスク信号生成工程によって生成されたディセーブル信号に基づいて前記第２のデータレディ信号に変換することを特徴とする。
【００１４】
また、請求項９の発明に係る周波数変換方法は、請求項８の発明において、前記モジュールバスクロックに同期し、Ｎ個のカウンタ信号を生成するカウンタ信号生成工程をさらに含み、前記マスク信号生成工程は、前記カウンタ信号生成工程によって生成されたＮ番目のカウンタ信号に基づいて前記イネーブル信号を生成し、前記第１のデータレディ信号と、前記カウンタ信号生成工程によって生成された１番目のカウンタ信号と、Ｎ番目のカウンタ信号とに基づいて前記ディセーブル信号を生成することを特徴とする。
【００１５】
また、請求項１０の発明に係る周波数変換方法は、請求項９の発明において、前記第１のデータレディ信号の反転信号と、前記カウンタ信号生成工程によって生成された１番目のカウンタ信号との論理積信号を生成する論理積信号生成工程をさらに含み、前記マスク信号生成工程は、前記カウンタ信号生成工程によって生成されたＮ番目のカウンタ信号に基づいて前記イネーブル信号を生成し、前記論理積信号生成工程によって生成された論理積信号と、前記カウンタ信号生成工程によって生成されたＮ番目のカウンタ信号とに基づいて前記ディセーブル信号を生成することを特徴とする。
【００１６】
また、請求項１１の発明に係る周波数変換方法は、請求項１０の発明において、前記論理積信号生成工程によって生成された論理積信号をセット入力とし、前記カウンタ信号生成工程によって生成されたＮ番目のカウンタ信号をリセット入力として、フリップフロップ信号を生成するフリップフロップ信号生成工程をさらに含み、前記マスク信号生成工程は、前記カウンタ信号生成工程によって生成されたＮ番目のカウンタ信号に基づいて前記イネーブル信号を生成し、前記フリップフロップ信号生成工程によって生成されたフリップフロップ信号に基づいて前記ディセーブル信号を生成することを特徴とする。
【００１７】
また、請求項１２の発明に係る周波数変換方法は、請求項７の発明において、前記アドレス／データフェーズ信号変換工程によって変換された第２のアドレス／データフェーズ信号と、前記データレディ信号変換工程によって変換された第２のデータレディ信号とに基づいてシステムバスとスレーブモジュールとの間でアドレス／データを転送するアドレス／データ転送工程をさらに含んだことを特徴とする。
【発明の効果】
【００１８】
請求項１の発明に係る同期式バスインタフェース装置によれば、システムバスがシステムバスクロックに同期して出力した第１のアドレス／データフェーズ信号をモジュールバスクロックに同期するよう第２のアドレス／データフェーズ信号に変換し、スレーブモジュールが第２のアドレス／データフェーズ信号に応答して出力した第１のデータレディ信号を第１のアドレス／データフェーズ信号のデータ転送タイミングに整合させるよう第２のデータレディ信号に変換することとしたので、他のバスを介したり、大規模な回路を実装する必要がなく、応答タイミングを速くできるという効果を奏する。
【００１９】
また、請求項２の発明に係る同期式バスインタフェース装置によれば、システムバスがシステムバスクロックに同期して出力し、第１のアドレス／データフェーズ信号をモジュールバスクロックに同期させるよう変換するイネーブル信号と、スレーブモジュールが第２のアドレス／データフェーズ信号に応答して出力した第１のデータレディ信号を第１のアドレス／データフェーズ信号のアドレス／データ転送のタイミングに整合させるよう変換するディセーブル信号とを生成することとしたので、他のバスを介したり、大規模な回路を実装する必要がなく、応答タイミングを速くできるという効果を奏する。
【００２０】
また、請求項３の発明に係る同期式バスインタフェース装置によれば、モジュールバスクロックに同期し、Ｎ個のカウンタ信号を生成することとしたので、簡便な修正で、システムバスクロックとモジュールバスクロックのクロック比の変更に対応できるという効果を奏する。
【００２１】
また、請求項４の発明に係る同期式バスインタフェース装置によれば、第１のデータレディ信号の反転信号と、１番目のカウンタ信号との論理積信号を生成することとしたので、簡便な修正で、システムバスクロックとモジュールバスクロックのクロック比の変更に対応できるという効果を奏する。
【００２２】
また、請求項５の発明に係る同期式バスインタフェース装置によれば、論理積信号をセット入力とし、Ｎ番目のカウンタ信号をリセット入力として、フリップフロップ信号を生成することとしたので、簡便な修正で、システムバスクロックとモジュールバスクロックのクロック比の変更に対応できるという効果を奏する。
【００２３】
また、請求項６の発明に係る同期式バスインタフェース装置によれば、アドレス／データフェーズ信号変換手段によって変換された第２のアドレス／データフェーズ信号と、データレディ信号変換手段によって変換された第２のデータレディ信号とに基づいてシステムバスとスレーブモジュールとの間でアドレス／データを転送することとしたので、システムバスクロックとモジュールバスクロックの周波数比が１：Ｎの場合にもアドレス／データを転送することができるという効果を奏する。
【００２４】
また、請求項７の発明に係る周波数変換方法によれば、システムバスがシステムバスクロックに同期して出力した第１のアドレス／データフェーズ信号をモジュールバスクロックに同期するよう第２のアドレス／データフェーズ信号に変換し、スレーブモジュールが第２のアドレス／データフェーズ信号に応答して出力した第１のデータレディ信号を第１のアドレス／データフェーズ信号のデータ転送タイミングに整合させるよう第２のデータレディ信号に変換することとしたので、他のバスを介したり、大規模な回路を実装する必要がなく、応答タイミングを速くできるという効果を奏する。
【００２５】
また、請求項８の発明に係る周波数変換方法によれば、システムバスがシステムバスクロックに同期して出力し、第１のアドレス／データフェーズ信号をモジュールバスクロックに同期させるよう変換するイネーブル信号と、スレーブモジュールが第２のアドレス／データフェーズ信号に応答して出力した第１のデータレディ信号を第１のアドレス／データフェーズ信号のアドレス／データ転送のタイミングに整合させるよう変換するディセーブル信号とを生成することとしたので、他のバスを介したり、大規模な回路を実装する必要がなく、応答タイミングを速くできるという効果を奏する。
【００２６】
また、請求項９の発明に係る周波数変換方法によれば、モジュールバスクロックに同期し、Ｎ個のカウンタ信号を生成することとしたので、同期式Ｎ進カウンタの簡便な修正で、システムバスクロックとモジュールバスクロックのクロック比の変更に対応できるという効果を奏する。
【００２７】
また、請求項１０の発明に係る周波数変換方法によれば、第１のデータレディ信号の反転信号と、１番目のカウンタ信号との論理積信号を生成することとしたので、同期式Ｎ進カウンタの簡便な修正で、システムバスクロックとモジュールバスクロックのクロック比の変更に対応できるという効果を奏する。
【００２８】
また、請求項１１の発明に係る周波数変換方法によれば、論理積信号をセット入力とし、Ｎ番目のカウンタ信号をリセット入力として、フリップフロップ信号を生成することとしたので、同期式Ｎ進カウンタの簡便な修正で、システムバスクロックとモジュールバスクロックのクロック比の変更に対応できるという効果を奏する。
【００２９】
また、請求項１２の発明に係る周波数変換方法によれば、アドレス／データフェーズ信号変換工程によって変換された第２のアドレス／データフェーズ信号と、前記データレディ信号変換工程によって変換された第２のデータレディ信号とに基づいてシステムバスとスレーブモジュールとの間でアドレス／データを転送することとしたので、システムバスクロックとモジュールバスクロックの周波数比が１：Ｎの場合にもアドレス／データを転送することができるという効果を奏する。
【発明を実施するための最良の形態】
【００３０】
以下に、本発明に係る同期式バスインタフェース装置の実施例を図面に基づいて詳細に説明する。まず、実施例においては、本発明に係る同期式バスインタフェース装置をシステムバスのバスマスタがＣＰＵで、スレーブモジュールがメモリコントローラとＳＤＲＡＭである同期式バスシステムに適用し、システムバスクロックとスレーブモジュールのモジュールバスクロックの周波数比が１：２の整数比の場合と、周波数比が１：４の整数比の場合とを説明する。なお、スレーブモジュールは、メモリコントローラ、タイマ、割り込みコントローラ、および／または画像処理回路などである。また、この実施例によりこの発明が限定されるものではない。
【実施例】
【００３１】
最初に、実施例に係る同期式バスシステムの基本構成について説明する。図１は、実施例に係る同期式バスシステムの基本構成を示す機能ブロック図である。同図に示すように、同期式バスシステムは、ＣＰＵ１０と、システムバス１００と、バスインタフェース装置２００と、メモリコントローラ３００と、ＳＤＲＡＭ３２０と、モジュールバス３４０とからなる。
【００３２】
このうち、ＣＰＵ１０は、同期式バスシステム全体の制御およびプログラムの演算処理を行うバスマスタである。システムバス１００は、システムバスクロック信号１で動作し、ＣＰＵ１０とメモリコントローラ３００との間のアドレス／データをパラレルに転送するパラレルバスである。なお、システムバスクロック信号１は、例えば、５０ＭＨｚの周波数のクロック信号である。
【００３３】
メモリコントローラ３００は、システムバス１００を介してＣＰＵ１０との間でデータの転送を行うと共に、モジュールバス３４０を介してＳＤＲＡＭ３２０との間のアドレス／データの転送を制御する制御部である。また、ＳＤＲＡＭ３２０は、モジュールバスクロック信号４に同期して高速でデータの転送を行うシンクロナスＤＲＡＭである。また、モジュールバス３４０は、モジュールバスクロック信号４で動作するメモリコントローラ３００とＳＤＲＡＭ３２０との間のアドレス／データの転送をするためのパラレルバスである。なお、モジュールバスクロック信号４は、例えば、１００ＭＨｚの周波数のクロック信号である。
【００３４】
同期式バスインタフェース装置２００は、アドレス／データフェーズ信号変換部２２０と、データレディ信号変換部２４０と、マスク信号生成部２６０と、アドレス／データ転送部２８０とからなる。
【００３５】
アドレス／データフェーズ信号変換部２２０は、システムバス１００がシステムバスクロックに同期して出力した第１のアドレス／データフェーズ信号２をモジュールバスクロックに同期するよう第２のアドレス／データフェーズ信号３に変換する回路である。
【００３６】
具体的には、アドレス／データフェーズ信号変換部２２０は、第１のアドレス／データフェーズ信号２をマスク信号生成部２６０によって生成されたイネーブル信号２２に基づいて第２のアドレス／データフェーズ信号３に変換する回路であり、例えば、論理積回路である。
【００３７】
また、データレディ信号変換部２４０は、メモリコントローラ３００が第２のアドレス／データフェーズ信号３に応答して出力した第１のデータレディ信号５を第１のアドレス／データフェーズ信号２のデータ転送のタイミングに整合させるよう第２のデータレディ信号６に変換する回路である。
【００３８】
具体的には、データレディ信号変換部２４０は、第１のデータレディ信号５をマスク信号生成部２６０によって生成されたディセーブル信号２４に基づいて第２のデータレディ信号６に変換する回路であり、例えば、論理積回路である。
【００３９】
マスク信号生成部２６０は、システムバス１００がシステムバスクロックに同期して出力した第１のアドレス／データフェーズ信号２をモジュールバスクロックに同期させるよう変換するイネーブル信号２２と、メモリコントローラ３００が第２のアドレス／データフェーズ信号３に応答して出力した第１のデータレディ信号５を第１のアドレス／データフェーズ信号２のアドレス／データ転送のタイミングに整合させるよう変換するディセーブル信号２４とを生成する回路である。
【００４０】
なお、図１のシステムバスからマスク信号生成部２６０に入力しているシステムバスクロック信号１は、モジュールバスクロック信号４と同期をとるための信号である。マスク信号生成部２６０は、システムバスクロック信号１とモジュールバスクロック信号４との同期を取る機能を備えているが、本発明の説明には直接係らないので、図１または図２には図示していない。
【００４１】
ここで、図１に示すマスク信号生成部２６０の基本構成について説明する。図２は、図１に示すマスク信号生成手段の基本構成を示す機能ブロック図である。同図に示すように、マスク信号生成部２６０は、カウンタ信号生成部２６２と、論理積信号生成部２６４と、フリップフロップ信号生成部２６６とからなる。
【００４２】
カウンタ信号生成部２６２は、モジュールバスクロック４に同期し、Ｎ個のカウンタ信号を生成する回路であり、例えば、同期式Ｎ進カウンタである。したがって、マスク信号生成部２６０は、カウンタ信号生成部２６２によって生成されたＮ番目のカウンタ信号に基づいてイネーブル信号２２を生成し、第１のデータレディ信号５と、カウンタ信号生成部２２２によって生成された１番目のカウンタ信号７と、Ｎ番目のカウンタ信号２２とに基づいてディセーブル信号２４を生成する。
【００４３】
論理積信号生成部２６４は、第１のデータレディ信号５の反転信号と、カウンタ信号生成部２６２によって生成された１番目のカウンタ信号との論理積信号を生成する回路であり、例えば、論理積回路である。したがって、マスク信号生成部２６０は、カウンタ信号生成部２６２によって生成されたＮ番目のカウンタ信号に基づいてイネーブル信号２２を生成し、論理積信号生成部２６４によって生成された論理積信号９と、カウンタ信号生成部２６２によって生成されたＮ番目のカウンタ信号２２とに基づいてディセーブル信号２４を生成する。
【００４４】
フリップフロップ信号生成手段２６６は、論理積信号生成部２６４によって生成された論理積信号９をセット入力とし、カウンタ信号生成部２６２によって生成されたＮ番目のカウンタ信号２２をリセット入力として、フリップフロップ信号を生成する回路であり、例えば、クロック同期端子付リセットセット・フリップフロップである。したがって、マスク信号生成部２６０は、カウンタ信号生成部２６２によって生成されたＮ番目のカウンタ信号に基づいてイネーブル信号２２を生成し、フリップフロップ信号生成部２６６によって生成されたフリップフロップ信号に基づいてディセーブル信号２４を生成する。
【００４５】
図１の説明に戻ると、アドレス／データ転送部２８０は、アドレス／データフェーズ信号変換部２２０によって変換された第２のアドレス／データフェーズ信号３と、データレディ信号変換部２４０によって変換された第２のデータレディ信号６とに基づいてシステムバス１００とメモリコントローラ３００との間でアドレス／データを転送する転送部であり、具体的には、アドレスバス２８２と、コントロールバス２８４と、データバス２８６とからなるパラレルバスである。
【００４６】
アドレスバス２８２は、ＣＰＵ１０がデータを書き込む、またはデータを読み出すＳＤＲＡＭ３２０のアドレスを指定するバスであり、ＣＰＵが３２ビットのデータを処理するプロセッサであるならば、バス幅は、具体的には、１６ビットである。また、コントロールバス２８４は、ＣＰＵ１０がＳＤＲＡＭ３２０にデータの書き込み、または読み出しなどの指示を送るバスであり、アドレスを指定するときに同時に書き込み、または読み出しなどの指示を送るバスであり、バス幅は、具体的には、４ビットである。また、データバス２８６は、ＣＰＵ１０とＳＤＲＡＭ３２０との間でのデータ転送を行うバスであり、バス幅は、具体的には、３２ビットである。
【００４７】
次に、図１に示す同期式バスシステムのデータ転送サイクルの一例について説明する。図３は、図１に示す同期式バスシステムのデータ転送サイクルの一例を示すタイミング図である。同図に示すように、システムバスクロック信号１とモジュールバスクロック信号４は、１：２の周波数比となっている。また、データの転送サイクルは、アドレスの転送に続いてデータが１つあるいは複数個続いている。ここでは、サイクル１がアドレス転送フェーズであり、サイクル４とサイクル５とサイクル７とがデータ転送フェーズである。
【００４８】
システムバス１００は、第１のアドレス／データフェーズ信号２が“１”の場合に、アドレス／データの転送をそのシステムバスクロックの周期内で行う。そして、メモリコントローラ３００は、同期式バスインタフェース装置２００から第２のアドレス／データフェーズ信号３を受信して、第２のアドレス／データフェーズ信号３が“１”の場合に、システムバス１００との間で次のデータを転送する準備に入る。
【００４９】
図３のデータ転送サイクルにそって具体的に説明すると、まず、システムバス１００は、サイクル１で第１のアドレス／データフェーズ信号を“１”と設定する。そして、同期式バスインタフェース装置２００のアドレス／データフェーズ信号変換部２２０は、“１”に設定された第１のアドレス／データフェーズ信号を受信して、第１のアドレス／データフェーズ信号２をサイクル１の後半で“１”となるよう第２のアドレス／データフェーズ信号３に変換する。
【００５０】
具体的には、アドレス／データフェーズ信号変換部２２０は、第１のアドレス／データフェーズ信号２をマスク信号生成部２６０によって生成されたイネーブル信号２２に基づいて第２のアドレス／データフェーズ信号３に変換する。
【００５１】
さらに、システムバス１００は、同期式バスインタフェース装置２００のアドレス／データ転送部２８０を介してサイクル１の後半でコントロール信号とアドレスとをメモリコントローラ３００に転送する。そして、アドレス／データフェーズ信号変換部２２０によって変換された第２のアドレス／データフェーズ信号３を受信したメモリコントローラ３００は、すぐにデータ転送ができないので、第２のデータレディ信号５を“０”にし、ウエイト状態とする。なお、データの転送がＳＤＲＡＭ３２０へデータを書き込むのか、またはＳＤＲＡＭ３２０からデータを読み出すのかはコントロール信号による。ここでは、データの書き込みおよび読み出しを識別せずにデータ転送という。
【００５２】
さらに、メモリコントローラ３００は、サイクル３の後半でデータの転送が可能になるので、第１のデータレディ信号５を“１”に設定する。しかし、データレディ信号変換部２４０は、メモリコントローラ３００から受信した第１のデータレディ信号５がシステムバス１００の第１のアドレス／データフェーズ信号２のデータ転送のタイミングに整合しないので、ディセーブル信号２４を“１”に設定して、サイクル３の後半の第１のデータレディ信号５を無効にし、第２のデータレディ信号６をシステムバス１００に出力する。
【００５３】
そして、データレディ信号変換部２４０が第１のデータレディ信号５を第１のアドレス／データフェーズ信号２のデータ転送のタイミングに整合させるよう第２のデータレディ信号６に変換した結果、サイクル４で第２のデータレディ信号６が“１”となるので、アドレス／データ転送部２８０を介してシステムバス１００とメモリコントローラ３００との間でデータ転送が行われる。
【００５４】
さらに、サイクル４では、システムバス１００の第１のアドレス／データフェーズ信号２が“１”に設定される。そして、システムバス１００から第１のアドレス／データフェーズ信号２を受信したアドレス／データフェーズ信号変換部２２０は、第１のアドレス／データフェーズ信号２をモジュールバスクロックに同期するよう第２のアドレス／データフェーズ信号３に変換し、メモリコントローラ３００に出力する。
【００５５】
さらに、第２のアドレス／データフェーズ信号３を受信したメモリコントローラ３００は、サイクル５の前半からデータの転送が可能なので、第１のデータレディ信号５を“１”に設定する。そして、メモリコントローラ３００から第１のデータレディ信号５を受信したデータレディ信号変換部２４０は、第１のデータレディ信号５が第１のアドレス／データフェーズ信号２のデータ転送のタイミングに整合しているので、ディセーブル信号２４を“１”に設定しない。その結果、サイクル５で第２のデータレディ信号６が“１”となるので、アドレス／データ転送部２８０を介してシステムバス１００とメモリコントローラ３００との間でデータ転送が行われる。
【００５６】
さらに、サイクル５では、システムバス１００の第１のアドレス／データフェーズ信号２が“１”に設定される。そして、システムバス１００から第１のアドレス／データフェーズ信号２を受信したアドレス／データフェーズ信号変換部２２０は、第１のアドレス／データフェーズ信号２をモジュールバスクロックに同期するよう第２のアドレス／データフェーズ信号３に変換し、メモリコントローラ３００に出力する。
【００５７】
さらに、第２のアドレス／データフェーズ信号３を受信したメモリコントローラ３００は、すぐにデータ転送ができないので、第２のデータレディ信号５を“０”にし、ウエイト状態とする。そして、メモリコントローラ３００は、サイクル７の前半からデータの転送が可能になるので、第１のデータレディ信号５を“１”に設定する。
【００５８】
さらに、メモリコントローラ３００から第１のデータレディ信号５を受信したデータレディ信号変換部２４０は、第１のデータレディ信号５が第１のアドレス／データフェーズ信号２のデータ転送のタイミングに整合しているので、ディセーブル信号２４を“１”に設定しない。その結果、サイクル７で第２のデータレディ信号６が“１”となるので、アドレス／データ転送部２８０を介してシステムバス１００とメモリコントローラ３００との間でデータ転送が行われる。
【００５９】
ここで、図３に示すマスク信号生成部２６０が生成するイネーブル信号２２とディセーブル信号２４について説明する。図４は、図３に示すマスク信号生成部が生成するイネーブル信号とディセーブル信号を示すタイミング図である。同図に示すように、システムバスクロック信号１とモジュールバスクロック信号４は、１：Ｎの周波数比に一般化されている。
【００６０】
まず、カウンタ信号生成部２６２は、モジュールバスクロック４に同期し、Ｎ個のカウンタ信号を生成する。そして、マスク信号生成部２６０は、カウンタ信号生成部２６２によって生成されたＮ番目のカウンタ信号に基づいてイネーブル信号２２を生成し、第１のデータレディ信号５と、カウンタ信号生成部２６２によって生成された１番目のカウンタ信号７と、Ｎ番目のカウンタ信号とに基づいてディセーブル信号２４を生成する。
【００６１】
具体的には、論理積信号生成部２６４は、第１のデータレディ信号５の反転信号とカウンタ信号生成部２６２によって出力された１番目のカウンタ信号７との論理積信号９を生成する。そして、マスク信号生成部２６０は、カウンタ信号生成部２６２によって生成されたＮ番目のカウンタ信号７に基づいてイネーブル信号２２を生成し、論理積信号生成部２６４によって生成された論理積信号９と、カウンタ信号生成部２６２によって生成されたＮ番目のカウンタ信号とに基づいてディセーブル信号２４を生成する。
【００６２】
例えば、フリップフロップ信号生成部２６６は、論理積信号生成部２６４によって生成された論理積信号９をセット入力とし、カウンタ信号生成部２６２によって生成されたＮ番目のカウンタ信号２２をリセット入力として、フリップフロップ信号を生成する。そして、マスク信号生成部２６０は、カウンタ信号生成部２６２によって生成されたＮ番目のカウンタ信号に基づいてイネーブル信号２２を生成し、フリップフロップ信号生成部２６６によって生成されたフリップフロップ信号に基づいてディセーブル信号２４を生成する。
【００６３】
次に、図１に示す同期式バスシステムのデータ転送サイクルの別の例について説明する。図３は、図１に示す同期式バスシステムのデータ転送サイクルの別の例を示すタイミング図である。同図に示すように、システムバスクロック信号１とモジュールバスクロック信号４は、１：４のクロック比となっている。このように、クロック比を変える場合は、マスク信号生成部２２０が生成するイネーブル信号２２とディセーブル信号２４の信号タイミングを変えるだけでクロック比を変えることができる。具体的には、マスク信号生成部２６０のカウンタ信号生成部２６２を構成する比較器（図２には図示されていない。）の設定値を変更することによってカウンタ信号生成部２６２のカウント値を変更し、簡便にクロック比を変えることができる。
【００６４】
以上説明したように、本実施例では、システムバス１００がシステムバスクロックに同期して出力した第１のアドレス／データフェーズ信号２をモジュールバスクロックに同期するよう第２のアドレス／データフェーズ信号３に変換し、メモリコントローラ３００が第２のアドレス／データフェーズ信号３に応答して出力した第１のデータレディ信号５を第１のアドレス／データフェーズ信号２のデータ転送タイミングに整合させるよう第２のデータレディ信号６に変換することとしたので、他のバスを介したり、大規模な回路を実装する必要がなく、応答タイミングを速くできる。
【００６５】
また、システムバス１００がシステムバスクロックに同期して出力し、第１のアドレス／データフェーズ信号２をモジュールバスクロックに同期させるよう変換するイネーブル信号２２と、メモリコントローラ３００が第２のアドレス／データフェーズ信号３に応答して出力した第１のデータレディ信号５を第１のアドレス／データフェーズ信号２のアドレス／データ転送のタイミングに整合させるよう変換するディセーブル信号２４とを生成することとしたので、他のバスを介したり、大規模な回路を実装する必要がなく、応答タイミングを速くできる。
【００６６】
また、モジュールバスクロックに同期し、Ｎ個のカウンタ信号を生成することとしたので、カウンタ信号生成部２６２の簡便な修正で、システムバスクロックとモジュールバスクロックのクロック比の変更に対応できるという効果を奏する。
【００６７】
また、第１のデータレディ信号５の反転信号と、１番目のカウンタ信号７との論理積信号を生成することとしたので、カウンタ信号生成部２６２の簡便な修正で、システムバスクロックとモジュールバスクロックのクロック比の変更に対応できるという効果を奏する。
【００６８】
また、論理積信号をセット入力とし、Ｎ番目のカウンタ信号をリセット入力として、フリップフロップ信号を生成することとしたので、カウンタ信号生成部２６２の簡便な修正で、システムバスクロックとモジュールバスクロックのクロック比の変更に対応できるという効果を奏する。
【００６９】
また、アドレス／データフェーズ信号変換部２２０によって変換された第２のアドレス／データフェーズ信号３と、データレディ信号変換部２４０によって変換された第２のデータレディ信号６とに基づいてシステムバス１００とメモリコントローラ３００との間でアドレス／データを転送することとしたので、システムバスクロックとモジュールバスクロックの周波数比が１：Ｎの場合にもアドレス／データを転送することができるという効果を奏する。
【００７０】
ところで、上記実施例においては、本発明をパラレルバスに適用する場合について説明したが、本発明はそれだけに限定されるものではなく、シリアルバスに適用することもできる。
【産業上の利用可能性】
【００７１】
以上のように、本発明に係る同期式バスインタフェース装置および周波数変換方法は、同期式システムバスとスレーブモジュールとのバスインタフェース装置として有用であり、特に、同期式システムバスとメモリコントローラ、タイマ、割り込みコントローラ、および／または画像処理回路などとの同期式バスインタフェース装置に適している。
【図面の簡単な説明】
【００７２】
【図１】本実施例に係る同期式バスシステムの基本構成を示す機能ブロック図である。
【図２】図１に示すマスク信号生成部の基本構成を示す機能ブロック図である。
【図３】図１に示す同期式バスシステムのデータ転送サイクルの一例を示すタイミング図である。
【図４】図３に示すマスク信号生成部が生成するイネーブル信号とディセーブル信号を示すタイミング図である。
【図５】図１に示す同期式バスシステムのデータ転送サイクルの別の例を示すタイミング図である。
【符号の説明】
【００７３】
１  システムバスクロック信号
２  第１のアドレス／データフェーズ信号
３  第２のアドレス／データフェーズ信号
４  モジュールバスクロック信号
５  第１のデータレディ信号
６  第２のデータレディ信号
７  １番目のカウンタ信号
９  論理積信号
１０  ＣＰＵ
２２  イネーブル信号
２４  ディセーブル信号（Ｎ番目のカウンタ信号）
１００  システムバス
２００  同期式バスインタフェース装置
２２０  アドレス／データフェーズ信号変換部
２４０  データレディ信号変換部
２６０  マスク信号生成部
２６２  カウンタ信号生成部
２６４  論理積信号生成部
２６６  フリップフロップ信号生成部
２８０  アドレス／データ転送部
２８２  アドレスバス
２８４  コントロールバス
２８６  データバス
３００  メモリコントローラ
３２０  ＳＤＲＡＭ
３４０  モジュールバス
【図１】
2005038156.tif 000003
【図２】
2005038156.tif 000004
【図３】
2005038156.tif 000005
【図４】
2005038156.tif 000006
【図５】
2005038156.tif 000007