(57)【要約】【課題】オンチップバラツキを考慮して検証をより正確に行うことができる検証方法を提供すること。【解決手段】タイミング検証装置１１は、入力されるクロック信号のパルス幅と、そのクロック信号の遅延値と動作周波数に応じた変動係数とによってそのクロック信号が伝達されるＦＦのクロック入力端子におけるパルス幅を算出し、該パルス幅と規格値とを比較するようにした。更に、タイミング検証装置１１は、ＦＦのクロック入力端子におけるパルス幅を、クロック信号のパルス幅と、パスにおける立ち上がり遅延及び立ち下がり遅延とにより算出する。【選択図】      図２
2006154951.tif 000002
【特許請求の範囲】
【請求項１】
チップ検証対象とするインスタンスの入力端子において検証対象とする信号のパルス幅を検証する検証方法であって、
前記信号の供給地点におけるパルス幅と、前記信号の遅延値と動作周波数に応じたパルス幅変動係数とによって前記入力端子における前記信号のパルス幅を算出し、該パルス幅と規格値とを比較するようにしたことを特徴とする検証方法。
【請求項２】
前記入力端子におけるパルス幅を、
前記供給地点におけるパルス幅と、
前記供給地点における信号の立ち上がりエッジと前記入力端子における信号の立ち上がりエッジの時間差であり解析の条件における立ち上がり遅延値と、
前記立ち上がり遅延値と同じ条件にて算出され、前記供給地点における信号の立ち下がりエッジと前記入力端子における信号の立ち下がりエッジの時間差である立ち下がり遅延値と、
により算出するようにしたことを特徴とする請求項１記載の検証方法。
【請求項３】
前記パルス幅変動係数は、基準とする条件におけるパルス幅と、バラツキを考慮したパルス幅の比であることを特徴とする請求項１又は２記載の検証方法。
【請求項４】
前記パルス幅変動係数は、前記信号を伝達するパスの遅延値と、前記信号の周波数と、周波数及び遅延値に基づく係数と、により算出されるものであることを特徴とする請求項１，２又は３記載の検証方法。
【請求項５】
チップ上の素子の入力端子における信号のパルス幅を検証する検証装置であって、
前記信号を伝達するパスの始点におけるパルス幅と、前記信号の遅延値と動作周波数に応じた変動係数とによって前記入力端子におけるパルス幅を算出する算出手段と、該パルス幅と規格値とを比較する比較手段とを備えたことを特徴とする検証装置。
【請求項６】
チップ上にあるインスタンスにおいて、２つの入力端子間における信号のタイミングを検証する検証方法であって、
半導体チップにおいて前記各信号を伝達するパス全体の遅延として考慮すべきバラツキ量を決定し、該バラツキ量をそのパスに対する遅延係数に変換し、該遅延係数に基づいて該パス全体に対する遅延値を算出し、該算出した遅延値に基づいて前記信号のタイミングを検証するようにしたことを特徴とする検証方法。
【請求項７】
前記パス全体におけるバラツキ量をパス中の各インスタンスのバラツキ量の総和をパス中のインスタンス数で除算して求めることを特徴とする請求項６に記載の検証方法。
【請求項８】
各インスタンスのバラツキ量は基準電圧に対して各インスタンスに供給される電源電圧の差であることを特徴とする請求項６又は７に記載の検証方法。
【請求項９】
パス中のインスタンス数、電圧分布、最大電圧降下量から各インスタンスにおける電源電圧値を算出し、該電圧値を平均化処理して電圧のバラツキ量を算出することを特徴とする付記６〜９のうちの何れか一つに記載の検証方法。
【請求項１０】
チップ上にあるインスタンスにおいて、２つの入力端子間における信号のタイミングを検証する検証装置であって、
半導体チップにおいて前記各信号を伝達するパス遅延として考慮すべきバラツキ量を決定する決定手段と、該バラツキ量をそのパスに対する遅延係数に変換し、該遅延係数に基づいて該パス全体に対する遅延値を算出する算出手段と、該算出した遅延値に基づいて前記信号のタイミングを検証する検証手段とを備えたことを特徴とする検証装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の検証方法及び検証装置に関するものである。
半導体集積回路の開発においては、論理回路の遅延計算を実施し、動作タイミングや遅延を検証して論理回路の動作を確認、保証する工程がある。近年の半導体集積回路においては、回路の高集積化、高速化、動作電圧の低電圧化が図られている。そのため、チップ内における電源電圧降下のバラツキが回路動作の遅延や変動に大きな影響を及ぼすようになってきており、このバラツキを考慮したスタティックタイミング検証（ＳＴＡ：Static Timing Analyzer）を実施することが必要となっている。
【背景技術】
【０００２】
従来、半導体集積回路の設計では、先ず論理合成等によってネットリストを作成し、次に、そのネットリストに基づいてチップのレイアウトを行う。そして、レイアウト結果に基づいてスタティックタイミング検証を行う。
【０００３】
図１６は、従来のタイミング検証処理を示すフローチャートである。尚、この処理の各ステップは、図示しない検証装置により実行される。
先ず、半導体集積回路を形成したチップにおける電源電圧の降下量等のバラツキを見積もり（ステップ１０１）、半導体集積回路のレイアウト（各インスタンス（セル）の配置と配線）により回路の寄生容量を抽出し（ステップ１０２）、遅延値を算出する（ステップ１０３）。次に、データ系パスとクロック系パスを抽出する経路解析を行い（ステップ１０４）、各パスに対して遅延値を用いてタイミングチェック（ステップ１０５），パルス幅チェック（ステップ１０６）を行う。そして、それらチェックに基づいてレイアウトの妥当性を判定する（ステップ１０７）。
【０００４】
ところで、半導体集積回路におけるトランジスタ，配線を形成するプロセスのバラツキや電源電圧，温度のバラツキは、セルの遅延時間に影響を与える。このため、バラツキの各要素に対し、ばらつき量の見積りを行い、その見積り量に基づいて、遅延への影響を係数化し、オンチップバラツキ係数（ＯＣＶ係数）を算出する。このＯＣＶ係数を遅延値に乗算してオンチップバラツキを考慮した遅延値を算出する。この算出した遅延値によりタイミングチェック・パルス幅チェックを実施する。
【０００５】
例えば、図１７（ａ）に示すように、チップに形成された半導体集積回路は、クロック信号ＣＫが複数段のバッファ回路１１１を介してフリップフロップ回路１１２に供給される回路を含む。パルス幅チェックでは、この回路において、そのフリップフロップ回路１１２のクロック入力端子１１２ａにおけるクロック信号ＣＫのパルス幅をチェックする。この場合、クロック信号ＣＫは、複数段のバッファ回路１１１によるパス遅延によりクロック信号ＣＫｎとして対象とするフリップフロップ回路１１２に到達する。このクロック信号ＣＫｎのパルス幅ＰＷｎは、クロック信号ＣＫのパルス幅ＰＷＨと、クロック信号ＣＫの供給元（例えば、外部入力端子）に対するバッファ回路１１１の入力端子における立ち上がり遅延時間ＰＲと立ち下がり遅延時間ＰＦとから、
ＰＷｎ＝ＰＷＨ＋ＰＦ−ＰＲ
により求められる。尚、立ち上がり遅延時間ＰＲは、クロック信号ＣＫの立ち上がりエッジに対するクロック信号ＣＫｎの立ち上がりエッジの遅れ時間であり、立ち下がり遅延時間ＰＦは、クロック信号ＣＫの立ち下がりエッジに対するクロック信号ＣＫｎの立ち下がりエッジの遅れ時間である。そして、時間立ち上がり遅延時間ＰＲは遅延バラツキを考慮した遅延時間の最大値であり、立ち下がり遅延時間ＰＦは遅延バラツキを考慮した遅延時間の最小値である。上記式により求められたパルス幅ＰＷｎと、対象セル（図においてフリップフロップ回路１１２）の規格値ｔＰＷとを比較してパルス幅をチェックしていた。立ち上がり遅延時間ＰＲについて遅延時間の最大値を考慮し、立ち下がり遅延時間ＰＦについて遅延時間の最小値を考慮することは、両遅延時間ＰＲ，ＰＦにおける時間差を大きくしてタイミング的に厳しいチェックを行うためである。尚、同様な式を用いてパルス幅を検証する方法が特許文献１に開示されている。
【０００６】
例えば、図１８（ａ）に示すように、半導体集積回路は、２つのフリップフロップ回路１１３，１１４を含む。タイミングチェックでは、この回路において、フリップフロップ回路１１４の入力端子１１４ａ，１１４ｂにおけるデータ（Ｄａｔａ）とクロック信号（ＣＫ）のタイミングチェックを行う。この時、オンチップバラツキを考慮したタイミングチェックを行う場合には、データ（Ｄａｔａ）とクロック信号（ＣＫ）の何れか一方に遅延のバラツキを考慮し、厳しいチェックを行う。
【特許文献１】特開２００１−１８４３７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、パルス幅チェックにおいて、図１７（ａ）に示すように、クロック信号ＣＫを伝達するバッファ回路１１１の数が多くなると、クロック信号ＣＫの入力端からフリップフロップ回路１１２までの累積的なバラツキ量が多くなり、立ち上がりエッジと立ち下がりエッジとが近づいてパルス幅が極めて短くなり、多くの回路の入力端子におけるパルス幅がエラーであると判定され、結果的にタイミングの収束を遅らせ半導体集積回路の設計時間を長くする要因となっていた。
【０００８】
パルス幅は、同じセル（図１７においてバッファ回路１１１）から出力される立ち上がり遅延と立ち下がり遅延の影響を受ける。実際の回路では、全ての回路素子において立ち上がりと立ち下がりのうちの一方のみが一様に変動することは極めて少ない。従って、セルから出力される信号の立ち上がり遅延と立ち下がり遅延の一方だけがチップ内のバラツキの影響を受けて変動することは考えにくく、上記のように一方の遅延に対して遅延バラツキを考慮する、つまり異なる条件の立ち上がり遅延時間と立ち下がり遅延時間を用いて検証を行っているため、正しい検証結果が得られないことや、悲観的な検証を実施していた。
【０００９】
又、タイミングチェックにおいて、オンチップバラツキによる遅延変動は、そのチップにおける遅延変動の要素（プロセス、温度、電圧、等）における最大値を用いているため、厳しすぎるチェック、又は実際にはあり得ないタイミングによるチェックを招く。例えば、図１８（ｂ）に示すように、対象となるフリップフロップが動作するためには、クロック信号ＣＫに対してデータＤａｔａは、所定のホールドタイムＨＴを必要とするが、クロック信号ＣＫの遅延変動を考慮することになり、ホールドタイムＨＴが規定を満足することができなくなり（ホールドタイムＨＴが規定時間よりも短くなり）、フリップフロップの動作が保証できなくなる。このように、多くの回路の入力端子におけるタイミングがエラーであると判定され、結果的にタイミングの収束を遅らせ半導体集積回路の設計時間を長くする要因となっていた。
【００１０】
本発明は上記問題点を解決するためになされたものであって、その目的は、オンチップバラツキを考慮して検証をより正確に行うことができる検証方法及び検証装置を提供することにある。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、請求項１に記載の発明によれば、前記信号の供給地点におけるパルス幅と、前記信号の遅延値と動作周波数に応じたパルス幅変動係数とによって前記入力端子における前記信号のパルス幅を算出される。従って、同じ条件における立ち上がり遅延及び立ち下がり遅延を用いることができ、パルス幅自体の変動量を扱うことで、最終パルス幅を正確に算出して精度の高い検証を行うことができる。
【００１２】
請求項２に記載の発明によれば、前記入力端子におけるパルス幅は、前記供給地点におけるパルス幅と、前記供給地点における信号の立ち上がりエッジと前記入力端子における信号の立ち上がりエッジの時間差であり解析の条件における立ち上がり遅延値と、前記立ち上がり遅延値と同じ条件にて算出され、前記供給地点における信号の立ち下がりエッジと前記入力端子における信号の立ち下がりエッジの時間差である立ち下がり遅延値と、により算出される。従って、同じ条件における立ち上がり遅延値及び立ち下がり遅延値の変動を考慮することができるようになり、正確な検証を行うことができる。
【００１３】
請求項３に記載の発明によれば、前記パルス幅変動係数は、基準とする条件におけるパルス幅と、バラツキを考慮したパルス幅の比である。基準となるパルス幅をプロセスの条件（ワースト、ベスト）とすることで、各条件における検証を容易に行うことができる。
【００１４】
請求項４に記載の発明によれば、前記パルス幅変動係数は、前記信号を伝達するパスの遅延値と、前記信号の周波数と、周波数及び遅延値に基づく係数と、により算出されるものである。従って、パルス幅の変動を動作周波数と入力からの遅延値の相関で表現することが可能となり、検証を容易に行うことができるようになる。
【００１５】
請求項５に記載の発明によれば、検証装置は、前記信号を伝達するパスの始点におけるパルス幅と、前記信号の遅延値と動作周波数に応じた変動係数とによって前記入力端子におけるパルス幅を算出する算出手段と、該パルス幅と規格値とを比較する比較手段とを備えた。従って、同じ条件における立ち上がり遅延及び立ち下がり遅延を用いることができ、最終パルス幅を正確に算出して精度の高い検証を行うことができる。
【００１６】
請求項６に記載の発明によれば、半導体チップにおいて前記各信号を伝達するパス全体の遅延として考慮すべきバラツキ量を決定し、該バラツキ量をそのパスに対する遅延係数に変換し、該遅延係数に基づいて該パス全体に対する遅延値を算出し、該算出した遅延値に基づいて前記信号のタイミングを検証される。従って、パス全体のバラツキ量として考慮することで、精度の高いタイミング検証が実施される。
【００１７】
請求項７に記載の発明によれば、前記パス全体におけるバラツキ量は、パスに存在するインスタンスのバラツキ量の総和をパスに存在するインスタンスの数で除算して求められる。従って、各インスタンスのバラツキ量をパス全体のバラツキ量として考慮することで、精度の高いタイミング検証が実施される。
【００１８】
請求項８に記載の発明によれば、各インスタンスの電圧バラツキ量は、基準電圧に対して各インスタンスに供給される電源電圧の差である。従って、パスに含まれる各インスタンスに応じた電源電圧を考慮するため、全てのインスタンスについて同じ電源電圧を考慮する場合に比べてバラツキ量を緩和して精度の高いタイミング検証が実施される。
【００１９】
請求項９に記載の発明によれば、パス中のインスタンス数、電圧分布、最大電圧降下量から各インスタンスにおける電源電圧値が算出され、該電圧値を平均化処理して電圧のバラツキ量が算出される。従って、パスに含まれる各インスタンスに応じた電源電圧を考慮するため、全てのインスタンスについて同じ電源電圧を考慮する場合に比べてバラツキ量を緩和して精度の高いタイミング検証が実施される。
【００２０】
請求項１０に記載の発明によれば、検証装置には、半導体チップにおいて前記各信号を伝達するパス遅延として考慮すべきバラツキ量を決定する決定手段と、該バラツキ量をそのパスに対する遅延係数に変換し、該遅延係数に基づいて該パス全体に対する遅延値を算出する算出手段と、該算出した遅延値に基づいて前記信号のタイミングを検証する検証手段とが備えられる。従って、パス全体のバラツキ量として考慮することで、精度の高いタイミング検証が実施される。
【発明の効果】
【００２１】
以上記述したように、本発明によれば、オンチップバラツキを考慮した検証が正確な検証方法及び検証装置を提供することができる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明を具体化した実施の形態を図１〜図１５に従って説明する。
図２は、タイミング検証装置１１の概略構成図である。
タイミング検証装置１１は一般的なＣＡＤ(Computer Aided Design) 装置からなり、算出手段、比較手段、決定手段、検証手段としての中央処理装置（以下、ＣＰＵ）１２、メモリ１３、記憶装置１４、表示装置１５、入力装置１６、及びドライブ装置１７を備え、それらはバス１８を介して相互に接続されている。
【００２３】
ＣＰＵ１２は、メモリ１３を利用してプログラムを実行し、タイミング検証に必要な処理を実現する。メモリ１３には、タイミング検証の機能を提供するために必要なプログラムとデータが格納され、メモリ１３としては、通常、キャッシュ・メモリ，システム・メモリ，及びディスプレイ・メモリ等（図示略）を含む。
【００２４】
表示装置１５は、レイアウト表示、パラメータ入力画面等の表示に用いられ、これには通常、ＣＲＴ，ＬＣＤ，ＰＤＰ等（図示略）が用いられる。入力装置１６は、ユーザからの要求や指示、パラメータの入力に用いられ、これにはキーボード及びマウス装置等（図示略）が用いられる。
【００２５】
記憶装置１４は、通常、磁気ディスク装置，光ディスク装置，光磁気ディスク装置等（図示略）を含む。記憶装置１４には、後述するタイミング検証処理のためのプログラムデータ（以下、プログラム）及び各種のデータファイル（以下、ファイル）が格納される。ＣＰＵ１２は、入力装置１６による指示に応答してプログラムや各種ファイルに格納されるデータを適宜メモリ１３へ転送し、それを逐次実行する。この記憶装置１４は、データベースとしても使用される。
【００２６】
ＣＰＵ１２が実行するプログラムは、記録媒体１９にて提供される。ドライブ装置１７は、記録媒体１９を駆動し、その記憶内容にアクセスする。ＣＰＵ１２は、ドライブ装置１７を介して記録媒体１９からプログラムを読み出し、それを記憶装置１４にインストールする。
【００２７】
記録媒体１９としては、メモリカード，フレキシブルディスク，光ディスク(CD-ROM,DVD-ROM,… )，光磁気ディスク(MO,MD,…)等（図示略）、任意のコンピュータ読み取り可能な記録媒体を使用することができる。この記録媒体１９に、上述のプログラムを格納しておき、必要に応じて、メモリ１３にロードして使用することもできる。
【００２８】
尚、記録媒体１９には、通信媒体を介してアップロード又はダウンロードされたプログラムを記録した媒体、ディスク装置を含む。更に、コンピュータによって直接実行可能なプログラムを記録した記録媒体だけでなく、いったん他の記録媒体（ハードディスク等）にインストールすることによって実行可能となるようなプログラムを記録した記録媒体や、暗号化されたり、圧縮されたりしたプログラムを記録した記録媒体も含む。
【００２９】
図１は、タイミング検証装置１１が実行するタイミング検証処理を示すフローチャートである。
タイミング検証装置１１は、ステップ２１（バラツキ量の見積り処理）において、半導体集積回路を構成する要素や半導体集積回路を形成するプロセスの各要素におけるバラツキ量の見積りを行う、次に、ステップ２２（バラツキ量の見直し・緩和処理）において、半導体集積回路のデザインの条件を考慮し、バラツキ量の見直し（主に緩和）を行う。デザインの条件には、回路段数、チップ面内分布（電圧分布、温度分布）を含む。タイミング検証装置１１は、デザインの条件に基づいてインスタンス（セル）の配置位置を設定し、回路中のインスタンスの電位・温度を算出する。そして、パス中のインスタンスの電位・温度に基づいてそのパスにおける遅延値（パスディレイ）として考慮すべきバラツキ量を算出する。
【００３０】
次に、タイミング検証装置１１は、ステップ２３（ＯＣＶ係数算出処理）において、バラツキ量に基づいてオンチップバラツキ係数（ＯＣＶ係数）を算出する。このＯＣＶ係数の算出において、タイミング検証装置１１はプロセス，電圧，温度と遅延の特性値を用い、ＯＣＶ係数を算出する。ステップ２４（遅延計算処理）において、タイミング検証装置１１はＯＣＶ係数を用いて、バラツキを考慮した遅延値を算出する。
【００３１】
次に、タイミング検証装置１１は、ステップ２５（経路解析処理）において、データ信号を伝達するパス（データパス）とクロック信号を伝達するパス（クロックパス）を抽出する。また、タイミング検証装置１１は、ステップ２６（バラツキ係数算処理）において、バラツキを考慮したパルス幅変動係数を算出する。このステップにおいて、タイミング検証装置１１は、予め抽出したパルス幅の特性情報、ＰＴＶ条件、入力クロックのパルス幅、ＣＫ端子までの到達時間、セル種類、等に基づいて、パルス幅変動係数を算出する。
【００３２】
次に、タイミング検証装置１１は、ステップ２７において、パルス幅チェック処理を行う。この処理において、タイミング検証装置１１は、先に算出したパルス幅変動係数に基づいて、バラツキ量を含むパルス幅を算出し、そのパルス幅と規格値とを比較する。また、タイミング検証装置１１は、ステップ２８において、先に算出したパスにおける遅延値に基づいてタイミング検証を行う。
【００３３】
次に、タイミング検証装置１１は、ステップ２９において、ステップ２７における比較結果と、ステップ２８における検証結果に基づいて、その半導体集積回路の設計が適切か否か（設定された仕様範囲に検証結果（パルス幅やタイミングマージン）が含まれるか否かを判断する。
【００３４】
次に、パルス幅検証について詳述する。
［パルス幅のバラツキ］
従来方法では、特性が変動したときのパルス幅を、バラツキを考慮した遅延値を用いて表現している。特に、パルスを形成する立ち上がりエッジの遅延値（立ち上がり遅延値：ライズ遅延値）と立ち下がりエッジの遅延値（立ち下がり遅延値：フォール遅延値）の一方にバラツキによる遅延値を含める、つまり、別々の条件によって算出したライズ遅延値とフォール遅延値によって決定されるパルス幅を評価していた。
【００３５】
これに対し、本実施形態では、パルス幅の特性変動係数を定義し、パルス幅の変動係数を用いて、特性が変動した時のパルス幅を表現する。例えば、半導体集積回路は、図３（ａ）に示すように、クロック信号ｃｋをフリップフロップ（ＦＦ）３１に伝達するパス３２を含む。このパス３２は、クロック信号ｃｋを複数のセル３３を経由してＦＦ３１に供給する。図３（ｂ）に示すように、このＦＦ３１の入力端子３１ａにおける信号ｃｋ１は、クロック信号ｃｋに対して、パス３２による遅延と、パス３２におけるバラツキによりパルス幅が異なる。
【００３６】
入力信号であるクロック信号ｃｋ（Ｈレベル）のパルス幅をｐｗ（Ｈ）、ライズ遅延値をＤｒ、フォール遅延値をＤｆ、パルス幅変動係数をＫとした場合、タイミング検証を行う対象となるインスタンス（セル）の入力端子におけるパルス幅、つまりＦＦ３１のクロック入力端子３１ａにおける信号ｃｋ１のパルス幅（Ｈレベル）をｗＦ（Ｈ）とし、
ｗＦ（Ｈ）＝（ｐｗ（Ｈ）＋Ｄｆ−Ｄｒ）×Ｋ
により算出する。
【００３７】
つまり、ライズ遅延値Ｄｒとフォール遅延値Ｄｆについて同じ条件の値を用い、入力端におけるクロック信号ｃｋをパス３２によって伝達したＦＦ３１の入力端子におけるパルス幅（ｐｗ（Ｈ）＋Ｄｆ−Ｄｒ）にパルス幅変動係数Ｋを乗算する。
【００３８】
尚、パルス幅変動係数Ｋは１以下の値であり、バラツキが大きいほど値を小さくする。これは、ＦＦ等の回路素子が正常に動作するためには、バラツキによってパルス幅が小さくなった場合に注意を要する。ＦＦの入力端子におけるセットアップタイムやホールドタイムが短くなると、正確にデータを保持することができなくなるためである。
【００３９】
［パルス幅変動係数の定義］
パルス幅変動係数Ｋは、基準となるパルス幅に対し、バラツキを考慮したパルス幅の比で算出する。
【００４０】
例えば、ワーストプロセス時のパルス幅に対するバラツキ時のパルス幅のパルス幅変動係数Ｋ（ｗ）は、
Ｋ（ｗ）=（バラツキ時のパルス幅）／（ワーストプロセス時のパルス幅）
と表される。同様に、ベストプロセス時のパルス幅に対するバラツキ時のパルス幅の変動係数を表すことができる。
【００４１】
［パルス幅の変動に考慮する条件］
パルス幅変動係数Ｋは、係数式の分子にバラツキ時のパルス幅の値を用い算出することから、立ち上がりエッジ及び立ち下がりエッジの両方の変動を考慮しパルス幅変動として算出することができる。
【００４２】
プロセスのバラツキ量には、従来同様に、プロセスのバラツキ量を定義し、プロセスが変動した場合のパルス幅を評価し、そのパルス幅を用いてもよいが、特性の保証としては、パルス幅が最も小さくなる条件を考慮した方がよい。Ｈレベルのパルス幅が最も小さくなる条件は、立ち上がりエッジが遅くなり、立ち下がりエッジが早くなることである。これは、例えばＣＭＯＳ回路で考えた場合、バラツキが無いときの各トランジスタの駆動能力に対して、ＰチャネルＭＯＳトランジスタの駆動能力が大きく、ＮチャネルＭＯＳトランジスタの駆動能力が小さいときに該当する。このような場合を含むようにパルス幅変動係数Ｋの値を設定する。
【００４３】
［パルス幅の回路変数による変動要因の把握］
上記したように、パルス幅は、
ｗＦ（Ｈ）＝（ｐｗ（Ｈ）＋Ｄｆ−Ｄｒ）×Ｋ
と表され、入力端におけるパルス幅ｐｗ（Ｈ）と、ライズ遅延とフォール遅延の差の絶対値｜Ｄｆ−Ｄｒ｜の大小関係によりのパルス幅変動係数Ｋが異なる。
【００４４】
例えば、ワーストプロセス時の立ち下がり遅延及び立ち上がり遅延をfallmax，risemax（fallmax＜risemax）、バラツキの立ち下がり遅延及び立ち上がり遅延をfalls，rises（falls＜rises）とする。fallmax，risemaxは設計に用いるライブラリデータに格納された値であり、falls，risesはシミュレーションにより求められた値である。
【００４５】
そして、ワーストプロセス時の立ち上がり遅延と立ち下がり遅延の差の絶対値が、バラツキの立ち下がり遅延及び立ち上がり遅延の差の絶対値に対して、｜fallmax−risemax｜＜＜｜falls−rises｜の関係がある場合、パルス幅変動係数Ｋは、
Ｋ＝（ｐｗ（Ｈ）＋falls−rises）／（ｐｗ（Ｈ）＋fallmax−risemax）
により求められる。
【００４６】
そして、上記の式により求めたパルス幅変動係数を用いてバラツキを考慮したパルス幅を算出する。尚、ｐｗ（Ｈ）は半導体集積回路のチップ毎に設定される値であり、ライズ遅延値及びフォール遅延値はパストレースの結果を含む。
【００４７】
パルス幅の変動要因は以下の項目が考えられる。そして、パルス幅が小さくなる場合を考慮すればよいため、上記式の分子を小さくする要因を考える。
（ａ）入力のパルス幅［ｐｗ（Ｈ）］：入力信号のパルス幅が小さい程、遅延値によるパルス幅変動係数Ｋは小さくなる。
【００４８】
（ｂ）パスの回路段数：回路段数が多い程、パルス幅変動係数Ｋは小さくなる。１段（バッファ等の１つの回路素子）あたりのフォール遅延値とライズ遅延値の差を固定値とした場合、段数が増えるだけ、フォール遅延値とライズ遅延値の差は大きくなり、パルス幅変動係数Ｋは小さくなる。
【００４９】
（ｃ）セル依存：回路を構成するセルによりパスの累積遅延値としてフォール遅延値とライズ遅延値の差が大きくなる程、パルス幅変動係数Ｋが大きい。同一位相が繰り返される場合、つまりtrue論理のセルの繰り返しの場合にフォール遅延値とライズ遅延値の差が最も大きくなる。
【００５０】
これらの要因が考えられ、これらの要因に対しパルス幅の変動を評価し、パルス幅のバラツキとして表現すれば、特性を反映することができる。
ところで、入力のパルス幅は、動作周波数に置き換えることができ、パスの回路段数は、入力からの遅延値として置き換えることができる。動作周波数と入力からの遅延値は、チップを設計する上で容易に得られるパラメータである。
【００５１】
これにより、パルス幅の変動係数は、動作周波数と入力からの遅延値による相関で表現することが可能になる。
例えば、図４（ａ）に示すように、入力端から３つのバッファ回路４１，４２，４３を介してＦＦ４４のクロック入力端子４４ａにクロック信号ｃｋを供給するパス４５がある。このパス４５において、２段目のバッファ回路４２の入力端子４２ａにおける信号ｃｋａと、３段目のバッファ回路４３の入力端子４３ａにおける信号ｃｋｂにおいて、それら信号ｃｋａ，ｃｋｂには前段のセルを通過する分の遅れが発生する。同様に、ＦＦ４４のクロック入力端子４４ａにおける信号ｃｋｃは、前段までのセルを通過する分の遅れが発生する。このため、図４（ｂ）に示すように、クロック信号ｃｋの立ち上がりエッジと信号ｃｋｃの立ち上がりエッジの時間差がパス遅延値Ｔｐｄとなる。
【００５２】
そして、クロック信号ｃｋのようにパルスが繰り返す信号では、仮にデューティ５０パーセントとした場合、パルス幅（周期）の逆数が周波数となる。従って、図５に示すように、横軸をパス遅延値とし、縦軸をパルス幅変動係数Ｋとした場合、それらの特性は、パス遅延値が大きいほどパルス幅変動係数Ｋの値が小さくなる特性である。更に、動作周波数が高い（サイクルタイムが短い）ほどパルス幅変動係数Ｋが小さくなる。
【００５３】
このような特性を持つパルス幅変動係数Ｋは、
Ｋ＝Ｋａ＊ｆ＊Ｔｐｄ＋１
と表現することが可能である。尚、Ｋａはセル、Ｈレベルのパルス、Ｌレベルのパルス、ＰＴＶ条件に依存する係数であり、負の値を持つ。
【００５４】
これにより、回路条件、プロセスバラツキを考慮したパルス幅のパルス幅変動係数を表現することができる。
［パルス幅のチェック式］
パルス幅の変動係数を用い、パルス幅のチェック式を下記のようにする。
【００５５】
Ｗｉｄｔｈ（Ｈ）＝｛ｐｗ（Ｈ）＋ｆａｌｌ−ｒｉｓｅ｝＊Ｋ  ＞  ｔＰＷ
尚、Ｗｉｄｔｈ（Ｈ）は対象セルの入力端子におけるパルス幅、ｐｗ（Ｈ）は外部入力のパルス幅、ｆａｌｌはフォール遅延値、ｒｉｓｅはライズ遅延値、ｔＰＷは対象セルの規格値、Ｋは回路の動作周波数、Pathの遅延、に依存するパルス幅変動係数である。
【００５６】
尚、上記の式はＨレベルのパルス幅をチェックするためのものである。Ｌレベルのパルス幅をチェックする場合、次の式、
Ｗｉｄｔｈ（Ｌ）＝｛ｐｗ（Ｌ）＋ｒｉｓｅ−ｆａｌｌ｝＊Ｋ  ＞  ｔＰＷ
を用いる。
【００５７】
［検証］
タイミング検証装置１１は、上記した式及び値に基づいてパルス幅検証を行う。回路上の対象セルのタイミングチェックを行なう場合、パルス幅のチェック式に必要な入力パルス幅および回路の遅延値、また、パルス幅変動係数の算出に必要な動作周波数と入力からの遅延値を入手し、パルス幅のチェックを行う。
【００５８】
例えば、ワースト条件におけるパルス幅をチェックする場合、
Ｗｉｄｔｈ（Ｈ）＝｛ｐｗ（Ｈ）＋ｆａｌｌｍａｘ−ｒｉｓｅｍａｘ｝＊Ｋｗ
＞  ｔＰＷ
尚、ｆａｌｌｍａｘはワースト条件でのフォール遅延値、ｒｉｓｅｍａｘはワースト条件でのライズ遅延値、ｋｗはワースト条件を基準にしたパルス幅変動係数である。
【００５９】
Ｌレベルのパルス幅をチェックする場合には、上記の式と同様に、
Ｗｉｄｔｈ（Ｌ）＝｛ｐｗ（Ｌ）＋ｒｉｓｅｍａｘ−ｆａｌｌｍａｘ｝＊Ｋｗ
＞  ｔＰＷ
により検証する。更に、ベスト条件の解析を行う場合、ベスト条件を基準としたパルス幅変動係数を用いる。
【００６０】
次に、タイミング検証について詳述する。
［バラツキ量緩和］
パスの遅延は、各セルに供給される電源電圧の影響を受ける。低い電圧の電源が供給されるセルは、それよりも高い電圧の電源が供給されるセルに比べて動作速度が遅いため遅延が大きくなる。チップ内の各セルに供給される電源の電圧値は、そのチップの電源供給位置、チップ内のセルの配置位置、セルの密度や使用電流量によって異なる。従来では、チップ内において最も低い電圧、つまり供給する電源電圧からの電圧低下量（ドロップ量）が最も大きい値の電圧を全てのセルに対して供給していることにしていた。
【００６１】
しかし、実際の回路では、全セルに対し同じ値の電圧降下が発生しているわけではない、即ち実際に最大のドロップ量が発生しているセルと、それよりも小さなドロップ量が発生しているセルとが１つのパス中に混在する。このため、パス中の各セルについて適切なドロップ量を設定することで、パスにおける遅延のバラツキ量を緩和し（小さくし）、実際のチップに近いタイミング検証を行うものである。
【００６２】
［チップにおけるドロップ量］
今、図６に示す半導体チップ５０がある。この半導体チップ５０は、コア部５１の周囲にはＩ／Ｏ部５２が設けられ、その外側に電源電圧Ｖｄｄを供給するための複数のパッド５３が形成されている。
【００６３】
コア部５１は、図７に示すように、ＦＦ６１，６２に対してクロック信号ｃｋを供給するクロックパスＰＣと、クロック信号ｃｋが分岐されデータを伝達するデータパスＰＤを含む。また、２つのＦＦ６１，６２間には複数のセルを含む。尚、複数のセルは、図６において破線で囲まれた矩形として表してある。
【００６４】
図１０は、半導体チップ５０における電源電圧の分布を示す説明図である。
半導体チップ５０における電源電圧のドロップ量（ＩＲＤ）は、コア周辺部Ｐ１，Ｐ２からコア中心部Ｐ０に向けて徐々に増大している。つまり、図９に示すように、半導体チップ５０における電源電圧のドロップ量は、チップ５０の周辺から中心部に向かって徐々に増加する。尚、図１０に示すように、チップ５０におけるドロップ量は、コア中心部Ｐ０で最大値Ｖｄｐｍａｘ、コア周辺部Ｐ１，Ｐ２で最小値Ｖｄｐｍｉｎである。尚、ＩＲＤとチップ周辺からの距離の相関は、チップ内の分布に応じて、直線、２次関数、ｅｘｐ関数などで近似することができるが、標準の相関関係を２次関数とした。
【００６５】
外部から供給されたクロック信号ｃｋに基づくデータパスＰＤとクロックパスＰＣは、クロック信号ｃｋを供給する端子とＦＦ６１，６２の配置により決定される。しかし、図９に示す用意電源電圧のドロップ量が分布している場合、同図に示すように、チップの周辺部を通るパスＰＡと、中心部を通るパスＰＢがＩＲＤの影響を最も受ける。
【００６６】
尚、パスの長さは、セルの配置によって異なる。例えば、図８（ａ）は、ＦＦ６１，６２が近い場合のパスＰＡ，ＰＢの経路を示す。また、図８（ｂ）は、ＦＦ６１，６２間が遠い場合のパスＰＡ，ＰＢの経路を示す。また、図８（ｃ），図８（ｄ）は、ＦＦ６１，６２間が更に遠い場合を示す。
【００６７】
［パスディレイでの影響度］
タイミング検証装置１１は、タイミングチェックにおいて、ＦＦ６２の動作を確保するため、ＦＦ６２のクロック入力端子６２ａとデータ入力端子６２ｂにおける信号のタイミングをチェックする。この時、クロックパスＰＣとデータパスＰＤを構成するセルに供給される電源の電圧値に差があることを想定し、クロック信号とデータ信号の遅延差が小さくなる条件でチェックを行う。つまり、電圧差に応じて、遅延の変動係数（ＯＣＶ係数）を算出し、そのＯＣＶ係数によってばらつきを考慮した遅延値を算出し、タイミングチェックに使用する。
【００６８】
図１１（ａ）及び図１１（ｂ）は、パス遅延が最も大きい値（最遅値）の場合におけるＯＣＶ係数の考慮の仕方を示している。図１１（ａ）に示すように、クロック信号ＣＫの立ち上がりに対して、セットアップタイムのタイミングチェックを行う。このチェックにおいて、セットアップ期間（クロック信号ＣＫの立ち上がり時間より前にデータＤａｔａが確定している必要のある期間）が短い方がタイミング的に厳しいチェックとなる。セットアップ期間を短くするには、データＤａｔａが遅くなるか、クロック信号ＣＫが早くなることによる。しかし、最遅値を扱っているためデータＤａｔａがこれ以上遅くなることはない。従って、クロック信号ＣＫを早くするようにＯＣＶ係数を設定する。同様に、図１１（ｂ）に示すように、ホールド期間（クロック信号ＣＫの立ち上がり時間より後にデータＤａｔａを保持する必要のある期間）のチェックにおいて、データＤａｔａを早くするようにＯＣＶ係数を設定する。
【００６９】
図１１（ｃ）及び図１１（ｄ）は、パス遅延が最も小さい値（最速値）の場合におけるＯＣＶ係数の考慮の仕方を示している。図１１（ｃ）に示すように、クロック信号ｃｋの立ち上がりに対して、セットアップタイムのタイミングチェックを行う。このチェックにおいて、セットアップ期間が短い方がタイミング的に厳しいチェックとなる。セットアップ期間を短くするには、データｄａｔａが遅くなるか、クロック信号ｃｋが早くなることによる。しかし、最速値を扱っているためクロック信号ｃｋがこれ以上早くなることはない。従って、データｄａｔａを遅くするようにＯＣＶ係数を設定する。同様に、図１１（ｄ）に示すように、ホールド期間のチェックにおいて、クロック信号ｃｋを遅くするようにＯＣＶ係数を設定する。
【００７０】
タイミング検証装置１１は、上記の４つの方法によって、オンチップバラツキを考慮したタイミングチェックを実施する。一方のパス側の遅延の変動分がバラツキ考慮分に相当するが、この部分をパスの遅延としての影響として考慮する。
【００７１】
タイミング検証装置１１は、ワースト解析を行う場合、バラツキによりエッジのタイミングが早くなる方向のＯＣＶ係数を用いる。また、タイミング検証装置１１は、ベスト解析を行う場合、バラツキによりタイミングが遅くなる方向のＯＣＶ係数を用いる。即ち、図２に示す記憶装置１４には、予め用意されたワースト解析用のＯＣＶ係数と、ベスト解析用のＯＣＶ係数とが記憶されており、タイミング検証装置１１はこれらＯＣＶ係数を記憶装置１４から読み出してタイミング検証を実行する。
【００７２】
尚、バラツキには、プロセスバラツキ、電圧バラツキ、温度バラツキが含まれ、それらの値をセルの遅延として考慮する必要がある。しかし、実際のパスを想定した場合、パスを構成するセルの遅延は、全体のパスの遅延として見ることができる。従って、タイミング検証装置１１は、バラツキ量をパスの遅延における変動分として扱う。
【００７３】
［タイミングチェックに考慮する電圧バラツキ量］
上記したように、半導体チップ５０では、セルや配線等の配置位置によって電圧分布が存在する。これを、パス遅延として変動する分の電圧降下量（ドロップ量）を見込み考慮する。例えば、図１１（ｄ）に示すタイミングを検証する場合、クロックパス側が遅れる分を算出する。今、このデータパスＰＤの段数を４段とし、４個のセルの配置位置を考慮してパス遅延を算出する。
【００７４】
基準電位におけるパス遅延に対してどれだけ遅くなるかを概算する。基準電位の設定値は、タイミング検証の条件によって異なる。例えば、図１１（ｃ）（ｄ）のように最速値を扱う場合、パスにおける電源電圧の最大値（例えば、チップの入力端における電圧）を基準電位とする。
【００７５】
基準電位の電源電圧が供給されたセルの遅延値をＴｐｄ、４つのセルに対する変動係数を０．０５，０．１，０．１５，０．２とする。この場合、パスにおける遅延の変動分は、
Ｔｐｄ＊０．０５＋Ｔｐｄ＊０．１＋Ｔｐｄ＊０．１５＋Ｔｐｄ＊０．２
＝４＊Ｔｐｄ＊０．５
＝４＊（Ｔｐｄ＊０．１２５）
となる。
【００７６】
つまり、遅延の変動分としては、４＊Ｔｐｄ＊０．５を考慮すればよい。ちなみに、従来技術によれば、最大ドロップ量に対する変動係数を０．２とした場合、全てのセルに対してこの変動係数を用いるため、遅延の変動分として４＊（Ｔｐｄ＊０．２）＝４＊Ｔｐｄ＊０．８を考慮していた。
【００７７】
パスのバラツキ分としては、各セルに配分して考慮することから、遅延の変動分をセルの数で割った分、つまり平均的な変動分を考慮すればよい。上記の計算では、全体の遅延の変動分が４＊（Ｔｐｄ＊０．１２５）であるため、各セルには０．１２５を変動係数として演算を行えばよいことになる。
【００７８】
ところで、遅延変動分は、電圧変動分との相関で決まるため、平均的な遅延変動分を求めるためには、電圧変動分に平均値を使用すればよい。
上記では、クロックパスＰＣにおける変動算出であるが、データパスＰＤについても同様に行うことができる。また、図１１（ａ）（ｂ）のように最遅遅を扱う場合、パスにおける電源電圧の最小値（例えばチップの中心部における電圧）を基準電位とすることで、上記と同様に遅延の変動分を算出することができる。
【００７９】
［クロックパスとデータパスの相関関係］
電圧バラツキを考慮したタイミングチェックが必要な場合は、クロックパスとデータパスにおいて、各パスが通過する経路が離れている場合や、チップ内のドロップ量の違う領域を通過する場合に考慮しなければならない。
【００８０】
タイミングチェックのＦＦとそれを駆動するクロック信号ｃｋの入力端子の配置位置、クロック信号ｃｋの分岐位置が近い場合には、電圧ドロップの変動が少ないので、電圧分布を考慮しない。
【００８１】
タイミングチェックのＦＦとそれを駆動するクロック信号ｃｋの入力端子の配置位置、クロック信号ｃｋの分岐位置が離れている場合には、電圧ドロップの影響を受ける。
しかし、距離が長いパスでも、配線長制限や遅延最適化やslew制御、クロストーク対策によってある程度の均等な間隔でセルが配置されたり、ネットが分割されたりするため、データパスのセルとクロックパスのセルが完全に違う領域にあることは少ない。
【００８２】
また、ドロップ量の大きな領域を通過するパス（図９に示すパスＰＢ）において、このパスＰＢを構成する複数のセルがその経路の電圧分布に応じた電源が供給されるため、パスに含まれる全てのセルについて最大ドロップ量を考慮する必要はない。
【００８３】
つまり、電圧値が異なる領域を通過するパスは、電圧ドロップ値を考慮する必要がある。それは、長い距離のパスであり、クロックパスＰＣが対象になると考えられる。クロックパスＰＣにはバッファセルが使用されており、均等な負荷分配が考えられることから、上記で述べたように平均的な変動分を考慮すればよい。
【００８４】
近距離のデータパス、ランダムな論理回路群は電圧ドロップの影響を受けにくいため、タイミング検証装置１１はチップ全体のバラツキの平均的な値を考慮する。これによるマージンは実用上十分である。
【００８５】
［インスタンス電圧値の考慮方法］
ＯＣＶ係数は、設計の初期から考慮する場合もあり、各インスタンスにおけるドロップ値が確定する前（レイアウト前などの設計の初期段階）では、可能性のあるドロップ量を考慮しておく必要がある。
【００８６】
ドロップ量の影響を受ける最大のパスは、最大ドロップ部を通過するパスであることから、最大ドロップ量とパス中におけるインスタンス数、チップ内のドロップ分布を想定し、パス中のインスタンスのドロップ値を算出し、平均化する。
【００８７】
実際のレイアウト状況を想定し、最大ドロップ量とパス中におけるインスタンス数、チップ内の電圧分布を想定した演算を行うことで、悲観性の少ないＯＣＶ係数を算出することが可能になる。
【００８８】
［ＯＣＶを考慮するバラツキ量の算出方法］
ＯＣＶを考慮するバラツキ量は、パス中の各インスタンスの電圧バラツキ値の平均値で算出することから、
電圧バラツキ量
＝Σ（パス中のインスタンスのバラツキ量）／（パス中のインスタンス数）
尚、インスタンスのバラツキ量は基準電圧値に対する差を表す。そして、遅延速い側の場合はインスタンスのドロップ量を、遅延遅い側の場合は（最大ドロップ量−インスタンスのドロップ量）により求める。
【００８９】
の式で算出する。
しかし、パス中のインスタンスのドロップ量が不明な場合がある。半導体チップのレイアウトを終了して寄生容量や電源ネットが解って初めてチップにおける電圧ドロップ量の分布が解る。寄生容量や電源ネットが解る前、更にはレイアウトよりも前にドロップ量を考慮しておかなければ多くのバイオレーション（違反）が発生する。このため、できるだけドロップ量、形状（電位差分布）を見積もって（予測して）値を決めていくことが必要となっている。このように、インスタンスの配置位置、電位差分布、等が解っていない状態で解析を行う場合に下記の方法に従って行うようにする。
【００９０】
（１）パス中のインスタンス（セル）の数、ドロップの分布傾向、最大ドロップ量から各インスタンスの電圧値を求め、平均化処理する方法。
パス中のセルの数、ドロップの分布傾向、最大ドロップ量が入力され、最大ドロップまでのパスにおいて均等な距離で配置されたことを想定し、各セルのドロップ量を算出する。
【００９１】
クロックパス、データパス中に含まれるであろうセルの数（最小の数）が解る場合と、電位差分布（電圧ドロップ）の傾向がある程度予想できる場合と、ピークの値が解る場合と、この３つの値が解れば計算できる。
【００９２】
ドロップの分布傾向には、図１２（ａ）〜（ｃ）に示すように、距離に対し直線的な傾き、2次曲線的な傾き、exp関数的な傾きなどがあり、それらの中から選択した上で、均等な距離で配置された各インスタンスのドロップ量を算出する。尚、図１２（ａ）〜（ｃ）において、横軸はチップ中心からの距離Ｌ、縦軸は電源電圧値を示す。
【００９３】
（２）パス長さ(距離)、配線長制限値から、セル数を算出し、ドロップ量の分布傾向、最大ドロップ量から各インスタンスの電圧値を求め、平均化処理する方法。
パス中のセルの数は不明。おおよそのチップサイズは解ることからパスの長さが予測できる。設計上の制約（周波数）などが解ればスルーレート：波形のなまりの値とかが制限されてきて、配線長制限もだいたい解る、パスの長さと配線長制限があればパス中のセルの数を概算する。パス中のセルの数が想定できない場合には、パスの距離と配線長制限値からセル数を求めた上で、上記（１）と同様の手順で算出する。
【００９４】
（３）配置情報から、各インスタンスの電圧値を求め、平均化処理する方法。
想定されるパスのインスタンスの配置位置から、各インスタンスの電圧値を算出する。フロアプランでどのあたりに配置されるか解ればおおよそのドロップ量を見積もることができる。チップの周辺あるいは中心からセルまでの距離・方向を概算することができ、そのセルにおける電圧ドロップを算出する。上記（１）では、均等な距離で配置されたことを想定したが、周辺からの距離やパス間の距離情報を与えることで、インスタンスの電圧値の精度が向上する。
【００９５】
［ＯＣＶ係数算出の手順］
ＯＣＶ係数の算出は、プロセス、温度、電圧がTypical時の遅延値を１として、プロセス、温度、電圧の条件を振った場合の遅延の係数グラフを基に算出する。
【００９６】
品種の電圧および温度条件、想定するばらつき量を入力し、指定した条件でのＯＣＶ係数を算出する。図１３は、その結果を示し、図１４は従来方法により算出したＯＣＶ係数を示す。
【００９７】
具体的には、図１５（ａ）に示すように、プロセスにおける変動量を正規化した値（ティピカルの時を「０」、プロセスワーストを「１」、プロセスベストを「−１」）とプロセスに対する遅延係数Ｋｐについてのグラフ（実際には特性データを格納したマップ）を用いる。このマップは図２に示す記憶装置１４に格納されている。この時、遅延係数Ｋｐは「＋１」の時に１．２倍、「−１」の時に０．８倍、となる。
【００９８】
同様に、電源電圧に対する遅延係数Ｋｖについて、電源電圧１．０〜１．３Ｖ［ボルト］の範囲において図１５（ｂ）に示す特性を持つ。同様に、温度に対する遅延係数Ｋｔについて、温度―４０℃〜１２５℃の範囲において図１５（ｃ）に示す特性を持つ。この特性値のデータを有しており、指定した条件（温度等）に応じた係数値を得る。これら値を演算して基準ＯＣＶ係数を算出する。
【００９９】
尚、上記手順では電圧バラツキを扱う方法について説明したが、温度バラツキについても同様に扱うことができる。例えば、チップにおける電圧降下分布と同様に、温度の分布が得られる場合には、上記の電圧におけるＯＣＶ係数を求めた方法と同様にして温度におけるＯＣＶ係数を求めることが可能である。
【０１００】
以上記述したように、本実施の形態によれば、以下の効果を奏する。
（１）入力されるクロック信号ｃｋのパルス幅と、そのクロック信号ｃｋの遅延値と動作周波数に応じたパルス幅変動係数とによってそのクロック信号ｃｋが伝達されるＦＦ３１，４４の入力端子３１ａ，４４ａにおけるパルス幅Ｗｉｄｔｈ（Ｈ）を算出し、該最終パルス幅Ｗｉｄｔｈ（Ｈ）と規格値ｔＰＷとを比較するようにした。ＦＦ３１，４４の入力端子３１ａ，４４ａにおけるパルス幅は、クロック信号ｃｋのパルス幅と、パスにおける立ち上がり遅延及び立ち下がり遅延とにより算出される。従って、同じ条件における立ち上がり遅延及び立ち下がり遅延を用いることができ、パルス幅自体の変動量を扱うことで、ＦＦ３１，４４の入力端子３１ａ，４１ａにおけるパルス幅を正確に算出して精度の高い検証を行うことができる。
【０１０１】
（２）パルス幅変動係数Ｋは、基準となるパルス幅と、バラツキを考慮したパルス幅の比である。基準となるパルス幅をプロセスの条件（ワースト、ベスト）とすることで、各条件における検証を容易に行うことができる。
【０１０２】
（３）パルス幅変動係数Ｋは、パルスの遅延値と、信号の周波数と、周波数及び遅延値に基づく係数と、により算出されるものである。従って、パルス幅の変動を動作周波数と入力からの遅延値の相関で表現することが可能となり、検証を容易に行うことができるようになる。
【０１０３】
（４）半導体チップ５０においてクロック信号，データ信号を伝達するクロックパスＰＣとデータパスＰＤ全体のバラツキ量を決定し、それぞれのバラツキ量を各パスに対する遅延係数に変換する。そして、遅延係数に基づいてＦＦ６２の入力端子における各信号のタイミングチェックを行うようにした。従って、パスにおけるバラツキ量を緩和し、チップ内において発生する可能性のあるバラツキの最大値を考慮する場合に比べて、精度の高いタイミング検証を行うことができる。
【０１０４】
（５）各セルにおけるバラツキ量を、基準電圧に対する各セルの電圧降下量（ドロップ量）とした。このため、各セルに供給される電源電圧に応じた遅延を考慮してタイミング検証を行うことができるため、最大電圧降下量により検証する場合に比べて精度の高い検証を行うことができる。
【０１０５】
（６）各パスにおけるバラツキ量を、各パスに含まれるセルの数、電圧分布、最大電圧降下量から各インスタンスにおける電源電圧値を算出し、該電圧値を平均化処理して値を各インスタンスにおける電源電圧値とした。その結果、レイアウトが決定していない段階においてパスにおける遅延を概略的に求めることができ、早い段階におけるタイミング検証を行うことができる。
【０１０６】
（７）各パスに含まれるインスタンスの数を、パスの長さ、配線長制限値から算出するようにした。その結果、インスタンス数が決定してない設計段階においてパスの遅延を概略的に求めることができ、それによってタイミング検証を早い段階において実施することができる。
【０１０７】
尚、上記実施の形態は、以下の態様で実施してもよい。
・上記実施形態ではタイミングチェックとパルス幅チェックを同時に行うようにしたが、別々に行うようにしてもよい。その場合、タイミングチェックに必要な処理と、パルス幅チェックに必要な処理を別々のプログラムとして実行するようにしてもよい。
【０１０８】
・上記実施形態では、タイミングチェックにおいて、データ信号とクロック信号との間のタイミング（セットアップ時間，ホールド時間）について検証する場合について説明したが、その他の検証対象となるタイミング（リムーバル時間、リカバリ時間など）について検証するようにしてもよい。リムーバル時間は、規定された入力端子におけるデータが解除されてから、関連する他の入力端子（例えばクロック入力）を変化させることができるまでの時間である。この場合、クロック信号、データ信号以外に、イネーブル信号などの制御信号、クリア端子，プリセット端子に供給される信号が検証対象の信号となる。
【０１０９】
・上記実施形態では、電圧のバラツキ量に基づいてタイミングチェックを行うようにしたが、温度のバラツキ量やプロセスのバラツキ量に基づいて、同様にしてタイミングチェックを行うようにしてもよい。
【０１１０】
上記各実施の形態から把握できる技術的思想を以下に記載する。
（付記１）  チップ検証対象とするインスタンスの入力端子において検証対象とする信号のパルス幅を検証する検証方法であって、
前記信号の供給地点におけるパルス幅と、前記信号の遅延値と動作周波数に応じたパルス幅変動係数とによって前記入力端子における前記信号のパルス幅を算出し、該パルス幅と規格値とを比較するようにしたことを特徴とする検証方法。
（付記２）  前記入力端子におけるパルス幅を、
前記供給地点におけるパルス幅と、
前記供給地点における信号の立ち上がりエッジと前記入力端子における信号の立ち上がりエッジの時間差であり解析の条件における立ち上がり遅延値と、
前記立ち上がり遅延値と同じ条件にて算出され、前記供給地点における信号の立ち下がりエッジと前記入力端子における信号の立ち下がりエッジの時間差である立ち下がり遅延値と、
により算出するようにしたことを特徴とする付記１記載の検証方法。
（付記３）  前記パルス幅変動係数は、基準とする条件におけるパルス幅と、バラツキを考慮したパルス幅の比であることを特徴とする付記１又は２記載の検証方法。
（付記４）  前記パルス幅変動係数は、前記信号を伝達するパスの遅延値と、前記信号の周波数と、周波数及び遅延値に基づく係数と、により算出されるものであることを特徴とする付記１，２又は３記載の検証方法。
（付記５）  チップ上の素子の入力端子における信号のパルス幅を検証する検証装置であって、
前記信号を伝達するパスの始点におけるパルス幅と、前記信号の遅延値と動作周波数に応じた変動係数とによって前記入力端子におけるパルス幅を算出する算出手段と、該パルス幅と規格値とを比較する比較手段とを備えたことを特徴とする検証装置。
（付記６）  チップ上にあるインスタンスにおいて、２つの入力端子間における信号のタイミングを検証する検証方法であって、
半導体チップにおいて前記各信号を伝達するパス全体の遅延として考慮すべきバラツキ量を決定し、該バラツキ量をそのパスに対する遅延係数に変換し、該遅延係数に基づいて該パス全体に対する遅延値を算出し、該算出した遅延値に基づいて前記信号のタイミングを検証するようにしたことを特徴とする検証方法。
（付記７）  前記パス全体におけるバラツキ量をパス中の各インスタンスのバラツキ量の総和をパス中のインスタンス数で除算して求めることを特徴とする付記６に記載の検証方法。
（付記８）  各インスタンスのバラツキ量は基準電圧に対して各インスタンスに供給される電源電圧の差であることを特徴とする付記６又は７に記載の検証方法。
（付記９）  信号の遅延を基準に比べて速くして検証する場合にはインスタンスのバラツキ量に各インスタンスにおけるドロップ量を設定し、信号の遅延を基準に比べて遅くして検証する場合には最大ドロップ量と各インスタンスのドロップ量の差を各インスタンスのバラツキ量に設定することを特徴とする付記６〜８のうちの何れか一つに記載の検証方法。
（付記１０）  パス中のインスタンス数、電圧分布、最大電圧降下量から各インスタンスにおける電源電圧値を算出し、該電圧値を平均化処理して電圧のバラツキ量を算出することを特徴とする付記６〜９のうちの何れか一つに記載の検証方法。
（付記１１）  前記パス中のインスタンス数を、パスの長さ、配線長制限値から算出することを特徴とする付記１０に記載の検証方法。
（付記１２）  配置情報から各インスタンスにおける電源電圧値を算出し、該電圧値を平均化処理して電圧のバラツキ量を算出することを特徴とする付記６〜１１のうちの何れか一つに記載の検証方法。
（付記１３）  プロセス・温度・電圧の標準条件における遅延値を１とし、条件を変更した場合の遅延値を持つ係数特性データに基づいて、指定された条件に応じた遅延値を取得し、該遅延値を演算してＯＣＶ係数を算出することを特徴とする付記６〜１２のうちの何れか一つに記載の検証方法。
（付記１４）  付記６〜１３の何れか一つにて算出した電圧のバラツキ量を考慮して緩和したＯＣＶ係数を算出することを特徴とする付記６〜１３のうちの何れか一つに記載の検証方法。
（付記１５）  チップ上にあるインスタンスにおいて、２つの入力端子間における信号のタイミングを検証する検証装置であって、
半導体チップにおいて前記各信号を伝達するパス全体の遅延として考慮すべきバラツキ量を決定する決定手段と、該バラツキ量をそのパスに対する遅延係数に変換し、該遅延係数に基づいて該パス全体に対する遅延値を算出する算出手段と、該算出した遅延値に基づいて前記信号のタイミングを検証する検証手段とを備えたことを特徴とする検証装置。
【図面の簡単な説明】
【０１１１】
【図１】本実施形態のタイミング検証処理のフローチャートである。
【図２】タイミング検証装置の概略構成図である。
【図３】（ａ）はパスを示す回路図、（ｂ）はパルス幅変動を示す波形図である。
【図４】（ａ）はパスを示す回路図、（ｂ）はパルス幅変動を示す波形図である。
【図５】遅延値と変動係数の関係を示す特性図である。
【図６】半導体チップの概略構成図である。
【図７】パスを示す回路図である。
【図８】（ａ）〜（ｄ）はチップにおけるパスを示す説明図である。
【図９】半導体チップにおける電圧降下分布を示す説明図である。
【図１０】半導体チップにおける電源電圧の分布を示す説明図である。
【図１１】（ａ）〜（ｄ）はパスディレイの影響を示す波形図である。
【図１２】（ａ）〜（ｃ）はチップ上の位置に対する電圧降下を示す特性図である。
【図１３】ＯＣＶ係数を示す説明図である。
【図１４】従来のＯＣＶ係数を示す説明図である。
【図１５】（ａ）はプロセスに対する変動係数を示す特性図、（ｂ）は電源電圧に対する変動係数を示す特性図、（ｃ）は温度に対する変動係数を示す特性図である。
【図１６】従来のタイミング検証処理のフローチャートである。
【図１７】（ａ）はパスを示す回路図、（ｂ）は（ａ）の動作波形図である。
【図１８】（ａ）はパスを示す回路図、（ｂ）は（ａ）の動作波形図である。
【符号の説明】
【０１１２】
３１，４４  インスタンス（セル）
３１ａ，４４ａ  入力端子
５０  半導体チップ
ｃｋ  クロック信号
ＣＫ１，ｃｋｃ  信号
ｄａｔａ  データ
Ｋ  パルス幅変動係数
３２，４５，ＰＡ〜ＰＤ  パス
ＰＣ  クロックパス
ＰＤ  データパス
ｐｗ，Ｗｉｄｔｈ  パルス幅
ｔＰＷ  規格値
【図１】
2006154951.tif 000003
【図２】
2006154951.tif 000004
【図３】
2006154951.tif 000005
【図４】
2006154951.tif 000006
【図５】
2006154951.tif 000007
【図６】
2006154951.tif 000008
【図７】
2006154951.tif 000009
【図８】
2006154951.tif 000010
【図９】
2006154951.tif 000011
【図１０】
2006154951.tif 000012
【図１１】
2006154951.tif 000013
【図１２】
2006154951.tif 000014
【図１３】
2006154951.tif 000015
【図１４】
2006154951.tif 000016
【図１５】
2006154951.tif 000017
【図１６】
2006154951.tif 000018
【図１７】
2006154951.tif 000019
【図１８】
2006154951.tif 000020