(57)【特許請求の範囲】
【請求項１】
プログラマブルロジックデバイスであって、このプログラマブルロジックデバイスは、
複数の機能ブロックと、
前記複数の機能ブロックと複数の機能ブロックとをプログラム可能に相互接続するための前記複数の相互接続リソースであって、前記複数の相互接続リソースは、さらに、
前記複数の機能ブロックをプログラム可能に相互接続するための第一の複数の信号線と第二の複数の信号線であって、ここで前記第二の複数の信号線からの一組の信号線はこれらの間の接地線を有する第一の複数の信号線と第二の複数の信号線と、
第一及び第二の型のバッファであって、前記第一の型のバッファは前記第二の型のバッファより少ない段数である第一及び第二の型のバッファと、
複数の入力と出力を有するマルチプレクサであって、前記マルチプレクサの入力の一つは他の前記マルチプレクサの入力よりも段数の少ないマルチプレクサ回路論理を介して前記マルチプレクサの出力と連結するマルチプレクサと、
これらのいずれか少なくとも一つを備える前記複数の相互接続リソースと、
前記複数の相互接続リソースからの相互接続リソースの選択は、信号伝播速度と、回路領域と、回路電力と、信号信頼性と、配線経路自由度からなるグループから選択される少なくとも二つの操作可能なパラメータに従うプログラマブルロジックデバイス。
【請求項２】
前記複数の機能ブロックは論理ブロックを含む請求項１記載のプログラマブルロジックデバイス。
【請求項３】
前記複数の機能ブロックは入力／出力回路を含む請求項１記載のプログラマブルロジックデバイス。
【請求項４】
前記第一の複数の信号線は、第一の操作可能なパラメータに従った前記複数の機能ブロックの第一の副次的な複数のものに連結し、
前記第二の複数の信号線は、第二の操作可能なパラメータに従った前記複数の機能ブロックの第二の副次的な複数のものに連結し、
前記第一と第二の副次的な複数のものは、全く同一の重複する又は相互に排他的で副次的な複数のものである請求項１記載のプログラマブルロジックデバイス。
【請求項５】
前記第一の操作可能なパラメータは、信号信頼性を含み、前記第二の操作可能なパラメータでは回路領域を含む請求項４記載のプログラマブルロジックデバイス。
【請求項６】
前記第一及び第二の型のバッファは、前記複数の機能ブロックの一つの同一の出力に連結し、
前記第一の型のバッファは、第一の操作可能なパラメータに従って、前記複数の機能ブロックの前記一つ同一の出力をバッファすることができ、
前記第二の型のバッファは、第二の操作可能なパラメータに従って、前記機能ブロックの出力をバッファすることを可能にする請求項１記載のプログラマブルロジックデバイス。
【請求項７】
前記第一の型のバッファの出力は、第二の型のバッファの出力より数の少ない信号線に連結される請求項６記載のプログラマブルロジックデバイス。
【請求項８】
前記第一の操作可能なパラメータは、信号伝播の速度を含み、前記第二の操作可能なパラメータは配線経路自由度を含む請求項６記載のプログラマブルロジックデバイス。
【請求項９】
前記マルチプレクサの出力は、前記複数の機能ブロックの一つの入力に連結され、
前記マルチプレクサの入力の一つは、第一の操作可能なパラメータに従った信号線に連結され、
前記他のマルチプレクサの入力は、第二の操作可能なパラメータに従った個別の信号線に連結される請求項１記載のプログラマブルロジックデバイス。
【請求項１０】
前記第一の操作可能なパラメータは信号伝播速度を含み、前記第二の操作可能なパラメータは配線経路自由度を含む請求項１記載のプログラマブルロジックデバイス。
【請求項１１】
信号伝播速度と、回路領域と、回路電力と、信号信頼度と、配線経路自由度のグループから選択される少なくとも２つの操作可能なパラメータに従うプログラマブルロジックデバイス上の複数の機能ブロックの相互接続方法であって、
この方法は
第一の副次的な複数の前記複数の機能ブロックと、第一の複数の信号線を連結し、第二の副次的な複数の前記複数の機能ブロックと、第二の複数の信号線を連結し、一組の前記第二の複数の信号線はそれらの間にグランド線を有し、前記第一と第二の副次的に複数の前記複数の機能ブロックは、同一または重複または相互に排他的な工程と、
前記複数の機能ブロックの一つの出力を第一の型のバッファの入力と第二の型のバッファと入力と連結し、前記第一の型のバッファは前記第二の型のバッファより少ない論理回路の段数を有している工程と、
マルチプレクサの出力と前記複数の機能ブロックの一つの入力とを連結し、前記マルチプレクサは、複数の入力を有し、前記マルチプレクサの前記入力の一つは前記マルチプレクサの出力であって、前記マルチプレクサの他の前記入力よりも段数の少ないマルチプレクサ回路論理であるマルチプレクサの出力と連結される工程の少なくとも一つを有する方法。
【請求項１２】
第一の副次的な複数の前記複数の機能ブロックと第一の複数の信号線を連結し、第二の副次的な複数の前記複数の機能ブロックと第二の複数の信号線を連結し、前記連結する工程はさらに
前記第一の副次的な複数の前記複数の機能ブロックと第一の複数の信号線を第一の操作可能なパラメータに従い連結する工程と、
前記第二の副次的な複数の前記複数の機能ブロックと第二の操作可能なパラメータに従い連結する工程と含む請求項１１記載の方法。
【請求項１３】
前記第一の操作可能なパラメータは信号信頼度を含み、前記第二の操作可能なパラメータは回路領域を有する請求項１２記載の方法。
【請求項１４】
前記複数の機能ブロックの一つの出力と第一の型のバッファの入力と第二の型のバッファの入力とを前記結合する前記工程は、
第一の操作可能なパラメータに従って前記第一の型のバッファを有効にする工程と、
第二の操作可能なパラメータに従って前記第二の型のバッファを有効にする工程とを含む請求項１１に記載の方法。
【請求項１５】
前記第一の操作可能なパラメータは、信号伝播速度を含み、前記第二の操作可能なパラメータは、配線経路自由度を含む請求項１４記載の方法。
【請求項１６】
マルチプレクサの出力と前記複数の機能ブロックの一つの入力とを連結する前記工程は、
前記マルチプレクサの入力の一つと、信号線とを第一の操作可能なパラメータに従って連結する工程と、
前記他のマルチプレクサの入力と各信号配線とを第二の操作可能なパラメータに従って連結する工程を含む請求項１１記載の方法。
【請求項１７】
前記第一の操作可能なパラメータは信号伝播速度を含み、前記第二の操作可能なパラメータは配線経路自由度を含む請求項１６記載の方法。
【請求項１８】
プログラマブルロジックデバイスであって、
このプログラマブルロジックデバイスは、
複数の機能ブロックと、
信号伝播速度と、回路領域と、回路電力と、信号信頼性と、配線経路自由度からなるグループから選択される少なくとも二つの操作可能なパラメータに従って前記複数の機能ブロックとプログラム可能に相互接続するための相互接続手段であって、前記相互接続手段は、
単位長さ当たりの二つの選択可能な電気信号抵抗と、
単位長さ当たりの容量と連結する二つの選択可能な電気信号と、
信号をバッファするために２つの選択可能な多数の回路論理段と、
前記機能ブロックの一つの入力と複数の信号を多重化するための二つの選択可能な多数の回路論理段の中から少なくとも一つを含む相互接続手段を備えるプログラマブルロジックデバイス。
【請求項１９】
前記相互接続手段は、信号をバッファする二つの選択可能な多数の回路論理段は第一と第二の型のバッファを含み、前記第一の型のバッファは前記第二の型のバッファより回路論理の段が少ない請求項１８記載のプログラマブルロジックデバイス。
【請求項２０】
前記相互接続手段は、前記複数の機能ブロックの一つの入力への複数の信号をマルチプレクスするために二つの選択可能な多数の回路論理段は、複数の入力と出力を有するマルチプレクサを含み、前記マルチプレクサの入力の一つは、他の前記マルチプレクサの入力よりも少ない段のマルチプレクサ回路論理と連結される請求項１８記載のプログラマブルロジックデバイス。
【発明の詳細な説明】
【０００１】
技術分野
本発明は、プログラマブルロジックデバイスに関し、特にそのようなデバイスに用いる改良された相互接続アーキテクチャに関する。
【０００２】
背景技術
プログラマブルロジックデバイス（ＰＬＤｓ）は、そのカスタマイズ性によりもたらされる自由度のため、集積回路を形成するのに広く使用されている。一般的には、プログラマブルロジックデバイスは、フィールドプログラマブルゲートアレイ（ＦＰＧＡｓ）、複合プログラマブルロジックデバイス（ＣＰＬＤｓ）、単一プログラマブルロジックデバイス、及びレーザプログラマブルデバイスを含む。アーキテクチャ的には、プログラマブルロジックデバイスは、論理ブロックや入出力（Ｉ／Ｏ）ブロックを含み、これらはプログラム可能な相互接続構造やネットワークを介して接続可能である。
【０００３】
典型的なプログラマブルロジックデバイスは、集積回路チップであって、全体的に又は部分的に1又はそれ以上の論理ブロックやＩ／Ｏやプログラム可能な経路又は相互接続ネットワークからなり、これらはユーザによりプログラムされ、論理ブロックとＩ／Ｏ回路間の相互接続を提供し、所望の論理機能を達成する。プログラマブルロジックデバイスは、スタンドアローンデバイスであっても良く、又、ＡＳＩＣｓ等の大規模集積回路に組込んでも良い。このようなデバイスの典型的な形態が米国特許５，８２５，２０２及び米国特許５，６８７，３２５に開示されている。
【０００４】
論理ブロックは、固定の論理機能で構成されても良く、又、それに代えて、プログラム可能な相互接続や機能で構成されても良い。論理ブロックは、さらに分割されサブブロックとして構成されても良く、又、共にグループ化されブロックの１群として構成されても良い。ブロックは入出力回路を含んでも良い。典型的には、Ｉ／Ｏ回路は、チップを外部回路に接続するか、又は組込みＦＰＧＡｓの場合のようにチップの他の部品に接続する。Ｉ／Ｏブロックは、典型的にはチップの周辺部に配置される。プログラマブルロジックデバイスは、通常、論理ブロックの規則的配列として配置され、各論理ブロックは、同一タイプでも良く、又、ＲＡＭブロック、参照用テーブル系ブロック、Ｐ−ターム系ブロック等の幾つかの異なるタイプでもよい。プログラム可能な相互接続ネットワークアレイの導体は、典型的には、図１に概略的に示される論理ブロックアレイで画定される行と列に沿って配置される。
【０００５】
プログラマブルロジックデバイスの相互接続構造は、予め作成された配線と予め作成されたスイッチとからなり、これらがプログラムされることで異なる論理ブロックを電気的に接続し、所望の機能を提供する。導体（配線）及び論理ブロック間の接続及び異なる配線区分間の接続は、予め定められた相互接続点のプログラム可能なスイッチにより行われる。プログラム可能なスイッチは、パストランジスタ、トリステートバッファ、フューズ、アンチフューズ、またはこれらの組み合わせとして実現可能である。相互接続のレーザプログラミングは、所望の場所で金属導体を焼切ることで達成される。状況により、スタティック又はダイナミックランダムアクセスメモリ（ＳＲＡＭ又はＤＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、電気的にプログラム可能なリードオンリーメモリ（ＥＰＲＯＭ）、電気的に消去およびプログラム可能なリードオンリーメモリ（ＥＥＰＲＯＭ）、フラッシュメモリ、又はその他のメモリ及びこれらメモリの組み合わせにより、スイッチの状態を制御することができる。様々なタイプのスイッチが知られており、例えば米国特許４，８７０，３０２及び米国特許５，９５５，７５１に記載されている。
【０００６】
プログラマブルロジックデバイスの設計に関連し、数多くのトレードオフが在る。プログラマブルロジックデバイスのデザイナー又は設計者は、プログラマブルロジックデバイスで実現される回路速度や、与えられた論理容量に必要な半導体或いはシリコンの面積や、ユーザによりプログラムされたプログラマブルロジックデバイスの電力消費量や、低い故障確率等の信頼性や、配線経路自由度といった様々な動作パラメータにより制約される。プログラマブルロジックデバイスの設計者は、ユーザがデバイスをプログラムする際の多くの使用の全てを予め知ることは出来ない。従って、プログラマブルロジックデバイスはできるだけ汎用性を持つよう設計される。
【０００７】
例えば、プログラマブルロジックデバイスの設計者の目標は、プログラマブルロジックデバイスの表面積を最小にする一方で、論理容量を最大にすることであるかもしれない。すなわち、論理ブロックの数及び機能性を最大にするとともに、十分な相互接続リソースと自由度を提供し、可能な限り回路の実現範囲を広げることであるかもしれない。他の設計目標は、プログラマブルロジックデバイスで実現される回路の速度を最大にすると共に、回路を実現するために必要な表面積、論理ブロック及び相互接続リソースを最小にすることであるかもしれない。例えば、プログラマブルロジックデバイスの設計者は、プログラム可能な接続スイッチの数を減らすことで速度を向上することが可能であるが、このことは配線経路自由度を犠牲にすることになることを知っている。相互接続配線間の間隔を更に広げることにより故障の回避すなわち信頼性が向上するが、面積を犠牲にすることになる。
【０００８】
従って、プログラマブルロジックデバイスのアーキテクチャの設計において注目すべき１つの分野は、相互接続ネットワークのアーキテクチャである。目的は、相互接続リソースに必要な表面積を最小にする一方で、速度は最大にし、プログラマブルロジックデバイス上で回路を実現するために必要なプログラマブルロジックデバイスのリソースを最小にすることである。相互接続アーキテクチャは、相互接続導体、プログラム可能なスイッチ、これらと論理ブロックとの間のインターフェースを参照する。米国特許５，９０７，２４８は、様々な相互接続アーキテクチャおよびその改良に関する背景技術を提供する。
【０００９】
しかしながら、プログラマブルロジックデバイスにおいて改良される回路は、異なる要求に対する異なるパーツを有する。例えば、回路の幾つかのクリティカルパスは、タイミング要求に合わせ速くなければならず、幾つかのパーツ、例えばクロック信号は、不良があってはならず、速度に敏感でないパーツは、できるだけシリコンの領域を少なく又はプログラマブルロジックデバイスのリソースを少なくするよう使用すべきである。
【００１０】
殆どのプログラマブルロジックデバイスのアーキテクチャは、この回路のヘテロ性（異質性）を考慮していない。従来技術の殆どが、同質性の相互接続アーキテクチャを使用している。配線幅、配線間の間隔、バッファやスイッチに使用するトランジスタの寸法等のパラメータや、配線／スイッチ間のインターフェース回路および論理ブロックは、プログラマブルロジックデバイス中で一定である。更に、同質性のアーキテクチャは、回路記述をプログラマブルロジックデバイスのアーキテクチャへ写像する際に使用するコンピュータ支援設計ツールに関しては、より容易である。
【００１１】
現在の相互接続アーキテクチャによれば、単一のパラメータを変化させ、プログラマブルロジックデバイスを最適化している。例えば、Ａｃｔｅｌの米国特許５，０７３，７２９、Ａｌｔｅｒａの米国特許５，９００，７４３、Ｘｉｌｉｎｘの米国特許５，８０１，５４６及び米国特許５，９０７，２４８には、プログラマブルロジックデバイスのアーキテクチャが記載されており、最適化には、異なる長さの相互接続配線を使用する点で限界がある。一方で、米国特許５，９４２，９１３には、バッファした相互接続線とバッファしていない相互接続線とを混成して使用する相互接続構造を開示する。双方の場合、最適化には、パラメータがたった１つしかないので限界がある。
【００１２】
しかしながら、これらアーキテクチャは、回路の異なるパーツ用の異なるプログラマブルロジックデバイスの相互接続リソースが必要な回路を設計する際、ユーザに対し十分な自由度を提供しないので限界がある。例えば、米国特許５，９００，７４３には、多くの異なる長さを有する水平に延在する導体により、水平に配置した論理領域間の相互接続を可能にする。ここで、導体は接続に好適な長さに合わせてある。
【００１３】
従って、速度、電力、面積、自由度及び信頼性のような１又はそれ以上の選択された動作パラメータに関し最適化される一方で、残りのパラメータにおける影響を最小化するプログラマブルロジックデバイスのアーキテクチャの改良が必要とされる。
【００１４】
発明の概要
本発明の利点は、１又はそれ以上の選択された動作パラメータに関し最適化される一方で、残りのパラメータにおける影響を最小にするプログラマブルロジックデバイスのアーキテクチャを提供することにある。例えば、動作パラメータは、速度、面積、電力、信頼性及び自由度を含む。
【００１５】
本発明によれば、(a) １又はそれ以上の機能ブロックと、(b) 相互接続リソースの複数のグループとからなり、選択された型の各グループは、前記1又はそれ以上の機能ブロックへプログラムにより接続され、少なくとも１つのタイプの第１の数の相互接続リソースは、プログラマブルロジックデバイスの第１の動作パラメータに関し最適化され、同一型の第２の数の相互接続リソースは、第２の動作パラメータに関し最適化される、プログラマブルロジックデバイスが提供される。
【００１６】
本発明の更なる実施の形態によれば、前記機能ブロックは、論理ブロックである。
【００１７】
本発明の更なる実施の形態によれば、前記機能ブロックは、入出力回路である。
【００１８】
一実施の形態によれば、相互接続リソースは、複数の相互接続導体（配線）を含み、第１の数の導体が、第２の数の導体の導体間スペースより狭い隣接導体間スペースを有するよう選択される。例えば、配線が部分的に１つのユニットと３つのユニットとに分離される。分離された配線は、共に近接した配線よりずっと低い結合容量を有する。低結合容量により配線の信号遅延が減少し、プログラマブルロジックデバイスで実現される回路の到達速度が増加する。互いに近接した配線は占有面積が少ないため、面積に関し最適化される。
【００１９】
更なる実施の形態によれば、相互接続リソースは、複数の相互接続導体を含み、第１の数の導体が、第２の数の導体の幅と異なる幅を有するよう選択される。大きな幅を有する配線は抵抗を減少させ、とりわけ長い配線においてその速度を増加させる。狭い幅を有する配線は占有面積を減少させる。
【００２０】
更なる実施の形態によれば、相互接続リソースは、一群の相互接続導体（配線）を含み、経路配線の一部は第１のサイズを有するスイッチで接続され、配線の第２の部分は第２のサイズを有するスイッチで接続される。大きな寸法を有するスイッチは、大きな駆動力を有し、経路配線容量を充放電するのに必要な時間を減少させる。最終結果として速度が増加する。小さなスイッチは遅く、占有面積が少ない。好適な実施の形態によれば、スイッチはパストランジスタで構成する。代替の実施の形態によれば、スイッチはトリステートバッファで構成し、大きなトランジスタを介すか、或いはトリステートバッファの段数（バッファサブブロックの数）を変えることで速度の点で優れた構成となる。
【００２１】
更なる実施の形態によれば、相互接続リソースは、相互接続導体（配線）を結合する複数のマルチプレクサ又はトリステートバッファスイッチを含み、第１の数のマルチプレクサ又はトリステートバッファは、第２の数のマルチプレクサ又はトリステートバッファと異なる回路トポロジーを有する。好適な実施の形態によれば、マルチプレクサ又はトリステートバッファスイッチは、幾つかのスイッチに関し最も高速にするような回路トポロジーを有すると共に、他のスイッチに関しては最も面積効率の高いトポロジーを有する。例えば、１６：１マルチプレクサを、１６個の独立したパストランジスタ（単一段の１６：１マルチプレクサ）で実現しても良いし、或いは４段に縦列接続した２：１マルチプレクサの１組で実現しても良い。単一段の１６：１マルチプレクサは速度の点では好ましいが、大きな面積を必要とする。
【００２２】
更なる実施の形態によれば、相互接続リソースは、相互接続導体（配線）を論理ブロックの入力又は出力に接続するか、或いは相互接続導体の２つの異なる部分を接続するための複数のプログラム可能なスイッチを含む。第１の数の配線は、それらに接続された（少ない容量負荷でより速い）少数の経路スイッチを有し、第２の数の配線は、それらに接続されたより数の多いスイッチを有する。従って、幾つかの配線に接続される経路スイッチの数を減少させることで、配線の容量負荷が減少する。例えば、幾つかの配線は、それらを駆動する２０個のプログラム可能なスイッチを有していてもよく、他のものは、たった１０個でもよい。少数のスイッチで駆動される配線は、より高速である。なぜなら、スイッチによる寄生負荷が少なく、配線ごとに必要なスイッチの面積が少ないからである。幾つかの経路配線にのみ接続されるスイッチの数を減少することで、プログラマブルロジックデバイスの自由度を削減することなく、配線に加わる負荷をより軽減し、配線速度を増加させることが可能になる。この手法により幾つかの配線にのみ接続されるスイッチの数を減少することで、面積を抑制することが可能になる。
【００２３】
更なる実施の形態によれば、相互接続リソースは、配線の一部が論理ブロック又はＩ／Ｏブロックへの超高速経路を有し、かつ、第二の部分がより経路自由度が高い複数の経路配線を含む。これは、非平衡のツリー状トポロジーに従い、経路配線と論理ブロック（又はＩ／Ｏブロック）の入力ピンの間に、マルチプレクサを結合することで達成される。
【００２４】
更なる実施の形態によれば、相互接続リソースは、論理ブロックの入力と相互接続配線との間のインターフェースの２つのタイプの入力ピンを含む。１つの組の入力ピンは、速度に関し最適化され、他のものは、経路自由度につき最適化される。超高速配線を論理ブロックの特殊入力ピンに接続することで、これら入力ピンを少数の経路配線で駆動することが可能となり、従って、それらと経路配線との間のマルチプレクサをより小さく（高速に）することができる。第２グループのピンは多数の経路配線で駆動されるため、多数の配線を論理ブロックに接続し、プログラマブルロジックデバイスの自由度を向上することができる。
【００２５】
更なる実施の形態によれば、相互接続リソースは、論理ブロックの出力又はＩ／Ｏブロックの出力と相互接続配線との間のインターフェースに設けた２つの異なるタイプのバッファを含む。各出力ピンは２つのグループのバッファに接続される。バッファの１つのグループは、より少ない段数のため、より低い内在する遅延を有し、かつ、それに接続されるより少数の相互接続配線を有するため、より低い全体的な遅延を有する。第２のグループは、それをロードするためのより多くのプログラム可能なスイッチを有するため、低速であるが、経路自由度はより高い。最終的に得られる効果は、速度臨界接続には、より高速かつ自由度の低いバッファのグループが使用され、一方、非速度臨界接続には、より低速かつ自由度の高いバッファのグループが使用される。その結果、プログラマブルロジックデバイスに実現される回路の速度は増加される一方で、経路自由度は維持される。
【００２６】
他の実施の形態によれば、プログラマブルロジックデバイスが、配線間の間隔が増加しているか、或いは配線間にグランドシールド線を有するか、或いは作動信号を利用する多数配線を含むことで、意図しない遷移や配線不良を抑制する。他の配線としては、小さな配線間隔を有し、シールド線のないものを利用することで、面積に関し最適化する。
【００２７】
本発明の他の実施の形態によれば、あるタイプの相互接続リソースを、２つ又はそれ以上の動作パラメータに関し最適化してもよい。
【００２８】
他の実施の形態によれば、２つ又はそれ以上のタイプの相互接続リソースを、各々、２つ又はそれ以上の動作パラメータに関し最適化してもよい。
【００２９】
本発明の実施例につき図面を参照して例示的に説明する。
【００３０】
好適な実施例の詳細な説明
便宜のため、説明中の数字は、図中と同一数字の構造体を参照する。
【００３１】
図１を参照すれば、先行技術に係る典型的なプログラマブルロジックデバイスのアーキテクチャを数字１０で概略的に示す。プログラマブルロジックデバイスは、規則的な配列になるよう配置した多数の論理ブロック１２と、論理ブロック１２の間の垂直方向及び水平方向のチャネルに配置した相互接続配線１４からなる。論理ブロック１２は、多くの機能のうちの１つを実行し、その実現に関しては周知である。典型的には、論理ブロックは入力又は出力ピンを有する。プログラマブルスイッチ１６を使用して、相互接続配線１４を論理ブロックの入力又は出力ピンに接続する。プログラマブルスイッチ１７を相互接続配線１４の交点に配置し、２つの異なる相互接続配線どうしを接続する。
【００３２】
プログラマブルロジックデバイスにおける相互接続ネットワークの詳細設計またはアーキテクチャが、相互接続リソースの電気的特性に影響を与えるパラメータをとても広い範囲で考慮する必要があるという視点に、本発明は基づいている。これら特性は、論理ブロックと相互接続配線間のインターフェース、相互接続配線の幅及び配線間の間隔、各相互接続配線を他の相互接続配線に接続するために使用するプログラマブルスイッチのタイプ（パストランジスタ又はトリステートバッファ）、プログラマブルスイッチを構成するトランジスタの寸法、相互接続ネットワーク内のプログラマブルスイッチの分布、プログラマブルロジックデバイスにおける相互接続配線１４の長さが異なるセグメントすなわち分割された部分の分布を含む。各選択は、複合トレードオフの釣合いと他のパラメータとの相互作用とに関係しており、Ｂｅｔｚ等による「ディープサブミクロンＦＰＧＡｓのためのアーキテクチャおよびＣＡＤ」の第７章に、これらトレードオフがより詳細に説明されており、参考例としてここに挙げておく。
【００３３】
従って、図２を参照すれば、本発明の一実施例に係るプログラマブルロジックデバイスのアーキテクチャは、その概要が数字２０で表現される。論理ブロック１２は規則的な配列になるよう配置され、相互接続リソースは、論理ブロック１２の周りにネットワークを形成する行と列として概略的に示される。相互接続リソースは、スイッチ、配線、及び論理ブロックに相互接続するインターフェースを含む。図２の概略図において、速度に関し最適化される配線は濃い黒色の線で示し、一方、面積密度に関し最適化される配線は淡い黒色の線で示す。高速配線は、低速配線より更に互いの間隔を取っている。広く離間した配線２４は、全配線の一部分であり、動作速度の向上のため互いに離間している。狭く離間した配線２６は最小距離で離間させ、回路の正常動作を可能とし、プログラマブルロジックデバイスの表面積を最適化する。
【００３４】
図３は、現実的なプログラマブルロジックデバイスのアーキテクチャで実現される際の２０個のベンチマーク回路の１組により達成する平均速度を示す。縦軸は臨界経路遅延を示す。横軸は、広い間隔でレイアウトした経路トラックの一部を示す。好適な実施例において、この幅は、２．５ミクロンオーダーのプログラマブルロジックデバイスの製造工程で許容される最小スペースより大きい。残りのトラックは、回路の正常動作を可能とするための最小間隔でレイアウトする。好適な実施例において、この最小幅は、０．５ミクロンオーダーのプログラマブルロジックデバイスの製造工程で許容される最小スペースに等しい。
【００３５】
グラフから以下の事項を確認できる。全ての配線の間隔が広いプログラマブルロジックデバイスは、全ての配線の間隔が最小のプログラマブルロジックデバイスより１５％速い。しかしながら、トラックの約２０％の間隔が広い場合、１３％の回路の速度向上が得られる。従って、経路トラックのたった２０％の間隔を増大することで、必要な金属領域の面積の増加を最小にすると共に、達成可能な速度上昇を殆ど全てもちあわせている。
【００３６】
２０％が、ＦＰＧＡの速度を最大にし、面積を最小にするのに使用するのに最適の割合であるとすると、必ずしも正確には２０％である必要はない。正確な割合は、プログラマブルロジックデバイスの製造工程と、プログラマブルロジックデバイスの設計者に依存する。プログラマブルロジックデバイスの設計者は、配線を２０％広げるのに必要なスペースは、結果として得られる速度向上とのあまりにも大きなトレードオフであり、従って、少ない割合の配線を広げることを決定するかもしれない。逆に言えば、設計者は、面積の増加は高速を得るためのトレードオフとして価値があるとして大きな割合の配線を広げる決定をするかもしれない。従って、プログラマブルロジックデバイスは回路の様々な変更を実現するための自由度をもちあわせている。
【００３７】
代替の実施例において、好適な実施例で記載したのと同様の結果を達成することができる。前述したように、配線間の間隔に加え、回路速度に影響を与える要因の幾つかは、配線幅、スイッチのサイズ、論理ブロックのサイズ、スイッチの回路設計、論理ブロックと相互接続と間のインターフェースの回路設計等である。前述と同様の方法で、これら要因全てに関し、面積の最小限の増加でプログラマブルロジックデバイスの速度向上が可能となる。
【００３８】
実施例の１つのシナリオとして、１つの相互接続リソースの一部が速度に関し最適化され、残りの部分は面積に関し最適化される。残りの相互接続リソースは、速度と面積との相互関係に基づき（リソースにより）一定幅又は一定間隔で実現される。例えば、スイッチの一部のサイズを変えると共に、回路中の配線の幅および配線の間隔を等しく保つことが可能となる。従って、前述したように、プログラマブルロジックデバイスは最小面積で最大速度を達成すると共に、回路の様々な設計変更を行うための自由度を持ち合わせる。回路上の全ての構成要素は、完全に同一の効果を持ち合わせていないかもしれない。構成要素中で速度に関し最適化する必要のある部分は、構成要素により異なるかもしれない。
【００３９】
更なる実施例において、複数の構成要素が同時に最適化される。例えば、スイッチサイズの一部と配線幅の一部が共に増加され、可能な速度上昇のうち大部分の速度上昇を得るために使用する面積を最適化する。この実施例は、二つの構成要素の組み合わせに限定されない。むしろ、構成要素の数として可能な数の構成要素の全てを同時に最適化してもよい。
【００４０】
図２を参照すれば、相互接続リソースは、複数の相互接続導体又は配線を含む。選択された第１の部分の隣接する導体間の間隔は、残りの部分の導体間の間隔より狭い。更に間隔を広げた配線は、近接した間隔の配線より結合容量がずっと低い。より低い結合容量は、配線の信号遅延を減少させ、かつプログラマブルロジックデバイスで実現される回路の達成可能な速度を増大させる。大きな金属ピンにより増大した金属領域面積（減少した配線密度）が損失であり、このことは、概ねプログラマブルロジックデバイスの面積を増大させる。
【００４１】
更なる実施例において、相互配線リソースは、第１及び第２のタイプの複数の相互接続導体又は配線を含み、第１のタイプは、第２のタイプと導体幅が異なる。大きな幅を有する配線は小さな抵抗を有し、とりわけ長い配線において大きな速度を有する。大きな金属ピンにより増大した金属領域面積（減少した配線密度）が損失であり、このことは、概ねプログラマブルロジックデバイスの面積を増大させる。
【００４２】
更なる実施の形態によれば、相互接続リソースは、複数の相互接続導体又は配線を含み、経路配線は第１又は第２のいずれかのタイプを有するスイッチで結合される。第１のタイプのスイッチは、第２のタイプのスイッチとサイズが異なる。これらスイッチの駆動力を増大することで、経路配線容量を充放電するのに必要な時間が減少する。最終結果として速度が増加する。これら大きなスイッチが必要とする活性領域の増大が損失であり、このことは、概ねプログラマブルロジックデバイスの面積を増大させる。
【００４３】
図４(a) 及び図４(b) に概略的に示す更なる実施の形態によれば、相互接続リソースは、相互接続導体又は配線を結合する複数のマルチプレクサ又はトリステートバッファスイッチを含み、第１のタイプのマルチプレクサ又はトリステートバッファは、第２のタイプのマルチプレクサ又はトリステートバッファと異なるスイッチトポロジーを有する。好適な実施の形態によれば、マルチプレクサ又はトリステートバッファスイッチは、幾つかのスイッチに関し最も高速にするような回路トポロジーを有すると共に、他のスイッチに関しては最も面積効率の高いトポロジーを有する。例えば、１６：１マルチプレクサを、１６個の独立したパストランジスタ（単一段の１６：１マルチプレクサ）で実現しても良いし、或いは４段に縦列接続した２：１マルチプレクサの１組で実現しても良い。単一段の１６：１マルチプレクサは速度の点では好ましいが、大きな面積を必要とする。
【００４４】
更なる実施の形態によれば、図５に示すように、相互接続リソースは、相互接続導体又は配線に接続する複数の経路スイッチを含む。第１又は第２のタイプのスイッチは群を形成するよう配置され、それぞれ数が異なる。従って、幾つかの経路配線に接続される経路スイッチの数を減少させることで、配線の容量負荷が減少する。例えば、幾つかの経路配線は、それらを駆動する２０個の経路スイッチを有していてもよく、他のものは、たった１０個でもよい。少数のスイッチで駆動される配線は、より高速である。なぜなら、スイッチによる寄生負荷が少なく、配線ごとに必要なスイッチの面積が少ないからである。少数のスイッチに接続される配線が経路自由度を減少させることは損失であり、多くの経路スイッチに経路配線を接続するよう多くの異なる構成に加えることは出来ない。仮にあまりにも多くの配線の経路自由度が減少した場合、プログラマブルロジックデバイスの配線の可能性に非常に大きな影響がある。すなわち、多くの応用回路をプログラマブルロジックデバイスの経路からはずすか（動作させないか）、或いは、より多くの経路配線を自由度の減少を補償するためプログラマブルロジックデバイスに追加する必要がある。より多くの経路配線を自由度の減少を補償するためプログラマブルロジックデバイスに追加することで、プログラマブルロジックデバイスの自由度が増加する。幾つかの経路配線にのみ接続されるスイッチの数を減少することで、プログラマブルロジックデバイスの自由度を過度に削減することなく、配線に加わる負荷をより軽くし、配線速度を増加させることが可能になる。この手法により、幾つかのスイッチの数を減少することで、面積を抑制することが可能になる。
【００４５】
更なる実施の形態によれば、図６(a) 及び図６(b) に示すように、相互接続リソースは、論理ブロック又はＩ／Ｏブロックへの超高速経路を有する複数の経路配線を含む。これは、経路配線と論理ブロック（又はＩ／Ｏブロック）の入力ピンの間のマルチプレクサが非平衡のツリー状トポロジーを有することで達成される。超高速経路は、正規の配線よりも少ない多重化の段数を介しマルチプレクサの入力へ接続される。最終的に得られる結果として、配線の幾つかの部分が論理ブロックの入力ピンへの超高速経路を有する。経路配線の１部のみが、論理ブロックの入力ピンへの超高速経路を利用するが、ツリーを非平衡とすることで、マルチプレクサへの入力の複数の部分（常に半分未満）を超高速にすることは、単純には可能ではない（図５参照）。
【００４６】
更なる実施の形態によれば、プログラマブルロジックデバイスが、論理ブロックへの超高速経路を有する経路配線のグループを含む。論理ブロックは、超高速経路への専用の入力を有する。論理ブロック上の特殊入力ピンにこれら配線を接続することで、これら入力ピンを少数の経路配線で駆動することが可能となり、従って、それらと経路配線との間のマルチプレクサをより小さく（高速に）することができる。このような超高速入力ピンの数を制限し、（殆どの入力ピンは高い自由度を有するので、マルチプレクサは大きくかつ低速であり）、図７に示すように、プログラマブルロジックデバイスの経路自由度を小さく保つ。
【００４７】
更なる実施の形態によれば、プログラマブルロジックデバイスは、論理ブロック又はＩ／Ｏブロックの出力ピンにより超低遅延で駆動する配線を含む。これは、超内在遅延を有しかつ少ない段数を有する分離した出力ピンドライバを使用することで達成可能である。段数が少ないので、出力バッファは、標準的な出力ピンドライバより駆動力が低く、従って、論理ブロックドライバが通常駆動する配線の副次的な１組のみを駆動することが重要である。より多くの段数を有する別のドライバーを使用し、正規の経路配線を駆動し、図８に示すように、経路自由度の損失を回避する。
【００４８】
更なる実施の形態によれば、故障を回避するため幾つかの配線を最適化することで、ヘテロ性を更に拡張する。この実施の形態においては、プログラマブルロジックデバイスは、増大した間隔を有する配線を有するか、又はそれら配線の間にグランドされたシールド配線を有するか、或いは差動信号を使用することで、意図しない遷移や配線不良を抑制する。例えば、１配線上のスイッチ遷移により、寄生結合による隣接する配線上の意図しない遷移を引き起こさないよう、閾値以下で、プログラマブルロジックデバイスの隣接配線間のクロストークを低減することがしばしば必要となる。意図しない遷移又は故障により、プログラマブルロジックデバイスで実現される回路が誤動作を起すこととなる。もし、（典型的には配線間の間隔を増大するか、これら配線間にグランドされたシールド配線を付加するか、或いは、差動信号を使用することで）相互接続配線の一部のみが故障の無いよう設計される場合、プログラマブルロジックデバイスは、必要とする面積の顕著な増加を伴わずに、高い信頼性を有する動作を行うことが可能となる。この特徴を利用し、プログラマブルロジックデバイスの回路の配置配線を行うために使用するコンピュータ支援設計ツールは、経路配線に不良が無いことを認識し、かつ、（ユーザが入力するか、或いは回路ネットリストを解析することで、クロック信号や非同期制御信号のような）クリティカル信号を不良の無い配線上のみに知的に経路するのに十分賢くなければならない。
【００４９】
本発明は、特定の実施の形態を参照して説明したが、当業者にとって、添付する請求の範囲に概要した本発明の精神や範囲を逸脱しない範囲で種々の変更が可能であることは言うまでもない。
【図面の簡単な説明】
【図１】  先行技術に係る典型的なプログラマブルロジックデバイスのアーキテクチャのブロック図である。
【図２】  本発明の一実施例に係るプログラマブルロジックデバイスのアーキテクチャのブロック図である。
【図３】  回路の速度と、広く離間するよう分割したトラックとの相関関係を示すグラフである。
【図４（ａ） 】  高速マルチプレクサの概略図である。
【図４（ｂ） 】  低速マルチプレクサの概略図である。
【図５】  接続配線の数が異なるプログラマブルロジックデバイスのアーキテクチャの概略図である。
【図６（ａ） 】  平衡マルチプレクサの概略図である。
【図６（ｂ） 】  本発明の一実施例に係る非平衡マルチプレクサの概略図である。
【図７】  論理ブロックへのヘテロ型入力を示す概略図である。
【図８】  論理ブロックの出力と経路配線との間のヘテロ型インターフェースの概略図である。
【図１】
0004847663.tif 000002
【図２】
0004847663.tif 000003
【図３】
0004847663.tif 000004
【図４（ａ）】
0004847663.tif 000005
【図４（ｂ）】
0004847663.tif 000006
【図５】
0004847663.tif 000007
【図６（ａ）】
0004847663.tif 000008
【図６（ｂ）】
0004847663.tif 000009
【図７】
0004847663.tif 000010
【図８】
0004847663.tif 000011