(57)【要約】【課題】集積回路の最大リーク電流値を高速に算出すること。【解決手段】各部分回路群に含まれる全部分回路のリーク電流値の最大値どうしを合計した仮リーク最大値と部分回路群ごとの部分回路群情報に含まれるリーク電流値の最大値との差分であるリーク差分値を、部分回路群ごとに算出する手段と、リーク差分値に基づいて、部分回路群から１の部分回路群を選択する手段と、１の部分回路群の部分回路群情報に含まれる入力信号のパターンを限定する手段と、入力信号のパターンが限定された１の部分回路群の部分回路群情報を、部分回路ごとの部分回路情報に追加し、１の部分回路群に含まれる部分回路の部分回路情報を、部分回路ごとの部分回路情報から削除して、部分回路情報を更新する手段と、処理回数が所定の回数に到達したときに、部分回路情報に含まれる部分回路ごとのリーク電流値の情報を用いて、集積回路の最大リーク電流値を算出する手段とを備える。【選択図】図２
2010218289.tif 000002
【特許請求の範囲】
【請求項１】
集積回路におけるリーク電流値を算出するリーク電流算出プログラムであって、
前記集積回路を構成する部分回路ごとに、入力信号のパターンと、当該入力信号のパターンに対して発生するリーク電流値とを対応付けた部分回路情報を取得する取得手順と、
前記取得手順によって取得された部分回路ごとの部分回路情報に基づいて、互いに接続された前記部分回路である部分回路群ごとに、当該部分回路群に含まれる部分回路と、入力信号のパターンと、当該入力信号のパターンに対して発生するリーク電流値とを対応付けた部分回路群情報を生成する生成手順と、
各前記部分回路群に含まれる全部分回路のリーク電流値の最大値どうしを合計して得られる仮リーク最大値と、前記部分回路群ごとの部分回路群情報に含まれるリーク電流値の最大値との差分であるリーク差分値を、前記部分回路群ごとに算出するリーク差分値算出手順と、
前記リーク差分値算出手順によって算出されたリーク差分値に基づいて、前記部分回路群から１の部分回路群を選択する選択手順と、
前記選択手順によって選択された１の部分回路群の部分回路群情報に含まれる入力信号のパターンを、上位のリーク電流値に対応する入力信号のパターンに限定する限定手順と、
前記限定手順によって入力信号のパターンが限定された前記１の部分回路群の部分回路群情報を、前記部分回路ごとの部分回路情報に追加すると共に、前記１の部分回路群に含まれる部分回路の部分回路情報を、前記部分回路ごとの部分回路情報から削除することで、前記取得手順によって取得された部分回路情報を更新する更新手順と、
前記更新手順による処理回数が所定の回数に到達するまで、前記各手順に繰り返し処理を実行させる処理制御手順と、
前記更新手順による処理回数が所定の回数に到達したときに、前記更新手順によって更新された部分回路情報に含まれる部分回路ごとのリーク電流値の情報を用いて、前記集積回路の最大リーク電流値を算出する最大リーク電流算出手順と
をコンピュータに実行させることを特徴とするリーク電流算出プログラム。
【請求項２】
前記生成手順は、一入力多出力のツリー状に互いに接続された部分回路である部分回路群の部分回路群情報を、他の部分回路群の部分回路群情報に優先して生成することを特徴とする請求項１に記載のリーク電流算出プログラム。
【請求項３】
前記生成手順は、多入力一出力のツリー状に互いに接続された部分回路である部分回路群の部分回路群情報を、他の部分回路群の部分回路群情報に優先して生成することを特徴とする請求項１又は２に記載のリーク電流算出プログラム。
【請求項４】
集積回路におけるリーク電流値を算出するリーク電流算出装置であって、
前記集積回路を構成する部分回路ごとに、入力信号のパターンと、当該入力信号のパターンに対して発生するリーク電流値とを対応付けた部分回路情報を取得する取得手段と、
前記取得手段によって取得された部分回路ごとの部分回路情報に基づいて、互いに接続された前記部分回路である部分回路群ごとに、当該部分回路群に含まれる部分回路と、入力信号のパターンと、当該入力信号のパターンに対して発生するリーク電流値とを対応付けた部分回路群情報を生成する生成手段と、
各前記部分回路群に含まれる全部分回路のリーク電流値の最大値どうしを合計して得られる仮リーク最大値と、前記部分回路群ごとの部分回路群情報に含まれるリーク電流値の最大値との差分であるリーク差分値を、前記部分回路群ごとに算出するリーク差分値算出手段と、
前記リーク差分値算出手段によって算出されたリーク差分値に基づいて、前記部分回路群から１の部分回路群を選択する選択手段と、
前記選択手段によって選択された１の部分回路群の部分回路群情報に含まれる入力信号のパターンを、上位のリーク電流値に対応する入力信号のパターンに限定する限定手段と、
前記限定手段によって入力信号のパターンが限定された前記１の部分回路群の部分回路群情報を、前記部分回路ごとの部分回路情報に追加すると共に、前記１の部分回路群に含まれる部分回路の部分回路情報を、前記部分回路ごとの部分回路情報から削除することで、前記取得手段によって取得された部分回路情報を更新する更新手段と、
前記更新手段による処理回数が所定の回数に到達するまで、前記各手段に繰り返し処理を実行させる処理制御手段と、
前記更新手段による処理回数が所定の回数に到達したときに、前記更新手段によって更新された部分回路情報に含まれる部分回路ごとのリーク電流値の情報を用いて、前記集積回路の最大リーク電流値を算出する最大リーク電流算出手段と
を備えたことを特徴とするリーク電流算出装置。
【請求項５】
集積回路におけるリーク電流値を算出するリーク電流算出方法であって、
前記集積回路を構成する部分回路ごとに、入力信号のパターンと、当該入力信号のパターンに対して発生するリーク電流値とを対応付けた部分回路情報を取得する取得ステップと、
前記取得ステップによって取得された部分回路ごとの部分回路情報に基づいて、互いに接続された前記部分回路である部分回路群ごとに、当該部分回路群に含まれる部分回路と、入力信号のパターンと、当該入力信号のパターンに対して発生するリーク電流値とを対応付けた部分回路群情報を生成する生成ステップと、
各前記部分回路群に含まれる全部分回路のリーク電流値の最大値どうしを合計して得られる仮リーク最大値と、前記部分回路群ごとの部分回路群情報に含まれるリーク電流値の最大値との差分であるリーク差分値を、前記部分回路群ごとに算出するリーク差分値算出ステップと、
前記リーク差分値算出ステップによって算出されたリーク差分値に基づいて、前記部分回路群から１の部分回路群を選択する選択ステップと、
前記選択ステップによって選択された１の部分回路群の部分回路群情報に含まれる入力信号のパターンを、上位のリーク電流値に対応する入力信号のパターンに限定する限定ステップと、
前記限定ステップによって入力信号のパターンが限定された前記１の部分回路群の部分回路群情報を、前記部分回路ごとの部分回路情報に追加すると共に、前記１の部分回路群に含まれる部分回路の部分回路情報を、前記部分回路ごとの部分回路情報から削除することで、前記取得ステップによって取得された部分回路情報を更新する更新ステップと、
前記更新ステップによる処理回数が所定の回数に到達するまで、前記各ステップに繰り返し処理を実行させる処理制御ステップと、
前記更新ステップによる処理回数が所定の回数に到達したときに、前記更新ステップによって更新された部分回路情報に含まれる部分回路ごとのリーク電流値の情報を用いて、前記集積回路の最大リーク電流値を算出する最大リーク電流算出ステップと
を含んだことを特徴とするリーク電流算出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リーク電流算出プログラム、リーク電流算出装置及びリーク電流算出方法に関し、例えば、集積回路の最大リーク電流値を高速に算出することができるリーク電流算出プログラム、リーク電流算出装置及びリーク電流算出方法に関する。
【背景技術】
【０００２】
近年、集積回路の高集積化に伴って、集積回路を構成するセルの微細化が進んでいる。一般に、セルの微細化は、集積回路のリーク電流を増大させる。リーク電流が増大すると、集積回路の消費電力や発熱量が増大し、集積回路自体が損傷する恐れがある。
【０００３】
そこで、従来より、集積回路を設計する際には、集積回路のリーク電流を事前に算出することが行われており、特に、リーク電流の最大値である最大リーク電流値を算出することが行われていた。具体的には、ＳＡ（Ｓｉｍｕｌａｔｅｄ  Ａｎｎｅａｌｉｎｇ）法、分岐限定法、モンテカルロ法等の公知の計算手法を用いて、集積回路の最大リーク電流値を算出していた。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−７１３６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記した従来技術では、高集積化された集積回路の最大リーク電流を算出するための計算時間が長くなるという問題があった。例えば、モンテカルロ法を用いた従来技術では、回路内のセルに対する入力信号の値を乱数で決定し、この値に対応するリーク電流の値を求める処理を繰り返すが、集積回路にセルを多く配置するほど、上記処理の繰り返し回数が増大するため、多大な計算時間が費やされる。
【０００６】
開示の技術は、上記に鑑みてなされたものであって、集積回路の最大リーク電流値を高速に算出することができるリーク電流算出プログラム、リーク電流算出装置及びリーク電流算出方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するため、リーク電流算出プログラムは、集積回路を構成する部分回路ごとに、入力信号のパターンと、当該入力信号のパターンに対して発生するリーク電流値とを対応付けた部分回路情報を取得する取得手順と、前記取得手順によって取得された部分回路ごとの部分回路情報に基づいて、互いに接続された前記部分回路である部分回路群ごとに、当該部分回路群に含まれる部分回路と、入力信号のパターンと、当該入力信号のパターンに対して発生するリーク電流値とを対応付けた部分回路群情報を生成する生成手順と、各前記部分回路群に含まれる全部分回路のリーク電流値の最大値どうしを合計して得られる仮リーク最大値と、前記部分回路群ごとの部分回路群情報に含まれるリーク電流値の最大値との差分であるリーク差分値を、前記部分回路群ごとに算出するリーク差分値算出手順と、前記リーク差分値算出手順によって算出されたリーク差分値に基づいて、前記部分回路群から１の部分回路群を選択する選択手順と、前記選択手順によって選択された１の部分回路群の部分回路群情報に含まれる入力信号のパターンを、上位のリーク電流値に対応する入力信号のパターンに限定する限定手順と、前記限定手順によって入力信号のパターンが限定された前記１の部分回路群の部分回路群情報を、前記部分回路ごとの部分回路情報に追加すると共に、前記１の部分回路群に含まれる部分回路の部分回路情報を、前記部分回路ごとの部分回路情報から削除することで、前記取得手順によって取得された部分回路情報を更新する更新手順と、前記更新手順による処理回数が所定の回数に到達するまで、前記各手順に繰り返し処理を実行させる処理制御手順と、前記更新手順による処理回数が所定の回数に到達したときに、前記更新手順によって更新された部分回路情報に含まれる部分回路ごとのリーク電流値の情報を用いて、前記集積回路の最大リーク電流値を算出する最大リーク電流算出手順とをコンピュータに実行させる。
【発明の効果】
【０００８】
本願の開示するリーク電流算出プログラムの一つの態様によれば、集積回路の最大リーク電流を高速に算出することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、本実施例に係るリーク電流算出装置の概要を説明するための図である。
【図２】図２は、本実施例に係るリーク電流算出装置の構成を説明するためのブロック図である。
【図３−１】図３−１は、部分回路情報記憶部に記憶された部分回路情報の一例を説明するための図である。
【図３−２】図３−２は、部分回路情報記憶部に記憶された部分回路情報の一例を説明するための図である。
【図４】図４は、部分回路接続情報によって表現される集積回路の一例を説明するための図である。
【図５−１】図５−１は、部分回路群情報記憶部に記憶された部分回路群情報の一例を説明するための図である。
【図５−２】図５−２は、部分回路群情報記憶部に記憶された部分回路群情報の一例を説明するための図である。
【図６】図６は、選択基準値情報記憶部に記憶された選択基準値情報の一例を説明するための図である。
【図７】図７は、部分回路群情報生成部による処理について説明するための図である。
【図８】図８は、部分回路群情報生成部による処理について説明するための図である。
【図９】図９は、入力信号パターン限定部による処理について説明するための図である。
【図１０−１】図１０−１は、部分回路情報更新部による処理について説明するための図である。
【図１０−２】図１０−２は、部分回路情報更新部による処理について説明するための図である。
【図１１】図１１は、本実施例に係るリーク電流算出装置によるリーク電流算出処理の処理手順を示すフローチャートである。
【図１２】図１２は、リーク電流算出プログラムを実行するコンピュータを説明するための図である。
【発明を実施するための形態】
【００１０】
以下に、本願の開示するリーク電流算出プログラム、リーク電流算出装置及びリーク電流算出方法の実施例を図面に基づいて詳細に説明する。
【実施例】
【００１１】
まず、本実施例に係るリーク電流算出装置の概要を説明する。図１は、本実施例に係るリーク電流算出装置の概要を説明するための図である。
【００１２】
図１に示すように、本実施例に係るリーク電流算出装置は、集積回路を構成する部分回路ごとに、入力信号のパターンと、当該入力信号のパターンに対して発生するリーク電流値とを対応付けた部分回路情報を取得する。そして、リーク電流算出装置は、部分回路ごとの部分回路情報に基づいて、部分回路群ごとに、入力信号のパターンと、当該入力信号のパターンに対して発生するリーク電流値とを対応付けた部分回路群情報を生成する。なお、部分回路とは、１以上のセル（回路素子）が配置された回路であり、例えば、図１に示す部分回路群Ａでは、各ＮＡＮＤセル１〜３が部分回路に相当する。
【００１３】
例えば、図１に示すように、リーク電流算出装置は、部分回路群Ａを構成する部分回路（ＮＡＮＤセル１〜３を含む）ごとの部分回路情報を取得する。そして、リーク電流算出装置は、部分回路情報を用いて、部分回路群Ａに含まれる３つのＮＡＮＤセル１〜３における入力信号のパターンを適宜組み合わせることで、４つの入力ピンを有する部分回路群Ａについて、入力信号のパターンに対して発生するリーク電流値を算出する。すなわち、ＮＡＮＤセルの一般的な機能より、ＮＡＮＤセル１の入力パターンが（１０）のとき、ＮＡＮＤセル１の出力パターンが（１）となり、ＮＡＮＤセル２の入力パターンが（１０）のとき、ＮＡＮＤセル２の出力パターンが（１）となる。そして、ＮＡＮＤセル１及びＮＡＮＤセル２の出力は、ＮＡＮＤセル３の入力となるため、ＮＡＮＤセル３の入力パターンが（１１）となる。以上のことより、部分回路情報を参照すると、入力パターンが（１０１０）に対して部分回路群Ａで発生するリーク電流値は、入力パターン（１０）に対してＮＡＮＤセル１で発生するリーク電流値「４」と、入力パターン（１０）に対してＮＡＮＤセル２で発生するリーク電流値「４」と、入力パターン（１１）に対してＮＡＮＤセル３で発生するリーク電流値「１」との和である「９」となる。このようにして、リーク電流算出装置は、入力信号のパターンと、算出したリーク電流値とを対応付けた部分回路群Ａの部分回路群情報を生成する。
【００１４】
続いて、リーク電流算出装置は、各部分回路群に含まれる全部分回路のリーク電流値の最大値どうしの合計値と、部分回路群ごとの部分回路群情報に含まれるリーク電流値の最大値との差分であるリーク差分値を、部分回路群ごとに算出する。
【００１５】
ここで、部分回路群に含まれる全部分回路のリーク電流値の最大値どうしの合計値は、部分回路群に含まれる各部分回路に対してリーク電流値が最大となる入力信号のパターンが入力されたと仮定した場合に、当該部分回路群で発生するリーク電流値の最大値に相当する。つまり、部分回路群に含まれる全部分回路のリーク電流値の最大値どうしの合計値は、部分回路群のリーク電流値の仮の最大値（以下、「部分回路群の仮リーク最大値」と言う。）に相当する。ところが、実際には、部分回路群に含まれる各部分回路に対してリーク電流値が最大となる入力信号のパターンが入力されない場合があり、この場合、部分回路群のリーク電流値の最大値は、部分回路群の仮リーク最大値よりも小さくなる。そこで、本実施例では、リーク差分値を部分回路群ごとに算出することで、部分回路群の仮リーク最大値に対して、実際の入力信号のパターンを考慮して算出した部分回路群のリーク電流値の最大値が減少する減少量を評価できるようにしている。
【００１６】
例えば、部分回路情報を参照すると、図１に示す部分回路群Ａに含まれる各ＮＡＮＤセル１〜３のリーク電流値の最大値は、「４」であるので、この部分回路群Ａに含まれる全３個のＮＡＮＤセルのリーク電流値の最大値どうしの合計値、すなわち、部分回路群Ａの仮リーク最大値は、「４」×「３」＝「１２」である。一方、実際の入力信号のパターンを考慮して生成された部分回路群情報を参照すると、部分回路群Ａのリーク電流値の最大値は、４つの入力ピンに対する入力信号のパターンが（１０１０）のときに「９」となる。したがって、リーク差分値は、「１２」−「９」＝「３」となる。つまり、実際の入力信号のパターンを考慮すると、部分回路群Ａのリーク電流値の最大値は、部分回路群Ａの仮リーク最大値に対して「３」小さいことが分かる。
【００１７】
続いて、リーク電流算出装置は、リーク差分値に基づいて、複数の部分回路群から、部分回路群のリーク電流値の仮の最大値に対して、実際の入力信号のパターンを考慮して算出した部分回路群のリーク電流値の最大値が減少する減少効率の大きい１の部分回路群を選択する。例えば、図１に示す部分回路群Ａについて、リーク電流算出装置は、リーク差分値「３」を部分回路群Ａに含まれる部分回路（ＮＡＮＤセル）の数「３」で除算した値である選択基準値「１」を算出する。
【００１８】
ここで、選択基準値は、部分回路群の仮リーク最大値に対して、実際の入力信号のパターンを考慮して算出した部分回路群のリーク電流値の最大値が減少する減少効率を評価するための基準となる値であり、値が大きいほど減少効率が高いことを示す。また、選択基準値は、部分回路群に含まれる部分回路の数でリーク差分値を除算することで得られる値であり、部分回路群に含まれる１つの部分回路当たりで部分回路群の仮リーク最大値をどの程度減少できるかを示す値である。
【００１９】
そして、リーク電流算出装置は、かかる選択基準値を部分回路群ごとに対応づけて記憶する。そして、リーク電流算出装置は、複数の部分回路群から選択基準値の最も大きい１の部分回路群を選択する。
【００２０】
続いて、リーク電流算出装置は、選択した１の部分回路群である選択部分回路群に対する入力信号のパターンを、当該選択部分回路群の上位のリーク電流値に対応した入力信号のパターンに限定する。
【００２１】
例えば、図１に示す部分回路群Ａが選択部分回路群である場合には、リーク電流算出装置は、部分回路群Ａの部分回路群情報に含まれる入力信号のパターンを、最大のリーク電流値９及び２番目のリーク電流値９にそれぞれ対応する入力信号のパターン（１０１０）及び（０１０１）に限定する。
【００２２】
続いて、リーク電流算出装置は、入力信号のパターンが限定された選択部分回路群の部分回路群情報を、部分回路ごとの部分回路情報に追加すると共に、選択部分回路群に含まれる部分回路の部分回路情報を、部分回路ごとの部分回路情報から削除することで、部分回路情報を更新する。
【００２３】
例えば、図１に示すように、リーク電流算出装置は、入力信号のパターンが限定された部分回路群Ａの部分回路群情報を、部分回路ごとの部分回路情報に追加すると共に、部分回路群Ａに含まれる部分回路（ＮＡＮＤセル１〜３）の部分回路情報を、部分回路ごとの部分回路情報から削除することで、部分回路情報を更新する。
【００２４】
そして、リーク電流算出装置は、部分回路情報の更新回数が所定の回数に到達するまで、上述した処理を繰り返す。かかる処理を繰り返す間、リーク電流算出装置は、選択部分回路群の部分回路群情報に含まれる入力信号のパターンを限定する。そして、リーク電流算出装置は、入力信号のパターンが限定された選択部分回路群の部分回路群情報を、部分回路ごとの部分回路情報に追加すると共に、選択部分回路群に含まれる部分回路の部分回路情報を、部分回路ごとの部分回路情報から削除することで、部分回路情報を更新する。そして、リーク電流算出装置は、更新した部分回路情報に基づいて、部分回路群ごとに、部分回路群情報を再生成する。上述したように、更新した部分回路情報は、入力信号のパターンが限定された選択部分回路群の部分回路群情報を含んでいる。したがって、リーク電流算出装置は、部分回路群情報を生成する際の計算処理量を減らすことができる。
【００２５】
そして、リーク電流算出装置は、部分回路情報の更新回数が所定の回数に到達したときに、部分回路情報から、部分回路ごとのリーク電流値の最大値を抽出し、抽出したリーク電流値の最大値の合計値を、集積回路の最大リーク電流値として算出する。
【００２６】
このように、本実施例に係るリーク電流算出装置は、集積回路の最大リーク電流値を高速に算出することができる。すなわち、リーク電流算出装置は、部分回路群情報に含まれる入力信号のパターンを限定しながら、部分回路情報を更新する処理を繰り返し行うことで、集積回路の最大リーク電流値を算出するので、全体の計算時間を短縮化することができる。
【００２７】
次に、図２を用いて、図１に示した実施例１に係るリーク電流算出装置１００の構成を説明する。図２は、本実施例に係るリーク電流算出装置１００の構成を説明するためのブロック図である。図２に示すように、リーク電流算出装置１００は、入力部１１０と、出力部１２０と、記憶部１３０と、制御部１４０とを有する。
【００２８】
入力部１１０は、リーク電流算出装置１００を利用する利用者から、各種の情報を受け付ける。そして、入力部１１０は、受け付けた情報を制御部１４０に送る。出力部１２０は、制御部１４０によって送られた情報を利用者に出力する。例えば、出力部１２０は、集積回路の最大リーク電流値についての情報を利用者に出力する。
【００２９】
記憶部１３０は、制御部１４０による各種処理に用いられるデータを格納し、特に、部分回路情報記憶部１３１と、部分回路群情報記憶部１３２と、選択基準値情報記憶部１３３とを有する。
【００３０】
部分回路情報記憶部１３１は、図３−１及び図３−２に示すように、集積回路に含まれる部分回路に関する情報である部分回路情報を記憶する。なお、部分回路情報記憶部１３１によって記憶された部分回路情報は、部分回路情報取得部１４１によって取得されて格納される。また、部分回路情報記憶部１３１によって記憶された部分回路情報は、部分回路情報更新部１４７によって更新される。
【００３１】
図３−１及び図３−２は、部分回路情報記憶部１３１に記憶された部分回路情報の一例を説明するための図である。図３−１及び図３−２に示すように、部分回路情報記憶部１３１は、部分回路情報として、部分回路特性情報と、部分回路接続情報とを記憶する。
【００３２】
部分回路特性情報は、集積回路に含まれる全ての部分回路に関する特性を示した情報であり、図３−１に示すように、名前、セル種別、入力パターン、出力パターン、リーク電流の情報が対応付けられた情報である。名前は、集積回路に含まれる部分回路の名前である。セル種別は、その部分回路に１つのセルが配置されている場合に、当該セルの種別（ＡＮＤ、ＯＲ、ＮＡＮＤ等）を示し、その部分回路に２以上のセルが配置されている場合に、空欄となる。入力パターンは、その部分回路に対して入力する入力信号のパターンである。出力パターンは、その部分回路から出力する出力信号のパターンである。リーク電流は、その部分回路で発生するリーク電流値である。
【００３３】
また、部分回路接続情報は、集積回路に含まれる全ての部分回路どうしの接続関係を示した情報であり、図３−２に示すように、名前、入出力ピン名、入出力の種別、ネット名の情報が対応付けられた情報である。名前は、集積回路に含まれる部分回路の名前である。入出力ピン名は、その部分回路に設けられた入力ピン及び出力ピンの名称である。入出力の種別は、その部分回路に設けられたピンの種別であり、「Ｉｎ」が入力ピンであることを示し、「Ｏｕｔ」が出力ピンであることを示す。ネット名は、その部分回路に設けられたピンに接続するネットの名称である。
【００３４】
ここで、図３−２に示す部分回路接続情報は、図４に示す集積回路に含まれる部分回路についての情報である。図４は、部分回路接続情報によって表現される集積回路の一例を説明するための図である。例えば、セル３に着目すると、図３−２及び図４に示すように、セル３の入力ピンＡ３は、ｎｅｔ１０２を介して、セル１の出力ピンＸ１に接続していることが分かる。また、セル３の入力ピンＢ３は、ｎｅｔ１０４を介して、セル２の出力ピンＸ２に接続していることが分かる。また、セル３の出力ピンＸ３は、ｎｅｔ１０６を介して、セル４の入力ピンＡ４に接続していることが分かる。
【００３５】
また、図３−１に示す部分回路特性情報は、図４に示す集積回路に含まれる部分回路についての情報である。例えば、セル３に着目すると、図３−１及び図４に示すように、入力ピンＡ３及び入力ピンＢ３に対して入力パターン（０１）の入力信号が入力された場合に、出力ピンＸ３から出力パターン（１）の出力信号が出力されることが分かる。また、入力ピンＡ３及び入力ピンＢ３に対して入力パターン（０１）の入力信号が入力された場合に、セル３に発生するリーク電流値が「４」であることが分かる。
【００３６】
部分回路群情報記憶部１３２は、図５−１及び図５−２に示すように、互いに接続された部分回路である部分回路群に関する情報である部分回路群情報を記憶する。なお、部分回路群情報記憶部１３２によって記憶された部分回路群情報は、部分回路群情報生成部１４２によって生成されて格納される。
【００３７】
図５−１及び図５−２は、部分回路群情報記憶部１３２に記憶された部分回路群情報の一例を説明するための図である。図５−１及び図５−２に示すように、部分回路群情報記憶部１３２は、部分回路群情報として、部分回路群特性情報と、部分回路群接続情報とを記憶する。
【００３８】
部分回路群特性情報は、部分回路群に関する特性を示した情報であり、図５−１に示すように、名前、含有部分回路、入力パターン、出力パターン、リーク電流の情報が対応付けられた情報である。名前は、部分回路群の名称である。含有部分回路は、その部分回路群に含まれる部分回路である。入力パターンは、その部分回路群に対して入力する入力信号のパターンである。出力パターンは、その部分回路群から出力する出力信号のパターンである。リーク電流は、その部分回路群で発生するリーク電流値である。
【００３９】
また、部分回路群接続情報は、部分回路群どうしの接続関係を示した情報であり、図５−２に示すように、名前、入出力ピン名、入出力の種別、ネット名の情報が対応付けられた情報である。名前は、部分回路群の名称である。入出力ピン名は、その部分回路群に設けられた入力ピン及び出力ピンの名称である。入出力の種別は、その部分回路群に設けられたピンの種別であり、「Ｉｎ」が入力ピンであることを示し、「Ｏｕｔ」が出力ピンであることを示す。ネット名は、その部分回路群に設けられたピンに接続するネットの名称である。
【００４０】
ここで、図５−２に示す部分回路群接続情報は、図４に示す集積回路に含まれる部分回路群についての情報である。例えば、図４及び図５−２に示すように、ｎｅｔ１０２を介して互いに接続されるセル１とセル３とよりなる部分回路群１１に着目すると、部分回路群１１の入力ピンＡ１及び入力ピンＢ１は、他の部分回路と接続していないことが分かる。また、部分回路群１１の入力ピンＢ３は、ｎｅｔ１０４を介して、セル２の出力ピンＸ２に接続していることがわかる。また、部分回路群１１の出力ピンＸ３は、ｎｅｔ１０６を介して、セル４の入力ピンＡ４に接続していることが分かる。
【００４１】
また、図５−２に示す部分回路群特性情報は、図４に示す集積回路に含まれる部分回路群についての情報である。例えば、図４及び図５−２に示すように、ｎｅｔ１０２を介して互いに接続されるセル１とセル３とよりなる部分回路群１１に着目すると、入力ピンＡ１、入力ピンＢ１及び入力ピンＢ３に対して入力パターン（０１０）の入力信号が入力された場合に、出力ピンＸ３から出力パターン（１）の出力信号が出力されることが分かる。また、入力ピンＡ１、入力ピンＢ１及び入力ピンＢ３に対して入力パターン（０１０）の入力信号が入力された場合に、部分回路群１１に発生するリーク電流値が「８」であることが分かる。
【００４２】
選択基準値情報記憶部１３３は、選択基準値を部分回路群ごとに対応づけた情報である選択基準値情報を記憶する。なお、選択基準値情報記憶部１３３によって記憶された選択基準値情報は、後述する選択基準値算出部１４４によって算出されて格納される。また、選択基準値情報記憶部１３３によって記憶された選択基準値情報は、後述する部分回路群選択部１４５が複数の部分回路群から１の部分回路群を選択する際に、部分回路群選択部１４５によって参照される。
【００４３】
図６は、選択基準値情報記憶部１３３に記憶された選択基準値情報の一例を説明するための図である。図６に示すように、選択基準値情報は、部分回路群ごとに、その部分回路群の選択基準値を記録した情報である。選択基準値は、上述したように、部分回路群の仮リーク最大値に対して、実際の入力信号のパターンを考慮して算出した部分回路群のリーク電流値の最大値が減少する減少効率を評価するための基準となる値である。図６に示す例では、部分回路群１１の選択基準値は、「０」であり、部分回路群１２の選択基準値は、「１．５」であることから、部分回路群１１よりも部分回路群１２の方が、上記の減少効率が高いことを示している。
【００４４】
制御部１４０は、各種のリーク電流算出処理手順などを規定したプログラムや制御データを格納する内部メモリを有し、リーク電流算出装置１００における種々のリーク電流算出処理を実行する処理部である。制御部１４０は、部分回路情報取得部１４１と、部分回路群情報生成部１４２と、リーク差分値算出部１４３と、選択基準値算出部１４４と、部分回路群選択部１４５と、入力信号パターン限定部１４６と、部分回路情報更新部１４７と、処理制御部１４８と、最大リーク電流値算出部１４９とを有する。
【００４５】
部分回路情報取得部１４１は、部分回路情報を取得する。具体的には、部分回路情報取得部１４１は、部分回路情報を入力部１１０から受け付けて、その受け付けた部分回路情報を部分回路情報記憶部１３１に格納する。
【００４６】
部分回路群情報生成部１４２は、部分回路情報記憶部１３１に記憶された部分回路ごとの部分回路情報に基づいて、互いに接続された部分回路である部分回路群ごとに、部分回路群情報を生成する。
【００４７】
具体的には、部分回路群情報生成部１４２は、まず、部分回路情報記憶部１３１に記憶された部分回路接続情報（図３−２参照）を参照して、任意の部分回路を１つ抽出し、当該抽出した部分回路に接続する他の部分回路を特定する。つまり、部分回路群情報生成部１４２は、任意の部分回路及び他の部分回路を部分回路群とみなす。そして、部分回路群情報生成部１４２は、部分回路情報記憶部１３１に記憶された部分回路特性情報（図３−１参照）を参照して、部分回路群に含まれる各部分回路の入力パターンを適宜組み合わせることで、部分回路群について、入力パターンに対応して発生するリーク電流値を算出する。
【００４８】
例えば、図４の例に示すように、部分回路群情報生成部１４２は、部分回路接続情報（図３−２参照）を参照して、任意の部分回路として、セル１を抽出する。そして、部分回路群情報生成部１４２は、部分回路接続情報を参照して、セル１の出力ピンＸ１にｎｅｔ１０２を介して接続されたセル３の入力ピンＡ３を特定する。そして、部分回路群情報生成部１４２は、ｎｅｔ１０２を介して互いに接続されるセル１とセル３とを部分回路群１１とみなす。そして、部分回路群情報生成部１４２は、部分回路特性情報（図３−１参照）を参照して、部分回路群１１に含まれるセル１及びセル３の入力パターンを適宜組み合わせることで、部分回路群１１について、入力パターンに対応して発生するリーク電流値を算出する。すなわち、セル１の入力パターンが（００）のとき、セル１の出力パターンが（１）となり、セル１のリーク電流値が「１」となる。セル１の出力ピンＸ１とセル３の入力ピンＡ３とは、ｎｅｔ１０２を介して接続されているため、セル１の出力パターン（１）は、セル３の入力ピンＡ３への入力信号「１」に相当する。そうすると、セル３の入力パターンは、（１０）又は（１１）となる。セル３の入力パターンが（１０）であるとすると、セル３のリーク電流値が「４」となる。つまり、部分回路群１１に対する入力パターンが（０００）であるとき、セル１及びセル３を含む部分回路群１１のリーク電流値は、セル１のリーク電流値「１」とセル３のリーク電流値「４」との和を算出することにより得られる「５」となる。
【００４９】
また、部分回路群情報生成部１４２は、集積回路に含まれる部分回路の数だけ、すなわち、部分回路接続情報に示される部分回路の数だけ、任意の部分回路を抽出し、その抽出した任意の部分回路を含む部分回路群のリーク電流値を算出する。
【００５０】
そして、部分回路群情報生成部１４２は、部分回路群ごとに、部分回路群情報を生成する。すなわち、部分回路群情報生成部１４２は、部分回路群ごとに、含有部分回路、入力パターン、出力パターン、算出したリーク電流値の情報を対応付けることで、部分回路群情報の一つである部分回路群特性情報（図５−１参照）を生成する。また、部分回路群情報生成部１４２は、部分回路群ごとに、入出力ピン名、入出力の種別、ネット名の情報を対応付けることで、部分回路群情報の一つである部分回路群接続情報（図５−２参照）を生成する。
【００５１】
なお、部分回路群情報生成部１４２は、図７に示すような一入力多出力のツリー状に互いに接続された部分回路である部分回路群の部分回路群情報を、他の部分回路群の部分回路群情報に優先して生成するようにしてもよい。また、部分回路群情報生成部１４２は、図８に示すような多入力一出力のツリー状に互いに接続された部分回路である部分回路群の部分回路群情報を、他の部分回路群の部分回路群情報に優先して生成するようにしてもよい。図７や図８に示す部分回路群は、比較的に単純な回路構造を有しているため、部分回路群情報生成部１４２は、これらの部分回路群の部分回路群情報を優先的に生成することで、処理を迅速化することができる。なお、図７及び図８は、部分回路群情報生成部１４２による処理について説明するための図である。
【００５２】
また、部分回路群情報生成部１４２は、生成した部分回路群情報を部分回路群情報記憶部１３２に格納する。また、部分回路情報記憶部１３１から読み出した部分回路情報（部分回路特性情報及び部分回路接続情報）をリーク差分値算出部１４３に送る。
【００５３】
リーク差分値算出部１４３は、各部分回路群に含まれる全部分回路のリーク電流値の最大値どうしを合計して得られる仮リーク最大値と、部分回路群情報生成部１４２によって生成された部分回路群ごとの部分回路群情報に含まれるリーク電流値の最大値との差分であるリーク差分値を、部分回路群ごとに算出する。
【００５４】
具体的には、リーク差分値算出部１４３は、まず、部分回路群情報記憶部１３２に記憶された部分回路群特性情報（図５−１参照）に含まれる含有部分回路の情報を用いて、部分回路群に含まれる全部分回路の部分回路特性情報（図３−１参照）を特定する。そして、リーク差分値算出部１４３は、特定した部分回路特性情報から、部分回路群に含まれる全部分回路のリーク電流値の最大値を検出し、検出した最大値どうしを全て合計することで、仮リーク最大値を算出する。そして、リーク差分値算出部１４３は、算出した仮リーク最大値と、部分回路群情報記憶部１３２に記憶された部分回路群ごとの部分回路群特性情報に含まれるリーク電流値の最大値との差分を算出することで、リーク差分値を部分回路群ごとに算出する。
【００５５】
ここで、一例として、リーク差分値算出部１４３が図４に示す部分回路群１１のリーク差分値を算出する処理について説明する。リーク差分値算出部１４３は、部分回路群特性情報（図５−１参照）に含まれる部分回路群１１の含有部分回路の情報を用いて、部分回路群１１に含まれるセル１及びセル３の部分回路特性情報（図３−１参照）を特定する。そして、リーク差分値算出部１４３は、特定したセル１及びセル３の部分回路特性情報から、セル１の最大リーク電流値「４」及びセル３のリーク電流値の最大値「４」を検出し、これら最大値どうしを全て合計し、仮リーク最大値「８」を算出する。そして、リーク差分値算出部１４３は、算出した仮リーク最大値「８」と、部分回路群情報記憶部１３２に記憶された部分回路群１１の部分回路群特性情報に含まれるリーク電流値の最大値「８」との差分を算出することで、リーク差分値「０」を算出する。
【００５６】
また、リーク差分値算出部１４３は、算出したリーク差分値を選択基準値算出部１４４へ送る。また、リーク差分値算出部１４３は、部分回路群情報生成部１４２から受け付けた部分回路情報（部分回路特性情報及び部分回路接続情報）を選択基準値算出部１４４に送る。
【００５７】
選択基準値算出部１４４は、部分回路群に含まれる部分回路の数でリーク差分値を除算することで得られる選択基準値を部分回路群ごとに算出する。具体的には、選択基準値算出部１４４は、まず、部分回路群特性情報（図５−１参照）に含まれる含有部分回路の情報を用いて、部分回路群に含まれる部分回路の数を計測し、当該計測した部分回路の数で、リーク差分値を除算することで、選択基準値を部分回路群ごとに算出する。このように、選択基準値算出部１４４は、選択基準値を部分回路群ごとに算出することにより、部分回路群の仮リーク最大値の減少効率を部分回路群どうしで比較するための基準となる値を算出している。
【００５８】
また、選択基準値算出部１４４は、算出した選択基準値を部分回路群ごとに対応づけた選択基準値情報を選択基準値情報記憶部１３３に格納する。
【００５９】
また、選択基準値算出部１４４は、集積回路に含まれる部分回路のうち、部分回路群情報生成部１４２によって未だ抽出されていない部分回路である未抽出部分回路があるか否かを判定する。具体的には、選択基準値算出部１４４は、部分回路接続情報に示される部分回路の情報を参照することで、未抽出部分回路があるか否かを判定する。
【００６０】
未抽出部分回路があると判定すると、選択基準値算出部１４４は、部分回路群情報生成部１４２にその旨を通知する。なお、通知を受けた部分回路群情報生成部１４２は、抽出済みの部分回路とは異なる部分回路を抽出し、その抽出した部分回路を含む部分回路群のリーク電流値を再度算出し、部分回路群特性情報及び部分回路群接続情報を新たに生成する。一方、未抽出部分回路がないと判定すると、選択基準値算出部１４４は、部分回路群選択部１４５にその旨を通知する。
【００６１】
部分回路群選択部１４５は、リーク差分値算出部１４３によって算出されたリーク差分値に基づいて、複数の部分回路群から１の部分回路群を選択する。具体的には、部分回路群選択部１４５は、選択基準値情報記憶部１３３に記憶された選択基準値の最も大きい１の部分回路群を、複数の部分回路群から選択する。ここで、部分回路群選択部１４５が、選択基準値の最も大きい部分回路群を選択するのは、部分回路群の仮リーク最大値の減少効率が最も高い部分回路群を選択するためである。
【００６２】
また、部分回路群選択部１４５は、選択した１の部分回路群である選択部分回路群の情報を入力信号パターン限定部１４６に通知する。
【００６３】
入力信号パターン限定部１４６は、選択部分回路群の部分回路群情報に含まれる入力パターンを、上位のリーク電流値に対応する入力パターンに限定する。具体的には、入力信号パターン限定部１４６は、部分回路群情報記憶部１３２に記憶された部分回路群ごとの部分回路群情報（図５−１）から、選択部分回路群の部分回路群特性情報を抽出する。そして、入力信号パターン限定部１４６は、抽出した部分回路群特性情報に含まれる入力パターンを、上位Ｎのリーク電流値に対応する入力パターンに限定した部分回路群特性情報を新たに作成する。図９は、入力信号パターン限定部１４６による処理について説明するための図である。
【００６４】
例えば、図４に示す複数の部分回路群（部分回路群１１、部分回路群１２、…）のうち、部分回路群１２が選択部分回路群である場合には、入力信号パターン限定部１４６は、図９に示すように、部分回路群情報記憶部１３２から部分回路群１２の部分回路群特性情報（図５−１参照）を抽出する。そして、入力信号パターン限定部１４６は、部分回路群１２の部分回路群特性情報から最大のリーク電流値「１４」及び２番目のリーク電流値「１４」を部分回路群１２の上位２位のリーク電流値として検出する。そして、入力信号パターン限定部１４６は、部分回路群１２に対する入力信号のパターンを、検出した上位２位のリーク電流値に対応した２通りの入力信号のパターン（１０００）及び（０１００）に限定した部分回路群特性情報を新たに作成する。
【００６５】
また、入力信号パターン限定部１４６は、入力パターンが限定された選択部分回路群の部分回路群特性情報及びこれに対応する部分回路群接続情報を、部分回路情報更新部１４７に送る。
【００６６】
部分回路情報更新部１４７は、入力パターンが限定された選択部分回路群の部分回路群情報を、部分回路ごとの部分回路情報に追加すると共に、選択部分回路群に含まれる部分回路の部分回路情報を、部分回路ごとの部分回路情報から削除することで、部分回路情報記憶部１３１に記憶された部分回路情報を更新する。
【００６７】
具体的には、部分回路情報更新部１４７は、図１０−１に示すように、入力パターンが限定された選択部分回路群の部分回路群特性情報（図９参照）を、部分回路情報記憶部１３１に記憶された部分回路ごとの部分回路特性情報（図３−１参照）に追加する。これと共に、部分回路情報更新部１４７は、選択部分回路群に含まれる部分回路（図９の例では、部分回路群１２に含まれるセル１、セル２、セル３及びセル４）の部分回路特性情報を、部分回路情報記憶部１３１に記憶された部分回路ごとの部分回路特性情報から削除する。このようにして、部分回路情報更新部１４７は、部分回路情報記憶部１３１に記憶された部分回路特性情報を更新する。なお、図１０−１は、部分回路情報更新部１４７による処理について説明するための図である。
【００６８】
そして、部分回路情報更新部１４７は、図１０−２に示すように、入力パターンが限定された選択部分回路群の部分回路群接続情報（図５−２参照）を、部分回路情報記憶部１３１に記憶された部分回路ごとの部分回路特性情報（図３−２参照）に追加する。これと共に、部分回路情報更新部１４７は、選択部分回路群に含まれる部分回路の部分回路接続情報を、部分回路情報記憶部１３１に記憶された部分回路ごとの部分回路接続情報から削除する。このようにして、部分回路情報更新部１４７は、部分回路情報記憶部１３１に記憶された部分回路接続情報を更新する。なお、図１０−２は、部分回路情報更新部１４７による処理について説明するための図である。
【００６９】
また、部分回路情報更新部１４７は、部分回路情報記憶部１３１に記憶された部分回路情報の更新回数を計測し、計測した更新回数を処理制御部１４８に通知する。
【００７０】
処理制御部１４８は、部分回路情報更新部１４７による処理回数が所定の回数に到達するまで、上述した各処理部に繰り返し処理を実行させる。具体的には、処理制御部１４８は、まず、部分回路情報更新部１４７から通知された更新回数が予め定められた回数に到達したか否かを判定する。到達していないと判定すると、処理制御部１４８は、部分回路情報記憶部１３１に記憶された部分回路ごとの部分回路情報に基づく部分回路群ごとの部分回路群情報の作成を部分回路群情報生成部１４２に再度行わせる。このとき、部分回路情報記憶部１３１に記憶された部分回路ごとの部分回路情報は、部分回路情報更新部１４７によって更新されている。つまり、部分回路情報記憶部１３１に記憶された部分回路ごとの部分回路情報は、入力信号のパターンが限定された選択部分回路群の部分回路群情報を含んでいる。したがって、部分回路群情報生成部１４２による部分回路群ごとの部分回路群情報の作成の計算処理量が減少している。そして、部分回路群情報生成部１４２による部分回路群ごとの部分回路群情報の作成が完了すると、処理制御部１４８は、リーク差分値算出部１４３、選択基準値算出部１４４、部分回路群選択部１４５、入力信号パターン限定部１４６、部分回路情報更新部１４７に各自の処理を再度行わせる。
【００７１】
一方、部分回路情報更新部１４７から通知された更新回数が予め定められた回数に到達したと判定すると、処理制御部１４８は、その旨を最大リーク電流値算出部１４９へ通知する。
【００７２】
このように、リーク電流算出装置１００は、更新回数が予め定められた回数に到達するまで上記一連の処理を繰り返すことにより、選択部分回路群の入力信号のパターンを適切に絞り込みながら、部分回路情報記憶部１３１に記憶された部分回路ごとの部分回路情報を更新していく。そして、この過程において、部分回路群情報生成部１４２による部分回路群ごとの部分回路群情報の作成の計算処理量が減少していく。
【００７３】
最大リーク電流値算出部１４９は、更新回数が所定の回数に到達したときに、部分回路情報記憶部１３１に記憶された部分回路ごとの部分回路情報に含まれる部分回路ごとのリーク電流値の情報を用いて、集積回路の最大リーク電流値を算出する。具体的には、最大リーク電流値算出部１４９は、更新回数が予め定められた回数に到達した旨の通知を処理制御部１４８から受け付けたときに、まず、部分回路情報記憶部１３１に記憶された部分回路ごとの部分回路特性情報から部分回路ごとのリーク電流値の最大値を抽出する。そして、最大リーク電流値算出部１４９は、抽出したリーク電流値の最大値の合計値を、集積回路の最大リーク電流値として算出する。
【００７４】
また、最大リーク電流値算出部１４９は、処理結果として、算出した集積回路の最大リーク電流値についての情報を出力部１２０に送る。
【００７５】
次に、図１１を用いて、本実施例に係るリーク電流算出装置１００によるリーク電流算出処理の処理手順について説明する。図１１は、本実施例に係るリーク電流算出装置１００によるリーク電流算出処理の処理手順を示すフローチャートである。
【００７６】
図１１に示すように、リーク電流算出装置１００では、部分回路情報取得部１４１が、入力部１１０から部分回路情報（部分回路特性情報及び部分回路接続情報）を受け付けて（ステップＳ１０１）、その受け付けた部分回路情報を部分回路情報記憶部１３１に格納する（ステップＳ１０２）。
【００７７】
続いて、部分回路群情報生成部１４２は、部分回路情報記憶部１３１に記憶された部分回路接続情報を参照して、任意の部分回路を１つ抽出し（ステップＳ１０３）、その抽出した部分回路に接続する他の部分回路を特定する（ステップＳ１０４）。つまり、部分回路群情報生成部１４２は、任意の部分回路及び他の部分回路を部分回路群とみなす。そして、部分回路群情報生成部１４２は、部分回路情報記憶部１３１に記憶された部分回路特性情報を参照して、部分回路群に含まれる各部分回路の入力パターンを適宜組み合わせることで、部分回路群について、入力パターンに対応して発生するリーク電流値を算出する（ステップＳ１０５）。そして、部分回路群情報生成部１４２は、部分回路群ごとに、部分回路群情報を生成し（ステップＳ１０６）、部分回路群情報記憶部１３２に格納する（ステップＳ１０７）。
【００７８】
続いて、リーク差分値算出部１４３は、リーク差分値を部分回路群ごとに算出し（ステップＳ１０８）、選択基準値算出部１４４は、部分回路群に含まれる部分回路の数でリーク差分値を除算することで得られる選択基準値を部分回路群ごとに算出する（ステップＳ１０９）。そして、選択基準値算出部１４４は、算出した選択基準値を部分回路群ごとに対応づけた選択基準値情報を選択基準値情報記憶部１３３に格納する（ステップＳ１１０）。
【００７９】
続いて、選択基準値算出部１４４は、未抽出部分回路があるか否かを判定する（ステップＳ１１１）。未抽出部分回路があると判定すると（ステップＳ１１１：Ｙｅｓ）、選択基準値算出部１４４は、処理をステップＳ１０３に戻し、部分回路群情報生成部１４２に未抽出部分回路がある旨を通知する。なお、選択基準値算出部１４４からの通知を受けた部分回路群情報生成部１４２は、抽出済みの部分回路とは異なる部分回路を含む部分回路群のリーク電流値を再度算出し、部分回路群情報を新たに生成する。
【００８０】
一方、未抽出部分回路がないと判定すると（ステップＳ１１１：Ｎｏ）、選択基準値算出部１４４は、部分回路群選択部１４５にその旨を通知する。そして、部分回路群選択部１４５は、リーク差分値に基づいて、複数の部分回路群から１の部分回路群を選択する（ステップＳ１１２）。つまり、部分回路群選択部１４５は、選択部分回路群として、選択基準値情報記憶部１３３に記憶された選択基準値の最も大きい１の部分回路群を、複数の部分回路群から選択する。
【００８１】
続いて、入力信号パターン限定部１４６は、選択部分回路群の部分回路群情報に含まれる入力パターンを、上位のリーク電流値に対応する入力パターンに限定する（ステップＳ１１３）。例えば、入力信号パターン限定部１４６は、最大のリーク電流値及び２番目のリーク電流値に対応する入力パターンに限定する。
【００８２】
続いて、部分回路情報更新部１４７は、入力パターンが限定された選択部分回路群の部分回路群情報を、部分回路ごとの部分回路情報に追加すると共に、選択部分回路群に含まれる部分回路の部分回路情報を、部分回路ごとの部分回路情報から削除することで、部分回路情報記憶部１３１に記憶された部分回路情報を更新する。（ステップＳ１１４）。このとき、部分回路情報更新部１４７は、更新回数を処理制御部１４８に通知する。
【００８３】
続いて、処理制御部１４８は、部分回路情報更新部１４７から通知された更新回数が予め定められた回数に到達したか否かを判定する（ステップＳ１１５）。更新回数が予め定められた回数に到達していないと判定すると（ステップＳ１１５：Ｎｏ）、処理制御部１４８は、処理をステップＳ１０３に戻し、ステップＳ１０３〜ステップＳ１１５の処理を繰り返し実行する。
【００８４】
そして、更新回数が予め定められた回数に到達したと判定すると（ステップＳ１１５：Ｙｅｓ）、処理制御部１４８は、その旨を最大リーク電流値算出部１４９へ通知し、処理をステップＳ１１６へ移行する。
【００８５】
続いて、最大リーク電流値算出部１４９は、部分回路情報記憶部１３１に記憶された部分回路ごとの部分回路情報に含まれる部分回路ごとのリーク電流値の情報を用いて、集積回路の最大リーク電流値を算出する（ステップＳ１１６）。つまり、最大リーク電流値算出部１４９は、部分回路情報記憶部１３１に記憶された部分回路ごとの部分回路特性情報から部分回路ごとのリーク電流値の最大値を抽出する。そして、最大リーク電流値算出部１４９は、抽出したリーク電流値の最大値の合計値を、集積回路の最大リーク電流値として算出する。
【００８６】
続いて、リーク電流算出装置１００は、処理結果を出力する（ステップＳ１１７）。例えば、最大リーク電流値算出部１４９は、処理結果として、算出した集積回路の最大リーク電流値の合計値を、集積回路の最大リーク電流値を出力部１２０に送り、出力部１２０が、処理結果を出力する。
【００８７】
上述したように、本実施例では、集積回路を構成する部分回路に対する入力信号のパターンを限定しながら、部分回路に関する部分回路情報を繰り返し更新し、その更新された部分回路情報から集積回路の最大リーク電流値を算出するため、集積回路の最大リーク電流値を高速かつ確実に算出することができる。
【００８８】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、上記特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施例にて実施されてもよいものである。
【００８９】
例えば、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図２に示す例を用いて説明すると、部分回路情報取得部１４１と最大リーク電流値算出部１４９とを統合することもできる。また、記憶部１３０を別装置としてもよい。
【００９０】
また、上記の実施例で説明したリーク電流算出装置の各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図１２を用いて、上記の実施例と同様の機能を有するリーク電流算出プログラムを実行するコンピュータの一例を説明する。なお、図１２は、リーク電流算出プログラムを実行するコンピュータを説明するための図である。
【００９１】
図１２に示すように、リーク電流算出装置としてのコンピュータ４００は、入力部４１０、出力部４２０、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）４３０、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）４４０及びＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４５０をバス５００などで接続して構成される。
【００９２】
ここで、入力部４１０はユーザから各種データの入力を受け付ける。出力部４２０は、各種情報を表示する。ＨＤＤ４３０は、ＣＰＵ４５０による各種処理の実行に必要な情報を記憶する。ＲＡＭ４４０は、各種情報を一時的に記憶する。ＣＰＵ４５０は、各種演算処理を実行する。
【００９３】
そして、ＨＤＤ４３０には、上記の実施例１に示したリーク電流算出装置１００の各処理部と同様の機能を発揮するリーク電流算出プログラム４３１と、リーク電流算出用データ４３２とが予め記憶されている。なお、このリーク電流算出プログラム４３１を適宜分散させて、ネットワークを介して通信可能に接続された他のコンピュータの記憶部に記憶させておくこともできる。
【００９４】
そして、ＣＰＵ４５０が、このリーク電流算出プログラム４３１をＨＤＤ４３０から読み出してＲＡＭ４４０に展開することにより、図１２に示すように、リーク電流算出プログラム４３１はリーク電流算出プロセス４４１として機能するようになる。すなわち、リーク電流算出プロセス４４１は、リーク電流算出用データ４３２等をＨＤＤ４３０から読み出して、ＲＡＭ４４０において自身に割り当てられた領域に展開し、この展開したデータ等に基づいて各種処理を実行する。なお、リーク電流算出プロセス４４１は、図２に示したリーク電流算出装置１００の制御部１４０（部分回路情報取得部１４１、部分回路群情報生成部１４２、リーク差分値算出部１４３、選択基準値算出部１４４、部分回路群選択部１４５、入力信号パターン限定部１４６、部分回路情報更新部１４７、処理制御部１４８及び最大リーク電流値算出部１４９）において実行される処理にそれぞれ対応する。
【００９５】
なお、上記したリーク電流算出プログラム４３１については、必ずしも最初からＨＤＤ４３０に記憶させておく必要はない。例えば、コンピュータ４００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に記憶させておき、コンピュータ４００がこれらから各プログラムを読み出して実行するようにしてもよい。さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ４００に接続される「他のコンピュータ（またはサーバ）」などに各プログラムを記憶させておき、コンピュータ４００がこれらから各プログラムを読み出して実行するようにしてもよい。
【符号の説明】
【００９６】
１００        リーク電流算出装置
１１０        入力部
１２０        出力部
１３０        記憶部
１３１        部分回路情報記憶部
１３２        部分回路群情報記憶部
１３３        選択基準値情報記憶部
１４０        制御部
１４１        部分回路情報取得部
１４２        部分回路群情報生成部
１４３        リーク差分値算出部
１４４        選択基準値算出部
１４５        部分回路群選択部
１４６        入力信号パターン限定部
１４７        部分回路情報更新部
１４８        処理制御部
１４９        最大リーク電流値算出部
４００        コンピュータ
４１０        入力部
４２０        出力部
４３０        ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）
４３１        リーク電流算出プログラム
４３２        リーク電流算出用データ
４４０        ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）
４４１        リーク電流算出プロセス
４５０        ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）
５００        バス
【図１】
2010218289.tif 000003
【図２】
2010218289.tif 000004
【図３−１】
2010218289.tif 000005
【図３−２】
2010218289.tif 000006
【図４】
2010218289.tif 000007
【図５−１】
2010218289.tif 000008
【図５−２】
2010218289.tif 000009
【図６】
2010218289.tif 000010
【図７】
2010218289.tif 000011
【図８】
2010218289.tif 000012
【図９】
2010218289.tif 000013
【図１０−１】
2010218289.tif 000014
【図１０−２】
2010218289.tif 000015
【図１１】
2010218289.tif 000016
【図１２】
2010218289.tif 000017