(57)【要約】【課題】初期化用の特別の外部経路の設置や初期化用の信号生成を不要にする。【解決手段】データ非保持フリップフロップ１０Ａ１（第２のフリップフロップ）を、スリープ信号ＳＬＰが“Ｈ”のとき（動作モード時）、クロック信号ＣＫに同期して、前段の組合せ論理回路が出力したデータの保持および後段の組合せ論理回路へのデータの転送を行い、スリープ信号ＳＬＰが“Ｌ”のとき（スリープモード時）、電源が遮断されるよう構成する。さらに、スリープ信号ＳＬＰが“Ｈ”から“Ｌ”に切り替わるときに、トランジスタＭ３２を一時的にオンさせて、スレーブラッチ（ＩＮＶ１４，ＩＮＶ１５）に“Ｌ”パルスを与える。【選択図】図２
2009027701.tif 000002
【特許請求の範囲】
【請求項１】
動作モード時に入力データの論理演算を行いスリープモード時に電源供給が遮断される組合せ論理回路と、データの保持と転送を行うフリップフロップとが交互に接続され、
該フリップフロップの内の少なくとも１つは、前記動作モード時に前段の組合せ論理回路が出力したデータの保持および後段の組合せ論理回路又は別の回路へのデータの転送を行い、前記スリープモード時に前段の組合せ論理回路が出力したデータの保持を行う第１のフリップフロップからなり、
残りのフリップフロップは、前記動作モード時に前段の組合せ論理回路が出力したデータの保持および後段の組合せ論理回路又は別の回路へのデータの転送を行い、前記スリープモード時に電源供給が遮断される第２のフリップフロップからなり、
前記第２のフリップフロップは、前記スリープモードから前記動作モードに切り替わるときにデータ保持状態の初期化を行う初期化手段を内部に備えたことを特徴とする半導体集積回路。
【請求項２】
前記組合せ論理回路および前記第２のフリップフロップは、そこへの電源供給が、前記動作モード時にオンとなり前記スリープモード時にオフとなるスイッチ手段を介して行われ、
前記初期化手段は、前記スリープモードから前記動作モードへの切り替わりを検知して、前記第２のフリップフロップのデータ保持状態の初期化を行うことを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
前記スイッチ手段は制御信号が入力される端子を有し、前記スリープモードから前記動作モードへの切り替わりのとき、該制御信号が変化することによってオフからオンに切り替わるものであり、
前記初期化手段は、前記制御信号の変化を検出して前記第２のフリップフロップのデータ保持状態の初期化を行うことを特徴とする請求項２に記載の半導体集積回路。
【請求項４】
前記第１のフリップフロップは、前記制御信号が入力される端子と保持信号が入力される端子とを有し、該制御信号が変化した後に該保持信号が変化することによって、前記スリープモードから動作モードに切り替わるものであり、
前記初期化手段は、前記制御信号の変化を検知して前記第２のフリップフロップの初期化を開始し、前記保持信号の変化を検知して前記第２のフリップフロップの初期化を終了するものであることを特徴とする請求項３に記載の半導体集積回路。
【請求項５】
前記初期化手段は、前記スリープモードから前記動作モードへの変化から、所定の時間が経過するまでの期間、前記データ保持状態の初期化を行うことを特徴とする請求項２または３に記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、組合せ論理回路とフリップフロップとが交互に接続された半導体集積回路に関するものである。
【背景技術】
【０００２】
組合せ論理回路とフリップフロップとが交互に接続される構成の半導体集積回路では、前段の組合せ論理回路で処理されたデータがクロック信号に同期してフリップフロップに取り込まれ、後段の組合せ論理回路に転送される。そして、ＭＴＣＭＯＳ技術等を採用した低消費電力設計に基づいた半導体集積回路では、組合せ論理回路およびフリップフロップが動作モード／スリープモードに切り替え可能に構成され、スリープモード時には主要回路への電源供給が遮断される。ラッチ回路にこの技術を適用したものとして、例えば、特許文献１がある。
【０００３】
図５は上記半導体集積回路の構成を示す図であり、１０Ａはデータ非保持フリップフロップ、１０Ｂはデータ保持フリップフロップ、２０は組合せ論理回路である。組合せ論理回路２０とデータ非保持フリップフロップ１０Ａでは、スリープモード時に、スリープ信号ＳＬＰが“Ｌ”になり、全回路への電源供給が遮断される。データ保持フリップフロップ１０Ｂでは、スリープモード時に、データ保持信号ＤＲが“Ｌ”になってデータ保持が行われた後にスリープ信号ＳＬＰが“Ｌ”になり、データ保持部分を除く他の部分への電源供給が遮断される（例えば、特許文献２参照）。
【０００４】
このような回路では、スリープモードから動作モードに復帰する際に、データ保持フリップフロップ１０Ｂを初期化することなくデータ非保持フリップフロップ１０Ａを初期化することが必要となる。これは、データ非保持フリップフロップ１０Ａが復帰時に不定データを出力することを防止するため、およびデータ保持フリップフロップ１０Ｂがスリープモード前のデータ値を復帰時に出力するためである。
【０００５】
このデータ非保持フリップフロップ１０Ａの初期化は、図６に示すように、データ非保持フリップフロップ１０Ａのシステムリセット信号の経路に、特別に初期化用のアンド回路ＡＮＤ１を挿入して、システムリセット信号が“Ｌ”になったとき以外に、初期化信号が“Ｌ”になったときも、データ非保持フリップフロップ１０Ａがリセットされるようにしている。
【特許文献１】特開平１１−１１２２９７号公報
【特許文献２】ＵＳ２００５／０１８４７５８
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記手法を採用するには、半導体集積回路の設計段階において、データ非保持フリップフロップ１０Ａとデータ保持フリップフロップ１０Ｂを明確にして、両フリップフロップ１０Ａ，１０Ｂのシステムリセット経路を区別し、データ非保持フリップフロップ１０Ａにのみ、初期化用のアンド回路ＡＮＤ１を挿入する必要がある。さらに、スリープ信号ＳＬＰと関連させて、特別に初期化信号を生成させ、外部から入力させる必要がある。
【０００７】
本発明の目的は、データ非保持フリップフロップ内に初期化手段を備えることにより、初期化用の特別の外部経路の設置や初期化用の信号生成を不要にした半導体集積回路を提供することである。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、請求項１にかかる発明の半導体集積回路は、動作モード時に入力データの論理演算を行いスリープモード時に電源供給が遮断される組合せ論理回路と、データの保持と転送を行うフリップフロップとが交互に接続され、該フリップフロップの内の少なくとも１つは、前記動作モード時に前段の組合せ論理回路が出力したデータの保持および後段の組合せ論理回路又は別の回路へのデータの転送を行い、前記スリープモード時に前段の組合せ論理回路が出力したデータの保持を行う第１のフリップフロップからなり、残りのフリップフロップは、前記動作モード時に前段の組合せ論理回路が出力したデータの保持および後段の組合せ論理回路又は別の回路へのデータの転送を行い、前記スリープモード時に電源供給が遮断される第２のフリップフロップからなり、前記第２のフリップフロップは、前記スリープモードから前記動作モードに切り替わるときにデータ保持状態の初期化を行う初期化手段を内部に備えたことを特徴とする。
請求項２にかかる発明は、請求項１に記載の半導体集積回路において、前記組合せ論理回路および前記第２のフリップフロップは、そこへの電源供給が、前記動作モード時にオンとなり前記スリープモード時にオフとなるスイッチ手段を介して行われ、前記初期化手段は、前記スリープモードから前記動作モードへの切り替わりを検知して、前記第２のフリップフロップのデータ保持状態の初期化を行うことを特徴とする。
請求項３にかかる発明は、請求項２に記載の半導体集積回路において、前記スイッチ手段は制御信号が入力される端子を有し、前記スリープモードから前記動作モードへの切り替わりのとき、該制御信号が変化することによってオフからオンに切り替わるものであり、前記初期化手段は、前記制御信号の変化を検出して前記第２のフリップフロップのデータ保持状態の初期化を行うことを特徴とする。
請求項４にかかる発明は、請求項３に記載の半導体集積回路において、前記第１のフリップフロップは、前記制御信号が入力される端子と保持信号が入力される端子とを有し、該制御信号が変化した後に該保持信号が変化することによって、前記スリープモードから動作モードに切り替わるものであり、前記初期化手段は、前記制御信号の変化を検知して前記第２のフリップフロップの初期化を開始し、前記保持信号の変化を検知して前記第２のフリップフロップの初期化を終了するものであることを特徴とする。
請求項５にかかる発明は、請求項２または３に記載の半導体集積回路において、前記初期化手段は、前記スリープモードから前記動作モードへの変化から、所定の時間が経過するまでの期間、前記データ保持状態の初期化を行うことを特徴とする。
【発明の効果】
【０００９】
本発明の半導体集積回路によれば、動作モード時に前段の組合せ論理回路が出力したデータの保持および後段の組合せ論理回路又は別の回路へのデータの転送を行い、スリープモード時に電源供給が遮断される第２のフリップフロップ、つまりデータ非保持フリップフロップが、スリープモードから動作モードに切り替わるときに、初期化手段によりデータ保持状態の初期化が行われるので、初期化用の特別の外部経路の設置や初期化用の外部信号の生成が不要になる。
【発明を実施するための最良の形態】
【００１０】
＜データ保持フリップフロップ＞
図１は本発明の半導体集積回路の一部を構成するデータ保持フリップフロップ１０Ｂ１の内部回路を示す回路図である。このデータ保持フリップフロップ１０Ｂ１は、スリープモード時に、クロック信号の供給の停止を行い、また、データ保持に必要な部分以外への電源供給を遮断して、スリープモード時の消費電力を低減する（例えば、特許文献２参照）。図１において、ＩＮＶ１〜ＩＮＶ８はインバータ、Ｇ１，Ｇ２はトランスミッションゲートである。
【００１１】
インバータＩＮＶ１，ＩＮＶ２，ＩＮＶ６，ＩＮＶ７、ＩＮＶ８は、例えば、ゲートが共通接続されたＰＭＯＳトランジスタとＮＭＯＳトランジスタとを、ＶＤＤ電源とＧＮＤとの間に直列接続した構成とすることができる。ただし、そのＮＭＯＳトランジスタのソース（ＯＦＦ）は、直接ＧＮＤに接続されるのでは無く、スリープ信号ＳＬＰが“Ｌ”のときオフになるＮＭＯＳトランジスタＭ１７を介して接続される。トランジスタＭ１７は、スリープ信号ＳＬＰによって制御されるスイッチ手段として機能する。すなわち、スリープ信号ＳＬＰが動作モードを示す“Ｈ”のときオンして、各インバータＩＮＶ１，ＩＮＶ２，ＩＮＶ６，ＩＮＶ７、ＩＮＶ８に電源を供給して動作状態にし、スリープモードを示す“Ｌ”のときオフして、各インバータＩＮＶ１，ＩＮＶ２，ＩＮＶ６，ＩＮＶ７、ＩＮＶ８への電源供給を遮断する。
【００１２】
また、インバータＩＮＶ４は、そのＮＭＯＳトランジスタのソース（ＳＢ）とＧＮＤとの間に、スリープ信号ＳＬＰが“Ｌ”のときオフになるＮＭＯＳトランジスタＭ１５と、ゲートがＧＮＤに接続されることにより常時オン状態にある内部抵抗が比較的大きなＰＭＯＳトランジスタＭ１６との並列回路が接続された構成である。
【００１３】
インバータＩＮＶ３は、ＰＭＯＳトランジスタＭ３，Ｍ５、ＮＭＯＳトランジスタＭ４，Ｍ６からなり、クロック信号ＣＬＫ２と反転クロック信号ＣＬＫＢ２が印加されるクロックド型の構成である。
【００１４】
インバータＩＮＶ５は、ＰＭＯＳトランジスタＭ１０，Ｍ１２，Ｍ１４とＮＭＯＳトランジスタＭ１１、Ｍ１３からなり、クロック信号ＣＬＫ２と反転クロック信号ＣＬＫＢ２とデータ保持信号ＤＲが印加されるクロックド型の構成である。
【００１５】
インバータＩＮＶ８は、ＰＭＯＳトランジスタＭ１８，Ｍ１９，Ｍ２２とＮＭＯＳトランジスタＭ２０，Ｍ２１からなり、データ保持信号ＤＲが印加される構成である。そして、入力するクロック信号ＣＫは、インバータＩＮＶ７，ＩＮＶ８によって、前記したクロック信号ＣＬＫ２、反転クロック信号ＣＬＫＢ２に変換される。
【００１６】
トランスミッションゲートＧ１にはクロック信号ＣＬＫ２と反転クロック信号ＣＬＫＢ２が印加される。トランスミッションゲートＧ２はＮＭＯＳトランジスタＭ８，Ｍ９の直列回路にＰＭＯＳトランジスタＭ７を並列接続した構成であり、クロック信号ＣＬＫ２と反転クロック信号ＣＬＫＢ２とデータ保持信号ＤＲが印加される。
【００１７】
このデータ保持フリップフロップ１０Ｂ１は、インバータＩＮＶ２とＩＮＶ３がマスタラッチとして働き、インバータＩＮＶ４とＩＮＶ５がスレーブラッチとして働く。
【００１８】
さて、動作モードにおいては、スリープ信号ＳＬＰが“Ｈ”で、データ保持信号ＤＲが“Ｈ”である。クロック信号ＣＫが“Ｌ”になると、クロック信号ＣＬＫ２が“Ｌ”に、反転クロック信号ＣＬＫＢ２が“Ｈ”になる。よって、トランスミッションゲートＧ１がオン、トランスミッションゲートＧ２がオフ、インバータＩＮＶ３がオフ、インバータＩＮＶ５がオンとなる。このため、Ｄ端子の入力データがインバータＩＮＶ１とトランスミッションゲートＧ１を経由してインバータＩＮＶ２に入力する。
【００１９】
次に、クロック信号ＣＫが“Ｈ”になると、上記と逆に、トランスミッションゲートＧ１がオフ、トランスミッションゲートＧ２がオン、インバータＩＮＶ３がオン、インバータＩＮＶ５がオフとなる。よって、入力されたデータがインバータＩＮＶ２とＩＮＶ３のマスタラッチで保持されると共に、トランスミッションゲートＧ２を経由してインバータＩＮＶ４に転送され、インバータＩＮＶ６を介してＱ端子に出力される。
【００２０】
次に、クロック信号ＣＫが“Ｌ”になると、トランスミッションゲートＧ２がオフ、インバータＩＮＶ５がオンとなる。よって、入力されたデータがインバータＩＮＶ４とＩＮＶ５のスレーブラッチで保持されると共に、インバータＩＮＶ６を介してＱ端子に出力される。
【００２１】
このように、動作モード時では、データ保持フリップフロップ１０Ｂ１は、クロック信号ＣＫが“Ｌ”になるとＤ端子の入力データをマスタラッチに取り込み、“Ｈ”になると、取り込んだデータをマスタラッチに保持するとともにスレーブラッチに転送し、Ｑ端子に出力する。そして、クロック信号ＣＫが再び“Ｌ”になると、転送されたデータをスレーブラッチに保持するとともにＱ端子に出力する。
【００２２】
スリープモードへの切り替え時には、まず、クロック信号ＣＫが“Ｌ”に固定される。これにより、クロック信号ＣＬＫ２が“Ｌ”、反転クロック信号ＣＬＫＢ２が“Ｈ”に固定される。よって、トランスミッションゲートＧ２がオフとなるので、スレーブラッチはマスタラッチから分離される。
【００２３】
次に、データ保持信号ＤＲが“Ｌ”に切り替えられ、インバータＩＮＶ８において、トランジスタＭ１８，Ｍ２２がオンとなって、クロック信号ＣＬＫ２、反転クロック信号ＣＬＫＢ２がいずれも“Ｈ”に固定される。これにより、トランスミッションゲートＧ２は、トランジスタＭ８がオンするがトランジスタＭ９がオフとなってオフ状態を保つ。従って、スレーブラッチが分離された状態が保たれる。スレーブラッチのインバータＩＮＶ５は、トランジスタＭ１２がオフとなるが、トランジスタＭ１４がオンとなる。従って、スレーブラッチはデータの保持を維持する。
【００２４】
この後に、スリープ信号ＳＬＰが“Ｌ”に切り替えられると、トランジスタＭ１７がオフとなり、インバータＩＮＶ１，ＩＮＶ２，ＩＮＶ３，ＩＮＶ６，ＩＮＶ７，ＩＮＶ８の電源が遮断され、スリープモード（省電力モード）となる。このとき、インバータＩＮＶ４、ＩＮＶ５はトランジスタＭ１６により最低限の電源供給路が確保され、このインバータＩＮＶ４，ＩＮＶ５によりデータが保持される。
【００２５】
その後、再び動作モードに戻すときには、まず、スリープ信号ＳＬＰを“Ｈ”に変化させる。これにより、データ保持フリップフロップ１０Ｂ１に、トランジスタＭ１７を通じた電源の供給が再開される。スリープ信号ＳＬＰは、後から述べるように、組合せ論理回路への電源の供給、遮断の制御にも利用されるものであり、それを“Ｈ”に変化させることにより、データ保持フリップフロップ１０Ｂ１の次段の組合せ論理回路への電源の供給も再開される。これによって、動作モードにおいて保持され、省電力モードの期間にもスレーブラッチに維持されていたデータが、データ保持フリップフロップの１０Ｂ１のＱ端子から出力され、次段の組合せ論理回路に入力される。
【００２６】
次に、データ保持信号ＤＲを“Ｈ”に変化させ、クロック信号ＣＬＫ２、ＣＬＫＢ２の生成を可能にする。これによって、データ非保持フリップフロップ１０Ａ１、データ保持フリップフロップ１０Ｂ１、組合せ論理回路２０からなる半導体集積回路が、省電力モードから動作モードに復帰する。その後、クロック信号ＣＫの供給を再開する。
【００２７】
＜データ非保持フリップフロップ（その１）＞
図２は本発明の半導体集積回路の一部を構成するデータ非保持フリップフロップ１０Ａ１の内部回路を示す回路図である。このデータ保持フリップフロップ１０Ａ１は、スリープモード時に、初期化用回路を除く回路のインバータへの電源供給を遮断して、スリープモード時の消費電力を低減する。図２において、ＩＮＶ１１〜ＩＮＶ１９はインバータ、Ｇ１１，Ｇ１２、Ｇ１３はトランスミッションゲート、ＢＦ１，ＢＦ２はバッファ、Ｍ３１，Ｍ３２はＮＭＯＳトランジスタである。
【００２８】
インバータＩＮＶ１１〜ＩＮＶ１８は、例えば、ゲートが共通接続されたＰＭＯＳトランジスタとＮＭＯＳトランジスタとを、ＶＤＤ電源とＧＮＤとの間に直列接続した構成とすることができる。ただし、そのＮＭＯＳトランジスタのソース（ＯＦＦ）は、直接ＧＮＤに接続されるのでは無く、スリープ信号ＳＬＰが“Ｌ”のときオフになるＮＭＯＳトランジスタＭ３１を介して接続される。
【００２９】
インバータＩＮＶ１２とＩＮＶ１３はマスタラッチを構成し、インバータＩＮＶ１４とＩＮＶ１５はスレーブラッチを構成する。また、インバータＩＮＶ１７とＩＮＶ１８は、外部入力するクロック信号ＣＫから、反転クロックＣＬＫＢ１と正転クロックＣＬＫ１を生成する。
【００３０】
トランジスタＭ３１は、スリープ信号ＳＬＰによって制御されるスイッチ手段として機能する。すなわち、スリープ信号ＳＬＰが動作モードを示す“Ｈ”のときオンして、各インバータＩＮＶ１１〜ＩＮＶ１８に電源を供給して動作状態にし、スリープモードを示す“Ｌ”のときオフして、各インバータＩＮＶ１１〜ＩＮＶ１８への電源供給を遮断する。
【００３１】
バッファＢＦ１，ＢＦ２、インバータＩＮＶ１９、トランスミッションゲートＧ１３およびトランジスタＭ３２は、初期化用の回路を構成する。
【００３２】
さて、動作モードにおいては、スリープ信号ＳＬＰが“Ｈ”であり、トランジスタＭ３１がオンして、インバータＩＮＶ１１〜ＩＮＶ１８は動作状態となっている。また、インバータＩＮＶ１９の入力側が“Ｈ”、出力側が“Ｌ”であり、トランスミッションゲートＧ１３はオン、トランジスタＭ３２はオフとなっている。
【００３３】
そして、クロック信号ＣＫが“Ｌ”になると、クロック信号ＣＬＫ１が“Ｌ”に、反転クロック信号ＣＬＫＢ１が“Ｈ”になり、トランスミッションゲートＧ１１がオン、トランスミッションゲートＧ１２がオフとなる。よって、Ｄ端子の入力データがインバータＩＮＶ１１とトランスミッションゲートＧ１１を経由してインバータＩＮＶ１２に入力し、マスタラッチのインバータＩＮＶ１２とＩＮＶ１３で保持される。
【００３４】
次に、クロック信号ＣＫが“Ｈ”になると、上記と逆に、トランスミッションゲートＧ１１がオフ、トランスミッションゲートＧ１２がオンとなる。よって、そのインバータＩＮＶ１２とＩＮＶ１３で保持されているデータが、トランスミッションゲートＧ１２経由でインバータＩＮＶ１４に入力して、スレーブラッチのインバータＩＮＶ１４とＩＮＶ１５で保持され、これがインバータＩＮＶ１６を経由してＱ端子の出力データとなる。
【００３５】
このように、動作モード時では、データ非保持フリップフロップ１０Ａ１は、クロック信号ＣＫが“Ｌ”になるとＤ端子の入力データをマスタラッチに取り込み、“Ｈ”になるとマスタラッチのデータをスレーブラッチに転送し、Ｑ端子に出力する。
【００３６】
図２において、インバータＩＮＶ１３，ＩＮＶ１５の内部の記載は省略されているが、実際には、図１のデータ保持フリップフロップ１０Ｂ１のインバータＩＮＶ３，ＩＮＶ５と同様に、クロックド型のものであることが好ましい。具体的には、インバータＩＮＶ１３は、インバータＩＮＶ３と同一の構成を有し、反転クロック信号ＣＬＫＢ２とクロック信号ＣＬＫ２の代わりに、反転クロック信号ＣＬＫＢ１とクロック信号ＣＬＫ１とが印加される構成とすることができる。インバータＩＮＶ１５は、やはりインバータＩＮＶ３と同一の構成を有し、反転クロック信号ＣＬＫＢ２とクロック信号ＣＬＫ２の代わりに、クロック信号ＣＬＫ１と反転クロック信号ＣＬＫＢ１とが印加される構成とすることができる。
【００３７】
この場合の、動作モード時のデータ非保持フリップフロップ１０Ａ１の動作は、動作モード時のデータ保持フリップフロップ１０Ｂ１の動作と同様である。すなわち、クロック信号ＣＫが“Ｌ”になるとＤ端子の入力データをマスタラッチに取り込み、“Ｈ”になると、取り込んだデータをマスタラッチに保持するとともにスレーブラッチに転送し、Ｑ端子に出力する。そして、クロック信号ＣＫが再び“Ｌ”になると、転送されたデータをスレーブラッチに保持するとともにＱ端子に出力する。
【００３８】
スリープモードへの切り替え時には、まず、クロック信号ＣＫが“Ｌ”に固定される。これは前述のデータ保持フリップフロップ１０Ｂ１の制御用であり、このデータ非保持フリップフロップ１０Ａ１には影響を与えない。
【００３９】
この後に、スリープ信号ＳＬＰが“Ｌ”に切り替えられる。これにより、トランジスタＭ３１がオフとなり、インバータＩＮＶ１１〜ＩＮＶ１８の電源が遮断され、スリープモード（省電力モード）となる。このとき、バッファＢＦ１，ＢＦ２、インバータＩＮＶ１９は動作状態にあり、バッファＢＦ１，ＢＦ２による遅延時間Ｔの後、インバータＩＮＶ１９の入力側が“Ｌ”、出力側が“Ｈ”となって、トランジスタＭ３２がオンし、トランスミッションゲートＧ１３がオフする。
【００４０】
そして、動作モードに復帰するためには、スリープ信号ＳＬＰが“Ｈ”に切り替えられる。すると、トランジスタＭ３１がオンとなり、インバータＩＮＶ１１〜ＩＮＶ１８に電源が供給され、通常動作が可能となる。このスリープ信号ＳＬＰが“Ｈ”に立ち上がるとき、バッファＢＦ１，ＢＦ２により決まる遅延時間Ｔの後に、インバータＩＮＶ１９の入力側が“Ｈ”、出力側が“Ｌ”となり、トランジスタＭ３２がオフになり、トランスミッションゲートＧ１３がオンになる。
【００４１】
このため、動作モードへの復帰のために、スリープ信号ＳＬＰが“Ｌ”→“Ｈ”に切り替えられてから、時間Ｔの期間だけ、トランジスタＭ３２のドレイン側に“Ｌ”パルスが発生し、これがインバータＩＮＶ１４に入力して、時間Ｔの経過時にはスレーブラッチのインバータＩＮＶ１４とＩＮＶ１５で保持される。すなわち、この“Ｌ”パルスによって、データ非保持フリップフロップ１０Ａ１は、そのＱ端子の出力が“Ｌ”になるように初期化される。このように、バッファＢＦ１，ＢＦ２、インバータＩＮＶ１９、トランスミッションゲートＧ１３およびトランジスタＭ３２からなる初期化回路は、スリープ信号ＳＬＰの変化を検出することによって半導体集積回路のスリープモードから動作モードへの切り替わりを検知し、データ非保持フリップフロップ１０Ａ１の初期化を行う。
【００４２】
＜組合せ論理回路＞
本発明の半導体集積回路の一部を構成する組合せ論理回路については、図示はしないが、図２に示した、スリープ信号ＳＬＰで制御されるＮＭＯＳトランジスタＭ３１のようなＮＭＯＳトランジスタを設け、このトランジスタのドレインを、組合せ論理回路を構成する各種論理素子（各種ゲート）の接地側のＮＭＯＳトランジスタのソースに接続する。これにより、図２におけるインバータＩＮＶ１１〜ＩＮＶ１８と同様に、スリープ信号ＳＬＰによって、それら各種論理素子の電源を導通／遮断させることが可能となる。
【００４３】
＜データ非保持フリップフロップ（その２）＞
図３は本発明の半導体集積回路の一部を構成する別の例のデータ非保持フリップフロップ１０Ａ２の内部回路を示す回路図である。このデータ非保持フリップフロップ１０Ａ２は、システムリセット信号Ｒにより、リセット可能となったフリップフロップである。図２のデータ非保持フリップフロップ１０Ａ１と異なるところは、図２におけるインバータＩＮＶ１３、ＩＮＶ１４をそれぞれナンド回路ＮＡＮＤ１，ＮＡＮＤ２に置き換え、そのナンド回路ＮＡＮＤ１，ＮＡＮＤ２がトランジスタＭ３１により電源供給が制御され、かつシステムリセット信号Ｒでゲートがオン／オフされるようにした点である。
【００４４】
このデータ非保持フリップフロップ１０Ａ２は、システムリセット信号Ｒが一時的に“Ｌ”になることにより、ナンド回路ＮＡＮＤ１，ＮＡＮＤ２から“Ｈ”のパルスを出力し、マスタラッチおよびスレーブラッチのリセットを行う。図２に示すデータ非保持フリップフロップ１０Ａ１のインバータＩＮＶ１３と同様に、アンド回路ＡＮＤ１についても、実際には、クロック信号ＣＫが“Ｌ”のときオフとなる、クロックド型のものであることが好ましい。
【００４５】
また、図２のデータ非保持フリップフロップ１０Ａ１と同様に、スリープ信号ＳＬＰが“Ｌ”→“Ｈ”に切り替えられたとき、時間Ｔの期間だけ、トランジスタＭ３２のドレイン側に“Ｌ”パルスを発生し、この“Ｌ”パルスによって、データ非保持フリップフロップ１０Ａ２のＱ出力が“Ｈ”になるように初期化される。
【００４６】
このように、システムリセット機能を有するデータ非保持フリップフロップを利用するときには、データ保持フリップフロップも、システムリセット機能を有するものを利用する。図１に示すようなデータ保持フリップフロップ１０Ｂ１は、例えば、図３に示すデータ非保持フリップフロップと同様に、インバータＩＮＶ３，ＩＮＶ４をＮＡＮＤゲートに置き換えることにより、システムリセット機能を持たせることができる。例えば、電源投入時に、全てのフリップフロップの初期化が必要なときには、システムリセット信号Ｒを利用する。一方、スリープモードから動作モードに切り替わるときには、データ非保持フリップフロップ１０Ａ２の初期化機能を利用することにより、システムリセットを利用することなく、データ非保持フリップフロップ１０Ａ２を初期化する。これにより、データ保持フリップフロップを初期化することなく、データ非保持フリップフロップを初期化することができる。
【００４７】
＜データ非保持フリップフロップ（その３）＞
図４は本発明の半導体集積回路の一部を構成する別の例のデータ非保持フリップフロップ１０Ａ３の内部回路を示す回路図である。このデータ非保持フリップフロップ１０Ａ３は、初期化回路の構成が図２に示したデータ非保持フリップフロップ１０Ａ１とは異なる。その他の部分の構成は１０Ａ１と同じである。
【００４８】
すなわち、データ非保持フリップフロップ１０Ａ１の初期回路を構成するバッファＢＦ１，ＢＦ２およびインバータＩＮＶ１９が、データ非保持フリップフロップ１０Ａ３の初期化回路では、インバータＩＮＶ２０に置き換わっている。インバータＩＮＶ２０は、それを構成するＮＭＯＳトランジスタのソース（ＯＦＦ）とＧＮＤとの間に、スリープ信号ＳＬＰが“Ｌ”であるときオフになるＮＭＯＳトランジスタＭ３１が接続された構成を有する。そして、インバータＩＮＶ２０には、データ保持信号ＤＲが供給される。
【００４９】
前述のように、データ保持フリップフロップ１０Ｂ１を省電力モードから動作モードに移行させるために、スリープ信号ＳＬＰを“Ｌ”から“Ｈ”に変化させ、その後に、データ保持信号ＤＲを“Ｌ”から“Ｈ”に変化させる。スリープ信号ＳＬＰが“Ｈ”に変化したとき、初期化回路のインバータＩＮＶ２０への電源供給が開始され、インバータＩＮＶ２０は動作状態になる。このとき、データ保持信号ＤＲはまだ“Ｌ”であるためインバータＩＮＶ２０の出力は“Ｈ”になる。その後、データ保持信号ＤＲが“Ｈ”に変化すると、インバータＩＮＶ２０の出力は“Ｌ”に変化する。
【００５０】
これによって、インバータＩＮＶ２０と、トランスミッションゲートＧ１３と、ＮＭＯＳトランジスタＭ３２とからなる初期化回路は、ＮＭＯＳトランジスタＭ３２のドレイン側に、スリープ信号ＳＬＰが“Ｈ”に変化してからデータ保持信号ＤＲが“Ｈ”に変化するまでの間、“Ｌ”パルスを発生する。この“Ｌ”パルスがスレーブラッチに保持され、データ非保持フリップフロップ１０Ａ３は、そのＱ端子の出力が“Ｌ”になるように初期化される。
【００５１】
図２に示すデータ非保持フリップフロップ１０Ａ１の初期化回路とは異なり、図４に示すデータ非保持フリップフロップ１０Ａ３の初期化回路は、スリープ信号ＳＬＰを直接には受信しない。しかしながら、図４に示すデータ非保持フリップフロップ１０Ａ３の初期化回路は、スリープ信号ＳＬＰが“Ｈ”に変化したときに“Ｌ”の初期化パルスを発生する。従って、データ非保持フリップフロップ１０Ａ３の初期化回路は、スリープ信号ＳＬＰの変化を間接的に検知して、データ非保持フリップフロップ１０Ａ３の初期化を開始すると考えることができる。もしくは、ＮＭＯＳトランジスタＭ３１が初期化回路の一部であると考えることも可能である。この場合には、図４の初期化回路は、スリープ信号ＳＬＰを受信し、その変化を検知して、データ非保持フリップフロップ１０Ａ３の初期化を開始する。
【００５２】
図４に示す初期化回路は、さらに、データ保持信号ＤＲの“Ｌ”から“Ｈ”への変化を検知して、“Ｌ”初期化パルスの生成を終了するタイミングを定める。すなわち、図４に示す初期化回路は、データ保持信号ＤＲの“Ｈ”への変化を検知して、データ非保持フリップフロップ１０Ａ３の初期化を終了する。
【００５３】
前述のように、図１に示したデータ保持フリップフロップ１０Ｂ１は、省電力モードから動作モードに復帰するときに、スリープ信号ＳＬＰが“Ｌ”から“Ｈ”に変化した後に“Ｌ”から“Ｈ”に変化するデータ保持信号ＤＲを必要とする。図１に示したもの以外の、さまざまな構成のデータ保持フリップフロップにおいても、フリップフロップおよび組合せ論理回路への電源供給を制御するスリープ信号ＳＬＰの変化の後に変化する、データ保持信号ＤＲ、若しくは、それに相当する信号を必要とすることが多い。図４に示す初期化回路を有するデータ非保持フリップフロップ１０Ａ３は、このような、さまざまな構成のデータ保持フリップフロップと組み合わせて利用することができる。組み合わせるデータ保持フリップフロップが必要とするデータ保持信号ＤＲに相当する信号が変化する方向によっては、異なる方向への変化を検知して初期化を終了することも可能である。
【００５４】
図４に示すデータ非保持フリップフロップ１０Ａ３では、省電力モード時には、初期化回路を構成するインバータＩＮＶ２０についても電源の供給を停止することができる。このため、図４に示すデータ非保持フリップフロップ１０Ａ３は、図２に示すデータ非保持フリップフロップ１０Ａ１に比較して、省電力モード時の消費電力をさらに低減することができる。一方、図２に示すデータ非保持フリップフロップ１０Ａ１は、データ保持信号ＤＲを必要としない。このため、データ保持信号ＤＲをデータ非保持フリップフロップに供給するための配線も必要としない。
【００５５】
なお、図２に示すデータ非保持フリップフロップ１０Ａ１と図４に示すデータ非保持フリップフロップ１０Ａ３のいずれが備える初期化回路も、ＭＯＳトランジスタのみよって構成することができる。特に、大きな面積を必要とする容量素子を必要としない。
【図面の簡単な説明】
【００５６】
【図１】本発明の半導体集積回路の一部を構成するデータ保持フリップフロップののブロック図である。
【図２】本発明の半導体集積回路の一部を構成するデータ非保持フリップフロップのブロック図である。
【図３】本発明の半導体集積回路の一部を構成する別の例のデータ非保持フリップフロップのブロック図である。
【図４】本発明の半導体集積回路の一部を構成するさらに別のデータ非保持フリップフロップのブロック図である。
【図５】一般的な半導体集積回路の構成を示すブロック図である。
【図６】従来の初期化可能なデータ非保持フリップフロップのブロック図である。
【符号の説明】
【００５７】
１０Ａ，１０Ａ１，１０Ａ２，１０Ａ３：データ非保持フリップフロップ
１０Ｂ，１０Ｂ１：データ保持フリップフロップ
２０：組合せ論理回路
【図１】
2009027701.tif 000003
【図２】
2009027701.tif 000004
【図３】
2009027701.tif 000005
【図４】
2009027701.tif 000006
【図５】
2009027701.tif 000007
【図６】
2009027701.tif 000008