(57)【特許請求の範囲】
【請求項１】
複数の論理セル、接続ラインおよび前記論理セルをプログラマブルに接続するスイッチおよび接続ラインとを備えた集積回路において、
各論理セルが、
第１および第２トランスファゲートを有し、各トランスファゲートは入力ノード、第１の真あるいは反転信号に、または固定論理レベルにプログラマブルに接続され得る制御ターミナル、および前記他のトランスファゲートに共通に接続される出力ノード、固定論理レベルあるいは前記論理セルからの出力信号にプログラマブルに接続され得る前記第１トランスファゲートの入力ノード、第１の真あるいは反転信号、または固定論理レベルにプログラマブルに接続され得る第２のトランスファゲートの入力ノードとを含んでおり、
さらに、
複数の入力ノードを有する論理ゲートを有し、
前記トランスファゲートの前記共通に接続された出力ノードに接続される第１入力ノードと、第３の真あるいは反転信号、または固定論理レベルにプログラマブルに接続され得る第２入力ノードを含んでおり、前記論理セル出力信号を発生するための出力ノードを有しており、
これによって、前記論理セルは、個別にあるいは複合的にプログラムされて論理あるいはメモリ機能を与えて前記集積回路を構成することを特徴とする論理セル。
【請求項２】
請求項１において、前記固定論理レベルが論理“1"または論理“0"電圧レベルのいずれかを有することを特徴とする論理セル。
【請求項３】
請求項２において、前記固定論理レベルが第１電圧供給レベルまたは第２電圧供給レベルのいずれかを有することを特徴とする論理セル。
【請求項４】
請求項２において、前記論理ゲートがNAND論理ゲートを備えていることを特徴とする論理セル。
【請求項５】
請求項４において、さらに、一対のインバータ有しており、各インバータは前記論理ゲート出力に接続される入力ノードと、別々の接続ラインに接続される出力ノードとを備えていることを特徴とする論理セル。
【請求項６】
請求項１において、
前記各トランスファゲートがNMOSトランジスタとPMOSトランジスタを備えており、各トランジスタは前記トランスファゲートの前記入力ノードに接続された第１ソース／ドレインと前記トランスファゲートの前記出力ノードに接続された第２ソース／ドレインと、前記トランスファゲートの制御ターミナルを形成するゲートとを有することを特徴とする論理セル。
【請求項７】
請求項６において、さらに、前記第１の真あるいは反転信号または、固定論理レベルにプログラマブルに接続され得る、入力ノードと、第１トランスファゲートのNMOSトランジスタのゲートおよび前記第２トランスファゲートのPMOSトランジスタのゲートに接続された出力ノードとを備えたことを特徴とする論理セル。
【請求項８】
請求項１において、前記第１の真あるいは反転信号がクロック信号を含んでいることをと特徴とする論理セル。
【請求項９】
請求項１において、前記第２の真あるいは反転信号がデータ信号を含んでいることを特徴とする論理セル。
【請求項１０】
請求項１において、前記第３の真あるいは反転信号がセット／リセット信号を含んでいることを特徴とする論理セル。
【請求項１１】
アレイを構成しているそれぞれのタイルが、
入力端子と出力端子とを有する一つの論理セルと、
前記アレイ内で隣接しているタイル間の複数の相互接続ラインと、
これらの相互接続ラインを前記論理セルの入力端子と出力端子とにプログラム可能に接続する複数のスイッチと
を備え、前記論理セルの出力端子が各隣接タイル内の論理セルの各入力端子へ独自にプログラム可能に接続できるよう前記相互接続ラインを配置したことを特徴とする集積回路においてアレイを構成しているタイル。
【請求項１２】
前記論理セルの出力端子が各隣接タイルが含む論理セルの各入力端子へ独自にプログラム可能に接続できる請求項11に記載のタイル。
【請求項１３】
前記論理セルの出力端子が各隣接タイルの論理セルの各入力端子へ単一のスイッチにより独自にプログラム可能に接続できる請求項12に記載のタイル。
【請求項１４】
各タイルの各論理セルが３つの入力端子を備える請求項11に記載のタイル。
【請求項１５】
各タイルの各論理セルが１つの出力端子を備える請求項11に記載のタイル。
【請求項１６】
各タイルの各論理セルが３つの入力端子と１つの出力端子とを備え、前記相互接続ラインは、
全体に第１の方向に揃っている３つの相互接続ラインの一つに各論理セルの出力端子を接続している、３つの相互接続ラインから成る第１の組と、
前記第１の方向に垂直な第２の方向に全体に揃っている９つの相互接続ラインから成る第２の組と
を備え、この第２の組の相互接続ラインの各々は、前記第１の組の相互接続ラインと交差して第１の組の相互接続ラインの各々へプログラム可能に接続でき、各論理セルの各入力端子は前記相互接続ラインの一つへ接続されている請求項11に記載のタイル。
【請求項１７】
各タイルの各論理セルが３つの入力端子と１つの出力端子とを備え、前記相互接続ラインは、
全体に第１の方向に揃っている３つの相互接続ラインの一つに各論理セルの出力端子を接続している、３つの相互接続ラインから成る第１の組と、
前記第１の方向に垂直な第２の方向に全体に揃っている９つの相互接続ラインから成る第２の組と
を備え、この第２の組の相互接続ラインの各々は、前記第１の組の相互接続ラインと交差して第１の組の相互接続ラインの各々へプログラム可能に接続でき、各論理セルの各入力端子は前記第２の組の相互接続ラインの一つへ接続されている請求項11に記載のタイル。
【請求項１８】
前記相互接続ラインは、
全体に第１の方向に揃っている３つの相互接続ラインの一つに各論理セルの出力端子を接続している、３つの相互接続ラインから成る第１の組と、
前記第１の方向に垂直な第２の方向に全体に揃っている相互接続ラインから成る第２の組と
を備え、この第２の組の相互接続ラインの各々は、前記第１の組の相互接続ラインと交差して第１の組の相互接続ラインの各々へプログラム可能に接続でき、各論理セルの各入力端子は前記第２の組の相互接続ラインの一つへ接続されている請求項11に記載のタイル。
【請求項１９】
前記相互接続ラインは、
全体に第１の方向に揃っている相互接続ラインから成る第１の組と、前記第１の方向に垂直な第２の方向に全体に揃っている相互接続ラインから成る第２の組とを備え、各論理セルの出力端子は３状態ドライバー回路を介して前記第１の組の相互接続ラインの一つへ接続されて、この一つの相互接続ラインへ前記出力端子はプログラム可能に接続でき、
前記第２の組の相互接続ラインの各々は、前記第１の組の相互接続ラインと交差して第１の組の相互接続ラインの各々へプログラム可能に接続でき、各論理セルの各入力端子は前記第２の組の相互接続ラインの一つへ接続されている請求項11に記載のタイル。
【請求項２０】
前記相互接続ラインは、
全体に第１の方向に揃っている３つの相互接続ラインの一つに各論理セルの出力端子をプログラム可能に接続している、３つの相互接続ラインから成る第１の組と、
前記第１の方向に垂直な第２の方向に全体に揃っている相互接続ラインから成る第２の組と
を備え、この第２の組の相互接続ラインの各々は、前記第１の組の相互接続ラインと交差して第１の組の相互接続ラインの各々へプログラム可能に接続でき、各論理セルの各入力端子は前記第２の組の相互接続ラインの一つへ接続されている請求項11に記載のタイル。
【請求項２１】
アレイ状のタイルを有する集積回路において、各々のタイルが、
入力及び出力端子を有する論理セルと、
複数の相互接続ラインと、
前記相互接続ラインと前記論理セルの入力及び出力端子とをプログラム可能に接続するための複数のスイッチと、
第１の方向にほぼ直線的に配置された前記相互接続ラインの第１の組とを備えており、各論理セルの出力端子は、その第１の組の相互接続ラインの各々にプログラム可能に接続でき、
更に、前記第１の方向に直角な第２の方向にほぼ直線的に配置された相互接続ラインの第２の組とを備えており、その第２の組の相互接続ラインの各々は、前記第１の組の相互接続ラインの各々に交差し、かつ、プログラム可能に接続でき、各論理セルの入力端子は、前記第２の組の相互接続ラインの各々にプログラム可能に接続でき、
各タイルにおける前記第１の組の相互接続ラインが隣接するタイルにおける前記第１の組の相互接続ラインとプログラム可能に相互接続できるように、そして各タイルにおける前記第２の組の相互接続ラインが隣接するタイルにおける前記第２の組の相互接続ラインとプログラム可能に相互接続できるように、前記タイルを配置することを特徴とする集積回路。
【請求項２２】
前記論理セルの各タイルが単一の出力端子を有することを特徴とする請求項21記載の集積回路。
【請求項２３】
各相互接続ラインが、隣接するタイルを介して複数のバッファによってプログラム可能に相互接続できることを特徴とする請求項21記載の集積回路。
【請求項２４】
前記複数のバッファが、相互に所定の数のタイルだけ隣接するタイルにおいて前記相互接続ラインに沿って離れて配置されることを特徴とする請求項23記載の集積回路。
【請求項２５】
前記複数のバッファが、相互に１タイルおきに隣接するタイルにおいて前記相互接続ラインに沿って離れて配置されることを特徴とする請求項24記載の集積回路。
【請求項２６】
前記複数のバッファが、相互に５タイルおきに隣接するタイルにおいて前記第１の組の相互接続ラインに沿って離れて配置され、そして前記複数のバッファが、相互に４タイルおきに隣接するタイルにおいて前記第２の組の相互接続ラインに沿って離れて配置されることを特徴とする請求項24記載の集積回路。
【請求項２７】
各タイルの論理セルの各出力端子が、隣接するタイルの前記第１の組の相互接続ラインの各々に対してプログラム可能に接続できることを特徴とする請求項21記載の集積回路。
【請求項２８】
各タイルにおける前記第１の組の相互接続ラインの各々が、隣接するタイルにおいて対応する第１の組の相互接続ラインとプログラム可能に接続でき、そして各タイルにおける前記第２の組の相互接続ラインの各々が、隣接するタイルにおいて対応する第２の組の相互接続ラインとプログラム可能に接続できることを特徴とする請求項21記載の集積回路。
【請求項２９】
各タイルにおける前記第１の組の相互接続ラインの各々も、また、隣接するタイルにおいて対応しない第１の組の相互接続ラインとプログラム可能に接続でき、そして各タイルにおける前記第２の組の相互接続ラインの各々も、また、隣接するタイルにおいて対応しない第２の組の相互接続ラインとプログラム可能に接続できることを特徴とする請求項28記載の集積回路。
【請求項３０】
行および列に配列され、各々入力端子および出力端子を有する複数のロジックセルを有した集積回路において、
前記列と平行に前記配列を通して延びる第１の相互接続ラインと、
該第１の相互接続ラインと直交して前記ロジックセルの各行を通して延びる第２の相互接続ラインとを備えており、
ある行における前記第２の相互接続ラインは、前記行における各ロジックセルの前記入力端子の少なくとも１つおよび隣接行における各ロジックセルの前記入力端子の少なくとも１つに、接続しうるようにプログラムされており、
前記第２の相互接続ラインは、前記ロジックセルの交互の行における前記第１の相互接続ラインの第１および第２のセットに交互に接続しうるようにプログラムされており、
それにより、各ロジックセルは、前記１つの入力端子を通して前記第１の相互接続ラインのいずれにも接続しうるようにプログラムされていることを特徴とする集積回路。
【請求項３１】
前記第１の相互接続ラインと直交して前記ロジックセルの各行を通して延びる第３の相互接続ラインをさらに備え、ある行における前記第３の相互接続ラインは、前記行における各ロジックセルの少なくとも第２の入力端子および任意の第１の相互接続ラインに接続しうるようにプログラムされており、それにより、各ロジックセルは、前記第２の入力端子を通して前記第１の相互接続ラインのいずれにも接続しうるようにプログラムされている請求項30記載の集積回路。
【請求項３２】
前記第２の相互接続ラインは、前記第１の相互接続ラインと前記第２の相互接続ラインとの交差部で前記第１の相互接続ラインに接続しうるようにプログラムされている請求項30記載の集積回路。
【請求項３３】
行および列に配列された複数のロジックセルは、ロジックセルのセクタを備え、該集積回路は、ロジックセルのアレイを構成するように前記セクタの複数個を備える請求項30記載の集積回路。
【請求項３４】
前記第１の相互接続ラインの少なくとも１つは、クロック信号を伝送する請求項30記載の集積回路。
【請求項３５】
複数の導電パッドをさらに備え、該導電パッドの少なくとも１つは、クロック信号を受け、前記第１の相互接続ラインの前記１つは、前記１つの導電パッドに接続され、前記クロック信号を伝送する請求項34記載の集積回路。
【請求項３６】
前記第１の相互接続ラインは、４つのラインを備え、前記第２の相互接続ラインは、ロジックセルの各行において２つのラインを備える請求項30記載の集積回路。
【請求項３７】
前記第３の相互接続ラインは、ロジックセルの各行において１つのラインを備える請求項36記載の集積回路。
【発明の詳細な説明】
発明の分野
本発明は、フィールド・プログラマブル（プログラム変更形）集積回路に関し、更に詳しくは、フィールド・プログラマブル・ゲートアレイ（以下、FPGAと略称する）に関する。
発明の背景
代表的には、FPGAは、論理素子と配線の接続部とのアレイを有し、数千個のあるいは数十万個ものプログラマブル・スイッチを備えており、FPGAは、限定した機能をもつ１つの集積回路になるように、ユーザによって構成することができる。各プログラマブルスイッチすなわち相互接続部は、配線の接続部を接続したり（または切断したり）、あるいは、論理素子の機能をセットしたりするように、集積回路の２つの回路ノードを接続するのを可能にする。
全FPGAのアーキテクチャの基本的な考慮事項は、論理素子の複雑さと、アレイに配列した論理素子を相互に接続する配線の配置及びルーチングとにある。高度に複雑な論理素子は、多くの精巧なオペレーションを行うことができる。しかし、NORゲートのように、比較的簡単なオペレーションがFPGAのユーザによって要求される場合、その論理セルの機能と占有空間の多くを無駄にする。他方、「論理セル」としての１個のトランジスタは、何らかの機能が達成される前に、他の「論理セル」への高価な配線の資源の使用を必要とする。従って、機能性とフレキシビリティとの間には、FPGAのユーザによる利用の尤度を基にして、バランスが得られねばならない。
FPGA内での配線の配置及びルーチングは、アレイ内での論理セルの設計に関係する。配線は、各配線部分の使用の尤度が最大になるように設計されるべきであり、しかも、１つの目的に対する配線部分の使用が、他の目的のための配線の接続部への障害になってはならない。更に、配線のルーチングの使用の容易さと構成後のFPGAの動作速度とは、別の考慮事項である。これらの要因は、重みをもたせ且つバランスをとらねばならない。
発明の目的および概要
本発明は、FPGAのアーキテクチャの設計の問題に対する１つの解決を提供する。本発明によれば、論理セルと配線とが、高度の機能性とフレキシビリティと利用性と使用の容易さと動作速度とが可能であるように、設計される。厄介なFPGAアーキテクチャを有する多くの問題が解決され、解消される。
本発明は、複数の論理セル、相互接続回線、論理セル及び相互接続回線をプログラマブルに接続するスイッチを有している集積回路を提供する。各論理セルは、二つの伝達ゲートを備え、各伝達ゲートは、入力ノード、第１の真または反転信号、または固定論理レベルにプログラマブルに接続可能な二つの制御端子、及び他の伝達ゲートに共通に接続された出力ノードを有している。第１の伝達ゲートの入力ノードは、固定論理レベルまたは論理セルからのフィードバック出力信号にプログラマブルに接続可能である。第２の伝達ゲートの入力ノードは、第２の真または反転信号、または固定論理レベルにプログラマブルに接続可能である。また、セルは、複数の入力ノード、伝達ゲートの共通に接続された出力ノードに接続された第１の入力ノート及び第３の真または反転信号、または固定論理レベルにプログラマブルに接続可能な第２の入力ノード、及び論理セル出力信号を搬送するための出力ノードを有している論理ゲートも有する。これらの“論理”セルは、個々または複数で、集積回路を構成するために論理またはメモリ機能を供給すべくプログラムされうる。
また、本発明は、それぞれのタイルが、入力及び出力端子を有している論理セル；複数の局所相互接続回線；及び論理相互接続回線と論理セルの入力及び出力端子をプログラマブルに接続するための複数のスイッチを備えている、タイルのアレイを有している集積回路も提供する。局所相互接続回線は、論理セルの出力端子が各連続タイルにおける論理セルの各入力端子に独自にプログラマブルに接続可能であるように配列されている。
別の形態では、本発明は、それぞれのタイルが、入力及び出力端子を有している論理セル；複数の相互接続回線；及び論理相互接続回線と論理セルの入力及び出力端子をプログラマブルに接続するための複数のスイッチを備えている、タイルのアレイを有している集積回路を提供する。タイルは、第１の方向に一般に配向された第１の組の長い相互接続回線、第１の組の長い相互接続回線の各々にプログラマブルに接続可能な各論理セル出力端子、及び第１の方向に垂直な第２の方向に一般に配向された長い相互接続回線の第２の組、該第２の組の長い相互接続回線のそれぞれは、交差しかつ第１の組の長い相互接続回線のそれぞれにプログラマブルに接続可能であり、第２の組の長い相互接続回線の各々にプログラマブルに接続可能な各論理セル入力端子を含む。
クロック信号のような、グローバル信号に対して、本発明は、また、各論理セルが入力及び出力端子を有している、行列に配列された複数の論理セルを有している集積回路も提供する。集積回路は、列に並行なアレイの間を走っている第１のグローバル相互接続回線、及び第１のグローバル相互に交差しかつ垂直な論理セルの各行の間を走っている第２のグルーバル相互接続回線を有する。一つの行の第２のグローバル相互接続回線は、その行の各論理セルの入力端子の少なくとも一つ、及び隣接した行の各論理セルの入力端子の少なくとも一つにプログラマブルに接続可能である。第２のグローバル相互接続回線は、論理セルの交互の行における第１のグローバル相互接続回線の第１及び第２のサブセットに交互にプログラマブルに接続可能である。これは、各論理セルを、第１のグローバル相互接続回線のいずれかに一つの入力端子を通してプログラマブルに接続可能にさせる。
【図面の簡単な説明】
図1Aは、本発明の実施例の一つに従う論理記憶素子とその接続の図である。図1Bは、図1Aの論理記憶素子の記号表示である。
図２は、図1Aの論理記憶素子に関するプログラム可能なスイッチとそれらの動作の表である。
図3Aは、図1Aの論理記憶素子の図であり、その論理記憶素子は、２−インプットアンド論理ゲートとして動作するようプログラムされている。図3Bは、図1Aの論理記憶素子の図であり、その論理記憶素子は、アクティブハイクリアシグナルを持つＤラッチとして動作するようプログラムされている。
図4Aは、ラッチとしての図1Aの論理記憶素子を表している。図4Bは、論理記憶素子で可能な14ラッチ型の表である。図4Cは、図4Bの表で使用された表記法の説明である。
図5Aは、Ｄ型のフリップフロップとしての図1Aの論理記憶素子10を表している。図5Bは、論理記憶素子に関して可能なＤフリップフロップの28の異なる可能性の表である。図5Cは、図5Bの表で使用されている表記法の説明である。
図６は、本発明に従うタイルの配列の一例を図示する。
図7Aは、図６の配列の各タイル中のローカル配線セグメントを図示する。図7Bは、タイルの配列中の図7Aのローカル配線セグメント間の接続を図示する。
図８は、本発明の他の実施例に従う論理記憶素子の出力端子がローカル配線セグメントを通ってその入力端子に接続不可であるようなタイルを示す。
図９は、本発明の他の実施例に従う４つの入力端子で論理記憶素子に接続されたローカル配線セグメントを示す。
図10Aは、やはり本発明の他の実施例に従う論理記憶素子の出力端子上に３つの状態のバッファを有する論理記憶素子に接続されているローカル配線セグメントを示す。図10Bは、図10Aのタイルの変形に従う垂直方向のローカル配線セグメントと並行方向のローカル配線セグメント間の全ての交差点でプログラム可能なスイッチを示す。図10Cは、図10Bのタイルの５×３のローカル領域におけるローカル配線セグメントを詳細に示す。
図11は、図６のタイル配列における長い配線セグメントを詳細に示す。
図12Aは、図11の長い配線セグメント間の受動的なプログラム可能な接続の図である。図12Bは、長い配線セグメント間の能動的なプログラム可能な接続の図である。図12Cは、別の能動的なプログラム可能な接続を表す。
図13は、いくつかのタイルを通る長い配線セグメント用の能動的なプログラム可能な接続及び受動的なプログラム可能な接続の配線を示す。
図14は、本発明に従う長い配線セグメント上の遮断を避ける技術の一つを図示する。
図15は、本発明に従う長い配線セグメント上の遮断を避ける別の技術を図示する。
図16Aは、水平方向の長い配線セグメント及び垂直方向の長い配線セグメントを持つような論理記憶素子の配列中の２つの論理記憶素子間の接続を図示する。図16Bは、長い配線接続のより複雑な組み合わせを持つ２つの論理記憶素子間のジグザグになった接続を図示する。
図17は、本発明に従うタイル配列を通るグローバルシグナルの分配のためのタイルを通る水平方向のグローバル線を示す。
図18は、図16のタイルの１つの中で２つの垂直方向に隣合うタイルが水平方向のグローバル線にどのように接続可能となるかを図示する。
図19は、どのように水平方向のグローバル線が垂直方向のグローバル線に接続されてタイルの配列のためのグローバル配線ネットワークをつくるかを示す。
図20は、タイル配列の複数の個別のグローバルネットワークのセクターにする水平方向のグローバル線及び垂直方向のグローバル線の分割を図示する。
実施例
FPGAはプログラム可能なスイッチ用のメモリ記憶素子もしくはアンチヒューズのどちらか一方を使用する。メモリ記憶素子は再プログラム可能であり、アンチヒューズは一度だけプログラム可能である。「一般的な目的、不揮発性プログラム可能スイッチ（A GENERAL PURPOSE,NON−VOLATILE REPROGRAMMABLE SWITCH）」という題でRobert J.Lipp、Richard D.Freeman、Robert U.Broze、John M.Caywood、Joseph G.Nolan、IIIによって1994年７月５日に出願され、現譲受人に譲渡された特許出願U.S.Appln.No.08/270,714で開示されたように、本発明はプログラム可能な相互接続の新メモリ−タイプで実施されるよう設計されている。特許出願の中で詳述されたFPGAで不揮発性再プログラミング可能なトランジスターメモリ（NVM）記憶素子は素子を無作為に相互接続配線及び回路素子に切り換える一般的な目的を与えるために使用される。しかしながら、本発明は開示されたプログラム能菜スイッチのみに限定して考えられるべきではない。アンチヒューズ−ベースのFPGAについても本発明は有効である。
論理セル
本発明は、図1Aに示すような論理セル10を使用する。論理セル10は点線によって示されているコア17を有する。コア17は、２つの伝達ゲート12及び13の制御ノードに接続された出力ノードを有するインバータ11を有する。各伝達ゲートは基本的には、伝達ゲートに対して入力ノードを形成する第１の共通ソース／ドレイン領域と、伝達ゲートの出力ノードを形成する第２の共通ソース／ドレイン領域とを有するPMOS及びNMOSトランジスタである。PMOS及びNMOSトランジスタ用のゲート電極は２つの制御ノードを形成する。伝達ゲート12及び13の出力ノードは、NANDゲート14の入力ノードに対して共通に接続されている。NANDゲート14の出力ノードは、インバータ15と、第１のインバータ15に並列に接続されている光インバータ16の入力ノードに接続されている。インバータ15及び16はNANDゲート14からの出力信号に関してバッファとして作用する。インバータ15及び16の出力ノードの信号は同じであり、この情報開示の余剰に関して、論理セル10の出力端末Ｙの出力信号とみなされる。第２のインバータ16は、出力端末Ｙからの配線ルーティングの特有の負荷のために使用される。これは以下で説明する。コアへの入力信号がセル10の機能を定義するためにコア17の外側に配置されたプログラマブルスイッチによって制御されるのではなく、論理セルコア17自身がプログラマブルエレメントを含まないことに注意すべきである。
論理セル10は、図面中に降順に３つの入力端末X2、X3及びX1を有する。入力端末X2は、プログラマブルスイッチ25によって論理セルコアのインバータ11の入力ノードに接続されたその出力ノードを有するインバータ43の入力ノードに接続される。プログラマブルスイッチ23によって、入力端末X2はグランドに接続することができる。別のプログラマブルスイッチ24によって、入力端末X2はまた、インバータ11の入力ノードに直接接続することができる。インバータ11の入力ノードはまた、伝達ゲート12のPMOSゲート電極と、伝達ゲート13のNMOSトランジスタのゲート電極とに接続されている。
入力端末X3は、プログラマブルスイッチ27を経て伝達ゲート13の入力端末に接続することができるその出力ノードを有するインバータ42の入力ノードに接続されている。別のプログラマブルスイッチ26を経て、入力端末X3はまた、伝達ゲート13の入力ノードに直接接続することができる。入力ノードX3はまた、プログラマブルスイッチ22を経てグランドに接続することができる。
入力端末X1は、プログラマブルスイッチ29及び35を経て、NANDゲート14の第２の入力ノードに接続可能なその出力ノードを有するインバータ41の入力ノードに接続されている。インバータ41及びプログラマブルスイッチ29に並列に接続されているプログラマブルスイッチ28を経て、入力端末X1は、プログラマブルスイッチ35を経てNANDゲート14の第２の入力ターミナルに直接接続することができる。NANDゲート14の第２の入力ターミナルはまた、プログラマブルスイッチ34を経て、ハイ（Vccでの正電位）に引き上げられることができる。先の入力端末X2及びX3と同様に、入力端末X1はまた、プログラマブルスイッチ21によってロー（グランドでの低電位）に設定することができる。インバータ15からの出力端末Ｆはまた、プログラマブルスイッチ30を経て伝達ゲート12の入力ノードに接続することができる。伝達ゲート12の入力端末はまた、プログラマブルスイッチ32によってハイに設定することができ、プログラマブルスイッチ33によってローに設定することができる。伝達ゲート12の入力端末はまた、プログラマブルスイッチ28、29及び35の間に接続されているプログラマブルスイッチ31を経て、入力端末X1に接続することができる。
図1Bに論理セル10の説明を示す。本発明の他の実施形態が他の数の入力端末を有していても、３つの入力端末は、同様な構成の計算に基づいている最適なものであると信じている。セル10は、現在のほとんどの書替え可能ゲートアレイ（FPGAs）のセルよりもかなり小さい。このことはより大きな記憶密度、即ち、集積回路上のセルあたりの面積を小さくすること、を可能にする。
それにもかかわらず、論理セル10は優れた汎用性を有し、多くのファンクションをプログラムすることができる。図２の表は、論理セル10における異なるプログラマブルスイッチのファンクションを説明する。プログラマブルスイッチ31のための説明に関して、伝達ゲート12及び13が単なるマルチプレクサとして作動することに注意すべきである。伝達ゲート12に対する入力信号は、入力信号Ａとして説明され、伝達ゲート13に対する入力信号は、入力信号Ｂとして説明される。
入力信号を論理セル10のコア部分17内に差し向ける種々のプログラマブルスイッチを設定することによって、論理セルは多くの異なったファンクションを実行することができる。図3Aは、論理セル10が２点入力ANDゲートとして作動するような、プログラマブルスイッチの設定を説明する。プログラマブルスイッチは、接続させるためには「オン」と分類され、一方、プログラマブルスイッチが開いたままであることを示すためには「オフ」と分類される。２つのANDゲート入力はX1及びX3入力端末の信号である。X2入力端末のためのプログラマブルスイッチ、即ち、プログラマブルスイッチ23及び25は、伝達ゲート13が入力端末X3の信号を、NANDゲート14の第１の入力ノードに通過させることを保証するために設定されている。
図3Bは、別のプログラマブルスイッチの設定を示し、ロジックセル10が、アクティブハイクリア（CLR）コントロール信号を伴うＤラッチとして作動する。この場合、ラッチに対するデータ信号がX3入力端子で受け取られ、クリア信号が、X1入力端子で受け取られる。X2入力端子用のプログラマブルスイッチ25が、トランスファゲート12及び13をターンオンするように設定される。プログラマブルスイッチ30が、ロジックセルの出力端子からのフィードバックのためにターンオンされ、ラッチを終了する。
ロジックセル10は、別の多くの機能を実行するように構成されることができる。図4Aは、ラッチとして描かれたロジックセル10を示す。図4Bは、ロジックセル10として可能な14個のラッチタイプのリストであり、図4Cは、図4Bで用いられたラッチタイプの表記法を説明する。同様に、図5Aは、Ｄ形フリップフロップとして構成されたロジックセル10を示す。図5Bは、ロジックセル10として可能な28個のＤ形フリップフロップをリストする。図5Cは、図5Bの様々な種類のフリップフロップを表示するために用いられる表記法を説明する。
当然のことながら、あるロジックセル10が所望の機能を実現するように構成できない場合には、２つ以上のセルが共に結合されてプログラムされてもよい。これらの接続を形成するために、FPGAのワイヤリングが作用する。
上述したように、FPGAのロジックセル間のワイヤリングの全ての配置及びルーチングアーキテクチャはバランスである。設計者が、無限のライン及びスイッチリソースを有する場合には、全てのセルの出力が全てのセルの入力にアクセスできるようにするフルクロスバーネットワークが最高のアーキテクチャとなる。しかしながら、単純な計算によると、所望数のプラグラマブルスイッチのみであっても、適度な数のロジックセルを伴うアレイにおいてさえも過度の量のスペースを占めることが示される。さらに、平均的なスイッチ利用を計算すると、スイッチのほとんどが使われないことが示される。一方でルーチングアーキテクチャが制限されて、各セル出力が単一セルの入力集合にのみ方路選択される場合には、ユーザにより要求されるほとんどの回路を構成することができなくなる。
本発明は、方路選択可能な接続数を最大にして、ワイヤリングリソースすなわちロジックセルの入力及び出力端子に又はそこからのワイヤリングセグメントと、そのセグメントに相互接続するプログラマブルスイッチを最小にする。本発明は、タイルの重なりウィンドウ、方向ルーチング及びプログラマブル相互接続タイルを用いて、非常に適応性のあるルーチングアーキテクチャを形成することによってこれらの目的を実現する。本明細書で用いる用語「タイル」は、ロジックセル、関連するワイヤリングセグメント及びプログラマブルスイッチを意味する。タイルアレイが、FPGAを形成する。本発明によるタイルのルーチングアーキテクチャは、３つのコンポーネント、ローカルルーチング、ロングルーチング、及びグローバルルーチングに分割されることが可能である。
ローカルルーチング
ローカルルーチングにおいて、タイルの各々の３×３領域が、各タイルのワイヤリングセグメントのルーチングが３×３領域の各焦点すなわち中心タイルに「自己近似（self−similar）」するように重なる。焦点タイルは、３×３領域とともに動き、それはタイルアレイ中のどこであってもよい。用語「自己近似」は、焦点タイルの出力が、独自の保証されたルートにより、その３×３領域のタイルの（自身を含む）別のセルの入力に到達することを意味する。
図６は、タイル40のアレイを伴うこの点を例示したものである。上述したように、各タイル40は、ロジックセル10と、その関連するワイヤリングセグメント及びプログラミングスイッチを有する。実線41が、タイルの３×３領域を閉じる。この領域の焦点タイルが、F1と表示される。F1のロジックセルの出力が、独自の保証されたルートにより実線41で囲まれた領域中のタイルのいかなるロジックセルの入力にも達することが可能である。同様に、別の３×３領域を考慮すると、F2と示された領域の焦点タイルを有して実線42で示されているように、F2中のロジックセルの出力が、独自の保証されたルートにより実線42で示された領域内のいかなるロジックセルの入力にも到達することができる。実線41及び42により示された領域が重なっており、アレイ中の全てのタイル（周囲にあるタイルを除く）が焦点タイルであることに気づかれたい。
図7Aは、本発明の１つの実施例による単一タイル40のローカルルーチングアーキテクチャを示す。タイル40のロジックセル10の入力端子X1、X2及びX3は、９つの垂直ローカルワイヤリングセグメント43の集合の一部である３つのワイヤリングセグメントに接続される。ロジックセル10の出力端子Ｙは、３つの水平ローカルワイヤリングセグメント44の１つに接続される。垂直ローカルワイヤリングセグメント43の各々と水平ローカルワイヤリングセグメント44の交点に、開円で示されるプログラマブルスイッチがある。隣接するタイルのローカルワイヤリングセグメント43及び44が、重なるように接続する。水平ローカルワイヤリングセグメント44に対して、タイルの右縁にある頂部の２つのセグメントが、水平方向に隣接するタイルにおいて水平ワイヤリングセグメント44に接続される。各タイル内で、底部の２つのセグメントが、一方が右から左にタイル40を横切って動く２つのセグメントとなるために、重なりが生じる。垂直ローカルワイヤリングセグメント43に関して、９つのワイヤリングセグメントの６つが、垂直方向の隣接するタイル内でセグメント43に接続される。各タイル40の底部で、６つのセグメントは、左から第１、第２、第４、第５、第７及び第８セグメントである。各タイル40において、これらのセグメントが、タイルの底部に到達する前に、それぞれ第２、第３、第５、第６、第８及び第９セグメントとなるために、重なりが生じる。
これらの接続線は、図7Bにさらに詳しく示されており、図7Bには、３×３のタイル領域におけるローカルワイヤリングセグメント43及び44の接続線が示されている。タイル40Eはその領域のフォーカルタイルであり、その出力端子は、単一の固有のプログラマブルスイッチを介して、隣接するタイル40A〜40D、40F〜40I及びそれ自身の論理セルの入力端子に接続されている。
この重複領域すなわちスライド領域の概念は、極めて協力であり、多くのレベルの階層設計に使用されている。フォーカルタイルの各論理セルは隣接したものと同一の新しい組のルーティングリソースを有する。この実施例では、新しいワイヤリングが利用可能であることが保証される。上述したように、フォーカルタイルの論理セルの出力は、それ自身を含む隣接する論理セルの27個の入力のいずれか又はすべてに到達する。これらの９個のセルに到達する能力は、４つの隣接する直交論理セルとのローカル接続線を可能とするだけの、従来技術において通常見られるものよりも実質的に優れた経路選択可能性を与える。この場合には、機能を特定の論理セルと置き換えることは、制約が遙に少なく、ローカルルーティングリソースで達成されるルートの割合は、大きくなる。この接続線の割合が非常に高いことが、「長い」ルーティングリソースに対する必要性を実質的に小さくし、形成される接続線が少なくなるので、これらのワイヤリングリソースがさらに柔軟になることに注目すべきである。このローカルルーティングは、ローカルリソースで作られる接続線の割合が高く、必要とされるスイッチの数が比較的少ないので、領域効率が非常に良い。ローカルルーティングのためのスイッチは、非常に高い利用性を有する傾向がある。
本発明によるローカルルーティングの別の実施例では、各タイル40は、図7Aに示されるように、垂直ローカルワイヤリングセグメント45及び水平ローカルワイヤリングセグメント46の同じ配置を有する。しかしながら、ローカルセル入力端子X1、X2、X3に接続された垂直ワイヤリングセグメントと、出力端子Ｆに接続された水平ワイヤリングセグメントとの交差点における３つのプログラマブルスイッチは、図８に示されるように、排除された。この実施例では、フォーカルタイルの論理セルの出力端子は、その８つの隣接したタイルのものの入力端子に接続され、それ自身の論理セルの入力端子には接続されない。代表的な装置では、非常にわずかな信号がそれら自身の論理セルにフィードバックされる。必要ならば、このフィードバック経路は論理セルに内装される（図1Aのプログラマブルスイッチに注目）か、又は、後述するように長いルーティングリソースの使用により実現されてもよい。
このローカルルーティングは、論理セルが任意の数の入力端子及び出力端子を有するので効率的である。３つの入力が最適と考えられるが、必要ならば他の入力を考慮してもよい。ローカルルーティングは、１セル当たり２、４、５又は他の数の入力を有しても良好である。例えば、図９は、４つの入力端子X1、X2、X3、X4と単一の出力Ｙとを有する論理セル10Aを備えたローカルルーティングを示している。この場合には、12個の垂直ローカルワイヤリングセグメント47があり、そのうちの４つは、論理セル10の４つの入力端子X1、X2、X3、X4の１つに接続されている。水平ローカルワイヤリングセグメント48は、３つのままで、その出力端子Ｙが以前のようにセグメントの１つに接続されている。また、各ローカル接続線は、プログラマブルスイッチを一つだけしか必要としないことに注目されるべきである。これは、ワイヤリングセグメントのこのローカル“メッシュ”で実現される回路の速度に寄与する。というのは、その相互接続速度が信号のトラバースに対するプログラマブルスイッチの数の逆関数であるからである。
上述したようなローカルルーティングは、１つの欠点を有している。ローカルセル出力端子がローカル領域のタイルの１つにおいてセルの入力端子との接続を必要としないならば、その経路は無駄になる。最悪の場合には、未使用の論理セルが27個の未使用の経路を残す。この欠点を改善するために、論理セルの出力端子がローカルワイヤリングセグメントを使用するのに論理セルの出力端子が必要とされないように、ローカルルーティングアーキテクチャがわすかに修正されるのがよい。これにより、ローカルワイヤリングセグメントが他の接続線のために使用され、アーキテクチャの経路選択可能性が増大される。
図10A及び図10Bには、種々の変形例が示されている。論理セル10の出力端子Ｙに、３状態ドライバ49が加えられている。ドライバ49は、プログラマブルインターコネクト（図示せず）によりイネーブルされるかディスイネーブルされる。ドライバ49がディスイネーブルされると、論理セルが水平ワイヤリングセグメント44から効率良く離脱される。ドライバがイネーブルされると、ドライバが論理セル10から接続された水平ワイヤリングセグメント44へ高い又は低い論理信号を送る。
図10Bに示される実施例では、３つの水平ワイヤリングセグメント44の単一セグメントとの一定の接続よりも、水平ワイヤリングセグメント44の各々は、プログラマブルスイッチによって論理セル10の出力端子Ｙに接続可能である。破線50は、出力端子Ｙと水平ワイヤリングセグメント44との交差点におけるプログラマブルスイッチを囲んでいる。このアプローチでは、すべてのローカル接続線を作るのに２つのプログラマブルスイッチを必要とし、付加的なプログラマブルスイッチの付加的な負荷はわずかであり、信号の遅延に大きく寄与しない。
この実施形態の他の利点は、フォーカルセルの出力端子が３×３タイル領域にある27の入力端子から５×３タイル領域にある45の入力端子へ増加されることである。フォーカルセルの出力端子から周囲の３×３のタイル領域にある全ての入力端子への唯一の径路は以前として保証されている。従って、オリジナルの実施形態の利点は、ホーカルセル出力の“リーチ”が著しく増加されている限り保たれる。図10Cは、示されたこの領域のフォーカルセルのある５×３タイル領域にある詳細な局部的な配線区分を示す。
追加のプログラム可能な相互接続について、大きな局部的なタイル領域、例えば、４×４、５×５及び他の領域が組み立てられる。更に、これらの領域は、３×４、４×５、３×５のタイル領域のように、スクェアである必要はない。勿論、各々の増加された領域は、局部的になされる接続の割合を増加する。
長いルーチンアーキテクチャ
局部的な配線区分を越えて、タイルの各々は、接続が局部的な領域の外でノードにされるように、追加のプログラム可能なルーチン資源を有している。これらの、所謂長いルーチン資源は完全にプログラム可能であり、局部的な配線区分とは共有されない。全てのルーチンの約66％は局部的なルーチン資源によってなされ、残りの33％は長いルーチン資源によって行われる。以下に明らかされるように、本発明の長い配線区分は、従来技術と比較して、接続された配線の最大のパス長、および信号のタイミングにわたってよりよい制御を可能にする。
ここに述べられたFPGAと同じ容量を有する従来のゲートアレイは、全てのアレイの資源に80％のルート性を達成するために、ゲートアレイチャネルに約９×12のトラックを必要とする。ルーチンの66％が本発明のFPGAの局部的なルーチン資源によって扱われているので、３×４のトラックのみが長いルーチンに対して必要とされる。充分なルート性を確実にするために、僅かに多い長い配線区分が用いられる。
図11に示されるように、本発明は、５つの水平な長い配線区分51と５つの垂直な長い配線区分52、即ち各タイル40における長いルーチン資源を用いる。水平な長い配線区分51は、点線で示されたボックス60によって囲まれているプログラム可能なスイッチによってタイルの論理セル10の出力端子Ｙにプログラム可能に接続できる。水平および垂直な長い配線区分51と52は、水平および垂直な長い配線区分の交点にある点線で示されたボックス61によって示されたプログラム可能なスイッチによって各々プログラム可能に接続できる。論理セルの入力端子X1,X2とX3の各々は、電線で示されたボックス62によって囲まれたプログラム可能な相互接続によって垂直な配線区分52へ接続することができる。
長い配線区分51と52が隣接のタイルに接する点において、プログラム可能な接続がなされる。プログラム可能な接続の状態は、長い配線区分、即ち垂直と水平は隣接タイルを横切って連続するか否かを決める。図11において、水平の配線区分51のためのプログラム可能な接続は点線で示されたボックス64によって囲まれており、垂直な配線区分52に対しては、プログラム可能な接続は、点線で示されたボックス63によって囲まれている。これらのプログラム可能な接続は、決定されるべき最適なライン長に対して可能である。図示されているように、それぞれの長い配線区分は、各タイル40の境界において、プログラム可能な接続を有する。この配列は、最小の無駄で従来のゲートアレイルーチンのようなチャネルルーチンアーキテクチャを実現する。
長い配線区分のためのプログラム可能な接続は２つの一般的な方法で実現される。第１は、図12Aに示されたように、２つの長い配線区分を相互接続する単一のプログラム可能なスイッチである受動的なプログラム可能な接続である。他の型式のプログラム可能な接続は、例えば図12Bに示されたような能動的なプログラム可能な接続である。能動的なプログラム可能な接続は、反対方向に配列された２つのバッファ65と66を有する。２つのプログラム可能なスイッチ66と68は、バッファ65と67の出力ノードへの接続を行う。従って、この接続は、プログラム可能に２方向である。もし、一方のバッファのみにプログラム可能な接続が必要であるなら、それは図12Cに示されている。バッファ69はバッファの何れかの側に長い配線区分の入力ノードへ接続を行う２つのプログラム可能なスイッチ71と72を有する。プログラム可能な相互接続73と74は長い配線区分に対して、バッファ69の出力ノードへの接続を行う。
面と線のローディングへの考慮が、これらの可能性のあるプログラム可能な接続の組み合わせを如何に実行するかを規定する。例えば、もし、能動的なプログラム可能な接続だけが用いられるなら、集積回路の大きな面積がプログラム可能な接続によって消費される。タイル当たり５つの垂直、と５つの水平な長い配線区分、および全てが能動的であるプログラム可能な接続あたって、20の余分なバッファと20の余分なプログラム可能なスイッチが各タイルのサイズを劇的に増加する。この問題を避けるために、各々の長い配線区分に対する能動的なプログラム可能な接続は、まばらに分布することができる。一例が図13に示されている。各々の長い水平な配線区分は、５つのタイル毎に能動的なプログラム可能な接続80を有する。従って、各々のタイル40に、水平の長い配線区分51に対して２つのバッファと２つのプログラム可能なスイッチがある。長い垂直な配線区分52は、各タイル40へ２つより多いプログラム可能なバッファとスイッチを与える。従って、４つのバッファと４つのプログラム可能なスイッチのみがタイル当たりに加えられる。
この構成を有すると、（プログラマブル接続アレイにおいて）駆動することの出来るプログラマブルスイッチの最悪の場合の数は、水平方向で５であり（追加のプログラマブルスイッチが、第１スイッチがバッファの出力にあるので、必要となる）、垂直ワイヤ部では４である。従って、別のバッファに到達する前に、合計９のプログラマブルスイッチが存在する。この負荷がバッファに対して大き過ぎる場合は、受動的プログラマブル接続に置き換えることを、一つ置きのセルに行なうように構成することが出来る。換言すると、長いワイヤ部が２つのタイルを垂直及び水平に横切って延びる。このことは、最短のワイヤ部の長さを２タイル長にする。この様にされると、プログラマブルスイッチの最大数は1/2にされて最悪の場合、５に減少される。このことは、長いワイヤ部「ハードワイヤ」の或るものの長さを１タイルよりも長くする。
インバータがバッファとして使用される場合、信号が奇数の個数の能動プログラマブル接続を通過した場合、信号がセルの入力端子に到達する時、反転される。反転された信号は、入来信号を反転する様にロジックセルをプログラムすることにより修正することが出来る。代替的には、ルーティング（経路指定）は、偶数個の能動プログラミング接続を有する経路を使用する様に制限することが出来る。
妨害されたルーティグは、全てのルーティグアーキテクチャと関係する最大の問題である。本発明においては、妨げられた長いルーティングを減少又はバイパスするために種々の方法がある。一つの方法が図14に示されている。長いワイヤ部51をそれ自身のタイル内でのみ接続可能とする代わりに、ロジックセル10の出力端子Ｆが、隣接タイルの長いワイヤ部にも接続されている。図14は、ロジックセル10の出力端子に接続されているワイヤ部75を示している（ワイヤ部75の追加の負荷は図1Bに図示される並列接続インバータ16によって取り扱うことが出来る）。部75は、タイル上方にに延びて、そのタイルの水平の長いワイヤ部51と交差する。図14は、ワイヤ部75がどの様にタイル下方から水平の長いワイヤ部51を横切って上方に延びるかを示している。ワイヤ部75及び水平の長いワイヤ部51の交差部に、点線楕円76で囲まれたプログラマブルスイッチが存在する。
妨害を避けるための別の方法は、一つの長いワイヤ部から他のタイルの他の対応しない長いワイヤ部に信号が移動することを許容する。図15は、水平の長いワイヤ部に対するプログラマブル接続77及び垂直の長いワイヤ部52に対するプログラマブル接続78を示している。各プログラム可能な接続77及び78は、各長いワイヤ部上の信号が、隣接タイル内の隣の対応しない長いワイヤ部に「逃れる」ことを可能にする。例えば、頂部水平ワイヤ部51上の信号は、もし隣接タイルの頂部ワイヤ部に競合又は妨害がある場合は、タイルの境界にある第２の長い水平のワイヤ部に逃れることが出来る。これらのプログラマブル接続77及び78は、双方向性にすることが出来るし、また、或る一方向又は逆の一方向で信号をドライブする様に方向付けることも出来る。これらのプログラマブル接続は、必ずしも隣同士のワイヤ部間での接続を行なう必要がないことは明らかな筈である。
妨害を減少する更に別の方法は、これらのプログラマブル接続の方向性を減少することにある。即ち、上述され且つ図示された様に、プログラマブル接続は、水平の長いワイヤ部から垂直の長いワイヤ部へ又はその逆で行なわれる。従って、長いワイヤ接続は、「Ｌ字状」であることのみが許容され、全く予想可能なタイミングが与える。ワイヤ部の選択は、このワイヤ部のルーティング及び長さを知るのに充分である。ワイヤ部の方向性を緩和すると、接続は、発信源から目的地へジクザクにすることが出来る。このことは、所望の接続が混雑しすぎる場合に、異なるロー及びコラムから移動する自由を可能にしている。これは、伝統的なチャンネルゲートアレイ用のルータと極めて類似している。そして、同じタイプの最適化を実現することが出来る。
図16A及び16Bは、この点を図示している。図16Aは、ロジックセル10のアレイを示しており、２つのロジックセルが、水平の長いワイヤ部及び垂直の長いワイヤ部によって接続されている。典型的な「Ｌ字状」が接続された２つの長いワイヤ部によって形成されている。図16Bは、２つのロジックセルの間のジクザク接続を図示している。この接続は、図16Aの接続及び他の可能な接続ルートを禁止する点線によって示される妨害を避けている。
グローバルルーティング
クロック信号のようなグローバル信号のための配線は困難な問題を与える。なぜなら、それらのグローバル信号はどこに進むことを要求されているかということに関する従来知識が一般には存在しないからである。本発明は、特定のグローバル信号のための論理セル10の各入力端子を指示することによってこの問題を部分的に解決する。入力端子X2は、グローバルブロック信号を受信するために使用され、入力端子X1は、グローバルリセット信号のために使用され、入力端子X3は、クロック、若しくは、マルチプレクサ選択信号のいずれかのために使用される。更に、グローバル信号を運搬するために使用される配線は、局部の、及び、長い配線セグメントの双方から分離され、また、グローバル配線のためのプログラム可能なスイッチの数は制限される。最終的に、タイルの配列は、グローバル配線によって複数のセクションに区分けされ、このグローバル配線は、あるセクションにおけるグローバル配線がどのように利用されるべきかを選択することを異なる複数のセクションに対して可能ならしめる。
アレイのために４つのグローバルワイヤが存在する。これらのワイヤは、外部パッドから駆動されるか、或いは、内部的に発生される。これらの各ワイヤは、アレイ中の各論理セルのX2入力端子に接続されていてもよい。更に、プログラム可能なスイッチを通じて、４つのグローバルワイヤの中の１つが、アレイセクション内の全ての論理セルのX1入力端子に接続されるべきものとして選択され得る。
図17を参照すると、各タイル40は、各タイルを通じるように水平に伸びた３つのグローバルライン81を有する。上部の２つのラインは、可能な４つのグローバルワイヤの中の２つに接続されている。これらの水平ライン81は、プログラム可能なスイッチを通じて、２つの垂直に隣接するタイルのX2入力端子に接続可能である。即ち、グローバルライン81を含む論理セル10のX2入力端子と、直ぐ下のタイルの論理セル10のX2入力端子は、第１のタイルの水平グローバルライン81に接続され得る。同様に、下側のタイルは、４つのメイングローバルラインの中の他の２つに接続された、水平グローバルライン81の同様のセットを有する。これらのライン81は、そのタイル40の入力端子に接続可能であり、また、下側のタイルの論理セルの入力端子に接続可能である。このパターンがアレイを通して反復され、水平ライン81の上部の２つは、グローバル信号の中のいずれか４つに接続され得る。図18は、２つの垂直に隣接するタイルが、局部垂直配線セグメント43の１つである黒点終了された垂直配線セグメント82によって水平グローバルライン81の上部の２つのラインにどのように接続できるかを示している。
水平グローバルライン81の底部ラインは、そのタイルのみにおける論理セルのX1入力端子に接続可能である。
このアレイでは、グローバルラインは、図19に示されているように、垂直グローバルライン82、84によって形成されたスピンを通じて信号を分散する。グローバルライン82の対とグローバルライン84の対から、４つのグローバル信号が、ネットワークを通じて分散され得る。垂直グローバルライン82、84の各対は、１つの対、つまり、かわるがわるの複数の行中の、水平グローバルライン81の上部の２つのライン、を駆動する。グローバルライン81の底部ラインは、ライン81、84の４つのラインの中のいずれか１つに接続可能である。図19に示されているように、ライン81は、垂直グローバルライン82、84の各側に水平に延びる。ライン81の水平延長部を有する垂直ライン82、84の各セットは、タイルのアレイのセクタを覆う。これは、図20に一例が示されており、ここで、グローバルラインは、左側のセクタ上では接尾辞Ａを、右側のセクタ上では接尾辞Ｂを付されている。これによって信号のグローバル分散を表示することが可能とされており、要求される信号のスキュー特性（skew characteristics）を満たすこともできる。
上の記載は、本発明の好ましい実施形態を完全に記述しているが、様々な代替物、変更物、等価物を使用することもできる。上述した実施形態を適当に変更することにより、本発明を等しく適用できることは明らかである。それ故、添付クレームの境界によって定められた本発明の範囲を限定するものとして、上の記述を受け取るべきではない。
【図１Ｂ】
0003645572.tif 000002
【図４Ａ】
0003645572.tif 000003
【図７Ａ】
0003645572.tif 000004
【図１Ａ】
0003645572.tif 000005
【図２】
0003645572.tif 000006
【図３Ａ】
0003645572.tif 000007
【図３Ｂ】
0003645572.tif 000008
【図４Ｂ】
0003645572.tif 000009
【図４Ｃ】
0003645572.tif 000010
【図５Ａ】
0003645572.tif 000011
【図７Ｂ】
0003645572.tif 000012
【図８】
0003645572.tif 000013
【図９】
0003645572.tif 000014
【図５Ｂ】
0003645572.tif 000015
【図５Ｃ】
0003645572.tif 000016
【図１０Ａ】
0003645572.tif 000017
【図１２Ａ】
0003645572.tif 000018
【図１２Ｂ】
0003645572.tif 000019
【図６】
0003645572.tif 000020
【図１０Ｂ】
0003645572.tif 000021
【図１２Ｃ】
0003645572.tif 000022
【図１４】
0003645572.tif 000023
【図１０Ｃ】
0003645572.tif 000024
【図１１】
0003645572.tif 000025
【図１３】
0003645572.tif 000026
【図１５】
0003645572.tif 000027
【図１７】
0003645572.tif 000028
【図１６Ａ】
0003645572.tif 000029
【図１６Ｂ】
0003645572.tif 000030
【図１８】
0003645572.tif 000031
【図２０】
0003645572.tif 000032
【図１９】
0003645572.tif 000033