JP5241450B2 - 半導体装置及びその異常検出方法 - Google Patents

半導体装置及びその異常検出方法 Download PDF

Info

Publication number
JP5241450B2
JP5241450B2 JP2008302751A JP2008302751A JP5241450B2 JP 5241450 B2 JP5241450 B2 JP 5241450B2 JP 2008302751 A JP2008302751 A JP 2008302751A JP 2008302751 A JP2008302751 A JP 2008302751A JP 5241450 B2 JP5241450 B2 JP 5241450B2
Authority
JP
Japan
Prior art keywords
signal
clock signal
semiconductor device
clock
program
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.)
Active
Application number
JP2008302751A
Other languages
English (en)
Other versions
JP2010128790A (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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2008302751A priority Critical patent/JP5241450B2/ja
Priority to US12/320,576 priority patent/US7872505B2/en
Publication of JP2010128790A publication Critical patent/JP2010128790A/ja
Priority to US12/966,367 priority patent/US7986168B2/en
Priority to US13/168,149 priority patent/US8081014B2/en
Priority to US13/303,697 priority patent/US8269526B2/en
Priority to US13/591,521 priority patent/US8466714B2/en
Application granted granted Critical
Publication of JP5241450B2 publication Critical patent/JP5241450B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Microcomputers (AREA)

Description

本発明は半導体装置及びその異常検出方法に関し、特にプログラムを実行する演算回路を有する半導体装置及びその異常検出方法に関する。
マイコン(Micro Computer)等の半導体装置は、外部にて生成した動作クロック信号に基づき動作する。このとき、マイコンを含むシステムの低消費電力化、又はマイコンの信頼性の向上を目的として、マイコンに供給する動作クロック信号の切り替えを行うことがある。
このような動作クロック信号の切り替えの一例が特許文献1に開示されている。特許文献1に記載の半導体装置100のブロック図を図5に示す。半導体装置100は、クロック停止回路である。半導体装置100は、クロック停止検出回路101、セット・リセット型フリップフロップ102、自走マルチ103、カウンタ104、選択回路105を有する。半導体装置100では、外部クロック信号CKEの有無をクロック停止検出回路101により検出する。そして、クロック停止検出回路101により外部クロック信号CKEの停止状態が検出された場合には、カウンタ104により設定された所定の期間において、セット・リセット型フリップフロップ102と自走マルチ103とにより構成される内部クロック発生回路により生成される内部クロック信号CKIをマイコン等の内部回路へのクロック信号CLKとして出力する。なお、外部クロック信号CKEと内部クロック信号CKIのいずれをクロック信号CLKとするかは、選択回路105により選択される。
つまり、半導体装置100では、システムの低消費電力化を実現するために、外部クロック信号CKEの発振を停止した場合において、外部クロック信号CKEの停止から所定の期間の間、内部クロック発生回路により動作を行う。これにより、半導体装置100では、外部クロック信号CKEがマイコンの動作と関係なく停止した場合であっても、内部クロック信号CKIによりマイコンを安全にストップ状態に移行させることができる。つまり、半導体装置100では、マイコンを含むシステムの低消費電力化を実現するために外部クロック信号CKEを停止する場合に、マイコンの動作に関係なく外部クロック信号CKEを停止させることができる。
また、動作クロック信号を切り替える別の例が特許文献2に開示されている。特許文献2に記載の半導体装置200のブロック図を図6に示す。半導体装置200は、PLL内蔵マイクロコンピュータにおけるPLL(Phase Locked Loop)回路及び発振停止検出回路である。また、図6では示していないが、半導体装置200は、PLL回路及び発振停止検出回路の前段に外部生成クロック信号を受ける外部生成クロック停止回路を有する。
図6に示すように、半導体装置200は、PLL回路210、発振停止検出回路201を有する。また、発振停止検出回路201は、エッジ検出回路220、2bitカウンタ230、OR回路240、外部生成クロック信号停止検出部250を有する。PLL回路210は、外部生成クロック信号が供給されている場合は、外部生成クロック信号のn逓倍の周波数を有する内部クロック信号SCLKを出力し、外部生成クロック信号が供給されずロウレベルの電圧(例えば接地電圧)が供給されている場合は、所定の周波数を有する内部クロック信号SCLKを出力する。エッジ検出回路220は、外部生成クロック信号の円委を検出する。2bitカウンタ230は、エッジ検出回路220の出力によってクリアされ、内部クロック信号をカウントソースとしてカウント動作を行う。なお、2bitカウンタ230へのクリア信号は、OR回路240を介して与えられる。OR回路240には、初期化信号INITIALと、エッジ検出回路220の出力信号とが与えられる。つまり、2bitカウンタ230へのクリア信号は、初期化信号INITIALと、エッジ検出回路220の出力信号との論理和演算結果が与えられる。外部生成クロック信号停止検出部250は、2bitカウンタ230の出力が所定の設定値を超えると、これを外部生成クロック信号の停止として検出し、外部クロック停止検出信号CT11を出力し続ける。そして、外部生成クロック停止回路は、外部クロック停止検出信号CT11を受けると、外部生成クロック信号を遮断し、ロウレベルの信号を出力する。
つまり、半導体装置200では、外部生成クロック信号が断線等の不具合により停止した場合に、外部生成回路クロック信号の停止を発振停止検出回路201により検出し、その後の動作クロック信号をPLL回路210が自ら生成する内部クロック信号SCLKとする。これにより、半導体装置200では、断線等による外部生成クロック信号の停止が発生した場合であってもマイコン等の動作を継続して行うことができる。つまり、半導体装置200は、外部生成クロック信号の不具合に対して高い信頼性を確保することができる。
特開平4−365110号公報 特開2004−334794号公報
しかしながら、特許文献1、2に記載の技術では、常に外部クロック信号の発振状態を監視しなければならず、半導体装置が動作している期間における消費電力を十分に低減できない問題がある。
また、マイコン等の半導体装置では、実行中のプログラムが暴走又は停止し、システムに重大な障害を生じさせることがある。このプログラムの暴走又は停止の1つの原因として動作クロックの停止がある。そこで、特許文献1、2に記載の技術を用いて停止した外部クロックに代えて他のクロック信号を用いることは有効であるようにも考えられる。
しかしながら、マイコン等の半導体装置では、一定時間以上経過してもプログラムの処理が終了しない場合にプログラムが暴走又は停止していると判断し、実行中のプログラムに関する情報を廃棄する等してプログラムを強制終了させることがある。そのため、特許文献1、2に記載の技術を用いて動作クロック信号の供給を再開したとしても、その再開がプログラムの強制終了後になると、動作クロック信号の再供給が開始される前の状態はすでに廃棄されているため、マイコンがそれ以前の状態とは全く異なった状態に基づいて再始動することになる。そのため、再始動後のマイコンが新たに発生したプログラムの暴走により正常に動作しない場合がある。
つまり、特許文献1、2に記載の技術では、外部クロック信号の発振の有無のみを監視しているため、実行中のプログラムの状態とは関係なく動作クロック信号の再供給が開始されるため、再始動後のマイコンの正しい動作状態で動作させられない場合がある。このようなことから、特許文献1、2に記載の技術では、マイコンの動作の信頼性が十分でない問題がある。
本発明にかかる半導体装置の一態様は、クロック伝達ノードを介して入力される動作クロック信号に基づきプログラムを実行する演算回路と、内部で用いられる内部クロック信号を生成する内部発振器と、前記内部クロック信号をカウントし、カウント値が前記演算回路における前記プログラムの実行時間が予め定められた値に達したことを検出し、通知信号を出力するウォッチドッグタイマと、前記通知信号に応じて前記動作クロック信号の有無を検出するクロック監視回路と、を有する。
本発明にかかる半導体装置における異常検出方法の一態様は、動作クロック信号に基づきプログラムを実行する演算回路を有する半導体装置における異常検出方法であって、前記演算回路における前記プログラムの実行時間を計測し、前記実行時間が予め設定された値に達したことに応じて前記動作クロック信号の有無を検出し、前記演算回路における異常状態が前記動作クロック信号の異常又は前記プログラムの異常とのいずれに起因するものであるかを判断するものである。
本発明にかかる半導体装置及びその異常検出方法では、ウォッチドッグタイマにより演算回路におけるプログラムの実行状態を検出する。そして、プログラムに異常があると判断された場合にクロック監視回路による動作クロック信号の監視を行う。これにより、クロック監視回路はプログラムの実行状態に異常があると思われる場合にのみ動作させることができるため、半導体装置の消費電力を削減することができる。
また、ウォッチドッグタイマにより演算回路におけるプログラムの実行状態を検出し、かつ、クロック監視回路により動作クロック信号の異常を検出するため、本発明にかかる半導体装置は、演算回路において実行されるプログラムが強制終了される前に、半導体装置の再始動後の動作のための動作を決定することができる。これにより、本発明にかかる半導体装置及びその異常検出方法では、半導体装置の再始動時の信頼性を向上させることができる。
本発明にかかる半導体装置及びその異常検出方法によれば、低消費電力と高い信頼性を確保することができる。
実施の形態1
以下、図面を参照して本発明の実施の形態について説明する。図1に本実施の形態にかかる半導体装置1のブロック図を示す。図1に示すように、半導体装置1は、主発振器10、副発振器11、内部発振器12、セレクタ13、演算回路(CPU:Central Processing Unit)14、フラッシュメモリ15、RAM(Random Access Memory)16、クロック監視回路17、ウォッチドッグタイマ18を有する。
主発振器10及び副発振器11は、インバータ及び抵抗Rを有する。そして、主発振器10及び副発振器11は、半導体装置1の外部に設けられる水晶発振子Xtal及びコンデンサCと共に発振器を構成する。主発振器10はメインクロック信号CLKmを出力し、副発振器11はサブクロック信号CLKsを出力する。このとき、主発振器10と副発振器11とでは、抵抗RとコンデンサCにより決まる時定数が異なり、この時定数の違いに応じてメインクロック信号CLKmとサブクロック信号CLKsとの周波数の差が決まる。本実施の形態では、メインクロック信号CLKmは、サブクロック信号CLKsよりも高い周波数を有する。なお、本実施の形態では、メインクロック信号CLKmとサブクロック信号CLKsは、半導体装置1の内部に設けられた回路と外部に設けられた水晶発振子Xtal及びコンデンサCとにより生成されるが、主発振器10及び副発振器11はともに外部に設けることもできる。そのため、以下の説明では、メインクロック信号CLKmとサブクロック信号CLKsとをともに外部クロック信号として扱う。また、主発振器10及び副発振器11は、クロック監視回路17が出力するアクティベーション信号に応じて動作状態と停止状態とを切り替える。
内部発振器12は、例えば、自走発振器やPLL回路とうの発振回路であって、単体でクロック信号を生成できる回路である。内部発振器12は、半導体装置1の内部において用いられる内部クロック信号CLKintを生成する。
セレクタ13は、メインクロック信号CLKm、サブクロック信号CLKs及び内部クロック信号CLKintを受信する。そして、セレクタ13は、クロック監視回路17が出力するクロック切替信号に基づき受信したクロック信号のいずれか1つを動作クロック伝達ノードに対して出力する。セレクタ13が出力するクロック信号を以下では動作クロック信号CLKopと称す。
CPU14は、フラッシュメモリ15に格納されるプログラムを読み込み、当該プログラムを実行する。また、CPU14は、プログラムを実行するに当たりRAM16をプログラムの実行中に生じる中間データの格納場所として用いる。CPU14、フラッシュメモリ15、RAM16にはそれぞれ動作クロック信号CLKopが供給され、これら回路は動作クロック信号CLKopに基づき動作する。
また、CPU14は、第1の通知信号(例えば、オーバーフロー事前通知信号)、第2の通知信号(例えば、オーバーフロー通知信号)及びバックアップ要求信号が入力され、WDTクリア信号を出力する。オーバーフロー事前通知信号は、後述するウォッチドッグタイマ18から入力される。そして、CPU14は、オーバーフロー事前通知信号を受信した場合、プログラムの実行状態を確認し、プログラムが正常に処理できている場合はWDTクリア信号を出力する。一方、CPU14において実行されるプログラムが暴走等している場合は、WDTクリア信号は出力されない。なお、WDTクリア信号は、CPU14において実行されているプログラムが正常終了した場合及び実行するプログラムが切り替えられた場合においても出力される。オーバーフロー通知信号は、後述するウォッチドッグタイマ18から入力される。そして、CPU14は、オーバーフロー通知信号を受けた場合、実行中のプログラムを強制終了させる。バックアップ要求信号は、後述するクロック監視回路から入力される。そして、CPU14は、バックアップ要求信号を受けると、実行中のプログラムを途中で終了させるために、実行中のプログラムに関する情報をRAM16又はフラッシュメモリ15に退避させる。
クロック監視回路17は、オーバーフロー事前通知信号に応じて動作クロック信号CLKopの有無を検出する。より具体的には、クロック監視回路17は、半導体装置1の起動時にCPU14又は図示しない他の回路からクロック設定信号を受けて、動作クロック信号CLKopを監視するクロックモニタ期間の長さ等の各種設定が行われる。また、クロック監視回路17は、内部クロック信号CLKintに基づき動作する。そして、クロック監視回路17は、オーバーフロー事前通知信号に応じて動作クロック信号CLKopの有無の監視を開始する。この監視は、クロック設定信号により予め設定された期間の間で行われる。
クロック監視回路17は、動作クロック信号CLKopが停止していることを検出した場合、クロック切替信号を出力して、セレクタが選択するクロック信号を現在とは異なるクロック信号に切り替える。また、クロック監視回路17は、主発振器10及び副発振器11にアクティベーション信号を出力する。本実施の形態では、主発振器10に対するアクティベーション信号と副発振器11に対するアクティベーション信号とは互いに排他的に制御される。つまり、本実施の形態では、ある時点において動作している発振器は、主発振器10と副発振器11とのいずれか一方となる。さらに、クロック監視回路17は、動作クロック信号CLKopが停止していることを検出した場合、CPU14に対してバックアップ要求信号を出力する。なお、クロック監視回路17は、動作クロック信号CLKopの有無を監視するクロック監視期間において動作クロック信号CLKopがあることを検出した場合、クロック切替信号、アクティベーション信号及びバックアップ要求信号をそれ以前の状態で維持する。
ウォッチドッグタイマ18は、内部クロック信号CLKintのクロック数をカウントし、そのカウント値が予め設定された値に達するとオーバーフロー事前通知信号又はオーバーフロー通知信号を出力する。より具体的には、本実施の形態におけるウォッチドッグタイマ18は、予め設定された値として、1つのプログラムがCPU14を占有する時間(この時間をプログラムの実行時間と称す)の最大カウント値と、この最大値よりも小さな値を有する事前通知カウント値とを有する。そして、ウォッチドッグタイマ18は、カウント値が事前通知カウント値に達するとオーバーフロー事前通知信号を出力する。また、ウォッチドッグタイマ18は、カウント値が最大カウント値に達するとオーバーフロー通知信号を出力する。なお、ウォッチドッグタイマ18は、CPU14からWDTクリア信号を受けた場合、カウント値を初期化し、その後初期化後のカウント値からカウントアップを再開する。
続いて、図2〜図4に半導体装置1の動作を示すタイミングチャートを示す。そして、このタイミングチャートを参照して半導体装置1の動作について詳細に説明する。半導体装置1では、CPU14において実行中のプログラムの状態及び動作クロック信号CLKopの状態によって動作が異なる。図2に示すタイミングチャートは、CPU14において実行中のプログラムの動作が正常な状態を維持している場合の例を示す。図3に示すタイミングチャートは、CPU14において実行中のプログラムの動作に異常が発生している場合の例を示す。図4に示すタイミングチャートは、動作クロック信号CLKopが途中で停止してしまうことでCPU14の動作に異常が生じている場合の例を示す。また、図2〜図4の例は、いずれもCPU14に供給される動作クロック信号としてサブクロック信号CLKsが選択されている状態を動作の開始状態としている。
まず、図2に示す例について説明する。この例では、タイミングT1においてウォッチドッグタイマ18のカウント値が事前通知カウント値に達する。そのため、タイミングT1でオーバーフロー事前通知信号が立ち上がる。そして、このオーバーフロー事前通知信号の立ち上がりに応じて、クロック監視回路17内のクロックモニタイネーブル信号が立ち上がり、クロック監視回路17は動作クロック信号CLKopの監視を開始する。その後、オーバーフロー事前通知信号はタイミングT1で立ち下がる。一方、クロックモニタイネーブル信号は、クロックモニタ期間が経過したタイミングT3で立ち下がる。このとき、図2に示す例では、クロックモニタ期間にクロック監視回路17は動作クロック信号CLKopがあることを検出するため、クロック切替信号、アクティベーション信号及びバックアップ要求信号をそれ以前の状態で維持する。その後、タイミングT4〜T5の期間において、CPU14は、タイミングT1において受け取ったオーバーフロー事前通知信号に応じてWDTクリア信号を出力する。このWDTクリア信号は、CPU14において実行されているプログラムが正常であるためにCPU14が出力するものである。
このように、CPU14において実行されているプログラムに異常がなく、かつ、動作クロック信号CLKopも正常である場合、オーバーフロー事前通知信号が出力したとしても、動作クロック信号CLKopの供給先の切り替え動作等は行われず、かつ、適切なタイミングでウォッチドッグタイマ18がリセットされる。これにより、CPU14は、実行中のプログラムに関する処理を続行することができる。
続いて、図3に示す例について説明する。図3に示す例は、図2に示した例において、実行中のプログラムが異常状態となった場合を示す。図3に示す例では、プログラムが異常な状態となり暴走しているため、タイミングT4〜T5の期間に出力されるWDTクリア信号が出力されない。そのため、ウォッチドッグタイマ18は、タイミングT6においてカウント値が最大カウント値に達する。そして、ウォッチドッグタイマ18は、タイミングT6〜T7の期間にオーバーフロー通知信号を出力する。このオーバーフロー通知信号は、CPU14に入力され、CPU14は実行中のプログラムを強制終了させることで、プログラムの暴走を停止させる。
このように、動作クロック信号CLKopが正常な状態において、CPU14で実行中のプログラムが暴走した場合には、ウォッチドッグタイマ18が出力するオーバーフロー通知信号により、CPU14は、プログラムの暴走状態から脱出することができる。
続いて、図4に示す例について説明する。図4に示す例ではタイミングT11において動作クロック信号CLKopとして供給されているサブクロック信号CLKsが停止する。その後、タイミングT12においてウォッチドッグタイマ18のカウント値が事前通知カウント値に達する。そのため、タイミングT12でオーバーフロー事前通知信号が立ち上がる。そして、このオーバーフロー事前通知信号の立ち上がりに応じて、クロック監視回路17内のクロックモニタイネーブル信号が立ち上がり、クロック監視回路17は動作クロック信号CLKopの監視を開始する。その後、オーバーフロー事前通知信号はタイミングT13で立ち下がる。一方、クロックモニタイネーブル信号は、クロックモニタ期間が経過したタイミングT13で立ち下がる。このとき、図4に示す例では、クロックモニタ期間にクロック監視回路17は動作クロック信号CLKopがないことを検出する。そのため、クロック監視回路17は、タイミングT14においてクロック切替信号を更新し、セレクタ13が選択するクロック信号をメインクロック信号に切り替える。また、クロック監視回路17は、アクティベーション信号を操作し、副発振器11を停止させ、主発振器10の動作を開始する。これにより、CPU14には、動作クロック信号CLKopとしてメインクロック信号CLKmが供給され、CPU14は、動作を再開する。また、このタイミングT14においてクロック監視回路17は、バックアップ要求信号を立ち上げてCPU14に実行中のプログラムの退避を指示する。そのため、タイミングT14以降の動作でCPU14は、プログラムの退避動作及びプログラムの終了処理を行う。なお、バックアップ要求信号は、タイミングT15で立ち下がる。そして、CPU14は、プログラムの退避動作又はプログラムの終了処理の開始に伴い、WDTクリア信号をタイミングT16〜T17の期間に出力し、ウォッチドッグタイマ18のカウント値をクリアする。
このように、半導体装置1では、動作クロック信号CLKopが停止していることに起因してオーバーフロー事前通知信号が出力された場合、動作クロック信号CLKopの供給先を切り替え、その後のCPU14の動作を行う。また、動作クロック信号CLKopの切り替え後に供給されるクロック信号は本来のクロック信号とは異なる周波数を有するため、CPU14の処理と他の回路の処理との誤差に起因するシステム上の不具合を生じる可能性がある。そこで、半導体装置1では、動作クロック信号CLKopの停止後にCPU14の処理を再開する場合には、それ以前に実行していたプログラムを退避させて正常終了の状態に移行させる。これにより、動作クロック信号CLKopの停止時のシステム上の信頼性を向上させる。
上記説明より、本実施の形態にかかる半導体装置1では、ウォッチドッグタイマ18によりCPU14においてプログラムの異常が生じている可能性があることを検出する。そして、プログラムの異常が予測された場合にのみ動作クロック信号CLKopの有無を検出するクロック監視回路17を動作させる。つまり、本実施の形態にかかる半導体装置1では、動作クロック信号CLKopの状態を常に監視することはないため、動作クロック信号CLKopの監視にかかる消費電力を削減することができる。なお、ウォッチドッグタイマ18は、CPU14におけるプログラムの実行時間を計測するために、従来から用いられるものであり、ウォッチドッグタイマ18を用いることによる消費電力の増加はない。
また、本実施の形態にかかる半導体装置1では、ウォッチドッグタイマ18によりCPU14においてプログラムの異常が生じている可能性があることを検出し、その検出結果に基づきクロック監視回路17が動作クロック信号CLKopの有無を確認する。このとき、クロック監視回路17は、動作クロック信号CLKopがないと判断した場合は、動作クロック信号CLKopの供給先を切り替えると共に、プログラムの退避をCPU14に指示するバックアップ要求信号を出力する。これにより、本実施の形態にかかる半導体装置1では、動作クロック信号CLKopの供給元が切り替えられ、動作クロック信号CLKopの供給が再開された時点ですでにプログラムが強制終了されてしまうことを防止することができる。つまり、本実施の形態にかかる半導体装置1は、動作クロック信号CLKopの供給再開後にマイコンが不正な状態になることを防止することができるため、高い信頼性を実現することができる。
特に、本実施の形態にかかる半導体装置1では、CPU14にプログラムの強制終了処理を指示するオーバーフロー通知信号よりも前のタイミングで出力されるオーバーフロー事前通知信号に基づきクロック監視回路17が動作クロック信号CLKopの監視を開始する。これにより、本実施の形態にかかる半導体装置1は、動作クロック信号CLKopの供給元を切り替え動作及びプログラムの退避指示をプログラムの強制終了処理が行われる前に確実に行うことができる。つまり、本実施の形態にかかる半導体装置1では、オーバーフロー事前通知信号に基づきクロック監視回路17が動作クロック信号CLKopの監視を開始することで、さらなる信頼性の向上を実現することができる。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
実施の形態1にかかる半導体装置のブロック図である。 実施の形態1にかかる半導体装置の正常動作時の動作を示すタイミングチャートである。 実施の形態1にかかる半導体装置においてプログラム自体が暴走した場合の動作を示すタイミングチャートである。 実施の形態1にかかる半導体装置において動作クロック信号CLKopの停止が検出された場合の動作を示すタイミングチャートである。 特許文献1に記載の半導体装置のブロック図である。 特許文献2に記載の半導体装置のブロック図である。
符号の説明
1 半導体装置
10 主発振器
11 副発振器
12 内部発振器
13 セレクタ
14 CPU
15 フラッシュメモリ
16 RAM
17 クロック監視回路
18 ウォッチドッグタイマ
C コンデンサ
R 抵抗
Xtal 水晶発振子
CLKm メインクロック信号
CLKs サブクロック信号
CLKint 内部クロック信号
CLKop 動作クロック信号

Claims (11)

  1. クロック伝達ノードを介して入力される動作クロック信号に基づきプログラムを実行する演算回路と、
    内部で用いられる内部クロック信号を生成する内部発振器と、
    前記内部クロック信号をカウントし、カウント値が前記演算回路における前記プログラムの実行時間が予め定められた値に達したことを検出し、通知信号を出力するウォッチドッグタイマと、
    前記通知信号に応じて前記動作クロック信号の有無を検出するクロック監視回路と、を有し、
    前記通知信号は、
    前記カウント値が予め定められた前記演算回路における前記プログラムの実行時間の上限値よりも小さな事前通知最大値に達した場合に出力される第1の通知信号と、
    前記カウント値が前記上限値に達した場合に出力される第2の通知信号と、を含み、
    前記クロック監視回路は、前記第1の通知信号に応じて前記動作クロック信号の有無の監視を開始する半導体装置。
  2. 前記クロック監視回路において前記動作クロック信号を検出した場合、
    前記演算回路は、前記第1の通知信号を受けた場合に実行中の前記プログラムに異常が認められなければ前記ウォッチドッグタイマのカウント値をリセットするWDTクリア信号を出力し、前記第2の通知信号を受けた場合には前記第2の通知信号に応じて実行中の前記プログラムを強制終了させる請求項に記載の半導体装置。
  3. 前記クロック監視回路は、前記動作クロック信号がないことを検出した場合、前記演算回路において実行中の前記プログラムに関する処理を再開させるための処理を指示するバックアップ要求信号を前記演算回路に対して出力する請求項1又は2に記載の半導体装置。
  4. 前記クロック監視回路において前記動作クロック信号が検出されなかった場合に前記クロック伝達ノードに対して出力するクロック信号を切り替えるセレクタを有する請求項1乃至のいずれか1項に記載の半導体装置。
  5. 前記セレクタには、前記半導体装置の外部において生成される複数の外部クロック信号が入力され、前記セレクタは、前記複数の外部クロック信号のうちいずれか1つを前記クロック伝達ノードに出力する請求項に記載の半導体装置。
  6. 前記セレクタには、前記半導体装置の外部において生成される外部クロック信号と前記内部クロック信号とが入力され、前記セレクタは、前記外部クロック信号と前記内部クロック信号のいずれか一方を前記クロック伝達ノードに出力する請求項に記載の半導体装置。
  7. 前記クロック監視回路が前記動作クロック信号を検出し、かつ、前記演算回路が前記第1の通知信号に応じて前記ウォッチドッグタイマのカウント値をリセットするWDTクリア信号を出力した場合、
    前記ウォッチドッグタイマは前記カウント値を初期値に戻してカウント動作を継続し、
    前記クロック監視回路は、次に前記第1の通知信号が入力されるまで動作を停止し、
    前記演算回路は実行中の前記プログラムの処理を継続する
    請求項に記載の半導体装置。
  8. 前記クロック監視回路が前記動作クロック信号を検出し、かつ、前記演算回路が前記第1の通知信号に応じて前記ウォッチドッグタイマのカウント値をリセットするWDTクリア信号を出力しなかった場合、
    前記ウォッチドッグタイマは前記第2の通知信号を出力し、
    前記演算回路は前記第2の通知信号に応じて実行中の前記プログラムを強制終了する
    請求項に記載の半導体装置。
  9. 前記クロック監視回路において前記動作クロック信号が停止していることを検出した場合、
    前記クロック監視回路は、前記動作クロック信号の供給元を切り替えると共に前記演算回路に対して前記プログラムに関する処理を再開させるための処理を指示するバックアップ要求信号を出力する
    請求項に記載の半導体装置。
  10. 前記演算回路は、前記動作クロック信号の供給が再開後に前記ウォッチドッグタイマのカウント値をリセットするWDTクリア信号を出力すると共に前記バックアップ要求信号に基づいて前記プログラムに関する処理を再開させるための処理を行う
    請求項に記載の半導体装置。
  11. 前記ウォッチドッグタイマは、前記動作クロック信号の供給が再開後においても前記ウォッチドッグタイマのカウント値をリセットするWDTクリア信号を前記演算回路から受信できない場合、前記第2の通知信号を前記演算回路に対して出力し、
    前記演算回路は、前記第2の通知信号に応じて実行中の前記プログラムを強制終了する
    請求項に記載の半導体装置。
JP2008302751A 2008-11-27 2008-11-27 半導体装置及びその異常検出方法 Active JP5241450B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2008302751A JP5241450B2 (ja) 2008-11-27 2008-11-27 半導体装置及びその異常検出方法
US12/320,576 US7872505B2 (en) 2008-11-27 2009-01-29 Semiconductor apparatus and anomaly detection method of the same
US12/966,367 US7986168B2 (en) 2008-11-27 2010-12-13 Semiconductor apparatus and anomaly detection method of the same
US13/168,149 US8081014B2 (en) 2008-11-27 2011-06-24 Apparatus for detecting presence or absence of oscillation of clock signal
US13/303,697 US8269526B2 (en) 2008-11-27 2011-11-23 Apparatus for detecting presence or absence of oscillation of clock signal
US13/591,521 US8466714B2 (en) 2008-11-27 2012-08-22 Apparatus for detecting presence or absence of oscillation of clock signal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008302751A JP5241450B2 (ja) 2008-11-27 2008-11-27 半導体装置及びその異常検出方法

Publications (2)

Publication Number Publication Date
JP2010128790A JP2010128790A (ja) 2010-06-10
JP5241450B2 true JP5241450B2 (ja) 2013-07-17

Family

ID=42195646

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008302751A Active JP5241450B2 (ja) 2008-11-27 2008-11-27 半導体装置及びその異常検出方法

Country Status (2)

Country Link
US (5) US7872505B2 (ja)
JP (1) JP5241450B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5241450B2 (ja) * 2008-11-27 2013-07-17 ルネサスエレクトロニクス株式会社 半導体装置及びその異常検出方法
US10489163B2 (en) * 2016-06-06 2019-11-26 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Loading a program during boot of a device
US10256801B2 (en) * 2016-08-31 2019-04-09 M31 Technology Corporation Integrated circuit with clock detection and selection function and related method and storage device
CN108762886B (zh) * 2018-05-08 2020-12-01 烽火通信科技股份有限公司 虚拟机的故障检测恢复方法及系统
CN110569141B (zh) * 2019-11-07 2020-02-18 潍坊汇金海物联网技术有限公司 一种基于看门狗复位、心跳电路实现超低功耗的控制方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4618850A (en) * 1982-09-16 1986-10-21 Westinghouse Electric Corp. A/D converter having digitally controlled subranging and self alignment apparatus for use therein
JPS6037815A (ja) * 1983-08-09 1985-02-27 Nec Corp クロツク検出回路
JPH0760990B2 (ja) * 1989-02-23 1995-06-28 エルエスアイ・ロジック株式会社 ディジタルフィルタ
JP2964704B2 (ja) 1991-06-13 1999-10-18 日本電気株式会社 クロック停止回路
JP3264139B2 (ja) * 1994-07-07 2002-03-11 株式会社デンソー マイクロコンピュータの駆動装置
US6707320B2 (en) * 2001-11-30 2004-03-16 Sun Microsystems, Inc. Clock detect indicator
JP4000001B2 (ja) * 2002-04-22 2007-10-31 松下電器産業株式会社 クロック制御装置およびクロック制御方法
JP4432354B2 (ja) * 2003-04-24 2010-03-17 日本電気株式会社 ウオッチドッグタイマ回路の状態監視方式
JP2004334794A (ja) 2003-05-12 2004-11-25 Renesas Technology Corp Pll内蔵マイクロコンピュータ
JP2005182349A (ja) * 2003-12-18 2005-07-07 Yaskawa Electric Corp クロック同期システムにおけるクロック監視回路
US7352214B2 (en) * 2004-10-06 2008-04-01 Broadcom Corporation System and method for clock detection with glitch rejection
JP2006172202A (ja) * 2004-12-16 2006-06-29 Nec Electronics Corp 半導体装置
JP4931220B2 (ja) * 2007-03-12 2012-05-16 インターナショナル・ビジネス・マシーンズ・コーポレーション 検出装置、システム、プログラムおよび検出方法
JP4388571B2 (ja) * 2007-10-31 2009-12-24 Okiセミコンダクタ株式会社 高速クロック検知回路
JP5241450B2 (ja) * 2008-11-27 2013-07-17 ルネサスエレクトロニクス株式会社 半導体装置及びその異常検出方法

Also Published As

Publication number Publication date
US8269526B2 (en) 2012-09-18
US20120066557A1 (en) 2012-03-15
US7986168B2 (en) 2011-07-26
US20110080194A1 (en) 2011-04-07
JP2010128790A (ja) 2010-06-10
US20100127740A1 (en) 2010-05-27
US7872505B2 (en) 2011-01-18
US20120317435A1 (en) 2012-12-13
US8081014B2 (en) 2011-12-20
US8466714B2 (en) 2013-06-18
US20110258476A1 (en) 2011-10-20

Similar Documents

Publication Publication Date Title
JP4750564B2 (ja) リセット信号生成回路
JP5241450B2 (ja) 半導体装置及びその異常検出方法
WO2006103814A1 (ja) アプリケーション管理装置およびそのソフトウェアを格納した記憶媒体
JP2008003797A (ja) マイクロコンピュータ及び電子制御装置
US10719331B2 (en) Stand-by mode of an electronic circuit
JP2008299731A (ja) 半導体集積回路、情報処理システム
JP4000001B2 (ja) クロック制御装置およびクロック制御方法
JP4393954B2 (ja) マイクロコンピュータ
JP2007323631A (ja) Cpu暴走判定回路
JP2004280783A (ja) マイクロコンピュータ
JP6148129B2 (ja) 情報処理装置、ファームウェア更新方法およびファームウェア更新プログラム
JP5346964B2 (ja) 電子機器およびシステム管理プログラム
JP4219601B2 (ja) 情報処理装置
JP5277262B2 (ja) 電子機器およびシステム管理プログラム
JP6762656B2 (ja) Cpuスタンバイ復帰構造
JP3711849B2 (ja) マイクロコンピュータ
CN112000505A (zh) 一种分时段可靠的看门狗电路及其控制方法
JP4394622B2 (ja) 自動復旧回路及び自動復旧方法
JP7478065B2 (ja) 情報処理装置および情報処理方法
WO2016145774A1 (zh) 电子设备的启动方法和装置
JP2006276947A (ja) 電源制御装置および電源制御方法
JP2011134063A (ja) ウォッチドッグタイマ
JP2003044324A (ja) 異常検出確認方法及び異常検出確認装置並びに異常検出確認プログラム
JP2014203087A (ja) 携帯端末の再起動装置および再起動方法
JP2015049827A (ja) 回路装置および回路装置の復旧方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111013

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121211

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130208

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: 20130305

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130402

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160412

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5241450

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350