(57)【要約】【課題】対象回路の統計的リーク電流解析にかかる処理時間の短縮化を図ること。【解決手段】本解析支援手法では、対象回路１００の中から、特性が同一または類似するセル群Ｃ１〜Ｃ３を検出する。本解析支援手法では、セルＣ１〜Ｃ３ごとに固有の各係数ａ1〜ａ3，ｂ1〜ｂ3，ｃ1〜ｃ3を係数ａ，ｂ，ｃに置き換える。本解析支援手法では、セルＣ１〜Ｃ３ごとに固有の第１バラツキパラメータα1，α2，α3を一つの第１バラツキパラメータαに変換する。本解析支援手法では、変換後の第１バラツキパラメータαを用いて、対象回路１００のリーク電流のバラツキを表す関数を算出する。これにより、対象回路のリーク電流のバラツキを表す関数の項数を削減し、統計的リーク解析にかかる処理時間の短縮化を図る。【選択図】図１
2011237889.tif 000002
【特許請求の範囲】
【請求項１】
対象回路内の素子ごとに、当該素子のリーク電流のバラツキを表す関数に含まれる前記素子に固有の係数を取得する取得工程と、
前記取得工程によって取得された前記素子に固有の係数に基づいて、前記対象回路内の複数の素子の中から特性が同一または類似する素子群を検出する検出工程と、
前記検出工程によって検出された素子群に含まれる素子ごとに固有のリーク電流のバラツキを表す確率変数を一つの確率変数に変換する変換工程と、
前記変換工程によって変換された変換後の確率変数を用いて、前記素子群のリーク電流のバラツキを表す関数を算出する関数算出工程と、
前記関数算出工程によって算出された前記素子群のリーク電流のバラツキを表す関数を出力する出力工程と、
をコンピュータに実行させることを特徴とする解析支援プログラム。
【請求項２】
さらに、前記検出工程によって検出された素子群に含まれる素子ごとに固有の係数に基づいて、当該素子群に含まれる全素子に共通の係数を算出する係数算出工程を前記コンピュータに実行させ、
前記変換工程は、
前記係数算出工程によって算出された素子群に含まれる全素子に共通の係数に基づいて、前記素子群に含まれる素子ごとに固有のリーク電流のバラツキを表す確率変数を一つの確率変数に変換することを特徴とする請求項１に記載の解析支援プログラム。
【請求項３】
さらに、前記複数の素子に含まれる前記素子ごとに固有の係数の最小値から最大値までを区切って複数の区間に分割する分割工程を前記コンピュータに実行させ、
前記検出工程は、
前記複数の素子に含まれる素子に固有の係数の値が、前記分割工程によって分割された前記複数の区間のいずれかの区間内となる素子群を、前記特性が同一または類似する素子群として検出することを特徴とする請求項１または２に記載の解析支援プログラム。
【請求項４】
前記取得工程は、
前記対象回路内の素子ごとに、当該素子のリーク電流のバラツキを表す関数に含まれる当該素子に固有の第１および第２の係数を取得し、
前記分割工程は、
前記取得工程によって取得された第１および第２の係数ごとに、当該第１および第２の係数ごとの最小値から最大値までを均等に区切って複数の区間に分割し、
前記検出工程は、
前記第１の係数の値が前記分割工程によって前記第１の係数の最小値から最大値までを均等に区切って分割された前記複数の区間のいずれかの区間内となり、かつ、前記第２の係数の値が前記分割工程によって前記第２の係数の最小値から最大値までを均等に区切って分割された前記複数の区間のいずれかの区間内となる素子群を、前記特性が同一または類似する素子群として検出することを特徴とする請求項３に記載の解析支援プログラム。
【請求項５】
前記分割工程は、
第１および第２の係数のうち、前記素子のリーク電流のバラツキを表す確率変数にかかる前記第１の係数の最小値から最大値までを均等に区切って複数の区間に分割し、前記第２の係数の最小値から最大値までを所定のリーク電流が均等になるように分割することを特徴とする請求項４に記載の解析支援プログラム。
【請求項６】
対象回路内の素子ごとに、当該素子のリーク電流のバラツキを表す関数に含まれる前記素子に固有の係数を取得する取得手段と、
前記取得手段によって取得された前記素子に固有の係数に基づいて、前記対象回路内の複数の素子の中から特性が同一または類似する素子群を検出する検出手段と、
前記検出手段によって検出された素子群に含まれる素子ごとに固有のリーク電流のバラツキを表す確率変数を一つの確率変数に変換する変換手段と、
前記変換手段によって変換された変換後の確率変数を用いて、前記素子群のリーク電流のバラツキを表す関数を算出する関数算出手段と、
前記関数算出手段によって算出された前記素子群のリーク電流のバラツキを表す関数を出力する出力手段と、
を備えることを特徴とする解析支援装置。
【請求項７】
コンピュータが、
対象回路内の素子ごとに、当該素子のリーク電流のバラツキを表す関数に含まれる前記素子に固有の係数を取得する取得工程と、
前記取得工程によって取得された前記素子に固有の係数に基づいて、前記対象回路内の複数の素子の中から特性が同一または類似する素子群を検出する検出工程と、
前記検出工程によって検出された素子群に含まれる素子ごとに固有のリーク電流のバラツキを表す確率変数を一つの確率変数に変換する変換工程と、
前記変換工程によって変換された変換後の確率変数を用いて、前記素子群のリーク電流のバラツキを表す関数を算出する関数算出工程と、
前記関数算出工程によって算出された前記素子群のリーク電流のバラツキを表す関数を出力する出力工程と、
を実行することを特徴とする解析支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路のリーク電流の解析を支援する解析支援プログラム、解析支援装置および解析支援方法に関する。
【背景技術】
【０００２】
近年、半導体集積回路の微細化にともなって、プロセスに起因するリーク電流のバラツキが増大している。リーク電流とは、電子回路において本来流れるはずのない箇所で流れ出る電流である。リーク電流は、回路の消費電力・発熱を増大させ、回路の性能を低下させる原因となる。そのため、回路設計時にリーク電流を正確に見積もり、その対策を行なうことが重要となる。
【０００３】
リーク電流のバラツキを考慮して対象回路のリーク電流を見積もる手法として、統計的リーク電流解析がある。統計的リーク電流解析では、回路内の各素子のリーク電流のバラツキモデルを作成する。そして、統計的リーク電流解析では、回路内の各素子のリーク電流のバラツキの総和として、回路全体のリーク電流のバラツキ分布を計算する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１６４２４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来技術では、回路内の膨大な数（たとえば、数千万〜数億）の素子のリーク電流のバラツキの総和として、回路全体のリーク電流のバラツキ分布を計算する。このため、統計的リーク電流解析にかかる処理時間が増大化し、ひいては設計期間の長期化を招くという問題があった。
【０００６】
本発明は、上述した従来技術による問題点を解消するため、対象回路のリーク電流の解析にかかる処理時間の短縮化を図ることができる解析支援プログラム、解析支援装置および解析支援方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するため、開示の解析支援プログラム、解析支援装置および解析支援方法は、対象回路内の素子ごとに、当該素子のリーク電流のバラツキを表す関数に含まれる前記素子に固有の係数を取得し、取得された前記素子に固有の係数に基づいて、前記対象回路内の複数の素子の中から特性が同一または類似する素子群を検出し、検出された素子群に含まれる素子ごとに固有のリーク電流のバラツキを表す確率変数を一つの確率変数に変換し、変換された変換後の確率変数を用いて、前記素子群のリーク電流のバラツキを表す関数を算出し、算出された前記素子群のリーク電流のバラツキを表す関数を出力することを要件とする。
【発明の効果】
【０００８】
本解析支援プログラム、解析支援装置および解析支援方法によれば、対象回路のリーク電流の解析にかかる処理時間の短縮化を図ることができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】本解析支援手法の一実施例を示す説明図である。
【図２】解析支援装置のハードウェア構成の一例を示すブロック図である。
【図３】セルバラツキデータテーブルの記憶内容の一例を示す説明図である。
【図４】解析支援装置の機能的構成の一例を示すブロック図である。
【図５】検出部の処理内容の概要を示す説明図である。
【図６】メッシュバラツキデータテーブルの記憶内容の一例を示す説明図である。
【図７】解析結果の一例を示す説明図である。
【図８】解析支援装置の解析支援処理手順の一例を示すフローチャート（その１）である。
【図９】解析支援装置の解析支援処理手順の一例を示すフローチャート（その２）である。
【図１０】リーク算出部のリーク電流算出処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して、この発明にかかる解析支援プログラム、解析支援装置および解析支援方法の好適な実施の形態を詳細に説明する。
【００１１】
（本解析支援手法の一実施例）
まず、実施の形態にかかる本解析支援手法の一実施例について説明する。なお、本明細書において、対象回路とは、回路設計時におけるリーク電流の解析対象となる半導体集積回路（たとえば、プロセッサ）である。セルとは、対象回路に含まれるＮＯＴゲート、ＡＮＤゲート、ＮＡＮＤゲート、ＯＲゲート、配線、バッファ、ＩＮＶ（インバータ）、ＦＦなどの素子である。
【００１２】
対象回路内の各セルのリーク電流のバラツキとして、対象回路内の各セルに固有の第１バラツキと、対象回路内の全セルに共通の第２バラツキとがある。このため、セルのリーク電流のバラツキは、下記式（１）のように、セル内のトランジスタのゲート長、ゲート幅などに基づくバラツキパラメータの関数として表現することができる。
【００１３】
ただし、ｌCは、セルのリーク電流のバラツキである。また、αは、第１バラツキに関する各セルに固有の第１バラツキパラメータである。また、βは、第２バラツキに関する対象回路内の全セルに共通の第２バラツキパラメータである。α，βは、確率変数であり、たとえば、平均「０」、標準偏差「１」の標準正規分布である。また、ａ，ｂ，ｃは各セルに固有の係数である。
【００１４】
ｌC＝ｅｘｐ（ａ＋ｂ×α＋ｃ×β）      ・・・（１）
【００１５】
以下、図１を用いて、本解析支援手法の一実施例について説明する。図１は、本解析支援手法の一実施例を示す説明図である。図１において、対象回路１００は、セルＣ１〜Ｃ５を含む構成である。なお、図面では、対象回路１００の一部を抜粋して表示している。ここでは説明上、対象回路１００に含まれる全セルをセルＣ１〜Ｃ３とする。
【００１６】
この場合、対象回路１００のリーク電流のバラツキは、下記式（２）のように、各セルＣ１〜Ｃ３のリーク電流のバラツキの総和となる。ただし、Ｌは、対象回路１００のリーク電流のバラツキである。ｌC1は、セルＣ１のリーク電流のバラツキである。ｌC2は、セルＣ２のリーク電流のバラツキである。ｌC3は、セルＣ３のリーク電流のバラツキである。
【００１７】
Ｌ＝ｌC1＋ｌC2＋ｌC3
＝ｅｘｐ（ａ1＋ｂ1×α1＋ｃ1×β）＋ｅｘｐ（ａ2＋ｂ2×α2＋ｃ2×β）＋ｅｘｐ（ａ3＋ｂ3×α3＋ｃ3×β）      ・・・（２）
【００１８】
対象回路１００内のセルＣ１〜Ｃ３は、特性が同一または類似するセル群である。具体的には、セルＣ１〜Ｃ３は、同一の駆動能力を有するＮＡＮＤゲートである。ここで、特性が同一のセル群とは、たとえば、セルの種類（機能）が同一でかつセルの駆動能力が同一のセル群である。また、特性が類似のセル群とは、たとえば、セルの種類が同一かつセルの駆動能力の違いが所定値以内のセル群である。
【００１９】
特性が同一または類似するセル同士は、各セルに固有の上記係数ａ，ｂ，ｃの値が同一または近似する。上記式（２）の例では、係数ａ1〜ａ3の値は同一であり、係数ｂ1〜ｂ3の値は同一であり、係数ｃ1〜ｃ3の値は同一である。
【００２０】
（ｉ）本解析支援手法では、各係数ａ1〜ａ3，ｂ1〜ｂ3，ｃ1〜ｃ3を係数ａ，ｂ，ｃに置き換える（ただし、ａ＝ａ1＝ａ2＝ａ3、ｂ＝ｂ1＝ｂ2＝ｂ3、ｃ＝ｃ1＝ｃ2＝ｃ3）。この結果、上記式（２）は下記式（３）に変換される。
【００２１】
Ｌ＝ｅｘｐ（ａ＋ｂ×α1＋ｃ×β）＋ｅｘｐ（ａ＋ｂ×α2＋ｃ×β）＋ｅｘｐ（ａ＋ｂ×α3＋ｃ×β）
＝ｅｘｐ（ａ）×｛ｅｘｐ（ｂ×α1）＋ｅｘｐ（ｂ×α2）＋ｅｘｐ（ｂ×α3）｝×ｅｘｐ（ｃ×β）        ・・・（３）
【００２２】
（ｉｉ）本解析支援手法では、上記式（３）に含まれるセルＣ１〜Ｃ３ごとに固有の複数の第１バラツキパラメータα1，α2，α3を一つの第１バラツキパラメータαに変換する。具体的には、たとえば、本解析支援手法では、数学的な近似手法を用いて、上記式（３）の第１バラツキパラメータα1，α2，α3を含む項を下記式（４）のように変換する。ただし、Ａは下記式（５）、Ｂ2は下記式（６）となる。
【００２３】
ｅｘｐ（ｂ×α1）＋ｅｘｐ（ｂ×α2）＋ｅｘｐ（ｂ×α3）
≒ｅｘｐ（Ａ＋Ｂ×α）        ・・・（４）
【００２４】
Ａ＝（１／２）×ｌｏｇ［３3ｅｘｐ（ｂ2）／｛ｅｘｐ（ｂ2）＋３−１｝］
・・・（５）
【００２５】
Ｂ2＝ｌｏｇ｛（ｅｘｐ（ｂ2）＋３−１）／３｝      ・・・（６）
【００２６】
（ｉｉｉ）本解析支援手法では、複数の第１バラツキパラメータα1，α2，α3を一つに集約した第１バラツキパラメータαを用いて、対象回路１００（セルＣ１〜Ｃ３）のリーク電流のバラツキを表す関数を算出する。この結果、上記式（３）は下記式（７）に変換される。
【００２７】
Ｌ＝ｅｘｐ（ａ）×ｅｘｐ（Ａ＋Ｂ×α）×ｅｘｐ（ｃ×β）
＝ｅｘｐ（ａ＋Ａ＋Ｂ×α＋ｃ×β）                ・・・（７）
【００２８】
以上説明した本解析支援手法によれば、対象回路内の複数のセルを特性が同一または類似するセル群に分類して、リーク電流のバラツキを表す関数（多項式）の項数を削減することができる。その結果、対象回路の統計的リーク電流解析にかかる処理時間の短縮化を図ることができる。上記式（３）から上記式（７）への変換例では、指数関数に関する項が３項から１項に削減されている。
【００２９】
（解析支援装置２００のハードウェア構成）
つぎに、実施の形態にかかる解析支援装置２００のハードウェア構成について説明する。図２は、解析支援装置のハードウェア構成の一例を示すブロック図である。図２において、解析支援装置２００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、ＲＯＭ（Ｒｅａｄ‐Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３と、磁気ディスクドライブ２０４と、磁気ディスク２０５と、光ディスクドライブ２０６と、光ディスク２０７と、ディスプレイ２０８と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）２０９と、キーボード２１０と、マウス２１１と、スキャナ２１２と、プリンタ２１３と、を備えている。また、各構成部はバス２２０によってそれぞれ接続されている。
【００３０】
ここで、ＣＰＵ２０１は、解析支援装置２００の全体の制御を司る。ＲＯＭ２０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ２０３は、ＣＰＵ２０１のワークエリアとして使用される。磁気ディスクドライブ２０４は、ＣＰＵ２０１の制御にしたがって磁気ディスク２０５に対するデータのリード／ライトを制御する。磁気ディスク２０５は、磁気ディスクドライブ２０４の制御で書き込まれたデータを記憶する。
【００３１】
光ディスクドライブ２０６は、ＣＰＵ２０１の制御にしたがって光ディスク２０７に対するデータのリード／ライトを制御する。光ディスク２０７は、光ディスクドライブ２０６の制御で書き込まれたデータを記憶したり、光ディスク２０７に記憶されたデータをコンピュータに読み取らせたりする。
【００３２】
ディスプレイ２０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ２０８は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００３３】
Ｉ／Ｆ２０９は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク２１４に接続され、このネットワーク２１４を介して他の装置に接続される。そして、Ｉ／Ｆ２０９は、ネットワーク２１４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ２０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００３４】
キーボード２１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行なう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス２１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行なう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００３５】
スキャナ２１２は、画像を光学的に読み取り、解析支援装置２００内に画像データを取り込む。なお、スキャナ２１２は、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅａｄｅｒ）機能を持たせてもよい。また、プリンタ２１３は、画像データや文書データを印刷する。プリンタ２１３には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
【００３６】
（セルバラツキデータテーブル３００の記憶内容）
つぎに、解析支援装置２００が用いるセルバラツキデータテーブル３００の記憶内容について説明する。なお、セルバラツキデータテーブル３００は、たとえば、図２に示したＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶装置により実現される。
【００３７】
図３は、セルバラツキデータテーブルの記憶内容の一例を示す説明図である。図３において、セルバラツキデータテーブル３００は、セルＩＤ、係数ａ、係数ｂおよび係数ｃのフィールドを有する。各フィールドに情報を設定することで、セルＣ１〜Ｃｎごとのセルバラツキデータ３００−１〜３００−ｎがレコードとして記憶されている。
【００３８】
ここで、セルＩＤは、対象回路に含まれるセルＣｉの識別子である（ｉ＝１，２，…，ｎ）。係数ａ，ｂ，ｃは、セルＣｉのリーク電流のバラツキを表現する上記式（１）に含まれる係数群である。セルＣｉを例に挙げると、係数群｛ａ、ｂ、ｃ｝は｛ａ（ｉ）、ｂ（ｉ）、ｃ（ｉ）｝となる。
【００３９】
（解析支援装置２００の機能的構成）
つぎに、解析支援装置２００の機能的構成について説明する。図４は、解析支援装置の機能的構成の一例を示すブロック図である。図４において、解析支援装置２００は、取得部４０１と、検出部４０２と、分割部４０３と、係数算出部４０４と、変換部４０５と、関数算出部４０６と、リーク算出部４０７と、出力部４０８と、を含む構成である。
【００４０】
各機能部（取得部４０１〜出力部４０８）は、具体的には、たとえば、ＲＯＭ２０２、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶装置に記憶されたプログラムをＣＰＵ２０１に実行させることにより、または、Ｉ／Ｆ２０９により、その機能を実現する。また、各機能部（取得部４０１〜出力部４０８）の処理結果は、特に指定する場合を除いて、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶装置に記憶される。
【００４１】
まず、取得部４０１は、対象回路内のセルＣｉごとに、セルＣｉのリーク電流のバラツキを表す関数に含まれるセルＣｉに固有の係数を取得する機能を有する。ここで、各セルＣｉのリーク電流のバラツキを表す関数とは、たとえば、上記式（１）に示す確率密度関数である。また、セルＣｉに固有の係数とは、たとえば、上記式（１）に含まれる係数群｛ａ，ｂ，ｃ｝である。
【００４２】
具体的には、たとえば、取得部４０１が、キーボード２１０やマウス２１１を用いたユーザの操作入力により、セルバラツキデータ３００−１〜３００−ｎを取得する。また、取得部４０１が、不図示のデータベースやライブラリからの抽出によりセルバラツキデータ３００−１〜３００−ｎを取得することにしてもよい。なお、取得されたセルバラツキデータ３００−１〜３００−ｎは、たとえば、図３に示したセルバラツキデータテーブル３００に記憶される。
【００４３】
検出部４０２は、取得されたセルＣｉに固有の係数に基づいて、対象回路内の複数のセルＣ１〜Ｃｎの中から特性が同一または類似するセル群を検出する機能を有する。ここで、特性とは、たとえば、ＮＯＴゲート、ＡＮＤゲート、配線、バッファ、ＩＮＶ、ＦＦなどのセルＣｉの種類やセルＣｉの駆動能力によって決まるセルＣｉの特性である。
【００４４】
また、特性が同一または類似するセル同士は、セルＣｉに固有の係数の値が同一または近似する。そこで、検出部４０２は、複数のセルＣ１〜Ｃｎのうち、セルＣｉに固有の係数の値が同一または近似するセル群を、特性が同一または類似するセル群として検出する。以下、図５を用いて、検出部４０２の具体的な処理内容の一例について説明する。
【００４５】
図５は、検出部の処理内容の概要を示す説明図である。図５において、ａｂｃ座標系５００は、ａ軸とｂ軸とｃ軸とからなる直交座標系である。ここで、ａ軸は、上記式（１）に含まれる係数ａの値を示す座標軸である。ｂ軸は、上記式（１）に含まれる係数ｂの値を示す座標軸である。ｃ軸は、上記式（１）に含まれる係数ｃの値を示す座標軸である。
【００４６】
まず、分割部４０３は、分割数Ｎａ，Ｎｂ，Ｎｃに基づいて、各係数ａ，ｂ，ｃの最小値から最大値までを分割する。ここで、分割数Ｎａは、セルＣｉに固有の係数ａの最小値から最大値までを分割する際の分割数である。分割数Ｎｂは、セルＣｉに固有の係数ｂの最小値から最大値までを分割する際の分割数である。分割数Ｎｃは、セルＣｉに固有の係数ｃの最小値から最大値までを分割する際の分割数である。
【００４７】
なお、分割数Ｎａ，Ｎｂ，Ｎｃは、たとえば、予め設定されてＲＯＭ２０２、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶装置に記憶されている。また、取得部４０１が、キーボード２１０やマウス２１１を用いたユーザの操作入力により、分割数Ｎａ，Ｎｂ，Ｎｃを取得することにしてもよい。
【００４８】
ただし、分割数Ｎａ，Ｎｂ，Ｎｃを大きい値に設定するほど、対象回路のリーク電流を高精度に求めることができる一方で、解析にかかる処理時間が増加するというトレードオフの関係にある。そのため、分割数Ｎａ，Ｎｂ，Ｎｃの値は、対象回路の設計期間等に合わせてユーザが適宜設定する。
【００４９】
具体的には、たとえば、分割部４０３が、各係数ａ〜ｃの最小値から最大値までを分割数Ｎａ，Ｎｂ，Ｎｃで均等に分割する。この結果、各軸（ａ軸、ｂ軸、ｃ軸）が複数の区間に分割される。この場合、各軸ａ〜ｃの各区間の長さ（以下、「メッシュ幅」という）は、下記式（８）〜（１０）となる。
【００５０】
ただし、ｈa，ｈb，ｈcは、ａ軸、ｂ軸、ｃ軸のメッシュ幅である。また、ａmax，ａminは、セルＣ１〜Ｃｎの係数ａ（１）〜ａ（ｎ）のうちの最大値、最小値である。ｂmax，ｂminは、セルＣ１〜Ｃｎの係数ｂ（１）〜ｂ（ｎ）のうちの最大値、最小値である。ｃmax，ｃminは、セルＣ１〜Ｃｎの係数ｃ（１）〜ｃ（ｎ）のうちの最大値、最小値である。Ｎａ，Ｎｂ，Ｎｃは、分割数である。
【００５１】
ｈa＝（ａmax−ａmin）／Ｎａ        ・・・（８）
【００５２】
ｈb＝（ｂmax−ｂmin）／Ｎｂ        ・・・（９）
【００５３】
ｈc＝（ｃmax−ｃmin）／Ｎｃ        ・・・（１０）
【００５４】
たとえば、各分割数Ｎａ，Ｎｂ，Ｎｃを「Ｎａ＝２，Ｎｂ＝３，Ｎｃ＝２」とする。この場合、ａ軸のａminからａmaxまでの区間が２等分され、ｂ軸のｂminからｂmaxまでの区間が３等分され、ｃ軸のｃminからｃmaxまでの区間が２等分される。
【００５５】
ここで、ａｂｃ座標系５００において、点ｔ１〜点ｔ８を頂点とする空間５１０を想定する（図５中、太線の直方体）。ただし、点ｔ１〜点４の座標（ａ，ｂ，ｃ）は、点ｔ１（ａmin，ｂmin，ｃmin）、点ｔ２（ａmax，ｂmin，ｃmin）、点ｔ３（ａmax，ｂmax，ｃmin）、点ｔ４（ａmin，ｂmax，ｃmin）である。また、点ｔ５〜点８の座標（ａ，ｂ，ｃ）は、点ｔ５（ａmin，ｂmin，ｃmax）、点ｔ６（ａmax，ｂmin，ｃmax）、点ｔ７（ａmax，ｂmax，ｃmax）、点ｔ８（ａmin，ｂmax，ｃmax）である。
【００５６】
そして、空間５１０を、ａ軸上の分割点を通り、ｂ軸とｃ軸とからなる平面に平行な面で分割する。また、空間５１０を、ｂ軸上の分割点を通り、ａ軸とｃ軸とからなる平面に平行な面で分割する。空間５１０を、ｃ軸上の分割点を通り、ａ軸とｂ軸とからなる平面に平行な面で分割する。
【００５７】
この結果、ａｂｃ座標系５００において、空間５１０が複数の立方体または直方体（以下、「メッシュ空間Ｍ１〜Ｍｍ」という）に分割される。図５に示す例では、ａｂｃ座標系５００において、空間５１０がメッシュ空間Ｍ１〜Ｍ１２に分割されている（ｍ＝Ｎａ×Ｎｂ×Ｎｃ＝１２）。
【００５８】
ここで、メッシュ空間Ｍ１〜Ｍｍのうちメッシュ空間Ｍｊ（ｊ＝１，２，…，ｍ）のａｂｃ座標系５００における座標を下記式（１１）のように表現する。ただし、ｒaは、メッシュ空間Ｍｊのａ軸上の座標（係数ａの範囲）である。ｒbは、メッシュ空間Ｍｊのｂ軸上の座標（係数ｂの範囲）である。ｒcは、メッシュ空間Ｍｊのｃ軸上の座標（係数ｃの範囲）である。ｒa，ｒb，ｒcは、０を含む自然数（０，１，２，…）である。
【００５９】
［ｒa，ｒb，ｒc］＝［ａmin＋ｒa×ｈa≦ａ＜ａmin＋（ｒa＋１）×ｈa，ｂmin＋ｒb×ｈb≦ｂ＜ｂmin＋（ｒb＋１）×ｈb，ｃmin＋ｒc×ｈc≦ｃ＜ｃmin＋（ｒc＋１）×ｈc］                  ・・・（１１）
【００６０】
たとえば、メッシュ空間Ｍ１の座標［ｒa，ｒb，ｒc］は、［０，０，０］＝［ａmin≦ａ＜ａmin＋ｈa，ｂmin≦ｂ＜ｂmin＋ｈb，ｃmin≦ｃ＜ｃmin＋ｈc］である。また、メッシュ空間Ｍ８の座標［ｒa，ｒb，ｒc］は、［１，０，１］＝［ａmin＋ｈa≦ａ＜ａmin＋２ｈa，ｂmin≦ｂ＜ｂmin＋ｈb，ｃmin＋ｈc≦ｃ＜ｃmin＋２ｈc］である。
【００６１】
そして、検出部４０２は、セルＣｉに固有の係数ａ、ｂ、ｃの値に基づいて、セルＣｉをａｂｃ座標系５００にプロットした場合に、メッシュ空間Ｍｊに含まれるセル群を、特性が同一または類似するセル群として検出する。すなわち、係数ａ、ｂ、ｃの値が近似しているものは、同一のメッシュ空間Ｍｊに含まれることを利用して、特性が同一または類似するセル群をメッシュ空間単位で検出する。
【００６２】
ここで、メッシュ空間Ｍ８を例に挙げると、検出部４０２が、複数のセルＣ１〜Ｃｎの中から、係数ａの値が下記式（１２）を満たし、かつ、係数ｂの値が下記式（１３）を満たし、かつ、係数ｃの値が下記式（１４）を満たすセル群を検出する。図５の例では、メッシュ空間Ｍ８に含まれるセルＣ３，Ｃ５，Ｃ７，Ｃ９が、特性が同一または類似するセル群として検出される。
【００６３】
ａmin＋ｈa≦ａ＜ａmin＋２ｈa        ・・・（１２）
ｂmin≦ｂ＜ｂmin＋ｈb                ・・・（１３）
ｃmin＋ｈc≦ｃ＜ｃmin＋２ｈc        ・・・（１４）
【００６４】
なお、検出された検出結果は、たとえば、図６に示すメッシュバラツキデータテーブル６００に記憶される。メッシュバラツキデータテーブル６００は、たとえば、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶装置により実現される。
【００６５】
図６は、メッシュバラツキデータテーブルの記憶内容の一例を示す説明図である。図６において、メッシュバラツキデータテーブル６００は、メッシュ空間ＩＤ、座標、セルＩＤ、セル数、係数Ａ、係数Ｂおよび係数Ｃのフィールドを有する。各フィールドに情報を設定することで、メッシュ空間Ｍ１〜Ｍｍごとのメッシュバラツキデータ６００−１〜６００−ｍがレコードとして記憶されている。
【００６６】
ここで、メッシュ空間ＩＤは、メッシュ空間Ｍｊの識別子である（ｊ＝１，２，…，ｍ）。座標は、ａｂｃ座標系５００におけるメッシュ空間Ｍｊの座標である。セルＩＤは、メッシュ空間Ｍｊに含まれるセルＣｉの識別子である。以下の説明では、メッシュ空間Ｍｊに含まれるセルＣｉを「セルｐ［１］，セルｐ［２］，…，セルｐ［Ｘ］」と表記する。
【００６７】
セル数は、メッシュ空間Ｍｊに含まれるセル数Ｘである。係数Ａ、係数Ｂおよび係数Ｃは、メッシュ空間Ｍｊに含まれるセル群ｐ［１］〜ｐ［Ｘ］のリーク電流のバラツキを表す下記式（２３）に含まれる係数群である。なお、係数Ａ、係数Ｂおよび係数Ｃについての詳細は後述する。
【００６８】
たとえば、検出部４０２によってメッシュ空間Ｍ８に含まれるセルＣ３，Ｃ５，Ｃ７，Ｃ９が検出されたとする。この場合、メッシュバラツキデータテーブル６００内のメッシュ空間Ｍ８の「セルＩＤ」フィールドに「Ｃ３，Ｃ５，Ｃ７，Ｃ９」が設定され、「セル数」フィールドに「４」が設定される。
【００６９】
図４の説明に戻り、係数算出部４０４は、検出されたセル群に含まれるセルＣｉに固有の係数に基づいて、セル群に含まれる全セルＣｉに共通の係数の値を算出する。具体的には、たとえば、係数算出部４０４は、下記式（１５）〜（１７）を用いて、セル群ｐ［１］〜ｐ［Ｘ］に共通の係数の値を算出することができる。
【００７０】
ただし、ｇa（ｊ）は、メッシュ空間Ｍｊに含まれるセルｐ［１］〜ｐ［Ｘ］に共通の係数ａの値である。ｇb（ｊ）は、メッシュ空間Ｍｊに含まれるセルｐ［１］〜ｐ［Ｘ］に共通の係数ｂの値である。ｇc（ｊ）は、メッシュ空間Ｍｊに含まれるセルｐ［１］〜ｐ［Ｘ］に共通の係数ｃの値である。
【００７１】
また、Ｘは、メッシュ空間Ｍｊに含まれるセル数である。ｐa［１］〜ｐa［Ｘ］は、各セルｐ［１］〜ｐ［Ｘ］の係数ａの値である。ｐb［１］〜ｐb［Ｘ］は、各セルｐ［１］〜ｐ［Ｘ］の係数ｂの値である。ｐc［１］〜ｐc［Ｘ］は、各セルｐ［１］〜ｐ［Ｘ］の係数ｃの値である。
【００７２】
ｇa（ｊ）＝（ｐa［１］＋ｐa［２］＋…＋ｐa［Ｘ］）／Ｘ      ・・・（１５）
【００７３】
ｇb（ｊ）＝（ｐb［１］＋ｐb［２］＋…＋ｐb［Ｘ］）／Ｘ      ・・・（１６）
【００７４】
ｇc（ｊ）＝（ｐc［１］＋ｐc［２］＋…＋ｐc［Ｘ］）／Ｘ      ・・・（１７）
【００７５】
上述したメッシュ空間Ｍ８の例では、メッシュ空間Ｍ８に含まれるセルＣ３，Ｃ５，Ｃ７，Ｃ９に共通の係数ａの値は、「ｇa（８）＝｛ａ（３）＋ａ（５）＋ａ（７）＋ａ（９）｝／４」となる。また、メッシュ空間Ｍ８に含まれるセルＣ３，Ｃ５，Ｃ７，Ｃ９に共通の係数ｂの値は、「ｇb（８）＝｛ｂ（３）＋ｂ（５）＋ｂ（７）＋ｂ（９）｝／４」となる。また、メッシュ空間Ｍ８に含まれるセルＣ３，Ｃ５，Ｃ７，Ｃ９に共通の係数ｃの値は、「ｇc（８）＝｛ｃ（３）＋ｃ（５）＋ｃ（７）＋ｃ（９）｝／４」となる。
【００７６】
すなわち、各係数ａ，ｂ，ｃの値の平均値（メッシュ空間Ｍｊの重心）を、セルｐ［１］〜ｐ［Ｘ］に共通の各係数ａ，ｂ，ｃの値としている。ただし、メッシュ空間Ｍｊの中心点の座標や、メッシュ空間Ｍｊ内の任意の点の座標を、セルｐ［１］〜ｐ［Ｘ］に共通の各係数ａ，ｂ，ｃの値としてもよい。なお、メッシュ空間Ｍｊに含まれるセルＣｉが０点の場合、上記係数ｇa（ｊ），ｇb（ｊ），ｇc（ｊ）は算出しない。
【００７７】
変換部４０５は、検出されたセル群に含まれるセルＣｉごとに固有のリーク電流のバラツキを表す確率変数を一つの確率変数に変換する機能を有する。具体的には、たとえば、まず、変換部４０５が、各セルｐ［１］〜ｐ［Ｘ］に固有の係数ｐa［１］〜ｐa［Ｘ］，ｐb［１］〜ｐb［Ｘ］，ｐc［１］〜ｐc［Ｘ］を、セルｐ［１］〜ｐ［Ｘ］に共通の係数ｇa（ｊ），ｇb（ｊ），ｇc（ｊ）に変換する。
【００７８】
ここで、メッシュ空間Ｍｊに含まれるセル群ｐ［１］〜ｐ［Ｘ］のリーク電流のバラツキは、下記式（１８）のようになる。ただし、ｌMjは、メッシュ空間Ｍｊに含まれるセル群ｐ［１］〜ｐ［Ｘ］のリーク電流のバラツキである。α[x]は、セルｐ［ｘ］に固有の第１バラツキパラメータである（ｘ＝１，２，…，Ｘ）。βは、対象回路の全セルＣ１〜Ｃｎに共通の第２バラツキパラメータである。
【００７９】
ｌMj＝ｅｘｐ（ｐa［１］＋ｐb［１］×α[1]＋ｐc［１］×β）＋ｅｘｐ（ｐa［２］＋ｐb［２］×α[2]＋ｐc［２］×β）＋…＋ｅｘｐ（ｐa［Ｘ］＋ｐb［Ｘ］×α[X]＋ｐc［Ｘ］×β）      ・・・（１８）
【００８０】
このため、変換部４０５が、各セルｐ［ｘ］に固有の係数ｐa［ｘ］，ｐb［ｘ］，ｐc［ｘ］を、全セルｐ［１］〜ｐ［Ｘ］に共通の係数ｇa（ｊ），ｇb（ｊ），ｇc（ｊ）に変換すると、上記式（１８）は下記式（１９）に変換される。
【００８１】
ｌMj＝ｅｘｐ（ｇa（ｊ））×｛ｅｘｐ（ｇb（ｊ）×α[1]）＋ｅｘｐ（ｇb（ｊ）×α[2]）＋…＋ｅｘｐ（ｇb（ｊ）×α[X]）｝×ｅｘｐ（ｇc（ｊ）×β）
・・・（１９）
【００８２】
このあと、変換部４０５は、上記式（１９）に含まれる、セルｐ［１］〜ｐ［Ｘ］ごとに固有のＸ個の第１バラツキパラメータα[1]〜α[X]を一つの第１バラツキパラメータαjに変換する。具体的には、たとえば、変換部４０５が、Ｗｉｌｋｉｎｓｏｎ近似を用いて、上記式（１９）の第１バラツキパラメータα[1]〜α[X]を含む項を下記式（２０）のように変換することができる。ただし、Ａ（ｊ）は下記式（２１）、Ｂ（ｊ）2は下記式（２２）となる。なお、Ｗｉｌｋｉｎｓｏｎ近似についての詳細な説明は後述する。
【００８３】
ｅｘｐ（ｇb（ｊ）×α[1]）＋ｅｘｐ（ｇb（ｊ）×α[2]）＋…＋ｅｘｐ（ｇb（ｊ）×α[X]≒ｅｘｐ｛Ａ（ｊ）＋Ｂ（ｊ）×αj｝            ・・・（２０）
【００８４】
Ａ（ｊ）＝ｇa（ｊ）＋（１／２）×ｌｏｇ［Ｎ（ｊ）3×ｅｘｐ（ｇb（ｊ）2）／｛ｅｘｐ（ｇb（ｊ）2）＋Ｎ（ｊ）−１｝］      ・・・（２１）
【００８５】
Ｂ（ｊ）2＝ｌｏｇ｛（ｅｘｐ（ｇb（ｊ）2）＋Ｎ（ｊ）−１）／Ｎ（ｊ）｝
・・・（２２）
【００８６】
なお、変換された変換結果は、たとえば、図６に示したメッシュバラツキデータテーブル６００に記憶される。具体的には、上記式（２０）に含まれるＡ（ｊ）およびＢ（ｊ）が、メッシュバラツキデータテーブル６００内のメッシュ空間Ｍｊの「係数Ａ」フィールドおよび「係数Ｂ」フィールドにそれぞれ設定される。
【００８７】
関数算出部４０６は、変換された変換後の確率変数を用いて、セル群のリーク電流のバラツキを表す関数を算出する機能を有する。具体的には、たとえば、関数算出部４０６が、第１バラツキパラメータαjを用いて、セル群ｐ［１］〜ｐ［Ｘ］のリーク電流のバラツキを表す下記式（２３）を算出する。ただし、Ｃ（ｊ）は、ｇc（ｊ）である。βは、対象回路の全セルＣ１〜Ｃｎに共通の第２バラツキパラメータである。
【００８８】
ｌMj＝ｅｘｐ｛Ａ（ｊ）＋Ｂ（ｊ）×αj＋Ｃ（ｊ）×β｝      ・・・（２３）
【００８９】
なお、上記式（２３）に含まれるＣ（ｊ）は、メッシュバラツキデータテーブル６００内のメッシュ空間Ｍｊの「係数Ｃ」フィールドに設定される。
【００９０】
リーク算出部４０７は、算出されたセル群のリーク電流のバラツキを表す関数に基づいて、対象回路のリーク電流を算出する機能を有する。具体的には、たとえば、リーク算出部４０７が、メッシュバラツキデータテーブル６００内のメッシュバラツキデータ６００−１〜６００−ｍに基づいて、対象回路の統計的リーク電流解析を実行する。
【００９１】
また、リーク算出部４０７が、メッシュバラツキデータ６００−１〜６００−ｍを外部のシミュレータ（不図示）に与えて、対象回路の統計的リーク電流解析を実行することにしてもよい。この場合、リーク算出部４０７が、統計的リーク電流解析の解析結果を外部のシミュレータから取得することになる。
【００９２】
より具体的には、たとえば、リーク算出部４０７が、メッシュバラツキデータ６００−１〜６００−ｍに基づいて、モンテカルロシミュレーションを実行する。この際、特性が同一または類似するセル群の係数項を集約しているため、乱数生成、指数計算、乗算、加法等の計算処理が大幅に削減され、処理時間の短縮化を図ることができる。
【００９３】
出力部４０８は、算出された対象回路のリーク電流を出力する機能を有する。具体的には、たとえば、出力部４０８が、図７に示す統計的リーク電流解析の解析結果７００を出力することにしてもよい。出力形式としては、たとえば、ディスプレイ２０８への表示、プリンタ２１３への印刷出力、Ｉ／Ｆ２０９による外部装置への送信がある。また、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶することとしてもよい。
【００９４】
図７は、解析結果の一例を示す説明図である。図７において、解析結果７００は、対象回路のリーク電流Ｌ（１）〜Ｌ（Ｋ）ごとの累積確率Ｐ（１）〜Ｐ（Ｋ）を有している。ここで、リーク電流Ｌ（ｋ）に対応する累積確率Ｐ（ｋ）は、対象回路のリーク電流がＬ（ｋ）以下となる確率を表している（ｋ＝１，２，…，Ｋ）。
【００９５】
また、出力部４０８は、関数算出部４０６によって算出されたセル群のリーク電流のバラツキを表す関数を出力することにしてもよい。具体的には、たとえば、出力部４０８が、メッシュバラツキデータテーブル６００内のメッシュバラツキデータ６００−１〜６００−ｍを出力する。これにより、以降において、任意のタイミングで外部のシミュレータを用いて、対象回路の統計的リーク電流解析を実行することができる。
【００９６】
また、上述した説明では、分割部４０３が、各係数ａ〜ｃの最小値から最大値までを分割数Ｎａ，Ｎｂ，Ｎｃで均等に分割することにしたが、これに限らない。具体的には、たとえば、分割部４０３が、係数ａについてのみ、係数ａの最小値から最大値までをリーク電流のティピカル値が均等となるように分割数Ｎａで分割することにしてもよい。
【００９７】
ここで、リーク電流のティピカル値とは、たとえば、セルＣｉのリーク電流のバラツキ成分を排除した場合のセルＣｉのリーク電流である。すなわち、上記式（１）に含まれるα、βを無視（α＝β＝０）した場合のセルＣｉのリーク電流である。このため、セルＣｉのリーク電流のティピカル値は下記式（２４）となる。ただし、ｌtypはリーク電流のティピカル値である。
【００９８】
ｌtyp＝ｅｘｐ（ａ）      ・・・（２４）
【００９９】
すなわち、分割部４０３が、係数ａについて、ティピカル値の最小値（ｅｘｐ（ａmin））から最大値（ｅｘｐ（ａmax））までを分割数Ｎａで均等に分割する。なお、係数ｂ，ｃについては、たとえば、分割部４０３が、各係数ｂ，ｃの最小値から最大値までを分割数Ｎｂ，Ｎｃで均等に分割する。なお、この場合のａ軸のメッシュ幅ｈaは下記式（２５）となり、メッシュ空間Ｍｊの座標は下記式（２６）となる。
【０１００】
ｈa＝｛ｅｘｐ（ａmax）−ｅｘｐ（ａmin）｝／Ｎａ        ・・・（２５）
【０１０１】
［ｒa，ｒb，ｒc］＝［ｌｏｇ｛ｅｘｐ（ａmin）｝＋ｒa×ｈa］≦ａ＜［ｌｏｇ｛ｅｘｐ（ａmin）｝＋（ｒa＋１）×ｈa］，ｂmin＋ｒb×ｈb≦ｂ＜ｂmin＋（ｒb＋１）×ｈb，ｃmin＋ｒc×ｈc≦ｃ＜ｃmin＋（ｒc＋１）×ｈc］    ・・・（２６）
【０１０２】
このように、リーク電流のティピカル値が均等になるように分割することにより、係数ａの最小値から最大値までを均等に分割する場合に比べて、リーク電流の値が同一または近似するセル群を、特性が同一または類似するセル群として検出することができる。この結果、対象回路のリーク電流を、より高精度に求めることができる。
【０１０３】
また、上述した説明では、各セルＣｉに固有の全係数ａ，ｂ，ｃに着目して、特性が同一または類似するセル群を検出することにしたが、これに限らない。たとえば、検出部４０２が、係数ａ，ｂ，ｃのうちのいずれかの係数の値が同一または近似するセル群を、特性が同一または類似するセル群として検出することにしてもよい。具体的には、たとえば、分割部４０３が、各セルＣｉに固有の係数ａの最小値から最大値までを分割数Ｎａで複数の区間に分割する。そして、検出部４０２が、係数ａの値が同一区間内となるセル群を、特性が同一または類似するセル群として検出する。
【０１０４】
（Ｗｉｌｋｉｎｓｏｎ近似）
以下、上述したＷｉｌｋｉｎｓｏｎ近似について説明する。Ｗｉｌｋｉｎｓｏｎ近似は、下記式（２７）のように、独立な対数正規確率変数の和を１つの対数正規確率変数ｅZ（Ｚ：正規確率変数）で近似する手法である。具体的には、Ｗｉｌｋｉｎｓｏｎ近似は、Ｚの平均・標準偏差を、下記式（２７）の両辺の分布の平均と標準偏差が一致するように決める手法である。ただし、Ｙiは、互いに独立な正規確率変数である（ｉ＝１，２，…，ｎ）。
【０１０５】
【数１】
2011237889.tif 000003
【０１０６】
ここで、上記式（２７）に含まれる正規確率変数Ｙiの平均をｍi、標準偏差をσiとする。この場合、上記式（２７）の左辺の分布の平均は下記式（２８）となり、分散は下記式（２９）となる。ただし、Ｍは上記式（２７）の左辺の分布の平均、Ｖは上記式（２７）の左辺の分布の分散である。
【０１０７】
【数２】
2011237889.tif 000004
【０１０８】
【数３】
2011237889.tif 000005
【０１０９】
また、正規確率変数Ｚの平均をｍ（Ｚ）、標準偏差をσ（Ｚ）とする。この場合、上記式（２７）の右辺の分布の平均は下記式（３０）となり、分散は下記式（３１）となる。
【０１１０】
【数４】
2011237889.tif 000006
【０１１１】
【数５】
2011237889.tif 000007
【０１１２】
Ｗｉｌｋｉｎｓｏｎ近似では、上記式（２８）と上記式（３０）が等しく、上記式（２９）と上記式（３１）が等しいとした場合の方程式から、正規確率変数Ｚの平均ｍ（Ｚ）および標準偏差σ（Ｚ）を計算する。方程式の解は、下記式（３２）および（３３）となる。ただし、Ｍは下記式（３４）、Ｖは下記式（３５）となる。
【０１１３】
【数６】
2011237889.tif 000008
【０１１４】
【数７】
2011237889.tif 000009
【０１１５】
【数８】
2011237889.tif 000010
【０１１６】
【数９】
2011237889.tif 000011
【０１１７】
ここで、Ｗｉｌｋｉｎｓｏｎ近似を用いて、上記式（４）を変換すると下記式（３６）となる。ただし、α1〜α3は、互いに独立な正規確立変数である。
【０１１８】
【数１０】
2011237889.tif 000012
【０１１９】
そして、上記式（３６）に含まれる正規確立変数Ｚの平均、標準偏差は、上記式（３２）および（３３）から、下記式（３７）および（３８）となる。ただし、ｍは正規確立変数Ｚの平均、σは正規確立変数Ｚの標準偏差である。また、Ｍは下記式（３９）、Ｖは下記式（４０）となる。
【０１２０】
【数１１】
2011237889.tif 000013
【０１２１】
【数１２】
2011237889.tif 000014
【０１２２】
【数１３】
2011237889.tif 000015
【０１２３】
【数１４】
2011237889.tif 000016
【０１２４】
以上のことから「ｅZ＝ｅm+σα」となり、上記式（４）のように、複数の第１バラツキパラメータα1，α2，α3を、一つの第１バラツキパラメータαに変換することができる。
【０１２５】
（解析支援装置２００の解析支援処理手順）
つぎに、解析支援装置２００の解析支援処理手順について説明する。図８および図９は、解析支援装置の解析支援処理手順の一例を示すフローチャートである。図８のフローチャートにおいて、まず、取得部４０１により、セルバラツキデータ３００−１〜３００−ｎを取得したか否かを判断する（ステップＳ８０１）。
【０１２６】
ここで、取得部４０１により、セルバラツキデータ３００−１〜３００−ｎを取得するのを待つ（ステップＳ８０１：Ｎｏ）。そして、セルバラツキデータ３００−１〜３００−ｎを取得した場合（ステップＳ８０１：Ｙｅｓ）、分割部４０３により、各係数ａ〜ｃの最小値から最大値までを分割数Ｎａ，Ｎｂ，Ｎｃで均等に分割する（ステップＳ８０２）。
【０１２７】
このあと、検出部４０２により、メッシュ空間Ｍｊの「ｊ」を「ｊ＝１」とする（ステップＳ８０３）。そして、検出部４０２により、メッシュ空間Ｍｊの座標ｒaを「ｒa＝０」とし（ステップＳ８０４）、座標ｒbを「ｒb＝０」とし（ステップＳ８０５）、座標ｒcを「ｒc＝０」とする（ステップＳ８０６）。
【０１２８】
つぎに、検出部４０２により、メッシュ空間Ｍｊに含まれるセル群ｐ［１］〜ｐ［Ｘ］を検出する（ステップＳ８０７）。このあと、検出部４０２により、座標ｒcをインクリメントして（ステップＳ８０８）、「ｒc＞Ｎｃ」となるか否かを判断する（ステップＳ８０９）。
【０１２９】
ここで、「ｒc≦Ｎｃ」の場合（ステップＳ８０９：Ｎｏ）、検出部４０２により、ｊをインクリメントして（ステップＳ８１０）、ステップＳ８０７に戻る。一方、「ｒc＞Ｎｃ」の場合（ステップＳ８０９：Ｙｅｓ）、検出部４０２により、座標ｒbをインクリメントして（ステップＳ８１１）、「ｒb＞Ｎｂ」となるか否かを判断する（ステップＳ８１２）。
【０１３０】
ここで、「ｒb≦Ｎｂ」の場合（ステップＳ８１２：Ｎｏ）、検出部４０２により、ｊをインクリメントして（ステップＳ８１３）、ステップＳ８０６に戻る。一方、「ｒb＞Ｎｂ」の場合（ステップＳ８１２：Ｙｅｓ）、検出部４０２により、座標ｒaをインクリメントして（ステップＳ８１４）、「ｒa＞Ｎａ」となるか否かを判断する（ステップＳ８１５）。
【０１３１】
ここで、「ｒa≦Ｎａ」の場合（ステップＳ８１５：Ｎｏ）、検出部４０２により、ｊをインクリメントして（ステップＳ８１６）、ステップＳ８０５に戻る。一方、「ｒa＞Ｎａ」の場合（ステップＳ８１５：Ｙｅｓ）、図９に示すステップＳ８１７に移行する。
【０１３２】
図９のフローチャートにおいて、まず、係数算出部４０４により、メッシュ空間Ｍｊの「ｊ」を「ｊ＝１」とする（ステップＳ８１７）。このあと、係数算出部４０４により、上記式（１５）を用いて、メッシュ空間Ｍｊに含まれるセルｐ［１］〜ｐ［Ｘ］に共通の係数ｇa（ｊ）を算出する（ステップＳ８１８）。
【０１３３】
また、係数算出部４０４により、上記式（１６）を用いて、メッシュ空間Ｍｊに含まれるセルｐ［１］〜ｐ［Ｘ］に共通の係数ｇb（ｊ）を算出する（ステップＳ８１９）。また、係数算出部４０４により、上記式（１７）を用いて、メッシュ空間Ｍｊに含まれるセルｐ［１］〜ｐ［Ｘ］に共通の係数ｇc（ｊ）を算出する（ステップＳ８２０）。
【０１３４】
そして、変換部４０５により、上記式（１８）に含まれる係数ｐa［ｘ］，ｐb［ｘ］，ｐc［ｘ］を、係数ｇa（ｊ），ｇb（ｊ），ｇc（ｊ）に変換する（ステップＳ８２１）。この結果、上記式（１８）が上記式（１９）に変換される。
【０１３５】
さらに、変換部４０５により、Ｗｉｌｋｉｎｓｏｎ近似を用いて、第１バラツキパラメータα[1]〜α[X]を一つの第１バラツキパラメータαjに変換する（ステップＳ８２２）。この結果、上記式（１９）が上記式（２０）に変換される。なお、上記式（２０）のＡ（ｊ）およびＢ（ｊ）は、メッシュバラツキデータテーブル６００内のメッシュ空間Ｍｊの「係数Ａ」フィールドおよび「係数Ｂ」フィールドにそれぞれ設定される。
【０１３６】
つぎに、変換部４０５により、第１バラツキパラメータαjを用いて、セル群ｐ［１］〜ｐ［Ｘ］のリーク電流のバラツキを表す関数を算出する（ステップＳ８２３）。この結果、上記式（２３）が算出される。なお、上記式（２３）のＣ（ｊ）は、メッシュバラツキデータテーブル６００内のメッシュ空間Ｍｊの「係数Ｃ」フィールドに設定される。
【０１３７】
このあと、係数算出部４０４により、ｊをインクリメントして（ステップＳ８２４）、「ｊ＞ｍ？」となるか否かを判断する（ステップＳ８２５）。ここで、「ｊ≦ｍ」の場合（ステップＳ８２５：Ｎｏ）、ステップＳ８１８に戻る。
【０１３８】
一方、「ｊ＞ｍ」の場合（ステップＳ８２５：Ｙｅｓ）、出力部４０８により、メッシュバラツキデータテーブル６００内のメッシュバラツキデータ６００−１〜６００−ｍを出力して（ステップＳ８２６）、本フローチャートによる一連の処理を終了する。
【０１３９】
これにより、対象回路内の複数のセルＣ１〜Ｃｎを特性が同一または類似するセル群に分類し、分類されたセル群のリーク電流のバラツキを表す関数（多項式）に含まれる項数を削減することができる。
【０１４０】
（リーク電流算出処理手順）
つぎに、リーク算出部４０７のリーク電流算出処理手順について説明する。図１０は、リーク算出部４０７のリーク電流算出処理手順の一例を示すフローチャートである。なお、以下に説明するリーク電流算出処理は、外部のシミュレータに実行させることにしてもよい。
【０１４１】
図１０のフローチャートにおいて、まず、リーク算出部４０７により、モンテカルロシミュレーションの反復回数Ｋを設定する（ステップＳ１００１）。なお、反復回数Ｋは、たとえば、予め設定されてＲＯＭ２０２、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶装置に記憶されている。
【０１４２】
つぎに、リーク算出部４０７により、反復回数ｋを「ｋ＝１」とし（ステップＳ１００２）、対象回路のリーク電流Ｌ（ｋ）を「Ｌ（ｋ）＝０」とする（ステップＳ１００３）。そして、リーク算出部４０７により、標準正規乱数β（平均：０、標準偏差：１）を生成する（ステップＳ１００４）。なお、βは、対象回路の全セルＣ１〜Ｃｎに共通の第２バラツキパラメータである。
【０１４３】
そして、リーク算出部４０７により、メッシュ空間Ｍｊの「ｊ」を「ｊ＝１」とする（ステップＳ１００５）。つぎに、リーク算出部４０７により、メッシュバラツキデータテーブル６００を参照して、セル数Ｎ（ｊ）が「Ｎ（ｊ）＝０」となるか否かを判断する（ステップＳ１００６）。
【０１４４】
ここで、「Ｎ（ｊ）＝０」の場合（ステップＳ１００６：Ｙｅｓ）、ステップＳ１００９に移行する。一方、「Ｎ（ｊ）≠０」の場合（ステップＳ１００６：Ｎｏ）、リーク算出部４０７により、標準正規乱数αjを生成する（ステップＳ１００７）。なお、αjは、メッシュ空間Ｍｊに含まれるセル群ｐ［１］〜ｐ［Ｘ］に固有の第１バラツキパラメータである。
【０１４５】
このあと、リーク算出部４０７により、メッシュバラツキデータテーブル６００を参照して、上記式（２３）を用いて「Ｌ（ｋ）＝Ｌ（ｋ）＋ｅｘｐ｛Ａ（ｊ）＋Ｂ（ｊ）×αj＋Ｃ（ｊ）×β｝」を算出する（ステップＳ１００８）。
【０１４６】
そして、リーク算出部４０７により、ｊをインクリメントして（ステップＳ１００９）、「ｊ＞ｍ」となるか否かを判断する（ステップＳ１０１０）。ここで、「ｊ≦ｍ」の場合（ステップＳ１０１０：Ｎｏ）、ステップＳ１００６に戻る。
【０１４７】
一方、「ｊ＞ｍ」の場合（ステップＳ１０１０：Ｙｅｓ）、リーク算出部４０７により、ｋをインクリメントして（ステップＳ１０１１）、「ｋ＞Ｋ」となるか否かを判断する（ステップＳ１０１２）。ここで、「ｋ≦Ｋ」の場合（ステップＳ１０１２：Ｎｏ）、ステップＳ１００３に戻る。
【０１４８】
一方、「ｋ＞Ｋ」の場合（ステップＳ１０１２：Ｙｅｓ）、リーク算出部４０７により、Ｌ（１）〜Ｌ（Ｋ）を昇順にソートする（ステップＳ１０１３）。このあと、リーク算出部４０７により、「ｋ＝１」として（ステップＳ１０１４）、累積確率「Ｐ（ｋ）＝ｋ／Ｋ」を算出する（ステップＳ１０１５）。
【０１４９】
そして、リーク算出部４０７により、ｋをインクリメントして（ステップＳ１０１６）、「ｋ＞Ｋ」となるか否かを判断する（ステップＳ１０１７）。ここで、「ｋ≦Ｋ」の場合（ステップＳ１０１７：Ｎｏ）、ステップＳ１０１５に戻る。
【０１５０】
一方、「ｋ＞Ｋ」の場合（ステップＳ１０１７：Ｙｅｓ）、出力部４０８により、リーク電流Ｌ（ｋ）と累積確率Ｐ（ｋ）とを関連付けて表す解析結果７００を出力して（ステップＳ１０１８）、本フローチャートによる一連の処理を終了する。
【０１５１】
これにより、対象回路のリーク電流に関する累積確率密度分布（たとえば、解析結果７００）を求めることができる。また、特性が同一または類似するセル群のリーク電流のバラツキを一つにまとめて表現しているため、乱数生成、指数計算、乗算、加法等の計算処理を削減することができる。また、ステップＳ１００６において、「Ｎ（ｊ）＝０」のメッシュ空間Ｍｊは処理対象から除外するため、乱数生成、指数計算、乗算、加法等の計算処理をさらに削減することができる。
【０１５２】
以上説明したように、本実施の形態によれば、対象回路内のセルＣｉごとに固有の係数ａ，ｂ，ｃが同一または近似するセル群を、特性が同一または類似するセル群として検出することができる。また、本実施の形態によれば、特性が同一または類似するセル群に含まれるセルＣｉごとに固有のリーク電流のバラツキを表す確率変数を一つの確率変数に変換して、セル群のリーク電流のバラツキを表現する関数を算出することができる。これにより、対象回路のリーク電流バラツキを表現する関数内の項数を削減することができる。
【０１５３】
また、本実施の形態によれば、メッシュ空間Ｍｊ内の全セルに共通の係数ｇa（ｊ）〜ｇc（ｊ）を算出することにより、メッシュ空間Ｍｊ内のセルｐ［ｘ］ごとに固有のリーク電流のバラツキを表す確率変数を一つの確率変数に変換することができる。
【０１５４】
また、本実施の形態によれば、メッシュ空間単位のリーク電流のバラツキを表現する関数（上記式（２０））を用いて、対象回路のリーク電流を算出することにより、統計的リーク電流解析にかかる処理時間を短縮することができる。具体的には、特性が同一または類似するセル群をメッシュ空間単位で分類することにより、対象回路のリーク電流バラツキを表現する関数内の項数を、セル数分の項数（ｎ個）からメッシュ空間分の項数（ｍ個）に削減することができる。この結果、たとえば、対象回路のリーク電流解析の処理速度を（ｎ／ｍ）倍程度高速化することができる。
【０１５５】
また、対象回路のリーク電流解析時に、一つのセルＣｉも含まないメッシュ空間Ｍｊを解析対象から除外することにより、対象回路のリーク電流バラツキを表現する関数内の項数をさらに削減することができる。たとえば、同一または類似するセルＣｉの特性が数千個程度の場合、数千万〜数億個のセル数分の項数を、数千個程度のメッシュ空間分の項数に削減することができる。この結果、対象回路のリーク電流解析にかかる処理時間をさらに短縮化することができる。
【０１５６】
なお、本実施の形態で説明した解析支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本解析支援プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本解析支援プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１５７】
また、本実施の形態で説明した解析支援装置２００は、スタンダードセルやストラクチャードＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などの特定用途向けＩＣ（以下、単に「ＡＳＩＣ」と称す）やＦＰＧＡなどのＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）によっても実現することができる。具体的には、たとえば、上述した解析支援装置２００の機能（取得部４０１〜出力部４０８）をＨＤＬ記述によって機能定義し、そのＨＤＬ記述を論理合成してＡＳＩＣやＰＬＤに与えることにより、解析支援装置２００を製造することができる。
【０１５８】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１５９】
（付記１）対象回路内の素子ごとに、当該素子のリーク電流のバラツキを表す関数に含まれる前記素子に固有の係数を取得する取得工程と、
前記取得工程によって取得された前記素子に固有の係数に基づいて、前記対象回路内の複数の素子の中から特性が同一または類似する素子群を検出する検出工程と、
前記検出工程によって検出された素子群に含まれる素子ごとに固有のリーク電流のバラツキを表す確率変数を一つの確率変数に変換する変換工程と、
前記変換工程によって変換された変換後の確率変数を用いて、前記素子群のリーク電流のバラツキを表す関数を算出する関数算出工程と、
前記関数算出工程によって算出された前記素子群のリーク電流のバラツキを表す関数を出力する出力工程と、
をコンピュータに実行させることを特徴とする解析支援プログラム。
【０１６０】
（付記２）さらに、前記検出工程によって検出された素子群に含まれる素子ごとに固有の係数に基づいて、当該素子群に含まれる全素子に共通の係数を算出する係数算出工程を前記コンピュータに実行させ、
前記変換工程は、前記係数算出工程によって算出された素子群に含まれる全素子に共通の係数に基づいて、前記素子群に含まれる素子ごとに固有のリーク電流のバラツキを表す確率変数を一つの確率変数に変換することを特徴とする付記１に記載の解析支援プログラム。
【０１６１】
（付記３）さらに、前記関数算出工程によって算出された前記素子群のリーク電流のバラツキを表す関数に基づいて、前記対象回路のリーク電流を算出するリーク算出工程を前記コンピュータに実行させ、
前記出力工程は、前記リーク算出工程によって算出された前記対象回路のリーク電流を出力することを特徴とする付記１または２に記載の解析支援プログラム。
【０１６２】
（付記４）さらに、前記複数の素子に含まれる前記素子ごとに固有の係数の最小値から最大値までを区切って複数の区間に分割する分割工程を前記コンピュータに実行させ、
前記検出工程は、前記複数の素子に含まれる素子に固有の係数の値が、前記分割工程によって分割された前記複数の区間のいずれかの区間内となる素子群を、前記特性が同一または類似する素子群として検出することを特徴とする付記１〜３のいずれか一つに記載の解析支援プログラム。
【０１６３】
（付記５）前記取得工程は、前記対象回路内の素子ごとに、当該素子のリーク電流のバラツキを表す関数に含まれる当該素子に固有の第１および第２の係数を取得し、
前記分割工程は、前記取得工程によって取得された第１および第２の係数ごとに、当該第１および第２の係数ごとの最小値から最大値までを均等に区切って複数の区間に分割し、
前記検出工程は、前記第１の係数の値が前記分割工程によって前記第１の係数の最小値から最大値までを均等に区切って分割された前記複数の区間のいずれかの区間内となり、かつ、前記第２の係数の値が前記分割工程によって前記第２の係数の最小値から最大値までを均等に区切って分割された前記複数の区間のいずれかの区間内となる素子群を、前記特性が同一または類似する素子群として検出することを特徴とする付記４に記載の解析支援プログラム。
【０１６４】
（付記６）前記分割工程は、第１および第２の係数のうち、前記素子のリーク電流のバラツキを表す確率変数にかかる前記第１の係数の最小値から最大値までを均等に区切って複数の区間に分割し、前記第２の係数の最小値から最大値までを所定のリーク電流が均等になるように分割することを特徴とする付記５に記載の解析支援プログラム。
【０１６５】
（付記７）対象回路内の素子ごとに、当該素子のリーク電流のバラツキを表す関数に含まれる前記素子に固有の係数を取得する取得手段と、
前記取得手段によって取得された前記素子に固有の係数に基づいて、前記対象回路内の複数の素子の中から特性が同一または類似する素子群を検出する検出手段と、
前記検出手段によって検出された素子群に含まれる素子ごとに固有のリーク電流のバラツキを表す確率変数を一つの確率変数に変換する変換手段と、
前記変換手段によって変換された変換後の確率変数を用いて、前記素子群のリーク電流のバラツキを表す関数を算出する関数算出手段と、
前記関数算出手段によって算出された前記素子群のリーク電流のバラツキを表す関数を出力する出力手段と、
を備えることを特徴とする解析支援装置。
【０１６６】
（付記８）コンピュータが、
対象回路内の素子ごとに、当該素子のリーク電流のバラツキを表す関数に含まれる前記素子に固有の係数を取得する取得工程と、
前記取得工程によって取得された前記素子に固有の係数に基づいて、前記対象回路内の複数の素子の中から特性が同一または類似する素子群を検出する検出工程と、
前記検出工程によって検出された素子群に含まれる素子ごとに固有のリーク電流のバラツキを表す確率変数を一つの確率変数に変換する変換工程と、
前記変換工程によって変換された変換後の確率変数を用いて、前記素子群のリーク電流のバラツキを表す関数を算出する関数算出工程と、
前記関数算出工程によって算出された前記素子群のリーク電流のバラツキを表す関数を出力する出力工程と、
を実行することを特徴とする解析支援方法。
【符号の説明】
【０１６７】
２００  解析支援装置
３００  セルバラツキデータテーブル
４０１  取得部
４０２  分割部
４０３  検出部
４０４  係数算出部
４０５  変換部
４０６  関数算出部
４０７  リーク算出部
４０８  出力部
６００  メッシュバラツキデータテーブル
【図１】
2011237889.tif 000017
【図２】
2011237889.tif 000018
【図３】
2011237889.tif 000019
【図４】
2011237889.tif 000020
【図５】
2011237889.tif 000021
【図６】
2011237889.tif 000022
【図７】
2011237889.tif 000023
【図８】
2011237889.tif 000024
【図９】
2011237889.tif 000025
【図１０】
2011237889.tif 000026