(57)【要約】【課題】半導体集積回路に含まれる素子や配線などの要素のばらつきの回路特性に与える影響を少ない処理時間で見積もることを可能とする。【解決手段】本発明の回路解析方法は、解析対象の回路を構成する要素の特性のうちばらつき幅を持つ特性に対して、ばらつき幅の両端の値のうちどちらかを前記要素の特性の代表値として適用するステップ(ａ)と、前記代表値を用いて前記解析対象回路の特性を見積もるステップ(ｂ)とを備えることを特徴とする。【選択図】図１
2008140363.tif 000002
【特許請求の範囲】
【請求項１】
集積回路を構成する回路の特性を解析する方法であって、
解析対象の回路を構成し、ばらつき幅を持つ値としてその特性が表される要素について、前記ばらつき幅内のいずれかの値を前記要素の特性の代表値として適用するステップ(ａ)と、
前記代表値を用いて前記解析対象回路の特性を見積もるステップ(ｂ)とを備える、
ことを特徴とする回路解析方法。
【請求項２】
請求項１において、
前記要素の特性の代表値は、前記ばらつき幅における最大値または最小値である、
ことを特徴とする回路解析方法。
【請求項３】
請求項１において、
前記要素は、素子および／または配線を含む、
ことを特徴とする回路解析方法。
【請求項４】
請求項３において、
前記素子は、トランジスタ、抵抗素子、容量素子のいずれかを含む、
ことを特徴とする回路解析方法。
【請求項５】
請求項１において、
前記ステップ(ａ)は、
前記解析対象回路の特徴に応じて前記ばらつき幅を変化させるステップ(ａ１)と、
前記ステップ(ａ１)により得られたばらつき幅の両端の値のうちどちらかを前記要素の特性の代表値として適用するステップ(ａ２)とを含む、
ことを特徴とする回路解析方法。
【請求項６】
請求項５において、
前記解析対象回路の特徴は、前記解析対象回路の要素の接続関係である、
ことを特徴とする回路解析方法。
【請求項７】
請求項１において、
前記ばらつき幅は、
チップ内ばらつき、チップ間ばらつき、ショット内ばらつき、ウェハ内ばらつき、ウェハ間ばらつき、ロット間ばらつきのいずれかの幅である、
ことを特徴とする回路解析方法。
【請求項８】
請求項１において、
前記ステップ(ａ)は、
前記解析対象回路のレイアウトの特徴に応じて前記ばらつき幅を変化させるステップ(ａ１)と、
前記ステップ(ａ１)により得られたばらつき幅の両端の値のうちどちらかを前記要素の特性の代表値として適用するステップ(ａ２)とを含む、
ことを特徴とする回路解析方法。
【請求項９】
請求項８において、
前記レイアウトの特徴は、素子および／または配線の形状パターン、素子および／または配線の密度、素子および／または配線の距離、素子および／または配線の属する階層、素子および／または配線の属する階層の大きさのいずれかを含む、
ことを特徴とする回路解析方法。
【請求項１０】
請求項１において、
前記ステップ(ａ)では、
前記代表値を、プロセスごとに決められたばらつき幅の両端の値の片方に設定する、
ことを特徴とする回路解析方法。
【請求項１１】
集積回路を構成する回路の特性を解析する方法であって、
解析対象の回路を構成する要素の特性のうちばらつき幅を持つ特性に対して、そのばらつきの分布を前記解析対象回路のレイアウトの特徴に応じて設定するステップ(ａ)と、
前記ステップ(ａ)により得られた分布を用いたシミュレーションにより前記解析対象回路の特性を見積もるステップ(ｂ)とを備える、
ことを特徴とする回路解析方法。
【請求項１２】
請求項１１において、
前記シミュレーションはモンテカルロ・シミュレーションである、
ことを特徴とする回路解析方法。
【請求項１３】
請求項１１において、
前記レイアウトの特徴は、素子および／または配線の形状パターン、素子および／または配線の密度、素子および／または配線の距離、素子および／または配線の属する階層、素子および／または配線の属する階層の大きさのいずれかを含む、
ことを特徴とする回路解析方法。
【請求項１４】
集積回路を構成する回路の特性を解析する方法であって、
解析対象の回路を構成する要素の特性のうちばらつき幅を持つ特性に対して、ばらつき幅の両端を表す変数をその特性の代表値の候補としてリストアップするステップ(ａ)と、
前記ばらつき幅を持つ特性の各々について前記ステップ(ａ)によりリストアップされた候補の中から代表値を選択してばらつき条件を生成するステップ(ｂ)とを備える、
ことを特徴とする回路解析方法。
【請求項１５】
請求項１４において、
前記ステップ(ｂ)により代表値として選択された各変数に対応するプロセスデータを割り当ててシミュレーションを行うステップ(ｃ)をさらに備える、
ことを特徴とする回路解析方法。
【請求項１６】
請求項１４において、
前記要素の特性の代表値は、特性のばらつきの最大値または最小値である、
ことを特徴とする回路解析方法。
【請求項１７】
請求項１４において、
前記解析対象回路を構成する要素は、素子および／または配線を含む、
ことを特徴とする回路解析方法。
【請求項１８】
請求項１４において、
前記素子は、トランジスタ、抵抗素子、容量素子のいずれかを含む、
ことを特徴とする回路解析方法。
【請求項１９】
請求項１４において、
前記ステップ(ａ)では、
前記解析対象回路を構成する要素のうち、ばらつき幅を持つ特性を２つ以上有する要素については、各特性のばらつき幅の両端を表す変数の組合せを代表値の候補としてリストアップする、
ことを特徴とする回路解析方法。
【請求項２０】
請求項１４において、
前記ステップ(ａ)では、
リストアップする変数を回路解析の指標に応じて選択する、
ことを特徴とする回路解析方法。
【請求項２１】
請求項１４において、
前記ステップ(ａ)は、
前記解析対象回路の特徴に応じて要素をグループ化するステップ(ａ１)と、
前記ステップ(ａ１)により得られた各グループについて、当該グループに含まれる要素の特性のばらつき幅の両端を表す変数の組合せを代表値の候補としてリストアップするステップ(ａ２)とを含み、
前記ステップ(ｂ)では、
前記ステップ(ａ１)により得られた各グループについては、前記ステップ(ａ２)によりリストアップされた候補の中から代表値を選択する、
ことを特徴とする回路解析方法。
【請求項２２】
請求項２１において、
前記解析対象回路の特徴は、
少なくとも２つ以上の素子の接続関係である、
ことを特徴とする回路解析方法。
【請求項２３】
集積回路を構成する回路の特性を、前記回路を構成する要素の特性を変化させながら繰り返し解析する方法であって、
解析対象の回路を構成し、ばらつき幅を持つ値としてその特性が表される各要素について、前記各要素の特性の代表値として前記ばらつき幅内のいずれかの値を選択し、前記各要素の特性の代表値どうしの組み合わせを決定するステップ(ａ)と、
前記代表値どうしの組み合せを用いて前記解析対象回路の特性を見積もるステップ(ｂ)とを備え、
前記代表値の組み合せを異ならせて前記ステップ(ａ)〜(ｂ)を繰り返し行う、
ことを特徴とする回路解析方法。
【請求項２４】
請求項２３において、
前記代表値どうしの組み合わせとして取りうるすべての組み合わせについて前記ステップ(ａ)〜(ｂ)を行う、
ことを特徴とする回路解析方法。
【請求項２５】
集積回路を構成する回路の特性を解析する方法であって、
回路情報とプロセス特性情報とに基づいて、解析対象の回路を構成する要素の特性のうちばらつき幅を持つ特性を抽出し、抽出した特性のばらつき幅の両端を表す変数をその特性の代表値の候補としてリストアップしたばらつき項目情報を生成するステップ(ａ)と、
各前記ばらつき幅を持つ特性について前記ばらつき項目情報においてリストアップされた候補の中から選択された代表値どうしの組み合わせであるばらつき条件を少なくとも１つ含むばらつき条件情報を生成するステップ(ｂ)とを備える、
ことを特徴とする回路解析方法。
【請求項２６】
請求項２５において、
前記代表値どうしの組み合わせパターンを指定するステップ(ｃ)をさらに備え、
前記ステップ(ｂ)では、
前記ステップ(ｃ)により指定された組み合わせパターンに対応するばらつき条件のみを含むばらつき条件情報を生成する、
ことを特徴とする回路解析方法。
【請求項２７】
請求項２５において、
前記ステップ(ｂ)では、
前記ばらつき幅を持つ特性の各々について前記ばらつき項目情報においてリストアップされた候補の中からランダムに１つを選択して、あらかじめ指定された解析反復回数に相当する個数のばらつき条件を含むばらつき条件情報を生成する、
ことを特徴とする回路解析方法。
【請求項２８】
請求項２５において、
前記ステップ(ｂ)では、
前記代表値どうしの組み合わせとして取りうるすべての組み合わせパターンに対応する個数のばらつき条件を含むばらつき条件情報を生成する、
ことを特徴とする回路解析方法。
【請求項２９】
請求項２５において、
前記解析対象回路を構成する要素を回路情報に基づいてグループ化するステップ(ｄ)をさらに備え、
前記ステップ(ａ)では、
前記ステップ(ｄ)により得られた各グループについては、当該グループに含まれる要素の特性のばらつき幅の両端を表す変数の組合せを代表値の候補としてリストアップする、
ことを特徴とする回路解析方法。
【請求項３０】
請求項２９において、
前記ステップ(ｄ)では、
グループ化すべき要素をあらかじめ指定されたグループ化情報に基づいて、前記解析対象回路を構成する要素をグループ化する、
ことを特徴とする回路解析方法。
【請求項３１】
請求項２９において、
前記ステップ(ｄ)では、
グループ化すべきパターンがあらかじめ指定されたグループ化パターン情報に一致するパターンを前記回路情報の中から抽出し、抽出したパターンに含まれる要素をグループ化する、
ことを特徴とする回路解析方法。
【請求項３２】
請求項２５において、
前記ばらつき項目情報にリストアップされた代表値の候補に対応する数値を示すばらつき量情報をプロセス特性情報に基づいて生成するステップ(ｅ)と、
前記ステップ(ｂ)により生成されたばらつき条件情報の各ばらつき条件における代表値に対応する数値を前記ばらつき量情報に基づいて割り当てて前記各ばらつき条件における回路解析を行うステップ(ｆ)とをさらに備える、
ことを特徴とする回路解析方法。
【請求項３３】
請求項３２において、
前記ステップ(ｅ)では、
前記代表値の候補に対応する数値を前記解析対象回路のレイアウトの特徴に応じて設定する、
ことを特徴とする回路解析方法。
【請求項３４】
請求項３３において、
前記レイアウトの特徴は、素子および／または配線の形状パターンである、素子および／または配線の密度、素子および／または配線の属する階層、素子および／または配線の属する階層の大きさ、素子および／または配線の距離を含む、
ことを特徴とする回路解析方法。
【請求項３５】
集積回路を構成する回路の特性を計算する方法であって、
回路の要素の特性値の分布を表現した素子特性情報を準備するステップ(ａ)と、
解析対象に含まれる要素の特性値のばらつき幅を前記素子特性情報に基づいて決定するステップ(ｂ)と、
前記ステップ(ｂ)により決定されたばらつき幅内に含まれるいずれかの値を前記解析対象に含まれる要素の特性値として回路特性の解析を行うステップ(ｃ)とを備える、
ことを特徴とする回路解析方法。
【請求項３６】
請求項３５において、
前記回路の特性は、遅延を含む、
ことを特徴とする回路解析方法。
【請求項３７】
請求項３５において、
前記要素の特性は、遅延または電流を含む、
ことを特徴とする回路解析方法。
【請求項３８】
請求項３５において、
前記要素は、素子または配線または部分回路を含む、
ことを特徴とする回路解析方法。
【請求項３９】
請求項３５において、
前記ステップ(ｃ)では、
前記解析対象に含まれる２つ以上の部分回路の遅延の最大値を前記部分回路を併せた回路の遅延とする、
ことを特徴とする回路解析方法。
【請求項４０】
請求項３５において、
前記ステップ(ｃ)では、
前記解析対象に含まれる２つ以上の部分回路の各遅延値を統計的演算を用いて重ね合わせたものを前記部分回路を併せた回路の遅延とする、
ことを特徴とする回路解析方法。
【請求項４１】
請求項３５において、
前記ステップ(ｂ)では、
前記ばらつき幅を、指定された統計パラメータに応じて決定する、
ことを特徴とする回路解析方法。
【請求項４２】
請求項４１において、
前記統計パラメータは、
確率、偏差値、標準偏差、標準偏差に対する比率、のうちのいずれかを含む、
ことを特徴とする回路解析方法。
【請求項４３】
請求項３５において、
前記ステップ(ｂ)では、
前記ばらつき幅を、評価指標に影響を与える要素の個数を考慮して決定する、
ことを特徴とする回路解析方法。
【請求項４４】
請求項４３において、
前記要素の個数は、プロセスにおけるばらつき項目数もしくは回路上における素子の接続段数である、
ことを特徴とする回路解析方法。
【請求項４５】
請求項４３において、
前記ステップ(ｂ)は、
回路の評価指標に影響を与えるばらつき要素の個数を抽出するステップ(ｂ１)と、
前記ステップ(ｂ１)により抽出されたばらつき要素の個数に基づいて、解析対象に含まれる要素の特性値のばらつき幅を前記素子特性情報から抽出するステップ(ｂ２)とを含む、
ことを特徴とする回路解析方法。
【請求項４６】
請求項３５において、
前記ステップ(ｂ)では、
前記ばらつき幅を、レイアウト条件を考慮し決定する、
ことを特徴とする回路解析方法。
【請求項４７】
請求項４６において、
前記レイアウト条件は、
配線の接続形状、素子上通過配線本数、要素と周辺形状との距離、のいずれれかを含む、
ことを特徴とする回路解析方法。
【請求項４８】
請求項３５において、
前記素子特性情報は、
前記回路の要素の特性値の正方向のばらつき幅と負方向のばらつき幅とを含む、
ことを特徴とする回路解析方法。
【請求項４９】
請求項３５において、
前記素子特性情報は、
前記回路の要素の特性値のばらつき幅を含み、
前記ばらつき幅は、
他の要素の特性値のばらつきに依存しない独立成分と、他の要素の特性値のばらつきと相関をもつ共通成分とを含む、
ことを特徴とする回路解析方法。
【請求項５０】
請求項４９において、
前記ステップ(ｂ)では、
前記解析対象に含まれるある要素の特性値のばらつき幅として前記独立成分を適用する、
ことを特徴とする回路解析方法。
【請求項５１】
集積回路を構成する回路の特性を解析する方法であって、
解析対象に含まれる要素の特性を設計条件に応じて変更するステップ(ａ)と、
前記ステップ(ａ)により得られた要素の特性を用いて回路特性の解析を行うステップ(ｂ)とを備える、
ことを特徴とする回路解析方法。
【請求項５２】
請求項５１において、
前記回路特性は遅延もしくはばらつき幅を含む、
ことを特徴とする回路解析方法。
【請求項５３】
請求項５１において、
前記設計条件は、
電源電圧変動量、基板ノイズ量、カップリングノイズ、のうちのいずれかを含む、
ことを特徴とする回路解析方法。
【請求項５４】
集積回路を構成する回路の特性を解析する方法であって、
解析対象に含まれる要素と前記集積回路のＩ／Ｏパッドとの配置関係に応じて前記要素の特性を変更するステップ(ａ)と、
前記ステップ(ａ)により得られた要素の特性を用いて回路特性の解析を行うステップ(ｂ)とを備える、
ことを特徴とする回路解析方法。
【請求項５５】
請求項５４において、
前記回路特性は遅延もしくはばらつき幅を含む、
ことを特徴とする回路解析方法。
【請求項５６】
集積回路を構成する回路のパスの遅延を解析する方法であって、
解析対象のパスの始点のフリップフロップに入るクロックと、
前記解析対象のパスの終点のフリップフロップに入るクロックとについて、
クロック伝達経路の分岐点を考慮し遅延計算を行う、
ことを特徴とする回路解析方法。
【請求項５７】
請求項５６において、
前記遅延計算は、
回路の遅延ばらつきもしくは前記クロック伝達経路の分岐点を始点とするパスの遅延計算を考慮し行う、
ことを特徴とする回路解析方法。
【請求項５８】
請求項５６において、
前記集積回路を構成する回路の回路情報と前記解析対象のパスを示す選択パス情報とから前記解析対象のパスに関するクロック経路の分岐点を抽出するステップ(ａ)と、
回路の要素の特性値の分布を表現した素子特性情報より前記解析対象に含まれる素子の特性ばらつきを抽出するステップ(ｂ)と、
前記ステップ(ｂ)により抽出された素子特性ばらつきを用いて前記解析対象のパス遅延ばらつきを計算するステップ(ｃ)とを備える、
ことを特徴とする回路解析方法。
【請求項５９】
集積回路を構成する回路に含まれる素子に入る少なくとも２つ以上のパスの遅延を解析する方法であって、
解析対象の素子に入るパスのうちのある１つのパスの始点のフリップフロップに入るクロックと、
前記解析対象の素子に入るパスのうちの他の１つのパスの始点のフリップフロップに入るクロックとについて、
クロック伝達経路の分岐点を考慮し遅延計算を行う、
ことを特徴とする回路解析方法。
【請求項６０】
請求項５９において、
前記遅延計算は、
回路の遅延ばらつきもしくは前記クロック伝達経路の分岐点を始点とするパスの遅延計算を考慮し行う、
ことを特徴とする回路解析方法。
【請求項６１】
請求項５９において、
前記集積回路を構成する回路の回路情報と前記解析対象の素子を含む回路ブロックを示す選択ブロック情報とから前記回路ブロックに関するクロック経路の分岐点を抽出するステップ(ａ)と、
回路の要素の特性値の分布を表現した素子特性情報より前記解析対象の素子の特性ばらつきを抽出するステップ(ｂ)と、
前記ステップ(ｂ)により抽出された素子特性ばらつきを用いて前記回路ブロックの遅延ばらつきを計算するステップ(ｃ)とを備える、
ことを特徴とする回路解析方法。
【請求項６２】
集積回路を構成する回路の特性を解析する方法であって、
各要素の特性のばらつきを考慮せずに回路特性を求めるステップ(ａ)と、
前記各要素の特性のばらつき量のみの回路特性を求めるステップ(ｂ)と、
前記ステップ(ａ)により得られた回路特性結果と前記ステップ(ｂ)により得られた回路特性結果とを用いることによって、ばらつきを考慮した回路特性解析を行うステップ(ｃ)とを備える、
ことを特徴とする回路解析方法。
【請求項６３】
請求項６２において、
前記回路特性は遅延を含む、
ことを特徴とする回路解析方法。
【請求項６４】
請求項６２において、
前記ステップ(ａ)により得られた回路特性結果に基づいて解析対象のパスを選択するステップ(ｄ)をさらに備え、
前記ステップ(ｃ)では、
前記ばらつきを考慮した回路特性解析を、前記ステップ(ｄ)により選択されたパスのみに対して行う、
ことを特徴とする回路解析方法。
【請求項６５】
請求項６４において、
前記ステップ(ａ)では、
回路情報より回路の遅延を計算し、
前記ステップ(ｄ)では、
前記ステップ(ａ)により得られた遅延解析結果に基づいて解析対象のパスを選択し、
前記ステップ(ｃ)では、
前記ステップ(ｄ)により選択されたパスの遅延ばらつきを解析する、
ことを特徴とする回路解析方法。
【請求項６６】
請求項６４において、
前記ステップ(ｄ)におけるパスの選択は、
指定された基準に基づいて一意に決定される、
ことを特徴とする回路解析方法。
【請求項６７】
請求項６６において、
前記基準は、
パス遅延のスラックあるいは遅延値を含む、
ことを特徴とする回路解析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路設計において、プロセス情報等に基づいて回路の特性をシミュレーションする技術に関するものである。
【背景技術】
【０００２】
半導体集積回路設計において、微細化により、プロセスばらつきの回路特性への影響が増大している。従来、集積回路を構成する各素子の遅延ばらつきを正規分布で表し、統計的演算を用いて回路全体の遅延分布を見積もる技術（以下、統計的遅延解析手法）があった（例えば、特許文献１参照）。統計的遅延解析手法は、素子のばらつきを表現した素子特性情報を用いて解析対象回路の遅延ばらつきを統計的に解析するものである。統計的遅延解析手法では、遅延を分布で表現でき、また分布形状を考慮して回路の遅延分布を見積もることが可能である点が、遅延を固定値で扱う一般の静的遅延解析手法とは異なっている。
【特許文献１】特開2002-279012号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところが、従来の統計的遅延解析方法では、回路の遅延計算において、回路中のパス遅延の計算過程において、分布計算を行わなければならない。そのため一般の静的遅延解析と比較して、膨大な処理時間を要していた。特に数百万といった大規模な回路においてはその処理時間は現実的ではなかった。
【課題を解決するための手段】
【０００４】
上記課題を解決するため、本発明の回路解析方法は、集積回路を構成する回路の特性を解析する方法であって、解析対象の回路を構成し、ばらつき幅を持つ値としてその特性が表される要素について、前記ばらつき幅内のいずれかの値を前記要素の特性の代表値として適用するステップ(ａ)と、前記代表値を用いて前記解析対象回路の特性を見積もるステップ(ｂ)とを備える、ことを特徴とする。
【発明の効果】
【０００５】
本発明によれば、半導体集積回路に含まれる素子や配線などの要素のばらつきの回路特性に与える影響を少ない処理時間で見積もることが可能であり、各素子が最もばらついた場合においても所望の回路特性を維持できるかどうかの判断を行うことが可能である。
【発明を実施するための最良の形態】
【０００６】
以下、本発明の実施形態について図面を参照して詳しく説明する。なお、図面において実質的に同一の部分には同じ参照符号を付してその説明は繰り返さない。
【０００７】
（第１の実施形態）
第１の実施形態による回路解析方法のフローを図１に示す。本実施形態による回路解析方法は、図１に示すフローをコンピュータに実行させるためのプログラムとして、あるいは、当該フローを実行する装置(たとえば上記プログラムを実行するコンピュータ)として実現される。なお、後述する他の実施形態についても同様である。
【０００８】
＜入力データ＞
図２は、本実施形態の回路解析方法の解析の対象とする回路情報２２の例である。回路１００を構成する要素である素子１Ｅ１〜１Ｅ４と配線１Ｗ１〜１Ｗ４のばらつきを考慮し、回路１００の特性の一つである入力端子１０２から出力端子１０４までのパスの遅延を解析する方法について説明する。
【０００９】
図３〜５はプロセス特性情報２１の例を示している。プロセス特性情報２１は、回路を構成する要素の持つ各特性のばらつきの上限値や下限値等の情報を含んでいる。
【００１０】
図４は、対象とするプロセスのインバータ(inv1)の特性として、立ち上がり遅延(Rise_delay)の最大が５.０、最小が３.３であり、立ち下がり遅延(Fall_delay)の最大が４.３、最小が２.５であることを示しており、それぞれの特性は完全に相関を持ってばらつくことを示しており、代表値として最大の場合をmax、最小の場合をminと定義している。インバータの特性の代表値がmaxであるときは、立ち上がり遅延、立ち下がり遅延共に最大にばらつくときであり、minであるときは立ち上がり遅延、立ち下がり遅延共に最小にばらつくときであることを表している。
【００１１】
一方、図５は、対象とするプロセスのインバータの特性の表現の別の例を示している。立ち上がり遅延(Rise_delay)の典型値(typical)が４.０、最大(max)が＋１.０、最小(min)が−０.７であり、立ち下がり遅延(Fall_delay)の典型値(typical)が３.３、最大(max)が＋１.０、最小(min)が−０.８であることを示しており、最大(max)および最小(min)の値は典型値(typical)からの相対値で示されている。図５の場合も、図４と同様に、立ち上がり遅延(Rise_delay)の最大が５.０、最小が３.３であり、立ち下がり遅延(Fall_delay)の最大が４.３、最小が２.５であることを示していることになる。
【００１２】
また図３は、対象とするプロセスの配線の特性の例を示している。ここでは、回路を構成するある要素である配線(wire1)の特性として、シート抵抗値(SheetR)および単位容量値(unitCap)の２つの特性を表現しており、シート抵抗値(SheetR)の最大が１３、最小が１１、単位容量値(unitCap)の最大が３００、最小が２５０であることを示している。また、それぞれの特性はまったくに独立にばらつくことを示している。すなわち、２つの特性の最大および最小の組み合わせで４通りのばらつきの代表値を持ち、それぞれ、max，minmax，maxmin，minと定義している。ここで、配線の特性の代表値がmaxであるときはシート抵抗値(SheetR)、単位容量値(unitCap)共に最大にばらつくときであり、minmaxであるときはシート抵抗値(SheetR)が最大でありかつ単位容量(unitCap)が最小にばらつくときであることを表している。
【００１３】
このように本実施形態においては、素子および配線のばらつきを各特性のばらつきの両端の値で代表することにより、素子および配線のばらつきを同様に扱うことが可能である。
【００１４】
＜ばらつき項目生成＞
まず、ばらつき項目生成手段２３において、プロセス特性情報２１と回路情報２２とから、ばらつきの対象となる回路の要素の抽出を行い、各要素ごとに特性の代表値の候補のリストアップを行うことにより、ばらつき項目情報２４を作成する。
【００１５】
図６は、図２〜４に対応する、ばらつき項目情報２４の例である。
【００１６】
インバータ１Ｅ１〜１Ｅ３およびマルチプレクサ１Ｅ４の特性（遅延）の代表値の候補はmin／maxの２種類であり、配線１Ｗ１〜１Ｗ４の特性（シート抵抗と単位容量との組み合わせ）の代表値の候補はmin／max／minmax／maxminの４種類であることを示している。
【００１７】
＜ばらつき条件生成＞
次に、ばらつき条件生成手段２５において、ばらつき項目情報２４より、各要素の代表値の決定を行う。図７は、図６のばらつき条件情報に対応するばらつき条件情報２６の例である。各要素の代表値として、条件１では、１Ｅ１および１Ｗ１の特性の代表値がmaxとなり、１Ｅ２〜４および１Ｗ２〜４の特性の代表値がminとなることを示している。また、条件２では、１Ｅ１〜１Ｅ２および１Ｗ２の特性の代表値がmaxとなり、１Ｅ３〜４、１Ｗ１、および１Ｗ３〜４の特性の代表値がminとなることを示している。
【００１８】
＜ばらつき条件生成方法詳細＞
ばらつき条件情報の生成は、取りうるすべてのパターンを抽出してもよいが、すべてのパターンの中から一部のパターンを選択してもよい。
【００１９】
図８は、すべてのパターンを選択する場合のフローを示した図である。ばらつき条件抽出手段２５ｅにおいて、ばらつき項目情報に基づいて各要素に対しすべての項目の組み合わせパターンを生成しばらつき条件情報２６を生成する。図６のばらつき項目情報の場合、組み合わせは、（数式１）に示す様に４０９６通りとなり、ばらつき条件抽出手段２５ｅにおいて、これら４０９６通りすべての組み合わせが抽出され、ばらつき条件情報２６に格納される。
（数式１）  ２×２×２×２×４×４×４×４＝４０９６
すべてのパターンを選択した場合は、設計者の能力にかかわらず確実に最悪のパターンを検出することが可能であり、人手ミスの混入する可能性も少ない。組み合わせの数が膨大でなく、回路解析に要する計算処理時間が問題とならない場合は最も有利である。
【００２０】
一方、一部のパターンを選択する場合には、ランダムに生成する場合と設計者が指定する方法がある。図９は、設計者の指定によりばらつき条件を選択する場合のフローを示した図である。ばらつき条件指定情報２５ａは、設計者が指定したばらつき条件に関する情報である。ばらつき条件指定情報２５ａは、設計者が任意に作成してもよいし、ばらつき条件抽出手段２５ｅにより抽出されたすべてのパターンのばらつき条件情報から選択してもよい。ばらつき条件設定手段２５ｂにおいて、ばらつき項目情報に基づいて各要素に対しすべての項目の組み合わせパターンを生成しばらつき条件情報２６を生成する。
【００２１】
設計者によって最も評価すべきばらつき条件の指定が可能、あるいは評価の必要のないばらつき条件が明らかな場合、設計者がばらつき条件を指定することにより、最も効率的に必要最小限の解析を行うことが可能となる。ばらつきの対象とする素子の数が多い場合など特に有効である。
【００２２】
図１０は、ランダムにパターンを選択する場合のフローを示した図である。ばらつき条件ランダム生成手段２５ｄにおいて、ばらつき項目情報２４に指定された各要素ごとに代表値の候補の中から１つをランダムに選択することで代表値の組み合わせパターンを生成しばらつき条件情報２６を生成する。生成する組み合わせパターン数は、あらかじめ指定された反復回数情報２５ｃに基づいて決定される。
【００２３】
ランダムに生成する方法では、処理時間と求める精度のトレードオフから最も適当な個数の組み合わせをランダムに発生させることができる。これにより、ある程度の確率で回路特性のばらつきを効率よく見積もることが可能となる。ばらつきの対象とする素子の数が多い場合で、設計者の項目選択が困難な場合に最も有効である。
【００２４】
＜指標ごとのばらつき項目情報＞
一方、対象とする回路１００において解析の評価指標として遅延を評価する場合、配線のminmaxおよびmaxminの代表値の解析が不要であり、また同様に、消費電力を評価する場合、配線のminおよびmaxの代表値の解析が不要であるとする。このとき配線の特性の代表値の候補としてmin／max／minmax／maxminの４項目を生成するよりも、評価指標ごとに各要素の特性の代表値の必要な候補を選択可能とすることにより、処理時間のさらなる削減を実現することが可能となる。
【００２５】
図１１は、図２〜４に対応する、ばらつき項目情報の別の例である。評価指標が遅延である場合は、素子だけでなく配線に関しても代表値の候補としてはmin／maxの２パターンのみ、一方、評価指標が消費電力の場合の配線の特性の代表値の候補はminmax／maxminの２パターンのみが選択可能となる。
【００２６】
図１２は、図１１に対応するばらつき条件情報の例である。評価指標が遅延である場合は、素子、配線ともmin／maxの２パターンの候補の中から特性の代表値が選択され、また、評価指標が消費電力の場合は素子についてはmin／maxの２パターンの候補の中から特性の代表値が選択され、配線についてはminmax／maxminの２パターンの候補の中から特性の代表値が選択されている。
【００２７】
＜ばらつき量生成＞
ばらつき量生成手段２９では、プロセス特性情報２１のばらつき量の値から、ばらつき項目情報に対応した代表値の候補を実際の数値で表現したばらつき量情報３０を生成する。図１３は図２〜４，６に対応したばらつき量情報の例である。要素ごとに特性のばらつきの代表値の候補が数値でリスト化されている。
【００２８】
＜回路解析＞
回路解析手段２７では、ばらつき条件情報２６の各ばらつき条件（条件１、条件２等）に設定されている代表値（min，max等）に対応する数値をばらつき量情報３０に基づいて割り当てて各ばらつき条件における回路解析（たとえば、モンテカルロシミュレーション）を行う。総シミュレーション時間は、ばらつき条件の数にほぼ比例することになる。
【００２９】
（第２の実施形態）
＜グループ化＞
次に、本発明の第２の実施形態を説明する。
【００３０】
図１４は、本実施形態による回路解析方法の解析の対象とする回路情報２２の例である。回路３００を構成する要素である素子３Ｅ１〜３Ｅ４と、容量素子３Ｅ５のばらつきを考慮し回路３００の特性を解析する方法について説明する。また、図１５はプロセス特性情報２１の例である。ＮＭＯＳ（mosn１）およびＰＭＯＳ（mosp１）の閾値電圧の変動量（delvto）、飽和ドレイン電流（Idsat）のばらつきの最大値および最小値が設定されている。また容量素子（Cap１）の容量値（value）のばらつき幅が設定されている。
【００３１】
図１６は本実施形態による回路解析方法のフローを表している。ばらつき項目グループ化手段３１において、回路情報２２より、回路の接続関係の一部をグループ化しばらつき項目のグループ化を行いばらつき項目グループ化情報３２を生成する。
【００３２】
図１７（ａ）は、図１４に対応するばらつき項目情報２４の例である。３Ｅ１および３Ｅ２がgroup１に、３Ｅ３および３Ｅ４がgroup２としてグループ化されている。このように本実施形態では、ばらつき項目生成手段２３は、グループ化された各グループについて、当該グループに含まれる要素の特性のばらつき幅の両端を表す変数の組合せを当該グループの代表値の候補としてリストアップしたばらつき項目情報２４を生成する。このとき、各グループの代表値の候補として（min，max）／（max，min）／（min，min）／（max，max）の４項目すべてを生成してもよいが、必要な項目のみを候補とすることもできる。たとえば、group１において、３Ｅ１と３Ｅ２がともにminであるとき、ともにmaxである場合の検証が不要である場合、図１７（ｂ）に示すように３Ｅ１がmin、３Ｅ２がmaxとなる組み合わせ（min，max）、および、３Ｅ１がmax、３Ｅ２がminとなる組み合わせ（max，min）とに、group１の代表値の候補を限定したり、図１７（ｃ）に示すように３Ｅ１がmin、３Ｅ２がmaxとなる組み合わせ（min，max）と３Ｅ１がmax、３Ｅ２がminとなる組み合わせ（max，min）とにgroup１の代表値の候補を限定し、３Ｅ３がmin、３Ｅ４がmaxとなる組み合わせ（min，max）と３Ｅ３がmax、３Ｅ４がminとなる組み合わせ（max，min）とにgroup２の代表値の候補を限定したりすることにより処理時間を削減することが可能である。
【００３３】
さらにグループ化は階層的に行うことも可能である。図１８（ａ）は階層的にグループ化を行ったばらつき項目情報２４の例である。group１およびgroup２をgroup１２としてグループ化している。なお、図１８（ａ）において、group１２の代表値の候補の１つである（P1，P1）は、group１についての代表値の組み合わせパターンがP1でありかつgroup２についての代表値の組み合わせパターンがP1であることを示している。group１についての代表値の組み合わせパターンP1は、図１８（ａ）に示すように、３Ｅ１がmin、３Ｅ２がmaxとなる組み合わせ（min，max）を示している。その他についても同様である。
【００３４】
このとき、group１２の代表値の候補として（P1，P1）〜（P4，P4）の１６項目すべてを生成してもよいが、必要な項目のみを候補とすることもできる。たとえば、group１とgroup２の少なくとも一方がＰ３である場合およびgroup１とgroup２の少なくとも一方がＰ４である場合の検証が不要であるときには、図１８（ｂ）に示すように、group１２の代表値の候補を（P1，P1）／（P1，P2）／（P2，P1）／（P2，P2）の４項目に限定できる。図１８（ｃ）では、さらに、group１とgroup２がともにP1、ともにP2となる場合を除外し、group１がP1でありかつgroup２がP2となる場合と、group１がP2でありかつgroup２がP1となる場合に限定している。この場合、group１２の各要素（３Ｅ１，３Ｅ２，３Ｅ３，３Ｅ４）の代表値の候補の組み合わせは、（min，max，max，min）、（max，min，min，max）の２つに限定されることになる。
【００３５】
group１２の代表値の候補を図１８（ｃ）のように限定した場合、図１４の回路３００についてのばらつき項目情報２４は図１９（ａ）のようになる。図１９（ｂ）は、ばらつき条件生成手段２５において、ばらつき条件抽出手段２５ｅにより、図１９（ａ）のばらつき項目情報２４から全パターンを抽出した場合のばらつき条件情報２６の例である。
【００３６】
回路解析手段２７においてはそれぞれの素子の代表値がminかmaxかにより、図１５のプロセス特性情報より最大値または最小値の値を用いて、代表値の組み合わせ（ばらつき条件）の個数分シミュレーションを行う。総シミュレーション時間は、代表値の組み合わせ（ばらつき条件）の数にほぼ比例することになる。
【００３７】
回路情報３００のばらつき条件はこれらのグループ化により、図１９（ｂ）の条件１〜４の４通りとなる。３Ｅ１〜３Ｅ５の５素子のばらつきの代表値の組み合わせは、グループ化を行わない場合は（数式２）により３２通りであるので、８倍の高速化が図れたことになる。
（数式２）  ２×２×２×２×２＝３２
さらに容量素子３Ｅ５がmaxの場合は検証不要であり、minの場合の回路解析を行えば十分であることが設計者により判断可能な場合、さらにばらつき条件を削減することが可能である。この場合、図１４の回路３００についてのばらつき項目情報２４は図２０（ａ）のようになる。図２０（ｂ）は、ばらつき条件設定手段２５ｂにより、図１９（ｂ）における条件１および条件３のみにばらつき条件を限定した結果、生成されたばらつき条件情報２６の例である。ばらつき条件は２通りであるので、図１９に比べてさらに２倍、グループ化を行わない場合の３２通りと比較して１６倍の高速化が図れたことになる。
【００３８】
＜グループ化詳細＞
ばらつき項目グループ化情報３２の生成は、設計者により指定する方法と、あらかじめ指定したばらつき項目グループ化パターン情報３１ｃに基づいて自動抽出する方法がある。
【００３９】
図２１は、ばらつき項目のグループ化を自動で行うフローを示した図である。ばらつき項目グループ化抽出手段３１ｄにおいて、まず、回路情報２２の要素の接続関係の中からばらつき項目グループ化パターン情報３１ｃと一致するパターンの抽出を行う。図２２はグループ化パターン情報３１ｃの例である。解析の対象とする回路３００において、３Ｅ１および３Ｅ２がグループ化パターン３０１に、３Ｅ３および３Ｅ４がグループ化パターン３０３にマッチしているので、ばらつき項目グループ化抽出手段３１ｄはこれらのグループ化情報３２を生成する。グループ化を行う素子の接続パターンが限定可能な場合、あらかじめばらつき条件グループ化パターン情報３１ｃを作成しておくことで、グループ化の抽出は自動で行うことが可能であり、人手設定による工数およびミスの削減が可能である。
【００４０】
図２３は、設計者の指定によりグループ化を行う場合のフローを示した図である。あらかじめ設計者がグループ化したい素子リスト等を指定したばらつき項目グループ化指定情報３１ａに基づいて、ばらつき項目グループ化設定手段３１ｂにおいてグループ化情報を設定することが可能である。設計者によってグループ化の指定が可能である場合、グループ化すべきパターンが複雑であらかじめ指定することが困難な場合など、設計者がグループ化を指定することにより、ばらつきの対象を必要最小限に限定することで処理時間の削減が可能となる。
【００４１】
（第３の実施形態）
＜回路依存ばらつき量＞
回路上ペアとなるトランジスタは、同一形状、隣接配置など特性をそろえるように設計されるため、互いのトランジスタ間の特性の相対ばらつき量（ミスマッチ）は少ない。そこで、回路の特徴に応じてばらつき量を現実に近い最適な値に設定することにより、回路解析の精度を向上させることができる。
【００４２】
図２４は、本実施形態による回路解析のフロー図である。回路依存ばらつき条件生成手段３６において、回路情報２２からペアトランジスタを抽出し回路依存ばらつき条件情報３７を生成する。回路依存ばらつき条件生成は、上述のばらつき項目グループ化手段と同様の方法が使用可能であり、例えば図２２に示すグループ化情報に基づいて回路情報２２から自動的に抽出する、あるいは設計者が指定するなどの方法がある。
【００４３】
図２５は、プロセス特性情報２１として、ペアトランジスタの相対的ばらつき量の例である。delvtoの値が図１５の場合より小さな値となっている。ばらつき量生成手段２９では、回路依存ばらつき条件情報３７においてペアトランジスタとして認識されたトランジスタに対し、プロセス特性情報２１に基づいて、ペアトランジスタのばらつき量を設定した、ばらつき量情報３０を生成する。
【００４４】
ばらつき量情報３０では、回路情報２２におけるペアトランジスタにのみペアトランジスタの相対ばらつき量が設定され、他のトランジスタには、チップ内ばらつき等通常のばらつき量が設定されるため、回路解析におけるばらつきの見積もり精度を向上させることが可能である。
【００４５】
（第４の実施形態）
本実施形態では、レイアウトの特徴に依存して異なるばらつき量を考慮して回路解析を行う例について説明する。図２６は本実施形態の回路解析方法のフロー図である。レイアウト依存ばらつき条件生成手段３４において、レイアウト情報３３より、ばらつき量が依存するレイアウト箇所の抽出を行う。
【００４６】
＜レイアウトパターン依存ばらつき量＞
図２７は解析対象の回路に対応するレイアウト４０２の例である。レイアウト４０２はレイアウト情報３３に格納されている。レイアウト４０２において、トランジスタ４４〜４６の拡散領域の面積に着目した場合、トランジスタ４４および４５の方がトランジスタ４６より拡散面積が広くなっている。
【００４７】
図２８はレイアウト依存ばらつき条件生成方法のフロー図である。また、図２９はレイアウトパターン依存特性情報３４ｂの例である。レイアウトパターン依存ばらつき条件生成手段３４ａにおいて、レイアウト情報３３とレイアウトパターン依存特性情報３４ｂを比較する。トランジスタ４４および４５が拡散広と認識され、レイアウト依存ばらつき条件情報３５にその情報が記載される。ばらつき量生成手段２９では、レイアウト依存ばらつき条件情報３５に記載されたばらつき量に基づいてばらつき量情報３０を生成する。すなわち、拡散広であるトランジスタ４４および４５に対してはdelvtoのtypical、max、minにそれぞれ０、１３、−１３、Idsatのtypical、max、minにそれぞれ５０、１０、−１０という値が適用され、トランジスタ４６に対してはdelvtoのtypical、max、minにそれぞれ０、２５、−２５、Idsatのtypical、max、minにそれぞれ３０、１５、−１５という値が適用される。
【００４８】
レイアウトパターンに応じて、各素子の特性の最適なばらつき量が設定されるため、回路解析におけるばらつきの見積もり精度を向上させることが可能である。
【００４９】
レイアウトパターン依存ばらつき量の他の具体例を以下に示す。
【００５０】
＜ゲート形状依存ばらつき量＞
次に、ゲート形状に依存して異なるばらつき量を考慮して回路解析を行う例について説明する。
【００５１】
図３０は解析対象の回路に対応するレイアウト４０４の例である。レイアウト４０４は、図２８におけるレイアウト情報３３に格納されている。レイアウト４０４において、トランジスタ５０〜５２のゲート形状に着目した場合、トランジスタ５０のゲートは両端が屈曲されており、トランジスタ５１のゲートは片側のみ屈曲されており、また、トランジスタ５２のゲートは片側が延長されている。
【００５２】
図３１はゲート形状を考慮したレイアウトパターン依存特性情報３４ｂの例である。図２８におけるレイアウトパターン依存ばらつき条件生成手段３４ａにおいて、レイアウトパターン依存特性情報３４ｂに基づいてレイアウト情報３３より、対象とするトランジスタのゲート形状の抽出を行い、レイアウト依存ばらつき条件情報３５にその情報が記載される。ばらつき量生成手段２９では、レイアウト依存ばらつき条件情報３５に記載されたばらつき量に基づいてばらつき量情報３０を生成する。
【００５３】
すなわち、ゲートの両端が屈曲されているトランジスタ５０に対してはdelvtoのtypical，max，minにそれぞれ０，１３，−１３、Idsatのtypical，max，minにそれぞれ５０，１０，−１０という値が適用され、ゲートの片側のみ屈曲されているトランジスタ５１に対しては、delvtoのtypical，max，minにそれぞれ０，２５，−２５、Idsatのtypical，max，minにそれぞれ３０，１５，−１５、ゲートの片側が延長されているトランジスタ５２に対してはdelvtoのtypical，max，minにそれぞれ０，１５，−１５、Idsatのtypical，max，minにそれぞれ３０，１２，−１２という値が適用される。
【００５４】
トランジスタのゲートの形状に応じて、各素子の特性の最適なばらつき量が設定されるため、回路解析におけるばらつきの見積もり精度を向上させることが可能である。
【００５５】
＜素子上通過配線数依存ばらつき量＞
次に、素子上通過配線数に依存して異なるばらつき量を考慮して回路解析を行う例について説明する。
【００５６】
図３２は解析対象の回路に対応するレイアウト４０５の例である。レイアウト４０５は、図２８におけるレイアウト情報３３に格納されている。レイアウト４０５において、７１〜７３はトランジスタ上を通過する配線である。トランジスタ５３〜５５の素子上通過配線数に着目した場合、トランジスタ５４はなし、トランジスタ５３および５５はそれぞれ１本、２本である。
【００５７】
図３３は素子上通過配線数を考慮したレイアウトパターン依存特性情報３４ｂの例である。図２８におけるレイアウトパターン依存ばらつき条件生成手段３４ａにおいて、レイアウトパターン依存特性情報３４ｂに基づいてレイアウト情報３３より、対象とするトランジスタの素子上通過配線数の抽出を行い、レイアウト依存ばらつき条件情報３５にその情報が記載される。ばらつき量生成手段２９では、レイアウト依存ばらつき条件情報３５に記載されたばらつき量に基づいてばらつき情報３０を生成する。
【００５８】
すなわち、トランジスタ５４に対してはdelvtoのtypical，max，minにそれぞれ０，１３，−１３、Idsatのtypical，max，minにそれぞれ３０，１０，−１０という値が適用され、トランジスタ５３に対してはdelvtoのtypical，max，minにそれぞれ０，２５，−２５、Idsatのtypical，max，minにそれぞれ３０，１５，−１５、トランジスタ５５に対してはdelvtoのtypical，max，minにそれぞれ０，２８，−２８、Idsatのtypical，max，minにそれぞれ３０，１８，−１８という値が適用される。
【００５９】
トランジスタ上の通過配線数に応じて、各素子の特性の最適なばらつき量が設定されるため、回路解析におけるばらつきの見積もり精度を向上させることが可能である。
【００６０】
＜素子間距離依存ばらつき量＞
次に、素子間距離に依存して異なるばらつき量を考慮して回路解析を行う例について説明する。
【００６１】
図３４は解析対象の回路に対応するレイアウト４０６の例である。レイアウト４０６は、図２８におけるレイアウト情報３３に格納されている。レイアウト４０６において、トランジスタ５６〜６０の素子間距離に着目した場合、トランジスタ５６〜５８は近接し、トランジスタ５９〜６０は離れて配置されている。
【００６２】
図３５は素子間距離を考慮したレイアウトパターン依存特性情報３４ｂの例である。図２８におけるレイアウトパターン依存ばらつき条件生成手段３４ａにおいて、レイアウトパターン依存特性情報３４ｂに基づいてレイアウト情報３３より、対象とするトランジスタの素子間距離の抽出を行い、レイアウト依存ばらつき条件情報３５にその情報が記載される。ばらつき量生成手段２９では、レイアウト依存ばらつき条件情報３５に記載されたばらつき量に基づいてばらつき情報３０を生成する。
【００６３】
すなわち、トランジスタ５６〜５８の素子間距離が１μｍ未満とすると、delvtoのtypical，max，minにそれぞれ０，２５，−２５、Idsatのtypical，max，minにそれぞれ３０，１５，−１５という値が適用され、トランジスタ５９〜６０の素子間距離が１μｍ以上とすると、delvtoのtypical，max，minにそれぞれ０，１３，−１３、Idsatのtypical，max，minにそれぞれ５０，１０，−１０という値が適用される。
【００６４】
トランジスタの素子間距離に応じて、各素子の特性の最適なばらつき量が設定されるため、回路解析におけるばらつきの見積もり精度を向上させることが可能である。
【００６５】
＜トランジスタ拡散共有数依存ばらつき量＞
次に、トランジスタ拡散共有数に依存して異なるばらつき量を考慮して回路解析を行う例について説明する。
【００６６】
図３６は解析対象の回路に対応するレイアウト４０７の例である。レイアウト４０７は、図２８におけるレイアウト情報３３に格納されている。レイアウト４０７において、トランジスタ６１〜６３のトランジスタ拡散共有数に着目した場合、トランジスタ６１はなし、トランジスタ６２および６３はそれぞれ１個、２個である。
【００６７】
図３７はトランジスタ拡散共有数を考慮したレイアウトパターン依存特性情報３４ｂの例である。図２８におけるレイアウトパターン依存ばらつき条件生成手段３４ａにおいて、レイアウトパターン依存特性情報３４ｂに基づいてレイアウト情報３３より、対象とするトランジスタのトランジスタ拡散共有数の抽出を行い、レイアウト依存ばらつき条件情報３５にその情報が記載される。ばらつき量生成手段２９では、レイアウト依存ばらつき条件情報３５に記載されたばらつき量に基づいてばらつき情報３０を生成する。
【００６８】
すなわち、トランジスタ６１に対してはdelvtoのtypical，max，minにそれぞれ０，１３，−１３、Idsatのtypical，max，minにそれぞれ３０，１０，−１０という値が適用され、トランジスタ６２に対してはdelvtoのtypical，max，minにそれぞれ０，２５，−２５、Idsatのtypical，max，minにそれぞれ３０，１５，−１５、トランジスタ６３に対してはdelvtoのtypical，max，minにそれぞれ０，２８，−２８、Idsatのtypical，max，minにそれぞれ３０，１８，−１８という値が適用される。
【００６９】
トランジスタ拡散共有数に応じて、各素子の特性の最適なばらつき量が設定されるため、回路解析におけるばらつきの見積もり精度を向上させることが可能である。
【００７０】
＜ウェルサイズ依存ばらつき量＞
次に、ウェルサイズに依存して異なるばらつき量を考慮して回路解析を行う例について説明する。
【００７１】
図３８は解析対象の回路に対応するレイアウト４０８の例である。レイアウト４０８は、図２８におけるレイアウト情報３３に格納されている。レイアウト４０８において、８１〜８３はトランジスタ６４〜６６のウェルである。トランジスタ６４〜６６のウェルサイズに着目した場合、トランジスタ６５は最も小さく、トランジスタ６６および６４となるにつれてサイズが大きくなっている。
【００７２】
図３９はウェルサイズを考慮したレイアウトパターン依存特性情報３４ｂの例である。トランジスタとウェル辺との距離に応じたばらつき特性が表現されている。図２８におけるレイアウトパターン依存ばらつき条件生成手段３４ａにおいて、レイアウトパターン依存特性情報３４ｂに基づいてレイアウト情報３３より、対象とするトランジスタのウェルサイズの抽出を行い、レイアウト依存ばらつき条件情報３５にその情報が記載される。ばらつき量生成手段２９では、レイアウト依存ばらつき条件情報３５に記載されたばらつき量に基づいてばらつき情報３０を生成する。
【００７３】
すなわち、トランジスタ６５とウェル辺との距離が１μｍ未満とすると、delvtoのtypical，max，minにそれぞれ０，１３，−１３、Idsatのtypical，max，minにそれぞれ３０，１０，−１０という値が適用され、トランジスタ６６とウェル辺との距離が１μｍ以上２μｍ未満とすると、delvtoのtypical，max，minにそれぞれ０，２５，−２５、Idsatのtypical，max，minにそれぞれ３０，１５，−１５、トランジスタ６４とウェル辺との距離が２μｍ以上とすると、delvtoのtypical，max，minにそれぞれ０，２８，−２８、Idsatのtypical，max，minにそれぞれ３０，１８，−１８という値が適用される。
【００７４】
ウェルサイズに応じて、各素子の特性の最適なばらつき量が設定されるため、回路解析におけるばらつきの見積もり精度を向上させることが可能である。
【００７５】
＜ビア配線端距離依存ばらつき量＞
次に、ビア配線端距離に依存して異なるばらつき量を考慮して回路解析を行う例について説明する。
【００７６】
図４０は解析対象の回路に対応するレイアウト４０９の例である。レイアウト４０９は、図２８におけるレイアウト情報３３に格納されている。レイアウト４０９において、９１，９２はビア、９３，９４は配線である。９１〜９４のビア配線端距離に着目した場合、ビア９１は距離が小さく、ビア９２は距離が大きい。
【００７７】
図４１はビア配線端距離を考慮したレイアウトパターン依存特性情報３４ｂの例である。図２８におけるレイアウトパターン依存ばらつき条件生成手段３４ａにおいて、レイアウトパターン依存特性情報３４ｂに基づいてレイアウト情報３３より、対象とするビアのビア配線端距離の抽出を行い、レイアウト依存ばらつき条件情報３５にその情報が記載される。ばらつき量生成手段２９では、レイアウト依存ばらつき条件情報３５に記載されたばらつき量に基づいてばらつき情報３０を生成する。
【００７８】
すなわち、ビア９２配線９４のビア配線端距離が０.０１μｍ未満とすると、ビア９２の抵抗Ｒのtypical，max，minにそれぞれ３０，１０，−１０という値が適用され、ビア９１配線９３のビア配線端距離が０.０１μｍ以上とすると、ビア９１の抵抗Ｒのtypical，max，minにそれぞれ３０，１５，−１０という値が適用される。
【００７９】
ビア配線端距離に応じて、各ビアの特性の最適なばらつき量が設定されるため、回路解析におけるばらつきの見積もり精度を向上させることが可能である。
【００８０】
＜配線間距離依存ばらつき量＞
次に、配線間距離に依存して異なるばらつき量を考慮して回路解析を行う例について説明する。
【００８１】
図４２は解析対象の回路に対応するレイアウト４１０の例である。レイアウト４１０は、図２８におけるレイアウト情報３３に格納されている。レイアウト４１０において、９５〜９９は配線である。配線９５〜９９の配線間距離に着目した場合、配線９５〜９７は近接し、配線９８〜９９は離れて配置されている。
【００８２】
図４３は配線間距離を考慮したレイアウトパターン依存特性情報３４ｂの例である。図２８におけるレイアウトパターン依存ばらつき条件生成手段３４ａにおいて、レイアウトパターン依存特性情報３４ｂに基づいてレイアウト情報３３より、対象とする配線の配線間距離の抽出を行い、レイアウト依存ばらつき条件情報３５にその情報が記載される。ばらつき量生成手段２９では、レイアウト依存ばらつき条件情報３５に記載されたばらつき量に基づいてばらつき情報３０を生成する。
【００８３】
すなわち、配線９５〜９７の配線間距離が０.０１μｍ未満とすると、Ｒのdelvtoのtypical，max，minにそれぞれ３０，２５，−２５、Ｃのtypical，max，minにそれぞれ３０，１５，−１５という値が適用され、配線９８〜９９の配線間距離が０.０１μｍ以上とすると、Ｒのtypical，max，minにそれぞれ２０，１３，−１３、Ｃのtypical，max，minにそれぞれ３０，１０，−１０という値が適用される。
【００８４】
配線間距離に応じて、各配線の特性の最適なばらつき量が設定されるため、回路解析におけるばらつきの見積もり精度を向上させることが可能である。
【００８５】
＜レイアウト密度依存ばらつき量＞
次に、レイアウト密度に依存して異なるばらつき量を考慮して回路解析を行う例について説明する。集積回路のあるレイヤにおいて、パターンの密度に差があった場合、平坦化や光学効果の影響により、素子及び配線の物理的特性に影響を与える。
【００８６】
図４４は解析対象の回路に対応するレイアウト４０１の例である。レイアウト４０１はレイアウト情報３３に格納されている。レイアウト４０１において、トランジスタ４１〜４３のポリシリコン密度に着目した場合、トランジスタ４１および４２の方がトランジスタ４３より密度が高くなっている。
【００８７】
図４５はレイアウト依存ばらつき条件生成方法のフロー図である。
【００８８】
また図４６はレイアウト密度依存特性情報３４ｄの例である。レイアウト密度依存ばらつき条件生成手段３４ｃにおいて、レイアウト情報３３とレイアウト密度依存特性情報３４ｄを比較する。レイアウト密度の計算は、細かいパターンマッチングなどは不要であり、設計済みレイアウトがあれば、市販のＥＤＡツール等で比較的簡単に求めることが可能である。トランジスタ４１および４２の周囲のポリシリコン密度が高い（３０％〜４９％）と認識されるとレイアウト依存ばらつき条件情報３５にその情報が記載される。ばらつき量生成手段２９では、レイアウト依存ばらつき条件情報３５に記載されたばらつき量に基づいてばらつき量情報３０を生成する。すなわち、密度が低いトランジスタ４３に対してはdelvtoのtypical、max、minにそれぞれ０、１３、−１３、Idsatのtypical、max、minにそれぞれ５０、１０、−１０という値が適用され、トランジスタ４１および４２に対してはdelvtoのtypical、max、minにそれぞれ０、２４、−２４、Idsatのtypical、max、minにそれぞれ６０、１６、−１６という値が適用される。
【００８９】
レイアウト密度に応じて、各素子の特性の最適なばらつき量が設定されるため、回路解析におけるばらつきの見積もり精度を向上させることが可能である。
【００９０】
＜レイアウト距離依存ばらつき量＞
次に、レイアウト距離に依存して異なるばらつき量を考慮して回路解析を行う例について説明する。集積回路のばらつきの中で注入濃度や酸化膜厚など面内分布を示す特性項目などは、配置される素子および配線において、近くに配置された方がそのばらつき特性の相関が高くなる。したがって、素子や配線間の相対ばらつき特性は距離に依存する。
【００９１】
図４７は解析対象の回路に対応するレイアウトの例である。レイアウト４０３はレイアウト情報３３に格納されている。レイアウト４０３において、トランジスタ４７〜４９間の距離に着目した場合、トランジスタ４７と４８の間の距離は４.０であり、トランジスタ４８と４９との距離５.６より近くなっている。
【００９２】
図４８はレイアウト依存ばらつき条件生成方法のフロー図である。
【００９３】
また図４９はレイアウト距離依存特性情報３４ｈの例である。レイアウト距離依存ばらつき条件生成手段３４ｇにおいて、レイアウト情報３３とレイアウト距離依存特性情報３４ｈを比較する。レイアウト距離の計算は、各素子の座標から容易に求めることが可能である。トランジスタ４７および４８の距離が近い（０.０〜４.９）と認識されるとレイアウト依存ばらつき条件情報３５にその情報が記載される。ばらつき量生成手段２９では、レイアウト依存ばらつき条件情報３５に記載されたばらつき量に基づいてばらつき量情報３０を生成する。すなわち距離が近いトランジスタ４７と４８に対してはdelvtoのtypical、max、minにそれぞれ０、１３、−１３、という値が適用され、トランジスタ４７および４９に対してはdelvtoのtypical、max、minにそれぞれ０、２６、−２６という値が適用される。
【００９４】
レイアウト距離に応じて、各素子の特性の最適な相対ばらつき量が設定されるため、回路解析におけるばらつきの見積もり精度を向上させることが可能である。
【００９５】
＜レイアウト階層依存ばらつき量＞
次に、レイアウト階層に依存して異なるばらつき量を考慮して回路解析を行う例について説明する。レイアウト距離依存相対ばらつき量の計算において、回路とレイアウトで各素子の対応関係がとられていないなど、各素子のレイアウト座標の抽出が困難な場合、簡易に複数素子の相対ばらつきを計算したい場合など、各素子間の距離に応じてばらつき量を設定するよりも、ある程度の大きさのブロック（階層）ごとにばらつき量を設定する方が、計算が容易である。したがって、各素子の特性のばらつき量は、それらの属するブロック（階層）の大きさに依存すると考えることができる。
【００９６】
図４７は解析対象の回路に対応するレイアウトの例である。レイアウト４０３はレイアウト情報３３に格納されている。レイアウト４０３において、ブロック４０４の面積は０〜９９、レイアウト４０３の面積は１００〜２９９であるとする。このとき、トランジスタ４７および４８を含む階層４０４の面積は、トランジスタ４７と４８と４９とを含む階層４０３の面積より小さくなっている。
【００９７】
図５０はレイアウト依存ばらつき条件生成方法のフロー図である。
【００９８】
また図５１はレイアウト階層依存特性情報３４ｆの例である。レイアウト階層依存ばらつき条件生成手段３４ｅにおいて、レイアウト情報３３とレイアウト階層依存特性情報３４ｆを比較する。レイアウト階層の計算は、設計仕様などからあらかじめ決まっていることが多い。トランジスタ４７および４８の階層のブロック面積が小さい（０〜９９）と認識されるとレイアウト依存ばらつき条件情報３５にその情報が記載される。ばらつき量生成手段２９では、レイアウト依存ばらつき条件情報３５に記載されたばらつき量に基づいてばらつき量情報３０を生成する。すなわち、階層のブロック面積が小さいトランジスタ４７と４８に対してはdelvtoのtypical、max、minにそれぞれ０、１５、−１５、という値が適用され、トランジスタ４９に対してはdelvtoのtypical、max、minにそれぞれ０、１９、−１９という値が適用される。
【００９９】
レイアウト階層４０４を考慮せずに、レイアウト４０３の面積１００〜２９９を用いた場合、トランジスタ４７、４８、および４９すべてに対してdelvtoのtypical、max、minにそれぞれ０、１９、−１９という値が適用されるため、過剰マージンの設計をせざるを得なくなる。しかし本実施形態によれば、レイアウト階層に応じて、各素子の特性の最適な相対ばらつき量が設定されるため、回路解析におけるばらつきの見積もり精度を向上させることが可能である。
【０１００】
（第５の実施形態）
上述の各実施形態に適用することにより回路解析精度をさらに向上させることができる実施形態を以下に示す。
【０１０１】
＜チップウェハロット間ばらつき量＞
一般にチップ内よりもチップ間、ウェハ間、ロット間のばらつきが大きいことが知られている。これらをすべて含めたばらつきを考慮した解析を行い設計検証することが重要である。チップ内、チップ間、ウェハ間、ロット間のばらつき量を、それぞれ、Ａ，Ｂ，Ｃ，Ｄとすると、トータルのばらつき量はＡ＋Ｂ＋Ｃ＋Ｄで表すことができる。
【０１０２】
ばらつき条件生成手段２５において、同じチップ内のトランジスタには同じＢ，Ｃ，Ｄの値、同じウェハ内のトランジスタには同じＣ，Ｄの値、同じロット内のトランジスタには同じＤの値、となるように各トランジスタのばらつき条件を設定する。図５２は、ばらつき条件情報２６の例であり、一つのばらつき条件を表している。チップ内である素子Ｔｒ１およびＴｒ２についてＢ，Ｃ，Ｄのばらつき条件は、ともにmax，min，maxであり、すべて一致している。ばらつき量は図５３のプロセス特性情報より計算される。Ｔｒ１、Ｔｒ２のdelvtoのばらつき量はそれぞれ、（数式３）（数式４）で計算される。
【０１０３】
（数式３）１５＋３−５＋１０＝２３
（数式４）−１５＋３−５＋１０＝−７
この様にロット間、ウェハ間、チップ間、チップ内のばらつきを考慮して、回路解析を行うことができるため、より精度の高い解析が可能となる。
【０１０４】
＜プロセスコーナー＞
図５４は、プロセス特性情報２１であって、プロセス部門から提示されたすべてのばらつき特性を含んだプロセスコーナー条件を表している。
【０１０５】
図２５を、対象とするペアトランジスタの相対ばらつき量を示したプロセス特性情報２１とする。Mosn１のばらつき量は±１３である。ここで、（＋５０）−（＋１３）＝（＋３７）、（−５０）−（−１３）＝（−３７）、であるから、ペアトランジスタの相対ばらつき量を±３７シフトさせれば、最大にばらついたとき、プロセスコーナーと一致することになる。図５５は、補正を行ったプロセス特性情報２１の例である。図５５のプロセス特性情報に基づいて回路解析をそれぞれのコーナーで行うことにより、図５４のプロセス特性情報を用いて回路解析するよりも、より現実に近い精度の回路解析が可能となる。
【０１０６】
すなわち、チップ間、ウェハ間、ロット間などのすべてのばらつき量があきらかでない場合であってもプロセスコーナー条件さえ明確であれば、あるいは仮定できれば、プロセスコーナーとペアトランジスタの相対ばらつき量を考慮した回路解析が可能であり、回路解析精度を向上させることができる。
【０１０７】
（第７の実施形態）
第７の実施形態による回路解析方法は、上述の第４の実施形態の特徴を従来のモンテカルロシミュレーションに適用したことを特徴とするものである。第４の実施形態では、解析対象回路のレイアウトの特徴に依存して異なるばらつき量を考慮して回路解析を行う例について説明した。第７の実施形態による回路解析方法では、解析対象の回路を構成する要素の特性のうちばらつき幅を持つ特性に対して、そのばらつきの分布を解析対象回路のレイアウトの特徴を考慮して設定する。ここで考慮するレイアウトの特徴としては、第４の実施形態と同様、レイアウトパターン（素子、配線の形状パターン）、レイアウト密度（素子、配線の密度）、レイアウト距離（素子、配線の距離）、レイアウト階層（素子、配線の属する階層の大きさ）が挙げられる。そして、得られた分布を用いてモンテカルロシミュレーションを行う。なお、本実施形態による回路解析方法についても、上述の実施形態と同様、コンピュータプログラムとして、あるいは、当該プログラムを実行するコンピュータとして実現可能である。
【０１０８】
（第８の実施形態）
第８の実施形態による回路解析方法のフローを図５６に示す。本実施形態による回路解析方法は、図５６に示すフローをコンピュータに実行させるためのプログラムとして、あるいは、当該フローを実行する装置（たとえば上記プログラムを実行するコンピュータ）として実現される。
【０１０９】
＜パス選択＞
図５６の解析方法では、まず、遅延解析手段１２０２において、市販ＣＡＤツールなどを用いて、回路情報１２００を対象とした遅延解析を行い、遅延解析結果情報１２０３を出力する。図５７は、本実施形態の回路解析方法において解析の対象とする回路情報１２００の例である。図５８は遅延解析結果情報１２０３の例である。遅延解析結果情報１２０３においては、解析対象回路中の各パスPath１〜Path７の遅延値が記述されている。
【０１１０】
次に、パス選択手段１２０４において、遅延解析結果情報１２０３を考慮し、タイミングエラーの発生したパスあるいは発生の可能性の高いパスなどの判断基準から遅延ばらつき解析対象のパスを選択しパス選択情報１２０５として出力する。これは設計者が選択してもよいし、遅延値が一定の値以上のパスあるいはスラックの値が一定値以下のパスをすべて選択するなどの一定基準に基づいて自動的に選択してもよい。図５８の遅延解析結果において、パス選択の条件として「遅延値９０ps以上」と指定した場合、「Path３，Path５，Path６」が選択され、パス選択情報１２０５として出力される。図５９はパス選択情報１２０５の例である。
【０１１１】
本実施例では、静的遅延解析により解析対象のパスを選択する例を示したが、静的遅延解析を行わずに任意のパスを選択、あるいはすべてのパスを選択してもよい。パスを設計者が任意に選択する場合、本来解析対象とすべきパスに対して選択漏れが発生する可能性があるが、計算処理時間を削減することが可能である。一方、すべてのパスを選択する場合は、確実にすべてのパスを解析対象とすることができ、解析漏れを防ぐことができる。
【０１１２】
＜クロック経路によるパス遅延解析方法＞
＜クロック分岐点抽出＞
図５７における１１０２→１１２１→１１３１→１１２２→１１０１となるパスの遅延ばらつきを計算する方法について説明する。図６０は、パス遅延解析を対象とした、本発明の回路解析方法のフロー図である。
【０１１３】
パス選択情報１２０５において、解析対象のパスである１１０２→１１２１→１１３１→１１２２→１１０１が記述されている。クロック分岐点抽出手段１２１１において、対象とするパスの始点終点のフリップフロップ１１０２、１１０１に入るクロック１１４２、１１４１を抽出する。
【０１１４】
次に、１１４２、１１４１よりクロックツリーの経路探索を行い分岐点１１５１を抽出する。対象とするパスおよび始点のクロックに関する経路１１５１→１１１４→１１５２→１１１５→１１４２→１１０２→１１２１→１１３１→１１２２→１１０１をデータ系経路、パスの終点のクロックに関する経路１１５１→１１１２→１１１３→１１４１→１１０１をクロック系経路と呼ぶ。クロック系、データ系の経路はどちらも分岐点１１５１を始点とし、対象とするパスの終点のフリップフロップ１１０１を終点としている。
【０１１５】
＜素子特性情報＞
図６１〜図６９は、本実施形態の遅延解析方法に用いる素子特性情報１２０１の例である。
【０１１６】
各素子特性情報は、素子特性のばらつき幅を備えている。本実施形態の素子特性情報では、様々な条件に応じて異なるばらつき幅を定義可能とすることによって遅延ばらつき計算精度を向上させることができる。素子のばらつき幅に影響を与える条件としては、例えば以下の２つがある。
（１）レイアウト条件
素子配置周辺のレイアウトパターン、配線の接続形状、素子上通過配線、素子上Ｉ／Ｏパッド配置などレイアウト条件により、電気的、力学的影響を受けることによる素子特性の変動
（２）設計条件
電源電圧変動、基板ノイズ、カップリングノイズ等により電気的影響を受けることによる素子特性の変動
また、実際の素子のばらつき幅は変動しないが、ばらつき幅の定義変更によりばらつき幅が変動する条件としては、例えば以下の２つがある。
（３）統計的条件
実際のばらつき幅が指定したばらつき幅以内に収まる確率、ばらつき幅の標準偏差に対する比率、偏差値など統計的定義条件により、変動するばらつき幅
なお、本実施形態においては、ある素子の特性が平均値μ、標準偏差σのばらつきがあるとして、ばらつき幅をＸとした場合、Ｘ／σを標準偏差に対する比率と定義する。すなわち、μ＋σとなる特性値は、標準偏差に対する比率が１、μ＋３σとなる特性値は、標準偏差に対する比率が３となる。また、このとき、前記素子のばらつき幅がＸとなったときの特性値はμ＋Ｘとなる。一方、偏差値は、５０＋１０×（Ｘ／σ）と定義する。また、確率は、前記素子の特性値がμ＋Ｘ以下となる確率で定義する。すなわち、前記素子がＮ個あったとき、その特性値がμ＋Ｘ以下となる個数がＬ個、μ＋Ｘ以上となる個数がＭ個（Ｌ＋Ｍ＝Ｎ）としたとき、Ｌ／Ｎが確率となる。
（４）仮想条件
パス遅延の評価の際、回路の接続段数が多い場合や、不安定なプロセスの場合など、評価指標の特性に影響を与えるばらつき成分が多いと、それぞれのばらつきが互いに打ち消しあうため評価指標としてのばらつき幅が縮小される。この様なばらつき成分数に応じた見かけ上の変動
図６１は、標準偏差に対するばらつき幅の比率に応じた素子特性のばらつき幅を保持している例である。
【０１１７】
図６２は、偏差値に応じた素子特性のばらつき幅を保持している例である。
【０１１８】
図６３は、確率に応じた素子特性のばらつき幅を保持している例である。
【０１１９】
図６４は、配線接続形状により異なるばらつき幅を保持している例である。
【０１２０】
図６５は、素子上パッド配置の有無により異なるばらつき幅を保持している例である。
【０１２１】
図６６は、素子周辺形状との距離により異なるばらつき幅を保持している例である。
【０１２２】
図６７は、素子上通過配線数により異なるばらつき幅を保持している例である。
【０１２３】
図６８は、電源電圧変動により異なるばらつき幅を保持している例である。
【０１２４】
図６９は、回路の接続段数により異なるばらつき幅を保持している例である。
【０１２５】
なお、図６１〜図６９において素子特性は遅延の例を示したが出力電流波形等、別の特性でもよい。
【０１２６】
＜パス素子特性ばらつき抽出＞
次に、素子特性ばらつき抽出手段１２１３において、分岐点よりパスの終点までのクロック系、データ系それぞれの経路上の各素子の特性ばらつき幅を抽出する。クロック系、データ系の遅延ばらつき計算を行い、スラックのばらつき幅を計算する。
【０１２７】
ランダムばらつき成分は、素子ごとにランダムにばらつく成分であり、他の素子のばらつきとの相関係数は０となる成分である。共通ばらつき成分は、対象とする回路において一律にばらつく成分であり、他の素子のばらつきとの相関係数が１となる成分である。本実施例では、簡単のため、相関係数ρが０および１の場合を示すが、必要に応じて０＜ρ＜１の値をとる成分を追加してもよい。
【０１２８】
共通ばらつき成分の代わりに、ブロック内ばらつき成分、チップ内ばらつき成分、チップ間ばらつき成分、ウェハ内ばらつき成分、ロット内ばらつき成分、ロット間ばらつき成分を保持していてもよい。
【０１２９】
図６１は素子特性情報として、ばらつき幅がばらつきの標準偏差に対する比率に応じた遅延ばらつきを計算する例を示す。図６１に示す様に本実施形態では正側のばらつき幅と負側のばらつき幅を別に保持している。
【０１３０】
図６１によると、素子inv１、and１、nand１、FFのランダム成分の正側のばらつき幅は、それぞれ、＋２、＋３、＋２、＋７、ランダム成分の負側のばらつき幅は、それぞれ、−１、−２、−２、−６、共通成分の正側のばらつき幅は、それぞれ、＋５、＋７、＋６、＋１１、共通成分の負側のばらつき幅は、それぞれ、−６、−８、−７、−９、であることが記述されている。
【０１３１】
＜特性ばらつき解析＞
次にパス遅延ばらつき解析手段１２１５において、クロック系、データ系それぞれの経路の遅延ばらつきを解析し、対象とするパスのスラックのばらつきを得る。
【０１３２】
クロック系、データ系の遅延ばらつきの、スラックのばらつき幅の計算において、ランダム成分に関しては、クロック系は負側、データ系は正側にばらついた場合が最も厳しいばらつき条件であるが、共通成分に関してはクロック系データ系一律にばらつく成分であるため、すべて正側の場合とすべて負の場合の２通りを計算する。データ系の経路上の素子は、１１１４→１１１５→１１０２→１１２１→１１３１→１１２２、クロック系の経路上の素子は、１１１２→１１１３であり、それぞれ、図６１における素子inv１→inv１→FF→and１→nand１→and１、inv１→inv１に対応している。
【０１３３】
したがって、それぞれのばらつき成分は、図６１に記述された値より、
データ系正側ランダムばらつき成分：
+2+2+7+3+2+3 = +19
クロック系負側ランダムばらつき成分：
-1-1 = -2
データ系正側共通ばらつき成分：
+5+5+11+7+6+7 = +41
クロック系正側共通ばらつき成分：
+5+5 = +10
データ系負側共通ばらつき成分：
-6-6-8-9-7-8 = -44
クロック系負側共通ばらつき成分：
-6-6 = -12
となる。
共通ばらつき成分が正側にばらつく場合のスラックばらつきは、
(+10-2) - (+41+19) = -52
共通ばらつき成分が負側にばらつく場合のスラックばらつきは、
(-12-2) - (-44+19) = +11
となる。
【０１３４】
静的遅延解析によるスラック値が５０であったとすると、共通ばらつき成分を考慮した実際のスラック値は−２〜６１となり、共通ばらつき成分が最も正側にばらつくタイミングエラーとなることがわかる。
【０１３５】
また、データ系遅延代表値は、図６１より、
10+10+40+30+20+30 = 140
クロック系遅延値は、
10+10 = 20
と計算できるため、統計的遅延解析ツールを用いなくても、本実施形態によれば、遅延計算とばらつき幅の計算の両方を行うことが可能である。
【０１３６】
＜ばらつき成分数依存＞
次にばらつきの成分数に応じて素子特性ばらつき幅を変更する例について図７０のフロー図を参照しつつ説明する。
【０１３７】
ばらつき成分数抽出手段１２３１において、評価指標に影響を与える独立なばらつき成分数を抽出する。データ系経路１１１４→１１１５→１１０２→１１２１→１１３１→１１２２、クロック系経路１１１２→１１１３となるパスを解析対象のパスとし、ばらつき成分は各素子ばらつきとすると、前記パスの回路段数をばらつき成分数とすることができる。ばらつき成分数抽出手段１２３１において、データ系経路では６段、クロック系経路では２段と抽出され、ばらつき成分数抽出情報１２３２を得る。
【０１３８】
次に、ばらつき成分数依存素子特性ばらつき抽出手段１２３３において、ばらつき成分数に応じた素子特性ばらつきを抽出する。
【０１３９】
図６９によれば、回路段数に応じて異なるばらつき幅が記述されている。例えば回路段数が６段の場合は、素子inv１、and１、nand１、FFのランダム成分の正側のばらつき幅として、それぞれ、＋１、＋１、＋１、＋３、を抽出し、素子特性ばらつき情報１２１４を得る。
【０１４０】
素子特性ばらつき情報１２１４の値を用いて、パス遅延ばらつき計算手段１２１５においてデータ系、クロック系のランダムばらつき成分を計算すると、
データ系正側ランダムばらつき成分：
+0+0+3+1+1+1 = +6
クロック系負側ランダムばらつき成分：
-1-1 = -2
となる。
【０１４１】
一方、共通ばらつき成分に関しては回路段数に応じてばらつき成分は変化しないので先の計算結果と同じ値を用いると、
共通ばらつき成分が正側にばらつく場合のスラックばらつきは、
(+10-2) - (+41+6) = -39
共通ばらつき成分が負側にばらつく場合のスラックばらつきは、
(-12-2) - (-44+6) = +24
となる。
【０１４２】
上述の実施例と同様に、静的遅延解析によるスラック値が５０であったとすると、実際のスラック値は＋１１〜＋７４となり、共通ばらつき成分が最も正側にばらつく場合でもタイミングエラーは発生しないことがわかる。つまり、本実施形態のばらつき成分数抽出手段１２３１、ばらつき成分数依存素子特性ばらつき抽出手段１２３３、素子特性情報１２０１を用いることにより、回路解析精度を向上させ、実際には発生しなかったタイミングエラーを正しく判断することができる。
【０１４３】
また、９９.５％の歩留まりを確保したい場合、回路１段の場合３σのばらつき幅を保証すればよいことが一般に知られている。回路Ｎ段の場合３σ／（√Ｎ）のばらつき幅を回路１段のばらつき幅と近似できることを利用して、９９.５％の歩留まりを確保したい場合には、回路段数に応じて３σ／（√Ｎ）となるばらつき幅を用いればよい。
【０１４４】
＜ブロック遅延解析方法＞
次に、指定された回路上の任意の地点における遅延の計算を行う方法について説明する。ここでは図５７の回路において、論理素子１１３１における遅延のばらつきを計算する例を示す。
【０１４５】
図７１は、ブロック遅延解析を対象とした、本実施形態の回路解析方法のフロー図である。
【０１４６】
図７１において、論理素子１１３１、あるいは、論理ブロックを表す素子集合｛１１１７，１１２１，１１３１｝がブロック選択情報１２２５に記述されている。
【０１４７】
クロック分岐点抽出手段１２１１において、対象とするブロックの始点となるフリップフロップ１１０２、１１０３に入るクロック１１４２、１１４３を抽出する。
【０１４８】
次に、１１４２、１１４３よりクロックツリーの経路探索を行い分岐点１１５２を抽出する。対象とするブロックの部分パスおよび始点のクロックに関する経路１１５２→１１１５→１１４２→１１０２→１１２１→１１３１を経路１、対象とするブロックの部分パスおよび始点のクロックに関する経路１１５２→１１１６→１１４３→１１０３→１１１７→１１３１を経路２、と呼ぶ。経路１、経路２はどちらも分岐点１１５２を始点とし、回路解析の対象とする論理素子１１３１を終点としている。抽出された経路１、経路２はクロック分岐点抽出情報１２１２として出力される。
【０１４９】
＜ブロック素子特性ばらつき抽出＞
次に、素子特性ばらつき抽出手段１２１３において、分岐点１１５２より対象ブロックの終点までの経路１、経路２、それぞれの経路上の各素子の特性ばらつき幅を抽出する。
【０１５０】
図６１は素子特性情報として、ばらつき幅がばらつきの標準偏差の２.５倍となる条件の遅延ばらつきを計算する例を示す。
【０１５１】
図６１によると、素子inv１、and１、nand１、FFのランダム成分の正側のばらつき幅は、それぞれ、＋２、＋３、＋２、＋７、ランダム成分の負側のばらつき幅は、それぞれ、−１、−２、−２、−６、共通成分の正側のばらつき幅は、それぞれ、＋５、＋７、＋６、＋１１、共通成分の負側のばらつき幅は、それぞれ、−６、−８、−７、−９、であることが記述されている。
【０１５２】
＜ブロック特性ばらつき解析＞
次にブロック遅延ばらつき計算手段１２２６において、経路１、経路２それぞれの経路の遅延ばらつきを解析し、対象とするブロックの遅延ばらつきを得る。
【０１５３】
経路１、経路２の遅延ばらつき幅の計算において、経路１、経路２共に正側にばらついた場合が最も厳しいばらつき条件であるため、すべて正側にばらつく場合のみ計算すればよい。経路１上の素子は１１１５→１１０２→１１２１→１１３１、経路２上の素子は１１１６→１１０３→１１１７→１１３１であり、それぞれ、図６１における素子inv１→FF→and１→nand１、inv１→FF→inv１→nand１に対応している。
【０１５４】
したがって、それぞれのばらつき成分は、図６１に記述された値より、
経路１正側ランダムばらつき成分：
+2+7+3+2 = +14
経路２正側ランダムばらつき成分：
+2+7+2+2 = +13
経路１正側共通ばらつき成分：
+5+11+7+6 = +29
経路２正側共通ばらつき成分：
+5+11+5+6 = +27
となり、経路１の最大遅延ばらつき量は、
+14+29 = +43
経路２の最大遅延ばらつき量は、
+13+27 = +40
となる。
【０１５５】
また、経路１の遅延代表値は、図６１より、
10+40+30+20 = 100
経路２の遅延代表値は、
10+40+10+20 = 80
と計算される。
【０１５６】
したがって遅延解析結果は、
経路１：代表値100、最大ばらつき+29
経路２：代表値 80、最大ばらつき+27
となる。
【０１５７】
ただし、遅延代表値に関しては、クロックがFFに入る時点１１４２、１１４３を基準にすることも可能である。
【０１５８】
この場合、経路１の遅延代表値は、
40+30+20 = 90
経路２の遅延代表値は、
40+10+20 = 70
と計算される。
【０１５９】
その場合、遅延解析結果は、
経路１：代表値 90、最大ばらつき+29
経路２：代表値 70、最大ばらつき+27
となる。
【０１６０】
最後に、論理素子１１３１における経路１、経路２の二つの遅延ばらつきの重ね合わせを行う。ばらつき成分の最大値の重ね合わせ方法としては、例えば以下の２通りがある。
（１）たたみ込み積分等の統計的演算を用いる
（２）両者の遅延の最大値を用いる
統計的演算を用いる方が計算誤差は少なくなるが、計算処理時間を要する。両者の分布のMAX演算の結果の分布の最大値は、ほぼ両者の遅延の最大値になることに着目すれば、両者の遅延の最大値を用いることにより、わずかの誤差で高速に計算することが可能となる。
【０１６１】
＜（１）の場合＞
経路１、経路２の遅延ばらつきの確率密度関数をそれぞれ、F(x)、G(x)とすると、次式で計算することができる。
【０１６２】
∬ F(x) G(y-x) dx dy
＜（２）の場合＞
90+29=119 > 70+27=97であるので、遅延の最大値は119と計算される。
【産業上の利用可能性】
【０１６３】
本発明にかかる回路解析方法は、集積回路を構成する要素のばらつきが回路特性に与える影響を少ない処理時間で計算することができるので、変動量が増大する微細化プロセスの集積回路の特性検証に有用である。
【図面の簡単な説明】
【０１６４】
【図１】本発明の回路解析のフロー図
【図２】回路情報の例
【図３】配線のプロセス特性情報の例
【図４】インバータのプロセス特性情報の例
【図５】インバータのプロセス特性情報の別の例
【図６】ばらつき項目情報の例
【図７】ばらつき条件情報の例
【図８】本発明のばらつき条件生成手段のフロー図
【図９】本発明のばらつき条件生成手段のフロー図
【図１０】本発明のばらつき条件生成手段のフロー図
【図１１】評価指標に応じたばらつき項目情報の例
【図１２】評価指標に応じたばらつき条件情報の例
【図１３】ばらつき量情報の例
【図１４】回路情報の例
【図１５】プロセス特性情報の例
【図１６】本発明の回路解析のフロー図
【図１７】ばらつき項目情報２４の例
【図１８】階層的にグループ化を行ったばらつき項目情報２４の例
【図１９】全パターンを抽出した場合のばらつき条件情報２６の例
【図２０】指定を行ったばらつき条件情報２６の例
【図２１】本発明のばらつき項目グループ化手段のフロー図
【図２２】グループ化パターン情報３１ｃの例
【図２３】本発明のばらつき項目グループ化手段のフロー図
【図２４】本発明の回路解析のフロー図
【図２５】プロセス特性情報の例
【図２６】本発明の回路解析のフロー図
【図２７】解析対象の回路に対応するレイアウトの例
【図２８】レイアウト依存ばらつき条件生成方法のフロー図
【図２９】レイアウトパターン依存特性情報の例
【図３０】解析対象の回路に対応するレイアウトの例
【図３１】ゲート形状を考慮したレイアウト依存特性情報の例
【図３２】解析対象の回路に対応するレイアウトの例
【図３３】素子上通過配線数を考慮したレイアウト依存特性情報の例
【図３４】解析対象の回路に対応するレイアウトの例
【図３５】素子間距離を考慮したレイアウト依存特性情報の例
【図３６】解析対象の回路に対応するレイアウトの例
【図３７】トランジスタ拡散共有数を考慮したレイアウト依存特性情報の例
【図３８】解析対象の回路に対応するレイアウトの例
【図３９】ウェルサイズを考慮したレイアウト依存特性情報の例
【図４０】解析対象の回路に対応するレイアウトの例
【図４１】ビア配線端距離を考慮したレイアウト依存特性情報の例
【図４２】解析対象の回路に対応するレイアウトの例
【図４３】配線間距離を考慮したレイアウト依存特性情報の例
【図４４】解析対象の回路に対応するレイアウトの例
【図４５】レイアウト依存ばらつき条件生成方法のフロー図
【図４６】レイアウト密度依存特性情報の例
【図４７】解析対象の回路に対応するレイアウトの例
【図４８】レイアウト依存ばらつき条件生成方法のフロー図
【図４９】レイアウト距離依存特性情報の例
【図５０】レイアウト依存ばらつき条件生成方法のフロー図
【図５１】レイアウト階層依存特性情報の例
【図５２】ばらつき条件情報の例
【図５３】プロセス特性情報の例
【図５４】プロセス特性情報の例
【図５５】プロセス特性情報の例
【図５６】第８の実施形態による回路解析方法のフロー図
【図５７】回路情報の例
【図５８】遅延解析結果情報の例
【図５９】パス選択情報の例
【図６０】第８の実施形態による回路解析方法のフロー図
【図６１】素子特性情報の例
【図６２】素子特性情報の例
【図６３】素子特性情報の例
【図６４】素子特性情報の例
【図６５】素子特性情報の例
【図６６】素子特性情報の例
【図６７】素子特性情報の例
【図６８】素子特性情報の例
【図６９】素子特性情報の例
【図７０】第８の実施形態による回路解析方法のフロー図
【図７１】第８の実施形態による回路解析方法のフロー図
【符号の説明】
【０１６５】
１００、３００  解析対象の回路の例
４０１〜４０３  解析対象の回路に対応するレイアウトの例
４０４  レイアウト４０３の部分レイアウトの例
４０５〜４１０  解析対象の回路に対応するレイアウトの例
１Ｅ１、１Ｅ２、１Ｅ３  インバータ素子の例
１Ｅ４  マルチプレクサ素子の例
１Ｗ１、１Ｗ２、１Ｗ３、１Ｗ４  配線の例
３Ｅ１、３Ｅ２  ＰＭＯＳ素子の例
３Ｅ３、３Ｅ４  ＮＭＯＳ素子の例
３Ｅ５  容量素子の例
１０２、１０３  入力端子の例
１０４  出力端子の例
４１〜４９  トランジスタの例
２１  プロセス特性情報
２２  回路情報
２３  ばらつき項目生成手段
２４  ばらつき項目情報
２５  ばらつき条件生成手段
２５ａ  ばらつき条件指定情報
２５ｂ  ばらつき条件設定手段
２５ｃ  反復回数情報
２５ｄ  ばらつき条件ランダム生成手段
２５ｅ  ばらつき条件抽出手段
２６  ばらつき条件情報
２７  回路解析手段
２８  回路解析結果
２９  ばらつき量生成手段
３０  ばらつき量情報
３１  ばらつき項目グループ化手段
３１ａ  ばらつき項目グループ化指定情報
３１ｂ  ばらつき項目グループ化設定手段
３１ｃ  ばらつき項目グループ化パターン情報
３１ｄ  ばらつき項目グループ化抽出手段
３２    ばらつき項目グループ化情報
３３  レイアウト情報
３４  レイアウト依存ばらつき条件生成手段
３４ａ  レイアウトパターン依存ばらつき条件生成手段
３４ｂ  レイアウトパターン依存特性情報
３４ｃ  レイアウト密度依存ばらつき条件生成手段
３４ｄ  レイアウト密度依存特性情報
３４ｅ  レイアウト階層依存ばらつき条件生成手段
３４ｆ  レイアウト階層依存特性情報
３４ｇ  レイアウト距離依存ばらつき条件生成手段
３４ｈ  レイアウト距離依存特性情報
３５  レイアウト依存ばらつき条件情報
３６  回路依存ばらつき条件生成手段の例
３７  回路依存ばらつき条件情報の例
４１〜６６  トランジスタの例
７１〜７３  トランジスタ上配線の例
８１〜８３  ウェルの例
９１〜９２  ビアの例
９３〜９９  配線の例
３０１、３０２、３０３  ばらつき項目グループ化パターン情報の例
１１０１〜１１０３  解析対象の回路におけるフリップフロップ
１１１１〜１１１７  解析対象の回路におけるインバータ
１１２１〜１１２２  解析対象の回路におけるANDゲート
１１３１  解析対象の回路におけるNANDゲート
１１４１〜１１４３  解析対象の回路におけるフリップフロップのクロック
１１５１〜１１５２  解析対象の回路における分岐点
１２００  回路情報
１２０１  素子特性情報
１２０２  遅延解析手段
１２０３  遅延解析結果情報
１２０４  パス選択手段
１２０５  パス選択情報
１２０６  遅延ばらつき解析手段
１２０７  遅延ばらつき解析結果情報
１２１１  クロック分岐点抽出手段
１２１２  クロック分岐点抽出情報
１２１３  素子特性ばらつき抽出手段
１２１４  素子特性ばらつき情報
１２１５  パス遅延ばらつき計算手段
１２２５  ブロック選択情報
１２２６  ブロック遅延ばらつき計算手段
１２３１  ばらつき成分数抽出手段
１２３２  ばらつき成分数抽出情報
１２３３  ばらつき成分数依存素子特性ばらつき抽出手段
【図１】
2008140363.tif 000003
【図２】
2008140363.tif 000004
【図３】
2008140363.tif 000005
【図４】
2008140363.tif 000006
【図５】
2008140363.tif 000007
【図６】
2008140363.tif 000008
【図７】
2008140363.tif 000009
【図８】
2008140363.tif 000010
【図９】
2008140363.tif 000011
【図１０】
2008140363.tif 000012
【図１１】
2008140363.tif 000013
【図１２】
2008140363.tif 000014
【図１３】
2008140363.tif 000015
【図１４】
2008140363.tif 000016
【図１５】
2008140363.tif 000017
【図１６】
2008140363.tif 000018
【図１７】
2008140363.tif 000019
【図１８】
2008140363.tif 000020
【図１９】
2008140363.tif 000021
【図２０】
2008140363.tif 000022
【図２１】
2008140363.tif 000023
【図２２】
2008140363.tif 000024
【図２３】
2008140363.tif 000025
【図２４】
2008140363.tif 000026
【図２５】
2008140363.tif 000027
【図２６】
2008140363.tif 000028
【図２７】
2008140363.tif 000029
【図２８】
2008140363.tif 000030
【図２９】
2008140363.tif 000031
【図３０】
2008140363.tif 000032
【図３１】
2008140363.tif 000033
【図３２】
2008140363.tif 000034
【図３３】
2008140363.tif 000035
【図３４】
2008140363.tif 000036
【図３５】
2008140363.tif 000037
【図３６】
2008140363.tif 000038
【図３７】
2008140363.tif 000039
【図３８】
2008140363.tif 000040
【図３９】
2008140363.tif 000041
【図４０】
2008140363.tif 000042
【図４１】
2008140363.tif 000043
【図４２】
2008140363.tif 000044
【図４３】
2008140363.tif 000045
【図４４】
2008140363.tif 000046
【図４５】
2008140363.tif 000047
【図４６】
2008140363.tif 000048
【図４７】
2008140363.tif 000049
【図４８】
2008140363.tif 000050
【図４９】
2008140363.tif 000051
【図５０】
2008140363.tif 000052
【図５１】
2008140363.tif 000053
【図５２】
2008140363.tif 000054
【図５３】
2008140363.tif 000055
【図５４】
2008140363.tif 000056
【図５５】
2008140363.tif 000057
【図５６】
2008140363.tif 000058
【図５７】
2008140363.tif 000059
【図５８】
2008140363.tif 000060
【図５９】
2008140363.tif 000061
【図６０】
2008140363.tif 000062
【図６１】
2008140363.tif 000063
【図６２】
2008140363.tif 000064
【図６３】
2008140363.tif 000065
【図６４】
2008140363.tif 000066
【図６５】
2008140363.tif 000067
【図６６】
2008140363.tif 000068
【図６７】
2008140363.tif 000069
【図６８】
2008140363.tif 000070
【図６９】
2008140363.tif 000071
【図７０】
2008140363.tif 000072
【図７１】
2008140363.tif 000073