(57)【特許請求の範囲】
【請求項１】
装置であって、
回路ブロックのアレイにおいてクロックネットワークを有する集積回路を備え、
前記クロックネットワークは、ルーティングトラックと、分配スパインと、クロックリーフと、双方向カプラとを含み、
前記ルーティングトラックおよび前記分配スパインは双方向性であり、
前記分配スパインは水平および垂直分配スパインを含み、
前記ルーティングトラックは水平ルーティングトラックおよび垂直ルーティングトラックを含み、前記水平および垂直ルーティングトラックは、クロックソースから水平および垂直分配スパインの１つ以上の交点のうちのいずれかまでの経路を提供する専用クロックリソースであり、
前記クロックリーフは、水平分配スパインの水平セグメントと交差し、
前記双方向カプラは各々、
前記垂直ルーティングトラックのうちの１つの垂直ルーティングトラックに結合された入力と前記水平ルーティングトラックのうちの１つの水平ルーティングトラックに結合された出力とを有する第１のトライステートバッファと、
前記第１のトライステートバッファの出力に結合された入力と前記第１のトライステートバッファの入力に結合された出力とを有する第２のトライステートバッファとを含み、
前記トライステートバッファ各々のための制御信号は、前記トライステートバッファをバッファ状態とハイインピーダンス状態のいずれかにするようにプログラムされ、
前記垂直ルーティングトラックのうちの１つの垂直ルーティングトラック上の制御信号は、前記第１のトライステートバッファがバッファ状態で前記第２のトライステートバッファがハイインピーダンス状態のとき、前記第１のトライステートバッファを通して前記水平ルーティングトラックのうちの１つの水平ルーティングトラックに送られ、
前記水平ルーティングトラックのうちの１つの水平ルーティングトラック上の制御信号は、前記第１のトライステートバッファがハイインピーダンス状態で前記第２のトライステートバッファがバッファ状態のとき、前記第２のトライステートバッファを通して前記垂直ルーティングトラックに送られる、装置。
【請求項２】
前記ルーティングトラックおよび前記分配スパインは、前記回路ブロックの境界でセグメント化されている、請求項１に記載の装置。
【請求項３】
前記垂直分配スパインは、前記水平分配スパインにそれぞれ結合された選択可能な遅延を含む、請求項１または２に記載の装置。
【請求項４】
一組のリーフが、前記回路ブロックのうちの１つの回路ブロックの中の前記分配スパインのうちの水平分配スパインに、クロック信号を前記水平分配スパインから前記一組のリーフに与えるために、結合され、
前記クロック信号を前記水平分配スパインを通さずに前記一組のリーフに与えるために、相互接続タイルが局所ゲーティング用に構成される、請求項１〜３のいずれか一項に記載の装置。
【請求項５】
前記分配スパインの交点はクロックルートのプールを与える、請求項１〜４のいずれか一項に記載の装置。
【請求項６】
前記回路ブロックはプログラマブルリソースのファブリックサブリージョンであり、
前記回路ブロックは入出力ブロックおよびマルチギガビットトランシーバブロックに結合されるように構成される、請求項１〜５のいずれか一項に記載の装置。
【請求項７】
前記分配スパインの交点はクロックルートのプールを与え、
前記分配スパインの交点は前記プログラマブルリソースのファブリックサブリージョン内に位置する、請求項６に記載の装置。
【請求項８】
前記分配スパインに対応付けられた遅延をさらに備え、
前記遅延は漸進的な遅延を与えるために選択的に使用可能である、請求項１〜７のいずれか一項に記載の装置。
【請求項９】
前記クロックリーフに対応付けられた遅延をさらに備え、
前記遅延は、前記回路ブロックのうちの隣合う回路ブロック間においてスキューの不連続性を広めるために選択的に使用可能である、請求項１〜８のいずれか一項に記載の装置。
【請求項１０】
前記分配スパインは、前記クロックリーフの前にあるクロックツリーの部分に対してセグメント化可能で双方向性である、請求項１〜９のいずれか一項に記載の装置。
【請求項１１】
前記分配スパインは、低スキュークロックネットワークと低インジェクションクロックネットワークのいずれかに対して結合される、請求項１〜１０のいずれか一項に記載の装置。
【請求項１２】
マルチダイシステムであって、
請求項１〜１１のいずれか一項に記載の第１の集積回路ダイを備え、前記第１の集積回路ダイは、第１のクロックルーティングリソースの第１のネットワークを有し、
前記第１の集積回路ダイのクロックソースを前記第１のクロックルーティングリソースの第２のルーティングトラックに結合する、前記第１のクロックルーティングリソースの第１のルーティングトラックと、
請求項１〜１１のいずれか一項に記載の第２の集積回路ダイとを備え、前記第２の集積回路ダイは、第２のクロックルーティングリソースの第２のネットワークを有し、
前記第２のルーティングトラックに結合された前記第２のクロックルーティングリソースの第３のルーティングトラックと、
前記第１のルーティングトラックおよび前記第２のルーティングトラックを介して前記クロックソースに結合された、回路設計の第１のルートと、
前記第１のルーティングトラック、前記第２のルーティングトラック、および前記第３のルーティングトラックを介して前記クロックソースに結合された、前記回路設計の第２のルートとを備え、
前記第１のルートは前記第１の集積回路ダイの上に位置し、
前記第２のルートは前記第２の集積回路ダイの上に位置する、マルチダイシステム。
【請求項１３】
前記第１のルートは、前記第２のルーティングトラックと、前記第１のクロックルーティングリソースの第１の分配スパインのうちの１つの第１の分配スパインとの交点に位置し、
前記第２のルートは、前記第３のルーティングトラックと、前記第２のクロックルーティングリソースの第２の分配スパインのうちの１つの第２の分配スパインとの交点に位置する、請求項１２に記載のマルチダイシステム。
【請求項１４】
前記第１の分配スパインも前記第２の分配スパインも、前記第１の集積回路ダイと前記第２の集積回路ダイとの間のダイ間ルーティングのために結合されていない、請求項１３に記載のマルチダイシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は集積回路装置（「ＩＣ」）に関する。より具体的には、本開示はＩＣのためのクロックネットワークのアーキテクチャに関する。
【背景技術】
【０００２】
背景
たとえばフィールドプログラマブルゲートアレイ（「ＦＧＰＡ」）といったプログラマブルロジックデバイス（「ＰＬＤ」）のクロックネットワークは、リージョナルクロックおよびグローバルクロックを使用してきた。従来、このようなリージョナルクロックは専らこのようなＰＬＤの「エッジ」から駆動され、このようなグローバルクロックは専らこのようなＰＬＤの中心から駆動されていた。この種のクロックネットワークアーキテクチャは、柔軟性が著しく欠落していた。しかしながら、ＰＬＤの大型化に伴い、クロックスキューおよび／またはクロック遅延ならびにタイミングの不確実性の増大という問題がより大きくなり、このような柔軟性の欠落によって、上記問題のうちの１つ以上に対する取り組みがますます困難になった。したがって、これら問題のうちの１つ以上を減じるために柔軟性がより高いＩＣを提供することが望ましく有益である。
【発明の概要】
【課題を解決するための手段】
【０００３】
概要
装置は、回路ブロックのアレイにおいてクロックネットワークを有する集積回路を備える。クロックネットワークは、ルーティングトラックと、分配スパインと、クロックリーフとを含む。ルーティングトラックおよび分配スパインは双方向性である。
【０００４】
このような装置では、下記のうちの１つ以上が真であろう。ルーティングトラックおよび分配スパインは、回路ブロックの境界でセグメント化されていてもよい。ルーティングトラックは水平および垂直ルーティングトラックを含み得る。分配スパインは水平および垂直分配スパインを含み得る。垂直分配スパインは、水平分配スパインにそれぞれ結合された選択可能な遅延を含み得る。一組のリーフが、回路ブロックのうちの１つの回路ブロックの中の分配スパインのうちの水平分配スパインに、クロック信号をこの水平分配スパインからこの一組のリーフに与えるために、結合されていてもよく、クロック信号を水平分配スパインを通さずに一組のリーフに与えるために、相互接続タイルが局所ゲーティング用に構成されてもよい。分配スパインの交点はクロックルート（clock roots）のプールを与えてもよい。回路ブロックはプログラマブルリソースのファブリックサブリージョンであってもよく、回路ブロックは入出力ブロックおよびマルチギガビットトランシーバブロックに結合されるように構成されてもよい。分配スパインの交点はプログラマブルリソースのファブリックサブリージョン内に位置していてもよい。この装置は、分配スパインに対応付けられた遅延を含み得る。この遅延は漸進的遅延を与えるために選択的に使用可能である。この装置は、クロックリーフに対応付けられた遅延を含み得る。この遅延は、回路ブロックのうちの隣合う回路ブロック間においてスキューの不連続性を広めるために選択的に使用可能である。分配スパインは、クロックリーフの前にあるクロックツリーの部分に対してセグメント化可能で双方向性であってもよい。分配スパインは、低スキュークロックネットワークと低インジェクションクロックネットワークのいずれかに対して結合されていてもよい。
【０００５】
また、上記のような第１および第２の集積回路ダイを含むマルチダイシステムが開示される。第１の集積回路ダイは第１のクロックルーティングリソースの第１のネットワークを有し、第１のクロックルーティングリソースの第１のルーティングトラックは、第１の集積回路ダイのクロックソースを第１のクロックルーティングリソースの第２のルーティングトラックに結合する。第２の集積回路ダイは、第２のクロックルーティングリソースの第２のネットワークを有する。第２のクロックルーティングリソースの第３のルーティングトラックは、第２のルーティングトラックに結合される。回路設計の第１のルートは、第１のルーティングトラックおよび第２のルーティングトラックを介してクロックソースに結合される。回路設計の第２のルートは、第１のルーティングトラック、第２のルーティングトラック、および第３のルーティングトラックを介してクロックソースに結合される。第１のルートは第１の集積回路ダイ上に位置し、第２のルートは第２の集積回路ダイ上に位置する。
【０００６】
このようなマルチダイシステムでは、下記のうちの１つ以上が真であろう。第１のルートは、第２のルーティングトラックと、第１のクロックルーティングリソースの第１の分配スパインのうちの１つの第１の分配スパインとの交点に位置していてもよい。第２のルートは、第３のルーティングトラックと、第２のクロックルーティングリソースの第２の分配スパインのうちの１つの第２の分配スパインとの交点に位置していてもよい。いくつかのシステムでは、第１の分配スパインも第２の分配スパインも、第１の集積回路ダイと第２の集積回路ダイとの間のダイ間ルーティングのために結合されていない。
【０００７】
別の装置において、集積回路ダイは、クロックルーティングリソースのネットワークと、クロックソースとを有する。回路設計はクロックドメインのルートを有する。クロックルーティングリソースのルーティングトラックは、クロックソースとルートとを結合する。クロックルーティングリソースの第１の分配スパインは、ルーティングトラックに結合される。クロックルーティングリソースの第２の分配スパインは、第１の分配スパインとクロックソースとを結合する。第２の分配は、クロック信号のフィードバック経路を与える。
【０００８】
また別の装置において、第１の集積回路ダイは、第１のクロックルーティングリソースの第１のネットワークを有する。第１のクロックルーティングリソースの第１のルーティングトラックは、第１の集積回路ダイのクロックソースを、第１のクロックルーティングリソースの第２のルーティングトラックに結合する。第２の集積回路ダイは、第２のクロックルーティングリソースの第２のネットワークを有する。第２のクロックルーティングリソースの第３のルーティングトラックは、第２のルーティングトラックに結合される。第１のルートは、第１のルーティングトラックおよび第２のルーティングトラックを介してクロックソースに結合される。第２のルートは、第１のルーティングトラック、第２のルーティングトラック、および第３のルーティングトラックを介してクロックソースに結合される。第１のルートは第１の集積回路ダイ上に位置する。第２のルートは第２の集積回路ダイ上に位置する。
【０００９】
添付の図面は典型的なブロック図および回路図を示す。しかしながら、添付の図面は、示されている例を限定するものと解釈されるべきではなく、説明と理解のみを目的としている。
【図面の簡単な説明】
【００１０】
【図１】典型的な列状フィールドプログラマブルゲートアレイアーキテクチャを示す簡略ブロック部である。
【図２】典型的な集積回路を示すブロック図である。
【図３】ファブリックサブリージョン（ＦＳＲ）のサブセットにおいてインスタンス化された典型的な回路が示された図２のブロック図である。
【図４】クロックソースからルートまでの典型的な経路が示された図３のブロック図である。
【図５】回路クラウドの典型的な垂直および水平分配スパインが示された図４のブロック図である。
【図６】クロックネットワークの典型的なクロックリーフが示された図５のブロック図である。
【図７】図２の集積回路の典型的なクロックルーティング階層が示されたブロック図である。
【図８−１】ＦＳＲのアレイの典型的な部分を示すブロック／回路図である。
【図８−２】ＦＳＲのアレイの典型的な部分を示すブロック／回路図である。
【図９】マルチダイシステムの、図１〜図８−２の説明に従う典型的なクロックネットワークを示すブロック図である。
【図１０】マルチダイシステムの、図１〜図８−２の説明に従う典型的なクロックネットワークを示すブロック図である。
【図１１】マルチダイシステムの、図１〜図８−２の説明に従う典型的なクロックネットワークを示すブロック図である。
【図１２】マルチダイシステムの、図１〜図８−２の説明に従う典型的なクロックネットワークを示すブロック図である。
【図１３】マルチダイシステムの、図１〜図８−２の説明に従う典型的なクロックネットワークを示すブロック図である。
【図１４】マルチダイシステムの、図１〜図８−２の説明に従う典型的なクロックネットワークを示すブロック図である。
【図１５】マルチダイシステムの、図１〜図８−２の説明に従う典型的なクロックネットワークを示すブロック図である。
【図１６】マルチダイシステムの、図１〜図８−２の説明に従う典型的なクロックネットワークを示すブロック図である。
【図１７】マルチダイシステムの、図１〜図８−２の説明に従う典型的なクロックネットワークを示すブロック図である。
【図１８】マルチダイシステムの、図１〜図８−２の説明に従う典型的なクロックネットワークを示すブロック図である。
【図１９】マルチダイシステムの、図１〜図８−２の説明に従う典型的なクロックネットワークを示すブロック図である。
【図２０】マルチダイシステムの、図１〜図８−２の説明に従う典型的なクロックネットワークを示すブロック図である。
【図２１−１】ＦＳＲの典型的なクロックネットワークを示す回路／ブロック図である。
【図２１−２】ＦＳＲの典型的なクロックネットワークを示す回路／ブロック図である（本明細書では図２１−１と図２１−２をまとめて「図２１」と呼ぶ）。
【図２２】クロックネットワークの典型的な「リーフ」を示す回路／ブロック図である。
【図２３】ＦＳＲの典型的な部分を示すブロック図である。
【図２４】相互接続タイルの典型的な部分を示す回路図である。
【発明を実施するための形態】
【００１１】
詳細な説明
以下の説明では、具体的な例をより詳しく説明するために、数多くの具体的な詳細事項が記載されている。しかしながら、１つ以上の例は下記すべての具体的な詳細事項がなくても実行し得ることが、当業者には明らかなはずである。それ以外の場合では、この１つ以上の例が不明瞭にならないよう、周知の特徴は記載されていない。説明し易くするために、異なる図面における同一項目は同一の参照番号を用いて示しているが、代替の実施形態ではこれら項目が同一ではない場合がある。
【００１２】
いくつかの図面に代表的に示されている例について説明する前に、理解が深まるよう最初に概略を述べる。
【００１３】
先に説明したように、以前のクロックネットワークアーキテクチャは、リージョナルクロックおよびグローバルクロックに対し特化されたネットワークを使用していた。リージョナルクロックは、ＰＬＤプログラマブルリソースのアレイの外側のエッジからの駆動に限定され、グローバルクロックは、このようなアレイの中心からの駆動に限定されていた。
【００１４】
上記概略の理解を念頭に置いて、さまざまな典型的なクロックネットワークアーキテクチャについて以下で説明する。下記のように、リージョナルおよびグローバルクロッキングの機能を組合わせたことによって、ユーザは、クロックリソースのプールからの選択を行なってクロックネットワークをプログラマブルリソースにおいてインスタンス化された回路設計に適合させることができる。このため、プログラマブルリソースにおいてインスタンス化された回路設計を、特定用途向け回路にさらによく似たものにすることができる。言い換えると、たとえば、ルートは、集積回路ダイの中心またはこのような集積回路ダイの回路リソースのレイアウトの中心または集積回路ダイ固有のその他のこのような中心位置にある必要はないが、プログラマブルリソースにおいてインスタンス化された回路設計に対して配置されてもよい。
【００１５】
より具体的には、ユーザは、クロック分配ネットワークのルートをこのようなクロックリソースのプールに対してどこに配置するかを選択することができる。このため、ルートは集積回路においてインスタンス化された回路設計内のほぼどの場所にでも配置することができ、したがって、集積回路自体のルート位置による拘束は受けない。一般的に、クロック分配ネットワークのルートは、以下でより詳しく説明するように、クロックネットワーク内のどこに配置してもよい。このような配置を提供するために、セグメント化されバッファされたクロックトラックを設ける。クロック分配スパインの任意の遅延素子を用いて、クロックスキュー（「スキュー」）を少なくともほぼゼロにするかまたは等しくしてもよい。隣合うクロックセグメント間のスキューを小さくするために、任意の遅延素子を用いてホールドタイミング（「ホールド」）の問題を緩和または回避してもよい。
【００１６】
記載されている回路のうちの１つ以上は特定種類のＩＣを用いて例示されるので、このようなＩＣの詳細な説明を以下で行なう。しかしながら、プログラマブルリソースのアレイを有するその他の種類のＩＣが本明細書に記載の例のうちの１つ以上の例の利益を享受し得ることが理解されるはずである。
【００１７】
プログラマブルロジックデバイス（「ＰＬＤ」）は、指定された論理機能を果たすようにプログラムすることができる周知の種類の集積回路である。一種のＰＬＤとしての、フィールドプログラマブルゲートアレイ（「ＦＰＧＡ」）は一般的にプログラマブルタイルのアレイを含む。これらプログラマブルタイルは、例として、入出力ブロック（「ＩＯＢ」）、コンフィギュラブルロジックブロック（「ＣＬＢ」）、専用ランダムアクセスメモリブロック（「ＢＲＡＭ」）、乗算器、デジタル信号処理ブロック（「ＤＳＰ」）、プロセッサ、クロックマネージャ、遅延ロックループ（「ＤＬＬ」）等を含み得る。本明細書で使用する「含む」は、限定なしで含むことを意味する。
【００１８】
各プログラマブルタイルは一般的に、プログラマブル相互接続とプログラマブルロジック双方を含む。プログラマブル相互接続は一般的に、プログラマブル相互接続ポイント（「ＰＩＰ」）によって相互接続された可変長の多数の相互接続線を含む。プログラマブルロジックは、たとえば、関数発生器、レジスタ、算術ロジック等を含み得るプログラマブル素子を用いるユーザ設計のロジックを実装する。
【００１９】
このプログラマブル相互接続およびプログラマブルロジックは一般的に、コンフィギュレーションデータのストリームを、プログラマブル素子を如何にして構成するかを定める内部コンフィギュレーションメモリセルにロードすることによって、プログラムされる。コンフィギュレーションデータは、メモリから（たとえば外部ＰＲＯＭから）読取ってもよく、外部装置によってＦＰＧＡに書込んでもよい。そうすると、個々のメモリセルの集合状態が、ＦＰＧＡの機能を決定する。
【００２０】
別の種類のＰＬＤは、複合プログラマブルロジックデバイスまたはＣＰＬＤである。ＣＰＬＤは、相互に接続されるとともに相互接続スイッチマトリクスによって入出力（「Ｉ／Ｏ」）リソースに接続された２つ以上の「機能ブロック」を含む。ＣＰＬＤの各機能ブロックは、プログラマブルロジックアレイ（「ＰＬＡ」）およびプログラマブルアレイロジック（「ＰＡＬ」）装置で使用されるものと同様の２レベルのＡＮＤ／ＯＲ構造を含む。ＣＰＬＤでは、コンフィギュレーションデータは一般的にオンチップで不揮発性メモリに格納される。ＣＰＬＤの中には、コンフィギュレーションデータがオンチップで不揮発性メモリに格納されその後初期コンフィギュレーション（プログラミング）シーケンスの一部として揮発性メモリにダウンロードされるＣＰＬＤがある。
【００２１】
これらプログラマブルロジックデバイス（「ＰＬＤ」）すべてについて、デバイスの機能はデータビットによって制御される。このデータビットはこの目的のためにデバイスに与えられる。データビットは、揮発性メモリ（たとえばＦＰＧＡおよびいくつかのＣＰＬＤにあるようなスタティックメモリセル）、不揮発性メモリ（たとえばいくつかのＣＰＬＤにあるようなフラッシュメモリ）、またはその他の種類のメモリセルに格納することができる。
【００２２】
これ以外のＰＬＤは、デバイス上のさまざまな素子をプログラマブルに相互接続する金属層等の処理層を与えることによってプログラムされる。これらＰＬＤは、マスクプログラマグルデバイスとして知られている。ＰＬＤは、たとえばヒューズまたはアンチヒューズ技術を用いるなど、他のやり方で実装することもできる。「ＰＬＤ」および「プログラマブルロジックデバイス」という用語は、上記典型的なデバイスを含むがこれに限定される訳ではなく、部分的にのみプログラマブルなデバイスも包含する。たとえば、ある種のＰＬＤは、ハードコーディングされたトランジスタロジックと、ハードコーディングされたトランジスタロジックをプログラマブルに相互接続するプログラマブルスイッチファブリックとを組合わせたものを含む。
【００２３】
上記のように、進化したＦＰＧＡは、アレイ内に、数種類のプログラマブルロジックブロックを含み得る。たとえば、図１は、マルチギガビットトランシーバ（「ＭＧＴ」）１０１、コンフィギュラブルロジックブロック（「ＣＬＢ」）１０２、ランダムアクセスメモリブロック（「ＢＲＡＭ」）１０３、入出力ブロック（「ＩＯＢ」）１０４、コンフィギュレーションおよびクロッキングロジック（「ＣＯＮＦＩＧ／ＣＬＯＣＫＳ」）１０５、デジタル信号処理ブロック（「ＤＳＰ」）１０６、特化された入出力ブロック（「Ｉ／Ｏ」）１０７（たとえばコンフィギュレーションポートおよびクロックポート）、および、デジタルクロックマネージャ、アナログデジタル変換器、システムモニタリングロジック等のその他のプログラマブルロジック１０８を含む、多数の異なるプログラマブルタイルを備える、ＦＰＧＡアーキテクチャ１００を示す。いくつかのＦＰＧＡは、専用プロセッサブロック（「ＰＲＯＣ」）１１０も含む。
【００２４】
いくつかのＦＰＧＡにおいて、各プログラマブルタイルは、隣接する各タイルの対応する相互接続素子へのおよびこの素子からの標準化された接続を有するプログラマブル相互接続素子（「ＩＮＴ」）１１１を含む。したがって、プログラマブル相互接続素子を合わせて、示されているＦＰＧＡのプログラマブル相互接続構造を実装する。プログラマブル相互接続素子１１１はまた、図１の上部に含まれる例によって示される、同一タイル内のプログラマブルロジック素子へのおよびこの素子からの接続を含む。
【００２５】
たとえば、ＣＬＢ１０２は、ユーザロジックを実装するようにプログラムすることができるコンフィギュラブルロジック素子（「ＣＬＥ」）１１２と、１つのプログラマブル相互接続素子（「ＩＮＴ」）１１１とを含み得る。ＢＲＡＭ１０３は、１つ以上のプログラマブル相互接続素子に加えてＢＲＡＭロジック素子（「ＢＲＬ」）１１３を含み得る。一般的に、１つのタイルに含まれる相互接続素子の数は、このタイルの高さによって決まる。描かれている例では、１つのＢＲＡＭタイルは、５つのＣＬＢの高さと同一の高さを有するが、他の数（たとえば４）を用いることもできる。ＤＳＰタイル１０６は、適切な数のプログラマブル相互接続素子に加えてＤＳＰロジック素子（「ＤＳＰＬ」）１１４を含み得る。ＩＯＢ１０４は、たとえば、プログラマブル相互接続素子１１１の１つのインスタンスに加えて、入出力ロジック素子（「ＩＯＬ」）１１５の２つのインスタンスを含み得る。当業者にとっては明らかであるように、たとえば入出力ロジック素子１１５に接続される実際の入出力パッドは、一般的に、入出力ロジック素子１１５の領域に限られない。
【００２６】
描かれている例において、（図１に示される）ダイの中心近くの水平方向の領域は、コンフィギュレーション、クロック、およびその他の制御ロジックのために使用される。この水平方向の領域または列から延びる垂直方向の列１０９は、ＦＰＧＡの幅全体にわたってクロックおよびコンフィギュレーション信号を分配するために使用される。
【００２７】
図１に示されるアーキテクチャを使用するいくつかのＦＰＧＡは、ＦＰＧＡのかなりの部分を構成している規則的な列状構造を壊しているその他のロジックブロックを含む。その他のロジックブロックは、プログラマブルブロックおよび／または専用ロジックであってもよい。たとえば、プロセッサブロック１１０は、ＣＬＢおよびＢＲＡＭの数個の列に跨っている。
【００２８】
なお、図１は、典型的なＦＰＧＡアーキテクチャのみを示すことを意図している。たとえば、１行のロジックブロックの数、行の相対的な幅、行の数および順序、行に含まれるロジックブロックの種類、ロジックブロックの相対的なサイズ、および図１の最上部に含まれている相互接続／ロジックの実装は、代表的なものにすぎない。たとえば、実際のＦＰＧＡでは一般的に、ＣＬＢがどこにあっても隣接する２行以上のＣＬＢを含むことによってユーザロジックを効率的に実装し易くしているが、隣接するＣＬＢ行の数はＦＰＧＡの全体のサイズに応じて変化する。
【００２９】
図２は、典型的な集積回路２００を示すブロック図である。以下でより詳細に説明するように、このような集積回路２００は、図１のＦＰＧＡ１００であっても、プログラマブルロジックリソースのアレイを有するその他の集積回路であってもよい。
【００３０】
集積回路２００は、プログラマブルリソースのＮ×Ｍのアレイ２００を含む。プログラマブルリソースは、ＣＬＢ、プログラマブルロジックアレイブロック（「ＬＡＢＳ」）またはその他の形態のファブリックサブリージョン（「ＦＳＲ」）２０３を含み得る。各ＦＳＲ２０３は、ほぼ同じ高さおよび幅であってもよく、回路リソースの同一セットを含んでいてもよい、すなわち、ＦＳＲ２０３は互いの繰返しであってもよい。
【００３１】
ＦＳＲ２０３のこのようなアレイ２０２は、上下ではギガビットトランシーバ（「ＧＴ」）２０５のアレイ２０１によって挟まれていてもよく、左右ではＩＯＢ２０６のアレイ２０４によって挟まれていてもよく、その逆であってもよい。アレイ２０１および２０４は、集積回路２００の一部を形成し得る。たとえば、ＩＯＢ２０６は図１のＩＯＢ１０４であってもよく、ＧＴ２０５は図１のＭＧＴ１０１であってもよい。アレイ２０１、２０２、および２０４の特定のサイズが例示として示されているが、このようなアレイについてはこれらまたはその他のサイズを使用してもよい。
【００３２】
図３は、ＦＳＲ２０３のサブセットにおいてインスタンス化された回路（「回路クラウド」）３００を一般的に示す図２のブロック図である。回路クラウド３００は、任意形状のロジッククラウドまたは回路設計であればよい。さらに、ＩＯＢ２０６は、クロックソースノード（「クロックソース」）３０１を一般的に示している。回路クラウド３００のクロック負荷位置を、クロックソース３０１とともに識別してもよい。回路クラウド３００のクロック負荷位置を識別することにより、クロックネットワークルート（「ルート」）４０１の位置が、このような回路クラウド３００のクロック分配ネットワークの中心近くにあることがわかるであろう。星印によって一般的に示されているように、ルート４０１は回路クラウド３００の境界内にあってもよい。
【００３３】
アレイ２０２は、たとえば、クロックリーフおよびクロックトラックを含むクロックネットワーク６００等のクロックネットワークを有し得る。クロックトラックには２種類ある、すなわち、水平および垂直クロック分配スパイン（「分配スパイン」）ならびに水平および垂直クロックルーティングトラック（「ルーティングトラック」）である。
【００３４】
図４を参照して、クロックソース３０１からルート４０１までの典型的な経路４００を示す図３のブロック図が示されている。経路４００は、１つ以上の垂直ルーティングトラック４０２および／または１つ以上の水平ルーティングトラック４０３で構成されていてもよく、経路４００をルーティングトラック４００と呼んでもよい。一例において、ルーティングトラック４０２および４０３は、ＦＳＲ２０３の境界でセグメント化され、このようなルーティングトラック４０２および４０３は双方向性である。この例では、経路４００は水平方向では４つのＦＳＲ２０３にわたって延びており垂直方向では２つのＦＳＲ２０３にわたって延びている。４つの水平ルーティングトラックセグメントを用いてルーティングトラック４０２を与えてもよく、２つの垂直ルーティングトラックセグメントを用いてルーティングトラック４０３を与えてもよい。他の実施形態では異なる数のルーティングトラックセグメントを用いてクロックソースからクロックネットワークルートへの経路を与えてもよい。
【００３５】
ルーティングトラック４０２および４０３は、クロックソース３０１から、水平および垂直分配スパイン５０２の１つ以上の交点までの経路４００を提供するために使用し得る専用クロックリソースである。一例において、このようなスパインの交点は、１つのＦＳＲ２０３当たり２つある。しかしながら、他の実施形態では、１つのＦＳＲ２０３当たりのスパインの交点は２つより少なくても多くてもよい。
【００３６】
要約すると、ルーティングトラック４０２および／または４０３等のルーティングトラックを用い、１つ以上の専用クロックリソースを使用して、クロック信号を、回路クラウド３００等の回路設計のルート４０１等の分配クロックネットワークルートまでルーティングしてもよい。一般的に、回路設計のクロックネットワークルートは、最も近い共通ノードから見て、クロックが発せられる場所である。クロックソース３０１から回路クラウド３００のルート４０１までのルーティングが可能なので、任意の数および任意の形状のロジッククラウドのためのクロックネットワークは、このようなロジッククラウドのこのようなクロックネットワークのほぼ「中心」にクロックノードを有することができる。ルート４０１までのルーティングを提供できるので、スキューの低減が容易になり、クロック分配ネットワーク内でのスキューを、等しくする、減じる、またはゼロにすることができる。たとえば、クロック信号がクロックネットワークの他の部分に対して発せられる場所である共通クロックルートノードをほぼ中心に配置できるので、このようなクロックネットワーク全体におけるこのようなクロック信号のこのような伝搬における最も大きな遅延を減じることができる。
【００３７】
以下でより詳しく説明するように、ノードを用いてルーティングトラック、分配スパイン、およびリーフの交点を大まかに示すことができるが、このような交点は、直接的な金属交点という意味において必ずしもノード近くにはなく、むしろ、２つの金属またはその他の導電線を選択的に結合するための回路を必要とし得る。さらに、以下でより詳しく説明するように、連続する線を用いてルーティングトラックおよび分配スパインを大まかに示しているが、このようなルーティングトラックおよび分配スパインは、回路によって相互に結合されたルーティングトラックおよび／または分配スパインのセグメントによって形成されていてもよい。
【００３８】
ルーティングトラックを分配スパインから分離することにより、ルーティングトラックはスキューの影響を受け難くなるであろう。たとえば、ルーティングトラックは、レイアウト内で使用する空間を少なくするために、より薄いまたはより細い金属線を用いて形成してもよい。さらに、ルーティングトラックを分配スパインから分離することにより、ソフトウェア配置アルゴリズムを簡略化することができる。なぜなら、このようなソフトウェア配置アルゴリズムはこのようなリソースをルーティング／分配の対として扱い得るからである。しかしながら、別の実施形態では、同一のリソースタイプをルーティングトラックおよび分配スパイン双方に、すなわちこれら機能双方に使用してもよい。
【００３９】
クロックドメインまたはクロック分配サブネットのルートは、回路クラウドのパラメータを満たすように選択された仮想ポイントであってもよい。このようなルートは、扇形に広がるこのようなクロック分配サブネットの根元である中心位置であってもよい。よって、ルートにとって最悪なのは、クロックツリーまたはクロック分配サブネットにおけるいずれか２つの経路の最も近い共通ノードであろう。１つ以上のルーティングトラックが、クロックソースノードから分配スパインの１つ以上の交点まで延びていてもよい。回路クラウドのルート位置を決定することによってクロックスキューを減じても最小にしてもよい。たとえば、ルート位置を、クロックスキューを最小にするのに最適な位置に定めてもよい。１つ以上のルーティングトラックを使用することにより、クロックソースを、回路クラウドのクロックネットワークルートまで、交点を少なくとも１つの分配スパイン交点として、ルーティングしてもよい。ルーティングトラックは、クロックソースからルートまでのルーティングに使用される専用クロックトラックであり、分配スパインは、クロック信号をルートからリーフを介してクロック負荷に分配するための低スキュークロックリソースである。これらの線路に沿って、複数のクロックソースノードを、分配スパインの複数の交点に、このようなクロックソースノードからこのような交点まで延びる複数のルーティングトラックを用いて、結合してもよい。
【００４０】
図５を参照して、回路クラウド３００の典型的な垂直および水平分配スパインが描かれた図４のブロック図が示されている。ルート４０１への経路４００は垂直分配スパイン５０１と交差する。言い換えると、クロック信号は、垂直分配スパイン５０１を用いてルート４０１から垂直方向に分配することができる。図５の例において、垂直分配スパイン５０１は、隣合う４つのＦＳＲを通って延びている。回路クラウド３００は垂直方向において４つのＦＳＲに延在しているので、この例では４つの垂直分配スパインセグメントを用いて垂直分配スパイン５０１を提供するのが効果的である。これらの線路に沿って１つ以上の垂直分配スパインセグメントを用いて１つの垂直分配スパインを提供することができる。水平方向の分配スパインも垂直方向の分配スパインもＦＳＲ２０３の境界においてセグメント化されている。さらに、以下でより詳しく説明するように、分配スパインは双方向性である。
【００４１】
描かれている例において、垂直分配スパイン５０１と交差しているのは、４つの水平分配スパイン５０２−１〜５０２−４（「分配スパイン５０２」）である。その他の実施形態ではこれよりも少ないまたは多い水平分配スパイン５０２を用いてもよい。分配スパイン５０２−１は、回路クラウド３００の対応する部分が延在するＦＳＲ２０３に対応する、３つの水平分配スパインセグメントからなり、分配スパイン５０２−２は、回路クラウド３００の対応する部分が延在するＦＳＲ２０３に対応する、４つの水平分配スパインセグメントからなり、分配スパイン５０２−３は、回路クラウド３００の対応する部分が延在するＦＳＲ２０３に対応する、５つの水平分配スパインセグメントからなり、分配スパイン５０２−４は、回路クラウド３００の対応する部分が延在するＦＳＲ２０３に対応する、４つの水平分配スパインセグメントからなる。
【００４２】
垂直分配スパイン５０１を用いて分配されるクロック信号の垂直方向のスキューを最小にするまたは減じるために、任意の遅延１１１を使用してもよい。このような遅延は、垂直分配スパインと交差する水平分配スパイン、すなわちこの例では垂直分配スパイン５０１と交差する水平分配スパイン５０２から見たときの、垂直方向の遅延を等しくするために、プログラムで設定すればよい。この典型的な構造では、水平分配スパイン５０２は垂直スパイン５０１と４つの交点４０１で交差しており、これら４つの交点４０１のうちの１つは、星印で示されているルート（「ルート４０１」）である。ルート４０１には、少なくとも垂直方向のスキューをゼロにしようとして、最も大きな遅延が加えられる。ルート４０１に最も近い交点４０１には、次に大きな遅延が加えられ、以降同様である。ルート４０１から最も遠い交点４０１には、最も小さな遅延が加えられる。言い換えると、水平分配スパイン５０２−２には最も大きな遅延が加えられ、水平分配スパイン５０２−２に対応付けられている遅延５１１の単位間隔遅延は２に等しく、水平分配スパイン５０２−１および５０２−３には次に大きな遅延が加えられ、これら水平分配スパインに対応付けられている遅延５１１の単位間隔遅延は１に等しく、水平分配スパイン５０２−４には最も小さな遅延が加えられ、水平分配スパイン５０２−４に対応付けられている遅延５１１の単位間隔遅延はゼロに等しい、すなわち遅延は加えられていない。一般的に、ルートに遅延を加え、いずれかの方向においてこのルートに続く１つ以上の交点ノードには、漸進的に小さくした遅延を加えればよい。
【００４３】
垂直分配スパイン５０１の垂直セグメントの部分５０５は、回路クラウド３００のクロックドメイン外周５０４を超えて延在していてもよい。同様に、水平分配スパイン５０２の水平セグメントの部分５０３は、回路クラウド３００の外周５０４を超えて延在していてもよい。
【００４４】
図６は、クロックネットワークの典型的なクロックリーフ（「リーフ」）６０１が示された図５のブロック図である。リーフ６０１は水平分配スパイン５０２の水平セグメントと交差する。ＦＳＲ２０３の中のいくつかのリーフ６０１の部分は、回路クラウド３００の外周５０４を超えて延在していてもよい。同様に、回路クラウド３００はこの外周５０４の外側に位置しているリーフ６０１を含むＦＳＲ２０３の一部を占めているが、いくつかのリーフ６０１全体が回路クラウド３００の外周５０４の外側にあってもよい。リーフ６０１は、ＦＳＲ２０３の内部に位置し、このようなＦＳＲ２０３の境界でセグメント化または囲まれている。
【００４５】
要約すると、クロックソースを、１つ以上のＦＳＲに跨る回路クラウドのクロックネットワークルートまで、１つ以上のルーティングトラックを用い、水平方向および垂直方向のうちのいずれかまたは水平方向および垂直方向に、ルーティングすることができる。このようなクロックソースはオンチップであってもオフチップであってもよく、このようなクロックソースは、クロック信号を、ＩＯＢもしくはギガビットトランシーバ（「ＧＴ」）にまたはＩＯＢもしくはＧＴから与えるためのものであってもよい。さらに、タイルの列等のタイルを用いて１つのダイから別のダイへのルーティングを行なってもよく、クロック分配のルートは、分配スパインのいずれかの交点に存在し得る。逆に、ルートは、このような集積回路ダイのプログラマブルリソースを用いるユーザによってインスタンス化された回路クラウドに固有のものであってもよい。こうすれば、クロック分配を回路クラウドに適合させる能力が大幅に高まる。加えて、このようなルートのルーティングに使用されるリソースは、集積回路ダイに固有の中止位置に限られないルーティングトラック等の専用クロックリソースであってもよい。さらに、ローカル相互接続を用いて、クロック信号を、ルーティングトラックおよび／または分配スパイン等のクロックネットワークの専用クロックリソース上に、ルーティングしてもよい。たとえばルーティングトラック等の専用クロックリソースを設けることにより、クロック分配ネットワークの中心へのまたは回路クラウドのクロックドメインの中心位置への低スキュー経路をインスタンス化することができる。しかしながら、ユーザが、たとえばレジスタ等のクロック負荷へできる限り直接的に到達することを望む場合があり、したがって、低インジェクション遅延ルーティングのために、ルーティングトラックをスキップまたはバイパスしてクロックソースから１つ以上の分配スパインに直接進んでもよい。
【００４６】
要約すると、ルーティングトラックは、水平分配スパインと垂直分配スパインの交点に結合される。このような垂直分配スパインは、集積回路ダイ固有の中心位置に限定されるのではなく、プログラマブルリソースのアレイ全体に広がっており、ルートの位置の変化を促す。さらに、垂直および水平分配スパインは双方向性である。今まで、クロック信号は、集積回路ダイ固有の中心位置までルーティングされてから、このような中心位置から一方向にルーティングされていた。しかしながら、ルートは、プログラマブルリソースのアレイの中において、または、より具体的にはこのようなプログラマブルリソースのアレイの中のクロックネットワークの中において、さまざまな位置を取り得るので、垂直および水平分配スパインの双方向機能により、ルートはこのようなさまざまな位置を取ることができる。言い換えると、このような集積回路ダイのプログラマブルリソースを用いてインスタンス化されたすべての回路クラウドに対してクロックルートを何処に配置するかは、集積回路ダイのレイアウトによって先験的に決められるのではない。逆に、たとえば垂直分配スパインを、回路クラウドのインスタンス化に反応して複数の垂直分配スパインから選択してもよい。ある垂直分配スパインのルートから、クロック信号を、１つ以上の水平分配スパインへ、および、このような垂直分配スパインに沿って上記ルートから離れる方向にルーティングし、ある水平分配スパインから、クロック信号を、１つ以上のリーフへルーティングしクロック信号が回路クラウド内のクロック負荷に達するようにしてもよい。
【００４７】
図７は、図２の上記集積回路２００の典型的なクロックルーティング階層７００を示すブロック図である。クロックルーティング階層７００は、クロックソース７１０およびクロックネットワークリソース７１１を含む。クロックソース７１０は、トランシーバおよびレシーバソースのプール７０１と、入出力および内部クロックソースのプール７０２と、ローカル相互接続ソースのプール７０３とを含む。クロックネットワークリソース７１１は、限定ではないが水平および垂直クロックルーティングトラック４００を含むクロックルーティングトラック４００のプールと、垂直分配スパイン５０１と、水平分配スパイン５０２と、リーフ６０１と、１つ以上のルートの交点４０１とを含む。先に述べたように、矢印７３１によって一般的に示されているように、クロック信号を、クロックルーティングトラック４００から、ルート４０１であってもよい交点に送ることができる。矢印７３２によって一般的に示されているように、このようなクロック信号を、ルート４０１から、１つ以上の垂直分配スパイン５０１に送ることができる。矢印７３３によって一般的に示されているように、クロック信号を、垂直分配スパイン５０１から、１つ以上の水平分配スパイン５０２に送ることができる。最後に、矢印７３４によって一般的に示されているように、クロック信号を、水平分配スパイン５０２から１つ以上のリーフ６０１に送ることができる。
【００４８】
トランシーバおよびレシーバソースのプール７０１、入出力および内部クロックソースのプール７０２、または、ローカル相互接続ソースのプール７０３から、クロック信号を、矢印７２２によって一般的に示されているように、クロックルーティングトラックのプール４００からの１つ以上のリソースを用いて、直接送ってもよい。内部クロックソース７０２は、ＰＬＬ、ＤＬＬ、またはその他の内部クロックソースを含み得る。
【００４９】
トランシーバおよびレシーバソースのプール７０１、入出力および内部クロックソースのプール７０２、または、ローカル相互接続ソースのプール７０３から、クロック信号を、矢印７２１によって一般的に示されているように、ローカル相互接続を用いて少なくとも１つのルート４０１に直接送ってもよく、または、矢印７２２および７３１によって一般的に示されているように、クロックルーティングトラックのプール４００からの１つ以上のリソースを用いて、クロックルーティングトラックのプール４００から少なくとも１つのルート４０１に送ることにより、間接的に少なくとも１つのルート４０１に送ってもよい。
【００５０】
入出力および内部クロックソースのプール７０２またはローカル相互接続ソースのプール７０３から、クロック信号を、矢印７２３によって一般的に示されているように、水平分配スパインのプール５０２からの１つ以上のリソースを用いて直接送ってもよい。ローカル相互接続ソースのプール７０３から、クロック信号を、矢印７２４によって一般的に示されているように、リーフ６０１のプールからの１つ以上のリソースを用いて直接送ってもよい。
【００５１】
図８−１は、ＦＳＲ２０３のアレイ２０２の典型的な部分を示すブロック／回路図である。ＦＳＲ２０３の左部分２０３−２が右部分２０３−１とともに例示的に示されている。ＦＳＲ２０３は、これらの線路に沿い、クロック信号を右から左または左から右に駆動するのに使用し得る水平分配スパイン５０２を有することが、理解されるはずである。垂直分配スパインまたはセグメント５０１と水平分配スパインまたはセグメント５０２とのルートまたは交点４０１から、クロック信号を任意の遅延５１１に与えてもよい。遅延５１１はプログラム可能でありしたがって任意で回路の中にあっても外にあってもよい。しかしながら、このような遅延５１１の遅延は、インバータチェーンによって与えられる「固定された」遅延であってもよい。遅延５１１の出力はそれぞれバッファ８０１の入力に結合されてもよく、バッファ８０１の出力は、クロック信号を水平分配スパイン５０２上に駆動し得る。この例は各水平分配スパイン５０２に対し一対の遅延５１１と一対のバッファ８０１を示しているが、別の例では、ＦＳＲ２０３のアレイ２０２の典型的な部分を示す図８−２のブロック／回路図に示されているように、各水平分配スパイン５０２に対し１つの遅延５１１と１つのバッファ８０１が使用されてもよい。
【００５２】
遅延５１１に対して任意のマルチタップインバータチェーンを使用することにより、事実上遅延ゼロの垂直スパイン５０１を形成してもよい。ルート４０１に近いほど大きな遅延を漸進的に加えることにより、各水平分配スパインに対し、全体的に遅延をおよそ１５０ピコ秒内に等化してもよい。インバータチェーンは、たとえばプロセス−電圧−温度変動に対する金属対トランジスタの遅延のために互いに完璧に一致したものでなくてもよい。したがって、垂直分配スパイン５０１の遅延はある程度変動してもよい。しかしながら、垂直方向のスキューは低減でき、この低減は、ルートノード４０１からより大きく離れたノード４０１ではより顕著であろう。
【００５３】
図９〜図１４は、マルチダイシステム９００の、図１〜図８−２の上記説明に従うそれぞれの典型的なクロックネットワークを示すブロック図である。以下では、図９〜図１４について、同時に図１〜図１４を参照しながら説明する。したがって、グローバルクロックは低スキュークロックに置換えられ、リージョナルクロックは低インジェクションクロックに置換えられる。低スキュークロックおよび低インジェクションクロックの具体例が示されるが、このような種類のクロックをクロックネットワーク内で組合わせてもよい。低インジェクションクロックを参照すると、ソースをクロック分配スパインまで直接ルーティングしいずれのクロックルーティングトラックもバイパスすることにより、たとえばＩ／Ｏとファブリックとの通信に役立ち得る低インジェクション遅延クロックを提供することができる。
【００５４】
集積回路ダイ９１０は、入出力バンク９０２の列と、入出力バンク９０２にそれぞれ対応付けられたクロッキングブロック９０３の列と、ＦＳＲ２０３の列と、ＦＳＲ２０３の列と列の間にあるＰＣＩｅ／コンフィギュレーションブロック（「ＰＣＩｅブロック」）列９０４とを含む。ＦＳＲ２０３の列およびＰＣＩｅブロック列９０４はいずれも集積回路ダイ９１０のファブリックアレイ９１４の一部である。一例において、独立したＧＴダイ９０１をインターポーザ（ここでは図示せず）を通して集積回路ダイ９１０に結合してもよい。
【００５５】
図９のクロックネットワークの場合、入出力バンク９０２のクロックソース９０５は、クロックドメイン９０６の水平分配スパイン５０２に直接結合されている。クロックドメイン９０６は、このような入出力バンク９０２から、対応するクロッキングブロック９０３および隣のＦＳＲ２０３まで延在している。クロックドメイン９０６は低インジェクションリージョナル入出力クロックのためのものである。低インジェクションクロックの場合、一般的にルーティングトラック４００は使用されない。
【００５６】
図１０のクロックネットワークの場合、入出力バンク９０２のクロックソース９０５は、クロックドメイン１００６の水平分配スパイン５０２に直接結合されている。クロックドメイン１００６は、低インジェクションリージョナル入出力クロックのためのものである。クロックドメイン１００６は、３つの垂直サブリージョンと３つの水平サブリージョンとを含む。このような入出力バンク９０２から、対応するクロッキングブロック９０３、隣接する２つのＦＳＲ２０３、およびＰＩＣｅブロック９０４まで、水平分配スパイン５０２が用いられる。クロッキングブロック９０３の列にある垂直分配スパイン５０１を用いて、クロックドメインを、上下１行ずつ、これらの行の対応する水平分配スパイン５０２まで拡大することができる。
【００５７】
図１１のクロックネットワークの場合、入出力バンク９０２のクロックソース９０５は、クロックドメイン１１０６の水平分配スパイン５０２に直接結合されている。クロックドメイン１１０６は、入出力バンク９０２からの低スキュークロックのためのものでる。クロックドメイン１１０６は、３つの垂直サブリージョンと４つの水平サブリージョンとを含む。このような入出力バンク９０２から、対応するクロッキングブロック９０３および隣接する２つのＦＳＲまで、ルーティングトラック４００が使用される。左から２番目のＦＳＲ列にあるルート４０１は、明確にするために２つの別々のノードとして示されているが、これらノードは同一のノードである。ルート４０１は、垂直分配スパイン５０１と水平分配スパイン５０２の交点にある。このようなＦＳＲ２０３の列にある垂直分配スパイン５０１を用いて、クロックドメインを、上下１行ずつ、これらの行の対応する水平分配スパイン５０２まで拡大することができる。
【００５８】
図１２のクロックネットワークの場合、ＧＴダイ９０１のクロックソース９０５は、クロックドメイン１２０６の、集積回路ダイ９１０の垂直分配スパイン５０１に、結合されている。クロックドメイン１２０６は、ＧＴダイ９０１のＧＴからの低インジェクションＧＴリージョナルクロックのためのものである。クロックドメイン１２０６は、３つの垂直サブリージョンと１つの水平サブリージョンとを含む。ＧＴダイ９１０のＧＴから、クロック信号が、ＦＳＲ２０３の列への垂直分配スパイン５０１を用いて、集積回路ダイ９１０に送られる。この例では、隣合う３つのＦＳＲ２０３が、このような垂直分配スパイン５０１と交差する、対応する３つの水平分配スパイン５０２とともに使用される。ユーザクロック経路に対する内部基準クロックがあると想定しかつ垂直分配スパイン５０１に対する任意の遅延は使用しないと想定すると、リターンユーザクロックを使用してデータを転送しないよう、ＧＴダイ９０１と集積回路ダイ９０１のプログラマブルリソースファブリックとの間に十分に小さいレイテンシがあってもよい。
【００５９】
垂直分配スパイン５０１を設けるために使用される垂直分配セグメントによるダイとダイとの相互接続は、ファブリックアレイ９１４の最も外側の行にあるリソースによって提供されてもよい。したがって、ＩＣのアレイの幅全体を通して、ダイとダイとの相互接続を使用してもよく、そうすることによって、ダイから、このダイに結合されたＦＰＧＡダイからのクロックに、より局所的なアクセスを行なうことができる。このように、別のダイとのインターフェイスのために、特定のオフダイの相互接続を与えてもよい。インターポーザ（ここでは図示せず）または回路基板（図示せず）を用いてこのような相互接続を配線してもよい。
【００６０】
図１３のクロックネットワークの場合、ＧＴダイ９０１のクロックソース９０５は、クロックドメイン１３０６の、集積回路ダイ９１０の垂直分配スパイン５０１に、結合されている。クロックドメイン１３０６は、ＧＴダイ９０１のＧＴからの低インジェクションのマルチリージョンＧＴクロックのためのものである。クロックドメイン１３０６は、２つの垂直サブリージョンと４つの水平サブリージョンとを含む。ＧＴダイ９０１のＧＴから、クロック信号が、ＦＳＲ２０３の列への垂直分配スパイン５０１を用いて、集積回路ダイ９１０に送られる。この例では、隣合う２つのＦＳＲ２０３が、このような垂直分配スパイン５０１と交差する、対応する２つの水平分配スパイン５０２とともに使用される。このような水平分配スパイン５０２は、左側のＦＳＲ２０３の１つの列と、右側の２つの列、すなわちＰＣＩｅ／コンフィギュレーションブロックの列９０４およびＦＳＲ２０３の列に、広がっている。
【００６１】
図１４のクロックネットワークの場合、ＧＴダイ９０１のクロックソース９０５は、クロックドメイン１４０６の、集積回路ダイ９１０の垂直分配スパイン５０１に、結合されている。クロックドメイン１４０６は、ＧＴダイ９０１のＧＴからの低スキュークロックのためのものである。クロックドメイン１４０６は、先に述べたように、グローバルクロックと同じトポロジを有する。クロックドメイン１３０６は、３つの垂直サブリージョンと、４つの水平サブリージョンとを含む。ＧＴダイ９０１から隣合う２つのＦＳＲ２０３を通るルーティングトラック４００が使用される。左から２番目のＦＳＲ列にあるルート４０１は、明確にするために２つの別々のノードとして示されているが、これらノードは同一のノードである。ルート４０１は、垂直分配スパイン５０１と水平分配スパイン５０２の交点にある。このようなＦＳＲ２０３の列にある垂直分配スパイン５０１を用いて、クロックドメインを、上下１行ずつ、これらの行の対応する水平分配スパイン５０２まで拡大することができる。
【００６２】
図１５〜図２０は、マルチダイシステム１５００の、図１〜図８−２の上記説明に従うそれぞれの典型的なクロックネットワークを示すブロック図である。以下では、図１５〜図２０について、同時に図１〜図２０を参照しながら説明する。
【００６３】
図１５を参照して、マルチダイシステム１５００は、インターポーザ１５１０に結合された、２つの集積回路ダイ９１０と２つのＧＴダイ９０１とを含む。上側の集積回路ダイ９１０のクロッキングブロック９０３にあるクロックソース９０５は、ルート４０１との結合のためにルーティングトラック４００に結合されている。ルート４０１は垂直分配スパイン５０１に結合されており、このスパイン５０１は、上側の集積回路ダイ９１０のＦＳＲ２０３の最も上の行まで延びるとともに、下側の集積回路ダイ９１０のＦＳＲ２０３の最も下の行まで延びている。垂直分配スパイン５０１を設けるために使用される垂直分配セグメントによるダイとダイとの相互接続は、ファブリックアレイ９１４の最も外側の行にあるリソースによって提供されてもよい。このように、別のダイとのインターフェイスのために、特定のオフダイの相互接続を与えてもよい。インターポーザ１５１０を用いてこれら相互接続を配線してもよい。
【００６４】
垂直分配スパイン５０１と交差する、２つの集積回路ダイ９１０双方の水平分配スパイン５０２を用いて、クロック信号を他のＦＳＲ２０３およびＰＣＩｅブロック９０４に伝搬する。したがって、クロックドメイン１５０６は２つの集積回路ダイ９１０双方のファブリックアレイ９１４に広がっている。
【００６５】
図１６を参照して、異なる４つのクロックネットワークトポロジが例示的に示されている。このようなトポロジは、相互接続クロックが使用される高ファンアウトの相互接続のためのものである。あるトポロジでは、クロックソース９０５−４が、ローカル相互接続ルーティングを用いてリーフ６０１に結合されている。このようなトポロジでは、クロックソース９０５−４、リーフ６０１、およびローカル相互接続ルーティングがすべて同一のＦＳＲ２０３内にある。
【００６６】
クロックドメイン１６０１は、クロックソース９０５−１がＦＳＲ２０３の中にあること以外、クロックドメイン１００６と、ＦＳＲ２０３の一列が類似している。クロックソース９０５−１から、ローカル相互接続ルーティングを用いて入出力クロッキングブロック９０３のバッファに達することにより入出力または低スキュークロックを生成してもよい。クロックドメイン１６０２は１つのＦＳＲ２０３に限定されており、このようなＦＳＲ２０３におけるクロックソース９０５−２は、ローカル相互接続ルーティングを用いて水平分配スパイン５０２に結合されている。
【００６７】
クロックドメイン１６０３は、ローカル相互接続を用いて隣の列のＦＳＲ２０３のルート４０１に結合されている、ＦＳＲ２０３のクロックソース９０５−３を有する。ルート４０１は垂直分配スパイン５０１に結合されている。垂直分配スパイン５０１は、水平分配スパイン５０２を用いたクロック分配のために、このような隣の列の３つのＦＳＲ２０３に跨る３つのセグメントを有する。
【００６８】
図１７を参照して、ファブリックアレイ９１４の外側の行は、垂直分配スパイン５０１をオフチップで相互接続するために、ダイとダイとの間のダイ間相互接続のためのリソースを有していてもよい。このようなリソースを同様にモノリシック集積回路ダイ９１０のＧＴ１７０１との結合に使用してもよい。このように、垂直分配スパイン５０１を用いてＧＴ１７０１に結合してもよい。ＧＴ１７０１リソースをＦＳＲ２０３の列に対応してグループ化してもよい。クロックドメイン１７０６に関するその他の詳細事項は、繰返しを避けるため、ここでは説明しない。
【００６９】
ダイとダイとのダイ間相互接続のためのさまざまな典型的構造について説明してきた。このように、クロック信号を１つのダイから別のダイに送る方法は複数ある。これらダイはいずれもクロックシンクまたはソースを必要とし得る。クロック信号を、低インジェクション遅延経路の場合は分配スパイン上で送ってもよく、または、クロックルーティングトラック上で送ることにより分配スパインを保護してもよい。加えて、クロック信号をデータ入力に送信することにより、データストローブを垂直分配スパインを通して送ってもよい。
【００７０】
図１８を参照して、クロックドメイン１８０１については、先に説明したように、クロックソース９０５を、ルーティングトラック４００を用いてクロックドメインルート４０１までルーティングしてもよい。このようなクロックソース９０５は、クロックマネージャ、すなわちたとえばＰＬＬを有するブロックであってもよい。ルーティングトラック４００と同一のＦＳＲ行の水平分配スパイン５０２Ｆを用いて、スキューをなくす（de-skew）ためにクロック信号をこのようなクロックマネージャにフィードバックしてもよい。クロックマネージャ−ＰＬＬブロックへのフィードバッククロックは、実際のクロック分配の遅延に一致するようにこのようなフィードバッククロックを遅延させるために、ルーティングトラックではなく分配スパインを介して与えてもよい。たとえば、このようなフィードバッククロックの遅延は、クロックネットワークがチップの回路境界まで広がっている場合、実際のクロックの遅延に一致するようにしてもよい。クロックドメイン１８０１の垂直分配スパイン５０１は、クロックドメイン１８０１の外側の垂直分配スパイン５０１Ｆによるこのようなフィードバックのために、延長してもよい。これらの線路に沿って、クロックドメイン１８０２は、クロックドメイン１８０１と、クロックマネージャクロックソース９０５へのおよびこのソースからのルーティングとを包囲し得る。このようなクロックマネージャを、任意の遅延５１１間のばらつきを説明するために、遅延を調整するように構成してもよい。クロックドメイン１８０１に関するその他の詳細事項は、繰返しを避けるため、ここでは説明しない。
【００７１】
このように、垂直分配スパインのいずれかの部分を、クロックソースに戻るようにルーティングされる水平分配スパイン上に引出すことによって、フィードバック補償を提供することができる。任意の遅延を使用し得るので、このような垂直分配スパインをどこで引出すかは問題ではないであろう。
【００７２】
図１９を参照して、クロックドメイン１９０６は、２つのクロックドメインルート４０１を使用することを除いて、クロックドメイン１５０６と同様である。クロックドメイン１９０６において、上側の集積回路ダイ９１０の水平ルーティングトラック４０２は、上側および下側の集積回路ダイ９１０の垂直ルーティングトラック４０３に結合されている。このような、上側および下側双方の集積回路ダイ９１０の垂直ルーティングトラック４０３を用いて、クロックソース９０５を上側の集積回路ダイ９１０のルート４０１に結合するとともに下側の集積回路ダイ９１０のルート４０１に結合する。このため、集積回路ダイ９１０の垂直分配スパイン５０１は相互接続されていない。クロックドメイン１９０６に関するその他の詳細事項は、繰返しを避けるため、ここでは説明しない。
【００７３】
図２０を参照して、クロックドメイン２００６は、クロックドメイン１９０６と同様であり、同一のクロックネットワークの２つのクロックドメインルート４０１を有する。クロックドメイン２００６において、上側の集積回路ダイ９１０の中心水平ルーティングトラック「４０２Ｃ」は、上側および下側の集積回路ダイ９１０の垂直ルーティングトラック４０３に結合されている。このような垂直ルーティングトラック４０３を用いて、上側および下側の集積回路ダイ９１０の水平ルーティングトラック４０２に結合し、このような水平ルーティングトラック４０２は各々別々のルート４０１に結合されている。この２つのルート４０１はそれぞれ、別々の２つの垂直分配スパイン５０１に有効に結合されている。別の構成では、クロックドメイン２００６が、水平ルーティングトラック４０２Ｃのうちの１つの水平ルーティングトラックと垂直ルーティングトラック４０３のうちの１つの垂直ルーティングトラックとの交点において１つのクロックドメインルート４０１を有していてもよい。クロックドメイン２００６に関するその他の詳細事項は、繰返しを避けるため、ここでは説明しない。
【００７４】
図２１−１および図２１−２（「図２１」）は、ＦＳＲ２０３の典型的なクロックネットワーク２１００を示す回路／ブロック図である。クロックネットワーク２１００は、水平ルーティングトラック４０２と、垂直ルーティングトラック４０３と、水平分配スパイン５０２と、垂直分配スパイン５０１とを含む。図２１−１はＦＳＲ２０３の左部分であり、図２１−２はこのＦＳＲ２０３の右部分である。
【００７５】
垂直ルーティングトラック４０３は、トライステートバッファ２１０１を通して垂直分配スパイン５０１に結合されてもよい。トライステートバッファ２１０１の入力は垂直ルーティングトラック４０３に結合されてもよく、トライステートバッファ２１０１の出力は垂直分配スパイン５０１に結合されてもよい。コンフィギュレーションメモリセル（ここでは図示せず）を用いてトライステートバッファ２１０１のための制御信号をプログラムしてこれら制御信号をバッファ状態とハイインピーダンストライステートのいずれかにしてもよい。このように、垂直ルーティングトラック４０３を対応する垂直分配スパイン５０１に選択的に結合してもよい。
【００７６】
垂直分配スパイン５０１は、トライステートバッファ２１０２を通して水平ルーティングトラック４０２に結合されてもよい。トライステートバッファ２１０２の入力は水平ルーティングトラック４０２に結合されてもよく、トライステートバッファ２１０２の出力は垂直分配スパイン５０１に結合されてもよい。コンフィギュレーションメモリセル（ここでは図示せず）を用いてトライステートバッファ２１０２のための制御信号をプログラムしてこれら制御信号をバッファ状態とハイインピーダンストライステートのいずれかにしてもよい。このように、垂直ルーティングトラック４０２を対応する垂直分配スパイン５０１に選択的に結合してもよい。
【００７７】
双方向カプラ２１２２を通して、垂直ルーティングトラック４０３は水平ルーティングトラック４０２に結合されてもよく、水平ルーティングトラック４０２は垂直ルーティングトラック４０３に結合されてもよい。双方向カプラ２１２２は、ループ結合されたトライステートバッファ２１０３とトライステートバッファ２１０４とを含む。トライステートバッファ２１０３の入力はトライステートバッファ２１０４の出力に結合されるとともに垂直ルーティングトラック４０３に結合される。トライステートバッファ２１０３の出力は水平ルーティングトラック４０２に結合される。トライステートバッファ２１０４の入力はトライステートバッファ２１０３の出力に結合されるとともに水平ルーティングトラック４０２に結合される。トライステートバッファ２１０４の出力は垂直ルーティングトラック４０３に結合される。コンフィギュレーションメモリセル（ここでは図示せず）を用いてトライステートバッファ２１０３および２１０４のための制御信号をプログラムしてこれら制御信号各々をバッファ状態とハイインピーダンストライステートのいずれかにしてもよい。双方向カプラ２１２２が動作するには、トライステートバッファ２１０３および２１０４のうちのいずれかまたはいずれもがトライステート状態である、すなわち、対応付けられているルーティングトラックが電気的に相互接続されていない、または、このようなトライステートバッファ２１０３および２１０４のうちの一方がトライステート状態でこのようなトライステートバッファ２１０３および２１０４のうちの他方がバッファ状態である。双方向カプラ２１２２の、トライステートバッファ２１０３がバッファ状態でトライステートバッファ２１０４がトライステート状態の場合、垂直ルーティングトラック４０３上のクロック信号を、このようなトライステートバッファ２１０３を通して、対応する水平ルーティングトラック４０２に送ってもよい。同様に、双方向カプラ２１２２の、トライステートバッファ２１０４がバッファ状態でトライステートバッファ２１０３がトライステート状態の場合、水平ルーティングトラック４０２上のクロック信号を、このようなトライステートバッファ２１０４を通して、対応する垂直ルーティングトラック４０３に送ってもよい。
【００７８】
また、ルーティングトラック４０２および４０３ならびに分配スパイン５０１および５０２が双方向であることがわかるはずである。これらの線路に沿って、限定ではなく明確にするためにここでは示されていない、信号を反対方向に駆動するための対応する回路があってもよく、なくてもよい。
【００７９】
２つの水平分配スパイン５０２のうちのいずれかが、選択可能なカプラ２１２１を用いて対応する垂直分配スパイン５０１に結合されてもよい。選択可能なカプラ２１２１は、マルチプレクサ２１０５とトライステートバッファ２１０６とを含む。コンフィギュレーションメモリセル（ここでは図示せず）を用いてトライステートバッファ２１０６のための制御信号をプログラムしてこれら制御信号各々をバッファ状態とハイインピーダンストライステートのいずれかにしてもよい。同様に、コンフィギュレーションメモリセル（ここでは図示せず）を用いて、マルチプレクサ２１０５への制御選択信号をプログラムしてもよい。選択可能なカプラ２１２１の場合、マルチプレクサ２１０５の入力は水平分配スパイン５０２に結合され、マルチプレクサ２１０５の別の入力は別の水平分配スパイン５０２に結合される。このようなマルチプレクサ２１０５から出力する、このような水平分配スパイン５０２のうちの１つの水平分配スパイン５０２上のクロック信号を、選択するために、制御選択信号を設定してもよい。このようなマルチプレクサ２１０５からの出力は、対応するトライステートバッファ２１０６への入力として与えられる。トライステートバッファ２１０６の出力は、対応する垂直分配スパイン５０１に結合される。バッファ状態において、トライステートバッファ２１０６は、このようなクロック信号をこのような対応する垂直分配スパイン５０１に送ることができ、トライステート状態において、トライステートバッファ２１０６はマルチプレクサ２１０５の出力をこのような垂直分配スパイン５０１から電気的に切離すことができる。このように、複数の水平分配スパイン５０２を、垂直分配スパイン５０１のうちの対応する垂直分配スパイン５０１に選択的に結合してもよい。
【００８０】
垂直分配スパイン５０１は、任意の遅延およびクロックゲート５１１を通して、対応する水平分配スパイン５０２に結合されてもよい。描かれている例では、任意の遅延およびクロックゲート５１１は、遅延クロック２１０７と、マルチプレクサ２１０８と、ＡＮＤゲート２１０９と、トライステートバッファ２１１０とを含む。遅延ブロック２１０７の入力およびマルチプレクサ２１０８の入力は、垂直分配スパイン５０１に結合されている。遅延ブロック２１０７の出力は、マルチプレクサ２１０８の別の入力に結合されている。マルチプレクサ２１０８の出力は、ＡＮＤゲート２１０９への入力として与えられる。ＡＮＤゲート２１０９のもう１つの入力は、クロックイネーブル（「ＣＥ」）信号２１１１である。ＡＮＤゲート２１０９の出力は、トライステートバッファ２１１０の入力として与えられる。トライステートバッファ２１１０の出力は水平分配スパイン５０２に結合される。コンフィギュレーションメモリセル（ここでは図示せず）を用いて、トライステートバッファ２１１０のための制御信号をプログラムしてこれら制御信号をバッファ状態とハイインピーダンストライステートのいずれかにしてもよい。同様に、コンフィギュレーションメモリセル（ここでは図示せず）を用いてマルチプレクサ２１０８への制御選択信号をプログラムしてもよい。マルチプレクサ２１０８を用いて、そこからの出力を遅延ブロック２１０７によって遅延させるか否かを選択してもよい。ＡＮＤゲート２１０９を用いて、ＣＥ信号２１１１が論理ハイのときはクロック信号をトライステートバッファ２１１０に送り、ＣＥ信号２１１１が論理ローのときはこのようなクロック信号がトライステートバッファ２１１０に送られないようにしてもよい。ＣＥ信号２１１１が論理ローのとき、ＡＮＤゲート２１０９の出力は論理ローである。バッファ状態のトライステートバッファ２１１０を用いて、ＡＮＤゲート２１０９の出力をこのような水平分配スパイン５０２に結合してもよい。ハイインピーダンストライステートのトライステートバッファ２１１０を用いて、ＡＮＤゲート２１０９の出力をこのような水平分配スパイン５０２から電気的に切離してもよい。
【００８１】
垂直ルーティングトラック４０３および水平ルーティングトラック４０２は、各ＦＳＲ２０３の水平および垂直方向の境界でセグメント化され双方向性であるので、トラックシェアリングを採用してもよい。そうすれば、より少ないクロックリソースでより多くのクロック信号を使用することができる。たとえば、１つの水平ルーティングトラックセグメント４０２を、そのソースノードから、互いに逆の方向に駆動してもよい。言い換えると、同一の水平ルーティングトラックセグメント４０２に沿って、１つのクロック信号をこのようなソースノードの右方向に駆動し別のクロック信号をこのようなソースノードの左方向に駆動してもよい。これらの線路に沿って、重複しない２つのクロック領域で、同一の水平ルーティングトラック４０２が共有されてもよい。
【００８２】
図２２は、クロックネットワーク２１００の典型的なリーフ６０１を示す回路／ブロック図である。６つのリーフ６０１が例示されているが、１つのＦＳＲ２０３内で使用されるリーフの数はこれより少なくても多くてもよいことが理解されるはずである。
【００８３】
リーフ６０１は水平分配スパイン５０２に結合されている。各リーフ６０１はドライババッファ２２０１を含む。ドライババッファ２２０１は、以下でより詳しく説明するようにトライステートバッファであってもよい。１つ以上のリーフ６０１は任意の遅延２２０２を含み得る。コンフィギュレーションメモリセル（ここでは図示せず）を用い、任意の遅延２２０２を通して遅延を選択的に加えてもよい。リーフ６０１は、ノード２２１０において水平分配スパイン５０２に結合されてもよい。クロック信号を、このようなリーフ６０１の、上側の任意の遅延２２０２の入力に送り下側の別の任意の遅延２２０２の入力に送ってもよい。上側の任意の遅延２２０２からの出力は上側のドライババッファ２２０１への入力として与えてもよく、このような上側のドライババッファ２２０１の出力は回路クラウド３００の１つ以上のクロック負荷に結合してもよい。同様に、下側の任意の遅延２２０２からの出力は下側のドライババッファ２２０１への入力として与えてもよく、このような下側のドライババッファ２２０１の出力は回路クラウド３００の１つ以上の他のクロック負荷に結合してもよい。１つのリーフ６０１の任意の遅延２２０２のうちのいずれもまたはいずれかを遅延を与えるためにプログラム設定してもよく、いずれもプログラム設定しなくてもよい。したがって、たとえば、クロック信号を、リーフ６０１の上側の任意の遅延２２０２によって遅延させるが同じリーフ６０１の下側の任意の遅延２２０２によって遅延させないようにしてもよく、逆でもよい。すべてのリーフ６０１が任意の遅延２２０２を有していなくてもよい。任意の遅延２２０２がないリーフ６０１に対し、ノード２２１０のクロック信号を、このリーフ６０１の上側および下側のドライババッファ２２０１の入力に直接与えてもよい。
【００８４】
したがって、水平方向に隣合うＦＳＲ２０３間のホールド時間の問題を回避または低減するには、任意の遅延２２０２を用いて、たとえば２つ以上のクロックリーフ６０１間で遅延を広めてもよい。言い換えると、スキューまたはより具体的にはスキューの不連続性を、少しずつなくしてもよく、分散させてもよく、そうでなければＦＳＲ２０３の複数の列に広めてもよい。
【００８５】
図２３は、ＦＳＲ２０３の典型的な部分２３００を示すブロック図である。図２４は、相互接続タイル２３０１の典型的な部分を示す回路図である。図１〜図２４を同時に参照しながら部分２３００についてさらに説明する。
【００８６】
ＦＳＲ２０３は、他の構成要素の中でも特に、コンフィギュラブルロジック素子（「ＣＬＥ」）２３０３と、相互接続ブロックまたはタイル２３０１と、１つ以上の水平分配スパイン５０２とを含み得る。たとえば各相互接続ブロック２３０１の専用部分といった部分２３０２を用いて、ＣＬＥ２３０３のデータソースおよび／またはクロックソース等のデータソースおよび／またはクロックソースを、リーフクロックドライババッファ２２０１に結合してもよい。１つ以上のクロック入力２４０３を入力としてマルチプレクサ２４０４に結合してもよい。１つ以上のローカル相互接続入力２４０１を入力としてマルチプレクサ２４０２に結合してもよい。１つ以上のローカル相互接続入力２５０４を入力としてマルチプレクサ２４０６に結合してもよい。マルチプレクサ２４０２、２４０４、および２４０６への制御選択入力を、このようなマルチプレクサそれぞれからの出力の選択のために、コンフィギュレーションメモリセル（ここでは図示せず）によってプログラム設定してもよい。
【００８７】
マルチプレクサ２４０６の出力は、トライステートドライババッファ２２０１のトライステート入力ポートに与えられる。したがって、トライステートドライババッファ２２０１は、先に説明したようにトライステート状態またはバッファ状態にすることができる。マルチプレクサ２４０２の出力は、入力としてマルチプレクサ２４０４に与えられる。これら線路に沿って、クロック信号を、たとえばグローバルクロック入力等のクロック入力２４０３としてローカル相互接続から送ってもよい。マルチプレクサ２４０４の出力は、入力としてトライステートドライババッファ２２０１に与えられる。トライステートドライババッファ２２０１の出力は、１つ以上のＣＬＥ２３０３の１つ以上のクロック負荷等のクロック負荷に与えられてもよい。
【００８８】
このように、トライステート状態が可能なドライババッファ２２０１等のリーフクロックドライバ上を通る相互接続を引出してリーフクロックイネーブルマルチプレクサに送ってもよい。このような相互接続は、高ファンアウトデータネットワークのルーティングをさらにサポートし得る。相互接続タイルの専用部分を用いて、リーフクロック入力に使用されるその他の入力をサポートしてもよい。これに加えてまたはこれに代えて、ユーザは、水平分配スパイン５０２を通っている既存の相互接続を引出してもよい。リーフクロックを別途ゲーティングし水平分配スパイン５０２を使用せずに局所的に駆動してもよい。クロックをゲーティングすることにより、クロック電力を削減してもよい。
【００８９】
上記説明は典型的な構造の説明であるが、１つ以上の局面に従うこれ以外およびさらに他の構造が以下の請求項およびその均等物によって定められる範囲から逸脱することなく考案されるであろう。商標はその所有者の財産である。
【図１】
0006035429.tif 000002
【図２】
0006035429.tif 000003
【図３】
0006035429.tif 000004
【図４】
0006035429.tif 000005
【図５】
0006035429.tif 000006
【図６】
0006035429.tif 000007
【図７】
0006035429.tif 000008
【図８−１】
0006035429.tif 000009
【図８−２】
0006035429.tif 000010
【図９】
0006035429.tif 000011
【図１０】
0006035429.tif 000012
【図１１】
0006035429.tif 000013
【図１２】
0006035429.tif 000014
【図１３】
0006035429.tif 000015
【図１４】
0006035429.tif 000016
【図１５】
0006035429.tif 000017
【図１６】
0006035429.tif 000018
【図１７】
0006035429.tif 000019
【図１８】
0006035429.tif 000020
【図１９】
0006035429.tif 000021
【図２０】
0006035429.tif 000022
【図２１−１】
0006035429.tif 000023
【図２１−２】
0006035429.tif 000024
【図２２】
0006035429.tif 000025
【図２３】
0006035429.tif 000026
【図２４】
0006035429.tif 000027