(57)【要約】【課題】半導体集積回路装置において、簡便な方法により、非整数倍のクロックで動作するモジュール間の信号同期を実現する機能を提供する。【解決手段】半導体集積回路装置は、第１の内部モジュールと、第１の内部モジュールと内部バスを介してデータ転送を行う第２の内部モジュールと、第１の基準クロックを生成して第１の内部モジュールに供給し、第２の基準クロック及び第１の基準クロックのクロックエッジの位置に対応する第２の基準クロックの有効なクロックエッジの位置を示すクロック同期信号を生成して第２の内部モジュールに供給するクロック生成部とを備え、第１の内部モジュールは、第１の基準クロックのクロックエッジに従ってデータ転送を行い、第２の内部モジュールは、第２の基準クロックとクロック同期信号に基づいて有効なクロックエッジに従ってデータ転送を行う。【選択図】図１４
2008041106.tif 000002
【特許請求の範囲】
【請求項１】
内部バスと、
前記内部バスに接続され、所定の機能を実現する第１のモジュール本体を有する第１の内部モジュールと、
前記内部バスに接続され、所定の機能を実現する第２のモジュール本体を有し、前記第１の内部モジュールと前記内部バスを介してデータ転送を行う第２の内部モジュールと、
第１の基準クロックを生成して前記第１の内部モジュールに供給するとともに、
第２の基準クロック及び前記第１の基準クロックのクロックエッジの位置に対応する前記第２の基準クロックの有効なクロックエッジの位置を示すクロック同期信号を生成して前記第２の内部モジュールに供給するクロック生成部と
を備える半導体集積回路装置であって、
前記第１の内部モジュールは、前記第１のモジュール本体において前記第１の基準クロックに従って所定の処理を行うとともに、前記第１の基準クロックのクロックエッジに従ってデータ転送を行い、
前記第２の内部モジュールは、前記第２のモジュール本体において前記第２の基準クロックに従って所定の処理を行うとともに、前記第２の基準クロックと前記クロック同期信号に基づいて前記有効なクロックエッジに従ってデータ転送を行うことを特徴とする半導体集積回路装置。
【請求項２】
内部バスと、
前記内部バスに接続され、所定の機能を実現する第１のモジュール本体を有する第１の内部モジュールと、
前記内部バスに接続され、所定の機能を実現する第２のモジュール本体を有し、前記第１の内部モジュールと前記内部バスを介してデータ転送を行う第２の内部モジュールと、
基準クロック及び前記基準クロックの有効なクロックエッジの位置を示すクロック同期信号を生成して、前記第１の内部モジュール及び前記第２の内部モジュールに供給するクロック生成部と
を備える半導体集積回路装置であって、
前記第１の内部モジュールは、前記基準クロック及び前記クロック同期信号に基づいて前記第１のモジュール本体に供給される内部クロックを生成する内部クロック生成部を有し、前記第１のモジュール本体において前記内部クロックに従って所定の処理を実行するとともに、前記内部クロックのクロックエッジに従ってデータ転送を行い、
前記第２の内部モジュールは、前記第２のモジュール本体において前記基準クロックに従って所定の処理を実行するとともに、前記基準クロックと前記クロック同期信号に基づいて前記有効なクロックエッジに従ってデータ転送を行うことを特徴とする半導体集積回路装置。
【請求項３】
内部バスと、
前記内部バスに接続され、所定の機能を実現する第１のモジュール本体を有する第１の内部モジュールと、
前記内部バスに接続され、所定の機能を実現する第２のモジュール本体を有し、前記第１の内部モジュールと前記内部バスを介してデータ転送を行う第２の内部モジュールと、
第１の基準クロック及び前記第１の基準クロックの有効なクロックエッジの位置を示す第１のクロック同期信号を生成して前記第１の内部モジュールに供給するとともに、第２の基準クロック及び前記第２の基準クロックの有効なクロックエッジの位置を示す第２のクロック同期信号を生成して前記第２の内部モジュールに供給するクロック生成部と
を備える半導体集積回路装置であって、
前記第１の内部モジュールは、前記第１のモジュール本体において前記第１の基準クロックに従って所定の処理を実行するとともに、前記第１の基準クロック及び前記第１のクロック同期信号に基づいて前記第１の基準クロックのクロックエッジに従ってデータ転送を行い、
前記第２の内部モジュールは、前記第２のモジュール本体において前記第２の基準クロックに従って所定の処理を実行するとともに、前記第２の基準クロックと前記第２のクロック同期信号に基づいて前記第２の基準クロックの有効なクロックエッジに従ってデータ転送を行うことを特徴とする半導体集積回路装置。
【請求項４】
請求項３記載の半導体集積回路装置であって、
前記第１の内部モジュールと前記第２の内部モジュールの間のデータ転送は、前記第１の基準クロックのクロック周波数と前記第２の基準クロックのクロック周波数の最大公約数に等しい動作周波数で行われることを特徴とする半導体集積回路装置。
【請求項５】
請求項３記載の半導体集積回路装置であって、
前記第１の基準クロックの有効なクロックエッジの位置と、前記第２の基準クロックの有効なクロックエッジの位置とは互いに一致していることを特徴とする半導体集積回路装置。
【請求項６】
請求項３記載の半導体集積回路装置であって、
前記第１の内部モジュール及び前記第２の内部モジュールは、前記内部バス上のデータ信号を取り込むとき、前記第１のクロック同期信号又は前記第２のクロック同期信号に基づいて、前記内部バスに出力されたデータ信号の有効又は無効を示すバスコントロール信号を生成し、前記バスコントロール信号に従って前記データ信号を取り込むインターフェイス部を備えることを特徴とする半導体集積回路装置。
【請求項７】
請求項６記載の半導体集積回路装置であって、
前記第１の内部モジュールのデータバス幅と前記第２の内部モジュールのデータバス幅が異なっており、
前記第１の内部モジュール及び前記第２の内部モジュールのデータバス幅の小さい方の内部モジュールは、大きい方の内部モジュールから前記内部バス上に出力されたデータ信号を前記バスコントロール信号に従って分割して取り込むことを特徴とする半導体集積回路装置。
【請求項８】
請求項６記載の半導体集積回路装置であって、
前記第１の内部モジュールのデータバス幅と前記第２の内部モジュールのデータバス幅が異なっており、
前記第１の内部モジュール及び前記第２の内部モジュールのデータバス幅の小さい方の内部モジュールは、複数の前記インターフェイス部を有し、大きい方の内部モジュールから前記内部バス上に出力されたデータ信号を前記複数のインターフェイス部を介して並列的に取り込むことを特徴とする半導体集積回路装置。
【請求項９】
内部バスと、前記内部バスに接続され、所定の機能を実現する第１のモジュール本体を有する第１の内部モジュールと、前記内部バスに接続され、所定の機能を実現する第２のモジュール本体を有し、前記第１の内部モジュールと前記内部バスを介してデータ転送を行う第２の内部モジュールとを備える半導体集積回路装置で、前記第１の内部モジュールと前記第２の内部モジュールの間のデータ伝送を制御するデータ転送制御方法であって、
第１の基準クロック及び前記第１の基準クロックの有効なクロックエッジの位置を示す第１のクロック同期信号を生成して前記第１の内部モジュールに供給する第１のクロック生成ステップと、
第２の基準クロック及び前記第２の基準クロックの有効なクロックエッジの位置を示す第２のクロック同期信号を生成して前記第２の内部モジュールに供給する第２のクロック生成ステップと、
前記第１のモジュール本体において前記第１の基準クロックに従って所定の処理を実行するとともに、前記第１の基準クロック及び前記第１のクロック同期信号に基づいて前記第１の基準クロックの有効なクロックエッジに従ってデータ転送を行うように制御する第１のデータ転送制御ステップと、
前記第２のモジュール本体において前記第２の基準クロックに従って所定の処理を実行するとともに、前記第２の基準クロックと前記第２のクロック同期信号に基づいて前記第２の基準クロックの有効なクロックエッジに従ってデータ転送を行うように制御する第２のデータ転送制御ステップと
を有することを特徴とするデータ転送制御方法。
【請求項１０】
内部バスと、
前記内部バスに接続され、所定の機能を実現するモジュール本体を有する複数の内部モジュールと、
基準クロック及び前記基準クロックの有効なクロックエッジの位置を示すクロック同期信号を生成し、前記複数の内部モジュールの少なくとも１つに供給するクロック生成部と
を備える半導体集積回路装置であって、前記複数の内部モジュールの少なくとも１つは、前記基準クロックと前記クロック同期信号に基づいて、所定の内部処理を行うことを特徴とする半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バスに接続される内部モジュールの低消費電力化のための半導体集積回路装置及びクロック制御方法に関する。より詳細には、本発明は、クロック及びクロック同期信号を制御することにより内部モジュール及び内部バスの動作周波数を制御して低消費電力化を図る半導体集積回路装置及びクロック制御方法に関する。
【背景技術】
【０００２】
近年、半導体プロセッサの高速化・大規模化に伴い、プロセッサの消費電力をいかに削減するかが大きな課題となっている。半導体集積回路装置の消費電力削減のため、１）プロセッサの高速動作が不要なときに、動的にクロック周波数を低くする方法、２）プロセッサ内部の各モジュールに、必要に応じた動作周波数のクロックをそれぞれ供給する方法、３）動作が不要なモジュールのクロックを停止させる方法（レジスタ等で制御）、４）ゲーテッドクロックを使用することにより、クロックツリーの電力を削減する方法などが用いられてきた。
【０００３】
ここで、半導体プロセッサの主な電力消費要因Ｐは次式によって表すことができる。
【０００４】
Ｐ＝Ｃ×Ｖ＾２×Ｆ（Ｃ：負荷容量、Ｖ：電源電圧、Ｆ：動作周波数）
上述の方法は、この式における動作周波数Ｆ（又は、負荷容量のスイッチング確率）に注目して、電力削減を図る方法である。電源電圧Ｖを制御することにより、低消費電力化を図る方法も多数実施されているが、近年では、主に動作を要求されていない周辺モジュールへのクロック供給を制御する方法が注目されている。
【０００５】
一方、本発明に関連する従来の技術として、特開２００２−３２８７４４号公報は、クロック周波数を切り換える際のモジュール間のデータ転送の同期はずれを防止するための装置を開示している。
【０００６】
特開２００３−５８２７１号公報は、クロック周波数を切り換える際やパワーダウンモード移行時におけるハングアップの発生を回避するための装置及び方法を開示している。
【０００７】
特開平６−２０２７５４号公報は、集積回路の機能単位（モジュール）をパワーダウンする装置及び方法を開示している。各モジュールの状況を監視して、必要のない場合にはそのモジュールへのクロック入力を停止する。
【０００８】
特開平８−１９４６６３号公報は、コンピュータシステム及び周辺バスのためのクロックライン特性を能動化又は不能化する方法を開示している。クロック制御用のコマンドレジスタを設け、動作を要しないモジュールへのクロック供給を停止する等のクロック制御を行う。
【０００９】
また、特開２０００−３５８８６号公報は、対応するクロック比が整数倍でない場合に動作する各モジュール間で信号乗り換えを行う際にラッチを使用して各クロック間の信号同期を行うことを開示している。
【特許文献１】特開２００２−３２８７４４号公報
【特許文献２】特開２００３−５８２７１号公報
【特許文献３】特開平６−２０２７５４号公報
【特許文献４】特開平８−１９４６６３号公報
【特許文献５】特開２０００−３５８８６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
近年のシステムＬＳＩ開発の進展に伴って、多数の機能ＩＰマクロ（特定の機能を実現するための機能単位）を１つのチップに搭載するシステム・オン・チップ（ＳＯＣ）開発が可能となってきている。回路規模が巨大化すると、それだけ消費電力も大きくなるため、いかに消費電力を抑えるかが大きな課題となっている。
【００１１】
このようなシステム・オン・チップ（ＳＯＣ）は、通常、多数の機能ＩＰマクロを搭載した内部モジュールを有する。その消費電力対策として、従来、各モジュールが動作可能（活性化状態）であるか否かを示すレジスタ等を設け、そのモジュールが動作不可／動作不要（不活性状態）である場合に、そのモジュールへのクロック供給を停止する方式が取られてきた。
【００１２】
しかし、このような従来の方式では、一旦、特定のモジュールのクロック供給をＯＮにすると、そのモジュールへのバスアクセス等の有無や、そのモジュール自体の動作状態に関わらず、そのモジュールへのクロックは供給され続ける。半導体チップの消費電力の１０〜３０％近く（この値はチップの回路構成に依存する）は、クロック・ツリー（クロック・スキュー調整用にツリー状に挿入されるバッファ群）で消費されていることを鑑みると、マクロＩＰ非動作時の冗長なクロック供給を停止する、あるいは抑止することが望ましい。
【００１３】
言い換えれば、たとえゲーテッド・クロック等によりデータバスや演算器等の不要な信号遷移は抑えられたとしても、クロック・ツリーにおいては無駄な電力を消費し続けていることになる。ゲーテッド・クロック等を使用していなければ、さらに顕著に無駄な電力が消費されることになる。この余分な電力消費を削減していくことで、チップの低消費電力化を実現することが望まれている。
【００１４】
さらに、一般にＣＰＵコア、ＳＤＲＡＭコントローラや、周辺バス・コントローラ、タイマ等の各種内部モジュールを有する半導体プロセッサにおいて、内部の特定のモジュールは常に一定の処理能力を要し、ＣＰＵは高速動作が要求される。このような半導体プロセッサにおいて、アプリケーションの処理に最低限必要なクロック周波数を供給して、プロセスの出来具合（製造バラツキ）、電源電圧、温度、等の条件に応じて、最大性能を引き出す等の要求を満足させるために、ＣＰＵコア部と、特定の内部モジュールとのクロック周波数のクロック比を非整数倍、例えば０．５倍きざみ制御したい場合がある。
【００１５】
かかる要求に対して、プロセッサ内のクロック生成部において、クロック比が、非整数倍の周波数を有する複数のクロックを生成して、ＣＰＵコア部を含む各内部モジュールに供給すると、各クロックのクロックエッジが等間隔の場合に、早い方のクロックの倍の周波数で、モジュール間の信号同期回路部が動作しなければならないという問題がある。
【００１６】
このような高速動作を行う回路が存在すると、ＬＳＩ開発における論理設計、レイアウト、タイミング検証等において、大きな問題となる。
【００１７】
本発明は、上記の点に鑑みてなされたものであり、半導体集積回路装置及びクロック制御方法において、簡便な方法により、非整数倍のクロックで動作するモジュール間の信号同期を実現する機能を提供することを目的とする。
【課題を解決するための手段】
【００１８】
上記課題を解決するため、本発明の半導体集積回路装置は、内部バスと、前記内部バスに接続され、所定の機能を実現する第１のモジュール本体を有する第１の内部モジュールと、前記内部バスに接続され、所定の機能を実現する第２のモジュール本体を有し、前記第１の内部モジュールと前記内部バスを介してデータ転送を行う第２の内部モジュールと、第１の基準クロックを生成して前記第１の内部モジュールに供給するとともに、第２の基準クロック及び前記第１の基準クロックのクロックエッジの位置に対応する前記第２の基準クロックの有効なクロックエッジの位置を示すクロック同期信号を生成して前記第２の内部モジュールに供給するクロック生成部とを備える半導体集積回路装置であって、前記第１の内部モジュールは、前記第１のモジュール本体において前記第１の基準クロックに従って所定の処理を行うとともに、前記第１の基準クロックのクロックエッジに従ってデータ転送を行い、前記第２の内部モジュールは、前記第２のモジュール本体において前記第２の基準クロックに従って所定の処理を行うとともに、前記第２の基準クロックと前記クロック同期信号に基づいて前記有効なクロックエッジに従ってデータ転送を行うことを特徴とする。
【００１９】
更に、上記課題を解決するため、本発明の半導体集積回路装置は、内部バスと、前記内部バスに接続され、所定の機能を実現する第１のモジュール本体を有する第１の内部モジュールと、前記内部バスに接続され、所定の機能を実現する第２のモジュール本体を有し、前記第１の内部モジュールと前記内部バスを介してデータ転送を行う第２の内部モジュールと、第１の基準クロック及び前記第１の基準クロックの有効なクロックエッジの位置を示す第１のクロック同期信号を生成して前記第１の内部モジュールに供給するとともに、第２の基準クロック及び前記第２の基準クロックの有効なクロックエッジの位置を示す第２のクロック同期信号を生成して前記第２の内部モジュールに供給するクロック生成部とを備える半導体集積回路装置であって、前記第１の内部モジュールは、前記第１のモジュール本体において前記第１の基準クロックに従って所定の処理を実行するとともに、前記第１の基準クロック及び前記第１のクロック同期信号に基づいて前記第１の基準クロックのクロックエッジに従ってデータ転送を行い、前記第２の内部モジュールは、前記第２のモジュール本体において前記第２の基準クロックに従って所定の処理を実行するとともに、前記第２の基準クロックと前記第２のクロック同期信号に基づいて前記第２の基準クロックの有効なクロックエッジに従ってデータ転送を行うことを特徴とする。
【００２０】
上記の半導体集積回路装置によれば、対応するクロック比が整数倍でない場合にも、それぞれのクロックで動作するモジュール間における非常に高速な信号乗り換えをすることなく、所望の動作周波数で動作可能とすることができる。
【発明の効果】
【００２１】
本発明の半導体集積回路装置及びクロック制御方法によれば、クロック・ツリーにおける消費電力や、クロック・ツリーに接続されているモジュール内の冗長な電力消費を削減することが可能となる。複数の機能ＩＰマクロを搭載した内部モジュールを有するシステム・オン・チップ等の半導体集積回路装置における消費電力削減に有効である。また、本発明のクロック同期制御方式によれば、対応する高速クロックと低速クロックのクロック比が整数倍で無い場合にも、それぞれのクロックで動作するモジュール間における非常に高速な信号乗り換えをすることなく、所望の動作周波数でプロセッサを動作させることが可能となる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施の形態について図面を用いて説明する。
【００２３】
図１は、本発明の一実施例における基本的なプロセッサの構成を示す。
【００２４】
図１において、１は外部入力クロック、２はクロック制御を行うための外部入力端子信号、３は本実施例におけるクロック生成部への入力クロックを生成するＰＬＬ（ｐｈａｓｅ−ｌｏｃｋｅｄ  ｌｏｏｐ）回路、４は本実施例におけるクロック生成部、４ａはクロック生成部４内の分周回路、５は本実施例におけるＣＰＵコア、５ａはＣＰＵコア５内のバスインターフェイス（ＢＩ）、６は本実施例における内部モジュール、６ａは内部モジュール６内のバスインターフェイス（ＢＩ）、７は本実施例における内部モジュール、７ａは内部モジュール７内のバスインターフェイス（ＢＩ）、８は内部モジュール７内のクロック制御レジスタ、９は本実施例における内部オンチップバス（ＯＣＢ）、１０は本実施例におけるＣＰＵコア５へ供給される高速の基準クロック（バスクロック）、１１は本実施例におけるＣＰＵコア５へ供給される基準クロック１０に対応したクロック同期信号、１２は本実施例における内部モジュール６及び７へ供給される低速の基準クロック、１３は本実施例における内部モジュール６及び７へ供給されるクロック同期信号、１４は本実施例におけるＣＰＵコア５からクロック生成部４へのプログラム命令によるクロック制御信号、１５は本実施例のクロック制御レジスタ８からクロック生成部４へのクロック制御信号をそれぞれ示す。
【００２５】
図１のプロセッサに、本実施例に係る半導体集積回路装置が適用されている。図１のプロセッサは、ＰＬＬ回路３と、クロック生成部４と、ＣＰＵコア５と、内部モジュール６と、内部モジュール７と、内部オンチップバス（ＯＣＢ）９を含む。本実施例の半導体集積回路装置は、クロック生成部４と、各内部モジュール６、７と、内部オンチップバス８を含む。
【００２６】
ＰＬＬ回路３は、外部入力クロック１を受け取り、外部入力クロック１に同期したＰＬＬ出力信号をクロック生成部４へ出力する。
【００２７】
クロック生成部４は、外部入力端子を介して外部入力端子信号２を受取ると共に、ＰＬＬ回路３からのＰＬＬ出力信号を受取る。また、クロック生成部４は、ＣＰＵコア５から送出されるクロック制御信号１４を受取って、クロック同期制御に用いる。また、クロック生成部４は、内部モジュール７内に設けられたクロック制御レジスタ８から送出されるクロック制御信号１５を受取って、クロック同期制御に用いる。
【００２８】
ＣＰＵコア５、内部モジュール６、及び内部モジュール７は、それぞれ、バスインターフェイス５ａ、バスインターフェイス６ａ、及びバスインターフェイス７ａを介してオンチップバス９と接続されている。ＣＰＵコア５及び内部モジュール６、７の内部では、供給された基準クロックとクロック同期信号に基づいて内部動作に適したクロック周波数の内部クロックを生成する。
【００２９】
図２は、本発明の一実施例における基準クロック及びクロック同期信号を説明するための波形図である。
【００３０】
図２において、（１）は本実施例における基準クロック、（２）は本実施例におけるクロック同期信号、（３）は本実施例における基準クロック及びクロック同期信号を用いて生成されたゲーテッド・クロック（内部クロック）をそれぞれ示す。
【００３１】
図２に示したように、本発明のゲーテッド・クロック（内部クロック）（３）は、基準クロック（１）の複数のパルスのうち、その立上りエッジ（ＬＯＷからＨＩＧＨへ変化するエッジ）がクロック同期信号（２）がＨＩＧＨレベルである期間にあるパルスのみを通過させるように制御することにより生成される。基準クロックよりも周波数の低い内部クロックが生成され、クロック同期信号（２）の周期やデューティ比を変更することにより内部クロックの周波数が変更される。
【００３２】
図３は、本発明の一実施例に係る半導体集積回路装置の内部モジュールを示す。
【００３３】
図３において、３１は特定の機能を有するオンチップバスに接続された内部モジュール、３２は内部モジュール３１内の内部クロック生成用の同期制御モジュール、３３は内部モジュール３１内の特定機能を実現するためのモジュール本体、３４はモジュール本体３３内の制御ステートマシン、９は内部オンチップバス、１６は基準クロック、１７はクロック同期信号、１８は内部モジュール３１に対する割り込み要求、ＤＭＡ（ｄｉｒｅｃｔ  ｍｅｍｏｒｙ  ａｃｃｅｓｓ）リクエスト等の要求信号、１９はオンチップバス９のバス・プロトコルで定義されるバスリクエスト信号、２０はオンチップバス９のバス・プロトコルで定義されるバスアクノリッジ信号、２１は同期制御モジュール３２で基準クロックとクロック同期信号を用いて生成されたゲーテッドクロック（内部クロック）、２２はモジュール本体３３の制御ステートマシン３４から同期制御モジュール３２に通知されるクロック制御信号（例えば、制御ステートがＩＤＬＥ状態であることを示す信号）、３２ａは同期制御モジュール３２内のゲーテッドクロック生成用の論理回路、３２ｂは同期制御モジュール３２内の制御ステートマシン、３７は制御ステートマシン３２ｂから出力され、クロック同期信号１７の論理回路３２ａへの入力を制御する内部クロック制御信号をそれぞれ示す。
【００３４】
同期制御モジュール３２は、基準クロック１６、クロック同期信号１７及び内部クロック制御信号３７に基づいて内部クロック２１を生成し、論理回路３２ａから出力する。モジュール本体３３は同期制御モジュール３２から出力される内部クロック２１に従って所定の処理を実行する。同期制御モジュール３２の詳細については後述する。
【００３５】
図１に戻って、クロック生成部４では、特定の基準クロック１０（例えば、バスクロック）と、複数の低速クロック１２（例えば、内部モジュールへの供給クロック）を生成すると同時に、各低速基準クロック１２とのクロック同期を図るために基準クロックの所定倍の周期で生成される各クロック同期信号１３を生成し、各プロセッサ内の各内部モジュールへ供給する。この基準クロックと対応するクロック同期信号は、１組でもいいし、複数組み存在してもかまわない。
【００３６】
また、クロック同期信号１３は、必要なクロックエッジの直前にアサート          されるものでも、さらに基準クロック１サイクル分前にあっても良い。
【００３７】
本発明の半導体集積回路装置では、基準クロック１０、１２とクロック同期信号１１、１３により、各クロック間の乗り換え制御回路（例えば、各内部モジュール内のバスインターフェイスやバスブリッジ等）においては、異なるクロック周波数のクロックで生成された信号間の同期制御を行う。
【００３８】
本発明の半導体集積回路装置は、図１のようなクロック生成部４を有するプロセッサの構成において、基準クロックとクロック同期信号を受け取る各内部モジュール内に、内部クロックを生成するための同期制御モジュール（又はＳＹＮＣモジュール）を設けたことを特徴とする。
【００３９】
本発明の半導体集積回路装置は、各内部モジュールへ供給される基準クロックのクロック周波数比のバリエーションや、各内部モジュールへのクロック供給のＯＮ／ＯＦＦに関する制御を行うための制御機構を有する。具体的には、ＬＳＩの外部端子や、内部のクロック制御レジスタ、又は、プロセッサのインストラクション・セットの中の命令等で制御を行う。
【００４０】
プロセッサ内のクロック生成部には、各基準クロックとクロック同期信号を選択的に停止、又は、クロック周波数を変更するように制御する機構（特許文献２参照）や、クロック制御に先立つ各種モジュールとのハンドシェイク制御を行う機能（特許文献１参照）を設けてもよい。
【００４１】
本発明の一実施例に係る半導体集積回路装置では、バスに接続された各内部モジュール内に同期制御モジュールを設け、同期制御モジュールで各内部モジュール内の内部クロックを生成する。同期制御モジュールは、内部クロック供給を停止させる機能、又は内部クロック供給を減速化する機能を備える。ここで、バスに接続された各内部モジュールには、バスマスター及びバススレーブの双方が含まれる。
【００４２】
まず、バスアクセスが無い場合の内部クロック停止方法について説明する。図４は、図３で示した本発明の一実施例に係る同期制御モジュールの構成例を示す。
【００４３】
図４において、４１は基準クロック、４２はクロック同期信号、４３は同期制御モジュール３２内で生成される内部クロック制御信号、４４はクロック同期信号４２をクロック制御信号４３でマスクするためのＡＮＤ素子、４５はラッチセル、４６はゲーテッド・クロックを生成するためのＡＮＤ素子、４７は生成されたゲーテッド・クロックをそれぞれ示す。
【００４４】
図５は、図４の同期制御モジュールの動作を説明するための波形図である。
【００４５】
図５において、（１）は図４における基準クロック４１（バス・クロック）、（２）は図４におけるクロック同期信号４２（この場合、最速クロックを示すＨＩＧＨレベル固定に設定されている）、（３）はバス・リクエスト信号（ｂｕｓ＿ｒｅｑ）、（４）はパイプライン・バスでいうアドレス・フェーズ信号、（５）はバス上の転送がリードかライトのどちらであるかを示す信号（ｒｅａｄ／ｗｒｉｔｅ）、（６）はバスアクノリッジ信号（ｂｕｓ＿ａｃｋ）、（７）はバスに返されるリードデータ（ｒｅａｄ＿ｄａｔａ）、（８）は同期制御モジュール３２内で割込み要求やＤＭＡリクエスト等の要求信号、モジュール本体３３内の制御ステートマシン３４からのクロック制御信号、バスリクエスト信号、及びバスアクノリッジ信号のいずれかに基づいて生成される内部クロック制御信号、（９）は基準クロック、クロック同期信号及び内部クロック制御信号により生成されたゲーテッド・クロックをそれぞれ示す。
【００４６】
図３及び図４に示した回路構成により、バスに接続される内部モジュール内に、内部クロックを生成する同期制御モジュールを設けて、クロック生成部４から供給される基準クロック（バスクロック）及びクロック同期信号、及び内部モジュール内で生成される内部クロック制御信号から、当該モジュール内の内部クロックをこの同期制御モジュールで生成する。
【００４７】
すなわち、図５に示したように、ゲーテッド・クロック生成部へのクロック同期信号の供給・停止を内部クロック制御信号によって制御することにより、内部クロックの供給・停止を制御する。また、図５では基準クロックと同じ周波数であることを示すＨＩＧＨレベル固定に設定されているが、図２に示したように、クロック同期信号の周期を基準クロックの所定倍に設定し、デューティ比を適切に設定することにより、内部クロックの周波数を基準クロックのそれよりも低い所定の値に設定することができる。
【００４８】
バス転送の発生を知らせるバスリクエスト信号や、外部割込み要求信号やＤＭＡ（ｄｉｒｅｃｔ  ｍｅｍｏｒｙ  ａｃｃｅｓｓ）リクエスト信号等により、同期制御モジュール３２内の制御ステートマシン３２ｂにおいて、当該内部モジュールが通常動作する必要のある期間を判定し、通常動作が不要な期間は、内部クロック制御信号をネゲートすることによりクロック同期信号をマスクして内部クロックの供給を停止させ、通常動作が必要な期間は、内部クロック制御信号をアサートしてクロック同期信号をマスクせずにそのまま、クロック生成用ゲーテッド・クロック部へ供給することにより、内部クロックを生成する。
【００４９】
同期制御モジュールにおける通常動作を要する期間の判定について、内部クロックの供給を開始するタイミング、すなわち内部クロック制御信号をアサートするタイミングとしては、バスリクエストが発生したタイミングや、外部割込み等の何らかの割り込み要因に関する信号がアサートされたタイミングとすればよい。
【００５０】
内部クロックの供給を停止するタイミング、すなわち内部クロック制御信号をネゲートするタイミングについて、若干考慮を要する。具体的には、クロック供給対象のモジュールが単純なレジスタファイル等であれば、バスアクセスの終了を示すバスアクノリッジ信号でバス転送の終了を検出したタイミングで、それ以降のクロック供給を停止させることができる。
【００５１】
ところが、バスアクセス終了後も一定期間、動作し続ける必要があるモジュールにおいては、バスアクノリッジ信号のみでクロックの停止タイミングを決めることはできない。そこで、バスアクセス終了後も一定期間クロック供給が必要なモジュールの内部クロックを生成する同期制御モジュールにおいては、モジュール内部の動作状態を特定の信号によりモニターし、動作が完了するまでクロックを供給する構成とすることが必要となる。
【００５２】
図５の例では、バスリクエスト信号ｂｕｓ＿ｒｅｑの立上りエッジに応答して内部クロック制御信号がアサートされ、バスアクノリッジ信号ｂｕｓ＿ａｃｋの立下りエッジに応答して内部クロック制御信号がネゲートされる。
【００５３】
この内部状態をモニターする信号として、例えば、内部モジュール３１の内部動作を制御する制御ステートマシン（モジュール本体３３内の制御ステートマシン３４）から送出される、ＩＤＬＥ状態であることを示す信号（例えば、クロック制御信号２２）等を用いる。
【００５４】
次に、バスアクセスが無い場合の内部クロック減速方法の一例について説明する。図６は、本発明の一実施例に係る同期制御モジュールの構成例を示す。
【００５５】
図６において、６１は基準クロック、６３はこの同期制御モジュール３２内で生成される内部クロック制御信号、６４は内部クロックが不要である時に選択されたクロック同期信号をクロック制御信号６３でさらにマスクするためのＡＮＤ素子、６５はラッチセル、６６は内部ゲーテッド・クロックを生成するためのＡＮＤ素子、６７は生成されたゲーテッド・クロック、６２−１は特定の速度を示すクロック同期信号（ｓｙｎｃ１）、６２−２は特定の速度を示すクロック同期信号（ｓｙｎｃ２）、６２−３は特定の速度を示すクロック同期信号（ｓｙｎｃ３）、６８は選択回路、６９はこの同期制御モジュール３２で生成される、異なる速度を示す各クロック同期信号６２−１〜６２−３のいずれかを選択するための選択信号をそれぞれ示す。
【００５６】
図６の実施例のクロック減速方法は、選択信号６９に基づいて選択回路６８により複数のクロック同期信号をセレクトすることにより実現する。プロセッサ内部のクロック生成部４から、基準クロック６１と、複数のクロック周波数を示す複数のクロック同期信号６２−１〜６２−３を供給し、クロック供給対象の内部モジュールの内部クロックを生成するための同期制御モジュール３２において、その内部モジュールの動作に適したクロック周波数に応じたクロック同期信号をセレクトして、セレクトしたクロック同期信号と内部クロック制御信号、基準クロックとに基づいて、内部モジュールの動作に適した周波数の内部クロックを生成する。選択信号６９は、例えばクロック生成部４から供給される。
【００５７】
本実施例の方法におけるクロック供給を開始するタイミングや、クロック供給を停止するタイミングについては、図４と図５で説明した方法と同様の方法を用いることができる。
【００５８】
また、当該同期制御モジュールにおいてセレクトするクロック同期信号の１つのバリエーションとして、クロック停止を示すＬＯＷクリップ信号等をセレクトすることも含まれる。
【００５９】
次に、バスアクセスが無い場合のモジュール内クロック減速方法の他の例について説明する。図７は、本発明の一実施例に係る同期制御モジュールを示す。
【００６０】
図７において、７１は基準クロック、７２はクロック同期信号、７３は同期制御モジュール３２内で生成される内部クロック制御信号、７４は内部クロック不要の時にクロック同期信号７２をカウンタ７８で生成されたマスク信号でさらにマスクするためのＡＮＤ素子、７５はラッチセル、７６は内部ゲーテッドクロックを生成するためのＡＮＤ素子、７７は生成されたゲーテッド・クロック、７８はクロックを低速化（あるいは停止）させるためのマスク信号を生成するカウンタをそれぞれ示す。
【００６１】
図７の実施例のクロック減速方法は、カウンタ７８で生成されるマスク信号によって内部クロックを生成するためのクロック同期信号を間引くことにより実現する。
【００６２】
すなわち、プロセッサ内部のクロック生成部４からクロック供給対象の内部モジュールに、基準クロック７１とその内部モジュールの最高速度に応じたクロック同期信号７２を供給する。各内部モジュール内の同期制御モジュール３２において、内部モジュールが動作を要しないと判定した場合には、カウンタ７８よりＬＯＷレベル固定のマスク信号を出力することにより、ＡＮＤ素子７４においてクロック同期信号７２をマスクして内部クロックを停止させるか、あるいは、カウンタ７８より一定の周期及びデューティ比を有するマスク信号を出力することにより、ＡＮＤ素子７４においてクロック同期信号７２を一定の割合で間引いて内部クロックを減速させる。本実施例のクロック減速方法は、半導体集積回路装置の低消費電力化のために有効である。
【００６３】
本実施例のクロック減速方法において、クロック同期信号を間引く方法としては、カウンタ７８の出力信号で、一定期間、一定周期でクロック同期信号７２をマスクするのが有効である。
【００６４】
カウンタ７８は内部クロック制御信号７３及び基準クロック７１に基づいて動作する。カウンタ７８の動作の一例を以下に述べる。内部クロック制御信号７３がカウンタ７８のイネーブル信号として機能する。カウンタ７８はアップカウンタもしくはダウンカウンタを含み、基準クロック７１に応答してカウント動作を行う。
【００６５】
カウンタ７８は、イネーブル状態（内部クロック制御信号７３がＨＩＧＨレベル）にあるとき、現在のカウント値と予め設定された基準値とを比較して、比較結果に応じてＨＩＧＨレベル又はＬＯＷレベルの信号を出力し、それによって一定の周期とデューティ比を有する信号をマスク信号として出力する。ここで、マスク信号の周期及びデューティ比はカウンタ７８の内部設定（基準値やカウントの上限値）を変更することにより変更することができる。また、カウンタ７８はディセーブル状態（内部クロック制御信号７３がＬＯＷレベル）にあるとき、ＬＯＷレベル固定の信号をマスク信号として出力する。
【００６６】
また、当該同期制御モジュール３２においてクロック同期信号の１つのバリエーションとして、クロック停止を示すＬＯＷクリップ信号等をセレクトすることも含まれる。
【００６７】
次に、バスアクセスが無い場合の内部クロック減速方法のさらに別の例について説明する。図８は、本発明のさらに別の実施例に係る同期制御モジュールの構成例を示す。
【００６８】
図８において、８１は基準クロック、８２はクロック同期信号（ここでは、低速の同期信号）、８３はこの同期制御モジュール３２内で生成される内部クロック制御信号、８４は低速のクロック同期信号をＨＩＧＨマスクして高速の内部クロックを生成するためのＯＲ素子、８５はラッチセル、８６は内部ゲーテッド・クロックを生成するためのＡＮＤ素子、８７は生成されたゲーテッド・クロックをそれぞれ示す。
【００６９】
本実施例のクロック減速方法では、非動作時（デフォルト）には低速のクロック同期信号を用いて低速の内部クロックを生成し、動作時にはＨＩＧＨマスク信号を用いて高速の内部クロックを生成することにより実現する。
【００７０】
プロセッサ内部のクロック生成部４からクロック供給対象の内部モジュールに、基準クロック８１と、低速のクロック同期信号８２を供給する。各モジュール内の同期制御モジュール３２において、そのモジュールが動作を要しない期間は、内部クロック制御信号をＬＯＷレベルに固定する。それによりそのままの低速クロック同期信号に基づいて低速の内部クロックを生成することにより、内部クロックを減速化し、低消費電力化を図る。あるいは、同期制御モジュール３２内において、その低速クロック同期信号を図示しない論理素子によってＬＯＷマスクすることにより、内部クロックを停止させ、低消費電力化を図る。
【００７１】
当該内部モジュールが通常動作を要する場合には、その同期制御モジュール３２において、内部クロック制御信号をＨＩＧＨレベルに固定することによりクロック同期信号をＨＩＧＨマスクすることにより、基準クロック８１をそのまま出力するようにして高速な内部クロックを生成する。
【００７２】
また、カウンタ等により、低速クロック同期信号よりも多くのＨＩＧＨ期間（クロックＡＣＴＩＶＥ期間）が得られるように、クロック同期信号をマスク（論理ＯＲを取る）することにより、内部モジュールにおいてより高速な内部クロックを生成することができる。
【００７３】
例えば、図８において、クロック同期信号がＨＩＧＨの時に、基準クロックの次のクロック・エッジからなるゲーテッドクロック出力を得る場合、上記のクロック同期信号を内部クロック制御信号によってマスクする方法においては、クロック生成部から供給されるクロック同期信号と、マスク信号（内部クロック制御信号）の論理ＯＲを取ることで、必要なクロック周波数生成のための、内部クロック生成制御信号（内部クロックを生成するゲーテッドクロックバッファのイネーブル信号）を得ることができる。
【００７４】
本実施例のクロック減速方法におけるクロック供給開始タイミングや、クロック供給を止めるタイミングについては、図４と図５で説明した方法と同様の方法を用いればよい。
【００７５】
次に、各内部モジュールへの供給クロック生成回路（同期制御モジュール）をバスに持たせ、バス転送要求があった場合の関連するバス・マスター及びバス・スレーブ、又は、バス・スレーブのみにクロックを供給する方法について説明する。
【００７６】
まず、一般的なパイプライン・バスに適用する方法について説明する。図９は、本発明の一実施例に係る同期制御方式を示す。
【００７７】
図９において、９１−１は本実施例におけるバス・マスタ（ｍａｓｔｅｒ＿１）、９１−２はバス・マスタ（ｍａｓｔｅｒ＿２）、９１−３はバス・マスタ（ｍａｓｔｅｒ＿３）、９４は特定のバス・プロトコルを有するバス・ユニット、９５はバス・ユニット９４内のバス制御部、９６はバス・マスタ９１−１〜３からのデータ信号のうちいずれか１つを選択して出力するための選択回路、９７−１はバス・スレーブ（ｓｌａｖｅ＿１）、９７−２はバス・スレーブ（ｓｌａｖｅ＿２）、９７−３はバス・スレーブ（ｓｌａｖｅ＿３）、９８は選択回路９６で選択された各バス・スレーブ用のデータ信号、９２−１はバス・マスタ９１−１からバス・ユニット９４へのデータ信号、９２−２はバス・マスタ９１−２からバス・ユニット９４へのデータ信号、９２−３はバス・マスタ９１−３からバス・ユニット９４へのデータ信号、９３−１はバス制御部９５で生成されたバス・スレーブ９７−１用の内部クロック、９３−２はバス制御部９５で生成されたバス・スレーブ９７−２用の内部クロック、９３−３はバス制御部９５で生成されたバス・スレーブ９７−３用の内部クロックをそれぞれ示す。
【００７８】
特に、バス・プロトコルを限定する必要はなく、複数のバスマスタと複数のバススレーブから成り、バス制御部９５において、どのバスマスタからの転送を許可するかの調停と、どのバススレーブへの転送であるかを選択して、対応するバスマスタとバススレーブ間のデータ転送を行う一般的なパイプライン・バスに適用することができる。バス制御部９５は選択回路９６を制御し、各バス・マスタ９１−１〜３から出力されるデータ信号のうち、バスのデータ転送に関与するバス・マスタからのデータ信号を選択して、各バス・スレーブ９７−１〜３に出力する。
【００７９】
本実施例では、バス・ユニット９４内にあるバス制御部９５内に各内部モジュールに対応する同期制御モジュールを設ける。各同期制御モジュールにはそれぞれ図示しないクロック生成部から基準クロック及びクロック同期信号が供給される。同期制御モジュールにおいて、バスに接続される各内部モジュールへの内部クロックを選択的に生成する。ここで、選択的に生成するとは、バスの転送に関与するバスマスタとバススレーブのクロックのみ生成するという意味である。バス転送に関与しないモジュール（バス・マスタ／スレーブ）へのクロックは停止／減速させることにより、バスに接続されるモジュール・ブロック全体の低消費電力化を図る。
【００８０】
内部クロックを生成するための同期制御モジュールにおける具体的なクロック生成手段については、前記実施例と同様の構成を用いればよい。
【００８１】
又、この方法におけるクロック供給開始タイミングや、クロック供給を止めるタイミングについても、前記実施例と同様である。
【００８２】
次に、クロスバー・バスに適用する方法について説明する。図１０は、本発明の一実施例に係る同期制御方式を示す。
【００８３】
図１０において、９１−１は本実施例におけるバス・マスタ（ｍａｓｔｅｒ＿１）、９２−１はバス・マスタ９１−１から送出されるデータ信号、９１−２はバス・マスタ（ｍａｓｔｅｒ＿２）、９２−２はバス・マスタ９１−２から送出されるデータ信号、９１−３はバス・マスタ（ｍａｓｔｅｒ＿３）、９２−３はバス・マスタ９１−３から送出されるデータ信号、９４Ａは特定のバス・プロトコルを有するバス・ユニット、９７−１はバス・スレーブ（ｓｌａｖｅ＿１）、９７−２はバス・スレーブ（ｓｌａｖｅ＿２）、９７−３はバス・スレーブ（ｓｌａｖｅ＿３）、９５−１はバス・ユニット９４Ａ内のバス・マスタ９１−１とのインターフェイス部（Ｍ１ｉ／ｆ）、９５−２はバス・ユニット９４Ａ内のバス・マスタ９１−２とのインターフェイス部（Ｍ２ｉ／ｆ）、９５−３はバス・ユニット９４Ａ内のバス・マスタ９１−３とのインターフェイス部（Ｍ３ｉ／ｆ）、９６−１はバス・ユニット９４Ａ内のバス・スレーブ９７−１とのインターフェイス部（Ｓ１ｉ／ｆ）、９３−１はインターフェイス部９６−１からバス・スレーブ９７−１への内部クロック、９６−２はバス・ユニット９４Ａ内のバス・スレーブ９７−２とのインターフェイス部（Ｓ２ｉ／ｆ）、９３−２はインターフェイス部９６−２からバス・スレーブ９７−２への内部クロック、９６−３はバス・ユニット９４Ａ内のバス・スレーブ９７−３とのインターフェイス部（Ｓ３ｉ／ｆ）、９３−３はインターフェイス部９６−３からバス・スレーブ９７−３への内部クロックをそれぞれ示す。
【００８４】
図１０において、特に、バス・プロトコルを限定する必要はなく、所謂クロスバー・バスと呼ばれるバスで、各バスマスタが独立して、バスマトリックスを経由して所望のバススレーブにアクセスすることが可能である。バス・ユニット９４Ａの中に各バスマスタ毎、あるいは各バススレーブ毎のインターフェイス部が設けてある。
【００８５】
各バススレーブのインターフェイス部９６−１〜３、あるいはバスユニット９４Ａ内に設けられたバスマトリックスの調停回路において、複数のバスマスタ９１−１〜３から１つのバススレーブへの転送が競合した場合に、いずれのバスマスタからの転送を優先的に処理するかを決定する調停を行う。バスユニット９４Ａ内で、図示しないバス制御部の制御に基づいて、バスのデータ転送に関与するバスマスタ及びバススレーブに対応するインターフェイス部同士が接続される。
【００８６】
図１０の実施例のクロック同期制御方式では、バス転送を処理するバス・ユニットに関して、上記各マスター・インターフェイス部９５−１〜３、スレーブ・インターフェイス部９６−１〜３等において、接続される各モジュールの内部クロックを生成する同期制御モジュールを設ける。バス転送の有無等によって、クロック供給を必要とするバスマスター及びバススレーブに対応する同期制御モジュールで必要なクロックを選択的に生成して供給する。各同期制御モジュールにはそれぞれ図示しないクロック生成部から基準クロック及びクロック同期信号が供給される。
【００８７】
図１１は、図１０のバス・ユニット９４Ａ内の各スレーブ・インターフェイス部９６−１〜３に設けられる同期制御モジュールを示す。
【００８８】
図１１において、１０１は基準クロック、１０２はクロック同期信号、１０４はクロック同期信号１０２と各バスマスタ９２−１〜３からのリクエスト信号１０３−１〜１０３−３の論理ＯＲを取って内部ゲーテッド・クロック生成のための内部クロック生成制御信号を生成するためのＯＲ素子、１０５はラッチセル、１０６は内部ゲーテッドクロック生成用のＡＮＤ素子、１０７は生成された内部ゲーテッド・クロック、１０３−１はバス・マスタ９１−１のインターフェイス部９５−１で生成されるリクエスト信号、１０３−２はバス・マスタ９１−２のインターフェイス部９５−２で生成されるリクエスト信号、１０３−３はバス・マスタ９１−３のインターフェイス部９５−３で生成されるリクエスト信号をそれぞれ示す。
【００８９】
図１１の実施例の場合、各バスマスタからの転送要求リクエスト信号１０３−１〜３（便宜的に、 ｒｅｑ＿１〜ｒｅｑ＿ｎとする）のいずれか１つ以上がＨＩＧＨのとき、ＯＲ素子１０４の出力はアクティブとなる。各同期制御モジュールで各モジュールの内部クロックを生成するための内部クロック生成制御信号（便宜的にｃｌｋ＿ｓｙｎｃとする）は、次式のように表すことができる。
【００９０】
ｃｌｋ＿ｓｙｎｃ＝ｒｅｑ＿１＋ｒｅｑ＿２＋...＋ｒｅｑ＿ｎ
上式において、「＋」は論理ＯＲを示す。各モジュールへのゲーテッドクロック（ｍｏｄｕｌｅ＿ｃｌｋ）は、次式のように表すことができる。
【００９１】
ｍｏｄｕｌｅ＿ｃｌｋ＝（ｃｌｋ＿ｓｙｎｃ＊ｃｎｔ）&基準クロック
ここで、「ｃｎｔ」は、様々なクロック制御要因を示す。例えば、各同期制御モジュール内において対象モジュールがクロック供給を必要としている期間等を示したものである。「&」は論理ＡＮＤを示す。「＊」は必要に応じて任意の論理をとることを意味する。
【００９２】
図１１において、各バスマスタ９１−１〜３のいずれか１つと、対応するバススレーブとの間でバス転送が要求され、リクエスト信号１０３−１〜３のいずれか１つがＨＩＧＨになると、内部クロック生成制御信号はＨＩＧＨレベル固定になる。それによって、基準クロック１０１がそのまま各モジュールの内部クロックとしてＡＮＤ素子１０６から出力される。
【００９３】
一方、各バスマスタ９１−１〜３のいずれともバス転送の要求がなく、リクエスト信号１０３−１〜３のすべてがＬＯＷである場合は、クロック同期信号１０２が内部クロック生成制御信号として出力される。それによって、各モジュールの内部クロックは基準クロック１０１をクロック同期信号１０２に従って減速させた信号になる。
【００９４】
各モジュールの内部クロックを生成するための同期制御モジュールにおける具体的なクロック生成手段については、図１１に示した構成を用いればよく、あるいは前記実施例と同様な構成を用いればよい。
【００９５】
又、この方法におけるクロック供給開始タイミングや、クロック供給を止めるタイミングについては、前記実施例と同様である。
【００９６】
次に、バスインターフェイス部についての基準クロックとなるバス・クロック自体、バスアクセスが無い場合に、停止／減速を行う方法について説明する。
【００９７】
プロセッサ内部のクロック生成部からは、特定の基準クロックとなるバスクロックと、バスクロックに対応した特定のクロック同期信号を供給する。バスユニット内に、各モジュールの内部クロックを生成するための同期制御モジュールや、バスインターフェイス部自身のクロックを生成するための同期制御モジュールを設け、各同期制御モジュールでは、当該基準クロックとクロック同期信号で各モジュールが必要なクロックを生成する。
【００９８】
バスのアクセス要求を、プロセッサ内部のクロック生成部に通知し、クロック生成部において、該バスアクセス要求に応じて、バスクロックの供給の開始、停止、減速等を行う。
【００９９】
クロック生成部からは、常に低速のクロック同期信号、又は、停止状態を示すクロック同期信号を供給する。バスアクセス発生時には、各同期制御モジュールにおいて、バスアクセスに関与する各バスマスター及びバススレーブの内部クロックを生成するクロック同期信号を、同時にＨＩＧＨマスクする等により、バス転送中関連モジュールの内部クロックを供給する。
【０１００】
なお、上記各実施例において、基準クロックとなるバスクロック自体に、前記のクロック供給方法を適用する方法としてもよい。すなわち、２段構成の同期制御モジュールを用いて、クロック同期制御方式を実現する。
【０１０１】
その他、特定のモジュールのクロックは、常にクロックを供給し続けることを示すための制御手段、例えば、モジュール・クロック供給制御レジスタや、外部端子等を持ち、該制御手段からの指示に従って、前記実施例の各クロック生成用同期制御モジュールにおいて、常に最高速度のクロックを供給し続ける制御や、最高速度ではないが、一定の動作周波数のクロックを供給し続ける制御等を行うようにしてもよい。
【０１０２】
図１２は、本発明の一実施例に係る半導体集積回路装置の内部モジュールを示す。
【０１０３】
図１２において、３１Ａは本実施例における特定の機能を有する、オンチップバス９に接続された内部モジュール、３２Ａは内部モジュール３１Ａ内の内部クロック生成用の同期制御モジュール、３３は内部モジュール３１Ａ内の特定機能を実現するためのモジュール本体、３４はモジュール本体３３内の制御ステートマシン、３５は内部モジュール３１Ａ内のバスインターフェイス部、３６はバスインターフェイス部３５内の制御ステートマシン、１６は基準クロック、１７はクロック同期信号、１８は内部モジュール３１Ａに対する割り込み要求又はＤＭＡリクエスト等の要求信号、１９はオンチップバス９のバス・プロトコルで定義されるバスリクエスト信号、２０はオンチップバス９のバス・プロトコルで定義されるバスアクノリッジ信号、２１−１はクロック生成用同期制御モジュール３２Ａの論理回路３２ａ−１で基準クロックとクロック同期信号を用いて生成されたゲーテッドクロックの内、モジュール本体３３用の内部クロック、２１−２はクロック生成用同期制御モジュール３２Ａの論理回路３２ａ−２で基準クロックとクロック同期信号を用いて生成されたゲーテッドクロックの内、バスインターフェイス部３５用の内部クロック、２２−１はモジュール本体３３の制御ステートマシン３４から同期制御モジュール３２Ａに通知されるクロック制御信号（例えば、制御ステートマシン３４がＩＤＬＥ状態であることを示す信号）、２２−２はバスインターフェイス部３５の制御ステートマシン３６から同期制御モジュール３２Ａに通知されるクロック制御信号、３７は制御ステートマシン３２ｂから出力され、クロック同期信号１７の論理回路３２ａ−１、３２ａ−２への入力を制御する内部クロック制御信号をそれぞれ示す。ただし、バスリクエスト信号１９とバスアクノリッジ信号２０で足りる場合には、クロック制御信号２２−１、２２−２は不要である。
【０１０４】
本実施例の半導体集積回路装置の内部モジュール３１Ａでは、バスに接続された内部モジュール３１Ａ内のバスインターフェイス部３５と、内部モジュール３１Ａ内のその他のモジュールで内部クロックを分けて同期制御モジュール３２Ａで生成し、バスインターフェイス部３５の内部クロックのみ、所定の要求（バス・リクエスト、割り込み要因等）に応じてクロック供給を制御する。内部モジュール３１Ａ内の動作の必要が無いモジュールに対しては、対応する内部クロックの停止／減速等を行う。
【０１０５】
上述した実施例の半導体集積回路装置及びクロック制御方法によれば、動作の必要がない場合におけるクロック・ツリーにおける消費電力や、クロック・ツリーに接続されているモジュール内の冗長な電力消費を削減することが可能となる。複数の機能ＩＰマクロを搭載した内部モジュールを有するシステム・オン・チップ等の半導体集積回路装置における消費電力削減に有効である。
【０１０６】
次に、本発明の一実施例に係るクロック同期制御方式について説明する。
【０１０７】
一般に、ＣＰＵコア、ＳＤＲＡＭコントローラや、周辺バス・コントローラ、タイマ等の各種内部モジュールを有する半導体プロセッサにおいて、内部の特定のモジュールは常に一定の処理能力を要し、ＣＰＵは高速動作が要求される。このような半導体プロセッサにおいて、アプリケーションの処理に最低限必要なクロック周波数を供給して、プロセスの出来具合（製造バラツキ）、電源電圧、温度、等の条件に応じて、最大性能を引き出す等の要求を満足させるために、例えば、ＣＰＵコア部と、特定の内部モジュールとのクロック周波数を、（1）内部モジュール＝２００ＭＨｚ、ＣＰＵコア＝３００ＭＨｚ（１．５倍）、（２）内部モジュール＝２００ＭＨｚ、ＣＰＵコア＝４００ＭＨｚ（２．０倍）、（３）内部モジュール＝２００ＭＨｚ、ＣＰＵコア＝５００ＭＨｚ（２．５倍）、（４）内部モジュール＝２００ＭＨｚ、ＣＰＵコア＝６００ＭＨｚ（３．０倍）、…といったように、対応するクロック周波数のクロック比を０．５倍きざみに制御したい場合がある。
【０１０８】
かかる要求に対して、プロセッサ内のクロック生成部において、クロック比が、１：１．５、１：２．５、１：３．５等の複数のクロックを生成して、ＣＰＵコアを含む各内部モジュールに供給すると、各クロックのクロック・エッジが等間隔の場合に、早い方のクロックの倍の周波数で、モジュール間の信号同期回路部が動作しなければならないという問題がある。
【０１０９】
このような高速動作する回路が存在すると、ＬＳＩ開発における論理設計、レイアウト、タイミング検証等において、大きな問題となる。
【０１１０】
本実施例に係るクロック同期制御方式では、対応するクロック比が整数倍でない場合にも、それぞれのクロックで動作するモジュール間における非常に高速な信号乗り換えをすることなく、所望の動作周波数で動作可能とすることができる。本実施例に係るクロック同期制御方式では、簡便な方法により、非整数倍のクロックで動作するモジュール間の信号同期を実現する。
【０１１１】
図１３は、基準クロック（高速クロック）と１．５倍クロック（低速クロック）の場合の問題点を説明するための波形図である。
【０１１２】
図１３において、（１）は高速クロック（この場合、６００ＭＨｚのＰＬＬ出力クロックを２分周して作成された３００ＭＨｚのクロック）、（２）は低速クロック（この場合、６００ＭＨｚのＰＬＬ出力クロックを３分周して作成された２００ＭＨｚのクロック）、（３）は高速クロックから低速クロックへの信号乗り換え時に、乗り換え回路が動作しなければならない動作周波数、（４）は、低速クロックから高速クロックへの信号乗り換え時に、乗り換え回路が動作しなければならない動作周波数を示す。
【０１１３】
図１３に示したように、非整数倍の周波数を有する２つのクロックでそれぞれ動作する２つのモジュール間でデータ信号の同期をとる場合には、いずれのクロックに対してもクロックエッジが揃うように、各クロックの周波数の最小公倍数に対応する高いクロック周波数で双方のモジュールの乗り換え回路を動作させる必要があるという問題がある。
【０１１４】
図１４は、図１３の場合（クロック比が１：１．５）の本発明のクロック同期制御方式を説明するための波形図である。図１５は、クロック比が１：２．５の場合の本発明のクロック同期制御方式を説明するための波形図である。図１６は、クロック比が１：３．５の場合の本発明のクロック同期制御方式を説明するための波形図である。
【０１１５】
図１４、図１５、図１６において、（１）はＰＬＬクロック、（２）は高速クロック、（３）は従来の周期一定（クロックエッジが等間隔）の低速クロック、（４）は本実施例による低速クロック、（５）は本実施例によるクロック同期信号をそれぞれ示す。
【０１１６】
図１４の場合、高速クロック（２）及び低速クロック（３）はそれぞれＰＬＬクロック（１）から生成され、各クロックのエッジは等間隔になっている。このままでは、図１３に示したように、両クロックで動作するモジュール間の信号乗り換え回路は、高速クロックの動作周波数の２倍の周波数で動作しなければならない。
【０１１７】
そこで、本発明のクロック同期制御方式では、図１４の（４）で示される本実施例の低速クロックのように、低速クロックのエッジを、直前の高速クロックのクロックエッジに揃えるように制御する。これによって、高速クロックの２倍の周波数のクロックを用いることなく、両クロックで動作するモジュール間の信号乗り換えを容易に実現することができる。つまり、本実施例の信号乗り換え回路は、高速クロックの周波数でさえ動作できれば、問題無く両クロックで動作するモジュール間の信号の受け渡しが可能となる。
【０１１８】
その際、低速クロックのクロックエッジが等間隔ではなくなるため、低速クロックのクロック・エッジの位置を示すための信号としてクロック同期信号（５）を生成し、クロック同期信号（５）をデータ信号の受け渡しの制御に使う。クロック同期信号を高速クロックで動作するモジュールに供給することで、高速クロックで動作するモジュールは低速クロックで動作するモジュールが生成したデータ信号の取り込みタイミングを認識することができるので、両クロックで生成される信号の同期が可能となる。尚、このクロック同期信号（５）は、高速クロックのクロックエッジに合わせて生成される。
【０１１９】
図１５は、高速クロックと低速クロックのクロック比が１：２．５の場合の波形を示したものである。図１６は、高速クロックと低速クロックのクロック比が１：３．５の場合の波形を示したものである。図１５、図１６の場合においても、図１４の場合と同様に、低速クロックのエッジを高速クロックのエッジに揃えるように制御するとともに、低速クロックのクロック・エッジの位置を示すためのクロック同期信号をデータ信号の受け渡しの制御に用いることにより、非整数倍の両クロックで生成される信号の同期が可能となる。
【０１２０】
図１７は、クロック比が１：３の場合のクロック同期制御方式を説明するための波形図である。図１７において、（１）はＰＬＬクロック、（２）は高速クロック、（３）は従来の周期一定の低速クロック、（４）はクロック同期信号をそれぞれ示す。
【０１２１】
図１７は、高速クロックと低速クロックのクロック比が整数倍の１：３の場合の波形を示したものである。この波形から分かるように、クロック比が整数倍の場合には、低速クロックのクロック・エッジの位置も普通の等間隔である。クロック同期信号（５）は低速クロックのクロック・エッジの位置を示す信号として生成される。
【０１２２】
図１８は、本発明の一実施例に係るクロック生成部を示す。
【０１２３】
図１８のプロセッサにおいて、２０１は、外部入力クロック、２０２はＰＬＬ回路、２０３はプロセッサ内部のクロック生成部、２０４はＣＰＵコア、２０５は内部モジュール、２０６は内部モジュール、２０７は高速クロック、２０８はクロック同期信号、２０９は、低速クロック、２１０はプロセッサ内部のオンチップバスをそれぞれ示す。
【０１２４】
図１８に、本実施例における、高速クロック、低速クロック、及びクロック同期信号を用いたプロセッサの実施例を示す。
【０１２５】
図１８のプロセッサにおいて、外部入力クロック２０１は、ＰＬＬ回路２０２で逓倍され、ＰＬＬ回路２０２は各種クロックを生成するための元となる最高速クロック（以下、ＰＬＬクロックと称する）を生成する。
【０１２６】
クロック生成部２０３は、分周回路２０３ａでＰＬＬクロックを分周することにより、各内部モジュールへの基準クロック（この場合、高速クロック２０７及び低速クロック２０９）を生成する。また、クロック生成部２０３は、低速クロックのエッジの位置を示すクロック同期信号２０８も同時に生成して、高速クロック２０７及びクロック同期信号２０８をＣＰＵコア２０４へ出力する。内部モジュール２０５、２０６には低速クロック２０９が供給される。
【０１２７】
ＣＰＵコア２０４は、基本的には高速クロック（基準クロック）で動作するが、低速クロックで動作する内部モジュール２０５、内部モジュール２０６と接続されているオンチップバス２１０とのインターフェイス部（ＢＩ）２０４ａにおいては、クロック同期信号２０８を用いて、バスのデータ信号との同期を取る。
【０１２８】
すなわち、ＣＰＵコア２０４内のインターフェイス部２０４ａは、クロック同期信号２０８により低速クロックのクロック・エッジの位置を把握する。それによってインターフェイス部２０４ａは、内部モジュールから供給されるデータ信号の取り込みタイミングを適切に制御してデータの受信を行うとともに、データ信号のオンチップバス２１０への出力タイミングを適切制御して内部モジュールへのデータの送信を行う。
【０１２９】
このような回路構成とすることで、特に低速クロック２０９及びクロック同期信号２０８を使用することで、クロック比が１：１．５等の非整数倍の場合においても、高速なクロックによる信号乗り換え無しに、容易にプロセッサ回路を構成することが可能となる。
【０１３０】
図１９は、本発明の他の実施例に係るクロック生成部を示す。
【０１３１】
図１９のプロセッサにおいて、２０１は外部入力クロック、２０２はＰＬＬ回路、２０３Ａはプロセッサ内部のクロック生成部、２０４はＣＰＵコア、２０５Ａは内部モジュール、２０６Ａは内部モジュール、２０７は高速クロック（基準クロック）、２０８はクロック同期信号、２１０はプロセッサ内部のオンチップバス、２１１は内部モジュール２０５Ａのゲーテッドクロック生成部２０５ａで生成される低速クロック、２１２は内部モジュール２０６Ａのゲーテッドクロック生成部２０６ａで生成される低速クロックをそれぞれ示す。
【０１３２】
図１９の実施例は、内部モジュール２０５Ａ及び内部モジュール２０６Ａで使用する低速クロックを、高速クロック２０７及びクロック同期信号２０８に基づいて各内部モジュール内のゲーテッドクロックバッファで生成したものである。各内部モジュールの低速クロックを生成するための具体的なクロック生成手段については、図１９に示したゲーテッドクロック生成部２０５ａ、２０６ａの他に、上述の各実施例で説明した同期制御モジュールの構成を用いてもよい。
【０１３３】
このような構成にすることで、チップ全体としては、高速クロック１本でクロックツリーを生成することができ、レイアウト設計時においてクロック・スキューを低減させることが容易となる。
【０１３４】
図２０は、本発明の他の実施例に係るクロック生成部を示す。
【０１３５】
図２０のプロセッサにおいて、２０１は外部入力クロック、２０２はＰＬＬ回路、２０３Ａはプロセッサ内部のクロック生成部、２０４はＣＰＵコア、２０５Ｂは内部モジュール、２０６Ｂは内部モジュール、２０７は高速クロック（基準クロック）、２０８はクロック同期信号、２１０はプロセッサ内部のオンチップバス、２１１は内部モジュール２０５Ｂのゲーテッドクロック生成部２０５ａ，２０５ｂで生成される低速クロック、２１２は内部モジュール２０６Ｂのゲーテッドクロック生成部２０６ａ、２０６ｂで生成される低速クロックをそれぞれ示す。
【０１３６】
図２０は、図１９の実施例によるクロック同期信号に関し、高速クロックの１サイクル分前にずらせて供給する場合の回路構成である。内部モジュール２０５Ｂ及び２０６Ｂ内のゲーテッドクロック生成部は、それぞれ高速クロック２０７に応答してクロック同期信号２０８を保持するラッチ回路２０５ｂ及び２０６ｂを備える。
【０１３７】
図２１は、図２０の実施例におけるクロック同期制御方式を説明するための波形図である。図２１において、（１）はＰＬＬクロック、（２）は高速クロック、（３）は従来の周期一定の低速クロック、（４）は本実施例による低速クロック、（５）は本実施例によるクロック同期信号で、低速クロックの各々のクロックエッジに対して高速クロック１サイクル分前の段階で出力されたものを示す。
【０１３８】
図２１に示したように、本実施例クロック同期制御方式によれば、ゲーテッドクロックの制御信号として使われるクロック同期信号のタイミングを確定させておくことができ、より安全なクロック設計が可能となる。
【０１３９】
上述した実施例のクロック同期制御方式では、対応するクロック比が整数倍で無い場合にも、それぞれのクロックで動作するモジュール間において、非常に高速なクロックによる信号乗り換えをすることなくデータ信号の同期をとることができ、所望の動作周波数でプロセッサを動作させることが可能となる。具体的には、このような非整数倍の複数のクロック周波数を持つプロセッサの設計時（特に、レイアウト、タイミング検証）において、モジュール間の信号乗り換え部（バスインターフェイス部）が少なくとも早い方のクロック周波数で動作すれば、問題なく所望の動作周波数でプロセッサを動作させることが可能となる。
【０１４０】
さらに、本発明の他の実施例に係るクロック同期制御方式について説明する。
【０１４１】
図２２は、高速クロックと低速クロックのクロック比が１：１．５の場合（図１３）における、本発明の一実施例に係るクロック同期制御方式を説明するための波形図である。
【０１４２】
図２２において、（１）はＰＬＬクロック、（２）は高速クロックのクロック同期信号ＳＹＮＣ１、（３）は高速クロック（基準クロック）ＣＬＫ１（ｆａｓｔ）、（４）は低速クロックのクロック同期信号ＳＹＮＣ２、（５）は、低速クロック（基準クロック）ＣＬＫ２（ｓｌｏｗ）、（６）は高速クロックＣＬＫ１とそのクロック同期信号ＳＹＮＣ１で生成されたデータ信号、又は、低速クロックＣＬＫ２とそのクロック同期信号ＳＹＮＣ２で生成されたデータ信号、（７）は、（６）のデータのうち、両クロックで動作するモジュール間のデータ転送において有効なデータ位置をそれぞれ示す。
【０１４３】
高速クロック（３）及び低速クロック（５）は、それぞれＰＬＬクロック（１）から分周により生成され、それぞれクロック・エッジは等間隔になっている。このままでは、図１３に示したように、両クロックのクロックエッジが揃わないため、両クロックで動作するモジュール間の信号乗り換え回路は、高速クロックの動作周波数の２倍の周波数で動作しなければならない。
【０１４４】
そこで、本発明のクロック同期制御方式では、図２２の（２）、（４）で示されるクロック同期信号ＳＹＮＣ１、ＳＹＮＣ２が、高速クロック及び低速クロックのクロックエッジが互いに一致する位置を示す信号として、対応するクロックとともに生成される。クロック同期信号ＳＹＮＣ１、ＳＹＮＣ２に基づいて、両クロックにおいて対応する各クロックエッジが揃うときのみ、データの送受信（転送）を行うようにすることで、 両クロックで動作するモジュール間の信号乗り換えを容易に実現することが可能となる。
【０１４５】
このとき、両モジュール間のデータ転送は両クロック間で互いにクロックエッジが一致するときにのみ行われるため、データ転送の動作周波数は両クロックの周波数の最大公約数の値になる。
【０１４６】
すなわち、クロック同期信号ＳＹＮＣ１、ＳＹＮＣ２は、対応するクロックにおいてデータの送受信（転送）に対して有効なクロックエッジの位置を示す。クロック同期信号ＳＹＮＣ１、ＳＹＮＣ２は、それぞれ高速クロック及び低速クロックのクロックエッジに合わせて生成される。
【０１４７】
従って、本実施例の信号乗り換え回路（バスインターフェイス回路）は、両クロックの最大公約数の周波数で動作できれば、問題無く両クロックで動作するモジュール間の信号の受け渡しが可能となる。
【０１４８】
図２３は、本発明の一実施例に係るクロック同期制御システムの基本的な構成を示す。
【０１４９】
図２３において、３０１は本実施例におけるＣＰＵコア、３０２は本実施例におけるＣＰＵコア３０１中にあるバスインターフェイス部ＢＩ、３０３は本実施例におけるプロセッサ内部モジュール、３０４は本実施例におけるプロセッサ内部モジュール３０３中にあるバスインターフェイス部ＢＩ、３０５は本実施例におけるプロセッサ内部のクロック生成モジュール、３０６は高速クロック（基準クロック）ＣＬＫ１（この場合、３００ＭＨｚ）、３０７は高速クロックのクロック同期信号ＳＹＮＣ１、３０８は低速クロック（基準クロック）ＣＬＫ２（この場合、２００ＭＨｚ）、３０９は低速クロックのクロック同期信号ＳＹＮＣ２、３１０は本実施例におけるＣＰＵコア３０１と内部モジュール３０３とを接続するバス信号をそれぞれ示す。
【０１５０】
図２３のクロック同期制御システムにおいて、ＣＰＵコア３０１は、基本的には３００ＭＨｚのクロックＣＬＫ１に基づいて動作し、内部モジュール３０３は基本的には２００ＭＨｚのクロックＣＬＫ２に基づいて動作する。そして、クロック比が１：１．５の両モジュールを接続するバス３１０を本実施例のクロック同期信号ＳＹＮＣ１、ＳＹＮＣ２を使用して図２２の場合と同様にして１００ＭＨｚ相当の動作周波数で動作させる。これにより、図１３に示したような６００ＭＨｚの信号乗り換え回路が不要となる。
【０１５１】
図２４は、本発明の他の実施例に係るクロック同期制御システムの構成を示す。この構成例では、図２３の内部モジュール３０３をプロセッサバス３０３Ａに置き換えている。
【０１５２】
図２４において、参照番号３０１〜３１０は、図２３の構成要素と基本的に同一であり、図２３の内部モジュール３０３のみプロセッサバス３０３Ａに置き換えられてある。図２４のクロック同期制御システムにおいて、３１１はプロセッサバス３０３Ａと他の内部モジュール３１３とを接続するバス、３１２はプロセッサバス３０３Ａと他の内部モジュール３１４を接続するバス、３１３は本実施例における内部モジュール、３１４は本実施例における内部モジュールをそれぞれ示す。
【０１５３】
図２４の実施例では、プロセッサバス３０３Ａは、パイプラインバスであり、バスクロック（低速クロックＣＬＫ２）に同期してバス・コントロール信号に基づいてＣＰＵコア３０１に対してデータを転送するバスである。また、プロセッサ３０３Ａと内部モジュール３１３、３１４との間のデータ転送は、低速クロックＣＬＫ２（２００ＭＨｚ）に基づいて行われる。
【０１５４】
図２５に、図２４の実施例の動作を説明するための波形図を示す。
【０１５５】
図２５において、（１）〜（５）は図２２の対応する各信号と同一であり、（６） はＣＰＵコア３０１からバス３１０へデータを転送する際のＣＰＵコア内部のデータ信号（ＣＰＵ）、（７）はＣＰＵコア３０１からバス３１０へ出力されたバス・トランザクション上のデータ信号（ＢＵＳ）、（８）はバス・トランザクション上のデータ信号の有効なデータ位置を示すバス・コントロール信号（ＢＵＳ＿ＣＴＲＬ）をそれぞれ示す。
【０１５６】
図２５では、ＣＰＵコア３０１内部の高速クロックＣＬＫ１で生成されたデータ（６）は、クロック同期信号ＳＹＮＣ１（２）がＨＩＧＨのときの高速クロックＣＬＫ１のエッジでバス・データ（７）として出力される。低速クロックＣＬＫ１で動作するプロセッサバス３０３Ａ内のＣＰＵコア３０１とのインターフェイス部３０４において、クロック同期信号ＳＹＮＣ２がＨＩＧＨからＬＯＷに変化したサイクルを有効（ｖａｌｉｄ）とするバス・コントロール信号（８）が生成される。バス・コントロール信号（８）において有効（ｖａｌｉｄ）のサイクルの次のサイクルは無効（ｉｎｖａｌｉｄ）サイクルに設定される。インターフェイス部３０４は、有効サイクルと無効サイクルが設けられたバス・コントロール信号に基づいて、有効サイクルの期間中にバス３１０に出力されたバス・データを取り込み、それによってバス転送が行われる。
【０１５７】
このバス・コントロール信号（８）の波形は、あくまで一例であり、クロック同期信号ＳＹＮＣ２と同じサイクルを有効（ｖａｌｉｄ）としても差し支えない（バス・プロトコル毎に仕様は異なる）。
【０１５８】
バス・コントロール信号（８）において有効（ｖａｌｉｄ）期間と無効（ｉｎｖａｌｉｄ）期間を設けることで、非整数倍のクロックで動作するモジュール間の信号同期に際し、両クロックのクロック・エッジが揃ったときに生成されたデータのみを有効としてデータの送受信を行うことができ、非整数倍クロック間の信号乗り換えを容易に実行することができる。ただし、信号乗り換えの周波数が見かけ上、両クロックの最大公約数（この実施例の場合には １００ＭＨｚ）まで低下するので、データ転送のスルーレートは落ちるが、各モジュールを所望の動作周波数で動作させることが可能になる。メモリ・アクセスが少ないアプリケーションを実行する際や、アプリケーションの処理をほとんどＣＰＵコア内のキャッシュ内のみで処理できる場合等に有効である。
【０１５９】
図２６は、本発明の一実施例に係るクロック同期制御システムを示す。
【０１６０】
図２６において、参照番号３０１〜３１４は、図２４の対応する各構成要素と基本的に同一である。図２６のクロック同期制御システムにおいては、データバス信号３１０のデータバス幅が６４ビットであり、プロセッサバス３０３Ａのバス・マトリクス３０３ａ及びバス信号３１１、３１２の各データバス幅が３２ビットであり、データバス信号３１０のバス幅とバス・マトリックス３０３ａのバス幅とが互いに異なっている。
【０１６１】
図２６の実施例では、ＣＰＵコア３０１とプロセッサバス３０３Ａのバス幅を６４ビット化し、通常のプロセッサ・バス３０３Ａのバス・マトリクス３０３ａのビット幅３２ビットの２倍にすることで、非整数倍クロック間の信号乗り換え時に発生する転送スルーレートの低下を防止することが可能となる。
【０１６２】
図２７は、図２６の実施例の動作を説明するための波形図を示す。
【０１６３】
図２７において、（１）〜（８）は、図２５の対応する各信号と基本的にほぼ同一である。ただし、（６）は、図２５のデータ信号（６）と異なり、データバス幅が６４ビットのＣＰＵコア３０１内部のデータ信号であり、（７）は、図２５のデータ信号（７）と異なり、データバス幅が３２ビットのバス・トランザクション上のデータ信号であり、ＣＰＵコア内部のデータ信号（６）のＨＩＧＨ側とＬＯＷ側の各３２ビットのデータを交互に転送するバス信号をそれぞれ示したものである。
【０１６４】
図２６では、ＣＰＵコア３０１から６４ビットのデータをバス３１０に出力し、プロセッサバス３０３Ａ内のＣＰＵコア３０１とのインターフェイス部３０４において、６４ビットデータを２つの３２ビットデータに分割して転送できるように変換したものである。これに伴い、図２７におけるバス・コントロール信号では、図２５におけるバス・コントロール信号（８）の無効（ｉｎｖａｌｉｄ）のサイクルがデータの分割数に応じて有効（ｖａｌｉｄ）サイクルに置き換えられ、クロック同期信号ＳＹＮＣ２のＨＩＧＨからＬＯＷへ変化したサイクルを有効サイクルとして設定されるとともに、その次のサイクルも有効サイクルに設定される。それによって、分割された３２ビットデータを全て有効（ｖａｌｉｄ）データとして転送することが可能となる。
【０１６５】
図２８は、本発明の一実施例に係るクロック同期制御システムを示す。
【０１６６】
図２８において、参照番号３０１、３０３Ａ、３０５〜３０９、３１１〜３１４は、図２４における対応する各構成要素と同一である。図２８のクロック同期制御システムにおいて、３１５は本実施例におけるＣＰＵコア３０１内のバスインターフェイスポート（ＢＩ１）、３１６は本実施例におけるＣＰＵコア３０１内のバスインターフェイスポート（ＢＩ２）、３１７は本実施例におけるプロセッサバス３０３Ａ内のバスインターフェイスポート３１５（ＢＩ１）との信号乗り換えラッパー回路（ｉ／ｆ）、３１８は本実施例におけるプロセッサバス３０３Ａ内のバスインターフェイスポート３１６（ＢＩ２）との信号乗り換えラッパー回路（ｉ／ｆ）、３１９はバスインターフェイスポート３１５（ＢＩ１）とバス・ラッパー回路３１７（ｉ／ｆ）を接続するバス、３２０はバスインターフェイスポート３１６（ＢＩ２）とバス・ラッパー回路３１８（ｉ／ｆ）を接続するバスをそれぞれ示す。
【０１６７】
図２８のクロック同期制御システムは、図２６の実施例とほぼ同一の回路構成であり、非整数倍クロック間の乗り換えを容易にするための前記実施例の欠点である転送スルーレートの低下を防止するものである。具体的には、図２６におけるバスインターフェイスポート３０２の６４ビットのビット幅を２つのポートに分割し、ＣＰＵに２つのバスインターフェイスポートを持たせた実施例である。ＣＰＵにバスインターフェイスポートを複数持たせることに伴い、プロセッサ・バス３０３Ａの方でも、２ポートのＣＰＵインターフェイスを実装したのが本実施例である。
【０１６８】
本実施例の動作を説明するための波形図については、単に図２５の波形図で示される転送トランザクションが２分割された各ポートにおいて独立に実行されるだけなので省略する。
【０１６９】
上述の如く、本実施例のクロック同期制御方式では、対応するクロック比が整数倍で無い場合にも、それぞれのクロックで動作するモジュール間における非常に高速な信号乗り換えをすることなく、所望の動作周波数でプロセッサを動作させることが可能となる。具体的には、このような非整数倍の複数のクロック周波数を持つプロセッサの設計時（特に、レイアウト、タイミング検証）において、モジュール間の信号乗り換え部が少なくとも早い方のクロック周波数でさえ動作すれば、問題なく所望の動作周波数で動作させることが可能となる。
【０１７０】
さらに、本実施例の場合、非整数倍の各クロックで動作するモジュール間の信号乗り換え部自体のデータ転送性能は低下するが、これらモジュール間のデータ転送がそれほど頻繁に発生せず、各モジュールを所望の動作周波数で動作させることが可能である。また、信号乗り換え部の転送性能の低下を回避することが可能となる。
（付記１）
内部バスと、前記内部バスに接続され、所定の機能を実現するモジュール本体を有する複数の内部モジュールと、基準クロック及び前記基準クロックの有効なクロックエッジの位置を示すクロック同期信号を生成し、前記複数の内部モジュールの少なくとも１つに供給するクロック生成部とを備える半導体集積回路装置であって、前記複数の内部モジュールの少なくとも１つは、前記基準クロックと前記クロック同期信号に基づいて前記内部モジュールに供給される内部クロックを生成する同期制御モジュールを備えることを特徴とする半導体集積回路装置。
（付記２）
付記１記載の半導体集積回路装置であって、前記クロック生成部は、異なるクロック周波数を有する複数の前記基準クロックと前記複数の基準クロックに対応する複数の前記クロック同期信号からなる複数の信号対を生成し、前記複数の信号対をそれぞれ異なる前記内部モジュールに供給することを特徴とする半導体集積回路装置。
（付記３）
付記１記載の半導体集積回路装置であって、前記内部クロックのクロックエッジの位置は、前記有効なクロックエッジの位置に一致することを特徴とする半導体集積回路装置。
（付記４）
付記１記載の半導体集積回路装置であって、前記同期制御モジュールは、前記内部モジュールの動作可否を示す内部クロック制御信号を生成する制御部を備え、前記内部クロック制御信号に基づいて前記クロック同期信号の供給、停止及びマスク処理の少なくとも１つを行うことを特徴とする半導体集積回路装置。
（付記５）
付記１記載の半導体集積回路装置であって、前記同期制御モジュールは、前記内部モジュールへの前記クロック同期信号の供給及び停止を制御するゲート部を更に備え、前記ゲート部は前記内部モジュールの動作が不要であるとき前記クロック同期信号の出力を停止することを特徴とする半導体集積回路装置。
（付記６）
付記１記載の半導体集積回路装置であって、前記同期制御モジュールは、前記内部モジュールへの前記クロック同期信号の供給及びマスク処理を制御するマスク部を更に備え、前記マスク部は前記内部モジュールの動作が必要であるとき前記クロック同期信号を所定のレベルにマスクして出力することを特徴とする半導体集積回路装置。
（付記７）
付記１記載の半導体集積回路装置であって、前記クロック生成部は、複数のクロック周波数を示す複数の前記クロック同期信号を生成して前記内部モジュールに供給し、前記同期制御モジュールは、前記複数のクロック同期信号を受け、前記内部モジュールの動作周波数に応じて前記複数のクロック同期信号と前記基準クロックに基づいて前記内部クロックを生成することを特徴とする半導体集積回路装置。
（付記８）
付記１記載の半導体集積回路装置であって、前記同期制御モジュールは、前記基準クロックを受けてカウント動作を行いカウント値に従ってマスク信号を生成するカウンタと、前記マスク信号に基づいて前記クロック同期信号を所定の割合で間引くことにより内部クロック生成制御信号を生成するゲート部と、前記内部クロック生成制御信号と前記基準クロックに基づいて前記内部クロックを生成する内部クロック生成部を備えることを特徴とする半導体集積回路装置。
（付記９）
所定の機能を実現するモジュール本体をそれぞれ有する複数のバスマスタと複数のバススレーブとを含む複数の内部モジュールと、前記複数のバスマスタと前記複数のバススレーブをパイプライン方式で接続するバスユニットと、基準クロック及び前記基準クロックの有効なクロックエッジの位置を示すクロック同期信号を生成し、前記バスユニットに供給するクロック生成部とを備える半導体集積回路装置であって、前記バスユニットは、前記基準クロックと前記クロック同期信号に基づいて前記複数のバスマスタ及び前記複数のバススレーブの少なくとも１つに供給される内部クロックを生成する同期制御モジュールを備えることを特徴とする半導体集積回路装置。
（付記１０）
付記９記載の半導体集積回路装置であって、前記バスユニットは、前記複数のバスマスタ及び前記複数のバススレーブの間の接続を制御するバス制御部を備え、前記バス制御部は前記同期制御モジュールを備えることを特徴とする半導体集積回路装置。
（付記１１）
所定の機能を実現するモジュール本体をそれぞれ有する複数のバスマスタと複数のバススレーブとを含む複数の内部モジュールと、前記複数のバスマスタと前記複数のバススレーブをクロスバー方式で接続するバスユニットと、基準クロック及び前記基準クロックの有効なクロックエッジの位置を示すクロック同期信号を生成し、前記バスユニットに供給するクロック生成部とを備える半導体集積回路装置であって、前記バスユニットは、前記基準クロックと前記クロック同期信号に基づいて前記複数のバスマスタ及び前記複数のバススレーブの少なくとも１つに供給される内部クロックを生成する同期制御モジュールを備えることを特徴とする半導体集積回路装置。
（付記１２）
付記１１記載の半導体集積回路装置であって、前記バスユニットは、前記複数のバスマスタ及び前記複数のバススレーブに対応する複数のバスインターフェイス部を備え、前記複数のバスインターフェイス部の少なくとも１つは前記同期制御モジュールを備えることを特徴とする半導体集積回路装置。
（付記１３）
付記１１記載の半導体集積回路装置であって、前記同期制御モジュールは、対応するバスインターフェイス部への前記クロック同期信号の供給及びマスク処理を制御するマスク部を更に備え、前記マスク部は対応するバスマスタ又はバススレーブの動作が必要であるとき前記クロック同期信号を所定のレベルにマスクして出力することを特徴とする半導体集積回路装置。
（付記１４）
付記１記載の半導体集積回路装置であって、前記内部モジュールは、前記内部バスに対するバスインターフェイス部を備え、前記同期制御モジュールは、前記モジュール本体と前記バスインターフェイス部に対してそれぞれ異なる前記内部クロックを生成することを特徴とする半導体集積回路装置。
（付記１５）
付記４記載の半導体集積回路装置であって、前記同期制御モジュールの前記制御部は、前記内部モジュールへの割り込み要求信号、ＤＭＡリクエストの要求信号、前記モジュール本体から供給されるクロック制御信号、及び前記内部バスのバス・プロトコルで定義されるバスリクエスト信号とバスアクノリッジ信号のいずれかに基づいて前記内部クロック制御信号を生成することを特徴とする半導体集積回路装置。
（付記１６）
内部バスと、前記内部バスに接続され、所定の機能を実現するモジュール本体を有する複数の内部モジュールとを備える半導体集積回路装置で、前記内部モジュールに供給される内部クロックを制御するためのクロック制御方法であって、基準クロック及び前記基準クロックの有効なクロックエッジの位置を示すクロック同期信号を生成し、前記複数の内部モジュールの少なくとも１つに供給するクロック生成ステップと、前記複数の内部モジュールの少なくとも１つにおいて、前記基準クロックと前記クロック同期信号に基づいて前記内部クロックを生成する同期制御ステップとを有することを特徴とするクロック制御方法。
（付記１７）
内部バスと、前記内部バスに接続され、所定の機能を実現する第１のモジュール本体を有する第１の内部モジュールと、前記内部バスに接続され、所定の機能を実現する第２のモジュール本体を有し、前記第１の内部モジュールと前記内部バスを介してデータ転送を行う第２の内部モジュールと、第１の基準クロックを生成して前記第１の内部モジュールに供給するとともに、第２の基準クロック及び前記第１の基準クロックのクロックエッジの位置に対応する前記第２の基準クロックの有効なクロックエッジの位置を示すクロック同期信号を生成して前記第２の内部モジュールに供給するクロック生成部とを備える半導体集積回路装置であって、前記第１の内部モジュールは、前記第１のモジュール本体において前記第１の基準クロックに従って所定の処理を行うとともに、前記第１の基準クロックのクロックエッジに従ってデータ転送を行い、前記第２の内部モジュールは、前記第２のモジュール本体において前記第２の基準クロックに従って所定の処理を行うとともに、前記第２の基準クロックと前記クロック同期信号に基づいて前記有効なクロックエッジに従ってデータ転送を行うことを特徴とする半導体集積回路装置。
（付記１８）
付記１７記載の半導体集積回路装置であって、前記第１の基準クロックのクロック周波数は、前記第２の基準クロックのクロック周波数よりも低いことを特徴とする半導体集積回路装置。
（付記１９）
付記１７記載の半導体集積回路装置であって、前記第２の基準クロックのクロックエッジの配置は等間隔であり、前記第１の基準クロックのクロックエッジの配置は等間隔でないことを特徴とする半導体集積回路装置。
（付記２０）
付記１７記載の半導体集積回路装置であって、前記第１の基準クロックのクロックエッジの位置は、すべて前記第２の基準クロックのクロックエッジの位置と一致していることを特徴とする半導体集積回路装置。
（付記２１）
付記１７記載の半導体集積回路装置であって、前記第２の基準クロックのクロック周波数は、前記第１の基準クロックのクロック周波数の非整数倍の周波数であることを特徴とする半導体集積回路装置。
（付記２２）
付記１７記載の半導体集積回路装置であって、前記第１の内部モジュールと前記第２の内部モジュールの間のデータ転送は、前記第１の基準クロックのクロック周波数に等しい動作周波数で行われることを特徴とする半導体集積回路装置。
（付記２３）
内部バスと、前記内部バスに接続され、所定の機能を実現する第１のモジュール本体を有する第１の内部モジュールと、前記内部バスに接続され、所定の機能を実現する第２のモジュール本体を有し、前記第１の内部モジュールと前記内部バスを介してデータ転送を行う第２の内部モジュールと、基準クロック及び前記基準クロックの有効なクロックエッジの位置を示すクロック同期信号を生成して、前記第１の内部モジュール及び前記第２の内部モジュールに供給するクロック生成部とを備える半導体集積回路装置であって、前記第１の内部モジュールは、前記基準クロック及び前記クロック同期信号に基づいて前記第１のモジュール本体に供給される内部クロックを生成する内部クロック生成部を有し、前記第１のモジュール本体において前記内部クロックに従って所定の処理を実行するとともに、前記内部クロックのクロックエッジに従ってデータ転送を行い、前記第２の内部モジュールは、前記第２のモジュール本体において前記基準クロックに従って所定の処理を実行するとともに、前記基準クロックと前記クロック同期信号に基づいて前記有効なクロックエッジに従ってデータ転送を行うことを特徴とする半導体集積回路装置。
（付記２４）
付記２３記載の半導体集積回路装置であって、前記基準クロックのクロックエッジの配置は等間隔であり、前記内部クロックのクロックエッジの配置は等間隔でないことを特徴とする半導体集積回路装置。
（付記２５）
付記２３記載の半導体集積回路装置であって、前記基準クロックのクロック周波数は、前記内部クロックのクロック周波数の非整数倍の周波数であることを特徴とする半導体集積回路装置。
（付記２６）
付記２３記載の半導体集積回路装置であって、前記内部クロック生成部は、付記１乃至付記１５のいずれか１つに記載の同期制御モジュールであることを特徴とする半導体集積回路装置。
（付記２７）
付記２３記載の半導体集積回路装置であって、前記基準クロックの有効なクロックエッジの位置を示す前記クロック同期信号のクロックエッジの位置は、前記基準クロックの有効なクロックエッジの位置の１周期前であることを特徴とする半導体集積回路装置。
（付記２８）
付記２３記載の半導体集積回路装置であって、前記第１の内部モジュールと前記第２の内部モジュールの間のデータ転送は、前記内部クロックのクロック周波数に等しい動作周波数で行われることを特徴とする半導体集積回路装置。
（付記２９）
付記２３記載の半導体集積回路装置であって、前記内部クロックのクロックエッジの位置は、前記有効なクロックエッジの位置に一致することを特徴とする半導体集積回路装置。
（付記３０）
内部バスと、前記内部バスに接続され、所定の機能を実現する第１のモジュール本体を有する第１の内部モジュールと、前記内部バスに接続され、所定の機能を実現する第２のモジュール本体を有し、前記第１の内部モジュールと前記内部バスを介してデータ転送を行う第２の内部モジュールとを備える半導体集積回路装置で、前記第１の内部モジュールと前記第２の内部モジュールの間のデータ伝送を制御するデータ転送制御方法であって、第１の基準クロックを生成して前記第１の内部モジュールに供給する第１のクロック生成ステップと、第２の基準クロック及び前記第１の基準クロックのクロックエッジの位置に対応する前記第２の基準クロックの有効なクロックエッジの位置を示すクロック同期信号を生成して前記第２の内部モジュールに供給する第２のクロック生成ステップと、前記第１の内部モジュールにおいて、前記第１の基準クロックのクロックエッジに従ってデータ転送を行うように制御する第１のデータ転送制御ステップと、前記第２の内部モジュールにおいて、前記第２の基準クロックと前記クロック同期信号に基づいて前記有効なクロックエッジに従ってデータ転送を行うように制御する第２のデータ転送制御ステップとを有することを特徴とするデータ転送制御方法。
（付記３１）
内部バスと、前記内部バスに接続され、所定の機能を実現する第１のモジュール本体を有する第１の内部モジュールと、前記内部バスに接続され、所定の機能を実現する第２のモジュール本体を有し、前記第１の内部モジュールと前記内部バスを介してデータ転送を行う第２の内部モジュールとを備える半導体集積回路装置で、前記第１の内部モジュールと前記第２の内部モジュールの間のデータ伝送を制御するデータ転送制御方法であって、基準クロック及び前記基準クロックの有効なクロックエッジの位置を示すクロック同期信号を生成して前記第１の内部モジュール及び前記第２の内部モジュールに供給するクロック生成ステップと、前記第１の内部モジュールにおいて、前記基準クロック及び前記クロック同期信号に基づいて前記第１のモジュール本体に供給される内部クロックを生成する内部クロック生成ステップと、前記第２のモジュール本体において、前記内部クロックに従って所定の処理を実行するとともに、前記内部クロックのクロックエッジに従ってデータ転送を行うように制御する第１のデータ転送制御ステップと、前記第２のモジュール本体において前記基準クロックに従って所定の処理を実行するとともに、前記基準クロックと前記クロック同期信号に基づいて前記有効なクロックエッジに従ってデータ転送を行うように制御する第２のデータ転送制御ステップとを有することを特徴とするデータ転送制御方法。
（付記３２）
内部バスと、前記内部バスに接続され、所定の機能を実現する第１のモジュール本体を有する第１の内部モジュールと、前記内部バスに接続され、所定の機能を実現する第２のモジュール本体を有し、前記第１の内部モジュールと前記内部バスを介してデータ転送を行う第２の内部モジュールと、第１の基準クロック及び前記第１の基準クロックの有効なクロックエッジの位置を示す第１のクロック同期信号を生成して前記第１の内部モジュールに供給するとともに、第２の基準クロック及び前記第２の基準クロックの有効なクロックエッジの位置を示す第２のクロック同期信号を生成して前記第２の内部モジュールに供給するクロック生成部とを備える半導体集積回路装置であって、前記第１の内部モジュールは、前記第１のモジュール本体において前記第１の基準クロックに従って所定の処理を実行するとともに、前記第１の基準クロック及び前記第１のクロック同期信号に基づいて前記第１の基準クロックのクロックエッジに従ってデータ転送を行い、前記第２の内部モジュールは、前記第２のモジュール本体において前記第２の基準クロックに従って所定の処理を実行するとともに、前記第２の基準クロックと前記第２のクロック同期信号に基づいて前記第２の基準クロックの有効なクロックエッジに従ってデータ転送を行うことを特徴とする半導体集積回路装置。
（付記３３）
付記３２記載の半導体集積回路装置であって、前記第１の内部モジュールと前記第２の内部モジュールの間のデータ転送は、前記第１の基準クロックのクロック周波数と前記第２の基準クロックのクロック周波数の最大公約数に等しい動作周波数で行われることを特徴とする半導体集積回路装置。
（付記３４）
付記３２記載の半導体集積回路装置であって、前記第１の基準クロックの有効なクロックエッジの位置と、前記第２の基準クロックの有効なクロックエッジの位置とは互いに一致していることを特徴とする半導体集積回路装置。
（付記３５）
付記３２記載の半導体集積回路装置であって、前記第１のクロック同期信号と前記第２のクロック同期信号の間で、立上りエッジ又は立下りエッジの少なくとも一方が互いに一致していることを特徴とする半導体集積回路装置。
（付記３６）
付記３２記載の半導体集積回路装置であって、前記第１の基準クロックと前記第２の基準クロックの双方において、クロックエッジの配置が等間隔であることを特徴とする半導体集積回路装置。
（付記３７）
付記３２記載の半導体集積回路装置であって、前記第１の内部モジュール及び前記第２の内部モジュールは、前記内部バス上のデータ信号を取り込むとき、前記第１のクロック同期信号又は前記第２のクロック同期信号に基づいて、前記内部バスに出力されたデータ信号の有効又は無効を示すバスコントロール信号を生成し、前記バスコントロール信号に従って前記データ信号を取り込むインターフェイス部を備えることを特徴とする半導体集積回路装置。
（付記３８）
付記３７記載の半導体集積回路装置であって、前記バスコントロール信号は、前記内部バスに出力されたデータ信号の有効を示す信号と無効を示す信号を交互に出力することを特徴とする半導体集積回路装置。
（付記３９）
付記３７記載の半導体集積回路装置であって、前記第１の内部モジュールのデータバス幅と前記第２の内部モジュールのデータバス幅が異なっており、前記第１の内部モジュール及び前記第２の内部モジュールのデータバス幅の小さい方の内部モジュールは、大きい方の内部モジュールから前記内部バス上に出力されたデータ信号を前記バスコントロール信号に従って分割して取り込むことを特徴とする半導体集積回路装置。
（付記４０）
付記３９記載の半導体集積回路装置であって、前記バスコントロール信号は、前記データ信号の分割数に応じたサイクル数だけ連続して、前記内部バスに出力されたデータ信号の有効を示す信号を出力することを特徴とする半導体集積回路装置。
（付記４１）
付記３７記載の半導体集積回路装置であって、前記第１の内部モジュールのデータバス幅と前記第２の内部モジュールのデータバス幅が異なっており、前記第１の内部モジュール及び前記第２の内部モジュールのデータバス幅の小さい方の内部モジュールは、複数の前記インターフェイス部を有し、大きい方の内部モジュールから前記内部バス上に出力されたデータ信号を前記複数のインターフェイス部を介して並列的に取り込むことを特徴とする半導体集積回路装置。
（付記４２）
内部バスと、前記内部バスに接続され、所定の機能を実現する第１のモジュール本体を有する第１の内部モジュールと、前記内部バスに接続され、所定の機能を実現する第２のモジュール本体を有し、前記第１の内部モジュールと前記内部バスを介してデータ転送を行う第２の内部モジュールとを備える半導体集積回路装置で、前記第１の内部モジュールと前記第２の内部モジュールの間のデータ伝送を制御するデータ転送制御方法であって、第１の基準クロック及び前記第１の基準クロックの有効なクロックエッジの位置を示す第１のクロック同期信号を生成して前記第１の内部モジュールに供給する第１のクロック生成ステップと、第２の基準クロック及び前記第２の基準クロックの有効なクロックエッジの位置を示す第２のクロック同期信号を生成して前記第２の内部モジュールに供給する第２のクロック生成ステップと、前記第１のモジュール本体において前記第１の基準クロックに従って所定の処理を実行するとともに、前記第１の基準クロック及び前記第１のクロック同期信号に基づいて前記第１の基準クロックの有効なクロックエッジに従ってデータ転送を行うように制御する第１のデータ転送制御ステップと、前記第２のモジュール本体において前記第２の基準クロックに従って所定の処理を実行するとともに、前記第２の基準クロックと前記第２のクロック同期信号に基づいて前記第２の基準クロックの有効なクロックエッジに従ってデータ転送を行うように制御する第２のデータ転送制御ステップとを有することを特徴とするデータ転送制御方法。
（付記４３）
内部バスと、前記内部バスに接続され、所定の機能を実現するモジュール本体を有する複数の内部モジュールと、基準クロック及び前記基準クロックの有効なクロックエッジの位置を示すクロック同期信号を生成し、前記複数の内部モジュールの少なくとも１つに供給するクロック生成部とを備える半導体集積回路装置であって、前記複数の内部モジュールの少なくとも１つは、前記基準クロックと前記クロック同期信号に基づいて、所定の内部処理を行うことを特徴とする半導体集積回路装置。
（付記４４）
付記４３記載の半導体集積回路装置であって、前記所定の内部処理は、前記内部モジュールに供給される内部クロックを生成する内部クロック生成処理であることを特徴とする半導体集積回路装置。
（付記４５）
付記４３記載の半導体集積回路装置であって、前記所定の内部処理は、前記複数の内部モジュール間で前記内部バスを介してデータ転送が行われるとき、前記データ転送に関与し、異なる動作周波数で動作する２つの内部モジュール間でデータ信号の同期制御を行う信号同期処理であることを特徴とする半導体集積回路装置。
（付記４６）
付記４３記載の半導体集積回路装置であって、前記複数の内部モジュールの少なくとも１つは、前記基準クロックの有効なクロックエッジに従って、前記所定の内部処理を実行するモジュールを有することを特徴とする半導体集積回路装置。
【図面の簡単な説明】
【０１７１】
【図１】本発明の一実施例における基本的なプロセッサの構成を示すブロック図である。
【図２】基準クロック及びクロック同期信号を説明するための波形図である。
【図３】本発明の一実施例に係る半導体集積回路装置の内部モジュールを示すブロック図である。
【図４】本発明の一実施例に係る同期制御モジュールを示す回路図である。
【図５】本発明の一実施例に係る半導体集積回路装置を説明するための波形図である。
【図６】本発明の一実施例に係る同期制御モジュールを示す回路図である。
【図７】本発明の一実施例に係る同期制御モジュールを示す回路図である。
【図８】本発明の一実施例に係る同期制御モジュールを示す回路図である。
【図９】本発明の一実施例に係る同期制御方式を示すブロック図である。
【図１０】本発明の一実施例に係る同期制御方式を示すブロック図である。
【図１１】本発明の一実施例に係る同期制御モジュールを示す回路図である。
【図１２】本発明の一実施例に係る半導体集積回路装置の内部モジュールを示すブロック図である。
【図１３】基準クロックと１．５倍クロックを説明するための波形図である。
【図１４】図１３の場合のクロック同期制御方式を説明するための波形図である。
【図１５】クロック比が１：２．５の場合のクロック同期制御方式を説明するための波形図である。
【図１６】クロック比が１：３．５の場合のクロック同期制御方式を説明するための波形図である。
【図１７】クロック比が１：３の場合のクロック同期制御方式を説明するための波形図である。
【図１８】本発明の一実施例に係るクロック生成部を示すブロック図である。
【図１９】本発明の一実施例に係るクロック生成部を示すブロック図である。
【図２０】本発明の一実施例に係るクロック生成部を示すブロック図である。
【図２１】図２０の実施例におけるクロック同期制御方式を説明するための波形図である。
【図２２】本発明の一実施例に係るクロック同期制御方式を説明するための波形図である。
【図２３】本発明の一実施例に係るクロック同期制御システムを示すブロック図である。
【図２４】本発明の一実施例に係るクロック同期制御システムを示すブロック図である。
【図２５】本発明の一実施例に係るクロック同期制御方式を説明するための波形図である。
【図２６】本発明の一実施例に係るクロック同期制御システムを示すブロック図である。
【図２７】本発明の一実施例に係るクロック同期制御方式を説明するための波形図である。
【図２８】本発明の一実施例に係るクロック同期制御システムを示すブロック図である。
【符号の説明】
【０１７２】
１  外部入力クロック
２  外部入力端子信号
３  ＰＬＬ回路
４  クロック生成部
５  ＣＰＵコア
６、７  内部モジュール
８  クロック制御レジスタ
９  内部オンチップバス
１０  高速の基準クロック
１１、１３  クロック同期信号
１２  低速の基準クロック
１４、１５  クロック制御信号
【図１】
2008041106.tif 000003
【図２】
2008041106.tif 000004
【図３】
2008041106.tif 000005
【図４】
2008041106.tif 000006
【図５】
2008041106.tif 000007
【図６】
2008041106.tif 000008
【図７】
2008041106.tif 000009
【図８】
2008041106.tif 000010
【図９】
2008041106.tif 000011
【図１０】
2008041106.tif 000012
【図１１】
2008041106.tif 000013
【図１２】
2008041106.tif 000014
【図１３】
2008041106.tif 000015
【図１４】
2008041106.tif 000016
【図１５】
2008041106.tif 000017
【図１６】
2008041106.tif 000018
【図１７】
2008041106.tif 000019
【図１８】
2008041106.tif 000020
【図１９】
2008041106.tif 000021
【図２０】
2008041106.tif 000022
【図２１】
2008041106.tif 000023
【図２２】
2008041106.tif 000024
【図２３】
2008041106.tif 000025
【図２４】
2008041106.tif 000026
【図２５】
2008041106.tif 000027
【図２６】
2008041106.tif 000028
【図２７】
2008041106.tif 000029
【図２８】
2008041106.tif 000030