(57)【要約】ＦＰＧＡは、相互接続リソースが２つのグループに分けられたプログラム可能相互接続構造を含む。相互接続リソースの第１のサブセットは高スピードに対して最適化される。相互接続リソースの第２のサブセットは低電力消費に対して最適化される。実施例によっては、第１および第２のサブセットのトランジスタは異なるしきい値電圧を有する。スピードに対して最適化されている第１のサブセットのトランジスタは、低電力消費に対して最適化される第２のサブセットのトランジスタより低いしきい値電圧を有する。しきい値電圧の差は、異なるドーピングレベル、異なる電圧レベルにバイアスされた井戸を使用することによって、または他の既知の手段を使用することによって実現可能である。実施例によっては、相互接続リソースの第１のサブセットは、第２のサブセットより高い電圧レベルに結合されたバッファを含む。実施例によっては、第１のサブセットは、第２のサブセットのものより大きいトランジスタを使用して製造されたバッファを含む。
2006522563.tif 000002
【特許請求の範囲】
【請求項１】
フィールドプログラマブルゲートアレイ（ＦＰＧＡ）であって、
複数の構成可能な論理ブロック（ＣＬＢ）と、
前記ＣＬＢをプログラム可能に相互接続する複数の相互接続リソースとを含み、
前記相互接続リソースは相互接続リソースの第１および第２のセットを含み、
前記第１のセットの前記相互接続リソースは高スピードに対して最適化され、
前記第２のセットの前記相互接続リソースは低電力消費に対して最適化される、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）。
【請求項２】
前記第１のセットの前記相互接続リソースは第１のトランジスタのセットを含み、
前記第２のセットの前記相互接続リソースは第２のトランジスタのセットを含み、
前記第１のトランジスタは前記第２のトランジスタより低い有効しきい値電圧を有する、請求項１に記載のＦＰＧＡ。
【請求項３】
前記第１のトランジスタおよび前記第２のトランジスタは、異なるドーピングレベルを有する、請求項２に記載のＦＰＧＡ。
【請求項４】
前記第１のトランジスタおよび前記第２のトランジスタは、異なる電圧レベルにバイアスされた井戸に位置付けられる、請求項２に記載のＦＰＧＡ。
【請求項５】
前記第１のセットの前記相互接続リソースは第１の電源に結合された第１のバッファのセットを含み、
前記第２のセットの前記相互接続リソースは第２の電源に結合された第２のバッファのセットを含み、
前記第１の電源は前記第２の電源より高い電圧レベルを供給する、請求項１に記載のＦＰＧＡ。
【請求項６】
前記第１のセットの前記相互接続リソースは第１のバッファのセットを含み、
前記第２のセットの前記相互接続リソースは第２のバッファのセットを含み、
前記第１のバッファは前記第２のバッファより大きいトランジスタを含む、請求項１に記載のＦＰＧＡ。
【請求項７】
前記第１のセットの前記相互接続リソースは複数のバッファされた相互接続線を含み、
前記第２のセットの前記相互接続リソースは複数のバッファされない相互接続線を含む、請求項１に記載のＦＰＧＡ。
【請求項８】
フィールドプログラマブルゲートアレイ（ＦＰＧＡ）でユーザ回路をルーティングする方法であって、
前記ユーザ回路でクリティカルパスのセットを決定するステップと、
前記ユーザ回路で非クリティカルパスのセットを決定するステップと、
前記ＦＰＧＡで高スピードに対して最適化された相互接続リソースの第１のセットを決定するステップと、
前記ＦＰＧＡで低電力に対して最適化された相互接続リソースの第２のセットを決定するステップと、
クリティカルパスの前記セット内の各経路を前記第１のセットの前記相互接続リソースの少なくとも１つに割当てるステップとを含む、方法。
【請求項９】
非クリティカルパスの前記セット内の各経路を前記第２のセットの前記相互接続リソースの少なくとも１つに割当てるステップをさらに含む、請求項８に記載の方法。
【請求項１０】
非クリティカルパスの前記セット内の各経路を前記第１および第２のセットのうちの１つの前記相互接続リソースの少なくとも１つに割当てるステップをさらに含む、請求項８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の分野
この発明は、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）に関する。特に、この発明は、スピードに対して最適化された相互接続リソースおよび低電力消費に対して最適化された相互接続リソースの両方を含むＦＰＧＡアーキテクチャに関する。
【背景技術】
【０００２】
発明の背景
プログラム可能論理装置（ＰＬＤ）は、指定された論理機能を行なうようにプログラム可能な周知の種類のデジタル集積回路である。１つの種類のＰＬＤ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）は、典型的には構成可能な論理ブロック（ＣＬＢ）およびプログラム可能入出力ブロック（ＩＯＢ）のアレイを含む。ＣＬＢおよびＩＯＢは、プログラム可能相互接続構造によって相互接続される。ＦＰＧＡの中には特別な目的を備えた付加的な論理ブロックを含むものもある（たとえば、ＤＬＬ、ＲＡＭ等）。
【０００３】
相互接続構造、ＣＬＢ、ＩＯＢ、および他の論理ブロックは、構成データのストリーム（ビットストリーム）を、論理ブロックおよび相互接続がどのように構成されるかを規定する内部構成メモリセルにロードすることによって典型的にはプログラムされる。構成データは、メモリ（たとえば、外部ＰＲＯＭ）から読出すかまたは外部装置によってＦＰＧＡに書込むことができる。個々のメモリセルの集合的な状態がＦＰＧＡの機能を決定する。
【０００４】
１つのそのようなＦＰＧＡ、Xilinx Virtex（登録商標）-II  ＦＰＧＡは、９５１２４
カリフォルニア州、サン・ノゼ、２１００  ロジック・ドライブのザイリンクス・インコーポレイテッド（Xilinx, Inc.）から利用可能な２０００年１２月に発行された“Virtex-II Platform FPGA Handbook”の３３〜７５ページに詳細に説明されている。
【０００５】
図１は、典型的なＦＰＧＡのアーキテクチャを示す。図１のＦＰＧＡは、プログラム可能相互接続構造によって相互接続された論理ブロック（たとえば、ＣＬＢ  １０１ａ〜１０１ｉ）のアレイを含む。相互接続構造は、プログラム可能スイッチ（１０２ａ〜１０２ｉ）によってともに結合された相互接続線（１０３ａ〜１０３ｉ、１０４ａ〜１０４ｉ）を含む。
【０００６】
多くのシステム設計者によって共有される１つの目標は、費用、電力消費、サイズ等を含むさまざまな設計上の考慮事項と一貫性のある最高の動作周波数を得ることである。したがって、図１のＦＰＧＡのように、高速のプログラム可能相互接続リソースを提供するための大きな動機がある。プログラム可能相互接続リソースのスピードを向上するためのいくつかの既知の方法がある。１つの一般的な方法は、たとえば、１つのＣＬＢ、２つのＣＬＢ、６つのＣＬＢ、ＣＬＢのアレイの半分等にわたって、さまざまな長さの相互接続線を含むことである。もう１つのアプローチは、相互接続リソースの一部を非プログラム可能にして、これらリソースを使用して実現される信号がプログラム可能スイッチを横断しないようにすることである。もう１つの方法は、抵抗を低減するために相互接続線を広くし、結合キャパシタンスを減少させるために相互接続線間により多くの空間を設ける等によって、スピードに対して相互接続リソースを最適化することである。
【０００７】
しかしながら、これら方法の各々は、シリコン領域の増加、ルーティングの柔軟性の減少等の面で犠牲を有する。したがって、一部の相互接続リソースがより高いスピードのた
めに変更され、他の相互接続リソースが変更されないアプローチが提案されている。たとえば、一部の相互接続線は広くかつ間隔が大きくてもよく、他の相互接続線は製造プロセスによって支持される最低限の幅および間隔を使用する。
【０００８】
図２は、２つの異なるスピードの相互接続リソースを使用して設計されたＦＰＧＡを示す。図２のＦＰＧＡは図１のものと類似であるが、相互接続線が高速および低速の相互接続線の両方を含むところが異なる。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
電力消費は、しばしばシステム設計者のもう１つの懸念事項である。電力消費は非プログラム可能装置よりプログラム可能装置で大きな問題になり得る。たとえば、ＦＰＧＡでは、各プログラム可能スイッチは関連するキャパシタンスを有し、これは電力の浪費の増加に繋がる。さらに、ＦＰＧＡは着実にサイズが大きくなっており、より多くの論理ブロックを支援している。ＦＰＧＡ内の論理ブロックの数が増加すると、各論理ブロックのために働くために必要な相互接続リソースの数は急速に増加する。したがって、今日の大型のＦＰＧＡは、以前の小型のＦＰＧＡより相互接続リソースに向けられるシリコン領域の割合が高い。したがって、現在のＦＰＧＡで浪費される電力の大半は、プログラム可能相互接続構造によって消費される。したがって、重要な信号のために高速の相互接続リソースが設けられるが、不必要に電力を消費しないプログラム可能相互接続構造を含むＦＰＧＡを提供することが望ましい。
【課題を解決するための手段】
【００１０】
発明の概要
この発明は、相互接続リソースが２つのグループに分けられるプログラム可能相互接続構造を有するＦＰＧＡを提供する。相互接続リソースの第１のサブセットは、高スピードに対して最適化される。相互接続リソースの第２のサブセットは、低電力消費に対して最適化される。実施例によっては、第１および第２のサブセットのトランジスタは、異なるしきい値電圧を有する。スピードに対して最適化されている第１のサブセットのトランジスタは、低電力消費に対して最適化される第２のサブセットのトランジスタより低いしきい値電圧を有する。しきい値電圧の差は、異なるドーピングレベル、または異なる電圧レベルにバイアスされた井戸などの周知の方法を使用して、もしくは他の手段によって実現され得る。実施例によっては、相互接続リソースは、さまざまな電圧レベル、トランジスタのサイズ等によって最適化されたバッファを含む。
【００１１】
この発明の一局面によると、ＦＰＧＡは複数の構成可能な論理ブロック（ＣＬＢ）、およびＣＬＢをプログラム可能に相互接続する複数の相互接続リソースを含む。相互接続リソースは、相互接続リソースの第１および第２のセットを含む。第１のセットの相互接続リソースは高スピードに対して最適化され、第２のセットの相互接続リソースは低電力消費に対して最適化される。
【００１２】
実施例によっては、第１のセットの相互接続リソースは第１のトランジスタのセットを含み、第２のセットの相互接続リソースは第２のトランジスタのセットを含む。第１のトランジスタは、第２のトランジスタより低い有効しきい値電圧を有する。より低い有効しきい値電圧は、相互接続リソースの第１のセットに対する高速の切換スピードに繋がる。しかしながら、漏れ電流が増加し、相互接続リソースの第１のセットの電力消費が増加する。実施例によっては、第１および第２のトランジスタは異なるドーピングレベルを有する。実施例によっては、第１および第２のトランジスタは異なる電圧レベルにバイアスされた井戸に位置付けられる。
【００１３】
実施例によっては、（スピードに対して最適化された）第１のセットの相互接続リソースは、第１の電源に結合された第１のバッファのセットを含む。（低電力消費に対して最適化された）第２のセットの相互接続リソースは、第２の電源に結合された第２のバッファのセットを含む。第１の電源は第２の電源より高い電圧レベルを供給し、リソースの第１のセットに高速の動作および高い電力消費の両方を与える。
【００１４】
実施例によっては、第１のサブセットは、第２のサブセットのものより大きいトランジスタを使用して製造されたバッファを含む。実施例によっては、第１のサブセットはバッファされた相互接続線を含み、第２のサブセットはバッファされない相互接続線を含む。
【００１５】
この発明の別の局面によると、ＦＰＧＡでユーザ回路を実現する方法は、ユーザ回路でクリティカルパスのセットを決定するステップと、ユーザ回路で非クリティカルパスのセットを決定するステップと、ＦＰＧＡで高スピードに対して最適化された相互接続リソースの第１のセットを決定するステップと、ＦＰＧＡで低電力に対して最適化された相互接続リソースの第２のセットを決定するステップと、クリティカルパスのセット内の各経路を第１のセットの相互接続リソースの１つに割当てるステップとを含む。
【００１６】
実施例によっては、非クリティカルパスのセット内の各経路は、第２のセットの相互接続リソースの１つに割当てられる。実施例によっては、各経路は、どちらかのセットから利用可能な残りの相互接続リソースに割当てられる。
【００１７】
実施例によっては、ＦＰＧＡで高スピードに対して最適化された相互接続リソースの第１のセットを決定するステップは、ＦＰＧＡに対して相互接続リソースの第１のセットを識別するコンピュータデータファイルを調べるステップを含む。
【００１８】
この発明の別の局面によると、ＦＰＧＡでユーザ回路を実現する方法は、ＦＰＧＡで高スピードに対して最適化された相互接続リソースの第１のセットを決定するステップと、ＦＰＧＡで低電力に対して最適化された相互接続リソースの第２のセットを決定するステップと、第１のより高い費用を第１のセットの相互接続リソースに割当てるステップと、第２のより低い費用を第２のセットの相互接続リソースに割当てるステップと、指定されたタイミングの要件を満たすように設計されたタイミング駆動ルーティングソフトウェアを使用しつつ、第１および第２のセットの相互接続リソースに割当てられた費用を利用して費用関数を最低限にして設計をルーティングするステップとを含む。費用関数は、少なくとも部分的に回路によって消費される電力の量に基づく。
【発明を実施するための最良の形態】
【００１９】
この発明を図面で限定ではなく、例によって説明する。
【００２０】
図面の詳細な説明
以下の説明では、この発明をさらに完全に理解できるように、さまざまな具体的な詳細を説明する。しかしながら、当業者には、この発明がこれら具体的な詳細なしに実現可能であることが明らかであろう。
【００２１】
図３は、スピードに対して最適化されたリソースの第１のセットおよび低電力消費に対して最適化されたリソースの第２のセットの２つの異なる種類の相互接続リソースを提供するＦＰＧＡアーキテクチャを示す。図３のＦＰＧＡは、プログラム可能相互接続構造によって相互接続された論理ブロック（ＣＬＢ  ３０１ａ〜３０１ｉ）のアレイを含む。相互接続構造は、プログラム可能スイッチ（３０２ａ〜３０２ｉ）によってともに結合された相互接続線（３０３ａ〜３０３ｉ、３０４ａ〜３０４ｉ、３１１ａ〜３１１ｉ、３１２ａ〜３１２ｉ）を含む。
【００２２】
図３の相互接続リソースの第１のセットは、相互接続線３０３ａ〜３０３ｉおよび３０４ａ〜３０４ｉを含む。さらに、相互接続リソースの第１のセットは、プログラム可能スイッチ３０２ａ〜３０２ｉの一部分を含み得る。リソースの第１のセットは高スピードに対して最適化される。たとえば、これらリソースは、相互接続リソースが典型的には高スピードに対して最適化される大半のＦＰＧＡで現在利用可能なものと同じであってもよい。たとえば、複数のＣＬＢを横断するために長い相互接続線を供給してもよく、これら長い相互接続線はバッファされ得る。
【００２３】
図３の相互接続リソースの第２のセットは、相互接続線３１１ａ〜３１１ｉおよび３１２ａ〜３１２ｉを含む。さらに、相互接続リソースの第２のセットは、プログラム可能スイッチ３０２ａ〜３０２ｉの一部分を含み得る。リソースの第２のセットは低電力消費に対して最適化される。実施例によっては、リソースの第２のセットの電力消費は、第２のセットのトランジスタの一部またはすべての有効しきい値電圧を上昇させることによって低減される。トランジスタの有効しきい値電圧を上昇させると、トランジスタの切換は低速化するが、漏れ電流は低減され、それによってトランジスタによる電力消費は低減される。
【００２４】
関連技術で周知のように、トランジスタの有効しきい値電圧は、いくつかの技術のうちのいずれかを使用して上昇させることができる。たとえば、トランジスタのしきい値電圧は、ＦＰＧＡの製造中にトランジスタ構造のドーピングレベルを変えることによって実際に低減することができる。トランジスタの実際のしきい値電圧を低減すると、有効しきい値電圧も低減することは明らかである。しかしながら、トランジスタのしきい値電圧は、他のトランジスタ（たとえば、相互接続リソースの第１のセット内のトランジスタ）によって使用される基板の電圧レベルとは異なる電圧レベルにバイアスされた井戸内にトランジスタを置くことによって実質的に低減することもできる。
【００２５】
図４は、図３のＦＰＧＡからの１つのタイルをより詳細に示す。図４のＦＰＧＡのタイルでは、プログラム可能スイッチ４０２は４つの領域４２１〜４２４を含む。図示の実施例では、領域４２１は、構成メモリセルＭ１、Ｍ２によって制御されるプログラム可能トライステートバッファＢ１、Ｂ２を含む。領域４２２は、構成メモリセルＭ３、Ｍ４によって制御されるプログラム可能トライステートバッファＢ３、Ｂ４を含む。領域４２３は、構成メモリセルＭ５、Ｍ６によって制御されるプログラム可能トライステートバッファＢ５、Ｂ６を含む。領域４２４は、構成メモリセルＭ７、Ｍ８によって制御されるプログラム可能トライステートバッファＢ７、Ｂ８を含む。（図４のバッファおよびメモリセルの各々は、実際のＦＰＧＡでこれら要素の多くがどのようであるかを表わす。）
図４の実施例では、高スピードに対して最適化された相互接続リソースの第１のセットは、相互接続線４０３、４０４、バッファＢ１、Ｂ２、および構成メモリセルＭ１、Ｍ２を含む。第１のセットは、バッファＢ３、Ｂ６および構成メモリセルＭ３、Ｍ６も含む。なぜなら、これらリソースは高スピードに対して最適化された相互接続線を駆動するからである。低電力に対して最適化された相互接続線の第２のセットは、相互接続線４１１、４１２、バッファＢ７、Ｂ８、および構成メモリセルＭ７、Ｍ８を含む。第２のセットは、バッファＢ４、Ｂ５および構成メモリセルＭ４、Ｍ５も含む。なぜなら、これらリソースは低電力に対して最適化された相互接続線を駆動するからである。
【００２６】
実施例によっては、リソースの第２のセットのトランジスタの一部またはすべては、第１のセットのトランジスタより高いしきい値電圧を有する。上述のように、このより高いしきい値電圧は、これらトランジスタの電力消費を低減する。
【００２７】
実施例によっては、第１のセットのバッファは、第２のセットのバッファとは異なる電
源に結合される。第１のセットのバッファは、バッファが動作するスピードを増加させるがバッファの電力消費も増加させるより高い電圧レベルを供給する電源に結合される。実施例によっては、第１のセットのバッファは、第２のセットのバッファに含まれる対応するトランジスタより大きいトランジスタを含む。したがって、第１のセットのバッファはより高スピードで切換わるが、第２のセットのバッファより多くの電力も消費する。
【００２８】
（図４に図示されない）一部の実施例では、高速の相互接続リソースはバッファされた相互接続線を含み、低電力の相互接続リソースはバッファされない相互接続線を含む。バッファされない相互接続線は低速であるが、電力消費が非常に少ない。
【００２９】
ユーザ回路内のどの信号を高スピードの相互接続リソースに割当てるべきか、およびどの信号が回路の性能に悪影響を及ぼすことなく低電力の相互接続リソースを利用できるかを決定するＦＰＧＡ実現ソフトウェアが提供されることが好ましい。現在利用可能なＦＰＧＡ実現ソフトウェアは、どの信号が回路の性能に非常に重要であり、どれが重要でないかを決定するタイミング駆動ルーティングツールを既に含む。このソフトウェアは、現在説明しているこの発明の方法を実現するために変更可能である。
【００３０】
図５は、この発明の実施例によるＦＰＧＡでユーザ回路をルーティングする方法のステップを示す。ステップ５０１〜５０４は、どのような順序で行なってもよく、または同時に行なってもよい。ステップ５０１では、ユーザ回路でクリティカルパスのセットが決定される。現在のタイミング駆動ルーティング方法のように、クリティカルパスはユーザ回路の動作スピードを決定する遅延を備えた経路であることが好ましい。ステップ５０２では、ユーザ回路で非クリティカルパスのセットが決定される。非クリティカルパスのセットは、たとえば、クリティカルパスのセットにないすべての経路であり得る。
【００３１】
ステップ５０３では、高スピードに対して最適化された相互接続リソースの第１のセットが決定される。たとえば、相互接続リソースの第１のセットは、第１のセットのリソースを識別するコンピュータデータファイルを調べることによって決定することができる。このファイルは、たとえば、ＦＰＧＡの販売業者によって供給することができ、ＦＰＧＡ実現ソフトウェアパッケージとともに含まれ得る。ステップ５０４では、低電力に対して最適化された相互接続リソースの第２のセットが決定される。たとえば、相互接続リソースの第２のセットは、第１のセットのリソースを識別する同じコンピュータデータファイルを調べることによって決定することができる。一実施例では、相互接続リソースの第２のセットは、第１のセットに含まれないすべての相互接続リソースに第２のセットを割当てることによって決定される。
【００３２】
ステップ５０５では、ステップ５０１で決定された各クリティカルパスが、ステップ５０３で決定されたリソースの第１のセットからの相互接続リソース、すなわち、高スピードの相互接続リソースに割当てられる。
【００３３】
実施例によっては、ステップ５０６では、ステップ５０２で決定された各非クリティカルパスは、ステップ５０４で決定されたリソースの第２のセットからの相互接続リソースに割当てられる。これら実施例では、ステップ５０５および５０６は、どのような順序で行なってもよく、または同時に行なってもよい。
【００３４】
実施例によっては、クリティカルパスを割当てた後（ステップ５０５）、ステップ５０７で、ステップ５０２で決定された各非クリティカルパスは、ステップ５０３および５０４で決定されたリソースの第１および第２のセットのうちのいずれかからの相互接続リソースに割当てられる。この方法は、ステップ５０６から生じる実現例より多く電力を消費する回路の実現例に繋がり得る。
【００３５】
この発明の一部の実施例によって、商業的に既に利用可能なルーティングソフトウェアの使用が可能になる。既存のタイミング駆動ルーティングソフトウェアは、最低の「費用」を有し、かつ設計に対して指定された要件を満たすルートが見つかるまで、さまざまなルートを評価する費用関数を典型的には使用する。この発明の一部の実施例によると、より高い費用は高スピードに対して最適化された相互接続リソースに割当てられ、より低い費用は低電力に対して最適化された相互接続リソースに割当てられる。したがって、タイミング駆動ルーティングソフトウェアは、電力を最低限にしつつ、回路に対して指定されたタイミング要件を満たすために、２つの異なる種類のルーティングリソースに信号を割当てるように標準の費用関数を利用する。
【００３６】
図６は、１つのそのような方法のステップを示す。ステップ６０１では、高スピードに対して最適化されるルーティングリソースの第１のセットが決定される。たとえば、相互接続リソースの第１のセットは、第１のセットのリソースを識別するコンピュータデータファイルを調べることによって決定することができる。このファイルは、たとえば、ＦＰＧＡの販売業者によって供給することができ、ＦＰＧＡ実現ソフトウェアパッケージとともに含まれ得る。ステップ６０２では、低電力に対して最適化された相互接続リソースの第２のセットが決定される。たとえば、相互接続リソースの第２のセットは、第１のセットのリソースを識別する同じコンピュータデータファイルを調べることによって決定することができる。一実施例では、相互接続リソースの第２のセットは、第１のセットに含まれないすべての相互接続リソースを第２のセットに割当てることによって決定される。ステップ６０１および６０２は、どのような順序で行なってもよく、または同時に行なってもよい。
【００３７】
ステップ６０３では、第１のより高い費用が第１のセットのリソースに割当てられる。ステップ６０４では、第２のより低い費用が第２のセットのリソースに割当てられる。ステップ６０３および６０４は、どのような順序で行なってもよく、または同時に行なってもよい。ステップ６０５では、設計をルーティングするためにタイミング駆動ルーティングソフトウェアが使用される。ルーティングソフトウェアは、指定されたタイミング要件を満たしつつ、第１および第２のセットの相互接続リソースに割当てられた費用を利用して費用関数を最小限にするように設計される。したがって、費用関数の使用は、回路によって消費される電力の量を最低限にする。
【００３８】
この発明の方法は、現在それらの言葉が当該技術分野で知られるように、ハードウェア、ソフトウェアまたはそれらの組合せで行なうことができる。具体的には、この発明の方法は、任意の種類のコンピュータで動作するソフトウェア、ファームウェアまたはマイクロコードによって実行可能である。さらに、この発明を実現するソフトウェアは、任意のコンピュータ読取可能な媒体（たとえば、ＲＯＭ、ＲＡＭ、磁気媒体、孔を空けられたテープまたはカード、任意の形のコンパクトディスク（ＣＤ）、ＤＶＤ等）に記憶された任意の形のコンピュータの命令（たとえば、ソースコード、目的コード、翻訳されたコード等）を含み得る。さらに、そのようなソフトウェアは、インターネットに接続されたコンピュータ間で伝送される周知のウェブページ内で見られるような搬送波で実現されるコンピュータデータ信号の形であってもよい。したがって、この発明は、特定のプラットホームに限定されない。
【００３９】
この発明の関連技術の当業者は、この開示の結果としてなされ得るさまざまな変形例および追加を認識するであろう。たとえば、この発明を実現するために、ここに説明されるもの以外の、プログラム可能相互接続構造、相互接続線、プログラム可能スイッチ、論理ブロック、構成可能な論理ブロック、入出力ブロック、ＦＰＧＡ、トランジスタ、バッファ、トライステートバッファ、構成メモリセルおよび他の構成要素を使用可能である。し
たがって、そのようなすべての変形例および追加は、特許請求の範囲およびその均等物によってのみ限定されるこの発明の範囲内にあるものとみなされる。
【図面の簡単な説明】
【００４０】
【図１】高速の相互接続リソースのみを含む先行技術のＦＰＧＡのアーキテクチャの図である。
【図２】高速および低速の相互接続リソースの両方を含む先行技術のＦＰＧＡのアーキテクチャの図である。
【図３】この発明の実施例による高スピードおよび低電力に対して別々に最適化された相互接続リソースを含むＦＰＧＡのアーキテクチャの図である。
【図４】この発明の実施例による図３のＦＰＧＡからのＦＰＧＡタイルのブロック図である。
【図５】この発明の実施例によるＦＰＧＡでユーザ回路をルーティングする方法のステップを示すフロー図である。
【図６】この発明の別の局面によるＦＰＧＡでユーザ回路をルーティングする方法のステップの図である。
【図１】
2006522563.tif 000003
【図２】
2006522563.tif 000004
【図３】
2006522563.tif 000005
【図４】
2006522563.tif 000006
【図５】
2006522563.tif 000007
【図６】
2006522563.tif 000008
【手続補正書】
【提出日】平成16年9月27日(2004.9.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プログラム可能論理装置（ＰＬＤ）であって、
複数の論理ブロックと、
前記論理ブロックを相互接続する複数のプログラム可能相互接続リソースとを含み、
前記相互接続リソースは相互接続リソースの第１および第２のセットを含み、
前記第１のセットの前記相互接続リソースは高スピードに対して構成および配置され、
前記第２のセットの前記相互接続リソースは低電力消費に対して構成および配置され、
前記第１のセットの前記相互接続リソースは第１のトランジスタのセットを含み、
前記第２のセットの前記相互接続リソースは第２のトランジスタのセットを含み、
前記第１のトランジスタは前記第２のトランジスタより低い有効しきい値電圧を有する、プログラム可能論理装置（ＰＬＤ）。
【請求項２】
前記第１のトランジスタおよび前記第２のトランジスタは、異なるドーピングレベルを有する、請求項１に記載のＰＬＤ。
【請求項３】
前記第１のトランジスタおよび前記第２のトランジスタは、異なる電圧レベルにバイアスされた井戸に位置付けられる、請求項１に記載のＰＬＤ。
【請求項４】
前記第１のセットの前記相互接続リソースは第１の電源に結合された第１のバッファのセットを含み、
前記第２のセットの前記相互接続リソースは第２の電源に結合された第２のバッファのセットを含み、
前記第１の電源は前記第２の電源より高い電圧レベルを供給する、請求項１に記載のＰＬＤ。
【請求項５】
前記第１のセットの前記相互接続リソースは第１のバッファのセットを含み、
前記第２のセットの前記相互接続リソースは第２のバッファのセットを含み、
前記第１のバッファは前記第２のバッファより大きいトランジスタを含む、請求項１に
記載のＰＬＤ。
【請求項６】
前記第１のセットの前記相互接続リソースは複数のバッファされた相互接続線を含み、
前記第２のセットの前記相互接続リソースは複数のバッファされない相互接続線を含む、請求項１に記載のＰＬＤ。
【国際調査報告】
2006522563.tif 000009
2006522563.tif 000010
2006522563.tif 000011