(57)【要約】【課題】ＡＶＳ電源制御技術を適用して低消費電力化を図ると共に、動作不良（誤動作）の発生を防止し、信頼性を向上した半導体装置の実現。【解決手段】電源7と、少なくとも１つの記憶素子2,4を有し、電源から電源電圧VDDの供給を受けて動作する回路ブロック1と、電源を制御して電源電圧を変化させる電源制御回路6と、電源電圧が低下した時に、記憶素子が正常に機能しなくなる電圧よりも高い第１余裕電圧で第１誤動作信号を生成する記憶素子監視回路5と、を有し、電源制御回路は、電源電圧が第１余裕電圧より低くならないように電源を制御する半導体装置。【選択図】図７
2015115586.tif 000002
【特許請求の範囲】
【請求項１】
電源と、
少なくとも１つの記憶素子を有し、前記電源から電源電圧の供給を受けて動作する回路ブロックと、
前記電源を制御して前記電源電圧を変化させる電源制御回路と、
前記電源電圧が低下した時に、前記記憶素子が正常に機能しなくなる前記電圧よりも高い第１余裕電圧で第１誤動作信号を生成する記憶素子監視回路と、を備え、
前記電源制御回路は、前記電源電圧が前記第１余裕電圧より低くならないように前記電源を制御することを特徴とする半導体装置。
【請求項２】
前記記憶素子監視回路は、前記第１余裕電圧で誤動作する第１誤動作素子を少なくとも１つ有し、前記記憶素子が正常に動作し且つ前記第１誤動作素子が正常に動作しない場合に第１誤動作未然検知信号を生成する請求項１に記載の半導体装置。
【請求項３】
前記記憶素子監視回路は、前記第１余裕電圧よりも高い第２余裕電圧で誤動作する第２誤動作素子を少なくとも１つ有し、前記第２誤動作素子が正常に動作しない場合に第２誤動作未然検知信号を生成する請求項２に記載の半導体装置。
【請求項４】
前記電源制御回路は、前記第１誤動作未然検知信号および前記第２誤動作未然検知信号を受けない場合には前記電源電圧を単位量ずつ低下させ、前記第１誤動作未然検知信号を受けず且つ前記第２誤動作未然検知信号を受けると前記電源電圧を維持し、前記第１誤動作未然検知信号を受けると前記電源電圧を単位量ずつ増加させる、ように前記電源を制御する請求項３に記載の半導体装置。
【請求項５】
前記電源制御回路は、動作開始時には、前記電源電圧を、前記回路ブロックおよび前記記憶素子が誤動作することのない電圧に設定する請求項１から４のいずれか１項に記載の半導体装置。
【請求項６】
前記第１誤動作素子は、前記記憶素子と同一の構造を有し、前記記憶素子よりも大きな抵抗値の抵抗を介して前記電源に接続されている請求項２に記載の半導体装置。
【請求項７】
前記第２誤動作素子は、前記記憶素子と同一の構造を有し、前記記憶素子の前記電源への接続抵抗より大きく、前記第１誤動作素子の前記電源への接続抵抗よりも大きい抵抗値の抵抗を介して前記電源に接続されている請求項３に記載の半導体装置。
【請求項８】
前記電源電圧が低下した時に、遅延量が増加する遅延パスを有し、前記遅延パスの遅延量が所定値を超えると動作限界信号を生成する動作監視回路を、さらに備え、
前記電源制御回路は、前記電源電圧を単位量ずつ低下させる時に、前記動作限界信号が発生すると、前記電源電圧を単位量ずつ増加するように前記電源を制御することを特徴とする請求項１から７のいずれか１項に記載の半導体装置。
【請求項９】
前記少なくとも１つの記憶素子は、フリップフロップであることを特徴とする請求項１から８のいずれか１項に記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置に関する。
【背景技術】
【０００２】
近年、半導体装置（ＬＳＩ）の低消費電力化の要求がより一層強くなってきている。そこで、負荷が軽くなった場合、動作周波数を下げて消費電力を低減することが行われる。さらに、製造バラつき、温度変化などがあっても、要求される性能を満たした上で、低消費電力化することが必要である。
【０００３】
例えば、製造バラつきによってトランジスタの閾値（Ｖｔｈ）が高くなった場合、トランジスタの動作速度は低下し(Slow)、回路の信号伝搬遅延(Delay)が大きくなってしまう。このため、電源電圧ＶＤＤを高めに設定して、遅延量(Delay)が要求動作周波数を満足できるように小さくする必要がある。
【０００４】
一方、製造バラつきによってトランジスタの閾値（Ｖｔｈ）が低くなった場合、トランジスタの動作速度は高くなり(Fast)は、回路のリーク電流量が増大するため消費エネルギが増大してしまう。このため、電源電圧ＶＤＤを低めに設定して遅延量が要求動作周波数を満足できる限界まで、回路の消費エネルギを低く抑える必要がある。
【０００５】
そこで、動作周波数、製造バラつき、温度変化に応じて電源電圧を制御することで、要求される性能を満たしながら、単位性能当たりの消費エネルギを削減することが行われる。これをＡＶＳ(Adaptive Voltage Scaling)電源制御技術と称する。
【０００６】
上記のＡＶＳ電源制御技術は、半導体装置の回路全体に対して適用することも、半導体装置を複数の回路ブロックに分割し、各回路ブロックへの負荷の分散を含めて、各回路ブロックの電源を制御する場合もある。各回路ブロックの電源を制御するには、各回路ブロックの電源を独立に設け、少なくとも１つの回路ブロックは個別に電源電圧を制御する。以下の説明では、回路全体または１つの回路ブロックに対してＡＶＳ電源制御技術を適用した場合を例として説明する。
【０００７】
一般のＡＶＳ制御技術によれば、各回路ブロックが正常に動作する範囲で、できるだけ電源電圧を低下させる。正常に動作するかは、例えば、回路の遅延量を測定して判定する。一般に、回路の遅延量は、リングオシレータおよびカウンタを有する遅延量モニタ回路を設け、電源電圧に応じて変化するリングオシレータの周波数の変化を、出力信号の変化をカウントすることにより測定する。そして、カウント値から求まる遅延量が、要求される動作周波数を満たす遅延量より小さいかを判定する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００３−１１５７５０号公報
【特許文献２】特開平０８−２７２４９１号公報
【特許文献３】特開２００３−１９４８５８号公報
【特許文献４】特開２０１０−０９８２０２号公報
【非特許文献】
【０００９】
【非特許文献１】"12% Power Reduction by Within-Functional-Block Fine-Grained Adaptive Dual Supply Voltage Control in Logic Circuits with 42 Voltage Domains", Atsushi Muramatsu, et al., ESSCIRC, 2011
【非特許文献２】"12.7-times energy efficiency increase of 16-bit integer unit by power supply voltage (VDD) scaling from 1.2V to 310mV enabled by contention-less flip-flops (CLFF) and separated VDD between flip-flops and combinational logics", Hiroshi Fuketa1, et al., ISLPED 2012 international symposium,p163-168.
【発明の概要】
【発明が解決しようとする課題】
【００１０】
電源電圧が極低電圧領域（０．５Ｖ以下）になると、トランジスタの閾値Ｖｔｈのローカルばらつき（ランダムばらつき）の影響がより顕著となり、フリップフロップ(Flip-Flop)がセル単体で動作しなくなる（誤動作する）確率が高くなることが知られている。しかしながら、上記の遅延量(Delay)モニタ回路を使用する方法では、この低い電源電圧で起きるフリップフロップが誤動作する現象を検知できない。一方、電源電圧が低い場合には、回路の動作速度が遅いため、許容される遅延量は大きくなる。そのため、遅延量モニタ回路を使用したＡＶＳ電源制御技術を有する半導体装置では、要求動作周波数が低く（例えば、数１００ｋＨｚ以下）なると、回路が動作しなくなる電圧まで電源電圧が下がってしまう場合があった。
【００１１】
実施形態によれば、ＡＶＳ電源制御技術を適用して低消費電力化を図ると共に、動作不良（誤動作）の発生を防止し、信頼性を向上した半導体装置を実現する。
【課題を解決するための手段】
【００１２】
発明の第１の観点によれば、半導体装置は、電源と、回路ブロックと、電源制御回路と、記憶素子監視回路と、を有する。回路ブロックは、少なくとも１つの記憶素子を有し、電源から電源電圧の供給を受けて動作する。電源制御回路は、電源を制御して電源電圧を変化させる。記憶素子監視回路は、電源電圧が低下した時に、記憶素子が正常に機能しなくなる電圧よりも高い第１余裕電圧で第１誤動作信号を生成する。電源制御回路は、電源電圧が第１余裕電圧より低くならないように電源を制御する。
【発明の効果】
【００１３】
実施形態によれば、ＡＶＳ制御技術を適用した場合に、遅延量モニタにより要求動作周波数限界を満たすだけでなく、記憶素子が誤動作しないかも合わせて、電源電圧をできるだけ低くなるように制御する。これにより、誤動作せずに、消費電力を低減した半導体装置が実現される。
【図面の簡単な説明】
【００１４】
【図１】図１は、回路全体に電源電圧を供給する単一電源に対してＡＶＳ技術を適用する半導体装置の概略構成を示す図である。
【図２】図２は、図１に示した単一電源に対するＡＶＳ技術における制御を説明する図である。
【図３】図３は、ＡＶＳ技術を適用する半導体装置の動作シーケンスを示す動作状態(State)遷移図である。
【図４】図４は、ＡＶＳ技術を適用する半導体装置の動作を示すタイムチャートである。
【図５】図５は、フリップフロップ（ＦＦ）の回路例およびＡＶＳ電源制御技術による電源電圧制御とＦＦの最小動作可能電圧ＶＤＤｍｉｎの関係を示す図である。
【図６】図６は、ＡＶＳ電源制御技術を適用する半導体装置で、トランジスタがＦａｓｔで、ＶＤＤをＶＤＤｍｉｎ以上にするという制限無しに動作させた場合のタイムチャートである。
【図７】図７は、第１実施形態の半導体装置の回路構成を示す図である。
【図８】図８は、第１実施形態で実行されるＡＶＳ技術における制御を説明する図である。
【図９】図９は、フリップフロップ(FF: Flip-Flop)モニタ回路の構成例を示すブロック図である。
【図１０】図１０は、ＦＦモニタ回路のより詳細な構成例を示す回路図である。
【図１１】図１１は、ＦＦモニタ回路の別の構成例を示す回路図である。
【図１２】図１２は、誤動作回路のＦＦの構成例を示す図である。
【図１３】図１３は、図１０のＦＦモニタ回路の動作シミュレーションの結果を示す図である。
【図１４】図１４は、第１実施形態のＡＶＳ技術を適用する半導体装置の動作シーケンスを示す動作状態(State)遷移図である。
【図１５】図１５は、電源制御回路(PMU: Power Management Unit)の回路構成を示すブロック図である。
【図１６】図１６は、電源制御回路（ＰＭＵ）の動作を示すタイムチャートである。
【図１７】図１７は、第２実施形態の半導体装置のＦＦモニタ回路の回路構成を示す図である。
【図１８】図１８は、第２実施形態の半導体装置のＦＦモニタ回路の別の回路構成を示す図である。
【図１９】図１９は、第２実施形態のＡＶＳ技術を適用する半導体装置の動作シーケンスを示す動作状態(State)遷移図である。
【図２０】図２０は、第２実施形態の半導体装置の電源制御回路(PMU: Power Management Unit)の回路構成を示すブロック図である。
【図２１】図２１は、第２実施形態の電源制御回路（ＰＭＵ）の動作を示すタイムチャートである。
【図２２】図２２は、第２実施形態の電源制御回路（ＰＭＵ）の動作を示すタイムチャートである。
【図２３】図２３は、フリップフロップ（ＦＦ）モニタ回路の変形例を示す図である。
【図２４】図２４は、レプリカカウンタおよび誤動作カウンタの入出力信号および動作を示す図であり、（Ａ）が入出力信号を、（Ｂ）が動作を示すタイムチャートである。
【図２５】図２５は、電源電圧ＶＤＤが第１余裕電圧より低くなると誤動作するＦＦの変形例を示す図である。
【図２６】図２６は、電源電圧ＶＤＤが第１余裕電圧より低くなると誤動作するＦＦの別の変形例を示す図である。
【発明を実施するための形態】
【００１５】
実施形態を説明する前に、一般的な電源制御技術について説明する。
図１は、回路全体に電源電圧を供給する単一電源に対してＡＶＳ技術を適用する半導体装置の概略構成を示す図である。
【００１６】
半導体装置は、回路ブロック１と、電源(Power Supply)６と、電源制御部(Power Management Unit(PMU))７と、ＰＬＬ(Phase Locked Loop)８と、を有する。電源６、ＰＭＵ７およびＰＬＬ８をＬＳＩ外に設け、ＬＳＩには回路ブロック１のみを設ける場合もあるが、そのような場合も含めて、半導体装置と称する。
【００１７】
電源６は、回路ブロック１等（ＰＭＵ７およびＰＬＬ８も含めて）に電源電圧ＶＤＤを供給する。電源６は、ＰＭＵ７からの指令に応じて、電源電圧ＶＤＤを変化する。ＰＭＵ７は、外部から供給される（または内部で別途生成した）システムクロックＳＹＳＣＬＫを受け、後述する遅延量モニタ回路５から遅延量(Delay)に関する情報を受け、電源６の出力する電源電圧ＶＤＤを制御する電源制御信号(Up/Down/Hold)を出力する。ＰＭＵ７は、さらに遅延量モニタ回路５の動作状態を制御する。なお、図示していないが、ＰＭＵ７は、何らかの形で半導体装置の負荷状態に関する情報を受け、その情報に応じて電源６を制御する。ＰＬＬ８は、システムクロックＳＹＳＣＬＫから内部クロックＣＬＫを生成して回路ブロック１に供給する。なお、図示していないが、ＰＬＬ８は、何らかの形で（例えばＰＭＵ７から）内部クロックＣＬＫの周波数に関する指令を受け、指令された周波数の内部クロックＣＬＫを生成する。
【００１８】
回路ブロック１は、ＦＦ(Flip Flop)２と、組合せ論理回路(Combinational Logic)３と、ＦＦ４と、を含む回路要素を多数有する。ＦＦ２は、ＰＬＬ８から供給される内部クロックＣＬＫに同期して動作し、他の回路部分または外部からの信号を内部ＣＬＫに同期して組合せ論理回路３に出力する。組合せ論理回路３は、ＦＦ２および図示していないＦＦからの信号を受け、論理演算を行って、ＦＦ４に出力する。ＦＦ４は、内部クロックＣＬＫに同期して動作し、組合せ論理回路３からの信号を、ＣＬＫに同期して他の回路部分または外部に出力する。
【００１９】
回路ブロック１は、リングオシレータとカウンタからなり、システムクロックＳＹＳＣＬＫおよび内部クロックＣＬＫを受けて、電源電圧ＶＤＤで動作した場合の回路の遅延量(Delay)を生成する遅延量モニタ回路５を有する。回路ブロック１が誤動作せずに正常に動作する回路（トランジスタ）の遅延量があらかじめ調べられており、それに対応する遅延量モニタ回路５の遅延量が設定されている。遅延量モニタ回路５は、ＰＭＵ７からの制御信号ＥＮに応じて、動作状態（オン(On)／オフ(Off)）が制御される。
【００２０】
ＰＭＵ７は、半導体装置の負荷状態に関する情報を受け、遅延量モニタ回路５の遅延情報があらかじめ設定された条件を満たす範囲で、電源電圧ＶＤＤをできるだけ低くするように電源６を制御する。
【００２１】
図２は、図１に示した単一電源に対するＡＶＳ技術における制御を説明する図である。図２の上側は、電源電圧ＶＤＤの変化に対する回路（トランジスタ）の遅延量Ｄｅｌａｙの変化を示し、トランジスタの動作速度がＳｌｏｗの場合とＦａｓｔの場合を示している。図２の下側は、電源電圧ＶＤＤの変化に対する回路消費エネルギの変化例を示し、トランジスタの動作速度がＳｌｏｗの場合とＦａｓｔの場合を示している。図示のカーブは温度条件に応じても変化する。
【００２２】
図２の上側において、要求動作周波数ラインＤｅｌａｙで示すラインより下のＤｅｌａｙであれば回路は正常に動作し、ラインより上のＤｅｌａｙであれば回路は誤動作するようになる。図示のように、電源電圧ＶＤＤが低下するにしたがって遅延情報Ｄｅｌａｙが低下するが、トランジスタの動作速度がＳｌｏｗの場合とＦａｓｔの場合で、回路の要求動作周波数を実現する電源電圧ＶＤＤの値が異なる。
【００２３】
ＡＶＳ技術を適用しない場合には、製造バラつきを考慮して、Ｓｌｏｗの場合でも、遅延量Ｄｅｌａｙが、要求動作周波数ラインＤｅｌａｙよりかならず下になるように電源電圧ＶＤＤを高く設定していた。そのため、図２の下側に示すように、製造によりＦａｓｔのトランジスタが製造された場合には、電源電圧ＶＤＤが高く設定され、回路のリーク電流量が増大するため消費エネルギが増大してしまう。言い換えれば、さらに電源電圧ＶＤＤを低下させて消費エネルギを低減可能であるにもかかわらず、高い電源電圧ＶＤＤに設定することになる。
【００２４】
図２の下側に示すように、ＡＶＳ技術を適用した場合には、遅延量モニタ回路５により実際に製造されたトランジスタの遅延量Ｄｅｌａｙを測定し、Ｆａｓｔのトランジスタである場合には、電源電圧ＶＤＤをさらに限界まで低下させて消費エネルギを低減する。
【００２５】
図３は、ＡＶＳ技術を適用する半導体装置の動作シーケンスを示す動作状態(State)遷移図である。
【００２６】
図３に示すように、“ＳＴＡＲＴ”から始まり、“ＰＯＷＥＲＦＵＬＬ”、“ＭＯＮＩＴＯＲＯＮ”、“ＶＤＤＤＯＷＮ”および“ＶＤＤＵＰ”の状態を遷移する。各状態の説明、および“ＶＤＤＤＯＷＮ”および“ＶＤＤＵＰ”の状態における遷移のトリガについては図の表に記載されているので、説明は省略する。
このＡＶＳ技術によれば、遅延量Ｄｅｌａｙが、限界より小さければ電源電圧ＶＤＤを低下させ、限界より大きくなるとＶＤＤを上昇させる。
【００２７】
図４は、ＡＶＳ技術を適用する半導体装置の動作を示すタイムチャートである。
“ＳＴＡＲＴ”から始まり、“ＰＯＷＥＲＦＵＬＬ”では、ＶＤＤが上昇し、例えば、最大値１．２Ｖまで上昇する。
【００２８】
“ＭＯＮＩＴＯＲＯＮ”では、ＰＭＵ７が遅延モニタ回路５に出力するＥＮをオン(High)にする。これに応じて、遅延モニタ回路５が遅延量Ｄｅｌａｙを測定して出力する。ここで、要求動作周波数の限界ラインの遅延量は“１０”であるとする。ＶＤＤは最大値であるから、Ｄｅｌａｙは小さく、例えば“１”が出力される。
【００２９】
Ｄｅｌａｙが限界ラインより下であるので、“ＶＤＤＤＯＷＮ”に遷移し、ＶＤＤを単位量低下させる。これを繰り返すと、Ｄｅｌａｙは段階的に増加し、限界ラインの遅延量は“１０”を超えて大きくなる（“１１”）になる。これに応じて、状態は“ＶＤＤＵＰ”に遷移し、ＶＤＤを単位量上昇させる。ＶＤＤが上昇するので、Ｄｅｌａｙは再度“１０”になり、状態は“ＶＤＤＤＯＷＮ”に遷移する。以下このような動作を繰り返す。これにより、Ｄｅｌａｙが限界ライン付近になるように、ＶＤＤが制御される。
【００３０】
実際に回路ブロック１が正常に動作しなくなるのは、例えば遅延モニタ回路５が出力する遅延量Ｄｅｌａｙが“１２”あり、このような場合に要求動作周波数の限界ラインの遅延量を“１０”に設定する。これにより、動作中に誤動作が発生することはない。
【００３１】
図５は、フリップフロップ（ＦＦ）の回路例およびＡＶＳ電源制御技術による電源電圧制御とＦＦの最小動作可能電圧ＶＤＤｍｉｎの関係を示す図である。図５の（Ａ）は、トライステート型ＦＦ(TBFF: Tri-state based FF)の回路図を、（Ｂ）はＴＢＦＦを動作させるクロック生成回路を、（Ｃ）はＡＶＳ電源制御技術とＦＦの最小動作可能電圧ＶＤＤｍｉｎの関係を、それぞれ示す。ＴＢＦＦに限らず、ＦＦは組合せ論理回路等で多数使用される。
【００３２】
ＴＢＦＦは、マスターラッチ(Master)１１と、スレーブラッチ(Slave)１２と、を有する。マスターラッチ１１は、図示のように接続されたインバータ１３−１５を有する。インバータ１３および１５に供給するクロックは、図５の（Ｂ）に示すように、２個の直列に接続したインバータ１７および１８に内部クロックＣＬＫを入力することにより生成する。マスターラッチ１１とスレーブラッチ１２は、同じ構成を有する。ＴＢＦＦについては広く知られているので、これ以上の説明は省略する。
【００３３】
図５の（Ａ）において、参照番号１６で示すノードは、インバータ１３とインバータ１５の出力がワイヤードＯＲ(Wired-OR)で接続され、インバータ１４の入力となる。電源電圧ＶＤＤが極低電圧領域（例えば、０．５Ｖ以下）になると、トランジスタの閾値Ｖｔｈのローカルばらつき(ランダムばらつき)の影響がより顕著になり、ノード１６の電位振幅が不十分となり、誤動作することが知られている。そのため、電源電圧ＶＤＤが極低電圧領域になると、フリップフロップ(FF: Flip-Flop)がセル単体で動作しなくなる(誤動作する)確率が高くなる。ここで、ＦＦが正常に動作する電源電圧ＶＤＤの限界を、ＦＦ最小動作可能電圧ＶＤＤｍｉｎと称する。
【００３４】
図５の（Ｃ）に示すように、遅延量Ｄｅｌａｙに基づくＡＶＳ電源制御技術では、遅延量が要求動作周波数ラインより小さくなる範囲で、電源電圧ＶＤＤが低下される。回路ブロック１のトランジスタの閾値ＶｔｈがＳｌｏｗである場合には、遅延量Ｄｅｌａｙが要求動作周波数ラインより小さくするため、ＶＤＤをある程度高くする。そのため、電源電圧ＶＤＤが、ＶＤＤｍｉｎまで低下することはなく、ＦＦの誤動作は起きない。ところが、回路ブロック１のトランジスタの閾値ＶｔｈがＦａｓｔ側に大きく振れていると、遅延量Ｄｅｌａｙは要求動作周波数ラインより小さい状態で、電源電圧ＶＤＤが、ＶＤＤｍｉｎまで低下する場合が起こり得る。言い換えれば、遅延量のみに応じて電源電圧ＶＤＤを制御するだけでは不十分で、電源電圧ＶＤＤをＦＦが誤動作する電圧ＶＤＤｍｉｎより低下するのを防止する制御が必要である。
【００３５】
図６は、ＡＶＳ電源制御技術を適用する半導体装置で、トランジスタがＦａｓｔで、ＶＤＤをＶＤＤｍｉｎ以上にするという制限無しに動作させた場合のタイムチャートである。
【００３６】
図６では、要求動作周波数の限界ラインの遅延量は“１００”であるとする。ＶＤＤが最大値（＝１．２Ｖ）である時には、Ｄｅｌａｙは小さく、例えば“１”が出力される。
【００３７】
“ＶＤＤＤＯＷＮ”に遷移し、ＶＤＤを順次低下させると、Ｄｅｌａｙが“１００”を超える前に、ＶＤＤはＶＤＤｍｉｎより低くなる。そして、ＶＤＤをＤｅｌａｙが“１００”の付近になるように制御すると、ＶＤＤは常時ＶＤＤｍｉｎより低くなり、ＦＦは動作しなくなる。
【００３８】
しかしながら、遅延量モニタ回路を使用するＡＶＳ電源制御技術では、この低いＶＤＤで起きるフリップフロップ(Flip-Flop)が誤動作する現象を検知できない。このため、これまでは、要求動作周波数が低く（例えば数１００ｋＨｚ以下）なると、回路が動作しなくなる（誤動作する）電圧まで電源電圧ＶＤＤが下がってしまうといった問題があった。
以下に説明する実施形態のＡＶＳ電源制御を行う半導体装置では、誤動作を発生しないように電源電圧を制御しながら、消費エネルギを低減する。
【００３９】
図７は、第１実施形態の半導体装置の回路構成を示す図である。
第１実施形態の半導体装置は、電源電圧が可変の電源を有し、ＡＶＳ電源制御技術を適用する半導体装置である。
【００４０】
第１実施形態の半導体装置は、回路ブロック１と、電源６と、ＰＭＵ７と、ＰＬＬ８と、を有する。
回路ブロック１は、ＦＦ２と、組合せ論理回路３と、ＦＦ４と、遅延モニタ回路５と、フリップフロップ（ＦＦ）モニタ(Flip-Flop Monitor)回路３１と、を有する。
【００４１】
言い換えれば、第１実施形態の半導体装置は、ＦＦモニタ回路３１を設け、ＰＭＵ７が、ＦＦモニタ回路３１の出力する警告信号Ｗａｒｎｉｎｇ／Ｈｏｌｄを制御に利用することが、前述の図１に示した半導体装置と異なり、他は同じである。そのため、ＦＦモニタ回路３１およびＰＭＵ７について説明し、他の回路要素についての説明は省略する。ＦＦモニタ回路３１は、ＶＤＤが、ＦＦが動作しなくなるＦＦ最小動作可能電圧（ＶＤＤｍｉｎ）を超えて小さくなる直前に警告信号Ｗａｒｎｉｎｇを出力する。さらに、ＦＦモニタ回路３１は、ＰＭＵ７により動作状態（オン／オフ）が制御される。
【００４２】
まず、ＦＦモニタ回路３１による警告信号Ｗａｒｎｉｎｇの生成と、それを利用したＰＭＵ７による制御について説明する。
図８は、第１実施形態で実行されるＡＶＳ技術における制御を説明する図である。図８の上側は、電源電圧ＶＤＤの変化に対する回路（トランジスタ）の遅延量Ｄｅｌａｙの変化を示し、トランジスタの動作速度がＳｌｏｗの場合とＦａｓｔの場合を示している。図８の下側は、電源電圧ＶＤＤの変化に対する回路消費エネルギの変化例を示し、トランジスタの動作速度がＳｌｏｗの場合とＦａｓｔの場合を示している。図８の上側は、図５の（Ｂ）と同じであり、Ｄｅｌａｙが要求動作周波数ラインより小さく、ＶＤＤがＦＦ最小動作可能電圧より大きい範囲が動作可能範囲であり、ＶＤＤがこの範囲内に入るように制御を行う。ＶＤＤがＦＦ最小動作可能電圧より小さくなるとＦＦに誤動作が発生し、動作中に誤動作することは望ましくないので、ＦＦ最小動作可能電圧より少し大きい電圧を第１余裕電圧として設定する。そして、ＦＦモニタ回路３１は、ＶＤＤが第１余裕電圧より低くなると警告信号Ｗａｒｎｉｎｇを発生する。
【００４３】
前述の図５の（Ｂ）のＡＶＳ技術によれば、図８の下側に示すように、Ｆａｓｔのトランジスタの場合、ＶＤＤを大きく低下させても、遅延量Ｄｅｌａｙは要求動作周波数ラインより小さいため、ＶＤＤはＸで示す電圧まで低下される。しかしこの状態では、ＦＦが動作しなくなる。これに対して、第１実施形態では、ＶＤＤを低下させる場合に、ＦＦモニタ回路３１が警告信号Ｗａｒｎｉｎｇを発生すると、すなわちＶＤＤが第１余裕電圧（図８でＹで示す点）より低下すると、ＶＤＤを逆に単位量上昇させるように制御する。これにより、ＶＤＤがＦＦ最小動作可能電圧より小さくなることはなく、回路ブロック１内のＦＦ２および４は正常に動作する。
【００４４】
以上説明した第１実施形態のＡＶＳ制御をまとめると、ＦＦモニタ回路３１が、ＶＤＤがＦＦ最小動作可能電圧（ＶＤＤｍｉｎ）まで低下する前に警告信号Ｗａｒｎｉｎｇを発生する。
さらに、ＰＭＵ７は、警告信号Ｗａｒｎｉｎｇを受け取ったら、電源６にＶＤＤを上げるように指示を出す。
【００４５】
図９は、フリップフロップ(FF: Flip-Flop)モニタ回路３１の構成例を示すブロック図である。
ＦＦモニタ回路３１は、入力信号生成回路３２と、レプリカ回路３３と、誤動作回路３４と、比較回路３５と、を有する。入力信号生成回路３２は、ＰＭＵ７からの制御信号ＥＮが高レベル(High)の時に、０／１に交互に変化する信号を発生する。レプリカ回路３３は、図５の（Ａ）に示したようなＦＦと同じ回路構成および特性を有する回路で、入力信号生成回路３２から入力する信号を内部クロックＣＬＫに同期して取り込んで保持する。誤動作回路３４は、上記のＦＦと同じ回路構成を有するが、電源電圧ＶＤＤが第１余裕電圧より低くなると誤動作する。言い換えれば、誤動作回路３４は、レプリカ回路３３が誤動作する電圧より高い電圧で誤動作する。比較回路３５は、レプリカ回路３３の出力する０／１に交互に変化する信号と、誤動作回路３４の出力する０／１に交互に変化する信号とが、一致するかを判定する。レプリカ回路３３と誤動作回路３４は、ＦＦであり、入力信号生成回路３２から同じ信号が入力される。したがって、レプリカ回路３３と誤動作回路３４が共に正常に動作する場合には、比較回路３５は、一致を検出する。もし、比較回路３５の出力Ｙが不一致を示す場合には、レプリカ回路３３と誤動作回路３４の一方が誤動作している、具体的にはより高いＶＤＤで誤動作する誤動作回路３４が誤動作したと判定される。
【００４６】
図１０は、ＦＦモニタ回路３１のより詳細な構成例を示す回路図である。
入力信号生成回路３２は、ＮＡＮＤゲート４１と、ＦＦ４２と、インバータ４３と、を有する。ＮＡＮＤゲート４１は、ＰＭＵ７からの制御信号ＥＮが高レベルの時に、ＰＬＬ８からの内部クロックＣＬＫを通過させ、ＥＮが低レベルの時には、遮断して高レベルに固定した信号を出力する。ＦＦ４２とインバータ４３は、１／２分周回路を形成し、ＥＮが高レベルの時には内部クロックＣＬＫを１／２分周した信号を出力する。
【００４７】
レプリカ回路３３は、図５の（Ａ）に示したようなＦＦと同じ回路構成および特性を有するＦＦ５１を有し、入力信号を、内部クロックＣＬＫに同期してラッチして保持し、ＹＦＦ０として出力する。
誤動作回路３４は、レプリカ回路３３のＦＦ５１と同じ回路構成および特性を有するＦＦ６１を有する。誤動作回路３４は、入力信号を、内部クロックＣＬＫに同期してラッチして保持し、ＹＦＦ１として出力するが、ＶＤＤが、ＶＤＤｍｉｎより高い第１余裕電圧より低くなると誤動作する。言い換えれば、ＶＤＤを低下させた場合に、ＦＦ６１は、ＦＦ５１より先に誤動作する。
【００４８】
比較回路３５は、ＹＦＦ０とＹＦＦ１の一致を検出する排他的論理和ゲート（ＥＸＯＲ）７１を有する。ＥＸＯＲ７１は、比較結果をＹとして出力する。
【００４９】
図１１は、ＦＦモニタ回路３１の別の構成例を示す回路図である。
図１１のＦＦモニタ回路３１は、ＮＡＮＤゲート４４と、ＦＦ５２と、インバータ５３と、ＦＦ６２と、ＥＸＯＲ７２と、ＦＦ７３と、を有する。ＮＡＮＤゲート４４は、内部クロックＣＬＫのゲーティングを行う。ＦＦ５２は、図５の（Ａ）に示したようなＦＦと同じ回路構成および特性を有し、インバータ５３と一緒に１／２分周回路を形成する。ＦＦ６２は、ＦＦ５２と同じ回路構成および特性を有し、インバータ５３と一緒に１／２分周回路を形成するが、ＶＤＤが、ＶＤＤｍｉｎより高い第１余裕電圧より低くなると誤動作する。ＦＦ５２の出力がＹＦＦ０であり、ＦＦ６２の出力がＹＦＦ１である。ＥＸＯＲ７２は、ＹＦＦ０とＹＦＦ１の一致を検出する。ＦＦ７３は、ＥＸＯＲ７２の比較結果をクロックに同期して保持し、Ｙとして出力する。
【００５０】
図１１のＦＦモニタ回路３１は、図１０のＦＦモニタ回路３１の回路構成を簡略化したものであり、機能は同じであるので、説明は省略する。また、図１１のＦＦモニタ回路３１は、図１０のＦＦモニタ回路３１と同様に利用されるので、以下の説明では、図１０のＦＦモニタ回路３１を利用する場合について説明する。
【００５１】
図１２は、誤動作回路３４のＦＦ６１の構成例を示す図である。ＦＦ６２も同様に実現される。
図１２の（Ａ）は、ＦＦ５１と同じ構成のＦＦ６１を、ＧＮＤにはそのまま接続するが、ＶＤＤには抵抗Ｒ１を介して接続したものである。これにより、ＦＦ６１に供給される電源電圧が実効的に低下し、ＦＦ６１は、ＶＤＤが、ＶＤＤｍｉｎより高い第１余裕電圧より低くなると誤動作する。
【００５２】
図１２の（Ｂ）は、ＦＦ５１と同じ構成のＦＦ６１を、ＶＤＤにはそのまま接続するが、ＧＮＤには抵抗Ｒ１を介して接続したものである。これにより、ＦＦ６１に供給される電源電圧が実効的に低下し、ＦＦ６１は、ＶＤＤが、ＶＤＤｍｉｎより高い第１余裕電圧より低くなると誤動作する。
【００５３】
図１２の（Ｃ）は、ＦＦ５１と同じ構成のＦＦ６１を、ＶＤＤおよびＧＮＤに抵抗Ｒ３およびＲ４を介して接続したものである。これにより、ＦＦ６１に供給される電源電圧が実効的に低下し、ＦＦ６１は、ＶＤＤが、ＶＤＤｍｉｎより高い第１余裕電圧より低くなると誤動作する。
【００５４】
図１３は、図１０のＦＦモニタ回路３１の動作シミュレーションの結果を示す図である。ＥＮを高レベルにして、ＶＤＤが高い電圧であると、レプリカ回路３３の出力ＹＦＦ０および誤動作回路３４の出力ＹＦＦ１は０／１に交互に変化する。そのため、比較回路３５の出力Ｙは低レベル（０）である。ＶＤＤを徐々に低下させ、第１余裕電圧より低くなると、レプリカ回路３３の出力ＹＦＦ０は依然０／１に交互に変化するが、誤動作回路３４の出力ＹＦＦ１は低レベルで変化しなくなる。そのため、比較回路３５の出力Ｙは０／１に交互に変化し、警告信号Ｗａｒｎｉｎｇが生成される。
【００５５】
このように、誤動作回路３４が正常に動作する第１余裕電圧は、レプリカ回路３３が正常に動作する動作可能最小電圧ＶＤＤｍｉｎよりも高い。このため、ＦＦモニタ回路３１は、レプリカ回路３３が正常に動作しなくなる前に(マージンをもって)警告信号Ｗａｒｎｉｎｇを出力する。
【００５６】
図１４は、第１実施形態のＡＶＳ技術を適用する半導体装置の動作シーケンスを示す動作状態(State)遷移図である。
【００５７】
図１４に示すように、“ＳＴＡＲＴ”から始まり、“ＰＯＷＥＲＦＵＬＬ”、“ＭＯＮＩＴＯＲＯＮ”、“ＶＤＤＤＯＷＮ”および“ＶＤＤＵＰ”の状態が存在し、その間を遷移する。
“ＰＯＷＥＲＦＵＬＬ”状態では、ＦＦ２および４を含む回路ブロック１の内部回路の動作が確実に保障できる高い電圧にＶＤＤの電圧を設定する。例えば、ＶＤＤ＝１．２Ｖにする。これにより、回路に誤動作を生じることなく電源制御を行うことが可能になる。
【００５８】
“ＭＯＮＩＴＯＲＯＮ”状態では、ＰＭＵ７がＥＮを高レベル（ＶＤＤ）にして、遅延モニタ回路５およびＦＦモニタ回路３１を起動する。
“ＶＤＤＤＯＷＮ”状態では、一定周期ごとにＰＭＵ７が電源６にＶＤＤを所定量ずつ下げる命令を繰り返し出す。例えば、ＰＭＵ７は、１０μ秒ごとにＶＤＤ＝ＶＤＤ−２５ｍＶとする命令を出す。ここで、トリガ(Trigger)ＴＮの時には“ＶＤＤＤＯＷＮ”状態を維持し、トリガＴＷの時には“ＶＤＤＵＰ”状態に遷移する。
【００５９】
“ＶＤＤＵＰ”状態では、一定周期ごとにＰＭＵ７が電源６にＶＤＤを所定量ずつ上げる命令を繰り返し出す。例えば、ＰＭＵ７は、１０μ秒ごとにＶＤＤ＝ＶＤＤ＋２５ｍＶとする命令を出す。ここで、トリガＴＮの時には“ＶＤＤＤＯＷＮ”状態に遷移し、トリガＴＷの時には“ＶＤＤＵＰ”状態を維持する。
【００６０】
トリガＴＮは、遅延モニタ回路５の出力Ｄｅｌａｙが要求動作周波数ラインを越えず、且つＦＦモニタ回路３１が警告信号Ｗａｒｎｉｎｇを出力しない場合に出力される。
トリガＴＷは、遅延モニタ回路５の出力Ｄｅｌａｙが要求動作周波数ラインを越えるか、またはＦＦモニタ回路３１が警告信号Ｗａｒｎｉｎｇを出力する場合に出力される。
【００６１】
図１５は、電源制御回路(PMU: Power Management Unit)７の回路構成を示すブロック図である。
ＰＭＵ７は、トリガ(Trigger)生成部８１と、電源(Power Supply)制御部８４と、を有する。トリガ(Trigger)生成部８１は、カウンタ８２と、コンパレータ（比較器）８３と、を有する。カウンタ８２は、システムクロックＳＹＳＣＬＫが高レベルの間動作状態になり、ＦＦモニタ回路３１の出力する図１３に示す警告信号Ｗａｒｎｉｎｇをカウントする。コンパレータ８３は、カウンタ８２のカウント値を所定の値と比較して多い場合に内部トリガＴＲＩＧを出力する。これにより、ＦＦモニタ回路３１の出力Ｙへのノイズによる影響を除いて、警告信号Warningを確実に判定できる。
【００６２】
電源制御部８４は、内部トリガＴＲＩＧに応じて図１４のトリガＴＮまたはＴＷに対応する電源６の制御信号Ｕｐ／Ｄｏｗｎを生成して出力する。
【００６３】
図１６は、電源制御回路（ＰＭＵ）７の動作を示すタイムチャートである。
“ＰＯＷＥＲＦＵＬＬ”では、ＶＤＤが上昇し、例えば、最大値１．２Ｖまで上昇する。この間、ＦＦモニタ３１は動作状態になっていないので、ＦＦモニタ３１の出力Ｙは低レベルで、カウンタ８２の出力するカウント値はゼロであり、コンパレータ８３の出力するＴＲＩＧも低レベルである。
【００６４】
“ＭＯＮＩＴＯＲＯＮ”では、ＰＭＵ７が遅延モニタ回路５およびＦＦモニタ３１を動作状態にする信号ＥＮをオン(High)にする。これに応じて、遅延モニタ回路５が遅延量Ｄｅｌａｙを測定して出力し、ＦＦモニタ３１が一致検出結果を出力Ｙとして出力する。ＶＤＤが１．２Ｖで十分に高いので、ＦＦモニタ３１の出力Ｙは低レベルで、カウンタ８２の出力するカウント値はゼロであり、コンパレータ８３の出力するＴＲＩＧも低レベルである。
【００６５】
Ｄｅｌａｙが限界ラインより下で、且つＦＦモニタ３１の出力Ｙは低レベルであるので、“ＶＤＤＤＯＷＮ”に遷移し、ＶＤＤを単位量低下させる。これを繰り返すと、ＶＤＤが低下する。前述のように遅延量モニタ５の出力するＤｅｌａｙも増加するが、ここではＤｅｌａｙが要求動作周波数ラインを超える前に、ＶＤＤが第１余裕電圧を下回るものとして説明する。ＶＤＤが第１余裕電圧を下回ると、ＦＦモニタ３１の誤動作回路３４が誤動作し、ＦＦモニタ３１の出力Ｙが、０／１を繰り返すようになる。これに応じて、カウンタ８２の出力するカウント値が増加し（ここでは５になる）、基準値（例えば１）を超えるので、ＴＲＩＧが高レベルになり、電源制御部８４はＶＤＤの増加を指示する指令Ｕｐを出力する。これに応じて、状態は“ＶＤＤＵＰ”に遷移し、ＶＤＤを単位量上昇させる。ＶＤＤが上昇するので、ＦＦモニタ３１の出力Ｙはゼロに固定され、カウント値がゼロになるので、状態は“ＶＤＤＤＯＷＮ”に遷移する。以下このような動作を繰り返す。これにより、ＶＤＤがＦＦ最小動作可能電圧より低くなること無しに、その近傍（第１余裕電圧の前後）になるように制御される。
【００６６】
以上、第１実施形態の半導体装置を説明した。第１実施形態では、遅延量と、ＦＦが動作可能であるかの判定結果との両方に基づいてＶＤＤを制御する。特に、動作周波数が低くなり（例えば数１００ｋＨｚ以下）、遅延量が大きくても回路ブロック１の内部回路は正常に動作するため、ＶＤＤが低電圧まで制御される場合がある。このような場合、ＦＦが動作しなくなり、半導体装置は正常に動作しなくなる。第１実施形態の半導体装置は、ＦＦが動作しなくなる電圧までＶＤＤが下がることはない。このように、第１実施形態によれば、信頼性の高いＡＶＳ電源制御技術が提供される。
【００６７】
第１実施形態の半導体装置では、図１６に示すように、状態が“ＶＤＤＤＯＷＮ”と“ＶＤＤＵＰ”の間を頻繁に遷移することになる。そのため、回路ブロック１に供給されるＶＤＤにリップル（小さな電圧変動）がのってしまう。これは、回路ブロック１の安定動作の点からは好ましくない。
次に説明する第２実施形態では、ＶＤＤの頻繁な変動が抑制される。
【００６８】
図１７は、第２実施形態の半導体装置のＦＦモニタ回路３１の回路構成を示す図である。図１７のＦＦモニタ回路３１は、図１０のＦＦモニタ回路３１に対応する。第２実施形態の半導体装置は、ＦＦモニタ回路３１が異なり、ＰＭＵ７が、ＦＦモニタ回路３１の出力する別の信号も考慮して制御を行うことが、第１実施形態と異なり、他は同じである。
【００６９】
第２実施形態のＦＦモニタ回路３１では、誤動作回路３４が、ＦＦ６１に加えて、ＦＦ６２を有する。ＦＦ６２は、入力信号を、内部クロックＣＬＫに同期してラッチし、ＹＦＦ２として出力するが、ＶＤＤが、第１余裕電圧より高い第２余裕電圧より低くなると誤動作する。言い換えれば、ＶＤＤを低下させた場合に、ＦＦ６２は、ＦＦ６１より先に誤動作する。
【００７０】
さらに、第２実施形態のＦＦモニタ回路３１では、比較回路３５が、ＥＸＯＲ７１に加えて、ＥＸＯＲ７４を有する。ＥＸＯＲ７４は、ＦＦ５１の出力するＹＦＦ０とＦＦ６２の出力の一致を検出し、ホールド信号ＹＨとして出力する。なお、ＥＸＯＲ７１は、比較結果を警告信号ＹＷとして出力する。
【００７１】
図１７の第１余裕電圧より高い第２余裕電圧より低くなると誤動作するＦＦ６２は、例えば、図１２の（Ａ）の抵抗Ｒ１、（Ｂ）の抵抗Ｒ２および（Ｃ）の抵抗Ｒ３とＲ４の抵抗値を、より大きな値とすることにより実現される。
【００７２】
図１８は、第２実施形態の半導体装置のＦＦモニタ回路３１の別の回路構成を示す図である。図１８のＦＦモニタ回路３１は、図１１のＦＦモニタ回路３１に対応する。
【００７３】
図１８のＦＦモニタ回路３１は、ＮＡＮＤゲート４４と、ＦＦ５２と、インバータ５３と、ＦＦ６２と、ＥＸＯＲ７２と、ＦＦ７３と、に加えて、ＦＦ６３と、ＥＸＯＲ７５と、ＦＦ７６と、を有する。図１８のＦＦモニタ回路３１は、図１７のＦＦモニタ回路３１を図１１と同様に簡略化したものであり、説明は省略する。ＦＦ７３が警告信号ＹＷを、ＦＦ７６がホールド信号ＹＨを出力する。また、図１８のＦＦモニタ回路３１は、図１７のＦＦモニタ回路３１と同様に利用されるので、以下の説明では、図１７のＦＦモニタ回路３１を利用する場合について説明する。
【００７４】
図１９は、第２実施形態のＡＶＳ技術を適用する半導体装置の動作シーケンスを示す動作状態(State)遷移図である。
【００７５】
図１４と比較して明らかなように、第２実施形態の動作状態遷移図は、“ＶＤＤＨＯＬＤ”状態が追加され、トリガ(Trigger)ＴＨが追加されたことが、第１実施形態と異なり、他は同じである。したがって、異なる点について説明する。
【００７６】
状態“ＶＤＤＨＯＬＤ”は、ＶＤＤの値を維持する。トリガＴＨは、遅延モニタ回路５の出力Ｄｅｌａｙが要求動作周波数ラインを越えず、且つＦＦモニタ回路３１がホールド信号ＹＨを出力する場合に出される。具体的には、ＦＦモニタ回路３１の出力ＹＷにはパルスが出力されておらず、出力ＹＨにはパルスが出力されている場合に出される。
【００７７】
“ＶＤＤＨＯＬＤ”では、トリガＴＨが出される時にはその状態を維持し、トリガＴＮが出されると“ＶＤＤＤＯＷＮ”に遷移し、トリガＴＷが出されると “ＶＤＤＵＰ”に遷移する。
【００７８】
“ＶＤＤＤＯＷＮ”では、トリガＴＮが出される時にはその状態を維持し、トリガＴＨが出されると“ＶＤＤＨＯＬＤ”に遷移し、トリガＴＷが出されると “ＶＤＤＵＰ”に遷移する。
【００７９】
“ＶＤＤＵＰ”では、トリガＴＷが出される時にはその状態を維持し、トリガＴＨが出されると“ＶＤＤＨＯＬＤ”に遷移し、トリガＴＮが出されると “ＶＤＤＤＯＷＮ”に遷移する。
【００８０】
図２０は、第２実施形態の半導体装置の電源制御回路(PMU: Power Management Unit)７の回路構成を示すブロック図である。
第２実施形態のＰＭＵ７は、トリガ生成部８１が、カウンタ８５およびコンパレータ８６をさらに有し、電源制御部８７が、コンパレータ８３および８６の出力から電源６の制御信号Ｕｐ／Ｄｏｗｎ／Ｈｏｌｄを生成することが、第１実施形態と異なる。他は、第１実施形態と同じである。
【００８１】
カウンタ８５は、ＦＦ７６の出力ＹＨが入力することが異なるのみで、他はカウンタ８２と同じである。コンパレータ８６は、コンパレータ８３と同じである。コンパレータ８３の出力をＴＲＩＧＷとし、コンパレータ８６の出力をＴＲＩＧＨとする。したがって、ＦＦ７４の出力ＹＨにパルスが生じると、ＴＲＩＧＨは高レベルになる。
【００８２】
電源制御部８７は、ＴＲＩＧＷおよびＴＲＩＧＨに基づいて、図１９で説明したシーケンスにしたがって、電源６の制御信号Ｕｐ／Ｄｏｗｎ／Ｈｏｌｄを生成する。
【００８３】
図２１および図２２は、第２実施形態の電源制御回路（ＰＭＵ）７の動作を示すタイムチャートである。
開始から“ＶＤＤＤＯＷＮ”に遷移するまでは、図１６の第１実施形態と同じなので、説明は省略する。
【００８４】
“ＶＤＤＤＯＷＮ”では、ＶＤＤを単位量低下させる。これを繰り返すと、ＶＤＤが低下する。前述のように遅延量モニタ５の出力するＤｅｌａｙも増加するが、ここではＤｅｌａｙが要求動作周波数ラインを超える前に、第２余裕電圧および第１余裕電圧を超えるとする。これに応じて、誤動作回路３４のＦＦ６２が誤動作し、ＦＦモニタ３１の出力ＹＨが、０／１を繰り返すようになる。これに応じて、カウンタ８５の出力するカウント値ＣＯＵＮＴＨが増加し（ここでは４になる）、基準値（例えば２）を超えるので、ＴＲＩＧＨが高レベルになる。この間、誤動作回路３４のＦＦ６１は正常に動作し、ＦＦモニタ３１の出力ＹＷは、低レベルに維持され、カウンタ８２のカウント値ＣＯＵＮＴＷはゼロであり、ＴＲＩＧＷは低レベルを維持する。したがって、電源制御部８４はＶＤＤの維持を指示する指令ＨＯＬＤを出力し、これに応じて、状態は“ＶＤＤＨＯＬＤ”に遷移する。この後、ＶＤＤの電圧値は維持されるので、出力ＹＨは０／１を繰り返すのでＴＲＩＧＨは高レベルを維持し、出力ＹＷは低レベルに維持されるのでＴＲＩＧＷは低レベルを維持する。したがって、状態は“ＶＤＤＨＯＬＤ”に維持され、電源制御部８４はＶＤＤの維持を指示する指令ＨＯＬＤを出力するので、ＶＤＤは変化しない。このように、ＶＤＤは安定し、ＶＤＤにリップルは生じない。
【００８５】
図２２に示すように、何らかの理由（例えば温度上昇）で、動作可能最小電圧ＶＤＤｍｉｎが上昇し、ＶＤＤがＶＤＤｍｉｎより低くなるとする。この場合、誤動作回路３４のＦＦ６１も誤動作し、ＦＦモニタ３１の出力ＹＷは、０／１を繰り返すようになる。これに応じて、カウンタ８２の出力するカウント値ＣＯＵＮＴＷが増加し（ここでは２になる）、基準値（例えば１）を超えるので、ＴＲＩＧＷが高レベルになる。
【００８６】
この時、誤動作回路３４のＦＦ６２は依然誤動作し、ＦＦモニタ３１の出力ＹＨは０／１を繰り返しており、カウント値ＣＯＵＮＴＨは基準値以上（ここでは５）であり、ＴＲＩＧＨは高レベルになる。したがって、電源制御部８４はＶＤＤの増加を指示する指令Ｕｐを出力し、これに応じて、状態は“ＶＤＤＵＰ”に遷移し、ＶＤＤを単位量上昇させる。ＶＤＤが上昇するので、ＦＦモニタ３１の出力ＹＷは低レベルになり、カウント値がゼロになるので、状態は“ＶＤＤＨＯＬＤ”に遷移する。以下このような動作を繰り返す。これにより、ＶＤＤは、第１余裕電圧と第２余裕電圧の間に安定的に維持され、第１余裕電圧より低くなった場合も第２余裕電圧より高くなった場合も、第１余裕電圧と第２余裕電圧の間に戻るように制御される。
【００８７】
以上第１および第２実施形態を説明したが、各種の変形例があり得るのはいうまでもない。例えば、第１および第２実施形態では、フリップフロップ(FF: Flip-Flop)を利用するモニタ回路を例として説明したが、ＦＦを含む回路素子を利用して、回路ブロック１が誤動作する電源電圧であるかモニタするようにしてもよい。
【００８８】
図２３は、フリップフロップ（ＦＦ）モニタ回路３１の変形例を示す図である。
このＦＦモニタ回路３１は、入力信号生成回路３２と、レプリカ回路３３と、誤動作回路３４と、比較回路３５と、を有する。入力信号生成回路３２は、ＮＡＮＤゲート４４を有し、ＰＭＵ７からの制御信号ＥＮが高レベル(High)の時に、内部クロックを通過させ、ＥＮが低レベルの時には遮断する。
【００８９】
レプリカ回路３３は、図５の（Ａ）に示したような回路ブロック１で使用されるＦＦと同じ回路構成および特性を有するＦＦを含むレプリカカウンタ５５を有し、カウント値Ｙ１を出力する。誤動作回路３４は、レプリカ回路３３で使用されるレプリカカウンタ５５と同様に、回路ブロック１で使用されるＦＦと同じＦＦを含む誤動作カウンタ６５を有するが、電源電圧ＶＤＤが第１余裕電圧より低くなると誤動作するＦＦを含む。誤動作カウンタ６５は、カウント値Ｙ２を出力する。誤動作カウンタ６５に含まれるＦＦは、例えば、図１２に示したように実現される。言い換えれば、誤動作回路３４は、レプリカ回路３３が誤動作（ミスカウント）する電圧より高い電圧で誤動作（ミスカウント）する。
【００９０】
比較回路３５は、レプリカ回路３３の出力するカウント値Ｙ１と、誤動作回路３４の出力するカウント値Ｙ２が一致するかデジタルコンパレータ(Digital Comparator)７８を含む。レプリカ回路３３と誤動作回路３４の２つのカウンタには入力信号生成回路３２から同じ信号が入力されるので、レプリカ回路３３と誤動作回路３４が共に正常に動作する場合には、カウント値は同じであり、比較回路３５は一致を検出する。もし、比較回路３５の出力Ｙが不一致を示す場合には、レプリカ回路３３と誤動作回路３４の一方が誤動作してミスカウントしており、具体的にはより高いＶＤＤで誤動作する誤動作回路３４がミスカウント（誤動作）したと判定される。
【００９１】
図２４は、レプリカカウンタ５５および誤動作カウンタ６５の入出力信号および動作を示す図であり、（Ａ）が入出力信号を、（Ｂ）が動作を示すタイムチャートである。
図２４の（Ａ）に示すように、カウンタは、端子ＩＮから入力するパルス信号のパルス数をカウントする。カウンタは、ＥＮ端子に入力するシステムクロックＳＹＳＣＬＫの立ち上りで、カウント値を取り込んでＯＵＴ端子からＹとして出力すると共に、それまでのカント値をリセットする。
【００９２】
図２４の（Ｂ）に示すように、レプリカカウンタ５５および誤動作カウンタ６５は、ＳＹＳＣＬＫの１周期に５パルスを有する入力信号ＩＮのパルス数をカウントして、ＳＹＳＣＬＫの立ち上りに同期してＹ１およびＹ２として出力する。レプリカカウンタ５５および誤動作カウンタ６５が正常に動作すれば、Ｙ１＝Ｙ２＝５である。
【００９３】
以上の通り、カウンタのようなＦＦを含む回路要素を利用してＦＦモニタ回路を形成することが可能である。ＦＦを含む各種の回路要素は、回路ブロック１に多数使用されており、ＦＦモニタ回路は、いずれの回路要素を利用しても実現できる。
【００９４】
誤動作回路３４に含まれる電源電圧ＶＤＤが第１余裕電圧より低くなると誤動作するＦＦを実現する構成例を、図１２に示したが、他にも各種の実現方法があり、以下に変形例を示す。
図２５は、電源電圧ＶＤＤが第１余裕電圧より低くなると誤動作するＦＦの変形例を示す図である。
【００９５】
図２５の（Ａ）は、図５に示したトライステート型ＦＦ（ＴＢＦＦ）のマスタ部１１を示す。この変形例では、マスタ部１１のインバータ１３および１５の一部のトランジスタのゲート幅を変更して第１余裕電圧より低くなると誤動作するようにしたものである。なお、スレーブ部１２またはマスタ部１１およびスレーブ部１２にも同様の変形を適用してもよい。
【００９６】
図２５の（Ｂ）は、図２５の（Ａ）のマスタ部１１をトランジスタレベルで示す図であり、参照番号１３−１５で示す部分がそれぞれインバータ１３−１５に対応する。インバータ１３は、ＶＤＤとＧＮＤ間に直列に接続したＰＭＯＳトランジスタＭＰ１１およびＭＰ１２と、ＮＭＯＳトランジスタＭＮ１と、を有する。インバータ１５は、ＶＤＤとＧＮＤ間に直列に接続したＰＭＯＳトランジスタＭＰ２１およびＭＰ２２と、ＮＭＯＳトランジスタＭＮ２と、を有する。インバータ１４は、ＶＤＤとＧＮＤ間に直列に接続したＰＭＯＳトランジスタＭＰ３１と、ＮＭＯＳトランジスタＭＮ３と、を有する。配線については図示の通りであり、広く知られているので、説明は省略する。
【００９７】
変形例においては、図２５の（Ｂ）において、インバータ１３のＰＭＯＳトランジスタＭＰ１１およびインバータ１５のＰＭＯＳトランジスタＭＰ２１のゲート幅を、回路ブロック１で使用されるＦＦのものより、非常に小さくする。他のトランジスタＭＰ１２、ＭＰ２２、ＭＰ３１、ＭＮ１、ＭＮ２およびＭＮ３のゲート幅は、回路ブロック１で使用されるＦＦのものと同じにする。これにより、ＭＰ１１およびＭＰ２１のオン時の抵抗が大きくなり、信号Ｄ０およびＤ１の振幅が不十分になりやすくなり、ＦＦとして誤動作しやすくなる。
【００９８】
図２６は、電源電圧ＶＤＤが第１余裕電圧より低くなると誤動作するＦＦの別の変形例を示す図である。
【００９９】
図２６のＦＦ１０は、トライステート型ＦＦ（ＴＢＦＦ）であり、同じ構成のマスタ部１１及びスレーブ部１２と、クロック生成部と、を有する。マスタ部１１及びスレーブ部１２は、図５の（Ａ）のＦＦに対して、クロックが半周期ずれている以外は同じであり、同様に動作する。クロック生成部は、インバータ１７と、遅延回路１９と、を有し、内部クロックから反転クロックＣＬＫＢを生成する。回路ブロック１で使用される通常のＦＦは、図５の（Ｂ）に示すように、遅延回路１９は設けず、インバータ１７の出力がそのままＣＬＫＢとなる。言い換えれば、図２６のＦＦでは、反転クロックＣＬＫＢは、通常の場合より遅れており、ＣＬＫとＣＬＫＢが同じ状態（０および１）をとる時間が長くなる。そのため、インバータ１４の入力信号Ｄ０が不安定になり、ＦＦとして誤動作しやすくなる。
【０１００】
図２６に示した信号を遅延させることにより誤動作しやすくする方法は、他にも適用可能である。例えば、図１１で、インバータ５３の出力を、通常と同様にＦＦ５２には遅延させずに入力し、ＦＦ６２には遅延させて入力することにより、ＦＦ６２は誤動作しやすくなる。
【０１０１】
以上第１および第２実施形態を説明したが、各種の変形例があり得るのはいうまでもない。例えば、第１、第２実施形態および変形例では、トライステート型ＦＦ（ＴＢＦＦ）を例として説明したが、他の形式のＦＦを使用してもよい。
【０１０２】
以上、実施形態を説明したが、ここに記載したすべての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものである。特に記載された例や条件は発明の範囲を制限することを意図するものではなく、明細書のそのような例の構成は発明の利点および欠点を示すものではない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。
【符号の説明】
【０１０３】
１    回路ブロック
２、４    ＦＦ（フリップフロップ）
３    組合せ論理回路(Combinational Logic)
５    遅延モニタ回路
６    第１回路ブロック用電源(Power Supply)
７    電源制御回路(PMU: Power Management Unit)
８    ＰＬＬ
３１    フリップフロップ（ＦＦ）モニタ回路
３３    レプリカ回路
３４    誤動作回路
３５    比較回路
【図１】
2015115586.tif 000003
【図２】
2015115586.tif 000004
【図３】
2015115586.tif 000005
【図４】
2015115586.tif 000006
【図５】
2015115586.tif 000007
【図６】
2015115586.tif 000008
【図７】
2015115586.tif 000009
【図８】
2015115586.tif 000010
【図９】
2015115586.tif 000011
【図１０】
2015115586.tif 000012
【図１１】
2015115586.tif 000013
【図１２】
2015115586.tif 000014
【図１３】
2015115586.tif 000015
【図１４】
2015115586.tif 000016
【図１５】
2015115586.tif 000017
【図１６】
2015115586.tif 000018
【図１７】
2015115586.tif 000019
【図１８】
2015115586.tif 000020
【図１９】
2015115586.tif 000021
【図２０】
2015115586.tif 000022
【図２１】
2015115586.tif 000023
【図２２】
2015115586.tif 000024
【図２３】
2015115586.tif 000025
【図２４】
2015115586.tif 000026
【図２５】
2015115586.tif 000027
【図２６】
2015115586.tif 000028