(57)【要約】【課題】プログラマブルロジックデバイスに適用してプログラマブルロジックアレー集積回路デバイスの動作速度を増加するための相互接続リソースの提供。【解決手段】プログラマブルロジック集積回路（１０）は、交差する複数の領域の行および列からなる配列をもって、デバイス上に配置された複数のプログラマブルロジック領域（２０）を有する。領域から領域へおよび／または領域間におけるプログラム可能な相互接続を形成するための相互接続リソース（例えば、相互接続コンダクタ等）が設けられ、これらのうちの少なくともいくつかは、構造的には類似であるが著しく異なる信号伝送速度特性を有する２つの形式で構成される。例えば、これらの双対形式相互接続リソースのうちの主要なまたは大きな部分（２００ａ，２１０ａ，２３０ａ）はノーマル速度と呼ばれるものであり、少ないほうの部分（２００ｂ，２１０ｂ，２３０ｂ）は大幅に高速な信号速度を有する。【選択図】図２
2014200106.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブルロジック集積回路デバイスであって、
多次元アレイに配置された複数のロジック領域と、
前記多次元アレイ内に配置された複数の入出力（Ｉ／Ｏ）セルと
を含み、
前記複数のＩ／Ｏセルのうちの少なくとも１つは、複数のＩ／Ｏ信号通信領域を含み、
前記複数のＩ／Ｏ信号通信領域は、入力信号を受信し、かつ、前記多次元アレイ内の複数のコンダクタに対して、前記入力信号のレジスタ形式と非レジスタ形式との間で選択された少なくとも１つの出力信号を提供するように動作可能である、デバイス。
【請求項２】
前記複数のＩ／Ｏセルおよび複数のロジック領域に隣接して延びている前記複数のコンダクタと、
前記複数のＩ／Ｏセルおよび複数のロジック領域からの信号を前記複数のコンダクタに適用するようにプログラム可能な複数のプログラマブルロジックコネクタと
をさらに含む、請求項１に記載のデバイス。
【請求項３】
前記複数のＩ／Ｏセルおよび複数のロジック領域に隣接して延びている前記複数のコンダクタと、
前記複数のコンダクタからの信号を前記複数のＩ／Ｏセルおよび複数のロジック領域に適用するように動作可能な複数のプログラマブルロジックコネクタと
をさらに含む、請求項１に記載のデバイス。
【請求項４】
プログラマブルロジック集積回路デバイスであって、
多次元アレイ内の複数のロジック領域の複数の所定のグループに配置された複数のロジック領域と、
前記複数のロジック領域の複数の所定のグループの間に配置された複数のＩ／Ｏ領域と
を含み、
前記複数のＩ／Ｏ領域のうちの少なくとも１つは、複数のＩ／Ｏ信号通信領域を含み、
前記複数のＩ／Ｏ信号通信領域は、入力信号を受信し、かつ、前記多次元アレイ内の複数のコンダクタに対して、前記入力信号のレジスタ形式と非レジスタ形式との間で選択された少なくとも１つの出力信号を提供するように動作可能である、デバイス。
【請求項５】
前記デバイスの中央部分において、前記複数のロジック領域の複数の所定のグループの間に配置された複数の信号通信領域
をさらに含む、請求項４に記載のデバイス。
【請求項６】
前記複数の信号通信領域は、複数のクロック信号を受信する、請求項５に記載のデバイス。
【請求項７】
前記複数の信号通信領域は、複数の入力信号を受信する、請求項５に記載のデバイス。
【請求項８】
各Ｉ／Ｏ信号通信領域は、前記入力信号の２つのレジスタ形式、前記入力信号の１つのレジスタ形式および１つの非レジスタ形式、または、前記入力信号の２つの非レジスタ形式のうちの１つを提供するようにさらに動作可能である、請求項４に記載のデバイス。
【請求項９】
前記入力信号は、前記入力信号を含むＩ／Ｏ信号通信領域とは異なる前記複数のＩ／Ｏ信号通信領域のうちの１つによって提供される信号を含む、請求項４に記載のデバイス。
【請求項１０】
プログラマブルロジック集積回路デバイスであって、
多次元アレイに配置された複数のロジック領域と、
前記多次元アレイ内に配置された複数の入出力（Ｉ／Ｏ）セルと、
前記複数のＩ／Ｏセルおよび複数のロジック領域に隣接して延びている複数のコンダクタと
を含み、
前記複数のＩ／Ｏセルのうちの少なくとも１つは、入力信号を受信し、かつ、少なくとも１つの出力信号を、前記複数のＩ／Ｏセルおよび複数のロジック領域に隣接して延びている前記複数のコンダクタのうちの少なくとも１つに提供するように動作可能であり、前記出力信号は、前記入力信号のレジスタ形式と非レジスタ形式との間で選択される、デバイス。
【請求項１１】
プログラマブルロジック集積回路デバイスであって、
多次元アレイ内の複数のロジック領域の複数の所定のグループに配置された複数のロジック領域と、
前記複数のロジック領域の複数の所定のグループの間に配置された複数のＩ／Ｏ領域と
を含み、
前記複数のＩ／Ｏ領域のうちの少なくとも１つは、複数のＩ／Ｏ信号通信領域を含み、
前記複数のＩ／Ｏ信号通信領域は、入力信号を受信し、かつ、前記多次元アレイ内の複数のコンダクタに対して、前記入力信号の２つのレジスタ形式、前記入力信号の１つのレジスタ形式および１つの非レジスタ形式、または、前記入力信号の２つの非レジスタ形式、のうちの１つを提供するように動作可能である、デバイス。
【請求項１２】
プログラマブルロジック集積回路デバイスであって、
多次元アレイ内の複数のロジック領域の複数の所定のグループに配置された複数のロジック領域と、
前記複数のロジック領域の複数の所定のグループの間に配置された複数のＩ／Ｏ領域と
を含み、
前記複数のＩ／Ｏ領域のうちの少なくとも１つは、複数のＩ／Ｏ信号通信領域を含み、
前記複数のＩ／Ｏ信号通信領域は、データ入力と制御入力とを有するドライバを含み、前記データ入力は、データ信号のレジスタ形式または非レジスタ形式のいずれかを含み、前記制御入力は、出力イネーブル信号のレジスタ形式と非レジスタ形式との間で選択し、前記複数のＩ／Ｏ信号通信領域は、前記多次元アレイ内の複数のコンダクタに対して、少なくとも1つの出力信号を提供する、デバイス。
【請求項１３】
前記多次元アレイ内の前記複数のコンダクタは、ノーマル速度部分および高速部分を含む、請求項１に記載のデバイス。
【請求項１４】
前記出力信号は、複数のフィードバックコンダクタに沿って、前記多次元アレイ内の前記複数のコンダクタにフィードバックされる、請求項１に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、プログラマブルロジックアレー集積回路デバイス（“プログラマ
ブルロジックデバイス”または“ＰＬＤ”）に係り、より具体的には、プログラ
マブルロジックデバイスに適用してこの種のデバイスの動作速度を増加するため
の相互接続リソースに関する。本発明はさらに、（例えばクロックおよびクリア
信号等の）二次信号配分、入力／出力回路、ロジックモジュール間のカスケード
接続等の、ＰＬＤの他の要素に関する。
【背景技術】
【０００２】
プログラマブルロジックデバイスは、典型的に、（１）多数の領域のプログラ
マブルロジックと、（２）これらのロジック領域間において相互に信号を伝送す
るためのプログラマブル相互接続リソースとを備えている。各ロジック領域は、
いくつかの比較的単純なロジック機能を実施するためにプログラム可能である。
相互接続リソースは複数のロジック領域が共に動作して個々のロジック領域が実
施するものよりもはるかに複雑なロジック機能を実施し得るようにプログラム可
能である。既知のＰＬＤの例としては、ウォールストロームの米国特許第３４７
３１６０号公報、フリーマンの米国特許第３４３６３号公報、クリフ氏等の米国
特許第５６８９１９５号公報、クリフ氏等の米国特許第５９０９１２６号公報、
ジェファーソン氏等の米国特許出願第０９／２６６２３５号公報に記載されてお
り、これらはここにおいて参照に組み入れてある。
【０００３】
ＰＬＤが動作する最大速度の典型的な尺度は、信号がデバイスを通じてあるロ
ジック領域のレジスタ（またはレジスタを有するその他のリソース）から他のロ
ジック領域のレジスタ（またはレジスタを有するその他のリソース）へ伝送され
るために必要とされる最長時間である。ＰＬＤは、この最長信号伝送時間よりも
短い周期を有するクロック速度に安定的に同期させることはできない。殆どのＰ
ＬＤにおいて重要な設計目標は、最長信号伝送時間を短縮することである。従っ
て、ロジック領域および相互接続リソースの両方が、この点を考慮して時間効率
化を目的として設計される。しかしながら、このことを一度達成すると、所与の
集積回路製造技術において、最長信号伝送時間をさらに大幅に短縮することは困
難である。例えば、相互接続速度を増加させるために、より大きなドライバおよ
びパストランジスタが使用されるが、これに対応してルーティングチャネル上に
付加される拡散も増加する。金属ＲＣ遅延を縮小するためにコンダクタの相互接
続に幅の大きい金属トラックを使用するが、これによってサイズが拡大する。結
果として、最終的な速度の向上が低減する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
前述の視点から、本発明の目的は、改善されたプログラマブルロジックデバイ
スを提供することである。
【０００５】
さらに、本発明のより具体的な目的は、プログラマブルロジックデバイス用の
改善された相互接続リソースを提供することである。
【０００６】
さらに、本発明の別の具体的な目的は、プログラマブルロジックデバイスの最
長信号伝送時間特性を、単純に全てのリソースの速度を増加させた際に生じる問
題点を伴うことなく短縮するための相互接続リソースを提供することである。
【０００７】
本発明のさらに別の目的は、二次（例えばクロックおよびクリア）信号配分、
入力／出力回路、ならびに２つまたはそれ以上のロジックモジュールをカスケー
ド接続する回路等の要素に関してＰＬＤを改善することである。
【課題を解決するための手段】
【０００８】
本発明のこれらおよびその他の目的は、本発明の原理に従って、少なくとも部
分的に実質的に平行な２つの形状体またはサブセット内に構成された相互接続リ
ソースを備えるプログラマブルロジックデバイスを提供することによって解決さ
れる。第１のサブセット内の相互接続リソースは、いわゆる“ノーマル”信号伝
送速度特性を有するように形成される。実質的に平行な第２のサブセット内の相
互接続リソースは、充分に大きな信号伝送速度特性を有するように形成される。
例えば、第１のサブセットと比べて、第２のサブセットはより大きなドライバお
よびパスゲートと、より幅広かつ広く離間して配置されたコンダクタ用のメタル
トラックと、さらに信号伝送速度を増加させるためのその他の特性をもって構成
される。両方の形式の相互接続リソースが存在する場合、殆どのリソースはノー
マル速度のものとし、少数（２０％ないし３３％、好適には２５％）のリソース
を高速度形式とすることが好適である。
【０００９】
高速相互接続リソースは、デバイス上において充分に広域に広げて配置するこ
とが好適であり、これによって実質的に任意のデバイス上の２つ（またはそれ以
上）のロジック領域間の信号のルーティングのために少なくとも部分的に使用す
ることができる。（勿論、高速リソースは、略最高価値のものであり、従ってデ
バイス上において比較的に遠くにあるロジック領域間の接続を形成するために使
用することに最も適していることが理解されよう。）従って、実質的にデバイス
上の任意の位置のロジック領域間の相互接続は、全てノーマル速度相互接続リソ
ースを介して形成されるか、または少なくとも部分的に高速相互接続リソースを
介して形成される。
【００１０】
高速度リソースに対する典型的な設計目標は、充分な量の充分に高速なリソー
スを設けることによってデバイスがクロックされる速度を倍増させることであり
、従ってこれらのリソースはデバイスに最長の信号伝送時間をもたらす信号を伝
送するために使用することができ、これによってこの信号の伝送時間を半減させ
ることができる。他方、単にデバイス上の全ての相互接続リソースの速度を大幅
に増加させる際の問題点を回避するために、任意の所与の種類の相互接続リソー
スのうちの少ない割合のみを高速度化する。多数の部分はノーマル速度のままと
し、それほどの速度を必要としない大半の相互接続に使用される。
【００１１】
本発明に従って、Ｉ／Ｏセル（Ｉ／Ｏ端子を含む）の配列をデバイス上のロジ
ックおよび他の配列の中に点在させることによって、ＰＬＤの入力／出力（“Ｉ
／Ｏ”）回路を改善することができる。これによってＩ／Ｏ端子がより均一にデ
バイスを横断して配置され、その結果デバイスの周囲にのみＩ／Ｏ端子を配置し
た場合に生じるＩ／Ｏ端子不足を軽減することができる。Ｉ／Ｏ端子をデバイス
を横断して配分することによって、二次（例えばクロックおよびクリア）信号が
デバイスの中央に近いＩ／Ｏ端子から伝送されるため、これらの信号の配分（例
えばスキューを削減して）を容易化することができる。二次信号配分回路は、こ
のような改善されたＩ／Ｏ端子配置の利点を使用するように形成される。隣接す
るまたは近接するロジック領域間のカスケード接続は、これらの接続の速度を増
加させ、実用性を向上させ、これが使用されていない際のデバイス上における負
担を軽減するように改善することができる。
【００１２】
本発明のその他の特徴、特性ならびに種々の利点は、添付図面を参照しながら
以下に詳細に記述する実施例の説明によって明らかにされる。
【図面の簡単な説明】
【００１３】
【図１】本発明に従って構成される例示的なプログラマブルロジックデバイスの概略ブロック線図である。
【図２】本発明に従った代表的かつ例示的な相互接続リソースを加えた図１のデバイスの部分拡大図である。
【図３】本発明に従って図１および図２に示されたデバイスに追加的に使用する代表的かつ例示的な相互接続リソースを示す概略ブロック線図である。
【図４】図１および図２のデバイスに適用される別の代表的かつ例示的な相互接続リソースを示す概略ブロック線図である。
【図５Ａ】本発明に従って図１および図２のデバイス上において使用する代表的かつ例示的なプログラマブルロジックおよび関連回路を示す概略ブロック線図である。
【図５Ｂ】本発明に従って図１および図２のデバイス上において使用する代表的かつ例示的なプログラマブルロジックおよび関連回路を示す概略ブロック線図である（図５Ａおよび図５Ｂは、図５と総称することもある）
【図６】本発明に従って図１および図２に示されたデバイスに使用するさらに別の代表的かつ例示的な相互接続リソースを示す概略ブロック線図である。
【図７Ａ】図１の本発明の回路の別の代表的な部分の例示的な実施例を詳細に示した概略ブロック線図である。
【図７Ｂ】図７Ａの回路に関する追加的な要素で図７Ａに示されていないものを示した概略ブロック線図である。図７Ａおよび図７Ｂは、図７と総称することもある。
【図８】図７の回路の代表的な部分を詳細に示した概略ブロック線図である。
【図９】図１の本発明の回路のさらに別の代表的な部分の例示的な実施例を示す概略ブロック線図である。
【図１０】図５の一部分の本発明に従った別の実施例を示す概略ブロック線図である。
【図１１】図５の一部分の本発明に従ったさらに別の実施例を示す概略ブロック線図である。
【図１２】本発明に係るプログラマブルロジックデバイスを使用する例示的なシステムを示す概略ブロック線図である。
【発明を実施するための形態】
【００１４】
図１には、本発明に従って構成された例示的なプログラマブルロジックデバイ
ス１０が示されている。デバイス１０は１２行のプログラマブルロジック領域２
０を含んでいる。各行は４０個の領域２０からなる。従って、領域２０はデバイ
ス１０上において１２行４０列の領域２０からなる２次元行列として配置されて
いる。
【００１５】
各領域２０は、１０個のプログラマブルロジック小領域３０を含んでいる。図
１の煩雑化を避けるため、個々の小領域３０は最上部左端の領域２０についての
み示してある。この点に関して後で詳細に述べるように、各小領域３０はデバイ
ス１０のユーザがプログラムしていくつかの比較的小さなロジック機能のいずれ
かを実施することができる。非常に複雑なロジック機能は、相互接続コンダクタ
のプログラマブルネットワークおよびデバイス１０上の他の適宜な相互接続リソ
ースを介して小領域３０を連結することによって実施することができる。
【００１６】
領域２０の行の中に、５行の入力／出力（“Ｉ／Ｏ”）端子および関連するＩ
／Ｏ回路４０が配分されている。Ｉ／Ｏ行４０の１つは、領域２０の行の最上部
に配置されている。別のＩ／Ｏ行４０は、領域２０の行の最底部に配置されてい
る。３番目のＩ／Ｏ行４０は、３番目と４番目の領域２０の行の間に配置されて
いる。４番目のＩ／Ｏ行４０は、６番目と７番目の領域２０の行の間に配置され
ている。５番目のＩ／Ｏ行４０は、９番目と１０番目の領域２０の行の間に配置
されている。
【００１７】
最上部のＩ／Ｏ行４０の上方には、メモリ領域５０の行が配置され、これはデ
バイス１０のユーザがランダムアクセスメモリ（“ＲＡＭ”）、リードオンリー
メモリ（“ＲＯＭ”）、積算項（“Ｐ項”）ロジック、内容アドレスメモリ等と
して使用することができる。別の同様なメモリ領域５０の行は、最底部Ｉ／Ｏ行
４０の下方に配置されている。適宜なメモリ領域５０の回路については、クリフ
氏等の米国特許第５５５０７８２号公報、サング氏等の米国特許第５５５５２１
４号公報、サング氏等の米国特許第５６３３８３０号公報、クリフ氏等の米国特
許第５６８９１９５号公報、サング氏等の米国特許第５７１７９０１号公報、サ
ング氏等の米国特許第５８０２５４０号公報、ヘイル氏の米国特許出願第０９／
０３４０５０号公報、ペダーソン氏の米国特許出願第０９／０２３２５１号公報
、レディ氏等の米国特許出願第０９／１０７５３３号公報、レディ氏等の米国特
許出願第０９／１０７９２６号公報、ガイ氏等の米国特許出願第０９／１２４６
４９号公報、ヘイル氏の米国特許出願第０９／２９２４４８号公報、ヘイル氏の
米国特許出願第０９／３８９９９５号公報に記載されており、これらは全てここ
において全体的に参照に組み入れてある。
【００１８】
メモリ領域５０の各行の右端にはＰＬＬ回路の領域６０が配置され、これは図
１には示されていない外部回路からデバイス１０に付加されるクロック信号に対
して位相シフトされたクロック信号を形成するように使用される。適宜なＰＬＬ
回路については、ジェファーソン氏の米国特許第５６４２０８２号公報、ジェフ
ァーソン氏の米国特許第５６９９０２０号公報、レディ氏等の米国特許第５８４
７６１７号公報、サング氏等の米国特許出願第０９／３６６９４０号公報、サン
グ氏等の米国特許出願第０９／３６８４６４号公報、サング氏等の米国特許出願
第０９／３９２０９５号公報、サング氏等の米国特許出願第０９／３９３０３６
号公報に記載されており、これらはここにおいて参照として全体的に組み入れて
ある。
【００１９】
領域５０の最上の行の左端には、制御ロジックおよび端子の領域７０が配置さ
れている。この回路は、デバイス１０を通常のロジック動作に使用している際よ
り優先してこれをデバイスのプログラミングおよびテストに使用している際にこ
のデバイスを制御するために使用される。
【００２０】
領域５０の最底部の行の左端にはＪＴＡＧロジックおよび端子の領域８０が配
置されている。領域８０の回路は、デバイスの使用者が通常のロジック動作に優
先してデバイス１０のインシステムプログラミングおよびテストに使用すること
ができる。領域８０に使用される適宜な回路は、例えばチュー氏等の米国特許第
５６５０７３４号公報、およびウォン氏等の米国特許第５６９９３１２号公報に
記載されており、これらはここにおいて全体的に参照に組み入れてある。
【００２１】
図１に示された回路の最上の行はアドレスおよびレジスタ回路９０であり、こ
れは通常のロジック動作に優先してデバイス１０をプログラムする際に使用され
る。図１に示された回路の最も左の列はデータレジスタ回路１００であり、これ
は通常のロジック動作に優先してプログラムを行っている際に使用される。図１
に示された回路の最も右側の列はテストレジスタ回路１１０であり、これは通常
のロジック動作に優先してプログラムを行っている際に使用される。典型的な使
用に際して、プログラミングデータは図示されていない外部回路から回路１００
にロードされる。このデータはデバイス１０を通じて左から右に流れ、回路９０
内のアドレス上方によって決定された垂直スライス位置に記録される。デバイス
１０が適正にプログラム可能であることと、および／または適正に動作可能であ
ることを確認するために使用するデータは、レジスタ１１０を介してデバイス１
０から読み出すことができる。例示的な回路において、前述した説明および領域
７０についての記載によって示されたデバイス１０のプログラミングおよびテス
ト特性に関しては、クリフ氏の米国特許第５２３７２１９号公報を参照すべきで
ある。
【００２２】
図１に示された要素でまだ説明してないものは、デバイス１０の左右方向の中
央またはその付近に配置されたいわゆる二次信号コンダクタと呼ばれる垂直配置
領域１２０である。領域１２０は、信号伝送リソースのネットワークの一部であ
り、デバイス１０全体で広く必要とされる信号を分配するために使用される。こ
れらの信号の例としては、クロック信号、クリア信号、セット信号、リセット信
号等が挙げられる。領域１２０および関連する回路の実施例が図７Ａおよび図７
Ｂに示されており、後でこの点に関して説明する。
【００２３】
一般的に、プログラミングおよびテストモードと回路は実質的に本発明にとは
関係なく、従ってデバイス１０のこれらの機能をさらに詳しく説明する必要はな
い。このことは要素７０，８０，９０，１００，および１１０に該当する。デバ
イスのこの特性に関する構造および技術は当業者において周知であり、この点に
関して先に挙げた参照文献に例が示されている。ＰＬＬ回路６０の構成、動作、
ならびに使用方法は実質的に本発明とは関係なく、これらの回路についてより詳
しく説明する必要はない。再び、適宜なＰＬＬ回路は当業者において周知であり
、この点に関して先に挙げた参照文献に例が示されている。本発明は、メモリ領
域５０を補助するように拡張することができ、このような拡張可能性については
以下の記述において説明され、これは主に本発明をロジック領域２０、Ｉ／Ｏ領
域４０、これらのロジック領域およびＩ／Ｏ領域を含む相互接続に適用すること
に関する。従って、メモリ領域５０についてもさらに詳しく説明する必要はない
。
【００２４】
図２には図１の一部であるが、デバイス１０に設けられた相互接続リソースの
いくつかが示されている。ロジック領域２０の各列に結合し、かつメモリ行５０
へと延在する、複数のいわゆる広域垂直コンダクタ２００が設けられている。煩
雑化を避けるため、図１には代表的ないくつかのコンダクタ２００のみが示され
ている。コンダクタ２００の各グループは、参照符号２００ａで示される比較的
大きなコンダクタのサブセットを有し、これは通常の信号伝送速度特性を有する
。コンダクタ２００の各グループはまた参照符号２００ｂで示される比較的小さ
なコンダクタのサブセットを含んでおり、これは大幅に速い信号伝播速度特性を
有する。例えば、各サブセット２００ａは該当するコンダクタ２００のセットの
うちの約６７ないし８０％（最も好適には約７５％）を含んでおり、各サブセッ
ト２００ｂは該当するコンダクタ２００のセットのうちの約２０ないし３３％（
最も好適には約２５％）からなる。
【００２５】
ロジック領域２０の各列の上半分に結合し、またメモリ領域５０の上の行に延
在する、複数のいわゆる半垂直相互接続コンダクタ２１０が設けられている。半
垂直相互接続コンダクタ２１０は、ロジック領域２０の各列の下半分ならびにメ
モリ領域５０の下方の行に結合されている。図面の煩雑化を避けるために、代表
的なコンダクタ２１０のみが示されている。コンダクタ２００の場合と同様に、
コンダクタ２１０の各セットも比較的大きなノーマル速度コンダクタのサブセッ
ト２１０ａと、比較的小さな高速コンダクタのサブセット２１０ｂを備えている
。コンダクタ２１０ａとコンダクタ２１０ｂの比率は、コンダクタ２００ａと２
００ｂの比率と同様なものにすることができる。
【００２６】
ロジック領域２０の各列に結合して、複数のいわゆる交互配置垂直（“ＩＶ”
）コンダクタ２２０が設けられている。再び、図面の煩雑化を避けるため代表的
なコンダクタ２２０のみが示されている。コンダクタ２２０の各グループは、上
下に近接するロジック領域２０とメモリ領域５０との間を延在するとともに、間
在しているＩ／Ｏ領域４０のいずれかを介して延在している。コンダクタ２００
および２１０が交差する要素２０，４０および５０のいずれかの間において信号
を伝送するために使用されるのに対し、コンダクタ２２０は上下に近接する要素
２０および５０の間において接続速度を高めるために使用されるとともに、デバ
イス１０上の垂直相互接続に必要とされるコンダクタ２００および２１０の数を
削減するよう作用する。ＩＶコンダクタに関しての追加的な詳細は、米国特許（
出願番号、出願日不明、文書番号第１７４／１７３）に記載されており、これは
ここにおいて全体的に参照に組み入れてある。
【００２７】
ロジック領域２０の各行に結合して、複数のいわゆる広域水平相互接続コンダ
クタ２３０が設けられている。図面の煩雑化を避けるために代表的なコンダクタ
２３０のみが図示されている。コンダクタ２３０の各セットは、比較的大きなノ
ーマル速度コンダクタのサブセット２３０ａと比較的小さな極めて高速のコンダ
クタのサブセット２３０ｂを含んでいる。ノーマル速度コンダクタと高速コンダ
クタとの比率は前述したノーマル速度コンダクタと高速コンダクタとの比率と同
様である。
【００２８】
ロジック領域２０の各行の左半分に結合するとともにこれに沿って延在する、
複数のいわゆる半または直接水平相互接続コンダクタ２４０が設けられている。
半水平コンダクタ２４０はロジック領域２０の各行の右半分に沿って延在してい
る。再度、図面の煩雑化を避けるために少数の代表的なコンダクタ２４０のみが
図示されている。
【００２９】
さらに、ロジック領域２０の各行に結合して、複数群のいわゆるＨＦＮＬ（第
１ライン水平ネットワーク）相互接続コンダクタ２５０が設けられている。いく
つかのＨＮＦＬコンダクタを短くする必要がある行の末端部を除いて、ＮＦＮＬ
コンダクタ２５０の各グループは１０個のロジック領域２０に架かっている。加
えて、ＨＮＦＬコンダクタ２５０の各グループ内のコンダクタは、ロジック領域
２０またはそのグループの中央付近にあるその他の信号源によってのみ駆動する
ことができる（再度、行の末端のものは除いて）。コンダクタ２３０および２４
０はこれらが架かっているロジック領域２０のいずれかの間において信号を伝送
することに使用され、コンダクタ２５０はロジック領域２０またはこのコンダク
タを含むグループの中央にある他の信号源から中央ロジック領域の左および／ま
たは右の固定数のロジック領域に伝送される。各行内の各ロジック領域２０は、
該当する複数のコンダクタ２５０に対する中央／駆動ロジック領域となる。ＨＮ
ＦＬコンダクタに関しての追加的な詳細は米国特許出願（出願番号、出願日不明
、文書番号１７４／１７３号）に記載されており、これはここにおいて全体的に
参照に組み入れられている。
【００３０】
図３には、ロジック領域２０の行に結合された水平コンダクタからこの行内の
ロジック領域に信号を伝送するための代表的な相互接続および回路が示されてい
る。図３には、ロジック領域付近を通過する２１５本のノーマル速度広域水平コ
ンダクタ２３０ａと、そのロジック領域付近を通過する１００本の高速広域水平
コンダクタ２３０ｂと、そのロジック領域付近を通過する１０５本の半水平コン
ダクタ２４０と、そのロジック領域付近を通過する９０本のＨＮＦＬコンダクタ
２５０と、そのロジック領域付近を通過する１２本の二次コンダクタ２６０とが
存在することが示されている。前述したように、最後に挙げた二次コンダクタ２
６０は、クロック、クリア等の信号を伝送することができる。これらの信号２６
０のうちのいくつかは中央二次信号領域１２０（図１）から伝送することができ
；その他の信号はより局所的（例えば隣接するロジック領域２０の行内）に形成
されソースの局所内（すなわちそのソースの行）においてのみ使用することがで
きる（後述する図７Ａおよび図７Ｂに関する詳細な説明を参照）。
【００３１】
図３には、さらに代表的な論理領域フィーディングコンダクタ３００が示され
ている。図示されたコンダクタ３００は、図示されたコンダクタ２３０ａ，２３
０ｂ等が作用するロジック領域行内の水平に近接する２つのロジック領域２０の
間に配置された２６本のコンダクタのグループのうちの１つである。２６本のコ
ンダクタ３００は、全てのロジック領域行内の全ての水平に近接するロジック領
域２０の間に間在している。
【００３２】
各コンダクタ３００について、コンダクタ２３０ａ、２３０ｂ、２４０、およ
び２６０のうちの選択された１つが２つのプログラマブルロジックコネクタ（“
ＰＬＣ”；例えばマルチプレクサ）２７０−１および２７０−２の入力に接続さ
れる。ＰＬＣ２７０は、それぞれ通常プログラマブル動作制御要素（“ＦＣＥ”
）２７２によって制御され、その入力のうちのいずれかの上の信号をその出力に
適用する。（４つの入力が図示されているが、各ＰＬＣ２７０はそれよりも少な
いかまたは多い入力（例えば、２，３，６，７または８個の入力）を備えること
もできることが理解されよう。）各ＰＬＣ２７０出力信号は、該当する反転バッ
ファ（増幅器）２７４に付加され、従って該当するＰＬＣ２７６の入力に付加さ
れる。ＰＬＣ２７６への他の入力は、近接するコンダクタ２３０ｂおよび２５０
のうちの選択された１つ、ならびに（伝送線２８０を介して）相関する（もし存
在すれば）Ｉ／Ｏ領域４０から通じている。ＰＬＣ２７６はＦＣＥ（図示されて
いないがＦＣＥ２７２と同様である）によって制御され、その出力に入力のうち
のいずれかの上の信号を付加する。ＰＬＣ２７６の出力信号は、反転バッファ２
７８を介してコンダクタ３００に付加される。前述したＩ／Ｏ領域４０とロジッ
ク領域２０との相関は以下のようである：最上の行２０と４０、第２行４０と第
４行２０、第３行４０と第７行２０、第４行４０と第１０行２０、第５行４０と
第１２行２０である。
【００３３】
図３に示された相互接続は、図示されたロジック領域２０に近接するコンダク
タ２３０，２４０，２５０，２６０および２８０のそれぞれがそのロジック領域
の左または右の少なくとも１本のコンダクタ３００へ通じる経路を有するように
形成される。加えて、各コンダクタ２３０ｂおよび２５０は、ＰＬＣ２７６を通
じて直接的にかつＰＬＣ２７０を経由することなく、そのロジック領域の左また
は右の少なくとも１本のコンダクタ３００へ通じる経路を有する。この最後の点
は、コンダクタ２３０ｂおよび２５０が速度に関して最適化されているため重要
であり、また要素２７６と２７８のみを介して信号をコンダクタ３００に伝送す
る方が要素２７０および２７４も介して伝送するより高速である。
【００３４】
図４には、水平に近接する領域２０の間に配置されデバイスの他の相互接続リ
ソースからこれらの領域に信号を伝送するとともにこれらの領域内の小領域３０
の中の局所的相互接続を形成するための代表的なコンダクタが示されている。こ
れらのコンダクタの各グループは、２６本のコンダクタ３００（その信号ソース
は図３に示されている）と、近接するＨＮＦＬコンダクタ２５０の１つの支線と
、１０本の局所フィードバックコンダクタ３１０とを含んでいる。これらの局所
フィードバックコンダクタ３１０のうちの５本は、図示されたコンダクタグルー
プの左側の領域２０内の小領域３０のうちの５つからの信号を受信する。これら
のコンダクタ３１０の残りの５本は、図示されたコンダクタグループの右側の領
域２０内の小領域３０のうちの５つからの信号を受信する。
【００３５】
各小領域３０は、時々入力Ａ−Ｄで示される４つのデータ信号入力を備える。
コンダクタ３００および３１０は、いずれもこれらのコンダクタの右側の１０個
の小領域３０の入力ＡおよびＣへ付加される信号源、ならびにこれらのコンダク
タの左側の１０個の小領域３０の入力ＢおよびＤへ付加される信号源として使用
することができる。他方、図示されたＨＮＦＬコンダクタ支線２５０は、最上右
側の小領域の入力Ａに付加される信号源、ならびに最上左側の小領域の入力Ｂに
付加される信号源として使用することができる。中間の４本のコンダクタ３２０
が各小領域入力Ａ−Ｄに結合されている。これらのコンダクタ３２０に交差する
コンダクタ２５０，３００，および３１０のそれぞれが、各入力Ａ−Ｄに結合さ
れた４本のコンダクタ３２０の１本に接続することができる。これらの接続は、
ＦＣＥ３２４によって４つずつのグループにおいて制御されるＰＬＣ３２２によ
って形成される。（４つずつのグループの例外として、ＨＮＦＬ支線２５０への
接続のためにグループ分けが行われる。）従って、単一のＦＣＥ３２４は４本の
コンダクタ３００／３１０を各入力Ａ−Ｄに結合された４本のコンダクタ３２０
へ接続するようプログラムされる。各入力Ａ−Ｄに付加される信号の最終的な選
択は、この入力に結合された４つのＦＣＥ３２６の１つをプログラミングしてこ
の入力に結合されたＰＬＣ３２８のうちの１つを付勢することによって実施され
る。（他方、ＨＮＦＬ支線２５０上の信号は、該当するＦＣＥ３２４および３２
６を適宜にプログラミングすることによってＡ入力またはＢ入力に付加すること
ができる。
【００３６】
前述のことから、図４に示されているように、ＨＮＦＬ信号はコンダクタ３０
０等が作用するロジック領域２０への２つの可能な経路を有する。これらの経路
のうちの１つは、図３の要素２７６および２７８を介する比較的高速なルーティ
ングである。１つの特定のＨＮＦＬコンダクタ２５０および図４に示されたコン
ダクタ３００は作用する最上部の小領域３０に対する他の経路は、図４に示され
たコンダクタ支線２５０と関連する要素３２２および３２８を介するより高速の
ルーティングである。多少低速ではあるが、第１の経路は、近接するＨＮＦＬ信
号を図４の回路が作用するロジック領域２０への少なくとも多数の入力へ伝送す
る点において、より広範な目的を有している。他方、高速の経路は、近接するＨ
ＮＦＬの１つにのみ作用し、図４の回路が作用するロジック領域２０のそれぞれ
の中の１つの小領域３０の入力端子への入力のみを可能にする点において、より
限定的なものとなる。
【００３７】
図５Ａおよび図５Ｂ（図５で総称することもある）には、代表的な小領域３０
の例示的な実施例が示されている。小領域３０の核は、４入力ルックアップテー
ブル（要素４０２，４０４，４０６，および４０８）とレジスタ４８０である。
この点に関して後に説明する他の特徴とともに記述されるが、小領域３０の基本
的な動作は、入力Ａ−Ｄの任意の論理的組合わせとすることができるルックアッ
プテーブルの出力信号（ＰＬＣ４０８からの）を形成するようプログラム可能な
４入力ルックアップテーブルである。ルックアップテーブル出力信号は、ＰＬＣ
４８２のいずれか１つまたはいくつかを介して直接的に出力される。他方、また
はこれに加えて、ルックアップテーブル出力信号はレジスタ４８０によって記録
され、その後記録されていないルックアップテーブル出力信号を出力するために
使用されていないいずれかのＰＬＣ４８２を介して出力される。
【００３８】
代表的な小領域３０についてより詳細に説明すると、第１ステージの４入力ル
ックアップテーブルロジックは、４つの２入力ルックアップテーブル４０２ａ−
４０２ｄとして構成されている。各ルックアップテーブル４０２は小領域入力Ａ
およびＢを受信し、これら２つの入力信号のいずれかの論理的組合わせである出
力信号を形成する。４入力ルックアップテーブルの第２のステージは、２つのＰ
ＬＣ４０４ａおよび４０４ｂとして構成されている。ＰＬＣ（例えばマルチプレ
クサ）４０４は、（１）小領域３０へのＣ入力か、（２）小領域３０へのＤ入力
か、または（３）ＰＬＣ４１０ｂによって選択されたキャリーイン信号によって
制御することができる。選択肢（１）、（２）、および（３）からの選択は、Ｐ
ＬＣ４１４ａを適宜にプログラムすることによって実施される。小領域が特定の
バイナリ計算動作（例えば、高速加算器、カウンタ、マルチプライア、およびワ
イドパリティ機能）の一部分を実施するために使用される場合、選択肢（３）が
選択される。選択肢（１）と（２）の間の選択は、エレメント４０６，４０８お
よび４１８に関連して詳細に説明する信号タイミング要件に基づいて実施される
。出力信号ＰＬＣ４０４ａおよび４０４ｂは、それぞれ反転バッファ４０６ａお
よび４０６ｂによって増幅されている。（要素４０４はしばしばＰＬＣと呼称さ
れるが、これらはプログラム制御よりむしろ動的に制御される。言い換えると、
ＦＣＥによってプログラム制御されデバイス１０が一度プログラムされた通り常
に同一の信号選択をするよりも、むしろ要素４０４はデバイスの通常ロジック動
作中の異なった時間に異なった信号選択を実施し、これはその制御信号はそのロ
ジック動作の結果に起因して変化するロジック信号であるためである。にもかか
わらず、ここで４０４のような要素はＰＬＣと呼称される。より正確にするため
に、これらの動的制御された要素は、しばしば代わりにロジックコネクタと呼称
される。要素４０４のようにＰＬＣと呼ばれたりロジックコネクタと呼ばれたり
するその他の要素の例は、要素４０８，４１０，４２２，４４２，４６４，４６
６である。）
４入力ルックアップテーブルロジックの最終ステージはＰＬＣ（例えばマルチ
プレクサ）４０８によって構成される。ＰＬＣ４０８は、（１）小領域３０への
Ｃ入力か、（２）小領域３０へのＤ入力か、または（３）別の隣接するまたは近
傍の小領域３０からのいわゆる“直接接続”入力ＤＣＩＮによって制御すること
ができる。これらの選択肢（１）、（２）、および（３）の中からの選択はＰＬ
Ｃ４１８を適正にプログラミングすることによって実施される。選択肢（３）は
、図示された小領域３０が他の近接するまたは近傍の小領域からの直接接続信号
を受信することに（少なくとも部分的に）基づいたロジック機能を実施している
場合に選択される。これらの小領域間の直接接続は、広範なファンインロジック
機能等の操作を実施するために使用することができ、これはいくつかの小領域を
直列接続することを必要とし、これはしばしばカスケードチェーンと呼称される
。（プログラマブルロジックデバイス内のロジックモジュール間のカスケード接
続についての詳しい説明に関しては、例えばクリフ氏等の米国特許第５２５８６
６８号参照すべきである。この文献はここにおいて全体的に参照に組み入れてあ
る。）選択肢（１）と（２）との間の選択は、信号タイミング要件に基づいて実
施される。
【００３９】
前記の２つの段落に関する信号タイミング要件は、４入力ルックアップテーブ
ルロジックによって処理されそのロジックの最終ステージ（すなわちＰＬＣ４０
８の制御入力端子）に伝送される最も低速のデータ信号のルーティングを含んで
いる。このようにして、先に到達したデータ信号は、ルックアップテーブルロジ
ックの最初の２つのステージによって処理されバッファ４０６ａと４０６ｂの出
力端子上に既にバッファされた２つの信号を形成する。最後に到達するデータ信
号を受信すると、ＰＬＣ４０８は最後に到達する信号の状態によって選択された
バッファ出力信号を直ちに出力することが可能となる。最後に到達するデータ信
号をルックアップテーブルの最終ステージに付加することによって、ルックアッ
プテーブル出力信号は、最後に到達するデータ信号をルックアップテーブルの前
方ステージに付加する場合に比べて、著しく迅速なものにすることができる。こ
のルックアップテーブルの高速化は、ＰＬＣ４０８の下流側のバッファによって
最終ルックアップテーブル信号を遅延させるよりも、むしろＰＬＣ４０８の上流
側にバッファ４０６を設置することによりさらに増進することができる。
【００４０】
前述した要素４１４ａおよび４１８は、入力Ｃまたは入力Ｄのいずれか一方を
ルックアップテーブルの最終ステージに付加されるものとして選択することを可
能にする。従って、最終ステージに対して選択されていない入力ＣまたはＤは、
ルックアップテーブルの最終前のステージに付加することができる。入力Ｄが小
領域の右側のコンダクタ３００／３１０から通じているのに対して入力Ｃは小領
域３０の左側のコンダクタ３００／３１０（図４）から通じているため、入力Ｃ
または入力Ｄのどちらかを最後に到達する入力として選択する（ＰＬＣ４１４ａ
および４１８を使用して）可能性により、デバイス内のルーティングの制約が容
易になる。従って、最後に到達する信号は、小領域の左側または右側のいずれか
のコンダクタ３００／３１０を介して到達するようルーティングすることができ
る。
【００４１】
直接接続信号ＤＣＩＮは比較的遅く到達するため（例えば、比較的長いカスケ
ードチェーンの下流端部付近で形成された場合）、この信号もＰＬＣ４１８によ
って選択してルックアップテーブルの最終ステージへ付加することができる。こ
のこともカスケードチェーンの高速化を補助する。
【００４２】
図５Ａの他の要素について説明を続けると、小領域３０がバイナリ加算、カウ
ンティング等の一部を実行するために使用される場合、要素４０２ａ、４０２ｂ
は入力Ａ、入力Ｂ、およびキャリーイン信号（ＰＬＣ４１０ｂからの）の合計の
２つの先行値を形成するようプログラムすることができる。ＰＬＣ４０４ａは、
キャリーイン信号（ＰＬＣ４１４ａを介して）によって制御され、これらの２つ
の先行値のうちの適宜な１つを合計出力信号として選択する。ＰＬＣ４０８は、
合計出力信号を常に図５Ｂの回路に伝送するよう制御される。このＰＬＣ４０８
の状態は、小領域に対してＤ入力を使用してＰＬＣ４０８を制御するとともに関
連する全てのＤ入力要素３２８（図４）をオフ状態にプログラムすることによっ
て達成され、このことによりＤ入力は高位の初期設定とされる。）要素４０２ｃ
および４０２ｄは、入力Ａ、入力Ｂ、およびキャリーイン信号の合計からなるキ
ャリーアウトの２つの先行値を形成するようにプログラムされる。この２つの先
行値は、バッファ４２０ａおよび４２０ｂによってそれぞれ反転され、平行して
各ＰＬＣ（例えばマルチプレクサ）４２２ａおよび４２２ｂの２つのデータ入力
に付加される。ＰＬＣ４２２ａおよび４２２ｂは、小領域３０に付加されたＣ０
ＩＮおよびＣ１ＩＮ信号に基づいてＣ０ＯＵＴおよびＣ１ＯＵＴとして出力する
先行値をそれぞれ選択する。各小領域３０のＣ０ＯＵＴおよびＣ１ＯＵＴ信号は
、キャリーチェーンの中の次の小領域３０のＣ０ＩＮとＣ１ＩＮ信号となる。従
って、高速化キャリーチェーンのための回路の一部として２つのキャリー信号が
伝送される。この回路（ＰＬＣ４１０ｂを制御するためのＬＡＢＣＩＮＨ信号の
形成を含んでいる）は、本発明の構成要素ではなく、従ってさらに詳細な説明は
省略する。しかしながら、これについては、米国特許（出願番号、出願日不明；
文書番号１７４／１７６号）に記載されており、これはここにおいて全体的に参
照に組み入れてある。
【００４３】
要素４３０，４３２，４３４，４３６，４３８，４４０，４４２，および４４
は、小領域３０の乗算動作を実行および高速化する回路の一部として設置される
。回路（ＰＬＣ４１０ａを制御するためのＬＡＢＣＩＮＶ信号の形成を含む）も
本発明の構成要素ではないので、その詳細な説明は省略する。しかしながら、こ
れについては、米国特許（出願番号、出願日不明；文書番号１７４／１７５号）
に記載されており、これはここにおいて全体的に参照に組み入れてある。
【００４４】
要素４５０および４５２は、レジスタ４８０（図５Ｂ）がいわゆる“単独レジ
スタモード”において使用されることを可能にする回路の一部である。すなわち
、レジスタ４８０がＰＬＣ４０８からのルックアップテーブル出力信号を記録す
るために必要とされていない場合、レジスタは代わりに入力Ｃおよび入力Ｄを記
録するために使用される。Ｃ／Ｄの選択は、ＰＬＣ４１４ｂによって実施される
。ＰＬＣ４５０は、選択された信号の真値または補数値のいずれか一方を伝送す
るようプログラムされる。バッファ４５２は、選択された信号を反転および増幅
する。
【００４５】
ここで、図５Ｂに示されている代表的な小領域３０回路の部分について説明す
ると、要素４５４および４５６は、ルックアップテーブル出力信号（図５ＡのＰ
ＬＣ４０８からの）をこの小領域の直接接続出力信号（ＤＣＯＵＴ）として出力
することを可能にする。各小領域３０のＤＣＯＵＴ信号は、カスケードチェーン
または小領域列内の次の小領域のＤＣＩＮ信号となる。要素４５４はＤＣＯＵＴ
信号用の反転バッファであり、要素４５６はこの信号用のレベル復元回路の一部
である。
【００４６】
要素４６０および４６２は、ＰＬＣ４６４および４６６の状態を要素４６０の
プログラミングと、バッファ４５２（図５Ａ）の論理状態と、ＳＣＡＮ、ＳＹＮ
ＣＬＤ、およびＳＹＮＣＬＲ信号の論理状態とに基づいて制御するための回路で
ある。ＳＣＡＮ信号は、デバイスをスキャンテストモードに設定するためのデバ
イス広域信号であり、このモードにおいてデバイス上のレジスタ４８０およびそ
の他のレジスタはスキャンチェーン内で効率的に接続され、それらの内容を読み
出すとともにこれによってデバイスが適正に動作するよう迅速に検査する。従っ
て、ＳＣＡＮ信号が確認されると、デコーディングロジック４６２がＰＬＣ４６
４および４６６を制御し、ＳＣＡＮＩＮ信号をレジスタ４８０に付加する。各小
領域３０のＳＣＡＮＩＮ信号は、１つ前の小領域またはスキャンチェーン内の他
のレジスタ回路ＳＣＡＮＯＵＴ信号である。レジスタ４８０のＱ出力信号は、小
領域３０のＳＣＡＮＯＵＴ信号として反転バッファ４８６を介して出力される。
【００４７】
ＳＹＮＣＬＤおよびＳＹＮＣＬＲは、小領域３０を含む領域２０について領域
全体のベースで選択することが好適な信号である。これらの信号は、レジスタ４
８０を同期的にロードするかまたは同期的にクリアするのに適した信号を付加す
るようデコーディングロジック４６２を付勢するために使用される。例えば、Ｖ
ＳＳ（接地またはロジック０）はＰＬＣ４６４および４６６を介してレジスタ４
８０のＤ入力端子に接続され、これによってレジスタの同期的なクリアを生じさ
せる。このロジック４６２への入力、ならびに結果としてこのロジックからの出
力の他の状態は、レジスタ４８０がその出力信号を再登録するか、いわゆるバッ
ファ４４（図５Ａ）からの“直接合計出力”信号ＤＳＯを記録するか、またはバ
ッファ４５２（図５Ａ）の出力信号を記録する単独レジスタモードで動作するこ
とを付勢する。ここで全体的に参照に組み入れられているペダーソン氏の米国特
許第５８３５９９８号公報には、要素４６０および４６２として４６４，４６６
，４８０等の要素（以下に詳細に説明する要素４９０，４９２，４９４および４
９６等の要素）を制御するよう使用することができる回路の例が示されている。
【００４８】
要素４７０，４７２，および４７４は、クロック信号ＣＬＫ０またはＣＬＫ１
のいずれか一方をレジスタ４８０のクロック入力端子に付加するクロック信号と
して選択することを可能にする。ＦＣＥ４７０は、ＰＬＣ４７２が２つのクロッ
ク信号のうちの１つを選択することを付勢し、これはバッファ４７４によって反
転されレジスタ４８０に付加される。
【００４９】
要素４９０−４９６は、レジスタ４８０を制御して、多様なプリセット、同期
ロード、およびクリア動作を実施するようプログラム可能か、または動作可能で
ある。要素４９０はＦＣＥ、要素４９２はインバータ、要素４９４ａおよび４９
４ｂはＡＮＤゲート、要素４９４ｃおよび４９４ｄはＯＲゲート、要素４９６ａ
はＮＯＲゲート、要素４９６ｂはＮＡＮＤゲートである。ＰＲＥ／ＡＳＹＮＬＤ
信号は、非同期ロード制御信号である。ＮＣＬＲ信号はクリア信号である。
【００５０】
ＰＬＣ４８２ａ−ｃは、ＦＣＥ（図示されてない）によってプログラムし、Ｖ
ＳＳ（ロジック０）、レジスタ４８０のＱ出力、またはＰＬＣ４０８（図５Ａ）
からの記録されていないルックアップテーブル出力信号のいずれかを出力するこ
とができる。ＰＬＣ４８２ｄも、ＶＳＳに代えてＶＣＣ（論理１）を出力し得る
点を除いて同様である。ＰＬＣ４８２ａの出力信号は、反転バッファ４８４ａに
よって小領域３０の第１出力線ＯＵＴ０に付加される。ＰＬＣ４８２ｂの出力信
号は、反転バッファ４８４ｂによって小領域３０の第２出力線ＯＵＴ１に付加さ
れる。ＰＬＣ４８２の出力信号は、反転バッファ４８４ｃによって小領域３０の
ＬＯＣＡＬ出力線に付加される。ＰＬＣ４８２ｄの出力信号は、反転バッファ４
８４ｄおよび４８４ｄ′によって交互配置垂直（“ＩＶ”）コンダクタ２２０に
付加される。
【００５１】
ＯＵＴ０およびＯＵＴ１信号の目的は、図６に基づいて以下に説明する。ＬＯ
ＣＡＬ信号は、小領域３０を含んでいる領域２０の左側または右側の局所フィー
ドバックコンダクタ３１０（図４）のうちの１本に付加される。特に（また既に
記述したように）、各領域２０内の小領域３０の半分のＬＯＣＡＬ出力その領域
の左側のコンダクタ３１０のそれぞれに付加され、各領域内の小領域の残り半分
のＬＯＣＡＬ出力はその領域の右側のコンダクタ３１０に付加される。ＬＯＣＡ
Ｌ出力信号と同様な方式で、各領域２０内の小領域３０の半分のＩＶ出力線２２
０はその領域から上方に延在しており、残り半分の小領域の出力線２２０はその
領域から下方に延在している。
【００５２】
図６には、小領域３０からデバイスの相互接続コンダクタへの接続、ならびに
種々の相互接続コンダクタ間の接続を形成するための代表的な回路が示されてい
る（図４に示されたものと違うものであり、既に説明済みである）。図６は、ド
ライバ回路の代表的なブロック５００を有することを特徴とする。４つの小領域
３０からなる各グループに結合された、この種のドライバ回路のブロックは、水
平に隣接する２つの領域２０のそれぞれから２つの小領域を含んでいる。
【００５３】
まず、左側の上部小領域３０の種々の出力信号について考えると、その小領域
のＯＵＴ０信号がＰＬＣ５０２の１つの入力端子に付加される。（ＯＵＴ０信号
は図６に示されたものの左側のドライバブロックにも付加される。）ＰＬＣ５０
２へのその他の入力は、（１）図６に示された、同じ領域２０の列であるが小領
域を含む行の上または下の行内の小領域３０からの交互配置垂直信号２２０のう
ちの１つ、（２）ＯＵＴ０を生成するものと同じ小領域３０からの直接合計出力
信号ＤＳＯ、および（３）図６に部分的に示されているドライバ回路ブロック５
００の列と結合された高速半垂直コンダクタ２１０ｂのうちの１つである。ＰＬ
Ｃ５０２は、その４つの入力信号のうちの１つを選択して反転バッファ５０４に
付加するようプログラム可能である（図６には図示されていないＦＣＥによって
）。バッファ５０４の出力信号は、図６の左側に示された小領域を含む領域２０
の列の中央に配置されたコンダクタのグループ内のＨＮＦＬコンダクタ２５０の
１つに付加される。特に、バッファ５０４の出力信号は領域２０の列の左側に延
在するＨＮＦＬコンダクタセグメント２５０へ付加される。反転バッファ５６２
（以下により詳細に説明する）の出力信号は、領域２０の右側に延在する同一の
ＨＮＦＬコンダクタ２５０のセグメントに付加される（左右に延在する各ＨＮＦ
Ｌコンダクタ２５０のセグメントは実質的に分離したコンダクタであり、これは
分離して駆動可能であり、しばしば総称して単一のＨＮＦＬコンダクタ２５０と
呼称される）。
【００５４】
図６の上部左側の小領域３０のＯＵＴ１出力信号は、各ＰＬＣ５１０，５２２
，５３０，５４０，５５０，および５６０の１入力端子に付加される。ＰＬＣ５
６０の他の入力は、前述したＰＬＣ５０２への入力（１）−（３）と同様になる
。ＰＬＣ５６０は、その４つの入力信号のうちのいずれか１つを反転バッファ５
６２に付加して、前の段落で説明したように、右側に延在しているＨＮＦＬコン
ダクタ２５０のセグメントに付加するようプログラムすることができる。
【００５５】
図６の上部左側の小領域３０のいわゆるＬＯＣＡＬ出力信号は、近接する局所
フィードバックコンダクタ３１０の１つに付加される。前述したように、各領域
２０内の小領域３０の半分のＬＯＣＡＬ出力信号はその小領域の左側の局所フィ
ードバックコンダクタ３１０に付加され、各領域内の小領域の残り半分のＬＯＣ
ＡＬ出力信号はその小領域の右側の局所フィードバックコンダクタ３１０に付加
される。
【００５６】
図６内の上部左側の小領域３０のＩＶ出力信号は、図６に部分的に示された行
の上方の行内の適宜な位置に延在しているＩＶコンダクタ２２０に付加される。
【００５７】
図６の下部左側の小領域３０の出力信号の目的は、一般的に前述した上部左側
の小領域と同様である。ＯＵＴ０信号は、ＰＬＣ５０６への入力の１つである。
（再び、このＯＵＴ０信号は左側の別のドライバブロック５００にも付加される
。）ＰＬＣ５０６への別の入力は、（１）近接する高速広域垂直コンダクタ２０
０ｂからの信号、（２）ＩＶ信号２２０、および（３）下部左側の小領域３０の
直接合計出力信号である。ＰＬＣ５０６は、その入力信号のうちのいずれかを反
転バッファ５０８に付加し、別の近接する、左側に延在するＨＮＦＬセグメント
２５０に付加するようプログラムすることができる。
【００５８】
下方左側の領域３０のＯＵＴ１信号は、ＰＬＣ５１０，５２２，５３０，５４
０，５５０、および５６４に付加される。ＰＬＣ５６４への他の入力は、前述し
たＰＬＣ５０６への入力（１）−（３）と同様であり、ＰＬＣ５６４の出力は（
バッファ５６６を介して）バッファ５０８が駆動するものと同じＨＮＦＬコンダ
クタの右方に延在するセグメントに付加される。下方左側の小領域３０のＬＯＣ
ＡＬ出力信号は、近接する局所フィードバックコンダクタ３１０に付加される。
下方左側の小領域３０のＩＶ出力信号は、図６の回路を含む行の下側に近接する
行内の適宜な位置に延在するＩＶコンダクタ２２０へ付加される。
【００５９】
図６に示された上方右側の小領域３０のＯＵＴ０信号は、各ＰＬＣ５１０，５
２２，５３０，５４０，および５５０の１入力端子に付加される。この信号は、
図６に示されたものの右側の別の同様なドライバブロック５００にも付加される
。上方右側の小領域３０のＯＵＴ１およびＤＳＯ出力信号は、右側のドライバブ
ロックにも付加される。上部右側の小領域３０のＬＯＣＡＬ出力信号は、近接す
る局所フィードバックコンダクタ３１０に付加される。上部右側小領域３０のＩ
Ｖ出力信号は、上方へ延在するＩＶコンダクタ２２０に付加される。
【００６０】
下部右側小領域３０の出力信号の目的は一般的に同様なものである。ＯＵＴ０
信号は、各ＰＬＣ５１０，５２２，５３０，５４０，および５５０の１入力端子
、ならびに図６に示されたものの右側のドライバブロック５００に付加される。
ＯＵＴ１およびＤＳＯ信号も右側のドライバブロック５００に付加される。ＬＯ
ＣＡＬ出力信号は、近接する局所フィードバックコンダクタ３１０に付加される
。ＩＶ出力信号は、図６に部分的に示された行の下に近接する行内の同様な位置
に向かって下方に延在するＩＶコンダクタ２２０へ付加される。
【００６１】
ＰＬＣ５１０は、（図示されてないＦＣＥによって）その入力信号のうちのい
ずれかを選択してドライバ５１２に付加するようにプログラムすることができる
。ドライバ５１２の出力信号は、ＰＬＣ５１４（例えばデマルチプレクサ）に付
加され、これはＦＣＥ（図示されていない）によってプログラムしその入力信号
をその出力端子のいずれかに付加することができる。ＰＬＣ５１４の１出力端子
は、近接する高速広域垂直コンダクタ２００ｂに接続される。ＰＬＣ５１４の別
の出力端子は、近接する高速半垂直コンダクタ２１０ｂに接続される。前述のこ
とより、要素５１０，５１２，および５１４は、左側の小領域３０のＯＵＴ１信
号、または右側の小領域３０のＯＵＴ０信号のうちのいずれか１つを、近接する
高速広域垂直コンダクタ２００ｂまたは近接する半垂直コンダクタ２１０ｂのい
ずれかに接続することを可能にする。この要素５１０，５１２，および５１４は
、図６に示されたドライバブロック５００が作用する４つの小領域３０のいずれ
かが、高速広域垂直コンダクタ２００ｂまたは高速半垂直コンダクタ２１０ｂの
いずれかを駆動することを可能にする。
【００６２】
まだ説明していないＰＬＣ５２２への入力は：（１）近接する１つの高速広域
垂直コンダクタ２００ｂの１つからの信号、（２）近接する高速半垂直コンダク
タ２１０ｂの１つからの信号、（３）２つの交互配置垂直コンダクタ信号２２０
（そのうち１つは図６に部分的に示された行の上の行から伝送され、他の１つは
図６に部分的に示された行の下の行から伝送される）、（４）近接する４本の広
域垂直コンダクタ２００ａのうちの１本からの信号（この４つのうちの１つの信
号の選択はＰＬＣ５２０によって実施される）である。デバイス１０上の他のＰ
ＬＣと同様に、ＰＬＣ５２２はＦＣＥ（図示されていない）によってその入力の
うちいずれか１つを選択してトリステートドライバ５２４に付加するようプログ
ラム制御される。トリステートドライバ５２４は、ＦＣＥ５２６によってオフ（
高出力インピーダンス）またはオン（付加されたデータ入力信号を伝送および増
幅することができる）のいずれかにプログラム制御される。トリステートドライ
バ５２４の出力信号は、高速広域水平コンダクタ２３０ｂのうちの近接する１つ
に付加される。前述のことから、要素５２２，５２４，および５２６が図６に示
されたドライバブロック５００が作用する小領域３０のうちのいずれか１つの出
力信号が近接する高速広域水平コンダクタ２３０ｂのうちの１つ上に伝送される
ことが理解される。他の例においては、要素５２２，５２４，および５２６は、
近接する高速広域垂直または高速半垂直コンダクタ２００ｂまたは２１０ｂのい
ずれかからの信号を転向させて前述した高速水平コンダクタ２３０ｂ上に伝送す
ることを可能にする。さらに別の変更例においては、要素５２２，５２４，およ
び５２６は、２つの交互配置垂直コンダクタ信号２２０のいずれか一方を前述し
た高速広域水平コンダクタ２３０ｂ上に伝送することを可能にする。最後の変更
例においては、要素５２０，５２２，５２４，および５２６は、近接する４つの
広域垂直コンダクタ信号２００ａのうちの１つを転向させて前述した高速広域水
平コンダクタ２３０ｂ上に伝送することを可能にする。
【００６３】
次に、まだ説明していないＰＬＣ５３０への入力について考えると、ＰＬＣ５
２０に付加された４つの信号のうちの２つはＰＬＣ５３０にも付加され、近接す
る２つの半垂直コンダクタ２１０ａからの信号と同様である。ＰＬＣ５２２に付
加される交互配置垂直コンダクタ信号の１つは、ＰＬＣ５３０にも付加される。
デバイス１０上の他のＰＬＣと同様に、ＰＬＣ５３０は、ＦＣＥ（図示されてい
ない）によってその入力のいずれか１つをドライバ５３２に付加しそのデバイス
によって使用するようにプログラムすることができる。ドライバ５３２の出力信
号はＰＬＣ５３４に付加される（例えばデマルチプレクサ）。ＰＬＣ５３４は、
ＦＣＥ（図示されていない）によってその入力信号をその出力線のいずれかに付
加するようプログラム制御される。ＰＬＣ５３４の出力線のうちの２つは、近接
する２つの広域水平コンダクタ２３０ａにそれぞれ接続される。ＰＬＣ５３４の
第３の出力線は、近接する半垂直コンダクタ２１０ａに接続される。前述のこと
から、要素５３０，５３２，および５３４は、図６に示された４つの小領域３０
のうちのいずれか１つの出力信号を近接する通常（ノーマル速度）の水平および
垂直コンダクタ２３０ａおよび２１０ａのいずれかに伝送するために使用するこ
とができる。他の例において、要素５３０，５３２，および５３４は、近接する
通常（ノーマル速度）コンダクタ２００ａおよび２１０ａからの信号または相互
配置垂直コンダクタ２２０からの信号を通常の水平または垂直コンダクタ２３０
ａまたは２１０ａ上に伝送するために使用することができる。従って、５３０，
５３２，および５３４は、例えば、信号を通常の垂直コンダクタから通常の水平
コンダクタへ転向させることを可能にする。
【００６４】
要素５４０，５４２，および５４４への入力およびこれからの出力は、一般的
に前述した要素５３０，５３２，および５４０のものと同様である。異なるのは
、（１）ＰＬＣ５３０のものとは異なったコンダクタ２２０がＰＬＣ５４０に接
続される点と、（２）コンダクタ２１０ａの１つのみがＰＬＣ５４０に接続され
、（３）ＰＬＣ５４４の３番目の出力が半垂直コンダクタ２１０ａではなく近接
する広域垂直コンダクタ２００ａに付加される点である。しかしながら、要素５
４０，５４２，および５４４は、要素５３０，５３２，および５３４に比べてよ
り多くの同じ基本型のルーティング能力を提供する。
【００６５】
まだ説明していないＰＬＣ５５０の入力は、近接する４つのコンダクタ２００
ａおよび近接する３つのコンダクタ２１０ａからの信号である。デバイス１０上
のその他の類似のＰＬＣと同様に、ＰＬＣ５５０は（図示されてないＦＣＥによ
って）付加された信号のうちのいずれか１つを選択してドライバ５５２に使用す
るようプログラムすることができる。ドライバ５５２は受信した信号を増幅して
、増幅された信号を近接する直接水平コンダクタ２４０のいずれか１つに付加す
る。従って、要素５５０および５５２は、図６に示された小領域３０のいずれか
、または複数の近接する垂直コンダクタ２００ａまたは２１０ａのいずれかが、
近接する直接水平コンダクタ２４０をドライブすることを可能にする。例えば、
要素５５０および５５２は、垂直コンダクタ２００ａまたは２１０ａからの信号
を水平コンダクタ２４０に転向させることを可能にする。
【００６６】
前述のことから、本発明に従って構成されたプログラマブルロジックデバイス
１０がノーマル速度形式およびより高い速度（“高速”）形式の両方の形式で設
けられた相互接続リソースを少なくともいくつか備えることが理解されよう。両
方の形式は、互いに“構造的に類似”していることが好適である。“構造的に類
似”とは、両方の形式の相互接続リソースのいずれを使用しても一般的に同形式
のルーティングが可能であることを意味する。いずれかの形式の相互接続リソー
スを使用する基本的に類似の経路を介して同一のソースからの信号が得られる。
しかしながら、高速形式のリソースを介するとノーマル速度形式のリソースを介
するよりも、信号は大幅に速く伝送される。
【００６７】
高速形式の相互接続リソースは、いくつかの経路よりも高速に形成することが
できる。例えば、高速コンダクタは、通常速度コンダクタに比べて幅広かつ互い
の離間距離を広げて構成することができる。特に、高速コンダクタはノーマル速
度コンダクタに比べて２ないし３倍の幅をもって形成することができる。これに
代えてまたは加えて、高速コンダクタ間の離間距離は、ノーマル速度コンダクタ
間の離間距離に比べて２ないし３倍とすることができる。高速コンダクタに対し
て厚い上金属層を使用することが好適であり、他方通常のルーティングは薄い低
金属層を使用する。この技術を使用することによって、高速コンダクタのＲＣ時
定数はノーマル速度コンダクタのＲＣ時定数に比べて２０％削減される。ドライ
バ（例５１２および５２４）およびパスゲートを提供する高速コンダクタは、よ
り大きくかつより強力（例えば、ノーマル速度ドライバ５３２，５４２，５５２
に比べて）に構成することができる。例えば、高速ドライバは、ノーマル速度ド
ライバのトランジスタサイズの約２倍のトランジスタサイズを有することができ
る。加えて、ノーマル速度ドライバは出力デマルチプレクサを有するドライバを
使用して実施されるのに対して、構造的には同様な高速ドライバはより好適な速
度を達成するために個別のトリステートドライバとして実施することが好適であ
る。高速コンダクタに接続されるＰＬＣ（例えば、マルチプレクサ５１０および
デマルチプレクサ５１４）は、ノーマル速度コンダクタに接続された対応する要
素（例えば５３０および５３４）に比べてより少ない入力（マルチプレクサに対
し）およびより少ない出力（デマルチプレクサに対して）をもって形成すること
ができる。高速コンダクタは、対応するノーマル速度コンダクタに比べて、より
少ないタップを有し、従ってより少ないローディングを有する。これらの技術の
いずれかまたは全てを、構造的には同様なノーマル速度コンダクタに比べて大幅
に速い高速相互接続リソースを形成するために使用することができる。例えば、
本発明に従って、デバイス１０において、ノーマル速度相互接続リソースのみに
よって達成される同一の接続に比べて約２倍の速度を達成するいずれかの相互接
続（特に比較的長い相互接続）の提供を少なくとも補助する高速相互接続リソー
スを得るという設計目的を達成することができる。
【００６８】
デバイス１０における構造上は類似のノーマル速度および高速相互接続リソー
スの特定の例は以下のものである：ノーマル速度相互接続リソースを介して領域
２０内の第１行第１列の第１小領域３０から領域２０の第２の遠隔行および第２
の遠隔列の第２の小領域３０へ信号を伝送するため、ノーマル速度要素５４０，
５４２，および５４４を使用して第１の小領域から近接するノーマル速度垂直コ
ンダクタ２００ａへ伝送する。ノーマル速度垂直コンダクタ２００ａを使用して
第１の小領域３０の行から第２の小領域３０へ伝送する。目的の行において、ノ
ーマル速度要素５３０，５３２，および５３４を使用して前記垂直コンダクタ２
００ａからノーマル速度水平コンダクタ２３０ａへ伝送する。目的の列において
、ノーマル速度要素２７０，２７４，等を使用し、目的の小領域への入力回路３
００／３２０へ伝送する。反対に、高速相互接続リソースを介して同じ相互接続
を形成するため、高速要素５１０，５１２，および５１４を使用して第１の小領
域３０の出力信号を近接する高速垂直コンダクタ２００ｂまたは２１０ｂに付加
する。目的の行において、高速要素５２２および５２４を使用して信号を高速垂
直コンダクタから高速水平コンダクタ２３０ｂに転向させる。目的の列において
、高速要素２７６を使用して信号を高速水平コンダクタ２３０ｂから目的小領域
３０の入力回路３００／３２０に伝送する。
【００６９】
前述のことより、符号“ｂ”を付けた参照符号で示した高速コンダクタに加え
て、デバイス１０の高速相互接続リソースは、ＰＬＣ、ドライバ等を含み、これ
らは主に前記の高速コンダクタに作用する。例として、ＰＬＣ５１０，５１４，
５２２，および２７６、ならびにドライバ５１２，５２４，および２７８が挙げ
られる。構造的に類似のノーマル速度ＰＬＣおよびドライバ（主にノーマル速度
コンダクタ）としては、５３０，５３２，５３４，５４０，５４２，５４４，５
５０，５５２，２７０，および２７４が挙げられる。
【００７０】
構造的に類似する高速およびノーマル速度形式の特定の相互接続リソースの装
備に加えて、デバイス１０はデバイスの全体速度を増加させることを補助する他
の相互接続リソースを備えることができる。これらのリソースの例としては、Ｈ
ＮＦＬコンダクタ２５０（高速部分的相互接続コンダクタと呼ばれることもある
）、およびこれらのコンダクタをドライブする結合されたＰＬＣ５０２，５０６
，５６０，５６４，および５０４，５０８，５６２，ならびに５６６が挙げられ
る。コンダクタ２５０は比較的短く従って少数のタップを有するため高速である
。これらをドライブするＰＬＣおよびドライバは高速に形成することができる（
例えば、比較的少ない入力を有するＰＬＣと比較的大型かつ強力に形成されたド
ライバを使用することによって）。
【００７１】
デバイス１０上に設けられこのデバイスの速度を増加させる相互接続リソース
の別の例は、ＩＶコンダクタ２２０である（ブリッジング相互接続コンダクタと
呼ばれることもある）。これらのコンダクタは、隣接するまたは近傍にある領域
２０の行の間において比較的直接および短い接続を形成する。これらは比較的強
力なドライバ４８４によってドライブすることができる。これらを使用する場所
において、１つの行から他の行への伝送を行うために長い、従ってより低速の汎
用垂直相互接続コンダクタ２００／２１０を使用する必要が除外される。
【００７２】
図７Ａには、二次信号コンダクタリソース領域１２０および関連する回路の実
施例が詳細に示されている（図７Ａの回路に示されている追加的な要素は図７Ｂ
に示されている）。４本のコンダクタ６１０は、実質的にデバイス１０の垂直方
向寸法全体にわたって垂直に延在している。コンダクタ６１０のそれぞれが、４
つの専用のクロック信号入力端子６１２−１ないし６１２−４のうちのそれぞれ
１つからの４つのクロック信号のうちの１つをそれぞれ伝送し、前記のクロック
信号入力端子は、デバイス１０の中央付近に配置され、デバイス全体にわたった
クロック信号スキューを削減するよう作用する。コンダクタ６１０上のクロック
信号は、各行に近接する水平クロックコンダクタ６２０を分岐させることによっ
て水平に領域２０，４０等の各行にに対して配分される。コンダクタ６２０は、
参照符号２６０によって既に特定されたコンダクタ（例えば図３）の中に含まれ
るものである。コンダクタ６２０上の信号は、近接する（従って結合された）ロ
ジック領域２０またはＩ／Ｏセル６３０に付加される。
【００７３】
６本の追加的なコンダクタ６４０は、実質的にデバイス１０の垂直方向の寸法
全体にわたって垂直に延在している。各コンダクタ６４０は、６個のいわゆる高
速信号のうちの１つをそれぞれ伝送する。これらの高速信号のそれぞれは、デバ
イス１０の中央付近に配置された６個の専用入力端子６４２−１ないし６４２−
６のうちの適宜な１つ、または同様にデバイス１０の中央付近に配置されたロジ
ック領域２０−１／２０−２のうちの選択されたもののいずれかから伝送される
。前述した高速信号を供給するための追加出力線を有することを除いて、ロジッ
ク領域２０−１ないし２０−２はデバイス１０上の他のロジック領域と同様なも
のとすることができる。ＰＬＣ６４４は、各入力端子６４２と結合され、入力端
子の信号またはロジック領域２０−１あるいは２０−２のいずれかを高速信号と
してプログラム制御で選択する。各ＰＬＣ６４４の出力信号は、相関するバッフ
ァ６４６を介してコンダクタ６４０のうちの１つにそれぞれ付加される。各ＰＬ
Ｃ６４４の出力信号は、さらに、領域２０−１および２０−２を含む行と結合さ
れた６本の水平高速コンダクタ６５０のうちの１本、ならびに領域２０−１およ
び２０−２を含むロジック領域の行と結合されたＩ／Ｏ行４０と結合された６本
の同様な水平高速コンダクタ６５０のうちの１本に付加される。（この点につい
て先に説明したように、Ｉ／Ｏ行４０とロジック領域行との間の完全な相関は以
下のものである（図１参照）：それらは、（１）最上のＩ／Ｏ行４０と最上のロ
ジック領域行、（２）上から２番目のＩ／Ｏ行４０と上から４番目のロジック領
域行、（３）上から３番目のＩ／Ｏ行４０と上から７番目のロジック領域行、（
４）上から４番目のＩ／Ｏ行４０と上から１０番目のロジック領域行、（５）最
底部のＩ／Ｏ行４０と最底部のロジック領域行である。
【００７４】
前の段落で参照符号２０−１および２０−２として説明したもの以外のロジッ
ク領域行およびＩ／Ｏ行は、結合された水平高速コンダクタ６５０を備えている
。これらの他のロジック領域行のそれぞれに対して、結合された各コンダクタ６
５０上の信号がコンダクタ６４０またはその行内かつ領域１２０に近接するロジ
ック領域２０のいずれか一方からそれぞれ伝送される。ＰＬＣ６４８は、これら
の追加的な高速信号選択を形成するために設けられている。前の段落で説明した
もの以外の各Ｉ／Ｏ行４０に対して、結合されたコンダクタ６５０上の信号は、
このＩ／Ｏ行に結合されたロジック領域行に結合されたコンダクタ６５０上の信
号と同一である。
【００７５】
コンダクタ６５０も先に参照符号２６０で示したコンダクタ（例えば図３）の
中に含まれている。各ロジック領域行またはＩ／Ｏ行に結合されたコンダクタ６
５０上の信号は、その行内のロジック領域２０またはＩ／Ｏセル６３０に付加さ
れる。
【００７６】
前述のことから、ロジック領域２０（およびこのロジック領域行に結合された
各Ｉ／Ｏ行４０）の各行に結合された各高速コンダクタ６５０の信号は、局所的
に形成するか（その行の中央付近のロジック領域２０の１つによって）、または
より広域的に形成することができる（ロジック領域２０−１／２０−２の１つ、
または入力ピン６４２から）。高速コンダクタ６４０／６５０を入力端子６４２
またはロジック領域２０のいずれかによってドライブ可能にすることにより、入
力端子に加えて内部で形成されたロジックによってロースキュー二次信号のいく
つかをドライブすることが可能になる。各高速コンダクタ６４０／６５０を好適
にはただ１つの入力端子またはただ１つの特定ロジック領域によってドライブ可
能にすることにより、ロジック領域出力信号または入力端子信号を広域二次信号
コンダクタネットワーク上に伝送するために必要なルーティングの総量を削減す
ることができる。広域クロック信号を専用の入力端子６１２によって直接ドライ
ブ可能にすることにより、これらの信号を最大限に高速化することができる。専
用ソース６１０／６２０／２０−１／２０−２等の全てを選択してデバイスの中
央付近に配置することにより、デバイスを介する信号スキューの総量を削減する
ことができる。ロジック領域２０の各行に結合された高速コンダクタ６５０の信
号を局所的な配置する可能性により、デバイス１０が同時に作用する他の多数の
二次信号を有することが可能なる（すなわち、１０個の広域信号＋Ｎ×６個の局
所信号であり、Ｎはロジック領域の行数である）。加えて、ロジック領域によっ
てその行内に配置される局所二次信号は、中央スパインから広域的にドライブさ
れるために必要なものに比べて小さな遅延を有する。
【００７７】
前述したコンダクタ６２０および６５０に加えて、ロジック領域２０またはＩ
／Ｏセル６３０の各行はその長さにわたって延在する２本の局所高速コンダクタ
６６０を備えている。コンダクタ６６０は、既に参照符号２６０によって示され
たコンダクタ（例えば図３において）に含まれる。図７Ｂには、これらのコンダ
クタの信号源が示されている。各Ｉ／Ｏセル行およびこのＩ／Ｏセル行に結合さ
れたロジック領域行に対して、相関するコンダクタ６６０上の信号は、そのＩ／
Ｏセル行の中央付近の入力端子６６２、またはそのロジック領域行の中央付近の
ロジック領域２０のいずれかから伝送することができる。ＰＬＣ６６４は、これ
らの入力端子とロジック領域の間で信号を選択する。Ｉ／Ｏセル行に結合されて
いない各ロジック領域行はに対して、コンダクタ６６０の信号はその行の中央付
近のロジック領域２０から伝送することができる。
【００７８】
図７に示された回路への変更は、各ロジック領域内に局所的行入力端子（例え
ば入力端子６６２）を備えることを含み、これはその行内のロジック領域２０か
らのコンダクタをドライブする代わりに、この行に対する二次信号６５０および
／または６６０をドライブする。別の可能性は、局所的二次信号６５０／６６０
をより繊細に処理するか、あるいはより粗く処理することである（例えば、これ
らの信号を半分の行によってグループ化するか、または局所二次信号を個々の行
ではなくデバイス１０の４分割によってグループ化することによって）。
【００７９】
図７には、さらに各Ｉ／Ｏ行４０がこれに結合されたロジック領域２０の行と
二次信号６５０／６６０を分割する方式が示されている。従って、図７の上端付
近に示されている典型的なＩ／Ｏ行４０は、このＩ／Ｏ行の直ぐ下にある結合さ
れたロジック領域行と同一の二次信号６５０／６６０を有する。同様に、図７の
底部付近に示された他のＩ／Ｏ行４０も、このＩ／Ｏ行の直ぐ下にある結合され
たロジック領域行と同一の二次信号６５０／６６０を有する。
【００８０】
図７には、各Ｉ／Ｏ行４０と対応するロジック領域２０との間の相関性の別の
側面も示されている。このことは、Ｉ／Ｏ行４０内のＩ／Ｏセル６３０に対する
追加的入力信号源として各Ｉ／Ｏ行４０に対して結合されたロジック領域内にお
ける領域フィーディングコンダクタ３００および局所フィードバックコンダクタ
３１０の使用に関する。例えば、コンダクタ３００／３１０は、図７内のロジッ
ク領域２０−１に結合され、そのロジック領域の上側のＩ／Ｏセル６３０まで延
在しており、従ってこれらのコンダクタ３００／３１０上の信号はこのＩ／Ｏセ
ルに対する追加的入力として使用することができる。別の例として、図７の上部
右側付近に示されたロジック領域２０に結合されたコンダクタ３００／３１０は
、そのロジック領域上側のＩ／Ｏセル６３０まで延在しており、従ってこれらの
コンダクタ３００／３１０上の信号はそのＩ／Ｏセルに対する追加的な入力とし
て使用することができる。次に説明する図８は、代表的なＩ／Ｏセル６３０の好
適な実施例の構成に関してより詳細に示しており、これにはこのセルに付加され
る種々の信号が使用される方式が含まれている。
【００８１】
典型的なＩ／Ｏセル６３０の実施例が図８により詳細に示されている。Ｉ／Ｏ
セル６３０は、Ｉ／Ｏ端子７１０、入力レジスタ７４０、出力レジスタ７２０、
およびトリステート制御信号（または出力付勢）レジスタ７３０を含んでいる。
レジスタ７２０，７３０，および７４０のそれぞれは、データ入力Ｄ、クロック
入力、クロック付勢入力ＥＮ、クリア／プリセット入力Ｃ／Ｐ、およびデータ出
力Ｑを備えている。入力レジスタ７４０のデータ入力（Ｉ／Ｏ端子７１０から伝
送される）を除いて、レジスタ７２０，７３０，および７４０への全ての入力は
、Ｉ／Ｏセルへの４つのクロック入力６２０、Ｉ／Ｏセルへの６個の高速コンダ
クタ６５０入力、Ｉ／Ｏセルへ入力可能な３６個のコンダクタ３００／３１０上
の種々の信号の中から選択することができる。円７５４は、種々のコンダクタ６
２０／６５０／３００／３１０と種々のレジスタ入力との間における可能な接続
性を示している。各ＰＬＣ７５６は、接続可能ないくつかの信号の中から１つの
信号を選択することを実施する。プログラム可能な反転要素７５８（これは図５
Ａの回路４５０と同様である）は、各ＰＬＣ７５６の出力信号をデバイスのユー
ザの要望に応じて反転するかまたは反転しないかを可能にする。
【００８２】
図７に示されまた前の図においても説明したように、図８に示されているコン
ダクタ３００／３１０は、領域フィーディングコンダクタ３００および図８に示
されたＩ／Ｏセル６３０を含んだＩ／Ｏ行４０に結合されたロジック領域の行か
らのフィードバックコンダクタ３１０である。（これらの各行４０内のいくつか
のＩ／Ｏセルは、通常相関するロジック領域行内の異なった一つ一つの領域２０
からのコンダクタ３００／３１０を備えている。）図８内のコンダクタ６２０お
よび６５０は、図７に示された水平コンダクタ６２０および６５０の支線であり
、これは図８のＩ／Ｏセル６３０を含むＩ／Ｏ行に結合されている。
【００８３】
出力レジスタ７２０および出力付勢レジスタ７３０の両方をクロックするため
に同一の信号が使用される。全てのレジスタ７２０，７３０，および７４０は、
同一のクリア／プリセット入力信号を有する。各レジスタはクリア／プリセット
入力信号に応答してクリアまたはプリセットするようプログラムすることができ
る。
【００８４】
出力レジスタ７２０のデータ出力信号Ｑは、ＰＬＣ７２２の一入力端子に付加
される。ＰＬＣ７２２への他の入力は、レジスタ７２０へデータ入力である。従
って、ＰＬＣ７２２は、レジスタ７２０によって登録されているかまたはこのレ
ジスタを迂回した、デバイス１０の出力信号をトリステートドライバ７２４に付
加するように使用することができる。出力付勢レジスタ７３０のデータ出力信号
Ｑは、ＰＬＣ７３２の一入力端子に付加される。ＰＬＣ７３２への他の入力は、
レジスタ７３０への未記録データ入力である。ＰＬＣ７３２の出力信号は、トリ
ステートドライバ７２４のトリステート制御入力端子に付加される。従って、ト
リステートドライバ制御信号は、レジスタ７３０に付加される記録されたまたは
未記録のいずれかのデータ信号である。トリステートドライバ７２４の出力信号
は、Ｉ／Ｏ端子７１０に付加される。
【００８５】
入力側において、Ｉ／Ｏ端子７１０からの入力信号が入力レジスタ７４０のデ
ータ入力端子Ｄに付加される。この信号は、各ＰＬＣ７４２−１および７４２−
２の一入力端子に付加される。これらのＰＬＣのそれぞれへの別の入力は、入力
レジスタ７４０のＱ出力信号である。ＰＬＣ７４２−１の出力信号はバッファ７
４４−１を介してデバイス１０のロジックへ付加される。同様に、ＰＬＣ７４２
−２の出力信号は、バッファ７４４−２を介してデバイス１０のロジックに付加
される。例えば、各バッファ７４４の出力信号は、デバイスの１つまたは複数の
相互接続コンダクタ２００ａ／ｂ，２１０ａ／ｂ，２３０ａ／ｂ，２４０等に付
加される（例えば、トリステートドライバまたはパスゲートデマルチプレクサ（
図示されていない）を介して）。従って、経路７４２−１／７４４−１および７
４２−２／７４４−２のいずれかまたは両方が、端子７１０からの記録されたま
たは未記録のいずれかのＩ／Ｏ信号に対して使用される。言い換えると、端子７
１０は記録されたまたは未記録の両方の形式でデバイス１０のロジックに使用さ
れ得る。
【００８６】
レジスタ７２０および７３０は、それぞれバッファ７２６および７３６を介し
てのデバイスのロジックへのフィードバック経路を有することが示されている。
これらのフィードバック経路は、前述したようにトリステートドライバまたはパ
スゲートデマルチプレクサを介してデバイスの適宜な相互接続コンダクタに接続
することもできる。
【００８７】
図９には、Ｉ／Ｏセル６３０および結合されたＩ／Ｏ端子７１０が好適には各
Ｉ／Ｏ行４０を横切って配置されることが示されている。言い換えると、これら
のＩ／Ｏ端子７１０は、デバイス１０の周囲部には配置されていない。それに代
えて、それらはいくつかのＩ／Ｏ行４０のそれぞれを横断して離間させることに
よってデバイスの内部に配置されている。これによってデバイス１０上に設けら
れるＩ／Ｏ端子の数を増加させることができる。
【００８８】
例えば図５に示されているように小領域３０をカスケード接続することによっ
て（すなわち、ＤＣＩＮおよび／またはＤＣＯＵＴ信号を使用する）、２つまた
はそれ以上の小領域を、各小領域が個々に有する４つの入力よりも多い入力を有
する単一のルックアップテーブルとして、効果的に共に使用することができる（
デバイスのより一般的な相互接続リソースに依存することなく）。例えば、２つ
の小領域３０をカスケード接続し、５，６，または７入力の多数の（しかしなが
ら全てではない）可能な論理的組合わせを形成することができる。一般的に、よ
り大きなルックアップテーブルは、デバイスの一般的相互接続リソースを介して
接続しなければならないいくつかの小さなルックアップテーブルに比べて、より
多数かつより高速な入力の論理的組合わせを形成できるという利点を有する。他
方、比較的少数の入力の論理的組合わせを形成することが求められている場合、
大きなルックアップテーブルは不経済なものである。従って、比較的小さなルッ
クアップテーブル（例えば４入力）をカスケード接続または直接接続する可能性
は、良好な解決策を見出すものである。比較的多数の入力の論理的組合わせを形
成する必要がある場合、２つまたはそれ以上の小領域３０をカスケード結合する
ことができる。他方、比較的少数の入力の論理的組合わせを形成する必要がある
場合、ルックアップテーブルのリソースを過度に浪費することを防止するため小
領域３０を個別に使用することができる。勿論、既に説明したように、４入力よ
り多い全ての論理的組合わせが２つまたはそれ以上の小領域３０によって形成さ
れるものではない。
【００８９】
図１０には、２つの小領域３０内の４入力ルックアップテーブルがカスケード
形式の直接接続を介して選択的に相互接続され、これによって真の５入力ルック
アップテーブル（すなわち、５入力の全ての論理的組合わせを形成することが可
能なルックアップテーブル）が形成される代替的な実施例が示されている。要素
８１０−１および８１０−２は、第１小領域３０−１の一部を形成する２つの３
入力ルックアップテーブルである。ＰＬＣ８１２−１もこの第１小領域３０−１
の一部を形成する。それ自体で使用するものとして、小領域３０−１はＯＵＴ１
としてその４つの入力Ａ１−Ｄ１のいずれかの論理的組合わせ形成する。
【００９０】
要素８１０−３および８１０−４は、第２の小領域３０−２の一部を形成する
２つの３入力ルックアップテーブルである。ＰＬＣ８１２−２，８１４−１，８
１４−２，および８１８、ならびにＦＣＥ８１６は、小領域３０−２の追加的な
要素である。小領域３０−２がそれ自体によって使用されている場合、ＰＬＣ８
１４−１が入力Ｄ２をＰＬＣ８１２−２の制御入力端子に付加し、ＰＬＣ８１４
−２が固定ＶＣＣ（論理１）をＰＬＣ８１８の制御入力端子に付加することを付
勢するように、ＦＣＥ８１６をプログラムすることができる。ＰＬＣ８１８への
ロジック１制御入力は、この要素がＰＬＣ８１２−２の出力信号を出力端子ＯＵ
Ｔ２に伝送することを付勢する。このことは、小領域３０−２がＯＵＴ２として
小領域３０−２の４つの入力Ａ２−Ｄ２のいずれかの論理的組合わせを形成する
ために使用されることを可能にする。
【００９１】
他方、図１０に示されている全ての回路が５入力ルックアップテーブルとして
共に使用される場合、ＦＣＥ８１６は、ＰＬＣ８１４−１がＰＬＣ８１２−２の
制御入力端子に付加し、ＰＬＣ８１４−２がＰＬＣ８１８の制御入力端子に入力
Ｄ２を付加することを付勢するようにプログラムすることができる。加えて、同
一の信号Ａ−Ｃがそれぞれ入力Ａ１−Ｃ１およびＡ２−Ｃ２に付加される。この
ことは、デバイス１０の一般的な相互接続リソース（例えば図３および図４に示
されている要素）を適宜にプログラムすることによって実施することができる。
５入力ルックアップテーブルへの４番目の入力は入力Ｄであり（入力端子Ｄ１に
付加される）、５入力ルックアップテーブルへの５番目の入力は入力Ｅである（
入力端子Ｄ２に付加される）。入力Ｄに基づいて、ＰＬＣ８１２−１および８１
２−２は３入力ルックアップテーブル８１０−１ないし８１０−４の４つの出力
のうちから２つの信号を選択する。ＰＬＣ８１８は、これら２つの信号から入力
Ｅに基づいて１つの信号（ＯＵＴ２）の最終選択を行う。従って、この方式で共
に使用される場合、図１０に示された回路は５入力ルックアップテーブルとして
５入力Ａ−Ｅのいずれかの論理的組合わせを形成するよう使用される。
【００９２】
図１０には２つの４入力ルックアップテーブルを１つの５入力ルックアップテ
ーブルに選択的に変換するための回路が示されているが、２つのＭ＋１入力ルッ
クアップテーブルを１つのＭ＋２ルックアップテーブルに変換する原理は一般的
に適用することができ、ここでＭは要素８１０−１等の最初のルックアップテー
ブルの入力数である。図１０において、Ｍは数値３を有しているが、図１０に示
された形式の回路は容易に２，４，５，６，７等の他のＭ数値に変更することが
できる。
【００９３】
小領域３０をカスケード接続するためのさらに別の回路が図１１に示されてい
る。図５に示された主要な実施例においては、ＰＬＣ４０８の出力信号は、この
ＰＬＣ４０８を含む小領域のルックアップテーブル部分の直接接続出力信号ＤＣ
ＯＵＴおよびメインデータ出力信号の両方を提供する。図１１に示された代替的
な実施例において、各小領域３０−１と３０−２は、２つのＰＬＣ９１２−１お
よび９１２−２（小領域３０−１について）、ならびに９１２−３および９１２
−４（小領域３０−２について）を備えている。各小領域３０内において、両方
のＰＬＣ９１２は、その小領域内のＰＬＣ９１４の出力信号によって並行して制
御される。各小領域において、ＰＬＣ９１４は結合されたＦＣＥ９１６によって
プログラム制御され、その小領域に対してＤ入力またはカスケード入力のいずれ
かを出力する。最後に、各小領域において、ＰＬＣ９１２のうちの１つがこの小
領域のメインデータ出力信号を選択し、第２のＰＬＣ９１２は同じ信号選択を行
ってこの小領域のカスケード出力信号を形成する。各小領域３０内に２つの分離
したＰＬＣ９１２を設けることによって、メインデータ出力信号およびカスケー
ド出力信号のいずれもこれらの２つの信号以外によってロードされることはない
。このことはこれら両方の信号の速度を増加させることを促進する。別の観点に
おいて、図１１に示された実施例は図５に示された主要な実施例と論理的に同一
である。
【００９４】
図１０および図１１は、いずれも図５の主要な実施例に比べて簡略化して示さ
れている。しかしながら、図５に示された他の特徴のいずれもが図１０および図
１１に適用し得ることが理解される。
【００９５】
図１２には、データプロセッシングシステム１００２内に設けられた本発明に
係るプログラマブルロジックデバイス１０が示されている。データプロセッシン
グシステム１００２は：プロセッサ１００４と；メモリ１００６と；Ｉ／Ｏ回路
１００８と；および周辺装置１０１０のうちの１つまたは複数を備えることがで
きる。これらの構成要素はシステムバス１０２０によって結合されるとともに、
エンドユーザシステム１０４０内に含まれた回路基板上に装着される。
【００９６】
システム１００２は、コンピュータネットワーキング、データネットワーキン
グ、計測、画像処理、デジタル信号処理、またはその他のプログラマブルまたは
リプログラマブルロジックの利点を必要とする適用方法において、広範囲な適用
分野で使用することができる。プログラマブルロジックデバイス１０は、広範囲
な異なったロジック機能を実行するために使用することができる。例えば、プロ
グラマブルロジックデバイス１０は、プロセッサ１００４と共同動作するプロセ
ッサまたはコントローラとして構成することができる。プログラマブルロジック
デバイス１０は、システム１００２内において分配されたリソースへのアクセス
を仲介するアービタとして使用することもできる。さらに別の例において、プロ
グラマブルロジックデバイス１０は、プロセッサ１００４とシステム１００２内
の別の構成要素の１つとの間のインタフェースとして構成することができる。シ
ステム１００２は単に例示的なものであり、本発明の真の視点および精神は請求
の範囲によって定義されることが理解されよう。
【００９７】
本発明の特徴ならびにデバイスの種々の構成要素（例えば前述したＰＬＣおよ
びＰＬＣを制御するＦＣＥ等）を備えるプログラマブルロジックデバイス１０を
実施するために、種々の技術を使用することができる。例えば、各ＰＬＣは、複
数の入力のいずれか１つを出力に接続するためのスイッチまたはスイッチ群等の
比較的に単純にプログラム可能なコンダクタとすることができる。他方、各ＰＬ
Ｃは、接続の形成と並んでロジックの実行（例えば複数の入力の論理的な結合）
も可能な幾分複雑な要素とすることもできる。後者において、例えば、各ＰＬＣ
は、積算項ロジック、ＡＮＤ、ＮＡＮＤ、ＯＲ、またはＮＯＲ等の命令実行機能
とすることができる。ＰＬＣを実施するための好適な構成要素としては、ＥＰＲ
ＯＭ、ＥＥＰＲＯＭ、パストランジスタ、トランスミッションゲート、アンティ
ヒューズ、レーザヒューズ、メタルオプション接続器等が挙げられる。前述した
ように、ＰＬＣの種々の要素は、種々のプログラマブル機能制御要素（“ＦＣＥ
”）によって制御することができる。（特定のＰＬＣ機器（例えば、ヒューズお
よびメタルオプション接続器）においては、独立したＦＣＥデバイスは必要とさ
れない。）ＦＣＥもいくつかの異なった方式で実施することができる。例えば、
ＦＣＥは、ＳＲＡＭ、ＤＲＡＭ、ファーストインファーストアウト（“ＦＩＦＯ
”）メモリ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、機能制御レジスタ（例えば、ウォール
ストロムの米国特許第３４７３１６０号参照）、強誘電メモリ、ヒューズ、アン
ティヒューズ等とすることができる。前述した種々の例により、本発明は、一回
のみプログラム可能なデバイス、またはリプログラマブルデバイスのいずれに適
用することもできる。
【００９８】
前述の説明は本発明の原理を単に例示するものであり、当業者においては本発
明の精神を逸脱することなく、種々の設計変更をなし得ることが理解されよう。
例えば、デバイス１０上の多様な形式のリソースの数は、添付図面および説明に
おいて示された実施例の数字とは異なったものとすることができる。これは、種
々の形式の回路の行および列の数、各領域２０内の小領域３０の数、種々の形式
の相互接続コンダクタの数、種々の形式の相互接続コンダクタの間における相互
接続を形成するためのＰＬＣの数およびサイズ等に該当する。また、“垂直”お
よび“水平”、“左”および“右”、“上”および“下”、“行”および“列”
等の種々の方向および位置的な用語は、単に便宜的に使用しているものであり、
これらの用語によって固定的または絶対的な方向的または位置的限定を意図する
ものではない。例えば、本発明に係るデバイスは任意の方向性を有することがで
きる。方向を変更した場合、異なった方向的または位置的用語をその説明に使用
することができるが、これは本発明の視点および精神に係る基本的な特徴を変更
するものではない。“領域”および“小領域”等の用語も単に一般的に使用して
いるものであり、同様な回路に対して関連する用語またはその他用語を使用する
こともできる。従って、これらの用語は意味において逆転して使用することもで
き、領域／小領域の序列は重要でない。他方、本発明の視点に係るデバイスは、
小領域に分割されていないプログラマブルロジック領域を備えることもできる。
ルックアップテーブルロジックも使用され、実施例において図示および説明して
いるが、必要に応じてこれに代えて他の種類のロジックを使用し得ることは勿論
である。例えば、ペダーソン氏等の米国特許第５２４１２２４号およびパテル氏
の米国特許第５３７１４２２号公報（これらはともに全体的に参照に組み入れて
ある）に関連する第１の例において考慮したように、ルックアップテーブルロジ
ックに代えて積和ロジックを使用することもできる。ここでは特定のプログラマ
ブルロジックデバイス構造に関して説明したが、本発明の種々の特徴は、フリー
マン氏の米国特許第３４３６３号公報、クリフ氏等の米国特許第５６８９１９５
号公報、および１９９９年３月１０日に出願されたジェファーソン氏等の米国特
許出願０９／２６６２３５号公報（これらは全て全体的に参照に組み入れてある
）等に記載されているその他の多様な構造のプログラマブルロジックデバイスに
適用することができる。
【図１】
2014200106.tif 000003
【図２】
2014200106.tif 000004
【図３】
2014200106.tif 000005
【図４】
2014200106.tif 000006
【図５Ａ】
2014200106.tif 000007
【図５Ｂ】
2014200106.tif 000008
【図６】
2014200106.tif 000009
【図７Ａ】
2014200106.tif 000010
【図７Ｂ】
2014200106.tif 000011
【図８】
2014200106.tif 000012
【図９】
2014200106.tif 000013
【図１０】
2014200106.tif 000014
【図１１】
2014200106.tif 000015
【図１２】
2014200106.tif 000016