(57)【要約】【課題】環境条件に対して少ないマージンでタイミング検証を短時間に行う。【解決手段】半導体集積回路のタイミング検証装置は、記憶部と条件正規化部とキャラクタライズ部と代表値算出部と判定係数算出部と判定部とを具備し、記憶部は、半導体集積回路の動作環境条件を規定する環境コーナー条件を保持する。条件正規化部は、環境コーナー条件の最大値と最小値とに基づいて正規化し、正規化された正規化環境コーナー条件を前記記憶部に格納する。キャラクタライズ部は、正規化環境コーナー条件に基づいて遅延ライブラリをキャラクタライズする。代表値算出部は、半導体集積回路の回路データを入力し、キャラクタライズされた遅延ライブラリに基づいてタイミング解析して回路パスにおけるタイミング余裕を示すスラックの代表値を算出する。判定係数算出部は、正規化環境コーナー条件に基づいて判定係数を算出する。判定部は、代表値と判定係数とを比較してタイミング判定する。【選択図】図５
2011113302.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路の動作環境条件を規定する環境コーナー条件を保持する記憶部と、
前記環境コーナー条件の最大値と最小値とに基づいて正規化し、正規化された正規化環境コーナー条件を前記記憶部に格納する条件正規化部と、
前記正規化環境コーナー条件に基づいて遅延ライブラリをキャラクタライズするキャラクタライズ部と、
前記半導体集積回路の回路データを入力し、キャラクタライズされた前記遅延ライブラリに基づいてタイミング解析して回路パスにおけるタイミング余裕を示すスラックの代表値を算出する代表値算出部と、
前記正規化環境コーナー条件に基づいて、判定係数を算出する判定係数算出部と、
前記代表値と前記判定係数とを比較してタイミング判定する判定部と
を具備する
半導体集積回路のタイミング検証装置。
【請求項２】
前記代表値算出部は、前記スラックの平均値を算出する
請求項１に記載の半導体集積回路のタイミング検証装置。
【請求項３】
前記判定係数算出部は、前記正規化環境コーナー条件の中心を示す原点Ｏと、前記正規化環境コーナー条件の頂点との距離を算出して判定係数とする
請求項２に記載の半導体集積回路のタイミング検証装置。
【請求項４】
前記判定部は、前記代表値が前記判定係数より大きく、かつ、前記原点Ｏに対応する前記環境コーナー条件における前記スラックが正値であるとき、条件を満足すると判定する
請求項３に記載の半導体集積回路のタイミング検証装置。
【請求項５】
前記代表値算出部は、統計的タイミング解析を行って前記スラックが正値となる確率を算出する
請求項１に記載の半導体集積回路のタイミング検証装置。
【請求項６】
前記判定係数算出部は、前記正規化環境コーナー条件の各頂点を内包あるいは内接する等確率面との距離を算出して判定係数とする
請求項５に記載の半導体集積回路のタイミング検証装置。
【請求項７】
前記環境コーナー条件に含まれるばらつき要素間の相関係数を算出する相関係数算出部をさらに具備し、
前記判定係数算出部は、ｚ変換によって標準正規分布に変換された前記正規化環境コーナー条件の頂点に外接する外接球（円）を前記等確率面として判定係数を算出する
請求項６に記載の半導体集積回路のタイミング検証装置。
【請求項８】
前記判定部は、前記スラックの平均値が判定係数に前記スラックの標準偏差を乗じた値より大きいときに条件を満足すると判定する
請求項７に記載の半導体集積回路のタイミング検証装置。
【請求項９】
前記環境コーナー条件は、前記半導体集積回路に供給される電源電圧の範囲を示す電圧条件と、周囲の温度の範囲を示す温度条件とを含む
請求項１から請求項８のいずれかに記載の半導体集積回路のタイミング検証装置。
【請求項１０】
半導体集積回路の動作環境条件を規定する環境コーナー条件を設定するステップと、
前記環境コーナー条件の最大値と最小値とに基づいて正規化して正規化環境コーナー条件を求めるステップと、
前記正規化環境コーナー条件に基づいて遅延ライブラリをキャラクタライズするステップと、
前記半導体集積回路の回路データを入力し、キャラクタライズされた前記遅延ライブラリに基づいてタイミング解析するステップと、
前記タイミング解析した結果に基づいて回路パスにおけるタイミング余裕を示すスラックの代表値を算出するステップと、
前記正規化環境コーナー条件に基づいて、判定係数を算出するステップと、
前記代表値と前記判定係数とを比較してタイミング判定するステップと
を具備する
半導体集積回路のタイミング検証方法。
【請求項１１】
前記代表値を算出するステップは、前記スラックの平均値を算出する
請求項１０に記載の半導体集積回路のタイミング検証方法。
【請求項１２】
前記判定係数を算出するステップは、前記正規化環境コーナー条件の中心を示す原点Ｏと、前記正規化環境コーナー条件の最小値および最大値を示す頂点との距離を算出して判定係数とするステップを含む
請求項１１に記載の半導体集積回路のタイミング検証方法。
【請求項１３】
前記タイミング判定するステップは、前記代表値が前記判定係数より大きく、かつ、前記原点Ｏに対応する前記環境コーナー条件における前記スラックが正値であるとき、条件を満足すると判定するステップを備える
請求項１２に記載の半導体集積回路のタイミング検証方法。
【請求項１４】
前記代表値を算出するステップは、統計的タイミング解析を行って前記スラックが正値となる確率を算出するステップを含む
請求項１０に記載の半導体集積回路のタイミング検証方法。
【請求項１５】
前記判定係数を算出するステップは、前記正規化環境コーナー条件の各頂点を内包あるいは接する等確率面との距離を算出して判定係数とするステップを含む
請求項１４に記載の半導体集積回路のタイミング検証方法。
【請求項１６】
前記環境コーナー条件に含まれるばらつき要素間の相関係数を算出するステップをさらに具備し、
前記判定係数を算出するステップは、ｚ変換によって標準正規分布に変換された前記正規化環境コーナー条件の頂点に外接する外接球（円）を前記等確率面として判定係数を算出するステップを含む
請求項１５に記載の半導体集積回路のタイミング検証方法。
【請求項１７】
前記タイミング判定するステップは、前記スラックの平均値が判定係数に前記スラックの標準偏差を乗じた値より大きいときに条件を満足すると判定するステップを備える
請求項１６に記載の半導体集積回路のタイミング検証方法。
【請求項１８】
前記環境コーナー条件は、前記半導体集積回路に供給される電源電圧の範囲を示す電圧条件と、周囲の温度の範囲を示す温度条件とを含む
請求項１０から請求項１７のいずれかに記載の半導体集積回路のタイミング検証方法。
【請求項１９】
請求項１０から請求項１８のいずれかに記載の半導体集積回路のタイミング検証方法をコンピュータに実行させるための半導体集積回路のタイミング検証プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路のタイミング検証装置、タイミング検証方法、タイミング検証プログラムに関する。
【背景技術】
【０００２】
半導体集積回路のプロセスばらつきを考慮した設計方法として、特開２００９−２１３７８号公報に開示される半導体集積回路の設計方法がある。この設計方法は、モデルパラメータを作成するステップと、応答関数を作成するステップと、統計セルライブラリを作成するステップと、統計セルライブラリを更新するステップと、設計及び検証を行うステップとを含む。モデルパラメータを作成するステップでは、セルを構成する素子のモデルパラメータが作成される。モデルパラメータは、目標値と、目標値からのばらつきの分布関数とで規定される。応答関数を作成するステップでは、そのモデルパラメータを用いた回路シミュレーションを行うことによって、モデルパラメータに対するセルの特性の応答を表す応答関数が作成される。統計セルライブラリを作成するステップでは、応答関数を用いることによって、セルの特性の期待値及び統計的変動を示す統計セルライブラリが作成される。ここで、統計的変動は、分布関数と感度との積で表され、感度は応答関数に基づいて算出される。統計セルライブラリを更新するステップでは、モデルパラメータが変更された場合、変更後のモデルパラメータと応答関数を用いることによって、回路シミュレーションを行うことなく統計セルライブラリが更新される。設計及び検証を行うステップでは、更新後の統計セルライブラリを使用して、半導体集積回路の設計及び検証が行われる。
【０００３】
また、特開２００７−９５０２８号公報には、半導体集積回路のタイミング検証方法が開示されている。そのタイミング検証方法は、複数のクロック信号を出力可能なクロック回路と、そのクロック回路から出力される複数のクロック信号のうちのいずれかが供給される複数の信号パスを含む集積回路とを有する半導体集積回路において、クロック信号のばらつきを考慮してタイミングを検証する方法である。そのタイミング検証方法は、複数の統計的クロックスキューを取得する工程（ａ）と、部分回路を前記集積回路から抽出する工程（ｂ）と、第１の統計的タイミング特性を算出する工程（ｃ）と、第２の統計的タイミング特性として取得する工程（ｄ）と、タイミング検証を行なう工程（ｅ）とを備えている。複数の統計的クロックスキューを取得する工程（ａ）では、複数のクロック信号のうちの任意のクロック信号対ごとに、クロック信号対の間に生じるクロックスキューを統計的に算出することにより、複数の統計的クロックスキューが取得される。部分回路を集積回路から抽出する工程（ｂ）では、取得された複数の統計的クロックスキューのうちの一の統計的クロックスキューが生じるクロック信号対によって駆動される部分回路が集積回路から抽出される。第１の統計的タイミング特性を算出する工程（ｃ）では、抽出された部分回路に含まれる信号パスにおける第１の統計的タイミング特性が算出される。第２の統計的タイミング特性として取得する工程（ｄ）では、算出された第１の統計的タイミング特性から、その最大値及び最小値の少なくとも一方が第２の統計的タイミング特性として取得される。タイミング検証を行なう工程（ｅ）では、取得された第２の統計的タイミング特性を用いて、部分回路に含まれる信号パスにおけるタイミング検証が行なわれる。
【０００４】
このようなタイミング検証は、周囲温度や供給電源電圧などの環境条件の上限、下限毎に行われる。したがって、例えば、温度条件（上限、下限）、電圧条件（上限、下限）について実施すると、タイミング解析ツールを２×２＝４回実行することになる。電源種類が１種類増えると、２×２×２＝８回タイミング解析ツールを実行しなければならない。近年の電源電圧の種類の増加等に伴ってますますタイミング解析ツール実行の工程が長大化し、タイミング検証の時間短縮が望まれる。
【０００５】
また、複数の電源電圧（第１電圧、第２電圧）を使用する回路において、例えば、第１電圧の上限と第２電圧の下限とを組み合わせる条件が存在する。半導体チップに供給される電圧が同一である条件では、異なる電源エリアの電圧が上限と下限となるような反対のコーナーへ振れることは考えにくい。このようなコーナー条件でのタイミング検証は、必要以上に厳しい検証になるおそれがある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−２１３７８号公報
【特許文献２】特開２００７−９５０２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、環境条件に対して少ないマージンでタイミング検証を短時間に行うことのできるタイミング検証方法、タイミング検証装置を提供する。
【課題を解決するための手段】
【０００８】
本発明の観点では、半導体集積回路のタイミング検証装置は、記憶部と、条件正規化部と、キャラクタライズ部と、代表値算出部と、判定係数算出部と、判定部とを具備する。記憶部は、半導体集積回路の動作環境条件を規定する環境コーナー条件を保持する。条件正規化部は、環境コーナー条件の最大値と最小値とに基づいて正規化し、正規化された正規化環境コーナー条件を前記記憶部に格納する。キャラクタライズ部は、正規化環境コーナー条件に基づいて遅延ライブラリをキャラクタライズする。代表値算出部は、半導体集積回路の回路データを入力し、キャラクタライズされた遅延ライブラリに基づいてタイミング解析して回路パスにおけるタイミング余裕を示すスラックの代表値を算出する。判定係数算出部は、正規化環境コーナー条件に基づいて判定係数を算出する。判定部は、代表値と判定係数とを比較してタイミング判定する。
【０００９】
本発明の他の観点では、半導体集積回路のタイミング検証方法は、環境コーナー条件を設定するステップと、正規化環境コーナー条件を求めるステップと、遅延ライブラリをキャラクタライズするステップと、タイミング解析するステップと、スラックの代表値を算出するステップと、判定係数を算出するステップと、タイミング判定するステップとを具備する。環境コーナー条件を設定するステップでは、半導体集積回路の動作環境条件を規定する環境コーナー条件が設定される。正規化環境コーナー条件を求めるステップでは、環境コーナー条件の最大値と最小値とに基づいて正規化が行われ、正規化環境コーナー条件が求められる。遅延ライブラリをキャラクタライズするステップでは、正規化環境コーナー条件に基づいて遅延ライブラリがキャラクタライズされる。タイミング解析するステップでは、半導体集積回路の回路データが入力され、キャラクタライズされた遅延ライブラリに基づいてタイミング解析が行われる。スラックの代表値を算出するステップでは、タイミング解析した結果に基づいて回路パスにおけるタイミング余裕を示すスラックの代表値が算出される。判定係数を算出するステップでは、正規化環境コーナー条件に基づいて、判定係数が算出される。タイミング判定するステップでは、代表値と判定係数とが比較され、タイミング判定が行われる。
【発明の効果】
【００１０】
本発明によれば、環境条件に対して少ないマージンでタイミング検証を短時間に行うことのできるタイミング検証方法、タイミング検証装置を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】環境条件を視覚的に説明するための図である。
【図２】環境領域とスラックＳ＝０を示す直線との距離を説明するための図である。
【図３】正規化された環境条件を説明するための図である。
【図４】本発明の第１の実施の形態に係るタイミング検証装置の構成を示す図である。
【図５】本発明の第１の実施の形態に係るタイミング検証方法の処理の流れを示す図である。
【図６】統計計算による方法と距離計算による方法との関係を説明する図である。
【図７】本発明の第２の実施の形態に係るタイミング検証装置の構成を示す図である。
【図８】本発明の第２の実施の形態に係るタイミング検証方法の処理の流れを示す図である。
【図９】変数Ｖ１，Ｖ２の取り得る値を示す図である。
【図１０】変数Ｔ，Ｖ１，Ｖ２の定義域を示す図である。
【図１１】条件を満たしている様子を説明する図である。
【図１２】確率変数がｚ変換により変換されたときの領域Ｄ’を示す図である。
【図１３】領域Ｄ’の頂点と原点Ｏとの最大距離ｄを説明する図である。
【発明を実施するための形態】
【００１２】
図面を参照して、本発明の実施の形態を説明する。
【００１３】
まず、本発明の原理を説明する。タイミング検証とは、各信号が決められた時間内（制約）に設計したように動作をするかをチェックすることであり、制約に対して回路が備えるタイミングの余裕をスラック（Ｓｌｕｃｋ）と称する。
【００１４】
回路の遅延ばらつきに関与する要素として、例えば、周囲温度ｔ、供給電源電圧ｖがある。電圧ｖは、下限電圧ｖｍｉｎ、上限電圧ｖｍａｘが規定され、温度ｔは、下限温度ｔｍｉｎ、上限温度ｔｍａｘが規定される。すなわち、電圧ｖおよび温度ｔは、
ｖｍｉｎ≦ｖ≦ｖｍａｘ
ｔｍｉｎ≦ｔ≦ｔｍａｘ
となり、環境条件は、図１に示されるように、長方形の領域として表すことができる。その４頂点（ｖｍａｘ，ｔｍａｘ）（ｖｍｉｎ，ｔｍａｘ）（ｖｍｉｎ，ｔｍｉｎ）（ｖｍａｘ，ｔｍｉｎ）は、コーナー条件と称されるタイミング検証の条件を示す。
【００１５】
このとき、一般的に、遅延時間は、温度ｔおよび電圧ｖの関数として表現でき、スラックＳは、Ｓ＝ｆ（ｖ，ｔ）と表現することができる。温度ｔおよび電圧ｖの制約条件は、上述のように、ｔｍｉｎ≦ｔ≦ｔｍａｘ、ｖｍｉｎ≦ｖ≦ｖｍａｘの範囲である。タイミング解析では、この範囲内でスラックが正の値を持つか否かを判定する。スラックが温度ｔおよび電圧ｖに対して単調な関数であるとすると、この範囲の境界点、すなわち、図１に示される領域の四隅（コーナー）において、スラックＳ＞０を確認することによって、領域内ではスラックＳ＞０であることを検証することができる。したがって、タイミング検証では、図１に示されるように、
ｆ（ｖｍａｘ，ｔｍａｘ）＞０
ｆ（ｖｍａｘ，ｔｍｉｎ）＞０
ｆ（ｖｍｉｎ，ｔｍａｘ）＞０
ｆ（ｖｍｉｎ，ｔｍｉｎ）＞０
を確認していた。そのため、上記のように、ばらつき要素が２つであれば４回のタイミング解析の実行が必要であり、ばらつき要素が３つであれば８回、４つであれば１６回のタイミング解析の実行が必要になる。
【００１６】
ここで、α、βを係数、スラックの平均値をＳ＾として、スラックを次のように、単調な関数として近似する。
Ｓ＝Ｓ＾＋αｖ＋βｔ
すなわち、スラックＳを電圧ｖと温度ｔとに関して線形的に変化する単調な平面として近似する。
【００１７】
ここで、図２に示されるように、環境領域内の任意の点Ｑ（ｑ１，ｑ２）からスラックＳ＝０を示す直線Ｓ０までの距離ｄ（Ｓ０，Ｑ）を考える。距離ｄが所定の値より大きく、点Ｑにおけるスラックの値Ｓ（ｑ１，ｑ２）が正であれば、直線Ｓ０は環境領域内を横断することなく、環境領域内においてスラックは正になることが分かる。この手法であれば、ばらつき要素の数に関わらず、直線Ｓ０と点Ｑとの距離計算と、点ＱにおけるスラックＳ（ｑ１，ｑ２）の計算を実施するだけで、タイミング判定することができる。
【００１８】
さらに、処理を簡単にするため、ばらつき要素を正規化する。すなわち、パラメータが２つの場合、図３に示されるように、環境領域は正方形の領域として示される。さらに、破線で示されるように、正方形の環境領域に外接する円を考える。原点ＯにおけるスラックＳ（０，０）＞０であり、かつ、スラックＳ＝０を示す直線Ｓ０’がこの円内に直線Ｓ０が入らないように、すなわち、直線Ｓ０が円周に交差あるいは接するか否かを計算することによってタイミング判定をすることができる。環境領域は、１辺が２の正方形に正規化されたため、直線Ｓ０との距離ｄ（Ｓ０，Ｏ）＞√２、Ｓ（０，０）＞０であれば、環境領域内はすべてスラックが正になることが分かる。すなわち、Ｓ（０，０）＞０を確認し、さらに、距離ｄが判定係数以上になれば、環境領域内でスラックＳ＞０であると判定できる。ここでは、判定係数を√２とすればよい。
【００１９】
（第１の実施の形態）
このように、タイミング解析の実行を少なくしてタイミング検証する方法を実行するタイミング検証装置の構成を図４に示す。
【００２０】
タイミング検証は、情報処理装置により実行される。情報処理装置は、図４に示されるように、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０、記憶装置４０、入力装置１０、出力装置３０を備える。記憶装置４０には、処理プログラムおよびデータが格納されている。タイミング検証を行う処理は、記憶装置４０に格納されるプログラムを実行することにより実現される。処理プログラムは、正規化処理プログラムＭ１１０、感度付きライブラリキャラクタライズ処理プログラムＭ１２０、スラック計算処理プログラムＭ１３０、距離算出処理プログラムＭ１４０、判定係数算出処理プログラムＭ１５０、タイミング判定処理プログラムＭ１６０を備える。データは、環境条件Ｍ３００、スパイスモデルＭ４１０、セルネットリストＭ４２０、感度付き遅延ライブラリＭ４３０、回路データＭ４４０、タイミング制約Ｍ４５０、スラック近似式Ｍ５１０、クラック距離Ｍ５２０、判定係数Ｍ５３０を備える。この情報処理装置は、所謂パーソナルコンピュータであってもよいが、ＥＷＳ（Ｅｎｇｉｎｅｅｒｉｎｇ  ＷｏｒｋＳｔａｔｉｏｎ）等の演算処理能力の高い装置であることが好ましい。
【００２１】
図５を参照して、第１の実施の形態に係るタイミング検証方法の処理の流れを説明する。
【００２２】
環境条件Ｍ３００に格納されるコーナー条件として、電圧ｖ１の範囲を示す最小電圧ｖ１ｍｉｎおよび最大電圧ｖ１ｍａｘが電圧コーナー条件Ｍ３１０に、温度ｔの範囲を示す最低温度ｔｍｉｎおよび最高温度ｔｍａｘが温度コーナー条件Ｍ３３０に、それぞれ格納されている。
【００２３】
（ステップＳ１１０）
正規化処理プログラムＭ１１０は、環境条件Ｍ３００に含まれる電圧コーナー条件Ｍ３１０、温度コーナー条件Ｍ３３０を正規化して、正規化電圧コーナー条件Ｍ３１１、正規化温度コーナー条件Ｍ３３１を求める。すなわち、電圧コーナー条件Ｍ３１０に含まれる電圧条件ｖｍｉｎ≦ｖ≦ｖｍａｘは、条件範囲が−１≦Ｖ≦１となるように正規化される。同じように、温度コーナー条件Ｍ３３０に含まれる温度条件ｔｍｉｎ≦ｔ≦ｔｍａｘは、条件範囲が−１≦Ｔ≦１となるように正規化される。変換前後の対応関係、上限値、下限値等は、環境条件Ｍ３００に含まれる温度コーナー条件Ｍ３３１、電圧コーナー条件Ｍ３１１に格納され、以降の処理に使用される。以下に環境変数を正規化する変換式を示す。
【数１】
2011113302.tif 000003
−１≦Ｖ≦１，−１≦Ｔ≦１
【００２４】
（ステップＳ１２０）
各コーナー条件が正規化されると、感度付き遅延ライブラリキャラクタライズ処理プログラムＭ１２０が起動され、感度付き遅延ライブラリＭ４３０をキャラクタライズする。ＳＳＴＡ（Ｓｔａｔｉｓｔｉｃａｌ  Ｓｔａｔｉｃ  Ｔｉｍｉｎｇ  Ａｎａｌｙｓｉｓ：統計的静的遅延解析）の場合、感度付き遅延ライブラリＭ４３０には、遅延値のテーブルと遅延感度のテーブルがある。遅延値Ｄは、遅延平均値Ｄ＾とばらつき変動分の和として表される。すなわち、遅延感度ａｉ、ばらつき変数ｘｉ、遅延感度ｂ、ランダムばらつき値ｚとすると、
【数２】
2011113302.tif 000004
と表すことができる。
【００２５】
キャラクタライズは、一般的な統計的ＳＴＡライブラリのキャラクタライズと同じように行われる。すなわち、検証装置は、スパイスモデルＭ４１０、セルネットリストＭ４２０に基づいて、正規化温度コーナー条件Ｍ３３１および正規化電圧コーナー条件３１１に適合するように遅延感度を調整し、感度付き遅延ライブラリＭ４３０に格納する。
【００２６】
（ステップＳ１３０）
さらに、スラック計算処理プログラムＭ１３０が起動される。スラック計算処理プログラムＭ１３０は、感度付き遅延ライブラリＭ４３０、回路データＭ４４０、タイミング制約Ｍ４５０を参照して、各回路のパスのスラックを計算し、スラックの近似式を求める。スラックは、スラックの平均値Ｓ＾、正規化された環境変数である電圧Ｖ、温度Ｔを用いて次式のように近似される。
Ｓ＝Ｓ＾＋αＶ＋βＴ
【００２７】
スラック近似式を示すデータ（Ｓ＾，α，β）は、スラック近似式Ｍ５１０に格納される。回路データＭ４４０は、Ｖｅｒｉｌｏｇ等のハードウェア記述言語によって記述されることが好ましい。また、回路における容量等を示すデータは、ＳＰＥＦ（Ｓｔａｎｄａｒｄ  Ｐａｒａｓｉｔｉｃ  Ｅｘｃｈａｎｇｅ  Ｆｏｒｍａｔ）等のデータ形式によって表されることが好ましい。スラック計算が可能であれば、他の形式であってもよい。
【００２８】
（ステップＳ１４０）
スラックＳを示す近似式が求まると、距離算出処理プログラムＭ１４０が起動される。距離算出処理プログラムＭ１４０は、スラックＳと原点Ｏとの距離を算出する。すなわち、図３に示されるように、スラックＳ＝０を示す直線Ｓ０’と原点Ｏとの距離ｄ（Ｓ０’，Ｏ）を求める。算出された距離ｄ（Ｓ０’，Ｏ）は、スラック距離Ｍ５２０に格納される。
【００２９】
（ステップＳ１５０）
一方、判定係数算出処理プログラムＭ１５０が起動され、正規化された温度コーナー条件（−１≦Ｔ≦１）、正規化された電圧コーナー条件（−１≦Ｖ≦１）に基づいて、判定係数ｐが算出される。ここでは、図３に示されるように、スラックＳ＝０を示す直線Ｓ０’と原点Ｏとの距離が円の半径より大きければ、正規化された環境コーナー条件で示される領域を直線Ｓ０’が通ることはない。円は、一辺の長さが２の正方形に外接するので、半径は√２であり、判定係数ｐは√２となる。したがって、直線Ｓ０’と原点Ｏとの距離ｄ（Ｓ０’，Ｏ）は、判定係数ｐ＝√２以上であればよい。
【００３０】
（ステップＳ１６０）
判定係数が求まると、判定処理プログラムＭ１６０が起動され、タイミング判定が行われる。原点Ｏ（Ｔ＝０，Ｖ＝０）におけるタイミング解析の結果、スラックＳ（０，０）＞０、すなわち、スラック平均値Ｓ＾＞０であれば、スラック距離Ｍ５２０と判定係数ｐとに基づいて、タイミング判定が行われる。距離ｄ（Ｓ０’，Ｏ）＞ｐであれば、環境領域内でスラックＳ＞０となる。ｄ（Ｓ０’，Ｏ）≦ｐであれば、その経路におけるスラックは環境条件によっては規格を満足しないことがあることを示している。このように、１度のタイミング解析を実行して、各経路におけるスラックＳが環境コーナー条件において規格を満足するか否か、タイミング検証が行われる。
【００３１】
本実施の形態では、環境コーナー条件を正規化してタイミング解析したが、正規化せずにタイミング解析してもタイミング検証は可能である。その場合、環境コーナー条件の中心におけるスラックと、環境コーナー条件の中心とスラック＝０を示す直線との距離とに基づいて判定するとよい。環境コーナー条件の中心から最も離れた環境コーナー条件を示す点との距離が判定係数となるため、本実施の形態に比べてマージンが大きくなる。また、電源の種類が増加したり、温度条件が複数であったり、環境パラメータが増加しても本発明を適用することが可能である。各処理は、ハードウェアにより実施することも可能であり、一部の処理を専用に実行する装置に置き換えることも可能である。
【００３２】
（第２の実施の形態）
図面を参照して、第２の実施の形態を説明する。第１の実施の形態では、直線Ｓ０と原点Ｏとの距離を計算してタイミング検証する方法を説明したが、直線Ｓ０と原点Ｏとの距離を計算することが本発明の手法を実装する必要条件である。距離を直接計算するほかに、統計計算により間接的に求めることができる。図６に示されるように、ｄ（Ｓ０’，Ｏ）＞ｐかつＳ（０，０）＞０は、ＳＳＴＡのレポートでは、スラック＞０である確率が１σ（＝６０％）、あるいは、（スラックの平均）−（スラックの標準偏差）＞０であることを意味している。すなわち、ＳＳＴＡ（統計的静的タイミング解析）の結果を距離計算の代わりに使用しても同様の結果を得ることができる。
【００３３】
図７に、本発明の第２の実施の形態に係るタイミング検証を行う装置の構成が示される。タイミング検証は、情報処理装置により実行される。情報処理装置は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０、記憶装置４０、入力装置１０、出力装置３０を備える。記憶装置４０には、処理プログラムおよびデータが格納されている。タイミング検証を行う処理は、記憶装置４０に格納されるプログラムを実行することにより実現される。処理プログラムは、正規化処理プログラムＭ１１０、感度付きライブラリキャラクタライズ処理プログラムＭ１２０、相関係数算出処理プログラムＭ２３０、統計的タイミング解析処理プログラムＭ２４０、判定係数算出処理プログラムＭ２５０、タイミング判定処理プログラムＭ２６０を備える。データは、環境条件Ｍ３００、スパイスモデルＭ４１０、セルネットリストＭ４２０、感度付き遅延ライブラリＭ４３０、回路データＭ４４０、タイミング制約Ｍ４５０、タイミングレポートＭ５５０、相関係数Ｍ５６０、判定係数Ｍ５７０を備える。この情報処理装置は、所謂パーソナルコンピュータであってもよいが、ＥＷＳ（Ｅｎｇｉｎｅｅｒｉｎｇ  ＷｏｒｋＳｔａｔｉｏｎ）等の演算処理能力の高い装置が好ましい。
【００３４】
図８を参照して、第２の実施の形態に係るタイミング検証方法の処理の流れを説明する。ここでは、電源電圧は、第１電圧Ｖ１および第２電圧Ｖ２を備え、２電源電圧間に相関を有するものとする。
【００３５】
環境条件Ｍ３００に格納されるコーナー条件として、第１電圧ｖ１の範囲を示す、最小電圧ｖ１ｍｉｎおよび最大電圧ｖ１ｍａｘが第１電圧コーナー条件Ｍ３１０に、第２電圧ｖ２の範囲を示す最小電圧ｖ２ｍｉｎおよび最大電圧ｖ２ｍａｘが第２電圧コーナー条件Ｍ３２０に、温度ｔの範囲として、最低温度ｔｍｉｎ、最高温度ｔｍａｘが温度コーナー条件Ｍ３３０に、それぞれ格納されている。
【００３６】
（ステップＳ１１０）
正規化処理プログラムＭ１１０は、環境条件Ｍ３００に含まれる第１電圧コーナー条件Ｍ３１０、第２電圧コーナー条件Ｍ３２０、温度コーナー条件Ｍ３３０を正規化して、正規化第１電圧コーナー条件Ｍ３１１、正規化第２電圧コーナー条件Ｍ３２１、正規化温度コーナー条件Ｍ３３１を求める。すなわち、第１電圧コーナー条件Ｍ３１０に含まれる電圧条件ｖ１ｍｉｎ≦ｖ１≦ｖ１ｍａｘは、条件範囲が−１≦Ｖ１≦１となるように正規化される。第２電圧コーナー条件Ｍ３２０に含まれる電圧条件ｖ２ｍｉｎ≦ｖ２≦ｖ２ｍａｘは、条件範囲が−１≦Ｖ２≦１となるように正規化される。温度コーナー条件Ｍ３３０に含まれる温度条件ｔｍｉｎ≦ｔ≦ｔｍａｘは、条件範囲が−１≦Ｔ≦１となるように正規化される。変換前後の対応関係、上限値、下限値等は、環境条件Ｍ３００に含まれる温度コーナー条件Ｍ３３１、第１電圧コーナー条件Ｍ３１１、第２電圧コーナー条件Ｍ３２１に格納され、以降の処理に使用される。以下に各環境変数を正規化する変換式を示す。
【数３】
2011113302.tif 000005
−１≦Ｔ≦１，−１≦Ｖ１≦１，−１≦Ｖ２≦１
【００３７】
（ステップＳ１２０）
各コーナー条件が正規化されると、感度付き遅延ライブラリキャラクタライズ処理プログラムＭ１２０が起動され、感度付き遅延ライブラリＭ４３０をキャラクタライズする。第１の実施の形態において説明したように、検証装置は、スパイスモデルＭ４１０、セルネットリストＭ４２０に基づいて、正規化温度コーナー条件Ｍ３３１、正規化第１電圧コーナー条件Ｍ３１１、正規化第２電圧コーナー条件Ｍ３２１に適合するように遅延感度を調整し、感度付き遅延ライブラリＭ４３０に格納する。
【００３８】
（ステップＳ２３０）
一方、相関係数算出処理プログラムＭ２３０が起動され、環境コーナー条件に基づいて、相関係数が算出される。ここでは、第１電圧Ｖ１と第２電圧Ｖ２との間に相関があるとする。第１電圧と第２電圧との相関係数を計算する。
【００３９】
電圧Ｖ１、Ｖ２は、分散１、相関係数ρの２次元正規分布に従って分布するものと近似する。図９に示されるように、破線で示される等確率面が、電圧Ｖ１、Ｖ２が取り得る領域（斜線部分）に外接するようにρを決める。このとき、接点は少なくとも３点ある。接点のうち、（１，１）、（−１，−１）以外の接点をＵ（ｕ１，ｕ２）とすれば、相関係数ρは以下の式で算出される。算出された相関係数ρは、記憶装置４０上の相関係数Ｍ５６０に格納される。
【数４】
2011113302.tif 000006
【００４０】
（ステップＳ２４０）
相関係数ρが算出されると、統計的タイミング解析処理プログラムＭ２４０が起動される。統計的タイミング解析を行うときのばらつき値は、温度Ｔ、第１電圧Ｖ１、第２電圧Ｖ２に関して、それぞれ平均＝０、分散＝１に設定される。また、第１電圧Ｖ１と第２電圧Ｖ２との相関係数は、ステップＳ２３０において算出されたρを用いる。感度付き遅延ライブラリＭ４３０、回路データＭ４４０、タイミング制約Ｍ４５０を入力して統計的タイミング解析が実行される。このタイミング解析は、一般的な統計的タイミング解析と同様に行われるため、詳細説明は省略する。統計的タイミング解析の結果、例えば、スラックの平均値、標準偏差値等は、タイミングレポートＭ５５０に格納される。
【００４１】
（ステップＳ２５０）
また、判定係数算出処理プログラムＭ２５０が起動される。ここで、本実施の形態における判定係数について説明する。パスのスラックＳを次のように表現する。
Ｓ＝Ｓ０＋ｆ（Ｔ，Ｖ１，Ｖ２）
ここで、ｆは、温度を示す変数Ｔ、第１電圧を示す変数Ｖ１、第２電圧を示す変数Ｖ２それぞれについて単調な関数とする。変数Ｖ１、変数Ｖ２の取り得る値が、図９に斜線で示される部分として与えられたとき、−１≦Ｔ≦１と合わせて、変数Ｔ、Ｖ１、Ｖ２の取り得る値の範囲（定義域）は、図１０に示されるように多面体（この例では六角柱）となる。これをＤとすれば、タイミングを満たす条件は次のように表すことができる。
Ｓ＞０，∀Ｔ，Ｖ１，Ｖ２∈Ｄ
この条件は、関数ｆの単調性から、次の条件Ａと等価である。
（条件Ａ）Ｓ＞０，∀Ｔ，Ｖ１，Ｖ２∈Ｄの頂点
【００４２】
図１１は、条件を満たしている様子を説明する図である。図で表すために、変数Ｖ１、Ｖ２の軸のみを表現している。図１１に斜線で示される部分は領域Ｄを示し、平面Ｓ上に示される白丸○は、領域Ｄの頂点におけるスラックＳの値がゼロより大きいことを示している。このとき、Ｓ＝０の直線と原点Ｏとの距離は、原点Ｏと領域Ｄの各頂点との距離よりも常に大きい。
【００４３】
ここで、変数Ｔ，Ｖ１，Ｖ２を形式的に平均０、分散１の正規分布に従う確率変数とみて、それぞれＴ”、Ｖ１”、Ｖ２”と表記し、確率密度関数をそれぞれφ（Ｔ”）、φ（Ｖ１”，Ｖ２”）と表記する。スラックＳも確率変数となるのでＳ”と表記する。さらに、Ｖ１”とＶ２”との相関係数をρとする。
【００４４】
タイミングを満たす条件を求めるために、次式を満たすならば、上記の条件Ａが満たされるようなｋを求める。
【数５】
2011113302.tif 000007
ただしΦ（ｋ）は、標準正規分布の分布関数である。
【００４５】
確率変数をｚ変換によって標準正規分布に変換する。
【数６】
2011113302.tif 000008
上記変換式によって変換されたＳ”およびＤをそれぞれＳ’、Ｄ’と表記すると、条件Ａは、次式のように表記できる。
【数７】
2011113302.tif 000009
…（条件Ａ’）
【００４６】
条件Ａ’を満たすようになるには、領域Ｄ’のすべての頂点において、Ｓ’＞０になればよい。領域Ｄ’は、ξ１ξ２平面において、図１２に示されるように、六角形に変換される。相関係数ρは、ステップＳ２３０において算出されたように、
【数８】
2011113302.tif 000010
であるとき、原点と頂点の最大の距離は、
【数９】
2011113302.tif 000011
となる。−１≦ζ≦１であるから、図１３に示されるように、領域Ｄ’の頂点と原点Ｏの最大距離ｄは次式で算出される。
【数１０】
2011113302.tif 000012
【００４７】
Ｓ’と原点Ｏとの距離がこの値以上であれば、条件Ａ’が満たされる。φは、標準正規分布の密度関数であるから、ｋ＝ｄとなる。ステップＳ２５０では、このｋが判定係数として算出され、判定係数Ｍ５７０に格納される。
【数１１】
2011113302.tif 000013
【００４８】
（ステップＳ２６０）
タイミングレポート、判定係数が算出されると、タイミング判定処理プログラムＭ２６０が起動され、タイミング判定が行われる。スラックの平均値μ、標準偏差σは、統計的タイミング解析のレポートとしてタイミングレポートＭ５５０に出力されている。数５に示される積分計算は、そのスラックの平均値μ、標準偏差σから計算することができる。したがって、その値と、Φ（ｋ）の値を比較することによって、タイミング検証することができる。
【００４９】
すなわち、各パスのスラックの平均値μ、標準偏差σについて下記の条件が満たされているとき、環境コーナーでのパスのタイミング条件が満たされている。
μ−ｋ・σ＞０
すべてのパスについて、上記条件が満たされているとき、回路はタイミング条件を満たしていると判断される。
【００５０】
このように、本発明のタイミング検証方法によれば、１度の統計タイミング解析を行うことによって、全てのコーナー条件のタイミングを検証することができる。また、例えば、多電源回路の電圧コーナー条件においても、少ないマージンでタイミング検証を行うことができる。電源の種類が増加したり、温度条件が複数であったり、環境パラメータが増加しても本発明を適用することが可能である。各処理は、ハードウェアにより実施することも可能であり、一部の処理を専用に実行する装置に置き換えることも可能である。
【００５１】
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではなく、矛盾のない限り組み合わせて実施の可能である。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【００５２】
１０  入力装置
２０  ＣＰＵ
３０  出力装置
４０  記憶装置
Ｍ１１０  正規化処理プログラム
Ｍ１２０  感度付き遅延ライブラリキャラクタライズ処理プログラム
Ｍ１３０  スラック計算処理プログラム
Ｍ１４０  距離算出処理プログラム
Ｍ１５０  判定係数算出処理プログラム
Ｍ１６０  タイミング判定処理プログラム
Ｍ２３０  相関係数算出処理プログラム
Ｍ２４０  統計的タイミング解析処理プログラム
Ｍ２５０  判定係数算出処理プログラム
Ｍ２６０  タイミング判定処理プログラム
Ｍ３００  環境条件
Ｍ３１０  （第１）電圧コーナー条件
Ｍ３１１  正規化後の（第１）電圧コーナー条件
Ｍ３２０  第２電圧コーナー条件
Ｍ３２１  正規化後の第２電圧コーナー条件
Ｍ３３０  温度コーナー条件
Ｍ３３１  正規化後の温度コーナー条件
Ｍ４１０  スパイスモデル
Ｍ４２０  セルネットリスト
Ｍ４３０  感度付き遅延ライブラリ
Ｍ４４０  回路データ
Ｍ４５０  タイミング制約
Ｍ５１０  スラック近似式
Ｍ５２０  スラック距離
Ｍ５３０  判定係数
Ｍ５５０  タイミングレポート
Ｍ５６０  相関係数
Ｍ５７０  判定係数
【図１】
2011113302.tif 000014
【図２】
2011113302.tif 000015
【図３】
2011113302.tif 000016
【図４】
2011113302.tif 000017
【図５】
2011113302.tif 000018
【図６】
2011113302.tif 000019
【図７】
2011113302.tif 000020
【図８】
2011113302.tif 000021
【図９】
2011113302.tif 000022
【図１０】
2011113302.tif 000023
【図１１】
2011113302.tif 000024
【図１２】
2011113302.tif 000025
【図１３】
2011113302.tif 000026