JP2006522563A - 混合された相互接続リソースを備えたfpgaアーキテクチャ - Google Patents
混合された相互接続リソースを備えたfpgaアーキテクチャ Download PDFInfo
- Publication number
- JP2006522563A JP2006522563A JP2006508983A JP2006508983A JP2006522563A JP 2006522563 A JP2006522563 A JP 2006522563A JP 2006508983 A JP2006508983 A JP 2006508983A JP 2006508983 A JP2006508983 A JP 2006508983A JP 2006522563 A JP2006522563 A JP 2006522563A
- Authority
- JP
- Japan
- Prior art keywords
- interconnect
- fpga
- resources
- interconnect resources
- optimized
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 239000000872 buffer Substances 0.000 claims abstract description 32
- 238000000034 method Methods 0.000 claims description 19
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 238000007792 addition Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17736—Structural details of routing resources
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/1778—Structural details for adapting physical parameters
- H03K19/17784—Structural details for adapting physical parameters for supply voltage
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/1778—Structural details for adapting physical parameters
- H03K19/17792—Structural details for adapting physical parameters for operating speed
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Logic Circuits (AREA)
Abstract
FPGAは、相互接続リソースが2つのグループに分けられたプログラム可能相互接続構造を含む。相互接続リソースの第1のサブセットは高スピードに対して最適化される。相互接続リソースの第2のサブセットは低電力消費に対して最適化される。実施例によっては、第1および第2のサブセットのトランジスタは異なるしきい値電圧を有する。スピードに対して最適化されている第1のサブセットのトランジスタは、低電力消費に対して最適化される第2のサブセットのトランジスタより低いしきい値電圧を有する。しきい値電圧の差は、異なるドーピングレベル、異なる電圧レベルにバイアスされた井戸を使用することによって、または他の既知の手段を使用することによって実現可能である。実施例によっては、相互接続リソースの第1のサブセットは、第2のサブセットより高い電圧レベルに結合されたバッファを含む。実施例によっては、第1のサブセットは、第2のサブセットのものより大きいトランジスタを使用して製造されたバッファを含む。
Description
発明の分野
この発明は、フィールドプログラマブルゲートアレイ(FPGA)に関する。特に、この発明は、スピードに対して最適化された相互接続リソースおよび低電力消費に対して最適化された相互接続リソースの両方を含むFPGAアーキテクチャに関する。
この発明は、フィールドプログラマブルゲートアレイ(FPGA)に関する。特に、この発明は、スピードに対して最適化された相互接続リソースおよび低電力消費に対して最適化された相互接続リソースの両方を含むFPGAアーキテクチャに関する。
発明の背景
プログラム可能論理装置(PLD)は、指定された論理機能を行なうようにプログラム可能な周知の種類のデジタル集積回路である。1つの種類のPLD、フィールドプログラマブルゲートアレイ(FPGA)は、典型的には構成可能な論理ブロック(CLB)およびプログラム可能入出力ブロック(IOB)のアレイを含む。CLBおよびIOBは、プログラム可能相互接続構造によって相互接続される。FPGAの中には特別な目的を備えた付加的な論理ブロックを含むものもある(たとえば、DLL、RAM等)。
プログラム可能論理装置(PLD)は、指定された論理機能を行なうようにプログラム可能な周知の種類のデジタル集積回路である。1つの種類のPLD、フィールドプログラマブルゲートアレイ(FPGA)は、典型的には構成可能な論理ブロック(CLB)およびプログラム可能入出力ブロック(IOB)のアレイを含む。CLBおよびIOBは、プログラム可能相互接続構造によって相互接続される。FPGAの中には特別な目的を備えた付加的な論理ブロックを含むものもある(たとえば、DLL、RAM等)。
相互接続構造、CLB、IOB、および他の論理ブロックは、構成データのストリーム(ビットストリーム)を、論理ブロックおよび相互接続がどのように構成されるかを規定する内部構成メモリセルにロードすることによって典型的にはプログラムされる。構成データは、メモリ(たとえば、外部PROM)から読出すかまたは外部装置によってFPGAに書込むことができる。個々のメモリセルの集合的な状態がFPGAの機能を決定する。
1つのそのようなFPGA、Xilinx Virtex(登録商標)-II FPGAは、95124
カリフォルニア州、サン・ノゼ、2100 ロジック・ドライブのザイリンクス・インコーポレイテッド(Xilinx, Inc.)から利用可能な2000年12月に発行された“Virtex-II Platform FPGA Handbook”の33〜75ページに詳細に説明されている。
カリフォルニア州、サン・ノゼ、2100 ロジック・ドライブのザイリンクス・インコーポレイテッド(Xilinx, Inc.)から利用可能な2000年12月に発行された“Virtex-II Platform FPGA Handbook”の33〜75ページに詳細に説明されている。
図1は、典型的なFPGAのアーキテクチャを示す。図1のFPGAは、プログラム可能相互接続構造によって相互接続された論理ブロック(たとえば、CLB 101a〜101i)のアレイを含む。相互接続構造は、プログラム可能スイッチ(102a〜102i)によってともに結合された相互接続線(103a〜103i、104a〜104i)を含む。
多くのシステム設計者によって共有される1つの目標は、費用、電力消費、サイズ等を含むさまざまな設計上の考慮事項と一貫性のある最高の動作周波数を得ることである。したがって、図1のFPGAのように、高速のプログラム可能相互接続リソースを提供するための大きな動機がある。プログラム可能相互接続リソースのスピードを向上するためのいくつかの既知の方法がある。1つの一般的な方法は、たとえば、1つのCLB、2つのCLB、6つのCLB、CLBのアレイの半分等にわたって、さまざまな長さの相互接続線を含むことである。もう1つのアプローチは、相互接続リソースの一部を非プログラム可能にして、これらリソースを使用して実現される信号がプログラム可能スイッチを横断しないようにすることである。もう1つの方法は、抵抗を低減するために相互接続線を広くし、結合キャパシタンスを減少させるために相互接続線間により多くの空間を設ける等によって、スピードに対して相互接続リソースを最適化することである。
しかしながら、これら方法の各々は、シリコン領域の増加、ルーティングの柔軟性の減少等の面で犠牲を有する。したがって、一部の相互接続リソースがより高いスピードのた
めに変更され、他の相互接続リソースが変更されないアプローチが提案されている。たとえば、一部の相互接続線は広くかつ間隔が大きくてもよく、他の相互接続線は製造プロセスによって支持される最低限の幅および間隔を使用する。
めに変更され、他の相互接続リソースが変更されないアプローチが提案されている。たとえば、一部の相互接続線は広くかつ間隔が大きくてもよく、他の相互接続線は製造プロセスによって支持される最低限の幅および間隔を使用する。
図2は、2つの異なるスピードの相互接続リソースを使用して設計されたFPGAを示す。図2のFPGAは図1のものと類似であるが、相互接続線が高速および低速の相互接続線の両方を含むところが異なる。
電力消費は、しばしばシステム設計者のもう1つの懸念事項である。電力消費は非プログラム可能装置よりプログラム可能装置で大きな問題になり得る。たとえば、FPGAでは、各プログラム可能スイッチは関連するキャパシタンスを有し、これは電力の浪費の増加に繋がる。さらに、FPGAは着実にサイズが大きくなっており、より多くの論理ブロックを支援している。FPGA内の論理ブロックの数が増加すると、各論理ブロックのために働くために必要な相互接続リソースの数は急速に増加する。したがって、今日の大型のFPGAは、以前の小型のFPGAより相互接続リソースに向けられるシリコン領域の割合が高い。したがって、現在のFPGAで浪費される電力の大半は、プログラム可能相互接続構造によって消費される。したがって、重要な信号のために高速の相互接続リソースが設けられるが、不必要に電力を消費しないプログラム可能相互接続構造を含むFPGAを提供することが望ましい。
発明の概要
この発明は、相互接続リソースが2つのグループに分けられるプログラム可能相互接続構造を有するFPGAを提供する。相互接続リソースの第1のサブセットは、高スピードに対して最適化される。相互接続リソースの第2のサブセットは、低電力消費に対して最適化される。実施例によっては、第1および第2のサブセットのトランジスタは、異なるしきい値電圧を有する。スピードに対して最適化されている第1のサブセットのトランジスタは、低電力消費に対して最適化される第2のサブセットのトランジスタより低いしきい値電圧を有する。しきい値電圧の差は、異なるドーピングレベル、または異なる電圧レベルにバイアスされた井戸などの周知の方法を使用して、もしくは他の手段によって実現され得る。実施例によっては、相互接続リソースは、さまざまな電圧レベル、トランジスタのサイズ等によって最適化されたバッファを含む。
この発明は、相互接続リソースが2つのグループに分けられるプログラム可能相互接続構造を有するFPGAを提供する。相互接続リソースの第1のサブセットは、高スピードに対して最適化される。相互接続リソースの第2のサブセットは、低電力消費に対して最適化される。実施例によっては、第1および第2のサブセットのトランジスタは、異なるしきい値電圧を有する。スピードに対して最適化されている第1のサブセットのトランジスタは、低電力消費に対して最適化される第2のサブセットのトランジスタより低いしきい値電圧を有する。しきい値電圧の差は、異なるドーピングレベル、または異なる電圧レベルにバイアスされた井戸などの周知の方法を使用して、もしくは他の手段によって実現され得る。実施例によっては、相互接続リソースは、さまざまな電圧レベル、トランジスタのサイズ等によって最適化されたバッファを含む。
この発明の一局面によると、FPGAは複数の構成可能な論理ブロック(CLB)、およびCLBをプログラム可能に相互接続する複数の相互接続リソースを含む。相互接続リソースは、相互接続リソースの第1および第2のセットを含む。第1のセットの相互接続リソースは高スピードに対して最適化され、第2のセットの相互接続リソースは低電力消費に対して最適化される。
実施例によっては、第1のセットの相互接続リソースは第1のトランジスタのセットを含み、第2のセットの相互接続リソースは第2のトランジスタのセットを含む。第1のトランジスタは、第2のトランジスタより低い有効しきい値電圧を有する。より低い有効しきい値電圧は、相互接続リソースの第1のセットに対する高速の切換スピードに繋がる。しかしながら、漏れ電流が増加し、相互接続リソースの第1のセットの電力消費が増加する。実施例によっては、第1および第2のトランジスタは異なるドーピングレベルを有する。実施例によっては、第1および第2のトランジスタは異なる電圧レベルにバイアスされた井戸に位置付けられる。
実施例によっては、(スピードに対して最適化された)第1のセットの相互接続リソースは、第1の電源に結合された第1のバッファのセットを含む。(低電力消費に対して最適化された)第2のセットの相互接続リソースは、第2の電源に結合された第2のバッファのセットを含む。第1の電源は第2の電源より高い電圧レベルを供給し、リソースの第1のセットに高速の動作および高い電力消費の両方を与える。
実施例によっては、第1のサブセットは、第2のサブセットのものより大きいトランジスタを使用して製造されたバッファを含む。実施例によっては、第1のサブセットはバッファされた相互接続線を含み、第2のサブセットはバッファされない相互接続線を含む。
この発明の別の局面によると、FPGAでユーザ回路を実現する方法は、ユーザ回路でクリティカルパスのセットを決定するステップと、ユーザ回路で非クリティカルパスのセットを決定するステップと、FPGAで高スピードに対して最適化された相互接続リソースの第1のセットを決定するステップと、FPGAで低電力に対して最適化された相互接続リソースの第2のセットを決定するステップと、クリティカルパスのセット内の各経路を第1のセットの相互接続リソースの1つに割当てるステップとを含む。
実施例によっては、非クリティカルパスのセット内の各経路は、第2のセットの相互接続リソースの1つに割当てられる。実施例によっては、各経路は、どちらかのセットから利用可能な残りの相互接続リソースに割当てられる。
実施例によっては、FPGAで高スピードに対して最適化された相互接続リソースの第1のセットを決定するステップは、FPGAに対して相互接続リソースの第1のセットを識別するコンピュータデータファイルを調べるステップを含む。
この発明の別の局面によると、FPGAでユーザ回路を実現する方法は、FPGAで高スピードに対して最適化された相互接続リソースの第1のセットを決定するステップと、FPGAで低電力に対して最適化された相互接続リソースの第2のセットを決定するステップと、第1のより高い費用を第1のセットの相互接続リソースに割当てるステップと、第2のより低い費用を第2のセットの相互接続リソースに割当てるステップと、指定されたタイミングの要件を満たすように設計されたタイミング駆動ルーティングソフトウェアを使用しつつ、第1および第2のセットの相互接続リソースに割当てられた費用を利用して費用関数を最低限にして設計をルーティングするステップとを含む。費用関数は、少なくとも部分的に回路によって消費される電力の量に基づく。
この発明を図面で限定ではなく、例によって説明する。
図面の詳細な説明
以下の説明では、この発明をさらに完全に理解できるように、さまざまな具体的な詳細を説明する。しかしながら、当業者には、この発明がこれら具体的な詳細なしに実現可能であることが明らかであろう。
以下の説明では、この発明をさらに完全に理解できるように、さまざまな具体的な詳細を説明する。しかしながら、当業者には、この発明がこれら具体的な詳細なしに実現可能であることが明らかであろう。
図3は、スピードに対して最適化されたリソースの第1のセットおよび低電力消費に対して最適化されたリソースの第2のセットの2つの異なる種類の相互接続リソースを提供するFPGAアーキテクチャを示す。図3のFPGAは、プログラム可能相互接続構造によって相互接続された論理ブロック(CLB 301a〜301i)のアレイを含む。相互接続構造は、プログラム可能スイッチ(302a〜302i)によってともに結合された相互接続線(303a〜303i、304a〜304i、311a〜311i、312a〜312i)を含む。
図3の相互接続リソースの第1のセットは、相互接続線303a〜303iおよび304a〜304iを含む。さらに、相互接続リソースの第1のセットは、プログラム可能スイッチ302a〜302iの一部分を含み得る。リソースの第1のセットは高スピードに対して最適化される。たとえば、これらリソースは、相互接続リソースが典型的には高スピードに対して最適化される大半のFPGAで現在利用可能なものと同じであってもよい。たとえば、複数のCLBを横断するために長い相互接続線を供給してもよく、これら長い相互接続線はバッファされ得る。
図3の相互接続リソースの第2のセットは、相互接続線311a〜311iおよび312a〜312iを含む。さらに、相互接続リソースの第2のセットは、プログラム可能スイッチ302a〜302iの一部分を含み得る。リソースの第2のセットは低電力消費に対して最適化される。実施例によっては、リソースの第2のセットの電力消費は、第2のセットのトランジスタの一部またはすべての有効しきい値電圧を上昇させることによって低減される。トランジスタの有効しきい値電圧を上昇させると、トランジスタの切換は低速化するが、漏れ電流は低減され、それによってトランジスタによる電力消費は低減される。
関連技術で周知のように、トランジスタの有効しきい値電圧は、いくつかの技術のうちのいずれかを使用して上昇させることができる。たとえば、トランジスタのしきい値電圧は、FPGAの製造中にトランジスタ構造のドーピングレベルを変えることによって実際に低減することができる。トランジスタの実際のしきい値電圧を低減すると、有効しきい値電圧も低減することは明らかである。しかしながら、トランジスタのしきい値電圧は、他のトランジスタ(たとえば、相互接続リソースの第1のセット内のトランジスタ)によって使用される基板の電圧レベルとは異なる電圧レベルにバイアスされた井戸内にトランジスタを置くことによって実質的に低減することもできる。
図4は、図3のFPGAからの1つのタイルをより詳細に示す。図4のFPGAのタイルでは、プログラム可能スイッチ402は4つの領域421〜424を含む。図示の実施例では、領域421は、構成メモリセルM1、M2によって制御されるプログラム可能トライステートバッファB1、B2を含む。領域422は、構成メモリセルM3、M4によって制御されるプログラム可能トライステートバッファB3、B4を含む。領域423は、構成メモリセルM5、M6によって制御されるプログラム可能トライステートバッファB5、B6を含む。領域424は、構成メモリセルM7、M8によって制御されるプログラム可能トライステートバッファB7、B8を含む。(図4のバッファおよびメモリセルの各々は、実際のFPGAでこれら要素の多くがどのようであるかを表わす。)
図4の実施例では、高スピードに対して最適化された相互接続リソースの第1のセットは、相互接続線403、404、バッファB1、B2、および構成メモリセルM1、M2を含む。第1のセットは、バッファB3、B6および構成メモリセルM3、M6も含む。なぜなら、これらリソースは高スピードに対して最適化された相互接続線を駆動するからである。低電力に対して最適化された相互接続線の第2のセットは、相互接続線411、412、バッファB7、B8、および構成メモリセルM7、M8を含む。第2のセットは、バッファB4、B5および構成メモリセルM4、M5も含む。なぜなら、これらリソースは低電力に対して最適化された相互接続線を駆動するからである。
図4の実施例では、高スピードに対して最適化された相互接続リソースの第1のセットは、相互接続線403、404、バッファB1、B2、および構成メモリセルM1、M2を含む。第1のセットは、バッファB3、B6および構成メモリセルM3、M6も含む。なぜなら、これらリソースは高スピードに対して最適化された相互接続線を駆動するからである。低電力に対して最適化された相互接続線の第2のセットは、相互接続線411、412、バッファB7、B8、および構成メモリセルM7、M8を含む。第2のセットは、バッファB4、B5および構成メモリセルM4、M5も含む。なぜなら、これらリソースは低電力に対して最適化された相互接続線を駆動するからである。
実施例によっては、リソースの第2のセットのトランジスタの一部またはすべては、第1のセットのトランジスタより高いしきい値電圧を有する。上述のように、このより高いしきい値電圧は、これらトランジスタの電力消費を低減する。
実施例によっては、第1のセットのバッファは、第2のセットのバッファとは異なる電
源に結合される。第1のセットのバッファは、バッファが動作するスピードを増加させるがバッファの電力消費も増加させるより高い電圧レベルを供給する電源に結合される。実施例によっては、第1のセットのバッファは、第2のセットのバッファに含まれる対応するトランジスタより大きいトランジスタを含む。したがって、第1のセットのバッファはより高スピードで切換わるが、第2のセットのバッファより多くの電力も消費する。
源に結合される。第1のセットのバッファは、バッファが動作するスピードを増加させるがバッファの電力消費も増加させるより高い電圧レベルを供給する電源に結合される。実施例によっては、第1のセットのバッファは、第2のセットのバッファに含まれる対応するトランジスタより大きいトランジスタを含む。したがって、第1のセットのバッファはより高スピードで切換わるが、第2のセットのバッファより多くの電力も消費する。
(図4に図示されない)一部の実施例では、高速の相互接続リソースはバッファされた相互接続線を含み、低電力の相互接続リソースはバッファされない相互接続線を含む。バッファされない相互接続線は低速であるが、電力消費が非常に少ない。
ユーザ回路内のどの信号を高スピードの相互接続リソースに割当てるべきか、およびどの信号が回路の性能に悪影響を及ぼすことなく低電力の相互接続リソースを利用できるかを決定するFPGA実現ソフトウェアが提供されることが好ましい。現在利用可能なFPGA実現ソフトウェアは、どの信号が回路の性能に非常に重要であり、どれが重要でないかを決定するタイミング駆動ルーティングツールを既に含む。このソフトウェアは、現在説明しているこの発明の方法を実現するために変更可能である。
図5は、この発明の実施例によるFPGAでユーザ回路をルーティングする方法のステップを示す。ステップ501〜504は、どのような順序で行なってもよく、または同時に行なってもよい。ステップ501では、ユーザ回路でクリティカルパスのセットが決定される。現在のタイミング駆動ルーティング方法のように、クリティカルパスはユーザ回路の動作スピードを決定する遅延を備えた経路であることが好ましい。ステップ502では、ユーザ回路で非クリティカルパスのセットが決定される。非クリティカルパスのセットは、たとえば、クリティカルパスのセットにないすべての経路であり得る。
ステップ503では、高スピードに対して最適化された相互接続リソースの第1のセットが決定される。たとえば、相互接続リソースの第1のセットは、第1のセットのリソースを識別するコンピュータデータファイルを調べることによって決定することができる。このファイルは、たとえば、FPGAの販売業者によって供給することができ、FPGA実現ソフトウェアパッケージとともに含まれ得る。ステップ504では、低電力に対して最適化された相互接続リソースの第2のセットが決定される。たとえば、相互接続リソースの第2のセットは、第1のセットのリソースを識別する同じコンピュータデータファイルを調べることによって決定することができる。一実施例では、相互接続リソースの第2のセットは、第1のセットに含まれないすべての相互接続リソースに第2のセットを割当てることによって決定される。
ステップ505では、ステップ501で決定された各クリティカルパスが、ステップ503で決定されたリソースの第1のセットからの相互接続リソース、すなわち、高スピードの相互接続リソースに割当てられる。
実施例によっては、ステップ506では、ステップ502で決定された各非クリティカルパスは、ステップ504で決定されたリソースの第2のセットからの相互接続リソースに割当てられる。これら実施例では、ステップ505および506は、どのような順序で行なってもよく、または同時に行なってもよい。
実施例によっては、クリティカルパスを割当てた後(ステップ505)、ステップ507で、ステップ502で決定された各非クリティカルパスは、ステップ503および504で決定されたリソースの第1および第2のセットのうちのいずれかからの相互接続リソースに割当てられる。この方法は、ステップ506から生じる実現例より多く電力を消費する回路の実現例に繋がり得る。
この発明の一部の実施例によって、商業的に既に利用可能なルーティングソフトウェアの使用が可能になる。既存のタイミング駆動ルーティングソフトウェアは、最低の「費用」を有し、かつ設計に対して指定された要件を満たすルートが見つかるまで、さまざまなルートを評価する費用関数を典型的には使用する。この発明の一部の実施例によると、より高い費用は高スピードに対して最適化された相互接続リソースに割当てられ、より低い費用は低電力に対して最適化された相互接続リソースに割当てられる。したがって、タイミング駆動ルーティングソフトウェアは、電力を最低限にしつつ、回路に対して指定されたタイミング要件を満たすために、2つの異なる種類のルーティングリソースに信号を割当てるように標準の費用関数を利用する。
図6は、1つのそのような方法のステップを示す。ステップ601では、高スピードに対して最適化されるルーティングリソースの第1のセットが決定される。たとえば、相互接続リソースの第1のセットは、第1のセットのリソースを識別するコンピュータデータファイルを調べることによって決定することができる。このファイルは、たとえば、FPGAの販売業者によって供給することができ、FPGA実現ソフトウェアパッケージとともに含まれ得る。ステップ602では、低電力に対して最適化された相互接続リソースの第2のセットが決定される。たとえば、相互接続リソースの第2のセットは、第1のセットのリソースを識別する同じコンピュータデータファイルを調べることによって決定することができる。一実施例では、相互接続リソースの第2のセットは、第1のセットに含まれないすべての相互接続リソースを第2のセットに割当てることによって決定される。ステップ601および602は、どのような順序で行なってもよく、または同時に行なってもよい。
ステップ603では、第1のより高い費用が第1のセットのリソースに割当てられる。ステップ604では、第2のより低い費用が第2のセットのリソースに割当てられる。ステップ603および604は、どのような順序で行なってもよく、または同時に行なってもよい。ステップ605では、設計をルーティングするためにタイミング駆動ルーティングソフトウェアが使用される。ルーティングソフトウェアは、指定されたタイミング要件を満たしつつ、第1および第2のセットの相互接続リソースに割当てられた費用を利用して費用関数を最小限にするように設計される。したがって、費用関数の使用は、回路によって消費される電力の量を最低限にする。
この発明の方法は、現在それらの言葉が当該技術分野で知られるように、ハードウェア、ソフトウェアまたはそれらの組合せで行なうことができる。具体的には、この発明の方法は、任意の種類のコンピュータで動作するソフトウェア、ファームウェアまたはマイクロコードによって実行可能である。さらに、この発明を実現するソフトウェアは、任意のコンピュータ読取可能な媒体(たとえば、ROM、RAM、磁気媒体、孔を空けられたテープまたはカード、任意の形のコンパクトディスク(CD)、DVD等)に記憶された任意の形のコンピュータの命令(たとえば、ソースコード、目的コード、翻訳されたコード等)を含み得る。さらに、そのようなソフトウェアは、インターネットに接続されたコンピュータ間で伝送される周知のウェブページ内で見られるような搬送波で実現されるコンピュータデータ信号の形であってもよい。したがって、この発明は、特定のプラットホームに限定されない。
この発明の関連技術の当業者は、この開示の結果としてなされ得るさまざまな変形例および追加を認識するであろう。たとえば、この発明を実現するために、ここに説明されるもの以外の、プログラム可能相互接続構造、相互接続線、プログラム可能スイッチ、論理ブロック、構成可能な論理ブロック、入出力ブロック、FPGA、トランジスタ、バッファ、トライステートバッファ、構成メモリセルおよび他の構成要素を使用可能である。し
たがって、そのようなすべての変形例および追加は、特許請求の範囲およびその均等物によってのみ限定されるこの発明の範囲内にあるものとみなされる。
たがって、そのようなすべての変形例および追加は、特許請求の範囲およびその均等物によってのみ限定されるこの発明の範囲内にあるものとみなされる。
Claims (10)
- フィールドプログラマブルゲートアレイ(FPGA)であって、
複数の構成可能な論理ブロック(CLB)と、
前記CLBをプログラム可能に相互接続する複数の相互接続リソースとを含み、
前記相互接続リソースは相互接続リソースの第1および第2のセットを含み、
前記第1のセットの前記相互接続リソースは高スピードに対して最適化され、
前記第2のセットの前記相互接続リソースは低電力消費に対して最適化される、フィールドプログラマブルゲートアレイ(FPGA)。 - 前記第1のセットの前記相互接続リソースは第1のトランジスタのセットを含み、
前記第2のセットの前記相互接続リソースは第2のトランジスタのセットを含み、
前記第1のトランジスタは前記第2のトランジスタより低い有効しきい値電圧を有する、請求項1に記載のFPGA。 - 前記第1のトランジスタおよび前記第2のトランジスタは、異なるドーピングレベルを有する、請求項2に記載のFPGA。
- 前記第1のトランジスタおよび前記第2のトランジスタは、異なる電圧レベルにバイアスされた井戸に位置付けられる、請求項2に記載のFPGA。
- 前記第1のセットの前記相互接続リソースは第1の電源に結合された第1のバッファのセットを含み、
前記第2のセットの前記相互接続リソースは第2の電源に結合された第2のバッファのセットを含み、
前記第1の電源は前記第2の電源より高い電圧レベルを供給する、請求項1に記載のFPGA。 - 前記第1のセットの前記相互接続リソースは第1のバッファのセットを含み、
前記第2のセットの前記相互接続リソースは第2のバッファのセットを含み、
前記第1のバッファは前記第2のバッファより大きいトランジスタを含む、請求項1に記載のFPGA。 - 前記第1のセットの前記相互接続リソースは複数のバッファされた相互接続線を含み、
前記第2のセットの前記相互接続リソースは複数のバッファされない相互接続線を含む、請求項1に記載のFPGA。 - フィールドプログラマブルゲートアレイ(FPGA)でユーザ回路をルーティングする方法であって、
前記ユーザ回路でクリティカルパスのセットを決定するステップと、
前記ユーザ回路で非クリティカルパスのセットを決定するステップと、
前記FPGAで高スピードに対して最適化された相互接続リソースの第1のセットを決定するステップと、
前記FPGAで低電力に対して最適化された相互接続リソースの第2のセットを決定するステップと、
クリティカルパスの前記セット内の各経路を前記第1のセットの前記相互接続リソースの少なくとも1つに割当てるステップとを含む、方法。 - 非クリティカルパスの前記セット内の各経路を前記第2のセットの前記相互接続リソースの少なくとも1つに割当てるステップをさらに含む、請求項8に記載の方法。
- 非クリティカルパスの前記セット内の各経路を前記第1および第2のセットのうちの1つの前記相互接続リソースの少なくとも1つに割当てるステップをさらに含む、請求項8に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/378,735 US6930510B2 (en) | 2003-03-03 | 2003-03-03 | FPGA architecture with mixed interconnect resources optimized for fast and low-power routing and methods of utilizing the same |
PCT/US2004/006297 WO2004079909A2 (en) | 2003-03-03 | 2004-03-02 | Fpga architecture with mixed interconnect resources |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006522563A true JP2006522563A (ja) | 2006-09-28 |
Family
ID=32926543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006508983A Pending JP2006522563A (ja) | 2003-03-03 | 2004-03-02 | 混合された相互接続リソースを備えたfpgaアーキテクチャ |
Country Status (6)
Country | Link |
---|---|
US (3) | US6930510B2 (ja) |
EP (1) | EP1599941B1 (ja) |
JP (1) | JP2006522563A (ja) |
CA (1) | CA2515464C (ja) |
DE (1) | DE602004032519D1 (ja) |
WO (1) | WO2004079909A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010104033A1 (ja) * | 2009-03-09 | 2010-09-16 | 日本電気株式会社 | プロセッサ間通信システム及び通信方法、ネットワークスイッチ、及び並列計算システム |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7098689B1 (en) | 2003-09-19 | 2006-08-29 | Xilinx, Inc. | Disabling unused/inactive resources in programmable logic devices for static power reduction |
US7504854B1 (en) | 2003-09-19 | 2009-03-17 | Xilinx, Inc. | Regulating unused/inactive resources in programmable logic devices for static power reduction |
US7549139B1 (en) | 2003-09-19 | 2009-06-16 | Xilinx, Inc. | Tuning programmable logic devices for low-power design implementation |
US7581124B1 (en) | 2003-09-19 | 2009-08-25 | Xilinx, Inc. | Method and mechanism for controlling power consumption of an integrated circuit |
US7498836B1 (en) | 2003-09-19 | 2009-03-03 | Xilinx, Inc. | Programmable low power modes for embedded memory blocks |
US7243312B1 (en) * | 2003-10-24 | 2007-07-10 | Xilinx, Inc. | Method and apparatus for power optimization during an integrated circuit design process |
US7100141B1 (en) * | 2003-12-23 | 2006-08-29 | Altera Corporation | Technology mapping technique for fracturable logic elements |
US7188266B1 (en) * | 2004-03-08 | 2007-03-06 | Altera Corporation | Systems and methods for reducing static and total power consumption in a programmable logic device |
JP2005268536A (ja) * | 2004-03-18 | 2005-09-29 | Matsushita Electric Ind Co Ltd | プログラマブル・ロジック・デバイスおよびその設計方法 |
WO2005119532A2 (en) * | 2004-06-04 | 2005-12-15 | The Regents Of The University Of California | Low-power fpga circuits and methods |
US7292065B2 (en) * | 2004-08-03 | 2007-11-06 | Altera Corporation | Enhanced passgate structures for reducing leakage current |
US7498839B1 (en) * | 2004-10-22 | 2009-03-03 | Xilinx, Inc. | Low power zones for programmable logic devices |
US7861190B1 (en) * | 2005-03-17 | 2010-12-28 | Altera Corporation | Power-driven timing analysis and placement for programmable logic |
US7308668B2 (en) * | 2005-06-30 | 2007-12-11 | International Business Machines Corporation | Apparatus and method for implementing an integrated circuit IP core library architecture |
US7498835B1 (en) | 2005-11-04 | 2009-03-03 | Xilinx, Inc. | Implementation of low power standby modes for integrated circuits |
US20070106964A1 (en) * | 2005-11-10 | 2007-05-10 | Meindl James D | Optimized microchip and related methods |
US7580824B1 (en) * | 2005-12-21 | 2009-08-25 | Altera Corporation | Apparatus and methods for modeling power characteristics of electronic circuitry |
US7345944B1 (en) | 2006-01-11 | 2008-03-18 | Xilinx, Inc. | Programmable detection of power failure in an integrated circuit |
US7389485B1 (en) * | 2006-03-28 | 2008-06-17 | Xilinx, Inc. | Methods of routing low-power designs in programmable logic devices having heterogeneous routing architectures |
US7368946B1 (en) | 2006-06-16 | 2008-05-06 | Xilinx, Inc. | Level-shifting pass gate multiplexer |
US7477073B1 (en) * | 2006-06-16 | 2009-01-13 | Xilinx, Inc. | Structures and methods for heterogeneous low power programmable logic device |
US7587688B1 (en) * | 2006-08-24 | 2009-09-08 | Altera Corporation | User-directed timing-driven synthesis |
US20080180129A1 (en) * | 2006-08-31 | 2008-07-31 | Actel Corporation | Fpga architecture with threshold voltage compensation and reduced leakage |
US7555741B1 (en) * | 2006-09-13 | 2009-06-30 | Altera Corporation | Computer-aided-design tools for reducing power consumption in programmable logic devices |
US8987868B1 (en) | 2009-02-24 | 2015-03-24 | Xilinx, Inc. | Method and apparatus for programmable heterogeneous integration of stacked semiconductor die |
US7893712B1 (en) | 2009-09-10 | 2011-02-22 | Xilinx, Inc. | Integrated circuit with a selectable interconnect circuit for low power or high performance operation |
FR2954023B1 (fr) * | 2009-12-14 | 2012-02-10 | Lyon Ecole Centrale | Matrice interconnectee de cellules logiques reconfigurables avec une topologie d'interconnexion croisee |
US20110149984A1 (en) * | 2009-12-18 | 2011-06-23 | Electronics And Telecommunications Research Institute | Configuration memory apparatus in fpga and router system using the same |
WO2011156038A2 (en) * | 2010-03-17 | 2011-12-15 | University Of Virginia Patent Foundation | A sub-threshold fpga and related circuits and methods thereof |
US9015023B2 (en) | 2010-05-05 | 2015-04-21 | Xilinx, Inc. | Device specific configuration of operating voltage |
US8823405B1 (en) | 2010-09-10 | 2014-09-02 | Xilinx, Inc. | Integrated circuit with power gating |
US20120284501A1 (en) * | 2011-05-06 | 2012-11-08 | Xcelemor, Inc. | Computing system with hardware reconfiguration mechanism and method of operation thereof |
JP5743808B2 (ja) | 2011-08-24 | 2015-07-01 | 株式会社東芝 | 集積回路の配線方法、集積回路の配線プログラム及びそれを記憶した記憶媒体 |
CN102609563B (zh) * | 2012-01-11 | 2014-12-10 | 中国科学院计算技术研究所 | Sram型fpga的低功耗设计方法 |
US8896344B1 (en) | 2013-01-04 | 2014-11-25 | Altera Corporation | Heterogeneous programmable device and configuration software adapted therefor |
US9000490B2 (en) | 2013-04-19 | 2015-04-07 | Xilinx, Inc. | Semiconductor package having IC dice and voltage tuners |
US9628081B2 (en) | 2014-08-12 | 2017-04-18 | Xilinx, Inc. | Interconnect circuits having low threshold voltage P-channel transistors for a programmable integrated circuit |
US9419624B2 (en) | 2014-11-12 | 2016-08-16 | Xilinx, Inc. | Power management system for integrated circuits |
US9628083B1 (en) | 2015-10-01 | 2017-04-18 | Quicklogic Corporation | Local routing network with selective fast paths for programmable logic device |
US11579894B2 (en) | 2020-10-27 | 2023-02-14 | Nokia Solutions And Networks Oy | Deterministic dynamic reconfiguration of interconnects within programmable network-based devices |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4698760A (en) * | 1985-06-06 | 1987-10-06 | International Business Machines | Method of optimizing signal timing delays and power consumption in LSI circuits |
US5654898A (en) * | 1993-05-10 | 1997-08-05 | Cascade Design Automation Corporation | Timing-driven integrated circuit layout through device sizing |
US5504440A (en) * | 1994-01-27 | 1996-04-02 | Dyna Logic Corporation | High speed programmable logic architecture |
US5742179A (en) * | 1994-01-27 | 1998-04-21 | Dyna Logic Corporation | High speed programmable logic architecture |
US6272668B1 (en) * | 1994-12-14 | 2001-08-07 | Hyundai Electronics America, Inc. | Method for cell swapping to improve pre-layout to post-layout timing |
US5612636A (en) * | 1995-01-19 | 1997-03-18 | Texas Instruments Incorporated | Short circuit power optimization for CMOS circuits |
US5787011A (en) * | 1995-01-19 | 1998-07-28 | Texas Instruments Incorporated | Low-power design techniques for high-performance CMOS circuits |
US5892961A (en) * | 1995-02-17 | 1999-04-06 | Xilinx, Inc. | Field programmable gate array having programming instructions in the configuration bitstream |
US6269458B1 (en) * | 1995-02-21 | 2001-07-31 | Nortel Networks Limited | Computer system and method for diagnosing and isolating faults |
US5880967A (en) * | 1995-05-01 | 1999-03-09 | Synopsys, Inc. | Minimization of circuit delay and power through transistor sizing |
US5815004A (en) * | 1995-10-16 | 1998-09-29 | Xilinx, Inc. | Multi-buffered configurable logic block output lines in a field programmable gate array |
US5594367A (en) * | 1995-10-16 | 1997-01-14 | Xilinx, Inc. | Output multiplexer within input/output circuit for time multiplexing and high speed logic |
US5984510A (en) * | 1996-11-01 | 1999-11-16 | Motorola Inc. | Automatic synthesis of standard cell layouts |
US5880598A (en) * | 1997-01-10 | 1999-03-09 | Xilinx, Inc. | Tile-based modular routing resources for high density programmable logic device |
US5959466A (en) * | 1997-01-31 | 1999-09-28 | Actel Corporation | Field programmable gate array with mask programmed input and output buffers |
US6178542B1 (en) * | 1997-02-24 | 2001-01-23 | Lucent Technologies Inc. | Hardware-software co-synthesis of embedded system architectures using quality of architecture metrics |
US5914616A (en) * | 1997-02-26 | 1999-06-22 | Xilinx, Inc. | FPGA repeatable interconnect structure with hierarchical interconnect lines |
US5963050A (en) * | 1997-02-26 | 1999-10-05 | Xilinx, Inc. | Configurable logic element with fast feedback paths |
US6163168A (en) * | 1998-12-09 | 2000-12-19 | Vantis Corporation | Efficient interconnect network for use in FPGA device having variable grain architecture |
JP4206203B2 (ja) | 1999-03-04 | 2009-01-07 | アルテラ コーポレイション | プログラマブルロジック集積回路デバイスの相互接続ならびに入力/出力リソース |
US6184713B1 (en) * | 1999-06-06 | 2001-02-06 | Lattice Semiconductor Corporation | Scalable architecture for high density CPLDS having two-level hierarchy of routing resources |
US6590419B1 (en) | 1999-10-12 | 2003-07-08 | Altera Toronto Co. | Heterogeneous interconnection architecture for programmable logic devices |
US6539536B1 (en) * | 2000-02-02 | 2003-03-25 | Synopsys, Inc. | Electronic design automation system and methods utilizing groups of multiple cells having loop-back connections for modeling port electrical characteristics |
JP3762856B2 (ja) * | 2000-05-30 | 2006-04-05 | 株式会社ルネサステクノロジ | 半導体集積回路装置 |
US7225423B2 (en) * | 2000-06-30 | 2007-05-29 | Zenasis Technologies, Inc. | Method for automated design of integrated circuits with targeted quality objectives using dynamically generated building blocks |
JP2002083001A (ja) * | 2000-09-06 | 2002-03-22 | Hitachi Ltd | 論理回路の設計方法及びそれに使用するセルライブラリ |
US6583645B1 (en) * | 2001-08-27 | 2003-06-24 | Xilinx, Inc. | Field programmable optical arrays |
US6621325B2 (en) * | 2001-09-18 | 2003-09-16 | Xilinx, Inc. | Structures and methods for selectively applying a well bias to portions of a programmable device |
US6721924B2 (en) * | 2001-09-28 | 2004-04-13 | Intel Corporation | Noise and power optimization in high performance circuits |
US6950998B1 (en) * | 2003-04-22 | 2005-09-27 | Xilinx, Inc. | Place-and-route with power analysis |
-
2003
- 2003-03-03 US US10/378,735 patent/US6930510B2/en not_active Expired - Lifetime
-
2004
- 2004-03-02 JP JP2006508983A patent/JP2006522563A/ja active Pending
- 2004-03-02 EP EP04716437A patent/EP1599941B1/en not_active Expired - Lifetime
- 2004-03-02 DE DE602004032519T patent/DE602004032519D1/de not_active Expired - Lifetime
- 2004-03-02 WO PCT/US2004/006297 patent/WO2004079909A2/en active Application Filing
- 2004-03-02 CA CA002515464A patent/CA2515464C/en not_active Expired - Lifetime
- 2004-09-15 US US10/941,248 patent/US7138828B2/en not_active Expired - Lifetime
- 2004-09-15 US US10/941,473 patent/US6960934B2/en not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010104033A1 (ja) * | 2009-03-09 | 2010-09-16 | 日本電気株式会社 | プロセッサ間通信システム及び通信方法、ネットワークスイッチ、及び並列計算システム |
US8964760B2 (en) | 2009-03-09 | 2015-02-24 | Nec Corporation | Interprocessor communication system and communication method, network switch, and parallel calculation system |
Also Published As
Publication number | Publication date |
---|---|
US7138828B2 (en) | 2006-11-21 |
EP1599941B1 (en) | 2011-05-04 |
US6930510B2 (en) | 2005-08-16 |
US6960934B2 (en) | 2005-11-01 |
EP1599941A2 (en) | 2005-11-30 |
US20040174187A1 (en) | 2004-09-09 |
US20050039155A1 (en) | 2005-02-17 |
CA2515464C (en) | 2009-06-02 |
WO2004079909A3 (en) | 2005-01-20 |
DE602004032519D1 (de) | 2011-06-16 |
US20050040851A1 (en) | 2005-02-24 |
WO2004079909A2 (en) | 2004-09-16 |
CA2515464A1 (en) | 2004-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006522563A (ja) | 混合された相互接続リソースを備えたfpgaアーキテクチャ | |
US7089527B2 (en) | Structures and methods for selectively applying a well bias to portions of a programmable device | |
US7389485B1 (en) | Methods of routing low-power designs in programmable logic devices having heterogeneous routing architectures | |
US5500609A (en) | Wildcard addressing structure for configurable cellular array | |
US6002268A (en) | FPGA with conductors segmented by active repeaters | |
CA2442815C (en) | Buffer circuit having reduced leakage current and method of reducing leakage current in a field programmable device | |
US7886261B1 (en) | Programmable logic device adapted to enter a low-power mode | |
US6130550A (en) | Scaleable padframe interface circuit for FPGA yielding improved routability and faster chip layout | |
US8928352B2 (en) | Controllable storage elements for an IC | |
JP2005101540A (ja) | 半導体回路の漏れ電流を低減するための方法とシステム | |
EP1619799B1 (en) | Mask-programmable logic device with programmable portions | |
US6993737B1 (en) | Leakage power optimization for integrated circuits | |
JP4370384B2 (ja) | 高速化低消費電力論理装置 | |
JP4185979B2 (ja) | 高速低消費電力論理装置 | |
Hioki et al. | Evaluation of granularity on threshold voltage control in flex power FPGA | |
Agbo et al. | Integrated Circuit Design | |
Yeap et al. | Circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070216 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090515 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090526 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20091020 |