(57)【要約】【課題】統計的な解析に用いるデータ数や解析工数を増加することなく、クリティカルなタイミング収束を向上できるタイミング解析方法を提供すること。【解決手段】タイミング解析装置は、静的タイミング解析処理（ＳＴＡ）（ステップ２３）において、静的タイミング解析処理を実行し、タイミングリスト生成処理（ステップ２４）において、ステップ２３における解析結果から、タイミングが厳しいネットを抽出してタイミングリスト３７を生成する。タイミング解析装置は、遅延分布計算処理（ステップ２５ａ）において、インスタンス毎の分布解析を行う。タイミング解析装置は、タイミングリスト３７を読み込み、上記のタイミングが厳しいネット上のインスタンスにおける遅延分布を計算する。そして、タイミング解析装置は、統計的タイミング解析処理（ステップ２５ｂ）において、ばらつきを固有化した遅延分布に基づき、統計的タイミング解析を行う。【選択図】図１
2007183932.tif 000002
【特許請求の範囲】
【請求項１】
遅延計算を行う工程と、
前記遅延計算の結果に基づき静的タイミング解析を行って解析結果を生成する工程と、を備えたタイミング解析方法において、
前記解析結果に基づきインスタンスにおける遅延分布を計算する工程と、
前記解析結果と前記遅延分布に基づき統計的タイミング解析を実施する工程と、
を備えたことを特徴とするタイミング解析方法。
【請求項２】
前記解析結果からタイミングの厳しいネットを抽出し、該ネットの情報を含むタイミングリストを生成する工程を備え、
前記遅延分布を計算する工程において前記タイミングの厳しいネット上のインスタンスにおける遅延分布を計算し、
前記統計的タイミング解析を行う工程において前記タイミングの厳しいネットに対する解析を実施する
ことを特徴とする請求項１記載のタイミング解析方法。
【請求項３】
前記遅延分布を計算する工程において特性抽出した特性情報と既存の遅延計算結果、タイミング解析結果、配置情報を参照して分布を計算することを特徴とする請求項１又は２記載のタイミング解析方法。
【請求項４】
確率値に応じたインスタンスの遅延値の定義が設定され、前記遅延分布を計算する工程において、該定義に従って各インスタンスにおける遅延ばらつき分布の中心値と最大値と最小値を算出し、これら中心値と最大値と最小値とを用いて前記統計的タイミング解析を実施することを特徴とする請求項１〜３のうちの何れか一項に記載のタイミング解析方法。
【請求項５】
前記解析結果に基づき、パスの始点から終点までの全てのパスを抽出する工程を備え、
前記遅延分布を計算する工程では、前記抽出された全てのパスについて遅延分布を計算し、
前記統計的タイミング解析を実施する工程では、前記抽出された全てのパスについて統計的タイミング解析を実施する、
ことを特徴とする請求項１〜４のうちの何れか一項に記載のタイミング解析方法。
【請求項６】
遅延計算を行う遅延算出部と、
前記遅延計算の結果に基づき静的タイミング解析を行い解析結果を生成する第１解析部と、を備えた解析装置において、
前記解析結果に基づきインスタンスにおける遅延分布を計算する遅延分布算出部と、
前記解析結果と前記遅延分布に基づき統計的タイミング解析を実施する第２解析部と、を備えたことを特徴とするタイミング解析装置。
【請求項７】
前記解析結果からタイミングの厳しいパスを抽出し、該パスの情報を含むタイミングリストを生成するリスト生成部を備え、
前記遅延分布算出部は前記タイミングの厳しいパス上のインスタンスにおける遅延分布を計算し、
前記第２解析部は前記タイミングの厳しいパスに対する解析を実施する
ことを特徴とする請求項６記載のタイミング解析装置。
【請求項８】
前記遅延分布算出部は特性抽出した特性情報と既存の遅延計算結果、タイミング解析結果、配置情報を参照して分布を計算することを特徴とする請求項６又は７記載のタイミング解析装置。
【請求項９】
確率値に応じたインスタンスの遅延値の定義が設定され、前記遅延分布算出部は該定義に従って各インスタンスにおける遅延ばらつき分布の中心値と最大値と最小値を算出し、これら中心値と最大値と最小値とを用いて前記統計的タイミング解析を実施することを特徴とする請求項６〜８のうちの何れか一項に記載のタイミング解析装置。
【請求項１０】
前記解析結果に基づき、パスの始点から終点までの全てのパスを抽出する抽出手段を備え、
前記第１解析部では、前記抽出された全てのパスについて遅延分布を計算し、
前記第２解析部では、前記抽出された全てのパスについて統計的タイミング解析を実施する、
ことを特徴とする請求項６〜９のうちの何れか一項に記載のタイミング解析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路のタイミング解析方法及びタイミング解析装置に関するものである。
半導体集積回路の開発工程において、デジタル回路のタイミング解析にスタティックタイミング解析（ＳＴＡ）が実施されている。スタティックタイミング解析は、回路中の素子等に対してそれぞれ割り当てられた遅延時間に基づき回路のタイミング検証が行われる。更に、近年では、タイミング解析において、統計的な解析手法が用いられるようになってきている。そして、この統計的な解析手法によって、クリティカルなパスのタイミング収束の向上や扱うデータ量の削減や工数の低減が求められている。
【背景技術】
【０００２】
従来、半導体集積回路の開発において、論理回路の動作を確認し保証するためにタイミング検証を行っている。図１８に示すように、タイミング検証は、論理回路の各素子における遅延値を算出する工程（ステップ２０１）と、算出した遅延値に基づいて、パス（信号の伝達経路）における遅延累積値を算出してフリップフロップ回路（ＦＦ回路）やメモリ等の入力端子におけるパルス幅を解析するスタティックタイミング解析を実施する工程（ステップ２０２）とを含む。更に、タイミング検証は、スタティックタイミング解析の解析結果に基づき生成されたタイミングレポートに基づいて回路修正を行う工程（ステップ２０３）を含む。
【０００３】
半導体集積回路におけるトランジスタや配線を形成するプロセスや電源電圧，温度などの各要素におけるばらつきは、素子の遅延時間に影響を与える。このため、上記の遅延値を算出する工程において、チップにおける各要素のばらつき（ＯＣＶ）の係数を考慮した遅延値を算出する。この算出した遅延値によりスタティックタイミング解析を実施することで、チップ内のばらつきが発生しても半導体集積回路が正常に動作可能であるか否かを検証する。
【０００４】
ところで、上記のタイミング解析では、パスを構成する複数のインスタンス（セル）における遅延のばらつきを信号の伝達順序に従って累積し、その累積値に基づいてタイミング解析を行っていた。このため、実際の回路ではあり得ない条件、つまり非常に厳しい条件でタイミング検証を行っているため、タイミングの収束が困難になり、設計開発に長い期間を要していた。
【０００５】
近年では、特許文献１のように、要因毎のばらつきを統計的な確率として扱い、タイミング解析を行う方法がある。この方法によれば、タイミング検証を行う条件を緩和し、悲観性を軽減することができる。
【特許文献１】特開２００５−０１９５２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１に開示された解析方法では、回路内の素子の特性分布をモンテカルロ解析などにより抽出しているが、チップ上における各素子固有の特性や位置によるばらつき分布が考慮されていないため、タイミング解析の精度が低くなる場合がある。また、上記解析方法は、データ数が増大する程、解析が複雑であるため、解析処理にかかる時間が膨大となり、ＬＳＩの設計開発期間や解析工数を増大させる虞があった。
【０００７】
本発明は上記問題点を解決するためになされたものであって、その目的は、統計的な解析に用いるデータ数や解析工数を増加することなく、クリティカルなパスのタイミング収束を向上できるタイミング解析方法及びタイミング解析装置を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、請求項１，６に記載の発明によれば、静的タイミング解析の結果に基づいてインスタンスにおける遅延分布を計算し、統計的タイミング解析を実施する。従って、統計的タイミング解析においてチップ全体のタイミング解析を行う必要がなく、統計的タイミング解析において扱うデータ数や解析工数を低減することができる。
【０００９】
請求項２，７に記載の発明によれば、前記解析結果からタイミングの厳しいネットを抽出し、該ネットの情報を含むタイミングリストを生成する工程を備え、前記遅延分布を計算する工程において前記タイミングの厳しいネット上のインスタンスにおける遅延分布を計算し、前記統計的タイミング解析を行う工程において前記タイミングの厳しいネットに対する解析を実施する。従って、静的タイミング解析の解析結果に基づきタイミングの厳しいネットのデータを扱えばよく、統計的タイミング解析において扱うデータ数を低減することができる。
【００１０】
請求項３，８に記載の発明によれば、前記遅延分布を計算する工程において予め特性抽出した特性情報と既存の遅延計算結果、タイミング解析結果、配置情報を参照して分布を計算する。従って、統計的タイミング解析に用いる遅延の分布を容易に求めることができる。
【００１１】
請求項４，９に記載の発明によれば、確率値に応じたインスタンスの遅延値の定義が予め設定され、前記遅延分布を計算する工程において、該定義に従って各インスタンスにおける遅延ばらつき分布の中心値と最大値と最小値を算出し、これら中心値と最大値と最小値とを用いて前記統計的タイミング解析を実施する。従って、統計的タイミング解析に用いるインスタンスの遅延の中心値と最大値と最小値を容易に求めることができる。
【００１２】
請求項５，１０に記載の発明によれば、前記解析結果に基づき、パスの始点から終点までの全てのパスを抽出し、前記抽出された全てのパスについて遅延分布を計算し、前記抽出された全てのパスについて統計的タイミング解析を実施する。従って、静的タイミング解析の解析により統計的タイミング解析を行う対象の回路に含まれる全てのパスについて解析が可能となり、検証漏れをなくすことができる。
【発明の効果】
【００１３】
本発明によれば、統計的な解析に用いるデータ数や解析工数を低減することが可能なタイミング解析方法及びタイミング解析装置を提供することができる。
【発明を実施するための最良の形態】
【００１４】
（第一の実施の形態）
以下、本発明を具体化した第一の実施の形態を図面に従って説明する。
図１は、タイミング解析装置１１が実行するタイミング解析処理を示すフローチャートである。
【００１５】
タイミング解析装置１１は、分布パラメータ抽出処理（ステップ２１）において、テクノロジファイル３１を読み込み、セル毎、パス毎の遅延時間に対して、特性シミュレーションを実施し、分布パラメータとして遅延の中心値と遅延ばらつき量（標準偏差）のテーブルを作成する。テクノロジファイル３１には、標準プロセスにおける各セルの立ち上がりエッジの遅延時間（以下、立ち上がりエッジに関するものを、riseを用いて表す）と立ち下がりエッジの遅延時間（以下、立ち下がりエッジに関するものを、fallを用いて表す）のばらつき特性値が含まれる。また、テクノロジファイル３１には、システム補正係数として、チップ内に配置されたセルの粗密に依存する係数や、セル間の相対距離に依存する係数が含まれる。テーブルのパラメータとしては、各セルのパス毎、信号の立ち上がり（rise）及び立ち下がり（fall）毎に入力スルーレート（slew rate）と出力駆動容量に応じた、入力容量、リーク電力、消費電力などがある。
【００１６】
次に、遅延計算処理（ステップ２２）において、タイミング解析装置１１は、従来例と同様に、寄生情報ファイル３２から配線寄生容量などの寄生情報を読み込み、セットアップファイル３３からオンチップばらつきのマージンを含む情報を読み込み、セルライブラリ３４を参照し、着目パスの各回路要素におけるディレイ値（遅延情報）を抽出する。そして、タイミング解析装置１１は、遅延時報を含むファイル３５を作成する。
【００１７】
次に、静的タイミング解析処理（ＳＴＡ）（ステップ２３）において、タイミング解析装置１１は、従来例と同様に、ファイル３５の遅延情報を読み込み、ファイル３６の設計制約を読み込み、それらに基づいてタイミング解析処理を実行する。次に、タイミングリスト生成処理（ステップ２４）において、タイミング解析装置１１は、ステップ２３における解析結果から、予め設定された条件に応じたネットを抽出し、該抽出したネットのタイミングリスト３７を生成する。タイミングリスト３７には、タイミングが厳しいネットの情報を含む。タイミングが厳しいネットは、タイミング違反が発生しているパス（違反パス）と、動作に余裕度が少ないネット（パス）を含む、クリティカルパスのことである。余裕度は、例えばサイクルタイムにより決定され、該サイクルタイムの１０％未満のネットを動作余裕度が少ないネットとする。
【００１８】
図１０にはタイミングリストの例を示す。タイミングリスト３７は、インスタンス名（セル名）３７ａ（SCUBUFFXP1）、そのインスタンスにおける遅延情報３７ｂ（413.000）、タイミング解析結果のＳｌａｃｋ値３７ｃ（4093.00）を含む。このＳｌａｃｋ値がゼロの場合、リスト中のパスはクリティカルパスであり、Ｓｌａｃｋ値が負の場合、リスト中のパスはタイミング違反が発生しているパスであることを示す。従って、タイミングリスト３７のＳｌａｃｋ値３７ｃにより、タイミングが厳しいネットの情報を得ることができる。
【００１９】
次に、再解析処理（ステップ２５）は、遅延分布計算処理（ステップ２５ａ）と統計的タイミング解析処理（ステップ２５ｂ）とから構成されている。遅延分布計算処理（ステップ２５ａ）において、タイミング解析装置１１は、インスタンス毎の分布解析を行う。詳述すると、タイミング解析装置１１は、タイミングリスト３７を読み込み、上記のタイミングが厳しいネット上のインスタンスにおける遅延分布を計算する。
【００２０】
このステップ２５ａにおいて、タイミング解析装置１１は、個々のセルの分布パラメータを参照し、回路上の固有回路パラメータである入力スルーレート（slew rate）と出力駆動容量に応じた遅延分布を求める。尚、特性に起因する分布パラメータを解析する場合、タイミング解析装置１１は、チップのレイアウトに起因する変動係数を考慮するため、各セルの配置位置や周囲の配線密度を考慮して個々のインスタンスに対してばらつきの固有化を行う。
【００２１】
次に、統計的タイミング解析処理（ステップ２５ｂ）において、タイミング解析装置１１は、ステップ２５ａにおいてばらつきを固有化した遅延分布に基づき、統計的タイミング解析を行う。統計的タイミング解析として、モンテカルロ解析や近似方式を用いる。そして、タイミング解析装置１１は、解析結果に基づいてファイル３８を生成する。この解析結果には、着目パスのＳｌａｃｋ値（タイミングマージンの値）の分布、感度解析結果を含む。図１１に解析結果である出力リストの例を示す。
【００２２】
次に、回路修正処理（ステップ２６）において、タイミング解析装置１１は、ステップ２５にて生成した解析結果に基づいて、修正が必要なネットに対して、配線経路の変更（セルの配置位置、パス上へのバッファの追加）等の修正処理を実行する。
【００２３】
上記したように、インスタンス毎のばらつきを固有化することで、個々のインスタンスの回路特性を考慮し、パスについて統計的タイミング解析を実施することで、統計的タイミング解析において扱うデータ量を少なくし、実効的な時間（解析の処理に許容できる時間）で解析を行うことができる。従って、クリティカルパスの解析やクリティカルパスに対するタイミング収束を向上させることができる。
【００２４】
また、個々のインスタンスにおけるばらつきを考慮することになり、統計的タイミング解析の精度を向上することができる。また、ステップ２３において既存のＳＴＡを行い、その結果から統計的タイミング解析に必要な情報を抽出することで、既存のシステムを利用することができる。
【００２５】
図２は、タイミング解析装置１１の概略構成図である。
タイミング解析装置１１は一般的なＣＡＤ(Computer Aided Design) 装置からなり、遅延算出部、遅延分布算出部、第１解析部、第２解析部、リスト生成部としての中央処理装置（以下、ＣＰＵ）１２、メモリ１３、記憶装置１４、表示装置１５、入力装置１６、及びドライブ装置１７を備え、それらはバス１８を介して相互に接続されている。
【００２６】
ＣＰＵ１２は、メモリ１３を利用してプログラムを実行し、タイミング解析に必要な処理を実現する。メモリ１３には、タイミング解析の機能を提供するために必要なプログラムとデータが格納され、メモリ１３としては、通常、キャッシュ・メモリ，システム・メモリ，及びディスプレイ・メモリ等（図示略）を含む。
【００２７】
表示装置１５は、レイアウト表示、パラメータ入力画面等の表示に用いられ、これには通常、ＣＲＴ，ＬＣＤ，ＰＤＰ等（図示略）が用いられる。入力装置１６は、ユーザからの要求や指示、パラメータの入力に用いられ、これにはキーボード及びマウス装置等（図示略）が用いられる。
【００２８】
記憶装置１４は、通常、磁気ディスク装置，光ディスク装置，光磁気ディスク装置等（図示略）を含む。記憶装置１４には、図１に示すタイミング解析処理のためのプログラムデータ（以下、プログラム）及び各種のデータファイル（以下、ファイル）３１〜３８、テーブルが格納される。ＣＰＵ１２は、入力装置１６による指示に応答してプログラムや各種ファイルに格納されるデータを適宜メモリ１３へ転送し、プログラムを逐次実行する。そして、ＣＰＵ１２は、プログラムの実行に必要なファイルの読み込み、プログラムの実行によるファイルやデータの作成を、記憶装置１４に対して行う。この記憶装置１４は、データベースとしても使用される。
【００２９】
ＣＰＵ１２が実行するプログラムは、記録媒体１９にて提供される。ドライブ装置１７は、記録媒体１９を駆動し、その記憶内容にアクセスする。ＣＰＵ１２は、ドライブ装置１７を介して記録媒体１９からプログラムを読み出し、それを記憶装置１４にインストールする。
【００３０】
記録媒体１９としては、メモリカード，フレキシブルディスク，光ディスク(CD-ROM,DVD-ROM,… )，光磁気ディスク(MO,MD,…)等（図示略）、任意のコンピュータ読み取り可能な記録媒体を使用することができる。この記録媒体１９に、上述のプログラムを格納しておき、必要に応じて、メモリ１３にロードして使用することもできる。
【００３１】
尚、記録媒体１９には、通信媒体を介してアップロード又はダウンロードされたプログラムを記録した媒体、ディスク装置を含む。更に、コンピュータによって直接実行可能なプログラムを記録した記録媒体だけでなく、いったん他の記録媒体（ハードディスク等）にインストールすることによって実行可能となるようなプログラムを記録した記録媒体や、暗号化されたり、圧縮されたりしたプログラムを記録した記録媒体も含む。
【００３２】
図７は、ばらつき条件の例を示す説明図である。
図７において、ＰＶはプロセス全体のばらつき、ＣＶＷはワースト条件でのチップ内ばらつき、ＣＶＢはベスト条件でのチップ内ばらつきを示している。Ｔｙｐはプロセス全体分布での中心値、＋３σｐはプロセス全体におけるワースト値、−３σｐはプロセス全体におけるベスト値である。
【００３３】
ワースト条件のチップにおけるばらつきの範囲は、プロセス全体のばらつきにおける＋３σｃを中心値とし、±３σｏｃｖである。また、ベスト条件のチップにおけるばらつきの範囲は、プロセス全体のばらつきにおける−３σｃを中心とし、±３σｏｃｖである。尚、ｏｃｖはチップにおけるばらつきである。
【００３４】
図７に示すばらつきを、図５に示す回路におけるクロックパス（CK path）とデータパス（Data path）についてテーブル化した場合、図８に示すように、実線で囲まれた範囲がクロック信号とデータ信号のマージンの範囲となる。このばらつきの範囲に基づき、解析する条件に対応するばらつきを設定する。クロックパスとデータパスにおける解析する条件は、図８に示す「Worst Setup Time」，「Worst Hold Time」，「Best Hold Time」と、図示しない「Best Setup Time」である。例えば、「Worst Setup Time」において、データ信号の遅延ばらつきはチップのばらつきにおけるワースト値、クロック信号の遅延ばらつきはチップのばらつきにおけるベスト値を設定することで、マージン的に厳しい条件のタイミング解析を実施する。尚、ばらつきの中心値に対するワースト値、ベスト値は、図９に示す各種条件に対するばらつきの値が設定される。尚、図９には、ＰＴＶ（プロセス，温度，電圧）のｗｏｒｓｔ条件とｂｅｓｔ条件について、素子、電源電圧、温度、配線、計算誤差について設定されたばらつき量を示す。
【００３５】
図３（ａ）〜（ｄ）は、図１の分布パラメータ抽出処理の説明図である。
図３（ａ）に示すように、セル４１は、信号Ａに基づいて信号Ｘを出力する。このセル４１において、入力信号Ａと出力信号Ｘとの間には、図３（ｂ）に示すように、遅延時間μと、遅延のばらつきが存在する。尚、図３（ｂ）において、最大のばらつきによる信号Ｘを破線で示す。このセル４１において、種々の条件によるばらつきは、図３（ｃ）に示すように、ガウス分布（正規分布）にそれぞれ従う。従って、３σにおける信号Ｘの立ち上がりエッジの存在確率は９９．７３％である。この分布を、図３（ｄ）に示すように、４種類の負荷容量と３種類のスルーレートをパラメータとするテーブルを作成する。尚、この説明図では、４種類の負荷容量と３種類のスルーレートを示しているが、負荷容量の数やスルーレートの数はこの限りではない。
【００３６】
尚、温度条件、電圧条件が異なるテーブルも準備する。そして、電圧変動分、温度変動分を考慮する場合、条件が異なるテーブルの値を取得し、補間により変動した電圧、温度における値を得る。尚、標準条件のテーブルと条件の変化に対するスケーリング係数を用いてもよい。
【００３７】
図４は、図１の遅延分布計算処理（ステップ２５ａ）における入力データと処理の詳細を示す。即ち、ステップ２５ａはステップ５１〜５３から構成される。
ステップ５１において、タイミング解析装置１１は、テクノロジファイル３１、遅延計算結果を含むファイル３５、寄生情報を含むファイル３２、タイミングリスト３７を入力する。タイミング解析装置１１は、タイミングリスト３７に記述されたセルに対して、インスタンス毎の固有パラメータを収集する。固有パラメータは、スルーレート、負荷容量、補正係数、配置された座標情報、粗密情報を含む。タイミング解析装置１１は、固有パラメータとして、スルーレート、負荷容量、補正係数をファイル３５の遅延計算結果から取得する。また、タイミング解析装置１１は、固有パラメータとして、配置された座標情報、粗密情報をファイル３２の寄生情報から取得する。
【００３８】
次に、ステップ５２において、タイミング解析装置１１は、タイミングリスト３７に記述されたセルに対して、遅延値の定義に応じ、固有パラメータに基づき、インスタンス毎のばらつき量（標準偏差）および中心値を算出する。標準偏差は、スルーレート、負荷容量に応じてステップ２１において作成したテーブルから抽出する。そして、タイミング解析装置１１は、テーブルから抽出した値をテーブル間の電圧条件、温度条件に基づき補間して、所望の電圧、温度における値を得る。更に、システム補正係数を考慮（システム補正係数を乗算）してもよい。
【００３９】
次に、ステップ５３において、タイミング解析装置１１は、タイミングリスト３７に記述されたセルについて分布形状を算出し、確率に応じた遅延値として記憶装置１４に格納する。そして、タイミング解析装置１１は、全てのセルについて分布形状の算出を終了すると、遅延分布計算処理を終了する。
【００４０】
図５は、タイミングが厳しいネットの一例を示す。このネットは、クロック信号ｃｋを第１インスタンスとしての第１フリップフロップ回路（以下、ＦＦ回路）６１に伝達する複数のバッファ回路６２〜６５からなるパスと、第２インスタンスとしての第２ＦＦ回路６６に伝達するバッファ回路６２，６７〜６９からなるパスとを含む。第１ＦＦ回路６１の出力信号は、組み合わせ回路７０を介して第２ＦＦ回路６６に入力される。この第２ＦＦ回路６６におけるデータ信号ｄａとクロック信号ｃｌｋのタイミングが違反である、又はタイミングの余裕度が少ない。
【００４１】
このネットにおいて、タイミングリスト３７に含まれる遅延情報には、データ側のパスを構成するバッファ回路６３〜６５、第１ＦＦ回路６１、組み合わせ回路７０の最遅遅延６３ａ〜６５ａ，６１ａ，７０ａと、クロック側のパスを構成するバッファ回路６７〜６９の最速遅延６７ａ〜６９ａを含む。これらの値は、ライブラリの値に基づく解析結果とＯＣＶ係数による係数掛けにより算出されている。ライブラリの値に基づく解析結果が特性の中心値とした場合、各遅延値をＯＣＶ係数で割った値が回路条件に応じた中心値となり、この回路条件に応じた遅延値の標準偏差を算出することで、遅延の分布を得ることができる。標準偏差は予め特性抽出されたライブラリに格納されているため、その値を検索（look up）手法により得る。
【００４２】
チップにおける電圧ばらつき、温度ばらつきは、それらの条件に応じて、標準偏差を補正する。補正の方法として、補間あるいは係数を掛ける方法がある。補間する場合には、電圧や温度条件の異なるライブラリを準備し、各条件間のテーブルの値を用い、条件に応じて補間した値を所定の条件に於ける標準偏差とする。また、ライブラリに標準偏差のテーブルとスケーリング係数が含まれる場合、標準偏差のテーブルから抽出したデータに対してスケーリング係数を乗算した結果の値を所定の条件に於ける標準偏差とする。
【００４３】
また、レイアウト上の粗密、隣接距離依存やセルとセルの相対距離に対する特性依存係数が抽出されている場合には、その係数を考慮する。
図６は、上記のステップ５１〜５３による処理によって生成されるデータ（タイミングリスト）、つまり各インスタンス（バッファ回路６３〜６５，６７〜６９、第１ＦＦ回路６１、組み合わせ回路７０）における遅延確率分布６１ｂ，６３ｂ〜６５ｂ，６７ｂ〜６９ｂ，７０ｂの情報を示す。尚、図において、「□」は確率分布の中心値、「△」は−３σ、「○」は＋３σの確率での遅延時間を示す。
【００４４】
図６において、ワースト条件におけるセットアップタイムを解析する。この場合、インスタンスとしての第２ＦＦ回路６６の端子Ｐ１，Ｐ２における遅延のばらつきを考える。図６において、端子Ｐ１にはデータ信号ｄａが入力され、端子Ｐ２にはクロック信号ｃｌｋが入力される。セットアップタイムを解析する場合、図８に示すように、データ信号ｄａについてはワースト条件における分布の中心値とワースト値、クロック信号ｃｌｋについてはワースト条件における分布の中心値とベスト値が必要になる。
【００４５】
端子Ｐ１における遅延の中心値をtyp_P1，最大値をmax_P1，最小値をmin_P1とする。そして、遅延値Ｄの定義を例えば、
Ｄ＝typ×Kocv
とする。この定義において、typはインスタンスの入力端子における遅延分布の中心値、Kocvは遅延計算におけるばらつき係数である。
【００４６】
上記の式は、
Typ＝Ｄ／Kocv
と表すことができる。つまり、遅延の中心値typは、遅延値Ｄをばらつき係数Kocvで割ることにより求めることができる。この遅延の中心値typは、インスタンスの入力端子における遅延の中心値であるため、図６の端子Ｐ１における中心値typ_P1は中心値typ（typ_P1=typ）となる。
【００４７】
図３（ｃ）に示すように、正規分布の中心値をμ、最大値及び最小値を＋３σ，−３σとした場合、中心値に対する最大値、最小値のばらつき量sigma（絶対値）は、
sigma＝＋３σ／μ
となる。
【００４８】
従って、インスタンスにおける遅延のばらつき量、即ちＦＦ回路６６における端子Ｐ１における中心値typ_P1に対する最大値max_P1と最小値min_P1の差の絶対値ΔＤは、
ΔＤ＝typ_P1×sigma
となる。
【００４９】
従って、入力端子Ｐ１における遅延の最大値max_P1は、
max_P1＝typ_P1＋ΔＤ＝typ_P1＋typ_P1×sigma
となり、遅延の最小値min_P1は、
min_P1＝typ_P1−ΔＤ＝typ_P1−typ_P1×sigma
となる。
【００５０】
標準偏差３σは、予め特性抽出されライブラリに格納されている。従って、中心値である解析結果と、ＯＣＶ係数であるばらつき係数Kocvとから、インスタンスにおける遅延ばらつきの中心値、最大値及び最小値を算出することができる。このため、パスを構成する複数のインスタンス（セル）における遅延値を累積する必要がなく、また、累積値を用いないため、タイミング解析の悲観性を緩和することができる。
【００５１】
以上記述したように、本実施形態によれば、以下の効果を奏する。
（１）タイミング解析装置１１は、静的タイミング解析処理（ＳＴＡ）（ステップ２３）において、従来例と同様に、静的タイミング解析処理を実行し、タイミングリスト生成処理（ステップ２４）において、ステップ２３における解析結果から、タイミングが厳しいネットを抽出してタイミングリスト３７を生成する。タイミング解析装置１１は、遅延分布計算処理（ステップ２５ａ）において、インスタンス毎の分布解析を行う。詳述すると、タイミング解析装置１１は、タイミングリスト３７を読み込み、上記のタイミングが厳しいネット上のインスタンスにおける遅延分布を計算する。そして、タイミング解析装置１１は、統計的タイミング解析処理（ステップ２５ｂ）において、ばらつきを固有化した遅延分布に基づき、統計的タイミング解析を行うようにした。即ち、タイミング解析装置１１は、解析が必要なネットに対して統計的タイミング解析を実施する。この結果、クリティカルパスの解析やクリティカルパスに対するタイミング収束を向上させることができる。
【００５２】
（２）タイミング解析装置１１は、個々のセルの分布パラメータを参照し、回路上の固有回路パラメータである入力スルーレート（slew rate）と出力駆動容量に応じた遅延分布を求める。そして、特性に起因する分布パラメータを解析する場合、タイミング解析装置１１は、チップのレイアウトに起因する変動係数を考慮するため、各セルの配置位置や周囲の配線密度を考慮して個々のインスタンスに対してばらつきの固有化を行うようにした。この結果、統計的遅延解析の結果の精度を向上することができる。
【００５３】
（３）タイミング解析装置１１は、確率値に応じたインスタンスの遅延値の定義が予め設定され、ステップ２５ａにおいて、定義に従って各インスタンスにおける遅延ばらつき分布の中心値と最大値と最小値を算出し、これら中心値と最大値と最小値とを用いて統計的タイミング解析を実施するようにした。従って、統計的タイミング解析に用いるインスタンスの遅延の中心値と最大値と最小値を短時間で容易に求めることができる。
【００５４】
（第二の実施の形態）
以下、本発明を具体化した第二の実施の形態を図面に従って説明する。
図１２は、本実施の形態におけるタイミング解析処理を示すフローチャートである。これらの処理は、第一の実施の形態と同様に、図２に示すタイミング解析装置１１にて実行される。
【００５５】
尚、本実施の形態におけるタイミング解析処理のステップ１０１〜１０４は、第一実施形態におけるタイミング解析処理（図１参照）のステップ２１〜２４と同様な処理である。従って、ここでは、それらの処理については詳細な説明を省略する。
【００５６】
再解析処理（ステップ１０５）において、タイミング解析装置１１は、ステップ１０４の処理によって作成したタイミングリスト３７の情報を読み込む。
タイミングリスト３７は、タイミングが厳しいパスの情報を含む。パスは信号の伝達経路であり、タイミングリスト３７は遅延を解析するパス遅延を定義する２点（始点及び終点）と、経路情報とを含む。タイミング解析装置１１は、タイミングリスト３７から入力される始点及び終点の情報に基づいて、その間の全てのパスについて統計的遅延解析を行う。
【００５７】
上記のタイミングリスト３７には、パスの始点及び終点間の１つの経路について示されている。しかし、実際の回路は、始点及び終点間の経路中において、信号が分岐され、又は複数の信号が合流される場合がある。つまり、始点と終点間に複数のパスが存在する場合がある。この場合、上記のタイミングリスト３７にはタイミングが厳しいパスが示されているが、その他のパスのタイミングも制約を満足しないパスが存在する場合がある。また、統計的な遅延を考慮した場合、タイミングリスト３７に示されたパス以外のパスのタイミングが最も厳しいということもある。
【００５８】
統計的ＳＴＡにおける遅延変動の要因を以下に示す。
・ランダム(global,local)な特性変動分
・配置条件（systematic）による特性変動（Ｔｒ，配線ばらつきの影響）
・回路定数による遅延ばらつきの変動
・回路段数によるばらつき量の変動
・パスの合流時のばらつき変動
・収斂パスでのばらつき相関性
これらの特性変動要因により、対象回路の全てのパスを統計的に再解析する必要がある。しかし、第一の実施の形態では、タイミングリスト３７に示されたパスについてのみ統計的ＳＴＡを実行しているため、検証漏れが発生する虞がある。また、ＳＴＡによる解析方法は直列パスとして遅延時間を扱うことから、合流や収斂パスにおいては悲観的な解析結果になることがあった。
【００５９】
検証漏れのパスが存在する場合、ステップ１０６におけるＥＣＯ処理の結果、検証もれのパスがタイミング的に問題となる。つまり、ＥＣＯ処理後に再びタイミング解析処理を実行しなければならない。この工程戻りは、始点−終点間のパスの数だけ発生する可能性があるため、タイミングの集束までに時間がかかる、つまりタイミング収束性が悪くなる。
【００６０】
このため、本実施形態では、タイミング解析装置１１が、ステップ１０５において、始点−終点間の全てのパスについて統計的遅延解析を行うことにより、検証漏れを防ぎ、解析結果の信頼性を向上することができる。
【００６１】
以下、ステップ１０５における再解析処理を詳述する。
先ず、タイミング解析装置１１は、タイミングリスト３７を読み込み、解析対象のパス（始点及び終点）の情報を記憶する。次に、タイミング解析装置１１は、始点から終点までの通過経路を抽出する。タイミング解析装置１１は、この抽出を、各種のファイル１１１に記憶された情報に基づいて行う。回路情報ファイル１１１には、回路のネットリスト（回路の接続関係を表した設計データ）が格納されている。タイミング解析装置１１は、始点から終点までの間の経路を構成する素子について、回路の接続関係に基づいて、分岐・合流するパスを抽出する。
【００６２】
次に、タイミング解析装置１１は、ステップ１０５ａの遅延分布計算処理を行う。このステップ１０５ａにおいて、タイミング解析装置１１は、個々のセルの分布パラメータを参照し、回路上の固有回路パラメータである入力スルーレート（slew rate）と出力駆動容量に応じた遅延分布を求める。尚、特性に起因する分布パラメータを解析する場合、タイミング解析装置１１は、チップのレイアウトに起因する変動や相関を考慮するため、ファイル１１２に格納された配線情報，ファイル１１３に格納された配置情報に基づき処理を行う。配線情報ファイル１１２には、配線の寄生抵抗や寄生容量の情報が格納されている。尚、このファイル１１２に、寄生抵抗、寄生容量のバラツキの情報を含んでいても良い。配置情報ファイル１１３には、セルの配置座標を含む配置情報が格納されている。タイミング解析装置１１は、各ファイル１１２，１１３から読み出した情報に基づき、セルの配置位置や周囲の配線密度を考慮して個々のインスタンスに対してばらつきの固有化を行う。
【００６３】
次に、タイミング解析装置１１は、ステップ１０５ｂにおける統計的タイミング解析処理（ＳＳＴＡ）を行う。このステップ１０５ｂにおいて、タイミング解析装置１１は、ステップ１０５ａにおいてばらつきを固有化した遅延分布に基づき、抽出した全てのパスにおける統計的タイミング解析を行う。統計的タイミング解析として、モンテカルロ解析や近似方式を用いる。この時、タイミング解析装置１１は、分布パラメータテーブル、設計制約ファイル３６、遅延情報ファイル１１４に格納された情報を読み出す。分布パラメータテーブルは、ＳＳＴＡの解析に必要な特性パラメータ、遅延ばらつきの特性分布や統計的解析に必要な感度係数を含む。設計制約ファイル３６は、クロックの情報、マルチサイクル指定、false path指定情報、等を含む。遅延情報ファイル１１４は、遅延情報、およびタイミングリストだけでは得られないslewや実効容量が含まれる。タイミング解析装置１１は、これらの情報に基づいてＳＳＴＡを行う。
【００６４】
次に、タイミング解析装置１１は、解析結果に基づき、抽出した全てのパスに対してタイミング余裕度の少ない条件、いわゆる最悪条件（Ｗｏｒｓｔ）から順番に順位を設定する。例えば、図１３に示すように、始点（端子１２１）と終点（素子１２２）との間のデータパスにおいて、回路１２３は３つのパスを形成している。タイミング解析装置１１は、この３つのパスについてタイミング解析を行い、順位を設定する。例えば、図１３に示すように、パスＡ（Ｐａｔｈ  Ａ）に第１位（ｗｏｒｓｔ＝１）を設定し、パスＢ（Ｐａｔｈ  Ｂ）に第２位（ｗｏｒｓｔ＝２）を設定し、パスＣ（Ｐａｔｈ  Ｃ）に第３位（ｗｏｒｓｔ＝３）を設定する。
【００６５】
そして、タイミング解析装置１１は、ファイル３８ａを生成する。この解析結果には、設定された順位に従って、パスを特定するための情報と、そのパスの解析結果（パスのＳｌａｃｋ値（タイミング余裕度の値）の分布、感度解析結果）を含む。尚、ファイル３８ａに出力するパスの数を設定するようにしてもよい。例えば、上記のＳＴＡ（ステップ１０３）における解析結果のパスに対して１つのパスが抽出された場合、設定に応じて、上位３つのパスの情報を出力するようにしてもよい。
【００６６】
次に、回路修正処理（ステップ１０６）において、タイミング解析装置１１は、ステップ１０５にて生成した解析結果に基づいて、修正が必要なネットに対して、配線経路の変更（セルの配置位置、パス上へのバッファの追加）等の修正処理を実行する。
【００６７】
また、解析結果には、経路が分岐・合流した回路におけるパスの解析結果が含まれている場合もある。その場合には、信号間のばらつきの相関性を考慮し、統計的な遅延解析を実施する。それにより、ＳＴＡで実施していた悲観的な解析方法を改善することが可能になる。従って、タイミング解析装置１１は、修正が必要なパスに対して回路修正処理を行うため、タイミングの収束性が向上する。
【００６８】
次に、分岐・合流する回路例を説明する。
（１）パスが分岐して合流する場合。
図１４に示すように、素子１３１から信号が素子１３２と素子１３３に出力され、素子１３２から素子１３４に信号が出力されるとともに、素子１３３から素子１３４に別の信号が出力される。この回路は、図１５（ａ）に示すように、合流点（素子１３４の出力信号）における遅延の変動が、ＳＴＡ（ステップ１０３）において、直列回路として解析される。本実施形態の場合、図１５（ｂ）に示すように、入力信号ｉ１に対する出力信号ｏの遅延分布と、入力信号ｉ２に対する出力信号ｏの遅延分布と、の重なりによる統計的な遅延分布として解析する。
【００６９】
（２）パスが分岐して合流する場合。
図１６に示すように、図１４と同様に接続された回路において、ＳＴＡ（ステップ１０３）の解析結果を利用した場合、クロックパス（CK path ）、データパス（data path ）の両方に関連するクロックネットが、同じ経路にも関わらず、違う独立した信号経路として解析されてしまう。
【００７０】
この場合、ＳＳＴＡ（ステップ１０５）では、同じ信号経路であるため、ばらつきを考慮しない（２つの信号間の差をキャンセルする）、つまり、２つの信号の同一部分を認識した上で解析を行う。尚、素子１３４がセレクタ回路の場合、イベント間の特性ばらつきを考慮したマージン分を考慮してもよい。
【００７１】
（３）同一経路における立ち上がり遅延と立ち下がり遅延とを検証する場合。
図１７に示すように、素子１４１〜１４４が直列的に接続され、信号ＩＮが素子１４１に入力され、素子１４４から信号Ｘが出力される。このパスにおいて、ＳＴＡの解析結果を利用した場合、同じ経路にも関わらず、違う独立した信号経路として解析されてしまう。しかし、同一信号における立ち上がり遅延のばらつきと立ち下がり遅延のばらつきの相関性を考慮して解析する必要がある。
【００７２】
ＳＳＴＡでは、立ち上がり遅延と立ち下がり遅延のバラツキの相関、及び遷移特性における立ち上がりと立ち下がりの相関特性をそれぞれのセルのパス（入力端子と出力端子との間）毎にパラメータ化したものが例えばライブラリファイル３４に格納されている。タイミング解析装置１１は、そのパラメータを使用して統計的な遅延解析を行う。
【００７３】
上記したように、本実施の形態によれば、以下の効果を奏する。
（１）タイミング解析装置１１は、ＳＴＡにおいてタイミングが厳しいパスとして特定した回路において、その回路において分岐・合流する全てのパスを抽出し、抽出した全てのパスについて、統計的ＳＴＡを行うようにした。この結果、上記の回路の統計的解析を行うために、タイミングリストを入力するだけで対象回路の網羅的な解析が可能となり、回路検証の漏れがなくなる。このため、タイミング解析における信頼性を向上することができる。
【００７４】
（２）統計的ＳＴＡにおけるクリティカルパスの解析には、タイミングリスト、つまり最悪パス（worst path）を入力するだけでよい。従って、半導体装置の全てのパスの情報を入力する必要が無いため、容易で実用的な時間で解析を行うことができる。また、部手のパスのように大量の情報を入力する必要がないため、タイミング解析装置１１におけるファイル入力の効率化を図ることができる。
【００７５】
尚、上記各実施の形態は、以下の態様で実施してもよい。
・上記実施の形態において、図１に示す各ステップ２１〜２６の処理を実行するプログラムを、１つのツールとして提供するようにしてもよい。また、各ステップ２１〜２６をそれぞれツールとして提供するようにしてもよい。
【００７６】
・上記実施の形態における遅延値の定義を適宜変更してもよい。
・上記実施の形態において、遅延の最大値および最小値として遅延分布の３σを用いたが、確率値に応じた遅延を定義すれば、２σや１σを用いてもよい。
【００７７】
・タイミングの厳しいネットは、タイミング解析が必要な特定ネット解析としてもよい。タイミングが厳しいネットだけでなく、ばらつき要因による特性変動が大きく、統計的に解析することにより精度が高いと思われる特定ネットについて、本手法を用いることもできる。
【図面の簡単な説明】
【００７８】
【図１】第一の実施の形態のタイミング解析処理のフローチャートである。
【図２】タイミング解析装置の概略構成図である。
【図３】（ａ）〜（ｄ）は分布パラメータの説明図である。
【図４】遅延分布計算処理のフローチャートである。
【図５】遅延分布計算処理の説明図である。
【図６】遅延分布計算処理の説明図である。
【図７】ばらつき条件の例を示す説明図である。
【図８】オンチップのばらつきの範囲を示す説明図である。
【図９】オンチップのばらつき量の説明図である。
【図１０】タイミングリストの説明図である。
【図１１】タイミング解析装置の出力リストの説明図である。
【図１２】第二の実施の形態のタイミング解析処理のフローチャートである。
【図１３】分岐・合流するパスの説明図。
【図１４】分岐・合流するパスの説明図。
【図１５】（ａ）は合流する素子の説明図、（ｂ）入力信号に対する出力信号の遅延分布の説明図。
【図１６】分岐・合流するパスの説明図。
【図１７】分岐・合流するパスの説明図。
【図１８】従来のタイミング解析処理のフローチャートである。
【符号の説明】
【００７９】
２３  ステップ：静的タイミング解析処理
２４  ステップ：タイミングリスト生成処理
２５  ステップ：タイミング解析処理
２５ａ  ステップ：遅延分布計算処理
２５ｂ  ステップ：統計的タイミング解析処理
３７  タイミングリスト
Ｄ  遅延値
typ_P1  中心値
max_P1  最大値
min_P1  最小値
【図１】
2007183932.tif 000003
【図２】
2007183932.tif 000004
【図３】
2007183932.tif 000005
【図４】
2007183932.tif 000006
【図５】
2007183932.tif 000007
【図６】
2007183932.tif 000008
【図７】
2007183932.tif 000009
【図８】
2007183932.tif 000010
【図９】
2007183932.tif 000011
【図１０】
2007183932.tif 000012
【図１１】
2007183932.tif 000013
【図１２】
2007183932.tif 000014
【図１３】
2007183932.tif 000015
【図１４】
2007183932.tif 000016
【図１５】
2007183932.tif 000017
【図１６】
2007183932.tif 000018
【図１７】
2007183932.tif 000019
【図１８】
2007183932.tif 000020