"ハードウェアにより実現されるプロセッサシステムに結合されるプログラマブル回路を備える集積回路内の電力消費を調整する方法であって、前記方法は、前記プロセッサシステムと前記集積回路の前記プログラマブル回路とを動作モードに置くステップと、前記プロセッサシステムが前記動作モードにとどまる間、前記プロセッサシステムの制御のもと、前記プログラマブル回路内のパワーオフ処理を開始するステップとを備え、前記プログラマブル回路は、前記プロセッサシステムと無関係にパワーオフされるように構成される、方法。前記プログラマブル回路の前記パワーオフ処理が完了したことの決定に応じて、前記プロセッサシステムの制御のもと前記プログラマブル回路から電力を切り離すステップをさらに備える、請求項1に記載の方法。前記プログラマブル回路のパワーオフに優先して前記プログラマブル回路内に実現される回路の状態情報を決定するステップと、メモリ内に前記状態情報を記憶するステップとをさらに備える、請求項1または請求項2に記載の方法。前記プロセッサシステム内のメモリ内に前記状態情報を記憶するステップをさらに備え、前記方法は、前記プロセッサシステムの制御のもと前記プログラマブル回路をパワーオンするステップと、前記プログラマブル回路内で実現される回路内に状態情報を復元するステップとをさらに備える、請求項3に記載の方法。前記プロセッサシステムの制御のもと前記プログラマブル回路をパワーオンするステップをさらに備え、前記プログラマブル回路は第1回路を備え、前記方法は、前記プログラマブル回路内の第2回路を実現するために前記プログラマブル回路の少なくとも一部を構成するステップをさらに備える、請求項1から請求項4のいずれか1項に記載の方法。前記プロセッサシステムの制御のもと前記プログラマブル回路をパワーオンするステップと、複数の回路の1つを有する前記プログラマブル回路の一部を構成するステップとを備え、前記複数の回路は、前記複数の回路の電力プロファイルに対応して選択され、前記複数の回路の各々は、機能的に等価でありかつ異なる電力プロファイルを有する、請求項1から請求項4のいずれか1項に記載の方法。集積回路であって、プログラムコードを実行するように構成されるプロセッサシステムを備え、前記プロセッサシステムはハードウェアにより実現され、前記集積回路は、前記プロセッサシステムに結合されて異なる物理回路を実現するプログラマブル回路をさらに備え、前記プログラマブル回路は、前記プロセッサシステムと無関係にパワーオフされ、前記プロセッサシステムの制御のもとパワーオフされるように構成される、集積回路。アナログディジタル変換を実行するように構成されるシステムモニタをさらに備え、前記システムモニタは、前記プロセッサシステムに直接結合される、請求項7に記載の集積回路。前記プログラマブル回路が前記パワーオフ処理を完了したことの決定に応じて、前記プロセッサシステムは、前記プログラマブル回路から電力を切り離すために電源スイッチに信号を送る、請求項7または請求項8に記載の集積回路。前記プロセッサシステムは、前記プログラマブル回路のパワーオフに優先して前記プログラマブル回路内に実現される回路の動作状態を決定し、かつメモリ内に、前記プログラマブル回路の動作状態を特定する状態情報を記憶するように構成される、請求項7から請求項9のいずれか1項に記載の集積回路。前記プロセッサシステムは、前記プログラマブル回路をパワーオンし、かつ前記記憶された前記状態情報に対応する前記プログラマブル回路の動作状態を復元するように構成される、請求項10に記載の集積回路。前記プロセッサシステムと前記プログラマブル回路との間でシステムレベル信号を通過させるように構成される第1レベルシフタと、前記プロセッサシステムと前記プログラマブル回路との間でユーザ信号を通過させるように構成される第2レベルシフタとをさらに備え、前記第1レベルシフタと前記第2レベルシフタは独立に作動可能である、請求項7から請求項11のいずれか1項に記載の集積回路。前記プログラマブル回路は、前記プログラマブル回路に設けられる電源の電圧レベルが、前記プログラマブル回路の動作に必要な所定の電圧レベルに到達したことを検出するように構成されるレベル検出回路とを含み、前記レベル検出回路は、前記電源の前記電圧レベルが前記所定の電圧レベルに到達したことの検出に応じてただちに前記プロセッサシステムに信号を送る第1モードで、または前記電源の電圧レベルが前記所定の電圧レベルに到達した後所定量の時間の満了に応じてただちに前記プロセッサシステムに信号を送る第2モードで動作するように構成可能である、請求項7から請求項11のいずれか1項に記載の集積回路。前記プロセッサシステムは、複数の機能的に等価な回路の各々の性能プロファイルに応じて前記複数の機能的に等価な回路から回路を選択し、かつ前記プログラマブル回路内で前記選択された回路を実現するように前記プログラマブル回路の設定を開始するように構成される、請求項7から請求項13のいずれか1項に記載の集積回路。前記複数の回路の各々の前記性能プロファイルは、電力消費情報を含み、前記プロセッサシステムは、電力消費要求に対応する性能プロファイルを有する前記回路を選択する、請求項14に記載の集積回路。上述の多様なICを幾つか含む近代の幾つかのICは、プログラムコードを実行できる組み込みプロセッサを含む。プロセッサは、まとめてICのプログラマブル回路として称され、プログラマブル論理回路とプログラマブル相互接続回路とを含む同じダイの一部として製造される。プロセッサ内のプログラムコードの実行は、ICにおいて利用可能なプログラマブル回路のプログラミングまたは設定から区別されると理解されるべきである。設定データを使用するICのプログラマブル回路のプログラミングまたは設定の行為は、プログラマブル回路内の異なる物理回路の実現をもたらす。たとえばプログラマブルICとプロセッサとを有する複合IC内で、電力マネジメントは重大な問題であり得る。この明細書中の1つ以上の実施例は、集積回路ICに関し、より特定的には、プロセッサシステムPSとプログラマブル回路とを含むIC内の電力マネジメントに関する。集積回路内の電力消費を調整する方法の実施例は、ハードウェアにより実現されるプロセッサシステムに結合されたプログラマブル回路を備える。方法は、集積回路のプロセッサシステムとプログラマブル回路とを動作モードに置くステップと、プロセッサシステムが動作モードにとどまる間プロセッサシステムの制御のもとプログラマブル回路内のパワーオフ処理を開始するステップとを備える。プログラマブル回路はプロセッサシステムと独立にパワーオフされるように構成され得る。この実施例の1つの局面において、方法は、プロセッサシステムの制御のもとプログラマブル回路のパワーオフ処理が完了したことの決定に応じてプログラマブル回路から電力を切り離すステップをさらに備え得る。この実施例の別の局面において、方法は、プログラマブル回路内に実現された回路の状態情報をプログラマブル回路のパワーオフに優先して決定し、状態情報をメモリ内に記憶するステップをさらに備え得る。この実施例のさらに別の局面において、方法は、状態情報をプロセッサシステム内のメモリ内に記憶するか、プロセッサシステムの制御のもとプログラマブル回路をパワーオンするか、または、状態情報をプログラマブル回路内に実現された回路内に復元するステップをさらに備え得る。この実施例の別の局面において、方法は、プロセッサシステムの制御のもと第1回路を備えるプログラマブル回路をパワーオンするステップと、プログラマブル回路の少なくとも一部がプログラマブル回路内において第2回路を実現するように構成するステップとをさらに備え得る。さらにこの実施例の別の局面において、方法は、プロセッサシステムの制御のもとプログラマブル回路をパワーオンするステップと、各々が機能的に等価であり異なる電力プロファイルを有する複数の回路の電力プロファイルに対応して選択される複数の回路の一つを有するプログラマブル回路の少なくとも一部を構成するステップとを備え得る。集積回路の実施例は、ハードウェアにより実現されプログラムコードを実行するように構成されるプロセッサシステムと、プロセッサシステムに結合されて異なる物理回路を実現するプログラマブル回路とを備え得る。プログラマブル回路はプロセッサシステムと独立にプロセッサシステムの制御のもとパワーオフされるように構成され得る。この実施例の1つの局面において、集積回路は、アナログ-ディジタル変換を実行するように構成されるシステムモニタをさらに備える。システムモニタは、プロセッサシステムに直接結合される。この実施例の別の局面において、プログラマブル回路がパワーオフ処理を完了したことの決定に応じて、プロセッサシステムは、パワーサプライスイッチに信号を送りプログラマブル回路から電力を切り離す。さらにこの実施例の別の局面において、プロセッサシステムは、プログラマブル回路のパワーオフに優先してプログラマブル回路内に実現された回路の動作状態を決定し、かつメモリ内に、プログラマブル回路の動作状態を特定する状態情報を記憶するように構成され得る。この実施例の別の局面において、プロセッサシステムは、コアと、内部メモリとを含み得る。コアは、プロセッサシステムの内部メモリ内に状態情報を記憶するように構成され得る。さらにこの実施例の別の局面において、プロセッサシステムは、プログラマブル回路をパワーオンし、記憶された状態情報に対応するプログラマブル回路の動作状態を復元するように構成され得る。この実施例の別の局面において、第1レベルシフタは、プロセッサシステムとプログラマブル回路との間にシステムレベル信号を通過させるように構成され得る。第2レベルシフタは、プロセッサシステムとプログラマブル回路との間にユーザシグナルを通過させるように構成され得る。第1レベルシフタと第2レベルシフタは、独立に作動可能であり得る。さらにこの実施例の別の局面において、プロセッサシステムは、プログラマブル回路の少なくとも一部を構成するための要求に応じて低電力モードからアウェイクされるように構成され得る。この実施例の別の局面において、プログラマブル回路は、プログラマブル回路に与えられる電源の電圧レベルがプログラマブル回路の動作に必要な予め定められた電圧レベルに到達したことを検出するように構成されたレベル検出回路を備え得る。レベル検出回路は、電力サプライの電圧レベルが予め定められた電圧レベルに到達したことの検出に応じてただちにプロセッサシステムに信号を送る第1モードで、または電源の電圧レベルが予め定められた電圧レベルに到達した後予め定められた量の時間の満了に応じてただちにプロセッサシステムに信号を送る第2モードで動作するように構成可能であり得る。この実施例の別の局面において、プロセッサシステムは、複数の機能的に等価な回路の各々の性能プロファイルに対応する複数の機能的に等価な回路から回路を選択し、かつプログラマブル回路内に選択された回路を実現するようにプログラマブル回路の構成を開始するように構成され得る。この実施例の別の局面において、複数の回路の各々の性能プロファイルは、電力消費情報を備え得る。プロセッサシステムは、電力消費要求に対応する性能プロファイルを有する回路を選択し得る。集積回路の別の実施例は、ハードウェアにより実現されプログラムコードを実行するように構成されるプロセッサシステムと、異なる物理回路を実現するように構成可能なプログラマブル回路とを備える。プログラマブル回路は、プロセッサシステムに結合されるとともにプロセッサシステムの制御のもとパワーオフ処理を実現するように構成され得る。プロセッサシステムは、複数の機能的に等価な回路の各々の性能プロファイルに対応する複数の機能的に等価な回路から回路を選択し、かつプログラマブル回路内の選択された回路を実現するためにプログラマブル回路の構成を開始するように構成され得る。この実施例の1つの局面において、複数の回路の各々の性能プロファイルは、電力消費情報を備え得る。プロセッサシステムは、電力消費要求に対応する性能プロファイルを有する回路を選択し得る。図面の詳細な説明この明細書は新規とみなされる1つ以上の実施例の特徴を定める請求項で終えるが、1つ以上の実施例は、図面と併せた記載を考慮することによってさらによく理解されると思われる。要求されるように、1つ以上の実施例が、この明細書中に開示される。しかし、1つ以上の実施例は、単に例示であると理解されるべきである。そのため、この明細書中に開示される特定の構造および機能的な詳細は、限定解釈されず、単に請求項の根拠として、かつ、実質的に任意の適切な詳細構成における1つ以上の実施例をさまざまに採用するように当業者に教示するための代表的な根拠として解釈される。さらに、ここで使用される用語および語句は、限定することでなく、ここに開示される1つ以上の実施例の理解可能な説明を与えることを意図する。この明細書中に開示される1つ以上の実施例は、集積回路ICに関し、より特定的には、1つ以上の実施例は、プロセッサシステムとプログラマブル回路部分とを含むIC内の電力マネジメントに関する。ICは、プログラマブル回路に結合されるプロセッサシステムを含むように実現され得る。一般に、プログラマブル回路は、プロセッサシステムと独立してパワーオンおよびオフされるように構成され得る。プロセッサシステムは、プログラマブル回路の電力サイクリングの管理を遂行するように構成され得る。プロセッサシステムと独立にプログラマブル回路をパワーオフする能力は、電力効率の高い方式でICを機能させる。さらに、プロセッサシステムは、プログラマブル回路がパワーオフのままである間、動作し続けかつプログラムコードの実行を続け得る。ICの2つのサブシステム、すなわちプロセッサシステムとプログラマブル回路との間の機能的な独立性を与える電力マネジメントにより、プロセッサシステムは、さらに低電力モードまたはスリープモードに置かれ得る。低電力モードからアウェイクすると、プロセッサシステムは、プログラマブル回路内のパワーオン処理を開始するような機能を実行し得る。プロセッサシステムおよびプログラマブル回路が動作可能なとき、プロセッサシステムは、1つ以上の構成および/またはプログラマブル回路に関連する再構成の機能を開始し得る。プログラマブル回路内の回路を物理的に実現する再構成能力を有するプロセッサシステムの遂行によっては、IC内に実現されたシステムが、フィールドに展開されオペレーティングしているときでも発展しアップグレードされ続けることができる。図1は、この明細書中に開示される実施例に従うICのアーキテクチャ100を説明する第1ブロック図である。アーキテクチャ100は、フィールドプログラマブルゲートアレイFPGA:fieldprogrammablegatearrayタイプのIC内に実現され得る。図示されるように、アーキテクチャ100は複数の異なるタイプのプログラマブル回路、たとえば論理、のブロックを含む。たとえば、アーキテクチャ100は、マルチギガビットトランシーバMGT101と、設定論理ブロックCLB102と、ランダムアクセスメモリブロックBRAM103と、入力/出力ブロックIOB104と、設定およびクロッキング論理CONFIG/CLOCK105と、ディジタル信号処理ブロックDSP106と、専用入力/出力ブロックI/O107たとえば設定ポートおよびクロックポートと、ディジタルクロックマネージャ、アナログ-ディジタル変換器、およびシステムモニタリング論理などの他のプログラマブル論理108とを含む複数の異なるプログラマブルタイルを含む。幾つかのプログラマブルICにおいて、プログラマブルタイルの各々は、プログラマブル相互接続素子INT111を含む。プログラマブル相互接続素子INT111は、隣接の各々のタイルの対応するINT111へ/からの、標準化された接続を有する。そのため、INT111は、ともに、図示されるICのプログラマブル相互接続構造を実現する。各INT111は、図1の上部に含まれる例に示されるように、同じタイル内のプログラマブル論理素子へ/からの、接続も含む。たとえば、CLB102は、ユーザ論理に加えて単一のINT111を実現するようにプログラムされ得るコンフィギュラブル論理素子CLE112を含み得る。BRAM103は、1つ以上のINT111に加え、BRAM論理素子BRL113を含み得る。典型的には、タイル内に含まれるINT111の数は、タイルの高さに依存する。図示される実施例において、BRAMタイルは、CLBの5倍の高さを有するが、他の数たとえば4が使用されてもよい。DSPタイル106は、適切な数のINT111に加え、DSP論理素子DSPL114を含み得る。IOB104は、たとえば、1つのINT111のインスタンスに2つの入力/出力論理素子IOL115のインスタンスを加えたものを含み得る。当業者に明確なように、実際にたとえばIOL115へ接続されるI/Oパッドは、典型的には、IOL115に限られない。図1に示される例において、ダイ中央付近のコラム状の領域図1のハッチングで示されるは、設定と、クロックと、他の制御論理とに使用される。このコラムから延びる水平領域109は、プログラマブルICの幅を横切るクロックおよび設定信号を分配する。図1に示されるアーキテクチャを利用する幾つかのプログラマブルICは、プログラマブルICの大部分を構成する規則的なコラム状の構造を中断させる追加の論理ブロックを含み得る。追加の論理ブロックは、プログラマブルブロックおよび/または専用回路とすることができる。たとえば、PROC110として示されるプロセッサブロックは、CLBとBRAMとの複数のコラムにおよぶ。PROC110は、ICのプログラマブル回路を実現するダイの一部として製造され、ハードウェアにより実現されるプロセッサとして実現され得る。PROC110は、ことなるさまざまなプロセッサタイプ、および/または、個別のプロセッサ、たとえばプログラムコードを実行可能なシングルコア、から、1つ以上の、コア、モジュール、コプロセッサ、インタフェイス、あるいは同様のものを有するプロセッサシステム全体のような複雑なものに至るまでを表わし得る。より複雑な配列において、たとえば、PROC110は、たとえば中央処理ユニット、キャッシュメモリ、メモリコントローラ、プログラマブルICのI/Oピンに直接結合するおよび/またはプログラマブルICのプログラマブル回路に結合するように構成可能な一方向および/または双方向インタフェイスなどの1つ以上のコアを含み得る。プログラマブル回路は、ここで記載されるさまざまなプログラム可能なまたは構成可能な回路ブロックまたはタイルを参照し得る。ICにロードされる設定データに従って、さまざまな回路ブロック、タイル、および/または素子を選択的に結合する相互接続回路についても同様である。実施例において、プログラマブル回路は、プログラマブルファブリックとして実現され、あるいは呼ばれ得る。1つ以上のPROC110をプログラマブル回路に結合するインタフェイスを使用することにより、PROC110は、IC全体の電力マネジメント機能を実行する。たとえば、PROC110は、プログラマブル回路の電力サイクリングを制御し得る。加えて、PROC110は、スリープまたは低電力モードに入りそして終了することができる。図1は、ICを実現するために使用されるアーキテクチャの例を単に説明することが意図されたものである。たとえば、コラム内の論理ブロックの数と、コラムの相対幅と、コラムの数および順序と、コラムに含まれる論理ブロックのタイプと、論理ブロックの相対サイズと、図1の上部に含まれる相互接続/論理の実行例は、単に例示にすぎない。実際のICにおいて、たとえば、ユーザ回路デザインの効率的な実現を促進するために、CLBの1つ以上の隣接コラムは、典型的には、CLBが現れるところのどこにでも含まれる。しかし、隣接CLBコラムの数は、ICの全体のサイズで変わり得る。図2は、この明細書中に開示される別の実施例に従って構成されるIC200を説明する第2ブロック図である。IC200は、プログラマブル回路204に結合されるプロセッサシステムPS202を含む任意のさまざまな異なる構成を使用して実現することができる。たとえば、IC200は、図1のアーキテクチャ100と同じあるいは類似したアーキテクチャを使用して実現され得るが、その場合に限られない。一般に、IC200は、PS202をプログラマブル回路204内に実現される回路に結合するために使用されるさまざまなインタフェイスをより詳細に説明する。図2に示される例において、PS202は、IC200のダイのおよそ三分の二を占めるように図示され、一方でプログラマブル回路204は、同じダイのおよそ三分の一を占めるように図示される。図2は、しかし、IC200の代表的なスケールを意図しているのではない。むしろ、図2は、例示を目的として与えられ、この明細書内に開示される1つ以上の実施例の限定を意図していない。一般に、PS202は、IC200内にハードウェアにより構成されるシステムとして実現される。PS202内のさまざまな部品やモジュールは、ある程度、矢印を有するライン、たとえば信号または通信のリンクなど、によって結合される。そのような矢印は、制御のフローの方向を説明することを意図する。この点で、方向矢印を有するラインとして図示される信号は、一般に、信号の制御が、ターゲット部品よりも矢印を発するソース部品によってもたらされることを示している。矢印は、一般に、データまたは信号の方向を示すことを意図するものではない。この点で、信号は、方向矢印の存在にかかわらず、双方向信号または通信リンクとして実現され得る。この明細書中において、同じ参照符号は、端子と、信号ラインと、ワイヤと、それらの一致する信号とを参照するために使用される。この点で、信号と、ワイヤと、接続と、端子と、ピンとの用語は、随時、この明細書中において、同義に使用されてもよい。信号やワイヤなどは、シングルワイヤを介するシングルビットの伝達または複数の並列ワイヤを介する複数の並列ビットの伝達などの1つ以上の信号を表わし得ると認められるべきである。さらに、ワイヤまたは信号の各々は、別掲のとおり、信号またはワイヤによって接続された2つ以上の要素間の双方向通信を表わす場合もあってよい。示されるように、PS202は、コア複合体206を含む。コア複合体206は、コア208および210と、DSPユニット212および214と、割り込み要求ユニットIRQ216と、スヌープ制御ユニットSCU218とを含む。コア208および210の各々は、そこに組み込まれたレベル1L1キャッシュ図示しないを含み得る。任意のさまざまな異なるタイプのプロセッサコアおよび/またはDSPユニットが使用され得るが、ここに開示される実施例において、コア208および210の各々は、32KBの命令キャッシュと32KBのデータキャッシュとを有するARMCortex登録商標-A9タイプのプロセッサコアとして実現され得る。DSPユニット212および214は、NEON登録商標メディアおよび/または浮動小数点処理エンジンの形で実現され得る。DSPユニット212および214の各々は、128ビットのベクトルベースのDSP機能を与え得る。ARMCortex登録商標-A9プロセッサおよびNEON登録商標メディアおよび/または浮動小数点処理エンジンは、英国ケンブリッジのARMホールディングスARMから利用可能である。PS202内において、コア複合体206は、レベル2L2キャッシュ220とオンチップメモリOCM222とに結合される。L2キャッシュ220は、256KBメモリとして実現され得る。OCM222も、256KBメモリとして実現され得る。コア208および210とDSPユニット212および214とは、L2キャッシュ220およびOCM222に直接アクセスし得る。一般に、OCM222は、PS202および/またはプログラマブル回路204たとえばプログラマブル回路204内に実現される回路、に対して利用可能なローカルメモリを提供する。比較により、メモリでもあるL2キャッシュ220は、PS202のキャッシュとして機能する。したがって、L2キャッシュ220は、オフチップ実行メモリなどのRAM内に記憶されたデータビットを効率的なコピーであるデータの小さいブロックまたは一部を記憶し得る。もし、たとえば、L2キャッシュ220内に記憶されたデータの読み出し要求が発行されると、RAMから引き出されるのと反対に、データはL2キャッシュ220から読み出される。PS202はさらにリセットユニット224と、クロックユニット226と、メモリコントローラ228とを含む。リセットユニット224は、信号230などのIC200の外部のソースを起源とする1つ以上の信号を受ける。信号230は、PS202および/またはPS202内の1つ以上の全ての部品をリセットするように、リセットユニット224に指示する。クロックユニット226は、信号232などのIC200の外部のソースを起源とする1つ以上の基準信号を受け得る。クロックユニット226は、たとえば、受信された信号232と同期できる位相同期回路として実現され得、あるいはそれを含み得る。クロックユニット226は、1つ以上の異なる周波数のクロック信号を生成し得、そのクロック信号はPS202のいたるところに分配される図示しない。さらに、クロックユニット226は、1つ以上の異なる周波数の1つ以上のクロック信号を生成し得、そのクロック信号はプログラマブル回路204内に実現される回路による使用のためにプログラマブル回路204に分配され得る。メモリコントローラ228は、オフチップなどのIC200の外部に配置される1つ以上の異なるタイプのRAMと通信するように実現され得る。たとえば、メモリコントローラ228は限定されないが、デュアルデータレートDDR2、DDR3、低電力LPDDR2タイプのメモリ、16ビット、32ビット、ECCを有する16ビットなどを含む、さまざまなタイプのメモリにアクセス、たとえば読み出しおよび/または書き込みなどをするように実現され得る。メモリコントローラ228が通信可能である異なるメモリタイプのリストは、説明のためのみ与えられ、限定や網羅的であることを意図しているのではない。PS202は、コアスイッチ236とプログラマブル回路204とに結合されるダイレクトメモリアクセスDMAインタフェイス234も含み得る。PS202は、この明細中により詳細に記載されるインタフェイス256の1つ、すなわちインタフェイス256D、と、OCM222と、メモリコントローラ228とに結合するメモリスイッチ238をさらに含む。コアスイッチ236は、示されるように、PS202のさまざまな部品の間に信号を送る。実施例において、コアスイッチ236は、PS202の内部バス図示しないに直接結合され得る。そのような実施例において、コアスイッチ236と接続するPS202内の他の部品の各々は、内部バスを介してコアスイッチ236に結合され得る。たとえば、インタフェイス240,242,246,および248の各々は、内部バスを経由してコアスイッチ236に結合され得る。内部バスは、たとえばアドバンストペリフェラスバスAPBのような任意のさまざまな異なるバスとして実現され得る。一般に、PS202は、およそ4つのI/Oのカテゴリーを含み得る。PS202には、フラッシュメモリタイプのインタフェイスと、より高い性能のインタフェイスと、より低い性能のインタフェイスと、デバッギングインタフェイスとが設けられる。I/Oの第1カテゴリに関して、PS202は、240Aおよび240Bとして説明される1つ以上のフラッシュメモリインタフェイス240を含み得る。たとえば、1つ以上のフラッシュメモリインタフェイス240は、4ビット通信用に構成されるクワッドシリアルペリフェラスインタフェイスQSPIとして実現され得る。1つ以上のフラッシュメモリインタフェイス240は、パラレル8ビットNOR/SRAMタイプのインタフェイスとして実現されてもよい。1つ以上のフラッシュメモリインタフェイス240は、8ビットおよび/または16ビット通信用に構成されるNANDインタフェイスとして実現され得るが、他のビット幅が使用されてもよい。I/Oの第2カテゴリに関して、PS202は、I/Oの第1カテゴリよりもより高いレベルの性能を与える1つ以上のインタフェイス242を含み得る。インタフェイス242A-242Cの各々は、DMAコントローラ244A-244Cにそれぞれ結合され得る。たとえば、1つ以上のインタフェイス242は、ユニバーサルシリアルバスUSBタイプのインタフェイスとして実現され得る。1つ以上のインタフェイス242は、ギガビットイーサネットタイプのインタフェイスとして実現されてもよい。1つ以上のインタフェイス242は、セキュアディジタルSDタイプのインタフェイスとして実現されてもよい。I/Oの第3カテゴリに関して、PS202は、I/Oの第2カテゴリよりも低いレベルの性能を与えるインタフェイス246A-246Dのような1つ以上のインタフェイス246を含み得る。たとえば、1つ以上のインタフェイス246は、汎用I/OGPIOタイプのインタフェイスとして実現され得る。1つ以上のインタフェイス246は、ユニバーサル非同期レシーバ/トランスミッタUARTタイプのインタフェイスとして実現されてもよい。1つ以上のインタフェイス246は、シリアルペリフェラルインタフェイスSPIバスタイプのインタフェイスの形で実現されてもよい。1つ以上のインタフェイス246は、コントローラエリアネットワークCANタイプのインタフェイスの形で実現されてもよい。1つ以上のインタフェイス246は、トリプルタイマカウンタTTCおよび/またはウォッチドッグタイマWDTタイプのインタフェイスの形で実現されてもよい。I/Oの第4カテゴリに関して、PS202は、プロセッサJTAGPJTAGポートまたはインタフェイス248A、およびトレースインタフェイス248Bのような1つ以上のデバッグインタフェイス248を含み得る。PJTAGポート248Aは、PS202のための外部のデバッグインタフェイスを与え得る。トレースインタフェイス248は、トレースなどのデバッグ情報をプログラマブル回路204から受けるためのポートと、PS202のデバッギングデータをプログラマブル回路204に送り出すためのポートと、クロストリガポートとを与え得る。クロストリガポートは、プログラマブル回路204内の回路にPS202内のトレースのようなデバッグ機能を起動することができる。同様に、PS202は、プログラマブル回路204内に実現される回路内のデバッグ機能を開始させ得る。示されるように、インタフェイス240,242,246,および248の各々は、マルチプレクサ250に結合され得る。マルチプレクサ250は、内部にIC200が配置されるパッケージのボールなどのIC200の外部のピンに直接送られまたは結合される複数の出力を与える。たとえば、IC200の複数のI/Oピン、たとえば53個のピン、は、インタフェイス240,242,246,および248の間で共有され得る。ユーザは、PS202の一部としてマルチプレクサ250をインタフェイス240-248のいずれが使用されるか、したがって、マルチプレクサ250を経由してIC200のI/Oピンに結合されるかを選択するように構成することができる。示されるように、インタフェイス242-248は、ファブリックマルチプレクサ入力/出力FMIOインタフェイス252にも選択的に結合され得る。したがって、IC200、より具体的にはPS202のユーザ設定に基づいて、カテゴリ2,3,4、すなわちインタフェイス242-248の任意の1つは、FMIOインタフェイス252を経由してIC200のプログラマブル回路204に結合され得る。このことは、さらなる処理または/およびモニタリングのために、インタフェイス242-248のいずれか1つを経由して通知されるデータがプログラマブル回路204内の回路に送られるようにすることができる。制御レジスタ254は、ほとんどでなくとも、さまざまなPS202のアスペクトを制御するように設定され得る。1つ以上の指令は、制御レジスタ254に書き込まれてPS202のオペレーションを制御または調整する。たとえば、プログラマブル回路204内の回路は、ここでさらに詳細に記載されるインタフェイス256Bのようなインタフェイスを介して制御レジスタ254に書き込まれ得る。制御レジスタ254は、知的所有権IPイネーブルリセットの制御と、クロックユニット226によって生成されるクロック周波数の設定、I/Oのドライブ強度の特定および、他のシステムレベル機能のような機能を制御または調整することができる。制御レジスタ254は、PS202のパワーダウン、PS202の特定のインタフェイスを個別にパワーダウンまたは非活性化するような追加の機能を調整することができる。制御レジスタ254は、たとえば、制御レジスタ254をコアスイッチ236に結合させるAPB図示しないのようなバスを介してアクセスされ得る。PS202は、プログラマブル回路204に直接結合するインタフェイス256A-256Dとして示される1つ以上のインタフェイス256も含み得る。実施例において、1つ以上の全てのインタフェイス256は、ARMによって発行されるAMBAAXIプロトコル仕様AXIに従って実現され得る。たとえば、インタフェイス256の各々は、AMBAAXIプロトコル仕様V.2.0に準拠して実現され得る。一般に、AXIは、サブミクロン相互接続に適した高い性能、高い周波数のインタフェイスである。図2を再び参照して、インタフェイス256Aおよび256Bの各々は、たとえば、プログラマブル回路204をコアスイッチ236に結合する2つの32ビットチャネルを与えるように実現され得る。インタフェイス256Aは、汎用マスタインタフェースとして実現され得る。インタフェイス256Aは、たとえば、PS202および/またはDMAコントローラからプログラマブル回路204へのデータの汎用転送を実行するために使用され得る。たとえば、インタフェイス256Bは、PS202とプログラマブル回路204との間の汎用データ転送のために使用され得る。インタフェイス256A-256Bとコアスイッチ236とを介して、プログラマブル回路204内に実現される回路は、インタフェイス240,242,246,および248のさまざまなものにアクセスし得る。インタフェイス256Aおよび/または256Bを介して、コアスイッチ236との組み合わせにより、プログラマブル回路204内の回路はOCM222に直接、そしてメモリコントローラ228などを介してオフチップメモリに、さらにアクセルし得る。実施例において、インタフェイス246は、APBバス図示しないのようなバスを経由してコアスイッチ236に結合され得る。インタフェイス256Cは、プログラマブル回路204をコア複合体206、より具体的にはSCU218、に直接結合する64ビットスレーブインタフェイスとして実現され得る。インタフェイス256CとSCU218とを介して、プログラマブル回路204内に実現される回路は、コア208および210、IRQ216、L2キャッシュ220およびOCM222の各々の中にあるL1キャッシュへの直接のアクセスを与える。したがって、プログラマブル回路204内の回路は、そのようなメモリに対する読出しおよび/または書き込みと、コア複合体206内で生成されるまたはアサートされる割り込みの検出とを行ない得る。加えて、信号290は、ポートまたは信号としてIRQ216に与えられ得る、プログラマブル回路204からの1つ以上の割り込み、および/または、PS202から、より具体的にはコア複合体206からの、ポートまたは信号としてプログラマブル回路204へ提供され得る、1以上の割り込みのコピー、を表わし得る。別の実施例において、インタフェイス256Cは、コプロセッサとしての回路機能による使用に適するコア複合体206へのコヒーレントアクセスを与える。たとえば、プログラマブル回路204内に実現されるソフトプロセッサは、インタフェイス256Cを経由してPS202と通信し得る。インタフェイス256Dは、複数、たとえば4つの、64ビットスレーブインタフェイスを与えるように実現され得る。インタフェイス256Dは、PS202とプログラマブル回路204内に実現される回路との間の大量のデータを効率良く交換するために使用され得る。示されるように、インタフェイス256Dは、メモリスイッチ238を経由するOCM222へのアクセスと、メモリスイッチ238およびメモリコントローラ228を経由するオフチップメモリへのアクセスを有する、プログラマブル回路204内に実現される回路を提供する。PS202は、プロセッサ設定アクセスポートPCAP258をさらに含む。示されるように、PCAP258は、設定コントローラ260とプログラマブル回路204内に配置されるシステムモニタブロックシステムモニタ262とに結合され得る。加えて、PS202は、PS電圧検出器292を含み得る。PS電圧検出器292は、信号294として示される電力供給からの入力電圧源をモニタし得る。信号294の電圧が予め定められた電圧レベルを満たすという決定に応じて、PS電圧検出器292は、制御信号図示しないを発行することにより、1つ以上の他の部品をイネーブルさせ得る。たとえば、信号294の電圧が少なくとも最小電圧レベルであるという決定に応じて、PS電圧検出器292は、1つ以上のIC200のIOBをイネーブルさせ得る。別の例において、信号294の電圧が最小電圧レベルを満たすという決定に応じて、PS電圧検出器292は、包括的にレベルシフティング回路296として示される1つ以上のレベルシフタをイネーブルし得る。PS電圧検出器292のさらなる機能は、残りの図を参照して説明される。レベルシフティング回路296は、一般に、PS202がプログラマブル回路204から電気的に絶縁されるのを助ける。レベルシフティング回路296は、第1電圧レベルの信号を第2電圧レベルの信号に変換するように構成される。場合によって、第1および第2電圧レベルは、異なる電圧値であり得る。たとえば、場合によって、PS202は、プログラマブル回路204に与えられる電力信号と異なる電位を有する電力信号を使用して動作し得る。他の場合、PS202は、プログラマブル回路204に与えられる電力信号と同じ電位を有するあるいは有するように意図される1つ以上の電力信号を受け得る。電力信号は、しかし、独立に制御され得、電力信号の電位の類似あるいは同一にかかわらず2つの異なる電力領域につながる。電力信号の独立性は、プログラマブル回路204に与えられる電力信号と比較して、PS202に与えられる電力信号の電位の小さい変動を生じさせ得る。電力信号内の電位変動を考慮するため、そしてPS202と無関係にプログラマブル回路204を電力サイクルするための能力をサポートするために、PS202とプログラマブル回路204との間を横断する信号は、レベルシフティング回路296を通過され得る。シングルブロックとして説明されるが、述べられたさまざまなインタフェイスの各々、たとえばFMIOインタフェイス252、トレースインタフェイス248B、インタフェイス256A-256D、PCAP258、クロック信号およびDMA信のような任意の他の信号、は、レベルシフティング回路296によって代表されるレベルシフタを含みまたは通過し得ると理解されるべきである。レベルシフティング回路296は、PS202とプログラマブル回路204との間を伝搬する信号の電圧レベルが整合されることを保証する。IC200は、レベルシフト回路296内の1つ以上の異なるクラスのレベルシフタを含み得る。たとえば、第1クラスのレベルシフタは、信号、たとえば設定信号、バウンダリスキャン信号および/または機能、のようなシステムレベル信号をPS202から、プログラマブル回路204内の述べられたようなシステムモニタ262のような部品に直接接続するように構成され得る。第1クラスのレベルシフト回路に属するレベルシフタは、PSがリセットでない、たとえば動作モードに入る、そしてプログラマブル回路204への電力が動作に適切であると決定されたときに、イネーブルされ得る。プログラマブル回路204の動作に適切な電力は、プログラマブル回路204の設定が起こるのに十分な電力および/またはプログラマブル回路204内に実現される任意の回路を機能させるために十分な電力を含み得る。第2クラスのレベルシフタは、プログラマブル回路204からPS202へテスト信号を接続するように構成され得る。第2クラスのレベルシフタは、PS202がリセットでないそしてプログラマブル回路204が適切な電力を有するとともに回路を実現するように構成もされ得るときにイネーブルされ得る。ディスエーブルされると、第2クラスのレベルシフタは、ハイのデフォルト論理を出力するように構成され得る。第3クラスのレベルシフタは、PS202とプログラマブル回路204との間のユーザ信号を接続するように構成され、または接続することが可能である。第3クラスのレベルシフタは、PS202がリセットでないそしてプログラマブル回路204が適切な電力を有し構成されるときに、イネーブルされ得る。実施例において、第3クラスのレベルシフタは、ディスエーブルされると、ローのデフォルト論理を出力するように構成され得る。第4クラスのレベルシフタは、プログラマブル回路204とPS202との間を1つ以上のレベル信号を搬送するように構成され得る。第4クラスのレベルシフタは、常にイネーブル、たとえば動作可能にされ得る。プログラマブル回路204は、プログラマブル相互接続回路を使用してともに結合され得る1つ以上のプログラマブル回路ブロックを含むように実現され得る。プログラマブル回路ブロックとプログラマブル相互接続回路とは、IC200内にロードされた設定データに基づいて、1つ以上の異なる物理回路、たとえばユーザ回路280実現するように構成され得る。プログラマブル回路204、その中に実現されるハードウェアにより実現されるさまざまな回路を除く、は、設定データが設定メモリ内にロードされて、プログラマブル回路204内に物理回路が実現されるまで、動作ユニットまたは機能ユニットでないと理解されるべきである。示されるように、プログラマブル回路204は、設定コントローラ260とシステムモニタ262とを含む。設定コントローラ260とシステムモニタ262とは、PS202内のPCAP258に結合され得る。設定コントローラ260とシステムモニタ262とは、ハードウェアにより実現される回路の形で実現され得る。設定コントローラ262は、設定データを設定メモリセルへ書き込むことを担当し、それによって、プログラマブル回路204内の設定データにより特定される回路を物理的に実現する。設定コントローラ260と同様にPCAP258を経由してPS202への直接接続を有するシステムモニタ262は、電圧モニタリング、電流モニタリング、および/または温度モニタリングを与えるために活用され得るアナログからディジタルADへの変換のような機能を実行し得る。システムモニタ262は、複数、たとえば16個、の入力を含み得る。1つ以上の入力は、信号の連続的なモニタのために選択的に設定され得る。一般に、システムモニタ262は、最大でおよそ1MHzのサンプリングレートにおけるおよそゼロボルトと1ボルトとの間の電圧の12ビットサンプリングを与え得る。サンプリング機能を通して、システムモニタ262は、電流の変動や温度の変動などのようなイベントを検出するために電圧変動をモニタし得る。たとえば、システムモニタ262は、温度の測定を生み出すために、順方向電圧が温度に依存ことからダイオードの順方向電圧をサンプルし得る。一般に、より高い電圧は、より低い温度を示す。モニタされ得る信号は、IC200内の信号または外部ソースからIC200に与えられる信号を含み得る。或る局面において、システムモニタ262は、信号が予め定められた量よりも大きく変動するときに、警告または通知機能を与え得る。たとえば、警告または他の指示信号は、特定のコンディションが満たされるとき、たとえば信号の値が特定の範囲の外に増加または減少するときに、プログラマブル回路204内の回路に与えられ得る。別の例において、PS202、たとえばIRQ216へ与えられ得る割り込みは、システムモニタ262によって生成され得る。システムモニタ262は、AD変換によって生成されたサンプルデータをストリームし、サンプルデータを周期的に与え、またはプログラマブル回路204の回路またはPS202内の回路によってポーリングされるときにサンプルデータを与えるようにさらに構成され得る。システムモニタ262は、1つ以上の異なるタイプのインタフェイスを含み得る。AD変換を実行するために、システムモニタは、サンプルされ得る1つ以上のアナログ入力を含み得る。システムモニタ262は、それを通してPS202がシステムモニタ262と相互作用するJTAGインタフェイスを含み得る。JTAGインタフェイスを使用することにより、システムモニタ262は、PS202の周辺デバイスとして機能し得る。システムモニタ262は、プログラマブル回路204内の回路によって制御され得る1つ以上の設定可能な信号をさらに含む。たとえば、プログラマブル回路204内に実現される回路は、システムモニタ262からサンプルされた値を受けるために、1つ以上のシステムモニタ262の信号を制御し得る。システムモニタ262は、それを介して基準電圧がIC200の外部から与えられ得る1つ以上の信号をさらに含む。別の実施例において、システムモニタ262は、IC200内のアナログ信号のテスト機能を与え得る。たとえば、PS202および/またはプログラマブル回路204内の1つ以上のあるいは全てのアナログ信号は、テストモードに置かれたとき、システムモニタ262に選択的に結合され得る。したがって、アナログ信号は、テストモードにおいて、システムモニタ262を使用することによってモニタされ得る。たとえば、クロックユニット226のバンドギャップ回路において使用されるアナログ信号は、IC200がテストモードに置かれたとき、テストのためにシステムモニタ262に結合され得る。一般に、システムモニタ262は、述べられたIC200内の電圧、電流、温度などのような量をモニタするための高精度なサンプリング性能を与える。この明細書で述べられたIC200のプロセッサのスタートアップまたはパワーオンに含まれる他の電圧検出器と異なり、プログラマブル回路204が構成されるまで、たとえば設定データのローディングを通してそこに回路構成が実現される、までシステムモニタ262は、機能的でない。プログラマブル回路204は、ハードウェアにより実現される回路の形の1つ以上のインタフェイスを実現するようにも構成され得る。たとえば、JTAGインタフェイス262と、1つ以上のMGT266A-266Dと、周辺部品相互接続エクスプレスPCLeインタフェイス268と、相互設定アクセスポートICAP270と、セキュリティポート272とは、IC200の一部のプログラマブル回路内にハードウェアにより実現される回路として含まれ得る。プログラマブル回路204を参照して述べられるさまざまなインタフェイスは、実現され得るインタフェイスの例を説明するのであって、この明細書中に開示される1つ以上の実施例について制限または限定することを意図するものではない。たとえば、設定データは、IC200内にロードされ、設定コントローラ260によって受信され得る。実施例において、設定データは、IC200の設定プロセスを制御し得るPS202を介して受信され得る。プログラマブル回路204内にハードウェアにより実現される回路として実現され得る設定コントローラ260は、PCAP258を経由してPS202から受信される設定データをIC200の設定メモリ図示しない内にロードし得る。ユーザ回路280のような異なる物理回路は、IC200の設定メモリ内にロードされる特定の設定データによって特定されるプログラマブル回路204内に実現または形成され得る。ハードウェアにより実現される回路によるこのような態様における設定データのローディングは、プログラマブル回路204の初期設定を要求しないと理解されるべきである。設定データのローディングの結果によってプログラマブル回路204内に実現される回路は、物理回路であるが、その回路が、ハード回路あるいはそうでなければIC200内に固定されるというよりはむしろプログラマブル回路内に形成されるという点で、典型的にソフトと称される。ユーザ回路280は、上述された任意のさまざまなインタフェイスを介してPS202に結合され得る。直接アクセスは、インタフェイス256を経由して与えられ得、一方、PS202へのさらなるアクセスは、FMIOインタフェイス252を介して容易にされ得る。図3は、この明細書中に開示される別の実施例に従うパワーマネジメントのために構成されるシステム300を説明する第3ブロック図である。示されるように、システム300は、IC305と、電源330と、スイッチ335,340および345として示される1つ以上のスイッチとを含み得る。IC305は、図1および図2に示されるICを参照して述べらるものとして実質上実現され得る。図3は、しかし、パワーマネジメント機能をより明確に説明するために、IC305の摘要図を示す。従って、IC305は、PS310とプログラマブル回路315とを含み得る。実施例において、プログラマブル回路315は、プログラマブルファブリックまたはFPGAの形で実現され得る。PS310とプログラマブル回路315とは、1つ以上のレベルシフタ320によってともに結合され得る。電源330は、電力信号350,352,および354のような複数の電力信号を生成し得る。実施例において、電力信号350-354の各々は、異なる電位を有し得る。示されるように、電力信号350-354は、IC305のPS310内のPS電圧検出器312に結合される。電力信号350-354の各々は、スイッチ335-345の1つにもそれぞれ結合され得る。スイッチ335-345は、電力信号350-354をプログラマブル回路315内のファブリック電圧検出器325に選択的に通過させるように構成され得る。スイッチ335-345の各々は、PS310によって生成される制御信号356に応じて電力信号350-354をファブリック電圧検出器325へ選択的に通過させ得る。図3に示される実施例において、PS電圧検出器312は、制御信号356を生成し得る。スイッチ335-345がオンになると、電力信号350-354は、プログラマブル回路315へ伝搬する。オフになると、スイッチ335-345は、電力信号350-354をプログラマブル回路315から切り離す。PS電圧検出器312は、電力信号350-354をモニタし、そして、電力信号350-354の各々が、本明細書においてさらに詳細に述べられる、1つ以上の異なる電圧閾値、をいつ満たすかを決定するように構成され得る。図示されるように、PS電圧検出器312は、2箇所で、電力信号354に結合される。PS電圧検出器354は、電源330およびスイッチ345の間の場所と、スイッチ345およびファブリック電圧検出器325の間の場所とで電力信号354に結合され得る。電力信号350は、IC305のI/Oに電力を与えるために使用され得る1.2-1.8ボルトの電力信号として実現され得る。電力信号352は、プリドライバ電圧およびバイアス電圧をIC305へ与えるために使用され得る1.8ボルトの電力信号として実現され得る。電力信号354は、たとえば、IC305の論理回路を供給するために使用され得るボルトの電力信号として実現され得る。述べられた例および値は、例示の目的のためであり、それ自体、この明細書中に述べられる1つ以上の実施例の限定を意図していない。レベルシフタ320は、図2のレベルシフティング回路296を参照して述べられるものとして実現され得る。示されるように、レベルシフタ320は、2箇所、たとえばスイッチ345の手前およびスイッチ345からの出力で、電力信号354に結合され得る。一般に、スイッチ335-345の各々は、スイッチからのそれぞれの出力がスイッチに入力として与えられる電力信号よりも低い電圧を有するように、電圧降下を生じさせる幾つかの抵抗を有する。そのため、2つの電力領域が同じ電圧で動作することが意図される場合、1つ以上の他の要因と同様にスイッチ335-345の抵抗によってそれぞれの領域に与えられる電力信号の電圧の変動が起こり得る。レベルシフタ320は、第1電力領域、すなわちPS310、と第2電力領域、すなわちプログラマブル回路315との間に信号を通過させるために、これらの電圧の変動を考慮し得る。示されるように、プログラマブル回路315は、ファブリック電圧検出器325として説明される電圧検出器をも含み得る。ファブリック電圧検出器325は、信号350-354の各々が予め定められた電圧レベルに到達したときを検出し、そしてそれに応じて信号358を生成し得る。信号358は、レベルシフタ320Aを経由してPS310に与えられ得る。レベルシフタ320Aは、たとえば、第4クラスのレベルシフタとして実現され得る。図示しないが、電力信号は、電圧検出器312あるいは1つ以上の他の部品から、PS310を介して分配され得ると理解されるべきである。同様に、電力信号は、ファブリック電圧検出器325あるいは1またはそれより他の部品から、プログラマブル回路315を介して分配され得る。加えて、ファブリック電圧検出器325は、プログラマブル回路315内に配置されているにもかかわらず、1つ以上の他のシステムレベル部品と一緒に、ハードウェアにより実現される回路として実現され得る。動作において、IC300は、パワーオンされ得る。電源330は、たとえば、IC300への電力の供給を開始し得る。PS310は、プログラマブル回路315のパワーオンと、プログラマブル回路315の設定とを援助し得る。PS310への電力の供給でただちに、PS電圧検出器312は、電力信号350-354の電圧のモニタを開始する。電力信号350-354の1つ以上のあるいは全ての電圧が最小のIOB電圧とも称される第1予め定められた最小電圧レベル、を満たすことの決定に応じて、PS電圧検出器312は、コントロール信号360を経由してIOB328をイネーブルし得る。一般に、PS電圧検出器312がIOB328をイネーブルすると、PS電圧検出器312は、1つ以上の電力信号350-354を経由して受ける電位がIOB328を駆動するのに十分なこと、たとえば最小IOB電圧を満たすことを決定している。たとえば、IBO328は、内部電力信号をIOB328に結合することによってイネーブルされ得る。最小IOB電圧は、IOB328が動作するのに十分高いが、PS310のブートまたはスタートアップを開始するのに十分高い必要はない。したがって、最小IOB電圧は、いまだ、動作モード内のPS310の動作に好ましいまたは適当な電圧範囲よりも低くあり得る。一旦、活性化されると、IOB328は、電力指示信号362を受けることができる。電力指示信号362は、電源330または別の外部ソースによって与えられ得る。電力指示信号362は、たとえば、電源330が安定しているとき、それゆえ、電力信号350-354が安定しかつPS310のスタートアップの開始に必要な範囲内にあるときにハイに設定され得る。したがって、IOB328をイネーブルするためにPS310がPS電圧検出器312を利用するにもかかわらず、PS310は、電力指示信号に依存していつ電源330が動作可能でかつ安定であるかを示す。電力指示信号362を受ける、たとえば信号がハイになることに応じて、PS310は、ブートまたはスタートアップ処理を開始し得る。スタートアップ処理は、残りの図を参照してさらに詳細に述べられる。実施例において、スタートアップ処理の一部として、PS電圧検出器312は、制御信号356を経由してスイッチ335-345をオンにし、それによってプログラマブル回路315を電力信号350-354に結合する。スイッチ335-345がオンされることによって、PS電圧検出器312は、電力信号354の電圧をスイッチ345からの出力としてモニタし得る。PS電圧検出器312が信号354の電圧が最小のレベルシフタ電圧として称される予め定められた第2の最小電圧、を満たすことを決定すると、PS電圧検出器312は、1つ以上のレベルシフタ320、たとえばレベルシフタ320Aをイネーブルし得る。最小のレベルシフタ電圧は、プログラマブル回路315内の1つ以上の選択されたデバイス、たとえばレベルシフタ320Aが動作するのに十分であり得る。実施例において、最小のレベルシフタ電圧は、プログラマブル回路および/または1つ以上のレベルシフタ320、たとえば相補型金属酸化膜半導体CMOSデバイスを使用して実現される回路が機能するのに十分高いものであり得る。最小のレベルシフタ電圧は、デバイスが機能するのに十分大きい一方で、まだ、プログラマブル回路315内のデバイスの動作に必要な好ましいまたは適当な電圧範囲、たとえば設定機能と通常の動作モードでのプログラマブル回路315とをサポートするための電圧範囲よりも低い。最小のIOB電圧は、必要ではないが、最小のレベルシフタ電圧と同じまたは等しくあり得る。加えて、スイッチ335-345がイネーブルされることにより、ファブリック電圧検出器325は、動作を開始し得る。ファブリック電圧検出器325は、1またはそれ以上あるいは全ての電力信号350-354がプログラマブル回路315の動作のために必要とされ最小プログラマブル回路電圧と称される予め定められた第3の最小電圧、を満たすことを決定するために、電力信号350-354の各々の電圧のモニタリングを開始し得る。ファブリック電圧検出器325が1つ以上のあるいは全ての信号350-354の電圧が最小のプログラマブル回路電圧を満たすことの決定に応じて、ファブリック電圧検出器325は、プログラマブル回路315がパワーオンされたことをPS310に示す信号358、たとえばプログラマブル回路電力指示信号を生成し得る。たとえば、1つ以上のあるいは全ての電力信号350-354が最小のプログラマブル回路電圧を満たすとき、ファブリック電圧検出器325は、信号358をハイにする。最小のプログラマブル回路電圧は、プログラマブル回路315が適切に機能するため、たとえば動作モードにとどまり設定を受けるために要求される適当な、最小の電圧レベルである。最小のプログラマブル回路電圧は、一般に、最小のIOB電圧および/または最小のレベルシフタ電圧よりも高い。ファブリック電圧検出器325の1つ以上のあるいは全ての電力信号350-354が最小のプログラマブル回路電圧を満たすことの決定に応じた信号358の生成は、プログラマブル回路315が設定の準備ができている、たとえばその中に物理回路を実現するために設定データの準備ができていることを示す。実施例において、ファブリック電圧検出器325は、異なる2つのモードのうちの1つのモードで動作し得る。ファブリック電圧検出器325が動作する特定のモードは、外部ソースから受ける制御信号364に応じて選択され得る。制御信号364の状態に依存して、ファブリック電圧検出器325は、第1モードまたは第2モードで動作し得る。第1モードにおいて、ファブリック電圧検出器325は、信号358を生成する前、たとえば信号358をハイにする前に、1つ以上のあるいは全ての電力信号350-354が最小のプログラマブル回路電圧を満たすことを決定した後、予め定められた量の時間待機し得る。時間の量は、たとえば、およそ50ミリ秒であり得るが、他の期間が使用されてもよい。第2モードにおいて、ファブリック電圧検出器325は、1つ以上のあるいは全ての電力信号350-354が最小のプログラマブル回路電圧を満たすことを決定したことに応じて、信号358をただちに生成し得る。信号358は、プログラマブル回路315が機能的であること、たとえば動作モードにあることかつ1つ以上の異なる回路を実現するように構成され得ることをPS310に示す。図3が、電力領域の独立を達成するために、スイッチと、PS310およびプログラマブル回路315の間の共通の電力信号とを使用して記述される一方で、同様の結果はさまざまな異なる手法で達成され得る。たとえば、2つの完全に独立した電源が使用されてもよい。その場合、外部スイッチに制御信号を与えるよりも、プログラマブル回路315をパワーオンおよび/またはオフするために、コントロール信号364は、プログラマブル回路315に電力を与える電源に与えられ得る。別の例において、スイッチは、IC300内に含まれ得る。その場合、制御信号356は、IC300内に配置されたスイッチに与えられてプログラマブル回路315をオンおよび/またはオフする。図4は、この明細書中に開示される別の実施例に従うICのためのパワーマネジメントの方法400を説明する第1フローチャートである。より具体的に、方法400は、ICのパワーオンの方法の例を説明する。方法400は、この明細書の図1-3を参照して述べられたICによって実行され得る。したがって、ステップ405において、電力は、ICのPSに印加されまたは結合され得る。ステップ410において、外部で生成された電力指示信号に結合されるIOBを動作するため、PS電圧検出器は、PSに供給される電力信号が電圧要求、たとえば最小のIOB電圧を満たすことを決定し得る。したがって、電力信号が最小のIOB電圧を満たすことの決定に応じて、ステップ415において、PS電圧検出器は、電力指示信号に結合されるIOBをパワーオンし得る。実施例において、IOBの動作に要求される電圧レベルは、典型的にPSの動作に要求される電圧レベルよりも低くあり得る。ステップ420において、PSは、電源が安定状態に到達したことを示す電力指示信号がハイになったことを検出し得る。たとえば、電力指示信号は、安定状態が達成されるまで、ICの外部の電力サプライによりローに保持され得る。一度安定状態が達成されると、電源は、電力指示信号をハイにし、PSのオペレーションに要求される電圧が電源から利用可能であることを示す。PS電圧検出器は、ステップ415において電力指示信号が結合されるIOBの活性化による電力指示信号の状態変化を検出し得る。ステップ425において、電力指示信号のハイ状態の検出に応じて、PS電圧検出器は、PS内のブートまたはスタートアップ処理を開始し得る。ステップ430-450は、一般に、PSによって実行されるスタートアップ処理を述べる。ステップ430において、PSは、内部で生成される基準クロックを使用して動作を開始し得る。内部で生成される基準クロックは、たとえば、図2のクロックユニット226によって生成され得る。一般に、内部基準ロックは、通常の動作、たとえば、動作モードの間、最終的にPSをクロックするために使用されるクロック信号よりも低い周波数で動作する。たとえば、実施例において、内部クロック信号は、および30MHzの周波数を有する。ステップ435において、PSは、バンドギャップ回路をイネーブルまたはパワーオンする。バンドギャップ回路は、たとえば、PSのクロックユニット内に配置され得、一般に、同様にクロックユニット内に配置されるPLLによる使用のための基準電圧を与える。したがって、ステップ440において、PSは、PLLをイネーブルし、フルスピード動作を開始し得る。たとえば、内部で生成される基準クロックを使用する動作のとき、クロックのPLLはバイパスされる。バンドギャップ回路とPLLがイネーブルされると、PLLはもはやバイパスされず、それによって、クロックユニットのPLLが同調し得る外部で与えられるクロック信号に対応するフルスピードでPSを動作させる。別掲のとおり、PLLによって出力されるクロック信号の周波数は、一度動作可能になると、内部で生成される基準クロックよりも著しくに高くあり得る。ステップ445において、PSは、メモリコントローラを経由してPSに結合されるRAMをイネーブルし得る。ステップ450において、PSは、すべての終端キャリブレーション処理および/または回路を活性化にし、それによってRAMと同調する。一般に、ステップ450の後、PSは、動作モードにあるとみなされる。PSは、たとえば、リセット状態を終えてプログラムコードを実行し得る。別の例において、PSは、プログラマブル回路の電力の管理も開始もし得る。ステップ455において、PSは、ICの一部のプログラマブル回路のパワーオン処理のマネジメントを開始し得る。たとえば、ステップ455において、PSは、ICのプログラマブル回路に電力を供給し得るかそうでなければプログラマブル回路への電力サプライをイネーブルし得る。たとえば、PSは、制御信号を経由して、スイッチにオンを指示し、それによってスイッチにより受けられるすべての電力信号も出力させるとともに、プログラマブル回路に伝搬させる。ステップ460において、PS電圧検出器は、プログラマブル回路への電力信号がプログラマブル回路電力指示信号に結合されるレベルシフタを動作するための最小のレベルシフタ電圧を満たすことを決定する。ステップ465において、プログラマブル回路は、電力信号が最小のプログラマブル回路電圧を満たすことを決定し得る。ステップ470において、電力信号が最小のプログラマブル回路電圧を満たすことの決定に応じて、プログラマブル回路は、プログラマブル回路が設定の準備ができていることの信号を、PSに出力する。別掲のとおり、プログラマブル回路は、PSによってイネーブルされたシステムレベルシフタの1つに結合されるプログラマブル回路電力指示信号を介して設定の準備ができていることを通信し得る。ステップ475において、PSは、PSとプログラマブル回路との間のシステムレベル信号の通信に使用されるすべてのレベルシフタをイネーブルし得る。実施例において、PSは、プログラマブル回路の設定を要求しないレベルシフタをイネーブルし得る。PSとプログラマブル回路との間を通過するクロック信号を伝搬させる1つ以上のレベルシフタも、イネーブルされ得る。ディスエーブルされると、レベルシフタの各々は、定数、たとえばローまたはハイのいずれかを出力するように構成され得る。一旦イネーブルされると、レベルシフタの出力は、レベルシフタに与えられる入力に依存するようになる。実施例において、レベルシフタが論理ハイを受けると、レベルシフタは、論理ハイを出力し得る。レベルシフタが論理ローを受けると、レベルシフタは論理ローを出力し得る。別の実施例において、レベルシフタは、相補値を出力するように構成されてもよい。たとえば、レベルシフタが論理ハイを入力として受けると、レベルシフタは、論理ローを出力し得る。同様に、レベルシフタが論理ローを入力信号として受けると、レベルシフタは論理ハイを出力するように構成され得る。いずれの場合も、ディスエーブルになったとき、レベルシフタは、一定の論理ハイまたは一定の論理ローを出力するように構成され得る。ステップ480において、PSは、1つ以上の回路を実現するためにプログラマブル回路を構成し得る。PSは、オフチップに記憶された設定データにアクセスし得る。PSは、設定データをIC内にロードし、設定データを設定コントローラに通知する。設定コントローラは、一旦ロードされると設定データによって特定されるプログラマブル回路内の1つ以上の物理回路を実現する設定データを設定メモリセル内にロードし得る。ステップ485において、PSは、PSとプログラマブル回路との間にユーザ信号を通過させるために利用可能なレベルシフタをイネーブルし得る。ステップ485の後、IC全体は、動作可能である。別掲のとおり、PSは、動作モードであり、プログラムコードを実行できる。さらに、プログラマブル回路は、動作モードである。実施例において、プログラマブル回路は、ユーザ特定信号の生成を介して設定に引き続きリセットタイプの状態から解放され得る。ユーザ特定信号は、ステップ480を参照して述べられる設定データのローディングの結果、プログラマブル回路内に実現される回路によって生成されるものである。図5は、この明細書中に開示される別の実施例に従うICのための電力マネジメントの方法500を説明する第2フローチャートである。より具体的に、方法500は、この明細書の図1-4を参照して述べられたように構成されるICのプログラマブル回路のパワーオフのための1つの技術を説明する。方法500は、プログラマブル回路を含むICのパワーマネジメントが、PSによってどのように実行されるかを説明する。方法500は、PSとプログラマブル回路とがともに動作可能、たとえば動作モードにある状態で開始し得る。PSは、プログラムコードを実行し得、プログラマブル回路内に実現される回路を動作させることができる。いくつかの信号またはイベントに応じて、PSは、プログラマブル回路がオフされることを決定し、したがって、プログラマブル回路のパワーオフ処理を開始し得る。ステップ505が開始されると、PSは、プログラマブル回路内に実現された回路の状態を記憶し、少なくとも一部において、プログラマブル回路が再びパワーオンされるときに引き続いて復元することができる、プログラマブル回路内のパワーオフ処理を開始し得る。パワーオフ処理は、プログラマブル回路に関連するので、一般にステップ505-520を含む。したがって、ステップ505において、PSは、プログラマブル回路をアイドル状態に置く。たとえば、PSは、任意のさらなるまたは新しいトランザクションがプログラマブル回路に入るのを防止しながら、プログラマブル回路を、進行中またはプログラマブル回路に与えられた任意の動作を完了できる状態に置く。プログラマブル回路に対するオペレーションが完了すると、たとえば、PSは、プログラマブル回路、たとえばプログラマブル回路に与えられるゲート変動クロック信号などを停止し得る。したがって、プログラマブル回路は、もはや動作モードにない。ステップ510において、PSは、プログラマブル回路内に実現される回路、たとえばユーザ回路についての状態情報を決定するように、プログラマブル回路に問い合わせる。実施例において、プログラマブル回路内に記憶されるデータは、設定リードバック機能、バウンダリスキャン機能などを使用してPSによって得られ得る。たとえば、プログラマブル回路内の1つ以上のメモリ内に記憶されるデータは、PSによって得られ、または読み出され得る。そのようなデータは、係数のテーブルまたはプログラマブル回路内に実現される回路によって必要とされる他のデータを含み得る。別の例において、カリフォルニアサンノゼのXilinx、Incから利用可能であるMicroBlaze登録商標のようなソフトプロセッサ、がプログラマブル回路内に実現されると、レジスタ内に記憶された値と同様にプログラマブル回路内のソフトプロセッサのプログラムメモリの内容を取得することができる。ステップ515において、PSは、プログラマブル回路から得られる状態情報をメモリに記憶し得る。実施例において、PSは、オフチップに配置されるメモリ内に状態情報を記憶し得る、たとえば、PSは、外部RAM内に状態情報を記憶し得る。別の実施例において、PSは、内部メモリ内に状態情報を記憶し得る。たとえば、PSは、PS内に配置され図2を参照して述べられるOCM内に状態情報を記憶し得る。ステップ520において、PSは、プログラマブル回路をパワーオフし得る。たとえば、PSは、制御信号を経由して、プログラマブル回路を電力信号から切り離すようにスイッチに指示する。一旦ログラマブル回路がパワーオフされると、PSは、通常の動作状態でオペレートしプログラムコードを実行し続ける。代わりに、プログラマブル回路のパワーオフに引き続いての後に、PSは、任意的に低電力モードに置かれてもよい。低電力モードにある間、PSは、プログラムコードを実行せず、システムクロックがたとえばフルスピードで動作している動作モードにあるときよりも著しく少ない電力を消費する。したがって、ステップ525-545は、自然に選択的であり得、PSを低電力、たとえばスリープモードに置くためのステップを説明する。実施例において、たとえば、PSは、プログラマブル回路のパワーオフに応じて低電力モードを開始するように構成され得る。別の実施例において、PSは、ICの外部から受ける信号または割り込みに応じて低電力モードに入るように指示されてもよい。ステップ525において、PSは、クロックユニット内で動作するPLLをバイパスし得る。PLLがバイパスされると、PSは、内部で生成される基準クロックを用いて動作を開始し得る。ステップ530において、PSは、バンドギャップ回路をパワーオフし得る。ステップ535において、PSは、RAMをセルフリフレッシュモードに置き得る。ステップ540において、PSは、RAMの終端キャリブレーション機能をディスエーブルし得る。ステップ545において、基準クロックは、PS内の電力消費をさらに低減するように分割された周波数であり得る。たとえば、およそ30MHzの周波数を有する内部で生成されるクロックは、およそ1MHzに低く分割された周波数であり得る。図6は、この明細書中に開示される別の実施例に従うICのための電力マネジメントの方法600を説明する第3フローチャートである。より具体的には、方法600は、ICを低電力モード外にする方法の例を説明する。方法600は、この明細書の図1-5を参照して述べられるICによって実現され得る。一般に、方法600は、PSを低電力モード外にしてプログラマブル回路の再設定を実行する1つの技術を説明する。ステップ605において、PSは、内部で生成される基準クロックの周波数分割を中止し得る。PSは、ステップ610においてバンドギャップ回路をイネーブルし得、ステップ615においてPLLをイネーブルし得る。一旦イネーブルされると、PLLは、もはやバイパスされず、PSは、フルスピード、たとえばクロックユニットのPLLによって出力されるクロック信号の周波数で動作を開始し得る。ステップ620において、PSは、RAMをセルフリフレッシュモード外にし得る。ステップ625において、PSは、終端キャリブレーション処理を起動または開始し得る。ステップ630において、PSは、プログラマブル回路をパワーオンし得る。たとえば、PSは、制御信号を経由してスイッチをオンしプログラマブル回路を電力信号に結合する。実施例において、PSは、プログラマブル回路の設定を要求する信号または割り込みに応じて低電力モードからアウェイクし得る。たとえば、信号は、プログラマブル回路内における完全に新しい回路の実現、または、新しく特定される回路が実現される間少なくとも幾つかの回路がインタラプトされずに動作し続ける部分的に新しい回路の実現を要求し得る。PSをロー電力モードからアウェイクする信号は、プログラマブル回路内に実現される特定の回路を特定したり、性能プロファイルパラメータを特定したりする。たとえば、PSは、低電力モードまたはスリープモードからアウェイクしてプログラマブル回路の再設定、動的再設定、または部分的動的再設定を実行または開始する。ステップ635において、PSは、プログラマブル回路内において実現するのために複数の異なる回路から回路を選択し得る。たとえば、1つ以上の回路設計は、ICの外部のメモリ内に設定データの形で記憶される。PSは、外部メモリ、たとえばフラッシュメモリまたはRAMにアクセスし得る。複数の回路設計の各々は、さらに、性能プロファイルに関連付けられ得る。回路の各々の性能プロファイルは、PS内のメモリ、たとえばPSによって実行されるプログラムコード内、設定データを有する外部メモリ内、または別のメモリに記憶され得る。実施例において、設定データによって特定されるような複数の回路の各々は、機能的に等価であり得る。回路は、しかし、異なる電力量を消費し得、したがって、一般に、同じタスクまたは機能を実行するために回路の各々が要求する時間の量の点で、異なる性能特性示す。回路の各々の時間情報および電力消費情報とは、各回路の性能特性プロファイルの一部として特定され得る。いかなる場合においても、PSは、性能プロファイル内の1つ以上の属性に従って対応する複数の回路の1つを選択するようにプログラムされ得る。1つの例において、PSは、特定の所望の性能の要件を特定するICの外部のソースからの信号を受け得る。性能要件は、タイミング、電力消費、または両者の組み合わせを特定し得る。PSは、特定される性能特性にもっとも近く一致する回路を選択し得る。別の例において、PSは、プログラマブル回路の再設定が実行されるときに、PS内に存在する動作状態に従って特定の回路を選択し得る。PSが回路を選択し得る特定の方式は、与えられる異なる例によって限定されることを意図しない。ステップ640において、PSは、選択された回路に対応する設定データをロードし得る。選択された回路のための設定データのロードは、プログラマブル回路内に回路が物理的に実現されることを生じさせる。たとえば、PSは、外部メモリから設定データを読み、プログラマブル回路内の設定コントローラに設定データを与え得る。設定コントローラは、受けた設定データを適切な設定メモリセルに書き込み、それによって、プログラマブル回路内に回路設計を物理的に実現する。図6は、PSがプログラム回路の少なくとも一部を再構成して、パワーオフ前にプログラム回路内に実現されていたものとは異なる回路を実現する例を示すが、他の例においてはPSはプログラム回路をパワーオンしてもよい。一旦パワーオンされると、PSは、プログラマブル回路の再設定を実行する必要はない。代わりに、プログラマブル回路に以前に実現されていた回路は、そのままとどまり得る。PSは、そして、メモリから、プログラマブル回路内の関連するメモリおよび/またはレジスタに、記憶された回路の状態情報をロードし戻し、プログラマブル回路のパワーダウンに先立って回路の動作状態を少なくとも部分的に復元する。一旦状態が復元されると、または部分的に記憶されると、プログラマブル回路は、リセット状態から脱して、動作モードで機能する。図中のフローチャートは、この明細書中に開示される1つ以上の実施例に従うシステム、方法およびコンピュータプログラム製品の可能性のある実施例のアーキテクチャと、機能と、動作とを示す。この点で、フローチャートのブロックの各々は、特定される論理機能を実現する実行可能なプログラムコードの1つ以上の部分を備えるモジュール、セグメント、またはコード、を表わし得る。なお、幾つかの代替的な実行例において、ブロック内に示される機能は、図に示される順序と異なって生じてもよい。たとえば、連続して示される2つのブロックは、実際に、含まれる機能によって、実質的に同時に実行されてもよいし、あるいは、ときにはブロックは逆の順序で実行されてもよい。なお、フローチャートの例のブロックの各々と、フローチャートの例のブロックの組み合わせとは、特定の機能、または作用、あるいは特別な目的のハードウェアと実行可能な指令との組み合わせを実行する特別な目的のハードウェアベースのシステムによって実現され得る。1つ以上の実施例は、ハードウェアまたはハードウェアとソフトウェアとの組み合わせとして実現され得る。1つ以上の実施例は、1つのシステムに集中される形、または異なる要素がいくつかの相互接続されたシステムをまたがって分配される形で実現され得る。本明細書で述べられた方法の少なくとも一部を実行するように適合される任意の種類のデータ処理システムまたは他の装置が好適である。1つ以上の実施例は、さらに、ここで述べられた方法の実行例をイネーブルする全ての特徴を含むコンピュータプログラム製品のようなデバイスに組み込まれ得る。デバイスは、プログラムコードを記憶する、非一時的データ記録媒体、たとえばコンピュータが使用可能媒体またはコンピュータが読み取り可能媒体な、を含み得る。プログラムコードは、メモリとプロセッサとを備えるシステム内にロードされ実行されると、システムにこの明細書中に述べられた機能の少なくとも一部を実行させる。非一時的データ記録媒体の例は、光媒体、磁気媒体、光磁気媒体、ランダムアクセスメモリまたはハードディスクのようなコンピュータメモリなどを含み得るが、それらに限定されない。コンピュータプログラム、ソフトウェア、アプリケーション、コンピュータが使用可能なプログラムコード、プログラムコード、実行可能なコード、それらの変形および/または組み合わせ、この文脈において、いかなるの言語、コードまたは表記は、情報処理能力を有するシステムに直接または以下のいずれかあるいは両方の後に特定の機能を実行させることを意図した一組の指令の任意の表現を意味する。a別の言語、コードまたは表記への変換、b異なる材料形態での再生。たとえば、プログラムコードは、サブルーチン、機能、処理、オブジェクトメソッド、オブジェクトインプリメンテーション、実行可能なアプリケーション、アプレット、サーブレット、ソースコード、オブジェクトコード、共有ライブラリ/ダイナミックロードライブラリおよび/またはコンピュータシステムで実行するために設計される他の指令のシーケンスを含み得る。aおよびanの用語は、ここで使用されるように、1つ以上として定められる。複数の用語は、ここで使用されるように、2つ以上として定められる。別のの用語は、ここで使用されるように、少なくとも第2またはそれ以上のものとして定められる。含むおよび/または有するの用語は、ここで使用されるように、備える、すなわちオープンランゲージとして定められる。結合されの用語は、ここで使用されるように、いかなる要素も介在せずに直接か1つ以上の要素を介在して間接的に接続されるものとして定められる。2つの要素は、機械的に、電気的に結合されるか、または通信チャネル、配線、ネットワークあるいはシステムを介して通信可能にリンクされ得る。この明細書中に開示される1つ以上の実施例は、その中の精神または本質的属性から逸脱することなく他の形で実施され得る。したがって、前述の明細書よりも、1つ以上の実施例の範囲を示す、以下の請求項が参照されるべきである。"