JP2008278508A - 集積回路及びプログラマブル論理回路の相互接続方法 - Google Patents
集積回路及びプログラマブル論理回路の相互接続方法 Download PDFInfo
- Publication number
- JP2008278508A JP2008278508A JP2008129490A JP2008129490A JP2008278508A JP 2008278508 A JP2008278508 A JP 2008278508A JP 2008129490 A JP2008129490 A JP 2008129490A JP 2008129490 A JP2008129490 A JP 2008129490A JP 2008278508 A JP2008278508 A JP 2008278508A
- Authority
- JP
- Japan
- Prior art keywords
- length
- cell
- level
- block
- mla
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic 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/17704—Logic 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic 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/17724—Structural details of logic blocks
- H03K19/17728—Reconfigurable logic blocks, e.g. lookup tables
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic 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/17736—Structural details of routing resources
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic 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/1778—Structural details for adapting physical parameters
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic 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/1778—Structural details for adapting physical parameters
- H03K19/17796—Structural 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)
Abstract
【課題】FPGAの利用度を最大限にすると同時に、ダイのサイズへの影響を最小限にする、新しいアーキテクチャ分散階層相互接続技法を提供する。
【解決手段】FPGAは、入力信号に対して論理関数を実行するいくつかのセルから成る。プログラマブル内部接続によって、論理クラスタに属するセルの各出力とその論理クラスタに属する他の各セルの少なくとも1つの入力との接続を行うことができるようにする。セルの数をアレイ内の前のセル数の2の2乗の関数として増やすと同時に、ルーティング線の長さとルーティング線の本数を2の一次関数として増やす場合には、追加のルーティング層を追加する。プログラマブル双方向パスゲートをスイッチとして使用して、どのルーティング網線を接続するかを制御する。
【選択図】図6
【解決手段】FPGAは、入力信号に対して論理関数を実行するいくつかのセルから成る。プログラマブル内部接続によって、論理クラスタに属するセルの各出力とその論理クラスタに属する他の各セルの少なくとも1つの入力との接続を行うことができるようにする。セルの数をアレイ内の前のセル数の2の2乗の関数として増やすと同時に、ルーティング線の長さとルーティング線の本数を2の一次関数として増やす場合には、追加のルーティング層を追加する。プログラマブル双方向パスゲートをスイッチとして使用して、どのルーティング網線を接続するかを制御する。
【選択図】図6
Description
本発明はプログラマブル論理回路の分野に関する。具体的には、本発明はプログラマブル論理回路のアーキテクチャおよび相互接続技術に関する。
集積回路(IC)が初めて導入されたときは、きわめて高価であり機能が限定されていた。半導体技術の急速な進歩により、コストが大幅に低下したと同時に、ICチップのパフォーマンスが向上した。しかし、専用のカスタム・ビルトICの設計、レイアウト、および製造工程のコストは依然としてかなり高い。少量のカスタム設計ICを製造する場合には特に高い。さらに、ターンアラウンド・タイム(すなわち、初期設計から完成品までに要する時間)が相当長くなることが多く、複雑な回路設計の場合には特に長くなる。電子製品やコンピュータ製品の場合、市場で最初の製品であることは重要である。さらに、カスタムICの場合、初期設計に変更を加えることはかなり難しい。必要な変更を行うには時間、労力、費用を要する。
カスタムICに付きものの短所を考慮すると、多くの場合、フィールド・プログラマブル・ゲート・アレイ(FPGA)が魅力的な解決策となる。基本的には、FPGAは、ユーザが所望の構成にプログラムすることができる標準高密度既製ICである。まず回路設計者が所望の論理機能を定義し、それに従って入力信号を処理するようにFPGAをプログラムする。それによって、実装FPGAを迅速かつ効率的に設計、検証、修正することができる。論理密度要件と製造量によっては、FPGAはコストと市場に出荷するまでの時間の点ですぐれた代替策である。
典型的なFPGAは基本的に、構成可能な論理ブロックの内部マトリックスを取り囲む入出力ブロックの外環から成る。FPGAの周縁部にある入出力ブロックはユーザがプログラムすることが可能で、各ブロックを入力または出力としてプログラムすることができ、トライステートとすることもできる。各論理ブロックは一般に、プログラマブル組合せ論理回路と記憶レジスタを備えている。組合せ論理回路を使用して、その入力変数についてブール関数を行う。多くの場合、レジスタには論理ブロックの入力から直接ロードするか、または組合せ論理回路からロードすることができる。
論理ブロックの行と列の間と、論理ブロックと入出力ブロックの間のチャンネルを相互接続資源が占有する。これらの相互接続資源は、チップ上の指定された2点間の相互接続を制御する柔軟性を備えている。通常は、論理ブロック間を金属配線網が行と列の形で水平方向と垂直方向に走っている。論理ブロックおよび入出力ブロックの入力と出力は、プログラマブル・スイッチによってこれらの金属配線と接続されている。行と列の交差点にあるクロスポイント・スイッチと交換機構を使用して、信号を1つの線から他の線に切り換える。多くの場合、長い線を使用してチップの全長または全幅あるいはその両方にわたって張り巡らせる。
入出力ブロック、論理ブロック、およびそれぞれの相互接続部の機能はすべてプログラム可能である。一般に、これらの機能はオンチップ・メモリに記憶されている構成プログラムによって制御される。構成プログラムは、電源投入時、コマンド入力時、またはマイクロプロセッサによってシステム初期設定の一部としてプログラムされて、外部メモリから自動的にロードされる。
FPGAの概念は、セルとセルラ・アレイの概念を再構成可能素子として説明したミニックによって、60年代に以下の資料で概説されている。ミニック,R.C.およびショート,R.A.,”Cellular Linear−Input Logic,Final Report,”SRI Project 4122,Contract AF 19(628)−498,Stanford Research Institute,Menlo Park,California,AFCRL 64−6,DDC No.AD 433802(February 1964);Minnick,R.C.,”Cobweb Cellular Arrays,”Proceedings AFIPS 1965 Fall Joint Computer Conference,Vol.
27,Part 1 pp.327−341(1965);Minnick,R.C.et al.,”Cellular Logic,Final Report,”SRI Project 5087,Contract AF19(628)−4233,Stanford Reserch Institute,Menlo Park,California,AFCRL 66−613,(April 1966);およびMinnick,R.C.,”A Survey of Microcellular Research,”Journal of the Association for Computing Machinery Vol.14,No.2,pp.203−241(April 1967)。素子間の相互接続を可能にするメモリ・ベース(たとえばRAMベース、ヒューズ・ベース、またはアンチヒューズ・ベース)の手段に加えて、ミニックは、近隣セル間の直接接続ともう一つのルーティング技法としてのバスの使用についても述べている。スパンドルファ、L.M.による論文”Synthesis of Logic Function on an Array of Integrated Circuits,”Stanford Research Institute,Menlo Park,Calif.,Contract AF 19(628)2907,AFCRL 64−6,DDC No.AD 433802(November 1965)は、2本の相互接続線の間のスイッチ手段として、メモリ手段とそれに隣接する近隣セル相互接続とを介してプログラムすることが可能な相補形MOS双方向パスゲートを使用する方法について述べている。ワールシュトローム、S.Eの”Programmable Logic Arrays−Cheaper by the Millions,”Electronics,Vol.40,No.25,11,pp.90−95(December 1967)では、近隣セル間の相互接続とデータ・バス網の両方を使用した、同じセルの2次元アレイのRAMベースの再構成可能論理アレイについて述べられている。
27,Part 1 pp.327−341(1965);Minnick,R.C.et al.,”Cellular Logic,Final Report,”SRI Project 5087,Contract AF19(628)−4233,Stanford Reserch Institute,Menlo Park,California,AFCRL 66−613,(April 1966);およびMinnick,R.C.,”A Survey of Microcellular Research,”Journal of the Association for Computing Machinery Vol.14,No.2,pp.203−241(April 1967)。素子間の相互接続を可能にするメモリ・ベース(たとえばRAMベース、ヒューズ・ベース、またはアンチヒューズ・ベース)の手段に加えて、ミニックは、近隣セル間の直接接続ともう一つのルーティング技法としてのバスの使用についても述べている。スパンドルファ、L.M.による論文”Synthesis of Logic Function on an Array of Integrated Circuits,”Stanford Research Institute,Menlo Park,Calif.,Contract AF 19(628)2907,AFCRL 64−6,DDC No.AD 433802(November 1965)は、2本の相互接続線の間のスイッチ手段として、メモリ手段とそれに隣接する近隣セル相互接続とを介してプログラムすることが可能な相補形MOS双方向パスゲートを使用する方法について述べている。ワールシュトローム、S.Eの”Programmable Logic Arrays−Cheaper by the Millions,”Electronics,Vol.40,No.25,11,pp.90−95(December 1967)では、近隣セル間の相互接続とデータ・バス網の両方を使用した、同じセルの2次元アレイのRAMベースの再構成可能論理アレイについて述べられている。
シャウプ、R.G.の”Programmable Celllular Logic Arrays,”Ph.D.dissertation,Carnegie−Mellon University,Pittsburgh,PA(March 1970)は、プログラマブル・セルラ論理アレイについて述べ、ミニックと同じ概念と用語の多くを繰り返し、ワールシュトロームのアレイを繰り返している。シャウプの論旨では、近隣接続の概念は、単純2入力1出力最近隣接続から8近隣2方向接続に及んでいる。シャウプはさらに、相互接続構造の一部としてバスを使用してアレイの性能と柔軟性を向上させる方法についても述べている。通常の近隣接続では長すぎる距離または不都合な方向に信号を送るために、バスを使用することができる。これは特に、アレイの外部からの入力信号や出力信号を内部のセルに渡すのに有用である。
米国特許第4020469号では、それ自身をプログラム、試験、および修復することができるプログラマブル論理アレイについて述べている。米国特許第4870302号は、チャネル・アーキテクチャにおいて、プログラムされたすべての接続が3組のバスを使用して行われる、近隣直接相互接続を使用しない粗粒度(coarse grain)アーキテクチャを開示している。粗粒度セル(構成可能論理ブロックまたはCLBと呼ぶ)は、RAMベースの論理テーブル参照組合せ論理回路と、CLB内部のフリップフロップの両方を備え、ユーザ定義論理をCLB内部で使用可能な関数にマップしなければならない。米国特許第4935734号は、各セル内部でNAND、NORまたは同様のタイプの単純論理関数として定義された単純論理関数セルを開示している。相互接続方式は、直接近隣接続および方向性バス接続を使用する。米国特許第4700187号および第4918440号は、排他的ORおよびAND関数とレジスタ・ビットが使用可能で、セル内で選択可能である、より複雑な論理関数セルを定義している。好適な接続方式は、直接近隣接続によるものである。接続機構として双方向バスを使用する方法も含まれている。
現在のFPGA技法にはいくつかの欠点がある。それらの問題は、製造業者から供給されるオンチップで使用可能なトランジスタが大量である場合に、回路利用レベルの低さによるものである。回路利用度は3つの要因によって影響される。トランジスタ・レベルまたは細粒度(fine grain)セル・レベルでの第1の要因は、ユーザが容易に使用することができる基本論理素子の機能と柔軟性である。第2の要因は、最小限の回路面積を使用し、第1の論理素子を使用して意味のあるマクロ論理関数を形成する容易さである。最後の要因は、チップ・レベルの設計を効率的に実施するための、それらのマクロ論理関数の相互接続である。上記のような細粒度セル・アーキテクチャによって、設計者は基本論理素子レベルで容易に使用することができる柔軟性のある論理関数を使用することができるようになった。
しかし、稠密で複雑なマクロ関数およびチップ・レベルのルーティングの場合、セルの出力からの多数の信号を他のセルの入力に接続するのに必要な相互接続資源がすぐに使い尽くされてしまう可能性があり、そのような資源を追加するとシリコン面積の点できわめて不経済になることがある。その結果、細粒度アーキテクチャ設計では、アクセス不能なためにセルの大部分が未使用のままであったり、セルが論理回路ではなく相互配線として使用されたりする。これによって、論理回路の利用度が低くなるだけでなくルーティング遅延が増大したり、過度の量のルーティング資源の付加によって回路のサイズが大幅に増大したりする。粗粒度アーキテクチャを拡張ルーティング・バスと組み合わせることによって、1つのCLBの出力を他のCLBの入力に接続する信号にとって大幅な改善になる。CLB相互接続での利用度は高くなる。しかし、問題は、CLBに厳密に合わせるための複雑な論理回路の区分化とマッピングである。CLB内部の論理回路の一部が未使用のままであれば、CLB内部の利用度(単位面積当たりの使用有効ゲート数)が低くなる可能性がある。
従来の技術のFPGAのもう一つの問題は、各論理ブロックに設けられる入力と出力の数が固定していることによる。偶然に特定の論理ブロックのすべての出力を使い果たした場合、その論路ブロックの残りの部分は役に立たなくなる。
したがって、従来の技術のFPGAでは、FPGAの利用度を最大限にすると同時に、ダイのサイズへの影響を最小限にする、新しいアーキテクチャが必要である。この新しいアーキテクチャは、ユーザによる使用の機能性と柔軟性の点で最下位の論理素子レベルでの柔軟性と、ユーザが基本論理素子を使用して複雑な論理関数を容易に形成することができるマクロ・レベルでの単位面積当たり高密度の機能性と、チップ・レベルでのマクロと基本論理素子を接続する信号の階層的で均一に分散されたルーティング網による相互接続可能性の割合の高さとを備えていなければならない。さらに新しいアーキテクチャは、個々の論理ブロックの入力と出力の数を選択可能かつプログラム可能にする柔軟性と、いくつかのFPGAサイズに対応するスケーラブル・アーキテクチャをユーザに提供する必要がある。
[発明の概要]
本発明は、フィールド・プログラマブル・ゲート・アレイ(FPGA)用など、プログラマブル論理回路のための論理のアーキテクチャと接続方式に関する。
プログラマブル論理回路は、入力信号に対して関数を実行するいくつかのセルから成る。ユーザの特定の設計に応じて、所望の論理関数を実現するために特定のセルが特定の構成にプログラム可能に相互接続される。
本発明は、フィールド・プログラマブル・ゲート・アレイ(FPGA)用など、プログラマブル論理回路のための論理のアーキテクチャと接続方式に関する。
プログラマブル論理回路は、入力信号に対して関数を実行するいくつかのセルから成る。ユーザの特定の設計に応じて、所望の論理関数を実現するために特定のセルが特定の構成にプログラム可能に相互接続される。
現在のところ好ましい実施形態では、4個の論理セル(4個の2入力1出力ゲートとDフリップフロップ)が1つの論理クラスタ(すなわち2×2セル・アレイ)を形成し、4組のクラスタが1つの論理ブロック(すなわち4×4セル・アレイ)を形成する。各クラスタ内には、内部接続マトリックス(Iマトリックス)と呼ぶ5本の内部接続線が1組あり、4個のゲートのそれぞれの出力と、他のセルの入力に接続可能なDフリップフロップとに1本付随している。各論理ブロック内では、パスゲートを使用して各クラスタ内のIマトリックスを隣接するクラスタまで延ばして、論理ブロック内の(内部接続範囲を延長する)接続を形成することができる。各論理ブロック内には、ブロック・コネクタ(BC)と呼ぶ関連する1組のアクセス線がある。ブロック・コネクタによって、同じ論理ブロックの様々なセルへのアクセスとそれらのセルの間の接続を行う。言い換えると、論理ブロックの各セルの入力と出力は、その論理ブロックに対応する1組のブロック・コネクタに接続することができる。同じ論理ブロック内のIマトリックスとブロック・コネクタを賢明に使用することによって、論理ブロック外部の資源を使用せずに1組の信号を内部接続することができる。いくつかのプログラマブル・スイッチを使用して、現行論理ブロックの外部の信号に外部アクセス接続するためにどのブロック接続を一緒に、論理ブロック内のセルの1組の入力または出力、あるいはその両方に接続するかを制御する。言い換えると、現行論理ブロックの外部に外部接続する、論理ブロック内の入力ピンまたは出力ピンあるいはその両方が、現行論理ブロック内のブロック・コネクタを介してアクセスまたは接続される。
様々な論理ブロック間で信号をルーティングするために、均一に分散された多重レベル・アーキテクチャ(MLA)ルーティング網を使用して、個々の組のブロック・コネクタ間を接続可能にする。第1のレベルのMLAルーティング網線のいずれを一緒に接続するかを制御するために、プログラマブル・スイッチを用いる。追加のプログラマブル・スイッチを使用して、どのブロック・コネクタを特定の第1のレベルのMLAルーティング線に接続するかを制御する。たとえば、このスイッチをプログラムして、1つの論理ブロックに属する送信元セルを別の論理ブロックに属する宛先セルに接続することができる。これは、送信元セルを、そのセルの1つまたは複数のブロック・コネクタを介して、第1のレベルのMLA上に接続し、距離に応じて他の1つまたは複数のレベルのMLA上に接続し、降下方向レベルのMLAを降下して第1のレベルのMLAに戻り、最後に宛先セルのブロック・コネクタを介して接続することによって行うことができる。
これによって、ブロック・コネクタと第1のレベルのMLAルーティング網は、ブロック・クラスタと呼ぶ8×8セル・アレイを相互接続することができる。
これによって、ブロック・コネクタと第1のレベルのMLAルーティング網は、ブロック・クラスタと呼ぶ8×8セル・アレイを相互接続することができる。
本発明では、追加のレベルのMLAルーティング網を実装することによって、より大きなセル・アレイを相互接続することができる。たとえば、第2のレベルのMLAルーティング網線を実装して、様々な第1のレベルのMLAルーティング線間を接続可能にし、それによって様々なブロック・クラスタ間の接続を行い、ブロック・セクタと呼ぶ16×16のセル・アレイの接続可能性を実現することができる。各レベルのMLAは、そのレベルのルーティング網のプログラマブル相互接続を行うための、対応する数のスイッチを持っている。追加のスイッチ交換網を使用して、様々なレベルのMLA間を接続することができる。
1つの実施形態では、スイッチを使用して、異なる2組のブロック・コネクタ間を接続可能にすることができる。さらに、特定のレベルの、異なる組のMLAのMLAルーティング線間を接続可能にするようにスイッチを組み込むこともできる。これによって、ルーティングの柔軟性が増す。
本発明では、すべてのMLAルーティング網線が双方向線である。スイッチは、プログラマブル双方向パスゲートから成る。レベル数を増やした場合、ルーティング線、パスゲート、および関連する負荷などを駆動するための必要なスイッチング速度を実現するためにドライバが必要な場合がある。1つの実施形態では、スイッチを使用して、様々な組のブロック・コネクタ間でのプログラマブル接続を可能にすることができる。追加のスイッチを実装して、様々な組の第1のレベルのMLA間でプログラマブル接続を可能にすることができる。この方式はさらに高いレベルのMLAについて繰り返すことができる。
詳細な説明
プログラマブル論理回路のアーキテクチャと相互接続方式について説明する。
以下の説明では、本発明を十分に理解することができるように、組合せ論理回路、セル構成、セルの番号など、説明のために多くの特定の詳細を記載する。しかし、当業者には、これらの特定の詳細がなくても本発明を実施することができることが明らかであろう。他の場合には、本発明を不必要にあいまいにするのを避けるために、公知の構造および素子はブロック図の形で示してある。また、本発明はスタティック・ランダム・アクセス・メモリ(SRAM)、ダイナミック・ランダム・アクセス・メモリ(DRAM)、ヒューズ、アンチヒューズ、消去可能プログラマブル読取り専用メモリ(EPROM)、電気的消去可能プログラマブル読取り専用メモリ(EEPROM)、FLASH、および強誘電プロセスなど、様々なプロセスに関係していることに留意されたい。
プログラマブル論理回路のアーキテクチャと相互接続方式について説明する。
以下の説明では、本発明を十分に理解することができるように、組合せ論理回路、セル構成、セルの番号など、説明のために多くの特定の詳細を記載する。しかし、当業者には、これらの特定の詳細がなくても本発明を実施することができることが明らかであろう。他の場合には、本発明を不必要にあいまいにするのを避けるために、公知の構造および素子はブロック図の形で示してある。また、本発明はスタティック・ランダム・アクセス・メモリ(SRAM)、ダイナミック・ランダム・アクセス・メモリ(DRAM)、ヒューズ、アンチヒューズ、消去可能プログラマブル読取り専用メモリ(EPROM)、電気的消去可能プログラマブル読取り専用メモリ(EEPROM)、FLASH、および強誘電プロセスなど、様々なプロセスに関係していることに留意されたい。
第1図を参照すると、本発明を実施することができるフィールド・プログラマブル・ゲート・アレイ論理回路のブロック図が100として示してある。入出力論理ブロック102、103、111、および112は、FPGAの外部パッケージ・ピンと内部ユーザ論理回路との間に、直接的に、または入出力論理ブロックとコアとのインタフェース104、105、113、114を介して、インタフェースを備える。4つのインタフェース・ブロック104、105、113、および114は、コア106と入出力論理ブロック102、103、111、および112との間の減結合を行う。コア106は、Iマトリックス101によって内部接続され、MLAルーティング網108によって相互接続されているいくつかのクラスタ107から成る。
制御/プログラミング論理回路109を使用して、ビット線とワード線をプログラムするすべてのビットを制御する。アンチヒューズ技法またはヒューズ技法の場合、高圧/高電流を加えてヒューズをザップまたは接続する。EEPROM、フラッシュ、または強誘電技法の場合、消去サイクルの後に、メモリ・ビットの論理状態をプログラムするプログラミング・サイクルがある。スキューを最小限にするために、別個のクロック/リセット論理回路110を使用して、グループごとにクロック線とリセット線を形成する。
現在のところ好ましい実施形態では、各クラスタ107は論理クラスタと呼ぶ2×2階層の4個のセルから成る。第2A図および第2B図に、個別のセル200および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がドライバ212ないし214によって駆動されてゲート201ないし204に非反転の形で送られる。スイッチ207、209、および211を起動すると、入力信号A、B、およびDはインバータ215ないし216によって反転されてからゲート201ないし204に渡される。6個のスイッチ212ないし217は、ユーザによるプログラムに従って、個別にオンおよびオフすることができる。
出力信号を次段に伝搬することによってXORゲート201、NANDゲート202、およびNORゲート203を使用してXNOR、ANDおよびORを実行することもでき、それによって信号を上述のように反転させることができることに留意されたい。
3個のスイッチ219ないし221は3個のゲート201ないし203の出力にそれぞれ結合されている。この場合も、このスイッチはユーザがプログラムすることができる。それによって、ユーザはゲート201ないし203からのどの出力信号を、セル200からの出力信号Xとしてドライバ224に送るかを指定することができる。
上記のスイッチ206ないし211、218ないし221は双方向プログラム制御パスゲートから成る。これらのスイッチは、制御信号の状態に応じて、導通(すなわち線で信号を通す)状態になったり非導通(すなわち線で信号を通さない)状態になったりする。以下で述べるスイッチも同様にプログラム制御パスゲートから成る。
次に第3A図を参照すると、論理クラスタ107が示されている。現在のところ好ましい実施形態では、論理クラスタ107はセル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をイネーブルすることによって、セル301の出力Xをセル304の入力Aと接続することができる。スイッチ306および309をイネーブルすることによって、セル301の出力XをDフリップフロップ・セル305の入力Dと接続することができる。
同様に、スイッチ311および312をイネーブルすることによって、セル302からの出力Xをセル301の入力Aと接続することができる。スイッチ311および315をイネーブルすることによって、セル302からの出力Xをセル303の入力Aと接続することができる。スイッチ311および313をイネーブルすることによって、セル302からの出力Xをセル304の入力Bと接続することができる。スイッチ311および314をイネーブルすることによって、セル302の出力XをDフリップフロップ・セル305の入力Dと接続することができる。
同様に、スイッチ326および327をイネーブルすることによって、セル303からの出力Xをセル301の入力Bと接続することができる。スイッチ326および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および319をイネーブルすることによって、セル304からの出力Xをセル303の入力Aに接続することができる。第2A図のスイッチ218をイネーブルすることによって、セル304の出力XをDフリップフロップ・セル305の入力Dに接続することができる。
セル305については、スイッチ320および321をイネーブルすることによって、その出力をセル301のA入力に接続することができ、スイッチ320および322をイネーブルすればセル302のB入力、スイッチ320および325をイネーブルすればセル303のB入力、スイッチ320および323をイネーブルすればセル304のA入力、スイッチ320および324をイネーブルすればセル305のD入力に接続することができる。
セル301ないし304およびDフリップフロップ305の各出力は、その近隣セルまたはクラスタ内のフリップフロップあるいはその両方のそれぞれの入力と接続可能である。
本発明の現在のところ好ましい実施形態では、各論理クラスタは、各論理ブロック内の隣り合うクラスタからIマトリックスを延長するパスゲート・スイッチを介して各論理ブロック内の他のすべての論理クラスタに接続可能である。第3B図に、論理クラスタ107のセル301ないし304およびDフリップフロップ305のIマトリックス内部接続線331ないし335を、同じ論理ブロック内のパスゲート・スイッチ336ないし355を介して近隣論理クラスタ107まで延長する様子を示す。
本発明の現在のところ好ましい実施形態では、各論理ブロックはFPGAの他のすべての論理ブロックに接続可能である。これは、多層相互接続を有するアーキテクチャを実行することによって実現される。この多層ルーティング・アーキテクチャは、プロセス階層でも技術階層でもなく概念階層であり、したがって現在のシリコン・プロセス技術で容易に実現可能であることに留意することが重要である。相互接続の最下位層を「ブロック・コネクタ」と呼ぶ。1組のブロック・コネクタによって、関連する(4個の論理クラスタまたは16個のセルから成る)論理ブロック内の信号のアクセスと相互接続とを実現する。それによって、同じ論理ブロック内の様々な組の論理クラスタを、延長されたIマトリックスまたはブロック・コネクタあるいはその両方を使用して、そのグループ内の他の任意の論理クラスタと接続することができる。この場合も、プログラマブル双方向パスゲートをスイッチとして使用して、ユーザにルーティングの柔軟性を与える。
その次のレベルの接続を「レベル1多重レベルアーキテクチャ(MLA)」ルーティング網と呼ぶ。レベル1MLAルーティング網は、数組のブロック・コネクタ間を相互接続する。プログラマブル・パスゲート・スイッチを使用して、どのブロック・コネクタを接続するかをユーザが選択できるようにする。したがって、1組の論理ブロック・グループ内の第1の論理ブロックを、同じグループに属する第2の論理ブロックに接続することができる。適切なスイッチをイネーブルして、第1の論理ブロックのブロック・コネクタをレベル1MLAルーティング網のルーティング線に接続する。レベル1MLAルーティング網の適切なスイッチをイネーブルして、レベル1MLAルーティング網のルーティング線と第2の論理ブロックのブロック・コネクタとの接続を行う。適切なスイッチをイネーブルして、第1および第2の論理ブロックのブロック・コネクタに接続されているレベル1MLAルーティング網のルーティング線を接続する。さらに、ユーザは任意の論理ブロック内の様々なスイッチをプログラムして、任意の論理ブロックの各セル間の所望の内部接続を行う柔軟性も持っている。
次のレベルの接続を「レベル2多重レベルアーキテクチャ(MLA)」ルーティング網と呼ぶ。レベル2MLAは、様々なレベル1MLAの相互接続を行って、ブロック・クラスタのアクセスと接続を果たす。この場合も、ユーザが双方向パスゲート・スイッチをプログラムして、所望の接続を行うことができる。レベル2MLAルーティング網を実装することによって、さらに多くの論理ブロック間のプログラマブル相互接続も実現することができる。
追加のレベルのMLAルーティング網を実装して、さらに多くの数とグループの論理ブロック、ブロック・クラスタ・ブロック・セクタなどのプログラマブル相互接続を行うことができる。基本的に、本発明はルーティングの実施に3次元手法を用いる。信号は論理ブロックの内部接続間でルーティングされる。これらの信号には、ブロック・コネクタを介してアクセスすることができ、プログラムされたブロック・コネクタ接続に従ってルーティングすることができる。必要であれば、信号をレベル1MLAに「上げ」、レベル1MLAルーティング網を介してルーティングし、適切なブロック・コネクタに「下げ」てから、宛先論理ブロックに渡す。
レベル2MLAルーティング網が必要な場合は、信号の一部をもう一度レベル1MLAルーティング網線からレベル2MLAルーティング網に上げて、異なる組のレベル2MLAルーティング網線までルーティングし、そのレベル2MLAルーティング網線からレベル1MLAルーティング網線に「下げる」。そこで信号をもう一度「下げ」て、レベル1MLAから宛先論理ブロックの適切なブロック・コネクタに信号を渡す。FPGAのサイズと密度に従って必要に応じてレベル3、4、5などのMLAについてもこれと同じ手法を行う。上述の方法を使用して、部分nレベルMLAを実行し、所与のセル・アレイ数のFPGAを実行することができる。
第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−V32)でアクセス可能で、セル302の出力Xはそれぞれスイッチ461、465を介して垂直ブロック・コネクタ452(BC−V12)および457(BC−V41)でアクセス可能である。セル303の入力Aは、それぞれスイッチ485、476を介して垂直ブロック・コネクタ451(BC−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、478を介して垂直ブロック・コネクタ453(BC−V21)および455(BC−V31)でアクセス可能で、セル304の入力Bはそれぞれスイッチ482、484を介して垂直ブロック・コネクタ454(BC−V22)および456(BC−V32)でアクセス可能であり、セル304の出力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−V12)および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−H22)でアクセス可能で、セル302の入力Bはそれぞれスイッチ433、417を介して水平ブロック・コネクタ401(BC−H11)および403(BC−H21)でアクセス可能で、セル302の出力Xはそれぞれスイッチ418、424を介して水平ブロック・コネクタ405(BC−H31)および408(BC−H42)でアクセス可能である。セル303の入力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)および407(BC−H41)でアクセス可能である。セル304の入力Aは、それぞれスイッチ422、430を介して水平ブロック・コネクタ(BC−H22)および406(BC−H32)でアクセス可能で、セル304の入力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)でアクセス可能で、セル305の出力Xはそれぞれスイッチ432、435を介して水平ブロック・コネクタ401(BC=H11)および408(BC−H42)でアクセス可能である。
第4A図および4B図には、現在のところ好ましい実施形態における論理ブロック内部の左上(北西)の論理クラスタへの水平および垂直のブロック・コネクタのアクセス方法が示されている。左下(南西)のクラスタの垂直ブロック・コネクタへのアクセス方法も、北西のクラスタと同じである。右上(北東)クラスタのアクセス方法も、垂直ブロック・コネクタについては北西クラスタのアクセス方法と同様であるが、水平ブロック・コネクタ・アクセスのシーケンスがシフトされる。垂直ブロック・コネクタ451ないし458は、1つの円柱(451、452、...、458)として連鎖しているように見る。たとえば4だけシフトさせると、新しいシーケンス(455、456、457、458、451、452、453、454)が形成される。第4A図に示すように北西クラスタ内のセル301のアクセスを垂直ブロック・コネクタ451および453から開始する代わりに、北東クラスタ内のセル301は垂直ブロック・コネクタ455および457でアクセス可能である。番号は4だけ「シフト」される。右下(南東)クラスタの垂直ブロック・コネクタへのアクセス・ラベル付けは、北東クラスタと同じである。
同様に、北西クラスタへの水平ブロック・コネクタ・アクセスは北東クラスタと同じであり、南西クラスタは南東クラスタと同じであるが、南西クラスタへの水平ブロック・コネクタ・アクセスは北西クラスタの水平ブロック・コネクタ・アクセスと比較して4だけシフトされる。
現在のところ好ましい実施形態では、1つの論理ブロックについて16本のブロック・コネクタ(すなわち4個のクラスタ、または1つの4×4セル・アレイ)を使用する。レベル1MLAルーティング網を追加することによって、ブロック・クラスタ(8×8セル・アレイ)の接続が可能になる。レベル2MLAルーティング網を追加すると、接続がブロック・セクタ(16×16セル・アレイ)まで拡大される。追加レベルのMLAルーティング網によって、ブロック・セクタ数が4倍に増加すると同時に、MLAルーティング網内の各線の長さ(または到達距離)が2倍に増加する。レベル2MLAのルーティング線の本数は、2倍に増加する。単位面積当たりブロック・セクタ数が4倍に増えるため、階層の次のレベルのルーティング線の数は実際には2分の1に減る。
第5A図に、付随する16本のブロック・コネクタを持つ論理ブロックと、その論理ブロックに付随するレベル1MLAルーティング線を示す。16本のブロック・コネクタ501ないし516は太い線で図示し、16本のレベル1MLAルーティング網線517−532は細い線で図示してある。ブロック・コネクタの長さすなわち全長は論理ブロック内で終わっているが、レベル1MLAルーティング網線の長さは近隣論理ブロックまで延びている(ブロック・コネクタの長さの2倍)ことに留意されたい。
ブロック・コネクタとレベル1MLAルーティング網線は両方とも、水平グループと垂直グループ、すなわち垂直ブロック・コネクタ501ないし508、水平ブロック・コネクタ509ないし516、垂直レベル1MLAルーティング網線517ないし524、および水平レベル1MLAルーティング網線525ないし532に細分されている。
現在のところ好ましい実施形態では、論理ブロック内の16本のMLAルーティング網線について24個のレベル1MLA転換点がある。第5A図では、24個の転換点が明確な点541ないし564として図示されている。
MLA転換点は、水平MLAルーティング網線と垂直MLAルーティング網線の間の接続を可能にするプログラマブル双方向パスゲートである。たとえば、レベル1MLA転換点541をイネーブルすると、水平レベル1MLAルーティング網線526と垂直レベル1MLAルーティング網線520とが接続される。第5B図に、レベル1MLA転換点541を示す。レベル1MLAルーティング網線526をレベル1MLAルーティング網線520に接続するかどうかが、スイッチ583によって制御される。スイッチがイネーブルされると、レベル1MLAルーティング網線526はレベル1MLAルーティング網線520と接続される。イネーブルされない場合、線526は線520と接続されない。スイッチ583はユーザがプログラムすることができる。転換点は、2つ以上のブロック・コネクタを、まずブロック・コネクタを介してレベル1MLA交換網に接続し、次にスイッチをイネーブルすることによって選択されたレベル1MLAルーティング線を接続するスイッチング・アクセスを提供することを目的として、対になったグループとして配置されている。レベル1MLA線を使用して、同じブロック・クラスタ内の別々の論理ブロックにあるブロック・コネクタを接続する。
再び第5A図を参照すると、各論理ブロックについてレベル1MLA交換網533ないし540に接続する8本のブロック・コネクタがある。これらの交換網は、ユーザによるプログラムに従って特定のブロック・コネクタをレベル1MLA線に接続するように動作する。第5C図に、交換網537を詳細に示す。レベル1MLAルーティング交換網に接続するブロック・コネクタは、8個のドライバ575ないし582を有している。この8個のドライバ575ないし582を使用して、ブロック・コネクタ501、502およびレベル1MLA線517、518を双方向に駆動する。たとえば、スイッチ565をイネーブルすると、ドライバ575によってブロック・コネクタ501上の信号が駆動されてレベル1MLA線517に送られる。スイッチ566をイネーブルすると、ドライバ576によってレベル1MLA線517上の信号が駆動されてブロック・コネクタ501に送られる。スイッチ567をイネーブルすると、ドライバ577によってブロック・コネクタ501上の信号が駆動されてレベル1MLA線518に送られる。スイッチ568をイネーブルすると、ドライバ578によってレベル1MLA線518上の信号が駆動されてブロック・コネクタ501に送られる。
同様に、スイッチ569をイネーブルすると、ドライバ579によってブロック・コネクタ502上の信号が駆動されてレベル1MLA線517に送られる。
スイッチ570をイネーブルすると、ドライバ580によってレベル1MLA線517上の信号が駆動されてブロック・コネクタ502に送られる。スイッチ571をイネーブルすると、ドライバ581によってブロック・コネクタ502上の信号が駆動されてレベル1MLA線518に送られる。スイッチ572をイネーブルすると、ドライバ582によってレベル1MLA線518上の信号が駆動されてブロック・コネクタ502に送られる。スイッチ573を使用して、1つのブロック・コネクタ501から隣接する論理ブロックに属する隣接するブロック・コネクタ584に信号を渡すかどうかを制御する。
スイッチ570をイネーブルすると、ドライバ580によってレベル1MLA線517上の信号が駆動されてブロック・コネクタ502に送られる。スイッチ571をイネーブルすると、ドライバ581によってブロック・コネクタ502上の信号が駆動されてレベル1MLA線518に送られる。スイッチ572をイネーブルすると、ドライバ582によってレベル1MLA線518上の信号が駆動されてブロック・コネクタ502に送られる。スイッチ573を使用して、1つのブロック・コネクタ501から隣接する論理ブロックに属する隣接するブロック・コネクタ584に信号を渡すかどうかを制御する。
同様に、スイッチ574を使用して、1つのブロック・コネクタ502から隣接論理ブロックに属する隣接ブロック・コネクタ585に信号を渡すかどうかを制御する。
第6図に、ブロック・クラスタのルーティング網を示す。このブロック・クラスタは基本的に、レベル1MLA交換網533ないし540によって相互接続することができる4つの論理ブロックから成る。32本のレベル1MLAルーティング網線があるのがわかる。
第7A図に、ブロック・セクタのブロック図を示す。このブロック・セクタは4つのブロック・クラスタ701ないし704から成る。前述のように、ブロック・クラスタはブロック・コネクタおよびレベル1MLAルーティング網線によって相互接続される。さらに、このブロック・セクタは、64本のレベル2MLAルーティング網線と64本のレベル2からレベル1への交換網を備え、レベル1MLAルーティング網とレベル2MLAルーティング網とを接続可能にする。
レベル1からレベル2へのMLAルーティング交換網は、第7A図で矩形で図示されている。さらに、ブロック・セクタ内の4つの論理ブロックのそれぞれに関連する48個のレベル2MLA転換点がある。したがって、このブロック・セクタには192個のレベル2MLA転換点があることになる。
第7B図に、レベル1からレベル2へのMLAルーティング交換網705のサンプルを示す。スイッチ710を使用して、レベル1MLA線709とレベル2MLA線708の間で信号を受け渡しするかどうかを制御する様子がわかる。スイッチ711を使用して、レベル1MLA線709とレベル2MLA線707の間で信号の受け渡しをするかどうかを制御する。スイッチ712を使用して、レベル1MLA線706とレベル2MLA線708の間で信号を受け渡しするかどうかを制御する。スイッチ713を使用して、レベル1MLA線706とレベル2MLA線707の間で信号を受け渡しするかどうかを制御する。スイッチ714を使用して、1本のレベル1MLA線709から隣接ブロック・クラスタに属する隣接レベル1MLA線716に信号を渡すかどうかを制御する。同様に、スイッチ715を使用して、1つのレベル1MLA線706から隣接ブロック・クラスタに属する隣接レベル1MLA線715に信号を渡すかどうかを制御する。
第8A図にセクタ・クラスタを示す。このセクタ・クラスタは、4つのブロック・セクタ801ないし804とそれに関連するブロック・コネクタ、レベル1およびレベル2のMLAルーティング網線および交換網からなる。さらに、128本のレベル3MLAルーティング網線があり、同じセクタ・クラスタ800内の異なるブロック・セクタ801ないし804に属するレベル2MLA線間を接続することができる。ブロック・セクタ801ないし804のそれぞれについてレベル3MLA線に関連する96個のレベル3MLA転換点がある(すなわちセクタ・クラスタには合計384個のレベル3MLA転換点がある)。さらに、4つのブロック・セクタ801ないし804のそれぞれに関連する32本のレベル2からレベル3へのMLAルーティング交換網がある。したがって、合計128のレベル3MLAルーティング交換網があって、様々なレベル2およびレベル3MLA線の間のプログラマブル接続を行うことができる。
第8B図に、レベル2からレベル3へのMLAルーティング交換網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から切断される。スイッチ813をイネーブルすると、レベル2MLA線809上の信号がレベル3MLA線807に接続される。スイッチ813をディスエーブルすると、レベル2MLA線809がレベル3MLA線807から切断される。
本発明では、対応するMLA転換点および交換網を有する追加のレベルのMLAルーティング網によって接続された、追加の論理セクタ・クラスタを付加することによって、さらに大規模でさらに強力なFPGAを実現することができる。
本発明の1つの実施形態では、5本のIマトリクス線(第3A図の331ないし335)のそれぞれを延長して、2つの異なるクラスタに属する2つの隣接するIマトリックス線間を接続可能にすることができる。第3B図のパスゲート・スイッチ336ないし340、341ないし345、346ないし350、および351ないし355は、異なる4組のIマトリックス線延長スイッチの例である。これにより、ブロック・コネクタを使用してルーティングしなくても2つの隣接クラスタ間で信号をルーティングすることができるようにすることによって柔軟性がさらに増す。
同様に、ブロック・コネクタを延長して、2つの異なる論理ブロックに属する2つの隣接するブロック・コネクタ間を接続可能にすることができる。第5C図のスイッチ573は、ブロック・コネクタ501をブロック・コネクタ584にスイッチ573を介して接続するこの種のブロック・コネクタ延長を示している。これにより、レベル1MLA線とそれに関連するMLA交換網を介してルーティングしなくても2つの隣接論理ブロック間で信号のルーティングができるようになることによって、柔軟性がさらに増す。この概念はレベル1MLA線にも同様に適用することができる。第7B図のスイッチ714は、スイッチ714をイネーブルすることによってレベル1MLA線709が延長されてレベル1MLA線716に接続する例を示している。これにより、レベル2MLA線とそれに関連するMLA交換網を介してルーティングしなくても2つの隣接するブロック・クラスタ間で信号をルーティングすることができるようになり、柔軟性がさらに増す。
以上のように、プログラマブル論理回路のための内部接続および相互接続手段を備えたアーキテクチャを開示する。
本発明を、限定的なものではなく例示的なものとして添付図面の図に示す。図面では、同様の参照番号は同様の要素を示す。
本発明を実施することができるフィールド・プログラマブル・ゲート・アレイ論理回路のブロック図である。
個別のセルを示す一実施形態の図である。
別個のセルを示す他の実施形態の図である。
論理クラスタの図である。
1つの論理クラスタのIマトリックス内部接続を近隣論理クラスタに延長する様子を示す図である。
垂直ブロック・コネクタを備えた論理クラスタの実施形態を示す図である。
水平ブロック・コネクタを備えた論理クラスタの実施形態を示す図である。
論理ブロックに関連するレベル1MLA交換網に接続する8ブロック・コネクタとレベル1MLA転換点を示す図である。
レベル1MLA転換点を示す図である。
交換網を示す図である。
ブロック・クラスタのルーティング網を示す図である。
ブロック・セクタのブロック図である。
レベル1からレベル2へのMLAルーティング交換網を示す図である。
セクタ・クラスタを示す図である。
レベル2からレベル3へのMLAルーティング交換網を示す図である。
Claims (4)
- スイッチと、
第1の次元に沿って第1の長さを有する第1の導体と第1の次元に沿って第2の長さを有する第2の導体と第1の次元に沿って第3の長さを有する第3の導体であって、第1の長さは第2の長さより長く、かつ、第1の長さは第3の長さより長く、前記第1の次元に沿い、かつ、少なくとも1つの論理クラスタのセルに沿い、かつ、セルの長さに亘って配置されている、第1及び第2及び第3の導体と、
第2の次元に沿って第4の長さを有する第4の導体と第2の次元に沿って第5の長さを有する第5の導体と第2の次元に沿って第6の長さを有する第6の導体であって、第4の長さは第5の長さより長く、かつ、第4の長さは第6の長さより長く、前記第2の次元に沿い、かつ、少なくとも1つの論理クラスタのセルに沿い、かつ、セルの長さに亘って配置されている、第4及び第5及び第6の導体とを備え、
第1の導体は前記のスイッチを介して第4の導体に選択的に結合し、
第1及び第2及び第3及び第4及び第5及び第6の各導体は論理クラスタのセルの入力にも出力にも直結されないことを特徴とする集積回路。 - プログラマブル論理回路の相互接続方法であって、
第1の次元に沿って第1の長さを有する第1の導体と第1の次元に沿って第2の長さを有する第2の導体と第1の次元に沿って第3の長さを有する第3の導体であって、第1の長さは第2の長さより長く、かつ、第1の長さは第3の長さより長く、前記第1の次元に沿い、かつ、少なくとも1つの論理クラスタのセルに沿い、かつ、セルの長さに亘って配置されている、第1及び第2及び第3の導体を提供し、
第2の次元に沿って第4の長さを有する第4の導体と第2の次元に沿って第5の長さを有する第5の導体と第2の次元に沿って第6の長さを有する第6の導体であって、第4の長さは第5の長さより長く、かつ、第4の長さは第6の長さより長く、前記第2の次元に沿い、かつ、少なくとも1つの論理クラスタのセルに沿い、かつ、セルの長さに亘って配置されている、第4及び第5及び第6の導体を提供し、
スイッチを介して第1の導体を第4の導体に選択的に結合し、
第1及び第2及び第3及び第4及び第5及び第6の各導体は論理クラスタのセルの入力にも出力にも直結されないことを特徴とする方法。 - ある長さを有する集積回路であって、
スイッチと、
第1の次元に沿って第1の長さを有する第1の導体と第1の次元に沿って第2の長さを有する第2の導体と第1の次元に沿って第3の長さを有する第3の導体であって、第1の長さは少なくとも第2の長さ及び第3の長さのいずれかよりは長く、かつ、第1及び第2及び第3の長さはそれぞれ前記第1の次元に沿って集積回路の長さより短く、第1の次元に沿い、かつ、少なくとも1つの論理クラスタのセルに沿い、かつ、セルの長さに亘って配置されている、第1及び第2及び第3の導体と、
第2の次元に沿って第4の長さを有する第4の導体と第2の次元に沿って第5の長さを有する第5の導体であって、第4の長さは第5の長さより長く、かつ、第4の長さは前記第2の次元に沿って集積回路の長さより短く、前記第2の次元に沿い、かつ、少なくとも1つの論理クラスタのセルに沿い、かつ、セルの長さに亘って配置されている、第4及び第5の導体とを備え、
第1の導体は前記のスイッチを介して第4の導体に選択的に結合し、
第1及び第2及び第3及び第4及び第5の各導体は論理クラスタのセルの入力にも出力にも直結されないことを特徴とする集積回路。 - プログラマブル論理回路の相互接続方法であって、
第1の次元に沿って第1の長さを有する第1の導体と第1の次元に沿って第2の長さを有する第2の導体と第1の次元に沿って第3の長さを有する第3の導体であって、第1の長さは第2の長さか第3の長さのどちらかより長く、前記第1の次元に沿い、かつ、少なくとも1つの論理クラスタのセルに沿い、かつ、セルの長さに亘って配置されている、第1及び第2及び第3の導体を提供し、
第2の次元に沿って第4の長さを有する第4の導体と第2の次元に沿って第5の長さを有する第5の導体であって、第4の長さは第5の長さより長く、前記第2の次元に沿い、かつ、少なくとも1つの論理クラスタのセルに沿い、かつ、セルの長さに亘って配置されている、第4及び第5の導体を提供し、
スイッチを介して第1の導体を第4の導体に選択的に結合し、
第1及び第2及び第3及び第4及び第5の各導体は論理クラスタのセルの入力にも出力にも直結されないことを特徴とする方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/101,197 US5457410A (en) | 1993-08-03 | 1993-08-03 | Architecture and interconnect scheme for programmable logic circuits |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP50582195A Division JP4169164B2 (ja) | 1993-08-03 | 1994-06-24 | 集積回路及びプログラマブル論理回路の相互接続方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008278508A true JP2008278508A (ja) | 2008-11-13 |
Family
ID=22283464
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP50582195A Expired - Fee Related JP4169164B2 (ja) | 1993-08-03 | 1994-06-24 | 集積回路及びプログラマブル論理回路の相互接続方法 |
JP2008129490A Pending JP2008278508A (ja) | 1993-08-03 | 2008-05-16 | 集積回路及びプログラマブル論理回路の相互接続方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP50582195A Expired - Fee Related JP4169164B2 (ja) | 1993-08-03 | 1994-06-24 | 集積回路及びプログラマブル論理回路の相互接続方法 |
Country Status (10)
Country | Link |
---|---|
US (9) | US5457410A (ja) |
EP (2) | EP0806836B1 (ja) |
JP (2) | JP4169164B2 (ja) |
KR (1) | KR100413881B1 (ja) |
CN (1) | CN1048127C (ja) |
AT (2) | ATE227902T1 (ja) |
AU (1) | AU7356294A (ja) |
DE (2) | DE69431732T2 (ja) |
SG (1) | SG55046A1 (ja) |
WO (1) | WO1995004404A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8289047B2 (en) | 1993-08-03 | 2012-10-16 | Actel Corporation | Architecture and interconnect scheme for programmable logic circuits |
US8468712B2 (en) | 2007-11-13 | 2013-06-25 | E.I. Du Pont De Nemours And Company | Method for bonding a transparent substrate to a liquid crystal display and associated device |
Families Citing this family (244)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5367208A (en) | 1986-09-19 | 1994-11-22 | Actel Corporation | Reconfigurable programmable interconnect architecture |
US5377124A (en) * | 1989-09-20 | 1994-12-27 | Aptix Corporation | Field programmable printed circuit board |
GB9223226D0 (en) | 1992-11-05 | 1992-12-16 | Algotronix Ltd | Improved configurable cellular array (cal ii) |
US5648912A (en) * | 1993-04-12 | 1997-07-15 | International Business Machines Corporation | Interconnection resource assignment method for differential current switch nets |
GB9312674D0 (en) * | 1993-06-18 | 1993-08-04 | Pilkington Micro Electronics | Configurabel logic array |
US6462578B2 (en) * | 1993-08-03 | 2002-10-08 | Btr, Inc. | Architecture and interconnect scheme for programmable logic circuits |
US6051991A (en) * | 1993-08-03 | 2000-04-18 | Btr, Inc. | Architecture and interconnect scheme for programmable logic circuits |
US5682107A (en) * | 1994-04-01 | 1997-10-28 | Xilinx, Inc. | FPGA architecture with repeatable tiles including routing matrices and logic matrices |
EP1594228A3 (en) * | 1994-04-14 | 2005-11-16 | Btr, Inc. | Architecture and interconnect scheme for programmable logic circuits |
US5424655A (en) * | 1994-05-20 | 1995-06-13 | Quicklogic Corporation | Programmable application specific integrated circuit employing antifuses and methods therefor |
US5689686A (en) * | 1994-07-29 | 1997-11-18 | Cypress Semiconductor Corp. | Methods for maximizing routability in a programmable interconnect matrix having less than full connectability |
US5587923A (en) * | 1994-09-07 | 1996-12-24 | Lsi Logic Corporation | Method for estimating routability and congestion in a cell placement for integrated circuit chip |
US5537057A (en) * | 1995-02-14 | 1996-07-16 | Altera Corporation | Programmable logic array device with grouped logic regions and three types of conductors |
US5530378A (en) * | 1995-04-26 | 1996-06-25 | Xilinx, Inc. | Cross point interconnect structure with reduced area |
GB9508932D0 (en) * | 1995-05-02 | 1995-06-21 | Xilinx Inc | FPGA with parallel and serial user interfaces |
US5850564A (en) * | 1995-05-03 | 1998-12-15 | Btr, Inc, | Scalable multiple level tab oriented interconnect architecture |
KR19990008270A (ko) * | 1995-05-03 | 1999-01-25 | 팅 벤자민 에스. | 스케일가능한 복수 레벨 상호연결 아키텍춰 |
US5745372A (en) * | 1995-05-04 | 1998-04-28 | Hewlett-Packard Company | Apparatus and method for routing signals in a field programmable gate array integrated circuit |
US5541530A (en) * | 1995-05-17 | 1996-07-30 | Altera Corporation | Programmable logic array integrated circuits with blocks of logic regions grouped into super-blocks |
US5963049A (en) | 1995-05-17 | 1999-10-05 | Altera Corporation | Programmable logic array integrated circuit architectures |
US5909126A (en) * | 1995-05-17 | 1999-06-01 | Altera Corporation | Programmable logic array integrated circuit devices with interleaved logic array blocks |
US5614840A (en) * | 1995-05-17 | 1997-03-25 | Altera Corporation | Programmable logic array integrated circuits with segmented, selectively connectable, long interconnection conductors |
US5652529A (en) * | 1995-06-02 | 1997-07-29 | International Business Machines Corporation | Programmable array clock/reset resource |
US5818254A (en) * | 1995-06-02 | 1998-10-06 | Advanced Micro Devices, Inc. | Multi-tiered hierarchical high speed switch matrix structure for very high-density complex programmable logic devices |
JP3518936B2 (ja) * | 1995-08-23 | 2004-04-12 | ローム株式会社 | プログラム可能な機能装置 |
GB2305759A (en) * | 1995-09-30 | 1997-04-16 | Pilkington Micro Electronics | Semi-conductor integrated circuit |
US5773994A (en) * | 1995-12-15 | 1998-06-30 | Cypress Semiconductor Corp. | Method and apparatus for implementing an internal tri-state bus within a programmable logic circuit |
US6237029B1 (en) | 1996-02-26 | 2001-05-22 | Argosystems, Inc. | Method and apparatus for adaptable digital protocol processing |
US6570404B1 (en) | 1996-03-29 | 2003-05-27 | Altera Corporation | High-performance programmable logic architecture |
US5835998A (en) * | 1996-04-04 | 1998-11-10 | Altera Corporation | Logic cell for programmable logic devices |
US5847969A (en) * | 1996-05-01 | 1998-12-08 | Hewlett-Packard Co. | Integrated circuit design system and method for generating a regular structure embedded in a standard cell control block |
US5894565A (en) * | 1996-05-20 | 1999-04-13 | Atmel Corporation | Field programmable gate array with distributed RAM and increased cell utilization |
US5742181A (en) * | 1996-06-04 | 1998-04-21 | Hewlett-Packard Co. | FPGA with hierarchical interconnect structure and hyperlinks |
GB9614800D0 (en) * | 1996-07-13 | 1996-09-04 | Plessey Semiconductors Ltd | Programmable logic arrays |
US6094066A (en) * | 1996-08-03 | 2000-07-25 | Mission Research Corporation | Tiered routing architecture for field programmable gate arrays |
US6034547A (en) | 1996-09-04 | 2000-03-07 | Advantage Logic, Inc. | Method and apparatus for universal program controlled bus |
US6624658B2 (en) * | 1999-02-04 | 2003-09-23 | Advantage Logic, Inc. | Method and apparatus for universal program controlled bus architecture |
US5781032A (en) * | 1996-09-09 | 1998-07-14 | International Business Machines Corporation | Programmable inverter circuit used in a programmable logic cell |
US5880597A (en) * | 1996-09-18 | 1999-03-09 | Altera Corporation | Interleaved interconnect for programmable logic array devices |
US5977793A (en) * | 1996-10-10 | 1999-11-02 | Altera Corporation | Programmable logic device with hierarchical interconnection resources |
US6300794B1 (en) | 1996-10-10 | 2001-10-09 | Altera Corporation | Programmable logic device with hierarchical interconnection resources |
US5999016A (en) * | 1996-10-10 | 1999-12-07 | Altera Corporation | Architectures for programmable logic devices |
US6286093B1 (en) * | 1996-12-10 | 2001-09-04 | Logic Express Systems, Inc. | Multi-bus programmable interconnect architecture |
US5898317A (en) * | 1996-12-23 | 1999-04-27 | Motorola, Inc. | Configurable monolithic semiconductor circuit and method for configuring |
US5959466A (en) * | 1997-01-31 | 1999-09-28 | Actel Corporation | Field programmable gate array with mask programmed input and output buffers |
US5936426A (en) | 1997-02-03 | 1999-08-10 | Actel Corporation | Logic function module for field programmable array |
US5982195A (en) * | 1997-02-20 | 1999-11-09 | Altera Corporation | Programmable logic device architectures |
US6127844A (en) | 1997-02-20 | 2000-10-03 | Altera Corporation | PCI-compatible programmable logic devices |
US7148722B1 (en) | 1997-02-20 | 2006-12-12 | Altera Corporation | PCI-compatible programmable logic devices |
US5999015A (en) * | 1997-02-20 | 1999-12-07 | Altera Corporation | Logic region resources for programmable logic devices |
US5914616A (en) * | 1997-02-26 | 1999-06-22 | Xilinx, Inc. | FPGA repeatable interconnect structure with hierarchical interconnect lines |
US6204689B1 (en) | 1997-02-26 | 2001-03-20 | Xilinx, Inc. | Input/output interconnect circuit for FPGAs |
US5942913A (en) * | 1997-03-20 | 1999-08-24 | Xilinx, Inc. | FPGA repeatable interconnect structure with bidirectional and unidirectional interconnect lines |
US6201410B1 (en) | 1997-02-26 | 2001-03-13 | Xilinx, Inc. | Wide logic gate implemented in an FPGA configurable logic element |
US5920202A (en) * | 1997-02-26 | 1999-07-06 | Xilinx, Inc. | Configurable logic element with ability to evaluate five and six input functions |
US5889411A (en) * | 1997-02-26 | 1999-03-30 | Xilinx, Inc. | FPGA having logic element carry chains capable of generating wide XOR functions |
US5963050A (en) * | 1997-02-26 | 1999-10-05 | Xilinx, Inc. | Configurable logic element with fast feedback paths |
US6150837A (en) * | 1997-02-28 | 2000-11-21 | Actel Corporation | Enhanced field programmable gate array |
US6184710B1 (en) | 1997-03-20 | 2001-02-06 | Altera Corporation | Programmable logic array devices with enhanced interconnectivity between adjacent logic regions |
US6130551A (en) * | 1998-01-19 | 2000-10-10 | Vantis Corporation | Synthesis-friendly FPGA architecture with variable length and variable timing interconnect |
US6107824A (en) * | 1997-10-16 | 2000-08-22 | Altera Corporation | Circuitry and methods for internal interconnection of programmable logic devices |
US6121790A (en) | 1997-10-16 | 2000-09-19 | Altera Corporation | Programmable logic device with enhanced multiplexing capabilities in interconnect resources |
US6084427A (en) | 1998-05-19 | 2000-07-04 | Altera Corporation | Programmable logic devices with enhanced multiplexing capabilities |
US6107825A (en) | 1997-10-16 | 2000-08-22 | Altera Corporation | Input/output circuitry for programmable logic devices |
US6289494B1 (en) | 1997-11-12 | 2001-09-11 | Quickturn Design Systems, Inc. | Optimized emulation and prototyping architecture |
US6069490A (en) * | 1997-12-02 | 2000-05-30 | Xilinx, Inc. | Routing architecture using a direct connect routing mesh |
US6185724B1 (en) | 1997-12-02 | 2001-02-06 | Xilinx, Inc. | Template-based simulated annealing move-set that improves FPGA architectural feature utilization |
US6104207A (en) * | 1998-04-27 | 2000-08-15 | Lattice Semiconductor Corporation | Programmable logic device |
US7389487B1 (en) * | 1998-04-28 | 2008-06-17 | Actel Corporation | Dedicated interface architecture for a hybrid integrated circuit |
US6092174A (en) * | 1998-06-01 | 2000-07-18 | Context, Inc. | Dynamically reconfigurable distributed integrated circuit processor and method |
US6243664B1 (en) | 1998-10-27 | 2001-06-05 | Cypress Semiconductor Corporation | Methods for maximizing routability in a programmable interconnect matrix having less than full connectability |
US6507216B1 (en) | 1998-11-18 | 2003-01-14 | Altera Corporation | Efficient arrangement of interconnection resources on programmable logic devices |
US6215326B1 (en) | 1998-11-18 | 2001-04-10 | Altera Corporation | Programmable logic device architecture with super-regions having logic regions and a memory region |
US6407576B1 (en) | 1999-03-04 | 2002-06-18 | Altera Corporation | Interconnection and input/output resources for programmable logic integrated circuit devices |
US7185293B1 (en) * | 1999-11-29 | 2007-02-27 | Cellot, Inc. | Universal hardware device and method and tools for use therewith |
US6320412B1 (en) | 1999-12-20 | 2001-11-20 | Btr, Inc. C/O Corporate Trust Co. | Architecture and interconnect for programmable logic circuits |
US7251249B2 (en) * | 2000-01-26 | 2007-07-31 | Tundra Semiconductor Corporation | Integrated high speed switch router using a multiport architecture |
US8160864B1 (en) | 2000-10-26 | 2012-04-17 | Cypress Semiconductor Corporation | In-circuit emulator and pod synchronized boot |
US6724220B1 (en) | 2000-10-26 | 2004-04-20 | Cyress Semiconductor Corporation | Programmable microcontroller architecture (mixed analog/digital) |
US7765095B1 (en) | 2000-10-26 | 2010-07-27 | Cypress Semiconductor Corporation | Conditional branching in an in-circuit emulation system |
US8176296B2 (en) | 2000-10-26 | 2012-05-08 | Cypress Semiconductor Corporation | Programmable microcontroller architecture |
US8149048B1 (en) | 2000-10-26 | 2012-04-03 | Cypress Semiconductor Corporation | Apparatus and method for programmable power management in a programmable analog circuit block |
US8103496B1 (en) | 2000-10-26 | 2012-01-24 | Cypress Semicondutor Corporation | Breakpoint control in an in-circuit emulation system |
GB2374242B (en) * | 2001-04-07 | 2005-03-16 | Univ Dundee | Integrated circuit and related improvements |
US6605962B2 (en) | 2001-05-06 | 2003-08-12 | Altera Corporation | PLD architecture for flexible placement of IP function blocks |
US7076595B1 (en) * | 2001-05-18 | 2006-07-11 | Xilinx, Inc. | Programmable logic device including programmable interface core and central processing unit |
US20030020082A1 (en) * | 2001-07-25 | 2003-01-30 | Motorola, Inc. | Structure and method for fabricating semiconductor structures and devices for optical switching |
DE10139610A1 (de) | 2001-08-11 | 2003-03-06 | Daimler Chrysler Ag | Universelle Rechnerarchitektur |
US7420392B2 (en) * | 2001-09-28 | 2008-09-02 | Xilinx, Inc. | Programmable gate array and embedded circuitry initialization and processing |
US6798239B2 (en) * | 2001-09-28 | 2004-09-28 | Xilinx, Inc. | Programmable gate array having interconnecting logic to support embedded fixed logic circuitry |
US6781407B2 (en) | 2002-01-09 | 2004-08-24 | Xilinx, Inc. | FPGA and embedded circuitry initialization and processing |
US6594810B1 (en) | 2001-10-04 | 2003-07-15 | M2000 | Reconfigurable integrated circuit with a scalable architecture |
US7406674B1 (en) | 2001-10-24 | 2008-07-29 | Cypress Semiconductor Corporation | Method and apparatus for generating microcontroller configuration information |
US8078970B1 (en) | 2001-11-09 | 2011-12-13 | Cypress Semiconductor Corporation | Graphical user interface with user-selectable list-box |
US8042093B1 (en) | 2001-11-15 | 2011-10-18 | Cypress Semiconductor Corporation | System providing automatic source code generation for personalization and parameterization of user modules |
US6996758B1 (en) | 2001-11-16 | 2006-02-07 | Xilinx, Inc. | Apparatus for testing an interconnecting logic fabric |
US6983405B1 (en) | 2001-11-16 | 2006-01-03 | Xilinx, Inc., | Method and apparatus for testing circuitry embedded within a field programmable gate array |
US7774190B1 (en) | 2001-11-19 | 2010-08-10 | Cypress Semiconductor Corporation | Sleep and stall in an in-circuit emulation system |
US6971004B1 (en) | 2001-11-19 | 2005-11-29 | Cypress Semiconductor Corp. | System and method of dynamically reconfiguring a programmable integrated circuit |
US6886092B1 (en) * | 2001-11-19 | 2005-04-26 | Xilinx, Inc. | Custom code processing in PGA by providing instructions from fixed logic processor portion to programmable dedicated processor portion |
US8069405B1 (en) | 2001-11-19 | 2011-11-29 | Cypress Semiconductor Corporation | User interface for efficiently browsing an electronic document using data-driven tabs |
US7770113B1 (en) | 2001-11-19 | 2010-08-03 | Cypress Semiconductor Corporation | System and method for dynamically generating a configuration datasheet |
US7844437B1 (en) | 2001-11-19 | 2010-11-30 | Cypress Semiconductor Corporation | System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit |
US6820248B1 (en) | 2002-02-14 | 2004-11-16 | Xilinx, Inc. | Method and apparatus for routing interconnects to devices with dissimilar pitches |
US6976160B1 (en) | 2002-02-22 | 2005-12-13 | Xilinx, Inc. | Method and system for controlling default values of flip-flops in PGA/ASIC-based designs |
US6754882B1 (en) | 2002-02-22 | 2004-06-22 | Xilinx, Inc. | Method and system for creating a customized support package for an FPGA-based system-on-chip (SoC) |
US7007121B1 (en) | 2002-02-27 | 2006-02-28 | Xilinx, Inc. | Method and apparatus for synchronized buses |
US6934922B1 (en) | 2002-02-27 | 2005-08-23 | Xilinx, Inc. | Timing performance analysis |
US6839874B1 (en) | 2002-02-28 | 2005-01-04 | Xilinx, Inc. | Method and apparatus for testing an embedded device |
US7111217B1 (en) | 2002-02-28 | 2006-09-19 | Xilinx, Inc. | Method and system for flexibly nesting JTAG TAP controllers for FPGA-based system-on-chip (SoC) |
US7088767B1 (en) | 2002-03-01 | 2006-08-08 | Xilinx, Inc. | Method and apparatus for operating a transceiver in different data rates |
US7187709B1 (en) | 2002-03-01 | 2007-03-06 | Xilinx, Inc. | High speed configurable transceiver architecture |
US7111220B1 (en) | 2002-03-01 | 2006-09-19 | Xilinx, Inc. | Network physical layer with embedded multi-standard CRC generator |
US6961919B1 (en) * | 2002-03-04 | 2005-11-01 | Xilinx, Inc. | Method of designing integrated circuit having both configurable and fixed logic circuitry |
US8103497B1 (en) | 2002-03-28 | 2012-01-24 | Cypress Semiconductor Corporation | External interface for event architecture |
US6577159B1 (en) | 2002-04-22 | 2003-06-10 | Nicholas Jesse Macias | Method and apparatus for automatic high-speed bypass routing in a cell matrix self-configurable hardware system |
US7308608B1 (en) | 2002-05-01 | 2007-12-11 | Cypress Semiconductor Corporation | Reconfigurable testing system and method |
JP2003338750A (ja) * | 2002-05-20 | 2003-11-28 | Nec Electronics Corp | 汎用ロジックセル、これを用いた汎用ロジックセルアレイ、及びこの汎用ロジックセルアレイを用いたasic |
US6973405B1 (en) | 2002-05-22 | 2005-12-06 | Xilinx, Inc. | Programmable interactive verification agent |
US6772405B1 (en) | 2002-06-13 | 2004-08-03 | Xilinx, Inc. | Insertable block tile for interconnecting to a device embedded in an integrated circuit |
US7112994B2 (en) | 2002-07-08 | 2006-09-26 | Viciciv Technology | Three dimensional integrated circuits |
US6992503B2 (en) | 2002-07-08 | 2006-01-31 | Viciciv Technology | Programmable devices with convertibility to customizable devices |
US7085973B1 (en) | 2002-07-09 | 2006-08-01 | Xilinx, Inc. | Testing address lines of a memory controller |
EP1543414A2 (en) * | 2002-08-29 | 2005-06-22 | BAE SYSTEMS Information and Electronic Systems Integration, Inc. | Mechanism for integrating programmable devices into software based frameworks for distributed computing |
US20040045007A1 (en) * | 2002-08-30 | 2004-03-04 | Bae Systems Information Electronic Systems Integration, Inc. | Object oriented component and framework architecture for signal processing |
US7099426B1 (en) | 2002-09-03 | 2006-08-29 | Xilinx, Inc. | Flexible channel bonding and clock correction operations on a multi-block data path |
US7761845B1 (en) | 2002-09-09 | 2010-07-20 | Cypress Semiconductor Corporation | Method for parameterizing a user module |
US7092865B1 (en) | 2002-09-10 | 2006-08-15 | Xilinx, Inc. | Method and apparatus for timing modeling |
US8643162B2 (en) | 2007-11-19 | 2014-02-04 | Raminda Udaya Madurawe | Pads and pin-outs in three dimensional integrated circuits |
US6822903B2 (en) * | 2003-03-31 | 2004-11-23 | Matrix Semiconductor, Inc. | Apparatus and method for disturb-free programming of passive element memory cells |
US7255437B2 (en) * | 2003-10-09 | 2007-08-14 | Howell Thomas A | Eyeglasses with activity monitoring |
US7421014B2 (en) * | 2003-09-11 | 2008-09-02 | Xilinx, Inc. | Channel bonding of a plurality of multi-gigabit transceivers |
US7030651B2 (en) | 2003-12-04 | 2006-04-18 | Viciciv Technology | Programmable structured arrays |
US7284222B1 (en) | 2004-06-30 | 2007-10-16 | Tabula, Inc. | Method and apparatus for identifying connections between configurable nodes in a configurable integrated circuit |
US7126381B1 (en) | 2004-02-14 | 2006-10-24 | Herman Schmit | VPA interconnect circuit |
US7126373B1 (en) | 2004-02-14 | 2006-10-24 | Herman Schmit | Configurable logic circuits with commutative properties |
US7193440B1 (en) * | 2004-02-14 | 2007-03-20 | Herman Schmit | Configurable circuits, IC's, and systems |
US7157933B1 (en) | 2004-02-14 | 2007-01-02 | Herman Schmit | Configurable circuits, IC's, and systems |
US7193432B1 (en) | 2004-02-14 | 2007-03-20 | Herman Schmit | VPA logic circuits |
US7167025B1 (en) | 2004-02-14 | 2007-01-23 | Herman Schmit | Non-sequentially configurable IC |
US7622951B2 (en) | 2004-02-14 | 2009-11-24 | Tabula, Inc. | Via programmable gate array with offset direct connections |
US7109752B1 (en) * | 2004-02-14 | 2006-09-19 | Herman Schmit | Configurable circuits, IC's, and systems |
US7425841B2 (en) | 2004-02-14 | 2008-09-16 | Tabula Inc. | Configurable circuits, IC's, and systems |
US7295049B1 (en) | 2004-03-25 | 2007-11-13 | Cypress Semiconductor Corporation | Method and circuit for rapid alignment of signals |
US6975139B2 (en) | 2004-03-30 | 2005-12-13 | Advantage Logic, Inc. | Scalable non-blocking switching network for programmable logic |
US7193438B1 (en) | 2004-06-30 | 2007-03-20 | Andre Rohe | Configurable integrated circuit with offset connection |
US7312630B2 (en) * | 2004-06-30 | 2007-12-25 | Tabula, Inc. | Configurable integrated circuit with built-in turns |
US7282950B1 (en) * | 2004-11-08 | 2007-10-16 | Tabula, Inc. | Configurable IC's with logic resources with offset connections |
US7439766B2 (en) * | 2004-06-30 | 2008-10-21 | Tabula, Inc. | Configurable logic circuits with commutative properties |
US7449915B2 (en) * | 2004-06-30 | 2008-11-11 | Tabula Inc. | VPA logic circuits |
US7408382B2 (en) * | 2004-06-30 | 2008-08-05 | Tabula, Inc. | Configurable circuits, IC's, and systems |
US7145361B1 (en) * | 2004-06-30 | 2006-12-05 | Andre Rohe | Configurable integrated circuit with different connection schemes |
US7460529B2 (en) | 2004-07-29 | 2008-12-02 | Advantage Logic, Inc. | Interconnection fabric using switching networks in hierarchy |
US8069436B2 (en) | 2004-08-13 | 2011-11-29 | Cypress Semiconductor Corporation | Providing hardware independence to automate code generation of processing device firmware |
US8286125B2 (en) | 2004-08-13 | 2012-10-09 | Cypress Semiconductor Corporation | Model for a hardware device-independent method of defining embedded firmware for programmable systems |
US20060080632A1 (en) * | 2004-09-30 | 2006-04-13 | Mathstar, Inc. | Integrated circuit layout having rectilinear structure of objects |
US7295037B2 (en) * | 2004-11-08 | 2007-11-13 | Tabula, Inc. | Configurable IC with routing circuits with offset connections |
US7330050B2 (en) * | 2004-11-08 | 2008-02-12 | Tabula, Inc. | Storage elements for a configurable IC and method and apparatus for accessing data stored in the storage elements |
US7342415B2 (en) * | 2004-11-08 | 2008-03-11 | Tabula, Inc. | Configurable IC with interconnect circuits that also perform storage operations |
US7224181B1 (en) * | 2004-11-08 | 2007-05-29 | Herman Schmit | Clock distribution in a configurable IC |
US7317331B2 (en) | 2004-11-08 | 2008-01-08 | Tabula, Inc. | Reconfigurable IC that has sections running at different reconfiguration rates |
US7259587B1 (en) * | 2004-11-08 | 2007-08-21 | Tabula, Inc. | Configurable IC's with configurable logic resources that have asymetric inputs and/or outputs |
US7301368B2 (en) * | 2005-03-15 | 2007-11-27 | Tabula, Inc. | Embedding memory within tile arrangement of a configurable IC |
US7242216B1 (en) | 2004-11-08 | 2007-07-10 | Herman Schmit | Embedding memory between tile arrangement of a configurable IC |
US7573296B2 (en) * | 2004-11-08 | 2009-08-11 | Tabula Inc. | Configurable IC with configurable routing resources that have asymmetric input and/or outputs |
US7268586B1 (en) * | 2004-11-08 | 2007-09-11 | Tabula, Inc. | Method and apparatus for accessing stored data in a reconfigurable IC |
US20070244958A1 (en) * | 2004-11-08 | 2007-10-18 | Jason Redgrave | Configurable IC's with carry bypass circuitry |
US7276933B1 (en) * | 2004-11-08 | 2007-10-02 | Tabula, Inc. | Reconfigurable IC that has sections running at different looperness |
US7743085B2 (en) * | 2004-11-08 | 2010-06-22 | Tabula, Inc. | Configurable IC with large carry chains |
US7917559B2 (en) * | 2004-11-08 | 2011-03-29 | Tabula, Inc. | Configurable IC's with configurable logic circuits that perform adder and/or subtractor operations |
US7428721B2 (en) | 2004-12-01 | 2008-09-23 | Tabula, Inc. | Operational cycle assignment in a configurable IC |
US7236009B1 (en) * | 2004-12-01 | 2007-06-26 | Andre Rohe | Operational time extension |
US7496879B2 (en) * | 2004-12-01 | 2009-02-24 | Tabula, Inc. | Concurrent optimization of physical design and operational cycle assignment |
US20070247189A1 (en) * | 2005-01-25 | 2007-10-25 | Mathstar | Field programmable semiconductor object array integrated circuit |
US7332976B1 (en) | 2005-02-04 | 2008-02-19 | Cypress Semiconductor Corporation | Poly-phase frequency synthesis oscillator |
US7298169B2 (en) | 2005-03-15 | 2007-11-20 | Tabula, Inc | Hybrid logic/interconnect circuit in a configurable IC |
US7224182B1 (en) | 2005-03-15 | 2007-05-29 | Brad Hutchings | Hybrid configurable circuit for a configurable IC |
US7230869B1 (en) | 2005-03-15 | 2007-06-12 | Jason Redgrave | Method and apparatus for accessing contents of memory cells |
US20070244959A1 (en) * | 2005-03-15 | 2007-10-18 | Steven Teig | Configurable IC's with dual carry chains |
US7530033B2 (en) * | 2005-03-15 | 2009-05-05 | Tabula, Inc. | Method and apparatus for decomposing functions in a configurable IC |
US7310003B2 (en) * | 2005-03-15 | 2007-12-18 | Tabula, Inc. | Configurable IC with interconnect circuits that have select lines driven by user signals |
US7825684B2 (en) * | 2005-03-15 | 2010-11-02 | Tabula, Inc. | Variable width management for a memory of a configurable IC |
EP1713007B1 (en) * | 2005-04-11 | 2008-09-17 | STMicroelectronics S.r.l. | A dynamically reconfigurable System-on-Chip comprising a plurality of reconfigurable gate array devices |
US7304497B2 (en) * | 2005-04-29 | 2007-12-04 | Altera Corporation | Methods and apparatus for programmably powering down structured application-specific integrated circuits |
US7400183B1 (en) | 2005-05-05 | 2008-07-15 | Cypress Semiconductor Corporation | Voltage controlled oscillator delay cell and method |
US8089461B2 (en) | 2005-06-23 | 2012-01-03 | Cypress Semiconductor Corporation | Touch wake for electronic devices |
US8010826B2 (en) * | 2005-09-13 | 2011-08-30 | Meta Systems | Reconfigurable circuit with redundant reconfigurable cluster(s) |
US7478261B2 (en) * | 2005-09-13 | 2009-01-13 | M2000 | Reconfigurable circuit with redundant reconfigurable cluster(s) |
US7765249B1 (en) | 2005-11-07 | 2010-07-27 | Tabula, Inc. | Use of hybrid interconnect/logic circuits for multiplication |
US7818361B1 (en) | 2005-11-07 | 2010-10-19 | Tabula, Inc. | Method and apparatus for performing two's complement multiplication |
US7372297B1 (en) | 2005-11-07 | 2008-05-13 | Tabula Inc. | Hybrid interconnect/logic circuits enabling efficient replication of a function in several sub-cycles to save logic and routing resources |
US8463836B1 (en) | 2005-11-07 | 2013-06-11 | Tabula, Inc. | Performing mathematical and logical operations in multiple sub-cycles |
US7262633B1 (en) | 2005-11-11 | 2007-08-28 | Tabula, Inc. | Via programmable gate array with offset bit lines |
US7275196B2 (en) * | 2005-11-23 | 2007-09-25 | M2000 S.A. | Runtime reconfiguration of reconfigurable circuits |
US7461362B1 (en) | 2005-12-01 | 2008-12-02 | Tabula, Inc. | Replacing circuit design elements with their equivalents |
US7489162B1 (en) | 2005-12-01 | 2009-02-10 | Tabula, Inc. | Users registers in a reconfigurable IC |
US7679401B1 (en) | 2005-12-01 | 2010-03-16 | Tabula, Inc. | User registers implemented with routing circuits in a configurable IC |
US8085067B1 (en) | 2005-12-21 | 2011-12-27 | Cypress Semiconductor Corporation | Differential-to-single ended signal converter circuit and method |
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 |
US7694083B1 (en) | 2006-03-08 | 2010-04-06 | Tabula, Inc. | System and method for providing a virtual memory architecture narrower and deeper than a physical memory architecture |
US7609085B1 (en) | 2006-03-08 | 2009-10-27 | Tabula, Inc. | Configurable integrated circuit with a 4-to-1 multiplexer |
US7797497B1 (en) | 2006-03-08 | 2010-09-14 | Tabula, Inc. | System and method for providing more logical memory ports than physical memory ports |
US7669097B1 (en) | 2006-03-27 | 2010-02-23 | Tabula, Inc. | Configurable IC with error detection and correction circuitry |
US8067948B2 (en) | 2006-03-27 | 2011-11-29 | Cypress Semiconductor Corporation | Input/output multiplexer bus |
US7587697B1 (en) | 2006-12-12 | 2009-09-08 | Tabula, Inc. | System and method of mapping memory blocks in a configurable integrated circuit |
US7930666B1 (en) | 2006-12-12 | 2011-04-19 | Tabula, Inc. | System and method of providing a memory hierarchy |
US7576563B1 (en) * | 2007-02-06 | 2009-08-18 | Lattice Semiconductor Corporation | High fan-out signal routing systems and methods |
US7525344B2 (en) | 2007-03-20 | 2009-04-28 | Tabula, Inc. | Configurable IC having a routing fabric with storage elements |
US7535252B1 (en) | 2007-03-22 | 2009-05-19 | Tabula, Inc. | Configurable ICs that conditionally transition through configuration data sets |
US8516025B2 (en) | 2007-04-17 | 2013-08-20 | Cypress Semiconductor Corporation | Clock driven dynamic datapath chaining |
US8026739B2 (en) | 2007-04-17 | 2011-09-27 | Cypress Semiconductor Corporation | System level interconnect with programmable switching |
US9564902B2 (en) | 2007-04-17 | 2017-02-07 | Cypress Semiconductor Corporation | Dynamically configurable and re-configurable data path |
US8130025B2 (en) | 2007-04-17 | 2012-03-06 | Cypress Semiconductor Corporation | Numerical band gap |
US7737724B2 (en) | 2007-04-17 | 2010-06-15 | Cypress Semiconductor Corporation | Universal digital block interconnection and channel routing |
US8092083B2 (en) | 2007-04-17 | 2012-01-10 | Cypress Semiconductor Corporation | Temperature sensor with digital bandgap |
US8040266B2 (en) | 2007-04-17 | 2011-10-18 | Cypress Semiconductor Corporation | Programmable sigma-delta analog-to-digital converter |
US8065653B1 (en) | 2007-04-25 | 2011-11-22 | Cypress Semiconductor Corporation | Configuration of programmable IC design elements |
US8266575B1 (en) | 2007-04-25 | 2012-09-11 | Cypress Semiconductor Corporation | Systems and methods for dynamically reconfiguring a programmable system on a chip |
US9720805B1 (en) | 2007-04-25 | 2017-08-01 | Cypress Semiconductor Corporation | System and method for controlling a target device |
US8049569B1 (en) | 2007-09-05 | 2011-11-01 | Cypress Semiconductor Corporation | Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes |
US7928761B2 (en) | 2007-09-06 | 2011-04-19 | Tabula, Inc. | Configuration context switcher with a latch |
US20090144595A1 (en) * | 2007-11-30 | 2009-06-04 | Mathstar, Inc. | Built-in self-testing (bist) of field programmable object arrays |
US8863067B1 (en) | 2008-02-06 | 2014-10-14 | Tabula, Inc. | Sequential delay analysis by placement engines |
JP5048122B2 (ja) * | 2008-02-29 | 2012-10-17 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
US8166435B2 (en) | 2008-06-26 | 2012-04-24 | Tabula, Inc. | Timing operations in an IC with configurable circuits |
US8230375B2 (en) | 2008-09-14 | 2012-07-24 | Raminda Udaya Madurawe | Automated metal pattern generation for integrated circuits |
WO2010033263A1 (en) | 2008-09-17 | 2010-03-25 | Tabula, Inc. | Controllable storage elements for an ic |
US7705629B1 (en) * | 2008-12-03 | 2010-04-27 | Advantage Logic, Inc. | Permutable switching network with enhanced interconnectivity for multicasting signals |
US7714611B1 (en) | 2008-12-03 | 2010-05-11 | Advantage Logic, Inc. | Permutable switching network with enhanced multicasting signals routing for interconnection fabric |
US9448964B2 (en) | 2009-05-04 | 2016-09-20 | Cypress Semiconductor Corporation | Autonomous control in a programmable system |
US7999570B2 (en) * | 2009-06-24 | 2011-08-16 | Advantage Logic, Inc. | Enhanced permutable switching network with multicasting signals for interconnection fabric |
US9323994B2 (en) * | 2009-12-15 | 2016-04-26 | Micron Technology, Inc. | Multi-level hierarchical routing matrices for pattern-recognition processors |
US8269524B2 (en) * | 2010-04-27 | 2012-09-18 | Atmel Corporation | General purpose input/output pin mapping |
FR2964522A1 (fr) * | 2010-09-07 | 2012-03-09 | Sagemcom Energy & Telecom Sas | Dispositif d'aiguillage, circuit integre comportant un tel dispositif d'aiguillage et dispositif nœud de communication comportant un tel dispositif d'aiguillage |
KR101802945B1 (ko) * | 2011-06-27 | 2017-12-29 | 삼성전자주식회사 | 논리 장치 및 이를 포함하는 반도체 패키지 |
US8941409B2 (en) | 2011-07-01 | 2015-01-27 | Tabula, Inc. | Configurable storage elements |
US9148151B2 (en) | 2011-07-13 | 2015-09-29 | Altera Corporation | Configurable storage elements |
US9847783B1 (en) | 2015-10-13 | 2017-12-19 | Altera Corporation | Scalable architecture for IP block integration |
CN108427829B (zh) * | 2018-02-09 | 2022-11-08 | 京微齐力(北京)科技有限公司 | 一种具有公共线结构的fpga |
US10855284B1 (en) | 2018-09-25 | 2020-12-01 | Flex Logix Technologies, Inc. | Process of routing tile-to-tile interconnects of an FPGA, and method of manufacturing an FPGA |
US10803225B2 (en) * | 2019-01-24 | 2020-10-13 | Efinix, Inc. | Peripheral tool |
US10587270B2 (en) | 2019-06-12 | 2020-03-10 | Intel Corporation | Coarse-grain programmable routing network for logic devices |
US10749528B2 (en) | 2019-08-20 | 2020-08-18 | Intel Corporation | Stacked programmable integrated circuitry with smart memory |
US12119819B1 (en) | 2021-12-13 | 2024-10-15 | Flex Logix Technologies, Inc. | Power-up switch-interconnect configuration |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03139863A (ja) * | 1989-10-25 | 1991-06-14 | Hitachi Ltd | 半導体集積回路 |
JPH11330248A (ja) * | 1998-03-20 | 1999-11-30 | Lucent Technol Inc | 集積回路 |
Family Cites Families (95)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3473160A (en) | 1966-10-10 | 1969-10-14 | Stanford Research Inst | Electronically controlled microelectronic cellular logic array |
US4020469A (en) * | 1975-04-09 | 1977-04-26 | Frank Manning | Programmable arrays |
US4207556A (en) | 1976-12-14 | 1980-06-10 | Nippon Telegraph And Telephone Public Corporation | Programmable logic array arrangement |
US4661901A (en) | 1982-12-23 | 1987-04-28 | International Business Machines Corporation | Microprocessor control system utilizing overlapped programmable logic arrays |
US4736333A (en) | 1983-08-15 | 1988-04-05 | California Institute Of Technology | Electronic musical instrument |
USRE34363E (en) | 1984-03-12 | 1993-08-31 | Xilinx, Inc. | Configurable electrical circuit having configurable logic elements and configurable interconnects |
US4870302A (en) * | 1984-03-12 | 1989-09-26 | Xilinx, Inc. | Configurable electrical circuit having configurable logic elements and configurable interconnects |
US4642487A (en) | 1984-09-26 | 1987-02-10 | Xilinx, Inc. | Special interconnect for configurable logic array |
US4706216A (en) | 1985-02-27 | 1987-11-10 | Xilinx, Inc. | Configurable logic element |
US4763020B1 (en) | 1985-09-06 | 1997-07-08 | Ricoh Kk | Programmable logic device having plural programmable function cells |
DE3630835C2 (de) * | 1985-09-11 | 1995-03-16 | Pilkington Micro Electronics | Integrierte Halbleiterkreisanordnungen und Systeme |
US4720780A (en) | 1985-09-17 | 1988-01-19 | The Johns Hopkins University | Memory-linked wavefront array processor |
US4700187A (en) * | 1985-12-02 | 1987-10-13 | Concurrent Logic, Inc. | Programmable, asynchronous logic cell and array |
US4758745B1 (en) | 1986-09-19 | 1994-11-15 | Actel Corp | User programmable integrated circuit interconnect architecture and test method |
US5187393A (en) | 1986-09-19 | 1993-02-16 | Actel Corporation | Reconfigurable programmable interconnect architecture |
US5367208A (en) | 1986-09-19 | 1994-11-22 | Actel Corporation | Reconfigurable programmable interconnect architecture |
US4918440A (en) * | 1986-11-07 | 1990-04-17 | Furtek Frederick C | Programmable logic cell and array |
US4786904A (en) | 1986-12-15 | 1988-11-22 | Zoran Corporation | Electronically programmable gate array having programmable interconnect lines |
US5243208A (en) | 1987-05-27 | 1993-09-07 | Hitachi, Ltd. | Semiconductor integrated circuit device having a gate array with a ram and by-pass signal lines which interconnect a logic section and I/O unit circuit of the gate array |
US4815003A (en) | 1987-06-19 | 1989-03-21 | General Electric Company | Structured design method for high density standard cell and macrocell layout of VLSI chips |
US4855619A (en) | 1987-11-17 | 1989-08-08 | Xilinx, Inc. | Buffered routing element for a user programmable logic device |
EP0317287B1 (en) | 1987-11-20 | 1992-11-11 | Kawasaki Steel Corporation | Programmable logic device |
US5225221A (en) | 1987-12-28 | 1993-07-06 | The Procter & Gamble Company | Preparation of calcium-supplemented beverages by dispersing calcium hydroxide in pasteurized juice stream |
US4847612A (en) * | 1988-01-13 | 1989-07-11 | Plug Logic, Inc. | Programmable logic device |
JPH01274512A (ja) * | 1988-04-27 | 1989-11-02 | Hitachi Ltd | 半導体論理装置 |
US4912342A (en) | 1988-05-05 | 1990-03-27 | Altera Corporation | Programmable logic device with array blocks with programmable clocking |
US5329470A (en) | 1988-12-02 | 1994-07-12 | Quickturn Systems, Inc. | Reconfigurable hardware emulation system |
IT1225638B (it) * | 1988-12-28 | 1990-11-22 | Sgs Thomson Microelectronics | Dispositivo logico integrato come una rete di maglie di memorie distribuite |
GB8906145D0 (en) * | 1989-03-17 | 1989-05-04 | Algotronix Ltd | Configurable cellular array |
US4967107A (en) | 1989-05-12 | 1990-10-30 | Plus Logic, Inc. | Programmable logic expander |
US5012135A (en) | 1989-05-12 | 1991-04-30 | Plus Logic, Inc. | Logic gates with a programmable number of inputs |
US5343406A (en) | 1989-07-28 | 1994-08-30 | Xilinx, Inc. | Distributed memory architecture for a configurable logic array and method for using distributed memory |
US5212652A (en) * | 1989-08-15 | 1993-05-18 | Advanced Micro Devices, Inc. | Programmable gate array with improved interconnect structure |
US5185706A (en) * | 1989-08-15 | 1993-02-09 | Advanced Micro Devices, Inc. | Programmable gate array with logic cells having configurable output enable |
US5231588A (en) | 1989-08-15 | 1993-07-27 | Advanced Micro Devices, Inc. | Programmable gate array with logic cells having symmetrical input/output structures |
US5140193A (en) | 1990-03-27 | 1992-08-18 | Xilinx, Inc. | Programmable connector for programmable logic device |
US5349691A (en) | 1990-07-03 | 1994-09-20 | Xilinx, Inc. | Programming process for 3-level programming logic devices |
US5144166A (en) * | 1990-11-02 | 1992-09-01 | Concurrent Logic, Inc. | Programmable logic cell and array |
US5224056A (en) | 1991-10-30 | 1993-06-29 | Xilinx, Inc. | Logic placement using positionally asymmetrical partitioning algorithm |
JP2564044B2 (ja) | 1991-02-27 | 1996-12-18 | 株式会社東芝 | プログラマブル論理回路 |
US5122685A (en) * | 1991-03-06 | 1992-06-16 | Quicklogic Corporation | Programmable application specific integrated circuit and logic cell therefor |
US5220213A (en) | 1991-03-06 | 1993-06-15 | Quicklogic Corporation | Programmable application specific integrated circuit and logic cell therefor |
US5327023A (en) | 1991-03-28 | 1994-07-05 | Kawasaki Steel Corporation | Programmable logic device |
US5204556A (en) | 1991-05-06 | 1993-04-20 | Lattice Semiconductor Corporation | Programmable interconnect structure for logic blocks |
US5221865A (en) | 1991-06-21 | 1993-06-22 | Crosspoint Solutions, Inc. | Programmable input/output buffer circuit with test capability |
US5298805A (en) | 1991-08-29 | 1994-03-29 | National Semiconductor Corporation | Versatile and efficient cell-to-local bus interface in a configurable logic array |
US5338984A (en) | 1991-08-29 | 1994-08-16 | National Semiconductor Corp. | Local and express diagonal busses in a configurable logic array |
US5260610A (en) | 1991-09-03 | 1993-11-09 | Altera Corporation | Programmable logic element interconnections for programmable logic array integrated circuits |
US5436575A (en) | 1991-09-03 | 1995-07-25 | Altera Corporation | Programmable logic array integrated circuits |
US5550782A (en) | 1991-09-03 | 1996-08-27 | Altera Corporation | Programmable logic array integrated circuits |
US5371422A (en) | 1991-09-03 | 1994-12-06 | Altera Corporation | Programmable logic device having multiplexers and demultiplexers randomly connected to global conductors for interconnections between logic elements |
US5260611A (en) | 1991-09-03 | 1993-11-09 | Altera Corporation | Programmable logic array having local and long distance conductors |
US5422833A (en) | 1991-10-30 | 1995-06-06 | Xilinx, Inc. | Method and system for propagating data type for circuit design from a high level block diagram |
US5208491A (en) * | 1992-01-07 | 1993-05-04 | Washington Research Foundation | Field programmable gate array |
US5331226A (en) | 1992-07-23 | 1994-07-19 | Xilinx, Inc. | Logic cell for field programmable gate array having optional input inverters |
US5291079A (en) | 1992-07-23 | 1994-03-01 | Xilinx, Inc. | Configuration control unit for programming a field programmable gate array and reading array status |
GB9223226D0 (en) | 1992-11-05 | 1992-12-16 | Algotronix Ltd | Improved configurable cellular array (cal ii) |
JP3139863B2 (ja) | 1993-01-29 | 2001-03-05 | ヤンマーディーゼル株式会社 | 舶用推進装置 |
US5396126A (en) | 1993-02-19 | 1995-03-07 | At&T Corp. | FPGA with distributed switch matrix |
US5483178A (en) | 1993-03-29 | 1996-01-09 | Altera Corporation | Programmable logic device with logic block outputs coupled to adjacent logic block output multiplexers |
WO1994028475A1 (en) | 1993-05-28 | 1994-12-08 | Regents Of The University Of California | Field programmable logic device with dynamic interconnections to a dynamic logic core |
JPH0713945A (ja) | 1993-06-16 | 1995-01-17 | Nippon Sheet Glass Co Ltd | 演算処理部および制御・記憶部分離型マルチプロセッサ ・システムのバス構造 |
GB9312674D0 (en) * | 1993-06-18 | 1993-08-04 | Pilkington Micro Electronics | Configurabel logic array |
US5444394A (en) | 1993-07-08 | 1995-08-22 | Altera Corporation | PLD with selective inputs from local and global conductors |
GB2280293B (en) | 1993-07-19 | 1997-12-10 | Hewlett Packard Co | Architecture for programmable logic |
US6051991A (en) | 1993-08-03 | 2000-04-18 | Btr, Inc. | Architecture and interconnect scheme for programmable logic circuits |
US6462578B2 (en) | 1993-08-03 | 2002-10-08 | Btr, Inc. | Architecture and interconnect scheme for programmable logic circuits |
US5457410A (en) | 1993-08-03 | 1995-10-10 | Btr, Inc. | Architecture and interconnect scheme for programmable logic circuits |
US5455525A (en) | 1993-12-06 | 1995-10-03 | Intelligent Logic Systems, Inc. | Hierarchically-structured programmable logic array and system for interconnecting logic elements in the logic array |
DE69430320T2 (de) | 1993-12-13 | 2002-10-10 | Lattice Semiconductor Corp., Hillsboro | Anwendungsspezifische module in einem programmierbaren logikbaustein |
US5386354A (en) | 1993-12-17 | 1995-01-31 | Regent Lighting Corporation | Adjustable beam security light |
US5369314A (en) | 1994-02-22 | 1994-11-29 | Altera Corporation | Programmable logic device with redundant circuitry |
EP1594228A3 (en) | 1994-04-14 | 2005-11-16 | Btr, Inc. | Architecture and interconnect scheme for programmable logic circuits |
US5406525A (en) | 1994-06-06 | 1995-04-11 | Motorola, Inc. | Configurable SRAM and method for providing the same |
US5656121A (en) | 1994-08-19 | 1997-08-12 | Minnesota Mining And Manufacturing Company | Method of making multi-layer composites having a fluoropolymer layer |
US5597319A (en) | 1994-11-29 | 1997-01-28 | Methode Electronics, Inc. | Zero insertion force pin grid array socket |
WO1996013902A1 (en) | 1994-11-01 | 1996-05-09 | Virtual Machine Works, Inc. | Programmable multiplexing input/output port |
US5581199A (en) | 1995-01-04 | 1996-12-03 | Xilinx, Inc. | Interconnect architecture for field programmable gate array using variable length conductors |
US5537057A (en) | 1995-02-14 | 1996-07-16 | Altera Corporation | Programmable logic array device with grouped logic regions and three types of conductors |
US5572148A (en) | 1995-03-22 | 1996-11-05 | Altera Corporation | Programmable logic array integrated circuit with general-purpose memory configurable as a random access or FIFO memory |
US5850564A (en) | 1995-05-03 | 1998-12-15 | Btr, Inc, | Scalable multiple level tab oriented interconnect architecture |
KR19990008270A (ko) | 1995-05-03 | 1999-01-25 | 팅 벤자민 에스. | 스케일가능한 복수 레벨 상호연결 아키텍춰 |
US5656950A (en) | 1995-10-26 | 1997-08-12 | Xilinx, Inc. | Interconnect lines including tri-directional buffer circuits |
US6034547A (en) | 1996-09-04 | 2000-03-07 | Advantage Logic, Inc. | Method and apparatus for universal program controlled bus |
US5880597A (en) | 1996-09-18 | 1999-03-09 | Altera Corporation | Interleaved interconnect for programmable logic array devices |
US6016063A (en) | 1998-02-04 | 2000-01-18 | Xilinx, Inc. | Method and apparatus for connecting long lines to form wide logic functions |
US6038627A (en) | 1998-03-16 | 2000-03-14 | Actel Corporation | SRAM bus architecture and interconnect to an FPGA |
JP3391374B2 (ja) | 1998-12-25 | 2003-03-31 | 富士通株式会社 | クロスポイントスイッチ回路および基本スイッチセル電子回路 |
US6686768B2 (en) | 2001-07-05 | 2004-02-03 | Alan Elbert Comer | Electrically-programmable interconnect architecture for easily-configurable stacked circuit arrangements |
US6975139B2 (en) | 2004-03-30 | 2005-12-13 | Advantage Logic, Inc. | Scalable non-blocking switching network for programmable logic |
US7132852B2 (en) | 2004-04-14 | 2006-11-07 | Altera Corporation | Routing architecture with high speed I/O bypass path |
US6998872B1 (en) | 2004-06-02 | 2006-02-14 | Xilinx, Inc. | Lookup table circuit optionally configurable as two or more smaller lookup tables with independent inputs |
US7292065B2 (en) * | 2004-08-03 | 2007-11-06 | Altera Corporation | Enhanced passgate structures for reducing leakage current |
US7307452B2 (en) * | 2004-10-27 | 2007-12-11 | Stmicroelectronics Pvt. Ltd. | Interconnect structure enabling indirect routing in programmable logic |
US7212030B1 (en) * | 2004-12-31 | 2007-05-01 | Actel Corporation | Field programmable gate array long line routing network |
-
1993
- 1993-08-03 US US08/101,197 patent/US5457410A/en not_active Expired - Fee Related
-
1994
- 1994-06-24 EP EP97111287A patent/EP0806836B1/en not_active Expired - Lifetime
- 1994-06-24 KR KR1019960700569A patent/KR100413881B1/ko not_active IP Right Cessation
- 1994-06-24 DE DE69431732T patent/DE69431732T2/de not_active Expired - Lifetime
- 1994-06-24 EP EP94922455A patent/EP0712548B1/en not_active Expired - Lifetime
- 1994-06-24 AU AU73562/94A patent/AU7356294A/en not_active Abandoned
- 1994-06-24 CN CN94192983A patent/CN1048127C/zh not_active Expired - Fee Related
- 1994-06-24 DE DE69432416T patent/DE69432416D1/de not_active Expired - Lifetime
- 1994-06-24 SG SG1996003530A patent/SG55046A1/en unknown
- 1994-06-24 JP JP50582195A patent/JP4169164B2/ja not_active Expired - Fee Related
- 1994-06-24 AT AT97111287T patent/ATE227902T1/de not_active IP Right Cessation
- 1994-06-24 WO PCT/US1994/007187 patent/WO1995004404A1/en active IP Right Grant
- 1994-06-24 AT AT94922455T patent/ATE236475T1/de not_active IP Right Cessation
-
1998
- 1998-03-02 US US09/034,769 patent/US6433580B1/en not_active Expired - Fee Related
-
2001
- 2001-09-13 US US09/955,589 patent/US6507217B2/en not_active Expired - Fee Related
-
2002
- 2002-10-11 US US10/269,364 patent/US6703861B2/en not_active Expired - Fee Related
-
2003
- 2003-10-23 US US10/692,880 patent/US7017136B2/en not_active Expired - Fee Related
-
2005
- 2005-12-09 US US11/299,248 patent/US7409664B2/en not_active Expired - Fee Related
-
2008
- 2008-05-16 JP JP2008129490A patent/JP2008278508A/ja active Pending
- 2008-06-24 US US12/215,118 patent/US7646218B2/en not_active Expired - Fee Related
-
2009
- 2009-12-03 US US12/630,679 patent/US20100073024A1/en not_active Abandoned
-
2010
- 2010-11-10 US US12/943,846 patent/US8289047B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03139863A (ja) * | 1989-10-25 | 1991-06-14 | Hitachi Ltd | 半導体集積回路 |
JPH11330248A (ja) * | 1998-03-20 | 1999-11-30 | Lucent Technol Inc | 集積回路 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8289047B2 (en) | 1993-08-03 | 2012-10-16 | Actel Corporation | Architecture and interconnect scheme for programmable logic circuits |
US8468712B2 (en) | 2007-11-13 | 2013-06-25 | E.I. Du Pont De Nemours And Company | Method for bonding a transparent substrate to a liquid crystal display and associated device |
Also Published As
Publication number | Publication date |
---|---|
US20060095886A1 (en) | 2006-05-04 |
ATE236475T1 (de) | 2003-04-15 |
JP4169164B2 (ja) | 2008-10-22 |
US20030042931A1 (en) | 2003-03-06 |
US7409664B2 (en) | 2008-08-05 |
AU7356294A (en) | 1995-02-28 |
US6433580B1 (en) | 2002-08-13 |
EP0806836B1 (en) | 2002-11-13 |
CN1048127C (zh) | 2000-01-05 |
EP0806836A2 (en) | 1997-11-12 |
US6703861B2 (en) | 2004-03-09 |
US7017136B2 (en) | 2006-03-21 |
DE69431732T2 (de) | 2003-07-17 |
US20080265938A1 (en) | 2008-10-30 |
US7646218B2 (en) | 2010-01-12 |
CN1128589A (zh) | 1996-08-07 |
DE69431732D1 (de) | 2002-12-19 |
US5457410A (en) | 1995-10-10 |
EP0712548A1 (en) | 1996-05-22 |
US6507217B2 (en) | 2003-01-14 |
EP0712548B1 (en) | 2003-04-02 |
EP0806836A3 (en) | 1997-12-10 |
US20020014897A1 (en) | 2002-02-07 |
US8289047B2 (en) | 2012-10-16 |
US20040088672A1 (en) | 2004-05-06 |
SG55046A1 (en) | 1998-12-21 |
KR100413881B1 (ko) | 2004-03-30 |
JPH09503886A (ja) | 1997-04-15 |
WO1995004404A1 (en) | 1995-02-09 |
US20110050282A1 (en) | 2011-03-03 |
DE69432416D1 (de) | 2003-05-08 |
US20100073024A1 (en) | 2010-03-25 |
ATE227902T1 (de) | 2002-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4169164B2 (ja) | 集積回路及びプログラマブル論理回路の相互接続方法 | |
US6747482B2 (en) | Architecture and interconnect scheme for programmable logic circuits | |
US6300793B1 (en) | Scalable multiple level tab oriented interconnect architecture | |
JP3581152B2 (ja) | プログラム可能な論理回路用のアーキテクチャおよび相互接続機構 | |
EP0824792A1 (en) | Floor plan for scalable multiple level interconnect architecture | |
US6051991A (en) | Architecture and interconnect scheme for programmable logic circuits |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100223 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100524 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100527 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100824 |