JP2005050030A - 半導体集積回路装置、クロック制御方法及びデータ転送制御方法 - Google Patents
半導体集積回路装置、クロック制御方法及びデータ転送制御方法 Download PDFInfo
- Publication number
- JP2005050030A JP2005050030A JP2003204617A JP2003204617A JP2005050030A JP 2005050030 A JP2005050030 A JP 2005050030A JP 2003204617 A JP2003204617 A JP 2003204617A JP 2003204617 A JP2003204617 A JP 2003204617A JP 2005050030 A JP2005050030 A JP 2005050030A
- Authority
- JP
- Japan
- Prior art keywords
- clock
- internal
- module
- bus
- synchronization signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/10—Distribution of clock signals, e.g. skew
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Semiconductor Integrated Circuits (AREA)
- Information Transfer Systems (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
【解決手段】本発明の半導体集積回路装置は、内部バスと、前記内部バスに接続され、所定の機能を実現するモジュール本体を有する複数の内部モジュールと、基準クロック及び前記基準クロックの有効なクロックエッジの位置を示すクロック同期信号を生成し、前記複数の内部モジュールの少なくとも1つに供給するクロック生成部とを備え、前記複数の内部モジュールの少なくとも1つは、前記基準クロックと前記クロック同期信号に基づいて前記内部モジュールに供給される内部クロックを生成する同期制御モジュールを備える。
【選択図】 図4
Description
【発明の属する技術分野】
本発明は、バスに接続される内部モジュールの低消費電力化のための半導体集積回路装置及びクロック制御方法に関する。より詳細には、本発明は、クロック及びクロック同期信号を制御することにより内部モジュール及び内部バスの動作周波数を制御して低消費電力化を図る半導体集積回路装置及びクロック制御方法に関する。
【従来の技術】
近年、半導体プロセッサの高速化・大規模化に伴い、プロセッサの消費電力をいかに削減するかが大きな課題となっている。半導体集積回路装置の消費電力削減のため、1)プロセッサの高速動作が不要なときに、動的にクロック周波数を低くする方法、2)プロセッサ内部の各モジュールに、必要に応じた動作周波数のクロックをそれぞれ供給する方法、3)動作が不要なモジュールのクロックを停止させる方法(レジスタ等で制御)、4)ゲーテッドクロックを使用することにより、クロックツリーの電力を削減する方法などが用いられてきた。
【0002】
ここで、半導体プロセッサの主な電力消費要因Pは次式によって表すことができる。
【0003】
P=C×V^2×F(C:負荷容量、V:電源電圧、F:動作周波数)
上述の方法は、この式における動作周波数F(又は、負荷容量のスイッチング確率)に注目して、電力削減を図る方法である。電源電圧Vを制御することにより、低消費電力化を図る方法も多数実施されているが、近年では、主に動作を要求されていない周辺モジュールへのクロック供給を制御する方法が注目されている。
【0004】
一方、本発明に関連する従来の技術として、特開2002−328744号公報は、クロック周波数を切り換える際のモジュール間のデータ転送の同期はずれを防止するための装置を開示している。
【0005】
特開2003−58271号公報は、クロック周波数を切り換える際やパワーダウンモード移行時におけるハングアップの発生を回避するための装置及び方法を開示している。
【0006】
特開平6−202754号公報は、集積回路の機能単位(モジュール)をパワーダウンする装置及び方法を開示している。各モジュールの状況を監視して、必要のない場合にはそのモジュールへのクロック入力を停止する。
【0007】
特開平8−194663号公報は、コンピュータシステム及び周辺バスのためのクロックライン特性を能動化又は不能化する方法を開示している。クロック制御用のコマンドレジスタを設け、動作を要しないモジュールへのクロック供給を停止する等のクロック制御を行う。
【0008】
また、特開2000−35886号公報は、対応するクロック比が整数倍でない場合に動作する各モジュール間で信号乗り換えを行う際にラッチを使用して各クロック間の信号同期を行うことを開示している。
【0009】
【特許文献1】
特開2002−328744号公報
【0010】
【特許文献2】
特開2003−58271号公報
【0011】
【特許文献3】
特開平6−202754号公報
【0012】
【特許文献4】
特開平8−194663号公報
【0013】
【特許文献5】
特開2000−35886号公報
【発明が解決しようとする課題】
近年のシステムLSI開発の進展に伴って、多数の機能IPマクロ(特定の機能を実現するための機能単位)を1つのチップに搭載するシステム・オン・チップ(SOC)開発が可能となってきている。回路規模が巨大化すると、それだけ消費電力も大きくなるため、いかに消費電力を抑えるかが大きな課題となっている。
【0014】
このようなシステム・オン・チップ(SOC)は、通常、多数の機能IPマクロを搭載した内部モジュールを有する。その消費電力対策として、従来、各モジュールが動作可能(活性化状態)であるか否かを示すレジスタ等を設け、そのモジュールが動作不可/動作不要(不活性状態)である場合に、そのモジュールへのクロック供給を停止する方式が取られてきた。
【0015】
しかし、このような従来の方式では、一旦、特定のモジュールのクロック供給をONにすると、そのモジュールへのバスアクセス等の有無や、そのモジュール自体の動作状態に関わらず、そのモジュールへのクロックは供給され続ける。半導体チップの消費電力の10〜30%近く(この値はチップの回路構成に依存する)は、クロック・ツリー(クロック・スキュー調整用にツリー状に挿入されるバッファ群)で消費されていることを鑑みると、マクロIP非動作時の冗長なクロック供給を停止する、あるいは抑止することが望ましい。
【0016】
言い換えれば、たとえゲーテッド・クロック等によりデータバスや演算器等の不要な信号遷移は抑えられたとしても、クロック・ツリーにおいては無駄な電力を消費し続けていることになる。ゲーテッド・クロック等を使用していなければ、さらに顕著に無駄な電力が消費されることになる。この余分な電力消費を削減していくことで、チップの低消費電力化を実現することが望まれている。
【0017】
本発明は、上記の点に鑑みてなされたものであり、半導体集積回路装置及びクロック制御方法において、冗長なクロック供給をバスアクセスの有無などにより判定して、内部モジュールが活性状態のときであっても、実際に動作する必要のない場合には、そのモジュールへのクロック供給を停止又は抑止する機能を提供することを目的とする。
【0018】
さらに、一般にCPUコア、SDRAMコントローラや、周辺バス・コントローラ、タイマ等の各種内部モジュールを有する半導体プロセッサにおいて、内部の特定のモジュールは常に一定の処理能力を要し、CPUは高速動作が要求される。このような半導体プロセッサにおいて、アプリケーションの処理に最低限必要なクロック周波数を供給して、プロセスの出来具合(製造バラツキ)、電源電圧、温度、等の条件に応じて、最大性能を引き出す等の要求を満足させるために、CPUコア部と、特定の内部モジュールとのクロック周波数のクロック比を非整数倍、例えば0.5倍きざみ制御したい場合がある。
【0019】
かかる要求に対して、プロセッサ内のクロック生成部において、クロック比が、非整数倍の周波数を有する複数のクロックを生成して、CPUコア部を含む各内部モジュールに供給すると、各クロックのクロックエッジが等間隔の場合に、早い方のクロックの倍の周波数で、モジュール間の信号同期回路部が動作しなければならないという問題がある。
【0020】
このような高速動作を行う回路が存在すると、LSI開発における論理設計、レイアウト、タイミング検証等において、大きな問題となる。
【0021】
本発明は、上記の点に鑑みてなされたものであり、半導体集積回路装置及びクロック制御方法において、簡便な方法により、非整数倍のクロックで動作するもクール間の信号同期を実現する機能を提供することを目的とする。
【課題を解決するための手段】
上記課題を解決するため、本発明の主な側面は、内部バスと、前記内部バスに接続され、所定の機能を実現するモジュール本体を有する複数の内部モジュールと、基準クロック及び前記基準クロックの有効なクロックエッジの位置を示すクロック同期信号を生成し、前記複数の内部モジュールの少なくとも1つに供給するクロック生成部とを備える半導体集積回路装置であって、前記複数の内部モジュールの少なくとも1つは、前記基準クロックと前記クロック同期信号に基づいて、所定の内部処理を行うことを特徴とする半導体集積回路装置である。
【0022】
更に、上記課題を解決するため、本発明の第1の側面は、内部バスと、前記内部バスに接続され、所定の機能を実現するモジュール本体を有する複数の内部モジュールと、基準クロック及び前記基準クロックの有効なクロックエッジの位置を示すクロック同期信号を生成し、前記複数の内部モジュールの少なくとも1つに供給するクロック生成部とを備える半導体集積回路装置であって、前記複数の内部モジュールの少なくとも1つは、前記基準クロックと前記クロック同期信号に基づいて前記内部モジュールに供給される内部クロックを生成する同期制御モジュールを備えることを特徴とする半導体集積回路装置である。
【0023】
本発明の第1の側面によれば、クロック・ツリーにおける消費電力や、クロック・ツリーに接続されているモジュール内の冗長な電力消費を削減することが可能となる。複数の機能IPマクロを搭載した内部モジュールを有するシステム・オン・チップ等の半導体集積回路装置における消費電力削減に有効である。
【0024】
更に、上記課題を解決するため、本発明の第2の側面は、内部バスと、前記内部バスに接続され、所定の機能を実現する第1のモジュール本体を有する第1の内部モジュールと、前記内部バスに接続され、所定の機能を実現する第2のモジュール本体を有し、前記第1の内部モジュールと前記内部バスを介してデータ転送を行う第2の内部モジュールと、第1の基準クロックを生成して前記第1の内部モジュールに供給するとともに、第2の基準クロック及び前記第1の基準クロックのクロックエッジの位置に対応する前記第2の基準クロックの有効なクロックエッジの位置を示すクロック同期信号を生成して前記第2の内部モジュールに供給するクロック生成部とを備える半導体集積回路装置であって、前記第1の内部モジュールは、前記第1のモジュール本体において前記第1の基準クロックに従って所定の処理を行うとともに、前記第1の基準クロックのクロックエッジに従ってデータ転送を行い、前記第2の内部モジュールは、前記第2のモジュール本体において前記第2の基準クロックに従って所定の処理を行うとともに、前記第2の基準クロックと前記クロック同期信号に基づいて前記有効なクロックエッジに従ってデータ転送を行うことを特徴とする半導体集積回路装置である。
【0025】
更に、上記課題を解決するため、本発明の第3の側面は、内部バスと、前記内部バスに接続され、所定の機能を実現する第1のモジュール本体を有する第1の内部モジュールと、前記内部バスに接続され、所定の機能を実現する第2のモジュール本体を有し、前記第1の内部モジュールと前記内部バスを介してデータ転送を行う第2の内部モジュールと、第1の基準クロック及び前記第1の基準クロックの有効なクロックエッジの位置を示す第1のクロック同期信号を生成して前記第1の内部モジュールに供給するとともに、第2の基準クロック及び前記第2の基準クロックの有効なクロックエッジの位置を示す第2のクロック同期信号を生成して前記第2の内部モジュールに供給するクロック生成部とを備える半導体集積回路装置であって、前記第1の内部モジュールは、前記第1のモジュール本体において前記第1の基準クロックに従って所定の処理を実行するとともに、前記第1の基準クロック及び前記第1のクロック同期信号に基づいて前記第1の基準クロックのクロックエッジに従ってデータ転送を行い、前記第2の内部モジュールは、前記第2のモジュール本体において前記第2の基準クロックに従って所定の処理を実行するとともに、前記第2の基準クロックと前記第2のクロック同期信号に基づいて前記第2の基準クロックの有効なクロックエッジに従ってデータ転送を行うことを特徴とする半導体集積回路装置である。
【0026】
本発明の第2及び第3の側面によれば、対応するクロック比が整数倍でない場合にも、それぞれのクロックで動作するモジュール間における非常に高速な信号乗り換えをすることなく、所望の動作周波数で動作可能とすることができる。
【発明の実施の形態】
以下、本発明の実施の形態について図面を用いて説明する。
【0027】
図1は、本発明の一実施例における基本的なプロセッサの構成を示す。
【0028】
図1において、1は外部入力クロック、2はクロック制御を行うための外部入力端子信号、3は本実施例におけるクロック生成部への入力クロックを生成するPLL(phase−locked loop)回路、4は本実施例におけるクロック生成部、4aはクロック生成部4内の分周回路、5は本実施例におけるCPUコア、5aはCPUコア5内のバスインターフェイス(BI)、6は本実施例における内部モジュール、6aは内部モジュール6内のバスインターフェイス(BI)、7は本実施例における内部モジュール、7aは内部モジュール7内のバスインターフェイス(BI)、8は内部モジュール7内のクロック制御レジスタ、9は本実施例における内部オンチップバス(OCB)、10は本実施例におけるCPUコア5へ供給される高速の基準クロック(バスクロック)、11は本実施例におけるCPUコア5へ供給される基準クロック10に対応したクロック同期信号、12は本実施例における内部モジュール6及び7へ供給される低速の基準クロック、13は本実施例における内部モジュール6及び7へ供給されるクロック同期信号、14は本実施例におけるCPUコア5からクロック生成部4へのプログラム命令によるクロック制御信号、15は本実施例のクロック制御レジスタ8からクロック生成部4へのクロック制御信号をそれぞれ示す。
【0029】
図1のプロセッサに、本実施例に係る半導体集積回路装置が適用されている。図1のプロセッサは、PLL回路3と、クロック生成部4と、CPUコア5と、内部モジュール6と、内部モジュール7と、内部オンチップバス(OCB)9を含む。本実施例の半導体集積回路装置は、クロック生成部4と、各内部モジュール6、7と、内部オンチップバス8を含む。
【0030】
PLL回路3は、外部入力クロック1を受け取り、外部入力クロック1に同期したPLL出力信号をクロック生成部4へ出力する。
【0031】
クロック生成部4は、外部入力端子を介して外部入力端子信号2を受取ると共に、PLL回路3からのPLL出力信号を受取る。また、クロック生成部4は、CPUコア5から送出されるクロック制御信号14を受取って、クロック同期制御に用いる。また、クロック生成部4は、内部モジュール7内に設けられたクロック制御レジスタ8から送出されるクロック制御信号15を受取って、クロック同期制御に用いる。
【0032】
CPUコア5、内部モジュール6、及び内部モジュール7は、それぞれ、バスインターフェイス5a、バスインターフェイス6a、及びバスインターフェイス7aを介してオンチップバス9と接続されている。CPUコア5及び内部モジュール6、7の内部では、供給された基準クロックとクロック同期信号に基づいて内部動作に適したクロック周波数の内部クロックを生成する。
【0033】
図2は、本発明の一実施例における基準クロック及びクロック同期信号を説明するための波形図である。
【0034】
図2において、(1)は本実施例における基準クロック、(2)は本実施例におけるクロック同期信号、(3)は本実施例における基準クロック及びクロック同期信号を用いて生成されたゲーテッド・クロック(内部クロック)をそれぞれ示す。
【0035】
図2に示したように、本発明のゲーテッド・クロック(内部クロック)(3)は、基準クロック(1)の複数のパルスのうち、その立上りエッジ(LOWからHIGHへ変化するエッジ)がクロック同期信号(2)がHIGHレベルである期間にあるパルスのみを通過させるように制御することにより生成される。基準クロックよりも周波数の低い内部クロックが生成され、クロック同期信号(2)の周期やデューティ比を変更することにより内部クロックの周波数が変更される。
【0036】
図3は、本発明の一実施例に係る半導体集積回路装置の内部モジュールを示す。
【0037】
図3において、31は特定の機能を有するオンチップバスに接続された内部モジュール、32は内部モジュール31内の内部クロック生成用の同期制御モジュール、33は内部モジュール31内の特定機能を実現するためのモジュール本体、34はモジュール本体33内の制御ステートマシン、9は内部オンチップバス、16は基準クロック、17はクロック同期信号、18は内部モジュール31に対する割り込み要求、DMA(direct memory access)リクエスト等の要求信号、19はオンチップバス9のバス・プロトコルで定義されるバスリクエスト信号、20はオンチップバス9のバス・プロトコルで定義されるバスアクノリッジ信号、21は同期制御モジュール32で基準クロックとクロック同期信号を用いて生成されたゲーテッドクロック(内部クロック)、22はモジュール本体33の制御ステートマシン34から同期制御モジュール32に通知されるクロック制御信号(例えば、制御ステートがIDLE状態であることを示す信号)、32aは同期制御モジュール32内のゲーテッドクロック生成用の論理回路、32bは同期制御モジュール32内の制御ステートマシン、37は制御ステートマシン32bから出力され、クロック同期信号17の論理回路32aへの入力を制御する内部クロック制御信号をそれぞれ示す。
【0038】
同期制御モジュール32は、基準クロック16、クロック同期信号17及び内部クロック制御信号37に基づいて内部クロック21を生成し、論理回路32aから出力する。モジュール本体33は同期制御モジュール32から出力される内部クロック21に従って所定の処理を実行する。同期制御モジュール32の詳細については後述する。
【0039】
図1に戻って、クロック生成部4では、特定の基準クロック10(例えば、バスクロック)と、複数の低速クロック12(例えば、内部モジュールへの供給クロック)を生成すると同時に、各低速基準クロック12とのクロック同期を図るために基準クロックの所定倍の周期で生成される各クロック同期信号13を生成し、各プロセッサ内の各内部モジュールへ供給する。この基準クロックと対応するクロック同期信号は、1組でもいいし、複数組み存在してもかまわない。
【0040】
また、クロック同期信号13は、必要なクロックエッジの直前にアサート されるものでも、さらに基準クロック1サイクル分前にあっても良い。
【0041】
本発明の半導体集積回路装置では、基準クロック10、12とクロック同期信号11、13により、各クロック間の乗り換え制御回路(例えば、各内部モジュール内のバスインターフェイスやバスブリッジ等)においては、異なるクロック周波数のクロックで生成された信号間の同期制御を行う。
【0042】
本発明の半導体集積回路装置は、図1のようなクロック生成部4を有するプロセッサの構成において、基準クロックとクロック同期信号を受け取る各内部モジュール内に、内部クロックを生成するための同期制御モジュール(又はSYNCモジュール)を設けたことを特徴とする。
【0043】
本発明の半導体集積回路装置は、各内部モジュールへ供給される基準クロックのクロック周波数比のバリエーションや、各内部モジュールへのクロック供給のON/OFFに関する制御を行うための制御機構を有する。具体的には、LSIの外部端子や、内部のクロック制御レジスタ、又は、プロセッサのインストラクション・セットの中の命令等で制御を行う。
【0044】
プロセッサ内のクロック生成部には、各基準クロックとクロック同期信号を選択的に停止、又は、クロック周波数を変更するように制御する機構(特許文献2参照)や、クロック制御に先立つ各種モジュールとのハンドシェイク制御を行う機能(特許文献1参照)を設けてもよい。
【0045】
本発明の一実施例に係る半導体集積回路装置では、バスに接続された各内部モジュール内に同期制御モジュールを設け、同期制御モジュールで各内部モジュール内の内部クロックを生成する。同期制御モジュールは、内部クロック供給を停止させる機能、又は内部クロック供給を減速化する機能を備える。ここで、バスに接続された各内部モジュールには、バスマスター及びバススレーブの双方が含まれる。
【0046】
まず、バスアクセスが無い場合の内部クロック停止方法について説明する。図4は、図3で示した本発明の一実施例に係る同期制御モジュールの構成例を示す。
【0047】
図4において、41は基準クロック、42はクロック同期信号、43は同期制御モジュール32内で生成される内部クロック制御信号、44はクロック同期信号42をクロック制御信号43でマスクするためのAND素子、45はラッチセル、46はゲーテッド・クロックを生成するためのAND素子、47は生成されたゲーテッド・クロックをそれぞれ示す。
【0048】
図5は、図4の同期制御モジュールの動作を説明するための波形図である。
【0049】
図5において、(1)は図4における基準クロック41(バス・クロック)、(2)は図4におけるクロック同期信号42(この場合、最速クロックを示すHIGHレベル固定に設定されている)、(3)はバス・リクエスト信号(bus_req)、(4)はパイプライン・バスでいうアドレス・フェーズ信号、(5)はバス上の転送がリードかライトのどちらであるかを示す信号(read/write)、(6)はバスアクノリッジ信号(bus_ack)、(7)はバスに返されるリードデータ(read_data)、(8)は同期制御モジュール32内で割込み要求やDMAリクエスト等の要求信号、モジュール本体33内の制御ステートマシン34からのクロック制御信号、バスリクエスト信号、及びバスアクノリッジ信号のいずれかに基づいて生成される内部クロック制御信号、(9)は基準クロック、クロック同期信号及び内部クロック制御信号により生成されたゲーテッド・クロックをそれぞれ示す。
【0050】
図3及び図4に示した回路構成により、バスに接続される内部モジュール内に、内部クロックを生成する同期制御モジュールを設けて、クロック生成部4から供給される基準クロック(バスクロック)及びクロック同期信号、及び内部モジュール内で生成される内部クロック制御信号から、当該モジュール内の内部クロックをこの同期制御モジュールで生成する。
【0051】
すなわち、図5に示したように、ゲーテッド・クロック生成部へのクロック同期信号の供給・停止を内部クロック制御信号によって制御することにより、内部クロックの供給・停止を制御する。また、図5では基準クロックと同じ周波数であることを示すHIGHレベル固定に設定されているが、図2に示したように、クロック同期信号の周期を基準クロックの所定倍に設定し、デューティ比を適切に設定することにより、内部クロックの周波数を基準クロックのそれよりも低い所定の値に設定することができる。
【0052】
バス転送の発生を知らせるバスリクエスト信号や、外部割込み要求信号やDMA(direct memory access)リクエスト信号等により、同期制御モジュール32内の制御ステートマシン32bにおいて、当該内部モジュールが通常動作する必要のある期間を判定し、通常動作が不要な期間は、内部クロック制御信号をネゲートすることによりクロック同期信号をマスクして内部クロックの供給を停止させ、通常動作が必要な期間は、内部クロック制御信号をアサートしてクロック同期信号をマスクせずにそのまま、クロック生成用ゲーテッド・クロック部へ供給することにより、内部クロックを生成する。
【0053】
同期制御モジュールにおける通常動作を要する期間の判定について、内部クロックの供給を開始するタイミング、すなわち内部クロック制御信号をアサートするタイミングとしては、バスリクエストが発生したタイミングや、外部割込み等の何らかの割り込み要因に関する信号がアサートされたタイミングとすればよい。
【0054】
内部クロックの供給を停止するタイミング、すなわち内部クロック制御信号をネゲートするタイミングについて、若干考慮を要する。具体的には、クロック供給対象のモジュールが単純なレジスタファイル等であれば、バスアクセスの終了を示すバスアクノリッジ信号でバス転送の終了を検出したタイミングで、それ以降のクロック供給を停止させることができる。
【0055】
ところが、バスアクセス終了後も一定期間、動作し続ける必要があるモジュールにおいては、バスアクノリッジ信号のみでクロックの停止タイミングを決めることはできない。そこで、バスアクセス終了後も一定期間クロック供給が必要なモジュールの内部クロックを生成する同期制御モジュールにおいては、モジュール内部の動作状態を特定の信号によりモニターし、動作が完了するまでクロックを供給する構成とすることが必要となる。
【0056】
図5の例では、バスリクエスト信号bus_reqの立上りエッジに応答して内部クロック制御信号がアサートされ、バスアクノリッジ信号bus_ackの立下りエッジに応答して内部クロック制御信号がネゲートされる。
【0057】
この内部状態をモニターする信号として、例えば、内部モジュール31の内部動作を制御する制御ステートマシン(モジュール本体33内の制御ステートマシン34)から送出される、IDLE状態であることを示す信号(例えば、クロック制御信号22)等を用いる。
【0058】
次に、バスアクセスが無い場合の内部クロック減速方法の一例について説明する。図6は、本発明の一実施例に係る同期制御モジュールの構成例を示す。
【0059】
図6において、61は基準クロック、63はこの同期制御モジュール32内で生成される内部クロック制御信号、64は内部クロックが不要である時に選択されたクロック同期信号をクロック制御信号63でさらにマスクするためのAND素子、65はラッチセル、66は内部ゲーテッド・クロックを生成するためのAND素子、67は生成されたゲーテッド・クロック、62−1は特定の速度を示すクロック同期信号(sync1)、62−2は特定の速度を示すクロック同期信号(sync2)、62−3は特定の速度を示すクロック同期信号(sync3)、68は選択回路、69はこの同期制御モジュール32で生成される、異なる速度を示す各クロック同期信号62−1〜62−3のいずれかを選択するための選択信号をそれぞれ示す。
【0060】
図6の実施例のクロック減速方法は、選択信号69に基づいて選択回路68により複数のクロック同期信号をセレクトすることにより実現する。プロセッサ内部のクロック生成部4から、基準クロック61と、複数のクロック周波数を示す複数のクロック同期信号62−1〜62−3を供給し、クロック供給対象の内部モジュールの内部クロックを生成するための同期制御モジュール32において、その内部モジュールの動作に適したクロック周波数に応じたクロック同期信号をセレクトして、セレクトしたクロック同期信号と内部クロック制御信号、基準クロックとに基づいて、内部モジュールの動作に適した周波数の内部クロックを生成する。選択信号69は、例えばクロック生成部4から供給される。
【0061】
本実施例の方法におけるクロック供給を開始するタイミングや、クロック供給を停止するタイミングについては、図4と図5で説明した方法と同様の方法を用いることができる。
【0062】
また、当該同期制御モジュールにおいてセレクトするクロック同期信号の1つのバリエーションとして、クロック停止を示すLOWクリップ信号等をセレクトすることも含まれる。
【0063】
次に、バスアクセスが無い場合のモジュール内クロック減速方法の他の例について説明する。図7は、本発明の一実施例に係る同期制御モジュールを示す。
【0064】
図7において、71は基準クロック、72はクロック同期信号、73は同期制御モジュール32内で生成される内部クロック制御信号、74は内部クロック不要の時にクロック同期信号72をカウンタ78で生成されたマスク信号でさらにマスクするためのAND素子、75はラッチセル、76は内部ゲーテッドクロックを生成するためのAND素子、77は生成されたゲーテッド・クロック、78はクロックを低速化(あるいは停止)させるためのマスク信号を生成するカウンタをそれぞれ示す。
【0065】
図7の実施例のクロック減速方法は、カウンタ78で生成されるマスク信号によって内部クロックを生成するためのクロック同期信号を間引くことにより実現する。
【0066】
すなわち、プロセッサ内部のクロック生成部4からクロック供給対象の内部モジュールに、基準クロック71とその内部モジュールの最高速度に応じたクロック同期信号72を供給する。各内部モジュール内の同期制御モジュール32において、内部モジュールが動作を要しないと判定した場合には、カウンタ78よりLOWレベル固定のマスク信号を出力することにより、AND素子74においてクロック同期信号72をマスクして内部クロックを停止させるか、あるいは、カウンタ78より一定の周期及びデューティ比を有するマスク信号を出力することにより、AND素子74においてクロック同期信号72を一定の割合で間引いて内部クロックを減速させる。本実施例のクロック減速方法は、半導体集積回路装置の低消費電力化のために有効である。
【0067】
本実施例のクロック減速方法において、クロック同期信号を間引く方法としては、カウンタ78の出力信号で、一定期間、一定周期でクロック同期信号72をマスクするのが有効である。
【0068】
カウンタ78は内部クロック制御信号73及び基準クロック71に基づいて動作する。カウンタ78の動作の一例を以下に述べる。内部クロック制御信号73がカウンタ78のイネーブル信号として機能する。カウンタ78はアップカウンタもしくはダウンカウンタを含み、基準クロック71に応答してカウント動作を行う。
【0069】
カウンタ78は、イネーブル状態(内部クロック制御信号73がHIGHレベル)にあるとき、現在のカウント値と予め設定された基準値とを比較して、比較結果に応じてHIGHレベル又はLOWレベルの信号を出力し、それによって一定の周期とデューティ比を有する信号をマスク信号として出力する。ここで、マスク信号の周期及びデューティ比はカウンタ78の内部設定(基準値やカウントの上限値)を変更することにより変更することができる。また、カウンタ78はディセーブル状態(内部クロック制御信号73がLOWレベル)にあるとき、LOWレベル固定の信号をマスク信号として出力する。
【0070】
また、当該同期制御モジュール32においてクロック同期信号の1つのバリエーションとして、クロック停止を示すLOWクリップ信号等をセレクトすることも含まれる。
【0071】
次に、バスアクセスが無い場合の内部クロック減速方法のさらに別の例について説明する。図8は、本発明のさらに別の実施例に係る同期制御モジュールの構成例を示す。
【0072】
図8において、81は基準クロック、82はクロック同期信号(ここでは、低速の同期信号)、83はこの同期制御モジュール32内で生成される内部クロック制御信号、84は低速のクロック同期信号をHIGHマスクして高速の内部クロックを生成するためのOR素子、85はラッチセル、86は内部ゲーテッド・クロックを生成するためのAND素子、87は生成されたゲーテッド・クロックをそれぞれ示す。
【0073】
本実施例のクロック減速方法では、非動作時(デフォルト)には低速のクロック同期信号を用いて低速の内部クロックを生成し、動作時にはHIGHマスク信号を用いて高速の内部クロックを生成することにより実現する。
【0074】
プロセッサ内部のクロック生成部4からクロック供給対象の内部モジュールに、基準クロック81と、低速のクロック同期信号82を供給する。各モジュール内の同期制御モジュール32において、そのモジュールが動作を要しない期間は、内部クロック制御信号をLOWレベルに固定する。それによりそのままの低速クロック同期信号に基づいて低速の内部クロックを生成することにより、内部クロックを減速化し、低消費電力化を図る。あるいは、同期制御モジュール32内において、その低速クロック同期信号を図示しない論理素子によってLOWマスクすることにより、内部クロックを停止させ、低消費電力化を図る。
【0075】
当該内部モジュールが通常動作を要する場合には、その同期制御モジュール32において、内部クロック制御信号をHIGHレベルに固定することによりクロック同期信号をHIGHマスクすることにより、基準クロック81をそのまま出力するようにして高速な内部クロックを生成する。
【0076】
また、カウンタ等により、低速クロック同期信号よりも多くのHIGH期間(クロックACTIVE期間)が得られるように、クロック同期信号をマスク(論理ORを取る)することにより、内部モジュールにおいてより高速な内部クロックを生成することができる。
【0077】
例えば、図8において、クロック同期信号がHIGHの時に、基準クロックの次のクロック・エッジからなるゲーテッドクロック出力を得る場合、上記のクロック同期信号を内部クロック制御信号によってマスクする方法においては、クロック生成部から供給されるクロック同期信号と、マスク信号(内部クロック制御信号)の論理ORを取ることで、必要なクロック周波数生成のための、内部クロック生成制御信号(内部クロックを生成するゲーテッドクロックバッファのイネーブル信号)を得ることができる。
【0078】
本実施例のクロック減速方法におけるクロック供給開始タイミングや、クロック供給を止めるタイミングについては、図4と図5で説明した方法と同様の方法を用いればよい。
【0079】
次に、各内部モジュールへの供給クロック生成回路(同期制御モジュール)をバスに持たせ、バス転送要求があった場合の関連するバス・マスター及びバス・スレーブ、又は、バス・スレーブのみにクロックを供給する方法について説明する。
【0080】
まず、一般的なパイプライン・バスに適用する方法について説明する。図9は、本発明の一実施例に係る同期制御方式を示す。
【0081】
図9において、91−1は本実施例におけるバス・マスタ(master_1)、91−2はバス・マスタ(master_2)、91−3はバス・マスタ(master_3)、94は特定のバス・プロトコルを有するバス・ユニット、95はバス・ユニット94内のバス制御部、96はバス・マスタ91−1〜3からのデータ信号のうちいずれか1つを選択して出力するための選択回路、97−1はバス・スレーブ(slave_1)、97−2はバス・スレーブ(slave_2)、97−3はバス・スレーブ(slave_3)、98は選択回路96で選択された各バス・スレーブ用のデータ信号、92−1はバス・マスタ91−1からバス・ユニット94へのデータ信号、92−2はバス・マスタ91−2からバス・ユニット94へのデータ信号、92−3はバス・マスタ91−3からバス・ユニット94へのデータ信号、93−1はバス制御部95で生成されたバス・スレーブ97−1用の内部クロック、93−2はバス制御部95で生成されたバス・スレーブ97−2用の内部クロック、93−3はバス制御部95で生成されたバス・スレーブ97−3用の内部クロックをそれぞれ示す。
【0082】
特に、バス・プロトコルを限定する必要はなく、複数のバスマスタと複数のバススレーブから成り、バス制御部95において、どのバスマスタからの転送を許可するかの調停と、どのバススレーブへの転送であるかを選択して、対応するバスマスタとバススレーブ間のデータ転送を行う一般的なパイプライン・バスに適用することができる。バス制御部95は選択回路96を制御し、各バス・マスタ91−1〜3から出力されるデータ信号のうち、バスのデータ転送に関与するバス・マスタからのデータ信号を選択して、各バス・スレーブ97−1〜3に出力する。
【0083】
本実施例では、バス・ユニット94内にあるバス制御部95内に各内部モジュールに対応する同期制御モジュールを設ける。各同期制御モジュールにはそれぞれ図示しないクロック生成部から基準クロック及びクロック同期信号が供給される。同期制御モジュールにおいて、バスに接続される各内部モジュールへの内部クロックを選択的に生成する。ここで、選択的に生成するとは、バスの転送に関与するバスマスタとバススレーブのクロックのみ生成するという意味である。バス転送に関与しないモジュール(バス・マスタ/スレーブ)へのクロックは停止/減速させることにより、バスに接続されるモジュール・ブロック全体の低消費電力化を図る。
【0084】
内部クロックを生成するための同期制御モジュールにおける具体的なクロック生成手段については、前記実施例と同様の構成を用いればよい。
【0085】
又、この方法におけるクロック供給開始タイミングや、クロック供給を止めるタイミングについても、前記実施例と同様である。
【0086】
次に、クロスバー・バスに適用する方法について説明する。図10は、本発明の一実施例に係る同期制御方式を示す。
【0087】
図10において、91−1は本実施例におけるバス・マスタ(master_1)、92−1はバス・マスタ91−1から送出されるデータ信号、91−2はバス・マスタ(master_2)、92−2はバス・マスタ91−2から送出されるデータ信号、91−3はバス・マスタ(master_3)、92−3はバス・マスタ91−3から送出されるデータ信号、94Aは特定のバス・プロトコルを有するバス・ユニット、97−1はバス・スレーブ(slave_1)、97−2はバス・スレーブ(slave_2)、97−3はバス・スレーブ(slave_3)、95−1はバス・ユニット94A内のバス・マスタ91−1とのインターフェイス部(M1i/f)、95−2はバス・ユニット94A内のバス・マスタ91−2とのインターフェイス部(M2i/f)、95−3はバス・ユニット94A内のバス・マスタ91−3とのインターフェイス部(M3i/f)、96−1はバス・ユニット94A内のバス・スレーブ97−1とのインターフェイス部(S1i/f)、93−1はインターフェイス部96−1からバス・スレーブ97−1への内部クロック、96−2はバス・ユニット94A内のバス・スレーブ97−2とのインターフェイス部(S2i/f)、93−2はインターフェイス部96−2からバス・スレーブ97−2への内部クロック、96−3はバス・ユニット94A内のバス・スレーブ97−3とのインターフェイス部(S3i/f)、93−3はインターフェイス部96−3からバス・スレーブ97−3への内部クロックをそれぞれ示す。
【0088】
図10において、特に、バス・プロトコルを限定する必要はなく、所謂クロスバー・バスと呼ばれるバスで、各バスマスタが独立して、バスマトリックスを経由して所望のバススレーブにアクセスすることが可能である。バス・ユニット94Aの中に各バスマスタ毎、あるいは各バススレーブ毎のインターフェイス部が設けてある。
【0089】
各バススレーブのインターフェイス部96−1〜3、あるいはバスユニット94A内に設けられたバスマトリックスの調停回路において、複数のバスマスタ91−1〜3から1つのバススレーブへの転送が競合した場合に、いずれのバスマスタからの転送を優先的に処理するかを決定する調停を行う。バスユニット94A内で、図示しないバス制御部の制御に基づいて、バスのデータ転送に関与するバスマスタ及びバススレーブに対応するインターフェイス部同士が接続される。
【0090】
図10の実施例のクロック同期制御方式では、バス転送を処理するバス・ユニットに関して、上記各マスター・インターフェイス部95−1〜3、スレーブ・インターフェイス部96−1〜3等において、接続される各モジュールの内部クロックを生成する同期制御モジュールを設ける。バス転送の有無等によって、クロック供給を必要とするバスマスター及びバススレーブに対応する同期制御モジュールで必要なクロックを選択的に生成して供給する。各同期制御モジュールにはそれぞれ図示しないクロック生成部から基準クロック及びクロック同期信号が供給される。
【0091】
図11は、図10のバス・ユニット94A内の各スレーブ・インターフェイス部96−1〜3に設けられる同期制御モジュールを示す。
【0092】
図11において、101は基準クロック、102はクロック同期信号、104はクロック同期信号102と各バスマスタ92−1〜3からのリクエスト信号103−1〜103−3の論理ORを取って内部ゲーテッド・クロック生成のための内部クロック生成制御信号を生成するためのOR素子、105はラッチセル、106は内部ゲーテッドクロック生成用のAND素子、107は生成された内部ゲーテッド・クロック、103−1はバス・マスタ91−1のインターフェイス部95−1で生成されるリクエスト信号、103−2はバス・マスタ91−2のインターフェイス部95−2で生成されるリクエスト信号、103−3はバス・マスタ91−3のインターフェイス部95−3で生成されるリクエスト信号をそれぞれ示す。
【0093】
図11の実施例の場合、各バスマスタからの転送要求リクエスト信号103−1〜3(便宜的に、 req_1〜req_nとする)のいずれか1つ以上がHIGHのとき、OR素子104の出力はアクティブとなる。各同期制御モジュールで各モジュールの内部クロックを生成するための内部クロック生成制御信号(便宜的にclk_syncとする)は、次式のように表すことができる。
【0094】
clk_sync=req_1+req_2+...+req_n
上式において、「+」は論理ORを示す。各モジュールへのゲーテッドクロック(module_clk)は、次式のように表すことができる。
【0095】
module_clk=(clk_sync*cnt)&基準クロック
ここで、「cnt」は、様々なクロック制御要因を示す。例えば、各同期制御モジュール内において対象モジュールがクロック供給を必要としている期間等を示したものである。「&」は論理ANDを示す。「*」は必要に応じて任意の論理をとることを意味する。
【0096】
図11において、各バスマスタ91−1〜3のいずれか1つと、対応するバススレーブとの間でバス転送が要求され、リクエスト信号103−1〜3のいずれか1つがHIGHになると、内部クロック生成制御信号はHIGHレベル固定になる。それによって、基準クロック101がそのまま各モジュールの内部クロックとしてAND素子106から出力される。
【0097】
一方、各バスマスタ91−1〜3のいずれともバス転送の要求がなく、リクエスト信号103−1〜3のすべてがLOWである場合は、クロック同期信号102が内部クロック生成制御信号として出力される。それによって、各モジュールの内部クロックは基準クロック101をクロック同期信号102に従って減速させた信号になる。
【0098】
各モジュールの内部クロックを生成するための同期制御モジュールにおける具体的なクロック生成手段については、図11に示した構成を用いればよく、あるいは前記実施例と同様な構成を用いればよい。
【0099】
又、この方法におけるクロック供給開始タイミングや、クロック供給を止めるタイミングについては、前記実施例と同様である。
【0100】
次に、バスインターフェイス部についての基準クロックとなるバス・クロック自体、バスアクセスが無い場合に、停止/減速を行う方法について説明する。
【0101】
プロセッサ内部のクロック生成部からは、特定の基準クロックとなるバスクロックと、バスクロックに対応した特定のクロック同期信号を供給する。バスユニット内に、各モジュールの内部クロックを生成するための同期制御モジュールや、バスインターフェイス部自身のクロックを生成するための同期制御モジュールを設け、各同期制御モジュールでは、当該基準クロックとクロック同期信号で各モジュールが必要なクロックを生成する。
【0102】
バスのアクセス要求を、プロセッサ内部のクロック生成部に通知し、クロック生成部において、該バスアクセス要求に応じて、バスクロックの供給の開始、停止、減速等を行う。
【0103】
クロック生成部からは、常に低速のクロック同期信号、又は、停止状態を示すクロック同期信号を供給する。バスアクセス発生時には、各同期制御モジュールにおいて、バスアクセスに関与する各バスマスター及びバススレーブの内部クロックを生成するクロック同期信号を、同時にHIGHマスクする等により、バス転送中関連モジュールの内部クロックを供給する。
【0104】
なお、上記各実施例において、基準クロックとなるバスクロック自体に、前記のクロック供給方法を適用する方法としてもよい。すなわち、2段構成の同期制御モジュールを用いて、クロック同期制御方式を実現する。
【0105】
その他、特定のモジュールのクロックは、常にクロックを供給し続けることを示すための制御手段、例えば、モジュール・クロック供給制御レジスタや、外部端子等を持ち、該制御手段からの指示に従って、前記実施例の各クロック生成用同期制御モジュールにおいて、常に最高速度のクロックを供給し続ける制御や、最高速度ではないが、一定の動作周波数のクロックを供給し続ける制御等を行うようにしてもよい。
【0106】
図12は、本発明の一実施例に係る半導体集積回路装置の内部モジュールを示す。
【0107】
図12において、31Aは本実施例における特定の機能を有する、オンチップバス9に接続された内部モジュール、32Aは内部モジュール31A内の内部クロック生成用の同期制御モジュール、33は内部モジュール31A内の特定機能を実現するためのモジュール本体、34はモジュール本体33内の制御ステートマシン、35は内部モジュール31A内のバスインターフェイス部、36はバスインターフェイス部35内の制御ステートマシン、16は基準クロック、17はクロック同期信号、18は内部モジュール31Aに対する割り込み要求又はDMAリクエスト等の要求信号、19はオンチップバス9のバス・プロトコルで定義されるバスリクエスト信号、20はオンチップバス9のバス・プロトコルで定義されるバスアクノリッジ信号、21−1はクロック生成用同期制御モジュール32Aの論理回路32a−1で基準クロックとクロック同期信号を用いて生成されたゲーテッドクロックの内、モジュール本体33用の内部クロック、21−2はクロック生成用同期制御モジュール32Aの論理回路32a−2で基準クロックとクロック同期信号を用いて生成されたゲーテッドクロックの内、バスインターフェイス部35用の内部クロック、22−1はモジュール本体33の制御ステートマシン34から同期制御モジュール32Aに通知されるクロック制御信号(例えば、制御ステートマシン34がIDLE状態であることを示す信号)、22−2はバスインターフェイス部35の制御ステートマシン36から同期制御モジュール32Aに通知されるクロック制御信号、37は制御ステートマシン32bから出力され、クロック同期信号17の論理回路32a−1、32a−2への入力を制御する内部クロック制御信号をそれぞれ示す。ただし、バスリクエスト信号19とバスアクノリッジ信号20で足りる場合には、クロック制御信号22−1、22−2は不要である。
【0108】
本実施例の半導体集積回路装置の内部モジュール31Aでは、バスに接続された内部モジュール31A内のバスインターフェイス部35と、内部モジュール31A内のその他のモジュールで内部クロックを分けて同期制御モジュール32Aで生成し、バスインターフェイス部35の内部クロックのみ、所定の要求(バス・リクエスト、割り込み要因等)に応じてクロック供給を制御する。内部モジュール31A内の動作の必要が無いモジュールに対しては、対応する内部クロックの停止/減速等を行う。
【0109】
上述した実施例の半導体集積回路装置及びクロック制御方法によれば、動作の必要がない場合におけるクロック・ツリーにおける消費電力や、クロック・ツリーに接続されているモジュール内の冗長な電力消費を削減することが可能となる。複数の機能IPマクロを搭載した内部モジュールを有するシステム・オン・チップ等の半導体集積回路装置における消費電力削減に有効である。
【0110】
次に、本発明の一実施例に係るクロック同期制御方式について説明する。
【0111】
一般に、CPUコア、SDRAMコントローラや、周辺バス・コントローラ、タイマ等の各種内部モジュールを有する半導体プロセッサにおいて、内部の特定のモジュールは常に一定の処理能力を要し、CPUは高速動作が要求される。このような半導体プロセッサにおいて、アプリケーションの処理に最低限必要なクロック周波数を供給して、プロセスの出来具合(製造バラツキ)、電源電圧、温度、等の条件に応じて、最大性能を引き出す等の要求を満足させるために、例えば、CPUコア部と、特定の内部モジュールとのクロック周波数を、▲1▼内部モジュール=200MHz、CPUコア=300MHz(1.5倍)、▲2▼内部モジュール=200MHz、CPUコア=400MHz(2.0倍)、▲3▼内部モジュール=200MHz、CPUコア=500MHz(2.5倍)、▲4▼内部モジュール=200MHz、CPUコア=600MHz(3.0倍)、…といったように、対応するクロック周波数のクロック比を0.5倍きざみに制御したい場合がある。
【0112】
かかる要求に対して、プロセッサ内のクロック生成部において、クロック比が、1:1.5、1:2.5、1:3.5等の複数のクロックを生成して、CPUコアを含む各内部モジュールに供給すると、各クロックのクロック・エッジが等間隔の場合に、早い方のクロックの倍の周波数で、モジュール間の信号同期回路部が動作しなければならないという問題がある。
【0113】
このような高速動作する回路が存在すると、LSI開発における論理設計、レイアウト、タイミング検証等において、大きな問題となる。
【0114】
本実施例に係るクロック同期制御方式では、対応するクロック比が整数倍でない場合にも、それぞれのクロックで動作するモジュール間における非常に高速な信号乗り換えをすることなく、所望の動作周波数で動作可能とすることができる。本実施例に係るクロック同期制御方式では、簡便な方法により、非整数倍のクロックで動作するモジュール間の信号同期を実現する。
【0115】
図13は、基準クロック(高速クロック)と1.5倍クロック(低速クロック)の場合の問題点を説明するための波形図である。
【0116】
図13において、(1)は高速クロック(この場合、600MHzのPLL出力クロックを2分周して作成された300MHzのクロック)、(2)は低速クロック(この場合、600MHzのPLL出力クロックを3分周して作成された200MHzのクロック)、(3)は高速クロックから低速クロックへの信号乗り換え時に、乗り換え回路が動作しなければならない動作周波数、(4)は、低速クロックから高速クロックへの信号乗り換え時に、乗り換え回路が動作しなければならない動作周波数を示す。
【0117】
図13に示したように、非整数倍の周波数を有する2つのクロックでそれぞれ動作する2つのモジュール間でデータ信号の同期をとる場合には、いずれのクロックに対してもクロックエッジが揃うように、各クロックの周波数の最小公倍数に対応する高いクロック周波数で双方のモジュールの乗り換え回路を動作させる必要があるという問題がある。
【0118】
図14は、図13の場合(クロック比が1:1.5)の本発明のクロック同期制御方式を説明するための波形図である。図15は、クロック比が1:2.5の場合の本発明のクロック同期制御方式を説明するための波形図である。図16は、クロック比が1:3.5の場合の本発明のクロック同期制御方式を説明するための波形図である。
【0119】
図14、図15、図16において、(1)はPLLクロック、(2)は高速クロック、(3)は従来の周期一定(クロックエッジが等間隔)の低速クロック、(4)は本実施例による低速クロック、(5)は本実施例によるクロック同期信号をそれぞれ示す。
【0120】
図14の場合、高速クロック(2)及び低速クロック(3)はそれぞれPLLクロック(1)から生成され、各クロックのエッジは等間隔になっている。このままでは、図13に示したように、両クロックで動作するモジュール間の信号乗り換え回路は、高速クロックの動作周波数の2倍の周波数で動作しなければならない。
【0121】
そこで、本発明のクロック同期制御方式では、図14の(4)で示される本実施例の低速クロックのように、低速クロックのエッジを、直前の高速クロックのクロックエッジに揃えるように制御する。これによって、高速クロックの2倍の周波数のクロックを用いることなく、両クロックで動作するモジュール間の信号乗り換えを容易に実現することができる。つまり、本実施例の信号乗り換え回路は、高速クロックの周波数でさえ動作できれば、問題無く両クロックで動作するモジュール間の信号の受け渡しが可能となる。
【0122】
その際、低速クロックのクロックエッジが等間隔ではなくなるため、低速クロックのクロック・エッジの位置を示すための信号としてクロック同期信号(5)を生成し、クロック同期信号(5)をデータ信号の受け渡しの制御に使う。クロック同期信号を高速クロックで動作するモジュールに供給することで、高速クロックで動作するモジュールは低速クロックで動作するモジュールが生成したデータ信号の取り込みタイミングを認識することができるので、両クロックで生成される信号の同期が可能となる。尚、このクロック同期信号(5)は、高速クロックのクロックエッジに合わせて生成される。
【0123】
図15は、高速クロックと低速クロックのクロック比が1:2.5の場合の波形を示したものである。図16は、高速クロックと低速クロックのクロック比が1:3.5の場合の波形を示したものである。図15、図16の場合においても、図14の場合と同様に、低速クロックのエッジを高速クロックのエッジに揃えるように制御するとともに、低速クロックのクロック・エッジの位置を示すためのクロック同期信号をデータ信号の受け渡しの制御に用いることにより、非整数倍の両クロックで生成される信号の同期が可能となる。
【0124】
図17は、クロック比が1:3の場合のクロック同期制御方式を説明するための波形図である。図17において、(1)はPLLクロック、(2)は高速クロック、(3)は従来の周期一定の低速クロック、(4)はクロック同期信号をそれぞれ示す。
【0125】
図17は、高速クロックと低速クロックのクロック比が整数倍の1:3の場合の波形を示したものである。この波形から分かるように、クロック比が整数倍の場合には、低速クロックのクロック・エッジの位置も普通の等間隔である。クロック同期信号(5)は低速クロックのクロック・エッジの位置を示す信号として生成される。
【0126】
図18は、本発明の一実施例に係るクロック生成部を示す。
【0127】
図18のプロセッサにおいて、201は、外部入力クロック、202はPLL回路、203はプロセッサ内部のクロック生成部、204はCPUコア、205は内部モジュール、206は内部モジュール、207は高速クロック、208はクロック同期信号、209は、低速クロック、210はプロセッサ内部のオンチップバスをそれぞれ示す。
【0128】
図18に、本実施例における、高速クロック、低速クロック、及びクロック同期信号を用いたプロセッサの実施例を示す。
【0129】
図18のプロセッサにおいて、外部入力クロック201は、PLL回路202で逓倍され、PLL回路202は各種クロックを生成するための元となる最高速クロック(以下、PLLクロックと称する)を生成する。
【0130】
クロック生成部203は、分周回路203aでPLLクロックを分周することにより、各内部モジュールへの基準クロック(この場合、高速クロック207及び低速クロック209)を生成する。また、クロック生成部203は、低速クロックのエッジの位置を示すクロック同期信号208も同時に生成して、高速クロック207及びクロック同期信号208をCPUコア204へ出力する。内部モジュール205、206には低速クロック209が供給される。
【0131】
CPUコア204は、基本的には高速クロック(基準クロック)で動作するが、低速クロックで動作する内部モジュール205、内部モジュール206と接続されているオンチップバス210とのインターフェイス部(BI)204aにおいては、クロック同期信号208を用いて、バスのデータ信号との同期を取る。
【0132】
すなわち、CPUコア204内のインターフェイス部204aは、クロック同期信号208により低速クロックのクロック・エッジの位置を把握する。それによってインターフェイス部204aは、内部モジュールから供給されるデータ信号の取り込みタイミングを適切に制御してデータの受信を行うとともに、データ信号のオンチップバス210への出力タイミングを適切制御して内部モジュールへのデータの送信を行う。
【0133】
このような回路構成とすることで、特に低速クロック209及びクロック同期信号208を使用することで、クロック比が1:1.5等の非整数倍の場合においても、高速なクロックによる信号乗り換え無しに、容易にプロセッサ回路を構成することが可能となる。
【0134】
図19は、本発明の他の実施例に係るクロック生成部を示す。
【0135】
図19のプロセッサにおいて、201は外部入力クロック、202はPLL回路、203Aはプロセッサ内部のクロック生成部、204はCPUコア、205Aは内部モジュール、206Aは内部モジュール、207は高速クロック(基準クロック)、208はクロック同期信号、210はプロセッサ内部のオンチップバス、211は内部モジュール205Aのゲーテッドクロック生成部205aで生成される低速クロック、212は内部モジュール206Aのゲーテッドクロック生成部206aで生成される低速クロックをそれぞれ示す。
【0136】
図19の実施例は、内部モジュール205A及び内部モジュール206Aで使用する低速クロックを、高速クロック207及びクロック同期信号208に基づいて各内部モジュール内のゲーテッドクロックバッファで生成したものである。各内部モジュールの低速クロックを生成するための具体的なクロック生成手段については、図19に示したゲーテッドクロック生成部205a、206aの他に、上述の各実施例で説明した同期制御モジュールの構成を用いてもよい。
【0137】
このような構成にすることで、チップ全体としては、高速クロック1本でクロックツリーを生成することができ、レイアウト設計時においてクロック・スキューを低減させることが容易となる。
【0138】
図20は、本発明の他の実施例に係るクロック生成部を示す。
【0139】
図20のプロセッサにおいて、201は外部入力クロック、202はPLL回路、203Aはプロセッサ内部のクロック生成部、204はCPUコア、205Bは内部モジュール、206Bは内部モジュール、207は高速クロック(基準クロック)、208はクロック同期信号、210はプロセッサ内部のオンチップバス、211は内部モジュール205Bのゲーテッドクロック生成部205a,205bで生成される低速クロック、212は内部モジュール206Bのゲーテッドクロック生成部206a、206bで生成される低速クロックをそれぞれ示す。
【0140】
図20は、図19の実施例によるクロック同期信号に関し、高速クロックの1サイクル分前にずらせて供給する場合の回路構成である。内部モジュール205B及び206B内のゲーテッドクロック生成部は、それぞれ高速クロック207に応答してクロック同期信号208を保持するラッチ回路205b及び206bを備える。
【0141】
図21は、図20の実施例におけるクロック同期制御方式を説明するための波形図である。図21において、(1)はPLLクロック、(2)は高速クロック、(3)は従来の周期一定の低速クロック、(4)は本実施例による低速クロック、(5)は本実施例によるクロック同期信号で、低速クロックの各々のクロックエッジに対して高速クロック1サイクル分前の段階で出力されたものを示す。
【0142】
図21に示したように、本実施例クロック同期制御方式によれば、ゲーテッドクロックの制御信号として使われるクロック同期信号のタイミングを確定させておくことができ、より安全なクロック設計が可能となる。
【0143】
上述した実施例のクロック同期制御方式では、対応するクロック比が整数倍で無い場合にも、それぞれのクロックで動作するモジュール間において、非常に高速なクロックによる信号乗り換えをすることなくデータ信号の同期をとることができ、所望の動作周波数でプロセッサを動作させることが可能となる。具体的には、このような非整数倍の複数のクロック周波数を持つプロセッサの設計時(特に、レイアウト、タイミング検証)において、モジュール間の信号乗り換え部(バスインターフェイス部)が少なくとも早い方のクロック周波数で動作すれば、問題なく所望の動作周波数でプロセッサを動作させることが可能となる。
【0144】
さらに、本発明の他の実施例に係るクロック同期制御方式について説明する。
【0145】
図22は、高速クロックと低速クロックのクロック比が1:1.5の場合(図13)における、本発明の一実施例に係るクロック同期制御方式を説明するための波形図である。
【0146】
図22において、(1)はPLLクロック、(2)は高速クロックのクロック同期信号SYNC1、(3)は高速クロック(基準クロック)CLK1(fast)、(4)は低速クロックのクロック同期信号SYNC2、(5)は、低速クロック(基準クロック)CLK2(slow)、(6)は高速クロックCLK1とそのクロック同期信号SYNC1で生成されたデータ信号、又は、低速クロックCLK2とそのクロック同期信号SYNC2で生成されたデータ信号、(7)は、(6)のデータのうち、両クロックで動作するモジュール間のデータ転送において有効なデータ位置をそれぞれ示す。
【0147】
高速クロック(3)及び低速クロック(5)は、それぞれPLLクロック(1)から分周により生成され、それぞれクロック・エッジは等間隔になっている。このままでは、図13に示したように、両クロックのクロックエッジが揃わないため、両クロックで動作するモジュール間の信号乗り換え回路は、高速クロックの動作周波数の2倍の周波数で動作しなければならない。
【0148】
そこで、本発明のクロック同期制御方式では、図22の(2)、(4)で示されるクロック同期信号SYNC1、SYNC2が、高速クロック及び低速クロックのクロックエッジが互いに一致する位置を示す信号として、対応するクロックとともに生成される。クロック同期信号SYNC1、SYNC2に基づいて、両クロックにおいて対応する各クロックエッジが揃うときのみ、データの送受信(転送)を行うようにすることで、 両クロックで動作するモジュール間の信号乗り換えを容易に実現することが可能となる。
【0149】
このとき、両モジュール間のデータ転送は両クロック間で互いにクロックエッジが一致するときにのみ行われるため、データ転送の動作周波数は両クロックの周波数の最大公約数の値になる。
【0150】
すなわち、クロック同期信号SYNC1、SYNC2は、対応するクロックにおいてデータの送受信(転送)に対して有効なクロックエッジの位置を示す。クロック同期信号SYNC1、SYNC2は、それぞれ高速クロック及び低速クロックのクロックエッジに合わせて生成される。
【0151】
従って、本実施例の信号乗り換え回路(バスインターフェイス回路)は、両クロックの最大公約数の周波数で動作できれば、問題無く両クロックで動作するモジュール間の信号の受け渡しが可能となる。
【0152】
図23は、本発明の一実施例に係るクロック同期制御システムの基本的な構成を示す。
【0153】
図23において、301は本実施例におけるCPUコア、302は本実施例におけるCPUコア301中にあるバスインターフェイス部BI、303は本実施例におけるプロセッサ内部モジュール、304は本実施例におけるプロセッサ内部モジュール303中にあるバスインターフェイス部BI、305は本実施例におけるプロセッサ内部のクロック生成モジュール、306は高速クロック(基準クロック)CLK1(この場合、300MHz)、307は高速クロックのクロック同期信号SYNC1、308は低速クロック(基準クロック)CLK2(この場合、200MHz)、309は低速クロックのクロック同期信号SYNC2、310は本実施例におけるCPUコア301と内部モジュール303とを接続するバス信号をそれぞれ示す。
【0154】
図23のクロック同期制御システムにおいて、CPUコア301は、基本的には300MHzのクロックCLK1に基づいて動作し、内部モジュール303は基本的には200MHzのクロックCLK2に基づいて動作する。そして、クロック比が1:1.5の両モジュールを接続するバス310を本実施例のクロック同期信号SYNC1、SYNC2を使用して図22の場合と同様にして100MHz相当の動作周波数で動作させる。これにより、図13に示したような600MHzの信号乗り換え回路が不要となる。
【0155】
図24は、本発明の他の実施例に係るクロック同期制御システムの構成を示す。この構成例では、図23の内部モジュール303をプロセッサバス303Aに置き換えている。
【0156】
図24において、参照番号301〜310は、図23の構成要素と基本的に同一であり、図23の内部モジュール303のみプロセッサバス303Aに置き換えられてある。図24のクロック同期制御システムにおいて、311はプロセッサバス303Aと他の内部モジュール313とを接続するバス、312はプロセッサバス303Aと他の内部モジュール314を接続するバス、313は本実施例における内部モジュール、314は本実施例における内部モジュールをそれぞれ示す。
【0157】
図24の実施例では、プロセッサバス303Aは、パイプラインバスであり、バスクロック(低速クロックCLK2)に同期してバス・コントロール信号に基づいてCPUコア301に対してデータを転送するバスである。また、プロセッサ303Aと内部モジュール313、314との間のデータ転送は、低速クロックCLK2(200MHz)に基づいて行われる。
【0158】
図25に、図24の実施例の動作を説明するための波形図を示す。
【0159】
図25において、(1)〜(5)は図22の対応する各信号と同一であり、(6) はCPUコア301からバス310へデータを転送する際のCPUコア内部のデータ信号(CPU)、(7)はCPUコア301からバス310へ出力されたバス・トランザクション上のデータ信号(BUS)、(8)はバス・トランザクション上のデータ信号の有効なデータ位置を示すバス・コントロール信号(BUS_CTRL)をそれぞれ示す。
【0160】
図25では、CPUコア301内部の高速クロックCLK1で生成されたデータ(6)は、クロック同期信号SYNC1(2)がHIGHのときの高速クロックCLK1のエッジでバス・データ(7)として出力される。低速クロックCLK1で動作するプロセッサバス303A内のCPUコア301とのインターフェイス部304において、クロック同期信号SYNC2がHIGHからLOWに変化したサイクルを有効(valid)とするバス・コントロール信号(8)が生成される。バス・コントロール信号(8)において有効(valid)のサイクルの次のサイクルは無効(invalid)サイクルに設定される。インターフェイス部304は、有効サイクルと無効サイクルが設けられたバス・コントロール信号に基づいて、有効サイクルの期間中にバス310に出力されたバス・データを取り込み、それによってバス転送が行われる。
【0161】
このバス・コントロール信号(8)の波形は、あくまで一例であり、クロック同期信号SYNC2と同じサイクルを有効(valid)としても差し支えない(バス・プロトコル毎に仕様は異なる)。
【0162】
バス・コントロール信号(8)において有効(valid)期間と無効(invalid)期間を設けることで、非整数倍のクロックで動作するモジュール間の信号同期に際し、両クロックのクロック・エッジが揃ったときに生成されたデータのみを有効としてデータの送受信を行うことができ、非整数倍クロック間の信号乗り換えを容易に実行することができる。ただし、信号乗り換えの周波数が見かけ上、両クロックの最大公約数(この実施例の場合には 100MHz)まで低下するので、データ転送のスルーレートは落ちるが、各モジュールを所望の動作周波数で動作させることが可能になる。メモリ・アクセスが少ないアプリケーションを実行する際や、アプリケーションの処理をほとんどCPUコア内のキャッシュ内のみで処理できる場合等に有効である。
【0163】
図26は、本発明の一実施例に係るクロック同期制御システムを示す。
【0164】
図26において、参照番号301〜314は、図24の対応する各構成要素と基本的に同一である。図26のクロック同期制御システムにおいては、データバス信号310のデータバス幅が64ビットであり、プロセッサバス303Aのバス・マトリクス303a及びバス信号311、312の各データバス幅が32ビットであり、データバス信号310のバス幅とバス・マトリックス303aのバス幅とが互いに異なっている。
【0165】
図26の実施例では、CPUコア301とプロセッサバス303Aのバス幅を64ビット化し、通常のプロセッサ・バス303Aのバス・マトリクス303aのビット幅32ビットの2倍にすることで、非整数倍クロック間の信号乗り換え時に発生する転送スルーレートの低下を防止することが可能となる。
【0166】
図27は、図26の実施例の動作を説明するための波形図を示す。
【0167】
図27において、(1)〜(8)は、図25の対応する各信号と基本的にほぼ同一である。ただし、(6)は、図25のデータ信号(6)と異なり、データバス幅が64ビットのCPUコア301内部のデータ信号であり、(7)は、図25のデータ信号(7)と異なり、データバス幅が32ビットのバス・トランザクション上のデータ信号であり、CPUコア内部のデータ信号(6)のHIGH側とLOW側の各32ビットのデータを交互に転送するバス信号をそれぞれ示したものである。
【0168】
図26では、CPUコア301から64ビットのデータをバス310に出力し、プロセッサバス303A内のCPUコア301とのインターフェイス部304において、64ビットデータを2つの32ビットデータに分割して転送できるように変換したものである。これに伴い、図27におけるバス・コントロール信号では、図25におけるバス・コントロール信号(8)の無効(invalid)のサイクルがデータの分割数に応じて有効(valid)サイクルに置き換えられ、クロック同期信号SYNC2のHIGHからLOWへ変化したサイクルを有効サイクルとして設定されるとともに、その次のサイクルも有効サイクルに設定される。それによって、分割された32ビットデータを全て有効(valid)データとして転送することが可能となる。
【0169】
図28は、本発明の一実施例に係るクロック同期制御システムを示す。
【0170】
図28において、参照番号301、303A、305〜309、311〜314は、図24における対応する各構成要素と同一である。図28のクロック同期制御システムにおいて、315は本実施例におけるCPUコア301内のバスインターフェイスポート(BI1)、316は本実施例におけるCPUコア301内のバスインターフェイスポート(BI2)、317は本実施例におけるプロセッサバス303A内のバスインターフェイスポート315(BI1)との信号乗り換えラッパー回路(i/f)、318は本実施例におけるプロセッサバス303A内のバスインターフェイスポート316(BI2)との信号乗り換えラッパー回路(i/f)、319はバスインターフェイスポート315(BI1)とバス・ラッパー回路317(i/f)を接続するバス、320はバスインターフェイスポート316(BI2)とバス・ラッパー回路318(i/f)を接続するバスをそれぞれ示す。
【0171】
図28のクロック同期制御システムは、図26の実施例とほぼ同一の回路構成であり、非整数倍クロック間の乗り換えを容易にするための前記実施例の欠点である転送スルーレートの低下を防止するものである。具体的には、図26におけるバスインターフェイスポート302の64ビットのビット幅を2つのポートに分割し、CPUに2つのバスインターフェイスポートを持たせた実施例である。CPUにバスインターフェイスポートを複数持たせることに伴い、プロセッサ・バス303Aの方でも、2ポートのCPUインターフェイスを実装したのが本実施例である。
【0172】
本実施例の動作を説明するための波形図については、単に図25の波形図で示される転送トランザクションが2分割された各ポートにおいて独立に実行されるだけなので省略する。
【0173】
上述の如く、本実施例のクロック同期制御方式では、対応するクロック比が整数倍で無い場合にも、それぞれのクロックで動作するモジュール間における非常に高速な信号乗り換えをすることなく、所望の動作周波数でプロセッサを動作させることが可能となる。具体的には、このような非整数倍の複数のクロック周波数を持つプロセッサの設計時(特に、レイアウト、タイミング検証)において、モジュール間の信号乗り換え部が少なくとも早い方のクロック周波数でさえ動作すれば、問題なく所望の動作周波数で動作させることが可能となる。
【0174】
さらに、本実施例の場合、非整数倍の各クロックで動作するモジュール間の信号乗り換え部自体のデータ転送性能は低下するが、これらモジュール間のデータ転送がそれほど頻繁に発生せず、各モジュールを所望の動作周波数で動作させることが可能である。また、信号乗り換え部の転送性能の低下を回避することが可能となる。
【0175】
(付記1)
内部バスと、
前記内部バスに接続され、所定の機能を実現するモジュール本体を有する複数の内部モジュールと、
基準クロック及び前記基準クロックの有効なクロックエッジの位置を示すクロック同期信号を生成し、前記複数の内部モジュールの少なくとも1つに供給するクロック生成部と
を備える半導体集積回路装置であって、前記複数の内部モジュールの少なくとも1つは、前記基準クロックと前記クロック同期信号に基づいて前記内部モジュールに供給される内部クロックを生成する同期制御モジュールを備えることを特徴とする半導体集積回路装置。
【0176】
(付記2)
付記1記載の半導体集積回路装置であって、
前記クロック生成部は、異なるクロック周波数を有する複数の前記基準クロックと前記複数の基準クロックに対応する複数の前記クロック同期信号からなる複数の信号対を生成し、前記複数の信号対をそれぞれ異なる前記内部モジュールに供給することを特徴とする半導体集積回路装置。
【0177】
(付記3)
付記1記載の半導体集積回路装置であって、
前記内部クロックのクロックエッジの位置は、前記有効なクロックエッジの位置に一致することを特徴とする半導体集積回路装置。
【0178】
(付記4)
付記1記載の半導体集積回路装置であって、
前記同期制御モジュールは、前記内部モジュールの動作可否を示す内部クロック制御信号を生成する制御部を備え、前記内部クロック制御信号に基づいて前記クロック同期信号の供給、停止及びマスク処理の少なくとも1つを行うことを特徴とする半導体集積回路装置。
【0179】
(付記5)
付記1記載の半導体集積回路装置であって、
前記同期制御モジュールは、前記内部モジュールへの前記クロック同期信号の供給及び停止を制御するゲート部を更に備え、前記ゲート部は前記内部モジュールの動作が不要であるとき前記クロック同期信号の出力を停止することを特徴とする半導体集積回路装置。
【0180】
(付記6)
付記1記載の半導体集積回路装置であって、
前記同期制御モジュールは、前記内部モジュールへの前記クロック同期信号の供給及びマスク処理を制御するマスク部を更に備え、前記マスク部は前記内部モジュールの動作が必要であるとき前記クロック同期信号を所定のレベルにマスクして出力することを特徴とする半導体集積回路装置。
【0181】
(付記7)
付記1記載の半導体集積回路装置であって、
前記クロック生成部は、複数のクロック周波数を示す複数の前記クロック同期信号を生成して前記内部モジュールに供給し、
前記同期制御モジュールは、前記複数のクロック同期信号を受け、前記内部モジュールの動作周波数に応じて前記複数のクロック同期信号と前記基準クロックに基づいて前記内部クロックを生成することを特徴とする半導体集積回路装置。
【0182】
(付記8)
付記1記載の半導体集積回路装置であって、
前記同期制御モジュールは、前記基準クロックを受けてカウント動作を行いカウント値に従ってマスク信号を生成するカウンタと、前記マスク信号に基づいて前記クロック同期信号を所定の割合で間引くことにより内部クロック生成制御信号を生成するゲート部と、前記内部クロック生成制御信号と前記基準クロックに基づいて前記内部クロックを生成する内部クロック生成部を備えることを特徴とする半導体集積回路装置。
【0183】
(付記9)
所定の機能を実現するモジュール本体をそれぞれ有する複数のバスマスタと複数のバススレーブとを含む複数の内部モジュールと、
前記複数のバスマスタと前記複数のバススレーブをパイプライン方式で接続するバスユニットと、
基準クロック及び前記基準クロックの有効なクロックエッジの位置を示すクロック同期信号を生成し、前記バスユニットに供給するクロック生成部とを備える半導体集積回路装置であって、前記バスユニットは、前記基準クロックと前記クロック同期信号に基づいて前記複数のバスマスタ及び前記複数のバススレーブの少なくとも1つに供給される内部クロックを生成する同期制御モジュールを備えることを特徴とする半導体集積回路装置。
【0184】
(付記10)
付記9記載の半導体集積回路装置であって、
前記バスユニットは、前記複数のバスマスタ及び前記複数のバススレーブの間の接続を制御するバス制御部を備え、前記バス制御部は前記同期制御モジュールを備えることを特徴とする半導体集積回路装置。
【0185】
(付記11)
所定の機能を実現するモジュール本体をそれぞれ有する複数のバスマスタと複数のバススレーブとを含む複数の内部モジュールと、
前記複数のバスマスタと前記複数のバススレーブをクロスバー方式で接続するバスユニットと、
基準クロック及び前記基準クロックの有効なクロックエッジの位置を示すクロック同期信号を生成し、前記バスユニットに供給するクロック生成部と
を備える半導体集積回路装置であって、前記バスユニットは、前記基準クロックと前記クロック同期信号に基づいて前記複数のバスマスタ及び前記複数のバススレーブの少なくとも1つに供給される内部クロックを生成する同期制御モジュールを備えることを特徴とする半導体集積回路装置。
【0186】
(付記12)
付記11記載の半導体集積回路装置であって、
前記バスユニットは、前記複数のバスマスタ及び前記複数のバススレーブに対応する複数のバスインターフェイス部を備え、前記複数のバスインターフェイス部の少なくとも1つは前記同期制御モジュールを備えることを特徴とする半導体集積回路装置。
【0187】
(付記13)
付記11記載の半導体集積回路装置であって、
前記同期制御モジュールは、対応するバスインターフェイス部への前記クロック同期信号の供給及びマスク処理を制御するマスク部を更に備え、前記マスク部は対応するバスマスタ又はバススレーブの動作が必要であるとき前記クロック同期信号を所定のレベルにマスクして出力することを特徴とする半導体集積回路装置。
【0188】
(付記14)
付記1記載の半導体集積回路装置であって、
前記内部モジュールは、前記内部バスに対するバスインターフェイス部を備え、
前記同期制御モジュールは、前記モジュール本体と前記バスインターフェイス部に対してそれぞれ異なる前記内部クロックを生成することを特徴とする半導体集積回路装置。
【0189】
(付記15)
付記4記載の半導体集積回路装置であって、
前記同期制御モジュールの前記制御部は、前記内部モジュールへの割り込み要求信号、DMAリクエストの要求信号、前記モジュール本体から供給されるクロック制御信号、及び前記内部バスのバス・プロトコルで定義されるバスリクエスト信号とバスアクノリッジ信号のいずれかに基づいて前記内部クロック制御信号を生成することを特徴とする半導体集積回路装置。
【0190】
(付記16)
内部バスと、前記内部バスに接続され、所定の機能を実現するモジュール本体を有する複数の内部モジュールとを備える半導体集積回路装置で、前記内部モジュールに供給される内部クロックを制御するためのクロック制御方法であって、
基準クロック及び前記基準クロックの有効なクロックエッジの位置を示すクロック同期信号を生成し、前記複数の内部モジュールの少なくとも1つに供給するクロック生成ステップと、
前記複数の内部モジュールの少なくとも1つにおいて、前記基準クロックと前記クロック同期信号に基づいて前記内部クロックを生成する同期制御ステップとを有することを特徴とするクロック制御方法。
【0191】
(付記17)
内部バスと、
前記内部バスに接続され、所定の機能を実現する第1のモジュール本体を有する第1の内部モジュールと、
前記内部バスに接続され、所定の機能を実現する第2のモジュール本体を有し、前記第1の内部モジュールと前記内部バスを介してデータ転送を行う第2の内部モジュールと、
第1の基準クロックを生成して前記第1の内部モジュールに供給するとともに、
第2の基準クロック及び前記第1の基準クロックのクロックエッジの位置に対応する前記第2の基準クロックの有効なクロックエッジの位置を示すクロック同期信号を生成して前記第2の内部モジュールに供給するクロック生成部とを備える半導体集積回路装置であって、
前記第1の内部モジュールは、前記第1のモジュール本体において前記第1の基準クロックに従って所定の処理を行うとともに、前記第1の基準クロックのクロックエッジに従ってデータ転送を行い、
前記第2の内部モジュールは、前記第2のモジュール本体において前記第2の基準クロックに従って所定の処理を行うとともに、前記第2の基準クロックと前記クロック同期信号に基づいて前記有効なクロックエッジに従ってデータ転送を行うことを特徴とする半導体集積回路装置。
【0192】
(付記18)
付記17記載の半導体集積回路装置であって、
前記第1の基準クロックのクロック周波数は、前記第2の基準クロックのクロック周波数よりも低いことを特徴とする半導体集積回路装置。
【0193】
(付記19)
付記17記載の半導体集積回路装置であって、
前記第2の基準クロックのクロックエッジの配置は等間隔であり、前記第1の基準クロックのクロックエッジの配置は等間隔でないことを特徴とする半導体集積回路装置。
【0194】
(付記20)
付記17記載の半導体集積回路装置であって、
前記第1の基準クロックのクロックエッジの位置は、すべて前記第2の基準クロックのクロックエッジの位置と一致していることを特徴とする半導体集積回路装置。
【0195】
(付記21)
付記17記載の半導体集積回路装置であって、
前記第2の基準クロックのクロック周波数は、前記第1の基準クロックのクロック周波数の非整数倍の周波数であることを特徴とする半導体集積回路装置。
【0196】
(付記22)
付記17記載の半導体集積回路装置であって、
前記第1の内部モジュールと前記第2の内部モジュールの間のデータ転送は、前記第1の基準クロックのクロック周波数に等しい動作周波数で行われることを特徴とする半導体集積回路装置。
【0197】
(付記23)
内部バスと、
前記内部バスに接続され、所定の機能を実現する第1のモジュール本体を有する第1の内部モジュールと、
前記内部バスに接続され、所定の機能を実現する第2のモジュール本体を有し、前記第1の内部モジュールと前記内部バスを介してデータ転送を行う第2の内部モジュールと、
基準クロック及び前記基準クロックの有効なクロックエッジの位置を示すクロック同期信号を生成して、前記第1の内部モジュール及び前記第2の内部モジュールに供給するクロック生成部とを備える半導体集積回路装置であって、
前記第1の内部モジュールは、前記基準クロック及び前記クロック同期信号に基づいて前記第1のモジュール本体に供給される内部クロックを生成する内部クロック生成部を有し、前記第1のモジュール本体において前記内部クロックに従って所定の処理を実行するとともに、前記内部クロックのクロックエッジに従ってデータ転送を行い、
前記第2の内部モジュールは、前記第2のモジュール本体において前記基準クロックに従って所定の処理を実行するとともに、前記基準クロックと前記クロック同期信号に基づいて前記有効なクロックエッジに従ってデータ転送を行うことを特徴とする半導体集積回路装置。
【0198】
(付記24)
付記23記載の半導体集積回路装置であって、
前記基準クロックのクロックエッジの配置は等間隔であり、前記内部クロックのクロックエッジの配置は等間隔でないことを特徴とする半導体集積回路装置。
【0199】
(付記25)
付記23記載の半導体集積回路装置であって、
前記基準クロックのクロック周波数は、前記内部クロックのクロック周波数の非整数倍の周波数であることを特徴とする半導体集積回路装置。
【0200】
(付記26)
付記23記載の半導体集積回路装置であって、
前記内部クロック生成部は、付記1乃至付記15のいずれか1つに記載の同期制御モジュールであることを特徴とする半導体集積回路装置。
【0201】
(付記27)
付記23記載の半導体集積回路装置であって、
前記基準クロックの有効なクロックエッジの位置を示す前記クロック同期信号のクロックエッジの位置は、前記基準クロックの有効なクロックエッジの位置の1周期前であることを特徴とする半導体集積回路装置。
【0202】
(付記28)
付記23記載の半導体集積回路装置であって、
前記第1の内部モジュールと前記第2の内部モジュールの間のデータ転送は、前記内部クロックのクロック周波数に等しい動作周波数で行われることを特徴とする半導体集積回路装置。
【0203】
(付記29)
付記23記載の半導体集積回路装置であって、
前記内部クロックのクロックエッジの位置は、前記有効なクロックエッジの位置に一致することを特徴とする半導体集積回路装置。
【0204】
(付記30)
内部バスと、前記内部バスに接続され、所定の機能を実現する第1のモジュール本体を有する第1の内部モジュールと、前記内部バスに接続され、所定の機能を実現する第2のモジュール本体を有し、前記第1の内部モジュールと前記内部バスを介してデータ転送を行う第2の内部モジュールとを備える半導体集積回路装置で、前記第1の内部モジュールと前記第2の内部モジュールの間のデータ伝送を制御するデータ転送制御方法であって、
第1の基準クロックを生成して前記第1の内部モジュールに供給する第1のクロック生成ステップと、
第2の基準クロック及び前記第1の基準クロックのクロックエッジの位置に対応する前記第2の基準クロックの有効なクロックエッジの位置を示すクロック同期信号を生成して前記第2の内部モジュールに供給する第2のクロック生成ステップと、
前記第1の内部モジュールにおいて、前記第1の基準クロックのクロックエッジに従ってデータ転送を行うように制御する第1のデータ転送制御ステップと、前記第2の内部モジュールにおいて、前記第2の基準クロックと前記クロック同期信号に基づいて前記有効なクロックエッジに従ってデータ転送を行うように制御する第2のデータ転送制御ステップとを有することを特徴とするデータ転送制御方法。
【0205】
(付記31)
内部バスと、前記内部バスに接続され、所定の機能を実現する第1のモジュール本体を有する第1の内部モジュールと、前記内部バスに接続され、所定の機能を実現する第2のモジュール本体を有し、前記第1の内部モジュールと前記内部バスを介してデータ転送を行う第2の内部モジュールとを備える半導体集積回路装置で、前記第1の内部モジュールと前記第2の内部モジュールの間のデータ伝送を制御するデータ転送制御方法であって、
基準クロック及び前記基準クロックの有効なクロックエッジの位置を示すクロック同期信号を生成して前記第1の内部モジュール及び前記第2の内部モジュールに供給するクロック生成ステップと、
前記第1の内部モジュールにおいて、前記基準クロック及び前記クロック同期信号に基づいて前記第1のモジュール本体に供給される内部クロックを生成する内部クロック生成ステップと、
前記第2のモジュール本体において、前記内部クロックに従って所定の処理を実行するとともに、前記内部クロックのクロックエッジに従ってデータ転送を行うように制御する第1のデータ転送制御ステップと、
前記第2のモジュール本体において前記基準クロックに従って所定の処理を実行するとともに、前記基準クロックと前記クロック同期信号に基づいて前記有効なクロックエッジに従ってデータ転送を行うように制御する第2のデータ転送制御ステップとを有することを特徴とするデータ転送制御方法。
【0206】
(付記32)
内部バスと、
前記内部バスに接続され、所定の機能を実現する第1のモジュール本体を有する第1の内部モジュールと、
前記内部バスに接続され、所定の機能を実現する第2のモジュール本体を有し、前記第1の内部モジュールと前記内部バスを介してデータ転送を行う第2の内部モジュールと、
第1の基準クロック及び前記第1の基準クロックの有効なクロックエッジの位置を示す第1のクロック同期信号を生成して前記第1の内部モジュールに供給するとともに、第2の基準クロック及び前記第2の基準クロックの有効なクロックエッジの位置を示す第2のクロック同期信号を生成して前記第2の内部モジュールに供給するクロック生成部とを備える半導体集積回路装置であって、
前記第1の内部モジュールは、前記第1のモジュール本体において前記第1の基準クロックに従って所定の処理を実行するとともに、前記第1の基準クロック及び前記第1のクロック同期信号に基づいて前記第1の基準クロックのクロックエッジに従ってデータ転送を行い、
前記第2の内部モジュールは、前記第2のモジュール本体において前記第2の基準クロックに従って所定の処理を実行するとともに、前記第2の基準クロックと前記第2のクロック同期信号に基づいて前記第2の基準クロックの有効なクロックエッジに従ってデータ転送を行うことを特徴とする半導体集積回路装置。
【0207】
(付記33)
付記32記載の半導体集積回路装置であって、
前記第1の内部モジュールと前記第2の内部モジュールの間のデータ転送は、前記第1の基準クロックのクロック周波数と前記第2の基準クロックのクロック周波数の最大公約数に等しい動作周波数で行われることを特徴とする半導体集積回路装置。
【0208】
(付記34)
付記32記載の半導体集積回路装置であって、
前記第1の基準クロックの有効なクロックエッジの位置と、前記第2の基準クロックの有効なクロックエッジの位置とは互いに一致していることを特徴とする半導体集積回路装置。
【0209】
(付記35)
付記32記載の半導体集積回路装置であって、
前記第1のクロック同期信号と前記第2のクロック同期信号の間で、立上りエッジ又は立下りエッジの少なくとも一方が互いに一致していることを特徴とする半導体集積回路装置。
【0210】
(付記36)
付記32記載の半導体集積回路装置であって、
前記第1の基準クロックと前記第2の基準クロックの双方において、クロックエッジの配置が等間隔であることを特徴とする半導体集積回路装置。
【0211】
(付記37)
付記32記載の半導体集積回路装置であって、
前記第1の内部モジュール及び前記第2の内部モジュールは、前記内部バス上のデータ信号を取り込むとき、前記第1のクロック同期信号又は前記第2のクロック同期信号に基づいて、前記内部バスに出力されたデータ信号の有効又は無効を示すバスコントロール信号を生成し、前記バスコントロール信号に従って前記データ信号を取り込むインターフェイス部を備えることを特徴とする半導体集積回路装置。
【0212】
(付記38)
付記37記載の半導体集積回路装置であって、
前記バスコントロール信号は、前記内部バスに出力されたデータ信号の有効を示す信号と無効を示す信号を交互に出力することを特徴とする半導体集積回路装置。
【0213】
(付記39)
付記37記載の半導体集積回路装置であって、
前記第1の内部モジュールのデータバス幅と前記第2の内部モジュールのデータバス幅が異なっており、
前記第1の内部モジュール及び前記第2の内部モジュールのデータバス幅の小さい方の内部モジュールは、大きい方の内部モジュールから前記内部バス上に出力されたデータ信号を前記バスコントロール信号に従って分割して取り込むことを特徴とする半導体集積回路装置。
【0214】
(付記40)
付記39記載の半導体集積回路装置であって、
前記バスコントロール信号は、前記データ信号の分割数に応じたサイクル数だけ連続して、前記内部バスに出力されたデータ信号の有効を示す信号を出力することを特徴とする半導体集積回路装置。
【0215】
(付記41)
付記37記載の半導体集積回路装置であって、
前記第1の内部モジュールのデータバス幅と前記第2の内部モジュールのデータバス幅が異なっており、
前記第1の内部モジュール及び前記第2の内部モジュールのデータバス幅の小さい方の内部モジュールは、複数の前記インターフェイス部を有し、大きい方の内部モジュールから前記内部バス上に出力されたデータ信号を前記複数のインターフェイス部を介して並列的に取り込むことを特徴とする半導体集積回路装置。
【0216】
(付記42)
内部バスと、前記内部バスに接続され、所定の機能を実現する第1のモジュール本体を有する第1の内部モジュールと、前記内部バスに接続され、所定の機能を実現する第2のモジュール本体を有し、前記第1の内部モジュールと前記内部バスを介してデータ転送を行う第2の内部モジュールとを備える半導体集積回路装置で、前記第1の内部モジュールと前記第2の内部モジュールの間のデータ伝送を制御するデータ転送制御方法であって、
第1の基準クロック及び前記第1の基準クロックの有効なクロックエッジの位置を示す第1のクロック同期信号を生成して前記第1の内部モジュールに供給する第1のクロック生成ステップと、
第2の基準クロック及び前記第2の基準クロックの有効なクロックエッジの位置を示す第2のクロック同期信号を生成して前記第2の内部モジュールに供給する第2のクロック生成ステップと、
前記第1のモジュール本体において前記第1の基準クロックに従って所定の処理を実行するとともに、前記第1の基準クロック及び前記第1のクロック同期信号に基づいて前記第1の基準クロックの有効なクロックエッジに従ってデータ転送を行うように制御する第1のデータ転送制御ステップと、
前記第2のモジュール本体において前記第2の基準クロックに従って所定の処理を実行するとともに、前記第2の基準クロックと前記第2のクロック同期信号に基づいて前記第2の基準クロックの有効なクロックエッジに従ってデータ転送を行うように制御する第2のデータ転送制御ステップとを有することを特徴とするデータ転送制御方法。
【0217】
(付記43)
内部バスと、
前記内部バスに接続され、所定の機能を実現するモジュール本体を有する複数の内部モジュールと、
基準クロック及び前記基準クロックの有効なクロックエッジの位置を示すクロック同期信号を生成し、前記複数の内部モジュールの少なくとも1つに供給するクロック生成部と
を備える半導体集積回路装置であって、前記複数の内部モジュールの少なくとも1つは、前記基準クロックと前記クロック同期信号に基づいて、所定の内部処理を行うことを特徴とする半導体集積回路装置。
【0218】
(付記44)
付記43記載の半導体集積回路装置であって、
前記所定の内部処理は、前記内部モジュールに供給される内部クロックを生成する内部クロック生成処理であることを特徴とする半導体集積回路装置。
【0219】
(付記45)
付記43記載の半導体集積回路装置であって、
前記所定の内部処理は、前記複数の内部モジュール間で前記内部バスを介してデータ転送が行われるとき、前記データ転送に関与し、異なる動作周波数で動作する2つの内部モジュール間でデータ信号の同期制御を行う信号同期処理であることを特徴とする半導体集積回路装置。
【0220】
(付記46)
付記43記載の半導体集積回路装置であって、
前記複数の内部モジュールの少なくとも1つは、前記基準クロックの有効なクロックエッジに従って、前記所定の内部処理を実行するモジュールを有することを特徴とする半導体集積回路装置。
【発明の効果】
以上説明したように、本発明の半導体集積回路装置及びクロック制御方法によれば、クロック・ツリーにおける消費電力や、クロック・ツリーに接続されているモジュール内の冗長な電力消費を削減することが可能となる。複数の機能IPマクロを搭載した内部モジュールを有するシステム・オン・チップ等の半導体集積回路装置における消費電力削減に有効である。また、本発明のクロック同期制御方式によれば、対応する高速クロックと低速クロックのクロック比が整数倍で無い場合にも、それぞれのクロックで動作するモジュール間における非常に高速な信号乗り換えをすることなく、所望の動作周波数でプロセッサを動作させることが可能となる。
【図面の簡単な説明】
【図1】本発明の一実施例における基本的なプロセッサの構成を示すブロック図である。
【図2】基準クロック及びクロック同期信号を説明するための波形図である。
【図3】本発明の一実施例に係る半導体集積回路装置の内部モジュールを示すブロック図である。
【図4】本発明の一実施例に係る同期制御モジュールを示す回路図である。
【図5】本発明の一実施例に係る半導体集積回路装置を説明するための波形図である。
【図6】本発明の一実施例に係る同期制御モジュールを示す回路図である。
【図7】本発明の一実施例に係る同期制御モジュールを示す回路図である。
【図8】本発明の一実施例に係る同期制御モジュールを示す回路図である。
【図9】本発明の一実施例に係る同期制御方式を示すブロック図である。
【図10】本発明の一実施例に係る同期制御方式を示すブロック図である。
【図11】本発明の一実施例に係る同期制御モジュールを示す回路図である。
【図12】本発明の一実施例に係る半導体集積回路装置の内部モジュールを示すブロック図である。
【図13】基準クロックと1.5倍クロックを説明するための波形図である。
【図14】図13の場合のクロック同期制御方式を説明するための波形図である。
【図15】クロック比が1:2.5の場合のクロック同期制御方式を説明するための波形図である。
【図16】クロック比が1:3.5の場合のクロック同期制御方式を説明するための波形図である。
【図17】クロック比が1:3の場合のクロック同期制御方式を説明するための波形図である。
【図18】本発明の一実施例に係るクロック生成部を示すブロック図である。
【図19】本発明の一実施例に係るクロック生成部を示すブロック図である。
【図20】本発明の一実施例に係るクロック生成部を示すブロック図である。
【図21】図20の実施例におけるクロック同期制御方式を説明するための波形図である。
【図22】本発明の一実施例に係るクロック同期制御方式を説明するための波形図である。
【図23】本発明の一実施例に係るクロック同期制御システムを示すブロック図である。
【図24】本発明の一実施例に係るクロック同期制御システムを示すブロック図である。
【図25】本発明の一実施例に係るクロック同期制御方式を説明するための波形図である。
【図26】本発明の一実施例に係るクロック同期制御システムを示すブロック図である。
【図27】本発明の一実施例に係るクロック同期制御方式を説明するための波形図である。
【図28】本発明の一実施例に係るクロック同期制御システムを示すブロック図である。
【符号の説明】
1 外部入力クロック
2 外部入力端子信号
3 PLL回路
4 クロック生成部
5 CPUコア
6、7 内部モジュール
8 クロック制御レジスタ
9 内部オンチップバス
10 高速の基準クロック
11、13 クロック同期信号
12 低速の基準クロック
14、15 クロック制御信号
Claims (19)
- 内部バスと、
前記内部バスに接続され、所定の機能を実現するモジュール本体を有する複数の内部モジュールと、
基準クロック及び前記基準クロックの有効なクロックエッジの位置を示すクロック同期信号を生成し、前記複数の内部モジュールの少なくとも1つに供給するクロック生成部と
を備える半導体集積回路装置であって、前記複数の内部モジュールの少なくとも1つは、前記基準クロックと前記クロック同期信号に基づいて前記内部モジュールに供給される内部クロックを生成する同期制御モジュールを備えることを特徴とする半導体集積回路装置。 - 請求項1記載の半導体集積回路装置であって、
前記同期制御モジュールは、前記内部モジュールの動作可否を示す内部クロック制御信号を生成する制御部を備え、前記内部クロック制御信号に基づいて前記クロック同期信号の供給、停止及びマスク処理の少なくとも1つを行うことを特徴とする半導体集積回路装置。 - 請求項1記載の半導体集積回路装置であって、
前記同期制御モジュールは、前記内部モジュールへの前記クロック同期信号の供給及び停止を制御するゲート部を更に備え、前記ゲート部は前記内部モジュールの動作が不要であるとき前記クロック同期信号の出力を停止することを特徴とする半導体集積回路装置。 - 請求項1記載の半導体集積回路装置であって、
前記同期制御モジュールは、前記内部モジュールへの前記クロック同期信号の供給及びマスク処理を制御するマスク部を更に備え、前記マスク部は前記内部モジュールの動作が必要であるとき前記クロック同期信号を所定のレベルにマスクして出力することを特徴とする半導体集積回路装置。 - 請求項1記載の半導体集積回路装置であって、
前記クロック生成部は、複数のクロック周波数を示す複数の前記クロック同期信号を生成して前記内部モジュールに供給し、
前記同期制御モジュールは、前記複数のクロック同期信号を受け、前記内部モジュールの動作周波数に応じて前記複数のクロック同期信号と前記基準クロックに基づいて前記内部クロックを生成することを特徴とする半導体集積回路装置。 - 所定の機能を実現するモジュール本体をそれぞれ有する複数のバスマスタと複数のバススレーブとを含む複数の内部モジュールと、
前記複数のバスマスタと前記複数のバススレーブをパイプライン方式で接続するバスユニットと、
基準クロック及び前記基準クロックの有効なクロックエッジの位置を示すクロック同期信号を生成し、前記バスユニットに供給するクロック生成部とを備える半導体集積回路装置であって、前記バスユニットは、前記基準クロックと前記クロック同期信号に基づいて前記複数のバスマスタ及び前記複数のバススレーブの少なくとも1つに供給される内部クロックを生成する同期制御モジュールを備えることを特徴とする半導体集積回路装置。 - 所定の機能を実現するモジュール本体をそれぞれ有する複数のバスマスタと複数のバススレーブとを含む複数の内部モジュールと、
前記複数のバスマスタと前記複数のバススレーブをクロスバー方式で接続するバスユニットと、
基準クロック及び前記基準クロックの有効なクロックエッジの位置を示すクロック同期信号を生成し、前記バスユニットに供給するクロック生成部とを備える半導体集積回路装置であって、前記バスユニットは、前記基準クロックと前記クロック同期信号に基づいて前記複数のバスマスタ及び前記複数のバススレーブの少なくとも1つに供給される内部クロックを生成する同期制御モジュールを備えることを特徴とする半導体集積回路装置。 - 請求項2記載の半導体集積回路装置であって、
前記同期制御モジュールの前記制御部は、前記内部モジュールへの割り込み要求信号、DMAリクエストの要求信号、前記モジュール本体から供給されるクロック制御信号、及び前記内部バスのバス・プロトコルで定義されるバスリクエスト信号とバスアクノリッジ信号のいずれかに基づいて前記内部クロック制御信号を生成することを特徴とする半導体集積回路装置。 - 内部バスと、前記内部バスに接続され、所定の機能を実現するモジュール本体を有する複数の内部モジュールとを備える半導体集積回路装置で、前記内部モジュールに供給される内部クロックを制御するためのクロック制御方法であって、
基準クロック及び前記基準クロックの有効なクロックエッジの位置を示すクロック同期信号を生成し、前記複数の内部モジュールの少なくとも1つに供給するクロック生成ステップと、
前記複数の内部モジュールの少なくとも1つにおいて、前記基準クロックと前記クロック同期信号に基づいて前記内部クロックを生成する同期制御ステップとを有することを特徴とするクロック制御方法。 - 内部バスと、
前記内部バスに接続され、所定の機能を実現する第1のモジュール本体を有する第1の内部モジュールと、
前記内部バスに接続され、所定の機能を実現する第2のモジュール本体を有し、前記第1の内部モジュールと前記内部バスを介してデータ転送を行う第2の内部モジュールと、
第1の基準クロックを生成して前記第1の内部モジュールに供給するとともに、
第2の基準クロック及び前記第1の基準クロックのクロックエッジの位置に対応する前記第2の基準クロックの有効なクロックエッジの位置を示すクロック同期信号を生成して前記第2の内部モジュールに供給するクロック生成部とを備える半導体集積回路装置であって、
前記第1の内部モジュールは、前記第1のモジュール本体において前記第1の基準クロックに従って所定の処理を行うとともに、前記第1の基準クロックのクロックエッジに従ってデータ転送を行い、
前記第2の内部モジュールは、前記第2のモジュール本体において前記第2の基準クロックに従って所定の処理を行うとともに、前記第2の基準クロックと前記クロック同期信号に基づいて前記有効なクロックエッジに従ってデータ転送を行うことを特徴とする半導体集積回路装置。 - 内部バスと、
前記内部バスに接続され、所定の機能を実現する第1のモジュール本体を有する第1の内部モジュールと、
前記内部バスに接続され、所定の機能を実現する第2のモジュール本体を有し、前記第1の内部モジュールと前記内部バスを介してデータ転送を行う第2の内部モジュールと、
基準クロック及び前記基準クロックの有効なクロックエッジの位置を示すクロック同期信号を生成して、前記第1の内部モジュール及び前記第2の内部モジュールに供給するクロック生成部とを備える半導体集積回路装置であって、
前記第1の内部モジュールは、前記基準クロック及び前記クロック同期信号に基づいて前記第1のモジュール本体に供給される内部クロックを生成する内部クロック生成部を有し、前記第1のモジュール本体において前記内部クロックに従って所定の処理を実行するとともに、前記内部クロックのクロックエッジに従ってデータ転送を行い、
前記第2の内部モジュールは、前記第2のモジュール本体において前記基準クロックに従って所定の処理を実行するとともに、前記基準クロックと前記クロック同期信号に基づいて前記有効なクロックエッジに従ってデータ転送を行うことを特徴とする半導体集積回路装置。 - 内部バスと、
前記内部バスに接続され、所定の機能を実現する第1のモジュール本体を有する第1の内部モジュールと、
前記内部バスに接続され、所定の機能を実現する第2のモジュール本体を有し、前記第1の内部モジュールと前記内部バスを介してデータ転送を行う第2の内部モジュールと、
第1の基準クロック及び前記第1の基準クロックの有効なクロックエッジの位置を示す第1のクロック同期信号を生成して前記第1の内部モジュールに供給するとともに、第2の基準クロック及び前記第2の基準クロックの有効なクロックエッジの位置を示す第2のクロック同期信号を生成して前記第2の内部モジュールに供給するクロック生成部とを備える半導体集積回路装置であって、
前記第1の内部モジュールは、前記第1のモジュール本体において前記第1の基準クロックに従って所定の処理を実行するとともに、前記第1の基準クロック及び前記第1のクロック同期信号に基づいて前記第1の基準クロックのクロックエッジに従ってデータ転送を行い、
前記第2の内部モジュールは、前記第2のモジュール本体において前記第2の基準クロックに従って所定の処理を実行するとともに、前記第2の基準クロックと前記第2のクロック同期信号に基づいて前記第2の基準クロックの有効なクロックエッジに従ってデータ転送を行うことを特徴とする半導体集積回路装置。 - 請求項12記載の半導体集積回路装置であって、
前記第1の内部モジュールと前記第2の内部モジュールの間のデータ転送は、前記第1の基準クロックのクロック周波数と前記第2の基準クロックのクロック周波数の最大公約数に等しい動作周波数で行われることを特徴とする半導体集積回路装置。 - 請求項12記載の半導体集積回路装置であって、
前記第1の基準クロックの有効なクロックエッジの位置と、前記第2の基準クロックの有効なクロックエッジの位置とは互いに一致していることを特徴とする半導体集積回路装置。 - 請求項12記載の半導体集積回路装置であって、
前記第1の内部モジュール及び前記第2の内部モジュールは、前記内部バス上のデータ信号を取り込むとき、前記第1のクロック同期信号又は前記第2のクロック同期信号に基づいて、前記内部バスに出力されたデータ信号の有効又は無効を示すバスコントロール信号を生成し、前記バスコントロール信号に従って前記データ信号を取り込むインターフェイス部を備えることを特徴とする半導体集積回路装置。 - 請求項15記載の半導体集積回路装置であって、
前記第1の内部モジュールのデータバス幅と前記第2の内部モジュールのデータバス幅が異なっており、
前記第1の内部モジュール及び前記第2の内部モジュールのデータバス幅の小さい方の内部モジュールは、大きい方の内部モジュールから前記内部バス上に出力されたデータ信号を前記バスコントロール信号に従って分割して取り込むことを特徴とする半導体集積回路装置。 - 請求項15記載の半導体集積回路装置であって、
前記第1の内部モジュールのデータバス幅と前記第2の内部モジュールのデータバス幅が異なっており、
前記第1の内部モジュール及び前記第2の内部モジュールのデータバス幅の小さい方の内部モジュールは、複数の前記インターフェイス部を有し、大きい方の内部モジュールから前記内部バス上に出力されたデータ信号を前記複数のインターフェイス部を介して並列的に取り込むことを特徴とする半導体集積回路装置。 - 内部バスと、前記内部バスに接続され、所定の機能を実現する第1のモジュール本体を有する第1の内部モジュールと、前記内部バスに接続され、所定の機能を実現する第2のモジュール本体を有し、前記第1の内部モジュールと前記内部バスを介してデータ転送を行う第2の内部モジュールとを備える半導体集積回路装置で、前記第1の内部モジュールと前記第2の内部モジュールの間のデータ伝送を制御するデータ転送制御方法であって、
第1の基準クロック及び前記第1の基準クロックの有効なクロックエッジの位置を示す第1のクロック同期信号を生成して前記第1の内部モジュールに供給する第1のクロック生成ステップと、
第2の基準クロック及び前記第2の基準クロックの有効なクロックエッジの位置を示す第2のクロック同期信号を生成して前記第2の内部モジュールに供給する第2のクロック生成ステップと、
前記第1のモジュール本体において前記第1の基準クロックに従って所定の処理を実行するとともに、前記第1の基準クロック及び前記第1のクロック同期信号に基づいて前記第1の基準クロックの有効なクロックエッジに従ってデータ転送を行うように制御する第1のデータ転送制御ステップと、
前記第2のモジュール本体において前記第2の基準クロックに従って所定の処理を実行するとともに、前記第2の基準クロックと前記第2のクロック同期信号に基づいて前記第2の基準クロックの有効なクロックエッジに従ってデータ転送を行うように制御する第2のデータ転送制御ステップとを有することを特徴とするデータ転送制御方法。 - 内部バスと、
前記内部バスに接続され、所定の機能を実現するモジュール本体を有する複数の内部モジュールと、
基準クロック及び前記基準クロックの有効なクロックエッジの位置を示すクロック同期信号を生成し、前記複数の内部モジュールの少なくとも1つに供給するクロック生成部とを備える半導体集積回路装置であって、前記複数の内部モジュールの少なくとも1つは、前記基準クロックと前記クロック同期信号に基づいて、所定の内部処理を行うことを特徴とする半導体集積回路装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003204617A JP4136822B2 (ja) | 2003-07-31 | 2003-07-31 | 半導体集積回路装置、クロック制御方法及びデータ転送制御方法 |
US10/792,793 US7290158B2 (en) | 2003-07-31 | 2004-03-05 | Method of controlling data transfer within a semiconductor integrated circuit based on a clock sync control signal |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003204617A JP4136822B2 (ja) | 2003-07-31 | 2003-07-31 | 半導体集積回路装置、クロック制御方法及びデータ転送制御方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007234079A Division JP2008041106A (ja) | 2007-09-10 | 2007-09-10 | 半導体集積回路装置、クロック制御方法及びデータ転送制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005050030A true JP2005050030A (ja) | 2005-02-24 |
JP4136822B2 JP4136822B2 (ja) | 2008-08-20 |
Family
ID=34100670
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003204617A Expired - Fee Related JP4136822B2 (ja) | 2003-07-31 | 2003-07-31 | 半導体集積回路装置、クロック制御方法及びデータ転送制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7290158B2 (ja) |
JP (1) | JP4136822B2 (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007241936A (ja) * | 2006-03-13 | 2007-09-20 | Oki Electric Ind Co Ltd | データ転送回路 |
WO2008041447A1 (fr) * | 2006-10-04 | 2008-04-10 | Panasonic Corporation | Circuit convertisseur d'impulsions, circuit intégré à semi-conducteur et dispositif électronique |
JP2008097522A (ja) * | 2006-10-16 | 2008-04-24 | Oki Electric Ind Co Ltd | 半導体集積回路 |
WO2008102433A1 (ja) * | 2007-02-20 | 2008-08-28 | Fujitsu Microelectronics Limited | Lsi試験装置、lsi試験方法、lsi試験プログラムおよび記録媒体 |
JP2009048399A (ja) * | 2007-08-20 | 2009-03-05 | Hitachi Ltd | 半導体装置 |
JP2010130060A (ja) * | 2008-11-25 | 2010-06-10 | Oki Semiconductor Co Ltd | データ転送システム |
JP2010532124A (ja) * | 2007-06-29 | 2010-09-30 | イマジネイション テクノロジーズ リミテッド | 半導体デバイスのためのクロック周波数調整 |
JP2016508312A (ja) * | 2012-12-13 | 2016-03-17 | コーヒレント・ロジックス・インコーポレーテッド | 同期型デジタルシステムにおけるチップ間通信のための多重周波数クロックスキュー制御 |
JP2017049972A (ja) * | 2015-09-04 | 2017-03-09 | 聯發科技股▲ふん▼有限公司Mediatek Inc. | 電子システム及び関連するクロック管理方法 |
JP2020177538A (ja) * | 2019-04-19 | 2020-10-29 | キヤノン株式会社 | 情報処理装置 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100591524B1 (ko) * | 2004-05-14 | 2006-06-19 | 삼성전자주식회사 | 버스 구조하에서 다이나믹 클록 게이팅이 가능한 슬레이브장치 및 그 동작방법 |
US7437583B2 (en) * | 2004-06-04 | 2008-10-14 | Broadcom Corporation | Method and system for flexible clock gating control |
US7437584B2 (en) * | 2006-02-27 | 2008-10-14 | Atmel Corporation | Apparatus and method for reducing power consumption in electronic devices |
KR100723537B1 (ko) * | 2006-09-12 | 2007-05-30 | 삼성전자주식회사 | 클럭 신호 발생 방법 및 장치와 이를 이용한 클럭 주파수제어 방법 및 장치 |
CN102439535A (zh) * | 2011-10-25 | 2012-05-02 | 深圳市海思半导体有限公司 | 降低动态功耗的方法和电子设备 |
US10108764B2 (en) * | 2016-04-15 | 2018-10-23 | Taiwan Semiconductor Manufacturing Company, Ltd. | Power consumption estimation method for system on chip (SOC), system for implementing the method |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2003A (en) * | 1841-03-12 | Improvement in horizontal windivhlls | ||
US5392437A (en) | 1992-11-06 | 1995-02-21 | Intel Corporation | Method and apparatus for independently stopping and restarting functional units |
US5625807A (en) * | 1994-09-19 | 1997-04-29 | Advanced Micro Devices | System and method for enabling and disabling a clock run function to control a peripheral bus clock signal |
JPH10161766A (ja) | 1996-11-29 | 1998-06-19 | Hitachi Ltd | 半導体集積回路装置 |
US6081143A (en) * | 1997-09-26 | 2000-06-27 | Sun Microsystems, Inc. | Frequency comparison and generation in an integrated processor |
JP3185207B2 (ja) | 1998-07-21 | 2001-07-09 | 日本電気株式会社 | データ処理システム |
JP3779073B2 (ja) | 1998-09-25 | 2006-05-24 | 松下電器産業株式会社 | クロック制御装置 |
JP2000347761A (ja) | 1999-06-02 | 2000-12-15 | Alps Electric Co Ltd | 制御回路 |
US6715093B1 (en) * | 2000-04-28 | 2004-03-30 | Hewlett-Packard Development Company, L.P. | Method for triggering an asynchronous event by creating a lowest common denominator clock |
JP4986318B2 (ja) * | 2000-08-28 | 2012-07-25 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
JP3880310B2 (ja) * | 2000-12-01 | 2007-02-14 | シャープ株式会社 | 半導体集積回路 |
JP3900824B2 (ja) * | 2000-12-04 | 2007-04-04 | 三菱電機株式会社 | Mpegデータ記録装置 |
JP2002328744A (ja) * | 2001-04-27 | 2002-11-15 | Fujitsu Ltd | 半導体集積回路装置 |
US6912611B2 (en) * | 2001-04-30 | 2005-06-28 | Advanced Micro Devices, Inc. | Split transactional unidirectional bus architecture and method of operation |
JP4733877B2 (ja) | 2001-08-15 | 2011-07-27 | 富士通セミコンダクター株式会社 | 半導体装置 |
JP4931308B2 (ja) * | 2001-09-28 | 2012-05-16 | ルネサスエレクトロニクス株式会社 | 半導体集積回路装置 |
JP3995142B2 (ja) * | 2001-11-12 | 2007-10-24 | 沖電気工業株式会社 | 半導体集積回路 |
US7076681B2 (en) * | 2002-07-02 | 2006-07-11 | International Business Machines Corporation | Processor with demand-driven clock throttling power reduction |
-
2003
- 2003-07-31 JP JP2003204617A patent/JP4136822B2/ja not_active Expired - Fee Related
-
2004
- 2004-03-05 US US10/792,793 patent/US7290158B2/en not_active Expired - Fee Related
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007241936A (ja) * | 2006-03-13 | 2007-09-20 | Oki Electric Ind Co Ltd | データ転送回路 |
JP4696003B2 (ja) * | 2006-03-13 | 2011-06-08 | Okiセミコンダクタ株式会社 | データ転送回路 |
WO2008041447A1 (fr) * | 2006-10-04 | 2008-04-10 | Panasonic Corporation | Circuit convertisseur d'impulsions, circuit intégré à semi-conducteur et dispositif électronique |
JP2008097522A (ja) * | 2006-10-16 | 2008-04-24 | Oki Electric Ind Co Ltd | 半導体集積回路 |
JP4696044B2 (ja) * | 2006-10-16 | 2011-06-08 | Okiセミコンダクタ株式会社 | 半導体集積回路 |
US8134383B2 (en) | 2007-02-20 | 2012-03-13 | Fujitsu Semiconductor Limited | LSI test apparatus, LSI test method, and computer product |
WO2008102433A1 (ja) * | 2007-02-20 | 2008-08-28 | Fujitsu Microelectronics Limited | Lsi試験装置、lsi試験方法、lsi試験プログラムおよび記録媒体 |
CN101669036A (zh) * | 2007-02-20 | 2010-03-10 | 富士通微电子株式会社 | Lsi试验装置、lsi试验方法、lsi试验程序以及存储介质 |
JP5316405B2 (ja) * | 2007-02-20 | 2013-10-16 | 富士通セミコンダクター株式会社 | Lsi試験装置、lsi試験方法、lsi試験プログラムおよび記録媒体 |
JP2010532124A (ja) * | 2007-06-29 | 2010-09-30 | イマジネイション テクノロジーズ リミテッド | 半導体デバイスのためのクロック周波数調整 |
JP2009048399A (ja) * | 2007-08-20 | 2009-03-05 | Hitachi Ltd | 半導体装置 |
JP2010130060A (ja) * | 2008-11-25 | 2010-06-10 | Oki Semiconductor Co Ltd | データ転送システム |
JP2016508312A (ja) * | 2012-12-13 | 2016-03-17 | コーヒレント・ロジックス・インコーポレーテッド | 同期型デジタルシステムにおけるチップ間通信のための多重周波数クロックスキュー制御 |
JP2017049972A (ja) * | 2015-09-04 | 2017-03-09 | 聯發科技股▲ふん▼有限公司Mediatek Inc. | 電子システム及び関連するクロック管理方法 |
US9996138B2 (en) | 2015-09-04 | 2018-06-12 | Mediatek Inc. | Electronic system and related clock managing method |
JP2020177538A (ja) * | 2019-04-19 | 2020-10-29 | キヤノン株式会社 | 情報処理装置 |
JP7316083B2 (ja) | 2019-04-19 | 2023-07-27 | キヤノン株式会社 | 情報処理装置 |
Also Published As
Publication number | Publication date |
---|---|
US20050028018A1 (en) | 2005-02-03 |
US7290158B2 (en) | 2007-10-30 |
JP4136822B2 (ja) | 2008-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10853304B2 (en) | System on chip including clock management unit and method of operating the system on chip | |
JP4136822B2 (ja) | 半導体集積回路装置、クロック制御方法及びデータ転送制御方法 | |
JP3526920B2 (ja) | コンピュータシステム、ならびに周辺バスクロック信号を制御するためのシステムおよび方法 | |
US7398406B2 (en) | Data processor | |
TWI460583B (zh) | 使用粗調時脈閘之動態頻率控制 | |
US8375239B2 (en) | Clock control signal generation circuit, clock selector, and data processing device | |
US8531893B2 (en) | Semiconductor device and data processor | |
US10296065B2 (en) | Clock management using full handshaking | |
TWI747904B (zh) | 系統晶片、時鐘閘控元件、時鐘多工器元件及分頻元件 | |
US11789515B2 (en) | Semiconductor device | |
US11275708B2 (en) | System on chip including clock management unit and method of operating the system on chip | |
JP3665030B2 (ja) | バス制御方法及び情報処理装置 | |
JP5808097B2 (ja) | 半導体装置及び半導体装置におけるリセット制御方法 | |
JP2008041106A (ja) | 半導体集積回路装置、クロック制御方法及びデータ転送制御方法 | |
CN107436856B (zh) | 具有直接控制的通信装置及相关方法 | |
US20120030389A1 (en) | Microcomputer | |
JP2002328744A (ja) | 半導体集積回路装置 | |
US20150106635A1 (en) | Semiconductor integrated circuit and method of controlling the same | |
JP2000276435A (ja) | データ転送装置及びデータ転送方法 | |
JP4079653B2 (ja) | クロック制御方法及びクロック制御回路 | |
JP2005010958A (ja) | 半導体装置 | |
JP2006065444A (ja) | 半導体集積回路及びデータプロセッサ | |
JP2018088096A (ja) | 制御装置およびその制御方法 | |
JP2009205291A (ja) | 半導体集積回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070710 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070910 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080513 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080603 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110613 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110613 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110613 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110613 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110613 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110613 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120613 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120613 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130613 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140613 Year of fee payment: 6 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |