(57)【特許請求の範囲】
【請求項１】
ｎ次元ＦＰＧＡのスイッチトポロジーをｍ次元（ｍ、ｎは自然数であり、ｍ＜ｎ、かつ、４≦ｎ）の集積回路に埋め込んで実現するＦＰＧＡの設計方法。
【請求項２】
ｍ＝２、ｎ＝４である請求項１の設計方法。
【請求項３】
ｎ次元ＦＰＧＡのスイッチトポロジーをｍ次元（ｍ、ｎは自然数であり、ｍ＜ｎ、かつ、４≦ｎ）の集積回路に埋め込んでなるＦＰＧＡからなる半導体集積回路。
【請求項５】
ｍ＝２、ｎ＝４である請求項３の半導体集積回路。
【請求項６】
各軸方向の配線チャネルが多種長の配線を含むＦＰＧＡからなる請求項３の半導体集積回路。
【請求項７】
各軸方向の配線チャネルが長尺の配線を含むＦＰＧＡからなる請求項３の半導体集積回路。
【請求項８】
近接する各軸方向の配線チャネルの端点同士を接続してなるＦＰＧＡからなる請求項３の半導体集積回路。
【請求項９】
各基本ブロックが階層構造を持つＦＰＧＡからなる請求項３の半導体集積回路。
【請求項１０】
３次元ＦＰＧＡのスイッチトポロジーを２次元の集積回路に埋め込んでなるＦＰＧＡからなる半導体集積回路であって、
同一ｘ−ｙ位置に存在する基本ブロックを１つのサブリージョンとして２次元状に形成し、ｚ方向の接続を施し、これらのサブリージョンを２次元配列状に並べ、横方向に並ぶサブリージョンの同一ｚ位置に存在する基本ブロック間にｘ方向の接続を、縦方向に並ぶサブリージョンの同一ｚ位置に存在する基本ブロック間にｙ方向の接続を施してなるＦＰＧＡからなる半導体集積回路。
【請求項１１】
同一ｕ−ｖ位置に存在する基本ブロックを１つのサブリージョンとして２次元配列状に形成し、横方向に並ぶ基本ブロック間にｘ方向の接続を、縦方向に並ぶ基本ブロック間にｙ方向の接続を施し、これらのサブリージョンを２次元配列状に並べ、横方向に並ぶサブリージョンの同一ｘ−ｙ位置に存在する基本ブロック間にｕ方向の接続を、縦方向に並ぶサブリージョンの同一ｘ−ｙ位置に存在する基本ブロック間にｖ方向の接続を施してなるＦＰＧＡからなる請求項５の半導体集積回路。
【請求項１２】
各サブリージョンにおいて、ｚ方向の配線チャネルの下端と上端を接続してなるＦＰＧＡからなる請求項１０の半導体集積回路。
【請求項１３】
サブリージョンをｚ方向に隣接する基本ブロック同士が隣接するようにならべ２次元状に形成してなるＦＰＧＡからなる請求項１０の半導体集積回路
【請求項１４】
第１のサブリージョンのｙ方向の配線チャネルの下端と、第１のサブリージョンの下方向に隣接する第２のサブリージョンのｙ方向の配線チャネルの上端を接続してなるＦＰＧＡからなる請求項１１の半導体集積回路。
【請求項１５】
第１のサブリージョンのｘ方向の配線チャネルの右端と、第１のサブリージョンの右方向に隣接する第２のサブリージョンのｘ方向の配線チャネルの左端を接続してなるＦＰＧＡからなる請求項１１の半導体集積回路
【請求項１６】
サブリージョンを、基本ブロックを縦方向に直線的に並べることによって形成してなるＦＰＧＡからなる請求項１３の半導体集積回路。
【請求項１７】
サブリージョンを、基本ブロックを少なくとも１度ｚ軸を折り曲げて並べることによって形成してなるＦＰＧＡからなる請求項１３の半導体集積回路。
【請求項１８】
第１のサブリージョンのｚ方向の配線チャネルの下端と、下方向に隣接する第２のサブリージョンのｚ方向の配線チャネルの上端を接続してなるＦＰＧＡからなる請求項１６の半導体集積回路
【請求項２１】
複数の基本ブロックと、前記各基本ブロックに設けられたスイッチング素子とを備え、前記基本ブロック同士がそれぞれのスイッチング素子を介して接続されているプログラマブルデバイスにおいて、
前記複数の基本ブロックのうちの少なくとも一部のものは、行列状に配置されるとともに、行方向及び列方向に沿って順次接続されてなる基本ブロック行列を複数構成しており、
前記複数の基本ブロック行列の間において互いに対応する行列位置に位置する基本ブロック同士が互いに接続されており、
前記複数の基本ブロック行列は平面的に配置されているとともに、
前記複数の基本ブロック行列の間において互いに対応する行列位置に位置する基本ブロックは、所定の領域にひとまとまりに配置されているプログラマブルデバイス。
【請求項２２】
前記複数の基本ブロック行列の間において互いに対応する行列位置に位置する基本ブロック同士の接続は、１次元的な接続である請求項２１のプログラマブルデバイス。
【請求項２３】
複数の基本ブロックと、前記各基本ブロックに設けられたスイッチング素子とを備え、前記基本ブロック同士がそれぞれのスイッチング素子を介して接続されているプログラマブルデバイスにおいて、
前記複数の基本ブロックのうちの少なくとも一部のものは、行列状に配置されるとともに、行方向及び列方向に沿って順次接続されてなる基本ブロック行列を複数構成しており、
前記複数の基本ブロック行列の間において互いに対応する行列位置に位置する基本ブロック同士が互いに接続されており、
前記複数の基本ブロック行列は平面的に配置されているとともに、
前記複数の基本ブロック行列の間において互いに対応する行列位置に位置する基本ブロック同士の接続は、２次元的な接続であるプログラマブルデバイス。
【請求項２４】
前記各基本ブロック行列を構成する基本ブロックは、所定の領域にひとまとまりに配置されている請求項２３のプログラマブルデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、論理機能を再設定可能なフィールドプログラマブルゲートアレー（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ、以下、「ＦＰＧＡ」と略記する）の配線アーキテクチャに係り、多次元のスイッチトポロジーを有する配線アーキテクチャ及びかかる配線アーキテクチャを有する集積回路に関するものである。また、本発明は、複数の基本ブロックと、各基本ブロックに設けられたスイッチング素子とを備え、基本ブロック同士がそれぞれのスイッチング素子を介して接続されているプログラマブルデバイスに関するものである。
【背景技術】
【０００２】  論理機能を再設定可能なＦＰＧＡとしては多数の製品が存在する。そのようなＦＰＧＡの構造の一例が特許文献１〜１１に記載されている。
【特許文献１】  日本国公表特許公報  特表平８−５０９３４４号公報（公開日：１９９６年１０月１日）
【特許文献２】  日本国公表特許公報  特表２００１−５１９１３３号公報（公開日：２００１年１０月１６日）
【特許文献３】  米国特許第ＲＥ．３４，３６３号（公開日：１９９３年８月３１日）
【特許文献４】  米国特許第５，４５５，５２５号（公開日：１９９５年１０月３日）
【特許文献５】  米国特許第５，６８２，１０７号（公開日：１９９７年１０月２８日）
【特許文献６】  米国特許第５，６８９，１９５号（公開日：１９９７年１１月１８日）
【特許文献７】  米国特許第５，８８３，５２６号（公開日：１９９９年３月１６日）
【特許文献８】  米国特許第５，９１４，６１６号（公開日：１９９９年１月２２日）
【特許文献９】  米国特許第５，９４２，９１３号（公開日：１９９９年８月２４日）
【特許文献１０】  米国特許第６，０８４，４２９号（公開日：２０００年７月４日）
【特許文献１１】  米国特許第６，３００，７９４号（公開日：２００１年１０月９日）
【０００３】  特許文献１，２，５，８，９に見られるように、一般にＦＰＧＡは図１ａのような基本ブロックを図４のように２次元配列状に並べた形で実現される。ここでは横方向をｘ方向、縦方向をｙ方向として説明する。一般に基本ブロックは、ブロック間を接続する配線チャネル１０６・１０７と、経路を指示するスイッチマトリックス１０１と、可変論理素子及び記憶素子からなる論理ブロック１０２とからなる。スイッチマトリックス１０１と論理ブロック１０２との間は配線１０５によって接続される。各基本ブロック間を接続する配線としては、隣接基本ブロック間の接続をする配線１０３や、２つ以上先の基本ブロックへ接続する配線１０４も存在する。【０００４】  図２は、論理ブロック１０２の具体例であり、この例では可変論理素子としてのルックアップテーブル２０２、記憶素子としてのディーフリップフロップ２０３を備えた例を示している。ルックアップテーブル２０２はＳＲＡＭなどのメモリによって構成される。ルックアップテーブル２０２及びディーフリップフロップ２０３の出力信号はルックアップテーブル２０２の入力にフィードバックされ、同時に、配線１０５を通じてスイッチマトリックス１０１に出力される。また、基本ブロック外部からの信号もスイッチマトリックス１０１から配線１０５を通じてルックアップテーブル２０２に入力する。ルックアップテーブル２０２の入力部には、ルックアップテーブル２０２及びディーフリップフロップ２０３の出力フィードバックと、配線１０５からの基本ブロック外部からの信号とのうち１つを選択可能とするためのプログラマブルスイッチ２０１が備えられている。また、近年のＦＰＧＡでは、図２のような論理ブロックにキャリー計算装置を付加したブロックや、メモリや乗算器のみで構成されるブロックも存在する。【０００５】  図１ｂはスイッチマトリックス１０１のトポロジーを示している。図１ｂではｘ方向の左側の配線チャネル１０６ａから、各配線チャネル１０６ｂ・１０５ａ・１０５ｂへ接続するスイッチの有無を矢印で示している。２次元のスイッチマトリックス１０１では３方向の配線チャネルへ接続するスイッチが必要となる。ここではｘ方向の左側の配線チャネル１０６ａから他の配線チャネル１０６ｂ・１０５ａ・１０５ｂへの接続のみを示しているが、いずれの方向の配線チャネルからも同様に各方向の配線チャネルに接続するスイッチが存在する。【０００６】  スイッチマトリックス１０１には図３のようなスイッチが存在し、図１ａに示した配線１０３や配線１０４等の上下左右の基本ブロックに接続する配線同士を短絡する。このスイッチは、マルチプレクサ３０１を備えている。マルチプレクサ３０１では、スイッチマトリックス１０１に接続する上下左右の基本ブロック間を接続する配線から引き出した配線３０３、及び論理ブロック１０２からの出力である配線１０５のうちのいくつかが入力・選択され、配線１０３や配線１０４などの基本ブロック間を接続する配線のうちの１本を駆動するトライステートバッファ３０２に接続される。トライステートバッファ３０２を用いることにより、出力先の配線（例えば配線１０３）を双方向の配線としてつかえるようになっている。なお、���ライステートバッファ３０２の代わりに通常のバッファにする、あるいは、バッファを設けないスイッチの構成も存在する。スイッチはＳＲＡＭなどのメモリによって制御される。【０００７】  ユーザは使用前にスイッチを制御するメモリや、ルックアップテーブルを構成するメモリに適切な値を設定することでＦＰＧＡに所望の動作をさせることができる。【０００８】  半導体プロセス技術の微細化の進歩に伴い、カスタム設計が長期化・高コスト化している。これに対して、ＦＰＧＡは再構成可能な性質により、論理機能の設計に必要な時間・コストが極めて少ない。また、ＦＰＧＡは規則的な構造を有し、最新の半導体プロセス技術を比較的容易に適用できることから、今後も一層の集積度向上が期待できる。実際、ＦＰＧＡではＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ、以下、「ＡＳＩＣ」と略記する）よりも新しい半導体プロセス技術が適用されている。したがって、初期の頃は試作などがＦＰＧＡの主な用途であったが、近年は性能向上により、ＤＳＰや小・中規模のＡＳＩＣの代替として注目され、その用途も広がっている。微細化が進むことによってＦＰＧＡの利点が大きくなることから、携帯電子機器やデジタル家電などの幅広い用途への拡大が期待できる。【０００９】  しかし、ＦＰＧＡにおける配線は多くのスイッチを通過することから、ＡＳＩＣに比較して極めて低速である。また、ＦＰＧＡには非常に多くのスイッチが存在するため、ＡＳＩＣに比較して論理密度が極めて小さい。これらの問題は、集積度の向上とともに平均配線長や配線領域がより巨大化することになるため、一層大きくなる。したがって大規模ＦＰＧＡを実現する際にはこれらの問題を根本的に解決する必要がある。【００１０】  この状況を改善するために、図１ａの配線１０４のような、いくつかのスイッチマトリックスを飛び越えて接続する配線が設けられている。この場合、その配線が飛び越えるスイッチマトリックスの数や、その配線の本数などの慎重な最適化が必要となる。【００１１】  また、論理ブロック１０２間の配線を少なくするために論理ブロック１０２の粒度を大きくすることが考えられる。図２の論理ブロック１０２はルックアップテーブル２０２とフリップフロップ２０３との組である論理エレメントを２つ備えた形になっているが、より多く、例えば、４つの論理エレメントを備えたような論理ブロックを用意する。これは、特許文献６に見られる階層構造を持つＦＰＧＡと同様の構造である。ここでは、ＦＰＧＡ全体はスーパーリージョン、基本ブロックはサブリージョンと考える。スーパーリージョンは通常の２次元配列構造であるが、サブリージョン内部では図２のように各論理エレメントの間は等価に接続され、サブリージョンからスーパーリージョンの配線への接続は、各論理エレメントとスイッチマトリックスの間も等価に接続される。このような構造はサブリージョンを大きくすると、スイッチ数や、内部配線の遅延が急激に増加する問題が生ずる。【００１２】  これに関しては、特許文献７のようにサブリージョン内部配線をセグメント化することや、特許文献１１のようにサブリージョン内部に更なる階層化を施すこと���どの改良案が存在する。【００１３】  特許文献４などに見られる窓枠アーキテクチャも階層構造の一種であると考えられるが、ここでは、サブリージョン内の接続は２次元配列構造となっており、サブリージョンの辺縁部から、スーパーリージョンの配線チャネルに接続する。この構造ではサブリージョンを大きくすると、スーパーリージョンの配線が無駄に長くなるため、特許文献１０のようにスーパーリージョンにおける配線をセグメント化する改良案が存在する。これらの階層構造を持つ配線アーキテクチャにおいても、サブリージョンの大きさ、サブリージョン内部の接続等慎重な最適化を要する。【００１４】  一般的なＦＰＧＡはこれらの最適化が施されているが、ＦＰＧＡの将来的な配線領域・遅延の増加に有効であるかどうかは明らかでない。そこで、ＦＰＧＡの配線の問題を根本的に解決する目的で非特許文献１や非特許文献２などの３次元ＦＰＧＡの提案が行われている。
【非特許文献１】  Ａ．Ｒａｈｍａｎ  ｅｔ  ａｌ．，″Ｗｉｒｉｎｇ  Ｒｅｑｕｉｒｅｍｅｎｔ  ａｎｄ  Ｔｈｒｅｅ−Ｄｉｍｅｎｓｉｏｎａｌ  Ｉｎｔｅｇｒａｔｉｏｎ  ｏｆ  Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ，″Ｐｒｏｃ．ＳＬＩＰ，２００１．
【非特許文献２】  Ｍ．Ｌｅｅｓｅｒ  ｅｔ  ａｌ．，″Ｒｏｔｈｋｏ：Ａ  Ｔｈｒｅｅ−Ｄｉｍｅｎｓｉｏｎａｌ  ＦＰＧＡ，″ＩＥＥＥ  Ｄｅｓｉｇｎ  ａｎｄ  Ｔｅｓｔ  ｏｆ  Ｃｏｍｐｕｔｅｒｓ，Ｖｏｌ．１５（ｎｏ．１），ｐｐ．１６−２３，１９９８．
【００１５】  ３次元ＦＰＧＡの基本ブロックの例を図５に示す。ここでは、チップの横方向をｘ、縦方向をｙ、垂直方向をｚとする。配線チャネル５０３・５０４は、それぞれｘ、ｙ方向の配線チャネルであり、配線チャネル５０６はｚ方向の配線チャネルである。配線チャネル５０６は上層、または、下層のタイルのスイッチマトリックス５０１と接続する。なお、図５の基本ブロックにおけるスイッチマトリックス５０１及び論理ブロック５０２は、それぞれ図１の基本ブロックにおけるスイッチマトリックス１０１及び論理ブロック１０２に対応するものである。図６ａは、スイッチマトリックス５０１に接続する配線の立体図を表している。図６ｂは、スイッチマトリックス５０１のトポロジーを示している。ここでは図が煩雑になるのを避けるため、ｘ方向の左側の配線チャネル５０３ａから各方向の配線チャネル５０３ｂ・５０４ａ・５０４ｂ・５０６ａ・５０６ｂへの接続のみを示しているが、いずれの方向からも同様で、各方向に接続するスイッチが存在する。したがって、３次元ＦＰＧＡではスイッチマトリックスにおいては５方向に接続するスイッチが必要になる。スイッチマトリックス５０１の内部では、ある方向の配線チャネルから全ての方向の配線チャネルに接続できるようになっている。図７は各スイッチマトリックス５０１の３次元ＦＰＧＡにおける接続を示している。【００１６】  これによって、１つの基本ブロックに隣接する基本ブロックの数が増えるため、基本ブロック間の接続はより少ない数のスイッチマトリックスを経由することで実現でき配線遅延を削減することができる。また、ＦＰＧＡにおいてスイッチの数は配線チャネルのトラック数（配線チャネルは配線を束ねたものであり、配線チャネルを構成する各配線をトラックと称し、その数が配線チャネルのトラック数である。）に比例する。２次元のスイッチマトリックスでは３方向の配線チャネルと接続があったが、３次元のスイッチマトリックスでは５方向と増えるためトラック当たりのスイッチ数が増加するが、大規模な３次元ＦＰＧＡでは２次元ＦＰＧＡに比較して配線チャネルに必要なトラック数が非常に少なくなるため、３次元ＦＰＧＡの方の論理密度が高くなる。【００１７】  非特許文献１では、２０ｋゲート規模のＦＰＧＡを４層の３次元ＦＰＧＡとして構成する場合、配線遅延が４５〜６０％、論理集積度が２０〜４０％改善するとしている。また、この改善度は論理集積度が向上するほど高くなることが示されており、大規模なＦＰＧＡほど３次元集積の効果が高いことがわかる。【００１８】  しかし、微細な垂直方向の配線を作ることが難しいため、３次元ＦＰＧＡを製造することは極めて困難であり、また、３次元集積回路は放熱が困難であり積層可能な層数に限りがあることから、将来的に十分な集積度の３次元ＦＰＧＡを実現することは不可能である。
【発明の開示】
【００１９】  ＦＰＧＡの回路遅延の大部分が配線遅延である。配線遅延が大きくなるのは、基本ブロック間の配線では多くのスイッチマトリックスを経由するためである。また、集積度が大きくなるほど、経由するスイッチマトリックスの数は増えるため、回路遅延に配線遅延が占める割合も増大する。
【００２０】  ＦＰＧＡのチップ面積の大部分はスイッチマトリックスを構成するトランジスタによって占められている。ＡＳＩＣでは金属配線の領域が不足するが、ＦＰＧＡでは金属配線よりもトランジスタ領域が不足する。また、集積度が大きくなるほど、スイッチマトリックスに必要なスイッチの数が増加し論理密度が低下する。
【００２１】  以上の２つの問題を解決する手段として、３次元集積技術を用いた３次元ＦＰＧＡの研究が行われてきた。３次元ＦＰＧＡでは基本ブロック間の接続の平均配線長、すなわち、スイッチの通過段数が劇的に減少するため、ＦＰＧＡの回路遅延の大部分を占める配線遅延が大幅に改善される。また、３次元ＦＰＧＡでは配線チャネルに必要なトラック数が劇的に減少するため、スイッチマトリックスを構成するトランジスタの数も減少し、論理集積度は向上する。しかし、３次元集積技術は依然として解決すべき困難な課題が多い。その一つに層間の貫通電極の問題がある。層間を接続する貫通電極は水平方向の配線に比較して太く、あまり多く作ることはできない。このため集積度をあまり高くできないという問題がある。さらに、素子の製造が技術的に難しいために歩留まりの低下が生じ、十分な集積度の３次元ＦＰＧＡは実現されるに至っていない。その上、３次元集積回路には放熱が難しく積層できる数に限界があり、かかる点からも十分な集積度の３次元ＦＰＧＡを提供することが困難である。このため、今後も水平方向、垂直方向が同じ特性を持つような完全に理想的な３次元ＦＰＧＡが実現されることはないと考えられる。従って、現状の３次元集積回路技術では、今日の電子機器の情報量の拡大化、多機能化や高速度化に対応するに十分な集積回路及びかかる集積回路を有するシステムを提供することができない。
【００２２】  本発明者は３次元ＦＰＧＡの配線遅延の改善効果及び論理集積度の向上という長所を活かし、かつ製造技術上の欠点を改良する配線アーキテクチャの開発研究に鋭意取り組み、多次元のスイッチトポロジーをより低次元のチップに埋め込むことにより、現状の３次元ＦＰＧＡが有する上述の課題を解決し本発明を完成するに至った。なお本発明で多次元とは３次元以上の高次元を意味する。
【００２３】  本発明によれば、（１）ｎ次元ＦＰＧＡのスイッチトポロジーをｍ次元の集積回路に埋め込んで実現することを特徴とするＦＰＧＡの設計方法、ここで、ｍ、ｎはいずれも自然数であり、ｍ＜ｎの関係がある。（２）ｍ＝２、ｎ＝３又は４である上記（１）に記載のＦＰＧＡの設計方法、（３）ｎ次元ＦＰＧＡのスイッチトポロジーをｍ次元の集積回路に埋め込んでなるＦＰＧＡからなる半導体集積回路、（４）ｎ＝３、ｍ＝２である上記（３）に記載の半導体集積回路、（５）ｎ＝４、ｍ＝２である上記（３）に記載の半導体集積回路、（６）上記（３）に記載のＦＰＧＡからなる半導体集積回路であって、各軸方向の配線チャネルが多種長の配線を含むＦＰＧＡからなる半導体集積回路、（７）上記（３）に記載のＦＰＧＡからなる導体集積回路であって、各軸方向の配線チャネルが長尺の配線を含むＦＰＧＡからなる半導体集積回路、（８）上記（３）に記載のＦＰＧＡからなる導体集積回路において、近接する各軸方向の配線チャネルの端点同士を接続してなるＦＰＧＡからなる半導体集積回路、（９）上記（３）に記載のＦＰＧＡからなる導体集積回路であって、各基本ブロックが階層構造を持つＦＰＧＡからなる半導体集積回路、（１０）上記（４）に記載のＦＰＧＡからなる導体集積回路において、同一ｘ−ｙ位置に存在する基本ブロックを１つのサブリージョンとして２次元状に形成し、ｚ方向の接続を施し，これらのサブリージョンを２次元配列状に並べ，横方向に並ぶサブリージョンの同一ｚ位置に存在する基本ブロック間にｘ方向の接続を，縦方向に並ぶサブリージョンの同一ｚ位置に存在する基本ブロック間にｙ方向の接続を施すことによって実現されるＦＰＧＡからなる半導体集積回路、（１１）上記（５）に記載のＦＰＧＡからなる半導体集積回路において、同一ｕ−ｖ位置に存在する基本ブロックを１つのサブリージョンとして２次元配列状に形成し、横方向に並ぶ基本ブロック間にｘ方向の接続を、縦方向に並ぶ基本ブロック間にｙ方向の接続を施し、これらのサブリージョンを２次元配列状に並べ、横方向に並ぶサブリージョンの同一ｘ−ｙ位置に存在する基本ブロック間にｕ方向の接続を、縦方向に並ぶサブリージョンの同一ｘ−ｙ位置に存在する基本ブロック間にｖ方向の接続を施すことによって実現されるＦＰＧＭからなる半導体集積回路、（１２）上記（１０）に記載のＦＰＧＡからなる半導体集積回路において、各サブリージョンにおいてｚ方向の配線チャネルの下端と上端を接続してなるＦＰＧＡからなる半導体集積回路、（１３）上記（１０）に記載のＦＰＧＡからなる半導体集積回路において、サブリージョンを、ｚ方向に隣接する基本ブロック同士が隣接するように並べ２次元状に形成して実現されるＦＰＧＡからなる半導体集積回路、（１４）上記（１１）に記載のＦＰＧＡからなる半導体集積回路において、第１のサブリージョンのｙ方向の配線チャネルの下端と、第１のサブリージョンの下方向に隣接する第２のサブリージョンのｙ方向の配線チャネルの上端を接続して実現されるＦＰＧＡからなる半導体集積回路、（１５）上記（１１）に記載のＦＰＧＡからなる半導体集積回路において、第１のサブリージョンのｘ方向の配線チャネルの右端と，第１���サブリージョンの右方向に隣接する第２のサブリージョンのｘ方向の配線チャネルの左端を接続して実現されるＦＰＧＡからなる半導体集積回路、（１６）上記（１３）に記載のＦＰＧＡからなる半導体集積回路において、サブリージョンを、基本ブロックを縦方向に直線的に並べることによって形成して実現されるＦＰＧＡからなる半導体集積回路、（１７）上記（１３）に記載のＦＰＧＡからなる半導体集積回路において、サブリージョンを、基本ブロックを少なくとも一度ｚ軸を折り曲げて並べることによって形成して実現されるＦＰＧＡからなる半導体集積回路、（１８）上記（１６）に記載のＦＰＧＡからなる半導体集積回路において、第１のサブリージョンのｚ方向の配線チャネルの下端と、下方向に隣接する第２のサブリージョンのｚ方向の配線チャネルの上端を接続して実現されるＦＰＧＡからなる半導体集積回路、が提供される。
【００２４】  本発明は、論理ブロックの構造、論理ブロックとスイッチマトリックスとの間の接続などについて特に限定しない。また、論理ブロックが、メモリや乗算器などの機能ユニットを持つブロックで置き換えられたものもまた本発明に含まれる。
【００２５】  ｎ次元ＦＰＧＡ（ｎが４以上の場合は仮想的な存在であるが）は、各軸方向にアレイ状に整列した基本ブロックがｎ次元格子状の配線によって接続されるものとする。
【００２６】  ｎ次元ＦＰＧＡのスイッチトポロジーを持つＦＰＧＡは、そのＦＰＧＡの基本ブロックを構成するスイッチマトリックスに各軸の正方向、負方向を合わせて２ｎ方向の配線チャネルが接続され、第１の方向の配線チャネルの少なくとも１つの配線トラックから第１の方向以外のすべての２ｎ−１方向の配線チャネルのそれぞれ少なくとも１つの配線トラックに信号を伝播させるためのスイッチが存在する。
【００２７】  本発明において方向を表現するのに用いる「縦」と「横」は交換可能であるとする。また、軸を表現するのに用いるｘ，ｙ，ｕ，ｖ，ｚなどもまた交換可能であるとする。
【００２８】  本発明は、高次元のスイッチトポロジーを持つＦＰＧＡをより低次のチップへ埋め込むことを特徴とする。このことにより、ＦＰＧＡは規模が大きくなるほど論理ブロック間を接続するスイッチの段数や、ＦＰＧＡに設けるスイッチの数が増加するという問題を抑制し、性能を大きく改善することができる。特に、２次元チップ構造に埋め込んだ場合には、製造はきわめて容易となり、歩留まりも改善し、かつ製造コストも経済的である高集積度のＦＰＧＡを提供することが可能となる。また、本発明の配線アーキテクチャを実現するための配線プロセスも通常の２次元チップで用いられるプロセスと同一である。しかも２次元構造のため放熱性は２次元のＦＰＧＡと同様であり、３次元構造における蓄熱による弊害の心配はない。更に、本発明では４次元以上のスイッチトポロジーを持つＦＰＧＡを２次元チップに埋め込むことや、３次元集積技術を用いる実際の３次元チップに埋め込むことも可能である。３次元集積技術が発展し、十分な集積度を持つ３次元ＦＰＧＡが実現される場合でも、超高集積のＦＰＧＡを実現する場合には４次元以上のスイッチトポロジーを３次元チップに埋め込むことが有効となる。
【００２９】  ＦＰＧＡの論理集積度・動作速度に最も影響を与えるのは金属配線ではなく、スイッチであるため、３次元ＦＰＧＡのスイッチのトポロジーを２次元チップに埋め込むことは、論理ブロック間の通過スイッチ段数の減少や、ＦＰＧＡに必要なスイッチ数の減少といった３次元ＦＰＧＡの利点を実現することができる。
【００３０】  また、さらに大規模なＦＰＧＡを実現する場合４次元以上のスイッチトポロジーを持つＦＰＧＡが有利であると考えられる。本発明は４次元以上のスイッチトポロジーを持つＦＰＧＡも含む。
【００３１】  本発明によれば、大規模ＦＰＧＡを実現する際の配線領域が増大する問題が解決され、１億ゲート規模以上のＦＰＧＡの実現を可能とし、ルーター、ＳＡＮやブレードサーバーなどのネットワーク・通信分野、医療用・産業用画像機器などの映像分野、ＤＶＤ−ＲＷプレーヤー・液晶テレビなどのデジタル家電や携帯デジタル機器などのより幅広い用途に利用されるようになり、ＦＰＧＡの市場の拡大を可能とする。
【００３２】  以下、本発明の作用について更に詳しく記載する。３次元ＦＰＧＡではスイッチマトリックスを構成するトランジスタの数が減少するため、論理密度が大幅に向上する。これは、３次元集積回路技術ではなく、３次元ＦＰＧＡのスイッチのトポロジーが優れているためである。したがって、３次元ＦＰＧＡのスイッチのトポロジーを２次元チップに埋め込むことで、３次元ＦＰＧＡと同様にスイッチマトリックスを構成するトランジスタの数を減らすことができる。また、３次元ＦＰＧＡのスイッチのトポロジーを２次元に埋め込んだことによって、垂直方向の配線がすべて水平方向に展開することになり、金属配線の密度が増加する。通常、ＦＰＧＡにおいては金属配線の密度はトランジスタの密度に比較してかなりの余裕があり、また、金属配線は多層配線によって実現され、今後も層数が増えることから金属配線の密度はさらに減少する。したがって、一般的な２次元ＦＰＧＡでは多層配線を有効に利用することができない。本発明は多層配線を有効に利用することができる。
【００３３】  本発明は、３次元集積回路技術を必要とする３次元ＦＰＧＡとは異なり、従来の集積回路技術を用いて実現することができるため製造上の問題がない。
【００３４】  本発明の有効な実現形態の一つとして２次元チップとして実現される場合には放熱が容易である。
【００３５】  ３次元ＦＰＧＡは集積度が向上するほど、２次元ＦＰＧＡに比較した性能向上が著しくなる。ここで、さらに高集積のＦＰＧＡにおいては、４次元以上のＦＰＧＡのスイッチのトポロジーを２次元に埋め込んで利用することが有効である。
【００３６】  （１９）また、本発明のプログラマブルデバイスは、複数の基本ブロックと、前記各基本ブロックに設けられたスイッチング素子とを備え、前記基本ブロック同士がそれぞれのスイッチング素子を介して接続されているプログラマブルデバイスであって、前記複数の基本ブロックのうちの少なくとも一部のものは、行列状に配置されるとともに、行方向及び列方向に沿って順次接続されてなる基本ブロック行列を複数構成しており、前記複数の基本ブロック行列の間において互いに対応する行列位置に位置する基本ブロック同士が互いに接続されているとともに、前記複数の基本ブロック行列は平面的に配置されている。
【００３７】  上記プログラマブルデバイスとは、ＦＰＧＡのように論理機能を任意に設定可能な回路であり、ＦＰＧＡ以外にも、ＦＰＧＡにおける論理ブロックの代わりに加算器、乗算器、メモリなどを含んで構成される回路も含まれる。また、上記基本ブロックとは、プログラマブルデバイスを構成する基本単位であり、スイッチマトリックス、機能回路、上記スイッチマトリックスと上記機能回路とを接続する配線束、上記スイッチマトリックスと他の基本ブロックのスイッチマトリックスとを接続する配線束を備えるものである。
【００３８】  上記スイッチマトリックスとは、このスイッチマトリックスに接続されている配線間の信号経路を接続又は切断する機能を有する複数のスイッチによって構成されており、各スイッチは記憶素子又は各スイッチ自体の有する記憶機能に基づいてその接続又は切断状態が設定されるものである。
【００３９】  上記機能回路とは、所定の演算機能を果たす回路である。上記機能回路には、論理ブロックや、加算器、乗算器、メモリなどが含まれる。また、上記機能回路は、記憶素子又は当該機能回路自体の有する記憶機能に基づいて、当該機能回路の機能が設定されるものであってもよい。また、上記機能回路は、当該機能回路の属する基本ブロック内に階層状に構成された下位階層の基本ブロックを備えていてもよい。
【００４０】  なお、上記配線束は、信号を伝搬するための複数の配線の集合である。
【００４１】  そして、上記の構成では、プログラマブルデバイスを構成する複数の基本ブロックのうちの少なくとも一部のものは、行列状に配置されるとともに、行方向及び列方向に沿って順次接続されてなる基本ブロック行列を複数構成している。したがって、各基本ブロック行列は、従来の２次元ＦＰＧＡに備わっていた２次元配列状に並べられた基本ブロックに相当する機能を果たすことができる。
【００４２】  また、上記の構成では、複数の基本ブロック行列の間において互いに対応する行列位置に位置する基本ブロック同士が互いに接続されている。これにより、上記の構成では、従来の３次元ＦＰＧＡと同じく、従来の２次元ＦＰＧＡと比較して、基本ブロック間の接続をより少ない数のスイッチマトリックスを経由により実現することができるようになるとともに、論理密度の向上を図ることができる。
【００４３】  さらに、上記の構成では、複数の基本ブロック行列は平面的に配置されている。これにより、上記の構成では、形成が困難である微細な垂直方向の配線を形成する必要がなくなることから、従来の３次元ＦＰＧＡと比較して製造が容易になるとともに、従来の３次元ＦＰＧＡにおける放熱性の問題も抑制することができる。
【００４４】  以上のように、上記の構成では、従来の２次元及び３次元ＦＰＧＡそれぞれの問題点を解消することができる。
【００４５】  （２０）また、本発明のプログラマブルデバイスは、上記（１９）のプログラマブルデバイスにおいて、前記各基本ブロック行列を構成する基本ブロックは、所定の領域にひとまとまりに配置しておくことができる。
【００４６】  （２１）あるいは、本発明のプログラマブルデバイスは、上記（１９）のプログラマブルデバイスにおいて、前記複数の基本ブロック行列の間において互いに対応する行列位置に位置する基本ブロックは、所定の領域にひとまとまりに配置されていてもよい。
【００４７】  （２２）また、本発明のプログラマブルデバイスは、上記（１９）のプログラマブルデバイスにおいて、前記複数の基本ブロック行列の間において互いに対応する行列位置に位置する基本ブロック同士の接続は、１次元的な接続であってもよい。
【００４８】  上記の構成では、各基本ブロック行列内の２次元的な接続に対して、複数の基本ブロック行列の間において互いに対応する行列位置に位置する基本ブロック同士の１次元的な接続が加わることにより、基本ブロック同士を３次元的に接続することができる。
【００４９】  （２３）また、本発明のプログラマブルデバイスは、上記（１９）のプログラマブルデバイスにおいて、前記複数の基本ブロック行列の間において互いに対応する行列位置に位置する基本ブロック同士の接続は、２次元的な接続であってもよい。
【００５０】  上記の構成では、各基本ブロック行列内の２次元的な接続に対して、複数の基本ブロック行列の間において互いに対応する行列位置に位置する基本ブロック同士の２次元的な接続が加わることにより、基本ブロック同士を４次元的に接続することができる。
【図面の簡単な説明】
【００５１】
【図１ａ】図１ａは、ＦＰＧＡの基本ブロックを示す平面図である。
【図１ｂ】図１ｂは、ＦＰＧＡのスイッチマトリックスのトポロジーを示す概略図である。
【図２】図２は、論理ブロックの一例を示す図である。
【図３】図３は、スイッチマトリックス内部のスイッチの一例を示す図である。
【図４】図４は、基本ブロックを並べて実現したＦＰＧＡを示す図である。
【図５】図５は、３次元ＦＰＧＡの基本ブロックの平面図である。
【図６ａ】図６ａは、３次元ＦＰＧＡのスイッチマトリックス部の立体図である。
【図６ｂ】図６ｂは、３次元ＦＰＧＡのスイッチマトリックスのトポロジーを示す概略図である。
【図７】図７は、図６ａのスイッチマトリックスを３次元方向に配置した３次元ＦＰＧＡの一部を示す図である。
【図８】図８は、３次元ＦＰＧＡを層ごとに２次元チップに埋め込んだＦＰＧＡを示す図である。
【図９】図９は、３次元ＦＰＧＡを層ごとに２次元チップに埋め込み、ｚ方向の配線の端を接続したＦＰＧＡを示す図である。
【図１０】図１０は、３次元ＦＰＧＡをｚ軸方向に隣接する基本ブロックごとに２次元チップに埋め込んだＦＰＧＡを示す図である。
【図１１】図１１は、３次元ＦＰＧＡをｚ軸方向に隣接する基本ブロックごとに２次元チップに埋め込み、ｚ方向の配線の端を接続したＦＰＧＡを示す図である。
【図１２】図１２は、４次元ＦＰＧＡをｘ−ｙ平面ごとに２次元チップに埋め込んだＦＰＧＡの一例における、基本ブロック間の接続を示す図である。
【図１３】図１３は、４次元のスイッチマトリックスのトポロジーの概略図である。
【図１４】図１４は、図１２のＦＰＧＡの隣接ｘ−ｙ平面間のｘ、ｙ軸の端を接続したＦＰＧＡの一部を示す図である。
【図１５】図１５は、３次元ＦＰＧＡをｚ軸方向に隣接する基本ブロックを縦方向に並べて配置することで２次元チップに埋め込んだＦＰＧＡを示す図である。
【図１６】図１６は、３次元ＦＰＧＡをｚ軸方向に隣接する基本ブロックを縦方向に並べて配置することで、２次元チップに埋め込んだＦＰＧＡを示す図である。
【図１７ａ】図１７ａは、図１１の埋め込み方法を実現するためのレイアウトタイルを示した図である。
【図１７ｂ】図１７ｂは、図１１のＦＰＧＡを構成する１つの領域を示した図である。
【図１８ａ】図１８ａは、図１６の埋め込み方法を実現するためのレイアウトタイルを示した図である。
【図１８ｂ】図１８ｂは、図１６のＦＰＧＡを構成する１つの領域を示した図である。
【図１９ａ】図１９ａは、図１２の埋め込み方法を実現するためのレイアウトタイルを示した図である。
【図１９ｂ】図１９ｂは、図１２のＦＰＧＡを構成する１つの領域を示した図である。
【図２０】図２０は、５次元又は６次元のスイッチのトポロジーを２次元チップに埋め込んで構成されるＦＰＧＡを示した図である。
【図２１ａ】図２１ａは、２次元のスイッチトポロジーを示した図である。
【図２１ｂ】図２１ｂは、３次元のスイッチトポロジーを示した図である。
【図２１ｃ】図２１ｃは、４次元のスイッチトポロジーを示した図である。
【図２２】図２２は、ＬＵＴ集積度に対する基本ブロックあたりの所要スイッチ数を示したグラフである。
【図２３】図２３は、３次元チップにより構成されるＦＰＧＡを示した図である。
【発明を実施するための最良の形態】
【００５２】  以下、本発明の実施の形態について図を用いて説明する。ただし、本発明はこれらの具体例に限定されるものではない。【００５３】  なお、以下の説明では、上記背景技術の欄において図５、図６ａ、図６ｂ、図７に基づいて説明した３次元ＦＰＧＡの構成部材と同等の機能を有する構成部材については、同一の符合を用いることとし、その説明を省略する。また、以下において新たに説明する構成部材についても、互いに同等の機能を有する構成部材については、同一の符合を用いることとし、重複する説明を省略する。【００５４】  〔３次元ＦＰＧＡを２次元チップに埋め込んだ構成（１）〕
図８は、３行３列４層からなる３次元ＦＰＧＡを２次元チップに埋め込んで構成されるＦＰＧＡ８を示している。このＦＰＧＡ８では、互いに合同の関係にある矩形の領域をそれぞれ有する第１層８０１〜第４層８０４が、２次元的に時計回りに配置されている。なお、図８のＦＰＧＡ８では、第１層８０１〜第４層８０４は、２次元的に配置されているため実際には層状に配置されているわけではないが、説明の便宜上、これらを「層」と称している。層間を接続する配線チャネル５０６は、第１層８０１と第２層８０２との間、第２層８０２と第３層８０３との間、第３層８０３と第４層８０４との間、というように隣接する層間を、各層内で同じ位置（すなわち同一行かつ同一列）にある基本ブロック同士を接続する。より多くの層からなる場合も、各層を２次元平面状に並べて同様に接続すればよい。その際、チップの縦横比が小さくなるように、各層をおりたたんで並べることが望ましい。また、図８の埋め込み方法において、第１層８０１と第４層８０４とは３次元ＦＰＧＡの垂直方向の配線チャネルの端点であるが、ＦＰＧＡ８においては第１層８０１と第４層８０４とが隣接しているため、これらの間を容易に接続できる。【００５５】  ここで、ＦＰＧＡ８を構成する各基本ブロック５１０は、図５に示した基本ブロックと同じく、スイッチマトリックス５０１、可変論理素子及び記憶素子からなる論理ブロック５０２、スイッチマトリックス５０１と論理ブロック５０２とを接続する配線５０５、及び配線チャネル５０３・５０４・５０６を備えている。但し、ＦＰＧＡ８では、配線チャネル５０６は、２次元的に配置された第１層８０１〜第４層８０４の間を接続するものであるため、チップに対して水平方向に延びている。【００５６】  図９は、３行３列４層からなる３次元ＦＰＧＡを２次元チップに埋め込むＦＰＧＡ８において、第１層８０１と第４層８０４との間を配線チャネル９０１により接続し、垂直方向の配線がループする形に構成されたＦＰＧＡ９を示している。このようにすることで、チップ上の配線領域を図８の構造より有効に使うことができる。【００５７】  以上のように、ＦＰＧＡ８・９では、基本ブロックが行列状に配置されるとともに、行方向及び列方向に沿って順次接続されてなる第１層８０１〜第４層８０４（これらをそれぞれ「基本ブロック行列」と称する）を構成している。したがって、各基本ブロック行列は、従来の２次元ＦＰＧＡに備わっていた２次元配列状に並べられた基本ブロックに相当する機能を果たすことができる。【００５８】  そして、上記複数の基本ブロック行列の間において互いに対応する行列位置（同一行かつ同一列）に位置する基本ブロック同士が互いに接続されている。これにより、ＦＰＧＡ８・９では、従来の３次元ＦＰＧＡと同じく、従来の２次元ＦＰＧＡと比較して、基本ブロック間の接続をより少ない数のスイッチマトリックスを経由により実現することができるようになるとともに、論理密度の向上を図ることができる。【００５９】  さらに、上記複数の基本ブロック行列は平面的に配置されている。これにより、ＦＰＧＡ８・９では、形成が困難である微細な垂直方向の配線を形成する必要がなくなることから、従来の３次元��ＰＧＡと比較して製造が容易になるとともに、従来の３次元ＦＰＧＡにおける放熱性の問題も抑制することができる。【００６０】  以上のように、ＦＰＧＡ８・９では、従来の２次元及び３次元ＦＰＧＡそれぞれの問題点を解消することができる。【００６１】  なお、ＦＰＧＡ８・９では、上記各基本ブロック行列を構成する基本ブロックは、所定の領域（第１層８０１〜第４層８０４）にひとまとまりに配置されている。【００６２】  また、ＦＰＧＡ８・９では、上記複数の基本ブロック行列の間において互いに対応する行列位置に位置する基本ブロック同士の接続は、１次元的な接続である。この構成では、各基本ブロック行列内における２次元的な接続に対して、１次元的な接続が加わることにより、基本ブロック同士を３次元的に接続することができる。【００６３】  〔３次元ＦＰＧＡを２次元チップに埋め込んだ構成（２）〕
図１０は、図８のＦＰＧＡ８又は図９のＦＰＧＡ９のように層単位で埋め込む例とは異なり、各層で同じ位置（すなわち同一行かつ同一列）にある基本ブロックを１つの領域にまとめて２次元配列状に並べる埋め込み方法により構成されるＦＰＧＡ１０を示している。このＦＰＧＡ１０では、例えば、領域１０１０は、各層で右上角に存在した基本ブロックを並べたものである。つまり、基本ブロック１００１〜１００４は、図８のＦＰＧＡ８における第１層８０１〜第４層８０４それぞれにおける右上角の基本ブロック５１０が、領域１０１０内において２次元的に時計回りに配置されたものであり、隣接する層間を接続する配線チャネル５０６が存在する。より多くの層からなる場合、領域１０１０内部の基本ブロックはチップの縦横比が小さくなるように、折りたたんで並べる。【００６４】  図１１は、図９の埋め込み方法と同様、配線チャネル１１０１により基本ブロック１００１と基本ブロック１００４との間を接続し、垂直方向の配線チャネルをループさせる形に形成したＦＰＧＡ１１を示している。このようにすることでチップ上の配線領域を図１０の構造よりも有効に利用することができる。【００６５】  図１０及び図１１のような埋め込み方法は、図８及び図９のような埋め込み方法に比較して、配線密度が増加しにくいという利点がある。この利点により配線によりチップ面積が増大するという問題が避けられる。【００６６】  以上のように、ＦＰＧＡ１０・１１では、領域１０１０において例えば右上の基本ブロックに注目し、他の領域についても同じく右上の基本ブロックに注目すると、これら注目した基本ブロックは、行列状に配置されるとともに、行方向及び列方向に沿って順次接続されていることになる。このことは、各領域における右下、左上、及び左下それぞれの基本ブロックに注目した場合でも同じである。このように、行列状に配置されるとともに、行方向及び列方向に沿って順次接続されている基本ブロックの集合をそれぞれ「基本ブロック行列」と称すると、各基本ブロック行列は、従来の２次元ＦＰＧＡに備わっていた２次元配列状に並べられた基本ブロックに相当する機能を果たすことができる。【００６７】  そして、上記複数の基本ブロック行列の間において互いに対応する行列位置（同一行かつ同一列）に位置する基本ブロック同士が互いに接続されている。これにより、ＦＰＧＡ１０・１１では、従来の３次元ＦＰＧＡと同じく、従来の２次元ＦＰＧＡと比較して、基本ブロック間の接続をより少ない数のスイッチマトリックスを経由により実現することができるようになるとともに、論理密度の向上を図ることができる。【００６８】  さらに、上記複数の基本ブロック行列は平面的に配置されている。これにより、ＦＰＧＡ１０・１１では、形成が困難である微細な垂直方向の配線を形成する必要がなくなることから、従来の３次元ＦＰＧＡと比較して製造が容易になるとともに、従来の３次元ＦＰＧＡにおける放熱性の問題も抑制することができる。【００６９】  以上のように、ＦＰＧＡ１０・１１では、従来の２次元及び３次元ＦＰＧＡそれぞれの問題点を解消することができる。【００７０】  なお、ＦＰＧＡ１０・１１では、上記複数の基本ブロック行列の���において互いに対応する行列位置に位置する基本ブロックは、所定の領域（例えば領域１０１０）にひとまとまりに配置されている。【００７１】  また、ＦＰＧＡ１０・１１では、上記複数の基本ブロック行列の間において互いに対応する行列位置に位置する基本ブロック同士の接続は、１次元的な接続である。この構成では、各基本ブロック行列内における２次元的な接続に対して、１次元的な接続が加わることにより、基本ブロック同士を３次元的に接続することができる。【００７２】  〔３次元ＦＰＧＡを２次元チップに埋め込んだ構成（３）〕
図１５は、３行５列４層からなる３次元ＦＰＧＡを、２次元チップに埋め込むＦＰＧＡ１５を示している。図１０のＦＰＧＡ１０と同様、各層で同じ位置にある基本ブロックを１つの領域にまとめて配置するが、ＦＰＧＡ１０とは異なり、ＦＰＧＡ１５では各層で同じ位置にある基本ブロック１００１〜１００４を領域（ｚ平面）１５１０内で縦方向に直線的に並べている。このようにすると、縦横比が大きくなり実装効率が悪くなるが、行数、層数を減らすことで縦横比を小さくすることが可能である。【００７３】  図１６は、図１５のＦＰＧＡ１５に対して、領域１５１０と領域１５２０との間を配線チャネル１６０１によって接続して構成したＦＰＧＡ１６を示している。このようにすることでチップ上の配線領域を図１５の構造よりも有効に利用することができる。【００７４】  以上のように、ＦＰＧＡ１５・１６では、領域１５１０において例えば一番上の基本ブロックに注目し、他の領域についても同じく一番上の基本ブロックに注目すると、これら注目した基本ブロックは、行列状に配置されるとともに、行方向及び列方向に沿って順次接続されていることになる。このことは、各領域における上から二番目、上から三番目、及び一番下それぞれの基本ブロックに注目した場合でも同じである。このように、行列状に配置されるとともに、行方向及び列方向に沿って順次接続されている基本ブロックの集合をそれぞれ「基本ブロック行列」と称すると、各基本ブロック行列は、従来の２次元ＦＰＧＡに備わっていた２次元配列状に並べられた基本ブロックに相当する機能を果たすことができる。【００７５】  そして、上記複数の基本ブロック行列の間において互いに対応する行列位置（同一行かつ同一列）に位置する基本ブロック同士が互いに接続されている。これにより、ＦＰＧＡ１５・１６では、従来の３次元ＦＰＧＡと同じく、従来の２次元ＦＰＧＡと比較して、基本ブロック間の接続をより少ない数のスイッチマトリックスを経由により実現することができるようになるとともに、論理密度の向上を図ることができる。【００７６】  さらに、上記複数の基本ブロック行列は平面的に配置されている。これにより、ＦＰＧＡ１５・１６では、形成が困難である微細な垂直方向の配線を形成する必要がなくなることから、従来の３次元ＦＰＧＡと比較して製造が容易になるとともに、従来の３次元ＦＰＧＡにおける放熱性の問題も抑制することができる。【００７７】  以上のように、ＦＰＧＡ１５・１６では、従来の２次元及び３次元ＦＰＧＡそれぞれの問題点を解消することができる。【００７８】  なお、ＦＰＧＡ１５・１６では、上記複数の基本ブロック行列の間において互いに対応する行列位置に位置する基本ブロックは、所定の領域（例えば領域１５１０）にひとまとまりに配置されている。【００７９】  また、ＦＰＧＡ１５・１６では、上記複数の基本ブロック行列の間において互いに対応する行列位置に位置する基本ブロック同士の接続は、１次元的な接続である。この構成では、各基本ブロック行列内における２次元的な接続に対して、１次元的な接続が加わることにより、基本ブロック同士を３次元的に接続することができる。【００８０】  〔４次元ＦＰＧＡを２次元チップに埋め込��だ構成〕
図１２は、４次元のスイッチのトポロジーを２次元チップに埋め込んで構成されるＦＰＧＡ１２を示している。このＦＰＧＡ１２は、４次元のトポロジーをもつスイッチマトリックス（後述する図１３参照）を備えた基本ブロック１２０５により構成されている。以下では、４次元に対応する４つの軸をｘ、ｙ、ｕ、ｖと表記する。図１２のＦＰＧＡ１２は、ｘ−ｙ方向に４×４、ｕ−ｖ方向に３×３の合計１４４の基本ブロックによって構成される。ここで、配線チャネル１２０１はｙ方向、配線チャネル１２０２はｘ方向、配線チャネル１２０３はｖ方向、配線チャネル１２０４はｕ方向の配線チャネルである。図１２では、１つのスイッチマトリックスの周辺の配線チャネルのみ示しているが、その他のスイッチマトリックスも同様である。ｘ、ｙ軸方向の配線チャネル１２０１・１２０２は、ｘ−ｙ平面（領域）１２０６内のスイッチマトリックスを接続する。各ｘ−ｙ平面を２次元平面状に並べｕ−ｖ平面を形成する。ｕ−ｖ平面において隣接するｘ−ｙ平面の間は、ｕ−ｖ軸方向の配線チャネル１２０３・１２０４が接続する。つまり、配線チャネル１２０３・１２０４は、２つのｘ−ｙ平面間のスイッチマトリックスのうち、同じｘ−ｙ位置（すなわち同一行かつ同一列）にあるもの同士を接続する。【００８１】  図１３は、４次元のスイッチマトリックス１３のトポロジーを示している。図１３は、配線チャネル１２０４ａ、つまり、ｕ軸方向の配線チャネルの左側から、各軸方向の配線チャネル１２０１ａ・１２０１ｂ・１２０２ａ・１２０２ｂ・１２０３ａ・１２０３ｂ・１２０４ｂへの接続を示したものである。矢印は接続がある方向を示しており、各軸方向へ接続が存在する。ここでは１方向からの接続のみ示しているが、他の軸のどちら側から見た場合も同様である。このように４次元のスイッチマトリックス１３では、７方向の配線チャネルを接続するスイッチが存在するため、２次元や３次元のスイッチマトリックスに比較して、トラックあたりのスイッチ数が増加することになる。しかし、超大規模のＦＰＧＡにおいては、配線チャネルのトラック数の増加が少なくなり結果的にトランジスタ数を低減できる。【００８２】  図９や図１１においては、ｚ方向の配線チャネルの端同士をループする形で接続している。そのほかにも、図１２においては、ｕ−ｖ平面上で隣接するｘ−ｙ平面の境界で、ｘ、ｙ方向の配線チャネルの端同士を接続することができる。図１４は、ｘ−ｙ平面１２０６の境界と、ｘ、ｙ方向の配線チャネルを示しており、配線チャネル１４０１によってｘ、ｙ方向の配線チャネルの端同士が接続されている。どのような埋め込み方法でも、各軸方向の配線チャネルの端が近接している場合には、これを接続することで、あまりスイッチを増加させることなく、配線の柔軟性を高めることができる。【００８３】  以上のように、ＦＰＧＡ１２では、例えば領域１２０６において、基本ブロックが行列状に配置されるとともに、行方向及び列方向に沿って順次接続されている。さらにＦＰＧＡ１２では、上記領域１２０６と同じ構成の領域が３×３の行列状に配置されている。これら領域をそれぞれ「基本ブロック行列」と称すると、各基本ブロック行列は、従来の２次元ＦＰＧＡに備わっていた２次元配列状に並べられた基本ブロックに相当する機能を果たすことができる。【００８４】  そして、上記複数の基本ブロック行列の間において互いに対応する行列位置（同一行かつ同一列）に位置する基本ブロック同士が互いに接続されている。これにより、ＦＰＧＡ１２では、従来の３次元ＦＰＧＡと同じく、従来の２次元ＦＰＧＡと比較して、基本ブロック間の接続をより少ない数のスイッチマトリックスを経由により実現することができるようになるとともに、論理密度の向上を図ることができる。【００８５】  さらに、上記複数の基本ブロック行列は平面的に配置されている。これにより、ＦＰＧＡ１２では、形成が困難である微細な垂直方向の配線を形成する必要がなくなることから、従来の３次元ＦＰＧＡと比較して製造が容易になるとともに、従来の３次元ＦＰＧＡにおける放熱性の問題も抑制することができる。【００８６】  以上のように、ＦＰＧＡ１２では、従来の２次元及び３次元ＦＰＧＡそれぞれの問題点を解消することができる。【００８７】  なお、ＦＰＧＡ１２では、上記各基本ブロック行列を構成する基本ブロックは、所定の領域（例えば領域１２０６）にひとまとまりに配置されている。【００８８】  また、ＦＰＧＡ１２では、上記複数の基本ブロック行列の間において互いに対応する行列位置に位置する基本ブロック同士の接続は、ｕ、ｖ方向の２次元的な接続である。この構成では、各基本ブロック行列内におけるｘ、ｙ方向の２次元的な接続に対して、ｕ、ｖ方向の２次元的な接続が加わることにより、基本ブロック同士を４次元的に接続することができる。【００８９】  〔比較構成との対比〕
一般的なＦＰＧＡと同様に、各軸方向の配線チャネルに多種長の配線を混在させること、あるいは、各基本ブロック内部で、特許文献６，７，１１や特許文献４，１０に見られる階層構造を構成することもまた効果的である。【００９０】  これらの、３次元や４次元のスイッチのトポロジーを２次元に埋め込んだ構造は、サブリージョンとスーパーリージョンに分けると、特許文献６，７，１１や特許文献４，１０と同様に、階層構造とみなすこともできる。すなわち、図８、図９や図１２はｘ−ｙ平面方向に並ぶ基本ブロック（図８及び図９では第１〜第４層８０１〜８０４それぞれの内部に配置された基本ブロック、図１２では各領域１２０６の内部に配置された基本ブロック）をサブリージョンとする階層構造であり、図１０、図１１や図１５、図１６はｚ軸方向に並ぶ基本ブロック（図１０及び図１１では各領域１０１０の内部に配置された基本ブロック、図１５及び図１６では各領域１５１０の内部に配置された基本ブロック）をサブリージョンとした階層構造である。以下では、階層構造という観点から、本発明の独自性について述べる。【００９１】  特許文献６，７，１１では、サブリージョン内部の論理エレメント同士の接続や各論理エレメントからスーパーリージョンの配線チャネルへの接続も、すべての論理エレメントが等価に接続され、マッピングツールが論理エレメントのサブリージョン内部での配置を考慮する必要がなく、マッピングツールを簡単化できるという利点がある。しかし、サブリージョンのサイズを大きくすると、スイッチ数が大幅に増大する問題がある。【００９２】  特許文献４，１０では、サブリージョン内部は２次元配列状になっており、一見すると、図１２の様子に似ている。しかしながら、スーパーリージョンの配線チャネルはサブリージョンとサブリージョンの隙間に格子状に存在しており、サブリージョンからスーパーリージョンの配線チャネルへの接続はサブリージョンの辺縁部に限られている。この構造では、サブリージョンとスーパーリージョンの接続に多くのスイッチが必要となり、やはり、大規模なサブリージョンを構成するには不向きである。また、現在は多層配線が用いられるため、このようにスーパーリージョンの配線をサブリージョンの辺縁部に限定する利点はない。【００９３】  本発明の構造ではサブリージョン内部の各論理エレメント（基本ブロック）のそれぞれにスイッチマトリックスが存在し、これはスーパーリージョンのスイッチマトリックスも兼ねている。サブリージョン内部では、各軸方向で隣接する論理エレメントのスイッチマトリックス間にのみ接続があり、スーパーリージョンの配線チャネルも、各サブリージョン内で同じ位置に存在する論理エレメントのスイッチマトリックス間を接続するようになっており、サブリージョン間がより密に結合されるため、サブリージョンのサイズが大きくなってもスイッチ数が増加しにくい。【００９４】  意図的にサブリージョンとスーパーリージョンに分けることができないような埋め込み方法も考えられる。【００９５】  〔レイアウトタイルの構成〕
５次元以上のトポロジーを持つＦＰＧＡの２次元への埋め込みも３次元、４次元の埋め込みを応用すれば容易に実現できる。【００９６】  奇数次元トポロジーの２次元チップへの埋め込みは、レイアウトする上で困難が伴う。たとえば、３次元トポロジーの２次元チップへの埋め込み例においては、図１５及び図１６の埋め込み方法では同一のタイルを繰り返し並べることによって容易に実現できるが、図８及び図９並びに図１０及び図１１の埋め込み方法では若干困難である。【００９７】  なお、タイル又はレイアウトタイルとは、アレイを構成する単位矩形領域であり、基本ブロックを構成する回路を２次元矩形領域にレイアウトしたものである。【００９８】  図１７ａは、図１１に示したＦＰＧＡ１１の埋め込み方法を実現するための基本ブロックのレイアウトタイル１７０１を示している。図１７ｂは、レイアウトタイル１７０１と、それに似たレイアウトタイル１７０２〜１７０４を並べることにより形成される図１０の領域１０１０を示したものである。図１１の埋め込みは、図１７ｂに示した領域１０１０を２次元配列状に並べることで実現される。図１７ｂのレイアウトタイル１７０１〜１７０４は、それぞれ若干配線チャネル５０３・５０４の配線の並び方（レイアウト）が異なっており、それぞれの設計を微妙に変更する必要がある。アレイサイズを大きくすると、領域１０１０内部は１次元の接続を持つより多くの基本ブロックが折りたたまれて配置され、レイアウトタイルの設計が一層面倒になる。【００９９】  これに対して、図１８ａは、図１６に示したＦＰＧＡ１６の埋め込み方法を実現するための基本ブロックのレイアウトタイル１８０１を示している。図１８ｂは、レイアウトタイル１８０１を４つ並べることにより形成される図１６の領域１５１０を示したものである。図１６の埋め込みは、図１８ｂに示した領域１５１０を２次元配列状に並べることで実現される。ここでは、すべてのタイルが同一のレイアウトタイル１８０１を並べることで容易に実現できる。【０１００】  図１５及び図１６の埋め込みは同一のレイアウトタイルを並べることで実現できるが、縦横比を小さくするためには、図１５及び図１６の例ではｘ方向の基本ブロック数を多くし、ｙ、ｚ方向の基本ブロック数を少なくする必要がある。しかし、配線可能性の観点からは、各軸方向に並ぶ基本ブロックの数は同一、すなわち、立方体に近いことが好ましい。この点に関して、図１５及び図１６の埋め込み方法と、図１０及び図１１の埋め込み方法との中間的な埋め込み方法が考えられる。すなわち、領域１５１０内部を少ない回数折りたたみ、同時にｙ、ｚ方向の基本ブロック数を若干少なくすることで、チップ全体の縦横比を小さくし、かつ、立方体に近いアレイを作成する方法である。この場合、折りたたむ回数が少なくなるので、レイアウトタイルの設計は比較的容易になる。ただし、各軸方向の基本ブロック数、配線チャネルトラック数、領域１５１０内での折りたたみの回数、チップの縦横比など慎重に検討する必要がある。【０１０１】  一方、偶数次元トポロジーの２次元チップへの埋め込みは同一のタイルを繰り返し並べることで実現できる。【０１０２】  図１９ａは、図１２の４次元トポロ���ーの２次元チップへの埋め込み方法を実現するための基本ブロックのレイアウトタイル１９０１を示している。図１９ｂは、レイアウトタイル１９０１を４×４に並べることにより形成される図１２の領域１２０６を示したものである。また、図１２の埋め込み方法は、この領域１２０６を３×３に並べることで実現される。【０１０３】  図１９ａのレイアウトタイル１９０１は、特許文献１，２，５，８，９に見られる中間長線を混在した繰り返し可能なタイル構造に似ているが、上記各特許文献は、スイッチマトリックス内部のトポロジー（図１３参照）については言及していない。また、上記各特許文献中の実施例においては、いずれの場合も中間長配線と戻る方向の単一長配線の間に接続（図１３における１３０１）がなく４次元トポロジーとは異なる。【０１０４】  上記各特許文献では、中間長線を経て戻る方向のタイルには、中間長線を経由せずに単一長線を経由することで物理的に最短距離で接続できることから、戻り方向のスイッチは必要でない。しかしながら、中間長線をより長くする場合、中間長線の中間でスイッチマトリックスに接続することが好ましく、これによってスイッチ数は増加する。【０１０５】  一方、図１２において上記各特許文献の中間長線に相当すると考えられる配線チャネル１２０３・１２０４は、その端点でのみスイッチマトリックスに接続する。また、スイッチマトリックスにおいて各軸方向の配線が４次元トポロジーで接続されることによって配線可能性が著しく向上し、チャネルトラック数を大幅に削減できる。したがって、スイッチ数を大幅に削減できる。【０１０６】  上記実施例に、特許文献１，２，５，８，９に見られる中間長線（スイッチで分割されることなく軸方向に１つ以上の基本ブロックを隔てた長さをもつ配線）や長尺線（スイッチで分割されることなく軸方向にＦＰＧＡの全体を貫く長さをもつ配線）などのさまざまな長さの配線を各軸方向に混在することや、論理ブロックを特許文献６，７，１１や特許文献４，１０のように階層構造にすることもまた有効である。【０１０７】  〔シミュレーション結果〕
２〜４次元トポロジーを有するＦＰＧＡにベンチマーク回路とＣＡＤツールを用いてシミュレーションを行い、集積度と基本ブロックあたりの所要スイッチ数を調べた。【０１０８】  シミュレーションにおいては、基本ブロックには４入力のＬＵＴが一つある構造を想定するとともに、図２１ａ〜図２１ｃのスイッチトポロジーを想定した。ここで、図２１ａは２次元（図１ａ及び図１ｂに対応）、図２１ｂは３次元（図５、図６ａ及び図６ｂに対応）、図２１ｃは４次元（図１２及び図１３に対応）のスイッチトポロジーを示しており、各軸方向の配線の端点を白抜きの円で示し、白抜き円の間を結ぶ辺はスイッチの存在を示している。【０１０９】  図２２は、ＬＵＴ集積度に対する基本ブロックあたりの所要スイッチ数を示している。図２２において、２〜４次元トポロジーの曲線はシミュレーション結果を示しており、５次元トポロジーの曲線は２〜４次元の結果より予測したものを示している。図２２より、ＬＵＴ数が１〜２０では２次元、２０〜４００では３次元、４００〜６００００では４次元、６００００〜では５次元においてスイッチ数が最小となることがわかる。スイッチがパストランジスタであると想定すると、１トラックあたり、２次元トポロジーを有するＦＰＧＡではで６個、３次元では１５個、４次元では２７個のパストランジスタスイッチが必要となり、高次元になるほど必要となるスイッチ数は多くなる。しかし、集積度が高くなるにしたがって、多次元トポロジーを有するＦＰＧＡにおいて必要となる配線チャネルトラック数は２次元トポロジーを有するＦＰＧＡにおいて必要となる配線チャネルトラック数よりも格段に少なくなるため、高集積ＦＰＧＡにおいては多次元トポロジーが極めて有利となる。【０１１０】  〔５、６次元ＦＰＧＡを２次元チップに埋め込む手法〕
５次元以上のトポロジーの埋め込みは、３次元、４次元の埋め込み方法を応用することにより実現できる。【０１１１】  図２０は、５次元又は６次元のスイッチのトポロジーを２次元チップに埋め込んで構成されるＦＰＧＡ２０を示している。このＦＰＧＡ２０では、基本ブロック２００２を２次元配列状に並べた領域（サブリージョン）２００１を、さらに２次元配列状に並べることにより構成され、隣接する領域２００１内の同一位置に存在する基本ブロック間が配線チャネル２００３・２００４の２つの方向の配線チャネルで接続されている。【０１１２】  ここで、領域２００１の内部が図８〜１１、図１５又は図１６のように３次元トポロジーで接続されていれば、ＦＰＧＡ２０は、配線チャネル２００３・２００４に対応する２つの軸方向（次元）を追加した５次元トポロジーを有するＦＰＧＡとなる。また、領域２００１の内部が図１２のように４次元トポロジーで接続されていれば、ＦＰＧＡ２０は、配線チャネル２００３・２００４に対応する２つの軸方向（次元）を追加した６次元トポロジーを有するＦＰＧＡとなる。【０１１３】  〔３次元チップに埋め込む手法〕
３次元集積回路技術を適用することにより、４次元以上の多次元トポロジーを３次元チップに埋め込むことも可能である。【０１１４】  図２３は、３次元チップにより構成されるＦＰＧＡ２３を示している。ＦＰＧＡ２３では、基本ブロック２３０２を２次元配列状に並べた領域（サブリージョン）２３０１を多層に積み上げて、隣接するサブリージョン（層）間の同一位置に存在する基本ブロック間が１つの方向の配線チャネル２３０３で接続されている。領域２３０１内部が図８〜１１、１５又は１６のように３次元トポロジーで接続されていれば、ＦＰＧＡ２３は、配線チャネル２３０３に対応する１つの軸方向（次元）を追加した４次元トポロジーを有するＦＰＧＡとなる。また、領域２３０１の内部が図１２のように４次元トポロジーで接続されていれば、ＦＰＧＡ２３は、配線チャネル２２０３に対応する１つの軸方向（次元）を追加した５次元トポロジーを有するＦＰＧＡとなる。【０１１５】  〔変形例〕
なお、本実施形態では、本発明をＦＰＧＡに適用した場合について説明した。すなわち、本実施形態におけるＦＰＧＡは、多次元トポロジーを有するＦＰＧＡであり、多次元トポロジーを有するスイッチマトリックス（ＳＭ）と論理ブロック（ＬＢ）とを備えて構成される基本ブロックを有し、これらの基本ブロックを２次元又は３次元状に配列し、かつ、多次元トポロジーで接続したものである。【０１１６】  しかしながら、本発明は、ＦＰＧＡ以外にも適用することが可能である。すなわち、上記ＦＰＧＡにおける論理ブロックの代わりに加算器、乗算器、メモリなどの機能回路を含んで構成される、粗粒度プログラマブルデバイスへの適用も可能である。【０１１７】  この場合、論理ブロックを加算器、乗算器、メモリなどで置き換え、それらの間を多次元トポロジーで接続し、図８〜１２、１５、１６、２０、２３に示した方法にしたがって２次元平面又は３次元空間に埋め込むことで実現できる。【０１１８】  また、部分的にＦＰＧＡや粗粒度プログラマブルデバイスを有する半導体集積回路にも本発明を適用可能である。【０１１９】  このように、本発明は、複数の基本ブロックと、各基本ブロックに設けられたスイッチマトリックスのようなスイッチング素子とを備え、基本ブロック同士がそれぞれのスイッチング素子を介して接続されているプログラマブルデバイスに適用することができる。【０１２０】  また、基本ブロック間は基本的には金属配線で接続することを想定しているが、部分的に、又はすべてを光配線で接続することも考えられる。【０１２１】  以上において説明した本実施形態のＦＰＧＡについては、その特徴点を次のように表現することができる。【０１２２】  第１に、基本ブロックのスイッチマトリックスには、ｎ（ｎは自然数）本の配線束の一方の端が接続されており、それぞれの配線束の他方の端はそれぞれ異なる他の基本ブロックのスイッチマトリックスに接続されており、かつ、各スイッチマトリックスにおいては、ｊ＝ｋを除くｊ，ｋ＝１〜ｎのすべてのｊ，ｋの組合せに対して、第ｊの配線束を構成する配線の少なくとも１本から、第ｋの配線束を構成する配線の少なくとも１本に信号を伝搬するためのスイッチが存在する構造を有している。【０１２３】  第２に、図１０及び図１１に示したＦＰＧＡ１０・１１については、上記第１の特徴点において、ｎ＝６であり、第１及び第２の配線束はそれぞれ上及び下の方向に（ｌ−１）個（ｌ＞１）の基本ブロックを隔てて存在する基本ブロックのスイッチマトリックスに接続し、第３及び第４の配線束はそれぞれ右及び左の方向に（ｍ−１）個（ｍ＞１）の基本ブロックを隔てて存在する基本ブロックのスイッチマトリックスに接続し、ｉ，ｊを１以上の自然数とすると、（ｍ×ｉ）列（ｌ×（ｊ−１）＋２ｋ−１）行（但し、１≦ｋ＜（ｌ＋１）／２）に位置する基本ブロックの第５及び第６の配線束はそれぞれ左及び上方向に隣接する基本ブロックのスイッチマトリックスに接続し、（ｍ×（ｉ−１）＋１）列（ｌ×（ｊ−１）＋２ｋ）行（但し、１≦ｋ＜ｌ／２）に位置する基本ブロックの第５及び第６の配線束はそれぞれ右及び上方向に隣接する基本ブロックのスイッチマトリックスに接続し、（ｍ×ｉ）列（ｌ×��ｊ−１）＋２ｋ）行（但し、１≦ｋ≦ｌ／２）に位置する基本ブロックの第５及び第６の配線束はそれぞれ左及び下方向に隣接する基本ブロックのスイッチマトリックスに接続し、（ｍ×（ｉ−１）＋１）列（ｌ×（ｊ−１）＋２ｋ＋１）行（但し、１≦ｋ≦（ｌ−１）／２）に位置する基本ブロックの第５及び第６の配線束はそれぞれ右及び下方向に隣接する基本ブロックのスイッチマトリックスに接続し、これら以外の位置の基本ブロックの第５及び第６の配線束はそれぞれ左及び右方向に隣接する基本ブロックのスイッチマトリックスに接続する構造を有している。【０１２４】  第３に、図１２に示したＦＰＧＡ１２については、上記第１の特徴点において、ｎ＝８であり、第１の配線束は上、第２の配線束は右、第３の配線束は下、第４の配線束は左の方向に隣接する基本ブロックのスイッチマトリックスに接続し、第５及び第７の配線束はそれぞれ上及び下方向に（ｌ−１）個（ｌ＞１）の基本ブロックを隔てて存在する基本ブロックのスイッチマトリックスに接続し、第６及び第８の配線束はそれぞれ右及び左の方向に（ｍ−１）個（ｍ＞１）の基本ブロックを隔てて存在する基本ブロックのスイッチマトリックスに接続する構造を有している。【０１２５】  第４に、図１５及び図１６に示したＦＰＧＡ１５・１６については、上記第１の特徴点において、第１の配線束は上、第２の配線束は右、第３の配線束は下、第４の配線束は左の方向に隣接する基本ブロックのスイッチマトリックスに接続し、第５及び第６の配線束はそれぞれ上及び下の方向に（ｌ−１）個（ｌ＞１）の基本ブロックを隔てて存在する基本ブロックのスイッチマトリックスに接続する構造を有している。
【産業上の利用可能性】
【０１２６】  本発明は、ＦＰＧＡに代表されるプログラマブルデバイスに適用することができる。
【図１ａ】
0004576538.tif 000002
【図１ｂ】
0004576538.tif 000003
【図２】
0004576538.tif 000004
【図３】
0004576538.tif 000005
【図４】
0004576538.tif 000006
【図５】
0004576538.tif 000007
【図６ａ】
0004576538.tif 000008
【図６ｂ】
0004576538.tif 000009
【図７】
0004576538.tif 000010
【図８】
0004576538.tif 000011
【図９】
0004576538.tif 000012
【図１０】
0004576538.tif 000013
【図１１】
0004576538.tif 000014
【図１２】
0004576538.tif 000015
【図１３】
0004576538.tif 000016
【図１４】
0004576538.tif 000017
【図１５】
0004576538.tif 000018
【図１６】
0004576538.tif 000019
【図１７ａ】
0004576538.tif 000020
【図１７ｂ】
0004576538.tif 000021
【図１８ａ】
0004576538.tif 000022
【図１８ｂ】
0004576538.tif 000023
【図１９ａ】
0004576538.tif 000024
【図１９ｂ】
0004576538.tif 000025
【図２１ａ】
0004576538.tif 000026
【図２１ｂ】
0004576538.tif 000027
【図２１ｃ】
0004576538.tif 000028
【図２２】
0004576538.tif 000029
【図２３】
0004576538.tif 000030
【図２０】
0004576538.tif 000031