<実施の形態1>
(半導体装置が搭載される電子装置)
以下、図面を参照して本発明の実施の形態について説明する。まず、本発明の実施の形態について詳細な説明を行う前に、本発明にかかる半導体装置が搭載される電子装置について説明する。この電子装置は、例えば、携帯電話、スマートフォン、携帯ゲーム端末、タブレット端末、ノートPC(Personal Computer)等の通信機能を有する無線通信端末である。
図1は、本発明にかかる半導体装置が搭載される無線通信端末の一例を示す外観図である。図1では、無線通信端末の一例として折り畳み式の携帯電話端末を示している。図1(a)は、折り畳み式携帯電話端末としての無線通信端末500の閉状態(折り畳み状態)を示している。図1(b)は、無線通信端末500の開状態を示している。無線通信端末500は、第1の筐体501と第2の筐体502がヒンジ503を介して連結された構造を有する。図1(a)及び(b)の例では、第1の筐体501には複数の操作ボタンが配置されている。一方、第2の筐体502は、2つのディスプレイデバイス20A及び30Aと、2つのカメラデバイス20B及び30Bを有する。ディスプレイデバイス20A及び30Aは、LCD(Liquid crystal display)、又はOLED(Organic light-emitting diode)ディスプレイ等である。
ディスプレイデバイス20Aは、その表示面が第2の筐体502の内側の主面(前面)に位置するように配置されている。つまり、ディスプレイデバイス20Aは、開状態とされた端末500をユーザーが操作する際に当該ユーザーによって視認されるメインディスプレイである。一方、ディスプレイデバイス30Aは、その表示面が第2の筐体502の外側の主面(背面)に位置するように配置されたサブディスプレイである。
カメラデバイス20Bは、そのレンズユニットが第2の筐体502の外側の主面(背面)に位置するように配置されたメインカメラである。一方、カメラデバイス30Bは、そのレンズユニットが第2の筐体502の内側の主面(前面)に位置するように配置されたサブカメラである。
続いて、図2を参照して、本発明にかかる半導体装置が搭載される電子装置(無線通信端末)の構成について説明する。図2に示すように、電子装置600は、アプリケーションプロセッサ601、ベースバンドプロセッサ602、RF(Radio Frequency)サブシステム603、メモリ604、バッテリ605、パワーマネージメントIC(Integrated Circuit)606、表示部607、カメラ部608、操作入力部609、オーディオIC(610)、マイク611、スピーカ612を含む。
アプリケーションプロセッサ601は、メモリ604に格納されたプログラムを読み出して、電子装置600の各種機能を実現するための処理を行う。例えば、アプリケーションプロセッサ601は、メモリ604からOS(Operating System)プログラムを読み出し、このOSプログラムを実行する。
ベースバンドプロセッサ602は、電子端末が送受信するデータに対して符号化(例えば、畳み込み符号やターボ符号等の誤り訂正符号化)処理又は復号化処理等を含むベースバンド処理を行う。より具体的には、ベースバンドプロセッサ602は、送信データをアプリケーションプロセッサ601から受け取り、受け取った送信データに対して符号化処理を施して、RFサブシステム603に送信する。また、ベースバンドプロセッサ602は、RFサブシステム603から受信データを受け取り、受け取った受信データに対して復号化処理を施してアプリケーションプロセッサ601に送信する。
RFサブシステム603は、電子端末600が送受信するデータに対する変調処理又は復調処理を行う。より具体的には、RFサブシステム603は、ベースバンドプロセッサ602から受け取った送信データを搬送波により変調処理して送信信号を生成し、アンテナを介して送信信号を出力する。また、RFサブシステム603は、アンテナを介して受信信号を受信し、受信信号を搬送波により復調処理して受信データを生成し、当該受信データをベースバンドプロセッサ602に送信する。
メモリ604は、アプリケーションプロセッサ601により利用されるプログラム及びデータを格納する。また、メモリ604は、電源が遮断されても記憶したデータを保持する不揮発性メモリと、電源が遮断された場合に記憶したデータがクリアされる揮発性メモリを含む。
バッテリ605は、電池であり、電子装置600が外部電源によらずに動作する場合に利用される。なお、電子装置600は、外部電源が接続されている場合においてもバッテリ605の電源を利用しても良い。また、バッテリ605は、二次電池を利用することが好ましい。
パワーマネージメントIC(606)は、バッテリ605又は外部電源に基づき内部電源を生成する。この内部電源は、電子装置600の各ブロックに与えられる。このとき、パワーマネージメントIC(606)は、内部電源の供給を受けるブロック毎に内部電源の電圧を制御する。パワーマネージメントIC(606)は、アプリケーションプロセッサ601からの指示に基づき内部電源の電圧制御を行う。さらに、パワーマネージメントIC(606)は、ブロックごとに内部電源の供給と遮断とを制御することもできる。また、パワーマネージメントIC(606)は、外部電源の供給がある場合、バッテリ605への充電制御も行う。
表示部607は、例えば、液晶表示装置であって、アプリケーションプロセッサ601における処理に従い様々な画像を表示する。表示部607において表示される画像には、ユーザーが電子装置600に動作指示を与えるユーザーインタフェース画像、カメラ画像、動画等が表される。
カメラ部608は、アプリケーションプロセッサからの指示に従い、画像を取得する。操作入力部609は、ユーザーが操作して電子装置600に操作指示を与えるユーザーインタフェースである。オーディオIC(610)は、アプリケーションプロセッサ601から送信される音声データをデコードしてスピーカ612を駆動すると共に、マイク611から得た音声情報をエンコードして音声データを生成し、当該音声データをアプリケーションプロセッサ601に出力する。
(半導体装置の構成)
次に、本実施の形態にかかる半導体装置について説明する。
図3は、実施の形態1にかかる半導体装置1および電源供給装置2を含むシステムを示すブロック図である。ここで、図3に示す半導体装置1は、例えば図2に示すアプリケーションプロセッサ601に対応し、図3に示す電源供給装置2は図2に示すパワーマネージメントIC(606)に対応している。
図3に示す半導体装置1は、DSP(Digital Signal Processing)3、CPU(4)、マルチメディア回路5、内部電源制御回路8、クロック制御回路9、クロック生成回路10、および通知信号生成回路11を有する。ここで、DSP(3)、CPU(4)、およびマルチメディア回路5は、所定の機能を有する回路である。また、半導体装置1は、例えばSoCである。
DSP(3)は、デジタル信号を処理するためのプロセッサである。DSP(3)は、特定の演算処理を高速に実施するためのプロセッサであり、例えば携帯電話に搭載されている場合は、音声信号の変調や復調等の処理に用いられる。DSP(3)には、電源供給装置2から端子17を介して高電位側の電源電圧が供給される。また、DSP(3)は、スイッチであるトランジスタTr1を介して低電位側の電源(例えば、グランド)に接続されている。すなわち、トランジスタTr1がオン状態(導通状態)となった場合、DSP(3)に電源が供給される。DSP(3)に供給される電源のオン・オフ、つまりトランジスタTr1のオン・オフは、内部電源制御回路8から出力される制御信号CTR_DSPによって制御される。DSP(3)にはクロック生成回路10から出力されたクロック信号CLK_DSPが供給される。DSP(3)は内部バスA(12)と接続されており、内部バスA(12)や他の内部バス(内部バスB、C等)を介して、他の回路にデータを出力し、また他の回路からデータを受け取ることができる。なお、内部バスA(12)には、クロック生成回路10から出力されたクロック信号CLK_BUS_Aが供給される。
CPU(4)は、様々な演算処理を実施するためのプロセッサである。CPU(4)には、電源供給装置2から端子17を介して高電位側の電源電圧が供給される。また、CPU(4)は、スイッチであるトランジスタTr2を介して低電位側の電源に接続されている。すなわち、トランジスタTr2がオン状態(導通状態)となった場合、CPU(4)に電源が供給される。CPU(4)に供給される電源のオン・オフ、つまりトランジスタTr2のオン・オフは、内部電源制御回路8から出力される制御信号CTR_CPUによって制御される。CPU(4)にはクロック生成回路10から出力されたクロック信号CLK_CPUが供給される。CPU(4)は内部バスA(12)と接続されており、内部バスA(12)や他の内部バス(内部バスB、C等)を介して、他の回路にデータを出力し、また他の回路からデータを受け取ることができる。
マルチメディア回路5は、画像処理等に用いられる回路であり、マルチメディアCPU(6)とマルチメディアモジュール7とを備える。マルチメディア回路5(つまり、マルチメディアCPU(6)とマルチメディアモジュール7とを含む電源供給領域)には、電源供給装置2から端子17を介して高電位側の電源電圧が供給される。また、マルチメディア回路5は、スイッチであるトランジスタTr3を介して低電位側の電源に接続されている。すなわち、トランジスタTr3がオン状態(導通状態)となった場合、マルチメディア回路5に電源が供給される。マルチメディア回路5に供給される電源のオン・オフ、つまりトランジスタTr3のオン・オフは、内部電源制御回路8から出力される制御信号CTR_MMによって制御される。
マルチメディアCPU(6)には、クロック生成回路10から出力されたクロック信号CLK_MM_CPUが供給される。マルチメディアモジュール7には、クロック生成回路10から出力されたクロック信号CLK_MM_Mが供給される。また、マルチメディアCPU(6)およびマルチメディアモジュール7は、内部バスB(13)を介して互いに接続されている。内部バスB(13)は、バスブリッジ35を介して内部バスA(12)と接続されている。マルチメディアCPU(6)とマルチメディアモジュール7は、内部バスB(13)や他の内部バス(内部バスA、C等)を介して、他の回路にデータを出力し、また他の回路からデータを受け取ることができる。なお、内部バスB(13)には、クロック生成回路10から出力されたクロック信号CLK_BUS_Bが供給される。
CPU周辺回路15は、CPU(4)により利用される回路である。CPU周辺回路15としては、例えば、タイマユニット、ウォッチドッグタイマユニット、DMA(Direct Memory Access)ユニット、低電圧検出ユニット、パワーオンリセット(POR)ユニット等が挙げられる。CPU周辺回路15は、内部バスC(14)と接続されている。CPU周辺回路15がCPU(4)に割り込み要求をする場合、CPU周辺回路15は割り込み制御回路16に割り込み信号IP_INTRを出力する。
割り込み制御回路16は、外部から端子18を介して供給された割り込み信号TML_INTRと、CPU周辺回路15から出力された割り込み信号IP_INTRとを入力し、CPU(4)、内部電源制御回路8、およびクロック制御回路9に割り込み信号INTRを出力する。つまり、割り込み制御回路16は、割り込み信号TML_INTRおよび割り込み信号IP_INTRの少なくとも一方が供給されたタイミングで、CPU(4)、内部電源制御回路8、およびクロック制御回路9に割り込み信号INTRを出力する。CPU(4)に割り込み信号INTRが供給されると、CPU(4)に電源およびクロック信号が供給される。
内部電源制御回路(電源制御回路)8は、半導体装置1が備えるDSP(3)、CPU(4)、およびマルチメディア回路5の電源のオン・オフを制御するための回路である。内部電源制御回路8は、内部バスC(14)と接続されている。また、内部バスC(14)は内部バスA(12)と接続されている。なお、内部バスC(14)には、クロック生成回路10から出力されたクロック信号CLK_BUS_Cが供給される。
図4は、本実施の形態にかかる半導体装置1が備える内部電源制御回路8、クロック制御回路9、クロック生成回路10、および通知信号生成回路11の詳細を示すブロック図である。図4に示すように、内部電源制御回路8はレジスタ31とステートマシン(PWR)32(第2のステートマシン)とを備える。ステートマシン(PWR)32は、レジスタ31に設定された命令またはCPU割り込み信号INTRに応じて、DSP(3)、CPU(4)、およびマルチメディア回路5それぞれの電源のオン・オフを制御する。レジスタ31に命令を設定する際は、例えば、CPU(4)が内部バスA(12)および内部バスC(14)を介してレジスタ31に命令を書き込む。レジスタ31は設定された命令に応じて、DSP(3)、CPU(4)、およびマルチメディア回路5の電源を制御するための状態設定信号SET_STATEをステートマシン(PWR)32に出力する。
ステートマシン(PWR)32は、DSP(3)の電源を制御する際に、制御信号CTR_DSPおよび電源リセット信号RESET_DSPをDSP(3)に出力し、クロック要求信号CLK_REQ_DSPをクロック制御回路9に出力する。また、ステートマシン(PWR)32は、CPU(4)の電源を制御する際に、制御信号CTR_CPUおよび電源リセット信号RESET_CPUをCPU(4)に出力し、クロック要求信号CLK_REQ_CPUをクロック制御回路9に出力する。また、ステートマシン(PWR)32は、マルチメディア回路5の電源を制御する際に、制御信号CTR_MMおよび電源リセット信号RESET_MMをマルチメディア回路5に出力し、クロック要求信号CLK_REQ_MMをクロック制御回路9に出力する。
更に、ステートマシン(PWR)32は、ステートマシン(PWR)32がDSP(3)に対して電源供給処理を実施している期間を示す信号PRD_DSP_ON、ステートマシン(PWR)32がCPU(4)に対して電源供給処理を実施している期間を示す信号PRD_CPU_ON、およびステートマシン(PWR)32がマルチメディア回路5に対して電源供給処理を実施している期間を示す信号PRD_MM_ONを、通知信号生成回路11に出力する。
ステートマシン(PWR)32は、DSP(3)、CPU(4)、およびマルチメディア回路5の電源のオン・オフを制御するために、電源供給処理、電源停止処理、アイドル状態の3つの状態をとることができる。例えば、CPU(4)の電源をオン状態とする場合は、アイドル状態→CPU電源供給処理→アイドル状態の順に遷移する。一方、CPU(4)の電源をオフ状態とする場合は、アイドル状態→CPU電源停止処理→アイドル状態の順に遷移する。
具体的に説明すると、例えば、CPU(4)の電源をオン状態とする場合、ステートマシン(PWR)32はアイドル状態からCPU電源供給処理状態へと遷移し、CPU電源供給処理を実施する(図12のタイミングチャート参照)。このとき、ステートマシン(PWR)32は、CPU(4)にクロック信号CLK_CPUが供給されるように、クロック要求信号CLK_REQ_CPUをクロック制御回路9に出力する。また、ステートマシン(PWR)32は、CPU(4)の電源をオン状態とするために、CPU(4)と接続されているトランジスタTr2のゲートに制御信号CTR_CPUを出力する。更に、ステートマシン(PWR)32は、CPU(4)に電源リセット信号RESET_CPUをアサートする。
そして、CPU(4)に供給されるクロック信号が安定したタイミングで、ステートマシン(PWR)32はCPU(4)にアサートされていた電源リセット信号RESET_CPUを解除する(つまり、ロウレベルにする)。電源リセット信号RESET_CPUがロウレベルになると、ステートマシン(PWR)32は再びアイドル状態となる。このとき、CPU(4)には電源電圧およびクロック信号CLK_CPUが供給されている。また、ステートマシン(PWR)32がCPU(4)に対して電源供給処理を実施している間、ステートマシン(PWR)32は通知信号生成回路11に電源供給処理の期間を示す信号PRD_CPU_ONを出力する。
なお、DSP(3)およびマルチメディア回路5の電源をオン状態とする場合についても上記処理と同様である。
クロック制御回路9は、クロック生成回路10を制御するための回路である。クロック制御回路9は、内部バスC(14)と接続されている。図4に示すように、クロック制御回路9は、レジスタ41〜43と、ステートマシン(CLK)44(第1のステートマシン)とを備える。ステートマシン(CLK)44は、レジスタ41に格納されているPLL設定信号SET_PLL、レジスタ42に格納されている分周器設定信号SET_DIV、レジスタ43に格納されている停止設定信号SET_STP、CPU割り込み信号INTR、および内部電源制御回路8から出力されたクロック要求信号CLK_REQ_DSP、CLK_REQ_CPU、CLK_REQ_MMを入力する。
例えば、レジスタ41〜43に格納されているPLL設定信号SET_PLL、分周器設定信号SET_DIV、および停止設定信号SET_STPはそれぞれ、CPU(4)が内部バスA(12)および内部バスC(14)を介してレジスタ41〜43にアクセスすることで書き込むことができる。ここで、PLL設定信号SET_PLLは、PLL回路51のオン・オフを設定するための信号である。分周器設定信号SET_DIVは、分周器53の分周比を設定するための信号である。停止設定信号SET_STPは、DSP(3)、CPU(4)、マルチメディア回路5、および内部バス12〜14へのクロック信号の供給/停止を設定するための信号である。
また、ステートマシン(CLK)44は、PLL回路51にPLL制御信号CTR_PLLを出力し、セレクタ52にクロック選択信号SEL_CLKを出力し、分周器53に分周制御信号CTR_DIVを出力し、停止制御回路54に停止制御信号CTR_STPを出力する。
ステートマシン(CLK)44は、DSP(3)、CPU(4)、およびマルチメディア回路5や各内部バス12〜14に供給されるクロック信号を制御するために、クロック周波数変更処理、クロック供給処理、クロック停止処理、アイドル状態の4つの状態をとることができる。例えば、クロック生成回路10から出力されるクロック信号の周波数を変更する場合、ステートマシン(CLK)44は、アイドル状態→クロック周波数変更処理→アイドル状態の順に遷移する。また、クロック生成回路10からクロック信号を出力する場合、ステートマシン(CLK)44は、アイドル状態→クロック供給処理→アイドル状態の順に遷移する。一方、クロック生成回路10から出力されるクロック信号を停止する場合(クロック生成回路10で生成されたクロック信号を停止制御回路54を用いて停止する場合)、ステートマシン(CLK)44は、アイドル状態→クロック停止処理→アイドル状態の順に遷移する。
ステートマシン(CLK)44は、ステートマシン(CLK)44がクロック周波数変更処理を実施している期間を示す信号PRD_FRQを通知信号生成回路11に出力する。また、ステートマシン(CLK)44は、ステートマシン(CLK)44がクロック供給処理を実施している期間を示す信号PRD_CLKを通知信号生成回路11に出力する。
クロック生成回路10は、半導体装置1が備えるDSP(3)、CPU(4)、マルチメディア回路5、および各内部バス12〜14に供給されるクロック信号を生成するための回路である。図4に示すように、クロック生成回路10は、PLL回路51、セレクタ52、分周器53、および停止制御回路54を有する。
PLL回路51は、外部の発振回路等から出力された入力クロック信号CLK_INを端子19を介して入力する。PLL回路51のオン・オフは、クロック制御回路9から出力されたPLL制御信号CTR_PLLに基づき制御される。PLL制御信号CTR_PLLがハイレベルの場合、PLL回路51はオン状態となり、所定の周波数の信号を生成し、生成された信号をセレクタ52に出力する。一方、PLL制御信号CTR_PLLがロウレベルの場合、PLL回路51はオフ状態となる。また、PLL回路51のオン・オフは、レジスタ41から出力されるPLL設定信号SET_PLLに基づき設定される。
セレクタ52は、クロック選択信号SEL_CLKに応じてPLL回路51の出力または入力クロック信号CLK_INを選択し、選択された信号を信号CLK_DIV_INとして分周器53に出力する。
分周器53は、分周制御信号CTR_DIVに応じて信号CLK_DIV_INを分周し、分周後の信号を停止制御回路54に出力する。分周器53の分周比は、レジスタ42から出力される分周器設定信号SET_DIVに基づき設定される。
停止制御回路54は、停止制御信号CTR_STPに応じて、分周器53から出力されたクロック信号を、DSP(3)、CPU(4)、マルチメディア回路5、および各内部バス12〜14に供給するか否かを制御する回路である。各回路3〜5および各内部バス12〜14へのクロック信号の供給/停止は、レジスタ43から出力される停止設定信号SET_STPを用いて設定される。なお、クロック生成回路10の停止制御回路54から出力されるクロック信号を内部クロック信号ともいう。また、DSP(3)、CPU(4)、マルチメディア回路5、および各内部バス12〜14を含む回路を、以下では半導体装置1の内部回路ともいう。
通知信号生成回路11は、通知信号NTC_SIGを生成する。通知信号NTC_SIGは、クロック制御回路9がクロック生成回路10を制御するタイミングを通知する信号である。また、通知信号NTC_SIGは、内部電源制御回路8における制御のタイミングを通知する信号である。
すなわち、通知信号生成回路11は、内部電源制御回路8から出力された信号PRD_DSP_ON、PRD_CPU_ON、PRD_MM_ONと、クロック制御回路9から出力された信号PRD_CLK、PRD_FRQに基づき、通知信号NTC_SIGを生成し、生成された通知信号NTC_SIGを端子20に出力する。図5は、通知信号生成回路11の詳細を示すブロック図である。図5に示すように、通知信号生成回路11は、レジスタ60、AND1〜AND5、およびOR1を備える。
AND1の一方の入力にはレジスタ60から出力された信号が供給され、他方の入力には内部電源制御回路8から出力された信号PRD_DSP_ONが供給され、AND1の出力はOR1に供給される。AND2の一方の入力にはレジスタ60から出力された信号が供給され、他方の入力には内部電源制御回路8から出力された信号PRD_CPU_ONが供給され、AND2の出力はOR1に供給される。AND3の一方の入力にはレジスタ60から出力された信号が供給され、他方の入力には内部電源制御回路8から出力された信号PRD_MM_ONが供給され、AND3の出力はOR1に供給される。AND4の一方の入力にはレジスタ60から出力された信号が供給され、他方の入力にはクロック制御回路9から出力された信号PRD_FRQが供給され、AND4の出力はOR1に供給される。AND5の一方の入力にはレジスタ60から出力された信号が供給され、他方の入力にはクロック制御回路9から出力された信号PRD_CLKが供給され、AND5の出力はOR1に供給される。OR1はAND1〜AND5から出力された信号の論理和を、通知信号NTC_SIGとして出力する。
レジスタ60には、AND1〜AND5が通知信号NTC_SIGに対応する信号を出力することを許可するか否かに関する情報が格納されている。例えば、内部電源制御回路8のステートマシン(PWR)32は、ステートマシン(PWR)32がDSP(3)に対して電源供給処理を実施している期間、信号PRD_DSP_ONとして活性状態の信号(典型的にはハイレベルの信号。以下では、ハイレベルの信号を活性状態の信号として説明する。)をAND1の他方の入力に出力する。そして、AND1が通知信号NTC_SIGに対応する信号を出力することが許可されている場合、AND1の一方の入力にハイレベルの信号が供給されるようにレジスタ60を設定する。この場合、AND1は、信号PRD_DSP_ONがハイレベルの間、ハイレベルの信号をOR1に出力する。このとき、OR1からハイレベルの通知信号NTC_SIGが出力される。
一方、AND1が通知信号NTC_SIGに対応する信号を出力することが許可されていない場合、AND1の一方の入力にロウレベルの信号が供給されるようにレジスタ60を設定する。この場合、AND1は、信号PRD_DSP_ONがハイレベルであっても、ロウレベルの信号をOR1に出力する。よって、AND1からは通知信号NTC_SIGに対応する信号は出力されない。AND2〜AND5についてもAND1と同様である。
つまり、レジスタ60とAND1〜AND5を設けることで、信号PRD_DSP_ON、PRD_CPU_ON、PRD_MM_ON、PRD_FRQ、PRD_CLKの中から、通知信号NTC_SIGを生成するための要因として使用する信号を選択することができる。AND1〜AND5が通知信号NTC_SIGに対応する信号を出力することを許可するか否かに関する情報は、例えば、CPU(4)が内部バスA(12)および内部バスC(14)を介してレジスタ60にアクセスすることで書き込むことができる。
(電源供給装置)
次に、電源供給装置2について説明する。電源供給装置2は、レギュレータ21と電圧設定回路22とを有する。電源供給装置2は、例えば電源用のLSIである。レギュレータ21は、電圧設定回路22から出力された制御信号に応じて、端子24に出力する電圧を調整することができる。レギュレータ21から出力された電源は、端子24を介して半導体装置1の端子17(VDD_IN)に供給される。
電圧設定回路22は、半導体装置1の端子20から端子23に供給された通知信号NTC_SIGに応じて、レギュレータ21から出力される電圧を調整する。具体的には、電圧設定回路22は、通知信号NTC_SIGがロウレベルの場合は、レギュレータ21から通常設定された電圧が出力されるように、レギュレータ21の電圧を設定する。一方、通知信号NTC_SIGがハイレベルの場合(つまり半導体装置1において動作電流が増加する期間を含む期間)、レギュレータ21から出力される電圧が通常設定された電圧よりも高い電圧となるように、レギュレータ21の電圧を設定する。例えば、電圧設定回路22は、通知信号NTC_SIGがハイレベルとなる期間において、半導体装置1が正常に動作する程度の高い電圧をレギュレータ21が出力するように、レギュレータ21の電圧を設定する。また、半導体装置1の端子17と電源供給装置2の端子24との間には、バイパスコンデンサC1が設けられている。
なお、半導体装置1と電源供給装置2は同一チップに形成してもよく、また別チップに形成してもよい。半導体装置1と電源供給装置2とが別チップに形成されている場合は、半導体チップ(半導体装置1)の端子20は、外部のチップ(電源供給装置2)と接続するための外部端子となる。
(半導体装置の動作例A)
次に、本実施の形態にかかる半導体装置1の動作の一例について説明する。図6は本実施の形態にかかる半導体装置1の動作を示すタイミングチャートである。図6に示すタイミングチャートは、半導体装置1の内部クロック信号が低速から高速に変化する場合を示している。
タイミングt1よりも前においては、クロック制御回路9のレジスタ41からロウレベルのPLL設定信号SET_PLLが出力されている。このとき、PLL制御信号CTR_PLLはロウレベルであるので、クロック生成回路10のPLL回路51はオフ状態となっている。また、セレクタ52は、クロック選択信号SEL_CLKがロウレベルであるので、入力クロック信号CLK_INを選択し、入力クロック信号CLK_INを分周器入力クロック信号CLK_DIV_INとして分周器53に出力している。分周器53は、分周器入力クロック信号CLK_DIV_INを分周する(例えば、分周比を2とする)。そして、分周後の信号は、内部クロック信号として半導体装置1の内部回路に供給されている。図6に示す例では、例えばCPU(4)の電源がオン状態であり、DSP(3)およびマルチメディア回路5がオフ状態であるものとする。なお、この場合、内部クロック信号は低速であるので、半導体装置1はスリープ状態となっている。
その後、クロック制御回路9のレジスタ41に、内部クロック信号を低速から高速に切り替える命令が書き込まれると、タイミングt1において、レジスタ41はステートマシン(CLK)44にハイレベルのPLL設定信号SET_PLLを出力する。
ハイレベルのPLL設定信号SET_PLLが供給されたステートマシン(CLK)44は、タイミングt2において、アイドル状態からクロック周波数変更処理へと遷移する。このとき、ステートマシン(CLK)44は、クロック周波数変更処理を実施している期間を示すハイレベルの信号PRD_FRQを通知信号生成回路11に出力する。ハイレベルの信号PRD_FRQが供給された通知信号生成回路11は、ハイレベルの通知信号NTC_SIGを端子20に出力する。このとき、図5に示すAND4の一方の入力には、レジスタ60からハイレベルの信号が供給されている。
端子20に出力されたハイレベルの通知信号NTC_SIGは、電源供給装置2の端子23を介して電圧設定回路22に供給される。そして、電圧設定回路22は、タイミングt3において、レギュレータ21から出力される電圧が通常設定された電圧よりも高い電圧となるように、レギュレータ21の電圧を設定する。これにより、半導体装置1の入力電圧VDD_INが増加する。このとき、電圧設定回路22は、内部クロック信号が低速から高速に変化した際に生じる半導体装置1の電圧降下時の内部電圧が、半導体装置1の最低動作電圧Vminよりも高い電圧となるように、レギュレータ21の電圧を設定する。ここで、半導体装置1の最低動作電圧Vminとは、半導体装置1の内部回路を構成する素子(例えば、トランジスタ)が正常に動作する電圧の最小値である。
タイミングt2においてアイドル状態からクロック周波数変更処理へと遷移したステートマシン(CLK)44は、クロック周波数変更処理を実施するために、PLL回路51にハイレベルのPLL制御信号CTR_PLLを出力する。これにより、PLL回路51はオン状態となる。そして、PLL回路51がオン状態となってから所定の時間が経過し、PLL回路51が安定状態となったタイミングt4において、ステートマシン(CLK)44はセレクタ52にハイレベルのクロック選択信号SEL_CLKを出力する。ハイレベルのクロック選択信号SEL_CLKが供給されたセレクタ52は、PLL回路51の出力を選択する。
その後、タイミングt5において、半導体装置1の内部クロック信号が高速のクロック信号(所定の周波数よりも高いクロック信号)となる。半導体装置1の内部クロック信号が高速のクロック信号となることで、半導体装置1の動作電流(図6の例では、CPU(4)における動作電流)が増加する。この動作電流の増加により、半導体装置1の内部電圧(図6の例では、CPU(4)における電源電圧VDD_CPU)が低下する。しかし、このとき半導体装置1の入力電圧VDD_INは、通常設定されている電圧よりも高い電圧に設定されているので、半導体装置1の内部電圧VDD_CPUが半導体装置1の最低動作電圧Vmin以下とはならない。よって、半導体装置1は正常に動作することができる。
タイミングt6において、ステートマシン(CLK)44のクロック周波数変更処理が終了し、ステートマシン(CLK)44はアイドル状態となる。このとき、ステートマシン(CLK)44は、クロック周波数変更処理が終了したので、ロウレベルの信号PRD_FRQを通知信号生成回路11に出力する。ロウレベルの信号PRD_FRQが供給された通知信号生成回路11は、ロウレベルの通知信号NTC_SIGを端子20に出力する。
通知信号NTC_SIGがロウレベルとなったので、電源供給装置2の電圧設定回路22は、タイミングt7において、レギュレータ21から出力される電圧が通常設定された電圧となるように、レギュレータ21の電圧を設定する。これにより、半導体装置1の入力電圧VDD_INが通常の電圧となる。
(半導体装置の動作例B)
続いて、本実施の形態にかかる半導体装置1の動作の他の例について説明する。図7は本実施の形態にかかる半導体装置の動作を示すタイミングチャートである。図7に示すタイミングチャートは、半導体装置1の内部クロック信号が停止状態から供給状態に復帰する場合を示している。なお、この場合、タイミングt11よりも前の初期状態において、PLL回路51がオン状態となっており、セレクタ52がPLL回路51の出力を選択し、分周器53が停止制御回路54に高速のクロック信号を出力している。しかし、停止制御信号CTR_STPはロウレベルであるので、停止制御回路54は、半導体装置1の内部回路に分周器53から出力されたクロック信号を供給していない。よって、初期状態においてPLL回路51はオン状態であるが、CPU(4)には内部クロック信号が供給されていないので、CPU(4)はスリープ状態となっている。
タイミングt11においてCPU割り込み信号INTRがハイレベルになると、ステートマシン(CLK)44は、タイミングt12において、アイドル状態からクロック供給処理へと遷移する。このとき、ステートマシン(CLK)44は、クロック供給処理を実施している期間を示すハイレベルの信号PRD_CLKを通知信号生成回路11に出力する。ハイレベルの信号PRD_CLKが供給された通知信号生成回路11は、ハイレベルの通知信号NTC_SIGを端子20に出力する。このとき、図5に示すAND5の一方の入力には、レジスタ60からハイレベルの信号が供給されている。
端子20に出力されたハイレベルの通知信号NTC_SIGは、電源供給装置2の端子23を介して電圧設定回路22に供給される。そして、電圧設定回路22は、タイミングt13において、レギュレータ21から出力される電圧が通常設定された電圧よりも高い電圧となるように、レギュレータ21の電圧を設定する。これにより、半導体装置1の入力電圧VDD_INが増加する。
そして、ステートマシン(CLK)44は、クロック供給処理を実施するために、タイミングt14において、クロック生成回路10の停止制御回路54にハイレベルの停止制御信号CTR_STPを出力する。停止制御信号CTR_STPがハイレベルになると、停止制御回路54は、タイミングt15において、分周器53から出力された内部クロック信号をCPU(4)を含む半導体装置1の内部回路に供給する。CPU(4)に内部クロック信号が供給されると、CPU(4)の動作電流が増加する。この動作電流の増加により、CPU(4)の内部電圧VDD_CPUが低下する。しかし、このとき半導体装置1の入力電圧VDD_INは、通常設定されている電圧よりも高い電圧に設定されているので、CPU(4)の内部電圧VDD_CPUがCPU(4)の最低動作電圧Vmin以下とはならない。よって、CPU(4)は正常に動作することができる。
タイミングt16において、ステートマシン(CLK)44のクロック供給処理が終了し、ステートマシン(CLK)44はアイドル状態となる。このとき、ステートマシン(CLK)44は、クロック供給処理が終了したので、ロウレベルの信号PRD_CLKを通知信号生成回路11に出力する。ロウレベルの信号PRD_CLKが供給された通知信号生成回路11は、ロウレベルの通知信号NTC_SIGを端子20に出力する。
通知信号NTC_SIGがロウレベルとなったので、電源供給装置2の電圧設定回路22は、タイミングt17において、レギュレータ21から出力される電圧が通常設定された電圧となるように、レギュレータ21の電圧を設定する。これにより、半導体装置1の入力電圧VDD_INが通常の電圧となる。
(比較例A)
次に、本実施の形態にかかる発明の比較例について説明する。図8は、半導体装置および電源供給装置を含むシステムの比較例を示すブロック図である。図9は、図8に示した半導体装置101が備える内部電源制御回路8、クロック制御回路9、およびクロック生成回路10の詳細を示すブロック図である。図8および図9に示した半導体装置101および電源供給装置102を含むシステムは、通知信号生成回路11を備えていない点、および電圧設定回路22が通知信号NTC_SIGに基づきレギュレータ21の電圧を設定しない点が、図3に示した本実施の形態にかかる半導体装置1および電源供給装置2を含むシステムと異なる。これ以外は、図3に示した半導体装置1および電源供給装置2を含むシステムと同様であるので、同一の構成要素には同一の符号を付し、重複した説明は省略する。すなわち、図8に示した半導体装置101は、通知信号生成回路11を備えていないので、半導体装置101において内部電圧が増加することを通知する通知信号NTC_SIGを生成することができない。
まず、本実施の形態にかかる発明の比較例として、図8に示した半導体装置101の動作の一例について説明する。図10は、図8に示した半導体装置101の動作を示すタイミングチャートである。図10に示すタイミングチャートは、半導体装置101の内部クロック信号が低速から高速に変化する場合を示している。なお、図10に示すタイミングチャートは、図6に示したタイミングチャートに対応しており、通知信号NTC_SIGが生成されない点、および入力電圧VDD_INが通常設定されている電圧よりも高い電圧に設定されない点が、図6に示したタイミングチャートと異なっている。
図10に示すタイミングt101よりも前においては、図6に示した場合と同様に、PLL制御信号CTR_PLLがロウレベルであるので、クロック生成回路10のPLL回路51はオフ状態となっている。また、セレクタ52は、クロック選択信号SEL_CLKがロウレベルであるので、入力クロック信号CLK_INを選択し、入力クロック信号CLK_INを分周器入力クロック信号CLK_DIV_INとして分周器53に出力している。分周器53は、分周器入力クロック信号CLK_DIV_INを分周する(例えば、分周比を2とする)。そして、分周後の信号は、内部クロック信号として半導体装置101の内部回路に供給されている。なお、この場合、内部クロック信号は低速であるので、半導体装置101はスリープ状態となっている。
そして、タイミングt101において、レジスタ41はステートマシン(CLK)44にハイレベルのPLL設定信号SET_PLLを出力する。ステートマシン(CLK)44は、タイミングt102において、アイドル状態からクロック周波数変更処理へと遷移する。クロック周波数変更処理へと遷移したステートマシン(CLK)44は、クロック周波数変更処理を実施するために、PLL回路51にハイレベルのPLL制御信号CTR_PLLを出力する。これにより、PLL回路51はオン状態となる。そして、PLL回路51がオン状態となってから所定の時間が経過し、PLL回路51が安定状態となったタイミングt103において、ステートマシン(CLK)44はセレクタ52にハイレベルのクロック選択信号SEL_CLKを出力する。ハイレベルのクロック選択信号SEL_CLKが供給されたセレクタ52は、PLL回路51の出力を選択する。
その後、タイミングt104において、半導体装置101の内部クロック信号が高速のクロック信号となる。半導体装置101の内部クロック信号が高速のクロック信号となることで、CPU(4)における動作電流が増加する。この動作電流の増加により、CPU(4)の内部電圧VDD_CPUが低下する。このため、CPU(4)の内部電圧VDD_CPUが一時的にCPU(4)の最低動作電圧Vmin以下となり、CPU(4)の動作が不安定となる。
その後、タイミングt105において、ステートマシン(CLK)44のクロック周波数変更処理が終了し、ステートマシン(CLK)44はアイドル状態となる。
(比較例B)
続いて、本実施の形態にかかる発明の比較例として、図8に示した半導体装置101の動作の他の例について説明する。図11は、図8に示した半導体装置101の動作を示すタイミングチャートである。図11に示すタイミングチャートは、半導体装置101の内部クロック信号が停止状態から供給状態に復帰する場合を示している。なお、図11に示すタイミングチャートは、図7に示したタイミングチャートに対応しており、通知信号NTC_SIGが生成されない点、および入力電圧VDD_INが通常設定されている電圧よりも高い電圧に設定されない点が、図7に示したタイミングチャートと異なっている。
図11に示す例では、タイミングt111よりも前の初期状態において、PLL回路51がオン状態となっており、セレクタ52がPLL回路51の出力を選択し、分周器53が停止制御回路54に高速のクロック信号を出力している。しかし、停止制御信号CTR_STPはロウレベルであるので、停止制御回路54は、半導体装置101の内部回路に分周器53から出力されたクロック信号を供給していない。よって、初期状態ではPLL回路51はオン状態であるが、CPU(4)には内部クロック信号が供給されていないので、CPU(4)はスリープ状態となっている。
タイミングt111においてCPU割り込み信号INTRがハイレベルになると、ステートマシン(CLK)44は、タイミングt112において、アイドル状態からクロック供給処理へと遷移する。そして、タイミングt113において、ステートマシン(CLK)44は、クロック供給処理を実施するために、クロック生成回路10の停止制御回路54にハイレベルの停止制御信号CTR_STPを出力する。
停止制御信号CTR_STPがハイレベルとなると、停止制御回路54は、タイミングt114において、分周器53から出力された内部クロック信号をCPU(4)を含む半導体装置101の内部回路に供給する。CPU(4)に内部クロック信号が供給されると、CPU(4)の動作電流が増加する。この動作電流の増加により、CPU(4)の内部電圧VDD_CPUが低下する。このため、CPU(4)の内部電圧VDD_CPUが一時的にCPU(4)の最低動作電圧Vmin以下となり、CPU(4)の動作が不安定となる。
その後、タイミングt115において、ステートマシン(CLK)44のクロック供給処理が終了し、ステートマシン(CLK)44はアイドル状態となる。
図8に示した半導体装置101および電源供給装置102を含むシステムでは、半導体装置101における急激な動作電流の上昇に対して、例えば端子17と端子24との間にバイパスコンデンサC1を設けることで、対応することができる。しかしながら、図8に示した半導体装置101では、半導体装置101の内部回路における抵抗成分やインダクタンス成分の影響(特に、DSP(3)、CPU(4)、およびマルチメディア回路5のそれぞれと、端子17との間の配線における抵抗成分やインダクタンス成分の影響)により、急激に動作電流が上昇した後、電力供給量を増加させるまでに遅延が生じるという問題があった。
また、半導体装置101における急激な動作電流の上昇に対して、例えば半導体装置101における急激な動作電流の上昇を検出した後、電源供給装置102の電力供給を増加させることで、一時的に電流供給量を増加させて対応することができる。すなわち、電源供給装置に、電流供給能力が小さく電源供給装置自体の消費電力も小さい第1の動作状態と、電流供給能力が大きく電源供給装置自体の電力消費も前者に比べると大きい第2の動作状態とを設け、半導体装置において動作電流が増加した際に、第1の動作状態から第2の動作状態に自動的に切り替えることもできる。
しかしながら、電源供給装置が第1の動作状態から第2の動作状態に遷移するのは、半導体装置において動作電流が増加したことを検出した後となる。このため、動作電流の検出に時間がかかる場合や、検出後に電源供給装置から半導体装置に電力を供給するまでに時間がかかる場合は、半導体装置への電力供給が間に合わないという問題があった。
このように、半導体装置において動作電流が急激に増加した場合、半導体装置への電力供給量を所定の時間内に増加させないと、半導体装置の内部回路における電圧降下が大きくなる。そして、この電圧降下により半導体装置の入力電圧がトランジスタの最低動作電圧Vminよりも低くなると、半導体装置が誤動作するという問題があった。
これに対して本実施の形態にかかる半導体装置1では、通知信号生成回路11を設け、半導体装置1の内部回路において動作電流が増加することを通知する通知信号NTC_SIGを生成している。このため、半導体装置1の内部回路において動作電流が増加することを事前に検知することができる。よって、半導体装置1の動作電流が急激に上昇した場合であっても、半導体装置1に供給される電力を、遅延することなく増加させることができる。また、通知信号NTC_SIGを端子20から出力することで、外部に設けられた電源供給装置2に対して、半導体装置1における動作電流の増加を通知することができる。また、電源供給装置2に電圧設定回路22を設け、当該電圧設定回路22を用いて、通知信号NTC_SIGが活性状態の間、レギュレータ21の電圧を高く設定することで、半導体装置1の入力電圧を必要な時にだけ高くすることができる。
また、本実施の形態にかかる半導体装置1の通知信号生成回路11は、クロック制御回路9のステートマシン(CLK)44の処理に応じて通知信号NTC_SIGを生成することができる。すなわち、ステートマシン(CLK)44のクロック周波数変更処理(半導体装置1の内部クロック信号を低速から高速に変化させる処理)、クロック供給処理(半導体装置1への内部クロック信号の供給を開始する処理)と同期して、活性状態の通知信号NTC_SIGを生成することができる。このように、ステートマシン(CLK)44の処理に応じて活性状態の通知信号NTC_SIGを生成することで、通知信号NTC_SIGを正確かつ容易に生成することができる。
以上で説明した本実施の形態にかかる発明により、安定した動作を実現可能な半導体装置および当該半導体装置を含むシステムを提供することができる。
<実施の形態2>
次に、本発明の実施の形態2について説明する。実施の形態1では、半導体装置1のクロック制御回路9を用いて、内部クロック信号の供給を制御している場合の動作について説明した(図6、図7参照)。本実施の形態では、半導体装置1のクロック制御回路9を用いて内部クロック信号の供給を制御すると共に、内部電源制御回路8を用いてDSP(3)、CPU(4)、マルチメディア回路5の電源を制御する場合について説明する。なお、本実施の形態で用いられる半導体装置および電源供給装置を含むシステムは、実施の形態1で説明した半導体装置1および電源供給装置2を含むシステム(図3〜図5)と同様であるので、重複した説明は省略する。
(半導体装置の動作例C)
本実施の形態にかかる半導体装置1の動作の一例について説明する。図12は本実施の形態にかかる半導体装置の動作を示すタイミングチャートである。図12に示すタイミングチャートは、内部電源制御回路8がCPU(4)の電源をオン状態とし、更にクロック制御回路9が内部クロック信号を停止状態から供給状態にする場合を示している。
タイミングt21よりも前の初期状態では、PLL回路51はオン状態となっており、セレクタ52はPLL回路51の出力を選択し、分周器53は停止制御回路54に高速のクロック信号を出力している。しかし、停止制御信号CTR_STPがロウレベルであるので、停止制御回路54は、半導体装置1の内部回路に分周器53から出力されたクロック信号を供給していない。
タイミングt21においてCPU割り込み信号INTRがハイレベルになると、ステートマシン(CLK)44は、タイミングt22において、アイドル状態からクロック供給処理へと遷移する。このとき、ステートマシン(CLK)44は、クロック供給処理を実施している期間を示すハイレベルの信号PRD_CLKを通知信号生成回路11に出力する。また、タイミングt21においてCPU割り込み信号INTRがハイレベルになると、ステートマシン(PWR)32は、タイミングt22において、アイドル状態から電源供給処理へと遷移する。このとき、ステートマシン(PWR)32は、電源供給処理を実施している期間を示すハイレベルの信号PRD_CPU_ONを通知信号生成回路11に出力する。
ハイレベルの信号PRD_CLKおよび信号PRD_CPU_ONが供給された通知信号生成回路11は、ハイレベルの通知信号NTC_SIGを端子20に出力する。このとき、図5に示すAND2の一方の入力およびAND5の一方の入力にはそれぞれ、レジスタ60からハイレベルの信号が供給されている。
端子20に出力されたハイレベルの通知信号NTC_SIGは、電源供給装置2の端子23を介して電圧設定回路22に供給される。そして、電圧設定回路22は、タイミングt23において、レギュレータ21から出力される電圧が通常設定された電圧よりも高い電圧となるように、レギュレータ21の電圧を設定する。これにより、半導体装置1の入力電圧VDD_INが増加する。
なお、図12では、ステートマシン(CLK)44がクロック供給処理へと遷移するタイミングと、ステートマシン(PWR)32が電源供給処理へと遷移するタイミングとが同時(タイミングt22)である場合について説明した。しかし、これらのタイミングは互いに異なるタイミングとなってもよい。この場合、ステートマシン(CLK)44およびステートマシン(PWR)32のうち、先に遷移した方のステートマシンが通知信号生成回路11にハイレベルの信号を出力するタイミングにおいて、通知信号生成回路11からハイレベルの通知信号NTC_SIGが出力される。
タイミングt22で電源供給処理へと遷移したステートマシン(PWR)32は、CPU(4)にクロック信号CLK_CPUが供給されるように、ハイレベルのクロック要求信号CLK_REQ_CPUをクロック制御回路9のステートマシン(CLK)44に出力する。また、ステートマシン(PWR)32は、CPU(4)の電源をオン状態とするために、CPU(4)と接続されているトランジスタTr2のゲートにハイレベルの制御信号CTR_CPUを出力する。ハイレベルの制御信号CTR_CPUが供給されると、CPU(4)の低電位側の電源電位VSS_CPUは、タイミングt24から徐々に低下し始め、所定の時間経過後に低電位側の電源電圧VSS_CPUは動作可能な電位VSSとなる。また、CPU(4)の低電位側の電源電位VSS_CPUが低下しはじめるタイミングt24から、CPU(4)の動作電流が徐々に上昇しはじめる。
また、ハイレベルのクロック要求信号CLK_REQ_CPUが供給されたステートマシン(CLK)44は、クロック供給処理を実施するために、タイミングt25において、クロック生成回路10の停止制御回路54にハイレベルの停止制御信号CTR_STPを出力する。停止制御信号CTR_STPがハイレベルとなると、停止制御回路54は、タイミングt26において、分周器53から出力されたクロック信号を、CPU(4)を含む半導体装置1の内部回路に供給する。
このとき、ステートマシン(PWR)32は、CPU(4)が誤動作しないように、CPU(4)にハイレベルの電源リセット信号RESET_CPUをアサートしている。リセット中は、例えばCPU(4)の全てのクロックゲーティングが解除され、初期化のために全てのフリップフロップに内部クロック信号が供給される。このため、CPU(4)の動作電流が増加する。この動作電流の増加により、CPU(4)の内部電圧VDD_CPUが低下する。しかし、このとき半導体装置1の入力電圧VDD_INは、通常設定されている電圧よりも高い電圧に設定されているので、CPU(4)の内部電圧VDD_CPUがCPU(4)の最低動作電圧Vmin以下とはならない。よって、CPU(4)は正常に初期化される。
そして、CPU(4)の初期化処理が終了したタイミングt27において(つまり、初期化期間経過後)、ステートマシン(PWR)32は、CPU(4)にアサートされていた電源リセット信号RESET_CPUを解除する(つまり、ロウレベルにする)。電源リセット信号RESET_CPUがロウレベルになると、ステートマシン(PWR)32は再びアイドル状態となる。このとき、ステートマシン(PWR)32は、電源供給処理が終了したので、ロウレベルの信号PRD_CPU_ONを通知信号生成回路11に出力する。
また、タイミングt27において、ステートマシン(CLK)44のクロック供給処理が終了し、ステートマシン(CLK)44はアイドル状態となる。このとき、ステートマシン(CLK)44は、クロック供給処理が終了したので、ロウレベルの信号PRD_CLKを通知信号生成回路11に出力する。
ロウレベルの信号PRD_CPU_ONおよび信号PRD_CLKが供給された通知信号生成回路11は、ロウレベルの通知信号NTC_SIGを端子20に出力する。通知信号NTC_SIGがロウレベルとなったので、電源供給装置2の電圧設定回路22は、タイミングt28において、レギュレータ21から出力される電圧が通常設定された電圧となるように、レギュレータ21の電圧を設定する。これにより、半導体装置1の入力電圧VDD_INが通常の電圧となる。
なお、図12では、ステートマシン(CLK)44がアイドル状態へと遷移するタイミングと、ステートマシン(PWR)32がアイドル状態へと遷移するタイミングとが同時(タイミングt27)である場合について説明した。しかし、これらのタイミングは互いに異なるタイミングとなってもよい。この場合、ステートマシン(CLK)44およびステートマシン(PWR)32のうち、後に遷移した方のステートマシンが通知信号生成回路11にロウレベルの信号を出力するタイミングにおいて、通知信号生成回路11からロウレベルの通知信号NTC_SIGが出力される。
(半導体装置の動作例D)
続いて、本実施の形態にかかる半導体装置1の動作の他の例について説明する。図13は本実施の形態にかかる半導体装置の動作を示すタイミングチャートである。図13に示すタイミングチャートは、内部電源制御回路8がマルチメディア回路5の電源をオン状態とし、更にクロック制御回路9が内部クロック信号を停止状態から供給状態にする場合を示している。
タイミングt31よりも前の初期状態では、PLL回路51はオン状態となっており、セレクタ52はPLL回路51の出力を選択し、分周器53は停止制御回路54に高速のクロック信号を出力している。しかし、停止制御信号CTR_STPはロウレベルであるので、停止制御回路54は、半導体装置1の内部回路に分周器53から出力されたクロック信号を供給していない。
タイミングt31において、マルチメディア回路5をオン状態とする内部電源状態設定信号SET_STATEが供給されると、ステートマシン(PWR)32は、タイミングt32において、アイドル状態から電源供給処理へと遷移する。このとき、ステートマシン(PWR)32は、電源供給処理を実施している期間を示すハイレベルの信号PRD_MM_ONを通知信号生成回路11に出力する。
ハイレベルの信号PRD_MM_ONが供給された通知信号生成回路11は、ハイレベルの通知信号NTC_SIGを端子20に出力する。このとき、図5に示すAND3の一方の入力には、レジスタ60からハイレベルの信号が供給されている。
端子20に出力されたハイレベルの通知信号NTC_SIGは、電源供給装置2の端子23を介して電圧設定回路22に供給される。そして、電圧設定回路22は、タイミングt33において、レギュレータ21から出力される電圧が通常設定された電圧よりも高い電圧となるように、レギュレータ21の電圧を設定する。これにより、半導体装置1の入力電圧VDD_INが増加する。
タイミングt32で電源供給処理へと遷移したステートマシン(PWR)32は、マルチメディアCPU(6)、マルチメディアモジュール7、および内部バスB(13)にそれぞれ、クロック信号CLK_MM_CPU、クロック信号CLK_MM_M、およびクロック信号CLK_BUS_Bが供給されるように、ハイレベルのクロック要求信号CLK_REQ_MMをクロック制御回路9のステートマシン(CLK)44に出力する。ハイレベルのクロック要求信号CLK_REQ_MMが供給されると、ステートマシン(CLK)44は、アイドル状態からクロック供給処理へと遷移する。このとき、ステートマシン(CLK)44は、クロック供給処理を実施している期間を示すハイレベルの信号PRD_CLKを通知信号生成回路11に出力する。なお、この時点で、通知信号生成回路11は、既にハイレベルの通知信号NTC_SIGを端子20に出力している。
また、ステートマシン(PWR)32は、マルチメディア回路5の電源をオン状態とするために、マルチメディア回路5と接続されているトランジスタTr3のゲートにハイレベルの制御信号CTR_MMを出力する。ハイレベルの制御信号CTR_MMが供給されると、マルチメディア回路5の低電位側の電源電位VSS_MMは、タイミングt34から徐々に低下し始め、所定の時間経過後に低電位側の電源電圧VSS_MMは動作可能な電位VSSとなる。また、マルチメディア回路5の低電位側の電源電位VSS_MMが低下しはじめるタイミングt34から、マルチメディア回路5の動作電流が徐々に上昇しはじめる。
また、ハイレベルのクロック要求信号CLK_REQ_MMが供給されたステートマシン(CLK)44は、クロック供給処理を実施するために、タイミングt35において、クロック生成回路10の停止制御回路54にハイレベルの停止制御信号CTR_STPを出力する。停止制御信号CTR_STPがハイレベルとなると、停止制御回路54は、タイミングt36において、マルチメディア回路5を含む半導体装置1の内部回路に、分周器53から出力されたクロック信号を供給する。このとき、ステートマシン(PWR)32は、マルチメディア回路5が誤動作しないように、マルチメディア回路5にハイレベルの電源リセット信号RESET_MMをアサートしている。リセット中は、例えばマルチメディア回路5の全てのクロックゲーティングが解除され、初期化のために全てのフリップフロップに内部クロック信号が供給される。このため、マルチメディア回路5の動作電流が増加する。この動作電流の増加により、マルチメディア回路5の内部電圧VDD_MMが低下する。しかし、このとき半導体装置1の入力電圧VDD_INは、通常設定されている電圧よりも高い電圧に設定されているので、マルチメディア回路5の内部電圧VDD_MMがマルチメディア回路5の最低動作電圧Vmin以下とはならない。よって、マルチメディア回路5は正常に初期化される。
そして、マルチメディア回路5の初期化処理が終了したタイミングt37において(つまり、初期化期間経過後)、ステートマシン(PWR)32は、マルチメディア回路5にアサートされていた電源リセット信号RESET_MMを解除する(つまり、ロウレベルにする)。電源リセット信号RESET_MMがロウレベルになると、ステートマシン(PWR)32は再びアイドル状態となる。このとき、ステートマシン(PWR)32は、電源供給処理が終了したので、ロウレベルの信号PRD_MM_ONを通知信号生成回路11に出力する。
また、タイミングt37において、ステートマシン(CLK)44のクロック供給処理が終了し、ステートマシン(CLK)44はアイドル状態となる。このとき、ステートマシン(CLK)44は、クロック供給処理が終了したので、ロウレベルの信号PRD_CLKを通知信号生成回路11に出力する。
ロウレベルの信号PRD_MM_ONおよび信号PRD_CLKが供給された通知信号生成回路11は、ロウレベルの通知信号NTC_SIGを端子20に出力する。通知信号NTC_SIGがロウレベルとなったので、電源供給装置2の電圧設定回路22は、タイミングt38において、レギュレータ21から出力される電圧が通常設定された電圧となるように、レギュレータ21の電圧を設定する。これにより、半導体装置1の入力電圧VDD_INが通常の電圧となる。
なお、図13では、ステートマシン(CLK)44がアイドル状態へと遷移するタイミングと、ステートマシン(PWR)32がアイドル状態へと遷移するタイミングとが同時(タイミングt37)である場合について説明した。しかし、これらのタイミングは互いに異なるタイミングとなってもよい。この場合、ステートマシン(CLK)44およびステートマシン(PWR)32のうち、後に遷移した方のステートマシンが通知信号生成回路11にロウレベルの信号を出力するタイミングにおいて、通知信号生成回路11からロウレベルの通知信号NTC_SIGが出力される。
次に、本実施の形態にかかる発明の比較例について説明する。なお、以下で説明する比較例は、図8に示した半導体装置および電源供給装置を含むシステム(実施の形態1参照)の動作を示している。
(比較例C)
まず、本実施の形態にかかる発明の比較例として、図8に示した半導体装置の動作の一例について説明する。図14は、図8に示した半導体装置の動作を示すタイミングチャートである。図14に示すタイミングチャートは、内部電源制御回路8がCPU(4)の電源をオン状態とし、更にクロック制御回路9が内部クロック信号を停止状態から供給状態にする場合を示している。なお、図14に示すタイミングチャートは、図12に示したタイミングチャートに対応しており、通知信号NTC_SIGが生成されない点、および入力電圧VDD_INが通常設定されている電圧よりも高い電圧に設定されない点が、図12に示したタイミングチャートと異なっている。
タイミングt121よりも前の初期状態では、PLL回路51はオン状態となっており、セレクタ52はPLL回路51の出力を選択し、分周器53は停止制御回路54に高速のクロック信号を出力している。しかし、停止制御信号CTR_STPはロウレベルであるので、停止制御回路54は、半導体装置101の内部回路に分周器53から出力されたクロック信号を供給していない。
タイミングt121においてCPU割り込み信号INTRがハイレベルになると、ステートマシン(CLK)44は、タイミングt122において、アイドル状態からクロック供給処理へと遷移する。また、タイミングt121においてCPU割り込み信号INTRがハイレベルになると、ステートマシン(PWR)32は、タイミングt122において、アイドル状態から電源供給処理へと遷移する。
タイミングt122で電源供給処理へと遷移したステートマシン(PWR)32は、CPU(4)にクロック信号CLK_CPUが供給されるように、ハイレベルのクロック要求信号CLK_REQ_CPUをクロック制御回路9のステートマシン(CLK)44に出力する。また、ステートマシン(PWR)32は、CPU(4)の電源をオン状態とするために、CPU(4)と接続されているトランジスタTr2のゲートにハイレベルの制御信号CTR_CPUを出力する。ハイレベルの制御信号CTR_CPUが供給されると、CPU(4)の低電位側の電源電位VSS_CPUは、タイミングt123から徐々に低下し始め、所定の時間経過後に低電位側の電源電圧VSS_CPUは動作可能な電位VSSとなる。また、CPU(4)の低電位側の電源電位VSS_CPUが低下しはじめるタイミングt123から、CPU(4)の動作電流が徐々に上昇しはじめる。
また、ハイレベルのクロック要求信号CLK_REQ_CPUが供給されたステートマシン(CLK)44は、クロック供給処理を実施するために、タイミングt124において、クロック生成回路10の停止制御回路54にハイレベルの停止制御信号CTR_STPを出力する。停止制御信号CTR_STPがハイレベルとなると、停止制御回路54は、タイミングt125において、分周器53から出力されたクロック信号を、CPU(4)を含む半導体装置1の内部回路に供給する。このとき、ステートマシン(PWR)32は、CPU(4)が誤動作しないように、CPU(4)にハイレベルの電源リセット信号RESET_CPUをアサートしている。リセット中は、例えばCPU(4)の全てのクロックゲーティングが解除され、初期化のために全てのフリップフロップに内部クロック信号が供給される。これにより、CPU(4)の動作電流が増加する。この動作電流の増加により、CPU(4)の内部電圧VDD_CPUが低下する。このため、CPU(4)の内部電圧VDD_CPUがCPU(4)の最低動作電圧Vmin以下となり、初期化処理が正常に実施されない。
そして、CPU(4)の初期化処理が終了したタイミングt126において(つまり、初期化期間経過後)、ステートマシン(PWR)32は、CPU(4)にアサートされていた電源リセット信号RESET_CPUを解除する(つまり、ロウレベルにする)。電源リセット信号RESET_CPUがロウレベルになると、ステートマシン(PWR)32は再びアイドル状態となる。
(比較例D)
続いて、本実施の形態にかかる発明の比較例として、図8に示した半導体装置の動作の他の例について説明する。図15は、図8に示した半導体装置の動作を示すタイミングチャートである。図15に示すタイミングチャートは、内部電源制御回路8がマルチメディア回路5の電源をオン状態とし、更にクロック制御回路9が内部クロック信号を停止状態から供給状態にする場合を示している。なお、図15に示すタイミングチャートは、図13に示したタイミングチャートに対応しており、通知信号NTC_SIGが生成されない点、および入力電圧VDD_INが通常設定されている電圧よりも高い電圧に設定されない点が、図13に示したタイミングチャートと異なっている。
タイミングt131よりも前の初期状態では、PLL回路51はオン状態となっており、セレクタ52はPLL回路51の出力を選択し、分周器53は停止制御回路54に高速のクロック信号を出力している。しかし、停止制御信号CTR_STPはロウレベルであるので、停止制御回路54は、半導体装置101の内部回路に分周器53から出力されたクロック信号を供給していない。
タイミングt131において、マルチメディア回路5をオン状態とする内部電源状態設定信号SET_STATEが供給されると、ステートマシン(PWR)32は、タイミングt132において、アイドル状態から電源供給処理へと遷移する。
タイミングt132で電源供給処理へと遷移したステートマシン(PWR)32は、マルチメディアCPU(6)、マルチメディアモジュール7、および内部バスB(13)にそれぞれ、クロック信号CLK_MM_CPU、クロック信号CLK_MM_M、およびクロック信号CLK_BUS_Bが供給されるように、ハイレベルのクロック要求信号CLK_REQ_MMをクロック制御回路9のステートマシン(CLK)44に出力する。ハイレベルのクロック要求信号CLK_REQ_MMが供給されると、ステートマシン(CLK)44は、アイドル状態からクロック供給処理へと遷移する。
また、ステートマシン(PWR)32は、マルチメディア回路5の電源をオン状態とするために、マルチメディア回路5と接続されているトランジスタTr3のゲートにハイレベルの制御信号CTR_MMを出力する。ハイレベルの制御信号CTR_MMが供給されると、マルチメディア回路5の低電位側の電源電位VSS_MMは、タイミングt133から徐々に低下し始め、所定の時間経過後に低電位側の電源電圧VSS_MMは動作可能な電位VSSとなる。また、マルチメディア回路5の低電位側の電源電位VSS_MMが低下しはじめるタイミングt133から、マルチメディア回路5の動作電流が徐々に上昇しはじめる。
また、ハイレベルのクロック要求信号CLK_REQ_MMが供給されたステートマシン(CLK)44は、クロック供給処理を実施するために、タイミングt134において、クロック生成回路10の停止制御回路54にハイレベルの停止制御信号CTR_STPを出力する。停止制御信号CTR_STPがハイレベルとなると、停止制御回路54は、タイミングt135において、マルチメディア回路5を含む半導体装置101の内部回路に、分周器53から出力されたクロック信号を供給する。このとき、ステートマシン(PWR)32は、マルチメディア回路5が誤動作しないように、マルチメディア回路5にハイレベルの電源リセット信号RESET_MMをアサートしている。リセット中は、例えばマルチメディア回路5の全てのクロックゲーティングが解除され、初期化のために全てのフリップフロップに内部クロック信号が供給される。これにより、マルチメディア回路5の動作電流が増加する。この動作電流の増加により、マルチメディア回路5の内部電圧VDD_MMが低下する。このため、マルチメディア回路5の内部電圧VDD_MMがマルチメディア回路5の最低動作電圧Vmin以下となり、初期化処理が正常に実施されない。
そして、マルチメディア回路5の初期化処理が終了したタイミングt136において(つまり、初期化期間経過後)、ステートマシン(PWR)32は、マルチメディア回路5にアサートされていた電源リセット信号RESET_MMを解除する(つまり、ロウレベルにする)。電源リセット信号RESET_MMがロウレベルになると、ステートマシン(PWR)32は再びアイドル状態となる。
図8に示した半導体装置101および電源供給装置102を含むシステムでは、例えば図14、図15に示したように、CPU(4)やマルチメディア回路5に内部クロック信号が供給されると、CPU(4)やマルチメディア回路5の動作電流が増加する。そして、この動作電流の増加により、CPU(4)やマルチメディア回路5の内部電圧VDD_CPU、VDD_MMが低下する。このため、CPU(4)やマルチメディア回路5の内部電圧VDD_CPU、VDD_MMが一時的にCPU(4)やマルチメディア回路5の最低動作電圧Vmin以下となり、CPU(4)やマルチメディア回路5が正常に初期化されないという問題があった。
これに対して本実施の形態にかかる半導体装置1では、通知信号生成回路11を設け、半導体装置1の内部回路において動作電流が増加することを通知する通知信号NTC_SIGを生成している。このため、半導体装置1の内部回路において動作電流が増加することを事前に検知することができる。よって、半導体装置1の動作電流が急激に上昇した場合であっても、半導体装置1に供給される電力を、遅延することなく増加させることができ、半導体装置1の内部回路を正常に初期化することができる。
また、本実施の形態にかかる半導体装置1の通知信号生成回路11は、内部電源制御回路8のステートマシン(PWR)32の処理に応じて通知信号NTC_SIGを生成することができる。すなわち、ステートマシン(PWR)32のDSP(3)に対する電源供給処理、CPU(4)に対する電源供給処理、または、マルチメディア回路5に対する電源供給処理と同期して、活性状態の通知信号NTC_SIGを生成することができる。このように、ステートマシン(PWR)32の処理に応じて活性状態の通知信号NTC_SIGを生成することで、通知信号NTC_SIGを正確かつ容易に生成することができる。なお、その他の効果については実施の形態1と同様である。
また、図12ではCPU(4)がオフ状態からオン状態となる場合を例として説明し、図13ではマルチメディア回路5がオフ状態からオン状態となる場合を例として説明したが、DSP(3)がオフ状態からオン状態となる場合についても、これらと同様である。
以上で説明した本実施の形態にかかる発明により、安定した動作を実現可能な半導体装置および当該半導体装置を含むシステムを提供することができる。
<実施の形態3>
次に、本発明の実施の形態3について説明する。実施の形態1では、半導体装置1のクロック制御回路9を用いて、内部クロック信号の供給を制御している場合の動作について説明した(図6、図7参照)。また、実施の形態2では、半導体装置1のクロック制御回路9を用いて内部クロック信号の供給を制御すると共に、内部電源制御回路8を用いてDSP(3)、CPU(4)、マルチメディア回路5の電源を制御する場合の動作について説明した(図12、図13参照)。本実施の形態では、半導体装置1の内部電源制御回路8を用いてDSP(3)、CPU(4)、マルチメディア回路5の電源を制御する場合の動作について説明する。なお、本実施の形態で用いられる半導体装置および電源供給装置を含むシステムは、実施の形態1で説明した半導体装置1および電源供給装置2を含むシステム(図3〜図5)と同様であるので、重複した説明は省略する。
(半導体装置の動作例E)
本実施の形態にかかる半導体装置1の動作の一例について説明する。図16は本実施の形態にかかる半導体装置の動作を示すタイミングチャートである。図16に示すタイミングチャートは、内部電源制御回路8がマルチメディア回路5の電源をオン状態とする場合を示している。
タイミングt41よりも前の初期状態では、PLL回路51はオン状態となっており、セレクタ52はPLL回路51の出力を選択し、分周器53は停止制御回路54に高速のクロック信号を出力している。そして、停止制御信号CTR_STPはハイレベルであるので、停止制御回路54は半導体装置1の内部回路に分周器53から出力された内部クロック信号を供給している。このとき、クロック制御回路9のステートマシン(CLK)44はアイドル状態となっている。また、マルチメディア回路5の電源はオフ状態となっている。
タイミングt41において、マルチメディア回路5をオン状態とする内部電源状態設定信号SET_STATEが供給されると、ステートマシン(PWR)32は、タイミングt42において、アイドル状態から電源供給処理へと遷移する。このとき、ステートマシン(PWR)42は、電源供給処理を実施している期間を示すハイレベルの信号PRD_MM_ONを通知信号生成回路11に出力する。
ハイレベルの信号PRD_MM_ONが供給された通知信号生成回路11は、ハイレベルの通知信号NTC_SIGを端子20に出力する。このとき、図5に示すAND3の一方の入力には、レジスタ60からハイレベルの信号が供給されている。
端子20に出力されたハイレベルの通知信号NTC_SIGは、電源供給装置2の端子23を介して電圧設定回路22に供給される。そして、電圧設定回路22は、タイミングt43において、レギュレータ21から出力される電圧が通常設定された電圧よりも高い電圧となるように、レギュレータ21の電圧を設定する。これにより、半導体装置1の入力電圧VDD_INが増加する。
また、ステートマシン(PWR)32は、マルチメディア回路5の電源をオン状態とするために、マルチメディア回路5と接続されているトランジスタTr3のゲートにハイレベルの制御信号CTR_MMを出力する。ハイレベルの制御信号CTR_MMが供給されると、マルチメディア回路5の低電位側の電源電位VSS_MMは、タイミングt44から徐々に低下し始め、所定の時間が経過したタイミングt45において低電位側の電源電圧VSS_MMは動作可能な電位VSSとなる。このとき、マルチメディア回路5には高速の内部クロック信号が供給される。
また、ステートマシン(PWR)32は、マルチメディア回路5が誤動作しないように、マルチメディア回路5にハイレベルの電源リセット信号RESET_MMをアサートしている。リセット中は、例えばマルチメディア回路5の全てのクロックゲーティングが解除され、初期化のために全てのフリップフロップに内部クロック信号が供給される。このため、マルチメディア回路5の動作電流が増加する。この動作電流の増加により、マルチメディア回路5の内部電圧VDD_MMが低下する。しかし、このとき半導体装置1の入力電圧VDD_INは、通常設定されている電圧よりも高い電圧に設定されているので、マルチメディア回路5の内部電圧VDD_MMがマルチメディア回路5の最低動作電圧Vmin以下とはならない。よって、マルチメディア回路5は正常に初期化される。
そして、マルチメディア回路5の初期化処理が終了したタイミングt46において(つまり、初期化期間経過後)、ステートマシン(PWR)32は、マルチメディア回路5にアサートされていた電源リセット信号RESET_MMを解除する(つまり、ロウレベルにする)。電源リセット信号RESET_MMがロウレベルになると、ステートマシン(PWR)32は再びアイドル状態となる。このとき、ステートマシン(PWR)32は、電源供給処理が終了したので、ロウレベルの信号PRD_MM_ONを通知信号生成回路11に出力する。
ロウレベルの信号PRD_MM_ONが供給された通知信号生成回路11は、ロウレベルの通知信号NTC_SIGを端子20に出力する。通知信号NTC_SIGがロウレベルとなったので、電源供給装置2の電圧設定回路22は、タイミングt47において、レギュレータ21から出力される電圧が通常設定された電圧となるように、レギュレータ21の電圧を設定する。これにより、半導体装置1の入力電圧VDD_INが通常の電圧となる。
(比較例E)
次に、本実施の形態にかかる発明の比較例について説明する。なお、以下で説明する比較例は、図8に示した半導体装置および電源供給装置を含むシステム(実施の形態1参照)の動作を示している。図17は、図8に示した半導体装置の動作を示すタイミングチャートである。図17に示すタイミングチャートは、内部電源制御回路8がマルチメディア回路5の電源をオン状態とする場合を示している。なお、図17に示すタイミングチャートは、図16に示したタイミングチャートに対応しており、通知信号NTC_SIGが生成されない点、および入力電圧VDD_INが通常設定されている電圧よりも高い電圧に設定されない点が、図16に示したタイミングチャートと異なっている。
タイミングt141よりも前の初期状態では、PLL回路51はオン状態となっており、セレクタ52はPLL回路51の出力を選択し、分周器53は停止制御回路54に高速のクロック信号を出力している。そして、停止制御信号CTR_STPがハイレベルであるので、停止制御回路54は半導体装置101内の内部回路に分周器53から出力された内部クロック信号を供給している。このとき、クロック制御回路9のステートマシン(CLK)44はアイドル状態となっている。また、マルチメディア回路5の電源はオフ状態となっている。
タイミングt141において、マルチメディア回路5をオン状態とする内部電源状態設定信号SET_STATEが供給されると、ステートマシン(PWR)32は、タイミングt142において、アイドル状態から電源供給処理へと遷移する。その後、ステートマシン(PWR)32は、マルチメディア回路5の電源をオン状態とするために、マルチメディア回路5と接続されているトランジスタTr3のゲートにハイレベルの制御信号CTR_MMを出力する。ハイレベルの制御信号CTR_MMが供給されると、マルチメディア回路5の低電位側の電源電位VSS_MMは、タイミングt143から徐々に低下し始め、所定の時間が経過したタイミングt144において低電位側の電源電圧VSS_MMは動作可能な電位VSSとなる。
このとき、ステートマシン(PWR)32は、マルチメディア回路5が誤動作しないように、マルチメディア回路5にハイレベルの電源リセット信号RESET_MMをアサートしている。リセット中は、例えばマルチメディア回路5の全てのクロックゲーティングが解除され、初期化のために全てのフリップフロップに内部クロック信号が供給される。これにより、マルチメディア回路5の動作電流が増加する。この動作電流の増加により、マルチメディア回路5の内部電圧VDD_MMが低下する。このため、マルチメディア回路5の内部電圧VDD_MMがマルチメディア回路5の最低動作電圧Vmin以下となり、初期化処理が正常に実施されない。
そして、マルチメディア回路5の初期化処理が終了したタイミングt145において(つまり、初期化期間経過後)、ステートマシン(PWR)32は、マルチメディア回路5にアサートされていた電源リセット信号RESET_MMを解除する(つまり、ロウレベルにする)。電源リセット信号RESET_MMがロウレベルになると、ステートマシン(PWR)32は再びアイドル状態となる。
図8に示した半導体装置101および電源供給装置102を含むシステムでは、図17に示したように、マルチメディア回路5がオン状態となるとマルチメディア回路5の動作電流が増加する。そして、この動作電流の増加により、マルチメディア回路5の内部電圧VDD_MMが低下する。このため、マルチメディア回路5の内部電圧VDD_MMがマルチメディア回路5の最低動作電圧Vmin以下となり、マルチメディア回路5が正常に初期化されないという問題があった。
これに対して本実施の形態にかかる半導体装置1では、通知信号生成回路11を設け、半導体装置1の内部回路において動作電流が増加することを通知する通知信号NTC_SIGを生成している。このため、半導体装置1の内部回路において動作電流が増加することを事前に検知することができる。よって、半導体装置1の動作電流が急激に上昇した場合であっても、半導体装置1に供給される電力を、遅延することなく増加させることができ、半導体装置1の内部回路を正常に初期化することができる。
また、本実施の形態にかかる半導体装置1の通知信号生成回路11は、内部電源制御回路8のステートマシン(PWR)32の処理に応じて通知信号NTC_SIGを生成することができる。すなわち、ステートマシン(PWR)32のDSP(3)に対する電源供給処理、CPU(4)に対する電源供給処理、または、マルチメディア回路5に対する電源供給処理と同期して、活性状態の通知信号NTC_SIGを生成することができる。このように、ステートマシン(PWR)32の処理に応じて活性状態の通知信号NTC_SIGを生成することで、通知信号NTC_SIGを正確かつ容易に生成することができる。なお、その他の効果については実施の形態1と同様である。
また、図16ではマルチメディア回路5がオフ状態からオン状態となる場合を例として説明したが、DSP(3)やCPU(4)がオフ状態からオン状態となる場合についても同様である。
以上で説明した本実施の形態にかかる発明により、安定した動作を実現可能な半導体装置および当該半導体装置を含むシステムを提供することができる。
<実施の形態4>
次に、本発明の実施の形態4について説明する。
図18は、実施の形態4にかかる半導体装置81および電源供給装置2を含むシステムを示すブロック図である。本実施の形態にかかる半導体装置81は、所定の機能を有する回路としてマルチコアプロセッサ91およびメモリアクセス検出部92を備える点が、実施の形態1にかかる半導体装置1と異なる。これ以外は、実施の形態1にかかる半導体装置および電源供給装置2を含むシステムと同様であるので、同一の構成要素には同一の符号を付し、重複した説明は省略する。
図18に示すように、半導体装置81のCPU電源領域90には、CPUおよびキャッシュメモリを含むプロセッサ91(例えば、マルチコアプロセッサ)と、CPUがキャッシュメモリにアクセスする回数を検出し、当該アクセス回数に基づきプロセッサにおける予想消費電流量を算出するメモリアクセス検出部92と、が設けられている。例えば、マルチコアプロセッサ91は、複数のコア、コア毎に設けられた1次キャッシュ、および複数のコアに共有される2次キャッシュを備え、様々な演算処理を実施する。
CPU電源領域90(つまり、マルチコアプロセッサ91およびメモリアクセス検出部92)には、電源供給装置2から端子17を介して高電位側の電源電圧VDDが供給される。また、CPU電源領域90は、スイッチであるトランジスタTr2を介して低電位側の電源(例えば、グランド)に接続されている。すなわち、トランジスタTr2がオン状態(導通状態)となった場合、マルチコアプロセッサ91およびメモリアクセス検出部92に電源が供給される。CPU電源領域90に供給される電源のオン・オフ、つまりトランジスタTr2のオン・オフは、内部電源制御回路8から出力される制御信号CTR_CPUによって制御される。また、マルチコアプロセッサ91にはクロック生成回路10から出力されたクロック信号CLK_CPUが供給される。マルチコアプロセッサ91は、内部バスA(12)を介して、他の回路とのデータ送受信が可能である。
メモリアクセス検出部92は、マルチコアプロセッサ91内の各コアが1次キャッシュおよび2次キャッシュへアクセスする際に出力されるアクセス信号cenの活性化回数(アクセス回数)、つまり活性化率を検出する。例えば、各コアの1次キャッシュおよび2次キャッシュへのアクセスは、マルチコアプロセッサ91内に設けられたメモリコントローラで制御されており、アクセス信号cenはこのメモリコントローラから出力される。そして、メモリアクセス検出部92は、アクセス信号cenの活性化回数(アクセス回数)に基づきマルチコアプロセッサ91における予想消費電流量を算出する。このとき、メモリアクセス検出部92は、アクセス信号cenの活性化率から予想消費電流量を算出してもよい。この予想消費電流量が所定の基準値を超えた場合、メモリアクセス検出部92は、マルチコアプロセッサ91に供給されるクロック信号CLK_CPUの周波数の低減を要求するための要求信号psreq1をクロック制御回路9に出力する。また、この予想消費電流量の変化量が所定の基準値を超えた場合も、メモリアクセス検出部92は、マルチコアプロセッサ91に供給されるクロック信号CLK_CPUの周波数の低減を要求するための要求信号psreq2をクロック制御回路9に出力する。
内部電源制御回路8は、CPU電源領域90の電源のオン・オフを制御するための制御信号CTR_CPUをトランジスタTr2のゲートに出力する。また、マルチコアプロセッサ91へのクロック供給を要求するクロック要求信号CLK_REQ_CPUをクロック制御回路9に出力する。
クロック制御回路9は、定期的に、メモリアクセス検出部92に活性化回数や活性化率を検出させるための実行信号checkをメモリアクセス検出部92に出力する。また、クロック制御回路9は、メモリアクセス検出部92から出力された要求信号psreq1やpsreq2に応じた分周制御信号CTR_DIVをクロック生成回路10に出力する。さらに、クロック制御回路9は、内部電源制御回路8から出力されたクロック要求信号CLK_REQ_CPUに応じた停止制御信号CTR_STPをクロック生成回路10に出力する。つまり、内部電源制御回路8からクロック要求信号CLK_REQ_CPUが出力された場合、クロック制御回路9は、クロック信号CLK_CPUの停止を解除する停止制御信号CTR_STPを出力する。これにより、クロック生成回路10はクロック信号CLK_CPUの出力を開始する。
クロック生成回路10は、クロック制御回路9から出力された分周制御信号CTR_DIVに基づいて、マルチコアプロセッサ91へ供給されるクロック信号CLK_CPUの周波数を変更することができる。さらに、クロック生成回路10は、クロック制御回路10から出力された停止制御信号CTR_STPに基づいて、各クロック信号の出力を停止もしくは開始する。なお、クロック制御回路9およびクロック生成回路10の構成および動作は、基本的に実施の形態1乃至3の場合と同様である。
CPU周辺回路15は、マルチコアプロセッサ91により利用される回路である。CPU周辺回路15としては、例えば、タイマユニット、ウォッチドッグタイマユニット、DMA(Direct Memory Access)ユニット、低電圧検出ユニット、パワーオンリセット(POR)ユニット等が挙げられる。CPU周辺回路15は、内部バスC(14)と接続されている。
このように、本実施の形態にかかる半導体装置81は、各コアから各メモリ領域へのアクセス回数を検出し、マルチコアプロセッサ91の消費電流量を予想することができるメモリアクセス検出部92を備えている。そのため、この予想消費電流量もしくはその変化量が所定の基準値を超えた場合、自動的にマルチコアプロセッサ91へ供給されるクロック信号CLK_CPUの周波数を低減することができる。従って、許容電流量を超えることによる誤動作を防止することができる。
ここで、本実施の形態では、プロセッサが、マルチコアプロセッサであるが、当然のことながら、本実施の形態にかかる発明はシングルコアプロセッサに適用することも可能である。マルチコアプロセッサでは、複数のコアの稼働率が同時に高くなるケースはまれである。そのため、このようなケースに合わせて許容電流量を大きくするのは、大型化やコストアップにつながり、好ましくない。本実施の形態では、許容電流量を大きくすることなく、複数のコアの稼働率が同時に高くなる場合にのみ、プロセッサへ供給するクロック信号の周波数を一時的に低減することができる。すなわち、本実施の形態にかかる発明は、マルチコアプロセッサ用途に好適であるといえる。
以上、本発明を上記実施形態に即して説明したが、上記実施形態の構成にのみ限定されるものではなく、本願特許請求の範囲の請求項の発明の範囲内で当業者であればなし得る各種変形、修正、組み合わせを含むことは勿論である。