(57)【特許請求の範囲】
【請求項１】
一定電力レールと、
コラプス可能電力レールと、
複数のフリップフロップと、前記複数のフリップフロップの各フリップフロップは、
前記コラプス可能電力レールに結合されたマスタ部分と、
前記一定電力レールに結合されたスレーブ部分と、
を含み、
合成制御信号になるようにクロック信号と保持信号とを合成することと、
前記コラプス可能電力レールがコラプスされている間、各フリップフロップの前記マスタ部分から前記スレーブ部分を絶縁するために、前記複数のフリップフロップの各フリップフロップに前記合成制御信号を与えることと、
を行うように構成された電力管理回路と、
を備え、
前記複数のフリップフロップの各フリップフロップは、前記コラプス可能電力レールがコラプスされている間、前記合成制御信号に応答して、前記スレーブ部分の出力においてスレーブデータを維持するためのフィードバックループを形成するように構成される、集積回路。
【請求項２】
前記電力管理回路は、前記保持信号のアクティブ状態に応答して、一定値において前記合成制御信号をクランプするようにさらに構成された、請求項１に記載の集積回路。
【請求項３】
前記複数のフリップフロップの各フリップフロップは前記合成制御信号に応答して、前記スレーブ部分から前記マスタ部分を絶縁し、前記スレーブ部分の出力において前記スレーブ部分によって記憶されたスレーブデータを保持するように構成された、請求項１に記載の集積回路。
【請求項４】
前記複数のフリップフロップの各フリップフロップの前記マスタ部分は、前記コラプス可能電力レールがコラプスされた場合、前記マスタ部分のマスタデータを放棄するように構成され、
前記複数のフリップフロップの各フリップフロップの前記スレーブ部分は、前記コラプス可能電力レールがコラプスされた場合、前記スレーブ部分のスレーブデータを保持するように構成された、請求項１に記載の集積回路。
【請求項５】
入力と出力とを有する第１のインバータと、前記第１のインバータの前記入力は、前記電力管理回路から前記合成制御信号を受信するように構成され、前記第１のインバータの前記出力は、相補内部合成制御信号を生成するように構成され、
入力と出力とを有する第２のインバータと、前記第２のインバータの前記入力は、前記相補内部合成制御信号を受信するように構成され、前記第２のインバータの前記出力は、内部合成制御信号を生成するように構成され、
をさらに備える、請求項１に記載の集積回路。
【請求項６】
前記第１のインバータは前記一定電力レールに結合され、
前記第２のインバータは前記コラプス可能電力レールに結合され、
前記複数のフリップフロップの各フリップフロップの前記スレーブ部分は、前記相補内部合成制御信号と前記内部合成制御信号とを受信するように構成されたパスゲートを含み、前記パスゲートは、前記合成制御信号が前記電力管理回路によってローに駆動される場合、開かれるように構成された、請求項５に記載の集積回路。
【請求項７】
前記電力管理回路は、前記合成制御信号を生成するために前記クロック信号と前記保持信号とを合成するように構成された合成回路を含む、請求項１に記載の集積回路。
【請求項８】
前記合成回路はＮＯＲゲートを備える、請求項７に記載の集積回路。
【請求項９】
前記合成回路は前記コラプス可能電力レールに結合された、請求項７に記載の集積回路。
【請求項１０】
前記電力管理回路は、クロックイネーブル信号の状態に基づいて電力消費を低減するために前記クロック信号をゲートするように構成されたクロックゲーティング回路を含む、請求項１に記載の集積回路。
【請求項１１】
前記複数のフリップフロップの外部に配設されたリセット回路をさらに備え、前記リセット回路は、前記保持信号がアクティブである場合、ローにクランプされるクランプ可能リセット信号を生成するためにリセット信号と前記保持信号とを合成するように構成され、前記リセット回路は、前記複数のフリップフロップの各フリップフロップに前記クランプ可能リセット信号を与えるようにさらに構成された、請求項１に記載の集積回路。
【請求項１２】
前記複数のフリップフロップの外部に配設されたリセット回路をさらに備え、前記リセット回路は、前記保持信号がアクティブである場合、ハイにクランプされるクランプ可能リセット信号を生成するためにリセット信号と前記保持信号とを合成するように構成され、前記リセット回路は、前記複数のフリップフロップの各フリップフロップに前記クランプ可能リセット信号を与えるようにさらに構成された、請求項１に記載の集積回路。
【請求項１３】
一定電力レールと、
コラプス可能電力レールと、前記コラプス可能電力レールは、前記コラプス可能電力レールがコラプスされている間、電力から分離されるように構成され、
複数のフリップフロップと、前記複数のフリップフロップの各フリップフロップは、
前記コラプス可能電力レールに結合されたマスタ部分と、
スレーブデータを記憶するように構成され、前記一定電力レールに結合されたスレーブ部分と、
を含み、
クロック信号と保持信号とに基づいて合成制御信号を生成するための手段と、前記合成制御信号は、前記保持信号がアクティブである間、一定値においてクランプされ、および前記保持信号がアクティブでない間、前記クロック信号の周期を有する周期性があるように生成され、
前記コラプス可能電力レールがコラプスされている間、各フリップフロップの前記マスタ部分から前記スレーブ部分を絶縁するために、前記複数のフリップフロップの各フリップフロップに前記合成制御信号を分配するように構成された回路と、
を備え、
前記複数のフリップフロップの各フリップフロップは、前記コラプス可能電力レールがコラプスされている間、前記合成制御信号に応答して、前記スレーブ部分の出力において前記スレーブデータを維持するためのフィードバックループを形成するように構成される、集積回路。
【請求項１４】
前記合成制御信号は、前記保持信号がアクティブである場合、各フリップフロップの前記スレーブ部分に、前記スレーブデータを保持させるように構成された、請求項１３に記載の集積回路。
【請求項１５】
前記合成制御信号を生成するための前記手段は、前記コラプス可能電力レールに結合された、請求項１３に記載の集積回路。
【請求項１６】
前記複数のフリップフロップの各フリップフロップの前記スレーブ部分は、各フリップフロップの前記マスタ部分から前記スレーブ部分を絶縁するための手段を含む、請求項１３に記載の集積回路。
【請求項１７】
絶縁するための前記手段は、前記スレーブ部分に前記マスタ部分からのマスタデータを受け渡すための手段を備え、
マスタデータを受け渡すための前記手段は、前記合成制御信号に基づいて制御されるように構成された、請求項１６に記載の集積回路。
【請求項１８】
前記合成制御信号を生成するための前記手段は、前記保持信号がアクティブである場合、前記合成制御信号を接地にプルするように構成された、請求項１３に記載の集積回路。
【請求項１９】
前記保持信号は、前記一定電力レールに結合された回路によって分配される、請求項１８に記載の集積回路。
【請求項２０】
リセット信号と前記保持信号とに基づいて、クランプ可能リセット信号を生成するための手段と、前記クランプ可能リセット信号は、前記保持信号がアクティブである間、一定値においてクランプされるように生成され、
をさらに備える、請求項１３に記載の集積回路。
【請求項２１】
フリップフロップの電力管理のための方法であって、
コラプス可能電力レールを用いて複数のフリップフロップの各マスタ部分に電力供給することと、
一定電力レールを用いて前記複数のフリップフロップの各スレーブ部分に電力供給することと、
合成制御信号を生成するためにクロック信号と保持信号とを合成することと、
前記コラプス可能電力レールの電力コラプス中に、前記複数のフリップフロップの各スレーブ部分のスレーブデータを保持するために、および前記コラプス可能電力レールがコラプスされている間、前記複数のフリップフロップの各マスタ部分から各スレーブ部分を絶縁するために、前記複数のフリップフロップに前記合成制御信号を与えることと、
を備え、
前記複数のフリップフロップの各フリップフロップは、前記コラプス可能電力レールがコラプスされている間、前記合成制御信号に応答して、前記スレーブ部分の出力において前記スレーブデータを維持するためのフィードバックループを形成するように構成される、方法。
【請求項２２】
前記合成することは、前記保持信号に応答して、各対応するマスタ部分が電力コラプスを受ける場合、前記複数のフリップフロップの各スレーブ部分の前記スレーブデータの変更を防ぐ値において前記合成制御信号をクランプすることを備える、請求項２１に記載の方法。
【請求項２３】
前記クロック信号は、ゲートされたクロック信号を備え、
前記合成することは、前記合成制御信号を生成するために、前記ゲートされたクロック信号と前記保持信号とを合成することを備える、請求項２１に記載の方法。
【請求項２４】
前記コラプス可能電力レールを用いて、前記合成することを実行する回路に電力供給すること、をさらに備える、請求項２１に記載の方法。
【請求項２５】
前記与えることは、前記合成制御信号に応答して、前記電力コラプス中に、各対応するマスタ部分から前記複数のフリップフロップの各スレーブ部分を絶縁することを備える、請求項２１に記載の方法。
【請求項２６】
クランプ可能リセット信号を生成するために、リセット信号と前記保持信号とを合成することと、
前記電力コラプス中に、前記複数のフリップフロップのリセットを防ぐために、前記複数のフリップフロップに前記クランプ可能リセット信号を与えることと、
をさらに備える、請求項２１に記載の方法。
【請求項２７】
マスタ部分とスレーブ部分とを含む第１のフリップフロップと、前記マスタ部分は、電力コラプスを受けるように構成され、前記スレーブ部分は、前記電力コラプス中にスレーブデータを保持するように構成され、
マスタ部分とスレーブ部分とを含む第２のフリップフロップと、前記マスタ部分は、前記電力コラプスを受けるように構成され、前記スレーブ部分は、前記電力コラプス中にスレーブデータを保持するように構成された、
クロック信号と保持信号とに基づいて合成制御信号を生成し、前記第１のフリップフロップと前記第２のフリップフロップとに前記合成制御信号を与えるように構成された電力管理回路と、前記合成制御信号は、前記第１のフリップフロップの前記スレーブ部分と前記第２のフリップフロップの前記スレーブ部分とに、前記第１のフリップフロップと前記第２のフリップフロップとの各々の前記マスタ部分から前記スレーブ部分を絶縁させ、前記電力コラプス中に前記スレーブデータを保持させるように構成された値を有する、
を備え、
前記第１及び第２のフリップフロップは、前記電力コラプス中、前記合成制御信号に応答して、前記スレーブ部分の出力において前記スレーブデータを維持するためのフィードバックループを形成するように構成される、集積回路。
【請求項２８】
前記電力管理回路は、前記電力コラプスを受け、前記電力コラプス中に前記合成制御信号を生成するようにさらに構成された、請求項２７に記載の集積回路。
【請求項２９】
前記第１のフリップフロップは、前記合成制御信号に応答して、前記電力コラプス中に、前記第１のフリップフロップの前記スレーブ部分から前記第１のフリップフロップの前記マスタ部分を絶縁するように構成された絶縁回路を含み、
前記第２のフリップフロップは、前記合成制御信号に応答して、前記電力コラプス中に、前記第２のフリップフロップの前記スレーブ部分から前記第２のフリップフロップの前記マスタ部分を絶縁するように構成された絶縁回路を含む、
請求項２７に記載の集積回路。
【発明の詳細な説明】
【優先権の主張】
【０００１】
関連出願の相互参照
本出願は、その全体が参照により本明細書に明確に組み込まれる、２０１５年９月２４日に出願された「POWER MANAGEMENT WITH FLIP-FLOPS」と題する米国特許出願第１４／８６４，１０１号の利益を主張する。
【技術分野】
【０００２】
本開示は、一般に、集積回路（ＩＣ）中に設置されたフリップフロップを用いた電力管理に関し、より詳細には、各フリップフロップが、ライブ（live）スレーブ部分（slave portion）とコラプス可能（collapsible）マスタ部分（master portion）とを含む保持（retention）特徴を有する、複数のフリップフロップを制御することに関する。
【背景技術】
【０００３】
[0003]電子デバイスの電力消費は、電子デバイス設計においてますます重要となるファクタである。グローバルな観点から、電子デバイスのエネルギー需要は、大規模コーポレイト（large corporate）データセンターとパーソナルコンピューティングデバイスの遍在性とにより、総エネルギー使用のかなりの割合を占める。したがって、環境問題は、地球の資源を温存するのを助けるために電子デバイスの電力消費を低下させるための取り組みの動機となる。個人の観点から、光熱費を低くしたいという普遍的な要望に加えて、多くのパーソナルコンピューティングデバイスは、バッテリーによって電力供給される。ポータブルバッテリー電源式電子デバイスによって消費されるエネルギーが少なくなるほど、ポータブルデバイスは、バッテリーを再充電することなしにより長く動作し得る。また、より低いエネルギー消費は、よりポータブルであるデバイスを製造するための、より小さいバッテリーの使用とより薄いフォームファクタの採用とを可能にする。したがって、ポータブル電子デバイスの人気も、電子デバイスの電力消費を低下させるための取り組みの動機となる。
【０００４】
[0004]電子デバイスは、デバイスが電源に結合され、オンにされた場合、電力を消費する。この電力消費シナリオは電子デバイス全体について当てはまるが、その消費シナリオは電子デバイスの個々の部分についても当てはまる。したがって、電子デバイスの一部が電力から分離されるかまたはオフにされた場合、他の部分が電力供給され、オンにされたままである間でさえも、電力は温存され得る。集積回路（ＩＣ）全体またはディスプレイスクリーンなど、電子デバイスの個別構成要素全体が、電力から分離されるかまたはオフにされ得る。個別構成要素の選択された部分が、同様にパワーダウン（power down）され得る。たとえば、集積回路のコアなど、集積回路処理エンティティがパワーダウンされ得る。集積回路の部分は、使用が規則的（regular）であるが不連続である場合、間欠的にパワーダウンされ得るか、または使用が、ある任意の時間期間の間停止した場合、一時的にパワーダウンされ得る。
【０００５】
[0005]コアなど、集積回路の一部をパワーダウンすることは、電力を節約し、バッテリー寿命を延長することができる。残念ながら、集積回路のコアをパワーダウンすることは、問題をもたらすこともある。たとえば、パワーダウンされたコアを用いて動作を再開することは時間を要し、これは、実行を遅くし、ユーザエクスペリエンスに悪影響を及ぼすことがある。さらに、電力がいくつかのタイプのコンピュータメモリから除去された場合、動作データが失われ得る。動作データを失うことは、アプリケーションを再起動させるか、あるいは、ドキュメントまたはピクチャなど、ユーザファイルに永続的に損傷を与え得る。動作データの喪失を回避するために、動作データは、集積回路のコアがパワーダウンされるより前に、より遅いまたは遠隔メモリロケーションに移動され得る。コンピューティングタスクを続けるためにコアを起動させるべき時間が到来したとき、動作データは、さらなる処理のためにメモリロケーションから取り出されるが、この取出し動作は、パワーダウンされた状態からのコンピューティング機能の再開を遅延させる。
【発明の概要】
【０００６】
[0006]例示的な態様では、集積回路が開示される。本集積回路は、一定電力レール（constant power rail）と、コラプス可能電力レール（collapsible power rail）と、複数のフリップフロップと、電力管理回路とを含む。複数のフリップフロップの各フリップフロップは、コラプス可能電力レールに結合されたマスタ部分と、一定電力レールに結合されたスレーブ部分とを含む。電力管理回路は、合成制御信号（combined control signal）になるようにクロック信号と保持信号とを合成し、複数のフリップフロップの各フリップフロップに合成制御信号を与えるように構成される。
【０００７】
[0007]例示的な態様では、集積回路が開示される。本集積回路は、一定電力レールと、コラプス可能電力レールと、複数のフリップフロップとを含む。コラプス可能電力レールは、コラプス可能電力レールがコラプスされている間、電力から分離されるように構成される。複数のフリップフロップの各フリップフロップは、コラプス可能電力レールに結合されたマスタ部分と、スレーブデータを記憶するように構成され、一定電力レールに結合されたスレーブ部分とを含む。本集積回路は、保持信号がアクティブである間、合成制御信号が一定値においてクランプされる（clamped）ように、および保持信号がアクティブでない間、合成制御信号が周期的であり、クロック信号の周期を有するように、クロック信号と保持信号とに基づいて合成制御信号を発生するための手段をも含む。本集積回路は、複数のフリップフロップの各フリップフロップに合成制御信号を分配するように構成された回路をさらに含む。
【０００８】
[0008]例示的な態様では、フリップフロップの電力管理のための方法が開示される。本方法は、コラプス可能電力レールを用いて複数のフリップフロップの各マスタ部分に電力供給することと、一定電力レールを用いて複数のフリップフロップの各スレーブ部分に電力供給することとを含む。本方法は、合成制御信号を生成するためにクロック信号と保持信号とを合成することをも含む。本方法は、コラプス可能電力レールの電力コラプス（power collapse）中に、複数のフリップフロップの各スレーブ部分のスレーブデータを保持するために、複数のフリップフロップに合成制御信号を与えることをさらに含む。
【０００９】
[0009]例示的な態様では、集積回路が開示される。本集積回路は、第１のフリップフロップと、第２のフリップフロップと、電力管理回路とを含む。第１のフリップフロップは、マスタ部分とスレーブ部分とを含み、マスタ部分は、電力コラプスを受けるように構成され、スレーブ部分は、電力コラプス中にスレーブデータを保持するように構成される。第２のフリップフロップも、マスタ部分とスレーブ部分とを含み、マスタ部分は、電力コラプスを受けるように構成され、スレーブ部分は、電力コラプス中にスレーブデータを保持するように構成される。電力管理回路は、クロック信号と保持信号とに基づいて合成制御信号を生成するように構成される。電力管理回路は、第１のフリップフロップに、および第２のフリップフロップに合成制御信号を与えるようにさらに構成され、合成制御信号は、第１のフリップフロップのスレーブ部分と第２のフリップフロップのスレーブ部分とに、電力コラプス中にスレーブデータを保持させるように構成された値を有する。
【図面の簡単な説明】
【００１０】
【図１】集積回路（ＩＣ）を含む例示的な電子デバイスを示す図。
【図２】２つの電力レールと、複数のフリップフロップと、異なるタイプの信号とを含む例示的なＩＣ部分を示す図。
【図３】電力コラプス環境における電力管理回路をもつ複数のフリップフロップのための例示的な保持制御構成を示す図。
【図４】マスタ部分とスレーブ部分とを含む例示的なフリップフロップを示す図。
【図５】クロックゲーティング回路と合成回路とを含む電力管理回路の一例を示す図。
【図６】クロックゲーティング回路の一例と合成回路の一例とを示す図。
【図７】合成回路のためのＮＯＲゲートの例示的な実装形態のための４つのデバイスを含む回路を示す図。
【図８】[0017]アクティブハイ（active high）リセット信号に応答してリセット可能である複数のフリップフロップのための電力コラプス環境における例示的なリセット制御構成を示す図。
【図９】[0018]アクティブロー（active low）リセット信号に応答してリセット可能である複数のフリップフロップのための電力コラプス環境における例示的なリセット制御構成を示す図。
【図１０】[0019]フリップフロップを用いた電力管理のための例示的なプロセスを示す流れ図。
【発明を実施するための形態】
【００１１】
[0020]完全な不使用の時間中に、エネルギー消費を低減するために集積回路（ＩＣ）全体がパワーダウンされ得る。集積回路の少なくとも一部をパワーダウンすることは、「電力コラプス」と呼ばれる。しかしながら、他の時間には、１つまたは複数のコアなど、集積回路の選択された部分は、他のコアがアイドルである間、処理、記憶、または通信のために使用され得る。集積回路が全体としてパワーダウンされ得ない場合、１つまたは複数のコアは、他のコアから独立してパワーダウンされ得る。たとえば、スクリーン上に表示されているものを変更する前に、集積回路が追加のデータまたはユーザ入力を待っている場合、グラフィックス処理ユニット（ＧＰＵ）コアがパワーダウンされ得る。アイドルであるモデムは、着信通信または発信通信間でパワーダウンされ得る。また、メモリの半分が未使用である場合、未使用メモリ半分は、他方の半分が電力供給されたままである間、パワーダウンされ得る。
【００１２】
[0021]集積回路のコアは、多くのフリップフロップを含み得る。単にフロップと呼ばれることもあるフリップフロップ（ＦＦ）は、動作データの１ビットを記憶するコンピューティングメモリのユニットである。フリップフロップは、マスタ部分とスレーブ部分とを含み得、データが、マスタ部分からスレーブ部分に内部で転送される。クロック制御されたフリップフロップは、マスタ部分に記憶されたデータが、クロック信号のパルスに応答してスレーブ部分に転送されるように構成される。
【００１３】
[0022]フリップフロップは、比較的高速のメモリユニットであり、極めて頻繁に使用される。フリップフロップはまた、フリップフロップを含む対応する集積回路の電力コラプスを通してなど、パワーダウンされた場合、記憶されたデータを放棄する（relinquish）揮発性メモリである。したがって、フリップフロップを含むコアを慎重に管理するために電力管理技法が利用され得る。電力コラプスを受けるコアのフリップフロップに記憶されたデータの喪失を防ぐために、記憶されたデータは、電力なしにデータを保持する不揮発性メモリに、またはパワーダウンされていない別のコアに移動され得る。次いで、再配置されたデータは、コアが再び電源投入された後、フリップフロップに返される。しかしながら、この手法は、時間を要し、占有チップエリアおよび信号ルーティング輻輳に関して、集積回路についてリソース集約的である。
【００１４】
[0023]いくつかのフリップフロップは、フリップフロップが、対応するコアの電力コラプス中にデータを保持することを可能にする保持特徴（retention feature）を含む。そのようなフリップフロップは、保持フリップフロップ（ＲＦＦ：retention flip-flop）と呼ばれる。保持フリップフロップは、追加の関連するラッチと２つのレベルシフタとを有するフリップフロップとして実現され得る。追加のラッチは、バルーンラッチまたはシャドーラッチと呼ばれる。バルーンラッチは、マスタ部分およびフリップフロップのスレーブ部分が電力コラプスを受けるとき、スレーブ部分についてのデータを記憶するように適応される。電力コラプス後に、バルーンラッチは、そのデータをフリップフロップのスレーブ部分に返す。しかしながら、バルーンラッチをもつ保持フリップフロップは大きく、保持特徴をもたない標準フリップフロップのエリアの３倍ほどを占有する。保持フリップフロップは、マスタ部分とスレーブ部分が両方ともコアの一定電力レールに結合されたフリップフロップとしても実現され得る。一定電力レールは、電力コラプス中に保持フリップフロップに電力を与え続ける。代わりにコラプス可能電力レールに結合された他の回路は、対応するコアが電力コラプスを受けるとき、電力を失う。
【００１５】
[0024]後者の手法は、バルーンラッチを採用する前者の手法よりも小さい保持フリップフロップを生じるが、マスタ部分とスレーブ部分の両方が、後者の手法によれば、電力コラプスイベント中に電力供給されたままである。マスタ部分またはスレーブ部分のうちの一方が電力コラプスを受け、他方の部分が電力供給されたままである場合、この後者の手法によって電力節約が達成され得る。マスタ部分に記憶されたデータに依拠することなしに、たとえば、フリップフロップのスレーブ部分に安全に記憶された動作データを使用して、コンピューティングアクティビティの再開が達成され得る。したがって、スレーブ部分が電力供給され続ける間、マスタ部分は電力コラプスを受け得る。
【００１６】
[0025]残念ながら、単にコラプス可能電力レールにマスタ部分を結合し、マスタ部分が電力コラプスを受けることを可能にすることは、問題がある。マスタ部分が電力コラプスを受ける場合、マスタ部分のデータのための電圧信号値は、電圧レベルが接地（ground）に向かって劣化するので、不定である。マスタデータのための電圧レベルが電力コラプス中に劣化する場合、劣化した電圧レベルは、電力コラプス中にまたは電力コラプスの結果としてスレーブ部分に伝搬することによって電力供給されたままである対応するスレーブ部分に影響を与え得る。したがって、電力供給されるスレーブ部分によって記憶されたデータのための電圧信号値は、破損され、未知状態に変更され得る。破損データは、次いで、電力コラプスが終了した後に再開されるコンピューティングタスクについて有害に使用される。しかしながら、マスタ部分とスレーブ部分との間の絶縁が電力コラプス中に正しく維持された場合、劣化した電圧レベルは、マスタ部分内に隔離されるか、または少なくともスレーブ部分から離され得る。
【００１７】
[0026]１つまたは複数の実施形態は、マスタ部分が電力コラプスを受ける間、スレーブ部分のスレーブデータが保持されるように、保持特徴を有するフリップフロップのスレーブ部分が電力コラプス中にフリップフロップのマスタ部分から絶縁されることを可能にする。マスタ部分とスレーブ部分とは、異なる電力レールに結合される。詳細には、マスタ部分はコラプス可能電力レールに結合され、スレーブ部分は一定電力レールに結合される。絶縁回路が、クランプ可能（clampable）クロック信号とともにアクティブ保持信号に応答して、マスタ部分からスレーブ部分を絶縁する。
【００１８】
[0027]このようにして、フリップフロップは、フリップフロップのマスタ部分が電力コラプスを受けることを可能にされる間、フリップフロップのスレーブ部分のスレーブデータが保持される、保持特徴を与えられる。この保持特徴は、絶縁回路を使用して可能にされ得、当該絶縁回路が、保持期間中にマスタデータの隔離を確立するための正しい状態または状況にされた場合、スレーブデータからマスタデータを絶縁する。
【００１９】
[0028]したがって、絶縁制御機能は、電力コラプスイベント中にマスタデータを隔離するための正しい状態に絶縁回路を維持する。１つの手法では、絶縁制御は、各フリップフロップ内に配置され得る。残念ながら、各フリップフロップ内に各絶縁回路のための別個の、個々の絶縁制御を有することは、集積回路チップ上にかなりのオーバーヘッドエリア不利益（overhead area penalty）をもたらす。さらに、クロック信号のための別個の個々の線と保持信号のための別個の個々の線は両方とも、そのような手法を用いて各フリップフロップにルーティングされる。代替手法では、複数のフリップフロップのそれぞれのフリップフロップについて、それぞれのスレーブ部分からそれぞれのマスタ部分を絶縁する複数の絶縁回路は、当該複数のフリップフロップの外部に配置された共有電力管理回路によって一緒に制御され得る。
【００２０】
[0029]１つまたは複数の実施形態は、集積回路のためのクロックツリーにおいてなど、保持特徴を有する複数のフリップフロップが、当該複数のフリップフロップの各々の外部にある電力管理回路を共有することを可能にする。共有電力管理回路は、当該複数のフリップフロップの内部にある絶縁回路を制御する。電力管理回路は、合成制御信号を生成するためにクロック信号と保持信号とを合成する。電力管理回路は、各フリップフロップの絶縁回路に、複数のフリップフロップの対応するスレーブ部分からマスタ部分を絶縁させるために、複数のフリップフロップに合成制御信号を与える。合成制御信号は、クロック信号および保持信号のために別個の個々の線を使用する代わりに、電力管理回路からの複数のフリップフロップの各々にルーティングされる。したがって、共有電力管理回路と複数の保持フリップフロップとの間の信号ルーティングは、約５０％だけ低減され得る。
【００２１】
[0030]このようにして、集積回路チップ上のエリア（area）を節約するために複数のフリップフロップによって共有される外部の電力管理回路によって制御される保持特徴を含むフリップフロップが与えられる。したがって、フリップフロップのスレーブ部分は、フリップフロップの個々のものの中に絶縁制御のための回路デバイスを含めることなしに、および電力コラプスのための保持モードの制御シグナリングのために使用される複数のワイヤトレースからの輻輳を増加させることなしに、対応するマスタ部分から絶縁され得る。
【００２２】
[0031]例示的な構造では、集積回路は、コラプス可能電力レールと、一定電力レールと、複数のフリップフロップと、電力管理回路とを含む。複数のフリップフロップの各フリップフロップは、マスタ部分と、スレーブ部分と、絶縁回路とを含む。絶縁回路は、フリップフロップのマスタ部分またはスレーブ部分の一部であるか、あるいは両方の部分とは別個であり得る。動作中、複数のフリップフロップの外部にある電力管理回路は、クロック信号と保持信号とに基づいて合成制御信号を生成する。合成制御信号は、電力コラプス中に、複数のフリップフロップの各対応するマスタ部分から各スレーブ部分を絶縁するために、絶縁回路への単一の信号線を使用して与えられ得る。絶縁は、スレーブ部分のスレーブデータを、マスタ部分上の電力コラプスの影響によって変更されることから保護されるように保つ。
【００２３】
[0032]単に例として、複数のフリップフロップの外部にある電力管理回路は、電力コラプスにより生じることがあるクロック信号の変更から複数のフリップフロップを少なくとも部分的に絶縁するために、保持信号に応答してクロック信号をクランプするように構成され得る。同様に、リセット回路が、電力コラプスにより生じることがあるリセット信号の変更から複数のフリップフロップを少なくとも部分的に絶縁するために、保持信号に応答してリセット信号をクランプするように構成され得る。同じように、セット回路が、電力コラプスにより生じることがあるセット信号の変更から複数のフリップフロップを少なくとも部分的に絶縁するために、保持信号に応答してセット信号をクランプするように構成され得る。リセット回路およびセット回路は、チップエリアを節約し、ワイヤトレース輻輳を低減するために、同様に、複数のフリップフロップの外部に配置され、複数のフリップフロップによって共有され得る。
【００２４】
[0033]図１は、集積回路（ＩＣ）１１０を含む例示的な電子デバイス１０２を示す。図示のように、電子デバイス１０２は、ＩＣ１１０に加えて、アンテナ１０４と、トランシーバ１０６と、ユーザ入力／出力（Ｉ／Ｏ）インターフェース１０８とを含む。ＩＣ１１０の図示の例は、マイクロプロセッサ１１２と、グラフィックス処理ユニット（ＧＰＵ）１１４と、メモリアレイ１１６と、モデム１１８とを含む。
【００２５】
[0034]電子デバイス１０２は、モバイルまたはバッテリー電源式デバイスであるか、あるいは動作中に電気グリッドによって電力供給されるように設計された固定デバイスであり得る。電子デバイス１０２の例としては、サーバコンピュータ、ネットワークスイッチまたはルータ、データセンターのブレード、パーソナルコンピュータ、デスクトップコンピュータ、ノートブックコンピュータ、タブレットコンピュータ、スマートフォン、エンターテインメントアプライアンス、あるいはスマートウォッチ、インテリジェントグラス、または衣料品など、ウェアラブルコンピューティングデバイスがある。電子デバイス１０２はまた、埋込み電子回路を有する、デバイスであるか、またはそれの一部分であり得る。埋込み電子回路をもつ電子デバイス１０２の例としては、乗用車、工業機器、冷蔵庫または他の家庭用電気器具、ドローンまたは他の無人航空機（ＵＡＶ）、あるいは電力ツールがある。
【００２６】
[0035]ワイヤレス能力をもつ電子デバイスの場合、電子デバイス１０２は、１つまたは複数のワイヤレス信号の受信または送信を可能にするために、トランシーバ１０６に結合されたアンテナ１０４を含む。ＩＣ１１０は、ＩＣ１１０が、受信されたワイヤレス信号へのアクセスを有すること、またはアンテナ１０４を介する送信のためにワイヤレス信号を与えることを可能にするために、トランシーバ１０６に結合され得る。電子デバイス１０２はまた、図示のように少なくとも１つのユーザＩ／Ｏインターフェース１０８を含む。ユーザＩ／Ｏインターフェース１０８の例としては、キーボード、マウス、マイクロフォン、タッチセンシティブスクリーン、カメラ、加速度計、触覚機構、スピーカー、ディスプレイスクリーン、およびプロジェクタがある。
【００２７】
[0036]ＩＣ１１０は、たとえば、マイクロプロセッサ１１２、ＧＰＵ１１４、メモリアレイ１１６、モデム１１８などの１つまたは複数のインスタンスを備え得る。マイクロプロセッサ１１２は、中央処理ユニット（ＣＰＵ）または他の汎用プロセッサとして機能し得る。いくつかのマイクロプロセッサは、個々に電源投入（powered on）または電源切断（powered off）され得る、複数の処理コアなど、異なる部分を含む。ＧＰＵ１１４は、人のために表示されるべき視覚関係データを処理するように特に適応され得る。視覚関係データが処理またはレンダリングされていない場合、ＧＰＵ１１４はパワーダウンされ（powered down）得る。メモリアレイ１１６は、マイクロプロセッサ１１２、ＧＰＵ１１４、またはユーザファイルのためのデータを記憶する。メモリアレイ１１６のためのメモリの例示的なタイプとしては、ダイナミックＲＡＭ（ＤＲＡＭ）またはスタティックＲＡＭ（ＳＲＡＭ）など、ランダムアクセスメモリ（ＲＡＭ）、フラッシュメモリなどがある。プログラムが、メモリに記憶されたデータにアクセスしていない場合、メモリアレイ１１６はパワーダウンされ得る。モデム１１８は、信号に情報を符号化するために信号を変調し、または符号化された情報を抽出するために信号を復調する。アウトバウンド通信またはインバウンド通信のために符号化または復号すべき情報がない場合、モデム１１８は、電力消費を低減するためにアイドリングされ得る。ＩＣ１１０は、Ｉ／Ｏインターフェース、トランシーバまたは受信機チェーンの別の部分、特定用途向け集積回路（ＡＳＩＣ）などのカスタマイズまたはハードコーディングされたプロセッサ、加速度計などのセンサーなど、示されているもの以外に追加または代替の部分を含み得る。
【００２８】
[0037]ＩＣ１１０はまた、システムオンチップ（ＳＯＣ）を備え得る。ＳＯＣは、ＳＯＣが、ノートブック、モバイルフォン、あるいはもっぱらまたは主に１つのチップを使用する別の電子装置として計算機能を与えることを可能にするために、十分な数またはタイプの構成要素を組み込み得る。ＳＯＣ、またはＩＣ１１０の構成要素は、概して、ブロックまたはコアと呼ばれることがある。コアまたは回路ブロックの例としては、電圧調節器、メモリアレイ、メモリコントローラ、汎用プロセッサ、暗号プロセッサ、モデム、ベクトルプロセッサ、Ｉ／Ｏインターフェースまたは通信コントローラ、ワイヤレスコントローラ、およびＧＰＵがある。プロセッサまたはＧＰＵコアなど、これらのコアまたは回路ブロックのいずれも、複数の内部コアをさらに含み得る。ＳＯＣのコアは、本明細書で説明される本技法によれば、使用中でない場合、パワーダウンされ得る。
【００２９】
[0038]図２は、複数のフリップフロップ２０６−１〜２０６−８を含み、異なるタイプの信号を利用する、例示的なＩＣ部分２００を示す。図示のように、ＩＣ部分２００は、コラプス可能電力レール２０２（ＣＰＲ：collapsible power rail）と、一定電力レール２０４（ＫＰＲ：constant power rail）と、８つのフリップフロップ２０６−１〜２０６−８と、フリップフロップのサブセットを含むフリップフロップトレイ２１８とを含む。ＩＣ部分２００は、クロック信号２０８と、保持信号２１０と、リセット信号２１２とをさらに含むか、または場合によってはそれらを利用する。ＩＣ部分２００はまた、電力コラプス２１６を経験する。フリップフロップは、データが異なる処理タスクのために記憶されるべきである様々なロケーションにおいて、ＩＣ部分２００の周りに分散される。
【００３０】
[0039]フリップフロップは、フリップフロップ２０６−７またはフリップフロップ２０６−８など、単独でＩＣ部分２００上に配置（dispose）され得る。フリップフロップは、フリップフロップ２０６−５がフリップフロップ２０６−６に近接して配置されることなど、代替的に一緒に配置され得る。フリップフロップはまた、動作グループ（operational group）中に配置され得、フリップフロップ動作グループは、フリップフロップトレイまたは単にフロップトレイと呼ばれる。フリップフロップトレイは、ＩＣの走査テストを可能にする回路など、複数のフリップフロップの間での回路または制御シグナリングを共有し得る。フリップフロップトレイ中のフリップフロップの総数は、２つ、４つ、８つ、１０個、１６個、１７個、３２個などであり得る。図示のように、フリップフロップトレイ２１８は、フリップフロップ２０６−１と、フリップフロップ２０６−２と、フリップフロップ２０６−３と、フリップフロップ２０６−４とを含む。
【００３１】
[0040]１つまたは複数の実施形態では、コラプス可能電力レール２０２および一定電力レール２０４は、所与の電圧において保たれ、図示されていない、電力管理ＩＣ（ＰＭＩＣ：power management IC）によって電力供給される。ＰＭＩＣは、ＩＣ部分２００のそれと同じＩＣの内部または外部にあり得る。ＰＭＩＣは、電圧変換または電圧調節を通して特定の電圧レベルにおいて電力レールに安定した電圧を供給するように構成される。一定電力レール２０４は、通常動作中に電力を維持するように構成される。一方、コラプス可能電力レール２０２は、電力コラプスイベントを容易にする（facilitate）ために、通常動作中に電力から分離されるように構成される。電力がコラプス可能電力レール２０２から除去された場合、コラプス可能電力レール２０２に結合された回路は、電力コラプス２１６によって表される、電力コラプスイベントを受ける。
【００３２】
[0041]より詳細には、コラプス可能電力レール２０２が電源から切断された場合、コラプス可能電力レール２０２は電力コラプス２１６を受け得る。その切断は、電源とコラプス可能電力レール２０２との間に結合されたスイッチを使用して、または電源をオフにすることによって、内部でまたは外部で実現され得る。コラプス可能電力レール２０２が電源から切断された場合、コラプス可能電力レール２０２上の電圧は降下し始め、最終的に接地電位（ground potential）に到達する。明快のために、および一方の電力レールを他方と区別するために、電力レール２０４は、一定電力レール２０４と呼ばれる。ただし、一定電力レール２０４はコラプス可能である。たとえば、ＩＣ部分２００を含んでいるデバイスが完全にパワーダウンされた場合、一定電力レール２０４は電力コラプスを受ける。さらに、時々、代替の電力管理シナリオは、コラプス可能電力レール２０２と一定電力レール２０４の両方をコラプスさせることを伴い得る。
【００３３】
[0042]この特定の例では、３つの制御信号が、矢印として図２の下部の近くに表される。フリップフロップ動作に関して、クロック信号２０８は、データをフリップフロップの入力から、図２に明示的に示されていないフリップフロップのマスタ部分およびスレーブ部分を通って、フリップフロップの出力に進める。保持信号２１０は、データが、電力コラプス２１６中に保持されるようにするために、アクティブに駆動されるかまたはアクティブ状態にされる。アクティブ保持信号２１０は、保持フリップフロップの対応する保持特徴をアクティブにする。保持フリップフロップを含むフリップフロップは、リセットまたはリセット可能フリップフロップを備え得る。アクティブリセット信号２１２は、リセット特徴を有するフリップフロップが、０または１など、知られている状態にリセットされるようにする。したがって、リセット信号２１２がアクティブであり、リセットフリップフロップに適用される場合、リセットフリップフロップは、フリップフロップの内部アーキテクチャに応じて、０または１の知られている出力を発生する。リセットフリップフロップは、図８および図９を参照しながら説明されるように、アクティブハイまたはアクティブローであるリセット信号２１２に応答し得る。
【００３４】
[0043]クロック制御されたフリップフロップは、クロック信号２０８に少なくとも部分的に基づいて動作する。保持フリップフロップは、保持信号２１０に少なくとも部分的に基づいて動作する。リセットフリップフロップは、リセット信号２１２に少なくとも部分的に基づいて動作する。１つまたは複数の合成制御信号またはクランプ可能制御信号は、適切なフリップフロップ機能を可能にするために、複数のフリップフロップ２０６−１〜２０６−８の各々、または図２に明示的に示されていないそれらの制御デバイスにルーティングされる。制御回路または制御シグナリングを共有することによって、電力消費またはオンチップリソース利用に関する効率が増加され得る。電力消費を低下させ、所与の数の保持フリップフロップのために電力管理回路によって占有されるチップエリアを低減するか、または、複数のフリップフロップの電力管理のための制御信号をルーティングするワイヤトレースの複雑さおよび輻輳を減少させる実施形態が本明細書で説明される。
【００３５】
[0044]図３は、電力コラプス２１６が生じることがある環境における複数のフリップフロップ２０６−１〜２０６−４および電力管理回路３０６のための例示的な保持制御構成３００を示す。図示のように、保持制御構成３００は、コラプス可能電力レール２０２と、一定電力レール２０４と、複数のフリップフロップ２０６−１〜２０６−４と、電力管理回路３０６と、リセット回路３１２とを含む。保持制御構成３００は、様々な制御信号、すなわち、クロック信号２０８と、保持信号２１０と、リセット信号２１２と、合成制御信号３０８（ＣＣＳ）とをさらに含む。複数のフリップフロップ２０６−１〜２０６−４の各フリップフロップ２０６は、マスタ部分３０２と、スレーブ部分３０４と、絶縁回路３１０とを含む。
【００３６】
[0045]１つまたは複数の実施形態では、各フリップフロップ２０６のマスタ部分３０２は、スレーブ部分３０４とは異なる電力レールによって電力供給される。この特定の例では、マスタ部分３０２は、コラプス可能電力レール２０２に結合され、それによって電力供給される。スレーブ部分３０４は、一定電力レール２０４に結合され、それによって電力供給される。電力管理回路３０６は、合成制御信号３０８になるようにクロック信号２０８と保持信号２１０とを合成するように構成される。電力管理回路３０６は、複数のフリップフロップ２０６−１〜２０６−４の各フリップフロップ２０６に合成制御信号３０８を与えるようにも構成される。例示的な実装形態では、電力管理回路３０６は、クロック信号２０８と保持信号２１０とに基づいて合成制御信号３０８を発生するための手段を与える。
【００３７】
[0046]電力管理回路３０６は、電力コラプス２１６中に複数のフリップフロップ２０６−１〜２０６−４の各フリップフロップ２０６に合成制御信号３０８を与えるように構成される。そうすることは、絶縁回路３１０を使用して各フリップフロップ２０６のマスタ部分３０２からスレーブ部分３０４を絶縁する。例示的な実装形態では、絶縁回路３１０は、各フリップフロップ２０６のマスタ部分３０２からスレーブ部分３０４を絶縁するための手段を与える。より詳細には、合成制御信号３０８を受信することに応答して、複数のフリップフロップ２０６−１〜２０６−４の各フリップフロップ２０６は、以下でより詳細に説明されるように、電力コラプス２１６中にスレーブ部分３０４の出力においてスレーブデータを保持するために、スレーブ部分３０４からマスタ部分３０２を絶縁するように構成される。このスレーブデータの保持は、特に図４〜図６を参照しながら本明細書で説明される。少なくともいくつかの実施形態では、保持信号２１０の状態に応答して、電力管理回路３０６は、電力コラプス２１６中に、０または１など、一定値において合成制御信号３０８をクランプするように構成される。クランプすることは、保持信号２１０の、アサートされた状態または高電圧レベルなど、アクティブ状態に応答して実行され得る。合成制御信号３０８を発生および維持することのさらなる説明が、特に図５および図６を参照しながら本明細書で与えられる。
【００３８】
[0047]保持制御構成３００は、リセット信号２１２とリセット回路３１２とをも含む。図３に示されているように、リセット回路３１２は、保持信号２１０をも受信し得る。リセット回路３１２は、保持信号２１０とリセット信号２１２とを合成する。リセット回路３１２の（図３に示されていない）出力が、電力コラプス２１６中の偶発的リセット動作が生じることを防ぐために、複数のフリップフロップ２０６−１〜２０６−４の動作を少なくとも部分的に制御し得る。リセット回路３１２の例示的な態様は、特に図８および図９を参照しながら本明細書でさらに説明される。
【００３９】
[0048]フリップフロップ電力管理のいくつかの原理が、図３の複数のフリップフロップ２０６−１〜２０６−４に関して本明細書で説明されたが、原理は、特定の数のフリップフロップにも、図２のフリップフロップトレイ２１８などのフリップフロップトレイを形成する複数のフリップフロップにも限定されない。また、各フリップフロップ２０６の絶縁回路３１０は、図３では、単に一例として、マスタ部分３０２およびスレーブ部分３０４とは別個に示されている。絶縁回路３１０またはそれの１つまたは複数の回路デバイスは、代替的に、マスタ部分３０２またはスレーブ部分３０４の一部であり得る。
【００４０】
[0049]図４は、概略的に４００において、コラプス可能電力レール２０２と一定電力レール２０４とにそれぞれ動作可能に接続されたマスタ部分３０２とスレーブ部分３０４とを含む、例示的なフリップフロップ２０６を示す。スイッチ４３０が、コラプス可能電力レール２０２と一定電力レール２０４との間に与えられる。スイッチ４３０が開位置にあるとき、ここに示されているように、電力コラプスが生じることがある。マスタ部分３０２とスレーブ部分３０４とに加えて、フリップフロップ２０６は、入力４３２「Ｄ」と、出力４３４「Ｑ」と、第１のインバータ４１８と、第２のインバータ４２８とを含む。図示のように、マスタ部分３０２とスレーブ部分３０４とは、それぞれ、２つのパスゲートと２つのインバータとを含む。これらの８つの回路デバイスは以下で説明される。マスタ部分３０２はまた、マスタ部分３０２の出力におけるマスタデータ４０２を含み、スレーブ部分３０４はまた、スレーブ部分３０４の出力におけるスレーブデータ４０４を含む。
【００４１】
[0050]１つまたは複数の実施形態では、フリップフロップ２０６のマスタ部分３０２と、対応するスレーブ部分３０４とは、直列に構成される。フリップフロップ２０６の入力４３２は、マスタ部分３０２の入力と一致する。マスタデータ４０２は、マスタ部分３０２の出力に配置される。マスタ部分３０２の出力は、スレーブ部分３０４の入力と一致する。スレーブデータ４０４は、スレーブ部分３０４の出力に配置される。スレーブ部分３０４の出力は、フリップフロップ２０６の出力４３４と一致する。マスタ部分３０２のマスタデータ４０２は、マスタ部分３０２の出力における電圧レベルによって表され得る。スレーブ部分３０４のスレーブデータ４０４は、スレーブ部分３０４の出力における電圧レベルによって表され得る。
【００４２】
[0051]マスタ部分３０２およびそれの個々の回路デバイスは、コラプス可能電力レール２０２に結合され、それによって電力供給される。スレーブ部分３０４、およびそれの個々の回路デバイスは、一定電力レール２０４に結合され、それによって電力供給される。スイッチ４３０は、一定電力レール２０４にコラプス可能電力レール２０２を選択的に結合するように構成される。スイッチ４３０は、コラプス可能電力レール２０２が通常動作中にどのように電力供給され得るか、およびコラプス可能電力レール２０２が電力コラプス２１６中に電力からどのように分離され得るかの一例を示す。通常動作中に、スイッチ４３０は、一定電力レール２０４からコラプス可能電力レール２０２に電力を与えるために、一定電力レール２０４にコラプス可能電力レール２０２を結合するために閉じられる。
【００４３】
[0052]電力コラプス２１６についての例示的なシナリオでは、スイッチ４３０は、電力がコラプス可能電力レール２０２から除去されるように、開かれる。フリップフロップ２０６のマスタ部分３０２は、電力がコラプス可能電力レール２０２から除去された場合、マスタ部分３０２のマスタデータ４０２を放棄する（relinquish  捨てる）ように構成される。マスタデータ４０２が放棄された場合、マスタ部分３０２の出力における電圧レベルは、接地電圧レベルに向かって降下またはドリフトし始める。一方、フリップフロップ２０６のスレーブ部分３０４は、スイッチ４３０を開くことによって電力がコラプス可能電力レール２０２から除去された場合、スレーブ部分３０４のスレーブデータ４０４を保持するように構成される。スレーブデータ４０４が電力コラプス２１６中に保持された場合、スレーブデータ４０４は、電力コラプスイベントが終了した後、後続のコンピューティングタスクのために利用可能である。
【００４４】
[0053]図示のように、マスタ部分３０２は、インターフェースパスゲート４２０と、フォワードインバータ４２２と、フィードバックインバータ４２４と、フィードバックパスゲート４２６とを含む。パスゲートおよびインバータの名前は、本明細書で説明される原理の理解を容易にするために割り当てられたにすぎず、それらの名前は限定するものではない。マスタ部分３０２のパスゲートおよびスレーブ部分３０４のパスゲートは、各パスゲートについて２つの電界効果トランジスタ（ＦＥＴ：field effect transistor）など、パスゲートごとに少なくとも１つのＦＥＴを使用して構築され得る。各パスゲートは、負ゲート端子と正ゲート端子とを含む。負ゲート端子はｎ型ＦＥＴ（ＮＦＥＴ）につながり、正ゲート端子はｐ型ＦＥＴ（ＰＦＥＴ）につながる。パスゲートはトランスミッションゲートと呼ばれることもある。
【００４５】
[0054]インターフェースパスゲート４２０は、マスタ部分３０２のための入力インターフェースをイネーブルまたはディセーブルにする。フォワードインバータ４２２は、フリップフロップ２０６にわたるデータ移動または移行の方向と向きを合わせられ、フィードバックインバータ４２４は、フリップフロップ２０６にわたるデータ移行の方向とは反対に向きを合わせられる。フィードバックインバータ４２４およびフィードバックパスゲート４２６は、フィードバックパスゲート４２６が閉状態にある場合、マスタ部分３０２の出力におけるマスタデータ４０２の現行バージョンを維持するフィードバック経路の一部を形成する。
【００４６】
[0055]より詳細には、インターフェースパスゲート４２０の入力が、マスタ部分３０２の入力ならびにフリップフロップ２０６の入力４３２と一致する。インターフェースパスゲート４２０の出力が、フィードバックパスゲート４２６の出力に、およびフォワードインバータ４２２の入力に結合される。フォワードインバータ４２２の出力が、マスタデータ４０２を送り出し、マスタ部分３０２の出力と一致する。フォワードインバータ４２２の出力は、フィードバックインバータ４２４の入力に結合される。フィードバックインバータ４２４の出力が、フィードバックパスゲート４２６の入力に結合される。上述のように、フィードバックパスゲート４２６の出力は、インターフェースパスゲート４２０の出力に、およびフォワードインバータ４２２の入力に結合され、これは、フィードバックパスゲート４２６が閉状態にある場合、マスタ部分３０２のためのフィードバックループを形成する。
【００４７】
[0056]図示のように、スレーブ部分３０４は、インターフェースパスゲート４１０と、フォワードインバータ４１２と、フィードバックインバータ４１４と、フィードバックパスゲート４１６とを含む。インターフェースパスゲート４１０は、スレーブ部分３０４のための入力インターフェースをイネーブルまたはディセーブルにする。フォワードインバータ４１２は、フリップフロップ２０６にわたるデータ移動または移行の方向と向きを合わせられ、フィードバックインバータ４１４は、フリップフロップ２０６にわたるデータ移行の方向とは反対に向きを合わせられる。フィードバックインバータ４１４およびフィードバックパスゲート４１６は、フィードバックパスゲート４１６が閉状態にある場合、スレーブ部分３０４の出力におけるスレーブデータ４０４の現行バージョンを維持するフィードバック経路の一部を形成する。
【００４８】
[0057]例示的な実装形態では、インターフェースパスゲート４１０は、マスタ部分３０２からスレーブ部分３０４にマスタデータ４０２を受け渡すための手段を与える。より詳細には、インターフェースパスゲート４１０の入力が、スレーブ部分３０４の入力ならびにマスタ部分３０２の出力と一致する。インターフェースパスゲート４１０の出力が、フィードバックパスゲート４１６の出力に、およびフォワードインバータ４１２の入力に結合される。フォワードインバータ４１２の出力が、スレーブデータ４０４を送りだし、フリップフロップ２０６の出力４３４と一致する。フォワードインバータ４１２の出力は、フィードバックインバータ４１４の入力に結合される。フィードバックインバータ４１４の出力が、フィードバックパスゲート４１６の入力に結合される。上述のように、フィードバックパスゲート４１６の出力は、インターフェースパスゲート４１０の出力に、およびフォワードインバータ４１２の入力に結合され、これは、フィードバックパスゲート４１６が閉状態にある場合、スレーブ部分３０４のためのフィードバックループを形成する。
【００４９】
[0058]図３を参照しながら上記で説明されたように、電力管理回路３０６は、クロック信号２０８と保持信号２１０とに基づいて合成制御信号３０８（ＣＣＳ）を生成するように構成される。電力管理回路３０６は、少なくとも１つの信号トレース（signal trace）を介して複数のフリップフロップ２０６−１〜２０６−４の各フリップフロップ２０６に合成制御信号３０８を与えるようにさらに構成される。図４に示されているように、合成制御信号３０８は、第１のインバータ４１８の入力においてフリップフロップ２０６に与えられる。
【００５０】
[0059]１つまたは複数の実施形態では、第１のインバータ４１８は、スレーブ部分３０４のように、図示のように一定電力レール（ＫＰＲ）２０４に結合され、それによって電力供給される。第２のインバータ４２８は、マスタ部分３０２のように、コラプス可能電力レール（ＣＰＲ）２０２に結合され、それによって電力供給される。第１のインバータ４１８の出力は、第２のインバータ４２８の入力に結合される。第１のインバータ４１８は、合成制御信号３０８を受信し、第１のインバータ４１８の出力において相補内部合成制御信号（complemented internal combined control signal）４０６（ＩＣＣＳ’）を生成するために、合成制御信号３０８の値を反転させる。相補内部合成制御信号４０６（ＩＣＣＳ’）は、第２のインバータ４２８の入力に与えられる。第２のインバータ４２８は、第２のインバータ４２８の出力において内部合成制御信号４０８（ＩＣＣＳ）を生成するために、相補内部合成制御信号４０６（ＩＣＣＳ’）の値を反転させる。相補内部合成制御信号４０６（ＩＣＣＳ’）および内部合成制御信号４０８（ＩＣＣＳ）は、各パスゲートが開いているのか閉じているのかを制御するために、図示のように、パスゲートの別個の制御端子に結合される。
【００５１】
[0060]インターフェースパスゲート４２０およびフィードバックパスゲート４１６では、相補内部合成制御信号４０６（ＩＣＣＳ’）は負ゲート端子に供給され、内部合成制御信号４０８（ＩＣＣＳ）は正ゲート端子に供給される。インターフェースパスゲート４１０およびフィードバックパスゲート４２６では、相補内部合成制御信号４０６（ＩＣＣＳ’）は正ゲート端子に供給され、内部合成制御信号４０８（ＩＣＣＳ）は負ゲート端子に供給される。フリップフロップ２０６の例示的な動作は正エッジトリガされた（positive-edge triggered）パスゲートに関して説明されるが、フリップフロップ２０６は、負エッジトリガされた（negative-edge triggered）回路デバイスを用いて代替的に実装され得る。
【００５２】
[0061]通常動作のためのデータホールドモード（data hold mode）では、データは、マスタ部分３０２からスレーブ部分３０４に移行されない。データホールドモードの場合、インターフェースパスゲート４２０とフィードバックパスゲート４１６は両方とも、信号がパスゲート４２０および４１６を通過することを可能にするために閉じられ、フィードバックパスゲート４２６とインターフェースパスゲート４１０は両方とも、信号がパスゲート４２６および４１０を通過するのを防ぐために開いている。データホールドモードのためのこれらの状況をもたらすために、相補内部合成制御信号４０６（ＩＣＣＳ’）はハイ値（high value）において保たれ、内部合成制御信号４０８（ＩＣＣＳ）はローレベルにおいて保たれる。通常動作のためのデータ移行モードでは、データは、マスタ部分３０２からスレーブ部分３０４に移行される。データ移行モードの場合、インターフェースパスゲート４２０とフィードバックパスゲート４１６は両方とも、信号がパスゲート４２０および４１６を通過するのを防ぐために開いており、フィードバックパスゲート４２６とインターフェースパスゲート４１０は両方とも、信号がパスゲート４２６および４１０を通過することを可能にするために閉じられる。データ移行モードのためのこれらの状況をもたらすために、相補内部合成制御信号４０６（ＩＣＣＳ’）はロー値（low value）において保たれ、内部合成制御信号４０８（ＩＣＣＳ）はハイレベルにおいて保たれる。
【００５３】
[0062]１つまたは複数の実施形態では、絶縁回路３１０は、図４に示されているようにスレーブ部分３０４の一部を備え得る。絶縁回路３１０が一定電力レール２０４によって電力供給されるので、絶縁回路３１０は、ここではスレーブ部分３０４の一部と見なされる。絶縁回路３１０の例示的な実装形態は、電力コラプス２１６中にマスタ部分３０２からスレーブ部分３０４を絶縁するように適切に構成または駆動された制御入力をもつパスゲートである。図４では、絶縁回路３１０は、インターフェースパスゲート４１０によって少なくとも部分的に実装される。通常動作では、インターフェースパスゲート４１０は、上記で説明されたように、フリップフロップ２０６のデータホールドモードまたはデータ移行モードに基づいて開かれるかまたは閉じられる。フリップフロップ２０６が、マスタ部分３０２のマスタデータ４０２をスレーブ部分３０４の次のスレーブデータ４０４になるように移行させている場合、インターフェースパスゲート４１０は閉じられる。一方、フリップフロップ２０６がマスタ部分３０２からスレーブ部分３０４にデータを移行させていない場合、フィードバックインバータ４１４をも含むフィードバックループを使用して現在のスレーブデータ４０４を維持するために、インターフェースパスゲート４１０は開いており、フィードバックパスゲート４１６は閉じられる。
【００５４】
[0063]電力コラプス２１６中に、フリップフロップ２０６のための保持特徴を実装するために、インターフェースパスゲート４１０は、マスタ部分３０２からスレーブ部分３０４を絶縁するために開いたままにされる。フィードバックパスゲート４１６は、スレーブデータ４０４がスレーブ部分３０４によって保持されることを保証するために閉じたままにされ得る。インターフェースパスゲート４１０を開状態にし、フィードバックパスゲート４１６を閉状態にするために、相補内部合成制御信号４０６（ＩＣＣＳ’）は、高電圧レベルに駆動されるか、または高電圧レベルにおいて維持され、内部合成制御信号４０８（ＩＣＣＳ）は、低電圧レベルに駆動されるか、低電圧レベルにおいて維持されるか、または低電圧レベルにドリフトすることを可能にされる。電力コラプス２１６中にこれらの電圧レベルにおいて相補内部合成制御信号４０６（ＩＣＣＳ’）および内部合成制御信号４０８（ＩＣＣＳ）を維持するために、合成制御信号３０８は、電力コラプス２１６中に低電圧レベルにおいて維持される。上記のように、第２のインバータ４２８は、コラプス可能電力レール２０２によって電力供給される。第２のインバータ４２８のコラプス可能性（collapsibility）は、それの出力、内部合成制御信号４０８（ＩＣＣＳ）が、依然として、インターフェースパスゲート４１０を開状態にすることおよびフィードバックパスゲート４１６を閉状態にすることに寄与しながら、電力コラプス２１６中にロー値を有するように構成されるので、イネーブルにされる。したがって、第２のインバータ４２８が電力コラプスを受けた場合でも、第２のインバータ４２８の出力は、スレーブデータ４０４を保持するための正しい値を有する。電力コラプス２１６中に低電圧レベルにおいて合成制御信号３０８を駆動または維持するための例示的な手法は、特に図５〜図７を参照しながら本明細書で説明される。
【００５５】
[0064]図５は、概略的に５００において、電力コラプス２１６中に利用され得る電力管理回路３０６の一例を示す。図示のように、図５は、コラプス可能電力レール２０２と、一定電力レール２０４と、電力管理回路３０６と、保持ツリーデバイス５１０とを含む。図５は、クロック信号２０８と、保持信号２１０と、合成制御信号３０８と、クロックイネーブル信号（clock enable signal）５０６とをさらに示す。電力管理回路３０６は、クロックゲーティング回路５０２と合成回路５０４とを含む。
【００５６】
[0065]１つまたは複数の実施形態では、電力管理回路３０６は、コラプス可能電力レール２０２に結合される。電力管理回路３０６は、電力コラプスを受け、それにもかかわらず電力コラプス２１６中に説明される保持関係機能を果たすことが可能である。保持信号２１０は、保持信号ツリーの一部として図２のＩＣ部分２００上で伝搬され得、これは、明示的に示されていない。しかしながら、それの保持ツリーデバイス５１０は示されている。したがって、保持信号ツリー上で伝搬することの一部として、保持信号２１０は、保持信号２１０が保持信号ツリーを横断する（traverses）とき、信号ブースティングバッファなど、少なくとも１つの保持ツリーデバイス５１０を通してルーティングされ得る。保持ツリーデバイス５１０は、保持信号２１０が、電力コラプス２１６の時間期間全体にわたって保持動作の存在を示すようにアクティブであるのに十分な強度を維持することを保証するために、一定電力レール２０４に結合される。
【００５７】
[0066]図示のように、クロックゲーティング回路５０２は、入力としてクロック信号２０８とクロックイネーブル信号５０６とを受信する。クロックイネーブル信号５０６は、クロック信号２０８のパルスが、あるポイントにおいてプルーニングされるべき(to be pruned)であるか、あるチップエリアから非アクティブにされるべきであるか、または１つまたは複数の回路デバイスから阻止されるべきであるかどうかを示し得る。これは、クロック信号をゲートすることと呼ばれることがある。クロックゲーティング回路５０２は、クロック信号２０８とクロックイネーブル信号５０６とに応答して、ゲートされたクロック信号５０８を生成するように構成される。クロックをゲートすることが可能である、トランジスタまたは論理ゲートデバイスなど、回路を通って伝搬した後に、クロック信号２０８は、ゲーティング機能が現在アクティブでない場合でも、ゲートされたクロック信号５０８と呼ばれることがある。図５に明示的に示されていないが、ゲートされたクロック信号５０８は、クロック信号２０８の１つのバージョンとして合成回路５０４に供給され得る。合成回路５０４に供給されるクロック信号２０８が、ゲートされたクロック信号５０８を備える一例は、特に図６を参照しながら本明細書で説明される。
【００５８】
[0067]図示のように、合成回路５０４は、入力としてクロック信号２０８と保持信号２１０とを受信する。合成回路５０４は、クロック信号２０８と保持信号２１０とに応答して合成制御信号３０８を生成するように構成される。例示的な実装形態では、合成回路５０４は、合成制御信号３０８になるようにクロック信号２０８と保持信号２１０とを合成するための手段を与える。１つまたは複数のバッファを用いてまたは用いずに、複数のフリップフロップ２０６−１〜２０６−４に合成回路５０４を結合する、少なくとも１つの導電線または少なくとも１つの回路トレースは、各フリップフロップ２０６のスレーブ部分３０４に、電力コラプス２１６中にスレーブデータ４０４を保持させるために、複数のフリップフロップ２０６−１〜２０６−４の各フリップフロップ２０６に合成制御信号３０８を分配するように働く。合成回路５０４は、所与の一定値に合成制御信号３０８をクランプする保持信号クランプとして事実上機能し得る。一定値において合成制御信号３０８をクランプすることは、本明細書で説明されるように、フリップフロップ２０６のスレーブデータ４０４が電力コラプス２１６中に保持されるように、図４のフリップフロップ２０６の保持特徴をアクティブにする。合成回路５０４の一例は、特に図６を参照しながら本明細書で説明される。
【００５９】
[0068]クロックゲーティング回路５０２と合成回路５０４とを含む電力管理回路３０６は、保持信号２１０がアクティブである間、合成制御信号３０８が一定値においてクランプされるように、および保持信号２１０がアクティブでない間、合成制御信号３０８が、クロック信号２０８の周期と同じである周期で周期的であるように、クロック信号２０８と保持信号２１０とに基づいて合成制御信号３０８を発生するための手段を与える。クロックゲーティング回路５０２および合成回路５０４のためのゲートレベルにおける例示的な実装形態は、特に図６を参照しながら本明細書で説明される。合成回路５０４のＮＯＲゲート実装形態のためのトランジスタレベルにおける例示的な実装形態は、特に図７を参照しながら本明細書で説明される。
【００６０】
[0069]図６は、図３および図５の電力管理回路３０６の一部としてクロックゲーティング回路５０２の一例および合成回路５０４の一例を示す。図示のように、図６はまた、コラプス可能電力レール２０２と、クロック信号２０８と、保持信号２１０と、合成制御信号３０８と、クロックイネーブル信号５０６と、ゲートされたクロック信号５０８と、テストイネーブル信号（test enable signal）６０２とを示す。クロックゲーティング回路５０２は、ＯＲゲート６０６と、ｄｑフリップフロップ６１０と、ＮＡＮＤゲート６０８とを含む。合成回路５０４はＮＯＲゲート６０４を含む。
【００６１】
[0070]１つまたは複数の実施形態では、コラプス可能電力レール２０２は、クロックゲーティング回路５０２と合成回路５０４とに結合され、それらに電力供給する。クロックイネーブル信号５０６は、ＯＲゲート６０６の上側入力に結合され、テストイネーブル信号６０２は、ＯＲゲート６０６の下側入力に結合される。ＯＲゲート６０６の出力が、ｄｑフリップフロップ６１０の「ｄ」入力に結合される。ｄｑフリップフロップ６１０の「ｑ」出力は、ＮＡＮＤゲート６０８の上側入力に結合される。クロック信号２０８は、ＮＡＮＤゲート６０８の下側入力に結合される。クロック信号２０８はまた、ｄｑフリップフロップ６１０を通してデータを進めるために、ｄｑフリップフロップ６１０の反転入力「ｇ」に結合される。ＮＡＮＤゲート６０８の出力は、ゲートされたクロック信号５０８を生成する。
【００６２】
[0071]図６の例では、合成回路５０４に与えられたクロック信号２０８のバージョンは、ゲートされたクロック信号５０８を備える。より詳細には、ゲートされたクロック信号５０８は、ＮＯＲゲート６０４の上側入力に結合される。保持信号２１０は、ＮＯＲゲート６０４の下側入力に結合される。ＮＯＲゲート６０４の出力において与えられた信号は、合成制御信号３０８を備える。ＮＯＲゲート６０４は、少なくとも１つのトランジスタ６１４など、１つまたは複数の回路デバイスからなる。少なくとも１つのトランジスタ６１４は、たとえば、ｎ型金属酸化物半導体（ＮＭＯＳ）トランジスタを備える。たとえば、少なくとも１つのトランジスタ６１４としてのＮＭＯＳトランジスタの利用は、ＮＭＯＳトランジスタがＮＯＲゲート６０４の出力ノードをプルダウンするので、合成回路５０４がコラプス可能電力レール２０２によって電力供給されることを可能にする。この機能は、概略的に、引き続き図６を参照しながら、およびより詳細には、ＮＯＲゲート６０４の例示的な実装形態のための複数のトランジスタを示す図７を参照しながら以下で説明される。
【００６３】
[0072]例示的な動作では、クロックゲーティング回路５０２から開始すると、ｄｑフリップフロップ６１０の「ｄ」入力は、クロックイネーブル信号５０６またはテストイネーブル信号６０２のいずれかまたは両方が、ＯＲゲート６０６の論理インクルーシブＯＲ演算により、ハイレベルにある場合、ハイレベルにある。したがって、クロックゲーティング回路がクロックをゲートするというタスクを現在与えられているので、クロックイネーブル信号５０６がローレベルにあることと、テストが生じていないので、テストイネーブル信号６０２がローレベルにあることとの両方でない限り、ｄｑフリップフロップ６１０の「ｄ」入力はハイレベルにある。ｄｑフリップフロップ６１０の「ｄ」入力がハイである場合、「ｑ」出力もハイである。ｄｑフリップフロップ６１０の「ｑ」出力のこのハイ値は、ＮＡＮＤゲート６０８の上側入力に供給される。ＮＡＮＤゲート６０８の上側入力におけるこのハイ値により、ゲートされたクロック信号５０８は、それの論理ＮＡＮＤ演算によるクロック信号２０８の反転バージョンである。ゲートされたクロック信号５０８は、ＮＯＲゲート６０４の上側入力に与えられ、保持信号２１０がアクティブでなく、ローである限り、それの論理ＮＯＲ演算により再び反転される。ゲートされたクロック信号５０８が、合成回路５０４のＮＯＲゲート６０４を通してルーティングされず、代わりに、クロック制御されている回路に直接ルーティングされていた場合、ＮＡＮＤゲート６０８は、ＡＮＤゲートと置換され得る。
【００６４】
[0073]例示的な動作を続けると、合成回路５０４では、ゲートされたクロック信号５０８は、ＮＯＲゲート６０４の上側入力に結合され、ゲートされたクロック信号５０８は、クロックがクロックゲーティング回路５０２によって現在ゲートされていない場合、クロック信号２０８の反転バージョンを備える。保持信号２１０がアクティブでない場合、保持信号２１０はローレベルにある。したがって、通常、非保持動作モードでは、ＮＯＲゲート６０４は、合成制御信号３０８として、ゲートされたクロック信号５０８の反転バージョンを出力する。したがって、この通常動作モードでは、合成制御信号３０８の値は、クロック信号２０８の値をたどる。
【００６５】
[0074]一方、保持動作モードでは、保持信号２１０は、アクティブであり、ＮＯＲゲート６０４の下側入力においてハイレベルに駆動される。図５に示されているように、保持信号２１０が、一定電力レール２０４によって電力供給された１つまたは複数の保持ツリーデバイス５１０を使用して、集積回路チップの保持信号ツリーにわたって分配されるので、保持信号２１０は、電力コラプスイベント中にハイレベルのままであり得る。ＮＯＲゲート６０４の下側入力におけるハイ値およびそれの論理ＮＯＲ演算により、ＮＯＲゲート６０４から出力された合成制御信号３０８は、ＮＯＲゲート６０４の上側入力におけるゲートされたクロック信号５０８の値にかかわらず、ローである。例示的な実装形態では、ＮＯＲゲート６０４は、電力がコラプス可能電力レール２０２から分離されている間、合成制御信号３０８をローにクランプするための手段を与える。合成制御信号３０８のためのこのローレベルは、図４の第１のインバータ４１８の入力において図３の複数のフリップフロップ２０６−１〜２０６−４の各フリップフロップ２０６にルーティングされる。
【００６６】
[0075]少なくとも１つのトランジスタ６１４のＮＭＯＳ実装形態が、この保持モード例においてＮＯＲゲート６０４の出力ノードをローに（たとえば、接地に）プルしている（pulling）ので、合成制御信号３０８のためのローレベルは、コラプス可能電力レール２０２が電力コラプスイベント中に電力から分離された場合、またはその間、ＮＯＲゲート６０４から出力され続ける。図５に示されているように、少なくとも部分的に、保持信号２１０が、一定電力レール２０４によって電力供給される、保持ツリーデバイス５１０の少なくとも１つのゲートなど、デバイスによってアクティブハイレベルに電力コラプスイベント中に維持されることが可能であるので、合成制御信号３０８のためのローレベルは、ＮＯＲゲート６０４がコラプス可能電力レール２０２に接続されるにもかかわらず、電力コラプスイベント中にＮＯＲゲート６０４から出力され続ける。ＮＯＲゲート６０４の例示的な実装形態では、少なくとも１つのトランジスタ６１４のＮＭＯＳ実装形態は、保持信号２１０がアクティブである場合、電圧レベルをプルダウンするための手段を与える。ＮＭＯＳトランジスタとＰＭＯＳトランジスタとを含むＮＯＲゲート６０４の例示的な実装形態は、図７を参照しながら説明される。
【００６７】
[0076]図７は、図５および図６の合成回路５０４のためのＮＯＲゲート６０４の例示的な実装形態のための４つのデバイスを含む回路７００を示す。より詳細には、ＮＯＲゲート６０４の図示された例示的な実装形態は、４つのトランジスタ、すなわち、第１のＰＭＯＳトランジスタ７０２と、第２のＰＭＯＳトランジスタ７０４と、第１のＮＭＯＳトランジスタ７０６と、第２のＮＭＯＳトランジスタ７０８とを含む。回路７００は、電力ノード７１０と出力ノード７１２とをも含む。図７は、保持信号２１０と、合成制御信号３０８と、ゲートされたクロック信号５０８とをも示す。
【００６８】
[0077]１つまたは複数の実施形態では、第１のＰＭＯＳトランジスタ７０２と第２のＰＭＯＳトランジスタ７０４とは、電力ノード７１０と出力ノード７１２の間に直列に結合される。第１のＮＭＯＳトランジスタ７０６と第２のＮＭＯＳトランジスタ７０８とは、出力ノード７１２と接地との間に並列に結合される。電力ノード７１０はコラプス可能電力レール２０２に結合され、したがって、回路７００はコラプス可能電力レール２０２によって電力供給される。ゲートされたクロック信号５０８は、第１のＰＭＯＳトランジスタ７０２および第１のＮＭＯＳトランジスタ７０６のゲート入力に結合される。保持信号２１０は、第２のＰＭＯＳトランジスタ７０４および第２のＮＭＯＳトランジスタ７０８のゲート入力に結合される。回路７００は、合成制御信号３０８を生成し、出力ノード７１２において合成制御信号３０８を与える。
【００６９】
[0078]例示的な動作では、ゲートされたクロック信号５０８と保持信号２１０の両方がローであり得る。そうである場合、これらのロー値は、第１のＰＭＯＳトランジスタ７０２と第２のＰＭＯＳトランジスタ７０４の両方をオンにする。これらの２つのロー値はまた、第１のＮＭＯＳトランジスタ７０６と第２のＮＭＯＳトランジスタ７０８とをオフにする。この状況では、出力ノード７１２は、ハイに駆動されて、コラプス可能電力レール２０２の電圧にマッチする電圧になる。したがって、ゲートされたクロック信号５０８と保持信号２１０の両方が低である場合、合成制御信号３０８はハイレベルにある。一方、ゲートされたクロック信号５０８および保持信号２１０のいずれかまたは両方がハイであり得る。いずれかまたは両方がハイである場合、第１のＰＭＯＳトランジスタ７０２または第２のＰＭＯＳトランジスタ７０４のうちの少なくとも１つはオフにされ、第１のＮＭＯＳトランジスタ７０６または第２のＮＭＯＳトランジスタ７０８のうちの少なくとも１つはオンにされる。第１のＮＭＯＳトランジスタ７０６または第２のＮＭＯＳトランジスタ７０８のうちの少なくとも１つがオンにされた場合、オンにされた少なくとも１つのトランジスタは、ローレベルに合成制御信号３０８を駆動するために、電力ノード７１０の電圧レベルをプルダウンする。
【００７０】
[0079]したがって、保持信号２１０がアクティブであるか、または高レベルにおいてアサートされた場合、合成制御信号３０８は、ローにクランプされ、図４の第１のインバータ４１８の入力を介して図３の複数のフリップフロップ２０６−１〜２０６−４の各フリップフロップ２０６にルーティングされ得る。より詳細には、保持信号２１０が、一定電力レール２０４によって電力供給された図５の少なくとも１つの保持ツリーデバイス５１０を使用して分配されるので、保持信号２１０は、コラプス可能電力レール２０２がコラプスされた場合でも、ハイレベルのままであり得る。保持信号２１０のハイ電圧レベルは、第２のＰＭＯＳトランジスタ７０４をオフにするためにそれのゲートに結合され、第２のＮＭＯＳトランジスタ７０８をオンにするためにそれのゲートに結合される。第２のＮＭＯＳトランジスタ７０８がオンにされると、出力ノード７１２は接地（グランド）電圧レベルに下げられ、これは、合成制御信号３０８をローレベルにし、したがって、図３および図４の絶縁回路３１０を、コラプスしているデバイスからスレーブデータ４０４を絶縁するための正しい状態にする。その上、合成制御信号３０８が低電圧レベルにおいてこの絶縁制御機能を実行するので、ＮＯＲゲート６０４は、電力がコラプスされた場合、出力ノード７１２がローレベルにドリフトするので、コラプス可能電力レール２０２によって電力供給され得る。
【００７１】
[0080]また、チップエリア利用およびトレースルーティング輻輳が、フリップフロップの出力値をリセットするコンテキストにおいて低減され得る。リセット可能フリップフロップの内部回路に応じて、アクティブリセット信号は、リセット可能フリップフロップの出力の値が、０または１にリセットにされるようにする。図３のリセット回路３１２は、各フリップフロップのために複製される代わりに、複数のフリップフロップのために共有され得る。さらに、リセット回路３１２を共有することは、クランプ可能リセット信号を生成するためにリセット信号２１２を保持信号２１０と合成することによって、各フリップフロップにルーティングされるワイヤトレースの数を低減することができる。例示的な態様は、特に図８および図９を参照しながら本明細書で説明される。図８の場合、リセット信号２１２がアクティブハイ状態にあることまたはアクティブハイ状態に遷移することに応答して、複数のフリップフロップ２０６−１〜２０６−４はリセットされる。図９の場合、リセット信号２１２がアクティブロー状態にあることまたはアクティブロー状態に遷移することに応答して、複数のフリップフロップ２０６−１〜２０６−４はリセットされる。
【００７２】
[0081]図８は、アクティブハイリセット信号に応答してリセット可能である複数のフリップフロップ２０６−１〜２０６−４のための電力コラプス２１６を与える環境における例示的なリセット制御構成８００を示す。図示のように、リセット制御構成８００は、コラプス可能電力レール２０２と、一定電力レール２０４と、リセット回路３１２−１と、インバータ８０６と、複数のフリップフロップ２０６−１〜２０６−４とを含む。リセット制御構成８００は、リセット信号２１２と、保持信号２１０と、クランプ可能リセット信号８０２（ＣＲＳ：clampable reset signal）とをさらに含む。リセット回路３１２−１は、図示のようにＮＯＲゲート８０４を含む。複数のフリップフロップ２０６−１〜２０６−４がリセット可能フリップフロップとして実装されると、フリップフロップ２０６の出力は、ハイにリセット信号を駆動することによって、０または１の値に強制され得る。したがって、リセット回路３１２−１は、リセット信号２１２がハイに駆動された場合、リセットされたフリップフロップを用いて動作する。
【００７３】
[0082]１つまたは複数の実施形態では、リセット回路３１２−１は、複数のフリップフロップ２０６−１〜２０６−４の外部に配設される。リセット回路３１２−１は、クランプ可能リセット信号８０２を生成するためにリセット信号２１２と保持信号２１０とを合成するように構成される。リセット回路３１２−１は、入力として、リセット信号２１２と、インバータ８０６を介して保持信号２１０と、を受信する。リセット回路３１２−１とインバータ８０６とは、コラプス可能電力レール２０２に結合される。リセット回路３１２−１の外部に示されているが、インバータ８０６は、代替的にリセット回路３１２−１の一部であり得る。リセット動作では、保持信号２１０が非アクティブローのままである間、リセット信号２１２はハイに駆動される。インバータ８０６のために、ＮＯＲゲート８０４への入力の両方がローであり、したがって、リセット回路３１２−１の出力はハイであり、非保持モードにおける例示的な合成動作のために複数のフリップフロップ２０６−１〜２０６−４のリセットを引き起こす。
【００７４】
[0083]例示的な実装形態では、リセット回路３１２−１は、保持信号２１０がアクティブである間、クランプ可能リセット信号８０２が一定値においてクランプされるように、リセット信号２１２と保持信号２１０とに基づいてクランプ可能リセット信号８０２を発生するための手段を与える。リセット制御構成８００の場合と同様にアクティブハイリセット信号を用いてリセットされる複数のフリップフロップ２０６−１〜２０６−４では、クランプ可能リセット信号８０２は、電力コラプス２１６中に０（たとえば、接地）の一定値においてクランプされる。リセット回路３１２−１は、（明示的に示されていない）各フリップフロップ２０６のリセット入力になど、複数のフリップフロップ２０６−１〜２０６−４の各フリップフロップ２０６にクランプ可能リセット信号８０２を与えるようにさらに構成される。例示的な実装形態では、１つまたは複数のバッファを用いてまたは用いずに、複数のフリップフロップ２０６−１〜２０６−４にリセット回路３１２−１を結合する、少なくとも１つの導電線または少なくとも１つの回路トレースは、複数のフリップフロップ２０６−１〜２０６−４にクランプ可能リセット信号８０２を与えるための手段をもたらす。
【００７５】
[0084]保持モードにおけるリセット回路３１２−１の例示的な合成動作では、リセット信号２１２と保持信号２１０とは、ＮＯＲゲート８０４の入力に結合される。ＮＯＲゲート８０４は、たとえば、図７のＮＯＲゲート６０４と同じように実装され、ゲートされたクロック信号５０８およびそれの合成制御信号３０８が、それぞれ、図８のリセット信号２１２およびクランプ可能リセット信号８０２によって置き換えられ得る。保持信号２１０がアクティブハイである場合、ＮＯＲゲート８０４の出力におけるクランプ可能リセット信号８０２は、リセット信号２１２の状態またはコラプス可能電力レール２０２の電力レベルにかかわらず、ローにクランプされる。したがって、複数のフリップフロップ２０６−１〜２０６−４は、電力コラプス２１６中に誤ってリセットされるのを防がれ得る。したがって、リセット回路３１２−１は、複数のフリップフロップ２０６−１〜２０６−４の外部にあるアクティブハイリセット信号クランプとして機能し得る。図７を参照しながら上記で同じように説明されたように、ＮＯＲゲート８０４において少なくとも１つのＮＭＯＳプルダウントランジスタを採用することによって可能にされる、リセット回路３１２−１のためにコラプス可能電力レール２０２を使用することによって、リセット回路３１２−１への一定電力レール２０４のルーティングは回避され得る。
【００７６】
[0085]図９は、アクティブローリセット信号に応答してリセット可能である複数のフリップフロップ２０６−１〜２０６−４のための電力コラプス２１６を与える環境における例示的なリセット制御構成９００を示す。図示のように、リセット制御構成９００は、コラプス可能電力レール２０２と、一定電力レール２０４と、リセット回路３１２−２と、複数のフリップフロップ２０６−１〜２０６−４とを含む。リセット制御構成９００は、リセット信号２１２と、保持信号２１０と、クランプ可能リセット信号８０２（ＣＲＳ）とをさらに含む。リセット回路３１２−２は、図示のようにＯＲゲート９０２を含む。複数のフリップフロップ２０６−１〜２０６−４がリセット可能フリップフロップとして実装されると、フリップフロップ２０６の出力は、ローにリセット信号を駆動することによって、０または１の値に強制され得る。したがって、リセット回路３１２−２は、リセット信号２１２がローに駆動された場合、リセットされたフリップフロップを用いて動作する。
【００７７】
[0086]１つまたは複数の実施形態では、リセット回路３１２−２は、複数のフリップフロップ２０６−１〜２０６−４の外部に配設される。リセット回路３１２−２は、クランプ可能リセット信号８０２を生成するためにリセット信号２１２と保持信号２１０とを合成するように構成される。例示的な実装形態では、リセット回路３１２−２は、保持信号２１０がアクティブである間、クランプ可能リセット信号８０２が一定値においてクランプされるように、リセット信号２１２と保持信号２１０とに基づいてクランプ可能リセット信号８０２を発生するための手段を与える。リセット制御構成９００の場合と同様にアクティブローリセット信号を用いてリセットされる複数のフリップフロップ２０６−１〜２０６−４では、クランプ可能リセット信号８０２は、電力コラプス２１６中に１（たとえば、高電圧）の一定値においてクランプされる。リセット回路３１２−２は、（明示的に示されていない）各フリップフロップ２０６のリセット入力になど、複数のフリップフロップ２０６−１〜２０６−４の各フリップフロップ２０６にクランプ可能リセット信号８０２を与えるようにさらに構成される。例示的な実装形態では、１つまたは複数のバッファを用いてまたは用いずに、複数のフリップフロップ２０６−１〜２０６−４にリセット回路３１２−２を結合する、少なくとも１つの導電線または少なくとも１つの回路トレースは、複数のフリップフロップ２０６−１〜２０６−４にクランプ可能リセット信号８０２を与えるための手段をもたらす。
【００７８】
[0087]リセット回路３１２−２の例示的な合成動作では、リセット信号２１２と保持信号２１０とは、ＯＲゲート９０２の入力に結合される。ＯＲゲート９０２は、ＮＯＲゲートのための回路デバイスと後続のインバータのための回路デバイスとを使用して実装され得る。より詳細には、図７に示されている回路デバイスを参照すると、インバータは、図９のクランプ可能リセット信号８０２を出力するＯＲゲートを生成するために、ノード７１２の後に含まれ得る。少なくとも、クランプ可能リセット信号８０２を出力するインバータは、一定電力レール２０４に結び付けられる。代替例として、リセット回路３１２−２は、入力としてリセット信号２１２と反転保持信号２１０とを受信するＡＮＤゲートが後に続く、保持信号２１０を受信するインバータを使用して実装され得る。保持信号２１０がアクティブハイである場合、ＯＲゲート９０２の出力におけるクランプ可能リセット信号８０２は、リセット信号２１２の状態またはコラプス可能電力レール２０２の電力レベルにかかわらず、ハイにクランプされる。したがって、複数のフリップフロップ２０６−１〜２０６−４は、電力コラプス２１６中に誤ってリセットされるのを防がれ得る。したがって、リセット回路３１２−２は、複数のフリップフロップ２０６−１〜２０６−４の外部にあるアクティブローリセット信号クランプとして機能し得る。少なくともそれの出力インバータに電力供給するためになど、リセット回路３１２−２の少なくとも一部のために一定電力レール２０４を使用することによって、クランプ可能リセット信号８０２は、電力コラプス２１６中にハイ電圧値においてクランプされ得る。
【００７９】
[0088]図１０は、フリップフロップを用いた電力管理のための例示的なプロセス１０００を示す流れ図である。プロセス１０００は、実行され得る動作を指定するブロック１００２〜ブロック１００８のセットの形態で説明される。ただし、動作が、代替の順序において、あるいは、完全にまたは部分的に重複する様式で実装され得るので、動作は、図１０に示されているまたは本明細書で説明される順序に必ずしも限定されない。プロセス１０００の図示されたブロックによって表される動作は、図１のＩＣ１１０など、集積回路によって実行され得る。より詳細には、プロセス１０００の動作は、図２のＩＣ部分２００の一部である図３の保持制御構成３００によって実行され得る。
【００８０】
[0089]ブロック１００２において、集積回路は、コラプス可能電力レールを用いて複数のフリップフロップの各マスタ部分に電力供給する。たとえば、ＩＣ部分２００または関連するＰＭＩＣは、コラプス可能電力レール２０２を用いて複数のフリップフロップ２０６−１〜２０６−４の各マスタ部分３０２に電力供給し得る。
【００８１】
[0090]ブロック１００４において、集積回路は、一定電力レールを用いて複数のフリップフロップの各スレーブ部分に電力供給する。たとえば、ＩＣ部分２００または関連するＰＭＩＣは、一定電力レール２０４を用いて複数のフリップフロップ２０６−１〜２０６−４の各スレーブ部分３０４に電力供給し得る。
【００８２】
[0091]ブロック１００６において、集積回路は、合成制御信号を生成するためにクロック信号と保持信号とを合成する。たとえば、電力管理回路３０６は、合成制御信号３０８を生成するためにクロック信号２０８と保持信号２１０とを合成し得る。
【００８３】
[0092]ブロック１００６の合成動作の例示的な実装形態では、集積回路はさらに、保持信号のアクティブ状態に応答して、各対応するマスタ部分が電力コラプスを受ける場合、複数のフリップフロップの各スレーブ部分のスレーブデータの変更を防ぐ値において合成制御信号をクランプする。たとえば、保持信号２１０のアクティブ状態に応答して、電力管理回路３０６は、各対応するマスタ部分３０２が電力コラプス２１６を受ける場合、０など、複数のフリップフロップ２０６−１〜２０６−４の各スレーブ部分３０４のスレーブデータ４０４の変更を防ぐ値において合成制御信号３０８をクランプし得る。プロセス１０００の別の例示的な実装形態では、集積回路はさらに、コラプス可能電力レールを用いてブロック１００６の合成動作を実行する回路に電力供給する。たとえば、電力管理回路３０６は、コラプス可能電力レール２０２によって電力供給され得る。
【００８４】
[0093]ブロック１００６の合成動作の別の例示的な実装形態では、クロック信号はゲートされたクロック信号を備え、集積回路はさらに、合成制御信号を生成するために、ゲートされたクロック信号と保持信号とを合成する。たとえば、クロック信号２０８はゲートされたクロック信号５０８を備え得、電力管理回路３０６は、合成制御信号３０８を生成するために、ゲートされたクロック信号５０８と保持信号２１０とを合成し得る。
【００８５】
[0094]ブロック１００８において、集積回路は、コラプス可能電力レールの電力コラプス中に、複数のフリップフロップの各スレーブ部分のスレーブデータを保持するために、複数のフリップフロップに合成制御信号を与える。たとえば、電力管理回路３０６は、コラプス可能電力レール２０２の電力コラプス２１６中に複数のフリップフロップ２０６−１〜２０６−４の各スレーブ部分３０４のスレーブデータ４０４を保持するために、複数のフリップフロップ２０６−１〜２０６−４に合成制御信号３０８を与え得る。
【００８６】
[0095]ブロック１００８の与える動作の例示的な実装形態では、集積回路はさらに、合成制御信号の状態に応答して、電力コラプス中に、各対応するマスタ部分から複数のフリップフロップの各スレーブ部分を絶縁する。たとえば、絶縁回路３１０は、合成制御信号３０８の電圧値に応答して、電力コラプス２１６中に、各対応するマスタ部分３０２から複数のフリップフロップ２０６−１〜２０６−４の各スレーブ部分３０４を絶縁し得る。
【００８７】
[0096]プロセス１０００の例示的な実装形態では、集積回路はさらに、クランプ可能リセット信号を生成するためにリセット信号と保持信号とを合成し、電力コラプス中に複数のフリップフロップのリセットを防ぐために、複数のフリップフロップにクランプ可能リセット信号を与える。たとえば、リセット回路３１２は、クランプ可能リセット信号８０２を生成するためにリセット信号２１２と保持信号２１０とを合成し得る。リセット回路はまた、電力コラプス２１６中に複数のフリップフロップ２０６−１〜２０６−４のリセットを防ぐために、複数のフリップフロップ２０６−１〜２０６−４にクランプ可能リセット信号８０２を与え得る。
【００８８】
[0097]コンテキストが別段に規定しない限り、単語「または」の本明細書での使用は、「包含的なまたは」あるいは単語「または」によってリンクされた１つまたは複数の項目の包含または適用を可能にする用語の使用と見なされ得る（たとえば、「ＡまたはＢ」という句は、単に「Ａ」を可能にすることとして、単に「Ｂ」を可能にすることとして、または「Ａ」と「Ｂ」の両方を可能にすることとして解釈され得る。）主題が構造的特徴または方法論的動作に固有の言語で説明されたが、添付の特許請求の範囲において定義される主題は、特徴が構成される編成または動作が実行される順序に必ずしも限定されないことを含めて、必ずしも上記で説明された特定の特徴または動作に限定されるとは限らないことを理解されたい。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］一定電力レールと、
コラプス可能電力レールと、
複数のフリップフロップと、前記複数のフリップフロップの各フリップフロップは、
前記コラプス可能電力レールに結合されたマスタ部分と、
前記一定電力レールに結合されたスレーブ部分と、を含み、
合成制御信号になるようにクロック信号と保持信号とを合成することと、前記複数のフリップフロップの各フリップフロップに前記合成制御信号を与えることと、を行うように構成された電力管理回路と、
を備える集積回路。
［Ｃ２］前記電力管理回路は、前記保持信号のアクティブ状態に応答して、一定値において前記合成制御信号をクランプするようにさらに構成された、Ｃ１に記載の集積回路。
［Ｃ３］前記電力管理回路は、前記コラプス可能電力レールがコラプスされている間、各フリップフロップの前記マスタ部分から前記スレーブ部分を絶縁するために、前記複数のフリップフロップの各フリップフロップに前記合成制御信号を与えるようにさらに構成された、Ｃ２に記載の集積回路。
［Ｃ４］前記複数のフリップフロップの各フリップフロップは前記合成制御信号に応答して、前記スレーブ部分から前記マスタ部分を絶縁し、前記スレーブ部分の出力において前記スレーブ部分によって記憶されたスレーブデータを保持するように構成された、Ｃ１に記載の集積回路。
［Ｃ５］前記複数のフリップフロップの各フリップフロップの前記マスタ部分は、前記コラプス可能電力レールがコラプスされた場合、前記マスタ部分のマスタデータを放棄するように構成され、
前記複数のフリップフロップの各フリップフロップの前記スレーブ部分は、前記コラプス可能電力レールがコラプスされた場合、前記スレーブ部分のスレーブデータを保持するように構成された、Ｃ１に記載の集積回路。
［Ｃ６］入力と出力とを有する第１のインバータと、前記第１のインバータの前記入力は、前記電力管理回路から前記合成制御信号を受信するように構成され、前記第１のインバータの前記出力は、相補内部合成制御信号を生成するように構成され、
入力と出力とを有する第２のインバータと、前記第２のインバータの前記入力は、前記相補内部合成制御信号を受信するように構成され、前記第２のインバータの前記出力は、内部合成制御信号を生成するように構成され、
をさらに備える、Ｃ１に記載の集積回路。
［Ｃ７］前記第１のインバータは前記一定電力レールに結合され、
前記第２のインバータは前記コラプス可能電力レールに結合され、
前記複数のフリップフロップの各フリップフロップの前記スレーブ部分は、前記相補内部合成制御信号と前記内部合成制御信号とを受信するように構成されたパスゲートを含み、前記パスゲートは、前記合成制御信号が前記電力管理回路によってローに駆動される場合、開かれるように構成された、Ｃ６に記載の集積回路。
［Ｃ８］前記電力管理回路は、前記合成制御信号を生成するために前記クロック信号と前記保持信号とを合成するように構成された合成回路を含む、Ｃ１に記載の集積回路。
［Ｃ９］前記合成回路はＮＯＲゲートを備える、Ｃ８に記載の集積回路。
［Ｃ１０］前記合成回路は前記コラプス可能電力レールに結合された、Ｃ８に記載の集積回路。
［Ｃ１１］前記電力管理回路は、クロックイネーブル信号の状態に基づいて電力消費を低減するために前記クロック信号をゲートするように構成されたクロックゲーティング回路を含む、Ｃ１に記載の集積回路。
［Ｃ１２］前記複数のフリップフロップの外部に配設されたリセット回路をさらに備え、前記リセット回路は、前記保持信号がアクティブである場合、ローにクランプされるクランプ可能リセット信号を生成するためにリセット信号と前記保持信号とを合成するように構成され、前記リセット回路は、前記複数のフリップフロップの各フリップフロップに前記クランプ可能リセット信号を与えるようにさらに構成された、Ｃ１に記載の集積回路。
［Ｃ１３］前記複数のフリップフロップの外部に配設されたリセット回路をさらに備え、前記リセット回路は、前記保持信号がアクティブである場合、ハイにクランプされるクランプ可能リセット信号を生成するためにリセット信号と前記保持信号とを合成するように構成され、前記リセット回路は、前記複数のフリップフロップの各フリップフロップに前記クランプ可能リセット信号を与えるようにさらに構成された、Ｃ１に記載の集積回路。
［Ｃ１４］一定電力レールと、
コラプス可能電力レールと、前記コラプス可能電力レールは、前記コラプス可能電力レールがコラプスされている間、電力から分離されるように構成され、
複数のフリップフロップと、前記複数のフリップフロップの各フリップフロップは、
前記コラプス可能電力レールに結合されたマスタ部分と、
スレーブデータを記憶するように構成され、前記一定電力レールに結合されたスレーブ部分と、を含み、
クロック信号と保持信号とに基づいて合成制御信号を生成するための手段と、前記合成制御信号は、前記保持信号がアクティブである間、一定値においてクランプされ、および前記保持信号がアクティブでない間、前記クロック信号の周期を有する周期性があるように生成され、
前記複数のフリップフロップの各フリップフロップに前記合成制御信号を分配するように構成された回路と、
を備える集積回路。
［Ｃ１５］前記合成制御信号は、前記保持信号がアクティブである場合、各フリップフロップの前記スレーブ部分に、前記スレーブデータを保持させるように構成された、Ｃ１４に記載の集積回路。
［Ｃ１６］前記合成制御信号を生成するための前記手段は、前記コラプス可能電力レールに結合された、
Ｃ１４に記載の集積回路。
［Ｃ１７］前記複数のフリップフロップの各フリップフロップの前記スレーブ部分は、各フリップフロップの前記マスタ部分から前記スレーブ部分を絶縁するための手段を含む、Ｃ１４に記載の集積回路。
［Ｃ１８］絶縁するための前記手段は、前記スレーブ部分に前記マスタ部分からのマスタデータを受け渡すための手段を備え、
マスタデータを受け渡すための前記手段は、前記合成制御信号に基づいて制御されるように構成された、Ｃ１７に記載の集積回路。
［Ｃ１９］前記合成制御信号を生成するための前記手段は、前記保持信号がアクティブである場合、前記合成制御信号を接地にプルするように構成された、Ｃ１４に記載の集積回路。
［Ｃ２０］前記保持信号は、前記一定電力レールに結合された回路によって分配される、Ｃ１９に記載の集積回路。
［Ｃ２１］リセット信号と前記保持信号とに基づいて、クランプ可能リセット信号を生成するための手段と、前記クランプ可能リセット信号は、前記保持信号がアクティブである間、一定値においてクランプされるように生成され、
をさらに備える、Ｃ１４に記載の集積回路。
［Ｃ２２］フリップフロップの電力管理のための方法であって、
コラプス可能電力レールを用いて複数のフリップフロップの各マスタ部分に電力供給することと、
一定電力レールを用いて前記複数のフリップフロップの各スレーブ部分に電力供給することと、
合成制御信号を生成するためにクロック信号と保持信号とを合成することと、
前記コラプス可能電力レールの電力コラプス中に、前記複数のフリップフロップの各スレーブ部分のスレーブデータを保持するために、前記複数のフリップフロップに前記合成制御信号を与えることと、
を備える、方法。
［Ｃ２３］前記合成することは、前記保持信号に応答して、各対応するマスタ部分が電力コラプスを受ける場合、前記複数のフリップフロップの各スレーブ部分の前記スレーブデータの変更を防ぐ値において前記合成制御信号をクランプすることを備える、Ｃ２２に記載の方法。
［Ｃ２４］前記クロック信号は、ゲートされたクロック信号を備え、
前記合成することは、前記合成制御信号を生成するために、前記ゲートされたクロック信号と前記保持信号とを合成することを備える、Ｃ２２に記載の方法。
［Ｃ２５］前記コラプス可能電力レールを用いて、前記合成することを実行する回路に電力供給すること、をさらに備える、Ｃ２２に記載の方法。
［Ｃ２６］前記与えることは、前記合成制御信号に応答して、前記電力コラプス中に、各対応するマスタ部分から前記複数のフリップフロップの各スレーブ部分を絶縁することを備える、Ｃ２２に記載の方法。
［Ｃ２７］クランプ可能リセット信号を生成するために、リセット信号と前記保持信号とを合成することと、
前記電力コラプス中に、前記複数のフリップフロップのリセットを防ぐために、前記複数のフリップフロップに前記クランプ可能リセット信号を与えることと、
をさらに備える、Ｃ２２に記載の方法。
［Ｃ２８］マスタ部分とスレーブ部分とを含む第１のフリップフロップと、前記マスタ部分は、電力コラプスを受けるように構成され、前記スレーブ部分は、前記電力コラプス中にスレーブデータを保持するように構成され、
マスタ部分とスレーブ部分とを含む第２のフリップフロップと、前記マスタ部分は、前記電力コラプスを受けるように構成され、前記スレーブ部分は、前記電力コラプス中にスレーブデータを保持するように構成された、
クロック信号と保持信号とに基づいて合成制御信号を生成し、前記第１のフリップフロップと前記第２のフリップフロップとに前記合成制御信号を与えるように構成された電力管理回路と、前記合成制御信号は、前記第１のフリップフロップの前記スレーブ部分と前記第２のフリップフロップの前記スレーブ部分とに、前記電力コラプス中に前記スレーブデータを保持させるように構成された値を有する、
を備える集積回路。
［Ｃ２９］前記電力管理回路は、前記電力コラプスを受け、前記電力コラプス中に前記合成制御信号を生成するようにさらに構成された、Ｃ２８に記載の集積回路。
［Ｃ３０］前記第１のフリップフロップは、前記合成制御信号に応答して、前記電力コラプス中に、前記第１のフリップフロップの前記スレーブ部分から前記第１のフリップフロップの前記マスタ部分を絶縁するように構成された絶縁回路を含み、
前記第２のフリップフロップは、前記合成制御信号に応答して、前記電力コラプス中に、前記第２のフリップフロップの前記スレーブ部分から前記第２のフリップフロップの前記マスタ部分を絶縁するように構成された絶縁回路を含む、
Ｃ２８に記載の集積回路。
【図１】
0006487115.tif 000002
【図２】
0006487115.tif 000003
【図３】
0006487115.tif 000004
【図４】
0006487115.tif 000005
【図５】
0006487115.tif 000006
【図６】
0006487115.tif 000007
【図７】
0006487115.tif 000008
【図８】
0006487115.tif 000009
【図９】
0006487115.tif 000010
【図１０】
0006487115.tif 000011