(57)【特許請求の範囲】
【請求項１】
第１導電型のトランジスタと第２導電型のトランジスタのリーク電流を比較し、比較結果を出力するリーク電流比較器と、
省電力モード時に、前記比較結果に基づいて、制御対象回路内の第１導電型のトランジスタと第２導電型のトランジスタの導通状態を、相対的にリーク電流の大きい導電型のトランジスタをＯＮにし、相対的にリーク電流の小さい導電型のトランジスタをＯＦＦにする信号を出力する導通制御信号生成回路と、
を有する半導体集積回路。
【請求項２】
前記リーク電流比較器は、前記第１導電型のトランジスタと前記第２導電型のトランジスタの電圧降下量により比較結果を出力する請求項１に記載の半導体集積回路。
【請求項３】
前記リーク電流比較器は、
直列に接続された前記第１導電型のトランジスタと前記第２導電型のトランジスタの電圧降下量により生じた電位と、
直列に接続された第１の抵抗素子と第２の抵抗素子で分圧された基準電位を比較するコンパレータを有する請求項１または請求項２に記載の半導体集積回路。
【請求項４】
前記導通制御信号生成回路は、前記リーク電流比較器の比較結果出力と、省電力モード時の省電力モード信号とを入力し、前記制御対象回路内に、第１の導通制御省電力モード信号と第２の導通制御省電力モード信号を出力する請求項１乃至請求項３のいずれか１項に記載の半導体集積回路。
【請求項５】
前記制御対象回路は、前記第１導電型のトランジスタと前記第２導電型のトランジスタを有する論理ゲート部と、省電力モード時に前記論理ゲート部の入力論理値を固定する出力固定部を有する請求項４に記載の半導体集積回路。
【請求項６】
前記出力固定部は、
前記第１の導通制御省電力モード信号が入力される第１の出力固定回路と、
前記第２の導通制御省電力モード信号が入力される第２の出力固定回路とを有する請求項５に記載の半導体集積回路。
【請求項７】
前記制御対象回路は、マイクロコンピュータにおけるパイプラインステージ処理部を構成する請求項４乃至請求項６に記載のいずれか１項に記載の半導体集積回路。
【請求項８】
前記省電力モード信号は、その論理値により前記マイクロコンピュータにおけるパイプラインステージ処理部を非活性化する請求項７に記載の半導体集積回路。
【請求項９】
第１導電型のトランジスタと第２導電型のトランジスタのリーク電流を比較し、
省電力モード時に、比較結果に基づいて、制御対象回路の第１導電型のトランジスタと第２導電型のトランジスタの導通状態を、相対的にリーク電流の大きい導電型のトランジスタをＯＮにし、相対的にリーク電流の小さい導電型のトランジスタをＯＦＦにする半導体集積回路の制御方法。
【請求項１０】
前記第１導電型のトランジスタと前記第２導電型のトランジスタのリーク電流の比較は、前記第１導電型のトランジスタと第２導電型のトランジスタの電圧降下量に応じて決定される請求項９に記載の半導体集積回路の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路に関するものである。特に論理回路およびそれを含む半導体集積回路にかかり、低電力動作に適した半導体集積回路および半導体集積回路制御方法に関する。
【背景技術】
【０００２】
近年、半導体集積回路の製造プロセスの微細化が進んでいる。このため、ＣＭＯＳ  ＬＳＩのような半導体集積回路を構成するＭＯＳトランジスタの耐圧が低下し、ＭＯＳトランジスタの動作電圧を低くせざる得なくなってきている。ここで、動作電圧の低下に伴い、ＭＯＳトランジスタの動作速度の低下が起こる。よって、この速度低下を防ぐためＭＯＳトランジスタのしきい値電圧を下げなければならない。
【０００３】
しかし、しきい値電圧を下げた場合（例えば０．４Ｖ程度以下）では、トランジスタが完全にＯＦＦにならず、ドレイン−ソース間にサブスレショルド・リーク電流が流れてしまう。このリーク電流は、多数のＭＯＳトランジスタで構成されるＬＳＩ等の半導体集積回路において非常に問題であり、この半導体集積回路内の回路が論理的に非活性の状態にあっても、トランジスタのリーク電流による貫通電流が生じてしまう。よって、この貫通電流による消費電力の増加、電源に対する負荷の増大、エネルギー使用効率の低下や発熱の増加という問題が非常に大きくなっている。特に高速動作を行うＣＭＯＳ  ＬＳＩでのリーク電流は、トランジスタの微細化に伴い動作電流を上回る速度で増加しており、動作間の僅かな時間であっても、そのリーク電流を低減することが重要となっている。
【０００４】
よって、高速な動作を要求される低スレッショルド電圧のトランジスタのリーク電流を削減することは、低電力動作を要求される回路のみならず、高速動作を行う回路を実現するためにも必要である。また、半導体集積回路の高温動作時には、サブスレショルド・リーク電流は指数関数的に増大する。よって、前述したような問題はさらに深刻になるため、この点から考えても、回路内のリーク電流の削減は必須となる。
【０００５】
上述したような半導体集積回路内のリーク電流を削減するため、種々の技術が提案されている。その一つが特許文献１（以下、従来技術とする）に開示されている。
【０００６】
この従来技術には、リーク電流の削減による消費電力の低減を目的として、トランジスタのボディー電圧を制御する発明が開示されている。従来技術では、ソース電位制御回路が、内部回路ブロックに必要なソース電位を、ソース電位線を介して供給することにより、ＰＭＯＳトランジスタの電流を制御している。
【特許文献１】特開２００６−１２９６８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、上記従来技術では、ボディー電圧制御は、短時間の細やかな制御ができず、さらに切替制御は温度などの外部環境を別途検出して行う必要があり、例えば製品固体ごとの製造プロセスなどのばらつきは考慮されていない。
【課題を解決するための手段】
【０００８】
本発明にかかる半導体集積回路は、第１導電型のトランジスタと第２導電型のトランジスタのリーク電流を比較し、比較結果を出力する比較器と、省電力モード時に、前記比較結果に基づいて制御対象回路内の第１導電型のトランジスタと第２導電型のトランジスタの導通状態を決定する信号を出力する導通制御信号生成回路を有するものである。
【０００９】
本発明にかかる半導体集積回路によれば、例えば、省電力モード時に、制御対象回路内の第1導電型のトランジスタのリーク電流が第２導電型のトランジスタのリーク電流より大きい場合、同様の第1導電型のトランジスタと第２導電型のトランジスタを有する比較器からの比較結果に基づき、導通制御信号生成回路からの信号を生成し、その信号により、制御対象回路内の第１導電型のトランジスタの導通状態を制御することができる。
【発明の効果】
【００１０】
本発明によれば、回路の動作速度に影響することなく、周囲温度や製造プロセスに応じて最適な省電力回路状態に制御でき、平均および最大消費電力の低減を実現できる。
【発明を実施するための最良の形態】
【００１１】
＜発明の実施の形態１＞
【００１２】
以下、本発明を適用した具体的な実施の形態１について、図面を参照しながら詳細に説明する。図１に本実施の形態にかかる半導体集積回路１００のブロック構成の一例を示す。この例はマイクロコンピュータのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）内の命令パイプライン処理部における１ステージ分の処理部のみを記載している。
【００１３】
図１に示すように、本実施の形態にかかる半導体集積回路１００は、Ｐ／Ｎリーク電流比較器１０１と、Ｐ／Ｎ省電力モード信号生成回路１０２（導通制御信号生成回路）と、省電力制御対象回路１０３を有する。
【００１４】
Ｐ／Ｎリーク電流比較器１０１は、省電力制御対象回路１０３内の高リーク電流を生じるトランジスタ（例えば、出力バッファに用いられるトランジスタ等）と同様の製造プロセスで形成されるＰＭＯＳトランジスタ（例えば、第１のトランジスタ）とＮＭＯＳトランジスタ（例えば、第２のトランジスタ）を有し、どちらの導電型のトランジスタのリーク電流が大きいのか比較し、その比較結果を出力する。比較結果として、例えば、ＰＭＯＳトランジスタのリーク電流が大きい場合をハイレベル、ＮＭＯＳトランジスタのリーク電流が大きい場合をローレベルとするリーク電流判定信号を出力する。ただし、この信号は必ずしも、前述したようにＰＭＯＳトランジスタのリーク電流が大きい場合をハイレベルとする必要はなく、逆の論理値にしてもよい。
【００１５】
ここで、本実施例では、省電力制御対象回路１０３内の高リーク電流を生じるトランジスタがＰＭＯＳ、ＮＭＯＳトランジスタ１組のみを想定しているが、複数ある場合は、Ｐ／Ｎリーク電流比較器のトランジスタを、それらの複数のトランジスタの合成した影響を考慮して形成してもよい。例えば、複数の高リーク電流を生じるトランジスタが、異なるサイズで形成されている場合、Ｐ／Ｎリーク電流比較器のトランジスタのサイズをそれらの平均値で形成する等である。
【００１６】
図２にＰ／Ｎリーク電流比較器１０１の具体的な構成の一例を示す。同図に示すように、Ｐ／Ｎリーク電流比較器１０１は、ＰＭＯＳトランジスタＭ２０１と、ＮＭＯＳトランジスタＭ２０２と、抵抗Ｒ２０１（例えば、第１の抵抗素子）と、抵抗Ｒ２０２（例えば、第２の抵抗素子）と、コンパレータ２０１を有する。ＰＭＯＳトランジスタＭ２０１は、ソースとゲートが高電位側電源（ＶＤＤ）に、ソースが図中のノードＢに接続される。ＮＭＯＳトランジスタＭ２０２は、ドレインがノードＢに、ソースとゲートが低電位側電源（ＧＮＤ）に接続される。抵抗Ｒ２０１は、高電位側電源と図中のノードＡ間に接続される。抵抗Ｒ２０２は、ノードＡと低電位側電源間に接続される。コンパレータ２０１は、反転入力端子がノードＡに、非反転入力端子がノードＢに接続され、出力端子がＰ／Ｎ省電力モード信号生成回路１０２に接続される。ノードＢの電位がノードＡの電位より高い場合にハイレベル（例えばＶＤＤレベル）を出力し、ノードＢの電位がノードＡの電位より低い場合にローレベル（例えばＧＮＤレベル）を出力する。
【００１７】
図２の接続関係からわかるように、ＰＭＯＳトランジスタＭ２０１とＮＭＯＳトランジスタＭ２０２は共にＯＦＦ状態である。ＰＭＯＳトランジスタＭ２０１とＮＭＯＳトランジスタＭ２０２にはリーク電流が流れており、ノードＢの電位はこれらトランジスタのリーク電流の関係により決定される。例えば、ＰＭＯＳトランジスタＭ２０１のリーク電流がＮＭＯＳトランジスタＭ２０２のリーク電流より大きい場合、ノードＢの電位は高くなる。逆にＮＭＯＳトランジスタＭ２０２のリーク電流がＰＭＯＳトランジスタＭ２０１のリーク電流より大きくなれば、ノードＢの電位は低くなる。よって、ノードＡに現れる抵抗Ｒ２０１と抵抗Ｒ２０２とで抵抗分圧された基準電圧と、前述したノードＢの電圧とをコンパレータ２０１により比較することでＰＭＯＳトランジスタＭ２０１とＮＭＯＳトランジスタＭ２０２のリーク電流が相対的に大きい方を検出することができ、コンパレータ２０１は、その検出結果をリーク電流判定信号として出力する。例えば、ノードＢの電位がノードＡの電位より高い場合は、ハイレベルのリーク電流判定信号が出力される。逆に、ノードＢの電位がノードＡの電位より低い場合は、ローレベルのリーク電流判定信号が出力される。
【００１８】
ここで、抵抗Ｒ２０１とＲ２０２の抵抗値は同じ値としてよい。この場合、ノードＡの電圧はＶＤＤ／２となる。ただし、半導体集積回路の製造プロセスパラメータに合わせて、抵抗Ｒ２０１とＲ２０２の抵抗値を変更してもよい。
【００１９】
Ｐ／Ｎ省電力モード信号生成回路１０２は、後述する省電力モード信号と前述したＰ／Ｎリーク電流比較器１０１からのリーク電流判定信号を入力する。また、前記入力に基づき、省電力制御対象回路１０３にあるリーク電流の大きなＰＭＯＳトランジスタのリーク電流を削減するためのＰｃｈ省電力モード信号（例えば、第１の導通制御省電力モード信号）と、同じくリーク電流の大きなＮＭＯＳトランジスタのリーク電流を削減するためのＮｃｈ省電力モード信号（例えば、第２の導通制御省電力モード信号）を、省電力制御対象回路１０３に出力する。
【００２０】
図３にＰ／Ｎ省電力モード信号生成回路１０２の具体的な構成の一例を示す。同図に示すように、Ｐ／Ｎ省電力モード信号生成回路１０２は、ＡＮＤゲート４０１と、一方の入力端子にインバータ接続されているＡＮＤゲート４０２を有する。ＡＮＤゲート４０１は、一方の入力端子が省電力モード信号を入力し、他方の入力端子にＰ／Ｎリーク電流比較器１０１からのリーク電流判定信号を入力し、Ｐｃｈ省電力モード信号を出力する。ＡＮＤゲート４０２は、一方の入力端子が省電力モード信号を入力し、他方の入力端子にＰ／Ｎリーク電流比較器１０１からのリーク電流判定信号を論理反転入力し、Ｎｃｈ省電力モード信号を出力する。
【００２１】
Ｐ／Ｎ省電力モード信号生成回路１０２は、省電力モード信号が無効、即ち省電力モードではないことを示すインアクティブレベル（例えば、ローレベル）であった場合、出力であるＰｃｈ省電力モード信号およびＮｃｈ省電力モード信号を、共にローレベルに固定する。次に、省電力モード信号が有効、即ち省電力モードではないことを示すアクティブレベル（例えば、ハイレベル）であった場合を記載する。省電力モード信号がハイレベルの場合、他方の入力であるリーク電流判定信号により出力信号であるＰｃｈ省電力モード信号およびＮｃｈ省電力モード信号は変化する。例えば、リーク電流判定信号がハイレベルの場合（ＰＭＯＳトランジスタのリーク電流が大きい場合）、出力であるＰｃｈ省電力モード信号はハイレベル、Ｎｃｈ省電力モード信号はローレベルとなる。反対にリーク電流判定信号がローレベルの場合（ＮＭＯＳトランジスタのリーク電流が大きい場合）、出力であるＰｃｈ省電力モード信号はローレベル、Ｎｃｈ省電力モード信号はハイレベルとなる。
【００２２】
ここで、前述の省電力モード信号とＣＰＵ内の命令パイプライン処理部との関係を図４と図５を用いて説明する。省電力モード信号は、ハイレベルもしくはローレベルの信号をＣＰＵ内の命令パイプライン処理部の各演算器（ＡＬＵやＭＵＬＵ等）や他のステージ処理部（レジスタファイル等）に入力されることで、演算器等の非活性化もしくは活性化を制御する信号である。
【００２３】
図４は、本例のＣＰＵ内の命令パイプライン処理部の概略図の一例である。本実施の形態で用いられる省電力モード信号は、本発明に特有のものでない例えばＶａｌｉｄ信号のような一般的なＣＰＵ等の半導体集積回路に用いられている信号を利用する。具体的には、インバータ５４１から５４４にＶａｌｉｄ信号を入力し論理反転させた信号を省電力モード信号として用いる。ここで、Ｖａｌｉｄ信号は、ＣＰＵ内の命令パイプラインの演算器を活性化（イネーブル）する場合に、命令デコーダがハイレベルで出力する信号である。これは、反対に演算器等が活性化状態ではないとき、即ち非活性化（ディセーブル）の時は、ローレベルの信号が出力されている。よって、省電力モード信号は、Ｖａｌｉｄ信号がハイレベルで演算器を活性化させるときにローレベルとなり、Ｖａｌｉｄ信号がローレベルで演算器を非活性化させるときハイレベルとなる。このことからＶａｌｉｄ信号を各ステージ処理部に省電力モード信号として利用することができる。このことは、Ｖａｌｉｄ信号を用いて省電力モード信号とすることで、必ずしもＣＰＵ全体又はＣＰＵを含む半導体集積回路全体の非活性化状態ではないが、パイプライン処理部の省電力化を実現することを意味する。以下、演算器等が活性化時にハイレベルのＶａｌｉｄ信号が、演算器等が非活性化時にローレベルのＶａｌｉｄ信号が、該演算器に入力されるものとする。
【００２４】
なお、命令パイプライン処理部の構成は、図４の構成に限定されるもではない。ここで、本発明の特徴は命令パイプラインにＰ／Ｎ省電力モード信号生成回路が加わった点と、各演算器（省電力制御対象回路）の回路構成である。
【００２５】
図４に示すように、命令パイプライン５００は、命令メモリ５０１と、命令デコーダ５０２と、レジスタファイル５０３と、ＭＵＬＵ(ＭＵＬｔｉｐｌｙ Ｕｎｉｔ)５０４と、ＡＬＵ(Ａｒｉｔｈｍｅｔｉｃ Ｌｏｇｉｃ Ｕｎｉｔ)５０５と、Ｐ／Ｎ省電力モード信号生成回路５１１から５１４と、フリップフロップ等からなる遅延回路５３１から５３６と、インバータ５４１から５４４とを有している。また、本例ではＭＵＬＵ５０４は、３つのステージ処理部を有しており、それぞれをＭＵＬＵ５０４１、５０４２、５０４３とする。ＡＬＵやＭＵＬＵの各演算器やＭＵＬＵ内の各ステージ処理部間にはパイプラインレジスタ５２１から５２４が設けられており、前段ステージ処理部からのデータ等を次段ステージにクロックに合わせて取り込んでいる。ここで、演算器５０４、５０５が図１の省電力制御対象回路１０３に相当する。また、Ｐ／Ｎ省電力モード信号生成回路５１１から５１４が図１のＰ／Ｎ省電力モード信号生成回路１０２に相当する。ここで、Ｐ／Ｎ省電力モード信号生成回路１０２に相当する５１１から５１４には、図１で示すＰ／Ｎリーク電流比較器１０１からのリーク電流判定信号を入力するが、Ｐ／Ｎリーク電流比較器１０１は、Ｐ／Ｎ省電力モード信号生成回路５１１から５１４の各回路毎に用意する必要はなく、１つのみでよい。よって、図４では図が煩雑になるのを避けるため省略しているが、１つのＰ／Ｎリーク電流比較器１０１からの配線がＰ／Ｎ省電力モード信号生成回路５１１から５１４に接続されているものとする。
【００２６】
ただし、Ｐ／Ｎリーク電流比較器１０１のトランジスタＭ２０１及びＭ２０２のリーク電流の特性や、抵抗Ｒ２０１及びＲ２０２の抵抗値の比を、演算器もしくは演算器内のステージごとに変える場合は、Ｐ／Ｎリーク電流比較器１０１とＰ／Ｎ省電力モード信号生成回路１０２を含めた構成を５１１から５１４の各々に対応させてもよい。
【００２７】
図５は、図４の命令パイプライン５００のパイプライン動作のタイミングチャートである。同図（ａ）は命令に対するＡＬＵおよびＭＵＬＵの各ステージ処理部の動作である。同図（ｂ）は、ＡＬＵおよびＭＵＬＵの各ステージ処理部に入力されるＶａｌｉｄ信号である。上述したが、ＭＵＬＵおよびＡＬＵの活性化（イネーブル）間は、Ｖａｌｉｄ信号がハイレベルに、非活性化（ディセーブル）間は、ローレベルになっている。同図（ｃ）は、Ｐ／Ｎ省電力モード信号生成回路５１１から５１４に入力される省電力モード信号である。本図からもわかるように、省電力モード信号はＶａｌｉｄ信号の論理反転した信号となっている。ここで、同図（ａ）中の「ＲＦ」はレジスタフェッチを表す。
【００２８】
次に、図４の命令パイプラインの基本動作の一例を簡単に説明する。まず、命令デコーダ５０２は、命令メモリ５０１から命令を読み出す。そして、この読み出した命令がＡＬＵ５０５を使用する命令（図５（ａ）のｍｏｖやａｄｄ）である場合は、ＡＬＵへハイレベルのＶａｌｉｄ信号を出力する。読み出した命令がＭＵＬＵ５０４を使用する命令（図５（ａ）のｍｕｌ）である場合は、ＭＵＬＵ５０４へ、ハイレベルのＶａｌｉｄ信号を出力する。レジスタファイル５０３は、前述したどちらかの演算器のＶａｌｉｄ信号が、ハイレベルであれば該演算器へデータの読み出しを行う。ここで、命令デコーダ５０２は、１命令につき通常１クロック（命令の実行に複数のクロックを要する場合はそのクロック数）だけハイレベルのＶａｌｉｄ信号を出力する。このＶａｌｉｄ信号がハイレベルで入力されたクロック間はその演算器が活性化し通常動作を行う（以下、この時を通常動作モード時と記載する）。
【００２９】
さらに、このＶａｌｉｄ信号は、ステージ処理部ごとに用意された遅延回路５３１から５３６に入力され、次のステージ処理部へ１クロック期間遅延して伝達される。具体的な例としてｍｕｌ命令によりＭＵＬＵが動作する場合を考える。まず、ｍｕｌ命令が命令メモリ５０１から命令デコーダ５０２に読み出され、命令デコーダ５０２は、ＭＵＬＵ５０４へハイレベルのＶａｌｉｄ信号を１クロック分出力する。そのハイレベルのＶａｌｉｄ信号は遅延回路５３１へ入力され１クロック遅延して、図４のステージ処理部１に出力される。
【００３０】
次にステージ処理部１において、遅延回路５３１から出力されたハイレベルのＶａｌｉｄ信号が入力されるとレジスタファイル５０３はデータの読み出しを行う。これと同時にこのハイレベルのＶａｌｉｄ信号により、ＭＵＬＵ５０４のパイプラインレジスタ５２３がイネーブルとなり、レジスタファイルからのデータを取得する。さらに、ハイレベルのＶａｌｉｄ信号は、遅延回路５３２へ入力され１クロック遅延して、ステージ処理部２に出力される。
【００３１】
次にステージ処理部２において、遅延回路５３２から出力されたハイレベルのＶａｌｉｄ信号が入力されるとＭＵＬＵ５０４１が活性化し通常動作を行い、実行結果がパイプラインレジスタ５２４に送られる。これと同時にこのハイレベルのＶａｌｉｄ信号により、ＭＵＬＵ５０４のパイプラインレジスタ５２４がイネーブルとなり、ＭＵＬＵ５０４１の実行結果を取得する。さらに、ハイレベルのＶａｌｉｄ信号は、遅延回路５３３へ入力され１クロック遅延して、ステージ処理部３に出力される。
【００３２】
次にステージ処理部３において、遅延回路５３３から出力されたハイレベルのＶａｌｉｄ信号が入力されるとＭＵＬＵ５０４２が活性化し通常動作を行い、実行結果がパイプラインレジスタ５２５に送られる。これと同時にこのハイレベルのＶａｌｉｄ信号により、ＭＵＬＵ５０４のパイプラインレジスタ５２４がイネーブルとなり、ＭＵＬＵ５０４１の実行結果を取得する。さらに、ハイレベルのＶａｌｉｄ信号は、遅延回路５３４へ入力され１クロック遅延して、ステージ処理部４に出力される。
【００３３】
次にステージ処理部４において、遅延回路５３４から出力されたハイレベルのＶａｌｉｄ信号が入力されるとＭＵＬＵ５０４３が活性化し通常動作を行い、実行結果がレジスタファイル５０３に送られる。以上が図４の命令パイプラインの基本動作の一例である。
【００３４】
ここで、上述したようにＭＵＬＵの各ステージ処理部が通常動作していない時、つまり非活性化時（以下、省電力モード時と記載する）には、Ｖａｌｉｄ信号がハイレベルになっていることがわかる。以上が命令パイプラインの基本動作である。
【００３５】
ここで、本実施の形態では、ＭＵＬＵの各ステージ処理部において省電力モード時（Ｖａｌｉｄ信号がローレベルで入力されるとき）、Ｐ／Ｎ省電力モード信号生成回路５１１から５１３に入力される省電力モード信号は、アクティブレベル（ハイレベル）となる。よって、Ｐ／Ｎリーク電流比較器１０１の出力結果に応じて、一方がハイレベルで他方がローレベルのＰｃｈ省電力モード信号およびＮｃｈ省電力モード信号がＭＵＬＵの各ステージ処理部に出力される。
【００３６】
次に、省電力制御対象回路１０３を説明する。図６に省電力制御対象回路１０３の回路構成の一例を示す。本実施の形態の省電力制御対象回路１０３は、特に制限はされないが、所定の機能を有する論理ゲート部７０１と、同様に特に制限はされないが所定の機能を有し、論理ゲート部７０１の論理出力を入力とする論理ゲート部７０２と、省電力モード時に論理ゲート部７０１の論理出力を固定する出力固定回路７０３、７０４を有する。ここで、出力固定回路７０３、７０４を出力固定部と呼ぶこととする。また、Ｎｃｈ省電力モード信号を論理反転するためのインバータ７１１を有する。ここで、インバータ７１１は、前述したＰ／Ｎ省電力モード生成回路１０２内に含め、ＡＮＤゲート４０２の出力に接続してもよい。この場合、インバータ７１１は、省電力制御対象回路１０３から省略できる。
【００３７】
ここで本実施の形態において、論理ゲート部７０２は、どちらか一方の導電型のトランジスタのリーク電流が相対的に大きい場合を想定している。例えば、ＰＭＯＳトランジスタが、ＮＭＯＳトランジスタよりＯＦＦ時のリーク電流が大きい場合（例えば、２倍以上大きい）や、反対にＮＭＯＳトランジスタが、ＰＭＯＳトランジスタよりＯＦＦ時のリーク電流が大きい（例えば、２倍以上大きい）場合などである。
【００３８】
なお、高リーク電流を生じるトランジスタの例として、ゲート長（Ｌ）が相対的に短い、ゲート幅（Ｗ）が相対的に大きい、しきい電圧が相対的に低い等が考えられる。これには、出力バッファ等に用いられる比較的サイズの大きいトランジスタが想定される。また製造プロセスによっては本実施例のようなｐチャンネルもしくはｎチャンネルのみに高リーク電流を生じるトランジスタがあらわれることが考えられる。
【００３９】
また、論理ゲート部７０２の出力側の配線７１２は、数百μｍの長配線やファンアウトの大きい出力負荷の大きな状態であってもよい。
【００４０】
論理ゲート部７０１は、特に制限されないが、本実施の形態では次のように構成される。論理ゲート部７０１は、ＰＭＯＳトランジスタＭ７０３と、ＮＭＯＳトランジスタＭ７０４が直列接続され、論理入力ａを反転するためのインバータを構成し、ノードＥに出力している。ＰＭＯＳトランジスタＭ７０３は、ソースがノードＣに、ドレインがノードＥに接続されている。ＮＭＯＳトランジスタＭ７０４は、ソースがノードＤに、ドレインがノードＥに接続されている。
【００４１】
論理ゲート部７０２は、特に制限されないが、本実施の形態では次のように構成される。論理ゲート部７０２は、ＰＭＯＳトランジスタＭ７０７と、ＮＭＯＳトランジスタＭ７０８が直列接続され、ノードＥの論理レベルを反転するためのインバータを構成し、配線７１２に出力している。ＰＭＯＳトランジスタＭ７０７は、ソースが高電位側電源に、ドレインが配線７１２に接続されている。ＮＭＯＳトランジスタＭ７０８は、ソースが低電位側電源に、ドレインが配線７１２に接続されている。
【００４２】
出力固定回路７０３は、特に制限されないが、本実施の形態では次のように構成される。出力固定回路７０３は、ＰＭＯＳトランジスタＭ７０１、Ｍ７０２を有する。ＰＭＯＳトランジスタＭ７０１は、ゲートがＰｃｈ省電力モード信号を入力し、ソースが高電位側電源に接続され、ドレインがノードＣに接続されている。ＰＭＯＳトランジスタＭ７０２は、ゲートがインバータ７１１を経たＮｃｈ省電力モード信号の反転信号を入力し、ソースがノードＣに接続され、ドレインがノードＥに接続されている。
【００４３】
出力固定回路７０４は、特に制限されないが、本実施の形態では次のように構成される。出力固定回路７０４は、ＮＭＯＳトランジスタＭ７０５、Ｍ７０６を有する。ＮＭＯＳトランジスタＭ７０４は、ゲートがインバータ７１１を経たＮｃｈ省電力モード信号の反転信号を入力し、ソースが低電位側電源に接続され、ドレインがノードＤに接続されている。ＮＭＯＳトランジスタＭ７０６は、ゲートがＰｃｈ省電力モード信号を入力し、ソースが低電位側電源に接続され、ドレインがノードＥに接続されている。
【００４４】
本実施の形態の半導体集積回路の動作を説明する。まず、省電力モード信号がローレベル（インアクティブレベル）で本実施の形態の半導体集積回路１００に入力された場合（図４の演算器等が活性化状態、つまり、通常動作モード時）を考える。この時、Ｐ／Ｎ省電力モード信号生成回路１０２には、ローレベルの省電力モード信号が入力される。このため、Ｐ／Ｎリーク電流比較器１０１からのリーク電流判定信号がローレベルであれハイレベルであれ、Ｐ／Ｎ省電力モード信号生成回路１０２が出力するＰｃｈ省電力モード信号とＮｃｈ省電力モード信号は共にローレベルが出力される。よって、省電力制御対象回路１０３にはローレベルのＰｃｈ省電力モード信号とＮｃｈ省電力モード信号が入力される。このため、出力固定回路７０１が有するＰＭＯＳトランジスタＭ７０１は、ＯＮとなり高電位側電源と論理ゲート部７０１を接続する。また、出力固定回路７０３が有するＰＭＯＳトランジスタＭ７０２はＯＦＦとなり、高電位側電源と接続されているノードＣとノードＥを遮断する。また、出力固定回路７０４が有するＮＭＯＳトランジスタＭ７０５は、ＯＮとなり低電位側電源と論理ゲート部７０１を接続する。また、出力固定回路７０３が有するＮＭＯＳトランジスタＭ７０６は、ＯＦＦとなり低電位側電源とノードＥを遮断する。よって、論理ゲート部７０１は、通常のインバータとして動作する。また、論理ゲート部７０１の出力を入力として論理ゲート部７０２も同様に通常の動作を行う。
【００４５】
次に、省電力モード信号がハイレベル（アクティブレベル）で本実施の形態の半導体集積回路１００に入力された場合（図４の演算器等が非活性状態、つまり、省電力モード時）を考える。さらにここで、省電力制御対象回路１０３が有するＰＭＯＳトランジスタ（図６のＰＭＯＳトランジスタＭ７０７）のリーク電流がＮＭＯＳトランジスタ（図６のＮＭＯＳトランジスタＭ７０８）のリーク電流より大きい場合を考える。ここで、Ｐ／Ｎリーク電流比較器１０１は、上記ＰＭＯＳトランジスタ（図６のＰＭＯＳトランジスタＭ７０７）とＮＭＯＳトランジスタ（図６のＮＭＯＳトランジスタＭ７０８）と同一の製造プロセスで形成されたＰＭＯＳトランジスタ（図２のＰＭＯＳトランジスタＭ２０１）とＮＭＯＳトランジスタ（図２のＮＭＯＳトランジスタＭ２０２）を有している。
【００４６】
この場合、ＰＭＯＳトランジスタＭ２０１のリーク電流が、ＮＭＯＳトランジスタＭ２０２のリーク電流より多く流れるためノードＢの電位がノードＡの基準電圧より高くなる。よって、コンパレータ２０１の出力であるリーク電流判定信号はハイレベルとなる。このハイレベルのリーク電流判定信号は、図３のＰ／Ｎ省電力モード信号生成回路１０２のＡＮＤゲート４０１、４０２に入力される。この時、省電力モード信号もハイレベルのため、Ｐ／Ｎ省電力モード信号生成回路１０２の出力であるＰｃｈ省電力モード信号はハイレベルとなり、Ｎｃｈ省電力モード信号はローレベルとなる。
【００４７】
このハイレベルのＰｃｈ省電力モード信号とローレベルのＮｃｈ省電力モード信号は、省電力制御対象回路１０３に入力される。ハイレベルのＰｃｈ省電力モード信号は、出力固定回路７０３のＰＭＯＳトランジスタＭ７０１をＯＦＦにし、論理ゲート部７０１と高電位側電源を遮断する。また、出力固定回路７０４のＮＭＯＳトランジスタＭ７０６をＯＮにし、ノードＥと低電位側電源を接続し、ノードＥの論理値をローレベルにする。
【００４８】
ローレベルのＮｃｈ省電力モード信号は、インバータ７１１で論理反転され、ハイレベルの信号が、出力固定回路７０３のＰＭＯＳトランジスタＭ７０２と出力固定回路７０４のＮＭＯＳトランジスタＭ７０５のゲートに入力される。よって、出力固定回路７０３のＰＭＯＳトランジスタＭ７０２をＯＦＦにし、ノードＥと高電位側電源と接続されたノードＣを遮断する。また、出力固定回路７０４のＮＭＯＳトランジスタＭ７０５をＯＮにし、論理ゲート部７０１と低電位側電源を接続する。
【００４９】
以上より、ノードＥは、強制的にローレベルの論理値となる。また、ノードＥの論理値がローレベルのため論理ゲート部７０２のＰＭＯＳトランジスタＭ７０７は強制的にＯＮ、ＮＭＯＳトランジスタＭ７０８は強制的にＯＦＦとなる。
【００５０】
ここで、高リーク電流を生じるＰＭＯＳトランジスタＭ７０７が強制的にＯＮとなり、相対的にリーク電流の小さいＮＭＯＳトランジスタＭ７０８がＯＦＦとなっている。このことから、論理ゲート部７０２の貫通電流は、相対的にリーク電流の低いＮＭＯＳトランジスタＭ７０８のみに流れる。もし論理ゲート部７０２に入力される論理値が、前述したように出力固定回路７０３、７０４で制御されない場合、ＮＭＯＳトランジスタＭ７０８がＯＮ、ＮＭＯＳトランジスタＭ７０７がＯＦＦとなったとき、ＰＭＯＳトランジスタＭ７０７は、リーク電流が大きいため、論理ゲート部７０２の貫通電流は、前述した場合より大きくなってしまう。
【００５１】
次に、省電力モード信号がハイレベルで本実施の形態の半導体集積回路１００に入力された場合（図４の演算器等が非活性状態、つまり、省電力モード時）で、さらに、省電力制御対象回路１０３が有するＮＭＯＳトランジスタ（図６のＮＭＯＳトランジスタＭ７０８）のリーク電流がＰＭＯＳトランジスタ（図６のＰＭＯＳトランジスタＭ７０７）のリーク電流より大きい場合を考える。ここで上述したのと同様、Ｐ／Ｎリーク電流比較器１０１は、省電力制御対象回路のトランジスタと同一の製造プロセスで形成されたトランジスタを有している。
【００５２】
この場合、ＮＭＯＳトランジスタＭ２０２のリーク電流が、ＰＭＯＳトランジスタＭ２０１のリーク電流より多く流れるためノードＢの電位がノードＡの基準電圧より低くなる。よって、コンパレータ２０１の出力であるリーク電流判定信号はローレベルとなる。このローレベルのリーク電流判定信号は、図３のＰ／Ｎ省電力モード信号生成回路１０２のＡＮＤゲート４０１、４０２に入力される。この時、省電力モード信号もローレベルのため、Ｐ／Ｎ省電力モード信号生成回路１０２の出力であるＰｃｈ省電力モード信号はローレベルとなり、Ｎｃｈ省電力モード信号はハイレベルとなる。
【００５３】
このローレベルのＰｃｈ省電力モード信号とハイレベルのＮｃｈ省電力モード信号は、省電力制御対象回路１０３に入力される。ローレベルのＰｃｈ省電力モード信号は、出力固定回路７０３のＰＭＯＳトランジスタＭ７０１をＯＮにし、論理ゲート部７０１と高電位側電源を接続する。また、出力固定回路７０４のＮＭＯＳトランジスタＭ７０６をＯＦＦにし、ノードＥと低電位側電源とを遮断する。
【００５４】
ハイレベルのＮｃｈ省電力モード信号は、インバータ７１１で論理反転され、ローレベルの信号が、出力固定回路７０３のＰＭＯＳトランジスタＭ７０２と出力固定回路７０４のＮＭＯＳトランジスタＭ７０５のゲートに入力される。よって、出力固定回路７０３のＰＭＯＳトランジスタＭ７０２をＯＮにし、ノードＥと高電位側電源とを接続されたノードＣを接続し、ノードＥの論理値をハイレベルにする。また、出力固定回路７０４のＮＭＯＳトランジスタＭ７０５をＯＦＦにし、論理ゲート部７０１と低電位側電源を遮断する。
【００５５】
以上より、ノードＥは、強制的にハイレベルの論理値となる。また、ノードＥの論理値がハイレベルのため論理ゲート部７０２のＰＭＯＳトランジスタＭ７０７は強制的にＯＦＦ、ＮＭＯＳトランジスタＭ７０８は強制的にＯＮとなる。
【００５６】
ここで、高リーク電流を生じるＮＭＯＳトランジスタＭ７０８が強制的にＯＮとなり、相対的にリーク電流の小さいＰＭＯＳトランジスタＭ７０７がＯＮとなっている。このことから、論理ゲート部７０２の貫通電流は、相対的にリーク電流の低いＰＭＯＳトランジスタＭ７０７のみに流れる。もし論理ゲート部７０２に入力される論理値が、前述したように出力固定回路７０３、７０４で制御されない場合、ＰＭＯＳトランジスタＭ７０７がＯＮ、ＰＭＯＳトランジスタＭ７０８がＯＦＦとなったとき、ＮＭＯＳトランジスタＭ７０８は、リーク電流が大きいため、論理ゲート部７０２の貫通電流は、前述した場合より大きくなってしまう。
【００５７】
以上により、ＣＰＵ内の命令パイプランにおける、各演算器（以下、省電力制御対象回路）を非活性化（もしくは活性化）させる省電力モード信号（例えば、Ｖａｌｉｄ信号のような制御信号）と、Ｐ／Ｎリーク電流比較器から出力されるリーク電流判定信号に応じて、Ｐ／Ｎ省電力モード信号生成回路によりＰｃｈ省電力モード信号とＮｃｈ省電力モード信号を生成し、それら信号から選択的に省電力制御対象回路内のリーク電流の大きい導電型のＭＯＳトランジスタを強制的にＯＮにすることができる。
【００５８】
よって、省電力制御対象回路の非活性化時に相対的にリーク電流の小さい導電型のＭＯＳトランジスタのみ貫通電流が流れるため、省電力制御対象回路のリーク電流を削減することができる。
【００５９】
ここで、Ｐ／Ｎリーク電流比較器は、省電力制御対象回路と同様の製造プロセスで形成されたＰＭＯＳもしくはＮＭＯＳＭＯＳトランジスタを有しており、それらトランジスタのリーク電流を常時モニターし、比較結果をリーク電流判定信号として、Ｐ／Ｎ省電力モード信号生成回路に出力している。このことは、設計段階で製造プロセス等の影響により、Ｐ型もしくはＮ型のトランジスタのどちらのリーク電流が大きいのか、考慮して設計する必要がなく、設計の自由度が増す効果がある。
【００６０】
また、例えば製品ごとのトランジスタのしきい値の違いによりリーク電流の変化や、環境温度（自身の回路動作の発熱による温度変化含む）が変化し、ＰＭＯＳもしくはＮＭＯＳトランジスタのリーク電流の大小がそれに伴い逆転する等の変化にも対応できる。よって、設計段階で想定したリーク電流と異なった場合（例えばＰＭＯＳトランジスタのリーク電流が相対的にＮＭＯＳトランジスタよりも大きいと想定したが、実際の製品では逆であった場合等）にも対応できる。
【００６１】
また、高リーク電流を生じるトランジスタのＯＮ、ＯＦＦの制御を新たな信号を加えることなく、従来からＣＰＵ内の命令パイプランに利用されているＶａｌｉｄ信号のような省電力制御対象回路の活性化信号（本実施の形態では省電力モード信号としている）を利用して実現している。よって、ＣＰＵの信号タイミング等のシステムの設計を見直す必要がなく、比較的少ない回路の付加のみで実現でき、設計効率が上げることができる。
【００６２】
またさらに、省電力制御対象回路内の出力固定回路は、高リーク電流を生じるトランジスタが存在する出力段の回路（図６の論理ゲート部７０２）ではなく、その前段のリーク電流が小さいトランジスタで構成されている回路（図６の論理ゲート部７０１）に接続している。
【００６３】
これにより、省電力制御対象回路の非活性時に出力固定回路が、前段の論理ゲート部（図６の論理ゲート部７０１）への電源供給を遮断するのと同時に、出力段の回路（図６の論理ゲート部７０２）の高リーク電流を生じるトランジスタの導通状態を制御できる。前段の論理ゲート部（図６の論理ゲート部７０１）は、出力段の回路（図６の論理ゲート部７０２）に対して相対的に負荷が小さいため、トランジスタのＯＮ抵抗の増加による遅延への影響を小さくすることが可能である。よって、従来技術において、トランジスタのボディー電圧制御が、電圧変化に対する追従に時間を要し、短時間での細やかな制御ができないという問題を解決し、ＣＰＵのパイプライン処理部等の非活性化時の非常に短い時間でも省電力制御が可能になる。以上のことから本実施の形態の半導体集積回路により、回路の動作速度に影響を与えず、製造プロセスのばらつきを考慮した最適な消費電力の削減ができることになる。
【００６４】
ここで、本実施の形態は、省電力制御対象回路の相対的にリーク電流が大きい導電型トランジスタをＯＮにし、リーク電流が小さい導電型トランジスタをＯＦＦするよう制御している。このような省電力制御対象回路の実装は、図６のような例に限らずＰＭＯＳまたはＮＭＯＳトランジスタの片方のリーク電流に注目し、制御を行う構成であれば本発明の適用が可能である。例えば、省電力制御対象回路が、図６の入力が１入力の論理ゲート部７０１だけでなく、図７に示すような２入力の論理ゲート部８０１を有していてもよい。図７に示す回路においても、図６の回路の説明で行ったのと同様の動作となり、やはり同様の効果を得ることができる。
【００６５】
また、図８に示すように、省電力制御対象回路１０３が、高リーク電流を生じるトランジスタを有する論理ゲート部として論理ゲート部９０３と、高電位側電源からの電流供給を制御するソース切り離し回路９０１と、低電位側電源からの電流供給を制御するソース切り離し回路９０２とを有するような構成であってもよい。図６、図７の回路構成の場合、Ｐｃｈ省電力モード信号とＮｃｈ省電力モード信号により、省電力モード時のリーク電流の大きなトランジスタの導通状態を制御していた。しかし、図８の回路構成の場合、Ｐｃｈ省電力モード信号とＮｃｈ省電力モード信号により、省電力モード時のリーク電流の大きなトランジスタの導通状態をソース電流切り離し回路９０１のＰＭＯＳトランジスタＭ９０１と、ソース電流切り離し回路９０２のＮＭＯＳトランジスタＭ９０２とで制御している。
【００６６】
例えば、図８に示す回路構成において、ＰＭＯＳトランジスタＭ９０３のリーク電流がＮＭＯＳトランジスタＭ９０４のリーク電流より大きい場合を考える。上述したのと同様に省電力制御対象回路１０３内のＰＭＯＳトランジスタがＮＭＯＳトランジスタより、リーク電流が大きいため、Ｐ／Ｎリーク電流比較器１０１から出力されるＰｃｈ省電力モード信号はハイレベル、Ｎｃｈ省電力モード信号はローレベルとなる。よって、ソース電流切り離し回路９０１のＰＭＯＳトランジスタＭ９０１はＯＦＦとなり、ソース電流切り離し回路９０２のＮＭＯＳトランジスタＭ９０２はＯＮとなる。ＰＭＯＳトランジスタＭ９０１がＯＦＦとなることで、論理ゲート部９０３のＰＭＯＳトランジスタＭ９０３がＯＮであってもＯＦＦであっても導通する電流を遮断する。一方、ＮＭＯＳトランジスタＭ９０２はＯＮとなるため、論理ゲート部９０３は低電位側電源と接続されるが、上記のようにリーク電流の大きなＰＭＯＳトランジスタＭ９０３に電流が供給されないため、本例の省電力制御対象回路の貫通電流には影響がない。逆に、ＮＭＯＳトランジスタＭ９０４のリーク電流がＰＭＯＳトランジスタＭ９０３のリーク電流より大きい場合では、ソース電流切り離し回路９０１のＰＭＯＳトランジスタＭ９０１はＯＮとなり、ソース電流切り離し回路９０２のＮＭＯＳトランジスタＭ９０２はＯＦＦとなる。よってこの場合でも、リーク電流の大きなＮＭＯＳトランジスタＭ９０４に電流が供給されないため、本例の省電力制御対象回路の貫通電流には影響がない。よって、本例においても、製造プロセスのばらつきによる回路のリーク電流の最適な削減が可能となる。
【００６７】
＜発明の実施の形態２＞
【００６８】
以下、本発明を適用した具体的な実施の形態２について、図面を参照しながら詳細に説明する。図９に本実施の形態２にかかる半導体集積回路１０００の構成の一例を示す。実施の形態１との違いは、実施の形態１のＰ／Ｎリーク電流比較器を複数有し、省電力制御対象回路内の複数のトランジスタ特性に合わせて、それぞれ複数ペアのＰｃｈおよびＮｃｈ省電力モード信号を入力している。なお、図９では、２つのＰ／Ｎリーク電流比較器により、２組のＰｃｈおよびＮｃｈ省電力モード信号を省電力制御対象回路に入力している例を示したが、数の制限を示したものではない。
【００６９】
図９に示すように、半導体集積回路１０００は、複数のＰ／Ｎリーク電流比較器（本例では、Ｐ／Ｎリーク電流比較器１０１１、１０２１）と、複数のＰ／Ｎ省電力モード信号生成回路（本例では、Ｐ／Ｎ省電力モード信号生成回路１０１２、１０２２）と、省電力制御対象回路１０３１とを有する。ここで、Ｐ／Ｎ省電力モード信号生成回路１０１２、１０２２は、図３のＰ／Ｎ省電力モード信号生成回路１０２と同様の構成であり、説明は省略する。また、図９の省電力制御対象回路１０３１の詳細な回路構成を図１０に示す。
ここで、省電力制御対象回路１０３１は、回路内に、例えば相対的にＰｃｈの能力が高いゲートを有するトランジスタ（もしくはトランジスタ群）と、相対的にＮｃｈの能力が高いゲートを有するトランジスタ（もしくはトランジスタ群）が混在しているとする。
【００７０】
その一例として、図１０に示す省電力制御対象回路１０３１内に図６と同様の省電力制御対象回路１０３が２個存在し（以下、回路ユニット１０３ａ、１０３ｂとする）、それぞれの回路ユニットの論理ゲート部７０２ａ、７０２ｂを構成するＰＭＯＳおよびＮＭＯＳトランジスタの特性が異なる場合等が考えられる。例えば、論理ゲート部７０２ａにおけるＰＭＯＳトランジスタＭ７０７ａのリーク電流が、ＮＭＯＳトランジスタＭ７０８ａのリーク電流より大きく、論理ゲート部７０２ｂにおけるＮＭＯＳトランジスタＭ７０８ｂのリーク電流が、ＰＭＯＳトランジスタＭ７０７ｂのリーク電流より大きい場合である。以下、上記条件に沿って、省電力モード時の本実施の形態の説明をおこなう。
【００７１】
この場合、Ｐ／Ｎリーク電流比較器１０１１は、図９のＰＭＯＳトランジスタＭ７０７ａとＮＭＯＳトランジスタＭ７０８ａと同様の製造プロセスで形成されたトランジスタを有する。また同様に、Ｐ／Ｎリーク電流比較器１０２１は、図９のＰＭＯＳトランジスタＭ７０７ｂとＮＭＯＳトランジスタＭ７０８ｂと同様の製造プロセスで形成されたトランジスタを有する。よって、Ｐ／Ｎリーク電流比較器１０１１と１０２１から、それぞれ自身が有するトランジスタ特性に応じた比較結果である、ハイレベルのリーク電流判定信号１とローレベルのリーク電流判定信号２が出力される。これらリーク電流判定信号１とリーク電流判定信号２は、それぞれＰ／Ｎ省電力モード信号生成回路１０１２と１０２２に入力される。さらに、ハイレベルのＰｃｈ省電力モード信号１とローレベルのＮｃｈ省電力モード信号１のペアと、ローレベルのＰｃｈ省電力モード信号２とハイレベルのＮｃｈ省電力モード信号２のペアが省電力制御対象回路１０３１内の回路ユニット１０３ａと１０３ｂに出力される。
【００７２】
よって、省電力制御対象回路１０３１内の回路ユニット１０３ａは、実施の形態１と同様に、そのトランジスタの特性に合わせてＰｃｈ省電力モード信号１とＮｃｈ省電力モード信号１が入力され、動作する。また、同様に省電力制御対象回路１０３１内の回路ユニット１０３ｂは、そのトランジスタの特性に合わせてＰｃｈ省電力モード信号２とＮｃｈ省電力モード信号２が入力され、動作する。各回路ユニットの動作は実施の形態１で記載したのと同様なため説明は省略する。
【００７３】
以上から、本実施の形態の半導体集積回路１０００により、例えば省電力制御対象回路内に、相対的にＰｃｈの能力が高いゲートを有するトランジスタ（もしくはトランジスタ群）と、相対的にＮｃｈの能力が高いゲートを有するトランジスタ（もしくはトランジスタ群）が混在している場合等に、それぞれのトランジスタ特性に対応したＰ／Ｎリーク電流比較器を対応させることで、より回路のリーク電流を低く抑えることが可能となる。また、温度変化等により、例えば上記の回路ユニットごとに異なるリーク電流が生じた場合でも、本実施の形態の半導体集積回路で対応できる。
【００７４】
なお、本発明は上記実施の形態に限られたものでなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば図１１に示すように、Ｐ／Ｎリーク電流比較器は、ノードＦとノードＧが、それぞれ異なる抵抗分圧された基準電圧を生成するようにＲ１２０１とＲ１２０２、およびＲ１２０３とＲ１２０４を有するよう構成されてもよい。このような構成により、複数の基準電圧を生成する抵抗を用意することで、実施の形態２のように複数のＰ／Ｎリーク電流比較器を用意しなくてもよい利点がある。
【００７５】
またさらに、Ｐ／Ｎリーク電流比較器１０１を図１２に示すような構成にしてもよい。図１２のＰ／Ｎリーク電流比較器１０１は、図２に示すコンパレータ２０１の出力端子以降に遅延回路１３０１と、論理回路１３０２、１３０３と、ラッチ回路１３０４とを有している。本回路は、ＰＭＯＳトランジスタのリーク電流値と、ＮＭＯＳトランジスタのリーク電流値が接近している場合に、リーク電流判定信号の出力論理値が頻繁に切り替わるのを防ぐ機能を有している。本回路による動作を簡単に以下に示す。
【００７６】
例えば、まずラッチ回路１３０４の出力がローレベルで、コンパレータ２０１の出力がローレベルからハイレベルに変化した場合を考える。この場合、遅延回路１３０１による所定の遅延時間以上に、コンパレータ２０１の出力がハイレベルの状態を続ければ、遅延回路１３０１の出力はローレベルからハイレベルに変化する。よって、論理回路１３０２の２入力端子の両端がハイレベルとなる。このため、論理回路１３０２の出力もハイレベルとなり、ラッチ回路１３０４の出力がハイレベルに変化する。一方、遅延回路１３０１による所定の遅延時間以下でコンパレータ２０１の出力がハイレベルからローレベルに変化した場合は、遅延回路１３０１の出力はハイレベルに変化せず、ローレベルのままである。このため、論理回路１３０２の出力は、ローレベルとなり、ラッチ回路１３０４の出力はローレベルのまま変化しない。即ち、コンパレータ２０１の出力が、一時的にハイレベルとなるような変化ではラッチ回路１３０４の出力、つまりはＰ／Ｎリーク電流比較器１０１からの出力が変化しない。
【００７７】
また逆に、ラッチ回路１３０４の出力がハイレベルで、コンパレータ２０１の出力がハイレベルからローレベルに変化した場合を考える。この場合、遅延回路１３０１による所定の遅延時間以上に、コンパレータ２０１の出力がローレベルの状態を続ければ、遅延回路１３０１の出力はハイレベルからローレベルに変化する。よって、論理回路１３０３の２入力端子の両端がローレベルとなる。このため論理回路１３０３の出力もハイレベルとなり、ラッチ回路１３０４の出力がローレベルに変化する。一方、遅延回路１３０１による所定の遅延時間以下でコンパレータ２０１の出力がローレベルからハイレベルに変化した場合は、遅延回路１３０１の出力はローレベルに変化せず、ハイレベルのままである。このため、論理回路１３０３の出力は、ローレベルとなり、ラッチ回路１３０４の出力はハイレベルのまま変化しない。即ち、コンパレータ２０１の出力が、一時的にローレベルとなるような変化ではラッチ回路１３０４の出力、つまりはＰ／Ｎリーク電流比較器１０１からの出力が変化しない。
【００７８】
上記理由により、図１２に示すＰ／Ｎリーク電流比較器１０１からの出力信号であるリーク電流判定信号の出力論理値が頻繁に切り替わるのを防ぐことができる。よって、前記出力論理値が頻繁に切り替わることによる、Ｐ／Ｎリーク電流比較器１０１以降の回路の動作電流の増大を防ぐことができる。
【図面の簡単な説明】
【００７９】
【図１】実施形態１にかかる半導体集積回路のブロック構成の一例
【図２】実施形態１にかかる半導体集積回路のＰ／Ｎ電流比較器の構成の一例
【図３】実施形態１にかかる半導体集積回路のＰ／Ｎ省電力モード信号生成回路の構成の一例
【図４】実施形態１にかかる半導体集積回路の命令パイプライン処理部の概略図の一例
【図５】実施形態１にかかる半導体集積回路のパイプライン動作のタイミングチャートの一例
【図６】実施形態１にかかる半導体集積回路の省電力制御対象回路の構成の一例
【図７】実施形態１にかかる半導体集積回路の省電力制御対象回路の構成の一例
【図８】実施形態１にかかる半導体集積回路の省電力制御対象回路の構成の一例
【図９】実施形態２にかかる半導体集積回路のブロック構成の一例
【図１０】実施形態２にかかる半導体集積回路の省電力制御対象回路の構成の一例
【図１１】その他の実施形態にかかる半導体集積回路のＰ／Ｎ電流比較器の構成の一例
【図１２】その他の実施形態にかかる半導体集積回路のＰ／Ｎ電流比較器の構成の一例
【符号の説明】
【００８０】
１００  半導体集積回路
１０１  Ｐ／Ｎ電流比較器
１０２  Ｐ／Ｎ省電力モード信号生成回路
１０３  省電力制御対象回路
２０１  コンパレータ
４０１、４０２  ＡＮＤゲート
７０１、７０２  論理ゲート部
７０３、７０４  出力固定回路
７１１  インバータ
Ｍ２０１、Ｍ２０２  ＭＯＳトランジスタ
Ｒ２０１、Ｒ２０２、Ｒ１２０１からＲ１２０４  抵抗
Ｍ７０１からＭ７０８  ＭＯＳトランジスタ
Ｍ８０１からＭ８０４  ＭＯＳトランジスタ
Ｍ９０１、Ｍ９０２  ソース切り離し回路
【図１】
0005215622.tif 000002
【図２】
0005215622.tif 000003
【図３】
0005215622.tif 000004
【図４】
0005215622.tif 000005
【図５】
0005215622.tif 000006
【図６】
0005215622.tif 000007
【図７】
0005215622.tif 000008
【図８】
0005215622.tif 000009
【図９】
0005215622.tif 000010
【図１０】
0005215622.tif 000011
【図１１】
0005215622.tif 000012
【図１２】
0005215622.tif 000013