(57)【要約】【課題】遅延計算に要する処理時間を短縮して、タイミング解析全体に要する処理時間を短縮可能とする。【解決手段】タイミング解析方法は、半導体チップ上にレイアウトされた回路に対して電圧降下解析を行い、電圧降下解析結果に基づいて、チップ上の電圧降下を所定の電圧範囲ごとの領域として電圧降下領域ファイルを作成し、遅延のばらつきを表現する第１ＯＣＶ係数が電圧降下を考慮して所定の電圧ごとに対応付けられたＯＣＶ係数ファイルを用いて、電圧降下領域ファイルの所定の電圧範囲に対応する第２ＯＣＶ係数を領域ごとに算出し、算出した第２ＯＣＶ係数と領域とを対応付けてＯＣＶ領域ファイルを作成し、遅延ライブラリを用いてレイアウトされた回路に対して遅延計算を行い、遅延計算結果とＯＣＶ領域ファイルの領域ごとの第２ＯＣＶ係数を用いてタイミング解析を行う。【選択図】図２
2012174111.tif 000002
【特許請求の範囲】
【請求項１】
半導体チップ上にレイアウトされた回路に対して電圧降下解析を行う電圧降下解析ステップと、
前記電圧降下解析の結果に基づいて、前記半導体チップ上の電圧降下を所定の電圧範囲ごとの領域として記載した電圧降下領域ファイルを作成する電圧降下領域ファイル作成ステップと、
遅延のばらつきを表現する第１のばらつき係数が、電圧降下を考慮して所定の電圧ごとに対応付けられて記載されたばらつき係数ファイルを用いて、前記電圧降下領域ファイルに記載された前記所定の電圧範囲に対応する第２のばらつき係数を前記領域ごとに算出し、当該算出した第２のばらつき係数と前記領域とを対応付けて記載したばらつき領域ファイルを作成するばらつき領域ファイル作成ステップと、
遅延ライブラリを用いて、前記レイアウトされた回路に対して遅延計算を行う遅延計算ステップと、
前記遅延計算の結果と、前記ばらつき領域ファイルに記載された前記領域ごとの前記第２のばらつき係数と、を用いて、前記レイアウトされた回路に対してタイミング解析を行うタイミング解析ステップと、
を有するタイミング解析方法。
【請求項２】
前記タイミング解析ステップは、
前記遅延計算の結果に該当する領域の第３のばらつき係数を、前記ばらつき領域ファイルに記載された前記領域ごとの前記第２のばらつき係数のうちから求め、当該求めた第３のばらつき係数を前記遅延計算の結果に乗算するばらつき係数掛けステップと、
前記第３のばらつき係数が乗算された前記遅延計算の結果に基づいて、検査対象となるパス毎のタイミング計算処理を行うタイミング計算ステップと、
を有することを特徴とする請求項１に記載のタイミング解析方法。
【請求項３】
１回目の前記ばらつき領域ファイル作成ステップにおいて、１回目の前記ばらつき領域ファイルを作成した場合には、
以後の前記タイミング解析ステップにおいては、前記１回目に作成した前記ばらつき領域ファイルを用いて、前記タイミング解析を行う
ことを特徴とする請求項１又は２に記載のタイミング解析方法。
【請求項４】
前記電圧降下領域ファイル作成ステップは、
前記電圧降下領域ファイルを作成する際に、前記電圧降下領域ファイルに記載する前記領域の形状を矩形領域とし、かつ、各前記領域に対して当該領域における電圧降下に応じた優先順位を定めて記載する
ことを特徴とする請求項１乃至３のいずれか１項に記載のタイミング解析方法。
【請求項５】
半導体チップ上にレイアウトされた回路に対して電圧降下解析を行う電圧降下解析手段と、
前記電圧降下解析の結果に基づいて、前記半導体チップ上の電圧降下を所定の電圧範囲ごとの領域として記載した電圧降下領域ファイルを作成する電圧降下領域ファイル作成手段と、
遅延のばらつきを表現する第１のばらつき係数が、電圧降下を考慮して所定の電圧ごとに対応付けられて記載されたばらつき係数ファイルを用いて、前記電圧降下領域ファイルに記載された前記所定の電圧範囲に対応する第２のばらつき係数を前記領域ごとに算出し、当該算出した第２のばらつき係数と前記領域とを対応付けて記載したばらつき領域ファイルを作成するばらつき領域ファイル作成手段と、
遅延ライブラリを用いて、前記レイアウトされた回路に対して遅延計算を行う遅延計算手段と、
前記遅延計算の結果と、前記ばらつき領域ファイルに記載された前記領域ごとの前記第２のばらつき係数と、を用いて、前記レイアウトされた回路に対してタイミング解析を行うタイミング解析手段と、
を備えるタイミング解析装置。
【請求項６】
前記タイミング解析手段は、
前記遅延計算の結果に該当する領域の第３のばらつき係数を、前記ばらつき領域ファイルに記載された前記領域ごとの前記第２のばらつき係数のうちから求め、当該求めた第３のばらつき係数を前記遅延計算の結果に乗算するばらつき係数掛け手段と、
前記第３のばらつき係数が乗算された前記遅延計算の結果に基づいて、検査対象となるパス毎のタイミング計算処理を行うタイミング計算手段と、
を備えることを特徴とする請求項５に記載のタイミング解析装置。
【請求項７】
１回目の前記ばらつき領域ファイル作成手段が、１回目の前記ばらつき領域ファイルを作成した場合には、
以後の前記タイミング解析手段は、前記１回目に作成した前記ばらつき領域ファイルを用いて、前記タイミング解析を行う
ことを特徴とする請求項５又は６に記載のタイミング解析装置。
【請求項８】
前記電圧降下領域ファイル作成手段は、
前記電圧降下領域ファイルを作成する際に、前記電圧降下領域ファイルに記載する前記領域の形状を矩形領域とし、かつ、各前記領域に対して当該領域における電圧降下に応じた優先順位を定めて記載する
ことを特徴とする請求項５乃至７のいずれか１項に記載のタイミング解析装置。
【請求項９】
半導体チップ上にレイアウトされた回路に対して電圧降下解析を行う処理と、
前記電圧降下解析の結果に基づいて、前記半導体チップ上の電圧降下を所定の電圧範囲ごとの領域として記載した電圧降下領域ファイルを作成する処理と、
遅延のばらつきを表現する第１のばらつき係数が、電圧降下を考慮して所定の電圧ごとに対応付けられて記載されたばらつき係数ファイルを用いて、前記電圧降下領域ファイルに記載された前記所定の電圧範囲に対応する第２のばらつき係数を前記領域ごとに算出し、当該算出した第２のばらつき係数と前記領域とを対応付けて記載したばらつき領域ファイルを作成する処理と、
遅延ライブラリを用いて、前記レイアウトされた回路に対して遅延計算を行う処理と、
前記遅延計算の結果と、前記ばらつき領域ファイルに記載された前記領域ごとの前記第２のばらつき係数と、を用いて、前記レイアウトされた回路に対してタイミング解析を行う処理と、
をコンピュータに実行させるタイミング解析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体設計において、電源電圧降下を考慮したタイミング解析方法、タイミング解析装置、およびタイミング解析プログラムに関する。
【背景技術】
【０００２】
近年の半導体設計では、半導体の微細化と規模の拡大に伴う電源電圧降下（以下、ＩＲ−Ｄｒｏｐと称する場合がある。）の影響により、遅延劣化が顕著になってきている。このため、タイミング設計においては、ＩＲ−Ｄｒｏｐを考慮することが不可欠になってきている。さらに、ＩＲ−Ｄｒｏｐの影響を加味してタイミングの検証を行う際には、半導体の高速化によってタイミング制約が厳しいものとなっていることから、タイミングの検証に要する処理時間が増加している。
【０００３】
タイミング解析に要する処理時間は製品開発期間に大きく影響を及ぼす。従って、製品開発コストを下げるためには、ＩＲ−Ｄｒｏｐの影響を考慮したタイミング解析を、高速に処理可能とすることが強く求められている。
【０００４】
例えば特許文献１には、ＩＲ―Ｄｒｏｐを考慮したタイミング解析に関して、処理時間の短縮化を目的とするタイミング検証方法が開示されている。この方法は、ＩＲ−Ｄｒｏｐ解析に要する処理時間の短縮を目的とする技術であり、ＥＣＯによってタイミングエラー修正を繰り返す際に、１回目の処理において、作成された電圧降下リストを用いてタイミング解析を行なう一方で、２階目以降の処理において、更新された電圧降下リストを用いてタイミング解析を行なうものである。これにより、精度を保ちながら、処理時間の短縮を図っている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１１２２６８号
【特許文献２】特開平１１?２５９５５５号
【非特許文献】
【０００６】
【非特許文献１】菊池原秀行、栗本雅弘、田代雅久、菊池秀和、堀川正永著、「シグナルインテグリティを考慮したタイミング収束手法」、沖テクニカルレビュー、２００３年１０月／第１９５号Ｖｏｌ．７０  ＮＯ．４
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、タイミング解析を行う際の処理フローとしては、遅延計算を行う工程と、タイミング検証（ＳＴＡ）を行う工程と、を含んだタイミング解析処理フローがよく知られている（例えば非特許文献１を参照。）。
【０００８】
また、最も典型的な遅延計算方法の１つとして、セルの遅延時間を記述したセル遅延ライブラリを使用する方法が知られている（例えば、特許文献２を参照）。この方法は、セルベースの集積回路の遅延計算をその対象としている。セル遅延ライブラリには、典型的には、セルの遅延時間の入力波形鈍り（即ち、入力信号のＳｌｅｗ）、及び／又は負荷容量に対する依存性を記述したテーブルが格納される。そして、この方法では、計算対象の集積回路のネットリストが与えられると、セル遅延ライブラリのテーブルルックアップによって、対象の集積回路に集積化されているセルそれぞれの遅延時間が取得され、取得された各セルの遅延時間から対象部分の遅延計算が行われる。
【０００９】
しかしながら、遅延ライブラリを使用して遅延計算を行うという従来手法に関して、ＩＲ−Ｄｒｏｐを考慮して遅延計算を行う場合には、少なくとも２つの異なる電圧において遅延ライブラリを読み込み、各インスタンスにおける電圧について遅延計算を行う必要がある。この結果、インスタンスの電圧値における遅延値を補間することで遅延を求めるために、多くの計算時間が必要になる。すなわち、遅延計算において複数の遅延ライブラリを必要とするために、遅延計算に多くの処理時間を要するという問題がある。
【００１０】
以下、この問題点について、特許文献１に開示されたタイミング検証方法を例にして具体的に説明する。
図１１に、特許文献１に開示されたタイミング検証方法に関するタイミング解析処理フローを示す。図１１に示すように、タイミング解析処理フローには、遅延計算を行う工程（ステップＳ８０１）と、ＳＴＡ（Static Timing Analysys）を行う工程（ステップＳ８０２）と、が含まれている（特許文献１の段落００２８など参照）。また、図１１では、ＩＲ−Ｄｒｏｐによる影響をタイミング検証に反映させるために、インスタンス毎のＩＲ−Ｄｒｏｐ値リスト（Ｆ１１０）が、遅延計算に先立って作成されている。
【００１１】
ここで、ステップＳ８０１での遅延計算処理に関して、特許文献１にはその詳細が明確には記載されていないものの、ネットリストファイル（Ｆ１０１）と、ＳＰＥＦファイル（Ｆ１０３）と、遅延ライブラリ（Ｆ１０５）と、インスタンス毎のＩＲ−Ｄｒｏｐ値リスト（Ｆ１１１）と、が入力されて、インスタンスの遅延値と配線の遅延値についての遅延計算を行っているものと考えられる。
【００１２】
上述したように、遅延ライブラリを使用する典型的な遅延計算方法（特許文献２など）では、遅延ライブラリの電圧条件で遅延計算を行う。このため、特許文献１に開示されたタイミング検証方法においても同様の遅延計算方法が採用されているならば、ステップＳ８０１で使用される遅延ライブラリに関して、インスタンス毎のＩＲ−Ｄｒｏｐ値リスト（Ｆ１１０）に記載されたインスタンスの電圧単位に応じて、遅延ライブラリを準備する必要がある。この結果、ステップＳ８０１の遅延計算処理に際しては、多数の遅延ライブラリを必要とし、かつ、多数の遅延ライブラリを読み込む必要がある。すなわち、ステップＳ８０１の遅延計算処理では、少なくとも２つの異なる電圧での遅延ライブラリを読み込み、それぞれの電圧値での遅延計算を行い、インスタンスの電圧値における遅延値を補間して求める必要がある。このため、ステップＳ８０１での遅延計算には多くの処理時間を要することになる。
【００１３】
本発明は、上記事情に鑑みてなされたものであり、遅延計算に要する処理時間を短縮して、タイミング解析全体に要する処理時間を短縮可能なタイミング解析方法、タイミング解析装置、およびタイミング解析プログラムを提供する。
【課題を解決するための手段】
【００１４】
本発明の第１の態様にかかるタイミング解析方法は、半導体チップ上にレイアウトされた回路に対して電圧降下解析を行う電圧降下解析ステップと、前記電圧降下解析の結果に基づいて、前記半導体チップ上の電圧降下を所定の電圧範囲ごとの領域として記載した電圧降下領域ファイルを作成する電圧降下領域ファイル作成ステップと、遅延のばらつきを表現する第１のばらつき係数が、電圧降下を考慮して所定の電圧ごとに対応付けられて記載されたばらつき係数ファイルを用いて、前記電圧降下領域ファイルに記載された前記所定の電圧範囲に対応する第２のばらつき係数を前記領域ごとに算出し、当該算出した第２のばらつき係数と前記領域とを対応付けて記載したばらつき領域ファイルを作成するばらつき領域ファイル作成ステップと、遅延ライブラリを用いて、前記レイアウトされた回路に対して遅延計算を行う遅延計算ステップと、前記遅延計算の結果と、前記ばらつき領域ファイルに記載された前記領域ごとの前記第２のばらつき係数と、を用いて、前記レイアウトされた回路に対してタイミング解析を行うタイミング解析ステップと、を有する。
【００１５】
本発明の第２の態様にかかるタイミング解析装置は、半導体チップ上にレイアウトされた回路に対して電圧降下解析を行う電圧降下解析手段と、前記電圧降下解析の結果に基づいて、前記半導体チップ上の電圧降下を所定の電圧範囲ごとの領域として記載した電圧降下領域ファイルを作成する電圧降下領域ファイル作成手段と、遅延のばらつきを表現する第１のばらつき係数が、電圧降下を考慮して所定の電圧ごとに対応付けられて記載されたばらつき係数ファイルを用いて、前記電圧降下領域ファイルに記載された前記所定の電圧範囲に対応する第２のばらつき係数を前記領域ごとに算出し、当該算出した第２のばらつき係数と前記領域とを対応付けて記載したばらつき領域ファイルを作成するばらつき領域ファイル作成手段と、遅延ライブラリを用いて、前記レイアウトされた回路に対して遅延計算を行う遅延計算手段と、前記遅延計算の結果と、前記ばらつき領域ファイルに記載された前記領域ごとの前記第２のばらつき係数と、を用いて、前記レイアウトされた回路に対してタイミング解析を行うタイミング解析手段と、を備える。
【００１６】
本発明の第２の態様にかかるタイミング解析プログラムは、半導体チップ上にレイアウトされた回路に対して電圧降下解析を行う処理と、前記電圧降下解析の結果に基づいて、前記半導体チップ上の電圧降下を所定の電圧範囲ごとの領域として記載した電圧降下領域ファイルを作成する処理と、遅延のばらつきを表現する第１のばらつき係数が、電圧降下を考慮して所定の電圧ごとに対応付けられて記載されたばらつき係数ファイルを用いて、前記電圧降下領域ファイルに記載された前記所定の電圧範囲に対応する第２のばらつき係数を前記領域ごとに算出し、当該算出した第２のばらつき係数と前記領域とを対応付けて記載したばらつき領域ファイルを作成する処理と、遅延ライブラリを用いて、前記レイアウトされた回路に対して遅延計算を行う処理と、前記遅延計算の結果と、前記ばらつき領域ファイルに記載された前記領域ごとの前記第２のばらつき係数と、を用いて、前記レイアウトされた回路に対してタイミング解析を行う処理と、をコンピュータに実行させる。
【発明の効果】
【００１７】
本発明によれば、遅延計算に要する処理時間を短縮して、タイミング解析全体に要する処理時間を短縮可能なタイミング解析方法、タイミング解析装置、およびタイミング解析プログラムを提供することができる。
【図面の簡単な説明】
【００１８】
【図１】実施の形態１にかかるタイミング解析装置を実施するためのコンピュータシステム構成の一例を示す図である。
【図２】実施の形態１にかかるタイミング解析装置によるタイミング解析の手順を示すフローチャートである。
【図３】実施の形態１にかかるＩＲ−Ｄｒｏｐ解析結果ファイルの出力例を示す図である。
【図４】実施の形態１にかかるＩＲ−Ｄｒｏｐ解析結果ファイルに記載された情報を、半導体チップ上の領域で概念的に表現した図である。
【図５】実施の形態１にかかる電圧降下領域ファイルの出力例を示す図である。
【図６】実施の形態１にかかる電圧降下領域ファイルに記載された情報を、半導体チップ上の領域で概念的に表現した図である。
【図７】実施の形態１にかかるＯＣＶ係数値ファイルの例を示す図である。
【図８】実施の形態１にかかるＯＣＶ領域ファイルの出力例を示す図である。
【図９】実施の形態１にかかる遅延計算・領域毎ＯＣＶのＳＴＡ処理について、より詳細な手順を示すフローチャートである。
【図１０】実施の形態１にかかるＳＴＡ処理について、より詳細な手順を示すフローチャートである。
【図１１】本発明の課題を説明するための図である。
【発明を実施するための形態】
【００１９】
実施の形態１．
以下、図面を参照して本発明の実施の形態について説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略している。なお、各図面において、同一の要素には同一の符号を付し、必要に応じて重複説明を省略する。
【００２０】
図１〜図１０を用いて、本実施の形態にかかるタイミング解析方法、タイミング解析装置、およびタイミング解析プログラムについて説明する。
まず本実施の形態に係るタイミング解析装置のハードウェア構成について、図１を参照しながら説明する。
【００２１】
図１は、本実施の形態にかかるタイミング解析装置を実施するためのコンピュータシステム構成の一例を示す図である。図１に示すように、コンピュータシステム３００は、サーバ３０１と、ネットワーク３０５と、複数のコンピュータ装置３０６と、を備えている。
【００２２】
まず、ネットワーク３０５は、コンピュータ装置３０６とサーバ３０１との間の通信を接続する。例えば、ネットワーク３０５は、移動体通信網や、専用線網や、ＬＡＮ（Local Area Network）といった有線通信や無線通信を含めた各種のネットワーク、あるいはこれらのネットワークが相互に接続されたネットワークを適用可能である。
【００２３】
サーバ３０１は、ＣＰＵ（Central Processing Unit）で構成される処理部３０２と、記録媒体３０３と、入出力インターフェースである入出力部３０４と、を用いて構成されている。
【００２４】
また、サーバ３０１は、本実施の形態におけるタイミング解析装置を実現するための実行プログラムや、ネットリストデータ、インスタンスの情報などのデータを、記録媒体３０３に記憶している。実行プログラムには、後述するタイミング解析処理のためのプログラム（タイミング解析プログラム）が含まれている。記録媒体３０３は、ハードディスクやＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）などの記憶装置を用いて構成されている。
【００２５】
さらに、サーバ３０１は、記録媒体３０３に記憶されたサーバ３０１の機能を実現するための実行プログラムを、処理部３０２により読み込んで実行することで、サーバ３０１の機能を実現する。なお、各実行プログラムやデータは、サーバ３０１の管理者により、キーボードやマウスや、ＬＣＤ（Liquid Crystal Display）といった入出力部３０４を用いて、外部から記録媒体３０３へと記憶される。上述の構成により、サーバ３０１は、実行プログラムやデータを、ネットワーク３０５を介してコンピュータ装置３０６へ提供することが可能である。
【００２６】
各コンピュータ装置３０６は、通信部３０７と、記録媒体３０８と、ＣＰＵで構成される処理部３０９と、入出力インターフェースである入出力部３１０と、を用いて構成されている。
【００２７】
また、コンピュータ装置３０６は、本実施の形態におけるタイミング解析装置を実現するための生成システムを実行する。コンピュータ装置３０６は、例えば、パーソナルコンピュータのような一般的な汎用コンピュータである。コンピュータ装置３０６は、通信部３０７を備え、ネットワーク３０５を介してサーバ３０１と通信が可能である。コンピュータ装置３０６は、ネットワーク３０５を介してサーバ３０１へと接続して、本実施の形態におけるタイミング解析装置を実現するための実行プログラムやデータを取得し、記録媒体３０８へと記憶する。
【００２８】
コンピュータ装置３０６は、記録媒体３０８に記憶されたコンピュータ装置３０６の機能を実現するための実行プログラム（タイミング解析プログラムを含む）を、処理部３０９により読み込んで実行することで、コンピュータ装置３０６の機能を実現する。なお、コンピュータ装置３０６は、コンピュータ装置３０６の使用者との入出力インターフェースである入出力部３１０を備えている。入出力部３１０は、キーボードやマウスや、ＬＣＤを用いて構成されている。
【００２９】
なお、本実施の形態におけるタイミング解析装置の実行プログラムは、サーバ３０１の記録媒体３０３に記憶される形態には限定しない。実行プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータ装置３０６に供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（Random Access Memory））を含む。また、実行プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータ装置３０６に供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、実行プログラムをコンピュータ装置３０６に供給できる。
【００３０】
次に、図２を用いて、本実施の形態にかかるタイミング解析装置によるタイミング解析方法について説明する。図２は、タイミング解析装置によるタイミング解析の手順を示すフローチャートである。以下の説明では、タイミング解析処理は、タイミング解析装置において、コンピュータ装置３０６の処理部３０９が読み込んだタイミング解析プログラムに従って実行される場合を例に説明するが、タイミング解析処理は、サーバ３０１の処理部３０２が読み込んだタイミング解析プログラムに従って実行されてもよい。
【００３１】
まず、ステップＳ１０１において、レイアウト処理が行われる。ステップＳ１０１では、処理部３０９は、実際の半導体チップ上の集積回路について、インスタンスの配置やインスタンスを接続する配線をレイアウトし、インスタンスに関する物理的な情報（インスタンスの配置座標や形状、インスタンスを接続する配線の形状など）を、レイアウトデータファイル（Ｆ１０２）に出力する。
【００３２】
レイアウトデータファイル（Ｆ１０２）には、レイアウトとして、半導体チップ上のどこにインスタンスが配置され、また、どのような形状の配線によってインスタンスが接続されているかを示す、物理的な情報が記載される。本実施の形態では、レイアウトデータファイル（Ｆ１０２）の出力は、例えば、ＯｐｅｎＥＤＡ（ＯｐｅｎＥＤＡ：https://www.si２.org/openeda.si２.org/projects/lefdef）で定められるDEF（Design Exchange Format）/LEF（Library Exchange Format）のような、一般的な出力形式として出力すればよい。
【００３３】
また、処理部３０９は、インスタンスに関する論理的な情報（インスタンスの情報、インスタンスの端子情報、端子間の接続情報など）を、ネットリストファイル（Ｆ１０１）に出力する。ここで、インスタンスの情報には、半導体チップ上の配置座標・形状、インスタンスの名称、インスタンスのセル名、インスタンスの端子名、端子間の接続関係を表す情報が含まれる。なお、セルとは、例えばＡＮＤ回路などの回路ブロックを意味する。また、インスタンスとは、特定のセルを識別するために一意に付与される称呼であり、同一のセルであっても配置場所や配線が異なるセルを識別するために用いられる。
【００３４】
次に、ステップＳ１０２において、寄生パラメータの抽出処理が行われる。ステップＳ１０２で行われる寄生パラメータの抽出処理は、一般的な寄生パラメータ抽出処理である。処理部３０９は、ステップＳ１０１で出力したレイアウトデータファイル（Ｆ１０２）を入力として、レイアウトデータファイル（Ｆ１０２）に記載された配線の形状から、寄生抵抗、寄生容量を抽出し、抽出した寄生パラメータをＳＰＥＦファイル（Ｆ１０３）に出力する。
【００３５】
ＳＰＥＦファイル（Ｆ１０３）は、一般的に知られた形式のファイルである。ＳＰＥＦファイル（Ｆ１０３）のＳＰＥＦは、Standard Parasitic Exchange Formatの略である。ＳＰＥＦファイル（Ｆ１０３）は、ＩＥＥＥの標準団体でフォーマットが規定されている。また、ＳＰＥＦファイル（Ｆ１０３）には、各配線の寄生容量、寄生抵抗が記載される。
【００３６】
次に、ステップＳ１０３において、電圧降下領域ファイル（Ｆ１０６）の存在のチェック処理が行われる。処理部３０９は、電圧降下領域ファイル（Ｆ１０６）の存在の有無を判断し、判断結果に応じて、後続処理の条件分岐を行う。タイミング解析処理における初期状態では、電圧降下領域ファイル（Ｆ１０６）が存在しないため、ステップＳ１０４のＩＲ−Ｄｒｏｐ解析処理へと処理が進められる。後述するＳ１０５において電圧降下領域ファイル（Ｆ１０６）が作成された場合は、Ｓ１０４〜Ｓ１０６の処理は行われずに、Ｓ１０７の遅延計算・領域毎のＯＣＶのＳＴＡ処理へと処理が進められる。
【００３７】
次に、ステップＳ１０４において、ＩＲ−Ｄｒｏｐ解析処理が行われる。ステップＳ１０４で行われるＩＲ−Ｄｒｏｐ解析処理は、一般的なＩＲ−Ｄｒｏｐ解析処理である。処理部３０９は、半導体チップ上にレイアウトされた回路（インスタンスと、その接続情報）に対して電圧降下解析を行う。より具体的には、処理部３０９は、ステップＳ１０１で出力したレイアウトデータファイル（Ｆ１０２）と、ステップＳ１０２で出力したＳＰＥＦファイル（Ｆ１０３）と、を入力として、ＩＲ−Ｄｒｏｐ解析処理を行い、半導体チップ内の電圧降下を解析する。処理部３０９は、半導体チップ内の電圧降下の解析結果を、ＩＲ−Ｄｒｏｐ解析結果ファイル（Ｆ１０４）に出力する。
【００３８】
ＩＲ−Ｄｒｏｐ解析とは、半導体チップ内の電圧降下を解析するものである。ＩＲ−Ｄｒｏｐ解析結果ファイル（Ｆ１０４）には、インスタンス名、インスタンスの電圧値、インスタンスのセル名、インスタンスの座標、インスタンスの形状（サイズ）が記載される。図３に、ＩＲ−Ｄｒｏｐ解析結果ファイル（Ｆ１０４）の出力例を示す。図３では、例えば、インスタンス名として「ＣＰＵ１／ＡＤＤ／ＲＥＧ１」が、インスタンスの電圧値として「１．０９０Ｖ」が、セル名として「ＣＥＬＬ１」が、座標として「−１２０，−５０，３００，８０」が、サイズとして「２０  ２０」が、それぞれ記載されている。
【００３９】
次に、ステップＳ１０５において、ＩＲ−Ｄｒｏｐマップ作成処理が行われる。ステップＳ１０５では、ＩＲ−Ｄｒｏｐマップ作成処理として、電圧降下領域ファイル（Ｆ１０６）作成処理が行われる。処理部３０９は、電圧降下解析の結果に基づいて、半導体チップ上の電圧降下を所定の電圧範囲ごとの領域として記載した電圧降下領域ファイル（Ｆ１０６）を作成する。より具体的には、処理部３０９は、ステップＳ１０４で出力したＩＲ−Ｄｒｏｐ解析結果ファイル（Ｆ１０４）を入力として、ＩＲ−Ｄｒｏｐ解析結果ファイル（Ｆ１０４）から、電圧降下領域ファイル（Ｆ１０６）を作成する。処理部３０９は、半導体チップ上での電圧降下に関して、どのような領域で、どの電圧となるかを示す情報を、電圧降下領域ファイル（Ｆ１０６）に出力する。
【００４０】
ＩＲ−Ｄｒｏｐ解析結果ファイル（Ｆ１０４）には、図３に例示したように、インスタンス名、インスタンスの電圧値、インスタンスのセル名、インスタンスの座標、インスタンスの形状（サイズ）が記載されている。図４は、ＩＲ−Ｄｒｏｐ解析結果ファイル（Ｆ１０４）に記載された情報を、半導体チップ上の領域で概念的に表現した図である。図４に示すように、電源電圧から電圧降下した各インスタンスの電圧を、グラデーションとして表示することで、半導体の領域における電圧の分布を表現することができる。
【００４１】
本実施の形態では、ステップＳ１０５において、処理部３０９は、半導体において表現される領域を矩形領域として、領域の優先順位、領域の電圧値、領域の座標を、電圧降下領域ファイル（Ｆ１０６）に出力する。より具体的には、処理部３０９は、ＩＲ−Ｄｒｏｐ解析結果ファイル（Ｆ１０４）を参照して、まず、最も電圧降下する領域を検索し、その領域の優先順位を１とし、その領域の電圧と、その矩形領域の座標（左下、右上）を求め、電圧降下領域ファイル（Ｆ１０６）に出力する。以下、同様にして、次に電圧降下する領域を検索し、その領域の優先順位を２とし、その領域の電圧とその矩形領域の座標を求め、電圧降下領域ファイル（Ｆ１０６）に出力する。
【００４２】
ここで、図５及び図６を参照して、本実施の形態にかかる電圧降下領域ファイル（Ｆ１０６）について具体的に説明する。図５に、電圧降下領域ファイル（Ｆ１０６）の出力例を示す。図５に示すように、電圧降下領域ファイル（Ｆ１０６）には、領域の優先順位（Ｐｒｉｏｒｉｔｙ）、領域の電圧値（Ｖｏｌｔ）、領域の座標（ｘｌｌ、ｙｌｌ、ｘｕｒ、ｙｕｒ）が、行単位に記載されている。電圧降下領域ファイル（Ｆ１０６）には、第１カラムには領域の優先順位が記載され、第２カラムには領域の電圧値が記載され、第３カラム〜第６カラムには領域の座標が記載されている。なお、図５の例では、各領域の電圧値は０．０２Ｖ範囲ごとに区分されており、この区分単位は、図３に示したインスタンスの電圧値が記載された単位と同一である。
【００４３】
領域の優先順位は、半導体の領域のうちで、電圧降下による影響により、低い電圧値となっている領域ほど、高い優先順位が定められる。例えば、電圧降下による影響により、最も電圧が低くなっている領域の優先順位を１とし、その次に電圧が低い領域の優先順位を２として以降の優先順位が定められる。なお、次に低い電圧値が電源電圧値となった場合には、その領域の優先順位は、最も低い優先順位となる。
【００４４】
また、本実施の形態では、領域を矩形で表現していることから、その領域を表現するために、領域の座標（ｘｌｌ、ｙｌｌ、ｘｕｒ、ｙｕｒ）を、矩形領域の左下隅および右上隅の座標（Ｘ座標左下、Ｙ座標左下、Ｘ座標右上、Ｙ座標右上）を用いて表現している。
【００４５】
なお、本実施の形態では、領域を矩形領域として表現することで処理の簡易化を図っているが、これに限定されず、例えば、楕円形状などの他の形状の領域として表現してもよい。また、本実施の形態では、各領域に優先順位を定めることで、互いに領域が包含関係にある場合においてもインスタンスがいずれの領域に含まれるかを容易に識別可能としているが、これに限定されない。例えば、領域が包含関係にある場合においても、最も電圧が低い領域を第一の領域とし、次に電圧が低くて第一の領域を囲む領域を第二の領域とし、さらに、次に電圧が低くて第二の領域を囲む領域を第三の領域として定め、第一の領域、第二の領域から第一の領域を除いた領域、第三の領域から第二の領域を除いた領域、を含む各領域についての電圧値を電圧降下領域ファイル（Ｆ１０６）に記載するようにしてもよい。
【００４６】
図６は、電圧降下領域ファイル（Ｆ１０６）に記載された情報を、半導体チップ上の領域で概念的に表現した図である。図６に示すように、半導体の領域における電圧の分布を、優先順位が付された矩形領域ごとに表現することができる。
【００４７】
次に、ステップＳ１０６において、ＯＣＶ係数算出処理が行われる。処理部３０９は、ＯＣＶ係数値ファイル（Ｆ１０７）を用いて、電圧降下領域ファイル（Ｆ１０６）に記載された所定の電圧範囲に対応するＯＣＶ係数を領域ごとに算出し、その算出したＯＣＶ係数と領域とを対応付けて記載したＯＣＶ領域ファイル（Ｆ１０８）を作成する。より具体的には、処理部３０９は、ステップＳ１０５で出力した電圧降下領域ファイル（Ｆ１０６）と、ＯＣＶ係数値ファイル（Ｆ１０７）と、を入力として、電圧降下領域ファイル（Ｆ１０６）およびＯＣＶ係数値ファイル（Ｆ１０７）から、電圧降下領域ファイル（Ｆ１０６）中の電圧値に対するＯＣＶ係数の値（以下、単にＯＣＶ値と称する場合がある。）を算出し、算出したＯＣＶ値をＯＣＶ領域ファイル（Ｆ１０８）に出力する。
【００４８】
ここでＯＣＶ係数について簡単に説明する。ＯＣＶとは、On Chip Variationの略である。ＯＣＶは、半導体チップ内での素子の特性による遅延時間のばらつきを表す（例えば、http://techon.nikkeibp.co.jp/article/WORD/20090107/163763/を参照。）通常、ＯＣＶの係数として、ＯＣＶによって遅い方向へバラついてしまった場合の遅延係数「α（late）」と、速い方向へバラついてしまった場合の遅延係数「β（early）」と、が事前に用意される。そして、検証対象の回路中で、遅い方向へバラつくとタイミングが厳しくなる素子に対しては、その遅延値にα(late)を乗じる。一方で、速い方向へバラつくとタイミングが厳しくなる素子に対しては、その遅延値にβ(early)を乗じる。このような条件下で、ＳＴＡを使用したタイミング検証が実施される。この条件下でも、タイミング検証によりタイミングを満足するように設計することで、ＯＣＶによって素子がバラついたとしても、動作を保証することができる。タイミング検証で使用するこの係数を、Ｄｅｒａｔｉｎｇ係数、或いは、ＯＣＶ係数と呼んでいる。
【００４９】
ＯＣＶ係数値ファイル（Ｆ１０７）には、電圧値と、その電圧値に応じたＯＣＶ係数値と、が記載されている。図７に、ＯＣＶ係数値ファイル（Ｆ１０７）の例を示す。図７に示すように、ＯＣＶ係数値ファイル（Ｆ１０６）には、所定の電圧単位で、電圧値（Ｖｏｌｔ）とＯＣＶ値（ＯＣＶ−Ｆａｃｔｏｒ）が行単位に記載されている。図７の例では、０．０５Ｖ単位で、各行に、電圧値と、その電圧値に応じたＯＣＶ値が記載されている。
【００５０】
上述したように、遅延係数としては、α、βの２つの値が存在するが、本実施の形態では、α、βともに同一の値として考えて、１つのＯＣＶ値を用いて表現する。また、本実施の形態では、ＯＣＶ係数値ファイル（Ｆ１０７）に記載されたＯＣＶ値は、ある固定された電圧における遅延のばらつきを表現するためのＯＣＶ値を用いるのではなく、電圧降下を考慮した複数の電圧値のそれぞれに応じたＯＣＶ値を用意する。これらＯＣＶ値は、予め適当な値が算出されて、ＯＣＶ係数値ファイル（Ｆ１０７）として、記録媒体３０８などに予め記録されている。
【００５１】
ＯＣＶ領域ファイル（Ｆ１０８）は、電圧降下により電圧降下した領域毎に、ＯＣＶ値が記載されたファイルである。ＯＣＶ領域ファイル（Ｆ１０８）には、領域の優先順位（Ｐｒｉｏｒｉｔｙ）、領域のＯＣＶ値（ＯＣＶ）、領域の座標（ｘｌｌ、ｙｌｌ、ｘｕｒ、ｙｕｒ）が、行単位に記載される。
【００５２】
ＯＣＶ係数算出処理の具体例について、図５に例示した電圧降下領域ファイル（Ｆ１０６）と、図７に例示したＯＣＶ係数値ファイル（Ｆ１０７）と、を用いて、ＯＣＶ領域ファイル（Ｆ１０８）を出力する場合を例に説明する。まず、図５に記載された優先順位が１の領域に関しては、領域の電圧が１．０９０Ｖであることから、図７に記載された電圧値のうちで１．１０ＶのＯＣＶ値（１．００）と１．０５ＶのＯＣＶ値（０．９６）を用いて、１．０９０ＶのＯＣＶ値を補間処理により計算で求める。そして、図５に記載された電圧降下領域ファイル（Ｆ１０６）中の電圧値を、求めたＯＣＶ値によって置き換えて、ＯＣＶ領域ファイル（Ｆ１０８）に出力する。同様にして、次の優先順位の領域に関する情報が記載された次の行についても、電圧降下領域ファイル（Ｆ１０６）中の電圧値に対するＯＣＶ値を、ＯＣＶ係数値ファイル（Ｆ１０７）に記載された電圧値およびＯＣＶ値を用いて補間処理により求め、電圧降下領域ファイル（Ｆ１０６）中の電圧値を、求めたＯＣＶ値によって置き換えて、ＯＣＶ領域ファイル（Ｆ１０８）に出力する。このようにして、電圧降下領域ファイル（Ｆ１０６）中の全ての行の電圧値が、それぞれ求めたＯＣＶ値によって置き換えられて、ＯＣＶ領域ファイル（Ｆ１０８）に出力される。
【００５３】
図８に、ＯＣＶ領域ファイル（Ｆ１０８）の出力例を示す。図８に記載されたＯＣＶ値（ＯＣＶ）は、図７に例示したＯＣＶ係数値ファイル（Ｆ１０７）を用いて、図５に例示した電圧降下領域ファイル（Ｆ１０６）の電圧値を、ＯＣＶ値に置き換えたものとなっている。
【００５４】
次に、ステップＳ１０７において、遅延計算・領域毎のＯＣＶのＳＴＡ処理が行われる。処理部３０９は、ステップＳ１０２で出力したＳＰＥＦファイル（Ｆ１０３）と、遅延ライブラリ（Ｆ１０５）と、ステップＳ１０６で出力したＯＣＶ領域ファイル（Ｆ１０８）と、ステップＳ１０１で出力したネットリストファイル（Ｆ１０１）と、を入力として、遅延計算と、領域毎のＯＣＶのＳＴＡ処理を行い、タイミング解析を行う。なお、Ｓ１０７での処理の詳細については後述する。
【００５５】
次に、ステップＳ１０８において、ステップＳ１０７におけるタイミングエラーの存在のチェック処理が行われる。処理部３０９は、タイミングエラーの存在の有無を判断し、判断結果に応じて、後続処理の条件分岐を行う。処理部３０９は、ステップＳ１０８において、タイミングエラーがないと判断した場合には、処理を終了する。一方で、タイミングエラーがあると判断した場合には、ステップＳ１０１へと戻り、処理を続ける。
【００５６】
以下、ステップＳ１０８においてタイミングエラーがあると判断された場合に、以後に実行される手順について、簡単に説明する。
まず、Ｓ１０１のレイアウト処理において、処理部３０９は、タイミングエラー箇所のレイアウトを修正し、修正した結果を、レイアウトデータファイル（Ｆ１０２）およびネットリストファイル（Ｆ１０１）に上書きする。
【００５７】
次に、ステップＳ１０２の寄生パラメータ抽出処理において、処理部３０９は、Ｓ１０１で修正したレイアウトデータファイル（Ｆ１０１）から、寄生パラメータの抽出を行い、抽出した寄生パラメータをＳＰＥＦファイル（Ｆ１０３）に出力する。
【００５８】
次に、ステップＳ１０３の条件分岐において、処理部３０９は、電圧降下領域ファイル（Ｆ１０６）の存在をチェックする。ここで、すでに、電圧降下領域ファイル（Ｆ１０６）が作成されているため、処理部３０９は、ステップＳ１０７へと処理を進め、遅延計算・領域毎のＯＣＶのＳＴＡ処理におけるタイミング解析を行う。
【００５９】
次に、ステップＳ１０８の条件分岐において、処理部３０９は、ステップＳ１０７でのタイミングエラーの有無をチェックし、エラーがある場合には、同様にステップＳ１０１へと戻りレイアウトを修正する。ステップＳ１０８でタイミングエラーがない場合には、処理を終了する。
【００６０】
このようにして、ステップＳ１０７におけるタイミングエラーがなくなるまでの間、ステップＳ１０１、ステップＳ１０２、ステップＳ１０３、ステップＳ１０７の処理が繰り返し行われる。
【００６１】
ここで、ステップＳ１０３での条件分岐により、図２に例示するタイミング解析処理において、１回目のみステップＳ１０４〜Ｓ１０６の処理が行われ、２回目以降は、ステップＳ１０４〜Ｓ１０６の処理は繰り返して行われない。このため、ＩＲ−Ｄｒｏｐ解析が既に実行されて電圧降下領域ファイル（Ｆ１０６）が一度作成された以降は、電圧降下領域ファイル（Ｆ１０６）の作成や、電圧降下領域ファイル（Ｆ１０６）を作成するためのＩＲ−Ｄｒｏｐ解析は実行されないため、タイミング解析に要する処理時間の短縮化を図ることができる。
【００６２】
続いて、図９および図１０を参照して、ステップＳ１０７における遅延計算・領域毎ＯＣＶのＳＴＡ処理の詳細を説明する。
図９は、ステップＳ１０７の遅延計算・領域毎ＯＣＶのＳＴＡ処理について、より詳細な手順を示すフローチャートである。
【００６３】
まず、ステップＳ７０１において、遅延計算処理が行われる。ステップＳ７０１で行われる遅延計算処理は、一般的な遅延計算処理である。処理部３０９は、ステップＳ１０１で出力したネットリストファイル（Ｆ１０１）から、インスタンスの情報、インスタンスの端子情報、端子間の接続情報を求め、ステップＳ１０２で出力したＳＰＥＦファイル（Ｆ１０３）と、遅延ライブラリ（Ｆ１０５）と、を読み込み、遅延ライブラリの電圧値で遅延計算を行い、各インスタンスの遅延値、各配線の遅延値を、ＳＤＦファイル（Ｆ１０９）に出力する。ここで、一般的な遅延計算では、インスタンスの電圧降下は考慮しないものであり、本実施の形態にかかる遅延計算に関しても、電圧降下については考慮していない。
【００６４】
ＳＤＦファイル（Ｆ１０９）のＳＤＦは、Standard Delay Formatの略である。ＳＤＦファイル（Ｆ１０９）は、ＩＥＥＥの標準団体でフォーマットが規定されている。また、ＳＤＦファイル（Ｆ１０９）には、各インスタンスの遅延値、各配線の遅延値が記載される。
【００６５】
次に、ステップＳ７０２において、ＳＴＡ処理が行われる。処理部３０９は、遅延計算の結果と、ＯＣＶ領域ファイル（Ｆ１０８）に記載された領域ごとのＯＣＶ値と、を用いて、レイアウトされた回路に対してタイミング解析を行う。より具体的には、処理部３０９は、ステップＳ７０１で出力したＳＤＦファイル（Ｆ１０９）と、ステップＳ１０１で出力したネットリストファイル（Ｆ１０１）と、ステップＳ１０６で出力したＯＣＶ領域ファイル（Ｆ１０８）と、を読み込み、タイミング解析を行う。
【００６６】
図１０は、ステップＳ７０２のＳＴＡ処理について、より詳細な手順を示すフローチャートである。
まず、ステップＳ７０２１において、ネットリストファイル（Ｆ１０１）の読み込み処理が行われる。処理部３０９は、ステップＳ１０１で出力したネットリストファイル（Ｆ１０１）を読み込み、ネットリストファイル（Ｆ１０１）に記載されたインスタンス情報、インスタンスの端子、端子間の接続情報を、データＤ７０２１として記憶する。
【００６７】
次に、ステップＳ７０２２において、ＯＣＶ係数値の読み込み処理が行われる。処理部３０９は、ステップＳ１０６で出力したＯＣＶ領域ファイル（Ｆ１０８）を読み込み、データＤ７０２２として記憶する。上述した図８で例示したように、ＯＣＶ領域ファイル（Ｆ１０８）は、行単位に６つのカラムを用いて記載され、２次元のデータとして表現されている。図８では、例えば、１行目には、領域の優先順位として「１」が、ＯＣＶ値として「１．００」が、左下Ｘ座標として「−１２０」が、左下Ｙ座標として「−５０」が、右上Ｘ座標として「３００」が、右上Ｙ座標として「８０」が、それぞれ記載されている。
【００６８】
次に、ステップＳ７０２３において、遅延計算の読み込み処理が行われる。処理部３０９は、ステップＳ７０１で出力したＳＤＦファイル（Ｆ１０９）を読み込み、読み込んだＳＤＦファイル（Ｆ１０９）に記載されたインスタンスの遅延値、配線の遅延値を、データＤ７０２１に追加して、データＤ７０２３として記憶する。より具体的には、処理部３０９は、データＤ７０２１のインスタンス情報にＳＤＦファイル（Ｆ１０９）のインスタンスの遅延値を追加し、データＤ７０２１の端子間の接続情報にＳＤＦファイル（Ｆ１０９）の配線の遅延値を追加し、データＤ７０２３として記憶する。データＤ７０２３は、インスタンスについての全ての遅延値と、インスタンスを接続する端子間の配線についての全ての遅延値が記載される。
【００６９】
次に、ステップＳ７０２４において、ＯＣＶ係数掛けの処理が行われる。処理部３０９は、データＤ７０２３に記載されたインスタンスの遅延値および配線の遅延値に対して、そのインスタンスが含まれる領域のＯＣＶ値を、Ｄ７０２２に記載されたＯＣＶ値のうちから求め、求めたＯＣＶ値を遅延値に乗算し、データＤ７０２４として記憶する。より具体的には、処理部３０９は、データＤ７０２３に記載されたインスタンスの遅延値および配線の遅延値について、インスタンスの座標から、データＤ７０２２に記載された優先順位と座標を参照して該当する領域のＯＣＶ値を求め、求めた領域のＯＣＶ値を、データＤ７０２３に記載された遅延値に乗算して、乗算後の遅延値をデータＤ７０２４に出力して記憶する。ここで、インスタンスの座標と、データＤ７０２２の領域のＯＣＶ値と、から該当するＯＣＶ値を求めに際しては、一般的に知られた高速な検索手法を用いればよく、例えばハッシュ法を用いて、インスタンスの座標を包含する領域のＯＣＶ値を高速に求める。
【００７０】
次に、ステップＳ７０２５において、パス（ＰＡＴＨ）毎のタイミング計算処理が行われる。処理部３０９は、ステップＳ７０２４のＯＣＶ係数掛けにおいてＯＣＶ値が乗算された遅延値（データＤ７０２４に記載されたＯＣＶ値）を用いて、検査対象となるパス毎のタイミング計算を行う。処理部３０９は、クロック信号とデータ信号の妥当性を、パス毎に解析する。より具体的には、処理部３０９は、データＤ７０２４に記憶されたインスタンス情報とインスタンスの端子間の接続情報を参照して、クロック信号とデータ信号の到達時間を、遅延値から計算し、到達する時間の制約を満足するものか否かを解析する。そして、処理部３０９は、解析の結果、到達する時間の制約を満足しない場合には、エラーとして出力する。
【００７１】
以上に説明した本実施の形態によれば、所定の電圧範囲毎に電圧降下した領域を設定し、その領域ごとに算出したＯＣＶ値を用いてタイミング解析を実施することができるため、従来の電圧降下を考慮したタイミング解析手法と比較して遅延計算の処理時間を短縮することができる。このため、タイミング解析処理全体に要する処理時間を短縮することができる。以下、その理由を具体的に説明する。
【００７２】
まず、電圧降下を反映させるために、図２に示したステップＳ１０５において、ＩＲ−Ｄｒｏｐマップ作成処理が行われる。
ステップＳ１０５のＩＲ−Ｄｒｏｐマップ作成処理では、電圧降下領域ファイル（Ｆ１０６）を作成する。電圧降下領域ファイル（Ｆ１０６）は、ＩＲ−Ｄｒｏｐ解析結果ファイル（Ｆ１０４）を、半導体チップ上の領域として表現するものである。電圧降下領域ファイル（Ｆ１０６）のファイルサイズは、半導体チップ上の領域を示すだけのファイルであるため、少量のファイルサイズにより表現することができる。
【００７３】
また、ステップＳ１０５のＩＲ−Ｄｒｏｐマップ作成処理では、電圧降下の解析結果を、所定の電圧範囲ごとに区分して、その区分した電圧範囲ごとに境界を求めることで、領域を定める処理である。この処理は、ＩＲ−Ｄｒｏｐ解析結果ファイル（Ｆ１０４）の読み込み結果から、電圧範囲の境界を求めて、電圧降下領域ファイル（Ｆ１０６）に出力するものである。このため、ＩＲ−Ｄｒｏｐ解析結果ファイル（Ｆ１０４）の読み込みに要する処理時間からほぼ増加せずに処理できる。
【００７４】
次に、ステップＳ１０６では、ＯＣＶ係数値ファイル（Ｆ１０７）を用いて、電圧降下領域ファイル（Ｆ１０６）に記載された電圧値をＯＣＶ値に変換し、ＯＣＶ領域ファイル（Ｆ１０８）として出力する。すなわち、半導体チップ上の各領域に対して、領域毎に定義されている電圧値を、補間処理によってＯＣＶ値に置き換えるものであり、単純な処理である。ＯＣＶ領域ファイル（Ｆ１０８）のファイルサイズは、電圧降下領域ファイル（Ｆ１０６）のファイルサイズと同等のファイルサイズである。このため、ステップＳ１０６での処理を実行するために、少量のファイルサイズを扱う処理時間が必要となるが、処理時間はわずか数秒の増加で済む。
【００７５】
次に、ステップＳ１０７では、遅延計算・領域毎のＯＣＶのＳＴＡ処理が行われる。具体的には、図９に示したステップＳ７０１において、電圧降下を考慮しない遅延計算を行い、ステップＳ７０２において、インスタンスの座標から、ＯＣＶ領域ファイル（Ｆ１０８）中の領域を特定してそのＯＣＶ値を求め、求めたＯＣＶ値を係数として遅延値に乗算することで、ＳＴＡを行う。すなわち、本実施の形態では、電圧降下の解析結果をＳＴＡにおいて反映させる処理に関して、遅延計算において、複数の遅延ライブラリを用いた補間処理によって電圧降下の解析結果を求める、という手順ではない。このため、電圧降下を考慮した遅延計算を行う必要がない。本実施の形態では、電圧降下の解析結果を半導体チップ上の領域として表現し、電圧降下の解析結果を領域ごとのＯＣＶ係数に置き換えた上で、ＳＴＡにおいてこのＯＣＶ係数を反映させる、という手順である。
【００７６】
さらに、上述したように、図９に示したステップＳ７０１での遅延計算処理は、一般的な遅延計算処理である。ステップＳ７０１での遅延計算処理は、電圧降下を考慮しない遅延計算を行うため、遅延計算に要する処理時間は短いものである。本実施の形態では、図１０に示したステップＳ７０２２のＯＣＶ係数値読み込み処理として、少量のファイルの読み込み処理を行うために数秒の処理時間を要する。また、ステップＳ７０２４のＯＣＶ係数掛け処理として、インスタンスの座標から、データＤ７０２３を参照してＯＣＶ値を求める処理を行うために処理時間が増加する。しかし、いずれの処理に関しても、ごく少量のファイルサイズのファイルを扱うために、必要とする計算時間は短い。なお、データＤ７０２２を参照してＯＣＶ値を求める際には検索処理を必要とするが、一般的に知られている高速な検索法（例えば、ハッシュ法）を用いることで、ステップＳ７０２４のＯＣＶ係数掛け処理の実行により増加する処理時間は、１％以下の増加に抑えることができる。このため、遅延計算に要する処理時間を短くしつつ、タイミング解析を行うことができる。
【００７７】
従って、本実施の形態によれば、精度を落とすことなく、遅延計算時間を短くすることができる。同時に、本実施の形態では、少量のファイルサイズであるＯＣＶ領域ファイル（Ｆ１０８）を作成し、ＯＣＶ領域ファイル（Ｆ１０８）の各領域に対する電圧降下をＯＣＶ値として考慮しているために、ＳＴＡ処理において、電圧降下を考慮したタイミング計算を、最低限の処理時間の増加で行うことができる。このため、遅延計算に要する処理時間を短縮して、タイミング解析全体に要する処理時間を短縮することができる。
【００７８】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【符号の説明】
【００７９】
３００  コンピュータシステム、
３０１  サーバ、
３０２  処理部、
３０３  記録媒体、
３０４  入出力部、
３０５  ネットワーク、
３０６  コンピュータ装置、
３０７  通信部、
３０８  記録媒体、
３０９  処理部、
３１０  入出力部、
Ｆ１０１  ネットリストファイル、
Ｆ１０２  レイアウトデータファイル、
Ｆ１０３  ＳＰＥＦファイル、
Ｆ１０４  ＩＲ−Ｄｒｏｐ解析結果ファイル、
Ｆ１０５  遅延ライブラリ、
Ｆ１０６  電圧降下領域ファイル、
Ｆ１０７  ＯＣＶ係数値ファイル、
Ｆ１０８  ＯＣＶ領域ファイル、
Ｆ１０９  ＳＤＦファイル、
Ｆ１１０  インスタンス毎のＩＲ−Ｄｒｏｐ値リスト、
Ｄ７０２１〜Ｄ７０２４  データ、
【図１】
2012174111.tif 000003
【図２】
2012174111.tif 000004
【図３】
2012174111.tif 000005
【図４】
2012174111.tif 000006
【図５】
2012174111.tif 000007
【図６】
2012174111.tif 000008
【図７】
2012174111.tif 000009
【図８】
2012174111.tif 000010
【図９】
2012174111.tif 000011
【図１０】
2012174111.tif 000012
【図１１】
2012174111.tif 000013