(57)【要約】【課題】複数の回路ブロックを有する集積回路において、リセット動作のタイミングを適切に制御する。【解決手段】複数の回路ブロックのうちの１以上に対するリセット動作の要求を取得する。リセット対象の回路ブロックがリセット動作中の他の回路ブロックと同時にリセット動作を行えるか否かを示す制約情報に従って、要求に従ってリセット対象の回路ブロックがリセット動作を行えるか否かを判定する。リセット動作を行えると判定された場合に、要求に従ってリセット対象の回路ブロックにリセット動作を開始させる。【選択図】図１
2014178787.tif 000002
【特許請求の範囲】
【請求項１】
複数の回路ブロックと、
前記複数の回路ブロックのうちの１以上に対するリセット動作の要求を取得する取得手段と、
リセット対象の回路ブロックがリセット動作中の他の回路ブロックと同時にリセット動作を行えるか否かを示す制約情報に従って、前記要求に従ってリセット対象の回路ブロックがリセット動作を行えるか否かを判定する判定手段と、
リセット動作を行えると前記判定手段によって判定された場合に、前記要求に従って前記リセット対象の回路ブロックにリセット動作を開始させる指示手段と、
を備えることを特徴とする集積回路。
【請求項２】
前記判定手段は、リセット対象の回路ブロックがリセット動作を行えると判定するまで、前記判定を繰り返し行うことを特徴とする、請求項１に記載の集積回路。
【請求項３】
前記取得手段は、前記要求を記憶手段に記憶させ、
前記判定手段は、前記記憶手段に記憶されている前記要求について順次前記判定を行う
ことを特徴とする、請求項１又は２に記載の集積回路。
【請求項４】
前記判定手段は、前記記憶手段に記憶された順に、前記記憶手段に記憶されている前記要求について順次前記判定を行うことを特徴とする、請求項３に記載の集積回路。
【請求項５】
前記取得手段は、前記回路ブロックのそれぞれについてリセット動作の優先順位を示す優先順位情報にアクセス可能であり、前記複数の回路ブロックのうちの２以上に対する前記要求を取得した場合に、該優先順位情報に従う順序で前記記憶手段に前記要求を記憶させることを特徴とする、請求項４に記載の集積回路。
【請求項６】
リセット動作が可能となる電圧が前記回路ブロックに供給されているか否かを監視する電圧監視手段をさらに備え、
前記指示手段は、前記要求に従って回路ブロックがリセット動作を行えると前記判定手段が判定し、かつリセット動作が可能となる電圧が該回路ブロックに供給されている場合に、該要求に従って回路ブロックにリセット動作を開始させる
ことを特徴とする、請求項１乃至４の何れか１項に記載の集積回路。
【請求項７】
前記複数の回路ブロックは、電源電圧を制御可能な回路ブロックを含み、
前記電圧監視手段は、前記電源電圧を制御可能な回路ブロックについて、リセット動作が可能となる電圧が供給されているか否かを監視する
ことを特徴とする、請求項６に記載の集積回路。
【請求項８】
前記制約情報は、同時にリセット動作を行った場合に前記集積回路に供給される電流値が制限値を超える回路ブロックの組み合わせについては、同時にリセット動作が行えないように作成されていることを特徴とする、請求項１乃至７の何れか１項に記載の集積回路。
【請求項９】
前記制約情報は、同時にリセット動作を行った場合に各回路ブロックに供給される電圧の降下幅が制限値を超える回路ブロックの組み合わせについては、同時にリセット動作が行えないように作成されていることを特徴とする、請求項１乃至７の何れか１項に記載の集積回路。
【請求項１０】
前記制約情報は、同時にリセット動作を行った場合に前記集積回路に供給される電力値が制限値を超える回路ブロックの組み合わせについては、同時にリセット動作が行えないように作成されていることを特徴とする、請求項１乃至７の何れか１項に記載の集積回路。
【請求項１１】
それぞれが１以上の回路ブロックに接続され、該接続された回路ブロックのリセット動作を制御する複数のリセット動作制御手段をさらに備え、
前記指示手段は、前記要求に従い、前記リセット動作制御手段を介して、該リセット動作制御手段に接続されたリセット対象の回路ブロックにリセット動作を開始させる
ことを特徴とする、請求項１乃至１０の何れか１項に記載の集積回路。
【請求項１２】
前記判定手段は、前記複数のリセット動作制御手段から、それぞれの回路ブロックがリセット動作を行っているか否かを示す情報を取得することを特徴とする、請求項１１に記載の集積回路。
【請求項１３】
前記回路ブロックにリセット動作を行わせた際における前記回路ブロックの状態を監視する回路監視手段と、
前記回路監視手段による監視結果を用いて前記制約情報を生成する生成手段と、
をさらに備えることを特徴とする、請求項１乃至１２の何れか１項に記載の集積回路。
【請求項１４】
前記監視結果は、回路ブロックに単独でリセット動作を行わせたときに該回路ブロックで消費される電力値を含み、
前記生成手段は、前記電力値の合計が所定の制限値を超える回路ブロックの組み合わせについては同時にリセット動作が行えないように、前記制約情報を生成する
ことを特徴とする、請求項１３に記載の集積回路。
【請求項１５】
複数の回路ブロックと、
前記複数の回路ブロックのリセット要求を調停する調停手段とを備え、
前記調停手段は、前記回路ブロック毎のリセット動作状態の情報に基づいて、複数のリセット要求がある場合に調停を行うことを特徴とする集積回路。
【請求項１６】
複数の回路ブロックと、
前記複数の回路ブロックを含む構成のリセット動作を制御する第１リセット制御手段と、
前記複数の回路ブロック毎のリセット動作を制御する複数の第２リセット制御手段と、
前記第１リセット制御手段から出力されるリセット要求と、前記複数の第２リセット制御手段から出力される回路ブロック毎の動作状態の情報に基づいて、複数のリセット要求を調停する調停手段とを備えることを特徴とする集積回路。
【請求項１７】
前記調停手段に設定する条件を自動で生成するトレーニングモードを備え、通常動作する前の初期段階で前記調停手段に前記条件を設定して、前記調停手段は当該条件に基づいて前記複数のリセット要求の調停を行うことを特徴とする、請求項１５又は１６に記載の集積回路。
【請求項１８】
前記複数の回路ブロックは其々、電源電圧の制御が可能な電源制御対象部を少なくとも１つ以上含み、前記電源制御対象部の電源電圧の制御を行う電源制御手段を備え、前記調停手段は前記電源制御手段からの電源制御情報に基づき複数のリセット要求を調停することを特徴とする、請求項１５乃至１７のいずれか１項に記載の集積回路。
【請求項１９】
複数の回路ブロックを備える集積回路の制御方法であって、
前記複数の回路ブロックのうちの１以上に対するリセット動作の要求を取得する取得工程と、
リセット対象の回路ブロックがリセット動作中の他の回路ブロックと同時にリセット動作を行えるか否かを示す制約情報に従って、前記要求に従ってリセット対象の回路ブロックがリセット動作を行えるか否かを判定する判定工程と、
リセット動作を行えると前記判定工程において判定された場合に、前記要求に従って前記リセット対象の回路ブロックにリセット動作を開始させる指示工程と、
を備えることを特徴とする集積回路の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は集積回路及びその制御方法に関し、特に半導体集積回路のリセット動作制御に関する。
【背景技術】
【０００２】
近年、バッテリー使用機器を長時間駆動させるため、及び環境問題に配慮して、さらに電力消費の少ない半導体集積回路が求められている。半導体集積回路の消費電力は、動作時に必要なダイナミック電力と、電源を接続するだけで必要となるスタティック電力に区別できる。これらの電力は異なる原理で消費されるために、それぞれに異なる省電力化技術用いられている。
【０００３】
ダイナミック電力は、信号変化に伴う寄生容量の充放電で流れる電流と、貫通電流のようなスイッチング時に流れる電流のために消費される。従って、機能動作に支障の無い範囲で信号変化を抑えることにより、ダイナミック電力を削減することができる。このような原理に基づく代表的な低電力化の手法としてクロックゲーティングがあり、現在では一般に広く用いられている。
【０００４】
一方、スタティック電力は、寄生容量に充電される電荷と、リーク電流のために消費される。プロセスの微細化に伴い、寄生容量は減少する傾向があるが、リーク電流は増加する傾向にある。特に、ポリシリコンゲート酸化膜の薄膜化に伴い、一時期、リーク電流は指数関数的に増加していた。このリーク電流を削減するためには、電圧制御する方法、例えば電源を遮断する方法が有効である。例えば、対象回路と電源との間に電源スイッチを設け、スイッチを制御することにより、電源を遮断することができる。現在でも、リーク電流は増加傾向を保っており、電源遮断はこれからも電力削減の手段として重要である。
【０００５】
しかしながら、電圧制御を行う場合、復帰後には通常初期化が必要であり、すなわち通常動作に入る前にリセット動作を行う必要がある。リセット動作においては、フリップフロップ等の記憶素子に対して積極的に信号変化を起こさせるため、通常はクロックゲーティング行われない。このため、リセット動作中には、通常動作時より大きな電力を消費することが多い。
【０００６】
リセット動作中の電力消費を抑えるために、リセット動作期間を短縮する方法、及び動作率を低下させる方法が知られていた。例えば特許文献１には、電源を遮断する領域に対応するレジスタにリセット解除のタイミングを記録することにより、電源投入後からリセット解除までの時間を最適化する方法が開示されている。また特許文献２，３には、リセット時に、リセット信号がネゲートされるまでクロック周波数を低下させることにより、動作率を低下させる方法が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００２−３１２０７３号公報
【特許文献２】特開２００１−１０１７６４号公報
【特許文献３】特開平１０−３２００７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
複数の回路ブロックを有する半導体集積回路では、配線の容易性や電力消費の観点から、各回路ブロックのリセット動作を制御する制御部は分散配置される傾向にある。しかしながらそれぞれ回路ブロックのリセット開始タイミングは各回路ブロックの機能により変動しうるため、複数の回路ブロックのリセット動作タイミングが偶然に一致する可能性がある。この場合、例えば消費電力又は電圧降下幅等が許容値を超えてしまうことがあった。
【０００９】
本発明は、複数の回路ブロックを有する集積回路において、リセット動作のタイミングを適切に制御することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の目的を達成するために、例えば、本発明の集積回路は以下の構成を備える。すなわち、
複数の回路ブロックと、
前記複数の回路ブロックのうちの１以上に対するリセット動作の要求を取得する取得手段と、
リセット対象の回路ブロックがリセット動作中の他の回路ブロックと同時にリセット動作を行えるか否かを示す制約情報に従って、前記要求に従ってリセット対象の回路ブロックがリセット動作を行えるか否かを判定する判定手段と、
リセット動作を行えると前記判定手段によって判定された場合に、前記要求に従って前記リセット対象の回路ブロックにリセット動作を開始させる指示手段と、
を備えることを特徴とする。
【発明の効果】
【００１１】
複数の回路ブロックを有する集積回路において、リセット動作のタイミングを適切に制御することができる。
【図面の簡単な説明】
【００１２】
【図１】実施形態１に係る半導体集積回路の一例を示す模式図。
【図２】半導体集積回路の概略フロアプラン例。
【図３】実施形態１に係るリセット調停部１０５の一例を示すブロック図。
【図４】ステータス情報の例を示す図。
【図５】制約条件の例を示す図。
【図６】実施形態１の方法を用いない場合の電流値を示すグラフ。
【図７】実施形態１の方法を用いた場合の電流値を示すグラフ。
【図８】実施形態２の方法を用いない場合の電圧値を示すグラフ。
【図９】実施形態２の方法を用いた場合の電圧値を示すグラフ。
【図１０】実施形態２に係る半導体集積回路の一例を示す模式図。
【図１１】実施形態２に係るリセット調停部１０５の一例を示すブロック図。
【図１２】実施形態２の方法を用いた場合のタイミングチャート。
【図１３】リセット動作期間を最適化するための構成の一例を示すブロック図。
【図１４】リセット動作のタイミングチャート。
【図１５】実施形態３に係る半導体集積回路の一例を示す模式図。
【図１６】実施形態３に係るリセット調停部１０５の一例を示すブロック図。
【図１７】実施形態４に係る半導体集積回路の一例を示す模式図。
【図１８】実施形態４に係るリセット調停部１０５の一例を示すブロック図。
【図１９】実施形態１に係るリセット調停部１０５の動作のフローチャート。
【図２０】実施形態４のトレーニングモードにおける動作のフローチャート。
【図２１】実施形態４に係る電流モニタ部１９１の一例を示すブロック図。
【発明を実施するための形態】
【００１３】
まず、以下の実施形態において用いられる、リセット期間を制御することによりリセット時の電力消費を抑える方法について説明する。図１３（ａ）は、このような方法を実現するための構成例を示す。また図１４（ａ）は、図１３（ａ）に示す構成の動作を示すタイミングチャートである。図１３（ａ）に示す構成には、外部からクロック信号ＣＬＫが供給されている。電源遮断期間Ｔ１において、電源制御指示部１０３が電源制御指示信号Ｐ＿ＣＭＤを受けとると、電源復帰期間Ｔ２が開始する。具体的には電源制御指示部１０３は、電源制御対象部１（１１１）のスイッチ１３０１をオンにする。すると、電源Ｖｄｄａによる電源ネットワーク１３０２への電源供給が開始する。また、電源制御指示信号Ｐ＿ＣＭＤにより電源復帰が指示されたとき、電源制御指示部１０３はクロック制御信号ＣＬＫ＿ＥＮによりゲーティングクロックバッファ１７１を制御し、クロック伝搬をアクティブにする。電源が安定すると、リセット期間Ｔ３へと移行する。ここで、リセット動作制御部１６１は電源制御指示信号Ｐ＿ＣＭＤによる電源復帰指示からリセット解除までのタイミング（Ｔ２及びＴ３）を調整する。リセット動作制御部１６１が信号Ｐ＿ＲＳＴを解除することにより、定常動作期間Ｔ４へと移行する。定常動作期間Ｔ４においては、適宜クロックゲーティングを制御することが可能である。この例によれば、電源復帰期間Ｔ２及びリセット期間Ｔ３にクロックゲーティングがネゲート状態となることにより、電力が消費される。
【００１４】
また図１３（ｂ）に示す構成は、電源復帰タイミングをより正確に検知するための構成例である。図１３（ｂ）に示す構成の動作時のタイミングチャートを図１４（ｂ）に示す。図１３（ａ）の構成との違いは、電源状態判定部１８１の存在と、電源状態判定部１８１からのＰ＿ＲＤＹ１信号を用いてリセット動作制御部１６１を制御することにある。より具体的には、電源状態判定部１８１は回路ブロック１３０３に供給される電源の状態を判定する。そして、電源が安定した後に、リセット動作を制御する信号Ｐ＿ＲＤＹ１をリセット動作制御部１６１に送信する。リセット動作制御部１６１は、信号Ｐ＿ＲＤＹ１に従って、クロック制御信号ＣＬＫ＿ＥＮ１によりゲーティングクロックバッファ１７１を制御してクロック伝搬をアクティブにする。またリセット動作制御部１６１は信号Ｐ＿ＲＤＹ１によるリセット指示からリセット解除までのタイミング（Ｔ３）を調整し、信号Ｐ＿ＲＳＴ１を解除する。この例によればリセット期間Ｔ３にクロックゲーティングがネゲート状態となることにより、電力が消費される。
【００１５】
以上のようなリセット期間の制御を行う場合、タイミングＴ２とＴ３との少なくとも一方を最適化することにより、クロックゲーティングのネゲート期間が短くなり、消費電力を削減することが可能となる。図１４に示すタイミングチャートは例示にすぎない。例えば、Ｐ＿ＣＴＲＬ、ＣＬＫ＿ＥＮ、ＣＬＫ＿ＥＮ１、Ｐ＿ＲＳＴ、Ｐ＿ＲＳＴ１等の各信号は負極性の信号となっているが、極性にかかわらず同様の動作を実現できる。また、ＯＲ型論理を用いてクロック伝搬をネゲートするゲーティングクロックバッファ１７１を実現しているが、ＡＮＤ型論理を用いても同様の動作を実現できる。
【００１６】
［実施形態１］
以下で、実施形態１に係る半導体集積回路について説明する。本実施形態によれば、複数の回路ブロックからのリセット動作の要求（リセット要求）を調停することにより、各回路ブロックのリセット動作のタイミングを適切に制御することができる。この際には、回路ブロック毎のリセット動作の情報に基づいて調停が行われる。図１は、本実施形態に係る半導体集積回路１００の一部を模式的に示す。半導体集積回路１００は、複数の回路ブロックとリセット回路とを備える。本実施形態において半導体集積回路１００は、回路ブロックとして、常時電源供給部１（１２１）、常時電源供給部Ｎ（１２２）、及び不図示の常時電源供給部２〜Ｎ−１を有している。ここで、Ｎは２以上の整数である。
【００１７】
リセット回路は、リセット生成部１０４、リセット調停部１０５、リセット動作制御部１〜Ｎ（１６３，１６４）、及びゲーティングクロックバッファ１〜Ｎ（１７３，１７４）を有している。リセット動作制御部１〜Ｎ（１６３，１６４）のそれぞれは、常時電源供給部１〜Ｎ（１２１，１２２）と通信可能に接続されている。ゲーティングクロックバッファ１〜Ｎ（１７３，１７４）のそれぞれも、リセット動作制御部１〜Ｎ（１６３，１６４）及び常時電源供給部１〜Ｎ（１２１，１２２）と通信可能に接続されている。
【００１８】
常時電源供給部１〜Ｎ（１２１，１２２）は、それぞれ半導体集積回路の一部であって、常時電源電圧が供給される部分（回路ブロック）である。常時電源供給部１〜Ｎ（１２１，１２２）のそれぞれは、リセット回路の制御に従って、独立にリセット動作を行うことができる。
【００１９】
リセット調停部１０５は、常時電源供給部１〜Ｎ（１２１，１２２）に対応するリセット動作制御部１〜Ｎ（１６３，１６４）のそれぞれから、常時電源供給部１〜Ｎ（１２１，１２２）毎の動作情報（ＡＪ＿ＳＴＡ）を取得する。具体的にはリセット調停部１０５は、常時電源供給部１〜Ｎ（１２１，１２２）のリセット動作状態を示す情報とクロック供給状態を示す情報とを取得することができる。またリセット調停部１０５は、リセット生成部１０４からのＲＥＱ信号に従って、各常時電源供給部１〜Ｎ（１２１，１２２）へと送信するリセット信号を調停する。この調停は、リセット生成部１０４から出力されるリセット要求と、常時電源供給部１〜Ｎ（１２１，１２２）毎の動作情報に従って行われる。
【００２０】
リセット生成部１０４は、リセット調停部１０５及びリセット動作制御部１〜Ｎ（１６３，１６４）に通信可能に接続されている。具体的にはリセット生成部１０４は、リセット動作制御部１〜Ｎ（１６３，１６４）に対し、常時電源供給部１〜Ｎ（１２１，１２２）にリセット動作を行わせることを指示する信号（ＥＪ＿ＲＳＴ）を送信することができる。リセット動作を行わせることを指示する信号の送信は、リセット調停部１０５によるリセット要求の調停に従って行われる。例えばリセット生成部１０４は、集積回路の電源投入時に各常時電源供給部１〜Ｎ（１２１，１２２）に対するリセット要求を生成することができる。また、集積回路の動作中にも、リセット生成部１０４は常時電源供給部１〜Ｎ（１２１，１２２）のうちの任意のものに対するリセット要求を生成することができる。このように生成されたリセット要求をリセット調停部１０５は調停し、リセット生成部１０４は調停結果に従ってリセット動作を行わせることを指示する信号を送信する。このようにリセット生成部１０４は、複数の回路ブロックを含む構成のリセット動作を制御する（第１リセット制御）。
【００２１】
リセット動作制御部１〜Ｎ（１６３，１６４）は、それぞれが１以上の常時電源供給部１〜Ｎ（１２１，１２２）に接続されており、接続された常時電源供給部１〜Ｎ（１２１，１２２）のリセット動作を制御する。そして、リセット生成部１０４からの指示に従い、常時電源供給部１〜Ｎ（１２１，１２２）のリセット動作を開始させる。このようにリセット動作制御部１〜Ｎ（１６３，１６４）は、複数の回路ブロック毎のリセット動作を制御する（第２リセット制御）。具体的にはリセット動作制御部１〜Ｎ（１６３，１６４）は、対応する常時電源供給部１〜Ｎ（１２１，１２２）へとリセット信号ＲＳＴ１〜Ｎを送信する。このリセット信号に従って常時電源供給部１〜Ｎ（１２１，１２２）は、リセット生成部１０４及びリセット調停部１０５によって制御されたタイミングでリセット動作を行う。またリセット動作制御部１〜Ｎ（１６３，１６４）は、ゲーティングクロックバッファ１〜Ｎ（１７３，１７４）へクロックイネーブル信号ＣＬＫ＿ＥＮを送信する。
【００２２】
図２（ａ）は、本実施形態に係る半導体集積回路１００の概略フロアプラン例である。半導体集積回路１００のロジックコア領域２０２内には、複数の常時電源供給部１２１〜１２３が配置されている。また、ロジックコア領域２０２内にはリセット生成部１０４及びリセット調停部１０５、並びにその他の領域１２４〜１２５が配置されている。図２（ａ）には示されていないが、リセット動作制御部１〜Ｎ（１６３，１６４）及びゲーティングクロックバッファ１〜Ｎ（１７３，１７４）も適宜配置される。ここで、例えばリセット動作制御部１（１６３）及びゲーティングクロックバッファ１（１７３）を対応する常時電源供給部１（１２１）の近傍に配置することにより、動作タイミングをより正確に制御することができる。
【００２３】
図３は、リセット調停部１０５の内部構成例を示す。リセット調停部１０５は、リセット情報保持部３０１、優先順位設定部３０２、リセット情報判定部３０３、リセット動作指示部３０４、及び制約条件設定部３０５を有する。
【００２４】
リセット情報保持部３０１は、常時電源供給部１〜Ｎのうちの１以上に対するリセット要求を取得する。またリセット情報保持部３０１には、リセット動作制御部１〜Ｎ（１６３，１６４）のそれぞれから、常時電源供給部１〜Ｎについての情報３０６，３０７が入力される。この情報３０６，３０７は、各常時電源供給部１〜Ｎ（１２１，１２２）についてのリセット動作状態を示す情報、例えばリセット動作を行っているか否かを示す情報、とクロック供給状態を示す情報とを含む。
【００２５】
制約条件設定部３０５は、リセットのタイミングを制御するための制約条件（制約情報）を設定する。制約条件については、図５を参照して後に説明する。さらに制約条件設定部３０５は、優先順位設定部３０２に対して優先順位を決定するためのオーダー情報（優先順位情報）を送信し、リセット情報判定部３０３に対して制約条件を送信する。オーダー情報は、各常時電源供給部についてのリセット動作が重なった時に用いられる、リセットされる常時電源供給部の優先順位を定義したものである。例えばこのオーダー情報は、各常時電源供給部を識別するＩＤ番号でありうる。この場合、ＩＤ番号の大きさに従ってリセットされる常時電源供給部を決定することができる。また、オーダー情報は、各常時電源供給部に対してゲート規模の大きさに従って付された番号であってもよい。この場合、番号の大きさに従ってリセットされる常時電源供給部を決定することができる。
【００２６】
優先順位設定部３０２は、オーダー情報にアクセス可能であり、リセット情報保持部３０１に複数のリセット要求が入力された場合に、リセット要求の優先順位を決定する。上述のように、本実施形態において優先順位設定部３０２は制約条件設定部３０５からオーダー情報を取得する。
【００２７】
リセット情報判定部３０３は、制約条件を参照して、リセット要求に従うリセット対象の回路ブロックがリセット動作を行えるか否かを判定する。具体的には、リセット情報保持部３０１に入力された情報３０６，３０７、優先順位設定部３０２が決定したリセット要求の決定順位、及び制約条件設定部３０５から取得した制約条件に従って、リセット動作の実行又は延期が決定される。
【００２８】
リセット動作指示部３０４は、リセット要求に従うリセット対象の回路ブロックがリセット動作を行えるとリセット情報判定部３０３が判定した場合に、リセット動作指示をリセット生成部１０４に送信する。またリセット動作指示部３０４は、リセット更新情報３０８をリセット情報保持部３０１に対して送信する。
【００２９】
以上の構成により、リセット動作制御部１〜Ｎ（１６３，１６４）から送信された常時電源供給部１〜Ｎについての情報３０６，３０７に従って、リセット動作の開始及び終了が制御される。
【００３０】
図４を参照して、リセット情報保持部３０１が保持する情報について説明する。図４には、常時電源供給部１〜Ｎ（１２１，１２２）のそれぞれについての、「リセット要求」情報、「未処理のリセット要求」情報、「リセット状態」情報、及び「クロック状態」情報が示されている。これらの情報は、図３に示す各部の後述する動作によって、又はリセット情報保持部３０１に入力された信号に応じて、更新される。
【００３１】
「リセット要求」は、常時電源供給部をリセットすることが要求されたことを示す。「未処理のリセット要求」は、常時電源供給部に対して以前にリセットが要求されたが、リセット情報判定部３０３によってリセット動作が延期されていることを示す。より具体的には、複数のリセット要求が同時に発生した際に、リセット情報判定部３０３がリセット動作を延期した場合に、「未処理のリセット要求」がアクティブになる。例えば、複数のリセット要求が同時に発生した場合であって、優先順位の高いリセット要求に対応するリセット動作が開始された場合に、優先順位の低いリセット要求に対応する「未処理のリセット要求」はアクティブになる。また、リセット要求がキューイングされている際に、リセット情報判定部３０３がリセット動作を延期した場合にも、「未処理のリセット要求」はアクティブになる。「リセット状態」は、常時電源供給部がリセット動作中であることを示す。「クロック状態」は、常時電源供給部に対するクロック伝搬が行われていることを示す。図４において「１」は、アクティブであることを示す。
【００３２】
以下に、図１９（ａ），（ｂ）のフローチャートを参照して、リセット調停部１０５の動作を説明する。ステップＳ１９０１において制約条件設定部３０５は、制約条件を設定する。制約条件は、リセット対象の回路ブロックがリセット動作中の他の回路ブロックと同時にリセット動作を行えるか否かを示す情報である。制約条件の設定方法は特に限定はない。制約条件は予め決定され固定されていてもよい。また、制約条件はユーザ又は制御回路を介して設定されてもよい。例えば、制約条件はレジスタ等を介して設定されてもよいし、制約条件はメモリ等から読み出されてもよい。また、例えば電量モニタによって検出された常時電源供給部のリセット動作時の電流値に従って、制約条件が設定されてもよい。
【００３３】
ステップＳ１９０１における制約条件により、所定の組み合わせの常時電源供給部が同時にリセット動作を行わないようにリセット要求の調停が行われる。以下に、制約条件の例について説明する。本実施形態において制約条件は、リセット動作の排他制御を可能とする。図５（ａ）及び図５（ｂ）は、制約条件を示す情報の例であり、常時電源供給部１２１〜１２３のそれぞれについて、同時にリセットすることができる常時電源供給部が示されている。
【００３４】
図５（ａ）においては、それぞれの常時電源供給部の組み合わせに対して、同時にリセットできるか否かが示されている。図５（ａ）において「１」は同時にリセットできることを示し、「０」は同時にリセットできないことを示す。例えば常時電源供給部１は、常時電源供給部２と同時にリセットすることができるが、常時電源供給部３と同時にリセットすることはできない。図５（ａ）に示す例においては、それぞれの常時電源供給部に対して、同時にリセット可能であることが示されている常時電源供給部は１つ以下である。
【００３５】
図５（ｂ）においては、それぞれの常時電源供給部に対して、同時にリセットすることができない常時電源供給部が列挙されている。例えば、常時電源供給部１については、常時電源供給部２と常時電源供給部３とがリセット動作を行っている場合には、リセット動作を開始できないことが示されている。このように、制約条件の形式は特に制限されるわけではない。
【００３６】
制約条件を設定することにより、各回路ブロック（常時電源供給部）リセット動作を制御することができる。このような制約条件を設定することの利点について以下に説明する。リセット動作制御部１〜Ｎ（１６３，１６４）がチップ上に分散配置される場合、リセット動作のタイミングはシステム又はデバイスに依存して変動しうる。例えば、パワーオンリセットのように、各回路ブロックのリセット期間があらかじめ決められている場合には、リセット動作の開始／終了タイミングは容易に予測できる。しかしながら、システムに依存する変動要因が存在する場合、例えばソフトウェアがランダムにリセット動作をリクエストする場合には、リセット動作の開始タイミングを予測することは難しい。また、デバイスに依存する変動要因、例えば回路ブロックのサイズ、形状、位置、個数、電圧、温度、又はプロセスに依存する固体差等により、リセット動作が可能になるタイミングは変動しうる。このために、複数の回路ブロックについてのリセット動作の順序が、予想と異なる場合がある。
【００３７】
特に、画像処理を行う回路のように、複数の回路ブロック間に依存関係が存在する場合、システムが正常に動作するためには、依存関係に従ってリセット動作を行うことが必要であるかもしれない。本実施形態においては、制約条件を設定することにより、回路ブロックのリセット動作を排他制御することができる。具体的には、回路ブロックＡと回路ブロックＢとが同時にリセット動作をしないように、リセット動作を制御することができる。
【００３８】
ステップＳ１９０２においてリセット情報保持部３０１は、保持しているステータス情報を初期化する。
【００３９】
ステップＳ１９０３〜Ｓ１９０７において優先順位設定部３０２は、リセット生成部１０４から受け付けたリセット要求に優先順位を設定してキューに入れる（キューイング）。より具体的には、ステップＳ１９０３において優先順位設定部３０２は、新規リセット要求がリセット生成部１０４からリセット情報保持部３０１に入力されたか否かを判定する。新規リセット要求が入力された場合、処理はステップＳ１９０４に進む。新規リセット要求が入力されていない場合、処理はステップＳ１９０８に進む。
【００４０】
ステップＳ１９０４において優先順位設定部３０２は、新規リセット要求を記録するようにステータス情報を更新する。本実施形態においては、リセット情報保持部３０１が保持するステータス情報は、リセット要求がなされた常時電源供給部についての「リセット要求」が「１」となるように更新される。
【００４１】
ステップＳ１９０５において優先順位設定部３０２は、リセット情報保持部３０１が保持するステータス情報を参照して、新規リセット要求が複数存在するか否かを判定する。新規リセット要求が複数存在する場合、処理はステップＳ１９０６に進む。新規リセット要求が１つである場合には、処理はステップＳ１９０７に進む。
【００４２】
ステップＳ１９０６において優先順位設定部３０２は、制約条件設定部３０５から取得したオーダー情報に従って、新規リセット要求の優先順位を決定する。
【００４３】
ステップＳ１９０７において優先順位設定部３０２は、新規リセット要求をキューイングする。具体的には、新規リセット要求を記憶手段（不図示）に記憶させればよい。新規リセット要求が２以上存在する場合には、ステップＳ１９０６において決定された優先順位に従って、新規リセット要求をキューイングする。このようにキューイングされたリセット要求について、順次後述するステップＳ１９１１における判定処理が行われる。
【００４４】
ステップＳ１９０８において優先順位設定部３０２は、リセット動作制御部１〜Ｎ（１６３，１６４）からの、各常時電源供給部においてリセット動作が終了したことを示すリセット終了通知が、リセット情報保持部３０１に入力されたか否かを判定する。リセット終了通知が入力されている場合、処理はステップＳ１９０９に進む。リセット終了通知が入力されていない場合、処理はステップＳ１９１０に進む。本実施形態においてリセット動作制御部１〜Ｎ（１６３，１６４）は、対応する常時電源供給部１〜Ｎ（１２１，１２２）のリセット期間を、クロック数をカウントすることにより制御するものとする。このためリセット動作制御部１〜Ｎ（１６３，１６４）は、常時電源供給部１〜Ｎ（１２１，１２２）のリセット動作が終了するタイミングを把握している。もっとも、常時電源供給部１〜Ｎ（１２１，１２２）のリセット動作が終了するタイミングをリセット動作制御部１〜Ｎ（１６３，１６４）が知る方法は、この方法に限られない。
【００４５】
ステップＳ１９０９において優先順位設定部３０２は、リセット終了通知を記録するようにステータス情報を更新する。本実施形態においては、リセット情報保持部３０１が保持するステータス情報は、リセット動作が終了した常時電源供給部についての「リセット状態」が「０」となるように更新される。
【００４６】
ステップＳ１９１０〜Ｓ１９１１，Ｓ１９１７〜Ｓ１９１８においてリセット情報判定部３０３は、常時電源供給部にリセット動作を行わせるか否かを判定する。より具体的には、ステップＳ１９１０においてリセット情報判定部３０３は、ステップＳ１９０７においてキューイングされているリセット要求のうちの１つに対応する常時電源供給部を選択する。本実施形態においてリセット情報判定部３０３は、キューの先頭にあるリセット要求を選択する。
【００４７】
ステップＳ１９１１においてリセット情報判定部３０３は、制約条件設定部３０５から取得した制約条件に従って、ステップＳ１９１０において選択された常時電源供給部にリセット動作を行わせるか否かを決定する。リセット動作を行わせる場合、処理はステップＳ１９１２に進む。リセット動作を行わせない場合、処理はステップＳ１９１７に進む。
【００４８】
ステップＳ１９１２においてリセット動作指示部３０４は、ステップＳ１９１０において選択された常時電源供給部にリセット動作を行わせることを指示する信号を、リセット生成部１０４に送信する。ステップＳ１９１３においてリセット生成部１０４は、ステップＳ１９１２においてリセット動作指示部３０４から受け取った信号に従って、リセット動作制御部１〜Ｎ（１６３，１６４）に対してリセット動作の開始を指示する信号を送る。信号が送られるリセット動作制御部１〜Ｎ（１６３，１６４）は、指示される常時電源供給部１〜Ｎ（１２１，１２２）に対応するものである。指示を受けたリセット動作制御部１〜Ｎ（１６３，１６４）は、対応する常時電源供給部１〜Ｎ（１２１，１２２）にリセット動作を開始させ、リセット動作を開始したことを示す信号をリセット情報保持部３０１に送る。リセット動作の開始に合わせたタイミングで、常時電源供給部１〜Ｎ（１２１，１２２）に対するクロックの供給も開始される。
【００４９】
ステップＳ１９１４においてリセット動作指示部３０４は、リセット動作制御部１〜Ｎ（１６３，１６４）からのリセット動作を開始したことを示す信号が、リセット情報保持部３０１に入力されたか否かを判定する。入力されている場合、処理はステップＳ１９１５に進む。入力されていない場合には、ステップＳ１９１４の処理が繰り返される。
【００５０】
ステップＳ１９１５においてリセット動作指示部３０４は、ステップＳ１９１０で選択されたリセット動作制御部がリセット動作を開始したことを記録するように、ステータス情報を更新する。本実施形態においては、リセット情報保持部３０１が保持するステータス情報は、リセット動作を開始した常時電源供給部についての「リセット状態」が「１」となるように更新される。またリセット動作指示部３０４は、ステップＳ１９１０で選択されたリセット動作制御部のリセット要求を処理したことを記録するように、ステータス情報を更新する。本実施形態においては、リセット情報保持部３０１が保持するステータス情報は、リセット動作を開始した常時電源供給部についての「リセット要求」及び「未処理のリセット要求」が「０」となるように更新される。またリセット動作指示部３０４は、ステップＳ１９１０で選択されたリセット動作制御部に対するリセット要求を、リセット要求を格納しているキューから削除する。
【００５１】
ステップＳ１９１７においてリセット情報判定部３０３は、ステップＳ１９１０で選択された常時電源供給部のリセット動作が延期されたことを記録するように、ステータス情報を更新する。本実施形態においては、リセット情報保持部３０１が保持するステータス情報は、ステップＳ１９１０で選択された常時電源供給部についての「未処理のリセット要求」が「１」となるように、また「リセット要求」が「０」となるように更新される。すでにステップＳ１９１０で選択された常時電源供給部についての「未処理のリセット要求」が「１」となっている場合には、この記録を維持する。
【００５２】
ステップＳ１９１８においてリセット情報判定部３０３は、ステップＳ１９１０で選択された常時電源供給部に対するリセット要求の次のリセット要求が、リセット要求を格納しているキューに存在するか否かを判定する。次のリセット要求が存在する場合、処理はステップＳ１９１０に戻り、リセット情報判定部３０３は前に選択された常時電源供給部に対するリセット要求の次のリセット要求を選択する。このようにリセット情報判定部３０３は、キューイングされている順に、例えば記憶手段に記憶された順に、リセット要求を順次選択する。次のリセット要求が存在しない場合、処理はステップＳ１９０３に戻る。その後、リセット動作が延期された常時電源供給部については、リセット動作を行うことがステップＳ１９１１で判定されるまで、リセット動作を行うか否かの判定が繰り返される。
【００５３】
以下、図４（ｂ）〜（ｅ）及び図７（ａ）〜（ｄ）を参照して、リセット調停部１０５の動作例を説明する。以下の説明では、図５（ｂ）に示す制約条件に従ってリセット調停部１０５が動作するものとする。ステップＳ１９０１及びＳ１９０２の後、まずリセット生成部１０４は、常時電源供給部１がリセット動作を行うことを要求する。この場合、処理はステップＳ１９０３からステップＳ１９０４へと進み、優先順位設定部３０２は常時電源供給部１についての「リセット要求」が「１」となるようにステータス情報を更新する。更新後のステータス情報の例を図４（ｂ）に示す。ここで、ステップＳ１９０３で確認した新規リセット要求は１つであるから、処理はステップＳ１９０５からステップＳ１９０７へと進み、常時電源供給部１に対するリセット要求がキューに格納される。ステップＳ１９０８においてリセット終了通知は入力されないものとし、処理はステップＳ１９１０に進む。
【００５４】
ステップＳ１９１０において、キューには常時電源供給部１に対するリセット要求のみが格納されているため、リセット情報判定部３０３は常時電源供給部１を選択する。常時電源供給部１がリセット動作を開始しても制約条件には反しないため、ステップＳ１９１１においてリセット情報判定部３０３は常時電源供給部１にリセット動作を開始させることを決定する。そして、ステップＳ１９１２においてリセット動作指示部３０４は、常時電源供給部１にリセット動作を行わせることを指示する信号をリセット生成部１０４に送信する。また、ステップＳ１９１３においてリセット生成部１０４は、常時電源供給部１に対応するリセット動作制御部１に対してリセット動作の開始を指示する信号を送る。こうして、タイミングｔi1において、常時電源供給部１はリセット動作を開始する。そして、ステップＳ１９１４でリセット動作指示部３０４はリセット動作を開始したことを示す信号を受け取ったことを確認する。さらに、ステップＳ１９１５でリセット動作指示部３０４は常時電源供給部１についての「リセット状態」が「１」となり、「リセット要求」が「０」となるようにステータス情報を更新する。
【００５５】
その後、リセット生成部１０４は、常時電源供給部２がリセット動作を行うことを要求したものとする。この場合、ステップＳ１９０３〜Ｓ１９０４の処理が行われ、常時電源供給部２についての「リセット要求」が「１」となるようにステータス情報が更新される。このときのステータス情報の例を図４（ｃ）に示す。
【００５６】
そして、ステップＳ１９０５〜Ｓ１９１１の処理が順次行われる。常時電源供給部１と常時電源供給部２が同時にリセット動作を行っても制約条件には反しないため、ステップＳ１９１１においてリセット情報判定部３０３は常時電源供給部２にリセット動作を開始させることを決定する。さらにステップＳ１９１２〜Ｓ１９１４が行われることにより、タイミングｔj1において、常時電源供給部２はリセット動作を開始する。さらにステップＳ１９１５でリセット動作指示部３０４は常時電源供給部２についての「リセット状態」が「１」となり、「リセット要求」が「０」となるようにステータス情報を更新する。
【００５７】
その後、リセット生成部１０４は、常時電源供給部３がリセット動作を行うことを要求したものとする。この場合、ステップＳ１９０３〜Ｓ１９０４の処理が行われ、常時電源供給部３についての「リセット要求」が「１」となるようにステータス情報が更新される。このときのステータス情報の例を図４（ｄ）に示す。
【００５８】
そして、ステップＳ１９０５〜Ｓ１９１１の処理が順次行われる。この場合、常時電源供給部３が、常時電源供給部１及び２と同時にリセット動作を行うと制約条件に反するため、ステップＳ１９１１においてリセット情報判定部３０３は常時電源供給部２にリセット動作を開始させないことを決定する。このときのタイミングをｔk1とする。この場合、ステップＳ１９１７において常時電源供給部３についての「未処理リセット要求」が「１」となり、「リセット要求」が「０」となるようにステータス情報が更新される。そして、処理はステップＳ１９１８からステップＳ１９０３に戻る。
【００５９】
その後、タイミングｔi2において、常時電源供給部１のリセット動作が終了し、リセット終了通知がリセット情報保持部３０１に入力されたものとする。この場合、ステップＳ１９０３，１９０８，１９０９の処理が行われ、常時電源供給部１についての「リセット状態」が「０」となるようにステータス情報が更新される。このときのステータス情報の例を図４（ｅ）に示す。このとき、常時電源供給部２の「リセット状態」及び「クロック状態」は「１」のままであり、常時電源供給部３の「未処理のリセット要求」は「１」のままである。
【００６０】
ステップＳ１９１０において、以前にキューイングされたリセット要求に対応する、常時電源供給部３が選択される。常時電源供給部３のリセット動作は、タイミングｔk1においては開始されず、そのリセット動作の開始は延期されている。そしてステップＳ１９１１においてリセット情報判定部３０３は、常時電源供給部３にリセット動作を行わせるか否かを判定する。ここで、図５（ｂ）の制約条件には、常時電源供給部３は、常時電源供給部１，２が同時にリセット動作を行っている時にのみリセット動作を開始できないことが定められている。したがって今回は、リセット情報判定部３０３は、常時電源供給部３にリセット動作を行わせることを決定する。そして、ステップＳ１９１２〜Ｓ１９１４が行われることにより、タイミングｔk3において、常時電源供給部３はリセット動作を開始する。さらにステップＳ１９１５でリセット動作指示部３０４は常時電源供給部３についての「リセット状態」が「１」となり、「未処理のリセット要求」が「０」となるようにステータス情報を更新する。
【００６１】
その後、同様の処理を繰り返すことにより、タイミングｔk4において常時電源供給部３のリセット動作が終了し、常時電源供給部３についての「リセット状態」が「０」となるようにステータス情報が更新される。このとき、常時電源供給部２についての「リセット状態」及び「クロック状態」は「１」のままである。さらに、タイミングｔj2において常時電源供給部２のリセット動作が終了し、常時電源供給部２についての「リセット状態」が「０」となるようにステータス情報が更新される。
【００６２】
ステップＳ１９０６におけるリセットの優先順位の決定方法の例について、図４（ａ）を参照して説明する。ここでは、オーダー情報として常時電源供給部に設定されたＩＤを用い、より小さいＩＤを持つ常時電源供給部について優先的にリセットを行う場合について説明する。説明のために、常時電源供給部ＡにＩＤ１、常時電源供給部ＢにＩＤ２、常時電源供給部ＣにＩＤ３、常時電源供給部ＤにＩＤ４が設定されているものとする。図４（ａ）のステータス情報は、常時電源供給部Ｂがリセット動作中であり、常時電源供給部Ａ，Ｄに対するリセット要求が入力されたことを表している。このように、常時電源供給部Ａ，Ｄに対して同時にリセット要求がされているため、あらかじめ決められたオーダー情報に従い、リセットの優先順位を決定する。この場合、より小さいＩＤを持つ常時電源供給部Ａについて先にリセット動作が行われる。すなわち、常時電源供給部Ａについては「リセット要求」が「０」となり、リセット状態が「１」となる。また、常時電源供給部Ｄについては、リセット動作が延期される。すなわち、常時電源供給部Ｄについては「リセット要求」が「０」となり、「未処理のリセット要求」が「１」となる。
【００６３】
図６（ａ）〜（ｃ）は、本実施形態に係る方法を用いずに、常時電源供給部１〜３が独立にリセット動作を行った場合に供給される電流値の例を示す。また図６（ｄ）は、常時電源供給部１〜３に供給される電流値の合計を示す。図６（ｄ）に示す電流値の合計は、ロジックコア領域２０２内において最大電流が観測される地点での電流増加幅が、それぞれの常時電源供給部での電流増加幅の合計である場合に、この地点で観測される電流に対応する。
【００６４】
図６（ａ）は、常時電源供給部１が独立にリセット動作を行った場合に、ｔi1〜ｔi1の期間に常時電源供給部１がリセット状態となり、電流Ｉiが流れることを示している。同様に図６（ｂ）は、常時電源供給部２が独立にリセット動作を行った場合に、ｔj1〜ｔj2の期間に常時電源供給部２がリセット状態となり、電流Ｉjが流れることを示している。また図６（ｃ）は、常時電源供給部３が独立にリセット動作を行った場合に、ｔk1〜ｔk2の期間に常時電源供給部３がリセット状態となり、電流Ｉkが流れることを示している。図６の例においては、ｔi1〜ｔj2の期間に各常時電源供給部が独立にリセット状態となる。このため、ｔk1〜ｔi2の期間のように、常時電源供給部１〜３のリセット動作が同時に行われる可能性がある。この場合、ロジックコア領域２０２内での最大電流は（Ｉi＋Ｉj＋Ｉk）となり、最大電流許容値（Ｉｍａｘ）を超えてしまう。
【００６５】
一方で図７（ａ）〜（ｃ）は、本実施形態に従い、常時電源供給部１〜３のリセット動作が調停された場合の電流値を示す。また、図７（ｄ）は、常時電源供給部１〜３に供給される電流値の合計を示す。この例においては、同時にリセット動作を行った場合に集積回路に供給される電流値が制限値を超える回路ブロックの組み合わせについては、同時にリセット動作が行えないように制約条件が作成されている。図７（ａ）（ｂ）は図６（ａ）（ｂ）と同様であるものの、図７（ｃ）のように、常時電源供給部３のリセット動作は遅らせられる。このために、ロジックコア領域２０２内での最大電流が、最大電流許容値（Ｉｍａｘ）を下回るように制御することが可能となる。
【００６６】
以上説明したように、実施形態１によれば、リセット調停部１０５は、各常時電源供給部の動作状態を示す情報と、制約条件とを参照して、リセット動作を実行させるか否かを判定する。適切な制約条件を用いることにより、適正な電源が供給されるように、リセット動作のタイミングを制御することが可能となる。図７の例においては集積回路に供給される電流値が制限値を超えないように制約条件が作成されているが、制約条件はこれに限定されない。例えば、同時にリセット動作を行った場合に各回路ブロックに供給される電圧の降下幅が制限値を超えないように制約条件が作成されていてもよい。また、集積回路に供給される電力値が制限値を超えないように制約条件が作成されていてもよい。
【００６７】
［実施形態２］
次に、実施形態２に係る半導体集積回路について説明する。図１０は、本実施形態に係る半導体集積回路１０００の一部を模式的に示す。半導体集積回路１０００は、複数の回路ブロックとリセット回路とを有している。本実施形態において半導体集積回路１０００は、回路ブロックとして、常時電源供給部１（１２１）、常時電源供給部Ｎ（１２２）、及び不図示の常時電源供給部２〜Ｎ−１を有している。また本実施形態において半導体集積回路１０００は、回路ブロックとしてさらに、電源制御対象部１（１１１）、電源制御対象部Ｍ（１１２）、及び不図示の電源制御対象部２〜電源制御対象部Ｍ−１を有している。常時電源供給部１〜Ｎ（１２１，１２２）は、実施形態１と同様、それぞれ半導体集積回路の一部であって、常時電源電圧が供給される部分（回路ブロック）である。また電源制御対象部１〜Ｍ（１１１，１１２）は、電源電圧を制御可能な部分（回路ブロック）である。ここで、Ｎ及びＭは整数であり、Ｎ＋Ｍは２以上である。もっとも、回路ブロックの其々が、電源電圧の制御が可能な部分を少なくとも１つ以上含んでいてもよい。
【００６８】
リセット回路は、実施形態１と同様に、リセット生成部１０４、リセット調停部１０５を有している。リセット回路はまた、実施形態１と同様に、常時電源供給部用のリセット動作制御部１〜Ｎ（１６３，１６４）とゲーティングクロックバッファ１〜Ｎ（１７３，１７４）とを有している。リセット回路はさらに、電源制御対象部用のリセット動作制御部１〜Ｍ（１６１，１６２）とゲーティングクロックバッファ１〜Ｍ（１７１，１７２）とを有している。
【００６９】
電源制御指示部１０３は、電源制御指示Ｐ＿ＣＭＤを受けて、各電源制御対象部に電源制御信号Ｐ＿ＣＴＲＬを送信することにより電源制御を行う。例えば、電源制御指示部１０３は、電源制御対象部１（１１１）にはＰ＿ＣＴＲＬ１を、電源制御対象部Ｍ（１１２）にはＰ＿ＣＴＲＬＭを送る。
【００７０】
リセット調停部１０５は、実施形態１と同様に、常時電源供給部１〜Ｎ（１２１，１２２）の動作情報（ＡＪ＿ＳＴＡ）を取得する。さらにリセット調停部１０５は、電源制御対象部１〜Ｍ（１１１，１１２）の動作情報（Ａ＿ＳＴＡ）を、リセット動作制御部１〜Ｍ（１６１，１６２）から同様に取得する。さらにリセット調停部１０５は、リセット生成部１０４からのＲＥＱ信号に従って、各常時電源供給部１〜Ｎ（１２１，１２２）及び各電源制御対象部１〜Ｍ（１１１，１１２）へと送信するリセット信号を調停する。
【００７１】
リセット生成部１０４は、リセット調停部１０５、リセット動作制御部１〜Ｎ（１６３，１６４）、及びリセット動作制御部１〜Ｍ（１６１，１６２）に通信可能に接続されている。リセット生成部１０４は実施形態１と同様に、リセット動作制御部１〜Ｎ（１６３，１６４）に対して信号（ＥＪ＿ＲＳＴ）を送信することができる。また、リセット生成部１０４は、リセット動作制御部１〜Ｍ（１６１，１６２）に対し、電源制御対象部１〜Ｍ（１１１，１１２）にリセット動作を行わせることを指示する信号（Ｅ＿ＲＳＴ）を送信することができる。さらにリセット生成部１０４には、電源制御指示部１０３からの電源制御信号Ｐ＿ＣＴＲＬが入力される。このような電源制御状態を示す電源制御情報として働きうる電源制御信号Ｐ＿ＣＴＲＬに基づいて、リセット要求の調停が行われうる。例えば、電源制御信号Ｐ＿ＣＴＲＬに基づいて、電源電圧の供給を開始する際に電源リセット生成部１０４がリセット要求を生成し、このリセット要求をリセット調停部１０５が調停することができる。
【００７２】
電源制御対象部用のリセット動作制御部１〜Ｍ（１６１，１６２）は、対応する電源制御対象部１〜Ｎ（１１１，１１２）へリセット信号Ｐ＿ＲＳＴ１〜Ｍを送信する。このリセット信号に従って電源制御対象部１〜Ｎ（１１１，１１２）は、リセット生成部１０４及びリセット調停部１０５によって制御されたタイミングでリセット動作を行う。またリセット動作制御部１〜Ｍ（１６１，１６２）は、ゲーティングクロックバッファ１〜Ｍ（１７１，１７２）へクロックイネーブル信号ＣＬＫ＿ＥＮを送信する。常時電源供給部用のリセット動作制御部１〜Ｎ（１６３，１６４）は、実施形態１と同様である。
【００７３】
電源制御対象部１（１１１）の詳細な構成について、図１３（ａ）を参照して説明する。電源制御対象部２〜Ｍも、電源制御対象部１と同様の構成を有する。電源制御対象部１（１１１）は、スイッチ１３０１、電源ネットワーク１３０２、及び回路ブロック１３０３を備える。電源Ｖｄｄａは、スイッチ１３０１及び電源ネットワーク１３０２を介して回路ブロック１３０３に接続される。このスイッチ１３０１により、電源電圧の供給及び遮断が制御される。図１３（ａ）の例では、ＰＭＯＳで構成される電源スイッチをスイッチ１３０１として用いている。しかしながらスイッチ１３０１は、半導体集積回路内で電源電圧を制御する構成であれば特に限定されず、電源制御の方式に制限はない。
【００７４】
図２（ｂ）は、本実施形態に係る半導体集積回路１０００の概略フロアプラン例である。半導体集積回路１０００のロジックコア領域２０２内には、複数の常時電源供給部１２１〜１２５と、複数の電源制御対象部１１１〜１１９とが配置されている。また、電源制御指示部１０３、リセット生成部１０４、及びリセット調停部１０５も配置されており、これらも常時電源供給部に属する。図２（ｂ）は、４つの電源制御対象部（１１１，１１２，１１３，１１４）が密集して配置されている（斜線部）ことを示している。
【００７５】
図１１は、本実施形態に係るリセット調停部１０５の内部構成例を示す。本実施形態に係るリセット調停部１０５の構成は実施形態１と同様であるが、リセット情報保持部３０１にはさらに電源制御対象部１〜Ｍについての情報１１０１，１１０２が入力される。リセット情報保持部３０１、優先順位設定部３０２、リセット情報判定部３０３、リセット動作指示部３０４、及び制約条件設定部３０５は、別記されない限り実施形態１と同様に動作する。
【００７６】
図５（ｃ）（ｄ）は、本実施形態において用いられる制約条件の例を示す。図５（ｃ）は図５（ａ）と同様のものであり、図５（ｄ）は図５（ｂ）と同様のものである。例えば図５（ｄ）においては、電源制御対象部５は、以下の（ｉ）〜（ｉｉｉ）のいずれかの場合にはリセット動作を開始しない。すなわち、（ｉ）電源制御対象部１，３，６の全てのリセット動作中、（ｉｉ）電源制御対象部８，１の全てのリセット動作中、又は（ｉｉｉ）電源制御対象部８，３の全てのリセット動作中、である。図５（ｃ）（ｄ）には簡略化のために常時電源供給部については記載されていない。しかしながら制約条件は、同時にリセット動作を行わない常時電源供給部の組み合わせ、及び同時にリセット動作を行わない電源制御対象部と常時電源供給部との組み合わせも含みうる。
【００７７】
本実施形態に係るリセット調停部１０５は、実施形態１と同様、図１９（ａ）（ｂ）に従って動作する。以下、図４（ｆ）〜（ｈ）及び図９（ａ）〜（ｅ）を参照して、リセット調停部１０５の動作を説明する。以下の説明においてリセット調停部１０５は、図５（ｄ）に示す制約条件に従って動作するものとする。
【００７８】
リセット調停部１０５は、電源制御対象部１、電源制御対象部２、及び電源制御対象部３について、順次リセット要求を受ける。例えば、電源制御対象部１についてのリセット要求を受けた際には、ステップＳ１９０４において、電源制御対象部１についての「リセット要求」が「１」に更新される。また、ステップＳ１９１５において、電源制御対象部１についての「リセット要求」が「０」に更新され、「リセット状態」が「１」に更新される。このようにして、タイミングｔa1において電源制御対象部１についての「リセット状態」は「１」に更新される。同様に、タイミングｔb1及びｔc1において電源制御対象部２及び３についての「リセット状態」は「１」に更新される。続いて、リセット調停部１０５は電源制御対象部４についてのリセット要求を受け、ステップＳ１９０４において電源制御対象部４についての「リセット要求」が「１」に更新される。このときのステータス情報の例を図４（ｆ）に示す。
【００７９】
続くステップＳ１９１０ではリセット要求の対象である電源制御対象部４が選択される。ここで、図５（ｄ）によれば、電源制御対象部４は、電源制御対象部１，２，３が同時にリセット動作している場合には、リセット動作を開始しないことが示されている。したがって、処理はステップＳ１９１１からステップＳ１９１７に進み、電源制御対象部４についての「リセット要求」が「０」に、「未処理のリセット要求」が「１」に、それぞれ更新される。こうして、電源制御対象部４についてのリセット動作開始は延期される。
【００８０】
その後、タイミングｔa2において電源制御対象部１のリセット動作が終了する。するとリセット調停部１０５は、リセット動作制御部１からリセット終了通知を受ける。その後、ステップＳ１９０９においてリセット動作制御部１についての「リセット状態」が「１」から「０」に更新される。この時のステータス情報の例を図４（ｇ）に示す。このとき、電源制御対象部２，３についての「クロック状態」及び「リセット状態」は、「１」のままである。また、電源制御対象部４についてのリセット要求は、キューイングされたままである。
【００８１】
続くステップＳ１９１０において、リセット要求がキューイングされている電源制御対象部４が選択される。ここで、図５（ｄ）によれば、電源制御対象部４は、電源制御対象部２，３が同時にリセット動作している場合には、リセット動作を開始しないことが示されている。したがって、電源制御対象部４についてのリセット動作開始は延期される。
【００８２】
その後、タイミングｔc2において電源制御対象部３のリセット動作が終了する。するとリセット調停部１０５は、リセット動作制御部３からリセット終了通知を受ける。その後、ステップＳ１９０９においてリセット動作制御部３についての「リセット状態」が「１」から「０」に更新される。この時のステータス情報の例を図４（ｈ）に示す。
【００８３】
続くステップＳ１９１０において、リセット要求がキューイングされている電源制御対象部４が選択される。ここで、図５（ｄ）によれば、電源制御対象部４は、電源制御対象部２のみがリセット動作している場合でも、リセット動作を開始できる。したがって、処理はステップＳ１９１１からステップＳ１９１３へと進み、タイミングｔd3で電源制御対象部４のリセット動作が開始する。その後、タイミングｔb2で電源制御対象部２のリセット動作が終了し、タイミングｔd4で電源制御対象部４のリセット動作が終了する。
【００８４】
図１０に示す、本実施形態に係る構成における動作タイミングを図１２のタイミングチャートに示す。外部からクロック信号ＣＬＫが常時供給されている状態で、電源制御指示Ｐ＿ＣＭＤにより、電源遮断期間Ｔ１から電源復帰期間Ｔ２へ移行する。電源復帰期間Ｔ２においては、電源Ｖｄｄａによる電源供給が開始される。電源Ｖｄｄａによる電源供給準備の終了が近づく、すなわち電源供給の安定化が近づくと、電源制御対象部１からの信号Ａ＿ＳＴＡ１、及び電源制御対象部Ｍからの信号Ａ＿ＳＴＡＭがリセット調停部１０５に送信される。電源供給が安定した後、電源制御対象部１はリセット期間Ｔ３を経て、定常動作期間Ｔ４へ移行する。
【００８５】
より具体的には、電源制御指示Ｐ＿ＣＭＤを受け取ると、リセット生成部１０４は電源制御対象部１，Ｍについてのリセット要求を生成し、リセット調停部１０５に送信する。リセット調停部１０５は、電源制御対象部１，Ｍから情報を取得し、送信されたリセット要求を調停してリセット生成部１０４に調停結果を送信する。そしてリセット生成部は、リセット動作を行わせる電源制御対象部に対応するリセット動作制御部に信号Ｅ＿ＲＳＴを送信する。ここでリセット調停部１０５は、調停の結果、電源制御対象部１にリセット動作を行わせ、電源制御対象部Ｍのリセット動作を延期することを決定したものとする。この場合、信号Ｅ＿ＲＳＴ１がアクティブになる。すると、信号Ｅ＿ＲＳＴ１に応じて、リセット動作制御部１６１は信号ＣＬＫ＿ＥＮをアクティブにする。この信号ＣＬＫ＿ＥＮに応じて、ゲーティングクロックバッファ１７１はクロックを電源制御対象部１に伝搬する（ＣＬＫ＿Ｇ）。さらに、リセット動作制御部１６１は調整されたタイミングで信号Ｐ＿ＲＳＴ１を解除し、さらにリセット生成１０４は信号Ｅ＿ＲＳＴ１をインアクティブにする。
【００８６】
このように電源制御対象部１のリセット動作が終了すると、リセット調停部１０５はリセット生成部１０４に電源制御対象部Ｍについてのリセット動作を開始させる。具体的には、リセット期間Ｔ３と重ならないリセット期間Ｔ５において、リセット生成部１０４は信号Ｅ＿ＲＳＴＭをアクティブにする。すると、電源制御対象部Ｍは電源制御対象部１と同様にリセット動作を行い、その後定常動作期間Ｔ６へと移行する。
【００８７】
上記の例においては、電源制御指示Ｐ＿ＣＭＤの入力に応じて電源復帰が行われた。しかしながら、各電源制御対象領域が既に電源供給されている場合には、リセット生成部１０４が決定したタイミングでリセット動作を行わせる信号Ｅ＿ＲＳＴが送信される。
【００８８】
図８（ａ）〜（ｄ）は、各電源制御対象部１〜４が個別にリセット動作を行った場合に供給される電圧の例を示す。図８（ａ）は、電源制御対象部１（１１１）が単独で電源復帰した場合に、タイミングｔa1〜ｔa2の期間にリセット動作を行い、電圧がΔＶａだけ下がることを示している。同様に図８（ｂ）〜（ｄ）は、電源制御対象部２，３，４がそれぞれ単独で電源復帰した場合を示している。すなわち、電源制御対象部２，３，４はタイミングｔb1〜ｔb2、ｔc1〜ｔc2、ｔd1〜ｔd2のそれぞれの期間にリセット動作を行い、電圧がそれぞれΔＶｂ、ΔＶｃ、ΔＶｄだけ下がる。
【００８９】
図８（ｅ）は、図８（ａ）〜（ｄ）に示すタイミングで電源制御対象部１〜４がリセット動作を行った場合の、電圧降下幅を示す。図８（ｄ）に示す電圧値は、ロジックコア領域２０２内において最低電圧が観測される地点での電圧降下幅が、それぞれの常時電源供給部での電圧降下幅の合計である場合に、この地点で観測される電圧に対応する。図８に示されるように、タイミングｔd1〜ｔc2の期間には、電源制御対象部１〜４のリセット動作が行われる。この期間における電圧値は（Ｖ０−ΔＶａ−ΔＶｂ−ΔＶｃ−ΔＶｄ）となり、最低電圧値（Ｖｍｉｎ）を下回ってしまう。
【００９０】
一方で図９（ａ）〜（ｄ）も、図８（ａ）〜（ｃ）と同様に、各電源制御対象部１〜４が個別にリセット動作を行った場合に供給される電圧の例を示している。図９（ｅ）は、本実施形態に従い、電源制御対象部１〜４のリセット動作が調停された場合の電圧降下幅を示している。本実施形態においては例として、同時にリセット動作を行った場合に各回路ブロックに供給される電圧の降下幅が制限値を超えないように制約条件が生成されている。図９（ｅ）に示すように、本実施形態の方法によれば、電圧が最低電圧（Ｖｍｉｎ）以下になることが防止される。
【００９１】
以上説明したように、実施形態２によれば、適正な電源が供給されるように、リセット動作のタイミングを制御することが可能となる。電源制御対象部は、電源供給が制御されるために、常時電源供給部よりもより高い頻度でのリセット動作が要求されることが多く、したがってリセット要求が近接したタイミングでなされることも多い。本実施形態の方法は、このような場合であっても適正な電源が供給されることを可能とする。
【００９２】
本実施形態において電源制御対象部はロジックコア領域２０２に含まれるものとしたが、Ｉ／Ｏ等の、ロジックコア領域外にある回路の電源制御を同様に行うこともできる。
【００９３】
［実施形態３］
以下で、実施形態３に係る半導体集積回路について説明する。図１５は、本実施形態に係る半導体集積回路１５００の一部を模式的に示す。本実施形態に係る半導体集積回路は実施形態２に係る半導体集積回路と同様であるが、リセット回路に電源状態判定部１〜Ｍ（１８１，１８２）が追加されている。電源状態判定部１〜Ｍ（１８１，１８２）は、各電源制御対象部１〜Ｍ（１１１，１１２）に対応する。本実施形態に係る半導体集積回路が有する各部の構成及び動作は、別記ない限り実施形態２に係る半導体集積回路１０００が有する各部と同様である。
【００９４】
電源状態判定部１〜Ｍ（１８１、１８２）には、対応する電源制御対象部の電源電圧を監視する検出端子が接続される。例えば、図１３（ｂ）に示すように、電源状態判定部１（１８１）には、電源制御対象部１（１１１）内の電源ネットワーク１３０２の電源電圧を監視する検出端子Ｐ＿ＳＮＳが接続される。上述のように、電源ネットワーク１３０２は回路ブロック１３０３に電源を供給する。また、電源状態判定部１〜Ｍ（１８１，１８２）には、対応する電源制御対象部１〜Ｍ（１１１，１１２）に対する電源制御信号Ｐ＿ＣＴＲＬが入力される。さらに電源状態判定部１〜Ｍ（１８１，１８２）は、Ｖｄｄａが動作可能であるか否かを示す信号Ｐ＿ＲＤＹを対応するリセット動作制御部１〜Ｍ（１６１）に送信する。さらに、各電源状態判定部１〜Ｍ（１１１，１１２）は、リセット動作を調停するために用いられる電源状態情報ＡＰ＿ＳＴＡをリセット調停部１０５に送信する。電源状態情報ＡＰ＿ＳＴＡもまた、Ｖｄｄａが動作可能であるか否かを示す情報である。
【００９５】
本実施形態においては、検出端子を用いて各電源制御対象部の電源電圧を監視すること（電圧監視）により、Ｖｄｄａが動作可能であるか、すなわちリセット動作が可能となる電圧が電源制御対象部に供給されているかが判定される。そしてリセット調停部１０５は、電源制御対象部の電源電圧がリセット動作を行うために十分である場合にリセット動作を開始するように、リセット要求の調停を行う。もっとも、タイムラグを考慮して、電源電圧がＶｄｄａよりも低い所定値を超えている場合に、電源電圧がリセット動作を行うために十分であると判定してもよい。各電源制御対象部（１１１，１１２）が既に電源を供給されている状態にある場合には、電源制御対象部（１１１，１１２）の電源状態を示す信号ＡＰ＿ＳＴＡを用いなくてもよい。そして、リセット生成部１０４からの信号Ｅ＿ＲＳＴを介して、各電源制御対象部（１１１，１１２）のリセット動作が制御させる。
【００９６】
リセット動作制御部１〜Ｍ（１６１，１６２）は、対応する電源状態判定部１〜Ｍ（１８１，１８２）からのＰ＿ＲＤＹ信号を受け、リセット調停部１０５へと電源制御対象部１〜Ｍ（１１１，１１２）の情報Ａ＿ＳＴＡを送信する。この情報は、各電源制御対象部１〜Ｍ（１１１，１１２）のリセット動作状態を示す情報とクロック供給状態を示す情報を含む。またリセット動作制御部１〜Ｍ（１６１，１６２）は、リセット生成部１０４からの信号Ｅ＿ＲＳＴを受け取る。そしてリセット動作制御部１〜Ｍ（１６１，１６２）は、対応する電源制御対象部１〜Ｍ（１１１，１１２）へと設定されたタイミングでリセット信号Ｐ＿ＲＳＴを送信する。さらにリセット動作制御部１〜Ｍ（１６１，１６２）は、ゲーティングクロックバッファ１〜Ｍ（１７１，１７２）へクロックイネーブル信号ＣＬＫ＿ＥＮを送信する。
【００９７】
リセット調停部１０５には、実施形態２と同様、リセット動作制御部１〜Ｍ（１６１，１６２）から、電源制御対象部１〜Ｍ（１１１，１１２）の情報Ａ＿ＳＴＡが入力される。さらにリセット調停部１０５には、各電源状態判定部１〜Ｍ（１８１，１８２）から、電源状態判定情報ＡＰ＿ＳＴＡが入力される。そしてリセット調停部１０５は、入力された情報を用いて、リセット信号の調停を行い、リセット生成部１０４に指示を送る。
【００９８】
リセット生成部１０４は、実施形態２と同様、各電源制御対象部１〜Ｍ（１１１，１１２）への電源制御信号Ｐ＿ＣＴＲＬを受け取る。またリセット生成部１０４は、リセット調停部１０５による調停結果に従って、電源制御対象部用のリセット動作制御部１〜Ｍ（１６１，１６２）へとリセット信号Ｅ＿ＲＳＴを送る。さらにリセット生成部１０４は、リセット調停部１０５による調停結果に従って、常時電源供給部用のリセット動作制御部１〜Ｎ（１６３，１６４）にも信号を送る。
【００９９】
電源制御対象部１〜Ｍ（１１１，１１２）は、図１３（ｂ）に例示するように、スイッチ（１３０１）、電源ネットワーク（１３０２）、及び回路ブロック（１３０３）を備える。電源Ｖｄｄａは、電源スイッチ等のスイッチ（１３０１）及び電源ネットワーク（１３０２）を介して回路ブロック（１３０３）に接続される。
【０１００】
図１６は、本実施形態に係るリセット調停部１０５の内部構成例を示す。本実施形態に係るリセット調停部１０５の構成は実施形態２と同様であるが、リセット情報保持部３０１にはさらに電源制御対象部１〜Ｍについての電源状態情報ＡＰ＿ＳＴＡ（１１０１，１１０２）が入力される。リセット情報保持部３０１、優先順位設定部３０２、リセット情報判定部３０３、リセット動作指示部３０４、及び制約条件設定部３０５は、別記されない限り実施形態１と同様に動作する。
【０１０１】
本実施形態に係るリセット調停部１０５は、図１９（ａ）（ｂ）に従って実施形態２と同様に動作するが、ステップＳ１９１１における処理が異なる。実施形態２と同様、ステップＳ１９１１でリセット情報判定部３０３は、ステップＳ１９１０で選択された常時電源供給部又は電源制御対象部について、制約条件を参照してリセット動作を行わせるか否かを判定する。本実施形態においては、ステップＳ１９１０で電源制御対象部が選択されている場合、さらに選択された電源制御対象部についての電源状態情報ＡＰ＿ＳＴＡを参照して、リセット動作を行わせるか否かを判定する。具体的には、制約条件によればリセット動作が可能であり、かつ電源電圧が十分な状態である場合に、リセット動作を実施することを決定する。一方で、電源電圧が十分ではない場合には、リセット動作を延期する。
【０１０２】
別の実施例として、ステップＳ１９１１の処理を実施形態２と同様に行い、ステップＳ１９１４において一定時間内にリセット動作を開始したことを示す信号が入力されなかった場合に、処理がステップＳ１９１５に進んでもよい。リセット動作制御部１〜Ｍは、信号Ｐ＿ＲＤＹを参照して、電源電圧が十分な状態にある時にのみリセット動作を開始し、リセット動作の開始を示す信号をリセット調停部１０５に入力するように構成することができる。このため、このような構成によっても、電源電圧に応じてリセット動作の開始／延期を決定することができる。
【０１０３】
以上のように、実施形態３によれば、電源制御対象部についての電源状態と、制約条件とを用いて、リセット要求の調停が行われる。電源状態を参照しながらリセット動作を制御する場合には、設計段階で把握し難いプロセスに依存する変動や温度変化等によってリセット開始タイミングが変化しうる。本実施形態の方法によれば、制約条件を参照することにより、このような場合であっても適正な電源を供給することが可能となる。本実施形態においては電源制御対象部についての電源状態を参照してリセット要求の調停を行ったが、常時電源供給部についての電源状態を参照してリセット要求の調停を行ってもよい。
【０１０４】
［実施形態４］
以下で、実施形態４に係る半導体集積回路について説明する。図１７は、本実施形態に係る半導体集積回路１７００の一部を模式的に示す。本実施形態においては、各電源制御対象部及び常時電源供給部におけるリセット時の電流情報を取得することにより、自動的に制約条件が生成される。
【０１０５】
本実施形態に係る半導体集積回路１７００は実施形態３に係る半導体集積回路１５００と同様であるが、電流モニタ部１９１が追加されている。また、信号ＴＲ−ＭＯＤＥが半導体集積回路１７００の各部に入力される。信号ＴＲ−ＭＯＤＥは、実施形態３と同様の動作を行う通常動作モードと、制約条件を自動的に生成するトレーニングモードとを切り替えるための信号である。信号ＴＲ−ＭＯＤＥは、半導体集積回路１７００内の不図示の構成要素、又は半導体集積回路１７００外から入力される。トレーニングモードの動作は、通常動作モードを開始する前の初期段階において実行されうる。
【０１０６】
電流モニタ部１９１には、信号ＴＲ＿ＭＯＤＥと、各リセット動作制御部１〜Ｍ（１６１，１６２）からのリセット信号Ｐ＿ＲＳＴと、各電源制御対象部１〜Ｍ（１１１，１１２）からの信号Ｐ＿ＭＯＮＴとが入力される。また電流モニタ部１９１には、各リセット動作制御部１〜Ｍ（１６３，１６４）からのリセット信号Ｐ＿ＲＳＴと、各常時電源供給部１〜Ｎ（１２１，１２２）からの信号ＭＯＮＴとがさらに入力される。信号Ｐ＿ＭＯＮＴ及びＭＯＮＴは、電流モニタ部１９１が各電源制御対象部又は常時電源供給部内の電流を検出するために用いる信号である。このように電流モニタ部１９１は、電源制御対象部１〜Ｍ（１１１，１１２）及び常時電源供給部１〜Ｎ（１２１，１２２）のそれぞれについて、流れる電流値を監視することができる。この監視結果を用いて、後述する制約条件生成部１８０１は制約条件を生成する。本実施形態においては電流値が監視されるが、電源制御対象部１〜Ｍ（１１１，１１２）及び常時電源供給部１〜Ｎ（１２１，１２２）のそれぞれの状態を監視（回路監視）し、監視結果を用いて制約条件を生成してもよい。監視される状態としては、電圧値又は電力値のような電源状態が挙げられる。
【０１０７】
図２１は、本実施形態に係る電流モニタ部１９１の構造例である。電流モニタ部１９１は、制御部２１０３と、入力切り替え部２１０４とを備える。入力切り替え部２１０４は、電流を検出するための信号ＭＯＮＴ及びＰ＿ＭＯＮＴから信号を選択するための回路である。電流モニタ部１９１はまた、取得した信号を増幅する増幅器２１０１と、増幅された信号をＡＤ変換してデジタル信号に変換するＡＤ変換部２１０２とを備える。得られたデジタル信号は、各電源制御対象部又は常時電源供給部を流れる電流の大きさを示す電流情報として働く。電流モニタ部１９１はさらに、ＡＤ変換部２１０２により得られた電流情報を保持する情報保持部２１０５と、電流情報を出力する情報出力部２１０６とを備える。
【０１０８】
制御部２１０３には、信号ＴＲ＿ＭＯＤＥと、各電源制御対象部及び常時電源供給部へのリセット信号であるＰ＿ＲＳＴ及びＲＳＴとが入力される。トレーニングモード時においては、各電源制御対象部及び常時電源供給部が順次シリアルにリセット動作を行うように、リセット生成部１０４は信号Ｐ＿ＲＳＴ及びＲＳＴを制御する。そして制御部２１０３は、信号Ｐ＿ＲＳＴ及びＲＳＴに基づいて入力切り替え部２１０４に取得する信号を切り替えさせる。こうして、リセット動作を行う電源制御対象部又は常時電源供給部が切り換えられたタイミングで、リセット動作を行う電源制御対象部又は常時電源供給部についての信号ＭＯＮＴ又はＰ＿ＭＯＮＴを取得するように、入力切り替え部２１０４は切り換え動作を行う。また、情報保持部２１０５は、制御部２１０３の制御に従い、各電源制御対象部又は常時電源供給部ごとに、ＡＤ変換部２１０２により得られた電流情報を保持する。情報出力部２１０６は、各電源制御対象部及び常時電源供給部についての電流情報が揃った際に、得られた電流情報をリセット調停部１０５に送信する。
【０１０９】
図１７の場合では、各電源制御対象部１〜Ｍ（１１１，１１２）からの信号Ｐ＿ＭＯＮＴ１〜Ｍが、電流モニタ部１９１に順次入力される。そして、入力された信号Ｐ＿ＭＯＮＴ１〜Ｍに基づいて電源制御対象部１〜Ｍ（１１１，１１２）内の電流値を示す信号Ｐ＿ＭＯＮＴ１〜Ｍ＿ＯＵＴが順次生成される。同様に、常時電源供給部１〜Ｎ（１２１，１２２）からの信号ＭＯＮＴ１〜Ｎが順次電流モニタ部（１９１）に入力され、常時電源供給部１〜Ｎ（１２１，１２２）内の電流値を示す信号ＭＯＮＴ１〜Ｎ＿ＯＵＴが順次生成される。そして、生成された信号Ｐ＿ＭＯＮＴ＿ＯＵＴ及びＭＯＮＴ＿ＯＵＴがリセット調停部１０５に送信される。
【０１１０】
本実施形態においては、複数の電源制御対象部及び常時電源供給部に対して１つの電流モニタ部１９１が設けられる。しかしながら、回路ブロックのゲート規模又は電源電圧の情報等に基づいて、並列に電流値を測定することが可能であることが予め判明している場合、複数の電流モニタ部を用いて電流値の測定を並列に行ってもよい。
【０１１１】
図１８は、本実施形態に係るリセット調停部１０５の内部構成例を示す。本実施形態に係るリセット調停部１０５の構成は実施形態３と同様であるが、さらに制約条件生成部１８０１を備える。リセット情報保持部３０１、優先順位設定部３０２、リセット情報判定部３０３、リセット動作指示部３０４、及び制約条件設定部３０５は、別記されない限り実施形態３と同様に動作する。
【０１１２】
制約条件生成部１８０１には、信号ＴＲ＿ＭＯＤＥと、上述の電流情報Ｐ＿ＭＯＮＴ＿ＯＵＴ及びＭＯＮＴ＿ＯＵＴが入力される。そして制約条件生成部１８０１は、入力された電力制約条件、並びに各電源制御対象部及び常時電源供給部についての電源電圧情報を用いて、制約条件を生成する。電力制約条件は、リセット時に各電源制御対象部及び常時電源供給部に供給する電力の最大限界値を示す。この電力制約条件は、半導体集積回路１７００内の不図示の構成要素、又は半導体集積回路１７００外から入力され、例えば、ユーザが設定することができる。制約条件生成部１８０１は、各電源制御対象部及び常時電源供給部について、電流情報及び電源電圧情報から電力値を算出する。そして制約条件生成部１８０１は、算出された電力値に基づいて、リセット時に各電源制御対象部及び常時電源供給部に供給する電力が最大限界値を超えないように制約条件を生成し、制約条件設定部３０５へと送信する。
【０１１３】
以下、制約条件生成部１８０１による制約条件生成方法について、図２０のフローチャートを参照して説明する。本実施形態において、図２０に示す処理は、ステップＳ１９０１において行われる。ステップＳ２００１において制約条件生成部１８０１は、トレーニングモードを開始する。具体的には制約条件生成部１８０１は、信号ＴＲ＿ＭＯＤＥをアクティブに切り替える。ステップＳ２００２において制約条件生成部１８０１は、電力制約条件を取得する。
【０１１４】
ステップＳ２００３において制約条件生成部１８０１は、各リセット動作制御部１６１〜１６４を制御することにより、各電源制御対象部及び常時電源供給部に対して順次リセット動作を行わせる。すると、各電源制御対象部及び常時電源供給部についての電流情報が、電流モニタ部１９１により取得される。例えば、各リセット動作制御部にクロックをカウントする機構を設けることにより、異なるタイミングでリセット動作を開始させることができる。この電流情報は、電源制御対象部又は常時電源供給部が単独でリセット動作を行ったときに流れる電流値を示す。
【０１１５】
ステップＳ２００４において制約条件生成部１８０１は、電源制御対象部及び常時電源供給部のうち１つを選択する。以下では、選択された電源制御対象部又は常時電源供給部を対象回路ブロックと呼ぶ。続くステップＳ２００５〜Ｓ２０１０においては、対象回路ブロックについての制約条件が生成される。
【０１１６】
ステップＳ２００５において制約条件生成部１８０１は、対象回路ブロックを除く電源制御対象部及び常時電源供給部のうちの１以上である回路ブロックを選択する。例えば、対象回路ブロックを除く電源制御対象部及び常時電源供給部のうちの１つを選択すればよい。ステップＳ２００６において制約条件生成部１８０１は、対象回路ブロックについての電力値と、ステップＳ２００５又はＳ２０１０で選択された回路ブロックについての電力値と、の合計を算出する。ここで、対象回路ブロックについての電力値とは、対象回路ブロックが単独でリセット動作を行った際に消費される電力値である。また、ステップＳ２００５又はＳ２０１０で選択された回路ブロックについての電力値とは、選択された回路ブロックのそれぞれが単独でリセット動作を行った際に消費される電力値の合計値である。上述のように、電源制御対象部又は常時電源供給部が単独でリセット動作を行ったときに流れる電力値は、電源電圧情報と電流情報とを用いて算出することができる。
【０１１７】
ステップＳ２００７において制約条件生成部１８０１は、ステップＳ２００６で算出された合計電力が、電力制約条件を満たしているか否か、例えば最大限界値以下であるか否かを判定する。電力制約条件が満たされている場合、処理はステップＳ２００８に進む。電力制約条件が満たされていない場合、処理はステップＳ２００９に進む。ステップＳ２００８において制約条件生成部１８０１は、Ｓ２００５又はＳ２０１０で選択された１以上の回路ブロックを識別する情報を、対象回路ブロックについての制約条件のうちの１つとして記録する。この情報により、Ｓ２００５又はＳ２０１０で選択された１以上の回路ブロックが同時にリセット動作を行っている場合には、対象回路ブロックのリセット動作を開始しないことが特定される。この方法によれば、消費電力値の合計が所定の制限値を超える回路ブロックの組み合わせについては同時にリセット動作が行えないように、制約条件を生成することができる。
【０１１８】
ステップＳ２００９において制約条件生成部１８０１は、ステップＳ２０１０において異なる回路ブロックを選択できるか否かを判定する。選択できる場合、処理はステップＳ２０１０に進み、対象回路ブロックを除く電源制御対象部及び常時電源供給部のうちの１以上である回路ブロックを新たに選択する。ステップＳ２００５及びＳ２０１０において制約条件生成部１８０１は、対象回路ブロックを除く電源制御対象部及び常時電源供給部のうちの１以上の組み合わせを順次選択することができる。例えば、対象回路ブロックを除く電源制御対象部及び常時電源供給部のうちの１以上からなる全ての組み合わせから、１つの組み合わせを順次選択することができる。この場合、選択されていない組み合わせが残っていない場合に、ステップＳ２０１０において異なる回路ブロックは選択できないものと判定される。もっとも、電源制御対象部及び常時電源供給部のうちの１以上の組み合わせの選択方法は特に限定されない。例えば、電源制御対象部又は常時電源供給部のうち１つを組み合わせに追加し、又は組み合わせから除外することを繰り返してもよい。
【０１１９】
ステップＳ２０１０において異なる回路ブロックは選択できないものと判定された場合、処理はステップＳ２０１２に進む。ステップＳ２０１２において制約条件生成部１８０１は、まだ対象回路ブロックとして選択されていない電源制御対象部又は常時電源供給部が存在するか否かを判定する。存在する場合、処理はステップＳ２０１１に進み、制約条件生成部１８０１はまだ対象回路ブロックとして選択されていない電源制御対象部又は常時電源供給部のうち１つを選択する。存在する場合、処理はステップＳ２０１３に進む。ステップＳ２０１３において制約条件生成部１８０１は、得られた制約条件を制約条件設定部３０５に送信する。ステップＳ２０１４において制約条件生成部１８０１は、トレーニングモードを終了し、通常モードを開始する。具体的には制約条件生成部１８０１は、信号ＴＲ＿ＭＯＤＥをインアクティブ状態にする。そして、ステップＳ１９０２以降の処理が行われる。
【０１２０】
以上の図２０に示される処理を必ず行う必要はない。例えば制約条件生成部１８０１は、ステップＳ１９０１において、以前に生成した制約条件を制約条件設定部３０５に送信してもよい。すなわち制約条件生成部１８０１は、以前に制約条件を生成したときから所定の時間が経過している場合に、又はユーザ指示等の制約条件生成部１８０１外からの指示に応じて、制約条件を生成してもよい。
【０１２１】
実施形態４によれば、適切なタイミングでリセット動作を制御できるように、制約条件を自動的に生成することができる。設計段階で把握し難いプロセスに依存する変動や温度変化等によって、リセット動作中の電源状態は変動しうる。本実施形態によれば、このような場合であっても適切な制約条件を生成することができるため、より適切な電源の供給、及びパフォーマンスの向上が期待できる。本実施形態では例として集積回路に供給される電力値が制限値を超えないように制約条件を作成したが、上述のように、電流値又は電圧降下幅のような他の電源状態に基づいて制約条件を作成してもよい。
【図１】
2014178787.tif 000003
【図２】
2014178787.tif 000004
【図３】
2014178787.tif 000005
【図４】
2014178787.tif 000006
【図５】
2014178787.tif 000007
【図６】
2014178787.tif 000008
【図７】
2014178787.tif 000009
【図８】
2014178787.tif 000010
【図９】
2014178787.tif 000011
【図１０】
2014178787.tif 000012
【図１１】
2014178787.tif 000013
【図１２】
2014178787.tif 000014
【図１３】
2014178787.tif 000015
【図１４】
2014178787.tif 000016
【図１５】
2014178787.tif 000017
【図１６】
2014178787.tif 000018
【図１７】
2014178787.tif 000019
【図１８】
2014178787.tif 000020
【図１９】
2014178787.tif 000021
【図２０】
2014178787.tif 000022
【図２１】
2014178787.tif 000023