JP6487115B2 - フリップフロップを用いた電力管理 - Google Patents

フリップフロップを用いた電力管理 Download PDF

Info

Publication number
JP6487115B2
JP6487115B2 JP2018515258A JP2018515258A JP6487115B2 JP 6487115 B2 JP6487115 B2 JP 6487115B2 JP 2018515258 A JP2018515258 A JP 2018515258A JP 2018515258 A JP2018515258 A JP 2018515258A JP 6487115 B2 JP6487115 B2 JP 6487115B2
Authority
JP
Japan
Prior art keywords
flip
signal
flop
flops
slave
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2018515258A
Other languages
English (en)
Other versions
JP2018528710A (ja
Inventor
パント、ハルシャット
ビラングディピチャイ、ラマプラサト
バーン、ディブジョット
ツァオ、リペン
コチュリ、サイ・プラディープ
ナジデサミー、パリッサ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2018528710A publication Critical patent/JP2018528710A/ja
Application granted granted Critical
Publication of JP6487115B2 publication Critical patent/JP6487115B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
    • H03K3/037Bistable circuits
    • H03K3/0375Bistable circuits provided with means for increasing reliability; for protection; for ensuring a predetermined initial state when the supply voltage has been applied; for storing the actual state when the supply voltage fails
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/01Details
    • H03K3/012Modifications of generator to improve response time or to decrease power consumption
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
    • H03K3/037Bistable circuits
    • H03K3/0372Bistable circuits of the master-slave type
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/353Generators characterised by the type of circuit or by the means used for producing pulses by the use, as active elements, of field-effect transistors with internal or external positive feedback
    • H03K3/356Bistable circuits
    • H03K3/356008Bistable circuits ensuring a predetermined initial state when the supply voltage has been applied; storing the actual state when the supply voltage fails
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/353Generators characterised by the type of circuit or by the means used for producing pulses by the use, as active elements, of field-effect transistors with internal or external positive feedback
    • H03K3/356Bistable circuits
    • H03K3/3562Bistable circuits of the master-slave type
    • H03K3/35625Bistable circuits of the master-slave type using complementary field-effect transistors

Landscapes

  • Power Sources (AREA)
  • Semiconductor Integrated Circuits (AREA)

Description

優先権の主張
関連出願の相互参照
本出願は、その全体が参照により本明細書に明確に組み込まれる、2015年9月24日に出願された「POWER MANAGEMENT WITH FLIP-FLOPS」と題する米国特許出願第14/864,101号の利益を主張する。
本開示は、一般に、集積回路(IC)中に設置されたフリップフロップを用いた電力管理に関し、より詳細には、各フリップフロップが、ライブ(live)スレーブ部分(slave portion)とコラプス可能(collapsible)マスタ部分(master portion)とを含む保持(retention)特徴を有する、複数のフリップフロップを制御することに関する。
[0003]電子デバイスの電力消費は、電子デバイス設計においてますます重要となるファクタである。グローバルな観点から、電子デバイスのエネルギー需要は、大規模コーポレイト(large corporate)データセンターとパーソナルコンピューティングデバイスの遍在性とにより、総エネルギー使用のかなりの割合を占める。したがって、環境問題は、地球の資源を温存するのを助けるために電子デバイスの電力消費を低下させるための取り組みの動機となる。個人の観点から、光熱費を低くしたいという普遍的な要望に加えて、多くのパーソナルコンピューティングデバイスは、バッテリーによって電力供給される。ポータブルバッテリー電源式電子デバイスによって消費されるエネルギーが少なくなるほど、ポータブルデバイスは、バッテリーを再充電することなしにより長く動作し得る。また、より低いエネルギー消費は、よりポータブルであるデバイスを製造するための、より小さいバッテリーの使用とより薄いフォームファクタの採用とを可能にする。したがって、ポータブル電子デバイスの人気も、電子デバイスの電力消費を低下させるための取り組みの動機となる。
[0004]電子デバイスは、デバイスが電源に結合され、オンにされた場合、電力を消費する。この電力消費シナリオは電子デバイス全体について当てはまるが、その消費シナリオは電子デバイスの個々の部分についても当てはまる。したがって、電子デバイスの一部が電力から分離されるかまたはオフにされた場合、他の部分が電力供給され、オンにされたままである間でさえも、電力は温存され得る。集積回路(IC)全体またはディスプレイスクリーンなど、電子デバイスの個別構成要素全体が、電力から分離されるかまたはオフにされ得る。個別構成要素の選択された部分が、同様にパワーダウン(power down)され得る。たとえば、集積回路のコアなど、集積回路処理エンティティがパワーダウンされ得る。集積回路の部分は、使用が規則的(regular)であるが不連続である場合、間欠的にパワーダウンされ得るか、または使用が、ある任意の時間期間の間停止した場合、一時的にパワーダウンされ得る。
[0005]コアなど、集積回路の一部をパワーダウンすることは、電力を節約し、バッテリー寿命を延長することができる。残念ながら、集積回路のコアをパワーダウンすることは、問題をもたらすこともある。たとえば、パワーダウンされたコアを用いて動作を再開することは時間を要し、これは、実行を遅くし、ユーザエクスペリエンスに悪影響を及ぼすことがある。さらに、電力がいくつかのタイプのコンピュータメモリから除去された場合、動作データが失われ得る。動作データを失うことは、アプリケーションを再起動させるか、あるいは、ドキュメントまたはピクチャなど、ユーザファイルに永続的に損傷を与え得る。動作データの喪失を回避するために、動作データは、集積回路のコアがパワーダウンされるより前に、より遅いまたは遠隔メモリロケーションに移動され得る。コンピューティングタスクを続けるためにコアを起動させるべき時間が到来したとき、動作データは、さらなる処理のためにメモリロケーションから取り出されるが、この取出し動作は、パワーダウンされた状態からのコンピューティング機能の再開を遅延させる。
[0006]例示的な態様では、集積回路が開示される。本集積回路は、一定電力レール(constant power rail)と、コラプス可能電力レール(collapsible power rail)と、複数のフリップフロップと、電力管理回路とを含む。複数のフリップフロップの各フリップフロップは、コラプス可能電力レールに結合されたマスタ部分と、一定電力レールに結合されたスレーブ部分とを含む。電力管理回路は、合成制御信号(combined control signal)になるようにクロック信号と保持信号とを合成し、複数のフリップフロップの各フリップフロップに合成制御信号を与えるように構成される。
[0007]例示的な態様では、集積回路が開示される。本集積回路は、一定電力レールと、コラプス可能電力レールと、複数のフリップフロップとを含む。コラプス可能電力レールは、コラプス可能電力レールがコラプスされている間、電力から分離されるように構成される。複数のフリップフロップの各フリップフロップは、コラプス可能電力レールに結合されたマスタ部分と、スレーブデータを記憶するように構成され、一定電力レールに結合されたスレーブ部分とを含む。本集積回路は、保持信号がアクティブである間、合成制御信号が一定値においてクランプされる(clamped)ように、および保持信号がアクティブでない間、合成制御信号が周期的であり、クロック信号の周期を有するように、クロック信号と保持信号とに基づいて合成制御信号を発生するための手段をも含む。本集積回路は、複数のフリップフロップの各フリップフロップに合成制御信号を分配するように構成された回路をさらに含む。
[0008]例示的な態様では、フリップフロップの電力管理のための方法が開示される。本方法は、コラプス可能電力レールを用いて複数のフリップフロップの各マスタ部分に電力供給することと、一定電力レールを用いて複数のフリップフロップの各スレーブ部分に電力供給することとを含む。本方法は、合成制御信号を生成するためにクロック信号と保持信号とを合成することをも含む。本方法は、コラプス可能電力レールの電力コラプス(power collapse)中に、複数のフリップフロップの各スレーブ部分のスレーブデータを保持するために、複数のフリップフロップに合成制御信号を与えることをさらに含む。
[0009]例示的な態様では、集積回路が開示される。本集積回路は、第1のフリップフロップと、第2のフリップフロップと、電力管理回路とを含む。第1のフリップフロップは、マスタ部分とスレーブ部分とを含み、マスタ部分は、電力コラプスを受けるように構成され、スレーブ部分は、電力コラプス中にスレーブデータを保持するように構成される。第2のフリップフロップも、マスタ部分とスレーブ部分とを含み、マスタ部分は、電力コラプスを受けるように構成され、スレーブ部分は、電力コラプス中にスレーブデータを保持するように構成される。電力管理回路は、クロック信号と保持信号とに基づいて合成制御信号を生成するように構成される。電力管理回路は、第1のフリップフロップに、および第2のフリップフロップに合成制御信号を与えるようにさらに構成され、合成制御信号は、第1のフリップフロップのスレーブ部分と第2のフリップフロップのスレーブ部分とに、電力コラプス中にスレーブデータを保持させるように構成された値を有する。
集積回路(IC)を含む例示的な電子デバイスを示す図。 2つの電力レールと、複数のフリップフロップと、異なるタイプの信号とを含む例示的なIC部分を示す図。 電力コラプス環境における電力管理回路をもつ複数のフリップフロップのための例示的な保持制御構成を示す図。 マスタ部分とスレーブ部分とを含む例示的なフリップフロップを示す図。 クロックゲーティング回路と合成回路とを含む電力管理回路の一例を示す図。 クロックゲーティング回路の一例と合成回路の一例とを示す図。 合成回路のためのNORゲートの例示的な実装形態のための4つのデバイスを含む回路を示す図。 [0017]アクティブハイ(active high)リセット信号に応答してリセット可能である複数のフリップフロップのための電力コラプス環境における例示的なリセット制御構成を示す図。 [0018]アクティブロー(active low)リセット信号に応答してリセット可能である複数のフリップフロップのための電力コラプス環境における例示的なリセット制御構成を示す図。 [0019]フリップフロップを用いた電力管理のための例示的なプロセスを示す流れ図。
[0020]完全な不使用の時間中に、エネルギー消費を低減するために集積回路(IC)全体がパワーダウンされ得る。集積回路の少なくとも一部をパワーダウンすることは、「電力コラプス」と呼ばれる。しかしながら、他の時間には、1つまたは複数のコアなど、集積回路の選択された部分は、他のコアがアイドルである間、処理、記憶、または通信のために使用され得る。集積回路が全体としてパワーダウンされ得ない場合、1つまたは複数のコアは、他のコアから独立してパワーダウンされ得る。たとえば、スクリーン上に表示されているものを変更する前に、集積回路が追加のデータまたはユーザ入力を待っている場合、グラフィックス処理ユニット(GPU)コアがパワーダウンされ得る。アイドルであるモデムは、着信通信または発信通信間でパワーダウンされ得る。また、メモリの半分が未使用である場合、未使用メモリ半分は、他方の半分が電力供給されたままである間、パワーダウンされ得る。
[0021]集積回路のコアは、多くのフリップフロップを含み得る。単にフロップと呼ばれることもあるフリップフロップ(FF)は、動作データの1ビットを記憶するコンピューティングメモリのユニットである。フリップフロップは、マスタ部分とスレーブ部分とを含み得、データが、マスタ部分からスレーブ部分に内部で転送される。クロック制御されたフリップフロップは、マスタ部分に記憶されたデータが、クロック信号のパルスに応答してスレーブ部分に転送されるように構成される。
[0022]フリップフロップは、比較的高速のメモリユニットであり、極めて頻繁に使用される。フリップフロップはまた、フリップフロップを含む対応する集積回路の電力コラプスを通してなど、パワーダウンされた場合、記憶されたデータを放棄する(relinquish)揮発性メモリである。したがって、フリップフロップを含むコアを慎重に管理するために電力管理技法が利用され得る。電力コラプスを受けるコアのフリップフロップに記憶されたデータの喪失を防ぐために、記憶されたデータは、電力なしにデータを保持する不揮発性メモリに、またはパワーダウンされていない別のコアに移動され得る。次いで、再配置されたデータは、コアが再び電源投入された後、フリップフロップに返される。しかしながら、この手法は、時間を要し、占有チップエリアおよび信号ルーティング輻輳に関して、集積回路についてリソース集約的である。
[0023]いくつかのフリップフロップは、フリップフロップが、対応するコアの電力コラプス中にデータを保持することを可能にする保持特徴(retention feature)を含む。そのようなフリップフロップは、保持フリップフロップ(RFF:retention flip-flop)と呼ばれる。保持フリップフロップは、追加の関連するラッチと2つのレベルシフタとを有するフリップフロップとして実現され得る。追加のラッチは、バルーンラッチまたはシャドーラッチと呼ばれる。バルーンラッチは、マスタ部分およびフリップフロップのスレーブ部分が電力コラプスを受けるとき、スレーブ部分についてのデータを記憶するように適応される。電力コラプス後に、バルーンラッチは、そのデータをフリップフロップのスレーブ部分に返す。しかしながら、バルーンラッチをもつ保持フリップフロップは大きく、保持特徴をもたない標準フリップフロップのエリアの3倍ほどを占有する。保持フリップフロップは、マスタ部分とスレーブ部分が両方ともコアの一定電力レールに結合されたフリップフロップとしても実現され得る。一定電力レールは、電力コラプス中に保持フリップフロップに電力を与え続ける。代わりにコラプス可能電力レールに結合された他の回路は、対応するコアが電力コラプスを受けるとき、電力を失う。
[0024]後者の手法は、バルーンラッチを採用する前者の手法よりも小さい保持フリップフロップを生じるが、マスタ部分とスレーブ部分の両方が、後者の手法によれば、電力コラプスイベント中に電力供給されたままである。マスタ部分またはスレーブ部分のうちの一方が電力コラプスを受け、他方の部分が電力供給されたままである場合、この後者の手法によって電力節約が達成され得る。マスタ部分に記憶されたデータに依拠することなしに、たとえば、フリップフロップのスレーブ部分に安全に記憶された動作データを使用して、コンピューティングアクティビティの再開が達成され得る。したがって、スレーブ部分が電力供給され続ける間、マスタ部分は電力コラプスを受け得る。
[0025]残念ながら、単にコラプス可能電力レールにマスタ部分を結合し、マスタ部分が電力コラプスを受けることを可能にすることは、問題がある。マスタ部分が電力コラプスを受ける場合、マスタ部分のデータのための電圧信号値は、電圧レベルが接地(ground)に向かって劣化するので、不定である。マスタデータのための電圧レベルが電力コラプス中に劣化する場合、劣化した電圧レベルは、電力コラプス中にまたは電力コラプスの結果としてスレーブ部分に伝搬することによって電力供給されたままである対応するスレーブ部分に影響を与え得る。したがって、電力供給されるスレーブ部分によって記憶されたデータのための電圧信号値は、破損され、未知状態に変更され得る。破損データは、次いで、電力コラプスが終了した後に再開されるコンピューティングタスクについて有害に使用される。しかしながら、マスタ部分とスレーブ部分との間の絶縁が電力コラプス中に正しく維持された場合、劣化した電圧レベルは、マスタ部分内に隔離されるか、または少なくともスレーブ部分から離され得る。
[0026]1つまたは複数の実施形態は、マスタ部分が電力コラプスを受ける間、スレーブ部分のスレーブデータが保持されるように、保持特徴を有するフリップフロップのスレーブ部分が電力コラプス中にフリップフロップのマスタ部分から絶縁されることを可能にする。マスタ部分とスレーブ部分とは、異なる電力レールに結合される。詳細には、マスタ部分はコラプス可能電力レールに結合され、スレーブ部分は一定電力レールに結合される。絶縁回路が、クランプ可能(clampable)クロック信号とともにアクティブ保持信号に応答して、マスタ部分からスレーブ部分を絶縁する。
[0027]このようにして、フリップフロップは、フリップフロップのマスタ部分が電力コラプスを受けることを可能にされる間、フリップフロップのスレーブ部分のスレーブデータが保持される、保持特徴を与えられる。この保持特徴は、絶縁回路を使用して可能にされ得、当該絶縁回路が、保持期間中にマスタデータの隔離を確立するための正しい状態または状況にされた場合、スレーブデータからマスタデータを絶縁する。
[0028]したがって、絶縁制御機能は、電力コラプスイベント中にマスタデータを隔離するための正しい状態に絶縁回路を維持する。1つの手法では、絶縁制御は、各フリップフロップ内に配置され得る。残念ながら、各フリップフロップ内に各絶縁回路のための別個の、個々の絶縁制御を有することは、集積回路チップ上にかなりのオーバーヘッドエリア不利益(overhead area penalty)をもたらす。さらに、クロック信号のための別個の個々の線と保持信号のための別個の個々の線は両方とも、そのような手法を用いて各フリップフロップにルーティングされる。代替手法では、複数のフリップフロップのそれぞれのフリップフロップについて、それぞれのスレーブ部分からそれぞれのマスタ部分を絶縁する複数の絶縁回路は、当該複数のフリップフロップの外部に配置された共有電力管理回路によって一緒に制御され得る。
[0029]1つまたは複数の実施形態は、集積回路のためのクロックツリーにおいてなど、保持特徴を有する複数のフリップフロップが、当該複数のフリップフロップの各々の外部にある電力管理回路を共有することを可能にする。共有電力管理回路は、当該複数のフリップフロップの内部にある絶縁回路を制御する。電力管理回路は、合成制御信号を生成するためにクロック信号と保持信号とを合成する。電力管理回路は、各フリップフロップの絶縁回路に、複数のフリップフロップの対応するスレーブ部分からマスタ部分を絶縁させるために、複数のフリップフロップに合成制御信号を与える。合成制御信号は、クロック信号および保持信号のために別個の個々の線を使用する代わりに、電力管理回路からの複数のフリップフロップの各々にルーティングされる。したがって、共有電力管理回路と複数の保持フリップフロップとの間の信号ルーティングは、約50%だけ低減され得る。
[0030]このようにして、集積回路チップ上のエリア(area)を節約するために複数のフリップフロップによって共有される外部の電力管理回路によって制御される保持特徴を含むフリップフロップが与えられる。したがって、フリップフロップのスレーブ部分は、フリップフロップの個々のものの中に絶縁制御のための回路デバイスを含めることなしに、および電力コラプスのための保持モードの制御シグナリングのために使用される複数のワイヤトレースからの輻輳を増加させることなしに、対応するマスタ部分から絶縁され得る。
[0031]例示的な構造では、集積回路は、コラプス可能電力レールと、一定電力レールと、複数のフリップフロップと、電力管理回路とを含む。複数のフリップフロップの各フリップフロップは、マスタ部分と、スレーブ部分と、絶縁回路とを含む。絶縁回路は、フリップフロップのマスタ部分またはスレーブ部分の一部であるか、あるいは両方の部分とは別個であり得る。動作中、複数のフリップフロップの外部にある電力管理回路は、クロック信号と保持信号とに基づいて合成制御信号を生成する。合成制御信号は、電力コラプス中に、複数のフリップフロップの各対応するマスタ部分から各スレーブ部分を絶縁するために、絶縁回路への単一の信号線を使用して与えられ得る。絶縁は、スレーブ部分のスレーブデータを、マスタ部分上の電力コラプスの影響によって変更されることから保護されるように保つ。
[0032]単に例として、複数のフリップフロップの外部にある電力管理回路は、電力コラプスにより生じることがあるクロック信号の変更から複数のフリップフロップを少なくとも部分的に絶縁するために、保持信号に応答してクロック信号をクランプするように構成され得る。同様に、リセット回路が、電力コラプスにより生じることがあるリセット信号の変更から複数のフリップフロップを少なくとも部分的に絶縁するために、保持信号に応答してリセット信号をクランプするように構成され得る。同じように、セット回路が、電力コラプスにより生じることがあるセット信号の変更から複数のフリップフロップを少なくとも部分的に絶縁するために、保持信号に応答してセット信号をクランプするように構成され得る。リセット回路およびセット回路は、チップエリアを節約し、ワイヤトレース輻輳を低減するために、同様に、複数のフリップフロップの外部に配置され、複数のフリップフロップによって共有され得る。
[0033]図1は、集積回路(IC)110を含む例示的な電子デバイス102を示す。図示のように、電子デバイス102は、IC110に加えて、アンテナ104と、トランシーバ106と、ユーザ入力/出力(I/O)インターフェース108とを含む。IC110の図示の例は、マイクロプロセッサ112と、グラフィックス処理ユニット(GPU)114と、メモリアレイ116と、モデム118とを含む。
[0034]電子デバイス102は、モバイルまたはバッテリー電源式デバイスであるか、あるいは動作中に電気グリッドによって電力供給されるように設計された固定デバイスであり得る。電子デバイス102の例としては、サーバコンピュータ、ネットワークスイッチまたはルータ、データセンターのブレード、パーソナルコンピュータ、デスクトップコンピュータ、ノートブックコンピュータ、タブレットコンピュータ、スマートフォン、エンターテインメントアプライアンス、あるいはスマートウォッチ、インテリジェントグラス、または衣料品など、ウェアラブルコンピューティングデバイスがある。電子デバイス102はまた、埋込み電子回路を有する、デバイスであるか、またはそれの一部分であり得る。埋込み電子回路をもつ電子デバイス102の例としては、乗用車、工業機器、冷蔵庫または他の家庭用電気器具、ドローンまたは他の無人航空機(UAV)、あるいは電力ツールがある。
[0035]ワイヤレス能力をもつ電子デバイスの場合、電子デバイス102は、1つまたは複数のワイヤレス信号の受信または送信を可能にするために、トランシーバ106に結合されたアンテナ104を含む。IC110は、IC110が、受信されたワイヤレス信号へのアクセスを有すること、またはアンテナ104を介する送信のためにワイヤレス信号を与えることを可能にするために、トランシーバ106に結合され得る。電子デバイス102はまた、図示のように少なくとも1つのユーザI/Oインターフェース108を含む。ユーザI/Oインターフェース108の例としては、キーボード、マウス、マイクロフォン、タッチセンシティブスクリーン、カメラ、加速度計、触覚機構、スピーカー、ディスプレイスクリーン、およびプロジェクタがある。
[0036]IC110は、たとえば、マイクロプロセッサ112、GPU114、メモリアレイ116、モデム118などの1つまたは複数のインスタンスを備え得る。マイクロプロセッサ112は、中央処理ユニット(CPU)または他の汎用プロセッサとして機能し得る。いくつかのマイクロプロセッサは、個々に電源投入(powered on)または電源切断(powered off)され得る、複数の処理コアなど、異なる部分を含む。GPU114は、人のために表示されるべき視覚関係データを処理するように特に適応され得る。視覚関係データが処理またはレンダリングされていない場合、GPU114はパワーダウンされ(powered down)得る。メモリアレイ116は、マイクロプロセッサ112、GPU114、またはユーザファイルのためのデータを記憶する。メモリアレイ116のためのメモリの例示的なタイプとしては、ダイナミックRAM(DRAM)またはスタティックRAM(SRAM)など、ランダムアクセスメモリ(RAM)、フラッシュメモリなどがある。プログラムが、メモリに記憶されたデータにアクセスしていない場合、メモリアレイ116はパワーダウンされ得る。モデム118は、信号に情報を符号化するために信号を変調し、または符号化された情報を抽出するために信号を復調する。アウトバウンド通信またはインバウンド通信のために符号化または復号すべき情報がない場合、モデム118は、電力消費を低減するためにアイドリングされ得る。IC110は、I/Oインターフェース、トランシーバまたは受信機チェーンの別の部分、特定用途向け集積回路(ASIC)などのカスタマイズまたはハードコーディングされたプロセッサ、加速度計などのセンサーなど、示されているもの以外に追加または代替の部分を含み得る。
[0037]IC110はまた、システムオンチップ(SOC)を備え得る。SOCは、SOCが、ノートブック、モバイルフォン、あるいはもっぱらまたは主に1つのチップを使用する別の電子装置として計算機能を与えることを可能にするために、十分な数またはタイプの構成要素を組み込み得る。SOC、またはIC110の構成要素は、概して、ブロックまたはコアと呼ばれることがある。コアまたは回路ブロックの例としては、電圧調節器、メモリアレイ、メモリコントローラ、汎用プロセッサ、暗号プロセッサ、モデム、ベクトルプロセッサ、I/Oインターフェースまたは通信コントローラ、ワイヤレスコントローラ、およびGPUがある。プロセッサまたはGPUコアなど、これらのコアまたは回路ブロックのいずれも、複数の内部コアをさらに含み得る。SOCのコアは、本明細書で説明される本技法によれば、使用中でない場合、パワーダウンされ得る。
[0038]図2は、複数のフリップフロップ206−1〜206−8を含み、異なるタイプの信号を利用する、例示的なIC部分200を示す。図示のように、IC部分200は、コラプス可能電力レール202(CPR:collapsible power rail)と、一定電力レール204(KPR:constant power rail)と、8つのフリップフロップ206−1〜206−8と、フリップフロップのサブセットを含むフリップフロップトレイ218とを含む。IC部分200は、クロック信号208と、保持信号210と、リセット信号212とをさらに含むか、または場合によってはそれらを利用する。IC部分200はまた、電力コラプス216を経験する。フリップフロップは、データが異なる処理タスクのために記憶されるべきである様々なロケーションにおいて、IC部分200の周りに分散される。
[0039]フリップフロップは、フリップフロップ206−7またはフリップフロップ206−8など、単独でIC部分200上に配置(dispose)され得る。フリップフロップは、フリップフロップ206−5がフリップフロップ206−6に近接して配置されることなど、代替的に一緒に配置され得る。フリップフロップはまた、動作グループ(operational group)中に配置され得、フリップフロップ動作グループは、フリップフロップトレイまたは単にフロップトレイと呼ばれる。フリップフロップトレイは、ICの走査テストを可能にする回路など、複数のフリップフロップの間での回路または制御シグナリングを共有し得る。フリップフロップトレイ中のフリップフロップの総数は、2つ、4つ、8つ、10個、16個、17個、32個などであり得る。図示のように、フリップフロップトレイ218は、フリップフロップ206−1と、フリップフロップ206−2と、フリップフロップ206−3と、フリップフロップ206−4とを含む。
[0040]1つまたは複数の実施形態では、コラプス可能電力レール202および一定電力レール204は、所与の電圧において保たれ、図示されていない、電力管理IC(PMIC:power management IC)によって電力供給される。PMICは、IC部分200のそれと同じICの内部または外部にあり得る。PMICは、電圧変換または電圧調節を通して特定の電圧レベルにおいて電力レールに安定した電圧を供給するように構成される。一定電力レール204は、通常動作中に電力を維持するように構成される。一方、コラプス可能電力レール202は、電力コラプスイベントを容易にする(facilitate)ために、通常動作中に電力から分離されるように構成される。電力がコラプス可能電力レール202から除去された場合、コラプス可能電力レール202に結合された回路は、電力コラプス216によって表される、電力コラプスイベントを受ける。
[0041]より詳細には、コラプス可能電力レール202が電源から切断された場合、コラプス可能電力レール202は電力コラプス216を受け得る。その切断は、電源とコラプス可能電力レール202との間に結合されたスイッチを使用して、または電源をオフにすることによって、内部でまたは外部で実現され得る。コラプス可能電力レール202が電源から切断された場合、コラプス可能電力レール202上の電圧は降下し始め、最終的に接地電位(ground potential)に到達する。明快のために、および一方の電力レールを他方と区別するために、電力レール204は、一定電力レール204と呼ばれる。ただし、一定電力レール204はコラプス可能である。たとえば、IC部分200を含んでいるデバイスが完全にパワーダウンされた場合、一定電力レール204は電力コラプスを受ける。さらに、時々、代替の電力管理シナリオは、コラプス可能電力レール202と一定電力レール204の両方をコラプスさせることを伴い得る。
[0042]この特定の例では、3つの制御信号が、矢印として図2の下部の近くに表される。フリップフロップ動作に関して、クロック信号208は、データをフリップフロップの入力から、図2に明示的に示されていないフリップフロップのマスタ部分およびスレーブ部分を通って、フリップフロップの出力に進める。保持信号210は、データが、電力コラプス216中に保持されるようにするために、アクティブに駆動されるかまたはアクティブ状態にされる。アクティブ保持信号210は、保持フリップフロップの対応する保持特徴をアクティブにする。保持フリップフロップを含むフリップフロップは、リセットまたはリセット可能フリップフロップを備え得る。アクティブリセット信号212は、リセット特徴を有するフリップフロップが、0または1など、知られている状態にリセットされるようにする。したがって、リセット信号212がアクティブであり、リセットフリップフロップに適用される場合、リセットフリップフロップは、フリップフロップの内部アーキテクチャに応じて、0または1の知られている出力を発生する。リセットフリップフロップは、図8および図9を参照しながら説明されるように、アクティブハイまたはアクティブローであるリセット信号212に応答し得る。
[0043]クロック制御されたフリップフロップは、クロック信号208に少なくとも部分的に基づいて動作する。保持フリップフロップは、保持信号210に少なくとも部分的に基づいて動作する。リセットフリップフロップは、リセット信号212に少なくとも部分的に基づいて動作する。1つまたは複数の合成制御信号またはクランプ可能制御信号は、適切なフリップフロップ機能を可能にするために、複数のフリップフロップ206−1〜206−8の各々、または図2に明示的に示されていないそれらの制御デバイスにルーティングされる。制御回路または制御シグナリングを共有することによって、電力消費またはオンチップリソース利用に関する効率が増加され得る。電力消費を低下させ、所与の数の保持フリップフロップのために電力管理回路によって占有されるチップエリアを低減するか、または、複数のフリップフロップの電力管理のための制御信号をルーティングするワイヤトレースの複雑さおよび輻輳を減少させる実施形態が本明細書で説明される。
[0044]図3は、電力コラプス216が生じることがある環境における複数のフリップフロップ206−1〜206−4および電力管理回路306のための例示的な保持制御構成300を示す。図示のように、保持制御構成300は、コラプス可能電力レール202と、一定電力レール204と、複数のフリップフロップ206−1〜206−4と、電力管理回路306と、リセット回路312とを含む。保持制御構成300は、様々な制御信号、すなわち、クロック信号208と、保持信号210と、リセット信号212と、合成制御信号308(CCS)とをさらに含む。複数のフリップフロップ206−1〜206−4の各フリップフロップ206は、マスタ部分302と、スレーブ部分304と、絶縁回路310とを含む。
[0045]1つまたは複数の実施形態では、各フリップフロップ206のマスタ部分302は、スレーブ部分304とは異なる電力レールによって電力供給される。この特定の例では、マスタ部分302は、コラプス可能電力レール202に結合され、それによって電力供給される。スレーブ部分304は、一定電力レール204に結合され、それによって電力供給される。電力管理回路306は、合成制御信号308になるようにクロック信号208と保持信号210とを合成するように構成される。電力管理回路306は、複数のフリップフロップ206−1〜206−4の各フリップフロップ206に合成制御信号308を与えるようにも構成される。例示的な実装形態では、電力管理回路306は、クロック信号208と保持信号210とに基づいて合成制御信号308を発生するための手段を与える。
[0046]電力管理回路306は、電力コラプス216中に複数のフリップフロップ206−1〜206−4の各フリップフロップ206に合成制御信号308を与えるように構成される。そうすることは、絶縁回路310を使用して各フリップフロップ206のマスタ部分302からスレーブ部分304を絶縁する。例示的な実装形態では、絶縁回路310は、各フリップフロップ206のマスタ部分302からスレーブ部分304を絶縁するための手段を与える。より詳細には、合成制御信号308を受信することに応答して、複数のフリップフロップ206−1〜206−4の各フリップフロップ206は、以下でより詳細に説明されるように、電力コラプス216中にスレーブ部分304の出力においてスレーブデータを保持するために、スレーブ部分304からマスタ部分302を絶縁するように構成される。このスレーブデータの保持は、特に図4〜図6を参照しながら本明細書で説明される。少なくともいくつかの実施形態では、保持信号210の状態に応答して、電力管理回路306は、電力コラプス216中に、0または1など、一定値において合成制御信号308をクランプするように構成される。クランプすることは、保持信号210の、アサートされた状態または高電圧レベルなど、アクティブ状態に応答して実行され得る。合成制御信号308を発生および維持することのさらなる説明が、特に図5および図6を参照しながら本明細書で与えられる。
[0047]保持制御構成300は、リセット信号212とリセット回路312とをも含む。図3に示されているように、リセット回路312は、保持信号210をも受信し得る。リセット回路312は、保持信号210とリセット信号212とを合成する。リセット回路312の(図3に示されていない)出力が、電力コラプス216中の偶発的リセット動作が生じることを防ぐために、複数のフリップフロップ206−1〜206−4の動作を少なくとも部分的に制御し得る。リセット回路312の例示的な態様は、特に図8および図9を参照しながら本明細書でさらに説明される。
[0048]フリップフロップ電力管理のいくつかの原理が、図3の複数のフリップフロップ206−1〜206−4に関して本明細書で説明されたが、原理は、特定の数のフリップフロップにも、図2のフリップフロップトレイ218などのフリップフロップトレイを形成する複数のフリップフロップにも限定されない。また、各フリップフロップ206の絶縁回路310は、図3では、単に一例として、マスタ部分302およびスレーブ部分304とは別個に示されている。絶縁回路310またはそれの1つまたは複数の回路デバイスは、代替的に、マスタ部分302またはスレーブ部分304の一部であり得る。
[0049]図4は、概略的に400において、コラプス可能電力レール202と一定電力レール204とにそれぞれ動作可能に接続されたマスタ部分302とスレーブ部分304とを含む、例示的なフリップフロップ206を示す。スイッチ430が、コラプス可能電力レール202と一定電力レール204との間に与えられる。スイッチ430が開位置にあるとき、ここに示されているように、電力コラプスが生じることがある。マスタ部分302とスレーブ部分304とに加えて、フリップフロップ206は、入力432「D」と、出力434「Q」と、第1のインバータ418と、第2のインバータ428とを含む。図示のように、マスタ部分302とスレーブ部分304とは、それぞれ、2つのパスゲートと2つのインバータとを含む。これらの8つの回路デバイスは以下で説明される。マスタ部分302はまた、マスタ部分302の出力におけるマスタデータ402を含み、スレーブ部分304はまた、スレーブ部分304の出力におけるスレーブデータ404を含む。
[0050]1つまたは複数の実施形態では、フリップフロップ206のマスタ部分302と、対応するスレーブ部分304とは、直列に構成される。フリップフロップ206の入力432は、マスタ部分302の入力と一致する。マスタデータ402は、マスタ部分302の出力に配置される。マスタ部分302の出力は、スレーブ部分304の入力と一致する。スレーブデータ404は、スレーブ部分304の出力に配置される。スレーブ部分304の出力は、フリップフロップ206の出力434と一致する。マスタ部分302のマスタデータ402は、マスタ部分302の出力における電圧レベルによって表され得る。スレーブ部分304のスレーブデータ404は、スレーブ部分304の出力における電圧レベルによって表され得る。
[0051]マスタ部分302およびそれの個々の回路デバイスは、コラプス可能電力レール202に結合され、それによって電力供給される。スレーブ部分304、およびそれの個々の回路デバイスは、一定電力レール204に結合され、それによって電力供給される。スイッチ430は、一定電力レール204にコラプス可能電力レール202を選択的に結合するように構成される。スイッチ430は、コラプス可能電力レール202が通常動作中にどのように電力供給され得るか、およびコラプス可能電力レール202が電力コラプス216中に電力からどのように分離され得るかの一例を示す。通常動作中に、スイッチ430は、一定電力レール204からコラプス可能電力レール202に電力を与えるために、一定電力レール204にコラプス可能電力レール202を結合するために閉じられる。
[0052]電力コラプス216についての例示的なシナリオでは、スイッチ430は、電力がコラプス可能電力レール202から除去されるように、開かれる。フリップフロップ206のマスタ部分302は、電力がコラプス可能電力レール202から除去された場合、マスタ部分302のマスタデータ402を放棄する(relinquish 捨てる)ように構成される。マスタデータ402が放棄された場合、マスタ部分302の出力における電圧レベルは、接地電圧レベルに向かって降下またはドリフトし始める。一方、フリップフロップ206のスレーブ部分304は、スイッチ430を開くことによって電力がコラプス可能電力レール202から除去された場合、スレーブ部分304のスレーブデータ404を保持するように構成される。スレーブデータ404が電力コラプス216中に保持された場合、スレーブデータ404は、電力コラプスイベントが終了した後、後続のコンピューティングタスクのために利用可能である。
[0053]図示のように、マスタ部分302は、インターフェースパスゲート420と、フォワードインバータ422と、フィードバックインバータ424と、フィードバックパスゲート426とを含む。パスゲートおよびインバータの名前は、本明細書で説明される原理の理解を容易にするために割り当てられたにすぎず、それらの名前は限定するものではない。マスタ部分302のパスゲートおよびスレーブ部分304のパスゲートは、各パスゲートについて2つの電界効果トランジスタ(FET:field effect transistor)など、パスゲートごとに少なくとも1つのFETを使用して構築され得る。各パスゲートは、負ゲート端子と正ゲート端子とを含む。負ゲート端子はn型FET(NFET)につながり、正ゲート端子はp型FET(PFET)につながる。パスゲートはトランスミッションゲートと呼ばれることもある。
[0054]インターフェースパスゲート420は、マスタ部分302のための入力インターフェースをイネーブルまたはディセーブルにする。フォワードインバータ422は、フリップフロップ206にわたるデータ移動または移行の方向と向きを合わせられ、フィードバックインバータ424は、フリップフロップ206にわたるデータ移行の方向とは反対に向きを合わせられる。フィードバックインバータ424およびフィードバックパスゲート426は、フィードバックパスゲート426が閉状態にある場合、マスタ部分302の出力におけるマスタデータ402の現行バージョンを維持するフィードバック経路の一部を形成する。
[0055]より詳細には、インターフェースパスゲート420の入力が、マスタ部分302の入力ならびにフリップフロップ206の入力432と一致する。インターフェースパスゲート420の出力が、フィードバックパスゲート426の出力に、およびフォワードインバータ422の入力に結合される。フォワードインバータ422の出力が、マスタデータ402を送り出し、マスタ部分302の出力と一致する。フォワードインバータ422の出力は、フィードバックインバータ424の入力に結合される。フィードバックインバータ424の出力が、フィードバックパスゲート426の入力に結合される。上述のように、フィードバックパスゲート426の出力は、インターフェースパスゲート420の出力に、およびフォワードインバータ422の入力に結合され、これは、フィードバックパスゲート426が閉状態にある場合、マスタ部分302のためのフィードバックループを形成する。
[0056]図示のように、スレーブ部分304は、インターフェースパスゲート410と、フォワードインバータ412と、フィードバックインバータ414と、フィードバックパスゲート416とを含む。インターフェースパスゲート410は、スレーブ部分304のための入力インターフェースをイネーブルまたはディセーブルにする。フォワードインバータ412は、フリップフロップ206にわたるデータ移動または移行の方向と向きを合わせられ、フィードバックインバータ414は、フリップフロップ206にわたるデータ移行の方向とは反対に向きを合わせられる。フィードバックインバータ414およびフィードバックパスゲート416は、フィードバックパスゲート416が閉状態にある場合、スレーブ部分304の出力におけるスレーブデータ404の現行バージョンを維持するフィードバック経路の一部を形成する。
[0057]例示的な実装形態では、インターフェースパスゲート410は、マスタ部分302からスレーブ部分304にマスタデータ402を受け渡すための手段を与える。より詳細には、インターフェースパスゲート410の入力が、スレーブ部分304の入力ならびにマスタ部分302の出力と一致する。インターフェースパスゲート410の出力が、フィードバックパスゲート416の出力に、およびフォワードインバータ412の入力に結合される。フォワードインバータ412の出力が、スレーブデータ404を送りだし、フリップフロップ206の出力434と一致する。フォワードインバータ412の出力は、フィードバックインバータ414の入力に結合される。フィードバックインバータ414の出力が、フィードバックパスゲート416の入力に結合される。上述のように、フィードバックパスゲート416の出力は、インターフェースパスゲート410の出力に、およびフォワードインバータ412の入力に結合され、これは、フィードバックパスゲート416が閉状態にある場合、スレーブ部分304のためのフィードバックループを形成する。
[0058]図3を参照しながら上記で説明されたように、電力管理回路306は、クロック信号208と保持信号210とに基づいて合成制御信号308(CCS)を生成するように構成される。電力管理回路306は、少なくとも1つの信号トレース(signal trace)を介して複数のフリップフロップ206−1〜206−4の各フリップフロップ206に合成制御信号308を与えるようにさらに構成される。図4に示されているように、合成制御信号308は、第1のインバータ418の入力においてフリップフロップ206に与えられる。
[0059]1つまたは複数の実施形態では、第1のインバータ418は、スレーブ部分304のように、図示のように一定電力レール(KPR)204に結合され、それによって電力供給される。第2のインバータ428は、マスタ部分302のように、コラプス可能電力レール(CPR)202に結合され、それによって電力供給される。第1のインバータ418の出力は、第2のインバータ428の入力に結合される。第1のインバータ418は、合成制御信号308を受信し、第1のインバータ418の出力において相補内部合成制御信号(complemented internal combined control signal)406(ICCS’)を生成するために、合成制御信号308の値を反転させる。相補内部合成制御信号406(ICCS’)は、第2のインバータ428の入力に与えられる。第2のインバータ428は、第2のインバータ428の出力において内部合成制御信号408(ICCS)を生成するために、相補内部合成制御信号406(ICCS’)の値を反転させる。相補内部合成制御信号406(ICCS’)および内部合成制御信号408(ICCS)は、各パスゲートが開いているのか閉じているのかを制御するために、図示のように、パスゲートの別個の制御端子に結合される。
[0060]インターフェースパスゲート420およびフィードバックパスゲート416では、相補内部合成制御信号406(ICCS’)は負ゲート端子に供給され、内部合成制御信号408(ICCS)は正ゲート端子に供給される。インターフェースパスゲート410およびフィードバックパスゲート426では、相補内部合成制御信号406(ICCS’)は正ゲート端子に供給され、内部合成制御信号408(ICCS)は負ゲート端子に供給される。フリップフロップ206の例示的な動作は正エッジトリガされた(positive-edge triggered)パスゲートに関して説明されるが、フリップフロップ206は、負エッジトリガされた(negative-edge triggered)回路デバイスを用いて代替的に実装され得る。
[0061]通常動作のためのデータホールドモード(data hold mode)では、データは、マスタ部分302からスレーブ部分304に移行されない。データホールドモードの場合、インターフェースパスゲート420とフィードバックパスゲート416は両方とも、信号がパスゲート420および416を通過することを可能にするために閉じられ、フィードバックパスゲート426とインターフェースパスゲート410は両方とも、信号がパスゲート426および410を通過するのを防ぐために開いている。データホールドモードのためのこれらの状況をもたらすために、相補内部合成制御信号406(ICCS’)はハイ値(high value)において保たれ、内部合成制御信号408(ICCS)はローレベルにおいて保たれる。通常動作のためのデータ移行モードでは、データは、マスタ部分302からスレーブ部分304に移行される。データ移行モードの場合、インターフェースパスゲート420とフィードバックパスゲート416は両方とも、信号がパスゲート420および416を通過するのを防ぐために開いており、フィードバックパスゲート426とインターフェースパスゲート410は両方とも、信号がパスゲート426および410を通過することを可能にするために閉じられる。データ移行モードのためのこれらの状況をもたらすために、相補内部合成制御信号406(ICCS’)はロー値(low value)において保たれ、内部合成制御信号408(ICCS)はハイレベルにおいて保たれる。
[0062]1つまたは複数の実施形態では、絶縁回路310は、図4に示されているようにスレーブ部分304の一部を備え得る。絶縁回路310が一定電力レール204によって電力供給されるので、絶縁回路310は、ここではスレーブ部分304の一部と見なされる。絶縁回路310の例示的な実装形態は、電力コラプス216中にマスタ部分302からスレーブ部分304を絶縁するように適切に構成または駆動された制御入力をもつパスゲートである。図4では、絶縁回路310は、インターフェースパスゲート410によって少なくとも部分的に実装される。通常動作では、インターフェースパスゲート410は、上記で説明されたように、フリップフロップ206のデータホールドモードまたはデータ移行モードに基づいて開かれるかまたは閉じられる。フリップフロップ206が、マスタ部分302のマスタデータ402をスレーブ部分304の次のスレーブデータ404になるように移行させている場合、インターフェースパスゲート410は閉じられる。一方、フリップフロップ206がマスタ部分302からスレーブ部分304にデータを移行させていない場合、フィードバックインバータ414をも含むフィードバックループを使用して現在のスレーブデータ404を維持するために、インターフェースパスゲート410は開いており、フィードバックパスゲート416は閉じられる。
[0063]電力コラプス216中に、フリップフロップ206のための保持特徴を実装するために、インターフェースパスゲート410は、マスタ部分302からスレーブ部分304を絶縁するために開いたままにされる。フィードバックパスゲート416は、スレーブデータ404がスレーブ部分304によって保持されることを保証するために閉じたままにされ得る。インターフェースパスゲート410を開状態にし、フィードバックパスゲート416を閉状態にするために、相補内部合成制御信号406(ICCS’)は、高電圧レベルに駆動されるか、または高電圧レベルにおいて維持され、内部合成制御信号408(ICCS)は、低電圧レベルに駆動されるか、低電圧レベルにおいて維持されるか、または低電圧レベルにドリフトすることを可能にされる。電力コラプス216中にこれらの電圧レベルにおいて相補内部合成制御信号406(ICCS’)および内部合成制御信号408(ICCS)を維持するために、合成制御信号308は、電力コラプス216中に低電圧レベルにおいて維持される。上記のように、第2のインバータ428は、コラプス可能電力レール202によって電力供給される。第2のインバータ428のコラプス可能性(collapsibility)は、それの出力、内部合成制御信号408(ICCS)が、依然として、インターフェースパスゲート410を開状態にすることおよびフィードバックパスゲート416を閉状態にすることに寄与しながら、電力コラプス216中にロー値を有するように構成されるので、イネーブルにされる。したがって、第2のインバータ428が電力コラプスを受けた場合でも、第2のインバータ428の出力は、スレーブデータ404を保持するための正しい値を有する。電力コラプス216中に低電圧レベルにおいて合成制御信号308を駆動または維持するための例示的な手法は、特に図5〜図7を参照しながら本明細書で説明される。
[0064]図5は、概略的に500において、電力コラプス216中に利用され得る電力管理回路306の一例を示す。図示のように、図5は、コラプス可能電力レール202と、一定電力レール204と、電力管理回路306と、保持ツリーデバイス510とを含む。図5は、クロック信号208と、保持信号210と、合成制御信号308と、クロックイネーブル信号(clock enable signal)506とをさらに示す。電力管理回路306は、クロックゲーティング回路502と合成回路504とを含む。
[0065]1つまたは複数の実施形態では、電力管理回路306は、コラプス可能電力レール202に結合される。電力管理回路306は、電力コラプスを受け、それにもかかわらず電力コラプス216中に説明される保持関係機能を果たすことが可能である。保持信号210は、保持信号ツリーの一部として図2のIC部分200上で伝搬され得、これは、明示的に示されていない。しかしながら、それの保持ツリーデバイス510は示されている。したがって、保持信号ツリー上で伝搬することの一部として、保持信号210は、保持信号210が保持信号ツリーを横断する(traverses)とき、信号ブースティングバッファなど、少なくとも1つの保持ツリーデバイス510を通してルーティングされ得る。保持ツリーデバイス510は、保持信号210が、電力コラプス216の時間期間全体にわたって保持動作の存在を示すようにアクティブであるのに十分な強度を維持することを保証するために、一定電力レール204に結合される。
[0066]図示のように、クロックゲーティング回路502は、入力としてクロック信号208とクロックイネーブル信号506とを受信する。クロックイネーブル信号506は、クロック信号208のパルスが、あるポイントにおいてプルーニングされるべき(to be pruned)であるか、あるチップエリアから非アクティブにされるべきであるか、または1つまたは複数の回路デバイスから阻止されるべきであるかどうかを示し得る。これは、クロック信号をゲートすることと呼ばれることがある。クロックゲーティング回路502は、クロック信号208とクロックイネーブル信号506とに応答して、ゲートされたクロック信号508を生成するように構成される。クロックをゲートすることが可能である、トランジスタまたは論理ゲートデバイスなど、回路を通って伝搬した後に、クロック信号208は、ゲーティング機能が現在アクティブでない場合でも、ゲートされたクロック信号508と呼ばれることがある。図5に明示的に示されていないが、ゲートされたクロック信号508は、クロック信号208の1つのバージョンとして合成回路504に供給され得る。合成回路504に供給されるクロック信号208が、ゲートされたクロック信号508を備える一例は、特に図6を参照しながら本明細書で説明される。
[0067]図示のように、合成回路504は、入力としてクロック信号208と保持信号210とを受信する。合成回路504は、クロック信号208と保持信号210とに応答して合成制御信号308を生成するように構成される。例示的な実装形態では、合成回路504は、合成制御信号308になるようにクロック信号208と保持信号210とを合成するための手段を与える。1つまたは複数のバッファを用いてまたは用いずに、複数のフリップフロップ206−1〜206−4に合成回路504を結合する、少なくとも1つの導電線または少なくとも1つの回路トレースは、各フリップフロップ206のスレーブ部分304に、電力コラプス216中にスレーブデータ404を保持させるために、複数のフリップフロップ206−1〜206−4の各フリップフロップ206に合成制御信号308を分配するように働く。合成回路504は、所与の一定値に合成制御信号308をクランプする保持信号クランプとして事実上機能し得る。一定値において合成制御信号308をクランプすることは、本明細書で説明されるように、フリップフロップ206のスレーブデータ404が電力コラプス216中に保持されるように、図4のフリップフロップ206の保持特徴をアクティブにする。合成回路504の一例は、特に図6を参照しながら本明細書で説明される。
[0068]クロックゲーティング回路502と合成回路504とを含む電力管理回路306は、保持信号210がアクティブである間、合成制御信号308が一定値においてクランプされるように、および保持信号210がアクティブでない間、合成制御信号308が、クロック信号208の周期と同じである周期で周期的であるように、クロック信号208と保持信号210とに基づいて合成制御信号308を発生するための手段を与える。クロックゲーティング回路502および合成回路504のためのゲートレベルにおける例示的な実装形態は、特に図6を参照しながら本明細書で説明される。合成回路504のNORゲート実装形態のためのトランジスタレベルにおける例示的な実装形態は、特に図7を参照しながら本明細書で説明される。
[0069]図6は、図3および図5の電力管理回路306の一部としてクロックゲーティング回路502の一例および合成回路504の一例を示す。図示のように、図6はまた、コラプス可能電力レール202と、クロック信号208と、保持信号210と、合成制御信号308と、クロックイネーブル信号506と、ゲートされたクロック信号508と、テストイネーブル信号(test enable signal)602とを示す。クロックゲーティング回路502は、ORゲート606と、dqフリップフロップ610と、NANDゲート608とを含む。合成回路504はNORゲート604を含む。
[0070]1つまたは複数の実施形態では、コラプス可能電力レール202は、クロックゲーティング回路502と合成回路504とに結合され、それらに電力供給する。クロックイネーブル信号506は、ORゲート606の上側入力に結合され、テストイネーブル信号602は、ORゲート606の下側入力に結合される。ORゲート606の出力が、dqフリップフロップ610の「d」入力に結合される。dqフリップフロップ610の「q」出力は、NANDゲート608の上側入力に結合される。クロック信号208は、NANDゲート608の下側入力に結合される。クロック信号208はまた、dqフリップフロップ610を通してデータを進めるために、dqフリップフロップ610の反転入力「g」に結合される。NANDゲート608の出力は、ゲートされたクロック信号508を生成する。
[0071]図6の例では、合成回路504に与えられたクロック信号208のバージョンは、ゲートされたクロック信号508を備える。より詳細には、ゲートされたクロック信号508は、NORゲート604の上側入力に結合される。保持信号210は、NORゲート604の下側入力に結合される。NORゲート604の出力において与えられた信号は、合成制御信号308を備える。NORゲート604は、少なくとも1つのトランジスタ614など、1つまたは複数の回路デバイスからなる。少なくとも1つのトランジスタ614は、たとえば、n型金属酸化物半導体(NMOS)トランジスタを備える。たとえば、少なくとも1つのトランジスタ614としてのNMOSトランジスタの利用は、NMOSトランジスタがNORゲート604の出力ノードをプルダウンするので、合成回路504がコラプス可能電力レール202によって電力供給されることを可能にする。この機能は、概略的に、引き続き図6を参照しながら、およびより詳細には、NORゲート604の例示的な実装形態のための複数のトランジスタを示す図7を参照しながら以下で説明される。
[0072]例示的な動作では、クロックゲーティング回路502から開始すると、dqフリップフロップ610の「d」入力は、クロックイネーブル信号506またはテストイネーブル信号602のいずれかまたは両方が、ORゲート606の論理インクルーシブOR演算により、ハイレベルにある場合、ハイレベルにある。したがって、クロックゲーティング回路がクロックをゲートするというタスクを現在与えられているので、クロックイネーブル信号506がローレベルにあることと、テストが生じていないので、テストイネーブル信号602がローレベルにあることとの両方でない限り、dqフリップフロップ610の「d」入力はハイレベルにある。dqフリップフロップ610の「d」入力がハイである場合、「q」出力もハイである。dqフリップフロップ610の「q」出力のこのハイ値は、NANDゲート608の上側入力に供給される。NANDゲート608の上側入力におけるこのハイ値により、ゲートされたクロック信号508は、それの論理NAND演算によるクロック信号208の反転バージョンである。ゲートされたクロック信号508は、NORゲート604の上側入力に与えられ、保持信号210がアクティブでなく、ローである限り、それの論理NOR演算により再び反転される。ゲートされたクロック信号508が、合成回路504のNORゲート604を通してルーティングされず、代わりに、クロック制御されている回路に直接ルーティングされていた場合、NANDゲート608は、ANDゲートと置換され得る。
[0073]例示的な動作を続けると、合成回路504では、ゲートされたクロック信号508は、NORゲート604の上側入力に結合され、ゲートされたクロック信号508は、クロックがクロックゲーティング回路502によって現在ゲートされていない場合、クロック信号208の反転バージョンを備える。保持信号210がアクティブでない場合、保持信号210はローレベルにある。したがって、通常、非保持動作モードでは、NORゲート604は、合成制御信号308として、ゲートされたクロック信号508の反転バージョンを出力する。したがって、この通常動作モードでは、合成制御信号308の値は、クロック信号208の値をたどる。
[0074]一方、保持動作モードでは、保持信号210は、アクティブであり、NORゲート604の下側入力においてハイレベルに駆動される。図5に示されているように、保持信号210が、一定電力レール204によって電力供給された1つまたは複数の保持ツリーデバイス510を使用して、集積回路チップの保持信号ツリーにわたって分配されるので、保持信号210は、電力コラプスイベント中にハイレベルのままであり得る。NORゲート604の下側入力におけるハイ値およびそれの論理NOR演算により、NORゲート604から出力された合成制御信号308は、NORゲート604の上側入力におけるゲートされたクロック信号508の値にかかわらず、ローである。例示的な実装形態では、NORゲート604は、電力がコラプス可能電力レール202から分離されている間、合成制御信号308をローにクランプするための手段を与える。合成制御信号308のためのこのローレベルは、図4の第1のインバータ418の入力において図3の複数のフリップフロップ206−1〜206−4の各フリップフロップ206にルーティングされる。
[0075]少なくとも1つのトランジスタ614のNMOS実装形態が、この保持モード例においてNORゲート604の出力ノードをローに(たとえば、接地に)プルしている(pulling)ので、合成制御信号308のためのローレベルは、コラプス可能電力レール202が電力コラプスイベント中に電力から分離された場合、またはその間、NORゲート604から出力され続ける。図5に示されているように、少なくとも部分的に、保持信号210が、一定電力レール204によって電力供給される、保持ツリーデバイス510の少なくとも1つのゲートなど、デバイスによってアクティブハイレベルに電力コラプスイベント中に維持されることが可能であるので、合成制御信号308のためのローレベルは、NORゲート604がコラプス可能電力レール202に接続されるにもかかわらず、電力コラプスイベント中にNORゲート604から出力され続ける。NORゲート604の例示的な実装形態では、少なくとも1つのトランジスタ614のNMOS実装形態は、保持信号210がアクティブである場合、電圧レベルをプルダウンするための手段を与える。NMOSトランジスタとPMOSトランジスタとを含むNORゲート604の例示的な実装形態は、図7を参照しながら説明される。
[0076]図7は、図5および図6の合成回路504のためのNORゲート604の例示的な実装形態のための4つのデバイスを含む回路700を示す。より詳細には、NORゲート604の図示された例示的な実装形態は、4つのトランジスタ、すなわち、第1のPMOSトランジスタ702と、第2のPMOSトランジスタ704と、第1のNMOSトランジスタ706と、第2のNMOSトランジスタ708とを含む。回路700は、電力ノード710と出力ノード712とをも含む。図7は、保持信号210と、合成制御信号308と、ゲートされたクロック信号508とをも示す。
[0077]1つまたは複数の実施形態では、第1のPMOSトランジスタ702と第2のPMOSトランジスタ704とは、電力ノード710と出力ノード712の間に直列に結合される。第1のNMOSトランジスタ706と第2のNMOSトランジスタ708とは、出力ノード712と接地との間に並列に結合される。電力ノード710はコラプス可能電力レール202に結合され、したがって、回路700はコラプス可能電力レール202によって電力供給される。ゲートされたクロック信号508は、第1のPMOSトランジスタ702および第1のNMOSトランジスタ706のゲート入力に結合される。保持信号210は、第2のPMOSトランジスタ704および第2のNMOSトランジスタ708のゲート入力に結合される。回路700は、合成制御信号308を生成し、出力ノード712において合成制御信号308を与える。
[0078]例示的な動作では、ゲートされたクロック信号508と保持信号210の両方がローであり得る。そうである場合、これらのロー値は、第1のPMOSトランジスタ702と第2のPMOSトランジスタ704の両方をオンにする。これらの2つのロー値はまた、第1のNMOSトランジスタ706と第2のNMOSトランジスタ708とをオフにする。この状況では、出力ノード712は、ハイに駆動されて、コラプス可能電力レール202の電圧にマッチする電圧になる。したがって、ゲートされたクロック信号508と保持信号210の両方が低である場合、合成制御信号308はハイレベルにある。一方、ゲートされたクロック信号508および保持信号210のいずれかまたは両方がハイであり得る。いずれかまたは両方がハイである場合、第1のPMOSトランジスタ702または第2のPMOSトランジスタ704のうちの少なくとも1つはオフにされ、第1のNMOSトランジスタ706または第2のNMOSトランジスタ708のうちの少なくとも1つはオンにされる。第1のNMOSトランジスタ706または第2のNMOSトランジスタ708のうちの少なくとも1つがオンにされた場合、オンにされた少なくとも1つのトランジスタは、ローレベルに合成制御信号308を駆動するために、電力ノード710の電圧レベルをプルダウンする。
[0079]したがって、保持信号210がアクティブであるか、または高レベルにおいてアサートされた場合、合成制御信号308は、ローにクランプされ、図4の第1のインバータ418の入力を介して図3の複数のフリップフロップ206−1〜206−4の各フリップフロップ206にルーティングされ得る。より詳細には、保持信号210が、一定電力レール204によって電力供給された図5の少なくとも1つの保持ツリーデバイス510を使用して分配されるので、保持信号210は、コラプス可能電力レール202がコラプスされた場合でも、ハイレベルのままであり得る。保持信号210のハイ電圧レベルは、第2のPMOSトランジスタ704をオフにするためにそれのゲートに結合され、第2のNMOSトランジスタ708をオンにするためにそれのゲートに結合される。第2のNMOSトランジスタ708がオンにされると、出力ノード712は接地(グランド)電圧レベルに下げられ、これは、合成制御信号308をローレベルにし、したがって、図3および図4の絶縁回路310を、コラプスしているデバイスからスレーブデータ404を絶縁するための正しい状態にする。その上、合成制御信号308が低電圧レベルにおいてこの絶縁制御機能を実行するので、NORゲート604は、電力がコラプスされた場合、出力ノード712がローレベルにドリフトするので、コラプス可能電力レール202によって電力供給され得る。
[0080]また、チップエリア利用およびトレースルーティング輻輳が、フリップフロップの出力値をリセットするコンテキストにおいて低減され得る。リセット可能フリップフロップの内部回路に応じて、アクティブリセット信号は、リセット可能フリップフロップの出力の値が、0または1にリセットにされるようにする。図3のリセット回路312は、各フリップフロップのために複製される代わりに、複数のフリップフロップのために共有され得る。さらに、リセット回路312を共有することは、クランプ可能リセット信号を生成するためにリセット信号212を保持信号210と合成することによって、各フリップフロップにルーティングされるワイヤトレースの数を低減することができる。例示的な態様は、特に図8および図9を参照しながら本明細書で説明される。図8の場合、リセット信号212がアクティブハイ状態にあることまたはアクティブハイ状態に遷移することに応答して、複数のフリップフロップ206−1〜206−4はリセットされる。図9の場合、リセット信号212がアクティブロー状態にあることまたはアクティブロー状態に遷移することに応答して、複数のフリップフロップ206−1〜206−4はリセットされる。
[0081]図8は、アクティブハイリセット信号に応答してリセット可能である複数のフリップフロップ206−1〜206−4のための電力コラプス216を与える環境における例示的なリセット制御構成800を示す。図示のように、リセット制御構成800は、コラプス可能電力レール202と、一定電力レール204と、リセット回路312−1と、インバータ806と、複数のフリップフロップ206−1〜206−4とを含む。リセット制御構成800は、リセット信号212と、保持信号210と、クランプ可能リセット信号802(CRS:clampable reset signal)とをさらに含む。リセット回路312−1は、図示のようにNORゲート804を含む。複数のフリップフロップ206−1〜206−4がリセット可能フリップフロップとして実装されると、フリップフロップ206の出力は、ハイにリセット信号を駆動することによって、0または1の値に強制され得る。したがって、リセット回路312−1は、リセット信号212がハイに駆動された場合、リセットされたフリップフロップを用いて動作する。
[0082]1つまたは複数の実施形態では、リセット回路312−1は、複数のフリップフロップ206−1〜206−4の外部に配設される。リセット回路312−1は、クランプ可能リセット信号802を生成するためにリセット信号212と保持信号210とを合成するように構成される。リセット回路312−1は、入力として、リセット信号212と、インバータ806を介して保持信号210と、を受信する。リセット回路312−1とインバータ806とは、コラプス可能電力レール202に結合される。リセット回路312−1の外部に示されているが、インバータ806は、代替的にリセット回路312−1の一部であり得る。リセット動作では、保持信号210が非アクティブローのままである間、リセット信号212はハイに駆動される。インバータ806のために、NORゲート804への入力の両方がローであり、したがって、リセット回路312−1の出力はハイであり、非保持モードにおける例示的な合成動作のために複数のフリップフロップ206−1〜206−4のリセットを引き起こす。
[0083]例示的な実装形態では、リセット回路312−1は、保持信号210がアクティブである間、クランプ可能リセット信号802が一定値においてクランプされるように、リセット信号212と保持信号210とに基づいてクランプ可能リセット信号802を発生するための手段を与える。リセット制御構成800の場合と同様にアクティブハイリセット信号を用いてリセットされる複数のフリップフロップ206−1〜206−4では、クランプ可能リセット信号802は、電力コラプス216中に0(たとえば、接地)の一定値においてクランプされる。リセット回路312−1は、(明示的に示されていない)各フリップフロップ206のリセット入力になど、複数のフリップフロップ206−1〜206−4の各フリップフロップ206にクランプ可能リセット信号802を与えるようにさらに構成される。例示的な実装形態では、1つまたは複数のバッファを用いてまたは用いずに、複数のフリップフロップ206−1〜206−4にリセット回路312−1を結合する、少なくとも1つの導電線または少なくとも1つの回路トレースは、複数のフリップフロップ206−1〜206−4にクランプ可能リセット信号802を与えるための手段をもたらす。
[0084]保持モードにおけるリセット回路312−1の例示的な合成動作では、リセット信号212と保持信号210とは、NORゲート804の入力に結合される。NORゲート804は、たとえば、図7のNORゲート604と同じように実装され、ゲートされたクロック信号508およびそれの合成制御信号308が、それぞれ、図8のリセット信号212およびクランプ可能リセット信号802によって置き換えられ得る。保持信号210がアクティブハイである場合、NORゲート804の出力におけるクランプ可能リセット信号802は、リセット信号212の状態またはコラプス可能電力レール202の電力レベルにかかわらず、ローにクランプされる。したがって、複数のフリップフロップ206−1〜206−4は、電力コラプス216中に誤ってリセットされるのを防がれ得る。したがって、リセット回路312−1は、複数のフリップフロップ206−1〜206−4の外部にあるアクティブハイリセット信号クランプとして機能し得る。図7を参照しながら上記で同じように説明されたように、NORゲート804において少なくとも1つのNMOSプルダウントランジスタを採用することによって可能にされる、リセット回路312−1のためにコラプス可能電力レール202を使用することによって、リセット回路312−1への一定電力レール204のルーティングは回避され得る。
[0085]図9は、アクティブローリセット信号に応答してリセット可能である複数のフリップフロップ206−1〜206−4のための電力コラプス216を与える環境における例示的なリセット制御構成900を示す。図示のように、リセット制御構成900は、コラプス可能電力レール202と、一定電力レール204と、リセット回路312−2と、複数のフリップフロップ206−1〜206−4とを含む。リセット制御構成900は、リセット信号212と、保持信号210と、クランプ可能リセット信号802(CRS)とをさらに含む。リセット回路312−2は、図示のようにORゲート902を含む。複数のフリップフロップ206−1〜206−4がリセット可能フリップフロップとして実装されると、フリップフロップ206の出力は、ローにリセット信号を駆動することによって、0または1の値に強制され得る。したがって、リセット回路312−2は、リセット信号212がローに駆動された場合、リセットされたフリップフロップを用いて動作する。
[0086]1つまたは複数の実施形態では、リセット回路312−2は、複数のフリップフロップ206−1〜206−4の外部に配設される。リセット回路312−2は、クランプ可能リセット信号802を生成するためにリセット信号212と保持信号210とを合成するように構成される。例示的な実装形態では、リセット回路312−2は、保持信号210がアクティブである間、クランプ可能リセット信号802が一定値においてクランプされるように、リセット信号212と保持信号210とに基づいてクランプ可能リセット信号802を発生するための手段を与える。リセット制御構成900の場合と同様にアクティブローリセット信号を用いてリセットされる複数のフリップフロップ206−1〜206−4では、クランプ可能リセット信号802は、電力コラプス216中に1(たとえば、高電圧)の一定値においてクランプされる。リセット回路312−2は、(明示的に示されていない)各フリップフロップ206のリセット入力になど、複数のフリップフロップ206−1〜206−4の各フリップフロップ206にクランプ可能リセット信号802を与えるようにさらに構成される。例示的な実装形態では、1つまたは複数のバッファを用いてまたは用いずに、複数のフリップフロップ206−1〜206−4にリセット回路312−2を結合する、少なくとも1つの導電線または少なくとも1つの回路トレースは、複数のフリップフロップ206−1〜206−4にクランプ可能リセット信号802を与えるための手段をもたらす。
[0087]リセット回路312−2の例示的な合成動作では、リセット信号212と保持信号210とは、ORゲート902の入力に結合される。ORゲート902は、NORゲートのための回路デバイスと後続のインバータのための回路デバイスとを使用して実装され得る。より詳細には、図7に示されている回路デバイスを参照すると、インバータは、図9のクランプ可能リセット信号802を出力するORゲートを生成するために、ノード712の後に含まれ得る。少なくとも、クランプ可能リセット信号802を出力するインバータは、一定電力レール204に結び付けられる。代替例として、リセット回路312−2は、入力としてリセット信号212と反転保持信号210とを受信するANDゲートが後に続く、保持信号210を受信するインバータを使用して実装され得る。保持信号210がアクティブハイである場合、ORゲート902の出力におけるクランプ可能リセット信号802は、リセット信号212の状態またはコラプス可能電力レール202の電力レベルにかかわらず、ハイにクランプされる。したがって、複数のフリップフロップ206−1〜206−4は、電力コラプス216中に誤ってリセットされるのを防がれ得る。したがって、リセット回路312−2は、複数のフリップフロップ206−1〜206−4の外部にあるアクティブローリセット信号クランプとして機能し得る。少なくともそれの出力インバータに電力供給するためになど、リセット回路312−2の少なくとも一部のために一定電力レール204を使用することによって、クランプ可能リセット信号802は、電力コラプス216中にハイ電圧値においてクランプされ得る。
[0088]図10は、フリップフロップを用いた電力管理のための例示的なプロセス1000を示す流れ図である。プロセス1000は、実行され得る動作を指定するブロック1002〜ブロック1008のセットの形態で説明される。ただし、動作が、代替の順序において、あるいは、完全にまたは部分的に重複する様式で実装され得るので、動作は、図10に示されているまたは本明細書で説明される順序に必ずしも限定されない。プロセス1000の図示されたブロックによって表される動作は、図1のIC110など、集積回路によって実行され得る。より詳細には、プロセス1000の動作は、図2のIC部分200の一部である図3の保持制御構成300によって実行され得る。
[0089]ブロック1002において、集積回路は、コラプス可能電力レールを用いて複数のフリップフロップの各マスタ部分に電力供給する。たとえば、IC部分200または関連するPMICは、コラプス可能電力レール202を用いて複数のフリップフロップ206−1〜206−4の各マスタ部分302に電力供給し得る。
[0090]ブロック1004において、集積回路は、一定電力レールを用いて複数のフリップフロップの各スレーブ部分に電力供給する。たとえば、IC部分200または関連するPMICは、一定電力レール204を用いて複数のフリップフロップ206−1〜206−4の各スレーブ部分304に電力供給し得る。
[0091]ブロック1006において、集積回路は、合成制御信号を生成するためにクロック信号と保持信号とを合成する。たとえば、電力管理回路306は、合成制御信号308を生成するためにクロック信号208と保持信号210とを合成し得る。
[0092]ブロック1006の合成動作の例示的な実装形態では、集積回路はさらに、保持信号のアクティブ状態に応答して、各対応するマスタ部分が電力コラプスを受ける場合、複数のフリップフロップの各スレーブ部分のスレーブデータの変更を防ぐ値において合成制御信号をクランプする。たとえば、保持信号210のアクティブ状態に応答して、電力管理回路306は、各対応するマスタ部分302が電力コラプス216を受ける場合、0など、複数のフリップフロップ206−1〜206−4の各スレーブ部分304のスレーブデータ404の変更を防ぐ値において合成制御信号308をクランプし得る。プロセス1000の別の例示的な実装形態では、集積回路はさらに、コラプス可能電力レールを用いてブロック1006の合成動作を実行する回路に電力供給する。たとえば、電力管理回路306は、コラプス可能電力レール202によって電力供給され得る。
[0093]ブロック1006の合成動作の別の例示的な実装形態では、クロック信号はゲートされたクロック信号を備え、集積回路はさらに、合成制御信号を生成するために、ゲートされたクロック信号と保持信号とを合成する。たとえば、クロック信号208はゲートされたクロック信号508を備え得、電力管理回路306は、合成制御信号308を生成するために、ゲートされたクロック信号508と保持信号210とを合成し得る。
[0094]ブロック1008において、集積回路は、コラプス可能電力レールの電力コラプス中に、複数のフリップフロップの各スレーブ部分のスレーブデータを保持するために、複数のフリップフロップに合成制御信号を与える。たとえば、電力管理回路306は、コラプス可能電力レール202の電力コラプス216中に複数のフリップフロップ206−1〜206−4の各スレーブ部分304のスレーブデータ404を保持するために、複数のフリップフロップ206−1〜206−4に合成制御信号308を与え得る。
[0095]ブロック1008の与える動作の例示的な実装形態では、集積回路はさらに、合成制御信号の状態に応答して、電力コラプス中に、各対応するマスタ部分から複数のフリップフロップの各スレーブ部分を絶縁する。たとえば、絶縁回路310は、合成制御信号308の電圧値に応答して、電力コラプス216中に、各対応するマスタ部分302から複数のフリップフロップ206−1〜206−4の各スレーブ部分304を絶縁し得る。
[0096]プロセス1000の例示的な実装形態では、集積回路はさらに、クランプ可能リセット信号を生成するためにリセット信号と保持信号とを合成し、電力コラプス中に複数のフリップフロップのリセットを防ぐために、複数のフリップフロップにクランプ可能リセット信号を与える。たとえば、リセット回路312は、クランプ可能リセット信号802を生成するためにリセット信号212と保持信号210とを合成し得る。リセット回路はまた、電力コラプス216中に複数のフリップフロップ206−1〜206−4のリセットを防ぐために、複数のフリップフロップ206−1〜206−4にクランプ可能リセット信号802を与え得る。
[0097]コンテキストが別段に規定しない限り、単語「または」の本明細書での使用は、「包含的なまたは」あるいは単語「または」によってリンクされた1つまたは複数の項目の包含または適用を可能にする用語の使用と見なされ得る(たとえば、「AまたはB」という句は、単に「A」を可能にすることとして、単に「B」を可能にすることとして、または「A」と「B」の両方を可能にすることとして解釈され得る。)主題が構造的特徴または方法論的動作に固有の言語で説明されたが、添付の特許請求の範囲において定義される主題は、特徴が構成される編成または動作が実行される順序に必ずしも限定されないことを含めて、必ずしも上記で説明された特定の特徴または動作に限定されるとは限らないことを理解されたい。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]一定電力レールと、
コラプス可能電力レールと、
複数のフリップフロップと、前記複数のフリップフロップの各フリップフロップは、
前記コラプス可能電力レールに結合されたマスタ部分と、
前記一定電力レールに結合されたスレーブ部分と、を含み、
合成制御信号になるようにクロック信号と保持信号とを合成することと、前記複数のフリップフロップの各フリップフロップに前記合成制御信号を与えることと、を行うように構成された電力管理回路と、
を備える集積回路。
[C2]前記電力管理回路は、前記保持信号のアクティブ状態に応答して、一定値において前記合成制御信号をクランプするようにさらに構成された、C1に記載の集積回路。
[C3]前記電力管理回路は、前記コラプス可能電力レールがコラプスされている間、各フリップフロップの前記マスタ部分から前記スレーブ部分を絶縁するために、前記複数のフリップフロップの各フリップフロップに前記合成制御信号を与えるようにさらに構成された、C2に記載の集積回路。
[C4]前記複数のフリップフロップの各フリップフロップは前記合成制御信号に応答して、前記スレーブ部分から前記マスタ部分を絶縁し、前記スレーブ部分の出力において前記スレーブ部分によって記憶されたスレーブデータを保持するように構成された、C1に記載の集積回路。
[C5]前記複数のフリップフロップの各フリップフロップの前記マスタ部分は、前記コラプス可能電力レールがコラプスされた場合、前記マスタ部分のマスタデータを放棄するように構成され、
前記複数のフリップフロップの各フリップフロップの前記スレーブ部分は、前記コラプス可能電力レールがコラプスされた場合、前記スレーブ部分のスレーブデータを保持するように構成された、C1に記載の集積回路。
[C6]入力と出力とを有する第1のインバータと、前記第1のインバータの前記入力は、前記電力管理回路から前記合成制御信号を受信するように構成され、前記第1のインバータの前記出力は、相補内部合成制御信号を生成するように構成され、
入力と出力とを有する第2のインバータと、前記第2のインバータの前記入力は、前記相補内部合成制御信号を受信するように構成され、前記第2のインバータの前記出力は、内部合成制御信号を生成するように構成され、
をさらに備える、C1に記載の集積回路。
[C7]前記第1のインバータは前記一定電力レールに結合され、
前記第2のインバータは前記コラプス可能電力レールに結合され、
前記複数のフリップフロップの各フリップフロップの前記スレーブ部分は、前記相補内部合成制御信号と前記内部合成制御信号とを受信するように構成されたパスゲートを含み、前記パスゲートは、前記合成制御信号が前記電力管理回路によってローに駆動される場合、開かれるように構成された、C6に記載の集積回路。
[C8]前記電力管理回路は、前記合成制御信号を生成するために前記クロック信号と前記保持信号とを合成するように構成された合成回路を含む、C1に記載の集積回路。
[C9]前記合成回路はNORゲートを備える、C8に記載の集積回路。
[C10]前記合成回路は前記コラプス可能電力レールに結合された、C8に記載の集積回路。
[C11]前記電力管理回路は、クロックイネーブル信号の状態に基づいて電力消費を低減するために前記クロック信号をゲートするように構成されたクロックゲーティング回路を含む、C1に記載の集積回路。
[C12]前記複数のフリップフロップの外部に配設されたリセット回路をさらに備え、前記リセット回路は、前記保持信号がアクティブである場合、ローにクランプされるクランプ可能リセット信号を生成するためにリセット信号と前記保持信号とを合成するように構成され、前記リセット回路は、前記複数のフリップフロップの各フリップフロップに前記クランプ可能リセット信号を与えるようにさらに構成された、C1に記載の集積回路。
[C13]前記複数のフリップフロップの外部に配設されたリセット回路をさらに備え、前記リセット回路は、前記保持信号がアクティブである場合、ハイにクランプされるクランプ可能リセット信号を生成するためにリセット信号と前記保持信号とを合成するように構成され、前記リセット回路は、前記複数のフリップフロップの各フリップフロップに前記クランプ可能リセット信号を与えるようにさらに構成された、C1に記載の集積回路。
[C14]一定電力レールと、
コラプス可能電力レールと、前記コラプス可能電力レールは、前記コラプス可能電力レールがコラプスされている間、電力から分離されるように構成され、
複数のフリップフロップと、前記複数のフリップフロップの各フリップフロップは、
前記コラプス可能電力レールに結合されたマスタ部分と、
スレーブデータを記憶するように構成され、前記一定電力レールに結合されたスレーブ部分と、を含み、
クロック信号と保持信号とに基づいて合成制御信号を生成するための手段と、前記合成制御信号は、前記保持信号がアクティブである間、一定値においてクランプされ、および前記保持信号がアクティブでない間、前記クロック信号の周期を有する周期性があるように生成され、
前記複数のフリップフロップの各フリップフロップに前記合成制御信号を分配するように構成された回路と、
を備える集積回路。
[C15]前記合成制御信号は、前記保持信号がアクティブである場合、各フリップフロップの前記スレーブ部分に、前記スレーブデータを保持させるように構成された、C14に記載の集積回路。
[C16]前記合成制御信号を生成するための前記手段は、前記コラプス可能電力レールに結合された、
C14に記載の集積回路。
[C17]前記複数のフリップフロップの各フリップフロップの前記スレーブ部分は、各フリップフロップの前記マスタ部分から前記スレーブ部分を絶縁するための手段を含む、C14に記載の集積回路。
[C18]絶縁するための前記手段は、前記スレーブ部分に前記マスタ部分からのマスタデータを受け渡すための手段を備え、
マスタデータを受け渡すための前記手段は、前記合成制御信号に基づいて制御されるように構成された、C17に記載の集積回路。
[C19]前記合成制御信号を生成するための前記手段は、前記保持信号がアクティブである場合、前記合成制御信号を接地にプルするように構成された、C14に記載の集積回路。
[C20]前記保持信号は、前記一定電力レールに結合された回路によって分配される、C19に記載の集積回路。
[C21]リセット信号と前記保持信号とに基づいて、クランプ可能リセット信号を生成するための手段と、前記クランプ可能リセット信号は、前記保持信号がアクティブである間、一定値においてクランプされるように生成され、
をさらに備える、C14に記載の集積回路。
[C22]フリップフロップの電力管理のための方法であって、
コラプス可能電力レールを用いて複数のフリップフロップの各マスタ部分に電力供給することと、
一定電力レールを用いて前記複数のフリップフロップの各スレーブ部分に電力供給することと、
合成制御信号を生成するためにクロック信号と保持信号とを合成することと、
前記コラプス可能電力レールの電力コラプス中に、前記複数のフリップフロップの各スレーブ部分のスレーブデータを保持するために、前記複数のフリップフロップに前記合成制御信号を与えることと、
を備える、方法。
[C23]前記合成することは、前記保持信号に応答して、各対応するマスタ部分が電力コラプスを受ける場合、前記複数のフリップフロップの各スレーブ部分の前記スレーブデータの変更を防ぐ値において前記合成制御信号をクランプすることを備える、C22に記載の方法。
[C24]前記クロック信号は、ゲートされたクロック信号を備え、
前記合成することは、前記合成制御信号を生成するために、前記ゲートされたクロック信号と前記保持信号とを合成することを備える、C22に記載の方法。
[C25]前記コラプス可能電力レールを用いて、前記合成することを実行する回路に電力供給すること、をさらに備える、C22に記載の方法。
[C26]前記与えることは、前記合成制御信号に応答して、前記電力コラプス中に、各対応するマスタ部分から前記複数のフリップフロップの各スレーブ部分を絶縁することを備える、C22に記載の方法。
[C27]クランプ可能リセット信号を生成するために、リセット信号と前記保持信号とを合成することと、
前記電力コラプス中に、前記複数のフリップフロップのリセットを防ぐために、前記複数のフリップフロップに前記クランプ可能リセット信号を与えることと、
をさらに備える、C22に記載の方法。
[C28]マスタ部分とスレーブ部分とを含む第1のフリップフロップと、前記マスタ部分は、電力コラプスを受けるように構成され、前記スレーブ部分は、前記電力コラプス中にスレーブデータを保持するように構成され、
マスタ部分とスレーブ部分とを含む第2のフリップフロップと、前記マスタ部分は、前記電力コラプスを受けるように構成され、前記スレーブ部分は、前記電力コラプス中にスレーブデータを保持するように構成された、
クロック信号と保持信号とに基づいて合成制御信号を生成し、前記第1のフリップフロップと前記第2のフリップフロップとに前記合成制御信号を与えるように構成された電力管理回路と、前記合成制御信号は、前記第1のフリップフロップの前記スレーブ部分と前記第2のフリップフロップの前記スレーブ部分とに、前記電力コラプス中に前記スレーブデータを保持させるように構成された値を有する、
を備える集積回路。
[C29]前記電力管理回路は、前記電力コラプスを受け、前記電力コラプス中に前記合成制御信号を生成するようにさらに構成された、C28に記載の集積回路。
[C30]前記第1のフリップフロップは、前記合成制御信号に応答して、前記電力コラプス中に、前記第1のフリップフロップの前記スレーブ部分から前記第1のフリップフロップの前記マスタ部分を絶縁するように構成された絶縁回路を含み、
前記第2のフリップフロップは、前記合成制御信号に応答して、前記電力コラプス中に、前記第2のフリップフロップの前記スレーブ部分から前記第2のフリップフロップの前記マスタ部分を絶縁するように構成された絶縁回路を含む、
C28に記載の集積回路。

Claims (29)

  1. 一定電力レールと、
    コラプス可能電力レールと、
    複数のフリップフロップと、前記複数のフリップフロップの各フリップフロップは、
    前記コラプス可能電力レールに結合されたマスタ部分と、
    前記一定電力レールに結合されたスレーブ部分と、
    を含み、
    合成制御信号になるようにクロック信号と保持信号とを合成することと、
    前記コラプス可能電力レールがコラプスされている間、各フリップフロップの前記マスタ部分から前記スレーブ部分を絶縁するために、前記複数のフリップフロップの各フリップフロップに前記合成制御信号を与えることと、
    を行うように構成された電力管理回路と、
    を備え、
    前記複数のフリップフロップの各フリップフロップは、前記コラプス可能電力レールがコラプスされている間、前記合成制御信号に応答して、前記スレーブ部分の出力においてスレーブデータを維持するためのフィードバックループを形成するように構成される、集積回路。
  2. 前記電力管理回路は、前記保持信号のアクティブ状態に応答して、一定値において前記合成制御信号をクランプするようにさらに構成された、請求項1に記載の集積回路。
  3. 前記複数のフリップフロップの各フリップフロップは前記合成制御信号に応答して、前記スレーブ部分から前記マスタ部分を絶縁し、前記スレーブ部分の出力において前記スレーブ部分によって記憶されたスレーブデータを保持するように構成された、請求項1に記載の集積回路。
  4. 前記複数のフリップフロップの各フリップフロップの前記マスタ部分は、前記コラプス可能電力レールがコラプスされた場合、前記マスタ部分のマスタデータを放棄するように構成され、
    前記複数のフリップフロップの各フリップフロップの前記スレーブ部分は、前記コラプス可能電力レールがコラプスされた場合、前記スレーブ部分のスレーブデータを保持するように構成された、請求項1に記載の集積回路。
  5. 入力と出力とを有する第1のインバータと、前記第1のインバータの前記入力は、前記電力管理回路から前記合成制御信号を受信するように構成され、前記第1のインバータの前記出力は、相補内部合成制御信号を生成するように構成され、
    入力と出力とを有する第2のインバータと、前記第2のインバータの前記入力は、前記相補内部合成制御信号を受信するように構成され、前記第2のインバータの前記出力は、内部合成制御信号を生成するように構成され、
    をさらに備える、請求項1に記載の集積回路。
  6. 前記第1のインバータは前記一定電力レールに結合され、
    前記第2のインバータは前記コラプス可能電力レールに結合され、
    前記複数のフリップフロップの各フリップフロップの前記スレーブ部分は、前記相補内部合成制御信号と前記内部合成制御信号とを受信するように構成されたパスゲートを含み、前記パスゲートは、前記合成制御信号が前記電力管理回路によってローに駆動される場合、開かれるように構成された、請求項5に記載の集積回路。
  7. 前記電力管理回路は、前記合成制御信号を生成するために前記クロック信号と前記保持信号とを合成するように構成された合成回路を含む、請求項1に記載の集積回路。
  8. 前記合成回路はNORゲートを備える、請求項7に記載の集積回路。
  9. 前記合成回路は前記コラプス可能電力レールに結合された、請求項7に記載の集積回路。
  10. 前記電力管理回路は、クロックイネーブル信号の状態に基づいて電力消費を低減するために前記クロック信号をゲートするように構成されたクロックゲーティング回路を含む、請求項1に記載の集積回路。
  11. 前記複数のフリップフロップの外部に配設されたリセット回路をさらに備え、前記リセット回路は、前記保持信号がアクティブである場合、ローにクランプされるクランプ可能リセット信号を生成するためにリセット信号と前記保持信号とを合成するように構成され、前記リセット回路は、前記複数のフリップフロップの各フリップフロップに前記クランプ可能リセット信号を与えるようにさらに構成された、請求項1に記載の集積回路。
  12. 前記複数のフリップフロップの外部に配設されたリセット回路をさらに備え、前記リセット回路は、前記保持信号がアクティブである場合、ハイにクランプされるクランプ可能リセット信号を生成するためにリセット信号と前記保持信号とを合成するように構成され、前記リセット回路は、前記複数のフリップフロップの各フリップフロップに前記クランプ可能リセット信号を与えるようにさらに構成された、請求項1に記載の集積回路。
  13. 一定電力レールと、
    コラプス可能電力レールと、前記コラプス可能電力レールは、前記コラプス可能電力レールがコラプスされている間、電力から分離されるように構成され、
    複数のフリップフロップと、前記複数のフリップフロップの各フリップフロップは、
    前記コラプス可能電力レールに結合されたマスタ部分と、
    スレーブデータを記憶するように構成され、前記一定電力レールに結合されたスレーブ部分と、
    を含み、
    クロック信号と保持信号とに基づいて合成制御信号を生成するための手段と、前記合成制御信号は、前記保持信号がアクティブである間、一定値においてクランプされ、および前記保持信号がアクティブでない間、前記クロック信号の周期を有する周期性があるように生成され、
    前記コラプス可能電力レールがコラプスされている間、各フリップフロップの前記マスタ部分から前記スレーブ部分を絶縁するために、前記複数のフリップフロップの各フリップフロップに前記合成制御信号を分配するように構成された回路と、
    を備え、
    前記複数のフリップフロップの各フリップフロップは、前記コラプス可能電力レールがコラプスされている間、前記合成制御信号に応答して、前記スレーブ部分の出力において前記スレーブデータを維持するためのフィードバックループを形成するように構成される、集積回路。
  14. 前記合成制御信号は、前記保持信号がアクティブである場合、各フリップフロップの前記スレーブ部分に、前記スレーブデータを保持させるように構成された、請求項13に記載の集積回路。
  15. 前記合成制御信号を生成するための前記手段は、前記コラプス可能電力レールに結合された、請求項13に記載の集積回路。
  16. 前記複数のフリップフロップの各フリップフロップの前記スレーブ部分は、各フリップフロップの前記マスタ部分から前記スレーブ部分を絶縁するための手段を含む、請求項13に記載の集積回路。
  17. 絶縁するための前記手段は、前記スレーブ部分に前記マスタ部分からのマスタデータを受け渡すための手段を備え、
    マスタデータを受け渡すための前記手段は、前記合成制御信号に基づいて制御されるように構成された、請求項16に記載の集積回路。
  18. 前記合成制御信号を生成するための前記手段は、前記保持信号がアクティブである場合、前記合成制御信号を接地にプルするように構成された、請求項13に記載の集積回路。
  19. 前記保持信号は、前記一定電力レールに結合された回路によって分配される、請求項18に記載の集積回路。
  20. リセット信号と前記保持信号とに基づいて、クランプ可能リセット信号を生成するための手段と、前記クランプ可能リセット信号は、前記保持信号がアクティブである間、一定値においてクランプされるように生成され、
    をさらに備える、請求項13に記載の集積回路。
  21. フリップフロップの電力管理のための方法であって、
    コラプス可能電力レールを用いて複数のフリップフロップの各マスタ部分に電力供給することと、
    一定電力レールを用いて前記複数のフリップフロップの各スレーブ部分に電力供給することと、
    合成制御信号を生成するためにクロック信号と保持信号とを合成することと、
    前記コラプス可能電力レールの電力コラプス中に、前記複数のフリップフロップの各スレーブ部分のスレーブデータを保持するために、および前記コラプス可能電力レールがコラプスされている間、前記複数のフリップフロップの各マスタ部分から各スレーブ部分を絶縁するために、前記複数のフリップフロップに前記合成制御信号を与えることと、
    を備え、
    前記複数のフリップフロップの各フリップフロップは、前記コラプス可能電力レールがコラプスされている間、前記合成制御信号に応答して、前記スレーブ部分の出力において前記スレーブデータを維持するためのフィードバックループを形成するように構成される、方法。
  22. 前記合成することは、前記保持信号に応答して、各対応するマスタ部分が電力コラプスを受ける場合、前記複数のフリップフロップの各スレーブ部分の前記スレーブデータの変更を防ぐ値において前記合成制御信号をクランプすることを備える、請求項21に記載の方法。
  23. 前記クロック信号は、ゲートされたクロック信号を備え、
    前記合成することは、前記合成制御信号を生成するために、前記ゲートされたクロック信号と前記保持信号とを合成することを備える、請求項21に記載の方法。
  24. 前記コラプス可能電力レールを用いて、前記合成することを実行する回路に電力供給すること、をさらに備える、請求項21に記載の方法。
  25. 前記与えることは、前記合成制御信号に応答して、前記電力コラプス中に、各対応するマスタ部分から前記複数のフリップフロップの各スレーブ部分を絶縁することを備える、請求項21に記載の方法。
  26. クランプ可能リセット信号を生成するために、リセット信号と前記保持信号とを合成することと、
    前記電力コラプス中に、前記複数のフリップフロップのリセットを防ぐために、前記複数のフリップフロップに前記クランプ可能リセット信号を与えることと、
    をさらに備える、請求項21に記載の方法。
  27. マスタ部分とスレーブ部分とを含む第1のフリップフロップと、前記マスタ部分は、電力コラプスを受けるように構成され、前記スレーブ部分は、前記電力コラプス中にスレーブデータを保持するように構成され、
    マスタ部分とスレーブ部分とを含む第2のフリップフロップと、前記マスタ部分は、前記電力コラプスを受けるように構成され、前記スレーブ部分は、前記電力コラプス中にスレーブデータを保持するように構成された、
    クロック信号と保持信号とに基づいて合成制御信号を生成し、前記第1のフリップフロップと前記第2のフリップフロップとに前記合成制御信号を与えるように構成された電力管理回路と、前記合成制御信号は、前記第1のフリップフロップの前記スレーブ部分と前記第2のフリップフロップの前記スレーブ部分とに、前記第1のフリップフロップと前記第2のフリップフロップとの各々の前記マスタ部分から前記スレーブ部分を絶縁させ、前記電力コラプス中に前記スレーブデータを保持させるように構成された値を有する、
    を備え、
    前記第1及び第2のフリップフロップは、前記電力コラプス中、前記合成制御信号に応答して、前記スレーブ部分の出力において前記スレーブデータを維持するためのフィードバックループを形成するように構成される、集積回路。
  28. 前記電力管理回路は、前記電力コラプスを受け、前記電力コラプス中に前記合成制御信号を生成するようにさらに構成された、請求項27に記載の集積回路。
  29. 前記第1のフリップフロップは、前記合成制御信号に応答して、前記電力コラプス中に、前記第1のフリップフロップの前記スレーブ部分から前記第1のフリップフロップの前記マスタ部分を絶縁するように構成された絶縁回路を含み、
    前記第2のフリップフロップは、前記合成制御信号に応答して、前記電力コラプス中に、前記第2のフリップフロップの前記スレーブ部分から前記第2のフリップフロップの前記マスタ部分を絶縁するように構成された絶縁回路を含む、
    請求項27に記載の集積回路。
JP2018515258A 2015-09-24 2016-08-12 フリップフロップを用いた電力管理 Expired - Fee Related JP6487115B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/864,101 2015-09-24
US14/864,101 US9473113B1 (en) 2015-09-24 2015-09-24 Power management with flip-flops
PCT/US2016/046909 WO2017052838A1 (en) 2015-09-24 2016-08-12 Power management with flip-flops

Publications (2)

Publication Number Publication Date
JP2018528710A JP2018528710A (ja) 2018-09-27
JP6487115B2 true JP6487115B2 (ja) 2019-03-20

Family

ID=56889200

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018515258A Expired - Fee Related JP6487115B2 (ja) 2015-09-24 2016-08-12 フリップフロップを用いた電力管理

Country Status (7)

Country Link
US (1) US9473113B1 (ja)
EP (1) EP3353891B1 (ja)
JP (1) JP6487115B2 (ja)
KR (1) KR101929193B1 (ja)
CN (1) CN108141205B (ja)
BR (1) BR112018005984A2 (ja)
WO (1) WO2017052838A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10404240B2 (en) 2016-01-28 2019-09-03 Samsung Electronics Co., Ltd. Semiconductor device comprising low power retention flip-flop
US10608615B2 (en) * 2016-01-28 2020-03-31 Samsung Electronics Co., Ltd. Semiconductor device including retention reset flip-flop
US10430302B2 (en) 2017-04-12 2019-10-01 Qualcomm Incorporated Data retention with data migration
US10262723B2 (en) * 2017-05-25 2019-04-16 Samsung Electronics Co., Ltd. System and method for improving scan hold-time violation and low voltage operation in sequential circuit
US10852807B2 (en) 2018-02-01 2020-12-01 Microsoft Technology Licensing, Llc Hybrid powering off of storage component memory cells
DE102019106109A1 (de) 2018-04-03 2019-10-10 Taiwan Semiconductor Manufacturing Company, Ltd. Datenspeicherschaltung und -verfahren
US11012057B2 (en) * 2018-04-03 2021-05-18 Taiwan Semiconductor Manufacturing Company, Ltd. Data retention circuit and method
US10516383B1 (en) * 2018-08-24 2019-12-24 Groq, Inc. Reducing power consumption in a processor circuit

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10343565B3 (de) * 2003-09-19 2005-03-10 Infineon Technologies Ag Master-Latchschaltung mit Signalpegelverschiebung für ein dynamisches Flip-Flop
US7227383B2 (en) 2004-02-19 2007-06-05 Mosaid Delaware, Inc. Low leakage and data retention circuitry
US7180348B2 (en) * 2005-03-24 2007-02-20 Arm Limited Circuit and method for storing data in operational and sleep modes
US20070085585A1 (en) * 2005-10-13 2007-04-19 Arm Limited Data retention in operational and sleep modes
US7548103B2 (en) 2006-10-26 2009-06-16 Freescale Semiconductor, Inc. Storage device having low power mode and methods thereof
JP2009302903A (ja) 2008-06-13 2009-12-24 Toshiba Corp 半導体集積回路
JP2010282411A (ja) * 2009-06-04 2010-12-16 Renesas Electronics Corp 半導体集積回路、半導体集積回路の内部状態退避回復方法
US8381163B2 (en) * 2010-11-22 2013-02-19 Advanced Micro Devices, Inc. Power-gated retention flops
US8390328B2 (en) * 2011-05-13 2013-03-05 Arm Limited Supplying a clock signal and a gated clock signal to synchronous elements
US8928383B2 (en) * 2013-03-15 2015-01-06 Analog Devices, Inc. Integrated delayed clock for high speed isolated SPI communication
JP6246903B2 (ja) * 2013-05-08 2017-12-13 クゥアルコム・インコーポレイテッドQualcomm Incorporated 動的な電力を減らすためのフリップフロップ
US8841952B1 (en) 2013-05-27 2014-09-23 Freescale Semiconductor, Inc. Data retention flip-flop

Also Published As

Publication number Publication date
CN108141205B (zh) 2020-05-12
KR101929193B1 (ko) 2018-12-14
EP3353891A1 (en) 2018-08-01
BR112018005984A2 (pt) 2018-10-09
CN108141205A (zh) 2018-06-08
JP2018528710A (ja) 2018-09-27
KR20180049142A (ko) 2018-05-10
EP3353891B1 (en) 2021-04-07
US9473113B1 (en) 2016-10-18
WO2017052838A1 (en) 2017-03-30

Similar Documents

Publication Publication Date Title
JP6487115B2 (ja) フリップフロップを用いた電力管理
EP3459176B1 (en) Unified retention flip-flop architecture and control
US9673787B2 (en) Power multiplexing with flip-flops
EP3479450B1 (en) Adaptive power multiplexing for a power distribution network
TWI578701B (zh) 節電電源閘電路及系統
KR20150143603A (ko) 감소된 리텐션 전압을 갖는 플립-플롭
KR20160021259A (ko) 저항성 메모리를 사용하는 기억을 갖는 메모리 셀
WO2016036446A1 (en) Supply voltage node coupling using a switch
US20220302943A1 (en) Low power high sensitivity sense amplifier latch with complimentary outputs in reset mode
US10996709B2 (en) Low power clock gate circuit
US11398814B2 (en) Low-power single-edge triggered flip-flop, and time borrowing internally stitched flip-flop
US9450584B2 (en) Semiconductor device
US9348770B1 (en) Non-volatile semiconductor memory device with temporary data retention cells and control method thereof
CN107404305B (zh) 半导体电路
EP3843268A1 (en) High performance fast mux-d scan flip-flop
US11908947B2 (en) Semiconductor device
KR20090033969A (ko) 통신시스템에서 전류소모를 감소시키기 위한 장치 및 방법
JP2022548483A (ja) 低オーバーヘッド広帯域幅再構成可能な相互接続装置及び方法
JP2006013816A (ja) フリップフロップ回路及び半導体装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180416

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180416

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20180416

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20180814

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180821

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181025

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190220

R150 Certificate of patent or registration of utility model

Ref document number: 6487115

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees