(57)【特許請求の範囲】
【請求項１】
統計的ＳＴＡ用のセル遅延ライブラリの作成方法であって、
（Ａ）セルを構成するトランジスタのモデルパラメータに依存するセル遅延値を与える第１遅延モデルを提供するステップと、
ここで、前記第１遅延モデルは、前記モデルパラメータのばらつきの一次線形関数で表され、前記第１遅延モデルの定数項は第１定数項であり、前記ばらつきの係数は第１感度係数であり、
（Ｂ）前記モデルパラメータの複数のシミュレーション点を用いて回路シミュレーションを行い、前記複数のシミュレーション点のそれぞれに対応する複数のセル遅延値を算出するステップと、
（Ｃ）前記複数のセル遅延値と前記第１遅延モデルとのモーメントマッチングにより、前記第１定数項及び前記第１感度係数を決定するステップと、
（Ｄ）少なくとも前記決定された第１感度係数を提供するセル遅延ライブラリを作成するステップと
を含む
セル遅延ライブラリの作成方法。
【請求項２】
請求項１に記載のセル遅延ライブラリの作成方法であって、
前記（Ｃ）ステップは、
（Ｃ１）前記複数のシミュレーション点及び前記複数のセル遅延値を用いることにより、セル遅延値を前記ばらつきの関数として与える近似式を最小自乗法で決定するステップと、
（Ｃ２）前記近似式と前記モデルパラメータの確率分布情報から得られるセル遅延値の分布の平均値及び分散を、第１平均値及び第１分散としてそれぞれ算出するステップと、
（Ｃ３）前記第１遅延モデルと前記確率分布情報から得られるセル遅延値の分布の平均値及び分散を、第２平均値及び第２分散としてそれぞれ算出するステップと、
（Ｃ４）前記第２平均値が前記第１平均値と一致する条件で、前記第１定数項を決定するステップと、
（Ｃ５）少なくとも前記第２分散が前記第１分散と一致する条件で、前記第１感度係数を決定するステップと
を含む
セル遅延ライブラリの作成方法。
【請求項３】
請求項２に記載のセル遅延ライブラリの作成方法であって、
前記（Ｃ５）ステップにおいて、更に前記複数のシミュレーション点と前記第１遅延モデルから算出されるセル遅延値と、前記（Ｂ）ステップで算出された前記複数のセル遅延値との誤差が最小となる条件で、前記第１感度係数が決定される
セル遅延ライブラリの作成方法。
【請求項４】
請求項２又は３に記載のセル遅延ライブラリの作成方法であって、
前記近似式は、高次多項式である
セル遅延ライブラリの作成方法。
【請求項５】
請求項４に記載のセル遅延ライブラリの作成方法であって、
前記複数のシミュレーション点は、複数種類のモデルパラメータが同時にノミナル値からずれている点を含み、
前記高次多項式は、前記複数種類のモデルパラメータ同士の積に比例する成分を含む
セル遅延ライブラリの作成方法。
【請求項６】
請求項１乃至５のいずれか一項に記載のセル遅延ライブラリの作成方法であって、
セル遅延値は、前記モデルパラメータのランダムばらつき及びチップ間ばらつきに依存し、
前記第１遅延モデルは、前記ランダムばらつきに関する遅延モデルである
セル遅延ライブラリの作成方法。
【請求項７】
請求項６に記載のセル遅延ライブラリの作成方法であって、
更に、
（Ｘ）前記チップ間ばらつきに関する第２遅延モデルを提供するステップと、
ここで、前記第２遅延モデルは、前記モデルパラメータのチップ間ばらつきの一次線形関数で表され、前記第２遅延モデルの定数項は第２定数項であり、前記チップ間ばらつきの係数は第２感度係数であり、
（Ｙ）前記複数のシミュレーション点及び前記第２遅延モデルから算出されるセル遅延値と、前記（Ｂ）ステップで算出された前記複数のセル遅延値との誤差が最小となるように、前記第２感度係数及び前記第２定数項を決定するステップと
を含み、
前記セル遅延ライブラリは、少なくとも前記決定された第１感度係数及び第２感度係数を提供する
セル遅延ライブラリの作成方法。
【請求項８】
請求項７に記載のセル遅延ライブラリの作成方法であって、
更に、
（Ｚ）前記決定された第１定数項及び第２定数項に基づいて、セル遅延値を与える遅延モデルの定数項を決定するステップ
を含み、
前記セル遅延ライブラリは、前記決定された定数項、前記第１感度係数及び前記第２感度係数を提供する
セル遅延ライブラリの作成方法。
【請求項９】
請求項８に記載のセル遅延ライブラリの作成方法であって、
前記定数項は、前記第１定数項、前記第２定数項、前記第１定数項と前記第２定数項の加重平均のうちいずれかである
セル遅延ライブラリの作成方法。
【請求項１０】
セル遅延ライブラリを用いて統計的ＳＴＡを実施する遅延解析方法であって、
前記セル遅延ライブラリは、
定数と、
第１感度係数と、
前記第１感度係数と異なる第２感度係数と
を含み、
セル遅延値は、セルを構成するトランジスタのモデルパラメータのランダムばらつき及びチップ間ばらつきの一次線形関数で表され、
前記一次線形関数は、前記定数を定数項として有し、前記ランダムばらつき及び前記チップ間ばらつきを変数として含み、
同じモデルパラメータに関する前記ランダムばらつき及び前記チップ間ばらつきの係数が、それぞれ前記第１感度係数及び前記第２感度係数である
遅延解析方法。
【請求項１１】
（ａ）半導体集積回路を設計するステップと、
（ｂ）セル遅延ライブラリを用いて統計的ＳＴＡを実施し、前記設計された半導体集積回路の遅延検証を行うステップと、
（ｃ）前記遅延検証の結果がパスとなった後に、前記半導体集積回路を製造するステップと
を含み、
前記セル遅延ライブラリは、
定数と、
第１感度係数と、
前記第１感度係数と異なる第２感度係数と
を含み、
セル遅延値は、セルを構成するトランジスタのモデルパラメータのランダムばらつき及びチップ間ばらつきの一次線形関数で表され、
前記一次線形関数は、前記定数を定数項として有し、前記ランダムばらつき及び前記チップ間ばらつきを変数として含み、
同じモデルパラメータに関する前記ランダムばらつき及び前記チップ間ばらつきの係数が、それぞれ前記第１感度係数及び前記第２感度係数である
半導体集積回路の製造方法。
【請求項１２】
セル遅延ライブラリをコンピュータにより作成する際に、前記コンピュータによって実行されるプログラムであって、
作成される前記セル遅延ライブラリは、
定数と、
第１感度係数と、
前記第１感度係数と異なる第２感度係数と
を含み、
セル遅延値は、セルを構成するトランジスタのモデルパラメータのランダムばらつき及びチップ間ばらつきの一次線形関数で表され、
前記一次線形関数は、前記定数を定数項として有し、前記ランダムばらつき及び前記チップ間ばらつきを変数として含み、
同じモデルパラメータに関する前記ランダムばらつき及び前記チップ間ばらつきの係数が、それぞれ前記第１感度係数及び前記第２感度係数である
プログラム。
【請求項１３】
セル遅延ライブラリを利用して統計的ＳＴＡをコンピュータにより実行する際に、前記コンピュータによって実行されるプログラムであって、
前記セル遅延ライブラリは、
定数と、
第１感度係数と、
前記第１感度係数と異なる第２感度係数と
を含み、
セル遅延値は、セルを構成するトランジスタのモデルパラメータのランダムばらつき及びチップ間ばらつきの一次線形関数で表され、
前記一次線形関数は、前記定数を定数項として有し、前記ランダムばらつき及び前記チップ間ばらつきを変数として含み、
同じモデルパラメータに関する前記ランダムばらつき及び前記チップ間ばらつきの係数が、それぞれ前記第１感度係数及び前記第２感度係数である
プログラム。
【請求項１４】
請求項１２又は１３に記載のプログラムが記録された、前記コンピュータが読み取り可能な記録媒体。
【請求項１５】
プロセッサと、
記憶装置と
を備え、
前記プロセッサは第１のプログラムを実行し、セル遅延ライブラリを作成し、
前記セル遅延ライブラリは、
定数と、
第１感度係数と、
前記第１感度係数と異なる第２感度係数と
を含み、
セル遅延値は、セルを構成するトランジスタのモデルパラメータのランダムばらつき及びチップ間ばらつきの一次線形関数で表され、
前記一次線形関数は、前記定数を定数項として有し、前記ランダムばらつき及び前記チップ間ばらつきを変数として含み、
同じモデルパラメータに関する前記ランダムばらつき及び前記チップ間ばらつきの係数が、それぞれ前記第１感度係数及び前記第２感度係数である
コンピュータシステム。
【請求項１６】
プロセッサと、
記憶装置と
を備え、
前記プロセッサは、前記記憶装置からセル遅延ライブラリを読み出し、読み出した前記セル遅延ライブラリをもとに第１のプログラムを実行して、統計的ＳＴＡを実行し、
前記セル遅延ライブラリは、
定数と、
第１感度係数と、
前記第１感度係数と異なる第２感度係数と
を含み、
セル遅延値は、セルを構成するトランジスタのモデルパラメータのランダムばらつき及びチップ間ばらつきの一次線形関数で表され、
前記一次線形関数は、前記定数を定数項として有し、前記ランダムばらつき及び前記チップ間ばらつきを変数として含み、
同じモデルパラメータに関する前記ランダムばらつき及び前記チップ間ばらつきの係数が、それぞれ前記第１感度係数及び前記第２感度係数である
コンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の設計における統計的ＳＴＡに関する。特に、本発明は、統計的ＳＴＡで用いられるセル遅延ライブラリ、その作成方法、それを用いた遅延解析方法、及びそれを用いた半導体集積回路の設計・製造方法に関する。
【背景技術】
【０００２】
近年、ＬＳＩの微細化・大規模化に伴い、製造ばらつき（プロセスばらつき）が増大している。素子の製造ばらつきは遅延値のばらつきを招き、それは歩留まり等に大きな影響を与える。従って、設計段階において製造ばらつきをあらかじめ考慮して、遅延値の見積もりや解析を行うことが重要である。そのような遅延解析技術として、一般に静的タイミング解析（ＳＴＡ：Static Timing Analysis）が知られている。その中でも、製造ばらつきを統計的に考慮することにより解析精度を高めたＳＴＡが、「統計的ＳＴＡ（Statistical Static Timing Analysis）」である（特許文献１、特許文献２、特許文献３、非特許文献１参照）。
【０００３】
統計的ＳＴＡでは、素子の製造ばらつきに応じた遅延値の変動が見積もられる。例えば、ある論理セルの遅延値Ｄは、当該論理セルを構成するトランジスタのモデルパラメータ（ゲート長、ゲート幅、移動度等）のばらつきに依存して変動する。あるモデルパラメータＸのノミナル値（設計値）はＸｎｏｍであり、ノミナル値Ｘｎｏｍからのばらつきは確率変数Ｘｖａｒで与えられるとする（Ｘ＝Ｘｎｏｍ＋Ｘｖａｒ）。他のモデルパラメータに関しても、ノミナル値や確率変数が定義される。このとき、当該セルの遅延値Ｄは、近似的に、次の式（１）で表されるような各ばらつき変数の一次線形関数で与えられる。
【０００４】
式（１）：
Ｄ＝Ｄ０＋α・Ｘｖａｒ＋・・・
【０００５】
式（１）において、Ｄ０は定数項であり、典型的には全てのモデルパラメータがノミナル値である場合のセル遅延値（ノミナル遅延値Ｄｎｏｍ）である。α・Ｘｖａｒは、モデルパラメータＸがノミナル値ＸｎｏｍからＸｖａｒだけ変動した場合のセル遅延値の変動量である。つまり、モデルパラメータＸのばらつきＸｖａｒに応答して、セル遅延値Ｄはα・Ｘｖａｒだけ変動する。αは「感度係数」と呼ばれている。他のモデルパラメータのばらつきに関しても同様である。
【０００６】
図１は、上記式（１）で表される一次線形関数を概念的に示している。ここでは簡単のため、１つのモデルパラメータＸだけを考える。図１において、横軸はばらつきＸｖａｒ（あるいはモデルパラメータＸ）を示し、縦軸はセル遅延値Ｄを示している。図１中の点Ｐ１は、ノミナル条件を示すノミナル点であり、点Ｐ２は、あるばらつき条件を示すばらつき点である。これらノミナル点Ｐ１とばらつき点Ｐ２を結ぶ直線が、上記式（１）で与えられる一次線形関数を示している。また、その直線の傾きが感度係数αである。
【０００７】
図１を参照して、感度係数αの決定方法を説明する。まず、ＳＰＩＣＥシミュレーションを通して当該セルのノミナル遅延値Ｄｎｏｍが算出される。このとき、全てのモデルパラメータはノミナル値に設定される。次に、モデルパラメータＸがノミナル値Ｘｎｏｍから所定の変動量ΔＸだけ変動した場合のセル遅延値Ｄ（Ｘｎｏｍ＋ΔＸ）が、ＳＰＩＣＥシミュレーションを通して算出される。このとき、モデルパラメータＸはＸｎｏｍ＋ΔＸに設定され、他のモデルパラメータはノミナル値に設定される。そして、ノミナル遅延値Ｄｎｏｍ、セル遅延値Ｄ（Ｘｎｏｍ＋ΔＸ）及び変動量ΔＸを用いることにより、感度係数αが次の式（２）により算出される。
【０００８】
式（２）：
α＝（Ｄ（Ｘｎｏｍ＋ΔＸ）−Ｄｎｏｍ）／ΔＸ
【０００９】
このように、感度係数αは、直線近似により、単純にノミナル点Ｐ１とばらつき点Ｐ２を結ぶ直線の傾きとして決定される。他のモデルパラメータに関する感度係数も同様に決定される。全ての感度係数が決まると、上記式（１）の一次線形関数が定まる。この一次線形関数は、以下「遅延モデル」と参照される。但し、遅延モデルはあくまで近似的である。実際のセル遅延値Ｄはばらつきに対して、例えば図１中の破曲線で示されるように応答する。遅延モデルは、実際の応答に対する単純な直線近似により得られている。
【００１０】
あるセルの遅延モデルを決定する処理は、「キャラクタライズ」と呼ばれている。セルのキャラクタライズの結果得られた遅延モデルは、統計的ＳＴＡで利用するためにライブラリとして提供される。より詳細には、各セルに関してノミナル遅延値Ｄｎｏｍ及び感度係数（α等）がライブラリとして提供される。そのようなライブラリは、以下「セル遅延ライブラリ」と参照される。統計的ＳＴＡでは、このセル遅延ライブラリを用いることによって、製造ばらつきを統計的に考慮した遅延解析が実施される。
【００１１】
【特許文献１】特開２００４−２５２８３１号公報
【特許文献２】特開２００７−１８３９３２号公報
【特許文献３】特開２００７−２３３５５０号公報
【非特許文献１】統計的遅延解析技術（Statistical Static Timing Analysis Technology），ＦＵＪＩＴＳＵ．５８，３，ｐ．２６７−２７３（０５，２００７）
【発明の開示】
【発明が解決しようとする課題】
【００１２】
従来のセル遅延ライブラリにおいて、遅延モデルの精度は必ずしも十分ではなかった。その理由としては、主に次の２つが挙げられる。
【００１３】
第１の理由は、例えば図１で示されたように、感度係数が単純にノミナル点Ｐ１とばらつき点Ｐ２を結ぶ直線の傾きとして算出されていることである。このような算出方法では、統計的な観点が欠如しており、統計量に誤差が発生する。つまり、遅延モデルが実際の応答を十分な精度で再現しているとは言えない。
【００１４】
第２の理由は、感度係数の算出にあたり、素子の製造ばらつきの種類が考慮されていないことである。素子の製造ばらつきは、位置やパターンなどに関係なく発生する「ランダムばらつき」と、チップの平均値のばらつき、つまりチップ間のばらつきである「Ｄ２Ｄ（Die-to-Die）ばらつき」におおまかに分けられる。Ｄ２Ｄばらつきはチップ内では定数であり、ランダムばらつきはチップ内で確率変数として振る舞う。Ｄ２Ｄばらつきはチップ内では定数であるため、直列のセルではその効果は代数的な和として現れる。一方、ランダムばらつきはチップ内で確率変数となるため、その効果は統計的な和、つまり分散の和として現れる。このように、ランダムばらつきとＤ２Ｄばらつきは特性が異なるため、それらを一緒に扱うことは好ましくない。ところが従来のキャラクタライズでは、ランダムばらつきとＤ２Ｄばらつきの区別なく感度係数が算出されていた。そして、従来のセル遅延ライブラリにおいては、ランダムばらつきに対する感度係数とＤ２Ｄばらつきに対する感度係数に、同じ値が用いられていた。従って、遅延モデルが実際の応答を十分に再現しているとは言えない。
【００１５】
このように、従来のセル遅延ライブラリが提供する遅延モデルの精度は十分ではない。従って、その遅延モデルを用いる統計的ＳＴＡの解析精度も十分でなくなる。セル遅延ライブラリが提供する遅延モデルの精度をより高めることが望まれる。
【課題を解決するための手段】
【００１６】
本発明の第１の観点において、統計的ＳＴＡ用のセル遅延ライブラリの作成方法が提供される。その作成方法は、（Ａ）セルを構成するトランジスタのモデルパラメータに依存するセル遅延値を与える遅延モデルを提供するステップを含む。ここで、遅延モデルは、モデルパラメータのばらつきの一次線形関数で表され、ばらつきの係数は感度係数である。更に、作成方法は、（Ｂ）モデルパラメータの複数のシミュレーション点を用いて回路シミュレーションを行い、複数のシミュレーション点のそれぞれに対応する複数のセル遅延値を算出するステップと、（Ｃ）複数のセル遅延値と遅延モデルとのモーメントマッチングにより、遅延モデルの定数項及び感度係数を決定するステップと、（Ｄ）決定された感度係数を少なくとも提供するセル遅延ライブラリを作成するステップと、を含む。
【００１７】
本発明の第２の観点において、統計的ＳＴＡ用のセル遅延ライブラリが提供される。セル遅延ライブラリは、定数と、第１感度係数と、第１感度係数と異なる第２感度係数と、を含む。セル遅延値は、セルを構成するトランジスタのモデルパラメータのランダムばらつき及びチップ間ばらつきの一次線形関数で表される。その一次線形関数は、上記定数を定数項として有し、ランダムばらつき及びチップ間ばらつきを変数として含む。同じモデルパラメータに関するランダムばらつき及びチップ間ばらつきの係数が、それぞれ第１感度係数及び第２感度係数である。
【００１８】
本発明の第３の観点において、上記セル遅延ライブラリを用いて統計的ＳＴＡを実施する遅延解析方法が提供される。
【００１９】
本発明の第４の観点において、半導体集積回路の製造方法が提供される。その製造方法は、（ａ）半導体集積回路を設計するステップと、（ｂ）上記セル遅延ライブラリを用いて統計的ＳＴＡを実施し、設計された半導体集積回路の遅延検証を行うステップと、（ｃ）遅延検証の結果がパスとなった後に、半導体集積回路を製造するステップと、を含む。
【発明の効果】
【００２０】
本発明によれば、セル遅延ライブラリが提供する遅延モデル（感度係数）の精度が向上する。従って、そのセル遅延ライブラリを用いる統計的ＳＴＡの解析精度も向上する。結果として、製造される半導体集積回路の歩留まりも向上する。
【発明を実施するための最良の形態】
【００２１】
添付図面を参照して、本発明の実施の形態に係る統計的ＳＴＡ用のセル遅延ライブラリ、その作成方法、及びそれを用いた半導体集積回路の設計・製造方法を説明する。
【００２２】
１．製造ばらつきとセル遅延値
素子の製造ばらつきは大まかに、図２に示される「ランダムばらつき」と「Ｄ２Ｄ（Die-to-Die）ばらつき」の２つに分けられる。ランダムばらつきは、１つのチップの中で位置やパターンなどに関係なく発生するばらつきである。ランダムばらつきとして、例えば、不純物濃度のばらつきに起因する閾値電圧のばらつきが挙げられる。一方、Ｄ２Ｄばらつきはチップ間のばらつきであり、あるチップでの平均値と他のチップでの平均値の差として定義される。Ｄ２Ｄばらつきは、あるウエハの面内でプロセス特性の変化の傾向があることや、異なるウエハ間ではプロセス特性に若干差があることから生じる。ランダムばらつきはチップ内で確率変数として振る舞い、一方、Ｄ２Ｄばらつきはチップ内では定数である。Ｄ２Ｄばらつきはチップ内では定数であるため、直列のセルではその効果は代数的な和として現れる。一方、ランダムばらつきはチップ内で確率変数となるため、その効果は統計的な和、つまり分散の和として現れる。このように、ランダムばらつきとＤ２Ｄばらつきは特性が異なっている。
【００２３】
ある論理セルの遅延値Ｄは、当該論理セルを構成するトランジスタのモデルパラメータ（ゲート長、ゲート幅、移動度等）のばらつきに依存して変動する。以下、２種類のモデルパラメータＸ，Ｙを例に挙げて説明する。モデルパラメータの種類が増えても同じ議論が適用される。ランダムばらつきとＤ２Ｄばらつきを別々に考慮すると、モデルパラメータＸ，Ｙは、次の式（３）のように表される。
【００２４】
式（３）：
Ｘ＝Ｘｎｏｍ＋ＸＲＡＮＤ＋ＸＤ２Ｄ
Ｙ＝Ｙｎｏｍ＋ＹＲＡＮＤ＋ＹＤ２Ｄ
【００２５】
Ｘｎｏｍは、モデルパラメータＸのノミナル値（設計値）である。ＸＲＡＮＤは、モデルパラメータＸのノミナル値Ｘｎｏｍからのランダムばらつきを示す確率変数である。ＸＤ２Ｄは、モデルパラメータＸのノミナル値ＸｎｏｍからのＤ２Ｄばらつきを示す確率変数である。Ｙｎｏｍは、モデルパラメータＹのノミナル値（設計値）である。ＹＲＡＮＤは、モデルパラメータＹのノミナル値Ｙｎｏｍからのランダムばらつきを示す確率変数である。ＹＤ２Ｄは、モデルパラメータＹのノミナル値ＹｎｏｍからのＤ２Ｄばらつきを示す確率変数である。このとき、当該セルの遅延値Ｄは、近似的に、次の式（４）で表されるような各ばらつき変数の一次線形関数で表される。
【００２６】
式（４）：
Ｄ＝Ｄ０＋ＤＲＡＮＤ＋ＤＤ２Ｄ
ＤＲＡＮＤ＝αＸ・ＸＲＡＮＤ＋αＹ・ＹＲＡＮＤ
ＤＤ２Ｄ＝βＸ・ＸＤ２Ｄ＋βＹ・ＹＤ２Ｄ
【００２７】
式（４）において、Ｄ０は一次線形関数の定数項である。ＤＲＡＮＤは、ランダムばらつきＸＲＡＮＤ、ＹＲＡＮＤに起因するセル遅延値Ｄの変動である。αＸは、モデルパラメータＸのランダムばらつきＸＲＡＮＤに対する感度係数であり、αＹは、モデルパラメータＹのランダムばらつきＹＲＡＮＤに対する感度係数である。ランダムばらつきに関する感度係数αＸ、αＹは、まとめて「感度係数α」と参照される場合がある。遅延変動ＤＲＡＮＤは、ランダムばらつきＸＲＡＮＤ、ＹＲＡＮＤの一次線形結合で与えられる。一方、ＤＤ２Ｄは、Ｄ２ＤばらつきＸＤ２Ｄ、ＹＤ２Ｄに起因するセル遅延値Ｄの変動である。βＸは、モデルパラメータＸのＤ２ＤばらつきＸＤ２Ｄに対する感度係数であり、βＹは、モデルパラメータＹのＤ２ＤばらつきＹＤ２Ｄに対する感度係数である。Ｄ２Ｄばらつきに関する感度係数βＸ、βＹは、まとめて「感度係数β」と参照される場合がある。遅延変動ＤＤ２Ｄは、Ｄ２ＤばらつきＸＤ２Ｄ、ＹＤ２Ｄの一次線形結合で与えられる。
【００２８】
式（４）に示されるように、セル遅延値Ｄは、モデルパラメータ（Ｘ，Ｙ）のばらつき（ＸＲＡＮＤ、ＸＤ２Ｄ、ＹＲＡＮＤ、ＹＤ２Ｄ）の一次線形関数として与えられる。式（４）で表される一次線形関数が、当該セルに関する「遅延モデル」である。当該セルのキャラクタライズにおいては、適切な感度係数α、β及び定数項Ｄ０が決定され、それにより遅延モデルが決定される。
【００２９】
２．セルのキャラクタライズ
図３は、本実施の形態に係るキャラクタライズの処理フローを概念的に示している。キャラクタライズにおいては、各種情報を用いることにより、遅延モデルの定数項Ｄ０や感度係数α、βが算出される。その結果、定数項Ｄ０や感度係数α、βを提供するセル遅延ライブラリＤＬＩＢが作成される。
【００３０】
ランダムばらつきとＤ２Ｄばらつきは特性が異なるため、それらを一緒に扱うことは好ましくない。よって、本実施の形態のキャラクタライズでは、ランダムばらつきとＤ２Ｄばらつきが区別して扱われる。そのため、ランダムばらつきに対する感度係数αとＤ２Ｄばらつきに対する感度係数βは、それぞれ別の手法で算出される。以下、図３を参照し、本実施の形態におけるキャラクタライズ手法を詳しく説明する。
【００３１】
２−１．ステップＳ１０
まず、キャラクタライズ処理に必要な各種情報が提供される。その情報とは、セル情報１、モデルパラメータ情報２、シミュレーション点情報３、遅延モデル情報４等である。
【００３２】
（セル情報１）
セル情報１は、ＳＰＩＣＥシミュレーションに必要なセルに関する情報を与える。例えば、セル情報１は、セルの回路構成を示すセルネットリスト（ＳＰＩＣＥネットリスト）を含む。また、セル情報１は、負荷容量（Ｃｌｏａｄ）やスルーレート（Ｓｌｅｗ）のテーブルを含んでいてもよい。これらセル情報１は、通常のキャラクタライズで用いられる一般的な情報である。
【００３３】
（モデルパラメータ情報２）
モデルパラメータ情報２は、セルに含まれるトランジスタのモデルパラメータ（ゲート長、ゲート幅、移動度等）に関する情報を与える。モデルパラメータ情報２は、各モデルパラメータのノミナル値（Ｘｎｏｍ，Ｙｎｏｍ等）を含む。また、モデルパラメータ情報２は、ばらつきを考慮するモデルパラメータＸ，Ｙに関する確率分布情報（ばらつき情報）を含む。
【００３４】
例えば図４は、モデルパラメータＸのランダムばらつきＸＲＡＮＤの確率分布ｆ（ＸＲＡＮＤ）を概念的に示している。図４に示されるように、ランダムばらつきＸＲＡＮＤはある分布を有している。典型的には、その確率分布ｆ（ＸＲＡＮＤ）は、平均値０、標準偏差σＸＲＡＮＤの正規分布Ｎ（０，σＸＲＡＮＤ）で与えられる。その場合、確率分布情報としては、平均値０及び標準偏差σＸＲＡＮＤが与えられる。Ｄ２ＤばらつきＸＤ２Ｄに関しても同様に、平均値０及び標準偏差σＸＤ２Ｄが与えられる。他のモデルパラメータＹに関しても同様に、平均値０及び標準偏差σＹＲＡＮＤ、σＹＤ２Ｄが与えられる。このような確率分布情報は、実測や仕様に基づいて決定される。
【００３５】
（シミュレーション点情報３）
シミュレーション点情報３は、モデルパラメータＸ、Ｙに関してノミナル値Ｘｎｏｍ、Ｙｎｏｍからずれた複数のシミュレーション点ＳＰを与える。図５は、複数のシミュレーション点ＳＰの一例を概念的に示している。横軸はモデルパラメータＸを表し、縦軸はモデルパラメータＹを表し、原点はノミナル条件を表している。例えば、シミュレーション点ＳＰは、ＳＰ１（ｘ１，０）、ＳＰ３（０，ｙ１）、ＳＰ５（−ｘ１，０）及びＳＰ７（０，−ｙ１）を含んでいる。また、シミュレーション点ＳＰは、複数種のモデルパラメータＸ，Ｙの両方が同時にばらつくＳＰ２（ｘ２，ｙ２）、ＳＰ４（−ｘ２，ｙ２）、ＳＰ６（−ｘ２，−ｙ２）及びＳＰ８（ｘ２，−ｙ２）を含んでいてもよい。尚、シミュレーション点ＳＰの数や位置は、後述されるモーメントマッチングで用いられる高次近似式の次数や必要な精度に基づいて決定される。
【００３６】
（遅延モデル情報４）
遅延モデル情報４は、上記式（４）で表される遅延モデルの関数形を与える。この遅延モデル中の定数項Ｄ０、感度係数α及びβを求め、遅延モデルを決定することがキャラクタライズの目的である。
【００３７】
２−２．ステップＳ２０
ステップＳ２０では、回路シミュレーション（ＳＰＩＣＥ）を通して、モデルパラメータがノミナル値である場合のノミナル遅延値Ｄｎｏｍが算出される。そのため、ＳＰＩＣＥには、セル情報１や各モデルパラメータのノミナル値（Ｘｎｏｍ、Ｙｎｏｍ等）が入力される。そのノミナル値を用いてＳＰＩＣＥシミュレーションを実行することより、ノミナル遅延値Ｄｎｏｍが算出される。
【００３８】
２−３．ステップＳ３０
ステップＳ３０では、回路シミュレーション（ＳＰＩＣＥ）を通して、モデルパラメータＸ，Ｙがばらついた場合のセル遅延値が算出される。そのために、ＳＰＩＣＥには、セル情報１及びシミュレーション点情報３が入力される。シミュレーション点情報３により与えられる複数のシミュレーション点ＳＰ１〜ＳＰ８を用いることにより、ＳＰＩＣＥシミュレーションが実行される。その結果、複数のシミュレーション点ＳＰ１〜ＳＰ８のそれぞれに対応する複数のセル遅延値ＤＳ１〜ＤＳ８が算出される。例えば、セル遅延値ＤＳ１は、モデルパラメータＸがノミナル値Ｘｎｏｍからｘ１だけ変動した場合のセル遅延値である。また、セル遅延値ＤＳ２は、モデルパラメータＸがノミナル値Ｘｎｏｍからｘ２だけ変動し、且つ、モデルパラメータＹがノミナル値Ｙｎｏｍからｙ２だけ変動した場合のセル遅延値である。このように、シミュレーション点ＳＰを適切に設定することにより、複数種のモデルパラメータが同時にばらついた時のセル遅延値を算出することもできる。ステップＳ３０の結果、複数のシミュレーション点ＳＰ１〜ＳＰ８と算出された複数のセル遅延値ＤＳ１〜ＤＳ８との対応関係を示すシミュレーション結果情報が作成される。
【００３９】
２−４．ステップＳ４０
ステップＳ４０では、ランダムばらつきに対する遅延モデルが決定される。ここでは、ランダムばらつきだけが考慮され、Ｄ２Ｄばらつきは考慮されない。従って、遅延モデルは、次の式（５）で表される。
【００４０】
式（５）：
Ｄ＝Ｆ１（ＸＲＡＮＤ，ＹＲＡＮＤ）
＝ＤＲ＋αＸ・ＸＲＡＮＤ＋αＹ・ＹＲＡＮＤ
【００４１】
式（５）において、ＤＲは一次線形関数の定数項である。本実施の形態によれば、ステップＳ３０で算出された複数のセル遅延値ＤＳ１〜ＤＳ８と式（５）で表される遅延モデルＦ１とのモーメントマッチングにより、ランダムばらつきに対する感度係数α（αＸ、αＹ）及び定数項ＤＲが決定される。ここで、モーメントマッチングとは、セル遅延値ＤＳ１〜ＤＳ８に関するモーメント量（平均値、分散）と遅延モデルＦ１に関するモーメント量（平均値、分散）をできるだけ一致させることを意味する。つまり、統計的な観点から、統計量の誤差が小さくなるようにシミュレーション結果と遅延モデルとのマッチングが行われる。その結果、統計的な精度が考慮された感度係数αが得られる。
【００４２】
図６は、本実施の形態におけるステップＳ４０の詳細を示すフローチャートである。
【００４３】
（ステップＳ４１）
まず、ステップＳ３０で得られた複数のセル遅延値ＤＳ１〜ＤＳ８を所定の近似式でフィッティングする。その近似式は、セル遅延値ＤをランダムばらつきＸＲＡＮＤ、ＹＲＡＮＤの関数として与える多項式である。本実施の形態では、例えば次の式（６）で表されるような高次多項式Ｆ２が用いられる。
【００４４】
式（６）：
Ｄ＝Ｆ２（ＸＲＡＮＤ，ＹＲＡＮＤ）
＝ｂＸＸ・ＸＲＡＮＤ２＋ｂＸＹ・ＸＲＡＮＤ・ＹＲＡＮＤ＋ｂＹＹ・ＹＲＡＮＤ２＋ｂＸ・ＸＲＡＮＤ＋ｂＹ・ＹＲＡＮＤ＋ｂ０
【００４５】
この高次多項式Ｆ２、複数のシミュレーション点ＳＰ１〜ＳＰ８、及びシミュレーションで得られた複数のセル遅延値ＤＳ１〜ＤＳ８に基づく最小自乗法により、係数ｂＸＸ、ｂＸＹ、ｂＹＹ、ｂｘ、ｂＹを決定することができる。具体的には、シミュレーション点ＳＰ１〜ＳＰ８のそれぞれを高次多項式Ｆ２に代入することにより得られるセル遅延値と、シミュレーションで得られたセル遅延値ＤＳ１〜ＤＳ８との誤差が最小となるように、高次多項式Ｆ２の各パラメータが決定される。
【００４６】
式（６）で表される高次多項式Ｆ２は、式（５）で表される遅延モデルＦ１（一次線形関数）よりも実際の応答に近い。また、式（６）で表される高次多項式Ｆ２は、複数種のモデルパラメータ同士の積に比例する成分“ｂＸＹ・ＸＲＡＮＤ・ＹＲＡＮＤ”を含んでいることに留意されたい。このような成分は、複数種のモデルパラメータによるセル遅延値Ｄへの「交互作用」を意味する。つまり、高次多項式Ｆ２は、セル遅延値Ｄに対する交互作用を含んでいる。
【００４７】
（ステップＳ４２）
ステップＳ４２では、ステップＳ４１で決定された高次多項式Ｆ２とモデルパラメータ情報２で与えられる確率分布情報が用いられる。それら高次多項式Ｆ２と確率分布情報に基づく分散解析により、セル遅延値Ｄの分布のモーメント量（平均値Ｅ１、分散Ｖ１）を算出することができる。
【００４８】
図７は、ステップＳ４２における処理を概念的に示している。ここでは簡単のため、１次元のモデルパラメータＸだけを考える。図７中のグラフ（ａ）は、ステップＳ４１で決定された高次多項式Ｆ２（ＸＲＡＮＤ）を示している。横軸はランダムばらつきＸＲＡＮＤであり、縦軸はセル遅延値Ｄである。グラフ（ｂ）は、図４と同じであり、ランダムばらつきＸＲＡＮＤの確率分布ｆ（ＸＲＡＮＤ）を示している。横軸はランダムばらつきＸＲＡＮＤであり、縦軸は確率密度である。セル遅延値Ｄを与える高次多項式Ｆ２（ＸＲＡＮＤ）とランダムばらつきＸＲＡＮＤの確率分布ｆ（ＸＲＡＮＤ）を組み合わせることにより、セル遅延値Ｄの確率分布Ｇ２（Ｄ）が得られる。図７中のグラフ（ｃ）は、その確率分布Ｇ２（Ｄ）を示している。横軸はセル遅延値Ｄであり、縦軸は確率密度である。高次多項式が用いられるため、確率分布Ｇ２（Ｄ）の形状は非対称となる。この確率分布Ｇ２（Ｄ）の平均値が「第１平均値Ｅ１」であり、その分散が「第１分散Ｖ１」である。
【００４９】
本実施の形態では、ランダムばらつきＸＲＡＮＤ、ＹＲＡＮＤの確率分布情報として平均値０及び標準偏差σＸＲＡＮＤ、σＹＲＡＮＤが与えられる（Ｅ（ＸＲＡＮＤ）＝０、Ｅ（ＹＲＡＮＤ）＝０、Ｖ（ＸＲＡＮＤ）＝σＸＲＡＮＤ２、Ｖ（ＹＲＡＮＤ）＝σＹＲＡＮＤ２）。この場合、第１平均値Ｅ１及び第１分散Ｖ１は、それぞれ次の式（７）及び式（８）で与えられる。第１平均値Ｅ１及び第１分散Ｖ１を簡単に算出することができ、好適である。
【００５０】
式（７）：
Ｅ１＝Ｅ（Ｇ２（Ｄ））
＝Ｅ（Ｆ２（ＸＲＡＮＤ：Ｎ（０，σＸＲＡＮＤ），ＹＲＡＮＤ：Ｎ（０，σＹＲＡＮＤ）））
＝ｂＸＸ・Ｅ（ＸＲＡＮＤ２）＋ｂＸＹ・Ｅ（ＸＲＡＮＤＹＲＡＮＤ）＋ｂＹＹ・Ｅ（ＹＲＡＮＤ２）＋ｂＸ・Ｅ（ＸＲＡＮＤ）＋ｂＹ・Ｅ（ＹＲＡＮＤ）＋ｂ０
＝ｂＸＸ・Ｖ（ＸＲＡＮＤ）＋ｂＹＹ・Ｖ（ＹＲＡＮＤ）＋ｂ０
＝ｂＸＸ・σＸＲＡＮＤ２＋ｂＹＹ・σＹＲＡＮＤ２＋ｂ０
【００５１】
式（８）：
Ｖ１＝Ｖ（Ｇ２（Ｄ））
＝ｂＸＸ２・Ｖ（ＸＲＡＮＤ２）＋ｂＸＹ２・Ｖ（ＸＲＡＮＤＹＲＡＮＤ）＋ｂＹＹ２・Ｖ（ＹＲＡＮＤ２）＋ｂＸ２・Ｖ（ＸＲＡＮＤ）＋ｂＹ２・Ｖ（ＹＲＡＮＤ）＋ｂ０
【００５２】
（ステップＳ４３）
ステップＳ４３では、上記式（５）で表される遅延モデル（一次線形関数）Ｆ１とモデルパラメータ情報２で与えられる確率分布情報が用いられる。それら遅延モデルＦ１と確率分布情報に基づく分散解析により、セル遅延値Ｄの分布のモーメント量（平均値Ｅ２、分散Ｖ２）を算出することができる。
【００５３】
図８は、ステップＳ４３における処理を概念的に示している。ここでは簡単のため、１次元のモデルパラメータＸだけを考える。図８中のグラフ（ａ）は、遅延モデルＦ１（ＸＲＡＮＤ）を示している。横軸はランダムばらつきＸＲＡＮＤであり、縦軸はセル遅延値Ｄである。グラフ（ｂ）は、図４と同じであり、ランダムばらつきＸＲＡＮＤの確率分布ｆ（ＸＲＡＮＤ）を示している。横軸はランダムばらつきＸＲＡＮＤであり、縦軸は確率密度である。セル遅延値Ｄを与える遅延モデルＦ１（ＸＲＡＮＤ）とランダムばらつきＸＲＡＮＤの確率分布ｆ（ＸＲＡＮＤ）を組み合わせることにより、セル遅延値Ｄの確率分布Ｇ１（Ｄ）が得られる。図８中のグラフ（ｃ）は、その確率分布Ｇ１（Ｄ）を示している。横軸はセル遅延値Ｄであり、縦軸は確率密度である。遅延モデルは一次線形関数であるため、確率分布Ｇ１（Ｄ）の形状は対称となる。この確率分布Ｇ１（Ｄ）の平均値が「第２平均値Ｅ２」であり、その分散が「第２分散Ｖ２」である。
【００５４】
現段階では、定数項ＤＲ及び感度係数αＸ、αＹは未定である。従って、第２平均値Ｅ２及び第２分散Ｖ２は、定数項ＤＲ及び感度係数αＸ、αＹの関数となる。定数項ＤＲや感度係数αＸ、αＹが変われば、第２平均値Ｅ２及び第２分散Ｖ２も変わり得る。
【００５５】
本実施の形態では、ランダムばらつきＸＲＡＮＤ、ＹＲＡＮＤの確率分布情報として平均値０及び標準偏差σＸＲＡＮＤ、σＹＲＡＮＤが与えられる（Ｅ（ＸＲＡＮＤ）＝０、Ｅ（ＹＲＡＮＤ）＝０、Ｖ（ＸＲＡＮＤ）＝σＸＲＡＮＤ２、Ｖ（ＹＲＡＮＤ）＝σＹＲＡＮＤ２）。この場合、第２平均値Ｅ２及び第２分散Ｖ２は、それぞれ次の式（９）及び式（１０）で与えられる。第２平均値Ｅ２及び第２分散Ｖ２を簡単に算出することができ、好適である。
【００５６】
式（９）：
Ｅ２＝Ｅ（Ｇ１（Ｄ））
＝Ｅ（Ｆ１（ＸＲＡＮＤ：Ｎ（０，σＸＲＡＮＤ），ＹＲＡＮＤ：Ｎ（０，σＹＲＡＮＤ）））
＝ＤＲ＋αＸ・Ｅ（ＸＲＡＮＤ）＋αＹ・Ｅ（ＹＲＡＮＤ）
＝ＤＲ
【００５７】
式（１０）：
Ｖ２＝Ｖ（Ｇ１（Ｄ））
＝αＸ２・Ｖ（ＸＲＡＮＤ）＋αＹ２・Ｖ（ＹＲＡＮＤ）
＝αＸ２・σＸＲＡＮＤ２＋αＹ２・σＹＲＡＮＤ２
【００５８】
式（９）、式（１０）から明らかなように、第２平均値Ｅ２及び第２分散Ｖ２は、定数項ＤＲや感度係数αＸ、αＹの関数となる。
【００５９】
（ステップＳ４４）
ステップＳ４４では、モーメントマッチングが行われる。つまり、ステップＳ４２で算出されたモーメント量（Ｅ１、Ｖ１）とステップＳ４３で算出されたモーメント量（Ｅ２、Ｖ２）とのマッチングが行われる。第２平均値Ｅ２と第２分散Ｖ２は定数項ＤＲや感度係数αＸ、αＹの関数であるため、このモーメントマッチングにより感度係数αＸ、αＹを決定することができる。
【００６０】
図９は、ステップＳ４４における処理を概念的に示している。ここでは簡単のため、１次元のモデルパラメータＸだけを考える。図９中のグラフ（ａ）は、上述の高次多項式Ｆ２（ＸＲＡＮＤ）及び遅延モデルＦ１（ＸＲＡＮＤ）を示している。横軸はランダムばらつきＸＲＡＮＤであり、縦軸はセル遅延値Ｄである。一方、グラフ（ｂ）は、上述のセル遅延値Ｄの確率分布Ｇ２（Ｄ）及びＧ１（Ｄ）を示している。横軸はセル遅延値Ｄであり、縦軸は確率密度である。遅延モデルＦ１の定数項ＤＲや感度係数（傾き）αＸが変化すると、それに応じて確率分布Ｇ１（Ｄ）の第２平均値Ｅ２及び第２分散Ｖ２が変わる。よって、第２平均値Ｅ２と第１平均値Ｅ１との誤差、及び、第２分散Ｖ２と第１分散Ｖ１との誤差が小さくなるような定数項ＤＲや感度係数αＸを探索することができる。
【００６１】
例えば、上記式（７）〜（１０）の例の場合、モーメントマッチングの条件は、次の式（１１）で与えられる。
【００６２】
式（１１）：
Ｅ１＝Ｅ２＝ＤＲ
Ｖ１＝Ｖ２＝αＸ２・σＸＲＡＮＤ２＋αＹ２・σＹＲＡＮＤ２
【００６３】
第１平均値Ｅ１と第２平均値Ｅ２が一致する条件で、定数項ＤＲを決定することができる。また、第１分散Ｖ１と第２分散Ｖ２が一致する条件で、感度係数αＸ、αＹを決定することができる。尚、モーメントマッチングだけでは、感度係数αＸ、αＹが一意に定まらない可能性がある。上記式（１１）から明らかなように、例えば感度係数が“−αＸ”の場合もモーメントマッチングの条件は満たされる。図９には、傾きが“−αＸ”である一次線形関数Ｆ１’（ＸＲＡＮＤ）も示されている。一次線形関数Ｆ１（ＸＲＡＮＤ）の第２分散Ｖ２が第１分散Ｖ１と一致するとき、一次線形関数Ｆ１’（ＸＲＡＮＤ）の分散も第１分散Ｖ１と一致する。
【００６４】
そこで、本実施の形態によれば、モーメントマッチングと共に最小自乗法を併用することによって、感度係数αＸ、αＹが一意に定められる。具体的には、遅延モデルＦ１（ＸＲＡＮＤ、ＹＲＡＮＤ）を用いることによって、上述の複数のシミュレーション点ＳＰ１〜ＳＰ８のそれぞれに対応するセル遅延値ＤＦ１〜ＤＦ８が算出される。算出されたセル遅延値ＤＦ１〜ＤＦ８と、既出のステップＳ３０で算出されたセル遅延値ＤＳ１〜ＤＳ８との誤差が最小となる条件は、次の式（１２）で表される。
【００６５】
式（１２）：
Σｉ（ＤＦｉ−ＤＳｉ）２：最小
【００６６】
そして、式（１１）で与えられるモーメントマッチングの条件に加えて、式（１２）で与えられる条件を満たす感度係数αＸ、αＹが求められる。そのような条件を満たす感度係数αＸ、αＹは、例えばラグランジュの未定乗数法に基づいて決定することができる。このようにして、モーメントマッチングの条件を満たし、且つ、シミュレーション結果に最も近くなる感度係数αＸ、αＹが一意に決定される。
【００６７】
２−５．ステップＳ５０
ステップＳ５０では、Ｄ２Ｄばらつきに対する遅延モデルが決定される。ここでは、Ｄ２Ｄばらつきだけが考慮され、ランダムばらつきは考慮されない。従って、遅延モデルは、次の式（１３）で表される。
【００６８】
式（１３）：
Ｄ＝ＤＤ＋βＸ・ＸＤ２Ｄ＋βＹ・ＹＤ２Ｄ
【００６９】
式（１３）において、ＤＤは一次線形関数の定数項である。本実施の形態によれば、ステップＳ３０で得られたシミュレーション結果と式（１３）で表される遅延モデルが用いられ、最小自乗法により定数項ＤＤ及び感度係数βＸ、βＹが決定される。具体的には、式（１３）の遅延モデルを用いることによって、上述の複数のシミュレーション点ＳＰ１〜ＳＰ８のそれぞれに対応するセル遅延値ＤＤ１〜ＤＤ８が算出される。そして、算出されたセル遅延値ＤＤ１〜ＤＤ８と、既出のステップＳ３０で算出されたセル遅延値ＤＳ１〜ＤＳ８との誤差が最小となるように、定数項ＤＤ及び感度係数βＸ、βＹが決定される。このように、定数項ＤＤ及び感度係数βＸ、βＹは、最小自乗法を用いることにより、遅延モデルがＳＰＩＣＥシミュレーション結果となるべく一致するように決定される。
【００７０】
２−６．ステップＳ６０
以上の処理により得られたノミナル遅延値Ｄｎｏｍ、定数項ＤＲ、感度係数α、定数項ＤＤ及び感度係数βを用いることにより、セル遅延ライブラリＤＬＩＢが作成される。ランダムばらつきの感度係数αとしては、ステップＳ４０の処理により得られたものが用いられる。Ｄ２Ｄばらつきの感度係数βとしては、ステップＳ５０の処理により得られたものが用いられる。式（４）で表される遅延モデルの定数項Ｄ０としては、次の様々な候補が考えられる。
【００７１】
（候補１）ステップＳ４０で得られた定数項ＤＲ
（候補２）ステップＳ５０で得られた定数項ＤＤ
（候補３）定数項ＤＲと定数項ＤＤの加重平均
（候補４）ステップＳ２０で得られたノミナル遅延値Ｄｎｏｍ
【００７２】
例えば、ランダムばらつきがＤ２Ｄばらつきよりもドミナントである場合、候補１の定数項ＤＲを定数項Ｄ０として用いることが考えられる。一方、Ｄ２Ｄばらつきがランダムばらつきよりもドミナントである場合、候補２の定数項ＤＤを定数項Ｄ０として用いることが考えられる。ランダムばらつきとＤ２Ｄばらつきが同程度である場合は、定数項ＤＲと定数項ＤＤの加重平均を定数項Ｄ０として用いることが妥当である。また、ノミナル遅延値Ｄｎｏｍを定数項Ｄ０として用いることもできる。
【００７３】
図１０は、作成されるセル遅延ライブラリＤＬＩＢを概念的に示している。図１０に示されるように、セル遅延ライブラリＤＬＩＢは、セル毎に定数項Ｄ０、感度係数αＸ、αＹ、βＸ、βＹを提供する。また、１つのセルに関して、様々な負荷容量ＣｌｏａｄやスルーレートＳｌｅｗ毎に定数項Ｄ０、感度係数αＸ、αＹ、βＸ、βＹが決定され、セル遅延ライブラリＤＬＩＢに記録されてもよい。
【００７４】
本実施の形態に係るセル遅延ライブラリＤＬＩＢは、既存のセル遅延ライブラリと同じフォーマットを有する。既存のセル遅延ライブラリと異なる点は、同じモデルパラメータに関する感度係数αと感度係数βが互いに異なっていることである。例えば、モデルパラメータＸに関して、ランダムばらつきの感度係数αＸとＤ２Ｄばらつきの感度係数βＸは互いに異なっている。それは、セルのキャラクタライズにおいてランダムばらつきとＤ２Ｄばらつきが別々に扱われ、感度係数αと感度係数βがそれぞれ別の手法により算出されたからである。
【００７５】
３．効果
既出の図１で示された手法によれば、感度係数は、単純にノミナル点Ｐ１とばらつき点Ｐ２を結ぶ直線の傾きとして算出される。このような算出方法では、統計的な観点が欠如しており、統計量に誤差が発生する。つまり、遅延モデルが実際の応答を十分な精度で再現しているとは言えない。
【００７６】
本実施の形態によれば、統計的な観点から、統計量の誤差が小さくなるようにシミュレーション結果と遅延モデルとのマッチングが行われる。このモーメントマッチングにより、統計的な精度が十分考慮された定数項Ｄ０及び感度係数αが算出される。従って、得られる遅延モデルは、実際の応答を十分な精度で再現することができる。
【００７７】
また、本実施の形態では、シミュレーション結果は高次多項式Ｆ２（式（６）参照）を用いて近似される。その高次多項式Ｆ２は、一次線形関数である遅延モデルよりも実際の応答に近い。本実施の形態では、モーメント量の観点から、遅延モデルを高次多項式Ｆ２に一致させている。これにより、高次の遅延モデルと同様の平均及びばらつき精度を、１次の遅延モデルで実現することができる。このことも、遅延モデルの精度の向上に寄与する。
【００７８】
また、高次多項式Ｆ２が用いられる場合、複数種のモデルパラメータによるセル遅延値Ｄへの交互作用を考慮することができる。すなわち、交互作用の効果を考慮して感度係数α及び定数項Ｄ０を求めることができる。このことも、遅延モデルの精度の向上に寄与する。
【００７９】
更に、本実施の形態によれば、感度係数の算出にあたり、ランダムばらつきとＤ２Ｄばらつきが区別して扱われる。ランダムばらつきとＤ２Ｄばらつきは特性が異なるため、ランダムばらつきに関する感度係数αとＤ２Ｄばらつきに関する感度係数βはそれぞれに適した手法で算出されることが好ましい。本実施の形態によれば、ランダムなばらつきに関する感度係数αは、その確率分布を考慮したモーメントマッチングによって決定される。一方、何らかの傾向を有するＤ２Ｄばらつきに関する感度係数βは、シミュレーション結果により近くなる最小自乗法によって決定される。結果として、同じモデルパラメータに関する感度係数αと感度係数βは互いに異なることになる。そのような異なる感度係数α、βを含む遅延モデルは、実際の応答をよりよく再現することができる。
【００８０】
以上に説明されたように、本実施の形態によれば、セル遅延ライブラリＤＬＩＢが提供する遅延モデルの精度が向上する。従って、そのセル遅延ライブラリを用いる統計的ＳＴＡの解析精度も向上する。結果として、製造される半導体集積回路の歩留まりも向上する。
【００８１】
４．ＬＳＩの設計、製造方法
ＬＳＩの設計は、コンピュータを用いることにより行われる。図１１は、ＬＳＩを設計するための設計システム１０（コンピュータシステム）の構成を概略的に示すブロック図である。設計システム１０は、記憶装置２０、プロセッサ３０、入力装置４０、及び出力装置５０を備えている。記憶装置２０としてはＲＡＭやＨＤＤが例示される。入力装置４０としてはマウスやキーボードが例示される。出力装置５０としては、ディスプレイが例示される。
【００８２】
記憶装置２０には、上述のセル情報１、モデルパラメータ情報２、シミュレーション点情報３、遅延モデル情報４及びセル遅延ライブラリＤＬＩＢが格納される。更に、記憶装置２０には、ネットリストＮＥＴやレイアウトデータＬＡＹが格納される。ネットリストＮＥＴは、設計回路のセル間の接続等を示す設計データである。レイアウトデータＬＡＹは、設計回路のレイアウトを示す設計データである。
【００８３】
キャラクタライズプログラム１００、シミュレーションプログラム１１０、設計プログラム２００及び統計的ＳＴＡプログラム３００は、コンピュータによって実行されるソフトウェアプログラムである。これらプログラムは、コンピュータ読み取り可能な記録媒体に記録されていてもよい。プロセッサ３０は、これらプログラムを実行することによってＬＳＩの設計処理を実現する。
【００８４】
図１２は、本実施の形態に係るＬＳＩの設計・製造方法を概略的に示すフローチャートである。図１１及び図１２を参照して、本実施の形態に係るＬＳＩの設計・製造方法を説明する。
【００８５】
（ステップＳ１００）
キャラクタライズプログラム１００は、上述のキャラクタライズ処理を実行し、セル遅延ライブラリＤＬＩＢを作成する。このとき、キャラクタライズプログラム１００は、記憶装置２０から必要な情報（セル情報１、モデルパラメータ情報２、シミュレーション点情報３、遅延モデル情報４）を読み出し、また、シミュレーションプログラム１１０を適宜用いる。シミュレーションプログラム１１０は、ＳＰＩＣＥである。本実施の形態に係るキャラクタライズ手法により、高精度の遅延モデルを提供するセル遅延ライブラリＤＬＩＢが作成される。
【００８６】
（ステップＳ２００）
設計プログラム２００は、所望の回路の設計を行い、ネットリストＮＥＴやレイアウトデータＬＡＹを作成する。この回路設計方法は、一般的な方法である。
【００８７】
（ステップＳ３００）
統計的ＳＴＡプログラム３００は、セル遅延ライブラリＤＬＩＢ、ネットリストＮＥＴ、レイアウトデータＬＡＹ等を用いることにより、統計的ＳＴＡを実施する。本実施の形態に係るセル遅延ライブラリＤＬＩＢは、既存のセル遅延ライブラリと同じフォーマットを有する。よって、統計的ＳＴＡプログラム３００も、既存の統計的ＳＴＡプログラムで構わない。統計的ＳＴＡでは、製造ばらつきを統計的に考慮することにより、設計回路の遅延解析・遅延検証が行われる。モデルパラメータの製造ばらつきに関する情報は、モデルパラメータ情報２から得られる。本実施の形態に係るセル遅延ライブラリＤＬＩＢは、高精度の遅延モデル（感度係数）を提供している。従って、そのセル遅延ライブラリを用いる統計的ＳＴＡの解析精度も向上する。
【００８８】
（ステップＳ４００）
統計的ＳＴＡによる遅延検証の結果がフェイルであった場合（ステップＳ４００；Ｎｏ）、処理はステップＳ２００に戻る。そして、設計回路のレイアウト等が修正される。遅延検証の結果がパスになると（ステップＳ４００；Ｙｅｓ）、設計回路のレイアウトが決定する。
【００８９】
（ステップＳ５００）
決定されたレイアウトに基づいて、設計回路が製造される。本実施の形態によれば、遅延解析・遅延検証が高精度で行われている。従って、製造される半導体集積回路の歩留まりも向上する。
【００９０】
以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。
【図面の簡単な説明】
【００９１】
【図１】図１は、一般的な遅延モデル及び感度係数の求め方を説明するための概念図である。
【図２】図２は、ランダムばらつきとＤ２Ｄばらつきを示す概念図である。
【図３】図３は、本発明の実施の形態に係るキャラクタライズの処理フローを示す概念図である。
【図４】図４は、本実施の形態におけるモデルパラメータの確率分布の一例を示すグラフである。
【図５】図５は、本実施の形態におけるシミュレーション点の一例を示す概念図である。
【図６】図６は、本実施の形態におけるランダムばらつきに関する感度係数αの決定方法を示すフローチャートである。
【図７】図７は、本実施の形態におけるステップＳ４２における処理を示す概念図である。
【図８】図８は、本実施の形態におけるステップＳ４３における処理を示す概念図である。
【図９】図９は、本実施の形態におけるステップＳ４４における処理を示す概念図である。
【図１０】図１０は、本実施の形態に係るセル遅延ライブラリを示す概念図である。
【図１１】図１１は、本実施の形態に係る設計システムの構成を概略的に示すブロック図である。
【図１２】図１２は、本実施の形態に係る半導体集積回路の設計・製造方法を概略的に示すフローチャートである。
【符号の説明】
【００９２】
１    セル情報
２    モデルパラメータ情報
３    シミュレーション点情報
４    遅延モデル情報
１０    設計システム
２０    記憶装置
３０    プロセッサ
４０    入力装置
５０    出力装置
１００    キャラクタライズプログラム
１１０    シミュレーションプログラム
２００    設計プログラム
３００    統計的ＳＴＡプログラム
ＤＬＩＢ  セル遅延ライブラリ
ＮＥＴ  ネットリスト
ＬＡＹ  レイアウトデータ
【図１】
0005011194.tif 000002
【図２】
0005011194.tif 000003
【図３】
0005011194.tif 000004
【図４】
0005011194.tif 000005
【図５】
0005011194.tif 000006
【図６】
0005011194.tif 000007
【図７】
0005011194.tif 000008
【図８】
0005011194.tif 000009
【図９】
0005011194.tif 000010
【図１０】
0005011194.tif 000011
【図１１】
0005011194.tif 000012
【図１２】
0005011194.tif 000013