(57)【要約】【課題】従来のメッシュ回路で不確定性を効率的に分析すること。【解決手段】タイミングの不確定性を分析する方法は、メッシュ回路の部分集合をカバーするウインドウの中にあるメッシュ回路の回路要素の１以上の正確なモデルを作成することを含む。メッシュ回路のウインドウの外にある１以上の回路要素の近似的なモデルも作成される。正確なモデル及び近似的なモデルの組み合わせについてモンテカルロシミュレーションが複数回実行され、モンテカルロシミュレーションの実行結果各々が、メッシュ回路の動作に潜在的に影響を及ぼす１以上のパラメータを変える。複数のタイミング値に少なくとも部分的に基づいて、回路要素に関する不確定性が判定される。一実施例ではクロックをある信号と考え、その信号のタイミングの不確定性が判定される。他の実施例では、グローバルな駆動回路をモデル化及びシミュレートし、その駆動回路は、駆動回路で共通するパスの相関を考慮してメッシュ回路を別々に駆動する。【選択図】図１
2007242015.tif 000002
【特許請求の範囲】
【請求項１】
メッシュ回路の少なくとも一部に関する不確定性を判定するための方法であって、
（ａ）前記メッシュ回路の部分集合をカバーするウインドウの外にある前記メッシュ回路の回路要素の１以上の近似的なモデルを作成するステップと、
（ｂ）前記メッシュ回路の前記ウインドウの中にある１以上の回路要素の一層正確なモデルを作成するステップと、
（ｃ）前記ウインドウの中にある１以上の回路要素の前記一層正確なモデル及び前記ウインドウの外にある１以上の回路要素の前記近似的なモデルの組み合わせで表現される前記メッシュ回路についてモンテカルロシミュレーションを複数回実行するステップと、
（ｄ）前記メッシュ回路についての複数回のモンテカルロシミュレーションから得られた結果の少なくとも一部に基づいて、前記メッシュ回路の少なくとも一部に関連する不確定性を判定するステップと、
を有する方法。
【請求項２】
前記一層正確なモデルを作成することが、前記ウインドウの中にある前記１以上の回路要素のSPICEモデルを作成することを含む請求項１記載の方法。
【請求項３】
前記一層正確なモデルが、前記ウインドウの中にある前記メッシュ回路の前記１以上の回路要素各々を個々に考慮する請求項１記載の方法。
【請求項４】
前記メッシュ回路が複数のワイヤ及び複数のメッシュバッファを有し、前記メッシュバッファは、前記複数のワイヤの少なくとも１つに駆動信号を分配する請求項１記載の方法。
【請求項５】
前記ウインドウの中にある前記１以上の回路要素の前記一層正確なモデルが、前記ウインドウ内の各メッシュバッファ及び各ワイヤのモデルを含む請求項４記載の方法。
【請求項６】
メッシュ回路の少なくとも一部に関連するタイミング値の不確定性を判定する方法であって、
（ａ）スライディングウインドウ法を用いてメッシュ回路をモデリングし、前記メッシュ回路のスライディングウインドウモデルを作成するステップと、
（ｂ）前記メッシュ回路の前記スライディングウインドウモデルについてモンテカルロシミュレーションを複数回実行することで、前記メッシュ回路の少なくとも一部に関する複数のタイミング値を判定するステップと、
（ｃ）前記複数のタイミング値に少なくとも部分的に基づいて、前記メッシュ回路の少なくとも一部に関するタイミング値の不確定性を判定するステップと、
を有する方法。
【請求項７】
メッシュ回路のクロック信号に関するタイミング値の不確定性を判定する方法であって、
（ａ）前記メッシュ回路の部分集合をカバーするウインドウの外にあるメッシュ回路の回路要素1つ以上の近似的なモデルを作成するステップと、
（ｂ）前記ウインドウの中にある前記メッシュ回路の回路要素1つ以上の正確なモデルを作成するステップと、
（ｃ）前記正確なモデル及び前記近似的なモデルの組み合わせについてモンテカルロシミュレーションを複数回実行し、複数のタイミング値を判定するステップであって、前記モンテカルロシミュレーションの実行結果各々は、前記メッシュ回路の動作に潜在的に影響を与える1以上のパラメータを変えるステップと、
（ｄ）前記複数のタイミング値に少なくとも部分的に基づいて、前記メッシュ回路の少なくとも一部のクロック信号に関するタイミング値の不確定性を判定するステップと、
を有する方法。
【請求項８】
メッシュ回路を駆動する駆動回路を含む回路の少なくとも一部に関連するタイミング値の不確定性を判定する方法であって、
少なくとも１つのソース及び複数のシンクを有する駆動回路のモデルを作成するステップと、
前記駆動回路の前記モデルに潜在的に影響する１以上のパラメータの変動を利用することで、駆動回路の各シンクに到着する駆動信号についての一群のシンクタイミング値を計算するステップと、
前記駆動回路で駆動されるメッシュ回路のモデルを作成するステップであって、前記メッシュ回路は、前記複数の駆動回路のシンク各々に結合された少なくとも１つのメッシュバッファと、前記メッシュバッファ各々に結合された１以上の回路要素とを含むステップと、
前記メッシュ回路の前記モデルについてモンテカルロシミュレーションを複数回実行し、各シミュレーションについて、前記回路要素各々における駆動信号の回路要素タイミング値を判定するステップであって、前記駆動回路の前記シンクタイミング値は、前記メッシュ回路の複数回のシミュレーションの少なくとも１つにおいて、各駆動回路シンクに結合される前記メッシュバッファへの入力として使用されるステップと、
前記メッシュ回路の前記モデルのシミュレーション結果に少なくとも部分的に基づいて、前記１以上の回路要素の少なくともいくつかに関するタイミング値の不確定性を判定するステップと、
を有する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般にディジタル回路に関連し、特にタイミングの不確定性を分析することに関連する。
【背景技術】
【０００２】
ディジタル回路の設計者は、クロック及びパワー／グランドのようなグローバル信号をチップ上で分配するためにメッシュアーキテクチャをしばしば利用する。メッシュアーキテクチャは分析が困難なことがあり、更には、設計変更はクロックソースから様々な回路要素に至る遅延の不確定性又は不確実性(uncertainty)を引き起こすかもしれない。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明の課題は、従来のメッシュ回路で不確定性を分析することに関連する欠点及び問題点を少なくとも低減することである。
【課題を解決するための手段】
【０００４】
本発明の様々な形態によれば、従来のメッシュ回路で不確定性を分析することに関連するいくつもの欠点及び問題点が実質的に低減又は解消される。特に、大規模な設計及びメッシュインスタンスは、説明される実施例を用いて迅速且つ正確に分析可能である。
【０００５】
本発明の一形態による方法は、前記メッシュ回路の部分集合をカバーするウインドウの外にある前記メッシュ回路の回路要素の１以上の正確なモデルを作成するステップを有する。本方法は、前記ウインドウの外にある１以上のメッシュ回路の回路要素の近似的なモデルを作成するステップを更に有する。本方法は、前記ウインドウの中にある１以上の回路要素の前記一層正確なモデル及び前記ウインドウの外にある１以上の回路要素の前記近似的なモデルの組み合わせで表現される前記メッシュ回路についてモンテカルロシミュレーションを複数回実行する。更に、本方法は、前記メッシュ回路についての複数回のモンテカルロシミュレーションから得られた結果の少なくとも一部に基づいて、前記メッシュ回路の少なくとも一部に関連する不確定性を判定する。
【０００６】
本発明の別の形態によれば、メッシュ回路の少なくとも一部に関連するタイミング値の不確定性を判定する方法は、スライディングウインドウ法を用いてメッシュ回路をモデリングし、前記メッシュ回路のスライディングウインドウモデルを作成するステップを含む。本方法は、前記メッシュ回路の前記スライディングウインドウモデルについてモンテカルロシミュレーションを複数回実行することで、前記メッシュ回路の少なくとも一部に関する複数のタイミング値を判定する。更に、前記複数のタイミング値に少なくとも部分的に基づいて、前記メッシュ回路の少なくとも一部に関するタイミング値の不確定性を判定する。
【０００７】
別の形態による方法は、グローバルクロックツリーを分析し、そのツリーシンクにおける遅延分布を作成する。本方法はこの分布を利用して、メッシュ分析のモンテカルロシミュレーションについての入力を作成する。本方法は、メッシュ回路の少なくとも一部に関連する複数のタイミング値を判定し、その複数のタイミング値に少なくとも部分的に基づいて、タイミング値の不確定性を計算する。
【０００８】
別の形態では、メッシュ回路を駆動する駆動回路を含む回路の少なくとも一部に関連するタイミング値の不確定性を判定する方法は、少なくとも１つのソース及び複数のシンクを有する駆動回路のモデルを作成するステップを有する。本方法は、前記駆動回路の前記モデルに潜在的に影響する１以上のパラメータの変動を利用することで、駆動回路の各シンクに到着する駆動信号についての一群のシンクタイミング値を計算するステップを含む。本方法は、前記駆動回路で駆動されるメッシュ回路のモデルを作成するステップを含み、前記メッシュ回路は、前記複数の駆動回路のシンク各々に結合された少なくとも１つのメッシュバッファと、前記メッシュバッファ各々に結合された１以上の回路要素とを含む。本方法は、前記メッシュ回路の前記モデルについてモンテカルロシミュレーションを複数回実行し、各シミュレーションについて、前記回路要素各々における駆動信号の回路要素タイミング値を判定する。前記駆動回路の前記シンクタイミング値は、前記メッシュ回路の複数回のシミュレーションの少なくとも１つにおいて、各駆動回路シンクに結合される前記メッシュバッファへの入力として使用される。本方法は、前記メッシュ回路の前記モデルのシミュレーション結果に少なくとも部分的に基づいて、前記１以上の回路要素の少なくともいくつかに関するタイミング値の不確定性を判定するステップを更に有する。
【発明を実施するための最良の形態】
【０００９】
使用される具体的特徴に依存して、本願で開示される特定の形態は後述の技術的利点の全部又は一部を奏してもよいし、全く奏しなくてもよい。これらの方法は、既存の方法に比べて高速に且つ少ないメモリ使用量で大規模な設計内容を分析することができる。
【００１０】
本発明による他の技術的利点は、明細書、特許請求の範囲及び図面から当業者に明らかに成るであろう。更に、特定の利点が上記に言及されたが、様々な実施例は言及された利点の全部又は一部を含んでもよいし、全く含まなくてもよい。
【００１１】
本発明及び様々な利点の完全な理解を更に図るため、添付図面に関連する以下の説明が参照される。
【実施例１】
【００１２】
メッシュ又はグリッドアーキテクチャは、クロック及びパワー／グランドのようなグローバル信号をチップ上に分配するのに好ましい。メッシュアーキテクチャは、しばしば、ループで生成される固有の冗長性を利用して、チップを介して分配される信号間の望まれない変動を平均化する。これらの変動は、例えば、設計回路におけるスイッチング動作、チップの製造プロセス変動、又は回路要素の非対称な分散性等に起因して生じるかもしれない。パワー／グランド信号に関し、メッシュアーキテクチャは、ネットワーク内の様々なノードでの電圧変動を減らすことができる。
【００１３】
メッシュアーキテクチャの適用可能性を制限する問題の１つは、それらを正確に分析するのが困難なことである。特にこれに寄与する要因は、大規模な設計における微細なメッシュを正確にモデル化するのに要する膨大な数の回路ノードや、メッシュ構造中の多数のメタルループである。その結果、シミュレーションは法外な量のメモリ及び／又は長い実行時間を必然的に伴ってしまう。
【００１４】
クロック遅延に影響するパラメータ変動は、複雑さの度合いを更に高めることを引き起こし、これはクロック信号の開始時点と意図される影響の現れる時点との時間遅延に起因する。これらのパラメータは、限定ではないが、プロセス特性（例えば、チャネル長、酸化膜厚、相互接続線幅及び厚さ等）、電源電圧、温度及びクロストークノイズ等を含む。これらのパラメータの変動は、クロック元から回路要素に至る遅延の変動又は不確定性を引き起こすおそれがある。スケーリング技術により、パラメータ変動の大きさや、変動に対するクロック遅延の受ける影響は増えつつある。
【００１５】
図１はメッシュアーキテクチャ１０の例を示し、メッシュアーキテクチャは、位相ロックループ(PLL)又はクロックドライバから(フリップフロップ(FF)のような)回路要素14a-14nにクロック信号を分配し、チップでラッチするのに使用される。形状及びサイズの異なるメッシュアーキテクチャも可能であり、例えば他のタイプの回路要素を備えるメッシュアーキテクチャも可能である。図１のアーキテクチャは、一様なメッシュ１２、メッシュ１２を駆動するグローバルバッファツリー１６及びローカル相互接続部１８を含み、ローカル相互接続部は回路要素のクロック入力とメッシュ上で最も近いポイントとを接続する。この例のメッシュアーキテクチャ１０は、チップ領域全体にわたるメッシュセグメント２６の一様な規則的なグリッドで構成され、メッシュバッファ２０で駆動され、クロックを回路要素14a-14nに伝送する。メッシュノード22a-22nは、行及び列が接続するポイントである。図示の簡明化のため、図１ではメッシュノード22a-22dにのみラベル番号が付されている。図１に示されるように、グローバル(H-)ツリー１６は、メッシュバッファ２０を介してクロックドライバ２４からメッシュノード22a-22nにクロック信号を運ぶ。他の実施例ではメッシュバッファはメッシュノード全てに無くてもよい。２つの隣接するメッシュノード間のメッシュワイヤは、メッシュセグメント２６であり、各々は１つの格子単位(グリッドユニット)を表す。
【００１６】
本願はメッシュ回路に関連する不確定性を分析するいくつかの方法を提供する。一実施例では、１以上の回路要素の近似的なモデルが作成され（例えば、バッファ２０、メッシュセグメント２６、フリップフロップ１４ａ−１４ｎ）、回路要素はメッシュ回路の一部をカバーするウインドウ１９の外部にある。更に、ウインドウ１９内にある１以上の回路要素について、より正確なモデルが作成される。ウインドウ１９外の近似的にモデル化された回路要素及びウインドウ１９内の更に正確にモデル化された回路要素の組み合わせで表現されるメッシュ回路の全部又は一部について、例えばモンテカルロシミュレーションのような複数のシミュレーションが実行される。これらのシミュレーションに基づいて、モデル化されたメッシュ回路の少なくとも一部についての不確定性が確認可能になる。ある実施例では、（ウインドウの内部及び外部双方の）モデル化された回路要素に関連する様々なパラメータ値は、この分析の間に指定及び／又は変更されてよい。
【００１７】
一実施例では、不確実視を確認するためにスライディングウインドウ法(SWS:  Sliding  Window  Scheme)が使用可能である。例えば、ウインドウ１９は、分析の第１部分の間に、メッシュ回路全体に対する１つの場所にあってもよい。この部分の間で、ウインドウが第１ポジションにある場合に、モンテカルロシミュレーションのようなシミュレーションが行われ、メッシュ回路及びそのウインドウポジションに関するタイミング値を確認する。そしてウインドウはメッシュ回路１０に対して別のポジションに動かされ、そのウインドウポジションに関する別のタイミング値の計算を促す。ウインドウ１９をメッシュ回路１０に対して様々なポジションに反復的に動かすことで、メッシュ回路に関する複数のタイミング値が計算可能になり、これらのタイミング値を用いてメッシュ回路１０の不確定性が判定可能になる。
【００１８】
別の実施例では、不確定性分析はツリー回路１６の存在及び動作を考慮に入れることができる。例えば、ツリー回路１６のモデルが作成され、そのモデルは（クロックドライバ２４のような）複数のソース及びツリー回路中の複数のシンク２８ａ−２８ｎを考慮に入れる（簡明化のため、図１ではシンク28a-28dのみにラベル番号が付されている。）。モンテカルロシミュレーションのようなシミュレーションが、ツリー回路１６のモデルに実行され、例えば、シミュレートされるツリーシンク28a-28n各々に到着する駆動信号についてシンクタイミング値（例えば、到着時間又は他の値）を判定する。この影響により、ツリー回路１６で駆動されるメッシュ回路１０の全部又は一部のモデルが作成可能になる。メッシュ回路のモンテカルロシミュレーションが実行可能であり、それらのシミュレーションは、ツリー回路１６のシミュレーションに基づいて決定された1以上のシンク到着時間を入力として使用できる。この方法を用いて、ツリー回路１６の影響を加味したメッシュ回路１０の全部又は一部の不確定性が確認可能になる。様々な実施例では、ツリー回路１６は１つのメッシュ回路を又は複数のメッシュ回路を駆動するのに使用可能である。
【００１９】
クロックネットワークは様々な方補でモデル化可能である。一実施例では、その方法はNMOS及びPMOSについてBSIM3トランジスタモデルを利用してメッシュバッファ２０各々をモデル化する。メッシュは大部分がメッシュモデルで構成され、正確なワイヤモデルはメッシュモデルの構成要素にできる。シミュレーションモデルの実行時間及びサイズを改善するため、より少ないワイヤが、多くのワイヤとは別様にモデル化可能である。図２は１つのモデル５０を示し、例えば１００ミクロンより小さなワイヤをモデル化するのに使用可能である。この１つのモデル５０は抵抗器５２、インダクタ５４及びキャパシタ５６，５８を用いてワイヤをモデル化している。図３は３モデルとして知られているモデル７０を示し、例えば、より長いワイヤをモデル化するのに使用可能である。３モデル６０は抵抗器７２，７４，７６と、インダクタ８２，８４，８６と、キャパシタ９２，９４，９６，９８を含む。この例では、本方法は図１の回路要素１４のクロックピンを等価なキャパシタンスとしてモデル化する。
【００２０】
多くのクロック分配法における関心事の1つは、各階路要素１４のクロック入力ピンにおけるクロック遅延の正確な計算である。２つの異なる回路要素でのクロック到着時間の差分は、それらの要素間のスキュー(skew)として知られている。複数の到着時間を比較することで、設計における最悪のスキューが計算可能である。より大きなスキューほどデータパスの最大遅延を制限し、設計応答時間に直接的な影響を及ぼす。或いは、所与の設計事項に関し、スキューは、クロックが定期説に機能するための最大クロック周波数に影響する。
【００２１】
チップ上の所与の回路要素で、２つの連続的なクロックエッジが、予想される或る単位時間内にないかもしれない。クロックタイミングの不確定性は、この予想される値からのクロックタイミングエッジのズレを示す。以下に示されるようないくつもの要因がこの不確定性を引き起こす可能性がある：
１．電源ノイズ：これは異なるクロックサイクルでスイッチングする様々なゲート群により引き起こされる。ゲート遅延は電源電圧の値に依存し、クロックバッファの何らかの電源電圧変動は、回路要素に至るクロック到着時間を変える。
【００２２】
２．温度変動Ｔ：温度はチップのスイッチング動作に起因して変化する。高速なスイッチング動作は大きな電力消費になり、より高い温度を招く。高温でのゲート動作は、キャリア移動度が小さくなることに起因して大きな遅延を招く。
【００２３】
３．（チップ内での及びチップ毎の）プロセス変動Ｐ：プロセス変動の例は、MOSFETチャネルのランダムなドーパントばらつきのような内因性の固有の変動と、チャネル長及び酸化膜厚変動のような外因性の変動とを含む。化学的機械研磨(CMP)プロセスでは、相互接続幅及び厚さは、意図される値からかなり変動するかもしれない。これらの変動はゲート及びワイヤ遅延がそれらの所望値から逸脱することを引き起こす。
【００２４】
４．クロストークのイズＸ：クロックワイヤの遅延は、クロックワイヤに物理的に近く且つスイッチングしているアグレッサ(aggressor)が存在する場合に変化するかもしれない。このスイッチング挙動は、クロックワイヤのタイミング変動を招くおそれがある。設計者は一般にクロックの両側をシールドし、そのようなクロックの影響を減らす又は排除しようとするが、これは最上位及び最下位の層からのクロストークを防ぐものではない。
【００２５】
５．ＰＬＬジッタ：ＰＬＬから発生したクロックは固有のジッタを有する。
【００２６】
上記のパラメータのいくつかは、チップが製造された場合に決まるランダムな未知の変動成分を有する。電源ノイズやクロストークのイズのような他のパラメータは、各クロックサイクルについて計算される必要がある。これらの厳密な計算は一般に法外なCPU及びメモリリソースを必要とし、実際には実現不可能かもしれない。しかしながらこれらが、回路要素１４のクロックエッジのタイミングにおける所望値からの不確定性を引き起こす。
【００２７】
Ｄがクロック元から回路要素へのパス遅延を示すとすると、ＤをＶ，Ｔ，Ｐ，Ｘの関数としてモデル化することができる。Ｄの不確定性はU(D)で示される。
【００２８】
図４は、ワイヤを介して別のバッファを駆動するバッファに関する統計的シミュレーションモデルの一例を示す。この図では、インバータバッファ１３０が、ワイヤを介してインバータバッファ１３２を駆動する。この例では、電源ノイズＶは、各クロックバッファに独立な電源Vdd1,Vdd2を与えることでモデル化され、ノイズモデルに従ってそれらはランダムに変化してよい。温度変動Ｔは、チップ全体について前提とする温度を指定し、ランダムなローカルな温度変動を各クロックバッファに及び各相互接続部に適用することでモデル化される。トランジスタのプロセス変動Ｐは、例えば、チャネル長Ｌ（lp,ln）及び／又は閾電圧delvtn,delvtpを用いることでモデル化できる。他の変動は閾値を変える影響を有し、この方法でモデル化される場合には間接的に含まれている。トランジスタ変数は図中集合的に１３８で示されている。閾電圧delctn,delvtp及びチャネル長の変動は、インバータバッファ１３０，１３２のサブ回路モデルのインスタンス各々に与えられる。配線のプロセス変動は、ランダムなプロセスファクタpfc,pfrを、ワイヤモデル134a-134nの書込キャパシタンス及びレジスタンスに適用することでモデル化される。
【００２９】
図４ではクロストークノイズは、ワイヤモデルに結合された外部ノイズ源136a-136nが存在するのをモデル化することで及び或る確率分布に基づいてそれらの外部ノイズ減にランダムな入力を与えることでモデル化される。
【００３０】
クロックネットワークがツリーであった場合、不確定性分析は例えばゲートレベルの総計的な静的なタイミング分析を用いて実行可能である。しかしながらそのような方法は、メッシュ中に存在するメタルループに起因して、メッシュ形式のクロック回路網に直接的には適用できないかもしれない。可能な１つの解決方法は、メモリに適用可能ならば、メッシュモデルについてモンテカルロシミュレーションを実行することである。モンテカルロシミュレーションは、パラメータ変動について或る分布を仮定し、各回路要素における遅延分布を求め、それから要素でのタイミング不確定性が導出可能である。各回路要素のパラメータは、モンテカルロシミュレーション各々の間で、他の回路要素のパラメータとは独立に設定可能である。ある技法はクロックメッシュをツリーに分解し、スムージングアルゴリズムを適用してメッシュロード(mesh  load)を再分配する。
【００３１】
本願の一実施例は、クロックメッシュの遅延分析にスライディングウインドウ法(SWS)を利用する。SWSでは、メッシュは少なくとも２つの異なるリソリューションと共にモデル化される：遅延が測定されるノードに近いメッシュ要素についての詳細な回路要素モデル、及び測定されるノードから遠いメッシュ要素についての簡易なモデル。図５はメッシュ全体１００のモデル例を示す。SWSはメッシュ全体１００より小さな四角形の内側のウインドウ102(W)を利用する。このウインドウは１以上のグリッドユニットのボーダー１０４(W’)を有する。本方法は、最も近いメッシュセグメント２６に対するボーダー１０４中の回路要素１４のコネクションを正確にモデル化する。一実施例では、ボーダー１０４内の回路要素はそれぞれ独立にモデル化される。図２，３に示されるようなシングルの又は３つのモデルがメッシュセグメントをモデル化するのに使用可能である。本方法は回路要素１４のクロック入力ピンをキャパシタとしてモデル化している。ボーダー１０４以外にある回路要素及びそれらのメッシュへの接続は概略的にモデル化されている。例えば、クロック入力ピンのキャパシタンスはまとめられ、ボーダー１０４外の所与のメッシュノードにおけるものとして取り扱われる。ボーダー１０４以外のメッシュセグメントをモデル化するために、適切なモデルが使用される。最後に、本方法はウインドウ１０２内側の回路要素全てにおけるクロック遅延を測定する。
【００３２】
あるウインドウ位置でモデル分析を実行した後に、本方法は内側のウインドウ１０２を、以前の内側のウインドウ位置に重ならないように水平又は垂直にずらす。再びモデルが生成され、シミュレーションソフトウエアを利用して実行される。かくて本方法はメッシュ全体を複数の独立したウインドウベースのシミュレーションに分解する。従ってSWSは分解及び攻略による区分け法である。
【００３３】
SWSはボーダー１０４以外の領域を近似し、回路モデルのノード数を減らすことができる。一実施例では、１つのグリッドユニットのボーダー１０４と共にSWSを用いて計算される遅延は、概して、メッシュ全体のSPICEシミュレーションで計算される遅延の１％未満になるであろう。ボーダーを使用しない場合は不正確な結果を招き、３０％に及ぶ誤差が出るおそれがある。１グリッドユニットより多くボーダー１０４を増やすことは、十分に精度を改善せず、実行時間をかなり増やしてしまう。ウインドウサイズが大きくなるにつれて、大きなボーダーサイズを利用することで、より正確な結果が得られると思われる。
【００３４】
今やSWSはメッシュのタイミング不確定性を分析するのに使用できる。図４に示されるように、クロックネットワークのワイヤ及びバッファ各々について変動パラメータが仮定される。図５の各ウインドウW’について、メッシュのモデルが作成され、本方法はモンテカルロシミュレーションを実行する。モンテカルロシミュレーションの実行各々において、クロックネットワークの各構成要素についてＶ，Ｔ，Ｐ，Ｘパラメータの値は、それら各自の分布から決定され、本方法は各回路要素の遅延Ｄを計算する。複数の実行の後に、遅延Ｄの分布が各回路要素について利用可能になる。そして本方法はこの分布から不確定性U(D)を計算する。本方法は更に全てのウインドウW’から不確定性を収集し、その設計における回路要素全てにおける不確定性をもたらすことができる。
【００３５】
図１はグローバルツリー１６を含むクロックメッシュを説明し、グローバルツリーはメッシュバッファを介してメッシュ１２を駆動する。本願の別の実施例では、SWSベースの不確定性分析はこのクロックネットワークを取り扱うこともできる。これを行う１つの方法は、SWSベースのMCSでウインドウ１０２の各ロケーションについてツリー全体を含めることである。しかしながらこれは時間がかかり且つ多くのメモリを消費する。なぜならそれは各ウインドウ１０２の場所について同じツリーを分析し直すからである。これを行ういっそう効率的な別方法は、ツリーの不確定性分析をメッシュ分析から分離し、それら２つを別々に実行することである。これを分析の速度を向上させ、使用するメモリも少なくて済む。
【００３６】
ツリー及びメッシュ分析を分離する一例は、先ず、グローバルツリー１６及びメッシュ１２と共にモノリシックなクロックネットワーク全体についてモンテカルロシミュレーションを実行し、各回路要素１４における不確定性を測定することである。参照の便宜を図るため、これはゴールデン法(G)と言及する。次に本方法はツリー及びメッシュ分析を分離する。この段階で、モンテカルロシミュレーションがグローバルツリー１６について実行され、各メッシュバッファ２０の入力でクロック到着時間の平均値及び標準偏差が導出される。本方法はその平均値及び標準偏差をメッシュ不確定性分析の入力として利用する。メッシュ不確定性分析は、１以上の回路要素における不確定性を計算する。そしてこの不確定性はＧと比較される。しかしながらこの方法だけでは不正確な結果しかもたらすことができない。なぜなら、メッシュバッファ２０の入力における遅延変数は全てが独立ではないからである：クロックツリー元から２つのバッファへのパス間で共用されるツリーエッジに起因して、それらは互いに相関し合うからである。グローバルツリー不確定性分析を示す図６は、この概念を示す。
【００３７】
相関の問題を解決する１つの方法は、次のようなものである。ツリー不確定性分析は、グローバルクロックツリーの各段階について遅延分布を生成する。例えば、図６では、本方法はエッジ160(AB)の遅延について平均値(μAB)及び標準偏差(σAB)を生成する。メッシュモンテカルロシミュレーションの実行各々について、各ツリーステージの遅延サンプルが各ステージの遅延分布から生成可能である。クロックツリー中のパスにおけるステージの遅延は、加算された遅延を生成するために加算される。本方法はこれらのパス遅延の値をメッシュ分析の特定のモンテカルロ計算の入力として使用する。かくてツリー中の各エッジは、それが属する全てのパスに同じ遅延の寄与を与える。本方法を用いたこの結果は一層良好なものであり：即ち、これらの結果及びＧの間の差分は、ツリー中の共通パス相関が考慮されない場合より小さくなる。本方法は１つのパスにおける２つの連続的なステージ間の遅延相関を無視している。本願の他の実施例はこれらのステージ遅延相関をも考慮に入れることができる。
【００３８】
本願の様々な実施例は、ハードウエアで、ソフトウエアで、ファームウエアで又はそれらの組み合わせで実現可能である。本願で開示される方法を実現するための命令は、プロセッサにとってアクセス可能な１以上のメモリ中に格納可能であり、プロセッサは本願の様々な実施例を実現するためにその命令の全部又は一部を実行可能である。
【００３９】
図７はタイミングの不確定性を分析する方法例２００を示すフローチャートである。本方法はステップ２１０から始まり、ウインドウ外の回路要素の近似的なモデルが作成される。ステップ２２０では、ウインドウ内の回路要素の正確なモデルが作成される。正確なモデルはウインドウ内の各ワイヤ、バッファ及び各メッシュのモデルを含んでもよい。双方モデルは、温度及び電源のようなメッシュ回路の動作に影響するパラメータをモデル化することができる。ステップ２３０では、モンテカルロシミュレーションが近似的なモデル及びより正確なモデルの組み合わせについて実行される。ステップ２４０では、モンテカルロシミュレーションの少なくとも一部に基づいて、不確定性が決定される。タイミングの不確定性を決定する１つの方法は、駆動信号に関する第１のタイミング値を決定し、駆動信号に関する第２のタイミング値を決定し、第１及び第２のタイミング値の少なくとも一部に基づいてタイミングの不確定性を決定することを含む。
【００４０】
図８はタイミングの不確定性を分析する方法例３００を示すフローチャートである。ステップ３１０では、メッシュ回路がスライディングウインドウ法を用いてモデル化される。スライディングウインドウ法を用いる１つの技法は、図１のウインドウ１９外側の回路要素の近似的なモデルを作成し、ウインドウ１９内側の回路要素の一層正確なモデルを作成することを含む。ステップ３２０では、メッシュ回路の一部のタイミング値が、スライディングウインドウ法のモデルについてモンテカルロシミュレーションを実行することで決定される。このステップを実行する１つの方法は、第１ウインドウ１９でカバーされるメッシュ回路の部分集合にわたってシミュレーションを実行し、第１のタイミング値を決定し、メッシュ回路の第２の部分集合をカバーするようにウインドウ１９をスライドさせることである。近似的なモデル及び正確なモデルは、ウインドウ１９の新たなロケーションに基づいて再び作成され、更なるモンテカルロシミュレーションが実行され、第２のタイミング値を決定する。ステップ３３０では、本方法は複数のタイミング値に少なくとも部分的に基づいて不確定性を決定する。
【００４１】
図９は、メッシュ回路を駆動する駆動回路に関連するタイミングの不確定性を決定する方法例４００を示すフローチャートである。本方法はステップ４１０から始まり、少なくとも１つのソース及び複数のシンクと共に、駆動回路のモデルが作成される。ステップ４２０では、駆動回路のモデルに潜在的に影響する１以上のパラメータの変動を利用することで、一群のシンクタイミング値が計算される。これは例えば、駆動回路のモデルに影響するかもしれない１以上のパラメータを変えることで駆動回路のモデルについて複数のモンテカルロシミュレーションを実行することで、或いは統計的なタイミング分析法を適用することで実行可能である。ステップ４３０では、メッシュ回路のモデルが、各ツリーシンクに結合された少なくとも１つのメッシュバッファ及びメッシュバッファ各々に結合された１以上の回路要素と共に作成される。ステップ４４０では、メッシュ回路のモデルについてモンテカルロシミュレーションが実行され、各階路要素における駆動信号のタイミング値を決定する。ツリー回路のシミュレーションから生成されたシンクタイミング値は、メッシュ回路のモデルについて実行されるシミュレーションで、各ツリーシンクに結合されたメッシュ回路への入力として使用可能である。最後に、ステップ４５０では本方法は、メッシュ回路のモデルのシミュレーション結果を利用して、回路要素に関連するタイミングの不確定性を決定する。
【００４２】
以上本発明がいくつかの実施例と共に説明されてきたが、変更例、変形例、代替例、変換例及び修正例の多数が当業者に示唆される。本発明はそのような変更例、変形例、代替例、変換例及び修正例を添付の特許請求の範囲内に包含するよう意図されている。
【００４３】
以下、本発明により教示される手段が例示的に列挙される。
【００４４】
（付記１）
メッシュ回路の少なくとも一部に関する不確定性を判定するための方法であって、
（ａ）前記メッシュ回路の部分集合をカバーするウインドウの外にある前記メッシュ回路の回路要素の１以上の近似的なモデルを作成するステップと、
（ｂ）前記メッシュ回路の前記ウインドウの中にある１以上の回路要素の一層正確なモデルを作成するステップと、
（ｃ）前記ウインドウの中にある１以上の回路要素の前記一層正確なモデル及び前記ウインドウの外にある１以上の回路要素の前記近似的なモデルの組み合わせで表現される前記メッシュ回路についてモンテカルロシミュレーションを複数回実行するステップと、
（ｄ）前記メッシュ回路についての複数回のモンテカルロシミュレーションから得られた結果の少なくとも一部に基づいて、前記メッシュ回路の少なくとも一部に関連する不確定性を判定するステップと、
を有する方法。
【００４５】
（付記２）
前記一層正確なモデルを作成することが、前記ウインドウの中にある前記１以上の回路要素のSPICEモデルを作成することを含む付記１記載の方法。
【００４６】
（付記３）
前記一層正確なモデルが、前記ウインドウの中にある前記メッシュ回路の前記１以上の回路要素各々を個々に考慮する付記１記載の方法。
【００４７】
（付記４）
前記メッシュ回路が複数のワイヤ及び複数のメッシュバッファを有し、前記メッシュバッファは、前記複数のワイヤの少なくとも１つに駆動信号を分配する付記１記載の方法。
【００４８】
（付記５）
前記ウインドウの中にある前記１以上の回路要素の前記一層正確なモデルが、前記ウインドウ内の各メッシュバッファ及び各ワイヤのモデルを含む付記４記載の方法。
【００４９】
（付記６）
前記ウインドウの外にある前記１以上の回路要素の近似的なモデルが、前記ウインドウの外にある各メッシュバッファ及び各ワイヤのモデルを含む付記４記載の方法。
【００５０】
（付記７）
前記ウインドウの中にある前記１以上の回路要素の前記一層正確なモデルが、前記メッシュ回路の動作に潜在的に影響する１以上のパラメータのモデルを含む付記５記載の方法。
【００５１】
（付記８）
前記ウインドウの中にある前記１以上の回路要素の前記一層正確なモデル及び前記ウインドウの外にある前記１以上の回路要素の前記近似的なモデルが、前記メッシュ回路の動作に潜在的に影響する１以上のパラメータのモデルを含む付記５記載の方法。
【００５２】
（付記９）
前記メッシュ回路の動作に潜在的に影響する前記１以上のパラメータが、温度、電源電圧、トランジスタチャネル長、トランジスタ閾電圧、相互接続幅、相互接続厚さ、クロストークノイズ及び位相ロックループジッタより成る群から選択されたパラメータを含む付記７記載の方法。
【００５３】
（付記１０）
前記メッシュ回路の動作に潜在的に影響する前記１以上のパラメータが、温度、電源電圧、トランジスタチャネル長、トランジスタ閾電圧、相互接続幅、相互接続厚さ、クロストークノイズ及び位相ロックループジッタより成る群から選択されたパラメータを含む付記８記載の方法。
【００５４】
（付記１１）
前記一層正確なモデルの前記１以上の回路要素の各々が、モンテカルロシミュレーション各々の間に、前記一層正確なモデルの前記１以上の他の回路要素のパラメータと独立に設定可能な１以上のパラメータを有する付記７記載の方法。
【００５５】
（付記１２）
前記近似的なモデルの前記１以上の回路要素の各々が、モンテカルロシミュレーション各々の間に、前記一層正確なモデルの前記１以上の他の回路要素のパラメータと独立に設定可能な１以上のパラメータを有する付記１１記載の方法。
【００５６】
（付記１３）
複数のモンテカルロシミュレーションの少なくとも２つが、前記メッシュ回路の動作に潜在的に影響を及ぼす少なくとも１つのパラメータについて異なる値を使用し、前記ウインドウの中にある１以上の回路要素の前記一層正確なモデルと、前記ウインドウの外にある１以上の回路要素の近似的なモデルとの組み合わせで表現される前記メッシュ回路をシミュレートすることを含む付記１記載の方法。
【００５７】
（付記１４）
前記メッシュ回路の少なくとも一部に関連する不確定性を判定するステップが、
前記駆動信号の少なくとも１つに関連する第１タイミング値と、前記１以上のパラメータ値の１つである第１の値とを決定するステップと、
前記駆動信号の少なくとも１つに関連する第２タイミング値と、前記１以上のパラメータ値の１つである第２の値とを決定するステップと、
前記第１及び第２タイミング値に少なくとも部分的に基づいて不確定性を判定するステップと、
を有する付記７記載の方法。
【００５８】
（付記１５）
前記第１又は前記第２タイミング値の少なくとも一方は、前記メッシュ回路の回路要素における信号到着時間、又は前記メッシュ回路の２つの異なる要素における信号のスキュー値を含む付記１４記載の方法。
【００５９】
（付記１６）
前記近似的なモデルを作成するステップは、第１の複数個の実際の回路要素を第２の複数個のモデル化された回路要素としてモデル化するステップを含み、前記第１の複数個は前記第２の複数個より多い付記１記載の方法。
【００６０】
（付記１７）
前記メッシュ回路の前記部分集合が前記メッシュ回路の第１の部分集合を含み、当該方法は、
前記メッシュ回路の第２の部分集合をカバーするように前記ウインドウをずらすステップと、
前記メッシュ回路の前記第２の部分集合をカバーする前記ウインドウの位置に基づいて、前記ステップ（ａ）乃至（ｄ）を実行するステップと、
を有する付記１記載の方法。
【００６１】
（付記１８）
前記メッシュ回路の前記第１の部分集合をカバーする前記ウインドウに基づいて計算された不確定性に少なくとも部分的に基づいて、前記メッシュ回路の少なくとも一部の不確定性を、又は前記メッシュ回路の前記第２の部分集合をカバーする前記ウインドウに基づいて計算される不確定性を決定するステップ
を更に有する付記１７記載の方法。
【００６２】
（付記１９）
前記メッシュ回路の少なくとも一部の不確定性が、前記メッシュ回路全体に関する不確定性を含む付記１８記載の方法。
【００６３】
（付記２０）
メッシュ回路の少なくとも一部に関連するタイミング値の不確定性を判定する方法であって、
（ａ）スライディングウインドウ法を用いてメッシュ回路をモデリングし、前記メッシュ回路のスライディングウインドウモデルを作成するステップと、
（ｂ）前記メッシュ回路の前記スライディングウインドウモデルについてモンテカルロシミュレーションを複数回実行することで、前記メッシュ回路の少なくとも一部に関する複数のタイミング値を判定するステップと、
（ｃ）前記複数のタイミング値に少なくとも部分的に基づいて、前記メッシュ回路の少なくとも一部に関するタイミング値の不確定性を判定するステップと、
を有する方法。
【００６４】
（付記２１）
前記複数のタイミング値が、前記メッシュ回路の回路要素における信号到着時間を又は前記メッシュ回路の２つの異なる要素における信号のスキュー値を含む付記２０記載の方法。
【００６５】
（付記２２）
スライディングウインドウ法を用いてメッシュ回路をモデリングするステップが、
（ａ）前記メッシュ回路の部分集合をカバーするウインドウの外にあるメッシュ回路の回路要素の1つ以上の近似的なモデルを作成するステップと、
（ｂ）前記ウインドウの中にある前記メッシュ回路の回路要素の1つ以上の一層正確なモデルを作成するステップと、
を有する付記２０記載の方法。
【００６６】
（付記２３）
前記メッシュ回路が複数のワイヤ及び複数のメッシュバッファを有し、各メッシュバッファは、前記複数のワイヤの少なくとも１つに駆動信号を分配する付記２０記載の方法。
【００６７】
（付記２４）
前記ウインドウの中にある前記１以上の回路要素の前記一層正確なモデルが、前記メッシュ回路の動作に潜在的に影響する１以上のパラメータのモデルを含む付記２２記載の方法。
【００６８】
（付記２５）
前記メッシュ回路の動作に潜在的に影響する前記１以上のパラメータが、温度、電源電圧、トランジスタチャネル長、トランジスタ閾電圧、相互接続幅、相互接続厚さ、クロストークノイズ及び位相ロックループジッタより成る群から選択されたパラメータを含む付記２４記載の方法。
【００６９】
（付記２６）
複数のモンテカルロシミュレーションの少なくとも２つが、前記メッシュ回路の動作に潜在的に影響を及ぼす少なくとも１つのパラメータについて異なる値を使用し、前記ウインドウの中にある１以上の回路要素の前記一層正確なモデルと、前記ウインドウの外にある１以上の回路要素の近似的なモデルとの組み合わせで表現される前記メッシュ回路をシミュレートすることを含む付記２０記載の方法。
【００７０】
（付記２７）
前記メッシュ回路の少なくとも一部の不確定性を判定するステップが、
前記駆動信号の少なくとも１つに関連する第１タイミング値と、前記１以上のパラメータ値の１つである第１の値とを決定するステップと、
前記駆動信号の少なくとも１つに関連する第２タイミング値と、前記１以上のパラメータ値の１つである第２の値とを決定するステップと、
前記第１及び第２タイミング値に少なくとも部分的に基づいてタイミング値の不確定性を判定するステップと、
を有する付記２５記載の方法。
【００７１】
（付記２８）
前記メッシュ回路の前記部分集合が前記メッシュ回路の第１の部分集合を含み、当該方法は、
前記メッシュ回路の第２の部分集合をカバーするように前記ウインドウをずらすステップと、
前記メッシュ回路の前記第２の部分集合をカバーする前記ウインドウの位置に基づいて、付記２０に記載の前記ステップ（ａ）乃至（ｄ）を実行するステップと、
を有する付記２２記載の方法。
【００７２】
（付記２９）
前記メッシュ回路の前記第１の部分集合をカバーする前記ウインドウに基づいて計算された不確定性に少なくとも部分的に基づいて、前記メッシュ回路の少なくとも一部のタイミング値の不確定性を、及び前記メッシュ回路の前記第２の部分集合をカバーする前記ウインドウに基づいて計算されるタイミング値の不確定性を決定するステップ
を更に有する付記２８記載の方法。
【００７３】
（付記３０）
前記メッシュ回路の少なくとも一部のタイミング値の不確定性が、前記メッシュ回路全体に関するタイミング値の不確定性を含む付記２９記載の方法。
【００７４】
（付記３１）
メッシュ回路のクロック信号に関するタイミング値の不確定性を判定する方法であって、
（ａ）前記メッシュ回路の部分集合をカバーするウインドウの外にあるメッシュ回路の回路要素1つ以上の近似的なモデルを作成するステップと、
（ｂ）前記ウインドウの中にある前記メッシュ回路の回路要素1つ以上の正確なモデルを作成するステップと、
（ｃ）前記正確なモデル及び前記近似的なモデルの組み合わせについてモンテカルロシミュレーションを複数回実行し、複数のタイミング値を判定するステップであって、前記モンテカルロシミュレーションの実行結果各々は、前記メッシュ回路の動作に潜在的に影響を与える1以上のパラメータを変えるステップと、
（ｄ）前記複数のタイミング値に少なくとも部分的に基づいて、前記メッシュ回路の少なくとも一部のクロック信号に関するタイミング値の不確定性を判定するステップと、
を有する方法。
【００７５】
（付記３２）
前記メッシュ回路の動作に潜在的に影響する前記１以上のパラメータが、温度、電源電圧、トランジスタチャネル長、トランジスタ閾電圧、相互接続幅、相互接続厚さ、クロストークノイズ及び位相ロックループジッタより成る群から選択されたパラメータを含む付記３１記載の方法。
【００７６】
（付記３３）
前記メッシュ回路が複数のワイヤ及び複数のメッシュバッファを有し、各メッシュバッファは、前記複数のワイヤの少なくとも１つに駆動信号を分配する付記３１記載の方法。
【００７７】
（付記３４）
前記メッシュ回路の少なくとも一部のタイミング値の不確定性を判定するステップが、
前記駆動信号の少なくとも１つに関連する第１タイミング値と、前記１以上のパラメータ値の１つである第１の値とを決定するステップと、
前記駆動信号の少なくとも１つに関連する第２タイミング値と、前記１以上のパラメータ値の１つである第２の値とを決定するステップと、
前記第１及び第２タイミング値に少なくとも部分的に基づいて不確定性を判定するステップと、
を有する付記３３記載の方法。
【００７８】
（付記３５）
前記第１又は前記第２タイミング値の少なくとも一方は、前記メッシュ回路の回路要素におけるクロック信号到着時間、又は前記メッシュ回路の２つの異なる要素におけるクロック信号のスキュー値を含む付記３４記載の方法。
【００７９】
（付記３６）
前記ウインドウのサイズは、メッシュモデル全体のサイズの関数として選択される付記３１記載の方法。
【００８０】
（付記３７）
前記ウインドウは、一定の幅の境界を有する付記３１記載の方法。
【００８１】
（付記３８）
前記回路要素は、ワイヤ、バッファ及び一連の回路要素を含む付記３１記載の方法。
【００８２】
（付記３９）
メッシュ回路を駆動する駆動回路を含む回路の少なくとも一部に関連するタイミング値の不確定性を判定する方法であって、
少なくとも１つのソース及び複数のシンクを有する駆動回路のモデルを作成するステップと、
前記駆動回路の前記モデルに潜在的に影響する１以上のパラメータの変動を利用することで、駆動回路の各シンクに到着する駆動信号についての一群のシンクタイミング値を計算するステップと、
前記駆動回路で駆動されるメッシュ回路のモデルを作成するステップであって、前記メッシュ回路は、前記複数の駆動回路のシンク各々に結合された少なくとも１つのメッシュバッファと、前記メッシュバッファ各々に結合された１以上の回路要素とを含むステップと、
前記メッシュ回路の前記モデルについてモンテカルロシミュレーションを複数回実行し、各シミュレーションについて、前記回路要素各々における駆動信号の回路要素タイミング値を判定するステップであって、前記駆動回路の前記シンクタイミング値は、前記メッシュ回路の複数回のシミュレーションの少なくとも１つにおいて、各駆動回路シンクに結合される前記メッシュバッファへの入力として使用されるステップと、
前記メッシュ回路の前記モデルのシミュレーション結果に少なくとも部分的に基づいて、前記１以上の回路要素の少なくともいくつかに関するタイミング値の不確定性を判定するステップと、
を有する方法。
【００８３】
（付記４０）
前記回路要素が、ワイヤ、バッファ及び一連の回路要素を含む付記３９記載の方法。
【００８４】
（付記４１）
前記駆動回路の動作に潜在的に影響する前記１以上のパラメータが、温度、電源電圧、トランジスタチャネル長、トランジスタ閾電圧、相互接続幅、相互接続厚さ、クロストークノイズ及び位相ロックループジッタより成る群から選択されたパラメータを含む付記３９記載の方法。
【００８５】
（付記４２）
前記駆動回路で駆動されるメッシュ回路のモデルを作成するステップが、
（ａ）前記メッシュ回路の部分集合をカバーするウインドウの外にあるメッシュ回路の回路要素の1つ以上の近似的なモデルを作成するステップと、
（ｂ）前記ウインドウの中にある前記メッシュ回路の回路要素の1つ以上の一層正確なモデルを作成するステップと、
を有する付記３９記載の方法。
【００８６】
（付記４３）
１以上の回路要素の少なくともいくつかに関連するタイミング値の不確定性を判定するステップが、
スライディングウインドウ法を用いてメッシュ回路をモデリングし、前記メッシュ回路のスライディングウインドウモデルを作成するステップと、
前記メッシュ回路の前記スライディングウインドウモデルについてモンテカルロシミュレーションを複数回実行することで、前記メッシュ回路の少なくとも一部に関する複数のタイミング値を判定するステップと、
前記複数のタイミング値に少なくとも部分的に基づいて、前記メッシュ回路の少なくとも一部に関するタイミング値の不確定性を判定するステップと、
を有する付記３９記載の方法。
【００８７】
（付記４４）
前記一層正確なモデルが、前記ウインドウの中にある前記メッシュ回路の回路要素１つ以上の各々を個々に表現する付記３９記載の方法。
【００８８】
（付記４５）
前記近似的なモデルを作成するステップが、第１の複数の実際の回路要素のを第２の複数のモデル化された回路要素としてモデル化するステップを有する付記３９記載の方法。
【００８９】
（付記４６）
前記駆動回路が、複数のメッシュ回路を駆動するよう動作する付記３９記載の方法。
【００９０】
（付記４７）
前記駆動回路が、ツリー回路を含む付記３９記載の方法。
【００９１】
（付記４８）
前記駆動回路の前記モデルに潜在的に影響する１以上のパラメータを変えることにより又は統計的なタイミング分析法により、前記駆動回路の前記モデルについてモンテカルロシミュレーションを複数回実行することで、一群のシンクタイミング値が計算される付記３９記載の方法。
【００９２】
（付記４９）
１以上の有形媒体中にエンコードされる論理装置であって、
（ａ）メッシュ回路の部分集合をカバーするウインドウの外にある前記メッシュ回路の回路要素の１以上の近似的なモデルを作成するステップと、
（ｂ）前記メッシュ回路の前記ウインドウの中にある１以上の回路要素の一層正確なモデルを作成するステップと、
（ｃ）前記ウインドウの中にある１以上の回路要素の前記一層正確なモデル及び前記ウインドウの外にある１以上の回路要素の前記近似的なモデルの組み合わせで表現される前記メッシュ回路についてモンテカルロシミュレーションを複数回実行するステップと、
（ｄ）前記メッシュ回路についての複数回のモンテカルロシミュレーションから得られた結果の少なくとも一部に基づいて、前記メッシュ回路の少なくとも一部に関連する不確定性を判定するステップと、
をコンピュータに実行させる論理装置。
【００９３】
（付記５０）
１以上の有形媒体中にエンコードされる論理装置であって、
（ａ）スライディングウインドウ法を用いてメッシュ回路をモデリングし、前記メッシュ回路のスライディングウインドウモデルを作成するステップと、
（ｂ）前記メッシュ回路の前記スライディングウインドウモデルについてモンテカルロシミュレーションを複数回実行することで、前記メッシュ回路の少なくとも一部に関する複数のタイミング値を判定するステップと、
（ｃ）前記複数のタイミング値に少なくとも部分的に基づいて、前記メッシュ回路の少なくとも一部に関するタイミング値の不確定性を判定するステップと、
をコンピュータに実行させる論理装置。
【００９４】
（付記５１）
１以上の有形媒体中にエンコードされる論理装置であって、
少なくとも１つのソース及び複数のシンクを有する駆動回路のモデルを作成するステップと、
前記駆動回路の前記モデルに潜在的に影響する１以上のパラメータの変動を利用することで、駆動回路の各シンクに到着する駆動信号についての一群のシンクタイミング値を計算するステップと、
前記駆動回路で駆動されるメッシュ回路のモデルを作成するステップであって、前記メッシュ回路は、前記複数の駆動回路のシンク各々に結合された少なくとも１つのメッシュバッファと、前記メッシュバッファ各々に結合された１以上の回路要素とを含むステップと、
前記メッシュ回路の前記モデルについてモンテカルロシミュレーションを複数回実行し、各シミュレーションについて、前記回路要素各々における駆動信号の回路要素タイミング値を判定するステップであって、前記駆動回路の前記シンクタイミング値は、前記メッシュ回路の複数回のシミュレーションの少なくとも１つにおいて、各駆動回路シンクに結合される前記メッシュバッファへの入力として使用されるステップと、
前記メッシュ回路の前記モデルのシミュレーション結果に少なくとも部分的に基づいて、前記１以上の回路要素の少なくともいくつかに関するタイミング値の不確定性を判定するステップと、
をコンピュータに実行させる論理装置。
【００９５】
（付記５２）
１以上のプロセッサと、
前記プロセッサに結合され、１以上の命令を有するメモリと、
を有する装置であって、前記命令は、
（ａ）メッシュ回路の部分集合をカバーするウインドウの外にある前記メッシュ回路の回路要素の１以上の近似的なモデルを作成するステップと、
（ｂ）前記メッシュ回路の前記ウインドウの中にある１以上の回路要素の一層正確なモデルを作成するステップと、
（ｃ）前記ウインドウの中にある１以上の回路要素の前記一層正確なモデル及び前記ウインドウの外にある１以上の回路要素の前記近似的なモデルの組み合わせで表現される前記メッシュ回路についてモンテカルロシミュレーションを複数回実行するステップと、
（ｄ）前記メッシュ回路についての複数回のモンテカルロシミュレーションから得られた結果の少なくとも一部に基づいて、前記メッシュ回路の少なくとも一部に関連する不確定性を判定するステップと、
を前記プロセッサに実行させる装置。
【００９６】
（付記５３）
１以上のプロセッサと、
前記プロセッサに結合され、１以上の命令を有するメモリと、
を有する装置であって、前記命令は、
（ａ）スライディングウインドウ法を用いてメッシュ回路をモデリングし、前記メッシュ回路のスライディングウインドウモデルを作成するステップと、
（ｂ）前記メッシュ回路の前記スライディングウインドウモデルについてモンテカルロシミュレーションを複数回実行することで、前記メッシュ回路の少なくとも一部に関する複数のタイミング値を判定するステップと、
（ｃ）前記複数のタイミング値に少なくとも部分的に基づいて、前記メッシュ回路の少なくとも一部に関するタイミング値の不確定性を判定するステップと、
を前記プロセッサに実行させる装置。
【００９７】
（付記５４）
１以上のプロセッサと、
前記プロセッサに結合され、１以上の命令を有するメモリと、
を有する装置であって、前記命令は、
少なくとも１つのソース及び複数のシンクを有する駆動回路のモデルを作成するステップと、
前記駆動回路の前記モデルに潜在的に影響する１以上のパラメータの変動を利用することで、駆動回路の各シンクに到着する駆動信号についての一群のシンクタイミング値を計算するステップと、
前記駆動回路で駆動されるメッシュ回路のモデルを作成するステップであって、前記メッシュ回路は、前記複数の駆動回路のシンク各々に結合された少なくとも１つのメッシュバッファと、前記メッシュバッファ各々に結合された１以上の回路要素とを含むステップと、
前記メッシュ回路の前記モデルについてモンテカルロシミュレーションを複数回実行し、各シミュレーションについて、前記回路要素各々における駆動信号の回路要素タイミング値を判定するステップであって、前記駆動回路の前記シンクタイミング値は、前記メッシュ回路の複数回のシミュレーションの少なくとも１つにおいて、各駆動回路シンクに結合される前記メッシュバッファへの入力として使用されるステップと、
前記メッシュ回路の前記モデルのシミュレーション結果に少なくとも部分的に基づいて、前記１以上の回路要素の少なくともいくつかに関するタイミング値の不確定性を判定するステップと、
を前記プロセッサに実行させる装置。
【００９８】
（関連出願）
本願は西暦2006年3月3日に出願された“Analyzing  Timing  Uncertainty  in  Mesh-Based  Clock  Architecture”と題する米国仮特許出願番号第60/779,242号の優先権の利益を享受するものである。
【図面の簡単な説明】
【００９９】
【図１】メッシュベースのクロックアーキテクチャ例を示す図である。
【図２】１つのワイヤに関する単独モデルの一例を示す図である。
【図３】１つのワイヤに関する３つのモデルの一例を示す図である。
【図４】ワイヤを介して他のバッファを駆動するバッファについての統計的シミュレーションモデル例を示す図である。
【図５】スライディングウインドウ法の一例を示す図である。
【図６】グローバルツリー不確定性分析の一例を示す図である。
【図７】スライディングウインドウ分析法を用いてタイミングの不確定性を分析する方法例を示すフローチャートである。
【図８】タイミングの不確定性を分析する別の方法例を示すフローチャートである。
【図９】メッシュ回路を駆動するツリー回路に関連するタイミングの不確定性を分析する方法例を示すフローチャートである。
【符号の説明】
【０１００】
１０  アーキテクチャ
１２  メッシュ
１６  グローバルバッファツリー
１８  ローカル相互接続部
１９，１０２  ウインドウ
２０  メッシュバッファ
22a-22nメッシュノード
２６  メッシュセグメント
５０  モデル
５２  抵抗器
５４  インダクタ
５６，５８，９２，９４，９６，９８  キャパシタ
７２，７４，７６  抵抗器
８２，８４，８６  インダクタ
１０４  ボーダー
１３０，１３２  インバータバッファ
【図１】
2007242015.tif 000003
【図２】
2007242015.tif 000004
【図３】
2007242015.tif 000005
【図４】
2007242015.tif 000006
【図５】
2007242015.tif 000007
【図６】
2007242015.tif 000008
【図７】
2007242015.tif 000009
【図８】
2007242015.tif 000010
【図９】
2007242015.tif 000011
【外国語明細書】
2007242015.tif 000012
2007242015.tif 000013
2007242015.tif 000014
2007242015.tif 000015
2007242015.tif 000016
2007242015.tif 000017
2007242015.tif 000018
2007242015.tif 000019
2007242015.tif 000020
2007242015.tif 000021
2007242015.tif 000022
2007242015.tif 000023
2007242015.tif 000024
2007242015.tif 000025
2007242015.tif 000026
2007242015.tif 000027
2007242015.tif 000028
2007242015.tif 000029
2007242015.tif 000030
2007242015.tif 000031
2007242015.tif 000032
2007242015.tif 000033
2007242015.tif 000034
2007242015.tif 000035
2007242015.tif 000036
2007242015.tif 000037
2007242015.tif 000038
2007242015.tif 000039
2007242015.tif 000040
2007242015.tif 000041
2007242015.tif 000042
2007242015.tif 000043
2007242015.tif 000044
2007242015.tif 000045
2007242015.tif 000046
2007242015.tif 000047
2007242015.tif 000048
2007242015.tif 000049
2007242015.tif 000050
2007242015.tif 000051