(57)【要約】【課題】半導体装置の安定動作と電源電圧および基板電圧の異常の高精度な検出との両立を図ると共に、その異常に起因する誤動作による被害を最小限に留める。【解決手段】半導体装置１００は、所定の電源電圧ＶＤＤおよび基板電圧ＶＢＢが供給されるＣＰＵ部１０と、上記電源電圧ＶＤＤおよび基板電圧ＶＢＢの異常を検出する第１の異常検出部１３および第２の異常検出部２０とを備える。第２の異常検出部２０は、リング発振器２１と、当該リング発振器２１の出力周波数を監視する監視部２２とを備える。リング発振器２１は、上記電源電圧ＶＤＤおよび基板電圧ＶＢＢが供給され、出力周波数がその電源電圧ＶＤＤおよび基板電圧ＶＢＢに応じて変化する。監視部２２は、リング発振器２１の出力周波数が所定範囲から外れたときに異常を示す警告信号を出力する。【選択図】図１
2009069947.tif 000002
【特許請求の範囲】
【請求項１】
所定の電源電圧および基板電圧が供給される半導体回路部と、
前記半導体回路部の動作を規定するクロック信号を生成するクロック生成部と、
前記電源電圧および前記基板電圧が供給されて動作し、出力周波数が前記電源電圧および前記基板電圧に応じて変化する発振器と、
前記発振器の出力周波数が所定範囲から外れたときに警告信号を出力する監視部とを備える
ことを特徴とする半導体装置。
【請求項２】
前記発振器はリング発振器である
ことを特徴とする請求項１記載の半導体装置。
【請求項３】
前記監視部は、前記電源電圧および前記基板電圧とは別の電源が供給されて動作するものである
ことを特徴とする請求項１または請求項２記載の半導体装置。
【請求項４】
前記監視部から前記警告信号が出力されたときに前記半導体回路部の動作を強制的に停止させる非常停止部をさらに備える
ことを特徴とする請求項１から請求項３のいずれか記載の半導体装置。
【請求項５】
前記電源電圧を動的に変化させる電源電圧制御部、および前記基板電圧を動的に変化させる基板電圧制御部の少なくとも片方をさらに備える
ことを特徴とする請求項１から請求項４のいずれか記載の半導体装置。
【請求項６】
所定の電源電圧および基板電圧が供給される半導体回路部と、
前記半導体回路部の動作を規定するクロック信号を生成するクロック生成部と、
前記クロック信号の周波数が変動したときに第１警告信号を出力する第１異常検出部と、
前記電源電圧および前記基板電圧が供給される発振器、並びに前記発振器の出力周波数が所定範囲から外れたときに第２警告信号を出力する監視部を含む第２異常検出部とを備える
ことを特徴とする半導体装置。
【請求項７】
前記発振器はリング発振器である
ことを特徴とする請求項６記載の半導体装置。
【請求項８】
前記監視部は、前記電源電圧および前記基板電圧とは別の電源が供給されて動作するものである
ことを特徴とする請求項６または請求項７記載の半導体装置。
【請求項９】
前記第１異常検出部から前記第１警告信号が出力されたときに当該半導体装置の正常な動作を継続させるための処理を行う誤動作防止部と、
前記第２異常検出部から前記第２警告信号が出力されたときに前記半導体回路部の動作を強制的に停止させる非常停止部とをさらに備える
ことを特徴とする請求項６から請求項８のいずれか記載の半導体装置。
【請求項１０】
前記電源電圧を動的に変化させる電源電圧制御部、および前記基板電圧を動的に変化させる基板電圧制御部の少なくとも片方をさらに備える
ことを特徴とする請求項６から請求項９のいずれか記載の半導体装置。
【請求項１１】
所定の電源電圧が供給される半導体回路部と、
前記半導体回路部の動作を規定するクロック信号を生成するクロック生成部と、
前記電源電圧が供給されて動作し、出力周波数が前記電源電圧に応じて変化する発振器と、
前記発振器の出力周波数が所定範囲から外れたときに警告信号を出力する監視部とを備える
ことを特徴とする半導体装置。
【請求項１２】
前記発振器はリング発振器である
ことを特徴とする請求項１１記載の半導体装置。
【請求項１３】
前記監視部は、前記電源電圧とは別の電源が供給されて動作するものである
ことを特徴とする請求項１１または請求項１２記載の半導体装置。
【請求項１４】
前記監視部から前記警告信号が出力されたときに前記半導体回路部の動作を強制的に停止させる非常停止部をさらに備える
ことを特徴とする請求項１１から請求項１３のいずれか記載の半導体装置。
【請求項１５】
前記電源電圧を動的に変化させる電源電圧制御部をさらに備える
ことを特徴とする請求項１１から請求項１４のいずれか記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置に半導体装置に関し、特に電源が不適切な値をとった場合に生じる不具合を最小限に留めるための技術に関するものである。
【背景技術】
【０００２】
半導体装置の高速動作化と低消費電力化の両立を図る技術として、半導体装置に動的電源電圧制御手段および基板電圧制御手段を実装させることが知られている。動的電源電圧制御技術は、通常は電源電圧を低く抑えて半導体装置の消費電力の削減を図り、例えばＣＰＵ（Central Processing Unit）の演算量が増大したときなど、必要に応じて電源電圧を上げて高速動作を可能にするものである。
【０００３】
また基板電圧制御技術は、トランジスタの基板端子に与える電圧を動的に変化させることでトランジスタの特性を変化させるものである。トランジスタの基板端子に順方向バイアス（Forward Bias）を印加すると、当該トランジスタのしきい値電圧が下がり、高速動作が可能になる。基板端子に逆方向バイアス（Reverse Bias）を印加すると、トランジスタのしきい値電圧が上がり、リーク電流を減少させて消費電力を小さくすることができる。基板電圧制御技術では、このように基板電圧を動的に変化させることで、トランジスタの総合的な性能を向上させている。
【０００４】
動的電源電圧制御機構および基板電圧制御機構は、このように半導体装置の高性能化をもたらすが、従来の単純な電源制御機構よりも複雑な構成であるため、故障や誤動作の発生が懸念される。例えば動的電源電圧制御機構が誤動作し、電源電圧が何らかの理由により必要とされる値よりも低くなった場合、半導体装置は充分な速度で動作することができず、タイミングエラーが発生する。
【０００５】
また例えば基板電圧制御機構が誤動作して基板バイアスが過度に大きくなると、タイミングエラーやラッチアップが生じてしまう。逆に、基板バイアスが過度に小さくなると、高速動作化やリーク電流削減などの目的を充分に達成できなくなる。
【０００６】
一方、電源電圧値が不適切な値をとったときの誤動作を防止するための技術も知られている（例えば特許文献１，２）。特許文献１では、半導体装置の動作クロックの周波数が上がったとき、消費電力の急激な増加に伴う電源電圧の低下が生じるため、電源電圧が安定するまでＣＰＵにおけるプログラム実行を中断させることで誤動作を防止している。また特許文献２では、クロック信号の周波数に基づいて電源電圧の低下を検出し、そのときメモリへの書き込み動作における単位書き込み長を短くすることで、確実に書き込みを行い誤動作を防止している。
【０００７】
【特許文献１】特開２００６−１８９９９６号公報
【特許文献２】特開平９−１６１４９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上記の特許文献１，２においては、共にＣＰＵ（マイクロコンピュータ）に供給されるクロック信号の周波数を監視することで、電源電圧の異常な変動を検出している。しかし、当該クロック信号はＣＰＵの動作タイミングを規定するものであるので、ＣＰＵの動作を安定させるためにその周波数は常に安定していることが望ましい。従って通常は、クロック信号の発生回路には、その周波数が電源電圧の影響を受けにくくする機構が設けられる。
【０００９】
しかし特許文献２のように、ＣＰＵに供給するクロック信号を監視して電源電圧の異常な変動を検出する手法にあっては、クロック信号の周波数が電源電圧の影響を受けにくくなるとその検出精度が低下する。つまり特許文献２の手法では、ＣＰＵの動作の安定化させると電源電圧の変動の検出精度が下がり、逆に検出精度を高めようとするとＣＰＵの動作が不安定になるので、電源電圧の変動の検出精度向上とＣＰＵの動作安定性の向上との両立を図ることが難しい。
【００１０】
また特許文献１，２では、クロック信号の周波数を監視して電源電圧の異常な変動を検出する回路（異常検出部）は、ＣＰＵ等と同じ電源を用いて駆動されている。よって例えば電源電圧が変動したときに異常検出部自身も正常に動作できず、その変動を正しく検出できないことも考えられる。電源電圧の変動を検出できなかった場合には、誤動作の発生が検知されないままＣＰＵが動作を続け（いわゆるＣＰＵの「暴走」）、その誤動作に起因する被害が拡大することが懸念される。誤動作を予め防止することは当然重要であるが、フェイルセーフの観点から、誤動作が生じたとしてもその被害を最小限に留めることが望まれる。
【００１１】
本発明は以上のような課題を解決するためになされたものであり、半導体装置の安定動作と電源電圧および基板電圧の異常の高精度な検出との両立を図ることを第１の目的とし、電源電圧および基板電圧の異常に起因する誤動作による被害を最小限に留めることと第２の目的とし、これら第１および第２の目的をより簡単な機構により実現することを第３の目的とする。
【課題を解決するための手段】
【００１２】
本発明に係る半導体装置は、所定の電源電圧および基板電圧が供給される半導体回路部と、半導体回路部の動作を規定するクロック信号を生成するクロック生成部と、上記電源電圧および基板電圧の異常を検出する異常検出部とを備える。異常検出部は、発振器と、当該発振器の出力周波数を監視する監視部とを備える。異常検出部の発振器は、半導体回路部と共通の電源電圧および基板電圧が供給され、出力周波数がその電源電圧および基板電圧に応じて変化するものである。また監視部は、発振器の出力周波数が所定範囲から外れたときに電源電圧および基板電圧の異常を示す警告信号を出力する。
【発明の効果】
【００１３】
本発明によれば、電源電圧および基板電圧の異常の検出に用いられる発振器が、半導体回路部の動作を規定するクロック信号を生成するクロック生成部とは個別の回路として設けられているので、半導体回路部の安定性を損なうことなく、精度の高い異常検出が可能である。
【発明を実施するための最良の形態】
【００１４】
図１は、本発明の実施の形態に係る半導体装置１００の構成を示すブロック図である。同図の如く、半導体装置１００は、内部クロック生成部１１、ＣＰＵ１２、第１の異常検出部１３および誤動作防止部１４を含むＣＰＵ部１０（半導体回路部）を備えている。
【００１５】
ＣＰＵ部１０には、電源電圧制御部１５が生成する電源電圧ＶＤＤおよび基板電圧制御部１６が生成する基板電圧ＶＢＢが供給される。電源電圧制御部１５および基板電圧制御部１６は、半導体装置１００の外部から入力される外部電源が供給されている。本実施の形態では、電源電圧制御部１５および基板電圧制御部１６が、電源電圧ＶＤＤおよび基板電圧ＶＢＢを動的に変化させるものとする。
【００１６】
なお、半導体装置１００がＰＭＯＳトランジスタとＮＭＯＳトランジスタの両方を含む場合、基板電圧制御部１６が基板電圧ＶＢＢを動的に変化させるときには、ＰＭＯＳトランジスタの基板電圧ＶＢＢ（Ｐ）と、ＮＭＯＳトランジスタの基板電圧ＶＢＢ（Ｎ）とが個別に設定される。以下の説明では、それらをまとめて「基板電圧ＶＢＢ」と総称している。
【００１７】
内部クロック生成部１１は、外部クロック信号ＣＬＫEXTに基づいて内部クロック信号ＣＬＫINTを生成するものであり、例えば外部クロック信号ＣＬＫEXTの周波数を逓倍するＰＬＬ（Phase-Locked Loop）回路である。ＣＰＵ１２の動作タイミングは、内部クロック信号ＣＬＫINTによって規定される。
【００１８】
図２に、外部クロック信号ＣＬＫEXTの半導体装置１００への入力形態の例を示す。図２においては、図１と対応する要素には同一符号を付してある。外部クロック信号ＣＬＫEXTの入力形態の一例としては、例えば図２（ａ）の如く、半導体装置１００に外部接続した発振器１０１から入力される形態が挙げられる。この場合、外部クロック信号ＣＬＫEXTは、バッファＢＦを介してＣＰＵ部１０に入力されるのが一般的である。
【００１９】
また例えば、図２（ｂ）の如く、外部クロック信号ＣＬＫEXTが、半導体装置１００と同一基板上に設けられた水晶振動子ＸＬから供給される形態も考えられる。この場合、水晶振動子ＸＬを発振させるために、水晶振動子ＸＬの両端間にインバータＩＶが接続されるのが一般的である。また図示は省略するが、図２（ｂ）の例でも外部クロック信号ＣＬＫEXTは、バッファを介して半導体装置１００内のＣＰＵ部１０等に供給されてもよい。
【００２０】
なお図２（ａ），（ｂ）に示されているように、本実施の形態では、外部クロック信号ＣＬＫEXTは後述する第２の異常検出部２０（監視部２２）にも入力される。
【００２１】
第１の異常検出部１３は、内部クロック信号ＣＬＫINTの周波数を監視することにより、電源電圧ＶＤＤおよび基板電圧ＶＢＢの異常な変動を検出するものである。即ち第１の異常検出部１３は、内部クロック信号ＣＬＫINTの周波数が変動したときに、電源電圧ＶＤＤおよび基板電圧ＶＢＢに変動が生じたと判断し、一定の期間、第１警告信号ＡＬＲＴ１を誤動作防止部１４へと出力する。誤動作防止部１４は、第１警告信号ＡＬＲＴ１が入力されている間、ＣＰＵ１２が正常な動作を継続するように所定の誤動作防止動作を行う。
【００２２】
誤動作防止部１４が行う誤動作防止動作としては、例えば上記の特許文献１，２におけるものと同じでよい。即ち、本実施の形態の誤動作防止動作は、例えば電源電圧ＶＤＤおよび基板電圧ＶＢＢに異常な変動が生じている間（第１の異常検出部１３から第１警告信号ＡＬＲＴ１が出力されている間）、ＣＰＵ１２におけるプログラム実行を中断させるものであってもよいし、ＣＰＵ１２が行うメモリ（不図示）への書き込み動作における単位書き込み長を短くするものであってもよい。
【００２３】
ここで、内部クロック信号ＣＬＫINTの周波数が変動する場合としては、二通りが考えられる。その一つ目は、特許文献１にあるように、ＣＰＵ１２の動作速度を変更するために内部クロック信号ＣＬＫINTの周波数を積極的に変化させる場合であり、二つ目は、特許文献２にあるように、電源電圧ＶＤＤおよび基板電圧ＶＢＢの不要な変動が原因となって内部クロック信号ＣＬＫINTの周波数に予期せぬ変動が生じる場合である。後者の場合はもちろん、前者の場合でも消費電力の変化に起因する電源電圧ＶＤＤおよび基板電圧ＶＢＢに変動が懸念されるため、誤動作防止部１４はそれらに起因する誤動作を防止しているのである。
【００２４】
本実施の形態の半導体装置１００は、電源電圧ＶＤＤおよび基板電圧ＶＢＢの異常を検出する手段として、第１の異常検出部１３とは別に、第２の異常検出部２０を備えている。但し、第２の異常検出部２０は、誤動作防止部１４によってもＣＰＵ１２の誤動作を防止することができない程の大きな電源電圧ＶＤＤおよび基板電圧ＶＢＢの変動を検出するものである。
【００２５】
図１に示すように第２の異常検出部２０は、リング発振器２１と、その出力である発振クロック信号ＯＳＣOUTの周波数を監視する監視部２２とから成っている。そのうちリング発振器２１は、ＣＰＵ部１０内にレイアウトされている。言い換えれば、リング発振器２１には、ＣＰＵ部１０内の他の要素と同様に、電源電圧制御部１５からの電源電圧ＶＤＤおよび基板電圧制御部１６からの基板電圧ＶＢＢが供給されて動作するものである。
【００２６】
一方、監視部２２は、それら電源電圧ＶＤＤおよび基板電圧ＶＢＢとは独立した電源が供給されて動作するものである。図１においては、半導体装置１００の外部から入力される外部電源が、監視部２２に直接供給される例を示している。他の例としては、例えば外部電源の電圧を所定の値に変換するレギュレータを設け、その出力を監視部２２に供給してもよい。また上記したように、監視部２２には外部クロック信号ＣＬＫEXTも入力されている。
【００２７】
リング発振器２１は、発振クロック信号ＯＳＣOUTの周波数が、電源電圧ＶＤＤおよび基板電圧ＶＢＢの値に応じて変化するように構成されている。第２の異常検出部２０においては、発振クロック信号ＯＳＣOUTの周波数を、監視部２２が監視することで、電源電圧ＶＤＤおよび基板電圧ＶＢＢの異常を検出する。また監視部２２は、発振クロック信号ＯＳＣOUTの周波数が正常な範囲から外れたときに、電源電圧ＶＤＤおよび基板電圧ＶＢＢに異常が生じたと判断して、第２警告信号ＡＬＲＴ２を出力する。
【００２８】
監視部２２から出力された第２警告信号ＡＬＲＴ２は、非常停止回路２３へと入力される。非常停止回路２３は、第２警告信号ＡＬＲＴ２が入力されると、強制的にＣＰＵ部１０の動作を停止させる。具体的には、ＣＰＵ１２の動作を直接停止させるものであってもよいし、あるいは内部クロック生成部１１、電源電圧制御部１５および基板電圧制御部１６等の周辺回路の動作を停止させて間接的にＣＰＵ１２の動作を停止させるものであってもよい。
【００２９】
リング発振器２１は、図３のように、奇数個のインバータＩＶ1，ＩＶ2，…，ＩＶ２k-1（ｋは整数）を環状に接続させて成る発振回路である。つまり発振クロック信号ＯＳＣOUTの周波数は、それらインバータＩＶ1，ＩＶ2，…，ＩＶ２k-1の動作速度に依存する。
【００３０】
本実施の形態では、インバータＩＶ1，ＩＶ2，…，ＩＶ２k-1の各々は、電源電圧ＶＤＤおよび基板電圧ＶＢＢが供給されて動作する。その結果、インバータＩＶ1，ＩＶ2，…，ＩＶ２k-1の各々の動作速度は、電源電圧ＶＤＤおよび基板電圧ＶＢＢに応じて変化し、その結果、その変動に応じて発振クロック信号ＯＳＣOUTの周波数が変化することとなる。
【００３１】
発振クロック信号ＯＳＣOUTの周波数が電源電圧ＶＤＤおよび基板電圧ＶＢＢの変動の影響を大きく受けるほど、その異常を精度良く検出することができるため望ましい。図４は、本実施の形態のリング発振器２１を構成する各インバータの回路構成を示す図である。同図の如く、各インバータは、１つのＰＭＯＳトランジスタと１つのＮＭＯＳトランジスタから成る最もシンプルなＣＭＯＳ構造を有している。
【００３２】
また上記とおり、各インバータには、電源として電源電圧ＶＤＤが供給され、基板電位として基板電圧ＶＢＢが供給されている。本実施の形態では、基板電圧制御部１６は基板電圧ＶＢＢを動的に変化させるので、その値はＰＭＯＳトランジスタとＮＭＯＳトランジスタとで個別に設定される。つまり図４に示すように、ＰＭＯＳトランジスタおよびＮＭＯＳトランジスタのボディに、それぞれＰＭＯＳ用基板電位ＶＢＢ（Ｐ）およびＰＭＯＳ用基板電圧ＶＢＢ（Ｎ）が供給される。
【００３３】
このようにリング発振器２１を構成する各インバータがシンプルな構造を有し、且つ、それらが電源電圧ＶＤＤおよび基板電圧ＶＢＢを受けて動作することにより、発振クロック信号ＯＳＣOUTの周波数は、電源電圧ＶＤＤおよび基板電圧ＶＢＢの変動の影響を大きく受けることとなる。その結果、監視部２２において、電源電圧ＶＤＤおよび基板電圧ＶＢＢの異常を精度良く検出することができる。
【００３４】
なお、図３に示したリング発振器２１のインバータＩＶ1，ＩＶ2，…，ＩＶ２k-1は、インバータ動作を行う他の回路で置き換えてもよい。例えば、図５（ａ）のように一方の入力端子をＨ（High）レベル（電源電圧ＶＤＤ）に固定したＮＡＮＤゲートや、図５（ｂ）のように一方の入力端子をＬｏｗレベル（接地レベル）に固定したＮＯＲゲートはインバータ動作を行う他の回路の代表例である。
【００３５】
図６は、第２の異常検出部２０の監視部２２の具体的構成例を示す図である。本実施の形態の監視部２２は、カウンタ２２１および判定部２２２から成る。カウンタ２２１は、リング発振器２１が出力する発振クロック信号ＯＳＣOUTの周波数測定に用いられる。カウンタ２２１の計数端子（COUNT）には、発振クロック信号ＯＳＣOUTが入力される。またカウンタ２２１のリセット端子（RESET）には、周波数測定の基準となる基準クロックが入力される。その基準クロックは、発振クロック信号ＯＳＣOUTよりも周波数が低く、その周波数が電源電圧ＶＤＤおよび基板電圧ＶＢＢの値にかかわらず一定なものである。本実施の形態では、その基準クロックとして、外部クロック信号ＣＬＫEXTが用いられる。
【００３６】
図７は、カウンタ２２１の動作を示すタイミング図である。カウンタ２２１は、リセット端子に入力される外部クロック信号ＣＬＫEXTがＨレベルの期間（「カウント期間」と定義する）毎に、その間入力される発振クロック信号ＯＳＣOUTのパルス数をカウントする。各カウント期間におけるカウント値ＣＮＴは、そのときの周波数に対応するものとなる。
【００３７】
判定部２２２は、各カウント期間におけるカウント値ＣＮＴに基づいて、発振クロック信号ＯＳＣOUTの周波数が所定の許容範囲内にあるか否かを判定するものである。図８は、判定部２２２の構成を示す論理回路図である。同図の如く、判定部２２２は、比較器３１，３２およびＯＲゲート３３から成っている。
【００３８】
比較器３１は、カウント値ＣＮＴと所定の最大許容値ＭＡＸAとを比較し、カウント値ＣＮＴが最大許容値ＭＡＸAよりも大きい場合に出力をＨレベルにするものである。また比較器３２は、カウント値ＣＮＴと所定の最小許容値ＭＩＮAとを比較し、カウント値ＣＮＴが最小許容値ＭＩＮAよりも小さい場合に出力をＨレベルにするである。比較器３１，３２の出力は共にＯＲゲート３３に入力され、ＯＲゲート３３の出力が第２警告信号ＡＬＲＴ２となる。結果として、第２警告信号ＡＬＲＴ２は、カウント値ＣＮＴが最大許容値ＭＡＸAと最小許容値ＭＩＮAとの間（許容範囲）から外れたときにＨレベルとなる。
【００３９】
上記の最大許容値ＭＡＸAおよび最小許容値ＭＩＮAには、電源電圧ＶＤＤおよび基板電圧ＶＢＢの異常な値をとったときに第２警告信号ＡＬＲＴ２がＨレベルになるように、適切な値を設定しておく必要がある。以下、最大許容値ＭＡＸAおよび最小許容値ＭＩＮAの値の決定手法の例を説明する。
【００４０】
リング発振器２１においては、電源電圧ＶＤＤが高いほど、また基板電圧ＶＢＢとして大きな順方向バイアスが供給されているほど、それを構成する各インバータの動作速度が上がるため、発振クロック信号ＯＳＣOUTの周波数は高くなる。反対に、電源電圧ＶＤＤが低いほど、また基板電圧ＶＢＢとして大きな逆方向バイアスが供給されているほど、発振クロック信号ＯＳＣOUTの周波数は低くなる。
【００４１】
従って、ＣＰＵ部１０に含まれる全てのトランジスタの動作が保証される最大の電源電圧ＶＤＤおよび最大の順方向バイアスとなる基板電圧ＶＢＢを想定し、その条件下でリング発振器２１の動作をシミュレーションしてそのときの発振クロック信号ＯＳＣOUTの周波数を求め、それに対応するカウント値ＣＮＴを最大許容値ＭＡＸAとして定める。また、全てのトランジスタの動作が保証できる最小の電源電圧ＶＤＤおよび最大の逆方向バイアスとなる基板電圧ＶＢＢを想定し、その条件下での発振クロック信号ＯＳＣOUTの周波数をシミュレーションにて求め、それに対応するカウント値ＣＮＴを最小許容値ＭＩＮAとして定める。このように最大許容値ＭＡＸAおよび最小許容値ＭＩＮAを定めると、電源電圧ＶＤＤおよび基板電圧ＶＢＢの値が、ＣＰＵ部１０の正常動作が保証される範囲から逸脱したときに、監視部２２から第２警告信号ＡＬＲＴ２が出力されるようになる。
【００４２】
なお、最大許容値ＭＡＸAおよび最小許容値ＭＩＮAは固定値でよいが、例えばＣＰＵ部１０の温度に応じて変化する変数としてもよい。それにより、さらに精度の高い電源電圧ＶＤＤおよび基板電圧ＶＢＢの異常検出が可能になる。但しその場合には、温度に応じて最大許容値ＭＡＸAおよび最小許容値ＭＩＮAを算出する演算手段が必要となったり、あるいは各温度に応じた複数の最大許容値ＭＡＸAおよび最小許容値ＭＩＮAを保持するためのテーブル（メモリ）が必要となるため、回路規模の拡大を伴う結果となることに留意すべきである。
【００４３】
図９は、監視部２２の動作を示すフロー図である。以下、この図に基づいて監視部２２の動作を説明する。
【００４４】
まず監視部２２のカウンタ２２１におけるカウント値ＣＮＴは、カウント期間に入る外部クロック信号ＣＬＫEXTの立ち上がり時にリセットされる（ステップＳ１）。そしてカウント期間の間、発振クロック信号ＯＳＣOUTのパルス数がカウントされる（ステップＳ２）。その後、外部クロック信号ＣＬＫEXTの立ち下がりと共にカウント期間が終了すると、判定部２２２が、そのときのカウント値ＣＮＴをチェックする（ステップＳ３）。判定部２２２においては、図８の回路を用いて、カウント値ＣＮＴが許容範囲内（最大許容値ＭＡＸAと最小許容値ＭＩＮAとの間）にあるか否かが判定される（ステップＳ４）。
【００４５】
ステップＳ４において、カウント値ＣＮＴが許容範囲内であれば、判定部２２２は、電源電圧ＶＤＤおよび基板電圧ＶＢＢが正常な範囲内であると判断し、第２警告信号ＡＬＲＴ２を出力することなく再びステップＳ１に戻る。
【００４６】
またカウント値ＣＮＴが許容範囲外であれば、判定部２２２は、電源電圧ＶＤＤおよび基板電圧ＶＢＢが異常な値をとっているものと判断し、第２警告信号ＡＬＲＴ２を出力する（ステップＳ５）。この場合、ＣＰＵ１２の動作は、非常停止回路２３により強制的に停止される。その結果、ＣＰＵ１２の暴走が防止され、誤動作による被害は最小限に食い止められる。
【００４７】
以上説明したように、本実施の形態に係る半導体装置１００によれば、内部クロック生成部１１が生成する内部クロック信号ＣＬＫINTが変動したときの、電源電圧ＶＤＤおよび基板電圧ＶＢＢの比較的小さな変動は、第１の異常検出部１３により検出される。そして誤動作防止部１４により、その変動に起因するＣＰＵ１２の誤動作が防止され、ＣＰＵ部１０は、正常な動作を継続して行うことができる。
【００４８】
さらに、電源電圧ＶＤＤおよび基板電圧ＶＢＢに、誤動作防止部１４の処理ではＣＰＵ１２の誤動作を防止できない程の大きな変動が生じた場合には、それが第２の異常検出部２０により検出される。そして非常停止回路２３により、ＣＰＵ１２の動作が強制的に停止されることで、ＣＰＵ１２の暴走が防止され、ＣＰＵ部１０の誤動作による被害を最小限に食い止めることができる。
【００４９】
また本実施の形態では、第２の異常検出部２０が行う電源電圧ＶＤＤおよび基板電圧ＶＢＢの変動の検出に、リング発振器２１を用いている。リング発振器２１の周波数は、それを構成する個々のインバータの動作速度に依存し、電源電圧ＶＤＤおよび基板電圧ＶＢＢの影響を受けやすいので、高精度な検出が可能である。特に、図４のようにシンプルな構成のインバータを用いれば、電源電圧ＶＤＤおよび基板電圧ＶＢＢの変動の影響をさらに受けやすくなるだけでなく、本発明の効果をより簡単な回路構成により得ることができるという効果が得られる。
【００５０】
さらに本実施の形態では、リング発振器２１は、専ら電源電圧ＶＤＤおよび基板電圧ＶＢＢの変動の検出に用いられるものであり、ＣＰＵ１２に供給する内部クロック信号ＣＬＫINTを生成する内部クロック生成部１１とは別に設けられている。従って、リング発振器２１の動作が電源電圧ＶＤＤおよび基板電圧ＶＢＢの変動の影響を受けやすくしても、ＣＰＵ１２の動作の安定性には影響しない。よって電源電圧ＶＤＤおよび基板電圧ＶＢＢの変動の検出精度の向上と、ＣＰＵ１２の動作安定性の向上の両立が可能である。
【００５１】
一方、第２の異常検出部２０の監視部２２は、電源電圧ＶＤＤおよび基板電圧ＶＢＢとは独立した電源が供給されて動作するものであるので、電源電圧ＶＤＤおよび基板電圧ＶＢＢの変動により監視部２２の誤動作が生じることはない。従って、第２の異常検出部２０の動作をより確実に行うことができ、半導体装置１００の信頼性の向上に寄与できる。
【００５２】
また、非常停止回路２３も、電源電圧ＶＤＤおよび基板電圧ＶＢＢに異常な変動が生じた際に動作するものであるので、その動作が確実に行われるように、非常停止回路２３の電源としても電源電圧ＶＤＤおよび基板電圧ＶＢＢとは別のものが供給されることが望ましい。
【００５３】
なお、本実施の形態では電源電圧ＶＤＤおよび基板電圧ＶＢＢが供給される半導体回路部として、ＣＰＵ１２を備えるＣＰＵ部１０を例に示したが、本発明はディジタル回路を備える半導体回路部に広く適用可能である。
【００５４】
また本実施の形態ではＣＰＵ部１０に供給する電源電圧ＶＤＤおよび基板電圧ＶＢＢの両方が制御される半導体装置１００に本発明を適用した例を示したが、本発明の適用はこれに限定されるものではない。基板電圧制御を行わずに電源電圧制御のみを行う半導体装置も存在しており、本発明はそのような半導体装置に対しても適用可能である。
【図面の簡単な説明】
【００５５】
【図１】本発明の実施の形態に係る半導体装置の構成を示すブロック図である。
【図２】外部クロック信号の入力態様の例を示す図である。
【図３】リング発振器の構成を示す図である。
【図４】リング発振器の各インバータの構成を示す図である。
【図５】リング発振器の変形例を説明するための図である。
【図６】第２の異常検出部の構成を示すブロック図である。
【図７】第２の異常検出部が備えるカウンタの動作を説明するための図である。
【図８】第２の異常検出部の監視部が備える判定部の構成を示す論理回路図である。
【図９】第２の異常検出部の監視部の動作を示すフロー図である。
【符号の説明】
【００５６】
１０  ＣＰＵ部、１００  半導体装置、１１  内部クロック生成部、１２  ＣＰＵ、１３  第１の異常検出部、１４  誤動作防止部、１５  電源電圧制御部、１６  基板電圧制御部、２０  第２の異常検出部、２１  リング発振器、２２  監視部、２２１  カウンタ、２２２  判定部、２３  非常停止回路、３１  比較器、３２  比較器、３３  ＯＲゲート。
【図１】
2009069947.tif 000003
【図２】
2009069947.tif 000004
【図３】
2009069947.tif 000005
【図４】
2009069947.tif 000006
【図５】
2009069947.tif 000007
【図６】
2009069947.tif 000008
【図７】
2009069947.tif 000009
【図８】
2009069947.tif 000010
【図９】
2009069947.tif 000011