電源制御装置及びその電源制御装置を有するシステムLSI
【課題】電源電圧変動時に誤動作を発生することなく電源電圧変動シーケンスを実行できる電源制御装置を提供する。
【解決手段】第1,第2のCPUがそれぞれ属する第1,第2の電源ドメインの電源電圧を制御する電源制御装置において,第1,第2の電源ドメイン(9,8)に第1,第2の電源電圧(p2,p1)をそれぞれ供給する電源装置(3)と,第1,第2のクロック(s7,s6)を生成し第1,第2のCPUにそれぞれ供給するクロック生成部(16)とに接続された電源クロック制御部(4)を有する。電源クロック制御部は,第1のCPUからの第2の電源ドメインの電源電圧変更要求に応答して,電源装置に第2の電源電圧を変更させ,第2のCPUからの第2のクロック周波数変更要求に応答して,クロック生成部に第2のクロックの周波数を変更させ,さらに,第2の電源ドメインの電源電圧変更要求に応答して,第2の電源電圧が要求電圧に達するまでの期間,第2のクロック周波数変更要求を受け付けない。
【解決手段】第1,第2のCPUがそれぞれ属する第1,第2の電源ドメインの電源電圧を制御する電源制御装置において,第1,第2の電源ドメイン(9,8)に第1,第2の電源電圧(p2,p1)をそれぞれ供給する電源装置(3)と,第1,第2のクロック(s7,s6)を生成し第1,第2のCPUにそれぞれ供給するクロック生成部(16)とに接続された電源クロック制御部(4)を有する。電源クロック制御部は,第1のCPUからの第2の電源ドメインの電源電圧変更要求に応答して,電源装置に第2の電源電圧を変更させ,第2のCPUからの第2のクロック周波数変更要求に応答して,クロック生成部に第2のクロックの周波数を変更させ,さらに,第2の電源ドメインの電源電圧変更要求に応答して,第2の電源電圧が要求電圧に達するまでの期間,第2のクロック周波数変更要求を受け付けない。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は,電源制御装置及びその電源制御装置を有するシステムLSIに関し,特に,複数のCPUに対応する電源ドメインの電源電圧とクロック周波数とを制御する電源制御装置及びその電源制御装置を有するシステムLSIに関する。
【背景技術】
【0002】
次世代のLSIは,複数のCPUコア(以下単にCPUと称する)や複数のロジック回路ブロックなどを有し,それぞれが別々の電源ドメイン(電源領域)に属している。LSI内を複数の電源ドメインに分離することで,ある電源ドメインに属するCPUやロジック回路ブロックの動作状態に起因して発生する電源ノイズが,他の電源ドメインに属するCPUやロジック回路ブロックに影響を与えることを抑えることができる。
【0003】
さらに,次世代のシステムLSIは消費電力を抑えることが重要な課題になっている。そこで,複数の電源ドメインに属するCPUやロジック回路ブロックの動作状態に応じて,各電源ドメインの電源電圧を個別に制御し,同時にクロック周波数を個別に制御することが提案されている。例えば,以下の特許文献1や非特許文献1などである。
【0004】
特に,CPUに特定の処理プログラムを実行させる場合や特定のロジック回路ブロックを動作させる場合は,必要な動作クロック周波数と電源電圧があらかじめ予測可能である。そこで,特定の処理の実行開始前にその処理を行うCPUやロジック回路ブロックの電源電圧を必要なレベルに上昇させ,その後動作クロック周波数を必要なレベルに上昇させることで,特定の処理を実行していない間の消費電力を抑制することができる。
【0005】
このように,次世代のLSIは,内部にまたは外付けで電源制御装置を有し,電源制御装置が複数の電源ドメインの電源電圧と動作クロック周波数とを個別に制御し,LSI全体の消費電力を抑制する。
【特許文献1】特開平7−325647号公報
【非特許文献1】ISSCC 2007レポート「IBMの次世代プロセッサ「POWER6」の全容 http://pc.watch.impress.co.jp/docs/2007/-215/iscc04.htm
【発明の開示】
【発明が解決しようとする課題】
【0006】
複数のCPUを有するLSIでは,第1のCPUが第2のCPUに割り込みを発生して第2のCPUに特定の処理を実行させる。また,第1,第2のCPUが逆の関係になる場合もある。このような場合,一方のCPUが異なる電源ドメインに属する他方のCPUの電源電圧を上昇する要求を発行し,他方のCPUが動作クロック周波数を上昇する要求を発行する。そして,電源制御装置は,これらの要求に応答して,電源電圧の変更制御と,動作クロック周波数の変更制御を行う。
【0007】
電源ドメインにおける電源電圧を上昇させるためには,当該電源電圧を供給する電源装置に電源電圧を上昇させることが必要になり所定の時間を要するので,通常は,電源電圧の上昇要求の発行から当該所定の時間経過後に動作クロック周波数の上昇要求を発行している。
【0008】
しかしながら,電源電圧の上昇に要する時間は,LSIの製造ばらつきに起因してLSI毎に異なる場合がある。そのため,上記の所定の時間は製造ばらつきを吸収できる程度に長く設定することが行われる。ただし,その場合は,特定の処理が開始されるまでに要する時間が長くなるという課題がある。
【0009】
一方で,この所定の時間を短く設定すると,電源電圧が保証されたレベルまで上昇するまえに動作クロック周波数の周波数が上昇してしまい,CPUやロジック回路ブロックの誤動作を招くことになる。
【0010】
そこで,本発明の目的は,電源電圧変動時に誤動作を発生することなく電源電圧変動シーケンスを実行できる電源制御装置を提供することにある。
【課題を解決するための手段】
【0011】
上記の目的を達成するために,本発明の第1の側面によれば,第1,第2のCPUがそれぞれ属する第1,第2の電源ドメインの電源電圧を制御する電源制御装置において,前記第1,第2の電源ドメインに第1,第2の電源電圧をそれぞれ供給する電源装置と,第1,第2のクロックを生成し前記第1,第2のCPUにそれぞれ供給するクロック生成部とに接続された電源クロック制御部を有する。そして,電源クロック制御部は,第1のCPUからの前記第2の電源ドメインの電源電圧変更要求に応答して,前記電源装置に前記第2の電源電圧を変更させ,前記第2のCPUからの前記第2のクロック周波数変更要求に応答して,前記クロック生成部に前記第2のクロックの周波数を変更させる。さらに,前記電源クロック制御部は,前記第2の電源ドメインの電源電圧変更要求に応答して,前記第2の電源電圧が要求電圧に達するまでの期間,前記第2のクロック周波数変更要求を受け付けない。
【0012】
上記の第1の側面において好ましい態様によれば,前記電源クロック制御部は,前記電源装置から前記第2の電源電圧の状態を示す第2の電源電圧状態信号を監視し,前記第2の電源電圧が要求電圧に達するまでの期間を,当該第2の電源電圧状態信号により検出する。
【0013】
上記の第1の側面において好ましい態様によれば,前記電源クロック制御部は,タイマ部を有し,前記第2の電源電圧が要求電圧に達するまでの期間を,前記タイマ部が前記第2の電源電圧変更要求に応答してタイマカウント開始した後にタイマカウント終了信号により検出し,当該タイマ部のタイマカウント時間は,電源ドメイン毎にカスタマイズされる。
【0014】
上記の目的を達成するために,本発明の第2の側面によれば,電源装置から電源電圧を供給されクロック生成部からクロックを供給されるシステムLSIにおいて,第1,第2の電源ドメインにそれぞれ属する第1,第2のCPUと,前記第1,第2の電源ドメインの第1,第2の電源電圧を制御する電源制御ユニットとを有する。そして,前記電源制御ユニットは,前記第1のCPUからの前記第2の電源ドメインの電源電圧変更要求に応答して,前記電源装置に前記第2の電源電圧を変更させ,前記第2のCPUからの前記第2のクロック周波数変更要求に応答して,前記クロック生成部に前記第2のクロックの周波数を変更させ,さらに,前記電源制御ユニットは,前記第2の電源ドメインの電源電圧変更要求に応答して,前記第2の電源電圧が要求電圧に達するまでの期間,前記第2のクロック周波数変更要求を受け付けない。
【発明の効果】
【0015】
本発明によれば,電源電圧の変更が完了した後にクロック周波数の変更制御が行われる。
【発明を実施するための最良の形態】
【0016】
以下,図面にしたがって本発明の実施の形態について説明する。但し,本発明の技術的範囲はこれらの実施の形態に限定されず,特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【0017】
図1は,複数のCPUを有するシステムLSIの構成図である。システムLSI35は,それぞれ異なる電源ドメインに属するメインCPU9と,サブCPU8と,ロジック回路6,7とを有する。さらに,LSI35は,常時電源が供給されている常時ON電源ドメイン37を有し,この電源ドメイン37には,電源制御装置(電源制御ユニット:PMU)34と,クロック生成部16とが属している。そして,電源制御ユニット34は,外付けの電源装置が生成する複数の電源ドメインの電源電圧p1〜p4を制御し(オン,オフ,電圧上昇,電圧下降),CPU9,8とロジック回路6,7のクロック周波数s6〜s9を制御する電源・クロック制御部36を有する。
【0018】
電源装置(パワーIC)3は,電源供給部11,12,13,14,15と,電源・クロック制御部36からの制御要求を受信して電源供給部11,12,13,14,15の電源電圧のオンとオフ及び電源電圧の上昇と下降を制御する制御インターフェース10とを有する。常時ON電源供給部11と,ロジック回路A電源供給部12と,ロジック回路B電源供給部13と,CPUs電源供給部14と,CPUm電源供給部15とは,それぞれ電源電圧p3,p4,p5,p1,p2を生成する電圧レギュレータ回路であり,各電源ドメイン37,6,7,8,9に対応する電源電圧p3,p4,p5,p1,p2を供給する。ただし,常時ON電源供給部11は,常時ON電源ドメイン37に供給する電源電圧を常時ON状態にする。
【0019】
このようにシステムLSI35内を複数の電源ドメイン37,6,7,8,9に分離し,電源IC3には,それぞれの電源ドメインに電源電圧p3,p4,p5,p1,p2をそれぞれ供給する電源供給部11,12,13,14,15を設けている。これにより,各電源ドメインの電源電圧のオンとオフ,上昇と下降を別々に行うことができ,LSI35内の処理に最も適し且つ省電力の電源供給を行うことができる。
【0020】
電源制御ユニット34内の電源・クロック制御部36は,外部からの割り込み信号E−INTや,CPU8,9からの制御要求S19,S20に応答して,電源電圧の制御を指示する電源制御信号S12を電源装置3に供給し,クロックのオン,オフ及びクロック周波数の上昇と下降の制御を指示するクロック制御信号S13をクロック生成部16に供給する。電源制御信号S12に応答して,制御インターフェース10は電源供給部11〜15を制御する。また,クロック制御信号S13に応答して,クロック生成部16はクロックS6,S7,S8,S9のオン,オフ,周波数上昇,下降を制御する。
【0021】
図2は,図1のシステムLSIにおける電源制御シーケンスを示す波形図である。図1のシステムLSIは,分離された複数の電源ドメインを有し,それぞれの電源ドメインの電源電圧が別々に制御され,更に,各電源ドメインに属するCPU8,9やロジック回路6,7のクロック周波数も別々に制御される。たとえば,第1の動作モードではメインCPU9が所定の処理を実行しサブCPU8が待機状態にあり,そして,あるイベントの発生に応答してメインCPU9が特定の処理をサブCPU8に実行させる第2の動作モードに移行する場合を仮定する。
【0022】
この場合,メインCPU9が属する電源ドメインの電源電圧p2は高い電圧Vdd0に制御され,メインCPU9のクロックs7は高い周波数に制御されている。そして,待機状態では,サブCPU8の電源電圧p1は低電圧に制御され,クロック周波数s7は低周波数に制御されている。そこで,メインCPU9は,サブCPU8に割り込み信号INTmを発行するとともに,電源・クロック制御部36に電源電圧p1を上昇する制御信号(Vdd−up)S20を発行する。この制御信号S20に応答して,電源・クロック制御部36が,電源制御信号S12を発行して,電源IC3内のCPUs電源供給部14の電源電圧p1を上昇させる。電源供給部14は,電圧レギュレータであり,ポンピング動作により電源電圧を昇圧する回路であるので,電源電圧を上昇するにはある程度の時間が必要になる。
【0023】
その後,電源電圧p1が要求された変更後の電圧である保証電圧Vdd0に上昇するまでの一定時間経過後に,サブCPU8がクロックs6の周波数を上昇する制御信号(clk−up)S19を発行する。この制御信号S19に応答して,電源・クロック制御部36が,クロック制御信号S13を発行して,クロック生成部16にクロックs6の周波数を上昇させる。以上が正常な電源制御シーケンスである。
【0024】
図3は,図1のシステムLSIにおける誤動作を伴う電源制御シーケンスを示す波形図である。図2と同様に第1の動作モードから第2の動作モードに移行する場合を仮定している。図2と同様に,メインCPU9が,電源・クロック制御部36に電源電圧p1を上昇する制御信号(Vdd−up)S20を発行し,一定時間経過後に,サブCPU8がクロックs6の周波数を上昇する制御信号(clk−up)S19を発行する。ただし,サブCPU8が属する電源ドメインの電源電圧p1の立ち上がりが図2の場合よりも遅い場合,もしくは前記一定時間よりも短い時間経過後にサブCPU8がクロックs6の周波数を上昇する制御信号(clk−up)S19を発行する場合は,期間t1において,サブCPU8の電源電圧p1が保証電圧Vdd0に達しない状態で,サブCPU8のクロックs6の周波数が高くなる。そのため,期間t1では,サブCPU8は低い電源電圧p1の状態で高い動作周波数で動作することになり,誤動作を招く。
【0025】
そこで,図3のような誤動作を招かないような電源シーケンス制御が必要になる。
【0026】
[第1の実施の形態]
図4は,第1の実施の形態におけるマルチCPUを有するシステムLSIの構成図である。システムLSI2は,図1と同様に,それぞれ異なる電源ドメインに属するメインCPU9と,サブCPU8と,ロジック回路6,7とを有する。よって,電源ドメイン6,7,8,9とロジック回路6,7,CPU8,9とは同じ引用文献番号を与えている。さらに,システムLSI2は,常時電源が供給されている常時ON電源ドメイン37を有し,この電源ドメイン37には,電源制御装置(電源制御ユニット:PMU)1と,クロック生成部16とが属している。そして,電源制御ユニット1は,電源・クロック制御部4と,排他制御部5とを有する。電源クロック制御部4は,複数の電源ドメイン8,9,37,6,7の電源電圧p1〜p4を制御し,CPU9,8とロジック回路6,7のクロック周波数s6〜s9を制御する。排他制御部5は,電源・クロック制御部4と2つのCPU8,9との間に設けられ,2つのCPU8,9からの制御リクエスト信号S3,4の受付を排他的に制御する。排他制御部5は,電源・クロック制御部4内に内蔵されていてもよい。
【0027】
電源IC3は,図1と同様の構成であるが,ただし,CPUs電源供給部14の電源電圧状態を示す電源状態信号s1と,CPUm電源供給部15の電源電圧状態を示す電源状態信号s2とを,電源・クロック制御部4に供給している。この電源状態信号s1,s2により,電源・クロック制御部4は,電源電圧の上昇または下降が完了したことを検出することができる。
【0028】
本実施の形態の電源・クロック制御部4は,排他制御部5と共に,一方のCPUからの電源変更の要求を受け付けた場合,その電源変更が完了するまでの間は,他方のCPUからのクロック周波数変更の要求を受け付けない。この場合,電源変更の要求とクロック周波数変更の要求とは,例えば,電源電圧を高く変更する要求と,クロック周波数を高く変更する要求とである。具体的には,排他制御部5と電源・クロック制御部4は,一方のCPUからの電源変更の要求を受け付けた時,電源IC3の制御インターフェース10に電源変更制御信号s12を供給し,対応する電源状態信号s1,s2を監視し,その電源電圧の変更が完了した時に,他のCPUからの要求を初めて受け付ける。電源電圧の変更が完了しない間は,他のCPUからの要求を受け付けない。
【0029】
図5は,第1の実施の形態における電源制御シーケンスを示す波形図である。図2,3と同様に,第1の動作モードではメインCPU9が所定の処理を実行し,サブCPU8が待機状態にあり,あるイベントの発生に応答してメインCPU9が特定の処理をサブCPU8に実行させる第2の動作モードに移行する場合を仮定する。
【0030】
メインCPU9は,排他制御部5が出力するリクエスト受付可能か否かを示すステータス信号s5を監視し,ステータス信号s5がメインCPU9からリクエスト受付可能状態「0h」であることを確認して,排他制御部5にリクエスト信号s4を発行する。これに応答して,排他制御部5はステータス信号s5をメインCPU9からリクエスト受付状態「2h」に変更する。メインCPU9は,ステータス信号s5が「2h」になったことを確認してから,サブCPU8の電源電圧の上昇コマンドCM1をコマンド信号s4xにより排他制御部5に発行する。これに応答して,排他制御部5は,そのコマンドCM1を制御コマンド信号s10により電源・クロック制御部4に発行する。これに応答して,電源・クロック制御部4は,そのコマンドCM1を電源制御信号s12により制御インターフェース10に発行する。その結果,電源IC3内のCPUs電源供給部14が,サブCPU8の電源電圧p1を上昇させる。この場合も,電源供給部14は電圧レギュレータであり,ポンピング動作により電源電圧を昇圧する回路であるので,昇圧動作により電源電圧を上昇するにはある程度の時間が必要になる。また,電源電圧p1の上昇に要する時間は,電源ドメイン8の特性にも依存する。
【0031】
電源・クロック制御部4は,CPUs電源供給部14の電源状態信号s1を監視し,電源電圧p1が保証電圧Vdd0に達したことを示す電源状態信号s1=Hを確認してから,完了通知信号s11を排他制御部5に出力する。排他制御部5は,この完了通知信号s11に応答して,ステータス信号s5をリクエスト受付可能状態「0h」に変更する。図中,期間t10が電源電圧p1の電圧上昇期間であり,この期間t10の間は電源電圧変更が完了していないので,排他制御部5は,サブCPU8からのリクエストは受け付けない。
【0032】
サブCPU8は,メインCPU9からの割り込み信号INTmに応答して,特定の処理を実行する。そのために,待機状態よりも電源p1の電圧を高くし,クロックs6の周波数を高くすることが必要になる。メインCPU9からの制御により電源制御ユニット1が電源p1の電圧を高く制御する。その後,サブCPU8は,電源制御ユニット1にクロックs6の周波数を高くする要求を出す。
【0033】
具体的には,サブCPU8はリクエスト信号s3を発行して排他制御部5のステータス信号がリクエスト受付状態「1h」になるのを監視する。排他制御部5は,前述のとおり完了通知信号s11を受信するまではステータス信号s5をリクエスト受付可能状態「0h」にはせずに,サブCPU8からのリクエスト信号s3を受け付けない。電源・クロック制御部4が電源電圧p1が保証電圧Vdd0まで上昇したことを電源状態信号s1=Hで確認して完了通知信号s11を出力すると,排他制御部5は,ステータス信号s5を受付可能状態「0h」にする。このとき,サブCPU8からのリクエスト信号s3が排他制御部5により受け付けられ,排他制御部5は,ステータス信号s5をサブCPU8からのリクエスト受付状態「1h」にする。サブCPU8は,ステータス信号s5=1hから自身のリクエストが受け付けられたことを確認し,クロック周波数を上昇するコマンドCM2を,コマンド信号s3xにより排他制御部5に発行する。
【0034】
排他制御部5は,電源・クロック制御部4にこのコマンドCM2を制御コマンド信号S10により有効にし,電源・クロック制御部4は,このコマンドCM2をクロック制御信号s13によりクロック生成部16に発行する。これに応答して,クロック生成部16は,サブCPU8のクロックs6の周波数を上昇させる。図中,期間t12がクロックs6の周波数が上昇する期間である。クロック生成部16は,電源上昇動作よりも短時間でクロック周波数を上げることができる。
【0035】
クロック周波数の上昇は短時間で完了するので,電源・クロック制御部4は,コマンドCM2を発行してから所定時間後に完了通知信号s11を出力し,それに応答して,排他制御部5はステータス信号s5を「0h」に戻す。これにより,CPU8,9からのリクエスト受付可能状態になる。
【0036】
以上のように,電源制御ユニット1は,メインCPU9からの電源変更要求に応答して電源変更を電源ICに要求するが,その電源変更が完了するまでは,サブCPU8からのクロック周波数変更要求を受け付けない。ただし,電源変更が完了するとすぐにサブCPU8からの要求を受け付ける。よって,第1の実施の形態の電源制御ユニット1は,システムLSIのデバイス特性に応じた最適なタイミングで電源電圧変更とクロック周波数変更のシーケンスを制御することができる。そして,サブCPU8の電源電圧p1が保証電圧Vdd0に上昇する前にクロックs6の周波数が上昇して誤動作を招くことが回避される。
【0037】
なお,上記の第2の動作モードで,サブCPU8が特定の処理を実行するに際してロジック回路7による処理(例えば画像処理など)が必要な場合は,サブCPU8が電源制御ユニット1を介してロジック回路7の電源電圧p5の上昇とクロックp9の周波数の上昇を要求する。
【0038】
[第2の実施の形態]
図6は,第2の実施の形態におけるマルチCPUを有するシステムLSIの構成図である。第2の実施の形態では,CPUm電源供給部14とロジック回路7とサブCPU8との間に電源スイッチ22,23を有し,CPUm電源供給部14がその電源電圧p1をロジック回路7とサブCPU8の電源ドメインに電源スイッチ22,23を介して供給する。電源スイッチ22,23を設けることで,休止状態のロジック回路7とサブCPU8への電源電圧p1を遮断して,それらの回路内のリーク電流による電力消費をなくすことができる。
【0039】
第2の実施の形態においても,第1の実施の形態と同様に,電源制御ユニット1が排他制御部5と電源・クロック制御部4とを有し,電源・クロック制御部4は,電源電圧p1,p2の変更コマンドを電源制御信号s12により発行した後は,電源ICの電源状態信号s1,s2を監視し,電源電圧の変更完了を示すs1,s2=Hに応答して,完了通知信号s11を排他制御部5に出力する。
【0040】
図7は,第2の実施の形態における電源制御シーケンスを示す波形図である。最初の状態では,サブCPU8への電源スイッチ23はON状態(s15=H),ロジック回路7への電源スイッチ22はOFF状態(s14=L)にあり,電源p1がサブCPU8の電源ドメインの電源p1bとして供給され,ロジック回路7の電源ドメインの電源p1aとしては供給されていない。つまり,サブCPU8は動作状態にあるが,ロジック回路7は休止状態にある。
【0041】
第1の実施の形態と同様に第1の動作モードから第2の動作モードに移行する場合を仮定すると,メインCPU9は,ステータス信号s5がリクエスト受付状態「0h」を確認して,リクエスト信号s4を排他制御部5に出力する。これに応答して排他制御部5は,リクエストを受け付けたことを示すステータス信号s5=2hを出力する。これに応答して,メインCPU9は電源電圧p1の電圧上昇要求コマンドCM1をコマンド信号s3xにより排他制御部5に出力する。その後の電源電圧p1の電圧上昇シーケンスは,第1の実施の形態と同じである。
【0042】
電源p1の電圧上昇要求コマンドCM1に応答して,電源IC3のCPUm電源供給部14は電源p1の電圧を上昇させる。これによりON状態の電源スイッチ23を介してサブCPU8の電源p1bの電圧も期間10で上昇する。電源p1の電圧が保証電圧Vdd0に達するまでは,排他制御部5は,サブCPU8からのリクエスト信号s3は受け付けない。
【0043】
電源p1の電圧が保証電圧Vdd0に達すると電源状態信号s1=Hになり,制御部4は完了通知信号s11を出力する。これにより,排他制御部5はステータス信号s5=0hにしてサブCPU8からのリクエスト信号s3を受け付け,更に,サブCPU8からのクロックs6の周波数上昇コマンドCM2をコマンド信号s3xにより受信し,そのコマンドCM2を制御部4に転送し,ステータス信号s5=1hにする。コマンドCM2には,ロジック回路7の電源ONとクロックONの要求も含まれている。
【0044】
制御部4は,コマンドCM2をクロック制御信号s13によりクロック生成部16に出力すると共に,制御信号s14=Hにより電源スイッチ22をON状態にし,ロジック回路7の電源p1aの電圧も上昇させる。すでに,CPUm電源供給部14が生成する電源p1は保証電圧Vdd0に達しているので,この電源スイッチ22のONによりロジック回路7の電源p1aの電圧は短時間で保証レベルに上昇する。同時に,クロック生成部16はコマンドCM2に応答してサブCPU8のクロックs6の周波数を上昇させるとともに,ロジック回路7のクロックs9の供給を開始する。このクロックs9はクロックs6と同様に高速クロックである。図中,期間t14の短い時間でスイッチ22の導通と,クロックs6の周波数変更と,クロックs9の供給開始とが行われる。
【0045】
そして,制御部4は,上記のコマンドCM2に対応する処理を行った後,完了通知信号s11を排他制御部5に出力し,排他制御部5は,ステータス信号s5を「0h」に変更する。これにより,それ以降のCPUからのリクエストを受付可能状態になる。
【0046】
上記の第2の実施の形態では,サブCPU8とロジック回路7の電源p1b,p1aに電源スイッチ23,22を設けて,サブCPU8はロジック回路7が休止状態になるときに電源スイッチ23,22をオフ状態にして,サブCPU8やロジック回路7内のリーク電流による消費電力をなくすようにしている。そして,第1の動作モードでは,ロジック回路7が休止状態にあり電源スイッチ22がオフ状態にされ,クロックs9も停止している。また,サブCPU8は動作状態にあり電源スイッチ23はオン状態にされ,クロックs6は低周波数であるが供給されている。そして,メインCPU9が割り込み信号INTmによりサブCPU8に特定の処理を要求すると共にその電源p1を上昇するコマンドを発行した後,サブCPU8は,自分のクロックs6の周波数上昇と,特定の処理に必要なロジック回路7の電源スイッチ22のONとクロックs9の供給開始とを,コマンドCM2により要求する。この場合,期間t14では,すでに電圧レギュレータからなるCPUs電源供給部14は,電源p1の電圧上昇動作を完了しているので,電源スイッチ22をONにすれば,ロジック回路7の電源p1aも短時間で上昇する。よって,期間t14では,ロジック回路7の電源スイッチ22のONと,クロックs9の供給開始とを行うことができる。
【0047】
[第3の実施の形態]
図8は,第3の実施の形態におけるマルチCPUを有するシステムLSIの構成図である。第3の実施の形態では,システムLSI2内の電源制御ユニット1は,排他制御部5と電源・クロック制御部4に加えて,基準クロックCLKをカウントするタイマ部27を有する。排他制御部5は,制御部4からの完了信号s11とタイマ部27からのカウント終了信号s17とに応じて,ステータス信号s5を「0h」に変更する。そして,電源・クロック制御部4は,電源IC3からの電源状態信号を監視するのではなく,タイマ部27によるカスタマイズされた時間のカウント動作完了に応答して,ステータス信号s5をリクエスト受付可能状態(s5=0h)にする。タイマ部27のカウント時間またはカウント数は,外部調整信号E−TRまたはCPU9からの図示しない制御信号により,最適な時間またはカウント数に設定可能に構成されている。それ以外のシステムLSI2と電源IC3の構成は,第1の実施の形態と同じである。
【0048】
図9は,第3の実施の形態における電源制御シーケンスを示す波形図である。前述と同様に第1の動作モードから第2の動作モードに移ることを仮定して説明する。第1の実施の形態と同様に,メインCPU9は,ステータス信号s5がリクエスト受付状態「0h」のときにリクエスト信号s4を出力すると,排他制御部5はリクエストを受け付けてステータス信号s5を「2h」にする。これにより更なるリクエストの受付は禁止される。このs5=2hに応答して,メインCPU9は,電源p1の電圧上昇コマンドCM1をコマンド信号s4xにより出力する。排他制御部5と制御部4は,このコマンドCM1を制御コマンド信号s10,電源制御信号s12によりそれぞれ出力する。電源制御信号s12に応答して,制御インターフェース10はCPUs電源供給部14に電源p1の電圧を上昇する制御を行う。これにより,期間t10で電源p1は保証電圧Vdd0まで上昇する。
【0049】
同時に,制御部4は,タイマ部27にカウント要求信号s16を出力し,タイマ部27は基準クロックCLKのカウントを開始し,あらかじめ設定されていたカウント数カウントした後にカウント終了信号s17を排他制御部5に出力する。このカウント数は,電源p1の上昇完了に要する時間に対応しており,システムLSI2内の電源ドメイン8に固有のカウント数である。これに応答して,排他制御部5はステータス信号s5を「0h」に戻す。
【0050】
サブCPU8からのリクエスト信号s3は,ステータス信号s5=0hで排他制御部5により受け付けられ,排他制御部5はステータス信号s5を「1h」にする。これにより更なるリクエストの受付は禁止される。そして,サブCPU8は,自分のリクエストが受け付けられたことをs5=1hにより確認してから,クロックs6の周波数上昇コマンドCM2をコマンド信号s3xにより排他制御部5に出力する。このコマンドCM2は制御部4に転送され,制御部4は,そのコマンドCM2をクロック制御信号s13によりクロック生成部16に転送する。これに応答して,クロック生成部16は,クロックs6の周波数を上昇させる。図中,期間t12でクロックs6の周波数が上昇している。制御部4は,クロック周波数上昇の要求を出した後に,所定時間t12経過後に,完了通知信号s11を排他制御部5に出力する。これにより,ステータス信号s5はリクエスト受付状態「0h」になる。
【0051】
以上第3の実施の形態では,タイマ部17を設け,そのタイマ部17によるカウント数またはタイマ時間をあらかじめシステムLSI2に最適な値に設定する。その結果,サブCPU8の電源電圧p1が保証電圧Vdd0に上昇する前に,クロックs6の周波数が上昇して誤動作を招くことが回避できる。しかも,タイマ部17のカウント数が最適化されているので,電源上昇とクロック周波数上昇の制御シーケンスを短時間で行うことが可能になる。
【0052】
[第4の実施の形態]
図10は,第4の実施の形態におけるマルチCPUを有するシステムLSIの構成図である。第4の実施の形態は,第3の実施の形態のタイマ部17を第2の実施の形態に適用したものである。したがって,第4の実施の形態のシステムLSI2は,第2の実施の形態と同様に,電源スイッチ22,23を有し,制御部4が電源スイッチ制御信号s14,s15により電源スイッチ22,23のオン,オフを制御する。また,CPUs電源供給部14が生成する電源電圧p1が電源スイッチ22,23を介して,ロジック回路7とサブCPU8とに供給される。また,電源制御ユニット1内には,タイマ部17が設けられている。ただし,電源IC3は電源状態信号を出力していない。
【0053】
図11は,第4の実施の形態における電源制御シーケンスを示す波形図である。最初の電源スイッチ22,23による電源p1a,p1bとクロックs9の状態は,図7と同じである。そして,メインCPU9のリクエスト信号s4,コマンドs4x,ステータス信号s5などは,図9と同じである。制御部4は,電源制御信号s12により電源p1の上昇を要求するとともに,タイマ部17にカウント要求信号s16を出力する。それにより,期間t10の間に電源p1の電圧が上昇する。タイマ部17には,第3の実施の形態と同様に,電源ドメイン8に最適なカウント数またはタイマ時間が設定されていて,タイマ部17はカウント要求信号s16に応答してカウントを開始する。そして,タイマ部17は,カウント終了するとカウント終了時間s17を排他制御部5に出力し,排他制御部5は,ステータス信号s5を「0h」に変更する。これにより,排他制御部5は,サブCPU8からのリクエスト信号s3を受け付け,ステータス信号s5を「1h」にし,それ以降のメインCPU9からのリクエストを受け付けない状態にする。その後は,サブCPU8が,クロックs6の周波数上昇要求と電源スイッチ22のON要求とクロックs9の供給開始要求を含むコマンドCM2を出力し,電源制御ユニット1がそれに対応する制御を行う。この制御は,第2の実施の形態と同じである。この制御終了後に制御部4が完了通知信号s11を出力すると,排他制御部5はステータス信号s5=0hにしてリクエスト受信可能状態にする。時間t14では,クロックs6の周波数上昇と,電源スイッチ22のON要求と,クロックs9の供給開始が行われる。
【0054】
なお,電源ドメインの電源電圧を低下させてそこに属する回路のクロック周波数を低下させる場合は,最初にクロック周波数を低下させ,その後電源電圧を低下させることが求められる。
【0055】
以上のとおり,第1〜第4の実施の形態によれば,電源制御ユニット1が,複数のCPUから個別に要求される電源電圧の変更要求とクロック周波数の変更要求とを排他的に受け付けて,電源電圧変動が完了する前にクロック周波数が変更されて誤動作に至ることを回避することができる。
【0056】
上記の実施の形態において,システムLSI2に内蔵されているクロック発生部16は,外付けICであってもよい。逆に,外付けの電源IC3は,システムLSI2内に内蔵されてもよい。また,電源制御ユニット1も,外付けICであってもよい。さらに,電源IC3が生成する電源は,全て電源スイッチを介して電源ドメイン6,7,8,9,37に供給されても良い。
【0057】
以上の実施の形態をまとめると,次の付記のとおりである。
【0058】
(付記1)
第1,第2のCPUがそれぞれ属する第1,第2の電源ドメインの電源電圧を制御する電源制御装置において,
前記第1,第2の電源ドメインに第1,第2の電源電圧をそれぞれ供給する電源装置と,第1,第2のクロックを生成し前記第1,第2のCPUにそれぞれ供給するクロック生成部とに接続された電源クロック制御部を有し,
前記電源クロック制御部は,前記第1のCPUからの前記第2の電源ドメインの電源電圧変更要求に応答して,前記電源装置に前記第2の電源電圧を変更させ,前記第2のCPUからの前記第2のクロック周波数変更要求に応答して,前記クロック生成部に前記第2のクロックの周波数を変更させ,
さらに,前記電源クロック制御部は,前記第2の電源ドメインの電源電圧変更要求に応答して,前記第2の電源電圧が要求電圧に達するまでの期間,前記第2のクロック周波数変更要求を受け付けないことを特徴とする電源制御装置。
【0059】
(付記2)
付記1に記載の電源制御装置において,
前記電源クロック制御部は,前記電源装置から供給される前記第2の電源電圧の状態を示す第2の電源電圧状態信号を監視し,前記第2の電源電圧が要求電圧に達するまでの期間を,当該第2の電源電圧状態信号により検出することを特徴とする電源制御装置。
【0060】
(付記3)
付記1に記載の電源制御装置において,
前記電源クロック制御部は,タイマ部を有し,前記第2の電源電圧が要求電圧に達するまでの期間を,前記タイマ部が前記第2の電源電圧変更要求に応答して開始したタイマカウントの終了を示すタイマカウント終了信号により検出し,当該タイマ部のタイマカウント時間は,電源ドメイン毎にカスタマイズされることを特徴とする電源制御装置。
【0061】
(付記4)
付記1に記載の電源制御装置において,
前記電源クロック制御部は,前記第1または第2のCPUからの要求受付可能状態を示すステータス信号を前記第1,第2のCPUに出力し,一方のCPUからの要求を受け付けた後は当該要求に対する変更動作が完了するまで前記ステータス信号を要求受付不能状態に保ち他方のCPUからの要求を受け付けない排他制御部を有することを特徴とする電源制御装置。
【0062】
(付記5)
電源装置から電源電圧を供給されクロック生成部からクロックを供給されるシステムLSIにおいて,
第1,第2の電源ドメインにそれぞれ属する第1,第2のCPUと,
前記第1,第2の電源ドメインの第1,第2の電源電圧を制御する電源制御ユニットとを有し,
前記電源制御ユニットは,前記第1のCPUからの前記第2の電源ドメインの電源電圧変更要求に応答して,前記電源装置に前記第2の電源電圧を変更させ,前記第2のCPUからの前記第2のクロック周波数変更要求に応答して,前記クロック生成部に前記第2のクロックの周波数を変更させ,
さらに,前記電源制御ユニットは,前記第2の電源ドメインの電源電圧変更要求に応答して,前記第2の電源電圧が要求電圧に達するまでの期間,前記第2のクロック周波数変更要求を受け付けないことを特徴とするシステムLSI。
【0063】
(付記6)
付記5に記載のシステムLSIにおいて,
前記電源制御ユニットは,前記電源装置から供給される前記第2の電源電圧の状態を示す第2の電源電圧状態信号を監視し,前記第2の電源電圧が要求電圧に達するまでの期間を,当該第2の電源電圧状態信号により検出することを特徴とするシステムLSI。
【0064】
(付記7)
付記5に記載のシステムLSIにおいて,
前記電源制御ユニットは,タイマ部を有し,前記第2の電源電圧が要求電圧に達するまでの期間を,前記タイマ部が前記第2の電源電圧変更要求に応答して開始したタイマカウントの終了を示すタイマカウント終了信号により検出し,当該タイマ部のタイマカウント時間は,電源ドメイン毎にカスタマイズされることを特徴とするシステムLSI。
【0065】
(付記8)
付記5に記載のシステムLSIにおいて,
前記電源制御ユニットは,前記第1または第2のCPUからの要求受付可能状態を示すステータス信号を前記第1,第2のCPUに出力し,一方のCPUからの要求を受け付けた後は当該要求に対する変更動作が完了するまで前記ステータス信号を要求受付不能状態に保ち他方のCPUからの要求を受け付けない排他制御部を有することを特徴とするシステムLSI。
【0066】
(付記9)
付記5に記載のシステムLSIにおいて,
前記電源制御ユニットは,常時オン状態の電源ドメインに属することを特徴とするシステムLSI。
【0067】
(付記10)
付記5に記載のシステムLSIにおいて,
さらに,第3の電源ドメインに属するロジック回路と,
前記第2のCPUが属する第2の電源ドメインと前記第2の電源電圧との間の第1の電源スイッチと,
前記ロジック回路が属する第3の電源ドメインと前記第2の電源電圧との間の第2の電源スイッチとを有し,
前記電源制御ユニットは,前記第2の電源電圧変更要求に応答して,前記第1の電源スイッチを導通状態に保った状態で前記電源装置に前記第2の電源電圧を変更させ,前記第2のクロック周波数変更要求に応答して,前記第2の電源スイッチを導通状態に制御し,前記クロック生成部に第3のクロックの前記ロジック回路への供給を開始させることを特徴とするシステムLSI。
【0068】
(付記11)
付記5に記載のシステムLSIにおいて,
前記電源制御ユニットは,前記ロジック回路が休止状態のときは,前記第1の電源スイッチを非導通状態に制御し,前記クロック生成部から前記第3のクロックの供給を停止させること特徴とするシステムLSI。
【0069】
(付記12)
付記5に記載のシステムLSIにおいて,
前記第1,第2のCPUは互いに割り込み信号を供給することを特徴とするシステムLSI。
【図面の簡単な説明】
【0070】
【図1】複数のCPUを有するシステムLSIの構成図である。
【図2】図1のシステムLSIにおける電源制御シーケンスを示す波形図である。
【図3】図1のシステムLSIにおける誤動作を伴う電源制御シーケンスを示す波形図である。
【図4】第1の実施の形態におけるマルチCPUを有するシステムLSIの構成図である。
【図5】第1の実施の形態における電源制御シーケンスを示す波形図である。
【図6】第2の実施の形態におけるマルチCPUを有するシステムLSIの構成図である。
【図7】第2の実施の形態における電源制御シーケンスを示す波形図である。
【図8】第3の実施の形態におけるマルチCPUを有するシステムLSIの構成図である。
【図9】第3の実施の形態における電源制御シーケンスを示す波形図である。
【図10】第4の実施の形態におけるマルチCPUを有するシステムLSIの構成図である。
【図11】第4の実施の形態における電源制御シーケンスを示す波形図である。
【符号の説明】
【0071】
1:電源制御ユニット
2:システムLSI 3:電源装置
4:電源・クロック制御部 5:排他制御部
9:第1の電源ドメイン 8:第2の電源ドメイン
9:第1のCPU 8:第2のCPU
p2:第1の電源 p1:第2の電源
s7:第1のクロック s6:第2のクロック
16:クロック生成部
【技術分野】
【0001】
本発明は,電源制御装置及びその電源制御装置を有するシステムLSIに関し,特に,複数のCPUに対応する電源ドメインの電源電圧とクロック周波数とを制御する電源制御装置及びその電源制御装置を有するシステムLSIに関する。
【背景技術】
【0002】
次世代のLSIは,複数のCPUコア(以下単にCPUと称する)や複数のロジック回路ブロックなどを有し,それぞれが別々の電源ドメイン(電源領域)に属している。LSI内を複数の電源ドメインに分離することで,ある電源ドメインに属するCPUやロジック回路ブロックの動作状態に起因して発生する電源ノイズが,他の電源ドメインに属するCPUやロジック回路ブロックに影響を与えることを抑えることができる。
【0003】
さらに,次世代のシステムLSIは消費電力を抑えることが重要な課題になっている。そこで,複数の電源ドメインに属するCPUやロジック回路ブロックの動作状態に応じて,各電源ドメインの電源電圧を個別に制御し,同時にクロック周波数を個別に制御することが提案されている。例えば,以下の特許文献1や非特許文献1などである。
【0004】
特に,CPUに特定の処理プログラムを実行させる場合や特定のロジック回路ブロックを動作させる場合は,必要な動作クロック周波数と電源電圧があらかじめ予測可能である。そこで,特定の処理の実行開始前にその処理を行うCPUやロジック回路ブロックの電源電圧を必要なレベルに上昇させ,その後動作クロック周波数を必要なレベルに上昇させることで,特定の処理を実行していない間の消費電力を抑制することができる。
【0005】
このように,次世代のLSIは,内部にまたは外付けで電源制御装置を有し,電源制御装置が複数の電源ドメインの電源電圧と動作クロック周波数とを個別に制御し,LSI全体の消費電力を抑制する。
【特許文献1】特開平7−325647号公報
【非特許文献1】ISSCC 2007レポート「IBMの次世代プロセッサ「POWER6」の全容 http://pc.watch.impress.co.jp/docs/2007/-215/iscc04.htm
【発明の開示】
【発明が解決しようとする課題】
【0006】
複数のCPUを有するLSIでは,第1のCPUが第2のCPUに割り込みを発生して第2のCPUに特定の処理を実行させる。また,第1,第2のCPUが逆の関係になる場合もある。このような場合,一方のCPUが異なる電源ドメインに属する他方のCPUの電源電圧を上昇する要求を発行し,他方のCPUが動作クロック周波数を上昇する要求を発行する。そして,電源制御装置は,これらの要求に応答して,電源電圧の変更制御と,動作クロック周波数の変更制御を行う。
【0007】
電源ドメインにおける電源電圧を上昇させるためには,当該電源電圧を供給する電源装置に電源電圧を上昇させることが必要になり所定の時間を要するので,通常は,電源電圧の上昇要求の発行から当該所定の時間経過後に動作クロック周波数の上昇要求を発行している。
【0008】
しかしながら,電源電圧の上昇に要する時間は,LSIの製造ばらつきに起因してLSI毎に異なる場合がある。そのため,上記の所定の時間は製造ばらつきを吸収できる程度に長く設定することが行われる。ただし,その場合は,特定の処理が開始されるまでに要する時間が長くなるという課題がある。
【0009】
一方で,この所定の時間を短く設定すると,電源電圧が保証されたレベルまで上昇するまえに動作クロック周波数の周波数が上昇してしまい,CPUやロジック回路ブロックの誤動作を招くことになる。
【0010】
そこで,本発明の目的は,電源電圧変動時に誤動作を発生することなく電源電圧変動シーケンスを実行できる電源制御装置を提供することにある。
【課題を解決するための手段】
【0011】
上記の目的を達成するために,本発明の第1の側面によれば,第1,第2のCPUがそれぞれ属する第1,第2の電源ドメインの電源電圧を制御する電源制御装置において,前記第1,第2の電源ドメインに第1,第2の電源電圧をそれぞれ供給する電源装置と,第1,第2のクロックを生成し前記第1,第2のCPUにそれぞれ供給するクロック生成部とに接続された電源クロック制御部を有する。そして,電源クロック制御部は,第1のCPUからの前記第2の電源ドメインの電源電圧変更要求に応答して,前記電源装置に前記第2の電源電圧を変更させ,前記第2のCPUからの前記第2のクロック周波数変更要求に応答して,前記クロック生成部に前記第2のクロックの周波数を変更させる。さらに,前記電源クロック制御部は,前記第2の電源ドメインの電源電圧変更要求に応答して,前記第2の電源電圧が要求電圧に達するまでの期間,前記第2のクロック周波数変更要求を受け付けない。
【0012】
上記の第1の側面において好ましい態様によれば,前記電源クロック制御部は,前記電源装置から前記第2の電源電圧の状態を示す第2の電源電圧状態信号を監視し,前記第2の電源電圧が要求電圧に達するまでの期間を,当該第2の電源電圧状態信号により検出する。
【0013】
上記の第1の側面において好ましい態様によれば,前記電源クロック制御部は,タイマ部を有し,前記第2の電源電圧が要求電圧に達するまでの期間を,前記タイマ部が前記第2の電源電圧変更要求に応答してタイマカウント開始した後にタイマカウント終了信号により検出し,当該タイマ部のタイマカウント時間は,電源ドメイン毎にカスタマイズされる。
【0014】
上記の目的を達成するために,本発明の第2の側面によれば,電源装置から電源電圧を供給されクロック生成部からクロックを供給されるシステムLSIにおいて,第1,第2の電源ドメインにそれぞれ属する第1,第2のCPUと,前記第1,第2の電源ドメインの第1,第2の電源電圧を制御する電源制御ユニットとを有する。そして,前記電源制御ユニットは,前記第1のCPUからの前記第2の電源ドメインの電源電圧変更要求に応答して,前記電源装置に前記第2の電源電圧を変更させ,前記第2のCPUからの前記第2のクロック周波数変更要求に応答して,前記クロック生成部に前記第2のクロックの周波数を変更させ,さらに,前記電源制御ユニットは,前記第2の電源ドメインの電源電圧変更要求に応答して,前記第2の電源電圧が要求電圧に達するまでの期間,前記第2のクロック周波数変更要求を受け付けない。
【発明の効果】
【0015】
本発明によれば,電源電圧の変更が完了した後にクロック周波数の変更制御が行われる。
【発明を実施するための最良の形態】
【0016】
以下,図面にしたがって本発明の実施の形態について説明する。但し,本発明の技術的範囲はこれらの実施の形態に限定されず,特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【0017】
図1は,複数のCPUを有するシステムLSIの構成図である。システムLSI35は,それぞれ異なる電源ドメインに属するメインCPU9と,サブCPU8と,ロジック回路6,7とを有する。さらに,LSI35は,常時電源が供給されている常時ON電源ドメイン37を有し,この電源ドメイン37には,電源制御装置(電源制御ユニット:PMU)34と,クロック生成部16とが属している。そして,電源制御ユニット34は,外付けの電源装置が生成する複数の電源ドメインの電源電圧p1〜p4を制御し(オン,オフ,電圧上昇,電圧下降),CPU9,8とロジック回路6,7のクロック周波数s6〜s9を制御する電源・クロック制御部36を有する。
【0018】
電源装置(パワーIC)3は,電源供給部11,12,13,14,15と,電源・クロック制御部36からの制御要求を受信して電源供給部11,12,13,14,15の電源電圧のオンとオフ及び電源電圧の上昇と下降を制御する制御インターフェース10とを有する。常時ON電源供給部11と,ロジック回路A電源供給部12と,ロジック回路B電源供給部13と,CPUs電源供給部14と,CPUm電源供給部15とは,それぞれ電源電圧p3,p4,p5,p1,p2を生成する電圧レギュレータ回路であり,各電源ドメイン37,6,7,8,9に対応する電源電圧p3,p4,p5,p1,p2を供給する。ただし,常時ON電源供給部11は,常時ON電源ドメイン37に供給する電源電圧を常時ON状態にする。
【0019】
このようにシステムLSI35内を複数の電源ドメイン37,6,7,8,9に分離し,電源IC3には,それぞれの電源ドメインに電源電圧p3,p4,p5,p1,p2をそれぞれ供給する電源供給部11,12,13,14,15を設けている。これにより,各電源ドメインの電源電圧のオンとオフ,上昇と下降を別々に行うことができ,LSI35内の処理に最も適し且つ省電力の電源供給を行うことができる。
【0020】
電源制御ユニット34内の電源・クロック制御部36は,外部からの割り込み信号E−INTや,CPU8,9からの制御要求S19,S20に応答して,電源電圧の制御を指示する電源制御信号S12を電源装置3に供給し,クロックのオン,オフ及びクロック周波数の上昇と下降の制御を指示するクロック制御信号S13をクロック生成部16に供給する。電源制御信号S12に応答して,制御インターフェース10は電源供給部11〜15を制御する。また,クロック制御信号S13に応答して,クロック生成部16はクロックS6,S7,S8,S9のオン,オフ,周波数上昇,下降を制御する。
【0021】
図2は,図1のシステムLSIにおける電源制御シーケンスを示す波形図である。図1のシステムLSIは,分離された複数の電源ドメインを有し,それぞれの電源ドメインの電源電圧が別々に制御され,更に,各電源ドメインに属するCPU8,9やロジック回路6,7のクロック周波数も別々に制御される。たとえば,第1の動作モードではメインCPU9が所定の処理を実行しサブCPU8が待機状態にあり,そして,あるイベントの発生に応答してメインCPU9が特定の処理をサブCPU8に実行させる第2の動作モードに移行する場合を仮定する。
【0022】
この場合,メインCPU9が属する電源ドメインの電源電圧p2は高い電圧Vdd0に制御され,メインCPU9のクロックs7は高い周波数に制御されている。そして,待機状態では,サブCPU8の電源電圧p1は低電圧に制御され,クロック周波数s7は低周波数に制御されている。そこで,メインCPU9は,サブCPU8に割り込み信号INTmを発行するとともに,電源・クロック制御部36に電源電圧p1を上昇する制御信号(Vdd−up)S20を発行する。この制御信号S20に応答して,電源・クロック制御部36が,電源制御信号S12を発行して,電源IC3内のCPUs電源供給部14の電源電圧p1を上昇させる。電源供給部14は,電圧レギュレータであり,ポンピング動作により電源電圧を昇圧する回路であるので,電源電圧を上昇するにはある程度の時間が必要になる。
【0023】
その後,電源電圧p1が要求された変更後の電圧である保証電圧Vdd0に上昇するまでの一定時間経過後に,サブCPU8がクロックs6の周波数を上昇する制御信号(clk−up)S19を発行する。この制御信号S19に応答して,電源・クロック制御部36が,クロック制御信号S13を発行して,クロック生成部16にクロックs6の周波数を上昇させる。以上が正常な電源制御シーケンスである。
【0024】
図3は,図1のシステムLSIにおける誤動作を伴う電源制御シーケンスを示す波形図である。図2と同様に第1の動作モードから第2の動作モードに移行する場合を仮定している。図2と同様に,メインCPU9が,電源・クロック制御部36に電源電圧p1を上昇する制御信号(Vdd−up)S20を発行し,一定時間経過後に,サブCPU8がクロックs6の周波数を上昇する制御信号(clk−up)S19を発行する。ただし,サブCPU8が属する電源ドメインの電源電圧p1の立ち上がりが図2の場合よりも遅い場合,もしくは前記一定時間よりも短い時間経過後にサブCPU8がクロックs6の周波数を上昇する制御信号(clk−up)S19を発行する場合は,期間t1において,サブCPU8の電源電圧p1が保証電圧Vdd0に達しない状態で,サブCPU8のクロックs6の周波数が高くなる。そのため,期間t1では,サブCPU8は低い電源電圧p1の状態で高い動作周波数で動作することになり,誤動作を招く。
【0025】
そこで,図3のような誤動作を招かないような電源シーケンス制御が必要になる。
【0026】
[第1の実施の形態]
図4は,第1の実施の形態におけるマルチCPUを有するシステムLSIの構成図である。システムLSI2は,図1と同様に,それぞれ異なる電源ドメインに属するメインCPU9と,サブCPU8と,ロジック回路6,7とを有する。よって,電源ドメイン6,7,8,9とロジック回路6,7,CPU8,9とは同じ引用文献番号を与えている。さらに,システムLSI2は,常時電源が供給されている常時ON電源ドメイン37を有し,この電源ドメイン37には,電源制御装置(電源制御ユニット:PMU)1と,クロック生成部16とが属している。そして,電源制御ユニット1は,電源・クロック制御部4と,排他制御部5とを有する。電源クロック制御部4は,複数の電源ドメイン8,9,37,6,7の電源電圧p1〜p4を制御し,CPU9,8とロジック回路6,7のクロック周波数s6〜s9を制御する。排他制御部5は,電源・クロック制御部4と2つのCPU8,9との間に設けられ,2つのCPU8,9からの制御リクエスト信号S3,4の受付を排他的に制御する。排他制御部5は,電源・クロック制御部4内に内蔵されていてもよい。
【0027】
電源IC3は,図1と同様の構成であるが,ただし,CPUs電源供給部14の電源電圧状態を示す電源状態信号s1と,CPUm電源供給部15の電源電圧状態を示す電源状態信号s2とを,電源・クロック制御部4に供給している。この電源状態信号s1,s2により,電源・クロック制御部4は,電源電圧の上昇または下降が完了したことを検出することができる。
【0028】
本実施の形態の電源・クロック制御部4は,排他制御部5と共に,一方のCPUからの電源変更の要求を受け付けた場合,その電源変更が完了するまでの間は,他方のCPUからのクロック周波数変更の要求を受け付けない。この場合,電源変更の要求とクロック周波数変更の要求とは,例えば,電源電圧を高く変更する要求と,クロック周波数を高く変更する要求とである。具体的には,排他制御部5と電源・クロック制御部4は,一方のCPUからの電源変更の要求を受け付けた時,電源IC3の制御インターフェース10に電源変更制御信号s12を供給し,対応する電源状態信号s1,s2を監視し,その電源電圧の変更が完了した時に,他のCPUからの要求を初めて受け付ける。電源電圧の変更が完了しない間は,他のCPUからの要求を受け付けない。
【0029】
図5は,第1の実施の形態における電源制御シーケンスを示す波形図である。図2,3と同様に,第1の動作モードではメインCPU9が所定の処理を実行し,サブCPU8が待機状態にあり,あるイベントの発生に応答してメインCPU9が特定の処理をサブCPU8に実行させる第2の動作モードに移行する場合を仮定する。
【0030】
メインCPU9は,排他制御部5が出力するリクエスト受付可能か否かを示すステータス信号s5を監視し,ステータス信号s5がメインCPU9からリクエスト受付可能状態「0h」であることを確認して,排他制御部5にリクエスト信号s4を発行する。これに応答して,排他制御部5はステータス信号s5をメインCPU9からリクエスト受付状態「2h」に変更する。メインCPU9は,ステータス信号s5が「2h」になったことを確認してから,サブCPU8の電源電圧の上昇コマンドCM1をコマンド信号s4xにより排他制御部5に発行する。これに応答して,排他制御部5は,そのコマンドCM1を制御コマンド信号s10により電源・クロック制御部4に発行する。これに応答して,電源・クロック制御部4は,そのコマンドCM1を電源制御信号s12により制御インターフェース10に発行する。その結果,電源IC3内のCPUs電源供給部14が,サブCPU8の電源電圧p1を上昇させる。この場合も,電源供給部14は電圧レギュレータであり,ポンピング動作により電源電圧を昇圧する回路であるので,昇圧動作により電源電圧を上昇するにはある程度の時間が必要になる。また,電源電圧p1の上昇に要する時間は,電源ドメイン8の特性にも依存する。
【0031】
電源・クロック制御部4は,CPUs電源供給部14の電源状態信号s1を監視し,電源電圧p1が保証電圧Vdd0に達したことを示す電源状態信号s1=Hを確認してから,完了通知信号s11を排他制御部5に出力する。排他制御部5は,この完了通知信号s11に応答して,ステータス信号s5をリクエスト受付可能状態「0h」に変更する。図中,期間t10が電源電圧p1の電圧上昇期間であり,この期間t10の間は電源電圧変更が完了していないので,排他制御部5は,サブCPU8からのリクエストは受け付けない。
【0032】
サブCPU8は,メインCPU9からの割り込み信号INTmに応答して,特定の処理を実行する。そのために,待機状態よりも電源p1の電圧を高くし,クロックs6の周波数を高くすることが必要になる。メインCPU9からの制御により電源制御ユニット1が電源p1の電圧を高く制御する。その後,サブCPU8は,電源制御ユニット1にクロックs6の周波数を高くする要求を出す。
【0033】
具体的には,サブCPU8はリクエスト信号s3を発行して排他制御部5のステータス信号がリクエスト受付状態「1h」になるのを監視する。排他制御部5は,前述のとおり完了通知信号s11を受信するまではステータス信号s5をリクエスト受付可能状態「0h」にはせずに,サブCPU8からのリクエスト信号s3を受け付けない。電源・クロック制御部4が電源電圧p1が保証電圧Vdd0まで上昇したことを電源状態信号s1=Hで確認して完了通知信号s11を出力すると,排他制御部5は,ステータス信号s5を受付可能状態「0h」にする。このとき,サブCPU8からのリクエスト信号s3が排他制御部5により受け付けられ,排他制御部5は,ステータス信号s5をサブCPU8からのリクエスト受付状態「1h」にする。サブCPU8は,ステータス信号s5=1hから自身のリクエストが受け付けられたことを確認し,クロック周波数を上昇するコマンドCM2を,コマンド信号s3xにより排他制御部5に発行する。
【0034】
排他制御部5は,電源・クロック制御部4にこのコマンドCM2を制御コマンド信号S10により有効にし,電源・クロック制御部4は,このコマンドCM2をクロック制御信号s13によりクロック生成部16に発行する。これに応答して,クロック生成部16は,サブCPU8のクロックs6の周波数を上昇させる。図中,期間t12がクロックs6の周波数が上昇する期間である。クロック生成部16は,電源上昇動作よりも短時間でクロック周波数を上げることができる。
【0035】
クロック周波数の上昇は短時間で完了するので,電源・クロック制御部4は,コマンドCM2を発行してから所定時間後に完了通知信号s11を出力し,それに応答して,排他制御部5はステータス信号s5を「0h」に戻す。これにより,CPU8,9からのリクエスト受付可能状態になる。
【0036】
以上のように,電源制御ユニット1は,メインCPU9からの電源変更要求に応答して電源変更を電源ICに要求するが,その電源変更が完了するまでは,サブCPU8からのクロック周波数変更要求を受け付けない。ただし,電源変更が完了するとすぐにサブCPU8からの要求を受け付ける。よって,第1の実施の形態の電源制御ユニット1は,システムLSIのデバイス特性に応じた最適なタイミングで電源電圧変更とクロック周波数変更のシーケンスを制御することができる。そして,サブCPU8の電源電圧p1が保証電圧Vdd0に上昇する前にクロックs6の周波数が上昇して誤動作を招くことが回避される。
【0037】
なお,上記の第2の動作モードで,サブCPU8が特定の処理を実行するに際してロジック回路7による処理(例えば画像処理など)が必要な場合は,サブCPU8が電源制御ユニット1を介してロジック回路7の電源電圧p5の上昇とクロックp9の周波数の上昇を要求する。
【0038】
[第2の実施の形態]
図6は,第2の実施の形態におけるマルチCPUを有するシステムLSIの構成図である。第2の実施の形態では,CPUm電源供給部14とロジック回路7とサブCPU8との間に電源スイッチ22,23を有し,CPUm電源供給部14がその電源電圧p1をロジック回路7とサブCPU8の電源ドメインに電源スイッチ22,23を介して供給する。電源スイッチ22,23を設けることで,休止状態のロジック回路7とサブCPU8への電源電圧p1を遮断して,それらの回路内のリーク電流による電力消費をなくすことができる。
【0039】
第2の実施の形態においても,第1の実施の形態と同様に,電源制御ユニット1が排他制御部5と電源・クロック制御部4とを有し,電源・クロック制御部4は,電源電圧p1,p2の変更コマンドを電源制御信号s12により発行した後は,電源ICの電源状態信号s1,s2を監視し,電源電圧の変更完了を示すs1,s2=Hに応答して,完了通知信号s11を排他制御部5に出力する。
【0040】
図7は,第2の実施の形態における電源制御シーケンスを示す波形図である。最初の状態では,サブCPU8への電源スイッチ23はON状態(s15=H),ロジック回路7への電源スイッチ22はOFF状態(s14=L)にあり,電源p1がサブCPU8の電源ドメインの電源p1bとして供給され,ロジック回路7の電源ドメインの電源p1aとしては供給されていない。つまり,サブCPU8は動作状態にあるが,ロジック回路7は休止状態にある。
【0041】
第1の実施の形態と同様に第1の動作モードから第2の動作モードに移行する場合を仮定すると,メインCPU9は,ステータス信号s5がリクエスト受付状態「0h」を確認して,リクエスト信号s4を排他制御部5に出力する。これに応答して排他制御部5は,リクエストを受け付けたことを示すステータス信号s5=2hを出力する。これに応答して,メインCPU9は電源電圧p1の電圧上昇要求コマンドCM1をコマンド信号s3xにより排他制御部5に出力する。その後の電源電圧p1の電圧上昇シーケンスは,第1の実施の形態と同じである。
【0042】
電源p1の電圧上昇要求コマンドCM1に応答して,電源IC3のCPUm電源供給部14は電源p1の電圧を上昇させる。これによりON状態の電源スイッチ23を介してサブCPU8の電源p1bの電圧も期間10で上昇する。電源p1の電圧が保証電圧Vdd0に達するまでは,排他制御部5は,サブCPU8からのリクエスト信号s3は受け付けない。
【0043】
電源p1の電圧が保証電圧Vdd0に達すると電源状態信号s1=Hになり,制御部4は完了通知信号s11を出力する。これにより,排他制御部5はステータス信号s5=0hにしてサブCPU8からのリクエスト信号s3を受け付け,更に,サブCPU8からのクロックs6の周波数上昇コマンドCM2をコマンド信号s3xにより受信し,そのコマンドCM2を制御部4に転送し,ステータス信号s5=1hにする。コマンドCM2には,ロジック回路7の電源ONとクロックONの要求も含まれている。
【0044】
制御部4は,コマンドCM2をクロック制御信号s13によりクロック生成部16に出力すると共に,制御信号s14=Hにより電源スイッチ22をON状態にし,ロジック回路7の電源p1aの電圧も上昇させる。すでに,CPUm電源供給部14が生成する電源p1は保証電圧Vdd0に達しているので,この電源スイッチ22のONによりロジック回路7の電源p1aの電圧は短時間で保証レベルに上昇する。同時に,クロック生成部16はコマンドCM2に応答してサブCPU8のクロックs6の周波数を上昇させるとともに,ロジック回路7のクロックs9の供給を開始する。このクロックs9はクロックs6と同様に高速クロックである。図中,期間t14の短い時間でスイッチ22の導通と,クロックs6の周波数変更と,クロックs9の供給開始とが行われる。
【0045】
そして,制御部4は,上記のコマンドCM2に対応する処理を行った後,完了通知信号s11を排他制御部5に出力し,排他制御部5は,ステータス信号s5を「0h」に変更する。これにより,それ以降のCPUからのリクエストを受付可能状態になる。
【0046】
上記の第2の実施の形態では,サブCPU8とロジック回路7の電源p1b,p1aに電源スイッチ23,22を設けて,サブCPU8はロジック回路7が休止状態になるときに電源スイッチ23,22をオフ状態にして,サブCPU8やロジック回路7内のリーク電流による消費電力をなくすようにしている。そして,第1の動作モードでは,ロジック回路7が休止状態にあり電源スイッチ22がオフ状態にされ,クロックs9も停止している。また,サブCPU8は動作状態にあり電源スイッチ23はオン状態にされ,クロックs6は低周波数であるが供給されている。そして,メインCPU9が割り込み信号INTmによりサブCPU8に特定の処理を要求すると共にその電源p1を上昇するコマンドを発行した後,サブCPU8は,自分のクロックs6の周波数上昇と,特定の処理に必要なロジック回路7の電源スイッチ22のONとクロックs9の供給開始とを,コマンドCM2により要求する。この場合,期間t14では,すでに電圧レギュレータからなるCPUs電源供給部14は,電源p1の電圧上昇動作を完了しているので,電源スイッチ22をONにすれば,ロジック回路7の電源p1aも短時間で上昇する。よって,期間t14では,ロジック回路7の電源スイッチ22のONと,クロックs9の供給開始とを行うことができる。
【0047】
[第3の実施の形態]
図8は,第3の実施の形態におけるマルチCPUを有するシステムLSIの構成図である。第3の実施の形態では,システムLSI2内の電源制御ユニット1は,排他制御部5と電源・クロック制御部4に加えて,基準クロックCLKをカウントするタイマ部27を有する。排他制御部5は,制御部4からの完了信号s11とタイマ部27からのカウント終了信号s17とに応じて,ステータス信号s5を「0h」に変更する。そして,電源・クロック制御部4は,電源IC3からの電源状態信号を監視するのではなく,タイマ部27によるカスタマイズされた時間のカウント動作完了に応答して,ステータス信号s5をリクエスト受付可能状態(s5=0h)にする。タイマ部27のカウント時間またはカウント数は,外部調整信号E−TRまたはCPU9からの図示しない制御信号により,最適な時間またはカウント数に設定可能に構成されている。それ以外のシステムLSI2と電源IC3の構成は,第1の実施の形態と同じである。
【0048】
図9は,第3の実施の形態における電源制御シーケンスを示す波形図である。前述と同様に第1の動作モードから第2の動作モードに移ることを仮定して説明する。第1の実施の形態と同様に,メインCPU9は,ステータス信号s5がリクエスト受付状態「0h」のときにリクエスト信号s4を出力すると,排他制御部5はリクエストを受け付けてステータス信号s5を「2h」にする。これにより更なるリクエストの受付は禁止される。このs5=2hに応答して,メインCPU9は,電源p1の電圧上昇コマンドCM1をコマンド信号s4xにより出力する。排他制御部5と制御部4は,このコマンドCM1を制御コマンド信号s10,電源制御信号s12によりそれぞれ出力する。電源制御信号s12に応答して,制御インターフェース10はCPUs電源供給部14に電源p1の電圧を上昇する制御を行う。これにより,期間t10で電源p1は保証電圧Vdd0まで上昇する。
【0049】
同時に,制御部4は,タイマ部27にカウント要求信号s16を出力し,タイマ部27は基準クロックCLKのカウントを開始し,あらかじめ設定されていたカウント数カウントした後にカウント終了信号s17を排他制御部5に出力する。このカウント数は,電源p1の上昇完了に要する時間に対応しており,システムLSI2内の電源ドメイン8に固有のカウント数である。これに応答して,排他制御部5はステータス信号s5を「0h」に戻す。
【0050】
サブCPU8からのリクエスト信号s3は,ステータス信号s5=0hで排他制御部5により受け付けられ,排他制御部5はステータス信号s5を「1h」にする。これにより更なるリクエストの受付は禁止される。そして,サブCPU8は,自分のリクエストが受け付けられたことをs5=1hにより確認してから,クロックs6の周波数上昇コマンドCM2をコマンド信号s3xにより排他制御部5に出力する。このコマンドCM2は制御部4に転送され,制御部4は,そのコマンドCM2をクロック制御信号s13によりクロック生成部16に転送する。これに応答して,クロック生成部16は,クロックs6の周波数を上昇させる。図中,期間t12でクロックs6の周波数が上昇している。制御部4は,クロック周波数上昇の要求を出した後に,所定時間t12経過後に,完了通知信号s11を排他制御部5に出力する。これにより,ステータス信号s5はリクエスト受付状態「0h」になる。
【0051】
以上第3の実施の形態では,タイマ部17を設け,そのタイマ部17によるカウント数またはタイマ時間をあらかじめシステムLSI2に最適な値に設定する。その結果,サブCPU8の電源電圧p1が保証電圧Vdd0に上昇する前に,クロックs6の周波数が上昇して誤動作を招くことが回避できる。しかも,タイマ部17のカウント数が最適化されているので,電源上昇とクロック周波数上昇の制御シーケンスを短時間で行うことが可能になる。
【0052】
[第4の実施の形態]
図10は,第4の実施の形態におけるマルチCPUを有するシステムLSIの構成図である。第4の実施の形態は,第3の実施の形態のタイマ部17を第2の実施の形態に適用したものである。したがって,第4の実施の形態のシステムLSI2は,第2の実施の形態と同様に,電源スイッチ22,23を有し,制御部4が電源スイッチ制御信号s14,s15により電源スイッチ22,23のオン,オフを制御する。また,CPUs電源供給部14が生成する電源電圧p1が電源スイッチ22,23を介して,ロジック回路7とサブCPU8とに供給される。また,電源制御ユニット1内には,タイマ部17が設けられている。ただし,電源IC3は電源状態信号を出力していない。
【0053】
図11は,第4の実施の形態における電源制御シーケンスを示す波形図である。最初の電源スイッチ22,23による電源p1a,p1bとクロックs9の状態は,図7と同じである。そして,メインCPU9のリクエスト信号s4,コマンドs4x,ステータス信号s5などは,図9と同じである。制御部4は,電源制御信号s12により電源p1の上昇を要求するとともに,タイマ部17にカウント要求信号s16を出力する。それにより,期間t10の間に電源p1の電圧が上昇する。タイマ部17には,第3の実施の形態と同様に,電源ドメイン8に最適なカウント数またはタイマ時間が設定されていて,タイマ部17はカウント要求信号s16に応答してカウントを開始する。そして,タイマ部17は,カウント終了するとカウント終了時間s17を排他制御部5に出力し,排他制御部5は,ステータス信号s5を「0h」に変更する。これにより,排他制御部5は,サブCPU8からのリクエスト信号s3を受け付け,ステータス信号s5を「1h」にし,それ以降のメインCPU9からのリクエストを受け付けない状態にする。その後は,サブCPU8が,クロックs6の周波数上昇要求と電源スイッチ22のON要求とクロックs9の供給開始要求を含むコマンドCM2を出力し,電源制御ユニット1がそれに対応する制御を行う。この制御は,第2の実施の形態と同じである。この制御終了後に制御部4が完了通知信号s11を出力すると,排他制御部5はステータス信号s5=0hにしてリクエスト受信可能状態にする。時間t14では,クロックs6の周波数上昇と,電源スイッチ22のON要求と,クロックs9の供給開始が行われる。
【0054】
なお,電源ドメインの電源電圧を低下させてそこに属する回路のクロック周波数を低下させる場合は,最初にクロック周波数を低下させ,その後電源電圧を低下させることが求められる。
【0055】
以上のとおり,第1〜第4の実施の形態によれば,電源制御ユニット1が,複数のCPUから個別に要求される電源電圧の変更要求とクロック周波数の変更要求とを排他的に受け付けて,電源電圧変動が完了する前にクロック周波数が変更されて誤動作に至ることを回避することができる。
【0056】
上記の実施の形態において,システムLSI2に内蔵されているクロック発生部16は,外付けICであってもよい。逆に,外付けの電源IC3は,システムLSI2内に内蔵されてもよい。また,電源制御ユニット1も,外付けICであってもよい。さらに,電源IC3が生成する電源は,全て電源スイッチを介して電源ドメイン6,7,8,9,37に供給されても良い。
【0057】
以上の実施の形態をまとめると,次の付記のとおりである。
【0058】
(付記1)
第1,第2のCPUがそれぞれ属する第1,第2の電源ドメインの電源電圧を制御する電源制御装置において,
前記第1,第2の電源ドメインに第1,第2の電源電圧をそれぞれ供給する電源装置と,第1,第2のクロックを生成し前記第1,第2のCPUにそれぞれ供給するクロック生成部とに接続された電源クロック制御部を有し,
前記電源クロック制御部は,前記第1のCPUからの前記第2の電源ドメインの電源電圧変更要求に応答して,前記電源装置に前記第2の電源電圧を変更させ,前記第2のCPUからの前記第2のクロック周波数変更要求に応答して,前記クロック生成部に前記第2のクロックの周波数を変更させ,
さらに,前記電源クロック制御部は,前記第2の電源ドメインの電源電圧変更要求に応答して,前記第2の電源電圧が要求電圧に達するまでの期間,前記第2のクロック周波数変更要求を受け付けないことを特徴とする電源制御装置。
【0059】
(付記2)
付記1に記載の電源制御装置において,
前記電源クロック制御部は,前記電源装置から供給される前記第2の電源電圧の状態を示す第2の電源電圧状態信号を監視し,前記第2の電源電圧が要求電圧に達するまでの期間を,当該第2の電源電圧状態信号により検出することを特徴とする電源制御装置。
【0060】
(付記3)
付記1に記載の電源制御装置において,
前記電源クロック制御部は,タイマ部を有し,前記第2の電源電圧が要求電圧に達するまでの期間を,前記タイマ部が前記第2の電源電圧変更要求に応答して開始したタイマカウントの終了を示すタイマカウント終了信号により検出し,当該タイマ部のタイマカウント時間は,電源ドメイン毎にカスタマイズされることを特徴とする電源制御装置。
【0061】
(付記4)
付記1に記載の電源制御装置において,
前記電源クロック制御部は,前記第1または第2のCPUからの要求受付可能状態を示すステータス信号を前記第1,第2のCPUに出力し,一方のCPUからの要求を受け付けた後は当該要求に対する変更動作が完了するまで前記ステータス信号を要求受付不能状態に保ち他方のCPUからの要求を受け付けない排他制御部を有することを特徴とする電源制御装置。
【0062】
(付記5)
電源装置から電源電圧を供給されクロック生成部からクロックを供給されるシステムLSIにおいて,
第1,第2の電源ドメインにそれぞれ属する第1,第2のCPUと,
前記第1,第2の電源ドメインの第1,第2の電源電圧を制御する電源制御ユニットとを有し,
前記電源制御ユニットは,前記第1のCPUからの前記第2の電源ドメインの電源電圧変更要求に応答して,前記電源装置に前記第2の電源電圧を変更させ,前記第2のCPUからの前記第2のクロック周波数変更要求に応答して,前記クロック生成部に前記第2のクロックの周波数を変更させ,
さらに,前記電源制御ユニットは,前記第2の電源ドメインの電源電圧変更要求に応答して,前記第2の電源電圧が要求電圧に達するまでの期間,前記第2のクロック周波数変更要求を受け付けないことを特徴とするシステムLSI。
【0063】
(付記6)
付記5に記載のシステムLSIにおいて,
前記電源制御ユニットは,前記電源装置から供給される前記第2の電源電圧の状態を示す第2の電源電圧状態信号を監視し,前記第2の電源電圧が要求電圧に達するまでの期間を,当該第2の電源電圧状態信号により検出することを特徴とするシステムLSI。
【0064】
(付記7)
付記5に記載のシステムLSIにおいて,
前記電源制御ユニットは,タイマ部を有し,前記第2の電源電圧が要求電圧に達するまでの期間を,前記タイマ部が前記第2の電源電圧変更要求に応答して開始したタイマカウントの終了を示すタイマカウント終了信号により検出し,当該タイマ部のタイマカウント時間は,電源ドメイン毎にカスタマイズされることを特徴とするシステムLSI。
【0065】
(付記8)
付記5に記載のシステムLSIにおいて,
前記電源制御ユニットは,前記第1または第2のCPUからの要求受付可能状態を示すステータス信号を前記第1,第2のCPUに出力し,一方のCPUからの要求を受け付けた後は当該要求に対する変更動作が完了するまで前記ステータス信号を要求受付不能状態に保ち他方のCPUからの要求を受け付けない排他制御部を有することを特徴とするシステムLSI。
【0066】
(付記9)
付記5に記載のシステムLSIにおいて,
前記電源制御ユニットは,常時オン状態の電源ドメインに属することを特徴とするシステムLSI。
【0067】
(付記10)
付記5に記載のシステムLSIにおいて,
さらに,第3の電源ドメインに属するロジック回路と,
前記第2のCPUが属する第2の電源ドメインと前記第2の電源電圧との間の第1の電源スイッチと,
前記ロジック回路が属する第3の電源ドメインと前記第2の電源電圧との間の第2の電源スイッチとを有し,
前記電源制御ユニットは,前記第2の電源電圧変更要求に応答して,前記第1の電源スイッチを導通状態に保った状態で前記電源装置に前記第2の電源電圧を変更させ,前記第2のクロック周波数変更要求に応答して,前記第2の電源スイッチを導通状態に制御し,前記クロック生成部に第3のクロックの前記ロジック回路への供給を開始させることを特徴とするシステムLSI。
【0068】
(付記11)
付記5に記載のシステムLSIにおいて,
前記電源制御ユニットは,前記ロジック回路が休止状態のときは,前記第1の電源スイッチを非導通状態に制御し,前記クロック生成部から前記第3のクロックの供給を停止させること特徴とするシステムLSI。
【0069】
(付記12)
付記5に記載のシステムLSIにおいて,
前記第1,第2のCPUは互いに割り込み信号を供給することを特徴とするシステムLSI。
【図面の簡単な説明】
【0070】
【図1】複数のCPUを有するシステムLSIの構成図である。
【図2】図1のシステムLSIにおける電源制御シーケンスを示す波形図である。
【図3】図1のシステムLSIにおける誤動作を伴う電源制御シーケンスを示す波形図である。
【図4】第1の実施の形態におけるマルチCPUを有するシステムLSIの構成図である。
【図5】第1の実施の形態における電源制御シーケンスを示す波形図である。
【図6】第2の実施の形態におけるマルチCPUを有するシステムLSIの構成図である。
【図7】第2の実施の形態における電源制御シーケンスを示す波形図である。
【図8】第3の実施の形態におけるマルチCPUを有するシステムLSIの構成図である。
【図9】第3の実施の形態における電源制御シーケンスを示す波形図である。
【図10】第4の実施の形態におけるマルチCPUを有するシステムLSIの構成図である。
【図11】第4の実施の形態における電源制御シーケンスを示す波形図である。
【符号の説明】
【0071】
1:電源制御ユニット
2:システムLSI 3:電源装置
4:電源・クロック制御部 5:排他制御部
9:第1の電源ドメイン 8:第2の電源ドメイン
9:第1のCPU 8:第2のCPU
p2:第1の電源 p1:第2の電源
s7:第1のクロック s6:第2のクロック
16:クロック生成部
【特許請求の範囲】
【請求項1】
第1,第2のCPUがそれぞれ属する第1,第2の電源ドメインの電源電圧を制御する電源制御装置において,
前記第1,第2の電源ドメインに第1,第2の電源電圧をそれぞれ供給する電源装置と,第1,第2のクロックを生成し前記第1,第2のCPUにそれぞれ供給するクロック生成部とに接続された電源クロック制御部を有し,
前記電源クロック制御部は,前記第1のCPUからの前記第2の電源ドメインの電源電圧変更要求に応答して,前記電源装置に前記第2の電源電圧を変更させ,前記第2のCPUからの前記第2のクロック周波数変更要求に応答して,前記クロック生成部に前記第2のクロックの周波数を変更させ,
さらに,前記電源クロック制御部は,前記第2の電源ドメインの電源電圧変更要求に応答して,前記第2の電源電圧が要求電圧に達するまでの期間,前記第2のクロック周波数変更要求を受け付けないことを特徴とする電源制御装置。
【請求項2】
請求項1に記載の電源制御装置において,
前記電源クロック制御部は,前記電源装置から供給される前記第2の電源電圧の状態を示す第2の電源電圧状態信号を監視し,前記第2の電源電圧が要求電圧に達するまでの期間を,当該第2の電源電圧状態信号により検出することを特徴とする電源制御装置。
【請求項3】
請求項1に記載の電源制御装置において,
前記電源クロック制御部は,タイマ部を有し,前記第2の電源電圧が要求電圧に達するまでの期間を,前記タイマ部が前記第2の電源電圧変更要求に応答して開始したタイマカウントの終了を示すタイマカウント終了信号により検出し,当該タイマ部のタイマカウント時間は,電源ドメイン毎にカスタマイズされることを特徴とする電源制御装置。
【請求項4】
請求項1に記載の電源制御装置において,
前記電源クロック制御部は,前記第1または第2のCPUからの要求受付可能状態を示すステータス信号を前記第1,第2のCPUに出力し,一方のCPUからの要求を受け付けた後は当該要求に対する変更動作が完了するまで前記ステータス信号を要求受付不能状態に保ち他方のCPUからの要求を受け付けない排他制御部を有することを特徴とする電源制御装置。
【請求項5】
電源装置から電源電圧を供給されクロック生成部からクロックを供給されるシステムLSIにおいて,
第1,第2の電源ドメインにそれぞれ属する第1,第2のCPUと,
前記第1,第2の電源ドメインの第1,第2の電源電圧を制御する電源制御ユニットとを有し,
前記電源制御ユニットは,前記第1のCPUからの前記第2の電源ドメインの電源電圧変更要求に応答して,前記電源装置に前記第2の電源電圧を変更させ,前記第2のCPUからの前記第2のクロック周波数変更要求に応答して,前記クロック生成部に前記第2のクロックの周波数を変更させ,
さらに,前記電源制御ユニットは,前記第2の電源ドメインの電源電圧変更要求に応答して,前記第2の電源電圧が要求電圧に達するまでの期間,前記第2のクロック周波数変更要求を受け付けないことを特徴とするシステムLSI。
【請求項6】
請求項5に記載のシステムLSIにおいて,
前記電源制御ユニットは,前記電源装置から供給される前記第2の電源電圧の状態を示す第2の電源電圧状態信号を監視し,前記第2の電源電圧が要求電圧に達するまでの期間を,当該第2の電源電圧状態信号により検出することを特徴とするシステムLSI。
【請求項7】
請求項5に記載のシステムLSIにおいて,
前記電源制御ユニットは,タイマ部を有し,前記第2の電源電圧が要求電圧に達するまでの期間を,前記タイマ部が前記第2の電源電圧変更要求に応答して開始したタイマカウントの終了を示すタイマカウント終了信号により検出し,当該タイマ部のタイマカウント時間は,電源ドメイン毎にカスタマイズされることを特徴とするシステムLSI。
【請求項8】
請求項5に記載のシステムLSIにおいて,
前記電源制御ユニットは,前記第1または第2のCPUからの要求受付可能状態を示すステータス信号を前記第1,第2のCPUに出力し,一方のCPUからの要求を受け付けた後は当該要求に対する変更動作が完了するまで前記ステータス信号を要求受付不能状態に保ち他方のCPUからの要求を受け付けない排他制御部を有することを特徴とするシステムLSI。
【請求項9】
請求項5に記載のシステムLSIにおいて,
さらに,第3の電源ドメインに属するロジック回路と,
前記第2のCPUが属する第2の電源ドメインと前記第2の電源電圧との間の第1の電源スイッチと,
前記ロジック回路が属する第3の電源ドメインと前記第2の電源電圧との間の第2の電源スイッチとを有し,
前記電源制御ユニットは,前記第2の電源電圧変更要求に応答して,前記第1の電源スイッチを導通状態に保った状態で前記電源装置に前記第2の電源電圧を変更させ,前記第2のクロック周波数変更要求に応答して,前記第2の電源スイッチを導通状態に制御し,前記クロック生成部に第3のクロックの前記ロジック回路への供給を開始させることを特徴とするシステムLSI。
【請求項10】
請求項5に記載のシステムLSIにおいて,
前記電源制御ユニットは,前記ロジック回路が休止状態のときは,前記第1の電源スイッチを非導通状態に制御し,前記クロック生成部から前記第3のクロックの供給を停止させること特徴とするシステムLSI。
【請求項1】
第1,第2のCPUがそれぞれ属する第1,第2の電源ドメインの電源電圧を制御する電源制御装置において,
前記第1,第2の電源ドメインに第1,第2の電源電圧をそれぞれ供給する電源装置と,第1,第2のクロックを生成し前記第1,第2のCPUにそれぞれ供給するクロック生成部とに接続された電源クロック制御部を有し,
前記電源クロック制御部は,前記第1のCPUからの前記第2の電源ドメインの電源電圧変更要求に応答して,前記電源装置に前記第2の電源電圧を変更させ,前記第2のCPUからの前記第2のクロック周波数変更要求に応答して,前記クロック生成部に前記第2のクロックの周波数を変更させ,
さらに,前記電源クロック制御部は,前記第2の電源ドメインの電源電圧変更要求に応答して,前記第2の電源電圧が要求電圧に達するまでの期間,前記第2のクロック周波数変更要求を受け付けないことを特徴とする電源制御装置。
【請求項2】
請求項1に記載の電源制御装置において,
前記電源クロック制御部は,前記電源装置から供給される前記第2の電源電圧の状態を示す第2の電源電圧状態信号を監視し,前記第2の電源電圧が要求電圧に達するまでの期間を,当該第2の電源電圧状態信号により検出することを特徴とする電源制御装置。
【請求項3】
請求項1に記載の電源制御装置において,
前記電源クロック制御部は,タイマ部を有し,前記第2の電源電圧が要求電圧に達するまでの期間を,前記タイマ部が前記第2の電源電圧変更要求に応答して開始したタイマカウントの終了を示すタイマカウント終了信号により検出し,当該タイマ部のタイマカウント時間は,電源ドメイン毎にカスタマイズされることを特徴とする電源制御装置。
【請求項4】
請求項1に記載の電源制御装置において,
前記電源クロック制御部は,前記第1または第2のCPUからの要求受付可能状態を示すステータス信号を前記第1,第2のCPUに出力し,一方のCPUからの要求を受け付けた後は当該要求に対する変更動作が完了するまで前記ステータス信号を要求受付不能状態に保ち他方のCPUからの要求を受け付けない排他制御部を有することを特徴とする電源制御装置。
【請求項5】
電源装置から電源電圧を供給されクロック生成部からクロックを供給されるシステムLSIにおいて,
第1,第2の電源ドメインにそれぞれ属する第1,第2のCPUと,
前記第1,第2の電源ドメインの第1,第2の電源電圧を制御する電源制御ユニットとを有し,
前記電源制御ユニットは,前記第1のCPUからの前記第2の電源ドメインの電源電圧変更要求に応答して,前記電源装置に前記第2の電源電圧を変更させ,前記第2のCPUからの前記第2のクロック周波数変更要求に応答して,前記クロック生成部に前記第2のクロックの周波数を変更させ,
さらに,前記電源制御ユニットは,前記第2の電源ドメインの電源電圧変更要求に応答して,前記第2の電源電圧が要求電圧に達するまでの期間,前記第2のクロック周波数変更要求を受け付けないことを特徴とするシステムLSI。
【請求項6】
請求項5に記載のシステムLSIにおいて,
前記電源制御ユニットは,前記電源装置から供給される前記第2の電源電圧の状態を示す第2の電源電圧状態信号を監視し,前記第2の電源電圧が要求電圧に達するまでの期間を,当該第2の電源電圧状態信号により検出することを特徴とするシステムLSI。
【請求項7】
請求項5に記載のシステムLSIにおいて,
前記電源制御ユニットは,タイマ部を有し,前記第2の電源電圧が要求電圧に達するまでの期間を,前記タイマ部が前記第2の電源電圧変更要求に応答して開始したタイマカウントの終了を示すタイマカウント終了信号により検出し,当該タイマ部のタイマカウント時間は,電源ドメイン毎にカスタマイズされることを特徴とするシステムLSI。
【請求項8】
請求項5に記載のシステムLSIにおいて,
前記電源制御ユニットは,前記第1または第2のCPUからの要求受付可能状態を示すステータス信号を前記第1,第2のCPUに出力し,一方のCPUからの要求を受け付けた後は当該要求に対する変更動作が完了するまで前記ステータス信号を要求受付不能状態に保ち他方のCPUからの要求を受け付けない排他制御部を有することを特徴とするシステムLSI。
【請求項9】
請求項5に記載のシステムLSIにおいて,
さらに,第3の電源ドメインに属するロジック回路と,
前記第2のCPUが属する第2の電源ドメインと前記第2の電源電圧との間の第1の電源スイッチと,
前記ロジック回路が属する第3の電源ドメインと前記第2の電源電圧との間の第2の電源スイッチとを有し,
前記電源制御ユニットは,前記第2の電源電圧変更要求に応答して,前記第1の電源スイッチを導通状態に保った状態で前記電源装置に前記第2の電源電圧を変更させ,前記第2のクロック周波数変更要求に応答して,前記第2の電源スイッチを導通状態に制御し,前記クロック生成部に第3のクロックの前記ロジック回路への供給を開始させることを特徴とするシステムLSI。
【請求項10】
請求項5に記載のシステムLSIにおいて,
前記電源制御ユニットは,前記ロジック回路が休止状態のときは,前記第1の電源スイッチを非導通状態に制御し,前記クロック生成部から前記第3のクロックの供給を停止させること特徴とするシステムLSI。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2009−134577(P2009−134577A)
【公開日】平成21年6月18日(2009.6.18)
【国際特許分類】
【出願番号】特願2007−310950(P2007−310950)
【出願日】平成19年11月30日(2007.11.30)
【出願人】(308014341)富士通マイクロエレクトロニクス株式会社 (2,507)
【Fターム(参考)】
【公開日】平成21年6月18日(2009.6.18)
【国際特許分類】
【出願日】平成19年11月30日(2007.11.30)
【出願人】(308014341)富士通マイクロエレクトロニクス株式会社 (2,507)
【Fターム(参考)】
[ Back to top ]