JP3626239B2 - プログラマブルアレイ - Google Patents
プログラマブルアレイ Download PDFInfo
- Publication number
- JP3626239B2 JP3626239B2 JP09522195A JP9522195A JP3626239B2 JP 3626239 B2 JP3626239 B2 JP 3626239B2 JP 09522195 A JP09522195 A JP 09522195A JP 9522195 A JP9522195 A JP 9522195A JP 3626239 B2 JP3626239 B2 JP 3626239B2
- Authority
- JP
- Japan
- Prior art keywords
- output
- data
- configuration
- input
- storage means
- 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.)
- Expired - Lifetime
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/1733—Controllable logic circuits
- H03K19/1737—Controllable logic circuits using multiplexers
-
- 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/17748—Structural details of configuration 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/17748—Structural details of configuration resources
- H03K19/17756—Structural details of configuration resources for partial configuration or partial reconfiguration
-
- 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/17748—Structural details of configuration resources
- H03K19/17758—Structural details of configuration resources for speeding up configuration or reconfiguration
-
- 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/17748—Structural details of configuration resources
- H03K19/1776—Structural details of configuration resources for memories
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Logic Circuits (AREA)
Description
【産業上の利用分野】
本発明は、大略、プログラマブル即ちプログラム可能(書込み可能)な論理装置に関するものであって、更に詳細には、コンフィギャラブル即ちコンフィギュレーション(形態)を構成可能な論理ブロック及びプログラマブル即ちプログラム可能(書込み可能)なルーチング(経路付け)マトリクス又はフィールドプログラマブルゲートアレイを再度コンフィギュレーション(即ち形態を特定)するための技術に関するものである。
【0002】
【従来の技術】
フィールドプログラマブルゲートアレイ(「FPGA」)などのプログラマブル(プログラム可能、即ち書込み可能)論理装置を使用することが益々広く行われるようになっている。なぜならば、その再書込み可能特性によって与えられる柔軟性のためである。FPGAは、典型的に、ユーザが所望する論理関数を与えるために、プログラミング即ち書込みを行うことによって互いに相互接続させることの可能なコンフィギャラブル即ち形態を特定可能な論理ブロック(「CLB」)からなるアレイを有している。アメリカ合衆国、95124、カリフォルニア州、サンノゼ、ロジックドライブ、2100に住所を有するザイリンクス、インコーポレイテッドから入手可能な「プログラマブル論理データブック(TheProgrammable Logic Data Book)」という名称のザイリンクスの1993年データブックには、本願の出願人であるザイリンクス、インコーポレイテッドによって製造されている幾つかのFPGA製品について記載されている。このデータブックは、引用により本明細書に組込むこととする。FPGAは、典型的に、同一の構成を有するCLBからなる通常のアレイを有している。これらCLBの各々は、多数の異なる論理関数のうちの何れか一つを実施するために個別的にプログラムすることが可能である。FPGAは、所望のコンフィギュレーション即ち形態に基づいてこれらのCLBを結合させるためにコンフィギャラブル即ち形態を特定することの可能なルーチング(経路付け)マトリクスを有している。FPGAは、更に、多数のコンフィギュレーションメモリセルを有している。これらのコンフィギュレーションメモリセルは、各CLBによって実行される関数を特定するためにCLBへ結合されると共に、CLBの入力及び出力の結合を特定するためのコンフィギャラブル即ち形態を特定することの可能なルーチングマトリクスへ結合されている。FPGAは、更に、典型的に、FPGAの動作期間中にユーザへアクセスすることの可能なデータ格納メモリセルを有しているが、本明細書におけるメモリセルの説明はコンフィギュレーションメモリセルに関してのものである。各CLBが、該CLBが実施する関数を特定する幾つかのメモリセルへ結合されており、且つその他のCLBはそれが結合されるものへ結合している。従って、メモリセル内に異なる値を格納することによって、各CLBはその関数及び結合に関して個別的にプログラムさせることが可能である。
【0003】
CLB及びコンフィギャラブルルーチングマトリクスに対するコンフィギュレーションデータはコンフィギュレーションメモリセル内に格納される。コンフィギュレーションデータは、コンフィギュレーションメモリセル内にロードされると、CLBによって実行される関数を選択し且つコンフィギャラブルルーチングマトリクスを接続させる。
【0004】
最近、多様な適用例において使用される論理回路の複雑性及び寸法が著しく増加している。単一の集積回路チップ上に製造可能なCLBの数は制限されているので、この様な回路要素の数の増加は単一のFPGAで実現することは不可能である。従って、CLBが論理関数を実行する効率を改善することが必要である。
既存のFPGAのこの欠点を解消するための従来の一つのアプローチは、複数個のFPGAを外部的に接続させることであった。しかしながら、このアプローチは部分的な解決方法にしか過ぎないものである。FPGA間の入力/出力接続の数が制限されているので、このアプローチによって全ての回路を実現させることは不可能である。更に、1個を超えた数のFPGAを使用することは、その回路を実現するために必要とされる電力消費、コスト及び空間を増加させることとなる。
【0005】
別の解決方法は、FPGA内のCLB及び相互接続構成体の数を増加させることであった。何れかの与えられた製造技術に対し、単一の集積回路チップ上に製造することの可能なCLBの数には制限がある。従って、アーキテクチャの観点から、FPGAに対しての論理ゲート及びCLB密度を増加させることの必要性が継続して存在している。
【0006】
従来のFPGAは異なる時間において異なる論理関数を実行するために再度コンフィギュレーション即ち形態を特定させることが可能であるが、その場合にビットストリームを再度ロードさせることが必要であり、そのことは時間がかかる。FPGAを再度コンフィギュレーションさせることは、論理関数の実行を中止させ、FPGA外部のメモリ装置内にその論理関数の現在の状態を格納させ、メモリコンフィギュレーションセルからなるアレイを再度ロードさせ、且つ論理関数の状態、及び何らかのその他の入力を入力させることが必要である。コンフィギュレーションメモリセルを再度ロードさせること自身、再度コンフィギュレーションを行うことが多くの回路を実現するのに有用なものでないような長時間を必要とする。速度及び空間を犠牲にすることなしに、FPGA内において実行される論理関数の数を増加させることがより有益的である。
【0007】
【発明が解決しようとする課題】
本発明は以上の点に鑑みなされたものであって、上述した如き従来技術の欠点を解消し、複数個の論理関数を実行するために内部的にCLB及びコンフィギャラブルルーチングマトリクスを再度コンフィギュレーション即ち再び形態を構成させることによって、FPGA内において実現することの可能な論理関数の数を増加させることを目的とする。
【0008】
【課題を解決するための手段】
本発明は、コンフィギュレーションメモリセルからなる1個を超えた数のアレイ及び該アレイの各々から交互にコンフィギュレーションデータを出力させるためのスイッチ、特別格納装置を具備するCLB、コンフィギャラブルルーチングマトリクスを有している。第一アレイは一組のコンフィギュレーションデータを格納し、第二アレイは第二組のコンフィギュレーションデータを格納し、以下同様である。各CLBは、第一アレイ内に格納されたデータに基づいてCLBのコンフィギュレーション、即ち形態の特定が行われる場合にCLBの入力又は出力を格納するための第一データラッチと、第二アレイ内に格納されたデータに基づいてCLBのコンフィギュレーションが行われる場合にCLBの入力又は出力を格納するための第二データラッチ、以下同様のものを具備する格納装置へアクセスする。各格納装置は、更に、第一データラッチからデータをクロック出力又はクロック入力させるための第一レジスタ、及び第二データラッチからデータをクロック出力させるか又はクロック入力させるための第二レジスタを有することが可能である。
【0009】
FPGAのユーザは、FPGAが動作するクロック信号を入力させる。本発明の一実施例では、ユーザのクロックサイクルを二つの部分に分割し、且つ格納装置がCLBの出力を受取る。
【0010】
第一部分期間中に、これらのスイッチは第一アレイ内に格納されているコンフィギュレーションデータを出力し、且つCLB及びコンフィギャラブルルーチングマトリクスは第一アレイ内に格納されているコンフィギュレーションデータに基づいてコンフィギュレーション即ち形態の特定が行われる。この第一部分において、FPGAは、CLBへ入力された信号の第一組の論理関数を実行する。第二データラッチ及び第二レジスタの出力は、CLBへの入力信号として使用することが可能である。全てのCLBが該入力のそれらの論理関数を実行した後に、各CLBの出力がCLBの出力装置の第一データラッチ内に格納される。
【0011】
第二部分期間中に、これらのスイッチは第二アレイ内に格納されているコンフィギュレーションデータを出力し、且つCLB及びコンフィギャラブルルーチングマトリクスは第二アレイ内に格納されたコンフィギュレーションデータに基づいてコンフィギュレーション即ち形態特定が行われる。次いで、FPGAはCLBへの入力の論理関数を実行する。CLBが該入力のそれらの論理関数を実行した後に、各CLBの出力がCLBの第二データラッチ内に格納される。ユーザクロックサイクルのこの第二部分期間中に、第一データラッチ及び第一レジスタの出力はCLBへの入力として使用することが可能である。
【0012】
ユーザクロックサイクルの終了時に、第一及び第二ラッチ内に格納されているデータを第一及び第二レジスタ内へそれぞれ転送させることが可能である。次いで、FPGAはその関数の結果を出力させる。ユーザクロックの1サイクル期間中に、従来技術の各CLBは各論理関数を実行することが可能であるが、二つのアレイのコンフィギュレーションデータを有する実施例に基づいて、各CLBはユーザクロックの1サイクル期間中に二つの論理関数を実行することが可能である。従って、上述した実施形態はFPGAが従来技術と比較して実施することの可能な論理関数の数を2倍としている。より一般的に説明すると、FPGAが各CLBに対して5個又は10個のラッチ及びレジスタ及び5個又は10個のアレイのコンフィギュレーションデータを有している場合には、FPGAは従来のFPGAの論理の5倍又は10倍のものを実行することが可能である。
【0013】
【実施例】
図1を参照すると、フィールドプログラマブルゲートアレイ(「FPGA」)10のブロック図が示されている。FPGA10は複数個の区画部分12を有しており、その各々はコンフィギャラブル論理ブロック(「CLB」)14と、コンフィギュレーションメモリ16と、コンフィギャラブルルーチングマトリクス18とを有している。ルーチングマトリクス即ち経路付け用のマトリクス18は、CLBを互いに接続させ、従って相互接続を行う。このルーチングマトリクスは、更に、ライン44を介して外部ピンへの接続も行う。典型的に、ルーチングマトリクス18は、クロック信号などの信号を担持するためのグローバルラインと、CLBを相互接続するためのローカルライン又はラインセグメントの両方を有している。FPGA10のユーザは、FPGA10がそれに基づいて動作するクロック信号、即ちユーザのクロックを入力させる。ユーザのクロック信号(又は1個以上の信号)はライン44の一つ(又はそれ以上)を介してFPGA10の全ての部分へ担持される。
【0014】
各区画部分12はユーザの回路の一部を実現するものである。各区画部分12の論理関数はそれのそれぞれのCLB14によって実行される。各CLB14、従って各区画部分12は、多数の異なる論理関数を実行することが可能である。CLB14によって実行される論理関数は、CLB14に対応するコンフィギュレーションメモリ16内に格納されたデータによって決定される。CLB14は、論理関数データ及びコンフィギュレーションデータ用の入力を有しており、且つ論理関数データ用の出力を有している。
【0015】
各CLB14はFPGA10の他のCLB14及びFPGA10の入力及び出力へ、コンフィギャラブルルーチングマトリクス18を介して結合されている。コンフィギャラブルルーチングマトリクス18は、コンフィギュレーションデータを受取るためのコンフィギュレーション入力を有しており、且つそれに応答してCLB14のデータ入力及び出力の結合状態を制御する。コンフィギュレーションメモリ16内に格納されたデータに従って、コンフィギャラブルルーチングマトリクス18は、CLB14の出力及びFPGA10の入力をCLB14のデータ入力へ選択的に接続させる。コンフィギャラブルルーチングマトリクス18は、更に、CLB14の出力をFPGA10の出力へ指向させる。
【0016】
別々のサイクルに対して関数発生器出力を別々にラッチする実施例においては、コンフィギャラブルルーチングマトリクス18及びCLB14は従来技術に基づいて構成された同等の装置よりも大きい。CLB14の出力数は従来技術におけるよりも多く、従ってコンフィギャラブルルーチングマトリクス18も、CLB14の付加的な出力を受付けるためにより大きい。コンフィギャラブルルーチングマトリクス18は対応するCLB14及びその他のルーチングマトリクス18へ結合される。
【0017】
区画部分12の各CLB14及び各コンフィギャラブルルーチングマトリクス18に対するコンフィギュレーションデータは対応するコンフィギュレーションメモリ16内に格納される。コンフィギュレーションデータはFPGA10外側からコンフィギュレーションメモリ16内へロードされ、且つ少なくとも1個の外部ピンを有するシフトレジスタを介してロードさせることが可能である。この様なロード手段は、本願明細書に引用により組込んだ米国再発行特許第34,363号(Freeman)に記載されている。各コンフィギュレーションメモリ16の出力はそれのそれぞれのCLB14及びコンフィギャラブルルーチングマトリクス18へ結合される。
【0018】
コンフィギュレーションメモリ
次に、図2を参照すると、従来のコンフィギュレーションメモリ15の一部を示したブロック図が示されている。この従来のコンフィギュレーションメモリ15はアレイ形態に配列された複数個のメモリセル20−1乃至20−nを有している。図2は該アレイの一つの列22を示している。実際のアレイは多数の列を有している。
【0019】
各メモリセル20−1乃至20−nは二進データからなる単一ビットを格納する。各メモリセル20−1乃至20−nはデータ入力と、データ出力と、アドレス入力とを有している。アドレス信号に応答してデータがメモリセル20−1乃至20−n内に格納される。データは、一度に一つの列毎にアレイ内に格納される。アドレス信号は各メモリセル20−1乃至20−nのアドレス入力へ結合されているアドレスバス24を介してメモリセル20−1乃至20−nへ供給される。従って、同一の列22におけるメモリセル20−1乃至20−nのアドレス入力は共通結合されている。メモリセル20−1乃至20−nのデータ入力はコンフィギュレーションデータを受取るために従来のデータバスへ結合されている。メモリセル20−1乃至20−nの出力はCLB14及びコンフィギャラブルルーチングマトリクス18へ結合、即ち供給される。アドレスライン24はアドレス手段へ結合されている従来のバスの一部である。これらのアドレス手段及びコンフィギュレーション手段を構成することは当業者にとって自明である。
【0020】
次に、図3を参照すると、本発明に基づいて構成されたコンフィギュレーションメモリ16の一部のブロック図が示されている。本発明のコンフィギュレーションメモリ16は第一組のメモリセル21−1乃至21−n、第二組のメモリセル23−1乃至23−n、及び複数個のスイッチ28−1乃至28−nを具備するスイッチング手段を有している。第一組のメモリセル21−1乃至21−nを第一アレイとし、且つ第二組のメモリセル23−1乃至23−nを第二アレイとして説明するが、当業者にとって明らかな如く、2個以上のアレイを設けることも可能である。一方、第一アレイ及び第二アレイは単一アレイの一部とすることが可能であり、且つコンフィギュレーションメモリセルの一つの列における交互のセルとすることも可能である。図3は第一アレイの一つの列26−a及び第二アレイの一つの列26−bを示している。実際の装置においては、各アレイは図1の多数の区画部分12のコンフィギュレーションを行うために多数の列を有している。第一アレイと第二アレイの両方はCLB14及びコンフィギャラブルルーチングマトリクス18に対し完全な組のコンフィギュレーションデータを格納する。従って、本発明に基づくコンフィギュレーションメモリ16は、従来のコンフィギュレーションメモリ15内に設けられているものよりも一層多くのメモリセル21−1乃至21−n、23−1乃至23−nを有している。本発明に基づいて、各CLB14及びコンフィギャラブルルーチングマトリクス18は、第一アレイ内に格納されているコンフィギュレーションデータ又は第二アレイ内に格納されているコンフィギュレーションデータの何れかを使用してコンフィギュレーション即ち形態の特定を行うことが可能である。
【0021】
再度のコンフィギュレーションによってスイッチすることがなく長い間一定のコンフィギュレーションを保持する付加的なメモリセル31を設けることが可能である。メモリセル31の出力は、更に、区画部分12のコンフィギュレーションを行うためのデータを供給する。
【0022】
従来のコンフィギュレーションメモリ15の場合における如く、メモリセル21−1乃至21−n、23−1乃至23−n及び31−1乃至31−mのアドレス入力はアドレスライン24によって共通結合されている。第一アレイの各列は第二アレイの一つの列に対応している。図3において、列26−aは列26−bに対応している。第一アレイの一つの列は第二アレイの対応する列と同一のアドレスを有している。第三アレイの一つの列もこのアドレスを共用することが可能である。従って、列26−a、26−b及び31に対応するアドレス信号がアドレスライン24上においてアサート即ち活性化されると、列26−a、列26−b、列31はコンフィギュレーション手段からのデータを受取るべく結合される。メモリセル21−1乃至21−n、23−1乃至23−n、31−1乃至31−mからのデータは、常に、Q出力において使用可能な状態である。コンフィギュレーションメモリセル21−1乃至21−n及び23−1乃至23−nの最初の二つのアレイの出力はそれぞれのスイッチ28−1乃至28−nへ結合される。通常、第二アレイ内におけるコンフィギュレーションメモリセル23と同数のコンフィギュレーションメモリセル21が第一アレイ内に存在している。更に、通常、第一アレイ又は第二アレイ内のコンフィギュレーションメモリセル21,23と同数のスイッチ28−1乃至28−nがスイッチ手段28内に存在している。
【0023】
各スイッチ28−1乃至28−nは二つのデータ入力と一つのセレクト(選択)入力とを有している。各スイッチ28−1乃至28−nの第一データ入力は、列26−aのメモリセル21−1乃至21−nのそれぞれの一つへ結合即ち供給され、且つ第二データ入力は列26−bのメモリセル23−1乃至23−nのそれぞれの一つへ結合即ち供給される。図3における如く、列26−aのメモリセル21−1の出力及び列26−bのメモリセル23−1の出力は、スイッチ28−1の第一入力及び第二入力へそれぞれ結合即ち供給される。同様に、列26−aのメモリセル21−2の出力及び列26−bのメモリセル23−2の出力はスイッチ28−2の第一入力及び第二入力へそれぞれ結合即ち供給される。図3に示した実施例においては、スイッチ28−1乃至28−nは2:1マルチプレクサである。各スイッチ28−1乃至28−nは、セレクト入力へ印加される信号に応答して、第一データ入力における信号又は第二データ入力における信号をパス即ち通過させる。各スイッチ28−1乃至28−nのセレクト入力は、A/Bセレクト信号を受取るために、A/Bライン30へ結合即ち供給される。A/Bセレクト信号が「高」状態であると、スイッチ28−1乃至28−nは列26−aのメモリセル21−1乃至21−nからの入力をパス即ち通過させる。A/Bセレクト信号が「低」状態であると、スイッチ28−1乃至28−nは、列26−bのコンフィギュレーションメモリセル23−1乃至23−nからの入力をパス即ち通過させる。スイッチ28−1乃至28−nの出力はCLB14及びコンフィギャラブルルーチングマトリクス18へ結合即ち供給される。A/Bライン30上のA/Bセレクト信号をアサート(活性化)し且つアサートしないことにより、第一アレイ内に格納されたコンフィギュレーションデータ及び第二アレイ内に格納されたコンフィギュレーションデータは、選択的に、CLB14及びコンフィギャラブルルーチングマトリクス18へパスされる。従って、二つの択一的な組のコンフィギュレーションデータに従ってCLB14及びコンフィギャラブルルーチングマトリクス18を再度コンフィギュレーション即ち形態特定を行うことが可能である。スイッチ28−1乃至28−nは非常に迅速にスイッチすることが可能であるので、CLB14及びコンフィギャラブルルーチングマトリクス18へ供給されるコンフィギュレーションデータは第一アレイ内に格納されている第一組のコンフィギュレーションデータと第二アレイ内に格納されている第二組のコンフィギュレーションデータとの間で迅速にスイッチすることが可能である。本実施例においては、このスイッチング動作は、CLB14及びコンフィギャラブルルーチングマトリクス18がユーザクロックの単一サイクル内において実効的に二度再コンフィギュレーションを行うことが可能であるような速さのものである。
【0024】
スイッチング手段28を複数個の2:1マルチプレクサとして記載してあるが、当業者にとって明らかな如く、n個の2:1マルチプレクサは2x個の入力を受取り且つx個の出力を送給する多様なその他のマルチプレクサ形態で置換させることが可能である。例えば、n個の2:1マルチプレクサはn/4個の8:4マルチプレクサで置換させることが可能である。
【0025】
上述した実施例のコンフィギュレーションメモリ16は第一組のメモリセルと、第二組のメモリセルと、二つの入力の間でスイッチするスイッチング手段とを具備するものとして記載してあるが、当業者にとって明らかな如く、付加的な組のメモリセルを設けることが可能であり、且つスイッチング手段28は第一組、第二組又は付加的な組のメモリセルのうちの何れか一つからのデータを出力させることが可能である。この様な付加的な組のメモリセルを有する実施例は、CLB14及びコンフィギャラブルルーチングマトリクス18をユーザクロックの単一サイクル内において3回、4回又はそれ以上の回数再コンフィギュレーションさせることが可能である。
【0026】
次に、図4を参照すると、コンフィギュレーションメモリ16の別の実施例が示されている。この実施例においては、マルチプレクサ28−1乃至28−n、メモリセル21−1乃至21−n、メモリセル23−1乃至23−nは列センスアンプ72−1乃至72−n、スタチックランダムアクセスメモリ(SRAM)セル74−1乃至74−n及び76−1乃至76−nでそれぞれ置換されている。この実施例においては、列26−a及び26−bは行78a及び78bでそれぞれ置換されており、それらは従来の書込み回路46−1乃至46−nによってロードされる。マルチプレクサ28−1乃至28−nは使用されていない。その代わりに、行出力信号は列センスアンプ72−1乃至72−nによってバッファされる。A/Bライン30はAアドレスライン80及びBアドレスライン82で置換されている。Aアドレスライン80上の信号が「高」であり且つBアドレスライン82上の信号が「低」である場合には、SRAMセル行78−a内のデータはセンスアンプ72−1乃至72−nへ供給され、次いでCLB14及びコンフィギャラブルルーチングマトリクス18へ供給される。Aアドレスライン80上の信号が「低」であり且つBアドレスライン82上の信号が「高」である場合には、SRAMセル行78−b内のデータはセンスアンプ72−1乃至72−nへ供給され、それは、次いでCLB14及びコンフィギャラブルルーチングマトリクス18へ供給される。当業者はAアドレスライン80上の信号及びBアドレスライン82上の信号を交互に「高」に設定する手段を発生させることが可能である。当業者にとって明らかな如く、より多くのSRAMセル行78を付加して、二組を超えた組のコンフィギュレーションデータを与え、従って、ユーザのクロックサイクル期間中にCLB14及びコンフィギャラブルルーチングマトリクス18を再コンフィギュレーションさせることの可能な回数を増加させることが可能である。
【0027】
コンフィギャラブル論理ブロック
次に、図5を参照すると、従来のCLB13のブロック図が示されている。従来のCLB13は、関数発生器34と、レジスタ36と、出力スイッチ38とを有している。関数発生器34はコンフィギュレーションメモリ15内に格納したデータに従って幾つかの入力の論理関数を実現する。特定の論理関数はコンフィギュレーションデータによって選択される。入力は従来のルーチングマトリクスへ結合される。コンフィギュレーションデータはCLB13と関連したコンフィギュレーションメモリ15からやってくる。
【0028】
関数発生器34の出力は直接的に又はレジスタ36を介して出力スイッチ38へ供給される。レジスタ36は例えばDフリップフロップなどの従来のデータ格納レジスタである。レジスタ36は関数発生器34の出力へ結合したデータ入力と、ライン44のうちの1本のライン44−cを介してユーザのクロック信号を受取るべく結合されたクロック入力を有している。レジスタ36はデータ出力Qを有している。
【0029】
出力スイッチ38は2個のデータ入力と、1個のデータ出力と、1個の選択入力とを有しており、且つ2:1マルチプレクサとすることが可能である。典型的に、コンフィギュレーションメモリはスイッチ38のセレクト入力を制御する。次に、図6Aを参照すると、本発明に基づいて構成されたCLB14の一実施例のブロック図が示されている。この実施例に基づくCLB14は、関数発生器34と、第一データラッチ42aと、第二データラッチ42bと、第一レジスタ36aと、第二レジスタ36bと、第一出力スイッチ39aと、第二出力スイッチ39bとを有している。好適には、第一データラッチ42a、第一レジスタ36a、第一出力スイッチ39aが、関数発生器34が第一組のメモリセル21の出力でコンフィギュレーションが行われた場合(図3)に、関数発生器34の出力を与える。従って、第一データラッチ42a又はレジスタ36aによって格納されているデータは、メモリセル23からの第二組のコンフィギュレーションデータに基づいてCLB14のコンフィギュレーションが行われた場合に、ユーザクロックサイクルの後半において使用することが可能である。第二データラッチ42b、第二レジスタ36b、第二スイッチ39bは、メモリセル23の第二組のコンフィギュレーションデータに基づいてコンフィギュレーションが行われる場合に、関数発生器34の出力を格納し且つルーチング即ち経路付けを行うために同様に使用される。
【0030】
関数発生器34は上述した図5のものと均等である。関数発生器34のデータ入力はコンフィギャラブルルーチングマトリクス18へ結合されており、且つ制御入力は本発明のコンフィギュレーションメモリ16へ供給される。従って、関数発生器34は、CLB14の他の部分が再度コンフィギュレーションされる場合に、制御信号によって再度コンフィギュレーションさせることが可能である。第一データラッチ42aは二進ビットのデータを格納するための従来のデータラッチである。第一データラッチ42aはデータ入力(D)と、データ出力(Q)と、ラッチイネーブル入力(クロック入力)とを有している。第一データラッチ42aのデータ入力は関数発生器34の出力へ結合している。ラッチイネーブル入力はA/Bライン30へ供給されてA/B信号を受取る。第一データラッチ42aは、ラッチイネーブル入力へ印加される信号に応答して、データをラッチするか又はパス即ち通過させる。第一データラッチ42aは、ユーザクロックサイクルの第一部分期間中にデータをパス即ち通過させ、且つユーザのクロックサイクルの第二部分期間中にデータをラッチさせる。本実施例においては、ラッチイネーブル信号が低状態へアサート即ち活性化され、従ってデータは「高」A/B信号によってパスされ且つ「低」A/B信号によってラッチされる。第二データラッチ42bは第一データラッチ42aと同一の機能性及び構成を有している。第二データラッチ42bのデータ入力は関数発生器34の出力へ結合している。しかしながら、第二データラッチ42bのラッチイネーブル入力はA/B_信号を受取るためにライン68へ結合している。尚、本明細書において、英文字記号の後にアンダーラインを付したものはその英文字記号の反転信号であることを表わしている。第二データラッチ42bがそのラッチイネーブル入力において、第一データラッチ42aへ印加した信号の反転した信号を受取るので、データラッチ42a,42bはユーザのクロックサイクル期間中の反対の時間においてデータをパス及びラッチする。
【0031】
当業者にとって明らかな如く、ラッチ42bのラッチイネーブル入力を駆動するためにA/Bライン30から駆動されるインバータを使用することが可能であり、従ってA/B_ライン68の必要性を取除いている。
【0032】
第一レジスタ36aは上述した図5に関連して説明したタイプのデータレジスタである。例えば、第一レジスタ36aはDフリップフロップとすることが可能である。レジスタ36bのデータ入力は第一データラッチ42aのデータ出力へ結合されている。第一レジスタ36aのクロック入力はユーザのクロック信号を受取るためにライン44−cへ結合している。同様に、第二データレジスタはDフリップフロップとすることが可能である。第二レジスタ36bのデータ入力は第二データラッチ42bのデータ出力へ結合しており、且つクロック入力はユーザのクロック信号を受取るためにライン44−cへ供給される。
【0033】
第一出力スイッチ39aは例えば3:1マルチプレクサなどの従来のスイッチング装置である。出力スイッチ39a,39bは三つのデータ入力と、一つのデータ出力と、一つのコマンド入力とを有している。出力スイッチ39aの第一データ入力はレジスタ36aの出力へ結合している。出力スイッチ39aの第二データ入力はデータラッチ42aのデータ出力へ結合している。本実施例においては、関数発生器34の出力は出力スイッチ39aの第三データ入力へ結合している。出力スイッチ39aは、出力スイッチ39aの制御入力への信号に応答して三つの入力上へ印加される信号のうちの一つを出力する。これらの制御入力は関連するメモリセル21,23又はより一般的には本発明のコンフィギュレーションメモリ16における31へ供給され、且つ典型的に、A/Bライン30がスイッチする場合に不変のまま止まる。
【0034】
第二出力スイッチ39bも3:1マルチプレクサである。第二出力スイッチ39bは第一、第二、第三データ入力と、1個のデータ出力と、一対の制御入力とを有している。第一データ入力は第二レジスタ36bの出力へ結合しており、第二データ入力は第二データラッチ42bの出力へ結合している。出力スイッチ39bの第三入力は関数発生器34の出力へ結合している。これらの制御入力は、これらの入力信号のうちの何れが第二出力スイッチ39bから出力されるかを制御するために、関連するメモリセル21,23又はコンフィギュレーションメモリ16内の31へ供給される。第二出力スイッチ39bの出力はCLB14の出力のうちの一つを形成する。
【0035】
本発明のこの実施例は、ユーザのクロックの1サイクル期間中にCLB14が1個を超えた数の論理関数を実行するように、CLB14を再度コンフィギュレーション即ち形態特定させることによってFPGA10により実現される論理関数の数を増加させている。本発明の2期間実施例は、ユーザのクロックの1サイクルを二つの期間、即ちA期間とB期間とに分割している。A期間及びB期間は、等しいものとさせることが可能であるが、その様にすることは必ずしも必要ではない。A期間の期間中に、本発明の2期間実施例は、コンフィギュレーションメモリ16の第一アレイ内に格納されているコンフィギュレーションデータを使用して、CLB14及びコンフィギャラブルルーチングマトリクス18のコンフィギュレーション即ち形態特定を行う。次いで、CLB14はそれらの論理関数を実行し、A期間が終了する。B期間の期間中、CLB14及びコンフィギャラブルルーチングマトリクス18は、コンフィギュレーションメモリ16の第二アレイ内に格納されているコンフィギュレーションデータを印加することによって再度コンフィギュレーションが行われる。次いで、CLB14はそれらの論理関数を実行し、且つB期間及びユーザクロックのサイクルが終了する。従って、本実施例においては、FPGA10がユーザのクロックの1サイクル期間中に実行することの可能な論理関数の数を2倍とさせている。
【0036】
図6Aは、本発明が二組のコンフィギュレーションデータを有する場合のCLB14を示している。本発明は任意の数の組のコンフィギュレーションデータを有することが可能である。各組のコンフィギュレーションデータに対して、各CLB14は、出力信号を発生するために、データラッチ42と、レジスタ36と、スイッチ39とを包含する付加的な出力経路を有している。
【0037】
別の実施例においては、データラッチは、それらの出力が関数発生器34の出力ではなく入力へ指向されるように配設させることが可能である。この様な実施例を図6Bに示してある。図6Bにおいては、ラッチ62a−62dがCLB17の入力に設けられており、且つ二つの異なる動作期間の期間中にルーチングマトリクス18内に存在する信号を格納する。ラッチ62a及び62bは、A/B信号が高状態である場合にそれらのそれぞれのD入力端子上に存在する信号をパス即ち通過させ、且つA/B信号が低状態へ移行する場合に存在するデータを捕獲する。ラッチ62c及び62dは、A/B信号が低状態にある場合にそれらのD入力端子上に存在するデータをパス即ち通過させ、且つA/Bが高状態へ移行する場合に存在するデータを捕獲する。任意の時刻においてラッチ62a−62dのうちの二つがルーチングマトリクス18からのデータをパスさせており且つ二つがルーチングマトリクス18から先に受取ったデータを格納している場合であっても、ラッチ62a−62dの四つの全ての出力は常に関数発生器34の端子I1−I4へ供給される。従って、A/Bクロック信号の二つのフェーズにおいて、ルーチングマトリクス18におけるラインは異なる目的のために使用することが可能である。例えば、同一のルーチングマトリクスラインセグメント、即ちラインセグメントのストリングをA/Bクロック信号の第一フェーズ期間中にラッチ62aへの信号及びA/Bクロック信号の第二フェーズ期間中にラッチ62cへの信号を供給するために使用することが可能である。両方の信号は関数発生器34によって使用される。ラッチ62a乃至62dはルーチングマトリクス18がこれら二つのフェーズ期間中に便利に再使用することを可能としている。勿論、二つを超えた数のクロック信号でラッチ62a−62dを別々にクロック動作させることにより二つを超えた数のフェーズを与えることが可能である。
【0038】
ルーチングマトリクス
図6Cは本発明と共に使用することの可能なルーチングマトリクス即ち経路付けマトリクス18の一実施例を示している。更に、図6Cの周辺には4個のCLB14a,14b,14c,14dの一部が示されている。ルーチングマトリクス18におけるトランジスタはそれらが接続させることの可能なラインの間に延在する短いラインによって表わされている。例えば、トランジスタT61は、CLB14bにおける入力ラインI4とルーチングラインR61との間に延在している。トランジスタT62はCLB14aにおけるマルチプレクサ39bの出力をルーチングラインR61へ接続させることが可能である。トランジスタT63は、ルーチングラインR61をルーチングラインR63へ接続させることが可能であり、且つトランジスタT64はルーチングラインR61をルーチングラインR64へ接続させることが可能である。各トランジスタの制御は、コンフィギュレーションメモリ16から該トランジスタのゲートへのラインによって与えられる。図面において簡単化のために、ほとんどのトランジスタには記号が付けられておらず、且つコンフィギュレーションメモリ16から各ゲートへの接続はスイッチボックスS61,S62,S63,S64の各々への単一のラインによって表わされている。その他のルーチングマトリクスは引用により本明細書に導入した1993年のザイリンクスのデータブックに示されている。図6Cの目的は、ルーチングマトリクス18と、CLB14と、コンフィギュレーションメモリ16からのコンフィギュレーションラインとの間の関係を例示することである。図6Cの新規な側面は、コンフィギュレーションメモリ16からの信号がCLB14を再度コンフィギュレーションすることに関連してルーチングマトリクス18を再度コンフィギュレーションすることが可能であり、その際に上述した如く一つを超えた接続に対してルーチングマトリクス18内の同一のルーチングラインを使用することを可能としているという点である。
【0039】
動作モード
本発明はCLB14の三つの動作モードを与える。CLB14はシンプルで、高速で、非同期な組合わせ論理機能を実現するために使用することが可能である。この第一モードは、第一アレイ内に格納されているコンフィギュレーションデータが第二アレイ内に格納されているコンフィギュレーションデータと同一である場合に存在する。このモードにおいては、第一及び第二出力スイッチ39a,39bは、関数発生器34によって出力されるデータを直接的に受取り且つパスするようにコンフィギュレーションがなされる。B出力経路は、使用されることがないか、又はスイッチ39a,39bの出力が共通結合されて単一の出力経路を形成する。ライン30上のA/B信号及びライン44上のユーザのクロック信号をアサート即ち活性化させることが可能であるが、この第一モードはデータラッチ42a,42b及びレジスタ36a,36bを使用するものではない。従って、A/B信号及びユーザのクロック信号は無視される。このモードはFPGA10によって実現される論理関数の数を増加させるという本発明の能力を使用するものではない。
【0040】
第二動作モードは高速レジスタ型モードである。このモードは同期的である。高速非同期モードの場合における如く、この第二モードは、第一及び第二アレイ内に格納されているコンフィギュレーションデータが同一である場合に存在する。A/B信号はアサート即ち活性化されることはなく(高状態に保持される)、従って第一データラッチ42aは、ユーザのクロックサイクルのA期間及びB期間の両方の期間中に第一レジスタ36aへデータをパス即ち通過させる。次いで、ユーザクロックの次の上昇エッジにおいて、第一データラッチ42aを介してパスされたデータが第一レジスタ36a内へクロック入力される。このモードにおいては、CLB14の出力は、ユーザのクロックの次のサイクルの開始まで変化することはない。このモードはB出力経路を使用することはなく、且つ本発明のFPGA10によって実現される論理関数の数を増加させるための本発明の能力を利用するものではない。
【0041】
次に、図7を参照して第三モードについて説明する。図7は、本発明のFPGA10における再コンフィギュレーション制御信号を示したタイミング線図である。図7は、例示的なユーザクロックの二つのサイクル、例示的なA/B信号の二つのサイクル、例示的なA/B′信号の二つのサイクル、ラッチ42aの四つの例示的な状態、ラッチ42bの四つの例示的な状態、レジスタ36aの二つの例示的な出力、及びレジスタ36bの二つの例示的な出力を示している。A/B及びA/B′信号がユーザのクロックのサイクルにおける中間点T2における遷移に対して示されているが、この様な分割は必ずしも必要なものではない。A/B信号は、ユーザのクロックの1サイクルを多数の中間点において分割することが可能である。この分割に関する制限は、A期間及びB期間の両方が十分に長いものであって、FPGA10における全ての信号がCLB14を介して伝搬し且つ問題なく格納が行われるのに十分に長い間ラッチ及びレジスタの入力において信号がセットアップされるように安定化するものでなければならないということである。
【0042】
図7はCLB14の第三動作モードを説明するのに有用である。この第三動作モードはFPGA10によって実行される論理関数の数を増加させる本発明の能力を利用するものである。この第三モードにおいては、A期間中のCLB14のコンフィギュレーション及びコンフィギャラブルルーチングマトリクス18のコンフィギュレーションはB期間中のコンフィギュレーションとは異なるものである。この第三モードは本明細書においてはパイプラインモードと呼称する。
【0043】
ユーザクロックサイクルの開始時T1において、A/B信号がサイクルを開始する。A期間において、A/B信号は高状態であり、従ってCLB14及びルーチングマトリクス18は第一組のコンフィギュレーションデータでコンフィギュレーションが行われる。A期間の期間中においては、第一データラッチ42aがデータをパス即ち通過させ、且つデータラッチ42bがデータをラッチする。
【0044】
A/B信号の遷移時即ちT2において、A/B信号がメモリ16からの第二組のコンフィギュレーションデータを選択し、従ってCLB14及びコンフィギャラブルルーチングマトリクス18の再コンフィギュレーションを行う。第一データラッチ42aはその入力においてデータをラッチし、且つ第二データラッチ42bはその入力においてデータをパスさせる。
【0045】
ユーザのクロックの次のサイクルの開始時T3において、A/B信号は再度遷移を行う。再度、CLB14及びコンフィギャラブルルーチングマトリクス18は、第一組のコンフィギュレーションデータに従って再コンフィギュレーションが行われる。第一データラッチ42aがデータをパスし、且つ第二データラッチ42bがデータをラッチする。ユーザのクロック及びA/B信号の上昇エッジにおいて、第一及び第二レジスタ36a,36bがデータをクロック入力させる。レジスタ36aはデータラッチ42aからラッチされたデータをクロック入力し、且つレジスタ36bはデータラッチ42bからのパスデータをクロック入力させる。従って、第一レジスタ36aは、第一組のコンフィギュレーションデータに従ってユーザのクロックの最初の部分の期間中にコンフィギュレーションが行われた場合に関数発生器34の出力を格納する。第二レジスタ36bは第二組のコンフィギュレーションデータに従ってユーザのクロックの後の部分の期間中にコンフィギュレーションがされた場合に関数発生器34の出力を格納する。
【0046】
A/B信号の各遷移上において、第一及び第二出力スイッチ39a,39bは再度コンフィギュレーションが行われる。多くの適用場面において、出力スイッチ39a及び39bはユーザクロックサイクル期間中に再度コンフィギュレーションが行われることはない。しかしながら、図6Aの実施例においては、その構造が出力スイッチの再コンフィギュレーションを行うことを可能としており、且つ幾つかの適用例においてはそのことが望ましい場合がある。例えば、スイッチ39aは、A期間中に関数発生器34からのデータをパスし且つB期間中にレジスタ36aからのデータをパスさせる場合がある。一方、スイッチ39bは両方の期間中にラッチ42bからのデータをパスさせる場合がある。
【0047】
ルーチングマトリクス18もA/B信号の各遷移において再コンフィギュレーションされる。CLB14の場合における如く、A期間中に、CLB14への入力はB期間中におけるものと異なる供給源から来ることが可能である。A/B信号の各遷移において、ルーチングマトリクスは再コンフィギュレーションが行われて、正しい入力を各CLB14へ供給し且つCLB14の出力を正確にルーチング即ち経路付けさせる。
【0048】
本発明のFPGA10の全ての区画部分12が同一のモードでコンフィギュレーションが行われることが必要なものではない。幾つかの区画部分12は高速非同期モードでコンフィギュレーションさせ、他のものを高速レジスタ型モードでコンフィギュレーションさせ、更に他のものをパイプラインモードでコンフィギュレーションさせることが可能である。従って、CLB14は従来のFPGA10において実現される論理関数の数よりもFPGA10において実現される論理関数の数を著しく増加させることを可能としている。本発明は従来技術と比較してFPGA10のシリコン面積を著しく増加させることなしにこの様な論理関数の数を増加させている。
【0049】
図7はユーザのクロックの1サイクルにおいて発生するA/B信号の完全なサイクルを示している。しかしながら、A/B信号はユーザのクロックの1サイクルよりも長い期間を有することが可能である。次に、図8を参照すると、第一変形A/B信号A/B−1及びその反転信号A/B−1_、及び第二変形A/B信号A/B−2及びその反転信号A/B−2_と比較して、ユーザクロックの四つのサイクルを示したタイミング線図が示されている。図8において、A/B−1信号の第一部分はユーザのクロックの二つのサイクルである。同様に、A/B−1信号の第二の部分はユーザのクロックの二つのサイクルである。A/B−2信号の第一部分はユーザのクロックの1サイクルである。A/B−2信号の第二部分もユーザのクロックの1サイクルである。図7に関して説明した如く、A/B信号の第一部分はA/B信号の第二部分と長さが等しいものである必要はない。図8は、一般的に、A/B信号は任意の長さとすることが可能であり、ユーザのクロックの期間よりも大きいか、等しいか、短いかの何れかとすることが可能であることを示している。
【0050】
具体例
次に、図9を参照すると、FPGA10において実現することの可能な3ビットカウンタのブロック図が示されている。このカウンタは三つの出力A,B,Cと1個のクロック入力とを有している。この3ビットカウンタは、第一2入力ANDゲート50と、第二2入力ANDゲート52と、3入力ANDゲート54と、3入力ORゲート56と、2入力XORゲート58と、第一レジスタ60と、第二レジスタ62と、第三レジスタ64とを有しており、それらの構成要素の全ては図示した如くに接続されている。
【0051】
図9,10,11の場合には、その具体例はCLBの出力としてQ_を示している。このことは、ルーチングマトリクスの再コンフィギュレーションを行うことの利点をより明確に例示する目的のためになされている。FPGAの場合には、Qはプログラマブルルックアップテーブルを駆動することが可能であり、その場合にそれはQ_へ反転させることが可能であるので、一つの出力が必要であるに過ぎない。従って、図4及び5はCLBの出力としてQ_は示していない。
【0052】
次に、図10を参照すると、従来のFPGAを使用して3ビットカウンタを実現する場合のブロック図が示されている。この具体例は、従来の区画部分11−1,11−2,11−3,11−4を有している。コンフィギャラブルルーチングマトリクス70−1,70−2,70−3,70−4はこれらの区画部分を相互接続している。区画部分11−1,11−2,11−3,11−4の出力の接続は、各区画部分11のコンフィギャラブルルーチングマトリクス70を介して行われる。各ドット即ち黒点はそれらの関連するコンフィギュレーションメモリ内にデータを格納することによって接続されたルーチングマトリクス70の一部を表わしている。簡単化のために、出力スイッチ、コンフィギュレーションメモリ、制御ライン、及びクロックラインは図示していない。
【0053】
第一の従来のCLB13−1は、関数発生器34−1が2入力XOR関数を実現し且つ出力スイッチ38−1(不図示)がレジスタ36−1の出力をパスさせるようにコンフィギュレーションが行われている。第二の従来のCLB13−2は、関数発生器34−2がD=AB_+AC_+A_BCの方程式、尚A_BCは関数発生器34−4の出力であり且つDは関数発生器34−2の出力である方程式の3入力2レベルレジタル関数を関数発生器34−2が実現するようにコンフィギュレーションが行われている。第二の従来のCLB13−2の出力スイッチ(図5の出力スイッチ38参照)は、レジスタ36−2の出力をパスさせるようにコンフィギュレーションがなされている。第三の従来のCLB13−3は、関数発生器34−3が該信号を出力C_へ反転させ、且つ出力スイッチ38−3(不図示)がレジスタ36−3の出力をパスさせるようにコンフィギュレーションがなされている。従来のCLB13−4は3入力AND関数A_BCを実現するためにコンフィギュレーションがなされている。従来のCLB13−4の出力スイッチは、関数発生器34−4の出力をパスするようにコンフィギュレーションがなされている。コンフィギャラブルルーチングマトリクス70−1,70−2,70−3,70−4は図9のカウンタを形成するために黒点によって表わされているように接続されている。
【0054】
次に、図11を参照すると、本発明のFPGA10を使用した3ビットカウンタの実現例のブロック図を示している。コンフィギャラブルルーチングマトリクス18はそれによって形成される接続部の周りに点線として示してある。これらの接続部は中実のコネクタ又は中空のコネクタの何れかで示してある。ルーチングマトリクス18はA期間中にコンフィギュレーションが行われて中実の接続部によって表わされる接続部を構成させる。B期間において、コンフィギャラブルルーチングマトリクス18は中空接続部によって表わされる接続を形成するためにコンフィギュレーションが行われる。ルーチングマトリクス18は、A期間及びB期間の両方において中実の接続部の周りの中空の接続部によって表わされる接続部を実現するためにコンフィギュレーションが行われる。このことはメモリセル21−x内に格納されているデータがメモリセル23−x内に格納されているデータ(尚、xは図3の1とnとの間)と同一である場合に対応している。コンフィギャラブルルーチングマトリクス18は従来のコンフィギャラブルルーチングマトリクスよりも一層大きいが、従来のコンフィギャラブルルーチングマトリクスの寸法の2倍であることは必ずしも必要ではない。簡単化のために、図6Aのものに対応する出力スイッチ39a−1,39b−1,39a−2,39b−2、コンフィギュレーションメモリ、制御ライン、クロックラインは図示していない。
【0055】
図11において、この3ビットカウンタはFPGA10の二つの区画部分12−1及び12−2を使用している。各区画部分は二つの論理関数を実行し、即ちA期間中に一つとB期間中に別の一つとを実行する。図11において、参照番号34−1−a及び34−1−bは二つの期間において異なる関数発生器論理を実現する同一の物理的装置を表わしている。A期間中において、区画部分12−1の第一のCLB14−1−aは、関数発生器論理34−1−aが3入力ANDゲートであり且つ出力スイッチ39−1(不図示)が第一のデータラッチ42−1−aからのデータをパスさせるようにコンフィギュレーションが行われる。区画部分12−1はB期間において再コンフィギュレーションが行われると、関数発生器論理34−1−bはD=AB_+AC_+A_BCの方程式で、尚Dは関数発生器論理34−1−bの出力である方程式を有する3入力論理関数である。注意すべきことであるが、関数発生器論理34−1−aの出力はA期間の終了時にデータラッチ42−1−a内にラッチされる。データラッチコンフィギュレーション42−1−aの出力は次のB期間における関数発生器論理34−1−bに対して使用可能であり且つそれによって使用される。図6Aのスイッチ39bと均等なCLB14−1の出力スイッチはレジスタ36−1−bからのデータをパスするようにコンフィギュレーションされているが図示していない。
【0056】
区画部分12−2は、関数発生器論理34−2−aが入力C_を単純にパスさせるようにA期間中にコンフィギュレーションが行われる。出力スイッチは、レジスタ36−2−aからのデータをパスするようにコンフィギュレーションが行われる。B期間において、関数発生器論理34−2−bは2入力XOR関数を実行し、且つ出力スイッチ(図6Aの39bと均等)はレジスタコンフィギュレーション36−2−bからのデータを出力するようにコンフィギュレーションされる。
【0057】
図10と11との比較により、本発明の2コンフィギュレーション実施例は従来のFPGAと比較してFPGA10が実現可能な論理関数の数を2倍としている。この3ビットカウンタを実現するために四つの従来の区画部分が必要とされているが、本発明では二つの区画部分12が必要とされるに過ぎない。本発明のこの実施例は、シリコン面積を多少増加することを必要とする。なぜならば、コンフィギュレーションデータを格納するための付加的なメモリを設けることが必要であり且つコンフィギャラブルルーチングマトリクス18及びCLB14の寸法が増加するためである。しかしながら、二つのコンフィギュレーションを提供する一つの区画部分は1個のコンフィギュレーション区画部分の面積の2倍よりも著しく小さい。
【0058】
ユーザのクロックの1サイクル以内において再コンフィギュレーションを行うことが可能である。ほとんどのユーザは二つの区画部分の遅延よりも大きな1個のクロックサイクルを必要とするので、ユーザが該論理をA上でランするものとB上でランするものとの間に注意深く区別する場合には、唯一の速度に関するペナルティは、データ経路内の要素がコンフィギュレーションをスイッチするのにかかる時間である。これらの要素はルーチングマトリクス18におけるゲート、関数発生器34におけるパスゲート乃至はその他の装置、及び出力スイッチ39を包含しており、各経路要素はマルチプレクサ28−xによって制御され、尚xは図3の1とnとの間である。このマルチプレクサは高速要素であり、データ経路内の要素は高速であり、且つこれらの要素は並列的にスイッチし、従ってペナルティは小さい。
【0059】
ユーザにとって明白な最小の速度損失が存在する場合がある。ユーザにとって明白な速度のペナルティを更に最小とさせるために、スイッチ28−1乃至28−nの幾つかは他のものよりも一層クリチカル即ち臨界的である。図6Aの実施例においては、ラッチ及びレジスタ内に格納される信号は、それらが経路内の下流側の次のCLBの関数発生器34へ到達する前に、スイッチ39a及び39bへ到達し次いでルーチングマトリクス18におけるゲートをパスするので、再コンフィギュレーション期間中に、関数発生器34がスイッチするよりも速くスイッチ39a及び39b及びルーチングマトリクス18におけるパストランジスタがスイッチすること(データ信号の到達前に)がより一層重要である。従って、スイッチ28−1乃至28−nの中でスイッチ39a,39bを制御するスイッチ及びルーチングマトリクス18のパストランジスタからの出力信号の速度を最大とすべきである。この目的のために、スイッチ28−1乃至28−nからの最もクリチカルな出力信号をメタルライン上に配置すべきである。スイッチ28−1乃至28−nの寸法を制御するなどの付加的な手段を採用して最もクリチカルな速度を最大とさせると共に速度がそれほどクリチカルでない場合に面積を最小とさせることが可能である。勿論、例えば、図6Bなどのその他の実施例においては、速度の臨界性は異なっている。
【0060】
従って、本発明は、性能に影響を与えることなしに、同一の処理技術の従来の区画部分よりも、面積当たりに実現可能な論理関数の数を著しく増加させている。
【0061】
本発明を幾つかの好適実施例を参照して説明したが、当業者にとって明らかな如く、種々の変形を行うことが可能であることは勿論である。例えば、本発明のCLB14は多様なコンフィギュレーション即ち形態で従来のCLBと共にFPGA上において使用することが可能である。従って、この様なFPGAは、パイプラインモードで動作可能な区画部分と共に、レジスタ型モード及び非同期モード(従来技術)で動作可能な幾つかの区画部分を有するものである。別の実施例では、本発明のプログラマブル論理アレイは単一のシリコンチップに制限されることが必要なものではなく、複数個のチップで実現することも可能である。更に別の実施例としては、本発明をFPGAアーキテクチャに関連して説明したが、フィールドプログラマブルであり且つ再度コンフィギュレーションを行うことの可能なその他のアーキテクチャに使用することも可能である。本発明は論理ブロックを有することはなく単にスイッチング・ルーチングマトリクスを有する装置において使用することが可能である。更に、本発明は例えば、単一のプログラマブル論理装置のみを有するPLAにおいて使用することも可能である。
【0062】
上述した詳細な説明ではSRAMコンフィギュレーションメモリセルを使用してコンフィギュレーションを行った実施例に焦点を合わせている。本発明においてはコンフィギュレーションメモリを変化させることなしにコンフィギュレーションの変化を達成することが可能であるので、コンフィギュレーションメモリを例えばヒューズ又はアンチヒューズなどの一度だけプログラム可能な技術、又は例えばEPROMやEEPROMなどの再度プログラムを行うことが一層困難な技術を使用してコンフィギュレーションメモリを形成することが可能である。
【0063】
以上、本発明の具体的実施の態様について詳細に説明したが、本発明は、これら具体例にのみ限定されるべきものではなく、本発明の技術的範囲を逸脱することなしに種々の変形が可能であることは勿論である。
【図面の簡単な説明】
【図1】本発明を使用可能なFPGAの一実施例を示したブロック図。
【図2】従来のFPGAのコンフィギュレーションメモリセルからなるアレイの一つの列を示したブロック図。
【図3】本発明に基づく第一アレイのコンフィギュレーションメモリセルの一つの列、第二アレイのコンフィギュレーションメモリセルの一つの列、複数個のメモリセルからなる第三の列、及び第一列と第二列とを交互に結合させるスイッチとを有する構造を示したブロック図。
【図4】本発明のコンフィギュレーションメモリの別の実施例を示したブロック図。
【図5】FPGAの従来のコンフィギャラブル論理ブロックを示したブロック図。
【図6A】本発明の一実施例に基づくコンフィギャラブル論理ブロックを示したブロック図。
【図6B】本発明の別の実施例に基づくコンフィギャラブル論理ブロックを示したブロック図。
【図6C】本発明を使用することの可能なコンフィギャラブルルーチングマトリクスを示した概略図。
【図7】動作期間中におけるA/B制御信号、ラッチング信号、レジスタクロック動作信号を示したタイミング線図。
【図8】レジスタクロック動作信号、第一変形A/B制御信号A/B−1、第二変形A/B制御信号A/B−2を示したタイミング線図。
【図9】FPGAによって実現することの可能な例示的な論理回路を示した回路図。
【図10】従来のFPGAを使用した図9の例示的な論理回路の実現例を示したブロック図。
【図11】本発明のFPGAを使用した図9の例示的な論理回路の実現例を示したブロック図。
【符号の説明】
10 FPGA
12 区画部分
14 コンフィギャラブル論理ブロック(CLB)
16 コンフィギュレーションメモリ
18 コンフィギャラブルルーチングマトリクス
21,23 メモリセル
24 アドレスライン
26 列
28 スイッチ
Claims (35)
- プログラマブルアレイにおいて、
第一組のコンフィギュレーションデータを格納するための第一格納手段と、第二組のコンフィギュレーションデータを格納するための第二格納手段と、前記第一組及び第二組のコンフィギュレーションデータのうちの一つを出力すべく結合されているスイッチング手段とを具備するコンフィギュレーションメモリ、
コンフィギュレーションデータに応答して選択的に導電性ラインを結合させ、前記スイッチング手段へ結合したコンフィギュレーション入力を具備するコンフィギャラブルルーチングマトリクス、
を有することを特徴とするプログラマブルアレイ。 - 請求項1において、更に、少なくとも1個のコンフィギュレーション入力と、少なくとも1個のデータ入力と、前記第一組及び第二組のコンフィギュレーションデータに応答して入力データに関して論理演算を実行するための少なくとも1個のデータ出力とを具備するコンフィギャラブル論理ブロックが設けられており、前記コンフィギャラブル論理ブロックのコンフィギュレーション入力は前記スイッチング手段の出力へ結合されていることを特徴とするプログラマブルアレイ。
- 請求項2において、前記コンフィギュレーションメモリが、更に、第三組のコンフィギュレーションデータを格納するための第三格納手段を有することを特徴とするプログラマブルアレイ。
- 請求項2において、前記スイッチング手段が、ユーザクロックサイクルの第一部分の期間中に、前記第一格納手段を前記コンフィギャラブル論理ブロック及び前記コンフィギャラブルルーチングマトリクスへ結合させ、且つ前記スイッチング手段が、前記ユーザクロックサイクルの第二部分期間中に、前記第二格納手段を前記コンフィギャラブル論理ブロック及び前記コンフィギャラブルルーチングマトリクスへ結合させることを特徴とするプログラマブルアレイ。
- 請求項2において、前記コンフィギュレーションメモリが二つを超えた数の格納手段を有しており、且つ前記スイッチング手段が、ユーザクロックサイクルのそれぞれの部分の期間中に、各格納手段を前記コンフィギャラブル論理ブロック及び前記コンフィギャラブルルーチングマトリクスへ選択的に結合させることを特徴とするプログラマブルアレイ。
- 請求項2において、前記スイッチング手段が、第一時間期間中に、前記第一格納手段を前記コンフィギャラブル論理ブロック及び前記コンフィギャラブルルーチングマトリクスへ、且つ第二時間期間中に前記第二格納手段を前記コンフィギャラブル論理ブロック及び前記コンフィギャラブルルーチングマトリクスヘ選択的に結合させ、前記第一及び第二時間期間が連続的であることを特徴とするプログラマブルアレイ。
- 請求項6において、前記連続する時間期間の各々が少なくともユーザクロックサイクルの長さであることを特徴とするプログラマブルアレイ。
- 請求項1において、
前記第一格納手段が複数個のメモリセルを有しており、各メモリセルが入力と出力とを具備しており、各メモリセルが前記第一組のコンフィギュレーションデータの1個のビットを格納し、
前記第二格納手段が複数個のメモリセルを有しており、各メモリセルが入力と出力とを具備しており、各メモリセルが前記第二組のコンフィギュレーションデータの1個のビットを格納する、
ことを特徴とするプログラマブルアレイ。 - 請求項8において、前記メモリセルがスタチックランダムアクセスメモリセルであることを特徴とするプログラマブルアレイ。
- 請求項8において、前記メモリセルがヒューズであることを特徴とするプログラマブルアレイ。
- 請求項8において、前記メモリセルがアンチヒューズであることを特徴とするプログラマブルアレイ。
- 請求項8において、前記メモリセルがEPROMセルであることを特徴とするプログラマブルアレイ。
- 請求項8において、前記メモリセルがEEPROMセルであることを特徴とするプログラマブルアレイ。
- 請求項8において、前記第一格納手段における各メモリセルが前記第二格納手段において対応するメモリセルを有することを特徴とするプログラマブルアレイ。
- 請求項8において、前記コンフィギュレーションメモリが、更に、前記第一格納手段及び前記第二格納手段に加えて複数個のメモリセルを有しており、前記複数個のメモリセルが、更に、前記ルーチングマトリクスのコンフィギュレーションを行うことを特徴とするプログラマブルアレイ。
- 請求項1において、前記スイッチング手段がマルチプレクサであることを特徴とするプログラマブルアレイ。
- 請求項1において、前記スイッチング手段が1個のセンスアンプと複数個のアドレスラインとを有していることを特徴とするプログラマブルアレイ。
- 請求項1において、前記スイッチング手段が複数個のスイッチを有しており、各スイッチは前記第一格納手段におけるコンフィギュレーションメモリセルへ結合した第一データ入力と、前記第二格納手段における対応するコンフィギュレーションメモリセルへ結合した第二データ入力と、前記コンフィギュレーションメモリの出力を形成する出力とを具備していることを特徴とするプログラマブルアレイ。
- 請求項18において、前記複数個のスイッチが複数個の2対1マルチプレクサを有することを特徴とするプログラマブルアレイ。
- 請求項2において、前記コンフィギャラブル論理ブロックが、
コンフィギュレーションデータによって特定された論理関数を実施するための関数発生器であって、前記スイッチング手段へ結合した少なくとも1個のコンフィギュレーション入力と、前記コンフィギャラブルルーチングマトリクスへ結合した少なくとも1個のデータ入力と、少なくとも1個のデータ出力とを具備する関数発生器、
第一期間からの前記関数発生器の出力を格納する第一出力装置であって、前記関数発生器の出力へ結合したデータ入力と、データ出力とを具備する第一出力装置、
第二期間からの前記関数発生器の出力を格納する第二出力装置であって、前記関数発生器の出力へ結合したデータ入力と、データ出力とを具備する第二出力装置、
を有することを特徴とするプログラマブルアレイ。 - 請求項20において、前記第一出力装置が、更に、前記コンフィギュレーションメモリへ結合したコンフィギュレーション入力を有しており、且つ前記第二出力装置が、更に、前記コンフィギュレーションメモリへ結合したコンフィギュレーション入力を有していることを特徴とするプログラマブルアレイ。
- 請求項20において、前記第一及び第二出力装置の出力が前記コンフィギャラブルルーチングマトリクスへ結合されていることを特徴とするプログラマブルアレイ。
- 請求項20において、前記第一出力装置が、前記コンフィギュレーションメモリの第一格納手段内に格納された前記第一組のデータでコンフィギュレーションが行われた前記関数発生器の出力を選択的に格納し且つ出力し、且つ前記第二出力装置が、前記コンフィギュレーションメモリの第二格納手段内に格納された第二組のデータでコンフィギュレーションされた前記関数発生器の出力を選択的に格納及び出力することを特徴とするプログラマブルアレイ。
- 請求項20において、前記第一出力装置が、ラッチイネーブル入力における信号に応答してデータを格納及び通過させるラッチであって、前記関数発生器の出力へ結合したデータ入力と、ラッチイネーブル入力と、データ出力とを具備するラッチ、
前記ラッチのデータ出力へ結合したデータ入力と、クロック信号を受取るべく結合されたクロック入力と、データ出力とを具備しており、前記クロック入力におけるクロック信号に応答してデータを格納するレジスタと、
複数個のデータ入力と、コンフィギュレーション入力と、データ出力とを具備しており、複数個の信号のうちの一つを出力させる出力スイッチ、
を有することを特徴とするプログラマブルアレイ。 - 請求項24において、前記出力スイッチの第一データ入力が前記ラッチの出力へ結合しており、且つ前記出力スイッチの第二データ入力が前記レジスタの出力へ結合しており、前記出力スイッチのコンフィギュレーション入力が前記コンフィギュレーションメモリへ結合しており、且つ前記出力スイッチの出力が前記コンフィギャラブルルーチングマトリクスへ結合していることを特徴とするプログラマブルアレイ。
- 請求項25において、前記出力スイッチの第三データ入力が前記関数発生器の出力へ結合していることを特徴とするプログラマブルアレイ。
- 請求項24において、前記第二出力装置が、
ラッチイネーブル入力における信号に応答してデータを格納及び通過させるラッチであって、前記関数発生器の出力へ結合したデータ入力と、ラッチイネーブル入力と、データ出力とを具備するラッチ、
前記ラッチのデータ出力へ結合したデータ入力と、クロック信号を受取るべく結合されたクロック入力と、データ出力とを具備しており、前記クロック入力におけるクロック信号に応答してデータを格納するレジスタ、
複数個のデータ入力と、コンフィギュレーション入力と、データ出力とを具備しており、複数個の信号のうちの一つを出力させる出力スイッチ、
を有しており、前記出力スイッチの第一データ入力が前記関数発生器の出力へ結合しており、前記出力スイッチの第二データ入力が前記ラッチの出力へ結合しており、且つ前記出力スイッチの第三入力が前記レジスタの出力へ結合しており、前記出力スイッチのコンフィギュレーション入力が前記コンフィギュレーションメモリへ結合しており、且つ前記出力スイッチの出力が前記コンフィギャラブルルーチングマトリクスへ結合していることを特徴とするプログラマブルアレイ。 - 請求項24において、前記出力スイッチがマルチプレクサであることを特徴とするプログラマブルアレイ。
- プログラマブルアレイにおいて、
第一組のコンフィギュレーションデータを格納するための第一格納手段、第二組のコンフィギュレーションデータを格納するための第二格納手段、前記第一組及び第二組のコンフィギュレーションデータのうちの一つを出力すべく結合されたスイッチング手段とを具備するコンフィギュレーションメモリ、
前記スイッチング手段の出力へ結合したコンフィギュレーション入力と、データ入力と、前記第一組及び第二組のコンフィギュレーションデータに応答して入力データに関し論理関数を実行するためのコンフィギャラブル論理ブロック、
を有することを特徴とするプログラマブルアレイ。 - プログラマブルアレイにおいて、
論理信号を供給する手段、
前記論理信号を受取る第一格納手段、
前記論理信号を受取る第二格納手段、
第一時間期間中に前記第一格納手段を介して前記論理信号を通過させ且つ第二時間期間中に前記第二格納手段を介して前記論理信号を通過させる手段、
第一時間期間及び第二時間期間中に前記第一及び第二格納手段の出力を異なるラインへ結合させる手段、
を有することを特徴とするプログラマブルアレイ。 - 請求項30において、前記異なるラインが第一ラインと、第二ラインと、第三ラインと、第四ラインとを有しており、前記結合させる手段が、前記第一格納手段の出力を、前記第一時間期間中に前記第一ラインへ及び前記第二時間期間中に前記第三ラインへ結合させ、且つ前記結合させる手段が、前記第二格納手段の出力を、前記第一時間期間中に前記第二ラインへ及び前記第二時間期間中に前記第四ラインへ結合させることを特徴とするプログラマブルアレイ。
- 請求項30において、前記第一格納手段が第一ラッチであり且つ前記第二格納手段が第二ラッチであることを特徴とするプログラマブルアレイ。
- 請求項32において、前記第一ラッチが第一期間中にルーチングマトリクス内の1本のラインへ接続され、且つ前記第二ラッチが第二期間中に前記ルーチングマトリクス内の前記ラインへ接続されることを特徴とするプログラマブルアレイ。
- プログラマブルアレイにおいて、
論理信号を供給する手段、
前記論理信号を受取る第一格納手段、
前記論理信号を受取る第二格納手段、
第一時間期間中に前記第一格納手段を介して前記論理信号を通過させ且つ第二時間期間中に前記第二格納手段を介して前記論理信号を通過させる手段、
第一時間期間中に前記第一格納手段の出力を少なくとも1個のルーチングラインへ結合させ且つ第二時間期間中に前記第二格納手段の出力を同一の少なくとも1個のルーチングラインへ結合させる手段、
を有することを特徴とするプログラマブルアレイ。 - 請求項34において、前記第一格納手段が第一ラッチであり且つ前記第二格納手段が第二ラッチであることを特徴とするプログラマブルアレイ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/231,009 US5426378A (en) | 1994-04-20 | 1994-04-20 | Programmable logic device which stores more than one configuration and means for switching configurations |
US231009 | 1994-04-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0851356A JPH0851356A (ja) | 1996-02-20 |
JP3626239B2 true JP3626239B2 (ja) | 2005-03-02 |
Family
ID=22867425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP09522195A Expired - Lifetime JP3626239B2 (ja) | 1994-04-20 | 1995-04-20 | プログラマブルアレイ |
Country Status (4)
Country | Link |
---|---|
US (1) | US5426378A (ja) |
EP (2) | EP1455455B1 (ja) |
JP (1) | JP3626239B2 (ja) |
DE (1) | DE69534812T2 (ja) |
Families Citing this family (290)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6759870B2 (en) | 1991-09-03 | 2004-07-06 | Altera Corporation | Programmable logic array integrated circuits |
US5550782A (en) * | 1991-09-03 | 1996-08-27 | Altera Corporation | Programmable logic array integrated circuits |
US20020130681A1 (en) * | 1991-09-03 | 2002-09-19 | Cliff Richard G. | Programmable logic array integrated circuits |
US5477172A (en) * | 1994-12-12 | 1995-12-19 | Advanced Micro Devices, Inc. | Configurable input buffer dependent on supply voltage |
US5742180A (en) * | 1995-02-10 | 1998-04-21 | Massachusetts Institute Of Technology | Dynamically programmable gate array with multiple contexts |
US6052773A (en) * | 1995-02-10 | 2000-04-18 | Massachusetts Institute Of Technology | DPGA-coupled microprocessors |
US6049223A (en) * | 1995-03-22 | 2000-04-11 | Altera Corporation | Programmable logic array integrated circuit with general-purpose memory configurable as a random access or FIFO memory |
US5646544A (en) * | 1995-06-05 | 1997-07-08 | International Business Machines Corporation | System and method for dynamically reconfiguring a programmable gate array |
US5761483A (en) * | 1995-08-18 | 1998-06-02 | Xilinx, Inc. | Optimizing and operating a time multiplexed programmable logic device |
US5838954A (en) * | 1995-08-18 | 1998-11-17 | Xilinx, Inc. | Computer-implemented method of optimizing a time multiplexed programmable logic device |
US5701441A (en) * | 1995-08-18 | 1997-12-23 | Xilinx, Inc. | Computer-implemented method of optimizing a design in a time multiplexed programmable logic device |
US5646545A (en) * | 1995-08-18 | 1997-07-08 | Xilinx, Inc. | Time multiplexed programmable logic device |
US5583450A (en) * | 1995-08-18 | 1996-12-10 | Xilinx, Inc. | Sequencer for a time multiplexed programmable logic device |
US5629637A (en) * | 1995-08-18 | 1997-05-13 | Xilinx, Inc. | Method of time multiplexing a programmable logic device |
US5784313A (en) | 1995-08-18 | 1998-07-21 | Xilinx, Inc. | Programmable logic device including configuration data or user data memory slices |
US5600263A (en) * | 1995-08-18 | 1997-02-04 | Xilinx, Inc. | Configuration modes for a time multiplexed programmable logic device |
US5684411A (en) * | 1995-10-13 | 1997-11-04 | Seiko Communications Systems, Inc. | Self-configuring bus |
US5794033A (en) * | 1995-10-24 | 1998-08-11 | International Business Machines Corporation | Method and system for in-site and on-line reprogramming of hardware logics with remote loading in a network device |
US5943242A (en) | 1995-11-17 | 1999-08-24 | Pact Gmbh | Dynamically reconfigurable data processing system |
US5732407A (en) * | 1995-12-11 | 1998-03-24 | Hewlett-Packard Co. | Configurable random access memory for programmable logic devices |
JPH09231788A (ja) * | 1995-12-19 | 1997-09-05 | Fujitsu Ltd | シフトレジスタ及びプログラマブル論理回路並びにプログラマブル論理回路システム |
US5914906A (en) * | 1995-12-20 | 1999-06-22 | International Business Machines Corporation | Field programmable memory array |
US5848285A (en) * | 1995-12-26 | 1998-12-08 | Cypress Semiconductor Corporation | Macrocell having a dual purpose input register for use in a logic device |
US5811989A (en) * | 1995-12-29 | 1998-09-22 | Cypress Semiconductor Corp. | Programmable I/O cell with data conversion capability |
US5786710A (en) * | 1995-12-29 | 1998-07-28 | Cypress Semiconductor Corp. | Programmable I/O cell with data conversion capability |
US5760719A (en) * | 1995-12-29 | 1998-06-02 | Cypress Semiconductor Corp. | Programmable I/O cell with data conversion capability |
US7266725B2 (en) * | 2001-09-03 | 2007-09-04 | Pact Xpp Technologies Ag | Method for debugging reconfigurable architectures |
US5760602A (en) * | 1996-01-17 | 1998-06-02 | Hewlett-Packard Company | Time multiplexing a plurality of configuration settings of a programmable switch element in a FPGA |
US6020758A (en) * | 1996-03-11 | 2000-02-01 | Altera Corporation | Partially reconfigurable programmable logic device |
US5726584A (en) * | 1996-03-18 | 1998-03-10 | Xilinx, Inc. | Virtual high density programmable integrated circuit having addressable shared memory cells |
US5956518A (en) * | 1996-04-11 | 1999-09-21 | Massachusetts Institute Of Technology | Intermediate-grain reconfigurable processing device |
US5977791A (en) | 1996-04-15 | 1999-11-02 | Altera Corporation | Embedded memory block with FIFO mode for programmable logic device |
JPH09293015A (ja) * | 1996-04-24 | 1997-11-11 | Mitsubishi Electric Corp | メモリシステムおよびそれに用いられる半導体記憶装置 |
US5838165A (en) * | 1996-08-21 | 1998-11-17 | Chatter; Mukesh | High performance self modifying on-the-fly alterable logic FPGA, architecture and method |
US5901279A (en) * | 1996-10-18 | 1999-05-04 | Hughes Electronics Corporation | Connection of spares between multiple programmable devices |
US6134707A (en) * | 1996-11-14 | 2000-10-17 | Altera Corporation | Apparatus and method for in-system programming of integrated circuits containing programmable elements |
DE19651075A1 (de) | 1996-12-09 | 1998-06-10 | Pact Inf Tech Gmbh | Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen |
DE19654595A1 (de) | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen |
US6338106B1 (en) * | 1996-12-20 | 2002-01-08 | Pact Gmbh | I/O and memory bus system for DFPS and units with two or multi-dimensional programmable cell architectures |
DE19654593A1 (de) * | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | Umkonfigurierungs-Verfahren für programmierbare Bausteine zur Laufzeit |
DE59710317D1 (de) * | 1996-12-27 | 2003-07-24 | Pact Inf Tech Gmbh | VERFAHREN ZUM SELBSTÄNDIGEN DYNAMISCHEN UMLADEN VON DATENFLUSSPROZESSOREN (DFPs) SOWIE BAUSTEINEN MIT ZWEI- ODER MEHRDIMENSIONALEN PROGRAMMIERBAREN ZELLSTRUKTUREN (FPGAs, DPGAs, o.dgl.) |
DE19654846A1 (de) | 1996-12-27 | 1998-07-09 | Pact Inf Tech Gmbh | Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.) |
US5959466A (en) | 1997-01-31 | 1999-09-28 | Actel Corporation | Field programmable gate array with mask programmed input and output buffers |
DE19704044A1 (de) * | 1997-02-04 | 1998-08-13 | Pact Inf Tech Gmbh | Verfahren zur automatischen Adressgenerierung von Bausteinen innerhalb Clustern aus einer Vielzahl dieser Bausteine |
DE19704728A1 (de) | 1997-02-08 | 1998-08-13 | Pact Inf Tech Gmbh | Verfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines |
US6542998B1 (en) | 1997-02-08 | 2003-04-01 | Pact Gmbh | Method of self-synchronization of configurable elements of a programmable module |
DE19704742A1 (de) | 1997-02-11 | 1998-09-24 | Pact Inf Tech Gmbh | Internes Bussystem für DFPs, sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen, zur Bewältigung großer Datenmengen mit hohem Vernetzungsaufwand |
US6150837A (en) * | 1997-02-28 | 2000-11-21 | Actel Corporation | Enhanced field programmable gate array |
US6551857B2 (en) | 1997-04-04 | 2003-04-22 | Elm Technology Corporation | Three dimensional structure integrated circuits |
JP3106998B2 (ja) * | 1997-04-11 | 2000-11-06 | 日本電気株式会社 | メモリ付加型プログラマブルロジックlsi |
US6421817B1 (en) | 1997-05-29 | 2002-07-16 | Xilinx, Inc. | System and method of computation in a programmable logic device using virtual instructions |
US6047115A (en) * | 1997-05-29 | 2000-04-04 | Xilinx, Inc. | Method for configuring FPGA memory planes for virtual hardware computation |
US5960191A (en) * | 1997-05-30 | 1999-09-28 | Quickturn Design Systems, Inc. | Emulation system with time-multiplexed interconnect |
US6034857A (en) * | 1997-07-16 | 2000-03-07 | Altera Corporation | Input/output buffer with overcurrent protection circuit |
US6011744A (en) * | 1997-07-16 | 2000-01-04 | Altera Corporation | Programmable logic device with multi-port memory |
US6020760A (en) | 1997-07-16 | 2000-02-01 | Altera Corporation | I/O buffer circuit with pin multiplexing |
US9092595B2 (en) | 1997-10-08 | 2015-07-28 | Pact Xpp Technologies Ag | Multiprocessor having associated RAM units |
US8686549B2 (en) | 2001-09-03 | 2014-04-01 | Martin Vorbach | Reconfigurable elements |
US6122719A (en) | 1997-10-31 | 2000-09-19 | Silicon Spice | Method and apparatus for retiming in a network of multiple context processing elements |
US5986467A (en) * | 1997-10-31 | 1999-11-16 | Xilinx, Inc. | Time-multiplexed programmable logic devices |
US5915123A (en) * | 1997-10-31 | 1999-06-22 | Silicon Spice | Method and apparatus for controlling configuration memory contexts of processing elements in a network of multiple context processing elements |
US6108760A (en) * | 1997-10-31 | 2000-08-22 | Silicon Spice | Method and apparatus for position independent reconfiguration in a network of multiple context processing elements |
US6091263A (en) * | 1997-12-12 | 2000-07-18 | Xilinx, Inc. | Rapidly reconfigurable FPGA having a multiple region architecture with reconfiguration caches useable as data RAM |
DE19861088A1 (de) | 1997-12-22 | 2000-02-10 | Pact Inf Tech Gmbh | Verfahren zur Reparatur von integrierten Schaltkreisen |
US6367063B1 (en) * | 1998-02-05 | 2002-04-02 | Hughes Electronics Corporation | Method and apparatus for selectively performing a plurality of logic operations and memory functions |
DE19807872A1 (de) | 1998-02-25 | 1999-08-26 | Pact Inf Tech Gmbh | Verfahren zur Verwaltung von Konfigurationsdaten in Datenflußprozessoren sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstruktur (FPGAs, DPGAs, o. dgl. |
US6150863A (en) * | 1998-04-01 | 2000-11-21 | Xilinx, Inc. | User-controlled delay circuit for a programmable logic device |
US6008666A (en) * | 1998-04-01 | 1999-12-28 | Xilinx, Inc. | Variable-delay interconnect structure for a programmable logic device |
US6226735B1 (en) | 1998-05-08 | 2001-05-01 | Broadcom | Method and apparatus for configuring arbitrary sized data paths comprising multiple context processing elements |
US6138229A (en) * | 1998-05-29 | 2000-10-24 | Motorola, Inc. | Customizable instruction set processor with non-configurable/configurable decoding units and non-configurable/configurable execution units |
US6467017B1 (en) | 1998-06-23 | 2002-10-15 | Altera Corporation | Programmable logic device having embedded dual-port random access memory configurable as single-port memory |
US6356637B1 (en) | 1998-09-18 | 2002-03-12 | Sun Microsystems, Inc. | Field programmable gate arrays |
JP3444216B2 (ja) | 1999-01-28 | 2003-09-08 | 日本電気株式会社 | プログラマブルデバイス |
US6262933B1 (en) | 1999-01-29 | 2001-07-17 | Altera Corporation | High speed programmable address decoder |
JP3616518B2 (ja) | 1999-02-10 | 2005-02-02 | 日本電気株式会社 | プログラマブルデバイス |
US6407576B1 (en) | 1999-03-04 | 2002-06-18 | Altera Corporation | Interconnection and input/output resources for programmable logic integrated circuit devices |
US8230411B1 (en) | 1999-06-10 | 2012-07-24 | Martin Vorbach | Method for interleaving a program over a plurality of cells |
GB2351824B (en) | 1999-07-02 | 2004-03-31 | Altera Corp | Embedded memory blocks for programmable logic |
US6507211B1 (en) | 1999-07-29 | 2003-01-14 | Xilinx, Inc. | Programmable logic device capable of preserving user data during partial or complete reconfiguration |
US6745317B1 (en) | 1999-07-30 | 2004-06-01 | Broadcom Corporation | Three level direct communication connections between neighboring multiple context processing elements |
US6288566B1 (en) * | 1999-09-23 | 2001-09-11 | Chameleon Systems, Inc. | Configuration state memory for functional blocks on a reconfigurable chip |
US6662302B1 (en) * | 1999-09-29 | 2003-12-09 | Conexant Systems, Inc. | Method and apparatus of selecting one of a plurality of predetermined configurations using only necessary bus widths based on power consumption analysis for programmable logic device |
US6714537B1 (en) * | 1999-10-19 | 2004-03-30 | Ciena Corp. | Switch fabric architecture and techniques for implementing rapid hitless switchover |
US6633181B1 (en) * | 1999-12-30 | 2003-10-14 | Stretch, Inc. | Multi-scale programmable array |
US6462577B1 (en) * | 2000-04-28 | 2002-10-08 | Altera Corporation | Configurable memory structures in a programmable logic device |
DE50115584D1 (de) | 2000-06-13 | 2010-09-16 | Krass Maren | Pipeline ct-protokolle und -kommunikation |
US7013482B1 (en) * | 2000-07-07 | 2006-03-14 | 802 Systems Llc | Methods for packet filtering including packet invalidation if packet validity determination not timely made |
US7031267B2 (en) * | 2000-12-21 | 2006-04-18 | 802 Systems Llc | PLD-based packet filtering methods with PLD configuration data update of filtering rules |
US6526557B1 (en) * | 2000-07-25 | 2003-02-25 | Xilinx, Inc. | Architecture and method for partially reconfiguring an FPGA |
AU2002220600A1 (en) | 2000-10-06 | 2002-04-15 | Pact Informationstechnologie Gmbh | Cell system with segmented intermediate cell structure |
US8058899B2 (en) | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus system |
US8103496B1 (en) | 2000-10-26 | 2012-01-24 | Cypress Semicondutor Corporation | Breakpoint control in an in-circuit emulation system |
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 |
US6603330B1 (en) * | 2000-10-26 | 2003-08-05 | Cypress Semiconductor Corporation | Configuring digital functions in a digital configurable macro architecture |
US6507214B1 (en) | 2000-10-26 | 2003-01-14 | Cypress Semiconductor Corporation | Digital configurable macro architecture |
US6724220B1 (en) | 2000-10-26 | 2004-04-20 | Cyress Semiconductor Corporation | Programmable microcontroller architecture (mixed analog/digital) |
US6825689B1 (en) | 2000-10-26 | 2004-11-30 | Cypress Semiconductor Corporation | Configurable input/output interface for a microcontroller |
US8160864B1 (en) | 2000-10-26 | 2012-04-17 | Cypress Semiconductor Corporation | In-circuit emulator and pod synchronized boot |
US8149048B1 (en) | 2000-10-26 | 2012-04-03 | Cypress Semiconductor Corporation | Apparatus and method for programmable power management in a programmable analog circuit block |
US20020080784A1 (en) * | 2000-12-21 | 2002-06-27 | 802 Systems, Inc. | Methods and systems using PLD-based network communication protocols |
US20020083331A1 (en) * | 2000-12-21 | 2002-06-27 | 802 Systems, Inc. | Methods and systems using PLD-based network communication protocols |
US6990555B2 (en) * | 2001-01-09 | 2006-01-24 | Pact Xpp Technologies Ag | Method of hierarchical caching of configuration data having dataflow processors and modules having two- or multidimensional programmable cell structure (FPGAs, DPGAs, etc.) |
US9250908B2 (en) | 2001-03-05 | 2016-02-02 | Pact Xpp Technologies Ag | Multi-processor bus and cache interconnection system |
US7210129B2 (en) | 2001-08-16 | 2007-04-24 | Pact Xpp Technologies Ag | Method for translating programs for reconfigurable architectures |
US7844796B2 (en) | 2001-03-05 | 2010-11-30 | Martin Vorbach | Data processing device and method |
US9037807B2 (en) | 2001-03-05 | 2015-05-19 | Pact Xpp Technologies Ag | Processor arrangement on a chip including data processing, memory, and interface elements |
US7444531B2 (en) | 2001-03-05 | 2008-10-28 | Pact Xpp Technologies Ag | Methods and devices for treating and processing data |
US7581076B2 (en) | 2001-03-05 | 2009-08-25 | Pact Xpp Technologies Ag | Methods and devices for treating and/or processing data |
US9552047B2 (en) | 2001-03-05 | 2017-01-24 | Pact Xpp Technologies Ag | Multiprocessor having runtime adjustable clock and clock dependent power supply |
US9141390B2 (en) | 2001-03-05 | 2015-09-22 | Pact Xpp Technologies Ag | Method of processing data with an array of data processors according to application ID |
US9436631B2 (en) | 2001-03-05 | 2016-09-06 | Pact Xpp Technologies Ag | Chip including memory element storing higher level memory data on a page by page basis |
US6720796B1 (en) | 2001-05-06 | 2004-04-13 | Altera Corporation | Multiple size memories in a programmable logic device |
TWI234737B (en) * | 2001-05-24 | 2005-06-21 | Ip Flex Inc | Integrated circuit device |
JP2004533691A (ja) | 2001-06-20 | 2004-11-04 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | データを処理するための方法 |
US10031733B2 (en) | 2001-06-20 | 2018-07-24 | Scientia Sol Mentis Ag | Method for processing data |
US7996827B2 (en) | 2001-08-16 | 2011-08-09 | Martin Vorbach | Method for the translation of programs for reconfigurable architectures |
US7434191B2 (en) | 2001-09-03 | 2008-10-07 | Pact Xpp Technologies Ag | Router |
US8686475B2 (en) | 2001-09-19 | 2014-04-01 | Pact Xpp Technologies Ag | Reconfigurable elements |
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 |
US7770113B1 (en) | 2001-11-19 | 2010-08-03 | Cypress Semiconductor Corporation | System and method for dynamically generating a configuration datasheet |
US7774190B1 (en) | 2001-11-19 | 2010-08-10 | Cypress Semiconductor Corporation | Sleep and stall in an in-circuit emulation system |
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 |
US6971004B1 (en) * | 2001-11-19 | 2005-11-29 | Cypress Semiconductor Corp. | System and method of dynamically reconfiguring a programmable integrated circuit |
US8069405B1 (en) * | 2001-11-19 | 2011-11-29 | Cypress Semiconductor Corporation | User interface for efficiently browsing an electronic document using data-driven tabs |
US7577822B2 (en) | 2001-12-14 | 2009-08-18 | Pact Xpp Technologies Ag | Parallel task operation in processor and reconfigurable coprocessor configured based on information in link list including termination information for synchronization |
DE60239588D1 (de) * | 2001-12-28 | 2011-05-12 | Fujitsu Semiconductor Ltd | Programmierbare Logikschaltung mit ferroelektrischem Konfigurationsspeicher |
DE10392560D2 (de) | 2002-01-19 | 2005-05-12 | Pact Xpp Technologies Ag | Reconfigurierbarer Prozessor |
DE10390689D2 (de) | 2002-02-18 | 2005-02-10 | Pact Xpp Technologies Ag | Bussysteme und Rekonfigurationsverfahren |
US9170812B2 (en) | 2002-03-21 | 2015-10-27 | Pact Xpp Technologies Ag | Data processing system having integrated pipelined array data processor |
US8914590B2 (en) | 2002-08-07 | 2014-12-16 | Pact Xpp Technologies Ag | Data processing method and device |
US8103497B1 (en) | 2002-03-28 | 2012-01-24 | Cypress Semiconductor Corporation | External interface for event architecture |
DE60204539D1 (de) * | 2002-04-03 | 2005-07-14 | Sgs Thomson Microelectronics | Feldprogrammierbare Vorrichtung |
US7308608B1 (en) | 2002-05-01 | 2007-12-11 | Cypress Semiconductor Corporation | Reconfigurable testing system and method |
US6661724B1 (en) | 2002-06-13 | 2003-12-09 | Cypress Semiconductor Corporation | Method and system for programming a memory device |
US7657861B2 (en) | 2002-08-07 | 2010-02-02 | Pact Xpp Technologies Ag | Method and device for processing data |
WO2004021176A2 (de) | 2002-08-07 | 2004-03-11 | Pact Xpp Technologies Ag | Verfahren und vorrichtung zur datenverarbeitung |
WO2004015764A2 (en) * | 2002-08-08 | 2004-02-19 | Leedy Glenn J | Vertical system integration |
WO2004038599A1 (de) | 2002-09-06 | 2004-05-06 | Pact Xpp Technologies Ag | Rekonfigurierbare sequenzerstruktur |
US7761845B1 (en) | 2002-09-09 | 2010-07-20 | Cypress Semiconductor Corporation | Method for parameterizing a user module |
US6829756B1 (en) | 2002-09-23 | 2004-12-07 | Xilinx, Inc. | Programmable logic device with time-multiplexed interconnect |
US7111110B1 (en) | 2002-12-10 | 2006-09-19 | Altera Corporation | Versatile RAM for programmable logic device |
US7581081B2 (en) | 2003-03-31 | 2009-08-25 | Stretch, Inc. | Systems and methods for software extensible multi-processing |
US7000211B2 (en) * | 2003-03-31 | 2006-02-14 | Stretch, Inc. | System and method for efficiently mapping heterogeneous objects onto an array of heterogeneous programmable logic resources |
US7613900B2 (en) * | 2003-03-31 | 2009-11-03 | Stretch, Inc. | Systems and methods for selecting input/output configuration in an integrated circuit |
US8001266B1 (en) | 2003-03-31 | 2011-08-16 | Stretch, Inc. | Configuring a multi-processor system |
US7590829B2 (en) * | 2003-03-31 | 2009-09-15 | Stretch, Inc. | Extension adapter |
US7603542B2 (en) * | 2003-06-25 | 2009-10-13 | Nec Corporation | Reconfigurable electric computer, semiconductor integrated circuit and control method, program generation method, and program for creating a logic circuit from an application program |
US7796464B1 (en) | 2003-06-27 | 2010-09-14 | Cypress Semiconductor Corporation | Synchronous memory with a shadow-cycle counter |
US7373642B2 (en) * | 2003-07-29 | 2008-05-13 | Stretch, Inc. | Defining instruction extensions in a standard programming language |
US7418575B2 (en) * | 2003-07-29 | 2008-08-26 | Stretch, Inc. | Long instruction word processing with instruction extensions |
EP1676208A2 (en) | 2003-08-28 | 2006-07-05 | PACT XPP Technologies AG | Data processing device and method |
US7126381B1 (en) | 2004-02-14 | 2006-10-24 | Herman Schmit | VPA interconnect circuit |
US7622951B2 (en) * | 2004-02-14 | 2009-11-24 | Tabula, Inc. | Via programmable gate array with offset direct connections |
US7167025B1 (en) | 2004-02-14 | 2007-01-23 | Herman Schmit | Non-sequentially configurable IC |
US7425841B2 (en) | 2004-02-14 | 2008-09-16 | Tabula Inc. | Configurable circuits, IC's, and systems |
US7109752B1 (en) * | 2004-02-14 | 2006-09-19 | Herman Schmit | Configurable circuits, IC's, and systems |
US7284222B1 (en) * | 2004-06-30 | 2007-10-16 | Tabula, Inc. | Method and apparatus for identifying connections between configurable nodes in a configurable integrated circuit |
US7193440B1 (en) * | 2004-02-14 | 2007-03-20 | Herman Schmit | Configurable circuits, IC's, and systems |
JP3836109B2 (ja) * | 2004-02-19 | 2006-10-18 | 東京エレクトロン株式会社 | プログラマブル論理回路制御装置、プログラマブル論理回路制御方法及びプログラム |
US7295049B1 (en) | 2004-03-25 | 2007-11-13 | Cypress Semiconductor Corporation | Method and circuit for rapid alignment of signals |
US20050214419A1 (en) * | 2004-03-29 | 2005-09-29 | Aberle Rick A | Method and apparatus for providing instantaneous, real-time data for extrusion process control |
US7408382B2 (en) * | 2004-06-30 | 2008-08-05 | Tabula, Inc. | Configurable circuits, IC's, and systems |
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 |
US7145361B1 (en) * | 2004-06-30 | 2006-12-05 | Andre Rohe | Configurable integrated circuit with different connection schemes |
US7312630B2 (en) | 2004-06-30 | 2007-12-25 | Tabula, Inc. | Configurable integrated circuit with built-in turns |
JP4546775B2 (ja) * | 2004-06-30 | 2010-09-15 | 富士通株式会社 | 時分割多重処理可能なリコンフィギュラブル回路 |
US7193438B1 (en) * | 2004-06-30 | 2007-03-20 | Andre Rohe | Configurable integrated circuit with offset connection |
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 |
US8082531B2 (en) * | 2004-08-13 | 2011-12-20 | Cypress Semiconductor Corporation | Method and an apparatus to design a processing system using a graphical user interface |
US8069436B2 (en) | 2004-08-13 | 2011-11-29 | Cypress Semiconductor Corporation | Providing hardware independence to automate code generation of processing device firmware |
US7183801B2 (en) * | 2004-09-08 | 2007-02-27 | Atmel Corporation | Programmable logic auto write-back |
US7301242B2 (en) * | 2004-11-04 | 2007-11-27 | Tabula, Inc. | Programmable system in package |
US7530044B2 (en) * | 2004-11-04 | 2009-05-05 | Tabula, Inc. | Method for manufacturing a programmable system in package |
US7259587B1 (en) | 2004-11-08 | 2007-08-21 | Tabula, Inc. | Configurable IC's with configurable logic resources that have asymetric inputs and/or outputs |
US7573296B2 (en) * | 2004-11-08 | 2009-08-11 | Tabula Inc. | Configurable IC with configurable routing resources that have asymmetric input and/or outputs |
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 |
US7268586B1 (en) * | 2004-11-08 | 2007-09-11 | Tabula, Inc. | Method and apparatus for accessing stored data in a reconfigurable IC |
US7342415B2 (en) * | 2004-11-08 | 2008-03-11 | Tabula, Inc. | Configurable IC with interconnect circuits that also perform storage operations |
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 |
US7242216B1 (en) | 2004-11-08 | 2007-07-10 | Herman Schmit | Embedding memory between tile arrangement of a configurable IC |
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 |
US7276933B1 (en) * | 2004-11-08 | 2007-10-02 | Tabula, Inc. | Reconfigurable IC that has sections running at different looperness |
US7301368B2 (en) * | 2005-03-15 | 2007-11-27 | Tabula, Inc. | Embedding memory within tile arrangement of a configurable IC |
US7295037B2 (en) * | 2004-11-08 | 2007-11-13 | Tabula, Inc. | Configurable IC with routing circuits with offset connections |
US20070244958A1 (en) * | 2004-11-08 | 2007-10-18 | Jason Redgrave | Configurable IC's with carry bypass circuitry |
US7428721B2 (en) | 2004-12-01 | 2008-09-23 | Tabula, Inc. | Operational cycle assignment in a configurable IC |
US7496879B2 (en) * | 2004-12-01 | 2009-02-24 | Tabula, Inc. | Concurrent optimization of physical design and operational cycle assignment |
US7236009B1 (en) | 2004-12-01 | 2007-06-26 | Andre Rohe | Operational time extension |
JP4831957B2 (ja) * | 2004-12-02 | 2011-12-07 | ルネサスエレクトロニクス株式会社 | コピー防止回路装置およびコピー防止方法 |
US7332976B1 (en) | 2005-02-04 | 2008-02-19 | Cypress Semiconductor Corporation | Poly-phase frequency synthesis oscillator |
US7272031B1 (en) * | 2005-03-15 | 2007-09-18 | Tabula, Inc. | Method and apparatus for reduced power cell |
US7230869B1 (en) * | 2005-03-15 | 2007-06-12 | Jason Redgrave | Method and apparatus for accessing contents of memory cells |
US7310003B2 (en) * | 2005-03-15 | 2007-12-18 | Tabula, Inc. | Configurable IC with interconnect circuits that have select lines driven by user signals |
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 |
US8201124B1 (en) | 2005-03-15 | 2012-06-12 | Tabula, Inc. | System in package and method of creating system in package |
US7224182B1 (en) * | 2005-03-15 | 2007-05-29 | Brad Hutchings | Hybrid configurable circuit for a configurable IC |
US7825684B2 (en) * | 2005-03-15 | 2010-11-02 | Tabula, Inc. | Variable width management for a memory of a configurable IC |
US7298169B2 (en) * | 2005-03-15 | 2007-11-20 | Tabula, Inc | Hybrid logic/interconnect circuit in a configurable IC |
US7400183B1 (en) | 2005-05-05 | 2008-07-15 | Cypress Semiconductor Corporation | Voltage controlled oscillator delay cell and method |
US7358762B1 (en) | 2005-05-18 | 2008-04-15 | Xilinx, Inc. | Parallel interface for configuring programmable devices |
US7301822B1 (en) * | 2005-05-18 | 2007-11-27 | Xilinx, Inc. | Multi-boot configuration of programmable devices |
JP4900717B2 (ja) * | 2005-05-31 | 2012-03-21 | 富士ゼロックス株式会社 | 再構成可能な装置 |
US8089461B2 (en) | 2005-06-23 | 2012-01-03 | Cypress Semiconductor Corporation | Touch wake for electronic devices |
US7375550B1 (en) | 2005-07-15 | 2008-05-20 | Tabula, Inc. | Configurable IC with packet switch configuration network |
US7788478B2 (en) * | 2005-07-15 | 2010-08-31 | Tabula, Inc. | Accessing multiple user states concurrently in a configurable IC |
US7250786B1 (en) | 2005-07-19 | 2007-07-31 | Xilinx, Inc. | Method and apparatus for modular redundancy with alternative mode of operation |
US7212448B1 (en) | 2005-07-19 | 2007-05-01 | Xilinx, Inc. | Method and apparatus for multiple context and high reliability operation of programmable logic devices |
US7266020B1 (en) | 2005-07-19 | 2007-09-04 | Xilinx, Inc. | Method and apparatus for address and data line usage in a multiple context programmable logic device |
US7236000B1 (en) | 2005-10-18 | 2007-06-26 | Xilinx, Inc. | Method and apparatus for error mitigation of programmable logic device configuration memory |
US8463836B1 (en) | 2005-11-07 | 2013-06-11 | Tabula, Inc. | Performing mathematical and logical operations in multiple sub-cycles |
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 |
US7262633B1 (en) | 2005-11-11 | 2007-08-28 | Tabula, Inc. | Via programmable gate array with offset bit lines |
US7461362B1 (en) | 2005-12-01 | 2008-12-02 | Tabula, Inc. | Replacing circuit design elements with their equivalents |
US7679401B1 (en) | 2005-12-01 | 2010-03-16 | Tabula, Inc. | User registers implemented with routing circuits in a configurable IC |
US7489162B1 (en) | 2005-12-01 | 2009-02-10 | Tabula, Inc. | Users registers in a reconfigurable IC |
US7783467B2 (en) * | 2005-12-10 | 2010-08-24 | Electronics And Telecommunications Research Institute | Method for digital system modeling by using higher software simulator |
US8085067B1 (en) | 2005-12-21 | 2011-12-27 | Cypress Semiconductor Corporation | Differential-to-single ended signal converter circuit and method |
WO2007082730A1 (de) | 2006-01-18 | 2007-07-26 | Pact Xpp Technologies Ag | Hardwaredefinitionsverfahren |
US8090568B2 (en) * | 2006-02-21 | 2012-01-03 | Cadence Design Systems, Inc. | Hardware emulator having a variable input primitive |
US7797497B1 (en) | 2006-03-08 | 2010-09-14 | Tabula, Inc. | System and method for providing more logical memory ports than physical memory ports |
US7504858B1 (en) | 2006-03-08 | 2009-03-17 | Tabula, Inc. | Configurable integrated circuit with parallel non-neighboring offset connections |
US7518400B1 (en) | 2006-03-08 | 2009-04-14 | Tabula, Inc. | Barrel shifter implemented on a configurable integrated circuit |
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 |
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 |
US7529992B1 (en) | 2006-03-27 | 2009-05-05 | Tabula, Inc. | Configurable integrated circuit with error correcting circuitry |
US7930666B1 (en) | 2006-12-12 | 2011-04-19 | Tabula, Inc. | System and method of providing a memory hierarchy |
US7587697B1 (en) | 2006-12-12 | 2009-09-08 | Tabula, Inc. | System and method of mapping memory blocks in a configurable integrated circuit |
US7870472B2 (en) * | 2007-01-31 | 2011-01-11 | Sandisk 3D Llc | Methods and apparatus for employing redundant arrays to configure non-volatile memory |
US7870471B2 (en) * | 2007-01-31 | 2011-01-11 | Sandisk 3D Llc | Methods and apparatus for employing redundant arrays to configure non-volatile memory |
US7514957B2 (en) * | 2007-03-20 | 2009-04-07 | Tabula, Inc | Configurable IC having a routing fabric with storage elements |
US8112468B1 (en) | 2007-03-22 | 2012-02-07 | Tabula, Inc. | Method and apparatus for performing an operation with a plurality of sub-operations in a configurable IC |
US9564902B2 (en) | 2007-04-17 | 2017-02-07 | Cypress Semiconductor Corporation | Dynamically configurable and re-configurable data path |
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 |
US7737724B2 (en) | 2007-04-17 | 2010-06-15 | Cypress Semiconductor Corporation | Universal digital block interconnection and channel routing |
US8040266B2 (en) | 2007-04-17 | 2011-10-18 | Cypress Semiconductor Corporation | Programmable sigma-delta analog-to-digital converter |
US8130025B2 (en) | 2007-04-17 | 2012-03-06 | Cypress Semiconductor Corporation | Numerical band gap |
US8092083B2 (en) | 2007-04-17 | 2012-01-10 | Cypress Semiconductor Corporation | Temperature sensor with digital bandgap |
US8065653B1 (en) | 2007-04-25 | 2011-11-22 | Cypress Semiconductor Corporation | Configuration of programmable IC design elements |
US9720805B1 (en) | 2007-04-25 | 2017-08-01 | Cypress Semiconductor Corporation | System and method for controlling a target device |
US8266575B1 (en) | 2007-04-25 | 2012-09-11 | Cypress Semiconductor Corporation | Systems and methods for dynamically reconfiguring a programmable system on a chip |
US7501855B2 (en) * | 2007-06-27 | 2009-03-10 | Tabula, Inc | Transport network for a configurable IC |
US7595655B2 (en) * | 2007-06-27 | 2009-09-29 | Tabula, Inc. | Retrieving data from a configurable IC |
US8069425B2 (en) * | 2007-06-27 | 2011-11-29 | Tabula, Inc. | Translating a user design in a configurable IC for debugging the user design |
US8412990B2 (en) * | 2007-06-27 | 2013-04-02 | Tabula, Inc. | Dynamically tracking data values in a configurable IC |
US7652498B2 (en) * | 2007-06-27 | 2010-01-26 | Tabula, Inc. | Integrated circuit with delay selecting input selection circuitry |
US7579867B2 (en) * | 2007-06-27 | 2009-08-25 | Tabula Inc. | Restructuring data from a trace buffer of a configurable IC |
US7839162B2 (en) | 2007-06-27 | 2010-11-23 | Tabula, Inc. | Configurable IC with deskewing circuits |
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 |
US8990651B2 (en) * | 2007-09-19 | 2015-03-24 | Tabula, Inc. | Integrated circuit (IC) with primary and secondary networks and device containing such an IC |
US7996656B2 (en) * | 2007-09-25 | 2011-08-09 | Intel Corporation | Attaching and virtualizing reconfigurable logic units to a processor |
US7576561B1 (en) | 2007-11-13 | 2009-08-18 | Xilinx, Inc. | Device and method of configuring a device having programmable logic |
US7893772B1 (en) | 2007-12-03 | 2011-02-22 | Cypress Semiconductor Corporation | System and method of loading a programmable counter |
US8863067B1 (en) | 2008-02-06 | 2014-10-14 | Tabula, Inc. | Sequential delay analysis by placement engines |
GB2457912A (en) * | 2008-02-27 | 2009-09-02 | Silicon Basis Ltd | An FPGA which is reconfigured between each clock cycle |
JP5158187B2 (ja) * | 2008-02-28 | 2013-03-06 | 富士通株式会社 | ストレージ装置、ストレージ制御装置およびストレージ制御方法 |
US8166435B2 (en) | 2008-06-26 | 2012-04-24 | Tabula, Inc. | Timing operations in an IC with configurable circuits |
US8525548B2 (en) * | 2008-08-04 | 2013-09-03 | Tabula, Inc. | Trigger circuits and event counters for an IC |
EP2345160A4 (en) * | 2008-09-17 | 2016-11-16 | Altera Corp | CONTROLLABLE STORAGE ELEMENTS FOR INTEGRATED CIRCUIT |
US9448964B2 (en) | 2009-05-04 | 2016-09-20 | Cypress Semiconductor Corporation | Autonomous control in a programmable system |
US8072234B2 (en) | 2009-09-21 | 2011-12-06 | Tabula, Inc. | Micro-granular delay testing of configurable ICs |
WO2011123151A1 (en) | 2010-04-02 | 2011-10-06 | Tabula Inc. | System and method for reducing reconfiguration power usage |
US8760193B2 (en) | 2011-07-01 | 2014-06-24 | Tabula, Inc. | Configurable storage elements |
US9148151B2 (en) | 2011-07-13 | 2015-09-29 | Altera Corporation | Configurable storage elements |
US9203397B1 (en) | 2011-12-16 | 2015-12-01 | Altera Corporation | Delaying start of user design execution |
KR102059218B1 (ko) | 2012-05-25 | 2019-12-24 | 가부시키가이샤 한도오따이 에네루기 켄큐쇼 | 프로그래머블 로직 디바이스 및 반도체 장치 |
US8536896B1 (en) | 2012-05-31 | 2013-09-17 | Xilinx, Inc. | Programmable interconnect element and method of implementing a programmable interconnect element |
US8519741B1 (en) | 2012-07-06 | 2013-08-27 | Xilinx, Inc. | Operating a programmable integrated circuit with functionally equivalent configuration bitstreams |
KR101920719B1 (ko) * | 2012-11-19 | 2019-02-13 | 삼성전자주식회사 | 논리 장치, 논리 장치를 포함하는 디지털 필터 및 논리 장치를 제어하는 방법 |
US9330040B2 (en) | 2013-09-12 | 2016-05-03 | Qualcomm Incorporated | Serial configuration of a reconfigurable instruction cell array |
US9973265B2 (en) | 2014-04-30 | 2018-05-15 | The Boeing Company | Hitless rearrangement of a satellite-hosted switch via propagated synchronization |
US10523207B2 (en) * | 2014-08-15 | 2019-12-31 | Altera Corporation | Programmable circuit having multiple sectors |
US9954531B2 (en) * | 2015-03-03 | 2018-04-24 | Semiconductor Energy Laboratory Co., Ltd. | Electronic device |
US10509757B2 (en) * | 2016-09-22 | 2019-12-17 | Altera Corporation | Integrated circuits having expandable processor memory |
CN114816530A (zh) | 2017-03-20 | 2022-07-29 | 英特尔公司 | 用于点积操作的系统、方法和装置 |
WO2019009870A1 (en) | 2017-07-01 | 2019-01-10 | Intel Corporation | SAVE BACKGROUND TO VARIABLE BACKUP STATUS SIZE |
US12099462B1 (en) | 2023-12-08 | 2024-09-24 | Chariot Technologies Lab, Inc. | Dynamic processor architecture |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4670749A (en) * | 1984-04-13 | 1987-06-02 | Zilog, Inc. | Integrated circuit programmable cross-point connection technique |
US4879688A (en) * | 1985-03-04 | 1989-11-07 | Lattice Semiconductor Corporation | In-system programmable logic device |
JP2541248B2 (ja) * | 1987-11-20 | 1996-10-09 | 三菱電機株式会社 | プログラマブル・ロジック・アレイ |
US5212652A (en) * | 1989-08-15 | 1993-05-18 | Advanced Micro Devices, Inc. | Programmable gate array with improved interconnect structure |
US4972105A (en) * | 1989-09-22 | 1990-11-20 | The U.S. Government As Represented By The Director, National Security Agency | Programmable configurable logic memory |
JP2544020B2 (ja) * | 1990-11-19 | 1996-10-16 | 川崎製鉄株式会社 | プログラマブル論理素子 |
US5122685A (en) * | 1991-03-06 | 1992-06-16 | Quicklogic Corporation | Programmable application specific integrated circuit and logic cell therefor |
US5317209A (en) * | 1991-08-29 | 1994-05-31 | National Semiconductor Corporation | Dynamic three-state bussing capability in a configurable logic array |
CA2091860A1 (en) * | 1992-07-29 | 1994-01-30 | F. Erich Goetting | Configuration control unit for programming a field programmable gate array and reading array status |
US5329179A (en) * | 1992-10-05 | 1994-07-12 | Lattice Semiconductor Corporation | Arrangement for parallel programming of in-system programmable IC logical devices |
US5341044A (en) * | 1993-04-19 | 1994-08-23 | Altera Corporation | Flexible configuration logic array block for programmable logic devices |
US5430687A (en) * | 1994-04-01 | 1995-07-04 | Xilinx, Inc. | Programmable logic device including a parallel input device for loading memory cells |
-
1994
- 1994-04-20 US US08/231,009 patent/US5426378A/en not_active Expired - Lifetime
-
1995
- 1995-04-20 JP JP09522195A patent/JP3626239B2/ja not_active Expired - Lifetime
- 1995-04-22 EP EP04009807.1A patent/EP1455455B1/en not_active Expired - Lifetime
- 1995-04-22 EP EP95106039A patent/EP0678985B1/en not_active Expired - Lifetime
- 1995-04-22 DE DE69534812T patent/DE69534812T2/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0678985A3 (en) | 1997-07-23 |
DE69534812D1 (de) | 2006-04-27 |
EP1455455A2 (en) | 2004-09-08 |
US5426378A (en) | 1995-06-20 |
EP0678985A2 (en) | 1995-10-25 |
EP1455455A3 (en) | 2008-04-09 |
JPH0851356A (ja) | 1996-02-20 |
EP1455455B1 (en) | 2013-09-11 |
EP0678985B1 (en) | 2006-03-01 |
DE69534812T2 (de) | 2006-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3626239B2 (ja) | プログラマブルアレイ | |
US5081375A (en) | Method for operating a multiple page programmable logic device | |
US6198304B1 (en) | Programmable logic device | |
US5811986A (en) | Flexible synchronous/asynchronous cell structure for a high density programmable logic device | |
US7477072B1 (en) | Circuit for and method of enabling partial reconfiguration of a device having programmable logic | |
US4963768A (en) | Flexible, programmable cell array interconnected by a programmable switch matrix | |
JP3471088B2 (ja) | 改良されたプログラマブル論理セルアレイアーキテクチャ | |
US6105105A (en) | Data processing system using configuration select logic, an instruction store, and sequencing logic during instruction execution | |
US6501296B2 (en) | Logic/memory circuit having a plurality of operating modes | |
US5742180A (en) | Dynamically programmable gate array with multiple contexts | |
US5457409A (en) | Architecture of a multiple array high density programmable logic device with a plurality of programmable switch matrices | |
US7088134B1 (en) | Programmable logic device with flexible memory allocation and routing | |
US4942319A (en) | Multiple page programmable logic architecture | |
JPH09231788A (ja) | シフトレジスタ及びプログラマブル論理回路並びにプログラマブル論理回路システム | |
WO1996038917A1 (en) | Very high-density complex programmable logic devices with a multi-tiered hierarchical switch matrix and optimized flexible logic allocation | |
JPH07504797A (ja) | 論理積項の縦続接続および改良したフリップフロップ利用を伴うマクロセル | |
US4983959A (en) | Logic output macrocell | |
JP3325662B2 (ja) | 集積回路 | |
US6879185B2 (en) | Low power clock distribution scheme | |
US5021689A (en) | Multiple page programmable logic architecture | |
US6249149B1 (en) | Apparatus and method for centralized generation of an enabled clock signal for a logic array block of a programmable logic device | |
US6028446A (en) | Flexible synchronous and asynchronous circuits for a very high density programmable logic device | |
US6680871B1 (en) | Method and apparatus for testing memory embedded in mask-programmable logic device | |
US6642743B2 (en) | System for rapid configuration of a programmable logic device | |
US7663401B1 (en) | Multiplexer initialization systems and methods |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041014 |
|
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: 20041102 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041202 |
|
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: 20071210 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081210 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091210 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101210 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101210 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101210 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101210 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111210 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111210 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121210 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131210 Year of fee payment: 9 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |