(57)【要約】【課題】統計的な遅延変動を考慮した、デジタル回路の統計的または確率的な静的タイミング解析のためのシステムおよび方法を提供すること。【解決手段】各ゲートまたは配線の遅延は、基準部分、各変動要因によってパラメータ化される相関ランダム部分、および独立ランダム部分から構成されると仮定する。到達時間および要求到達時間は、相関を考慮しながら、パラメータ化された確率変数として伝播させる。早モードのタイミングと遅モードのタイミングが含まれ、組合せ回路と順序回路が扱われ、ダイナミック論理回路ファミリに加えて、スタティックＣＭＯＳ論理回路にも対応する。タイミング解析の複雑度は、グラフのサイズおよび変動要因の数に関して線形となる。結果は、到達時間やスラックなどすべてのタイミング量がパラメータ化された形式の確率分布として報告される、タイミング・レポートとして提供される。【選択図】図１
2005092885.tif 000002
【特許請求の範囲】
【請求項１】
電気回路においてタイミングを決定するためのシステムであって、
ａ）タイミングを決定する前記電気回路のトポロジを表す回路ネットリストを受け取るためのネットリスト入力と、
ｂ）境界タイミング条件を表す１つまたは複数のアサーションのセットを受け取るためのアサーション入力と、
ｃ）１つまたは複数の変動要因についての変動性情報を含む１つまたは複数の遅延変動要因からなるリストを受け取るための遅延変動性入力と、
ｄ）パラメータ化された遅延モデルを受け取るためのモデル入力であって、前記パラメータ化された遅延モデルが前記電気回路の１つまたは複数の構成要素の遅延についての１つまたは複数のモデルを含み、各モデルが１つまたは複数の前記遅延変動要因の関数であるモデル入力と、
ｅ）前記電気回路の１つまたは複数のノードの統計的到達時間を決定し、出力する処理であって、前記統計的到達時間が１つまたは複数の前記変動要因の確率分布の加重和の形式をとる処理とを含むシステム。
【請求項２】
前記処理が、前記電気回路の各ノードを１度だけ訪れる（アクセスする）ことによって前記統計的到達時間を決定する、請求項１に記載のシステム。
【請求項３】
前記システムがさらに、前記電気回路の１つまたは複数のノードの統計的要求到達時間を決定し、出力し、前記統計的要求到達時間が、１つまたは複数の前記変動要因の確率分布の加重和の形式をとる、請求項１に記載のシステム。
【請求項４】
前記処理が、前記電気回路の１つまたは複数のノードの統計的スラックを決定し、出力し、前記統計的スラックが、１つまたは複数の前記変動要因の確率分布の加重和の形式をとる、請求項１に記載のシステム。
【請求項５】
前記処理が、前記電気回路の１つまたは複数のノードの統計的スリューを決定し、出力し、前記統計的スリューが、１つまたは複数の前記変動要因の確率分布の加重和の形式をとる、請求項１に記載のシステム。
【請求項６】
前記処理が、遅モードの統計的タイミング解析を実行し、遅モードの到達時間を出力する、請求項１に記載のシステム。
【請求項７】
前記処理が、早モードの統計的タイミング解析を実行し、１つまたは複数の早モードの到達時間を出力する、請求項１に記載のシステム。
【請求項８】
１つまたは複数の別個の立ち上がりおよび立ち下がりの統計的遅延が、前記電気回路の各構成要素に供給され、前記処理が、前記電気回路の１つまたは複数のノードについて、１つまたは複数の別個の立ち上がりおよび立ち下がりの統計的到達時間を決定し、出力する、請求項１に記載のシステム。
【請求項９】
前記処理が、前記電気回路の１つまたは複数のノードについて、１つまたは複数の別個の立ち上がりおよび立ち下がりの統計的要求到達時間、１つまたは複数の別個の立ち上がりおよび立ち下がりの統計的スラック、および１つまたは複数の別個の立ち上がりおよび立ち下がりの統計的スリューを決定し、出力する、請求項８に記載のシステム。
【請求項１０】
前記電気回路が、組合せ回路、順序回路、スタティック論理回路、およびダイナミック論理回路のうちの１つまたは複数の回路である、請求項１に記載のシステム。
【請求項１１】
前記電気回路が、エッジ・トリガ・ラッチ、マスタ・スレーブ・ラッチ、レベル・センシティブ・ラッチ、および透過ラッチのうちの１つまたは複数のラッチを含む順序回路である、請求項１に記載のシステム。
【請求項１２】
前記回路が、複数のクロック位相を含む、請求項１に記載のシステム。
【請求項１３】
前記電気回路の各構成要素についての前記パラメータ化された遅延モデルが、確定的部分、相関部分、および独立なランダム部分のうちの１つまたは複数の部分を含む、請求項１に記載のシステム。
【請求項１４】
前記変動要因が相関している、請求項１３に記載のシステム。
【請求項１５】
前記変動要因が独立である、請求項１３に記載のシステム。
【請求項１６】
前記パラメータ化された遅延モデルが、前記システムの１つまたは複数のメモリ内のテーブルに事前格納される、請求項１に記載のシステム。
【請求項１７】
前記パラメータ化された遅延モデルが、前記システムの１つまたは複数のメモリ内に遅延式の係数として事前格納される、請求項１に記載のシステム。
【請求項１８】
前記パラメータ化された遅延モデルが、回路シミュレータによってオンザフライに決定される、請求項１に記載のシステム。
【請求項１９】
各アサーションが、確定的か統計的かのいずれかである、請求項１に記載のシステム。
【請求項２０】
クロック・エッジ情報が、確定的か統計的かのいずれかである、請求項１に記載のシステム。
【請求項２１】
前記電気回路が順序回路であり、各タイミング・テストのガード・タイムが、確定的か統計的かのいずれかである、請求項１に記載のシステム。
【請求項２２】
電気回路のタイミングを解析するための方法であって、
ａ）ネットリスト、１つまたは複数のアサーション、１つまたは複数のパラメータ化された遅延モデル、および１つまたは複数の変動要因を入力するステップと、
ｂ）１つまたは複数のノードおよび１つまたは複数のエッジを有し、前記電気回路を表現するタイミング・グラフを作成するステップと、
ｃ）統計的到達時間の前方伝播について前記グラフを平坦化するステップと、
ｄ）前記タイミング・グラフの各レベルで、前記ノードの各々での１つまたは複数の統計的到達時間を伝播させるステップであって、前記統計的到達時間の各々が、１つまたは複数の前記変動要因の確率分布の加重和となるステップとを含む方法。
【請求項２３】
前記統計的到達時間が、前記電気回路の各ノードを１度だけ訪れることによって決定される、請求項２２に記載の方法。
【請求項２４】
前記電気回路の１つまたは複数のノードの統計的スリューが決定され、出力され、前記統計的スリューが、１つまたは複数の前記変動要因の確率分布の加重和の形式をとる、請求項２２に記載の方法。
【請求項２５】
遅モードの統計的タイミング解析が実行される、請求項２２に記載の方法。
【請求項２６】
早モードの統計的タイミング解析が実行される、請求項２２に記載の方法。
【請求項２７】
別個の立ち上がりおよび立ち下がりの統計的遅延が、前記電気回路の各構成要素に供給され、前記電気回路の１つまたは複数のノードについて、別個の立ち上がりおよび立ち下がりの統計的到達時間が決定され、出力される、請求項２２に記載の方法。
【請求項２８】
前記電気回路の１つまたは複数のノードで、１つまたは複数の別個の立ち上がりおよび立ち下がりの統計的要求到達時間、別個の立ち上がりおよび立ち下がりの統計的スラック、および別個の立ち上がりおよび立ち下がりの統計的スリューが決定され、出力される、請求項２７に記載の方法。
【請求項２９】
前記電気回路が、組合せ回路、順序回路、スタティック論理回路、およびダイナミック論理回路のうちの１つまたは複数の回路である、請求項２２に記載の方法。
【請求項３０】
前記電気回路が、エッジ・トリガ・ラッチ、マスタ・スレーブ・ラッチ、レベル・センシティブ・ラッチ、および透過ラッチのうちの１つまたは複数のラッチを含む順序回路である、請求項２２に記載の方法。
【請求項３１】
各タイミング・テストのガード・タイムが、確定的か統計的かのいずれかである、請求項３０に記載の方法。
【請求項３２】
前記回路が、複数のクロック位相を含む、請求項２２に記載の方法。
【請求項３３】
前記電気回路の各構成要素についての前記パラメータ化された遅延モデルが、確定的部分、相関部分、および独立なランダム部分のうちの１つまたは複数の部分を含む、請求項２２に記載の方法。
【請求項３４】
前記変動要因が相関している、請求項３３に記載の方法。
【請求項３５】
前記変動要因が独立である、請求項３３に記載の方法。
【請求項３６】
前記パラメータ化された遅延モデルが、テーブルに事前格納される、請求項２２に記載の方法。
【請求項３７】
前記パラメータ化された遅延モデルが、遅延式の係数として事前格納される、請求項２２に記載の方法。
【請求項３８】
前記パラメータ化された遅延モデルが、回路シミュレータによってオンザフライに決定される、請求項２２に記載の方法。
【請求項３９】
各アサーションが、確定的か統計的かのいずれかである、請求項２２に記載の方法。
【請求項４０】
クロック・エッジ情報が、確定的か統計的かのいずれかである、請求項２２に記載の方法。
【請求項４１】
ａ）統計的要求到達時間の後方伝播について前記グラフを平坦化するステップと、
ｂ）前記タイミング・グラフの各レベルで、前記ノードの各々での１つまたは複数の統計的要求到達時間を伝播させるステップであって、前記統計的要求到達時間の各々が、１つまたは複数の前記変動要因の確率分布の加重和となるステップとをさらに含む、請求項２２に記載の方法。
【請求項４２】
前記統計的要求到達時間が、前記電気回路の各ノードを１度だけ訪れることによって決定される、請求項４１に記載の方法。
【請求項４３】
前記電気回路の１つまたは複数のノードの統計的スラックが決定され、出力され、前記統計的スラックが、１つまたは複数の前記変動要因の確率分布の加重和の形式をとる、請求項４１に記載の方法。
【請求項４４】
電気回路のタイミングを解析するためのシステムであって、
ａ）ネットリスト、アサーション、パラメータ化された遅延モデル、および変動要因のリストを読み取る手段と、
ｂ）１つまたは複数のノードおよび１つまたは複数のエッジを有し、前記電気回路を表現するタイミング・グラフを作成する手段と、
ｃ）統計的到達時間の前方伝播について前記グラフを平坦化する手段と、
ｄ）前記タイミング・グラフの各レベルで、前記ノードの各々での１つまたは複数の統計的到達時間を伝播させる手段であって、前記統計的到達時間の各々が、１つまたは複数の前記変動要因の確率分布の加重和となる手段とを含むシステム。
【請求項４５】
ａ）統計的要求到達時間の後方伝播について前記グラフを平坦化する手段と、
ｂ）前記タイミング・グラフの各レベルで、前記ノードの各々での１つまたは複数の統計的要求到達時間を伝播させる手段であって、前記統計的要求到達時間の各々が、１つまたは複数の前記変動要因の確率分布の加重和となる手段とをさらに含む、請求項４４に記載のシステム。
【請求項４６】
電気回路のタイミングを解析するための方法を格納するコンピュータ・メモリであって、前記方法が、
ａ）ネットリスト、１つまたは複数のアサーション、１つまたは複数のパラメータ化された遅延モデル、および１つまたは複数の変動要因を入力するステップと、
ｂ）１つまたは複数のノードおよび１つまたは複数のエッジを有し、前記電気回路を表現するタイミング・グラフを作成するステップと、
ｃ）統計的到達時間の前方伝播について前記グラフを平坦化するステップと、
ｄ）前記タイミング・グラフの各レベルで、前記ノードの各々での１つまたは複数の統計的到達時間を伝播させるステップであって、前記統計的到達時間の各々が、１つまたは複数の前記変動要因の確率分布の加重和となるステップとを含むコンピュータ・メモリ。
【請求項４７】
ａ）統計的要求到達時間の後方伝播について前記グラフを平坦化するステップと、
ｂ）前記タイミング・グラフの各レベルで、前記ノードの各々での１つまたは複数の統計的要求到達時間を伝播させるステップであって、前記統計的要求到達時間の各々が、１つまたは複数の前記変動要因の確率分布の加重和となるステップとをさらに含む、請求項４６に記載のコンピュータ・メモリ。
【請求項４８】
電気回路のタイミングを解析する処理によって作成されるコンピュータ出力結果であって、前記処理が、
ａ）ネットリスト、１つまたは複数のアサーション、１つまたは複数のパラメータ化された遅延モデル、および１つまたは複数の変動要因を入力するステップと、
ｂ）１つまたは複数のノードおよび１つまたは複数のエッジを有し、前記電気回路を表現するタイミング・グラフを作成するステップと、
ｃ）統計的到達時間の前方伝播について前記グラフを平坦化するステップと、
ｄ）前記タイミング・グラフの各レベルで、前記ノードの各々での１つまたは複数の統計的到達時間を伝播させるステップであって、前記統計的到達時間の各々が、１つまたは複数の前記変動要因の確率分布の加重和となるステップとを含むコンピュータ出力結果。
【請求項４９】
ａ）統計的要求到達時間の後方伝播について前記グラフを平坦化するステップと、
ｂ）前記タイミング・グラフの各レベルで、前記ノードの各々での１つまたは複数の統計的要求到達時間を伝播させるステップであって、前記統計的要求到達時間の各々が、１つまたは複数の前記変動要因の確率分布の加重和となるステップとをさらに含む、請求項４８に記載のコンピュータ出力結果。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル集積回路の設計自動化に関する。より詳細には、本発明は、遅延変動（delayvariation）の存在下におけるデジタル回路の静的（static）タイミング解析に関する。さらに詳細には、本発明は、様々な回路素子の遅延間の相関を考慮し、維持する、確率的または統計的方式におけるデジタル回路の到達時間（arrivaltime）および要求到達時間（required arrival time）の伝播に関する。
【背景技術】
【０００２】
集積回路技術の世代が改まるごとに、変動性が比例的に増大している。こうした変動性の要因として、製造ばらつき（manufacturing variation）、デバイス疲労、環境変化（environmental variation）、およびフェーズ・ロック・ループ（ＰＬＬ）変動（phase-lockedloop (PLL) variation）などが挙げられる。製造ばらつきの場合、能動トランジスタ層を形成する前工程（ＦＥＯＬ：front-end-of-line）において、トランジスタの電気的特性に関する変動が生じる。ゲートの長さ、半導体接合（junction）の深さ、酸化物の厚さなどの物理量は、製造工程で完璧に制御することができず、変動を生じ、それがトランジスタ挙動の変動の原因となる。現在の技術では物理的寸法が小さくなるにつれて、変動性が比例的に増大する。さらに、金属相互接続（interconnect）層を形成する後工程（ＢＥＯＬ：back-end-of-line）においても変動性が生じる。例えば、各金属層の厚さ、幅、および層間絶縁膜の厚さは、変動性の要因となる。これらは配線（wire）がその遅延を変化させる原因となり、事実、これらの変動性要因は、配線を駆動するゲートおよび配線によって駆動されるゲートの遅延を変化させることができる。
【０００３】
第２の主要なタイプの変動は、ホット電子（hot electron）や負バイアス温度不安定性（ＮＢＴＩ：negativebias temperature instability）などのデバイス疲労効果に起因する。フィールド（field）で長期にわたって使用され続けると、上記の物理現象によってトランジスタ特性が変化し、それが回路構成要素の遅延の変化の原因となる。
【０００４】
第３の主要なタイプの変動は、温度や電源電圧などの環境の影響に起因する。
【０００５】
第４の主要なタイプの変動は、ＰＬＬのジッタ（jitter）およびデューティ・サイクル変動を含み得るＰＬＬ変動である。
【０００６】
上記の要因に加えて、モデル−ハードウェア相関誤り（model-to-hardwaremiscorrelation）、シリコン・オン・インシュレータ（ＳＯＩ）履歴効果（silicon-on-insulator (SOI) historyeffect）、およびカップリング・ノイズ（coupling noise）など、他の変動要因が存在することに留意されたい。デジタル集積回路の統計的タイミング解析中に、こうした他の要因も考慮することができる。
【０００７】
集積回路内のゲートおよび配線によって生じる遅延の変動は、多くの様々な方法で分類することができる。変動は製造中に、バッチ間、ウェハ間、チップ間、またはチップ内で生じ得る。例えば、フォトリソグラフィ工程でのレンズ収差効果（lens aberration effect）は、レチクル領域全体にわたってトランジスタ実効長の変動の原因となり得る。温度および電源電圧の変動が、チップ全体にわたって存在する。変動は、変動性が発現する時間スケールによっても分類することができる。例えば、疲労効果は数年にわたる変動性の原因となるが、チップにおける温度または電源電圧の勾配は、数秒または数ミリ秒の間に発現し得、カップリング・ノイズ変動は、数ナノ秒または数ピコ秒で生じ得る。どちらの種類に分類されるにしても、こうした変動要因が、集積回路の解析および設計をより困難にすること、またタイミング解析において正確に考慮されなければならないことはきわめて明らかである。
【０００８】
こうした変動性に対処する従来のタイミング方法は、異なる「ケース（case）」または「困難度（corner）」で複数の静的タイミング解析を行って、こうした変動の下での回路性能の幅を決定するというものである。困難度には、例えば、「最良の場合」、「基準」、および「最悪の場合」が含まれる。残念ながら、従来の方法は、独立の重要な変動要因の数が多く、非常に多くのタイミング実行が必要になるため、行き詰まりを見せている。これに対処する１つの方法は、いくつかの変動要因に対して最悪の場合を想定するか、または保護帯（guard-band）を設けることであるが、これは性能予測に悲観論を持ち込むことになる。必要なタイミング実行の回数が爆発的に増加するのを抑える別の方法は、ある困難度での解析を省略することであるが、省略された困難度で回路性能が許容できないものとなるかもしれず、それはテスタで試験した際または実際に使用した際にチップが正常に動作しないことによって明らかとなるので、この方法にはリスクが伴う。このような結果から、従来のタイミング方法は、リスクが伴い、悲観的であるのに加え、急速に負担の大きなものになっている。
【０００９】
従来のタイミング方法が直面する問題に対する解決策は、統計的（statistical）または確率的（probabilistic）タイミング解析である。その種の解析では、遅延、到達時間、およびスラック（slack）などのタイミング量は、１つの数としてではなく、確率分布として取り扱われる。したがって、変動の影響下にある回路性能の完全な確率分布が、１回のタイミング実行によって予測される。不要なリスク、多過ぎるタイミング実行、および悲観論といった問題は、可能性としてはすべて回避される。従来技術におけるこうした統計的タイミング方法の４つの例として、リュー（Liou）他［Ｊ−Ｊ．リュー、Ｋ−Ｔ．チェン（Cheng）、Ｓ．クンドゥ（Kundu）、Ａ．クルスティッチ（Krstic）］、「確率事象伝播による高速統計的タイミング解析（Faststatistical timing analysis by probabilistic event propagation）」、Proc. DesignAutomation Conference（２００１年６月、ネバタ州ラスベガス、６６１〜６６６ページ）、シェファー（L. Scheffer）、「プロセス変動の関数としての明示的な性能計算（Explicitcomputation of performance as a function of process variation）」、Proc. ACM/IEEEworkshop on timing issues in the specification and synthesis of digital systems（２００２年１２月、カリフォルニア州モンタレー、１〜８ページ）、ガッティカー（Gattiker）他［Ａ．ガッティカー、Ａ．ナシフ（Nassif）、Ｒ．ディナカル（Dinakar）、Ｃ．ロング（Long）］、「静的タイミング解析によるタイミング歩留まり評価（Timingyield estimation from static timing analysis）」、Proc. IEEE InternationalSymposium on Quality Electronic Design (ISQED)（２００１年、４３７〜４４２ページ）、ジェス（Jess）他［Ｊ．Ａ．Ｇ．ジェス、Ｋ．カラファラ（Kalafala）、Ｓ．Ｒ．ナイドゥ（Naidu）、Ｒ．Ｈ．Ｊ．Ｍ．オッテン（Otten）、Ｃ．ヴィスウェスワライア（Visweswariah）］、「デジタル集積回路のパラメトリック歩留まり予測のための統計的タイミング（Statisticaltiming for parametric yield prediction of digital integrated circuits）」、Proc.Design Automation Conference（２００３年６月、カリフォルニア州アナハイム、９３２〜９３７ページ）を挙げることができる。
【特許文献１】米国出願第１０／６６６４７０号
【特許文献２】米国出願第１０／６６６０５２号
【特許文献３】米国出願第１０／１８４３２９号
【非特許文献１】Ｊ−Ｊ．リュー（Liou）、Ｋ−Ｔ．チェン（Cheng）、Ｓ．クンドゥ（Kundu）、Ａ．クルスティッチ（Krstic）、「確率事象伝播による高速統計的タイミング解析（Faststatistical timing analysis by probabilistic event propagation）」、Proc. DesignAutomation Conference、２００１年６月、ネバタ州ラスベガス、６６１〜６６６ページ
【非特許文献２】シェファー（L. Scheffer）、「プロセス変動の関数としての明示的な性能計算（Explicitcomputation of performance as a function of process variation）」、Proc. ACM/IEEEworkshop on timing issues in the specification and synthesis of digital systems、２００２年１２月、カリフォルニア州モンタレー、１〜８ページ
【非特許文献３】Ａ．ガッティカー（Gattiker）、Ａ．ナシフ（Nassif）、Ｒ．ディナカル（Dinakar）、Ｃ．ロング（Long）、「静的タイミング解析によるタイミング歩留まり評価（Timingyield estimation from static timing analysis）」、Proc. IEEE InternationalSymposium on Quality Electronic Design (ISQED)、２００１年、４３７〜４４２ページ
【非特許文献４】Ｊ．Ａ．Ｇ．ジェス（Jess）、Ｋ．カラファラ（Kalafala）、Ｓ．Ｒ．ナイドゥ（Naidu）、Ｒ．Ｈ．Ｊ．Ｍ．オッテン（Otten）、Ｃ．ヴィスウェスワライア（Visweswariah）、「デジタル集積回路のパラメトリック歩留まり予測のための統計的タイミング（Statisticaltiming for parametric yield prediction of digital integrated circuits）」、Proc.Design Automation Conference、２００３年６月、カリフォルニア州アナハイム、９３２〜９３７ページ
【発明の開示】
【発明が解決しようとする課題】
【００１０】
従来技術の方法が実用に適さないのには、いくつかの理由が存在する。従来技術の方法の主な短所は、相関（correlation）を正確に考慮できないことである。集積回路上のゲートおよび配線の遅延は、強い相関を示す。相関の重要性を例示するため、簡単な例について考察する。５万個のラッチを有するチップでは、５万回のセットアップ・タイミング・テストと５万回のホールド・タイミング・テストが行われる。これらのテストの各々が成功する確率が９９．９９％であると仮定する。１０万の確率が完全に相関していれば、チップが正常に動作する全体的確率は９９．９９％である。すなわち、１つのテストに合格すれば、残りのテストにも合格するであろう。しかし、確率が独立である場合、正常に動作するチップが作成される確率は、０．９９９９の１０万乗であり、これは僅か０．００５％の歩留まり（yield）でしかない。
【００１１】
遅延相関（delay correlation）には数多くの要因が存在するが、そのいくつかの例を以下で説明する。２つのパスはいくつかの同じゲートを共有することがあり、この場合、２つのパスの遅延には相関がある。何らかの製造ばらつきが原因で、ある特定のチップがより強力なＰ型トランジスタを有する場合、おそらくそのチップ上の各Ｐ型トランジスタがすべてより強力となるであろう。第３レベル（層）の金属が僅かに厚い場合、全チップにわたってより厚いことが多い。ランチング・パス（launchingpath）（データ信号をラッチに送るパス）とキャプチャリング・パス（capturing path）（対応するクロック信号を同じラッチに送るパス）は、何らかの共通の特徴を示すことがあり、したがって、相関する遅延を有することがある。共通の特徴として、パス上のいくつかのゲートの共有、金属層の共有、電源電圧アイランドの共有、同じタイプのゲートの共有などを挙げることができる。ゲートの遅延は、チップ表面のゲートの物理位置によっても相関させることができる。例えば、互いに近くにある２つのゲートは、相対的なチャネル長変動が大きい可能性は低く、したがって、それらの遅延には緊密な相関があることが多い。
【００１２】
こうしたばらつきの要因はすべて正確に考慮されなければならず、さもないと、結果は意味のあるものとはならないであろう。リュー他の方法では、個々のゲートの遅延は他のゲートとは完全に独立であると見なすため、実用的に使用できる解析とはならない。ガッティカー他の方法では、ゲート遅延相関が考慮される。クリティカル・パスが列挙されるが、これらのパスの効果を結合する際、各パスの遅延は他のものと独立であると見なされ、その結果、いくつかの重要な相関要因が無視される。
【００１３】
従来技術の方法の中で、相関を考慮しているものは、ジェス他の方法である。この方法は、パス・ベースの方法である。各パスの遅延またはスラックが集められ、変動要因の１次モデルとして表現される。次に回路またはチップ全体のスラックが、これらのパスのスラックを相関確率的方式で結合することによって計算される。残念ながら、どの回路にも指数関数的に増加する膨大な数のパスが存在する。回路中のパスをすべて列挙して、解析するのは現実的ではない。ジェス他は、上位Ｎ個のクリティカル・パスについて考察することを提案しているが、もちろん、第（Ｎ＋１）番目のパス（または上位Ｎ個のパス以外のいずれかのパス）が、プロセス空間（process space）または変動空間の何らかの点または困難度でクリティカルではない保証はない。全パス・ベースの方法には、パス数があまりにも膨大であるという根本的な限界があり、何らかの発見的（heuristic）手法を用いて、詳細な解析の対象とするパスの数を制限しなければならない。
【００１４】
集積回路の遅延変動性には、多くの重要な相関要因が存在するが、さらにいくつかの完全にランダムな変動要因も存在する。例えば、現在の技術では、トランジスタ中の酸化物の厚さは僅か数原子の厚さであるが、様々な理由から、トランジスタ中の原子層が１つ増えたり減ったりすることがあり、トランジスタ毎でまったくランダムな変動の原因となる。リュー他の従来技術の方法では、そのようなランダムな変動に対処することができるが、ガッティカー他やジェス他の方法など他の従来技術の方法では、対処することができない。
【００１５】
さらに、上述の従来技術の方法はすべて、また別の問題も有している。静的タイミング・プログラムからの重要な出力は診断（diagnostics）であり、設計者あるいは自動合成または最適化プログラムは、その診断に基づき回路を改良することができる。ここでも、従来技術の方法には不十分な点がある。例えば、あるクリティカル・パスが特定の変動要因に対して過大な感度（sensitivity）を有する場合、回路は変動があると堅牢（robust）ではなくなる。そのような診断が出された場合、設計者あるいは合成プログラムは、その過大な感度を小さくするために様々な手段を講じることができるであろう。そのため、統計的タイミング・プログラムの出力を、変動要因によってパラメータ化することが重要である。回路のあるノード（node）での到達時間が許容できないほど遅い確率分布を有することを報告する代りに、適切な対策を施せるように、その遅い到達時間の様々な変動要因に対する感度を報告すれば有益であろう。従来技術の方法は、確率分布として統計的タイミング結果を生成する。残念ながら、こうした方法では、回路性能または堅牢性を改良する際に、人間の設計者または自動最適化プログラムの役に立たない。
【００１６】
上記およびその他の理由のため、文献中で提案された統計的タイミング方法は、工業的実施においては使用されていない。
【課題を解決するための手段】
【００１７】
本発明の一態様は、デジタル回路の統計的または確率的な静的タイミング（statisticalor probabilistic static timing）のための改良システムおよび方法である。
【００１８】
本発明の別の態様は、タイミング・グラフのサイズおよび変動要因の数に関して線形複雑度（linearcomplexity）を有する、統計的タイミングのための方法である。
【００１９】
本発明の別の態様は、個々のゲートおよび配線の遅延間の相関、ならびに回路のパスの遅延間の相関を考慮する、統計的タイミングのための方法である。
【００２０】
本発明の別の態様は、確定（deterministic）部分、相関ランダム部分、および独立ランダム部分を含む遅延モデルを可能とする、統計的タイミングのための方法である。
【００２１】
本発明の別の態様は、デジタル回路のタイミング・グラフの各ノードの到達時間、要求到達時間（required arrival time）、スリュー（slew）、およびスラック（slack）を確率分布として表す、タイミング結果である。
【００２２】
本発明の別の態様は、デジタル回路のタイミング・グラフの各ノードの到達時間、要求到達時間、スリュー、およびスラックを、変動要因によってパラメータ化した形式で表す、タイミング結果である。
【００２３】
本発明は、統計的な遅延変動を考慮に入れた、デジタル回路の統計的または確率的な静的タイミング解析のためのシステムおよび方法である。各ゲートまたは配線の遅延は、基準部分、変動要因によってパラメータ化される相関ランダム部分、および独立ランダム部分から構成される。到達時間および要求到達時間は、相関を考慮しながら、パラメータ化された確率変数として伝播させる。早モード（early mode）のタイミングと遅モード（late mode）のタイミングが含まれ、組合せ（combinational）回路と順序（sequential）回路が扱われ、ダイナミック論理回路ファミリに加えて、スタティックＣＭＯＳ論理回路にも対応する。タイミング解析の複雑度は、タイミング・グラフのサイズおよび変動要因の数に関して線形となる。結果は、到達時間やスラックなどのすべてのタイミング量がパラメータ化された形式の確率分布として報告される、タイミング・レポートとして提供される。
【００２４】
上記およびその他の目的、態様、および利点は、以下に記載の本発明の好ましい実施形態の詳細な説明を添付の図面を参照しながら読むことで、より良く理解されるであろう。
【発明を実施するための最良の形態】
【００２５】
本発明の統計的または確率的な静的タイミング・フローが、図１に示されている。第１の入力は、ボックス１００に示す、解析する回路の構造を表すネットリストである。第２の入力は、ボックス１１０の１組のタイミング・アサーション（timing assertion）である。タイミング・アサーションには一般に、プライマリ入力での到達時間、プライマリ出力での要求到達時間、クロックの位相についての情報、およびプライマリ出力によって駆動（drive）される外部負荷についての詳細が含まれる。アサーションは、確定的な数、独立確率分布、または相関確率分布の形式をとることができる。第３の入力は、ボックス１２０の１組のパラメータ化した遅延モデルである。これらの遅延モデルは、タイマが、ゲートまたは配線の遅延を、（入力スリュー時間または立ち上がり／立ち下がり時間、および出力負荷などの）従来の遅延モデル変数の関数としてばかりでなく、変動要因の関数としても決定できるようにする。例えば、以下に示すような、１次線形モデルを利用することができる。
【００２６】
【数１】
2005092885.tif 000003
遅延は、確定的な（定数の）部分ａ０と、相関（または大域的な）部分
【００２７】
【数２】
2005092885.tif 000004
と、独立（または局所的な）部分ａｎ＋１ΔＲとから構成される。変動要因の数はｎであり、ａｉ、ｉ＝１，．．．，ｎは、変動要因ｘｉ、ｉ＝１，．．．，ｎに対する遅延の感度係数、ａｎ＋１は独立のランダムな変動要因Ｒに対する感度係数である。表記Δｘｉは、ｘｉの平均値または基準値からのｘｉの偏差を表し、表記ΔＲは、Ｒの平均（mean）値または基準（nominal）値からのＲの偏差（deviation）を表す。遅延モデルは、事前の特性決定ステップで保存（store）できること、または必要に応じてオンザフライ（onthe fly；進行中に）で計算できることを理解されたい。遅延モデルを保存する形式として、解析的遅延式、またはテーブル・モデルを挙げることができる。次の入力は、ボックス１３０の変動要因に関する統計についての情報である。この入力は一般に、各変動要因の平均値と標準偏差を含んだ変動要因リストを有する。変動要因の間の相関はどれもここで指定される。
【００２８】
回路ネットリスト１００、アサーション１１０、パラメータ化遅延モデル１２０、変動要因に関する統計１３０、およびこれらの機能的等価物については、当技術分野において周知である。
【００２９】
ボックス１４０の新規な確率的または統計的な静的タイミング・プログラムが、これらの入力をすべて受け取り、ボックス１５０の新規な統計的なタイミング・レポートを生成する。このレポートは一般に、回路の各ノードでの到達時間、要求到達時間、スラック、およびスリューを含む。これらのタイミング量は、１つの数ではなく、むしろ、確率分布となる。タイミング・レポート内の情報は、多くの形式をとることができ、１つまたは複数の、各タイミング量の平均値および分散、各タイミング量の分布のパラメータ化表現、各タイミング量の分布のグラフ表現、およびこれら様々なタイミング量間の相関レポートが含まれる。大き過ぎる感度のチェックなど、様々な自動検査を、タイミング・レポートに組み込むことができる。回路の堅牢性を改善するには、大き過ぎる感度を小さくしなければならないので、大き過ぎる感度のチェックは重要である。タイミングをとる回路は、非常に大規模になり得ること、数１００万のゲートおよび配線から構成され得ることを理解されたい。上述した情報の総量はきわめて大量になる場合があるので、必要な情報を選択的に出力するための選択肢を提供することが通常は行われ、あるいはこれらの情報をすべて要求時に計算し、グラフ表示することも通常に行われる。
【００３０】
ボックス１４０の新規な統計的タイマの詳細が、図２のフローチャート２００に示されている。第１のステップは、タイミングをとる回路のトポロジ（形状）の詳細を含むネットリストを読み取ることである。このネットリストは階層形式をとることがしばしばあるので、平坦化される（すなわち、階層のレベル数が減らされる）。アサーション（その各々は確定的または確率的とすることができる）が読み取られ、パラメータ化遅延モデルも読み取られる。平均値、標準偏差値、変動要因間の相関など、変動要因についての情報は、ボックス２１０でメモリに格納（store）される。
【００３１】
ボックス２２０に示す次の主要ステップは、すべての静的タイミング・プログラムで馴染みの深いステップである、タイミング・グラフの作成である。グラフでは、各ノードは、回路のノードまたは信号を表し、各弧（arc）またはエッジは、論理遷移（ローからハイ、またはハイからロー）がゲートまたは配線などの回路構成要素中を伝達されるときに生じる回路内の遅延を表す。したがって、回路のすべての可能な有効論理遷移は、このグラフ内に取り込まれる。到達時間は一般に、グラフのノードに格納され、個々のゲートまたは配線の遅延は、グラフのエッジに格納される。遅モードの場合の到達時間は、対応する信号が（電気回路の可能なパスのいずれかを通過して）正しい論理値で安定することが保証される最も早い時間であり、早モードの場合の到達時間は、対応する信号が直前のサイクルの安定論理値から変化することのできる最も早い時間である（すなわち、出力は早モードの到達時間より早く変化することはできない）。グラフ内の順序素子およびダイナミック回路は、テスト・セグメントと呼ばれる特別な種類のエッジで表され、これによって、回路の正確なタイミング動作を保証するにはグラフの２つのノード間でタイミング・テストを実行しなければならないことが、タイミング・プログラムに通知（indication）される。ゲート・レベルのネットリストとトランジスタ・レベルのネットリストの両方についてこのようなグラフが作成されることは、当技術分野において周知である。
【００３２】
次のステップは、ボックス２３０に示す、タイミング・グラフ中の到達時間についての本発明の統計的相関前方伝播（correlated statistical forward propagation）である。次にボックス２４０で、要求到達時間について本発明の統計的相関後方伝播（correlatedstatistical backward propagation）が実行される。最後にボックス２５０で、本発明のタイミング・レポートが作成される。早モードおよび遅モード解析の際にボックス２３０および２４０で必要となる計算の詳細については、以下の段落で説明する。
【００３３】
静的タイミング解析における４つの基本演算は、「加算（plus）」、「減算（minus）」、「最大（max）」、および「最小（min）」である。統計的タイミング解析を成功させるには、これら４つの基本演算を確率的等価物（probabilityequivalent）によって置き換えなければならない。確率的等価物は相関を正しく考慮し、伝播しなければならず、このことは非常に重要である。図３に示す簡単な状況について考察する。この図では、ノードａ（３１０）およびノードｂ（３２０）からのタイミング・グラフの２本の有向エッジ（３４０、３５０）が、共通タイミング・ノードｃ（３３０）で出会っている。ｄａｃと名付けるエッジは、ノードａからノードｃでの遅延を表し、ｄｂｃはノードｂからノードｃでの遅延を表す。ａおよびｂにおける早モードの到達時間および遅モードの到達時間は、以下の形をとることが知られているものと仮定する。
【００３４】
【数３】
2005092885.tif 000005
また、遅延は以下の形をとることが知られているものと仮定する。
【００３５】
【数４】
2005092885.tif 000006
ノードｃで、
【００３６】
【数５】
2005092885.tif 000007
および
【００３７】
【数６】
2005092885.tif 000008
を決定する必要があり、これらは、ｃが現在のクロック・サイクルで安定することが保証される最も早い時間と、ｃが直前のサイクルの安定論理値から変化することのできる最も早い時間をそれぞれ表す。以下では遅モードの計算について説明するが、早モードの計算も同様の方式で実行される。したがって、
【００３８】
【数７】
2005092885.tif 000009
となる。変動要因（大域的変数ｘと局所的変数Ｒ）が、ガウス分布または正規分布に従う場合、最大値を見出そうとしている上記の２つの量もガウス分布に従う。したがって、
【００３９】
【数８】
2005092885.tif 000010
と書き表すことができる。ｐ１およびｐ２は、平均および分散を有するガウス確率変数（random variable）であり、上記のようになるものと仮定される。これら２つの確率変数は独立ではなく、２つの確率変数は相関している。しかし、変動要因ｘは、独立であっても相関していてもよい。これらの場合の各々について以下で説明する。
【００４０】
変動要因が互いに独立であり、またゼロ平均（zero mean）および単位分散（unitvariance）と独立であると仮定すると、共分散行列（covariance matrix）を
【００４１】
【数９】
2005092885.tif 000011
と書き表すことができるが、変動要因が独立ではないとすると、共分散行列は
【００４２】
【数１０】
2005092885.tif 000012
となる。Ｖはユーザによって与えられた変動要因の共分散行列であるが、見やすくするため、この式では上付き文字ｌａｔｅを省略してある（変動要因が独立の場合は、Ｖが対角行列（diagonal matrix）であったことに留意されたい）。いずれの場合も、
【００４３】
【数１１】
2005092885.tif 000013
と対照することによって、σ１、σ２、相関係数ρを導き出すことができる。変動要因が独立である場合、最大値を決定しようとしている２つのガウス分布の対応する係数の平方および積の和を集めることによって、これを達成することができる。到達時間と遅延のランダム成分は、２×２型の共分散行列の対角項（diagonal term）に寄与しており、最大値を決定しようとしている２つの量の分散を大きくするが、非対角項（off-diagonalterm）には寄与しておらず、それにより相関係数を小さくすることに留意されたい。
【００４４】
次のステップは、ｍａｘ［ｐ１，ｐ２］を計算することであり、Ｊ．Ａ．Ｇ．ジェス、Ｃ．ヴィスウェスワライア、「集積回路の統計的モデリングおよび統計的タイミング解析のためのシステムおよび方法（System and Method For Statistical Modeling And Statistical TimingAnalysis Of Integrated Circuits）」、米国出願第１０／１８４３２９号、およびジェス他［Ｊ．Ａ．Ｇ．ジェス、Ｋ．カラファラ、Ｓ．Ｒ．ナイドゥ、Ｒ．Ｈ．Ｊ．Ｍ．オッテン、Ｃ．ヴィスウェスワライア］、「デジタル集積回路のパラメトリック歩留まり予測のための統計的タイミング」、Proc.Design Automation Conference、２００３年６月、カリフォルニア州アナハイム、９３２〜９３７ページ、で教示されているような従来技術の方法によって行うことができる。手短に言うと、これを実行する好ましい方法は、適切な変数の範囲（例えば、ｍａｘ（μ１−３σ１，μ２−３σ２）からｍａｘ（μ１＋３σ１，μ２＋３σ２）まで）にわたって変数ηをスイープ（sweep）することである。ηの各値で、確率ｐ１＝ηにｐ２＜ηの条件付き確率を乗じ、ｐ１がｐ２より大きい場合の確率を得る。同様に、同じηの値で、確率ｐ２＝ηにｐ１＜ηの条件付き確率を乗じ、ｐ２がｐ１より大きい場合の確率を得る。これを行うことによって、確率分布ＡＴｃｌａｔｅが得られる。ｐ２より大きい個々の確率ｐ１、およびｐ１より大きい個々の確率ｐ２が、ηのすべての値にわたって集められる。上記の参考文献では、それらの確率を「バインディング確率（bindingprobability）」と呼ぶが、本明細書では、「到達タイトネス確率（ＡＴＰ：arrival tightness probability）」と呼ぶ。その理由は、それらの確率が、ｃでの到達時間が図３の上側エッジおよび下側エッジによってそれぞれ決定される確率となるからである。このような到達タイトネス確率を、Ｔおよび（１−Ｔ）でそれぞれ示すことにする。ジェス他の方法も同様の技法を用いるが、純粋にランダムな遅延成分を考慮していないこと、またジェス他の方法はパス・ベースで適用されるが、本明細書の方法はタイミング・グラフの各ノードで適用されることに留意されたい。
【００４５】
タイミング・グラフ内をさらに先に進む前の最後のステップは、ｃでの遅モードの到達時間（latearrival time）をタイミング・グラフ内で下流に伝播させることのできる形式に表現し直すことである。その方法は次のようになる。ｃでの到達時間は、到達時間のＴ％については図３の上側エッジによって決定されるので、ｃでの到達時間の大域的な変動要因に対する依存は、重み係数をＴとして、上側エッジから導き出される。同様に、ｃでの到達時間の大域的な変動要因に対する依存は、重み係数を（１−Ｔ）として、下側エッジから導き出される。数学的に表現すると、
【００４６】
【数１２】
2005092885.tif 000014
となる。あと残っているのは、ｃ０ｌａｔｅとｃｎ＋１ｌａｔｅを決定することだけだが、これは、確率分布ＡＴｃｌａｔｅから容易に決定することができる。分布の平均をｃ０ｌａｔｅに割り当て、ランダム部分ｃｎ＋１ｌａｔｅを、分布の分散が表現し直した到達時間の分散に一致するような値に割り当てる。
【００４７】
ｃでの到達時間が「標準形式」で表現されたので、それを下流に伝播させることができる。早モードの計算では、最大値の代りに２つの分布の最小値の計算が必要となるに過ぎないことを理解されたい。条件付き確率は少しだけ異なる方法で計算されるが、残りの手順は同じである。例えば、ηをスイープする際、確率ｐ１＝ηにｐ２＞ηの条件付き確率を乗じて、ｐ１がｐ２より小さくなる確率を得る。上記の方法を拡張して、様々な関数形式の遅延式および様々なタイプの確率分布に適合させることが当業者にはできることを理解されたい。必要なのは、タイトネス確率Ｔおよび（１−Ｔ）を計算し、下流に伝播させるため、ｃでの到達時間を「標準形式」に表現し直すことだけである。
【００４８】
３本以上のエッジが１つのタイミング・ノードに集まる場合、ｍａｘ演算（maximization）またはｍｉｎ演算（minimization）は、一度に２本のエッジ毎に行われる。計算の進展につれて到達タイトネス確率が保存（ストア）され、最後のタイトネス確率が、次の処理ステップで割り当てられる。例えば、１つのタイミング・ポイントに３本のエッジが集まると仮定する。最初の２本のエッジのタイトネス確率が、それぞれ６０％と４０％となることに決まったと仮定する。次に、これら２つの分布の最大値と第３のエッジによって表されるパス遅延とでｍａｘ演算が行われる。この計算から得られたタイトネス確率は、最初のエッジ対については８０％、第３のエッジについては２０％であると仮定する。この場合、３本のエッジの最終的な到達タイトネス確率は、それぞれ４８％（０．６×０．８）、３２％（０．４×０．８）、２０％となる。
【００４９】
早モードの到達時間も、類似の方式でタイミング・グラフ中を前方に伝播することを理解されたい。唯一の相違は、早モード遅延が考察され、「ｍａｘ」演算の代りに「ｍｉｎ」演算が用いられることである。
【００５０】
このようにして、早モードの到達時間と遅モードの到達時間の両方が、すべてのエンド・ポイント（end point）の到達時間が計算されるまで、平坦化タイミング・グラフ中を前方に伝播する。エンド・ポイントは、プライマリ出力またはテスト・セグメントのいずれかである。プライマリ出力では、プライマリ出力の遅モードのスラックと早モードのスラックをそれぞれ決定するため、遅モードでは、確率的到達時間がアサーションで指定された（asserted）要求到達時間から減算され、早モードでは、減算項と被減算項を入れ替えた減算が行われる。零スラックは、タイミング要件が正確に満たされていることを意味する。正値スラックは、要件を満たした上でさらにタイミングにゆとりがあることを意味する。負値スラックは、回路が正しく機能しないことを意味する。
【００５１】
同様に、テスト・セグメントでは、スラックを決定するため、到達時間が互いに比較される。例えば、ラッチにおいて、遅モードのデータ到達時間は一般に、ラッチのセットアップ（またはガード）タイムに加えられ、データが正しくラッチされることを保証するため、早モードのクロック到達時間と比較される。異なるタイプのラッチおよび異なるタイプのダイナミック回路の場合、これらの比較は異なる形式をとるが、そのすべては同じ概念を素直に拡張したものである。
【００５２】
前方伝播が完了した後、次のステップは、要求到達時間の統計的相関後方伝播である（図２のボックス２４０）。要求到達時間は、各エンド・ポイントから開始して、従来の静的タイミング解析でのように平坦化された方式で後方に伝播する。しかし、本発明の方法では、これらの要求到達時間は本質的に統計的である。図２のボックス２４０に関連する操作は、図２のボックス２３０と同じように行われるが、いくつかの重要な相違が存在する。第１の相違は、後方伝播では、遅延は到達時間に加算されるのではなく、要求到達時間から減算される。第２の相違は、後方伝播では、遅モード解析は「ｍｉｎ」演算を必要とし、早モード解析は「ｍａｘ」演算を必要とする。第３の相違は、タイミング・グラフのエッジの要求到達タイトネス確率は、エッジの起点（source）ノードの要求到達時間がそのエッジによって決定される確率として定義される。これらのタイトネス確率は、ボックス２２０の前方伝播における到達タイトネス確率とほぼ同じように決定され、さらなる伝播の前に要求到達時間を標準方式で表現するのにほぼ同じように適用される。したがって、後方伝播は、上記のいくつかの重要な相違を除けば、前方伝播とまったく同じに行われる。
【００５３】
図４を参照しながら、後方伝播について説明する。後方伝播の基本目標は、タイミング・グラフのすべてのノードの要求到達時間を決定することである。ノードｂ（４２０）およびノードｃ（４３０）にそれぞれ達する２つのファンアウト・エッジ（４４０、４５０）を有する、図４のノードａ（４１０）での要求到達時間を計算するものと仮定する。その場合、遅モードにおけるノードａでの要求到達時間は、
【００５４】
【数１３】
2005092885.tif 000015
のように書き表すことができ、早モードにおけるノードａでの要求到達時間は、
【００５５】
【数１４】
2005092885.tif 000016
のように書き表すことができる。エッジの遅延を減算し、次にｍａｘ演算またはｍｉｎ演算を行う実際の処理は、前方伝播において実行した操作と類似している。同様に、要求到達タイトネス確率も、前方伝播における対応する計算と正確に類似した方式で決定される。
【００５６】
前方伝播および後方伝播が完了すると、遅モードの到達時間、早モードの到達時間、要求到達時間、およびスラックが、タイミング・グラフのすべての場所で入手可能となり、これらを多くの異なる形式でユーザに報告することができる（図２のボックス２５０）。異なる形式には、グラフ図表、文字による表、要求時クエリ、不合格タイミング・テストの検査、すべてのタイミング・ポイントまたはすべてのエンド・ポイントでの過大な感度の検査、その他がある。
【００５７】
図５のボックス５１０に、タイミング・レポートが示されている。タイミング・レポートは、プログラミング・インターフェースまたはハードディスク・ファイルのどちらかによってユーザに伝えられる。タイミング・レポートは一般に、何らかの回路情報（ボックス５２０）と対応する統計的タイミング情報（ボックス５３０）から構成される。回路情報は、ゲート、構成要素、および配線の一覧、またはパスの一覧、またはノードの一覧、または順序素子の一覧、またはエンド・ポイント（プライマリ出力およびタイミング・テスト）の一覧、またはクロック位相の一覧を含むことができる。これらの項目は、レポートの読者にとってレポートが直観的かつ生産的なものになるように、様々な方法で分類し、取捨選択（フィルタリング）することができる。対応する統計的タイミング情報は、ノードの場合、１つまたは複数のノードの統計的到達時間、統計的要求到達時間、統計的スリュー、および統計的スラックを含むことができる。タイミング・テストまたはプライマリ出力の場合、対応する統計的タイミング情報は、タイミング・テストが合格する確率、またはプライマリ出力がその要求到達時間を満たす確率をそれぞれ含むことができる。パスの場合、対応する統計的タイミング情報は、そのエンド・ポイントの統計的パス・スラック、統計的到達時間、要求到達時間、スリュー、およびスラックを含むことができる。さらに、レポート中の各統計的タイミング量は、平均値と標準偏差、平均値と独立ランダム部分と相関部分、タイミング量分布のグラフ表示、個々の大域的な変動要因に対する感度係数を含む様々な形式で表すことができる。さらに、任意の２つの統計的タイミング量が与えられた場合、レポートは、２つの量の相関係数、２つの量の共分散行列、および一方が他方より大きくまたは小さくなる確率を含むことができる。上記の説明における各タイミング量は、早モードまたは遅モード・タイミング量の一方、立ち上がりまたは立ち下がりタイミング量の一方、特定クロックの特定の位相に特有なタイミング量とすることができることを理解されたい。統計的タイミング解析が完了した後、これらの結果を様々な有用なやり方で報告できることも理解されたい。
【００５８】
本発明の詳細な説明がタイミング・グラフの簡単な断片に基づいてなされたことは理解されよう。当業者であれば、これらの概念を以下の場合に適合するように、すなわち、立ち上がりおよび立ち下がりの到達時間および遅延、順序回路、エッジ・トリガ・ラッチ、マスタ・スレーブ・ラッチ、レベル・センシティブ・ラッチ、および透過（transparent）ラッチを有する（順序）回路、スリュー（立ち上がり／立ち下がり時間）伝播および効果に対処するための拡張、純粋にランダムな確率的遅延モデル、相関のある確率的遅延モデル、ランダムな変動要因、相関のある変動要因、ラッチのセットアップおよびホールド・テストに確率的ガード・タイムを有する回路、ダイナミック回路のタイミング・テストに確率的ガード・タイムを有する回路、複数のクロック位相を有する回路、クロック・サイクル周期およびタイミング・アサーションが確率的である場合、トランジスタ・レベルのネットリスト、およびパラメータ化遅延モデルが回路シミュレータによってオンザフライで計算される場合に適合するように拡張することができるであろう。
【００５９】
これまで本発明を開示してきたが、確率的または統計的な静的タイミング処理（図１のボックス１４０）が受け取る入力は、キーボードまたはマウス入力、ディスク、テープ、ＣＤ−ＲＯＭ、ネットワーク接続、光ファイバ接続、無線周波数リンク、赤外線リンクなどを含む、ただし、これらに限定されない、コンピュータ・システムに関して一般に周知の任意の入力とすることができることは、当業者には明らかであろう。さらに、パラメータ化タイミング・レポート（図１のボックス１５０）を含む出力は、任意の周知のコンピュータ出力の形式をとることができる。これらの出力は、プリンタからのプリント出力、グラフィカル・ユーザ・インターフェース（ＧＵＩ）またはＣＲＴ上の画像、記憶媒体（例えば、メモリ、ＣＤ−ＲＯＭ、ディスク、ディスケット）上のコンテンツ、ファイル、ネットワーク（光ファイバ、電話、ケーブル、無線周波、赤外線など）を介して送信される情報を含むが、これらに限定されることはない。
【図面の簡単な説明】
【００６０】
【図１】デジタル回路の統計的または確率的な静的タイミングを示す、本発明の好ましい一実施形態のブロック図である。
【図２】デジタル回路の統計的または確率的な静的タイミングを実行する好ましい方法のフローチャートである。
【図３】統計的タイミング解析に関連する基本的な前方伝播操作を説明するために、タイミング・グラフの２本のエッジおよび３個のノードを示した図である。
【図４】統計的タイミング解析に関連する基本的な後方伝播操作を説明するために、タイミング・グラフの２本のエッジおよび３個のノードを示した図である。
【図５】出力レポートの好ましい一実施形態のブロック図である。
【符号の説明】
【００６１】
３１０  ノードａ
３２０  ノードｂ
３３０  ノードｃ
３４０  エッジｄａｃ
３５０  エッジｄｂｃ
４１０  ノードａ
４２０  ノードｂ
４３０  ノードｃ
４４０  エッジｄａｂ
４５０  エッジｄａｃ
【図１】
2005092885.tif 000017
【図２】
2005092885.tif 000018
【図３】
2005092885.tif 000019
【図４】
2005092885.tif 000020
【図５】
2005092885.tif 000021