(57)【要約】システムの熱シミュレーションを実行するためのシステム及び方法が本明細書で開示される。一実施形態では、熱シミュレーションのためのコンピュータにより実施される方法は、システム内の回路についての漏れ電力プロフィールを決定することと、合成電力プロフィールを取得するために回路の動的電力プロフィールに漏れ電力プロフィールを加算することと、システム上のロケーションにおける熱応答を取得するためにインパルス応答で合成電力プロフィールを畳み込むこととを備える。【選択図】  図５
2017537307.tif 000002
【特許請求の範囲】
【請求項１】
熱シミュレーションのためのコンピュータにより実施される方法であって、
システム内の回路についての漏れ電力プロフィールを決定することと、
合成電力プロフィールを取得するために、前記回路の動的電力プロフィールに前記漏れ電力プロフィールを加算することと、
前記システムのロケーションにおける熱応答を取得するために、インパルス応答で前記合成電力プロフィールを畳み込むことと
を備える方法。
【請求項２】
前記漏れ電力プロフィールを決定することは、
温度プロフィールを取得するために、前記インパルス応答で前記回路の前記動的電力プロフィールを畳み込むことと、
前記温度プロフィールに基づいて前記漏れ電力プロフィールを決定することと
を備える、請求項１に記載の方法。
【請求項３】
前記回路におけるステップ電力に対する前記ロケーションにおける熱ステップ応答を決定することと、
前記インパルス応答を取得するために、時間に対する前記熱ステップ応答の導関数を計算することと
を更に備える、請求項１に記載の方法。
【請求項４】
前記ロケーションは、前記回路内にある、請求項３に記載の方法。
【請求項５】
周辺温度を前記熱応答に加算することを更に備える、請求項１に記載の方法。
【請求項６】
熱シミュレーションのためのコンピュータにより実施される方法であって、
システム内の回路についての第１の温度プロフィールを決定することと、
前記第１の温度プロフィールに基づいて前記回路についての第１の漏れ電力プロフィールを決定することと、
前記第１の漏れ電力プロフィールに基づいて前記回路についての第２の温度プロフィールを決定することと
を備える方法。
【請求項７】
前記第１の温度プロフィールを決定することは、前記システム上のロケーションにおけるインパルス応答で前記回路の動的電力プロフィールを畳み込むことを備える、請求項６に記載の方法。
【請求項８】
前記ロケーションは、前記回路内にある、請求項７に記載の方法。
【請求項９】
前記第１の温度プロフィールは、前記回路における漏れ電力が略０であるとの想定に基づいて決定される、請求項７に記載の方法。
【請求項１０】
前記第２の温度プロフィールを決定することは、
合成電力プロフィールを取得するために、前記回路の動的電力プロフィールに前記第１の漏れ電力プロフィールを加算することと、
インパルス応答で前記合成電力プロフィールを畳み込むことと
を備える、請求項６に記載の方法。
【請求項１１】
前記回路におけるステップ電力に対する熱ステップ応答を決定することと、
前記インパルス応答を取得するために、時間に対する前記熱ステップ応答の導関数を計算することと
を更に備える、請求項１０に記載の方法。
【請求項１２】
前記第１の温度プロフィール及び前記第２の温度プロフィールに基づいて誤差値を決定することと、
前記誤差値を誤差閾値と比較することと、
前記誤差値が前記誤差閾値を上回る場合、
前記第２の温度プロフィールに基づいて第２の漏れ電力プロフィールを決定すること、及び
前記第２の漏れ電力プロフィールに基づいて第３の温度プロフィールを決定すること
のステップを実行することと 
を更に備える、請求項６に記載の方法。
【請求項１３】
熱シミュレーションのためのコンピュータにより実施される方法であって、
システム内の回路についての電力スケーリングプロフィールを決定することと、
合成電力プロフィールを取得するために、前記回路の動的電力プロフィールを前記電力スケーリングプロフィールに乗じることと、
前記システム上のロケーションにおける熱応答を取得するために、インパルス応答で前記合成電力プロフィールを畳み込むことと
を備える方法。
【請求項１４】
前記電力スケーリングプロフィールを決定することは、
温度プロフィールを取得するために、前記インパルス応答で前記回路の前記動的電力プロフィールを畳み込むことと、
前記温度プロフィールに基づいて前記電力スケーリングプロフィールを決定することと
を備える、請求項１３に記載の方法。
【請求項１５】
前記回路におけるステップ電力に対する前記ロケーションにおける熱ステップ応答を決定することと、
前記インパルス応答を取得するために、時間に対する前記熱ステップ応答の導関数を計算することと
を更に備える、請求項１３に記載の方法。
【請求項１６】
前記ロケーションは、前記回路内にある、請求項１５に記載の方法。
【請求項１７】
周辺温度を前記熱応答に加算することを更に備える、請求項１３に記載の方法。
【請求項１８】
熱シミュレーションのためのコンピュータにより実施される方法であって、
システム内の回路についての第１の温度プロフィールを決定することと、
前記第１の温度プロフィールに基づいて前記回路についての電力スケーリングプロフィールを決定することと、
前記回路の動的電力プロフィール及び前記電力スケーリングプロフィールに基づいて前記回路についての第２の温度プロフィールを決定することと
を備える方法。
【請求項１９】
前記第２の温度プロフィールを決定することは、
合成電力プロフィールを取得するために、前記動的電力プロフィールを前記電力スケーリングプロフィールに乗じることと、
インパルス応答で前記合成電力プロフィールを畳み込むことと
を備える、請求項１８に記載の方法。
【請求項２０】
前記ロケーションは、前記回路内にある、請求項１９に記載の方法。
【請求項２１】
前記回路におけるステップ電力に対する熱ステップ応答を決定することと、
前記インパルス応答を取得するために、時間に対する前記熱ステップ応答の導関数を計算することと
を更に備える、請求項１９に記載の方法。
【請求項２２】
前記第１の温度プロフィール及び前記第２の温度プロフィールに基づいて誤差プロフィールを決定することと、
前記誤差プロフィールが誤差閾値に達する時点を決定することと、
決定された前記時点より後の時間範囲に相当する前記電力スケーリングプロフィールの第１の部分を更新することと
を更に備える、請求項１８に記載の方法。
【請求項２３】
決定された前記時点より前の時間範囲に相当する、前記電力スケーリングプロフィールの第２の部分は更新されない、請求項２２に記載の方法。
【請求項２４】
前記電力スケーリングプロフィールの前記第１の部分は、前記第２の温度プロフィールに基づいて更新される、請求項２２に記載の方法。
【請求項２５】
更新された前記電力スケーリングプロフィール及び前記動的電力プロフィールに基づいて第３の温度プロフィールを決定することを更に備える、請求項２２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本開示の態様は一般に、熱シミュレーションに関し、より具体的には、畳み込み及び反復方法を使用した熱シミュレーションに関する。
【背景技術】
【０００２】
[0002]システム（例えばモバイルデバイス）の熱シミュレーションは、システムの設計中に実行され得る。例えば、熱シミュレーションは、システム内のチップ（ダイ）が持続動作中オーバーヒートしないことを確かめるために実行され得る。これは、チップにダメージを与え得る熱暴走にチップが入ることを防ぐために行われ得る。別の例では、システムがモバイルデバイスであるとき、熱シミュレーションは、デバイスのユーザが触ることができないほどデバイスの表面温度が熱くなりすぎないことを確かめるために実行され得る。
【０００３】
[0003]熱シミュレーションの結果に基づいて、システム設計の１つ又は複数の態様が、熱制約内でシステム性能を改善するために変更され得る。例えば、チップのレイアウトが変更され得、チップ上の回路（例えば中央処理装置（ＣＰＵ））の動作周波数が変更され得、システム内の構成要素の配列が変更され得る。１つ又は複数の変更を実現した後、これらの変更によるシステム性能を決定するために熱シミュレーションが実行され得る。このプロセスは、熱制約内でシステム性能を改善するために繰り返され得る。
【発明の概要】
【０００４】
[0004]以下には、１つ又は複数の実施形態の基本的な理解を提供するためにそのような実施形態の簡略化された概要が提示される。この概要は予期される全ての実施形態の広範囲に及ぶ概観ではなく、全ての実施形態のキー又は不可欠な要素を識別することも任意の又は全ての実施形態の範囲を描写することも意図されない。その唯一の目的は、後に提示されるより詳細な説明への前置きとして、１つ又は複数の実施形態の幾つかの概念を簡略化された形式で提示することである。
【０００５】
[0005]第１の態様によれば、熱シミュレーションのためのコンピュータにより実施される方法が本明細書で説明される。方法は、システム内の回路についての漏れ電力プロフィールを決定することと、合成電力プロフィールを取得するために回路の動的電力プロフィールに漏れ電力プロフィールを加算することと、システム上のロケーションにおいて熱応答を取得するためにインパルス応答で合成電力プロフィールを畳み込むこととを備える。
【０００６】
[0006]第２の態様は、熱シミュレーションのためのコンピュータにより実施される方法に関する。方法は、システム内の回路についての第１の温度プロフィールを決定することと、第１の温度プロフィールに基づいて回路についての第１の漏れ電力プロフィールを決定することと、第１の漏れ電力プロフィールに基づいて回路についての第２の温度プロフィールを決定することとを備える。
【０００７】
[0007]第３の態様は、熱シミュレーションのためのコンピュータにより実施される方法に関する。方法は、システム内の回路についての電力スケーリングプロフィールを決定することと、合成電力プロフィールを取得するために回路の動的電力プロフィールを電力スケーリングプロフィールに乗じることと、システム上のロケーションにおいて熱応答を取得するためにインパルス応答で合成電力プロフィールを畳み込むこととを備える。
【０００８】
[0008]第４の態様は、熱シミュレーションのためのコンピュータにより実施される方法に関する。方法は、システム内の回路についての第１の温度プロフィールを決定することと、第１の温度プロフィールに基づいて回路についての電力スケーリングプロフィールを決定することと、回路の動的電力プロフィール及び電力スケーリングプロフィールに基づいて回路についての第２の温度プロフィールを決定することとを備える。
【０００９】
[0009]前述した目的及び関連する目的を達成するために、１つ又は複数の実施形態は、以下に十分に説明され、特許請求の範囲において具体的に示される特徴を備える。以下の説明及び添付の図面は、１つ又は複数の実施形態の特定の実例となる態様を詳細に示す。しかしならが、これらの態様は、様々な実施形態の原理が用いられ得る様々な方法のうちのほんの一部しか示しておらず、説明される実施形態は、全てのそのような態様及びそれらの等化物を含むことが意図される。
【図面の簡単な説明】
【００１０】
【図１】[0010]図１は、熱シミュレーションが実行され得る対象のシステムの例を示す。
【図２】[0011]図２は、本開示の実施形態に係る、ステップ電力とこのステップ電力に対する熱応答の例を示す。
【図３Ａ】[0012]図３Ａは、本開示の実施形態に係る、電力プロフィールの例を示す。
【図３Ｂ】図３Ｂは、本開示の実施形態に係る、電力プロフィールの例を示す。
【図３Ｃ】[0013]図３Ｃは、本開示の実施形態に係る、動的電力を調整するためのシステムの例を示す。
【図４】[0014]図４は、本開示の実施形態に係る、畳み込みを使用して計算される例示的な熱応答を示す。
【図５】[0015]図５は、本開示の実施形態に係る、漏れ電力プロフィールを計算するための反復プロセスのフローチャートを示す。
【図６】[0016]図６は、本開示の実施形態に係る、温度依存型電力制御を有するシステムの例を示す。
【図７】[0017]図７は、本開示の実施形態に係る、温度依存型電力制御を有するシステムについての１つの誤差プロフィール及び２つの温度プロフィールの例を示す。
【図８Ａ】[0018]図８Ａは、本開示の実施形態に係る、制御された電力プロフィールを計算するための反復プロセスのフローチャートを示す。
【図８Ｂ】図８Ｂは、本開示の実施形態に係る、制御された電力プロフィールを計算するための反復プロセスのフローチャートを示す。
【図９】[0019]図９は、熱シミュレーションが実行され得る対象のシステムの別の例を示す。
【図１０】[0020]図１０は、本開示の実施形態に係る、熱シミュレーションのための方法のフローチャートを示す。
【図１１】[0021]図１１は、本開示の別の実施形態に係る、熱シミュレーションのための方法のフローチャートを示す。
【図１２】[0022]図１２は、本開示の更に別の実施形態に係る、熱シミュレーションのための方法のフローチャートを示す。
【図１３】[0023]図１３は、本開示の更に別の実施形態に係る、熱シミュレーションのための方法のフローチャートを示す。
【図１４】[0014]図１４は、主題の技術の特徴が実現され得る電子システムを例示する。
【発明の詳細な説明】
【００１１】
[0025]添付の図面に関連して以下に示される詳細な説明は、様々な構成の説明を意図されており、本明細書で説明される概念が実施され得る全ての構成を表すことを意図されたものではない。詳細な説明は、様々な概念の完全な理解を提供する目的で特定の詳細を含む。しかしながら、これらの概念がこれらの特定の詳細なしに実施され得ることは当業者には明らかであろう。幾つかの事例では、そのような概念を曖昧にしないために、周知の構造及び構成要素がブロック図の形式で示される。
【００１２】
[0026]システム（例えばモバイルデバイス）の熱シミュレーションは、システムの設計中に実行され得る。例えば、熱シミュレーションは、システム内のチップ（ダイ）が持続動作中オーバーヒートしないことを確かめるために実行され得る。これは、チップが熱暴走に入ることを防ぐために行われ得る。熱暴走は、温度の上昇が漏れ電力を増加させ、これが次に、温度の更なる上昇を引き起こすときに発生する。結果として生じる正のフィードバックは、チップの温度を急速に上昇させ得、これは、チップにダメージを与える可能性がある。別の例では、システムがモバイルデバイスであるとき、熱シミュレーションは、デバイスのユーザが触ることができないほどデバイスの表面温度が熱くなりすぎないことを確かめるために実行され得る。
【００１３】
[0027]熱シミュレーションの結果に基づいて、システム設計の１つ又は複数の態様が、熱制約内でシステム性能を改善するために変更され得る。例えば、チップのレイアウトが変更され得、チップ上の回路（例えば中央処理装置（ＣＰＵ））の動作周波数が変更され得、システム内の構成要素の配列が変更され得る。１つ又は複数の変更を実現した後、これらの変更によるシステム性能を決定するために熱シミュレーションが実行され得る。このプロセスは、熱制約内でシステム性能を改善するために繰り返され得る。
【００１４】
[0028]現在の熱シミュレータは、計算的に複雑であり、結果として、長いシミュレーション時間を有する。例えば、状態空間熱シミュレータは、システムの単一の熱シミュレーションを実行するのに数時間（例えば８時間）かかる及び／又は複数のコンピュータを必要とし得る。長いシミュレーション時間は、異なるシナリオ（例えば異なる動作周波数）について熱シミュレーションを実行することを非現実的なものとし得る。加えて、現在の熱シミュレータは、システムにおける漏れ電力及びシステムにおける温度依存型電力制御を正確にモデリングする能力を有さない。
【００１５】
[0029]図１は、熱シミュレーションが実行され得る対象のシステム１００の簡略化された概念図を示す。システム１００は、チップ（ダイ）１１０、チップパッケージ１２０、基板（例えばプリント基板）１２５及び筐体１３０を備え得る。チップ１１０は、以下で更に説明されるように、動作中に電力を消費し、そのため熱を発生させる回路１１５（例えばＣＰＵ）を備え得る。説明を容易にするために、図１には１つの回路１１５が示されるが、チップ１１０が、複数の回路（例えば１つ又は複数のＣＰＵ、グラフィックス処理ユニット（ＧＰＵ）、モデム、等）を備え得ることは認識されるべきである。チップ１１０は、チップパッケージ１２０内にパッケージ化され得、チップパッケージ１２０は、基板１２５上に取り付けられ得る。システム１００の他の構成要素（図示されない）もまた基板１２５上に取り付けられ得ることも認識されるべきである。基板１２５は、筐体１３０に収納され得る。システム１００がモバイルデバイスである例について、筐体１３０の外面は、モバイルデバイスのユーザと接触し得る。図１が正確な縮尺率で描写されていないことは認識されるべきである。
【００１６】
[0030]動作中、回路１１５は、（例えばトランジスタ切替えにより）動的電力を消費し、これは、回路１１５の動作周波数及び回路１１５の電源電圧の平方に略比例し得る。回路１１５が電力を消費するため、この電力消費によって発生する熱は、熱結合によりシステム１００の他の部分に流れる。熱の流れ（熱伝達）は、システム１００のその他の部分における温度を上昇させる。チップ１１５内の熱の流れは図１において矢印で表される。
【００１７】
[0031]この点に関しては、１つ又は複数の熱シミュレーションが、回路１１５による電力消費によるシステム１００上の異なるロケーションにおける温度変化（熱応答）を決定するために実行され得る。ロケーションは、チップ上の１つ又は複数のロケーション、筐体１３０上の１つ又は複数のロケーション及び／又はシステム１００上の対象となる１つ又は複数の他のロケーションを含み得る。
【００１８】
[0032]図１は、回路１１５による電力消費に対する熱応答が、システム１００上の（「Ｌ１」〜「Ｌ５」と表される）５つのロケーションにおいて決定される例を示す。この例では、ロケーションＬ１は、回路１１５内にあり、ロケーションＬ２〜Ｌ４は、回路１１５の外側のチップ１１０上にあり、ロケーションＬ５は、筐体１３０上にある。チップ１１５上のロケーションＬ１〜Ｌ４における熱応答は、例えば、回路１１５による電力消費が熱暴走を招くかどうかを予測するために使用され得る。本開示の実施形態が、図１に示される例に限られないことは認識されるべきである。例えば、熱シミュレーションがチップ１１０についてのみ実行される場合、熱応答が決定される各ロケーションは、チップ１１０上にあり得る。一般に、熱シミュレーションは、システム１００全体又はシステム１００の一部について実行され得る。
【００１９】
[0033]畳み込みを使用して異なる電力シナリオについて熱シミュレーションを実行するための方法が、本開示の特定の実施形態に従ってここから説明される。方法は、説明を容易にするために、図１に示される例示的なシステム１００に関連して以下に説明される。しかしながら、方法がこの例に限られず、他のシステムに適用され得ることは認識されるべきである。
【００２０】
[0034]最初に、熱シミュレータ（例えば状態空間熱シミュレータ）が、回路１１５におけるステップ電力に対するロケーションＬ１〜Ｌ５における熱応答をシミュレートするために使用される。熱シミュレータは、１つ又は複数のコンピュータ上で動き得、システム１００の熱挙動をモデリングするシステム１００の数学モデル（例えば状態空間モデル）に基づいて異なるロケーションにおける熱応答をシミュレートし得る。
【００２１】
[0035]図２は、回路１１５におけるステップ電力２１０の例を示す。この例では、ステップ電力２１０は、時間ｔ０において０ワットから１ワットにジャンプし、その後１ワットで一定に保たれる。故に、ステップ電力は、回路１１５のための電力として熱シミュレータに入力される。
【００２２】
[0036]熱シミュレータは、各ロケーションＬ１〜Ｌ５におけるステップ応答（即ち回路１１５におけるステップ電力に対する各ロケーションＬ１〜Ｌ５における熱応答）を計算する。この点に関しては、図２は、ロケーションＬ１における例示的なステップ応答２２０を示し、ここでは、ロケーションＬ１における温度がステップ電力２１０に応答して上昇する。図２に示されるように、ロケーションＬ１における温度は、ステップ電力２１０による（「Ｔa」と表される）周辺温度から上昇し、ここで、周辺温度は、室内温度（例えば２５℃）又は別の温度であり得る。一態様では、周辺温度は、ステップ応答から除算され得、このケースでは、ステップ応答は、電力ステップによるロケーションＬ１における温度の上昇を表す。その他のロケーションＬ２〜Ｌ５におけるステップ応答は、同様に計算され得る。
【００２３】
[0037]ステップ応答２２０は、ロケーションＬ１における温度をシミュレートすることが望まれる時間期間にわたって決定され得る。図２は、継続時間応答としてステップ応答２２０を示すが、以下で更に説明されるように、ステップ応答２２０が、一連の温度値を備える離散時間応答として表され得ること、ここで、各温度値は異なる時点におけるステップ電力による温度の上昇を表す、は認識されるべきである。
【００２４】
[0038]各ロケーションＬ１〜Ｌ５におけるステップ応答が決定された後、各ロケーションＬ１〜Ｌ５における熱インパルス応答が、それぞれのステップ応答に基づいて決定され得る。例えば、各ロケーションＬ１〜Ｌ５におけるインパルス応答は、時間に対するそれぞれのステップ応答の導関数を計算することで決定され得る。各ロケーションＬ１〜Ｌ５におけるインパルス応答は、Ｈm（ｔ）と表され得、ここで、インデックスｍは、それぞれのロケーションを示す。例えば、Ｈ1（ｔ）は、ロケーションＬ１におけるインパルス応答を表し、Ｈ2（ｔ）は、ロケーションＬ２におけるインパルス応答を表す。
【００２５】
[0039]各ロケーションＬ１〜Ｌ５におけるインパルス応答が決定された後、回路１１５における任意の電力プロフィール（時間に対する電力）に対する各ロケーションＬ１〜Ｌ５における熱応答が、電力プロフィールでそれぞれのインパルス応答を畳み込むことで計算され得る。これは、各ロケーションにおけるインパルス応答が、回路１１５における電力入力に対するそれぞれのロケーションにおける熱応答を特徴付けるためである。
【００２６】
[0040]一態様では、任意の電力プロフィールに対する各ロケーションにおける熱応答は、次のように、それぞれのインパルス応答Ｈm（ｔ）で電力プロフィールを畳み込むことで計算され得る：
ＴＲm（ｔ）＝Ｈm（ｔ）＊Ｐ（ｔ）  式（１）
ここで、＊は、畳み込み演算を表し、Ｐ（ｔ）は、電力プロフィールであり、ＴＲm（ｔ）は、熱応答であり、インデックスｍは、それぞれのロケーションを表す。各ロケーションにおける温度プロフィール（時間に対する温度）は、次のように求められ得る：
Ｔm（ｔ）＝Ｈm（ｔ）＊Ｐ（ｔ）＋Ｔa  式（２）
ここで、Ｔm（ｔ）は、温度であり、Ｔaは、周辺温度（例えば２５℃）であり、インデックスｍは、それぞれのロケーションを表す。故に、各ロケーションにおける温度プロフィールは、周辺温度をそれぞれの熱応答に加算することで決定され得る。
【００２７】
[0041]故に、一度インパルス応答が各ロケーションにおいて計算されると、任意の電力プロフィール（時間に対する電力）に対する各ロケーションＬ１〜Ｌ５における熱応答は、それぞれのインパルス応答で電力プロフィールを畳み込むことですぐに計算されることができる。畳み込み演算を実行することが、電力プロフィールについて状態空間熱シミュレーションを実行することよりもかなり（例えば２０，０００倍を超えて）速いため、これは、シミュレーション時間を大幅に低減する。結果として、設計者が回路１１５の電力プロフィールに変更を加えるとき、設計者は、システム１００上の異なるロケーションにおける熱応答に結果として生じる変化をすぐに確認することができる（即ちシステムの熱性能に対する変更の影響をすぐに確認することができる）。これにより、設計者は、システムの熱性能を改善するために多くの異なる電力プロフィールを試すこと及び／又はどの電力プロフィールがシステム１００の熱制約内に留まる（例えば熱暴走が発生する温度よりも下に留まる）かを決定することができる。
【００２８】
[0042]故に、多大な計算を要する状態空間熱シミュレーションは、システム上の異なるロケーションにおけるインパルス応答を決定するために一度しか実行される必要がないだろう。一度インパルス応答が決定されると、異なる電力プロフィールに対するロケーションＬ１〜Ｌ５における熱応答は、畳み込みを使用して大幅に低減されたシミュレーション時間で計算され得る。
【００２９】
[0043]図３Ａ〜３Ｂは、畳み込みを使用して熱応答がすぐに計算され得る対象の電力プロフィール３１０及び３２０の例を示す。より具体的には、図３Ａは、回路１１５による電力消費が１ワット以外（例えば１．５ワット）の電力レベルで比較的一定に保たれる電力プロフィール３１０の例を示す。この例では、電力プロフィール３１０に対するロケーションＬ１〜Ｌ５における熱応答が、ロケーションＬ１〜Ｌ５におけるインパルス応答で電力プロフィール３１０を畳み込むことですぐに計算され得る。設計者は、電力プロフィール３１０の電力レベルを変更し、ロケーションＬ１〜Ｌ５におけるインパルス応答で、変更された電力プロフィールを畳み込むことでロケーションＬ１〜Ｌ５における熱応答に結果として生じる変化をすぐに確認することができる。電力プロフィール３１０の電力レベルは、例えば、回路１１５の動作周波数及び／又は回路１１５の電源電圧を変更することで変更され得る。
【００３０】
[0044]図３Ｂは、回路１１５がパワーゲートされる電力プロフィール３２０の例を示す。回路１１５は、例えば、回路１１５が使用中でないときに回路１１５を電源オフにすることで、回路１１５が使用中でない（例えばアイドル状態にある）ときに電力消費を低減するために、パワーゲートされ得る。図３Ｂに示される例では、回路１１５は、持続時間（time duration）３３２−１〜３３２−４の間電源オンにされており、持続時間３２５−１〜３２５−３の間電源オフにされている。この例では、電力プロフィール３２０に対するロケーションＬ１〜Ｌ５における熱応答が、ロケーションＬ１〜Ｌ５におけるインパルス応答で電力プロフィール３２０を畳み込むことですぐに計算され得る。設計者は、（例えば回路１１５が電源オフされている持続時間を変更することで）電力プロフィール３２０を変更し、ロケーションＬ１〜Ｌ５におけるインパルス応答で、変更された電力プロフィールを畳み込むことでロケーションＬ１〜Ｌ５における熱応答に結果として生じる変化をすぐに確認することができる。これにより、設計者は、異なるパワーゲーティングシナリオを試し、異なるパワーゲーティングシナリオがシステム１００の熱性能に対して及ぼす影響をすぐに確認することができる。結果として、設計者は、異なるパワーゲーティングシナリオについて熱性能をすぐに決定することができる。本開示の実施形態が、図３Ａ及び３Ｂに示される例示的な電力プロフィールに制限されず、他の電力プロフィールに対する熱応答を計算するために使用され得ることは認識されるべきである。
【００３１】
[0045]図３Ｃは、実施形態に係る、回路１１５の動的電力を変えるためのシステム３５０の例を示す。システム３５０は、電源３５５、パワーゲーティングコントローラ３６０、電源スイッチ３６５及びクロックジェネレータ３７０を備える。電源３５５は、回路１１５に電源電圧Ｖｄｄを供給し、電圧レギュレータ、電力管理集積回路（ＰＭＩＣ）、等を備え得る。この実施形態では、図３Ａに示される電力プロフィール３１０又は他の電力プロフィールは、電源３５５によって供給される電源電圧Ｖｄｄを調整することで変えられ得る。例えば、電力プロフィール３１０の電力レベルの振幅は、電源３５５によって供給される電源電圧Ｖｄｄを増加することで増加され得る。電源電圧Ｖｄｄ（よって電力プロフィール）を調整した後、システム１００の１つ又は複数のロケーションにおける熱応答に結果として生じる変化は、１つ又は複数のロケーションにおけるインパルス応答で電力プロフィールを畳み込むことですぐに決定され得る。
【００３２】
[0046]クロックジェネレータ３７０は、回路１１５内のトランジスタを切り替える（トグルする）ためにクロック信号を使用し得る回路１１５のためにそのクロック信号を生成するように構成される。この実施形態では、クロック信号の周波数は、回路１１５の動作周波数に相当（correspond）し得る。故に、回路１１５の動作周波数は、クロックジェネレータ３７０のクロック周波数を変えることで変えられ得る。この実施形態では、図３Ａに示される電力プロフィール３１０又は他の電力プロフィールは、クロックジェネレータ３７０のクロック周波数を調整することで変えられ得る。例えば、電力プロフィール３１０の電力レベルの振幅は、クロック周波数を増加することで増加され得、ここで、電力レベルの振幅は、クロック周波数に略比例し得る。クロック周波数（よって電力プロフィール）を調整した後、システム１００の１つ又は複数のロケーションにおける熱応答に結果として生じる変化は、１つ又は複数のロケーションにおけるインパルス応答で電力プロフィールを畳み込むことですぐに決定され得る。
【００３３】
[0047]パワーゲーティングコントローラ３６０及び電源スイッチ３６５は、回路１１５をパワーゲートするように構成される。この点に関しては、電源スイッチ３６５（例えば１つ又は複数のＰＭＯＳトランジスタ）は、電源３５５と回路１１５との間に結合され、パワーゲーティングコントローラ３６０は、電源スイッチ３６５をオン及びオフにして、回路１１５をパワーゲートする。例えば、パワーゲーティングコントローラ３６０は、電源スイッチ３６５をオンにすることで回路１１５を電源オンにし、電源スイッチ３６５をオフにすることで回路１１５を電源オフにし得る。この実施形態では、図３Ｂに示される電力プロフィール３２０又は他の電力プロフィールは、パワーゲーティングコントローラ３６０が電源スイッチ３６５をオフにしている持続時間を調整することで変えられ得る。電源スイッチがオフにされている持続時間（よって電力プロフィール）を調整した後、システム１００の１つ又は複数のロケーションにおける熱応答に結果として生じる変化は、１つ又は複数のロケーションにおけるインパルス応答で電力プロフィールを畳み込むことですぐに決定され得る。
【００３４】
[0048]図４は、畳み込みを使用して計算される例示的な熱応答４１０及び状態空間熱シミュレータを使用して計算される（白丸で表される）例示的な熱応答を示す。この例では、両方の熱応答が、同じロケーション及び電力プロフィールについて計算される。電力プロフィールは、ＣＰＵに関連付けられ、ここで、ＣＰＵは、時間ｔ０において電源オンにされ、時間ｔ１において電源オフにされ、時間ｔ２において再度電源オンにされる。熱応答のロケーションは、ＣＰＵ内にある。熱応答４１０は、そのロケーションにおけるインパルス応答で電力プロフィールを畳み込むことで計算される。
【００３５】
[0049]この例では、温度は、時間ｔ０においてＣＰＵが電源オンにされると、周辺温度（２５℃）から上昇する。時間ｔ１においてＣＰＵが電源オフにされると、温度は低下し、時間ｔ２においてＣＰＵが再度電源オンにされると、温度は再度上昇する。図４に示されるように、畳み込みを使用して計算される熱応答４１０は、状態空間熱シミュレータを使用して計算される熱応答に略等しく、従って略同じ精度を有する。しかしながら、畳み込みを使用して計算される熱応答４１０は、状態空間熱シミュレータによって計算される熱応答よりもかなり短い時間で計算される。故に、本開示の実施形態は、かなり短い時間で、状態空間熱シミュレータに略等しい精度を提供することができる。
【００３６】
[0050]特定の実施形態では、回路１１５における漏れ電力を考慮に入れる熱応答が計算され得る。漏れ電力は、回路１１５内のトランジスタの閾値下の漏れ電流により消費される電力である。温度が上昇するに伴い、漏れ電流は増加する。故に、漏れ電力は、温度に伴って増加し、従って、温度依存型である。温度の関数としての漏れ電力は、次のようにモデリングされ得る：
Ｌ（Ｔ）＝β・ｅα(T-Ta)  式（３）
ここで、Ｌ（Ｔ）は、漏れ電力であり、Ｔは、回路１１５における温度であり、Ｔaは、周辺温度（例えば２５℃）であり、βは、周辺温度における漏れ電力であり、αは、加速係数である。漏れ電力は、回路１１５内の複数のトランジスタの漏れ電力の集約であり得、ここで、各トランジスタの漏れ電力は、そのトランジスタの閾値電圧及び／又はそのトランジスタの他の特性に依存し得る。漏れ電力もまた回路１１５の電源電圧に比例し得ることも認識されるべきである。
【００３７】
[0051]回路についての漏れ電力プロフィール（経時的な漏れ電力）を計算するための反復プロセスが、特定の実施形態に従ってここから説明される。説明を容易にするために、図１に示される例示的なシステム１００における回路１１５に対して参照がなされ得るが、反復プロセスがこの例に限られず、漏れ電力を有する他の回路に適用され得ることは認識されるべきである。
【００３８】
[0052]第１の反復では、ロケーションＬ１（回路１１５内のロケーション）における温度プロフィールが、次のように、漏れ電力を考慮に入れることなく回路１１５の動的電力プロフィールに基づいて計算される：
Ｔ1,int_1（ｔ）＝Ｈ1（ｔ）＊Ｐ（ｔ）＋Ｔa  式（４）
ここで、ｉｎｔは、反復を表し、Ｐ（ｔ）は、動的電力プロフィールである。故に、第１の反復についての温度プロフィールは、ロケーションＬ１におけるインパルス応答で動的電力プロフィールを畳み込むこと及び周辺温度を加算することで計算される。
【００３９】
[0053]第２の反復では、ロケーションＬ１における温度プロフィールが、次のように計算される：
Ｔ1,int_2（ｔ）＝Ｈ1（ｔ）＊（Ｐ（ｔ）＋Ｌ（Ｔ1,int_1（ｔ）））＋Ｔa  式（５）
ここで、Ｌ（  ）は、ロケーションＬ１における温度プロフィールの関数としての漏れ電力プロフィールであり、Ｐ（ｔ）は、動的電力プロフィールである。故に、第２の反復における漏れ電力プロフィールは、第１の反復において計算された温度プロフィールに基づいて計算される。式（５）で示されるように、回路１１５についての合成電力プロフィールを取得するために、漏れ電力プロフィールが動的電力プロフィールに加算される。合成電力プロフィールは、動的電力（例えばゲート切替えによる電力消費）及び漏れ電力（例えば温度の関数である、漏れ電流による電力消費）による回路１１５の合計電力消費を反映する。合成電力プロフィールに対するロケーションＬ１における熱応答を取得するために、合成電力プロフィールがロケーションＬ１におけるインパルス応答で畳み込まれる。次に、第２の反復についての温度プロフィールを取得するために、周辺温度が熱応答に加算される。
【００４０】
[0054]第２の反復の後、誤差値は、第１の反復についての温度プロフィールと第２の反復についての温度プロフィールとの間の差分に基づいて計算され得る。例えば、誤差値は、第１の反復についての温度プロフィールと第２の反復についての温度プロフィールとの間の平均二乗誤差（ＭＳＥ）に基づいて計算され得る。誤差値が、（０に近いであろう）誤差閾値を下回る場合、反復プロセスは停止し得る。そうでない場合、反復プロセスは、第３の反復に進み得る。
【００４１】
[0055]第３の反復では、ロケーションＬ１（回路１１５内のロケーション）における温度プロフィールが、次のように計算される：
Ｔ1,int_3（ｔ）＝Ｈ1（ｔ）＊（Ｐ（ｔ）＋Ｌ（Ｔ1,int_2（ｔ）））＋Ｔa  式（６）
故に、第３の反復における漏れ電力プロフィールは、第２の反復において計算された温度プロフィールに基づいて計算される。結果として、合成電力プロフィールの漏れ電力成分（漏れ電力プロフィール）は、第２の反復からの温度プロフィールに基づいて更新される。第３の反復の後、誤差値が、第２の反復についての温度プロフィールと第３の反復についての温度プロフィールとの間の差分に基づいて計算され得る。誤差値が誤差閾値を下回る場合、反復プロセスは停止する。そうでない場合、反復プロセスは、第４の反復に進み得る。
【００４２】
[0056]反復プロセスの後続の各反復では、その反復についての漏れ電力プロフィールが、前の反復で計算された温度プロフィールに基づいて計算される。反復プロセスは、２つの連続した反復についての温度プロフィール間の誤差値が誤差閾値を下回るまで続き得る。反復プロセスが終了すると、回路１１５についての合成電力プロフィールが、最後の反復についての漏れ電力プロフィールに動的電力プロフィールを加算することで計算され得る。故に、合成電力プロフィールは、回路１１５における漏れ電力を考慮に入れ、従って、回路１１５による電力消費のより正確な表現を提供する。
【００４３】
[0057]回路１１５の漏れ電力は、温度に伴って単調に増加すると想定され得る。これは、連続的な反復により誤差値を減少させ、従って、反復プロセスが、温度プロフィール及び漏れ電力プロフィールの解に収束することを可能にする。一態様では、回路における温度プロフィールは、温度上限によって境界が定められ得、これは、以下で更に説明されるように、回路１１５が熱暴走に入るケースについて、反復プロセスが、温度プロフィール及び漏れ電力プロフィールの解に収束することを可能にする。
【００４４】
[0058]上の例では、漏れ電力は、第１の反復において０であると想定される。しかしながら、本開示の実施形態が、この例に限られないことは認識されるべきである。例えば、漏れ電力プロフィールは、温度が周辺温度で一定であると想定される温度プロフィールに基づいて第１の反復において計算され得る。これにより、反復プロセスは、温度プロフィール及び漏れ電力プロフィールの解により速く収束することができる。
【００４５】
[0059]上述したように、回路１１５における温度プロフィールは、温度上限によって境界が定められ得る。この実施形態では、温度プロフィールの一部が温度上限に達すると、その一部は、その温度上限における上限が定められ得る。これは、回路１１５が熱暴走に入るケースについて、反復プロセスが温度プロフィール及び漏れ電力プロフィールの解に収束することを可能にするために行われる。温度上限に達すると、設計者は、温度上限に達したことが警告され得る。このケースでは、設計者は、現在のシステム設計が熱暴走を招くこととなるとの結論に至り、それに基づいて設計を修正し得る。加えて、どの時点で温度プロフィールが温度上限に達したかを示すインジケーションが設計者に提供され得る。この情報は、設計者が、熱暴走の原因を突き止めること及び／又は温度上限に達する前に回路の電源オフにするようにシステムを設計することを助け得る。
【００４６】
[0060]回路１１５についての合成電力プロフィールが反復プロセスを使用して決定された後、回路１１５の外側の各ロケーションＬ２及びＬ５における温度プロフィールが、それぞれのインパルス応答で合成電力プロフィールを畳み込むこと及び周辺温度を加算することで更新され得る。例えば、ロケーションＬ２における温度プロフィールは、次のように計算され得る：
Ｔ2（ｔ）＝Ｈ2（ｔ）＊（Ｐ（ｔ）＋Ｌ（Ｔ1,int_last（ｔ）））＋Ｔa  式（７）
ここで、ｉｎｔ＿ｌａｓｔは、反復プロセスにおける最後の反復を表す。上述したように、合成電力プロフィールは、動的電力及び漏れ電力による回路１１５の合計電力消費である。故に、式（７）は、回路１１５の合計電力消費によるロケーションＬ２における温度プロフィールを決定する。従って、ロケーションＬ２及びＬ５における温度プロフィールは、回路１１５における漏れ電力を考慮するように更新され得る。
【００４７】
[0061]図５は、本開示の実施形態に係る、漏れ電力プロフィールを決定するための反復プロセス５００を例示するフローチャートである。
【００４８】
[0062]ステップ５１０では、回路の電力消費による、回路（例えば回路１１５）内のロケーションにおける温度プロフィールが計算される。例えば、温度プロフィールは、回路１１５内のロケーション（例えばロケーションＬ１）におけるインパルス応答で回路１１５についての動的電力プロフィールを畳み込むこと及び周辺温度（例えば２５℃）を加算することで計算され得る。
【００４９】
[0063]ステップ５２０では、回路についての漏れ電力プロフィールが、回路についての最新の温度プロフィールに基づいて計算される。初めてステップ５２０が実行されるとき、最新の温度プロフィールは、ステップ５１０で計算された温度プロフィールに対応する。
【００５０】
[0064]ステップ５３０では、回路についての温度プロフィールが、最新の漏れ電力プロフィールに基づいて計算される。例えば、温度プロフィールは、合成電力プロフィール（動的電力及び漏れ電力による回路の合計電力消費）を取得するために、動的電力プロフィールに最新の漏れ電力プロフィールを加算し、インパルス応答でこの合成電力プロフィールを畳み込み、周辺温度を加算することで、計算され得る。
【００５１】
[0065]ステップ５４０では、最新の温度プロフィールと前の温度プロフィールとの間の誤差値が計算される。初めてステップ５４０が実行されるとき、最新の温度プロフィールは、ステップ５３０で計算された温度プロフィールに対応し、前の温度プロフィールは、ステップ５１０で計算された温度プロフィールに対応する。一例では、誤差値は、最新の温度プロフィールと前の温度プロフィールとの間のＭＳＥを計算することで計算され得る。
【００５２】
[0066]ステップ５５０では、誤差値が、誤差閾値と比較される。誤差値が誤差閾値を下回る場合、プロセス５００は、ステップ５６０で終了し、最新の漏れ電力プロフィールが、回路１１５についての漏れ電力プロフィールとして使用される。そうでない場合、プロセス５００は、ステップ５２０に戻り、このケースでは、ステップ５２０〜５５０が繰り返される。ステップ５２０〜５５０は、最新の温度プロフィールと前の温度プロフィールとの間の誤差値が誤差閾値を下回る（fall below）まで繰り返され得る。
【００５３】
[0067]ロケーションにおける温度プロフィールは、一連のＮ個の温度値を備える離散時間温度プロフィールとして表され得、ここで、各温度値は、異なる時点における温度を表し、隣接した温度値は、時間ステップΔｔだけ間隔が空けられる。換言すると、温度プロフィールは、Ｎ個の温度値の時間系列（時系列）として表され得る。この点に関しては、ロケーションにおける温度プロフィールは、次のように求められ得る：
【数１】
2017537307.tif 000003
Ｔm［０］は、時間０における温度値であり、Ｔm［１］は、時間Δｔにおける温度値であり、Ｔm［Ｎ−２］は、時間（Ｎ−２）・Δｔにおける温度値であり、Ｔm［Ｎ−１］は、時間（Ｎ−１）・Δｔにおける温度値であり、インデックスｍは、それぞれのロケーションを示す。各角括弧内の数字は、時間ステップΔｔが乗じられた時間インデックスに等しい時間に対応する時間インデックスである。
【００５４】
[0068]同様に、ロケーションにおけるインパルス応答は、一連のＮ個のインパルス応答値を備える離散時間インパルス応答として表され得、ここで、各インパルス応答値は、異なる時点におけるインパルス応答を表し、隣接したインパルス応答値は、時間ステップΔｔだけ間隔が空けられる。換言すると、インパルス応答は、Ｎ個のインパルス応答値の時間系列（時系列）として表され得る。この点に関しては、ロケーションにおけるインパルス応答は、次のように求められ得る：
【数２】
2017537307.tif 000004
Ｈm［０］は、時間０におけるインパルス応答値であり、Ｈm［１］は、時間Δｔにおけるインパルス応答値であり、Ｈm［Ｎ−２］は、時間（Ｎ−２）・Δｔにおけるインパルス応答値であり、Ｈm［Ｎ−１］は、時間（Ｎ−１）・Δｔにおけるインパルス応答値であり、インデックスｍは、それぞれのロケーションを示す。
【００５５】
[0069]同様に、回路１１５の動的電力プロフィールは、一連の電力値を備える離散時間電力プロフィールとして表され得、ここで、各電力値は、異なる時点において回路１１５によって消費される動的電力を表し、隣接した電力値は、時間ステップΔｔだけ間隔が空けられる。換言すると、電力プロフィールは、Ｎ個の電力値の時間系列（時系列）として表され得る。この点に関しては、電力プロフィールは、次のように求められ得る：
【数３】
2017537307.tif 000005
Ｐ［０］は、時間０における電力値であり、Ｐ［１］は、時間Δｔにおける電力値であり、Ｐ［Ｎ−２］は、時間（Ｎ−２）・Δｔにおける電力値であり、Ｐ［Ｎ−１］は、時間（Ｎ−１）・Δｔにおける電力値である。
【００５６】
[0070]式（２）は、次のように、離散時間形式で書き換えられ得る：
【数４】
2017537307.tif 000006
ここでは、各温度値は、周辺温度（例えば２５℃）に等しい。漏れ電力が考慮されるとき、上述された反復プロセスの反復ｉでのロケーションＬ１（回路内のロケーション）における温度プロフィールは、次のように書き換えられ得る：
【数５】
2017537307.tif 000007
式（１２）に示されるように、反復ｉについての漏れ電力プロフィールは、前の反復ｉ−１で計算された温度プロフィールに基づいて計算される。システムの熱性能をシミュレートするための上述された様々な方法が、式（８）〜（１２）を使用して離散時間ドメインにおいて熱シミュレータによって実行され得ることは認識されるべきである。
【００５７】
[0071]式（１１）及び（１２）の畳み込み演算は、離散時間高速フーリエ変換（ＦＦＴ）を使用して電力プロフィール及びインパルス応答を時間ドメインから周波数ドメインへと変換することで効率的に計算され得る。次に、電力プロフィール及びインパルス応答は、周波数ドメインにおいて乗算され得、結果として生じる積は、時間ドメインにおいて対応する熱応答を取得するために離散時間逆ＦＦＴ（ＩＦＦＴ）を使用して時間ドメインへと変換され得る。故に、ＦＦＴ演算及びＩＦＦＴ演算は、畳み込み演算を加速するために使用され得る。
【００５８】
[0072]本開示の実施形態は、以下で更に説明されるように、温度依存型電力制御を有する回路について熱シミュレーションを実行するための方法を提供する。この点に関しては、図６は、回路１１５の動的電力が温度に基づいて制御されるシステム６０５の例を示す。システム６０５は、温度センサ６１０、電力コントローラ６２０及びクロックジェネレータ６３０を備える。
【００５９】
[0073]温度センサ６１０は、回路１１５（例えばＣＰＵ）内のロケーション（例えばロケーションＬ１）における温度を測定し、対応する温度読取り値（temperature reading）を電力コントローラ６２０に出力するように構成される。温度センサ６１０は、図６に示されるように、回路１１５に統合され得る。電力コントローラ６２０は、温度センサ６１０からの温度読取り値に基づいて回路１１５の動的電力を制御するように構成される。一態様では、電力コントローラ６２０は、回路１１５の動作周波数を調整（スケーリング）することで回路１１５の動的電力を制御する。上述したように、回路１１５の動的電力は、回路１１５の動作周波数に比例し得、従って、回路１１５の動作周波数を調整することで調整され得る。
【００６０】
[0074]クロックジェネレータ６３０は、回路１１５のためのクロック信号を生成するように及び電力コントローラ６２０の制御下でクロック信号の周波数を調整するように構成される。クロック信号は、回路１１５に出力され、これは、このクロック信号を、回路１１５においてトランジスタを切り替える（トグルする）ために使用し得る。この例では、クロック信号の周波数は、回路１１５の動作周波数に相当し得る。故に、電力コントローラ６２０は、クロック信号の周波数を調整することで回路１１５の動作周波数（よって動的電力）を調整（スケーリング）し得る。
【００６１】
[0075]一態様では、電力コントローラ６２０は、ターゲット動作周波数、温度閾値及び温度センサ６１０からの温度読取り値に基づいて回路１１５の動作周波数（よって動的電力）を調整し得る。ターゲット動作周波数は、回路１１５の所望の動作周波数に相当し得、温度閾値は、回路１１５の最大の安全な動作温度の近くの温度に相当し得る。
【００６２】
[0076]この態様では、回路１１５は、最初、ターゲット動作周波数で動作し得、電力コントローラ６２０は、（温度センサ６１０からの温度読取り値によって示されるような）回路１１５の温度が閾値温度を下回る限り、回路１１５がターゲット動作周波数で動作し続けることを可能にする。温度が温度閾値を横切る（cross）と、電力コントローラ６２０は、温度緩和をアクティブ化し得る。
【００６３】
[0077]温度緩和がアクティブ化されると、電力コントローラ６２０は、温度を低減するために、回路１１５の動作周波数（よって動的電力）を低減（スケールダウン）し得る。これは、温度を閾値温度よりも下に落とし得る。これが発生すると、電力コントローラ６２０は、回路１１５の動作性能（例えばデータレート）を増加するために回路１１５の動作周波数を増加（スケールアップ）し得る。より具体的には、温度緩和がアクティブ化された後、電力コントローラ６２０は、温度が温度閾値を上回るときには、動作周波数（よって動作電力）を低減し得、温度が温度閾値を下回り且つ動作周波数がターゲット周波数を下回るときには、動作周波数を増加し得る。
【００６４】
[0078]一態様では、電力コントローラ６２０は、比例・積分・微分（ＰＩＤ）コントローラを使用して動作周波数を調整し得、ここで、温度とターゲット温度との間の差分がＰＩＤコントローラに入力され、ＰＩＤコントローラは、この差分に基づいて動作周波数を制御する制御信号を出力する。この態様では、ＰＩＤコントローラの１つ又は複数のパラメータ（例えば比例係数、整数係数、微分係数、等）は、電力制御ループを最適化するように調整され得る。電力コントローラ６２０が、温度に基づいて動的電力を制御するために他の電力制御技法も用い得、従って、ＰＩＤコントローラに制限されないことは認識されるべきである。
【００６５】
[0079]電力コントローラ６２０がまた、回路１１５の電源電圧を調整することで回路１１５の動的電力を調整し得ることも認識されるべきである。上述したように、回路１１５の動的電力は、電源電圧の平方に比例し得る。故に、電力コントローラ６２０は、回路１１５の動作周波数及び／又は電源電圧を調整することで回路１１５の動的電力を調整し得る。
【００６６】
[0080]一態様では、回路１１５の制御された動的電力プロフィールは、次のようにモデリングされ得る：
Ｐc（ｔ）＝Ｐ（ｔ）・Ｃ（ｔ）  式（１３）
ここで、Ｐc（ｔ）は、制御された動的電力プロフィールであり、Ｐ（ｔ）は、ターゲット動作周波数における動的電力プロフィールであり、Ｃ（ｔ）は、電力スケーリングプロフィールである。故に、制御された動的電力プロフィールＰc（ｔ）は、電力スケーリングプロフィールＣ（ｔ）をターゲット周波数Ｐ（ｔ）における動的電力プロフィールに乗じることによって取得される。電力スケーリングプロフィールＣ（ｔ）は、ある時間にわたって電力コントローラ６２０による動的電力スケーリングをモデリングし、これは、上述したように回路１１５の動作周波数及び／又は電源電圧をスケーリングすることで達成され得る。電力スケーリングプロフィールＣ（ｔ）は、０から１の範囲であり得、ここで、０は、回路を電源オフにすることに等しく、１は、電力スケーリングがないことに等しい。例えば、０．９という電力スケーリング値は、１０％の電力低減に相当し得る。
【００６７】
[0081]式（２）で求められる温度プロフィールについての表現は、電力制御を考慮に入れるために、次のように、修正され得る：
Ｔm（ｔ）＝Ｈm（ｔ）＊（Ｐ（ｔ）・（ｔ））＋Ｔa  式（１４）
ここで、インデックスｍは、温度プロフィールのロケーションを表す。故に、システム１００上のロケーションにおける温度プロフィールは、それぞれのロケーションにおけるインパルス応答で、制御された動的電力プロフィールを畳み込み、周辺温度を加算することで計算される。説明を容易にするために、漏れ電力は式（１４）には示されない。
【００６８】
[0082]一態様では、電力スケーリングプロフィールは、一連のＮ個の電力スケーリング値を備える離散時間電力スケーリングプロフィールとして表され得、ここで、各電力スケーリング値は、異なる時点に対応し、隣接した電力スケーリング値は、時間ステップΔｔだけ間隔が空けられる。換言すると、電力スケーリングプロフィールは、Ｎ個の電力スケーリング値の時間系列（時系列）として表され得る。この点に関しては、電力スケーリングプロフィールは、次のように求められ得る：
【数６】
2017537307.tif 000008
Ｃ［０］は、時間０における電力スケーリング値であり、［１］は、時間Δｔにおける電力スケーリング値であり、Ｃ［Ｎ−２］は、時間（Ｎ−２）・Δｔにおける電力スケーリング値であり、Ｃ［Ｎ−１］は、時間（Ｎ−１）・Δｔにおける電力スケーリング値である。温度緩和がアクティブ化されるよりも前の複数の時点についての電力スケーリング値は全て１であり得、これは、温度緩和がアクティブ化されるよりも前に電力スケーリングがないことに等しい。
【００６９】
[0083]一態様では、離散時間電力スケーリングプロフィールは、次のように、回路１１５における温度の関数として表され得る：
【数７】
2017537307.tif 000009
ここで、Ｃ’［  ］は、前の時点（例えば１時間ステップΔｔ前）における温度値の関数としてのある時点における電力スケーリング値を表す。これは、電力コントローラ６２０が温度センサ６１０から温度読取り値を受けた時から、電力コントローラ６２０が温度読取り値に基づいて動作周波数及び／又は電源電圧を調整する時までの間に短い遅延が存在するためである。故に、特定の時点における電力スケーリング値は、前の時点（例えば１時間ステップΔｔ前）における温度値に基づいて決められる。特定の時点における電力スケーリング値がまた、（例えば電力制御が温度の緩和に少なくとも部分的に基づくとき）複数の過去の温度値の関数であり得ることに認識されるべきである。式（１６）に示されるように、時間０における電力スケーリング値は、時間０において電力スケーリング値についての決定を行うための温度読取り値が時間０よりも前に存在しないため、１に等しいだろいう。
【００７０】
[0084]式（１４）における温度プロフィールについての表現は、次のように、離散時間形式で書き換えられ得る：
【数８】
2017537307.tif 000010
説明を容易にするために、漏れ電力は式（１７）には示されない。
【００７１】
[0085]温度依存型電力制御を有する回路についての温度プロフィールを計算するための反復プロセスが、特定の実施形態に従ってここから説明される。説明を容易にするために、図１の例示的なシステム１００における回路１１５への参照が行われるが、反復プロセスがこの例に限られず、温度依存型電力制御を有する他の回路に適用され得ることは認識されるべきである。
【００７２】
[0086]第１の反復では、次のように、ロケーションＬ１（回路１１５内のロケーション）における温度プロフィールが、電力制御なしに、回路１１５の動的電力プロフィールに基づいて計算される：
【数９】
2017537307.tif 000011
ここで、ｉｎｔは、反復を表す。故に、第１の反復についての温度プロフィールは、ロケーションＬ１におけるインパルス応答で動的電力プロフィールを畳み込み、周辺温度を加算することで計算される。
【００７３】
[0087]第２の反復では、電力スケーリングプロフィールが、次のように、第１の反復から温度プロフィールに基づいて計算される。
【数１０】
2017537307.tif 000012
式（１９）では、特定の時点における電力スケーリング値が、前の時間ステップにおける温度値に基づいて決定されると想定される。例えば、式（１９）に示されるように、時間Δｔにおける電力スケーリング値（即ちＣint_2［１］）は、時間０における温度値（即ちＣ’［Ｔ1,int_1［０］］）に基づいて決定される。しかしながら、本開示の実施形態がこの例に限られないこと及び電力制御が異なる時間量だけ温度を遅らせ得ることは認識されるべきである。次に、第２の反復についての温度プロフィールが次のように計算される：
【数１１】
2017537307.tif 000013
次に、誤差プロフィールが、第１及び第２の反復についての温度プロフィールに基づいて計算され得る。より具体的には、誤差プロフィールは、一連の誤差値を備え得、ここで、各誤差値は、同じ時点に対応する第１及び第２の温度プロフィールにおける一対の温度値間の誤差に相当する。次に、誤差プロフィールは、誤差プロフィールが誤差閾値（「ε」と表される）に達する時点を決定するために評価され得る。
【００７４】
[0088]図７は、第１の反復についての温度プロフィール７１０及び第２の反復についての温度プロフィール７２０の例を示す。この例で示されるように、第１及び第２の反復についての温度プロフィール７１０及び７２０は、閾値温度（「Ｔth」と表される）に達する前同じである。これは、電力コントローラ６２０が、閾値温度が横切られるまで温度緩和をアクティブ化しないためである。結果として、電力スケーリングプロフィールは、温度閾値が横切られるまで１である（これは、電力制御がないことに等しい）。
【００７５】
[0089]図７はまた、温度プロフィール７１０及び７３０についての誤差プロフィール７３０を示す。図７に示されるように、誤差プロフィール７３０は、閾値温度が横切られるまで０に近い。温度閾値を超えた後すぐに、第２の反復についての温度プロフィール７２０は、反復についての温度プロフィール７１０からそれ始める。これは、温度緩和がアクティブ化され、電力コントローラ６２０が、回路の動的電力を調整し始めるためである。図７の例で示されるように、誤差プロフィール７３０は、温度緩和がアクティブ化された後、迅速に伸びる。これは、第２の反復における電力スケーリングプロフィールが、第１の反復からの温度プロフィール７１０に基づいて計算されるためであり、ここでは、第１の反復からの温度プロフィール７１０は、第２の反復において電力制御の影響を反映しない。結果として、第２の反復における電力制御は、制御された動的電力を過度に補償し、これは、制御された動的電力（よって温度プロフィール７２０）を迅速に減少させる。図７に示されるように、誤差プロフィール７３０は、ｔvalidで表される時点まで誤差閾値εを下回る。故に、時間０から時間ｔvalidまで、第２の反復における温度プロフィール７２０は、有効であるとみなされ得る。
【００７６】
[0090]次に、反復プロセスは、第１の部分及び第２の部分を備える電力スケーリングプロフィールが計算される第３の反復に進む。第３の反復についての電力スケーリングプロフィールの第１の部分は、第２の反復からの電力スケーリングプロフィールの相当する部分に等しく設定され、第３の反復についての電力スケーリングプロフィールの第２の部分は、第２の反復からの温度プロフィールに基づいて計算される。より具体的には、第３の反復についての電力スケーリングプロフィールの第１の部分は、時間０から時間ａint_3・Δｔに延び、第３の反復についての電力スケーリングプロフィールの第２の部分は、時間（ａint_3＋１）・Δｔから時間（Ｎ−１）・Δｔに延び、ここで、時間ａint_3・Δｔは、上述した時間ｔvalidに等しく設定される。第３の反復についての電力スケーリングプロフィールは、次のように計算される：
【数１２】
2017537307.tif 000014
故に、第３の反復についての電力スケーリングプロフィールは、時間０から時間ａint_3・Δｔの間、第２の反復における電力スケーリングプロフィールから同じに保たれ、時間（ａint_3＋１）・Δｔから時間（Ｎ−１）・Δｔの間、第２の反復における温度プロフィールに基づいて更新される。時間インデックス「ａ」は、カーソルと呼ばれ得、ここで、電力スケーリングプロフィールは、図７に示されるように、時間軸上でカーソルの右に更新される。次に、第３の反復についての温度プロフィールが、次のように計算される：
【数１３】
2017537307.tif 000015
次に、誤差プロフィール（経時的な誤差）が、第２及び第３の反復についての温度プロフィールに基づいて計算され得る。次に、誤差プロフィールは、誤差プロフィールが誤差閾値（「ε」と表される）に達する時点を決定するために評価され得る。この時点は、第２の反復において計算された時間ｔvalidよりも後の時間であり得る新しい時間ｔvalidに対応する。第３の反復において計算された新しい時間ｔvalidが第２の反復において計算された時間ｔvalidと同じである場合、新しい時間ｔvalidは、１時間ステップΔｔだけ増加され得る。故に、第３の反復において計算された新しい時間ｔvalidは、第２の反復において計算された時間ｔvalidの少なくとも１時間ステップ後である。
【００７７】
[0091]次に、反復プロセスは、第１の部分及び第２の部分を備える電力スケーリングプロフィールが計算される第４の反復に進む。第４の反復についての電力スケーリングプロフィールの第１の部分は、時間０から時間ａint_4・Δｔに延び、第４の反復についての電力スケーリングプロフィールの第２の部分は、時間（ａint_4＋１）・Δｔから時間（Ｎ−１）・Δｔに延び、ここで、時間ａint_4・Δｔは、第３の反復において計算された時間ｔvalidに等しく設定される。第４の反復についての電力スケーリングプロフィールは、次のように計算される：
【数１４】
2017537307.tif 000016
故に、第４の反復についての電力スケーリングプロフィールは、時間０から時間ａint_4・Δｔの間、第３の反復における電力スケーリングプロフィールから同じに保たれ、時間（ａint_4＋１）・Δｔから時間（Ｎ−１）・Δｔの間、第３の反復における温度プロフィールに基づいて更新される。時間ａint_4・Δｔが、時間ａint_3・Δｔの少なくとも１時間ステップ後であるため、前の反復から同じままである電力スケーリングプロフィールの部分（第１の部分）は増加し、更新された電力スケーリングプロフィールの部分（第２の部分）は減少する。換言すると、カーソル「ａ」の位置は、図７において時間軸を少なくとも１時間ステップだけ右に移動し、従って、カーソルの右にある電力スケーリングプロフィールの部分（更新される部分）は減少する。次に、第４の反復についての温度プロフィールが次のように計算される：
【数１５】
2017537307.tif 000017
次に、誤差プロフィールが、第３及び第４の反復についての温度プロフィールに基づいて計算され得る。次に、誤差プロフィールは、誤差プロフィールが誤差閾値（「ε」と表される）に達する時点を決定するために評価され得る。この時点は、第３の反復において計算された時間ｔvalidよりも後であり得る新しい時間ｔvalidに対応する。新しい時間ｔvalidが第３の反復において計算された時間ｔvalidと同じである場合、新しい時間ｔvalidは、１時間ステップΔｔだけ増加され得る。新しい時間ｔvalidは、第５の反復における電力スケーリングプロフィールの第１及び第２の部分を定義する（第５の反復においてカーソル「ａ」の位置を設定する）ために使用される。
【００７８】
[0092]反復プロセスは続き得、ここでは、時間ｔvalidは、後続の各反復において少なくとも１時間ステップだけ増加する（図７において時間軸上を右に移動する）。結果として、後続の各反復で、同じままである電力スケーリングプロフィールの部分（第１の部分）は増加し、更新される電力スケーリングプロフィールの部分（第２の部分）は、減少する。換言すると、後続の各反復では、カーソル「ａ」は時間軸を右に移動し、従って、カーソル「ａ」の右にある電力スケーリングプロフィールの部分（更新される部分）は減少する。反復プロセスは、温度プロフィール及び電力スケーリングプロフィール全体が有効であるとみなされ得る時間（Ｎ−１）・Δｔに時間ｔvalidが達すると停止し得る。次に、回路１１５についての制御された動的電力プロフィールが、最後の反復において、電力スケーリングプロフィールを使用して計算され得る。
【００７９】
[0093]図８Ａ及び８Ｂは、本開示の実施形態に係る、制御された電力プロフィールを決定するための反復プロセス８００を例示するフローチャートを示す。
【００８０】
[0094]ステップ８１０では、回路（例えば回路１１５）についての温度プロフィールが計算される。例えば、温度プロフィールは、回路１１５内のロケーション（例えばロケーションＬ１）におけるインパルス応答で回路１１５についての電力プロフィールを畳み込み、周辺温度（例えば２５℃）を加算することで計算され得る。
【００８１】
[0095]ステップ８１５では、温度プロフィールが温度閾値を横切るかどうかの決定が行われる。温度プロフィールが温度プロフィールを横切らない場合、プロセス８００はステップ８２０で終了する。これは、電力スケーリングがこのケースではアクティブ化されず、従って、考慮に入れられる必要がない可能性があるためである。そうでない場合、プロセス８００は、ステップ８２５に進む。
【００８２】
[0096]ステップ８２５では、温度プロフィールに基づいて電力スケーリングプロフィールが計算される。例えば、電力スケーリングプロフィールは、上の式（１９）に基づいて計算され得る。
【００８３】
[0097]ステップ８３０では、電力スケーリングプロフィールに基づいて温度プロフィールが計算される。例えば、温度プロフィールは、上の式（２０）に基づいて計算され得る。
【００８４】
[0098]ステップ８３５では、最新の温度プロフィールと前の温度プロフィールとに基づいて誤差プロフィールが計算される。最新の温度プロフィールは、ステップ８３０で計算された温度プロフィールに対応し、前の温度プロフィールは、ステップ８１０で計算された温度プロフィールに対応する。
【００８５】
[0099]ステップ８４０では、誤差プロフィールが誤差閾値に達する時点に対応するカーソル位置が決定される。例えば、カーソル位置は、図７に示される例における時間ｔvalidに対応し得る。
【００８６】
[0100]ステップ８５０では、電力スケーリングプロフィールは、最新の温度プロフィールに基づいてカーソルの右へと更新される。第１の時間ステップ８５０が実行されるため、最新の温度プロフィールは、ステップ８３０で計算された温度プロフィールに対応する。時間０からカーソル位置までの電力スケーリングプロフィールの部分は、同じままであり得る。
【００８７】
[0101]ステップ８５５では、電力スケーリングプロフィールに基づいて温度プロフィールが計算される。ステップ８５５は、電力スケーリングプロフィールがステップ８５０で更新された後に実行され、従って、電力スケーリングプロフィールへの最新の更新に基づく。
【００８８】
[0102]ステップ８６０では、最新の温度プロフィールと前の温度プロフィールとに基づいて誤差プロフィールが計算される。ステップ８６０が初めて実行されるとき、最新の温度プロフィールは、ステップ８５５で計算された温度プロフィールに対応し、前の温度プロフィールは、ステップ８３０で計算された温度プロフィールに対応する。
【００８９】
[0103]ステップ８６５では、最新の誤差プロフィールが誤差閾値に達する時点が決定される。最新の誤差プロフィールは、ステップ８６０で計算された最も最近の誤差プロフィールに対応する。
【００９０】
[0104]ステップ８７０では、カーソル位置が、最新の誤差プロフィールが誤差閾値に達する時点に基づいて更新される。
【００９１】
[0105]ステップ８７５では、カーソルが、電力スケーリングプロフィールについての時間系列の終わりに達したかどうかについての決定が行われる。そうである場合、プロセス８００はステップ８８０で終了する。そうでない場合、プロセス８００は、ステップ８５０に戻り、このケースでは、ステップ８５０〜８７５が繰り返される。ステップ８５０〜８７５は、カーソルが時間系列の終わりに達するまで繰り返され得る。
【００９２】
[0106]温度依存型電力制御のための反復プロセスが、説明を容易にするために漏れ電力なしで上述された。しかしながら、漏れ電力と温度依存型制御の両方が熱シミュレーションにおいて考慮に入れられ得ることは認識されるべきである。例えば、漏れ電力のための反復プロセスは、漏れ電力を考慮するために、温度依存型電力制御のための反復プロセス内にネスト化され得る。この例では、温度依存型電力制御のための反復プロセスの第１の反復において、温度プロフィールは、漏れ電力を考慮するために漏れ電力のための反復プロセスを使用して計算され得る。温度依存型電力制御のための反復プロセスの後続の各反復では、制御された動的電力プロフィールは、上述したように更新され得、制御された動的電力プロフィールが更新された後、漏れ電力のための反復プロセスが、漏れ電力を考慮するように温度プロフィールを更新するために実行され得る。
【００９３】
[0107]回路１１５についての制御された動的電力プロフィールが決定された後、回路１１５の外側の各ロケーションＬ２及びＬ５における温度プロフィールが、それぞれのインパルス応答で、制御された動的電力プロフィールを畳み込み、周辺温度を加算することで更新され得る。例えば、ロケーションＬ２における温度プロフィールは、次のように、離散時間形式で計算され得る：
【数１６】
2017537307.tif 000018
ここで、ｉｎｔ＿ｌａｓｔは、反復プロセスにおける最後の反復を表す。故に、ロケーションＬ２及びＬ５における温度プロフィールは、回路１１５における温度依存型電力制御を考慮するように更新され得る。
【００９４】
[0108]従って、本開示の実施形態は、設計者が、温度依存型電力制御を有する回路についての熱シミュレーションを実行することを可能にする。これは、設計者が、電力コントローラ（例えば電力コントローラ６２０）の１つ又は複数のパラメータ（例えばＰＩＤ係数）を調整すること及びこの調整が回路の熱及び／又は動作性能に対してどのように影響を及ぼすかを決定することを可能にする。例えば、設計者は、どの値が回路の良好な熱及び／又は動作性能を提供するか（例えばどの値で回路は温度閾値の近くで連続的に動作し、それによって、動作性能を最大化することができるか）を決定するために、１つ又は複数のパラメータの異なる値について熱シミュレーションを実行し得る。
【００９５】
[0109]本開示の実施形態は、説明を容易にするために、単一の熱源（即ち回路１１５）の例を使用して上述された。しかしながら、本開示の実施形態が、複数の熱源（即ち電力を消費する複数の回路１１５）を備えるシステムに適用され得、従って、１つの熱源を備えるシステムに限られないことは認識されるべきである。
【００９６】
[0110]この点に関しては、図９は、第１の回路９１５Ａ（例えば第１のＣＰＵ）及び第２の回路９１８Ｂ（例えば第２のＣＰＵ）を備えるチップ（ダイ）９１０の簡略化された概念図を示し、ここで、各回路は、動作中、電力を消費し、従って熱を発生させる。故に、第１の回路９１５Ａは，第１の熱源とみなされ得、第２の回路９１５Ｂは、第２の熱源とみなされ得る。図９は、回路９１５Ａ及び９１５Ｂによる電力消費に対する熱応答が、チップ９１０上の（「Ｌ１」−「Ｌ４」と表される）４つのロケーションにおいて決定される例を示す。この例では、ロケーションＬ１は、第１の回路９１５Ａ内にあり、ロケーションＬ２は、第２の回路９１５Ｂ内にあり、ロケーションＬ３及びＬ４は、回路１１５の外側にある。
【００９７】
[0111]チップ９１０の熱挙動を特徴付けるために、インパルス応答は、各熱源（即ち各回路９１５Ａ及び９１５Ｂ）についての各ロケーションにおいて決定され得る。この点に関しては、ステップ電力は、第２の回路９１５Ｂが電源オフにされている状態で、第１の回路９１５Ａのための状態空間熱シミュレータに入力され得る。次に、熱シミュレータは、各ロケーションＬ１〜Ｌ４においてステップ応答（即ち第１の回路９１５Ａにおけるステップ電力に対する各ロケーションＬ１〜Ｌ４における熱応答）を計算する。各ロケーションＬ１〜Ｌ４におけるステップ応答が決定された後、各ロケーションＬ１〜Ｌ４におけるインパルス応答が、時間に対するそれぞれのステップ応答の導関数を計算することで決定され得る。各ロケーションＬ１〜Ｌ４におけるインパルス応答は、Ｈm,n（ｔ）と表され得、ここで、インデックスｍは、それぞれのロケーションを示し、インデックスｎは、それぞれの熱源を表す。例えば、Ｈ1,1（ｔ）は、第１の熱源（即ち第１の回路９１５Ａ）に対応するロケーションＬ１におけるインパルス応答を表し、Ｈ2,1（ｔ）は、第１の熱源（即ち第１の回路９１５Ａ）に対応するロケーションＬ２におけるインパルス応答を表す。
【００９８】
[0112]ステップ電力は、第１の回路９１５Ａが電源オフにされている状態で、第２の回路９１５Ｂのための状態空間熱シミュレータに入力され得る。次に、熱シミュレータは、各ロケーションＬ１〜Ｌ４においてステップ応答（即ち第２の回路９１５Ｂにおけるステップ電力に対する各ロケーションＬ１〜Ｌ４における熱応答）を計算し得る。各ロケーションＬ１〜Ｌ４におけるステップ応答が決定された後、各ロケーションＬ１〜Ｌ４におけるインパルス応答が、時間に対するそれぞれのステップ応答の導関数を計算することで決定され得る。各ロケーションＬ１〜Ｌ４におけるインパルス応答は、Ｈm,n（ｔ）と表され得、ここで、インデックスｍは、それぞれのロケーションを示し、インデックスｎは、それぞれの熱源を表す。例えば、Ｈ1,2（ｔ）は、第２の熱源（即ち第２の回路９１５Ｂ）に対応するロケーションＬ１におけるインパルス応答を表し、Ｈ2,2（ｔ）は、第２の熱源（即ち第２の回路９１５Ｂ）に対応するロケーションＬ２におけるインパルス応答を表す。
【００９９】
[0113]インパルス応答が決定された後、第１及び第２の回路９１５Ａ及び９１５Ｂにおける任意の電力プロフィールに対する各ロケーションＬ１及びＬ４における熱応答が畳み込みを使用して計算され得る。例えば、第１及び第２の回路９１５Ａ及び９１５Ｂにおける任意の電力プロフィールに対する各ロケーションにおける熱応答は、次のように計算され得る：
ＴＲm（ｔ）＝Ｈm,1（ｔ）＊Ｐ1（ｔ）＋Ｈm,2（ｔ）＊Ｐ2（ｔ）  式（２６）
ここで、＊は、畳み込み演算を表し、Ｐ1（ｔ）は、第１の回路９１５Ａにおける電力プロフィールであり、Ｐ2（ｔ）は、第２の回路９１５Ｂにおける電力プロフィールであり、ＴＲm（ｔ）は、熱応答であり、インデックスｍは、それぞれのロケーションを表す。各ロケーションにおける温度プロフィールは、次のように求められ得る：
Ｔm（ｔ）＝Ｈm,1（ｔ）＊Ｐ1（ｔ）＋Ｈm,2（ｔ）＊Ｐ2（ｔ）＋Ｔa  式（２７）
ここで、Ｔm（ｔ）は、温度であり、Ｔaは、周辺温度（例えば２５℃）であり、インデックスｍは、それぞれのロケーションを表す。故に、各ロケーションにおける温度プロフィールは、周辺温度をそれぞれの熱応答に加算することで決定され得る。式（２７）は、次のように、離散時間形式で表され得る：
【数１７】
2017537307.tif 000019
【０１００】
[0114]第１の回路９１５Ａ及び第２の回路９１５Ｂにおける漏れ電力を決定するための反復プロセスが、特定の実施形態に従ってここから説明される。第１の反復では、ロケーションＬ１及びＬ２（第１及び第２の回路９１５Ａ及び９１５Ｂ内のロケーション）における温度プロフィールが、次のように計算される：
【数１８】
2017537307.tif 000020
ここで、ｉｎｔは、反復を表す。第２の反復では、ロケーションＬ１及びＬ２における温度プロフィールが、次のように計算される：
【数１９】
2017537307.tif 000021
【０１０１】
[0115]第２の反復の後、誤差値（例えばＭＳＥ）は、第１の反復についての温度プロフィールと第２の反復についての温度プロフィールとの間の差分に基づいて計算され得る。誤差値が誤差閾値を下回る場合（これは、０に近いであろう）、反復プロセスは停止し得る。そうでない場合、反復プロセスは、第３の反復に進み得る。
【０１０２】
[0116]第３の反復では、ロケーションＬ１及びＬ２における温度プロフィールが、次のように計算される：
【数２０】
2017537307.tif 000022
故に、第３の反復での各ロケーションにおける漏れ電力プロフィールは、第２の反復でのそれぞれのロケーションにおける温度プロフィールに基づいて計算される。第３の反復の後、誤差値（例えばＭＳＥ）は、第２の反復についての温度プロフィールと第３の反復についての温度プロフィールとの間の差分に基づいて計算され得る。誤差値が誤差閾値を下回る場合、反復プロセスは停止する。そうでない場合、反復プロセスは、第４の反復に進み得る。
【０１０３】
[0117]反復プロセスの後続の各反復では、その反復についてのロケーションＬ１及びＬ２における漏れ電力プロフィールが、前の反復からの、ロケーションＬ１及びＬ２における温度プロフィールに基づいて計算される。反復プロセスは、２つの連続した反復についての温度プロフィール間の誤差値が誤差閾値を下回るまで続き得る。反復プロセスが終了すると、最後の反復において計算された漏れ電力が、回路９１５Ａ及び９１６Ｂの各々における合成電力プロフィールを計算するために使用され得る。
【０１０４】
[0118]第１及び第２の回路９１５Ａ及び９１５Ｂについての合成電力プロフィールが反復プロセスを使用して決定された後、第１及び第２の回路９１５Ａ及び９１５Ｂの外側にある各ロケーションＬ３及びＬ４における温度プロフィールは、次のように計算され得る：
【数２１】
2017537307.tif 000023
ここで、ｉｎｔ＿ｌａｓｔは、反復プロセスにおける最後の反復を表す。故に、ロケーションＬ３及びＬ４における温度プロフィールは、第１及び第２の回路９１５Ａ及び９１５Ｂにおける漏れ電力を考慮するように更新され得る。
【０１０５】
[0019]故に、漏れ電力のための反復プロセスは、２つ以上の熱源に適用され得、ここで、２つ以上の熱源における漏れ電力は、各反復において並行して更新される。換言すると、反復プロセスの各反復において、２つ以上の熱源における漏れ電力は、前の反復からの、２つ以上の熱源（上の例のロケーションＬ１及びＬ２）における温度プロフィールに基づいて更新される。各回路における動的電力がそれぞれの回路における温度に基づいて制御される、温度依存型電力制御のための反復プロセスが２つ以上の回路に同様に適用され得ることは認識されるべきである。例えば、２つ以上の回路についての電力スケーリングプロフィールは、各反復において並行して更新され得る。
【０１０６】
[0120]図１０は、本開示の実施形態に係る、熱シミュレーションのための方法１０００を例示するフローチャートである。ステップ１０１０では、システム内の回路についての漏れ電力プロフィールが決定される。例えば、漏れ電力プロフィールは、回路（例えば回路１１５）における温度プロフィールに基づいて決定され得る。
【０１０７】
[0121]ステップ１０２０では、合成電力プロフィールを取得するために、漏れ電力プロフィールが回路の動的電力プロフィールに加算される。動的電力プロフィールは、例えば、回路（例えば回路１１５）内のトランジスタ切替えによる電力消費であり得る。
ステップ１０３０では、システム上のロケーションにおける熱応答を取得するために、合成電力プロフィールがインパルス応答で畳み込みされる。例えば、インパルス応答は、回路におけるステップ電力に対するロケーションにおける熱ステップ応答を計算し、時間に対するステップ応答の導関数を計算することで取得され得る。
【０１０８】
[0122]図１１は、本開示の別の実施形態に係る、熱シミュレーションのための方法１１００を例示するフローチャートである。ステップ１１１０では、システム内の回路についての第１の温度プロフィールが決定される。例えば、第１の温度プロフィールは、インパルス応答で回路の動的電力プロフィールを畳み込むことで決定され得る。この例では、第１の温度プロフィールは、漏れ電力が略０であるとの想定に基づいて決定され得る。
【０１０９】
[0123]ステップ１１２０では、回路についての第１の漏れ電力プロフィールが、第１の温度プロフィールに基づいて計算される。
【０１１０】
[0124]ステップ１１３０では、回路についての第２の温度プロフィールが、第１の漏れ電力プロフィールに基づいて計算される。例えば、第２の温度プロフィールは、合成電力プロフィールを取得するために、動的電力プロフィールに第１の漏れ電力プロフィールを加算し、インパルス応答でこの合成電力プロフィールを畳み込むことで計算され得る。
【０１１１】
[0125]方法１１００は、オプション的に、第１及び第２の温度プロフィールに基づいて誤差値を決定することと、誤差値を誤差閾値と比較することとを含む。方法１１００はまた、オプション的に、誤差値が誤差閾値を上回る場合に、第２の温度プロフィールに基づいて第２の漏れ電力プロフィールを決定すること及び第２の漏れ電力プロフィールに基づいて第３の温度プロフィールを決定することのステップを実行することを含み得る。
【０１１２】
[0126]図１２は、本開示の更に別の実施形態に係る、熱シミュレーションのための方法１２００を例示するフローチャートである。ステップ１２１０では、システム内の回路についての電力スケーリングプロフィールが決定される。例えば、電力スケーリングプロフィールは、温度依存型電力制御のための回路における温度の関数であり得る。
【０１１３】
[0127]ステップ１２２０では、合成電力プロフィールを取得するために、電力スケーリングプロフィールに回路の動的電力プロフィールが乗じられる。電力スケーリングプロフィールは、０から１までの範囲を有し得る。
【０１１４】
[0128]ステップ１２３０では、システムのロケーションにおける熱応答を取得するために、合成電力プロフィールがインパルス応答で畳み込まれる。例えば、インパルス応答は、回路におけるステップ電力に対するロケーションにおける熱ステップ応答を計算し、時間に対するステップ応答の導関数を計算することで取得され得る。
【０１１５】
[0129]図１３は、本開示の更に別の実施形態に係る、熱シミュレーションのための方法１３００を例示するフローチャートである。ステップ１３１０では、システム内の回路についての第１の温度プロフィールが決定される。例えば、第１の温度プロフィールは、インパルス応答で動的電力プロフィールを畳み込むことで計算され得る。
【０１１６】
[0130]ステップ１３２０では、回路についての電力スケーリングプロフィールが、第１の温度プロフィールに基づいて計算される。
【０１１７】
[0131]ステップ１３３０では、回路についての第２の温度プロフィールが、回路の動的電力プロフィール及び電力スケーリングプロフィールに基づいて決定される。例えば、第２の温度プロフィールは、合成電力プロフィール（例えば制御された動的電力プロフィール）を取得するために、電力スケーリングプロフィールに動的電力プロフィールを乗じ、インパルス応答でこの合成電力プロフィールを畳み込むことで計算され得る。
【０１１８】
[0132]方法１３００は、オプション的に、第１及び第２の温度プロフィールに基づいて誤差プロフィールを決定することと、誤差プロフィールが誤差閾値に達する時点を決定することとを含み得る。方法１３００は、オプション的に、決定された時点の後の時間範囲に対応する電力スケーリングプロフィールの一部を更新することを更に含み得る。例えば、更新される部分は、時間軸上で、その時点（例えば時点ｔvalid）の右側にあり得る。
【０１１９】
[0133]図１４は、主題の技術の特徴が実現され得る電子システム１４００を例示する。電子デバイス１４００は、バス１４０８、プロセッサ１４１２、メモリ１４０４、入力デバイスインターフェース１４１４及び出力デバイスインターフェース１４０６を含む。バス１４０８は、集合的に、電子システム１４００の多数のデバイスを通信可能に結合する全てのシステムバスを表す。例えば、バス１４０８は、プロセッサ１４１２をメモリ１４０４と通信可能に結合する。
【０１２０】
[0134]動作中、プロセッサ１４１２は、本明細書で説明された機能のうちの１つ又は複数を実行するための命令をメモリ１４０４から取り出し、これらの命令を実行して、１つ又は複数の機能を実行し得る。例えば、プロセッサ１４１２は、上述した実施形態の何れかに従ってシステムの１つ又は複数の熱シミュレーションを実行するための命令を取り出し、これらの命令を実行して、１つ又は複数の熱シミュレーションを実行し得る。プロセッサ１４１２は、メモリ１４０４に格納されているシステムの熱モデルに基づいて１つ又は複数の熱シミュレーションを実行し得、１つ又は複数の熱シミュレーションの結果をメモリ１４０４に格納し得る。プロセッサ１４１２は、異なる実現において、単一のプロセッサ又はマルチコアプロセッサであり得る。メモリ１４０４は、ランダムアクセスメモリ（ＲＡＭ）、読出専用メモリ（ＲＯＭ）、フラッシュメモリ、レジスタ、ハードディスク、リムーバルディスク、ＣＤ−ＲＯＭ、当技術分野で知られている任意の他の形式の記憶媒体又はそれらの任意の組み合わせを備え得る。
【０１２１】
[0135]バス１４０８はまた、入力及び出力デバイスインターフェース１４１４及び１４０６に結合し得る。入力デバイスインターフェース１４１４は、ユーザが情報を通信し、電子システム１４００へのコマンドを選択することを可能にし得、例えば、英数字キーボード及びポインティングデバイス（例えばマウス）を含み得る。例えば、ユーザは、具体的に熱シミュレーションを実行するようプロセッサ１４１２にコマンドするために入力デバイスインターフェースを使用し得る。出力デバイスインターフェース１４０６は、例えば、電子システム１４００によって生成された情報のユーザへの表示を可能にし得、例えば、ディスプレイデバイス（例えば液晶ディスプレイ（ＬＣＤ））を含み得る。例えば、出力デバイスインターフェース１４０６は、熱シミュレーションの結果をユーザに表示するために使用され得る。
【０１２２】
[0136]本明細書の開示に関連して説明されたアルゴリズム又は方法のステップは、直接ハードウェアで、プロセッサ（例えばプロセッサ１４１２）によって実行されるソフトウェアモジュールで又は両者の組み合わせで具現化され得る。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭ（登録商標）メモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ又は当技術分野において知られている任意の他の形式の記憶媒体内に存在し得る。例示的な記憶媒体（例えばメモリ１４０４）は、プロセッサが記憶媒体から情報を読み出し、記憶媒体に情報を書き込むことができるように、プロセッサに結合されることができる。代替的に、記憶媒体は、プロセッサに一体化され得る。プロセッサ及び記憶媒体はＡＳＩＣ内に存在し得る。ＡＳＩＣはユーザ端末内に存在し得る。代替的に、プロセッサ及び記憶媒体は、ユーザ端末においてディスクリート構成要素として存在し得る。
【０１２３】
[0137]１つ又は複数の例示的な設計では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア又はそれらの任意の組み合わせで実現され得る。ソフトウェアで実現される場合、これら機能は、コンピュータ可読媒体において、１つ又は複数の命令又はコードとして格納されることができる。コンピュータ可読媒体はコンピュータ記憶媒体を含み得る。記憶媒体は、汎用コンピュータ又は専用コンピュータによりアクセスされることができる任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ又は他の光ディスク記憶装置、磁気ディスク記憶装置若しくは他の磁気記憶デバイス又は汎用又は専用コンピュータによってアクセス可能であり且つ命令又はデータ構造の形式で所望のプログラムコードを記憶するために使用されることができる任意の他の媒体を備え得る。
【０１２４】
[0138]本開示の先の説明は、当業者が本開示を実行又は使用することを可能にするために提供される。本開示に対する様々な修正は当業者には容易に明らかであり、本明細書で定義された包括的な原理は、本開示の精神又は範囲から逸脱することなく、他の変形に適用され得る。故に、本開示は、本明細書で説明された例及び設計に制限されることが意図されず、本明細書で開示された原理及び新規な特徴に合致する最も広い範囲が与えられるべきである。
【図１】
2017537307.tif 000024
【図２】
2017537307.tif 000025
【図３Ａ】
2017537307.tif 000026
【図３Ｂ】
2017537307.tif 000027
【図３Ｃ】
2017537307.tif 000028
【図４】
2017537307.tif 000029
【図５】
2017537307.tif 000030
【図６】
2017537307.tif 000031
【図７】
2017537307.tif 000032
【図８Ａ】
2017537307.tif 000033
【図８Ｂ】
2017537307.tif 000034
【図９】
2017537307.tif 000035
【図１０】
2017537307.tif 000036
【図１１】
2017537307.tif 000037
【図１２】
2017537307.tif 000038
【図１３】
2017537307.tif 000039
【図１４】
2017537307.tif 000040
【手続補正書】
【提出日】平成29年6月19日(2017.6.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
熱シミュレーションのためのコンピュータにより実施される方法であって、
第１の温度プロフィールに基づいて、システム内の回路についての第１の漏れ電力プロフィールを決定することと、
第１の合成電力プロフィールを取得するために、前記回路の動的電力プロフィールに前記第１の漏れ電力プロフィールを加算することと、
前記回路についての第２の温度プロフィールを取得するために、インパルス応答で前記第１の合成電力プロフィールを畳み込むことと、
前記第２の温度プロフィールに基づいて、前記回路についての第２の漏れ電力プロフィールを決定することと、
第２の合成電力プロフィールを取得するために、前記回路の前記動的電力プロフィールに前記第２の漏れ電力プロフィールを加算することと、
前記回路についての第３の温度プロフィールを取得するために、前記インパルス応答で前記第２の合成電力プロフィールを畳み込むことと
を備える方法。
【請求項２】
前記第１の漏れ電力プロフィールを決定することは、
前記第１の温度プロフィールを取得するために、前記インパルス応答で前記回路の前記動的電力プロフィールを畳み込むことを備える、請求項１に記載の方法。
【請求項３】
前記回路におけるステップ電力に対する前記システム上のロケーションにおける熱ステップ応答を決定することと、
前記インパルス応答を取得するために、時間に対する前記熱ステップ応答の導関数を計算することと
を更に備える、請求項１に記載の方法。
【請求項４】
前記ロケーションは、前記回路内にある、請求項３に記載の方法。
【請求項５】
熱シミュレーションのためのコンピュータにより実施される方法であって、
システム内の回路についての第１の温度プロフィールを決定することと、
前記第１の温度プロフィールに基づいて前記回路についての第１の漏れ電力プロフィールを決定することと、
前記第１の漏れ電力プロフィールに基づいて前記回路についての第２の温度プロフィールを決定することと、
前記第１の温度プロフィール及び前記第２の温度プロフィールに基づいて誤差値を決定することと、
前記誤差値を誤差閾値と比較することと、
前記誤差値が前記誤差閾値を上回る場合、
前記第２の温度プロフィールに基づいて第２の漏れ電力プロフィールを決定すること、及び
前記第２の漏れ電力プロフィールに基づいて第３の温度プロフィールを決定すること
のステップを実行することと
を備える方法。
【請求項６】
前記第１の温度プロフィールを決定することは、前記システム上のロケーションにおけるインパルス応答で前記回路の動的電力プロフィールを畳み込むことを備える、請求項５に記載の方法。
【請求項７】
前記ロケーションは、前記回路内にある、請求項６に記載の方法。
【請求項８】
前記第１の温度プロフィールは、前記回路における漏れ電力が略０であるとの想定に基づいて決定される、請求項６に記載の方法。
【請求項９】
前記第２の温度プロフィールを決定することは、
合成電力プロフィールを取得するために、前記回路の動的電力プロフィールに前記第１の漏れ電力プロフィールを加算することと、
インパルス応答で前記合成電力プロフィールを畳み込むことと
を備える、請求項５に記載の方法。
【請求項１０】
前記回路におけるステップ電力に対する熱ステップ応答を決定することと、
前記インパルス応答を取得するために、時間に対する前記熱ステップ応答の導関数を計算することと
を更に備える、請求項９に記載の方法。
【請求項１１】
熱シミュレーションのためのコンピュータにより実施される方法であって、
システム内の回路についての電力スケーリングプロフィールを決定することと、
合成電力プロフィールを取得するために、前記回路の動的電力プロフィールを前記電力スケーリングプロフィールに乗じることと、
前記システム上のロケーションにおける熱応答を取得するために、インパルス応答で前記合成電力プロフィールを畳み込むことと
を備える方法。
【請求項１２】
前記電力スケーリングプロフィールを決定することは、
温度プロフィールを取得するために、前記インパルス応答で前記回路の前記動的電力プロフィールを畳み込むことと、
前記温度プロフィールに基づいて前記電力スケーリングプロフィールを決定することと
を備える、請求項１１に記載の方法。
【請求項１３】
前記回路におけるステップ電力に対する前記ロケーションにおける熱ステップ応答を決定することと、
前記インパルス応答を取得するために、時間に対する前記熱ステップ応答の導関数を計算することと
を更に備える、請求項１１に記載の方法。
【請求項１４】
前記ロケーションは、前記回路内にある、請求項１３に記載の方法。
【請求項１５】
周辺温度を前記熱応答に加算することを更に備える、請求項１１に記載の方法。
【請求項１６】
熱シミュレーションのためのコンピュータにより実施される方法であって、
システム内の回路についての第１の温度プロフィールを決定することと、
前記第１の温度プロフィールに基づいて前記回路についての電力スケーリングプロフィールを決定することと、
前記回路の動的電力プロフィール及び前記電力スケーリングプロフィールに基づいて前記回路についての第２の温度プロフィールを決定することと
を備える方法。
【請求項１７】
前記第２の温度プロフィールを決定することは、
合成電力プロフィールを取得するために、前記動的電力プロフィールを前記電力スケーリングプロフィールに乗じることと、
インパルス応答で前記合成電力プロフィールを畳み込むことと
を備える、請求項１６に記載の方法。
【請求項１８】
前記ロケーションは、前記回路内にある、請求項１７に記載の方法。
【請求項１９】
前記回路におけるステップ電力に対する熱ステップ応答を決定することと、
前記インパルス応答を取得するために、時間に対する前記熱ステップ応答の導関数を計算することと
を更に備える、請求項１７に記載の方法。
【請求項２０】
前記第１の温度プロフィール及び前記第２の温度プロフィールに基づいて誤差プロフィールを決定することと、
前記誤差プロフィールが誤差閾値に達する時点を決定することと、
決定された前記時点より後の時間範囲に相当する前記電力スケーリングプロフィールの第１の部分を更新することと
を更に備える、請求項１６に記載の方法。
【請求項２１】
決定された前記時点より前の時間範囲に相当する、前記電力スケーリングプロフィールの第２の部分は更新されない、請求項２０に記載の方法。
【請求項２２】
前記電力スケーリングプロフィールの前記第１の部分は、前記第２の温度プロフィールに基づいて更新される、請求項２０に記載の方法。
【請求項２３】
更新された前記電力スケーリングプロフィール及び前記動的電力プロフィールに基づいて第３の温度プロフィールを決定することを更に備える、請求項２０に記載の方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１２４
【補正方法】変更
【補正の内容】
【０１２４】
[0138]本開示の先の説明は、当業者が本開示を実行又は使用することを可能にするために提供される。本開示に対する様々な修正は当業者には容易に明らかであり、本明細書で定義された包括的な原理は、本開示の精神又は範囲から逸脱することなく、他の変形に適用され得る。故に、本開示は、本明細書で説明された例及び設計に制限されることが意図されず、本明細書で開示された原理及び新規な特徴に合致する最も広い範囲が与えられるべきである。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
熱シミュレーションのためのコンピュータにより実施される方法であって、
システム内の回路についての漏れ電力プロフィールを決定することと、
合成電力プロフィールを取得するために、前記回路の動的電力プロフィールに前記漏れ電力プロフィールを加算することと、
前記システムのロケーションにおける熱応答を取得するために、インパルス応答で前記合成電力プロフィールを畳み込むことと
を備える方法。
［Ｃ２］
前記漏れ電力プロフィールを決定することは、
温度プロフィールを取得するために、前記インパルス応答で前記回路の前記動的電力プロフィールを畳み込むことと、
前記温度プロフィールに基づいて前記漏れ電力プロフィールを決定することと
を備える、Ｃ１に記載の方法。
［Ｃ３］
前記回路におけるステップ電力に対する前記ロケーションにおける熱ステップ応答を決定することと、
前記インパルス応答を取得するために、時間に対する前記熱ステップ応答の導関数を計算することと
を更に備える、Ｃ１に記載の方法。
［Ｃ４］
前記ロケーションは、前記回路内にある、Ｃ３に記載の方法。
［Ｃ５］
周辺温度を前記熱応答に加算することを更に備える、Ｃ１に記載の方法。
［Ｃ６］
熱シミュレーションのためのコンピュータにより実施される方法であって、
システム内の回路についての第１の温度プロフィールを決定することと、
前記第１の温度プロフィールに基づいて前記回路についての第１の漏れ電力プロフィールを決定することと、
前記第１の漏れ電力プロフィールに基づいて前記回路についての第２の温度プロフィールを決定することと
を備える方法。
［Ｃ７］
前記第１の温度プロフィールを決定することは、前記システム上のロケーションにおけるインパルス応答で前記回路の動的電力プロフィールを畳み込むことを備える、Ｃ６に記載の方法。
［Ｃ８］
前記ロケーションは、前記回路内にある、Ｃ７に記載の方法。
［Ｃ９］
前記第１の温度プロフィールは、前記回路における漏れ電力が略０であるとの想定に基づいて決定される、Ｃ７に記載の方法。
［Ｃ１０］
前記第２の温度プロフィールを決定することは、
合成電力プロフィールを取得するために、前記回路の動的電力プロフィールに前記第１の漏れ電力プロフィールを加算することと、
インパルス応答で前記合成電力プロフィールを畳み込むことと
を備える、Ｃ６に記載の方法。
［Ｃ１１］
前記回路におけるステップ電力に対する熱ステップ応答を決定することと、
前記インパルス応答を取得するために、時間に対する前記熱ステップ応答の導関数を計算することと
を更に備える、Ｃ１０に記載の方法。
［Ｃ１２］
前記第１の温度プロフィール及び前記第２の温度プロフィールに基づいて誤差値を決定することと、
前記誤差値を誤差閾値と比較することと、
前記誤差値が前記誤差閾値を上回る場合、
前記第２の温度プロフィールに基づいて第２の漏れ電力プロフィールを決定すること、及び
前記第２の漏れ電力プロフィールに基づいて第３の温度プロフィールを決定すること
のステップを実行することと 
を更に備える、Ｃ６に記載の方法。
［Ｃ１３］
熱シミュレーションのためのコンピュータにより実施される方法であって、
システム内の回路についての電力スケーリングプロフィールを決定することと、
合成電力プロフィールを取得するために、前記回路の動的電力プロフィールを前記電力スケーリングプロフィールに乗じることと、
前記システム上のロケーションにおける熱応答を取得するために、インパルス応答で前記合成電力プロフィールを畳み込むことと
を備える方法。
［Ｃ１４］
前記電力スケーリングプロフィールを決定することは、
温度プロフィールを取得するために、前記インパルス応答で前記回路の前記動的電力プロフィールを畳み込むことと、
前記温度プロフィールに基づいて前記電力スケーリングプロフィールを決定することと
を備える、Ｃ１３に記載の方法。
［Ｃ１５］
前記回路におけるステップ電力に対する前記ロケーションにおける熱ステップ応答を決定することと、
前記インパルス応答を取得するために、時間に対する前記熱ステップ応答の導関数を計算することと
を更に備える、Ｃ１３に記載の方法。
［Ｃ１６］
前記ロケーションは、前記回路内にある、Ｃ１５に記載の方法。
［Ｃ１７］
周辺温度を前記熱応答に加算することを更に備える、Ｃ１３に記載の方法。
［Ｃ１８］
熱シミュレーションのためのコンピュータにより実施される方法であって、
システム内の回路についての第１の温度プロフィールを決定することと、
前記第１の温度プロフィールに基づいて前記回路についての電力スケーリングプロフィールを決定することと、
前記回路の動的電力プロフィール及び前記電力スケーリングプロフィールに基づいて前記回路についての第２の温度プロフィールを決定することと
を備える方法。
［Ｃ１９］
前記第２の温度プロフィールを決定することは、
合成電力プロフィールを取得するために、前記動的電力プロフィールを前記電力スケーリングプロフィールに乗じることと、
インパルス応答で前記合成電力プロフィールを畳み込むことと
を備える、Ｃ１８に記載の方法。
［Ｃ２０］
前記ロケーションは、前記回路内にある、Ｃ１９に記載の方法。
［Ｃ２１］
前記回路におけるステップ電力に対する熱ステップ応答を決定することと、
前記インパルス応答を取得するために、時間に対する前記熱ステップ応答の導関数を計算することと
を更に備える、Ｃ１９に記載の方法。
［Ｃ２２］
前記第１の温度プロフィール及び前記第２の温度プロフィールに基づいて誤差プロフィールを決定することと、
前記誤差プロフィールが誤差閾値に達する時点を決定することと、
決定された前記時点より後の時間範囲に相当する前記電力スケーリングプロフィールの第１の部分を更新することと
を更に備える、Ｃ１８に記載の方法。
［Ｃ２３］
決定された前記時点より前の時間範囲に相当する、前記電力スケーリングプロフィールの第２の部分は更新されない、Ｃ２２に記載の方法。
［Ｃ２４］
前記電力スケーリングプロフィールの前記第１の部分は、前記第２の温度プロフィールに基づいて更新される、Ｃ２２に記載の方法。
［Ｃ２５］
更新された前記電力スケーリングプロフィール及び前記動的電力プロフィールに基づいて第３の温度プロフィールを決定することを更に備える、Ｃ２２に記載の方法。
【国際調査報告】
2017537307.tif 000041
2017537307.tif 000042
2017537307.tif 000043