JP2007053761A - プログラマブルロジックデバイスの性能最適化装置および方法 - Google Patents

プログラマブルロジックデバイスの性能最適化装置および方法 Download PDF

Info

Publication number
JP2007053761A
JP2007053761A JP2006221341A JP2006221341A JP2007053761A JP 2007053761 A JP2007053761 A JP 2007053761A JP 2006221341 A JP2006221341 A JP 2006221341A JP 2006221341 A JP2006221341 A JP 2006221341A JP 2007053761 A JP2007053761 A JP 2007053761A
Authority
JP
Japan
Prior art keywords
pld
supply voltage
circuit
programmable logic
logic device
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
Application number
JP2006221341A
Other languages
English (en)
Inventor
David Lewis
ルイス デイビッド
Vaughn Betz
ベッツ ボーン
Paul Leventis
レベンティス パウル
Lane Christopher
レーン クリストファー
Andy Lee
リー アンディー
Jeffrey Watt
ワット ジェフリー
Timothy Vanderhoek
バンダーフック ティモシー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Altera Corp
Original Assignee
Altera Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Altera Corp filed Critical Altera Corp
Publication of JP2007053761A publication Critical patent/JP2007053761A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic 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/1778Structural details for adapting physical parameters
    • H03K19/17784Structural details for adapting physical parameters for supply voltage

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Logic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

【課題】プログラマブルロジックデバイス(PLD)の消費電力を最適化すること、および、消費電力とPLD動作速度の最適レベルを得ること。
【解決手段】プログラマブルロジックデバイス(PLD)(103)は、第一および第二の回路を含む。第一および第二の回路は、PLDのリソースを使ってインプリメントされるユーザ設計の一部である。第一の回路は、第一の供給電圧によって、電力供給される。第二の回路は、第二の供給電圧によって、電力供給される。第一および第二の供給電圧の少なくとも一方は、PLD内のユーザ設計をインプリメントするために使用されるPLDのコンピュータ支援設計(CAD)フローによって、決定される。また、第一および第二の供給電圧は、プログラマブルロジックデバイス(PLD)外部のレギュレータ(303)によって提供される。
【選択図】図5

Description

(発明の背景)
本発明は、一般的に、プログラマブルロジックデバイス(PLD)の性能を最適化することに関する。より特定的には、本発明は、消費電力を最適化して、PLDの消費電力と動作速度の最適レベルを得ることに関する。
現代のPLDは、複雑化が増し、その複雑化はますます進行している。典型的なPLDは、数千万ものトランジスタを含む。一方で、PLDの複雑化が進んだ結果、性能レベルが向上し、融通性も改善した。その反面、PLDの複雑化が進み、多数のトランジスタを使う結果、デバイスの消費電力も増大してきた。デバイスの寸法が0.1μm未満に小さくなると、電力はいっそう致命的な懸念となってくる。PLDの複雑化が進むために、この傾向は続く見通しである。
電力消費に対処する一つの方法は、チップの供給電圧を減らすことである。しかし、この技術は、PLDにおいては魅力的でない。なぜなら、n型金属酸化物半導体(NMOS)のパストランジスタにおける閾値低下は、速度の比較的深刻な低下の原因となるからである。この制限を克服するために、パストランジスタ上のゲート電圧を上げることも可能であるが、そうすることによって、酸化物に追加の厚さを提供する追加のプロセッシングステップを要し得るし、また、おそらく追加電流を供給するためのチャージポンプも必要になり得る。したがって、所望の性能特性を得るために、PLDの電力消費を最適化するニーズが存在する。
(概要)
開示される新たなコンセプトは、PLDの電力消費を最適化する装置および方法に関する。より特定的には、発明のコンセプトは、PLDにおける電力消費レベルが増加すること、あるいは、過剰となることへの解決策を提供する。一実施形態において、PLDは、PLDリソースを使って実行されるユーザ設計の一対の回路を含む。一対の回路は、2つの供給電圧によって電力供給される。より特定的には、一方の回路は、一方の供給電圧によって電力供給されるように構成される。それに対し、第二の回路は、第二の供給電圧によって電力供給されるように構成される。少なくとも1つの供給電圧は、PLDのユーザ設計を実行するために使用されるPLDのコンピュータ支援設計(CAD)フローによって、決定される。
他の実施形態において、PLDは、PLDリソースを使って実行されるユーザ設計の一対の回路を含む。一対の回路は、2つの供給電圧によって電力供給される。より特定的には、ユーザ設計の一方の回路は、一方の供給電圧によって電力供給されるように構成される。それに対し、第二の回路は、第二の供給電圧によって電力供給されるように構成される。これら供給電圧は、お互いに異なる(一方の供給電圧は、他方の供給電圧より低い)。
本発明の他の局面は、PLDの電力消費を最適化または削減する方法に関する。一実施形態において、2つの供給電圧によって、電力供給されるPLD内のリソースを使って、電子回路をインプリメントする方法は、供給電圧の一方(例えば、第二の供給電圧)に、公称(nominal)レベルを割り当てることを含む。本方法は、また、電子回路をインプリメントするために使用されるPLD内のリソースの配置およびルーティングを実行すること、および、第二の供給電圧レベルの値を電子回路のタイミング仕様に合うように決定することを含む。
別の実施形態において、2つの供給電圧によって電力供給されるPLD内のリソースを使用して電子回路をインプリメントする方法は、供給電圧の一方(例えば、第二の供給電圧)に、公称レベルを割り当てることを含む。本方法は、また、電子回路をインプリメントするために使用されるPLD内のリソースの配置を実行することと、第二の供給電圧レベルに対応する遅延推定を使用して配置を最適化すること、および、電子回路のタイミング仕様に合う第二の供給電圧レベルの値を決定することを含む。
本発明は、さらに以下の手段を提供する。
(項目1)
第一の供給電圧によって電力供給されるように構成されたユーザ設計の第一の回路と、
第二の供給電圧によって電力供給されるように構成された該ユーザ設計の第二の回路と
を備える、プログラマブルロジックデバイス(PLD)であって、
該第一と第二の供給電圧の少なくとも一方は、該PLDの該ユーザ設計を実行するために使用されるPLDのコンピュータ支援設計(CAD)フローによって決定される、プログラマブルロジックデバイス(PLD)。
(項目2)
上記第一および第二の供給電圧が、上記プログラマブルロジックデバイス(PLD)外部のレギュレータによって提供される、項目1に記載のプログラマブルロジックデバイス(PLD)。
(項目3)
上記第一および第二の供給電圧が、レギュレータで提供され、該レギュレータの少なくとも一部は、上記プログラマブルロジックデバイス(PLD)内にある、項目1に記載のプログラマブルロジックデバイス(PLD)。
(項目4)
上記第一および第二の供給電圧の少なくとも一方を提供するように構成されたレギュレータに、少なくとも1つの信号を提供するコード生成器をさらに備える、項目1に記載のプログラマブルロジックデバイス(PLD)。
(項目5)
上記レギュレータは、上記第一および第二の供給電圧の少なくとも一方のレベルに設定する少なくとも1つの信号を使うように構成される、項目4に記載のプログラマブルロジックデバイス(PLD)。
(項目6)
上記少なくとも1つの信号は、上記プログラマブルロジックデバイス(PLD)の構成メモリ(CRAM)内のデータから導かれる情報を含む、項目5に記載のプログラマブルロジックデバイス(PLD)。
(項目7)
上記少なくとも1つの信号は、上記プログラマブルロジックデバイス(PLD)内でコード化されたデータから導かれる情報を含む、項目5に記載のプログラマブルロジックデバイス(PLD)。
(項目8)
プロセス関連情報を提供するように構成されたプロセスモニタ回路をさらに備え、上記少なくとも1つの信号は、該プロセスモニタ回路の出力から導かれる情報を含む、項目5に記載のプログラマブルロジックデバイス(PLD)。
(項目9)
第一の供給電圧によって電力供給される第一の回路と、
第二の供給電圧によって電力供給される第二の回路と
を備える、プログラマブルロジックデバイス(PLD)であって、
該第二の供給電圧は、第一の供給電圧より低い、プログラマブルロジックデバイス(PLD)。
(項目10)
上記第一の回路は、上記プログラマブルロジックデバイス(PLD)内のマルチプレクサに結合された構成メモリセルを備える、項目9に記載のプログラマブルロジックデバイス(PLD)。
(項目11)
上記第二の回路は、上記マルチプレクサに結合されたレベル回復インバータを備える、項目10に記載のプログラマブルロジックデバイス(PLD)。
(項目12)
上記第二の回路は、上記レベル回復インバータに結合されたインバータを備える、項目11に記載のプログラマブルロジックデバイス(PLD)。
(項目13)
上記第一の回路は、信号レベル変換器を備える、項目9に記載のプログラマブルロジックデバイス(PLD)。
(項目14)
上記第二の回路は、信号レベル変換器を備える、項目9に記載のプログラマブルロジックデバイス(PLD)。
(項目15)
上記第一および第二の供給電圧によって電力供給されるレベル変換器をさらに備える、項目9に記載のプログラマブルロジックデバイス(PLD)。
(項目16)
上記第一の回路は、複数のレベル回復インバータに結合された複数の構成メモリセルを備える、項目9に記載のプログラマブルロジックデバイス(PLD)。
(項目17)
上記第二の回路は、複数のレベル回復インバータに結合された複数の構成メモリセルを備える、項目9に記載のプログラマブルロジックデバイス(PLD)。
(項目18)
上記第二の回路は、複数の構成メモリセルおよび複数のインバータを備え、該複数の構成メモリセルは、複数のトランスミッションゲートを介して、該複数のインバータに結合する、項目9に記載のプログラマブルロジックデバイス(PLD)。
(項目19)
上記第一の回路は複数の構成メモリセルを備え、上記第二の回路は複数のインバータを備え、該複数の構成メモリセルは該複数のインバータに結合し、該複数のインバータは複数のトランスミッションゲートに結合する、項目9に記載のプログラマブルロジックデバイス(PLD)。
(項目20)
上記第二の供給電圧によって電力供給される第一のインターフェース回路と、
第三の供給電圧によって電力供給される第一のレベル変換器であって、インターフェース回路に結合される、第一のレベル変換器と、
該第三の供給電圧によって電力供給されるデコーダであって、該第一のレベル変換器に結合される、デコーダと、
該第三の供給電圧によって電力供給されるメモリ回路であって、該デコーダに結合される、メモリ回路と
をさらに備える、項目9に記載のプログラマブルロジックデバイス(PLD)。
(項目21)
上記第三の供給電圧によって電力供給される第二のインターフェース回路であって、上記メモリ回路に結合される、第二のインターフェース回路と、
上記第三の供給電圧によって電力供給される第二のレベル変換器であって、該第二のインターフェース回路に結合される、第二のレベル変換器と
をさらに備える、項目20に記載のプログラマブルロジックデバイス(PLD)。
(項目22)
上記第二のインターフェース回路は、センスアンプおよび書き込みドライバを備える、項目21に記載のプログラマブルロジックデバイス(PLD)。
(項目23)
上記デコーダは、ダイナミックロジック回路網を備える、項目21に記載のプログラマブルロジックデバイス(PLD)。
(項目24)
上記第二の供給電圧によって電力供給される第一のインターフェース回路と、
上記第二の供給電圧によって電力供給されるデコーダであって、該第一のインターフェース回路に結合される、デコーダと、
第三の供給電圧によって電力供給される複数のレベル変換器であって、該インターフェース回路に結合される、複数のレベル変換器と、
第三の供給電圧によって電力供給されるメモリ回路であって、該複数のレベル変換器に結合される、メモリ回路と
をさらに備える、項目9に記載のプログラマブルロジックデバイス(PLD)。
(項目25)
上記第三の供給電圧によって電力供給される第二のインターフェース回路であって、上記メモリ回路に結合される、第二のインターフェース回路と、
上記第三の供給電圧によって電力供給される第二のレベル変換器であって、該第二のインターフェース回路に結合される、第二のレベル変換器と、
をさらに備える、項目24に記載のプログラマブルロジックデバイス(PLD)。
(項目26)
上記第二のインターフェース回路は、センスアンプおよび書き込みドライバを備える、項目25に記載のプログラマブルロジックデバイス(PLD)。
(項目27)
上記デコーダは、ダイナミックロジック回路網を備える、項目25に記載のプログラマブルロジックデバイス(PLD)。
(項目28)
プログラマブルロジックデバイス(PLD)内のリソースを使用して電子回路をインプリメントする方法であって、該PLDは、第一および第二の供給電圧によって電力供給され、該方法は、
(a1)該第二の供給電圧に公称レベルを割り当てることと、
(b1)該電子回路をインプリメントするために使用されるPLD内のリソースの配置およびルートを実行することと、
(c1)該電子回路のタイミング仕様に合う該第二の供給電圧レベルの値を決定することと
を包含する、方法。
(項目29)
上記第一の供給電圧をプリセットレベルに割り当てることを、さらに包含する、項目28に記載の方法。
(項目30)
上記電子回路のタイミング仕様に合う上記第二の供給電圧レベルの値を決定することは、該電子回路のタイミング仕様に合うように、該第二の供給電圧レベルの最小値を決定することをさらに包含する、項目28に記載の方法。
(項目31)
上記電子回路のタイミング仕様に合う上記第二の供給電圧レベルの値を決定することは、
上記選択された第二の供給レベルが、所望の性能レベルを提供するのに十分であるかどうかを判断することと、
該選択された第二の供給レベルが、該所望の性能レベルを提供するのに不十分である場合は、(b1)に行くことと
をさらに包含する、項目30に記載の方法。
(項目32)
上記電子回路のタイミング仕様に合う上記第二の供給電圧レベルの最小値を決定することは、上記第二の供給電圧値に依存するタイミングモデルを使用することを、さらに包含する、項目30に記載の方法。
(項目33)
上記電子回路のタイミング仕様に合う上記第二の供給電圧レベルの最小値を決定することは、該第二の供給電圧レベルに対する新たな値を推定するために、電圧の関数として計算されたタイミングを使用することを、さらに包含する、項目32に記載の方法。
(項目34)
プログラマブルロジックデバイス(PLD)内のリソースを使用して電子回路をインプリメントする方法であって、該PLDは、第一および第二の供給電圧によって電力供給され、該方法は、
(a2)該第二の供給電圧に公称レベルを割り当てることと、
(b2)該PLD内のリソースの配置を実行することと、
(c2)該第二の供給電圧レベルに対応する遅延推定値を使用して、該配置を最適化することと、
(d2)該電子回路のタイミング仕様に合う該第二の供給電圧レベルの値を決定することと
を包含する、方法。
(項目35)
上記第一の供給電圧をプリセットレベルに割り当てることを、さらに包含する、項目34に記載の方法。
(項目36)
上記電子回路のタイミング仕様に合う上記第二の供給電圧レベルの値を決定することは、上記第二の供給電圧の最小値を、上記電子回路のタイミング仕様に合うように決定することをさらに包含する、項目34に記載の方法。
(項目37)
上記電子回路のタイミング仕様に合う上記第二の供給電圧レベルの値を決定することは、
該電子回路のタイミング仕様に合う該第二の供給電圧レベルの値を、成功裏に決定することに依存して、上記第二の供給電圧に最大レベルを割り当てることと、
タイミングとルータビリティの目的が、上記第二の供給電圧レベルに合うかどうかを判断することと
をさらに包含する、項目36に記載の方法。
(項目38)
一式のルーティング仕様に合うルーティングを形成することと、
上記電子回路のタイミングを最適化することと、
一式のタイミング仕様に合うことが可能である上記第二の供給電圧の最低値を決定するために、該電子回路を解析することと
をさらに包含する、項目37に記載の方法。
添付図面は、本発明の例示的な実施形態を示すに過ぎず、それゆえ、本発明の範囲を限定するものと考慮されるべきでも、解釈されるべきでもない。本発明の記載のメリットを享受する当業者は、開示される発明のコンセプトが他の同等な効果的な実施形態にも役立つことは、理解される。図面において、2つ以上の図面において使われる同じ数字符号は、同様、類似または同等の機能、コンポーネントまたはブロックを示す。
(詳細な説明)
本発明のコンセプトは、PLD内での電力消費最適化を含むPLDの性能最適化用の装置および関連方法を検討する。本発明のコンセプトの一つの特徴は、パストランジスタのゲートで電圧を高いまま維持しながらも、構成可能な電力供給電圧をルーティングドライバおよびロジックに提供する構造を含むPLDに関する。
本発明のコンセプトの他の特徴は、電力消費を最小化する(または最小化する傾向のある)電圧を、決定および最適化する(または最適化する傾向にある)コンピュータ支援設計(CAD)フローに関する。アーキテクチャとCADフローは、選択的な速度/電力制御または更なる電力消費削減のためにPLD内領域のトレードオフと、効果的に組み合わされる。本発明のコンセプトは、さらに、供給電圧の適切な値を決定し、PLDの構成可能領域に速度/電力構成を割り当てる方法も含む。
図1は、本発明の例示的な実施形態に従うPLD103の一般的なブロック図を示す。PLD103は、構成(configuration)回路網130、構成(configuration)メモリ(CRAM)133、制御回路網136、プログラマブルロジック106、プログラマブル相互接続109、および、入出力回路網112を含む。追加として、必要に応じて、PLD103は、テスト/デバッグ回路網115、1つ以上のプロセッサ118、1つ以上の通信回路網121、1つ以上のメモリ、1つ以上の制御装置127を含み得る。
図1は、PLD103の簡略化したブロック図を示すことに留意すべきである。そのため、当業者には理解されるように、PLD103は他のブロックや回路網を含み得る。このような回路網の例として、クロック生成および分配回路、冗長回路などが含まれる。さらに、PLD103は、必要に応じて、アナログ回路網、他のデジタル回路網、および/または、混合モード回路網を含み得る。
プログラマブルロジック106は、ルックアップテーブル(LUT)、プロダクトタームロジック、マルチプレクサ(MUX)、ロジックゲート、レジスタ、メモリなどの構成可能またはプログラマブルロジック回路網のブロックを含む。プログラマブル相互接続109は、プログラマブルロジック106に結合し、PLD103内外のプログラマブルロジック106および他の回路網内にある様々なブロック間の構成可能相互接続(結合メカニズム)を提供する。
制御回路網136は、PLD103内の様々な動作を制御する。制御回路網136の監視下で、PLD構成回路網130は、構成データ(例えば、ストレージデバイス、ホストなど外部ソースから得る)を、PLD103の機能性をプログラムまたは構成するために用いる。構成データは、典型的には、CRAM133に情報を格納するために用いられる。CRAM133のコンテンツは、PLD103の様々なブロック(例えば、プログラマブルロジック106およびプログラマブル相互接続109)の機能性を決定する。
入出力回路網112は、本発明の記載のメリットを享受する当業者には理解されるように、幅広いバラエティの入出力デバイスまたは回路を形成し得る。入出力回路網112は、例えば、プログラマブルロジック106やプログラマブル相互接続109などのPLD103の様々なパーツに結合し得る。入出力回路網112は、外部回路網またはデバイスと通信するために、PLD103内の様々なブロックに対し、メカニズムと回路網を提供する。
テスト/デバッグ回路網115は、PLD103内の様々なブロックおよび回路のテストおよび故障点検を容易にする。テスト/デバッグ回路網115は、本発明の記載のメリットを享受する当業者には周知の様々なブロックまたは回路を含み得る。例えば、テスト/デバッグ回路網115は、必要に応じて、PLD103の電力増強またはリセット後に、テストを実行する回路を含み得る。テスト/デバッグ回路網115は、必要に応じて、コード化回路およびパリティ回路も含み得る。
PLD103は、1つ以上のプロセッサ118を含み得る。プロセッサ118は、PLD103内の他のブロックや回路に結合し得る。プロセッサ118は、本発明の記載のメリットを享受する当業者には理解されるように、PLD103内外の回路からデータおよび情報を受信し、幅広いバラエティの方法で情報を処理し得る。1つ以上のプロセッサ118は、デジタル信号プロセッサ(DSP)を形成し得る。DSPによって、必要に応じて、圧縮、解凍、音声処理、画像処理、フィルタリングなどのような幅広いバラエティの信号処理タスクが実行できる。
PLD103は、また、1つ以上の通信回路121を含み得る。通信回路121は、本発明の記載のメリットを享受する当業者には理解されるように、PLD103内の様々な回路とPLD103外の様々な回路との間でのデータおよび情報交換を容易にし得る。
PLD103は、さらに1つ以上のメモリ124および1つ以上の制御装置127を含み得る。メモリ124は、様々なデータと情報(例えば、ユーザデータ、中間結果、計算結果など)をPLD103内に格納可能にする。メモリ124は、必要に応じて、グラニュラー(guranular)あるいはブロック形状を有し得る。制御装置127によって、PLD外部の回路網の動作と様々な機能とのインターフェースが可能となり、これらの制御が可能にする。例えば、制御装置127は、必要に応じて、外部のシンクロナスダイナミックランダムアクセスメモリ(SDRAM)にインターフェースし、それを制御可能なメモリ制御装置を形成し得る。
図2は、本発明の例示的な実施形態に従うPLD103の平面図である。PLD103は、二次元アレイとして配置されたプログラマブルロジック106を含む。水平な相互接続と垂直な相互接続として配置されたプログラマブル相互接続109は、プログラマブルロジック106のブロックを互いに結合する。以下に詳細に示すように、PLD103内の様々なブロックの電力供給電圧は、調整され得る。例示的な実施形態において、本発明に従うPLDは、階層的なアーキテクチャを有する。換言すれば、プログラマブルロジック106の各ブロックは、より小さな、あるいは、より細かなプログラマブルロジックブロックまたは回路を、順に含み得る。
図3は、本発明の例示的な実施形態に従うPLD内のプログラマブルロジック106のブロック図を示す。プログラマブルロジック106は、ロジック素子またはプログラマブルロジック回路250、ローカル相互接続253、インターフェース回路256、および、インターフェース回路259を含む。ロジック素子250は、本発明の記載のメリットを享受する当業者には理解されるように、例えば、LUT、レジスタ、プロダクトタームロジックなどの構成可能ロジック機能またはプログラマブルロジック機能を提供する。ローカル相互接続253は、必要に応じて、互いに結合するために、あるいは、プログラマブル相互接続109(ときに、「グローバル相互接続」と呼ばれる)に結合するために、ロジック素子250に、構成可能メカニズムまたはプログラマブルロジックメカニズムを提供する。
インターフェース回路256およびインターフェース回路259は、プログラマブル相互接続109に(および、したがって、図3に示すような他のプログラマブルロジック106に)に結合するために、回路網のプログラマブルロジック106ブロックに、構成可能な方法またはプログラマブルな方法を提供する。インターフェース回路256およびインターフェース回路259は、本発明の記載のメリットを享受する当業者には理解されるように、MUX、レジスタ、バッファ、ドライバなどを含み得る。
本発明の例示的な実施形態において、電力消費の削減は、CRAM133とパスゲートの領域に対し、および、ロジックとルーティングに対し、個別の電力供給電圧または電源を提供すること、ならびに、その電源に対し適切な電圧を決定することによってなされる。このような構成において、一方の電源は、CRAM133とパストランジスタゲートに用いられ、他方の電源はドライバとプログラマブルロジック106に提供される。
図4は、本発明の例示的な実施形態に従うマルチ供給電圧PLDのブロック図を示す。PLD103は、2つの供給電圧を用いる。低い供給電圧と高い供給電圧は、それぞれ、VDDLおよびVDDHと表記される。供給電圧は、入力電力を変換または調整する電源またはレギュレータ303によって生成される。VDDLおよびVDDH、あるいは、必要に応じて、これら2つの電圧に加えて、他の供給電圧が供給されるように、レギュレータ303は設計され得る。
必要に応じて、ボディバイアス電圧Vbb_p、Vbb_nlおよびVbb_nhのような他の供給電圧(図に、明示せず)も供給され得る。このような電圧は、構成可能なボディバイアス電圧として用いられ得る。その使い方は、例えば、米国特許出願第10/865,402号(代理人整理番号第ALTR:026CIP、発明の名称「Apparatus and Methods for Adjusting Performance of Integrated circuit」、2004年6月10日出願)に記載されている。一実施形態において、単一のVbb_pは、単一のNウェルに供給され得る。また、チップの様々な領域は、Pウェルに対するVbb_nlおよびVbb_nhの間で選択し得る。それは、PLDの領域が、それぞれ低速あるいは高速として指定されるかに依存する。
さらに、必要に応じて、少なくとも1つの供給電圧を他のソースから得ることもできる。言い換えれば、このような構成において、レギュレータ303は、供給電圧VDDLおよびVDDHの少なくとも一方を、供給する。供給電圧(VDDLおよびVDDH)の少なくとも一方は、PLD103を使って実行されるとき、ユーザ設計の性能要求に合うようなCADフロー(詳細は後述)によって、決定される。
供給電圧(VDDLおよびVDDH)のそれぞれは、PLDの少なくとも一部分に電力を供給する。前述のように、VDDL供給は、VDDH供給より低い電圧レベルを有する。VDDL供給の電圧レベルが低いために、PLD内での電力消費は減少する(あるいは、減少する傾向がある)。より特定的には、電力損失、すなわち、電力消費は、供給電圧の二乗で変化するので、電圧レベルの低いVDDL供給を使うことで、1つの供給電圧(例えば、VDDH)でPLDに電力を供給する場合に比べ、PLDの電力消費は減少する(あるいは、減少する傾向がある)。
図5は、本発明の別の例示的実施形態に従うマルチ供給電圧PLDのブロック図である。この配置において、PLD103は、1つ以上の供給電圧(VDDLおよびVDDH)ならびに任意のボディバイアス電圧に求められる特定値に対する制御信号または情報信号を、レギュレータ303に送る。供給電圧の特定値の決定は、最適化された電圧値または最適電圧値を他のパラメータ情報と一緒に選ぶCADフローによって生成された情報に基づいて、PLD103内の回路網(例えば、図1の制御回路網136)によってなされる。様々な電力供給の相対的な電流需要のような因子に従って、電力供給の幾つか(あるいは、その構成パーツ/コンポーネントの幾つか)は、必要に応じて、オンチップまたはオフチップで調整され得る。
供給電圧を示す情報は、CRAMセル133A〜133Cに格納される。CRAMセル133A〜133Cにある情報に基づいて、電力コード生成器309は、1つ以上の信号315を生成し、その信号をレギュレータ303に供給する。レギュレータ303は、それが信号315を介して受信する情報に対応する供給電圧を生成する。換言すれば、信号315は、レギュレータ303用の制御信号として機能し、その出力電圧レベルを決定する。
CRAMセル133A〜133Cについての情報に加え、電力コード生成器309は、制御信号315を生成するために、他の情報を使い得る。例えば、電力コード生成器309は、特定のダイに固有な情報で、例えば、ウェハー仕分け時にメモリセル312A〜312Cに格納またはヒューズにプログラムされたプロセス関連のデータのような情報を使い得る。
他の可能性は、プロセス関連情報を評価し、制御信号315の情報を組み込む回路を含む。例えば、特定のダイが速いトランジスタであれば、供給電圧の値を削減すること、さらに、ユーザの性能要求(例えば、速度)に応えることも可能である。一般に、電力コード生成器309の回路網は、何らかの名目のプロセスバリエーション用のCADフローによって選ばれた所望の供給電圧と、ヒューズまたは他の不揮発性メモリ内においてダイ上にコード化された特定のプロセスバリエーション情報もしくはプロセスモニタ回路306によって決定された値との双方の関数として、適切な制御信号315を決定し得る。
本発明に従う様々な回路配置を使用してもよいことは、本発明の記載のメリットを享受する当業者には、理解される。例えば、一実施形態において、電力レギュレータ303は、個別のレギュレータチップを不要とするために、PLD103(あるいは、マルチチップモジュールなど)のダイスに含まれても、組み込まれてもよい。他の実施形態において、必要に応じて、電力レギュレータ303の一部分(制御回路またはスイッチングトランジスタのような)は、PLD103上にあり、かつ、電力レギュレータ303の他の部分(インダクタまたはコンデンサのような)は、PLD103の外部にあってもよい。また、別のオプションとして、必要に応じて、電力レギュレータ303は、PLD103の全く外部にあってもよい。
本発明のコンセプトに従うと、少なくとも2つの電力供給は、PLD103に提供される。第一の電力供給VDDHまたはCRAM電力供給は、PLD103のルーティングファブリック(routing fabric)内のパストランジスタを制御するCRAM133のパーツに分配される。第二の電力供給VDDLまたはコア電力供給は、PLD103のコア内の他のロジック(例えば、ロジックファブリックおよびルーティングで、おそらく、メモリおよび他の機能ブロックを含む)に分配される。
CRAM133用の供給電圧は、本プロセスで許される公称最大電圧VDDNOM以下であり、コア供給電圧は、CRAM133への供給電圧以下である。VDDNOMは、CRAM電力供給を公称供給電圧以上に増やさないイベントにおいて、VDDHは同じであり得る。一般に、VDDHは、少なくともVDDNOMと同じほど高く、おそらく、VDDNOMより高い。なぜなら、コア電力供給(VDDL)は、ルーティングとロジックファブリックの双方にフィードするため、それに供給される電圧の特定値が、PLD103内のロジックとルーティングの性能を決定する。コア電力供給は、特定電圧を提供するために設計されてもよいしあるいは、必要に応じて、以下に詳細に述べるように、構成可能であってもよい。
一実施形態において、適切な供給電圧は、事前に決定され、電力供給は、これらの電圧を提供するために、PLD103の外部に設計または構成される。少なくとも1つの供給の電圧仕様は、供給電圧がユーザの回路の性能仕様に合うように、CADフローによって決定される。CADフローによって提供される電圧仕様は、特定のPLDユーザの設計に固有な電圧を提供する電力供給を設計するために、使用される。
他の実施形態において、構成可能電力供給が用いられる。構成可能電力供給は、供給電圧の少なくとも1つに供給される固有値を示す信号(例えば、信号315)をPLD103から受信する。PLD103は、ダイス上の不揮発性メモリ、構成ビットおよびダイス上のパラメータ測定回路の任意の1つ以上を使用して、電圧制御情報を生成する。
ダイス上の不揮発性メモリ133A〜133Cは、固有電圧を決定するために使用されるプロセス関連情報を格納するために、使用され得る。例えば、高速トランジスタを有するダイスは、低電圧が固有の性能レベルを達成するために使われてもよいことを示すコードを有し得る。代替的に、あるいは、このスキームと組み合わせて、ダイス上の測定回路は、性能に関するパラメータを感知でき、レギュレータ303に電圧制御情報を提供するために、そのパラメータを使用できる。例えば、ロジックまたはルーティングコンポーネントのような様々なPLD回路構造の飽和ドレイン電流(Idsat)または遅延の測定が実行され、性能仕様に合うように供給電圧を調節するために、使用され得る。
CRAM133は、何らかの電圧の調節がユーザの特定性能仕様に合うように実行されるべきことを示し得る。例えば、PLD103によって到達可能な最大速度で動作する必要のないユーザ回路は、低供給電圧が使われてもよいことを示すコードを有し得る。CRAM133A〜133Cに格納される値は、CADフローによって決定される。このCADフローは、ユーザの回路性能仕様を満足しながら、電力削減するために、印加され得る電圧に対する調整を決定する。
プロセス変更を考えなくとも、CRAM133へのコアロジックに対し、公称供給電圧より、わずかに高い電圧を印加することも可能であり得る。CRAM133の素子は、回路動作の間、通常は、スイッチしないからである。このように、高い供給電圧に起因すると考えられるデバイスの性能劣化は、それがデバイス故障を引き起こさない限り、許容可能となる。
例えば、1.1ボルトの最大供給電圧がスイッチングロジックに許容可能なプロセスにおいて、故障を生じずに、CRAM133に1.25ボルトを印加することは許容可能であり得る。時間とともに、CRAMの性能は幾分か劣化し得るが、劣化は回路の動作に物質的な影響をもたらさない。なぜなら、CRAM133のスイッチング時間は、回路の動作に影響を及ぼさないからである(構成が終わった後)。さらに、本発明の記載からメリットを享受できる当業者には理解されるように、このような劣化は、回路設計技術で調整し得る。
現在のPLDは、典型的には、ロジック素子またはプログラマブルロジック106のブロック間の信号をルーティングするCRAM素子で制御されるルーティングMUXの集合体である。従来は、これらMUXは、相補型金属酸化物半導体(CMOS)のインプリメンテーションよりダイス面積が狭い1セットのNMOSパストランジスタから成り立っていた。さらに、幾つかのPLDは、ロジックブロック(例えば、プログラマブルロジック106)をインプリメントするために、LUTを使う。このロジックブロックも、また、1つ以上のMUXを含む。MUXのロジックステージの幾つかは、NMOSパストランジスタとともにインプリメントされる。
図6は、本発明の例示的な実施形態に従うルーティングマルチプレクサとドライバの回路配置である。図6の回路配置は、CRAMセル133D〜133J、三入力MUX350、高速入力を提供するトランジスタ353、レベル回復インバータ(level−restored inverter)(またはバッファ)356、および、インバータ(またはバッファ)362を含む。
MUX350は、構成内に配置されたトランジスタ353A〜353Lを含み、本発明の記載からメリットを享受する当業者には理解される方法で動作する。CRAMセル133A〜133Iは、それぞれトランジスタ353A〜353Lに結合する。CRAMセル133A〜133Iのコンテンツは、どのトランジスタ353A〜353Lが導通するかを決定し、したがって、MUX350が実現するルーティング機能性を決定する。MUX350の出力は、レベル回復インバータ356の入力に結合する。
前述のように、回路配置は、トランジスタ353に結合された高速入力を含む。CRAMセル133Jがトランジスタ353の動作を制御する。トランジスタ353をオンにすると、高速入力をインバータ356の入力に直接結合し得るので、こうして、MUX350をバイパスする。MUX350をバイパスすると、高速入力は、短い遅延経路を経験し、それゆえ、回路配置の出力(すなわち、インバータ362の出力)をより速くするように影響を与える。
MUX350の出力とトランジスタ353の出力は、インバータ356の入力に結合する。なぜなら、それは、少なくとも1つのパストランジスタを介して、その入力を受信し、レベル回復インバータ356は、公称ロジックハイ出力に応答して、ロジックロー出力を提供する再生フィードバックを使用するからである。
レベル回復インバータ356は、pチャネルトランジスタ359Aおよびnチャネルトランジスタ359Bを含み、これらは従来型インバータのように配置されている。さらに、レベル回復インバータ356は、pチャネルトランジスタ359を含む。トランジスタ359のゲートは、インバータ356の出力に結合する。トランジスタ359のソースは、VDDLに結合する。トランジスタ359のドレインは、インバータ356の入力を駆動する。インバータ356の出力からその入力に結合することによって、トランジスタ359は、再生フィードバックを提供し、こうして、インバータ356の出力レベルを、その出力レベルが公称ロジックロー値のとき、回復する(またはプルダウンする)(すなわち、入力電圧をほぼVDDLのロジックハイ値にプル、または、上げるのに役立つ)。レベル回復インバータ356の出力は、インバータ362の入力を駆動する。インバータ362は、当業者に周知の回路配置を有する。
DDH供給は、CRAMセル133D〜133Jに供給電圧を提供することに留意すべきである。VDDHは比較的高い電圧レベルであることから、パストランジスタ353A〜353Lおよび353の出力電圧も高くすることが可能である。レベル回復インバータ356において、トランジスタ359は、必要に応じて、VDDLまたはVDDH供給から電力を受けてもよい。インバータ356のトランジスタ359A〜359B、および、インバータ362のトランジスタは、VDDL供給から自身への電力を受ける。VDDLは比較的低いレベルなので、回路内での電力浪費を削減する、あるいは、削減する傾向にある。
一般的に言えば、電力を最小化するには、VDDLレベルでロジックファブリックを動作することは、望ましいことに、気づく。しかしながら、LUTベースのロジック素子は、CRAM133によって駆動されないゲートを有するNMOSパストランジスタを含み得る。しかし、その代わりに、ルーティングファブリックからロジック信号によって駆動される。典型的には、LUTの最初の1ステージまたは2ステージは、NMOSパストランジスタを使う。それに対し、その他のLUTは、完全なCMOSパスゲートを使う。
このような状況で、ルーティング信号は、ルーティングマルチプレクサ(例えば、ロジック素子の入力MUX)の最終ステージが、その供給電圧として、VDDLを使う場合、VDDLにスウィングアップする。LUTが正確に、妥当な速度で動作するために、本発明のコンセプトの一局面は、NMOSゲート制御信号をVDDH供給のレベルにブーストする。そのためには、VDDLのレベルをVDDHのレベルまでブーストまたは回復するレベル変換器を使用してもよい。VDDLまたはVDDH供給のいずれかからLUTへのデータ入力を提供するCRAMセルを、必要に応じて、供給してもよい。
図7は、本発明の例示的な実施形態に従う回路配置であり、PLD内のLUT回路網に電力を供給するマルチ供給電圧を使うものを示す。図7は二入力LUTを示すが、必要に応じて、図7の回路配置を変更して、入力数の異なるものを発明のコンセプトに適用してもよい。これらの変更は、本発明の記載からメリットを享受する当業者の技術レベルに収まるものである。
図7の回路配置において、LUTの第一ステージは、VDDHで駆動されるNMOSパストランジスタ370A〜370Dを使用する。より特定的には、回路配置は、信号レベルを回復するためのレベル変換器を含む。レベル変換器は、VDDLから電力供給されるレベル回復インバータ356A、プルダウンNMOSトランジスタ383Aと383B、および、クロス結合プルアップPMOSトランジスタ380Aと380Bを含む。この配置において、一部のスイッチングトランジスタは、VDDHによって電力供給されるので、電圧は最大値を超えてはならない。その最大値は、デバイス寿命の間、許容できない性能劣化がなければ、トランジスタで許容され得るものである。
レベル回復インバータ356Aは、レベル回復インバータ356Aの入力に適用される入力信号から導かれる相補型信号で、トランジスタ383Aと383Bを駆動する。クロス結合トランジスタ380Aと380Bは、一対のVDDH参照(VDDH−referenced)カスケード式インバータ362A〜362Bに、VDDH参照出力信号を提供する。
クロス結合されたトランジスタ380A〜380Bのゲートは、順に、レベル変換器の出力信号をVDDHに上げる原因となる正のフィードバックの原因となる。VDDHを使うステージはいずれも、VDDHに結合されたPMOSプルアップトランジスタを使うべきで、そのステージに続くバッファも、PMOSプルアップトランジスタを完全に閉じて(shut off)、これらバッファを有効にするため、VDDHによって電力供給されるべきである。さらに、続くステージのPMOSパスゲートはいずれも、ソース接合を順方向バイアスにするのを避けるために、VDDHに結合された自身のボディを有するべきである。しかしながら、前述とは独立に、Nウェルスペースによって、デバイス面積が増えるのを防ぐために、PMOSデバイスの全てのボディ端子は、単一のVDDHに結合することが望ましいこともある。
カスケード式インバータ362A〜362Bは、NMOSパストランジスタ370A〜370Dに、ゲート信号を提供する。ゲート信号レベルに依存して、トランジスタ370A〜370Dは、選択的に、CRAMセル133K〜133Nから、それぞれ一対のレベル回復インバータ356C〜356Dに信号を渡す。インバータ356C〜356Dの出力は、CMOSトランスミッションゲート373A〜373Bのそれぞれの入力を駆動する。トランスミッションゲート373A〜373Bの出力は、インバータ362D(オプション)を駆動し、これが最終的に、回路の出力を駆動する。
LUTの他の入力は、レベル回復インバータ356Bをフィードする。インバータ356Bの出力は、インバータ362Cとともに、トランスミッションゲート373Aと373Bの入力をそれぞれ駆動する。
インバータ356Aと356Bは、インバータ362Cと362Dのように、VDDLによって電力供給される(VDDL参照される(referenced to))ことに留意すべきである。インバータ362A〜362Bは、VDDH参照される。なぜなら、レベルコンバータの出力も、また、VDDH参照されるからである。CRAMセル133K〜133Nおよびインバータ356C〜356Dも、必要に応じて、同じ供給(すなわち、VDDL供給またはVDDH供給のいずれか)から電力供給されることに留意すべきである。さらに、インバータ356C〜356DがVDDH供給を使用するとき、トランスミッションゲート373A〜373Bも、また、自身のボディ供給電圧(VBB)として、VDDHを使用すべきである。それは、ソース接合で、順方向バイアスとなるのを避けるためである。
代替的な実施形態において、CRAMセル133K〜133Nの出力信号をバッファするバッファを提供してもよい。バッファは、CRAMセルに戻るノイズカップリングを避けるのに役立ち得る。このような配置において、VDDLからCRAMセルを動作して、単一の供給をシェアするように、全てのCRAMセルを有効にすることは望ましい。こうして、電力ネットワークはシンプルになる。電力消費を減らすために、VDDL供給からCRAMの出力でバッファを動作してもよい。バッファは、VDDLに結合されたPMOSトランジスタのボディを有してもよい(なぜなら、関連トランジスタの絶縁されたゲート端子は、VDDHによって駆動され、トランジスタの残部は、VDDL参照であり得るから)。代替的に、ボディは、Nウェルのスペーシングを余分に取る必要がないように、VDDHに結合されてもよい。
図7の回路配置は、特定のアプリケーションまたはインプリメンテーションに適するように、幅広いバライエティの変更をしてもよい。図8〜図10は、幾つかの実施例を示す。
図8は、図7の回路配置から派生した回路配置であり、簡便化したレベル変換器を用いている。より特定的には、図8の回路配置は、VDDH供給によって電力供給されるレベル回復インバータ356Aを用いる。回路配置は、図7の配置と比較し、同じコンポーネントを維持している。しかしながら、図8の回路配置は、VDDH供給からVDDL供給へと電流が流れる(これが、潜在的にインバータ356Aでのリーク増加の原因となる)のを防ぐために、VDDLは(VDDH−VTN)未満であるべきではない。ここで、VTNはNMOSトランジスタの閾値電圧を示す。
図9は、図8の回路配置から派生した回路配置であり、CMOS LUTステージを用いている。より特定的には、CRAMセル133K〜133Nの出力は、CMOSトランスミッションゲート390A〜390Dを駆動する。順に、これらゲートは、続く上述のステージを駆動する。図9の回路配置は、LUT内のVDDLレベルから動作(VDDLレベルを許容)できる利点を提供し、また、電力消費も削減する。必要に応じて、図7、図8または図9のレベル変換器を用いてもよいことに留意すべきである。
図10は、図9の回路配置から派生した回路配置であり、CRAMセルの出力をバッファする。より特定的には、図10の回路配置は、インバータ362A1〜362D1を含み、そのそれぞれの入力は、CRAMセル133K〜133Nのそれぞれの出力に結合する。この回路配置において、CRAMセル133K〜133Nは、VDDHによって電力供給され、続くバッファは、VDDLによって電力供給される。こうして、電力消費は削減される。必要に応じて、図7または図8または図9のレベル変換器を用いてもよいことに留意すべきである。
本発明の他の局面は、PLD内のメモリ回路網の電力消費を削減するマルチ電力供給を使用することに関する。典型的には、メモリ設計は、供給電圧レベルに何らかの感度(sensitivity)を示す。換言すれば、メモリは幅広い範囲の供給電圧にわたって、許容可能なマージンで、動作しなくてもよい。その結果、PLD上のメモリ回路網に、VDDNOMレベルで、電力を供給してもよい。しかしながら、そのメモリ回路網とインターフェースまたは結合するPLD上の他の回路網を、他の供給電圧(例えば、VDDL)から、動作することは、利点もあり得る。適切なインターフェースにある供給電圧間で変換するために、上述の技術を用いてもよい。その結果、メモリ回路網の適切な動作を確保でき、また、PLD内での全電力消費も減らすことができる。
図11は、マルチ供給電圧によって供給される回路配置であって、メモリ回路網を含む本発明の例示的な実施形態に従うPLDの一部分である。より特定的には、図11の回路配置は、ルーティングインターフェース・制御ロジック403、レベル変換器406、ワード線デコーダ409、メモリコア415、センスアンプ・書き込みドライバ421、および、レベル変換器424を含む。
ルーティングインターフェース・制御ロジック403は、メモリ回路網がPLDの他の部分とインターフェースするのを可能にする。ルーティングインターフェース・制御ロジック403は、レベル変換器406とワード線ドライバ409と一緒に、メモリコア415の行をアドレスするのを容易にする。ワード線ドライバ409は、それがメモリコア415に提供する複数のワード線412を生成する。
その回路のコンストラクトは、ルーティングインターフェース・制御ロジック403、レベル変換器406およびセンスアンプ/書き込みドライバ421と一緒に、他のPLD回路網(図示せず)が、メモリコア415に情報を書き込むこと、および、メモリコア415からの情報を取り出すことができるようにする。センスアンプ/書き込みドライバ421は、複数の信号線418を介して、メモリコア415と通信し、情報交換する。メモリコア415は、必要に応じて、隣接メモリセルのアレイまたは他の適切なメモリ構造のようなメモリブロックを構成し得ることに、留意すべきである。
一般的に言えば、VDDNOMから動作するメモリ内の回路網の量を削減または最小化することは、節電を増大または最大化する傾向がある。図示された実施形態において、メモリコア415、ワード線デコーダ409、および、センスアンプ/書き込みドライバ421は、VDDNOMから動作する。
しかしながら、ルーティングインターフェース・制御ロジック403は、電力消費を削減するために、VDDLから動作する。VDDNOMによって電力供給されるレベル変換器406は、ルーティングインターフェース・制御ロジック403からのVDDL参照信号を、VDDNOMレベルの信号に変換し、これら信号をワード線デコーダ409に提供する。同様に、レベル変換器424は、ルーティングインターフェース・制御ロジック403からのVDDL参照書き込み情報を、VDDNOMレベルの書き込みデータに変換し、それをセンスアンプ/書き込みドライバ421に供給する。センスアンプの出力(すなわち、読み出しデータ)は、ルーティングインターフェース・制御ロジック403を直接駆動し得ることに、留意すべきである。
図11に示す実施形態において、レベル変換は、ワード線デコーダ409の入力で実行される。この配置は、スタティックな電力消費を幾分か増加させるが、ダイナミックな電力消費に及ぼす影響は比較的小さい。代替的な実施形態において、ワード線デコーダ409の出力でレベル変換を実行してもよい。図12は、このようなレベル変換スキームを用いる回路配置を示す。
図12の回路配置において、ワード線デコーダ409は、VDDLから電力供給され、こうして、その電力消費を削減できる(そのため、ワード線デコーダの入力にあるレベル変換器406は使われていない)。VDDLを参照するワード線デコーダ409のそれぞれの出力は、複数のレベル変換器406A〜406Cの対応する一つを駆動する。レベル変換器406A〜406Cは、VDDL参照入力信号を、VDDNOM参照出力信号に変換し、これら信号をメモリコア415に供給する。
クロックされたメモリコア415が使用されるとき、ワード線デコーダ409を、プリデコーダとして使用してもよい。より特定的には、メモリコア415のクロックされた性質に依存するダイナミック回路が、変換を実行するために、使われてもよい。このような回路において、本発明の記載からメリットを享受する当業者には既知のドミノロジックゲートのようなダイナミックロジック回路は、VDDLロジック(例えば、ルーティングインターフェース・制御ロジック403)によって駆動される入力を有し、ワード線を駆動するVDDNOMによって電力供給される、クロックされたワード線ドライバ(レベル変換器406A〜406C)を使用する。なぜなら、ダイナミックロジックは、フル供給電圧またはロジックハイ電圧に適度に近い電圧まで上げられる入力で動作できるから、ダイナミックロジックは、追加のトランジスタが全くなくても、レベル変換を実行できる。
図13は、本発明の例示的な実施形態に従う回路配置であり、PLDでの電力消費を削減するために、ダイナミックロジックを使用する。より特定的には、ANDゲート446、スタック化されたNMOSトランジスタ443と449、プルアップPMOSトランジスタ440、および、レベル回復インバータ356を含む。
ANDゲート446は、本質的に、アドレスデコード機能を実行する。本発明の記載からメリットを享受する当業者には理解されるように、必要に応じて、使用される回路網の他の部分、性能と設計の仕様と方法論などの要因に依存して、他の回路網を使用してもよい。ANDゲート446は、VDDLによって電力供給される。ANDゲート446は、2つの入力でなくとも、本発明の記載からメリットを享受する当業者には理解されるように、使用されるアドレスデコードスキームなどのような要因によって、必要に応じて、その入力の数は異なっていてもよい。
NMOSトランジスタ443と449、および、PMOSトランジスタ440は一緒に結合し、ダイナミックMOS回路を提供する。制御信号は、トランジスタ440と449のゲートを駆動する。ANDゲート446(あるいは他の適切な回路)の出力は、トランジスタ443のゲートを駆動する。制御信号は、ロジックロー状態を有するとき、トランジスタ440はオンで、トランジスタはオフであって、回路はプリチャージする。
制御信号が、ロジックハイ状態を有するとき、トランジスタ449はオンに変わる。トランジスタ443がオンかオフかによって、インバータ356の入力は、グラウンドまで引かれるか、ダイナミック回路への供給電圧であるVDDNOM近傍になる。VDDNOMに参照されたインバータ356の出力は、その入力の状態(すなわち、ダイナミック回路の出力)を反映する。
回路のダイナミックな性質から、トランジスタ443のゲートへの入力は、完全にスウィングしてVDDNOMまで上がる必要はない。ANDゲート446がVDDLによって電力供給される場合、ANDゲート446の出力はVDDLに参照される。しかしながら、トランジスタ443のゲートでのVDDLレベルは、それをオンにするには不十分であり(ANDゲート446への入力が双方ともロジックハイ状態のとき)、ダイナミック回路が放電し、インバータ356の入力をローに引っ張ることができる。
こうして、図13の回路配置は、VDDLをアドレスプリデコーダ回路網(図に明示せず)とインターフェース回路網(例えば、ANDゲート446)の供給電圧として、アドレスデコード機能の残りを実行するダイナミック回路網に、使うことができる。それは、メモリコアに結合するので、インバータ356は、VDDNOMに参照された出力電圧を提供する。こうして、メモリコアとメモリ回路網全体の信頼性ある動作を確保できる。回路の一部に供給電圧として、VDDLを用いることで、図示の回路配置は、PLDの電力消費全体を削減できる。
上述のように、図13の回路配置は、様々な形式をとり得て、図示された特定の配置は例示的なものである。例えば、必要に応じて、ANDゲート446の機能性をダイナミック回路内に組み込んでもよい。図14は、図13の回路配置のこのようなバリエーションを示す。
より特定的には、図14において、図13のANDゲートは省かれ、追加のNMOSトランジスタ458が、トランジスタ443に直列に結合されている。アドレスプリデコーダによって提供され、VDDLに参照された入力信号は、トランジスタ443と458のゲートをフィードする。トランジスタ443と458の組み合わせが、ANDゲート446と等価な機能性を提供する。
ANDゲート446を駆動する信号と同様に、トランジスタ443と458のゲートを駆動する信号は、VDDLによって電力供給されるプリデコード回路から提供される。こうして、図13の回路と同様に、図14の回路配置は、PLDの電力消費全体を削減するメリットを提供する。
PLDの電力消費と性能とを最適化するために、本明細書に記載の技術とともに、PLD設計ソフトウェアを用いてもよい。図15は、本発明の例示的な実施形態に従うPLDコンピュータ支援設計(CAD)が使用する様々なソフトウェアモジュールを示す。そのモジュールは、設計エントリモジュール503、合成モジュール506、配置・ルート(place−and−route)モジュール509、および、検証(verification)モジュール512を含む。以下の記述は、PLDの消費電力を削減または最小化するCAD技術の記載方法に則って、各モジュールの動作の簡略な説明を提供する。
設計エントリモジュール503は、回路とその挙動を、必要に応じて、図式、ハードウェア記述言語(HDL)または波形などのグラフィックまたはテキストによる記述を用いて、様々な設計記述ファイルを編集できる。ユーザは、設計エントリモジュール503を用いて、あるいは、種々の電子設計自動化(EDA)またはCADツール(例えば、業界標準のEDAツールのような)を、必要に応じて使い、設計ファイルを作成してもよい。ユーザは、グラフィックフォーマット、波形ベースのフォーマット、図式フォーマット、テキストまたはバイナリフォーマット、あるいは、これらフォーマットの組み合わせで、必要に応じて、設計を入力してよい。
合成モジュール506は、設計エントリモジュール503の出力を受け入れる。ユーザ提供の設計に基づいて、合成モジュール506は、ユーザ提供の設計を実現する適切なロジック回路網を生成する。1つ以上のPLD(図に明示せず)は、合成された設計全体またはシステム全体をインプリメントする。合成モジュール506は、ユーザ設計の様々なモジュールとを統合し、これらを的確に動作すること、および、インターフェースすることのできる任意のグルー(glue)ロジックを生成してもよい。例えば、合成モジュール506は、一つのブロックの出力が、他のブロックの入力に、的確にインターフェースするような適切なハードウェアを提供する。合成モジュール506は、設計全体またはシステム全体のモジュールのそれぞれの仕様に合う適切なハードウェアを提供してもよい。
さらに、合成モジュール506は、合成設計を最適化するために、アルゴリズムやルーチンを含んでもよい。最適化によって、合成モジュール506は、設計全体またはシステム全体をインプリメントする1つ以上のPLDのリソースをより効率的に使うことを模索する。合成モジュール506は、その出力を、配置・ルートモジュール509に提供する。
配置・ルートモジュール509は、最適なロジックマッピングと配置を実行するために、設計者のタイミング仕様を用いる。ロジックマッピングと配置は、PLD内リソースのルーティング利用を決定する。換言すれば、設計の特定のパーツに対し、PLDとの特定のプログラマブル相互接続を用いて、配置・ルートモジュール509は、設計全体またはシステム全体の性能最適化に役立つ。PLDルーティングリソースを的確に用いると、配置・ルートモジュール509は、設計全体またはシステム全体のクリティカルなタイミング経路に合うのに役立つ。配置・ルートモジュール509は、本発明の記載からメリットを享受する当業者には周知の方法で、タイミングクロージャ(closure)をより速く提供する一助となるために、クリティカルなタイミング経路を最適化する。その結果、設計全体またはシステム全体は、より速い性能(すなわち、より速いクロック速度での動作、あるいは、より高い処理量)を達成できる。配置・ルートモジュール509は、必要に応じて、デザインまたはシステムの一部または全部の電力消費を適正化するために、設計またはシステム内で、クリティカルな経路に関する情報を使ってもよい。
検証モジュール512は、設計のシミュレーションおよび検証を行う。シミュレーションと検証は、その一部で、その設計が、ユーザの指示した仕様と適合しているかどうかの検証を求める。また、シミュレーションと検証は、その設計を試作する前に、設計における任意の問題を検出し、修正することも狙いとしている。こうして、検証モジュール512は、ユーザが総コストを削減し、設計全体またはシステム全体の商品化するまでの時間を短縮するに役立つ。
検証モジュール512は、必要に応じて、様々な検証およびシミュレーションでのオプションを支援し、実行し得る。そのオプションには、必要に応じて、機能検証、テストベンチ形成、スタティックタイミング解析、タイミングシミュレーション、ハードウェア/ソフトウェアシミュレーション、システム内検証、ボードレベルタイミング解析、信号整合性解析および電磁環境適合性(EMC)、形式ネットリスト(formal netlist)検証、ならびに、電力消費推定を含み得る。必要に応じて、本発明の記載からメリットを享受する当業者には理解されるように、その他または追加の検証技術も実行してもよいことに留意すべきである。また、設計検証は、そのフローの他の局面において、適切に、また、必要に応じて、実行されてもよい。
以下の記載は、マルチ供給電圧を用いるPLDにおける幾つかのCAD方法の詳細を提供する。CADフローあるいは方法は、ユーザの速度仕様を満たしながら、最適電圧を決定し、電力を最小化する。VDDLの最適電圧値は、ユーザの速度/タイミング仕様に従って、回路の正しい動作を提供する最も低い値である。
その構成部分の一つとして、CADフローは、ユーザがPLDを使ってインプリメントしたいと願うユーザ設計のタイミング解析を用いることに留意すべきである。本発明の一局面は、タイミング解析の幾つかの方法を提供する。
一般的に言えば、タイミングモデルは、精度と計算リソース(すなわち、時間、処理能力とリソース、メモリ、計算複雑性など)とのトレードオフである。VDDLの値を最適化するために、タイミングモデルは、回路がVDDLに選ばれた値で動作することを確保すべきである。ある特定の値のVDDLにおける性能を確保するのに十分な精度あるタイミングモデルは、最終タイミングモデルと考えられ得る。最終タイミングモデルは、典型的には、どんな不正確さに対しても、設計のタイミングにマージンを提供することで補償され、できるだけ精度よく作成される。最終タイミングモデルは、リソースの各タイプに対し、1つを超える遅延の値(例えば、最小遅延や最大遅延、あるいは、様々なプロセス、電圧または温度端での遅延)を含み得ることに留意すべきである。
特定の値のVDDLを使うために、最終タイミングモデルは、VDDLの値に何らかの依存度を有するべきである。タイミング解析の一つの目的は、PLD内で実際にインプリメントされる回路の遅延が、最終タイミングモデルで予測されるバウンドオン(bound on)遅延を超えないことである。なぜなら、デバイスの絶対性能は、VDDLの最高値(VDDL=VDDNOM)における最終タイミングモデルによって、制限されるので、最終タイミングモデルは、この電圧値において、できるだけ正確であるべきである。
タイミングモデルが保守的である(すなわち、回路遅延が、任意の電圧において、そのモデルで予測される遅延より小さいことが保証されている)限り、低電圧においては、精度が落ちることも許容され得る。精度の低いことが許され得るのは、究極の効果が、動作のために選択されるVDDL値を過大予測することであり、これは、より精度の高いモデルに比し、幾分か過度の電力損失となり得るが、機能的欠陥や故障の原因にまで至らないからである。本発明の記載からメリットを享受する当業者には理解されるように、供給電圧値の範囲全体にわたって、最終タイミングモデルの精度が高ければ高いほど、CADシステムは、回路機能性(例えば、ユーザのタイミング仕様に合う)を提供するVDDLの最小値をより緊密に予測できる。
タイミング解析の一実施形態において、リソース(例えば、プログラマブルロジック回路、プログラマブルルーティングなど)の各タイプのタイミング特性は、VDDLの関数として、モデル化される。VDDLの値は変化するので、モデルは、様々なリソースのタイミング解析を実行できる。
他の実施形態において、リソースの各タイプのタイミングは、VDDL=VDDNOMでモデル化される。また、1つ以上のスケーリングファクターが、リソースタイプの様々なクラスに、様々な電圧の関数として、適用される。例えば、リソースは、ロジックまたはルーティングリソースとして、クラス分けされ得る。また、各クラスの遅延スケーリング関数は、供給電圧の関数として、提供され得る。一つの例示的な実施形態において、リソースのタイプ全てに、単一のスケーリング関数を適用してもよい。各スケーリング関数は、そのクラスのリソースに向かう適切な最悪のケース(すなわち、最小タイミングモデルにおいて、全てにおける最小、最大タイミングモデルにおいて、全てにおける最大)を提供する。
PLDの供給電圧を選択する上述のタイミング解析を用いる種々のアルゴリズムを用いてもよい。一実施形態において、CADフローは、最大公称供給電圧はVDDL供給として供給されるものと仮定して、動作する。CADフローは、ユーザのタイミング仕様にできるだけ大きいマージンで合うように試みる間に、プログラマブルロジックおよびルーティングファブリックのユーザ設計のクラスター化、配置(placement)、および、ルーティングを実行する。このマージンは、VDDL値がさらに小さくなり、それでもユーザのタイミング仕様に合うことを可能にする。クラスター化、配置、および、ルーティングを実行後、第一のタイミング解析が実行され、回路で利用可能なタイミングマージンの実際の量が決定する。
回路が動作できるVDDLの最低値を決定するために、最終タイミングモデルを用いてもよい。この方法は、様々な電圧値における回路の性能を決定する最終タイミングモデルを使って、1つ以上のタイミング解析を用いる。特定回路のタイミング特性に基づき、また、電圧の当初推定値に対する代表的な遅延を用いて、最低電圧の更に精度高い推定値を求めることができる。
例えば、当初、タイミング仕様が10nsであるユーザ回路が、1.2VのVDDL値で、使われていると仮定する。最終タイミングモデルが使われている場合、回路は、1.2VのVDDL値を使って、8nsで動作できると判断される。次いで、本方法は、1.1Vのような他の電圧を選択し、回路は最終タイミングモデルを使い、その回路は9nsの遅延で動作できると判断する。これら2つの判断を組み合わせて、直線外挿を行い、1.0Vが動作に対する最低VDDL電圧であると推定し得る。次いで、本解析は、この電圧で反復的に繰り返され、最低電圧が、ある程度の正確さをもって決定されるまで行われる。
上述のバリエーションは、VDDLの最小値を決定するために、割線法を使う。本発明の記載からメリットを享受する当業者には理解されるように、十分な精度でVDDLの最小値を求める他の方法を使ってもよい。一例として、二分探索法を用いてもよい。これらの方法が最終タイミングモデルを使うこと、および、繰り返しごとに、最終タイミングモデルで使われてきた何らかのセットのVDDLにおける予見性能を用いて、新たな推定値が決定されることに留意すべきである。
図16は、上記の実施形態の概略を提供する。図示された方法は、単一タイミングモデルを使う。このモデルは、回路を通しての遅延を決定するために使われ、VDDLの最小値を決定するために、1回以上の反復を実行する。
より特定的には、603で、本方法はVDDL=VDDNOMに設定する(すなわち、VDDLにVDDNOMを割り当てる)。606で、設計の配置・ルーティングが実行される。609で、VDDLの今の(current)値を用いる設計のタイミング解析が実行される。タイミング解析は、タイミングモデルを使う。そのモデルは、上述のように、VDDLの関数として、タイミングに何らかの依存性を含む。
609で、VDDLの最小値は、1つ以上前のVDDL値でのタイミング計算を使って、ユーザのタイミング仕様に合うように決定される。612で、ユーザのタイミング仕様に合うVDDLの最小値を、前の繰り返しで使われた1つ以上のVDDL値でのタイミングを用いて、決定する。615で、テストが行われ、推定されたVDDLのレベルまたは精度が、性能を提供するのに十分であるか、電力削減の最適化が所望のレベルであるかを判断する。推定されたVDDLの精度が不十分であれば、本方法は、別のVDDL値を選択するために、609に戻る。
最終タイミングモデルを使って、回路の何らかの既知のタイミングを与えると、他のタイミング解析を行わずに、何らかの特定タイミングに合うように動作できるVDDLの値を推定するのは、有利であり得ることに、留意すべきである。それを行うために、個別のタイミングモデルである遅延感度タイミングモデルを使うことが望ましいこともある。遅延感度タイミングモデルは、電圧の関数として、完全な回路のタイミングの推定値を提供する。この推定値は、正確ではないかもしれないが、的確に動作され得るVDDLの推定するために使用される。
それゆえ、遅延感度モデルは、最終タイミングモデルに比べ、精度が低いこともある。しかしながら、遅延感度モデルが、最終タイミングモデルと、同じくらい精度よく、あるいは、おそらく、同等とすることも可能である。遅延感度モデルが、最終タイミングモデルに比べ、悲観的であることが保証されていないなら、精度の低い遅延感度モデルを使ったこのような推定値のそれぞれは、最終タイミングモデルを用いて、検証されるべきである。しかしながら、遅延感度モデルを使用して、CADフローは、各繰り返しにおいて、より精度高いVDDL値にすることができる。
図16に図示し、上述した方法のバリエーションのように、個別の遅延感度モデルの利用を含めることで、繰り返しの回数を減らし得る。遅延感度モデルは、複雑度は変化し得るが、VDDLの関数として、回路全体の性能を反映することを意図している。一つのシンプルな遅延感度モデルは、遅延対電圧の特性表を用いることを含む。この表は、ユーザ回路のクリティカルな経路で発生するPLDのリソースの代表的なミックスを使う。特性表は、推定されたVDDL値が許容可能な最低値に十分近づくまで、推定VDDL値に繰り返して用いてもよい。
他のバリエーションとして、タイミング解析は、最終タイミングモデルを使う単一解析において、電圧の関数として、回路のタイミングを決定する。この場合、遅延感度モデルは、最終タイミングモデルと同じくらい詳細で、同等であり得る。換言すれば、回路で関心ある各点で、単一遅延値を反映する遅延値を使う代わりに、タイミングは、電圧の関数として、遅延の明確なモデルを使うタイミング解析の各ステップで計算される。
最も詳細なバージョンにおいて、このモデルは、回路の各タイミングポイントで、電圧の関数とすると、タイミングの精度の高いモデルになる。このモデルは、例えば、区分的な線形遅延モデルのような区分的な多項式になり得る。このタイミング解析の最後に、回路全体のタイミングが、電圧の関数として分かり、次いで、特定の遅延に対して、結果得られた遅延対電圧の関数を解くことで、要求される遅延の値に合う最低供給電圧を見出し得る。この場合、遅延感度モデルと最終タイミングモデルとは同じである。なぜなら、タイミング解析は、タイミング解析の一部として、遅延感度解析を行うからである。遅延感度モデルの他のバリエーションは、必要に応じて、単一の特性表の極限と最終タイミングモデルの使用との間にある。
一つのバージョンとして、タイミング解析器には、電圧に対する多数の回路経路の感度の近似表現を含むことができる。例えば、ルーティング遅延とロジック遅延が別々の電圧でスケールされたアーキテクチャにおいて、タイミング解析器は、1つ以上の異なるリソースタイプに起因する遅延の総量をトラックし得る。一般に、タイミング解析器は、必要に応じて、また、本発明の記載からメリットを享受する当業者には理解されるように、任意の複雑さを有する遅延対電圧のモデルを構築できる。
さらに、詳細な上記の有効なアプローチは、区分的な線形遅延対電圧曲線を決定することである。この曲線は、2つの線形セクション間に、多くても1つのブレークポイントを含む。遅延が、電圧に対する既知の感度を有する多数の異なるリソースタイプに依存していると、モデル化するアプローチは、独立な感度の数に対応するようにブレークポイントの数を固定した区分的な線形アプローチと等価である。
より詳細でないアプローチは、各ノードでの最大遅延および最大感度を考慮し、こうして、必要とされるデータ量を減らす。タイミング解析器が、最終タイミングモデルほど厳密でない遅延感度タイミングモデルを使う各アプローチにおいて、精度ある回答を提供するために、最終タイミングモデルを繰り返し使って、実行してもよい。遅延感度モデルが、最終タイミングモデルに比べ、悲観的であることが保証され得るなら、追加の繰り返しを実行する必要はない。とはいえ、それを実行した方が、VDDLの推定最小値の精度が高くなる。詳細で時間を要するアプローチをより丁寧に行うことも、より簡略に行うことも、いずれも可能であるが、電圧(個々の経路または素子の電圧、あるいは、集合体となった経路または素子の電圧)に対する遅延依存性を、モデル化するアプローチは、いずれも、特定のユーザ設計であれ、ある一群の設計からなる表現であれ、本発明の範囲である。
図16の方法のバリエーションとして、609で、VDDLの今の値を用いる回路のタイミング解析を実行してもよい。それは、VDDLの関数として、タイミングに何らかの依存性を含み、かつ、VDDLに何らかの依存性を示すことを報告するタイミングモデルを用いてである。612で、新たなVDDL値を推定するために、609で計算された電圧の関数としてタイミングを用いて、ユーザのタイミング仕様に合うVDDLの最小値を決定する。(603と606で実行された関数は、および、615でのテストは、上述のとおりであり得る。)
タイミングが、電圧の関数として、はっきりと各ノードで計算されるなら、解析の最後に、回路のタイミング全体が、電圧範囲全体にわたって、決定される。次いで、CADフローは、回路が動作できる最低の供給電圧を決定するために、電圧のディスクリートなセットから1つを選ぶか、あるいは、有限なデータセットにわたって、内挿を実行するかのいずれかである。なぜなら、遅延と電圧との関数関係は、比較的速く効率的な計算をするための近似であってもよく、また、特定の電圧での、より厳密なタイミング特性を再び使って、タイミング解析を実行するのが望ましいこともあるからである。それは、ユーザのタイミング仕様に合うかどうかの検証をするためであり、そして、仕様に合っていないイベントの場合、おそらく電圧調整を繰り返すためである。
上記の例は、電圧依存性を有する回路の遅延特性を計算するアプローチの単なる例を提供したに過ぎないことに留意すべきである。本発明の記載のメリットを享受する当業者には、理解されるように、VDDLの最小レベルを決定する方法で、この依存性を含む他のアプローチを使ってもよい。
電圧の関数として、特定の回路の遅延解析の複雑化を避けるために、CADフローは、必要に応じて、典型的な回路の全体事象をよりシンプルにした表現を使用してもよい。他の例示的な実施形態において、公称値でのコア電圧用のタイミング特性を用いる単一のタイミング解析に引き続き、CADフローは、クラスター化、配置、およびルーティングを実行する。
十分なマージンが存在する場合、CADフローは、PLD内の典型的な回路における遅延対電圧の表現を有する電圧と比較したタイミングのトレードオフを用いて、許容可能な最低電圧を推定する。CADフローは、次いで、この特定のコア電圧で決定されるタイミング特性を用いたタイミング解析を繰り返す。これは、ユーザのタイミング仕様に、まだ合っているか、あるいは、過剰のマージンが存在するかを判断するためである。
このタイミング解析の結果は、CADフローに第二の電圧−タイミングポイントを提供し、例えば、直線内挿または外挿を使って、コア電圧をより厳密に推定するために使うことができる。このプロセスは、必要に応じて、所望の許容範囲に収まるまで、全体回路の電圧−タイミングトレードオフの更に詳細なモデルを順々に用いて、反復して繰り返される。決定されたコア電圧は、この電圧レベルをデリバーする電力供給を構成できるように、次いで、ユーザへのデータとして、あるいは、PLDのプログラミングストリームに組み込まれるデータとして、CADフローから出力される。
遅延が電圧の関数として、どのように変化するかの表現は、多数のディスクリート回路の挙動の平均であってもよいし、あるいは、その表現より任意の特定の回路が悪い遅延/電圧特性を有する可能性を減らすために、悲観的になることを意図的に設計されたものであってもよく、こうして、多数のタイミング反復を生じることに、注目すべきである。例えば、典型的な回路は、1%VDDLばらつきに対し、1.5%の遅延を示し得るが、数値計算は、1%VDDLばらつきに対し、より悲観的な2%を使い得る。こうして、任意の特定の回路が推定されるより、高い感度を有する可能性を減らすことができる。
上述のCADフローは、固定のVDDL値で、回路のインプリメンテーションと最適化(配置およびルーティング)を実行し、次いで、プロセッシングステップ後の回路タイミング要求に合うVDDLの最小値を決定することに留意すべきである。回路最適化の改善は、その代わりに、必要に応じて、回路最適化アルゴリズム(配置およびルーティングのような)の間に使用される最も可能性の高いVDDL値を考慮して達成され得る。以下の記述は、幾つかの例を提供する。
図17は、PLD供給電圧を決定する本発明の例示的な実施形態に従う方法を簡略化した流れ図700を示す。図17の方法は、VDDL供給電圧の選択も実行する配置最適化を提供する。703で、本方法はVDDL=VDDNOMに設定する(すなわち、VDDLにVDDNOMを割り当てる)。706で、設計の配置・ルーティングが実行される。709で、VDDLの今の値に対応する遅延推定値を用いて、配置が最適化される。
712で、タイミングを合わせることが可能な最小のVDDLを決定するために、設計は解析される。タイミング解析は、必要に応じて、図16で示された方法あるいは上述された方法のバリエーションを用いて、実行されてもよい。
715で、VDDLの値が求められ、本方法は718に続く。さもなくば、716に続き、VDDLはVDDLの最大値に設定され、本方法は724に続く。718で、VDDL値が、最小のVDDL値であるか、ルータビリティの目的に合っているかを判断するテストがなされる。そうである場合は、本方法は724に続く。さもなくば、721で、繰り返し数(VDDLを求めるための)が到達し、VDDLの減少がなくなり、あるいは、タイミングまたはルータビリティが改善し、目的を達成したかを判断するテストがなされる。判断するテストがなされる。そうであれば、本方法は724に続く。さもなくば、本方法は709に戻る。
また、別の例として、図18は、PLD供給電圧を決定する本発明の例示的な実施形態に従う別の方法を簡略化した流れ図800を示す。図18の方法は、VDDL供給電圧の選択も実行するルーティング最適化を提供する。図18の方法は、図17の724から803へと続けることで、図17に示すプロセスを強化する
803で、正当なルーティング(ルーティングリソースに関する制約/仕様を満たすルーティング)が形成され、タイミングが最適化される。タイミング解析と最適化は、必要に応じて、図16で示された方法あるいは上述された方法のバリエーションを用いて、実行される。806で、タイミングを合わせることが可能な最小のVDDLを決定するために、設計は解析される。
809で、VDDLの値が求められると、本方法は815に続く。さもなくば、812に続き、VDDLはVDDLの最大値に設定され、本方法は821に続く。815で、VDDL値が最小のVDDL値であるか、タイミングの目的に合っているかを判断するテストがなされる。そうである場合は、本方法は821に続く。さもなくば、818で、VDDLの減少が得られたかの判断をするテストがなされる。減少が得られてなければ、本方法は821に続く。さもなくば、本方法は806に戻る。
DDHのレベルは、必要に応じて、記載されたプロセスとは個別に、あるいは、上述のプロセスに含まれるCADフローの一部として、設定されることに、留意すべきである。また、他の代替として、ユーザは、必要に応じて、VDDH供給のレベルを提供してもよい。ユーザが、そのようにするのは、必要に応じて、自分の好みに基づいて、あるいは、CADフローによって提供されるデータに基づいてでもよい。
必要に応じ、また、本発明の記載からメリットを享受する当業者には理解されるように、本技術分野で他の名称で知られるプログラマブルまたは構成可能ロジック回路網を含む様々なプログラマブルICに、本発明のコンセプトが有効に適用され得ることに留意すべきである。このような回路網には、例えば、コンプレックスプログラマブルロジックデバイス(CPLD)、プログラマブルゲートアレイ(PGA)、および、フィールドプログラマブルゲートアレイ(FPGA)として知られるデバイスを含む。
図に関して言えば、示された様々なブロックは主としてコンセプト的機能と信号の流れを描いていることに、当業者は気付き得る。実際の回路のインプリメンテーションにおいて、様々な機能ブロック用として、個別に識別可能なハードウェアを含んでも、含まなくてもよいし、また、示された特定回路網を使っても、使わなくてもよい。例えば、必要に応じ、様々なブロックの機能性を1つの回路ブロックに組み合わせてもよい。さらに、必要に応じて、1つのブロックの機能性を幾つかの回路ブロックで実現してもよい。本発明の記載からメリットを享受する当業者には理解されるように、回路のインプリメンテーションにおける選択は、任意のインプリメンテーションに対する特定の設計や性能などの様々な要因に依存する。本明細書に記載された実施形態に加えて、他の変更や代替的な実施形態は、本発明の記載からメリットを享受する当業者には、明らかである。したがって、本記載は、当業者が本発明を実行する方法を開示しており、本記載は単に例示的なものに過ぎないと解釈されるべきである。
図示され、記載された本発明の形式は、現時点において、好適または例示的な実施形態として、考えられるべきである。当業者は、本文書に記載された発明の範囲から逸脱することなく、パーツの形状、寸法および配置を様々に変更してもよい。例えば、本明細書に図示および記載されたエレメントを均等なエレメントに置換してもよい。さらに、本発明の記載からメリットを享受する当業者は、本発明の範囲から逸脱することなく、本発明の特定の特徴を他の特徴とは独立に用いてもよい。
本発明の例示的な実施形態に従うPLDの一般的なブロック図を示す。 本発明の例示的な実施形態に従うPLDの平面図を示す。 本発明の例示的な実施形態に従うPLD内のプログラマブルロジック回路網の一部分のブロック図を示す。 本発明の例示的な実施形態に従うマルチ供給電圧PLD内のブロック図を示す。 本発明の別の例示的な実施形態に従うマルチ供給電圧PLD内のブロック図を示す。 本発明の例示的な実施形態に従うルーティングマルチプレクサおよびドライバのための回路配置を示す。 PLD内のLUT回路網に印加されるマルチ供給電圧に用いる本発明の例示的な実施形態に従う回路配置を示す。 PLD内のLUT回路網に印加されるマルチ供給電圧に用いる本発明の例示的な実施形態に従う回路配置を示す。 PLD内のLUT回路網に印加されるマルチ供給電圧に用いる本発明の例示的な実施形態に従う回路配置を示す。 PLD内のLUT回路網に印加されるマルチ供給電圧に用いる本発明の例示的な実施形態に従う回路配置を示す。。 メモリ回路網を含む本発明の例示的な実施形態に従うPLDの一部分で、マルチ供給電圧によって供給される回路配置を示す。 メモリ回路網を含む本発明の別の例示的な実施形態に従うPLDの一部分で、マルチ供給電圧によって供給される回路配置を示す。 PLDの電力消費を削減するダイナミックロジックを用いる本発明の例示的な実施形態に従う回路配置を示す。 本発明の別の例示的な実施形態に従う図13の回路配置のバリエーションを示す。 本発明の例示的な実施形態に従うPLD CADソフトウェアを用いる様々なソフトフェアモジュールを示す。 PLD供給電圧を決定する本発明の例示的な実施形態に従う方法を簡略化した流れ図600を示す。 PLD供給電圧を決定する本発明の例示的な実施形態に従う別の方法を簡略化した流れ図700を示す。 PLD供給電圧を決定する本発明の例示的な実施形態に従う更なる別の方法を簡略化した流れ図800を示す。
符号の説明
103 プログラマブルロジックデバイス(PLD)
106 プログラマブルロジック
109 プログラマブル相互接続
112 入出力回路網
115 テスト/デバッグ回路網
118 プロセッサ
121 通信回路網
124 メモリ
127 制御装置
130 構成回路網
133 構成メモリ
133A、133B、133C CRAMセル
136 制御回路網
303 レギュレータ
306 プロセスモニタ回路
309 電力コード生成器
312A〜312C メモリセル
315 信号

Claims (38)

  1. 第一の供給電圧によって電力供給されるように構成されたユーザ設計の第一の回路と、
    第二の供給電圧によって電力供給されるように構成された該ユーザ設計の第二の回路と
    を備える、プログラマブルロジックデバイス(PLD)であって、
    該第一と第二の供給電圧の少なくとも一方は、該PLDの該ユーザ設計を実行するために使用される該PLDのコンピュータ支援設計(CAD)フローによって決定される、プログラマブルロジックデバイス(PLD)。
  2. 前記第一および第二の供給電圧が、前記プログラマブルロジックデバイス(PLD)外部のレギュレータによって提供される、請求項1に記載のプログラマブルロジックデバイス(PLD)。
  3. 前記第一および第二の供給電圧が、レギュレータで提供され、該レギュレータの少なくとも一部は、前記プログラマブルロジックデバイス(PLD)内にある、請求項1に記載のプログラマブルロジックデバイス(PLD)。
  4. 前記第一および第二の供給電圧の少なくとも一方を提供するように構成されたレギュレータに、少なくとも1つの信号を提供するコード生成器をさらに備える、請求項1に記載のプログラマブルロジックデバイス(PLD)。
  5. 前記レギュレータは、前記第一および第二の供給電圧の少なくとも一方のレベルに設定する少なくとも1つの信号を使うように構成される、請求項4に記載のプログラマブルロジックデバイス(PLD)。
  6. 前記少なくとも1つの信号は、前記プログラマブルロジックデバイス(PLD)の構成メモリ(CRAM)内のデータから導かれる情報を含む、請求項5に記載のプログラマブルロジックデバイス(PLD)。
  7. 前記少なくとも1つの信号は、前記プログラマブルロジックデバイス(PLD)内でコード化されたデータから導かれる情報を含む、請求項5に記載のプログラマブルロジックデバイス(PLD)。
  8. プロセス関連情報を提供するように構成されたプロセスモニタ回路をさらに備え、前記少なくとも1つの信号は、該プロセスモニタ回路の出力から導かれる情報を含む、請求項5に記載のプログラマブルロジックデバイス(PLD)。
  9. 第一の供給電圧によって電力供給される第一の回路と、
    第二の供給電圧によって電力供給される第二の回路と
    を備える、プログラマブルロジックデバイス(PLD)であって、
    該第二の供給電圧は、第一の供給電圧より低い、プログラマブルロジックデバイス(PLD)。
  10. 前記第一の回路は、前記プログラマブルロジックデバイス(PLD)内のマルチプレクサに結合された構成メモリセルを備える、請求項9に記載のプログラマブルロジックデバイス(PLD)。
  11. 前記第二の回路は、前記マルチプレクサに結合されたレベル回復インバータを備える、請求項10に記載のプログラマブルロジックデバイス(PLD)。
  12. 前記第二の回路は、前記レベル回復インバータに結合されたインバータを備える、請求項11に記載のプログラマブルロジックデバイス(PLD)。
  13. 前記第一の回路は、信号レベル変換器を備える、請求項9に記載のプログラマブルロジックデバイス(PLD)。
  14. 前記第二の回路は、信号レベル変換器を備える、請求項9に記載のプログラマブルロジックデバイス(PLD)。
  15. 前記第一および第二の供給電圧によって電力供給されるレベル変換器をさらに備える、請求項9に記載のプログラマブルロジックデバイス(PLD)。
  16. 前記第一の回路は、複数のレベル回復インバータに結合された複数の構成メモリセルを備える、請求項9に記載のプログラマブルロジックデバイス(PLD)。
  17. 前記第二の回路は、複数のレベル回復インバータに結合された複数の構成メモリセルを備える、請求項9に記載のプログラマブルロジックデバイス(PLD)。
  18. 前記第二の回路は、複数の構成メモリセルおよび複数のインバータを備え、該複数の構成メモリセルは、複数のトランスミッションゲートを介して、該複数のインバータに結合する、請求項9に記載のプログラマブルロジックデバイス(PLD)。
  19. 前記第一の回路は複数の構成メモリセルを備え、前記第二の回路は複数のインバータを備え、該複数の構成メモリセルは該複数のインバータに結合し、該複数のインバータは複数のトランスミッションゲートに結合する、請求項9に記載のプログラマブルロジックデバイス(PLD)。
  20. 前記第二の供給電圧によって電力供給される第一のインターフェース回路と、
    第三の供給電圧によって電力供給される第一のレベル変換器であって、インターフェース回路に結合される、第一のレベル変換器と、
    該第三の供給電圧によって電力供給されるデコーダであって、該第一のレベル変換器に結合される、デコーダと、
    該第三の供給電圧によって電力供給されるメモリ回路であって、該デコーダに結合される、メモリ回路と
    をさらに備える、請求項9に記載のプログラマブルロジックデバイス(PLD)。
  21. 前記第三の供給電圧によって電力供給される第二のインターフェース回路であって、前記メモリ回路に結合される、第二のインターフェース回路と、
    前記第三の供給電圧によって電力供給される第二のレベル変換器であって、該第二のインターフェース回路に結合される、第二のレベル変換器と
    をさらに備える、請求項20に記載のプログラマブルロジックデバイス(PLD)。
  22. 前記第二のインターフェース回路は、センスアンプおよび書き込みドライバを備える、請求項21に記載のプログラマブルロジックデバイス(PLD)。
  23. 前記デコーダは、ダイナミックロジック回路網を備える、請求項21に記載のプログラマブルロジックデバイス(PLD)。
  24. 前記第二の供給電圧によって電力供給される第一のインターフェース回路と、
    前記第二の供給電圧によって電力供給されるデコーダであって、該第一のインターフェース回路に結合される、デコーダと、
    第三の供給電圧によって電力供給される複数のレベル変換器であって、該インターフェース回路に結合される、複数のレベル変換器と、
    該第三の供給電圧によって電力供給されるメモリ回路であって、該複数のレベル変換器に結合される、メモリ回路と
    をさらに備える、請求項9に記載のプログラマブルロジックデバイス(PLD)。
  25. 前記第三の供給電圧によって電力供給される第二のインターフェース回路であって、前記メモリ回路に結合される、第二のインターフェース回路と、
    前記第三の供給電圧によって電力供給される第二のレベル変換器であって、該第二のインターフェース回路に結合される、第二のレベル変換器と、
    をさらに備える、請求項24に記載のプログラマブルロジックデバイス(PLD)。
  26. 前記第二のインターフェース回路は、センスアンプおよび書き込みドライバを備える、請求項25に記載のプログラマブルロジックデバイス(PLD)。
  27. 前記デコーダは、ダイナミックロジック回路網を備える、請求項25に記載のプログラマブルロジックデバイス(PLD)。
  28. プログラマブルロジックデバイス(PLD)内のリソースを使用して電子回路をインプリメントする方法であって、該PLDは、第一および第二の供給電圧によって電力供給され、該方法は、
    (a1)該第二の供給電圧に公称レベルを割り当てることと、
    (b1)該電子回路をインプリメントするために使用されるPLD内のリソースの配置およびルートを実行することと、
    (c1)該電子回路のタイミング仕様に合う該第二の供給電圧レベルの値を決定することと
    を包含する、方法。
  29. 前記第一の供給電圧をプリセットレベルに割り当てることを、さらに包含する、請求項28に記載の方法。
  30. 前記電子回路のタイミング仕様に合う前記第二の供給電圧レベルの値を決定することは、該電子回路のタイミング仕様に合うように、該第二の供給電圧レベルの最小値を決定することをさらに包含する、請求項28に記載の方法。
  31. 前記電子回路のタイミング仕様に合う前記第二の供給電圧レベルの値を決定することは、
    前記選択された第二の供給レベルが、所望の性能レベルを提供するのに十分であるかどうかを判断することと、
    該選択された第二の供給レベルが、該所望の性能レベルを提供するのに不十分である場合は、(b1)に行くことと
    をさらに包含する、請求項30に記載の方法。
  32. 前記電子回路のタイミング仕様に合う前記第二の供給電圧レベルの最小値を決定することは、前記第二の供給電圧値に依存するタイミングモデルを使用することを、さらに包含する、請求項30に記載の方法。
  33. 前記電子回路のタイミング仕様に合う前記第二の供給電圧レベルの最小値を決定することは、該第二の供給電圧レベルに対する新たな値を推定するために、電圧の関数として計算されたタイミングを使用することを、さらに包含する、請求項32に記載の方法。
  34. プログラマブルロジックデバイス(PLD)内のリソースを使用して電子回路をインプリメントする方法であって、該PLDは、第一および第二の供給電圧によって電力供給され、該方法は、
    (a2)該第二の供給電圧に公称レベルを割り当てることと、
    (b2)該PLD内のリソースの配置を実行することと、
    (c2)該第二の供給電圧レベルに対応する遅延推定値を使用して、該配置を最適化することと、
    (d2)該電子回路のタイミング仕様に合う該第二の供給電圧レベルの値を決定することと
    を包含する、方法。
  35. 前記第一の供給電圧をプリセットレベルに割り当てることを、さらに包含する、請求項34に記載の方法。
  36. 前記電子回路のタイミング仕様に合う前記第二の供給電圧レベルの値を決定することは、前記第二の供給電圧の最小値を、前記電子回路のタイミング仕様に合うように決定することをさらに包含する、請求項34に記載の方法。
  37. 前記電子回路のタイミング仕様に合う前記第二の供給電圧レベルの値を決定することは、
    該電子回路のタイミング仕様に合う該第二の供給電圧レベルの値を、成功裏に決定することに依存して、前記第二の供給電圧に最大レベルを割り当てることと、
    タイミングとルータビリティの目的が、前記第二の供給電圧レベルに合うかどうかを判断することと
    をさらに包含する、請求項36に記載の方法。
  38. 一式のルーティング仕様に合うルーティングを形成することと、
    前記電子回路のタイミングを最適化することと、
    一式のタイミング仕様に合うことが可能である前記第二の供給電圧の最低値を決定するために、該電子回路を解析することと
    をさらに包含する、請求項37に記載の方法。
JP2006221341A 2005-08-16 2006-08-15 プログラマブルロジックデバイスの性能最適化装置および方法 Pending JP2007053761A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/204,570 US7400167B2 (en) 2005-08-16 2005-08-16 Apparatus and methods for optimizing the performance of programmable logic devices

Publications (1)

Publication Number Publication Date
JP2007053761A true JP2007053761A (ja) 2007-03-01

Family

ID=37434052

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006221341A Pending JP2007053761A (ja) 2005-08-16 2006-08-15 プログラマブルロジックデバイスの性能最適化装置および方法

Country Status (4)

Country Link
US (6) US7400167B2 (ja)
EP (2) EP1755223A3 (ja)
JP (1) JP2007053761A (ja)
CN (2) CN101795133B (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011515906A (ja) * 2008-02-20 2011-05-19 ザイリンクス インコーポレイテッド 集積回路装置における消費電力を最小化するための回路および方法
JP2011139370A (ja) * 2009-12-28 2011-07-14 Canon Inc 電子機器とその制御方法
WO2012157532A1 (en) * 2011-05-16 2012-11-22 Semiconductor Energy Laboratory Co., Ltd. Programmable logic device
JP2013046068A (ja) * 2011-08-19 2013-03-04 Altera Corp フィールドプログラマブルゲートアレイの性能を向上させるための装置および関連方法
JP2013532319A (ja) * 2010-05-05 2013-08-15 ザイリンクス インコーポレイテッド デバイスの動作電圧の仕様構成
JP2013187779A (ja) * 2012-03-08 2013-09-19 Toshiba Corp ルックアップテーブル回路
KR20130122915A (ko) * 2012-05-01 2013-11-11 가부시키가이샤 한도오따이 에네루기 켄큐쇼 룩업 테이블, 및 룩업 테이블을 구비한 프로그래머블 로직 디바이스
US8987868B1 (en) 2009-02-24 2015-03-24 Xilinx, Inc. Method and apparatus for programmable heterogeneous integration of stacked semiconductor die
WO2015045135A1 (ja) * 2013-09-30 2015-04-02 株式会社日立製作所 プログラマブルロジックデバイス、及び、論理集積ツール
US9000490B2 (en) 2013-04-19 2015-04-07 Xilinx, Inc. Semiconductor package having IC dice and voltage tuners
JP2017536041A (ja) * 2014-11-12 2017-11-30 ザイリンクス インコーポレイテッドXilinx Incorporated 集積回路のための電力管理システム

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4424038B2 (ja) * 2004-03-31 2010-03-03 セイコーエプソン株式会社 印刷管理システムおよび印刷管理装置並びにこれらに用いるプログラム
US7400167B2 (en) * 2005-08-16 2008-07-15 Altera Corporation Apparatus and methods for optimizing the performance of programmable logic devices
US7627839B1 (en) * 2005-11-14 2009-12-01 National Semiconductor Corporation Process corner indicator and estimation circuit
US7610571B2 (en) * 2006-04-14 2009-10-27 Cadence Design Systems, Inc. Method and system for simulating state retention of an RTL design
US7739629B2 (en) * 2006-04-14 2010-06-15 Cadence Design Systems, Inc. Method and mechanism for implementing electronic designs having power information specifications background
US7375546B1 (en) 2006-06-08 2008-05-20 Xilinx, Inc. Methods of providing performance compensation for supply voltage variations in integrated circuits
US7365563B1 (en) 2006-06-08 2008-04-29 Xilinx, Inc. Integrated circuit with performance compensation for process variation
US7529993B1 (en) 2006-06-08 2009-05-05 Xilinx, Inc. Method of selectively programming integrated circuits to compensate for process variations and/or mask revisions
US7368940B1 (en) 2006-06-08 2008-05-06 Xilinx, Inc. Programmable integrated circuit with selective programming to compensate for process variations and/or mask revisions
US7362129B1 (en) * 2006-06-08 2008-04-22 Xilinx, Inc. Methods of providing performance compensation for process variations in integrated circuits
US7855574B2 (en) * 2006-10-10 2010-12-21 Altera Corporation Programmable multiple supply regions with switched pass gate level converters
US7800402B1 (en) * 2007-11-05 2010-09-21 Altera Corporation Look-up table overdrive circuits
US20090256591A1 (en) * 2008-04-15 2009-10-15 John Atkinson Fifield Structure for systems and methods of managing a set of programmable fuses on an integrated circuit
US7973557B2 (en) * 2008-05-02 2011-07-05 Texas Instruments Incorporated IC having programmable digital logic cells
US8099704B1 (en) * 2008-07-28 2012-01-17 Altera Corporation Performance improvements in an integrated circuit by selectively applying forward bias voltages
US7961034B2 (en) * 2009-02-20 2011-06-14 Oracle America, Inc. Microprocessor performance improvement by dynamic NBTI compensation through transistor forward biasing
US7948792B1 (en) 2009-04-15 2011-05-24 Altera Corporation Memory and techniques for using same
US8779799B2 (en) 2011-05-19 2014-07-15 Semiconductor Energy Laboratory Co., Ltd. Logic circuit
KR101318423B1 (ko) * 2011-06-24 2013-10-15 위니맥스 주식회사 정수필터 어셈블리 및 이를 구비한 냉장고 및 정수기
US8461869B1 (en) * 2011-08-19 2013-06-11 Altera Corporation Apparatus for configuring performance of field programmable gate arrays and associated methods
US8624627B1 (en) * 2012-06-29 2014-01-07 Freescale Semiconductor, Inc. Method and device for low power control
US9348959B1 (en) * 2012-06-29 2016-05-24 Xilinx, Inc. Optimizing supply voltage and threshold voltage
US9037840B2 (en) * 2012-06-29 2015-05-19 Intel Corporation Mechanism to provide workload and configuration-aware deterministic performance for microprocessors
TWI611419B (zh) * 2012-12-24 2018-01-11 半導體能源研究所股份有限公司 可程式邏輯裝置及半導體裝置
US8896344B1 (en) * 2013-01-04 2014-11-25 Altera Corporation Heterogeneous programmable device and configuration software adapted therefor
WO2014144830A1 (en) * 2013-03-15 2014-09-18 The Regents Of The University Of California Fine-grained power gating in fpga interconnects
US9494996B2 (en) 2013-03-15 2016-11-15 Intel Corporation Processor having frequency of operation information for guaranteed operation under high temperature events
US9507394B2 (en) * 2013-03-29 2016-11-29 Peregrine Semiconductor Corporation Integrated circuit with internal supply override
US8863059B1 (en) 2013-06-28 2014-10-14 Altera Corporation Integrated circuit device configuration methods adapted to account for retiming
US9348690B2 (en) 2013-08-21 2016-05-24 Via Alliance Semiconductor Co., Ltd. Correctable configuration data compression and decompression system
US8879345B1 (en) 2013-08-21 2014-11-04 Via Technologies, Inc. Microprocessor mechanism for decompression of fuse correction data
US8982655B1 (en) * 2013-08-21 2015-03-17 Via Technologies, Inc. Apparatus and method for compression and decompression of microprocessor configuration data
US9223715B2 (en) 2013-08-21 2015-12-29 Via Alliance Semiconductor Co., Ltd. Microprocessor mechanism for decompression of cache correction data
US9665490B2 (en) 2014-05-22 2017-05-30 Via Alliance Semiconductor Co., Ltd. Apparatus and method for repairing cache arrays in a multi-core microprocessor
US9395802B2 (en) 2014-05-22 2016-07-19 Via Alliance Semiconductor Co., Ltd. Multi-core data array power gating restoral mechanism
US9524241B2 (en) 2014-05-22 2016-12-20 Via Alliance Semiconductor Co., Ltd. Multi-core microprocessor power gating cache restoral mechanism
US9606933B2 (en) 2014-05-22 2017-03-28 Via Alliance Semiconductor Co., Ltd. Multi-core apparatus and method for restoring data arrays following a power gating event
US9496871B1 (en) * 2014-08-18 2016-11-15 Xilinx, Inc. Programmable power reduction technique using transistor threshold drops
CN104658595B (zh) * 2015-01-30 2018-05-15 西安紫光国芯半导体有限公司 一种存储器及保持存储器电源功耗恒定的方法
US9842638B1 (en) * 2017-01-25 2017-12-12 Qualcomm Incorporated Dynamically controlling voltage for access operations to magneto-resistive random access memory (MRAM) bit cells to account for process variations
US10431278B2 (en) 2017-08-14 2019-10-01 Qualcomm Incorporated Dynamically controlling voltage for access operations to magneto-resistive random access memory (MRAM) bit cells to account for ambient temperature
CN108347241B (zh) * 2018-01-31 2021-09-07 京微齐力(北京)科技有限公司 一种低功耗多路选择器的结构
US20220116042A1 (en) * 2021-12-22 2022-04-14 Intel Corporation Dynamically Scalable Timing and Power Models for Programmable Logic Devices
US11747843B1 (en) * 2022-04-11 2023-09-05 Micron Technology, Inc. Power supply voltage drop compensation

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02137517A (ja) * 1988-11-18 1990-05-25 Nec Corp マスタスライス集積回路
JPH04336812A (ja) * 1991-05-14 1992-11-25 Nec Home Electron Ltd デジタル回路装置
JPH09162294A (ja) * 1995-12-11 1997-06-20 Toshiba Microelectron Corp 半導体装置
JPH09162720A (ja) * 1995-04-19 1997-06-20 Toshiba Corp 組み合わせ論理回路及びその設計方法
JP2000308334A (ja) * 1999-04-19 2000-11-02 Fujitsu Ltd 半導体集積回路装置および電子回路
JP2000341109A (ja) * 1999-05-21 2000-12-08 Samsung Electronics Co Ltd ロジックインターフェース回路及び半導体メモリ装置
JP2001068978A (ja) * 1999-08-27 2001-03-16 Nec Ic Microcomput Syst Ltd レベルシフタ回路
JP2002083872A (ja) * 2000-06-22 2002-03-22 Hitachi Ltd 半導体集積回路
JP2003188704A (ja) * 2001-12-21 2003-07-04 Matsushita Electric Ind Co Ltd Fpga制御回路およびそれを用いたモータ駆動装置
JP2005150485A (ja) * 2003-11-18 2005-06-09 Hitachi Ltd 装置およびそれを用いたデータ処理方法

Family Cites Families (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6324426B1 (en) 1988-04-28 2001-11-27 Medtronic, Inc. Power consumption reduction in medical devices employing multiple supply voltages and clock frequency control
US4851720A (en) * 1988-09-02 1989-07-25 Cypress Semiconductor Corporation Low power sense amplifier for programmable logic device
US5111506A (en) * 1989-03-02 1992-05-05 Ensonig Corporation Power efficient hearing aid
US5041746A (en) * 1989-12-20 1991-08-20 Texas Instruments Incorporated Sense amplifier providing a rapid output transition
US5245543A (en) * 1990-12-21 1993-09-14 Texas Instruments Incorporated Method and apparatus for integrated circuit design
US5612892A (en) * 1993-12-16 1997-03-18 Intel Corporation Method and structure for improving power consumption on a component while maintaining high operating frequency
US5477198A (en) * 1994-06-23 1995-12-19 At&T Global Information Solutions Company Extendible-range voltage controlled oscillator
US5774367A (en) * 1995-07-24 1998-06-30 Motorola, Inc. Method of selecting device threshold voltages for high speed and low power
US5661685A (en) * 1995-09-25 1997-08-26 Xilinx, Inc. Programmable logic device with configurable power supply
US6147511A (en) * 1996-05-28 2000-11-14 Altera Corporation Overvoltage-tolerant interface for integrated circuits
US6175952B1 (en) * 1997-05-27 2001-01-16 Altera Corporation Technique of fabricating integrated circuits having interfaces compatible with different operating voltage conditions
US5940334A (en) * 1996-09-30 1999-08-17 Advanced Micro Devices, Inc. Memory interface circuit including bypass data forwarding with essentially no delay
JPH10135424A (ja) * 1996-11-01 1998-05-22 Mitsubishi Electric Corp 半導体集積回路装置
US6108804A (en) * 1997-09-11 2000-08-22 Micron Technology, Inc. Method and apparatus for testing adjustment of a circuit parameter
JP3853513B2 (ja) * 1998-04-09 2006-12-06 エルピーダメモリ株式会社 ダイナミック型ram
US7196556B1 (en) * 1998-07-02 2007-03-27 Altera Corporation Programmable logic integrated circuit devices with low voltage differential signaling capabilities
JP4390305B2 (ja) 1999-01-04 2009-12-24 株式会社ルネサステクノロジ 半導体装置
US6271679B1 (en) 1999-03-24 2001-08-07 Altera Corporation I/O cell configuration for multiple I/O standards
US6624656B1 (en) * 1999-10-15 2003-09-23 Triscend Corporation Input/output circuit with user programmable functions
JP2001208803A (ja) * 2000-01-24 2001-08-03 Advantest Corp 半導体集積回路の故障シミュレーション方法および故障シミュレータ
US6384628B1 (en) * 2000-03-31 2002-05-07 Cypress Semiconductor Corp. Multiple voltage supply programmable logic device
JP3762856B2 (ja) * 2000-05-30 2006-04-05 株式会社ルネサステクノロジ 半導体集積回路装置
US6335650B1 (en) 2000-09-28 2002-01-01 International Business Machines Corporation Method and apparatus for adjusting time delays in circuits with multiple operating supply voltages
US6792582B1 (en) * 2000-11-15 2004-09-14 International Business Machines Corporation Concurrent logical and physical construction of voltage islands for mixed supply voltage designs
GB0103837D0 (en) * 2001-02-16 2001-04-04 Nallatech Ltd Programmable power supply for field programmable gate array modules
US6429726B1 (en) 2001-03-27 2002-08-06 Intel Corporation Robust forward body bias generation circuit with digital trimming for DC power supply variation
US6502223B1 (en) * 2001-04-30 2002-12-31 Hewlett-Packard Company Method for simulating noise on the input of a static gate and determining noise on the output
JP2003059273A (ja) * 2001-08-09 2003-02-28 Hitachi Ltd 半導体記憶装置
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
US6606729B2 (en) * 2001-09-27 2003-08-12 International Business Machines Corporation Corner simulation methodology
JP4257064B2 (ja) * 2002-02-21 2009-04-22 エルピーダメモリ株式会社 昇圧電位発生回路及び制御方法
WO2003104921A2 (en) * 2002-06-07 2003-12-18 Praesagus, Inc. Characterization adn reduction of variation for integrated circuits
US7112994B2 (en) * 2002-07-08 2006-09-26 Viciciv Technology Three dimensional integrated circuits
US6809550B2 (en) * 2002-09-20 2004-10-26 Atmel Corporation High speed zero DC power programmable logic device (PLD) architecture
US6779163B2 (en) * 2002-09-25 2004-08-17 International Business Machines Corporation Voltage island design planning
US7006368B2 (en) * 2002-11-07 2006-02-28 Mosaid Technologies Incorporated Mismatch-dependent power allocation technique for match-line sensing in content-addressable memories
US6768335B1 (en) * 2003-01-30 2004-07-27 Xilinx, Inc. Integrated circuit multiplexer including transistors of more than one oxide thickness
US6768338B1 (en) * 2003-01-30 2004-07-27 Xilinx, Inc. PLD lookup table including transistors of more than one oxide thickness
JP4184104B2 (ja) * 2003-01-30 2008-11-19 株式会社ルネサステクノロジ 半導体装置
US7024649B2 (en) * 2003-02-14 2006-04-04 Iwatt Multi-output power supply design system
US7137080B2 (en) * 2003-08-22 2006-11-14 International Business Machines Corporation Method for determining and using leakage current sensitivities to optimize the design of an integrated circuit
US7080341B2 (en) * 2003-09-09 2006-07-18 Robert Eisenstadt Apparatus and method for integrated circuit power management
US7498836B1 (en) * 2003-09-19 2009-03-03 Xilinx, Inc. Programmable low power modes for embedded memory blocks
US7098689B1 (en) 2003-09-19 2006-08-29 Xilinx, Inc. Disabling 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
US7155689B2 (en) * 2003-10-07 2006-12-26 Magma Design Automation, Inc. Design-manufacturing interface via a unified model
US7353359B2 (en) * 2003-10-28 2008-04-01 International Business Machines Corporation Affinity-based clustering of vectors for partitioning the columns of a matrix
US7111266B2 (en) * 2003-11-24 2006-09-19 International Business Machines Corp. Multiple voltage integrated circuit and design method therefor
US7089510B2 (en) * 2003-11-24 2006-08-08 International Business Machines Corp. Method and program product of level converter optimization
CN1271786C (zh) * 2003-12-16 2006-08-23 复旦大学 可编程逻辑器件结构建模方法
US7227383B2 (en) * 2004-02-19 2007-06-05 Mosaid Delaware, Inc. Low leakage and data retention circuitry
US20060068532A1 (en) * 2004-09-28 2006-03-30 Sharp Laboratories Of America, Inc. Dual-gate thin-film transistor
US7129745B2 (en) * 2004-05-19 2006-10-31 Altera Corporation Apparatus and methods for adjusting performance of integrated circuits
US7348827B2 (en) * 2004-05-19 2008-03-25 Altera Corporation Apparatus and methods for adjusting performance of programmable logic devices
US7112997B1 (en) * 2004-05-19 2006-09-26 Altera Corporation Apparatus and methods for multi-gate silicon-on-insulator transistors
US7400167B2 (en) * 2005-08-16 2008-07-15 Altera Corporation Apparatus and methods for optimizing the performance of programmable logic devices
US7296251B2 (en) * 2004-05-25 2007-11-13 International Business Machines Corporation Method of physical planning voltage islands for ASICs and system-on-chip designs
WO2005119532A2 (en) * 2004-06-04 2005-12-15 The Regents Of The University Of California Low-power fpga circuits and methods
US7210115B1 (en) * 2004-07-02 2007-04-24 Altera Corporation Methods for optimizing programmable logic device performance by reducing congestion
US7536664B2 (en) * 2004-08-12 2009-05-19 International Business Machines Corporation Physical design system and method
US7142009B1 (en) * 2004-09-15 2006-11-28 Altera Corporation Adaptive power supply voltage regulation for programmable logic
US7196940B1 (en) * 2004-10-22 2007-03-27 Xilinx, Inc. Method and apparatus for a multiplexed address line driver
US7196542B1 (en) * 2004-10-28 2007-03-27 Altera Corporation Techniques for providing increased flexibility to input/output banks with respect to supply voltages
US7200824B1 (en) * 2004-11-16 2007-04-03 Altera Corporation Performance/power mapping of a die
US20060119382A1 (en) * 2004-12-07 2006-06-08 Shumarayev Sergey Y Apparatus and methods for adjusting performance characteristics of programmable logic devices
WO2006063359A2 (en) * 2004-12-10 2006-06-15 Anova Solutions, Inc. Stochastic analysis process optimization for integrated circuit design and manufacture
US7453311B1 (en) * 2004-12-17 2008-11-18 Xilinx, Inc. Method and apparatus for compensating for process variations
KR100631953B1 (ko) * 2005-01-31 2006-10-04 주식회사 하이닉스반도체 메모리 장치
WO2007005724A2 (en) * 2005-07-01 2007-01-11 The Regents Of The University Of California Fpga circuits and methods considering process variations
US7571406B2 (en) * 2005-08-04 2009-08-04 Freescale Semiconductor, Inc. Clock tree adjustable buffer
US7265605B1 (en) * 2005-10-18 2007-09-04 Xilinx, Inc. Supply regulator for memory cells with suspend mode capability for low power applications
US7493574B2 (en) * 2006-02-23 2009-02-17 Cadence Designs Systems, Inc. Method and system for improving yield of an integrated circuit
US7639067B1 (en) * 2006-12-11 2009-12-29 Altera Corporation Integrated circuit voltage regulator
GB0702984D0 (en) * 2007-02-15 2007-03-28 Imp Innovations Ltd Programming a programmable logic device
US8725488B2 (en) 2007-07-26 2014-05-13 Qualcomm Incorporated Method and apparatus for adaptive voltage scaling based on instruction usage

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02137517A (ja) * 1988-11-18 1990-05-25 Nec Corp マスタスライス集積回路
JPH04336812A (ja) * 1991-05-14 1992-11-25 Nec Home Electron Ltd デジタル回路装置
JPH09162720A (ja) * 1995-04-19 1997-06-20 Toshiba Corp 組み合わせ論理回路及びその設計方法
JPH09162294A (ja) * 1995-12-11 1997-06-20 Toshiba Microelectron Corp 半導体装置
JP2000308334A (ja) * 1999-04-19 2000-11-02 Fujitsu Ltd 半導体集積回路装置および電子回路
JP2000341109A (ja) * 1999-05-21 2000-12-08 Samsung Electronics Co Ltd ロジックインターフェース回路及び半導体メモリ装置
JP2001068978A (ja) * 1999-08-27 2001-03-16 Nec Ic Microcomput Syst Ltd レベルシフタ回路
JP2002083872A (ja) * 2000-06-22 2002-03-22 Hitachi Ltd 半導体集積回路
JP2003188704A (ja) * 2001-12-21 2003-07-04 Matsushita Electric Ind Co Ltd Fpga制御回路およびそれを用いたモータ駆動装置
JP2005150485A (ja) * 2003-11-18 2005-06-09 Hitachi Ltd 装置およびそれを用いたデータ処理方法

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011515906A (ja) * 2008-02-20 2011-05-19 ザイリンクス インコーポレイテッド 集積回路装置における消費電力を最小化するための回路および方法
US8987868B1 (en) 2009-02-24 2015-03-24 Xilinx, Inc. Method and apparatus for programmable heterogeneous integration of stacked semiconductor die
JP2011139370A (ja) * 2009-12-28 2011-07-14 Canon Inc 電子機器とその制御方法
JP2013532319A (ja) * 2010-05-05 2013-08-15 ザイリンクス インコーポレイテッド デバイスの動作電圧の仕様構成
US9015023B2 (en) 2010-05-05 2015-04-21 Xilinx, Inc. Device specific configuration of operating voltage
US9344090B2 (en) 2011-05-16 2016-05-17 Semiconductor Energy Laboratory Co., Ltd. Programmable logic device
WO2012157532A1 (en) * 2011-05-16 2012-11-22 Semiconductor Energy Laboratory Co., Ltd. Programmable logic device
JP2013046068A (ja) * 2011-08-19 2013-03-04 Altera Corp フィールドプログラマブルゲートアレイの性能を向上させるための装置および関連方法
JP2013187779A (ja) * 2012-03-08 2013-09-19 Toshiba Corp ルックアップテーブル回路
KR20130122915A (ko) * 2012-05-01 2013-11-11 가부시키가이샤 한도오따이 에네루기 켄큐쇼 룩업 테이블, 및 룩업 테이블을 구비한 프로그래머블 로직 디바이스
JP2013251888A (ja) * 2012-05-01 2013-12-12 Semiconductor Energy Lab Co Ltd ルックアップテーブル、及びルックアップテーブルを備えるプログラマブルロジックデバイス
KR101982353B1 (ko) 2012-05-01 2019-05-27 가부시키가이샤 한도오따이 에네루기 켄큐쇼 룩업 테이블, 및 룩업 테이블을 구비한 프로그래머블 로직 디바이스
US9000490B2 (en) 2013-04-19 2015-04-07 Xilinx, Inc. Semiconductor package having IC dice and voltage tuners
JPWO2015045135A1 (ja) * 2013-09-30 2017-03-02 株式会社日立製作所 プログラマブルロジックデバイス、及び、論理集積ツール
US9735784B2 (en) 2013-09-30 2017-08-15 Hitachi, Ltd. Programmable logic device and logic integration tool
WO2015045135A1 (ja) * 2013-09-30 2015-04-02 株式会社日立製作所 プログラマブルロジックデバイス、及び、論理集積ツール
JP2017536041A (ja) * 2014-11-12 2017-11-30 ザイリンクス インコーポレイテッドXilinx Incorporated 集積回路のための電力管理システム

Also Published As

Publication number Publication date
US7400167B2 (en) 2008-07-15
CN101795133B (zh) 2012-09-26
US20080263490A1 (en) 2008-10-23
US20070040576A1 (en) 2007-02-22
CN101795133A (zh) 2010-08-04
EP1755223A3 (en) 2010-02-17
EP1755223A2 (en) 2007-02-21
US7405589B2 (en) 2008-07-29
US8103975B2 (en) 2012-01-24
US20070040577A1 (en) 2007-02-22
US20080263481A1 (en) 2008-10-23
US8732635B2 (en) 2014-05-20
EP2536028A1 (en) 2012-12-19
CN1917371A (zh) 2007-02-21
US20120089958A1 (en) 2012-04-12
CN1917371B (zh) 2012-09-26
US20140258956A1 (en) 2014-09-11

Similar Documents

Publication Publication Date Title
JP2007053761A (ja) プログラマブルロジックデバイスの性能最適化装置および方法
US7573317B2 (en) Apparatus and methods for adjusting performance of integrated circuits
US7675317B2 (en) Integrated circuits with adjustable body bias and power supply circuitry
US7463057B1 (en) Integrated circuits with adjustable memory element power supplies
US5841296A (en) Programmable delay element
US20050258862A1 (en) Apparatus and methods for adjusting performance of programmable logic devices
JP4425897B2 (ja) 高電源レベルを有するプログラマブルロジックデバイスメモリ要素
US6239616B1 (en) Programmable delay element
US8630113B1 (en) Apparatus for memory with improved performance and associated methods
US8253463B1 (en) Pulse width control circuitry
US8085063B2 (en) Power regulator circuitry for programmable logic device memory elements
US8198914B2 (en) Apparatus and methods for adjusting performance of programmable logic devices
US20090302887A1 (en) Apparatus for power consumption reduction in programmable logic devices and associated methods
US7698672B1 (en) Methods of minimizing leakage current
US7417918B1 (en) Method and apparatus for configuring the operating speed of a programmable logic device through a self-timed reference circuit
JP2003032094A (ja) 基準電圧発生回路及びその配置方法
US7107566B1 (en) Programmable logic device design tools with gate leakage reduction capabilities
US6900661B2 (en) Repairable finite state machines
US9329608B1 (en) Programmable integrated circuits with decoupling capacitor circuitry
US8099704B1 (en) Performance improvements in an integrated circuit by selectively applying forward bias voltages

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090812

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100809

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111227

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120326

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120329

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120426

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120502

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120528

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120803