(57)【要約】【課題】ＩＲドロップの影響を考慮して半導体集積回路のタイミング解析を行うこと。【解決手段】タイミング解析方法は、（Ａ）遅延変動率と電圧変動との関係を示す遅延電圧関数を算出するステップと、（Ｂ）ＩＲドロップによる電圧変動と距離との関係を示す電圧距離関数を算出するステップと、（Ｃ）遅延電圧関数と電圧距離関数を組み合わせることによって、ＩＲドロップによる遅延変動率と距離との関係を示す遅延距離関数を算出するステップと、（Ｄ）距離に依存するＯＣＶ係数を、遅延距離関数を用いることによって補正するステップと、（Ｅ）補正後のＯＣＶ係数を用いて、対象回路のタイミング解析を実行するステップと、を含む。【選択図】図３
2012053651.tif 000002
【特許請求の範囲】
【請求項１】
遅延変動率と電圧変動との関係を示す遅延電圧関数を算出するステップと、
ＩＲドロップによる前記電圧変動と距離との関係を示す電圧距離関数を算出するステップと、
前記遅延電圧関数と前記電圧距離関数を組み合わせることによって、ＩＲドロップによる前記遅延変動率と前記距離との関係を示す遅延距離関数を算出するステップと、
前記距離に依存するＯＣＶ係数を、前記遅延距離関数を用いることによって補正するステップと、
前記補正後のＯＣＶ係数を用いて、対象回路のタイミング解析を実行するステップと
を含む
タイミング解析方法。
【請求項２】
請求項１に記載のタイミング解析方法であって、
前記対象回路は、複数の代表インスタンスを含んでおり、
前記複数の代表インスタンスのうち任意の２つは、代表インスタンスペアを構成し、
前記電圧距離関数を算出するステップは、
前記対象回路のレイアウト設計を示すレイアウト設計データを参照して、各代表インスタンスペアの前記２つの代表インスタンス間の距離を算出するステップと、
前記複数の代表インスタンスの各々の平均ＩＲドロップを示す平均ＩＲドロップデータを参照して、各代表インスタンスペアの前記２つの代表インスタンス間の電位差を算出するステップと、
前記各代表インスタンスペアに関して算出された前記距離及び前記電位差に基いて、前記電圧距離関数を決定するステップと
を含む
タイミング解析方法。
【請求項３】
請求項２に記載のタイミング解析方法であって、
更に、前記平均ＩＲドロップデータを作成するステップを含み、
前記平均ＩＲドロップデータを作成するステップは、
前記対象回路に含まれるインスタンスから、前記複数の代表インスタンスを選択するステップと、
前記対象回路のＩＲドロップ解析を行い、前記複数の代表インスタンスの各々の電源電圧波形を算出するステップと、
前記各々の代表インスタンスに関して算出された前記電源電圧波形の時間平均を、前記各々の代表インスタンスの前記平均ＩＲドロップとして算出するステップと
を含む
タイミング解析方法。
【請求項４】
請求項１乃至３のいずれか一項に記載のタイミング解析方法であって、
更に、前記対象回路のレイアウト領域を複数の分割領域に分割するステップを含み、
前記電圧距離関数を算出するステップ、前記遅延距離関数を算出するステップ、及び前記ＯＣＶ係数を補正するステップは、前記複数の分割領域毎に実施され、
前記対象回路のタイミング解析を実行するステップにおいて、対象パスを含む分割領域に対する前記補正後のＯＣＶ係数が用いられる
タイミング解析方法。
【請求項５】
請求項１乃至４のいずれか一項に記載のタイミング解析方法をコンピュータに実行させるためのタイミング解析プログラム。
【請求項６】
遅延変動率と電圧変動との関係を示す遅延電圧関数を算出する遅延電圧関数算出部と、
ＩＲドロップによる前記電圧変動と距離との関係を示す電圧距離関数を算出する電圧距離関数算出部と、
前記遅延電圧関数と前記電圧距離関数を組み合わせることによって、ＩＲドロップによる前記遅延変動率と前記距離との関係を示す遅延距離関数を算出する遅延距離関数算出部と、
前記距離に依存するＯＣＶ係数を、前記遅延距離関数を用いることによって補正するテーブル作成部と、
前記補正後のＯＣＶ係数を用いて、対象回路のタイミング解析を実行するタイミング解析部と
を備える
タイミング解析システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路のタイミング解析に関する。特に、本発明は、ＩＲドロップの影響を考慮した、半導体集積回路のタイミング解析に関する。
【背景技術】
【０００２】
半導体集積回路の設計におけるタイミング解析（タイミング検証）として、一般に、静的タイミング解析（ＳＴＡ：Ｓｔａｔｉｃ  Ｔｉｍｉｎｇ  Ａｎａｌｙｓｉｓ）が行われている。ＳＴＡでは、遅延ファイルに格納されているセル遅延値及び配線遅延値を用いることにより、対象回路中の各信号に関してタイミング解析が行われる。
【０００３】
その一方で、半導体集積回路の製造プロセスにおいて、素子や配線は狙いどおりに製造されない場合がある。つまり、トランジスタの閾値電圧や配線幅等のパラメータは、所望の設計値からばらつく可能性がある。このような製造ばらつき（ｍａｎｕｆａｃｔｕｒｉｎｇ  ｖａｒｉａｂｉｌｉｔｙ）は、回路内の遅延値に影響を与える。従って、設計段階からそのような製造ばらつきを考慮してタイミング解析を実施することが重要である。
【０００４】
一般に、ＳＴＡにおいて製造ばらつきを考慮するために、「ＯＣＶ（Ｏｎ−Ｃｈｉｐ  Ｖａｒｉａｔｉｏｎ）係数」と呼ばれる補正係数が用いられる。より詳細には、遅延ファイルに格納されているセル遅延値や配線遅延値にこのＯＣＶ係数を掛けることにより、各遅延値の補正が行われる。そして、補正後の遅延値が対象パスに適用される。これにより、製造ばらつきを考慮したＳＴＡが可能となる。
【０００５】
また、近年、半導体集積回路の高速化に伴い、電源電圧降下（ＩＲドロップ）の回路遅延への影響も無視できなくなってきている。従って、ＩＲドロップの影響を考慮してタイミング解析を行うことも望まれている。
【０００６】
特許文献１（特開２００８−２８７６６６号公報）は、ＩＲドロップを考慮したタイミング解析を開示している。まず、ＳＰＩＣＥ等の回路シミュレータを用いることにより、対象回路で使用される全てのセル（機能ブロック）に関して、電源電圧の変化による遅延変動が算出される。算出された遅延変動と電源電圧の変化との対応関係は、参照テーブルとして提供される。次に、対象回路に対して電源ノイズ解析が行われ、各インスタンスの電源電圧波形が採取される。更に、その電源電圧波形から、電源電圧変動の時間平均（平均電圧変動）が算出される。続いて、上記参照テーブル及び平均電圧変動に基いて、各インスタンスに関する遅延変動量が算出される。そして、算出された遅延変動量が、理想電源電圧条件でのタイミング解析により得られた遅延値に加算される。これにより、ＩＲドロップを考慮したタイミング解析結果が得られる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−２８７６６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１に記載された技術の場合、タイミング解析の度に、電源ノイズ解析を行って平均電圧変動を算出し、参照テーブルを参照して遅延変動量を計算する必要がある。このことは、タイミング解析に要する時間の増大を招く。特に、タイミング違反が解消されるまでレイアウト修正とタイミング解析が繰り返し実施されることが一般的であるため、タイミング解析時間の増大は設計期間の大幅な増大につながる。
【課題を解決するための手段】
【０００９】
本発明の１つの観点において、タイミング解析方法が提供される。そのタイミング解析方法は、（Ａ）遅延変動率と電圧変動との関係を示す遅延電圧関数を算出するステップと、（Ｂ）ＩＲドロップによる電圧変動と距離との関係を示す電圧距離関数を算出するステップと、（Ｃ）遅延電圧関数と電圧距離関数を組み合わせることによって、ＩＲドロップによる遅延変動率と距離との関係を示す遅延距離関数を算出するステップと、（Ｄ）距離に依存するＯＣＶ係数を、遅延距離関数を用いることによって補正するステップと、（Ｅ）補正後のＯＣＶ係数を用いて、対象回路のタイミング解析を実行するステップと、を含む。
【００１０】
本発明の他の観点において、上記タイミング解析方法をコンピュータに実行させるためのタイミング解析プログラムが提供される。そのタイミング解析プログラムは、コンピュータ読み取り可能な記録媒体に記録されていてもよい。
【００１１】
本発明の更に他の観点において、タイミング解析システムが提供される。そのタイミング解析システムは、遅延変動率と電圧変動との関係を示す遅延電圧関数を算出する遅延電圧関数算出部と、ＩＲドロップによる電圧変動と距離との関係を示す電圧距離関数を算出する電圧距離関数算出部と、遅延電圧関数と電圧距離関数を組み合わせることによって、ＩＲドロップによる遅延変動率と距離との関係を示す遅延距離関数を算出する遅延距離関数算出部と、距離に依存するＯＣＶ係数を、遅延距離関数を用いることによって補正するテーブル作成部と、補正後のＯＣＶ係数を用いて、対象回路のタイミング解析を実行するタイミング解析部と、を備える。
【発明の効果】
【００１２】
本発明によれば、ＩＲドロップの影響を考慮した、半導体集積回路のタイミング解析が可能となる。また、そのタイミング解析に要する時間の増大が抑制される。
【図面の簡単な説明】
【００１３】
【図１】図１は、ＬＯＣＶテーブルの例を示す概念図である。
【図２】図２は、一般的なＳＴＡを説明するための概念図である。
【図３】図３は、本発明の概要を説明するための概念図である。
【図４】図４は、本発明の第１の実施の形態に係るタイミング解析方法を示すフローチャートである。
【図５】図５は、本発明の第１の実施の形態に係るタイミング解析処理を示すブロック図である。
【図６】図６は、ステップＳ３０における処理を示すフローチャートである。
【図７】図７は、ステップＳ３０における処理を説明するための概念図である。
【図８】図８は、本発明の第２の実施の形態に係るタイミング解析処理を示すブロック図である。
【図９】図９は、第２の実施の形態における領域分割処理を説明するための概念図である。
【図１０】図１０は、本発明の実施の形態に係るタイミング解析システムの構成を示すブロック図である。
【発明を実施するための形態】
【００１４】
添付図面を参照して、本発明の実施の形態を説明する。
【００１５】
１．概要
静的タイミング解析（ＳＴＡ）において製造ばらつきを考慮するために、一般に、「ＯＣＶ係数」と呼ばれる補正係数が用いられる。遅延ファイルに格納されているセル遅延値や配線遅延値にこのＯＣＶ係数を掛けることにより、各遅延値の補正が行われる。そして、補正後の遅延値が対象パスに適用される。これにより、製造ばらつきを考慮したＳＴＡが可能となる。
【００１６】
より詳細には、ＯＣＶ係数は、様々な条件に対して用意される。それら様々な条件におけるＯＣＶ係数は、典型的には、テーブル形式で提供される。そのテーブルは、「ＬＯＣＶテーブル」と呼ばれる。図１は、ＬＯＣＶテーブルの一例を示す概念図である。図１に示されるように、ＯＣＶ係数は、解析対象パスの“距離”及び“論理段数”に依存しており、“距離”と“論理段数”の様々な組み合わせに対して用意されている。尚、解析対象パスの“距離（Ｌ）”は、図２で示されるように、“解析対象パスを包含する最小矩形の対角線の長さ”と定義される。
【００１７】
市販の主なＳＴＡツールは、このようなＬＯＣＶテーブルを読み込み、解析対象パスの論理段数や距離を考慮して、ＯＣＶ係数を選択する。ＬＯＣＶテーブルを用いたＳＴＡは、次の参考文献にも記載されている：Ａｙｈａｎ  Ｍｕｔｌｕ  ｅｔ  ａｌ．，  “Ａ  Ｐａｒａｍｅｔｒｉｃ  Ａｐｐｒｏａｃｈ  ｆｏｒ  Ｈａｎｄｌｉｎｇ  Ｌｏｃａｌ  Ｖａｒｉａｔｉｏｎ  Ｅｆｆｅｃｔｓ  ｉｎ  Ｔｉｍｉｎｇ  Ａｎａｌｙｓｉｓ，”  ＤＡＣ  ２００９．
【００１８】
本実施の形態によれば、このようなＳＴＡにおいて、遅延値に対するＩＲドロップの影響が考慮される。より詳細には、ＩＲドロップの影響を考慮して、“距離（Ｌ）”に依存するＯＣＶ係数の補正が行われる。その補正後のＯＣＶ係数を利用することにより、ＩＲドロップの影響を考慮したＳＴＡが可能となる。以下、図３を参照して、本実施の形態の概要を説明する。
【００１９】
まず、遅延変動率Ｄと電圧変動ΔＶとの関係を示す「遅延電圧関数」が算出される。その遅延電圧関数は、次の式（１）で表される。
式（１）：Ｄ＝ｆ１（ΔＶ）
この遅延電圧関数は、回路シミュレーションを通して得ることができる。
【００２０】
その一方で、ＩＲドロップによる電圧変動ΔＶと距離Ｌとの関係を示す「電圧距離関数」が算出される。その電圧距離関数は、次の式（２）で表される。
式（２）：ΔＶ＝ｆ２（Ｌ）
この電圧距離関数は、対象回路のＩＲドロップ解析の結果から得ることができる。
【００２１】
上記式（１）、（２）を組み合わせることによって、遅延変動率Ｄと距離Ｌとの関係を示す「遅延距離関数」を算出することができる。その遅延距離関数は、次の式（３）で表される。
式（３）：Ｄ＝ｆ３（Ｌ）
ここで、式（３）の左辺は、ＩＲドロップによる遅延変動率Ｄを表していることに留意されたい。すなわち、ＩＲドロップに起因する遅延変動率Ｄが、解析対象パスの距離Ｌの関数として表される。
【００２２】
このような遅延距離関数を用いることによって、ＬＯＣＶテーブル（図１参照）中の各ＯＣＶ係数の補正が行われる。その結果、ＩＲドロップの影響が反映されたＬＯＣＶテーブルが作成される。ＳＴＡでは、このＩＲドロップの影響が反映されたＬＯＣＶテーブルが参照される、すなわち、上記補正後のＯＣＶ係数が用いられる。これにより、ＩＲドロップの影響を考慮した高精度なＳＴＡが可能となる。
【００２３】
以上に説明されたように、本実施の形態によれば、遅延値に対するＩＲドロップの影響が、距離Ｌの関数として与えられる。そして、その関数を用いることにより、ＩＲドロップの影響が、距離Ｌに依存するＯＣＶ係数に組み込まれる。そのようなＯＣＶ係数を利用して通常通りＳＴＡを実施するだけで、自動的にＩＲドロップの影響が考慮されることになる。すなわち、ＳＴＡに要する時間は増大しない。テクノロジ毎にＬＯＣＶテーブルを一旦作成しておけば、ＳＴＡを容易に繰り返すことが可能である。このことは、設計期間の抑制につながる。
【００２４】
以下、本発明の実施の形態をより詳しく説明する。
【００２５】
２．第１の実施の形態
図４は、第１の実施の形態に係るタイミング解析方法を示すフローチャートである。図５は、第１の実施の形態に係るタイミング解析処理を示すブロック図である。図４及び図５を適宜参照して、各ステップの処理を詳細に説明する。
【００２６】
２−１．ステップＳ１０（遅延電圧関数の算出）
遅延電圧関数算出部１０は、回路シミュレーションを行い、上記式（１）で表される遅延電圧関数（Ｄ＝ｆ１（ΔＶ））を算出する。この算出は、テクノロジ毎、セル種毎など、ＬＯＣＶテーブルが作成される単位毎に実施される。
【００２７】
より詳細には、遅延電圧関数算出部１０は、当該テクノロジ、セル種を代表するセルに関して回路シミュレーションを実行し、当該セルの遅延時間を算出する。この時、遅延電圧関数算出部１０は、当該セルの電源電圧を２パターン以上に設定し、それぞれの電源電圧に対する遅延時間を算出する。この結果に基いて、遅延電圧関数算出部１０は、遅延変動率Ｄと電圧変動ΔＶとの関係を示す遅延電圧関数を算出することができる。
【００２８】
例えば、あるセルに関して、電源電圧が２．０Ｖの場合と、１．９Ｖの場合とで、回路シミュレーションが実行される。当該セルの入出力信号間の遅延時間が、それぞれ、４．０ｎｓｅｃ（２．０Ｖの場合）、４．１ｎｓｅｃ（１．９Ｖの場合）と算出されたとする。この場合、単位電圧当たりの遅延変動率は、（４．０−４．１）／４．０／（２．０−１．９）＝−０．２５と算出される。ここで、単位電圧当たりの遅延変動率＝−０．２５とは、電源電圧が１Ｖ減少する毎に、遅延時間が、理想電源電圧における遅延時間の２５％ずつ増加することを意味する。尚、本例では、電圧と遅延の線形性を仮定し、２点の電源電圧に対する遅延時間から線形近似が行われているが、それには限られない。３点の電源電圧に対する遅延時間を測定して２次関数で近似するなど、２次以上の多項式や指数関数で近似することも可能である。
【００２９】
遅延電圧関数算出部１０は、このようにして算出した遅延電圧関数を示す遅延電圧関数データＦ１を作成し、その遅延電圧関数データＦ１を記憶装置に格納する。
【００３０】
２−２．ステップＳ２０（ＩＲドロップ解析）
ＩＲドロップ解析部２０は、電源ノイズ解析ツールを用いて対象回路のダイナミックＩＲドロップ解析を行い、対象回路に含まれるインスタンス（回路素子）の電源電圧波形を算出する。ここで、好適には、ＩＲドロップ解析部２０は、対象回路に含まれるインスタンスから代表インスタンスを複数（１００個程度）選択し、それら代表インスタンスの各々の電源電圧波形を（必要に応じてグランド電圧波形も）算出する。好適には、代表インスタンスは、対象回路のレイアウト設計を示すレイアウト設計データＬＡＹ（例えば、ＤＥＦフォーマット）を参照することにより選択される。例えば、代表インスタンスは、チップレイアウト上の位置になるべく偏りがないように選択される。また、代表インスタンスは、無作為に選択されてもよい。
【００３１】
続いて、ＩＲドロップ解析部２０は、各代表インスタンスに関して算出された電源電圧波形（グランド電圧も考慮する場合は、電源電圧波形からグランド電圧波形を減算することにより得られる電圧波形）の時間平均を算出する。時間平均を算出する範囲は、例えば、対象回路内の主なクロック系統または最も周波数の低いクロック系統の１クロック周期である。そして、ＩＲドロップ解析部２０は、算出された時間平均を、当該代表インスタンスの平均ＩＲドロップとする。ＩＲドロップ解析部２０は、このようにして算出した各代表インスタンスの平均ＩＲドロップを示す平均ＩＲドロップデータＩＲＤを作成し、その平均ＩＲドロップデータＩＲＤを記憶装置に格納する。
【００３２】
尚、ダイナミックＩＲドロップ解析の実施が困難な場合、ＩＲドロップ解析部２０は、スタティックＩＲドロップ解析ツールを用いて各代表インスタンスのＩＲドロップを算出し、それを平均ＩＲドロップとしてもよい。また、ＩＲドロップ解析は、半導体集積回路の品種毎に実施されてもよいし、テクノロジ毎に実施されてもよい。
【００３３】
２−３．ステップＳ３０（電圧距離関数の算出）
電圧距離関数算出部３０は、記憶装置から上記平均ＩＲドロップデータＩＲＤ及びレイアウト設計データＬＡＹを読み出し、それらデータに基いて、上記式（２）で表される電圧距離関数（ΔＶ＝ｆ２（Ｌ））を算出する。図６は、ステップＳ３０における処理を示すフローチャートである。
【００３４】
ステップＳ３１：
まず、電圧距離関数算出部３０は、レイアウト設計データＬＡＹ（例えば、ＤＥＦフォーマット）から、各代表インスタンスの座標情報を抽出する。
【００３５】
ステップＳ３２：
次に、電圧距離関数算出部３０は、「代表インスタンスペア」を順番に考慮する。代表インスタンスペアとは、上記選択された全ての代表インスタンスペアのうち任意の２つの代表インスタンスの組である。電圧距離関数算出部３０は、各代表インスタンスペアに関して、２つの代表インスタンス間の“距離Ｌ”及び“電位差ΔＶ”を算出する。２つの代表インタンス間の距離Ｌは、レイアウト設計データＬＡＹから抽出された上記座標情報に基いて算出可能である。一方、２つの代表インスタンス間の電位差ΔＶ（平均ＩＲドロップの差分）は、上記平均ＩＲドロップデータＩＲＤに基いて算出可能である。このようにして、全ての代表インスタンスペアに関して距離Ｌと電位差ΔＶ（平均ＩＲドロップの差分）との対応関係を示すリスト（距離電位差リスト１）が作成される。
【００３６】
ステップＳ３３：
最後に、電圧距離関数算出部３０は、ステップＳ３２で作成されたリストに基いて、電圧距離関数（ΔＶ＝ｆ２（Ｌ））を導出する。つまり、電圧距離関数算出部３０は、ステップＳ３２で得られた各代表インスタンスペアに関する距離Ｌと電位差ΔＶ（平均ＩＲドロップの差分）との対応関係に基いて、電圧距離関数を導出する。電圧距離関数は、例えば多次元多項式や指数関数などで表される。図７は、導出される電圧距離関数を概念的に示している。
【００３７】
電圧距離関数の導出例を以下に説明する。上記の距離電位差リスト１を、距離の昇順にソートし、これを距離電位差リスト２とする。距離０以上０．１ｍｍ未満、０．１ｍｍ以上０．２ｍｍ未満、０．２ｍｍ以上０．３ｍｍ未満というように、決められた範囲（この場合０．１ｍｍ）で上記リスト内を順次（リストの最後まで）探索し、各範囲の中で最も電位差の大きいインスタンスペアを選択し、その距離と電位差のデータを距離電位差リスト３（初期値は距離０、電位差０のみを含むリスト）に追加する。ここで、当該範囲内にインスタンスペアが存在しない、または当該範囲の電位差の最大値がそれより前に探索された範囲における電位差の最大値以下の場合は、当該範囲のデータは距離電位差リスト３に追加しない。次に、距離電位差リスト３の距離と電位差を２次元ｘｙ平面上にプロットし、リスト上のデータに対応する点をリストの順に結んだ線分の連なりが凸多角形の一部を構成するように、必要に応じて一部の点を削除する（内角が１８０度以上の場合は対応する点を削除する）。この結果残った各点について、最小二乗法などにより２次式に近似する。
【００３８】
電圧距離関数算出部３０は、このようにして算出した電圧距離関数を示す電圧距離関数データＦ２を作成し、その電圧距離関数データＦ２を記憶装置に格納する。
【００３９】
２−４．ステップＳ４０（遅延距離関数の算出）
遅延距離関数算出部４０は、記憶装置から遅延電圧関数データＦ１及び電圧距離関数データＦ２を読み出す。そして、遅延距離関数算出部４０は、遅延電圧関数（Ｄ＝ｆ１（ΔＶ））と電圧距離関数（ΔＶ＝ｆ２（Ｌ））とを組み合わせることによって、上記式（３）で表される遅延距離関数（Ｄ＝ｆ３（Ｌ））を算出する。
【００４０】
例えば、次のような状況を考える。
遅延電圧関数：Ｄ＝ｆ１（ΔＶ）＝ｒΔＶ
電圧距離関数：ΔＶ＝ｆ２（Ｌ）＝ａＬ２＋ｂＬ＋ｃ
ｒ，ａ，ｂ，ｃ：係数
この場合、
遅延距離関数：Ｄ＝ｆ３（Ｌ）＝ｒ×（ａＬ２＋ｂＬ＋ｃ）
と算出される。この式の左辺のＤは、ＩＲドロップによる遅延変動率を表している
【００４１】
遅延距離関数算出部４０は、このようにして算出した遅延距離関数を示す遅延距離関数データＦ３を作成し、その遅延距離関数データＦ３を記憶装置に格納する。
【００４２】
２−５．ステップＳ５０（ＬＯＣＶテーブル作成）
ＬＯＣＶテーブル作成部５０は、ＬＯＣＶテーブルＴＢＬを作成する。この時、ＬＯＣＶテーブル作成部５０は、記憶装置から遅延距離関数データＦ３を読み出し、遅延距離関数（Ｄ＝ｆ３（Ｌ））を用いることによって、距離Ｌに依存するＯＣＶ係数を補正する。その結果、ＩＲドロップの影響が反映されたＬＯＣＶテーブルＴＢＬが作成される。
【００４３】
例えば、ＬＯＣＶテーブル作成部５０は、まず、プロセスばらつきのランダム成分およびシステマティック成分に起因するＯＣＶ係数を、通常通り算出し（例えば、特開２００７‐３２３６７３号公報を参照）、通常のＬＯＣＶテーブル（図１参照）を作成する。続いて、ＬＯＣＶテーブル作成部５０は、Ｈｏｌｄ解析のＣａｐｔｕｒｅパス（図２参照）に適用されるＯＣＶ係数に、補正係数“１＋Ｄ”を乗じる。また、ＬＯＣＶテーブル作成部５０は、Ｓｅｔｕｐ解析のＣａｐｔｕｒｅパスに適用されるＯＣＶ係数に、補正係数“１−Ｄ”を乗じる。あるいは、ＬＯＣＶテーブル作成部５０は、Ｈｏｌｄ解析のＬａｕｎｃｈパス（図２参照）に適用されるＯＣＶ係数に、補正係数“１−Ｄ”を乗じ、Ｓｅｔｕｐ解析のＬａｕｎｃｈパスに適用されるＯＣＶ係数に、補正係数“１＋Ｄ”を乗じてもよい。このようにして、ＩＲドロップの影響が組み込まれる。
【００４４】
尚、ＬＯＣＶテーブルＴＢＬは、テクノロジ毎、セル種毎に作成される。作成されたＬＯＣＶテーブルＴＢＬは、記憶装置に格納される。
【００４５】
２−６．ステップＳ６０（タイミング解析）
タイミング解析部６０は、ＳＴＡツール、レイアウト設計データＬＡＹ、ＬＯＣＶテーブルＴＢＬを用いて、従来と同じ手順でＳＴＡを実行する。ＬＯＣＶテーブルＴＢＬにＩＲドロップの影響が既に反映されているため、従来と同じ手順であっても、ＩＲドロップの影響を考慮した高精度なＳＴＡが可能となる。
【００４６】
２−７．効果
以上に説明されたように、本実施の形態によれば、遅延値に対するＩＲドロップの影響が、距離Ｌの関数として与えられる。そして、その関数を用いることにより、ＩＲドロップの影響が、距離Ｌに依存するＯＣＶ係数に組み込まれる。そのようなＯＣＶ係数を利用して通常通りＳＴＡを実施するだけで、自動的にＩＲドロップの影響が考慮されることになる。すなわち、ＳＴＡに要する時間は増大しない。テクノロジ毎にＬＯＣＶテーブルＴＢＬを一旦作成しておけば、ＳＴＡを容易に繰り返すことが可能である。このことは、設計期間の抑制につながる。
【００４７】
また、本実施の形態によれば、遅延値に対するＩＲドロップの影響が“適切”に考慮されている。比較例として、本実施の形態に係るＬＯＣＶテーブルＴＢＬを用いることなく、ＩＲドロップの影響をＳＴＡにおいて考慮することを考える。何の指針も無い場合、ＬａｕｎｃｈパスまたはＣａｐｔｕｒｅパスのいずれか一方に最大のＩＲドロップが発生し、もう一方にはＩＲドロップが全く発生していないという、最も悲観的な状況を想定する必要がある。しかしながら、徒に悲観的な状況を想定することは、設計のやり直し回数の増大、設計マージンの増大、チップ面積の増大、回路動作周波数の低下などを招き、好ましくない。一方、本実施の形態では、遅延距離関数に基づくＯＣＶ係数の補正により、ＩＲドロップの影響が適切に考慮に入れられる。従って、設計のやり直し回数が減少し、設計期間が短縮される。更に、設計マージンが削減されることにより、チップ面積が低減され、また、回路動作周波数が向上する。
【００４８】
本実施の形態に係るＬＯＣＶテーブルＴＢＬの作成は、テクノロジ毎に１回実施すればよく、設計期間への影響は殆どない。更に、ＬＯＣＶテーブルＴＢＬの作成に要する処理時間も、実用上問題にならない。ステップＳ１０は、一般的に行われている処理であり、処理時間の増加は無い。ステップＳ２０、Ｓ３０の処理は、全てのインスタンスに対して行われるわけではなく、限られた数（１００個程度）の代表インスタンスに対してだけ行われる。従って、必要な処理時間やメモリ容量は、実用上問題とはならない。ステップＳ４０の処理は、単なる関数の代入であり、処理時間は殆ど増加しない。ステップＳ５０の処理も、遅延距離関数を用いることにより容易に可能であり、処理時間は殆ど増加しない。尚、ＬＯＣＶテーブルＴＢＬの作成は、テクノロジ毎に１回実施すればよいが、精度を上げたい場合は品種毎に行うことも可能である。
【００４９】
このように、本実施の形態に係る手法による処理時間、設計期間、計算機資源の増加は殆ど無い。よって、既存の設計フローの枠組みの中に本手法を容易に組み込むことができる。
【００５０】
３．第２の実施の形態
レイアウト平面上において、ＩＲドロップは均一ではなく、ＩＲドロップが強い領域も弱い領域も存在するかもしれない。そこで、第２の実施の形態では、精度をより高めるために、レイアウト平面が分割され、分割領域毎にＯＣＶ係数の補正が行われる。
【００５１】
図８は、第２の実施の形態に係るタイミング解析処理を示すブロック図である。第１の実施の形態と重複する説明は、適宜省略される。第２の実施の形態では、第１の実施の形態における構成に加えて、領域分割部７０が追加されている。領域分割部７０は、レイアウト設計データＬＡＹを参照し、図９に示されるように、対象回路のレイアウト領域を複数の分割領域ＤＲに分割する。図９に示される例では、レイアウト領域が、上下左右４個の分割領域ＤＲ１〜ＤＲ４に分割されている。領域分割部７０は、それぞれの分割領域を示す分割領域データＤＩＶを作成し、その分割領域データＤＩＶを記憶装置に格納する。
【００５２】
ステップＳ３０において、電圧距離関数算出部３０は、分割領域データＤＩＶを参照して、分割領域ＤＲ毎に処理を実施する。その結果、分割領域ＤＲ毎に、電圧距離関数データＦ２が作成される。ステップＳ４０において、遅延距離関数算出部４０は、分割領域ＤＲ毎の電圧距離関数データＦ２を用いて、分割領域毎に遅延距離関数データＦ３を作成する。ステップＳ５０において、ＬＯＣＶテーブル作成部５０は、分割領域毎の遅延距離関数データＦ３を用いて、分割領域毎にＬＯＣＶテーブルＴＢＬを作成する。
【００５３】
ステップＳ６０において、タイミング解析部６０はＳＴＡを実行する。この時、タイミング解析部６０は、分割領域データＤＩＶも参照し、解析対象パスを含む分割領域ＤＲに対するＬＯＣＶテーブルＴＢＬに記述されたＯＣＶ係数を用いる。例えば、解析対象パスが分割領域ＤＲ１に含まれる場合、当該分割領域ＤＲ１に対応するＬＯＣＶテーブルＴＢＬに記述されたＯＣＶ係数が用いられる。解析対象パスが複数の分割領域ＤＲにまたがっている場合は、最も悲観的なＯＣＶ係数（１との差が最も大きいＯＣＶ係数）が採用される。例えば、解析対象パスが分割領域ＤＲ１、ＤＲ２にまたがっており、分割領域ＤＲ１に対応するＬＯＣＶテーブルＴＢＬからはＯＣＶ係数＝１．１が得られ、分割領域ＤＲ２に対応するＬＯＣＶテーブルＴＢＬからはＯＣＶ係数＝１．２が得られる場合、タイミング解析部６０は、ＯＣＶ係数＝１．２を採用し、解析対象パスに適用する。
【００５４】
本実施の形態によれば、ＳＴＡにおいて、分割領域ＤＲに応じたＯＣＶ係数が適用される。従って、レイアウト上でＩＲドロップの大きさが不均一である場合に、ＩＲドロップを考慮したＳＴＡの精度が向上する。また、設計マージンが削減され、好適である。尚、本実施の形態において、ステップＳ２０〜Ｓ５０は、半導体集積回路の品種毎に実施される。
【００５５】
４．タイミング解析システム
図１０は、本発明の実施の形態に係るタイミング解析システム１００の構成を示すブロック図である。タイミング解析システム１００は、本発明に係るタイミング解析処理を実現するコンピュータシステムである。詳細には、タイミング解析システム１００は、処理装置１１０及び記憶装置１２０を備えている。処理装置１１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を含む。記憶装置１２０は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）やＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）を含む。
【００５６】
記憶装置１２０には、上述の遅延電圧関数データＦ１、電圧距離関数データＦ２、遅延距離関数データＦ３、平均ＩＲドロップデータＩＲＤ、レイアウト設計データＬＡＹ、ＬＯＣＶテーブルＴＢＬ、分割領域データＤＩＶといった各種データが格納される。
【００５７】
処理装置１１０は、上述の遅延電圧関数算出部１０、ＩＲドロップ解析部２０、電圧距離関数算出部３０、遅延距離関数算出部４０、ＬＯＣＶテーブル作成部５０、タイミング解析部６０、領域分割部７０といった各種機能ブロックを備える。これら機能ブロックは、記憶装置１２０から必要なデータを読み出し、上述の処理を実行する。
【００５８】
また、処理装置１１０の各機能ブロックは、処理装置１１０がタイミング解析プログラムＰＲＯＧを実行することにより実現される。タイミング解析プログラムＰＲＯＧは、本発明に係るタイミング解析処理をコンピュータ（処理装置１１０）に実行させるためのコンピュータプログラムである。このタイミング解析プログラムＰＲＯＧは、記憶装置１２０に格納されており、処理装置１１０によって読み込まれ、実行される。また、タイミング解析プログラムＰＲＯＧは、コンピュータ読み取り可能な記録媒体に記録されていてもよい。
【００５９】
以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。
【符号の説明】
【００６０】
１０    遅延電圧関数算出部
２０    ＩＲドロップ解析部
３０    電圧距離関数算出部
４０    遅延距離関数算出部
５０    ＬＯＣＶテーブル作成部
６０    タイミング解析部
７０    領域分割部
１００    タイミング解析システム
１１０    処理装置
１２０    記憶装置
Ｆ１    遅延電圧関数データ
Ｆ２    電圧距離関数データ
Ｆ３    遅延距離関数データ
ＩＲＤ    平均ＩＲドロップデータ
ＬＡＹ    レイアウト設計データ
ＴＢＬ    ＬＯＣＶテーブル
ＤＩＶ    分割領域データ
ＰＲＯＧ  タイミング解析プログラム
【図１】
2012053651.tif 000003
【図２】
2012053651.tif 000004
【図３】
2012053651.tif 000005
【図４】
2012053651.tif 000006
【図５】
2012053651.tif 000007
【図６】
2012053651.tif 000008
【図７】
2012053651.tif 000009
【図８】
2012053651.tif 000010
【図９】
2012053651.tif 000011
【図１０】
2012053651.tif 000012