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