(57)【要約】【課題】  パスにおけるゲート段数に応じたディレイのチップ内ばらつきを考慮して正確なタイミング解析を実施できるようにする。【解決手段】  解析対象となるパス（着目パス）におけるゲート段数に応じ、各ゲートにおけるディレイのばらつきを相殺してゲート段数に応じた着目パスにおけるＯＣＶ係数を係数演算部３３にて算出し、当該ゲート段数を考慮したＯＣＶ係数を用いて、タイミング解析部３７にて着目パスのタイミング解析を行うようにして、着目パスのゲート段数に応じてパス全体でのばらつき度合いを緩和し、半導体集積回路のチップ内ばらつきを考慮した正確なタイミング解析を実施することができるようにする。【選択図】  図３
2005122298.tif 000002
【特許請求の範囲】
【請求項１】
入力される回路情報に基づいて半導体集積回路のタイミング解析を行うタイミング解析装置であって、
上記半導体集積回路内の解析対象とするパスにおけるゲートの段数に応じて、当該各ゲートにおける遅延時間のばらつきを相殺した上記解析対象とするパスにおける遅延時間のばらつき係数を算出する係数演算部と、
上記算出したばらつき係数及び上記回路情報に基づいて、上記解析対象とするパスでのタイミング解析を行う第１のタイミング解析部とを備えることを特徴とするタイミング解析装置。
【請求項２】
上記係数演算部は、上記回路情報に基づいて上記解析対象とするパスにおけるゲート段数に応じた遅延時間の変動量を示す段数係数を算出する段数係数演算部と、
上記回路情報に基づいて上記解析対象とするパス全体での遅延時間のばらつき幅を算出するばらつき幅演算部と、
上記算出した段数係数及び上記遅延時間のばらつき幅に基づいて、上記解析対象とするパスにおける遅延時間のばらつき係数を算出するばらつき係数演算部とを備えることを特徴とする請求項１記載のタイミング解析装置。
【請求項３】
パスにおける任意のゲート段数と上記段数係数とを対応させた段数係数テーブルを有し、
上記段数係数演算部は、上記段数係数テーブルを参照し上記解析対象とするパスにおけるゲート段数に応じた段数係数を得ることを特徴とする請求項２記載のタイミング解析装置。
【請求項４】
上記回路情報が入力され、上記解析対象とするパスにおける各ゲートの遅延時間に係る遅延情報を当該回路情報から抽出する情報入力部をさらに備え、
上記係数演算部は、上記抽出された各ゲートの遅延情報に基づいて上記解析対象とするパスにおける遅延時間のばらつき係数を算出することを特徴とする請求項１〜３の何れか１項に記載のタイミング解析装置。
【請求項５】
上記第１のタイミング解析部は、上記算出したばらつき係数及び上記回路情報に基づいて、上記解析対象とするパスにて予め規定されているタイミング条件を満足するか否かを検証することを特徴とする請求項１〜４の何れか１項に記載のタイミング解析装置。
【請求項６】
上記回路情報に基づき、上記解析対象とするパスにおける各ゲートの遅延時間のばらつきを累積して上記解析対象とするパスでのタイミング解析を行う第２のタイミング解析部と、
上記第２のタイミング解析部から供給されるタイミング解析の結果に基づいて、予め規定されているタイミング条件を満足するか否かを判定する判定部とをさらに備え、
上記係数演算部は、上記判定部にてタイミング条件を満足しないと判定された場合のみ、上記解析対象とするパスにおける遅延時間のばらつき係数を算出することを特徴とする請求項１〜５の何れか１項に記載のタイミング解析装置。
【請求項７】
入力される回路情報に基づいて半導体集積回路のタイミング解析を行うタイミング解析方法であって、
上記回路情報が入力され、上記半導体集積回路内の解析対象とするパスにおける各ゲートの遅延時間に係る遅延情報を当該回路情報から抽出する遅延情報抽出ステップと、
上記解析対象とするパスにおけるゲートの段数に応じて、当該各ゲートにおける遅延時間のばらつきを相殺した上記解析対象とするパスにおける遅延時間のばらつき係数を、上記遅延情報抽出ステップにて抽出された上記遅延情報に基づいて算出する係数演算ステップと、
上記係数演算ステップにて算出したばらつき係数及び上記回路情報を用いて、上記解析対象とするパスでのタイミング解析を行う第１のタイミング解析ステップとを有することを特徴とするタイミング解析方法。
【請求項８】
上記遅延情報抽出ステップにて抽出された上記遅延情報に基づいて、上記解析対象とするパスにおける各ゲートの遅延時間のばらつきを累積して上記解析対象とするパスでのタイミング解析を行う第２のタイミング解析ステップと、
上記第２のタイミング解析ステップでの解析結果に基づいて、予め規定されているタイミング条件を満足するか否かを判定する判定ステップとをさらに有し、
上記判定ステップにてタイミング条件を満足しないと判定された場合のみ、上記係数演算ステップを実行することを特徴とする請求項７記載のタイミング解析方法。
【請求項９】
半導体集積回路内の解析対象とするパスにおける各ゲートの遅延時間に係る遅延情報を、当該半導体集積回路の回路情報から抽出する遅延情報抽出ステップと、
上記解析対象とするパスにおけるゲートの段数に応じて、当該各ゲートにおける遅延時間のばらつきを相殺した上記解析対象とするパスにおける遅延時間のばらつき係数を、上記遅延情報抽出ステップにて抽出された上記遅延情報に基づいて算出する係数演算ステップと、
上記係数演算ステップにて算出したばらつき係数及び上記回路情報を用いて、上記解析対象とするパスでのタイミング解析を行う第１のタイミング解析ステップとをコンピュータに実行させるためのプログラム。
【請求項１０】
上記遅延情報抽出ステップにて抽出された上記遅延情報に基づいて、上記解析対象とするパスにおける各ゲートの遅延時間のばらつきを累積して上記解析対象とするパスでのタイミング解析を行う第２のタイミング解析ステップと、
上記第２のタイミング解析ステップでの解析結果に基づいて、予め規定されているタイミング条件を満足するか否かを判定する判定ステップとを実行させ、
上記判定ステップにてタイミング条件を満足しないと判定された場合のみ、上記係数演算ステップを実行させることを特徴とする請求項９記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路のタイミング解析装置、タイミング解析方法及びプログラムに関し、特に半導体集積回路におけるスタティック・タイミング解析に用いて好適なものである。
【背景技術】
【０００２】
従来、ＬＳＩ等の半導体集積回路、特にデジタル回路のタイミング検証を行う手法として、スタティック・タイミング解析（ＳＴＡ）が用いられてきた。スタティック・タイミング解析は、論理的に実際の動作に即するようにして行う回路シミュレーションや論理シミュレーションとは異なり、回路中の素子等に対してそれぞれ割り当てられたディレイに基づき回路のタイミング検証が行われる。
【０００３】
すなわち、スタティック・タイミング解析は、テストパターン等を作成したりする必要がなく、パス（信号の伝達経路）における各素子等のディレイを累積してタイミング検証を行っている。スタティック・タイミング解析は、検証に要する時間が短く、かつ一度にチップ全体を包括的に解析できるため、最近では殆どの半導体集積回路の設計の検証装置の一つとしてスタティック・タイミング解析装置が用いられている。
【０００４】
ここで、通常、半導体集積回路内部においては素子の特性にばらつきがあり、このばらつきを考慮してスタティック・タイミング解析を実施する必要がある。現在、一般的にスタティック・タイミング解析は、素子のディレイに一律の係数を掛けることにより素子毎にばらつきを表現して実施されている（例えば、特許文献１、特許文献２参照。）。このように素子毎にディレイのばらつきを表現し、チップ内のばらつきが発生しても半導体集積回路が正常に動作可能であるか否かの検証が行われている。
【０００５】
例えば、従来のスタティック・タイミング解析において、ワースト条件での半導体集積回路のタイミング検証は、以下の式（１９）、式（２０）で示される条件を満足するか否かを検証することにより行われている。ここで、ワースト条件は、回路が低速で動く条件であり、プロセス（Ｐ）が低速、温度（Ｔ）が高く、電圧（Ｖ）が低い場合に相当する。
【０００６】
【数１】
2005122298.tif 000003
【０００７】
同様に、ベスト条件での半導体集積回路のタイミング検証は、以下の式（２１）、式（２２）で示される条件を満足するか否かを検証することにより行われている。ベスト条件は、回路が高速で動く条件であり、プロセス（Ｐ）が高速、温度（Ｔ）が低く、電圧（Ｖ）が高い場合に相当する。
【０００８】
【数２】
2005122298.tif 000004
【０００９】
なお、上記式（１９）、式（２１）はセットアップ時間を検証する条件式であり、上記式（２０）、式（２２）はホールド時間を検証する条件式である。
また、上記式（１９）〜式（２２）において、Cycle_Timeはクロック信号の周期、Clock_path_timeはクロックパスディレイ、Data_path_timeはデータパスディレイ、Setup_timeはセットアップ時間の規格値、Hold_timeはホールド時間の規格値、ocv_worstはワースト条件でのばらつき係数、ocv_bestはベスト条件でのばらつき係数である。係数ocv_worst及びocv_bestは、ディレイのばらつきを表現するために予め定めた一定の値である。
【００１０】
【特許文献１】特開昭６３−９８０４２号公報
【特許文献２】特開２００２−２２２２３２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、上述のように素子のディレイに一律の係数を掛けて素子毎にディレイのばらつきを表現する従来の手法では、パスにおけるゲートの段数の増加に伴い過剰にマージンをとってしまうことになるという問題があった。これは、実際のチップ内における各素子でのばらつきがガウス分布（正規分布）にそれぞれ従っており、段数の増加によりパス全体としてのディレイのばらつき度合いが低くなってくるためである。
【００１２】
従来のスタティック・タイミング解析における上述した問題について、図１１を参照して具体的に説明する。
図１１は、従来のスタティック・タイミング解析におけるセットアップ時間の検証方法を説明するための模式図である。図１１において、１１１は、クロック信号ＳＣＬＫのソース（供給源）である。ソース１１１から出力されたクロック信号ＳＣＬＫは、バッファ１１２〜１１５を介してフリップフロップ（ＦＦ）１１６のクロック入力端子＜ＣＬＫ＞に入力されるとともに、バッファ１１９〜１２１を介してＦＦ１１８のクロック入力端子＜ＣＬＫ＞に入力される。
【００１３】
また、データ信号ＤＡＴが、ＦＦ１１６のデータ入力端子＜ＤＩ＞に入力される。ＦＦ１１６のデータ出力端子＜ＤＯ＞からクロック信号ＳＣＬＫに同期して出力されるデータ信号は、組み合わせ回路１１７を介してＦＦ１１８のデータ入力端子＜ＤＩ＞に入力される。
なお、図１１において、ＤＳ１〜ＤＳ８は各素子（説明の便宜上、組み合わせ回路も素子とする。）１１３〜１１７、１１９〜１２１のばらつき分布をそれぞれ示したものである。
【００１４】
従来のスタティック・タイミング解析において、ＦＦ１１８のセットアップ時間について検証を行う際には、図６に示すようにデータパス１２２上のすべての素子１１２〜１１７が遅い方にばらつき、かつクロックパス１２３上のすべての素子１１９〜１２１が速い方にばらつくことを想定して行っている。
【００１５】
しかしながら、このようにすべての素子が遅い方又は速い方にばらつく状態は確率的にほとんどありえない状態であり、従来のスタティック・タイミング解析は、マージンを過剰に保証した非常に厳しい条件でタイミング検証を行っていることになる。したがって、上述した従来の手法では、半導体集積回路における正確なタイミング解析を実施することができず、例えば過剰なマージンにより高速動作可能な半導体集積回路を設計することが非常に困難になる等の不都合が生じていた。
【００１６】
本発明は、このような問題に鑑みて成されたものであり、パスにおけるゲート段数に応じたディレイのチップ内ばらつきを考慮して正確なタイミング解析を実施できるようにすることを目的とする。
【課題を解決するための手段】
【００１７】
本発明のタイミング解析装置は、半導体集積回路内の解析対象とするパスにおける遅延時間のばらつき係数を算出する係数演算部と、上記解析対象とするパスでのタイミング解析を行う第１のタイミング解析部とを備える。上記係数演算部は、解析対象とするパスにおけるゲートの段数に応じ、当該各ゲートにおける遅延時間のばらつきを相殺した解析対象とするパスにおける遅延時間のばらつき係数を算出し、当該ばらつき係数及び入力される回路情報に基づいて第１のタイミング解析部がタイミング解析を行う。
上記のように構成した本発明によれば、解析対象とするパスのゲート段数に応じて、各ゲートにおける遅延時間のチップ内ばらつきが相殺され、パス全体ではばらつき度合いが緩和される。
【００１８】
また、本発明のタイミング解析装置は、解析対象とするパスでのタイミング解析を行う第２のタイミング解析部と、予め規定されているタイミング条件を満足するか否かを解析結果に基づいて判定する判定部とをさらに備えるようにしても良い。第２のタイミング解析部は、回路情報に基づいて各ゲートの遅延時間のばらつきを累積し上記解析対象とするパスでのタイミング解析を行い、その結果、上記タイミング条件を満足しないと判定された場合のみ、係数演算部にて上記遅延時間のばらつき係数を算出する。
このように構成した場合には、従来と同様にして解析対象とするパスのタイミング解析を行い、タイミング条件に違反するときのみ、各ゲートにおける遅延時間のばらつきが相殺されたパス全体での遅延時間のばらつき係数を算出しタイミング解析を実施することができる。
【発明の効果】
【００１９】
本発明によれば、解析対象とするパスのゲート段数に応じたパス全体での遅延時間のばらつき係数を算出し、当該ばらつき係数を用いてタイミング解析を行うことにより、ゲート段数に応じてチップ内ばらつきを考慮した正確なタイミング解析を実施することができる。したがって、適切なタイミングマージンによるタイミング解析が可能になり、例えば高速動作が要求される半導体集積回路の設計を、従来よりも容易に行うことができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施形態を図面に基づいて説明する。
なお、以下では、説明の便宜上、解析対象のパス（着目パス）でのタイミング解析を実行する際に考慮する遅延時間（ディレイ）のばらつきを３σ（σはディレイ分布の標準偏差）として説明するが、タイミング解析を実行する際に考慮するディレイのばらつきは任意であり、例えば４σ、２σ、又はσであっても良い。
【００２１】
まず、回路のゲート段数（「回路段数」とも称す。）によるディレイ値及びその分布の変化について説明する。
図１（Ａ）、（Ｂ）は、回路段数に応じたディレイ分布の変化を説明するための図である。
図１（Ａ）、（Ｂ）において、１１はタイミング解析の対象とするパス（信号の伝達経路）の始点であり、１２はパスの終点である。例えば、始点１１は信号のソース（供給源、入力端子等）に対応し、終点１２はフリップフロップの入力端子に対応する。また、Ｇ（ｉ）（ｉは自然数）は、始点１１と終点１２との間に直列に接続されたバッファ等のゲート（素子）であり、各ゲートＧ（ｉ）のディレイの中心値（平均値）をμｉ、ディレイのばらつき（標準偏差）をσｉとする。
【００２２】
また、μ（ｊ）（ｊは自然数）は、ゲート段数がｊ段の場合において始点１１より入力された信号がゲートＧ（１）〜Ｇ（ｊ）を介して終点１２に達するまでの到達時間（ディレイ）の分布における中心値である。ｗｗ（ｊ）は、従来の手法で求めたワースト条件（すべてのゲートＧ（ｉ）が３σ分遅くなった場合）でのディレイ、３σ（ｊ）は、パス全体で見て３σ分遅くなった場合のディレイであり、下記式（１）、式（２）に従ってそれぞれ得られる。
【００２３】
【数３】
2005122298.tif 000005
【００２４】
すなわち、ｗｗ（ｊ）は各ゲートＧ（ｉ）にて遅くなった３σ分を単純に累積して得られるディレイであり、３σ（ｊ）はゲート段数による確率を考慮したディレイである。
【００２５】
図１（Ａ）に示すようにゲート段数が２段であるときには、従来と同様にして求めたｗｗ（２）と、パス全体で見てゲート段数を考慮して求めた３σ（２）との差（到達時間のばらつきの違い）は、あまり大きくない。それに対して、図１（Ｂ）に示すようにゲート段数が大きいときには、ｗｗ（ｎ）と３σ（ｎ）との差（ｎは自然数であり、ゲート段数）が大きくなる。
【００２６】
図２は、パス遅延のモンテカルロ解析により得られた回路段数（ゲート段数）とパス全体でのディレイとの相関を示す図であり、横軸は回路段数、縦軸は累積遅延に対する比である。累積遅延に対する比は、パス上の各ゲートにおけるディレイ分布のばらつき３σ分を単純に累積したディレイ値に対する、パス全体の回路段数を考慮したディレイ値の比率であり、〔３σ（ｊ）〕／〔ｗｗ（ｊ）〕である。
【００２７】
図２より明らかなように、回路段数が大きくなるに従って、累積遅延に対する比は小さくなっている。従来の手法（累積遅延）での遅延は回路段数に関わらず“１”であるので、図２に実線で示した回路段数を考慮したディレイと“１”との差分２１、すなわちｗｗ（ｊ）と３σ（ｊ）との差が、従来のタイミング検証において過剰に保証していたタイミングマージンである。つまり、ｗｗ（ｊ）と３σ（ｊ）との差で示される過剰保証していたタイミングマージンは、回路段数が多いほど大きくなる。
【００２８】
そこで、以下に説明する本発明の実施形態においては、ゲート段数による確率を考慮したパス全体でのディレイ分布及びそのばらつき（上述した説明でのゲート段数に応じた３σ（ｊ））を用いてタイミング解析を行うようにしたものである。
【００２９】
（第１の実施形態）
図３は、本発明の第１の実施形態によるタイミング解析装置の構成例を示すブロック図である。
【００３０】
図３において、３２は回路情報入力部であり、解析対象である半導体集積回路の回路情報３１が入力され、その回路情報を係数演算部３３及びタイミング解析部３７に出力する。ここで、回路情報３１には、例えば回路素子間の接続関係などを示すネットリスト、回路素子などのライブラリ、遅延情報等がある。
【００３１】
係数演算部３３は、入力される回路情報に基づいて、解析対象となるパス（着目パス）におけるゲート段数に応じて、各ゲートにおけるディレイのばらつきを相殺し、ゲート段数に応じた着目パスにおける遅延時間のばらつき係数（ＯＣＶ係数）を算出する。係数演算部３３は、段数係数演算部３４、ばらつき幅演算部３５及びＯＣＶ係数算出部３６を有する。
【００３２】
段数係数演算部３４は、回路情報を用いて着目パスにおけるゲート段数に応じたディレイの変動量を示す段数係数を計算する。段数係数は、ゲート段数による確率を考慮したパス全体でのディレイと、従来と同様にしてパス上に存在する各素子でのばらつき３σを単純に累積して得られるディレイとの比であり、着目パス毎に算出される。ばらつき幅演算部３５は、段数係数演算部３４にて算出された段数係数におけるチップ内ばらつき幅（ばらつき量）、すなわち着目パス全体でのディレイのばらつき幅を計算する。ＯＣＶ係数算出部３６は、回路情報、段数係数演算部３４にて算出された段数係数、及びばらつき幅演算部３５にて算出されたばらつき幅を用いてゲート段数を考慮したＯＣＶ係数を算出し、算出したＯＣＶ係数をタイミング解析部３７に出力する。
【００３３】
タイミング解析部３７は、入力される回路情報及びゲート段数を考慮したＯＣＶ係数を用いて、着目パスのタイミング解析（セットアップ時間やホールド時間に係るタイミング条件についての検証）を行い、解析結果を結果出力部３８に供給する。結果出力部３８は、例えば図示しない表示装置に表示させたりデータとして出力したりして、タイミング解析部３７より供給された解析結果を出力する。
【００３４】
次に、第１の実施形態におけるタイミング解析装置の動作について説明する。
図４は、図３に示したタイミング解析装置の動作を示すフローチャートである。
まず、ステップＳ４１にて、ネットリスト、ライブラリ、遅延情報等の回路情報３１が回路情報入力部３２に入力されると、回路情報入力部３２は、入力された回路情報３１から着目パスにおける各回路要素のディレイ値（遅延情報）を抽出する。各回路要素のディレイ値の抽出は、着目パスのデータパス及びクロックパスのそれぞれについて行う。
【００３５】
また、抽出したディレイ値の中に、従来の手法で用いられゲート段数に関わらず一律の値であるＯＣＶ係数（本実施形態にて算出するＯＣＶ係数と区別するために、以下ではこの従来のＯＣＶ係数を「旧ＯＣＶ係数」と称する。）が含まれている場合には、当該旧ＯＣＶ係数を削除する。具体的には、抽出したディレイ値の中に旧ＯＣＶ係数を乗じた情報がある場合には、これを旧ＯＣＶ係数で除算し、演算結果をディレイ値とする。
【００３６】
次に、ステップＳ４２にて、係数演算部３３は、ステップＳ４１において抽出されたディレイ値を含む回路情報を用いて図５に示すＯＣＶ係数算出処理を実行し、着目パスのゲート段数に応じたＯＣＶ係数を計算する。
図５は、ＯＣＶ係数算出処理の動作を示すフローチャートである。
【００３７】
ＯＣＶ係数算出処理を開始すると、まず、段数係数演算部３４は、抽出された各回路要素のディレイ値を含む回路情報に基づいて、着目パスのデータパス側の段数係数を計算する（ステップＳ５１）。段数係数は、ディレイ分布のばらつきによりディレイが大きくなる場合及びディレイが小さくなる場合の双方、すなわちワースト条件及びベスト条件の双方についてそれぞれ算出する。
【００３８】
同様にして、段数係数演算部３４は、各回路要素のディレイ値を含む回路情報を用いて、ワースト条件及びベスト条件での着目パスのクロックパス側の段数係数をそれぞれ計算する（ステップＳ５２）。
なお、上述した説明では、段数係数演算部３４は、着目パスのデータパス側の段数係数を計算した後に、クロックパス側の段数係数を計算するようにしているが、データパス側の段数係数及びクロックパス側の段数係数の計算順序は任意である。
【００３９】
次に、ばらつき幅演算部３５は、回路情報及び算出された段数係数に基づいて、遅延計算における計算誤差を見積もる（ステップＳ５３）。計算誤差は、セットアップ時間及びホールド時間に関して、ワースト条件及びベスト条件での誤差をそれぞれ見積もる。
続いて、ばらつき幅演算部３５は、回路情報に基づいて算出されるチップ内ばらつきのワースト条件下での中心値及びそのワースト値、ベスト条件下での中心値及びそのベスト値に基づいて、チップ内ばらつきのワースト条件及びベスト条件でのゲート段数に応じたチップ内のばらつき幅を計算する（ステップＳ５４）。例えば、チップ内ばらつきのワースト条件でのばらつき幅は、ワースト条件下でのワースト値とその中心値との差を算出し、それを２倍することにより算出される。なお、チップ内のばらつき幅は、着目パスのデータパス及びクロックパスの双方についてそれぞれ算出される。
【００４０】
次に、ＯＣＶ係数算出部３６は、上述のようにしてステップＳ５１〜Ｓ５４において算出された段数係数、遅延計算の計算誤差、及びゲート段数に応じたチップ内のばらつき幅を用いて、ゲート段数を考慮したＯＣＶ係数を算出する。ここで、ＯＣＶ係数は、セットアップ時間及びホールド時間に関して、ワースト条件及びベスト条件でのＯＣＶ係数が算出される。
以上のようにして、セットアップ時間についてワースト条件及びベスト条件でのＯＣＶ係数、及びホールド時間についてワースト条件及びベスト条件でのＯＣＶ係数、すなわち４つの異なる条件にそれぞれ対応するＯＣＶ係数が算出され、ＯＣＶ係数算出処理が終了する。
【００４１】
図４に戻り、ステップＳ４３にて、タイミング解析部３７は、着目パスに係る回路情報及び上述のようにして算出されたＯＣＶ係数を用いて、着目パスにおけるセットアップ時間及びホールド時間に係るタイミング計算を行い、計算結果を結果出力部３８に供給する。ここで、タイミング解析部３７から結果出力部３８に出力される計算結果は、着目パスに係る回路情報及びＯＣＶ係数により求めた計算結果そのものでも良いし、従来の手法で得られる値との差分であっても良い。
解析対象とする他のパスについても、上述したステップＳ４１〜Ｓ４３の処理をそれぞれ繰り返し実行した後、動作を終了する。結果出力部３８に計算結果として供給されたタイミング解析の結果は、外部からの要求に応じて結果出力部３８より随時出力される。
【００４２】
上記図５に示したＯＣＶ係数算出処理を、図６（Ａ）、図６（Ｂ）を参照して具体的に説明する。
図６（Ａ）は、ＯＣＶ係数算出処理を説明するための回路の一例を示す図である。図６（Ａ）において、５１はクロック信号ＳＣＬＫのソース（例えば、信号源や入力端子）であり、解析対象とするパス（着目パス）の始点である。５２、５３、５４、５５はバッファ等のゲートであり、ソース５１とフリップフロップ（ＦＦ）５６のクロック入力端子＜ＣＬＫ＞との間に直列に接続されている。ＦＦ５６のデータ入力端子＜ＤＩ＞には、データ信号ＤＡＴを供給する信号線が接続されている。
【００４３】
５７、５８はゲートであり、ＦＦ５６のデータ出力端子＜ＤＯ＞とＦＦ５９のデータ入力端子＜ＤＡ＞との間に直列に接続されている。すなわち、ＦＦ５６からクロック信号ＳＣＬＫに同期して出力されたデータ信号は、ゲート５７、５８を介してＦＦ５９に供給される。ＦＦ５９（詳しくはＦＦ５９のデータ入力端子＜ＤＡ＞）は、着目パスの終点に相当する。６０、６１、６２はゲートであり、ゲート５２の出力端とＦＦ５９のクロック入力端子＜ＣＫ＞との間に直列に接続されている。なお、以下の説明では、ＦＦもゲートとする。
【００４４】
また、６６はシンククロックパスを示し、６３はデータパスを示している。シンククロックパス６６、データパス６３は、上述した説明におけるクロックパス、データパスにそれぞれ対応する。データパス６３は、ソースクロックパス６４（ソース５１からＦＦ５６の入力まで）と内部データパス６５（ＦＦ５６からＦＦ５９の入力まで）とからなる。
【００４５】
ここで、上記図６（Ａ）に示す回路においてベスト条件及びワースト条件での各部のディレイを以下のように示す。
＜ベスト条件＞
ゲート５３、５４、５５のディレイ…TgateCKD_bb
ゲート６０、６１、６２のディレイ…TgateCK_bb
ゲート５６、５７、５８のディレイ…TgateDA_bb
ゲート５２と５３の間、５３と５４の間、５４と５５の間、及び５５と５６（クロック入力端子＜ＣＬＫ＞）の間の各配線によるディレイ…TlineCKD_bb
ゲート５２と６０の間、６０と６１の間、６１と６２の間、及び６２と５９（クロック入力端子＜ＣＫ＞）の間の各配線によるディレイ…TlineCK_bb
ゲート５６（データ出力端子＜ＤＯ＞）と５７の間、５７と５８の間、５８と５９（データ入力端子＜ＤＡ＞）の間の各配線によるディレイ…TlineDA_bb
【００４６】
＜ワースト条件＞
ゲート５３、５４、５５のディレイ…TgateCKD_ww
ゲート６０、６１、６２のディレイ…TgateCK_ww
ゲート５６、５７、５８のディレイ…TgateDA_ww
ゲート５２と５３の間、５３と５４の間、５４と５５の間、及び５５と５６（クロック入力端子＜ＣＬＫ＞）の間の各配線によるディレイ…TlineCKD_ww
ゲート５２と６０の間、６０と６１の間、６１と６２の間、及び６２と５９（クロック入力端子＜ＣＫ＞）の間の各配線によるディレイ…TlineCK_ww
ゲート５６（データ出力端子＜ＤＯ＞）と５７の間、５７と５８の間、５８と５９（データ入力端子＜ＤＡ＞）の間の各配線によるディレイ…TlineDA_ww
【００４７】
上記各ディレイの表記における添え字（bb、ww）について図６（Ｂ）を参照し説明する。
図６（Ｂ）はプロセス全体のばらつきとチップ内ばらつきを説明するための図である。
図６（Ｂ）において、ＰＶはプロセス全体のばらつき、ＣＶＡはワースト条件でのチップ内ばらつき、ＣＶＢはベスト条件でのチップ内ばらつきを示している。ｐｍはプロセス全体分布での中心値である。また、ｗｍ、ｗｗは、チップ内ばらつきにおけるワースト条件での中心値、ワースト値であり、ｂｍ、ｂｂは、チップ内ばらつきにおけるベスト条件での中心値、ベスト値である（以下の説明におけるｗｍ、ｗｗ、ｂｍ、ｂｂの添え字についても、上述した説明と同様の意味を持つものとする。）。
【００４８】
上記図６に示した回路におけるＯＣＶ係数算出処理動作について説明する。
なお、以下においては配線によるディレイについては、ばらつきは考慮せず、TlineDA_bb、TlineDA_wwの固定値として説明する。
まず、ステップＳ５１では、下記式（３）、式（４）を用いてデータパス６３側のワースト条件における段数係数Kn_max_DA、ベスト条件における段数係数Kn_min_DAを算出する。
【００４９】
【数４】
2005122298.tif 000006
【００５０】
上記式（３）において、ocv_wは各ゲートのばらつきを示すものであり、ocv_w＝（TgataCKD_wm／TgateCKD_ww）又は（TgataDA_wm／TgateDA_ww）である。
【００５１】
【数５】
2005122298.tif 000007
【００５２】
上記式（４）において、ocv_bは各ゲートのばらつきを示すものであり、ocv_b＝（TgataCKD_bm／TgateCKD_bb）又は（TgataDA_bm／TgateDA_bb）である。
【００５３】
同様にして、ステップＳ５２では、下記式（５）、式（６）を用いてシンククロックパス６６側のワースト条件における段数係数Kn_max_CK、ベスト条件における段数係数Kn_min_CKを算出する。
【００５４】
【数６】
2005122298.tif 000008
【００５５】
【数７】
2005122298.tif 000009
【００５６】
上記式（５）、式（６）において、ocv_w、ocv_bは各ゲートのばらつきを示すものであり、ocv_w＝（TgataCK_wm／TgateCK_ww）、ocv_b＝（TgataCK_bm／TgateCK_bb）である。
【００５７】
次に、ステップＳ５３では、下記式（７）〜式（１０）を用いて遅延計算における計算誤差Sw_error、Sb_error、Hw_error、Hb_errorをそれぞれ算出する。ここで、Sw_errorはセットアップかつワースト条件での計算誤差であり、Sb_errorはセットアップかつベスト条件での計算誤差である。同様に、Hw_errorはホールドかつワースト条件での計算誤差であり、Hb_errorはホールドかつベスト条件での計算誤差である。また、下記式（７）〜式（１０）において、Ｋ１、Ｋ２は所定の定数であり、式（７）〜式（１０）のそれぞれにおいて任意のＫ１、Ｋ２を設定できるものとする。
【００５８】
【数８】
2005122298.tif 000010
【００５９】
続いて、ステップＳ５４では、下記式（１１）〜式（１４）を用いてゲート段数に応じたチップ内のばらつき幅OcvD_worst、OcvD_best、OcvC_worst、OcvC_bestをそれぞれ算出する。ここで、OcvD_worstはデータパス６３におけるワースト条件でのばらつき幅であり、OcvD_bestはデータパス６３におけるベスト条件でのばらつき幅である。同様に、OcvC_worstはシンククロックパス６６におけるワースト条件でのばらつき幅であり、OcvC_bestはシンククロックパス６６におけるベスト条件でのばらつき幅である。なお、、下記式（１１）、式（１２）におけるocv_w、ocv_bは、式（３）、式（４）におけるocv_w、ocv_bと同じであり、式（１３）、式（１４）におけるocv_w、ocv_bは、式（５）、式（６）におけるocv_w、ocv_bと同じである。
【００６０】
【数９】
2005122298.tif 000011
【００６１】
次に、ステップＳ５５では、上述のようにして算出された段数係数、遅延計算の計算誤差、チップ内ばらつきのばらつき幅等を用い、下記式（１５）〜式（１８）に従って、ゲート段数を考慮したＯＣＶ係数Sw_OCV、Sb_OCV、Hw_OCV、Hb_OCVをそれぞれ算出する。ここで、Sw_OCVはセットアップかつワースト条件でのＯＣＶ係数であり、Sb_OCVはセットアップかつベスト条件でのＯＣＶ係数である。同様に、Hw_OCVはホールドかつワースト条件でのＯＣＶ係数であり、Hb_OCVはホールドかつベスト条件でのＯＣＶ係数である。
【００６２】
【数１０】
2005122298.tif 000012
【００６３】
以上のようにして、算出されたＯＣＶ係数Sw_OCV、Sb_OCV、Hw_OCV、及びHb_OCVを適宜選択してタイミング解析を実施する。
【００６４】
以上、説明したように第１の実施形態によれば、着目パスにおけるゲート段数に応じて、各ゲートにおけるディレイのばらつきを相殺し、ゲート段数に応じた着目パスにおけるＯＣＶ係数を係数演算部３３により算出し、算出したゲート段数を考慮したＯＣＶ係数を用いて、タイミング解析部３７にて着目パスのタイミング解析を行う。これにより、着目パスのゲート段数に応じてパス全体でのばらつき度合いを緩和し、従来の手法において含まれていた過剰なマージンを除去することができる。したがって、半導体集積回路のチップ内ばらつきを考慮した正確なタイミング解析を実施することができ、適切なタイミングマージンによるタイミング解析が可能になる。例えば、従来に比べてタイミングにおける制約が緩和され、高速動作が要求される半導体集積回路の設計を従来よりも容易に行うことができる。
【００６５】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。
以下に説明する第２の実施形態によるタイミング解析装置は、まず従来の手法でタイミング解析を行い、解析結果に基づいてタイミング条件違反となったパスについてのみ上記第１の実施形態と同様のタイミング解析を実施するようにしたものである。
【００６６】
図７は、本発明の第２の実施形態によるタイミング解析装置の構成例を示すブロック図である。なお、図７において、図３に示したブロックと同一の機能を有するブロックには同一の符号を付し、重複する説明は省略する。
【００６７】
図７において、７１はタイミング解析部−Ａであり、入力される回路情報に基づいて、解析対象となるパス（着目パス）における各ゲートのディレイのばらつきを累積して、着目パスのタイミング解析を行う。７２は判定部であり、タイミング解析部−Ａ７１の解析結果が供給され、着目パスが予め規定されたタイミング条件（セットアップ時間やホールド時間に係る条件）を満足するか判定する。また、判定部７２は、判定結果を結果出力部７３に出力するとともに、タイミング条件を満足していないパスに係る情報を係数演算部３３に出力する。なお、タイミング解析部−Ｂ３７が本発明の第１のタイミング解析部を構成し、タイミング解析部−Ａ７１が本発明の第２のタイミング解析部を構成する。
【００６８】
次に、第２の実施形態におけるタイミング解析装置の動作について説明する。
図８は、図７に示したタイミング解析装置の動作を示すフローチャートである。
まず、ステップＳ８１にて、図４に示したステップＳ４１と同様にして、回路情報入力部３２は、入力された回路情報３１から着目パスのデータパス及びクロックパスのそれぞれについて各回路要素のディレイ値（遅延情報）を抽出する。
【００６９】
次に、ステップＳ８２にて、タイミング解析部−Ａ７１は、ステップＳ８１において抽出されたディレイ値を含む回路情報を用い、従来と同様の手法で着目パスにおける各ゲートのディレイのばらつきを累積して着目パスのタイミング解析を行う。そして、着目パスのＳｌａｃｋ値（タイミングマージンの値）を抽出する。
【００７０】
続いて、ステップＳ８３にて、判定部７２は、ステップＳ８２において得られたＳｌａｃｋ値に基づいてタイミング条件違反であるか（予め規定されたタイミング条件を満足するか否か）を判定する。
上記ステップＳ８３での判定の結果、タイミング条件違反でないと判定した場合には、判定部７２は解析結果を結果出力部３８に供給する。一方、ステップＳ８３での判定の結果、タイミング条件違反であると判定した場合には、判定部７２は着目パスに係る情報（着目パスが識別可能な情報）を係数演算部３３に出力する。
【００７１】
ステップＳ８４にて、係数演算部３３は、判定部７２より出力されたタイミング条件違反である着目パスに係る情報を受けると、第１の実施形態と同様にしてＯＣＶ係数算出処理を実行し、着目パスのゲート段数に応じたＯＣＶ係数を計算する。
次に、タイミング解析部−Ｂ３７は、着目パスに係る回路情報及び算出されたＯＣＶ係数を用いて、着目パスにおけるセットアップ時間及びホールド時間に係るタイミング計算を行い（ステップＳ８５）、計算結果を結果出力部３８に供給する（ステップＳ８６）。解析対象とする他のパスについても、上述した処理をそれぞれ繰り返し実行して動作を終了する。
【００７２】
以上、説明したように第２の実施形態によれば、回路情報３１を用い従来と同様にして各ゲートの遅延時間のばらつきを累積し着目パスのタイミング解析をタイミング解析部−Ａ７１にて行い、その結果、予め規定されているタイミング条件を満足していないと判定部７２にて判定された場合のみ、上述した第１の実施形態と同様にしてゲート段数を考慮したＯＣＶ係数を用いたタイミング解析を行う。これにより、第１の実施形態と同様の効果が得られるとともに、タイミングの制約が厳しいパスのみ抽出して、ゲート段数に応じてパス全体でのばらつき度合いを緩和したタイミング解析を実施することができる。
なお、上述した第２の実施形態においては、タイミング解析部−Ａ７１とタイミング解析部−Ｂ３７との２つのタイミング解析部を設けているが、１つのタイミング解析部を設けて入力する回路情報やＯＣＶ係数等を適宜切り替えるように構成しても良い。
【００７３】
また、上述した第１及び第２の実施形態においては、係数演算部３３内の段数係数演算部３４は、入力された回路情報３１に基づいてその都度段数係数を計算するようにしているが、図９（Ａ）〜図９（Ｃ）に示すようなクロックパス及びデータパスにおけるゲート段数と段数係数との対応関係を示した段数係数テーブルを作成しておき、この段数係数テーブルを参照して段数係数を求めるようにしても良い。図９（Ａ）はクロックパスの段数係数テーブルである。また、図９（Ｂ）は、ワースト条件でのデータパスの段数係数テーブルであり、図９（Ｃ）は、ベスト条件でのデータパスの段数係数テーブルである。
図９（Ａ）〜図９（Ｃ）に示すような段数係数テーブルを用いることで、入力された回路情報３１に基づいて段数係数演算部３４がその都度段数係数を計算する必要がなくなり、演算処理量を低減することができタイミング解析に要する時間を短縮することができる。
【００７４】
また、上述した第１及び第２の実施形態において、ゲート間の配線はディレイの分布を考えず一定の値としているが、ディレイの分布を考慮するようにしても良く、この場合にはゲートと同様に演算を行えば良い。
【００７５】
なお、上述した第１及び第２の実施形態におけるタイミング解析装置は、コンピュータのＣＰＵ又はＭＰＵ、ＲＡＭ、ＲＯＭなどで構成できるものであり、ＲＯＭに記憶されたプログラムが動作することによって実現でき、上記プログラムは本発明の実施形態に含まれる。また、コンピュータが上記機能を果たすように動作させるプログラムを、例えばＣＤ−ＲＯＭのような記録媒体に記録し、コンピュータに読み込ませることによって実現できるものであり、上記プログラムを記録した記録媒体は本発明の実施形態に含まれる。上記プログラムを記録する記録媒体としては、ＣＤ−ＲＯＭ以外に、フレキシブルディスク、ハードディスク、磁気テープ、光磁気ディスク、不揮発性メモリカード等を用いることができる。
また、コンピュータがプログラムを実行し処理を行うことにより、上記実施形態の機能が実現されるプログラムプロダクトは、本発明の実施形態に含まれる。上記プログラムプロダクトとしては、上記実施形態の機能を実現するプログラム自体、上記プログラムが読み込まれたコンピュータ、ネットワークを介して通信可能に接続されたコンピュータに上記プログラムを提供可能な送信装置、当該送信装置を備えるネットワークシステム等がある。
また、コンピュータが供給されたプログラムを実行することにより上記実施形態の機能が実現されるだけでなく、そのプログラムがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）又は他のアプリケーションソフト等と共同して上記実施形態の機能が実現される場合や、供給されたプログラムの処理の全て又は一部がコンピュータの機能拡張ボードや機能拡張ユニットにより行われて上記実施形態の機能が実現される場合も、かかるプログラムは本発明の実施形態に含まれる。また、本発明をネットワーク環境で利用するべく、全部又は一部のプログラムが他のコンピュータで実行されるようになっていても良い。
例えば、第１及び第２の実施形態に示したタイミング解析装置は、図１０に示すようなコンピュータ機能９０を有し、そのＣＰＵ９１により上記実施形態での動作が実施される。
コンピュータ機能９０は、上記図１０に示すように、ＣＰＵ９１と、ＲＯＭ９２と、ＲＡＭ９３と、キーボード（ＫＢ）９９のキーボードコントローラ（ＫＢＣ）９５と、表示部としてのＣＲＴディスプレイ（ＣＲＴ）１００のＣＲＴコントローラ（ＣＲＴＣ）９６と、ハードディスク（ＨＤ）１０１及びフレキシブルディスク（ＦＤ）１０２のディスクコントローラ（ＤＫＣ）９７と、ネットワークインタフェースカード（ＮＩＣ）９８とが、システムバス９４を介して互いに通信可能に接続された構成としている。
ＣＰＵ９１は、ＲＯＭ９２又はＨＤ１０１に記憶されたソフトウェア（プログラム）、又はＦＤ１０２より供給されるソフトウェア（プログラム）を実行することで、システムバス９４に接続された各構成部を総括的に制御する。
すなわち、ＣＰＵ９１は、上述したような動作を行うための処理プログラムを、ＲＯＭ９２、ＨＤ１０１、又はＦＤ１０２から読み出して実行することで、上記実施形態での動作を実現するための制御を行う。
ＲＡＭ９３は、ＣＰＵ９１の主メモリ又はワークエリア等として機能する。
ＫＢＣ９５は、ＫＢ９９や図示していないポインティングデバイス等からの指示入力を制御する。ＣＲＴＣ９６は、ＣＲＴ１００の表示を制御する。ＤＫＣ９７は、ブートプログラム、種々のアプリケーション、ユーザファイル、ネットワーク管理プログラム、及び上記実施形態における上記処理プログラム等を記憶するＨＤ１０１及びＦＤ１０２とのアクセスを制御する。ＮＩＣ９８はネットワーク１０３上の他の装置と双方向にデータをやりとりする。
【００７６】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明の諸態様を付記として以下に示す。
【００７７】
（付記１）入力される回路情報に基づいて半導体集積回路のタイミング解析を行うタイミング解析装置であって、
上記半導体集積回路内の解析対象とするパスにおけるゲートの段数に応じて、当該各ゲートにおける遅延時間のばらつきを相殺した上記解析対象とするパスにおける遅延時間のばらつき係数を算出する係数演算部と、
上記算出したばらつき係数及び上記回路情報に基づいて、上記解析対象とするパスでのタイミング解析を行う第１のタイミング解析部とを備えることを特徴とするタイミング解析装置。
（付記２）上記係数演算部は、上記回路情報に基づいて上記解析対象とするパスにおけるゲート段数に応じた遅延時間の変動量を示す段数係数を算出する段数係数演算部と、
上記回路情報に基づいて上記解析対象とするパス全体での遅延時間のばらつき幅を算出するばらつき幅演算部と、
上記算出した段数係数及び上記遅延時間のばらつき幅に基づいて、上記解析対象とするパスにおける遅延時間のばらつき係数を算出するばらつき係数演算部とを備えることを特徴とする付記１記載のタイミング解析装置。
（付記３）パスにおける任意のゲート段数と上記段数係数とを対応させた段数係数テーブルを有し、
上記段数係数演算部は、上記段数係数テーブルを参照し上記解析対象とするパスにおけるゲート段数に応じた段数係数を得ることを特徴とする付記２記載のタイミング解析装置。
（付記４）上記回路情報が入力され、上記解析対象とするパスにおける各ゲートの遅延時間に係る遅延情報を当該回路情報から抽出する情報入力部をさらに備え、
上記係数演算部は、上記抽出された各ゲートの遅延情報に基づいて上記解析対象とするパスにおける遅延時間のばらつき係数を算出することを特徴とする付記１記載のタイミング解析装置。
（付記５）上記第１のタイミング解析部は、上記算出したばらつき係数及び上記回路情報に基づいて、上記解析対象とするパスにて予め規定されているタイミング条件を満足するか否かを検証することを特徴とする付記１記載のタイミング解析装置。
（付記６）上記タイミング条件は、上記解析対象とするパスにおけるセットアップ時間及びホールド時間に係る条件であることを特徴とする付記５記載のタイミング解析装置。
（付記７）上記回路情報に基づき、上記解析対象とするパスにおける各ゲートの遅延時間のばらつきを累積して上記解析対象とするパスでのタイミング解析を行う第２のタイミング解析部と、
上記第２のタイミング解析部から供給されるタイミング解析の結果に基づいて、予め規定されているタイミング条件を満足するか否かを判定する判定部とをさらに備え、
上記係数演算部は、上記判定部にてタイミング条件を満足しないと判定された場合のみ、上記解析対象とするパスにおける遅延時間のばらつき係数を算出することを特徴とする付記１記載のタイミング解析装置。
（付記８）上記回路情報が入力され、上記解析対象とするパスにおける各ゲートの遅延時間に係る遅延情報を当該回路情報から抽出する情報入力部をさらに備え、
上記第２のタイミング解析部は、上記抽出された各ゲートの遅延情報に基づいて上記解析対象とするパスのタイミング解析を行うことを特徴とすることを特徴とする付記７記載のタイミング解析装置。
（付記９）入力される回路情報に基づいて半導体集積回路のタイミング解析を行うタイミング解析方法であって、
上記回路情報が入力され、上記半導体集積回路内の解析対象とするパスにおける各ゲートの遅延時間に係る遅延情報を当該回路情報から抽出する遅延情報抽出ステップと、
上記解析対象とするパスにおけるゲートの段数に応じて、当該各ゲートにおける遅延時間のばらつきを相殺した上記解析対象とするパスにおける遅延時間のばらつき係数を、上記遅延情報抽出ステップにて抽出された上記遅延情報に基づいて算出する係数演算ステップと、
上記係数演算ステップにて算出したばらつき係数及び上記回路情報を用いて、上記解析対象とするパスでのタイミング解析を行う第１のタイミング解析ステップとを有することを特徴とするタイミング解析方法。
（付記１０）上記遅延情報抽出ステップにて抽出された上記遅延情報に基づいて、上記解析対象とするパスにおける各ゲートの遅延時間のばらつきを累積して上記解析対象とするパスでのタイミング解析を行う第２のタイミング解析ステップと、
上記第２のタイミング解析ステップでの解析結果に基づいて、予め規定されているタイミング条件を満足するか否かを判定する判定ステップとをさらに有し、
上記判定ステップにてタイミング条件を満足しないと判定された場合のみ、上記係数演算ステップを実行することを特徴とする付記９記載のタイミング解析方法。
（付記１１）上記係数演算ステップは、上記回路情報に基づいて上記解析対象とするパスにおけるゲート段数に応じた遅延時間の変動量を示す段数係数を算出する段数係数演算ステップと、
上記回路情報に基づいて上記解析対象とするパス全体での遅延時間のばらつき幅を算出するばらつき幅演算ステップと、
上記段数係数演算ステップにて算出した段数係数及び上記ばらつき幅演算ステップにて算出した遅延時間のばらつき幅に基づいて、上記解析対象とするパスにおける遅延時間のばらつき係数を算出するばらつき係数演算ステップとを有することを特徴とする付記９記載のタイミング解析方法。
（付記１２）半導体集積回路内の解析対象とするパスにおける各ゲートの遅延時間に係る遅延情報を、当該半導体集積回路の回路情報から抽出する遅延情報抽出ステップと、
上記解析対象とするパスにおけるゲートの段数に応じて、当該各ゲートにおける遅延時間のばらつきを相殺した上記解析対象とするパスにおける遅延時間のばらつき係数を、上記遅延情報抽出ステップにて抽出された上記遅延情報に基づいて算出する係数演算ステップと、
上記係数演算ステップにて算出したばらつき係数及び上記回路情報を用いて、上記解析対象とするパスでのタイミング解析を行う第１のタイミング解析ステップとをコンピュータに実行させるためのプログラム。
（付記１３）上記遅延情報抽出ステップにて抽出された上記遅延情報に基づいて、上記解析対象とするパスにおける各ゲートの遅延時間のばらつきを累積して上記解析対象とするパスでのタイミング解析を行う第２のタイミング解析ステップと、
上記第２のタイミング解析ステップでの解析結果に基づいて、予め規定されているタイミング条件を満足するか否かを判定する判定ステップとを実行させ、
上記判定ステップにてタイミング条件を満足しないと判定された場合のみ、上記係数演算ステップを実行させることを特徴とする付記１２記載のプログラム。
（付記１４）上記係数演算ステップは、上記回路情報に基づいて上記解析対象とするパスにおけるゲート段数に応じた遅延時間の変動量を示す段数係数を算出する段数係数演算ステップと、
上記回路情報に基づいて上記解析対象とするパス全体での遅延時間のばらつき幅を算出するばらつき幅演算ステップと、
上記段数係数演算ステップにて算出した段数係数及び上記ばらつき幅演算ステップにて算出した遅延時間のばらつき幅に基づいて、上記解析対象とするパスにおける遅延時間のばらつき係数を算出するばらつき係数演算ステップとを有することを特徴とする付記１２記載のプログラム。
（付記１５）記録媒体に記録された、パスにおける任意のゲート段数と上記段数係数とを対応させた段数係数テーブルを参照して上記解析対象とするパスにおけるゲート段数に応じた段数係数を得ることを特徴とする付記１４記載のプログラム。
【図面の簡単な説明】
【００７８】
【図１】ゲート段数に応じたディレイ分布の変化の一例を示す図である。
【図２】回路段数とパス全体でのディレイとの相関を示す図である。
【図３】第１の実施形態によるタイミング解析装置の構成例を示すブロック図である。
【図４】第１の実施形態におけるタイミング解析装置の動作を示すフローチャートである。
【図５】ＯＣＶ係数算出処理の動作を示すフローチャートである。
【図６】本実施形態におけるタイミング解析の具体例を説明するための図である。
【図７】第２の実施形態によるタイミング解析装置の構成例を示すブロック図である。
【図８】第２の実施形態におけるタイミング解析装置の動作を示すフローチャートである。
【図９】段数係数テーブルの一例を示す図である。
【図１０】タイミング解析装置を実現可能なコンピュータの一構成例を示すブロック図である。
【図１１】従来のスタティック・タイミング解析の問題点を説明するための図である。
【符号の説明】
【００７９】
３２  回路情報入力部
３３  係数演算部
３４  段数係数演算部
３５  ばらつき幅演算部
３６  ＯＣＶ係数算出部
３７  タイミング解析部
３８  結果出力部
【図１】
2005122298.tif 000013
【図２】
2005122298.tif 000014
【図３】
2005122298.tif 000015
【図４】
2005122298.tif 000016
【図５】
2005122298.tif 000017
【図６】
2005122298.tif 000018
【図７】
2005122298.tif 000019
【図８】
2005122298.tif 000020
【図９】
2005122298.tif 000021
【図１０】
2005122298.tif 000022
【図１１】
2005122298.tif 000023