JPH10501934A - プログラム可能な論理回路用のアーキテクチャおよび相互接続機構 - Google Patents

プログラム可能な論理回路用のアーキテクチャおよび相互接続機構

Info

Publication number
JPH10501934A
JPH10501934A JP7527117A JP52711795A JPH10501934A JP H10501934 A JPH10501934 A JP H10501934A JP 7527117 A JP7527117 A JP 7527117A JP 52711795 A JP52711795 A JP 52711795A JP H10501934 A JPH10501934 A JP H10501934A
Authority
JP
Japan
Prior art keywords
programmable
lines
level
interconnect
logic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP7527117A
Other languages
English (en)
Other versions
JP3581152B2 (ja
Inventor
ティン,ベンジャミン・エス
Original Assignee
ビィティアール・インコーポレーテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ビィティアール・インコーポレーテッド filed Critical ビィティアール・インコーポレーテッド
Publication of JPH10501934A publication Critical patent/JPH10501934A/ja
Application granted granted Critical
Publication of JP3581152B2 publication Critical patent/JP3581152B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17736Structural details of routing resources
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17704Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form the logic functions being realised by the interconnection of rows and columns
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17724Structural details of logic blocks
    • H03K19/17728Reconfigurable logic blocks, e.g. lookup tables
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/1778Structural details for adapting physical parameters
    • H03K19/17796Structural details for adapting physical parameters for physical disposition of blocks

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Logic Circuits (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

(57)【要約】 FPGAは、入力信号上の論理関数を実行するいくつかのセルを備える。プログラム可能な内部接続部は、論理クラスタに属するセルの各出力と他の各セルの少なくとも1つの入力を接続できるようにする。プログラム可能な1組のブロック・コネクタを使用して、論理クラスタどうしを接続することができ、かつ階層ルーチング・ネットワークにアクセスすることができる。一様に分散された第1のルーチン・ネットワーク線層を使用して、数組のブロック・コネクタどうしが接続される。一様に分散された第2のルーチング・ネットワーク線層を実施して、それぞれの異なる第1のルーチング・ネットワーク線層どうしを接続することができる。スイッチング・ネットワークを使用して、第1の層に対応するブロック・コネクタとルーチング・ネットワーク線を接続することができる。他のスイッチング・ネットワークによって、第1の層に対応するルーチング・ネットワーク線と第2の層に対応するルーチング・ネットワーク線を接続することができる。一様に分散された追加ルーチング・ネットワーク線層を実施して、それぞれの異なる前のルーチング・ネットワーク線層どうしを接続することができる。

Description

【発明の詳細な説明】 プログラム可能な論理回路用のアーキテクチャおよび相互接続機構関連出願の相互参照 本出願は、1993年8月3日に出願され本発明の出願人に譲渡された米国特 許出願第08/101197号の一部継続出願(CIP)である。発明の分野 本発明は、プログラム可能な論理回路の分野に関する。詳細には、本発明は、 プログラム可能な論理回路用のアーキテクチャおよび相互接続(配線)機構に関 する。発明の背景 集積回路(IC)は、初めて導入されたときには極めて高価であり、機能が限 られていた。半導体技術の急速な進歩によって、コストが大幅に低減され、同時 にICチップの性能が向上した。しかし、専用カスタム構成IC用の設計、レイ アウト、製造方法は、依然として非常にコストがかかる。これは特に、少量のカ スタム設計ICしか製造しない例でそうである。さらに、ターンアラウンド時間 (すなわち、最初の設計から最終製品までの時間)は、特に複雑な回路設計では 、非常に長くなることが多い。電子機器およびコンピュータ製品の場合、最も早 く市場に出すことが重大である。さらに、カスタムICの場合、最初の設計に変 更を加えることはかなり困難である。必要な変更を加えるには時間、労力、費用 がかかる。 カスタムICに関連する欠点に鑑みて、フィールドプログラマブルゲートアレ イ(FPGA)は多くの場合に魅力的な解決策を与える。FPGAは基本的に、 標準高密度オフザシェルフICであり、ユーザによって所望の構成にプログラム することができる。まず回路設計者が、所望の論理機能を定義し、FPGAが、 それに応じて入力信号を処理するようにプログラムされる。それによって、FP GA実施態様を迅速にかつ効率的に設計し、検証し、改訂することができる。F PGAは、論理密度要件および生産量に応じて、コストおよび市場時間の点で優 れた代替策である。 通常のFPGAは基本的に、構成可能な論理ブロックの内側マトリックスを囲 む外側入出力ブロック・リングからなる。FPGAの周辺に存在する入出力ブロ ックは、ユーザ・プログラム可能であり、そのため、各ブロックが入力または出 力になるように独立にプログラムすることができ、あるいは各ブロックは三状態 可能であってもよい。各論理ブロックは通常、プログラム可能な組合せ論理・記 憶レジスタからなる。組合せ論理回路は、入力変数に対してブール関数を実行す るために使用される。多くの場合、レジスタは、論理ブロック入力から直接ロー ドされ、あるいは組合せ論理回路からロードすることもできる。 相互接続資源は、論理ブロック・マトリックスの行と列との間と、論理ブロッ クと入出力ブロックとの間のチャネルを占有する。このような相互接続資源は、 チップ上の指定された2つの点の間の相互接続を制御する融通性を与える。通常 、論理ブロック間の行および列内では、金属線網が水平方向および垂直方向へ延 びる。プログラム可能なスイッチによって、論理ブロックおよび入出力ブロック の入力および出力がこのような金属線に接続される。行と列の交差点上にあるク ロスポイント・スイッチおよび相互接続部を使用して、信号がある線から他の線 に切り替えられる。多くの場合、長い線は、チップの全長または幅に沿って延ば すために使用される。 入出力ブロック、論理ブロック、それらのそれぞれの相互接続部の機能はすべ てプログラムすることができる。通常、これらの機能はオンチップ・メモリに記 憶されている構成プログラムによって制御される。構成プログラムは、電源オン 時またはコマンド時にメモリから自動的にロードされ、あるいはシステム初期設 定の一部としてマイクロプロセッサによってプログラムされる。多くの場合、長 い線は、チップの全長または幅に沿って延ばすために使用される。 FPGAの概念は60年代に、下記の文献でセルおよびセルラ・アレイの概念 を構成可能な装置として説明したMinnickによって要約された。Minn ick,R.C.and Short,R.A.著「Cellular Lin ear−Input Logic,Final Report」SRI Pro ject 4122,Contract AF 19(628)−498, S tanford Research Institute,Menlo Par k,California,AFCRL 64−6,DDC No.AD433 802(1964年2月);Minnick,R.C.著「Cobweb Ce llular Arrays」Proceedings AFIPS 1965 Fall Joint Computer Conference,第27巻 ,第1部,327ないし341ページ(1965年);Minnick,R.C 等著「Cellular Logic, Final Report,」SRI Project 5087,Contract AF 19(628)−42 33,Stanford Research Institute,Menlo Park,California,AFCRL 66−613(1966年4 月);Minnick,R.C.著「A Survey of MIcroce llular Research」Journal of the Assoc iation for Computing Machinery,第14巻, 第2号,203ないし241ページ(1967年4月)。Minnickは、装 置間の相互接続部をイネーブルするメモリ・ベース(たとえば、RAMベース、 またはヒューズ・ベース、またはアンチフェーズ・ベース)の手段だけでなく、 近傍のセル間の直接接続と、他のルーチング技術としてのバス接続の使用の両方 も論じた。Spandorfer,L M.著「Synthesis of L ogic Function on an Array of Integra ted Circuits」(Stanford Research Inst itute,Menlo Park,Calif.,Contract AF1 9(628)2907,AFCRL64−6,DDC No.AD433802 (1965年11月))では、メモリ手段を通じてプログラムできる2本の相互 接続線と、隣接する近傍セル相互接続部とを切り替える手段として相補MOS二 方向パスゲートを使用することが論じられた。Wahlstrom,S.E.著 「Programmable Logic Arrays−Cheaper b y the Millions」(第40巻,第25号11,90ないし95 ページ(1967年12月))には、隣接するセル間の直接接続とデータ・バス のネットワークの両方を含む同じセルの二次元アレイの、RAMベースの再構成 可能な論理アレイが記載されている。 Shoup,R.G.著「Programmable Cellular L ogic Arrays」(博士論文,Carnegie−Mellon Un iversity,Pittsburgh,PA(1970年3月))では、プ ログラム可能なセルラ論理アレイが論じられ、Minnickの同じ概念および 用語が繰り返され、Wahlstromのアレイが認められている。Shoup の論文では、近傍接続の概念が簡単な2入力1出力最近近傍接続から8近傍2方 向接続へ拡張されている。Shoupはさらに、バスを相互接続構造の一部とし て使用してアレイのパワーおよび融通性を向上させることを説明した。バスを使 用して、過度に長い距離にわたり、あるいは不都合な方向へ信号をルーチングし 、通常の近傍接続を行うことができる。これは、アレイの外部からの入力および 出力を内部セルに渡すうえで特に有用である。 米国特許第4020469号では、それ自体をプログラムし、試験し、修理す ることができるプログラム可能な論理アレイが論じられた。米国特許第4870 302号では、近傍直接相互接続を使用せず、すべてのプログラム化接続が、チ ャネル化アーキテクチャ中の異なる3組のバスを使用することによって行われる 粗粒アーキテクチャが紹介された。(構成可能論理ブロックまたはCLBと呼ば れる)粗粒セルは、RAMベースの論理テーブル参照組合せ論理回路とフリップ フロップの両方をCLB内部に含み、この場合、CLB内部で使用できる機能に ユーザ定義論理をマップしなければならない。米国特許第4935734号では 、各セル内部のNAND、またはNOR、または同様なタイプの簡単な論理機能 として定義された簡単な論理機能セルが紹介された。この相互接続機構は、直接 近傍・方向バス接続によるものである。米国特許第4700187号および第4 918440号では、排他的論理和および論理積が機能し、セル内でレジスタ・ ビットが使用できかつ選択できるさらに複雑な論理機能セルが定義された。好ま しいこの接続方式は、直接近傍接続によるものである。二方向バスを接続として 使用することも含まれる。 現行のFPGA技法は、いくつかの欠点を有する。これらの問題は、製造業者 によって与えられたチップ上で多数のトランジスタを使用できる場合に回路利用 度が低くなることによって具体化される。回路利用度は、3つの要因の影響を受 ける。トランジスタまたは密粒セル・レベルでの第1の問題は、ユーザによって 容易に使用できる基本論理要素の機能および融通性である。第2の問題は、第1 の論理要素を使用し、最小限の回路面積を用いて意味のあるマクロ論理機能を容 易に形成できるかどうかである。最後の要因は、チップ・レベル設計を効率的に 実施するためのそのようなマクロ論理機能の相互接続である。前述のような密粒 セル・アーキテクチャは、基本論理要素レベルで容易に使用でき融通性に富む論 理機能を設計者に与えた。 しかし、密で複雑なマクロ関数およびチップ・レベル・ルーチングでは、多数 の信号をセルの出力から他のセルの入力に接続するのに必要な相互接続資源がす ぐに使い尽くされる恐れがあり、このような資源の追加は、シリコン面積の点で 非常にコストがかかる。したがって、密粒アーキテクチャ設計では、大部分のセ ルが、アクセス不能であるために未使用のままになり、あるいはセルが論理回路 ではなく相互接続線として使用される。これによって、論理回路の利用度が低く なるだけでなく、ルーチング遅延が大幅に延び、あるいは過度の量のルーチング 資源が追加され、回路の寸法が大幅に増大する。粗粒アーキテクチャを広範囲の ルーチング・バスに結合することによって、CLBの出力を他のCLBの入力に 接続する信号が著しく改良される。CLB相互接続レベルでの利用度は高くなる 。しかし、難点は、CLBに厳密に適合するための複雑な論理機能の区画および マッピングである。CLB内部の論理機構の一部が未使用のままである場合、C LB内部の利用度(使用される単位面積当たりの有効ゲート数)が低くなること がある。 従来技術のFPGAに関する他の問題は、通常、各論理ブロックごとに一定数 の入力および一定数の出力が提供されることによるものである。偶然に特定の論 理ブロックのすべての出力が使い尽くされた場合、その論理ブロックの残りの部 分は無用になる。 したがって、従来技術のFPGAでは、FPGAの利用度を最大にし、同時に ダイ寸法に対する影響を最小限に抑える新しいアーキテクチャが必要である。こ の新しいアーキテクチャは、機能およびユーザによる使い勝手の点で最低論理要 素レベルでの融通性をもたらし、単位面積当たりの密度が高く、ユーザが基本論 理要素を用いて複雑な論理機能を容易に形成できるマクロ・レベルでの機能を提 供し、最後に、チップ・レベルでマクロおよび基本論理要素を接続する信号用の 階層一様分散ルーチング・ネットワークとの高い相互接続可能性をもたらすべき である。さらに、この新しいアーキテクチャは、個別の論理ブロックの入力およ び出力の数が選択できかつプログラムできるようにする融通性と、一連のFPG A寸法に適応するスケーリング可能なアーキテクチャをユーザに提供すべきであ る。発明の概要 本発明は、FPGA用の論理回路などプログラム可能な論理回路用の論理・接 続方式のアーキテクチャに関する。プログラム可能なこの論理回路は、入力信号 上のディジタル機能を実行するいくつかのセルで構成される。所望の論理機能を 実現するために、特定の設計に応じて、ある種のセルが特定の構成にプログラム 可能に相互接続される。 現在好ましい実施形態では、4つの論理セル(4つの2入力1出力論理ゲート および1つのDフリップフロップ)が論理クラスタ(すなわち、2×2セル・ア レイ)を形成し、4組のクラスタが論理ブロック(すなわち、4×4セル・アレ イ)を形成する。各クラスタ内に、内部接続マトリックス(Iマトリックス)と 呼ばれる1組の5本の内部接続線があり、内部接続線はそれぞれ、他のセルの入 力に接続できる4つのゲートのそれぞれおよびDフリップフロップの出力に結合 される。各論理ブロック内で、各クラスタ内のIマトリックスを、パスゲートを 通じて、隣接するクラスタへ延長し、論理ブロック内の接続を形成する(それに よって内部接続レンジを延長する)ことができる。各論理ブロック内部には、ブ ロック・コネクタ(BC)と呼ばれる結合された1組のアクセス線がある。ブロ ック・コネクタは、その同じ論理ブロックの様々なセルどうしのアクセスおよび 接続を可能にする。言い換えれば、論理ブロックの各セルの各入力および出力は 、 その論理ブロックに対応する1組のブロック・コネクタに接続することができる 。同じ論理ブロック内でIマトリックスおよびブロック・コネクタを適切に使用 すれば、論理ブロックの外部の資源を使用せずに1組の信号を内部接続すること ができる。いくつかのプログラム可能なスイッチを使用して、現論理ブロックの 外部の信号に接続する外部アクセスを得るために論理ブロック内部のセルの1組 の入力または出力あるいはその両方にどのブロック・コネクタをまとめて接続す るかが制御される。言い換えれば、ある論理ブロックの外部から外部接続すべき この現論理ブロック内部の入力ピンまたは出力ピンあるいはその両方は、現論理 ブロック内のブロック・コネクタを通じてアクセスまたは接続される。 様々な論理ブロック間で信号をルーチングするには、一様分散多重レベル・ア ーキテクチャ(MLA)ルーチング・ネットワークを使用して、個別の1組のブ ロック・コネクタのそれぞれどうしを接続する。どの第1レベルMLAルーチン グ・ネットワーク線どうしを接続すべきかを制御するためにプログラム可能なス イッチが実施される。どのブロック・コネクタを特定の第1レベルMLAルーチ ング線に接続すべきかを制御するために、プログラム可能な追加スイッチが使用 される。たとえば、スイッチは、1つQ論理ブロックに属する発信側セルを、異 なる論理ブロックに属する宛先セルに接続するようにプログラムすることができ る。これは、発信セルをその1つまたは複数のブロック・コネクタを通じて第1 レベルMLA上に接続し、距離に応じてその他のレベルのMLA上に接続し、M LAのレベルを順次下降して再び第1レベルMLAに接続し、最後に宛先セルの ブロック・コネクタに接続することによって行うことができる。それによって、 ブロック・コネクタおよび第1レベルのMLAルーチング・ネットワークは、ブ ロック・クラスタと呼ばれる8×8セル・アレイの相互接続可能性をもたらす。 本発明では、追加レベルのMLAルーチング・ネットワークを実施することに よって、さらに大きなセル・アレイを相互接続することができる。たとえば、ブ ロック・セクタと呼ばれる16×16セル・アレイの接続可能性は、第2レベル のMLAルーチング・ネットワーク線を実施して様々な第1レベルのMLAルー チング線どうしを接続し、それによってそれぞれの異なるブロック・クラスタど うしを接続することによって達成することができる。MCAの各レベルは、その レベルのルーチング・ネットワークのプログラム可能な相互接続を提供するため に、対応する数のスイッチを有する。追加スイッチング交換網を使用して、様々 なレベルのMLAが接続される。 一実施形態では、スイッチを使用して、異なる2組のブロック・コネクタどう しを接続することができる。さらに、特定のレベルのMLAの異なる数組のML Aルーチング線どうしを接続するスイッチを含めることができる。これによって 、ルーチングの融通性が増大する。 本発明では、すべてのMLAルーチング・ネットワーク線は二方向のものであ る。スイッチはプログラム可能な二方向パスゲートで構成される。レベル数を増 大する場合、ルーチング線、パスゲート、関連する負荷などをドライブするのに 必要なスイッチング速度をもたらすドライバが必要になることがある。一実施形 態では、スイッチを使用して様々な数組のブロック・コネクタどうしをプログラ ム可能に接続することができる。様々な数組の第1レベルのMLAどうしをプロ グラム可能に接続する追加スイッチを実施することができる。この方式は、より 高いレベルのMLAでは繰り返すことができる。図面の簡単な説明 本発明を制限としてではなく一例として、添付の図面に示す。図中、同じ参照 符号は同様な要素を指す。 第1図は、本発明を実施できるFPGAのブロック図である。 第2A図は、個別のセルの一例を示す図である。 第2B図は、個別のセルの他の例を示す図である。 第3A図は、論理クラスタを示す図である。 第3B図は、論理クラスタの内部接続の近傍の論理クラスタへの延長を示す図 である。 第4A図は、垂直ブロック・コネクタを含む論理クラスタの例を示す図である 。 第4B図は、水平ブロック・コネクタを含む論理クラスタの例を示す図である 。 第5A図は、論理ブロックおよびレベル1MLAターン・ポイントに結合され たレベル1MLA交換網の8つのブロック・コネクタを示す図である。 第5B図は、レベル1MLAターン・ポイントを示す図である。 第5C図は、交換網を示す図である。 第6図は、ブロック・クラスタ用のルーチング・ネットワークを示す図である 。 第7A図は、ブロック・セクタのブロック図を示す。 第7B図は、レベル1MLAルーチング交換網とレベル2MLAルーチング交 換網レベルを示す図である。 第8A図は、セクタ・クラスタを示す図である。 第8B図は、レベル2MLAルーチング交換網とレベル3MLAルーチング交 換網レベルを示す図である。 第9図は、論理ブロックとMLAレベルとの間のルーチングを可能にする階層 多重レベル・ルーチング・ネットワークの一実施形態を示す図である。 第10図は、論理ブロックとMLAレベルとの間のルーチングを可能にする階 層多重レベル・ルーチング・ネットワークの他の実施形態を示す図である。 第11図は、2つのブロック・コネクタ群が同じMLA線にアクセスする階層 ルーチング・ネットワークの一実施形態のブロック図である。 第12図は、より高いレベルのルーチング・ネットワーク用のMLAタブを含 むMLA−3レベルとのブロック・コネクタを包含する多重レベル・ルーチング ・ネットワークの一部のブロック図である。 第13図は、MLA−1ターン・ネットワークを示す図である。 第14図は、MLA−2ターン・ネットワークを示す図である。 第15図は、MLA−3ターン・ネットワークを示す図である。 第16図は、MLA−4層用のルーチング・ネットワークと、MLA−4線に アクセスするための機構の一実施形態を示す図である。 第17図は、3つの異なるスイッチ実施形態を示す図である。 第18図は、MLA−5層用のルーチング・ネットワークと、MLA−5線に アクセスするための機構の一実施形態を示す図である。詳細な説明 プログラム可能な論理回路用のアーキテクチャおよび相互接続機構について説 明する。下記の説明では、説明の都合上、本発明を完全に理解していただくため に組合せ論理回路、セル構成、いくつかのセルなど多数の特定の詳細について述 べる。しかし、当業者には、このような特定の詳細なしに本発明を実施できるこ とが明らかになろう。他の例では、本発明を不必要にあいまいにするのを回避す るために周知の構造および装置がブロック図形で示されている。本発明が、静的 ランダム・アクセス・メモリ(SRAM)プロセス、動的ランダム・アクセス・ メモリ(DRAM)プロセス、ヒューズ・プロセス、アンチヒューズ・プロセス 、消去可能なプログラム可能読取り専用メモリ(EPROM)プロセス、電気的 に消去可能なプログラム可能読取り専用メモリ(EEPROM)プロセス、フラ ッシュ・プロセス、強誘電プロセスを含むがこれらに限らない様々なプロセスに 関することにも留意されたい。第1図を参照すると、本発明を実施できるFPG A論理回路のブロック図が100として示されている。入出力論理ブロック10 2、103、111、112は、直接あるいは入出力−コア・インタフェース1 04、105、113、114を通じて、FPGAの外部パッケージ・ピンと内 部ユーザ論理回路との間のインタフェースを形成する。4つのインタフェース・ ブロック104、105、113、114は、コア106と入出力論理回路10 2、103、111、112との間の結合解除を行う。コア106は、Iマトリ ックス101によって内部接続され、MLAルーチング・ネットワーク108に よって相互接続された、いくつかのクラスタ107で構成される。 制御/プログラミング論理回路109は、ビット線およびワード線をプログラ ムするすべてのビットを制御するために使用される。アンチヒューズ技法または ヒューズ技法の場合、高電圧/電流が印加され、ヒューズがザップまたは接続さ れる。EEPROM技法、またはフラッシュ技法、または強誘電技法の場合、消 去サイクルと、その後に続く、メモリ・ビットの論理状態をプログラムするプロ グラミング・サイクルがある。スキューイングを最小限に抑えるには、別々のク ロック/リセット論理回路110を使用してグループごとにクロック線およびリ セット線を与える。 現在好ましい実施形態では、各クラスタ107は、論理クラスタと呼ばれる、 4つのセルの2×2階層で構成される。第2Aおよび2B図は、個別のセル20 0および250の例を示す。セル200は、2つの入力信号(AおよびB)上の 複数の論理関数を実行し、出力信号Xをもたらす。現在好ましい実施形態では、 セル200は、XORゲート201と、2入力NANDゲート202と、2入力 NORゲート203とを有する。しかし、他の実施形態では、セル200は様々 な他のタイプまたは組合せ、あるいはその両方のゲートを含むことができること に留意されたい。セル250は、Dフリップフロップ・セル260に結合された セル200を有する。セル200の出力Xは、スイッチ218を作動させること によってDフリップフロップ・ゲート204のデータ入力Dに直接接続されるよ うにプログラムすることができる。データ入力Dには、組合せセル250の第3 入力としてアクセスすることができる。 2つの入力信号AおよびBのそれぞれとDフリップフロップのD入力は、スイ ッチ206ないし211の状態に応じて反転または非反転することができる。ス イッチ206、208、210を作動させると、信号A、B、Dが、ゲート20 1ないし204のドライバ212ないし214によって非反転的にドライブされ る。 スイッチ207、209、211を作動させると、入力信号A、B、Dが ゲート201ないし204に渡される前にインバータ215ないし217によっ て反転される。6つのスイッチ212ないし217は、ユーザによるプログラム に応じて個別にオン・オフ操作することができる。 XORゲート201、NANDゲート202、NORゲート203を使用して 、出力信号を次の段へ伝搬させることによって、XNOR、AND、ORを実行 し、それによって前述のように信号を反転することができる。 3つのスイッチ219ないし221はそれぞれ、3つのゲート201ないし2 03の出力に結合される。この場合も、これらのスイッチは、ユーザによってプ ログラムすることができる。それによって、ユーザは、ゲート201ないし20 3からのどの出力をセル200からの出力Xとしてドライバ224へ送るべきか を指定することができる。 前述のスイッチ206ないし211、218ないし221は、二方向プログラ ム制御式パスゲートで構成される。スイッチは、制御信号の状態に応じて、伝導 状態(すなわち、線上で信号を通過させる)または非伝導状態(線上で信号を通 過させない)になる。下記の節で述べるスイッチも同様に、プログラム制御式パ スゲートで構成される。 次に第3A図を参照すると、論理クラスタ107が示されている。現在好まし い実施形態では、論理クラスタ107は、4つのセル301ないし304および Dフリップフロップ305と、25個のスイッチ306ないし330と、5本の 内部接続線331ないし335とで構成される。内部接続線331ないし335 およびスイッチ306ないし330はIマトリックスを形成する。Iマトリック スは、4つのセル301ないし304のそれぞれの出力XおよびDフリップフロ ップ305の出力Xを、他の3つのセルのそれぞれおよびDフリップフロップの 少なくとも1つの入力に接続できるようにする。たとえば、スイッチ306およ び307をイネーブルすることによってセル301の出力Xをセル302の入力 Aに接続することができる。同様に、スイッチ306および310をイネーブル することによって、セル301の出力Xをセル303の入力Bに接続することが できる。スイッチ306および308をイネーブルすることによって、セル30 1の出力Xをセル304の入力Aに接続することができる。スイッチ306およ び309をイネーブルすることによって、セル301の出力XをDフリップフロ ップ・セル305の入力Dに接続することができる。 同様に、スイッチ311および312をイネーブルすることによって、セル3 02からの出力Xをセル301の入力Bに接続することができる。スイッチ31 1および315をイネーブルすることによって、セル302からの出力Xをセル 303の入力Aに接続することができる。スイッチ311および313をイネー ブルすることによって、セル302からの出力Xをセル304の入力Bに接続す ることができる。スイッチ311および314をイネーブルすることによって、 セル302の出力XをDフリップフロップ・セル305の入力Dに接続すること ができる。 同様に、スイッチ326および327をイネーブルすることによって、セル3 03からの出力Xをセル301の入力Aに接続することができる。スイッチ32 6および328をイネーブルすることによって、セル303からの出力Xをセル 302の入力Aに接続することができる。スイッチ326および329をイネー ブルすることによって、セル303からの出力Xをセル304の入力Bに接続す ることができる。スイッチ326および330をイネーブルすることによって、 セル303の出力XをDフリップフロップ・セル305の入力Dに接続すること ができる。 セル304の場合、スイッチ316および317をイネーブルすることによっ て、セル304からの出力Xをセル301の入力Bに接続することができる。ス イッチ316および318をイネーブルすることによって、セル304からの出 力Xをセル302の入力Bに接続することができる。スイッチ316および31 9をイネーブルすることによって、セル304からの出力Xをセル303の入力 Aに接続することができる。第2A図のスイッチ218をイネーブルすることに よって、セル304の出力XをDフリップフロップ・セル305の入力Dにプロ グラム可能に接続することができる。 セル305に関しては、スイッチ320および321をイネーブルすることに よって、セル305の出力をセル301のA入力に、スイッチ320および32 2をイネーブルすることによって、セル305の出力をセル302のB入力に、 スイッチ320および325をイネーブルすることによって、セル305の出力 をセル303のB入力に、スイッチ320および323をイネーブルすることに よって、セル305の出力をセル304のA入力に、スイッチ320および32 4をイネーブルすることによって、セル305の出力をセル305自体のD入力 に接続することができる。 セル301ないし304およびDフリップフロップ305の各出力をクラスタ 内部の近傍の各セルまたはフリップフロップ、あるいはその両方の入力に接続で きることが分かる。 本発明の現在好ましい実施形態では、各論理クラスタをパスゲート・スイッチ を通じて各論理ブロック内部のすべての他の論理クラスタに接続し、各論理ブロ ック内部の近傍のクラスタからのIマトリックスを延長することができる。第3 B図は、論理クラスタ107のセル301ないし304およびDフリップフロッ プ305のIマトリックス内部接続線331ないし335を同じ論理ブロック内 のパスゲート・スイッチ336ないし355を通じて近傍の論理クラスタ107 に延長することを示す。 本発明の現在好ましい実施形態では、各論理ブロックをFPGAのすべての他 の論理ブロックに接続することができる。これは、複数の相互接続層を含むアー キテクチャを実施することによって行われる。この複数層ルーチング・アーキテ クチャが、概念階層であり、プロセス階層でも技術階層でもなく、したがって、 現在のシリコン・プロセス技法を用いて容易に実施できることに留意されたい。 1番下にある相互接続層を「ブロック・コネクタ」と呼ぶ。1組のブロック・コ ネクタによって、(4つの論理クラスタまたは16個のセルで構成された)結合 された論理ブロック内で信号のアクセスおよび相互接続を行うことができる。そ れによって、延長されたIマトリックスまたはブロック・コネクタ、あるいはそ の両方を使用することによって同じ論理ブロック内の異なる数組の論理クラスタ をそのグループ内の他の論理クラスタに接続するこどができる。この場合も、二 方向にプログラム可能なパスゲートをスイッチとして使用して、ユーザにルーチ ング上の融通性がもたらされる。 次の接続レベルを「レベル1多重レベル・アーキテクチャ(MLA)」ルーチ ング・ネットワークと呼ぶ。レベル1MLAルーチング・ネットワークは、数組 のブロック・コネクタどうしの相互接続を行う。プログラム可能なパスゲート・ スイッチを使用して、ユーザがどのブロック・コネクタを接続するかを選択でき るようにすることができる。したがって、1組の論理ブロック・グループの第1 の論理ブロックを、同じグループに属する第2の論理ブロックに接続することが できる。適当なスイッチをイネーブルし、第1の論理ブロックのブロック・コネ クタをレベル1MLAルーチング・ネットワークのルーチン線に接続する。レベ ル1MLAルーチング・ネットワークの適当なスイッチをイネーブルし、第2の 論理ブロックのブロック・コネクタをレベル1MLAルーチング・ネットワーク のルーチング線に接続する。適当なスイッチをイネーブルし、第1および第2の 論理ブロックのブロック・コネクタに接続されているレベル1MLAルーチング ・ネットワークのルーチング線どうしを接続する。さらに、ユーザは、論理ブロ ックの各セル間の所望の内部接続を行うように所与の論理ブロック内の様々なス イッチをプログラムすることができる追加の融通性を有する。 次の接続レベルを「レベル2多重レベル・アーキテクチャ(MLA)」ルーチ ング・ネットワークと呼ぶ。レベル2MLAは、様々なレベル1MLAとの相互 接続を行い、ブロック・クラスタのアクセスおよび接続を行う。この場合も、所 望の接続を行うようにユーザによって二方向パスゲート・スイッチがプログラム される。レベル2MLAルーチング・ネットワークを実施することによって、場 合によっては多数の論理ブロック間のプログラム可能な相互接続が行われる。 追加MLAルーチング・ネットワーク・レベルを実現し、プログラム可能な相 互接続を行う論理ブロック、ブロック・クラスタ、ブロック・セクタなどの数お よびグループを順次増加することができる。基本的に、本発明は、ルーチングを 実施するための三次元手法をとる。信号は、論理ブロックの内部接続部間でルー チングされる。次いで、ブロック・コネクタを通じてこのような信号にアクセス し、ブロック・コネクタのプログラムされた接続に応じてルーチングすることが できる。必要に応じて信号をレベル1MLAに「エレベート」させ、レベル1M LAルーチング・ネットワークを通じてルーチングし、適当なブロック・コネク タに「エレベート解除」し、次いで宛先論理ブロックに渡す。 レベル2MLAルーチング・ネットワークが必要である場合、いくつかの信号 がレベル1MLAルーチング・ネットワーク線からもう1度エレベートされ、あ るいはレベル2MLAルーチング・ネットワークに直接エレベートされ、異なる 1組のレベル2MLAルーチング・ネットワーク線にルーチングされ、レベル2 MLAルーチング・ネットワーク線からレベル1MLAルーチング・ネットワー ク線に「エレベート解除」される。その時点で、信号はもう1度「エレベート解 除」され、レベル1MLAから宛先論理ブロックの適当なブロック・コネクタに 渡される。別法として、「エレベーション」は、レベル1MLAルーチング・ネ ットワークを通過させずに直接行うことができる。この同じ手法は、必要に応じ 、FPGAの寸法および密度に応じてレベル3、4、5などのMLAでも実行さ れる。前述の方法を使用して所与のセル・アレイ・カウントを有するFPGAを 実施し、部分レベルnMLAを実施することができる。 第4A図は、論理ブロック内の論理クラスタおよび結合された垂直ブロック・ コネクタの例を示す。現在好ましい実施形態では、論理クラスタ中の各セルは、 2つの垂直ブロック・コネクタによる入力からアクセスすることができ、論理ク ラスタ中のセルの各出力は2つの垂直ブロック・コネクタにアクセスすることが できる。たとえば、セル301の入力Aにはスイッチ467、462を通じてそ れぞれ、垂直ブロック・コネクタ451(BC−V11)および453(BC− V21)からアクセスすることができ、セル301の入力Bにはスイッチ466 、468を通じてそれぞれ、垂直ブロック・コネクタ452(BC−V12)お よび454(BC−V22)からアクセスすることができ、セル301の出力X はスイッチ460、459を通じてそれぞれ、垂直ブロック・コネクタ455( BC−V31)および458(BC−V42)にアクセスすることができる。セ ル302の入力Aにはスイッチ463、464を通じてそれぞれ、垂直ブロック ・コネクタ453(BC−V21)および455(BC−V31)からアクセス することができ、セル302の入力Bにはスイッチ469、470を通じてそれ ぞれ、垂直ブロック・コネクタ454(BC−V22)および456(BC−V 32)からアクセスすることができ、セル302の出力Xはスイッチ461、4 65を通じてそれぞれ、垂直ブロック・コネクタ452(BC−V12)および 457(BC−V41)にアクセスすることができる。セル303の入力Aには スイッチ485、476を通じてそれぞれ、垂直ブロック・コネクタ451(B C−V11)および453(BC−V21)からアクセスすることができ、セル 303の入力Bにはスイッチ480、476を通じてそれぞれ、垂直ブロック・ コネクタ452(BC−V12)および454(BC−V22)からアクセスす ることができ、セル303の出力Xはスイッチ472、471を通じてそれぞれ 、垂直ブロック・コネクタ455(BC−V31)および458(BC−V42 )にアクセスすることができる。セル304の入力Aにはスイッチ477、47 8を通じてそれぞれ、垂直ブロック・コネクタ453(BC−V21)および4 55(BC−V31)からアクセスすることができ、セル304の入力Bにはス イッチ482、484を通じてそれぞれ、垂直ブロック・コネクタ454(BC −V22)および456(BC−V32)からアクセスすることができ、セル3 04の出力Xはスイッチ475、474を通じてそれぞれ、垂直ブロック・コネ クタ452(BC−V12)および457(BC−V41)にアクセスすること が できる。Dフリップフロップ・セル305の入力にはスイッチ473、479を 通じてそれぞれ、垂直ブロック・コネクタ454(BC−V22)および455 (BC−V31)からアクセスすることができ、セル305の出力Xはスイッチ 483、486を通じてそれぞれ、垂直ブロック・コネクタ452(BC−V1 2)および457(BC−V41)にアクセスすることができる。 同様に、第4B図は、第4A図に示した水平ブロック・コネクタおよび論理ク ラスタに対応する可能な接続を示す。セル301の入力Aにはスイッチ409、 413を通じてそれぞれ、水平ブロック・コネクタ402(BC−H12)およ び404(BC−H22)からアクセスすることができ、セル301の入力Bに はスイッチ415、416を通じてそれぞれ、水平ブロック・コネクタ401( BC−H11)および403(BC−H21)からアクセスすることができ、セ ル301の出力Xはスイッチ421、428を通じてそれぞれ、水平ブロック・ コネクタ405(BC−H31)および408(BC−H42)にアクセスする ことができる。セル302の入力Aにはスイッチ411、414を通じてそれぞ れ、水平ブロック・コネクタ402(BC−H12)および404(BC−H2 2)からアクセスすることができ、セル302の入力Bにはスイッチ433、4 17を通じてそれぞれ、水平ブロック・コネクタ401(BC−H11)および 403(BC−H21)からアクセスすることができ、セル302の出力Xはス イッチ418、424を通じてそれぞれ、水平ブロック・コネクタ405(BC −H31)および408(BC−H42)にアクセスすることができる。セル3 03の入力Aにはスイッチ419、426を通じてそれぞれ、水平ブロック・コ ネクタ404(BC−H22)および406(BC−H32)からアクセスする ことができ、セル303の入力Bにはスイッチ420、425を通じてそれぞれ 、水平ブロック・コネクタ403(BC−H21)および405(BC−H31 )からアクセスすることができ、セル303の出力Xはスイッチ410、427 を通じてそれぞれ、水平ブロック・コネクタ402(BC−H12)および40 7(BC−H41)にアクセスすることができる。セル304の入力Aにはスイ ッチ422、430を通じてそれぞれ、水平ブロック・コネクタ404(BC− H22)および406(BC−H32)からアクセスすることができ、セル3 04の入力Bにはスイッチ423、429を通じてそれぞれ、水平ブロック・コ ネクタ403(BC−H21)および405(BC−H31)からアクセスする ことができ、セル304の出力Xはスイッチ412、434を通じてそれぞれ、 水平ブロック・コネクタ402(BC−H12)および407(BC−H41) にアクセスすることができる。Dフリップフロップ・セル305の入力にはスイ ッチ436、431を通じてそれぞれ、水平ブロック・コネクタ403(BC− H21)および406(BC−H32)からアクセスすることができ、セル30 5の出力Xはスイッチ432、435を通じてそれぞれ、水平ブロック・コネク タ401(BC−H11)および408(BC−H42)にアクセスすることが できる。 第4A図および第4B図は、現在好ましい実施形態における論理ブロック内部 の左上(NW)論理クラスタへの垂直・水平ブロック・コネクタ・アクセス方法 を示す。左下(SW)クラスタは、NWクラスタの場合と同じ垂直ブロック・コ ネクタ・アクセス方法を有する。右上(NE)クラスタは、垂直ブロック・コネ クタ・アクセスのシーケンスがシフトされることを除いて、垂直ブロック・コネ クタに対してNWクラスタの場合と同様なアクセス方法を有する。垂直ブロック ・コネクタ451ないし458は、共にシリンダ(451、452、...、4 58)として連鎖されたものとみたすことができる。たとえば4だけシフトする ことによって、新しいシーケンス(455、456、457、458、451) 452、453、454)が形成される。第4A図に示したNWクラスタ中のセ ル301による垂直ブロック・コネクタ451および453へのアクセスから始 めるのではなく、NEクラスタ中のセル301にVBC455および457から アクセスすることができる。番号が4だけ「シフト」される。右下(SE)クラ スタに対するVBCのアクセス順序は、NEクラスタの場合と同じである。 同様に、NWクラスタへの水平ブロック・コネクタ・アクセスは、NEクラス タの場合と同じであり、SWクラスタはSEクラスタと同じであり、これに対し て、SWクラスタへの水平ブロック・コネクタ・アクセスは、NWクラスタの場 合と比べて4だけシフトされる。 現在好ましい実施形態では、論理ブロック当たりに16個のブロック・コネク タが使用される(すなわち、4つのクラスタまたは4×4セル・アレイ)。レベ ル1MLAルーチング・ネットワークを追加することによって、ブロック・クラ スタ(8×8セル・アレイ)の接続が可能になる。レベル2MLAルーチング・ ネットワークを追加することによって、ブロック・セクタ(16×16セル・ア レイ)との接続可能性が増大する。追加レベルのMLAルーチング・ネットワー クによってブロック・セクタの数が4だけ増加し、同時に、MLAルーチング・ ネットワーク中の各線の長さが係数2だけ増加する。レベル2MLA中のルーチ ング線の数は係数2だけ増加する。ブロック・セクタの数が単位面積当たりに係 数4だけ増加したので、次の階層レベルのルーチング線の数は実際には係数2だ け減少する。 第5A図は、16個のブロック・コネクタに結合された論理ブロックと、論理 ブロックに結合されたレベル1MLAルーチング線を示す。16個のブロック・ コネクタ501ないし506は太線で示され、それに対して16本のレベル1M LAルーチング・ネットワーク線517ないし532は細線で示されている。ブ ロック・コネクタの長さまたはスパンが論理ブロック内で終端し、それに対して レベル1MLAルーチング・ネットワーク線の長さが近傍の論理ブロックへ延び る(ブロック・コネクタの長さの2倍)ことに留意されたい。 ブロック・コネクタとレベル1MLAルーチング・ネットワーク線は共に、水 平グループおよび垂直グループ、すなわち、垂直ブロック・コネクタ501ない し508、水平ブロック・コネクタ509ないし516、垂直レベル1MLAル ーチング・ネットワーク線517ないし524、水平レベル1MLAルーチング ・ネットワーク線525ないし532に細分割される。 現在好ましい実施形態では、論理ブロック内の16本のレベル1MLAルーチ ング・ネットワーク線用の24個のレベル1MLAターン・ポイントがある。第 5A図では、24個のターン・ポイントは明確な点541ないし564として示 されている。 MLAターン・ポイントは、水平MLAルーチング・ネットワーク線と垂直M LAルーチング・ネットワーク線との接続を可能にする二方向にプログラム可能 なパスゲートである。たとえば、レベル1MLAターン・ポイント541をイネ ーブルすることによって、水平レベル1MLAルーチング・ネットワーク線52 6と垂直レベル1MLAルーチング・ネットワーク線520が接続される。第5 B図は、レベル1MLAターン・ポイント541を示す。スイッチ583は、レ ベル1MLAルーチング・ネットワーク線526をレベル1MLAルーチング・ ネットワーク線520に接続するかどうかを制御する。スイッチがイネーブルさ れた場合、レベル1MLAルーチング・ネットワーク線526がレベル1MLA ルーチング・ネットワーク線520に接続される。そうでない場合、線526は 線520に接続されない。スイッチ583はユーザによってプログラムすること ができる。ターン・ポイントは、対単位のグループとして配置され、2つ以上の ブロック・コネクタをまずブロック・コネクタを通じてレベル1MLA交換網に 接続し、次いでスイッチをイネーブルすることによって選択されたレベル1ML Aルーチング線どうしを接続するスイッチング・アクセスを行う目的を有する。 レベル1MLA線は、同じブロック・クラスタ内の別々の論理ブロックに存在す るブロック・コネクタどうしを接続するために使用される。 再び第5A図を参照すると分かるように、各論理ブロックごとにレベル1ML A交換網533ないし540に接続された8つのブロック・コネクタがある。こ れらの交換網は、ユーザによるプログラムに応じて、あるブロック・コネクタを レベル1MLA線に接続するように動作する。第5C図は、交換網537をさら に詳しく示す。レベル1MLAルーチング交換網に接続されたブロック・コネク タは、8つのドライバ575ないし582を有する。この8つのドライバ575 ないし582は、ブロック・コネクタ501、502およびレベル1MLA線5 17、518用の二方向駆動機構を形成するために使用される。たとえば、スイ ッチ565をイネーブルすると、ブロック・コネクタ501上の信号が、ドライ バ575によってレベル1MLA線517からドライブされる。スイッチ566 をイネーブルすると、レベル1MLA線517上の信号が、ドライバ576によ ってブロック・コネクタ501からドライブされる。スイッチ567をイネーブ ルすると、ブロック・コネクタ501上の信号が、ドライバ577によってレベ ル1MLA線518からドライブされる。スイッチ568をイネーブルすると、 レベル1MLA線518上の信号が、ドライバ578によってブロック・コネク タ501からドライブされる。 同様に、スイッチ569をイネーブルすると、ブロック・コネクタ502上の 信号が、ドライバ579によってレベル1MLA線517からドライブされる。 スイッチ570をイネーブルすると、レベル1MLA線517上の信号が、ドラ イバ580によってブロック・コネクタ502からドライブされる。スイッチ5 71をイネーブルすると、ブロック・コネクタ502上の信号が、ドライバ58 1によってレベル1MLA線518からドライブされる。スイッチ572をイネ ーブルすると、レベル1MLA線518上の信号が、ドライバ582によってブ ロック・コネクタ502からドライブされる。スイッチ573は、ある信号を1 つのブロック・コネクタ501から、隣接する論理ブロックに属する隣接するブ ロック・コネクタ584へ通過させるべきかどうかを制御するために使用される 。 同様に、スイッチ574は、ある信号を1つのブロック・コネクタ502から 、隣接する論理ブロックに属する隣接するブロック・コネクタ585へ通過させ るべきかどうかを制御するために使用される。 第6図は、ブロック・クラスタ用のルーチング・ネットワークを示す。このブ ロック・クラスタは基本的に、レベル1MLA交換網533ないし540によっ て相互接続できる4つの論理ブロックで構成される。32本のレベル1MLAル ーチング・ネットワーク線があることが分かる。 第7A図は、ブロック・セクタのブロック図を示す。このブロック・セクタは 、4つのブロック・クラスタ701ないし704で構成される。前述のように、 ブロック・クラスタは、ブロック・コネクタおよびレベル1MLAルーチング・ ネットワーク線によって相互接続される。このブロック・セクタは、レベル1M LAルーチング・ネットワークとレベル2MLAルーチング・ネットワークを接 続できるようにするために64本のレベル2MLAルーチング・ネットワーク線 と64個のレベル2・レベル1交換網とでも構成される。レベル1・レベル2M LAルーチング交換網は、第7A図で長方形で示されている。さらに、ブロック ・セクタ内の4つの論理ブロックのそれぞれに結合された48個のレベル2ML Aターン・ポイントがある。したがって、ブロック・セクタ用の192個のレベ ル2MLAターン・ポイントがある。 第7B図は、サンプル・レベル1・レベル2MLAルーチング交換網705を 示す。スイッチ710が、レベル1MLA線709とレベル2MLA線708と の間で信号を通過させるべきかどうかを制御するために使用されることが分かる 。スイッチ711は、レベル1MLA線709とレベル2MLA線707との間 で信号を通過させるべきかどうかを制御するために使用される。スイッチ712 は、レベル1MLA線706とレベル2MLA線708との間で信号を通過させ るべきかどうかを制御するために使用される。スイッチ713は、レベル1ML A線706とレベル2MLA線707との間で信号を通過させるべきかどうかを 制御するために使用される。スイッチ714は、信号を1本のレベル1MLA線 709から、隣接するブロック・クラスタに属する隣接するレベル1MLA線7 16へ通過させるべきかどうかを制御するために使用される。同様にスイッチ7 15は、信号を1本のレベル1MLA線706から、隣接するブロック・クラス タに属する隣接するレベル1MLA線715へ通過させるべきかどうかを制御す るために使用される。 第8A図はセクタ・クラスタを示す。セクタ・クラスタは、4つのブロック・ セクタ801ないし804と、それらに結合されたブロック・コネクタ、レベル 1およびレベル2MLAルーチング・ネットワーク線、交換網とで構成される。 128個のレベル3MLAルーチング・ネットワーク線もあり、これによって、 同じセクタ・クラスタ800内のそれぞれの異なるブロック・セクタ801ない し804に属するレベル2MLA線どうしを接続することができる。各ブロック ・セクタ801ないし804ごとにレベル3MLA線に結合された96個のレベ ル3MLAターン・ポイントがある(すなわち、セクタ・クラスタでは384個 の総レベル3MLAターン・ポイント)。さらに、4つのブロック・セクタ80 1ないし804のそれぞれに結合された32個のレベル2・レベル3MLAルー チング交換網がある。したがって、様々なレベル2MLA線およびレベル3ML A線をプログラム可能に接続できるようにする、合計で128個のレベル3ML Aルーチング交換網がある。 第8B図は、レベル2・レベル3MLAルーチング交換網805の例を示す。 スイッチ810をイネーブルすると、レベル2MLA線808上の信号が、レベ ル3MLA線806に接続されることが分かる。スイッチ810をディスエーブ ルすると、レベル2MLA線808がレベル3MLA線806から切り離される 。スイッチ811をイネーブルすると、レベル2MLA線808上の信号が、レ ベル3MLA線807に接続される。スイッチ811をディスエーブルすると、 レベル2MLA線808がレベル3MLA線807から切り離される。同様に、 スイッチ812をイネーブルすると、レベル2MLA線809上の信号が、レベ ル3MLA線806に接続される。スイッチ812をディスエーブルすると、レ ベル2MLA線809がレベル3MLA線806から切り離される。スイッチ8 13をイネーブルすると、レベル2MLA線809上の信号が、レベル3MLA 線807に接続される。スイッチ813をディスエーブルすると、レベル2ML A線809がレベル3MLA線807から切り離される。 本発明では、追加レベルのMLAルーチング・ネットワークによって対応する MLAターン・ポイントおよび交換網に接続された追加論理セクタ・クラスタを 追加することによって、より大型でより強力なFPGAを達成することができる 。 本発明の好ましい実施形態では、5つのIマトリックス線(331ないし33 5、第3A図)のそれぞれを延長して、2つの異なるクラスタに属する2つの隣 接するIマトリックス線を接続することができる。第3B図のパスゲート・スイ ッチ336ないし340、341ないし345、346ないし350、351な いし355は、異なる4組のIマトリックス線延長スイッチの例である。これに より、ブロック・コネクタを使用することによってルーチングする必要なしに、 隣接する2つのクラスタ間で信号をルーチングする機能が与えられることによっ てさらに融通性がもたらされる。 同様に、ブロック・コネクタを延長して、2つの異なる論理ブロックに属する 隣接する2つのブロック・コネクタを接続することができる。第5C図のスイッ チ573は、ブロック・コネクタ501をスイッチ573を通じてブロック・コ ネクタ584に接続するそのようなブロック・コネクタの延長を示す。これによ り、レベル1MLA線および結合されたMLA交換網を通じてルーチングする必 要なしに、隣接する2つの論理ブロック間で信号をルーチングする機能が提供さ れることによってさらに融通性がもたらされる。この概念は、レベル1MLA線 にも応用することができる。第7B図のスイッチ714は、スイッチ714をイ ネーブルすることによってレベル1MLA線716に接続するためにレベル1M LA線709が延長された例を示す。これにより、レベル2MLA線および結合 されたMLA交換網を通じてルーチングする必要なしに、隣接する2つのブロッ ク・クラスタ間で信号をルーチングする機能が与えられることによってさらに融 通性がもたらされる。 第9図は、論理ブロックとMLAレベルとの間のルーチングを可能にする階層 多重レベル・ルーチング・ネットワークの一実施形態を示す。8つの論理ブロッ ク901ないし908が示されている。各論理ブロック901ないし908には 、複数のブロック・コネクタが結合される。現在好ましい実施形態では、各論理 ブロック901ないし908に結合された8つの水平ブロック・コネクタおよび 8つの垂直ブロック・コネクタがある。明確にかつ容易に理解できるように、個 別の論理ブロックに対応するブロック・コネクタが単一の線で表され(たとえば 、ブロック・コネクタ909ないし916はそれぞれ、論理ブロック901ない し908に対応する)、水平ブロック・コネクタのみが示されている。 各ブロック・コネクタ909ないし916はそれぞれ、二方向にプログラム可 能なドライバ917ないし924に結合される。したがって、ブロック・コネク タ909ないし916は、MLA−1線925ないし928に二方向結合される ようにプログラムすることができる。たとえば、交換網917は、論理ブロック 901の1つのブロック・コネクタ909をMLA−1線925に結合するよう にプログラムすることができる。二方向にプログラム可能な追加ドライバ929 ないし932を使用して、MLA−1線925ないし928と次のMLAレベル 、すなわちMLA−2線933ないし934が相互接続される。二方向にプログ ラム可能なドライバ935ないし936は、選択的にMLA−2線933ないし 934とMLA−3線937の相互接続を行う。この階層相互接続機構は、複数 の追加MLAレベルに対して繰り返すことができる。 第10図は、論理ブロックとMLAレベルの間のルーチングを可能にする階層 多重レベル・ルーチング・ネットワークの他の実施形態を示す。この実施形態は 、第9図に示したルーチング・ネットワークに類似している。ただし、ブロック ・ コネクタは、任意のMLAレベルに直接接続し、介在するMLAレベルをバイパ スすることができる8つの論理ブロック1001ないし1008が示してある。 各論理ブロックには、複数のブロック・コネクタ1009ないし1016が結合 される。二方向にプログラム可能なドライバ1017ないし1024を使用して 、ブロック・コネクタ1009ないし1016が選択的にブロック・コネクタ・ タブ1025ないし1032に結合される。ブロック・コネクタ・タブ1025 ないし1032は接合点として使用することができ、この点から複数のMLA層 との接続を行うことができる。二方向にプログラム可能なドライバ・セット(1 033ないし1035)、(1036ないし1038)、(1039ないし10 41)、(1042ないし1044)、(1045ないし1047)、(104 8ないし1050)、(1051ないし1053)、(1054ないし1056 )はそれぞれ、ブロック・コネクタ・タブ1025ないし1032に対応する。 これらのドライバ・セットはそれぞれ、介在するMLA線を通過させる必要なし に、それぞれの論理ブロックをMLA−1線1061とMLA−2線1062と MLA−3線1063のいずれかに接続できるようにする。たとえば、論理ブロ ック1001は、ドライバ1017および1033を選択的に作動させることに よってMLA−1線1061に接続することができる。論理ブロック1001は 、ドライバ1017および1034を選択的に作動させることによってMLA− 2線1062に接続することもできる。この実施形態では、論理ブロック100 1を最初にMLA−1線1061に接続する必要なしにMLA−2線1062に 接続できることに留意されたい。さらに、論理ブロック1001は、ドライバ1 017および1035を選択的に作動させることによってMLA−3線1063 に接続することができる。この実施形態では、論理ブロック1001をMLA− 1層やMLA−2層に接続しなくても、MLA−3層に接続できることに留意さ れたい。論理ブロックを直接、所望のMLA層に接続することによって、ルーチ ング・ネットワーク全体の速度が向上する。さらに、速度およびルーチング上の 融通性は、2つ以上の隣接する論理ブロックを直接接続することによって向上す ることができる。それによって、隣接する論理ブロックは、MLA層を介してル ーチングする必要なしに通信することができる。たとえば、論理ブロック100 1と 論理ブロック1002は、二方向にプログラム可能なドライバ1057を介して 接続することができる。論理ブロック1003と論理ブロック1004は、ドラ イバ1058を介して接続することができる。論理ブロック1005ないし10 07は、ドライバ1059ないし1060を介して接続することができる。この 階層ルーチング方式は、任意の数の論理ブロックおよびMLA層であってよい。 論理ブロック1002に対応するブロック・コネクタ1010を、論理ブロック 1003に対応するブロック・コネクタ1011に結合するためにパスゲート1 064を含めることができる。 第11図は、2つのブロック・コネクタ群が同じMLA線にアクセスする階層 ルーチング・ネットワークの一実施形態のブロック図を示す。第1の論理ブロッ ク1101ないし1104群および第2の論理ブロック群1105ないし110 8を示す。第1の論理ブロック群1101ないし1104は、ブロック・コネク タ・タブ1113ないし1116を介して選択的に、MLA−1層1109およ び1121、MLA−2層1110、MLA−3層1111、MLAタブ111 2に接続することができる。同様に、第2の論理ブロック群1105ないし11 08は、それぞれのブロック・コネクタ・タブ1117ないし1120を介して 選択的に、MLA−1層1109および1121、MLA−2層1110、ML A−3層1111、MLAタブ1112に接続することができる。 第12図は、より高いレベルのルーチング・ネットワーク用のMLAタブを含 むMLA−3レベルに接続されたブロック・コネクタを包含する多重レベル・ル ーチング・ネットワークの一部のブロック図である(Iマトリックスは示されて いない)。第12図は、1組のブロック・コネクタと、ブロック・コネクタに対 応する水平方向のより高いレベルのMLAとの相互接続を示す。ブロック・コネ クタと結合されたMLAとを相互接続する対応する垂直ルーチング・ネットワー ク群もある。本発明をあいまいにするのを回避するために、この垂直群は第12 図には示されていない。FPGAの各ブロック・コネクタおよび結合されたML A用のルーチング・ネットワークの対応するコピーがあることに留意されたい。 第12図には、32個のブロック1201ないし1232が示されている。各 ブロックは、2つのBCタブ(たとえば、1つは水平であり、1つは垂直である ) と共に、異なる隣接するブロックに結合される。各ブロック・コネクタ1201 ないし1232は、プログラム可能なスイッチを介して選択可能な2つのBCタ ブに結合される。たとえば、ブロック・コネクタ1201は、プログラム可能な スイッチ1234を介して、選択可能なBCタブ1233に結合される。第1の BCタブ群に垂直な第2のBCタブ群は示されていない。ブロック・コネクタ1 217ないし1232(水平方向と垂直方向の両方)用の同様なBCタブ相互接 続機構が存在する。各BCタブごとに、MLA−1ルーチング線に接続できる二 方向にプログラム可能なドライバがある。たとえば、BCタブ1233は、ドラ イバ1236を介して選択的にMLA−1ルーチング線1235に接続すること ができる。このドライバは、対応するBCタブに平行であっても、あるいは垂直 であってもよい。現在好ましい実施形態では、各ブロック・コネクタごとに、対 応するMLA−1線と、この第1のMLA−1線に垂直な別のMLA−1線があ るので、MLA−1線の数はブロック・コネクタの数の半分である。各MLA− 1線は、プログラム可能な手段を通じ対応するBCタブを通じて、対応するブロ ック・コネクタ、MLA−2線、MLA−3線に接続することができる。MLA −1ルーチング・ネットワークが、Iマトリックス線およびブロック・コネクタ と共に、2×2ブロック領域にルーチング資源を形成することに留意されたい。 このフォーマットは、セルにアクセスし相互接続するより複雑な論理機能構成を 機能強化するものである。さらに、MLA−1ルーチング・ネットワークは、I マトリックス線およびブロック・コネクタと共に、2×2ブロック領域の外部か らの他のMLA線またはブロック・コネクタによる接続を通じてずっと複雑な論 理機能を実施するためのアクセス・ポートとして働くことができる二方向にプロ グラム可能な追加アクセス線になる。プログラム可能なスイッチを使用すること によって、必ずしも2×2ブロック領域に隣接しないIマトリックス線およびブ ロック・コネクタに選択的にアクセスすることができる。したがって、Iマトリ ックス線、ブロック・コネクタ、MLA−1線を含むルーチング・セグメントの 総数の増加は、1つのブロックから2×2ブロックまでは幾何級数的なものであ る。 各BCタブごとに、MLA−2ルーチング線に接続できる二方向にプログラム 可能なドライバがある。たとえば、ブロック・コネクタ・タブ1233は、ドラ イバ1238を介してMLA−2線1237に接続することができる。MLA− 2は、対応するBCタブに平行であっても、あるいは垂直であってもよい。現在 好ましい実施形態では、MLA−2線の数はMLA−1線の数の半分である。各 MLA−2線は、プログラム可能な手段を通じ対応するBCタブを通じて、対応 するブロック・コネクタ、MLA−1線、MLA−3線に接続することができる 。MLA−2ルーチング・ネットワークは、Iマトリックス線、ブロック・コネ クタ、MLA−1ルーチング・ネットワークと共に、セルにアクセスし相互接続 するより複雑な論理機能構成用のルーチング資源を4×4ブロック領域に形成す る。この場合、MLA−2ルーチング・ネットワークは、Iマトリックス線、ブ ロック・コネクタ、MLA−1線と共に、4×4ブロック領域の外部からの他の MLA線またはブロック・コネクタとの接続を通じてずっと複雑な論理機能を実 施するためのアクセス・ポートとして働くことができる二方向にプログラム可能 な追加アクセス線になる。プログラム可能なスイッチによって、アクセスは必ず しも4×4ブロック領域に隣接する必要はない。Iマトリックス線、ブロック・ コネクタ、MLA−1線、MLA−2線を含むルーチング・セグメントの総数は 、論理セルの増加に比例して増加する。総数の増加は、1つのブロックから4× 4ブロックまでは幾何学的なものである。同様に、各BCタブごとに、MLA− 3ルーチング線に接続できる二方向にプログラム可能なドライバがある。たとえ ば、BCタブ1233は、ドライバ1240を介してMLA−3線1239に接 続することができる。MLA−3ルーチング線は、対応するBCタブに平行であ っても、あるいは垂直であってもよい。現在好ましい実施形態では、MLA−3 線の数はMLA−2線の数の半分である。各MLA−3線は、プログラム可能な 手段を通じ対応するBCタブを通じて、対応するブロック・コネクタ、MLA− 1線、MLA−2線に接続することができる。MLA−3ルーチング・ネットワ ークは、Iマトリックス線、ブロック・コネクタ、MLA−1ルーチング・ネッ トワーク、MLA−2ルーチング・ネットワークと共に、セルにアクセスし相互 接続するより複雑な論理機能構成用のルーチング資源を8×8ブロック領域に形 成する。MLA−3ルーチング・ネットワークは、Iマトリックス線、ブロック ・コネクタ、 MLA−1線、MLA−2線と共に、8×8ブロック領域の外部にある他のML A線またはブロック・コネクタによる接続を通じてずっと複雑な論理機能を実施 するためのアクセス・ポートとして働くことができる二方向にプログラム可能な 追加アクセス線になる。この場合、他のMLA線またはブロック・コネクタは必 ずしもプログラム可能な手段を通じて8×8領域に隣接するわけではない。Iマ トリックス線、ブロック・コネクタ、MLA−1線、MLA−2線、MLA−3 線を含む8×8ブロック単位のルーチング・セグメントの総数は、論理セルの増 加に比例して増加する。この増加は、1つのブロックから8×8ブロックまでは 幾何学的なものである。また、各BCタブごとに、MLAタブに接続できる二方 向にプログラム可能なドライバがある。たとえば、BCタブ1233は、ドライ バ1242を介してMLAタブ1241に接続することができる。MLAタブは 、対応するBCタブに平行であっても、あるいは垂直であってもよい。二方向に プログラム可能な各ドライバ(たとえば、ドライバ1236、1238、124 0、1242など)は、プログラム可能な手段を通じて制御されるパスゲートで も、プログラム可能な手段を通じて制御されるパスゲートを含む二方向ドライバ でも、一方向にプログラム可能な手段を通じて制御される三状態およびプログラ ム可能な手段を通じて制御されるパスゲートまたはパスゲートを含むドライバで も、プログラム可能な手段を通じて制御される互いに逆方向の2つの三状態でも よい。どれを選択するかは、速度要件および密度要件の関数である。 一実施形態では、各ブロック・コネクタおよびBCタブは、隣接するブロック への延長部を有する。たとえば、ブロック1201は、プログラム可能なスイッ チ1243を介してブロック1202に接続することができる。BCタブ124 4は、プログラム可能なスイッチ1246を介してBCタブ1245に接続する ことができる。より高いレベルのMLA線を使用する必要なしに、MLA線用の 追加延長を実施してルーチング・レンジを拡張できることに留意されたい。第1 2図に示したルーチング・ネットワークには複数の変形が可能である。たとえば 、ルーチング資源、したがってルーチング可能性を増大するために、MLA−2 ルーチング・ネットワークの2つのコピーを作成することによってMLA−1ル ーチング・ネットワークを置き換えることができる。一方、目的がルーチング面 積 を最小限に抑えることである場合、一実施形態は、MLA−1ルーチング・ネッ トワークをMLA−2ルーチング・ネットワークのコピーで置き換えることによ ってプログラミング・ビットの量を最小限に抑える。このような種類の変形を他 のレベルの組合せに適用することができる。他の実施形態は、1本または複数の MLA線をオフセットすることである。たとえば、第12図では、1247には BCタブ1245、1248、1249、1250からアクセスすることができ る。その代わりに、MLA−1線1247を1ブロックだけシフトし、BCタブ 1248、1251、1250、1252からアクセスできるようにすることが できる。したがって、すべての他のMLA−1線をシフトすることができる。こ れは、他のMLAレベルにも適用することができる。 第13図は、MLA−1ターン・ネットワークを示す。4つの論理ブロック1 301ないし1304を示す。この4つの論理ブロックは、セット1305ない し1308の各MLA−1線に接続される。各MLA−1線は、プログラム可能 な手段(たとえば、ターン・ポイント1309)を通じて、対応する垂直MLA −1線を除くすべての垂直MLA−1線に接続することができる。たとえば、水 平MLA−1線1310はターン・ポイント1312を介して垂直MLA−1線 1311に接続することができる。MLA−1線の目的は、MLA−1ルーチン グ・ネットワーク・レンジ内にある1組のブロック・コネクタどうしを接続する ことである。第13図に示すように4ブロック領域内の対応するブロック・コネ クタを接続する場合、ターン・ポイントを通じて2本の垂直なMLA−2線を使 用する必要なしに、ブロック・コネクタ延長部またはBCタブを通じて対応する 1本のMLA−1線との接続を行うことができる。一実施形態では、ターン・ポ イントの数が減少される。これによって、ターン融通性が制限されるが、MLA −1線上の負荷と設計をレイアウトするのに必要な面積の両方が低減される。し かし、ルーチング融通性およびルーチング可能性が影響を受ける恐れがある。 第14図は、MLA−2ターン・ネットワークを示す。図から分かるように、 各MLA−2線は、プログラム可能な手段を通じて、このMLA−2線に垂直な あらゆるMLA−2線に接続することができる。たとえば、垂直MLA−2線1 401は、ターン・ポイント1403を通じて水平MLA−2線1402に接続 することができる。他の実施形態では、ターン・ポイントの数を減少することに よってターン融通性をさらに制限することができる。これによって、MLA−2 線上の負荷と設計をレイアウトするのに必要な面積の両方が低減される。しかし 、ルーチング融通性およびルーチング可能性が影響を受ける恐れがある。 第15図は、MLA−3ターン・ネットワークを示す。各MLA−3線は、プ ログラム可能な手段によってすべての垂直MLA−3線に接続可能である。たと えば、垂直MLA−3線1501は、ターン・ポイント1503を通じて水平M LA−3線1502に接続することができる。ターン融通性は、ターン・ポイン トの数を減少することによってさらに制限することができる。これによって、M LA−3線上の負荷と設計をレイアウトするのに必要な面積の両方が低減される 。しかし、ルーチング融通性およびルーチング可能性が影響を受ける恐れがある 。 第16図は、MLA−4層用のルーチング・ネットワークと、MLA−4線に アクセスするための機構の一実施形態を示す。第16図は、4つの8×8ブロッ ク1621ないし1624(合計で16×16個のブロック)を示す。4つの8 ×8ブロック1621ないし1624には、MLAタブの4つの水平グループお よび4つの垂直グループが結合される。現在好ましい実施形態では、MLA−4 線およびMLAタブは8ビット幅である。各ブロックが、対応する8つのブロッ ク・コネクタを有するので、各MLAタブの幅は、8本の線に等しいものとして 示されており、この場合、各線は、上記で第12図に示したように8つのブロッ ク・コネクタのうちの1つに対応する。現在好ましい実施形態では、それぞれ、 幅が8本の線に等しい、4本の垂直MLA−4線および4本の水平MLA−4線 がある。したがって、MLA−4線の数はMLA−3線の数の4分の1である。 各MLA−4線は、プログラム可能な手段を通じて、対応するブロック・コネク タ、MLA−1線、MLA−2線、MLA−3線に接続することができる。所望 の接続は、対応するMLAタブおよびBCタブを通じて行われる。MLA−4ル ーチング・ネットワークは、Iマトリックス線、ブロック・コネクタ、MLA− 1ルーチング・ネットワーク、MLA−2ルーチング・ネットワーク、MLA− 3ルーチング・ネットワークと共に、セルのより複雑な論理機能形成アクセスお よび相互接続用のルーチング資源を16×16ブロック領域に形成する。一実施 形態では、MLA−4ルーチング・ネットワークは、両方のIマトリックス線、 ブロック・コネクタ、MLA−1線、MLA−2線、MLA−3線と共に、プロ グラム可能な手段を通じ、16×16ブロック領域の外部からのブロック・コネ クタの他のMLA線による接続を通じてより複雑な論理機能を実施するためのア クセス・ポートとして働くことができる二方向にプログラム可能な追加アクセス 線になる。このような他のMLA線またはブロック・コネクタは必ずしも、16 ×16ブロック領域に隣接する必要はない。16×16ブロック単位中のIマト リックス線、ブロック・コネクタ、MLA−1線、MLA−2線、MLA−3線 、MLA−4線を含むルーチング・セグメントの総数は、論理セルの増加に比例 して増加する。成長が1ブロックから16×16ブロックへのものであるとき、 サイズの増大は幾何級数的てある。各MLAタブから、スイッチを介してMLA タブに接続できる対応するMLA−4線がある。たとえば、MLAタブ1601 は、スイッチ1603を介してMLA−4線1602に接続することができる。 同様に、MLAタブ1601は、スイッチ1605を介してMLA−4線160 4に、スイッチ1607を介してMLA−4線1606に、スイッチ1609を 介してMLA−4線1608に接続することができる。同様に、MLAタブ16 10は、スイッチ1615ないし1618を介してそれぞれ、MLA−4線16 11ないし1614に接続することができる。4つのコーナーのうちの1つの各 MLAタブは、プログラム可能な手段を通じ、垂直MLA−4線または水平ML A−4線を通じて、すべての4つのコーナーのすべての対応するMLAタブに接 続することができる。 第17図は、3つの異なるスイッチ実施形態1701ないし1703を示す。 一般に、スイッチは、二方向にプログラム可能なドライバ・ネットワークであり 、簡単な二方向パスゲートでも、あるいは任意の二方向ドライバ構成1701な いし1703でもよい。 第18図は、MLA−5層用のルーチング・ネットワークと、MLA−5線に アクセスするための機構の一実施形態を示す。16個の8×x8ブロックが示さ れている。各8×8ブロックには、4つの水平MLAタブおよび4つの垂直ML Aタブが結合される。これらのMLAタブは、第16図に示したMLAタブと同 じである。(第16図に示した)16×16ブロックを単位としてグループ化す ると、32×32ブロックからなる1つ上のレベルが形成される。4つの16× 16コーナー単位のそれぞれには、それぞれ、幅が8ビットである、4本の水平 MLA−5線および4本の垂直MLA−5線が結合される。これらの線は、第1 8図に示したように、隣接するコーナー単位によって共用される。したがって、 MLA−5線の数はMLA−4線の数の半分である。各MLA−5線は、プログ ラム可能な手段を通じ、対応するMLAタブおよびBCタブを通じて、対応する ブロック・コネクタ、MLA−1線、MLA−2線、MLA−3線、MLA−4 線に接続することができる。MLA−5ルーチング・ネットワークは、Iマトリ ックス線、ブロック・コネクタ、MLA−1ルーチング・ネットワーク、MLA −2ルーチング・ネットワーク、MLA−3ルーチング・ネットワーク、MLA 一4ルーチング・ネットワークと共に、セルのより複雑な論理機能形成アクセス および相互接続用のルーチング資源を32×32ブロック領域に形成する。さら に、MLA−5ルーチング・ネットワークは、両方のIマトリックス線、ブロッ ク・コネクタ、MLA−1線、MLA−2線、MLA−3線、MLA−4線と共 に、プログラム可能な手段を通じ、32×32ブロック領域の外部からのブロッ ク・コネクタの他のMLA線(必ずしも32×32ブロック領域に隣接する必要 はない)による接続を通じてずっと複雑な論理機能を実施するためのアクセス・ ポートとして働くことができる二方向にプログラム可能な追加アクセス線として 使用することができる。32×32ブロック単位中のIマトリックス線、ブロッ ク・コネクタ、MLA−1線、MLA−2線、MLA−3線、MLA−4線、M LA−5線を含むルーチング・セグメントの総数は、論理セルの増加に比例して 増加する。この増加は、1つのブロックから32×32ブロックまでは幾何学的 である。 各MLAタブから、スイッチを介してMLAタブに接続できる対応するMLA −5線がある。スイッチは、二方向にプログラム可能なドライバ・ネットワーク であり、簡単な二方向パスゲートでも、あるいは第17図に示した任意の二方向 ドライバ構成でもよい。垂直MLA−5線が、プログラム可能な手段を通じて水 平MLA−5と交差する位置にはターン・ポイントも組み込まれる。4つのコー ナーのうちの1つの各MLAタブは、プログラム可能な手段を通じて、すべての 4つのコーナーのすべての対応するMLAタブに接続することができる。これは 、垂直MLA−5線および水平MLA−5線とのプログラム可能な接続を組み合 わせ、ターン・ポイントを使用することによって実施される。 MLAタブを介したプログラム可能なアクセスにより、あるいは新しい他の中 間MLAタブを導入することによって、より高いレベルのMLAネットワークを 形成することができる。そのような例では、MLA線の数は、1つ下のレベルの MLAの一部である。Iマトリックス線、ブロック・コネクタ、MLA−1線、 MLA−2線、MLA−3線、MLA−4線、MLA−5線、より高いレベルの MLA線を含むルーチング・セグメントの総数ならびにそれに対応する数のn× nブロック単位は、論理セルの増加に比例して増加する。成長が1ブロックから nxnブロックへのとき、この増大は幾何級数的である。 したがって、プログラム可能な論理回路用の内部接続・相互接続機構を含むア ーキテクチャを開示した。
【手続補正書】特許法第184条の8 【提出日】1996年6月25日 【補正内容】補正請求の範囲 1.プログラム可能な論理回路であって、 論理信号上の論理機能を実行するために、相互接続されたプログラム可能な複 数のセルを有する複数の論理ブロックと、 前記複数の論理ブロックの前記プログラム可能なセルに結合された第1の1組 のプログラム可能なスイッチと、 前記複数の論理ブロックに至る二方向にプログラム可能な第1の1組のアクセ ス線を形成するために前記第1の1組のプログラム可能なスイッチに結合され、 前記二方向にプログラム可能な第1の1組のアクセス線が、プログラム可能な手 段を通じて前記複数の論理ブロック用の入出力ピンとして機能する、第1の1組 のルーチン線と、 前記二方向にプログラム可能な第1の1組のアクセス線に結合された第2の1 組のプログラム可能なスイッチと、 前記第2の1組のプログラム可能なスイッチに結合された第2の1組のルーチ ング線とを備えるプログラム可能な論理回路。 2.さらに、 前記第2の1組のルーチング線のうちの複数の線を選択的に結合し、前記第2 の1組のルーチング線と第3の1組のプログラム可能なスイッチ自体が、第1の レベルの相互接続部を構成する、第3の1組のプログラム可能なスイッチと、 前記第2の1組のプログラム可能なスイッチに接続できる第3の1組のルーチ ング線とを備えることを特徴とする請求項1に記載のプログラム可能な論理回路 。 3.さらに、 前記第3の1組のルーチング線のうちの複数の線を選択的に結合し、前記第3 の1組のルーチング線と第4の1組のプログラム可能なスイッチ自体が、第2の レベルの相互接続部を構成する、第4の1組のプログラム可能なスイッチと、 前記複数の論理ブロックを前記第1のレベルの相互接続部を介して選択的に前 記第2のレベルの相互接続部に結合するために、前記第3の1組のルーチング線 と前記第2の1組のルーチング線との間に接続できる第5の1組のプログラム可 能なスイッチとを備えることを特徴とする請求項2に記載のプログラム可能な論 理回路。 4.さらに、 第1の論理ブロックの前記二方向にプログラム可能な第1の1組のアクセス線 のうちの線を選択的に第2の論理ブロックの前記二方向にプログラム可能な第1 の1組のアクセス線のうちの線に結合する第6の1組のプログラム可能なスイッ チを備え、前記第1の論理ブロックが前記第2の論理ブロックに隣接することを 特徴とする請求項1に記載のプログラム可能な論理回路。 5.前記複数の論理ブロックの各論理ブロックごとの前記第1の1組のルーチ ン線の線の数が、前記論理ブロックの前記複数のセルの数の約半分であることを 特徴とする請求項4に記載のプログラム可能な論理回路。 6.前記第2の1組のルーチング線のそれぞれのスパンが、前記第1の1組の ルーチング線のそれぞれのスパンの2倍であることを特徴とする請求項2に記載 のプログラム可能な論理回路。 7.前記第2の1組のルーチング線の数が、前記第1の1組のルーチング線の 数の半分であることを特徴とする請求項2に記載のプログラム可能な論理回路。 8.前記第3の1組のルーチング線のそれぞれのスパンが、前記第2の1組の ルーチング線のそれぞれのスパンの2倍であることを特徴とする請求項3に記載 のプログラム可能な論理回路。 9.前記第3の1組のルーチング線の数が、前記第2の1組のルーチング線の 数の半分であることを特徴とする請求項3に記載のプログラム可能な論理回路。 10.さらに、 前記第2の1組のプログラム可能なスイッチに接続できる第4の1組のルーチ ング線と、 前記第4の1組のルーチング線のうちの複数の線を選択的に結合し、前記第4 の1組のルーチング線と第7の1組のプログラム可能なスイッチ自体が、第3の レベルの相互接続部を備える第7の1組のプログラム可能なスイッチと、 前記複数の論理ブロックを前記第2のレベルの相互接続部または前記第1のレ ベルの相互接続部を介して選択的に前記第3のレベルの相互接続部に結合するた めに、前記第4の1組のルーチング線と前記第3の1組のルーチング線との間に 接続できる第8の1組のプログラム可能なスイッチとを備えることを特徴とする 請求項1に記載のプログラム可能な論理回路。 11.前記第4の1組のルーチング線のそれぞれのスパンが、前記第3の1組 のルーチング線のそれぞれのスパンの2倍であり、前記第4の1組のルーチング 線の数が前記第3の1組のルーチン線の数の半分であることを特徴とする請求項 10に記載のプログラム可能な論理回路。 12.前記第4の1組のルーチング線と前記第7の1組のプログラム可能なス イッチが、第3のレベルの相互接続部を備えることを特徴とする請求項10に記 載のプログラム可能な論理回路。 13.さらに、第4のレベルの相互接続部を形成するために前記第2の1組の プログラム可能なスイッチに接続できる第5の1組のルーチング線を備えること を特徴とする請求項1に記載のプログラム可能な論理回路。 14.前記第5の1組のルーチング線のそれぞれのスパンが、前記第3の1組 のルーチング線のそれぞれのスパンの2倍であることを特徴とする請求項13に 記載のプログラム可能な論理回路。 15.前記第5の1組のルーチング線の数が、前記第3の1組のルーチング線 の数の半分であることを特徴とする請求項13に記載のプログラム可能な論理回 路。 16.さらに、 第5のレベルの相互接続部を備える第6の1組のルーチング線と、 前記第6の1組のルーチング線と第5の1組のルーチング線との間に接続する ことができ、前記複数の論理ブロックを前記第4のレベルの相互接続部を介して 選択的に前記第5のレベルの相互接続部に結合し、第1のレベルの相互接続部と 、第2のレベルの相互接続部と、第3のレベルの相互接続部をバイパスする、前 記二方向にプログラム可能な第1の1組のアクセス線からの信号を伝導させるこ とができる、第9の1組のプログラム可能なスイッチとを備えることを特徴とす る請求項1に記載のプログラム可能な論理回路。 17.前記第6の1組のルーチング線のそれぞれのスパンが、前記第4の1組 のルーチン線のそれぞれのスパンの2倍であることを特徴とする請求項16に記 載のプログラム可能な論理回路。 18.前記第6の1組のルーチング線の数が、前記第4の1組のルーチング線 の数の4分の1であることを特徴とする請求項16に記載のプログラム可能な論 理回路。 19.さらに、 第7の1組のルーチング線と、 前記第7の1組のルーチング線のうちの複数の線を選択的に結合するために結 合され、前記第7の1組のルーチング線と第10の1組のプログラム可能なスイ ッチ自体が第6のレベルの相互接続部を備える第10の1組のプログラムスイッ チと、 前記第7の1組のルーチング線と前記第5の1組のルーチング線との間に接続 することができ、前記第4のレベルの相互接続部を介して前記複数の論理回路を 選択的に結合し、第1のレベルの相互接続部、第2のレベルの相互接続部、第3 のレベルの相互接続部、第5のレベルの相互接続部をバイパスする、前記二方向 にプログラム可能な第1の1組のアクセス線からの信号を伝導させることができ る、第11の1組のプログラム可能なスイッチとを備えることを特徴とする請求 項1に記載のプログラム可能な論理回路。 20.前記第7の1組のルーチング線のそれぞれのスパンが、前記第6の1組 のルーチン線のそれぞれのスパンの2倍であることを特徴とする請求項19に記 載のプログラム可能な論理回路。 21.前記第7の1組のルーチング線の数が、前記第6の1組のルーチング線 の数の半分であることを特徴とする請求項19に記載のプログラム可能な論理回 路。 22.前記第1のレベルの相互接続部が、二方向にプログラム可能な第2の1 組のアクセス線として機能することを特徴とする請求項2に記載のプログラム可 能な論理回路。 23.前記第2のレベルの相互接続部が、二方向にプログラム可能な第3の1 組のアクセス線として機能することを特徴とする請求項3に記載のプログラム可 能な論理回路。 24.前記スイッチが、二方向にプログラム可能なドライバを備えることを特 徴とする請求項1に記載のプログラム可能な回路。 25.前記スイッチが、二方向にプログラム可能なパスゲートを備えることを 特徴とする請求項1に記載のプログラム可能な回路。 26.さらに、隣接する1組の論理ブロックの二方向にプログラム可能な第1 の1組のアクセス線のうちの隣接する1組のアクセス線を選択的に前記第1のレ ベルの相互接続部に結合する第12の1組のプログラム可能なスイッチを備える ことを特徴とする請求項2に記載のプログラム可能な論理回路。 27.さらに、隣接する1組の論理ブロックの二方向にプログラム可能な第1 の1組のアクセス線のうちの隣接する1組のアクセス線を前記第2のレベルの相 互接続部に結合する第3の1組のプログラム可能なスイッチを備えることを特徴 とする請求項1に記載のプログラム可能な論理回路。 28.さらに、隣接する1組の論理ブロックの二方向にプログラム可能な第1 の1組のアクセス線のうちの隣接する1組のアクセス線を選択的に前記第3のレ ベルの相互接続部に結合する第14の1組のプログラム可能なスイッチを備える ことを特徴とする請求項1に記載のプログラム可能な論理回路。 29.さらに、隣接する1組の論理ブロックの二方向にプログラム可能な第1 の1組のアクセス線のうちの隣接する1組のアクセス線を選択的に前記第4のレ ベルの相互接続部に結合する第15の1組のプログラム可能なスイッチを備える ことを特徴とする請求項13に記載のプログラム可能な論理回路。 30.さらに、前記第4のレベルの相互接続部のうちの隣接する1組の相互接 続部を選択的に第5のレベルの相互接続部に結合する第16の1組のプログラム 可能なスイッチを備えることを特徴とする請求項16に記載のプログラム可能な 論理回路。 31.さらに、前記第4のレベルの相互接続部のうちの隣接する1組の相互接 続部を選択的に第6のレベルの相互接続部に結合する第17の1組のプログラム 可能なスイッチを備えることを特徴とする請求項19に記載のプログラム可能な 論理回路。 32.前記第3のレベルの相互接続部が、二方向にプログラム可能な第4の1 組のアクセス線として機能することを特徴とする請求項10に記載のプログラム 可能な論理回路。 33.前記第4のレベルの相互接続部が、二方向にプログラム可能な第5の1 組のアクセス線として機能することを特徴とする請求項13に記載のプログラム 可能な論理回路。 34.前記第5のレベルの相互接続部が、二方向にプログラム可能な第6の1 組のアクセス線として機能することを特徴とする請求項16に記載のプログラム 可能な論理回路。 35.前記第6のレベルの相互接続部が、二方向にプログラム可能な第7の1 組のアクセス線として機能することを特徴とする請求項19に記載のプログラム 可能な論理回路。 36.さらに、 各論理ブロックが複数の論理クラスタの論理クラスタを有し、それぞれ、論理 信号上の論理関数を実行する相互接続されたプログラム可能な複数のセルを有す る、複数の論理クラスタと、 前記論理クラスタの前記複数のセルに結合された第18の1組のプログラム可 能なスイッチと、 前記論理クラスタに結合された1組の内部接続マトリックス・ルーチング線を 形成するために前記第18の1組のプログラム可能なスイッチに結合された第8 の1組のルーチング線とを備えることを特徴とする請求項1に記載のプログラム 可能な論理回路。 37.前記1組の内部接続マトリックス・ルーチン線が、プログラム可能な手 段を通じた前記論理クラスタの前記複数の論理セル用の短距離接続部として機能 することを特徴とする請求項36に記載のプログラム可能な論理回路。 38.前記1組の内部接続マトリックス・ルーチング線の線の数が、前記論理 クラスタ中の前記複数のセルの入力ピンおよび出力ピンの総数のほぼ半数に等し いことを特徴とする請求項36に記載のプログラム可能な論理回路。 39.前記1組の内部接続マトリックス・ルーチング線の各線のスパンが、前 記二方向にプログラム可能な第1の1組のアクセス線の各線のスパンの半分に等 しいことを特徴とする請求項36に記載のプログラム可能な論理回路。 40.前記論理ブロックの前記セルが、前記複数の論理クラスタの前記複数の セルを備えることを特徴とする請求項36に記載のプログラム可能な論理回路。 41.さらに、第1の論理クラスタの前記1組の内部接続マトリックスの線を 選択的に第2の論理クラスタに結合する第19の1組のプログラム可能なスイッ チを備え、前記第1の論理クラスタが、前記第2の論理クラスタに隣接すること を特徴とする請求項36に記載のプログラム可能な論理回路。 42.それぞれ、論理信号上の論理関数を実行する相互接続されたプログラム 可能な複数のセルを有する複数の論理クラスタと、 1組の前記複数の論理クラスタを結合する1組の内部接続マトリックス・ルー チング線と、 それぞれ、複数の論理クラスタの論理クラスタを有する複数の論理ブロックと 、 第1の1組の複数の論理ブロックを結合する二方向にプログラム可能な第1の 1組のアクセス線とを備えることを特徴とするプログラム可能な論理回路。 43.さらに、前記二方向にプログラム可能な第1の1組のアクセス線のうち の少なくとも2本を結合する第1のレベルの相互接続部を備えることを特徴とす る請求項42に記載のプログラム可能な論理回路。 44.さらに、前記第1の論理ブロックに対応する信号をプログラム可能に前 記第1のレベルの相互接続部へ伝導させるために第1の論理ブロックの前記二方 向にプログラム可能な第1の1組のアクセス線のうちの1本のアクセス線に結合 された第1のプログラム可能なスイッチを備えることを特徴とする請求項43に 記載のプログラム可能な論理回路。 45.さらに、少なくとも2つの前記第1のレベルの相互接続部を結合する第 2のレベルの相互接続部を備えることを特徴とする請求項44に記載のプログラ ム可能な論理回路。 46.さらに、前記第1の論理ブロックに対応する前記信号をプログラム可能 に前記第2のレベルの相互接続部へ伝導させるために前記第1の論理ブロックの 前記二方向にプログラム可能な第1の1組のアクセス線のうちの前記1本のアク セス線に接続することができる第2のプログラム可能なスイッチを備え、前記信 号によって前記第1のレベルの相互接続部をバイパスすることができることを特 徴とする請求項45に記載のプログラム可能な回路。 47.さらに、 少なくとも2つの前記第2のレベルの相互接続部を結合する第3のレベルの相 互接続部を備えることを特徴とする請求項46に記載のプログラム可能な論理回 路。 48.さらに、前記第1の論理ブロックに対応する前記信号をプログラム可能 に前記第3のレベルの相互接続部へ伝導させるために前記第1の論理ブロックの 前記二方向にプログラム可能な第1の1組のアクセス線のうちの前記1本のアク セス線に接続することができる第3のプログラム可能なスイッチを備え、前記信 号によって前記第1のレベルの相互接続部および第2のレベルの相互接続部をバ イパスすることができることを特徴とする請求項47に記載のプログラム可能な 回路。 49.さらに、nが1より大きいとき、少なくとも2つのn−1の相互接続レ ベルに結合されたn番目のレベルの相互接続部と、 前記第1の論理ブロックに対応する前記信号をプログラム可能に前記n番目の レベルの相互接続部へ伝導させるために前記第1の論理ブロックの前記二方向に プログラム可能な第1の1組のアクセス線のうちの前記1本のアクセス線に接続 することができるn番目のプログラム可能なスイッチとを備え、mが1以上でn より小であるとき、前記信号によってm番目のレベルの相互接続部をバイパスす ることができることを特徴とする請求項43に記載のプログラム可能な論理回路 。 50.さらに、前記第1の論理クラスタの前記1組の内部接続マトリックス・ ルーチング線のうちの前記1本の内部接・続マトリックス・ルーチング線に対応 する前記信号を第2の論理クラスタの前記1組の内部接続マトリックス・ルーチ ング線のうちの1本の内部接続マトリックス・ルーチング線へプログラム可能に 伝導させるために、前記第1の論理クラスタの前記1組の内部接続マトリックス ・ルーチング線のうちの前記1本の内部接続マトリックス・ルーチング線に接続 することができる第5のプログラム可能なスイッチを備え、前記第1の論理クラ スタが前記第2の論理クラスタに隣接することを特徴とする請求項42に記載の プログラム可能な論理回路。 51.さらに、前記第1の論理ブロックの前記二方向にプログラム可能な第1 の1組のアクセス線のうちの前記1本のアクセス線を第2の論理ブロックの二方 向にプログラム可能な第1の1組のアクセス線のうちの1本のアクセス線へプロ グラム可能に伝導させるために、前記第1の論理ブロックの前記二方向にアクセ ス可能な第1の1組のアクセス線のうちの前記1本のアクセス線に接続すること ができる第5のプログラム可能なスイッチを備え、前記第1のレベルの相互接続 部をバイパスすることができ、前記第1の論理ブロックが前記第2の論理ブロッ クに隣接することを特徴とする請求項42に記載のプログラム可能な論理回路。 52.前記スイッチが、二方向にプログラム可能なドライバを備えることを特 徴とする請求項42に記載のプログラム可能な論理回路。 53.前記スイッチが、二方向にプログラム可能なパスゲートを備えることを 特徴とする請求項42に記載のプログラム可能な論理回路。 54.さらに、隣接する1組の論理ブロックの二方向にプログラム可能な第1 の1組のアクセス線のうちの隣接する1組のアクセス線を選択的に前記第1のレ ベルの相互接続部に結合する第6の1組のプログラム可能なスイッチを備えるこ とを特徴とする請求項43に記載のプログラム可能な論理回路。 55.論理信号上の論理関数を実行する複数のセルを有するプログラム可能な 論理回路において、一群の前記セルのうちのあるセルから別のセルへ信号をルー チングすることによって前記セルをプログラム可能に結合する複雑な論理関数を 形成する方法であって、 1組の内部接続マトリックス・ルーチング線を介して第1の論理クラスタ、第 2の論理クラスタ、第3の論理クラスタを形成するために前記複数のセルをプロ グラム可能に相互接続するステップと、 第1の論理クラスタの第1の1組の内部接続マトリックス・ルーチング線に対 応する信号を、二方向にプログラム可能な第1の1組のアクセス線を介して前記 第2の論理クラスタの第1の1組の内部接続マトリックス・ルーチング線へプロ グラム可能に伝導させるステップと、 それぞれが複数の論理クラスタを有する第1の論理ブロック、第2の論理ブロ ック、第3の論理ブロックを形成するために前記複数のセルをプログラム可能に 相互接続するステップと、 第1の論理ブロックの二方向にプログラム可能な第1の1組のアクセス線に対 応する信号を、第2の論理ブロックの二方向にプログラム可能な第1の1組のア クセス線を介して前記第3の論理ブロックの二方向にプログラム可能な第1の1 組のアクセス線へプログラム可能に伝導させるステップとを含むことを特徴とす る方法。 56.前記第1の1組の内部接続マトリックス・ルーチング線のそれぞれのス パンが、前記二方向にプログラム可能な第1の1組のアクセス線のそれぞれのス パンの一部分であり、前記1組の内部接続マトリックス・ルーチング線の線の数 が、前記論理クラスタ中の前記セルの入出力ピンの数の一部分であることを特徴 とする請求項55に記載の方法。 57.前記二方向にプログラム可能な第1の1組のアクセス線のそれぞれのス パンが、前記第1のレベルの相互接続線のそれぞれのスパンの一部分であり、前 記第1のレベルの相互接続線の線の数が、論理ブロック回路面積全体にわたる前 記二方向にプログラム可能な第1の1組のアクセス線の数の一部分であることを 特徴とする請求項55に記載の方法。 58.さらに、 前記信号を、前記第1のレベルの相互接続部の線を伝導させることによって、 第2のレベルの相互接続部を介して前記第3の論理ブロックの二方向にプログラ ム可能な第1の1組のアクセス線へプログラム可能に伝導させるステップを含む ことを特徴とする請求項55に記載の方法。 59.さらに、 前記信号を、前記第1のレベルの相互接続部の線を伝導させずに、第2のレベ ルの相互接続部の線を介して前記第3の論理ブロックの二方向にプログラム可能 な第1の1組のアクセス線へプログラム可能に伝導させるステップを含むことを 特徴とする請求項55に記載の方法。 60.前記第1のレベルの相互接続線のそれぞれのスパンが、前記第2のレベ ルの相互接続線のそれぞれのスパンの一部分であり、前記第2のレベルの相互接 続線の線の数が、論理ブロック回路面積全体にわたる前記第1のレベルの相互接 続線の数の一部分であることを特徴とする請求項58に記載の方法。 61.さらに、前記信号を、前記第1のレベルの相互接続部の線と前記第2の レベルの相互接続部の線を伝導させることによって、第3のレベルの相互接続部 の線を介して前記第4の論理ブロックの二方向にプログラム可能な第1の1組の アクセス線へプログラム可能に伝導させるステップを含むことを特徴とする請求 項55に記載の方法。 62.さらに、前記信号を、前記第1のレベルの相互接続部内も前記第2のレ ベルの相互接続部内も伝導させずに、第3のレベルの相互接続部を介して前記第 4の論理ブロックの二方向にプログラム可能な第1の1組のアクセス線へプログ ラム可能に伝導させるステップを含むことを特徴とする請求項55に記載の方法 。 63.前記第2のレベルの相互接続線のそれぞれのスパンが、前記第3のレベ ルの相互接続線のそれぞれのスパンの一部分であり、前記第3のレベルの相互接 続線の線の数が、論理ブロック回路面積全体にわたる前記第2のレベルの相互接 続線の数の一部分であることを特徴とする請求項62に記載の方法。 64.さらに、第4のレベルの相互接続部に結合されたルーチング線へ前記信 号をプログラム可能に伝導させるステップを含み、各線のスパンおよび前記第4 のレベルの相互接続部の線の数が前記第3のレベルの相互接続部の線に比例する ことを特徴とする請求項62に記載の方法。 65.さらに、前記信号をプログラム可能に直接、前記第2の論理クラスタへ 伝導させ、前記二方向にアクセス可能な第1の1組のアクセス線をバイパスする ステップを備えることを特徴とする請求項55に記載の方法。 66.さらに、前記信号をプログラム可能に直接、前記第2の論理ブロックへ 伝導させ、前記第1のレベルの相互接続部の線をバイパスするステップを備える ことを特徴とする請求項55に記載の方法。 67.前記信号を、前記第1のレベルの相互接続部の線、または前記第2のレ ベルの相互接続部の線、または前記第3のレベルの相互接続部の線を導電させる ことによって、第5のレベルの相互接続部の線を介し、前記第4のレベルの相互 接続部の線を介して第5の論理ブロックの二方向にプログラム可能な第1の1組 のアクセス線へプログラム可能に導電させるステップを含むことを特徴とする請 求項64に記載の方法。 68.前記信号を、前記第1のレベルの相互接続部の線も、あるいは前記第2 のレベルの相互接続部の線も、あるいは前記第3のレベルの相互接続部の線も導 電させずに、第5のレベルの相互接続部の線を介し、前記第4のレベルの相互接 続部の線を介して第5の論理ブロックの二方向にプログラム可能な第1の1組の アクセス線へプログラム可能に導電させるステップを含むことを特徴とする請求 項64に記載の方法。 69.前記第4のレベルの相互接続線のそれぞれのスパンが、前記第5のレベ ルの相互接続線のそれぞれのスパンの一部分であり、前記第5のレベルの相互接 続線の線の数が、論理ブロック回路面積全体にわたる前記第4のレベルの相互接 続線の数の一部分であることを特徴とする請求項68に記載の方法。 70.前記信号を、前記第1のレベルの相互接続部の線、または前記第2のレ ベルの相互接続部の線、または前記第3のレベルの相互接続部の線、または前記 第5のレベルの相互接続部の線を導電させることによって、第6のレベルの相互 接続部の線を介し前記第4のレベルの相互接続部の線を通じて第6の論理ブロッ クの二方向にプログラム可能な第1の1組のアクセス線へプログラム可能に導電 させるステップを含むことを特徴とする請求項68に記載の方法。 71.前記信号を、前記第1のレベルの相互接続部の線も、あるいは前記第2 のレベルの相互接続部の線も、あるいは前記第3のレベルの相互接続部の線も、 あるいは前記第5のレベルの相互接続部の線も導電させずに、第6のレベルの相 互接続部の線を介し、前記第4のレベルの相互接続部の線を通じて第6の論理ブ ロックの二方向にプログラム可能な第1の1組のアクセス線へプログラム可能に 導電させるステップを含むことを特徴とする請求項68に記載の方法。 72.前記第5のレベルの相互接続線のそれぞれのスパンが、前記第6のレベ ルの相互接続線のそれぞれのスパンの一部分であり、前記第6のレベルの相互接 続線の線の数が、論理ブロック回路面積全体にわたる前記第5のレベルの相互接 続線の数の一部分であることを特徴とする請求項71に記載の方法。 73.さらに、隣接する1組の前記論理ブロックの前記二方向にプログラム可 能な第1の1組のアクセス線のうちの隣接する1組のアクセス線を1組のプログ ラム可能なスイッチを介して選択的に前記第1のレベルの相互接続部の線に結合 するステップを含むことを特徴とする請求項55に記載の方法。 74.さらに、隣接する1組の前記論理ブロックの前記二方向にプログラム可 能な第1の1組のアクセス線のうちの隣接する1組のアクセス線を1組のプログ ラム可能なスイッチを介して選択的に前記第2のレベルの相互接続部の線に結合 するステップを含むことを特徴とする請求項55に記載の方法。 75.さらに、隣接する1組の前記論理ブロックの前記二方向にプログラム可 能な第1の1組のアクセス線のうちの隣接する1組のアクセス線を1組のプログ ラム可能なスイッチを介して選択的に前記第3のレベルの相互接続部の線に結合 するステップを含むことを特徴とする請求項55に記載の方法。 76.さらに、隣接する1組の前記論理ブロックの前記二方向にプログラム可 能な第1の1組のアクセス線のうちの隣接する1組のアクセス線を1組のプログ ラム可能なスイッチを介して選択的に前記第4のレベルの相互接続部の線に結合 するステップを含むことを特徴とする請求項64に記載の方法。 77.さらに、隣接する1組の前記第4のレベルの相互接続部を1組のプログ ラム可能なスイッチを介して選択的に前記第5のレベルの相互接続部に結合する ステップを含むことを特徴とする請求項68に記載の方法。 78.さらに、隣接する1組の前記第4のレベルの相互接続部を1組のプログ ラム可能なスイッチを介して選択的に前記第6のレベルの相互接続部に結合する ステップを含むことを特徴とする請求項81に記載の方法。 79.前記スイッチが、二方向にプログラム可能なスイッチを備えることを特 徴とする請求項71に記載の方法。 80.前記スイッチが、二方向にプログラム可能なパスゲートを備えることを 特徴とする請求項71に記載の方法。 81.FPGAであって、 前記FPGAに入力される信号上の論理関数を実行する複数のセルと、 論理クラスタを形成するために前記複数のセルをプログラム可能に相互接続す る内部接続マトリックスと、 論理クラスタ延長部を形成するために、隣接する2つの前記内部接続マトリッ クス間に接続することができるプログラム可能な複数のスイッチと、 論理ブロックを形成するために複数の論理クラスタに接続でき、その論理ブロ ックへ入力し、その論理ブロックへ出力する複数のブロック・コネクタと、 論理クラスタ延長部を形成するために、隣接する2つの前記論理ブロック間に 接続することができるプログラム可能な複数のスイッチと、 ブロック・クラスタを形成するために複数の論理ブロックを相互接続する第1 のレベルのプログラム可能な相互接続部と、 ブロック・セクタを形成するために複数のブロック・クラスタを相互接続する 第2のレベルのプログラム可能な相互接続部と、 前記第1のレベルのプログラム可能な相互接続部に複数の論理ブロックを接続 する第1の1組のプログラム可能なスイッチと、 前記第2のレベルのプログラム可能な相互接続部に複数の論理ブロックを接続 する第2の1組のプログラム可能なスイッチとを備えることを特徴とするFPG A。 82.前記論理クラスタが、セルの2×2マトリックスを備えることを特徴と する請求項81に記載のFPGA。 83.前記論理ブロックが、論理クラスタの2×2マトリックスを備えること を特徴とする請求項82に記載のFPGA。 84.前記ブロック・クラスタが、論理ブロックの2×2マトリックスを備え ることを特徴とする請求項83に記載のFPGA。 85.前記ブロック・セクタが、ブロック・クラスタの2×2マトリックスを 備えることを特徴とする請求項84に記載のFPGA。 86.第1のレベルの相互接続部が、第1の1組のルーチン線と、前記第1の 1組のルーチン線に垂直な第2の1組のルーチン線とを備えることを特徴とする 請求項81に記載のFPGA。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FR,GB,GR,IE,IT,LU,M C,NL,PT,SE),OA(BF,BJ,CF,CG ,CI,CM,GA,GN,ML,MR,NE,SN, TD,TG),AP(KE,MW,SD,SZ,UG), AM,AT,AT,AU,BB,BG,BR,BY,C A,CH,CN,CZ,CZ,DE,DE,DK,DK ,EE,EE,ES,FI,FI,GB,GE,HU, IS,JP,KE,KG,KP,KR,KZ,LK,L R,LT,LU,LV,MD,MG,MN,MW,MX ,NO,NZ,PL,PT,RO,RU,SD,SE, SG,SI,SK,SK,TJ,TM,TT,UA,U G,UZ,VN 【要約の続き】 ング・ネットワーク線層どうしを接続することができ る。

Claims (1)

  1. 【特許請求の範囲】 1.プログラム可能な論理回路であって、 論理信号上の論理機能を実行するために、相互接続されたプログラム可能な複 数のセルを有する複数の論理ブロックと、 前記複数の論理ブロックの前記複数のセルに結合された第1の1組のプログラ ム可能なスイッチと、 前記複数の論理ブロックに至る二方向にプログラム可能な第1の1組のアクセ ス線を形成するために前記第1の1組のプログラム可能なスイッチに結合され、 前記二方向にプログラム可能な第1の1組のアクセス線が、プログラム可能な手 段を通じて前記複数の論理ブロック用の入出力ピンとして機能する、第1の1組 のルーチン線と、 前記二方向にプログラム可能な第1の1組のアクセス線に結合された第2の1 組のプログラム可能なスイッチと、 前記第2の1組のプログラム可能なスイッチに結合された第2の1組のルーチ ング線とを備えるプログラム可能な論埋回路。 2.さらに、 前記第2の1組のルーチング線のうちの複数の線を選択的に結合し、前記第2 の1組のルーチング線と第3の1組のプログラム可能なスイッチ自体が、第1の レベルの相互接続部を構成する、第3の1組のプログラム可能なスイッチと、 前記第2の1組のプログラム可能なスイッチに接続できる第3の1組のルーチ ング線とを備えることを特徴とする請求項1に記載のプログラム可能な論理回路 。 3.さらに、 前記第3の1組のルーチング線のうちの複数の線を選択的に結合し、前記第3 の1組のルーチング線と第4の1組のプログラム可能なスイッチ自体が、第2の レベルの相互接続部を構成する、第4の1組のプログラム可能なスイッチと、 前記複数の論理ブロックを前記第1のレベルの相互接続部を介して選択的に前 記第2のレベルの相互接続部に結合するために、前砧第3の1組のルーチング線 と前記第2の1組のルーチング線との間に接続できる第5の1組のプログラム可 能なスイッチとを備えることを特徴とする請求項2に記載のプログラム可能な論 理回路。 4.さらに、 第1の論理ブロックの前記二方向にプログラム可能な第1の1組のアクセス線 のうちの線を選択的に第2の論理ブロックの前記二方向にプログラム可能な第1 の1組のアクセス線のうちの線に結合する第6の1組のプログラム可能なスイッ チを備え、前記第1の論理ブロックが前記第2の論理ブロックに隣接することを 特徴とする請求項1に記載のプログラム可能な論理回路。 5.前記複数の論理ブロックの各論理ブロックごとの前記第1の1組のルーチ ン線の線の数が、前記論理ブロックの前記複数のセルの数の約半分であることを 特徴とする請求項4に記載のプログラム可能な論理回路。 6.前記第2の1組のルーチング線のそれぞれのスパンが、前記第1の1組の ルーチング線のそれぞれのスパンの2倍であることを特徴とする請求項2に記載 のプログラム可能な論理回路。 7.前記第2の1組のルーチング線の数が、前記第1の1組のルーチング線の 数の半分であることを特徴とする請求項2に記載のプログラム可能な論理回路。 8.前記第3の1組のルーチング線のそれぞれのスパンが、前記第2の1組の ルーチング線のそれぞれのスパンの2倍であることを特徴とする請求項3に記載 のプログラム可能な論理回路。 9.前記第3の1組のルーチング線の数が、前記第2の1組のルーチング線の 数の半分であることを特徴とする請求項3に記載のプログラム可能な論理回路。 10.さらに、 前記第2の1組のプログラム可能なスイッチに接続できる第4の1組のルーチ ング線と、 前記第4の1組のルーチング線のうちの複数の線を選択的に結合し、前記第4 の1組のルーチング線と第7の1組のプログラム可能なスイッチ自体が、第3の レベルの相互接続部を備える第7の1組のプログラム可能なスイッチと、 前記複数の論理ブロックを前記第2のレベルの相互接続部または前記第1のレ ベルの相互接続部を介して選択的に前記第3のレベルの相互接続部に結合するた めに、前記第4の1組のルーチング線と前記第3の1組のルーチング線との間に 接続できる第8の1組のプログラム可能なスイッチとを備えることを特徴とする 請求項1に記載のプログラム可能な論理回路。 11.前記第4の1組のルーチング線のそれぞれのスパンが、前記第3の1組 のルーチング線のそれぞれのスパンの2倍であり、煎記第4の1組のルーチング 線の数が前記第3の1組のルーチン線の数の半分であることを特徴とする請求項 10に記載のプログラム可能な論理回路。 12.前記第4の1組のルーチング線と前記第7の1組のプログラム可能なス イッチが、第3のレベルの相互接続部を備えることを特徴とする請求項10に記 載のプログラム可能な論理回路。 13.さらに、第4のレベルの相互接続部を形成するために前記第2の1組の プログラム可能なスイッチに接続できる第5の1組のルーチング線を備えること を特徴とする請求項1に記載のプログラム可能な論理回路。 14.前記第5の1組のルーチング線のそれぞれのスパンが、前記第3の1組 のルーチング線のそれぞれのスパンの2倍であることを特徴とする請求項13に 記載のプログラム可能な論理回路。 15.前記第5の1組のルーチング線の数が、前記第3の1組のルーチング線 の数の半分であることを特徴とする請求項13に記載のプログラム可能な論理回 路。 16.さらに、 第5のレベルの相互接続部を備える第6の1組のルーチング線と、 前記第6の1組のルーチング線と第5の1組のルーチング線との間に接続する ことができ、前記複数の論理ブロックを前記第4のレベルの相互接続部を介して 選択的に前記第5のレベルの相互接続部に結合し、前記第1のレベルの相互接続 部と、第2レベルの相互接続部と、だい3のレベルの相互接続部とをバイパスす る、前記二方向にプログラム可能な第1の1組のアクセス線からの信号を伝導さ せることができる、第9の1組のプログラム可能なスイッチとを備えることを特 徴とする請求項1に記載のプログラム可能な論理回路。 17.前記第6の1組のルーチング線のそれぞれのスパンが、前記第4の1組 のルーチン線のそれぞれのスパンの2倍であることを特徴とする請求項16に記 載のプログラム可能な論理回路。 18.前記第6の1組のルーチング線の数が、前記第4の1組のルーチング線 の数の4分の1であることを特徴とする請求項16に記載のプログラム可能な論 理回路。 19.さらに、 第7の1組のルーチング線と、 前記第7の1組のルーチング線のうちの複数の線を選択的に結合するために結 合され、前記第7の1組のルーチング線と第10の1組のプログラム可能なスイ ッチ自体が第6のレベルの相互接続部を構成する、第10の1組のプログラムス イッチと、 前記第7の1組のルーチング線と前記第5の1組のルーチング線との間に接続 することができ、前記第4のレベルの相互接続部を介して前記複数の論理回路を 選択的に結合し前記第1のレベルの相互接続部、前記第2のレベルの相互接続部 、前記第3のレベルの相互接続部、前記第5のレベルの相互接続部をバイパスす る、前記二方向にプログラム可能な第1の1組のアクセス線からの信号を伝導さ せることができる、第11の1組のプログラム可能なスイッチとを備えることを 特徴とする請求項1に記載のプログラム可能な論理回路。 20.前記第7の1組のルーチング線のそれぞれのスパンが、前記第6の1組 のルーチン線のそれぞれのスパンの2倍であることを特徴とする請求項19に記 載のプログラム可能な論理回路。 21.前記第7の1組のルーチング線の数が、前記第6の1組のルーチング線 の数の半分であることを特徴とする請求項19に記載のプログラム可能な論理回 路。 22.前記第1のレベルの相互接続部が、二方向にプログラム可能な第2の1 組のアクセス線として機能することを特徴とする請求項1に記載のプログラム可 能な論理回路。 23.前記第2のレベルの相互接続部が、二方向にプログラム可能な第3の1 組のアクセス線として機能することを特徴とする請求項2に記載のプログラム可 能な論理回路。 24.前記スイッチが、二方向にプログラム可能なドライバを備えることを特 徴とする請求項1に記載のプログラム可能な回路。 25.前記スイッチが、二方向にプログラム可能なパスゲートを備えることを 特徴とする請求項1に記載のプログラム可能な回路。 26.さらに、隣接する1組の論理ブロックの二方向にプログラム可能な第1 の1組のアクセス線のうちの隣接する1組のアクセス線を選択的に前記第1のレ ベルの相互接続部に結合する第12の1組のプログラム可能なスイッチを備える ことを特徴とする請求項1に記載のプログラム可能な論理回路。 27.さらに、隣接する1組の論理ブロックの二方向にプログラム可能な第1 の1組のアクセス線のうちの隣接する1組のアクセス線を選択的に前記第2のレ ベルの相互接続部に結合する第13の1組のプログラム可能なスイッチを備える ことを特徴とする請求項1に記載のプログラム可能な論理回路。 28.さらに、隣接する1組の論理ブロックの二方向にプログラム可能な第1 の1組のアクセス線のうちの隣接する1組のアクセス線を選択的に前記第3のレ ベルの相互接続部に結合する第14の1組のプログラム可能なスイッチを備える ことを特徴とする請求項1に記載のプログラム可能な論理回路。 29.さらに、隣接する1組の論理ブロックの二方向にプログラム可能な第1 の1組のアクセス線のうちの隣接する1組のアクセス線を選択的に前記第4のレ ベルの相互接続部に結合する第15の1組のプログラム可能なスイッチを備える ことを特徴とする請求項13に記載のプログラム可能な論理回路。 30.さらに、前記第4のレベルの相互接続部のうちの隣接する1組の相互接 続部を選択的に第5のレベルの相互接続部に結合する第16の1組のプログラム 可能なスイッチを備えることを特徴とする請求項16に記載のプログラム可能な 論理回路。 31.さらに、前記第4のレベルの相互接続部のうちの隣接する1組の相互接 続部を選択的に第6のレベルの相互接続部に結合する第17の1組のプログラム 可能なスイッチを備えることを特徴とする請求項19に記載のプログラム可能な 論理回路。 32.前記第3のレベルの相互接続部が、二方向にプログラム可能な第4の1 組のアクセス線として機能することを特徴とする請求項10に記載のプログラム 可能な論理回路。 33.前記第4のレベルの相互接続部が、二方向にプログラム可能な第5の1 組のアクセス線として機能することを特徴とする請求項13に記載のプログラム 可能な論理回路。 34.前記第5のレベルの相互接続部が、二方向にプログラム可能な第6の1 組のアクセス線として機能することを特徴とする請求項16に記載のプログラム 可能な論理回路。 35.前記第6のレベルの相互接続部が、二方向にプログラム可能な第7の1 組のアクセス線として機能することを特徴とする請求項19に記載のプログラム 可能な論理回路。 36.さらに、 それぞれ、論理信号上の論理関数を実行する相互接続されたプログラム可能な 複数のセルを有する、複数の論理クラスタと、 前記論理クラスタの前記複数の論理セルに結合された第18の1組のプログラ ム可能なスイッチと、 前記論理クラスタに結合された1組の内部接続マトリックス・ルーチング線を 形成するために前記第18の1組のプログラム可能なスイッチに結合された第8 の1組のルーチング線とを備えることを特徴とする請求項1に記載のプログラム 可能な論理回路。 37.前記1組の内部接続マトリックス・ルーチン線が、プログラム可能な手 段を通じた前記論理クラスタの前記複数の論理セル用の短距離接続部として機能 することを特徴とする請求項36に記載のプログラム可能な論理回路。 38.前記1組の内部接続マトリックス・ルーチング線の線の数が、前記論理 クラスタ中の前記複数のセルの入力ピンおよび出力ピンの総数のほぼ半数に等し いことを特徴とする請求項36に記載のプログラム可能な論理回路。 39.前記1組の内部接続マトリックス・ルーチング線の各線のスパンが、前 記二方向にプログラム可能な第1の1組のアクセス線の各線のスパンの半分に等 しいことを特徴とする請求項36に記載のプログラム可能な論理回路。 40.前記論理ブロックの前記セルが、前記複数の論理クラスタの前記複数の セルを備えることを特徴とする請求項36に記載のプログラム可能な論理回路。 41.さらに、第1の論理クラスタの前記1組の内部接続マトリックスの線を 選択的に第2の論理クラスタに結合する第19の1組のプログラム可能なスイッ チを備え、前記第1の論理クラスタが、前記第2の論理クラスタに隣接すること を特徴とする請求項36に記載のプログラム可能な論理回路。 42.それぞれ、論理信号上の論理関数を実行する相互接続されたプログラム 可能な複数のセルを有する、複数の論理クラスタと、 1組の前記複数の論理クラスタを結合する1組の内部接続マトリックス・ルー チング線と、 それぞれ、論理信号上の論理関数を実行する相互接続されたプログラム可能な 複数のセルを有する、複数の論理ブロックと、 第1の1組の複数の論理ブロックを結合する二方向にプログラム可能な第1の 1組のアクセス線とを備えることを特徴とするプログラム可能な論理回路。 43.さらに、前記二方向にプログラム可能な第1の1組のアクセス線のうち の少なくとも2本を結合する第1のレベルの相互接続部を備えることを特徴とす る請求項42に記載のプログラム可能な論理回路。 44.さらに、前記第1の論理ブロックに対応する信号をプログラム可能に前 記第1のレベルの相互接続部へ伝導させるために第1の論理ブロックの前記二方 向にプログラム可能な第1の1組のアクセス線のうちの1本のアクセス線に結合 された第1のプログラム可能なスイッチを備えることを特徴とする請求項43に 記載のプログラム可能な論理回路。 45.さらに、少なくとも2つの前記第1のレベルの相互接続部を結合する第 2のレベルの相互接続部を備えることを特徴とする請求項44に記載のプログラ ム可能な論理回路。 46.さらに、前記第1の論理ブロックに対応する前記信号をプログラム可能 に前記第2のレベルの相互接続部へ伝導させるために前記第1の論理ブロックの 前記二方向にプログラム可能な第1の1組のアクセス線のうちの前記1本のアク セス線に接続することができる第2のプログラム可能なスイッチを備え、前記信 号によって前記第1のレベルの相互接続部をバイパスすることができることを特 徴とする請求項45に記載のプログラム可能な回路。 47.さらに、 少なくとも2つの前記第2のレベルの相互接続部を結合する第3のレベルの相 互接続部を備えることを特徴とする請求項46に記載のプログラム可能な論理回 路。 48.さらに、前記第1の論理ブロックに対応する前記信号をプログラム可能 に前記第3のレベルの相互接続部へ伝導させるために前記第1の論理ブロックの 前記二方向にプログラム可能な第1の1組のアクセス線のうちの前記1本のアク セス線に接続することができる第3のプログラム可能なスイッチを備え、前記信 号によって前記第1のレベルの相互接続部および第2のレベルの相互接続部をバ イパスすることができることを特徴とする請求項47に記載のプログラム可能な 回路。 49.さらに、 第4のレベルの相互接続部と、 前記第4のレベルの相互接続部に結合されたルーチング線と、 前記第1の論理ブロックに対応する前記信号をプログラム可能に前記ルーチン グ線へ伝導させるために前記第1の論理ブロックの前記二方向にプログラム可能 な第1の1組のアクセス線のうちの前記1本のアクセス線に接続することができ る第4のプログラム可能なスイッチとを備えることを特徴とする請求項42に記 載のプログラム可能な論理回路。 50.さらに、前記第1の論理クラスタの前記1組の内部接続マトリックス・ ルーチング線のうちの前記1本の内部接続マトリックス・ルーチング線に対応す る前記信号を第2の論理クラスタの前記1組の内部接続マトリックス・ルーチン グ線のうちの1本の内部接続マトリックス・ルーチング線へプログラム可能に伝 導させるために、前記第1の論理クラスタの前記1組の内部接続マトリックス・ ルーチング線のうちの前記1本の内部接続マトリックス・ルーチング線に接続す ることができる第5のプログラム可能なスイッチを備え、前記第1の論理クラス タが前記第2の論理クラスタに隣接することを特徴とする請求項42に記載のプ ログラム可能な論理回路。 51.さらに、前記第1の論理ブロックの前記二方向にプログラム可能な第1 の1組のアクセス線のうちの前記1本のアクセス線を第2の論理ブロックの二方 向にプログラム可能な第1の1組のアクセス線のうちの1本のアクセス線へプロ グラム可能に伝導させるために、前記第1の論理ブロックの前記二方向にアクセ ス可能な第1の1組のアクセス線のうちの前記1本のアクセス線に接続すること ができる第5のプログラム可能なスイッチを備え、前記第1のレベルの相互接続 部をバイパスすることができ、前記第1の論理ブロックが前記第2の論理ブロッ クに隣接することを特徴とする請求項42に記載のプログラム可能な論理回路。 52.前記スイッチが、二方向にプログラム可能なドライバを備えることを特 徴とする請求項42に記載のプログラム可能な論理回路。 53.前記スイッチが、二方向にプログラム可能なパスゲートを備えることを 特徴とする請求項42に記載のプログラム可能な論理回路。 54.さらに、隣接する1組の論理ブロックの二方向にプログラム可能な第1 の1組のアクセス線のうちの隣接する1組のアクセス線を選択的に前記第1のレ ベルの相互接続部に結合する第6の1組のプログラム可能なスイッチを備えるこ とを特徴とする請求項43に記載のプログラム可能な論理回路。 55.論理信号上の論理関数を実行する複数のセルを有するプログラム可能な 論理回路において、一群の前記セルのうちのあるセルから別のセルへ信号をルー チングすることによって前記セルをプログラム可能に結合する複雑な論理関数を 形成する方法であって、 1組の内部接続マトリックス・ルーチング線を介して第1の論理クラスタ、第 2の論理クラスタ、第3の論理クラスタを形成するために前記複数のセルをプロ グラム可能に相互接続するステップと、 第1の論理クラスタの第1の1組の内部接続マトリックス・ルーチング線に対 応する信号を、二方向にプログラム可能な第1の1組のアクセス線を介して前記 第2の論理クラスタの第1の1組の内部接続マトリックス・ルーチング線へプロ グラム可能に伝導させるステップと、 第1の論理ブロック、第2の論理ブロック、第3の論理ブロックを形成するた めに前記複数のセルをプログラム可能に相互接続するステップと、 第1の論理ブロックの二方向にプログラム可能な第1の1組のアクセス線に対 応する信号を、二方向にプログラム可能な第1の1組のアクセス線を介して前記 第2の論理ブロックの二方向にプログラム可能な第1の1組のアクセス線へプロ グラム可能に伝導させるステップとを含むことを特徴とする方法。 56.前記第1の1組の内部接続マトリックス・ルーチング線のそれぞれのス パンが、前記二方向にプログラム可能な第1の1組のアクセス線のそれぞれのス パンの一部分であり、前記1組の内部接続マトリックス・ルーチング線の線の数 が、前記論理クラスタ中の前記セルの入出力ピンの数の一部分であることを特徴 とする請求項55に記載の方法。 57.前記二方向にプログラム可能な第1の1組のアクセス線のそれぞれのス パンが、前記第1のレベルの相互接続線のそれぞれのスパンの一部分であり、前 記第1のレベルの相互接続線の線の数が、論理ブロック回路面積全体にわたる前 記二方向にプログラム可能な第1の1組のアクセス線の数の一部分であることを 特徴とする請求項55に記載の方法。 58.さらに、 前記信号を、前記第1のレベルの相互接続部内を伝導させることによって、第 2のレベルの相互接続部を介して前記第3の論理ブロックの二方向にプログラム 可能な第1の1組のアクセス線へプログラム可能に伝導させるステップを含むこ とを特徴とする請求項55に記載の方法。 59.さらに、 前記信号を、前記第1のレベルの相互接続部内を伝導させずに、第2のレベル の相互接続部を介して前記第3の論理ブロックの二方向にプログラム可能な第1 の1組のアクセス線へプログラム可能に伝導させるステップを含むことを特徴と する請求項55に記載の方法。 60.前記第1のレベルの相互接続線のそれぞれのスパンが、前記第2のレベ ルの相互接続線のそれぞれのスパンの一部分であり、前記第2のレベルの相互接 続線の線の数が、論理ブロック回路面積全体にわたる前記第1のレベルの相互接 続線の数の一部分であることを特徴とする請求項58に記載の方法。 61.さらに、前記信号を、前記第1のレベルの相互接続部内と前記第2のレ ベルの相互接続部内を伝導させることによって、第3のレベルの相互接続部を介 して前記第4の論理ブロックの二方向にプログラム可能な第1の1組のアクセス 線へプログラム可能に伝導させるステップを含むことを特徴とする請求項55に 記載の方法。 62.さらに、前記信号を、前記第1のレベルの相互接続部内も前記第2のレ ベルの相互接続部内も伝導させずに、第3のレベルの相互接続部を介して前記第 4の論理ブロックの二方向にプログラム可能な第1の1組のアクセス線へプログ ラム可能に伝導させるステップを含むことを特徴とする請求項55に記載の方法 。 63.前記第2のレベルの相互接続線のそれぞれのスパンが、前記第3のレベ ルの相互接続線のそれぞれのスパンの一部分であり、前記第3のレベルの相互接 続線の線の数が、論理ブロック回路面積全体にわたる前記第2のレベルの相互接 続線の数の一部分であることを特徴とする請求項62に記載の方法。 64.さらに、第4のレベルの相互接続部に結合ざれたルーチング線へ前記信 号をプログラム可能に伝導させるステップを含み、各線のスパンおよび前記第4 のレベルの相互接続部の線の数が前記第3のレベルの相互接続部に比例すること を特徴とする請求項55に記載の方法。 65.さらに、前記信号をプログラム可能に直接、前記第2の論理クラスタへ 伝導させ、前記二方向にアクセス可能な第1の1組のアクセス線をバイパスする ステップを備えることを特徴とする請求項55に記載の方法。 66.さらに、前記信号をプログラム可能に直接、前記第2の論理ブロックへ 伝導させ、前記第1のレベルの相互接続部をバイパスするステップを備えること を特徴とする請求項55に記載の方法。 67.前記信号を、前記第1のレベルの相互接続部内、または前記第2のレベ ルの相互接続部内、または前記第3のレベルの相互接続部内を導電させることに よって、第5のレベルの相互接続部を介し前記第4のレベルの相互接続部を介し て第5の論理ブロックの二方向にプログラム可能な第1の1組のアクセス線へプ ログラム可能に導電させるステップを含むことを特徴とする請求項55に記載の 方法。 68.前記信号を、前記第1のレベルの相互接続部内も、あるいは前記第2の レベルの相互接続部内も、あるいは前記第3のレベルの相互接続部内も導電させ ずに、第5のレベルの相互接続部を介し前記第4のレベルの相互接続部を介して 第5の論理ブロックの二方向にプログラム可能な第1の1組のアクセス線へプロ グラム可能に導電させるステップを含むことを特徴とする請求項55に記載の方 法。 69.前記第4のレベルの相互接続線のそれぞれのスパンが、前記第5のレベ ルの相互接続線のそれぞれのスパンの一部分であり、前記第5のレベルの相互接 続線の線の数が、論理ブロック回路面積全体にわたる前記第4のレベルの相互接 続線の数の一部分であることを特徴とする請求項68に記載の方法。 70.前記信号を、前記第1のレベルの相互接続部内、または前記第2のレベ ルの相互接続部内、または前記第3のレベルの相互接続部内、または前記第5の レベルの相互接続部内を導電させることによって、第6のレベルの相互接続部を 介し前記第4のレベルの相互接続部を通じて第6の論理ブロックの二方向にプロ グラム可能な第1の1組のアクセス線へプログラム可能に導電させるステップを 含むことを特徴とする請求項55に記載の方法。 71.前記信号を、前記第1のレベルの相互接続部内も、あるいは前記第2の レベルの相互接続部内も、あるいは前記第3のレベルの相互接続部内も、あるい は前記第5のレベルの相互接続部内も導電させずに、第6のレベルの相互接続部 を介し前記第4のレベルの相互接続部を通じて第6の論理ブロックの二方向にプ ログラム可能な第1の1組のアクセス線へプログラム可能に導電させるステップ を含むことを特徴とする請求項55に記載の方法。 72.前記第5のレベルの相互接続線のそれぞれのスパンが、前記第6のレベ ルの相互接続線のそれぞれのスパンの一部分であり、前記第6のレベルの相互接 続線の線の数が、論理ブロック回路面積全体にわたる前記第5のレベルの相互接 続線の数の一部分であることを特徴とする請求項71に記載の方法。 73.さらに、隣接する1組の前記論理ブロックの前記二方向にプログラム可 能な第1の1組のアクセス線のうちの隣接する1組のアクセス線を1組のプログ ラム可能なスイッチを介して選択的に前記第1のレベルの相互接続部に結合する ステップを含むことを特徴とする請求項55に記載の方法。 74.さらに、隣接する1組の前記論理ブロックの前記二方向にプログラム可 能な第1の1組のアクセス線のうちの隣接する1組のアクセス線を1組のプログ ラム可能なスイッチを介して選択的に前記第2のレベルの相互接続部に結合する ステップを含むことを特徴とする請求項55に記載の方法。 75.さらに、隣接する1組の前記論理ブロックの前記二方向にプログラム可 能な第1の1組のアクセス線のうちの隣接する1組のアクセス線を1組のプログ ラム可能なスイッチを介して選択的に前記第3のレベルの相互接続部に結合する ステップを含むことを特徴とする請求項55に記載の方法。 76.さらに、隣接する1組の前記論理ブロックの前記二方向にプログラム可 能な第1の1組のアクセス線のうちの隣接する1組のアクセス線を1組のプログ ラム可能なスイッチを介して選択的に前記第4のレベルの相互接続部に結合する ステップを含むことを特徴とする請求項55に記載の方法。 77.さらに、隣接する1組の前記第4のレベルの相互接続部を1組のプログ ラム可能なスイッチを介して選択的に前記第5のレベルの相互接続部に結合する ステップを含むことを特徴とする請求項55に記載の方法。 78.さらに、隣接する1組の前記第4のレベルの相互接続部を1組のプログ ラム可能なスイッチを介して選択的に前記第6のレベルの相互接続部に結合する ステップを含むことを特徴とする請求項55に記載の方法。 79.前記スイッチが、二方向にプログラム可能なスイッチを備えることを特 徴とする請求項55に記載の方法。 80.前記スイッチが、二方向にプログラム可能なパスゲートを備えることを 特徴とする請求項55に記載の方法。 81.FPGAであって、 前記FPGAに入力される信号上の論理関数を実行する複数のセルと、 論理クラスタを形成するために前記複数のセルをプログラム可能に相互接続す る内部接続マトリックスと、 論理クラスタ延長部を形成するために、隣接する2つの前記内部接続マトリッ クス間に接続することができるプログラム可能な複数のスイッチと、 前記論理クラスタ、前記内部接続マトリックス、前記延長部と共に論理ブロッ クを形成する複数のブロック・コネクタと、 論理クラスタ延長部を形成するために、隣接する2つの前記論理ブロック間に 接続することができるプログラム可能な複数のスイッチと、 ブロック・クラスタを形成するために複数の論理ブロックを相互接続する第1 のレベルのプログラム可能な相互接続部と、 ブロック・セクタを形成するために複数のブロック・クラスタを相互接続する 第2のレベルのプログラム可能な相互接続部と、 前記第1のレベルのプログラム可能な相互接続部に複数の論理ブロックを接続 する第1の1組のプログラム可能なスイッチと、 前記第2のレベルのプログラム可能な相互接続部に複数の論理ブロックを接続 する第2の1組のプログラム可能なスイッチとを備えることを特徴とするFPG A。 82.前記論理クラスタが、セルの2×2マトリックスを備えることを特徴と する請求項81に記載のFPGA。 83.前記論理ブロックが、論理クラスタの2×2マトリックスを備えること を特徴とする請求項82に記載のFPGA。 84.前記ブロック・クラスタが、論理ブロックの2×2マトリックスを備え ることを特徴とする請求項83に記載のFPGA。 85.前記ブロック・セクタが、ブロック・クラスタの2×2マトリックスを 備えることを特徴とする請求項84に記載のFPGA。 86.第1のレベルの相互接続部が、第1の1組のルーチン線と、前記第1の 1組のルーチン線に垂直な第2の1組のルーチン線とを備えることを特徴とする 請求項81に記載のFPGA。
JP52711795A 1994-04-14 1995-04-14 プログラム可能な論理回路用のアーキテクチャおよび相互接続機構 Expired - Fee Related JP3581152B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US22992394A 1994-04-14 1994-04-14
US08/229,923 1994-04-14
PCT/US1995/004639 WO1995028769A1 (en) 1994-04-14 1995-04-14 Architecture and interconnect scheme for programmable logic circuits

Publications (2)

Publication Number Publication Date
JPH10501934A true JPH10501934A (ja) 1998-02-17
JP3581152B2 JP3581152B2 (ja) 2004-10-27

Family

ID=22863228

Family Applications (1)

Application Number Title Priority Date Filing Date
JP52711795A Expired - Fee Related JP3581152B2 (ja) 1994-04-14 1995-04-14 プログラム可能な論理回路用のアーキテクチャおよび相互接続機構

Country Status (7)

Country Link
EP (4) EP1594228A3 (ja)
JP (1) JP3581152B2 (ja)
CN (1) CN1101082C (ja)
AT (1) ATE214210T1 (ja)
AU (1) AU2291495A (ja)
DE (2) DE69525741D1 (ja)
WO (1) WO1995028769A1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5457410A (en) 1993-08-03 1995-10-10 Btr, Inc. Architecture and interconnect scheme for programmable logic circuits
GB2305759A (en) * 1995-09-30 1997-04-16 Pilkington Micro Electronics Semi-conductor integrated circuit
JP3774234B2 (ja) * 1996-03-29 2006-05-10 ザイリンクス, インコーポレイテッド 高速プログラマブルロジックアーキテクチャ
US6624658B2 (en) 1999-02-04 2003-09-23 Advantage Logic, Inc. Method and apparatus for universal program controlled bus architecture
US6034547A (en) 1996-09-04 2000-03-07 Advantage Logic, Inc. Method and apparatus for universal program controlled bus
US5977793A (en) * 1996-10-10 1999-11-02 Altera Corporation Programmable logic device with hierarchical interconnection resources
US5999016A (en) * 1996-10-10 1999-12-07 Altera Corporation Architectures for programmable logic devices
US6300794B1 (en) 1996-10-10 2001-10-09 Altera Corporation Programmable logic device with hierarchical interconnection resources
US6107825A (en) 1997-10-16 2000-08-22 Altera Corporation Input/output circuitry for programmable logic devices
US7389487B1 (en) 1998-04-28 2008-06-17 Actel Corporation Dedicated interface architecture for a hybrid integrated circuit
US7084476B2 (en) * 2004-02-26 2006-08-01 International Business Machines Corp. Integrated circuit logic with self compensating block delays
US6975139B2 (en) 2004-03-30 2005-12-13 Advantage Logic, Inc. Scalable non-blocking switching network for programmable logic
US7460529B2 (en) 2004-07-29 2008-12-02 Advantage Logic, Inc. Interconnection fabric using switching networks in hierarchy
US7423453B1 (en) 2006-01-20 2008-09-09 Advantage Logic, Inc. Efficient integrated circuit layout scheme to implement a scalable switching network used in interconnection fabric
US7456653B2 (en) * 2007-03-09 2008-11-25 Altera Corporation Programmable logic device having logic array block interconnect lines that can interconnect logic elements in different logic blocks
US7999570B2 (en) 2009-06-24 2011-08-16 Advantage Logic, Inc. Enhanced permutable switching network with multicasting signals for interconnection fabric
CN102288903B (zh) * 2011-07-26 2014-12-10 北京航空航天大学 一种fpga内连线资源的测试结构及方法
CN108427829B (zh) * 2018-02-09 2022-11-08 京微齐力(北京)科技有限公司 一种具有公共线结构的fpga

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5212652A (en) * 1989-08-15 1993-05-18 Advanced Micro Devices, Inc. Programmable gate array with improved interconnect structure
US5338984A (en) * 1991-08-29 1994-08-16 National Semiconductor Corp. Local and express diagonal busses in a configurable logic array
GB9223226D0 (en) * 1992-11-05 1992-12-16 Algotronix Ltd Improved configurable cellular array (cal ii)
GB9312674D0 (en) * 1993-06-18 1993-08-04 Pilkington Micro Electronics Configurabel logic array
US5457410A (en) * 1993-08-03 1995-10-10 Btr, Inc. Architecture and interconnect scheme for programmable logic circuits

Also Published As

Publication number Publication date
CN1152375A (zh) 1997-06-18
EP1162746B1 (en) 2005-11-30
AU2291495A (en) 1995-11-10
WO1995028769A1 (en) 1995-10-26
EP1162745A2 (en) 2001-12-12
EP0755588A1 (en) 1997-01-29
JP3581152B2 (ja) 2004-10-27
EP0755588B1 (en) 2002-03-06
ATE214210T1 (de) 2002-03-15
DE69525741D1 (de) 2002-04-11
EP1162745A3 (en) 2003-05-14
EP1162746A2 (en) 2001-12-12
EP1594228A2 (en) 2005-11-09
EP1162746A3 (en) 2003-05-14
EP1594228A3 (en) 2005-11-16
CN1101082C (zh) 2003-02-05
DE69534659D1 (de) 2006-01-05
DE69534659T2 (de) 2006-09-07

Similar Documents

Publication Publication Date Title
JP4169164B2 (ja) 集積回路及びプログラマブル論理回路の相互接続方法
US6747482B2 (en) Architecture and interconnect scheme for programmable logic circuits
EP0824791B1 (en) Scalable multiple level interconnect architecture
JPH10501934A (ja) プログラム可能な論理回路用のアーキテクチャおよび相互接続機構
US6051991A (en) Architecture and interconnect scheme for programmable logic circuits
US6429681B1 (en) Programmable logic device routing architecture to facilitate register re-timing

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040713

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040722

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080730

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090730

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100730

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110730

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees