(57)【要約】【課題】  ＣＰＵがバスを介して周辺装置にアクセスする際に要する、各種バスタイミングの設定値をソフトウェアにて管理する手間を削減するバスタイミング制御回路を提供する。【解決手段】  バスタイミング制御回路は、バスタイミング設定値テーブル、バスタイミング設定レジスタ群およびバスインタフェースから構成されている。バスタイミング設定値テーブルは、周辺装置ごとに存在する。セレクタ列でクロック制御回路から供給される動作クロック周波数に対応するバスタイミング設定値選択信号に従って、上記バスタイミング設定値テーブル中の設定値を選択する。選択された設定値は、バスタイミング設定レジスタ群に一括して読み込まれ、保持される。このようにして、ソフトウェアによるプログラムを変更することなく行うことができる。【選択図】  図２
2006202172.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵがバスを介して周辺装置にアクセスするためのバスタイミング制御回路であって、
前記ＣＰＵが前記バスを介して前記周辺装置にアクセスする際の一群のバスタイミング設定値を記憶する複数個のバスタイミング設定値テーブルと、
前記一群のバスタイミング設定値を記憶している前記複数個のバスタイミング設定値テーブルから動作クロック周波数に応じて、最適な一群のバスタイミング設定値を選択、記憶するバスタイミング設定レジスタ群と、
を備えたことを特徴とするバスタイミング制御回路。
【請求項２】
前記バスタイミング設定値テーブルは、レジスタにより構成し、アクセスする前記周辺装置ごとに、要求されるシステムの動作クロック周波数の系統別に存在し、一括して前記一群のバスタイミング設定値が読み出されることを特徴とする請求項１に記載のバスタイミング制御回路。
【請求項３】
前記バスタイミング設定値テーブルは、ＲＯＭにより構成されることを特徴とする請求項２に記載のバスタイミング制御回路。
【請求項４】
前記バスタイミング設定値テーブルは、前記周辺装置に応じて、レジスタおよびＲＯＭの組み合わせにより構成し、アクセスする前記周辺装置ごとに、要求されるシステムの動作クロック周波数の系統別に存在し、一括して前記一群のバスタイミング設定値が読み出されることを特徴とする請求項１に記載のバスタイミング制御回路。
【請求項５】
前記バスタイミング設定値テーブルに前記バスタイミング設定値を読み込んだ後に、該バスタイミング設定値を変更する場合、ソフトウェアにて変更することを特徴とする請求項１から４のいずれか１項に記載のバスタイミング制御回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＰＵがバスを介してメモリを含む周辺装置にアクセスする際のバスタイミング制御回路に関する。
【背景技術】
【０００２】
従来、ＣＰＵがバスを介して周辺装置にアクセスする場合、周辺装置への各種バスタイミングに関する設定値をソフトウェアによりプログラムする必要があった。
【０００３】
更に近年、半導体プロセスの微細化に伴い、ＣＰＵを含む半導体装置の動作クロック周波数は高くなる傾向にある一方で、消費電力は低減する必要がある。そのため、動作クロック周波数をシステムの動作モードに合わせて変更するシステムが多く存在する。必要とされる周辺装置の処理能力に応じて、動作クロック周波数を複数用いるものである。もし、このようなシステムにおいてシステムの動作クロック周波数や周辺装置のアクセスタイミングを変更した場合、各種バスタイミングに関する設定値をソフトウェアにて再プログラムしなければならない。
【０００４】
更に、動作クロック周波数を切り替える際に、各種バスタイミングに関する設定値を設定するタイミングと動作クロック周波数を切り替えるタイミングもソフトウェアにて考慮しなければならない。
【０００５】
このような問題の解決手段として、特にメモリを使用したコンピュータシステムにおけるメモリアクセス時のウエイト制御に関し、ウエイト数のパラメータを管理しているソフトウェアを変更する手間を省略する技術を開示しているものもある（例えば、特許文献１参照）。
【０００６】
上記技術では、アクセス対象であるメモリからのリードデータと期待値とを比較し、この比較結果に基づいてウエイト数を決定している。
【特許文献１】特開２０００−７６１２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、前記従来技術を用いた場合は、動作クロック周波数をシステムの動作モードに合わせて、複数使い分けるようなシステムにおいては、動作クロック周波数が変更されるたびに適切なウエイト設定を行うための冗長なアクセスが生じてしまう。
【０００８】
しかも、設定を行うべき周辺装置が多数ある場合には、それらすべてに対して、動作クロック周波数切り替え時に、適切なウエイト数決定のための冗長なアクセスが生じてしまう。
【０００９】
そこで、本発明は、上記問題点に鑑みてなされたものであって、ＣＰＵがバスを介して周辺装置にアクセスする際に要する、各種バスタイミングの設定値をソフトウェアにて管理する手間を削減するバスタイミング制御回路を提供することを目的とする。
【課題を解決するための手段】
【００１０】
前記従来技術の課題を解決するために、本発明に係るバスタイミング制御回路は、以下の特徴を備えている。
【００１１】
本発明に係るバスタイミング制御回路は、ＣＰＵがバスを介して周辺装置にアクセスするためのバスタイミング制御回路であって、前記ＣＰＵが前記バスを介して前記周辺装置にアクセスする際の一群のバスタイミング設定値を記憶する複数個のバスタイミング設定値テーブルと、前記一群のバスタイミング設定値を記憶している前記複数個のバスタイミング設定値テーブルから動作クロック周波数に応じて、最適な一群のバスタイミング設定値を選択、記憶するバスタイミング設定レジスタ群と、を備えたことを特徴とする。
【００１２】
また、本発明に係るバスタイミング制御回路において、前記バスタイミング設定値テーブルは、レジスタにより構成し、アクセスする前記周辺装置ごとに、要求されるシステムの動作クロック周波数の系統別に存在し、一括して前記一群のバスタイミング設定値が読み出されることを特徴とする。
【００１３】
また、本発明に係るバスタイミング制御回路において、前記バスタイミング設定値テーブルは、ＲＯＭにより構成されることを特徴とする。
【００１４】
また、本発明に係るバスタイミング制御回路において、前記バスタイミング設定値テーブルは、前記周辺装置に応じて、レジスタおよびＲＯＭの組み合わせにより構成し、アクセスする前記周辺装置ごとに、要求されるシステムの動作クロック周波数の系統別に存在し、一括して前記一群のバスタイミング設定値が読み出されることを特徴とする。
【００１５】
また、本発明に係るバスタイミング制御回路において、前記バスタイミング設定値テーブルに前記バスタイミング設定値を読み込んだ後に、該バスタイミング設定値を変更する場合、ソフトウェアにて変更することを特徴とする。
【００１６】
ここで、ＣＰＵがバスを介してアクセスする周辺装置とは、ＣＰＵが集積された半導体装置内部の回路またはメモリであっても、前記半導体装置外部のＬＳＩまたはメモリであっても構わない。
【００１７】
また、バスタイミング設定値とはＣＰＵがバスを介してアクセスする際に必要となる信号のタイミングを規定する値である。その一例として、リードアクセス時のウエイト数、ライトアクセス時のウエイト数、チップセレクト信号が有効になるタイミング、チップセレクト信号が無効になるタイミング、リードイネーブル信号が有効になるタイミング、リードイネーブル信号が無効になるタイミング、ライトイネーブル信号が有効になるタイミング、ライトイネーブル信号が無効になるタイミング、有効なライトデータが出力されるタイミング、ライトデータが無効になるタイミング、アドレス信号が有効になるタイミング、アドレス信号が無効になるタイミングが挙げられる。
【００１８】
上記構成によれば、ＣＰＵが集積された半導体装置の動作クロック周波数が切り替わった際に、決定された動作クロック周波数に対応するバスタイミング設定値がソフトウェアを介することなく、一括してバスタイミング設定値テーブルから読み出されることにより決定される。そのようにして設定されたバスタイミング設定値に基づき、ＣＰＵは各周辺装置に最適なバスタイミングのアクセスを行うことが可能である。
【発明の効果】
【００１９】
以上説明したように、本発明のバスタイミング制御回路によれば、ＣＰＵがバスを介して周辺装置にアクセスする際に必要なバスタイミング設定値を、システムの動作クロック周波数別に対応する最適なバスタイミング設定値テーブルとして保持しておくことにより、動作クロック周波数切り替え時におけるソフトウェアによるバスタイミング設定値変更の手間を削減することができる。
【００２０】
また、動作クロック周波数の系統数、周辺装置数およびバスタイミング設定値の変更項目が多ければ多いほど、ソフトウェアの手間の削減効果は大きくなる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明に係わるバスタイミング制御回路の実施形態について、添付した図面に基づき詳細に説明する。
【００２２】
図１は、本発明に係るバスタイミング制御回路、ＣＰＵおよび周辺装置等を含むシステム構成の一例を示すシステムブロック図である。
【００２３】
上記システムは、ＣＰＵ９、バスタイミング制御回路７、クロック制御回路１１、ＲＯＭ１、ＲＡＭ２、ＩＰ（内部周辺ＬＳＩ）３を内蔵した半導体装置１５と該半導体装置１５の外部にあり前記ＣＰＵ９がバス１６を介してアクセスするＦＬＡＳＨメモリ４、ＳＲＡＭ５、周辺ＬＳＩ６から構成される。
【００２４】
クロック制御回路１１は、ＰＬＬ回路を備えており、前記半導体装置１５の外部に存在する水晶発振子又は外部クロック発生器（図示していない）からクロック信号の供給を受けて、ＰＬＬにより該クロック信号に同期したシステムに必要な動作クロック信号１０を生成する。
【００２５】
さらに、生成された動作クロック信号１０からシステムに必要な動作クロック信号１０を選択し、供給すると共に、選択された動作クロック信号１０に対応するバスタイミング設定値選択信号１３をバスタイミング制御回路７に伝える機能を備える。
【００２６】
本実施形態に係るバスタイミング制御回路７は、バスタイミング設定値テーブル１４、バスタイミング設定レジスタ群１２およびバスインタフェース８から構成される。
【００２７】
図２は、バスタイミング制御回路７におけるバスタイミング設定値テーブル１４とバスタイミング設定レジスタ群１２とを含む詳細構成図である。
【００２８】
ここでは、動作クロック周波数を３系統としている。２３はバスタイミング設定値テーブル１であり、動作クロック周波数１でシステムが動作するときのバスタイミング制御に関する各種設定値が格納されているが、図２ではその中でリードウエイト数、チップセレクト信号が有効になるタイミング、リードイネーブル信号が有効になるタイミングのみ図示してある。
【００２９】
また、実際にはこのような構成が周辺装置ごとに存在しているが、図２では省略してある。以下同様に２４，２５はそれぞれバスタイミング設定値テーブル２，３である。２０，２１，２２はセレクタ列でクロック制御回路から供給される動作クロック周波数に対応するバスタイミング設定値選択信号２６に従って、バスタイミング設定値テーブル中の設定値を選択する。１７，１８，１９は、バスタイミング設定レジスタ群であり、複数のバスタイミング設定値テーブルの中から選択され、一括して読み込まれたバスタイミング設定値を保持する。
【００３０】
ここで、前記バスタイミング設定レジスタ群をソフトウェアにて変更可能にしておくことにより、必要に応じて、設定されたバスタイミング設定値を個別に変えることができる。バスインタフェース８は、バスタイミング設定レジスタに格納された設定値を参照し、その値に基づいて各種信号を制御し、バスを介してデータの送受を行う。
【００３１】
本実施形態において前記バスタイミング設定値テーブルはレジスタまたはＲＯＭ、あるいは周辺装置に応じたレジスタおよびＲＯＭの組み合わせによる構成をとる。バスタイミング設定値テーブルをレジスタにて構成した場合は、図１に記載の半導体装置１５の電源投入後に１度だけ、周辺装置ごとの各動作クロック周波数に最適なバスタイミング設定値をバスタイミング設定値テーブルに書き込んでおく。上記構成であれば、半導体装置１５の製造後に該半導体装置１５の外部周辺装置に変更が生じても対応可能である。
【００３２】
また、バスタイミング設定値をＲＯＭで構成した場合は半導体装置１５の電源投入後すぐにバスタイミング設定値テーブルから値を読み出すことが可能になる。
【００３３】
更に、半導体装置１５の製造時に各動作周波数でのアクセスタイミングが確定する、半導体装置１５の内部周辺装置に対応するバスタイミング設定値テーブルは、ＲＯＭで構成し、半導体装置１５の外部周辺装置に対応するバスタイミング設定値テーブルは、レジスタによって構成することで、より柔軟なシステム設計を行うことが可能である。
【００３４】
図３は、動作クロック周波数とそれに対応するバスタイミング設定値テーブルの関係を示すタイミングチャートである。
【００３５】
図３に示すように、各動作クロック周波数に対応したテーブルが参照されることになる。動作クロック周波数１でシステムが動作しているときは、バスタイミング設定値テーブル１の設定値が選択されて、その選択された設定値が用いられる。同様に動作クロック周波数２，３のときには、それぞれバスタイミング設定値テーブル２，３がバスタイミング設定値テーブルから読み込まれる。
【００３６】
更に、周辺装置へのリードアクセス時の動作を図４に示すタイミングチャートを用いて詳細に説明する。
【００３７】
図４は、周辺装置へのリードアクセス時の一例のタイミングを示すタイミングチャートを示す図である。
【００３８】
なお、リードアクセス時のアクセス動作を説明するにあたり、図５に示すリードアクセス時の基本アクセスのタイミングチャートを説明した上で、図４に示すリードアクセス時のアクセス動作を説明する。
【００３９】
また、図４に示すアクセスにおいて各動作クロック周波数で設定されているバスタイミング設定値テーブルの一例を図６に示す。
【００４０】
図５に示すように、リードアクセス時の基本サイクルは、２クロックサイクルからなり、有効アドレス出力、チップセレクト信号が有効になるタイミングが略同時で、その１クロックサイクル後にリードイネーブル信号が有効になり、さらに、その１クロックサイクル後にアドレス、チップセレクト信号、リードイネーブル信号が無効になる。
【００４１】
図４に示すように、システムが動作クロック周波数１で動作しているときは、図６に示す周波数１の設定値が読み込まれ、リード時のウエイト数は３となり、アドレス、チップセレクト信号、リードイネーブル信号に関するタイミングはデフォルトとなる。
【００４２】
ここで、デフォルトとは、図５に示される基本サイクルのタイミングと同じであることを意味する。
【００４３】
次に、動作クロック周波数が周波数２に切り替わると、図６の周波数２の設定値が読み込まれ、リード時のウエイト数は８となり、更にリードイネーブル信号の有効タイミングがデフォルトに対して１クロックサイクル遅延して有効になる。
【００４４】
つまり、デフォルトでアドレス、チップセレクト信号が有効になってから、１クロックサイクル後に有効になっていたリードイネーブル信号が、２クロックサイクル後に有効になるようにタイミングが変更される。
【００４５】
以上説明したように、周波数１から周波数２にシステムの動作クロック周波数が切り替わる際に、リードウエイト数の設定変更、およびリードイネーブル信号有効タイミングの設定変更をソフトウェアによるプログラムを変更することなく行うことができる。
【図面の簡単な説明】
【００４６】
【図１】本発明に係るバスタイミング制御回路、ＣＰＵおよび周辺装置等を含むシステム構成の一例を示すシステムブロック図である。
【図２】バスタイミング制御回路７におけるバスタイミング設定値テーブル１４とバスタイミング設定レジスタ群１２とを含む詳細構成図である。
【図３】動作クロック周波数とそれに対応するバスタイミング設定値テーブルの関係を示すタイミングチャートである。
【図４】周辺装置へのリードアクセス時の一例のタイミングを示すタイミングチャートを示す図である。
【図５】リードアクセスの基本サイクルを示すタイミングチャートである。
【図６】リードアクセス時における各動作クロック周波数で設定されているバスタイミング設定値テーブルの一例を示す図である。
【符号の説明】
【００４７】
１  ＲＯＭ
２  ＲＡＭ
３  ＩＰ
４  ＦＬＡＳＨメモリ
５  ＳＲＡＭ
６  周辺ＬＳＩ
７  バスタイミング制御回路
８  バスインタフェース
９  ＣＰＵ
１０  動作クロック信号
１１  クロック制御回路
１２  バスタイミング設定レジスタ群
１３，２６  バスタイミング設定値選択信号
１４，２３，２４，２５  バスタイミング設定値テーブル
１５  半導体装置
１６  バス信号
１７  リードウエイト数格納レジスタ
１８  チップセレクト信号有効タイミング格納レジスタ
１９  リードイネーブル信号有効タイミング格納レジスタ
２０，２１，２２  バスタイミング設定値選択用セレクタ
【図１】
2006202172.tif 000003
【図２】
2006202172.tif 000004
【図３】
2006202172.tif 000005
【図４】
2006202172.tif 000006
【図５】
2006202172.tif 000007
【図６】
2006202172.tif 000008