JP2000201066A - プログラマブルロジックデバイス構造 - Google Patents
プログラマブルロジックデバイス構造Info
- Publication number
- JP2000201066A JP2000201066A JP11327549A JP32754999A JP2000201066A JP 2000201066 A JP2000201066 A JP 2000201066A JP 11327549 A JP11327549 A JP 11327549A JP 32754999 A JP32754999 A JP 32754999A JP 2000201066 A JP2000201066 A JP 2000201066A
- Authority
- JP
- Japan
- Prior art keywords
- interconnect
- sub
- programmable logic
- regions
- large area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17748—Structural details of configuration resources
- H03K19/1776—Structural details of configuration resources for memories
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17736—Structural details of routing resources
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Logic Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
(57)【要約】
【課題】 デバイス上において過大な量の相互接続コン
ダクタリソースを必要とすることを防止することができ
る大容量プログラマブルロジックデバイス機構を提供す
る。 【解決手段】 プログラマブルロジックデバイスは、交
差する行および列からなる二次元の配列内に配置された
複数の大領域をこのデバイス上に備える。各大領域は、
複数のプログラマブルロジック領域およびプログラマブ
ルメモリ領域を備える。各ロジック領域は、プログラマ
ブルロジックからなる複数の小領域を備える。各大領域
は結合された相互接続リソースを備え、これによって、
同じくこのデバイス上に配設された長大な大領域間相互
接続リソースを比較的局部的な相互接続のために使用す
ることなく、この大領域内のロジックおよびメモリ領域
間の交信を可能にする。
ダクタリソースを必要とすることを防止することができ
る大容量プログラマブルロジックデバイス機構を提供す
る。 【解決手段】 プログラマブルロジックデバイスは、交
差する行および列からなる二次元の配列内に配置された
複数の大領域をこのデバイス上に備える。各大領域は、
複数のプログラマブルロジック領域およびプログラマブ
ルメモリ領域を備える。各ロジック領域は、プログラマ
ブルロジックからなる複数の小領域を備える。各大領域
は結合された相互接続リソースを備え、これによって、
同じくこのデバイス上に配設された長大な大領域間相互
接続リソースを比較的局部的な相互接続のために使用す
ることなく、この大領域内のロジックおよびメモリ領域
間の交信を可能にする。
Description
【0001】
【産業上の利用分野】この発明は、プログラム可能なロ
ジック集積回路デバイスに係り、特にこの種のデバイス
上の各種のリソース(例えばロジック、メモリ、および
相互接続コンダクタ等)の組織に関する。
ジック集積回路デバイスに係り、特にこの種のデバイス
上の各種のリソース(例えばロジック、メモリ、および
相互接続コンダクタ等)の組織に関する。
【0002】
【従来の技術】プログラマブルロジック集積回路デバイ
スを、プログラマブルロジックのブロック群と、ユーザ
がアクセス可能なメモリブロック群(例えばランダムア
クセスメモリ(“RAM”)またはリードオンリメモリ
(“ROM”)等)、ならびにロジックとメモリとの間
において相互に信号を選択的に伝送するための相互接続
コンダクタリソース(例えば、クリフ氏等による米国特
許第5550782号公報およびクリフ氏等による米国
特許第5689195号公報を参照、これらはともにこ
こにおいて全体的に参照に組み入れてある)。ロジック
ブロック群はユーザが必要とする様々な機能を実行する
ためにプログラムが可能である。メモリブロック群は、
ユーザがデータを蓄積してその後出力するかまたは所要
のロジック機能を実施するために使用することができ
る。相互接続コンダクタリソースは、デバイスの入力と
ロジックおよびメモリブロック群の入力との間、ロジッ
クおよびメモリブロック群の出力とデバイスの出力との
間、ならびにロジックおよびメモリブロック群の出入力
との間においてユーザが広範な接続を形成するために使
用することができる。しかしながら、個々のロジックモ
ジュール(そのうちいくつかは各ロジックブロック内に
ある)およびメモリブロックは、通常比較的小さなロジ
ックまたはメモリタスクのみを実行可能であり、相互接
続コンダクタリソースはこれらの個々のロジックおよび
メモリタスクを連結することを可能にし、従って必要に
応じて非常に複雑な機能を実行することができる。
スを、プログラマブルロジックのブロック群と、ユーザ
がアクセス可能なメモリブロック群(例えばランダムア
クセスメモリ(“RAM”)またはリードオンリメモリ
(“ROM”)等)、ならびにロジックとメモリとの間
において相互に信号を選択的に伝送するための相互接続
コンダクタリソース(例えば、クリフ氏等による米国特
許第5550782号公報およびクリフ氏等による米国
特許第5689195号公報を参照、これらはともにこ
こにおいて全体的に参照に組み入れてある)。ロジック
ブロック群はユーザが必要とする様々な機能を実行する
ためにプログラムが可能である。メモリブロック群は、
ユーザがデータを蓄積してその後出力するかまたは所要
のロジック機能を実施するために使用することができ
る。相互接続コンダクタリソースは、デバイスの入力と
ロジックおよびメモリブロック群の入力との間、ロジッ
クおよびメモリブロック群の出力とデバイスの出力との
間、ならびにロジックおよびメモリブロック群の出入力
との間においてユーザが広範な接続を形成するために使
用することができる。しかしながら、個々のロジックモ
ジュール(そのうちいくつかは各ロジックブロック内に
ある)およびメモリブロックは、通常比較的小さなロジ
ックまたはメモリタスクのみを実行可能であり、相互接
続コンダクタリソースはこれらの個々のロジックおよび
メモリタスクを連結することを可能にし、従って必要に
応じて非常に複雑な機能を実行することができる。
【0003】集積回路製造技術の改良によって、非常に
大量のロジック、メモリ、および相互接続コンダクタリ
ソースを含むプログラマブルロジックデバイスを製造す
ることが可能になった。プログラマブルロジックデバイ
ス上のロジックおよびメモリが増加するに従って、それ
に比例するよりも多い量の相互接続コンダクタリソース
を備えることが必要になる。これは、少なくとも理論的
に、デバイス上のいずれかの入力および出力を、その他
の必要な接続を停止または妨害することなく接続し得る
ことが必要であるからである。ロジックおよびメモリブ
ロックの数が増えるに従って、入力および出力の数が略
直線比例的に増加する。しかしながら、入力および出力
間における必要な接続の数は指数倍的に増加する傾向が
ある。これにより、相互接続コンダクタおよび関連回路
に使用されるデバイスのリソースの総量が過度なものと
なる。
大量のロジック、メモリ、および相互接続コンダクタリ
ソースを含むプログラマブルロジックデバイスを製造す
ることが可能になった。プログラマブルロジックデバイ
ス上のロジックおよびメモリが増加するに従って、それ
に比例するよりも多い量の相互接続コンダクタリソース
を備えることが必要になる。これは、少なくとも理論的
に、デバイス上のいずれかの入力および出力を、その他
の必要な接続を停止または妨害することなく接続し得る
ことが必要であるからである。ロジックおよびメモリブ
ロックの数が増えるに従って、入力および出力の数が略
直線比例的に増加する。しかしながら、入力および出力
間における必要な接続の数は指数倍的に増加する傾向が
ある。これにより、相互接続コンダクタおよび関連回路
に使用されるデバイスのリソースの総量が過度なものと
なる。
【0004】
【発明が解決しようとする課題】前述の観点により、本
発明の目的は、デバイス上において過大な量の相互接続
コンダクタリソースを必要とすることを防止することが
できる大容量プログラマブルロジックデバイス機構を提
供することである。
発明の目的は、デバイス上において過大な量の相互接続
コンダクタリソースを必要とすることを防止することが
できる大容量プログラマブルロジックデバイス機構を提
供することである。
【0005】本発明のより具体的な目的は、比較的短い
相互接続コンダクタを使用して予想される “局部”的
基盤に基づいた多量の相互接続の形成を容易にする大容
量プログラマブルロジックデバイス上のロジックおよび
メモリブロック群の配置を提供することであり、従って
より“高価な”長い相互接続リソースの量を削減するこ
とができ、この結果相互接続リソースに使用されるデバ
イスリソース部分全体を制限することができる。
相互接続コンダクタを使用して予想される “局部”的
基盤に基づいた多量の相互接続の形成を容易にする大容
量プログラマブルロジックデバイス上のロジックおよび
メモリブロック群の配置を提供することであり、従って
より“高価な”長い相互接続リソースの量を削減するこ
とができ、この結果相互接続リソースに使用されるデバ
イスリソース部分全体を制限することができる。
【0006】
【課題を解決するための手段】本発明のこれらおよびそ
の他の目的は、本発明の原理に従って、複数の大領域
(それぞれがプログラム可能なロジックおよびメモリを
備える)を有し、この大領域をデバイス上において交差
する2次元の配列内に配置することによって解決され
る。各大領域は、複数のプログラマブルロジック領域お
よびメモリ領域を有する。各ロジック領域は、複数のプ
ログラマブルロジック小領域を備える。各小領域は、こ
の小領域に付加される複数の入力信号上において比較的
基本的ないくつかのロジック機能を実行するためにプロ
グラム可能であり、これによって少なくとも一つの小領
域出力を生成する。各メモリ領域は複数のメモリ入力を
備え、これを介してメモリに信号を付加することができ
る(例えばメモリへの書き込みまたはメモリからの読み
取りに使用するため)。各メモリ領域は、複数の出力を
備え、これを介して信号がメモリから出力される。
の他の目的は、本発明の原理に従って、複数の大領域
(それぞれがプログラム可能なロジックおよびメモリを
備える)を有し、この大領域をデバイス上において交差
する2次元の配列内に配置することによって解決され
る。各大領域は、複数のプログラマブルロジック領域お
よびメモリ領域を有する。各ロジック領域は、複数のプ
ログラマブルロジック小領域を備える。各小領域は、こ
の小領域に付加される複数の入力信号上において比較的
基本的ないくつかのロジック機能を実行するためにプロ
グラム可能であり、これによって少なくとも一つの小領
域出力を生成する。各メモリ領域は複数のメモリ入力を
備え、これを介してメモリに信号を付加することができ
る(例えばメモリへの書き込みまたはメモリからの読み
取りに使用するため)。各メモリ領域は、複数の出力を
備え、これを介して信号がメモリから出力される。
【0007】第1のレベルの相互接続コンダクタリソー
スは、各大領域内の隣接する小領域間の通信を行うため
に配設される。(いくつかのケースにおいて、メモリ領
域が第1のレベルの相互接続コンダクタリソースに近接
する場合、この第1のレベルの相互接続コンダクタリソ
ースはメモリ領域と交信も可能にする。)第2のレベル
の相互接続コンダクタリソースは、大領域内における長
い距離の通信を行うために配設される(例えば、この大
領域内における論理領域とメモリ領域との間におい
て)。第3のレベルの相互接続コンダクタリソースは、
デバイス上において大領域間の交信を行うために配設さ
れる。
スは、各大領域内の隣接する小領域間の通信を行うため
に配設される。(いくつかのケースにおいて、メモリ領
域が第1のレベルの相互接続コンダクタリソースに近接
する場合、この第1のレベルの相互接続コンダクタリソ
ースはメモリ領域と交信も可能にする。)第2のレベル
の相互接続コンダクタリソースは、大領域内における長
い距離の通信を行うために配設される(例えば、この大
領域内における論理領域とメモリ領域との間におい
て)。第3のレベルの相互接続コンダクタリソースは、
デバイス上において大領域間の交信を行うために配設さ
れる。
【0008】各大領域内にメモリ領域を包合すること
は、第3のレベルの相互接続コンダクタリソースの必要
性を削減するよう作用する。例えば、各メモリ領域は、
このメモリ領域を含む大領域の第1および第2のレベル
の相互接続コンダクタリソースのみを使用することによ
って、この大領域のロジック領域と共に動作することが
できる。このことは、本発明のプログラマブルロジック
デバイス組織(構造)が大容量プログラマブルロジック
デバイス上において必要とされる相互接続リソースの総
量を削減または少なくとも抑制する方式を示すものであ
る。
は、第3のレベルの相互接続コンダクタリソースの必要
性を削減するよう作用する。例えば、各メモリ領域は、
このメモリ領域を含む大領域の第1および第2のレベル
の相互接続コンダクタリソースのみを使用することによ
って、この大領域のロジック領域と共に動作することが
できる。このことは、本発明のプログラマブルロジック
デバイス組織(構造)が大容量プログラマブルロジック
デバイス上において必要とされる相互接続リソースの総
量を削減または少なくとも抑制する方式を示すものであ
る。
【0009】本発明のその他の詳細、特徴および種々の
利点は、添付図面および以下に記す好適な実施例の詳細
な説明によって明らかにされよう。
利点は、添付図面および以下に記す好適な実施例の詳細
な説明によって明らかにされよう。
【0010】
【実施例】図1に示されるように、本発明に従って構成
された例示的なプログラマブルロジックデバイス10
は、112個のプログラマブルロジックおよびメモリ大
領域20からなり、これらは28行および4列の2次元
配列内に配置されている。各行は4個の大領域を含み、
各列は28個の大領域を含んでいる。上から14番目の
行は“予備”行であり、これはこの予備行の上の13行
のうちのいずれか1行が故障した場合のみにこれを補完
するために使用される。同様に下から14番目の行も予
備行であり、これはこの予備行の下の13行のうちのい
ずれか1行が故障した場合のみにこれを補完するために
使用される。従って、デバイス10上には一定量の“余
裕”が設けられている。
された例示的なプログラマブルロジックデバイス10
は、112個のプログラマブルロジックおよびメモリ大
領域20からなり、これらは28行および4列の2次元
配列内に配置されている。各行は4個の大領域を含み、
各列は28個の大領域を含んでいる。上から14番目の
行は“予備”行であり、これはこの予備行の上の13行
のうちのいずれか1行が故障した場合のみにこれを補完
するために使用される。同様に下から14番目の行も予
備行であり、これはこの予備行の下の13行のうちのい
ずれか1行が故障した場合のみにこれを補完するために
使用される。従って、デバイス10上には一定量の“余
裕”が設けられている。
【0011】各大領域20は、16個のプログラマブル
ロジック領域30と1個のメモリ領域40からなる1行
を備え、これはデバイス10のユーザがRAM、ROM
等として使用することができる。
ロジック領域30と1個のメモリ領域40からなる1行
を備え、これはデバイス10のユーザがRAM、ROM
等として使用することができる。
【0012】各ロジック領域30は、10個のプログラ
マブルロジック小領域50からなる1列を備える。図1
を煩雑化することを避けるため、最も左上のロジック領
域30のみについてその小領域50が個別に示されてい
る。
マブルロジック小領域50からなる1列を備える。図1
を煩雑化することを避けるため、最も左上のロジック領
域30のみについてその小領域50が個別に示されてい
る。
【0013】図1には、さらに大領域20の各行(予備
行を除いて)が各行の端部に近接して“水平”入力/出
力(“I/O”)端子60を備えていることが示されて
いる。最も上および最も下の列はそれぞれの端部に近接
して4つのI/O端子60を備え、一方予備行を除くそ
の他全ての行はそれぞれの端部に近接して5つのI/O
端子60を備えている。同様に、ロジック領域30の各
列の端部には、“垂直”I/O端子70がそれぞれ配設
されている。一般的に各列の端部にはそれぞれ2個のI
/O端子70が設けられており、例外としてロジック領
域30の最も左および最も右の列にはそれぞれ1個のI
/O端子70のみが設けられている。
行を除いて)が各行の端部に近接して“水平”入力/出
力(“I/O”)端子60を備えていることが示されて
いる。最も上および最も下の列はそれぞれの端部に近接
して4つのI/O端子60を備え、一方予備行を除くそ
の他全ての行はそれぞれの端部に近接して5つのI/O
端子60を備えている。同様に、ロジック領域30の各
列の端部には、“垂直”I/O端子70がそれぞれ配設
されている。一般的に各列の端部にはそれぞれ2個のI
/O端子70が設けられており、例外としてロジック領
域30の最も左および最も右の列にはそれぞれ1個のI
/O端子70のみが設けられている。
【0014】図1において、ライン80およびライン9
0が回路を4つの同一四角形に分割している。ライン8
0および90は特定の相互接続コンダクタ内の分割バッ
ファを示しており、これについては以下により詳細に説
明する。
0が回路を4つの同一四角形に分割している。ライン8
0および90は特定の相互接続コンダクタ内の分割バッ
ファを示しており、これについては以下により詳細に説
明する。
【0015】図2には、デバイス10上のより高いレベ
ルの相互接続コンダクタリソースの概略が示されてい
る。図2には、大領域20の各列に関連付けられた垂直
コンダクタ100と大領域20の各行に関連付けられた
水平コンダクタ110とが存在することが示されてい
る。例えば、ロジック領域30(図1)の各列と関連付
けられた80個の垂直コンダクタ100とメモリ領域4
0(図1)の各列と関連付けられた208個の垂直コン
ダクタ100とが存在し得る。大領域20の各行と関連
付けられた100個の水平コンダクタ110が存在し得
る。垂直コンダクタ100は、関連付けられた大領域列
内において大領域20間の交信を行うことを可能にす
る。水平コンダクタ110は、関連付けられた大領域行
内において大領域20間の交信を行うことを可能にす
る。
ルの相互接続コンダクタリソースの概略が示されてい
る。図2には、大領域20の各列に関連付けられた垂直
コンダクタ100と大領域20の各行に関連付けられた
水平コンダクタ110とが存在することが示されてい
る。例えば、ロジック領域30(図1)の各列と関連付
けられた80個の垂直コンダクタ100とメモリ領域4
0(図1)の各列と関連付けられた208個の垂直コン
ダクタ100とが存在し得る。大領域20の各行と関連
付けられた100個の水平コンダクタ110が存在し得
る。垂直コンダクタ100は、関連付けられた大領域列
内において大領域20間の交信を行うことを可能にす
る。水平コンダクタ110は、関連付けられた大領域行
内において大領域20間の交信を行うことを可能にす
る。
【0016】各垂直コンダクタ100は、その中間点に
おいてプログラム可能な分割バッファ120aおよび1
20bによって分割されている。各分割バッファ120
は関連付けられたプログラム可能な機能制御要素(“F
CE”)122aおよび122bによって制御される。
垂直コンダクタ100に関連付けられたFCE122は
関連付けられたバッファ120の両方を非能動化するよ
うプログラムすることができ、この場合、コンダクタ1
00の半分をそれぞれ分離かつ独立して使用することが
できる。他方、コンダクタ100に関連付けられたFC
Eのいずれか一つは、関連付けられたバッファ120を
能動化するようにプログラムすることができ、この場合
コンダクタの一方の半分が他方の半分を駆動する。例え
ば、コンダクタ100のバッファ120aが付勢されて
いる場合、このコンダクタの上半分が下半分を駆動す
る。このようにして、コンダクタ100の各半分を共に
使用することができる。
おいてプログラム可能な分割バッファ120aおよび1
20bによって分割されている。各分割バッファ120
は関連付けられたプログラム可能な機能制御要素(“F
CE”)122aおよび122bによって制御される。
垂直コンダクタ100に関連付けられたFCE122は
関連付けられたバッファ120の両方を非能動化するよ
うプログラムすることができ、この場合、コンダクタ1
00の半分をそれぞれ分離かつ独立して使用することが
できる。他方、コンダクタ100に関連付けられたFC
Eのいずれか一つは、関連付けられたバッファ120を
能動化するようにプログラムすることができ、この場合
コンダクタの一方の半分が他方の半分を駆動する。例え
ば、コンダクタ100のバッファ120aが付勢されて
いる場合、このコンダクタの上半分が下半分を駆動す
る。このようにして、コンダクタ100の各半分を共に
使用することができる。
【0017】同様に、各水平コンダクタ110は、その
中間点において分割バッファ130aおよび130bに
よって分割することができ、それぞれFCE132aお
よび132bによって制御される。要素120および1
22と同様に動作することにより、要素130および1
32はコンダクタ110の各半分を分離して使用する
か、または一方の半分が他方の半分を駆動することがで
きる。
中間点において分割バッファ130aおよび130bに
よって分割することができ、それぞれFCE132aお
よび132bによって制御される。要素120および1
22と同様に動作することにより、要素130および1
32はコンダクタ110の各半分を分離して使用する
か、または一方の半分が他方の半分を駆動することがで
きる。
【0018】図2には、さらに、大領域20が、関連付
けられた大領域内においてロジックおよびメモリ領域3
0および40(図1)間で双方向に信号を伝送するため
の複数の“広域水平”コンダクタ140を備えることが
示されている。(コンダクタ140は関連付けられた大
領域20内の全ての領域30および40にわたって延在
するため時々“広域”と呼ばれるが、大きな観点から見
るとこれらは実際には前述した複数の大領域20にまた
がるコンダクタ100および110ほど広域なものでは
ない。)図示されている具体的な実施例においては、各
大領域20に個別または排他的に関連付けられた279
個のコンダクタ140を備えている。
けられた大領域内においてロジックおよびメモリ領域3
0および40(図1)間で双方向に信号を伝送するため
の複数の“広域水平”コンダクタ140を備えることが
示されている。(コンダクタ140は関連付けられた大
領域20内の全ての領域30および40にわたって延在
するため時々“広域”と呼ばれるが、大きな観点から見
るとこれらは実際には前述した複数の大領域20にまた
がるコンダクタ100および110ほど広域なものでは
ない。)図示されている具体的な実施例においては、各
大領域20に個別または排他的に関連付けられた279
個のコンダクタ140を備えている。
【0019】図3には、典型的な大領域20内における
相互接続が示されている。一般的に異なった2種類から
なる局部的コンダクタ160aおよび160bは、各ロ
ジックおよびメモリ領域30または40(図1)の両側
に沿って延在している。局部コンダクタ160aは領域
供給コンダクタであり、これは関連付けられたコンダク
タ140および150から極近接するロジックまたはメ
モリ領域30/40(図1)に信号を伝送する。コンダ
クタ150は、クロックおよび“高速”コンダクタのネ
ットワークの一部であり、これはデバイス10全体にわ
たって延在しており、これによってデバイス上の多くの
位置で必要とされるクロック、消去、および/またはそ
の他の信号等の共有のまたは少なくとも他用途な信号を
提供する。プログラマブルロジックコネクタ(“PL
C”)170は、コンダクタ140/150をコンダク
タ160aにプログラム可能かつ選択的に接続するため
に設けられる。局部コンダクタ160bは、局部フィー
ドバックコンダクタであり、各小領域50(図1)の出
力信号を近接する小領域50に提供することを可能にす
る。コンダクタ180は、コンダクタ160からの信号
を近接するロジックまたはメモリ領域30/40に選択
的に付加するために設けられている。図3には示されて
いないが(図が煩雑化することを防止するため)、PL
Cは交差するコンダクタ160および180をプログラ
ム可能かつ選択的に接続するためのPLCが設けられ
る。従って、コンダクタ160と180の交差部分はこ
れらのPLCを示している。これらの交差部分の体表的
ないくつかは参照符号162によって示されている。
相互接続が示されている。一般的に異なった2種類から
なる局部的コンダクタ160aおよび160bは、各ロ
ジックおよびメモリ領域30または40(図1)の両側
に沿って延在している。局部コンダクタ160aは領域
供給コンダクタであり、これは関連付けられたコンダク
タ140および150から極近接するロジックまたはメ
モリ領域30/40(図1)に信号を伝送する。コンダ
クタ150は、クロックおよび“高速”コンダクタのネ
ットワークの一部であり、これはデバイス10全体にわ
たって延在しており、これによってデバイス上の多くの
位置で必要とされるクロック、消去、および/またはそ
の他の信号等の共有のまたは少なくとも他用途な信号を
提供する。プログラマブルロジックコネクタ(“PL
C”)170は、コンダクタ140/150をコンダク
タ160aにプログラム可能かつ選択的に接続するため
に設けられる。局部コンダクタ160bは、局部フィー
ドバックコンダクタであり、各小領域50(図1)の出
力信号を近接する小領域50に提供することを可能にす
る。コンダクタ180は、コンダクタ160からの信号
を近接するロジックまたはメモリ領域30/40に選択
的に付加するために設けられている。図3には示されて
いないが(図が煩雑化することを防止するため)、PL
Cは交差するコンダクタ160および180をプログラ
ム可能かつ選択的に接続するためのPLCが設けられ
る。従って、コンダクタ160と180の交差部分はこ
れらのPLCを示している。これらの交差部分の体表的
ないくつかは参照符号162によって示されている。
【0020】ロジックおよびメモリ領域30/40(図
1)の出力は、種々の形式のドライバに付加され、それ
らのいくつかは図3に示されている。図3に示されてい
ない(他の図には示されている)ものとして、ロジック
およびメモリ領域出力を近接するフィードバックコンダ
クタ160bに選択的に付加するためのドライバがあ
る。各領域30/40(図1)に関連付けられているそ
の他のドライバ190は、近接するコンダクタ100お
よび110からの信号と並んで領域出力を近接するコン
ダクタ140に選択的に付加する。各領域30/40
(図1)に関連付けられたさらに別のドライバ200
は、近接するコンダクタ100および110からの信号
と並んで領域出力を別の近接するコンダクタ100およ
び110に選択的に付加する。
1)の出力は、種々の形式のドライバに付加され、それ
らのいくつかは図3に示されている。図3に示されてい
ない(他の図には示されている)ものとして、ロジック
およびメモリ領域出力を近接するフィードバックコンダ
クタ160bに選択的に付加するためのドライバがあ
る。各領域30/40(図1)に関連付けられているそ
の他のドライバ190は、近接するコンダクタ100お
よび110からの信号と並んで領域出力を近接するコン
ダクタ140に選択的に付加する。各領域30/40
(図1)に関連付けられたさらに別のドライバ200
は、近接するコンダクタ100および110からの信号
と並んで領域出力を別の近接するコンダクタ100およ
び110に選択的に付加する。
【0021】図3には、さらにメモリ領域40(図1)
の各列も関連付けられたコンダクタ100は2つのグル
ープに分類することができ:それらは一般的コンダクタ
100とトライステートコンダクタ100′である。列
内の各メモリ領域40は、このメモリ領域の出力をこの
列に関連付けられたトライステートコンダクタ100′
のうちの任意の一つにプログラム可能かつ選択的に付加
するためのトライステートドライバ210を備えてい
る。ドライバ210およびコンダクタ100′は、一つ
のメモリ領域のみによって提供されるものよりも奥深い
メモリを提供するために列内の複数のメモリ領域が共に
使用される際に使用される。これらの複数メモリ領域を
共に使用する方式についての追加的な情報は、1998
年2月13日に提出されたペダーソン氏等の米国特許出
願第09/023251号を参照すれば得られる。前記
のペダーソン文献はここにおいて参照として全体的に組
み入れてある。
の各列も関連付けられたコンダクタ100は2つのグル
ープに分類することができ:それらは一般的コンダクタ
100とトライステートコンダクタ100′である。列
内の各メモリ領域40は、このメモリ領域の出力をこの
列に関連付けられたトライステートコンダクタ100′
のうちの任意の一つにプログラム可能かつ選択的に付加
するためのトライステートドライバ210を備えてい
る。ドライバ210およびコンダクタ100′は、一つ
のメモリ領域のみによって提供されるものよりも奥深い
メモリを提供するために列内の複数のメモリ領域が共に
使用される際に使用される。これらの複数メモリ領域を
共に使用する方式についての追加的な情報は、1998
年2月13日に提出されたペダーソン氏等の米国特許出
願第09/023251号を参照すれば得られる。前記
のペダーソン文献はここにおいて参照として全体的に組
み入れてある。
【0022】図4は、図3のコンダクタ150によって
部分的に示された高速コンダクタのネットワークをさら
に図示したものである。(図4には、図3のコンダクタ
150に含まれているクロックコンダクタは示されてい
ない。)8個の高速中継コンダクタ220a/bがデバ
イス10を横断して垂直に延在している。これらの中継
コンダクタ220aのうちの4つは専用の高速入力端子
230から延在している。他の4つの中継コンダクタ2
20bは、大領域20内のトライステートドライバ24
0からこれらのコンダクタの左および右側に駆動するこ
とができる。PLC246は大領域20内の各行に対し
て設けられ、この行と関連付けられた高速コンダクタ1
50のそれぞれに端子230から駆動されるコンダクタ
220aの一つからの信号またはトライステートドライ
バ240から駆動されるコンダクタ220bの一つから
の信号のいずれかを付加する。各コンダクタ220a/
bはその中間点にバッファ250を備えている。トライ
ステートドライバ240によって駆動可能な各コンダク
タ220bの場合、各方向についてバッファ250aお
よび250bが設けられており、さらにこれらのドライ
バのうちの一つをプログラム可能かつ選択的に能動化す
るとともに他のドライバを非能動化するためのFCE2
52を備えている。
部分的に示された高速コンダクタのネットワークをさら
に図示したものである。(図4には、図3のコンダクタ
150に含まれているクロックコンダクタは示されてい
ない。)8個の高速中継コンダクタ220a/bがデバ
イス10を横断して垂直に延在している。これらの中継
コンダクタ220aのうちの4つは専用の高速入力端子
230から延在している。他の4つの中継コンダクタ2
20bは、大領域20内のトライステートドライバ24
0からこれらのコンダクタの左および右側に駆動するこ
とができる。PLC246は大領域20内の各行に対し
て設けられ、この行と関連付けられた高速コンダクタ1
50のそれぞれに端子230から駆動されるコンダクタ
220aの一つからの信号またはトライステートドライ
バ240から駆動されるコンダクタ220bの一つから
の信号のいずれかを付加する。各コンダクタ220a/
bはその中間点にバッファ250を備えている。トライ
ステートドライバ240によって駆動可能な各コンダク
タ220bの場合、各方向についてバッファ250aお
よび250bが設けられており、さらにこれらのドライ
バのうちの一つをプログラム可能かつ選択的に能動化す
るとともに他のドライバを非能動化するためのFCE2
52を備えている。
【0023】図5には、クロックおよび高速コンダクタ
ネットワークの追加的な詳細が示されている。特に、図
5には、トライステートドライバ240のそれぞれがデ
バイス10の中心(従ってコンダクタ220b)に最も
近いとともにこのドライバにも近接するコンダクタ16
0aおよび160bのいずれかからの入力信号を受信す
ることが示されている。PLC241およびコンダクタ
241′は、各ドライバ240に入力信号を供給する。
各ドライバ240は、関連付けられたFCE242によ
って制御される。各ドライバ240の出力は、PLC2
44によって一つまたは複数の関連付けられたコンダク
タ220bに付加される。
ネットワークの追加的な詳細が示されている。特に、図
5には、トライステートドライバ240のそれぞれがデ
バイス10の中心(従ってコンダクタ220b)に最も
近いとともにこのドライバにも近接するコンダクタ16
0aおよび160bのいずれかからの入力信号を受信す
ることが示されている。PLC241およびコンダクタ
241′は、各ドライバ240に入力信号を供給する。
各ドライバ240は、関連付けられたFCE242によ
って制御される。各ドライバ240の出力は、PLC2
44によって一つまたは複数の関連付けられたコンダク
タ220bに付加される。
【0024】図5には、さらに2つのクロックコンダク
タ150と4つの高速コンダクタ150と近接するコン
ダクタ160からの4つの入力180のうちのいずれか
の領域に対していわゆる二次信号を提供するために各領
域と結合された回路260が示されている。これらの二
次信号は、関連付けられた領域30の小領域50内のレ
ジスタを制御するために使用される。例えば、二次信号
は、レジスタが必要とするクロックおよびクリア等の信
号を提供する。
タ150と4つの高速コンダクタ150と近接するコン
ダクタ160からの4つの入力180のうちのいずれか
の領域に対していわゆる二次信号を提供するために各領
域と結合された回路260が示されている。これらの二
次信号は、関連付けられた領域30の小領域50内のレ
ジスタを制御するために使用される。例えば、二次信号
は、レジスタが必要とするクロックおよびクリア等の信
号を提供する。
【0025】図5には、さらに近接する局部フィードバ
ックコンダクタ160bへの小領域出力を駆動するため
に使用されるドライバ270が示されている。ドライバ
270のより具体的な例が図7に示されており、これら
のドライバについては後に図7を参照して詳細に説明す
る。
ックコンダクタ160bへの小領域出力を駆動するため
に使用されるドライバ270が示されている。ドライバ
270のより具体的な例が図7に示されており、これら
のドライバについては後に図7を参照して詳細に説明す
る。
【0026】図5に示されている2つのクロックコンダ
クタ150(すなわち図5の一番上の2つの水平コンダ
クタ)は、2つのクロック専用端子からデバイス10全
体にわたって延在するクロックコンダクタネットワーク
の一部である。クロックコンダクタネットワークは種々
の形態とし得るとともに本発明の重要点ではないため、
これ以上クロックコンダクタネットワークについて詳し
く説明する必要はないと判断される。
クタ150(すなわち図5の一番上の2つの水平コンダ
クタ)は、2つのクロック専用端子からデバイス10全
体にわたって延在するクロックコンダクタネットワーク
の一部である。クロックコンダクタネットワークは種々
の形態とし得るとともに本発明の重要点ではないため、
これ以上クロックコンダクタネットワークについて詳し
く説明する必要はないと判断される。
【0027】図6には、典型的な小領域50が(概略的
とはいえ)より詳細に示されている。小領域50の可能
的な構造の詳細については、1997年7月29日提出
のクリフ氏等の米国特許出願第08/902416号に
記載されており、これはここにおいて全体的に参照に組
み入れてある。しかしながら、これのついての詳細な説
明は本発明を理解するためには必要ないものである。
とはいえ)より詳細に示されている。小領域50の可能
的な構造の詳細については、1997年7月29日提出
のクリフ氏等の米国特許出願第08/902416号に
記載されており、これはここにおいて全体的に参照に組
み入れてある。しかしながら、これのついての詳細な説
明は本発明を理解するためには必要ないものである。
【0028】図6に示されているように、小領域50は
4入力ルックアップテーブル310を備えており、これ
はルックアップテーブルに付加される4つの入力信号1
80の論理的組み合わせからなる出力信号を形成するよ
うプログラムすることができる。ルックアップテーブル
の出力信号はレジスタ320によって記録することがで
きる。二次信号(すなわち図5の回路260からのクロ
ックおよびクリア信号)もレジスタ320に付加され
る。レジスタ320の出力信号は各PLC330aおよ
び330bの入力端子に付加される。ルックアップテー
ブル310の記録されない出力信号は、各PLC330
aおよび330bの別の入力端子に付加される。従っ
て、各PLC330aおよび330bは、それぞれ出力
信号340aおよび340bを形成するようにプログラ
ムすることができ、これはルックアップテーブル310
の記録された、または記録されていない出力信号のいず
れかである。
4入力ルックアップテーブル310を備えており、これ
はルックアップテーブルに付加される4つの入力信号1
80の論理的組み合わせからなる出力信号を形成するよ
うプログラムすることができる。ルックアップテーブル
の出力信号はレジスタ320によって記録することがで
きる。二次信号(すなわち図5の回路260からのクロ
ックおよびクリア信号)もレジスタ320に付加され
る。レジスタ320の出力信号は各PLC330aおよ
び330bの入力端子に付加される。ルックアップテー
ブル310の記録されない出力信号は、各PLC330
aおよび330bの別の入力端子に付加される。従っ
て、各PLC330aおよび330bは、それぞれ出力
信号340aおよび340bを形成するようにプログラ
ムすることができ、これはルックアップテーブル310
の記録された、または記録されていない出力信号のいず
れかである。
【0029】図7には、各小領域50が、コンダクタ1
60から2つの一次入力180を左側に受信し、コンダ
クタ160からの他の2つの一次入力180を右側に入
力することがより詳細に示されている。図7には、さら
に各小領域50がその一次出力340aのうちの一つを
ドライバ190/200/270の左側に付加し、別の
一次信号340bをドライバ190/200/270の
右側に付加する。各ドライバグループ190/200/
270は、4つの小領域50からの出力340を受信
し、そのうち2つを左側に、他の2つを右側に受信す
る。各ドライバグループ190/200/270の一部
分270は、2つの局部出力信号350aと350bと
を形成し、これらはこのドライバグループを内包する領
域30に近接する2つのコンダクタ160bに付加され
る。各出力信号350は、水平に近接する2つの小領域
50の出力340の中から選択される(この点をより詳
細に示している図8も参照)。大領域20の半分におい
て、図7に示された形式の回路が左右対称に配設され
る。
60から2つの一次入力180を左側に受信し、コンダ
クタ160からの他の2つの一次入力180を右側に入
力することがより詳細に示されている。図7には、さら
に各小領域50がその一次出力340aのうちの一つを
ドライバ190/200/270の左側に付加し、別の
一次信号340bをドライバ190/200/270の
右側に付加する。各ドライバグループ190/200/
270は、4つの小領域50からの出力340を受信
し、そのうち2つを左側に、他の2つを右側に受信す
る。各ドライバグループ190/200/270の一部
分270は、2つの局部出力信号350aと350bと
を形成し、これらはこのドライバグループを内包する領
域30に近接する2つのコンダクタ160bに付加され
る。各出力信号350は、水平に近接する2つの小領域
50の出力340の中から選択される(この点をより詳
細に示している図8も参照)。大領域20の半分におい
て、図7に示された形式の回路が左右対称に配設され
る。
【0030】図8には、代表的なドライバグループ19
0/200/270の詳細が追加的に示されている。例
えば、PLC410は、左上に近接する小領域50の出
力信号340b、右下に近接する小領域50の出力信号
340a、近接する10個の垂直コンダクタの信号10
0、近接する一つの水平コンダクタの信号110の中か
ら一つを選択するようプログラムすることができる。P
LC410によって選択された信号は、ドライバ412
に付加され、さらに近接する広域コンダクタ140に付
加される。PLC420は、左上に近接する小領域50
の出力信号340b、右下に近接する小領域50の出力
信号340a、近接する8個の垂直コンダクタの信号1
00、近接する一つの水平コンダクタの信号110の中
から一つを選択するようプログラムすることができる。
PLC420によって選択された信号は、ドライバ42
2に付加され、さらに(PLC424を介して)近接す
る3つの垂直コンダクタ100の一つまたは近接する2
つの水平コンダクタ110のうちの一つに付加される。
0/200/270の詳細が追加的に示されている。例
えば、PLC410は、左上に近接する小領域50の出
力信号340b、右下に近接する小領域50の出力信号
340a、近接する10個の垂直コンダクタの信号10
0、近接する一つの水平コンダクタの信号110の中か
ら一つを選択するようプログラムすることができる。P
LC410によって選択された信号は、ドライバ412
に付加され、さらに近接する広域コンダクタ140に付
加される。PLC420は、左上に近接する小領域50
の出力信号340b、右下に近接する小領域50の出力
信号340a、近接する8個の垂直コンダクタの信号1
00、近接する一つの水平コンダクタの信号110の中
から一つを選択するようプログラムすることができる。
PLC420によって選択された信号は、ドライバ42
2に付加され、さらに(PLC424を介して)近接す
る3つの垂直コンダクタ100の一つまたは近接する2
つの水平コンダクタ110のうちの一つに付加される。
【0031】PLC430は、左上に近接する小領域5
0の出力信号340b、右上に近接する小領域50の出
力信号340a、近接する12個の垂直コンダクタの信
号100、近接する一つの水平コンダクタの信号110
の中から一つを選択するようプログラムすることができ
る。PLC430によって選択された信号は、ドライバ
432に付加され、さらに近接する広域水平コンダクタ
140に付加される。
0の出力信号340b、右上に近接する小領域50の出
力信号340a、近接する12個の垂直コンダクタの信
号100、近接する一つの水平コンダクタの信号110
の中から一つを選択するようプログラムすることができ
る。PLC430によって選択された信号は、ドライバ
432に付加され、さらに近接する広域水平コンダクタ
140に付加される。
【0032】要素440,442および444は、付加
される小領域出力が左下に近接する小領域50および右
上に近接する小領域50からのものであることを除い
て、一般的に要素420,422および424に類似す
るものである。要素450および452は、付加される
小領域出力が左下に近接する小領域50および右上に近
接する小領域50からのものであることを除いて、一般
的に要素410および412に類似するものである。
される小領域出力が左下に近接する小領域50および右
上に近接する小領域50からのものであることを除い
て、一般的に要素420,422および424に類似す
るものである。要素450および452は、付加される
小領域出力が左下に近接する小領域50および右上に近
接する小領域50からのものであることを除いて、一般
的に要素410および412に類似するものである。
【0033】図8には、さらに局部フィードバック出力
信号350aが左上に近接する小領域50の出力340
bと右上に近接する小領域50の出力340aとから
(PLC460によって)選択されることが示されてい
る。ドライバ462はPLC460によって選択された
信号を増幅する。局部フィードバック出力信号350b
は、左下に近接する小領域50の出力340bと右下に
近接する小領域50の出力340aとから(PLC47
0によって)選択される。
信号350aが左上に近接する小領域50の出力340
bと右上に近接する小領域50の出力340aとから
(PLC460によって)選択されることが示されてい
る。ドライバ462はPLC460によって選択された
信号を増幅する。局部フィードバック出力信号350b
は、左下に近接する小領域50の出力340bと右下に
近接する小領域50の出力340aとから(PLC47
0によって)選択される。
【0034】図8より、左上および右上の小領域50は
左下および右下の小領域50に比べてコンダクタ10
0,110および140に通じる経路をより多く有する
ことが理解されよう。この明らかな不均衡は、左下およ
び右下の小領域に図8に示されるドライバグループ19
0/200の左側および右側に通じる経路をより多く設
けることによって解消され、他方左上および右上の小領
域にはドライバグループ190/200内の左側および
右側に通じる経路がより少なく設けられる。各大領域2
0内の領域30の行に対して交互に水平交差させ、また
同様に大領域20内の小領域50の列を交互に垂直延在
させることによって、全ての小領域50において略均等
なアクセスが達成される。
左下および右下の小領域50に比べてコンダクタ10
0,110および140に通じる経路をより多く有する
ことが理解されよう。この明らかな不均衡は、左下およ
び右下の小領域に図8に示されるドライバグループ19
0/200の左側および右側に通じる経路をより多く設
けることによって解消され、他方左上および右上の小領
域にはドライバグループ190/200内の左側および
右側に通じる経路がより少なく設けられる。各大領域2
0内の領域30の行に対して交互に水平交差させ、また
同様に大領域20内の小領域50の列を交互に垂直延在
させることによって、全ての小領域50において略均等
なアクセスが達成される。
【0035】図9には、典型的なメモリ領域40が示さ
れている。クリフ氏等の米国特許第5550782号公
報、クリフ氏等の米国特許第5689195号公報、お
よび1998年3月3日に提出されたハイル氏等の米国
特許出願第09/034050号に記載されている所定
のメモリ領域構造をメモリ領域40に適用することがで
きる。従って、メモリ領域40の特徴に関する追加的な
説明はここでは省略するものとし、これら全ての参考文
献はここにおいて全体的に参照に組み入れてある。これ
らの点に関する追加的な説明は本発明を理解するために
必要なものではないことが理解されよう。
れている。クリフ氏等の米国特許第5550782号公
報、クリフ氏等の米国特許第5689195号公報、お
よび1998年3月3日に提出されたハイル氏等の米国
特許出願第09/034050号に記載されている所定
のメモリ領域構造をメモリ領域40に適用することがで
きる。従って、メモリ領域40の特徴に関する追加的な
説明はここでは省略するものとし、これら全ての参考文
献はここにおいて全体的に参照に組み入れてある。これ
らの点に関する追加的な説明は本発明を理解するために
必要なものではないことが理解されよう。
【0036】メモリ領域40の主要な構成要素は、64
行32列のRAMビットからなるブロック510であ
る。(メモリ領域40(例えば、ROM、積算項(“p
項”)ロジック等)の使用方式については、RAMを参
考にできると理解される。)回路540および600
は、(図示されていないが、関連付けられたFCEによ
って)メモリ領域40が複数のワード長モードのうちの
いずれか一つにおいて動作し得るようにそれぞれプログ
ラムすることができる。ユーザが選択できるワード長
は、1ビット、2平行ビット、4平行ビット、8平行ビ
ット、および16平行ビットである。
行32列のRAMビットからなるブロック510であ
る。(メモリ領域40(例えば、ROM、積算項(“p
項”)ロジック等)の使用方式については、RAMを参
考にできると理解される。)回路540および600
は、(図示されていないが、関連付けられたFCEによ
って)メモリ領域40が複数のワード長モードのうちの
いずれか一つにおいて動作し得るようにそれぞれプログ
ラムすることができる。ユーザが選択できるワード長
は、1ビット、2平行ビット、4平行ビット、8平行ビ
ット、および16平行ビットである。
【0037】5ビットの書き込みアドレス情報以上のも
のが導線512を介して回路540に付加される。16
ビットの書き込みアドレス情報以上のものが導線514
を介して回路に付加される。16未満のワード長が選択
された場合、データ用には必要のない導線514が追加
的な読み取り/書き込み列アドレスビットに使用され
る。回路540は、導線512/514を介して付加さ
れる情報およびプログラムされたワード長状態を使用し
て、導線542を介してRAMブロック510の1つま
たは複数の列を付勢し、また導線514からのデータを
導線544のうちの適正な一つに伝送する。書き込みア
ドレスデコーダ回路550には、導線516を介して追
加的な6ビットの書き込みアドレス情報が提供される。
回路550は、この情報を使用して、ANDゲート56
0が導線518上の書き込み許可信号によって付勢され
る際に、ANDゲート560および導線562を介して
RAMブロック510の64行のうちの1行を付勢す
る。従って、導線544を介して付加されるデータは、
RAMブロック510内の導線542を介して付勢され
た列内の導線562を介して付勢された行に蓄積され
る。
のが導線512を介して回路540に付加される。16
ビットの書き込みアドレス情報以上のものが導線514
を介して回路に付加される。16未満のワード長が選択
された場合、データ用には必要のない導線514が追加
的な読み取り/書き込み列アドレスビットに使用され
る。回路540は、導線512/514を介して付加さ
れる情報およびプログラムされたワード長状態を使用し
て、導線542を介してRAMブロック510の1つま
たは複数の列を付勢し、また導線514からのデータを
導線544のうちの適正な一つに伝送する。書き込みア
ドレスデコーダ回路550には、導線516を介して追
加的な6ビットの書き込みアドレス情報が提供される。
回路550は、この情報を使用して、ANDゲート56
0が導線518上の書き込み許可信号によって付勢され
る際に、ANDゲート560および導線562を介して
RAMブロック510の64行のうちの1行を付勢す
る。従って、導線544を介して付加されるデータは、
RAMブロック510内の導線542を介して付勢され
た列内の導線562を介して付勢された行に蓄積され
る。
【0038】メモリ領域40は2つの異なったモードで
読み取ることができ:それらはRAMモードおよびp項
モードである。まずRAMモードについて説明すると、
6ビットの読み取りアドレス情報が導線520を介して
読み取りアドレスデコーダ570に付加される。デコー
ダ570は、この情報を使用して、ANDゲート580
が導線522上の読み取り許可信号によって付勢される
際に、RAMブロック510の64行のうち一つを選択
する。RAMモードPLC590は、ANDゲート58
0の出力信号をRAMブロック510の読み取り付勢導
線592に付加するようプログラムされる。RAMブロ
ックの行から読み取られ従って付勢されたデータは、導
線598を介して出力される。回路600は、導線52
4を介してさらに5ビット以上の読み取りアドレス情報
を受信する。回路600はこの情報およびそのプログラ
ムされた状態(前述したようにユーザによって選択され
たワード長を示すもの)を使用し、導線602を介する
出力について1,2,4,8または16のデータビット
の中から選択する。
読み取ることができ:それらはRAMモードおよびp項
モードである。まずRAMモードについて説明すると、
6ビットの読み取りアドレス情報が導線520を介して
読み取りアドレスデコーダ570に付加される。デコー
ダ570は、この情報を使用して、ANDゲート580
が導線522上の読み取り許可信号によって付勢される
際に、RAMブロック510の64行のうち一つを選択
する。RAMモードPLC590は、ANDゲート58
0の出力信号をRAMブロック510の読み取り付勢導
線592に付加するようプログラムされる。RAMブロ
ックの行から読み取られ従って付勢されたデータは、導
線598を介して出力される。回路600は、導線52
4を介してさらに5ビット以上の読み取りアドレス情報
を受信する。回路600はこの情報およびそのプログラ
ムされた状態(前述したようにユーザによって選択され
たワード長を示すもの)を使用し、導線602を介する
出力について1,2,4,8または16のデータビット
の中から選択する。
【0039】p項モードにおいては、通常は高位の読み
取りアドレス信号に使用される16本の導線514、6
本の導線520、および4本の導線520からの導線5
30上に32ビットのいわゆる“p項定数”が形成され
る。前記の米国特許出願第09/023251号により
詳しく記載されているように、これらの高位のアドレス
ビットは、列内のいくつかのメモリ領域40を同時使用
して一つのメモリ領域のみによって提供されるものより
も奥深いメモリを提供する際に使用される。導線530
上の信号は、インバータ532によって反転され、導線
530の真数および補数バージョンの信号の両方が導線
534を介してPLC590に付加される。p項モード
においては、PLC590は導線534上の信号を導線
594に付加するようにプログラムされる。従って、R
AMブロック510内の半分の行は同時に読み取りを行
い、従ってこれらの行は導線530上のp項定数のビッ
トが論理1でありまたこれらビットが論理0であること
によって決定されて読み取りを行う。RAMブロック5
10内の各列は、付勢された行内に蓄積されたデータの
積を結合された導線598を介して出力する。回路60
0内におけるORゲートおよび関連する要素は、導線5
98上の積の合計を形成し導線602を介して出力す
る。従って、p項モードにおいてメモリ領域40は導線
602上の出力信号の積和を形成する。
取りアドレス信号に使用される16本の導線514、6
本の導線520、および4本の導線520からの導線5
30上に32ビットのいわゆる“p項定数”が形成され
る。前記の米国特許出願第09/023251号により
詳しく記載されているように、これらの高位のアドレス
ビットは、列内のいくつかのメモリ領域40を同時使用
して一つのメモリ領域のみによって提供されるものより
も奥深いメモリを提供する際に使用される。導線530
上の信号は、インバータ532によって反転され、導線
530の真数および補数バージョンの信号の両方が導線
534を介してPLC590に付加される。p項モード
においては、PLC590は導線534上の信号を導線
594に付加するようにプログラムされる。従って、R
AMブロック510内の半分の行は同時に読み取りを行
い、従ってこれらの行は導線530上のp項定数のビッ
トが論理1でありまたこれらビットが論理0であること
によって決定されて読み取りを行う。RAMブロック5
10内の各列は、付勢された行内に蓄積されたデータの
積を結合された導線598を介して出力する。回路60
0内におけるORゲートおよび関連する要素は、導線5
98上の積の合計を形成し導線602を介して出力す
る。従って、p項モードにおいてメモリ領域40は導線
602上の出力信号の積和を形成する。
【0040】図10には、RAMブロック510内の代
表的なメモリセルの構造が示されている。インバータ7
10および720は、1ビットのデータを蓄積するため
に閉ループ式に接続されている。データを真数および補
数形式において導線544および544バーにそれぞれ
付加し、書き込み列選択導線542および行書き込み導
線562に論理1を付加することによって、インバータ
710/720内にデータが書き込まれる。これらの論
理1信号は、トランジスタ730,740,750およ
び760を付勢し、これによってインバータ710/7
20が付加されたデータを記録することを誘引する。
表的なメモリセルの構造が示されている。インバータ7
10および720は、1ビットのデータを蓄積するため
に閉ループ式に接続されている。データを真数および補
数形式において導線544および544バーにそれぞれ
付加し、書き込み列選択導線542および行書き込み導
線562に論理1を付加することによって、インバータ
710/720内にデータが書き込まれる。これらの論
理1信号は、トランジスタ730,740,750およ
び760を付勢し、これによってインバータ710/7
20が付加されたデータを記録することを誘引する。
【0041】行読み取り導線592に論理1を付加する
ことによってインバータ710/720からデータが読
み取られる。このことによってトランジスタ780が付
勢される。トランジスタ770もインバータ710から
の論理1出力によって付勢され、ソースライン598a
とドレインライン598bとの間に導電路が形成され
る。検出アンプ(図9の600)は、ライン598aと
598bの間にこのような導電路が存在するかどうかを
検出する。
ことによってインバータ710/720からデータが読
み取られる。このことによってトランジスタ780が付
勢される。トランジスタ770もインバータ710から
の論理1出力によって付勢され、ソースライン598a
とドレインライン598bとの間に導電路が形成され
る。検出アンプ(図9の600)は、ライン598aと
598bの間にこのような導電路が存在するかどうかを
検出する。
【0042】図11には、典型的なメモリ領域40がど
のように近接する相互接続コンダクタに接続されるかが
示されている。図11には、大領域20の一部であるメ
モリ領域40が示されており、これにおいてロジック領
域30はメモリ領域40の左側にある。ロジック領域3
0がメモリ領域40の右側にある場合、回路は図11に
対して対称形となる。利便性のため、メモリ領域40の
側方のロジック30に近接するサイドを時々“領域サイ
ド”と呼称する。メモリ領域40の近接するロジック領
域30から遠い方のサイドは、時々メモリ領域の“大領
域サイド”と呼称する。
のように近接する相互接続コンダクタに接続されるかが
示されている。図11には、大領域20の一部であるメ
モリ領域40が示されており、これにおいてロジック領
域30はメモリ領域40の左側にある。ロジック領域3
0がメモリ領域40の右側にある場合、回路は図11に
対して対称形となる。利便性のため、メモリ領域40の
側方のロジック30に近接するサイドを時々“領域サイ
ド”と呼称する。メモリ領域40の近接するロジック領
域30から遠い方のサイドは、時々メモリ領域の“大領
域サイド”と呼称する。
【0043】図9においてデータ信号514である信号
は、図11においては回路810から来るものとなる。
回路810はレジスタのグループであり、これは(1)
メモリ領域40のロジック領域サイドからこの回路に供
給を行う導線180からのレジスタ信号に使用するか、
または(2)これらの導線180の記録されていない接
続を導線514へバイパスさせることを可能にすること
ができる。従って、導線514を介してRAMブロック
510に付加されるデータは、回路810のプログラム
可能な制御によって、“記録するかまたはバイパス”さ
れる。“記録するかバイパスするか”の選択は、以下に
記述するように図11内の他の信号にも適用することが
できる。
は、図11においては回路810から来るものとなる。
回路810はレジスタのグループであり、これは(1)
メモリ領域40のロジック領域サイドからこの回路に供
給を行う導線180からのレジスタ信号に使用するか、
または(2)これらの導線180の記録されていない接
続を導線514へバイパスさせることを可能にすること
ができる。従って、導線514を介してRAMブロック
510に付加されるデータは、回路810のプログラム
可能な制御によって、“記録するかまたはバイパス”さ
れる。“記録するかバイパスするか”の選択は、以下に
記述するように図11内の他の信号にも適用することが
できる。
【0044】回路820は、導線150から高速ライン
およびクロック信号を受信し、さらにメモリ領域40の
ロジック領域サイド上に結合された導線180からの別
の3つの信号を受信する。回路820への別の入力は、
回路830からの付勢信号であり、これは、単一のメモ
リ領域が生成するものよりもより奥深いメモリを提供す
るために同時に使用される複数のメモリ領域40のうち
の任意の一つへの書き込みを制御するために使用される
高位のアドレスビットをデコードする。回路820は、
少なくとも部分的に入力150および/または180に
基づきまたメモリ領域40の何処かで使用される複数の
信号を提供するようプログラムすることができる。例え
ば、回路820は、前述した回路810内のレジスタに
よって使用されるクロックおよびクリア信号を供給す
る。回路820は、さらに行書き込みアドレスデコーダ
回路550に対して書き込み許可信号を提供する。
およびクロック信号を受信し、さらにメモリ領域40の
ロジック領域サイド上に結合された導線180からの別
の3つの信号を受信する。回路820への別の入力は、
回路830からの付勢信号であり、これは、単一のメモ
リ領域が生成するものよりもより奥深いメモリを提供す
るために同時に使用される複数のメモリ領域40のうち
の任意の一つへの書き込みを制御するために使用される
高位のアドレスビットをデコードする。回路820は、
少なくとも部分的に入力150および/または180に
基づきまたメモリ領域40の何処かで使用される複数の
信号を提供するようプログラムすることができる。例え
ば、回路820は、前述した回路810内のレジスタに
よって使用されるクロックおよびクリア信号を供給す
る。回路820は、さらに行書き込みアドレスデコーダ
回路550に対して書き込み許可信号を提供する。
【0045】回路840は、書き込み列デコーダ回路5
40による書き込み列選択のために使用されるアドレス
信号522のための“記録されるかまたはバイパスされ
る”選択を提供する。従って、回路540は、5つの信
号を受信することに加えて、回路810は受信するもの
と同じクロックおよびクリア信号を回路820から受信
する。
40による書き込み列選択のために使用されるアドレス
信号522のための“記録されるかまたはバイパスされ
る”選択を提供する。従って、回路540は、5つの信
号を受信することに加えて、回路810は受信するもの
と同じクロックおよびクリア信号を回路820から受信
する。
【0046】回路850は、メモリ40内の何処かにお
いて第1に出力制御に使用される信号を提供することを
除いて、回路820に類似するものとなる。例えば、回
路850はクロックおよびクリア信号を形成し、これは
“記録されたまたはバイパスされた”回路860および
870内および回路600の出力段640内のレジスタ
によって使用することができる。各回路860,870
および640は、回路820からのクロックおよびクリ
ア信号を交互に使用する。回路850は、メモリ領域4
0の大領域サイドからの入力を受信する。回路850
は、さらに回路880からの付勢信号を受信する。この
付勢信号を提供する際に、回路880は回路830にい
くらか似た動作を行う。特に、一つのメモリ領域による
ものよりも奥深いメモリを提供するために複数のメモリ
領域40を同時に使用する際に、回路880はより高位
のアドレス信号を受信およびデコードし、結合されてい
るメモリ領域が実際にデータを出力しているものかどう
かを判断する。そうである場合、回路880は回路85
0を付勢する信号を出力し、これは次に読み込み許可信
号522を回路590に付加する。
いて第1に出力制御に使用される信号を提供することを
除いて、回路820に類似するものとなる。例えば、回
路850はクロックおよびクリア信号を形成し、これは
“記録されたまたはバイパスされた”回路860および
870内および回路600の出力段640内のレジスタ
によって使用することができる。各回路860,870
および640は、回路820からのクロックおよびクリ
ア信号を交互に使用する。回路850は、メモリ領域4
0の大領域サイドからの入力を受信する。回路850
は、さらに回路880からの付勢信号を受信する。この
付勢信号を提供する際に、回路880は回路830にい
くらか似た動作を行う。特に、一つのメモリ領域による
ものよりも奥深いメモリを提供するために複数のメモリ
領域40を同時に使用する際に、回路880はより高位
のアドレス信号を受信およびデコードし、結合されてい
るメモリ領域が実際にデータを出力しているものかどう
かを判断する。そうである場合、回路880は回路85
0を付勢する信号を出力し、これは次に読み込み許可信
号522を回路590に付加する。
【0047】回路860は、回路600による読み取り
列選択のために使用されるアドレス信号に対して“記録
されるかまたはバイパスされる”選択を提供する。回路
600内の列デコーダ回路620が実際に列選択を実行
する。さらに他の列選択は、回路630によってプログ
ラムに基づいて16ビット、8ビット、4ビット、2ビ
ット、1ビットのいずれのワード長が使用されているか
を判断して実行される。回路860は、回路820また
は回路850のいずれかからのクロック信号およびクリ
ア信号を使用するようプログラムすることができる。
列選択のために使用されるアドレス信号に対して“記録
されるかまたはバイパスされる”選択を提供する。回路
600内の列デコーダ回路620が実際に列選択を実行
する。さらに他の列選択は、回路630によってプログ
ラムに基づいて16ビット、8ビット、4ビット、2ビ
ット、1ビットのいずれのワード長が使用されているか
を判断して実行される。回路860は、回路820また
は回路850のいずれかからのクロック信号およびクリ
ア信号を使用するようプログラムすることができる。
【0048】回路870は、回路550による書き込み
行選択、および回路590による読み取り行選択のため
に使用されるアドレスビットに対して“記録されるかま
たはバイパスされる”選択を提供する。回路870は、
回路820および回路850の両方からクロックおよび
クリア信号を受信する。回路870は、さらに、回路8
80によって実行されるより高位のアドレスビットデコ
ードに対して“記録されるかまたはバイパスされる”選
択を提供する際に回路880が使用するクロックおよび
クリア信号を送信する。回路880は、回路880内の
トライステートドライバ210(図3)およびPLC8
82(例えば、1対4デマルチプレクサ)を介してメモ
リ領域40からトライステート垂直コンダクタ100′
の一つに付加するために使用することができる。この特
徴は、特に一つのメモリ領域自体によるものよりも奥深
いメモリを提供するために複数のメモリ領域40が同時
に使用される際に適用される。回路880は、導線18
0を介して受信するより高位のアドレスビットをデコー
ドし、これによってトライステートドライバ210(図
3)をいつ付勢するかを決定する。
行選択、および回路590による読み取り行選択のため
に使用されるアドレスビットに対して“記録されるかま
たはバイパスされる”選択を提供する。回路870は、
回路820および回路850の両方からクロックおよび
クリア信号を受信する。回路870は、さらに、回路8
80によって実行されるより高位のアドレスビットデコ
ードに対して“記録されるかまたはバイパスされる”選
択を提供する際に回路880が使用するクロックおよび
クリア信号を送信する。回路880は、回路880内の
トライステートドライバ210(図3)およびPLC8
82(例えば、1対4デマルチプレクサ)を介してメモ
リ領域40からトライステート垂直コンダクタ100′
の一つに付加するために使用することができる。この特
徴は、特に一つのメモリ領域自体によるものよりも奥深
いメモリを提供するために複数のメモリ領域40が同時
に使用される際に適用される。回路880は、導線18
0を介して受信するより高位のアドレスビットをデコー
ドし、これによってトライステートドライバ210(図
3)をいつ付勢するかを決定する。
【0049】回路640は、回路630によって選択さ
れたメモリ出力信号を送信するか、または検出アンプ回
路610の出力によって表示される所要の積算項(“p
項”)の和を形成するようプログラムすることができ
る。回路630の構成に関する詳細な説明は前述したハ
イル氏等の米国特許出願第09/034050号に示さ
れている。従って、回路640は付加されたp項信号の
種々の和を形成するために必要とされるOR回路を含ん
でいる。回路640も回路820および850からのク
ロックおよびクリア信号を受信し、回路630の出力ま
たは回路640内で形成される積和信号のいずれかに対
する“記録されるかまたはバイパスされる”選択を提供
する際にこれらの信号を使用することができる。
れたメモリ出力信号を送信するか、または検出アンプ回
路610の出力によって表示される所要の積算項(“p
項”)の和を形成するようプログラムすることができ
る。回路630の構成に関する詳細な説明は前述したハ
イル氏等の米国特許出願第09/034050号に示さ
れている。従って、回路640は付加されたp項信号の
種々の和を形成するために必要とされるOR回路を含ん
でいる。回路640も回路820および850からのク
ロックおよびクリア信号を受信し、回路630の出力ま
たは回路640内で形成される積和信号のいずれかに対
する“記録されるかまたはバイパスされる”選択を提供
する際にこれらの信号を使用することができる。
【0050】図11の左側(すなわちメモリ領域40の
領域サイド上)のドライババンク190/200/27
0は、(1)領域30から左方への小領域出力信号34
0bと、(2)メモリ領域40の選択された出力と、
(3)垂直コンダクタ100から左方への信号と、
(4)このメモリ領域を内包する大領域20の行に結合
された水平コンダクタ110からの信号とを受信する。
このドライババンク190/200/270は、これら
の信号からの選択を行うとともに、これらを(1)近接
する局部フィードバックコンダクタ160bと、(2)
前記の垂直コンダクタ100および110と、(3)当
該メモリ領域40を内包する大領域20に結合された広
域水平コンダクタ140のうちから選択されたものに伝
送するようプログラムすることができる。
領域サイド上)のドライババンク190/200/27
0は、(1)領域30から左方への小領域出力信号34
0bと、(2)メモリ領域40の選択された出力と、
(3)垂直コンダクタ100から左方への信号と、
(4)このメモリ領域を内包する大領域20の行に結合
された水平コンダクタ110からの信号とを受信する。
このドライババンク190/200/270は、これら
の信号からの選択を行うとともに、これらを(1)近接
する局部フィードバックコンダクタ160bと、(2)
前記の垂直コンダクタ100および110と、(3)当
該メモリ領域40を内包する大領域20に結合された広
域水平コンダクタ140のうちから選択されたものに伝
送するようプログラムすることができる。
【0051】図11の右側(すなわちメモリ領域40の
大領域サイド上)のドライババンク190/200は、
(1)メモリ領域40の全ての出力と、(2)垂直コン
ダクタ100/100′から右方への信号と、(3)こ
のメモリ領域を内包する大領域20の行と結合された水
平コンダクタ110からの信号とを受信する。このドラ
イババンクは、これらの信号からの選択を行うととも
に、これらを前記の垂直コンダクタ100および110
と、当該メモリ領域40を内包する大領域20に結合さ
れた広域水平コンダクタ140のうちから選択されたも
のに伝送するようプログラムすることができる。
大領域サイド上)のドライババンク190/200は、
(1)メモリ領域40の全ての出力と、(2)垂直コン
ダクタ100/100′から右方への信号と、(3)こ
のメモリ領域を内包する大領域20の行と結合された水
平コンダクタ110からの信号とを受信する。このドラ
イババンクは、これらの信号からの選択を行うととも
に、これらを前記の垂直コンダクタ100および110
と、当該メモリ領域40を内包する大領域20に結合さ
れた広域水平コンダクタ140のうちから選択されたも
のに伝送するようプログラムすることができる。
【0052】図11には、さらに回路590へのp項定
数信号530の付加が示されている。従って、回路59
0はさらに図9に示されたインバータ532およびマル
チプレクシング590を備えている。
数信号530の付加が示されている。従って、回路59
0はさらに図9に示されたインバータ532およびマル
チプレクシング590を備えている。
【0053】図12には、図11に示された2つのドラ
イババンク190/200/270および190/20
0の例示的な構成がより詳細に示されている。図12に
おいて“A”のラベルを付けられたドライバグループ
は、図8に示されたドライバグループと同様のものとす
ることができる。(図8の部分270は、図12のグル
ープが駆動され得る局部コンダクタ160bに結合され
ているかどうかに依存して、図12内の各グループAに
含まれる場合と含まれない場合がある。)図12におい
て“B”でラベルされたドライバグループは、前述した
図8に代わるものと類似のものとすることができ、これ
は図8のドライバグループと交替してこれらのドライバ
によって提供される相互接続に対して略全体的な均一性
を提供する。図12には、メモリ領域の16個の出力6
02がどのように種々のドライバAおよびBの入力に分
配されるか示されており、図12における殆どの場合に
おいて図示された信号602は図8内の該当する位置に
ある小領域出力340を代替するものであることが理解
される。例えば、図12の左上のドライバグループA内
の小領域50からの2つの左側入力は図8のものと同様
であるが、2つの右側入力はビット0およびビット2に
対するメモリ領域出力602となる。別の例において
は、右上のドライバグループA内の左側の2つの個々の
入力は、ビット0およびビット1に対するメモリ領域出
力602となり、右側の2つの入力はビット8およびビ
ット9に対するメモリ領域出力602となる。図12に
おいて、各メモリ領域出力に対して近接するコンダクタ
100,110および140への複数の異なった経路を
提供するために充分な接続が設けられている。図12に
は、さらにPLC882を介してのコンダクタ100′
へのトライステート出力が示されている。
イババンク190/200/270および190/20
0の例示的な構成がより詳細に示されている。図12に
おいて“A”のラベルを付けられたドライバグループ
は、図8に示されたドライバグループと同様のものとす
ることができる。(図8の部分270は、図12のグル
ープが駆動され得る局部コンダクタ160bに結合され
ているかどうかに依存して、図12内の各グループAに
含まれる場合と含まれない場合がある。)図12におい
て“B”でラベルされたドライバグループは、前述した
図8に代わるものと類似のものとすることができ、これ
は図8のドライバグループと交替してこれらのドライバ
によって提供される相互接続に対して略全体的な均一性
を提供する。図12には、メモリ領域の16個の出力6
02がどのように種々のドライバAおよびBの入力に分
配されるか示されており、図12における殆どの場合に
おいて図示された信号602は図8内の該当する位置に
ある小領域出力340を代替するものであることが理解
される。例えば、図12の左上のドライバグループA内
の小領域50からの2つの左側入力は図8のものと同様
であるが、2つの右側入力はビット0およびビット2に
対するメモリ領域出力602となる。別の例において
は、右上のドライバグループA内の左側の2つの個々の
入力は、ビット0およびビット1に対するメモリ領域出
力602となり、右側の2つの入力はビット8およびビ
ット9に対するメモリ領域出力602となる。図12に
おいて、各メモリ領域出力に対して近接するコンダクタ
100,110および140への複数の異なった経路を
提供するために充分な接続が設けられている。図12に
は、さらにPLC882を介してのコンダクタ100′
へのトライステート出力が示されている。
【0054】前記の説明から、本発明に係るプログラマ
ブルロジックデバイス構造は、メモリ領域40をデバイ
ス上のロジック領域30の各グループと結合して備える
ことが理解される。各メモリ領域40は、コンバータ1
40および160等の比較的局部的な相互接続リソース
を介して、結合されたロジック領域30と共に使用する
ことができる。一般的に、このようにメモリ領域40を
結合されたロジック領域30と共に使用するために、コ
ンダクタ100および110等のより高価で長大な相互
接続リソースを用いる必要はない。このようにロジック
領域30およびメモリ領域40は大領域内において互い
に関連付けられているが、これらの全ての領域は装置の
広域的なリソースとして機能することもできる。特に、
全てのロジック領域30およびメモリ領域40は、コン
ダクタ100および110等の相互接続リソースへのア
クセスも備えている。従って、デバイス上のいずれかの
領域30または40の入力および出力は、実質的にデバ
イス上の他のいずれかの領域30および40の入力およ
び出力に接続することができる。
ブルロジックデバイス構造は、メモリ領域40をデバイ
ス上のロジック領域30の各グループと結合して備える
ことが理解される。各メモリ領域40は、コンバータ1
40および160等の比較的局部的な相互接続リソース
を介して、結合されたロジック領域30と共に使用する
ことができる。一般的に、このようにメモリ領域40を
結合されたロジック領域30と共に使用するために、コ
ンダクタ100および110等のより高価で長大な相互
接続リソースを用いる必要はない。このようにロジック
領域30およびメモリ領域40は大領域内において互い
に関連付けられているが、これらの全ての領域は装置の
広域的なリソースとして機能することもできる。特に、
全てのロジック領域30およびメモリ領域40は、コン
ダクタ100および110等の相互接続リソースへのア
クセスも備えている。従って、デバイス上のいずれかの
領域30または40の入力および出力は、実質的にデバ
イス上の他のいずれかの領域30および40の入力およ
び出力に接続することができる。
【0055】図13には、データ処理システム1002
内に設置された本発明に係るプログラマブルロジックデ
バイスが示されている。データ処理システム1002
は:プロセッサ1004;メモリ1006;I/O回路
1008;および周辺機器1010のうちの一つまたは
複数を備えている。これらの要素はシステムバス102
0によって結合されるとともに、エンドユーザシステム
1040内に設けられた回路基板1030上に配設され
ている。
内に設置された本発明に係るプログラマブルロジックデ
バイスが示されている。データ処理システム1002
は:プロセッサ1004;メモリ1006;I/O回路
1008;および周辺機器1010のうちの一つまたは
複数を備えている。これらの要素はシステムバス102
0によって結合されるとともに、エンドユーザシステム
1040内に設けられた回路基板1030上に配設され
ている。
【0056】システム1002は、例えばコンピュータ
ネットワーキング、データネットワーキング、計測、ビ
デオ処理、デジタル信号処理、またはその他のプログラ
マブルまたはリプログラマブルロジックの利点を利用し
得る広範な適用方式において使用することができる。プ
ログラマブルロジックデバイス10は、種々の異なった
ロジック機能を実施するために使用することができる。
例えば、プログラマブルロジックデバイス10は、プロ
セッサ1004と連動して機能するプロセッサまたはコ
ントローラとして構成することができる。プログラマブ
ルロジックデバイス10は、さらにシステム1002内
の共用リソースへのアクセスを仲介するためのアービタ
として使用することもできる。さらに別の例において、
プログラマブルロジックデバイス10は、プロセッサ1
004とシステム1002内の別の構成要素との間のイ
ンタフェースとして構成することができる。システム1
002は単に説明のためのものであり、本発明の本質的
な視点および概念は請求の範囲によってのみ定義される
ことが理解されよう。
ネットワーキング、データネットワーキング、計測、ビ
デオ処理、デジタル信号処理、またはその他のプログラ
マブルまたはリプログラマブルロジックの利点を利用し
得る広範な適用方式において使用することができる。プ
ログラマブルロジックデバイス10は、種々の異なった
ロジック機能を実施するために使用することができる。
例えば、プログラマブルロジックデバイス10は、プロ
セッサ1004と連動して機能するプロセッサまたはコ
ントローラとして構成することができる。プログラマブ
ルロジックデバイス10は、さらにシステム1002内
の共用リソースへのアクセスを仲介するためのアービタ
として使用することもできる。さらに別の例において、
プログラマブルロジックデバイス10は、プロセッサ1
004とシステム1002内の別の構成要素との間のイ
ンタフェースとして構成することができる。システム1
002は単に説明のためのものであり、本発明の本質的
な視点および概念は請求の範囲によってのみ定義される
ことが理解されよう。
【0057】本発明に係るプログラマブルロジックデバ
イスを実施するために、種々の技術ならびにこれらのデ
バイスの種々の構成要素(例えば、前述したPLC、な
らびにPLCを制御するFCE)を使用することができ
る。例えば、各PLCはスイッチまたはスイッチ群等の
比較的単純なプログラマブルコネクタとすることがで
き、これによって複数の入力のうちのいずれか一つが出
力に接続する。他方、各PLCは、接続を形成するとと
もにロジック(例えば、入力のいくつかを論理的に接続
する)を実行することができるより複雑な要素とするこ
とができる。後者において、各PLCは、例えば、AN
D,NAND,OR,またはNOR等の関数を実行する
積算項ロジックとすることができる。PLCを実施する
ために適した構成要素の例としては、EPROM、EE
PROM、パストランジスタ、伝送ゲート、アンチヒュ
ーズ、レーザヒューズ、メタルオプショナル連係装置等
が挙げられる。前述したように、PLCの要素は、種々
のプログラム可能な機能制御要素(“FCE”)によっ
て制御することができる。(特定のPLC実施形態(例
えばヒューズおよびメタルオプショナル連係装置)にお
いては独立したFCEデバイスは不要である。)FCE
はさらに複数の異なった方式で実施することができる。
例えば、FCEは、SRAM、DRAM、ファーストイ
ンファーストアウト(“FIFO”)メモリ、EPRO
M、EEPROM、機能制御レジスタ(例えばウォール
ストロムの米国特許第3473160号公報参照)、強
誘電体メモリ、ヒューズ、アンチヒューズ等とすること
ができる。前述した種々の例から、本発明は一回のみプ
ログラム可能なデバイスおよび再プログラムが可能なデ
バイスの双方に適用し得ることが理解されよう。
イスを実施するために、種々の技術ならびにこれらのデ
バイスの種々の構成要素(例えば、前述したPLC、な
らびにPLCを制御するFCE)を使用することができ
る。例えば、各PLCはスイッチまたはスイッチ群等の
比較的単純なプログラマブルコネクタとすることがで
き、これによって複数の入力のうちのいずれか一つが出
力に接続する。他方、各PLCは、接続を形成するとと
もにロジック(例えば、入力のいくつかを論理的に接続
する)を実行することができるより複雑な要素とするこ
とができる。後者において、各PLCは、例えば、AN
D,NAND,OR,またはNOR等の関数を実行する
積算項ロジックとすることができる。PLCを実施する
ために適した構成要素の例としては、EPROM、EE
PROM、パストランジスタ、伝送ゲート、アンチヒュ
ーズ、レーザヒューズ、メタルオプショナル連係装置等
が挙げられる。前述したように、PLCの要素は、種々
のプログラム可能な機能制御要素(“FCE”)によっ
て制御することができる。(特定のPLC実施形態(例
えばヒューズおよびメタルオプショナル連係装置)にお
いては独立したFCEデバイスは不要である。)FCE
はさらに複数の異なった方式で実施することができる。
例えば、FCEは、SRAM、DRAM、ファーストイ
ンファーストアウト(“FIFO”)メモリ、EPRO
M、EEPROM、機能制御レジスタ(例えばウォール
ストロムの米国特許第3473160号公報参照)、強
誘電体メモリ、ヒューズ、アンチヒューズ等とすること
ができる。前述した種々の例から、本発明は一回のみプ
ログラム可能なデバイスおよび再プログラムが可能なデ
バイスの双方に適用し得ることが理解されよう。
【0058】以上の記述は単に本発明の原理を説明する
目的のものであり、当業者においては本発明の視点およ
び概念を逸脱することなく種々の設計変更をなし得るこ
とが理解されよう。例えば、ロジックユニット階層内の
各レベルにおけるロジックユニットの数は、ここで説明
した実施例と異なったものとすることができる。同様
に、種々の形式の相互接続コンダクタおよび他の要素の
数も前述の実施例と異なったものとすることができる。
必要に応じて、異なった形式およびサイズのロジックお
よびメモリユニットを使用することができる。さらに、
“行”および“列”、“水平”および“垂直”、“左”
および“右”、“最上部”および“底部”、ならびにそ
の他の方向および方向付け表現は、単に利便性のために
使用されており、これらの表現を使用する上で固定的ま
たは絶対的な方向を意図するものではない。例えば、上
記の各対の表記は、必要に応じて逆転させることができ
る。
目的のものであり、当業者においては本発明の視点およ
び概念を逸脱することなく種々の設計変更をなし得るこ
とが理解されよう。例えば、ロジックユニット階層内の
各レベルにおけるロジックユニットの数は、ここで説明
した実施例と異なったものとすることができる。同様
に、種々の形式の相互接続コンダクタおよび他の要素の
数も前述の実施例と異なったものとすることができる。
必要に応じて、異なった形式およびサイズのロジックお
よびメモリユニットを使用することができる。さらに、
“行”および“列”、“水平”および“垂直”、“左”
および“右”、“最上部”および“底部”、ならびにそ
の他の方向および方向付け表現は、単に利便性のために
使用されており、これらの表現を使用する上で固定的ま
たは絶対的な方向を意図するものではない。例えば、上
記の各対の表記は、必要に応じて逆転させることができ
る。
【図1】本発明に従って構成された典型的なプログラマ
ブルロジックアレー集積回路デバイスの代表的な部分を
示す概略ブロック線図である。
ブルロジックアレー集積回路デバイスの代表的な部分を
示す概略ブロック線図である。
【図2】図1のデバイスの追加的な要素を示す代表的な
部分の概略ブロック線図である。
部分の概略ブロック線図である。
【図3】図1のデバイスのさらに別の要素を示す代表的
な部分のより詳しいが依然として簡略化された概略ブロ
ック線図である。
な部分のより詳しいが依然として簡略化された概略ブロ
ック線図である。
【図4】図1のデバイスのさらに別の要素を示す代表的
な部分のより詳しいが依然として簡略化された概略ブロ
ック線図である。
な部分のより詳しいが依然として簡略化された概略ブロ
ック線図である。
【図5】図1のデバイスのさらに別の要素を示す代表的
な部分のより詳しいが依然として簡略化された概略ブロ
ック線図である。
な部分のより詳しいが依然として簡略化された概略ブロ
ック線図である。
【図6】図1のデバイスの別の側面を示す代表的な部分
のより詳しいが依然として簡略化された概略ブロック線
図である。
のより詳しいが依然として簡略化された概略ブロック線
図である。
【図7】図1のデバイスのさらに別の側面を示す代表的
な部分のより詳しいが依然として簡略化された概略ブロ
ック線図である。
な部分のより詳しいが依然として簡略化された概略ブロ
ック線図である。
【図8】図7の回路の各部を示すより詳しいが依然とし
て簡略化された概略ブロック線図である。
て簡略化された概略ブロック線図である。
【図9】図1のデバイスのさらに別の側面を示す代表的
な部分のより詳しいが依然として簡略化された概略ブロ
ック線図である。
な部分のより詳しいが依然として簡略化された概略ブロ
ック線図である。
【図10】図9の回路の代表的な部分を示す概略図であ
る。
る。
【図11A】図9の回路の各部を示すより詳しいが依然
として簡略化された概略ブロック線図である。
として簡略化された概略ブロック線図である。
【図11B】図11Aの分図である。
【図12】図1のデバイスのさらに別の側面を示す代表
的な部分の概略ブロック線図である。
的な部分の概略ブロック線図である。
【図13】本発明に係るプログラマブルロジックデバイ
スを使用する例示的なシステムを示す概略ブロック線図
である。
スを使用する例示的なシステムを示す概略ブロック線図
である。
【符号の説明】 10 プログラマブルロジックデバイス 20 大領域 30 ロジック領域 40 メモリ領域 50 小領域 60,70 I/O端子 80,90 ライン 100,100′,110,140,150,160,
180,220,241′ コンダクタ 120,130,250 バッファ 122,132,242,252 FCE 162 交差部分 170,241,244,330,410,420,4
24,430,440,444,460,470,59
0,882 PLC 190,200,210,240,270,412,4
22,432,442,462 ドライバ 230 端子 260,540,550,600,610,620,6
30,640,810,820,830,840,85
0,860,870,880 回路 310 ルックアップテーブル 320 レジスタ 340,350 出力信号 510 ブロック 512,514,516,520,522,524,5
30,534,542,544,562,592,59
8,602 導線 532,710,720 インバータ 560,580 ANDゲート 570 デコーダ 730,740,750,760,770 トランジス
タ 1002 データ処理システム 1004 プロセッサ 1006 メモリ 1008 I/O回路 1010 周辺機器 1020 システムバス 1030 回路基板 1040 エンドユーザシステム
180,220,241′ コンダクタ 120,130,250 バッファ 122,132,242,252 FCE 162 交差部分 170,241,244,330,410,420,4
24,430,440,444,460,470,59
0,882 PLC 190,200,210,240,270,412,4
22,432,442,462 ドライバ 230 端子 260,540,550,600,610,620,6
30,640,810,820,830,840,85
0,860,870,880 回路 310 ルックアップテーブル 320 レジスタ 340,350 出力信号 510 ブロック 512,514,516,520,522,524,5
30,534,542,544,562,592,59
8,602 導線 532,710,720 インバータ 560,580 ANDゲート 570 デコーダ 730,740,750,760,770 トランジス
タ 1002 データ処理システム 1004 プロセッサ 1006 メモリ 1008 I/O回路 1010 周辺機器 1020 システムバス 1030 回路基板 1040 エンドユーザシステム
───────────────────────────────────────────────────── フロントページの続き (72)発明者 キャメロン マクリントック アメリカ合衆国、カリフォルニア 95134、 サン ホセ、イノベーション ドライブ 101、ケアオブ アルテラ コーポレーシ ョン (72)発明者 ジェームズ シュライカー アメリカ合衆国、カリフォルニア 95134、 サン ホセ、イノベーション ドライブ 101、ケアオブ アルテラ コーポレーシ ョン (72)発明者 アンディー エル リー アメリカ合衆国、カリフォルニア 95134、 サン ホセ、イノベーション ドライブ 101、ケアオブ アルテラ コーポレーシ ョン (72)発明者 マニュエル メヒーア アメリカ合衆国、カリフォルニア 95134、 サン ホセ、イノベーション ドライブ 101、ケアオブ アルテラ コーポレーシ ョン (72)発明者 ブルース ビー ペダーセン アメリカ合衆国、カリフォルニア 95134、 サン ホセ、イノベーション ドライブ 101、ケアオブ アルテラ コーポレーシ ョン (72)発明者 クリストファー エフ レーン アメリカ合衆国、カリフォルニア 95134、 サン ホセ、イノベーション ドライブ 101、ケアオブ アルテラ コーポレーシ ョン (72)発明者 リチャード ジー クリフ アメリカ合衆国、カリフォルニア 95134、 サン ホセ、イノベーション ドライブ 101、ケアオブ アルテラ コーポレーシ ョン (72)発明者 スリニバス ティー レディ アメリカ合衆国、カリフォルニア 95134、 サン ホセ、イノベーション ドライブ 101、ケアオブ アルテラ コーポレーシ ョン
Claims (21)
- 【請求項1】 デバイス上において交差する行および列
からなる二次元の配列内に配置された複数の大領域を備
え、前記大領域のそれぞれが複数のプログラマブルロジ
ック領域およびメモリ領域を備え、前記ロジック領域の
それぞれが複数の入力と複数の出力とを有するとともに
その入力上で複数のロジック機能のうちのいずれかを実
行して出力を形成するためにプログラムすることが可能
であり、前記メモリ領域も複数の入力と複数の出力とを
有するとともにその入力に応答してその入力ならびにメ
モリ領域内に記録されたデータに少なくとも部分的に基
づいた出力を生成し;前記出力を前記入力に対して選択
的に接続するためのプログラム可能な相互接続回路を備
えるプログラマブルロジックデバイス。 - 【請求項2】 各大領域について、相互接続回路が:こ
の大領域と単独的に結合された複数の第1相互接続コン
ダクタを備え、大領域に結合された第1のコンダクタの
それぞれがこの大領域内の全ての領域に近接して実質的
に連続的に延在する請求項1記載のデバイス。 - 【請求項3】 相互接続回路はさらに:大領域の前記行
のそれぞれに沿って延在する複数の第2相互接続コンダ
クタと;大領域の前記列のそれぞれに沿って延在する複
数の第3相互接続コンダクタとを備える請求項2記載の
デバイス。 - 【請求項4】 前記ロジック領域のそれぞれがプログラ
マブルロジックからなる複数の小領域を備え、前記小領
域のそれぞれがこの小領域を内包するロジック領域の小
群の入力と少なくとも一つの出力とを備え、各小領域は
その入力上において複数のロジック機能のうちのいずれ
かを実行して出力を生成する請求項1記載のデバイス。 - 【請求項5】 前記ロジック領域のそれぞれがプログラ
マブルロジックからなる複数の小領域を備え、前記小領
域のそれぞれがこの小領域を内包するロジック領域の小
群の入力と少なくとも一つの出力とを備え、各小領域は
その入力上において複数のロジック機能のうちのいずれ
かを実行して出力を生成する請求項2記載のデバイス。 - 【請求項6】 前記各大領域内の前記小群の小領域のそ
れぞれについて、前記相互接続回路は:この小群に結合
された複数の第4コンダクタをさらに備え、小群に結合
された第4のコンダクタのそれぞれがこの小群の小領域
の全てに近接して実質的に連続的に延在する請求項5記
載のデバイス。 - 【請求項7】 前記相互接続回路は:各小領域の入力
を、この小領域を含んだ小群に結合された第4の相互接
続コンダクタの少なくともいくつかに選択的に接続する
よう構成された第1のプログラマブルロジックコネクタ
をさらに備える請求項6記載のデバイス。 - 【請求項8】 前記相互接続回路は:前記小群の小領域
のそれぞれに結合された第4の相互接続コンダクタの少
なくともいくつかを、これらの小領域を包合する領域に
結合された第1の相互接続コンダクタの少なくともいく
つかに選択的に接続するよう構成された第2のプログラ
マブルロジックコネクタをさらに備える請求項6記載の
デバイス。 - 【請求項9】 各小群について、前記相互接続回路はさ
らに:この小群に結合された複数の第5コンダクタを備
え、小群に結合された第5のコンダクタのそれぞれがこ
の小群の小領域の全てに近接して実質的に連続的に延在
し;前記小領域の出力のそれぞれを、この小領域を含ん
だ小群に結合された第5のコンダクタの少なくとも一つ
に選択的に接続するよう構成された第3のプログラマブ
ルロジックコネクタを備える請求項6記載のデバイス。 - 【請求項10】 前記相互接続回路は:各小領域の入力
を、この小領域を含んだ小群に結合された第5の相互接
続コンダクタの少なくともいくつかに選択的に接続する
よう構成された第4のプログラマブルロジックコネクタ
をさらに備える請求項9記載のデバイス。 - 【請求項11】 各大領域について、相互接続回路は:
この大領域に接続される第1の相互接続コネクタの少な
くともいくつかを、この大領域を包合する行に沿って延
在する第2の相互接続コンダクタの少なくともいくつか
に選択的に接続するよう構成された第5のプログラマブ
ルロジックコネクタをさらに備える請求項3記載のデバ
イス。 - 【請求項12】 各大領域について、相互接続回路は:
この大領域に接続される第1の相互接続コネクタの少な
くともいくつかを、この大領域を包合する列に沿って延
在する第3の相互接続コンダクタの少なくともいくつか
に選択的に接続するよう構成された第6のプログラマブ
ルロジックコネクタをさらに備える請求項3記載のデバ
イス。 - 【請求項13】 各メモリ領域が異なった数の複数出力
に平行して出力信号を提供するようプログラム的に構成
可能である請求項1記載のデバイス。 - 【請求項14】 各メモリ領域がランダムアクセスメモ
リモードおよび積算項モードのうちの一方を選択して動
作するようプログラム的に構成可能である請求項1記載
のデバイス。 - 【請求項15】 各大領域について、相互接続回路は:
この大領域のメモリ領域の出力の少なくともいくつか
を、この大領域に結合される第1の相互接続コンダクタ
の少なくともいくつかに選択的に接続するよう構成され
た第7のプログラマブルロジックコネクタをさらに備え
る請求項2記載のデバイス。 - 【請求項16】 各大領域について、相互接続回路は:
この大領域のメモリ領域の出力の少なくともいくつか
を、この大領域を包合する行に沿って延在する第2の相
互接続コンダクタの少なくともいくつかに選択的に接続
するよう構成された第8のプログラマブルロジックコネ
クタをさらに備える請求項3記載のデバイス。 - 【請求項17】 各大領域について、相互接続回路は:
この大領域のメモリ領域の出力の少なくともいくつか
を、この大領域を包合する列に沿って延在する第2の相
互接続コンダクタの少なくともいくつかに選択的に接続
するよう構成された第9のプログラマブルロジックコネ
クタをさらに備える請求項3記載のデバイス。 - 【請求項18】 処理回路要素と;前記処理回路要素に
結合されたメモリと;請求項1に定義されたものであ
り、これらの処理回路要素およびメモリに結合されたプ
ログラマブルロジックデバイスとからなるデジタル処理
システム。 - 【請求項19】 請求項1に定義されたプログラマブル
ロジックデバイスを実装したプリント回路基板。 - 【請求項20】 プリント回路基板上に実装されるとと
もにプログラマブルロジックデバイスに結合されたメモ
リをさらに備える請求項19記載のプリント回路基板。 - 【請求項21】 プリント回路基板上に実装されるとと
もにプログラマブルロジックデバイスに結合された処理
回路要素をさらに備える請求項19記載のプリント回路
基板。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10941798P | 1998-11-18 | 1998-11-18 | |
US09/266235 | 1999-03-10 | ||
US09/266,235 US6215326B1 (en) | 1998-11-18 | 1999-03-10 | Programmable logic device architecture with super-regions having logic regions and a memory region |
US60/109417 | 1999-03-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000201066A true JP2000201066A (ja) | 2000-07-18 |
Family
ID=26806956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11327549A Pending JP2000201066A (ja) | 1998-11-18 | 1999-11-17 | プログラマブルロジックデバイス構造 |
Country Status (4)
Country | Link |
---|---|
US (4) | US6215326B1 (ja) |
EP (1) | EP1005163B1 (ja) |
JP (1) | JP2000201066A (ja) |
DE (1) | DE69933525T2 (ja) |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006252440A (ja) * | 2005-03-14 | 2006-09-21 | Fujitsu Ltd | 再構成可能演算処理装置 |
JP2006287964A (ja) * | 1999-03-04 | 2006-10-19 | Altera Corp | プログラマブルロジック集積回路デバイスの相互接続ならびに入力/出力リソース |
US7446562B2 (en) | 2004-06-15 | 2008-11-04 | Nec Corporation | Programmable semiconductor device |
US7650448B2 (en) | 1996-12-20 | 2010-01-19 | Pact Xpp Technologies Ag | I/O and memory bus system for DFPS and units with two- or multi-dimensional programmable cell architectures |
US7657861B2 (en) | 2002-08-07 | 2010-02-02 | Pact Xpp Technologies Ag | Method and device for processing data |
US7657877B2 (en) | 2001-06-20 | 2010-02-02 | Pact Xpp Technologies Ag | Method for processing data |
US7822968B2 (en) | 1996-12-09 | 2010-10-26 | Martin Vorbach | Circuit having a multidimensional structure of configurable cells that include multi-bit-wide inputs and outputs |
US7840842B2 (en) | 2001-09-03 | 2010-11-23 | Martin Vorbach | Method for debugging reconfigurable architectures |
US7996827B2 (en) * | 2001-08-16 | 2011-08-09 | Martin Vorbach | Method for the translation of programs for reconfigurable architectures |
US8058899B2 (en) | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus system |
US8099618B2 (en) | 2001-03-05 | 2012-01-17 | Martin Vorbach | Methods and devices for treating and processing data |
US8127061B2 (en) | 2002-02-18 | 2012-02-28 | Martin Vorbach | Bus systems and reconfiguration methods |
US8156284B2 (en) | 2002-08-07 | 2012-04-10 | Martin Vorbach | Data processing method and device |
US8209653B2 (en) | 2001-09-03 | 2012-06-26 | Martin Vorbach | Router |
US8230411B1 (en) | 1999-06-10 | 2012-07-24 | Martin Vorbach | Method for interleaving a program over a plurality of cells |
US8250503B2 (en) | 2006-01-18 | 2012-08-21 | Martin Vorbach | Hardware definition method including determining whether to implement a function as hardware or software |
US8301872B2 (en) | 2000-06-13 | 2012-10-30 | Martin Vorbach | Pipeline configuration protocol and configuration unit communication |
USRE44365E1 (en) | 1997-02-08 | 2013-07-09 | Martin Vorbach | Method of self-synchronization of configurable elements of a programmable module |
US8686475B2 (en) | 2001-09-19 | 2014-04-01 | Pact Xpp Technologies Ag | Reconfigurable elements |
US8686549B2 (en) | 2001-09-03 | 2014-04-01 | Martin Vorbach | Reconfigurable elements |
US8812820B2 (en) | 2003-08-28 | 2014-08-19 | Pact Xpp Technologies Ag | Data processing device and method |
US8819505B2 (en) | 1997-12-22 | 2014-08-26 | Pact Xpp Technologies Ag | Data processor having disabled cores |
US8914590B2 (en) | 2002-08-07 | 2014-12-16 | Pact Xpp Technologies Ag | Data processing method and device |
US9037807B2 (en) | 2001-03-05 | 2015-05-19 | Pact Xpp Technologies Ag | Processor arrangement on a chip including data processing, memory, and interface elements |
Families Citing this family (166)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6556044B2 (en) | 2001-09-18 | 2003-04-29 | Altera Corporation | Programmable logic device including multipliers and configurations thereof to reduce resource utilization |
US20020088822A1 (en) * | 1995-08-14 | 2002-07-11 | Dresser, Inc. | Multiproduct fuel dispenser using a common meter |
US6300794B1 (en) * | 1996-10-10 | 2001-10-09 | Altera Corporation | Programmable logic device with hierarchical interconnection resources |
EP1329816B1 (de) | 1996-12-27 | 2011-06-22 | Richter, Thomas | Verfahren zum selbständigen dynamischen Umladen von Datenflussprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o.dgl.) |
US7146441B1 (en) * | 1998-03-16 | 2006-12-05 | Actel Corporation | SRAM bus architecture and interconnect to an FPGA |
US7196556B1 (en) | 1998-07-02 | 2007-03-27 | Altera Corporation | Programmable logic integrated circuit devices with low voltage differential signaling capabilities |
US6236231B1 (en) | 1998-07-02 | 2001-05-22 | Altera Corporation | Programmable logic integrated circuit devices with low voltage differential signaling capabilities |
US6215326B1 (en) * | 1998-11-18 | 2001-04-10 | Altera Corporation | Programmable logic device architecture with super-regions having logic regions and a memory region |
US6218876B1 (en) | 1999-01-08 | 2001-04-17 | Altera Corporation | Phase-locked loop circuitry for programmable logic devices |
US6177844B1 (en) | 1999-01-08 | 2001-01-23 | Altera Corporation | Phase-locked loop or delay-locked loop circuitry for programmable logic devices |
US6407576B1 (en) * | 1999-03-04 | 2002-06-18 | Altera Corporation | Interconnection and input/output resources for programmable logic integrated circuit devices |
US6480027B1 (en) | 1999-03-04 | 2002-11-12 | Altera Corporation | Driver circuitry for programmable logic devices |
US6366120B1 (en) * | 1999-03-04 | 2002-04-02 | Altera Corporation | Interconnection resources for programmable logic integrated circuit devices |
GB2391671B (en) * | 1999-07-02 | 2004-04-28 | Altera Corp | Embedded memory blocks for programmable logic |
US7227918B2 (en) | 2000-03-14 | 2007-06-05 | Altera Corporation | Clock data recovery circuitry associated with programmable logic device circuitry |
US7333570B2 (en) * | 2000-03-14 | 2008-02-19 | Altera Corporation | Clock data recovery circuitry associated with programmable logic device circuitry |
US6356110B1 (en) * | 2000-04-03 | 2002-03-12 | Altera Corporation San Jose Ca | Multifunction memory array in a programmable logic device |
US6738962B1 (en) | 2000-06-12 | 2004-05-18 | Altera Corporation | Configuration and/or reconfiguration of integrated circuit devices that include programmable logic and microprocessor circuitry |
US6629254B1 (en) * | 2000-06-29 | 2003-09-30 | Intel Corporation | Clocking architecture to compensate a delay introduced by a signal buffer |
US6429681B1 (en) * | 2000-08-23 | 2002-08-06 | Altera Corporation | Programmable logic device routing architecture to facilitate register re-timing |
US7133819B1 (en) | 2000-08-24 | 2006-11-07 | Altera Corporation | Method for adaptive critical path delay estimation during timing-driven placement for hierarchical programmable logic devices |
US6628140B2 (en) * | 2000-09-18 | 2003-09-30 | Altera Corporation | Programmable logic devices with function-specific blocks |
US6538470B1 (en) | 2000-09-18 | 2003-03-25 | Altera Corporation | Devices and methods with programmable logic and digital signal processing regions |
US20020089348A1 (en) * | 2000-10-02 | 2002-07-11 | Martin Langhammer | Programmable logic integrated circuit devices including dedicated processor components |
US6414513B1 (en) * | 2000-10-03 | 2002-07-02 | International Business Machines Corporation | Customized system-readable hardware/firmware integrated circuit version information |
AU2002220600A1 (en) * | 2000-10-06 | 2002-04-15 | Pact Informationstechnologie Gmbh | Cell system with segmented intermediate cell structure |
WO2002059779A1 (en) * | 2001-01-25 | 2002-08-01 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for optimised indexing records of static data with different lenghts |
US20070299993A1 (en) * | 2001-03-05 | 2007-12-27 | Pact Xpp Technologies Ag | Method and Device 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 |
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 |
US9552047B2 (en) | 2001-03-05 | 2017-01-24 | Pact Xpp Technologies Ag | Multiprocessor having runtime adjustable clock and clock dependent power supply |
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 |
US9250908B2 (en) | 2001-03-05 | 2016-02-02 | Pact Xpp Technologies Ag | Multi-processor bus and cache interconnection system |
US9411532B2 (en) | 2001-09-07 | 2016-08-09 | Pact Xpp Technologies Ag | Methods and systems for transferring data between a processing device and external devices |
US7844796B2 (en) | 2001-03-05 | 2010-11-30 | Martin Vorbach | Data processing device and method |
US7366267B1 (en) | 2001-03-07 | 2008-04-29 | Altera Corporation | Clock data recovery with double edge clocking based phase detector and serializer/deserializer |
US6978287B1 (en) | 2001-04-04 | 2005-12-20 | Altera Corporation | DSP processor architecture with write datapath word conditioning and analysis |
US10031733B2 (en) | 2001-06-20 | 2018-07-24 | Scientia Sol Mentis Ag | Method for processing data |
US6586966B1 (en) | 2001-09-13 | 2003-07-01 | Altera Corporation | Data latch with low-power bypass mode |
US6566906B1 (en) | 2001-09-18 | 2003-05-20 | Altera Corporation | Specialized programmable logic region with low-power mode |
US6937062B1 (en) | 2001-09-18 | 2005-08-30 | Altera Corporation | Specialized programmable logic region with low-power mode |
US6594810B1 (en) | 2001-10-04 | 2003-07-15 | M2000 | Reconfigurable integrated circuit with a scalable architecture |
US6633185B2 (en) | 2001-10-16 | 2003-10-14 | Altera Corporation | PLL/DLL circuitry programmable for high bandwidth and low bandwidth applications |
US8281108B2 (en) | 2002-01-19 | 2012-10-02 | Martin Vorbach | Reconfigurable general purpose processor having time restricted configurations |
US6765408B2 (en) | 2002-02-11 | 2004-07-20 | Lattice Semiconductor Corporation | Device and method with generic logic blocks |
US9170812B2 (en) | 2002-03-21 | 2015-10-27 | Pact Xpp Technologies Ag | Data processing system having integrated pipelined array data processor |
US7142011B1 (en) | 2002-04-24 | 2006-11-28 | Altera Corporation | Programmable logic device with routing channels |
US6781408B1 (en) | 2002-04-24 | 2004-08-24 | Altera Corporation | Programmable logic device with routing channels |
US6747480B1 (en) | 2002-07-12 | 2004-06-08 | Altera Corporation | Programmable logic devices with bidirect ional cascades |
US6977520B1 (en) * | 2002-08-13 | 2005-12-20 | Altera Corporation | Time-multiplexed routing in a programmable logic device architecture |
US7394284B2 (en) | 2002-09-06 | 2008-07-01 | Pact Xpp Technologies Ag | Reconfigurable sequencer structure |
US6940302B1 (en) * | 2003-01-07 | 2005-09-06 | Altera Corporation | Integrated circuit output driver circuitry with programmable preemphasis |
US7307446B1 (en) | 2003-01-07 | 2007-12-11 | Altera Corporation | Integrated circuit output driver circuitry with programmable preemphasis |
US6831480B1 (en) | 2003-01-07 | 2004-12-14 | Altera Corporation | Programmable logic device multispeed I/O circuitry |
US7107477B1 (en) | 2003-01-31 | 2006-09-12 | Altera Corporation | Programmable logic devices with skewed clocking signals |
US7082592B1 (en) | 2003-06-16 | 2006-07-25 | Altera Corporation | Method for programming programmable logic device having specialized functional blocks |
US7272677B1 (en) | 2003-08-08 | 2007-09-18 | Altera Corporation | Multi-channel synchronization for programmable logic device serial interface |
US7440964B2 (en) * | 2003-08-29 | 2008-10-21 | Vortaloptics, Inc. | Method, device and software for querying and presenting search results |
US6888376B1 (en) | 2003-09-24 | 2005-05-03 | Altera Corporation | Multiple data rates in programmable logic device serial interface |
US7131024B1 (en) | 2003-09-24 | 2006-10-31 | Altera Corporation | Multiple transmit data rates in programmable logic device serial interface |
US6954085B2 (en) * | 2003-10-13 | 2005-10-11 | International Business Machines Corporation | System and method for dynamically executing a function in a programmable logic array |
US20050102573A1 (en) * | 2003-11-03 | 2005-05-12 | Macronix International Co., Ltd. | In-circuit configuration architecture for embedded configurable logic array |
US7143312B1 (en) | 2003-12-17 | 2006-11-28 | Altera Corporation | Alignment of recovered clock with data signal |
US7486752B1 (en) | 2003-12-17 | 2009-02-03 | Altera Corporation | Alignment of clock signal with data signal |
US6970020B1 (en) | 2003-12-17 | 2005-11-29 | Altera Corporation | Half-rate linear quardrature phase detector for clock recovery |
US7698358B1 (en) | 2003-12-24 | 2010-04-13 | Altera Corporation | Programmable logic device with specialized functional block |
US7098707B2 (en) * | 2004-03-09 | 2006-08-29 | Altera Corporation | Highly configurable PLL architecture for programmable logic |
US7132852B2 (en) | 2004-04-14 | 2006-11-07 | Altera Corporation | Routing architecture with high speed I/O bypass path |
US7084665B1 (en) | 2004-07-22 | 2006-08-01 | Altera Corporation | Distributed random access memory in a programmable logic device |
US7042247B1 (en) | 2004-08-12 | 2006-05-09 | Altera Corporation | Programmable look-up tables with reduced leakage current |
US7598779B1 (en) | 2004-10-08 | 2009-10-06 | Altera Corporation | Dual-mode LVDS/CML transmitter methods and apparatus |
US7176718B1 (en) | 2005-01-21 | 2007-02-13 | Altera Corporation | Organizations of logic modules in programmable logic devices |
US7304497B2 (en) * | 2005-04-29 | 2007-12-04 | Altera Corporation | Methods and apparatus for programmably powering down structured application-specific integrated circuits |
US7365570B2 (en) * | 2005-05-25 | 2008-04-29 | Micron Technology, Inc. | Pseudo-differential output driver with high immunity to noise and jitter |
US7292070B1 (en) | 2005-07-14 | 2007-11-06 | Altera Corporation | Programmable PPM detector |
US7577929B1 (en) | 2005-07-21 | 2009-08-18 | Altera Corporation | Early timing estimation of timing statistical properties of placement |
US7265587B1 (en) | 2005-07-26 | 2007-09-04 | Altera Corporation | LVDS output buffer pre-emphasis methods and apparatus |
US7848318B2 (en) * | 2005-08-03 | 2010-12-07 | Altera Corporation | Serializer circuitry for high-speed serial data transmitters on programmable logic device integrated circuits |
US7659838B2 (en) | 2005-08-03 | 2010-02-09 | Altera Corporation | Deserializer circuitry for high-speed serial data receivers on programmable logic device integrated circuits |
US8189729B2 (en) | 2005-08-03 | 2012-05-29 | Altera Corporation | Wide range and dynamically reconfigurable clock data recovery architecture |
US7230451B1 (en) | 2005-08-22 | 2007-06-12 | Altera Corporation | Programmable logic device with routing channels |
US8010826B2 (en) * | 2005-09-13 | 2011-08-30 | Meta Systems | Reconfigurable circuit with redundant reconfigurable cluster(s) |
US7478261B2 (en) * | 2005-09-13 | 2009-01-13 | M2000 | Reconfigurable circuit with redundant reconfigurable cluster(s) |
US8620980B1 (en) | 2005-09-27 | 2013-12-31 | Altera Corporation | Programmable device with specialized multiplier blocks |
US7590676B1 (en) | 2005-09-27 | 2009-09-15 | Altera Corporation | Programmable logic device with specialized multiplier blocks |
US7268582B1 (en) | 2005-11-22 | 2007-09-11 | Altera Corporation | DPRIO for embedded hard IP |
US7275196B2 (en) * | 2005-11-23 | 2007-09-25 | M2000 S.A. | Runtime reconfiguration of reconfigurable circuits |
US7902864B1 (en) | 2005-12-01 | 2011-03-08 | Altera Corporation | Heterogeneous labs |
US7391236B2 (en) * | 2005-12-27 | 2008-06-24 | Altera Corporation | Distributed memory in field-programmable gate array integrated circuit devices |
US8301681B1 (en) | 2006-02-09 | 2012-10-30 | Altera Corporation | Specialized processing block for programmable logic device |
US8041759B1 (en) | 2006-02-09 | 2011-10-18 | Altera Corporation | Specialized processing block for programmable logic device |
US8266198B2 (en) * | 2006-02-09 | 2012-09-11 | Altera Corporation | Specialized processing block for programmable logic device |
US8266199B2 (en) * | 2006-02-09 | 2012-09-11 | Altera Corporation | Specialized processing block for programmable logic device |
US7836117B1 (en) | 2006-04-07 | 2010-11-16 | Altera Corporation | Specialized processing block for programmable logic device |
US7822799B1 (en) | 2006-06-26 | 2010-10-26 | Altera Corporation | Adder-rounder circuitry for specialized processing block in programmable logic device |
US7576570B1 (en) | 2006-08-22 | 2009-08-18 | Altera Corporation | Signal amplitude detection circuitry without pattern dependencies for high-speed serial links |
US8386550B1 (en) | 2006-09-20 | 2013-02-26 | Altera Corporation | Method for configuring a finite impulse response filter in a programmable logic device |
US7953162B2 (en) * | 2006-11-17 | 2011-05-31 | Intersil Americas Inc. | Use of differential pair as single-ended data paths to transport low speed data |
US8386553B1 (en) | 2006-12-05 | 2013-02-26 | Altera Corporation | Large multiplier for programmable logic device |
US7930336B2 (en) * | 2006-12-05 | 2011-04-19 | Altera Corporation | Large multiplier for programmable logic device |
US7814137B1 (en) | 2007-01-09 | 2010-10-12 | Altera Corporation | Combined interpolation and decimation filter for programmable logic device |
US7865541B1 (en) | 2007-01-22 | 2011-01-04 | Altera Corporation | Configuring floating point operations in a programmable logic device |
US8650231B1 (en) | 2007-01-22 | 2014-02-11 | Altera Corporation | Configuring floating point operations in a programmable device |
US8645450B1 (en) | 2007-03-02 | 2014-02-04 | Altera Corporation | Multiplier-accumulator circuitry and methods |
US7724031B2 (en) * | 2007-03-21 | 2010-05-25 | Altera Corporation | Staggered logic array block architecture |
US8111577B2 (en) | 2007-04-17 | 2012-02-07 | Cypress Semiconductor Corporation | System comprising a state-monitoring memory element |
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 |
US8516025B2 (en) | 2007-04-17 | 2013-08-20 | Cypress Semiconductor Corporation | Clock driven dynamic datapath chaining |
US9564902B2 (en) | 2007-04-17 | 2017-02-07 | Cypress Semiconductor Corporation | Dynamically configurable and re-configurable data path |
US7827433B1 (en) | 2007-05-16 | 2010-11-02 | Altera Corporation | Time-multiplexed routing for reducing pipelining registers |
US7949699B1 (en) | 2007-08-30 | 2011-05-24 | Altera Corporation | Implementation of decimation filter in integrated circuit device using ram-based data storage |
US8959137B1 (en) | 2008-02-20 | 2015-02-17 | Altera Corporation | Implementing large multipliers in a programmable integrated circuit device |
US7733118B2 (en) * | 2008-03-06 | 2010-06-08 | Micron Technology, Inc. | Devices and methods for driving a signal off an integrated circuit |
US8244789B1 (en) | 2008-03-14 | 2012-08-14 | Altera Corporation | Normalization of floating point operations in a programmable integrated circuit device |
US7804325B1 (en) * | 2008-04-22 | 2010-09-28 | Altera Corporation | Dedicated function block interfacing with general purpose function blocks on integrated circuits |
US8626815B1 (en) | 2008-07-14 | 2014-01-07 | Altera Corporation | Configuring a programmable integrated circuit device to perform matrix multiplication |
US8255448B1 (en) | 2008-10-02 | 2012-08-28 | Altera Corporation | Implementing division in a programmable integrated circuit device |
US8307023B1 (en) | 2008-10-10 | 2012-11-06 | Altera Corporation | DSP block for implementing large multiplier on a programmable integrated circuit device |
US8468192B1 (en) | 2009-03-03 | 2013-06-18 | Altera Corporation | Implementing multipliers in a programmable integrated circuit device |
US8549055B2 (en) | 2009-03-03 | 2013-10-01 | Altera Corporation | Modular digital signal processing circuitry with optionally usable, dedicated connections between modules of the circuitry |
US8805916B2 (en) * | 2009-03-03 | 2014-08-12 | Altera Corporation | Digital signal processing circuitry with redundancy and bidirectional data paths |
US8706790B1 (en) | 2009-03-03 | 2014-04-22 | Altera Corporation | Implementing mixed-precision floating-point operations in a programmable integrated circuit device |
US8886696B1 (en) | 2009-03-03 | 2014-11-11 | Altera Corporation | Digital signal processing circuitry with redundancy and ability to support larger multipliers |
US8645449B1 (en) | 2009-03-03 | 2014-02-04 | Altera Corporation | Combined floating point adder and subtractor |
US7948792B1 (en) | 2009-04-15 | 2011-05-24 | Altera Corporation | Memory and techniques for using same |
US8650236B1 (en) | 2009-08-04 | 2014-02-11 | Altera Corporation | High-rate interpolation or decimation filter in integrated circuit device |
US8412756B1 (en) | 2009-09-11 | 2013-04-02 | Altera Corporation | Multi-operand floating point operations in a programmable integrated circuit device |
US8396914B1 (en) | 2009-09-11 | 2013-03-12 | Altera Corporation | Matrix decomposition in an integrated circuit device |
US8255702B1 (en) | 2009-12-03 | 2012-08-28 | Altera Corporation | Programmable logic device with improved security |
CA2786812C (en) * | 2010-01-18 | 2018-03-20 | Telefonaktiebolaget L M Ericsson (Publ) | Method and arrangement for supporting playout of content |
US8811555B2 (en) | 2010-02-04 | 2014-08-19 | Altera Corporation | Clock and data recovery circuitry with auto-speed negotiation and other possible features |
US7948267B1 (en) | 2010-02-09 | 2011-05-24 | Altera Corporation | Efficient rounding circuits and methods in configurable integrated circuit devices |
US8539016B1 (en) | 2010-02-09 | 2013-09-17 | Altera Corporation | QR decomposition in an integrated circuit device |
US8601044B2 (en) * | 2010-03-02 | 2013-12-03 | Altera Corporation | Discrete Fourier Transform in an integrated circuit device |
US8458243B1 (en) | 2010-03-03 | 2013-06-04 | Altera Corporation | Digital signal processing circuit blocks with support for systolic finite-impulse-response digital filtering |
US8484265B1 (en) | 2010-03-04 | 2013-07-09 | Altera Corporation | Angular range reduction in an integrated circuit device |
US8510354B1 (en) | 2010-03-12 | 2013-08-13 | Altera Corporation | Calculation of trigonometric functions in an integrated circuit device |
US8539014B2 (en) * | 2010-03-25 | 2013-09-17 | Altera Corporation | Solving linear matrices in an integrated circuit device |
US8589463B2 (en) | 2010-06-25 | 2013-11-19 | Altera Corporation | Calculation of trigonometric functions in an integrated circuit device |
US8862650B2 (en) | 2010-06-25 | 2014-10-14 | Altera Corporation | Calculation of trigonometric functions in an integrated circuit device |
US8577951B1 (en) | 2010-08-19 | 2013-11-05 | Altera Corporation | Matrix operations in an integrated circuit device |
US8645451B2 (en) | 2011-03-10 | 2014-02-04 | Altera Corporation | Double-clocked specialized processing block in an integrated circuit device |
US9600278B1 (en) | 2011-05-09 | 2017-03-21 | Altera Corporation | Programmable device using fixed and configurable logic to implement recursive trees |
US8812576B1 (en) | 2011-09-12 | 2014-08-19 | Altera Corporation | QR decomposition in an integrated circuit device |
US8949298B1 (en) | 2011-09-16 | 2015-02-03 | Altera Corporation | Computing floating-point polynomials in an integrated circuit device |
US9053045B1 (en) | 2011-09-16 | 2015-06-09 | Altera Corporation | Computing floating-point polynomials in an integrated circuit device |
US8762443B1 (en) | 2011-11-15 | 2014-06-24 | Altera Corporation | Matrix operations in an integrated circuit device |
US8543634B1 (en) | 2012-03-30 | 2013-09-24 | Altera Corporation | Specialized processing block for programmable integrated circuit device |
US9098332B1 (en) | 2012-06-01 | 2015-08-04 | Altera Corporation | Specialized processing block with fixed- and floating-point structures |
US8996600B1 (en) | 2012-08-03 | 2015-03-31 | Altera Corporation | Specialized processing block for implementing floating-point multiplier with subnormal operation support |
US9553590B1 (en) | 2012-10-29 | 2017-01-24 | Altera Corporation | Configuring programmable integrated circuit device resources as processing elements |
US9442854B2 (en) | 2012-11-15 | 2016-09-13 | Elwha Llc | Memory circuitry including computational circuitry for performing supplemental functions |
US20140137119A1 (en) * | 2012-11-15 | 2014-05-15 | Elwha LLC, a limited liability corporation of the State of Delaware | Multi-core processing in memory |
US9582465B2 (en) | 2012-11-15 | 2017-02-28 | Elwha Llc | Flexible processors and flexible memory |
US9207909B1 (en) | 2012-11-26 | 2015-12-08 | Altera Corporation | Polynomial calculations optimized for programmable integrated circuit device structures |
US9189200B1 (en) | 2013-03-14 | 2015-11-17 | Altera Corporation | Multiple-precision processing block in a programmable integrated circuit device |
US9348795B1 (en) | 2013-07-03 | 2016-05-24 | Altera Corporation | Programmable device using fixed and configurable logic to implement floating-point rounding |
US9379687B1 (en) | 2014-01-14 | 2016-06-28 | Altera Corporation | Pipelined systolic finite impulse response filter |
US10452392B1 (en) | 2015-01-20 | 2019-10-22 | Altera Corporation | Configuring programmable integrated circuit device resources as processors |
US9684488B2 (en) | 2015-03-26 | 2017-06-20 | Altera Corporation | Combined adder and pre-adder for high-radix multiplier circuit |
US9973194B2 (en) | 2015-09-01 | 2018-05-15 | Flex Logix Technologies, Inc. | Block memory layout and architecture for programmable logic IC, and method of operating same |
US10110233B2 (en) | 2016-06-23 | 2018-10-23 | Altera Corporation | Methods for specifying processor architectures for programmable integrated circuits |
US10509757B2 (en) * | 2016-09-22 | 2019-12-17 | Altera Corporation | Integrated circuits having expandable processor memory |
US10942706B2 (en) | 2017-05-05 | 2021-03-09 | Intel Corporation | Implementation of floating-point trigonometric functions in an integrated circuit device |
US10686447B1 (en) | 2018-04-12 | 2020-06-16 | Flex Logix Technologies, Inc. | Modular field programmable gate array, and method of configuring and operating same |
Family Cites Families (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3473160A (en) | 1966-10-10 | 1969-10-14 | Stanford Research Inst | Electronically controlled microelectronic cellular logic array |
USRE34363E (en) | 1984-03-12 | 1993-08-31 | Xilinx, Inc. | Configurable electrical circuit having configurable logic elements and configurable interconnects |
US4617479B1 (en) | 1984-05-03 | 1993-09-21 | Altera Semiconductor Corp. | Programmable logic array device using eprom technology |
US4713792A (en) | 1985-06-06 | 1987-12-15 | Altera Corporation | Programmable macrocell using eprom or eeprom transistors for architecture control in programmable logic circuits |
US4774421A (en) | 1984-05-03 | 1988-09-27 | Altera Corporation | Programmable logic array device using EPROM technology |
US4609986A (en) | 1984-06-14 | 1986-09-02 | Altera Corporation | Programmable logic array device using EPROM technology |
US4642487A (en) | 1984-09-26 | 1987-02-10 | Xilinx, Inc. | Special interconnect for configurable logic array |
US5225719A (en) | 1985-03-29 | 1993-07-06 | Advanced Micro Devices, Inc. | Family of multiple segmented programmable logic blocks interconnected by a high speed centralized switch matrix |
US4677318A (en) | 1985-04-12 | 1987-06-30 | Altera Corporation | Programmable logic storage element for programmable logic devices |
US4758745B1 (en) | 1986-09-19 | 1994-11-15 | Actel Corp | User programmable integrated circuit interconnect architecture and test method |
US5023606A (en) | 1988-01-13 | 1991-06-11 | Plus Logic, Inc. | Programmable logic device with ganged output pins |
US4871930A (en) | 1988-05-05 | 1989-10-03 | Altera Corporation | Programmable logic device with array blocks connected via programmable interconnect |
US4912342A (en) | 1988-05-05 | 1990-03-27 | Altera Corporation | Programmable logic device with array blocks with programmable clocking |
US4899067A (en) | 1988-07-22 | 1990-02-06 | Altera Corporation | Programmable logic devices with spare circuits for use in replacing defective circuits |
US5231588A (en) | 1989-08-15 | 1993-07-27 | Advanced Micro Devices, Inc. | Programmable gate array with logic cells having symmetrical input/output structures |
US5255203A (en) | 1989-08-15 | 1993-10-19 | Advanced Micro Devices, Inc. | Interconnect structure for programmable logic device |
US5212652A (en) | 1989-08-15 | 1993-05-18 | Advanced Micro Devices, Inc. | Programmable gate array with improved interconnect structure |
US5073729A (en) | 1990-06-22 | 1991-12-17 | Actel Corporation | Segmented routing architecture |
US5132571A (en) | 1990-08-01 | 1992-07-21 | Actel Corporation | Programmable interconnect architecture having interconnects disposed above function modules |
US5218240A (en) | 1990-11-02 | 1993-06-08 | Concurrent Logic, Inc. | Programmable logic cell and array with bus repeaters |
US5144166A (en) | 1990-11-02 | 1992-09-01 | Concurrent Logic, Inc. | Programmable logic cell and array |
US5122685A (en) | 1991-03-06 | 1992-06-16 | Quicklogic Corporation | Programmable application specific integrated circuit and logic cell therefor |
US5220214A (en) | 1991-04-22 | 1993-06-15 | Altera Corporation | Registered logic macrocell with product term allocation and adjacent product term stealing |
US5121006A (en) | 1991-04-22 | 1992-06-09 | Altera Corporation | Registered logic macrocell with product term allocation and adjacent product term stealing |
US5338984A (en) | 1991-08-29 | 1994-08-16 | National Semiconductor Corp. | Local and express diagonal busses in a configurable logic array |
US5260611A (en) | 1991-09-03 | 1993-11-09 | Altera Corporation | Programmable logic array having local and long distance conductors |
US5371422A (en) | 1991-09-03 | 1994-12-06 | Altera Corporation | Programmable logic device having multiplexers and demultiplexers randomly connected to global conductors for interconnections between logic elements |
US5550782A (en) | 1991-09-03 | 1996-08-27 | Altera Corporation | Programmable logic array integrated circuits |
US5260610A (en) | 1991-09-03 | 1993-11-09 | Altera Corporation | Programmable logic element interconnections for programmable logic array integrated circuits |
US5208491A (en) | 1992-01-07 | 1993-05-04 | Washington Research Foundation | Field programmable gate array |
US5274581A (en) | 1992-05-08 | 1993-12-28 | Altera Corporation | Look up table implementation of fast carry for adders and counters |
US5258668A (en) | 1992-05-08 | 1993-11-02 | Altera Corporation | Programmable logic array integrated circuits with cascade connections between logic modules |
US5317698A (en) | 1992-08-18 | 1994-05-31 | Actel Corporation | FPGA architecture including direct logic function circuit to I/O interconnections |
GB9223226D0 (en) | 1992-11-05 | 1992-12-16 | Algotronix Ltd | Improved configurable cellular array (cal ii) |
US5498975A (en) | 1992-11-19 | 1996-03-12 | Altera Corporation | Implementation of redundancy on a programmable logic device |
JPH06276086A (ja) | 1993-03-18 | 1994-09-30 | Fuji Xerox Co Ltd | フィールドプログラマブルゲートアレイ |
US5350954A (en) | 1993-03-29 | 1994-09-27 | Altera Corporation | Macrocell with flexible product term allocation |
US5483178A (en) | 1993-03-29 | 1996-01-09 | Altera Corporation | Programmable logic device with logic block outputs coupled to adjacent logic block output multiplexers |
US5381058A (en) | 1993-05-21 | 1995-01-10 | At&T Corp. | FPGA having PFU with programmable output driver inputs |
GB9312674D0 (en) * | 1993-06-18 | 1993-08-04 | Pilkington Micro Electronics | Configurabel logic array |
US5457410A (en) | 1993-08-03 | 1995-10-10 | Btr, Inc. | Architecture and interconnect scheme for programmable logic circuits |
US5467029A (en) | 1993-10-28 | 1995-11-14 | Cypress Semiconductor Corp. | OR array architecture for a programmable logic device |
US5455525A (en) * | 1993-12-06 | 1995-10-03 | Intelligent Logic Systems, Inc. | Hierarchically-structured programmable logic array and system for interconnecting logic elements in the logic array |
WO1995022205A1 (en) | 1994-02-15 | 1995-08-17 | Xilinx, Inc. | Tile based architecture for fpga |
JP3570724B2 (ja) | 1994-05-04 | 2004-09-29 | アトメル・コーポレイション | 領域信号経路指定およびユニバーサル信号経路指定を伴うプログラマブルロジックデバイス |
US5689195A (en) | 1995-05-17 | 1997-11-18 | Altera Corporation | Programmable logic array integrated circuit devices |
US5543732A (en) | 1995-05-17 | 1996-08-06 | Altera Corporation | Programmable logic array devices with interconnect lines of various lengths |
US5909126A (en) | 1995-05-17 | 1999-06-01 | Altera Corporation | Programmable logic array integrated circuit devices with interleaved logic array blocks |
US5614840A (en) | 1995-05-17 | 1997-03-25 | Altera Corporation | Programmable logic array integrated circuits with segmented, selectively connectable, long interconnection conductors |
US5652529A (en) | 1995-06-02 | 1997-07-29 | International Business Machines Corporation | Programmable array clock/reset resource |
US5565793A (en) | 1995-08-22 | 1996-10-15 | Altera Corporation | Programmable logic array integrated circuit devices with regions of enhanced interconnectivity |
US5764080A (en) | 1995-08-24 | 1998-06-09 | Altera Corporation | Input/output interface circuitry for programmable logic array integrated circuit devices |
US5631576A (en) | 1995-09-01 | 1997-05-20 | Altera Corporation | Programmable logic array integrated circuit devices with flexible carry chains |
GB2305759A (en) * | 1995-09-30 | 1997-04-16 | Pilkington Micro Electronics | Semi-conductor integrated circuit |
US5670895A (en) | 1995-10-19 | 1997-09-23 | Altera Corporation | Routing connections for programmable logic array integrated circuits |
US5872463A (en) | 1996-04-04 | 1999-02-16 | Altera Corporation | Routing in programmable logic devices using shared distributed programmable logic connectors |
US5796269A (en) * | 1996-04-09 | 1998-08-18 | Xilinx, Inc. | Composable memory array for a programmable logic device and method for implementing same |
US5999015A (en) | 1997-02-20 | 1999-12-07 | Altera Corporation | Logic region resources for programmable logic devices |
US5914616A (en) | 1997-02-26 | 1999-06-22 | Xilinx, Inc. | FPGA repeatable interconnect structure with hierarchical interconnect lines |
US6020759A (en) * | 1997-03-21 | 2000-02-01 | Altera Corporation | Programmable logic array device with random access memory configurable as product terms |
US6072332A (en) | 1997-10-14 | 2000-06-06 | Altera Corporation | Variable depth memories for programmable logic devices |
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 |
US6215326B1 (en) * | 1998-11-18 | 2001-04-10 | Altera Corporation | Programmable logic device architecture with super-regions having logic regions and a memory region |
-
1999
- 1999-03-10 US US09/266,235 patent/US6215326B1/en not_active Expired - Lifetime
- 1999-11-15 EP EP99309072A patent/EP1005163B1/en not_active Expired - Lifetime
- 1999-11-15 DE DE69933525T patent/DE69933525T2/de not_active Expired - Lifetime
- 1999-11-17 JP JP11327549A patent/JP2000201066A/ja active Pending
-
2001
- 2001-02-23 US US09/792,809 patent/US20010006348A1/en not_active Abandoned
-
2002
- 2002-02-01 US US10/062,741 patent/US6480028B2/en not_active Expired - Lifetime
- 2002-09-27 US US10/260,712 patent/US6879183B2/en not_active Expired - Lifetime
Cited By (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7822968B2 (en) | 1996-12-09 | 2010-10-26 | Martin Vorbach | Circuit having a multidimensional structure of configurable cells that include multi-bit-wide inputs and outputs |
US8156312B2 (en) | 1996-12-09 | 2012-04-10 | Martin Vorbach | Processor chip for reconfigurable data processing, for processing numeric and logic operations and including function and interconnection control units |
US8195856B2 (en) | 1996-12-20 | 2012-06-05 | Martin Vorbach | I/O and memory bus system for DFPS and units with two- or multi-dimensional programmable cell architectures |
US7650448B2 (en) | 1996-12-20 | 2010-01-19 | Pact Xpp Technologies Ag | I/O and memory bus system for DFPS and units with two- or multi-dimensional programmable cell architectures |
US7899962B2 (en) | 1996-12-20 | 2011-03-01 | Martin Vorbach | I/O and memory bus system for DFPs and units with two- or multi-dimensional programmable cell architectures |
USRE44365E1 (en) | 1997-02-08 | 2013-07-09 | Martin Vorbach | Method of self-synchronization of configurable elements of a programmable module |
USRE45223E1 (en) | 1997-02-08 | 2014-10-28 | Pact Xpp Technologies Ag | Method of self-synchronization of configurable elements of a programmable module |
USRE45109E1 (en) | 1997-02-08 | 2014-09-02 | Pact Xpp Technologies Ag | Method of self-synchronization of configurable elements of a programmable module |
US8819505B2 (en) | 1997-12-22 | 2014-08-26 | Pact Xpp Technologies Ag | Data processor having disabled cores |
US8468329B2 (en) | 1999-02-25 | 2013-06-18 | Martin Vorbach | Pipeline configuration protocol and configuration unit communication |
JP2006287964A (ja) * | 1999-03-04 | 2006-10-19 | Altera Corp | プログラマブルロジック集積回路デバイスの相互接続ならびに入力/出力リソース |
US8726250B2 (en) | 1999-06-10 | 2014-05-13 | Pact Xpp Technologies Ag | Configurable logic integrated circuit having a multidimensional structure of configurable elements |
US8312200B2 (en) | 1999-06-10 | 2012-11-13 | Martin Vorbach | Processor chip including a plurality of cache elements connected to a plurality of processor cores |
US8230411B1 (en) | 1999-06-10 | 2012-07-24 | Martin Vorbach | Method for interleaving a program over a plurality of cells |
US8301872B2 (en) | 2000-06-13 | 2012-10-30 | Martin Vorbach | Pipeline configuration protocol and configuration unit communication |
US9047440B2 (en) | 2000-10-06 | 2015-06-02 | Pact Xpp Technologies Ag | Logical cell array and bus system |
US8058899B2 (en) | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus system |
US8471593B2 (en) | 2000-10-06 | 2013-06-25 | Martin Vorbach | Logic cell array and bus system |
US8312301B2 (en) | 2001-03-05 | 2012-11-13 | Martin Vorbach | Methods and devices for treating and processing data |
US9075605B2 (en) | 2001-03-05 | 2015-07-07 | Pact Xpp Technologies Ag | Methods and devices for treating and processing data |
US9037807B2 (en) | 2001-03-05 | 2015-05-19 | Pact Xpp Technologies Ag | Processor arrangement on a chip including data processing, memory, and interface elements |
US8099618B2 (en) | 2001-03-05 | 2012-01-17 | Martin Vorbach | Methods and devices for treating and processing data |
US7657877B2 (en) | 2001-06-20 | 2010-02-02 | Pact Xpp Technologies Ag | Method for processing data |
US8869121B2 (en) | 2001-08-16 | 2014-10-21 | Pact Xpp Technologies Ag | Method for the translation of programs for reconfigurable architectures |
US7996827B2 (en) * | 2001-08-16 | 2011-08-09 | Martin Vorbach | Method for the translation of programs for reconfigurable architectures |
US8209653B2 (en) | 2001-09-03 | 2012-06-26 | Martin Vorbach | Router |
US7840842B2 (en) | 2001-09-03 | 2010-11-23 | Martin Vorbach | Method for debugging reconfigurable architectures |
US8407525B2 (en) | 2001-09-03 | 2013-03-26 | Pact Xpp Technologies Ag | Method for debugging reconfigurable architectures |
US8429385B2 (en) | 2001-09-03 | 2013-04-23 | Martin Vorbach | Device including a field having function cells and information providing cells controlled by the function cells |
US8069373B2 (en) | 2001-09-03 | 2011-11-29 | Martin Vorbach | Method for debugging reconfigurable architectures |
US8686549B2 (en) | 2001-09-03 | 2014-04-01 | Martin Vorbach | Reconfigurable elements |
US8686475B2 (en) | 2001-09-19 | 2014-04-01 | Pact Xpp Technologies Ag | Reconfigurable elements |
US8127061B2 (en) | 2002-02-18 | 2012-02-28 | Martin Vorbach | Bus systems and reconfiguration methods |
US7657861B2 (en) | 2002-08-07 | 2010-02-02 | Pact Xpp Technologies Ag | Method and device for processing data |
US8156284B2 (en) | 2002-08-07 | 2012-04-10 | Martin Vorbach | Data processing method and device |
US8281265B2 (en) | 2002-08-07 | 2012-10-02 | Martin Vorbach | Method and device for processing data |
US8914590B2 (en) | 2002-08-07 | 2014-12-16 | Pact Xpp Technologies Ag | Data processing method and device |
US8812820B2 (en) | 2003-08-28 | 2014-08-19 | Pact Xpp Technologies Ag | Data processing device and method |
US7446562B2 (en) | 2004-06-15 | 2008-11-04 | Nec Corporation | Programmable semiconductor device |
JP2006252440A (ja) * | 2005-03-14 | 2006-09-21 | Fujitsu Ltd | 再構成可能演算処理装置 |
US7743236B2 (en) | 2005-03-14 | 2010-06-22 | Fujitsu Limited | Reconfigurable processor |
JP4527571B2 (ja) * | 2005-03-14 | 2010-08-18 | 富士通株式会社 | 再構成可能演算処理装置 |
US8250503B2 (en) | 2006-01-18 | 2012-08-21 | Martin Vorbach | Hardware definition method including determining whether to implement a function as hardware or software |
Also Published As
Publication number | Publication date |
---|---|
US20030080778A1 (en) | 2003-05-01 |
US6480028B2 (en) | 2002-11-12 |
US6215326B1 (en) | 2001-04-10 |
US20020084801A1 (en) | 2002-07-04 |
US6879183B2 (en) | 2005-04-12 |
US20010006348A1 (en) | 2001-07-05 |
DE69933525D1 (de) | 2006-11-23 |
EP1005163A3 (en) | 2001-10-24 |
EP1005163B1 (en) | 2006-10-11 |
EP1005163A2 (en) | 2000-05-31 |
DE69933525T2 (de) | 2007-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2000201066A (ja) | プログラマブルロジックデバイス構造 | |
US5371422A (en) | Programmable logic device having multiplexers and demultiplexers randomly connected to global conductors for interconnections between logic elements | |
US6239613B1 (en) | Tristate structures for programmable logic devices | |
US5942914A (en) | PLD with split multiplexed inputs from global conductors | |
US6567969B1 (en) | Configurable logic array including lookup table means for generating functions of different numbers of input terms | |
US6600337B2 (en) | Line segmentation in programmable logic devices having redundancy circuitry | |
JP3471088B2 (ja) | 改良されたプログラマブル論理セルアレイアーキテクチャ | |
US6154055A (en) | Programmable logic array integrated circuit devices | |
US5652529A (en) | Programmable array clock/reset resource | |
US6028808A (en) | Programmable logic array integrated circuits | |
US6181162B1 (en) | Programmable logic device with highly routable interconnect | |
US6882177B1 (en) | Tristate structures for programmable logic devices | |
US6992947B1 (en) | Dual-port SRAM in a programmable logic device | |
US20020130681A1 (en) | Programmable logic array integrated circuits | |
US6725316B1 (en) | Method and apparatus for combining architectures with logic option | |
EP0581461A2 (en) | Reprogrammable interconnect architecture using fewer storage cells than switches | |
JP5412032B2 (ja) | 半導体記憶装置 | |
US6459303B1 (en) | High speed programmable address decoder | |
JP4002749B2 (ja) | 半導体装置 | |
US7639557B1 (en) | Configurable random-access-memory circuitry | |
US6819135B2 (en) | Fast signal conductor networks for programmable logic devices | |
JPH06150690A (ja) | 半導体記憶装置 |