JPH0851356A - プログラマブルアレイ - Google Patents

プログラマブルアレイ

Info

Publication number
JPH0851356A
JPH0851356A JP7095221A JP9522195A JPH0851356A JP H0851356 A JPH0851356 A JP H0851356A JP 7095221 A JP7095221 A JP 7095221A JP 9522195 A JP9522195 A JP 9522195A JP H0851356 A JPH0851356 A JP H0851356A
Authority
JP
Japan
Prior art keywords
output
data
configuration
storage means
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP7095221A
Other languages
English (en)
Other versions
JP3626239B2 (ja
Inventor
Randy T Ong
ティー. オング ランディー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xilinx Inc
Original Assignee
Xilinx Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xilinx Inc filed Critical Xilinx Inc
Publication of JPH0851356A publication Critical patent/JPH0851356A/ja
Application granted granted Critical
Publication of JP3626239B2 publication Critical patent/JP3626239B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/1733Controllable logic circuits
    • H03K19/1737Controllable logic circuits using multiplexers
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17704Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form the logic functions being realised by the interconnection of rows and columns
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • H03K19/17756Structural details of configuration resources for partial configuration or partial reconfiguration
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • H03K19/17758Structural details of configuration resources for speeding up configuration or reconfiguration
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • H03K19/1776Structural 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)

Abstract

(57)【要約】 【目的】 コンフィギャラブル論理ブロック及びコンフ
ィギャラブルルーチングマトリクスを内部的に再度コン
フィギュレーションを行って複数個の論理関数を実施さ
せることによりFPGAにおいて実現可能な論理関数の
数を増加させる。 【構成】 プログラマブル論理装置が二つ以上の完全な
組のコンフィギュレーションデータを格納すべく拡張さ
れたコンフィギュレーションメモリを有している。コン
フィギュレーションメモリの出力におけるスイッチがコ
ンフィギャラブル論理ブロックへ印加されるコンフィギ
ュレーションデータの選択を制御する。各コンフィギャ
ラブル論理ブロックは一組のコンフィギュレーションデ
ータ当たり1個のデータ格納装置を有している。コンフ
ィギャラブル論理ブロックはユーザのクロックサイクル
以内において再度コンフィギュレーションさせることが
可能である。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、大略、プログラマブル
即ちプログラム可能(書込み可能)な論理装置に関する
ものであって、更に詳細には、コンフィギャラブル即ち
コンフィギュレーション(形態)を構成可能な論理ブロ
ック及びプログラマブル即ちプログラム可能(書込み可
能)なルーチング(経路付け)マトリクス又はフィール
ドプログラマブルゲートアレイを再度コンフィギュレー
ション(即ち形態を特定)するための技術に関するもの
である。
【0002】
【従来の技術】フィールドプログラマブルゲートアレイ
(「FPGA」)などのプログラマブル(プログラム可
能、即ち書込み可能)論理装置を使用することが益々広
く行われるようになっている。なぜならば、その再書込
み可能特性によって与えられる柔軟性のためである。F
PGAは、典型的に、ユーザが所望する論理関数を与え
るために、プログラミング即ち書込みを行うことによっ
て互いに相互接続させることの可能なコンフィギャラブ
ル即ち形態を特定可能な論理ブロック(「CLB」)か
らなるアレイを有している。アメリカ合衆国、9512
4、カリフォルニア州、サンノゼ、ロジックドライブ、
2100に住所を有するザイリンクス、インコーポレイ
テッドから入手可能な「プログラマブル論理データブッ
ク(TheProgrammable Logic D
ata Book)」という名称のザイリンクスの19
93年データブックには、本願の出願人であるザイリン
クス、インコーポレイテッドによって製造されている幾
つかのFPGA製品について記載されている。このデー
タブックは、引用により本明細書に組込むこととする。
FPGAは、典型的に、同一の構成を有するCLBから
なる通常のアレイを有している。これらCLBの各々
は、多数の異なる論理関数のうちの何れか一つを実施す
るために個別的にプログラムすることが可能である。F
PGAは、所望のコンフィギュレーション即ち形態に基
づいてこれらのCLBを結合させるためにコンフィギャ
ラブル即ち形態を特定することの可能なルーチング(経
路付け)マトリクスを有している。FPGAは、更に、
多数のコンフィギュレーションメモリセルを有してい
る。これらのコンフィギュレーションメモリセルは、各
CLBによって実行される関数を特定するためにCLB
へ結合されると共に、CLBの入力及び出力の結合を特
定するためのコンフィギャラブル即ち形態を特定するこ
との可能なルーチングマトリクスへ結合されている。F
PGAは、更に、典型的に、FPGAの動作期間中にユ
ーザへアクセスすることの可能なデータ格納メモリセル
を有しているが、本明細書におけるメモリセルの説明は
コンフィギュレーションメモリセルに関してのものであ
る。各CLBが、該CLBが実施する関数を特定する幾
つかのメモリセルへ結合されており、且つその他のCL
Bはそれが結合されるものへ結合している。従って、メ
モリセル内に異なる値を格納することによって、各CL
Bはその関数及び結合に関して個別的にプログラムさせ
ることが可能である。
【0003】CLB及びコンフィギャラブルルーチング
マトリクスに対するコンフィギュレーションデータはコ
ンフィギュレーションメモリセル内に格納される。コン
フィギュレーションデータは、コンフィギュレーション
メモリセル内にロードされると、CLBによって実行さ
れる関数を選択し且つコンフィギャラブルルーチングマ
トリクスを接続させる。
【0004】最近、多様な適用例において使用される論
理回路の複雑性及び寸法が著しく増加している。単一の
集積回路チップ上に製造可能なCLBの数は制限されて
いるので、この様な回路要素の数の増加は単一のFPG
Aで実現することは不可能である。従って、CLBが論
理関数を実行する効率を改善することが必要である。既
存のFPGAのこの欠点を解消するための従来の一つの
アプローチは、複数個のFPGAを外部的に接続させる
ことであった。しかしながら、このアプローチは部分的
な解決方法にしか過ぎないものである。FPGA間の入
力/出力接続の数が制限されているので、このアプロー
チによって全ての回路を実現させることは不可能であ
る。更に、1個を超えた数のFPGAを使用すること
は、その回路を実現するために必要とされる電力消費、
コスト及び空間を増加させることとなる。
【0005】別の解決方法は、FPGA内のCLB及び
相互接続構成体の数を増加させることであった。何れか
の与えられた製造技術に対し、単一の集積回路チップ上
に製造することの可能なCLBの数には制限がある。従
って、アーキテクチャの観点から、FPGAに対しての
論理ゲート及びCLB密度を増加させることの必要性が
継続して存在している。
【0006】従来のFPGAは異なる時間において異な
る論理関数を実行するために再度コンフィギュレーショ
ン即ち形態を特定させることが可能であるが、その場合
にビットストリームを再度ロードさせることが必要であ
り、そのことは時間がかかる。FPGAを再度コンフィ
ギュレーションさせることは、論理関数の実行を中止さ
せ、FPGA外部のメモリ装置内にその論理関数の現在
の状態を格納させ、メモリコンフィギュレーションセル
からなるアレイを再度ロードさせ、且つ論理関数の状
態、及び何らかのその他の入力を入力させることが必要
である。コンフィギュレーションメモリセルを再度ロー
ドさせること自身、再度コンフィギュレーションを行う
ことが多くの回路を実現するのに有用なものでないよう
な長時間を必要とする。速度及び空間を犠牲にすること
なしに、FPGA内において実行される論理関数の数を
増加させることがより有益的である。
【0007】
【発明が解決しようとする課題】本発明は以上の点に鑑
みなされたものであって、上述した如き従来技術の欠点
を解消し、複数個の論理関数を実行するために内部的に
CLB及びコンフィギャラブルルーチングマトリクスを
再度コンフィギュレーション即ち再び形態を構成させる
ことによって、FPGA内において実現することの可能
な論理関数の数を増加させることを目的とする。
【0008】
【課題を解決するための手段】本発明は、コンフィギュ
レーションメモリセルからなる1個を超えた数のアレイ
及び該アレイの各々から交互にコンフィギュレーション
データを出力させるためのスイッチ、特別格納装置を具
備するCLB、コンフィギャラブルルーチングマトリク
スを有している。第一アレイは一組のコンフィギュレー
ションデータを格納し、第二アレイは第二組のコンフィ
ギュレーションデータを格納し、以下同様である。各C
LBは、第一アレイ内に格納されたデータに基づいてC
LBのコンフィギュレーション、即ち形態の特定が行わ
れる場合に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のユーザは、FPG
A10がそれに基づいて動作するクロック信号、即ちユ
ーザのクロックを入力させる。ユーザのクロック信号
(又は1個以上の信号)はライン44の一つ(又はそれ
以上)を介してFPGA10の全ての部分へ担持され
る。
【0014】各区画部分12はユーザの回路の一部を実
現するものである。各区画部分12の論理関数はそれの
それぞれのCLB14によって実行される。各CLB1
4、従って各区画部分12は、多数の異なる論理関数を
実行することが可能である。CLB14によって実行さ
れる論理関数は、CLB14に対応するコンフィギュレ
ーションメモリ16内に格納されたデータによって決定
される。CLB14は、論理関数データ及びコンフィギ
ュレーションデータ用の入力を有しており、且つ論理関
数データ用の出力を有している。
【0015】各CLB14はFPGA10の他のCLB
14及びFPGA10の入力及び出力へ、コンフィギャ
ラブルルーチングマトリクス18を介して結合されてい
る。コンフィギャラブルルーチングマトリクス18は、
コンフィギュレーションデータを受取るためのコンフィ
ギュレーション入力を有しており、且つそれに応答して
CLB14のデータ入力及び出力の結合状態を制御す
る。コンフィギュレーションメモリ16内に格納された
データに従って、コンフィギャラブルルーチングマトリ
クス18は、CLB14の出力及びFPGA10の入力
をCLB14のデータ入力へ選択的に接続させる。コン
フィギャラブルルーチングマトリクス18は、更に、C
LB14の出力をFPGA10の出力へ指向させる。
【0016】別々のサイクルに対して関数発生器出力を
別々にラッチする実施例においては、コンフィギャラブ
ルルーチングマトリクス18及びCLB14は従来技術
に基づいて構成された同等の装置よりも大きい。CLB
14の出力数は従来技術におけるよりも多く、従ってコ
ンフィギャラブルルーチングマトリクス18も、CLB
14の付加的な出力を受付けるためにより大きい。コン
フィギャラブルルーチングマトリクス18は対応するC
LB14及びその他のルーチングマトリクス18へ結合
される。
【0017】区画部分12の各CLB14及び各コンフ
ィギャラブルルーチングマトリクス18に対するコンフ
ィギュレーションデータは対応するコンフィギュレーシ
ョンメモリ16内に格納される。コンフィギュレーショ
ンデータはFPGA10外側からコンフィギュレーショ
ンメモリ16内へロードされ、且つ少なくとも1個の外
部ピンを有するシフトレジスタを介してロードさせるこ
とが可能である。この様なロード手段は、本願明細書に
引用により組込んだ米国再発行特許第34,363号
(Freeman)に記載されている。各コンフィギュ
レーションメモリ16の出力はそれのそれぞれのCLB
14及びコンフィギャラブルルーチングマトリクス18
へ結合される。
【0018】コンフィギュレーションメモリ 次に、図2を参照すると、従来のコンフィギュレーショ
ンメモリ15の一部を示したブロック図が示されてい
る。この従来のコンフィギュレーションメモリ15はア
レイ形態に配列された複数個のメモリセル20−1乃至
20−nを有している。図2は該アレイの一つの列22
を示している。実際のアレイは多数の列を有している。
【0019】各メモリセル20−1乃至20−nは二進
データからなる単一ビットを格納する。各メモリセル2
0−1乃至20−nはデータ入力と、データ出力と、ア
ドレス入力とを有している。アドレス信号に応答してデ
ータがメモリセル20−1乃至20−n内に格納され
る。データは、一度に一つの列毎にアレイ内に格納され
る。アドレス信号は各メモリセル20−1乃至20−n
のアドレス入力へ結合されているアドレスバス24を介
してメモリセル20−1乃至20−nへ供給される。従
って、同一の列22におけるメモリセル20−1乃至2
0−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を具備する
スイッチング手段を有している。第一組のメモリセル2
1−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を有している。本発明に基づいて、各CLB
14及びコンフィギャラブルルーチングマトリクス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の出力及び列2
6−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へ供給される
コンフィギュレーションデータは第一アレイ内に格納さ
れている第一組のコンフィギュレーションデータと第二
アレイ内に格納されている第二組のコンフィギュレーシ
ョンデータとの間で迅速にスイッチすることが可能であ
る。本実施例においては、このスイッチング動作は、C
LB14及びコンフィギャラブルルーチングマトリクス
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乃至4
6−nによってロードされる。マルチプレクサ28−1
乃至28−nは使用されていない。その代わりに、行出
力信号は列センスアンプ72−1乃至72−nによって
バッファされる。A/Bライン30はAアドレスライン
80及びBアドレスライン82で置換されている。Aア
ドレスライン80上の信号が「高」であり且つBアドレ
スライン82上の信号が「低」である場合には、SRA
Mセル行78−a内のデータはセンスアンプ72−1乃
至72−nへ供給され、次いでCLB14及びコンフィ
ギャラブルルーチングマトリクス18へ供給される。A
アドレスライン80上の信号が「低」であり且つBアド
レスライン82上の信号が「高」である場合には、SR
AMセル行78−b内のデータはセンスアンプ72−1
乃至72−nへ供給され、それは、次いでCLB14及
びコンフィギャラブルルーチングマトリクス18へ供給
される。当業者はAアドレスライン80上の信号及びB
アドレスライン82上の信号を交互に「高」に設定する
手段を発生させることが可能である。当業者にとって明
らかな如く、より多くのSRAMセル行78を付加し
て、二組を超えた組のコンフィギュレーションデータを
与え、従って、ユーザのクロックサイクル期間中にCL
B14及びコンフィギャラブルルーチングマトリクス1
8を再コンフィギュレーションさせることの可能な回数
を増加させることが可能である。
【0027】コンフィギャラブル論理ブロック 次に、図5を参照すると、従来のCLB13のブロック
図が示されている。従来のCLB13は、関数発生器3
4と、レジスタ36と、出力スイッチ38とを有してい
る。関数発生器34はコンフィギュレーションメモリ1
5内に格納したデータに従って幾つかの入力の論理関数
を実現する。特定の論理関数はコンフィギュレーション
データによって選択される。入力は従来のルーチングマ
トリクスへ結合される。コンフィギュレーションデータ
は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の一実施例
のブロック図が示されている。この実施例に基づくCL
B14は、関数発生器34と、第一データラッチ42a
と、第二データラッチ42bと、第一レジスタ36a
と、第二レジスタ36bと、第一出力スイッチ39a
と、第二出力スイッチ39bとを有している。好適に
は、第一データラッチ42a、第一レジスタ36a、第
一出力スイッチ39aが、関数発生器34が第一組のメ
モリセル21の出力でコンフィギュレーションが行われ
た場合(図3)に、関数発生器34の出力を与える。従
って、第一データラッチ42a又はレジスタ36aによ
って格納されているデータは、メモリセル23からの第
二組のコンフィギュレーションデータに基づいてCLB
14のコンフィギュレーションが行われた場合に、ユー
ザクロックサイクルの後半において使用することが可能
である。第二データラッチ42b、第二レジスタ36
b、第二スイッチ39bは、メモリセル23の第二組の
コンフィギュレーションデータに基づいてコンフィギュ
レーションが行われる場合に、関数発生器34の出力を
格納し且つルーチング即ち経路付けを行うために同様に
使用される。
【0030】関数発生器34は上述した図5のものと均
等である。関数発生器34のデータ入力はコンフィギャ
ラブルルーチングマトリクス18へ結合されており、且
つ制御入力は本発明のコンフィギュレーションメモリ1
6へ供給される。従って、関数発生器34は、CLB1
4の他の部分が再度コンフィギュレーションされる場合
に、制御信号によって再度コンフィギュレーションさせ
ることが可能である。第一データラッチ42aは二進ビ
ットのデータを格納するための従来のデータラッチであ
る。第一データラッチ42aはデータ入力(D)と、デ
ータ出力(Q)と、ラッチイネーブル入力(クロック入
力)とを有している。第一データラッチ42aのデータ
入力は関数発生器34の出力へ結合している。ラッチイ
ネーブル入力はA/Bライン30へ供給されてA/B信
号を受取る。第一データラッチ42aは、ラッチイネー
ブル入力へ印加される信号に応答して、データをラッチ
するか又はパス即ち通過させる。第一データラッチ42
aは、ユーザクロックサイクルの第一部分期間中にデー
タをパス即ち通過させ、且つユーザのクロックサイクル
の第二部分期間中にデータをラッチさせる。本実施例に
おいては、ラッチイネーブル信号が低状態へアサート即
ち活性化され、従ってデータは「高」A/B信号によっ
てパスされ且つ「低」A/B信号によってラッチされ
る。第二データラッチ42bは第一データラッチ42a
と同一の機能性及び構成を有している。第二データラッ
チ42bのデータ入力は関数発生器34の出力へ結合し
ている。しかしながら、第二データラッチ42bのラッ
チイネーブル入力はA/B_信号を受取るためにライン
68へ結合している。尚、本明細書において、英文字記
号の後にアンダーラインを付したものはその英文字記号
の反転信号であることを表わしている。第二データラッ
チ42bがそのラッチイネーブル入力において、第一デ
ータラッチ42aへ印加した信号の反転した信号を受取
るので、データラッチ42a,42bはユーザのクロッ
クサイクル期間中の反対の時間においてデータをパス及
びラッチする。
【0031】当業者にとって明らかな如く、ラッチ42
bのラッチイネーブル入力を駆動するために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個のデータ出力と、一対の制御入
力とを有している。第一データ入力は第二レジスタ36
bの出力へ結合しており、第二データ入力は第二データ
ラッチ42bの出力へ結合している。出力スイッチ39
bの第三入力は関数発生器34の出力へ結合している。
これらの制御入力は、これらの入力信号のうちの何れが
第二出力スイッチ39bから出力されるかを制御するた
めに、関連するメモリセル21,23又はコンフィギュ
レーションメモリ16内の31へ供給される。第二出力
スイッチ39bの出力はCLB14の出力のうちの一つ
を形成する。
【0035】本発明のこの実施例は、ユーザのクロック
の1サイクル期間中にCLB14が1個を超えた数の論
理関数を実行するように、CLB14を再度コンフィギ
ュレーション即ち形態特定させることによってFPGA
10により実現される論理関数の数を増加させている。
本発明の2期間実施例は、ユーザのクロックの1サイク
ルを二つの期間、即ちA期間とB期間とに分割してい
る。A期間及びB期間は、等しいものとさせることが可
能であるが、その様にすることは必ずしも必要ではな
い。A期間の期間中に、本発明の2期間実施例は、コン
フィギュレーションメモリ16の第一アレイ内に格納さ
れているコンフィギュレーションデータを使用して、C
LB14及びコンフィギャラブルルーチングマトリクス
18のコンフィギュレーション即ち形態特定を行う。次
いで、CLB14はそれらの論理関数を実行し、A期間
が終了する。B期間の期間中、CLB14及びコンフィ
ギャラブルルーチングマトリクス18は、コンフィギュ
レーションメモリ16の第二アレイ内に格納されている
コンフィギュレーションデータを印加することによって
再度コンフィギュレーションが行われる。次いで、CL
B14はそれらの論理関数を実行し、且つB期間及びユ
ーザクロックのサイクルが終了する。従って、本実施例
においては、FPGA10がユーザのクロックの1サイ
クル期間中に実行することの可能な論理関数の数を2倍
とさせている。
【0036】図6Aは、本発明が二組のコンフィギュレ
ーションデータを有する場合のCLB14を示してい
る。本発明は任意の数の組のコンフィギュレーションデ
ータを有することが可能である。各組のコンフィギュレ
ーションデータに対して、各CLB14は、出力信号を
発生するために、データラッチ42と、レジスタ36
と、スイッチ39とを包含する付加的な出力経路を有し
ている。
【0037】別の実施例においては、データラッチは、
それらの出力が関数発生器34の出力ではなく入力へ指
向されるように配設させることが可能である。この様な
実施例を図6Bに示してある。図6Bにおいては、ラッ
チ62a−62dがCLB17の入力に設けられてお
り、且つ二つの異なる動作期間の期間中にルーチングマ
トリクス18内に存在する信号を格納する。ラッチ62
a及び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個のCLB14
a,14b,14c,14dの一部が示されている。ル
ーチングマトリクス18におけるトランジスタはそれら
が接続させることの可能なラインの間に延在する短いラ
インによって表わされている。例えば、トランジスタT
61は、CLB14bにおける入力ラインI4とルーチ
ングラインR61との間に延在している。トランジスタ
T62はCLB14aにおけるマルチプレクサ39bの
出力をルーチングラインR61へ接続させることが可能
である。トランジスタT63は、ルーチングラインR6
1をルーチングラインR63へ接続させることが可能で
あり、且つトランジスタT64はルーチングラインR6
1をルーチングラインR64へ接続させることが可能で
ある。各トランジスタの制御は、コンフィギュレーショ
ンメモリ16から該トランジスタのゲートへのラインに
よって与えられる。図面において簡単化のために、ほと
んどのトランジスタには記号が付けられておらず、且つ
コンフィギュレーションメモリ16から各ゲートへの接
続はスイッチボックスS61,S62,S63,S64
の各々への単一のラインによって表わされている。その
他のルーチングマトリクスは引用により本明細書に導入
した1993年のザイリンクスのデータブックに示され
ている。図6Cの目的は、ルーチングマトリクス18
と、CLB14と、コンフィギュレーションメモリ16
からのコンフィギュレーションラインとの間の関係を例
示することである。図6Cの新規な側面は、コンフィギ
ュレーションメモリ16からの信号がCLB14を再度
コンフィギュレーションすることに関連してルーチング
マトリクス18を再度コンフィギュレーションすること
が可能であり、その際に上述した如く一つを超えた接続
に対してルーチングマトリクス18内の同一のルーチン
グラインを使用することを可能としているという点であ
る。
【0039】動作モード 本発明はCLB14の三つの動作モードを与える。CL
B14はシンプルで、高速で、非同期な組合わせ論理機
能を実現するために使用することが可能である。この第
一モードは、第一アレイ内に格納されているコンフィギ
ュレーションデータが第二アレイ内に格納されているコ
ンフィギュレーションデータと同一である場合に存在す
る。このモードにおいては、第一及び第二出力スイッチ
39a,39bは、関数発生器34によって出力される
データを直接的に受取り且つパスするようにコンフィギ
ュレーションがなされる。B出力経路は、使用されるこ
とがないか、又はスイッチ39a,39bの出力が共通
結合されて単一の出力経路を形成する。ライン30上の
A/B信号及びライン44上のユーザのクロック信号を
アサート即ち活性化させることが可能であるが、この第
一モードはデータラッチ42a,42b及びレジスタ3
6a,36bを使用するものではない。従って、A/B
信号及びユーザのクロック信号は無視される。このモー
ドはFPGA10によって実現される論理関数の数を増
加させるという本発明の能力を使用するものではない。
【0040】第二動作モードは高速レジスタ型モードで
ある。このモードは同期的である。高速非同期モードの
場合における如く、この第二モードは、第一及び第二ア
レイ内に格納されているコンフィギュレーションデータ
が同一である場合に存在する。A/B信号はアサート即
ち活性化されることはなく(高状態に保持される)、従
って第一データラッチ42aは、ユーザのクロックサイ
クルのA期間及びB期間の両方の期間中に第一レジスタ
36aへデータをパス即ち通過させる。次いで、ユーザ
クロックの次の上昇エッジにおいて、第一データラッチ
42aを介してパスされたデータが第一レジスタ36a
内へクロック入力される。このモードにおいては、CL
B14の出力は、ユーザのクロックの次のサイクルの開
始まで変化することはない。このモードはB出力経路を
使用することはなく、且つ本発明のFPGA10によっ
て実現される論理関数の数を増加させるための本発明の
能力を利用するものではない。
【0041】次に、図7を参照して第三モードについて
説明する。図7は、本発明のFPGA10における再コ
ンフィギュレーション制御信号を示したタイミング線図
である。図7は、例示的なユーザクロックの二つのサイ
クル、例示的なA/B信号の二つのサイクル、例示的な
A/B′信号の二つのサイクル、ラッチ42aの四つの
例示的な状態、ラッチ42bの四つの例示的な状態、レ
ジスタ36aの二つの例示的な出力、及びレジスタ36
bの二つの例示的な出力を示している。A/B及びA/
B′信号がユーザのクロックのサイクルにおける中間点
2における遷移に対して示されているが、この様な分
割は必ずしも必要なものではない。A/B信号は、ユー
ザのクロックの1サイクルを多数の中間点において分割
することが可能である。この分割に関する制限は、A期
間及びB期間の両方が十分に長いものであって、FPG
A10における全ての信号がCLB14を介して伝搬し
且つ問題なく格納が行われるのに十分に長い間ラッチ及
びレジスタの入力において信号がセットアップされるよ
うに安定化するものでなければならないということであ
る。
【0042】図7はCLB14の第三動作モードを説明
するのに有用である。この第三動作モードはFPGA1
0によって実行される論理関数の数を増加させる本発明
の能力を利用するものである。この第三モードにおいて
は、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はその入力
においてデータをラッチし、且つ第二データラッチ42
bはその入力においてデータをパスさせる。
【0045】ユーザのクロックの次のサイクルの開始時
3において、A/B信号は再度遷移を行う。再度、C
LB14及びコンフィギャラブルルーチングマトリクス
18は、第一組のコンフィギュレーションデータに従っ
て再コンフィギュレーションが行われる。第一データラ
ッチ42aがデータをパスし、且つ第二データラッチ4
2bがデータをラッチする。ユーザのクロック及びA/
B信号の上昇エッジにおいて、第一及び第二レジスタ3
6a,36bがデータをクロック入力させる。レジスタ
36aはデータラッチ42aからラッチされたデータを
クロック入力し、且つレジスタ36bはデータラッチ4
2bからのパスデータをクロック入力させる。従って、
第一レジスタ36aは、第一組のコンフィギュレーショ
ンデータに従ってユーザのクロックの最初の部分の期間
中にコンフィギュレーションが行われた場合に関数発生
器34の出力を格納する。第二レジスタ36bは第二組
のコンフィギュレーションデータに従ってユーザのクロ
ックの後の部分の期間中にコンフィギュレーションがさ
れた場合に関数発生器34の出力を格納する。
【0046】A/B信号の各遷移上において、第一及び
第二出力スイッチ39a,39bは再度コンフィギュレ
ーションが行われる。多くの適用場面において、出力ス
イッチ39a及び39bはユーザクロックサイクル期間
中に再度コンフィギュレーションが行われることはな
い。しかしながら、図6Aの実施例においては、その構
造が出力スイッチの再コンフィギュレーションを行うこ
とを可能としており、且つ幾つかの適用例においてはそ
のことが望ましい場合がある。例えば、スイッチ39a
は、A期間中に関数発生器34からのデータをパスし且
つB期間中にレジスタ36aからのデータをパスさせる
場合がある。一方、スイッチ39bは両方の期間中にラ
ッチ42bからのデータをパスさせる場合がある。
【0047】ルーチングマトリクス18もA/B信号の
各遷移において再コンフィギュレーションされる。CL
B14の場合における如く、A期間中に、CLB14へ
の入力はB期間中におけるものと異なる供給源から来る
ことが可能である。A/B信号の各遷移において、ルー
チングマトリクスは再コンフィギュレーションが行われ
て、正しい入力を各CLB14へ供給し且つCLB14
の出力を正確にルーチング即ち経路付けさせる。
【0048】本発明のFPGA10の全ての区画部分1
2が同一のモードでコンフィギュレーションが行われる
ことが必要なものではない。幾つかの区画部分12は高
速非同期モードでコンフィギュレーションさせ、他のも
のを高速レジスタ型モードでコンフィギュレーションさ
せ、更に他のものをパイプラインモードでコンフィギュ
レーションさせることが可能である。従って、CLB1
4は従来の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を参照すると、従来のFPG
Aを使用して3ビットカウンタを実現する場合のブロッ
ク図が示されている。この具体例は、従来の区画部分1
1−1,11−2,11−3,11−4を有している。
コンフィギャラブルルーチングマトリクス70−1,7
0−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は関数発生器3
4−2の出力である方程式の3入力2レベルレジタル関
数を関数発生器34−2が実現するようにコンフィギュ
レーションが行われている。第二の従来のCLB13−
2の出力スイッチ(図5の出力スイッチ38参照)は、
レジスタ36−2の出力をパスさせるようにコンフィギ
ュレーションがなされている。第三の従来のCLB13
−3は、関数発生器34−3が該信号を出力C_へ反転
させ、且つ出力スイッチ38−3(不図示)がレジスタ
36−3の出力をパスさせるようにコンフィギュレーシ
ョンがなされている。従来のCLB13−4は3入力A
ND関数A_BCを実現するためにコンフィギュレーシ
ョンがなされている。従来のCLB13−4の出力スイ
ッチは、関数発生器34−4の出力をパスするようにコ
ンフィギュレーションがなされている。コンフィギャラ
ブルルーチングマトリクス70−1,70−2,70−
3,70−4は図9のカウンタを形成するために黒点に
よって表わされているように接続されている。
【0054】次に、図11を参照すると、本発明のFP
GA10を使用した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と均等なC
LB14−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】 プログラマブルアレイにおいて、 第一組のコンフィギュレーションデータを格納するため
    の第一格納手段と、第二組のコンフィギュレーションデ
    ータを格納するための第二格納手段と、前記第一組及び
    第二組のコンフィギュレーションデータのうちの一つを
    出力すべく結合されているスイッチング手段とを具備す
    るコンフィギュレーションメモリ、 コンフィギュレーションデータに応答して選択的に導電
    性ラインを結合させ、前記スイッチング手段へ結合した
    コンフィギュレーション入力を具備するコンフィギャラ
    ブルルーチングマトリクス、を有することを特徴とする
    プログラマブルアレイ。
  2. 【請求項2】 請求項1において、更に、少なくとも1
    個のコンフィギュレーション入力と、少なくとも1個の
    データ入力と、前記第一組及び第二組のコンフィギュレ
    ーションデータに応答して入力データに関して論理演算
    を実行するための少なくとも1個のデータ出力とを具備
    するコンフィギャラブル論理ブロックが設けられてお
    り、前記コンフィギャラブル論理ブロックのコンフィギ
    ュレーション入力は前記スイッチング手段の出力へ結合
    されていることを特徴とするプログラマブルアレイ。
  3. 【請求項3】 請求項2において、前記コンフィギュレ
    ーションメモリが、更に、第三組のコンフィギュレーシ
    ョンデータを格納するための第三格納手段を有すること
    を特徴とするプログラマブルアレイ。
  4. 【請求項4】 請求項2において、前記スイッチング手
    段が、ユーザクロックサイクルの第一部分の期間中に、
    前記第一格納手段を前記コンフィギャラブル論理ブロッ
    ク及び前記コンフィギャラブルルーチングマトリクスへ
    結合させ、且つ前記スイッチング手段が、前記ユーザク
    ロックサイクルの第二部分期間中に、前記第二格納手段
    を前記コンフィギャラブル論理ブロック及び前記コンフ
    ィギャラブルルーチングマトリクスへ結合させることを
    特徴とするプログラマブルアレイ。
  5. 【請求項5】 請求項2において、前記コンフィギュレ
    ーションメモリが二つを超えた数の格納手段を有してお
    り、且つ前記スイッチング手段が、ユーザクロックサイ
    クルのそれぞれの部分の期間中に、各格納手段を前記コ
    ンフィギャラブル論理ブロック及び前記コンフィギャラ
    ブルルーチングマトリクスへ選択的に結合させることを
    特徴とするプログラマブルアレイ。
  6. 【請求項6】 請求項2において、前記スイッチング手
    段が、第一時間期間中に、前記第一格納手段を前記コン
    フィギャラブル論理ブロック及び前記コンフィギャラブ
    ルルーチングマトリクスへ、且つ第二時間期間中に前記
    第二格納手段を前記コンフィギャラブル論理ブロック及
    び前記コンフィギャラブルルーチングマトリクスヘ選択
    的に結合させ、前記第一及び第二時間期間が連続的であ
    ることを特徴とするプログラマブルアレイ。
  7. 【請求項7】 請求項6において、前記連続する時間期
    間の各々が少なくともユーザクロックサイクルの長さで
    あることを特徴とするプログラマブルアレイ。
  8. 【請求項8】 請求項1において、 前記第一格納手段が複数個のメモリセルを有しており、
    各メモリセルが入力と出力とを具備しており、各メモリ
    セルが前記第一組のコンフィギュレーションデータの1
    個のビットを格納し、 前記第二格納手段が複数個のメモリセルを有しており、
    各メモリセルが入力と出力とを具備しており、各メモリ
    セルが前記第二組のコンフィギュレーションデータの1
    個のビットを格納する、ことを特徴とするプログラマブ
    ルアレイ。
  9. 【請求項9】 請求項8において、前記メモリセルがス
    タチックランダムアクセスメモリセルであることを特徴
    とするプログラマブルアレイ。
  10. 【請求項10】 請求項8において、前記メモリセルが
    ヒューズであることを特徴とするプログラマブルアレ
    イ。
  11. 【請求項11】 請求項8において、前記メモリセルが
    アンチヒューズであることを特徴とするプログラマブル
    アレイ。
  12. 【請求項12】 請求項8において、前記メモリセルが
    EPROMセルであることを特徴とするプログラマブル
    アレイ。
  13. 【請求項13】 請求項8において、前記メモリセルが
    EEPROMセルであることを特徴とするプログラマブ
    ルアレイ。
  14. 【請求項14】 請求項8において、前記第一格納手段
    における各メモリセルが前記第二格納手段において対応
    するメモリセルを有することを特徴とするプログラマブ
    ルアレイ。
  15. 【請求項15】 請求項8において、前記コンフィギュ
    レーションメモリが、更に、前記第一格納手段及び前記
    第二格納手段に加えて複数個のメモリセルを有してお
    り、前記複数個のメモリセルが、更に、前記ルーチング
    マトリクスのコンフィギュレーションを行うことを特徴
    とするプログラマブルアレイ。
  16. 【請求項16】 請求項1において、前記スイッチング
    手段がマルチプレクサであることを特徴とするプログラ
    マブルアレイ。
  17. 【請求項17】 請求項1において、前記スイッチング
    手段が1個のセンスアンプと複数個のアドレスラインと
    を有していることを特徴とするプログラマブルアレイ。
  18. 【請求項18】 請求項1において、前記スイッチング
    手段が複数個のスイッチを有しており、各スイッチは前
    記第一格納手段におけるコンフィギュレーションメモリ
    セルへ結合した第一データ入力と、前記第二格納手段に
    おける対応するコンフィギュレーションメモリセルへ結
    合した第二データ入力と、前記コンフィギュレーション
    メモリの出力を形成する出力とを具備していることを特
    徴とするプログラマブルアレイ。
  19. 【請求項19】 請求項18において、前記複数個のス
    イッチが複数個の2対1マルチプレクサを有することを
    特徴とするプログラマブルアレイ。
  20. 【請求項20】 請求項2において、前記コンフィギャ
    ラブル論理ブロックが、 コンフィギュレーションデータによって特定された論理
    関数を実施するための関数発生器であって、前記スイッ
    チング手段へ結合した少なくとも1個のコンフィギュレ
    ーション入力と、前記コンフィギャラブルルーチングマ
    トリクスへ結合した少なくとも1個のデータ入力と、少
    なくとも1個のデータ出力とを具備する関数発生器、 第一期間からの前記関数発生器の出力を格納する第一出
    力装置であって、前記関数発生器の出力へ結合したデー
    タ入力と、データ出力とを具備する第一出力装置、 第二期間からの前記関数発生器の出力を格納する第二出
    力装置であって、前記関数発生器の出力へ結合したデー
    タ入力と、データ出力とを具備する第二出力装置、を有
    することを特徴とするプログラマブルアレイ。
  21. 【請求項21】 請求項20において、前記第一出力装
    置が、更に、前記コンフィギュレーションメモリへ結合
    したコンフィギュレーション入力を有しており、且つ前
    記第二出力装置が、更に、前記コンフィギュレーション
    メモリへ結合したコンフィギュレーション入力を有して
    いることを特徴とするプログラマブルアレイ。
  22. 【請求項22】 請求項20において、前記第一及び第
    二出力装置の出力が前記コンフィギャラブルルーチング
    マトリクスへ結合されていることを特徴とするプログラ
    マブルアレイ。
  23. 【請求項23】 請求項20において、前記第一出力装
    置が、前記コンフィギュレーションメモリの第一格納手
    段内に格納された前記第一組のデータでコンフィギュレ
    ーションが行われた前記関数発生器の出力を選択的に格
    納し且つ出力し、且つ前記第二出力装置が、前記コンフ
    ィギュレーションメモリの第二格納手段内に格納された
    第二組のデータでコンフィギュレーションされた前記関
    数発生器の出力を選択的に格納及び出力することを特徴
    とするプログラマブルアレイ。
  24. 【請求項24】 請求項20において、前記第一出力装
    置が、ラッチイネーブル入力における信号に応答してデ
    ータを格納及び通過させるラッチであって、前記関数発
    生器の出力へ結合したデータ入力と、ラッチイネーブル
    入力と、データ出力とを具備するラッチ、 前記ラッチのデータ出力へ結合したデータ入力と、クロ
    ック信号を受取るべく結合されたクロック入力と、デー
    タ出力とを具備しており、前記クロック入力におけるク
    ロック信号に応答してデータを格納するレジスタと、 複数個のデータ入力と、コンフィギュレーション入力
    と、データ出力とを具備しており、複数個の信号のうち
    の一つを出力させる出力スイッチ、を有することを特徴
    とするプログラマブルアレイ。
  25. 【請求項25】 請求項24において、前記出力スイッ
    チの第一データ入力が前記ラッチの出力へ結合してお
    り、且つ前記出力スイッチの第二データ入力が前記レジ
    スタの出力へ結合しており、前記出力スイッチのコンフ
    ィギュレーション入力が前記コンフィギュレーションメ
    モリへ結合しており、且つ前記出力スイッチの出力が前
    記コンフィギャラブルルーチングマトリクスへ結合して
    いることを特徴とするプログラマブルアレイ。
  26. 【請求項26】 請求項25において、前記出力スイッ
    チの第三データ入力が前記関数発生器の出力へ結合して
    いることを特徴とするプログラマブルアレイ。
  27. 【請求項27】 請求項24において、前記第二出力装
    置が、 ラッチイネーブル入力における信号に応答してデータを
    格納及び通過させるラッチであって、前記関数発生器の
    出力へ結合したデータ入力と、ラッチイネーブル入力
    と、データ出力とを具備するラッチ、 前記ラッチのデータ出力へ結合したデータ入力と、クロ
    ック信号を受取るべく結合されたクロック入力と、デー
    タ出力とを具備しており、前記クロック入力におけるク
    ロック信号に応答してデータを格納するレジスタ、 複数個のデータ入力と、コンフィギュレーション入力
    と、データ出力とを具備しており、複数個の信号のうち
    の一つを出力させる出力スイッチ、を有しており、前記
    出力スイッチの第一データ入力が前記関数発生器の出力
    へ結合しており、前記出力スイッチの第二データ入力が
    前記ラッチの出力へ結合しており、且つ前記出力スイッ
    チの第三入力が前記レジスタの出力へ結合しており、前
    記出力スイッチのコンフィギュレーション入力が前記コ
    ンフィギュレーションメモリへ結合しており、且つ前記
    出力スイッチの出力が前記コンフィギャラブルルーチン
    グマトリクスへ結合していることを特徴とするプログラ
    マブルアレイ。
  28. 【請求項28】 請求項24において、前記出力スイッ
    チがマルチプレクサであることを特徴とするプログラマ
    ブルアレイ。
  29. 【請求項29】 プログラマブルアレイにおいて、 第一組のコンフィギュレーションデータを格納するため
    の第一格納手段、第二組のコンフィギュレーションデー
    タを格納するための第二格納手段、前記第一組及び第二
    組のコンフィギュレーションデータのうちの一つを出力
    すべく結合されたスイッチング手段とを具備するコンフ
    ィギュレーションメモリ、 前記スイッチング手段の出力へ結合したコンフィギュレ
    ーション入力と、データ入力と、前記第一組及び第二組
    のコンフィギュレーションデータに応答して入力データ
    に関し論理関数を実行するためのコンフィギャラブル論
    理ブロック、を有することを特徴とするプログラマブル
    アレイ。
  30. 【請求項30】 プログラマブルアレイにおいて、 論理信号を供給する手段、 前記論理信号を受取る第一格納手段、 前記論理信号を受取る第二格納手段、 第一時間期間中に前記第一格納手段を介して前記論理信
    号を通過させ且つ第二時間期間中に前記第二格納手段を
    介して前記論理信号を通過させる手段、 第一時間期間及び第二時間期間中に前記第一及び第二格
    納手段の出力を異なるラインへ結合させる手段、を有す
    ることを特徴とするプログラマブルアレイ。
  31. 【請求項31】 請求項30において、前記異なるライ
    ンが第一ラインと、第二ラインと、第三ラインと、第四
    ラインとを有しており、前記結合させる手段が、前記第
    一格納手段の出力を、前記第一時間期間中に前記第一ラ
    インへ及び前記第二時間期間中に前記第三ラインへ結合
    させ、且つ前記結合させる手段が、前記第二格納手段の
    出力を、前記第一時間期間中に前記第二ラインへ及び前
    記第二時間期間中に前記第四ラインへ結合させることを
    特徴とするプログラマブルアレイ。
  32. 【請求項32】 請求項30において、前記第一格納手
    段が第一ラッチであり且つ前記第二格納手段が第二ラッ
    チであることを特徴とするプログラマブルアレイ。
  33. 【請求項33】 請求項32において、前記第一ラッチ
    が第一期間中にルーチングマトリクス内の1本のライン
    へ接続され、且つ前記第二ラッチが第二期間中に前記ル
    ーチングマトリクス内の前記ラインへ接続されることを
    特徴とするプログラマブルアレイ。
  34. 【請求項34】 プログラマブルアレイにおいて、 論理信号を供給する手段、 前記論理信号を受取る第一格納手段、 前記論理信号を受取る第二格納手段、 第一時間期間中に前記第一格納手段を介して前記論理信
    号を通過させ且つ第二時間期間中に前記第二格納手段を
    介して前記論理信号を通過させる手段、 第一時間期間中に前記第一格納手段の出力を少なくとも
    1個のルーチングラインへ結合させ且つ第二時間期間中
    に前記第二格納手段の出力を同一の少なくとも1個のル
    ーチングラインへ結合させる手段、を有することを特徴
    とするプログラマブルアレイ。
  35. 【請求項35】 請求項34において、前記第一格納手
    段が第一ラッチであり且つ前記第二格納手段が第二ラッ
    チであることを特徴とするプログラマブルアレイ。
JP09522195A 1994-04-20 1995-04-20 プログラマブルアレイ Expired - Lifetime JP3626239B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US231009 1994-04-20
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

Publications (2)

Publication Number Publication Date
JPH0851356A true JPH0851356A (ja) 1996-02-20
JP3626239B2 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)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6281703B1 (en) 1999-01-28 2001-08-28 Nec Corporation Programmable device with an array of programmable cells and interconnection network
US6356109B1 (en) 1999-02-10 2002-03-12 Nec Corporation Programmable device
WO2002095946A1 (en) * 2001-05-24 2002-11-28 Ip Flex Inc. Integrated circuit device
JP2004505488A (ja) * 2000-07-25 2004-02-19 ザイリンクス インコーポレイテッド Fpgaを部分的に再構成するためのアーキテクチャおよび方法
JP2006163522A (ja) * 2004-12-02 2006-06-22 Nec Electronics Corp コピー防止回路装置およびコピー防止方法
WO2006129722A1 (ja) * 2005-05-31 2006-12-07 Ipflex Inc. 再構成可能な装置

Families Citing this family (284)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020130681A1 (en) * 1991-09-03 2002-09-19 Cliff Richard G. Programmable logic array integrated circuits
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
US5477172A (en) * 1994-12-12 1995-12-19 Advanced Micro Devices, Inc. Configurable input buffer dependent on supply voltage
US6052773A (en) * 1995-02-10 2000-04-18 Massachusetts Institute Of Technology DPGA-coupled microprocessors
US5742180A (en) * 1995-02-10 1998-04-21 Massachusetts Institute Of Technology Dynamically programmable gate array with multiple contexts
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
US5784313A (en) * 1995-08-18 1998-07-21 Xilinx, Inc. Programmable logic device including configuration data or user data memory slices
US5838954A (en) * 1995-08-18 1998-11-17 Xilinx, Inc. Computer-implemented method of optimizing a time multiplexed programmable logic device
US5583450A (en) * 1995-08-18 1996-12-10 Xilinx, Inc. Sequencer for a time multiplexed programmable logic device
US5646545A (en) * 1995-08-18 1997-07-08 Xilinx, Inc. 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
US5600263A (en) * 1995-08-18 1997-02-04 Xilinx, Inc. Configuration modes 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
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
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
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
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
DE19654593A1 (de) * 1996-12-20 1998-07-02 Pact Inf Tech Gmbh Umkonfigurierungs-Verfahren für programmierbare Bausteine zur Laufzeit
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
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
ATE243390T1 (de) 1996-12-27 2003-07-15 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
US6047115A (en) * 1997-05-29 2000-04-04 Xilinx, Inc. Method for configuring FPGA memory planes for virtual hardware computation
US6421817B1 (en) 1997-05-29 2002-07-16 Xilinx, Inc. System and method of computation in a programmable logic device using virtual instructions
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
US6020760A (en) 1997-07-16 2000-02-01 Altera Corporation I/O buffer circuit with pin multiplexing
US6011744A (en) * 1997-07-16 2000-01-04 Altera Corporation Programmable logic device with multi-port memory
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
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
US5986467A (en) * 1997-10-31 1999-11-16 Xilinx, Inc. Time-multiplexed programmable logic devices
US6122719A (en) * 1997-10-31 2000-09-19 Silicon Spice Method and apparatus for retiming 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
US6262933B1 (en) 1999-01-29 2001-07-17 Altera Corporation High speed programmable address decoder
US7003660B2 (en) 2000-06-13 2006-02-21 Pact Xpp Technologies Ag Pipeline configuration unit protocols and communication
US6407576B1 (en) 1999-03-04 2002-06-18 Altera Corporation Interconnection and input/output resources for programmable logic integrated circuit devices
DE10081643D2 (de) 1999-06-10 2002-05-29 Pact Inf Tech Gmbh Sequenz-Partitionierung auf Zellstrukturen
US6486702B1 (en) 1999-07-02 2002-11-26 Altera Corporation 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
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
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
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
US6825689B1 (en) 2000-10-26 2004-11-30 Cypress Semiconductor Corporation Configurable input/output interface for a microcontroller
US6603330B1 (en) * 2000-10-26 2003-08-05 Cypress Semiconductor Corporation Configuring digital functions in a digital configurable macro architecture
US8160864B1 (en) 2000-10-26 2012-04-17 Cypress Semiconductor Corporation In-circuit emulator and pod synchronized boot
US7765095B1 (en) 2000-10-26 2010-07-27 Cypress Semiconductor Corporation Conditional branching in an in-circuit emulation system
US6507214B1 (en) 2000-10-26 2003-01-14 Cypress Semiconductor Corporation Digital configurable macro architecture
US8176296B2 (en) 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
US20020083331A1 (en) * 2000-12-21 2002-06-27 802 Systems, Inc. Methods and systems using PLD-based network communication protocols
US20020080784A1 (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.)
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
US7444531B2 (en) 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US9552047B2 (en) 2001-03-05 2017-01-24 Pact Xpp Technologies Ag Multiprocessor having runtime adjustable clock and clock dependent power supply
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US7581076B2 (en) 2001-03-05 2009-08-25 Pact Xpp Technologies Ag Methods and devices for treating and/or processing data
US7210129B2 (en) 2001-08-16 2007-04-24 Pact Xpp Technologies Ag Method for translating programs for reconfigurable architectures
US9250908B2 (en) 2001-03-05 2016-02-02 Pact Xpp Technologies Ag Multi-processor bus and cache interconnection system
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
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
WO2002103532A2 (de) 2001-06-20 2002-12-27 Pact Xpp Technologies Ag Verfahren zur bearbeitung von daten
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
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
US6971004B1 (en) 2001-11-19 2005-11-29 Cypress Semiconductor Corp. System and method of dynamically reconfiguring a programmable integrated circuit
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
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
EP1324495B1 (en) * 2001-12-28 2011-03-30 Fujitsu Semiconductor Limited Programmable logic device with ferrroelectric configuration memories
AU2003208266A1 (en) 2002-01-19 2003-07-30 Pact Xpp Technologies Ag Reconfigurable processor
WO2003071432A2 (de) 2002-02-18 2003-08-28 Pact Xpp Technologies Ag Bussysteme und rekonfigurationsverfahren
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
US9170812B2 (en) 2002-03-21 2015-10-27 Pact Xpp Technologies Ag Data processing system having integrated pipelined array data processor
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
AU2003286131A1 (en) 2002-08-07 2004-03-19 Pact Xpp Technologies Ag Method and device for processing data
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
US7613900B2 (en) * 2003-03-31 2009-11-03 Stretch, Inc. Systems and methods for selecting input/output configuration in an integrated circuit
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
US7581081B2 (en) 2003-03-31 2009-08-25 Stretch, Inc. Systems and methods for software extensible multi-processing
US7590829B2 (en) * 2003-03-31 2009-09-15 Stretch, Inc. Extension adapter
US8001266B1 (en) 2003-03-31 2011-08-16 Stretch, Inc. Configuring a multi-processor system
JP4665760B2 (ja) * 2003-06-25 2011-04-06 日本電気株式会社 電子計算機、半導体集積回路、制御方法、プログラムの生成方法、及びプログラム
US7796464B1 (en) 2003-06-27 2010-09-14 Cypress Semiconductor Corporation Synchronous memory with a shadow-cycle counter
US7418575B2 (en) * 2003-07-29 2008-08-26 Stretch, Inc. Long instruction word processing with instruction extensions
US7373642B2 (en) * 2003-07-29 2008-05-13 Stretch, Inc. Defining instruction extensions in a standard programming language
JP4700611B2 (ja) 2003-08-28 2011-06-15 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト データ処理装置およびデータ処理方法
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
US7425841B2 (en) 2004-02-14 2008-09-16 Tabula Inc. Configurable circuits, IC's, and systems
US7126381B1 (en) 2004-02-14 2006-10-24 Herman Schmit VPA interconnect circuit
US7109752B1 (en) * 2004-02-14 2006-09-19 Herman Schmit Configurable circuits, IC's, and systems
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
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
US7439766B2 (en) * 2004-06-30 2008-10-21 Tabula, Inc. Configurable logic circuits with commutative properties
US7408382B2 (en) * 2004-06-30 2008-08-05 Tabula, Inc. Configurable circuits, IC's, and systems
JP4546775B2 (ja) * 2004-06-30 2010-09-15 富士通株式会社 時分割多重処理可能なリコンフィギュラブル回路
US7282950B1 (en) * 2004-11-08 2007-10-16 Tabula, Inc. Configurable IC's with logic resources with offset connections
US7145361B1 (en) * 2004-06-30 2006-12-05 Andre Rohe Configurable integrated circuit with different connection schemes
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
US7449915B2 (en) * 2004-06-30 2008-11-11 Tabula Inc. VPA logic circuits
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
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
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
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
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
US20070244958A1 (en) * 2004-11-08 2007-10-18 Jason Redgrave Configurable IC's with carry bypass circuitry
US7301368B2 (en) * 2005-03-15 2007-11-27 Tabula, Inc. Embedding memory within tile arrangement of 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
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
US7224181B1 (en) * 2004-11-08 2007-05-29 Herman Schmit Clock distribution in a configurable IC
US7295037B2 (en) 2004-11-08 2007-11-13 Tabula, Inc. Configurable IC with routing circuits with offset connections
US7573296B2 (en) * 2004-11-08 2009-08-11 Tabula Inc. Configurable IC with configurable routing resources that have asymmetric input and/or outputs
US7496879B2 (en) * 2004-12-01 2009-02-24 Tabula, Inc. Concurrent optimization of physical design and operational cycle assignment
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
US7332976B1 (en) 2005-02-04 2008-02-19 Cypress Semiconductor Corporation Poly-phase frequency synthesis oscillator
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
US7224182B1 (en) * 2005-03-15 2007-05-29 Brad Hutchings Hybrid configurable circuit for a configurable IC
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
US7272031B1 (en) * 2005-03-15 2007-09-18 Tabula, Inc. Method and apparatus for reduced power cell
US8201124B1 (en) 2005-03-15 2012-06-12 Tabula, Inc. System in package and method of creating system in package
US7230869B1 (en) * 2005-03-15 2007-06-12 Jason Redgrave Method and apparatus for accessing contents of memory cells
US7400183B1 (en) 2005-05-05 2008-07-15 Cypress Semiconductor Corporation Voltage controlled oscillator delay cell and method
US7301822B1 (en) * 2005-05-18 2007-11-27 Xilinx, Inc. Multi-boot configuration of programmable devices
US7358762B1 (en) 2005-05-18 2008-04-15 Xilinx, Inc. Parallel interface for configuring programmable devices
US8089461B2 (en) 2005-06-23 2012-01-03 Cypress Semiconductor Corporation Touch wake for electronic devices
US7443196B2 (en) * 2005-07-15 2008-10-28 Tabula, Inc. Configuration network for a configurable IC
US7375550B1 (en) 2005-07-15 2008-05-20 Tabula, Inc. Configurable IC with packet switch configuration network
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
US7250786B1 (en) 2005-07-19 2007-07-31 Xilinx, Inc. Method and apparatus for modular redundancy with alternative mode of operation
US7236000B1 (en) 2005-10-18 2007-06-26 Xilinx, Inc. Method and apparatus for error mitigation of programmable logic device configuration memory
US7765249B1 (en) 2005-11-07 2010-07-27 Tabula, Inc. Use of hybrid interconnect/logic circuits for 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
US7818361B1 (en) 2005-11-07 2010-10-19 Tabula, Inc. Method and apparatus for performing two's complement multiplication
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
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
US7461362B1 (en) 2005-12-01 2008-12-02 Tabula, Inc. Replacing circuit design elements with their equivalents
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
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
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
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
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
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
US7521959B2 (en) * 2007-03-20 2009-04-21 Tabula, Inc. Configurable IC having a routing fabric with storage elements
US7610566B1 (en) 2007-03-22 2009-10-27 Tabula, Inc. Method and apparatus for function decomposition
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
US8040266B2 (en) 2007-04-17 2011-10-18 Cypress Semiconductor Corporation Programmable sigma-delta analog-to-digital converter
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
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
US8266575B1 (en) 2007-04-25 2012-09-11 Cypress Semiconductor Corporation Systems and methods for dynamically reconfiguring a programmable system on a chip
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
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
US7652498B2 (en) 2007-06-27 2010-01-26 Tabula, Inc. Integrated circuit with delay selecting input selection circuitry
US8069425B2 (en) * 2007-06-27 2011-11-29 Tabula, Inc. Translating a user design in a configurable IC for debugging the user design
US7595655B2 (en) * 2007-06-27 2009-09-29 Tabula, Inc. Retrieving data from a configurable IC
US8412990B2 (en) * 2007-06-27 2013-04-02 Tabula, Inc. Dynamically tracking data values in a configurable IC
US7501855B2 (en) * 2007-06-27 2009-03-10 Tabula, Inc Transport network for a configurable IC
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
WO2009107212A1 (ja) * 2008-02-28 2009-09-03 富士通株式会社 ストレージ装置、ストレージ制御装置およびストレージ制御方法
US8166435B2 (en) 2008-06-26 2012-04-24 Tabula, Inc. Timing operations in an IC with configurable circuits
WO2010016857A1 (en) * 2008-08-04 2010-02-11 Tabula, Inc. Trigger circuits and event counters for an ic
EP2345160A4 (en) * 2008-09-17 2016-11-16 Altera Corp CONTROLLABLE MEMORY ELEMENTS FOR AN IC
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
CN104321967B (zh) * 2012-05-25 2018-01-09 株式会社半导体能源研究所 可编程逻辑装置及半导体装置
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
EP4553650A1 (en) 2017-03-20 2025-05-14 INTEL Corporation Systems, methods, and apparatuses for tile matrix multiplication and accumulation
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)

* Cited by examiner, † Cited by third party
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
US5338984A (en) * 1991-08-29 1994-08-16 National Semiconductor Corp. Local and express diagonal busses 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

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6281703B1 (en) 1999-01-28 2001-08-28 Nec Corporation Programmable device with an array of programmable cells and interconnection network
US6356109B1 (en) 1999-02-10 2002-03-12 Nec Corporation Programmable device
JP2004505488A (ja) * 2000-07-25 2004-02-19 ザイリンクス インコーポレイテッド Fpgaを部分的に再構成するためのアーキテクチャおよび方法
WO2002095946A1 (en) * 2001-05-24 2002-11-28 Ip Flex Inc. Integrated circuit device
EA005344B1 (ru) * 2001-05-24 2005-02-24 Ай Пи ФЛЕКС ИНК. Интегральная схема
US7191312B2 (en) 2001-05-24 2007-03-13 Ipflex Inc. Configurable interconnection of multiple different type functional units array including delay type for different instruction processing
US7577821B2 (en) 2001-05-24 2009-08-18 Ipflex Inc. IC containing matrices of plural type operation units with configurable routing wiring group and plural delay operation units bridging two wiring groups
JP2006163522A (ja) * 2004-12-02 2006-06-22 Nec Electronics Corp コピー防止回路装置およびコピー防止方法
WO2006129722A1 (ja) * 2005-05-31 2006-12-07 Ipflex Inc. 再構成可能な装置
US8138788B2 (en) 2005-05-31 2012-03-20 Fuji Xerox Co., Ltd. Reconfigurable device

Also Published As

Publication number Publication date
JP3626239B2 (ja) 2005-03-02
EP1455455A2 (en) 2004-09-08
EP0678985A2 (en) 1995-10-25
EP1455455B1 (en) 2013-09-11
DE69534812T2 (de) 2006-09-14
EP1455455A3 (en) 2008-04-09
DE69534812D1 (de) 2006-04-27
EP0678985B1 (en) 2006-03-01
EP0678985A3 (en) 1997-07-23
US5426378A (en) 1995-06-20

Similar Documents

Publication Publication Date Title
JPH0851356A (ja) プログラマブルアレイ
US5081375A (en) Method for operating a multiple page programmable logic device
US5742180A (en) Dynamically programmable gate array with multiple contexts
US7477072B1 (en) Circuit for and method of enabling partial reconfiguration of a device having programmable logic
US7266672B2 (en) Method and apparatus for retiming in a network of multiple context processing elements
US6288566B1 (en) Configuration state memory for functional blocks on a reconfigurable chip
US7188192B2 (en) Controlling multiple context processing elements based on transmitted message containing configuration data, address mask, and destination indentification
US5811986A (en) Flexible synchronous/asynchronous cell structure for a high density programmable logic device
US6198304B1 (en) Programmable logic device
US6838904B1 (en) Enhanced CPLD macrocell module having selectable bypass of steering-based resource allocation
US6567969B1 (en) Configurable logic array including lookup table means for generating functions of different numbers of input terms
JP3325657B2 (ja) 集積回路
JPH08330945A (ja) プログラム可能ゲート・アレイの動的再構成システム
US4942319A (en) Multiple page programmable logic architecture
JP2001520837A (ja) ゲートアレイのための機能ブロックアーキテクチャ
JPH09231788A5 (ja)
JPH09231788A (ja) シフトレジスタ及びプログラマブル論理回路並びにプログラマブル論理回路システム
JP3325662B2 (ja) 集積回路
JPH11510038A (ja) 分散型ramを有しかつセルの利用率が高められた、フィールドプログラマブルゲートアレイ
JP3576837B2 (ja) プログラマブルロジックlsiの基本セル及び基本セル2次元アレイ
US5021689A (en) Multiple page programmable logic architecture
US6100714A (en) High density PLD structure with flexible logic built-in blocks
US5055712A (en) Register file with programmable control, decode and/or data manipulation
US6028446A (en) Flexible synchronous and asynchronous circuits for a very high density programmable logic device
US6642743B2 (en) System for rapid configuration of a programmable logic device

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