(57)【要約】  確率解析プロセス（「ＳＡＰ」）を組み込んだ集積回路設計ツールが説明される。ＳＡＰは、トランジスタデバイス、論理ゲートデバイス、およびシステムオンチップまたはチップデバイスを含む、回路構成要素の多くのレベルにおいて適用されることができる。ＳＡＰは、多数の従来のモンテカルロシミュレーションを、少数のサンプリング点またはコーナを使用する演算で置き換える。ＳＡＰは、性能変動予測を対応する統計情報（例えば、平均、３シグマ確率など）とともに生成するために、任意の数の性能メトリックとともに使用され得るモデルを生成するためのモデル適合プロセスを使用する、階層的手法である。ＳＡＰは、デバイス寸法、相互接続配線変動、経済的変動、および製造変動などのグローバルパラメータに起因する、回路またはシステム変動をモデル化する効率的な方法を提供する。
2008523516.tif 000002
【特許請求の範囲】
【請求項１】
事前定義システムの１つまたは複数のパラメータの入力分布と、前記パラメータの間の相互相関とを受け取るステップと、
標準化独立パラメータセットを生成するために、前記パラメータ分布を正規化し、前記相互相関を分解するステップと、
前記標準化独立パラメータセットに基づいて、前記事前定義システムのサンプリングのための入力値の特定のセットを生成するステップと、
事前定義システム出力値を生成するために、入力値の前記特定のセット上で、事前定義システムサンプリングを実行するステップと、
ＳＡＰモデルを生成するために、入力値の前記特定のセット、前記事前定義システム出力値、および前記標準化独立パラメータセット上で、直交多項式適合を実行するステップと、
前記事前定義システムの出力分布を生成するために、前記ＳＡＰモデルを使用するステップと、を含む方法。
【請求項２】
前記出力が、前記入力パラメータの前記変動に基づいた前記事前定義システムの前記出力分布の統計的表現であり、前記統計的表現が、グラフィカルＰＤＦ、ＣＤＦ、平均およびシグマ値セットの１つを含む、請求項１に記載の前記方法。
【請求項３】
サンプリングのための入力値の前記特定のセットが、
直交多項式の前記適合次数の前記数を定義するステップと、
パラメータの前記数を獲得するステップと、
前記直交多項式の前記より高い確率の根を選択するステップと、
前記より高い確率の根を前記事前定義システムのサンプリングのための入力値の前記特定のセットに変換するステップと、を通して決定される、請求項２に記載の前記方法。
【請求項４】
前記事前定義システムが、トランジスタデバイス、論理ゲートデバイス、およびシステムオンチップ回路の１つである、請求項３に記載の前記方法。
【請求項５】
前記ＳＡＰモデルが、前記事前定義システムのもう１つのブロックを含む、前記事前定義システムの階層的により抽象的なバージョンの前記性能をシミュレートする、請求項４に記載の前記方法。
【請求項６】
前記事前定義システムが、論理ゲートであり、前記階層的により抽象的なバージョンが、システムオンチップデバイスを含む、請求項５に記載の前記方法。
【請求項７】
複数の独立標準化変数を含むように前記ＳＡＰモデルを定義するステップと、
前記パラメータの１次結合の優位ベクトルから１つまたは複数の追加のＳＡＰモデルを再構築するステップと、
前記ＳＡＰモデルと前記追加のＳＡＰモデルの間の前記差を最小化することによって、ベクトル選択を最適化するステップであって、前記追加のＳＡＰモデルが、前記ＳＡＰモデルよりも少ない独立変数を使用して、前記ＳＡＰモデルの近似挙動特性を表すステップと、をさらに含む、請求項１に記載の前記方法。
【請求項８】
最下位レベルシステムと最上位レベルシステムの間の階層的関係を定義するステップと、
前記最下位レベルシステムについてのシステム挙動を予測するために、１つまたは複数のＳＡＰモデルを含む分析モデルを事前生成するステップと、
前記最上位レベルシステムＳＡＰモデルを構築するために、前記１つまたは複数の最下位レベルＳＡＰモデルを再帰的に使用するステップと、を含む方法。
【請求項９】
前記１つまたは複数のＳＡＰモデルの前記少なくとも１つが、
前記最下位レベルシステムの１つまたは複数のパラメータの入力分布と、前記パラメータの間の相互相関とを受け取るステップと、
標準化独立パラメータセットを生成するために、前記パラメータ分布を正規化し、前記相互相関を分解するステップと、
前記標準化独立パラメータセットに基づいて、前記最下位レベルシステムのサンプリングのための入力値の特定のセットを生成するステップと、
最下位レベルシステム出力値を生成するために、入力値の前記特定のセット上で、最下位レベルシステムサンプリングを実行するステップと、
前記ＳＡＰモデルを生成するために、入力値の前記特定のセット、前記最下位レベルシステム出力値、および前記標準化独立パラメータセット上で、直交多項式適合を実行するステップと、によって生成される、請求項８に記載の前記方法。
【請求項１０】
前記最下位レベルシステムの出力分布を生成するために、前記ＳＡＰモデルを使用するステップをさらに含む、請求項９に記載の前記方法。
【請求項１１】
前記出力が、前記入力パラメータの前記変動に基づいた前記最下位レベルシステムの前記出力分布の統計的表現である、請求項１０に記載の前記方法。
【請求項１２】
サンプリングのための入力値の前記特定のセットが、
直交多項式の前記適合次数の前記数を定義するステップと、
パラメータの前記数を獲得するステップと、
前記直交多項式の前記より高い確率の根を選択するステップと、
前記より高い確率の根を前記最下位レベルシステムのサンプリングのための入力値の前記特定のセットに変換するステップと、を通して決定される、請求項１１に記載の前記方法。
【請求項１３】
前記最下位レベルシステムが、トランジスタデバイス、論理ゲートデバイス、およびシステムオンチップ回路の１つである、請求項１２に記載の前記方法。
【請求項１４】
前記最下位レベルシステムが、論理ゲートであり、前記階層的により抽象的なバージョンが、システムオンチップデバイスを含む、請求項１３に記載の前記方法。
【請求項１５】
複数の独立標準化変数を含むように前記最下位レベルＳＡＰモデルを定義するステップと、
前記パラメータの１次結合の優位ベクトルから１つまたは複数の追加のＳＡＰモデルを再構築するステップと、
前記ＳＡＰモデルと前記追加のＳＡＰモデルの間の前記差を最小化することによって、ベクトル選択を最適化するステップであって、前記追加のＳＡＰモデルが、前記ＳＡＰモデルよりも少ない独立変数を使用して、前記ＳＡＰモデルの近似挙動特性を表すステップと、をさらに含む、請求項９に記載の前記方法。
【請求項１６】
事前定義回路の１つまたは複数のパラメータの入力分布と、前記パラメータの間の相互相関とを受け取る手段と、
標準化独立パラメータセットを生成するために、前記パラメータ分布を正規化し、前記相互相関を分解する手段と、
前記標準化独立パラメータセットに基づいて、前記事前定義回路のサンプリングのための入力値の特定のセットを生成する手段と、
事前定義回路出力値を生成するために、入力値の前記特定のセット上で、事前定義回路サンプリングを実行する手段と、
ＳＡＰモデルを生成するために、入力値の前記特定のセット、前記事前定義回路出力値、および前記標準化独立パラメータセット上で、直交多項式適合を実行する手段と、
前記事前定義回路の出力分布を生成するために、前記ＳＡＰモデルを使用する手段と、を含むシステム。
【請求項１７】
前記出力が、前記入力パラメータの前記変動に基づいた前記事前定義回路の前記出力分布の統計的表現である、請求項１６に記載の前記システム。
【請求項１８】
直交多項式の前記適合次数の前記数を定義する手段と、
パラメータの前記数を獲得する手段と、
前記直交多項式の前記より高い確率の根を選択する手段と、
前記より高い確率の根を前記事前定義回路のサンプリングのための入力値の前記特定のセットに変換する手段と、をさらに含む、請求項１７に記載の前記システム。
【請求項１９】
前記事前定義回路が、トランジスタデバイス、論理ゲートデバイス、およびシステムオンチップ回路の１つであり、前記ＳＡＰモデルが、前記事前定義回路のもう１つのブロックを含む、前記事前定義回路の階層的により抽象的なバージョンの前記性能をシミュレートする、請求項１８に記載の前記システム。
【請求項２０】
複数の独立標準化変数を含むように前記ＳＡＰモデルを定義する手段と、
前記パラメータの１次結合の優位ベクトルから１つまたは複数の追加のＳＡＰモデルを再構築する手段と、
前記ＳＡＰモデルと前記追加のＳＡＰモデルの前記差を最小化することによって、ベクトル選択を最適化する手段であって、前記追加のＳＡＰモデルが、前記ＳＡＰモデルよりも少ない独立変数を使用して、前記ＳＡＰモデルの近似挙動特性を表す手段と、をさらに含む、請求項１９に記載の前記システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書で提供される実施形態は一般に、集積回路を設計および製作することに関し、より詳細には、回路シミュレーション用のモデル化方法に関する。
【背景技術】
【０００２】
本出願は、２００４年１２月１０日に出願された米国仮特許出願第６０／６３４８７２号、および２００５年６月２２日に出願された米国仮特許出願第６０／６９３３７３号の恩典を主張する。
【０００３】
製造技術の不断の進歩と、その結果の工程変化は、性能の変動性（遅延／タイミング、電力）がますます顕著になる原因となっている。性能の変動性をモデル化するために、統計的モデルが必須となった。現在のＶＬＳＩおよびＵＬＳＩ設計の高い複雑性のため、既存のモデル、アルゴリズム、またはツールは、性能予測の精度と効率を同時に保証することができない。
【０００４】
最大で数１００万個のトランジスタを含み得る現行世代の集積回路の設計および生産は、非常に複雑な作業である。デバイス寸法および環境要因（電力、温度）などの多くの変動源が、製造段階において、歩留まりに著しく影響を及ぼし得る。１つまたは複数の可能な変動によってデバイスの製造中にどのような変化が発生し得るかを正確に予測することは、そのような変動を計算に入れて設計を最適化する際に大きな価値がある。設計および／または製造の変動が原因で発生し得る変化を予測する現行の方法は一般に、設計不確定性の統計的分布、ならびにモンテカルロ分析、ラテンハイパーキューブ（Ｌａｔｉｎ  Ｈｙｐｅｒｃｕｂｅ）、および類似技法などのサンプリングモデルの使用を含む。しかし、これらの方法は一般に、相当な処理オーバーヘッド、時間を必要とする点、および拡張性がない点で不都合である。
【０００５】
実施形態が、例によって説明されるが、添付の図面の図には限定されず、図面において、同じ参照符号は、同様の要素を表す。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
【課題を解決するための手段】
【０００７】
【発明を実施するための最良の形態】
【０００８】
確率解析プロセス（「ＳＡＰ」：Ｓｔｏｃｈａｓｔｉｃ  Ａｎａｌｙｓｉｓ  Ｐｒｏｃｅｓｓ）が以下で説明される。ＳＡＰは、トランジスタデバイス、論理ゲートデバイス（スタンダードセル）、ＡＳＩＣブロック、およびシステムオンチップ（「ＳｏＣ」）またはチップ設計を含む、超大規模集積（「ＶＬＳＩ」）回路構成要素の多くのレベルに適用されることができる。ＳＡＰは一般に、設計の多数の性能メトリック上で現在実行される、多数のモンテカルロシミュレーションに取って代わる。ＳＡＰは、この多数のシミュレーションを、少数のサンプリング点またはコーナ（ｃｏｒｎｅｒ）を使用する演算で置き換える。ＳＡＰは、性能変動予測を対応する統計情報（例えば、平均、３シグマ確率など）とともに生成するために、任意の数の性能メトリックとともに使用され得るモデルを生成するためのモデル適合プロセス（ｍｏｄｅｌ  ｆｉｔｔｉｎｇ  ｐｒｏｃｅｓｓ）を使用する階層的手法である。それによって、ＳＡＰは、デバイス寸法、相互接続配線変動、環境変動、および製造変動などのグローバルパラメータに起因する、回路またはシステム変動をモデル化する効率的な方法を提供する。
【０００９】
ＳＡＰを使用することで、有効な変動解析が、ＳｏＣ設計に適用されることができる。設計者と製造の両方が、速くて高い歩留まり傾斜（ｙｉｅｌｄ  ｒａｍｐ）を有する堅牢なチップ設計の生産において役に立つチップ変動予測から、利益を得ることができる。ＳＡＰからの結果も、チップ性能歩留まり最適化として後で使用されることができる。
ＳＡＰ背景
一般に、ＳＡＰは、応答曲面法（ＲＳＭ：ｒｅｓｐｏｎｓｅ  ｓｕｒｆａｃｅ  ｍｅｔｈｏｄ）モデリングの１タイプである。ＲＳＭは、入力パラメータと出力応答の間の関係をモデル化し、通常は統計的環境において使用される。ＲＳＭに最も適合した形式は、入力パラメータの２次多項式である。ＲＳＭにおける最も簡単な出力表現は、
【００１０】
【数１】
2008523516.tif 000003
【００１１】
である。
【００１２】
上記の式について、ｘｊがｓｔｄ＝１の正規分布である場合、試験（測定）点の選択は、（０，＋１，−１）の中にある。言い換えると、試験点は通常、各入力パラメータの平均と１標準偏差にあたる。
【００１３】
ＲＳＭを実施することに関する１つの問題は、確率的意味から良好なモデルを生成するために、実際の入力点を選択することである。確率解析手順（ＳＡＰ：ｓｔｏｃｈａｓｔｉｃ  ａｎａｌｙｓｉｓ  ｐｒｏｃｅｄｕｒｅ）は、確率的意味でより良好に近似されたＲＳＭのための測定「選」点（“ｃｏｌｌｏｃａｔｉｏｎ”ｍｅａｓｕｒｅｍｅｎｔ  ｐｏｉｎｔ）を提供する、特別な種類のＲＳＭである。
【００１４】
選点（ｃｏｌｌｏｃａｔｉｏｎ  ｐｏｉｎｔ）の概念は、ニュートン−コーツ積分（Ｎｅｗｔｏｎ−Ｃｏｔｅｓ  Ｉｎｔｅｇｒａｌ）などのその他の方法と比べてより良い精度を有する数値積分法である、ガウスの求積積分（Ｇａｕｓｓｉａｎ  Ｑｕａｄｒａｔｕｒｅ  Ｉｎｔｅｇｒａｌ）から導き出される。この積分法では、関数ｆ（ｘ）が、次数が２ｎより小さい場合、
ｆ（ｘ）＝Ｑ（ｘ）＊Ｈｎ（ｘ）＋Ｒ（ｘ）
であり、ここで、Ｑ（ｘ）、Ｒ（ｘ）は、次数がｎより小さい。Ｌｎ（ｘ）は、次数ｎのエルミート多項式（Ｈｅｒｍｉｔｅ  ｐｏｌｙｎｏｍｉａｌ）、
【００１５】
【数２】
2008523516.tif 000004
【００１６】
であり、ここで、ｘｊは、次数ｎのエルミート多項式の根である。
【００１７】
このアイデアは、ルジャンドル多項式（Ｌａｇｕｅｒｒｅ  ｐｏｌｙｎｏｍｉａｌ）およびラゲール多項式（Ｌａｇｕｅｒｒｅ  ｐｏｌｙｎｏｍｉａｌ）を用いて、区間［−１，１］または［０，無限大］に適用されることができる。
【００１８】
【数３】
2008523516.tif 000005
【００１９】
ＳＡＰは、この積分を応答曲面ＲＳＭに拡張する。出力が直交多項式（ｏｒｔｈｏｇｏｎａｌ  ｐｏｌｙｎｏｍｉａｌ）ｇｊ（ｘ）として近似され得る場合、
【００２０】
【数４】
2008523516.tif 000006
【００２１】
である。
【００２２】
近似の次数が次数ｎより小さく、かつ剰余Ｒがｎより小さい場合、近似誤差は、
【００２３】
【数５】
2008523516.tif 000007
【００２４】
として定義されることができる。
ＳＡＰ入力変数変換
ＳＡＰ適合演算（ＳＡＰ  ｆｉｔｔｉｎｇ  ｏｐｅｒａｔｉｏｎ）を実行する前に、入力パラメータは最初に、「独立標準正規」分布にされなければならない。これは、最初に分布を標準正規分布に変換し、次に変数間の相関を独立変数に分解することを含む。
【００２５】
サンプリングのため、これらの標準正規変数は、元の入力パラメータに逆変換されなければならない。分布が正規分布である場合、行われる必要があることは、標準正規に再スケーリングおよび再シフトすることだけである。これは、ガウシアンに近い分布についても行われることができる。その他の任意の与えられた分布については、パラメータを標準一様［０．１］分布に移すほうが、正規分布に移すよりも通常は容易である。標準一様および標準正規からの変換は、以下の式を使用することによって行われることができる。
【００２６】
【表１】
2008523516.tif 000008
【００２７】
【数６】
2008523516.tif 000009
【００２８】
変換ｘ−＞ζ、ζ−＞ξが、ｘ−＞ξを得るために使用されることができ、反対に、ξ−＞ζ、ζ−＞ｘから、ξ−＞ｘを得る。
【００２９】
一般的な分布については、公式または表から取得され得る、ＣＤＦ（累積分布関数（Ｃｕｍｕｌａｔｅｄ  Ｄｉｓｔｒｉｂｕｔｉｏｎ  Ｆｕｎｃｔｉｏｎ））が必要とされる。変換の背後のアイデアは、ｃｄｆ（ｘ）がまさに、ｘから標準一様［０，１］への変換であることである。そのため、必要とされる以下の部分は、それを標準一様から標準正規に変換する。
【００３０】
【表２】
2008523516.tif 000010
【００３１】
【表３】
2008523516.tif 000011
【００３２】
入力パラメータが相互相関を有する場合、主成分分析（ＰＣＡ：Ｐｒｉｎｃｉｐａｌ  Ｃｏｍｐｏｎｅｎｔ  Ａｎａｌｙｓｉｓ）が、これらの相関を分解するために使用されることができる。ＰＣＡは、固有値（主値）と、相互に線形独立なベクトルとを得るために、固有値分解（Ｅｉｇｅｎ  ｖａｌｕｅ  ｄｅｃｏｍｐｏｓｉｔｉｏｎ）とともに実行される。これらを使用することによって、変換された変数の相関は、０になる。
【００３３】
【数７】
2008523516.tif 000012
【００３４】
その場合、変換公式は、
【００３５】
【数８】
2008523516.tif 000013
【００３６】
のように書き表されることができる。
ＳＡＰ適合
近似の目標は、係数ｃを見出すことからの誤差を最小化することである。平均誤差の場合、以下の式が使用される。
【００３７】
【数９】
2008523516.tif 000014
【００３８】
最小２乗誤差の場合、最小を得るために、偏微分（ｐａｒｔｉａｌ  ｄｅｒｉｖａｔｉｏｎ）が使用され、その後、ガウスの求積積分が適用される。
【００３９】
【数１０】
2008523516.tif 000015
【００４０】
このように、近似関数、ならびにＳＡＰの平均および分散を
【００４１】
【数１１】
2008523516.tif 000016
【００４２】
によって得るために、係数の値が計算されることができる。
【００４３】
上記の解説は、１次元ＳＡＰを説明している。多次元ＳＡＰを構成するには、多次元加重直交多項式（ｍｕｌｔｉ−ｄｉｍｅｎｓｉｏｎａｌ  ｗｅｉｇｈｔｅｄ  ｏｒｔｈｏｎｏｒｍａｌ  ｐｏｌｙｎｏｍｉａｌ）が、最初に構成されなければならない。この多項式を構成するため、１次元多項式が、最初に開発される。
【００４４】
Ｈ０（ｘ），Ｈ１（ｘ），Ｈ２（ｘ），Ｈ３（ｘ）
Ｈ０（ｙ），Ｈ１（ｙ），Ｈ２（ｙ），Ｈ３（ｙ）
Ｈ０（ｚ），Ｈ１（ｚ），Ｈ２（ｚ），Ｈ３（ｚ）
次数０の多項式は、以下のすべて、すなわち、１から構成される。
次いで、次数１の多項式は、以下のすべて、すなわち、
Ｈ１（ｘ），Ｈ１（ｙ），Ｈ１（ｚ）
から構成される。
次に、次数２の多項式は、以下のすべて、すなわち、
Ｈ２（ｘ），Ｈ２（ｙ），Ｈ２（ｚ），Ｈ１（ｘ）Ｈ１（ｙ），Ｈ１（ｘ）Ｈ１（ｚ），Ｈ１（ｚ）Ｈ１（ｙ）
から構成される。
その次に、次数３の多項式は、以下のすべて、すなわち、
Ｈ３（ｘ），Ｈ３（ｙ），Ｈ３（ｚ），Ｈ１（ｘ）＊Ｈ２（ｙ），Ｈ１（ｘ）＊Ｈ２（ｚ），Ｈ１（ｙ）＊Ｈ２（ｚ），Ｈ１（ｙ）＊Ｈ２（ｘ），Ｈ１（ｚ）＊Ｈ２（ｘ），Ｈ１（ｚ）＊Ｈ２（ｙ）
から構成される。
一般に、これらの多項式は、正規直交である。Ｈ（ｘ）、Ｐ（ｙ）などの加重関数も、混合されることができ、そのことは、以下のすべて、すなわち、１を含む次数０の多項式、以下のすべて、すなわち、Ｈ１（ｘ），Ｐ１（ｙ）を含む次数１の多項式、以下のすべて、すなわち、Ｈ２（ｘ），Ｐ２（ｙ），Ｈ１（ｘ）＊Ｐ１（ｙ）を含む次数２の多項式による、多次元多項式の生成を可能にする
同様に、多変数ＳＡＰモデルが、直交関数の１次結合として構成されることができる。ＳＡＰの次数ｎの近似のためのｐ個の入力パラメータは、
【００４５】
【数１２】
2008523516.tif 000017
【００４６】
である。
同様に、最小誤差は、
最小化平均誤差（Ｍｉｎｉｍｉｚｅｄ  Ａｖｅｒａｇｅ  Ｅｒｒｏｒ）：
【００４７】
【数１３】
2008523516.tif 000018
【００４８】
最小化最小２乗誤差（Ｍｉｎｉｍｉｚｅｄ  Ｌｅａｓｔ  Ｓｑｕａｒｅｄ  Ｅｒｒｏｒ）：
【００４９】
【数１４】
2008523516.tif 000019
【００５０】
加重最小化最小２乗誤差（Ｗｅｉｇｈｔｅｄ  Ｍｉｎｉｍｉｚｅｄ  Ｌｅａｓｔ  Ｓｑｕａｒｅｄ  Ｅｒｒｏｒ）：
【００５１】
【数１５】
2008523516.tif 000020
【００５２】
によって構成されることができる。
上記の誤差公式は、非常に近いが、以下のように導き出されることができる。
【００５３】
【数１６】
2008523516.tif 000021
【００５４】
平均誤差は、その場合、
ＧＣ＝Ｆ
⇔［ｇＫ（ξＭ）］［ｃＫ］＝［ｆ（ξＭ）］
となる。
最小２乗誤差は、
（ＧＴＧ）Ｃ＝ＧＴＦ
⇔［ｇＪ（ξＭ）］［ｇＫ（ξＭ）］［ｃＫ］＝［ｇＪ（ξＭ）］［ｆ（ξＭ）］
を意味する（Ｇの転置で乗算する）。
加重最小２乗誤差は、
（ＧＴＷＧ）Ｃ＝ＧＴＷＦ
⇔［ｇＪ（ξＭ）］［ｗ（ξＭ）］［ｇＫ（ξＭ）］［ｃＫ］＝［ｇＪ（ξＭ）］［ｗ（ξＭ）］［ｆ（ξＭ）］
を意味する（重みで乗算し、その後、Ｇの転置で乗算する）。
【００５５】
上記の式について、Ｇが可逆（非特異）である場合、上記の３つの式のすべては同一であり、Ｇが可逆でない（Ｇはｍ×ｎ型、ｍ＞ｎ）場合、（加重あり／なしの）最小２乗バージョンが使用されなければならない。
【００５６】
言い換えると、平均誤差の解法が採用される場合、３つの式すべてについて正確に同じ係数が生成される。しかし、実験的データが使用されるケースがある場合、平均誤差公式は適用されるのが難しく、そうしたケースでは、最小２乗法または加重最小２乗誤差法が、使用されることができる。
【００５７】
別の問題は、平均誤差式の場合、Ｇ行列は非対称であり、そのことが、逆行列が計算されるときに数値的誤差を引き起こし得ることである。最小２乗誤差式は、より対称的であり、そのため、コレスキー分解（Ｃｈｏｌｅｓｋｙ  Ｄｅｃｏｍｐｏｓｉｔｉｏｎ）技法などの方法が、より正確な結果を取得するために使用されることができる。
サンプルのＳＡＰ入力の生成
直交多項式を最も良く適合させるため、サンプリング点は、慎重に選択されるべきである。ＳＡＰ法は、ガウスの求積法に関係するので、最良のサンプリング点は一般に、次数（ｎ＋１）の１次元直交関数について選択された式の根から取得されることができる。
【００５８】
Ｈｎ＋１（ξｉ）＝０  ｉ＝１〜ｎ＋１
最小化平均誤差の場合、多次元ケースに帰着する問題は、既知の式の数が未知の係数よりも大きいことである。ｐ個のパラメータを有するｎ次のＳＡＰ適用の場合、（ｎ＋１）ｐの関数評価が存在するが、以下の数の係数だけが解かれるに過ぎない。
【００５９】
【数１７】
2008523516.tif 000022
【００６０】
例えば、３個のパラメータを有する２次のＳＡＰモデルの場合、１０個の係数と２７個の式が存在する。ところで、ｐ＝１である場合、（ｎ＋１）個の係数が必要とされ、（ｎ＋１）個の式が存在する。したがって、式と未知数についての不一致が起こり、一方、ｐ＞１は、従来のＲＳＭの場合と同じ問題をＳＡＰについても生み出す。この問題を解決することは、（１）すべての組み合わせを使用し、パラメータを最小２乗適合と適合させること、（２）ランダムな順序または最高確率を最初とする順序で、正確な数の点を選択すること、（３）パラメータのより良い適合を得るために、余分の点とともに正確な数の点を選択すること、を含む。
【００６１】
最小２乗法の場合、最小平均誤差法からのものと同じアイデアが適用されることができる。代替として、高い優先順位の点を選択して根を形成するために、「最大の重みを最初とする（ｌａｒｇｅｓｔ  ｗｅｉｇｈｔ  ｆｉｒｓｔ）」方式が使用されることができる。最小２乗法の公式からの別の観察は、既知関数値の数は未知数の数より小さくなり得ることである。言い換えると、係数のためにより少ない点が選択されることができる。これは、ＳＡＰの「適応」バージョンを開発するために使用される。
【００６２】
必要とされる関数評価の数をさらに減らすため、パデ法（Ｐａｄｅ  ｍｅｔｈｏｄ）が使用されて、ＳＡＰ公式上で「繰り込み（ｒｅｎｏｒｍａｌｉｚａｔｉｏｎ）」を行うことができる。
【００６３】
【数１８】
2008523516.tif 000023
【００６４】
この方法の利点は、それがより少ないシミュレーション点を必要とするだけであり、多項式よりも良く、極めて非線形な関数と一致し得ることである。しかし、この方法では、有界領域ランダム分布（ｂｏｕｎｄｅｄ  ｄｏｍａｉｎ  ｒａｎｄｏｍ  ｄｉｓｔｒｉｂｕｔｉｏｎ）が好ましく、精度は一般に制御することが難しく、多次元についての交差項は失われることがある。
ＳＡＰ統計
ＳＡＰ適合手順後にＳＡＰモデルが生成される場合、出力分布は、以下の式から生成されることができる。
【００６５】
【数１９】
2008523516.tif 000024
【００６６】
基本的な３つの手法、すなわち、４モーメント法（Ｆｏｕｒ  Ｍｏｍｅｎｔ  ｍｅｔｈｏｄ）、モンテカルロ法、および事前生成結果の使用が存在する。４モーメント法のステップは以下のようになる。
【００６７】
１．出力分布の平均は、μ＝ｆ０である。
【００６８】
２．出力分布の分散は、
2008523516.tif 000025
である。
【００６９】
３．出力分布の歪度は、
【００７０】
【数２０】
2008523516.tif 000026
【００７１】
である。
【００７２】
４．出力分布の尖度は、
2008523516.tif 000027
である。
【００７３】
モンテカルロ法の場合、一般的な分布は、ＳＡＰ公式上の標準モンテカルロ技法によって生成されることができる。
【００７４】
事前生成結果が使用される場合、プロセスは、
１．モンテカルロシミュレーションによって、エルミート関数Ｈ１（ｘ），Ｈ２（ｘ），Ｈ１（ｘ）＊Ｈ１（ｙ）から、ＣＤＦを事前生成し、その後、以下の方法、すなわち、
（１）定数で乗算して、ＣＤＦのためにｘ軸をスケーリングし、（２）定数を加算／減算して、ＣＤＦのためにｘ軸をシフトする方法を使用して、最終的な分布を生成することを含む。
【００７５】
一実施形態においてＳＡＰモデルを導き出す際の全体的ステップが、図１のフローチャートに示されている。プロセスは、変数変換１０２で開始する。変数変換のプロセスでは、入力パラメータが、最初に独立正規分布（１に等しい標準偏差を有するガウシアン）に変換される。その後、相関が、独立変数に分解される。プロセスはまた、どのようにこれらの正規変数を元のパラメータに変換し直すかも記録する。
【００７６】
１０４では、ＳＡＰサンプリングが実行される。このプロセスでは、必要とされる次数（ｎ）およびパラメータ数（ｐ）が、最初に決定される。その後、Ｈｎ＋１（ξ）＝０からのｎ＋１個の根が、決定される。次に、（ｎ＋１）ｐ個の根から正確な数
【００７７】
【数２１】
2008523516.tif 000028
【００７８】
の根が、選択される。一実施形態では、これは、優先順位に関して、高い確率を最初とする順序で選択することによって行われる。その後、根は、入力をサンプリングするため、元の入力パラメータに変換され戻す。
【００７９】
１０６では、システムサンプリングが実行される。一実施形態では、システムは、入力信号または値が出力信号または値に変換される、既知または事前定義されたシステムを含む。システムは、回路（例えば、トランジスタ、ゲート、または論理ブロックレベル回路）、ブラックボックス、シミュレーションプログラム、ネットワーク、または任意の変換オブジェクトもしくはルールセットとすることができる。入力パラメータを使用して、プロセスは、出力応答値をシミュレートまたは計算する。その後、入力および出力は、サンプリングデータ点として記録される。
【００８０】
１０８では、ＳＡＰ適合プロセスが実行される。このプロセスでは、入力が準備され、その後、上で説明されたような最小平均誤差公式を使用して、係数値が決定される。代替として、係数を計算するために、最小２乗誤差公式が使用されることができる。その後、適合結果が、１つまたは複数のＳＡＰモデルに書き込まれる。
【００８１】
１１０では、統計結果が生成される。このプロセスは、ＳＡＰモデルを導き出し、出力分布を生成するために、以下の式を使用することによって行われることができる。
【００８２】
【数２２】
2008523516.tif 000029
【００８３】
ＳＡＰベースの回路設計
一実施形態では、ＳＡＰ方法は、集積回路（ＩＣ）などの電子および半導体デバイスの、設計、シミュレーション、実装、および製造を含むプロセスにおいて使用される。ＳＡＰを使用する回路設計および確認に関して、変数の数を減らすことは、いくつかの理由で重要である。例えば、現行のＵＬＳＩ（超々大規模集積回路）技術の下では、単一デバイス（「チップ」）上のトランジスタの数は、数１００万のオーダに達する。トランジスタ当たりただ１つのランダム要因（例えば、ドーパント濃度）が存在する場合、製造プロセスのいずれかの間に取り扱うべき数１００万の変数が存在し、実際上解決不可能でないにしても、極めてプロセッサ集約的なものになり得る。したがって、変数の階層的削減は有利である。セルレベルにおいてさえも、１つのＣＭＯＳセルは、複数のトランジスタを有する。各トランジスタは、３つの変数Ｌｅｆｆ、Ｗｅｆｆ、Ｖｔｈを有し、その場合、取り扱うべき数１０の変数が存在する。シングルセル（ｓｉｎｇｌｅ  ｃｅｌｌ）をシミュレートするため、数１００のシミュレーションが実行されなければならない。したがって、大多数の回路をモデル化するために、セルレベルの削減が一般に必要とされる。
【００８４】
計算目的で、ＳＡＰ公式は、伝播されなければならない。伝播経路において、伝播プロセスに合併されるランダム変数がセル当たり１つ存在する場合、変数の数は増加する。したがって、伝播される変数の数を一定値に維持する方法が存在しなければならない。利用時、ユーザは、主軸（主成分）の情報を必要とすることがある。この場合、削減技術が、結果を提供することができる。したがって、削減は、（１）変数のセルレベル削減、（２）ブロック削減のための変数の階層的削減、（３）遅延計算におけるＳＡＰ公式伝播、および（４）ＳＡＰの主成分の識別について必要とされる。
【００８５】
削減の基本的アイデアは、パラメータ空間から特定の方向を見つけることである。その他の方向と比べて、変動は、この方向に沿って最大化される。分布は正規なので（多次元）、任意の方向に対しても、分布は正規である（１次元）。
【００８６】
変動は、以下のように記述されることができる。
【００８７】
【数２３】
2008523516.tif 000030
【００８８】
新しい変数は、元の変数の１次結合であるので、以下のようになる。
【００８９】
【数２４】
2008523516.tif 000031
【００９０】
最適化公式を導き出すための別の方法は、同等の観点に基づいている。
【００９１】
【数２５】
2008523516.tif 000032
【００９２】
この方法の場合、以下のステップが実行される。
【００９３】
１．係数の平方の和として元の出力関数変動を計算する。
【００９４】
【数２６】
2008523516.tif 000033
【００９５】
をＳＡＰ公式に代入し戻し、その後、新しいＳＡＰ公式が、新しい係数の平方の和として新しい出力変動を計算する。
【００９６】
２．元の出力関数変動と新しい出力変動の間の差を最小化する。
【００９７】
削減の別の観点は、（ただ１つの新しい変数を選択することによって引き起こされる）近似誤差を縮小することである。これのため、以下の公式が使用される。
【００９８】
【数２７】
2008523516.tif 000034
【００９９】
主成分を見つける際、極値ベクトル（ｅｘｔｒｅｍｅ  ｖｅｃｔｏｒ）を見つける１つの方法は、ラグランジュ緩和（Ｌａｇｒａｎｇｉａｎ  ｒｅｌａｘａｔｉｏｎ）を使用することである。
【０１００】
【数２８】
2008523516.tif 000035
【０１０１】
しかし、これらの式は一般に非線形であり、そのため、正確な解を得るのが難しいことがある。この場合、正確な解を見つけるために、特別なケース（ｃａｓｅ）が使用されることができ、一般のケースのために、発見的解法が使用されることができる。
【０１０２】
線形手法の特別なケースでは、関数を近似するために次数１のエルミート多項式だけが使用される場合、関数は以下のようになる。
【０１０３】
【数２９】
2008523516.tif 000036
【０１０４】
この公式は、
【０１０５】
【数３０】
2008523516.tif 000037
【０１０６】
を導き出すために使用されることができる。そのため、変動を表すために、単一のベクトルが使用されることができる。
【０１０７】
【数３１】
2008523516.tif 000038
【０１０８】
一般の解法の場合、非線形多変数関数を計算する１つの方法は、「最急降下（ｓｔｅｅｐｅｓｔ  ｄｅｓｃｅｎｔ）」法またはニュートン法を使用することである。一般に、これは、関数が非目標点に収束する場合、またはまったく収束しない場合を含む、反復的方法である。このケースでは、それらを収束させるために、いくつかの発見的手法が使用されることができる。この手法の下では、変動についての十分な情報が獲得され得る場合、重要な方向が導き出されることができる。線形手法は、最急降下最適化プロセスを開始するための初期推定として使用される。代替として、各変数によって引き起こされる変動は、１次結合を重み付けるための尺度として使用されることができる。より近い初期推定によって、より良い収束結果が獲得されることができる。
【０１０９】
ＳＡＰから優位ベクトルが抽出されると、より多くのベクトルが、残りの剰余（ｒｅｓｉｄｕｅ  ｏｆ  ｔｈｅ  ｒｅｍａｉｎｄｅｒｓ）から抽出されることができる。基本的に、ＳＡＰは変数が独立変数であることを必要とするので、これらのベクトルは互いに「直交」であると見なされなければならない。グラム−シュミットの直交化（Ｇｒａｍ−Ｓｃｈｍｉｄｔ  ｏｒｔｈｏｇｏｎａｌｉｚａｔｉｏｎ）プロセスなどのプロセスが、現在の新しく抽出された変数とこれまでの直交化セットの間の直交性を保証するために使用されることができる。
【０１１０】
一実施形態では、ＳＡＰモデリング方法は、完成ＩＣ製品に関係する設計、製造、実装、動作条件、または環境に関係する異なる可能な変動の影響をモデル化するために、集積回路製造サイクルの設計ステージにおいて使用される。図２は、一実施形態による、ＳＡＰを含む集積回路設計および製造プロセスの第１のブロック図である。図１では、全体的プロセスは、集積回路の設計２０２で開始する。説明目的で、ＩＣデバイスは、数１０万個のディスクリートトランジスタを含むＶＬＳＩ（超大規模集積回路）デバイスであると仮定されることができるが、しかし、本明細書で説明されるプロセスは、数１００万個のトランジスタを有するデバイス用に規模が拡大されることができ、または数個のトランジスタもしくはゲートを有するだけのセル用に規模が縮小されることができる。
【０１１１】
設計が定められた後、それが実装２０４され、解析２０６される。その後、個々のＩＣデバイスまたは「チップ」２１２としてパッケージされるウェーハを生産するために、ＩＣ製品が設計に従って製造２０８される。歩留まり予測プロセス２１４が、製造２０８と最終チップ組立ステージ２１２の間で、生産される使用可能なチップの実際の数を予測するために実施されることができる。図２に示された実施形態の場合、ＳＡＰ方法２１０は、製造と解析、実装、および設計ステージとの間で、最終製品歩留まりに対するこれらのステージに関連する異なる変動の影響を予測するために実施される。このモデリング方法は、全体的プロセスにおける変動を計算に入れるために、設計ステージ２０２において、設計および／または実装／製造プロセスを改善または最適化するためのステップがとられることを可能にする。ＳＡＰ方法２１０は、（従来の方法と比べて）少数のサンプリング点を選択し、その選択されたサンプリング点においてシミュレーション演算を実行することによって、標準モンテカルロモデリング方法に取って代わる。単一のコーナ点が選択され、モデル適合プロセスが、そのサンプル点において実行される。
【０１１２】
図３は、様々な性能メトリックへの適用性を示す一実施形態による、ＳＡＰを含む集積回路設計および製造プロセスの第２のブロック図である。図３のプロセスでは、新しい設計が作成された後、試験チップ３０２のサンプルについて１つまたは複数の性能メトリックが測定３０４される。その後、与えられた性能メトリック（例えば、電力、温度、速度）についての測定結果のモデル３０６が開発される。１つまたは複数のコーナ値３０８が選択され、ＳＡＰ方法３１０が実行される。その後、結果の性能変動予測３１２が、チップの生産バッチについての歩留まりを最適化するために、１つまたは複数の設計３１４、実装３１８、または解析３１６ステージにおいて利用される。
【０１１３】
ＳＡＰモデリングプロセスは、不要な設計マージンを減らし、プロセス潜在能力（ｐｒｏｃｅｓｓ  ｐｏｔｅｎｔｉａｌ）を最大化する。ＳＡＰモデリングプロセスはまた、プロセスパラメータ調整のために設計変動を予測し、設計クリティカルパラメータとプロセスクリティカルパラメータとを結合することによって、製品の歩留まり傾斜を加速する。図４は、一実施形態による、ＳＡＰ方法を実施するＩＣ製作プロセスにおける生産チェーンのブロック図である。プロセス開発ステージ４０２は、試験チップ適合コンポーネント４１２を含む。設計プロセス中、コンポーネントのライブラリが通常は設計される。ライブラリ設計ステージ４０４は、ＳＡＰライブラリ生成コンポーネント４１４を含む。システムオンチップ（ＳｏＣ）設計４０６の場合、変動解析コンポーネント４１６および設計最適化コンポーネント４１８が含まれる。サンプル生産量（ｐｒｏｄｕｃｔｉｏｎ  ｒｕｎ）４０８が生産され、その時点で、変動補正ステップ４２０およびプロセス最適化ステップ４２２が実行される。製品の大量生産４１０中、プロセスメトリック４２４および性能メトリック４２６が監視される。
【０１１４】
図５は、一実施形態による、ＩＣ製造における変動の統計的モデリングを実行するためのコンポーネントとしてＳＡＰを示すブロック図である。性能解析コンポーネント５１２は、チップ性能統計分布５１６を生成するために、多数の異なる入力プロセスおよびモデルにおいてＳＡＰモデリング５１４を適用する。性能解析器５１２への入力は、設計変動モデル５０２、プロセス変動モデル５０４、およびデバイス変動性メトリック５０６を含む。擬似設計レイアウト５０８および設計ネットリスト（ｄｅｓｉｇｎ  ｎｅｔｌｉｓｔ）５１０などの実際の設計データも、ＳＡＰモデル５１４によって処理されることができる。統計分布５１６は、歩留まり、電力、タイミング、シグナルインテグリティ（ｓｉｇｎａｌ  ｉｎｔｅｇｒｉｔｙ）、漏れ、およびその他の要因を含む、チップ動作および性能の多くの異なる面５１８に関する変動情報を提供することができる。
【０１１５】
図６は、一実施形態による、設計プロセスにおけるＳＡＰ機能を示すブロック図である。ＳＡＰモジュール６０４は、設計レイアウトプロセス６０２に機能的に結合された、回路、ソフトウェアプロセス、またはそれらの任意の組み合わせである。ＳＡＰモジュール６０４は、３つのサンプリング点６０８など、サンプリング点を抽出する。ＳＡＰモジュールは、変動解析の出力分布のグラフィカル表現を生成するために、ＳＡＰモデル６０６を利用する。
【０１１６】
図７は、一実施形態による、図６のＳＡＰコンポーネント６０４などのＳＡＰコンポーネントの機能要素を示している。図７に示されるように、１つまたは複数のパラメータ７０２の分布またはプロフィールが、パラメータ変換モジュール７０４に入力される。各パラメータは、システム７０８の動作を変更することができる特性を表す。パラメータ分布は一般に、これらのパラメータのいずれか２つまたは３つ以上の間の相関を提供する。
【０１１７】
一実施形態では、システム７０８は、入力値に応答して出力値または信号を生成する、シミュレーションプログラム、回路などの、任意のタイプのブラックボックスを表す。パラメータ７０２の変動は一般に、システム７０８の出力の変動をもたらす。ＳＡＰモデル適合プロセスは、パラメータ７０２の変動が与えられると、モンテカルロ分析などの従来の方法よりも著しく少数のサンプリング点を使用して、システム出力の変動を表す統計出力を生成する。システム７０８が電気回路である場合、パラメータ７０２は、相互接続、寸法、温度、電圧など、様々なデバイスまたは環境特性を表すことができる。７０２の各曲線は、各パラメータについての変動性を表すことができる。
【０１１８】
一実施形態では、パラメータ変換ブロック７０４は、モデル適合演算７１０を容易にするために、（異なる変動様式を有することがある）異なるパラメータの形式を正規化し、また入力７０２からのサンプリング点の数も減らす。パラメータは、正規化標準パラメータ分布値７０５に変換される。パラメータ変換プロセス７０４はまた、正規化標準独立パラメータ分布の生成において、パラメータのいずれかの間のどのような相関も分解する。これらの正規化分布は、システム７０８に入力されるサンプリング点を決定するために、入力点生成器７０６によって使用される。一実施形態では、正確な入力点が、ＳＡＰ入力サンプルの生成に関して上で説明された方法によって生成される。
【０１１９】
入力点上でのシステムプロセス７０８の実行は、結果データセットの生成をもたらす。このデータは、元の入力点および正規化標準独立パラメータ分布値とともに、モデル適合プロセス７１０に入力される。モデル適合プロセス７１０は、統計結果７１２を生成するために、ＳＡＰモデル７１１を利用する。変換パラメータばかりでなく、システム７０８の結果も、パラメータ７０２の変動に基づいたシステム挙動を説明する出力分布曲線７１２を生成するために、モデル適合される。十分な粒度および処理能力を有するシステムの場合、出力曲線７１２のアウトラインは、入力分布７０２のプロフィールと一致すべきである。一実施形態では、入力点生成器７０６が、全数の入力サンプリング点７０２から最高確率点を選択する。このサンプル方針は、モデル適合コンポーネント７１０によって処理されるサンプリング点の部分集合を生成する。
【０１２０】
図７に示されたＳＡＰモデルは、近似技法に基づいた直交多項式を利用する。この技法は、不確定なパラメータに関してモデル化される特性（例えば、遅延または電力）の分析式を獲得する。出力は、直交多項式を使用して入力に関して表現される。出力表現内の未知係数は、ＳＡＰ方法を使用して推定される。
【０１２１】
システム７０８は、主成分分析によってデータ無相関演算を実行する。ゼロ相関への線形変換が、新しいパラメータを用いて実行され、ガウシアンまたは原サンプルデータが、使用されることができる。小さいまたはゼロの分散項を除去することによって、変数が減らされる。これらのステップは一般に、上で説明されたＳＡＰ方法を使用して実行される。
【０１２２】
図８は、一実施形態による、図７のパラメータ変換およびＳＡＰモデリングを実行する方法を示すフローチャートである。図８のプロセスは、パラメータプロフィール８０２のリストからの入力パラメータ８０４の選択で開始する。パラメータプロフィール（またはパラメータ分布）は、システムによってモデル化される変動性の１つまたは複数の源泉を列挙する。入力パラメータは、正規化プロフィール８０８を使用して変換８０６される。その後、変換パラメータは、サンプリング入力値８１０を獲得するために使用される。サンプリング点を選択するプロセスは、一実施形態による、図１０に示されている。サンプリング点（または選点）は、関数１００２の根および最高確率領域１００４から選択される。３次エルミート多項式の根が、選点ＳＱＲＴ３、０、ＳＱＲＴ３における２次適合のために選択されることができる。
【０１２３】
サンプリング入力値は、サンプリング出力値８１６を獲得８１４するために、シミュレーションプロセス８１８へのサンプル入力８１２として使用される。その後、サンプリング出力値は、統計分析８２２を獲得するために、ＳＡＰモジュール８２４を使用してモデル化されるＳＡＰ適合演算８２０において使用される。
【０１２４】
図９は、一実施形態による、設計プロセスのためのシミュレーションへの、図８のＳＡＰモデリング方法の適用の一例を示すブロック図である。図９のシステムでは、ステップ８１０において入力値が獲得されるサンプル入力が、技術ファイル９０２およびＳＡＰライブラリ９０４によって提供される。技術ファイル９０２は、抽出入力を定義する。ＳＡＰライブラリ９０４は、業界標準ライブラリファイルである。一実施形態では、９０６から９１０までのプロセスは、結果の遅延９０８を測定することによってシステムの速度挙動をシミュレートまたは測定するために、静的タイミング分析（ＳＴＡ：ｓｔａｔｉｃ  ｔｉｍｉｎｇ  ａｎａｌｙｓｉｓ）９１０を実行するための寄生的な抽出プロセスである。例えば、技術ファイルおよびライブラリは、ユーザが、回路の抵抗／インダクタンス／キャパシタンス値などの回路の様々な特性を、配線寸法、幾何学的形状、素材などの物理パラメータから抽出することを可能にする。したがって、図９の例の場合、ＳＡＰプロセスは、ファイル９０２およびライブラリ９０４を使用し、シミュレーションプロセスは、抽出プロセス９０６と、遅延９０８、電力などの性能メトリックについての計算とを含む。
【０１２５】
上で説明されたように、図１０は、一実施形態による、図７のシステムにおいて利用されるサンプリング点（選点）の選択を示している。一般に、必要とされる選点の数は、級数展開における未知係数の数に等しい。より高次元のシステムおよびより高次数の近似の場合、利用可能な選点の数は、必要とされる選点の数より常に大きく、そのことは、適切な選点を選択する問題を導入する。一実施形態では、選点の選択に関する２つの基準が存在し、２つの基準は順番に実行される。
【０１２６】
第１の基準は、単一入力または単一ランダム変数のためのものである。各ランダム変数ξは、選点として平均、最大、および最小を選択するが、それは、これらの点が、分布の最高確率および偏差を表すからである。選点の数は、解かれる必要がある係数の数を超えることがあるので、より高い確率を有する点が、選点として選択される。第１の基準は、複数入力または複数ランダム変数のためのものである。ここでは、ｍ個の入力またはｍ個のランダム変数が存在すると仮定する。基準１と同様に、各ランダム変数について、選点が選択される。各ランダム変数がｑ個の選点を有する場合、ｑｍ個の選点組（ｃｏｌｌｏｃａｔｉｏｎ  ｐｏｉｎｔ  ｓｅｔｓ）が存在する。選点の数は、以下の式における未知係数ａｉの数に設定する。
【０１２７】
【数３２】
2008523516.tif 000039
【０１２８】
例えば、ａ０を評価するには、選点として、点（０，０）が選択される。この場合、ξｉの平均は０である。ａ１を評価するには、選点として、（ξ１ｃ１，０）が選択され、ここで、ξ１ｃ１は３次直交多項式の非ゼロ根である。ａ２を評価するには、選点として、（０，ξ２ｃ１）が選択される。同様に、上記の式の各項について、それが２以上のランダム変数を含む場合、対応する変数の選点は、非ゼロ根として選択される。選点の組（ｓｅｔ  ｏｆ  ｃｏｌｌｏｃａｔｉｏｎ  ｐｏｉｎｔｓ）内に結び付き（ｔｉｅ）が存在する場合、平均により近い点が好ましいが、それは、図１０に示されるように、それらがより高い確率の領域に含まれるからである。結び付きが依然として解消されない場合、選択された選点の分布が平均の周りで対称に近づくように、選点が選択される。さらなる結び付きについては、点はランダムに選択される。
ＳＡＰスケーリング
一実施形態では、ＳＡＰ方法は、システムレベルに量子レベル解像度（ｑｕａｎｔｕｍ  ｌｅｖｅｌ  ｒｅｓｏｌｕｔｉｏｎ）をもたらすために、階層的構造にわたって再帰的に適用される。図１１は、一実施形態による、様々な設計スケールに対するＳＡＰモデルの再帰的適用を示している。図１１に示されるように、ＳＡＰ方法は、システム１１０２からコンポーネント１１０４、さらにセル／ゲート１１０６へなど、システム設計スケールの下方に向うカスケード方式で、再帰的かつ暗黙的にそれ自体の機能を呼び出す。
【０１２９】
以下のプログラムリストは、一実施形態による、システムレベルにおけるＳＡＰモデル用の擬似コードの一例である。
【０１３０】
【表４】
2008523516.tif 000040
【０１３１】
システム（またはチップ）レベルにおける第１の適用時に、ＳＡＰサブルーチンは、システムのコンポーネントの各々についてＳＡＰモデルを要求する。今度は、コンポーネントレベルにおけるＳＡＰモデルが、セル／ゲートレベルにおいてＳＡＰモデルを呼び出す。コンポーネントレベルのタイミングおよび電力は、コンポーネントのすべてのセル／ゲートのタイミングおよび電力に依存する。一実施形態では、セル／ゲートライブラリ用のＳＡＰモデルが、すでに分析的に構築されている。入力温度、相互接続およびデバイスの幾何学的形状パラメータ、ならびに入力信号遅延から、タイミングおよび電力をもたらす、ＳＡＰセル／ゲートレベル分析式の正確な形を提供するために、量子レベルシミュレータが使用されることができる。
【０１３２】
ＳＡＰセル／ゲートモデルから生じる「ゴールデンデータ（ｇｏｌｄｅｎ  ｄａｔａ）」は、ＳＡＰコンポーネントモデルの構成を可能にする。同じゲート−コンポーネントサイクルが、ＳＡＰシステムモデルを生み出すために、コンポーネント−システムレベルにおいて繰り返される。両方のサイクルにおいて、ＳＷＥＣなどの量子レベルシミュレータが、後続のより大きなスケールにおけるモデルの構成にとって必須のゴールデンデータを提供する。したがって、セル／ゲートレベル性能（ＳＷＥＣ分析式）から、コンポーネントレベル性能へと進み、最後にシステムレベル性能へと進むことが可能である。要約すると、コンポーネントレベルのタイミングおよび電力は、すべてのコンポーネントゲートのタイミングおよび電力の関数である。ＳＡＰゲートモデルから生じるゴールデンデータは、ＳＡＰコンポーネントモデルの構成を可能にする。同じゲート−コンポーネントサイクルが、ＳＡＰシステムモデルを生み出すために、コンポーネント−システムレベルにおいて繰り返される。両方のサイクルにおいて、ＳＷＥＣなどの量子レベルシミュレータが、後続のスケールにおけるモデルの構成にとって必須のゴールデンデータを提供する。
【０１３３】
図１２は、一実施形態による、図１１に示された設計スケールにわたるＳＡＰ階層モデルの構成を示すフローチャートである。システム−コンポーネント−セルの各レベル１２０２について、ゴールデンデータおよび適切なＳＡＰモデルが、適切なレベルにおけるモデルの構成を提供するために適用される。図１２に示されるように、セル／ゲートスケールでは、（量子効果デバイスシミュレータ１２１４から入力を得ることができる）セル／ゲートＳＡＰ分析式モデル１２１２が、セル／ゲートＳＡＰモデル１２１０に適用される。これが、今度は、コンポーネントスケールにおいてコンポーネントＳＡＰモデルによって使用される。コンポーネントＳＡＰモデル１２０８は、コンポーネントＳＡＰゴールデンデータ１２０６を生成し、今度は、これが、システムスケールにおいてシステムＳＡＰモデル１２０４によって使用されることができる。
【０１３４】
一実施形態では、再帰的ＳＡＰモデルの出力は、ｗ、Ｌ、および温度（これらがモデル化される変数であると仮定する）に関するシステムレベル分析式である。このトップダウン再帰的手順は、システムレベル性能またはシステム応答曲面についてのｗ、Ｌ、および温度の選点を自動的に識別する。さらに、結果のシステムレベルＳＡＰモデルは温度の関数であるので、温度が変化した場合、システムレベルＳＡＰモデルは、全チップ電力分析を行わずに電力の揺らぎを予測する。再帰的フレームワークはさらに、現行レベルシミュレータ（例えば、ＳＰＩＣＥ）をナノデバイスまたは分子レベルシミュレータで置き換えるだけで、将来の新デバイスベースの設計に拡張されることができる。結果のシステムレベルＳＡＰモデルは、分子レベル解像度を有する。
【０１３５】
本明細書で説明されるＳＡＰ手法は、ＶＬＳＩ（超大規模集積）回路内のタイミングフローなど、回路性能の複数の面に適用されることができる。タイミング計算の場合、システムは、回路の各端点についてプロセスのＳＡＰ公式を提供する。これらの端点は通常、クロックツリー、クロックピン、データピン、セット／リセットピンを含む。最初、各「端点」についての到着時間のＳＡＰ公式が導き出され、その後、クロックスキュー分析（Ｃｌｏｃｋ  Ｓｋｅｗ  Ａｎａｌｙｓｉｓ）およびスラック時間分析（Ｓｌａｃｋ  Ｔｉｍｅ  ａｎａｌｙｓｉｓ）が、実行されることができる。加えて、ロバストネス試験（Ｒｏｂｕｓｔｎｅｓｓ  ｔｅｓｔ）も、その結果に対して適用されることができる。ＶＬＳＩおよびＵＬＳＩ回路設計へのＳＡＰのその他の適用は、設計の熱的および電力特性、ならびに複数入力切換の影響およびプロセス変動のモデル化を含む。
【０１３６】
上で述べられたように、本明細書で説明されるＳＡＰプロセスの実施形態は、ＩＣデバイスの様々な局面をシミュレートすることに適用されることができる。そのような適用の１つが、クロックスキューの分析である。従来のクロックスキュー分析においては、任意の時間領域について、最大クロックスキューは、各端点からの最大および最小の到着時間（ＡＴ）を計算し、その後、クロックスキュー＝Ｍａｘ  ＡＴ−Ｍｉｎ  ＡＴという公式からクロックスキューを見出すことによって獲得される。
【０１３７】
統計分野では、単一値の代わりの分布が、ＳＡＰ分析から決定される。任意の２点が与えられると、スキューＳＡＰ公式は、
ｓｋｅｗ（ｐ１〜ｐｎ）ＳＡＰ＝ＡＴ１（ｐ１〜ｐｎ）ＳＡＰ−ＡＴ２（ｐ１〜ｐｎ）ＳＡＰ
によって表されることができる。
【０１３８】
しかし、時間領域端点が多数であるため、ペア毎に分布を計算することは実現可能ではない。したがって、方法は、最大スキュー分布を得るために、４つの発見的方法を提供することを含む。
【０１３９】
発見的手法１の場合、以下のステップが実行される。（１）最大平均（ＳＡＰ公式における定数項）到着時間を有する端点を見つける。（２）最小平均（ＳＡＰ公式における定数項）到着時間を有する端点を見つける。（３）Ａ、Ｂから端点ペアを選択する。
【０１４０】
発見的手法２の場合、以下のステップが実行される。（１）最大平均プラス標準偏差の到着時間を有する端点を見つける。（２）最小平均マイナス標準偏差（ＳＡＰ公式における定数項）の到着時間を有する端点を見つける。（３）Ａ、ＢペアのＭ×Ｍ個のグループから端点ペアを選択する。
【０１４１】
発見的手法３の場合、以下のステップが実行される。最大平均（ＳＡＰ公式における定数項）到着時間を有する最初のＭ個の端点を見つける。（２）最小平均（ＳＡＰ公式における定数項）到着時間を有する最初のＭ個の端点を見つける。（３）Ａ、ＢのＭ×Ｍ個のグループから最悪端点ペアを選択する。
【０１４２】
発見的手法４の場合、以下のステップが実行される。（１）最大平均プラス標準偏差の到着時間を有する最初のＭ個の端点を見つける。（２）最小平均マイナス標準偏差（ＳＡＰ公式における定数項）の到着時間を有する最初のＭ個の端点を見つける。（３）Ａ、ＢのＭ×Ｍ個のグループから最悪端点ペアを選択する。
【０１４３】
最大または最小のために単一の点を使用するのではなくより多くの点を選択する理由は、スキューが共通ファクタを有する場合、全分布が異なることにある。したがって、上位Ｍ個（およそ５〜１０）の候補が、最大および最小グループの両方のために維持され、それらが１つずつ比較される。分布を得るために、スキューＳＡＰ公式上で働くラテンキュービック法（Ｌａｔｉｎ  Ｃｕｂｉｃ  ｍｅｔｈｏｄ）または修正モンテカルロ法が使用されることができる。分布から、ユーザは、与えられたパーセンテージカバレージ（例えば、８０％）に対して、最大スキューが何であるか、または与えられたスキュー許容度に対して、可能な製品全体のパーセンテージカバレージが何であるかなど、様々なファクタを指定することができる。ユーザが、ＣＤＦ軸をセグメントに分割し、それらから異なる性能を得ることも可能である。製品を瓶（ｂｉｎ）にグループ化するため、ユーザは、瓶の境界（最大−最小）を設定することができる。その場合、ＣＤＦ値から、カタログに入る製品のパーセンテージを決定することが可能である。
【０１４４】
ＳＡＰ適用の別の例は、スラック時間分析を実行することである。従来のタイミングセットアップチェックは、以下の公式からスラックを計算することである。
【０１４５】
スラック＝（クロックピン用の）所要時間−（データピン用の）到着時間
所要時間＝クロック周期−セットアップ時間＋（クロックピン用の）到着時間
⇒スラック＝クロック周期
＋（クロックピン用の）到着時間
−（データピン用の）到着時間
−セットアップ時間
−セットアップ時間マージン
保持時間チェックは、以下から決定される。
【０１４６】
スラック＝（データピン用の）到着時間−（クロックピン用の）所要時間
所要時間＝保持時間＋（クロックピン用の）到着時間
⇒スラック＝（データピン用の）到着時間
−（クロックピン用の）到着時間
−保持時間
−保持時間マージン
ＳＴＡ用語では、クロックピンは基準ピン（ｒｅｆｅｒｅｎｃｅ  ｐｉｎ）と呼ばれ、データピンは拘束ピン（ｃｏｎｓｔｒａｉｎｅｄ  ｐｉｎ）と呼ばれることに留意されたい。
【０１４７】
一実施形態では、本明細書で説明されるＳＡＰ方法は、ＳＡＰ公式の導出を可能にする。ＳＡＰ公式は、スラック時間を決定するために上記の公式に代入されることができる。スラックＳＡＰ公式は、プロセス変数の関数である。
【０１４８】
ｓｌａｃｋ（ｐ１〜ｐｎ）ＳＡＰ
そのため、各タイミングチェック点（拘束）について、このスラックが存在する。分布を得るために、スキューＳＡＰ公式と併せて、ラテンキュービック法または修正モンテカルロ法が使用されることができる。すべての拘束点（ｃｏｎｓｔｒａｉｎｅｄ  ｐｏｉｎｔ）についてのＣＤＦが、構成されることができ、複数の適用例において適用されることができる。
【０１４９】
例えば、従来のＳＴＡによれば通常は最悪クリティカルパス端点である、単一拘束点の場合、スラック分布が、以下を決定するために、すなわち、与えられたパーセンテージカバレージ（８０％）に対して、スラックが何であるか、または与えられたスラック許容度に対して、可能な製品全体のパーセンテージカバレージが何であるかを決定するために使用されることができる。ユーザが、ＣＤＦ軸をセグメントに分割し、それらから異なる性能を得ることも可能である。製品を瓶にグループ化するため、ユーザは、瓶の境界（最大−最小）を設定することができる。ＣＤＦから、カタログに入る製品のパーセンテージを決定することが可能である。
【０１５０】
別の適用例は、すべての拘束点のスラックにおいて適用される。与えられたカバレージパーセンテージ（例えば、９０％）に対して、各拘束点について、スラック数が決定されることができる。したがって、スラックは再分類されることができ、クリティカルパスが決定される。パス毎の感度差（ｓｅｎｓｉｔｉｖｉｔｙ  ｄｉｆｆｅｒｅｎｃｅ）のため、ランキングは、選択された各カバレージパーセンテージとは異なる。
【０１５１】
別の適用例は、ロバストネス試験を含む。ＩＣの製造は、静的なプロセスではなく、常に変動を含み、これらの変動も、時間とともに変化している。最良の製造業者は、プロセスを安定に保つことができる。安定なプロセス制御では、プロセスパラメータは、ＳＰＣ（統計的プロセス制御）チャートまたはＣｐｋ（プロセス能力測定）として監視される。一般に、それらのプロセスパラメータは、プロセス制御下ではあまり大きくは変化しない。しかし、ごく僅かの平均移動および変動変化は、まったく普通のことである。そのため、プロセスにおける良好な製品は、変動を有することができ、これらの変動は、時間とともに変化することができる。
【０１５２】
ロバストネス試験は、プロセス変動に対する製品の頑健性を試験するために使用される。主な問題は、予想プロセスパラメータ分布が変化を受けることである。結果の分布も、しかるべく変化を受ける。
【０１５３】
本明細書で説明されたＳＡＰ方法を使用して、ユーザは、スキュー分析およびスラック分析の両方において、ロバストネス試験を実行することができる。これらの背後にある基本アイデアは、ＳＡＰ公式を再使用することである。パラメータ分布がごく僅か変化する一方で、ＳＡＰ公式は、元のＳＡＰから再形成されることができ、新しい分布は、それが仕様を満たすかどうかを決定するために、試験されることができる。
【０１５４】
ＳＡＰの代替実施形態、変形、および／または変更は、性能拡張（ｐｅｒｆｏｒｍａｎｃｅ  ｅｘｐａｎｓｉｏｎ）の直交多項式の根に基づいてサンプリング点を見つけること、モーメント展開（ｍｏｍｅｎｔ  ｅｘｐａｎｓｉｏｎ）の根に基づいてサンプリング点を生成すること、ゴールデンデータと、多項式の根として選点（またはサンプリング点）を見つける統計的応答曲面法（ＳＲＳＭ：Ｓｔａｔｉｓｔｉｃａｌ  Ｒｅｓｐｏｎｓｅ  Ｓｕｒｆａｃｅ  Ｍｅｔｈｏｄ）と、応答曲面法に関連する（エルミートなど）任意の直交多項式とを生成するために異なるツールを使用することを含むが、これらに限定されない。
【０１５５】
本明細書で説明される実施形態は、事前定義システムの１つまたは複数のパラメータの入力分布と、パラメータの間の相互相関とを受け取るステップと、標準化独立パラメータセットを生成するために、パラメータ分布を正規化し、相互相関を分解するステップと、標準化独立パラメータセットに基づいて、事前定義システムのサンプリングのための入力値の特定のセットを生成するステップと、事前定義システム出力値を生成するために、入力値の特定のセット上で、事前定義システムサンプリングを実行するステップと、ＳＡＰモデルを生成するために、入力値の特定のセット、事前定義システム出力値、および標準化独立パラメータセット上で、直交多項式適合を実行するステップと、事前定義システムの出力分布を生成するために、ＳＡＰモデルを使用するステップと、を含む方法を含む。
【０１５６】
一実施形態では、出力は、入力パラメータの変動に基づいた事前定義システムの出力分布の統計的表現であり、統計的表現は、グラフィカルＰＤＦ、ＣＤＦ、平均およびシグマ値セットの１つを含む。
【０１５７】
一実施形態では、サンプリングのための入力値の特定のセットは、直交多項式の適合次数の数（ｎｕｍｂｅｒ  ｏｆ  ｔｈｅ  ｆｉｔｔｉｎｇ  ｏｒｄｅｒ）を定義するステップと、パラメータの数を獲得するステップと、直交多項式のより高い確率の根を選択するステップと、より高い確率の根を事前定義システムのサンプリングのための入力値の特定のセットに変換するステップと、を通して決定される。
【０１５８】
一実施形態では、事前定義システムは、トランジスタデバイス、論理ゲートデバイス、およびシステムオンチップ回路の１つである。
【０１５９】
一実施形態では、ＳＡＰモデルは、事前定義システムのもう１つのブロックを含む、事前定義システムの階層的により抽象的なバージョンの性能をシミュレートする。
【０１６０】
一実施形態では、事前定義システムは、論理ゲートであり、階層的により抽象的なバージョンは、システムオンチップデバイスを含む。
【０１６１】
一実施形態では、前記方法は、複数の独立標準化変数を含むようにＳＡＰモデルを定義するステップと、パラメータの１次結合の優位ベクトルから１つまたは複数の追加のＳＡＰモデルを再構築するステップと、ＳＡＰモデルと追加のＳＡＰモデルの間の差を最小化することによって、ベクトル選択を最適化するステップであって、追加のＳＡＰモデルが、ＳＡＰモデルよりも少ない独立変数を使用して、ＳＡＰモデルの近似挙動特性を表すステップと、をさらに含む。
【０１６２】
また別の実施形態は、最下位レベルシステムと最上位レベルシステムの間の階層的関係を定義するステップと、最下位レベルシステムについてのシステム挙動を予測するために、１つまたは複数のＳＡＰモデルを含む分析モデルを事前生成するステップと、最上位レベルシステムＳＡＰモデルを構築するために、１つまたは複数の最下位レベルＳＡＰモデルを再帰的に使用するステップと、を含む。
【０１６３】
一実施形態では、１つまたは複数のＳＡＰモデルの少なくとも１つは、最下位レベルシステムの１つまたは複数のパラメータの入力分布と、パラメータの間の相互相関とを受け取るステップと、標準化独立パラメータセットを生成するために、パラメータ分布を正規化し、相互相関を分解するステップと、標準化独立パラメータセットに基づいて、最下位レベルシステムのサンプリングのための入力値の特定のセットを生成するステップと、最下位レベルシステム出力値を生成するために、入力値の特定のセット上で、最下位レベルシステムサンプリングを実行するステップと、ＳＡＰモデルを生成するために、入力値の特定のセット、最下位レベルシステム出力値、および標準化独立パラメータセット上で、直交多項式適合を実行するステップと、によって生成される。
【０１６４】
一実施形態は、最下位レベルシステムの出力分布を生成するために、ＳＡＰモデルを使用するステップを含む。
【０１６５】
一実施形態では、出力は、入力パラメータの変動に基づいた最下位レベルシステムの出力分布の統計的表現である。
【０１６６】
一実施形態では、サンプリングのための入力値の特定のセットは、直交多項式の適合次数の数を定義するステップと、パラメータの数を獲得するステップと、直交多項式のより高い確率の根を選択するステップと、より高い確率の根を最下位レベルシステムのサンプリングのための入力値の特定のセットに変換するステップと、を通して決定される。
【０１６７】
一実施形態では、最下位レベルシステムは、トランジスタデバイス、論理ゲートデバイス、およびシステムオンチップ回路の１つである。
【０１６８】
一実施形態では、最下位レベルシステムは、トランジスタデバイスであり、階層的により抽象的なバージョンは、システムオンチップデバイスを含む。
【０１６９】
一実施形態では、前記方法は、複数の独立標準化変数を含むように最下位レベルＳＡＰモデルを定義するステップと、パラメータの１次結合の優位ベクトルから１つまたは複数の追加のＳＡＰモデルを再構築するステップと、ＳＡＰモデルと追加のＳＡＰモデルの間の差を最小化することによって、ベクトル選択を最適化するステップであって、追加のＳＡＰモデルが、ＳＡＰモデルよりも少ない独立変数を使用して、ＳＡＰモデルの近似挙動特性を表すステップと、をさらに含む。
【０１７０】
実施形態は、事前定義回路の１つまたは複数のパラメータの入力分布と、パラメータの間の相互相関とを受け取る手段と、標準化独立パラメータセットを生成するために、パラメータ分布を正規化し、相互相関を分解する手段と、標準化独立パラメータセットに基づいて、事前定義回路のサンプリングのための入力値の特定のセットを生成する手段と、事前定義回路出力値を生成するために、入力値の特定のセット上で、事前定義回路サンプリングを実行する手段と、ＳＡＰモデルを生成するために、入力値の特定のセット、事前定義回路出力値、および標準化独立パラメータセット上で、直交多項式適合を実行する手段と、事前定義回路の出力分布を生成するために、ＳＡＰモデルを使用する手段と、を含むシステムをさらに含む。
【０１７１】
一実施形態では、出力は、入力パラメータの変動に基づいた事前定義回路の出力分布の統計的表現である。
【０１７２】
一実施形態では、前記システムは、直交多項式の適合次数の数を定義する手段と、パラメータの数を獲得する手段と、直交多項式のより高い確率の根を選択する手段と、より高い確率の根を事前定義回路のサンプリングのための入力値の特定のセットに変換する手段と、をさらに含む。
【０１７３】
一実施形態では、事前定義回路は、トランジスタデバイス、論理ゲートデバイス、およびシステムオンチップ回路の１つであり、ＳＡＰモデルは、事前定義回路のもう１つのブロックを含む、事前定義回路の階層的により抽象的なバージョンの性能をシミュレートする。
【０１７４】
一実施形態では、前記システムは、複数の独立標準化変数を含むようにＳＡＰモデルを定義する手段と、パラメータの１次結合の優位ベクトルから１つまたは複数の追加のＳＡＰモデルを再構築する手段と、ＳＡＰモデルと追加のＳＡＰモデルの差を最小化することによって、ベクトル選択を最適化する手段であって、追加のＳＡＰモデルが、ＳＡＰモデルよりも少ない独立変数を使用して、ＳＡＰモデルの近似挙動特性を表す手段と、をさらに含む。
【０１７５】
本明細書で説明されるＳＡＰの態様は、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プログラム可能アレイ論理（ＰＡＬ）デバイス、電気的プログラム可能論理／メモリデバイス、およびスタンダードセルベースのデバイスなどのプログラム可能論理デバイス（ＰＬＤ）、ならびに特定用途向け集積回路（ＡＳＩＣ）を含む、様々な回路のいずれかにプログラムされる機能として実施されることができる。ＳＡＰの態様の実施のためのその他のいくつかの可能性は、（電気的に消去可能なプログラム可能読み出し専用メモリ（ＥＥＰＲＯＭ）などの）メモリを有するマイクロコントローラ、埋め込みマイクロプロセッサ、ファームウェア、ソフトウェアなどを含む。さらに、ＳＡＰの態様は、ソフトウェアベースの回路エミュレーションを有するマイクロプロセッサ、ディスクリート論理（順序および組み合わせ）、カスタムデバイス、ファジー（ニューラル）論理、量子デバイス、および上記デバイスタイプのいずれかの混成で実施されることができる。もちろん、基礎をなすデバイス技術は、例えば、相補形金属酸化膜半導体（ＣＭＯＳ）のような金属酸化膜半導体電界効果トランジスタ（ＭＯＳＦＥＴ）技術、エミッタ結合論理（ＥＣＬ）のようなバイポーラ技術、ポリマー技術（例えば、シリコン共役ポリマーおよび金属共役ポリマー−金属構造）、混合アナログ／デジタルなど、様々な構成要素タイプで提供されることができる。
【０１７６】
本明細書で開示された様々なシステムおよび方法の構成要素は、それらの挙動、レジスタ転送、論理構成要素、トランジスタ、レイアウトの幾何学的形状、および／またはその他の特性に関して、コンピュータ支援設計ツールを使用して記述され、様々なコンピュータ可読媒体内に実施されるデータおよび／または命令として表現される（または表される）ことができることに留意されたい。そのような回路表現が実施され得るファイルおよびその他のオブジェクトのフォーマットは、Ｃ、Ｖｅｒｉｌｏｇ、およびＨＬＤＬなどの挙動言語（ｂｅｈａｖｉｏｒａｌ  ｌａｎｇｕａｇｅ）をサポートするフォーマット、ＲＴＬなどのレジスタレベル記述言語（ｒｅｇｉｓｔｅｒ  ｌｅｖｅｌ  ｄｅｓｃｒｉｐｔｉｏｎ  ｌａｎｇｕａｇｅ）をサポートするフォーマット、ＧＤＳＩＩ、ＧＤＳＩＩＩ、ＧＤＳＩＶ、ＣＩＦ、ＭＥＢＥＳなどのジオメトリ記述言語（ｇｅｏｍｅｔｒｙ  ｄｅｓｃｒｉｐｔｉｏｎ  ｌａｎｇｕａｇｅ）をサポートするフォーマット、ならびにその他の適切なフォーマットおよび言語を含むが、それらに限定されない。
【０１７７】
そのようなフォーマット化データおよび／または命令が実施され得るコンピュータ可読媒体は、様々な形式の不揮発性記憶媒体（例えば、光学、磁気、または半導体記憶媒体）、ならびにそのようなフォーマット化データおよび／または命令を、無線、光学、もしくは有線信号媒体、またはそれらの任意の組み合わせを介して転送するのに使用され得る搬送波を含むが、それらに限定されない。搬送波によるそのようなフォーマット化データおよび／または命令の転送の例は、１つまたは複数のデータ転送プロトコル（例えば、ＨＴＴＰ、ＦＴＰ、ＳＭＴＰなど）によるインターネットおよび／またはその他のコンピュータネットワークを介した転送（アップロード、ダウンロード、電子メールなど）を含むが、それらに限定されない。１つまたは複数のコンピュータ可読媒体を介してコンピュータシステム内で受け取られた場合、上で説明されたシステムおよび方法のそのようなデータおよび／または命令ベースの表現は、ネットリスト生成プログラム、配置配線プログラム（ｐｌａｃｅ  ａｎｄ  ｒｏｕｔｅ  ｐｒｏｇｒａｍ）などを含むが、それらに限定されない１つまたは複数のその他のプログラムの実行と併せて、コンピュータシステム内の処理エンティティ（例えば、１つまたは複数のプロセッサ）によって処理されることができる。
【０１７８】
文脈がその他の解釈を明らかに必要としない限り、説明の全体にわたって、「含む（ｃｏｍｐｒｉｓｅ／ｃｏｍｐｒｉｓｉｎｇ）」などの語は、排他的または網羅的な意味ではなく、包含的な意味に、すなわち、「含むが、それらに限定されない」という意味に解釈されるものとする。単数形または複数形を使用する語も、それぞれ複数または単数を含む。さらに、「本明細書では」、「以下で」、「上記の」、「下記の」という語、および類似の趣旨の語は、本出願を全体として指し示し、本出願のいずれか特定の部分を指し示さない。「または」という語が２つ以上の項目のリストに関連して使用される場合、この語は、以下の解釈のすべて、すなわち、リスト内の項目のいずれか、リスト内の項目のすべて、およびリスト内の項目の任意の組み合わせという解釈に該当する。
【０１７９】
ＳＡＰの例示的な実施形態の上記の説明は、網羅的であること、またはＩＣを製作するためのシステムおよび方法を開示された通りの形に限定することを意図されていない。ＳＡＰの特定の実施形態および実施例が、例示的な目的で本明細書において説明されたが、当業者が理解するように、ＩＣを製作するためのその他のシステムおよび方法の範囲内で、様々な等価な変更が可能である。本明細書で提供されるＳＡＰの教示は、上で説明されたＩＣを製作するためのシステムおよび方法のためばかりでなく、その他の処理システムおよび方法にも適用されることができる。
【０１８０】
上で説明された様々な実施形態の要素および動作は、さらなる実施形態を提供するために組み合わされることができる。上記およびその他の変更は、上記の詳細な説明に照らして、ＳＡＰに施されることができる。
【図面の簡単な説明】
【０１８１】
【図１】一実施形態による、ＳＡＰモデルを導き出す際の全体的ステップを示すフローチャートである。
【図２】一実施形態による、確率解析プロセス（ＳＡＰ）を含む集積回路設計および製造プロセスの第１のブロック図である。
【図３】一実施形態による、確率解析プロセス（ＳＡＰ）を含む集積回路設計および製造プロセスの第２のブロック図である。
【図４】一実施形態による、ＳＡＰ方法を実施するＩＣ製作プロセスにおける生産チェーンのブロック図である。
【図５】一実施形態による、ＩＣ製造における変動の統計的モデリングを実行するためのコンポーネントとしてＳＡＰを示すブロック図である。
【図６】一実施形態による、設計プロセスにおけるＳＡＰ機能を示すブロック図である。
【図７】一実施形態による、ＳＡＰコンポーネントの機能要素を示す図である。
【図８】一実施形態による、図７のパラメータ変換およびＳＡＰモデリングを実行する方法を示すフローチャートである。
【図９】一実施形態による、設計プロセスのためのシミュレーションへの、図８のＳＡＰモデリング方法の適用の一例を示すブロック図である。
【図１０】一実施形態による、サンプリング点を選択するプロセスを示す図である。
【図１１】一実施形態による、様々な設計スケールに対するＳＡＰモデルの再帰的適用を示す図である。
【図１２】一実施形態による、図１１に示された設計スケールにわたるＳＡＰ階層モデルの構成を示すフローチャートである。
【図１】
2008523516.tif 000041
【図２】
2008523516.tif 000042
【図３】
2008523516.tif 000043
【図４】
2008523516.tif 000044
【図５】
2008523516.tif 000045
【図６】
2008523516.tif 000046
【図７】
2008523516.tif 000047
【図８】
2008523516.tif 000048
【図９】
2008523516.tif 000049
【図１０】
2008523516.tif 000050
【図１１】
2008523516.tif 000051
【図１２】
2008523516.tif 000052
【国際調査報告】
2008523516.tif 000053
2008523516.tif 000054