半導体装置
【課題】複数の電源ブロックに分割した半導体装置にて、誤動作を引き起こし得る状態が発生した場合に、その発生を簡便かつ速やかに検出できるようにする。
【解決手段】異なる電源ブロックに配置され、クロックに同期して動作する第1及び第2の記憶回路と、一方の記憶回路の出力端子と他方の記憶回路の入力端子との間に接続される第1及び第2の遅延回路と、記憶回路の入力信号及び出力信号に基づいて誤動作が生じ得る状態であるか否かを判定し、判定結果をエラー検出信号として出力する判定回路とを備え、第1及び第2の記憶回路に異なる初期値を与えて、記憶回路間においてトグル状態で信号が送受信されているか否かをモニターすることにより、誤動作が生じ得る状態になったことを簡便かつ速やかに検出できるようにする。
【解決手段】異なる電源ブロックに配置され、クロックに同期して動作する第1及び第2の記憶回路と、一方の記憶回路の出力端子と他方の記憶回路の入力端子との間に接続される第1及び第2の遅延回路と、記憶回路の入力信号及び出力信号に基づいて誤動作が生じ得る状態であるか否かを判定し、判定結果をエラー検出信号として出力する判定回路とを備え、第1及び第2の記憶回路に異なる初期値を与えて、記憶回路間においてトグル状態で信号が送受信されているか否かをモニターすることにより、誤動作が生じ得る状態になったことを簡便かつ速やかに検出できるようにする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、動作電圧や動作周波数を制御可能な複数の電源ブロックを有する半導体装置に関する。
【背景技術】
【0002】
近年、LSI等の半導体装置(半導体集積回路)の高速化・大規模化に伴い、半導体装置の消費電力の削減が大きな課題となっている。半導体装置の負荷容量をC、電源電圧をV、動作周波数をFとすると、半導体装置の消費電力Pは、一般にP=C×V2×Fで表される。
【0003】
そこで、チップ内を複数の電源ブロックに分割し、電源ブロックの動作電圧や動作周波数を制御することによって半導体装置の消費電力を削減する技術が、高速なプロセッサや様々な低消費電力化が必須の半導体装置に適用されるようになってきている。消費電力の削減技術としては、特定のブロックに対して動的に動作電圧や動作周波数を変更するDVFS(Dynamic Voltage Frequency Scaling)と呼ばれる技術や、特定のブロックへの電源供給をオン/オフ制御するパワーゲーティング(Power Gating)制御技術などがある。
【0004】
しかし、特定の電源ブロックに対する電源供給のオン/オフ制御、動作電圧の変更制御、動作周波数の変更制御、又は動作周波数に係るオン/オフ制御等を行うと、半導体装置内部における電源やグランドにノイズが発生したり、一時的な電圧低下が発生したりすることがある(例えば、図13参照。)。また、動作電圧や動作周波数が一定している通常動作時においても、I/Oセル(入出力回路)等の出力が一斉に変化した場合の同時スイッチング出力ノイズ(SSOノイズ)等により、半導体装置内部における電源やグランドにノイズが発生することもある。
【0005】
このような半導体装置における電源ノイズや一時的な電圧低下が、半導体装置の動作に影響を及ぼし、誤動作を引き起こすことがある。特に、チップ内を複数の電源ブロックに分割した半導体装置は、各電源ブロックの容量が小さくなるために、電源ノイズや一時的な電圧低下による影響を受け易い。
【0006】
例えば、電源やグランドに振幅の大きなノイズがのったり、一時的な電圧低下が生じたりすることにより引き起こされる半導体装置の誤動作としては、レジスタやメモリに保持しているデータの破壊やタイミングエラーの発生がある。また、PLLのロックが外れて供給クロックが、過渡的に想定外の高い周波数になるなど不安定になり、誤動作を引き起こすこともある。
【0007】
図13は、半導体装置における内部電圧変動の一例を示す図である。図13において、横軸は時間を示しており、CLKはCPUに供給されるクロック、CPUVはCPUが含まれる電源ブロックの電圧レベル、OCBVはオンチップバスが含まれる電源ブロックの電圧レベルである。例えば、図13に示すようにCPUへ供給するクロックの周波数(動作周波数)を急に切り替えると、破線の楕円131で囲った部分のように電源ノイズや一時的な電圧低下が生じると、CPUとオンチップバス間でデータ転送等を行っていた場合にはタイミングエラーが生じて誤動作を引き起こすことがある。
【0008】
そこで、半導体装置に影響が及ぶのを防止したり影響を緩和したりするため、半導体装置内部の動作状態をモニターするためのハードウェア・モニター回路を設け、動作状態が悪化した場合には、誤動作が生じるのを防止したり、誤動作が生じたとしてもリカバリーさせたりする手段が必要である。
【0009】
その1つとして、リングオシレータ等によるモニター回路で、内部の温度変化やプロセスばらつきに応じた電源電圧制御を行う方法が提案されている。しかしながら、リングオシレータを使用した動作状態のモニターでは、リングオシレータによるカウント値を計測する一定期間が経過しないと半導体装置の動作状態を判定することができない。したがって、例えば、電源ノイズや一時的な電圧低下等の突発的な動作悪化要因による動作状態の変化にすぐに対応することが困難であるという問題がある。
【0010】
このような突発的な動作環境の悪化を検知する方法としては、特定のクロックサイクル中にある一定の遅延値を持たせたテスト回路が動作するか否かに応じて判断する方法もある(例えば、特許文献1、2参照。)。しかし、チップ内を複数の電源ブロックに分割した半導体装置において、電源ノイズや一時的な電圧低下等により電源ブロックの間等で生じる誤動作を高速に検出するためのより適切な手法が望まれている。
【0011】
【特許文献1】特開2002−190747号公報
【特許文献2】特開2006−4338号公報
【発明の開示】
【発明が解決しようとする課題】
【0012】
本発明は、複数の電源ブロックに分割した半導体装置にて、電源ノイズや電圧低下など誤動作を引き起こし得る状態が発生した場合に、その発生を簡便かつ速やかに検出できるようにすることを目的とする。
【課題を解決するための手段】
【0013】
本発明の半導体装置は、第1及び第2の電源ブロックに配置され、クロックに同期して動作する第1及び第2の記憶回路と、一方の記憶回路の出力端子と他方の記憶回路の入力端子との間に接続される第1及び第2の遅延回路と、記憶回路の入力信号及び出力信号に基づいて、誤動作が生じ得る状態であるか否かを判定し、判定結果をエラー検出信号として出力する判定回路とを備える。
前記構成によれば、第1及び第2の記憶回路に異なる初期値を与えることで、正常な動作が実現されている場合には、記憶回路間においてトグル状態で信号が送受信され、記憶回路の入力信号と出力信号とが異なる状態となる。一方、瞬間的な電源ノイズや電圧低下等により誤動作が生じ得る状態が発生すると、遅延回路の遅延量が正常に動作しているときよりも大きくなり、記憶回路間で送受信される信号のトグル状態がくずれ、記憶回路の入力信号と出力信号が同じ状態となり、誤動作が生じ得る状態の発生を検出することができる。
【発明の効果】
【0014】
本発明によれば、複数の電源ブロックに分割した半導体装置にて、瞬間的な電源ノイズや電圧低下等の突発的要因によるものも含めて、誤動作が生じ得る状態が発生したことを簡便かつ速やかに検出することができる。また、誤動作が生じ得る状態の発生に対して、即時に誤動作防止に係る制御を行うことができる。
【発明を実施するための最良の形態】
【0015】
以下、本発明の実施形態を図面に基づいて説明する。
【0016】
図1は、本発明の実施形態が適用される半導体装置(例えば、LSI等)の一構成例を示す図である。図1に示す半導体装置10は、チップ内を複数の電源ブロック(電源ドメイン)11〜18に分割し、分割した電源ブロック毎に消費電力に係る制御(DVFS制御やパワーゲーティング制御等)を行うことが可能なものである。
【0017】
電源ブロック11は、CPUコアAとしての機能を実現する回路が含まれる電源ブロックである。電源ブロック12は、CPUコアBとしての機能を実現する回路が含まれる電源ブロックである。電源ブロック13は、バス(オンチップバス等)及び汎用周辺回路(メモリコントローラ、クロック生成回路等)が含まれる電源ブロックである。
【0018】
電源ブロック14は、半導体装置10内部における電源制御やクロック制御等の消費電力に係る管理制御を行う回路が含まれる電源ブロックである。また、電源ブロック15、16、17、18は、それぞれオーディオ信号処理を行う回路、ビデオ信号処理を行う回路、音声符号化処理を行う回路、カードインタフェース制御を行う回路が含まれる電源ブロックである。
【0019】
電源ブロック11、12は、DVFS制御及びパワーゲーティング制御の対象となる(両制御技術が適用される)電源ブロックである。すなわち、電源ブロック11、12は、その動作状態等に応じて、動作電圧や動作周波数が動的に変更されるとともに、電源ブロック11、12への電源供給がオン/オフ制御される。
【0020】
また、電源ブロック13、15〜18は、パワーゲーティング制御の対象となる(パワーゲーティング制御技術のみが適用される)電源ブロックである。すなわち、各電源ブロック13、15〜18は、それぞれの動作状態等に応じて電源供給がオン/オフ制御される。
【0021】
(第1の実施形態)
本発明の第1の実施形態について説明する。
【0022】
上述したように半導体装置内部の動作状態をモニターする回路をリングオシレータ等で実現した場合には、ある程度平均化された状態をモニターすることは可能である。しかし、瞬間的な電源ノイズや電圧変化等の突発的な要因による誤動作や、誤動作が生じ得る状態の発生を検知することは困難である。また、アナログ回路を用いて検知回路を構成し電源ノイズ等を検知しようとする場合には、その検知回路にはノイズがのっていない安定した電源電圧が供給されることが望ましいが、レイアウト的な制約等により実現することが困難な場合がある。
【0023】
第1の実施形態に係る半導体装置は、デジタル回路のみで構成され、瞬間的な電源ノイズや電圧変化等の突発的要因によるものをも含めて誤動作が発生し得る状態になったことを検知する誤動作検出回路を設けたものである。この誤動作検出回路を設けることにより、第1の実施形態では、瞬間的な電源ノイズ等の突発的要因による動作状態の変化をも含め、誤動作が生じ得る状態の発生を簡便かつ速やかに検出することができる。
【0024】
図2は、第1の実施形態に係る半導体装置に設ける誤動作検出回路20の構成例を示す図である。誤動作検出回路20は、第1のモニター回路21、第2のモニター回路25、及びエラー検出信号出力回路29を有する。
【0025】
第1のモニター回路21は、第1の電源ブロックに設けられ、第2のモニター回路25は、第1の電源ブロックとは異なる第2の電源ブロックに設けられる。例えば、第1のモニター回路21は、図1に示したCPUコアとしての機能を実現するための電源ブロック11、12に設けられ、第2のモニター回路25は、バス(オンチップバス)や汎用周辺回路を有する電源ブロック13に設けられる。なお、第1のモニター回路21が設けられる第1の電源ブロック、及び第2のモニター回路25が設けられる第2の電源ブロックは、これに限定されるものではなく、半導体装置が有する任意の電源ブロックである。
【0026】
第1のモニター回路21は、記憶回路22、遅延回路23、及び判定回路24を有する。同様に、第2のモニター回路25は、記憶回路26、遅延回路27、及び判定回路28を有する。ここで、記憶回路22、26、遅延回路23、27、判定回路24、28、及びエラー検出信号出力回路29は、デジタル回路(デジタル素子)を用いて構成されている。すなわち、誤動作検出回路20は、デジタル回路(デジタル素子)のみを用いて構成される。
【0027】
記憶回路22、26は、クロック信号CLKに同期して動作(出力)し、入力される信号(論理値)を記憶して出力する。記憶回路22、26は、例えばフリップフロップやラッチにより構成される。なお、以下では、記憶回路22、26は、フリップフロップで構成されているものとする。
【0028】
また、記憶回路22、26には、リセット信号RSTが供給されており、リセット信号RSTがアサートされている期間は、それぞれ所定の初期値を出力する。ここで、記憶回路22、26は、異なる初期値を出力する。例えば、記憶回路22、26をフリップフロップで構成した場合には、リセット信号RSTのアサートによって、一方のフリップフロップをリセット状態にし、他方のフリップフロップをプリセット状態にすれば良い。
【0029】
遅延回路23は、記憶回路22の出力端と記憶回路26の入力端との間に接続され、記憶回路22の出力端から記憶回路26の入力端に伝送される信号を遅延させる。また、遅延回路27は、記憶回路26の出力端と記憶回路22の入力端との間に接続され、記憶回路26の出力端から記憶回路22の入力端に伝送される信号を遅延させる。遅延回路23、27は、例えば、所定の遅延値に相当する分の遅延を与えるための複数のバッファ(あるいは偶数個のインバータ)を直列に接続して構成される。
【0030】
ここで、遅延回路23、27による所定の遅延値は、例えば第1のモニター回路21が設けられる第1の電源ブロックと第2のモニター回路25が設けられる第2の電源ブロックとの間のパス遅延のワースト値に相当する遅延値や、チップ内のクリティカルパスでの遅延値に相当する遅延値などである。パス遅延のワースト値やクリティカルパスでの遅延値等は、設計時のタイミング検証(シミュレーション)等により取得することが可能である。また、遅延回路23、27による所定の遅延値として、第1の電源ブロックと第2の電源ブロックとの間のパス遅延のワースト値に相当する遅延値やチップ内のクリティカルパスでの遅延値に相当する遅延値に所定の付加時間を付加するようにしても良い。
【0031】
なお、図2においては、遅延回路23、27を直列接続した4つのバッファで構成した場合を一例として図示しているが、実際には、遅延回路23、27は必要な遅延値を実現するための複数のバッファ(あるいは偶数個のインバータ)で構成される。
【0032】
判定回路24、28は、記憶回路22、26の入力信号及び出力信号に基づいて、誤動作が生じ得る状態であるか否かを判定する。また、判定回路24、28は、判定結果をエラー検出信号出力回路29に対して出力する。
【0033】
後述するように本実施形態では、誤動作が生じ得る状態でない(正常な動作が実現されている)場合には、記憶回路22、26のそれぞれにおける入力信号と出力信号が異なる論理値となる。判定回路24、28は、対応する記憶回路22、26の入力信号と出力信号が異なる論理値である場合には、誤動作が生じ得る状態でないと判定し、同じ論理値である(入力信号と出力信号が一致する)場合には、誤動作が生じ得る状態であると判定する。
【0034】
判定回路24、28は、例えば、対応する記憶回路22、26の入力信号及び出力信号が入力され、その排他的否定論理和演算を行う演算回路(Exclusive-NOR回路:EX−NOR回路)で構成される。なお、判定回路24、28は、排他的否定論理和演算回路(EX−NOR回路)に限定されるものではなく、対応する記憶回路22、26の入力信号と出力信号が異なる論理値である第1の状態、及び同じ論理値である第2の状態で異なる信号を出力できれば良く、複数の論理演算回路を適宜組み合わせて排他的否定論理和演算を実現するようにしても良い。
【0035】
次に、誤動作検出回路20の動作について説明する。
【0036】
まず、リセット信号RSTがアサートされているリセット状態において、記憶回路22、26は、異なる初期値を出力する。
そして、リセット信号RSTをネゲートして記憶回路22、26におけるリセット状態を同時に解除すると、クロック信号CLKに同期した動作が開始される。このとき、誤動作が生じ得る状態でない(正常な動作が実現されている)場合には、記憶回路22、26間においては、トグル状態で信号が送受信される(トグル信号が行き交う)。
【0037】
ここで、特定の電源ブロックに対するクロック・ギヤ切り替え(動作周波数の変更)や動作電圧の変更や電源供給のオン/オフ制御による瞬間的な電源ノイズや電圧低下等の要因によって誤動作が生じ得る状態が発生すると、遅延回路23、27による遅延量が、正常に動作しているときよりも大きくなる。これにより、記憶回路22、26間の遅延量がクロック期間内に収まらなくなり、記憶回路22、26間で送受信される信号のトグル状態がくずれ、記憶回路22、26の少なくとも一方の記憶回路で入力信号と出力信号が同じ論理値となる。
【0038】
さらに、記憶回路22、26の少なくとも一方の記憶回路で入力信号と出力信号が同じ論理値となったことが、判定回路24、28により検出され誤動作が生じ得る状態であると判定される。この判定結果がエラー検出信号出力回路29に供給され、誤動作が生じ得る状態が発生したことをエラー検出信号ERRとして出力する。
【0039】
以上のようにして、デジタル回路のみで構成した誤動作検出回路20により、瞬間的な電源ノイズや電圧低下等の突発的要因によるものも含めて、簡便かつ速やかに誤動作が生じ得る状態が発生したことを効率的に検出し、エラー検出信号ERRにより通知することができる。
【0040】
図3は、本実施形態における誤動作検出回路20の他の構成例を示す図である。
図2に示した誤動作検出回路20は、記憶回路22、26の間でトグルしながら信号が送受信されるが、トランジスタ等の回路素子によっては信号の立ち上がり時と立下り時とで遅延量が異なる場合がある。また、電源ブロックによって電圧低下や電源ノイズ等が及ぼす影響も異なる。
【0041】
そこで、図3に示す誤動作検出回路20は、図2に示した誤動作検出回路を複数設けるとともに、遅延回路を構成する回路素子の配置を各電源ブロック(電源ドメイン)にばらけさせ、誤動作が生じ得る状態の発生をより確実に検出できるようにしたものである。遅延回路を構成する回路素子の配置は、誤動作検出回路を構成する各組毎に互いに異なるように配置することが望ましい。
【0042】
図3において、31は第1のモニター回路、41は第2のモニター回路、51はエラー検出信号出力回路である。第1のモニター回路31は、第1の電源ブロック(例えば、図1に示した電源ブロック11、12)に設けられ、第2のモニター回路41は、第1の電源ブロックとは異なる第2の電源ブロック(例えば、図1に示した電源ブロック13)に設けられる。
【0043】
第1のモニター回路31は、記憶回路32A、32B、32C、遅延回路33A、33B、34B、34C、判定回路(EX−NOR回路)35A、35B、35C、及び論理和演算回路(OR回路)36を有する。また、第2のモニター回路41は、記憶回路42A、42B、42C、遅延回路43A、43B、34B、44C、判定回路(EX−NOR回路)45A、45B、45C、及び論理和演算回路(OR回路)46を有する。
【0044】
第1のモニター回路31内の記憶回路32A、遅延回路33A、及び判定回路35Aと、第2のモニター回路41内の記憶回路42A、遅延回路43A、及び判定回路45Aとにより、図2に示した誤動作検出回路に相当する回路が構成される。また、第1のモニター回路31内の記憶回路32B、遅延回路33B、34B、及び判定回路35Bと、第2のモニター回路41内の記憶回路42B、遅延回路43B、44B、及び判定回路45Bとにより、図2に示した誤動作検出回路に相当する回路が構成される。また、第1のモニター回路31内の記憶回路32C、遅延回路34C、及び判定回路35Cと、第2のモニター回路41内の記憶回路42C、遅延回路44C、及び判定回路45Cとにより、図2に示した誤動作検出回路に相当する回路が構成される。
【0045】
すなわち、図3に示した誤動作検出回路20は、図2に示した誤動作検出回路を3つ設けたものを一例として示している。そのうち2つは記憶回路間の遅延回路を構成する回路素子を、各モニター回路31、32において記憶回路の出力端側又は入力端側に偏らせて配置し、1つは記憶回路間の遅延回路を構成する回路素子を各モニター回路31、32に分けて配置している。
【0046】
ここで、遅延回路33Aによる遅延量と、遅延回路33B及び44Bによる遅延量と、遅延回路44Cによる遅延量とは、設計上は等しくなるように構成される。同様に、遅延回路43Aによる遅延量と、遅延回路43B及び34Bによる遅延量と、遅延回路34Cによる遅延量とは、設計上は等しくなるように構成される。
【0047】
図3に示した誤動作検出回路20は、図2に示した誤動作検出回路20と同様に、リセット信号RSTがネゲートされリセット状態が同時に解除されると、クロック信号CLKに同期した動作を開始する。このとき、誤動作が生じ得る状態でない(正常な動作が実現されている)場合には、図2に示した誤動作検出回路20に相当する3つの回路においてトグル状態で信号が送受信される(トグル信号が行き交う)。
【0048】
ここで、瞬間的な電源ノイズや電圧低下等の要因によって誤動作が生じ得る状態が発生し、それが判定回路35A〜35C、45A〜45Cにより検出されると誤動作が生じ得る状態であると判定される。判定回路35A〜35Cの何れかで誤動作が生じ得る状態であると判定されると、その判定結果がOR回路36を介してエラー検出信号出力回路51に供給され、誤動作が生じ得る状態が発生したことをエラー検出信号ERRとして出力される。同様に、判定回路45A〜45Cの何れかで誤動作が生じ得る状態であると判定されると、その判定結果がOR回路46を介してエラー検出信号出力回路51に供給され、誤動作が生じ得る状態が発生したことをエラー検出信号ERRとして出力される。
【0049】
なお、図3においては、図2に示した誤動作検出回路を3つ設けた場合を一例として示しているが、これに限定されず、図2に示した誤動作検出回路を任意の複数個設けて構成することが可能であり、各遅延回路を構成する回路素子を異なるパターンで配置するようにすれば良い。
【0050】
以上、図3に示したような誤動作検出回路によれば、デジタル回路のみで構成して、瞬間的な電源ノイズや電圧低下等の突発的要因によるものも含めて、簡便かつ速やかに誤動作が生じ得る状態が発生したことを効率的に検出し、エラー検出信号ERRにより通知することができる。また、各組毎に遅延回路を構成する回路素子を異なるように配置することで、トランジスタの製造ばらつき等も考慮して誤動作が生じ得る状態の発生を検出することができる。
【0051】
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。
【0052】
第2の実施形態に係る半導体装置は、上述した第1の実施形態における誤動作検出回路を用い、誤動作が生じ得る状態になったことを検出した場合に誤動作の発生を防止するよう制御を行う。以下では、誤動作が生じ得る状態になったことを検出した場合に、データ転送を非同期で行うように制御する場合を一例として説明する。
【0053】
一般に、バスを介したデータ転送を、動作電圧が異なる電源ブロック間にて行う場合には、非同期バス・ブリッジ等を介してデータ転送が行われ、動作電圧が同じ電源ブロック間にて行う場合には、非同期バス・ブリッジ等を用いずに直接データ転送が行われる。ここで、バスを介したデータ転送を行う電源ブロックの動作電圧が同じであったとしても、瞬間的な電源ノイズや電圧低下等が発生し、誤動作を引き起こす場合が考えられる。
【0054】
そこで、第2の実施形態に係る半導体装置は、上述した誤動作検出回路により誤動作が生じ得る状態になったことを検出した場合、誤動作を防止するために非同期バス・ブリッジを介してデータ転送を行うように切り替える。これにより、瞬間的な電源ノイズや電圧低下等の要因による誤動作を防止する。
【0055】
図4は、第2の実施形態に係る半導体装置の構成例を示す図である。この図4において、図2に示した構成要素と同一の機能を有する構成要素には同一の符号を付し、重複する説明は省略する。なお、図4においては、誤動作検出回路20として図2に示した誤動作検出回路を適用した場合を示しているが、図3に示した誤動作検出回路を適用しても良い。
【0056】
図4において、61は第1の電源ブロックであり、例えば図1に示したCPUコアとしての機能を実現するための電源ブロック11、12であるとする。また、63は第2の電源ブロックであり、例えば図1に示したバス(オンチップバス)や汎用周辺回路を有する電源ブロック13であるとする。
【0057】
第1の電源ブロック(CPUコア)61は、誤動作検出回路20を構成する第1のモニター回路21及びバスインタフェース回路部62を有する。第2の電源ブロック(バス・汎用周辺回路)63は、誤動作検出回路20を構成する第2のモニター回路25及びオンチップバス64を有する。バスインタフェース回路部62とオンチップバス64との間のデータ転送は、同期/非同期選択回路65を介して行われる。
【0058】
同期/非同期選択回路65は、非同期バス・ブリッジ66及びセレクタ67を有する。非同期バス・ブリッジ66は、バスインタフェース回路部62とオンチップバス64との間のデータ転送を非同期で行う(ハンドシェイク制御等により行う)ためのバス・ブリッジ回路である。セレクタ67は、エラー情報保持回路68の出力に応じて、バスインタフェース回路部62とオンチップバス64との間のデータ転送を、バス・プロトコルに応じた同期転送により行うか、非同期バス・ブリッジ66を介して行うかを切り替える。
【0059】
エラー情報保持回路68は、例えばフリップフロップ等を用いて構成され、誤動作検出回路20内のエラー検出信号出力回路29から出力されるエラー検出信号ERRを保持して出力する。エラー情報保持回路68は、誤動作検出回路20により誤動作が発生し得る状態になったことが検出された場合に、エラー検出信号ERRの値を保持する。また、エラー情報保持回路68は、CPU命令等によるクリア処理、又は誤動作検出回路20からのエラー検出信号ERRがネゲートされてから一定期間経過後、保持しているエラー信号ERRをクリアする。なお、エラー検出信号ERRの値を保持してから一定期間経過後に自動でクリアするようにしても良い。
【0060】
図4に示した半導体装置において、誤動作が生じ得る状態が発生しておらず、正常な動作が実現されているとする。このとき、エラー検出信号ERRはネゲートされており、バス・プロトコルに応じた同期転送によってバスインタフェース回路部62とオンチップバス64との間のデータ転送を行うよう同期/非同期選択回路65内のセレクタ67が制御される。
【0061】
このような状態で、誤動作検出回路20により誤動作が生じ得る状態になったことを検出すると、エラー検出信号ERRがアサートされる。このエラー検出信号ERRがエラー情報保持回路68に保持されると、エラー情報保持回路68の出力により、非同期バス・ブリッジ66を介した非同期転送によりデータ転送を行うよう同期/非同期選択回路65内のセレクタ67が切り替えられる。これにより、バスインタフェース回路部62とオンチップバス64との間のデータ転送が、非同期バス・ブリッジ66を介して行うように切り替えられ、瞬間的な電源ノイズや電圧低下等による誤動作を防止することができる。
【0062】
データ転送を同期転送から非同期転送に切り替える際、バス・プロトコルによってはバスアクセス中に切り替えると誤動作を起こす場合がある。バスアクセス中の切り替えにより誤動作が発生するおそれのあるバス・プロトコルでは、同期転送から非同期転送への切り替えを行う際、バスアクセスが発生していない場合には即時に切り替えを行い、バスアクセス中である場合にはそのバスアクセスが完了してから切り替えを行う。なお、バスアクセスの完了を待って非同期転送への切り替えを行った場合には、切り替え前のバスアクセスによって誤動作が発生していることもあり得るので、リセット動作等の実行による動作保障を適宜行うようにすれば良い。
【0063】
なお、誤動作検出回路20内のエラー検出信号出力回路29、同期/非同期選択回路65、及びエラー情報保持回路68のそれぞれは、第1の電源ブロック(CPUコア)61又は第2の電源ブロック(バス・汎用周辺回路)63に設けるようにしても良いし、それらとは異なる他の電源ブロックに設けるようにしても良い。
【0064】
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。
【0065】
第3の実施形態に係る半導体装置は、上述した第2の実施形態に係る半導体装置において、誤動作が生じ得る状態になったことを検出した場合に、さらに、誤動作が生じ得る状態の発生により動作が不安定になる可能性のある期間は、高速に動作するブロックの動作周波数を低くするように制御する。これにより、瞬間的な電源ノイズや電圧低下等の要因によるタイミングエラーなどの誤動作を防止する。
【0066】
図5は、第3の実施形態に係る半導体装置の構成例を示す図である。この図5において、図2及び図4に示した構成要素と同一の機能を有する構成要素には同一の符号を付し、重複する説明は省略する。
【0067】
図5において、69は、各ブロック等に供給するクロック信号CLK1、CLK2、…を生成するクロック生成回路である。クロック生成回路69には、クロック制御信号CKCTLとしてエラー情報保持回路68の出力信号が入力される。クロック生成回路69は、入力されるクロック制御信号CKCTLに応じたクロック信号CLK1、CLK2、…を生成し出力する。
【0068】
図5に示した第3の実施形態に係る半導体装置の動作例を、図6を参照して説明する。
図6は、第3の実施形態に係る半導体装置の動作の一例を示すタイミングチャートである。なお、誤動作検出回路20から出力されるエラー検出信号ERR及びエラー情報保持回路68から出力されるクロック制御信号CKCTLは、アサートされているとき、ハイレベルであり、ネゲートされているとき、ローレベルである。また、クロック生成回路69が生成するクロック信号CLK1はCPUコアに供給されるクロック信号であるとし、クロック信号CLK2はオンチップバスに係るクロック信号であるとする。
【0069】
まず、初期状態として、エラー検出信号ERR及びクロック制御信号CKCTLがともにネゲートされており、クロック生成回路69は、正常動作時の周波数のクロック信号CLK1、CLK2を生成し出力しているものとする。
【0070】
誤動作を生じ得る状態になったことが誤動作検出回路20により検出されると、エラー検出信号ERRがアサートされる。このエラー検出信号ERRがエラー情報保持回路68に保持され、クロック制御信号CKCTLがアサートされる。クロック制御信号CKCTLがアサートされると、高速に動作するブロック(本実施形態ではCPUコアとする)の動作周波数を低くするように、そのブロックに供給するクロック信号CLK1をギヤ・ダウンする。
【0071】
そして、エラー検出信号ERRがネゲートされてから所定の時間経過した後に、クロック制御信号CKCTLがネゲートされ、高速に動作するブロックに供給するクロック信号CLK1を元に戻すように制御を行う。
【0072】
以上のようにして、瞬間的な電源ノイズや電圧低下等によりタイミングエラーが発生するおそれがある場合に、動作が不安定になる可能性がある期間は、供給するクロック信号の周波数を制御して動作周波数を低くし、セットアップ時間等の条件を緩和して誤動作の発生を防止することができる。
【0073】
なお、高速に動作するブロックに供給するクロック信号CLK1をギヤ・ダウンさせる方法は、任意である。例えば、ゲーテドクロック技術を採用している場合には、そのイネーブル信号で制御することによりクロック信号を適宜マスクして周波数を低下させるようにしても良いし、クロック生成回路69における分周比を制御してクロック信号の周波数を低くするようにしても良い。
【0074】
また、高速に動作するブロックに供給するクロック信号のギヤ・ダウンにかえて、クロック制御信号CKCTLがアサートされている期間、高速に動作するブロックへのクロック信号の供給を一時的に停止させるようにしても同様の効果を得ることができる。また、クロック信号に係る制御を行わずに、図5に示すようにクロック制御信号CKCTLと同等のインターロック要求信号ILRをエラー情報保持回路68から第1の電源ブロック(CPUコア)61に出力し、インターロック要求信号ILRをアサートすることによって第1の電源ブロックの動作を一時的に停止させるようにしても良く、同様に誤動作の発生を防止することができる。
【0075】
また、誤動作を生じ得る状態になったことを誤動作検出回路20により検出した場合に、高速に動作するブロックに供給するクロック信号に限らず、各ブロックに供給するすべてのクロック信号について、ギヤ・ダウンを行ったり、供給を一時停止させたりするようにしても良い。
【0076】
(第4の実施形態)
次に、本発明の第4の実施形態について説明する。
図7は、第4の実施形態に係る半導体装置の構成例を示す図である。この図7において、図2、図4、及び図5に示した構成要素と同一の機能を有する構成要素には同一の符号を付し、重複する説明は省略する。
【0077】
図7に示すように、第4の実施形態に係る半導体装置は、図5に示した第3の実施形態に係る半導体装置の各構成に加え、割込み生成回路71、ウォッチドッグタイマー73、及びOR回路74を有する。
【0078】
割込み生成回路71は、エラー情報保持回路68の出力信号が入力され、割込み要求信号INTを生成し第1の電源ブロック(CPUコア)61に出力する。割込み生成回路71は、エラー検出信号ERRがアサートされることによりエラー情報保持回路68の出力信号がアサートされると、それを検出して割込み要求信号INTをアサートする。これにより、第1の電源ブロック61で動作しているソフトウェア(アプリケーション)等に対して、瞬間的な電源ノイズや電圧低下等により動作環境が悪化し、誤動作が生じ得る状態の発生を検出したことを通知することができる。
【0079】
ウォッチドッグタイマー73は、カウンタを有し、エラー情報保持回路68の出力信号が入力され、リセット信号(ウォッチドッグリセット)RSTWを出力する。ウォッチドッグタイマー73は、エラー検出信号ERRがアサートされることによりエラー情報保持回路68の出力信号がアサートされると起動され、所定のカウント値のカウントが終了すると(カウンタ値が所定の値に達すると)リセット信号RSTWをアサートする。なお、ウォッチドッグタイマー73は、CPU命令によりリセットされる。第1の電源ブロック(CPUコア)61がハングアップしていない場合には、割込み要求信号INTがアサートされることに応じて、ウォッチドッグタイマー73がリセットされる。
【0080】
OR回路74は、通常リセット信号RSTN、及びウォッチドッグタイマー73からのリセット信号RSTWが入力される。OR回路74は、通常リセット信号RSTNとリセット信号RSTWを論理和演算して、その演算結果を第1及び第2の電源ブロック61、63にリセット信号として出力する。
【0081】
また、第2の電源ブロック63は、エラーモニターレジスタ72を有する。エラーモニターレジスタ72は、エラー情報保持回路68からの指示に応じてエラー情報(エラーが検出された箇所、検出回数、エラー発生要因等)を保持する。なお、図7においては、エラーモニターレジスタ72をオンチップバス64に接続するようにしているが、これに限定されるものではなく、第1の電源ブロック(CPUコア)61やクロック生成回路69などにより読み出し可能なように構成されていれば良い。
【0082】
以上、第4の実施形態によれば、誤動作が生じ得る状態になったことが誤動作検出回路20により検出され、エラー情報保持回路68の出力信号がアサートされた場合に、ウォッチドッグタイマー73を起動するとともに、第1の電源ブロック(CPUコア)61に出力する割込み要求信号INTをアサートする。これにより、瞬間的な電源ノイズや電圧低下等によりすでに誤動作が発生してしまった場合でも、リカバリー動作を行うことができる。
【0083】
すなわち、第1の電源ブロック(CPUコア)61が誤動作したハングアップした場合においては、ウォッチドッグタイマー73によるリセット信号RSTWによって第1の電源ブロック(CPUコア)61を含む回路をリセットし、リカバリー処理を行うことが可能となる。このとき、エラーモニターレジスタ72は初期化せずに、保持しているエラー情報を第1の電源ブロック(CPUコア)61等から読み出し可能にしておくことで、エラー情報に応じた適切なリカバリー処理(例えば、低速クロック信号で復帰するといったリカバリー処理)を行うことが可能となる。なお、エラーモニターレジスタ72の初期化は、第1の電源ブロック(CPUコア)61からのライト動作や、リセット信号RSTWによるものとは別のパワーオン・リセット等のリセット動作などにより初期化するようにすれば良い。
【0084】
(第5の実施形態)
次に、本発明の第5の実施形態について説明する。
第5の実施形態に係る半導体装置は、上述した第4の実施形態における半導体装置において、第1及び第2の電源ブロックにそれぞれ供給される電源電位の差の変化を基づいて、誤動作が生じ得る状態になったことを検出するようにしたものである。
【0085】
図8は、第5の実施形態に係る半導体装置の構成例を示す図である。この図8において、図2、図4、図5、及び図7に示した構成要素と同一の機能を有する構成要素には同一の符号を付し、重複する説明は省略する。
【0086】
図8において、20Aは誤動作検出回路である。誤動作検出回路20Aは、電位差検知回路81及び電位差判定回路82を有する。電位差検知回路81は、第1の電源ブロック61に供給される電源電位Vdd1に相当する電位V1が入力されるともに、第2の電源ブロック63に供給される電源電位Vdd2に相当する電位V2が入力され、電位V1と電位V2の電位差を検知して、検知結果に応じた信号を電位差判定回路82に出力する。電位差判定回路82は、電位差検知回路81からの検知結果を示す信号に基づいて、電位V1と電位V2の電位差が所定の範囲から逸脱した状態、すなわち誤動作を生じ得る状態になったか否かを判定する。その結果、電位V1と電位V2の電位差が所定の範囲から逸脱している場合には、電位差判定回路82は、エラー検出信号ERRをアサートする。
【0087】
以上、第5の実施形態に示すように、第1及び第2の電源ブロックにそれぞれ供給される電源電位の差の変化を基づいて、誤動作が生じ得る状態になったことを検出するようにしても、上述した各実施形態と同様の効果を得ることができる。
【0088】
(第6の実施形態)
次に、本発明の第6の実施形態について説明する。
PLL(Phase Locked Loop)やDLL(Delay Locked Loop)を用いた回路では、何らかの原因により電源ノイズや電圧低下等が発生すると、それによりロックが外れて、出力クロックの周波数が過渡的に高い周波数となることがある。これにより回路に供給されるクロック信号の周波数が高くなりすぎて誤動作を引き起こすことがある。
【0089】
そこで、第6の実施形態に係る半導体装置は、誤動作検出回路としてPLLやDLLのロック端子からの出力信号をモニターし、ロックが外れたことを検出した場合には、動作が不安定になる可能性のある期間は、供給するクロック信号の周波数を低くするように制御する。これにより、電源ノイズや電圧低下等の要因による誤動作を防止する。
【0090】
図9は、第6の実施形態に係る半導体装置の構成例を示す図である。この図9において、図4に示した構成要素と同一の機能を有する構成要素には同一の符号を付し、重複する説明は省略する。
【0091】
図9において、91は、第3の電源ブロックである。第3の電源ブロックは、エラー情報保持回路92、PLL93、インバータ94、クロック生成回路95、割込み生成回路96、ウォッチドッグタイマー97、OR回路98を有する。
エラー情報保持回路92は、エラー情報保持回路68に相当し、エラー検出信号ERRA、ERRBの値を保持して出力する。
【0092】
PLL93は、クロック生成回路95にマスタークロックMCLKを出力する。また、PLL93は、ロックしている状態であるか否かを示す信号をロック端子より出力信号PLL−LOCKとして出力する。ここで、出力信号PLL−LOCKは、安定時(ロックしているとき)においてはアサートされてハイレベルとなり、不安定時(ロックが外れているとき)においてはネゲートされローレベルとなる。PLL93からの出力信号PLL−LOCKは、インバータ94を介してエラー検出信号ERRAとしてエラー情報保持回路92に供給される。
【0093】
クロック生成回路95は、クロック生成回路69に相当し、各ブロック等に供給するクロック信号CLK1、CLK2、…を生成する。クロック生成回路95は、クロック制御信号CKCTLとしてエラー情報保持回路92の出力信号が入力され、それに応じたクロック信号CLK1、CLK2、…を、PLL93から受けるマスタークロックMCLKを基に生成して出力する。
【0094】
割込み生成回路96は、割込み生成回路71に相当し、エラー情報保持回路92の出力信号が入力され、割込み要求信号INTを生成して第1の電源ブロック(CPUコア)61に出力する。ウォッチドッグタイマー97は、ウォッチドッグタイマー73に相当し、エラー情報保持回路92の出力信号が入力され、リセット信号(ウォッチドッグリセット)RSTWを出力する。OR回路98は、OR回路74に相当し、通常リセット信号RSTNとリセット信号RSTWとの論理和演算を行い、演算結果を第1及び第2の電源ブロック61、63にリセット信号として出力する。
【0095】
図9に示した第6の実施形態に係る半導体装置の動作例を、図10を参照して説明する。
図10は、第6の実施形態に係る半導体装置の動作の一例を示すタイミングチャートである。なお、クロック生成回路95が生成するクロック信号CLK1はCPUコアに供給されるクロック信号であるとし、クロック信号CLK2はオンチップバスに係るクロック信号であるとする。
【0096】
まず、初期状態として、PLL93からの出力信号PLL−LOCKがアサート、すなわちエラー検出信号ERRAがネゲートされており、クロック制御信号CKCTLがネゲートされているものとする。また、クロック生成回路95は、正常動作時の周波数のクロック信号CLK1、CLK2を生成し出力しているものとする。
【0097】
電源ノイズや電圧低下等によりPLL93におけるロックが外れると、出力信号PLL−LOCKがネゲートされる。出力信号PLL−LOCKがネゲートされることによってエラー検出信号ERRAがアサートされ、このエラー検出信号ERRAがエラー情報保持回路68に保持されてクロック制御信号CKCTLがアサートされる。クロック制御信号CKCTLがアサートされると、第3の実施形態と同様にして、動作周波数を低くするようにブロックに供給するクロック信号をギヤ・ダウンする(図10に示す例では、CPUコアに供給するクロック信号CLK1をギヤ・ダウンしている。)。
【0098】
その後、再びPLL93がロック状態となると、出力信号PLL−LOCKがアサートされ、所定時間経過後に、クロック制御信号CKCTLがネゲートされ、クロック信号CLK1を元に戻すように制御を行う。
【0099】
以上のようにして、電源ノイズや電圧低下等によりPLL93のロックが外れ誤動作の発生するおそれがある場合には、動作が不安定になる可能性がある期間において、供給するクロック信号の周波数を制御して動作周波数を低くし、誤動作の発生を防止することができる。なお、上述した説明では、PLL93におけるロックが外れた場合に、CPUコアに供給するクロック信号CLK1のみをギヤ・ダウンするようにしているが、各ブロックに供給するすべてのクロック信号についてギヤ・ダウンするようにしても良い。
【0100】
また、外部からのバッテリー供給電圧の低下等による割り込みや動作環境の変化によるチップ内温度の上昇による割り込み等が供給された場合には、それをエラー検出信号ERRBとして認識し、クロックギヤ・ダウン、割込み要求信号INTの生成、及びウォッチドッグタイマー97の起動などを行うことにより、バッテリー供給電圧の低下やチップ内温度の上昇による誤動作の発生を防止することができる。
【0101】
なお、第4及び第5の実施形態と同様に、エラー検出信号ERRA又はERRBがアサートされた場合に、第1の電源ブロック(CPUコア)61への割込み要求信号INTをアサートしつつ、ウォッチドッグタイマー97を起動させることで、仮に第1の電源ブロック(CPUコア)61が誤動作によりハングアップしても適切にリカバリー処理を行うことが可能となる。
【0102】
図11は、第6の実施形態に係る半導体装置の他の構成例を示す図である。この図11において、図2、図4、図5、図7、及び図9に示した構成要素と同一の機能を有する構成要素には同一の符号を付し、重複する説明は省略する。
【0103】
図11に示す半導体装置は、図9に示した第6の実施形態の半導体装置に対して、さらに図2に示した誤動作検出回路20を設けたものである。誤動作検出回路20の出力信号は、エラー検出信号ERRCとしてエラー情報保持回路92に供給される。なお、図11においては、誤動作検出回路20として図2に示した誤動作検出回路を適用した場合を示しているが、図3に示した誤動作検出回路を適用しても良い。
【0104】
(第7の実施形態)
次に、本発明の第7の実施形態について説明する。
第7の実施形態は、チップ内にCPUコアとしての機能を実現する回路が含まれる電源ブロックを複数有し、誤動作検出回路が電源ノイズや電圧低下等により誤動作が生じ得る状態になったことを検出した場合に、CPUコアとして機能する複数の電源ブロックに割込み要求を行い、CPUコアとして機能する電源ブロック間の通信(CPU通信)等により、各電源ブロックの状態を確認する。そして、CPUコアとして機能する電源ブロックのうち、正常に動作している電源ブロックあるいは電力制御等を担う電源ブロックにより、動作周波数や動作電圧の制御を行い、より安全な動作が可能となるように制御するものである。
【0105】
図12は、第7の実施形態に係る半導体装置の構成例を示す図である。第7の実施形態に係る半導体装置は、CPUコアの機能を実現する回路を含む電源ブロックをチップ内に複数有する。
【0106】
図12に示すように、第7の実施形態における半導体装置は、誤動作検出回路101、CPUコアとしての機能を実現する電源ブロック102A、102B、102C、オンチップバス104、同期/非同期選択回路105、エラーモニターレジスタ108、クロック制御レジスタ109、電源管理部110、エラー情報保持回路111、クロック生成回路112、割込み生成回路113、ウォッチドッグタイマー114、及びOR回路115を有する。
【0107】
誤動作検出回路101は、誤動作が生じ得る状態の発生を検出するものであり、上述した図2及び図3に示した誤動作検出回路20や、図8に示した誤動作検出回路20Aや、図9に示したPLLやDLLのロック端子からの出力信号をモニターする回路等が適用される。なお、図12においては、便宜上、これらの誤動作検出回路をまとめて1つの誤動作検出回路101として図示している。
【0108】
電源ブロック102A、102B、102Cは、それぞれCPUコアとしての機能を実現するための回路を含む電源ブロックである。なお、図12においては、電源ブロック102Aについてのみ具体的に示し、電源ブロック102B、102Cについて簡略して図しているが、同様に構成される。
【0109】
電源ブロック102A、102B、102Cは、バスインタフェース回路部103を有し、同期/非同期選択回路105を介してバスインタフェース回路部103とオンチップバス104との間でデータ転送が行われる。バスインタフェース回路部103、オンチップバス104、同期/非同期選択回路105(非同期バス・ブリッジ106、セレクタ107)は、図4等に示したバスインタフェース回路部62、オンチップバス64、同期/非同期選択回路65(非同期バス・ブリッジ66、セレクタ67)にそれぞれ相当し、同様に構成される。
【0110】
オンチップバス104には、エラーモニターレジスタ72に相当しエラー情報保持回路111からの指示に応じてエラー情報(エラーが検出された箇所、検出回数、エラー発生要因等)を保持するエラーモニターレジスタ108、クロック制御に係る情報を保持するクロック制御レジスタ109、電源管理等を行う電源管理部110が接続されている。
【0111】
エラー情報保持回路111、クロック生成回路112、割込み生成回路113、ウォッチドッグタイマー114、及びOR回路115は、図5や図7等に示したエラー情報保持回路68、クロック生成回路69、割込み生成回路71、ウォッチドッグタイマー73、及びOR回路74に相当し、同様に構成される。
【0112】
但し、本実施形態においては、クロック生成回路112には、エラー情報保持回路111の出力信号がクロック制御信号CKCTLAとして入力されるとともに、クロック制御レジスタからクロック制御信号CKCTLBが入力される。クロック生成回路112は、入力されるクロック制御信号CKCTLA及びCKCTLBに応じて、クロック信号CLK1、CLK2、…を生成し出力する。
【0113】
また、本実施形態における割込み生成回路113は、各電源ブロック(CPUコア)102A〜102Cの各々に対する割込み要求信号INTA、INTB、INTCを出力する。割込み生成回路113は、エラー情報保持回路111の出力信号がアサートされると、それを検出して割込み要求信号INTA、INTB、INTCをアサートする。
【0114】
このようにして、誤動作検出回路101が電源ノイズや電圧低下等により誤動作が生じ得る状態になったことを検出した場合に、CPUコアとして機能する電源ブロック102A〜102Cの各々に対して割込み要求信号INTA、INTB、INTCにより割込み要求を行い、電源ブロック102A〜102Cの間の通信等により、各電源ブロックの状態を互いに確認することができる。そして、正常に動作している電源ブロックあるいは電力制御等を担う電源ブロックにより、動作周波数や動作電圧の制御を行うことで、より安全な動作を実現することができる。
【0115】
また、上述した実施形態と同様に、誤動作が生じ得る状態の発生を検出した場合には、それをエラー検出信号として認識し、クロックギヤ・ダウン、割込み要求信号の生成、及びウォッチドッグタイマーの起動などを行うことで、誤動作の発生を防止することができるとともに、仮に電源ブロック(CPUコア)102A〜102Cが誤動作によりハングアップしても適切にリカバリー処理を行うことが可能となる。
【0116】
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明の諸態様を付記として以下に示す。
【0117】
(付記1)動作電圧及び動作周波数を制御可能な電源ブロックを含む複数の電源ブロックを有する半導体装置であって、
第1の電源ブロックに配置され、クロックに同期して動作する第1の記憶回路と、
第2の電源ブロックに配置され、前記クロックに同期して動作する第2の記憶回路と、
前記第1の記憶回路の出力端子と前記第2の記憶回路の入力端子との間に接続される第1の遅延回路と、
前記第2の記憶回路の出力端子と前記第1の記憶回路の入力端子との間に接続される第2の遅延回路と、
前記第1及び第2の記憶回路における入力信号及び出力信号に基づいて、誤動作が生じ得る状態であるか否かを判定し、判定結果をエラー検出信号として出力する判定回路とを備えることを特徴とする半導体装置。
(付記2)前記第1の記憶回路と、前記第2の記憶回路と、前記第1の遅延回路と、前記第2の遅延回路との組を複数設け、
前記第1の遅延回路を構成する複数の回路素子、及び前記第2の遅延回路を構成する複数の回路素子を、各組毎に配置を異ならせて前記第1の電源ブロック及び前記第2の電源ブロックに配置したことを特徴とする付記1記載の半導体装置。
(付記3)前記第1及び第2の記憶回路の各々は、フリップフロップであり、
前記第1及び第2の遅延回路の各々は、直列接続された複数のバッファ又は偶数個のインバータであることを特徴とする付記1記載の半導体装置。
(付記4)前記判定回路は、前記第1及び第2の記憶回路における入力信号と出力信号とを用いて論理演算を行うロジック回路であることを特徴とする付記3記載の半導体装置。
(付記5)PLL回路又はDLL回路を備え、
前記判定回路は、前記PLL回路又はDLL回路の出力信号に基づいて、前記PLL回路又はDLL回路の出力クロックが安定しているか否かを判定し、判定結果に応じて誤動作が生じ得る状態であるか否かを示すエラー検出信号を出力することを特徴とする付記1記載の半導体装置。
(付記6)前記判定回路から出力されるエラー検出信号に応じて、データ転送を同期転送で行うか非同期転送で行うかを切り替える選択回路を備えることを特徴とする付記1記載の半導体装置。
(付記7)前記選択回路は、データ転送を非同期で行うための非同期バス・ブリッジ回路と、
前記非同期バス・ブリッジ回路を介してデータ転送を行うか否かを、前記エラー検出信号に応じて切り替えるセレクタとを有することを特徴とする付記6記載の半導体装置。
(付記8)前記判定回路から出力されるエラー検出信号に応じて、前記第1の電源ブロック及び前記第2の電源ブロックの少なくとも一方の電源ブロックにおける動作電圧及び動作周波数の少なくとも一方を制御することを特徴とする付記1記載の半導体装置。
(付記9)前記エラー検出信号により誤動作が生じ得る状態を検出したことが通知された場合に、前記第1の電源ブロック及び前記第2の電源ブロックの少なくとも一方の電源ブロックにおける動作周波数を低くすることを特徴とする付記1記載の半導体装置。
(付記10)前記エラー検出信号により誤動作が生じ得る状態を検出したことが通知された場合に、前記第1の電源ブロック及び前記第2の電源ブロックの少なくとも一方の電源ブロックについて、供給するクロック信号の周波数を低下させる、又はクロック信号の供給を一時的に停止させることを特徴とする付記1記載の半導体装置。
(付記11)前記エラー検出信号により誤動作が生じ得る状態を検出したことが通知された場合に、前記第1の電源ブロック及び前記第2の電源ブロックの少なくとも一方の電源ブロックの動作を一時的に停止させることを特徴とする付記1記載の半導体装置。
(付記12)カウンタを有するリセット生成回路と、
前記第1の電源ブロック及び前記第2の電源ブロックの少なくとも一方の電源ブロックに対する割込み要求を発生させる割込み生成回路とを備え、
前記エラー検出信号により誤動作が生じ得る状態を検出したことが通知された場合に、前記リセット生成回路がカウント動作を行い、かつ前記割込み生成回路が前記割込み要求を発生させ、前記リセット生成回路におけるカウント値が所定の値に達するまでに前記割込み要求に応じたカウンタ値のクリア動作が実行されないときには、前記リセット生成回路は、前記第1の電源ブロック及び前記第2の電源ブロックを初期化することを特徴とする付記1記載の半導体装置。
(付記13)前記判定回路から出力されるエラー検出信号に係るエラー情報を保持するレジスタを備えることを特徴とする付記1記載の半導体装置。
(付記14)動作電圧及び動作周波数を制御可能な電源ブロックを含む複数の電源ブロックを有する半導体装置であって、
第1の電源ブロックにおける第1の電源電位及び第2の電源ブロックにおける第2の電源電位が入力され、前記第1の電源電位と前記第2の電源電位の電位差を検知する電位差検知回路と、
前記電位差検知回路の検知結果に基づいて、前記第1の電源電位と前記第2の電源電位の電位差が所定の範囲から逸脱しているか否かを判定し、判定結果に応じて誤動作が生じ得る状態であるか否かを示すエラー検出信号を出力する判定回路とを備えることを特徴とする半導体装置。
(付記15)前記判定回路から出力されるエラー検出信号に応じて、データ転送を同期転送で行うか非同期転送で行うかを切り替える選択回路を備えることを特徴とする付記14記載の半導体装置。
(付記16)前記判定回路から出力されるエラー検出信号に応じて、前記第1の電源ブロック及び前記第2の電源ブロックの少なくとも一方の電源ブロックにおける動作電圧及び動作周波数の少なくとも一方を制御することを特徴とする付記14記載の半導体装置。
(付記17)前記エラー検出信号により誤動作が生じ得る状態を検出したことが通知された場合に、前記第1の電源ブロック及び前記第2の電源ブロックの少なくとも一方の電源ブロックにおける動作周波数を低くすることを特徴とする付記14記載の半導体装置。
(付記18)前記エラー検出信号により誤動作が生じ得る状態を検出したことが通知された場合に、前記第1の電源ブロック及び前記第2の電源ブロックの少なくとも一方の電源ブロックについて、供給するクロック信号の周波数を低下させる、又はクロック信号の供給を一時的に停止させることを特徴とする付記14記載の半導体装置。
(付記19)前記エラー検出信号により誤動作が生じ得る状態を検出したことが通知された場合に、前記第1の電源ブロック及び前記第2の電源ブロックの少なくとも一方の電源ブロックの動作を一時的に停止させることを特徴とする付記14記載の半導体装置。
(付記20)カウンタを有するリセット生成回路と、
前記第1の電源ブロック及び前記第2の電源ブロックの少なくとも一方の電源ブロックに対する割込み要求を発生させる割込み生成回路とを備え、
前記エラー検出信号により誤動作が生じ得る状態を検出したことが通知された場合に、前記リセット生成回路がカウント動作を行い、かつ前記割込み生成回路が前記割込み要求を発生させ、前記リセット生成回路におけるカウント値が所定の値に達するまでに前記割込み要求に応じたカウンタ値のクリア動作が実行されないときには、前記リセット生成回路は、前記第1の電源ブロック及び前記第2の電源ブロックを初期化することを特徴とする付記14記載の半導体装置。
(付記21)前記判定回路から出力されるエラー検出信号に係るエラー情報を保持するレジスタを備えることを特徴とする付記14記載の半導体装置。
(付記22)動作電圧及び動作周波数を制御可能な電源ブロックを含む複数の電源ブロックを有し、かつPLL回路又はDLL回路を有する半導体装置であって、
前記PLL回路又はDLL回路の出力信号に基づいて、前記PLL回路又はDLL回路の出力クロックが安定しているか否かを判定し、判定結果に応じて誤動作が生じ得る状態であるか否かを示すエラー検出信号を出力する判定回路と、
前記判定回路から出力されるエラー検出信号に応じて、データ転送を同期転送で行うか非同期転送で行うかを切り替える選択回路とを備えることを特徴とする半導体装置。
(付記23)前記判定回路から出力されるエラー検出信号に応じて、前記第1の電源ブロック及び前記第2の電源ブロックの少なくとも一方の電源ブロックにおける動作電圧及び動作周波数の少なくとも一方を制御することを特徴とする付記22記載の半導体装置。
(付記24)カウンタを有するリセット生成回路と、
前記第1の電源ブロック及び前記第2の電源ブロックの少なくとも一方の電源ブロックに対する割込み要求を発生させる割込み生成回路とを備え、
前記エラー検出信号により誤動作が生じ得る状態を検出したことが通知された場合に、前記リセット生成回路がカウント動作を行い、かつ前記割込み生成回路が前記割込み要求を発生させ、前記リセット生成回路におけるカウント値が所定の値に達するまでに前記割込み要求に応じたカウンタ値のクリア動作が実行されないときには、前記リセット生成回路は、前記第1の電源ブロック及び前記第2の電源ブロックを初期化することを特徴とする付記22記載の半導体装置。
(付記25)前記判定回路から出力されるエラー検出信号に係るエラー情報を保持するレジスタを備えることを特徴とする付記22記載の半導体装置。
【図面の簡単な説明】
【0118】
【図1】本発明の実施形態が適用される半導体装置の構成例を示す図である。
【図2】第1の実施形態における誤動作検出回路の構成例を示す図である。
【図3】第1の実施形態における誤動作検出回路の他の構成例を示す図である。
【図4】第2の実施形態における半導体装置の構成例を示す図である。
【図5】第3の実施形態における半導体装置の構成例を示す図である。
【図6】第3の実施形態における半導体装置の動作例を示すタイミングチャートである。
【図7】第4の実施形態における半導体装置の構成例を示す図である。
【図8】第5の実施形態における半導体装置の構成例を示す図である。
【図9】第6の実施形態における半導体装置の構成例を示す図である。
【図10】第6の実施形態における半導体装置の動作例を示すタイミングチャートである。
【図11】第6の実施形態における半導体装置の他の構成例を示す図である。
【図12】第7の実施形態における半導体装置の構成例を示す図である。
【図13】半導体装置における内部電圧変動の一例を示す図である。
【符号の説明】
【0119】
20 誤動作検出回路
21、25、31、41 モニター回路
22、26、32、42 記憶回路
23、27、33、34、43、44 遅延回路
24、28、35、45 判定回路
29、51 エラー検出信号出力回路
62 バスインタフェース回路部
64 オンチップバス
65 同期/非同期選択回路
66 非同期バス・ブリッジ
67 セレクタ
68 エラー情報保持回路
69 クロック生成回路
71 割込み生成回路
72 エラーモニターレジスタ
73 ウォッチドッグタイマー
ERR エラー検出信号
INT 割込み要求信号
【技術分野】
【0001】
本発明は、動作電圧や動作周波数を制御可能な複数の電源ブロックを有する半導体装置に関する。
【背景技術】
【0002】
近年、LSI等の半導体装置(半導体集積回路)の高速化・大規模化に伴い、半導体装置の消費電力の削減が大きな課題となっている。半導体装置の負荷容量をC、電源電圧をV、動作周波数をFとすると、半導体装置の消費電力Pは、一般にP=C×V2×Fで表される。
【0003】
そこで、チップ内を複数の電源ブロックに分割し、電源ブロックの動作電圧や動作周波数を制御することによって半導体装置の消費電力を削減する技術が、高速なプロセッサや様々な低消費電力化が必須の半導体装置に適用されるようになってきている。消費電力の削減技術としては、特定のブロックに対して動的に動作電圧や動作周波数を変更するDVFS(Dynamic Voltage Frequency Scaling)と呼ばれる技術や、特定のブロックへの電源供給をオン/オフ制御するパワーゲーティング(Power Gating)制御技術などがある。
【0004】
しかし、特定の電源ブロックに対する電源供給のオン/オフ制御、動作電圧の変更制御、動作周波数の変更制御、又は動作周波数に係るオン/オフ制御等を行うと、半導体装置内部における電源やグランドにノイズが発生したり、一時的な電圧低下が発生したりすることがある(例えば、図13参照。)。また、動作電圧や動作周波数が一定している通常動作時においても、I/Oセル(入出力回路)等の出力が一斉に変化した場合の同時スイッチング出力ノイズ(SSOノイズ)等により、半導体装置内部における電源やグランドにノイズが発生することもある。
【0005】
このような半導体装置における電源ノイズや一時的な電圧低下が、半導体装置の動作に影響を及ぼし、誤動作を引き起こすことがある。特に、チップ内を複数の電源ブロックに分割した半導体装置は、各電源ブロックの容量が小さくなるために、電源ノイズや一時的な電圧低下による影響を受け易い。
【0006】
例えば、電源やグランドに振幅の大きなノイズがのったり、一時的な電圧低下が生じたりすることにより引き起こされる半導体装置の誤動作としては、レジスタやメモリに保持しているデータの破壊やタイミングエラーの発生がある。また、PLLのロックが外れて供給クロックが、過渡的に想定外の高い周波数になるなど不安定になり、誤動作を引き起こすこともある。
【0007】
図13は、半導体装置における内部電圧変動の一例を示す図である。図13において、横軸は時間を示しており、CLKはCPUに供給されるクロック、CPUVはCPUが含まれる電源ブロックの電圧レベル、OCBVはオンチップバスが含まれる電源ブロックの電圧レベルである。例えば、図13に示すようにCPUへ供給するクロックの周波数(動作周波数)を急に切り替えると、破線の楕円131で囲った部分のように電源ノイズや一時的な電圧低下が生じると、CPUとオンチップバス間でデータ転送等を行っていた場合にはタイミングエラーが生じて誤動作を引き起こすことがある。
【0008】
そこで、半導体装置に影響が及ぶのを防止したり影響を緩和したりするため、半導体装置内部の動作状態をモニターするためのハードウェア・モニター回路を設け、動作状態が悪化した場合には、誤動作が生じるのを防止したり、誤動作が生じたとしてもリカバリーさせたりする手段が必要である。
【0009】
その1つとして、リングオシレータ等によるモニター回路で、内部の温度変化やプロセスばらつきに応じた電源電圧制御を行う方法が提案されている。しかしながら、リングオシレータを使用した動作状態のモニターでは、リングオシレータによるカウント値を計測する一定期間が経過しないと半導体装置の動作状態を判定することができない。したがって、例えば、電源ノイズや一時的な電圧低下等の突発的な動作悪化要因による動作状態の変化にすぐに対応することが困難であるという問題がある。
【0010】
このような突発的な動作環境の悪化を検知する方法としては、特定のクロックサイクル中にある一定の遅延値を持たせたテスト回路が動作するか否かに応じて判断する方法もある(例えば、特許文献1、2参照。)。しかし、チップ内を複数の電源ブロックに分割した半導体装置において、電源ノイズや一時的な電圧低下等により電源ブロックの間等で生じる誤動作を高速に検出するためのより適切な手法が望まれている。
【0011】
【特許文献1】特開2002−190747号公報
【特許文献2】特開2006−4338号公報
【発明の開示】
【発明が解決しようとする課題】
【0012】
本発明は、複数の電源ブロックに分割した半導体装置にて、電源ノイズや電圧低下など誤動作を引き起こし得る状態が発生した場合に、その発生を簡便かつ速やかに検出できるようにすることを目的とする。
【課題を解決するための手段】
【0013】
本発明の半導体装置は、第1及び第2の電源ブロックに配置され、クロックに同期して動作する第1及び第2の記憶回路と、一方の記憶回路の出力端子と他方の記憶回路の入力端子との間に接続される第1及び第2の遅延回路と、記憶回路の入力信号及び出力信号に基づいて、誤動作が生じ得る状態であるか否かを判定し、判定結果をエラー検出信号として出力する判定回路とを備える。
前記構成によれば、第1及び第2の記憶回路に異なる初期値を与えることで、正常な動作が実現されている場合には、記憶回路間においてトグル状態で信号が送受信され、記憶回路の入力信号と出力信号とが異なる状態となる。一方、瞬間的な電源ノイズや電圧低下等により誤動作が生じ得る状態が発生すると、遅延回路の遅延量が正常に動作しているときよりも大きくなり、記憶回路間で送受信される信号のトグル状態がくずれ、記憶回路の入力信号と出力信号が同じ状態となり、誤動作が生じ得る状態の発生を検出することができる。
【発明の効果】
【0014】
本発明によれば、複数の電源ブロックに分割した半導体装置にて、瞬間的な電源ノイズや電圧低下等の突発的要因によるものも含めて、誤動作が生じ得る状態が発生したことを簡便かつ速やかに検出することができる。また、誤動作が生じ得る状態の発生に対して、即時に誤動作防止に係る制御を行うことができる。
【発明を実施するための最良の形態】
【0015】
以下、本発明の実施形態を図面に基づいて説明する。
【0016】
図1は、本発明の実施形態が適用される半導体装置(例えば、LSI等)の一構成例を示す図である。図1に示す半導体装置10は、チップ内を複数の電源ブロック(電源ドメイン)11〜18に分割し、分割した電源ブロック毎に消費電力に係る制御(DVFS制御やパワーゲーティング制御等)を行うことが可能なものである。
【0017】
電源ブロック11は、CPUコアAとしての機能を実現する回路が含まれる電源ブロックである。電源ブロック12は、CPUコアBとしての機能を実現する回路が含まれる電源ブロックである。電源ブロック13は、バス(オンチップバス等)及び汎用周辺回路(メモリコントローラ、クロック生成回路等)が含まれる電源ブロックである。
【0018】
電源ブロック14は、半導体装置10内部における電源制御やクロック制御等の消費電力に係る管理制御を行う回路が含まれる電源ブロックである。また、電源ブロック15、16、17、18は、それぞれオーディオ信号処理を行う回路、ビデオ信号処理を行う回路、音声符号化処理を行う回路、カードインタフェース制御を行う回路が含まれる電源ブロックである。
【0019】
電源ブロック11、12は、DVFS制御及びパワーゲーティング制御の対象となる(両制御技術が適用される)電源ブロックである。すなわち、電源ブロック11、12は、その動作状態等に応じて、動作電圧や動作周波数が動的に変更されるとともに、電源ブロック11、12への電源供給がオン/オフ制御される。
【0020】
また、電源ブロック13、15〜18は、パワーゲーティング制御の対象となる(パワーゲーティング制御技術のみが適用される)電源ブロックである。すなわち、各電源ブロック13、15〜18は、それぞれの動作状態等に応じて電源供給がオン/オフ制御される。
【0021】
(第1の実施形態)
本発明の第1の実施形態について説明する。
【0022】
上述したように半導体装置内部の動作状態をモニターする回路をリングオシレータ等で実現した場合には、ある程度平均化された状態をモニターすることは可能である。しかし、瞬間的な電源ノイズや電圧変化等の突発的な要因による誤動作や、誤動作が生じ得る状態の発生を検知することは困難である。また、アナログ回路を用いて検知回路を構成し電源ノイズ等を検知しようとする場合には、その検知回路にはノイズがのっていない安定した電源電圧が供給されることが望ましいが、レイアウト的な制約等により実現することが困難な場合がある。
【0023】
第1の実施形態に係る半導体装置は、デジタル回路のみで構成され、瞬間的な電源ノイズや電圧変化等の突発的要因によるものをも含めて誤動作が発生し得る状態になったことを検知する誤動作検出回路を設けたものである。この誤動作検出回路を設けることにより、第1の実施形態では、瞬間的な電源ノイズ等の突発的要因による動作状態の変化をも含め、誤動作が生じ得る状態の発生を簡便かつ速やかに検出することができる。
【0024】
図2は、第1の実施形態に係る半導体装置に設ける誤動作検出回路20の構成例を示す図である。誤動作検出回路20は、第1のモニター回路21、第2のモニター回路25、及びエラー検出信号出力回路29を有する。
【0025】
第1のモニター回路21は、第1の電源ブロックに設けられ、第2のモニター回路25は、第1の電源ブロックとは異なる第2の電源ブロックに設けられる。例えば、第1のモニター回路21は、図1に示したCPUコアとしての機能を実現するための電源ブロック11、12に設けられ、第2のモニター回路25は、バス(オンチップバス)や汎用周辺回路を有する電源ブロック13に設けられる。なお、第1のモニター回路21が設けられる第1の電源ブロック、及び第2のモニター回路25が設けられる第2の電源ブロックは、これに限定されるものではなく、半導体装置が有する任意の電源ブロックである。
【0026】
第1のモニター回路21は、記憶回路22、遅延回路23、及び判定回路24を有する。同様に、第2のモニター回路25は、記憶回路26、遅延回路27、及び判定回路28を有する。ここで、記憶回路22、26、遅延回路23、27、判定回路24、28、及びエラー検出信号出力回路29は、デジタル回路(デジタル素子)を用いて構成されている。すなわち、誤動作検出回路20は、デジタル回路(デジタル素子)のみを用いて構成される。
【0027】
記憶回路22、26は、クロック信号CLKに同期して動作(出力)し、入力される信号(論理値)を記憶して出力する。記憶回路22、26は、例えばフリップフロップやラッチにより構成される。なお、以下では、記憶回路22、26は、フリップフロップで構成されているものとする。
【0028】
また、記憶回路22、26には、リセット信号RSTが供給されており、リセット信号RSTがアサートされている期間は、それぞれ所定の初期値を出力する。ここで、記憶回路22、26は、異なる初期値を出力する。例えば、記憶回路22、26をフリップフロップで構成した場合には、リセット信号RSTのアサートによって、一方のフリップフロップをリセット状態にし、他方のフリップフロップをプリセット状態にすれば良い。
【0029】
遅延回路23は、記憶回路22の出力端と記憶回路26の入力端との間に接続され、記憶回路22の出力端から記憶回路26の入力端に伝送される信号を遅延させる。また、遅延回路27は、記憶回路26の出力端と記憶回路22の入力端との間に接続され、記憶回路26の出力端から記憶回路22の入力端に伝送される信号を遅延させる。遅延回路23、27は、例えば、所定の遅延値に相当する分の遅延を与えるための複数のバッファ(あるいは偶数個のインバータ)を直列に接続して構成される。
【0030】
ここで、遅延回路23、27による所定の遅延値は、例えば第1のモニター回路21が設けられる第1の電源ブロックと第2のモニター回路25が設けられる第2の電源ブロックとの間のパス遅延のワースト値に相当する遅延値や、チップ内のクリティカルパスでの遅延値に相当する遅延値などである。パス遅延のワースト値やクリティカルパスでの遅延値等は、設計時のタイミング検証(シミュレーション)等により取得することが可能である。また、遅延回路23、27による所定の遅延値として、第1の電源ブロックと第2の電源ブロックとの間のパス遅延のワースト値に相当する遅延値やチップ内のクリティカルパスでの遅延値に相当する遅延値に所定の付加時間を付加するようにしても良い。
【0031】
なお、図2においては、遅延回路23、27を直列接続した4つのバッファで構成した場合を一例として図示しているが、実際には、遅延回路23、27は必要な遅延値を実現するための複数のバッファ(あるいは偶数個のインバータ)で構成される。
【0032】
判定回路24、28は、記憶回路22、26の入力信号及び出力信号に基づいて、誤動作が生じ得る状態であるか否かを判定する。また、判定回路24、28は、判定結果をエラー検出信号出力回路29に対して出力する。
【0033】
後述するように本実施形態では、誤動作が生じ得る状態でない(正常な動作が実現されている)場合には、記憶回路22、26のそれぞれにおける入力信号と出力信号が異なる論理値となる。判定回路24、28は、対応する記憶回路22、26の入力信号と出力信号が異なる論理値である場合には、誤動作が生じ得る状態でないと判定し、同じ論理値である(入力信号と出力信号が一致する)場合には、誤動作が生じ得る状態であると判定する。
【0034】
判定回路24、28は、例えば、対応する記憶回路22、26の入力信号及び出力信号が入力され、その排他的否定論理和演算を行う演算回路(Exclusive-NOR回路:EX−NOR回路)で構成される。なお、判定回路24、28は、排他的否定論理和演算回路(EX−NOR回路)に限定されるものではなく、対応する記憶回路22、26の入力信号と出力信号が異なる論理値である第1の状態、及び同じ論理値である第2の状態で異なる信号を出力できれば良く、複数の論理演算回路を適宜組み合わせて排他的否定論理和演算を実現するようにしても良い。
【0035】
次に、誤動作検出回路20の動作について説明する。
【0036】
まず、リセット信号RSTがアサートされているリセット状態において、記憶回路22、26は、異なる初期値を出力する。
そして、リセット信号RSTをネゲートして記憶回路22、26におけるリセット状態を同時に解除すると、クロック信号CLKに同期した動作が開始される。このとき、誤動作が生じ得る状態でない(正常な動作が実現されている)場合には、記憶回路22、26間においては、トグル状態で信号が送受信される(トグル信号が行き交う)。
【0037】
ここで、特定の電源ブロックに対するクロック・ギヤ切り替え(動作周波数の変更)や動作電圧の変更や電源供給のオン/オフ制御による瞬間的な電源ノイズや電圧低下等の要因によって誤動作が生じ得る状態が発生すると、遅延回路23、27による遅延量が、正常に動作しているときよりも大きくなる。これにより、記憶回路22、26間の遅延量がクロック期間内に収まらなくなり、記憶回路22、26間で送受信される信号のトグル状態がくずれ、記憶回路22、26の少なくとも一方の記憶回路で入力信号と出力信号が同じ論理値となる。
【0038】
さらに、記憶回路22、26の少なくとも一方の記憶回路で入力信号と出力信号が同じ論理値となったことが、判定回路24、28により検出され誤動作が生じ得る状態であると判定される。この判定結果がエラー検出信号出力回路29に供給され、誤動作が生じ得る状態が発生したことをエラー検出信号ERRとして出力する。
【0039】
以上のようにして、デジタル回路のみで構成した誤動作検出回路20により、瞬間的な電源ノイズや電圧低下等の突発的要因によるものも含めて、簡便かつ速やかに誤動作が生じ得る状態が発生したことを効率的に検出し、エラー検出信号ERRにより通知することができる。
【0040】
図3は、本実施形態における誤動作検出回路20の他の構成例を示す図である。
図2に示した誤動作検出回路20は、記憶回路22、26の間でトグルしながら信号が送受信されるが、トランジスタ等の回路素子によっては信号の立ち上がり時と立下り時とで遅延量が異なる場合がある。また、電源ブロックによって電圧低下や電源ノイズ等が及ぼす影響も異なる。
【0041】
そこで、図3に示す誤動作検出回路20は、図2に示した誤動作検出回路を複数設けるとともに、遅延回路を構成する回路素子の配置を各電源ブロック(電源ドメイン)にばらけさせ、誤動作が生じ得る状態の発生をより確実に検出できるようにしたものである。遅延回路を構成する回路素子の配置は、誤動作検出回路を構成する各組毎に互いに異なるように配置することが望ましい。
【0042】
図3において、31は第1のモニター回路、41は第2のモニター回路、51はエラー検出信号出力回路である。第1のモニター回路31は、第1の電源ブロック(例えば、図1に示した電源ブロック11、12)に設けられ、第2のモニター回路41は、第1の電源ブロックとは異なる第2の電源ブロック(例えば、図1に示した電源ブロック13)に設けられる。
【0043】
第1のモニター回路31は、記憶回路32A、32B、32C、遅延回路33A、33B、34B、34C、判定回路(EX−NOR回路)35A、35B、35C、及び論理和演算回路(OR回路)36を有する。また、第2のモニター回路41は、記憶回路42A、42B、42C、遅延回路43A、43B、34B、44C、判定回路(EX−NOR回路)45A、45B、45C、及び論理和演算回路(OR回路)46を有する。
【0044】
第1のモニター回路31内の記憶回路32A、遅延回路33A、及び判定回路35Aと、第2のモニター回路41内の記憶回路42A、遅延回路43A、及び判定回路45Aとにより、図2に示した誤動作検出回路に相当する回路が構成される。また、第1のモニター回路31内の記憶回路32B、遅延回路33B、34B、及び判定回路35Bと、第2のモニター回路41内の記憶回路42B、遅延回路43B、44B、及び判定回路45Bとにより、図2に示した誤動作検出回路に相当する回路が構成される。また、第1のモニター回路31内の記憶回路32C、遅延回路34C、及び判定回路35Cと、第2のモニター回路41内の記憶回路42C、遅延回路44C、及び判定回路45Cとにより、図2に示した誤動作検出回路に相当する回路が構成される。
【0045】
すなわち、図3に示した誤動作検出回路20は、図2に示した誤動作検出回路を3つ設けたものを一例として示している。そのうち2つは記憶回路間の遅延回路を構成する回路素子を、各モニター回路31、32において記憶回路の出力端側又は入力端側に偏らせて配置し、1つは記憶回路間の遅延回路を構成する回路素子を各モニター回路31、32に分けて配置している。
【0046】
ここで、遅延回路33Aによる遅延量と、遅延回路33B及び44Bによる遅延量と、遅延回路44Cによる遅延量とは、設計上は等しくなるように構成される。同様に、遅延回路43Aによる遅延量と、遅延回路43B及び34Bによる遅延量と、遅延回路34Cによる遅延量とは、設計上は等しくなるように構成される。
【0047】
図3に示した誤動作検出回路20は、図2に示した誤動作検出回路20と同様に、リセット信号RSTがネゲートされリセット状態が同時に解除されると、クロック信号CLKに同期した動作を開始する。このとき、誤動作が生じ得る状態でない(正常な動作が実現されている)場合には、図2に示した誤動作検出回路20に相当する3つの回路においてトグル状態で信号が送受信される(トグル信号が行き交う)。
【0048】
ここで、瞬間的な電源ノイズや電圧低下等の要因によって誤動作が生じ得る状態が発生し、それが判定回路35A〜35C、45A〜45Cにより検出されると誤動作が生じ得る状態であると判定される。判定回路35A〜35Cの何れかで誤動作が生じ得る状態であると判定されると、その判定結果がOR回路36を介してエラー検出信号出力回路51に供給され、誤動作が生じ得る状態が発生したことをエラー検出信号ERRとして出力される。同様に、判定回路45A〜45Cの何れかで誤動作が生じ得る状態であると判定されると、その判定結果がOR回路46を介してエラー検出信号出力回路51に供給され、誤動作が生じ得る状態が発生したことをエラー検出信号ERRとして出力される。
【0049】
なお、図3においては、図2に示した誤動作検出回路を3つ設けた場合を一例として示しているが、これに限定されず、図2に示した誤動作検出回路を任意の複数個設けて構成することが可能であり、各遅延回路を構成する回路素子を異なるパターンで配置するようにすれば良い。
【0050】
以上、図3に示したような誤動作検出回路によれば、デジタル回路のみで構成して、瞬間的な電源ノイズや電圧低下等の突発的要因によるものも含めて、簡便かつ速やかに誤動作が生じ得る状態が発生したことを効率的に検出し、エラー検出信号ERRにより通知することができる。また、各組毎に遅延回路を構成する回路素子を異なるように配置することで、トランジスタの製造ばらつき等も考慮して誤動作が生じ得る状態の発生を検出することができる。
【0051】
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。
【0052】
第2の実施形態に係る半導体装置は、上述した第1の実施形態における誤動作検出回路を用い、誤動作が生じ得る状態になったことを検出した場合に誤動作の発生を防止するよう制御を行う。以下では、誤動作が生じ得る状態になったことを検出した場合に、データ転送を非同期で行うように制御する場合を一例として説明する。
【0053】
一般に、バスを介したデータ転送を、動作電圧が異なる電源ブロック間にて行う場合には、非同期バス・ブリッジ等を介してデータ転送が行われ、動作電圧が同じ電源ブロック間にて行う場合には、非同期バス・ブリッジ等を用いずに直接データ転送が行われる。ここで、バスを介したデータ転送を行う電源ブロックの動作電圧が同じであったとしても、瞬間的な電源ノイズや電圧低下等が発生し、誤動作を引き起こす場合が考えられる。
【0054】
そこで、第2の実施形態に係る半導体装置は、上述した誤動作検出回路により誤動作が生じ得る状態になったことを検出した場合、誤動作を防止するために非同期バス・ブリッジを介してデータ転送を行うように切り替える。これにより、瞬間的な電源ノイズや電圧低下等の要因による誤動作を防止する。
【0055】
図4は、第2の実施形態に係る半導体装置の構成例を示す図である。この図4において、図2に示した構成要素と同一の機能を有する構成要素には同一の符号を付し、重複する説明は省略する。なお、図4においては、誤動作検出回路20として図2に示した誤動作検出回路を適用した場合を示しているが、図3に示した誤動作検出回路を適用しても良い。
【0056】
図4において、61は第1の電源ブロックであり、例えば図1に示したCPUコアとしての機能を実現するための電源ブロック11、12であるとする。また、63は第2の電源ブロックであり、例えば図1に示したバス(オンチップバス)や汎用周辺回路を有する電源ブロック13であるとする。
【0057】
第1の電源ブロック(CPUコア)61は、誤動作検出回路20を構成する第1のモニター回路21及びバスインタフェース回路部62を有する。第2の電源ブロック(バス・汎用周辺回路)63は、誤動作検出回路20を構成する第2のモニター回路25及びオンチップバス64を有する。バスインタフェース回路部62とオンチップバス64との間のデータ転送は、同期/非同期選択回路65を介して行われる。
【0058】
同期/非同期選択回路65は、非同期バス・ブリッジ66及びセレクタ67を有する。非同期バス・ブリッジ66は、バスインタフェース回路部62とオンチップバス64との間のデータ転送を非同期で行う(ハンドシェイク制御等により行う)ためのバス・ブリッジ回路である。セレクタ67は、エラー情報保持回路68の出力に応じて、バスインタフェース回路部62とオンチップバス64との間のデータ転送を、バス・プロトコルに応じた同期転送により行うか、非同期バス・ブリッジ66を介して行うかを切り替える。
【0059】
エラー情報保持回路68は、例えばフリップフロップ等を用いて構成され、誤動作検出回路20内のエラー検出信号出力回路29から出力されるエラー検出信号ERRを保持して出力する。エラー情報保持回路68は、誤動作検出回路20により誤動作が発生し得る状態になったことが検出された場合に、エラー検出信号ERRの値を保持する。また、エラー情報保持回路68は、CPU命令等によるクリア処理、又は誤動作検出回路20からのエラー検出信号ERRがネゲートされてから一定期間経過後、保持しているエラー信号ERRをクリアする。なお、エラー検出信号ERRの値を保持してから一定期間経過後に自動でクリアするようにしても良い。
【0060】
図4に示した半導体装置において、誤動作が生じ得る状態が発生しておらず、正常な動作が実現されているとする。このとき、エラー検出信号ERRはネゲートされており、バス・プロトコルに応じた同期転送によってバスインタフェース回路部62とオンチップバス64との間のデータ転送を行うよう同期/非同期選択回路65内のセレクタ67が制御される。
【0061】
このような状態で、誤動作検出回路20により誤動作が生じ得る状態になったことを検出すると、エラー検出信号ERRがアサートされる。このエラー検出信号ERRがエラー情報保持回路68に保持されると、エラー情報保持回路68の出力により、非同期バス・ブリッジ66を介した非同期転送によりデータ転送を行うよう同期/非同期選択回路65内のセレクタ67が切り替えられる。これにより、バスインタフェース回路部62とオンチップバス64との間のデータ転送が、非同期バス・ブリッジ66を介して行うように切り替えられ、瞬間的な電源ノイズや電圧低下等による誤動作を防止することができる。
【0062】
データ転送を同期転送から非同期転送に切り替える際、バス・プロトコルによってはバスアクセス中に切り替えると誤動作を起こす場合がある。バスアクセス中の切り替えにより誤動作が発生するおそれのあるバス・プロトコルでは、同期転送から非同期転送への切り替えを行う際、バスアクセスが発生していない場合には即時に切り替えを行い、バスアクセス中である場合にはそのバスアクセスが完了してから切り替えを行う。なお、バスアクセスの完了を待って非同期転送への切り替えを行った場合には、切り替え前のバスアクセスによって誤動作が発生していることもあり得るので、リセット動作等の実行による動作保障を適宜行うようにすれば良い。
【0063】
なお、誤動作検出回路20内のエラー検出信号出力回路29、同期/非同期選択回路65、及びエラー情報保持回路68のそれぞれは、第1の電源ブロック(CPUコア)61又は第2の電源ブロック(バス・汎用周辺回路)63に設けるようにしても良いし、それらとは異なる他の電源ブロックに設けるようにしても良い。
【0064】
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。
【0065】
第3の実施形態に係る半導体装置は、上述した第2の実施形態に係る半導体装置において、誤動作が生じ得る状態になったことを検出した場合に、さらに、誤動作が生じ得る状態の発生により動作が不安定になる可能性のある期間は、高速に動作するブロックの動作周波数を低くするように制御する。これにより、瞬間的な電源ノイズや電圧低下等の要因によるタイミングエラーなどの誤動作を防止する。
【0066】
図5は、第3の実施形態に係る半導体装置の構成例を示す図である。この図5において、図2及び図4に示した構成要素と同一の機能を有する構成要素には同一の符号を付し、重複する説明は省略する。
【0067】
図5において、69は、各ブロック等に供給するクロック信号CLK1、CLK2、…を生成するクロック生成回路である。クロック生成回路69には、クロック制御信号CKCTLとしてエラー情報保持回路68の出力信号が入力される。クロック生成回路69は、入力されるクロック制御信号CKCTLに応じたクロック信号CLK1、CLK2、…を生成し出力する。
【0068】
図5に示した第3の実施形態に係る半導体装置の動作例を、図6を参照して説明する。
図6は、第3の実施形態に係る半導体装置の動作の一例を示すタイミングチャートである。なお、誤動作検出回路20から出力されるエラー検出信号ERR及びエラー情報保持回路68から出力されるクロック制御信号CKCTLは、アサートされているとき、ハイレベルであり、ネゲートされているとき、ローレベルである。また、クロック生成回路69が生成するクロック信号CLK1はCPUコアに供給されるクロック信号であるとし、クロック信号CLK2はオンチップバスに係るクロック信号であるとする。
【0069】
まず、初期状態として、エラー検出信号ERR及びクロック制御信号CKCTLがともにネゲートされており、クロック生成回路69は、正常動作時の周波数のクロック信号CLK1、CLK2を生成し出力しているものとする。
【0070】
誤動作を生じ得る状態になったことが誤動作検出回路20により検出されると、エラー検出信号ERRがアサートされる。このエラー検出信号ERRがエラー情報保持回路68に保持され、クロック制御信号CKCTLがアサートされる。クロック制御信号CKCTLがアサートされると、高速に動作するブロック(本実施形態ではCPUコアとする)の動作周波数を低くするように、そのブロックに供給するクロック信号CLK1をギヤ・ダウンする。
【0071】
そして、エラー検出信号ERRがネゲートされてから所定の時間経過した後に、クロック制御信号CKCTLがネゲートされ、高速に動作するブロックに供給するクロック信号CLK1を元に戻すように制御を行う。
【0072】
以上のようにして、瞬間的な電源ノイズや電圧低下等によりタイミングエラーが発生するおそれがある場合に、動作が不安定になる可能性がある期間は、供給するクロック信号の周波数を制御して動作周波数を低くし、セットアップ時間等の条件を緩和して誤動作の発生を防止することができる。
【0073】
なお、高速に動作するブロックに供給するクロック信号CLK1をギヤ・ダウンさせる方法は、任意である。例えば、ゲーテドクロック技術を採用している場合には、そのイネーブル信号で制御することによりクロック信号を適宜マスクして周波数を低下させるようにしても良いし、クロック生成回路69における分周比を制御してクロック信号の周波数を低くするようにしても良い。
【0074】
また、高速に動作するブロックに供給するクロック信号のギヤ・ダウンにかえて、クロック制御信号CKCTLがアサートされている期間、高速に動作するブロックへのクロック信号の供給を一時的に停止させるようにしても同様の効果を得ることができる。また、クロック信号に係る制御を行わずに、図5に示すようにクロック制御信号CKCTLと同等のインターロック要求信号ILRをエラー情報保持回路68から第1の電源ブロック(CPUコア)61に出力し、インターロック要求信号ILRをアサートすることによって第1の電源ブロックの動作を一時的に停止させるようにしても良く、同様に誤動作の発生を防止することができる。
【0075】
また、誤動作を生じ得る状態になったことを誤動作検出回路20により検出した場合に、高速に動作するブロックに供給するクロック信号に限らず、各ブロックに供給するすべてのクロック信号について、ギヤ・ダウンを行ったり、供給を一時停止させたりするようにしても良い。
【0076】
(第4の実施形態)
次に、本発明の第4の実施形態について説明する。
図7は、第4の実施形態に係る半導体装置の構成例を示す図である。この図7において、図2、図4、及び図5に示した構成要素と同一の機能を有する構成要素には同一の符号を付し、重複する説明は省略する。
【0077】
図7に示すように、第4の実施形態に係る半導体装置は、図5に示した第3の実施形態に係る半導体装置の各構成に加え、割込み生成回路71、ウォッチドッグタイマー73、及びOR回路74を有する。
【0078】
割込み生成回路71は、エラー情報保持回路68の出力信号が入力され、割込み要求信号INTを生成し第1の電源ブロック(CPUコア)61に出力する。割込み生成回路71は、エラー検出信号ERRがアサートされることによりエラー情報保持回路68の出力信号がアサートされると、それを検出して割込み要求信号INTをアサートする。これにより、第1の電源ブロック61で動作しているソフトウェア(アプリケーション)等に対して、瞬間的な電源ノイズや電圧低下等により動作環境が悪化し、誤動作が生じ得る状態の発生を検出したことを通知することができる。
【0079】
ウォッチドッグタイマー73は、カウンタを有し、エラー情報保持回路68の出力信号が入力され、リセット信号(ウォッチドッグリセット)RSTWを出力する。ウォッチドッグタイマー73は、エラー検出信号ERRがアサートされることによりエラー情報保持回路68の出力信号がアサートされると起動され、所定のカウント値のカウントが終了すると(カウンタ値が所定の値に達すると)リセット信号RSTWをアサートする。なお、ウォッチドッグタイマー73は、CPU命令によりリセットされる。第1の電源ブロック(CPUコア)61がハングアップしていない場合には、割込み要求信号INTがアサートされることに応じて、ウォッチドッグタイマー73がリセットされる。
【0080】
OR回路74は、通常リセット信号RSTN、及びウォッチドッグタイマー73からのリセット信号RSTWが入力される。OR回路74は、通常リセット信号RSTNとリセット信号RSTWを論理和演算して、その演算結果を第1及び第2の電源ブロック61、63にリセット信号として出力する。
【0081】
また、第2の電源ブロック63は、エラーモニターレジスタ72を有する。エラーモニターレジスタ72は、エラー情報保持回路68からの指示に応じてエラー情報(エラーが検出された箇所、検出回数、エラー発生要因等)を保持する。なお、図7においては、エラーモニターレジスタ72をオンチップバス64に接続するようにしているが、これに限定されるものではなく、第1の電源ブロック(CPUコア)61やクロック生成回路69などにより読み出し可能なように構成されていれば良い。
【0082】
以上、第4の実施形態によれば、誤動作が生じ得る状態になったことが誤動作検出回路20により検出され、エラー情報保持回路68の出力信号がアサートされた場合に、ウォッチドッグタイマー73を起動するとともに、第1の電源ブロック(CPUコア)61に出力する割込み要求信号INTをアサートする。これにより、瞬間的な電源ノイズや電圧低下等によりすでに誤動作が発生してしまった場合でも、リカバリー動作を行うことができる。
【0083】
すなわち、第1の電源ブロック(CPUコア)61が誤動作したハングアップした場合においては、ウォッチドッグタイマー73によるリセット信号RSTWによって第1の電源ブロック(CPUコア)61を含む回路をリセットし、リカバリー処理を行うことが可能となる。このとき、エラーモニターレジスタ72は初期化せずに、保持しているエラー情報を第1の電源ブロック(CPUコア)61等から読み出し可能にしておくことで、エラー情報に応じた適切なリカバリー処理(例えば、低速クロック信号で復帰するといったリカバリー処理)を行うことが可能となる。なお、エラーモニターレジスタ72の初期化は、第1の電源ブロック(CPUコア)61からのライト動作や、リセット信号RSTWによるものとは別のパワーオン・リセット等のリセット動作などにより初期化するようにすれば良い。
【0084】
(第5の実施形態)
次に、本発明の第5の実施形態について説明する。
第5の実施形態に係る半導体装置は、上述した第4の実施形態における半導体装置において、第1及び第2の電源ブロックにそれぞれ供給される電源電位の差の変化を基づいて、誤動作が生じ得る状態になったことを検出するようにしたものである。
【0085】
図8は、第5の実施形態に係る半導体装置の構成例を示す図である。この図8において、図2、図4、図5、及び図7に示した構成要素と同一の機能を有する構成要素には同一の符号を付し、重複する説明は省略する。
【0086】
図8において、20Aは誤動作検出回路である。誤動作検出回路20Aは、電位差検知回路81及び電位差判定回路82を有する。電位差検知回路81は、第1の電源ブロック61に供給される電源電位Vdd1に相当する電位V1が入力されるともに、第2の電源ブロック63に供給される電源電位Vdd2に相当する電位V2が入力され、電位V1と電位V2の電位差を検知して、検知結果に応じた信号を電位差判定回路82に出力する。電位差判定回路82は、電位差検知回路81からの検知結果を示す信号に基づいて、電位V1と電位V2の電位差が所定の範囲から逸脱した状態、すなわち誤動作を生じ得る状態になったか否かを判定する。その結果、電位V1と電位V2の電位差が所定の範囲から逸脱している場合には、電位差判定回路82は、エラー検出信号ERRをアサートする。
【0087】
以上、第5の実施形態に示すように、第1及び第2の電源ブロックにそれぞれ供給される電源電位の差の変化を基づいて、誤動作が生じ得る状態になったことを検出するようにしても、上述した各実施形態と同様の効果を得ることができる。
【0088】
(第6の実施形態)
次に、本発明の第6の実施形態について説明する。
PLL(Phase Locked Loop)やDLL(Delay Locked Loop)を用いた回路では、何らかの原因により電源ノイズや電圧低下等が発生すると、それによりロックが外れて、出力クロックの周波数が過渡的に高い周波数となることがある。これにより回路に供給されるクロック信号の周波数が高くなりすぎて誤動作を引き起こすことがある。
【0089】
そこで、第6の実施形態に係る半導体装置は、誤動作検出回路としてPLLやDLLのロック端子からの出力信号をモニターし、ロックが外れたことを検出した場合には、動作が不安定になる可能性のある期間は、供給するクロック信号の周波数を低くするように制御する。これにより、電源ノイズや電圧低下等の要因による誤動作を防止する。
【0090】
図9は、第6の実施形態に係る半導体装置の構成例を示す図である。この図9において、図4に示した構成要素と同一の機能を有する構成要素には同一の符号を付し、重複する説明は省略する。
【0091】
図9において、91は、第3の電源ブロックである。第3の電源ブロックは、エラー情報保持回路92、PLL93、インバータ94、クロック生成回路95、割込み生成回路96、ウォッチドッグタイマー97、OR回路98を有する。
エラー情報保持回路92は、エラー情報保持回路68に相当し、エラー検出信号ERRA、ERRBの値を保持して出力する。
【0092】
PLL93は、クロック生成回路95にマスタークロックMCLKを出力する。また、PLL93は、ロックしている状態であるか否かを示す信号をロック端子より出力信号PLL−LOCKとして出力する。ここで、出力信号PLL−LOCKは、安定時(ロックしているとき)においてはアサートされてハイレベルとなり、不安定時(ロックが外れているとき)においてはネゲートされローレベルとなる。PLL93からの出力信号PLL−LOCKは、インバータ94を介してエラー検出信号ERRAとしてエラー情報保持回路92に供給される。
【0093】
クロック生成回路95は、クロック生成回路69に相当し、各ブロック等に供給するクロック信号CLK1、CLK2、…を生成する。クロック生成回路95は、クロック制御信号CKCTLとしてエラー情報保持回路92の出力信号が入力され、それに応じたクロック信号CLK1、CLK2、…を、PLL93から受けるマスタークロックMCLKを基に生成して出力する。
【0094】
割込み生成回路96は、割込み生成回路71に相当し、エラー情報保持回路92の出力信号が入力され、割込み要求信号INTを生成して第1の電源ブロック(CPUコア)61に出力する。ウォッチドッグタイマー97は、ウォッチドッグタイマー73に相当し、エラー情報保持回路92の出力信号が入力され、リセット信号(ウォッチドッグリセット)RSTWを出力する。OR回路98は、OR回路74に相当し、通常リセット信号RSTNとリセット信号RSTWとの論理和演算を行い、演算結果を第1及び第2の電源ブロック61、63にリセット信号として出力する。
【0095】
図9に示した第6の実施形態に係る半導体装置の動作例を、図10を参照して説明する。
図10は、第6の実施形態に係る半導体装置の動作の一例を示すタイミングチャートである。なお、クロック生成回路95が生成するクロック信号CLK1はCPUコアに供給されるクロック信号であるとし、クロック信号CLK2はオンチップバスに係るクロック信号であるとする。
【0096】
まず、初期状態として、PLL93からの出力信号PLL−LOCKがアサート、すなわちエラー検出信号ERRAがネゲートされており、クロック制御信号CKCTLがネゲートされているものとする。また、クロック生成回路95は、正常動作時の周波数のクロック信号CLK1、CLK2を生成し出力しているものとする。
【0097】
電源ノイズや電圧低下等によりPLL93におけるロックが外れると、出力信号PLL−LOCKがネゲートされる。出力信号PLL−LOCKがネゲートされることによってエラー検出信号ERRAがアサートされ、このエラー検出信号ERRAがエラー情報保持回路68に保持されてクロック制御信号CKCTLがアサートされる。クロック制御信号CKCTLがアサートされると、第3の実施形態と同様にして、動作周波数を低くするようにブロックに供給するクロック信号をギヤ・ダウンする(図10に示す例では、CPUコアに供給するクロック信号CLK1をギヤ・ダウンしている。)。
【0098】
その後、再びPLL93がロック状態となると、出力信号PLL−LOCKがアサートされ、所定時間経過後に、クロック制御信号CKCTLがネゲートされ、クロック信号CLK1を元に戻すように制御を行う。
【0099】
以上のようにして、電源ノイズや電圧低下等によりPLL93のロックが外れ誤動作の発生するおそれがある場合には、動作が不安定になる可能性がある期間において、供給するクロック信号の周波数を制御して動作周波数を低くし、誤動作の発生を防止することができる。なお、上述した説明では、PLL93におけるロックが外れた場合に、CPUコアに供給するクロック信号CLK1のみをギヤ・ダウンするようにしているが、各ブロックに供給するすべてのクロック信号についてギヤ・ダウンするようにしても良い。
【0100】
また、外部からのバッテリー供給電圧の低下等による割り込みや動作環境の変化によるチップ内温度の上昇による割り込み等が供給された場合には、それをエラー検出信号ERRBとして認識し、クロックギヤ・ダウン、割込み要求信号INTの生成、及びウォッチドッグタイマー97の起動などを行うことにより、バッテリー供給電圧の低下やチップ内温度の上昇による誤動作の発生を防止することができる。
【0101】
なお、第4及び第5の実施形態と同様に、エラー検出信号ERRA又はERRBがアサートされた場合に、第1の電源ブロック(CPUコア)61への割込み要求信号INTをアサートしつつ、ウォッチドッグタイマー97を起動させることで、仮に第1の電源ブロック(CPUコア)61が誤動作によりハングアップしても適切にリカバリー処理を行うことが可能となる。
【0102】
図11は、第6の実施形態に係る半導体装置の他の構成例を示す図である。この図11において、図2、図4、図5、図7、及び図9に示した構成要素と同一の機能を有する構成要素には同一の符号を付し、重複する説明は省略する。
【0103】
図11に示す半導体装置は、図9に示した第6の実施形態の半導体装置に対して、さらに図2に示した誤動作検出回路20を設けたものである。誤動作検出回路20の出力信号は、エラー検出信号ERRCとしてエラー情報保持回路92に供給される。なお、図11においては、誤動作検出回路20として図2に示した誤動作検出回路を適用した場合を示しているが、図3に示した誤動作検出回路を適用しても良い。
【0104】
(第7の実施形態)
次に、本発明の第7の実施形態について説明する。
第7の実施形態は、チップ内にCPUコアとしての機能を実現する回路が含まれる電源ブロックを複数有し、誤動作検出回路が電源ノイズや電圧低下等により誤動作が生じ得る状態になったことを検出した場合に、CPUコアとして機能する複数の電源ブロックに割込み要求を行い、CPUコアとして機能する電源ブロック間の通信(CPU通信)等により、各電源ブロックの状態を確認する。そして、CPUコアとして機能する電源ブロックのうち、正常に動作している電源ブロックあるいは電力制御等を担う電源ブロックにより、動作周波数や動作電圧の制御を行い、より安全な動作が可能となるように制御するものである。
【0105】
図12は、第7の実施形態に係る半導体装置の構成例を示す図である。第7の実施形態に係る半導体装置は、CPUコアの機能を実現する回路を含む電源ブロックをチップ内に複数有する。
【0106】
図12に示すように、第7の実施形態における半導体装置は、誤動作検出回路101、CPUコアとしての機能を実現する電源ブロック102A、102B、102C、オンチップバス104、同期/非同期選択回路105、エラーモニターレジスタ108、クロック制御レジスタ109、電源管理部110、エラー情報保持回路111、クロック生成回路112、割込み生成回路113、ウォッチドッグタイマー114、及びOR回路115を有する。
【0107】
誤動作検出回路101は、誤動作が生じ得る状態の発生を検出するものであり、上述した図2及び図3に示した誤動作検出回路20や、図8に示した誤動作検出回路20Aや、図9に示したPLLやDLLのロック端子からの出力信号をモニターする回路等が適用される。なお、図12においては、便宜上、これらの誤動作検出回路をまとめて1つの誤動作検出回路101として図示している。
【0108】
電源ブロック102A、102B、102Cは、それぞれCPUコアとしての機能を実現するための回路を含む電源ブロックである。なお、図12においては、電源ブロック102Aについてのみ具体的に示し、電源ブロック102B、102Cについて簡略して図しているが、同様に構成される。
【0109】
電源ブロック102A、102B、102Cは、バスインタフェース回路部103を有し、同期/非同期選択回路105を介してバスインタフェース回路部103とオンチップバス104との間でデータ転送が行われる。バスインタフェース回路部103、オンチップバス104、同期/非同期選択回路105(非同期バス・ブリッジ106、セレクタ107)は、図4等に示したバスインタフェース回路部62、オンチップバス64、同期/非同期選択回路65(非同期バス・ブリッジ66、セレクタ67)にそれぞれ相当し、同様に構成される。
【0110】
オンチップバス104には、エラーモニターレジスタ72に相当しエラー情報保持回路111からの指示に応じてエラー情報(エラーが検出された箇所、検出回数、エラー発生要因等)を保持するエラーモニターレジスタ108、クロック制御に係る情報を保持するクロック制御レジスタ109、電源管理等を行う電源管理部110が接続されている。
【0111】
エラー情報保持回路111、クロック生成回路112、割込み生成回路113、ウォッチドッグタイマー114、及びOR回路115は、図5や図7等に示したエラー情報保持回路68、クロック生成回路69、割込み生成回路71、ウォッチドッグタイマー73、及びOR回路74に相当し、同様に構成される。
【0112】
但し、本実施形態においては、クロック生成回路112には、エラー情報保持回路111の出力信号がクロック制御信号CKCTLAとして入力されるとともに、クロック制御レジスタからクロック制御信号CKCTLBが入力される。クロック生成回路112は、入力されるクロック制御信号CKCTLA及びCKCTLBに応じて、クロック信号CLK1、CLK2、…を生成し出力する。
【0113】
また、本実施形態における割込み生成回路113は、各電源ブロック(CPUコア)102A〜102Cの各々に対する割込み要求信号INTA、INTB、INTCを出力する。割込み生成回路113は、エラー情報保持回路111の出力信号がアサートされると、それを検出して割込み要求信号INTA、INTB、INTCをアサートする。
【0114】
このようにして、誤動作検出回路101が電源ノイズや電圧低下等により誤動作が生じ得る状態になったことを検出した場合に、CPUコアとして機能する電源ブロック102A〜102Cの各々に対して割込み要求信号INTA、INTB、INTCにより割込み要求を行い、電源ブロック102A〜102Cの間の通信等により、各電源ブロックの状態を互いに確認することができる。そして、正常に動作している電源ブロックあるいは電力制御等を担う電源ブロックにより、動作周波数や動作電圧の制御を行うことで、より安全な動作を実現することができる。
【0115】
また、上述した実施形態と同様に、誤動作が生じ得る状態の発生を検出した場合には、それをエラー検出信号として認識し、クロックギヤ・ダウン、割込み要求信号の生成、及びウォッチドッグタイマーの起動などを行うことで、誤動作の発生を防止することができるとともに、仮に電源ブロック(CPUコア)102A〜102Cが誤動作によりハングアップしても適切にリカバリー処理を行うことが可能となる。
【0116】
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明の諸態様を付記として以下に示す。
【0117】
(付記1)動作電圧及び動作周波数を制御可能な電源ブロックを含む複数の電源ブロックを有する半導体装置であって、
第1の電源ブロックに配置され、クロックに同期して動作する第1の記憶回路と、
第2の電源ブロックに配置され、前記クロックに同期して動作する第2の記憶回路と、
前記第1の記憶回路の出力端子と前記第2の記憶回路の入力端子との間に接続される第1の遅延回路と、
前記第2の記憶回路の出力端子と前記第1の記憶回路の入力端子との間に接続される第2の遅延回路と、
前記第1及び第2の記憶回路における入力信号及び出力信号に基づいて、誤動作が生じ得る状態であるか否かを判定し、判定結果をエラー検出信号として出力する判定回路とを備えることを特徴とする半導体装置。
(付記2)前記第1の記憶回路と、前記第2の記憶回路と、前記第1の遅延回路と、前記第2の遅延回路との組を複数設け、
前記第1の遅延回路を構成する複数の回路素子、及び前記第2の遅延回路を構成する複数の回路素子を、各組毎に配置を異ならせて前記第1の電源ブロック及び前記第2の電源ブロックに配置したことを特徴とする付記1記載の半導体装置。
(付記3)前記第1及び第2の記憶回路の各々は、フリップフロップであり、
前記第1及び第2の遅延回路の各々は、直列接続された複数のバッファ又は偶数個のインバータであることを特徴とする付記1記載の半導体装置。
(付記4)前記判定回路は、前記第1及び第2の記憶回路における入力信号と出力信号とを用いて論理演算を行うロジック回路であることを特徴とする付記3記載の半導体装置。
(付記5)PLL回路又はDLL回路を備え、
前記判定回路は、前記PLL回路又はDLL回路の出力信号に基づいて、前記PLL回路又はDLL回路の出力クロックが安定しているか否かを判定し、判定結果に応じて誤動作が生じ得る状態であるか否かを示すエラー検出信号を出力することを特徴とする付記1記載の半導体装置。
(付記6)前記判定回路から出力されるエラー検出信号に応じて、データ転送を同期転送で行うか非同期転送で行うかを切り替える選択回路を備えることを特徴とする付記1記載の半導体装置。
(付記7)前記選択回路は、データ転送を非同期で行うための非同期バス・ブリッジ回路と、
前記非同期バス・ブリッジ回路を介してデータ転送を行うか否かを、前記エラー検出信号に応じて切り替えるセレクタとを有することを特徴とする付記6記載の半導体装置。
(付記8)前記判定回路から出力されるエラー検出信号に応じて、前記第1の電源ブロック及び前記第2の電源ブロックの少なくとも一方の電源ブロックにおける動作電圧及び動作周波数の少なくとも一方を制御することを特徴とする付記1記載の半導体装置。
(付記9)前記エラー検出信号により誤動作が生じ得る状態を検出したことが通知された場合に、前記第1の電源ブロック及び前記第2の電源ブロックの少なくとも一方の電源ブロックにおける動作周波数を低くすることを特徴とする付記1記載の半導体装置。
(付記10)前記エラー検出信号により誤動作が生じ得る状態を検出したことが通知された場合に、前記第1の電源ブロック及び前記第2の電源ブロックの少なくとも一方の電源ブロックについて、供給するクロック信号の周波数を低下させる、又はクロック信号の供給を一時的に停止させることを特徴とする付記1記載の半導体装置。
(付記11)前記エラー検出信号により誤動作が生じ得る状態を検出したことが通知された場合に、前記第1の電源ブロック及び前記第2の電源ブロックの少なくとも一方の電源ブロックの動作を一時的に停止させることを特徴とする付記1記載の半導体装置。
(付記12)カウンタを有するリセット生成回路と、
前記第1の電源ブロック及び前記第2の電源ブロックの少なくとも一方の電源ブロックに対する割込み要求を発生させる割込み生成回路とを備え、
前記エラー検出信号により誤動作が生じ得る状態を検出したことが通知された場合に、前記リセット生成回路がカウント動作を行い、かつ前記割込み生成回路が前記割込み要求を発生させ、前記リセット生成回路におけるカウント値が所定の値に達するまでに前記割込み要求に応じたカウンタ値のクリア動作が実行されないときには、前記リセット生成回路は、前記第1の電源ブロック及び前記第2の電源ブロックを初期化することを特徴とする付記1記載の半導体装置。
(付記13)前記判定回路から出力されるエラー検出信号に係るエラー情報を保持するレジスタを備えることを特徴とする付記1記載の半導体装置。
(付記14)動作電圧及び動作周波数を制御可能な電源ブロックを含む複数の電源ブロックを有する半導体装置であって、
第1の電源ブロックにおける第1の電源電位及び第2の電源ブロックにおける第2の電源電位が入力され、前記第1の電源電位と前記第2の電源電位の電位差を検知する電位差検知回路と、
前記電位差検知回路の検知結果に基づいて、前記第1の電源電位と前記第2の電源電位の電位差が所定の範囲から逸脱しているか否かを判定し、判定結果に応じて誤動作が生じ得る状態であるか否かを示すエラー検出信号を出力する判定回路とを備えることを特徴とする半導体装置。
(付記15)前記判定回路から出力されるエラー検出信号に応じて、データ転送を同期転送で行うか非同期転送で行うかを切り替える選択回路を備えることを特徴とする付記14記載の半導体装置。
(付記16)前記判定回路から出力されるエラー検出信号に応じて、前記第1の電源ブロック及び前記第2の電源ブロックの少なくとも一方の電源ブロックにおける動作電圧及び動作周波数の少なくとも一方を制御することを特徴とする付記14記載の半導体装置。
(付記17)前記エラー検出信号により誤動作が生じ得る状態を検出したことが通知された場合に、前記第1の電源ブロック及び前記第2の電源ブロックの少なくとも一方の電源ブロックにおける動作周波数を低くすることを特徴とする付記14記載の半導体装置。
(付記18)前記エラー検出信号により誤動作が生じ得る状態を検出したことが通知された場合に、前記第1の電源ブロック及び前記第2の電源ブロックの少なくとも一方の電源ブロックについて、供給するクロック信号の周波数を低下させる、又はクロック信号の供給を一時的に停止させることを特徴とする付記14記載の半導体装置。
(付記19)前記エラー検出信号により誤動作が生じ得る状態を検出したことが通知された場合に、前記第1の電源ブロック及び前記第2の電源ブロックの少なくとも一方の電源ブロックの動作を一時的に停止させることを特徴とする付記14記載の半導体装置。
(付記20)カウンタを有するリセット生成回路と、
前記第1の電源ブロック及び前記第2の電源ブロックの少なくとも一方の電源ブロックに対する割込み要求を発生させる割込み生成回路とを備え、
前記エラー検出信号により誤動作が生じ得る状態を検出したことが通知された場合に、前記リセット生成回路がカウント動作を行い、かつ前記割込み生成回路が前記割込み要求を発生させ、前記リセット生成回路におけるカウント値が所定の値に達するまでに前記割込み要求に応じたカウンタ値のクリア動作が実行されないときには、前記リセット生成回路は、前記第1の電源ブロック及び前記第2の電源ブロックを初期化することを特徴とする付記14記載の半導体装置。
(付記21)前記判定回路から出力されるエラー検出信号に係るエラー情報を保持するレジスタを備えることを特徴とする付記14記載の半導体装置。
(付記22)動作電圧及び動作周波数を制御可能な電源ブロックを含む複数の電源ブロックを有し、かつPLL回路又はDLL回路を有する半導体装置であって、
前記PLL回路又はDLL回路の出力信号に基づいて、前記PLL回路又はDLL回路の出力クロックが安定しているか否かを判定し、判定結果に応じて誤動作が生じ得る状態であるか否かを示すエラー検出信号を出力する判定回路と、
前記判定回路から出力されるエラー検出信号に応じて、データ転送を同期転送で行うか非同期転送で行うかを切り替える選択回路とを備えることを特徴とする半導体装置。
(付記23)前記判定回路から出力されるエラー検出信号に応じて、前記第1の電源ブロック及び前記第2の電源ブロックの少なくとも一方の電源ブロックにおける動作電圧及び動作周波数の少なくとも一方を制御することを特徴とする付記22記載の半導体装置。
(付記24)カウンタを有するリセット生成回路と、
前記第1の電源ブロック及び前記第2の電源ブロックの少なくとも一方の電源ブロックに対する割込み要求を発生させる割込み生成回路とを備え、
前記エラー検出信号により誤動作が生じ得る状態を検出したことが通知された場合に、前記リセット生成回路がカウント動作を行い、かつ前記割込み生成回路が前記割込み要求を発生させ、前記リセット生成回路におけるカウント値が所定の値に達するまでに前記割込み要求に応じたカウンタ値のクリア動作が実行されないときには、前記リセット生成回路は、前記第1の電源ブロック及び前記第2の電源ブロックを初期化することを特徴とする付記22記載の半導体装置。
(付記25)前記判定回路から出力されるエラー検出信号に係るエラー情報を保持するレジスタを備えることを特徴とする付記22記載の半導体装置。
【図面の簡単な説明】
【0118】
【図1】本発明の実施形態が適用される半導体装置の構成例を示す図である。
【図2】第1の実施形態における誤動作検出回路の構成例を示す図である。
【図3】第1の実施形態における誤動作検出回路の他の構成例を示す図である。
【図4】第2の実施形態における半導体装置の構成例を示す図である。
【図5】第3の実施形態における半導体装置の構成例を示す図である。
【図6】第3の実施形態における半導体装置の動作例を示すタイミングチャートである。
【図7】第4の実施形態における半導体装置の構成例を示す図である。
【図8】第5の実施形態における半導体装置の構成例を示す図である。
【図9】第6の実施形態における半導体装置の構成例を示す図である。
【図10】第6の実施形態における半導体装置の動作例を示すタイミングチャートである。
【図11】第6の実施形態における半導体装置の他の構成例を示す図である。
【図12】第7の実施形態における半導体装置の構成例を示す図である。
【図13】半導体装置における内部電圧変動の一例を示す図である。
【符号の説明】
【0119】
20 誤動作検出回路
21、25、31、41 モニター回路
22、26、32、42 記憶回路
23、27、33、34、43、44 遅延回路
24、28、35、45 判定回路
29、51 エラー検出信号出力回路
62 バスインタフェース回路部
64 オンチップバス
65 同期/非同期選択回路
66 非同期バス・ブリッジ
67 セレクタ
68 エラー情報保持回路
69 クロック生成回路
71 割込み生成回路
72 エラーモニターレジスタ
73 ウォッチドッグタイマー
ERR エラー検出信号
INT 割込み要求信号
【特許請求の範囲】
【請求項1】
動作電圧及び動作周波数を制御可能な電源ブロックを含む複数の電源ブロックを有する半導体装置であって、
第1の電源ブロックに配置され、クロックに同期して動作する第1の記憶回路と、
第2の電源ブロックに配置され、前記クロックに同期して動作する第2の記憶回路と、
前記第1の記憶回路の出力端子と前記第2の記憶回路の入力端子との間に接続される第1の遅延回路と、
前記第2の記憶回路の出力端子と前記第1の記憶回路の入力端子との間に接続される第2の遅延回路と、
前記第1及び第2の記憶回路における入力信号及び出力信号に基づいて、誤動作が生じ得る状態であるか否かを判定し、判定結果をエラー検出信号として出力する判定回路とを備えることを特徴とする半導体装置。
【請求項2】
前記第1の記憶回路と、前記第2の記憶回路と、前記第1の遅延回路と、前記第2の遅延回路との組を複数設け、
前記第1の遅延回路を構成する複数の回路素子、及び前記第2の遅延回路を構成する複数の回路素子を、各組毎に配置を異ならせて前記第1の電源ブロック及び前記第2の電源ブロックに配置したことを特徴とする請求項1記載の半導体装置。
【請求項3】
PLL回路又はDLL回路を備え、
前記判定回路は、前記PLL回路又はDLL回路の出力信号に基づいて、前記PLL回路又はDLL回路の出力クロックが安定しているか否かを判定し、判定結果に応じて誤動作が生じ得る状態であるか否かを示すエラー検出信号を出力することを特徴とする請求項1又は2記載の半導体装置。
【請求項4】
動作電圧及び動作周波数を制御可能な電源ブロックを含む複数の電源ブロックを有する半導体装置であって、
第1の電源ブロックにおける第1の電源電位及び第2の電源ブロックにおける第2の電源電位が入力され、前記第1の電源電位と前記第2の電源電位の電位差を検知する電位差検知回路と、
前記電位差検知回路の検知結果に基づいて、前記第1の電源電位と前記第2の電源電位の電位差が所定の範囲から逸脱しているか否かを判定し、判定結果に応じて誤動作が生じ得る状態であるか否かを示すエラー検出信号を出力する判定回路とを備えることを特徴とする半導体装置。
【請求項5】
前記判定回路から出力されるエラー検出信号に応じて、データ転送を同期転送で行うか非同期転送で行うかを切り替える選択回路を備えることを特徴とする請求項1〜4の何れか1項に記載の半導体装置。
【請求項6】
前記判定回路から出力されるエラー検出信号に応じて、前記第1の電源ブロック及び前記第2の電源ブロックの少なくとも一方の電源ブロックにおける動作電圧及び動作周波数の少なくとも一方を制御することを特徴とする請求項1〜5の何れか1項に記載の半導体装置。
【請求項7】
前記エラー検出信号により誤動作が生じ得る状態を検出したことが通知された場合に、前記第1の電源ブロック及び前記第2の電源ブロックの少なくとも一方の電源ブロックにおける動作周波数を低くすることを特徴とする請求項1〜5の何れか1項に記載の半導体装置。
【請求項8】
カウンタを有するリセット生成回路と、
前記第1の電源ブロック及び前記第2の電源ブロックの少なくとも一方の電源ブロックに対する割込み要求を発生させる割込み生成回路とを備え、
前記エラー検出信号により誤動作が生じ得る状態を検出したことが通知された場合に、前記リセット生成回路がカウント動作を行い、かつ前記割込み生成回路が前記割込み要求を発生させ、前記リセット生成回路におけるカウント値が所定の値に達するまでに前記割込み要求に応じたカウンタ値のクリア動作が実行されないときには、前記リセット生成回路は、前記第1の電源ブロック及び前記第2の電源ブロックを初期化することを特徴とする請求項1〜5の何れか1項に記載の半導体装置。
【請求項9】
前記判定回路から出力されるエラー検出信号に係るエラー情報を保持するレジスタを備えることを特徴とする請求項1〜5、8の何れか1項に記載の半導体装置。
【請求項10】
動作電圧及び動作周波数を制御可能な電源ブロックを含む複数の電源ブロックを有し、かつPLL回路又はDLL回路を有する半導体装置であって、
前記PLL回路又はDLL回路の出力信号に基づいて、前記PLL回路又はDLL回路の出力クロックが安定しているか否かを判定し、判定結果に応じて誤動作が生じ得る状態であるか否かを示すエラー検出信号を出力する判定回路と、
前記判定回路から出力されるエラー検出信号に応じて、データ転送を同期転送で行うか非同期転送で行うかを切り替える選択回路とを備えることを特徴とする半導体装置。
【請求項1】
動作電圧及び動作周波数を制御可能な電源ブロックを含む複数の電源ブロックを有する半導体装置であって、
第1の電源ブロックに配置され、クロックに同期して動作する第1の記憶回路と、
第2の電源ブロックに配置され、前記クロックに同期して動作する第2の記憶回路と、
前記第1の記憶回路の出力端子と前記第2の記憶回路の入力端子との間に接続される第1の遅延回路と、
前記第2の記憶回路の出力端子と前記第1の記憶回路の入力端子との間に接続される第2の遅延回路と、
前記第1及び第2の記憶回路における入力信号及び出力信号に基づいて、誤動作が生じ得る状態であるか否かを判定し、判定結果をエラー検出信号として出力する判定回路とを備えることを特徴とする半導体装置。
【請求項2】
前記第1の記憶回路と、前記第2の記憶回路と、前記第1の遅延回路と、前記第2の遅延回路との組を複数設け、
前記第1の遅延回路を構成する複数の回路素子、及び前記第2の遅延回路を構成する複数の回路素子を、各組毎に配置を異ならせて前記第1の電源ブロック及び前記第2の電源ブロックに配置したことを特徴とする請求項1記載の半導体装置。
【請求項3】
PLL回路又はDLL回路を備え、
前記判定回路は、前記PLL回路又はDLL回路の出力信号に基づいて、前記PLL回路又はDLL回路の出力クロックが安定しているか否かを判定し、判定結果に応じて誤動作が生じ得る状態であるか否かを示すエラー検出信号を出力することを特徴とする請求項1又は2記載の半導体装置。
【請求項4】
動作電圧及び動作周波数を制御可能な電源ブロックを含む複数の電源ブロックを有する半導体装置であって、
第1の電源ブロックにおける第1の電源電位及び第2の電源ブロックにおける第2の電源電位が入力され、前記第1の電源電位と前記第2の電源電位の電位差を検知する電位差検知回路と、
前記電位差検知回路の検知結果に基づいて、前記第1の電源電位と前記第2の電源電位の電位差が所定の範囲から逸脱しているか否かを判定し、判定結果に応じて誤動作が生じ得る状態であるか否かを示すエラー検出信号を出力する判定回路とを備えることを特徴とする半導体装置。
【請求項5】
前記判定回路から出力されるエラー検出信号に応じて、データ転送を同期転送で行うか非同期転送で行うかを切り替える選択回路を備えることを特徴とする請求項1〜4の何れか1項に記載の半導体装置。
【請求項6】
前記判定回路から出力されるエラー検出信号に応じて、前記第1の電源ブロック及び前記第2の電源ブロックの少なくとも一方の電源ブロックにおける動作電圧及び動作周波数の少なくとも一方を制御することを特徴とする請求項1〜5の何れか1項に記載の半導体装置。
【請求項7】
前記エラー検出信号により誤動作が生じ得る状態を検出したことが通知された場合に、前記第1の電源ブロック及び前記第2の電源ブロックの少なくとも一方の電源ブロックにおける動作周波数を低くすることを特徴とする請求項1〜5の何れか1項に記載の半導体装置。
【請求項8】
カウンタを有するリセット生成回路と、
前記第1の電源ブロック及び前記第2の電源ブロックの少なくとも一方の電源ブロックに対する割込み要求を発生させる割込み生成回路とを備え、
前記エラー検出信号により誤動作が生じ得る状態を検出したことが通知された場合に、前記リセット生成回路がカウント動作を行い、かつ前記割込み生成回路が前記割込み要求を発生させ、前記リセット生成回路におけるカウント値が所定の値に達するまでに前記割込み要求に応じたカウンタ値のクリア動作が実行されないときには、前記リセット生成回路は、前記第1の電源ブロック及び前記第2の電源ブロックを初期化することを特徴とする請求項1〜5の何れか1項に記載の半導体装置。
【請求項9】
前記判定回路から出力されるエラー検出信号に係るエラー情報を保持するレジスタを備えることを特徴とする請求項1〜5、8の何れか1項に記載の半導体装置。
【請求項10】
動作電圧及び動作周波数を制御可能な電源ブロックを含む複数の電源ブロックを有し、かつPLL回路又はDLL回路を有する半導体装置であって、
前記PLL回路又はDLL回路の出力信号に基づいて、前記PLL回路又はDLL回路の出力クロックが安定しているか否かを判定し、判定結果に応じて誤動作が生じ得る状態であるか否かを示すエラー検出信号を出力する判定回路と、
前記判定回路から出力されるエラー検出信号に応じて、データ転送を同期転送で行うか非同期転送で行うかを切り替える選択回路とを備えることを特徴とする半導体装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2008−311767(P2008−311767A)
【公開日】平成20年12月25日(2008.12.25)
【国際特許分類】
【出願番号】特願2007−155525(P2007−155525)
【出願日】平成19年6月12日(2007.6.12)
【出願人】(308014341)富士通マイクロエレクトロニクス株式会社 (2,507)
【Fターム(参考)】
【公開日】平成20年12月25日(2008.12.25)
【国際特許分類】
【出願日】平成19年6月12日(2007.6.12)
【出願人】(308014341)富士通マイクロエレクトロニクス株式会社 (2,507)
【Fターム(参考)】
[ Back to top ]