Top > Search of Japanese Patents > (In Japanese)多次元のスイッチトポロジーを有する集積回路

(In Japanese)多次元のスイッチトポロジーを有する集積回路

Patent code P110005319
Posted date Aug 18, 2011
Application number P2006-512926
Patent number P4576538
Date of filing Mar 28, 2005
Date of registration Sep 3, 2010
International application number JP2005005755
International publication number WO2005109646
Date of international filing Mar 28, 2005
Date of international publication Nov 17, 2005
Priority data
  • P2004-170571 (May 12, 2004) JP
  • P2004-281528 (Sep 28, 2004) JP
Inventor
  • (In Japanese)松本 洋平
  • (In Japanese)正木 亮
Applicant
  • (In Japanese)国立大学法人岡山大学
Title (In Japanese)多次元のスイッチトポロジーを有する集積回路
Abstract (In Japanese)FPGAは配線アーキテクチャにきわめて多くのスイッチを必要とするため、論理密度や動作速度が低く、この傾向は高集積のFPGAほど顕著になる。3次元FPGAは動作速度や論理密度の改善が可能であることから注目されている。しかし、3次元集積プロセスは歩留まりが悪く、微細化が困難である。また、放熱が困難であることから積層数には限界がある。本発明は、3次元FPGAの利点を生かし、高速・高集積化され、かつ製造上の困難性が解消されたFPGAを提供する。本発明は、高次元FPGAのスイッチトポロジーをそれよりも低次元の集積回路に埋め込んで実現するFPGAの設計方法、高次元FPGAのスイッチトポロジーをそれより低次元の集積回路に埋め込んでなるFPGAからなる半導体集積回路を提案することにより課題を解決した。
Outline of related art and contending technology (In Japanese)

論理機能を再設定可能なFPGAとしては多数の製品が存在する。そのようなFPGAの構造の一例が特許文献1~11に記載されている。
【特許文献1】
日本国公表特許公報 特表平8-509344号公報(公開日:1996年10月1日)
【特許文献2】
日本国公表特許公報 特表2001-519133号公報(公開日:2001年10月16日)
【特許文献3】
米国特許第RE.34,363号(公開日:1993年8月31日)
【特許文献4】
米国特許第5,455,525号(公開日:1995年10月3日)
【特許文献5】
米国特許第5,682,107号(公開日:1997年10月28日)
【特許文献6】
米国特許第5,689,195号(公開日:1997年11月18日)
【特許文献7】
米国特許第5,883,526号(公開日:1999年3月16日)
【特許文献8】
米国特許第5,914,616号(公開日:1999年1月22日)
【特許文献9】
米国特許第5,942,913号(公開日:1999年8月24日)
【特許文献10】
米国特許第6,084,429号(公開日:2000年7月4日)
【特許文献11】
米国特許第6,300,794号(公開日:2001年10月9日)

特許文献1,2,5,8,9に見られるように、一般にFPGAは図1aのような基本ブロックを図4のように2次元配列状に並べた形で実現される。ここでは横方向をx方向、縦方向をy方向として説明する。一般に基本ブロックは、ブロック間を接続する配線チャネル106・107と、経路を指示するスイッチマトリックス101と、可変論理素子及び記憶素子からなる論理ブロック102とからなる。スイッチマトリックス101と論理ブロック102との間は配線105によって接続される。各基本ブロック間を接続する配線としては、隣接基本ブロック間の接続をする配線103や、2つ以上先の基本ブロックへ接続する配線104も存在する。

図2は、論理ブロック102の具体例であり、この例では可変論理素子としてのルックアップテーブル202、記憶素子としてのディーフリップフロップ203を備えた例を示している。ルックアップテーブル202はSRAMなどのメモリによって構成される。ルックアップテーブル202及びディーフリップフロップ203の出力信号はルックアップテーブル202の入力にフィードバックされ、同時に、配線105を通じてスイッチマトリックス101に出力される。また、基本ブロック外部からの信号もスイッチマトリックス101から配線105を通じてルックアップテーブル202に入力する。ルックアップテーブル202の入力部には、ルックアップテーブル202及びディーフリップフロップ203の出力フィードバックと、配線105からの基本ブロック外部からの信号とのうち1つを選択可能とするためのプログラマブルスイッチ201が備えられている。また、近年のFPGAでは、図2のような論理ブロックにキャリー計算装置を付加したブロックや、メモリや乗算器のみで構成されるブロックも存在する。

図1bはスイッチマトリックス101のトポロジーを示している。図1bではx方向の左側の配線チャネル106aから、各配線チャネル106b・105a・105bへ接続するスイッチの有無を矢印で示している。2次元のスイッチマトリックス101では3方向の配線チャネルへ接続するスイッチが必要となる。ここではx方向の左側の配線チャネル106aから他の配線チャネル106b・105a・105bへの接続のみを示しているが、いずれの方向の配線チャネルからも同様に各方向の配線チャネルに接続するスイッチが存在する。

スイッチマトリックス101には図3のようなスイッチが存在し、図1aに示した配線103や配線104等の上下左右の基本ブロックに接続する配線同士を短絡する。このスイッチは、マルチプレクサ301を備えている。マルチプレクサ301では、スイッチマトリックス101に接続する上下左右の基本ブロック間を接続する配線から引き出した配線303、及び論理ブロック102からの出力である配線105のうちのいくつかが入力・選択され、配線103や配線104などの基本ブロック間を接続する配線のうちの1本を駆動するトライステートバッファ302に接続される。トライステートバッファ302を用いることにより、出力先の配線(例えば配線103)を双方向の配線としてつかえるようになっている。なお、トライステートバッファ302の代わりに通常のバッファにする、あるいは、バッファを設けないスイッチの構成も存在する。スイッチはSRAMなどのメモリによって制御される。

ユーザは使用前にスイッチを制御するメモリや、ルックアップテーブルを構成するメモリに適切な値を設定することでFPGAに所望の動作をさせることができる。

半導体プロセス技術の微細化の進歩に伴い、カスタム設計が長期化・高コスト化している。これに対して、FPGAは再構成可能な性質により、論理機能の設計に必要な時間・コストが極めて少ない。また、FPGAは規則的な構造を有し、最新の半導体プロセス技術を比較的容易に適用できることから、今後も一層の集積度向上が期待できる。実際、FPGAではASIC(Application Specific Integrated Circuit、以下、「ASIC」と略記する)よりも新しい半導体プロセス技術が適用されている。したがって、初期の頃は試作などがFPGAの主な用途であったが、近年は性能向上により、DSPや小・中規模のASICの代替として注目され、その用途も広がっている。微細化が進むことによってFPGAの利点が大きくなることから、携帯電子機器やデジタル家電などの幅広い用途への拡大が期待できる。

しかし、FPGAにおける配線は多くのスイッチを通過することから、ASICに比較して極めて低速である。また、FPGAには非常に多くのスイッチが存在するため、ASICに比較して論理密度が極めて小さい。これらの問題は、集積度の向上とともに平均配線長や配線領域がより巨大化することになるため、一層大きくなる。したがって大規模FPGAを実現する際にはこれらの問題を根本的に解決する必要がある。

この状況を改善するために、図1aの配線104のような、いくつかのスイッチマトリックスを飛び越えて接続する配線が設けられている。この場合、その配線が飛び越えるスイッチマトリックスの数や、その配線の本数などの慎重な最適化が必要となる。

また、論理ブロック102間の配線を少なくするために論理ブロック102の粒度を大きくすることが考えられる。図2の論理ブロック102はルックアップテーブル202とフリップフロップ203との組である論理エレメントを2つ備えた形になっているが、より多く、例えば、4つの論理エレメントを備えたような論理ブロックを用意する。これは、特許文献6に見られる階層構造を持つFPGAと同様の構造である。ここでは、FPGA全体はスーパーリージョン、基本ブロックはサブリージョンと考える。スーパーリージョンは通常の2次元配列構造であるが、サブリージョン内部では図2のように各論理エレメントの間は等価に接続され、サブリージョンからスーパーリージョンの配線への接続は、各論理エレメントとスイッチマトリックスの間も等価に接続される。このような構造はサブリージョンを大きくすると、スイッチ数や、内部配線の遅延が急激に増加する問題が生ずる。

これに関しては、特許文献7のようにサブリージョン内部配線をセグメント化することや、特許文献11のようにサブリージョン内部に更なる階層化を施すことなどの改良案が存在する。

特許文献4などに見られる窓枠アーキテクチャも階層構造の一種であると考えられるが、ここでは、サブリージョン内の接続は2次元配列構造となっており、サブリージョンの辺縁部から、スーパーリージョンの配線チャネルに接続する。この構造ではサブリージョンを大きくすると、スーパーリージョンの配線が無駄に長くなるため、特許文献10のようにスーパーリージョンにおける配線をセグメント化する改良案が存在する。これらの階層構造を持つ配線アーキテクチャにおいても、サブリージョンの大きさ、サブリージョン内部の接続等慎重な最適化を要する。

一般的なFPGAはこれらの最適化が施されているが、FPGAの将来的な配線領域・遅延の増加に有効であるかどうかは明らかでない。そこで、FPGAの配線の問題を根本的に解決する目的で非特許文献1や非特許文献2などの3次元FPGAの提案が行われている。
【非特許文献1】
A.Rahman et al.,″Wiring Requirement and Three-Dimensional Integration of Field-Programmable Gate Array,″Proc.SLIP,2001.
【非特許文献2】
M.Leeser et al.,″Rothko:A Three-Dimensional FPGA,″IEEE Design and Test of Computers,Vol.15(no.1),pp.16-23,1998.

3次元FPGAの基本ブロックの例を図5に示す。ここでは、チップの横方向をx、縦方向をy、垂直方向をzとする。配線チャネル503・504は、それぞれx、y方向の配線チャネルであり、配線チャネル506はz方向の配線チャネルである。配線チャネル506は上層、または、下層のタイルのスイッチマトリックス501と接続する。なお、図5の基本ブロックにおけるスイッチマトリックス501及び論理ブロック502は、それぞれ図1の基本ブロックにおけるスイッチマトリックス101及び論理ブロック102に対応するものである。図6aは、スイッチマトリックス501に接続する配線の立体図を表している。図6bは、スイッチマトリックス501のトポロジーを示している。ここでは図が煩雑になるのを避けるため、x方向の左側の配線チャネル503aから各方向の配線チャネル503b・504a・504b・506a・506bへの接続のみを示しているが、いずれの方向からも同様で、各方向に接続するスイッチが存在する。したがって、3次元FPGAではスイッチマトリックスにおいては5方向に接続するスイッチが必要になる。スイッチマトリックス501の内部では、ある方向の配線チャネルから全ての方向の配線チャネルに接続できるようになっている。図7は各スイッチマトリックス501の3次元FPGAにおける接続を示している。

これによって、1つの基本ブロックに隣接する基本ブロックの数が増えるため、基本ブロック間の接続はより少ない数のスイッチマトリックスを経由することで実現でき配線遅延を削減することができる。また、FPGAにおいてスイッチの数は配線チャネルのトラック数(配線チャネルは配線を束ねたものであり、配線チャネルを構成する各配線をトラックと称し、その数が配線チャネルのトラック数である。)に比例する。2次元のスイッチマトリックスでは3方向の配線チャネルと接続があったが、3次元のスイッチマトリックスでは5方向と増えるためトラック当たりのスイッチ数が増加するが、大規模な3次元FPGAでは2次元FPGAに比較して配線チャネルに必要なトラック数が非常に少なくなるため、3次元FPGAの方の論理密度が高くなる。

非特許文献1では、20kゲート規模のFPGAを4層の3次元FPGAとして構成する場合、配線遅延が45~60%、論理集積度が20~40%改善するとしている。また、この改善度は論理集積度が向上するほど高くなることが示されており、大規模なFPGAほど3次元集積の効果が高いことがわかる。

しかし、微細な垂直方向の配線を作ることが難しいため、3次元FPGAを製造することは極めて困難であり、また、3次元集積回路は放熱が困難であり積層可能な層数に限りがあることから、将来的に十分な集積度の3次元FPGAを実現することは不可能である。

Field of industrial application (In Japanese)

本発明は、論理機能を再設定可能なフィールドプログラマブルゲートアレー(Field Programmable Gate Array、以下、「FPGA」と略記する)の配線アーキテクチャに係り、多次元のスイッチトポロジーを有する配線アーキテクチャ及びかかる配線アーキテクチャを有する集積回路に関するものである。また、本発明は、複数の基本ブロックと、各基本ブロックに設けられたスイッチング素子とを備え、基本ブロック同士がそれぞれのスイッチング素子を介して接続されているプログラマブルデバイスに関するものである。

Scope of claims (In Japanese)
【請求項1】
 
n次元FPGAのスイッチトポロジーをm次元(m、nは自然数であり、m<n、かつ、4≦n)の集積回路に埋め込んで実現するFPGAの設計方法。

【請求項2】
 
m=2、n=4である請求項1の設計方法。

【請求項3】
 
n次元FPGAのスイッチトポロジーをm次元(m、nは自然数であり、m<n、かつ、4≦n)の集積回路に埋め込んでなるFPGAからなる半導体集積回路。

【請求項5】
 
m=2、n=4である請求項3の半導体集積回路。

【請求項6】
 
各軸方向の配線チャネルが多種長の配線を含むFPGAからなる請求項3の半導体集積回路。

【請求項7】
 
各軸方向の配線チャネルが長尺の配線を含むFPGAからなる請求項3の半導体集積回路。

【請求項8】
 
近接する各軸方向の配線チャネルの端点同士を接続してなるFPGAからなる請求項3の半導体集積回路。

【請求項9】
 
各基本ブロックが階層構造を持つFPGAからなる請求項3の半導体集積回路。

【請求項10】
 
3次元FPGAのスイッチトポロジーを2次元の集積回路に埋め込んでなるFPGAからなる半導体集積回路であって、
同一x-y位置に存在する基本ブロックを1つのサブリージョンとして2次元状に形成し、z方向の接続を施し、これらのサブリージョンを2次元配列状に並べ、横方向に並ぶサブリージョンの同一z位置に存在する基本ブロック間にx方向の接続を、縦方向に並ぶサブリージョンの同一z位置に存在する基本ブロック間にy方向の接続を施してなるFPGAからなる半導体集積回路。

【請求項11】
 
同一u-v位置に存在する基本ブロックを1つのサブリージョンとして2次元配列状に形成し、横方向に並ぶ基本ブロック間にx方向の接続を、縦方向に並ぶ基本ブロック間にy方向の接続を施し、これらのサブリージョンを2次元配列状に並べ、横方向に並ぶサブリージョンの同一x-y位置に存在する基本ブロック間にu方向の接続を、縦方向に並ぶサブリージョンの同一x-y位置に存在する基本ブロック間にv方向の接続を施してなるFPGAからなる請求項5の半導体集積回路。

【請求項12】
 
各サブリージョンにおいて、z方向の配線チャネルの下端と上端を接続してなるFPGAからなる請求項10の半導体集積回路。

【請求項13】
 
サブリージョンをz方向に隣接する基本ブロック同士が隣接するようにならべ2次元状に形成してなるFPGAからなる請求項10の半導体集積回路

【請求項14】
 
第1のサブリージョンのy方向の配線チャネルの下端と、第1のサブリージョンの下方向に隣接する第2のサブリージョンのy方向の配線チャネルの上端を接続してなるFPGAからなる請求項11の半導体集積回路。

【請求項15】
 
第1のサブリージョンのx方向の配線チャネルの右端と、第1のサブリージョンの右方向に隣接する第2のサブリージョンのx方向の配線チャネルの左端を接続してなるFPGAからなる請求項11の半導体集積回路

【請求項16】
 
サブリージョンを、基本ブロックを縦方向に直線的に並べることによって形成してなるFPGAからなる請求項13の半導体集積回路。

【請求項17】
 
サブリージョンを、基本ブロックを少なくとも1度z軸を折り曲げて並べることによって形成してなるFPGAからなる請求項13の半導体集積回路。

【請求項18】
 
第1のサブリージョンのz方向の配線チャネルの下端と、下方向に隣接する第2のサブリージョンのz方向の配線チャネルの上端を接続してなるFPGAからなる請求項16の半導体集積回路

【請求項21】
 
複数の基本ブロックと、前記各基本ブロックに設けられたスイッチング素子とを備え、前記基本ブロック同士がそれぞれのスイッチング素子を介して接続されているプログラマブルデバイスにおいて、
前記複数の基本ブロックのうちの少なくとも一部のものは、行列状に配置されるとともに、行方向及び列方向に沿って順次接続されてなる基本ブロック行列を複数構成しており、
前記複数の基本ブロック行列の間において互いに対応する行列位置に位置する基本ブロック同士が互いに接続されており、
前記複数の基本ブロック行列は平面的に配置されているとともに、
前記複数の基本ブロック行列の間において互いに対応する行列位置に位置する基本ブロックは、所定の領域にひとまとまりに配置されているプログラマブルデバイス。

【請求項22】
 
前記複数の基本ブロック行列の間において互いに対応する行列位置に位置する基本ブロック同士の接続は、1次元的な接続である請求項21のプログラマブルデバイス。

【請求項23】
 
複数の基本ブロックと、前記各基本ブロックに設けられたスイッチング素子とを備え、前記基本ブロック同士がそれぞれのスイッチング素子を介して接続されているプログラマブルデバイスにおいて、
前記複数の基本ブロックのうちの少なくとも一部のものは、行列状に配置されるとともに、行方向及び列方向に沿って順次接続されてなる基本ブロック行列を複数構成しており、
前記複数の基本ブロック行列の間において互いに対応する行列位置に位置する基本ブロック同士が互いに接続されており、
前記複数の基本ブロック行列は平面的に配置されているとともに、
前記複数の基本ブロック行列の間において互いに対応する行列位置に位置する基本ブロック同士の接続は、2次元的な接続であるプログラマブルデバイス。

【請求項24】
 
前記各基本ブロック行列を構成する基本ブロックは、所定の領域にひとまとまりに配置されている請求項23のプログラマブルデバイス。
IPC(International Patent Classification)
F-term
State of application right Registered
(In Japanese)特許内容に関しての問い合せ窓口は岡山大学連携機構知的財産部門です。
技術移転に関しては岡山TLOが窓口になります。


PAGE TOP

close
close
close
close
close
close
close