(57)【特許請求の範囲】
【請求項１】
コンピュータに、
半導体装置の消費電力値を計算する評価条件となりうる範囲を表す範囲情報を取得し、
前記半導体装置を構成する基本素子であるセル毎に、前記範囲情報が表す範囲内の評価条件で該セルの消費電力値の計算を行うための計算式として、該セルに入力される信号のレベル変化に係わる時間を表す状態量を含む項に定数を項として追加した第１因子と、該半導体装置を製造するプロセスのばらつき、セルに印加する電圧、又はセルの温度のうち少なくとも１つを表す状態量を含む第２因子との積が存在する計算式を設定し、
該設定した計算式を表す計算式情報を前記セル毎に格納したライブラリを作成する処理を実行させるプログラム。
【請求項２】
前記時間は、前記信号のレベルの立ち上がりに要する立ち上がり時間と、該信号のレベルの立ち下がりに要する立ち下がり時間とを平均した遷移時間である、
ことを特徴とする請求項１記載のプログラム。
【請求項３】
半導体装置の消費電力値を計算する評価条件となりうる範囲を表す範囲情報を取得する情報取得手段と、
前記半導体装置を構成する基本素子であるセル毎に、前記情報取得手段が取得した前記範囲情報が表す範囲内の評価条件で該セルの消費電力値の計算を行うための計算式として、該セルに入力される信号のレベル変化に係わる時間を表す状態量を含む項に定数を項として追加した第１因子と、該半導体装置を製造するプロセスのばらつき、セルに印加する電圧、又はセルの温度のうち少なくとも１つを表す状態量を含む第２因子との積が存在する計算式を設定する計算式設定手段と、
前記計算式設定手段が設定した計算式を表す計算式情報を前記セル毎に格納したライブラリを作成するライブラリ作成手段と、
を具備することを特徴とするライブラリ作成装置。
【請求項４】
コンピュータが実行するライブラリ作成方法であって、
半導体装置の消費電力値を計算する評価条件となりうる範囲を表す範囲情報を取得し、
前記半導体装置を構成する基本素子であるセル毎に、前記範囲情報が表す範囲内の評価条件で該セルの消費電力値の計算を行うための計算式として、該セルに入力される信号のレベル変化に係わる時間を表す状態量を含む項に定数を項として追加した第１因子と、該半導体装置を製造するプロセスのばらつき、セルに印加する電圧、又はセルの温度のうち少なくとも１つを表す状態量を含む第２因子との積が存在する計算式を設定し、
該設定した計算式を表す計算式情報を前記セル毎に格納したライブラリを作成することを特徴とするライブラリ作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置の消費電力を評価するための技術に関する。
【背景技術】
【０００２】
ＬＳＩに代表される半導体装置は、高速化、及び高集積化が進んでいる。それにより、半導体装置の消費電力も増大している。このため、省電力化の要請から、半導体装置の設計と並行して、消費電力の評価（見積もり）が行われるのが普通となっている。
【０００３】
半導体装置の設計は、通常、基本素子として登録されたセルを組み合わせる形で行われる。セルは、半導体装置の機能的、或いは論理的な単位となりうる構成要素であり、ＯＲ、ＮＯＲ、ＡＮＤ、及びＮＡＮＤ等の基本ゲートの他に、ＣＰＵ、及びメモリのような規模の大きい構成要素もセルとして扱われるのが一般的である。このことから、半導体装置の消費電力計算方法としては、消費電力計算用の消費電力データをセル毎に格納したライブラリを用意し、半導体装置を構成するセル毎に、ライブラリを参照して消費電力値を計算するものが一般的である。この消費電力計算方法では、半導体装置全体の消費電力値は、セル毎に計算した消費電力値を加算して算出される。
【０００４】
半導体装置には同一のセルが複数搭載される。同一のセルでも搭載位置により動作状態が異なり、消費電力が異なる。これを区別するため半導体装置に搭載された状態のセル一つ一つを以降「インスタンス」と呼ぶことにする。
【０００５】
セル（インスタンス）の消費電力は、一般的に、リーク電力とダイナミック電力とに大別される。リーク電力は、リーク電流によって消費される電力である。ダイナミック電力は、セルの動作状態が遷移する場合に、負荷容量の充放電動作によって消費される電力、および貫通電流によって消費される電力である。動作状態は、セルの現在の状態（以降「内部状態」）或いは入力信号に依存して遷移する。
【０００６】
従来のライブラリは、セルの消費電力データとして、そのセルの消費電力値が定義されていた。セルのリーク電力は、そのセルの内部状態、或いは信号の入力条件によって変化する。このことから、リーク電力による消費電力値は、内部状態毎、入力条件毎、或いはそれらの組み合わせ毎に定義されるのが普通である。
【０００７】
ダイナミック電力は、信号のレベルが変化する遷移時間、及び負荷容量によって変化する。その遷移時間と負荷容量の各値は共に、任意の値である。このことから、ダイナミック電力による消費電力値は、任意の値でも対応できるように、従来のライブラリにおいて、遷移時間と負荷容量を変数（引数）としたルックアップテーブル（以降「ＬＵＴ」と表記）により定義される。
【０００８】
リーク電力及びダイナミック電力は共に、半導体装置を製造するプロセス、半導体装置を構成するセルに印加する電圧、及びそのセルの温度（ＰＶＴ（Process、Voltage、Temperature））のばらつきによって変化する。このことから、現在では、ＰＶＴのばらつきを考慮した消費電力の見積もりが行われている。それにより、ＰＶＴのばらつきは、消費電力を計算するうえでの条件として扱われている。その条件は以降ＰＶＴ条件と呼ぶことにする。
【０００９】
上記ライブラリは、セルの消費電力を確認するためのシミュレーション（例えばデバイスシミュレーション）の実行により作成する。この場合、ＰＶＴ条件及びＬＵＴ作成条件は、入力条件、及び内部状態と共に、シミュレーションの実行条件として与えられる。ＬＵＴ作成条件は、ＬＵＴに定義する消費電力値を指定するものであり、例えば変数毎の値を含む。それにより、シミュレーションは、各変数の値の組み合わせ毎に実行される。従来の消費電力の計算は、ＰＶＴ条件、及びＬＵＴ作成条件を含む実行条件に従ったシミュレーションの実行（ライブラリの作成）→インスタンス毎の消費電力値の計算→半導体装置全体の消費電力値の計算、の順序で行われる。
【００１０】
図１は、従来のライブラリ作成装置を搭載した消費電力計算装置の構成を説明する図である。
例えばオペレータにより与えられたＰＶＴ条件情報３１及びＬＵＴ作成条件情報３２は、セル毎にシミュレーションにより消費電流を計算する消費電流シミュレーション部３３に入力される。消費電流シミュレーション部３３は、セル毎にＰＶＴ条件情報３１が表すＰＶＴ条件、及びＬＵＴ作成条件情報３２が表すＬＵＴ作成条件を含む実行条件に従ってシミュレーションを複数回実行し、ライブラリを作成する。
【００１１】
インスタンスごとの消費電力計算部３５は、半導体装置を構成するインスタンスごとに、ライブラリを参照して、リーク電力値、及びダイナミック電力値を計算する。入力条件、及び内部状態等のリーク電力値、及びダイナミック電力値を計算するうえで必要な情報は、例えばインスタンスごとに設定される。各インスタンスの消費電力値は、設定された情報に応じて計算されたリーク電力値、及びダイナミック電力値を用いて算出される。
【００１２】
ＬＳＩの消費電力計算部３６は、インスタンスごとの消費電力計算部３５からインスタンスごとに計算された消費電力値を入力し、それらを合計する。消費電力値の合計結果は、半導体装置全体の消費電力値３７として出力される。
【００１３】
このようにして、半導体装置全体の消費電力値３７は、与えられたＰＶＴ条件によりシミュレーションを実行し、そのシミュレーションの結果からライブラリを作成し、作成したライブラリを用いて計算される。そのシミュレーションは、ＬＵＴ作成条件により特定される回数だけ実行する必要がある。そのシミュレーションの実行（ライブラリの作成）には、或る程度の時間が必要である。このため、異なるＰＶＴ条件での消費電力値３７の計算は、迅速に行うのが困難となっていた。
【００１４】
従来のライブラリは、異なるＰＶＴ条件での消費電力を計算できるように、プロセス、電圧、及び温度に関するディレーティングファクタを定義することができるようになっている。ディレーティングファクタを定義したライブラリを作成すれば、異なるＰＶＴ条件での消費電力値３７の計算も迅速に行うことができる。
【００１５】
上記ディレーティングファクタは、普通、プロセス、電圧、或いは温度の変化に対する消費電力の変化量を表す差分値である。しかし、プロセス、電圧、及び温度の何れであっても、その変化に対する消費電力値の変化は線形ではない。このため、ライブラリを作成した際のＰＶＴ条件と比較的に大きく異なるＰＶＴ条件で消費電力を見積もる場合、消費電力の見積もりの精度は大きく低下する。このことから、ディレーティングファクタを定義したライブラリは、事実上、比較的に大きく異なる複数のＰＶＴ条件 での消費電力の見積もりに用いるのは避けるべきものとなっている。
【００１６】
ＰＶＴ条件を変更しての消費電力の見積もりは
１）半導体装置のプロセスのばらつきごとに電力制限を満たす電源電圧を設定する
２）半導体装置の冷却条件を反映した電力計算を行う
３）半導体装置内の温度分布解析を行う
等を行うためにも必要となる。半導体装置における高集積化は、ＰＶＴ条件の消費電力への影響をより大きくさせている。上記１〜３を行うのは、このことが大きな理由となっている。それにより今後は、ＰＶＴ条件を様々に変更して消費電力の見積もりを行うことがより多くなると予想される。このようなことからも、高い精度を維持しつつ、比較的に大きく異なるＰＶＴ条件でも迅速に消費電力を見積もることができるようにすることが重要と云える。
【００１７】
様々なＰＶＴ条件での消費電力の見積もりを迅速に行う方法としては、ＰＶＴ条件ごとにライブラリを予め作成するという方法が考えられる。しかし、ライブラリの作成にはシミュレーションの実行が必要である。そのシミュレーションの実行条件となる状態量（実行条件の内容を表す変数として扱うもの）の数は少なくない。ＰＶＴ条件の他に、上記遷移時間、セルの内部状態等も状態量に相当する。このため、シミュレーションの実行回数は膨大となり、全てのライブラリの作成には長い時間が必要となる。また、ライブラリにはＬＵＴを定義するため、作成した全てのライブラリの保存に必要な記憶容量も非常に大きくなる。
【００１８】
このようなことから、ＰＶＴ条件を含む消費電力の見積もりのための計算条件ごとにライブラリを予め作成する方法は避けるべきと云える。それにより、比較的に大きく異なる計算条件でも迅速、且つ高精度に半導体装置の消費電力を見積もるうえで、シミュレーションの実行回数、及びデータ量を共に抑えることも重要と云える。
【先行技術文献】
【特許文献】
【００１９】
【特許文献１】特開２００８−１７６４４０号公報
【特許文献２】特開２００９−２５８８４号公報
【特許文献３】特開平１０−２５４９４４号公報
【特許文献４】特開平１１−７３４３６号公報
【特許文献５】特開２０００−２０５６５号公報
【特許文献６】特開２００８−８４０７１号公報
【発明の概要】
【発明が解決しようとする課題】
【００２０】
本発明を適用した１システムは、半導体装置の消費電力の見積もりを精度よく行えるようにするための技術を提供することを目的とする。
【課題を解決するための手段】
【００２１】
本発明を適用した１システムでは、半導体装置の消費電力値を計算する評価条件となりうる範囲を表す範囲情報を取得する情報取得手段と、半導体装置を構成する基本素子であるセル毎に、情報取得手段が取得した範囲情報が表す範囲内の評価条件で該セルの消費電力値の計算を行うための計算式として、該評価条件の内容を表す所定の状態量を含む項に定数を項として追加した因子が存在する計算式を設定する計算式設定手段と、計算式設定手段が設定した計算式を表す計算式情報をセル毎に格納したライブラリを作成するライブラリ作成手段と、を具備する。
【発明の効果】
【００２２】
開示する技術では、半導体装置の消費電力の見積もりを精度よく行うことができる。
【図面の簡単な説明】
【００２３】
【図１】従来のライブラリ作成装置を搭載した消費電力計算装置の構成を説明する図である。
【図２】本実施形態によるライブラリ作成装置を搭載した消費電力評価装置の構成を説明する図である。
【図３】リーク電力を発生させるリーク電流の測定方法を説明する図である。
【図４】ダイナミック電力を発生させるダイナミック電流の測定方法を説明する図である。
【図５】プロセスのばらつきの正規化方法を説明する図である。
【図６Ａ】リーク係数データの記述例を表す図である。
【図６Ｂ】ダイナミック係数データの記述例を表す図である。
【図７】ライブラリ作成条件決定処理のフローチャートである。
【図８】リーク係数データ登録処理のフローチャートである（抜粋）。
【図９】ダイナミック係数データ登録処理のフローチャートである（抜粋）。
【図１０】消費電力計算処理のフローチャートである。
【図１１】本実施形態を適用可能なコンピュータのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００２４】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
図２は、本実施形態によるライブラリ作成装置を搭載した消費電力評価装置の構成を説明する図である。なお、図２では、ライブラリ作成装置、消費電力評価装置が用いる情報も、模式的に図示している。本実施形態によるライブラリ作成装置は、対象とする半導体装置を構成する各セルの消費電力を計算するためのライブラリ４５ａを作成するものとして実現されている。消費電力評価装置は、本実施形態によるライブラリ作成装置が作成したライブラリ４５ａを用いて半導体装置全体の消費電力値４９を計算する消費電力計算装置を搭載している。
【００２５】
本実施形態によるライブラリ作成装置は、評価範囲情報４１ａを入力し、セルごとに消費電力計算用の消費電力データを登録したライブラリ４５ａを作成する。ライブラリ作成装置は、評価範囲情報４１ａを取得する情報取得部４１、評価範囲情報４１ａを参照してライブラリ４５ａを作成するうえでの条件であるライブラリ作成条件４３ａを生成する作成条件決定部４２、生成されたライブラリ作成情報４３ａを保存する第１の記憶部４３、生成されたライブラリ作成条件４３ａに従ってライブラリ４５ａを作成する係数ライブラリ作成部４４、及びライブラリ４５ａを保存する第２の記憶部４５を備えた構成である。
【００２６】
評価範囲情報４１ａは、半導体装置の消費電力を評価する可能性が考えられるＰＶＴ条件の範囲を表すものである。情報取得部４１は、評価範囲情報４１ａを入力するか、或いは格納したものである。本実施形態では、評価範囲情報４１ａとして、ＰＶＴ条件以外の実行条件の範囲も指定するものを採用している。具体的には、遷移時間、及び負荷容量等の各範囲も指定する情報も評価範囲情報４１ａとして採用している。以降、実行条件の内容を表す各状態量は「条件変数」と呼ぶことにする。
【００２７】
評価範囲情報４１ａの内容、つまり各条件変数、及びその値域の例を説明する前に、消費電力の大部分を占めるリーク電力、及びダイナミック電力について具体的に説明する。
図３は、リーク電力を発生させるリーク電流の測定方法を説明する図である。図３において、５０はセル、Ａ１〜Ａｉはセル５０の入力端子、Ｘ１〜Ｘｊはセル５０の出力端子、Ｆ１〜Ｆｋはセル５０の内部状態、ＶＤＤは正電圧側の正電源電圧、ＶＳＳは負電圧側の負電源電圧、ＩＤＤは正電圧側からセル５０に供給される正電源電流、ＩＳＳはセル５０から負電圧側に流れる負電源電流、をそれぞれ表している。
【００２８】
リーク電力は、何れのセル５０への入力信号も変化しない状況下で流れるリーク電流によって生じるものである。リーク電流は、入力条件、つまり各入力端子に入力される信号の組み合わせ、及びセル５０の内部状態によって異なる。このことから、リーク電流は、セル５０の入力条件、及び内部状態F1, F2, …Fkを設定し、設定内容でシミュレーション（例えばデバイスシミュレーション）を実行することで算出される。セル５０の各出力端子から出力される信号は、設定された入力条件、及び内部状態によって確定する。
【００２９】
図４は、ダイナミック電力を発生させるダイナミック電流の測定方法を説明する図である。図４において、Ｃｌｏａｄは負荷６０の負荷容量、Ｖは正電源電圧ＶＤＤと負電源電圧ＶＳＳの間の電位差（以降「電源電圧」）、ＩＤＤは正電源側から流れる電流（以降「正電源電流」）、ＩＳＳは負電源側に流れる電流（以降「負電源電流」）をそれぞれ表している。
【００３０】
図４に示すように、Ｔｓｉｎ＿ｕｐはセル５０の入力端子に入力する信号の立ち上がりに要する遷移時間、Ｔｓｉｎ＿ｄｏｗｎは入力端子に入力する信号の立ち下がりに要する遷移時間、をそれぞれ表している。Ｔｓｉｎは立ち上がりに要する遷移時間Ｔｓｉｎ＿ｕｐと立ち下がりに要する遷移時間Ｔｓｉｎ＿ｄｏｗｎとを平均した遷移時間を表している。同様に、Ｔｓｏｕｔ＿ｕｐはセル５０の出力端子から出力される信号の立ち上がりに要する遷移時間、Ｔｓｏｕｔ＿ｄｏｗｎは出力端子から出力される信号の立ち下がりに要する遷移時間、Ｔｓｏｕｔは遷移時間Ｔｓｏｕｔ＿ｕｐ及びＴｓｏｕｔ＿ｄｏｗｎを平均した遷移時間、をそれぞれ表している。本実施形態では、遷移時間Ｔｓｉｎ、及びＴｓｏｕｔをそれぞれ算出することにより、遷移時間を入力される信号における遷移時間、及び出力される信号における遷移時間に大別して扱っている。以降、Ｔｓｉｎと表記の入力される信号の遷移時間は「入力遷移時間」、Ｔｓｏｕｔと表記の出力される信号の遷移時間は「出力遷移時間」とそれぞれ呼ぶことにする。図４における他のシンボルが表す意味は図３と同じであるため、説明は省略する。
【００３１】
立ち上がり遷移時間、及び立ち下がり遷移時間は共に、信号が或るレベルから別の或るレベルに変化するまでに要する時間として定義される。例えば負電源電圧ＶＳＳのレベルを０、正電源電圧ＶＤＤのレベルを１００とした場合、立ち上がり遷移時間は、信号のレベルが２０から８０に変化するまでに要する時間として定義される。同様に、立ち下がり遷移時間は、信号のレベルが８０から２０に変化するまでに要する時間として定義される。
【００３２】
セル５０から出力される信号の時間変化は、セル５０に入力される信号の時間変化に一致するとは限らない。本実施形態において、遷移時間として入力遷移時間、及び出力遷移時間の二つを扱うのはこのためである。
【００３３】
セル５０と接続された負荷６０にセル５０から出力される信号が変化する場合、信号の変化により負荷６０は充放電を行う。負荷６０に蓄えられる最大の電荷は、負荷６０の負荷容量Ｃｌｏａｄの値に電源電圧Ｖを掛けて得られる値（＝Ｃｌｏａｄ・Ｖ）である。負荷６０が蓄える電荷は、負荷６０に出力される信号のレベルが下がることにより負荷６０から放出される。そのような負荷６０の充放電が発生する状況下でダイナミック電力が発生する。負荷６０による充電自体は、電力の消費にはならない。
【００３４】
本実施形態では、評価範囲情報４１ａの条件変数、つまり状態量として、電源電圧Ｖ、入力遷移時間Ｔｓｉｎ、出力遷移時間Ｔｓｏｕｔ、及び負荷容量Ｃｌｏａｄを採用している。その他に、半導体装置（チップ）間におけるプロセスのばらつき（以降シンボルとして「Ｐｃｈｉｐ」を表記）、半導体装置内におけるプロセスのばらつき（以降シンボルとして「Ｐｏｃｖ」と表記）、セルを構成するトランジスタのジャンクション温度（以降シンボルとして「Ｔｊ」を表記）を状態量として採用している。評価範囲情報４１ａは、条件変数ごとに、その値域を表す。ＰＶＴ条件は、プロセスのばらつきＰｃｈｉｐ、Ｐｏｃｖ、電源電圧Ｖ、及びトランジスタのジャンクション温度Ｔｊによって表されるものである。
【００３５】
トランジスタがＦＥＴ（多くの場合、ＭＯＳ  ＦＥＴ（Metal-Oxide-Semiconductor Field Effect Transistor）である）であれば、ジャンクション温度Ｔｊの代わりにチャネル温度が用いられる。しかし、消費電力の計算上、チャネル温度とジャンクション温度Ｔｊは同じものと考えることができる。このことから、ジャンクション温度Ｔｊは、トランジスタの種類に係わらず、トランジスタのなかで最も高温となる部分の温度を指す意味で用いる。消費電力を評価するうえでジャンクション温度Ｔｊよりも影響が大きい、或いはより適切に消費電力を評価できるような温度が他に存在する場合、ジャンクション温度Ｔｊ以外の温度を採用しても良い。セルの温度はジャンクション温度Ｔｊに限定されるものではない。
【００３６】
プロセスのばらつきＰｃｈｉｐ及びＰｏｃｖは、他の条件変数と異なり、定められた次元は存在しない。このことから、プロセスのばらつきＰｃｈｉｐ及びＰｏｃｖの各値は、無次元の値、つまり正規化した値により表現される。以降、プロセスのばらつきＰｃｈｉｐ及びＰｏｃｖを共に指す場合、「プロセスのばらつきＰ」と表記する。
【００３７】
図５は、プロセスのばらつきの正規化方法を説明する図である。図５において、左側のグラフは、確率変数Ｘに対する標準正規分布の累積分布関数Ｆ（Ｘ）、右側のグラフは、プロセスのばらつきＰに対応付ける特性値Ｙに対する累積分布関数Ｇ（Ｙ）、をそれぞれ表している。
【００３８】
特性値Ｙは、プロセスのばらつきＰによって変化する数値である。具体的には、例えばトランジスタの閾値電圧、或いはトランジスタの動作時に流れる電流値（例えば何れも絶対値である）などの、トランジスタの特性値である。本実施形態では、プロセスのばらつきＰは標準正規分布に従うと仮定し、ばらつきＰによって変化する特性値Ｙを用いてプロセスのばらつきを正規化する。特性値Ｙに対応するプロセスのばらつきＰの値は、２つの累積分布関数Ｆ（Ｘ）、Ｇ（Ｙ）が同じ値（確率）となる確率変数Ｘの値として求める。すなわち、
Ｇ（Ｙ）＝Ｆ（Ｘ）
より、確率変数ＸをばらつきＰと見なして、
Ｙ＝Ｇ−１［Ｆ（Ｐ）］
となる。図５は、Ｘ（＝Ｐ）が「１」の場合の、Ｆ（Ｘ）＝０．８４と等しい累積分布関数Ｇ（Ｙ）に対応するＧ−１［Ｆ（Ｐ）］＝Ｇ−１［Ｆ（１）］の関係を示している。
【００３９】
例えば物体が或る状態となる確率は、物体が或る状態とならなかった確率を表す情報と見なすことができる。確率は、そのように視点を変えた解釈が可能である。それにより、確率変数Ｘに対する累積分布関数Ｆ（Ｘ）の表す確率は、二つの意味に解釈することが可能である。このため、本実施形態では、確率変数Ｘの値が大きくなるほど、特性値Ｙの絶対値が小さくなるように確率変数Ｘと特性値Ｙの間の関係を考慮している。そのように考慮することにより、例えば特性値Ｙとしてトランジスタの動作時に流れる電流値（の絶対値）を採用していた場合、プロセスのばらつきＰの値は、電流値（の絶対値）が大きくなるほど小さくなる。
【００４０】
特性値Ｙとして採用できる状態量は、プロセスのばらつきＰに応じて値が変化するものであれば良いことから、特に限定するものではない。また、プロセスのばらつきＰの数値化は、上述したようなもの以外の方法を採用しても良い。例えばプロセスのばらつきＰに対する消費電力への影響を数値化（モデル化）することにより、想定するプロセスのばらつきＰに対応する数値を直接的に求められるようにしても良い。
【００４１】
図２の作成条件決定部４２は、上記のような条件変数により表現される評価範囲情報４１ａを情報取得部４１から入力し、条件変数ごとに、その値域から刻み幅を決定することにより、各条件変数の値の組を特定する。各条件変数の値の組み合わせは、ライブラリ作成条件４３ａを作成するためのシミュレーションの実行条件とする。各条件変数の値の組、つまりシミュレーションの実行条件は、例えば以下のようなものである。なお、評価範囲情報４１ａは、以下のような条件変数ごとの値の組を表すものであっても良い。
【００４２】
Ｐｃｈｉｐ        ：−３、−１．５、０、１．５、３
Ｐｏｃｖ         ：−３、−１．５、０、１．５、３
Ｖ（Ｖ）       ：０．８、０．９、１．０、１．１、１．２
Ｔｊ（°Ｃ）    ：２５、４５、６５、８５、１０５
Ｔｓｉｎ（ｐｓ） ：５、１０、２０、４０、８０
Ｔｓｏｕｔ（ｐｓ）：５、１０、２０、４０、８０
Ｃｌｏａｄ（ｐＦ）：０．００５、０．０１、０．０２０、０．０５０、０．１００
作成条件決定部４２は、決定した実行条件ごとにシミュレーションを実行すると共に、決定した実行条件のなかからライブラリ作成条件４３ａの候補を抽出する。シミュレーションは、全セルのなかから選択した複数のセルを対象に行われる。セルの駆動力としては、例えば最小、最大の２種類程度の駆動力を想定する。セルは、例えばインバータ、バッファ、ＮＡＮＤゲート、ＡＮＤゲート、ＮＯＲゲート、ＯＲゲート、ＸＯＲゲート、ＸＮＯＲゲート、及びセレクタを含むものである。この９種類のセルで２種類の駆動力を想定した場合、選択されるセルは１８（＝９×２）種類となる。
【００４３】
本実施形態では、各セルのリーク電流、及びダイナミック電流の各値は、評価範囲情報４１ａの内容を表す１つ以上の条件変数を用いた計算式により算出することを想定している。計算式とは、例えば以下のようなものである。
【００４４】
Ｉｌｅａｋ＝ｅｘｐ（Ａ＋Ｂ・Ｖ＋Ｃ／（Ｔｊ＋２７３）＋Ｄ・Ｖ／（Ｔｊ＋２７３）
＋Ｅ・Ｐｃｈｉｐ＋Ｆ・Ｐｏｃｖ）      ・・・  （１）
Ｉｄｙｎ＝Ｑｄｙｎ／Ｔｓｗ      ・・・  （２）
Ｑｄｙｎ＝Ｃｉｎｔ・Ｖ＋(Ｋｓｔ＋Ｋｓｉ・Ｔｓｉｎ)・［Ｋｃ＋
ｅｘｐ(Ｋｐ・Ｐｃｈｉｐ＋Ｋｖ・Ｖ＋Ｋｔ／(Ｔｊ＋２７３))］
・・・  （３）
ここで、
Ｉｌｅａｋ  ：リーク電流値
Ｉｄｙｎ    ：ダイナミック電流値
（あるPchip, Pocv, V, Tｊ, Tsin, Tsoutに対して、入力データが1周期スイッチングした時の、リーク電流を除いた消費電流量）
Ｔｓｗ     ：セルに入力される信号が変化する１周期分の時間（スイッチング時間）
Ｑｄｙｎ    ：スイッチング時間Ｔｓｗに消費される消費電荷量
（あるPchip, Pocv, V, Tj, Tsin, Tsoutに対して、入力データが1周期スイッチングした時の、リーク電流を除いた消費電荷量）
である。Ａ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｃｉｎｔ、Kｓｔ、Ｋｓｉ、Ｋｃ、Ｋｐ、Ｋｖ、及びＫｔは係数である。Ａ、Kｓｔ、及びＫｃはそれぞれ単独で項となっているので定数である。２７３は、摂氏温度を絶対温度に換算するための値である。
【００４５】
（１）式は、リーク電流値Ｉｌｅａｋは電源電圧Ｖに応じて指数関数的に変化するとの想定をベースにし、電源電圧Ｖの他に、各プロセスのばらつきＰｃｈｉｐ、Ｐｏｃｖ、ジャンクション温度Ｔｊのそれぞれの影響を考慮したものである。（３）式では、右辺第１項の値は電荷の基準値、右辺第２項の値は基準値からの調整分となる。電荷の調整分は、入力遷移時間Ｔｓｉｎ、プロセスのばらつきＰｃｈｉｐ、電源電圧Ｖ、ジャンクション温度Ｔｊによって変化するものと想定している。調整分にも、電流は電源電圧Ｖに応じて指数関数的に変化するとの想定を反映させている。プロセスのばらつきＰｏｃｖは、ダイナミック電力への影響が無視できるものとしている。（２）式は、ダイナミック電流値Ｉｄｙｎは、スイッチング時間Ｔｓｗの間に消費電荷量Ｑｄｙｎによって流れる電流が一定との想定により作成したものである。（１）及び（２）式により電流値Ｉｌｅａｋ、Ｉｄｙｎを算出するのは、電源電圧Ｖに応じてリーク電力値、及びダイナミック電力値を計算できるようにしたためである。
【００４６】
なお、リーク電流値Ｉｌｅａｋ、及びダイナミック電流値Ｉｄｙｎ（消費電荷量Ｑｄｙｎ）を算出する計算式は、上記のようなものに限定されない。つまり、モデル化の手法により異なる別の計算式を採用しても良い。セルごとに異なる計算式を用意しても良い。例えばリーク電流値Ｉｌｅａｋの別の計算式としては、以下のようなものを採用しても良い。
【００４７】
Ｉｌｅａｋ＝ｅｘｐ（Ａ＋Ｂ・Ｖ＋Ｃ／（Ｔｊ＋２７３）＋Ｄ・Ｖ／（Ｔｊ＋２７３）
＋Ｅ・Ｐｃｈｉｐ＋Ｆ・Ｐｏｃｖ＋Ｇ・Ｐｃｈｉｐ・Ｐｏｃｖ
＋Ｈ・Ｖ・Ｐｃｈｉｐ＋Ｊ・Ｖ・Ｐｏｃｖ＋Ｌ・Ｐｃｈｉｐ／（Ｔｊ＋２７３）
＋Ｍ・Ｐｏｃｖ／（Ｔｊ＋２７３））      ・・・  （４）
ここで、Ｇ、Ｈ、Ｊ、Ｌ及びＭは全て係数である。
【００４８】
消費電荷量Ｑｄｙｎを算出する計算式としては、例えば以下のようなものを採用しても良い。
Ｑｄｙｎ＝Ｃｉｎｔ・Ｖ＋(Ｋｓｔ＋Ｋｓｉ・Ｔｓｉｎ＋Ｋｓｏ／Ｔｓｏｕｔ＋Ｋｓｘ・Ｔｓｉｎ２／Ｔｓｏｕｔ)
・［Ｋｃ＋ｅｘｐ(Ｋｐ・Ｐｃｈｉｐ＋Ｋｖ・Ｖ＋Ｋｔ／(Ｔｊ＋２７３))］
・・・  （５）
ここで、Ｋｓｏ、Ｋｓｘは係数である。
【００４９】
上記（１）〜（３）式を用意したことから、作成条件決定部４２がシミュレーションの実行により候補を抽出するライブラリ作成条件４３ａは、（１）及び（３）式の各係数の値を決定するためにシミュレーションを実行すべき実行条件群を表すものとしている。候補は、実行条件群の１実行条件となりうるものである。
【００５０】
（１）式には４条件変数が存在し、（３）式にも４条件変数が存在する。各条件変数の値の個数は５である。このことから、（１）式、（３）式ともにシミュレーションの実行条件として６２５（＝５４）条件が必要となる。それにより、作成条件決定部４２は、選択したセルごとに、１２５０（＝６２５×２）回のシミュレーションを少なくとも実行する。ライブラリ作成条件の候補は、計算式べつに抽出される。
【００５１】
上記６２５条件は、１セルで計算式別にシミュレーションが実行される最小の実行条件数である。実際には、各セルでは、最小の実行条件数に、対象とするセルで考慮すべき入力条件数、及び内部状態数等をそれぞれ掛けた数のシミュレーションが実行される。ここでは特に断らない限り、セルによる違いは無視することにする。つまり、特に断らない限り、各セルでは最小の実行条件数のシミュレーションが実行されるものとの想定で説明を行うこととする。
【００５２】
評価範囲情報４１ａには７条件変数が存在する。このため、各条件変数の値の全組み合わせ数は７８１２５（＝５７）となる。しかし、上記のように計算式ごとに必要なシミュレーションを実行すると、シミュレーションの実行回数はより少なくなる。計算式ごとに必要なシミュレーションを実行するようにしているのは、このためである。
【００５３】
（１）式には６係数が存在する。６係数の値の算出では、少なくとも６回の実行条件の異なるシミュレーション結果を用いるのが望ましい。本実施形態では、より高い精度を得るために、候補として抽出する実行条件数は係数の数の倍以上としている。それにより、作成条件決定部４２は、（１）式を想定したライブラリ作成条件４３ａの候補として、例えば１２の実行条件を抽出する。同様に、（３）式には８係数が存在することから、（３）式を想定したライブラリ作成条件の候補としては、例えば１６の実行条件を抽出する。
【００５４】
以降、計算式ごとに候補として抽出される実行条件数は「候補条件数」と呼ぶことにする。候補条件数は、ライブラリ作成条件４３ａとして抽出される実行条件数となる。それにより、ライブラリ作成条件４３ａは、計算式ごとに候補条件数の実行条件を表すものとなっている。
【００５５】
計算式別のライブラリ作成条件４３ａ、つまり候補条件数の実行条件は、複数の候補条件数の実行条件のなかからシミュレーションの結果を用いて抽出される。実行条件の抽出は、例えば候補条件数の実行条件ごとに、シミュレーションの結果との誤差を評価し、誤差が最小となる各係数の値が算出される候補条件数の実行条件を特定することで行われる。作成条件決定部４２は、そのようにして、セルごと、計算式ごとに、より高い精度が得られる候補条件数の実行条件を特定し、その特定結果をライブラリ作成条件４３ａとして第１の記憶部４３に保存する。
【００５６】
各計算式における各係数の値の算出は、シミュレーション結果と最も良く合う計算式（回帰曲線）を求める操作（フィッティング）により行われる。フィッティングを行う方法は、特に限定するものではない。
【００５７】
候補条件数のシミュレーションの実行条件は、例えば各条件変数の値がそれぞれ同じように変化するように選択すれば良い。或いは、実行条件を選択するうえでの規則等を設けずに、ランダムに実行条件を選択するようにしても良い。誤差の評価方法としては、例えば誤差の二乗和平方根を求めて行うものがある。（１）式、（３）式は共に、標本値から求めた回帰方程式であることから、その回帰方程式の精度の尺度である決定係数（Ｒ２）を求めて誤差を評価しても良い。誤差の評価方法も特に限定するものではない。
【００５８】
上記のように各条件変数の値の数を全て５にしたとしても、シミュレーションの実行条件の数は多くなる。このため、全セルを対象に全実行条件（計算式別に特定される数の実行条件）のシミュレーションを実行すると、シミュレーションの実行に要する時間は非常に長くなる。このことから、本実施形態では、全セルのなかから選択した複数のセルのみを対象に、ライブラリ作成条件４３ａの作成、つまり（１）及び（３）式の各係数の値を算出するためのシミュレーションの実行条件群の抽出を行うようにしている。シミュレーションの実行回数を抑えることにより、ライブラリ４５ａの作成を、誤差の低下を抑えつつ、より短時間に行えるようにさせている。
【００５９】
本実施形態では、選択したセルごとに、シミュレーションの全実行条件分だけ、シミュレーションを実行させている。これは、全実行条件を対象に誤差の評価を行えるようにしたためである。誤差の評価を行うシミュレーションの実行条件は、制限しても良い。実行条件の制限を行うことにより、シミュレーションの実行回数はより少なくなることから、ライブラリ作成条件４３ａは、全セル、或いは比較的に重要なセルといったより多くのセルを対象にして作成するようにしても良い。
【００６０】
係数ライブラリ作成部４４は、第１の記憶部４３に保存されたライブラリ作成条件４３ａを参照し、セルごとに、（１）及び（３）式の各係数の値の算出、及び算出した各係数の値のライブラリ４５ａへの格納を行う。ライブラリ４５ａは、全てのセルの各係数の値が格納されることにより作成される。係数ライブラリ作成部４４は、作成したライブラリ４５ａを第２の記憶部４５に保存する。各係数の値は以降、「係数データ」とも表記する。（１）式用の係数データは「リーク係数データ」、（３）式用の係数データは「ダイナミック係数データ」と表記して区別する。「係数データ」は、区別する必要がない場合、或いは２種類の係数データの総称として用いる。
【００６１】
セルのリーク電力値は、上記したように、入力条件によって変化する（図１）。セルによっては、内部状態がリーク電力に影響を及ぼす。このようなことから、（１）式の各係数は、入力条件、及び内部状態ごとに算出される。それにより、（１）式用には、最小の実行条件数に入力条件数、及び内部状態数を掛けた数のシミュレーションを実行する必要が生じる。
【００６２】
一方、ダイナミック電力は、１入力信号の変化によって発生する。このことから、（３）式は、１入力信号と１出力信号の関係、つまりセルの１入力端子と１出力端子の関係（以降「入出力関係」と呼ぶ）を想定したものとなっている。
【００６３】
複数の出力端子を備えたセルでは、１入力信号の変化によって複数の出力信号が変化する場合がありうる。各出力信号の変化は、セルの内部状態、及び他の入力信号に依存するのが普通である。以降セルの他の入力信号（他の入力端子に入力される信号）は「状況条件」と呼ぶことにする。また、入力条件、入出力関係、或いは内部状態等の計算式の各係数の値を算出するうえで区別される状態は「論理状態」と総称する。
【００６４】
複数の出力信号が同時変化するセルでは、以下の手順により、対象とする１出力信号分を分離する。ここでは、説明は計ｎの出力信号が同時に変化する場合を想定して行う。
先ず、（３）式で考慮しない、ダイナミック電力に影響を及ぼす条件変数を選択し、同時に変化する出力信号のなかで選択した条件変数の値を変化させる１出力信号を決定し、（３）式の各係数の値を算出する。この時、算出される各係数はそれぞれＣｉｎｔ１＿ｉ、Ｋｓｔ１＿ｉ、Ｋｓｉ１＿ｉ、Ｋｃ１＿ｉ、Ｋｐ１＿ｉ、Ｋｖ１＿ｉ、及びＫｔ１＿ｉとする。これら各係数は、他の同時に変化する各出力信号でも同様に算出する。各係数の下添字の最後に位置するｉは１〜ｎの間の整数を表している。選択される条件変数は、例えば負荷容量Ｃｌｏａｄである。選択した条件変数では、上記のように、最大で５つの値を用いることができる。
【００６５】
同時に変化する全ての出力信号で各係数の値を算出した後は、それぞれ算出した各係数を用いて次式へのフィッティングを行い、この式中の係数Ｃｉｎｔ＿ａｌｌ、Ｋｓｔ２＿ｉ、Ｋｓｉ２＿ｉ（ｉ＝１，２，・・・，ｎ）の各値を算出する。
【００６６】
Ｑｄｙｎ＝Ｃｉｎｔ＿ａｌｌ・Ｖ＋ΣＫｓｔ２＿ｉ・（Ｋｃ１＿１＋
ｅｘｐ（Ｋｐ１＿ｉ・Ｐｃｈｉｐ＋Ｋｖ１＿ｉ・Ｖ＋Ｋｔ１＿ｉ／（Ｔｊ＋２７３）））
＋ΣＫｓｉ２＿ｉ・Ｔｓｉｎ・（Ｋｃ１＿１＋
ｅｘｐ（Ｋｐ１＿ｉ・Ｐｃｈｉｐ＋Ｋｖ１＿ｉ・Ｖ＋Ｋｔ１＿ｉ／（Ｔｊ＋２７３）））
・・・  （６）
（６）式は、（３）式の右辺第２項を展開し、各出力信号の影響を全て考慮するように変形したものである。係数Ｋｓｔ２＿ｉ、Ｋｓｉ２＿ｉ、は、各出力信号が影響する度合いの調整用となっている。（６）式により、入力信号と対応付ける１出力信号における（３）式の各係数の値は、以下のように求められる。
【００６７】
Ｃｉｎｔ  ＝  Ｃｉｎｔ＿ａｌｌ／ｎ        ・・・  （７）
Ｋｓｔ   ＝  Ｋｓｔ２＿ｉ                ・・・  （８）
Ｋｓｉ   ＝  Ｋｓｉ２＿ｉ                ・・・  （９）
Ｋｃ    ＝  Ｋｃ１＿ｉ                ・・・  （１０）
Ｋｐ    ＝  Ｋｐ１＿ｉ                ・・・  （１１）
Ｋｖ    ＝  Ｋｖ１＿ｉ                ・・・  （１２）
Ｋｔ    ＝  Ｋｔ１＿ｉ                ・・・  （１３）
上記のようなことから、係数ライブラリ作成部４４は、ダイナミック電力用の各係数を算出する場合、シミュレーションの結果を参照し、設定された入出力関係が指定する１入力端子における信号の変化により複数の出力信号が変化するか否か確認する。複数の出力信号が変化することを確認した場合に、（６）〜（１３）式を用いて（３）式の各係数の値を算出する。そのようにして、より高い評価精度を実現させている。
【００６８】
上記のようなフィッティングにより各係数の値を決定した（１）式、（３）式は共に、リーク電流値Ｉｌｅａｋ、及び消費電荷量Ｑｄｙｎを高精度に算出できることが確認された。（３）式では、１１のサンプル（実行条件が異なる１１回のシミュレーション結果）を用いたフィッティングの結果、シミュレーション結果との最大誤差が１１％、平均誤差が４．８％、決定係数（Ｒ２）が０．９９、の（３）式が得られた。このことから明らかなように、特に消費電荷量Ｑｄｙｎは、高精度に算出することができる。
【００６９】
（３）式は、２つの項を有する多項式となっている。（３）式の右辺第２項は、２つの因子を乗算する形となっている。この右辺第２項の第１因子は、定数Ｋｓｔの項と、係数Ｋｓｉに入力遷移時間Ｔｓｉｎを乗算する項の２つの項を有している。
【００７０】
本実施形態では、（３）式の前に、以下の（３’）式の各係数のフィッティングを同じ１１のサンプルから行い、計算される消費電荷量Ｑｄｙｎの誤差を評価したところ、最大誤差は６０％、平均誤差は１９％、決定係数（Ｒ２）は０，３４、という結果が得られた。
【００７１】
Ｑｄｙｎ＝Ｃｉｎｔ・Ｖ＋Ｋｓｉ・Ｔｓｉｎ・［Ｋｃ＋
ｅｘｐ(Ｋｐ・Ｐｃｈｉｐ＋Ｋｖ・Ｖ＋Ｋｔ／(Ｔｊ＋２７３))］
・・・  （３’）
（３’）式の右辺第２項の因子の一つである入力遷移時間Ｔｓｉｎは、上記のように極端に小さい。例えば、クロックを生成するセルからクロックを直接、入力するようなセルでは、入力遷移時間Ｔｓｉｎは極めて短いものとなる。そのようなセルでは、入力遷移時間Ｔｓｉｎを含む因子Ｋｓｉ・Ｔｓｉｎと乗算される因子［Ｋｃ＋ｅｘｐ(Ｋｐ・Ｐｃｈｉｐ＋Ｋｖ・Ｖ＋Ｋｔ／(Ｔｊ＋２７３))］の値は極端に大きいものとなる。この結果、右辺第２項における因子Ｋｓｉ・Ｔｓｉｎと因子［Ｋｃ＋ｅｘｐ(Ｋｐ・Ｐｃｈｉｐ＋Ｋｖ・Ｖ＋Ｋｔ／(Ｔｊ＋２７３))］の乗算では、桁落ちが生じ、誤差が大きくなりやすい。
【００７２】
このことから、本実施形態では、因子［Ｋｃ＋ｅｘｐ(Ｋｐ・Ｐｃｈｉｐ＋Ｋｖ・Ｖ＋Ｋｔ／(Ｔｊ＋２７３))］と乗算させる因子を因子Ｋｓｉ・Ｔｓｉｎから定数Ｋｓｔを追加した因子（Ｋｓｔ＋Ｋｓｉ・Ｔｓｉｎ）に変更している。その変更により、上記のように、誤差は大幅に低減させることができる。この結果、消費電荷量Ｑｄｙｎ、更にはダイナミック電流値Ｉｄｙｎを高精度に計算することができる。
【００７３】
なお、本実施形態では、入力遷移時間Ｔｓｉｎを含む因子を項として定数Ｋｓｔ（定数項）を追加しているが、定数項を追加する因子に含まれる条件変数（状態量）は入力遷移時間Ｔｓｉｎ以外であっても良い。その条件変数の数は２つ以上であっても良い。定数項は、極端に小さい値となる可能性のある条件変数を含む因子に必要に応じて追加すれば良い。
【００７４】
図６Ａは、リーク係数データの記述例を表す図であり、図６Ｂは、ダイナミック係数データの記述例を表す図である。図６Ａ及び図６Ｂの各記述例は共に、名称が「ＮＡＮＤ２」のセル（ＮＡＮＤゲート）のものである。このセル「ＮＡＮＤ２」は名称が「Ａ１」及び「Ａ２」の２つの入力端子、名称が「Ｘ」の１つの出力端子を備えている。
【００７５】
このセル「ＮＡＮＤ２」のリーク電力は、信号の入力条件、つまり各入力端子に入力される信号の組み合わせによって変化する。このことから、（１）式は、入力条件ごと（及び／或いは内部状態ごと）に用いられるものとなっている。それによりリーク係数データは、入力条件別に記述されている。図６Ａにおいて、「ＬＥＡＫ（Ａ１＝“Ｌ”，Ａ２＝“Ｌ”）」は、各入力端子Ａ１及びＡ２にレベルがＬの信号が入力される入力条件を表している。「ＬＥＡＫ（Ａ１＝“Ｈ”，Ａ２＝“Ｌ”）」は、入力端子Ａ１にレベルがＨの信号、入力端子Ａ２にレベルがＬの信号が入力される入力条件を表している。
【００７６】
上記したように、ダイナミック電力の計算用の（３）式は、１入力信号と１出力信号の間の入出力関係を想定したものとなっている。それにより、ダイナミック係数データは、入出力関係別に記述されている。図６Ｂにおいて、「ＤＹＮＡＭＩＣ（Ａ１，Ｘ）」は、入力端子Ａ１と出力端子Ｘの間の入出力関係を表している。「ＤＹＮＡＭＩＣ（Ａ１，Ｘ）」の記述に続く括弧内の「ＣＯＮＤＩＴＩＯＮ０１（Ａ２＝“Ｈ”）」は、入力端子Ａ１に入力される信号が変化する間に入力端子Ａ２にはレベルがＨ（論理値＝１）の信号が入力される状況条件を表している。同様に、「ＤＹＮＡＭＩＣ（Ａ２，Ｘ）」は、入力端子Ａ２と出力端子Ｘの入出力関係を表し、「ＤＹＮＡＭＩＣ（Ａ２，Ｘ）」に続く括弧内の「ＣＯＮＤＩＴＩＯＮ０１（Ａ１＝“Ｈ”）」は、入力端子Ａ１にはレベルがＨの信号が入力される状況条件を表している。ＮＡＮＤゲートは組み合わせ回路であるため、何れの状況条件にも内部状態は含まれていない。
【００７７】
上記のように、セルのリーク係数データ、及びダイナミック係数データは共に、入力条件、入出力関係、或いは内部状態等により区別される論理状態ごとに生成される。係数ライブラリ作成部４４は、例えば論理状態ごとに、ライブラリ作成条件４４が表す各実行条件でシミュレーションを実行し、係数データの生成、つまり各係数の値の算出を行う。それにより、図６Ａ及び図６Ｂにそれぞれ表すようなリーク係数データ、及びダイナミック係数データがセルごとにライブラリ４５ａに登録される。
【００７８】
このようにして、本実施形態によるライブラリ作成装置は、ライブラリ４５ａを作成する。ライブラリ４５ａに記述される係数データは、論理状態ごとに各係数の値のみを表すものとしている。これは、ライブラリ４５ａ全体のデータ量をより抑えるためである。言い換えれば、全セルに同じ計算式を適用していることから、各係数の値が判明すれば、消費電力を計算することができるためである。セルによって異なる計算式を適用可能にする場合、例えば各係数の値を含む計算式をライブラリ４５ａに記述するか、或いは適用する計算式を表す識別データを更にライブラリ４５ａに記述すれば良い。セルの種類によって適用する計算式を変える場合には、同様に各係数の値のみを論理状態ごとに記述することができる。
【００７９】
上記のように係数データがセルごとに記述されたライブラリ４５ａは、評価範囲情報４１ａが表すＰＶＴ条件の範囲内（ここでは他の複数の条件変数の各値域を含む）での消費電力の評価に用いることができる。このため、多くのライブラリ４５ａを用意しなくとも良い。ディレーティングファクタを定義したライブラリを用意する場合と比較して、用意すべきライブラリ４５ａの数は大幅に少なくすることができる。１ライブラリ４５ａのデータ量は従来から大幅に増大しない。このようなことから、従来と比較して、ライブラリの格納に必要なメモリ量も大幅に抑えつつ、幅広い範囲のＰＶＴ条件に対応できることとなる。
【００８０】
次に、消費電力評価装置に搭載された消費電力計算装置について詳細に説明する。
消費電力計算装置は、条件取得部４６、インスタンスごとの消費電力計算部４７、及びＬＳＩの消費電力計算部４８を備えた構成となっている。
【００８１】
条件取得部４６は、消費電力の評価に用いる計算条件４６ａを取得する。実際の条件取得部４６は、例えばユーザ（オペレータ）にＰＶＴ条件を含む計算条件４６ａを指定させる入力装置である。インスタンスごとの消費電力計算部４７は、消費電力を評価する対象となる半導体装置（以降「ＬＳＩ」と表記）の構成部品となっているセル（インスタンス）ごとに、消費電力を計算する。消費電力は、計算条件によって変化する。このことから、消費電力の計算は、ライブラリ４５ａ、及び条件取得部４６から入力した計算条件４６ａを参照して行われる。
【００８２】
消費電力、つまりリーク電力値、及びダイナミック電力値は、条件変数の値によって変化する。各条件変数の値は、計算条件４６ａとは別に与えられる。リーク電力値、及びダイナミック電力値の計算には、（１）〜（３）式が用いられる。このことから、計算条件４６ａは、プロセスのばらつきＰｃｈｉｐ、電源電圧Ｖ、ジャンクション温度Ｔｊ、入力遷移時間Ｔｓｉｎ、スイッチング時間Ｔｓｗ、を表すものとしている。プロセスのばらつきＰｏｃｖは計算条件４６ａに含めていない。これは、リーク電流値Ｉｌｅａｋとして、平均が０、標準偏差が１の正規分布に従うと想定し、プロセスのばらつきＰｏｃｖの値を変えて（１）式から得られた複数のリーク電流値Ｉｌｅａｋの平均値を用いるからである。リーク電流値Ｉｌｅａｋの平均値は以降「平均リーク電流値Ｉｌｅａｋａ」と表記する。プロセスのばらつきＰｏｃｖは計算条件４６ａに含めても良い。
【００８３】
リーク電力値、及びダイナミック電力値は、セルの論理状態によって変化する。このため、論理状態はインスタンスごとに設定される。それにより、インスタンスごとの消費電力計算部４７は、設定された論理状態での消費電力値をインスタンスごとに計算する。
【００８４】
インスタンスごとの論理状態の設定方法は、特に限定されるものではない。論理状態の設定は、論理シミュレーションの実行により行うことができる。それ以外としては、論理状態をランダムに設定する、論理状態を統計的に設定する、といった方法等が考えられる。統計的な方法とは、例えばセルごとに可能な論理条件を特定し、特定した論理条件ごとに、その論理条件となる確率を評価し、評価した確率に沿って、各セル（インスタンス）に論理状態を割り当てる、といったものが考えられる。入力遷移時間Ｔｓｉｎ、及び出力遷移時間Ｔｓｏｕｔの設定は、例えばタイミング検証のためのＳＴＡ（Static Timing Analysis）の結果を用いて行っても良い。
【００８５】
ライブラリ４５ａは、リーク電流値Ｉｌｅａｋ、消費電荷量Ｑｄｙｎ、及びダイナミック電流値Ｉｄｙｎをそれぞれ高精度に計算できる（１）〜（３）式を提供する。このため、インスタンスごとの消費電力計算部４７は、各インスタンスの設定された論理状態でのリーク電流値Ｉｌｅａｋ、消費電荷量Ｑｄｙｎ（ダイナミック電流値Ｉｄｙｎ）を高精度に算出することができる。インスタンスごとの消費電力計算部４７は、リーク電流値Ｉｌｅａｋ、及び消費電荷量Ｑｄｙｎをそれぞれ算出し、算出したリーク電流値Ｉｌｅａｋ、及び消費電荷量Ｑｄｙｎを用いて、インスタンス全体の消費電力値を計算する。インスタンス全体の消費電力値がＬＳＩの消費電力計算部４８に出力される。インスタンス全体の消費電力値には以降「Ｐｉｎｓｔ」を付して、他の消費電力値と区別する。
【００８６】
ＬＳＩの消費電力計算部４８は、インスタンスごとの消費電力計算部４７から入力するインスタンスごとの消費電力値Ｐｉｎｓｔを累算することにより、ＬＳＩ全体の消費電力値４９を算出する。上記したように、インスタンスごとのリーク電流値Ｉｌｅａｋ、消費電荷量Ｑｄｙｎ（ダイナミック電流値Ｉｄｙｎ）は高精度に算出することができる。このため、最終的に計算される消費電力値４９も高精度なものとなる。
【００８７】
図２に表す条件取得部４６、作成条件決定部４２、係数ライブラリ作成部４４、インスタンスごとの消費電力計算部４７及びＬＳＩの消費電力計算部４８は、上記のように動作する。図２に表す構成、つまり消費電力計算装置は、コンピュータ（データ処理装置）に専用のプログラムを実行させることによって実現される。
【００８８】
図１１は、本実施形態を適用可能なコンピュータのハードウェア構成の一例を示す図である。ここで図１１を参照して、消費電力計算装置として使用可能なコンピュータの構成例について具体的に説明する。
【００８９】
本実施形態によるプログラム（以降「消費電力評価プログラム」）は、例えば本実施形態によるライブラリ作成装置を実現させるサブプログラム（以降「ライブラリ作成プログラム」）、及び消費電力計算装置を実現させるサブプログラム（以降「消費電力計算プログラム」）を備えた構成である。本実施形態によるライブラリ作成装置は、ライブラリ作成プログラムをコンピュータに実行させることにより実現される。
【００９０】
図１１に構成を表すコンピュータは、ＣＰＵ７１、メモリ７２、入力装置７３、出力装置７４、外部記憶装置７５、媒体駆動装置７６、及びネットワーク接続装置７７を有し、これらがバス７９によって互いに接続された構成となっている。図１９に示す構成は一例であり、これに限定されるものではない。
【００９１】
ＣＰＵ７１は、当該コンピュータ全体の制御を行う。図１９には一つのみ示しているが、ＣＰＵ７１はコンピュータに複数、搭載されていても良い。
メモリ７２は、プログラム実行、データ更新等の際に、外部記憶装置７５（あるいは可搬型の記録媒体８０）に記憶されているプログラムあるいはデータを一時的に格納するＲＡＭ等の半導体メモリである。ＣＰＵ７１は、プログラムをメモリ７２に読み出して実行することにより、全体の制御を行う。
【００９２】
入力装置７３は、例えば、キーボード等の作業者が操作する操作装置、及びその操作への操作を検出する検出装置を備えたものか、或いは他のコンピュータである端末装置（例えばコンソール）と接続するためのインターフェースである。前者の場合、入力装置７３は、操作装置へのオペレータの操作を検出し、その検出結果をＣＰＵ７１に通知する。後者の場合、入力装置７３は、端末装置を介したオペレータの指示を受信し、その指示内容をＣＰＵ７１に通知する。ここでは便宜的に、前者を入力装置７３として想定する。
【００９３】
出力装置７４は、例えば表示装置、及びその表示装置と接続された表示制御装置を備えたものである。図２に表すライブラリ作成条件４３ａ、ライブラリ４５ａ及び消費電力値４９は、出力装置７４の表示装置上に表示可能である。外部記憶装置７５は、例えばフラッシュメモリ、或いはハードディスク装置等の大容量の記憶装置である。主に各種データやプログラムの保存に用いられる。
【００９４】
媒体駆動装置７６は、メモリカード等の可搬型の記録媒体８０にアクセスするものである。ネットワーク接続装置７７は、例えば通信ネットワークを介した不図示の外部装置との通信を可能とさせるものである。シミュレーションの実行、消費電力の計算には、半導体装置（ＬＳＩ）の設計データ（例えばセル間の接続状態を記述したネットリスト）、各セルの詳細データ（シミュレーション用のデータ）が必要である。これらのデータが外部装置に保存されている場合、それらのデータの取得はこのネットワーク接続装置７７を用いて行うことができる。
【００９５】
消費電力評価プログラムは、外部記憶装置７５、若しくは記録媒体８０に記録されているか、或いは通信ネットワークを介してネットワーク接続装置７７により取得される。本実施形態によるライブラリ作成装置は、消費電力評価プログラムをメモリ７２に読み出してＣＰＵ７１が実行することにより、実現可能となる。
【００９６】
図１１に示す構成では、図２に表す情報取得部４１、作成条件決定部４２、係数ライブラリ作成部４４、インスタンスごとの消費電力計算部４７及びＬＳＩの消費電力計算部４８は以下の組み合わせにより実現される。ここでは便宜的に、消費電力評価プログラムが外部記憶装置７５に格納され、作成したデータは外部記憶装置７５に保存されると想定する。また、消費電力の評価の対象となるＬＳＩ（半導体装置）のデータ、及びシミュレーションの実行に必要な各セルの詳細データ等の消費電力の評価に必要な他のデータも全て外部記憶装置７５に保存されていると想定する。
【００９７】
この想定では、情報取得部４１、作成条件決定部４２、及びインスタンスごとの消費電力計算部４７は共に、例えばＣＰＵ７１、メモリ７２、入力装置７３、外部記憶装置７５、及びバス７９によって実現される。係数ライブラリ作成部４４、及びＬＳＩの消費電力計算部４８は共に、例えばＣＰＵ７１、メモリ７２、外部記憶装置７５、及びバス７９によって実現される。第１及び第２の記憶部４３及び４５は共に、例えば外部記憶装置７５である。
【００９８】
ライブラリの作成において、入力装置７３は、ライブラリ作成プログラムの起動の他に、評価範囲情報４１ａの入力、或いは指定に用いられる。また、例えばライブラリを作成すべきＬＳＩ（例えばネットリスト）の指定、ライブラリ４５ａの作成指示等に用いられる。その作成指示により、例えば作成条件決定部４２はライブラリ作成条件４３ａを作成し、係数ライブラリ作成部４４は作成されたライブラリ作成条件４３ａに従ってライブラリ４５ａを自動的に作成する。このことから、入力装置７３は、情報取得部４１及び作成条件決定部４２を実現させる１構成要素となるが、係数ライブラリ作成部４４を実現させる１構成要素とはならない。
【００９９】
消費電力値４９の計算において、入力装置７３は、消費電力計算プログラムの起動の他に、ＰＶＴ条件４６ａの入力あるいは指定に用いられる。また、例えば消費電力値４９を計算すべきＬＳＩ（例えばネットリスト）、ライブラリ４５ａ及びＰＶＴ条件４６ａ等の各種指定、並びに消費電力値４９の計算指示等に用いられる。その計算指示により、インスタンスごとの消費電力計算部４７は、指定されたＰＶＴ条件４６ａで指定されたライブラリ４５ａを用いて指定されたＬＳＩの各インスタンスの消費電力値Ｐｉｎｓｔを算出する。ＬＳＩの消費電力計算部４８は、例えば各インスタンスの消費電力値Ｐｉｎｓｔを用いて消費電力値４９を自動的に計算する。このことから、入力装置７３は、条件取得部４６及びインスタンスごとの消費電力計算部４７を実現させる１構成要素となるが、ＬＳＩの消費電力計算部４８を実現させる１構成要素とはならない。計算した消費電力値４９の保存先、或いは出力先等が入力装置７３への操作により指定可能であれば、入力装置７３もＬＳＩの消費電力計算部４８を実現させる１構成要素となる。
【０１００】
消費電力評価プログラムは、コンピュータに以下のような処理を実行させることにより、情報取得部４１、作成条件決定部４２、係数ライブラリ作成部４４、インスタンスごとの消費電力計算部４７及びＬＳＩの消費電力計算部４８を実現させる。次に、図７〜図１０に表す各フローチャートを参照して、消費電力評価プログラムによりコンピュータが実行する各処理について具体的に説明する。
【０１０１】
図７は、ライブラリ作成条件決定処理のフローチャートである。始めに図７を参照して、ライブラリ作成条件決定処理について詳細に説明する。このライブラリ作成条件決定処理は、ライブラリ作成条件４３ａを作成するために実行される処理である。図７には、例えばライブラリを作成すべきＬＳＩ（例えばネットリスト）の指定等が行われた後のライブラリ４５ａの作成指示によって実行される部分を表している。作成条件決定部４２は、コンピュータ（に搭載されたＣＰＵ７１）がライブラリ作成条件決定処理を実行することにより実現される。
【０１０２】
先ず、ステップＳ１１では、コンピュータは、オペレータの入力装置７３への操作によって入力、或いは指定された評価範囲情報４１ａを取得し、ライブラリ作成条件４３ａを決定するうえで評価対象とするセルを複数、選択する。セルの選択は、セルの他のライブラリ、或いは指定されたＬＳＩ（例えばネットリスト）を参照して行われる。次のステップＳ１２では、コンピュータは、条件変数ごとに、取得した評価範囲情報４１ａが表す値域から刻み幅を決定することにより、各条件変数の値の組を特定する。その後は、ステップＳ１３に移行し、コンピュータは、選択した各セルで消費電流を求めるシミュレーションを実行する。各セルのシミュレーションは、計算式ごと、各条件変数の値の組み合わせごとに実行される。セルの論理状態は複数、考慮しても良いが、１セルに１論理状態のみ考慮しても良い。シミュレーションを全て実行した後はステップＳ１４に移行する。
【０１０３】
ステップＳ１４では、コンピュータは、計算式、及びセルごとに、候補条件数のシミュレーションの実行条件を候補としてピックアップする。次のステップＳ１５では、コンピュータは、計算式、及びセルごとに、ピックアップした実行条件の各シミュレーション結果を用いて各係数の値を算出し、算出した各係数の値を代入した計算式とシミュレーション結果との間の誤差を評価する。
【０１０４】
誤差の評価後はステップＳ１６に移行し、コンピュータは、予め定めた回数（ピックアップ回数）分、処理を繰り返したか否か判定する。ピックアップ回数分、ステップＳ１４及びＳ１５の処理、つまりピックアップした実行条件のシミュレーション結果を用いた各係数の値の算出、及び誤差の評価を行った場合、Ｓ１６の判定はＹＥＳとなり、ステップＳ１７に移行する。ピックアップ回数分、ステップＳ１４及びＳ１５の処理を行っていない場合、Ｓ１６の判定はＮＯとなってステップＳ１４に戻る。それにより、コンピュータは、ステップＳ１４において、計算式、及びセルごとに、候補条件数の異なる実行条件の組み合わせを候補としてピックアップする。この場合のピックアップは、前回ピックアップした全ての実行条件を変更するように行っても良いが、一部の実行条件のみを変更するように行っても良い。このようなことから、２回目以降の実行条件のピックアップに採用する方法も、特に限定されるものではない。
【０１０５】
ステップＳ１７では、コンピュータは、計算式、及びセルごとにピックアップ回数分得られた誤差を比較して、最も小さい誤差を特定し、特定した誤差が得られるシミュレーションの実行条件の組み合わせをライブラリ作成条件４３ａとして決定する。その後、コンピュータはこのライブラリ作成条件決定処理を終了する。
【０１０６】
図８は、リーク係数データ登録処理のフローチャートであり、図９は、ダイナミック係数データ登録処理のフローチャートである。リーク係数データ登録処理は、セルごとに、（１）式の各係数の値を表すリーク係数データをライブラリ４５ａに登録するための処理である。ダイナミック係数データ登録処理は、セルごとに、（３）式の各係数の値を表すダイナミック係数データをライブラリ４５ａに登録するための処理である。
【０１０７】
図８及び図９には共に、１セルの１論理状態分の係数データをライブラリ４５ａに登録するために実行される処理を抽出して表している。しかし実際には、リーク係数データ登録処理、及びダイナミック係数データ登録処理は、各セルで各論理状態ごとに係数データをライブラリ４５ａに登録するものとなっている。例えば、これらリーク係数データ登録処理、及びダイナミック係数データ登録処理は共に、同じサブルーチン処理内で実行される。このサブルーチン処理（以降「係数ライブラリ作成処理」）は、例えばライブラリ４５ａを新たに作成した後、リーク係数データ登録処理、及びダイナミック係数データ登録処理を実行する。それにより、リーク係数データ登録処理、及びダイナミック係数データ登録処理により生成された係数データは、新たに作成されたライブラリ４５ａに登録される。このようなことから、係数ライブラリ作成部４４は、コンピュータが係数ライブラリ作成処理を実行することで実現される。ここでは、始めに図８を参照して、リーク係数データ登録処理について詳細に説明する。
【０１０８】
先ず、ステップＳ２１では、コンピュータは現在、対象としているセルの論理状態（入力条件、及び内部状態等）を設定する。続くステップＳ２２では、コンピュータはライブラリ作成条件４３ａを参照し、シミュレーションの実行条件を設定する。（１）式には、条件変数として、各プロセスのばらつきＰｃｈｉｐ、Ｐｏｃｖ、電源電圧Ｖ、及びジャンクション温度Ｔｊが存在する。このことから、ステップＳ２２の実行により、各プロセスのばらつきＰｃｈｉｐ、Ｐｏｃｖ、電源電圧Ｖ、及びジャンクション温度Ｔｊの各値がシミュレーションの実行条件として設定される。
【０１０９】
ステップＳ２２に続くステップＳ２３では、コンピュータは、設定された実行条件でシミュレーションを実行し、リーク電流を測定する。次に移行するステップＳ２４では、（１）式用にライブラリ作成条件４３ａに登録された全実行条件でシミュレーションを実行したか否か判定する。他にシミュレーションを実行すべき実行条件が残っていない場合、Ｓ２４の判定はＹＥＳとなり、ステップＳ２５に移行する。他にシミュレーションを実行すべき実行条件が残っている場合、Ｓ２４の判定はＮＯとなって上記ステップＳ２２に戻る。
【０１１０】
ステップＳ２５では、コンピュータは、シミュレーションの全実行結果、つまり測定した全リーク電流を用いて（１）式の各係数の値を算出し、算出した各係数の値を、対象とするセルの１論理状態の係数データとしてライブラリ４５ａに登録する。その後、図８に表す部分のリーク係数データ登録処理を終了する。
【０１１１】
上記ステップＳ２２を再度実行するコンピュータは、（１）式用にライブラリ作成条件４３ａに登録された全実行条件のなかから、シミュレーションを実行していない実行条件を選択して設定する。このため、ステップＳ２２〜Ｓ２４で形成される処理ループをステップＳ２４の判定がＹＥＳとなるまで繰り返し実行することにより、１セルの１論理状態のリーク係数データを生成するために実行すべきシミュレーションが全て実行される。
【０１１２】
次に、図９を参照して、ダイナミック係数データ登録処理について詳細に説明する。
先ず、ステップＳ３１では、コンピュータは現在、対象としているセルの論理状態（入出力関係、内部状態、及び状況条件等）を設定する。続くステップＳ３２では、コンピュータはライブラリ作成条件４３ａを参照し、シミュレーションの実行条件を設定する。（３）式には、条件変数として、プロセスのばらつきＰｃｈｉｐ、電源電圧Ｖ、入力遷移時間Ｔｓｉｎ、及びジャンクション温度Ｔｊが存在する。（２）式には、条件変数としてスイッチング時間Ｔｓｗが存在する。このことから、ステップＳ３２の実行により、プロセスのばらつきＰｃｈｉｐ、電源電圧Ｖ、入力遷移時間Ｔｓｉｎ及びスイッチング時間Ｔｓｗ（動作周波数ｆ）、並びにジャンクション温度Ｔｊの各値がシミュレーションの実行条件として設定される。
【０１１３】
ステップＳ３２に続くステップＳ３３では、コンピュータは、設定された実行条件でシミュレーションを実行し、１スイッチング時間Ｔｓｗの平均電流値、レベルを変化させる信号がＬ或いはＨとなっている各状態でのリーク電流値を測定する。次のステップＳ３４では、コンピュータは、ステップＳ３３の測定結果を用いてダイナミック電流値を計算する。ダイナミック電流値の計算は、例えば１スイッチング時間Ｔｓｗの平均電流値から、レベルを変化させる信号がＬ或いはＨとなっている各状態でのリーク電流値分、及び負荷６０への充電分（負荷６０に蓄えられる最大の電荷＝Ｃｌｏａｄ・Ｖ）を引くことで行われる。そのようにしてダイナミック電流値を計算した後はステップＳ３５に移行する。
【０１１４】
ステップＳ３５では、コンピュータは、（３）式用にライブラリ作成条件４３ａに登録された全実行条件でシミュレーションを実行したか否か判定する。他にシミュレーションを実行すべき実行条件が残っていない場合、Ｓ３５の判定はＹＥＳとなり、ステップＳ３６に移行する。他にシミュレーションを実行すべき実行条件が残っている場合、Ｓ３５の判定はＮＯとなって上記ステップＳ３２に戻る。
【０１１５】
ステップＳ３６では、コンピュータは、シミュレーションの全実行結果を用いて（３）式の各係数の値を算出し、算出した各係数の値を、対象とするセルの１論理状態の係数データとしてライブラリ４５ａに登録する。その後、図９に表す部分のダイナミック係数データ登録処理を終了する。
【０１１６】
上記ステップＳ３２を再度、実行するコンピュータは、（３）式用にライブラリ作成条件４３ａに登録された全実行条件のなかからシミュレーションを実行していない実行条件を選択して設定する。このため、ステップＳ３２〜Ｓ３５で形成される処理ループをステップＳ３５の判定がＹＥＳとなるまで繰り返し実行することにより、１セルの１論理状態のダイナミック係数データを生成するために実行すべきシミュレーションが全て実行される。
【０１１７】
図８及び図９に表す部分の処理は、同一のセルで論理状態ごとに繰り返し実行される。その結果、１セルの係数データが論理状態ごとにライブラリ４５ａに登録される。各セルで同様の処理が繰り返し実行されることにより、各セルの係数データを論理状態ごとに登録したライブラリ４５ａの作成が完了する。ライブラリ４５ａの完了後、係数ライブラリ作成処理が終了する。
【０１１８】
図１０は、消費電力計算処理のフローチャートである。この消費電力計算処理は、ライブラリ４５ａを用いてＬＳＩの消費電力値を計算するための処理であり、上記消費電力計算プログラムによって実現される。インスタンスごとの消費電力計算部４７及びＬＳＩの消費電力計算部４８は、コンピュータが消費電力計算処理を実行することで実現される。
【０１１９】
先ず、ステップＳ４１では、コンピュータは、オペレータの入力装置７３への操作に従い、各種設定を行う。例えばオペレータは、入力装置７３を操作して、消費電力を評価させるＬＳＩ（例えばネットリスト）、計算条件（ＰＶＴ（プロセスのばらつきＰｃｈｉｐ、電源電圧Ｖ及びジャンクション温度Ｔｊ）条件、入力遷移時間Ｔｓｉｎ、等）４６ａ、動作周波数ｆ、及び消費電力の評価に用いるべきライブラリ４５ａ等を指定する。それにより、各種設定は、これらの指定内容に従って行われる。各種設定を行った後は、ステップＳ４２に移行する。スイッチング時間Ｔｓｗは動作周波数ｆの逆数に相当する。
【０１２０】
ステップＳ４２では、コンピュータは、例えばネットリストを参照し、インスタンスごとに動作情報を設定する。全てのインスタンスに動作情報を設定した後はステップＳ４３に移行する。
【０１２１】
動作情報は、計算条件４６ａ以外にインスタンスの消費電力の評価に必要な情報である。具体的には、動作率α、及び負荷容量Ｃｌｏａｄが含まれる。
動作率αは、対応するインスタンスが動作する割合を表す情報であり、例えば０〜１の間の値である。動作率αは、論理シミュレーションの結果などを用いて、インスタンスごとに設定（算出）しても良いが、ＬＳＩのブロックごと、或いは／及び、セルとして採用された回路の種類（組み合わせ回路、順序回路、及びクロック源などによって区別される種類）ごとに設定しても良い。動作率αを設定する対象は、例えば消費電力の評価に要求される精度に応じて選択すれば良い。対象が複数のインスタンスであった場合、平均値等の動作率αを算出し、各インスタンスに割り当てるといった方法を用いることができる。
【０１２２】
ステップＳ４３では、コンピュータは、インスタンスごとに、設定された計算条件４６ａ及び動作情報を用いてライブラリ４５ａを参照することにより、（１）式および（３）式から平均リーク電流値Ｉｌｅａｋａ、及び消費電荷量Ｑｄｙｎをそれぞれ計算する。次のステップＳ４４では、コンピュータは、インスタンスごとに、計算した平均リーク電流値Ｉｌｅａｋａ、及び消費電荷量Ｑｄｙｎを用いて消費電力値Ｐｉｎｓｔを計算する。消費電力値Ｐｉｎｓｔの計算は、例えば以下の計算式を用いて行われる。
【０１２３】
Ｐｉｎｓｔ＝（Ｉｌｅａｋａ＋（Ｑｄｙｎ＋Ｃｌｏａｄ・Ｖ）・ｆ・α）・Ｖ    ・・・  （１４）
（１４）式を用いて全インスタンスの消費電力値Ｐｉｎｓｔを計算した後はステップＳ４５に移行し、コンピュータは、インスタンスごとに得られた消費電力値Ｐｉｎｓｔを累算することにより、ＬＳＩ全体の消費電力値４９を計算する。計算した消費電力値４９を保存、或いは出力した後、この消費電力計算処理が終了する。
【０１２４】
このようにして、指定されたＬＳＩの消費電力値４９は、ライブラリ４５ａを用いて計算される。ライブラリ４５ａは評価範囲情報４１ａが表すＰＶＴ条件の範囲に対応したものである。このため、例えば計算条件４６ａのみを異ならせて消費電力値４９を計算させる場合には、計算条件４６ａの指定を変更すれば、変更後の計算条件４６ａでの消費電力値４９を迅速、且つ高精度に得ることができる。
【０１２５】
本実施形態では、ＬＳＩの消費電力値４９の計算に用いるライブラリ４５ａを指定可能とさせている。これは、ライブラリ４５ａを新たに作成させることなく、異なる計算条件４６ａにおけるＬＳＩの消費電力値４９を計算できるようにするためである。
【０１２６】
なお、本実施形態では、ライブラリ４５ａの作成、及びＬＳＩ（半導体装置）の消費電力値４９の計算はそれぞれ別々に行うようにしているが、ライブラリ４５ａの作成、及びＬＳＩの消費電力値４９の計算を連続して行えるようにしても良い。ライブラリ４５ａは、与えられた１評価範囲情報４１ａで１つ作成するようにしているが、１評価範囲情報４１ａが表す範囲の大きさによっては複数のライブラリ４５ａを作成するようにしても良い。そのように複数のライブラリ４５ａを作成する場合、ライブラリ４５ａの作成に要する時間はより長くなるが、消費電力の評価精度はより向上させることができる。
【符号の説明】
【０１２７】
４１    情報取得部
４１ａ    評価範囲情報
４２    作成条件決定部
４３    第１の記憶部
４３ａ    ライブラリ作成条件
４４    係数ライブラリ作成部
４５    第２の記憶部
４５    ライブラリ
４６    条件取得部
４６ａ    計算条件
４７    インスタンスごとの消費電力計算部
４８    ＬＳＩの消費電力計算部
４９    消費電力値
【図１】
0005821240.tif 000002
【図２】
0005821240.tif 000003
【図３】
0005821240.tif 000004
【図４】
0005821240.tif 000005
【図５】
0005821240.tif 000006
【図６Ａ】
0005821240.tif 000007
【図６Ｂ】
0005821240.tif 000008
【図７】
0005821240.tif 000009
【図８】
0005821240.tif 000010
【図９】
0005821240.tif 000011
【図１０】
0005821240.tif 000012
【図１１】
0005821240.tif 000013