(57)【特許請求の範囲】
【請求項１】
コンピュータに、
対象回路内の並列な複数のパスのいずれかのパスに含まれる各素子で独立の遅延バラツキに基づく前記各素子の第一遅延分布の標準偏差を用いて、前記いずれかのパスを直列回路としてモデル化した場合の前記各素子で独立の遅延バラツキに基づく前記いずれかのパスの第一遅延分布の標準偏差を算出する算出手順と、
前記算出手順によって算出された前記いずれかのパスの第一遅延分布の標準偏差と、前記対象回路の統計的遅延解析から得られる前記いずれかのパスの第一遅延分布の標準偏差とを用いて、前記各素子の第一遅延分布の標準偏差を補正する補正手順と、
前記補正手順によって補正された補正後の前記各素子の第一遅延分布の標準偏差を用いて前記対象回路の遅延とリーク電流の相関解析を実行することにより、前記対象回路の遅延とリーク電流の相関を表す相関分布を取得する取得手順と、
前記取得手順によって取得された相関分布を出力する出力手順と、
を実行させることを特徴とする解析支援プログラム。
【請求項２】
前記コンピュータに、
前記補正後の前記各素子の第一遅延分布の標準偏差と、前記対象回路の統計的遅延解析から得られる前記対象回路内の全素子で共通の遅延バラツキに基づく前記いずれかのパスの第二遅延分布の標準偏差とを用いて、前記いずれかのパスの遅延バラツキを表現する関数モデルを作成する第１の作成手順と、
前記各素子で独立のリーク電流バラツキと前記全素子で共通のリーク電流バラツキとに基づいて、前記いずれかのパスのリーク電流バラツキを表現する関数モデルを作成する第２の作成手順と、を実行させ、
前記取得手順は、
前記第１および第２の作成手順によって作成された関数モデルと、前記各素子の遅延バラツキと前記各素子のリーク電流バラツキとの相関を表す相関係数とを用いて、前記相関解析を実行することにより、前記相関分布を取得することを特徴とする請求項１に記載の解析支援プログラム。
【請求項３】
前記コンピュータに、
前記取得手順によって取得された前記対象回路の遅延とリーク電流の相関を表す相関分布に基づいて、前記対象回路のリーク電流と周波数との相関を表す相関分布を算出する第２算出手順を実行させ、
前記出力手順は、
前記第２算出手順によって算出された前記対象回路のリーク電流と周波数との相関を表す相関分布を出力することを特徴とする請求項１または２に記載の解析支援プログラム。
【請求項４】
前記コンピュータに、
前記第２算出手順によって算出された前記対象回路のリーク電流と周波数との相関を表す相関分布に基づいて、前記対象回路の周波数に関する歩留分布を算出する第３算出手順を実行させ、
前記出力手順は、
前記第３算出手順によって算出された前記対象回路の周波数に関する歩留分布を出力することを特徴とする請求項３に記載の解析支援プログラム。
【請求項５】
前記第３算出手順は、
前記対象回路のリーク電流と周波数との相関を表す相関分布のうち、前記対象回路のリーク電流が所定の閾値未満となる前記対象回路の周波数に基づいて、前記対象回路の周波数に関する歩留分布を算出することを特徴とする請求項４に記載の解析支援プログラム。
【請求項６】
対象回路内の並列な複数のパスのいずれかのパスに含まれる各素子で独立の遅延バラツキに基づく前記各素子の第一遅延分布の標準偏差を用いて、前記いずれかのパスを直列回路としてモデル化した場合の前記各素子で独立の遅延バラツキに基づく前記いずれかのパスの第一遅延分布の標準偏差を算出する算出手段と、
前記算出手段によって算出された前記いずれかのパスの第一遅延分布の標準偏差と、前記対象回路の統計的遅延解析から得られる前記いずれかのパスの第一遅延分布の標準偏差とを用いて、前記各素子の第一遅延分布の標準偏差を補正する補正手段と、
前記補正手段によって補正された補正後の前記各素子の第一遅延分布の標準偏差を用いて前記対象回路の遅延とリーク電流の相関解析を実行することにより、前記対象回路の遅延とリーク電流の相関を表す相関分布を取得する取得手段と、
前記取得手段によって取得された相関分布を出力する出力手段と、
を備えることを特徴とする解析支援装置。
【請求項７】
コンピュータが、
対象回路内の並列な複数のパスのいずれかのパスに含まれる各素子で独立の遅延バラツキに基づく前記各素子の第一遅延分布の標準偏差を用いて、前記いずれかのパスを直列回路としてモデル化した場合の前記各素子で独立の遅延バラツキに基づく前記いずれかのパスの第一遅延分布の標準偏差を算出する算出工程と、
前記算出工程によって算出された前記いずれかのパスの第一遅延分布の標準偏差と、前記対象回路の統計的遅延解析から得られる前記いずれかのパスの第一遅延分布の標準偏差とを用いて、前記各素子の第一遅延分布の標準偏差を補正する補正工程と、
前記補正工程によって補正された補正後の前記各素子の第一遅延分布の標準偏差を用いて前記対象回路の遅延とリーク電流の相関解析を実行することにより、前記対象回路の遅延とリーク電流の相関を表す相関分布を取得する取得工程と、
前記取得工程によって取得された相関分布を出力する出力工程と、
を実行することを特徴とする解析支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象回路の遅延とリーク電流の相関解析を支援する解析支援プログラム、解析支援装置、および解析支援方法に関する。
【背景技術】
【０００２】
近年、半導体集積回路の微細化にともなって、プロセスに起因する遅延やリーク電流のバラツキ（遅延バラツキ、リーク電流バラツキ）が増大している。遅延とは、回路内の素子または素子間における信号の入出力にかかる時間である。リーク電流とは、電子回路において本来流れるはずのない箇所で流れ出る電流である。
【０００３】
これらバラツキを考慮して対象回路の遅延やリーク電流を見積もる手法として、統計的遅延解析（ＳＳＴＡ：Ｓｔａｔｉｓｔｉｃａｌ  Ｓｔａｔｉｃ  Ｔｉｍｉｎｇ  Ａｎａｌｙｚｅｒ）や統計的リーク解析がある。ＳＳＴＡとは、対象回路内の各素子の遅延のバラツキを確率密度分布として与え、回路全体の遅延を統計的に扱うことで、タイミングの見積もりを適正化する手法である。
【０００４】
一方、遅延バラツキとリーク電流バラツキは、ともにプロセスに起因することから、互いに相関を持つことが知られている。たとえば、遅延とリーク電流は、遅延が小さくなるとリーク電流が大きくなるというトレードオフの関係にある。したがって、対象回路の正確な歩留解析を行うためには、遅延とリーク電流の相関を解析する必要がある。
【０００５】
従来、遅延とリーク電流の相関解析を行う手法として、遅延解析ツール（ＳＴＡ：Ｓｔａｔｉｃ  Ｔｉｍｉｎｇ  Ａｎａｌｙｓｉｓ）とリーク解析ツールを反復実行させるモンテカルロシミュレーションがある。また、遅延とリーク電流の相関解析において、遅延分布を正規分布にモデル化して近似計算を行う手法がある（たとえば、下記非特許文献１参照。）。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Ａｓｈｉｓｈ  Ｓｒｉｖａｓｔａｖａ，Ｓａｕｍｉｌ  Ｓｈａｈ，Ｋａｎａｋ  Ａｇａｒｗａｌ，Ｄｅｎｎｉｓ  Ｓｙｌｖｅｓｔｅｒ，Ｄａｖｉｄ  Ｂｌａａｕｗ，Ｓｔｅｐｈｅｎ  Ｄｉｒｅｃｔｏｒ、「Ａｃｃｕｒａｔｅ  ａｎｄ  Ｅｆｆｉｃｉｅｎｔ  Ｇａｔｅ−Ｌｅｖｅｌ  Ｐａｒａｍｅｔｒｉｃ  Ｙｉｅｌｄ  Ｅｓｔｉｍａｔｉｏｎ  Ｃｏｎｓｉｄｅｒｉｎｇ  Ｃｏｒｒｅｌａｔｅｄ  Ｖａｒｉａｔｉｏｎｓ  ｉｎ  Ｌｅａｋａｇｅ  Ｐｏｗｅｒ  ａｎｄ  Ｐｅｒｆｏｒｍａｎｃｅ」、Ｐｒｏｃ．ＤＡＣ２００５、ｐ．５３５−５４０
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述したモンテカルロシミュレーションによれば、正確な相関解析を行うためには、遅延解析ツールとリーク解析ツールを数千回程度反復実行させる必要がある。そのため、相関解析にかかる処理時間が増大化し、ひいては設計期間の長期化を招くという問題がある。
【０００８】
また、上述した遅延分布を正規分布にモデル化する手法によれば、多数の並列に動作する部分回路を含む回路では、回路全体の遅延分布が非正規となる傾向があるため、解析精度が低下する場合がある。そのため、結果的に回路設計の手戻りが生じ、設計者の作業負担が増大するとともに、設計期間の長期化を招くという問題がある。
【０００９】
本発明は、上述した従来技術による問題点を解消するため、対象回路の遅延とリーク電流の相関解析にかかる処理時間の短縮化を図ることができる解析支援プログラム、解析支援装置、および解析支援方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するため、開示の解析支援プログラム、解析支援装置、および解析支援方法は、対象回路内の並列な複数のパスのいずれかのパスに含まれる各素子で独立の遅延バラツキに基づく前記各素子の第一遅延分布の標準偏差を用いて、前記いずれかのパスを直列回路としてモデル化した場合の前記各素子で独立の遅延バラツキに基づく前記いずれかのパスの第一遅延分布の標準偏差を算出し、算出された前記いずれかのパスの第一遅延分布の標準偏差と、前記対象回路の統計的遅延解析から得られる前記いずれかのパスの第一遅延分布の標準偏差とを用いて、前記各素子の第一遅延分布の標準偏差を補正し、補正された補正後の前記各素子の第一遅延分布の標準偏差を用いて前記対象回路の遅延とリーク電流の相関解析を実行することにより、前記対象回路の遅延とリーク電流の相関を表す相関分布を取得し、取得された相関分布を出力することを要件とする。
【発明の効果】
【００１１】
本解析支援プログラム、解析支援装置、および解析支援方法によれば、対象回路の遅延とリーク電流の相関解析にかかる処理時間の短縮化を図ることができるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】本解析手法の概要の一例を示す説明図である。
【図２】対象回路の一例を示す回路図である。
【図３】解析支援装置のハードウェア構成の一例を示すブロック図である。
【図４】解析支援装置の機能的構成を示すブロック図である。
【図５】セル遅延バラツキテーブルの記憶内容の一例を示す説明図である。
【図６】セルリークバラツキテーブルの記憶内容の一例を示す説明図である。
【図７】相関係数テーブルの記憶内容の一例を示す説明図である。
【図８】パス内セルテーブルの記憶内容の一例を示す説明図である。
【図９】ＳＳＴＡ結果テーブルの記憶内容の一例を示す説明図である。
【図１０】補正後バラツキテーブルの記憶内容の一例を示す説明図である。
【図１１】リーク・遅延相関テーブルの記憶内容の一例を示す説明図である。
【図１２】リーク・遅延相関分布の具体例を示す説明図である。
【図１３】リーク・周波数相関テーブルの記憶内容の一例を示す説明図である。
【図１４】削除後のリーク・周波数相関テーブルの記憶内容の一例を示す説明図である。
【図１５】周波数歩留テーブルの記憶内容の一例を示す説明図である。
【図１６】リーク・周波数相関分布および周波数歩留分布の具体例を示す説明図である。
【図１７】解析支援装置の解析支援処理手順の一例を示すフローチャートである。
【図１８】バラツキ補正処理の具体的処理手順の一例を示すフローチャートである。
【図１９−１】リーク・遅延相関分布取得処理の具体的処理手順の一例を示すフローチャート（その１）である。
【図１９−２】リーク・遅延相関分布取得処理の具体的処理手順の一例を示すフローチャート（その２）である。
【図２０】リーク・周波数相関分布算出処理の具体的処理手順の一例を示すフローチャートである。
【図２１】周波数歩留分布算出処理の具体的処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照して、この発明にかかる解析支援プログラム、解析支援装置、および解析支援方法の好適な実施の形態を詳細に説明する。
【００１４】
（本解析手法の概要）
まず、実施の形態にかかる本解析手法の概要の一例について説明する。本明細書において、対象回路とは、並列に動作する複数のパスを含む回路（たとえば、プロセッサ）である。パスとは、対象回路内の一のセルから他のセルに辿り着くまでの経路である。セルとは、対象回路に含まれるＮＯＴゲート、ＡＮＤゲート、配線、バッファ、ＩＮＶ（インバータ）、ＦＦなどの回路素子である。
【００１５】
すなわち、パスは、たとえば、対象回路内の一のＦＦ（フリップフロップ）から他のＦＦに辿り着くまでの経路である。また、パスは、対象回路内のデータ入力端子からＦＦに辿り着くまでの経路であってもよく、さらに、ＦＦからあるデータ出力端子に辿り着くまでの経路であってもよい。
【００１６】
図１は、本解析手法の概要の一例を示す説明図である。本解析手法では、対象回路の遅延とリーク電流の相関解析の解析精度を確保しつつ処理時間の短縮化を図る。ここで、対象回路の遅延とリーク電流に対するバラツキとして、対象回路内の各セル独立のバラツキと、対象回路内の全セル共通のバラツキがある。
【００１７】
具体的には、遅延のバラツキとして、各セル独立の第一遅延バラツキと、全セル共通の第二遅延バラツキがある。このため、セルの遅延バラツキは、これら第一／第二遅延バラツキを用いて表現することができる。具体的には、たとえば、セルの遅延バラツキは、下記式（１）を用いて表現することができる。
【００１８】
ただし、ｄＣはセルの遅延バラツキ、αは第一遅延バラツキパラメータ、βは第二遅延バラツキパラメータである。また、ｍは第一遅延バラツキに基づくセルの第一遅延分布の平均、ｓは第一遅延分布の標準偏差である。また、ａｐ、ａｎは第二遅延バラツキに基づくセルの第二遅延分布の標準偏差である。
【００１９】
ｄＣ＝ｍ＋ｓ×α＋ｆ（β）
ｆ（β）＝ａｐ×β  （β≧０）、ｆ（β）＝ａｎ×β  （β＜０）
・・・（１）
【００２０】
また、リーク電流のバラツキとして、各セル独立の第一リーク電流バラツキと、全セル共通の第二リーク電流バラツキがある。このため、セルのリーク電流バラツキは、これら第一／第二リーク電流バラツキを用いて表現することができる。具体的には、たとえば、セルのリーク電流バラツキは、下記式（２）を用いて表現することができる。
【００２１】
ただし、ｌＣはセルのリーク電流バラツキ、α’は第一リーク電流バラツキパラメータ、β’は第二リーク電流バラツキパラメータである。また、ａ、ｂ、ｃは各セル固有の係数である。
【００２２】
ｌＣ＝ｅｘｐ（ａ＋ｂ×α’＋ｃ×β’）      ・・・（２）
【００２３】
ここで、上記α、α’、β、β’は、確率変数であり、たとえば、平均「０」、標準偏差「１」の標準正規分布である。また、上記α、α’は、相関係数ραの相関を持つ。この相関係数ραは、対象回路内の各セル固有である。また、上記β、β’は、相関係数ρの相関を持つ。この相関係数ρは、対象回路内の全セル共通である。
【００２４】
一般に、対象回路の遅延とリーク電流の相関解析では、セル間で相関があるため、各セルの第一遅延バラツキと第二遅延バラツキを考慮する必要がある。その一方で、対象回路内の論理回路では、セル間の結合が「直列」だけではなく、一つのセルに複数の信号が入力される「合流」も含まれるため、相関解析の処理内容が複雑なものとなってしまう（図１中（１−１））。
【００２５】
そこで、本解析手法では、対象回路内の各パスを、パス内のセルが直列に接続された直列回路としてモデル化する（図１中（１−２））。具体的には、たとえば、本解析手法では、パスの第一遅延バラツキを、下記式（３）を用いて、パス内の各セルの第一遅延バラツキの足し算となるように構成する。
【００２６】
ただし、パスＰｉは対象回路内の任意のパス、ｄｉｎｔｒａはパスＰｉの第一遅延バラツキ、ＭはパスＰｉの第一遅延分布の平均である。また、αｊはパスＰｉ内の任意のセルＣｊの第一遅延バラツキパラメータ、ｓｊはセルＣｊの第一遅延分布の標準偏差である（ｊ＝１，２，…，ｎ）。
【００２７】
ｄｉｎｔｒａ＝Ｍ＋ｓ１×α１＋ｓ２×α２＋…＋ｓｊ×αｊ＋…＋ｓｎ×αｎ・・・（３）
【００２８】
このため、パスＰｉの遅延バラツキは下記式（４）を用いて表現できる。ただし、ｄｉはパスＰｉの遅延バラツキ、Ｍ’はパスＰｉの第一遅延分布の平均である。また、ｆ（β）はパスＰｉの第二遅延バラツキ、Ａｐ、Ａｎは第二遅延バラツキに基づくパスＰｉの第二遅延分布の標準偏差である。
【００２９】
ｄｉ＝Ｍ’＋ｓ１×α１＋ｓ２×α２＋…＋ｓｊ×αｊ＋…＋ｓｎ×αｎ＋ｆ（β）
ｆ（β）＝Ａｐ×β  （β≧０）、ｆ（β）＝Ａｎ×β  （β＜０）
・・・（４）
【００３０】
このように、本解析手法では、パスＰｉの第一遅延バラツキをパスＰｉ内の各セルＣｊの第一遅延バラツキの足し算となるように構成する。これにより、対象回路の遅延とリーク電流の相関解析の処理内容が簡単化され、相関解析にかかる処理時間を短縮できる。
【００３１】
ただし、単純に対象回路内の各パスを直列回路としてモデル化すると、相関解析の精度が低下してしまう。そこで、本解析手法では、パスＰｉの第一遅延バラツキｄｉｎｔｒａを、既存のＳＳＴＡ手法を用いて得られるパスＰｉの第一遅延分布の平均Ｍと標準偏差Ｓと一致するように再構成する。
【００３２】
ここで、直列回路全体の第一遅延バラツキの平均と標準偏差は、数学的な一般論により、下記式（５）と（６）を用いて表される。下記式（６）では、パスＰｉ内の各セルＣｊの第一遅延バラツキが互いに独立であるという性質を用いている。ただし、Ｍ’は直列回路全体の第一遅延分布の平均、Ｓ’は直列回路全体の第一遅延分布の標準偏差である。ｍｊはセルＣｊの第一遅延分布の平均である。
【００３３】
Ｍ’＝ｍ１＋ｍ２＋…＋ｍｎ      ・・・（５）
【００３４】
Ｓ’２＝ｓ１２＋ｓ２２＋…＋ｓｎ２      ・・・（６）
【００３５】
本解析手法では、まず、ＳＳＴＡ手法を用いて、パスＰｉの第一遅延分布および第二遅延分布を計算する。そして、本解析手法では、上記式（３）のパスＰｉの第一遅延分布の平均Ｍ’を、上記式（５）を用いて計算されるＭ’の替わりに、ＳＳＴＡ手法で計算されたパスＰｉの第一遅延分布の平均Ｍとする。
【００３６】
また、本解析手法では、ＳＳＴＡで計算されたパスＰｉの第一遅延分布の標準偏差Ｓと上記式（６）を用いて、セルＣｊの第一遅延分布の標準偏差ｓｊを補正する（図１中（１−３））。具体的には、たとえば、本解析手法では、下記式（７）を用いて、セルＣｊの第一遅延分布の標準偏差ｓｊを補正する。ただし、ｐｊは補正後のセルＣｊの第一遅延分布の標準偏差である。
【００３７】
ｐｊ＝（Ｓ／Ｓ’）×ｓｊ      ・・・（７）
【００３８】
この結果、パスＰｉの遅延バラツキは下記式（８）を用いて表現される。
【００３９】
ｄｉ＝Ｍ＋ｐ１×α１＋ｐ２×α２＋…＋ｐｊ×αｊ＋…＋ｐｎ×αｎ＋ｆ（β）
ｆ（β）＝Ａｐ×β  （β≧０）、ｆ（β）＝Ａｎ×β  （β＜０）
・・・（８）
【００４０】
このように、本解析手法では、パスＰｉを直列回路としてモデル化し、パスＰｉの第一遅延バラツキｄｉｎｔｒａを、ＳＳＴＡ手法で計算されたパスＰｉの第一遅延分布の平均Ｍ、標準偏差Ｓと一致するように再構成する。これにより、対象回路の遅延とリーク電流の相関解析にかかる処理時間を短縮化するとともに、相関解析の解析精度を確保することができる。
【００４１】
（対象回路の一例）
つぎに、対象回路の一例について説明する。図２は、対象回路の一例を示す回路図である。なお、図面では、対象回路の一部を抜粋して表示している。図２において、対象回路２００は、パスＰａ〜Ｐｃを含む構成である。本解析手法では、対象回路２００内のパスＰａ〜Ｐｂの少なくともいずれかを直列回路としてモデル化して、遅延とリーク電流の相関解析を実行する。
【００４２】
ここで、対象回路２００において、パスＰａは、ＦＦ１⇒ＩＮＶ１⇒ＩＮＶ２⇒ＡＮＤ１⇒ＩＮＶ３⇒ＩＮＶ４⇒ＮＯＲ１⇒ＦＦ２に至る経路である。パスＰｂは、ＦＦ１⇒ＩＮＶ１⇒ＩＮＶ２⇒ＡＮＤ１⇒ＩＮＶ５⇒ＩＮＶ６⇒ＮＯＲ２⇒ＦＦ３に至る経路である。パスＰｃは、ＦＦ１⇒ＩＮＶ１⇒ＩＮＶ２⇒ＡＮＤ１⇒ＩＮＶ５⇒ＩＮＶ７⇒ＮＯＲ３⇒ＦＦ４に至る経路である。
【００４３】
（解析支援装置のハードウェア構成）
つぎに、本実施の形態にかかる解析支援装置のハードウェア構成について説明する。図３は、解析支援装置のハードウェア構成の一例を示すブロック図である。図３において、解析支援装置３００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、ＲＯＭ（Ｒｅａｄ‐Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３０３と、磁気ディスクドライブ３０４と、磁気ディスク３０５と、光ディスクドライブ３０６と、光ディスク３０７と、ディスプレイ３０８と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０９と、キーボード３１０と、マウス３１１と、スキャナ３１２と、プリンタ３１３と、を備えている。また、各構成部はバス３２０によってそれぞれ接続されている。
【００４４】
ここで、ＣＰＵ３０１は、解析支援装置３００の全体の制御を司る。ＲＯＭ３０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ３０３は、ＣＰＵ３０１のワークエリアとして使用される。磁気ディスクドライブ３０４は、ＣＰＵ３０１の制御にしたがって磁気ディスク３０５に対するデータのリード／ライトを制御する。磁気ディスク３０５は、磁気ディスクドライブ３０４の制御で書き込まれたデータを記憶する。
【００４５】
光ディスクドライブ３０６は、ＣＰＵ３０１の制御にしたがって光ディスク３０７に対するデータのリード／ライトを制御する。光ディスク３０７は、光ディスクドライブ３０６の制御で書き込まれたデータを記憶したり、光ディスク３０７に記憶されたデータをコンピュータに読み取らせたりする。
【００４６】
ディスプレイ３０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ３０８は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００４７】
Ｉ／Ｆ３０９は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク３１４に接続され、このネットワーク３１４を介して他の装置に接続される。そして、Ｉ／Ｆ３０９は、ネットワーク３１４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ３０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００４８】
キーボード３１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス３１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００４９】
スキャナ３１２は、画像を光学的に読み取り、解析支援装置３００内に画像データを取り込む。なお、スキャナ３１２は、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅａｄｅｒ）機能を持たせてもよい。また、プリンタ３１３は、画像データや文書データを印刷する。プリンタ３１３には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
【００５０】
（解析支援装置の機能的構成）
つぎに、解析支援装置３００の機能的構成について説明する。図４は、解析支援装置の機能的構成を示すブロック図である。図４において、解析支援装置３００は、入力部４０１と、取得部４０２と、算出部４０３と、補正部４０４と、作成部４０５と、出力部４０６と、を含む構成である。この制御部となる機能（入力部４０１〜出力部４０６）は、具体的には、たとえば、図３に示したＲＯＭ３０２、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶されたプログラムをＣＰＵ３０１に実行させることにより、または、Ｉ／Ｆ３０９により、その機能を実現する。
【００５１】
なお、以下の説明において、特に指定する場合を除いて、対象回路内のセルを「セルＣ１〜ＣＮ」と表記し、対象回路内のパスを「パスＰ１〜ＰＬ」と表記する。
【００５２】
入力部４０１は、対象回路に関する回路情報の入力を受け付ける機能を有する。回路情報とは、たとえば、対象回路に関するネットリスト、バラツキデータ（図５、図６参照）、相関データ（図７参照）およびパス内セルデータ（図８参照）などである。具体的には、たとえば、入力部４０１が、図３に示したキーボード３１０やマウス３１１を用いたユーザの操作により回路情報の入力を受け付ける。また、入力部４０１が、外部のコンピュータ装置からの受信、不図示のデータベースやライブラリからの抽出により回路情報を取得してもよい。
【００５３】
ここで、ネットリストとは、対象回路内のセル群および各セル間の接続関係を示す電子データである。また、バラツキデータとは、各セルＣ１〜ＣＮの第一遅延バラツキおよび第二遅延バラツキに関するモデルデータである。バラツキデータは、たとえば、図５に示すセル遅延バラツキテーブル５００および図６に示すセルリークバラツキテーブル６００に記憶される。
【００５４】
また、相関データとは、対象回路の遅延とリーク電流との相関を表す情報である。相関データは、たとえば、図７に示す相関係数テーブル７００に記憶される。また、パス内セルデータとは、パスＰｉ内のセルを特定するための情報である。パス内セルデータは、たとえば、図８に示すパス内セルテーブル８００に記憶される。
【００５５】
図５は、セル遅延バラツキテーブルの記憶内容の一例を示す説明図である。図５において、セル遅延バラツキテーブル５００は、セルＩＤ、ｍ、ｓ、ａｐおよびａｎのフィールドを有する。各フィールドに情報を設定することで、各セルＣ１〜ＣＮの遅延バラツキデータ５００−１〜５００−Ｎがレコードとして記憶されている。
【００５６】
セルＩＤとは、対象回路内のセルＣ１〜ＣＮを識別する識別子である。ｍは、各セルＣ１〜ＣＮの第一遅延分布の平均である。ｓは、各セルＣ１〜ＣＮの第一遅延分布の標準偏差である。ａｐおよびａｎは、各セルＣ１〜ＣＮの第二遅延分布の標準偏差である。ただし、ａｐは、第二遅延バラツキパラメータβが「β≧０」の場合の標準偏差であり、ａｎは第二遅延バラツキパラメータβが「β＜０」の場合の標準偏差である。
【００５７】
各セルＣ１〜ＣＮの遅延バラツキは、上記式（１）に各セルＣ１〜ＣＮに対応する遅延バラツキデータ５００−１〜５００−Ｎを代入することで表現できる。たとえば、セルＣ１の遅延バラツキは『ｄＣ＝ｍ（１）＋ｓ（１）×α＋ｆ（β）』となる（ただし、『β≧０』の場合『ｆ（β）＝ａｐ（１）×β』、『β＜０』の場合『ｆ（β）＝ａｎ（１）×β』）。
【００５８】
図６は、セルリークバラツキテーブルの記憶内容の一例を示す説明図である。図６において、セルリークバラツキテーブル６００は、セルＩＤ、ａ、ｂおよびｃのフィールドを有する。各フィールドに情報を設定することで、各セルＣ１〜ＣＮのリークバラツキデータ６００−１〜６００−Ｎがレコードとして記憶されている。
【００５９】
セルＩＤとは、対象回路内のセルＣ１〜ＣＮを識別する識別子である。ａ、ｂおよびｃは、リーク電流バラツキに関する各セルＣ１〜ＣＮ固有の係数である。各セルＣ１〜ＣＮのリーク電流バラツキは、上記式（２）に各セルＣ１〜ＣＮに対応するリークバラツキデータ６００−１〜６００−Ｎを代入することで表現できる。たとえば、セルＣ１のリーク電流バラツキは『ｌＣ＝ｅｘｐ（ａ（１）＋ｂ（１）×α’＋ｃ（１）×β’）』となる。
【００６０】
図７は、相関係数テーブルの記憶内容の一例を示す説明図である。図７において、相関係数テーブル７００は、セルＩＤ、第一バラツキ相関係数および第二バラツキ相関係数のフィールドを有する。各フィールドに情報を設定することで、各セルＣ１〜ＣＮの相関データ７００−１〜７００−Ｎがレコードとして記憶されている。
【００６１】
セルＩＤとは、対象回路内のセルＣ１〜ＣＮを識別する識別子である。第一バラツキ相関係数とは、第一遅延バラツキパラメータαと第一リーク電流バラツキパラメータα’との相関を表す相関係数である。第二バラツキ相関係数とは、第二遅延バラツキパラメータβと第二リーク電流バラツキパラメータβ’との相関を表す相関係数である。
【００６２】
たとえば、セルＣ１の第一遅延バラツキパラメータαと第一リーク電流バラツキパラメータα’との相関を表す相関係数は『ρ（１）』である。なお、『ρ（１）＝１』の場合、『α＝α’』となる。また、セルＣ１の第二遅延バラツキパラメータβと第二リーク電流バラツキパラメータβ’との相関を表す相関係数は『ρ』である。
【００６３】
図８は、パス内セルテーブルの記憶内容の一例を示す説明図である。図８において、パス内セルテーブル８００は、パスＩＤ、パス内セル数およびパス内セルＩＤ／セルＩＤのフィールドを有する。各フィールドに情報を設定することで、各パスＰ１〜ＰＬのパス内セルデータ８００−１〜８００−Ｌがレコードとして記憶されている。
【００６４】
パスＩＤとは、対象回路内のパスＰ１〜ＰＬを識別する識別子である。パス内セル数とは、各パスＰ１〜ＰＬに含まれるセルの総数である。パス内セルＩＤ／セルＩＤとは、パスＰ１〜ＰＬ内のセルを識別する識別子である。
【００６５】
具体的には、パス内セルＩＤ（パスＩＤ、セル番号）とは、パス内のセルを特定するためのセル番号である。なお、セル番号は、たとえば、パスの先頭からのセルの順番である。また、セルＩＤとは、セルＣ１〜ＣＮを識別する識別子である。たとえば、Ｃ（１，２）／Ｃ５は、パスＰ１の先頭から２番目のセルＣ５を表している。
【００６６】
なお、図５〜図８に示した各種テーブルは、たとえば、図３に示したＲＯＭ３０２、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶されている。また、ここではパス内セルデータ（図８参照）を解析支援装置３００に入力することにしたがこれに限らない。たとえば、解析支援装置３００において、対象回路に関するネットリストに基づいてパス内セルデータを作成することにしてもよい。
【００６７】
図４の説明に戻り、取得部４０２は、対象回路の統計的遅延解析を実行することにより、対象回路内の各パスＰｉの第一遅延分布および第二遅延分布を取得する機能を有する。具体的には、たとえば、取得部４０２が、対象回路の回路情報をシミュレータに与えてＳＳＴＡを実行する。そして、取得部４０２が、ＳＳＴＡ結果として各パスＰｉの第一遅延分布および第二遅延分布を取得する。
【００６８】
なお、シミュレータは、解析支援装置３００が備えていてもよく、また、外部のコンピュータ装置が備えていてもよい。ただし、外部のコンピュータ装置が備える場合、取得部４０２が、対象回路の回路情報を外部のコンピュータ装置に送信し、外部のコンピュータ装置から解析結果を取得することになる。取得されたＳＳＴＡ結果は、たとえば、図９に示したＳＳＴＡ結果テーブル９００に記憶される。
【００６９】
図９は、ＳＳＴＡ結果テーブルの記憶内容の一例を示す説明図である。図９において、ＳＳＴＡ結果テーブル９００は、パスＩＤ、Ｍ、Ｓ、ＡｐおよびＡｎのフィールドを有する。各フィールドに情報を設定することで、パスＰ１〜ＰＬのＳＳＴＡ結果９００−１〜９００−Ｌがレコードとして記憶されている。
【００７０】
パスＩＤとは、対象回路内のパスＰ１〜ＰＬを識別する識別子である。Ｍは、パスＰｉの第一遅延分布の平均である。Ｓは、パスＰｉの第一遅延分布の標準偏差である。ＡｐおよびＡｎは、パスＰｉの第二遅延分布の標準偏差である。ただし、Ａｐは、第二遅延バラツキパラメータβが「β≧０」の場合の標準偏差であり、Ａｎは第二遅延バラツキパラメータβが「β＜０」の場合の標準偏差である。ＳＳＴＡ結果テーブル９００は、たとえば、ＲＯＭ３０２、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶されている。
【００７１】
図４の説明に戻り、算出部４０３は、対象回路内のパスＰｉを直列回路としてモデル化した場合のパスＰｉの第一遅延分布の標準偏差Ｓ’（ｉ）を算出する機能を有する。具体的には、たとえば、算出部４０３が、パスＰｉ内のセルＣ（ｉ，ｊ）の第一遅延分布の標準偏差ｓ（Ｃ（ｉ，ｊ））を用いて、パスＰｉの第一遅延分布の標準偏差Ｓ’（ｉ）を算出する。なお、標準偏差ｓ（Ｃ（ｉ，ｊ））は、パス内セルＩＤ『Ｃ（ｉ，ｊ）』に対応するセルＣ１〜ＣＮの標準偏差である（ｊ＝１，２，…，ｎ（ｉ））。
【００７２】
より具体的には、たとえば、まず、算出部４０３が、パス内セルテーブル８００を参照して、パスＰｉに含まれるセルＣ（ｉ，１）〜Ｃ（ｉ，ｎ（ｉ））を特定する。このあと、算出部４０３が、セル遅延バラツキテーブル５００を参照して、セルＣ（ｉ，１）〜Ｃ（ｉ，ｎ（ｉ））の標準偏差ｓ（Ｃ（ｉ，１））〜ｓ（Ｃ（ｉ，ｎ（ｉ）））を特定する。
【００７３】
そして、算出部４０３が、標準偏差ｓ（Ｃ（ｉ，１））〜ｓ（Ｃ（ｉ，ｎ（ｉ）））を下記式（９）に代入して、その平方根を求めることにより、パスＰｉの第一遅延分布の標準偏差Ｓ’（ｉ）を算出する。なお、算出されたパスＰｉの第一遅延分布の標準偏差Ｓ’（ｉ）は、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶される。
【００７４】
Ｓ（ｉ）’２＝ｓ（Ｃ（ｉ，１））２＋ｓ（Ｃ（ｉ，２））２＋…＋ｓ（Ｃ（ｉ，ｎ（ｉ）））２      ・・・（９）
【００７５】
補正部４０４は、算出されたパスＰｉの第一遅延分布の標準偏差Ｓ’（ｉ）と、取得されたパスＰｉの第一遅延分布の標準偏差Ｓ（ｉ）とを用いて、パスＰｉ内のセルＣ（ｉ，ｊ）の第一遅延分布の標準偏差ｓ（Ｃ（ｉ，ｊ））を補正する機能を有する。具体的には、たとえば、補正部４０４が、下記式（１０）を用いて、セルＣ（ｉ，ｊ）の第一遅延分布の標準偏差ｓ（Ｃ（ｉ，ｊ））を補正する。ただし、ｐ（ｉ，ｊ）は補正後のセルＣ（ｉ，ｊ）の第一遅延分布の標準偏差である。
【００７６】
ｐ（ｉ，ｊ）＝（Ｓ（ｉ）／Ｓ’（ｉ））×ｓ（Ｃ（ｉ，ｊ））    ・・・（１０）
【００７７】
なお、補正された補正後のセルＣ（ｉ，ｊ）の第一遅延分布の標準偏差ｐ（ｉ，ｊ）は、たとえば、図１０に示す補正後バラツキテーブル１０００に記憶される。
【００７８】
図１０は、補正後バラツキテーブルの記憶内容の一例を示す説明図である。図１０において、補正後バラツキテーブル１０００は、パスＩＤおよび第一遅延分布の標準偏差のフィールドを有する。各フィールドに情報を設定することで、各パスＰ１〜ＰＬの補正後バラツキデータ１０００−１〜１０００−Ｌがレコードとして記憶されている。
【００７９】
パスＩＤとは、対象回路内のパスＰ１〜ＰＬを識別する識別子である。第一遅延分布の標準偏差とは、各パスＰｉ内の補正後のセルＣ（ｉ，ｊ）の第一遅延分布の標準偏差ｐ（ｉ，ｊ）である。補正後バラツキテーブル１０００は、たとえば、ＲＯＭ３０２、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶されている。
【００８０】
図４の説明に戻り、作成部４０５は、補正後のセルＣ（ｉ，ｊ）の第一遅延分布の標準偏差ｐ（ｉ，ｊ）と、取得されたパスＰｉの第一遅延分布および第二遅延分布とを用いて、パスＰｉの遅延バラツキを表現する関数モデルを作成する機能を有する。具体的には、たとえば、作成部４０５が、下記式（１１）を用いて、パスＰｉの遅延バラツキを表現する関数モデルを作成する。
【００８１】
ただし、αｊはセルＣ（ｉ，ｊ）独立の第一遅延バラツキパラメータ、βは全セルＣ１〜ＣＮ共通の第二遅延バラツキパラメータである。また、Ｍ（ｉ）はＳＳＴＡで計算されたパスＰｉの第一遅延分布の平均、Ａｐ、ＡｎはＳＳＴＡで計算されたパスＰｉの第二遅延分布の標準偏差である。
【００８２】
ｄ（ｉ）＝Ｍ（ｉ）＋ｐ（ｉ，１）×α１＋ｐ（ｉ，２）×α２＋…＋ｐ（ｉ，ｎ（ｉ））×αｎ（ｉ）＋ｆ（β）
ｆ（β）＝Ａｐ（１）×β  （β≧０）、ｆ（β）＝Ａｎ（１）×β  （β＜０）
・・・（１１）
【００８３】
また、作成部４０５は、対象回路内の各セル独立のリーク電流バラツキと対象回路内の全セル共通のリーク電流バラツキとに基づいて、パスＰｉのリーク電流バラツキを表現する関数モデルを作成する機能を有する。具体的には、たとえば、作成部４０５が、下記式（１２）を用いて、パスＰｉのリーク電流バラツキを表現する関数モデルを作成する。
【００８４】
ただし、α’ｊはセルＣ（ｉ，ｊ）独立の第一リーク電流バラツキパラメータ、β’は全セルＣ１〜ＣＮ共通の第二リーク電流バラツキパラメータである。また、ａ（Ｃ（ｉ，ｊ））、ｂ（Ｃ（ｉ，ｊ））およびｃ（Ｃ（ｉ，ｊ））は、リーク電流バラツキに関するセルＣ（ｉ，ｊ）固有の係数である。これら係数は、パス内セルテーブル８００内のセルＣ（ｉ，ｊ）に対応するセルＩＤを用いて、セルリークバラツキテーブル６００から特定される。
【００８５】
ｌ（ｉ）＝ｅｘｐ（ａ（Ｃ（ｉ，１））＋ｂ（Ｃ（ｉ，１））×α’１＋ｃ（Ｃ（ｉ，１））×β’１）＋ｅｘｐ（ａ（Ｃ（ｉ，２））＋ｂ（Ｃ（ｉ，２））×α’２＋ｃ（Ｃ（ｉ，２））×β’２）＋…＋ｅｘｐ（ａ（Ｃ（ｉ，ｎ（ｉ）））＋ｂ（Ｃ（ｉ，ｎ（ｉ）））×α’ｎ（ｉ）＋ｃ（Ｃ（ｉ，ｎ（ｉ）））×β’ｎ（ｉ））
・・・（１２）
【００８６】
取得部４０２は、対象回路の遅延とリーク電流の相関分布を取得する機能を有する。具体的には、たとえば、取得部４０２が、対象回路に関する回路情報と、補正後バラツキデータ１０００−１〜１０００−Ｌと、作成された関数モデルとをシミュレータに与えて、モンテカルロシミュレーションを実行する。そして、取得部４０２が、シミュレーション結果として対象回路の遅延とリーク電流のリーク・遅延相関分布をシミュレータから取得する。
【００８７】
なお、対象回路の遅延とリーク電流の相関解析の具体的な処理内容については、図１９−１および図１９−２を用いて説明する。シミュレータは、解析支援装置３００が備えていてもよく、また、外部のコンピュータ装置が備えていてもよい。なお、取得された相関分布は、たとえば、図１１に示すリーク・遅延相関テーブル１１００に記憶される。
【００８８】
図１１は、リーク・遅延相関テーブルの記憶内容の一例を示す説明図である。図１１において、リーク・遅延相関テーブル１１００は、相関ＩＤ、リーク電流および遅延のフィールドを有する。各フィールドに情報を設定することで、リーク・遅延相関データ１１００−１〜１１００−Ｋがレコードとして記憶されている。
【００８９】
相関ＩＤとは、ｋ回目のモンテカルロシミュレーションによる解析結果を識別する識別子である（ｋ＝１，２，…，Ｋ）。なお、Ｋは、モンテカルロシミュレーションの反復回数である。リーク電流とは、対象回路のリーク電流を表す解析値（単位は、たとえば［ｍＡ］）である。遅延とは、対象回路の遅延を表す解析値（単位は、たとえば［ｐｓ］）である。リーク・遅延相関テーブル１１００は、たとえば、ＲＯＭ３０２、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶されている。
【００９０】
出力部４０６は、取得された相関分布を出力する機能を有する。具体的には、たとえば、出力部４０６が、図１１に示したリーク・遅延相関テーブル１１００内のリーク・遅延相関データ１１００−１〜１１００−Ｋをグラフ化してディスプレイ３０８に表示することにしてもよい（図１２参照）。
【００９１】
なお、出力形式としては、たとえば、ディスプレイ３０８への表示、プリンタ３１３への印刷出力、Ｉ／Ｆ３０９による外部装置への送信がある。また、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶領域に記憶することとしてもよい。
【００９２】
図１２は、リーク・遅延相関分布の具体例を示す説明図である。図１２において、リーク・遅延相関分布１２００は、対象回路の遅延とリーク電流の相関を表すグラフである。具体的には、リーク・遅延相関分布１２００では、モンテカルロシミュレーションの反復回数分（Ｋ個）の点がプロットされている。このリーク・遅延相関分布１２００によれば、たとえば、対象回路内で発生するリーク電流の変動にともなう対象回路の遅延の変動を判断することができる。
【００９３】
図４の説明に戻り、算出部４０３は、取得された対象回路の遅延とリーク電流の相関を表す相関分布に基づいて、対象回路のリーク電流と周波数との相関を表す相関分布を算出する機能を有する。具体的には、たとえば、算出部４０３が、対象回路の遅延ｄ（ｋ）を下記式（１３）に代入して、対象回路の周波数ｆ（ｋ）を算出することにより、リーク・周波数相関分布を算出する。
【００９４】
ｆ（ｋ）＝１／ｄ（ｋ）      ・・・（１３）
【００９５】
なお、算出されたリーク・周波数相関分布は、たとえば、図１３に示すリーク・周波数相関テーブル１３００に記憶される。
【００９６】
図１３は、リーク・周波数相関テーブルの記憶内容の一例を示す説明図である。図１３において、リーク・周波数相関テーブル１３００は、相関ＩＤ、リーク電流および周波数のフィールドを有する。各フィールドに情報を設定することで、リーク・周波数相関データ１３００−１〜１３００−Ｋがレコードとして記憶されている。
【００９７】
相関ＩＤとは、ｋ回目のモンテカルロシミュレーションによる解析結果を識別する識別子である。リーク電流とは、対象回路のリーク電流を表す解析値である。周波数とは、対象回路の周波数を表す算出値（単位は、たとえば［Ｈｚ］）である。リーク・周波数相関テーブル１３００は、たとえば、ＲＯＭ３０２、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶されている。
【００９８】
出力部４０６は、算出された対象回路のリーク電流と周波数との相関を表す相関分布を出力する機能を有する。具体的には、たとえば、出力部４０６が、図１３に示したリーク・周波数相関テーブル１３００内のリーク・周波数相関データ１３００−１〜１３００−Ｋをグラフ化してディスプレイ３０８に表示することにしてもよい（図１６参照）。
【００９９】
また、算出部４０３は、対象回路のリーク電流と周波数との相関を表す相関分布に基づいて、対象回路の周波数に関する歩留分布を算出する機能を有する。具体的には、たとえば、まず、算出部４０３が、リーク・周波数相関テーブル１３００を参照して、対象回路の周波数ｆ（１）〜ｆ（Ｋ）を昇順にソートする。このあと、算出部４０３が、下記式（１４）を用いて、対象回路の周波数に関する周波数歩留分布を算出することにしてもよい。ただし、Ｙ（ｋ）は、対象回路の周波数がｆ（ｋ）以上となる歩留まりである。
【０１００】
Ｙ（ｋ）＝（Ｋ−ｋ＋１）／Ｋ      ・・・（１４）
【０１０１】
また、算出部４０３は、リーク・周波数相関分布のうち、リーク電流が所定の閾値ｌ０未満となる対象回路の周波数に基づいて、対象回路の周波数に関する周波数歩留分布を算出することにしてもよい。具体的には、たとえば、まず、算出部４０３が、リーク・周波数相関テーブル１３００の中から、リーク電流ｌ（ｋ）が閾値ｌ０以上となるリーク・周波数相関データを削除する。
【０１０２】
なお、閾値ｌ０は、たとえば、対象回路の要求仕様などに基づいて任意に設定されてＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶されている。これにより、不具合なく製造されたとしても要求仕様を満たさないチップに関するリーク・周波数相関データを周波数歩留分布の算出対象から排除することができる。
【０１０３】
図１４は、削除後のリーク・周波数相関テーブルの記憶内容の一例を示す説明図である。図１４において、リーク・周波数相関テーブル１３００には、リーク・周波数相関データ１４００−１〜１４００−Ｋ’が記憶されている。なお、Ｋ’は、削除後のリーク・周波数相関テーブル１３００内のリーク・周波数相関データ数である。
【０１０４】
このあと、算出部４０３が、削除後のリーク・周波数相関テーブル１３００を参照して、対象回路の周波数ｆ（１）〜ｆ（Ｋ’）を昇順にソートする。そして、算出部４０３が、下記式（１５）を用いて、対象回路の周波数に関する周波数歩留分布を算出する。
【０１０５】
Ｙ（ｋ）＝（Ｋ’−ｋ＋１）／Ｋ’      ・・・（１５）
【０１０６】
なお、算出された対象回路の周波数歩留分布は、たとえば、図１５に示す周波数歩留テーブル１５００に記憶される。図１５は、周波数歩留テーブルの記憶内容の一例を示す説明図である。図１５において、周波数歩留テーブル１５００は、周波数および歩留まりのフィールドを有する。各フィールドに情報を設定することで、対象回路の周波数に関する歩留データ１５００−１〜１５００−Ｋ’がレコードとして記憶されている。
【０１０７】
周波数とは、対象回路の周波数ｆ（ｋ）である（ｋ＝１，２，…，Ｋ’）。歩留まりとは、対象回路の周波数がｆ（ｋ）以上となる歩留まりである。周波数歩留テーブル１５００は、たとえば、ＲＯＭ３０２、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶されている。
【０１０８】
図４の説明に戻り、出力部４０６は、算出された対象回路の周波数に関する歩留分布を出力する機能を有する。具体的には、たとえば、出力部４０６が、図１５に示した周波数歩留テーブル１５００内の歩留データ１５００−１〜１５００−Ｋ’をグラフ化してディスプレイ３０８に表示することにしてもよい（図１６参照）。
【０１０９】
図１６は、リーク・周波数相関分布および周波数歩留分布の具体例を示す説明図である。図１６において、リーク・周波数相関分布１６１０は、対象回路の周波数とリーク電流の相関を表すグラフである。具体的には、リーク・周波数相関分布１６１０では、モンテカルロシミュレーションの反復回数分（Ｋ個）の点がプロットされている。
【０１１０】
このリーク・周波数相関分布１６１０によれば、たとえば、対象回路内で発生するリーク電流の変動にともなう対象回路の周波数の変動を判断することができる。
【０１１１】
また、図１６において、周波数歩留分布１６２０，１６３０は、対象回路の周波数に関する歩留まりを表すグラフである。具体的には、周波数歩留分布１６２０は、リーク・周波数相関データ１４００−１〜１４００−Ｋ’（図１４参照）に基づく周波数歩留分布である。一方、周波数歩留分布１６３０は、リーク・周波数相関データ１３００−１〜１３００−Ｋ（図１３参照）に基づく周波数歩留分布である。
【０１１２】
この周波数歩留分布１６２０，１６３０によれば、たとえば、対象回路の周波数の変動にともなう対象回路の歩留まりの変動を判断することができる。また、周波数歩留分布１６２０によれば、不具合なく製造されたとしても要求仕様を満たさないチップに関するリーク・周波数相関データが算出対象から排除されているため、対象回路の周波数歩留分布をより正確に判断することができる。
【０１１３】
（解析支援装置の解析支援処理手順）
つぎに、解析支援装置３００の解析支援処理手順について説明する。図１７は、解析支援装置の解析支援処理手順の一例を示すフローチャートである。図１７のフローチャートにおいて、まず、入力部４０１により、対象回路に関する回路情報の入力を受け付けたか否かを判断する（ステップＳ１７０１）。
【０１１４】
ここで、回路情報の入力を待って（ステップＳ１７０１：Ｎｏ）、入力を受け付けた場合（ステップＳ１７０１：Ｙｅｓ）、取得部４０２により、対象回路のＳＳＴＡを実行することにより、対象回路内の各パスＰｉの第一遅延分布および第二遅延分布を取得する（ステップＳ１７０２）。
【０１１５】
このあと、補正部４０４により、パスＰｉ内のセルＣ（ｉ，ｊ）の第一遅延分布の標準偏差ｓ（Ｃ（ｉ，ｊ））を補正するバラツキ補正処理を実行する（ステップＳ１７０３）。そして、取得部４０２により、対象回路の遅延とリーク電流の相関を表すリーク・遅延相関分布を取得するリーク・遅延相関分布取得処理を実行する（ステップＳ１７０４）。
【０１１６】
つぎに、算出部４０３により、取得されたリーク・遅延相関分布に基づいて、対象回路のリーク・周波数相関分布を算出するリーク・周波数相関分布算出処理を実行する（ステップＳ１７０５）。そして、算出部４０３により、算出されたリーク・周波数相関分布に基づいて、対象回路の周波数歩留分布を算出する周波数歩留分布算出処理を実行する（ステップＳ１７０６）。
【０１１７】
最後に、出力部４０６により、算出された対象回路の周波数歩留分布を出力して（ステップＳ１７０７）、本フローチャートによる一連の処理を終了する。これにより、対象回路の遅延とリーク電流の相関解析にかかる処理時間を短縮化するとともに、相関解析の解析精度を確保することができる。
【０１１８】
＜バラツキ補正処理手順＞
つぎに、図１７に示したステップＳ１７０３のバラツキ補正処理の具体的処理手順について説明する。図１８は、バラツキ補正処理の具体的処理手順の一例を示すフローチャートである。
【０１１９】
図１８のフローチャートにおいて、まず、算出部４０３により、パスＰｉの「ｉ」を「ｉ＝１」とするとともに（ステップＳ１８０１）、パスＰｉの第一遅延分布の標準偏差Ｓ’（ｉ）を「Ｓ’（ｉ）＝０」とする（ステップＳ１８０２）。
【０１２０】
このあと、算出部４０３により、パスＰｉ内のセルＣ（ｉ，ｊ）の「ｊ」を「ｊ＝１」として（ステップＳ１８０３）、「Ｓ’（ｉ）＝Ｓ’（ｉ）＋ｓ（Ｃ（ｉ，ｊ））２」を算出する（ステップＳ１８０４）。そして、算出部４０３により、ｊをインクリメントして（ステップＳ１８０５）、「ｊ」がパスＰｉ内の総セル数「ｎ（ｉ）」より大きいか否かを判断する（ステップＳ１８０６）。
【０１２１】
ここで、「ｊ≦ｎ（ｉ）」の場合（ステップＳ１８０６：Ｎｏ）、ステップＳ１８０４に戻る。一方、「ｊ＞ｎ（ｉ）」の場合（ステップＳ１８０６：Ｙｅｓ）、算出部４０３により、「Ｓ’（ｉ）＝ｓｑｒｔ（Ｓ’（ｉ））」を算出する（ステップＳ１８０７）。
【０１２２】
つぎに、算出部４０３により、セルＣ（ｉ，ｊ）の「ｊ」を「ｊ＝１」として（ステップＳ１８０８）、「ｐ（ｉ，ｊ）＝（Ｓ（ｉ）／Ｓ’（ｉ））×ｓ（Ｃ（ｉ，ｊ））」を算出する（ステップＳ１８０９）。そして、算出部４０３により、ｊをインクリメントして（ステップＳ１８１０）、「ｊ」が「ｎ（ｉ）」より大きいか否かを判断する（ステップＳ１８１１）。
【０１２３】
ここで、「ｊ≦ｎ（ｉ）」の場合（ステップＳ１８１１：Ｎｏ）、ステップＳ１８０９に戻る。一方、「ｊ＞ｎ（ｉ）」の場合（ステップＳ１８１１：Ｙｅｓ）、算出部４０３により、「ｉ」をインクリメントして（ステップＳ１８１２）、「ｉ」が対象回路内の総パス数「Ｌ」より大きいか否かを判断する（ステップＳ１８１３）。
【０１２４】
ここで、「ｉ≦Ｌ」の場合（ステップＳ１８１３：Ｎｏ）、ステップＳ１８０２に戻る。一方、「ｉ＞Ｌ」の場合（ステップＳ１８１３：Ｙｅｓ）、図１７に示したステップＳ１７０４に移行する。これにより、直列回路としてモデル化したパスＰｉの第一遅延バラツキを、セルＣ（ｉ，ｊ）の独立性を考慮して補正することができる。
【０１２５】
＜リーク・遅延相関分布取得処理手順＞
つぎに、図１７に示したステップＳ１７０４のリーク・遅延相関分布取得処理の具体的処理手順について説明する。図１９−１および図１９−２は、リーク・遅延相関分布取得処理の具体的処理手順の一例を示すフローチャートである。ここでは、解析支援装置３００が備えるシミュレータによりリーク・遅延相関分布を算出する場合について説明する。
【０１２６】
図１９−１のフローチャートにおいて、まず、取得部４０２により、モンテカルロシミュレーションの反復回数Ｋを設定する（ステップＳ１９０１）。なお、反復回数Ｋは、予め設定されてＲＯＭ３０２、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶されている。
【０１２７】
シミュレータにより、反復回数「ｋ」を「ｋ＝１」とする（ステップＳ１９０２）。そして、シミュレータにより、相関ρの標準正規乱数β、β’を生成する（ステップＳ１９０３）。なお、ρは相関係数テーブル７００内の第二バラツキ相関係数であり、β、β’は第二遅延／リーク電流バラツキパラメータである。
【０１２８】
そして、シミュレータにより、パスＰｉの「ｉ」を「ｉ＝１」とする（ステップＳ１９０４）。つぎに、シミュレータにより、パスＰｉの遅延に関する変数「ｄｅｌａｙ（ｉ）」を「ｄｅｌａｙ（ｉ）＝０」とするとともに（ステップＳ１９０５）、パスＰｉのリーク電流に関する変数「ｌｅａｋ（ｉ）を「ｌｅａｋ（ｉ）＝０」とする（ステップＳ１９０６）。
【０１２９】
このあと、シミュレータにより、相関ρ（ｊ）の標準正規乱数α、α’を生成する（ステップＳ１９０７）。なお、ρ（ｊ）は相関係数テーブル７００内のセルＣ（ｉ，ｊ）に対応するセルＣ１〜ＣＮの第一バラツキ相関係数であり、α、α’は第一遅延／リーク電流バラツキパラメータである。
【０１３０】
つぎに、シミュレータにより、「ｄｅｌａｙ（ｉ）＝ｄｅｌａｙ（ｉ）＋ｐ（ｉ，ｊ）×α」を算出する（ステップＳ１９０８）。なお、ｐ（ｉ，ｊ）は、たとえば、補正後バラツキテーブル１０００から特定される。
【０１３１】
また、シミュレータにより、「ｌｅａｋ（ｉ）＝ｌｅａｋ（ｉ）＋ｅｘｐ（ａ（Ｃ（ｉ，ｊ））＋ｂ（Ｃ（ｉ，ｊ））×α’＋ｃ（Ｃ（ｉ，ｊ））×β’）」を算出する（ステップＳ１９０９）。なお、ａ（Ｃ（ｉ，ｊ））、ｂ（Ｃ（ｉ，ｊ））およびｃ（Ｃ（ｉ，ｊ））は、たとえば、セルリークバラツキテーブル６００から特定される。
【０１３２】
そして、シミュレータにより、「ｄｅｌａｙ（ｉ）＝ｄｅｌａｙ（ｉ）＋Ｍ（ｉ）＋ｆ（β，ｉ）」を算出する（ステップＳ１９１０）。なお、ｆ（β，ｉ）は、パスＰｉの第二遅延分布である（ただし、β≧０の場合ｆ（β）＝Ａｐ（１）×β、β＜０の場合ｆ（β）＝Ａｎ（１）×β）。また、Ｍ（ｉ）、ＡｐおよびＡｎは、たとえば、ＳＳＴＡ結果テーブル９００から特定される。
【０１３３】
このあと、シミュレータにより、「ｉ」をインクリメントして（ステップＳ１９１１）、「ｉ」が「Ｌ」より大きいか否かを判断する（ステップＳ１９１２）。ここで、「ｉ≦Ｌ」の場合（ステップＳ１９１２：Ｎｏ）、ステップＳ１９０５に戻る。一方、「ｉ＞Ｌ」の場合（ステップＳ１９１２：Ｙｅｓ）、図１９−２に示すステップＳ１９１３に移行する。
【０１３４】
図１９−２のフローチャートにおいて、まず、シミュレータにより、「ｄ（ｋ）＝ｍａｘ（ｄｅｌａｙ（１），ｄｅｌａｙ（２），…，ｄｅｌａｙ（Ｌ））」を算出する（ステップＳ１９１３）。そして、取得部４０２により、算出されたｄ（ｋ）をリーク・遅延相関テーブル１１００に記憶する（ステップＳ１９１４）。
【０１３５】
つぎに、シミュレータにより、「ｌ（ｋ）＝ｌｅａｋ（１）＋ｌｅａｋ（２）＋…＋ｌｅａｋ（Ｌ）」を算出する（ステップＳ１９１５）。そして、取得部４０２により、算出されたｌ（ｋ）をリーク・遅延相関テーブル１１００に記憶する（ステップＳ１９１６）。
【０１３６】
このあと、シミュレータにより、「ｋ」をインクリメントして（ステップＳ１９１７）、「ｋ」が「Ｋ」より大きいか否かを判断する（ステップＳ１９１８）。ここで、「ｋ≦Ｋ」の場合（ステップＳ１９１８：Ｎｏ）、図１９−１に示したステップＳ１９０３に戻る。一方、「ｋ＞Ｋ」の場合（ステップＳ１９１８：Ｙｅｓ）、図１７に示したステップＳ１７０５に移行する。
【０１３７】
これにより、対象回路の遅延とリーク電流の相関を表すリーク・遅延相関分布を取得することができる。また、遅延とリーク電流の相関解析が、数式ベースのモンテカルロシミュレーションとなるため、計算を高速化して、相関解析にかかる処理時間を短縮することができる。
【０１３８】
＜リーク・周波数相関分布算出処理手順＞
つぎに、図１７に示したステップＳ１７０５のリーク・周波数相関分布算出処理の具体的処理手順について説明する。図２０は、リーク・周波数相関分布算出処理の具体的処理手順の一例を示すフローチャートである。
【０１３９】
図２０のフローチャートにおいて、まず、算出部４０３により、相関ＩＤを表す「ｋ」を「ｋ＝１」として（ステップＳ２００１）、リーク・遅延相関テーブル１１００の中からｄ（ｋ）を抽出する（ステップＳ２００２）。このあと、算出部４０３により、「ｆ（ｋ）＝１／ｄ（ｋ）」を算出して（ステップＳ２００３）、ｆ（ｋ）をリーク・周波数相関テーブル１３００に記憶する（ステップＳ２００４）。
【０１４０】
そして、算出部４０３により、「ｋ」をインクリメントして（ステップＳ２００５）、「ｋ」が「Ｋ」より大きいか否かを判断する（ステップＳ２００６）。ここで、「ｋ≦Ｋ」の場合（ステップＳ２００６：Ｎｏ）、ステップＳ２００２に戻る。一方、「ｋ＞Ｋ」の場合（ステップＳ２００６：Ｙｅｓ）、図１７に示したステップＳ１７０６に移行する。これにより、対象回路の周波数とリーク電流の相関を表すリーク・周波数相関分布を算出することができる。
【０１４１】
＜周波数歩留分布算出処理手順＞
つぎに、図１７に示したステップＳ１７０６の周波数歩留分布算出処理の具体的処理手順について説明する。図２１は、周波数歩留分布算出処理の具体的処理手順の一例を示すフローチャートである。
【０１４２】
図２１のフローチャートにおいて、まず、算出部４０３により、リーク・周波数相関テーブル１３００の中から、リーク電流ｌ（ｋ）が閾値ｌ０以上となるリーク・周波数相関データを削除する（ステップＳ２１０１）。
【０１４３】
このあと、算出部４０３により、削除後のリーク・周波数相関テーブル１３００を参照して、対象回路の周波数ｆ（１）〜ｆ（Ｋ’）を昇順にソートする（ステップＳ２１０２）。そして、算出部４０３により、相関ＩＤ「ｋ」を「ｋ＝１」として（ステップＳ２１０３）。「Ｙ（ｋ）＝（Ｋ’−ｋ＋１）／Ｋ’」を算出する（ステップＳ２１０４）。
【０１４４】
つぎに、算出部４０３により、算出されたＹ（ｋ）を周波数歩留テーブル１５００に記憶する（ステップＳ２１０５）。そして、算出部４０３により、「ｋ」をインクリメントして（ステップＳ２１０６）、「ｋ」が「Ｋ’」より大きいか否かを判断する（ステップＳ２１０７）。
【０１４５】
ここで、「ｋ≦Ｋ」の場合（ステップＳ２１０７：Ｎｏ）、ステップＳ２１０４に戻る。一方、「ｋ＞Ｋ」の場合（ステップＳ２１０７：Ｙｅｓ）、図１７に示したステップＳ１７０７に移行する。これにより、対象回路の周波数に関する歩留分布を算出することができる。
【０１４６】
以上説明したように、本実施の形態によれば、対象回路内のパスを直列回路としてモデル化するとともに、モデル化されたパスＰｉの第一遅延分布を、ＳＳＴＡで計算されたパスＰｉの第一遅延分布を用いて補正することができる。これにより、対象回路の遅延とリーク電流の相関解析にかかる処理時間を短縮するとともに、解析精度を確保することができる。
【０１４７】
また、本実施の形態によれば、対象回路の遅延とリーク電流の相関を表すリーク・遅延相関分布に基づいて、対象回路の周波数とリーク電流の相関を表すリーク・周波数相関分布を算出することができる。これにより、対象回路内で発生するリーク電流の変動にともなう対象回路の遅延の変動を判断することができる。
【０１４８】
また、本実施の形態によれば、対象回路のリーク電流と周波数との相関を表すリーク・周波数相関分布に基づいて、対象回路の周波数に関する歩留分布を算出することができる。これにより、対象回路内で発生するリーク電流の変動にともなう対象回路の周波数の変動を判断することができる。
【０１４９】
また、本実施の形態によれば、リーク・周波数相関分布のうち、対象回路のリーク電流が閾値未満ｌ０となる対象回路の周波数に基づいて、対象回路の周波数歩留分布を算出することができる。これにより、不具合なく製造されたとしても要求仕様を満たさないチップに関するデータを排除して、対象回路の周波数歩留分布をより正確に算出することができる。
【０１５０】
なお、本実施の形態で説明した解析支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本解析支援プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本解析支援プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１５１】
また、本実施の形態で説明した解析支援装置３００は、スタンダードセルやストラクチャードＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などの特定用途向けＩＣ（以下、単に「ＡＳＩＣ」と称す。）やＦＰＧＡなどのＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）によっても実現することができる。具体的には、たとえば、上述した解析支援装置３００の機能（入力部４０１〜出力部４０６）をＨＤＬ記述によって機能定義し、そのＨＤＬ記述を論理合成してＡＳＩＣやＰＬＤに与えることにより、解析支援装置３００を製造することができる。
【符号の説明】
【０１５２】
３００  解析支援装置
４０１  入力部
４０２  取得部
４０３  算出部
４０４  補正部
４０５  作成部
４０６  出力部
５００  セル遅延バラツキテーブル
６００  セルリークバラツキテーブル
７００  相関係数テーブル
８００  パス内セルテーブル
９００  ＳＳＴＡ結果テーブル
１０００  補正後バラツキテーブル
１１００  リーク・遅延相関テーブル
１３００  リーク・周波数相関テーブル
１５００  周波数歩留テーブル
【図１】
0005445066.tif 000002
【図２】
0005445066.tif 000003
【図３】
0005445066.tif 000004
【図４】
0005445066.tif 000005
【図５】
0005445066.tif 000006
【図６】
0005445066.tif 000007
【図７】
0005445066.tif 000008
【図８】
0005445066.tif 000009
【図９】
0005445066.tif 000010
【図１０】
0005445066.tif 000011
【図１１】
0005445066.tif 000012
【図１２】
0005445066.tif 000013
【図１３】
0005445066.tif 000014
【図１４】
0005445066.tif 000015
【図１５】
0005445066.tif 000016
【図１６】
0005445066.tif 000017
【図１７】
0005445066.tif 000018
【図１８】
0005445066.tif 000019
【図１９−１】
0005445066.tif 000020
【図１９−２】
0005445066.tif 000021
【図２０】
0005445066.tif 000022
【図２１】
0005445066.tif 000023