(57)【要約】【課題】ばらつきを正しく考慮したタイミング検証装置を提供すること。【解決手段】タイミング検証装置は、ばらつき係数抽出処理（ステップ２１）において、テクノロジファイル３１を読み込み、半導体集積回路の製造プロセスの条件に基づき、セル毎のばらつき係数を抽出する。次に、タイミングチェック処理（ステップ２４）において、タイミング検証装置は、タイミングリスト３７を読み込み、ステップ２１において抽出したばらつき係数に基づいて、riseとfallのそれぞれに対応するばらつき量、及びriseとfallの相関性を考慮した補正係数の少なくとも一方を抽出する。そして、タイミング検証装置は、遅延時間を再計算し、その計算結果に基づいてパルス幅、タイミングの判定を行い、その判定結果をタイミングレポート３８として出力する。【選択図】図１
2007140773.tif 000002
【特許請求の範囲】
【請求項１】
検証対象信号が供給される入力端子におけるタイミング検証を行うコンピュータにて実行するタイミング検証方法であって、
前記検証対象信号の伝達経路であるパスを構成する１つ又は複数のインスタンスにおける信号の立ち上がりと立ち下がりのそれぞれに対応するばらつきの分布を該パスに沿って前記入力端子まで伝播するステップと、該入力端子における立ち上がりのばらつきの分布と立ち下がりのばらつきの分布に基づいて該入力端子におけるタイミング検証を行うステップと、を有することを特徴とするタイミング検証方法。
【請求項２】
前記検証対象信号の立ち上がりと立ち下がりのそれぞれに対応するばらつきを、該検証対象信号のパルス幅が厳しくなる条件にて数値化するステップを有し、前記タイミング検証を行うステップにおいて該数値化したばらつき量に基づいて前記入力端子におけるパルス幅をチェックするようにしたことを特徴とする請求項１記載のタイミング検証方法。
【請求項３】
前記タイミング検証を行うステップにおいて、スタティックタイミング解析の解析結果に対して前記ばらつき分布を考慮したパルス幅を算出し、該パルス幅をチェックするようにしたことを特徴とする請求項２記載のタイミング検証方法。
【請求項４】
基準プロセスにおける遅延値と、条件を変更したプロセスにおける立ち上がりの遅延値及び立ち下がりの遅延値との比率をばらつき係数として算出するステップと、該ばらつき係数をテーブル化するステップと、前記テーブルから検証条件におけるばらつき量を抽出するステップと、を有し、該ばらつき量に基づいてタイミング検証を行うようにしたことを特徴とする請求項１〜３のうちの何れか一項に記載のタイミング検証方法。
【請求項５】
前記立ち上がりのばらつき量と前記立ち下がりのばらつき量とに基づいて、立ち上がりと立ち下がりの相関を表しばらつき量の最大値に対する比率を補正係数として算出し、該補正係数に基づいて前記パルス幅を算出することを特徴とする請求項２〜４のうちの何れか一項に記載のタイミング検証方法。
【請求項６】
前記タイミング検証を行うステップは、互いに逆相の信号に同期動作する第１インスタンスと第２インスタンスとに１つの検証対象信号を同一の伝達経路を介して供給するとともに、該検証対象信号に同期動作する前記第１インスタンスから出力される第２対象信号を前記第２インスタンスに入力し、該第２インスタンスの入力端子における前記検証対象信号と前記第２対象信号とのタイミングを検証するものであり、
前記第１インスタンス又は前記第２インスタンスが同期動作する位相のエッジにおける遅延ばらつきを緩和する緩和係数を算出するステップを有し、
前記タイミング検証を行うステップにおいて、該緩和係数に基づいてばらつき量を緩和した信号と前記第２対象信号とに基づいてタイミング検証を行うようにしたことを特徴とする請求項１記載のタイミング検証方法。
【請求項７】
検証対象信号が供給される入力端子におけるタイミング検証を行うコンピュータにて実行するタイミング検証装置であって、
前記検証対象信号の伝達経路であるパスを構成する１つ又は複数のインスタンスにおける信号の立ち上がりと立ち下がりのそれぞれに対応するばらつきの分布を該パスに沿って前記入力端子まで伝播する信号伝播部と、該入力端子における立ち上がりのばらつきの分布と立ち下がりのばらつきの分布に基づいて該入力端子におけるタイミング検証を行う検証部と、を有することを特徴とするタイミング検証装置。
【請求項８】
前記検証対象信号の立ち上がりと立ち下がりのそれぞれに対応するばらつきを、該検証対象信号のパルス幅が厳しくなる条件にて数値化する数値化部を有し、
前記検証部において該数値化したばらつき量に基づいて前記入力端子におけるパルス幅をチェックするようにしたことを特徴とする請求項７記載のタイミング検証装置。
【請求項９】
前記検証部は、互いに逆相の信号に同期動作する第１インスタンスと第２インスタンスとに１つの検証対象信号を同一の伝達経路を介して供給するとともに、該検証対象信号に同期動作する前記第１インスタンスから出力される第２対象信号を前記第２インスタンスに入力し、該第２インスタンスの入力端子における前記検証対象信号と前記第２対象信号とのタイミング検証を実施するものであり、
前記第１インスタンス又は前記第２インスタンスが同期動作する位相のエッジにおける遅延ばらつきを緩和する緩和係数を算出する算出部を有し、
前記検証部において、該緩和係数に基づいてばらつき量を緩和した信号と前記第２対象信号とに基づいてタイミング検証を行うようにしたことを特徴とする請求項７記載のタイミング検証装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路のタイミング検証方法及びタイミング検証装置に関するものである。
半導体集積回路の開発工程において、デジタル回路のタイミング検証にスタティックタイミング解析（ＳＴＡ）が実施されている。スタティックタイミング解析は、回路中の素子等に対してそれぞれ割り当てられた遅延時間に基づき回路のタイミング検証が行われる。このスタティックタイミング解析において、同一経路の信号のばらつきを考慮し、タイミング検証の悲観性を軽減することが求められている。
【背景技術】
【０００２】
従来、半導体集積回路の開発において、論理回路の動作を確認し保証するためにタイミング検証を行っている。図１５に示すように、タイミング検証は、遅延計算処理（ステップ２０１）と、タイミング解析処理（ＳＴＡ）（ステップ２０２）を含む。遅延計算処理において、ファイル２０３から配線寄生容量などの寄生情報を読み込み、ファイル２０４のセルライブラリを読み込み、ファイル２０５から遅延計算結果に対する補正情報などのセットアップ情報を読み込み、論理回路の各素子における遅延値を算出し、算出結果として遅延情報を含むファイル２０６を生成する。タイミング解析処理において、ファイル２０６の遅延情報、つまりステップ２０１において算出した遅延値と、ファイル２０７の設計制約とに基づいて、パス（信号の伝達経路）における遅延累積値を算出してフリップフロップ回路（ＦＦ回路）やメモリ等の入力端子におけるパルス幅を解析するスタティックタイミング解析を実施する。そして、スタティックタイミング解析の解析結果に基づき、論理回路におけるタイミング検証の結果（タイミングレポート２０８）を生成する。
【０００３】
半導体集積回路におけるトランジスタや配線を形成するプロセスや電源電圧，温度などの各要素におけるばらつきは、素子の遅延時間に影響を与える。このため、上記の遅延値を算出する工程において、チップにおける各要素のばらつき（ＯＣＶ）の係数を考慮した遅延値を算出する。この算出した遅延値によりスタティックタイミング解析を実施することで、チップ内のばらつきが発生しても半導体集積回路が正常に動作可能であるか否かを検証することができる。
【０００４】
一例として、半導体集積回路は、図１６に示すように、クロック信号ｃｋが複数段のバッファ回路２１１を介してＦＦ回路２１２に供給される回路を含む。パルス幅チェックでは、ＦＦ回路２１２のクロック入力端子２１２ａにおけるクロック信号ｃｋのパルス幅をチェックする。この場合、クロック信号ｃｋは、複数段のバッファ回路２１１によるパス遅延によりクロック信号ｃｋ１として対象とするＦＦ回路２１２に到達する。このクロック信号ｃｋ１のパルス幅Width(H)は、クロック信号ｃｋのパルス幅ＰＷＨと、クロック信号ｃｋの供給元（例えば、外部入力端子）に対するバッファ回路２１１の入力端子における立ち上がり遅延時間rise_maxmaxと立ち下がり遅延時間fall_maxminとから、
Width(H)＝ＰＷＨ＋fall_maxmin−rise_maxmax        ・・・（１）
により求められる。尚、立ち上がり遅延時間rise_maxmaxは、ワースト条件におけるクロック信号ｃｋの立ち上がりエッジに対するクロック信号ｃｋ１の立ち上がりエッジの遅れ時間（ライズ遅延）である。立ち下がり遅延時間fall_maxminは、ワースト条件におけるクロック信号ｃｋの立ち下がりエッジに対するクロック信号ｃｋ１の立ち下がりエッジの遅れ時間（フォール遅延）である。
【０００５】
立ち上がり遅延時間rise_maxmaxについて遅延時間の最大値を考慮し、立ち下がり遅延時間fall_maxminについて遅延時間の最小値を考慮することは、両遅延時間rise_maxmax，fall_maxminにおける時間差を大きくしてタイミング的に厳しいチェックを行うためである。尚、同様な式を用いてパルス幅を検証する方法が特許文献１に開示されている。
【０００６】
更に、ワースト条件におけるばらつき係数OCVwを導入した場合、上記の式（１）は、
Width(H)＝ＰＷＨ＋fall_maxmax×OCVw−rise_maxmax        ・・・（２）
と表される。そして、上記の式（３）により求められたパルス幅Width(H)と、対象セル（図においてＦＦ回路１１２）の規格値ｔＰＷとを比較してパルス幅をチェックしていた。
【０００７】
同様に、ワースト条件におけるＬパルス幅Width(L)は、
Width(L)＝pw(L)＋rise_maxmin−fall_maxmax
＝pw(L)＋rise_maxmax×OCVw−fall_maxmax
により求められる。また、ベスト条件におけるＨパルス幅Width(H)は、
Width(H)＝pw(H)＋fall_minmin−rise_minmax
＝pw(H)＋fall_minmin−rise_minmin×OCVb
により求められ、ベスト条件におけるＬパルス幅Width(L)は、
Width(L)＝pw(L)＋rise_minmin−fall_minmax
＝pw(L)＋rise_minmin−fall_minmin×OCVb
により求められる。尚、miniminはベスト条件における最小遅延、minmaxはベスト条件における最大遅延、OCVbはベスト条件におけるばらつき係数を示す。
【０００８】
別の例として、半導体集積回路は、図１７に示すように、クロック信号ｃｋを複数のバッファ回路２２１により２つのＦＦ回路２２２，２２３に伝達する回路を含む。第１のＦＦ回路２２２は、伝達された信号ｃｋ１の立ち上がりエッジに同期動作し、第２のＦＦ回路２２３は伝達された信号ｃｋ２の立ち下がりエッジに同期動作する。タイミングチェックでは、ＦＦ回路２２３の入力端子２２３ａ，２２３ｂにおけるデータ（Ｄａｔａ）とクロック信号（ｃｋ２）のタイミングチェックを行う。
【特許文献１】特開２００１−１８４３７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、図１６に示す回路において、クロック信号ｃｋを伝達するバッファ回路２１１の数が多くなると、クロック信号ｃｋの入力端からＦＦ回路２１２までの累積的なばらつき量が多くなり、立ち上がりエッジと立ち下がりエッジとが近づいてパルス幅が極めて短くなり、多くの回路の入力端子におけるパルス幅がエラーであると判定され、結果的にタイミングの収束を遅らせ半導体集積回路の設計時間を長くする要因となっていた。
【００１０】
また、パルス幅は、同じセル（図１６においてバッファ回路２１１）から出力される立ち上がり遅延と立ち下がり遅延の影響を受ける。実際の回路では、全ての回路素子において立ち上がりと立ち下がりのうちの一方のみが一様に変動することは極めて少ない。従って、セルから出力される信号の立ち上がり遅延と立ち下がり遅延の一方だけがチップ内のばらつきの影響を受けて変動することは考えにくく、上記のように一方の遅延に対して遅延ばらつきを考慮する、つまり異なる条件の立ち上がり遅延時間と立ち下がり遅延時間を用いて検証を行っているため、正しい検証結果が得られないことや、悲観的な検証を実施していた。
【００１１】
一方、図１７に示す回路において、データパスにおけるソース側のＦＦ回路２２２とターゲット側のＦＦ回路２２３のクロック信号の位相が逆である。つまりソース側のＦＦ回路２２２が応答するクロック信号ｃｋ１の遷移と、ターゲット側のＦＦ回路２２３が応答するクロック信号ｃｋ２の遷移が異なっている。このため、クロック信号ｃｋの供給元（例えば、外部入力端子）からＦＦ回路２２２までとＦＦ回路２２３までをそれぞれ別々の経路として扱わなければならない。別経路とした場合、個々の経路に対してばらつきを考慮しなければならない。その結果、クロック信号ｃｋ１とクロック信号ｃｋ２の双方に対して必要以上にばらつきを考慮することとなり、悲観的な検証となっていた。
【００１２】
本発明は上記問題点を解決するためになされたものであって、その目的は、ばらつきを正しく考慮したタイミング検証方法及びタイミング検証装置を提供することにある。
【課題を解決するための手段】
【００１３】
上記目的を達成するため、請求項１，７に記載の発明によれば、前記検証対象信号の伝達経路であるパスを構成する１つ又は複数のインスタンスにおける信号の立ち上がりと立ち下がりのそれぞれに対応するばらつきの分布を該パスに沿って前記入力端子まで伝播し、該入力端子における立ち上がりのばらつきの分布と立ち下がりのばらつきの分布に基づいて該入力端子におけるタイミング検証を行うようにしたため、立ち上がりの遅延時間と立ち下がりの遅延時間とをそれぞれ別々に考慮する、つまり立ち上がりのばらつきと立ち下がりのばらつきを正しく考慮して検証を行うことができるため、悲観的な検証になるのを防ぐことができる。
【００１４】
請求項２，８に記載の発明によれば、前記検証対象信号の立ち上がりと立ち下がりのそれぞれに対応するばらつきを、該検証対象信号のパルス幅が厳しくなる条件にて数値化し、前記タイミング検証を行うステップにおいて該数値化したばらつき量に基づいて前記入力端子におけるパルス幅をチェックするようにしたため、入力端子におけるパルス幅を正しく検証することができる。
【００１５】
請求項３に記載の発明によれば、前記タイミング検証を行うステップにおいて、スタティックタイミング解析の解析結果に対して前記ばらつき分布を考慮したパルス幅を算出し、該パルス幅をチェックするようにしたため、入力端子におけるパルス幅を正しく検証することができる。
【００１６】
請求項４に記載の発明によれば、基準プロセスにおける遅延値と、条件を変更したプロセスにおける立ち上がりの遅延値及び立ち下がりの遅延値との比率をばらつき係数として算出するステップと、該ばらつき係数をテーブル化するステップと、前記テーブルから検証条件におけるばらつき量を抽出するステップと、を有し、該ばらつき量に基づいてタイミング検証を行うようにしたため、容易にばらつき量を得ることができる。
【００１７】
請求項５に記載の発明によれば、前記立ち上がりのばらつき量と前記立ち下がりのばらつき量とに基づいて、立ち上がりと立ち下がりの相関を表しばらつき量の最大値に対する比率を補正係数として算出し、該補正係数に基づいて前記パルス幅を算出するようにしたため、ばらつき係数を別々に扱うことができない場合においても、立ち上がりのばらつきと立ち下がりのばらつきを考慮した検証を行うことができる。
【００１８】
請求項６，９に記載の発明によれば、前記タイミング検証を行うステップは、互いに逆相の信号に同期動作する第１インスタンスと第２インスタンスとに１つの検証対象信号を同一の伝達経路を介して供給するとともに、該検証対象信号に同期動作する前記第１インスタンスから出力される第２対象信号を前記第２インスタンスに入力し、該第２インスタンスの入力端子における前記検証対象信号と前記第２対象信号とのタイミングを検証するものであり、前記第１インスタンス又は前記第２インスタンスが同期動作する位相のエッジにおける遅延ばらつきを緩和する緩和係数を算出するステップを有し、前記タイミング検証を行うステップにおいて、該緩和係数に基づいてばらつき量を緩和した信号と前記第２対象信号とに基づいてタイミング検証を行うようにした。従って、１つの信号の逆相にて動作するインスタンスのようにばらつき係数を別々に扱うことができない場合においても、立ち上がりのばらつきと立ち下がりのばらつきを考慮した検証を行うことができる。
【発明の効果】
【００１９】
本発明によれば、ばらつきを正しく考慮したタイミング検証方法及びタイミング検証装置を提供することができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明を具体化した実施の形態を図面に従って説明する。
図２は、タイミング検証装置１１の概略構成図である。
タイミング検証装置１１は一般的なＣＡＤ(Computer Aided Design) 装置からなり、信号伝播部、検証部、数値化部としての中央処理装置（以下、ＣＰＵ）１２、メモリ１３、記憶装置１４、表示装置１５、入力装置１６、及びドライブ装置１７を備え、それらはバス１８を介して相互に接続されている。
【００２１】
ＣＰＵ１２は、メモリ１３を利用してプログラムを実行し、タイミング検証に必要な処理を実現する。メモリ１３には、タイミング検証の機能を提供するために必要なプログラムとデータが格納され、メモリ１３としては、通常、キャッシュ・メモリ，システム・メモリ，及びディスプレイ・メモリ等（図示略）を含む。
【００２２】
表示装置１５は、レイアウト表示、パラメータ入力画面等の表示に用いられ、これには通常、ＣＲＴ，ＬＣＤ，ＰＤＰ等（図示略）が用いられる。入力装置１６は、ユーザからの要求や指示、パラメータの入力に用いられ、これにはキーボード及びマウス装置等（図示略）が用いられる。
【００２３】
記憶装置１４は、通常、磁気ディスク装置，光ディスク装置，光磁気ディスク装置等（図示略）を含む。記憶装置１４には、後述するタイミング検証処理のためのプログラムデータ（以下、プログラム）及び各種のデータファイル（以下、ファイル）が格納される。ＣＰＵ１２は、入力装置１６による指示に応答してプログラムや各種ファイルに格納されるデータを適宜メモリ１３へ転送し、それを逐次実行する。この記憶装置１４は、データベースとしても使用される。
【００２４】
ＣＰＵ１２が実行するプログラムは、記録媒体１９にて提供される。ドライブ装置１７は、記録媒体１９を駆動し、その記憶内容にアクセスする。ＣＰＵ１２は、ドライブ装置１７を介して記録媒体１９からプログラムを読み出し、それを記憶装置１４にインストールする。
【００２５】
記録媒体１９としては、メモリカード，フレキシブルディスク，光ディスク(CD-ROM,DVD-ROM,… )，光磁気ディスク(MO,MD,…)等（図示略）、任意のコンピュータ読み取り可能な記録媒体を使用することができる。この記録媒体１９に、上述のプログラムを格納しておき、必要に応じて、メモリ１３にロードして使用することもできる。
【００２６】
尚、記録媒体１９には、通信媒体を介してアップロード又はダウンロードされたプログラムを記録した媒体、ディスク装置を含む。更に、コンピュータによって直接実行可能なプログラムを記録した記録媒体だけでなく、いったん他の記録媒体（ハードディスク等）にインストールすることによって実行可能となるようなプログラムを記録した記録媒体や、暗号化されたり、圧縮されたりしたプログラムを記録した記録媒体も含む。
【００２７】
図１は、タイミング検証装置１１が実行するタイミング検証処理を示すフローチャートである。
タイミング検証装置１１は、ばらつき係数抽出処理（ステップ２１）において、テクノロジファイル３１を読み込み、半導体集積回路の製造プロセスの条件に基づき、セル毎のばらつき係数を抽出する。テクノロジファイル３１には、標準プロセスにおける各セルの立ち上がりエッジの遅延時間（以下、立ち上がりエッジに関するものをriseを用いて表す）と立ち下がりエッジの遅延時間（以下、立ち下がりエッジに関するものとfallを用いて表す）が含まれる。rise遅延の値をTpd_typ_riseとし、fall遅延の値をTpd_typ_fallとする。また、テクノロジファイル３１には、変更したプロセス条件における各セルのrise遅延の値Tpd_xx_rise及びfall遅延の値Tpd_xx_riseが含まれる。「xx」は、遅延評価の結果に基づくものである。プロセス条件にはＭＯＳトランジスタの形式であるＰｃｈ，Ｎｃｈの組み合わせがある。遅延評価の結果、rise遅延のfall遅延の組み合わせがslow，slowの場合（xx=ss）、slow，fastの場合（xx=sf）、fast，slowの場合（xx=fs）、fast，fast（xx=ff）の場合がある。
【００２８】
次に、遅延計算処理（ステップ２２）において、タイミング検証装置１１は、寄生情報ファイル３２から配線寄生容量などの寄生情報を読み込み、セットアップファイル３３から遅延計算結果に対する補正情報（オンチップばらつきの係数）を読み込み、セルライブラリ３４を参照し、着目パスの各回路要素におけるディレイ値（遅延情報）を抽出する。そして、タイミング検証装置１１は、遅延情報を含むファイル３５を作成する。
【００２９】
次に、タイミング解析処理（ＳＴＡ）（ステップ２３）において、タイミング検証装置１１は、ファイル３５の遅延情報を読み込み、ファイル３６の設計制約を読み込み、それらに基づいてタイミング検証処理を実行し、その実行結果に基づいてタイミングリスト３７を生成する。
【００３０】
次に、タイミングチェック処理（ステップ２４）において、タイミング検証装置１１は、タイミングリスト３７を読み込み、ステップ２１において抽出したばらつき係数に基づいて、riseとfallのそれぞれに対応するばらつき量、及びriseとfallの相関性を考慮した補正係数の少なくとも一方を抽出する。そして、タイミング検証装置１１は、遅延時間を再計算し、その計算結果に基づいてパルス幅、タイミングの判定を行い、その判定結果をタイミングレポート３８として出力する。
【００３１】
図３は、タイミングチェック処理を示すフローチャートである。尚、このフローチャートは、ばらつき量を抽出してタイミング検証を行う場合についてのものである。
タイミング検証装置１１は、ステップ４１において、図１に示すタイミングリスト３７をから遅延情報を読み込む。遅延情報には、パス上のゲート（回路素子、セル）における遅延値、配線遅延値、チェック対象のセルにおいて仕様として設定されたパルス幅（PWIDTH_H，PWIDTH_L）を含む。
【００３２】
ステップ４２において、タイミング検証装置１１は、遅延値の変換を行う。タイミングリスト３７のゲート遅延値は、遅延計算結果に対する補正情報（オンチップばらつきの係数：ＯＣＶ係数）を含むため、タイミング検証装置１１は、ゲート遅延値をＯＣＶ係数で割り、中心値を求める。つまり、タイミング検証装置１１は、検証するパルスの前エッジが着目するセルの入力端子に到着するStart_Arrival_Timeをオンチップばらつきの最大値ＯＣＶmaxで割り、パルスの後エッジが到着するEnd_Arrival_Timeのゲート遅延値をオンチップばらつきの最小値ＯＣＶminで割り、中心値を求める。End_Arrival_TimeとStart_Arrival_Timeは、そのパスの始点、つまり信号の入力点から着目する端子までに、信号の伝達に要する時間、つまり遅延時間である。
【００３３】
ステップ４３において、タイミング検証装置１１は、セル種類毎にriseとfallのそれぞれに対応したばらつき係数を読み込み、各ゲートにおける遅延ばらつきの分布形状、つまりばらつき量の範囲を得る。
【００３４】
ステップ４４において、タイミング検証装置１１は、パスにおける分布波形合成処理を行う。つまり、タイミング検証装置１１は、各ゲートの遅延（セル遅延）における分布の波形合成結果に、配線遅延を加算して着目するセルの入力端子（end point）における遅延の分布波形を算出する。
【００３５】
ステップ４５において、タイミング検証装置１１は、End_Arrival_TimeとStart_Arrival_Timeを再計算する。End_Arrival_TimeとStart_Arrival_Timeの差がパルス幅であり、パルス幅と所定のタイミングつまりセルの許容パルス幅との差がＳｌａｃｋ値（タイミングに対する余裕度）となる。タイミング検証装置１１は、Start_Arrival_Timeの分布波形に対してrise又はfallのばらつき量の３σ遅い点の時刻を算出する。し、End_Arrival_Timeの分布波形に対してfall又はriseのばらつき量の３σ速い点の時刻を算出。タイミング検証装置１１は、電圧、温度におけるばらつき量を考慮する場合には、ワースト条件の場合にはEnd_Arrival_Timeの分布波形に乗算し、ベスト条件の場合にはStart_Arrival_Timeの分布波形に乗算する。
【００３６】
ステップ４６において、タイミング検証装置１１は、ステップ４５における計算結果に基づき、着目パスのＳｌａｃｋ値（タイミングに対する余裕度）を算出するそして、タイミング検証装置１１は、算出したＳｌａｃｋ値によって、タイミング条件違反であるか（予め規定されたタイミング条件を満足するか否か）を判定する。
【００３７】
このように、タイミング検証装置１１は、riseに対するばらつき量とfallに対するばらつき量とをそれぞれ扱うことで、それぞれのばらつき量の相関を考慮したタイミング検証を行う。このため、ばらつきを考慮したタイミング検証を行うことができ、悲観的な検証を回避することができる。
【００３８】
尚、上記のステップ２４（図１参照）におけるばらつきの補正係数は、riseとfallの相関性を考慮した値であるため、End_Arrival_TimeとStart_Arrival_Timeの何れか一方（例えばEnd_Arrival_Time）におけるばらつき量に補正係数を加味することで、riseとfallの相関を考慮したタイミング検証を行うことができる。
【００３９】
図４には、図３のステップ４３において扱われる同一経路におけるばらつき量が示されている。
なお、図４には、ＰＴＶ（プロセス，温度，電圧）のｗｏｒｓｔ条件とｂｅｓｔ条件について、Ｈパルスの場合における、素子、電源電圧、温度、配線、計算誤差について設定されたばらつき量を示す。尚、図４の配線におけるばらつき量において、「Ｘｔａｌｋ」は配線間のクロストークを示し、配線におけるばらつき量はクロストークによるばらつき量を含むことを示している。温度、電源電圧におけるばらつき量「ｗｔ，ｂｔ，ｗｖ，ｂｖ」は、遅延補正係数として設定されている。
【００４０】
図５は、図１のタイミングチェック（ステップ２４）における入出力データを示す。即ち、ステップ２４において、タイミング検証装置１１は、タイミングリスト３７とともにセットアップファイル３３に設定された遅延計算結果に対する補正情報(オンチップのばらつき係数)５１、プロセス条件に対するセル毎のばらつき係数（Kocv_p）５２、品種毎の電圧条件、温度条件に対する遅延補正係数（Kocv_v，Kocv_t）５３を読み込む。そして、タイミング検証装置１１は、タイミングレポート３８を生成する。
【００４１】
次に、ばらつき係数、ばらつき量、ばらつきの補正係数の抽出について詳述する。
先ず、ばらつき係数の抽出手順を説明する。
１．標準プロセス（Typical Process）におけるrise遅延値及びfall遅延値を測定し、それらの値をTpd_typ_rise及びTpd_typ_fallとする。
【００４２】
２．プロセス条件を変更したときのrise遅延値及びfall遅延値を測定し、Tpd_xx_rise及びTpd_xx_fallとする。プロセス条件には、Pch，Nchの組み合わせがあり、遅延評価の結果、rise遅延とfall遅延の組み合わせがslow，slowの場合、slow，fastの場合、fastslow，slowの場合、fast，fastの場合がある。それぞれの結果を、ss，sf，fs，ffとする。例えば、rise遅延とfall遅延の組み合わせがslow，slowの場合、測定値をTpd_ss_rise，Tpd_ss_fallとする。
【００４３】
３．標準プロセスにおける遅延値に対するプロセス振り条件における遅延値の遅延ばらつきを、標準プロセスにおける遅延値に対するプロセス振り条件における遅延値の比率ratioをとして算出する。rise遅延値とfall遅延値の遅延ばらつきの比率は、
ratio_rise＝（Tpd_xx_rise）／（Tpd_typ_rise）
ratio_fall＝（Tpd_xx_fall）／（Tpd_typ_fall）
として表される。そして、これら比率をばらつき係数とする。
【００４４】
４． rise遅延とfall遅延の組合せの４条件でのratioをテーブル化する。図７はテーブル６１の一例を示し、図６はテーブル６１をグラフ化したものである。尚、図７に示すテーブルと図６に示すグラフ化したテーブルは、インバータ回路（反転バッファ）の特性例であり、括弧内は、rise_ratio：fall_ratioの値を示す。グラフは、ばらつきの中心特性（標準プロセス）におけるrise遅延値及びfall遅延値を「１」として表されている。図６において実線で示した範囲は、ばらつきの範囲を示していることになる。
【００４５】
次に、ばらつき量の抽出手順を説明する。
タイミング検証の検証条件を考慮し、上記のように作成したばらつき係数のテーブル６１からばらつき量を抽出する。
【００４６】
検証条件には、コーナー条件（worst，best）とパルスの種類（Ｈ，Ｌ）がある。パルス幅が小さくなるばらつき条件（図９（ａ）〜（ｄ）参照）を考慮してばらつき係数を抽出し、ばらつきの中心に対する該抽出したばらつき係数の差の絶対値をばらつき量とする。つまり、図６において、ばらつきの中心点に対して、ばらつきの範囲を示す四角形の頂点の相対座標値をばらつき量として抽出する。中心の値は「１」であるため、ばらつき量は（１−ratio）の絶対値となる。
【００４７】
例えば、ワースト条件におけるＨパルスの場合（図９（ａ）参照）、パルス幅が小さくなる条件は、riseが遅くなることと、fallが早くなることである。そして、同一セルにおけるばらつきを考えた場合、riseのばらつき係数とfallのばらつき係数が同時に大きくなることはないので、逆コーナーつまり図６における四角形の対角の（SS）と（ff）の値ではなく、アンバランスコーナとして（ss）と（sf）を考慮することになる。従って、この条件において、riseのばらつき係数の最大値である（ss）の点の座標値（rise成分）と中心値との差の絶対値「０．２」を、ワースト条件におけるriseのばらつき量とする。同様に、この条件において、fallのばらつき係数の最小値である（sf）の点の座標値（fall成分）と中心値との差の絶対値「０．１」を、ワースト条件におけるfallのばらつき量とする。
【００４８】
同様にして、ワースト条件におけるＬパルスに対するばらつき量、ベスト条件におけるＨパルスに対するばらつき量、ベスト条件におけるＬパルスのばらつき量を抽出する。その抽出結果をまとめると、
・worst条件Ｈパルスの場合：rise＝0.2(ss)，fall＝0.1(sf)
・worst条件Ｌパルスの場合：fall＝0.2(ss)，rise＝0.1(fs)
・best条件Ｈパルスの場合：rise＝0.1(sf)，fall＝0.2(ff)
・best条件Ｌパルスの場合：fall＝0.1(fs)，rise＝0.2(ff)
となる。
【００４９】
図８は、バッファ回路（非反転バッファ）におけるばらつき範囲の一例を示すグラフである。このばらつき範囲によりばらつき量は、上記のインバータ回路の場合と同様にして、
・worst条件Ｈパルスの場合：rise＝0.2(ss)，fall＝0.05(sf)
・worst条件Ｌパルスの場合：fall＝0.2(ss)，rise＝0.05(fs)
・best条件Ｈパルスの場合：rise＝0.05(sf)，fall＝0.2(ff)
・best条件Ｌパルスの場合：fall＝0.05(fs)，rise＝0.2(ff)
となる。
【００５０】
次に、ばらつきの補正係数の抽出手順を説明する。
上記のように抽出したばらつき量に基づいて、一方のばらつき量を最大値との比として表す。この比をばらつきの補正係数(Kd_c)としている。このように表された補正係数は、rise遅延値とfall遅延値の相関を示す。例えば、Ｈパルスにおいて、worst条件では遅延がばらつきによって早まるfall側のばらつき量の比を、best条件では遅延がばらつきによって遅くなるrise側のばらつき量の比を、補正係数として表す。また、Ｌパルスにおいて、worst条件では遅延がばらつきによって遅くなるrise側のばらつき量の比を、best条件では遅延がばらつきによって早まるfall側のばらつき量の比を、補正係数として表す。
【００５１】
図６に示す特性を有するインバータ回路の場合、riseとfallのばらつき量は、
・worst条件Ｈパルスの場合：rise＝0.2(ss)，fall＝0.1(sf)
・worst条件Ｌパルスの場合：fall＝0.2(ss)，rise＝0.1(fs)
・best条件Ｈパルスの場合：rise＝0.1(sf)，fall＝0.2(ff)
・best条件Ｌパルスの場合：fall＝0.1(fs)，rise＝0.2(ff)
であるため、各条件における補正係数Kd_cは、最大値が０．２であるから、
・worst条件Ｈパルスの場合：Kd_c(fall)＝0.1/0.2=0.5
・worst条件Ｌパルスの場合：Kd_c(rise)＝0.1/0.2=0.5
・best条件Ｈパルスの場合：Kd_c(rise)＝0.1/0.2=0.5
・best条件Ｌパルスの場合：Kd_c(fall)＝0.1/0.2=0.5
となる。
【００５２】
同様に、図８に示す特性を有するバッファ回路の場合、各条件における補正係数Kd_cは、
・worst条件Ｈパルスの場合：Kd_c(fall)＝:0.05/0.2=0.25
・worst条件Ｌパルスの場合：Kd_c(rise)＝0.05/0.2=0.25
・best条件Ｈパルスの場合：Kd_c(rise)＝0.05/0.2=0.25
・best条件Ｌパルスの場合：Kd_c(fall)＝0.05/0.2=0.25
となる。
【００５３】
なお、上記実施の形態では、標準プロセス（Typical Process）を基準にしたばらつき係数、ばらつき量、および補正係数の抽出方法を示したが、chipの中心特性を基準としてon chipの特性ばらつきを表現してもよい。
【００５４】
次に、タイミング検証方法を説明する。
図１０は、スタティックタイミング解析におけるパルス幅チェックを説明するための模式図である。
【００５５】
クロック信号ｃｋは、複数のバッファ回路７１〜７６を介してフリップフロップ回路（ＦＦ回路）７７のクロック入力端子に入力される。図には、各バッファ回路７１〜７６におけるばらつき分布７１ａ〜７６ａを示す。図２に示すタイミング検証装置１１は、このクロック信号ｃｋをＦＦ回路７７に伝達するパス７０における遅延ばらつきを考慮し、ＦＦ回路７７のクロック入力端子におけるクロック信号ｃｋ１のパルス幅を検証する。
【００５６】
タイミング検証装置１１は、パス７０上のセル（バッファ回路７１〜７６）に対し、セルライブラリ３４（図１参照）や寄生情報ファイル３２の配線寄生容量から解析した遅延情報と先に抽出したばらつき量から各バッファ回路７１〜７６の遅延のばらつき分布７１ａ〜７６ａを見積る。次に、タイミング検証装置１１は、見積もった分布情報を解析の対象となるＦＦ回路７７のクロック入力端子まで伝播させる。そして、タイミング検証装置１１は、伝播させたばらつき分布８１，８２の３σを考慮した遅延時間fall_maxmin，rise_maxmaxを算出し、それらの遅延時間とクロック信号ｃｋのパルス幅ｐｗ（Ｈ）とに基づいて、クロック信号ｃｋ１のパルス幅Width(H)を
Width(H)＝pw(H)＋fall_maxmin−rise_maxmax
により求める。そして、タイミング検証装置１１は、求めたパルス幅Width(H)と対象とするＦＦ回路７７の規格値tPW(H)とを比較してパルス幅をチェックする。
【００５７】
尚、上記の説明を、タイミングリスト３７（図１参照）の用語により説明すると、対象とするＦＦ回路７７の入力端子におけるパルス幅Actual Pulse Widthは、パルスの最初のエッジの到達時間Start Arrival Timeと、パルスの最後のエッジの到達時間End Arrival Timeとから、
Actual Pulse Width＝End Arrival Time−Start Arrival Time
により求められる。尚、両到達時間Start Arrival Time，End Arrival Timeは、ばらつき分布の３σを考慮した時間である。
【００５８】
上記により求めたパルス幅Actual Pulse WidthとＦＦ回路７７の動作必要時間Required Time（規格値Cell Spec PWIDTH_H及びCell Spec PWIDTH_L）とから、ＦＦ回路７７におけるＳｌａｋ値を、次式に従って求める。
【００５９】
Slack＝Actual Pulse Width −Required Time
により求める。そして、タイミング検証装置１１は、算出したＳｌａｃｋ値が０以上であればタイミング満足（ＯＫ）と判定し、Ｓｌａｃｋ値が０未満であればタイミング不良（ＮＧ）と判定する。
【００６０】
図１１は、別のスタティックタイミング解析におけるパルス幅チェックを説明するための模式図である。
パス７０の構成は同じであり、タイミング検証装置１１はばらつきの補正係数Kd_cによりパルスチェックを行う。
【００６１】
即ち、タイミング検証装置１１は対象とするセルであるＦＦ回路７７の入力端子におけるばらつきの分布に対して補正係数を乗算することで補正分布８３を算出する。そして、タイミング検証装置１１は、算出したfallの補正分布８３の３σとriseのばらつき分布８１とに基づいて遅延時間fall_maxmin，rise_maxmaxを算出し、それらの遅延時間とクロック信号ｃｋのパルス幅ｐｗ（Ｈ）とに基づいて、クロック信号ｃｋ１のパルス幅Width(H)を算出し、パルス幅をチェックする。上記の補正分布８３はバッファにおけるものであるが、インバータの場合も同様に補正分布８４を算出し、該補正分布８４とriseのばらつき分布８５とに基づいてパルス幅をチェックする。
【００６２】
図１２は、スタティックタイミング解析におけるセットアップ時間のタイミング検証方法を説明するための模式図である。
クロック信号ｃｋは、バッファ回路９１〜９３を介してクロック信号ｃｋ１として第１ＦＦ回路９４のクロック入力端子に入力され、そのクロック信号ｃｋ１は、バッファ回路９５〜９７を介してクロック信号ｃｋ２として第２ＦＦ回路９８の反転クロック入力端子に入力される。第１ＦＦ回路９４はデータ出力端子からクロック信号ｃｋ１の立ち上がりエッジに同期してデータ信号を出力し、該データ信号は組み合わせ回路９９を介してデータ信号として第２ＦＦ回路９８のデータ入力端子Ｄに入力される。そして、第２ＦＦ回路９８は、クロック信号ｃｋ２の立ち下がりエッジに同期動作してデータ入力端子Ｄにおける信号レベルに応じたレベルのデータ信号を出力する。
【００６３】
タイミング検証装置１１は、図１２に示すように、第１ＦＦ回路９４と第２ＦＦ回路９８に対してクロック信号ｃｋの共通なパスにより伝達された第１クロック信号ｃｋ１のfallに補正係数を適用する。この第１クロック信号ｃｋ１のfall部分に補正係数を適用すると、ばらつき量が軽減される。尚、タイミング検証装置１１は、図１に示すＳＴＡの解析処理において、ばらつきをset timing derate等のコマンドで扱うが、補正係数を考慮する。例えば、set timing derateに設定する係数をＫｄとすると、補正係数を考慮した係数（＝１−（１−ｋｄ）×Kd_c）を用いることで、第２クロック信号ｃｋ２のばらつき量を緩和することができる。
【００６４】
以上記述したように、本実施形態によれば、以下の効果を奏する。
（１）クロック信号ｃｋの伝達経路であるパス７０を構成するバッファ回路７１〜７６における信号のriseとfallのそれぞれに対応するばらつきの分布７１ａ〜７６ａを該パス７０に沿ってＦＦ回路７７の入力端子まで伝播し、該入力端子におけるriseのばらつきの分布とfallのばらつきの分布に基づいて該入力端子におけるタイミング検証を行うようにした。従って、riseの遅延時間とfallの遅延時間とをそれぞれ別々に考慮する、つまりriseのばらつきとfallのばらつきを正しく考慮して検証を行うことができるため、悲観的な検証になるのを防ぐことができる。このため、設計期間の短縮、タイミング検証における精度向上を図ることができ、タイミング検証の品質を向上することができる。
【００６５】
（２）クロック信号ｃｋのriseとfallのそれぞれに対応するばらつきを、該検証対象信号のパルス幅が厳しくなる条件にて数値化し、該数値化したばらつき量に基づいて入力端子におけるパルス幅をチェックするようにした。従って、入力端子におけるパルス幅を正しく検証することができる。
【００６６】
（３）riseのばらつき量とfallのばらつき量とに基づいて、riseとfallの相関を表しばらつき量の最大値に対する比率を補正係数として算出し、該補正係数に基づいてパルス幅を算出するようにした。従って、クロック信号ｃｋの逆相にて動作するＦＦ回路９４，９８のようにばらつき係数を別々に扱うことができない場合においても、riseのばらつきとfallのばらつきを考慮した検証を行うことができる。
【００６７】
尚、上記各実施の形態は、以下の態様で実施してもよい。
・上記実施の形態では、ＳＴＡ（図１のステップ２３）を実行した後、ばらつき量，ばらつきの補正係数を考慮したタイミングチェック（図１のステップ２４）を実行するようにしたが、処理の構成を適宜変更してもよい。例えば、図１３に示すように、遅延計算処理（ステップ１０１）の処理後であってＳＴＡ（ステップ１０３）の前処理として、上記の補正係数に基づいてばらつきを緩和するための緩和係数を算出する処理（ステップ１０２）を実行する。この処理において、タイミング検証装置１１は、ファイル１１１のばらつき係数とファイル１１２のばらつきの補正係数とを読み込み、パルスチェックや逆相のクロック信号に対して適用して解析する。
【００６８】
また、図１４に示すように、遅延計算処理（ステップ１２１）とＳＴＡ（ステップ１２２）を実行した後、着目する２つの入力端子におけるクロック信号の遷移が同一か否かを判断する（ステップ１２３）。そして、信号の遷移が同一の場合（ステップ１２３においてＹＥＳ）の場合にはステップ１２２の処理結果に基づいてタイミングリスト３７を作成する。信号の遷移が同一ではない（ステップ１２３においてＮＯ）の場合、ファイル１１２の補正係数に基づいて緩和係数を算出する処理（ステップ１２４）を実行し、タイミングレポート３８を作成する。
【００６９】
尚、ＳＴＡ（例えば図１４においてステップ１２２）内において、セル種類毎に、rise，fallを識別し、ばらつき量やばらつきの補正係数を適用するようにしてもよい。
【図面の簡単な説明】
【００７０】
【図１】タイミング検証処理のフローチャートである。
【図２】タイミング検証装置の概略構成図である。
【図３】タイミングチェックのフローチャートである。
【図４】同一経路におけるばらつき量の説明図である。
【図５】タイミングチェックにおける入出力データの説明図である。
【図６】ばらつきの範囲を示す特性図である。
【図７】ばらつきのテーブルを示す説明図である。
【図８】ばらつきの範囲を示す特性図である。
【図９】（ａ）〜（ｄ）はばらつき条件の説明図である。
【図１０】パルス幅チェックを説明するための模式図である。
【図１１】パルス幅チェックを説明するための模式図である。
【図１２】タイミングチェックを説明するための模式図である。
【図１３】別のタイミング検証処理のフローチャートである。
【図１４】別のタイミング検証処理のフローチャートである。
【図１５】従来のタイミング検証処理のフローチャートである。
【図１６】従来のパルス幅チェックの説明図である。
【図１７】従来のタイミングチェックの説明図である。
【符号の説明】
【００７１】
５２  係数  
６１  テーブル
７０  パス
７１ａ−７６ａ，８１，８２，８５  分布
ｐｗ，Width  パルス幅
ｔＰＷ  規格値
Kd_c  補正係数
ｒａｔｉｏ  比率
【図１】
2007140773.tif 000003
【図２】
2007140773.tif 000004
【図３】
2007140773.tif 000005
【図４】
2007140773.tif 000006
【図５】
2007140773.tif 000007
【図６】
2007140773.tif 000008
【図７】
2007140773.tif 000009
【図８】
2007140773.tif 000010
【図９】
2007140773.tif 000011
【図１０】
2007140773.tif 000012
【図１１】
2007140773.tif 000013
【図１２】
2007140773.tif 000014
【図１３】
2007140773.tif 000015
【図１４】
2007140773.tif 000016
【図１５】
2007140773.tif 000017
【図１６】
2007140773.tif 000018
【図１７】
2007140773.tif 000019