(57)【特許請求の範囲】
【請求項１】
コンピュータが実行するクロックメッシュの分析方法であって、
前記コンピュータが、
複数のシーケンシャル要素及びクロックメッシュを有するチップの記述と、前記シーケンシャル要素及び相互接続をモデル化するための情報と、前記クロックメッシュの一群のパラメータとにアクセスするステップであって、前記記述は、前記シーケンシャル要素を識別し、前記チップ上の前記シーケンシャル要素の位置を示し、前記チップ上の前記シーケンシャル要素間の相互接続を特定し、前記チップのレイアウトを特定するステップと、
前記チップの記述と、前記シーケンシャル要素及び相互接続をモデル化するための情報と、前記クロックメッシュの一群のパラメータとを利用するステップであって、
前記クロックメッシュをカバーする複数のオリジナルウインドウロケーションを決め、オリジナルウインドウロケーションの各々は前記チップ上の１つ以上のシーケンシャル要素を有するステップと、
前記オリジナルウインドウロケーション各々について、
前記オリジナルウインドウロケーションを１つ以上の方向に拡張し、より大きなウインドウロケーションを生成し、
前記より大きなウインドウロケーションの中でメッシュシミュレーションモデルを生成し、
前記メッシュシミュレーションモデルをシミュレーションし、
前記メッシュシミュレーションモデルのシミュレーションに基づいて、前記オリジナルウインドウロケーション中の前記シーケンシャル要素のクロックタイミングを測定し、且つ、
前記オリジナルウインドウロケーション中の前記シーケンシャル要素について前記測定されたクロックタイミングに基づいて、前記チップ上の前記シーケンシャル要素全てのタイミング情報を収集するステップと、
を実行する分析方法。
【請求項２】
１つ以上の有形媒体にエンコードされる分析プログラムであって、コンピュータに、
複数のシーケンシャル要素及びクロックメッシュを有するチップの記述と、前記シーケンシャル要素及び相互接続をモデル化するための情報と、前記クロックメッシュの一群のパラメータとにアクセスするステップであって、前記記述は、前記シーケンシャル要素を識別し、前記チップ上の前記シーケンシャル要素の位置を示し、前記チップ上の前記シーケンシャル要素間の相互接続を特定し、前記チップのレイアウトを特定するステップと、
前記チップの記述と、前記シーケンシャル要素及び相互接続をモデル化するための情報と、前記クロックメッシュの一群のパラメータとを利用するステップであって、前記クロックメッシュをカバーする複数のオリジナルウインドウロケーションを決め、オリジナルウインドウロケーションの各々は前記チップ上の１つ以上のシーケンシャル要素を有するステップと、
前記オリジナルウインドウロケーション各々について、
前記オリジナルウインドウロケーションを１つ以上の方向に拡張し、より大きなウインドウロケーションを生成し、
前記より大きなウインドウロケーションの中でメッシュシミュレーションモデルを生成し、
前記メッシュシミュレーションモデルをシミュレーションし、
前記メッシュシミュレーションモデルのシミュレーションに基づいて、前記オリジナルウインドウロケーション中の前記シーケンシャル要素のクロックタイミングを測定し、且つ、
前記オリジナルウインドウロケーション中の前記シーケンシャル要素について前記測定されたクロックタイミングに基づいて、前記チップ上の前記シーケンシャル要素全てのタイミング情報を収集するステップと、
を実行させる分析プログラム。
【請求項３】
１つ以上のプロセッサと、
１つ以上の命令を含む前記プロセッサに結合されたメモリと、
を有する装置であって、前記命令は、
複数のシーケンシャル要素及びクロックメッシュを有するチップの記述と、前記シーケンシャル要素及び相互接続をモデル化するための情報と、前記クロックメッシュの一群のパラメータとにアクセスするステップであって、前記記述は、前記シーケンシャル要素を識別し、前記チップ上の前記シーケンシャル要素の位置を示し、前記チップ上の前記シーケンシャル要素間の相互接続を特定し、前記チップのレイアウトを特定するステップと、
前記チップの記述と、前記シーケンシャル要素及び相互接続をモデル化するための情報と、前記クロックメッシュの一群のパラメータとを利用するステップであって、前記クロックメッシュをカバーする複数のオリジナルウインドウロケーションを決め、オリジナルウインドウロケーションの各々は前記チップ上の１つ以上のシーケンシャル要素を有するステップと、
前記オリジナルウインドウロケーション各々について、
前記オリジナルウインドウロケーションを１つ以上の方向に拡張し、より大きなウインドウロケーションを生成し、
前記より大きなウインドウロケーションの中でメッシュシミュレーションモデルを生成し、
前記メッシュシミュレーションモデルをシミュレーションし、
前記メッシュシミュレーションモデルのシミュレーションに基づいて、前記オリジナルウインドウロケーション中の前記シーケンシャル要素のクロックタイミングを測定し、且つ、
前記オリジナルウインドウロケーション中の前記シーケンシャル要素について前記測定されたクロックタイミングに基づいて、前記チップ上の前記シーケンシャル要素全てのタイミング情報を収集するステップと、
を前記１つ以上のプロセッサに実行させる装置。
【請求項４】
前記オリジナルウインドウロケーションの２つ以上が、互いに並列的に処理される請求項３記載の装置。
【請求項５】
前記クロックメッシュのアーキテクチャが、１つのメッシュ又は複数のメッシュを有する請求項３記載の装置。
【請求項６】
前記クロックメッシュのアーキテクチャが、グローバルツリーを有する請求項３記載の装置。
【請求項７】
前記クロックメッシュのアーキテクチャが、前記チップ上の各シーケンシャル要素への又は複数のローカルツリーへの直接的な接続を有するローカルな区域を有する請求項３記載の装置。
【請求項８】
コンピュータが実行するクロックメッシュの分析システムであって、
前記コンピュータが、複数のシーケンシャル要素及びクロックメッシュを有するチップの記述と、前記シーケンシャル要素及び相互接続をモデル化するための情報と、前記クロックメッシュの一群のパラメータとにアクセスする手段であって、前記記述は、前記シーケンシャル要素を識別し、前記チップ上の前記シーケンシャル要素の位置を示し、前記チップ上の前記シーケンシャル要素間の相互接続を特定し、前記チップのレイアウトを特定する手段と、
前記コンピュータが、前記チップの記述と、前記シーケンシャル要素及び相互接続をモデル化するための情報と、前記クロックメッシュの一群のパラメータとを利用する手段であって、前記クロックメッシュをカバーする複数のオリジナルウインドウロケーションを決め、オリジナルウインドウロケーションの各々は前記チップ上の１つ以上のシーケンシャル要素を有する手段と、
前記コンピュータが、前記オリジナルウインドウロケーション各々について、
前記オリジナルウインドウロケーションを１つ以上の方向に拡張し、より大きなウインドウロケーションを生成し、
前記より大きなウインドウロケーションの中でメッシュシミュレーションモデルを生成し、
前記メッシュシミュレーションモデルをシミュレーションし、
前記メッシュシミュレーションモデルのシミュレーションに基づいて、前記オリジナルウインドウロケーション中の前記シーケンシャル要素のクロックタイミングを測定し、且つ、
前記オリジナルウインドウロケーション中の前記シーケンシャル要素について前記測定されたクロックタイミングに基づいて、前記チップ上の前記シーケンシャル要素全てのタイミング情報を収集する手段と、
を有する分析システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般にクロックメッシュの技術分野に関連し、特にクロックメッシュを分析する改善されたスライディングウインドウ法をもたらすシステム及び方法に関連する。
【背景技術】
【０００２】
集積回路の急増は、装置、部品及びアーキテクチャの多くに含まれているディジタルシステム及びマイクロプロセッサの設計上の要求を増やしている。マイクロプロセッサを含むディジタルシステム数は、着実に増え続けており、様々な製品及びシステムで使用されている。追加的なタスクを実行するため、或いはそれらのアプリケーションや環境で更に複雑な動作を実行するために、追加的な機能が集積回路に実装されるかもしれない。
【０００３】
マイクロプロセッサに関し、現世代の組み込みシステムは、精度、パフォーマンス及び電力消費に関して厳しい条件を有する。多くの組み込みシステムは、通信、画像処理、ビデオプロセッシング等のための複雑なアルゴリズムを使用し、それは集約的な演算処理である。メッシュ又はグリッドアーキテクチャは、クロック及びパワー／グランドのようなクリティカルグローバル信号をチップ上で分散するのに一般的である。メッシュアーキテクチャはループで生成される固有の冗長性を使用して、チップ上で空間的に分散されている信号ノード間の望まれない変動を平滑化する。これらの変動は、（フリップフロップのような）回路要素の非対称な分散性やダイのプロセス変動の範疇での、設計における非一様なスイッチング動作に起因する。パワー／グランドに関し、ネットワークの様々なノードにおける電圧変動（非一様なスイッチング動作に起因する電圧変動）を減らすことをメッシュは支援できる。
【０００４】
しかしながら、メッシュアーキテクチャの適用性を妨げる１つの問題は、それらを十分高精度に分析することの困難性である。その主な理由は、大きな設計の中で緻密なメッシュを正確にモデル化する必要のある回路ノード数が膨大であること、及びメッシュ構造に存在するメタルループ（サイクル）数が膨大なことである。従って、これらの問題に対処すること／最適な処理を達成する複雑な処理に対処することは、システム設計者及び部品製造業者にとってかなり重要な問題である。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明の課題は、メッシュアーキテクチャを十分高精度に分析できるようにすることである。
【課題を解決するための手段】
【０００６】
本発明の特定の実施例は、従来のクロックメッシュシステムに付随する問題及び欠点を解消又は軽減する。
【０００７】
一実施例では、クロックメッシュ分析のための方法が提供され、本方法は、複数のシーケンシャル要素及びクロックメッシュを有するチップの記述にアクセスするステップを含み、前記記述は、前記シーケンシャル要素を識別し、前記チップ上の前記シーケンシャル要素の位置を示し、前記チップ上の前記シーケンシャル要素間の相互接続を特定し、前記チップのレイアウトを特定する。本方法は、前記シーケンシャル要素及び相互接続をモデル化するための情報と、前記クロックメッシュの一群のパラメータとにアクセスするステップも含む。更に本方法は、前記チップの記述と、前記シーケンシャル要素及び相互接続をモデル化するための情報と、前記クロックメッシュの一群のパラメータとを利用するステップを含む。更に、本方法は、前記クロックメッシュをカバーする複数のオリジナルウインドウロケーションを決めるステップを含み、オリジナルウインドウロケーションの各々は前記チップ上の１つ以上のシーケンシャル要素を有する。更に、オリジナルウインドウロケーション各々について、本方法は、前記オリジナルウインドウロケーションを１つ以上の方向に拡張し、より大きなウインドウロケーションを生成し；前記より大きなウインドウロケーションの中でメッシュシミュレーションモデルを生成し；前記メッシュシミュレーションモデルをシミュレーションし；前記メッシュシミュレーションモデルのシミュレーションに基づいて、前記オリジナルウインドウロケーション中の前記シーケンシャル要素のクロックタイミングを測定し；且つ前記オリジナルウインドウロケーション中の前記シーケンシャル要素について前記測定されたクロックタイミングに基づいて、前記チップ上の前記シーケンシャル要素全てのタイミング情報を収集する。
【発明を実施するための最良の形態】
【０００８】
特定の実施例は1つ以上の技術的利点をもたらし、それらの1つ以上は明細書、特許請求の範囲及び図面から当業者に明確になるであろう。
【０００９】
本発明及びその利点の完全な理解を更に期するため、添付図面に関連する以下の説明が参照される。
【実施例１】
【００１０】
図１は典型的な又は例示的なメッシュアーキテクチャシステム１０の概略図であり、そのシステムは、位相ロックループ(PLL)又はルートバッファから、フリップフロップ(FF)及びラッチのような一連の素子へクロック信号をチップ上で分配するのに使用される。３つのメインコンポーネントが含まれ、それらは：１）(一様な)メッシュ、２）メッシュを駆動するグローバルバッファツリー及び３）ローカル相互接続部であり、ローカル相互接続部はFFのクロック入力をメッシュ上の最近接点に直接的に接続する。メッシュは、チップ領域全体に及ぶ一様で規則的なワイヤの格子(グリッド)であり、メッシュバッファによって駆動され、クロックをFFに伝搬する。ｍｘｎメッシュ又はグリッドは、ｍ個の行(ロー)(水平なワイヤ)と、ｎ個の列(カラム)(垂直なワイヤ)とを有する。メッシュのサイズはｍｘｎである。所与のチップサイズに関し、メッシュサイズが大きくなるほど、よりメッシュのグレインはより緻密になる。メッシュノード(又はグリッドノード)は、各行が各列と接続される地点である。図１に示されるように、グローバル(H-)ツリーは、メッシュバッファと呼ばれるバッファを介してクロック信号をメッシュノードへ分配する。ｋｘｌ個の一様なメッシュバッファのアレイが想定されている。図１では、ｋ＝ｍ＝４及びｌ＝ｎ＝４である。２つの隣接するメッシュノード間のメッシュワイヤはメッシュセグメントと呼ばれ、１つのグリッド単位を表す。
【００１１】
教示及び説明の目的で、以下の本発明の動作をいくらか概観することは有益であろう。以下の基本的な情報は、本発明が正確に説明される基礎として理解されてもよい。そのような情報は説明目的に対してのみ真意に与えられ、従って本発明の広範な内容及びその潜在的な出願内容を限定するように解釈されるべきではない。
【００１２】
メッシュ又はグリッドアーキテクチャは、クロック及びパワー／グランドのようなクリティカルなグローバル信号をチップ上で分配するのに一般的である。メッシュアーキテクチャはループで生成される固有の冗長性を使用して、チップ上で空間的に分散されている信号ノード間の望まれない変動を平滑化する。これらの変動は、（フリップフロップのような）回路要素の非対称な分散性やダイのプロセス変動の範疇での、設計における非一様なスイッチング動作に起因する。パワー／グランドに関し、ネットワークの様々なノードにおける電圧変動（非一様なスイッチング動作に起因する電圧変動）を減らすことをメッシュは支援できる。
【００１３】
メッシュアーキテクチャの適用性を妨げる１つの問題は、それらを十分高精度に分析することの困難性である。その主な理由は、大きな設計の中で緻密なメッシュを正確にモデル化する必要のある回路ノード数が膨大であること、及びメッシュ構造に存在するメタルループ（サイクル）数が膨大なことである。従って、これらの問題に対処すること／最適な処理を達成する複雑な処理に対処することは、システム設計者及び部品製造業者にとってかなり重要な問題である。
【００１４】
あるクロック信号に関し、メッシュ(図１)は（例えば、ディジタル200MHzアルファ及び600MHzアルファ；IBMG5S/390，パワー４及びパワーPC；SUNSparcV9等のような）マイクロプロセッサ設計で非常に小さなスキュー(skew)を達成するよう示される。メッシュは優れたジッタ緩和特性を有する。
【００１５】
従来のスタティックタイミング分析(STA:  Static  Timing  Analysis)法は、タイミング情報を入力から出力に（又はその逆に）伝送しており、前提とするグラフ構造が有向非巡回グラフ(DAG:  Directed  Acyclic  Graph)であることを要する。これらは有向ループ(又はサイクル)を処理できない。その結果、SPICEのような回路シミュレーションは、メッシュ分析に利用可能な唯一の解法になる。回路シミュレーションはその回路構造内の回路を取り扱うことができる。しかしながらそれは法外なメモリ量や実行時間を必要としてしまう。従ってHSPICE及びHSIM(Synopsysからのもの)は双方共に工業設計用の粗いクロックメッシュでさえ分析することは困難である。
【００１６】
クロックメッシュの遅延時間を分析するのにスライディングウインドウ(SWS:  Sliding  Window  Scheme)法も考えられる。SWSは関心のあるノードに近い又は遠いノードをモデル化する様々な分解能を利用する。SWSは、HSPICEでメモリ容量を超えるメッシュ及び設計インスタンスを解決するように見える。SWSの改善が望まれ、それはメッシュ分割法(MPS:  Mesh  Partitioning  Scheme)と言及してよい。MPSはSWSよりも非常に少ないメモリしか消費せず、如何なる精度劣化も被らずに、原理的なスライディングウインドウ法よりも300倍高速になる。更にMPSは、SWSができなかった実際の設計及びメッシュインスタンスを仕上げることができる。メッシュタイミング不確定性分析に関連する出願の内容がここで概説され、MPS法はモンテカルロシミュレーション時間が(SWSでは)300時間であったのを118時間に削減する。一様な又は非一様なメッシュと共に、MPSは純粋なメッシュアーキテクチャ(図１)に、及びメッシュベースのハイブリッドアーキテクチャ(後述)に適用可能である。それは最適なクロックメッシュ設計及びポストルートメッシュ分析に使用されてもよい。最後にそれは如何なる回路シミュレータと共に使用してもよい。
【００１７】
本明細書は次のように組織される：従来の及び関連する処理が説明され、提案される改善法(MPS)が後に続く。MPS、オリジナルのSWS及びゴールデンSPICEシミュレーションがその後に比較される。MPSが使用可能ないくつかのデザイン及び分析のシナリオも説明される。
【００１８】
先ず始めにクロックネットワークモデルに関し、図２は本発明の実施例による相互接続用の１つのπ型モデルの概略を示す。各バッファ（メッシュバッファ及びツリーバッファ）は、NMOS及びPMOS用のBSIM3トランジスタを用いてモデル化される。メッシュは主にワイヤで構成されるので、正確なワイヤモデルを用意することが重要である。100μより小さなワイヤをモデル化するため、２つのキャパシタ、抵抗器及びインダクタを有するシングルπ型モデルが使用される（図２）。
【００１９】
図３は本発明の実施例による相互接続用の３πモデルの概略図である。より長いワイヤについて３πモデルが図３に示されるように使用される。富士通株式会社の0.11μ技術の研究によれば、本方法は４π及び５πモデルで0.5%以内の遅延精度になることが示された。これはSPICEモデルでノード数を減らすことを促す。グローバルツリー上でFFをメッシュ及びワイヤに接続するワイヤをモデル化するのに同じルールが使用される。FFのクロックピンは等価なキャパシタでモデル化される。
【００２０】
如何なるクロック分配法でも、最重要関心事は、各FFのクロック入力ピンでのクロック到着時間（クロック遅延又はレイテンシとも呼ばれる）を正確に計算することである。或る設計で或るパスPが仮定され、パスの開始及び終了ゲートがFs及びFeのFFであるとする。これらのFでのクロック到着時間がそれぞれas,aeであったとする。Pに許容される最大遅延dmaxは、(ae−as)−２つのFFでのクロック到着時間の差分−の関数である。
【００２１】
dmax  ≦  ae−as＋τ−tset_up      （１）
ここで、τはクロックサイクルであり、tset_upはFeのセットアップ時間である。ae−asはFs及びFe間のスキューとして既知である。全てのFFの中で到着時間を比較することで、その設計の中で最悪のクロックスキューを計算することができる。それは、データパスで接続された２つのFFの到着時間の負の最大差分である。ある固定されたクロックサイクルに関し、その最悪のスキューはそのデータパスでの最大遅延を制限する。従ってそれは設計のターンアラウンドタイム(応答時間)に直接的な影響を持つ。或いは、所与のデザインに関し、そのデザインが適切に機能する最大クロック周波数に、スキューは影響を及ぼす。
【００２２】
グローバルツリーでのレイテンシを計算することは、比較的直接的で速いので、メッシュタイミング分析問題だけが取り組まれる。設計(デザイン)は既に用意され、FFの場所が既知であったとする。全てのメッシュバッファを駆動するのに同じクロック信号源が想定される。主要な関心事は、そのクロックソースに関して各FFでクロックの立ち上がりエッジの到着時間を正確に計算することにある。
【００２３】
クロックメッシュ分析の問題について多くは公表されていない。あるソリューションがもたらす方法は、クロックメッシュをツリーに分解し、メッシュ負荷を再分配するためにスムージングアルゴリズムを適用する。ツリーはレイテンシに関して分析される。しかしながら正確な結果は示されない。別の技術では、クロックメッシュが２段階で確認される。第１に、AWEベースのモデル次数低減法がそのメッシュについて実行され、メッシュ要素を簡略化する。そして簡略化された回路がSPICEを用いてシミュレートされる。この方法の精度及び効率は、現在のマッチング法の精度及び安定性に依存する。この方法は、MPSの基本概念と直交しており、MPSと共に統合可能である。つまり、MPSはある形式のモデル次数低減を既に使用しており、簡易なπモデルが短いワイヤに使用される。
【００２４】
他のソリューションは別のメッシュ問題（所与のクロックメッシュのサイズを決めることがクロックレイテンシを制限すること）に対処する。他の提案法は、全てのループを分解し、前提とするメッシュをツリー構造に変換する（アルゴリズム的にはツリーを取り扱う方が容易だからである。）。グリッドノードでのRC遅延は、一次ポール(first  order  pole)で近似される。他の提案法は、（エルモア遅延−Elmore  delay−でなく）信号遅延の指標としてドミナント時間定数を利用し、サイジング問題を半定値(semi-definite)プログラミング問題に定式化する。より小さなメッシュサイズについての結果が示される。これら双方の方法が遅延の近似モデルを使用する。
【００２５】
最近、クロックメッシュのレイテンシ分析にスライディングウインドウ法(SWS)が提案された。SWSを考察するに、図４は本発明の実施例によるスライディングウインドウ方の概略図である。SWSでは、メッシュは２つの異なる分解能と共にモデル化される：詳細な回路モデルは、レイテンシが測定されるノードに場所的に近いメッシュ要素について使用され、簡易なモデルは測定されるノードから遠いメッシュ要素に使用される。ローカルなFF接続について簡略化がなされる。所与のメッシュサイズｍｘｎに関し、サイズｒｘｓの四角形のウインドウ(枠)Wを規定し、ここでｒ＜ｍ及びｓ＜ｎである。W’を得るために或るボーダーまでWが拡張される（図４では、ボーダーは１グリッド単位である。）。
【００２６】
W’の左下隅がメッシュ上の地点に固定されたとすると、W’はそのメッシュのある一定の領域をカバーする(図４)。W’内でFFと最近接メッシュセグメントとの接続は、上述したように適切なπモデルで正確にモデル化される（接続の長さに依存してシングルπ又は３πモデルが使用される。）。FFのクロック入力ピンはキャパシタンスとしてモデル化される。W’の外側にあるFF及びそれらのメッシュへの接続は粗い近似でモデル化される。そのようなFFをメッシュに接続するワイヤは、等価なキャパシタンスで置換され；ワイヤ抵抗は無視される。W’外の所与のメッシュノードａに関し、ａをカバーする領域は図４で単位四角形で示される。
【００２７】
この領域内の全てのＦＦのクロック入力ピンのキャパシタンス合計をCaとする。その領域はFFをメッシュに接続するワイヤの容量を有する。そしてCaはａにおける１つのキャパシタンスとしてまとめられる。W’外のメッシュセグメントでも、適切なπモデルでモデル化される。ウインドウロケーションのこのモデルに対応するSPICEファイルが生成され、シミュレートされる。内側のウインドウW内にある全てのFFのクロックレイテンシが測定される。次に、ウインドウWは水平に又は縦にスライドされ、以前の場所と重ならないようにする。再びSPICEモデルが作成され、処理される。メッシュシミュレーション全体は、複数の独立したウインドウベースのシミュレーションに分解される。つまり、デザイン中の全てのFF及びメッシュ全体をカバーするには、
【００２８】
【数１】
0004806376.tif 000002
回のSPICEシミュレーションが必要になる。
【００２９】
SWSは分断攻略法(divide-and-conquer)である。ウインドウ外の領域を近似することは、回路モデル内のノード数を減らす。各FFを近似することは、７ノード（ワイヤが100μより長い場合）又は３ノード（それ以外の場合）を節約する。典型的な設計では、数十万(数100K)個のFFがあり、SPICEモデルサイズの低減は膨大になる。HSPICEは100K個のFFを有する65x65メッシュの計算を完了できないことが以前に示されている。それは2GBより多くのメモリが必要になるが、SWSは４台のマシンを用いて1GBメモリで1.5時間より短期間に完了できる。SWSで計算されるレイテンシは、１グリッド単位のボーダーを利用すると、完全なメッシュのSPICEシミュレーションで計算されるレイテンシの１％に収まるのが通常的である。如何なるボーダーも使用しなかった場合（即ち、０個のグリッドユニットのボーダーの場合）、正確な結果を常にはもたらさず；30%に至る誤差が見受けられたことも示されている。ボーダーを1グリッドを越えて増やしても、精度は十分に改善されない。しかしながら、実行時間は相当に増えてしまう。要するに、経験的には、１グリッド単位のボーダーが最適であるように見出された。更に、ウインドウサイズは精度にほとんど影響しないように見受けられる。しかしながら、より小さなウインドウサイズはより小さなモデルを意味し、従って大きなデザインをメモリに合わせやすくなる。しかしながら、より小さなウインドウはより多くのシミュレーションを含むことになる。
【００３０】
図５は本発明の実施例によるMPSベースのクロックメッシュ分析法を示す概略ローチャートである。SWSで基礎とする基本概念は、信号源（即ち、メッシュバッファ）各々に関するものであり、クロックメッシュはカスケード接続されたローパスRCフィルタと考えることができる。このRCフィルタに関し、ランプ入力信号の減衰は、距離の指数関数に比例する。この指数減衰に起因して、２つのノードが場所的に離れていたならば、それらは互いに非常に小さな電気的な影響しか及ぼさない。この測定はSWSを用いてなされる。ウインドウW内のフリップフロップのレイテンシを測定するため、ウインドウから遠い回路ノードは近似的にモデル化される。なぜなら、それらはW内のノードに大きな電気的な影響を及ぼさないからである。W内のノードは正確にモデル化される。この方法はほとんどの時間にわたって非常に正確なレイテンシの値をもたらす。しかしながら30%程度に大きな誤差が生じるかもしれない。この誤差を減らすため、Wのボーダーと呼ばれるW外の小さな領域も正確にモデル化される。このボーダーを備えたWをW’と呼ぶことにする。
【００３１】
SWSが探索しなかった１つの可能性（見逃した理由）は、ボーダーを使用するがW’以外の回路を完全に無視したことである。提案される新方法は、メッシュ分割法(MPS)と呼ばれる。MPSではウインドウ及びそのボーダーはSWSとまさに同様に生成される。所与のウインドウW’に関し、W’領域内のMPS回路モデルはSWSにおけるものと同じである。しかしながら、MPSでは、W’以外の領域は完全に抽象化される。言い換えれば、MPSシミュレーションモデルは、以下の如何なるものも含まない：
１．W’以外のメッシュセグメント
２．W’外のFF  及び
３．外部のFFとメッシュとの接続。
【００３２】
上述したようにSWSでは、W’以外のメッシュセグメントはR,L及びCと共にモデル化され（詳細なモデリング）、W’外のFF及びその接続は、最近接メッシュノードでのキャパシタンスで近似される。
【００３３】
図５には、MPSのフロー全体が示されている。あるチップ仕様において（例えば、チップ寸法）、FFの場所、技術情報(テクノロジ情報)、メッシュバッファサイズ及び場所、メッシュパラメータ（例えば、メッシュサイズ、ワイヤ幅等）を読み込み、各FFでのクロック到着時間を計算する。所与のウインドウサイズで、全てのウインドウロケーションはクロックメッシュ全体をカバーするように決定される。各ウインドウロケーションについて、そのウインドウはボーダーによって拡張され、メッシュシミュレーションモデルが生成され、SPICEがそのモデルについて実行され、ウインドウのコアの中のFFのレイテンシを測定する。全てのシミュレーションが完了した後に、全てのシミュレーションによるFFのレイテンシが収集される。MPS及びSWS間の唯一の差異は、メッシュシミュレーションモデルが生成されるボックスに現れる。SWSでは、ウインドウ外の領域について近似的なモデルが生成される。
【００３４】
モデルサイズが小さいことに起因して、MPSはSWSより優れた次の２つの利点を有する。
【００３５】
１．MPSはSWSより高速である。なぜなら、シミュレーションモデルはSWSより厳密には小さいからである。SPICEシミュレーション時間は、モデルサイズの単調関数になる。
【００３６】
２．MPSのメモリ条件の方がより小さい。従って、大きな設計及びメッシュインスタンスについての演算が完了しやすくなる。
【００３７】
SWS及びゴールデンシミュレーションを上回るMPSの優位性が、一例と共に示される。65×65のメッシュ及び100K個のFFを含む設計が想定され、FFはチップ上に一様に分散しているものとする。更に、全てのワイヤセグメント及びメッシュセグメントは３πモデルでモデル化されることが仮定される。Ngをゴールデンモデルのノード数とし、Ngは、全てのFF及びそのクロックピンワイヤが正確にモデル化される場合に登場する数である。各メッシュセグメントは３πモデルでモデル化され、6つのノードを有する(図３)。メッシュセグメント数は、64×65×2＝8320  である。従ってメッシュ上のノード数は約50Kである。各FFは７つのノードに寄与し：ノードの１つはFFに、１つはメッシュに掛かる地点に、５つはπモデルの内部ノードに関連する。従ってFFは約700K個のノードに寄与する。そしてNgは約750Kである。
【００３８】
SWSでは、17×17のサイズのウインドウW’を用いることで、所与のW’の場所について、SPICEモデル中のノード数をNW’とする。上述したように、メッシュセグメントは50K個のノードをこのモデルに与える。しかしながら、全FFの約1／16のみがW’内にある。従って７K個のFFだけが正確にモデル化される。それらは49K個のノードに寄与する。W’外のFFは付加的な如何なるノードにも寄与しない。なぜなら、それらは最近接メッシュノードにまとめられているからである。そしてNW’は約99Kになる。こうしてSWSを用いることでモデルサイズを7.5倍減らすことができる。
【００３９】
MPSでは、W’に対応する17×16×2＝544個のメッシュセグメントがモデル化され、約3K個のノードになる。ウインドウ内の7K個のFFは、全部で49K個のノードと共にSWSでモデル化される。これはMPSで総数52K個のノードになり、SWSよりも1.9倍ノード数を減らし、ゴールデンモデルよりも14.4倍削減する。
【００４０】
ゴールデンSPICEの実行時間と比べてSWS及びMPSの実行時間を推定する。SPICEの実行時間はO(N1.5)のオーダーであるとする。ノード数は7.5倍少ないので、各ウインドウシミュレーションは、ゴールデンモデルシミュレーションよりも約7.51.5＝20.5倍速くなる。メッシュ全体を網羅するには全部で16回のシミュレーションが必要になる。従って、１つのマシンでの一連の実行について全体で1.3倍のスピードアップを期待でき、並列的な実行については20.5倍のスピードアップを期待できる（16個のマシンが利用可能であるとする。）。MPSに関しては、SWSよりも約1.91.5＝2.6倍速くなる。
【００４１】
以後のセクションでは、MPSの精度及び実行時間のSWSとの比較結果が示される。提案されるクロックメッシュ分析ツールは或るアーキテクチャを提示し、そのアーキテクチャは或るチップ仕様（例えば、チップ寸法、FFの場所）で技術情報、メッシュバッファサイズ及びロケーション、並びにメッシュパラメータ（例えば、メッシュサイズ、ワイヤ幅等）を読み込む。そしてSPICEトランジェントシミュレーションを用いて、そのクロックソースに関するFFのクロックレイテンシを計算する（クロックソースは全てのメッシュバッファの入力に接続されている。）。比較は提案されるスライディングウインドウ法に基づく。目下の例ではウインドウサイズが入力として必要である。各ウインドウロケーションについて、そのツールは、ウインドウ内部の及び外部のフリップフロップ、ローカルワイヤ、メッシュについてのSPICEモデルを生成する。ユニックス(UNIX（登録商標）)シェルスクリプトは、スライディングウインドウの生成、シミュレーション、及びシミュレーション出力からのクロックレイテンシの抽出を管理するように書かれている。
【００４２】
以下の実験では、SWS及びMPS間で精度及び実行時間を比較した。全ての実験は、0.11μ工業規格に基づいて行われた。チップサイズ、FF数、メッシュサイズ及びウインドウサイズの様々な値と共に多くの実験が行われた。FFは一様な分布でチップ上にランダムに置かれた。メッシュバッファはグリッドポイント毎に使用された。以下のラベリング法が実験で使用された。例えば、5mmｘ5mmのチップサイズ、10K個のFF数及び16x16のメッシュサイズの実験は、c5/f10K/m16のラベルが付される。
【００４３】
精度の観点からは、異なるFF数及びメッシュサイズを有する回路が使用された。回路c5x10/f16.7K/m64が実際のチップである。各メッシュサイズに関し、異なるウインドウサイズがSWS及びMPSで使用された。ゴールデン(フラット)シミュレーションによるレイテンシが、各FFに対するリファレンスレイテンシとして使用される。或るFFでSWS及びMPSにより生じるレイテンシ（共に、１グリッド単位のボーダーを利用する）が、対応するリファレンスレイテンシと比較され、誤差の割合が計算された。全てのFFの誤差の平均値及び最大値が算出され、テーブル１(表１)のように報告された。MPSは非常に正確であること、最大誤差は常に1.4%未満であること、平均誤差はせいぜい0.3%にすぎないことが分かる。誤差数はSWSと同様である。
【００４４】
【表１】
0004806376.tif 000003
表１：ゴールデンシミュレーションに対するMPS＆SWSの精度
｜W｜はウインドウサイズを示す。｜W｜=2は2x2ウインドウを意味する。
【００４５】
図６はボーダーサイズの関数としてMPSの最大エラーを示す本発明の実施例による概略図である。最大及び平均誤差(ps)に関する概念を与えるため、最大ゴールデンFFレイテンシをテーブル中に示している。導かれる１つの推論は、ほとんどの実験値に関し、MPSによる最大レイテンシ誤差は4psより少ないことである。１つ又は２つの場合に、それは9psになっている。
【００４６】
高精度なMPSから導かれる1つの結論は、ウインドウボーダーW’−WはW以外のほとんど全てのノードをモデル化するのに十分に見えることであり、ウインドウW’のコアWに影響を及ぼし得るものである。W内のFFの遅延に対する（W’外のノードの）影響は非常に小さい。
【００４７】
ボーダー長がMPS精度にどのように影響するかを測定する実験も行われた。粗いメッシュ（5mm×5mmのチップで16×16のメッシュ）では、ボーダーが増やされるにつれて最大誤差は減少する。しかしながら更に緻密なメッシュ（5mm×5mmのチップで64×64のメッシュ）では、ボーダーが１グリッドユニットを越えて増やされても最大誤差は同じままである。これは図６に示されている。
【００４８】
更に、SWSと同様に、MPS精度はウインドウサイズの関数ではない。こうして我々はメモリ又はCPUのような他の対象について最適なウインドウサイズを決定することができる。
【００４９】
【表２】
0004806376.tif 000004
表２：シリアル及びパラレルな演算に関するSWSを上回るMPSの高速化
表２は表１に示される実験について、MPSとSWSとのCPU時間の比較結果を示す。MPS及びSWSのシリアル演算及びパラレル演算双方についての結果が示されている。シリアル演算では、（様々なウインドウロケーションに応じて）様々なシミュレーションが或るデザインインスタンスについて１つのプロセッサで順番に実行され、全てのシミュレーションについての総CPU時間が測定された。パラレル演算では、各シミュレーションが様々なプロセッサで実行され、全てのシミュレーションの中で最大のCPU時間が記録された。
【００５０】
MPSは、シリアルシミュレーションの場合307倍に至るほど速くでき、パラレルシミュレーションの場合278倍に至るほど速くできることが分かる。より小さなウインドウサイズの場合、SWSに対するMPSのスピードアップ率は更に高くなる。その理由は、小さなウインドウ外の領域がそのモデルよりも非常に大きくなるからである。MPSは外部領域を完全に抽象化するので、SWSよりも非常に小さなモデルを生成し、従って非常に顕著なスピードアップをもたらす。大きなウインドウサイズの場合、３乃至１０倍のスピードアップが観測された。
【００５１】
上述したように、MPSはSWSより少ないメモリを使用する。このため、MPSは現実のスイッチチップデザインについての演算を完了できるであろう。その演算は、7.6M個のインスタンス、287.4K個のFFを有し、64×64及び128×128の２種類のメッシュを利用する演算であり、SWSならば何れのメッシュサイズについてもメモリ不足になってしまう。この実験では、SWS及びMPSは1GBメインメモリを有する2.4GHzリナックスマシンで実行された。
【００５２】
以前は、SWSの並列演算について小さなウインドウサイズが最適であった。なぜなら、より小さなウインドウサイズのシミュレーションモデルはより小規模であり、従ってより高速に実行できるからである。一方、大きなウインドウは、より短い総シミュレーション時間をもたらす。従って、SWSモデルがマシンメモリに適合する限り、これらはシーケンシャルシミュレーションに好ましい。
【００５３】
MPSのCPU時間がウインドウサイズの関数としてプロットされた。図７，８，９には、C5/f1K/m16,c5/f10K/m16及びc5/f10K/m64の回路についてのプロットが示されている。興味深いことに、全ての回路について、シリアル及びパラレル演算双方のCPU時間はウインドウサイズと共に増えている。より小さなウインドウはより小さなモデルサイズを有し、従ってマシンメモリに適合しやすいので、MPSの場合、最適な方法は可能な最少のウインドウサイズを選択することである。
【００５４】
図７は本発明の実施例によるc5/f1K/m16でのMPSのCPU時間をウインドウサイズの関数として示す。図８は本発明の実施例によるc5/f10K/m16でのMPSのCPU時間をウインドウサイズの関数として示す。図９は本発明の実施例によるc5/f10K/m64でのMPSのCPU時間をウインドウサイズの関数として示す。
【００５５】
MPS及びクロックメッシュ不確定性分析のアプリケーションでは、クロックサイクルはτであることを仮定する。実際には、チップ上の所与のフリップフロップでは、２つの連続的なクロックの立ち上がり（又は立ち下がり）エッジは、τ時間単位離れていないかもしれない。更に、２つのチップ上で対応する同じフリップフロップに関し、クロックソースからのクロックレイテンシは異なるかもしれない。クロックタイミング不確定性は、クロックエッジタイミングの、期待される値からの逸脱を示す。不確定性は（１）のas及びaeに影響を及ぼし、従ってdmax又はτに影響を及ぼし、上述したとおりである。クロックタイミングの不確定性は、供給電源ノイズ、温度変動、ダイ内部及びダイ間のプロセス変動（例えば、チャネル長、酸化膜厚、ドーパント濃度、相互接続幅及び相互接続膜厚等の変動）、クロストークノイズ及びPLLジッタ等に起因するかもしれない。
【００５６】
【表３】
0004806376.tif 000005
表３：様々なパラメータについての3σ変動
スケーリングテクノロジと共に、パラメータ変動の大きさ及び変動に対するクロックレイテンシの感度は増えつつある。所与のメッシュベースのクロックアーキテクチャの下で、パラメータ変動が存在する場合のタイミング不確定性を分析することが重要になってくる。クロックネットワークが或るツリーであった場合、不確定性分析は、ゲートレベルの静的な統計的なタイミング分析で実行可能である。しかしながらそのようなアプローチは、メッシュベースのクロックネットワークには直接的に適用できず、それはメッシュ中に存在するメタルループ（サイクル）に起因する。１つの提案方法では、SWSを用いて次のようにしてこの問題を解決しようとしていた。変動パラメータがクロックネットワーク上のワイヤ及びバッファ各々に関連付けられる。SWSの各ウインドウW’について、メッシュのSPICEモデルが作成され、モンテカルロシミュレーション(MCS)が実行される。MCSの各実行段階で、クロックネットワークの各コンポーネントの変動パラメータ値が、それら各自の分布状況から決定され、W’のコア内（即ち、W’−W）にあるフリップフロップFFi各々のレイテンシDiが計算される。全ての演算が完了した後に、遅延Diの分布がそのようなFFi各々に利用可能になる。不確定性U(Di)=3σ(Di)がこの分布から計算される。最後に、U(Di)が全てのウインドウW’から収集され、そのデザインにおける全てのFFでの不確定性をもたらす。
【００５７】
上述の方法論で、SWSをMPSで単に置換することで、メッシュ不確定性分析は高速化可能である。クロックバッファのVdd値、バッファ及びワイヤ温度、トランジスタチャネル長及び閾電圧、並びに相互接続抵抗及び容量に関する変動が使用される。変動値は表３に示されている。表４は、メッシュ不確定性分析のスピードアップの結果を示し、4×4及び8×8のウインドウサイズでc5/f1K/m16についてSWS及びMPSベース400モンテカルロシミュレーションを実行している。MPSは2.5及び2.0倍SWSを上回るスピードアップをもたらす。意味深いことに、シリアル演算の総SWS実行時間は、第１の行(ロー)について300時間であったが、MPSでのそれは118時間でしかなかった。従って2.5倍のスピードアップは大きな恩恵である。MPSを利用すると、平均クロックレイテンシは647psであり、最大FF不確定性は33psであった。これらの値はWSWベースの不確定性分析で得られたものにほぼ一致している。
【００５８】
【表４】
0004806376.tif 000006
表４：不確定性分析に関するMPSのSWSを上回るスピードアップ
不確定性分析の間、レイテンシ分析は複数回実行され、その都度異なるパラメータ値が使用される。従ってSWSを上回るMPSの期待されるスピードアップは、レイテンシ分析(表２)で得られたものと同様になるかもしれない。しかしながら、表４で見受けられるスピードアップは、それより少ない。例えば（表２によれば）、c5/f1K/m16のウインドウサイズ４に関し、レイテンシスピードアップは10.87であり、c5/f1K/m16のウインドウサイズ８に関し、レイテンシスピードアップは3.48である。この現象は不確定性分析での追加的なステップに起因し、その追加的なステップは、SWS及びMPS双方について実行される必要があり、例えば、ガウシアン分布を用いてパラメータ変動を設定し、その分布に関して各MCの実行でパラメータ値を計算し、クロストークノイズ源を導入する。不確定性分析に関する多くの実行時間の下で、より小さなメッシュ及びデザインインスタンスが検査される。これらの例に関し、追加的なファクタの実行時間への影響はかなり大きくなる。しかしながら、大規模なテストケースでは、不確定性分析のMPS/SWSスピードアップは、レイテンシ分析のアプローチでのものが期待される。
【００５９】
MPSはメッシュベースの如何なるクロックアーキテクチャに適用されてもよい。これまで我々は純粋なメッシュアーキテクチャ(図１)への適用を議論してきた。しかしながら、ローカルツリー(図１０)及び複数のローカルメッシュ(図１１)を有するメッシュのような、メッシュベースのハイブリッドアーキテクチャにも本発明は容易に適用可能である。
【００６０】
図１０は本発明の実施例によるローカルツリーを有するメッシュを示す概略図である。図１１は本発明の実施例による複数のメッシュを有するクロックアーキテクチャを示す概略図である。
【００６１】
非一様なメッシュを考察するに、上述の議論では、一様なメッシュが仮定され、X(Y)方向の全てのメッシュセグメントが同じ長さ及び幅を有していた。より小さなスキューを得るには、FF密度が高い領域は、より微細なメッシュを備えるべきことをシミュレーション結果は示す。まばらにしかFFが分布してない地域では、粗いメッシュを備えること（極端な場合は、メッシュを無くすこと）は、スキューに影響を及ぼさず、かなりの領域及びパワーを節約できる。更に、あるチップ領域が存在し、そのチップ領域では、メッシュセグメントはRAM及び第三者IP等のようなルーティング障害物に起因してルーティングできない。従って非一様なクロックメッシュは、（領域及びパワーを節約するために）切に望まれるだけでなく、そのような場合に不可避でさえある。
【００６２】
図１２のホール(穴)と共にメッシュを含むいくつかの非一様なメッシュが設計されてもよい。図１２は本発明の実施例による非一様なメッシュ例を示す概略図である。我々はMPSを適用し、ゴールデンシミュレーションと比較した。ゴールデンフラットシミュレーションに関する精度は、表１に示された数と同様になることが見出された。
【００６３】
最適なクロックメッシュデザインに関し、MPSはクロックメッシュ計画段階で最適なメッシュを決定するのに使用可能であり、その最適なメッシュはタイミング（レイテンシ、最大スキュー）、パワー及び領域の制約に合うものである。これはメッシュが実際にルーティングされる前である。メッシュパラメータ例は、メッシュサイズ（粒度）、メッシュが一様であるか否か、ワイヤ幅及びメッシュバッファサイズ等である。計画段階では、ワイヤセグメントは、シングルπのような最も簡易なモデルでモデル化可能である。設計者は先ずメッシュパラメータを選択し、タイミング、領域及びパワーを確認することで、メッシュの設計を進めることができる。タイミング値が希望のスキューマージンに合わなかった場合、より繊細なメッシュが速やかに合成され、シミュレートされる。このような反復計算が、設計ゴールに合うまで実行される。以前は、レイテンシ、最大スキュー及び電力消費が実際のチップの様々なメッシュサイズについて比較されていた。
【００６４】
パワーメッシュ設計及びセル配置後にクロックネットワークを設計することに関し、パワー／グランドメッシュが設計され、セル及びマクロが配置された後に、クロックネットワークが設計されるのが通常的である。そして、ルーティング障害物は既知であり、クロックメッシュルーティングは（関連するメタルレイヤで）それらを避けなければならない。これはホール(穴)を導入するかもしれない。クロックメッシュが最終的にルーティングされると、最終的なクロックメッシュ分析を行うためにMPSが使用可能になる。
【００６５】
大規模な工業設計のクロックメッシュを分析することは、困難な問題であった。ここで説明されたことは、MPSと呼ばれる改善されたスライディングウインドウ法であり、クロックメッシュのレイテンシを分析するためのものである。MPSはSWSの全ての利点を承継し、例えば大規模なメッシュを高精度にモデル化することができる。MPSはメモリを非常に少なくしか消費しない点、及び原理的なSWS法よりも300倍に至るほど高速である等の点でSWSより優れている。我々は、実際のデザイン及びメッシュインスタンスについて、SWSでは不可能であった演算を完了できることを示した。我々はMPSの適用可能ないくつものデザイン及び分析のシナリオも提示した。例えば、クロックメッシュ不確定性分析（モンテカルロベースのシミュレーション時間にSWSでは300時間かかっていたのをMPSは120時間に削減できる。）、メッシュベースのハイブリッドアーキテクチャ、非一様なメッシュ、最適なクロックメッシュ設計並びにポストパワーメッシュ及びセル配置等である。
【００６６】
上述の図示及び説明されたステップのいくつかは、適切ならば変更又は省略されてもよく、追加的なステップがフローチャートに付加されてもよい。これらの変更は、特定のディジタルアーキテクチャ、特定のインターフェース配置及び関連要素のコンフィギュレーションに基づいてもよく、本発明の範囲又は教示範囲から逸脱するものではない。図面及び表で説明されたような提案のクロックメッシュソリューションにおける要素の相互作用及び動作は、潜在的に可能性のあるアプリケーションについての単なる一例に過ぎない。他の多くのアプリケーションも等しく有利かもしれないし、特定のディジタルシステム又はマイクロプロッサのニーズに基づいて選択されてよい。
【００６７】
以上本発明が特定の実施例に関連して詳細に説明されてきたが、説明されたソリューションは、そのようなクロックメッシュツールの要請のある如何なる状況に拡張されてもよい。変更、置換、変形、代替及び修正の他の多くが当業者に確認されるであろう。本発明は、そのような変更、置換、変形、代替及び修正の全てを添付の特許請求の範囲内に包含することが意図される。
【００６８】
（関連出願）
本願は35U.S.C§119の下で西暦2006年6月に出願された仮出願番号60/804,041号に関連する。
【００６９】
以下、本発明により教示される手段を例示的に列挙する。
【００７０】
（付記１）
クロックメッシュ分析のための方法であって、
複数のシーケンシャル要素及びクロックメッシュを有するチップの記述と、前記シーケンシャル要素及び相互接続をモデル化するための情報と、前記クロックメッシュの一群のパラメータとにアクセスするステップであって、前記記述は、前記シーケンシャル要素を識別し、前記チップ上の前記シーケンシャル要素の位置を示し、前記チップ上の前記シーケンシャル要素間の相互接続を特定し、前記チップのレイアウトを特定するステップと、
前記チップの記述と、前記シーケンシャル要素及び相互接続をモデル化するための情報と、前記クロックメッシュの一群のパラメータとを利用するステップと、
前記クロックメッシュをカバーする複数のオリジナルウインドウロケーションを決めるステップであって、オリジナルウインドウロケーションの各々は前記チップ上の１つ以上のシーケンシャル要素を有するステップと、
オリジナルウインドウロケーション各々について、
前記オリジナルウインドウロケーションを１つ以上の方向に拡張し、より大きなウインドウロケーションを生成し、
前記より大きなウインドウロケーションの中でメッシュシミュレーションモデルを生成し、
前記メッシュシミュレーションモデルをシミュレーションし、
前記メッシュシミュレーションモデルのシミュレーションに基づいて、前記オリジナルウインドウロケーション中の前記シーケンシャル要素のクロックタイミングを測定し、且つ
前記オリジナルウインドウロケーション中の前記シーケンシャル要素について前記測定されたクロックタイミングに基づいて、前記チップ上の前記シーケンシャル要素全てのタイミング情報を収集するステップと、
を有する方法。
【００７１】
（付記２）
前記オリジナルウインドウロケーションの２つ以上が、互いに並列的に処理される付記１記載の方法。
【００７２】
（付記３）
前記クロックメッシュのアーキテクチャが、１つのメッシュ又は複数のメッシュを有する付記１記載の方法。
【００７３】
（付記４）
前記クロックメッシュのアーキテクチャが、グローバルツリーを有する付記１記載の方法。
【００７４】
（付記５）
前記クロックメッシュのアーキテクチャが、前記チップ上の各シーケンシャル要素への又は複数のローカルツリーへの直接的な接続を有するローカルな区域を有する付記１記載の方法。
【００７５】
（付記６）
前記より大きなウインドウロケーション中の前記メッシュシミュレーションモデルが、前記より大きなウインドウロケーション中のシーケンシャル要素各々への接続の明示的な表現を有し、該明示的な表現は正確な相互接続モデルを含む付記１記載の方法。
【００７６】
（付記７）
１つ以上の有形媒体にエンコードされる論理装置であって、
複数のシーケンシャル要素及びクロックメッシュを有するチップの記述と、前記シーケンシャル要素及び相互接続をモデル化するための情報と、前記クロックメッシュの一群のパラメータとにアクセスするステップであって、前記記述は、前記シーケンシャル要素を識別し、前記チップ上の前記シーケンシャル要素の位置を示し、前記チップ上の前記シーケンシャル要素間の相互接続を特定し、前記チップのレイアウトを特定するステップと、
前記チップの記述と、前記シーケンシャル要素及び相互接続をモデル化するための情報と、前記クロックメッシュの一群のパラメータとを利用するステップと、
前記クロックメッシュをカバーする複数のオリジナルウインドウロケーションを決めるステップであって、オリジナルウインドウロケーションの各々は前記チップ上の１つ以上のシーケンシャル要素を有するステップと、
オリジナルウインドウロケーション各々について、
前記オリジナルウインドウロケーションを１つ以上の方向に拡張し、より大きなウインドウロケーションを生成し、
前記より大きなウインドウロケーションの中でメッシュシミュレーションモデルを生成し、
前記メッシュシミュレーションモデルをシミュレーションし、
前記メッシュシミュレーションモデルのシミュレーションに基づいて、前記オリジナルウインドウロケーション中の前記シーケンシャル要素のクロックタイミングを測定し、且つ
前記オリジナルウインドウロケーション中の前記シーケンシャル要素について前記測定されたクロックタイミングに基づいて、前記チップ上の前記シーケンシャル要素全てのタイミング情報を収集するステップと、
をコンピュータに実行させる論理装置。
【００７７】
（付記８）
前記オリジナルウインドウロケーションの２つ以上が、互いに並列的に処理される付記７記載の論理装置。
【００７８】
（付記９）
前記クロックメッシュのアーキテクチャが、１つのメッシュ又は複数のメッシュを有する付記７記載の論理装置。
【００７９】
（付記１０）
前記クロックメッシュのアーキテクチャが、グローバルツリーを有する付記７記載の論理装置。
【００８０】
（付記１１）
前記クロックメッシュのアーキテクチャが、前記チップ上の各シーケンシャル要素への又は複数のローカルツリーへの直接的な接続を有するローカルな区域を有する付記７記載の論理装置。
【００８１】
（付記１２）
前記より大きなウインドウロケーション中の前記メッシュシミュレーションモデルが、前記より大きなウインドウロケーション中のシーケンシャル要素各々への接続の明示的な表現を有し、該明示的な表現は正確な相互接続モデルを含む付記７記載の論理装置。
【００８２】
（付記１３）
１つ以上のプロセッサと、
１つ以上の命令を含む前記プロセッサに結合されたメモリと、
を有する装置であって、前記命令は、
複数のシーケンシャル要素及びクロックメッシュを有するチップの記述と、前記シーケンシャル要素及び相互接続をモデル化するための情報と、前記クロックメッシュの一群のパラメータとにアクセスするステップであって、前記記述は、前記シーケンシャル要素を識別し、前記チップ上の前記シーケンシャル要素の位置を示し、前記チップ上の前記シーケンシャル要素間の相互接続を特定し、前記チップのレイアウトを特定するステップと、
前記チップの記述と、前記シーケンシャル要素及び相互接続をモデル化するための情報と、前記クロックメッシュの一群のパラメータとを利用するステップと、
前記クロックメッシュをカバーする複数のオリジナルウインドウロケーションを決めるステップであって、オリジナルウインドウロケーションの各々は前記チップ上の１つ以上のシーケンシャル要素を有するステップと、
オリジナルウインドウロケーション各々について、
前記オリジナルウインドウロケーションを１つ以上の方向に拡張し、より大きなウインドウロケーションを生成し、
前記より大きなウインドウロケーションの中でメッシュシミュレーションモデルを生成し、
前記メッシュシミュレーションモデルをシミュレーションし、
前記メッシュシミュレーションモデルのシミュレーションに基づいて、前記オリジナルウインドウロケーション中の前記シーケンシャル要素のクロックタイミングを測定し、且つ
前記オリジナルウインドウロケーション中の前記シーケンシャル要素について前記測定されたクロックタイミングに基づいて、前記チップ上の前記シーケンシャル要素全てのタイミング情報を収集するステップと、
を前記１つ以上のプロセッサに実行させる装置。
【００８３】
（付記１４）
前記オリジナルウインドウロケーションの２つ以上が、互いに並列的に処理される付記１３記載の装置。
【００８４】
（付記１５）
前記クロックメッシュのアーキテクチャが、１つのメッシュ又は複数のメッシュを有する付記１３記載の装置。
【００８５】
（付記１６）
前記クロックメッシュのアーキテクチャが、グローバルツリーを有する付記１３記載の装置。
【００８６】
（付記１７）
前記クロックメッシュのアーキテクチャが、前記チップ上の各シーケンシャル要素への又は複数のローカルツリーへの直接的な接続を有するローカルな区域を有する付記１３記載の装置。
【００８７】
（付記１８）
前記より大きなウインドウロケーション中の前記メッシュシミュレーションモデルが、前記より大きなウインドウロケーション中のシーケンシャル要素各々への接続の明示的な表現を有し、該明示的な表現は正確な相互接続モデルを含む付記１３記載の装置。
【００８８】
（付記１９）
複数のシーケンシャル要素及びクロックメッシュを有するチップの記述と、前記シーケンシャル要素及び相互接続をモデル化するための情報と、前記クロックメッシュの一群のパラメータとにアクセスする手段であって、前記記述は、前記シーケンシャル要素を識別し、前記チップ上の前記シーケンシャル要素の位置を示し、前記チップ上の前記シーケンシャル要素間の相互接続を特定し、前記チップのレイアウトを特定する手段と、
前記チップの記述と、前記シーケンシャル要素及び相互接続をモデル化するための情報と、前記クロックメッシュの一群のパラメータとを利用する手段と、
前記クロックメッシュをカバーする複数のオリジナルウインドウロケーションを決める手段であって、オリジナルウインドウロケーションの各々は前記チップ上の１つ以上のシーケンシャル要素を有する手段と、
オリジナルウインドウロケーション各々について、
前記オリジナルウインドウロケーションを１つ以上の方向に拡張し、より大きなウインドウロケーションを生成し、
前記より大きなウインドウロケーションの中でメッシュシミュレーションモデルを生成し、
前記メッシュシミュレーションモデルをシミュレーションし、
前記メッシュシミュレーションモデルのシミュレーションに基づいて、前記オリジナルウインドウロケーション中の前記シーケンシャル要素のクロックタイミングを測定し、且つ
前記オリジナルウインドウロケーション中の前記シーケンシャル要素について前記測定されたクロックタイミングに基づいて、前記チップ上の前記シーケンシャル要素全てのタイミング情報を収集する手段と、
を有するシステム。
【００８９】
（付記２０）
前記オリジナルウインドウロケーションの２つ以上が、互いに並列的に処理される付記１９記載のシステム。
【図面の簡単な説明】
【００９０】
【図１】位相ロックループ(PLL)又はルートバッファからシーケンス要素へクロック信号を分配するのに使用される本発明の実施例によるメッシュアーキテクチャシステムを例示する図である。
【図２】本発明の実施例による相互接続の１つのπ型モデルの概略図である。
【図３】本発明の実施例による相互接続の３つのπ型モデルの概略図である。
【図４】本発明の実施例によるスライディングウインドウ法の概略図である。
【図５】本発明の実施例によるMPSベースのクロックメッシュ分析法を示すフローチャートである。
【図６】ボーダーサイズの関数としてMPSの最大エラーを示す本発明の実施例による概略図である。
【図７】c5/f1K/m16でのMPSのCPU時間をウインドウサイズの関数として示す本発明の実施例による概略図である。
【図８】c5/f10K/m16でのMPSのCPU時間をウインドウサイズの関数として示す本発明の実施例による概略図である。
【図９】c5/f10K/m64でのMPSのCPU時間をウインドウサイズの関数として示す本発明の実施例による概略図である。
【図１０】本発明の実施例によるローカルツリーと共にメッシュを示す図である。
【図１１】本発明の実施例による複数のメッシュを有するクロックアーキテクチャを示す概略図である。
【図１２】本発明の実施例による非一様なメッシュ例を示す概略図である。
【符号の説明】
【００９１】
１０  メッシュアーキテクチャシステム
W  ウインドウ
W’  拡張されたウインドウ
【図１】
0004806376.tif 000007
【図２】
0004806376.tif 000008
【図３】
0004806376.tif 000009
【図４】
0004806376.tif 000010
【図５】
0004806376.tif 000011
【図６】
0004806376.tif 000012
【図７】
0004806376.tif 000013
【図８】
0004806376.tif 000014
【図９】
0004806376.tif 000015
【図１０】
0004806376.tif 000016
【図１１】
0004806376.tif 000017
【図１２】
0004806376.tif 000018