(57)【特許請求の範囲】
【請求項１】
集積回路（ＩＣ）ダイに配置された複数のプログラマブルハードウェア資源と、
前記ＩＣダイに配置され、かつ、前記ＩＣダイの１つまたは複数のアナログパラメータの値を量子化するように構成されたアナログデジタル変換器（ＡＤＣ）と、
前記ＩＣダイに配置され、かつ、一組のコンフィギュレーションデータに応答して、前記一組のコンフィギュレーションデータによって指定される一組の回路を実装するように、および、前記１つまたは複数のアナログパラメータをサンプリングするために前記ＩＣダイのそれぞれのノードに前記ＡＤＣを接続するように、前記プログラマブルハードウェア資源をプログラムするように構成された、コンフィギュレーション制御回路と、
前記ＡＤＣに結合され、かつ、前記ＡＤＣからの前記１つまたは複数のアナログパラメータの量子化値に基づいて制御信号を生成するように、および、前記ＩＣダイの電力端子に結合された電源に前記制御信号を出力するように構成された、インタフェース回路とを備える、装置であって、
前記ＡＤＣが前記ＩＣダイの電力分配ノードの少なくとも１つの電圧を量子化するように構成され、
前記インタフェース回路が、
前記ＡＤＣによって量子化された前記電圧とターゲット電圧の差に基づいて前記制御信号を調整し、
前記ＩＣダイに電源が投入されるのに応答して、かつ前記プログラマブルハードウェア資源をプログラムする前に、前記電力分配ノードの前記電圧の第１の量子化値を記憶し、
前記プログラマブルハードウェア資源をプログラムした後に、前記電力分配ノードの前記電圧の第２の量子化値を記憶し、
前記第１の量子化値と前記第２の量子化値の差に基づいて前記ターゲット電圧を決定するように、構成され、配置されている、装置。
【請求項２】
前記インタフェース回路が、異なるターゲット電圧が前記量子化された１つまたは複数のアナログパラメータの異なる値に対して示されているルックアップテーブルから前記ターゲット電圧を決定するように構成されている、請求項１に記載の装置。
【請求項３】
前記インタフェース回路が前記ＡＤＣによって量子化された前記電圧を前記ＩＣダイに配置された不揮発性メモリにおいて指定された範囲内に維持するために前記制御信号を調整するように構成され、配置されている、請求項１に記載の装置。
【請求項４】
前記インタフェース回路が、前記量子化値が前記範囲外であるのに応答して警報信号を生成するように構成されている、請求項３に記載の装置。
【請求項５】
前記電力端子に結合された前記電源をさらに備える、請求項１に記載の装置。
【請求項６】
前記電源が前記制御信号に基づいて、前記ＩＣダイの前記電力端子に前記電源によって提供される電圧を調整するように構成されている、請求項５に記載の装置。
【請求項７】
前記インタフェース回路が前記量子化値の少なくとも１つを前記電源に提供するように構成され、
前記電源が、前記量子化値の前記少なくとも１つに基づいて、前記ＩＣダイの前記電力端子に前記電源によって提供される電圧を調整するように構成されている、
請求項５に記載の装置。
【請求項８】
前記ＩＣダイの前記１つまたは複数のアナログパラメータが前記ＩＣダイの電力分配ノードの電圧を含む、請求項１に記載の装置。
【請求項９】
前記ＩＣダイの前記１つまたは複数のアナログパラメータが前記ＩＣダイの入力または出力端子の電圧を含む、請求項１に記載の装置。
【請求項１０】
前記ＩＣダイが温度センサをさらに含み、
前記１つまたは複数のアナログパラメータが前記温度センサによって出力されるアナログ温度信号を含む、請求項１に記載の装置。
【請求項１１】
前記インタフェース回路が、前記電源の第１のマスター通信インタフェースに前記制御信号を提供するように構成された第１のスレーブ通信インタフェース、および第２のマスター通信インタフェースを含み、
前記装置が、前記ＡＤＣに結合された第２のスレーブ通信インタフェース、および前記ＡＤＣからの前記１つまたは複数のアナログパラメータの前記量子化値を前記第１のマスター通信インタフェースに提供するように構成された前記第２のマスター通信インタフェースをさらに備える、請求項１に記載の装置。
【請求項１２】
前記第１のスレーブ通信インタフェースが、前記第１のマスター通信インタフェースからのプロンプトを受信するのに応答して前記制御信号を前記電源の前記第１のマスター通信インタフェースに提供するように構成されている、請求項１１に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に集積回路、より詳細には集積回路の電力管理に関する。
【背景技術】
【０００２】
プログラマブル集積回路（ＩＣ）は、指定された論理機能を行うようにプログラムすることができるデバイスである。プログラマブルＩＣの一種であるフィールドプログラマブルゲートアレイ（ＦＰＧＡ）は、典型的には、プログラマブルタイルのアレイを含む。これらのプログラマブルタイルは、例えば、入力／出力ブロック（ＩＯＢ）、設定可能な論理ブロック（ＣＬＢ）、専用のランダムアクセスメモリブロック（ＢＲＡＭ）、マルチプライヤ、デジタル信号処理ブロック（ＤＳＰ）、プロセッサ、クロックマネージャ、遅延ロックループ（ＤＬＬ）、ＰＣＩエクスプレス（ＰＣＩｅ）、およびイーサネットなどのバスまたはネットワークインタフェースなどを含むことができる、様々なタイプの論理ブロックを備える。
【０００３】
それぞれのプログラマブルタイルは、典型的には、プログラマブル相互接続部およびプログラマブルロジックの両方を含む。プログラマブル相互接続部は、典型的には、プログラマブル相互接続点（ＰＩＰ）によって相互に接続された可変長の多数の相互接続線を含む。プログラマブルロジックは、例えば、関数発生装置、レジスタ、算術論理などを含むことができるプログラマブル素子を使用して、ユーザ設計のロジックを実装する。
【０００４】
プログラマブル相互接続部およびプログラマブルロジックは、典型的には、プログラマブル素子がどのように構成されるかを規定するコンフィギュレーションデータのストリームを内部コンフィギュレーションメモリセルにロードすることによってプログラムされる。コンフィギュレーションデータは、メモリ（例えば、外部ＰＲＯＭ）から読み込まれ、または外部装置によってＦＰＧＡに書き込まれてもよい。その場合、個別のメモリセルの集合状態が、ＦＰＧＡの機能を決定する。
【０００５】
一部のプログラマブルＩＣは、プログラムコードを実行することができる組込み型プロセッサを含む。プロセッサは、総称してＩＣの「プログラマブル回路」とも呼ばれるプログラマブル論理回路およびプログラマブル相互接続回路を含む同じダイの一部として作製されることがある。プロセッサ内部でのプログラムコードの実行は、ＩＣ上で利用可能であってもよいプログラマブル回路を「プログラムする」または「構成する」こととは区別可能であることを認識されたい。ＩＣのプログラマブル回路をプログラムする、または構成する行為によって、結果として、プログラマブル回路内部のコンフィギュレーションデータによって指定されるような異なる物理的な回路が実装される。
【発明の概要】
【０００６】
ＩＣダイに配置された複数のプログラマブルハードウェア資源およびアナログデジタル変換器（ＡＤＣ）を含む装置が開示される。ＡＤＣは、ＩＣダイの１つまたは複数のアナログパラメータの値を量子化するように構成される。コンフィギュレーション制御回路も、ＩＣダイに配置されている。一組のコンフィギュレーションデータに応答して、コンフィギュレーション制御回路は、この一組のコンフィギュレーションデータよって指定された一組の回路を実装するようにプログラマブルハードウェア資源をプログラムする。また、コンフィギュレーション制御回路によるプログラミングによって、プログラマブルハードウェア資源は、１つまたは複数のアナログパラメータをサンプリングするために、ＩＣダイのそれぞれのノードにＡＤＣを接続する。また、装置は、ＡＤＣに結合された、ＡＤＣからの１つまたは複数のアナログパラメータの量子化値に基づいて制御信号を生成するように構成されたインタフェース回路を含む。インタフェース回路は、ＩＣダイの電力端子に結合された電源に制御信号を出力する。
【０００７】
マスタースレーブ通信インタフェースの階層的配置を含む装置も開示される。本装置は、第１のダイに配置された、第１のマスター通信インタフェースを含むトップレベルの電力管理回路を含む。また、本装置は、１つまたは複数のさらなるダイに配置されたシステムを含む。本システムは、第１のマスター通信インタフェースに通信可能に結合された第１のスレーブ通信インタフェース、および第２のマスター通信インタフェースを有するシステムレベルの電力管理回路を含む。また、本システムは、１つまたは複数のサブシステム回路を含む。本サブシステム回路は、第２のマスター通信インタフェースに通信可能に結合されたそれぞれのスレーブ通信インタフェースを有する。
【０００８】
他の特徴は、以下の発明を実施するための態様および特許請求の範囲を考察することにより認識されるであろう。
【０００９】
開示された回路および装置の様々な態様および特徴は、以下の詳細な説明を精査し、図面を参照することによって明らかになるであろう。
【図面の簡単な説明】
【００１０】
【図１】ＩＣダイの電力を制御するための第１の装置である。
【図２】ＩＣダイの電力を制御するための第２の装置である。
【図３】ＩＣダイに配置されたＡＤＣを使用して、電圧を制御するための第１のプロセスである。
【図４】ＩＣダイに配置されたＡＤＣを使用して、電圧を制御するための第２のプロセスである。
【図５】ＩＣダイに配置されたＡＤＣを使用して、電圧を制御するための第３のプロセスである。
【図６】１つまたは複数の実装態様と両立する、マスタースレーブ通信インタフェースの階層的配置を有する装置である。
【図７】１つまたは複数の実装態様による、電力を制御するように構成されてもよいプログラマブルＩＣである。
【発明を実施するための形態】
【００１１】
以下の説明では、本明細書に提示された具体例を説明するために数多くの具体的な詳細が記載されている。しかしながら、１つまたは複数の他の例および／またはこれらの例の変形形態が以下で与えられるすべての具体的な詳細なしに実践されてもよいことが当業者には明らかなはずである。他の事例では、よく知られている特徴は、本明細書の例の説明を不明瞭にしないために詳細には説明されていない。
【００１２】
集積回路メーカーのリソグラフィプロセスにおけるばらつきにより、同一設計の異なるＩＣが、違ったやり方で動作し、様々なプロセス、電圧、および温度（ＰＶＴ）コーナーで異なる性能を呈することがある。例えば、第１のＰＶＴコーナーで許容できる性能レベルを呈するＩＣが、それにもかかわらず動的に誘発されることがある性能劣化を他のＰＶＴコーナーで呈することがある。電圧スケーリングと呼ばれるプロセスを使用して、所望の性能を実現するために電圧を増加または減少させることがある。例えば、より高速のデバイスは、より低い電圧で指定されたタイミング要求を満たすことができ、より低速のデバイスは、指定されたタイミング要求を実現するためにより高い電圧を必要とすることがある。別の例として、電圧は、ＩＣの動作温度が変わるとともに、所望の性能を維持するために調整されることがある。
【００１３】
動作中に供給電圧ＩＣが呈するアナログ動作パラメータに基づいてこのＩＣを調整する、電力調整のための方法および回路が開示される。アナログ動作パラメータは、オンダイのアナログデジタル変換器（ＡＤＣ）を使用してサンプリングされ、ＩＣに供給電圧を提供するために使用される電源を調整するようにフィードバック／制御信号を生成するために使用される。電源を介して供給電圧を調整することによって、オンダイのチャージポンプおよび／または電圧レギュレータのために必要とされる回路を低減させる、またはなくすことができる。
【００１４】
一部の実装態様では、装置は、ＩＣダイに配置されたプログラマブルハードウェア資源およびアナログデジタル変換器（ＡＤＣ）を含む。ＡＤＣは、ＩＣダイの１つまたは複数のアナログパラメータの値を量子化するように構成される。また、装置は、一組のコンフィギュレーションデータに応答して、プログラマブルハードウェア資源をプログラムするように構成されたコンフィギュレーション制御回路を含む。プログラマブルハードウェア資源は、コンフィギュレーションデータによって指定された一組の回路を実装するように、およびアナログパラメータをサンプリングするためにＩＣダイのそれぞれのノードにＡＤＣを接続するようにプログラムされる。また、装置は、ＡＤＣに結合された、ＡＤＣからの１つまたは複数のアナログパラメータの量子化値に基づいて制御信号を生成するように構成されたインタフェース回路を含む。インタフェース回路は、ＩＣダイの電力端子に結合された電源に制御信号を出力する。様々な実装態様において、量子化値は、ＩＣダイ上の複数のＡＤＣからインタフェースに提供されてもよい。説明を容易にするために、各例は、主にインタフェース回路に量子化値を提供する単一のＡＤＣを参照して論じられることがある。
【００１５】
ＡＤＣは、例えば、ＩＣの内部ノードもしくはＩ／Ｏ端子の電圧、温度、スイッチング速度、および／またはレイテンシーを含むＩＣの様々なアナログパラメータを量子化するように構成されてもよい。一実装態様において、インタフェース回路は、ＡＤＣによって量子化されたアナログパラメータに基づいて１つまたは複数の電力管理機能を行うように構成された論理回路を含む。例えば、インタフェース回路は、エラーを示す、ＡＤＣによって量子化されたアナログパラメータに応答してＩＣをリセットする、またはシャットダウンするように構成されてもよい。
【００１６】
別の例として、インタフェース回路は、ＡＤＣによって量子化された電圧とターゲット電圧の差に基づいて、電源に出力される制御信号を調整するように構成される。ターゲット電圧は、例えば、不揮発性メモリに、またはコンフィギュレーション制御回路によって受け取られた一組のコンフィギュレーションデータに記憶された値によって示されてもよい。別の例として、インタフェース回路は、量子化されたアナログパラメータの異なる値に対して異なるターゲット電圧が示されているルックアップテーブル（ＬＵＴ）を使用して、ターゲット電圧を決定してもよい。例えば、ＬＵＴは、ＩＣ上で測定された様々な温度または電圧に対するターゲット電圧を示すことができる。
【００１７】
一部の実装態様では、インタフェース回路は、ＩＣに提供される電圧を調整し、ＡＤＣによって量子化された電圧を所定の電圧範囲内に維持するために、電圧源に提供される制御信号を調整するように構成されてもよい。所定の電圧範囲は、例えば、ＩＣダイに配置された不揮発性メモリにおいて、ＩＣダイに接続された外部メモリにおいて、またはコンフィギュレーション制御回路によって受け取られるコンフィギュレーションデータにおいて指定されてもよい。
【００１８】
一部の実装態様では、インタフェース回路は、所定の電圧範囲外にある量子化された電圧値に応答して様々な動作を行うように構成されてもよい。一例として、範囲外にある量子化値に応答して警報信号が生成されてもよい。別の例として、範囲外にある量子化値に応答してＩＣダイは、ＩＣダイの電力を落とす、またはＩＣをセーフモードに置くことができる。
【００１９】
一部の実装態様では、インタフェース回路は、ＩＣダイ上のＩＲドロップを補償するために、制御信号を介して、ＩＣに提供される電圧を調整するように構成される。ＩＲドロップは、供給電圧がＩＣの電力分配ネットワーク全域にわたって分配されるときの、供給電圧の電圧ドロップを指す。電力分配ネットワーク全域にわたるＩＲドロップは、電力分配ネットワークによって電力が供給される回路負荷が増加するとともに、増加することがある。例えば、プログラマブルＩＣ上で、プログラマブルリソースが、コンフィギュレーションデータによって指定された一組の回路を実装するようにプログラムされた後に、ＩＲドロップが増加することがある。
【００２０】
一例示的な実装態様において、インタフェース回路は、ＩＣダイに電源が投入されるのに応答して、かつプログラマブルハードウェア資源をプログラムする前に、電力分配ノードの電圧の第１の量子化値を検索する。プログラマブルハードウェア資源をプログラムした後に、インタフェース回路は、電力分配ノードの電圧の第２の量子化値を検索する。インタフェース回路は、第１の量子化値と第２の量子化値の差に基づいて電源に対するターゲット電圧を決定する。
【００２１】
一部の実装態様では、インタフェース回路は、ＡＤＣによって量子化された値などの１つまたは複数の状態パラメータを制御信号に加えて、または制御信号の代わりに電源に通信することができる。電源は、状態パラメータに基づいて、電源によって生成された電圧を調整する論理回路を含んでもよい。例えば、電源は、しきい値を超える状態パラメータによって示されるＩＣの温度に応答してＩＣの電源を切るように構成されてもよい。
【００２２】
異なる実装態様は、ＡＤＣとインタフェース回路との間で、およびインタフェース回路と電源との間でデータを通信するために、様々な通信回路および／またはプロトコルを使用することができる。一部の実装態様では、回路は、マスタースレーブ通信インタフェースの階層的配置を使用して通信するように構成される。一例示的な実装態様において、ＩＣダイ上のインタフェース回路は、電源内の第１のマスター通信インタフェースに制御信号を提供するように構成された第１のスレーブ通信インタフェースを含む。また、ＩＣダイ上のインタフェース回路は、第２のマスター通信インタフェースを含む。ＩＣダイ上の第２のスレーブ通信インタフェースは、ＡＤＣから第２のマスター通信インタフェースに１つまたは複数のアナログパラメータの量子化値を提供するように構成される。
【００２３】
ここで各図を参照すると、図１は、ＩＣダイの電力を制御するための第１の回路構成を示す。回路構成１００は、ＩＣ１３０およびプログラマブル電源１１０を含む。プログラマブル電源１１０は、供給電圧１２０をＩＣ１３０の電力端子１２２に供給するように構成されている。ＩＣ１３０は、ＩＣ１３０上の電圧、温度、または１つもしくは複数のサブ回路の状態などの、様々なアナログパラメータを量子化するように構成されたＡＤＣ１３２を含む。ＩＣ１３０は、ＡＤＣ１３２に通信可能に結合された、ＡＤＣ１３２によって量子化されたパラメータ値に基づいて制御信号１２４を生成するように構成されたインタフェース回路１３４を含む。インタフェース回路１３４は、プログラマブル電源１１０に制御信号１２４を出力する。制御信号１２４は、ＩＣ１３０の電源端子に提供される供給電圧１２０を調整するようにプログラマブル電源１１０に指示する。
【００２４】
本例では、ＩＣ１３０は、一組のプログラマブルハードウェア資源１３６およびコンフィギュレーション制御回路１３８を含む。コンフィギュレーション制御回路１３８は、一組のコンフィギュレーションデータ１４０において指定された回路を実装するために、プログラマブルハードウェア資源１３６をプログラムするように構成されている。一部の実装態様では、プログラマブルハードウェア資源１３６のプログラミングは、ＡＤＣ１３２に１つまたは複数のアナログパラメータ値を送るためにプログラマブルルーティングリソースを構成することもできる。例えば、コンフィギュレーションデータによって、プログラマブルハードウェア資源１３６は、ＩＣ１３０の特定のノードからＡＤＣ１３２に電圧を送ることができる。一部の実装態様では、コンフィギュレーション制御回路１３８は、制御信号１２４を生成するために、インタフェース回路１３４によって使用される機能を指定する、または調整することもできる。
【００２５】
本例では、ＡＤＣ１３２およびインタフェース回路１３４は、プログラマブルハードウェア資源１３６の組とは別であるとして示されている。しかしながら、一部の実装態様では、ＡＤＣ１３２および／またはインタフェース回路１３４は、プログラマブルハードウェア資源１３６の組の一部あっても、またはプログラマブルハードウェア資源１３６のサブセットから実装されてもよい。
【００２６】
図２は、ＩＣダイの電力を制御するための第２の回路構成を示す。回路構成２００は、ＩＣ２３０およびプログラマブル電源２１０を含む。プログラマブル電源２１０は、入力制御信号２２４に応答して供給電圧２２０を生成するように、およびＩＣ２３０の電力端子２２２に供給電圧２２０を供給するように構成されている。ＩＣ２３０は、ＩＣ２３０上の１つまたは複数のサブ回路の電圧、温度、または状態などの、様々なアナログパラメータを量子化するように構成されたＡＤＣ２３２を含む。ＩＣ２３０は、ＡＤＣ２３２に通信可能に結合された、ＡＤＣ２３２によって量子化されたパラメータ値に基づいて制御信号２２４を生成するように構成されたインタフェース回路２３４を含む。インタフェース回路２３４は、プログラマブル電源２１０に制御信号２２４を出力する。
【００２７】
本例では、インタフェース回路２３４は、ＬＵＴ２４０を使用して、ＩＣ２３０に対するターゲット電圧を決定するように構成された論理回路２３６を含む。ＬＵＴ２４０は、例えば、ＡＤＣ２３２によって量子化されたアナログパラメータの値の様々な組合せに対してそれぞれのターゲット電圧を指定することができる。
【００２８】
代替的にまたは追加として、インタフェース回路２３４の論理回路２３６は、ＡＤＣによって量子化されたアナログパラメータに基づいて１つまたは複数の電力管理機能を行うように構成されてもよい。例えば、論理回路２３６は、エラーを示す、ＡＤＣ２３２によって量子化されたアナログパラメータに応答してＩＣ２３０をリセットする、またはシャットダウンするように構成されてもよい。別の例として、論理回路２３６は、しきい値を超える量子化された温度パラメータに応答して、供給電圧２２０を低減させるために制御信号２２４を設定するように構成されてもよい。
【００２９】
本例では、ＩＣ２３０は、一組のコンフィギュレーションデータ２５４において指定された回路を実装するために、プログラマブルハードウェア資源２５０をプログラムするように構成された一組のプログラマブルハードウェア資源２５０およびコンフィギュレーション制御回路２５２を含む。一部の実装態様では、プログラマブルハードウェア資源２５０のプログラミングは、ＡＤＣ２３２に１つまたは複数のアナログパラメータ値を送るようにプログラマブルルーティングリソースを構成することもできる。それに加えてまたは代替として、コンフィギュレーション制御回路２５２は、インタフェース回路２３４の論理回路２３６によって行われる機能を指定する、または調整することができる。例えば、コンフィギュレーション制御回路２５２は、コンフィギュレーションデータによって指定された機能に従ってターゲット電圧を決定する、または制御信号２２４を調整するように論理回路２３６を構成することができる。同様に、一部の実装態様では、コンフィギュレーション制御回路２５２は、コンフィギュレーションデータ２５４に従ってＬＵＴ２４０を生成する、または調整することができる。
【００３０】
本例では、ＡＤＣ２３２、インタフェース回路２３４、およびＬＵＴ２４０は、プログラマブルハードウェア資源１３６の組とは別であるとして示されている。しかしながら、一部の実装態様では、ＡＤＣ２３２、インタフェース回路２３４、および／またはＬＵＴ２４０は、プログラマブルハードウェア資源２５０を使用して実装されてもよい。
【００３１】
異なる実装態様では、インタフェース回路は、ＩＣ上のＡＤＣによって量子化されたアナログパラメータ値に基づいて供給電圧を調整するために様々なプロセスを利用することができる。図３、図４、および図５は、ＩＣに提供される供給電圧を制御するためにＩＣ上のインタフェース回路によって行うことができる一部の例示的なプロセスを示す。
【００３２】
図３は、ＩＣに提供される供給電圧を制御するための第１の例示的なプロセスを示す。ブロック３０２で、ＩＣに電源が投入されるとき、電源は、ＩＣにデフォルトの電圧を提供するように設定される。ブロック３０４で、ＩＣ上の電圧がＩＣに配置されたオンチップＡＤＣによって測定される。電圧が最小電圧および最大電圧によって規定された所望の電圧範囲内にある間は、判定ブロック３０６は、ブロック３０４で電圧測定を繰り返すようにプロセスに指示する。
【００３３】
ブロック３０４で測定された電圧が電圧範囲外にある場合は、判定ブロック３０６は、プロセスをブロック３０８に向ける。ブロック３０８で、電源は、電圧を所望の電圧範囲に戻すように調整される。任意選択で、プロセスは、所望の電圧範囲外の電圧に応答して警報信号を生成してもよい。電圧が所望の電圧範囲内になるまで、ブロック３０４、３０６、および３０８で測定ならびに調整が繰り返される。
【００３４】
図４は、ＩＣに提供される供給電圧を制御するための第２の例示的なプロセスを示す。ブロック４０２で、ＩＣに電源を投入するとき、電源は、ＩＣにデフォルトの電圧を提供するように設定される。ブロック４０４で、ＩＣ上のノードの第１の電圧（Ｖ１）がＩＣに配置されたオンチップＡＤＣで測定される。ブロック４０６で、プログラマブルハードウェアリソースが一組のコンフィギュレーションデータに従ってプログラムされる。プログラマブルハードウェア資源のプログラミングは、ＩＣ上の電力分配線に対する負荷を増加させ、電力分配線上に現れるＩＲドロップを増加させることがある。ブロック４０８で、ノードの第２の電圧（Ｖ２）がＡＤＣによって測定される。ブロック４１０で、第１の電圧と第２の電圧の差によって示されるＩＲドロップの増加を補償するために、電源によって提供される電圧が調整される。一部の実装態様では、プロセスは、ブロック４０８でノードの電圧Ｖ２の測定を繰り返し、ブロック４１０でＶ２とＶ１の差に基づいて電圧の調整を繰り返すことができる。
【００３５】
図５は、ＩＣに提供される供給電圧を制御するための第３の例示的なプロセスを示す。ブロック５０２で、ＩＣに電源を投入するとき、電源は、ＩＣにデフォルトの電圧を提供するように設定される。ブロック５０４で、ＩＣの１つまたは複数の動作パラメータがＩＣに配置されたＡＤＣを使用して測定される。ブロック５０６で、ターゲット電圧が、測定されたパラメータ値を使用してＬＵＴから決定される。図２を参照して論じたように、ＬＵＴは、ブロック５０４で測定された動作パラメータの異なる値に対してそれぞれのターゲット電圧を指定することができる。ブロック５０８で、ＩＣにターゲット電圧を提供するために、制御またはフィードバック信号を介して電源が設定される。
【００３６】
前述したように、異なる実装態様は、ＩＣ上のＡＤＣとインタフェース回路との間で、およびインタフェース回路とＩＣに接続された電源との間でデータを通信するために、様々な通信回路および／またはプロトコルを使用することができる。図６は、１つまたは複数の実施態様と両立する、マスターおよびスレーブ通信インタフェースの階層的配置を有する装置を示す。装置６００は、第１のダイ上の、第１のマスター通信インタフェース６１２を含む、トップレベルの電力管理（ＴＬＰＭ）回路６１０を含む。ＴＬＰＭ６１０は、第１のマスター通信インタフェース６１２を介して装置６００の１つまたは複数のシステムを制御および／または監視するように構成されている。システムのそれぞれは、１つまたは複数のさらなるダイに配置され、これらのダイが、トップレベルのＴＬＰＭ６１０と同一のＩＣパッケージに、またはＴＬＰＭ６１０を含むＩＣパッケージとは別のＩＣパッケージに含まれていてもよい。本例では、装置６００は、１つのシステム６３０を含み、このシステム６３０がＴＬＰＭ６１０によって制御および／または監視される。しかしながら、一部の実装態様では、ＴＬＰＭ６１０は、さらなるシステムを制御および／または監視するように構成されてもよい。本例では、システムは、第１のマスター通信インタフェース６１２に通信可能に結合された第１のスレーブ通信インタフェース６４２を有するシステムレベルの電力管理回路（ＳＬＰＭ）６４０を含む。ＴＬＰＭ６１０およびＳＬＰＭ６４０は、マスター通信インタフェース６１２およびスレーブ通信インタフェース６４２を介してデータ６１４を通信する。
【００３７】
また、ＳＬＰＭ６４０は、第２のマスター通信インタフェース６４４を含む。ＳＬＰＭ６４０は、第２のマスター通信インタフェース６４４を介して、システム６３０の１つまたは複数のサブシステム６５０および６６０を制御ならびに／あるいは監視するように構成されている。サブシステム６５０および６６０は、同一のＩＣダイＳＬＰＭ６４０に、または別個のＩＣダイに配置されてもよい。サブシステム６５０および６６０のそれぞれは、それぞれの電力サブシステムレベルの電力管理回路６５２または６６２を含む。サブシステムレベルの電力管理回路６５２および６６２のそれぞれは、第２のマスター通信インタフェース６４４に通信可能に結合された、それぞれのスレーブ通信インタフェース６５４および６６４を含む。サブシステムレベルの電力管理回路６５２および６６２は、スレーブ通信インタフェース６５４および６６４を介してデータをＳＬＰＭ６４０と通信する。例えば、サブシステムレベルの電力管理回路６５２および６５４を介して、ＳＬＰＭ６４０は、サブシステム６５０および６６０に含まれる電圧レギュレータを調整する、またはサブシステム６５０および６６０に含まれるセンサから集めた状態パラメータデータを検索することができる。一部の実装態様では、サブシステムレベルの電力管理回路（例えば、６５２）は、サブシステム（例えば、６５０）に含まれる１つまたは複数の第３のスレーブ回路と通信するために、別のマスターインタフェース（図示せず）を含むこともできる。
【００３８】
異なる実装態様において、マスターおよびスレーブ通信インタフェース６１２、６４２、６４４、６５４、および６６４は、例えば、システム管理バス（ＳＭＢｕｓ）および高度マイクロコントローラバスアーキテクチャ（ＡＸＩ）を含む様々な通信プロトコルを使用してデータを通信することができる。一部の実装態様では、マスターおよびスレーブ通信インタフェースは、電力管理バス（ＰＭＢｕｓ）プロトコルを使用して通信するように構成されている。ＰＭＢｕｓは、システムにおける電力のデジタル管理に有用なコマンドを有するＳＭＢｕｓの変形である。ＰＭＢｕｓによって、マスター通信インタフェースは、スレーブ通信インタフェースに制御コマンドを発行する、またはスレーブ通信インタフェースから状態パラメータを要求することができる。ＰＭＢｕｓは、複数のシステムを制御するための中心的な回路を有するデバイスに特に有用である。しかしながら、デバイスおよびアプリケーションの複雑さが増加するとともに、制御または監視を必要とするすべてのサブシステムとインタフェースする中心的な回路を設計することは必ずしも実現可能とは限らない。図６に示される階層的配置は、制御または回路の監視を実施するのに必要とされる複雑さを低減させることができる。
【００３９】
例示的な例として、ＴＬＰＭ６１０は、回路がすべて正しく動作していることを保証するために、装置６００のすべてのシステムの動作状態を監視するように構成されてもよい。システム６３０に対して、これには、いくつかの独立したサブシステムの監視が要求される場合がある。しかしながら、サブシステム６５０および６６０とＴＬＰＭ６１０との間の状態クエリーおよび応答を中継することは過度に厄介な場合がある。一部の実装態様では、ＳＬＰＭ６４０は、サブシステム６５０および６６０の電力管理回路６５２および６５４から動作状態を検索し、システム６３０の全体の動作状態を決定するように構成されてもよい。その場合、ＳＬＰＭ６４０は、ＴＬＰＭ６１０に全体の動作状態を提供することができる。
【００４０】
一部の実装態様では、図１および図２に示される回路は、図６に示されるマスターおよびスレーブ通信インタフェースの階層的配置を使用して通信することができる。例えば、プログラマブル電源１１０は、ＴＬＰＭ６１０を含むことができ、インタフェース回路１３４は、ＳＬＰＭ６４０を含むことができる。ＩＣ１３０のサブシステムは、ＳＬＰＭ６４０を介してＡＤＣ１３２とインタフェース回路との間でデータを通信するように構成されたＡＤＣ１３２およびスレーブ回路６５４を含むことができる。
【００４１】
ＳＬＰＭ６４０は、スレーブ通信インタフェース６４２を介して電力関連のパラメータデータをプログラマブル電源１１０のトップレベルの制御回路６１０と通信することができる。ＳＬＰＭ６４０は、第２のマスター通信インタフェース６４４を介して電力関連のパラメータデータをＡＤＣ１３２と通信することができる。
【００４２】
図７は、１つまたは複数の実装態様により構成することができるプログラマブルＩＣ７０２を示す。プログラマブルＩＣは、処理サブシステム７１０およびプログラマブルロジックサブシステム７３０を含むシステムオンチップ（ＳＯＣ）と呼ばれることもある。処理サブシステム７１０は、ユーザプログラムの実行を介して、ユーザ設計のソフトウェア部分を実装するようにプログラムされてもよい。プログラムは、一組のコンフィギュレーションデータの一部として指定されてもよく、またはオンチップもしくはオフチップデータ記憶デバイスから検索されてもよい。処理サブシステム７１０は、ユーザ設計７１４のソフトウェアの実装を行うために様々な処理回路７１２を含むことができる。処理回路７１２は、例えば、１つまたは複数のプロセッサコア、浮動小数点ユニット（ＦＰＵ）、割込処理ユニット、オンチップメモリ、メモリキャッシュ、および／またはキャッシュコヒーレント相互接続を含んでもよい。様々な実装態様において、処理サブシステム７１０は、例えば、サブシステムの回路の温度または動作電圧を含む１つまたは複数のアナログ動作パラメータを測定するように構成されたセンサ７１６を含むこともできる。
【００４３】
プログラマブルＩＣ７０２のプログラマブルロジックサブシステム７３０は、ユーザ設計のハードウェア部分を実装するようにプログラムされてもよい。例えば、プログラマブルロジックサブシステムは、一組のコンフィギュレーションデータにおいて指定された一組の回路を実施するようにプログラムすることができるいくつかのプログラマブル論理回路７３２を含むことができる。プログラマブル論理回路７３２は、プログラマブル相互接続回路、プログラマブル論理回路およびコンフィギュレーションメモリセルを含む。プログラマブルロジックは、例えば、関数発生装置、レジスタ、算術論理などを含むことができるプログラマブル素子を使用して、ユーザ設計のロジックを実装する。プログラマブル相互接続回路は、プログラマブル相互接続点（ＰＩＰ）によって相互に接続された可変長の多数の相互接続線を含むことができる。様々な実装態様において、プログラマブルロジックサブシステム７３０は、例えば、サブシステムの回路の温度または動作電圧を含む１つまたは複数のアナログ動作パラメータを測定するように構成されたセンサ７３６を含むこともできる。
【００４４】
プログラマブル論理回路７３２は、一組のコンフィギュレーションデータをコンフィギュレーションメモリセルにロードすることによってプログラムされてもよく、このコンフィギュレーションメモリセルがプログラマブル相互接続回路およびプログラマブル論理回路がどのように構成されるかを規定する。その場合、個別のメモリセルの集合状態がプログラマブル論理回路７３２の機能を決定する。コンフィギュレーションデータは、外部装置によってメモリから（例えば、外部ＰＲＯＭから）読み込まれても、またはプログラマブルＩＣ７０２に書き込まれてもよい。一部の実装態様では、コンフィギュレーションデータは、プログラマブルロジックサブシステム７３０に含まれるコンフィギュレーションコントローラ７３４によってコンフィギュレーションメモリセルにロードされてもよい。他の一部の実装態様では、コンフィギュレーションデータは、処理サブシステム７１０によって実行されたスタートアッププロセスによってコンフィギュレーションメモリセルにロードされてもよい。
【００４５】
プログラマブルＩＣ７０２は、処理サブシステム７１０をプログラマブルロジックサブシステム７３０内部で実装される回路と相互に接続するために様々な回路を含むことができる。回路とサブシステムとの間の接続は、図７で線として示されている。様々な接続は、単一の信号線またはマルチビットの信号線であってもよく、一方向であっても、または双方向であってもよい。本例では、プログラマブルＩＣ７０２は、処理サブシステム７１０およびプログラマブルロジックサブシステム７３０の様々なデータポート間でデータ信号を送ることができるコアスイッチ７２６を含む。また、コアスイッチ７２６は、プログラマブルロジックまたは処理サブシステム７１０および７３０のいずれかと、プログラマブルＩＣの様々な他の回路、例えば内部データバスとの間でデータ信号を送ることができる。代替としてまたは追加として、処理サブシステム７１０は、コアスイッチ７２６をバイパスして、プログラマブルロジックサブシステムと直接接続するためのインタフェースを含んでもよい。そのようなインタフェースは、例えば、ＡＲＭによって公開されているようなＡＭＢＡ  ＡＸＩプロトコル規定（ＡＸＩ）を使用して実装されてもよい。
【００４６】
一部の実装態様では、処理サブシステム７１０およびプログラマブルロジックサブシステム７３０は、メモリコントローラ７２１を介してオンチップメモリ７２２またはオフチップメモリ（図示せず）のメモリ位置に読み書きすることもできる。メモリコントローラ７２１は、限定されないが、１６ビット、３２ビット、ＥＣＣ付きの１６ビットなどであろうとなかろうと、デュアルデータレート（ＤＤＲ）２、ＤＤＲ３、低電力（ＬＰ）ＤＤＲ２タイプのメモリを含む１つまたは複数の異なるタイプのメモリ回路と通信するように実装されてもよい。メモリコントローラ７２１が通信することができる異なるメモリタイプのリストは、例示のみを目的として提供されており、限定すること、または網羅的であることは意図されていない。図７に示すように、プログラマブルＩＣ７０２は、特定のメモリ位置にアクセスするために、サブシステム７１０および７３０によって使用される仮想メモリアドレスを、メモリコントローラ７２１によって使用される物理的なメモリアドレスに変換するためのメモリ管理ユニット７２０および変換索引バッファ７２４を含むことができる。
【００４７】
プログラマブルＩＣは、外部回路とデータを通信するための入力／出力（Ｉ／Ｏ）サブシステム７５０を含むことができる。Ｉ／Ｏサブシステム７５０は、例えば、フラッシュメモリタイプのＩ／Ｏデバイス、より高い性能のＩ／Ｏデバイス、より低い性能のインタフェース、デバッギングＩ／Ｏデバイス、および／またはＲＡＭ  Ｉ／Ｏを含む、様々なタイプのＩ／Ｏデバイスまたはインタフェースを含むことができる。
【００４８】
Ｉ／Ｏサブシステム７５０は、７６０Ａおよび７６０Ｂとして示される１つまたは複数のフラッシュメモリインタフェース７６０を含むことができる。例えば、フラッシュメモリインタフェース７６０の１つまたは複数は、４ビット通信用に構成されたクワッドシリアルペリフェラルインタフェース（ＱＳＰＩ）として実装されてもよい。フラッシュメモリインタフェース７６０のうちの１つまたは複数は、並列の８ビットのＮＯＲ／ＳＲＡＭタイプのインタフェースとして実装されてもよい。フラッシュメモリインタフェース７６０のうちの１つまたは複数は、８ビットおよび／または１６ビット通信用に構成されたＮＡＮＤインタフェースとして実装されてもよい。記載された特定のインタフェースは、限定ではなく例示を目的として提供されていることを認識されたい。異なるビット幅を有する他のインタフェースが使用されてもよい。
【００４９】
Ｉ／Ｏサブシステム７５０は、フラッシュメモリインタフェース７６０よりも高レベルの性能を提供する１つまたは複数のインタフェース７６２を含むことができる。インタフェース７６２Ａ〜７６２Ｃのそれぞれは、ＤＭＡコントローラ７６４Ａ〜７６４Ｃにそれぞれ結合されてもよい。例えば、インタフェース７６２のうちの１つまたは複数は、ユニバーサルシリアルバス（ＵＳＢ）タイプのインタフェースとして実装されてもよい。インタフェース７６２のうちの１つまたは複数は、ギガビットイーサネットタイプのインタフェースとして実装されてもよい。インタフェース７６２のうちの１つまたは複数は、セキュアデジタル（ＳＤ）タイプのインタフェースとして実装されてもよい。
【００５０】
Ｉ／Ｏサブシステム７５０は、インタフェース７６２よりも低レベルの性能を提供するインタフェース７６６Ａ〜７６６Ｄなどの１つまたは複数のインタフェース７６６を含むこともできる。例えば、インタフェース７６６のうちの１つまたは複数は、多目的Ｉ／Ｏ（ＧＰＩＯ）タイプのインタフェースとして実装されてもよい。インタフェース７６６のうちの１つまたは複数は、ユニバーサル非同期受信機／送信機（ＵＡＲＴ）タイプのインタフェースとして実装されてもよい。インタフェース７６６のうちの１つまたは複数は、シリアルペリフェラルインタフェース（ＳＰＩ）バスタイプのインタフェースの形態で実施されてもよい。インタフェース７６６のうちの１つまたは複数は、コントローラエリアネットワーク（ＣＡＮ）タイプのインタフェースおよび／またはｌ２Ｃタイプのインタフェースの形態で実装されてもよい。
【００５１】
Ｉ／Ｏサブシステム７５０は、プロセッサＪＴＡＧ（ＰＪＴＡＧ）インタフェース７６８Ａおよびトレースインタフェース７６８Ｂなどの、１つまたは複数のデバッグインタフェース７６８を含むことができる。ＰＪＴＡＧインタフェース７６８Ａは、プログラマブルＩＣ７０２に外部デバッグインタフェースを提供することができる。トレースインタフェース７６８Ｂは、処理サブシステム７１０またはプログラマブルロジックサブシステム７３０からデバッグ、例えば、トレース、情報を受け取るためのポートを提供することができる。
【００５２】
図示するように、インタフェース７６０、７６２、７６６、および７６８のそれぞれは、マルチプレクサー７７０に結合されてもよい。マルチプレクサー７７０は、プログラマブルＩＣ７０２の外部ピン、例えば、プログラマブルＩＣ７０２が配置されたパッケージのボールに直接送ることができる、または結合することができる複数の出力を提供する。例えば、プログラマブルＩＣ７０２のＩ／Ｏピンは、インタフェース７６０と、７６２と、７６６と、７６８との間で共有されてもよい。ユーザは、マルチプレクサー７７０によってインタフェース７６０〜７６８のどれが使用されるべきか、したがって、プログラマブルＩＣ７０２のＩ／Ｏピンに結合されるべきかを選択するために、一組のコンフィギュレーションデータによってマルチプレクサー７７０を構成することができる。Ｉ／Ｏサブシステム７５０は、プログラマブルロジックサブシステムのプログラマブル論理回路にインタフェース７６２〜７６８を接続するために、ファブリックマルチプレクサーＩ／Ｏ（ＦＭＩＯ）インタフェース（図示せず）を含むこともできる。追加としてまたは代替として、プログラマブルロジックサブシステム７３０は、プログラマブルロジック内部で１つまたは複数のＩ／Ｏ回路を実装するように構成されてもよい。一部の実装態様では、プログラマブルＩＣ７０２は、電力および／または安全管理のための様々な回路を有するサブシステム７４０を含むこともできる。例えば、サブシステム７４０は、プログラマブルＩＣ７０２の様々なサブシステムに電力を供給するために使用される１つまたは複数の電圧ドメインを監視し、維持するように構成された電力管理ユニット７４６を含むことができる。一部の実装態様では、電力管理ユニットは、制御信号を生成し、例えば、インタフェース７６０、７６２、７６６、および７６８を介してプログラマブルＩＣ７０２に結合された電源に出力するように構成されている。図１および図２を参照して記載されたように、制御信号は、プログラマブルＩＣの１つまたは複数のパラメータに基づいて電源の電圧を調整するように設定されてもよい。一部の実装態様では、電力管理ユニット７４６は、アイドル時に、電力消費を低減させるために、使用においてサブシステムに対する電源をオフにすることなく個々のサブシステムの電源をオフにすることができる。
【００５３】
サブシステム７４０は、正しい動作を保証するためにサブシステムの状態を監視するための安全回路を含むこともできる。例えば、サブシステム７４０は、プログラマブルＩＣの様々なサブシステムまたは回路に対して安全機能を行うように構成された１つまたは複数のハードワイヤードの安全回路７４１を含むことができる。サブシステム７４０は、プログラマブルＩＣの様々なサブシステムまたは回路に対して様々なソフトウェアベースの安全機能を実行するように構成された１つまたは複数の実時間プロセッサ７４２を含むこともできる。
【００５４】
サブシステム７４０は、プログラマブルＩＣの様々な動作パラメータ（例えば、電圧、温度、クロックおよび／またはデータ／制御信号）を監視するように構成された１つもしくは複数のセンサあるいは検出器（図示せず）を含むことができる。本例では、サブシステム７４０は、プログラマブルＩＣ上の様々なセンサまたは検出器、例えば、センサ７１６および７３６によって生成された１つまたは複数のアナログ信号を量子化するために使用することができるＡＤＣ７４９を含む。アナログ信号は、様々なハードワイヤードのまたはプログラマブルなルーティングリソース、例えば、コアスイッチ７２６または相互接続スイッチ７４８を介してセンサ７１６および７３６からＡＤＣ７４９に送られてもよい。
【００５５】
ＡＤＣ７４９との間のデータフローは、相互接続スイッチ７４８によって制御される。相互接続スイッチ７４８は、量子化値を状態レジスタ７４４に保存することによって、ＡＤＣから電力管理ユニット７４６に量子化値を直接または間接的に提供するように設定されてもよい。状態レジスタは、例えば、ハードワイヤードの安全回路７４１、実時間プロセッサ７４２、または電力管理ユニット７４６によってアクセスされてもよい。
【００５６】
安全機能は、様々なサブシステムの状態を監視し、１つもしくは複数のサブシステムまたは回路におけるエラーの検出、防止、および／あるいは軽減を容易にするために様々な動作を行うことができる。一部の実装態様では、安全機能は、エラーを示す値を有する状態レジスタに応答して行動を起こすことができる。例えば、安全機能は、エラーの検出に応答して警報を生成することができる。別の例として、安全機能は、個々のサブシステムをリセットして、図１および図２を参照して論じたように、サブシステムを正しい動作に戻そうと試みることができる。
【００５７】
監視されるべきサブシステムまたは回路、およびサブシステムがリセットされるべき条件は、メモリ７４３に記憶された安全ポリシーによって指定されてもよい。安全サブシステムによって行われる安全ポリシーは、不揮発性メモリにハードコードされてもよく、またはスタートアップ時にメモリに記憶されてもよい。一部の実装態様では、安全ポリシーは、ユーザ設定可能であってもよく、例えば、一組のコンフィギュレーションデータのサブセットにおいて提供されてもよい。
【００５８】
サブシステム７４０は、様々なサブシステムを相互に接続するために使用することができる相互接続スイッチネットワーク７４８を含む。例えば、相互接続スイッチネットワーク７４８は、様々なサブシステム７１０、７３０、および７４０をＩ／Ｏサブシステム７５０の様々なインタフェースに接続するように構成されてもよい。一部のアプリケーションでは、相互接続スイッチネットワーク７４８も、監視されるべきサブシステムから実時間プロセッサ７４２を切り離すために、ハードワイヤードの安全回路７４１または実時間の安全プロセッサ７４２の１つまたは複数の安全機能によって制御されてもよい。そのような切離しは、実時間プロセッサ７４２が他のサブシステムで起きるエラーによって影響を受けないことを保証するために、ある特定のアプリケーション規格（例えば、ＩＥＣ−６１５０８  ＳＩＬ３またはＩＳＯ−２６２６２規格）によって要求されることがある。一部のアプリケーションでは、相互接続スイッチネットワーク７４８も、ランダム障害に対する保護を行うために（例えば、ＥＣＣまたはパリティによって）保護されてもよい。一部のアプリケーションでは、相互接続スイッチネットワーク７４８は、相互接続スイッチネットワーク７４８をテストするために定期的に行われるソフトウェアベースのテストによって保護されてもよい。
【００５９】
一部の実装態様では、一部の安全機能は、ハードワイヤードの安全回路７４１の冗長なハードワイヤードの回路によって行われてもよい。例えば、電力管理ユニット７４６は、ハードワイヤードの安全回路７４１の３重のモジュール式冗長回路によって行われる安全機能によって保護されてもよい。例えば、安全サブシステムのハードワイヤードの回路は、プログラマブルＩＣの電力管理ユニットを監視するように構成された３重のモジュール式冗長回路を含んでもよい。別の例として、プログラマブルＩＣは、プログラマブル論理回路の（例えば、処理サブシステム７１０のリセット中の）意図しない再構成を防ぐように構成されたコンフィギュレーションセキュリティユニットを含んでもよい。コンフィギュレーションセキュリティユニットは、同様に３重のモジュール式冗長回路によって保護されてもよい。
【００６０】
一例において、ＩＣダイに配置された複数のプログラマブルハードウェア資源およびアナログデジタル変換器（ＡＤＣ）を含むことができる装置を開示する。一部のそのような装置は、集積回路（ＩＣ）ダイに配置された複数のプログラマブルハードウェア資源と、ＩＣダイに配置された、ＩＣダイの１つまたは複数のアナログパラメータの値を量子化するように構成されたアナログデジタル変換器（ＡＤＣ）と、ＩＣダイに配置された、一組のコンフィギュレーションデータに応答して、この一組のコンフィギュレーションデータによって指定された一組の回路を実装するように、および１つまたは複数のアナログパラメータをサンプリングするためにＩＣダイのそれぞれのノードにＡＤＣを接続するように、プログラマブルハードウェア資源をプログラムするように構成されたコンフィギュレーション制御回路と、ＡＤＣに結合された、ＡＤＣからの１つまたは複数のアナログパラメータの量子化値に基づいて制御信号を生成し、ＩＣダイの電力端子に結合された電源に制御信号を出力するように構成されたインタフェース回路と、を含むことができる。
【００６１】
一部のそのような装置では、ＡＤＣは、ＩＣダイの電力分配ノードの少なくとも１つの電圧を量子化するように構成されてもよい。
【００６２】
一部のそのような装置では、インタフェース回路は、ＡＤＣによって量子化された電圧とターゲット電圧の差に基づいて制御信号を調整するように構成され、配置されてもよい。
【００６３】
一部のそのような装置では、インタフェース回路は、異なるターゲット電圧が量子化された１つまたは複数のアナログパラメータの異なる値に対して示されているルックアップテーブルからターゲット電圧を決定するように構成されてもよい。
【００６４】
一部のそのような装置では、インタフェース回路は、ＩＣダイに電源が投入されるのに応答して、かつプログラマブルハードウェア資源をプログラムする前に、電力分配ノードの電圧の第１の量子化値を記憶し、プログラマブルハードウェア資源をプログラムした後に、電力分配ノードの電圧の第２の量子化値を記憶し、第１の量子化値と第２の量子化値の差に基づいてターゲット電圧を決定するようにさらに構成されてもよい。
【００６５】
一部のそのような装置では、インタフェース回路は、ＡＤＣによって量子化された電圧をＩＣダイに配置された不揮発性メモリにおいて指定された範囲内に維持するために、制御信号を調整するように構成され、配置されてもよい。
【００６６】
一部のそのような装置では、インタフェース回路は、量子化値が範囲外であるのに応答して警報信号を生成するように構成されてもよい。
【００６７】
一部のそのような装置では、電源は、電力端子に結合されてもよい。
【００６８】
一部のそのような装置では、電源は、制御信号に基づいて、電源によってＩＣダイの電力端子に提供される電圧を調整するように構成されてもよい。
【００６９】
一部のそのような装置では、インタフェース回路は、電源に量子化値の少なくとも１つを提供するように構成されてもよく、電源は、量子化値の少なくとも１つに基づいて、電源によってＩＣダイの電力端子に提供される電圧を調整するように構成される。
【００７０】
一部のそのような装置では、ＩＣダイの１つまたは複数のアナログパラメータは、ＩＣダイの電力分配ノードの電圧を含んでもよい。
【００７１】
一部のそのような装置では、ＩＣダイの１つまたは複数のアナログパラメータは、ＩＣダイの入力または出力端子の電圧を含んでもよい。
【００７２】
一部のそのような装置では、ＩＣダイは、温度センサをさらに含んでもよく、１つまたは複数のアナログパラメータは、温度センサによって出力されるアナログ温度信号を含む。
【００７３】
一部のそのような装置では、インタフェース回路は、電源の第１のマスター通信インタフェースに制御信号を提供するように構成された第１のスレーブ通信インタフェース、および第２のマスター通信インタフェースを含んでもよく、本装置は、ＡＤＣに結合された第２のスレーブ通信インタフェース、およびＡＤＣからの１つまたは複数のアナログパラメータの量子化値を第２のマスター通信インタフェースに提供するように構成された第２のマスター通信インタフェースをさらに備える。
【００７４】
一部のそのような装置では、第１のスレーブ通信インタフェースは、第１のマスター通信インタフェースからプロンプトを受信するのに応答して電源の第１のマスター通信インタフェースに制御信号を提供するように構成されてもよい。
【００７５】
一部のそのような装置は、ＩＣダイに配置された、ＩＣダイの少なくとも１つのさらなるパラメータの値を量子化するように構成された第２のＡＤＣと、第２のマスター通信インタフェースに結合された、第２のＡＤＣから第２のマスター通信インタフェースに少なくとも１つのさらなるパラメータの量子化値を提供するように構成された第３のスレーブ通信インタフェースと、をさらに含むことができる。
【００７６】
別の例において、別の装置が開示される。そのような装置は、第１のダイに配置された、第１のマスター通信インタフェースを含むトップレベルの電力管理回路と、１つまたは複数のさらなるダイに配置された、第１のマスター通信インタフェースに通信可能に結合された第１のスレーブ通信インタフェース、および第２のマスター通信インタフェースを有するシステムレベルの電力管理回路を含むシステムと、第２のマスター通信インタフェースに通信可能に結合されたそれぞれのスレーブ通信インタフェースを有する１つまたは複数のサブシステムの電力管理回路と、を含むことができる。
【００７７】
そのような装置では、システムレベルの電力管理回路は、第１のスレーブ通信インタフェースを介して電力関連のパラメータデータをトップレベルの電力管理回路と通信し、第２のマスター通信インタフェースを介して電力関連のパラメータデータをサブシステムの電力管理回路と通信するように構成されてもよい。
【００７８】
そのような装置では、システムレベルの電力管理回路は、第２のマスター通信インタフェースを介してサブシステムの電力管理回路から動作状態を検索し、サブシステム回路から検索された動作状態パラメータに基づいてシステムの全体の動作状態を決定し、第１のスレーブ通信インタフェースを介してトップレベルの電力管理回路にシステムの全体の動作状態を通信するようにさらに構成されてもよい。
【００７９】
そのような装置では、マスターおよびスレーブ通信インタフェースは、一組の電力管理制御コマンドを有する通信プロトコルを使用して通信するように構成されてもよい。
【００８０】
本方法および回路は、様々なシステムおよびアプリケーションに適用可能であると考えられる。他の態様および特徴は、本明細書を考察することによって当業者には明らかになるであろう。例えば、態様および特徴は、ある場合には個々の図に記載されているが、たとえ組合せが明示的に示されていない、または明示的に組合せとして記載されていなくても、ある図の特徴を別の図の特徴と組み合わせることができることを認識されるであろう。本明細書および図面は、例としてのみ考慮されることが意図されており、本発明の真の範囲は、以下の特許請求の範囲によって示される。
【図１】
0006501882.tif 000002
【図２】
0006501882.tif 000003
【図３】
0006501882.tif 000004
【図４】
0006501882.tif 000005
【図５】
0006501882.tif 000006
【図６】
0006501882.tif 000007
【図７】
0006501882.tif 000008