説明

プログラマブルロジック集積回路デバイスの相互接続ならびに入力/出力リソース

【課題】プログラマブルロジックデバイスに適用してプログラマブルロジックアレー集積回路デバイスの動作速度を増加するための相互接続リソースの提供。
【解決手段】プログラマブルロジック集積回路(10)は、交差する複数の領域の行および列からなる配列をもって、デバイス上に配置された複数のプログラマブルロジック領域(20)を有する。領域から領域へおよび/または領域間におけるプログラム可能な相互接続を形成するための相互接続リソース(例えば、相互接続コンダクタ等)が設けられ、これらのうちの少なくともいくつかは、構造的には類似であるが著しく異なる信号伝送速度特性を有する2つの形式で構成される。例えば、これらの双対形式相互接続リソースのうちの主要なまたは大きな部分(200a,210a,230a)はノーマル速度と呼ばれるものであり、少ないほうの部分(200b,210b,230b)は大幅に高速な信号速度を有する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、プログラマブルロジックアレー集積回路デバイス(“プログラマ
ブルロジックデバイス”または“PLD”)に係り、より具体的には、プログラ
マブルロジックデバイスに適用してこの種のデバイスの動作速度を増加するため
の相互接続リソースに関する。本発明はさらに、(例えばクロックおよびクリア
信号等の)二次信号配分、入力/出力回路、ロジックモジュール間のカスケード
接続等の、PLDの他の要素に関する。
【背景技術】
【0002】
プログラマブルロジックデバイスは、典型的に、(1)多数の領域のプログラ
マブルロジックと、(2)これらのロジック領域間において相互に信号を伝送す
るためのプログラマブル相互接続リソースとを備えている。各ロジック領域は、
いくつかの比較的単純なロジック機能を実施するためにプログラム可能である。
相互接続リソースは複数のロジック領域が共に動作して個々のロジック領域が実
施するものよりもはるかに複雑なロジック機能を実施し得るようにプログラム可
能である。既知のPLDの例としては、ウォールストロームの米国特許第347
3160号公報、フリーマンの米国特許第34363号公報、クリフ氏等の米国
特許第5689195号公報、クリフ氏等の米国特許第5909126号公報、
ジェファーソン氏等の米国特許出願第09/266235号公報に記載されてお
り、これらはここにおいて参照に組み入れてある。
【0003】
PLDが動作する最大速度の典型的な尺度は、信号がデバイスを通じてあるロ
ジック領域のレジスタ(またはレジスタを有するその他のリソース)から他のロ
ジック領域のレジスタ(またはレジスタを有するその他のリソース)へ伝送され
るために必要とされる最長時間である。PLDは、この最長信号伝送時間よりも
短い周期を有するクロック速度に安定的に同期させることはできない。殆どのP
LDにおいて重要な設計目標は、最長信号伝送時間を短縮することである。従っ
て、ロジック領域および相互接続リソースの両方が、この点を考慮して時間効率
化を目的として設計される。しかしながら、このことを一度達成すると、所与の
集積回路製造技術において、最長信号伝送時間をさらに大幅に短縮することは困
難である。例えば、相互接続速度を増加させるために、より大きなドライバおよ
びパストランジスタが使用されるが、これに対応してルーティングチャネル上に
付加される拡散も増加する。金属RC遅延を縮小するためにコンダクタの相互接
続に幅の大きい金属トラックを使用するが、これによってサイズが拡大する。結
果として、最終的な速度の向上が低減する。
【発明の概要】
【発明が解決しようとする課題】
【0004】
前述の視点から、本発明の目的は、改善されたプログラマブルロジックデバイ
スを提供することである。
【0005】
さらに、本発明のより具体的な目的は、プログラマブルロジックデバイス用の
改善された相互接続リソースを提供することである。
【0006】
さらに、本発明の別の具体的な目的は、プログラマブルロジックデバイスの最
長信号伝送時間特性を、単純に全てのリソースの速度を増加させた際に生じる問
題点を伴うことなく短縮するための相互接続リソースを提供することである。
【0007】
本発明のさらに別の目的は、二次(例えばクロックおよびクリア)信号配分、
入力/出力回路、ならびに2つまたはそれ以上のロジックモジュールをカスケー
ド接続する回路等の要素に関してPLDを改善することである。
【課題を解決するための手段】
【0008】
本発明のこれらおよびその他の目的は、本発明の原理に従って、少なくとも部
分的に実質的に平行な2つの形状体またはサブセット内に構成された相互接続リ
ソースを備えるプログラマブルロジックデバイスを提供することによって解決さ
れる。第1のサブセット内の相互接続リソースは、いわゆる“ノーマル”信号伝
送速度特性を有するように形成される。実質的に平行な第2のサブセット内の相
互接続リソースは、充分に大きな信号伝送速度特性を有するように形成される。
例えば、第1のサブセットと比べて、第2のサブセットはより大きなドライバお
よびパスゲートと、より幅広かつ広く離間して配置されたコンダクタ用のメタル
トラックと、さらに信号伝送速度を増加させるためのその他の特性をもって構成
される。両方の形式の相互接続リソースが存在する場合、殆どのリソースはノー
マル速度のものとし、少数(20%ないし33%、好適には25%)のリソース
を高速度形式とすることが好適である。
【0009】
高速相互接続リソースは、デバイス上において充分に広域に広げて配置するこ
とが好適であり、これによって実質的に任意のデバイス上の2つ(またはそれ以
上)のロジック領域間の信号のルーティングのために少なくとも部分的に使用す
ることができる。(勿論、高速リソースは、略最高価値のものであり、従ってデ
バイス上において比較的に遠くにあるロジック領域間の接続を形成するために使
用することに最も適していることが理解されよう。)従って、実質的にデバイス
上の任意の位置のロジック領域間の相互接続は、全てノーマル速度相互接続リソ
ースを介して形成されるか、または少なくとも部分的に高速相互接続リソースを
介して形成される。
【0010】
高速度リソースに対する典型的な設計目標は、充分な量の充分に高速なリソー
スを設けることによってデバイスがクロックされる速度を倍増させることであり
、従ってこれらのリソースはデバイスに最長の信号伝送時間をもたらす信号を伝
送するために使用することができ、これによってこの信号の伝送時間を半減させ
ることができる。他方、単にデバイス上の全ての相互接続リソースの速度を大幅
に増加させる際の問題点を回避するために、任意の所与の種類の相互接続リソー
スのうちの少ない割合のみを高速度化する。多数の部分はノーマル速度のままと
し、それほどの速度を必要としない大半の相互接続に使用される。
【0011】
本発明に従って、I/Oセル(I/O端子を含む)の配列をデバイス上のロジ
ックおよび他の配列の中に点在させることによって、PLDの入力/出力(“I
/O”)回路を改善することができる。これによってI/O端子がより均一にデ
バイスを横断して配置され、その結果デバイスの周囲にのみI/O端子を配置し
た場合に生じるI/O端子不足を軽減することができる。I/O端子をデバイス
を横断して配分することによって、二次(例えばクロックおよびクリア)信号が
デバイスの中央に近いI/O端子から伝送されるため、これらの信号の配分(例
えばスキューを削減して)を容易化することができる。二次信号配分回路は、こ
のような改善されたI/O端子配置の利点を使用するように形成される。隣接す
るまたは近接するロジック領域間のカスケード接続は、これらの接続の速度を増
加させ、実用性を向上させ、これが使用されていない際のデバイス上における負
担を軽減するように改善することができる。
【0012】
本発明のその他の特徴、特性ならびに種々の利点は、添付図面を参照しながら
以下に詳細に記述する実施例の説明によって明らかにされる。
【図面の簡単な説明】
【0013】
【図1】本発明に従って構成される例示的なプログラマブルロジックデバイスの概略ブロック線図である。
【図2】本発明に従った代表的かつ例示的な相互接続リソースを加えた図1のデバイスの部分拡大図である。
【図3】本発明に従って図1および図2に示されたデバイスに追加的に使用する代表的かつ例示的な相互接続リソースを示す概略ブロック線図である。
【図4】図1および図2のデバイスに適用される別の代表的かつ例示的な相互接続リソースを示す概略ブロック線図である。
【図5A】本発明に従って図1および図2のデバイス上において使用する代表的かつ例示的なプログラマブルロジックおよび関連回路を示す概略ブロック線図である。
【図5B】本発明に従って図1および図2のデバイス上において使用する代表的かつ例示的なプログラマブルロジックおよび関連回路を示す概略ブロック線図である(図5Aおよび図5Bは、図5と総称することもある)
【図6】本発明に従って図1および図2に示されたデバイスに使用するさらに別の代表的かつ例示的な相互接続リソースを示す概略ブロック線図である。
【図7A】図1の本発明の回路の別の代表的な部分の例示的な実施例を詳細に示した概略ブロック線図である。
【図7B】図7Aの回路に関する追加的な要素で図7Aに示されていないものを示した概略ブロック線図である。図7Aおよび図7Bは、図7と総称することもある。
【図8】図7の回路の代表的な部分を詳細に示した概略ブロック線図である。
【図9】図1の本発明の回路のさらに別の代表的な部分の例示的な実施例を示す概略ブロック線図である。
【図10】図5の一部分の本発明に従った別の実施例を示す概略ブロック線図である。
【図11】図5の一部分の本発明に従ったさらに別の実施例を示す概略ブロック線図である。
【図12】本発明に係るプログラマブルロジックデバイスを使用する例示的なシステムを示す概略ブロック線図である。
【発明を実施するための形態】
【0014】
図1には、本発明に従って構成された例示的なプログラマブルロジックデバイ
ス10が示されている。デバイス10は12行のプログラマブルロジック領域2
0を含んでいる。各行は40個の領域20からなる。従って、領域20はデバイ
ス10上において12行40列の領域20からなる2次元行列として配置されて
いる。
【0015】
各領域20は、10個のプログラマブルロジック小領域30を含んでいる。図
1の煩雑化を避けるため、個々の小領域30は最上部左端の領域20についての
み示してある。この点に関して後で詳細に述べるように、各小領域30はデバイ
ス10のユーザがプログラムしていくつかの比較的小さなロジック機能のいずれ
かを実施することができる。非常に複雑なロジック機能は、相互接続コンダクタ
のプログラマブルネットワークおよびデバイス10上の他の適宜な相互接続リソ
ースを介して小領域30を連結することによって実施することができる。
【0016】
領域20の行の中に、5行の入力/出力(“I/O”)端子および関連するI
/O回路40が配分されている。I/O行40の1つは、領域20の行の最上部
に配置されている。別のI/O行40は、領域20の行の最底部に配置されてい
る。3番目のI/O行40は、3番目と4番目の領域20の行の間に配置されて
いる。4番目のI/O行40は、6番目と7番目の領域20の行の間に配置され
ている。5番目のI/O行40は、9番目と10番目の領域20の行の間に配置
されている。
【0017】
最上部のI/O行40の上方には、メモリ領域50の行が配置され、これはデ
バイス10のユーザがランダムアクセスメモリ(“RAM”)、リードオンリー
メモリ(“ROM”)、積算項(“P項”)ロジック、内容アドレスメモリ等と
して使用することができる。別の同様なメモリ領域50の行は、最底部I/O行
40の下方に配置されている。適宜なメモリ領域50の回路については、クリフ
氏等の米国特許第5550782号公報、サング氏等の米国特許第555521
4号公報、サング氏等の米国特許第5633830号公報、クリフ氏等の米国特
許第5689195号公報、サング氏等の米国特許第5717901号公報、サ
ング氏等の米国特許第5802540号公報、ヘイル氏の米国特許出願第09/
034050号公報、ペダーソン氏の米国特許出願第09/023251号公報
、レディ氏等の米国特許出願第09/107533号公報、レディ氏等の米国特
許出願第09/107926号公報、ガイ氏等の米国特許出願第09/1246
49号公報、ヘイル氏の米国特許出願第09/292448号公報、ヘイル氏の
米国特許出願第09/389995号公報に記載されており、これらは全てここ
において全体的に参照に組み入れてある。
【0018】
メモリ領域50の各行の右端にはPLL回路の領域60が配置され、これは図
1には示されていない外部回路からデバイス10に付加されるクロック信号に対
して位相シフトされたクロック信号を形成するように使用される。適宜なPLL
回路については、ジェファーソン氏の米国特許第5642082号公報、ジェフ
ァーソン氏の米国特許第5699020号公報、レディ氏等の米国特許第584
7617号公報、サング氏等の米国特許出願第09/366940号公報、サン
グ氏等の米国特許出願第09/368464号公報、サング氏等の米国特許出願
第09/392095号公報、サング氏等の米国特許出願第09/393036
号公報に記載されており、これらはここにおいて参照として全体的に組み入れて
ある。
【0019】
領域50の最上の行の左端には、制御ロジックおよび端子の領域70が配置さ
れている。この回路は、デバイス10を通常のロジック動作に使用している際よ
り優先してこれをデバイスのプログラミングおよびテストに使用している際にこ
のデバイスを制御するために使用される。
【0020】
領域50の最底部の行の左端にはJTAGロジックおよび端子の領域80が配
置されている。領域80の回路は、デバイスの使用者が通常のロジック動作に優
先してデバイス10のインシステムプログラミングおよびテストに使用すること
ができる。領域80に使用される適宜な回路は、例えばチュー氏等の米国特許第
5650734号公報、およびウォン氏等の米国特許第5699312号公報に
記載されており、これらはここにおいて全体的に参照に組み入れてある。
【0021】
図1に示された回路の最上の行はアドレスおよびレジスタ回路90であり、こ
れは通常のロジック動作に優先してデバイス10をプログラムする際に使用され
る。図1に示された回路の最も左の列はデータレジスタ回路100であり、これ
は通常のロジック動作に優先してプログラムを行っている際に使用される。図1
に示された回路の最も右側の列はテストレジスタ回路110であり、これは通常
のロジック動作に優先してプログラムを行っている際に使用される。典型的な使
用に際して、プログラミングデータは図示されていない外部回路から回路100
にロードされる。このデータはデバイス10を通じて左から右に流れ、回路90
内のアドレス上方によって決定された垂直スライス位置に記録される。デバイス
10が適正にプログラム可能であることと、および/または適正に動作可能であ
ることを確認するために使用するデータは、レジスタ110を介してデバイス1
0から読み出すことができる。例示的な回路において、前述した説明および領域
70についての記載によって示されたデバイス10のプログラミングおよびテス
ト特性に関しては、クリフ氏の米国特許第5237219号公報を参照すべきで
ある。
【0022】
図1に示された要素でまだ説明してないものは、デバイス10の左右方向の中
央またはその付近に配置されたいわゆる二次信号コンダクタと呼ばれる垂直配置
領域120である。領域120は、信号伝送リソースのネットワークの一部であ
り、デバイス10全体で広く必要とされる信号を分配するために使用される。こ
れらの信号の例としては、クロック信号、クリア信号、セット信号、リセット信
号等が挙げられる。領域120および関連する回路の実施例が図7Aおよび図7
Bに示されており、後でこの点に関して説明する。
【0023】
一般的に、プログラミングおよびテストモードと回路は実質的に本発明にとは
関係なく、従ってデバイス10のこれらの機能をさらに詳しく説明する必要はな
い。このことは要素70,80,90,100,および110に該当する。デバ
イスのこの特性に関する構造および技術は当業者において周知であり、この点に
関して先に挙げた参照文献に例が示されている。PLL回路60の構成、動作、
ならびに使用方法は実質的に本発明とは関係なく、これらの回路についてより詳
しく説明する必要はない。再び、適宜なPLL回路は当業者において周知であり
、この点に関して先に挙げた参照文献に例が示されている。本発明は、メモリ領
域50を補助するように拡張することができ、このような拡張可能性については
以下の記述において説明され、これは主に本発明をロジック領域20、I/O領
域40、これらのロジック領域およびI/O領域を含む相互接続に適用すること
に関する。従って、メモリ領域50についてもさらに詳しく説明する必要はない

【0024】
図2には図1の一部であるが、デバイス10に設けられた相互接続リソースの
いくつかが示されている。ロジック領域20の各列に結合し、かつメモリ行50
へと延在する、複数のいわゆる広域垂直コンダクタ200が設けられている。煩
雑化を避けるため、図1には代表的ないくつかのコンダクタ200のみが示され
ている。コンダクタ200の各グループは、参照符号200aで示される比較的
大きなコンダクタのサブセットを有し、これは通常の信号伝送速度特性を有する
。コンダクタ200の各グループはまた参照符号200bで示される比較的小さ
なコンダクタのサブセットを含んでおり、これは大幅に速い信号伝播速度特性を
有する。例えば、各サブセット200aは該当するコンダクタ200のセットの
うちの約67ないし80%(最も好適には約75%)を含んでおり、各サブセッ
ト200bは該当するコンダクタ200のセットのうちの約20ないし33%(
最も好適には約25%)からなる。
【0025】
ロジック領域20の各列の上半分に結合し、またメモリ領域50の上の行に延
在する、複数のいわゆる半垂直相互接続コンダクタ210が設けられている。半
垂直相互接続コンダクタ210は、ロジック領域20の各列の下半分ならびにメ
モリ領域50の下方の行に結合されている。図面の煩雑化を避けるために、代表
的なコンダクタ210のみが示されている。コンダクタ200の場合と同様に、
コンダクタ210の各セットも比較的大きなノーマル速度コンダクタのサブセッ
ト210aと、比較的小さな高速コンダクタのサブセット210bを備えている
。コンダクタ210aとコンダクタ210bの比率は、コンダクタ200aと2
00bの比率と同様なものにすることができる。
【0026】
ロジック領域20の各列に結合して、複数のいわゆる交互配置垂直(“IV”
)コンダクタ220が設けられている。再び、図面の煩雑化を避けるため代表的
なコンダクタ220のみが示されている。コンダクタ220の各グループは、上
下に近接するロジック領域20とメモリ領域50との間を延在するとともに、間
在しているI/O領域40のいずれかを介して延在している。コンダクタ200
および210が交差する要素20,40および50のいずれかの間において信号
を伝送するために使用されるのに対し、コンダクタ220は上下に近接する要素
20および50の間において接続速度を高めるために使用されるとともに、デバ
イス10上の垂直相互接続に必要とされるコンダクタ200および210の数を
削減するよう作用する。IVコンダクタに関しての追加的な詳細は、米国特許(
出願番号、出願日不明、文書番号第174/173)に記載されており、これは
ここにおいて全体的に参照に組み入れてある。
【0027】
ロジック領域20の各行に結合して、複数のいわゆる広域水平相互接続コンダ
クタ230が設けられている。図面の煩雑化を避けるために代表的なコンダクタ
230のみが図示されている。コンダクタ230の各セットは、比較的大きなノ
ーマル速度コンダクタのサブセット230aと比較的小さな極めて高速のコンダ
クタのサブセット230bを含んでいる。ノーマル速度コンダクタと高速コンダ
クタとの比率は前述したノーマル速度コンダクタと高速コンダクタとの比率と同
様である。
【0028】
ロジック領域20の各行の左半分に結合するとともにこれに沿って延在する、
複数のいわゆる半または直接水平相互接続コンダクタ240が設けられている。
半水平コンダクタ240はロジック領域20の各行の右半分に沿って延在してい
る。再度、図面の煩雑化を避けるために少数の代表的なコンダクタ240のみが
図示されている。
【0029】
さらに、ロジック領域20の各行に結合して、複数群のいわゆるHFNL(第
1ライン水平ネットワーク)相互接続コンダクタ250が設けられている。いく
つかのHNFLコンダクタを短くする必要がある行の末端部を除いて、NFNL
コンダクタ250の各グループは10個のロジック領域20に架かっている。加
えて、HNFLコンダクタ250の各グループ内のコンダクタは、ロジック領域
20またはそのグループの中央付近にあるその他の信号源によってのみ駆動する
ことができる(再度、行の末端のものは除いて)。コンダクタ230および24
0はこれらが架かっているロジック領域20のいずれかの間において信号を伝送
することに使用され、コンダクタ250はロジック領域20またはこのコンダク
タを含むグループの中央にある他の信号源から中央ロジック領域の左および/ま
たは右の固定数のロジック領域に伝送される。各行内の各ロジック領域20は、
該当する複数のコンダクタ250に対する中央/駆動ロジック領域となる。HN
FLコンダクタに関しての追加的な詳細は米国特許出願(出願番号、出願日不明
、文書番号174/173号)に記載されており、これはここにおいて全体的に
参照に組み入れられている。
【0030】
図3には、ロジック領域20の行に結合された水平コンダクタからこの行内の
ロジック領域に信号を伝送するための代表的な相互接続および回路が示されてい
る。図3には、ロジック領域付近を通過する215本のノーマル速度広域水平コ
ンダクタ230aと、そのロジック領域付近を通過する100本の高速広域水平
コンダクタ230bと、そのロジック領域付近を通過する105本の半水平コン
ダクタ240と、そのロジック領域付近を通過する90本のHNFLコンダクタ
250と、そのロジック領域付近を通過する12本の二次コンダクタ260とが
存在することが示されている。前述したように、最後に挙げた二次コンダクタ2
60は、クロック、クリア等の信号を伝送することができる。これらの信号26
0のうちのいくつかは中央二次信号領域120(図1)から伝送することができ
;その他の信号はより局所的(例えば隣接するロジック領域20の行内)に形成
されソースの局所内(すなわちそのソースの行)においてのみ使用することがで
きる(後述する図7Aおよび図7Bに関する詳細な説明を参照)。
【0031】
図3には、さらに代表的な論理領域フィーディングコンダクタ300が示され
ている。図示されたコンダクタ300は、図示されたコンダクタ230a,23
0b等が作用するロジック領域行内の水平に近接する2つのロジック領域20の
間に配置された26本のコンダクタのグループのうちの1つである。26本のコ
ンダクタ300は、全てのロジック領域行内の全ての水平に近接するロジック領
域20の間に間在している。
【0032】
各コンダクタ300について、コンダクタ230a、230b、240、およ
び260のうちの選択された1つが2つのプログラマブルロジックコネクタ(“
PLC”;例えばマルチプレクサ)270−1および270−2の入力に接続さ
れる。PLC270は、それぞれ通常プログラマブル動作制御要素(“FCE”
)272によって制御され、その入力のうちのいずれかの上の信号をその出力に
適用する。(4つの入力が図示されているが、各PLC270はそれよりも少な
いかまたは多い入力(例えば、2,3,6,7または8個の入力)を備えること
もできることが理解されよう。)各PLC270出力信号は、該当する反転バッ
ファ(増幅器)274に付加され、従って該当するPLC276の入力に付加さ
れる。PLC276への他の入力は、近接するコンダクタ230bおよび250
のうちの選択された1つ、ならびに(伝送線280を介して)相関する(もし存
在すれば)I/O領域40から通じている。PLC276はFCE(図示されて
いないがFCE272と同様である)によって制御され、その出力に入力のうち
のいずれかの上の信号を付加する。PLC276の出力信号は、反転バッファ2
78を介してコンダクタ300に付加される。前述したI/O領域40とロジッ
ク領域20との相関は以下のようである:最上の行20と40、第2行40と第
4行20、第3行40と第7行20、第4行40と第10行20、第5行40と
第12行20である。
【0033】
図3に示された相互接続は、図示されたロジック領域20に近接するコンダク
タ230,240,250,260および280のそれぞれがそのロジック領域
の左または右の少なくとも1本のコンダクタ300へ通じる経路を有するように
形成される。加えて、各コンダクタ230bおよび250は、PLC276を通
じて直接的にかつPLC270を経由することなく、そのロジック領域の左また
は右の少なくとも1本のコンダクタ300へ通じる経路を有する。この最後の点
は、コンダクタ230bおよび250が速度に関して最適化されているため重要
であり、また要素276と278のみを介して信号をコンダクタ300に伝送す
る方が要素270および274も介して伝送するより高速である。
【0034】
図4には、水平に近接する領域20の間に配置されデバイスの他の相互接続リ
ソースからこれらの領域に信号を伝送するとともにこれらの領域内の小領域30
の中の局所的相互接続を形成するための代表的なコンダクタが示されている。こ
れらのコンダクタの各グループは、26本のコンダクタ300(その信号ソース
は図3に示されている)と、近接するHNFLコンダクタ250の1つの支線と
、10本の局所フィードバックコンダクタ310とを含んでいる。これらの局所
フィードバックコンダクタ310のうちの5本は、図示されたコンダクタグルー
プの左側の領域20内の小領域30のうちの5つからの信号を受信する。これら
のコンダクタ310の残りの5本は、図示されたコンダクタグループの右側の領
域20内の小領域30のうちの5つからの信号を受信する。
【0035】
各小領域30は、時々入力A−Dで示される4つのデータ信号入力を備える。
コンダクタ300および310は、いずれもこれらのコンダクタの右側の10個
の小領域30の入力AおよびCへ付加される信号源、ならびにこれらのコンダク
タの左側の10個の小領域30の入力BおよびDへ付加される信号源として使用
することができる。他方、図示されたHNFLコンダクタ支線250は、最上右
側の小領域の入力Aに付加される信号源、ならびに最上左側の小領域の入力Bに
付加される信号源として使用することができる。中間の4本のコンダクタ320
が各小領域入力A−Dに結合されている。これらのコンダクタ320に交差する
コンダクタ250,300,および310のそれぞれが、各入力A−Dに結合さ
れた4本のコンダクタ320の1本に接続することができる。これらの接続は、
FCE324によって4つずつのグループにおいて制御されるPLC322によ
って形成される。(4つずつのグループの例外として、HNFL支線250への
接続のためにグループ分けが行われる。)従って、単一のFCE324は4本の
コンダクタ300/310を各入力A−Dに結合された4本のコンダクタ320
へ接続するようプログラムされる。各入力A−Dに付加される信号の最終的な選
択は、この入力に結合された4つのFCE326の1つをプログラミングしてこ
の入力に結合されたPLC328のうちの1つを付勢することによって実施され
る。(他方、HNFL支線250上の信号は、該当するFCE324および32
6を適宜にプログラミングすることによってA入力またはB入力に付加すること
ができる。
【0036】
前述のことから、図4に示されているように、HNFL信号はコンダクタ30
0等が作用するロジック領域20への2つの可能な経路を有する。これらの経路
のうちの1つは、図3の要素276および278を介する比較的高速なルーティ
ングである。1つの特定のHNFLコンダクタ250および図4に示されたコン
ダクタ300は作用する最上部の小領域30に対する他の経路は、図4に示され
たコンダクタ支線250と関連する要素322および328を介するより高速の
ルーティングである。多少低速ではあるが、第1の経路は、近接するHNFL信
号を図4の回路が作用するロジック領域20への少なくとも多数の入力へ伝送す
る点において、より広範な目的を有している。他方、高速の経路は、近接するH
NFLの1つにのみ作用し、図4の回路が作用するロジック領域20のそれぞれ
の中の1つの小領域30の入力端子への入力のみを可能にする点において、より
限定的なものとなる。
【0037】
図5Aおよび図5B(図5で総称することもある)には、代表的な小領域30
の例示的な実施例が示されている。小領域30の核は、4入力ルックアップテー
ブル(要素402,404,406,および408)とレジスタ480である。
この点に関して後に説明する他の特徴とともに記述されるが、小領域30の基本
的な動作は、入力A−Dの任意の論理的組合わせとすることができるルックアッ
プテーブルの出力信号(PLC408からの)を形成するようプログラム可能な
4入力ルックアップテーブルである。ルックアップテーブル出力信号は、PLC
482のいずれか1つまたはいくつかを介して直接的に出力される。他方、また
はこれに加えて、ルックアップテーブル出力信号はレジスタ480によって記録
され、その後記録されていないルックアップテーブル出力信号を出力するために
使用されていないいずれかのPLC482を介して出力される。
【0038】
代表的な小領域30についてより詳細に説明すると、第1ステージの4入力ル
ックアップテーブルロジックは、4つの2入力ルックアップテーブル402a−
402dとして構成されている。各ルックアップテーブル402は小領域入力A
およびBを受信し、これら2つの入力信号のいずれかの論理的組合わせである出
力信号を形成する。4入力ルックアップテーブルの第2のステージは、2つのP
LC404aおよび404bとして構成されている。PLC(例えばマルチプレ
クサ)404は、(1)小領域30へのC入力か、(2)小領域30へのD入力
か、または(3)PLC410bによって選択されたキャリーイン信号によって
制御することができる。選択肢(1)、(2)、および(3)からの選択は、P
LC414aを適宜にプログラムすることによって実施される。小領域が特定の
バイナリ計算動作(例えば、高速加算器、カウンタ、マルチプライア、およびワ
イドパリティ機能)の一部分を実施するために使用される場合、選択肢(3)が
選択される。選択肢(1)と(2)の間の選択は、エレメント406,408お
よび418に関連して詳細に説明する信号タイミング要件に基づいて実施される
。出力信号PLC404aおよび404bは、それぞれ反転バッファ406aお
よび406bによって増幅されている。(要素404はしばしばPLCと呼称さ
れるが、これらはプログラム制御よりむしろ動的に制御される。言い換えると、
FCEによってプログラム制御されデバイス10が一度プログラムされた通り常
に同一の信号選択をするよりも、むしろ要素404はデバイスの通常ロジック動
作中の異なった時間に異なった信号選択を実施し、これはその制御信号はそのロ
ジック動作の結果に起因して変化するロジック信号であるためである。にもかか
わらず、ここで404のような要素はPLCと呼称される。より正確にするため
に、これらの動的制御された要素は、しばしば代わりにロジックコネクタと呼称
される。要素404のようにPLCと呼ばれたりロジックコネクタと呼ばれたり
するその他の要素の例は、要素408,410,422,442,464,46
6である。)
4入力ルックアップテーブルロジックの最終ステージはPLC(例えばマルチ
プレクサ)408によって構成される。PLC408は、(1)小領域30への
C入力か、(2)小領域30へのD入力か、または(3)別の隣接するまたは近
傍の小領域30からのいわゆる“直接接続”入力DCINによって制御すること
ができる。これらの選択肢(1)、(2)、および(3)の中からの選択はPL
C418を適正にプログラミングすることによって実施される。選択肢(3)は
、図示された小領域30が他の近接するまたは近傍の小領域からの直接接続信号
を受信することに(少なくとも部分的に)基づいたロジック機能を実施している
場合に選択される。これらの小領域間の直接接続は、広範なファンインロジック
機能等の操作を実施するために使用することができ、これはいくつかの小領域を
直列接続することを必要とし、これはしばしばカスケードチェーンと呼称される
。(プログラマブルロジックデバイス内のロジックモジュール間のカスケード接
続についての詳しい説明に関しては、例えばクリフ氏等の米国特許第52586
68号参照すべきである。この文献はここにおいて全体的に参照に組み入れてあ
る。)選択肢(1)と(2)との間の選択は、信号タイミング要件に基づいて実
施される。
【0039】
前記の2つの段落に関する信号タイミング要件は、4入力ルックアップテーブ
ルロジックによって処理されそのロジックの最終ステージ(すなわちPLC40
8の制御入力端子)に伝送される最も低速のデータ信号のルーティングを含んで
いる。このようにして、先に到達したデータ信号は、ルックアップテーブルロジ
ックの最初の2つのステージによって処理されバッファ406aと406bの出
力端子上に既にバッファされた2つの信号を形成する。最後に到達するデータ信
号を受信すると、PLC408は最後に到達する信号の状態によって選択された
バッファ出力信号を直ちに出力することが可能となる。最後に到達するデータ信
号をルックアップテーブルの最終ステージに付加することによって、ルックアッ
プテーブル出力信号は、最後に到達するデータ信号をルックアップテーブルの前
方ステージに付加する場合に比べて、著しく迅速なものにすることができる。こ
のルックアップテーブルの高速化は、PLC408の下流側のバッファによって
最終ルックアップテーブル信号を遅延させるよりも、むしろPLC408の上流
側にバッファ406を設置することによりさらに増進することができる。
【0040】
前述した要素414aおよび418は、入力Cまたは入力Dのいずれか一方を
ルックアップテーブルの最終ステージに付加されるものとして選択することを可
能にする。従って、最終ステージに対して選択されていない入力CまたはDは、
ルックアップテーブルの最終前のステージに付加することができる。入力Dが小
領域の右側のコンダクタ300/310から通じているのに対して入力Cは小領
域30の左側のコンダクタ300/310(図4)から通じているため、入力C
または入力Dのどちらかを最後に到達する入力として選択する(PLC414a
および418を使用して)可能性により、デバイス内のルーティングの制約が容
易になる。従って、最後に到達する信号は、小領域の左側または右側のいずれか
のコンダクタ300/310を介して到達するようルーティングすることができ
る。
【0041】
直接接続信号DCINは比較的遅く到達するため(例えば、比較的長いカスケ
ードチェーンの下流端部付近で形成された場合)、この信号もPLC418によ
って選択してルックアップテーブルの最終ステージへ付加することができる。こ
のこともカスケードチェーンの高速化を補助する。
【0042】
図5Aの他の要素について説明を続けると、小領域30がバイナリ加算、カウ
ンティング等の一部を実行するために使用される場合、要素402a、402b
は入力A、入力B、およびキャリーイン信号(PLC410bからの)の合計の
2つの先行値を形成するようプログラムすることができる。PLC404aは、
キャリーイン信号(PLC414aを介して)によって制御され、これらの2つ
の先行値のうちの適宜な1つを合計出力信号として選択する。PLC408は、
合計出力信号を常に図5Bの回路に伝送するよう制御される。このPLC408
の状態は、小領域に対してD入力を使用してPLC408を制御するとともに関
連する全てのD入力要素328(図4)をオフ状態にプログラムすることによっ
て達成され、このことによりD入力は高位の初期設定とされる。)要素402c
および402dは、入力A、入力B、およびキャリーイン信号の合計からなるキ
ャリーアウトの2つの先行値を形成するようにプログラムされる。この2つの先
行値は、バッファ420aおよび420bによってそれぞれ反転され、平行して
各PLC(例えばマルチプレクサ)422aおよび422bの2つのデータ入力
に付加される。PLC422aおよび422bは、小領域30に付加されたC0
INおよびC1IN信号に基づいてC0OUTおよびC1OUTとして出力する
先行値をそれぞれ選択する。各小領域30のC0OUTおよびC1OUT信号は
、キャリーチェーンの中の次の小領域30のC0INとC1IN信号となる。従
って、高速化キャリーチェーンのための回路の一部として2つのキャリー信号が
伝送される。この回路(PLC410bを制御するためのLABCINH信号の
形成を含んでいる)は、本発明の構成要素ではなく、従ってさらに詳細な説明は
省略する。しかしながら、これについては、米国特許(出願番号、出願日不明;
文書番号174/176号)に記載されており、これはここにおいて全体的に参
照に組み入れてある。
【0043】
要素430,432,434,436,438,440,442,および44
は、小領域30の乗算動作を実行および高速化する回路の一部として設置される
。回路(PLC410aを制御するためのLABCINV信号の形成を含む)も
本発明の構成要素ではないので、その詳細な説明は省略する。しかしながら、こ
れについては、米国特許(出願番号、出願日不明;文書番号174/175号)
に記載されており、これはここにおいて全体的に参照に組み入れてある。
【0044】
要素450および452は、レジスタ480(図5B)がいわゆる“単独レジ
スタモード”において使用されることを可能にする回路の一部である。すなわち
、レジスタ480がPLC408からのルックアップテーブル出力信号を記録す
るために必要とされていない場合、レジスタは代わりに入力Cおよび入力Dを記
録するために使用される。C/Dの選択は、PLC414bによって実施される
。PLC450は、選択された信号の真値または補数値のいずれか一方を伝送す
るようプログラムされる。バッファ452は、選択された信号を反転および増幅
する。
【0045】
ここで、図5Bに示されている代表的な小領域30回路の部分について説明す
ると、要素454および456は、ルックアップテーブル出力信号(図5AのP
LC408からの)をこの小領域の直接接続出力信号(DCOUT)として出力
することを可能にする。各小領域30のDCOUT信号は、カスケードチェーン
または小領域列内の次の小領域のDCIN信号となる。要素454はDCOUT
信号用の反転バッファであり、要素456はこの信号用のレベル復元回路の一部
である。
【0046】
要素460および462は、PLC464および466の状態を要素460の
プログラミングと、バッファ452(図5A)の論理状態と、SCAN、SYN
CLD、およびSYNCLR信号の論理状態とに基づいて制御するための回路で
ある。SCAN信号は、デバイスをスキャンテストモードに設定するためのデバ
イス広域信号であり、このモードにおいてデバイス上のレジスタ480およびそ
の他のレジスタはスキャンチェーン内で効率的に接続され、それらの内容を読み
出すとともにこれによってデバイスが適正に動作するよう迅速に検査する。従っ
て、SCAN信号が確認されると、デコーディングロジック462がPLC46
4および466を制御し、SCANIN信号をレジスタ480に付加する。各小
領域30のSCANIN信号は、1つ前の小領域またはスキャンチェーン内の他
のレジスタ回路SCANOUT信号である。レジスタ480のQ出力信号は、小
領域30のSCANOUT信号として反転バッファ486を介して出力される。
【0047】
SYNCLDおよびSYNCLRは、小領域30を含む領域20について領域
全体のベースで選択することが好適な信号である。これらの信号は、レジスタ4
80を同期的にロードするかまたは同期的にクリアするのに適した信号を付加す
るようデコーディングロジック462を付勢するために使用される。例えば、V
SS(接地またはロジック0)はPLC464および466を介してレジスタ4
80のD入力端子に接続され、これによってレジスタの同期的なクリアを生じさ
せる。このロジック462への入力、ならびに結果としてこのロジックからの出
力の他の状態は、レジスタ480がその出力信号を再登録するか、いわゆるバッ
ファ44(図5A)からの“直接合計出力”信号DSOを記録するか、またはバ
ッファ452(図5A)の出力信号を記録する単独レジスタモードで動作するこ
とを付勢する。ここで全体的に参照に組み入れられているペダーソン氏の米国特
許第5835998号公報には、要素460および462として464,466
,480等の要素(以下に詳細に説明する要素490,492,494および4
96等の要素)を制御するよう使用することができる回路の例が示されている。
【0048】
要素470,472,および474は、クロック信号CLK0またはCLK1
のいずれか一方をレジスタ480のクロック入力端子に付加するクロック信号と
して選択することを可能にする。FCE470は、PLC472が2つのクロッ
ク信号のうちの1つを選択することを付勢し、これはバッファ474によって反
転されレジスタ480に付加される。
【0049】
要素490−496は、レジスタ480を制御して、多様なプリセット、同期
ロード、およびクリア動作を実施するようプログラム可能か、または動作可能で
ある。要素490はFCE、要素492はインバータ、要素494aおよび49
4bはANDゲート、要素494cおよび494dはORゲート、要素496a
はNORゲート、要素496bはNANDゲートである。PRE/ASYNLD
信号は、非同期ロード制御信号である。NCLR信号はクリア信号である。
【0050】
PLC482a−cは、FCE(図示されてない)によってプログラムし、V
SS(ロジック0)、レジスタ480のQ出力、またはPLC408(図5A)
からの記録されていないルックアップテーブル出力信号のいずれかを出力するこ
とができる。PLC482dも、VSSに代えてVCC(論理1)を出力し得る
点を除いて同様である。PLC482aの出力信号は、反転バッファ484aに
よって小領域30の第1出力線OUT0に付加される。PLC482bの出力信
号は、反転バッファ484bによって小領域30の第2出力線OUT1に付加さ
れる。PLC482の出力信号は、反転バッファ484cによって小領域30の
LOCAL出力線に付加される。PLC482dの出力信号は、反転バッファ4
84dおよび484d′によって交互配置垂直(“IV”)コンダクタ220に
付加される。
【0051】
OUT0およびOUT1信号の目的は、図6に基づいて以下に説明する。LO
CAL信号は、小領域30を含んでいる領域20の左側または右側の局所フィー
ドバックコンダクタ310(図4)のうちの1本に付加される。特に(また既に
記述したように)、各領域20内の小領域30の半分のLOCAL出力その領域
の左側のコンダクタ310のそれぞれに付加され、各領域内の小領域の残り半分
のLOCAL出力はその領域の右側のコンダクタ310に付加される。LOCA
L出力信号と同様な方式で、各領域20内の小領域30の半分のIV出力線22
0はその領域から上方に延在しており、残り半分の小領域の出力線220はその
領域から下方に延在している。
【0052】
図6には、小領域30からデバイスの相互接続コンダクタへの接続、ならびに
種々の相互接続コンダクタ間の接続を形成するための代表的な回路が示されてい
る(図4に示されたものと違うものであり、既に説明済みである)。図6は、ド
ライバ回路の代表的なブロック500を有することを特徴とする。4つの小領域
30からなる各グループに結合された、この種のドライバ回路のブロックは、水
平に隣接する2つの領域20のそれぞれから2つの小領域を含んでいる。
【0053】
まず、左側の上部小領域30の種々の出力信号について考えると、その小領域
のOUT0信号がPLC502の1つの入力端子に付加される。(OUT0信号
は図6に示されたものの左側のドライバブロックにも付加される。)PLC50
2へのその他の入力は、(1)図6に示された、同じ領域20の列であるが小領
域を含む行の上または下の行内の小領域30からの交互配置垂直信号220のう
ちの1つ、(2)OUT0を生成するものと同じ小領域30からの直接合計出力
信号DSO、および(3)図6に部分的に示されているドライバ回路ブロック5
00の列と結合された高速半垂直コンダクタ210bのうちの1つである。PL
C502は、その4つの入力信号のうちの1つを選択して反転バッファ504に
付加するようプログラム可能である(図6には図示されていないFCEによって
)。バッファ504の出力信号は、図6の左側に示された小領域を含む領域20
の列の中央に配置されたコンダクタのグループ内のHNFLコンダクタ250の
1つに付加される。特に、バッファ504の出力信号は領域20の列の左側に延
在するHNFLコンダクタセグメント250へ付加される。反転バッファ562
(以下により詳細に説明する)の出力信号は、領域20の右側に延在する同一の
HNFLコンダクタ250のセグメントに付加される(左右に延在する各HNF
Lコンダクタ250のセグメントは実質的に分離したコンダクタであり、これは
分離して駆動可能であり、しばしば総称して単一のHNFLコンダクタ250と
呼称される)。
【0054】
図6の上部左側の小領域30のOUT1出力信号は、各PLC510,522
,530,540,550,および560の1入力端子に付加される。PLC5
60の他の入力は、前述したPLC502への入力(1)−(3)と同様になる
。PLC560は、その4つの入力信号のうちのいずれか1つを反転バッファ5
62に付加して、前の段落で説明したように、右側に延在しているHNFLコン
ダクタ250のセグメントに付加するようプログラムすることができる。
【0055】
図6の上部左側の小領域30のいわゆるLOCAL出力信号は、近接する局所
フィードバックコンダクタ310の1つに付加される。前述したように、各領域
20内の小領域30の半分のLOCAL出力信号はその小領域の左側の局所フィ
ードバックコンダクタ310に付加され、各領域内の小領域の残り半分のLOC
AL出力信号はその小領域の右側の局所フィードバックコンダクタ310に付加
される。
【0056】
図6内の上部左側の小領域30のIV出力信号は、図6に部分的に示された行
の上方の行内の適宜な位置に延在しているIVコンダクタ220に付加される。
【0057】
図6の下部左側の小領域30の出力信号の目的は、一般的に前述した上部左側
の小領域と同様である。OUT0信号は、PLC506への入力の1つである。
(再び、このOUT0信号は左側の別のドライバブロック500にも付加される
。)PLC506への別の入力は、(1)近接する高速広域垂直コンダクタ20
0bからの信号、(2)IV信号220、および(3)下部左側の小領域30の
直接合計出力信号である。PLC506は、その入力信号のうちのいずれかを反
転バッファ508に付加し、別の近接する、左側に延在するHNFLセグメント
250に付加するようプログラムすることができる。
【0058】
下方左側の領域30のOUT1信号は、PLC510,522,530,54
0,550、および564に付加される。PLC564への他の入力は、前述し
たPLC506への入力(1)−(3)と同様であり、PLC564の出力は(
バッファ566を介して)バッファ508が駆動するものと同じHNFLコンダ
クタの右方に延在するセグメントに付加される。下方左側の小領域30のLOC
AL出力信号は、近接する局所フィードバックコンダクタ310に付加される。
下方左側の小領域30のIV出力信号は、図6の回路を含む行の下側に近接する
行内の適宜な位置に延在するIVコンダクタ220へ付加される。
【0059】
図6に示された上方右側の小領域30のOUT0信号は、各PLC510,5
22,530,540,および550の1入力端子に付加される。この信号は、
図6に示されたものの右側の別の同様なドライバブロック500にも付加される
。上方右側の小領域30のOUT1およびDSO出力信号は、右側のドライバブ
ロックにも付加される。上部右側の小領域30のLOCAL出力信号は、近接す
る局所フィードバックコンダクタ310に付加される。上部右側小領域30のI
V出力信号は、上方へ延在するIVコンダクタ220に付加される。
【0060】
下部右側小領域30の出力信号の目的は一般的に同様なものである。OUT0
信号は、各PLC510,522,530,540,および550の1入力端子
、ならびに図6に示されたものの右側のドライバブロック500に付加される。
OUT1およびDSO信号も右側のドライバブロック500に付加される。LO
CAL出力信号は、近接する局所フィードバックコンダクタ310に付加される
。IV出力信号は、図6に部分的に示された行の下に近接する行内の同様な位置
に向かって下方に延在するIVコンダクタ220へ付加される。
【0061】
PLC510は、(図示されてないFCEによって)その入力信号のうちのい
ずれかを選択してドライバ512に付加するようにプログラムすることができる
。ドライバ512の出力信号は、PLC514(例えばデマルチプレクサ)に付
加され、これはFCE(図示されていない)によってプログラムしその入力信号
をその出力端子のいずれかに付加することができる。PLC514の1出力端子
は、近接する高速広域垂直コンダクタ200bに接続される。PLC514の別
の出力端子は、近接する高速半垂直コンダクタ210bに接続される。前述のこ
とより、要素510,512,および514は、左側の小領域30のOUT1信
号、または右側の小領域30のOUT0信号のうちのいずれか1つを、近接する
高速広域垂直コンダクタ200bまたは近接する半垂直コンダクタ210bのい
ずれかに接続することを可能にする。この要素510,512,および514は
、図6に示されたドライバブロック500が作用する4つの小領域30のいずれ
かが、高速広域垂直コンダクタ200bまたは高速半垂直コンダクタ210bの
いずれかを駆動することを可能にする。
【0062】
まだ説明していないPLC522への入力は:(1)近接する1つの高速広域
垂直コンダクタ200bの1つからの信号、(2)近接する高速半垂直コンダク
タ210bの1つからの信号、(3)2つの交互配置垂直コンダクタ信号220
(そのうち1つは図6に部分的に示された行の上の行から伝送され、他の1つは
図6に部分的に示された行の下の行から伝送される)、(4)近接する4本の広
域垂直コンダクタ200aのうちの1本からの信号(この4つのうちの1つの信
号の選択はPLC520によって実施される)である。デバイス10上の他のP
LCと同様に、PLC522はFCE(図示されていない)によってその入力の
うちいずれか1つを選択してトリステートドライバ524に付加するようプログ
ラム制御される。トリステートドライバ524は、FCE526によってオフ(
高出力インピーダンス)またはオン(付加されたデータ入力信号を伝送および増
幅することができる)のいずれかにプログラム制御される。トリステートドライ
バ524の出力信号は、高速広域水平コンダクタ230bのうちの近接する1つ
に付加される。前述のことから、要素522,524,および526が図6に示
されたドライバブロック500が作用する小領域30のうちのいずれか1つの出
力信号が近接する高速広域水平コンダクタ230bのうちの1つ上に伝送される
ことが理解される。他の例においては、要素522,524,および526は、
近接する高速広域垂直または高速半垂直コンダクタ200bまたは210bのい
ずれかからの信号を転向させて前述した高速水平コンダクタ230b上に伝送す
ることを可能にする。さらに別の変更例においては、要素522,524,およ
び526は、2つの交互配置垂直コンダクタ信号220のいずれか一方を前述し
た高速広域水平コンダクタ230b上に伝送することを可能にする。最後の変更
例においては、要素520,522,524,および526は、近接する4つの
広域垂直コンダクタ信号200aのうちの1つを転向させて前述した高速広域水
平コンダクタ230b上に伝送することを可能にする。
【0063】
次に、まだ説明していないPLC530への入力について考えると、PLC5
20に付加された4つの信号のうちの2つはPLC530にも付加され、近接す
る2つの半垂直コンダクタ210aからの信号と同様である。PLC522に付
加される交互配置垂直コンダクタ信号の1つは、PLC530にも付加される。
デバイス10上の他のPLCと同様に、PLC530は、FCE(図示されてい
ない)によってその入力のいずれか1つをドライバ532に付加しそのデバイス
によって使用するようにプログラムすることができる。ドライバ532の出力信
号はPLC534に付加される(例えばデマルチプレクサ)。PLC534は、
FCE(図示されていない)によってその入力信号をその出力線のいずれかに付
加するようプログラム制御される。PLC534の出力線のうちの2つは、近接
する2つの広域水平コンダクタ230aにそれぞれ接続される。PLC534の
第3の出力線は、近接する半垂直コンダクタ210aに接続される。前述のこと
から、要素530,532,および534は、図6に示された4つの小領域30
のうちのいずれか1つの出力信号を近接する通常(ノーマル速度)の水平および
垂直コンダクタ230aおよび210aのいずれかに伝送するために使用するこ
とができる。他の例において、要素530,532,および534は、近接する
通常(ノーマル速度)コンダクタ200aおよび210aからの信号または相互
配置垂直コンダクタ220からの信号を通常の水平または垂直コンダクタ230
aまたは210a上に伝送するために使用することができる。従って、530,
532,および534は、例えば、信号を通常の垂直コンダクタから通常の水平
コンダクタへ転向させることを可能にする。
【0064】
要素540,542,および544への入力およびこれからの出力は、一般的
に前述した要素530,532,および540のものと同様である。異なるのは
、(1)PLC530のものとは異なったコンダクタ220がPLC540に接
続される点と、(2)コンダクタ210aの1つのみがPLC540に接続され
、(3)PLC544の3番目の出力が半垂直コンダクタ210aではなく近接
する広域垂直コンダクタ200aに付加される点である。しかしながら、要素5
40,542,および544は、要素530,532,および534に比べてよ
り多くの同じ基本型のルーティング能力を提供する。
【0065】
まだ説明していないPLC550の入力は、近接する4つのコンダクタ200
aおよび近接する3つのコンダクタ210aからの信号である。デバイス10上
のその他の類似のPLCと同様に、PLC550は(図示されてないFCEによ
って)付加された信号のうちのいずれか1つを選択してドライバ552に使用す
るようプログラムすることができる。ドライバ552は受信した信号を増幅して
、増幅された信号を近接する直接水平コンダクタ240のいずれか1つに付加す
る。従って、要素550および552は、図6に示された小領域30のいずれか
、または複数の近接する垂直コンダクタ200aまたは210aのいずれかが、
近接する直接水平コンダクタ240をドライブすることを可能にする。例えば、
要素550および552は、垂直コンダクタ200aまたは210aからの信号
を水平コンダクタ240に転向させることを可能にする。
【0066】
前述のことから、本発明に従って構成されたプログラマブルロジックデバイス
10がノーマル速度形式およびより高い速度(“高速”)形式の両方の形式で設
けられた相互接続リソースを少なくともいくつか備えることが理解されよう。両
方の形式は、互いに“構造的に類似”していることが好適である。“構造的に類
似”とは、両方の形式の相互接続リソースのいずれを使用しても一般的に同形式
のルーティングが可能であることを意味する。いずれかの形式の相互接続リソー
スを使用する基本的に類似の経路を介して同一のソースからの信号が得られる。
しかしながら、高速形式のリソースを介するとノーマル速度形式のリソースを介
するよりも、信号は大幅に速く伝送される。
【0067】
高速形式の相互接続リソースは、いくつかの経路よりも高速に形成することが
できる。例えば、高速コンダクタは、通常速度コンダクタに比べて幅広かつ互い
の離間距離を広げて構成することができる。特に、高速コンダクタはノーマル速
度コンダクタに比べて2ないし3倍の幅をもって形成することができる。これに
代えてまたは加えて、高速コンダクタ間の離間距離は、ノーマル速度コンダクタ
間の離間距離に比べて2ないし3倍とすることができる。高速コンダクタに対し
て厚い上金属層を使用することが好適であり、他方通常のルーティングは薄い低
金属層を使用する。この技術を使用することによって、高速コンダクタのRC時
定数はノーマル速度コンダクタのRC時定数に比べて20%削減される。ドライ
バ(例512および524)およびパスゲートを提供する高速コンダクタは、よ
り大きくかつより強力(例えば、ノーマル速度ドライバ532,542,552
に比べて)に構成することができる。例えば、高速ドライバは、ノーマル速度ド
ライバのトランジスタサイズの約2倍のトランジスタサイズを有することができ
る。加えて、ノーマル速度ドライバは出力デマルチプレクサを有するドライバを
使用して実施されるのに対して、構造的には同様な高速ドライバはより好適な速
度を達成するために個別のトリステートドライバとして実施することが好適であ
る。高速コンダクタに接続されるPLC(例えば、マルチプレクサ510および
デマルチプレクサ514)は、ノーマル速度コンダクタに接続された対応する要
素(例えば530および534)に比べてより少ない入力(マルチプレクサに対
し)およびより少ない出力(デマルチプレクサに対して)をもって形成すること
ができる。高速コンダクタは、対応するノーマル速度コンダクタに比べて、より
少ないタップを有し、従ってより少ないローディングを有する。これらの技術の
いずれかまたは全てを、構造的には同様なノーマル速度コンダクタに比べて大幅
に速い高速相互接続リソースを形成するために使用することができる。例えば、
本発明に従って、デバイス10において、ノーマル速度相互接続リソースのみに
よって達成される同一の接続に比べて約2倍の速度を達成するいずれかの相互接
続(特に比較的長い相互接続)の提供を少なくとも補助する高速相互接続リソー
スを得るという設計目的を達成することができる。
【0068】
デバイス10における構造上は類似のノーマル速度および高速相互接続リソー
スの特定の例は以下のものである:ノーマル速度相互接続リソースを介して領域
20内の第1行第1列の第1小領域30から領域20の第2の遠隔行および第2
の遠隔列の第2の小領域30へ信号を伝送するため、ノーマル速度要素540,
542,および544を使用して第1の小領域から近接するノーマル速度垂直コ
ンダクタ200aへ伝送する。ノーマル速度垂直コンダクタ200aを使用して
第1の小領域30の行から第2の小領域30へ伝送する。目的の行において、ノ
ーマル速度要素530,532,および534を使用して前記垂直コンダクタ2
00aからノーマル速度水平コンダクタ230aへ伝送する。目的の列において
、ノーマル速度要素270,274,等を使用し、目的の小領域への入力回路3
00/320へ伝送する。反対に、高速相互接続リソースを介して同じ相互接続
を形成するため、高速要素510,512,および514を使用して第1の小領
域30の出力信号を近接する高速垂直コンダクタ200bまたは210bに付加
する。目的の行において、高速要素522および524を使用して信号を高速垂
直コンダクタから高速水平コンダクタ230bに転向させる。目的の列において
、高速要素276を使用して信号を高速水平コンダクタ230bから目的小領域
30の入力回路300/320に伝送する。
【0069】
前述のことより、符号“b”を付けた参照符号で示した高速コンダクタに加え
て、デバイス10の高速相互接続リソースは、PLC、ドライバ等を含み、これ
らは主に前記の高速コンダクタに作用する。例として、PLC510,514,
522,および276、ならびにドライバ512,524,および278が挙げ
られる。構造的に類似のノーマル速度PLCおよびドライバ(主にノーマル速度
コンダクタ)としては、530,532,534,540,542,544,5
50,552,270,および274が挙げられる。
【0070】
構造的に類似する高速およびノーマル速度形式の特定の相互接続リソースの装
備に加えて、デバイス10はデバイスの全体速度を増加させることを補助する他
の相互接続リソースを備えることができる。これらのリソースの例としては、H
NFLコンダクタ250(高速部分的相互接続コンダクタと呼ばれることもある
)、およびこれらのコンダクタをドライブする結合されたPLC502,506
,560,564,および504,508,562,ならびに566が挙げられ
る。コンダクタ250は比較的短く従って少数のタップを有するため高速である
。これらをドライブするPLCおよびドライバは高速に形成することができる(
例えば、比較的少ない入力を有するPLCと比較的大型かつ強力に形成されたド
ライバを使用することによって)。
【0071】
デバイス10上に設けられこのデバイスの速度を増加させる相互接続リソース
の別の例は、IVコンダクタ220である(ブリッジング相互接続コンダクタと
呼ばれることもある)。これらのコンダクタは、隣接するまたは近傍にある領域
20の行の間において比較的直接および短い接続を形成する。これらは比較的強
力なドライバ484によってドライブすることができる。これらを使用する場所
において、1つの行から他の行への伝送を行うために長い、従ってより低速の汎
用垂直相互接続コンダクタ200/210を使用する必要が除外される。
【0072】
図7Aには、二次信号コンダクタリソース領域120および関連する回路の実
施例が詳細に示されている(図7Aの回路に示されている追加的な要素は図7B
に示されている)。4本のコンダクタ610は、実質的にデバイス10の垂直方
向寸法全体にわたって垂直に延在している。コンダクタ610のそれぞれが、4
つの専用のクロック信号入力端子612−1ないし612−4のうちのそれぞれ
1つからの4つのクロック信号のうちの1つをそれぞれ伝送し、前記のクロック
信号入力端子は、デバイス10の中央付近に配置され、デバイス全体にわたった
クロック信号スキューを削減するよう作用する。コンダクタ610上のクロック
信号は、各行に近接する水平クロックコンダクタ620を分岐させることによっ
て水平に領域20,40等の各行にに対して配分される。コンダクタ620は、
参照符号260によって既に特定されたコンダクタ(例えば図3)の中に含まれ
るものである。コンダクタ620上の信号は、近接する(従って結合された)ロ
ジック領域20またはI/Oセル630に付加される。
【0073】
6本の追加的なコンダクタ640は、実質的にデバイス10の垂直方向の寸法
全体にわたって垂直に延在している。各コンダクタ640は、6個のいわゆる高
速信号のうちの1つをそれぞれ伝送する。これらの高速信号のそれぞれは、デバ
イス10の中央付近に配置された6個の専用入力端子642−1ないし642−
6のうちの適宜な1つ、または同様にデバイス10の中央付近に配置されたロジ
ック領域20−1/20−2のうちの選択されたもののいずれかから伝送される
。前述した高速信号を供給するための追加出力線を有することを除いて、ロジッ
ク領域20−1ないし20−2はデバイス10上の他のロジック領域と同様なも
のとすることができる。PLC644は、各入力端子642と結合され、入力端
子の信号またはロジック領域20−1あるいは20−2のいずれかを高速信号と
してプログラム制御で選択する。各PLC644の出力信号は、相関するバッフ
ァ646を介してコンダクタ640のうちの1つにそれぞれ付加される。各PL
C644の出力信号は、さらに、領域20−1および20−2を含む行と結合さ
れた6本の水平高速コンダクタ650のうちの1本、ならびに領域20−1およ
び20−2を含むロジック領域の行と結合されたI/O行40と結合された6本
の同様な水平高速コンダクタ650のうちの1本に付加される。(この点につい
て先に説明したように、I/O行40とロジック領域行との間の完全な相関は以
下のものである(図1参照):それらは、(1)最上のI/O行40と最上のロ
ジック領域行、(2)上から2番目のI/O行40と上から4番目のロジック領
域行、(3)上から3番目のI/O行40と上から7番目のロジック領域行、(
4)上から4番目のI/O行40と上から10番目のロジック領域行、(5)最
底部のI/O行40と最底部のロジック領域行である。
【0074】
前の段落で参照符号20−1および20−2として説明したもの以外のロジッ
ク領域行およびI/O行は、結合された水平高速コンダクタ650を備えている
。これらの他のロジック領域行のそれぞれに対して、結合された各コンダクタ6
50上の信号がコンダクタ640またはその行内かつ領域120に近接するロジ
ック領域20のいずれか一方からそれぞれ伝送される。PLC648は、これら
の追加的な高速信号選択を形成するために設けられている。前の段落で説明した
もの以外の各I/O行40に対して、結合されたコンダクタ650上の信号は、
このI/O行に結合されたロジック領域行に結合されたコンダクタ650上の信
号と同一である。
【0075】
コンダクタ650も先に参照符号260で示したコンダクタ(例えば図3)の
中に含まれている。各ロジック領域行またはI/O行に結合されたコンダクタ6
50上の信号は、その行内のロジック領域20またはI/Oセル630に付加さ
れる。
【0076】
前述のことから、ロジック領域20(およびこのロジック領域行に結合された
各I/O行40)の各行に結合された各高速コンダクタ650の信号は、局所的
に形成するか(その行の中央付近のロジック領域20の1つによって)、または
より広域的に形成することができる(ロジック領域20−1/20−2の1つ、
または入力ピン642から)。高速コンダクタ640/650を入力端子642
またはロジック領域20のいずれかによってドライブ可能にすることにより、入
力端子に加えて内部で形成されたロジックによってロースキュー二次信号のいく
つかをドライブすることが可能になる。各高速コンダクタ640/650を好適
にはただ1つの入力端子またはただ1つの特定ロジック領域によってドライブ可
能にすることにより、ロジック領域出力信号または入力端子信号を広域二次信号
コンダクタネットワーク上に伝送するために必要なルーティングの総量を削減す
ることができる。広域クロック信号を専用の入力端子612によって直接ドライ
ブ可能にすることにより、これらの信号を最大限に高速化することができる。専
用ソース610/620/20−1/20−2等の全てを選択してデバイスの中
央付近に配置することにより、デバイスを介する信号スキューの総量を削減する
ことができる。ロジック領域20の各行に結合された高速コンダクタ650の信
号を局所的な配置する可能性により、デバイス10が同時に作用する他の多数の
二次信号を有することが可能なる(すなわち、10個の広域信号+N×6個の局
所信号であり、Nはロジック領域の行数である)。加えて、ロジック領域によっ
てその行内に配置される局所二次信号は、中央スパインから広域的にドライブさ
れるために必要なものに比べて小さな遅延を有する。
【0077】
前述したコンダクタ620および650に加えて、ロジック領域20またはI
/Oセル630の各行はその長さにわたって延在する2本の局所高速コンダクタ
660を備えている。コンダクタ660は、既に参照符号260によって示され
たコンダクタ(例えば図3において)に含まれる。図7Bには、これらのコンダ
クタの信号源が示されている。各I/Oセル行およびこのI/Oセル行に結合さ
れたロジック領域行に対して、相関するコンダクタ660上の信号は、そのI/
Oセル行の中央付近の入力端子662、またはそのロジック領域行の中央付近の
ロジック領域20のいずれかから伝送することができる。PLC664は、これ
らの入力端子とロジック領域の間で信号を選択する。I/Oセル行に結合されて
いない各ロジック領域行はに対して、コンダクタ660の信号はその行の中央付
近のロジック領域20から伝送することができる。
【0078】
図7に示された回路への変更は、各ロジック領域内に局所的行入力端子(例え
ば入力端子662)を備えることを含み、これはその行内のロジック領域20か
らのコンダクタをドライブする代わりに、この行に対する二次信号650および
/または660をドライブする。別の可能性は、局所的二次信号650/660
をより繊細に処理するか、あるいはより粗く処理することである(例えば、これ
らの信号を半分の行によってグループ化するか、または局所二次信号を個々の行
ではなくデバイス10の4分割によってグループ化することによって)。
【0079】
図7には、さらに各I/O行40がこれに結合されたロジック領域20の行と
二次信号650/660を分割する方式が示されている。従って、図7の上端付
近に示されている典型的なI/O行40は、このI/O行の直ぐ下にある結合さ
れたロジック領域行と同一の二次信号650/660を有する。同様に、図7の
底部付近に示された他のI/O行40も、このI/O行の直ぐ下にある結合され
たロジック領域行と同一の二次信号650/660を有する。
【0080】
図7には、各I/O行40と対応するロジック領域20との間の相関性の別の
側面も示されている。このことは、I/O行40内のI/Oセル630に対する
追加的入力信号源として各I/O行40に対して結合されたロジック領域内にお
ける領域フィーディングコンダクタ300および局所フィードバックコンダクタ
310の使用に関する。例えば、コンダクタ300/310は、図7内のロジッ
ク領域20−1に結合され、そのロジック領域の上側のI/Oセル630まで延
在しており、従ってこれらのコンダクタ300/310上の信号はこのI/Oセ
ルに対する追加的入力として使用することができる。別の例として、図7の上部
右側付近に示されたロジック領域20に結合されたコンダクタ300/310は
、そのロジック領域上側のI/Oセル630まで延在しており、従ってこれらの
コンダクタ300/310上の信号はそのI/Oセルに対する追加的な入力とし
て使用することができる。次に説明する図8は、代表的なI/Oセル630の好
適な実施例の構成に関してより詳細に示しており、これにはこのセルに付加され
る種々の信号が使用される方式が含まれている。
【0081】
典型的なI/Oセル630の実施例が図8により詳細に示されている。I/O
セル630は、I/O端子710、入力レジスタ740、出力レジスタ720、
およびトリステート制御信号(または出力付勢)レジスタ730を含んでいる。
レジスタ720,730,および740のそれぞれは、データ入力D、クロック
入力、クロック付勢入力EN、クリア/プリセット入力C/P、およびデータ出
力Qを備えている。入力レジスタ740のデータ入力(I/O端子710から伝
送される)を除いて、レジスタ720,730,および740への全ての入力は
、I/Oセルへの4つのクロック入力620、I/Oセルへの6個の高速コンダ
クタ650入力、I/Oセルへ入力可能な36個のコンダクタ300/310上
の種々の信号の中から選択することができる。円754は、種々のコンダクタ6
20/650/300/310と種々のレジスタ入力との間における可能な接続
性を示している。各PLC756は、接続可能ないくつかの信号の中から1つの
信号を選択することを実施する。プログラム可能な反転要素758(これは図5
Aの回路450と同様である)は、各PLC756の出力信号をデバイスのユー
ザの要望に応じて反転するかまたは反転しないかを可能にする。
【0082】
図7に示されまた前の図においても説明したように、図8に示されているコン
ダクタ300/310は、領域フィーディングコンダクタ300および図8に示
されたI/Oセル630を含んだI/O行40に結合されたロジック領域の行か
らのフィードバックコンダクタ310である。(これらの各行40内のいくつか
のI/Oセルは、通常相関するロジック領域行内の異なった一つ一つの領域20
からのコンダクタ300/310を備えている。)図8内のコンダクタ620お
よび650は、図7に示された水平コンダクタ620および650の支線であり
、これは図8のI/Oセル630を含むI/O行に結合されている。
【0083】
出力レジスタ720および出力付勢レジスタ730の両方をクロックするため
に同一の信号が使用される。全てのレジスタ720,730,および740は、
同一のクリア/プリセット入力信号を有する。各レジスタはクリア/プリセット
入力信号に応答してクリアまたはプリセットするようプログラムすることができ
る。
【0084】
出力レジスタ720のデータ出力信号Qは、PLC722の一入力端子に付加
される。PLC722への他の入力は、レジスタ720へデータ入力である。従
って、PLC722は、レジスタ720によって登録されているかまたはこのレ
ジスタを迂回した、デバイス10の出力信号をトリステートドライバ724に付
加するように使用することができる。出力付勢レジスタ730のデータ出力信号
Qは、PLC732の一入力端子に付加される。PLC732への他の入力は、
レジスタ730への未記録データ入力である。PLC732の出力信号は、トリ
ステートドライバ724のトリステート制御入力端子に付加される。従って、ト
リステートドライバ制御信号は、レジスタ730に付加される記録されたまたは
未記録のいずれかのデータ信号である。トリステートドライバ724の出力信号
は、I/O端子710に付加される。
【0085】
入力側において、I/O端子710からの入力信号が入力レジスタ740のデ
ータ入力端子Dに付加される。この信号は、各PLC742−1および742−
2の一入力端子に付加される。これらのPLCのそれぞれへの別の入力は、入力
レジスタ740のQ出力信号である。PLC742−1の出力信号はバッファ7
44−1を介してデバイス10のロジックへ付加される。同様に、PLC742
−2の出力信号は、バッファ744−2を介してデバイス10のロジックに付加
される。例えば、各バッファ744の出力信号は、デバイスの1つまたは複数の
相互接続コンダクタ200a/b,210a/b,230a/b,240等に付
加される(例えば、トリステートドライバまたはパスゲートデマルチプレクサ(
図示されていない)を介して)。従って、経路742−1/744−1および7
42−2/744−2のいずれかまたは両方が、端子710からの記録されたま
たは未記録のいずれかのI/O信号に対して使用される。言い換えると、端子7
10は記録されたまたは未記録の両方の形式でデバイス10のロジックに使用さ
れ得る。
【0086】
レジスタ720および730は、それぞれバッファ726および736を介し
てのデバイスのロジックへのフィードバック経路を有することが示されている。
これらのフィードバック経路は、前述したようにトリステートドライバまたはパ
スゲートデマルチプレクサを介してデバイスの適宜な相互接続コンダクタに接続
することもできる。
【0087】
図9には、I/Oセル630および結合されたI/O端子710が好適には各
I/O行40を横切って配置されることが示されている。言い換えると、これら
のI/O端子710は、デバイス10の周囲部には配置されていない。それに代
えて、それらはいくつかのI/O行40のそれぞれを横断して離間させることに
よってデバイスの内部に配置されている。これによってデバイス10上に設けら
れるI/O端子の数を増加させることができる。
【0088】
例えば図5に示されているように小領域30をカスケード接続することによっ
て(すなわち、DCINおよび/またはDCOUT信号を使用する)、2つまた
はそれ以上の小領域を、各小領域が個々に有する4つの入力よりも多い入力を有
する単一のルックアップテーブルとして、効果的に共に使用することができる(
デバイスのより一般的な相互接続リソースに依存することなく)。例えば、2つ
の小領域30をカスケード接続し、5,6,または7入力の多数の(しかしなが
ら全てではない)可能な論理的組合わせを形成することができる。一般的に、よ
り大きなルックアップテーブルは、デバイスの一般的相互接続リソースを介して
接続しなければならないいくつかの小さなルックアップテーブルに比べて、より
多数かつより高速な入力の論理的組合わせを形成できるという利点を有する。他
方、比較的少数の入力の論理的組合わせを形成することが求められている場合、
大きなルックアップテーブルは不経済なものである。従って、比較的小さなルッ
クアップテーブル(例えば4入力)をカスケード接続または直接接続する可能性
は、良好な解決策を見出すものである。比較的多数の入力の論理的組合わせを形
成する必要がある場合、2つまたはそれ以上の小領域30をカスケード結合する
ことができる。他方、比較的少数の入力の論理的組合わせを形成する必要がある
場合、ルックアップテーブルのリソースを過度に浪費することを防止するため小
領域30を個別に使用することができる。勿論、既に説明したように、4入力よ
り多い全ての論理的組合わせが2つまたはそれ以上の小領域30によって形成さ
れるものではない。
【0089】
図10には、2つの小領域30内の4入力ルックアップテーブルがカスケード
形式の直接接続を介して選択的に相互接続され、これによって真の5入力ルック
アップテーブル(すなわち、5入力の全ての論理的組合わせを形成することが可
能なルックアップテーブル)が形成される代替的な実施例が示されている。要素
810−1および810−2は、第1小領域30−1の一部を形成する2つの3
入力ルックアップテーブルである。PLC812−1もこの第1小領域30−1
の一部を形成する。それ自体で使用するものとして、小領域30−1はOUT1
としてその4つの入力A1−D1のいずれかの論理的組合わせ形成する。
【0090】
要素810−3および810−4は、第2の小領域30−2の一部を形成する
2つの3入力ルックアップテーブルである。PLC812−2,814−1,8
14−2,および818、ならびにFCE816は、小領域30−2の追加的な
要素である。小領域30−2がそれ自体によって使用されている場合、PLC8
14−1が入力D2をPLC812−2の制御入力端子に付加し、PLC814
−2が固定VCC(論理1)をPLC818の制御入力端子に付加することを付
勢するように、FCE816をプログラムすることができる。PLC818への
ロジック1制御入力は、この要素がPLC812−2の出力信号を出力端子OU
T2に伝送することを付勢する。このことは、小領域30−2がOUT2として
小領域30−2の4つの入力A2−D2のいずれかの論理的組合わせを形成する
ために使用されることを可能にする。
【0091】
他方、図10に示されている全ての回路が5入力ルックアップテーブルとして
共に使用される場合、FCE816は、PLC814−1がPLC812−2の
制御入力端子に付加し、PLC814−2がPLC818の制御入力端子に入力
D2を付加することを付勢するようにプログラムすることができる。加えて、同
一の信号A−Cがそれぞれ入力A1−C1およびA2−C2に付加される。この
ことは、デバイス10の一般的な相互接続リソース(例えば図3および図4に示
されている要素)を適宜にプログラムすることによって実施することができる。
5入力ルックアップテーブルへの4番目の入力は入力Dであり(入力端子D1に
付加される)、5入力ルックアップテーブルへの5番目の入力は入力Eである(
入力端子D2に付加される)。入力Dに基づいて、PLC812−1および81
2−2は3入力ルックアップテーブル810−1ないし810−4の4つの出力
のうちから2つの信号を選択する。PLC818は、これら2つの信号から入力
Eに基づいて1つの信号(OUT2)の最終選択を行う。従って、この方式で共
に使用される場合、図10に示された回路は5入力ルックアップテーブルとして
5入力A−Eのいずれかの論理的組合わせを形成するよう使用される。
【0092】
図10には2つの4入力ルックアップテーブルを1つの5入力ルックアップテ
ーブルに選択的に変換するための回路が示されているが、2つのM+1入力ルッ
クアップテーブルを1つのM+2ルックアップテーブルに変換する原理は一般的
に適用することができ、ここでMは要素810−1等の最初のルックアップテー
ブルの入力数である。図10において、Mは数値3を有しているが、図10に示
された形式の回路は容易に2,4,5,6,7等の他のM数値に変更することが
できる。
【0093】
小領域30をカスケード接続するためのさらに別の回路が図11に示されてい
る。図5に示された主要な実施例においては、PLC408の出力信号は、この
PLC408を含む小領域のルックアップテーブル部分の直接接続出力信号DC
OUTおよびメインデータ出力信号の両方を提供する。図11に示された代替的
な実施例において、各小領域30−1と30−2は、2つのPLC912−1お
よび912−2(小領域30−1について)、ならびに912−3および912
−4(小領域30−2について)を備えている。各小領域30内において、両方
のPLC912は、その小領域内のPLC914の出力信号によって並行して制
御される。各小領域において、PLC914は結合されたFCE916によって
プログラム制御され、その小領域に対してD入力またはカスケード入力のいずれ
かを出力する。最後に、各小領域において、PLC912のうちの1つがこの小
領域のメインデータ出力信号を選択し、第2のPLC912は同じ信号選択を行
ってこの小領域のカスケード出力信号を形成する。各小領域30内に2つの分離
したPLC912を設けることによって、メインデータ出力信号およびカスケー
ド出力信号のいずれもこれらの2つの信号以外によってロードされることはない
。このことはこれら両方の信号の速度を増加させることを促進する。別の観点に
おいて、図11に示された実施例は図5に示された主要な実施例と論理的に同一
である。
【0094】
図10および図11は、いずれも図5の主要な実施例に比べて簡略化して示さ
れている。しかしながら、図5に示された他の特徴のいずれもが図10および図
11に適用し得ることが理解される。
【0095】
図12には、データプロセッシングシステム1002内に設けられた本発明に
係るプログラマブルロジックデバイス10が示されている。データプロセッシン
グシステム1002は:プロセッサ1004と;メモリ1006と;I/O回路
1008と;および周辺装置1010のうちの1つまたは複数を備えることがで
きる。これらの構成要素はシステムバス1020によって結合されるとともに、
エンドユーザシステム1040内に含まれた回路基板上に装着される。
【0096】
システム1002は、コンピュータネットワーキング、データネットワーキン
グ、計測、画像処理、デジタル信号処理、またはその他のプログラマブルまたは
リプログラマブルロジックの利点を必要とする適用方法において、広範囲な適用
分野で使用することができる。プログラマブルロジックデバイス10は、広範囲
な異なったロジック機能を実行するために使用することができる。例えば、プロ
グラマブルロジックデバイス10は、プロセッサ1004と共同動作するプロセ
ッサまたはコントローラとして構成することができる。プログラマブルロジック
デバイス10は、システム1002内において分配されたリソースへのアクセス
を仲介するアービタとして使用することもできる。さらに別の例において、プロ
グラマブルロジックデバイス10は、プロセッサ1004とシステム1002内
の別の構成要素の1つとの間のインタフェースとして構成することができる。シ
ステム1002は単に例示的なものであり、本発明の真の視点および精神は請求
の範囲によって定義されることが理解されよう。
【0097】
本発明の特徴ならびにデバイスの種々の構成要素(例えば前述したPLCおよ
びPLCを制御するFCE等)を備えるプログラマブルロジックデバイス10を
実施するために、種々の技術を使用することができる。例えば、各PLCは、複
数の入力のいずれか1つを出力に接続するためのスイッチまたはスイッチ群等の
比較的に単純にプログラム可能なコンダクタとすることができる。他方、各PL
Cは、接続の形成と並んでロジックの実行(例えば複数の入力の論理的な結合)
も可能な幾分複雑な要素とすることもできる。後者において、例えば、各PLC
は、積算項ロジック、AND、NAND、OR、またはNOR等の命令実行機能
とすることができる。PLCを実施するための好適な構成要素としては、EPR
OM、EEPROM、パストランジスタ、トランスミッションゲート、アンティ
ヒューズ、レーザヒューズ、メタルオプション接続器等が挙げられる。前述した
ように、PLCの種々の要素は、種々のプログラマブル機能制御要素(“FCE
”)によって制御することができる。(特定のPLC機器(例えば、ヒューズお
よびメタルオプション接続器)においては、独立したFCEデバイスは必要とさ
れない。)FCEもいくつかの異なった方式で実施することができる。例えば、
FCEは、SRAM、DRAM、ファーストインファーストアウト(“FIFO
”)メモリ、EPROM、EEPROM、機能制御レジスタ(例えば、ウォール
ストロムの米国特許第3473160号参照)、強誘電メモリ、ヒューズ、アン
ティヒューズ等とすることができる。前述した種々の例により、本発明は、一回
のみプログラム可能なデバイス、またはリプログラマブルデバイスのいずれに適
用することもできる。
【0098】
前述の説明は本発明の原理を単に例示するものであり、当業者においては本発
明の精神を逸脱することなく、種々の設計変更をなし得ることが理解されよう。
例えば、デバイス10上の多様な形式のリソースの数は、添付図面および説明に
おいて示された実施例の数字とは異なったものとすることができる。これは、種
々の形式の回路の行および列の数、各領域20内の小領域30の数、種々の形式
の相互接続コンダクタの数、種々の形式の相互接続コンダクタの間における相互
接続を形成するためのPLCの数およびサイズ等に該当する。また、“垂直”お
よび“水平”、“左”および“右”、“上”および“下”、“行”および“列”
等の種々の方向および位置的な用語は、単に便宜的に使用しているものであり、
これらの用語によって固定的または絶対的な方向的または位置的限定を意図する
ものではない。例えば、本発明に係るデバイスは任意の方向性を有することがで
きる。方向を変更した場合、異なった方向的または位置的用語をその説明に使用
することができるが、これは本発明の視点および精神に係る基本的な特徴を変更
するものではない。“領域”および“小領域”等の用語も単に一般的に使用して
いるものであり、同様な回路に対して関連する用語またはその他用語を使用する
こともできる。従って、これらの用語は意味において逆転して使用することもで
き、領域/小領域の序列は重要でない。他方、本発明の視点に係るデバイスは、
小領域に分割されていないプログラマブルロジック領域を備えることもできる。
ルックアップテーブルロジックも使用され、実施例において図示および説明して
いるが、必要に応じてこれに代えて他の種類のロジックを使用し得ることは勿論
である。例えば、ペダーソン氏等の米国特許第5241224号およびパテル氏
の米国特許第5371422号公報(これらはともに全体的に参照に組み入れて
ある)に関連する第1の例において考慮したように、ルックアップテーブルロジ
ックに代えて積和ロジックを使用することもできる。ここでは特定のプログラマ
ブルロジックデバイス構造に関して説明したが、本発明の種々の特徴は、フリー
マン氏の米国特許第34363号公報、クリフ氏等の米国特許第5689195
号公報、および1999年3月10日に出願されたジェファーソン氏等の米国特
許出願09/266235号公報(これらは全て全体的に参照に組み入れてある
)等に記載されているその他の多様な構造のプログラマブルロジックデバイスに
適用することができる。

【特許請求の範囲】
【請求項1】
明細書に記載の発明。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5A】
image rotate

【図5B】
image rotate

【図6】
image rotate

【図7A】
image rotate

【図7B】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2012−186863(P2012−186863A)
【公開日】平成24年9月27日(2012.9.27)
【国際特許分類】
【出願番号】特願2012−141122(P2012−141122)
【出願日】平成24年6月22日(2012.6.22)
【分割の表示】特願2008−270378(P2008−270378)の分割
【原出願日】平成12年3月2日(2000.3.2)
【出願人】(597154922)アルテラ コーポレイション (163)
【氏名又は名称原語表記】Altera Corporation
【Fターム(参考)】