(57)【要約】【課題】動的な電圧降下を考慮し、高精度でかつ動作特性の良好な半導体集積回路を提供する。【解決手段】回路情報１００１に基づいて、前記半導体集積回路の各インスタンスの電源端子での電圧波形を求め、前記インスタンス毎の電圧波形を解析して電圧波形情報を形成する工程と前記電圧波形情報１０３１を抽象化し、電圧抽象化情報１０３３を形成する工程と、前記電圧抽象化情報１０３３に基づいて前記インスタンスについて遅延値を算出する工程１００５とを含む。【選択図】図１
2005004268.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路装置の回路情報に基づいて、
前記半導体集積回路の各インスタンスの電源端子での電圧波形を求め、
前記インスタンス毎の電圧波形を解析して電圧波形情報を形成する工程と
前記電圧波形情報を抽象化し、電圧抽象化情報を形成する工程と、
前記電圧抽象化情報に基づいて前記インスタンスについて遅延値を算出する工程とを含むことを特徴とする半導体集積回路装置の動作解析方法。
【請求項２】
前記電圧波形情報を形成する工程は、前記半導体集積回路装置内のすべてのインスタンスについて、電圧波形情報を算出する工程を含むことを特徴とする請求項１に記載の半導体集積回路装置の動作解析方法。
【請求項３】
前記遅延値を算出する工程は、前記電圧抽象化情報に応じて、ライブラリを参照し、前記ライブラリから該当する遅延値を読み出し、これを遅延値情報として、出力する工程であることを特徴とする請求項１または２に記載の半導体集積回路装置の動作解析方法。
【請求項４】
前記電圧抽象化情報を形成する工程に先立ち、前記回路情報に基づき、各インスタンスの動作時刻を算出する工程を含むことを特徴とする請求項１または２に記載の半導体集積回路装置の動作解析方法。
【請求項５】
前記ライブラリは、セル情報を抽象化して格納したセルライブラリと、マクロ情報を抽象化して格納したマクロライブラリとを含むことを特徴とする請求項３に記載の半導体集積回路装置の動作解析方法。
【請求項６】
前記電圧波形情報を形成する工程は、前記回路情報に基づいてあらかじめ作成されたライブラリを参照して、電圧波形を形成する工程であることを特徴とする請求項１に記載の半導体集積回路装置の動作解析方法。
【請求項７】
前記抽象化情報を形成する工程は、前記電圧波形をあらかじめ決定された単位ウインドウ毎に区切り、前記単位ウインドウ内で直線化する直線化工程を含むことを特徴とする請求項１に記載の半導体集積回路装置の動作解析方法。
【請求項８】
前記直線化工程は、前記電圧波形の前記単位ウインドウ内での始点と終点とを直線で結ぶことにより直線化し線形情報を形成する工程であることを特徴とする請求項７に記載の半導体集積回路装置の動作解析方法。
【請求項９】
前記直線化工程は、前記電圧波形を前記単位ウインドウ内で最小自乗法により直線化し線形情報を形成する工程を含むことを特徴とする請求項７に記載の半導体集積回路装置の動作解析方法。
【請求項１０】
前記あらかじめ決定された単位ウインドウは、全インスタンスの遅延時間の最大値に設定されることを特徴とする請求項７乃至９のいずれかに記載の半導体集積回路装置の動作解析方法。
【請求項１１】
前記抽象化情報を形成する工程は、前記線形情報から、さらに前記単位ウインドウにおける前記線形情報の傾きの絶対値が１よりも大きい場合はその単位ウインドウ内の最大値をとり、傾きの絶対値が１よりも小さい場合はその単位ウインドウ内の最小値をとり、階段状情報を形成する工程を含むことを特徴とする請求項７または１０に記載の半導体集積回路装置の動作解析方法。
【請求項１２】
前記遅延値を算出する工程は、前記回路情報から、当該インスタンスの入力信号、出力信号の遷移時刻を算出する工程と、
前記算出工程で算出された遷移時刻に基づいて、入力信号、出力信号の遷移している単位ウインドウを抽出する工程と、
前記抽出された単位ウインドウから、前記出力信号が前記単位ウインドウをまたがって遷移しているか否かを判断する工程と、
前記判断する工程の判断結果に基づいて、遅延値を計算する工程とを含むことを特徴とする請求項１乃至１１のいずれかに記載の半導体集積回路装置の動作解析方法。
【請求項１３】
前記遅延値を計算する工程は、前記判断する工程で前記出力信号が前記単位ウインドウをまたがっていないと判断され、当該インスタンスの遅延時間が、前記単位ウインドウよりも小さいとき、遅延計算時の定常電圧をその単位ウインドウの電圧降下後の電圧とする工程であることを特徴とする請求項１２に記載の半導体集積回路装置の動作解析方法。
【請求項１４】
前記遅延値を算出する工程は、当該インスタンスの遅延時間が、前記単位ウインドウよりも大きいとき、またがった両単位ウインドウの電圧値を考慮して算出された値をその単位ウインドウの電圧降下後の電圧とする工程であることを特徴とする請求項１２記載の半導体集積回路装置の動作解析方法。
【請求項１５】
前記遅延値を算出する工程は、当該インスタンスの遅延時間が、前記単位ウインドウよりも大きいとき、当該インスタンスと、これらが駆動せしめられる配線ネットワークとから当該インスタンスをモデル化し、遅延値を算出する工程であることを特徴とする請求項１２に記載の半導体集積回路装置の動作解析方法。
【請求項１６】
前記遅延値を算出する工程は、前記判断する工程で前記出力信号が前記単位ウインドウをまたがっていると判断され、当該インスタンスの入出力信号が単位ウインドウ内で遷移する場合、またがった単位ウインドウ内の電源電圧の平均値を算出し、前記平均値に基づいて遅延値を算出する工程であることを特徴とする請求項１２に記載の半導体集積回路装置の動作解析方法。
【請求項１７】
前記遅延値を算出する工程は、前記判断する工程で前記出力信号が前記単位ウインドウをまたがっていると判断され、当該インスタンスの入出力信号が単位ウインドウ内で遷移する場合、このまたがった単位ウインドウ内の前記遷移する位置に基づいて、電源電圧の荷重平均値を算出し、前記荷重平均値に基づいて遅延値を算出する工程であることを特徴とする請求項１２に記載の半導体集積回路装置の動作解析方法。
【請求項１８】
前記遅延値を算出する工程は、前記判断する工程で前記出力信号が前記単位ウインドウをまたがっていると判断された場合には、当該インスタンスの電圧考慮期間を、当該インスタンスの入力信号波形の閾値電圧まで広げる工程を含むことを特徴とする請求項１２に記載の半導体集積回路装置の動作解析方法。
【請求項１９】
前記遅延値を算出する工程は、前記判断する工程で前記出力信号が前記単位ウインドウをまたがっていると判断された場合には、当該インスタンスの入力信号波形が遅延測定閾値電圧に到達するまでの電圧降下値から遅延計算時の電源電圧を計算する工程を含むことを特徴とする請求項１２に記載の半導体集積回路装置の動作解析方法。
【請求項２０】
前記ライブラリは、各セルまたはセルの集合体からなるマクロにおける複数の時刻と複数の電圧の組み合わせで構成されることを特徴とする請求項３に記載の半導体集積回路装置の動作解析方法。
【請求項２１】
前記複数の時刻の最長間隔は、前記単位ウインドウ幅に等しいことを特徴とする請求項２０に記載の半導体集積回路装置の動作解析方法。
【請求項２２】
前記抽象化する工程は、前記電圧を２値化するに際し、これらの中点より各時刻における電圧波形の値が大きいか否かで前記電圧を決定することを特徴とする請求項１に記載の半導体集積回路装置の動作解析方法。
【請求項２３】
前記抽象化情報を形成する工程は、前記半導体集積回路をメッシュ状に複数の領域に分割し、各領域内のインスタンスで同一の電圧データを共有するようにしたことを特徴とする請求項１に記載の半導体集積回路装置の動作解析方法。
【請求項２４】
電源配線の寄生素子情報により電源配線の時定数を求め、ある時定数値の範囲内であるときは、同一グループとして電圧データを共有するようにしたことを特徴とする請求項２３に記載の半導体集積回路装置の動作解析方法。
【請求項２５】
前記領域内にある前記電源電圧の波形差が、所定の範囲内であるときは、同一グループとして電圧データを共有するようにしたことを特徴とする請求項２３に記載の半導体集積回路装置の動作解析方法。
【請求項２６】
グループ化したインスタンス群の電流波形および縮退電源配線ＲＣ回路よりマクロを生成し、それぞれのマクロを用いて電圧解析を行うようにしたことを特徴とする請求項２４に記載の半導体集積回路装置の動作解析方法。
【請求項２７】
前記遅延値を計算する工程は、最大遅延時間を求める計算においては、タイミングウインドウ内で対象セルが最後に動作する時刻における電圧降下値を検出する工程と、この検出値に基づいて前記遅延値を算出する工程とを含むことを特徴とする請求項１に記載の解析方法。
【請求項２８】
前記遅延値を計算する工程は、最小遅延時間を求める計算においては、タイミングウインドウ内で対象セルが最初に動作する時刻における電圧降下値を検出する工程と、この検出値に基づいて前記遅延値を算出する工程とを含むことを特徴とする請求項１に記載の解析方法。
【請求項２９】
前記遅延値を計算する工程は、クロックを駆動するセルを抽出する工程と、前記クロックを駆動するセルに対してのみ選択的に遅延値を計算する工程とを含むことを特徴とする請求項１に記載の解析方法。
【請求項３０】
前記遅延値を計算する工程は、複数のタイミングウインドウが存在する回路においてはタイミングウインドウの全ての時間関係について電圧波形に基づいて遅延計算を行うことを特徴とする請求項１に記載の解析方法。
【請求項３１】
前記遅延値を計算する工程は、
概略の電圧降下量を算出する算出工程と、
この電圧降下量が最大となるインスタンスを検出し、
当該インスタンスまでのパスにおけるタイミングに余裕があるか否かを判断する工程とを含み、
前記電圧降下量に余裕があるインスタンスにおいては遅延値を計算しないようにしたことを特徴とする請求項１に記載の解析方法。
【請求項３２】
前記解析工程は、
前記半導体集積回路の各回路素子の電圧波形を求める工程と、
前記各回路素子の電源端子での電圧波形に基づいて、前記回路素子の遅延値を計算する計算工程とを含むことを特徴とする請求項１に記載の解析方法。
【請求項３３】
前記遅延値を計算する工程は、
前記電圧抽象化情報であるマクロピン電圧情報、および、前記回路情報、電源ＲＣ情報、モード情報、チップインピーダンス情報に基づき、マクロの電圧解析を行い、マクロ内部電圧および遅延値を算出する工程であることを特徴とする請求項１に記載の解析方法。
【請求項３４】
前記請求項１乃至３３に記載の動作解析方法を用いてえられた解析結果に基づき、電圧降下に弱いセルの単位ウインドウに対して影響しているインスタンスをレポートする工程と、
前記レポートする工程に基づき、最適化を行う工程を含むことを特徴とする半導体集積回路装置の最適化方法。
【請求項３５】
前記最適化を行う工程は、前記レポートする工程で報告された影響しているインスタンスを移動する工程を含むことを特徴とする請求項３４に記載の半導体集積回路装置の最適化方法。
【請求項３６】
前記最適化を行う工程は、前記レポートする工程で報告された影響しているインスタンスの近傍に容量セルを挿入する工程を含むことを特徴とする請求項３４に記載の半導体集積回路装置の最適化方法。
【請求項３７】
請求項１乃至３３のいずれかの解析方法を実施するための解析装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路装置の動作解析方法、これに用いられる解析装置およびこれを用いた最適化設計方法に係り、特に、大規模でかつ高速駆動のＬＳＩ（大規模半導体集積回路）に対して高速かつ高精度の動作解析を行う方法に関する。
【０００２】
【従来の技術】
通常、半導体集積回路の設計に際しては、タイミング解析が重要であり、例えばフリップフロップ間のタイミングがマッチングしているか否かの、タイミング解析を行い、最適化をはかる必要がある。そこで、回路動作の解析を行い、遅延値を算出して、遅延値が許容範囲内となるように、半導体集積回路の最適設計を行うという方法がとられている。しかしながら、半導体集積回路の高速化、高集積化に伴い、半導体集積回路を構成するトランジスタ、抵抗、容量などの回路素子の数は増大の一途をたどっている。このため、回路素子毎の消費電力は小さくなるように設計はされるものの、素子数が増大しているため、同時に多くの電圧を消費することになる。また、回路素子毎に解析を行うためには膨大な計算量を必要とすることになる。
【０００３】
そこで、計算量の増大を防ぎつつ、高精度の遅延値算出を行うことが重大な要件となっており、種々の方法が提案されている。
従来、回路動作の解析を行うための論理シミュレーションは、代表遅延条件だけでなく、電源電圧変動動作温度変動及びプロセス変動を考慮してなされている。しかしながら回路中の素子種毎の動作電圧の違いによる素子種毎の遅延変動を考慮しておらず、集積度の向上とともに素子種毎の遅延に与える影響は無視できなくなっている。
【０００４】
そこで電源配線による電圧降下を算出し、素子種毎の電圧降下を考慮することにより、信頼性の向上をはかるようにした遅延計算方法が提案されている（特許文献１参照）。
【０００５】
この方法では、設計対象回路の電源配線における電圧降下を考慮した素子毎の電源電圧を算出し、この算出された素子毎の電源電圧を用いて素子毎の遅延値を算出している。
【０００６】
しかしながら、この方法では、素子毎の電圧降下抵抗値を格納したライブラリから読み出された素子電圧降下抵抗値情報と、素子種毎の動作時の平均電源電流値とに基づいて、電圧降下の演算がなされている。したがってここで求められる素子種毎の電圧降下情報は、回路中の素子種毎の平均電圧情報である。
【０００７】
すなわち、図５６に示すように、回路情報２００１から、素子種毎の動作時の平均電源電流に基づいて電圧解析を行い、平均電圧降下値２００３を算出する電圧解析手段２００２と、この得られた平均電圧降下値に基づいてライブラリ２００４を参照して遅延値を取り出す遅延計算手段２００５と、この遅延値を標準遅延様式（ＳＤＦ：米国の非営利団体Ｓｉｌｉｃｏｎ  Ｉｎｔｅｇｒａｔｉｏｎ  Ｉｎｉｔｉａｔｉｖｅがまとめた遅延時間表現の標準化フォーマット（Ｓｔａｎｄａｒｄ  Ｄｅｌａｙ  Ｆｏｒｍａｔ））２００６とし、この値を用いてタイミング解析を行うタイミング解析手段２００７と、このタイミング解析手段による解析結果をタイミングレポート２００８として出力し、この解析結果に基づき最適化手段２００９で最適化のための設計変更がなされる。
【０００８】
ここでライブラリ２００４は、セル毎の遅延値情報を格納したセルライブラリ２０１３と、セルの集合体をひとつのかたまりとしてみたいわゆるマクロ毎の遅延値情報を格納したマクロライブラリ２０２３とを備えている。そしてセルライブラリ２０１３は、セル情報２０１１から代表セルの動作時の平均電源電流に基づいて平均電圧降下を算出し、この算出値を抽象化（キャラクタライズ）し、このキャラクタライズされた値を、セルライブラリ２０１３に格納したものである。一方、マクロライブラリ２０２３は、マクロ情報２０２１から代表マクロの動作時の平均電源電流に基づいて平均電圧降下を算出し、キャラクタライズし、このキャラクタライズされた値を、マクロライブラリ２０１３に格納したものである。
【０００９】
また、論理セルのスイッチング時の電圧変動による遅延時間に対する影響を考慮した論理シミュレーションを実現すべく、論理ゲートの電源端子の電圧に基づいて遅延時間をシミュレーションする方法も提案されている（特許文献２参照）。
しかしこの方法でも、被シミュレーション回路のテストパターンの実行時刻に対する平均値に基づいて実行されている。
【００１０】
さらに電圧変動を考慮したシミュレーションについて時系列的な電圧変動情報に応答して回路素子遅延情報を算出するものも提案されている（特許文献３）
【００１１】
【特許文献１】
特開２０００−１９５９６０号公報（〔００１５〕〔００１７〕図１）
【特許文献２】
特開平７−２３９８６５号公報
【特許文献３】
特開２０００−１９４７３２号公報
【００１２】
【発明が解決しようとする課題】
前記第特許文献１における実際の回路動作では、セル（インスタンス）が動作しているときに電圧が変動しているのに対し、この方法では、遅延値の算出に、平均電圧降下値を用いているため、ありえないタイミングの遅延値を算出することにもなり、このような遅延値の算出では、実用的なタイミング解析を行うことが望まれていた。
また特許文献２および３においては、遅延値の算出に時系列での電圧を考慮してはいるもののインスタンスが動作しているときの電圧変動を考慮してはいない。
しかしながら、実際の回路動作では、動作中における電圧変動が大きな問題となっている。
【００１３】
本発明は前記実情に鑑みてなされたもので、動的な電圧降下を考慮し、高精度でかつ動作特性の良好な半導体集積回路を提供することを目的とする。
また、動的な電圧降下を考慮し、高精度でかつ信頼性の高いタイミング検証を実現することを目的とする。
【００１４】
【課題を解決するための手段】
上記目的を達成するため、本発明の半導体集積回路装置の動作解析方法は、回路情報に基づいて、前記半導体集積回路の各インスタンスの電源端子での電圧波形を求め、前記インスタンス毎の電圧波形を解析して電圧波形情報を形成する工程と前記電圧波形情報を抽象化し、電圧抽象化情報を形成する工程と、前記電圧抽象化情報に基づいて前記インスタンスについて遅延値を算出する工程とを含む。
この構成により、遅延値の算出が、平均電圧に基づくものではなく、半導体集積回路の各インスタンスすなわち、各セルあるいはマクロにおける時刻と電圧とを測定し、時刻データを備えた動的データとして得られた電圧を電圧波形情報とし、この電圧波形情報を抽象化して、遅延値算出を行うようにしているため、より解析精度が向上する。
【００１５】
ここでインスタンスとは、単位セル、回路要素、または回路要素の集合体としてのマクロを含むものとする。そして各インスタンスにおける電圧値を２点以上の時刻で電圧情報としてとらえ、これを用いて電圧波形情報を得るようにしたものである。
【００１６】
また、この半導体集積回路装置の動作解析方法は、前記方法において、前記電圧波形情報を形成する工程は、前記半導体集積回路装置内のすべてのインスタンスについて、電圧波形情報を算出する工程を含む。
【００１７】
この構成によれば、全てのインスタンスについての電圧波形情報を得、この電圧波形情報を抽象化するようにしているため、高効率の解析が可能となる。
【００１８】
また、一部のインスタンスについての電圧波形情報を得、この電圧波形情報を抽象化するようにしてもよく、これにより処理の高速化をはかることができる。
【００１９】
さらに、本発明の半導体集積回路装置の動作解析方法は、前記方法において、前記遅延値を算出する工程は、前記電圧抽象化情報に応じて、ライブラリを参照し、前記ライブラリから該当する遅延値を読み出し、これを遅延値情報として、出力する工程である。
【００２０】
この構成によれば、抽象化された電圧抽象化情報によってライブラリから遅延値を読み出すようにしているため、特性劣化を防ぎ、データ量の低減をはかることができる。
【００２１】
さらに、本発明の半導体集積回路装置の動作解析方法は、前記方法において、前記電圧抽象化情報を形成する工程に先立ち、前記回路情報に基づき、各インスタンスの動作時刻を算出する工程を含む。
この構成によれば、回路情報にもとづき、あらかじめ各インスタンスの動作時刻を算出しておくようにしているため、抽象化に際して、当該動作時刻あるいはその周辺の情報のみを抽象化すればよいため、計算が簡略化される。
【００２２】
また本発明の半導体集積回路装置の動作解析方法は、前記方法において、前記ライブラリは、セル情報を抽象化して格納したセルライブラリと、マクロ情報を抽象化して格納したマクロライブラリとを含むことを特徴とする。
【００２３】
この構成によれば、効率よくデータ量の低減を図ることが可能となる
【００２４】
さらにまた、本発明の半導体集積回路装置の動作解析方法は、前記方法において前記電圧波形情報を形成する工程は、前記回路情報に基づいてあらかじめ作成されたライブラリを参照して、電圧波形を形成する工程であることを特徴とする。
【００２５】
この構成によれば、回路情報に基づいてあらかじめ作成されたライブラリを参照して電圧波形情報を形成するため、容易に短時間で作成可能である。またライブラリで抽象化された電圧波形情報として出力することも可能である。
またライブラリを参照することなく、実際に測定された出力信号を用いるようにすれば、高精度の波形情報を抽出することができる。
【００２６】
また本発明の半導体集積回路装置の動作解析方法は、前記方法において、前記抽象化情報を形成する工程は、前記電圧波形をあらかじめ決定された単位ウインドウ毎に区切り、前記単位ウインドウ内で直線化する直線化工程を含む。
【００２７】
この構成により、容易にデータの抽象化を実現することができる。
【００２８】
また本発明の半導体集積回路装置の動作解析方法は、前記方法において、前記直線化工程は、前記電圧波形の前記単位ウインドウ内での始点と終点とを直線で結ぶことにより直線化し線形情報を形成する工程である。
【００２９】
この構成により、より効率よくデータの抽象化を実現することができる。
【００３０】
また本発明の半導体集積回路装置の動作解析方法は、前記方法において、前記直線化工程は、前記電圧波形を前記単位ウインドウ内で最小自乗法により直線化し線形情報を形成する工程を含むことを特徴とする。
【００３１】
また本発明の半導体集積回路装置の動作解析方法では、前記あらかじめ決定された単位ウインドウは、全インスタンスの遅延時間の最大値に設定されることを特徴とする
この方法は、電圧波形を測定精度限界までの時間間隔で分割するのではなく、全インスタンスの遅延時間の最大値に設定されるもので、その中をＰＷＬなどでモデル化するもので、この構成によれば、最小限のデータ量でより適切な解析を行うことが可能となる。
【００３２】
なお、単位ウインドウは遅延時間の最大値とするのに限定されることなくセルの動作時間等に対応して区切るようにしても良い。例えば、単位ウインドウはあらかじめ、セルの動作周期の１０分の１から５０分の１程度に決めておくようにしてもよい。抽象化することができる。
この方法により、遅延計算時に使用する単位ウインドウ内では電圧値が一定であるため、遅延計算を行う際に電圧変化を考えなくてもよい。従って現在使用されている静的タイミング解析（ＳＴＡ）をそのまま適用することができる。
【００３３】
また本発明の半導体集積回路装置の動作解析方法は、前記方法において、前記抽象化情報を形成する工程は、前記線形情報から、さらに前記単位ウインドウにおける前記線形情報の傾きの絶対値が１よりも大きい場合はその単位ウインドウ内の最大値をとり、傾きの絶対値が１よりも小さい場合はその単位ウインドウ内の最小値をとり、階段状情報を形成する工程を含むことを特徴とする。
【００３４】
この方法により、遅延計算時に使用する単位ウインドウ内では電圧値が一定であるため、遅延計算を行う際に電圧変化を考えなくてもよい。従ってこの方法によっても、現在使用されている静的タイミング解析（ＳＴＡ）をそのまま適用することができる。
【００３５】
また本発明の半導体集積回路装置の動作解析方法は、前記方法において、遅延値を算出する工程は、前記回路情報から、当該インスタンスの入力信号、出力信号の遷移時刻を算出する工程と、前記算出工程で算出された遷移時刻に基づいて、前記抽象化情報から、入力信号、出力信号の遷移している単位ウインドウを抽出する工程と、前記抽出された単位ウインドウから、前記出力信号が前記単位ウインドウをまたがって遷移しているか否かを判断する工程と、前記判断する工程の判断結果に基づいて、遅延値を計算する工程とを含むことを特徴とする。なお単位ウインドウを抽出する工程は、前記遷移時刻に基づいて前記抽象化情報から単位ウインドウを抽出することによって達成可能である。また判断する工程の判断結果に基づいて回路情報から遅延値を算出するよってなされる。
【００３６】
また本発明の半導体集積回路装置の動作解析方法は、前記方法において、前記遅延値を計算する工程は、前記判断する工程で前記出力信号が前記単位ウインドウをまたがっていないと判断され、当該インスタンスの遅延時間が、前記単位ウインドウよりも小さいとき、遅延計算時の定常電圧をその単位ウインドウの電圧降下後の電圧とする工程であることを特徴とする。
【００３７】
この方法により、単位ウインドウ内で電圧を一定にすることができるため、期間内でＳＴＡなど従来の遅延計算手法をそのまま用いても、高精度の計算を行うことができる。
【００３８】
また本発明の半導体集積回路装置の動作解析方法は、前記方法において、遅延値を算出する工程は、当該インスタンスの遅延時間が、前記単位ウインドウよりも大きいとき、これらのまたがった単位ウインドウの値に対応して決定される電圧をその単位ウインドウの電圧降下後の電圧とする工程であることを特徴とする。
【００３９】
この方法によっても、単位ウインドウ内で電圧を一定にすることができるため、期間内でＳＴＡなど従来の遅延計算手法をそのまま用いても、高精度の計算を行うことができる。また波形をモデル化しておくことにより、より高速処理が可能となる。
【００４０】
また本発明の半導体集積回路装置の動作解析方法は、前記方法において、前記遅延値を算出する工程は、当該インスタンスの遅延時間が、前記単位ウインドウよりも大きいとき、当該インスタンスと、これらが駆動せしめられる配線ネットワークとから当該セルをモデル化し、遅延値を算出する工程であることを特徴とする。
【００４１】
また本発明の半導体集積回路装置の動作解析方法は、前記方法において、前記遅延値を算出する工程は、前記判断する工程で前記出力信号が前記単位ウインドウをまたがっていると判断され、当該インスタンスの入出力信号が単位ウインドウ内で遷移する場合、またがった単位ウインドウ内の電源電圧（電圧波形）の平均値を算出し、前記平均値に基づいて遅延値を算出する工程であることを特徴とする。
【００４２】
この方法によれば、遷移する階段状の電圧波形を用いて計算する必要がないため、遅延計算の簡略化をはかることが可能となる。
【００４３】
また本発明の半導体集積回路装置の動作解析方法は、前記方法において、前記遅延値を算出する工程は、前記判断する工程で前記出力信号が前記単位ウインドウをまたがっていると判断され、当該インスタンスの入出力信号が単位ウインドウ内で遷移する場合、またがった単位ウインドウ内の前記遷移する位置に基づいて、電源電圧の荷重平均値を算出し、前記荷重平均値に基づいて遅延値を算出する工程であることを特徴とする。
【００４４】
また本発明の半導体集積回路装置の動作解析方法は、前記方法において、前記遅延値を算出する工程は、前記判断する工程で前記出力信号が前記単位ウインドウをまたがっていると判断された場合には、当該インスタンスの電圧考慮期間を、当該インスタンスの入力信号波形の閾値電圧まで広げる工程を含むことを特徴とする。
【００４５】
この方法により、電圧考慮期間を広げることで、トランジスタが動作している電源電圧を正確に遅延時間に反映させることができる。
【００４６】
また本発明の半導体集積回路装置の動作解析方法は、前記方法において、前記遅延値を算出する工程は、前記判断する工程で前記出力信号が前記単位ウインドウをまたがっていると判断された場合には、当該インスタンスの入力信号波形が遅延測定閾値電圧に到達するまでの電圧降下値から遅延計算時の電源電圧を計算する工程を含むことを特徴とする。
【００４７】
また本発明の半導体集積回路装置の動作解析方法は、前記方法において、前記ライブラリは、各セルまたはセルの集合体からなるマクロにおける複数の時刻と複数の電圧の組み合わせで構成されることを特徴とする。
【００４８】
また本発明の半導体集積回路装置の動作解析方法は、前記方法において、
前記複数の時刻の最長間隔は、前記単位ウインドウ幅に等しいことを特徴とする。
【００４９】
また本発明の半導体集積回路装置の動作解析方法は、前記抽象化する工程は、前記電圧を２値化するに際し、これらの中点より各時刻における電圧波形の値が大きいか否かで前記電圧を決定することを特徴とする。
この方法により、より簡略な抽象化情報を得ることができる。
【００５０】
また本発明の半導体集積回路装置の動作解析方法は、前記方法において、前記抽象化情報を形成する工程は、前記半導体集積回路をメッシュ状に複数の領域に分割し、各領域内のインスタンスで同一の電圧データを共有するようにしたことを特徴とする。
【００５１】
全インスタンスについて時系列の電圧抽象化情報を保持するとメモリ使用量が増大するが、この構成によれば、同一領域のインスタンスで電圧データを共有化するため、メモリ使用量の削減をはかるとともに動作速度の向上をはかることができる。
【００５２】
また本発明の半導体集積回路装置の動作解析方法は、前記方法において、前記同一のデータは、前記領域内の中央のインスタンスの電圧データであることを特徴とする。
この構成によれば、容易に時系列の電圧データを保持することができる。
【００５３】
また本発明の半導体集積回路装置の動作解析方法は、前記方法において、前記同一のデータは、前記領域内の全インスタンスの平均値であることを特徴とする。
この構成によれば、時系列の電圧データをメッシュ内の代表的データとすることができる。
【００５４】
また本発明の半導体集積回路装置の動作解析方法は、前記方法において、電源配線の寄生素子情報により電源配線の時定数を求め、ある時定数値の範囲内であるときは、同一グループとして電圧データを共有するようにした。
この構成によれば、より実際に近いデータ値をもつようにデータ量を圧縮することができる。
【００５５】
また本発明の半導体集積回路装置の動作解析方法は、前記方法において、領域内にある前記電源電圧の波形差が、所定の範囲内であるときは、同一グループとして電圧データを共有するようにした。
この構成によっても、上記方法と同様、より実際に近いデータ値をもつようにデータ量を圧縮することができる。
【００５６】
また本発明の半導体集積回路装置の動作解析方法は、前記方法において、（電源配線の寄生素子情報により電源配線の時定数を求め、一定の時定数の範囲内であるインスタンスを、同一グループとして電圧データを共有するようにし、）グループ化したインスタンス群の平均電流波形および平均配線ＲＣ回路を持つマクロを生成し、それぞれのマクロを用いて電圧解析を行うようにした。
【００５７】
全インスタンスに関して電圧解析を行うと、メモリ使用量及び処理時間が増大するが、この構成によれば、インスタンスをグループ化しグループ毎の電圧値を求めることにより処理量を削減し、情報量の圧縮を図ることができ、メモリ使用量の削減を図ることができるとともに動作速度の向上をはかることができる。
【００５８】
また本発明の半導体集積回路装置の動作解析方法は、前記方法において、前記解析工程は、前記半導体集積回路の各回路素子の電圧波形を求める工程と、前記各回路素子の電源端子での電圧波形に基づいて、前記回路素子の遅延値を計算する計算工程とを含む。
【００５９】
また本発明の半導体集積回路装置の動作解析方法は、前記方法において、最大遅延時間を求める計算においては、単位ウインドウ内で対象セルが最後に動作する時刻における電圧降下値を検出する工程と、この検出値に基づいて前記遅延値を算出する工程とを含む。
【００６０】
従来は当該セルの最大電圧降下量に基づいて遅延時間を算出していたため、実際には、タイミングエラーを起こさない可能性のある時刻の電圧降下量に基づいて計算しているため、悲観的過ぎる解析結果をもたらすことになっていた。そこで、本発明の方法では、動作タイミングを計算しウインドウ内で対象セルが最後に動作する時刻のドロップ値を利用してタイミング計算を行うようにしている。この方法により、タイミングを考慮して電圧降下量を算出することにより実際にエラーを起こす可能性のある動作時刻の遅延値を利用することができるため、悲観性を低減することができる。
【００６１】
また本発明の半導体集積回路装置の動作解析方法は、前記方法において、最小遅延時間を求める計算においては、タイミングウインドウ内で対象セルが最初に動作する時刻における電圧降下値を検出する工程と、この検出値に基づいて前記遅延値を算出する工程とを含むことを特徴とする。
【００６２】
また本発明の半導体集積回路装置の動作解析方法は、前記方法において、前記遅延値を計算する工程は、クロックを駆動するセルを抽出する工程と、前記クロックを駆動するセルに対してのみ選択的に遅延値を計算する工程とを含む。  従来、電圧変動を考慮したホールド遅延制約検証はおこなわれておらず、ある時点での電圧降下値に基づいた電圧降下値を用いて全セルの電圧降下を検証していたが、この構成によれば算出対象が削減されるため、遅延計算時間が削減される。
【００６３】
また本発明の半導体集積回路装置の動作解析方法は、前記遅延値を計算する工程は、複数のタイミングウインドウが存在する回路においては、タイミングウインドウの時間関係の組み合わせそれぞれについて、複数のタイミングウインドウが存在する回路においては、タイミングウインドウの時間関係の組み合わせそれぞれについて、電圧波形に基づいて遅延計算を行うことを特徴とする。
【００６４】
また本発明の半導体集積回路装置の動作解析方法は、前記方法において、前記遅延値を計算する工程は、検証対象とするクロックドメインの単位ウインドウ内の電圧変化量に対応して遅延値を算出する工程を含む。
【００６５】
従来はクロック周期に関係なく当該セルの最大電圧降下量と最小電圧降下量とに基づいて遅延値を算出していたため、複数の単位ウインドウにまたがる時間についての電圧変動量に基づいて遅延計算を行うことになっていた。このためホールド時間検証においては実際には起こらない非常に大きなクロック遅延差（スキュー）が発生してしまい、悲観的過ぎる結果となる。
【００６６】
この方法では、過度の悲観性を無くし実際の動作に応じた電源電圧変動に基づく遅延解析を行うことが可能となる。
【００６７】
また本発明の半導体集積回路装置の動作解析方法は、前記方法において、前記遅延値を計算する工程は、概略の電圧降下量を算出する算出工程と、この電圧降下量が最大となるインスタンスを検出し、当該インスタンスまでのパスの電圧降下量に余裕があるインスタンスにおいては遅延値を計算しないようにしている。
【００６８】
従来は全てのセルについて電圧降下を考慮した遅延計算を行っていたが、最大の電圧降下量においてもタイミングスラックに余裕のあるパス上のインスタンスは、それ以下の電圧降下量を繁栄したタイミングにおいてもセットアップタイミングエラーを起こすことはない。そこであらかじめ、詳細ドロップ量計算の前に概略ドロップ量計算を行い、最大の電圧降下量を算出し、最大電圧降下電圧においてもタイミングスラックに余裕があるパス上のインスタンスについては詳細ドロップに基づいた遅延計算を行わないようにする。
これにより、遅延計算量の削減を図ることが出来、計算時間の短縮を図ることができる。
また、本発明の半導体集積回路装置の動作解析方法は、前記方法において、前記解析工程は、前記半導体集積回路の各回路素子の電圧波形を求める工程と、前記各回路素子の電源端子での電圧波形に基づいて、前記回路素子の遅延値を計算する計算工程とを含む。
【００６９】
また本発明の半導体集積回路装置の最適化方法は、前記動作解析方法を用いてえられた解析結果に基づき、電圧降下に弱いセルの単位ウインドウに対して影響しているセルまたはインスタンスをレポートする工程と、前記レポートする工程に基づき、最適化を行う工程を含む。
【００７０】
また本発明の半導体集積回路装置の動作解析方法は、前記レポートする工程で報告された影響しているセルまたはインスタンスを移動する工程を含む。
【００７１】
また本発明の半導体集積回路装置の動作解析方法では、前記最適化を行う工程は、前記レポートする工程で報告された影響しているセルまたはインスタンスの近傍に容量セルを挿入する工程を含む。
【００７２】
また、解析工程でタイミング差が所定の値以下で有ると判断されるまで、処理工程および解析工程を繰り返すことにより、効率良く信頼性の高い処理を行なうことが可能となる。
【００７３】
本発明の半導体集積回路装置の動作解析方法で用いられるライブラリは、複数の時刻と複数の電圧との組み合わせと、その遅延値で形成されており、この遅延値算出方法は、このライブラリを参照して抽象化工程で形成された電圧抽象化情報に対応する遅延値を算出するようにしている。
この構成によれば、ライブラリを参照するだけで、実際に演算を行うことなく実際の動作に近い状態で遅延値を得ることが可能となる。
なお、２つ以上の時刻についての電圧を用いたライブラリを用いることも可能である。この場合、例えば単位ウインドウの始点と終点とその中点との３つの時刻についてのデータを用いる場合、抽象化工程では、電圧波形情報から中点の電圧よりも電圧波形情報の電圧波形が上すなわち大きいか否かで中点のデータを始点データとするか終点データとするか決定するようにしてもよい。
【００７４】
【発明の実施の形態】
以下、本発明に係る動作解析方法について図面を参照しつつ詳細に説明する。
第１の実施の形態
図１は、本実施の形態における動作解析手順の原理図を示す図である。
【００７５】
図１に示すように、本発明の実施の形態の動作解析方法は、図５６で示した解析方法における平均電圧降下値を算出する工程２００３に代えて、回路情報１００１から各インスタンス毎の動的電圧を解析して（１００２）電圧波形を形成し、この電圧波形を抽象化することによって得られた電圧抽象化情報１０３３に基づいて遅延計算を行うようにしたことを特徴とする。また、遅延計算において参照するライブラリ１００４についても平均電圧降下用セルライブラリまたは平均電圧降下用マクロに抽象化していたのに対し、本実施の形態では、平均値ではなく動的特徴を維持できるような抽象化方法を用いて作成したライブラリを用いるようにしたことを特徴とする。他については前述した図５６と同様である。さらに、電圧解析工程１００２においてもグループ化したインスタンス群の平均電流値および平均配線ＲＣ回路を持つセルあるいはマクロを生成し、それぞれのマクロを用いて電圧解析を行うようにしてもよい（これについては後述する）。例えば、ここでグループ化は、電源配線の寄生素子情報により電源配線の時定数を求め、一定の時定数の範囲内であるインスタンスを、同一グループとして電圧データを共有することによって実現する。
【００７６】
すなわち、この方法では、図１に概要図を示すように、回路情報１００１から、半導体集積回路の各インスタンスの電源端子での電圧波形を求め、前記インスタンス毎の電圧を解析して電圧波形情報１００３を形成する電圧解析手段１００２と、電圧波形情報１００３を抽象化し、電圧抽象化情報１０３３を形成する電圧抽象化手段１００３と、前記電圧抽象化情報１０３３に基づいて前記インスタンスについてライブラリ１００４を参照して遅延値を算出する遅延値算出手段１００５とを含むことを特徴とする。
後の工程は図５６で示した従来例の動作解析方法と同様である。
【００７７】
そしてこの遅延値を標準遅延様式（ＳＤＦ）１００６と、この値を用いてタイミング解析を行うタイミング解析手段１００７と、このタイミング解析手段１００７による解析結果をタイミングレポート１００８として出力し、この解析結果に基づき最適化手段１００９で最適化のための設計変更がなされる。
【００７８】
ここでライブラリ１００４は、セル毎の遅延値情報を格納したセルライブラリ１０１３と、セルの集合体をひとつのかたまりとしてみたいわゆるマクロ毎の遅延値情報を格納したマクロライブラリ１０２３とを備えている。そしてセルライブラリ１０１３は、セル情報１０１１から、全てのセルの動作時の動作電流に基づいて電圧降下を算出し、この算出値を抽象化（キャラクタライズ）し、このキャラクタライズされた値を、セルライブラリ１０１３に格納したものである。一方、マクロライブラリ１０２３は、マクロ情報１０２１から全マクロの動作時電流に基づいて電圧降下を算出し、キャラクタライズ（１０２２）し、このキャラクタライズされた値を、マクロライブラリ１０２３に格納したものである。この抽象化方法については、後述する。
【００７９】
次に、回路情報から電圧解析により電圧波形を形成する方法について説明する。
まず、解析しようとするチップの回路情報から、例えば図２に示すような複数のインスタンスを含む回路を想定する。そしてこの各インスタンスについて電源端子情報から電圧波形を形成する。この図からもわかるように、セルが並んで配置されており、セルが並んでいる領域の各インスタンスが電源（ＶＳＳ，ＶＤＤ）に接続されている。
【００８０】
図３は電圧の抽象化を説明する説明図である。この電圧波形が図３に実線で示すように形成されているものとする。これをセル動作時間に基づいて時間間隔を決定し、これを単位ウインドウＴｗとする。この時間間隔は例えば動作周期の１０分の１〜５０分の１に決定する。理想電源に基づく遅延計算を行い、その中でもっとも遅延時間の大きいものを用いるようにするのが望ましい。
【００８１】
そしてこの単位ウインドウ内で例えば始点と終点を結び破線で示すように直線化し、ＰＷＬ（Ｐｉｅｃｅ−Ｗｉｓｅ  Ｌｉｎｅａｒ）方式で抽象化（モデル化）する。このモデル化された情報をそのまま電圧抽象化情報１０３２として用いることができる。
【００８２】
得られた回路情報１００１から電圧解析工程１００２で得られた電源電圧波形曲線ａが図４に示すものであったとする。図中Ｖｉｄは理想電源電圧であり、この電源電圧曲線ａが電圧降下（ＩＲドロップ）により降下せしめられた電源電圧である。
この情報を図５に示すように単位ウインドウＴｗで区切り、前記図３のモデルと同様に、単位ウインドウ内で始点と終点を結び直線化し、図５に直線ｂで示すように抽象化する。このモデル化された情報を電圧抽象化情報１０３２とする。
【００８３】
また、後述するが、この抽象化された情報に基づいて遅延値および消費電力を算出し、これらの情報をマクロライブラリ１０２３に格納しマクロ情報として用いることもできる。この操作をセルに適用すれば同様にしてセルライブラリ１０１３を形成することができる。
【００８４】
そして、電圧抽象化情報１０３２に基づいて、ライブラリ１００４を参照し、マクロ内の電圧抽象化情報１０３２に対応した遅延値を取り出し（遅延計算工程：１００５）、これを、ＳＤＦ１００６に格納し、この値に基づいてタイミング解析１００７を行うことによりタイミングを推定するとともにタイミングエラーを解析して、タイミングレポート１００８を出し、タイミングを最適化する。
【００８５】
この方法では、全てのインスタンスについての電圧波形情報を得、この電圧波形情報を抽象化するようにしているため、高効率の解析が可能となる。
なお、全てのインスタンスについての電圧波形情報に基づいて解析を行うか否かについては、適宜選択可能であり、この電圧波形情報をグループ化し、同一グループ内では情報を共有するようにすればデータの圧縮が可能となる。
【００８６】
また、この構成によれば、抽象化された電圧抽象化情報によってライブラリ１００４から遅延値を読み出すようにしているため、特性劣化を防ぎ、データ量の低減をはかることができる。
【００８７】
このように、セル情報１０１１を抽象化工程（１０１２）で抽象化して格納したセルライブラリ１０１３と、マクロ情報１０２１を抽象化工程（１０２２）で抽象化して格納したマクロライブラリ１０２３とを含むようにしているため、データ量の低減を図ることが可能となる
【００８８】
なお、前記第１の実施の形態では、実電源波形をあらかじめ決定された単位ウインドウ毎に区切り、直線化するに際し、単位ウインドウ内での始点と終点とを直線で結ぶことにより直線化し線形情報を形成するようにしたが、この直線化に際しては、最小自乗法を用いて直線化するようにしてもよい。
なおこの単位ウインドウは、セルの動作時間に応じてあらかじめ決定される間隔であるが、この間隔を適宜選択することにより、データの良好なモデル化が可能となる。
【００８９】
（第２の実施の形態）
次に、本発明の第２の実施の形態として、抽象化情報の形成方法について説明する。
前記第１の実施の形態では、電圧波形情報を直線化したが、単位ウインドウ内で電圧の変化が生じてしまうので、遅延演算を行いにくい。このためこの例では単位ウインドウ内で一定の値をとるようにするものである。
図６に示すように抽象化情報を形成する工程（図１の１００３）において、前記第１の実施の形態において図５に示したように得られた線形情報から、さらに単位ウインドウにおける線形情報の傾きの絶対値が１よりも大きい場合はその単位ウインドウ内の最大値をとり、傾きの絶対値が１よりも小さい場合はその単位ウインドウ内の最小値をとり、直線ｃに示すように階段状情報を形成するものである。
【００９０】
これにより、この電圧値に基づいてライブラリ１００４の情報から電圧の変化を考慮することなく遅延値を取り出すことができ、前記第１の実施の形態と同様にタイミング解析を行う。
この方法によれば、遅延計算時に用いる単位ウインドウ内では電圧値が一定であるため、遅延計算を行う際に電圧の変化を考慮することなく行うことができ、現在使われているＳＴＡなどの遅延計算手法をそのまま適用することができるという効果がある。
【００９１】
（第３の実施の形態）
次に本発明の第３の実施の形態について、遅延演算の促進方法について説明する。この例では、図７にフローチャートを示すように、例えば着目する回路情報から、当該セルの入力信号、出力信号の遷移時刻を算出し（算出ステップ７０１）、この算出ステップ７０１で算出された遷移時刻から、抽象化情報から入力信号、出力信号の遷移している単位ウインドウを抽出する（抽出ステップ７０２）。
【００９２】
この後、抽出された単位ウインドウから、出力信号が単位ウインドウをまたがって遷移しているか否かを判断する（判断ステップ７０３）。
そしてこの判断ステップ７０３で単位ウインドウをまたがって遷移していないと判断された場合は電源電圧に応じて、あらかじめ作成されているライブラリを用いて遅延演算を行う（ステップ７０６）。
【００９３】
一方判断ステップ７０３で単位ウインドウをまたがって遷移していると判断された場合は、抽出した単位ウインドウでの電源電圧は異なっているか否かを判断し（判断ステップ７０４）、異なっていないと判断された場合は前記と同様に電源電圧に応じた通常の遅延計算を行う（ステップ７０６）。
【００９４】
図８はこの異なっていないと判断される場合の抽象化された電圧波形を示す図である。図中曲線ａは実際の電源電圧波形情報であり、直線ｂは抽象化された電源電圧波形である。判断ステップ７０３で出力信号が単位ウインドウをまたがっていないと判断され、当該セルの遅延時間が、単位ウインドウ幅よりも小さいとき、遅延計算時の定常電圧をその単位ウインドウの電圧降下後の電圧とする。
【００９５】
さらに、図９に示すように、判断ステップ７０３で単位ウインドウをまたがって遷移していないと判断されかつ、当該セルの遅延時間が、単位ウインドウ幅よりも大きいとき、以下のような処理を行う。
例えば、判断ステップ７０４で抽出した単位ウインドウでの電源電圧は異なっていると判断された場合は、図１０に示すように遷移に関係する単位ウインドウの電源電圧を平均化し（ステップ７０５）この値に基づいて遅延値を計算する（この計算方法については、例えばプロシーディング  オブ  アイ  トリプル  イー  コンピュータ  エイデッド  デザイン（Ｐｒｏｃ．ＩＥＥＥ  Ｉｎｔ．Ｃｏｎｆ．Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ  ｐｐ。５１２−５１５１９８９，１１）に記載されている）。
この場合は階段状の電源電圧波形を用いた計算が不要となるため遅延計算の簡略化をはかることができ計算量の低減をはかることができる。
【００９６】
さらにまた電圧降下が起こっていない理想電源の状態で当該セルの遅延時間が、前記単位ウインドウの幅よりも大きいとき、配線ネットワークのモデル化を行いセルの出力駆動点でのふるまいが同一となるようにモデル化する。
この状態を図１１に示す。図１１（ａ）に示すように、セル１とセル１が駆動する配線ネットワークからセル１を電圧原、内部抵抗、及び容量でモデル化し、配線ネットワークを任意のアルゴリズムで縮退する。縮退方法については、例えば、モデリング  オブ  ザ  ドライビング・ポイント  キャラクタリスティックオブ  レジスティブ  インターコネクト  フォア  アキュリット  ディレイ  エスチネイション  ピーター、アール、オブリエン  トーマス  エル  サバリノ１９８９  アイ  トリプル  イー（Ｍｏｄｅｌｉｎｇ  ｔｈｅ  Ｄｒｉｖｉｎｇ−ｐｏｉｎｔ  Ｃｈａｒａｃｔｅｒｉｓｔｉｃ  ｏｆ  Ｒｅｓｉｓｔｉｖｅ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  ｆｏｒ  Ａｃｃｕｒａｔｅ  Ｄｅｌａｙ  Ｅｓｔｉｎａｔｉｏｎ（Ｐｅｔｅｒ  Ｒ．Ｏ‘Ｂｒｉｅｎ  ａｎｄ  Ｔｈｏｍａｓ  Ｌ．Ｓａｖａｒｉｎｏ：１９８９  ＩＥＥＥ））に記載されている方法を用いればよい。
【００９７】
ついで、電圧源を、供給される電圧値に従い、図１１（ａ）に示すように、複数の領域に分け電圧源が一定である領域毎に、この回路方程式を解くことによりセルの出力信号波形を計算する。
電圧が変化する点では、セル１の出力信号波形は図１１（ｂ）に示すように、特異点をもつことになるが、連続な波形となるので、ゲートレベルの遅延計算の場合そのままで計算するようにしてもよい。
【００９８】
（第４の実施の形態）
次に本発明の第４の実施の形態について、遅延演算の促進方法について説明する。前記第３の実施の形態では、単位ウインドウは固定であったが、この例では単位ウインドウの拡大により、モデル化をはかる。この例では、図１２にフローチャートを示すように、図７に示した前記第３の実施の形態と同様、例えば着目する回路情報から、当該セルの入力信号、出力信号の遷移時刻を算出し（算出ステップ７０１）、抽象化情報から当該遷移時刻を含む単位ウインドウを抽出（抽出ステップ７０２）しり。この後、判断ステップ７０３で、出力信号が単位ウインドウをまたがって遷移している判断され、抽出した単位ウインドウでの電源電圧は異なっていると判断された場合、前記第３の実施の形態では遷移に関係する単位ウインドウ内の電源電圧を平均化したが、この例では、電源電圧考慮期間の拡大（ステップ７０７）を測るとともに、入力信号波形の遷移時刻から電源電圧を採用（ステップ７０８）し、電源電圧に応じた通常の遅延計算を行う（ステップ７０９）ようにしている。
【００９９】
図１３は電源電圧考慮期間の拡大を示す図である。単位ウインドウをまたがってセルの入出力信号が遷移する場合、入力信号波形のトランジスタ閾値電圧Ｖｔｈまで電圧考慮期間を広げるようにしている。ここで前記電源電圧拡大ステップにおける実際のトランジスタの動作を考慮し、セルＡの入力波形が遅延測定閾値電圧を越える時点からセルＢの入力波形がトランジスタの閾値電圧を越える時点までであった従来に比べ、セルＡの入力波形がトランジスタの閾値電圧を越える時点からセルＢの入力波形がトランジスタの閾値電圧を越える時点までとした。
【０１００】
これにより、トランジスタが動作している電源電圧を正確に遅延時間に反映することができる。
また、図１４に示すように、入力信号波形がトランジスタ閾値電圧から遅延測定閾値電圧に到達するまでの時間の電圧降下値から遅延計算時の電源電圧を計算する。
これにより、階段状の電源電圧波形を用いる計算する必要が無いため、遅延計算の簡略化を測ることができ、計算量の減少を図ることが可能となる。
【０１０１】
（第５の実施の形態）
次に、図１に１００３で示した抽象化情報を形成する工程において、メモリ使用量の削減及び動作速度の向上をはかるためのデータの圧縮について説明する。
この例では、図１５に示すように、チップをメッシュ状に分割し、同一領域では電圧データを共通化するようにしたものである。
図１６にそのフローチャートを示す。回路情報（配置情報）１６０１に基づいてチップをメッシュ状に分割し、同一領域内にあるインスタンスを図１７に示すように電圧データを共有化するようにしている。
【０１０２】
そしてそのグループ内での代表電圧を抽出し、平均値あるいは中央の値を代表電圧とする（ステップ１６３２）。図１７（ａ）は１メッシュを示し、このメッシュ内にインスタンスが複数含まれていることがわかる。そして図１７（ｂ）はこのメッシュ内における電圧データを示す図である。縦軸は降下電圧、横軸は時間を示す。
このようにして電圧抽象化情報を得る（ステップ１６３３）。
【０１０３】
このように全てのインスタンスについて時系列の電圧抽象化情報を保持するとメモリ使用量が増大するが、この構成によれば、同一領域のインスタンスで電圧データを共有化するため、メモリ使用量の削減をはかるとともに動作速度の向上をはかることができる。
この後これをグループ化して情報量を圧縮するようにしているため、メモリ使用量を削減するとともに動作速度の向上をはかることが可能となる。
【０１０４】
また、前記方法において、前記領域内の中央のインスタンスの電圧データであてもよいし、またメッシュ内の全インスタンスの平均値をとるようにしてもよい。
【０１０５】
（第６の実施の形態）
前記第５の実施の形態では、チップをメッシュ状に分割し、同一領域では一定の電圧値をとるようにしたが、この方法では、電源配線の寄生素子情報により電源配線の時定数を求め、ある時定数値の範囲内であるときは、同一グループとして電圧データを共有するようにした。つまり時定数が一定値に収まる範囲を１つの領域とし、同一領域では電圧データをひとつにまとめるようにしている。
【０１０６】
図１８にそのフローチャートを示す。回路情報（寄生素子情報）１８０１に基づいてチップを時定数（ＲＣ）にしたがってグループ化し、グループ毎のインスタンスで電圧データを共有化するようにしている。ここでは図１９（ａ）に示すように配線ネットワークＮ、インスタンスＩｎによる抵抗および容量の接続体としてチップをとらえ、図１９（ｂ）に示すように得られる時定数が一定値に収まる範囲を１つの領域とし同一領域では電圧データをひとつにまとめるようにしている。
この方法では、電源配線を考慮しているためより高精度化をはかることが可能となる。
【０１０７】
（第７の実施の形態）
本実施の形態では、電源電圧波形差が遅延計算誤差に収まる場合、同一グループとして電圧データを共有化するようにしている。なお、インスタンス毎の動作タイミングでの波形差を用いるようにしてもよい。
まず、図２０に示すようにセルライブラリ２０１１およびマクロライブラリ２０２１から読み出したデータをもとに電圧誤差許容値算出手段２００９で電圧誤差値を得、インスタンスグループ化手段２０１０を経て電圧抽象化情報２０３３を得るようにしたものである。
【０１０８】
図２１（ａ）および（ｂ）に、インスタンス及び電源電圧波形差を示すように、電源電圧波形差が（あらかじめ決定される）遅延計算誤差に収まる場合は電圧データを共通化し、１つの電圧データとして格納する。
これにより、情報量を大幅に圧縮することができ、演算速度を高めることができる。
【０１０９】
（第８の実施の形態）
前記第７の実施の形態では、各インスタンスにおける電源電圧波形差に基づいてグループ分けし、データの圧縮をはかるようにしたが、本実施の形態では、各インスタンスをグループ化し、グループ毎の電圧値を求めることにより、処理量を削減し、情報量の圧縮をはかる。
【０１１０】
図２２はこの方法のフローチャートを示す図である。
図２３（ａ）に示すような回路情報（寄生素子情報）２２０１からインスタンスの時定数に応じてグループ化し（インスタンスグループ化手段２２１１）、縮退回路情報２２１２を得る。つまり、図２３（ａ）に示すように時定数が一定値に収まる範囲を１つの領域とし同一領域でマクロを形成し（マクロ生成手段２２５０）、マクロインスタンスＭＩｎを形成するとともに、縮退配線ネットワークＭＮを形成する。
【０１１１】
そして、電源配線を寄生素子情報により電源配線の時定数を算出し、一定の時定数に収まるインスタンスをグループ化する。そしてグループ化したインスタンス群の電流波形及び縮退電源配線ＲＣ回路を持つマクロを生成し、それぞれのマクロを用いて電圧解析を行う（マクロ電圧解析手段２２６０）。そして電圧抽象化情報を得る。
これにより、メモリ使用量の削減をはかることができるとともに、動作速度の向上を図ることができる。
【０１１２】
このように、全インスタンスに関して電圧解析を行うと、メモリ使用量及び処理時間が増大するが、この構成によれば、インスタンスをグループ化しグループ毎の電圧値を求めることにより処理量を削減し、情報量の圧縮を図ることができ、メモリ使用量の削減を図ることができるとともに動作速度の向上をはかることができる。
【０１１３】
（第９の実施の形態）
前記第８の実施の形態では、各インスタンスをグループ化し、グループ毎の電圧値を求めることにより、処理量を削減し、情報量の圧縮をはかるようにしたが、本実施の形態では、処理量の削減をはかるために、解析すべき時間間隔の短縮化について説明する。
【０１１４】
メモリ容量の低減のためには解析すべき時間間隔は短いのが望ましいが、従来のように解析に平均値情報を用いていた場合に比べ、単位ウインドウを考慮した解析時間間隔を用いる必要がある。
【０１１５】
各インスタンスにおける電源電圧波形差に基づいてグループ分けし、データの圧縮をはかるようにしたが、複数箇所でクロック信号を用いたマルチサイクルの回路の場合には、複数の単位ウインドウを用いて解析する。
【０１１６】
例えば図２４（ｂ）にブロック図を示すようなセルＣ１，Ｃ２が接続されており、各セルにはそれぞれクロックＣＫ１，ＣＫ２が入力されるものとする。そこでセルＣ１に図２４（ａ）に示すような入力信号Ｄ１が入力し、クロックＣＫ１で駆動され、このセルＣ１の出力に所定の回路を介して接続されたセルＣ２に、入力信号Ｄ２が入力しクロックＣＫ２で駆動されるものとする。このときクロックＣＫ１，２は同一タイミングのクロック信号であるが、Ｃ２の出力は図２４（ｃ）に示すようになる。
【０１１７】
この場合は複数（ここでは２つ）の単位ウインドウＴｗを用いて解析することにより、精度の低下を招くことなく解析を行うことが可能となる。
一方、図２５に示すように周期の異なる２つのクロックＣＫ１，ＣＫ２が用いられる場合には、周期の最小公倍数まで評価解析範囲を拡張し、最悪条件および最小条件で電圧降下を評価するようにすればよい。
【０１１８】
（第１０の実施の形態）
本実施の形態では、最大遅延値を計算するに際し、タイミングウインドウ内で対象セルが最後に動作する時刻を抽出しこの抽出された時刻における最大降下電源電圧に基づいて、遅延値を算出するようにしている。タイミングウインドウとは、静的タイミング解析を行うにあたり、各クロック周期制約に基づいて作成されたタイミング計算を行うべき時間をいうものとする。したがってここではクロック周期そのものを用いることが多い。
従来は電圧波形を考慮せず、当該セルの最大電圧降下量に基づいて遅延時間を算出していたため、実際には、タイミングエラーを起こさない可能性のある時刻の電圧降下量に基づいて計算する場合がある。即ち、図２６に示すように、解析対象タイミングウインドウＴＷ内の中間地点で発生する最大電圧降下量（ａ）に対応する遅延値はクリティカルパスの遅延の影響しない。このため、従来手法では、悲観的過ぎる解析結果をもたらすことになっていた。
【０１１９】
例えば、単位ウインドウＴＷ内の最大電圧降下量が最大の時刻の遅延値がクリティカルパスの遅延に影響するとは限らない。そこで本実施の形態では、図２６に示すように、最大遅延時間を算出する場合には、最終動作時刻を含む最終動作ウインドウＴｗｆを抽出し、この最終動作ウインドウＴｗｆ内の最大電圧降下量ｂを検出し、この値に対応した遅延値を算出する。
このように本実施の形態では最終動作時刻を含む最終動作ウインドウＴｗｆを抽出し、この最終動作ウインドウＴｗｆ内の電圧降下量ｂを検出し、この値に基づいて遅延値を算出する。
【０１２０】
これにより、タイミングを考慮して電圧降下量を算出することにより実際にエラーを起こす可能性のある動作時刻の遅延値を利用することができるため、悲観性を低減することができる。
一方最小遅延時間を算出する際には、全動作タイミングウインドウ内の最初のイベント発生時のタイミングウインドウ（ＴＷａ）中の最小電源降下電圧に基づいて遅延値を計算するようにすればよい。
【０１２１】
（第１１の実施の形態）
本実施の形態では、クロックを駆動するセルを抽出し、クロックを駆動するセルに対してのみ選択的に遅延値を計算し、電圧降下を考慮したタイミング検証を行う。例えば図２７に示すような例を考える。この例では、フリップフロップ回路ＦＦ１〜ＦＦ３まで３段接続され、クロックｃｌｋを３段分岐させたｃｌｋ１、２、３で駆動される場合データ受け側ＦＦ１の入力がデータ受け側ＦＦ１のクロック動作により決められた時間（ホールド時間）以降に遷移することを確認するためのタイミング検証が必要である。
従来、ホールド遅延制約検証を行う場合、全セルの電圧波形を考慮した遅延値を算出し、検証していたが、データ量が増大する上、必ずしも必要でない場合も多い。ホールド検証においては、データ部については、遅延時間が最も短い状態を検証する時間があるが、ドロップを考慮しない状態が最も遅延時間が短い。従って、ドロップを考慮しない状態でも楽観的になりすぎることはない。そこで、本実施の形態では、クロック部のみについてのみ電圧変動を考慮した遅延計算をおこない、クロック部以外については、理想電源状態の遅延値をもちいて、遅延値を計算している。
【０１２２】
また、セットアップ遅延制約検証を行う場合でも、クロック部以外において、悲観的な遅延値を算出している場合は、クロック部のみ、電圧波形を考慮した遅延検証を行うことにより、楽観性をより排除した検証を行うことができる。
このような状況の中で本実施の形態の構成によれば算出対象が削減されるため、遅延計算時間が削減される。
【０１２３】
（第１２の実施の形態）
本実施の形態では、ホールド時間検証において、複数のタイミングウインドウが存在する回路について検証を行う場合について考える。
本実施の形態では、複数のタイミングウインドウが存在する回路においては、タイミングウインドウのすべての時間関係について電圧波形に基づいた遅延計算を実施する。
【０１２４】
たとえば、図２８に示すように回路中に長い周期Ａと短い周期Ｂの二つのタイミングウインドウがあった場合、本手法では、Ｘ１ーＸ２のタイミングウインドウにおける電圧波形を考慮した遅延計算とＸ２ーＸ３のタイミングウインドウにおける電圧波形を考慮した遅延計算のようにタイミングウインドウごとに遅延計算を行う。
【０１２５】
周期Ｂのタイミングウインドウ内における電圧波形は、周期Ａとの時間関係により異なる。従って、電圧波形を考慮した遅延計算を行う場合、それぞれのタイミングウインドウごとに電圧波形を考慮した解析を行わなければ、回路の動作を保障することはできない。
【０１２６】
この方法を用いれば、結果的に起こりうる状態をすべて遅延計算することになるため、実際の動作に応じた遅延解析を行うことが可能となる
【０１２７】
以上のように、この方法では、タイミングウインドウに対応して単位ウインドウを決定し、過度の楽観性を無くし実際の動作に応じた電源電圧変動に基づく遅延解析を行うことが可能となる。
なお、タイミングウインドウは、各レジスタごとに規定されるタイミング解析を行う基本単位であり、通常そのレジスタに入力されるクロック周期に基づいて規定される。タイミングウインドウは、回路構成によっては、クロック周期と一致しない場合も存在する。
【０１２８】
（第１３の発明の実施の形態）
本実施の形態では、最大の電圧降下量においてもタイミングスラックに余裕のあるパス上のインスタンスは、それ以下の電圧降下量を反映したタイミングにおいてもセットアップタイミングエラーを起こすことはないという点に着目してなされたものである。本実施の形態では、パスのタイミングに余裕があるインスタンスにおいては遅延値を計算しないようにしたことを特徴とするもので、図２９に示すように、遅延値を計算する工程を、概略の電圧降下量を算出する算出工程２９０１と、タイミングスラックを計算する工程２９０２と、この電圧降下量が最大となるインスタンスのスラック値を算出する工程２９０３と、当該スラック値でエラーとなるものについてのみ遅延計算を行う計算工程２９０４とを含む。
ここで概略の電圧降下量を計算する工程は、例えば図５６の電圧解析工程における全インスタンス中の最大電圧降下値を用いても良い。
【０１２９】
なお、従来は全てのセルについて電圧降下を（平均値として）考慮した遅延計算を行っていたが、最大の電圧降下量においてもタイミングスラックに余裕のあるパス上のインスタンスは、それ以下の電圧降下量を繁栄したタイミングにおいてもセットアップタイミングエラーを起こすことはない。そこであらかじめ、詳細ドロップ量計算の前に概略ドロップ量計算を行い、最大の電圧降下量を算出し、最大電圧降下電圧においてもタイミングスラックに余裕があるパス上のインスタンスについては詳細ドロップに基づいた遅延計算を行わないようにする。
【０１３０】
これにより、遅延計算量の削減を図ることが出来、計算時間の短縮を図ることができる。
【０１３１】
またここでも、最適化に際しては、上記動作解析方法を用いてえられた解析結果に基づき、電圧降下に弱いセルの単位ウインドウに対して影響しているセルまたはインスタンスをレポートし、この結果に基づき、最適化を行う。
【０１３２】
（第１４の発明の実施の形態）
次に解析結果に基づいて実施される最適化方法について説明する。
本実施の形態では、図３０に示すように、また本発明の半導体集積回路装置の動作解析方法で得られた結果を、レポートし、この結果に基づいて、影響しているセルまたはインスタンスを移動するあるいは影響しているセルまたはインスタンスの近傍に容量セルを挿入する工程を含む。
【０１３３】
即ち図３０にフローチャート、図３１および図３２に説明図を示すように、例えば図１に示したレポート結果から、もっとも遅延値の大きいパスなど、信号のクリティカルパス３２を抽出し（ステップ３００１）、この抽出された情報に従い単位ウインドウを抽出（ステップ３００２）し、この抽出結果に応じて電流経路を抽出し（ステップ３００３）、電流が流れる単位ウィンドウに影響を及ぼす消費電力の高いセルを影響セル３３として抽出し（ステップ３００４）、この影響セルを移動する（ステップ３００５）か、または影響セル周辺へ容量セルを挿入する（ステップ３００６）。
一方クロック経路に関しては、電圧降下の影響により図３２に示すクロックソースから各ＦＦへのクロックスキューが発生した場合、電圧降下の影響をより多く受けた経路のＣＴＳバッファが動作する単位ウィンドウを抽出し、その単位ウィンドウにおける電流経路抽出とそこに影響を及ぼす影響セルを抽出し、上記同様に、影響セルの移動（ステップ３００５）や容量セル挿入（ステップ３００６）を行う。あるいは電圧降下の影響を受けなかったクロック経路中のＣＴＳバッファ周辺に容量が存在する場合、その容量削減によりクロックスキューの調整を行うこともできる。（ステップ３００７）
【０１３４】
このようにして、処理を行い、解析工程でタイミング差が所定の値以下であると判断されるまで、処理工程および解析工程を繰り返すことにより、効率良く信頼性の高い処理を行なうことが可能となる。
【０１３５】
（第１５の発明の実施の形態）
以上述べてきた実施の形態において、遅延値の算出を行う場合、ライブラリを参照して遅延値を算出しているが、本実施の形態ではこのセルの抽象化について説明する。この方法は、図１に示したセルライブラリ１０１３、マクロライブラリ１０２３のいずれにも適用できるものである
【０１３６】
ここで動作解析方法で用いられるライブラリは、複数の時刻と複数の電圧との組み合わせと、その遅延値で形成されており、この遅延値算出方法は、このライブラリを参照して抽象化工程で形成された電圧抽象化情報に対応する遅延値を算出するようにしている。
【０１３７】
まず、この例では、図３３に示すように、複数の時刻ｔ１、ｔ２、ｔ３と複数の電圧Ｖｄｄ，Ｖｄｄ１，Ｖｄｄ２の組み合わせでライブラリを作成する。
例えば、時刻ｔ１からｔ２にいくとき電圧がＶｄｄからＶｄｄ１に変化する場合、遅延時間はＴ１，時刻ｔ１からｔ２にいくとき電圧がＶｄｄ１からＶｄｄ２に変化する場合、遅延時間はＴ２・・というように、あらかじめ測定して得られたデータをもとにライブラリが形成される。
【０１３８】
このように複数の時刻と複数の電圧との組み合わせで形成されたライブラリを用いることにより、電圧波形が似ている時刻と電圧の組み合わせのライブラリから遅延値を算出することができる。
【０１３９】
この構成によれば電圧波形の変化の組み合わせを用いてライブラリ（図３４（ａ）および（ｂ））を作成しているため、実際に演算を行うことなく実際の動作に近い状態で遅延値を得ることが可能となる。また、実際の動作に近くなり、高精度の遅延値を得ることができる。またライブラリ化しているため遅延計算が極めて容易となる。
【０１４０】
この場合、例えば単位ウインドウの始点と終点とその中点との３つの時刻についてのデータを用いる場合、抽象化工程では、図３４（ａ）に示すように、電圧波形情報から中点の電圧よりも電圧波形情報の電圧波形が上すなわち大きいか否かで中点のデータを始点データとするか終点データとするか決定できるようになっている。この図のような波形データの場合は中点での電圧よりも遅延値を算出しようとする電圧波形情報の波形データの方が上にあるため、遅延値計算時に使用する電圧はＶｄｄとしてライブラリから遅延値を取り出す。
また中点に限定されることなく、複数の点であってもよい。
【０１４１】
なお、例えばセルライブラリには、遅延時間情報、消費電力情報、タイミングチェック値情報、入力ピン容量情報、しきい値情報、セルの特性に基づいた情報が記載されている。
遅延時間情報は、入力スルーレート（入力信号波形の遷移時間）と負荷容量で構成する遅延時間テーブルとして格納されている。
消費電力情報は、入力スルーレート（入力信号波形の遷移時間）と負荷容量で構成する消費電力テーブルとして格納されている。
タイミング制約情報は、クロックとデータの入力スルーレート（入力信号波形の遷移時間）で構成されるセットアップ、ホールド制約テーブルとして格納されている。
マクロライブラリも同様である。
【０１４２】
また、前記実施の形態では３つの時刻についての各電圧をもとめ遅延値情報を算出してライブラリを作成したが、２つ以上の時刻についての情報があればよく、図３５に示すように、２つの時刻についての情報を用いるようにしてもよい。
【０１４３】
この構成によれば時刻ｔ１、ｔ２と複数の電圧の組み合わせでライブラリを作成しているため、単位ウインドウ中に電圧が単調増加、単調減少、一定、の３種を想定すればよく、データ量を大幅に削減することができる。
【０１４４】
（第１６の発明の実施の形態）
次に、前記第１５の実施の形態で用いたライブラリの作成方法について説明する。
図２に示した半導体チップをマクロＭ１〜Ｍ８に分け、このひとつについて図３６（ａ）に示すように、電源端子をマクロピンとし、各マクロピンにおける電流波形図（３６（ｂ））を得る。ここでマクロとは、ＤＳＰ、メモリなどの機能モジュールを示す単位であり、スタンダードセルよりも大きな単位を示す。このようにチップをセル単位ではなくマクロ単位で捉え、動作、消費電力などをライブラリ化することにより、チップ設計で使用することができるようにしたものである。
【０１４５】
すなわち図３７に電圧降下解析用のマクロ電流モデルの説明図を示すように、チップ３７０内を複数のマクロ３７１に分割し、チップの周囲に形成された外部接続用の端子であるチップピン３７０ｐとマクロに設けられた端子であるマクロピン３７１ｐとの間にはチップ電源ネットワークが形成されており、これによる電圧降下が形成される。
【０１４６】
まず、このマクロＭ１を選択し、電流波形を得るわけであるが、この場合、チップ内におけるマクロの位置によっても電流波形が異なる。例えば図３８（ａ）および（ｂ）に示すように、例えばマクロＭ１のマクロピンＨは図３８（ｂ）では、図３８（ａ）の配置に比べ、チップの電源パッドに近く、チップからのインピーダンスが小さくなっている。従って図３８（ｂ）では、図３８（ａ）より、より大きな電流が流れることになる。
【０１４７】
このことからわかるように、チップ上のマクロの位置を考慮して電流解析（電圧解析）を行うことにより、より精度の高い電流解析を行うことが可能となる。またこの解析結果を用いてライブラリを作成する場合にも、より高精度のライブラリを得ることが可能となる。
【０１４８】
ここでチップ上のマクロの位置を考慮した電流解析を行うに際しては図３７に示したようにチップピン３７０ｐからマクロピン３７１ｐまでのチップ電源ネットワーク３７０Ｎを算出し、これを考慮してマクロ電流を算出する。
【０１４９】
すなわち図３９にフローチャートを示すように、回路情報１００２からマクロ回路情報３９１１およびマクロ電源配線ＲＣ情報３９１２を抽出し、この情報に基づいてマクロ電流を算出する工程（ステップ３９２０）およびマクロピン電流波形を算出する工程（ステップ３９２１）を経て、波形処理工程（ステップ３９２２）を経て、ピン接続電流モデルを作成する（ステップ３９２３）。
この例ではマクロの配置位置は、チップの電源ピンとマクロピンとの間のチップ電源ネットワークが影響する。通常マクロの抽象化工程を行う時点ではチップ電源ネットワークの値が定まっていないことが多い。
【０１５０】
そこで変形例として、チップインピーダンスシートを用いて、マクロの配置位置によるＲＣ情報の差をインピーダンスシートとして図４０に示すように、インダクタンスＬ、抵抗Ｒ、容量Ｒとしてライブラリ化しておくことにより、この位置に応じてＲ，Ｌ，Ｃを選択して導入するようにすればよい。
【０１５１】
ここでフローチャートは前記実施の形態と同様であるが、図４１に示すようにチップインピーダンスシート３９１３を導入してマクロ電流算出（ステップ３９２０）を、実行する。他については前記実施の形態と同様である。
この場合は、チップインピーダンスシート上のＲ、Ｃ、Ｌの組み合わせの場合数だけのピン接続電流モデルを生成することになる。
【０１５２】
また、チップ電圧降下解析に際しては、チップインピーダンス値を算出し、そのチップインピーダンス値に適当なピン接続電流モデルを選択する。
【０１５３】
このようにして、高速処理が可能で高精度の電圧降下値を得ることができるとともに、これに応じた遅延値を得ることが可能となる。
【０１５４】
（第１７の発明の実施の形態）
次に、前記第１７の実施の形態について説明する。
一般にマクロはいくつかの主要モードを備えており、たとえばメモリでは書き込みモード、読み出しモードなど、モード毎に使用する内部回路を選択するようになっている。このため、モード毎に消費電力分布、消費電力が異なることになる。
そこで本実施の形態ではモードによる影響を考慮して、より高精度の電流モデルを形成する。
【０１５５】
図４２（ａ）および（ｂ）は、読み出しモードおよび書き込みモードにおける各マクロピンにおける電流モデルである。
ここでも図４３に示すようなマクロモードシートを作成しておき、このマクロモードシートを用いて、モード毎の波形情報をライブラリ化しておくことにより、このモードを考慮してライブラリから選択して導入するようにすればよい。
【０１５６】
ここでフローチャートは前記実施の形態と同様であるが、図４４に示すようにマクロモードシート４４１３を導入してマクロ電流算出（ステップ３９２０）を、実行する。他については前記実施の形態と同様である。
この場合も、マクロモードシート上のモードの組み合わせの場合数だけのピン接続電流モデルを生成することになる。
【０１５７】
また、チップ電圧降下解析に際しては、使用するモードに対応したピン接続電流モデルを選択する。
【０１５８】
このようにして、高速処理が可能で高精度の電圧降下値を得ることができるとともに、これに応じた遅延値を得ることが可能となる。
【０１５９】
（第１８の発明の実施の形態）
次に、前記第１８の実施の形態について説明する。
本実施の形態では、マクロ内部の配線間を等価インピーダンスで接続した配線構造を作成し、ライブラリ化しておくことにより、高速で高精度の電圧解析を実現するものである。
【０１６０】
すなわち図４５に示すように、マクロピン間をインピーダンス抵抗で接続し、この各マクロピン間に対応するインピーダンスをライブラリ化する。このとき、まず図４６に示すようにピン選出用マクロ配線シートを用いて、インピーダンス抵抗の算出の必要なピン間を選択し、図４７に示すようなマクロ配線シートを得る。
【０１６１】
図４８はこのようにマクロ内部の配置による電源配線の経路を考慮したマクロ配線シートの作成方法を示すフローチャートである。
まず、回路情報からマクロ電源配線抵抗（Ｒ）情報４８０１を取り出し、このマクロ電源配線Ｒ情報に基づき、前述のピン選出用マクロ配線シート４８１３を用いてインピーダンスを算出する（ステップ４８０２）。
そして配線モデル４８０３を作成しこのデータをマクロ配線シート４８０４としてマクロライブラリに格納する。
【０１６２】
ちなみに従来はマクロ内部の電源配線の経路を考慮する場合は、マクロ内部の電源配線を主要幹線のみ電源配線全層選択して抽出し、計算していたため、多大なデータ量となっていた。これに対し、この方法ではマクロピン数Ｎの場合最大で（Ｎ−１）（Ｎ／２）ですみ、大規模マクロを搭載したチップでも、マクロ内部の配線経路を考慮したチップ電圧降下を高速で行うことが可能となる。
【０１６３】
（第１９の発明の実施の形態）
次に、前記第１９の実施の形態について説明する。
前記第１８の実施の形態ではマクロ内部の配線間を等価インピーダンスで接続した配線構造を作成し、ライブラリ化して高速化をはかる方法について述べたが、本実施の形態では、実際の電源配線に加え、内部の回路素子をトランジスタレベルで捉え、モデル化し、マクロ内部を等価インピーダンスと電流モデルとの接続構造とし、モデル化しておくことにより、高速で高精度の電流解析を実現するものである。
【０１６４】
すなわち図４９（ａ）に示すマクロに対し図４９（ｂ）に示すように、マクロ内の総電流波形を配線インピーダンスに比例するように分割し電流モデル生成する。
この手順を図５０に示す。すなわち、マクロ回路情報５０１１からマクロの総電流を算出し（ステップ５０１２）、マクロ全体の電流波形情報を得さらにこの電流波形情報と、図４７に示したマクロ配線シートとに基づき、電流波形を分割し（ステップ５０１５）、配線接続電流モデル５０１６を作成する。
この方法によれば、チップの電圧降下を解析する際、マクロ内部の電圧降下を同時に算出することができる。
【０１６５】
（第２０の発明の実施の形態）
次に、前記第２０の実施の形態について説明する。
前記第１９の実施の形態ではマクロ内部の配線間を等価インピーダンスで接続した配線構造を作成すると、電源配線に加え、内部の回路素子をトランジスタレベルで捉え、配線間に電流モデルを形成するようにしてモデル化したが、本実施の形態では、さらにマクロの総容量を配線インピーダンスに比例するように分割し容量モデルを作成して、図５１（ａ）および（ｂ）に示すように、配線間のデカップリング容量を加え、抵抗Ｒ１１、Ｒ１２、Ｒ２１、Ｒ２２・・Ｃ１、Ｃ２を含むようにモデル化し、マクロ内部をライブラリ化して高速化をはかる。
【０１６６】
すなわち図５１（ａ）に示すマクロに対し図５１（ｂ）に示すように、マクロ内の総容量を配線インピーダンスに比例するように分割し容量モデルを生成する。
この手順を図５２に示す。すなわち、マクロ回路情報５２１１からマクロの総容量を算出し（ステップ５２１２）、マクロ全体の容量情報を得、さらにこの容量情報と、図４７に示したマクロ配線シート５２１５とに基づき、容量を分割し（ステップ５２１６）、配線接続容量モデル５２１７を作成する。
この方法によれば、チップの電圧降下を解析する際、マクロ内部の電圧降下を同時に算出することができる。
またデカップリング容量成分を考慮した高精度の電圧降下解析を実現することができる。
【０１６７】
（第２１の発明の実施の形態）
次に、前記第２１の実施の形態について説明する。
この例では、電圧降下考慮タイミング解析を行うもので、遅延値を計算するにあたり、マクロ処理部５４０４を用いるようにしたことを特徴とする。
この例では、マクロ内部の解析が可能なマクロ内部解析可能ライブラリ５４１１を用いた場合について説明する。メモリセルを中心にしたデータ経路および、データ経路毎のタイミングウインドウ、その電圧降下量を、図５３（ａ）乃至（ｃ）に示す。
【０１６８】
この方法では、図５４にフローチャートを示すようにマクロ内部解析可能ライブラリ５４１１を備えたマクロ処理部５４０４を用いる。マクロ内部解析可能ライブラリ５４１１は、マクロ配線シート４８０４、配線接続電流モデル５０１６、配線接続容量モデル５２１７で構成されている。
例えば、図５３（ａ）に示すようなマクロ中のメモリセルを考える。ＡＤ０、ＡＤ１０は入力アドレス、Ｄ０５、Ｄ０１０は出力データである。このメモリセルと通過するデータ経路ごとのタイミングチャートを図５３（ｂ）に示す。
【０１６９】
まず、チップ回路情報１００１およびマクロ処理部５４０４のマクロ内部解析可能ライブラリ５４１１を参照して電圧解析（ステップ１００２）を行い、電圧波形情報を得る。電圧波形情報１０３１からマクロ内部電圧値５４１２を得る。
【０１７０】
図５３はマクロの一例である。図５３（ａ）はＡＤ０−Ｄ０５、ＡＤ０−Ｄ０１０、ＡＤ１０−Ｄ０５、ＡＤ１０−Ｄ０１０の４つのデータ経路を示している。
図５３（ｂ）は各データ経路の各メモリセルの遷移情報を示している。図５３（ｃ）を各データ経路の各メモリセルの位置の電圧を示している。
【０１７１】
例えば図５３（ａ）において、アドレスＡＤ０からメモリセルを経由してＤ０５にデータを取り出したいとき、図５３（ｂ）におけるクロック信号ＣＬＫが入力されたときの立ち上がり時刻を抽出する。そして、この時刻（遷移時刻）を含むようにタイミングウインドウを選択し（ステップ５４１３）、各データ経路の電圧波形を抽象化して得られた情報を切り出し、図５３（ｃ）に示すような電圧抽象化情報５４１４を得る。
【０１７２】
この電圧抽象化情報５４１４に応じて遅延計算を行う（ステップ１００５）
後は図１に示した第１の実施の形態と同様に処理を行うようにすればよい。
このように、本発明の方法によれば、マクロライブラリを用いた高速・高精度電圧解析を行いつつ、さらに、マクロの入力から出力にいたるデータ経路毎に図５３（ｃ）に示すような電圧降下値を参照することによりさらに高精度の電圧降下考慮タイミング解析を行うことが可能となる。
【０１７３】
またデータ経路毎にタイミングウインドウを規定することにより、ありえないタイミングの電圧降下値を用いて悲観的過ぎる解析を行うようなこともなくなる。
【０１７４】
（第２２の発明の実施の形態）
次に、前記第２２の実施の形態について説明する。
この例では、電圧降下考慮タイミング解析を行うもので、マクロ内部解析不可能なものについて解析を行うもので、遅延値を計算するにあたり、電圧抽象化情報であるマクロピン電圧情報、および、前記回路情報、電源ＲＣ情報、モード情報、チップインピーダンス情報に基づき、マクロの電圧解析を行い、マクロ内部電圧および遅延値を算出することを特徴とする。
【０１７５】
この例では、電圧降下考慮タイミング解析を行うもので、遅延値を計算するにあたり、マクロ処理部５４０４を用いるようにしたことを特徴とする。この例では、マクロ内部の解析が不可能なマクロ内部解析可能ライブラリ５５１１を用いた場合について説明する。
【０１７６】
この方法では、図５５にフローチャートを示すようにマクロ内部解析不可能ライブラリ５５１１を備えたマクロ処理部５５０４を用いる。
まず、チップ回路情報１００１およびマクロ処理部５５０４のマクロ内部解析不可能ライブラリ５５１１を参照して電圧解析（ステップ１００２）を行い、電圧波形情報を得る。マクロ内部解析不可能ライブラリ５５１１は、マクロ配線シート４８０４、配線接続、ピン接続電流モデル３９２２（３９２３）、で構成されている。電圧抽象化情報１０３３からマクロピン電圧値５５１２を得、および、回路情報５５１３、電源ＲＣ情報５５１４、モード情報５５１５、チップインピーダンス情報５５１６に基づき、マクロの電圧解析を行い、マクロ内部電圧および遅延値を算出する（ステップ５５１８）。
【０１７７】
この電圧抽象化情報５４１４に応じて遅延計算を行う（ステップ１００５）
後は図１に示した第１の実施の形態と同様に処理を行うようにすればよい。
かかる構成によれば、遅延ライブラリを用意することが困難な、アナログなどのマクロに関しても、高精度な電圧降下考慮タイミング解析を行うことが可能となる。
【０１７８】
なお、最適化に際しては仮想的に変更した後、再度解析を行い、その結果をレポートする。これにより、何度かのプロセスを経て容易に最良のレイアウトを得ることが可能となる。
【０１７９】
【発明の効果】
以上説明したように、本発明によれば、半導体集積回路の電圧降下に対する解析を行うに際し、平均電圧情報に基づいて遅延値を計算するのではなく、２点以上の電圧降下情報を算出し、その情報からタイミングを推定し、遅延値を計算することにより、高精度で信頼性の高い解析が可能となる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態を示す図
【図２】本発明の第１の実施の形態における解析対象となるＬＳＩチップの要部を示す図
【図３】本発明の第１の実施の形態における電圧の抽象化を示す説明図
【図４】本発明の第１の実施の形態における電圧の抽象化工程を示す説明図
【図５】本発明の第１の実施の形態における電圧の抽象化工程を示す説明図
【図６】本発明の第２の実施の形態における電圧の抽象化工程を示す説明図
【図７】本発明の第３の実施の形態の方法を示すフローチャート図
【図８】本発明の第３の実施の形態の方法における電圧波形を示す説明図
【図９】本発明の第３の実施の形態の方法における電圧波形を示す説明図
【図１０】本発明の第３の実施の形態の方法を示す説明図
【図１１】本発明の第３の実施の形態の方法を示す説明図
【図１２】本発明の第４の実施の形態の方法を示すフローチャート図
【図１３】本発明の第４の実施の形態の方法を示す説明図
【図１４】本発明の第４の実施の形態の方法を示す説明図
【図１５】本発明の第５の実施の形態の方法を示す説明図
【図１６】本発明の第５の実施の形態の方法を示すフローチャート図
【図１７】本発明の第５の実施の形態の方法を示す説明図
【図１８】本発明の第６の実施の形態の方法を示す説明図
【図１９】本発明の第６の実施の形態の方法を示すフローチャート図
【図２０】本発明の第７の実施の形態の方法を示す説明図
【図２１】本発明の第７の実施の形態の方法を示す説明図
【図２２】本発明の第８の実施の形態の方法を示すフローチャート図
【図２３】本発明の第８の実施の形態の方法を示す説明図
【図２４】本発明の第９の実施の形態の方法を示す説明図
【図２５】本発明の第９の実施の形態の方法を示す説明図
【図２６】本発明の第１０の実施の形態の方法を示す説明図
【図２７】本発明の第１１の実施の形態の方法を示す説明図
【図２８】本発明の第１２の実施の形態の方法を示す説明図
【図２９】本発明の第１３の実施の形態の方法を示す説明図
【図３０】本発明の第１４の実施の形態の方法を示すフローチャート図
【図３１】本発明の第１４の実施の形態の方法を示す説明図
【図３２】本発明の第１４の実施の形態の方法を示す説明図
【図３３】本発明の第１５の実施の形態の方法を示す説明図
【図３４】本発明の第１５の実施の形態の方法を示す説明図
【図３５】本発明の第１５の実施の形態の方法を示す説明図
【図３６】本発明の第１６の実施の形態の方法を示す説明図
【図３７】本発明の第１６の実施の形態の方法を示す説明図
【図３８】本発明の第１６の実施の形態の方法を示す説明図
【図３９】本発明の第１６の実施の形態の方法を示す説明図
【図４０】本発明の第１６の実施の形態の方法を示す説明図
【図４１】本発明の第１６の実施の形態の方法を示す説明図
【図４２】本発明の第１７の実施の形態の方法を示す説明図
【図４３】本発明の第１７の実施の形態の方法を示す説明図
【図４４】本発明の第１７の実施の形態の方法を示す説明図
【図４５】本発明の第１８の実施の形態の方法を示す説明図
【図４６】本発明の第１８の実施の形態の方法を示す説明図
【図４７】本発明の第１８の実施の形態の方法を示す説明図
【図４８】本発明の第１８の実施の形態の方法を示す説明図
【図４９】本発明の第１９の実施の形態の方法を示す説明図
【図５０】本発明の第１９の実施の形態の方法を示す説明図
【図５１】本発明の第２０の実施の形態の方法を示す説明図
【図５２】本発明の第２０の実施の形態の方法を示す説明図
【図５３】本発明の第２１の実施の形態の方法を示す説明図
【図５４】本発明の第２１の実施の形態の方法を示す説明図
【図５５】本発明の第２２の実施の形態の方法を示す説明図
【図５６】従来例の方法を示す説明図
【符号の簡単な説明】
１００１  回路情報
１００２  電圧解析ステップ
１００３  電圧抽象化ステップ
１００４  ライブラリ
１００５  遅延計算ステップ
１００７  タイミング解析ステップ
１００８  タイミングレポート
１００９  最適化
【図１】
2005004268.tif 000003
【図２】
2005004268.tif 000004
【図３】
2005004268.tif 000005
【図４】
2005004268.tif 000006
【図５】
2005004268.tif 000007
【図６】
2005004268.tif 000008
【図７】
2005004268.tif 000009
【図８】
2005004268.tif 000010
【図９】
2005004268.tif 000011
【図１０】
2005004268.tif 000012
【図１１】
2005004268.tif 000013
【図１２】
2005004268.tif 000014
【図１３】
2005004268.tif 000015
【図１４】
2005004268.tif 000016
【図１５】
2005004268.tif 000017
【図１６】
2005004268.tif 000018
【図１７】
2005004268.tif 000019
【図１８】
2005004268.tif 000020
【図１９】
2005004268.tif 000021
【図２０】
2005004268.tif 000022
【図２１】
2005004268.tif 000023
【図２２】
2005004268.tif 000024
【図２３】
2005004268.tif 000025
【図２４】
2005004268.tif 000026
【図２５】
2005004268.tif 000027
【図２６】
2005004268.tif 000028
【図２７】
2005004268.tif 000029
【図２８】
2005004268.tif 000030
【図２９】
2005004268.tif 000031
【図３０】
2005004268.tif 000032
【図３１】
2005004268.tif 000033
【図３２】
2005004268.tif 000034
【図３３】
2005004268.tif 000035
【図３４】
2005004268.tif 000036
【図３５】
2005004268.tif 000037
【図３６】
2005004268.tif 000038
【図３７】
2005004268.tif 000039
【図３８】
2005004268.tif 000040
【図３９】
2005004268.tif 000041
【図４０】
2005004268.tif 000042
【図４１】
2005004268.tif 000043
【図４２】
2005004268.tif 000044
【図４３】
2005004268.tif 000045
【図４４】
2005004268.tif 000046
【図４５】
2005004268.tif 000047
【図４６】
2005004268.tif 000048
【図４７】
2005004268.tif 000049
【図４８】
2005004268.tif 000050
【図４９】
2005004268.tif 000051
【図５０】
2005004268.tif 000052
【図５１】
2005004268.tif 000053
【図５２】
2005004268.tif 000054
【図５３】
2005004268.tif 000055
【図５４】
2005004268.tif 000056
【図５５】
2005004268.tif 000057
【図５６】
2005004268.tif 000058