JP6533135B2 - 半導体装置 - Google Patents

半導体装置 Download PDF

Info

Publication number
JP6533135B2
JP6533135B2 JP2015182677A JP2015182677A JP6533135B2 JP 6533135 B2 JP6533135 B2 JP 6533135B2 JP 2015182677 A JP2015182677 A JP 2015182677A JP 2015182677 A JP2015182677 A JP 2015182677A JP 6533135 B2 JP6533135 B2 JP 6533135B2
Authority
JP
Japan
Prior art keywords
voltage
clock
value
circuit
power supply
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
JP2015182677A
Other languages
English (en)
Other versions
JP2017058911A (ja
JP2017058911A5 (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 JP2015182677A priority Critical patent/JP6533135B2/ja
Priority to US15/224,380 priority patent/US10222847B2/en
Priority to CN201610708757.5A priority patent/CN106547637B/zh
Publication of JP2017058911A publication Critical patent/JP2017058911A/ja
Publication of JP2017058911A5 publication Critical patent/JP2017058911A5/ja
Priority to US16/219,758 priority patent/US10782763B2/en
Application granted granted Critical
Publication of JP6533135B2 publication Critical patent/JP6533135B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0706Error 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 the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error 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 the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • G06F11/0724Error 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 the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
    • 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/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • G06F1/305Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations in the event of power-supply fluctuations
    • 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/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • 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
    • 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/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • 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
    • 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

Description

本開示は半導体装置に関し、例えば電圧降下を感知する回路を備える半導体装置に適用可能である。
電源電圧の変動に応じてクロック周波数を変化させることが提案されている(例えば、特開2014−52969号公報)。すなわち、電源電圧が高い方に変動した場合にはクロック周波数を上げて動作速度を速くする。逆に、電源電圧が低い方向に変動した場合にはクロック周波数を下げて動作速度を遅くするという制御が行われる。
特開2014−52969号公報
しかし、電源電圧の変動に応じてクロック周波数を変化させる方法では、クロック周波数変更に要するレイテンシから急負荷変動時に発生する大きな電圧降下等の高速な電圧変化には追従できない。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
本開示のうち、代表的なものの概要を簡単に説明すれば、下記のとおりである。
すなわち、半導体装置は、想定する電源電圧変動の周波数より速いサンプリング速度で電源電圧をモニタリングし、システムが誤動作を起こす電圧降下が発生すると判定すると、クロックを停止クロックする。
上記の半導体装置によれば、急負荷変動時に発生する大きな電圧降下等の高速な電圧変化には追従することができる。
比較例1に係る半導体装置の急負荷変動時に発生する電圧降下と設計電圧範囲の関係を説明するための図。 比較例2に係る半導体装置の電圧および電流のシミュレーション結果を示す図。 半導体チップを実装したボードにおける電源電圧の振動を説明するための図。 チップ容量別、周波数と電源インピーダンスの関係を説明するための図。 ボード容量別、周波数と電源インピーダンスの関係を説明するための図 実施形態に係る半導体装置の効果を説明するための電圧波形図 実施例に係る半導体装置の構成を説明するためのブロック図。 図7の半導体装置の制御フロー図。 図7の電圧降下判定回路のフロー図。 クロック停止・再開時における電圧および電流波形イメージ図。 図7の電圧センサの構成を説明するためのブロック図。 図7の電圧センサの高電圧時の動作波形図。 図7の電圧センサの低電圧時の動作波形図。 電圧センサの1回目と2回目以降のサンプリングで結果が異なる場合の動作波形図。 電圧センサの1回目と2回目以降のサンプリングで結果が異なる場合の動作波形図。 図7の電圧センサの他の構成例を示すブロック図 図15の電圧センサの動作波形図。 図11のエンコーダの構成を示すブロック図。 図11のエンコーダの構成を示すブロック図。 META[6]〜META[7]に‘10’境界が存在する場合のエンコーダ内部処理イメージ図。 ‘10’境界が存在しない場合のエンコーダ内部処理イメージ図。 META[98]〜META[99]に‘10’境界が存在する場合のエンコーダ内部処理イメージ図。 絶対値演算のフロー図。 平均値演算のフロー図。 変動値演算のフロー図。 予測演算のフロー図。 マスク機能を説明するための電圧波形イメージ図。 マスク機能付き予測演算のフロー図。 マスク機能付き予測演算のフロー図。 クロック制御回路のブロック図。 クロック制御回路の周波数制御イメージ図。 クロック制御回路の周波数制御イメージ図。 クロック制御回路の制御フロー図。 実施例2に係る半導体装置のレイアウトイメージ図である。 図28のQuad CoreCPUとクロック制御回路との間の信号受け渡しイメージを示すブロック図。 図28のQuad CoreCPUとクロック制御回路との間の信号受け渡しイメージを示すブロック図。 図28のQuad CoreCPUのクロック停止動作波形図。 実施形態に係る半導体装置の構成を示すブロック図。
以下、実施形態および実施例について、図面を用いて説明する。ただし、以下の説明において、同一構成要素には同一符号を付し繰り返しの説明を省略することがある。
まず、本開示に先立って本願発明者らが検討した技術(以下、比較例という。)について説明する。
図1は比較例1に係る半導体装置の急負荷変動時に発生する電圧降下と設計電圧範囲の関係を示すタイミング図である。矢印Aは急負荷変動により発生する致命的な電圧降下を示している。比較例1では、急負荷変動時に発生する大きな電圧降下を見越したワーストの電圧範囲(破線B)で設計することにより実動作の保証をする。ワーストの急負荷変動を保証する広い電圧範囲での設計は、最高動作速度を大幅に低下させ、所望の演算性能を実現することを困難とする。また、実動作時に設計で想定した以上の電圧降下が発生した場合は誤動作を引き起こす。
図2は比較例2に係る半導体装置の電圧および電流のシミュレーション結果を示す図である。比較例2では、電圧降下による誤動作防止策としてクロックを停止する。しかし、クロック停止後に即時再開した場合、クロック供給による急激な電流変化によりさらなる電圧降下を引き起こす場合があるため、単純なクロック停止・再開の制御では急負荷変動時の致命的な電圧降下発生の対処にはならない。例えば、図2に示すように、クロック停止(A)から10ns後にクロック再開(B)した場合、電圧が急激に低下し(C)、クロック停止前よりも悪化する。
図3(A)、3(B)は半導体チップを実装したボードにおける電源電圧の振動を説明するための図であり、図3(A)は断面図、図3(B)は等価回路図である。ボード(BOARD)1に電圧調整器(VOLTAGE REGULATOR)2、半導体チップ(CHIP)3が実装されたパッケージ(PACKAGE)4、デカップリングコンデンサ(DECOUPLING CAPACITOR)5、6が搭載されている。なお、半導体チップ3はパッケージ4の端子とボンディングワイヤ7で電気的に接続されている。インダクタL1はボード上の電源分配網(POWER DISTRIBUTION NETWORK ON BOARD)、インダクタL2はパッケージ上の電源分配網(POWER DISTRIBUTION NETWORK ON PACKAGE)、インダクタL3、L4はデカップリングコンデンサ5、6の等価インダクタンスである。キャパシタC1、C2はデカップリングコンデンサ5、6の容量である。キャパシタC3は半導体チップ上のデカップリングコンデンサの容量である。
電源電圧のAC的な振動波形は、半導体チップ3、パッケージ4、ボード1のもつインダクタンス(L)、キャパシタンス(C)、抵抗(R)から、振幅(=インピーダンス)および共振周波数が決まる。
図4はチップ容量別、周波数と電源インピーダンスの関係を示す図である。図5はボード容量別、周波数と電源インピーダンスの関係を示す図である。
電源インピーダンスは電源電圧波形の振幅を決めるため、電源インピーダンスの抑制は電源電圧ドロップの抑制につながる。図4および図5に示すように、大きい容量CLと小さい容量CSとで電源インピーダンスの周波数特性は異なる。言い換えると電源インピーダンスはオンチップ容量、ボード容量により、異なる周波数特性をもつ。顧客ボードによって搭載容量や寄生容量等(L,C,R成分)が異なると、それぞれの電源インピーダンスの周波数特性も異なることになる。したがって、電源インピーダンスに応じた最適な電源電圧のドロップ判定をする必要がある。
<実施形態>
図31は実施形態に係る半導体装置の構成を示すブロックである。実施形態に係る半導体装置10は、想定する電源電圧変動の周波数より速いサンプリング速度で電源電圧をモニタリングし、電圧コード値を出力する電圧センサ11と、電圧コード値からシステムが誤動作を起こす電圧降下が発生すると判定し、クロック停止信号を出力する電圧降下判定回路12と、クロック停止、再開、周波数変更を制御するクロック制御回路13と、を備える。
実施形態によれば、設計電圧範囲を超える急負荷変動が発生した場合に起こりうるシステム誤動作の抑制が可能となる。図6は実施形態に係る半導体装置の効果を説明するための電圧波形図である。矢印Aは稀に発生する電圧降下で、比較例1では設計電圧範囲を破線Bよりも上に設定していた。実施形態では設計電圧範囲を破線Cよりも上に設定することができる。すなわち、ワースト急負荷変動による致命的な電圧降下を設計電圧範囲から除外し電圧範囲を狭めた設計を可能にすることで、最高動作周波数を向上させ、演算性能を改善することが可能となる。
図7は実施例に係る半導体装置の構成を示すブロック図である。実施例に係る半導体装置(CHIP)10は、電圧センサ11と、電圧降下判定回路12と、クロック制御回路13と、被制御領域14と、を一つの半導体基板上に備える。電圧センサ回路11は電源電圧が変動する周波数よりも高速なサンプリングによって電源電圧(VDD)をモニタし、電圧コード値を出力する。電圧降下判定回路12はレジスタで設定される計算アルゴリズムおよび閾値に対して電圧コード値から計算された結果が閾値を下回った場合に致命的な電圧降下発生と判定し、クロック停止信号(CKSP)を生成する。反対に、過大な電圧上昇が発生する場合を検出するために、電圧上限を決める閾値を設定し、この閾値を上回る場合にクロック停止信号(CKSP)を生成する構成としてもよい。クロック制御回路13はクロック信号(CLK)を被制御領域14に供給し、クロック停止信号(CKSP)を受けてクロック信号(CLK)を停止させる回路およびレジスタで設定される所定時間待機後に段階的にクロック信号(CLK)を再開する。判定モード選択(演算アルゴリズム選択(MDE)、判定閾値(VTH))およびクロック再開方式選択(クロック停止期間(TSP)、クロック再開段階値(FST))は被制御領域14内のCPUまたは半導体装置10の外部の装置によって電圧降下判定回路12やクロック制御回路13の中のレジスタに設定される。
図8は図7の半導体装置の制御フロー図である。
ステップS1:電圧センサ11は、電源電圧のモニタリングを実施する。電圧のサンプリング速度は想定する電圧変動周波数の20倍以上が望ましい。例えば電圧が50MHzで振動する場合にはサンプリング速度は1GHz以上となる。加えてサンプリング速度は電圧変動を起こす要因となるクロック信号(CLK)の周波数と同じまたは1/n周波数であることが望ましい。クロック周波数よりも速い周期でサンプリングすると誤動作の要因とならないクロックサイクル内の電圧変動をとらえることとなり、悲観的に電圧降下を判定するためである。
ステップS2:電圧センサ11は、モニタリングした電源電圧を電圧コード値に変換して出力する。
ステップS3:電圧降下判定回路12は、被制御領域14内のCPU等がレジスタ値で設定する演算アルゴリズム(MDE)に応じて電圧値演算を実施する。電圧降下発生を判定する演算アルゴリズムは、絶対値演算、平均値演算、変動値計算、予測計算など多様な電圧降下発生を判定する演算を可能とする。
図9は電圧降下発生判定フローを示す図である。
ステップS31:センス結果である電圧コード値を取得する。
ステップS32:センス結果履歴保持回路121はセンス結果の最新値、1回前の値、2回前の値、・・・、m回前の値を保持する。
ステップS33:演算回路122はセンス結果履歴保持回路のセンス結果を用いて、絶対値演算、平均値演算、変動値演算、予測値演算を行い、絶対値、平均値、変動値、予測値を求める。
ステップS34:演算回路122は絶対値、平均値、変動値、予測値のいずれかをレジスタ内の判定モード選択値(MDE)に基づいて選択し、演算結果とする。なお、判定モード選択値(MDE)で選択された演算回路のみを動作させるようにしてもよい。また、演算回路122は絶対値、平均値、変動値、予測値の全てを設ける必要はなく、複数もつ場合は少なくとも2つあればよい。さらに、演算回路122は複数の演算回路を備える必要はなく、絶対値、平均値、変動値、予測値のうちの少なくとも1つを備えていればよい。
ステップS4:電圧降下判定回路12は、演算結果とレジスタ値で設定する判定閾値(VTH)を比較する(演算結果<閾値)。YESの場合はステップS5に移り、NOの場合はステップS1に戻り電圧モニタを継続する。また、反対に、過大な電圧上昇から半導体装置10を保護する場合などのために、演算結果>閾値を比較する構成としてもよい。
ステップS5:電圧降下判定回路12は、クロック停止信号(CKSP)を出力する。
ステップS6:クロック制御回路13は、クロック停止信号(CKSP)に基づいてクロック供給を停止する(CLK停止)。
ステップS7:クロック制御回路13では、クロック供給停止後の期間とレジスタ値で設定するクロック停止期間(TSP)とを比較する(CLK停止期間>設定値)。YESの場合ステップS8に移る。NOの場合はステップS6に戻る。
ステップS8:クロック制御回路13は、クロック停止信号(CKSP)受信から所定時間のクロック停止後、クロックを再開し、レジスタ値で設定するクロック再開段階値(FST)に基づき、段階的に周波数を上げる(CLK再開)。
図10はクロック停止・再開時における電圧および電流波形イメージ図である。クロック停止および再開は、負荷変動による電圧振動収束時間(T)分のクロック停止期間制御と段階的なクロック再開により、クロック再開による大きな電圧降下を抑制する。クロックを停止すると負荷変動により電圧が振動する。その電圧振動が収束する(電圧変動が安定する)までの期間、クロックを停止する。クロック停止(CLK停止)期間は、例えば200nsである。なお、破線Aはクロックを停止しなかった場合の電圧波形である。クロックの再開(CLK再開)は段階的にクロック周波数を引き上げる。クロックの再開時、クロック周波数を段階的に上昇させないと、図の点線Bで示すように、電流変動による急激な電圧降下が発生する。
電圧変動周波数の20倍以上の高速サンプリングによる電圧センサを適用することで電圧降下が誤動作を起こす前に電圧降下を判定し、クロックを停止することが可能となる。また、電圧降下のエンベロープから電圧降下を先読みすることが可能となる。
クロック停止時間をレジスタ設定値とすることによってクロック停止時の電圧変動が安定するまでクロックを停止させることが可能となる。
クロック再開時に周波数を段階的に上昇させることでクロック再開時の電流変動による急激な電圧降下による誤動作を防止することが可能となる。
電圧降下判定アルゴリズムおよび判定閾値をレジスタ設定とすることにより、チップ内電源とパッケージ、PCB等で決まるインピーダンスに応じた電圧判定を行うことが可能となる。
<電圧センサ>
図11は図7の電圧センサの構成を示すブロック図である。電圧センサ11は電圧に応じた遅延値を生成する電圧制御遅延回路111、Dフリップフロップ(D-Flip Flop)を用いたTDC(Time to Digital Converter)回路112、メタステーブル(Metastable)伝播を防止するMETA対策回路113、TDC結果をエンコードするエンコーダ(ENCODER)114、エンコード結果を同期出力する出力信号同期化回路115で構成される。
図12Aおよび図12Bは電圧センサの動作波形を示す図であり、図12Aは高電圧時の波形で、図12Bは低電圧時の波形である。図12Aおよび図12Bでは6ビットのTDC回路112の例を示している。
クロック信号(sCLK)のパルスは電圧制御遅延回路111に入力され、電源電圧に応じた遅延後に、TDC回路112に到達する。電圧制御遅延回路111は例えばバッファチェーンで構成される。バッファチェーンは、多段接続された複数の単位遅延素子(バッファセル)、例えば複数のインバータで構成される。一般的に、バッファセルは電源電圧により遅延が異なり、電源電圧が高い(高電圧)時より電源電圧が低い(低電圧)時の方が遅延が大きくなる特性をもつ。
TDC回路112はバッファチェーンとDフリップフロップで構成される。TDC回路112内のノードN,N, …, Nは、それぞれのノード間にあるバッファセルB1、B2、…、B6の遅延分だけ遅れてパルスが伝搬し、遅延値は電源電圧に応じて異なる。高電圧時は低電圧時より遅延が小さいため、高電圧時の方がより早くバッファチェーンの後段にパルスが伝搬する。ノードN,N, …, Nはクロック信号(sCLK)によってサンプリングされ、次のsCLKの立ち上がりエッジ入力時に‘1’となっているノードの信号が入力されるDフリップフロップの出力を‘1’に遷移させる。sCLK立ち上がりエッジ入力時、高電圧の場合はノードN,N, …, Nは‘1’、ノードN,Nは‘0’のため、DフリップフロップFF1、FF2、…、FF4の出力信号(ED,ED2, …,ED)は‘1’に、DフリップフロップFF5、FF6の出力信号(ED,ED)は‘0’になる。一方で低電圧の場合は、sCLK立ち上がりエッジ入力時、ノードN,Nは‘1’、ノードN,N,…,Nは‘0’のため、ED,EDは‘1’に、ED3,ED4, …, EDは‘0’になる。EDは‘1’の連続値と‘0’の連続値からなり、EDの‘10’の境界は、電源電圧が高いほど上位ビット側にあらわれ、電源電圧が低いほど下位ビット側にあらわれる。図12Aに示すように、高電圧時はED[1:6]=111100であるのに対し、図12Bに示すように、低電圧時はED[1:6]=110000となり、高電圧ほど上位ビット側、低電圧ほど下位ビット側に‘10’の境界があらわれる。
META対策回路113では、EDが遷移した次のsCLK立ち上がりエッジでEDの値を取り込み、信号(META)として出力する。METAはEDと同じビット数である。エンコーダ114ではMETAの各ビットの‘10’の境界位置に基づいて符号化し、電圧コード(CODE)として出力する。出力信号同期化回路115にて電圧コード(CODE)を受け、sCLKに同期して、電圧コード(VCODE)を出力する。
図11のTDC回路112は、クロック信号(sCLK)の周期と、電圧制御遅延回路111およびTDC回路112の遅延値との関係によっては、同一電圧でのサンプリングにも関わらず1回目のサンプリングと2回目以降のサンプリングで結果が異なる場合がある。このケースでは、電圧値とサンプリング値が一対一の関係にないため、エンコーダ114での符号化が困難になる。
図13は電圧センサの1回目と2回目以降のサンプリングで結果が異なる場合の動作波形図であり、MSB=10のTDC回路112にて電源電圧が一定の場合にサンプリングを4回実施する例である。CLKパルスは電圧制御遅延回路111により遅延し、ノードNに到達する。ノードNからN10までは、各ノード間のバッファB1〜B10により遅延する。1回目のサンプリング(1st SAMPLING)時、ノードN〜Nは‘1’、ノードN〜N10は‘0’となるため、サンプリング結果はED[1:10]=‘1111000000’となる。しかし、クロック信号(sCLK)の周期(Tsclk)に対してsCLKの電圧制御遅延回路111の入力からノードN10までの遅延が大きいため、2回目のサンプリング(2nd SAMPLING)時、矢印Aで示すように、ノードN10に最初のsCLKパルスの遅延が残った状態になる。このため、ノードN〜NだけでなくノードN10も‘1’となるため、サンプリング結果はED[1:10]=‘1111000001’となり、1回目のサンプリングと異なる結果となる。1回目の電圧コード(CODE、VCODE)は正しいが、2回目の電圧コード(CODE、VCODE)は誤ったものとなる。なお、図13の例では、3回目以降は2回目と同一のサンプリング結果となる。
また、図13の例よりもクロック信号(sCLK)の周期(Tsclk)に対してsCLKの電圧制御遅延回路111の入力からノードN10までの遅延が非常に大きい場合や、MSBが大きい場合(例えば128ビットの場合)には、2回目以降のサンプリングでED[1:128]=1111…1110000…0001111…1110000のように‘10’の境界が複数になるケースが発生する。
図14は電圧センサの1回目と2回目以降のサンプリングで結果が異なる場合の動作波形図であり、にMSB=18のTDC回路112にて電源電圧が一定の場合にサンプリングを4回実施する例である。この例では、1回目のサンプリング(1st SAMPLING)結果でED[1:18]=1111_0000_0000_0000_00となるのに対し、2回目のサンプリング(2nd SAMPLING)結果ではED[1:18]=1111_0000_0111_1110_00となる。
図15は図11の電圧センサの他の構成例を示すブロック図である。図16は図15の電圧センサの動作波形図である。サンプリング毎に結果が異なるケースを避けるため、sCLKの電圧制御遅延回路111の入力からノードN10までの遅延に対しサンプリングクロック信号の周期を十分に大きくする。例えば、クロック信号(sCLK)と電圧制御遅延回路111およびTDC回路112の間に分周回路116を配置し、電圧制御遅延回路111およびTDC回路112の入力にCLKの1/2の分周信号(divCLK)を入力する。これにより、サンプリングクロックの信号の周期は2×Tsclkとなるので、サンプリング毎に結果が異なることによる誤動作を図7の電圧センサよりも回避することができる。ただし、分周信号(divCLK)を用いたTDC回路112では、サンプリング周波数も分周されることになり、サンプリング速度を低下させる。
<エンコーダ>
図17Aおよび図17Bは図11のエンコーダの構成を示すブロック図である。
1回目と2回目以降のサンプリング結果が異なる場合に、必ず1回目のサンプリング結果を優先して符号化する技術をエンコーダに採用する。例えば、MSB=128のようにバッファチェーンが長い場合、言い換えると、ED[1:128]=1111…1110000…0001111…1110000のように‘10’の境界が複数回あらわれるケースにおいて、下位ビット側の‘10’境界に応じて符号化する。
エンコーダ114は、要素回路DETと、要素回路FLENCと、要素回路PRRTYと、要素回路ENCDと、要素回路ERRと、を備える。
要素回路DETは、META対策回路113のLビットの出力信号(META[0]〜META[L−1])の各ビットのうち隣り合う2ビットを取得し、下位ビット側が‘1’、上位ビット側が‘0’の場合(‘1 0’境界がある場合)に出力信号(DE)を‘1’にする。要素回路DETは、下位ビット側が‘0’、上位ビット側が‘0’の場合または下位ビット側が‘0’、上位ビット側が‘1’の場合、下位ビット側が‘1’、上位ビット側が‘1’の場合(‘10’境界がない場合)に出力信号(DE)を‘0’にする。
要素回路FLGENCは要素回路FLGと要素回路ENCとを備える。要素回路DETの出力信号(DE)をNビットずつ束ね、束ねた信号のなかに‘1’がある場合(‘10’境界がある場合)、要素回路FLGは‘1’を出力信号(FL)として出力し、要素回路ENCは‘10’境界位置に応じた符号化結果を出力信号(X)として出力する。束ねた信号のなかに‘1’がない場合(‘10’境界がない場合)、要素回路FLGは‘0’を出力信号(FL)として出力し、要素回路ENCは何もしない。
要素回路PRRTYは、M個の要素回路FLGENCから出力信号(FL)を受け、‘10’境界が存在する束(要素回路FLGENC)を検出する。この際、‘10’境界が複数存在する場合は、下位ビット側の‘10’境界を優先する。
要素回路ENCDは、要素回路PRRTYが示す束の‘10’境界位置に応じた符号化結果から、METAの‘10’境界位置を把握し、符号化を行う。符号化結果はCODEとして出力される。
要素回路ERRは、サンプリング結果が異常な場合や、‘10’境界が存在しない(すなわち電圧やクロック周波数が回路動作範囲外である)場合に(DTERR)信号を‘1’にする。
図18Aは、META[6]〜META[7]に‘10’境界が存在する場合のエンコーダ内部処理イメージ図である。図18Bは、‘10’境界が存在しない場合のエンコーダ内部処理イメージ図である。図18Cは、META[98]〜META[99]に‘10’境界が存在する場合のエンコーダ内部処理イメージ図である。一度のサンプリングで図18A、図18B、図18Cが同時に発生する場合、‘10’境界が2つ存在するため、下位ビット側すなわちMETA[6]〜META[7]の‘10’境界を優先して符号化する。まず、要素回路DETでは、META[6]〜META[7]およびMETA[98]〜META[99]が‘10’境界のため、ED、ED99が‘1’となる。EDは1つめの束として1番目の要素回路FLGENCで、ED99はM個目の束としてM番目の要素回路FLGENCに入力される。ED=1、ED99=1を受け、1番目の要素回路FLGENCは、FL1に‘1’を、X1にIに対する符号化結果を出力し、M番目の要素回路FLGENCは、FLMに‘1’を、XMにIに対する符号化結果をそれぞれ出力する。要素回路PRRTYは、FL=1、FL=1から、下位ビット側のFLを優先し、1つめの束に‘10’境界が存在することを要素回路ENCDに伝達する。要素回路ENCDでは、要素回路PRRTYからの信号に従い、1つめの束の‘10’境界に対する符号化結果から、METAの‘10’境界位置がMETA[6]〜META[7]であることを把握し、META[6]〜META[7]に対する符号化結果をCODEとして出力する。また、この例では‘10’境界が存在しているため、DTERRは‘0’となる。
サンプリング毎に結果が異なることによる誤動作を回避することができる。
<電圧降下判定回路>
外部から設定した判定モードに応じてクロック停止信号を生成する電圧降下判定回路について説明する。図9に示すように、電圧降下判定回路12は、電圧センサ11のm回前までのセンス結果履歴を保持するセンス結果履歴値保持回路121と、センス結果を演算する演算回路122と、レジスタ値で設定するアルゴリズムに応じて演算結果を選択する演算結果選択回路123と、演算結果とレジスタ値で設定する閾値を比較し、演算値<閾値となる場合にCLK停止信号を生成する判定回路124とで構成する。
絶対値演算、平均値演算、変動値演算、予測演算の各演算モードについて、センス結果履歴値保持数=8を例として説明する。
(絶対値演算)
図19は絶対値演算のフロー図である。絶対値演算では、センス結果履歴保持回路121の最新のセンス値(Absolute Vn)を出力する。絶対値演算回路122aはレジスタ等で構成することができる。
(平均値演算)
図20は平均値演算のフロー図である。平均値演算では、センス結果履歴を用い、レジスタ値で設定する移動平均サイクル数(何サイクル分の移動平均をとるか)に基づいて、平均値を算出する。移動平均サイクル数は1/2/4/8サイクル前までの平均値のいずれかを選択する。例えば、移動平均サイクル数=4とした場合、最新のセンス値(Absolute Vn)から4回前のセンス(Absolute Vn-4)までの平均値を算出し出力する。平均値演算回路122bは加算器と除算器と選択回路とレジスタ等で構成することができる。
(変動値演算)
図21は変動値演算のフロー図である。変動値演算では、センス結果履歴を用い、レジスタ値で設定する移動平均サイクル数に基づき最新のセンス値(Absolute Vn)とm回前のセンス値(Absolute Vn-m)の差分(Delta(n)-(n-1), Delta(n)-(n-2), Delta(n)-(n-4), Delta(n)-(n-8))を算出後、差分の平均値を算出し、変動値として出力する。移動平均サイクル数は1/2/4/8サイクル前までの平均値のいずれかを選択する。差分の平均を取る期間を変えて計算することができる。例えば、移動平均サイクル数=4とした場合の変動値は、(最新のセンス値(Absolute Vn)−4回前のセンス値(Absolute Vn-4))/4となる。変動値演算回路122cは減算器(加算器)と除算器と選択回路とレジスタ等で構成することができる。
(予測演算)
図22は予測演算のフロー図である。予測演算では、前述の変動値計算と同様、レジスタ値で設定する移動平均サイクル数に基づき最新のセンス値(Absolute Vn)とm回前のセンス値(Absolute Vn-m)の差分(Delta(n)-(n-1), Delta(n)-(n-2), Delta(n)-(n-4), Delta(n)-(n-8))を算出し、差分の平均値を求め、変動値(Delta(ave))を算出する。移動平均サイクル数は1/2/4/8サイクル前までの平均値のいずれかを選択する。差分の平均を取る期間を変えて計算することができる。さらに、外部から設定した先読みサイクル数(何サイクル先の先読みをするか)に基づき、変動値と先読みサイクル数の積算値(Delta(ave)*k)を算出する。先読みサイクル数(k)は1/2/4/8サイクルのいずれかである。積算値(Delta(ave)*k)と最新のセンス値(Absolute Vn)を加算し、変動予測値(先読みAbsolute Vn)として出力する。例えば、移動平均サイクル数=4、先読みサイクル数=2とした場合の予測結果は、{(最新のセンス値(Absolute Vn)−4回前のセンス値(Absolute Vn-4))/4}*2+最新のセンス値(Absolute Vn)となる。予測演算回路122dは減算器(加算器)と除算器と選択回路と乗算器と加算器とレジスタ等で構成することができる。
(マスク機能付き予測演算)
図23はマスク機能を説明するための電圧波形イメージ図である。図24Aおよび図24Bはマスク機能付き予測演算のフロー図である。前述した予測演算はあくまで予測のため、絶対値との誤差を有しており、実際の値と予測値が大きく乖離する場合がある。この予測誤差を軽減するために、所定サイクルの間、予測値の微分値が連続して負となる場合に予測値をマスクする。図23に示すように、実電圧波形Aと先読み電圧波形Bとは大きく乖離している。そこで、予測値グラフの負の傾き(−)が4サイクル継続する場合(図のCの箇所)に、負の傾きが4サイクル継続したときの値を保持し(破線D)、予測値が保持値より大きくなると、保持値を破棄し予測値を更新し(E)、誤差の大きな値をマスクする。
図24Aに示すように、演算は、最新のセンス値(Absolute Vn)と1回前のセンス値(Absolute Vn-1)の差分(delta)をとり、差分が正か負か判定する。差分が正の場合は変数(minus count)を0にし、負の場合は変数(minus count)をカウントアップする。変数(minus count)が、レジスタ値で設定する負のDelta継続値(m_targ)以下の場合、カウントを継続し、m_targより大きくなる場合、前述の予測演算で算出した予測値(先読みAbsolute Vn)を保持し、m_flagを1にする。なお、図23に示す例ではDelta継続値(m_targ)は4である。予測値保持後は、保持値(Vn)と最新の予測値(Vn+1)の大小関係を比較し、保持値≧最新の変動予測値となる場合は保持値を出力、保持値<最新の変動予測値となる場合は保持値を破棄し、最新の予測値を出力する。m_flagを0に初期化し、予測値の傾きの正負判定に戻る。
図24Bに示すように、マスク機能を使用するか否かをマスク有効化信号(mask_enable)で制御する。マスク有効化信号(mask_enable)が1である場合、m_flagがセレクタに伝達され、m_flagが1のときは保持値(Vn)をマスク付き先読み値として出力し、m_flagが0のときは最新の予測値(Vn+1)をマスク付き先読み値として出力し、変動予測値が求まる。マスク有効化信号(mask_enable)が0である場合、常に最新の予測値(Vn+1)を出力し、マスク機能を無効化する。マスク機能付き予測演算回路122eは、予測演算回路122dに加えて、減算器(加算器)とカウンタと比較器とレジスタと選択回路等で構成することができる。
上述したように電圧降下判定回路に多様なアルゴリズムを準備することにより、さまざまな負荷変動時の電圧変動で誤動作を起こす電圧値を判定することが可能となる。また、先読みアルゴリズムにより電圧センスからクロック停止までのレイテンシを隠蔽し、より高精度に危険な電源電圧降下からシステムを保護することが可能となる。マスク機能付き予測演算アルゴリズムにより予想誤差を低減することができる。
<クロック制御回路>
図25はクロック制御回路の構成を示すブロック図である。クロック制御回路13はCLK生成回路131とCLK停止期間制御回路132と周波数変調回路133とを備える。
CLK生成回路131は、例えばPLL(Phase Locked Loop)で構成され、クロック信号(CLKo)を生成する。CLK停止期間制御回路132はクロック停止信号(CKSP)に基づいてクロックを停止またはクロックを低速化する(CLK停止)。ここで、クロックの低速化とは、クロックが動作していても電源電圧変動が少ない速度(周波数)であり、好ましくは電源電圧変動がクロックの停止と同程度少なくなる速度である。また、クロック停止期間(TSP)に基づいてクロックを停止する期間またはクロックを低速化する期間(CLK停止期間)を制御する。クロック停止期間(TSP)はCLK停止期間制御回路132内のレジスタに格納される。例えば、CLK停止期間制御回路132はカウンタでクロック信号(CLKo)を測定し、カウント値とクロック停止期間(TSP)とを比較する。CLK停止期間制御回路132はカウント値が、クロック停止期間(TSP)を越える場合にCLK再開開始信号(CKSA)を発行する。
周波数変調回路133は周波数変調値(FSP)、CLK再開段階値(FST)に基づいてクロック信号(CLKo)の周波数を変調する。CLK停止時の周波数は周波数変調値(FSP)で設定され、周波数が0ときはクロックが停止する。CLK再開開始後の周波数を階段状に上昇させる段階値はCLK再開段階値(FST)で設定される。周波数変調値(FSP)、CLK再開段階値(FST)は周波数変調回路133内のレジスタに格納される。電圧センサが動作しているときは、CLK停止時であっても、クロック信号(sCLK)は出力される。
図26Aおよび図26Bは周波数変調を説明するためのイメージ図である。周波数変調回路133は、クロック停止信号(CKSP)を受け、CLK停止時の周波数変調値に応じた周波数変調を行う。周波数変調値(FSP)は、図26Aに示すようにCLK停止(fstp=0)の設定値の他に、図26Bに示すようにCLK低速化(0<fstp<fop)の設定値に設定することが可能である。周波数変調回路133は、CLK再開開始信号(CKSA)を受けクロックを再開し、CLK停止前の周波数(fop)に戻るまで、CLK再開段階値(FSP)に応じて段階的に(ステップ時間(Tst)ごとにΔfずつ)周波数を上げる。TstおよびΔfは一定である必要なく、時間と共に大きくなったり小さくなったりしてもよい。
図27はクロック制御回路の動作を示すフロー図である。
ステップS131:クロック制御回路13のCLK停止期間制御回路132は、CLK停止信号(CKSP)を受けて、クロックを停止または低速化する。CLK停止時の周波数変調値(FSP)に基づいて、クロック停止または指定された低い周波数にする。
ステップ132:CLK停止期間制御回路132は、CLK停止後、CLK停止時間(クロック信号(CLKo))をカウントする。
ステップ133:CLK停止期間制御回路132は、カウント値がクロック停止期間(TSP)の設定値よりも大きいかどうかを判定する。YESの場合はステップ134に移る。NOの場合はステップS132に戻る。
ステップ134:CLK停止期間制御回路132は、クロック再開開始信号(CKSA)を生成する。
ステップ135:周波数変調回路133は、クロック再開開始信号(CKSA)を受け、CLK再開段階値(FST)に応じて、段階的にクロック周波数を上げる。
ステップ136:周波数変調回路133は、クロック周波数がCLK停止前の周波数(fop)よりも小さいかどうか判定する。YESの場合はステップ135に戻る。NOの場合はステップS137に移る。
ステップ137:クロック周波数変調を停止する。
図28は実施例2に係る半導体装置のレイアウトイメージ図である。実施例2に係る半導体装置20は動作周波数(クロック周波数)が1.5GHzのQuad Core CPU21とクロック制御回路13とを備える。Quad Core CPU21は4つのCPU(CPU0〜3)とクロックゲート回路(CG)22とを備える。電圧センサ11、電圧降下判定回路12はCPU0〜3のそれぞれのコア内に配置する。クロックゲート回路22はクロック生成および制御を行うCLK制御回路13とクロック分配先(CPU0〜3)との間に配置され、クロック停止信号(CKSP)が入力された場合にCPU0〜3のクロック(CPUCLK)を停止する。実施例2の電圧センサ11、電圧降下判定回路12、クロック制御回路13は実施例1と同様な構成である。ただし、実施例2のクロック制御回路13はクロック停止信号(CKSP)によってクロック信号(CLK)を低速化することができるが、CPUCLKは低速化することができず停止する。
図29Aおよび図29Bは図28のQuad CoreCPUとクロック制御回路との間の信号受け渡しイメージを示すブロック図である。図30は図28のQuad Core CPUのCLK停止動作波形を示す図である。各CPUに配置された電圧センサ11の電圧コード(VCODE)を基に、電圧降下判定回路12が致命的な電圧降下が発生すると判定した場合、クロック停止信号(CKSP)を出力する。ここではクロック停止信号がHighになるとクロック停止制御をアサートすることとする。クロック停止信号(CKSP)がHigh後はVCODEに関わりなくHighを保持する。また4CPUのうち1つでも電圧降下判定回路12がクロック停止信号(CKSP)をHighにする場合にクロック停止制御を実行するよう、クロック停止信号(CKSP0〜3)をOR回路23に入力する。クロック停止信号(CKSP0〜3)のOR結果であるクロック停止信号(CKSP)は、同期化回路であるDフリップフロップ24を介してクロックゲート回路22に、Dフリップフロップ25を介してCLK制御回路13に送られる。クロックゲート回路22はDフリップフロップ221とインバータ222とAND回路223とを備え、クロック停止信号(CKSP)を受けCLK停止する。クロック制御回路13ではクロック停止信号(CKSP)受信後、レジスタ値で設定されたクロック停止期間(TSP)待機し、クロック停止解除信号(CKSA)を出力する。電圧降下判定回路12は、クロック停止解除信号(CKSA)を受け、クロック停止信号(CKSP)をLowにし、CLK停止を解除する。CLK停止解除後、CLK制御回路13はレジスタ値で設定したCLK再開段階値(FST)に基づき、クロック周波数を段階的にCLK停止前の周波数に戻す。
図29Aおよび図29Bに示すように、TDC112の出力からクロックゲート回路22の出力までの間に5段の同期化回路しかないので、電圧センサ11が致命的な電圧降下を検知してからクロックゲート回路22までのレイテンシが5クロックサイクル+CLKレイテンシと短いため電圧降下によってシステムが誤動作を起こす前にクロックを停止することが可能である。半導体装置20では1.5GHzのクロックを使用しているので、5クロックサイクル=3.3nsであり、約5ns以内でクロックを停止することが可能である。
図30に示すように、CPU3の電圧降下判定回路12が、電圧センサ11が出力する電圧コード(VCODE)値より致命的な電圧降下発生と判定した場合は、クロック停止信号(CKSP3)をHighにする(タイミングT3)。それにより、OR回路23の出力であるクロック停止信号(CKSP)がHighになり、タイミングT4においてDフリップフロップ24で取り込まれ、タイミングT5においてDフリップフロップ221に取り込まれ、CPUCLKがLowに固定されて停止する。また、クロック停止信号(CKSP)はタイミングT5においてDフリップフロップ25で取り込まれ、クロック制御回路13Aに入力される。
クロック制御回路13はクロック停止期間(TSP)クロック信号(CLK)を停止し(例えば、Lowに固定し)、その後クロック再開開始信号(CKSA)をHighにして、クロック信号(CLK)を出力する。クロック再開開始信号(CKSA)はタイミングS1で電圧降下判定回路12に取り込まれ、タイミングS3でクロック停止信号(CKP3)はLowになる。これにより、OR回路23の出力であるクロック停止信号(CKSP)がLowになり、タイミングS4においてDフリップフロップ24で取り込まれ、タイミングS5において同期化回路221に取り込まれ、クロック信号(CLK)がCPUCLKとして出力される。このときのクロック信号(CLK)は非常に低い周波数(A)であり、ステップ時間(Tst)後、FSTで設定されるΔfだけ高い周波数のクロック信号(CLK)が出力され(B)、さらにステップ時間(Tst)後、クロック再開段階値(FST)に基づいてΔfだけ高い周波数のクロック信号(CLK)が出力される(C)。以後、同様に段階的にクロック周波数は高くなり、クロック停止前の周波数(fop)まで高くなる。ステップ時間(Tst)は100ns以上であることが好ましい。
以上、本発明者によってなされた発明を実施形態および実施例に基づき具体的に説明したが、本発明は、上記実施形態および実施例に限定されるものではなく、種々変更可能であることはいうまでもない。
10・・・半導体装置
11・・・電圧センサ
111・・・電圧制御遅延回路
112・・・TDC
113・・・META対策回路
114・・・エンコーダ
115・・・出力信号同期化回路
12・・・電圧降下判定回路
121・・・センス結果履歴保持回路
122・・・演算回路
123・・・演算選択回路
124・・・判定回路
13・・・クロック制御回路
131・・・CLK生成回路
132・・・CLK停止期間制御回路
133・・・周波数変調回路

Claims (17)

  1. 半導体装置は、
    電源電圧の変動より速い速度で電源電圧をサンプリングし、前記電源電圧を符号化して電圧コード値を生成する電圧センサと、
    前記電圧コード値に基づいて電圧低下を検出する電圧低下判定回路と、
    クロックを生成するクロック制御回路と、
    を備え、
    前記クロック制御回路は、
    前記電圧低下判定回路が電圧低下を検出するときに前記クロックを停止し、前記クロックの停止後に電源変動が安定するまでの期間前記クロックを停止する回路と、
    前記クロックの再開時、前記クロックの周波数を段階的に上げて前記クロックの停止前の周波数まで戻す回路と、
    を備え
    前記電圧低下判定回路は、前記電圧コード値の履歴から電圧値を先読みし変動値を予測する予測演算回路を備える。
  2. 請求項1の半導体装置において、
    前記クロックを停止する期間を設定するレジスタと前記段階的に上げる周波数を設定するレジスタとを備える。
  3. 請求項1の半導体装置において、
    前記電圧低下判定回路は、
    前記電圧コード値から電圧値を求める演算回路と、
    前記演算回路で求めた電圧値とレジスタに設定された所定の電圧値とを比較して電圧低下を判定する回路と、
    を備える。
  4. 請求項3の半導体装置において、
    前記演算回路は、絶対値演算回路、平均値演算回路、変動値演算回路および変動予測値演算回路のうちの少なくとも2つの演算回路を備え、
    複数の前記演算回路のうちどの演算回路の結果用いるかを指定するレジスタを備える。
  5. 請求項の半導体装置において、
    前記予測演算回路は、所定サイクルの間、予測値の微分値が連続して負となる場合に予測値をマスクする回路を備える。
  6. 請求項1の半導体装置において、
    前記電圧センサは、
    サンプリングクロックのエッジをデータ入力とするTDCと、
    前記TDCの出力を符号化するエンコーダと、
    を備える。
  7. 請求項の半導体装置において、
    前記エンコーダは、前記TDCのビット列のデータが変化する位置のうち最も下位ビット側で電圧コードに符号化するよう構成される。
  8. 請求項の半導体装置において、
    前記サンプリングクロックの周波数は前記電源電圧の変動より20倍以上速く、前記クロックの周波数の1/Nであり、Nは自然数である。
  9. 半導体装置は、
    電源電圧の変動より20倍以上速い速度で電源電圧をサンプリングし、前記電源電圧を符号化して電圧コード値を生成する電圧センサと、
    前記電圧コード値に基づいて電圧低下を検出する電圧低下判定回路と、
    前記電圧低下判定回路が電圧低下を検出するときに、クロックを停止または低速化するクロック制御回路と、
    を備え
    前記電圧低下判定回路は、
    前記電圧コード値から電圧値を求める演算回路と、
    前記演算回路で求めた電圧値とレジスタに設定された所定の電圧値とを比較して電圧低下を判定する回路と、
    前記電圧コード値の履歴から電圧値を先読みし変動値を予測する予測演算回路と、
    を備え、
    前記演算回路は、絶対値演算回路、平均値演算回路、変動値演算回路、変動予測値演算回路のいずれかの演算回路である。
  10. 請求項の半導体装置において、
    前記電圧センサは、
    サンプリングクロックのエッジをデータ入力とするTDCと、
    前記TDCの出力を符号化するエンコーダと、
    を備え、
    前記サンプリングクロックの周波数は、前記クロックの周波数の1/Nであり、Nは自然数である。
  11. 請求項10の半導体装置において、
    前記エンコーダは、前記TDCのビット列のデータが変化する位置のうち最も下位ビット側で電圧コードに符号化するよう構成される。
  12. 請求項の半導体装置において、
    前記予測演算回路は、所定サイクルの間、予測値の微分値が連続して負となる場合に予測値をマスクするよう構成される。
  13. 請求項の半導体装置において、
    前記クロック制御回路は、前記クロックの停止後に電源変動が安定するまでの期間前記クロックを停止または低速化し、前記クロックの再開時前記クロックの周波数を段階的に上げて前記クロックの停止前の周波数まで戻すよう構成される。
  14. 請求項13の半導体装置において、
    前記クロックを停止または低速化する期間を設定するレジスタと前記段階的に上げる周波数を設定するレジスタとを備える。
  15. 半導体装置は、
    CPUと、
    電源電圧が所定の電圧値よりも低下したときに前記CPUに供給するクロックを停止し、前記クロックの停止後に所定の期間前記クロックを停止し、前記クロックの再開時の前記クロックの周波数を所定の周波数ずつ段階的に上げて前記クロックの停止前の周波数まで戻すクロック制御回路と、
    前記所定の電圧値を格納する第1レジスタと、
    前記所定の期間を格納する第2レジスタと、
    前記所定の周波数を格納する第3レジスタと、
    電源電圧の変動より速い速度で電源電圧をサンプリングし、前記電源電圧を符号化して電圧コード値を生成する電圧センサと、
    前記電圧コード値に基づいて電圧低下を検出する電圧低下判定回路と、
    を備え
    前記電圧低下判定回路は、前記電圧コード値の履歴から電圧値を先読みし変動値を予測する予測演算回路を備え、
    前記CPUは前記第1乃至第3レジスタにそれぞれの値を設定するよう構成される。
  16. 請求項15の半導体装置において、
    前記電圧センサは、前記電源電圧を前記クロックの周波数の1/N(Nは自然数)の周波数のクロックでサンプリングし、前記電源電圧を符号化して電圧コード値を生成する構成され、
    前記電圧低下判定回路は、
    前記電圧コード値から電圧値を求める演算回路と、
    前記演算回路で求めた電圧値と前記所定の電圧値とを比較して電圧低下を判定する回路と、
    を備える。
  17. 半導体装置は、
    電源電圧の変動より速い速度で電源電圧をサンプリングし、前記電源電圧を符号化して電圧コード値を生成する電圧センサと、
    前記電圧コード値に基づいて電圧低下を検出する電圧低下判定回路と、
    クロックを生成するクロック制御回路と、
    を備え、
    前記電圧低下判定回路は、
    前記電圧コード値から電圧値を求める演算回路と、
    前記演算回路で求めた電圧値とレジスタに設定された所定の電圧値とを比較して電圧低下を判定する回路と、
    を備え、
    前記演算回路は、絶対値演算回路、平均値演算回路、変動値演算回路および変動予測値演算回路のうちの少なくとも2つの演算回路を備え、
    複数の前記演算回路のうちどの演算回路の結果用いるかを指定するレジスタを備え、
    前記クロック制御回路は、
    前記電圧低下判定回路が電圧低下を検出するときに前記クロックを停止し、前記クロックの停止後に電源変動が安定するまでの期間前記クロックを停止する回路と、
    前記クロックの再開時、前記クロックの周波数を段階的に上げて前記クロックの停止前の周波数まで戻す回路と、
    を備える。
JP2015182677A 2015-09-16 2015-09-16 半導体装置 Active JP6533135B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2015182677A JP6533135B2 (ja) 2015-09-16 2015-09-16 半導体装置
US15/224,380 US10222847B2 (en) 2015-09-16 2016-07-29 Semiconductor device
CN201610708757.5A CN106547637B (zh) 2015-09-16 2016-08-23 半导体器件
US16/219,758 US10782763B2 (en) 2015-09-16 2018-12-13 Semiconductor device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015182677A JP6533135B2 (ja) 2015-09-16 2015-09-16 半導体装置

Publications (3)

Publication Number Publication Date
JP2017058911A JP2017058911A (ja) 2017-03-23
JP2017058911A5 JP2017058911A5 (ja) 2018-07-05
JP6533135B2 true JP6533135B2 (ja) 2019-06-19

Family

ID=58258331

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015182677A Active JP6533135B2 (ja) 2015-09-16 2015-09-16 半導体装置

Country Status (3)

Country Link
US (2) US10222847B2 (ja)
JP (1) JP6533135B2 (ja)
CN (1) CN106547637B (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10148258B2 (en) * 2016-09-28 2018-12-04 Mellanox Technologies, Ltd. Power supply voltage monitoring and high-resolution adaptive clock stretching circuit
CN110692028A (zh) * 2017-02-13 2020-01-14 朝阳半导体技术江阴有限公司 用于嵌入式核心的实时关键时序路径潜在故障事件检测和预防
EP3568855A4 (en) 2017-02-13 2020-01-22 Chaoyang Semiconductor Jiangyin Technology Co., Ltd. TRANSIENT CIRCUIT SUPPLY SCOPE
JP6880900B2 (ja) * 2017-03-27 2021-06-02 日本電気株式会社 演算装置、演算装置制御方法、プログラム
US10171081B1 (en) * 2017-07-28 2019-01-01 International Business Machines Corporation On-chip supply noise voltage reduction or mitigation using local detection loops in a processor core
JP7193718B2 (ja) 2018-12-19 2022-12-21 富士通株式会社 制御プログラム、情報処理装置及び制御方法
CN114586034A (zh) * 2019-11-19 2022-06-03 谷歌有限责任公司 时钟波动下的电压变化检测
GB2590660B (en) * 2019-12-23 2022-01-05 Graphcore Ltd Reactive droop limiter
US11442082B2 (en) 2019-12-23 2022-09-13 Graphcore Limited Droop detection
CN111077760B (zh) * 2020-01-07 2021-02-26 东南大学 一种时间数字转换器及转换方法
JP7452259B2 (ja) 2020-06-02 2024-03-19 富士通株式会社 半導体装置
CN113022480B (zh) * 2021-02-04 2022-10-25 珠海格力电器股份有限公司 一种空调的控制方法、装置、空调、存储介质及处理器
KR20240030473A (ko) * 2022-08-31 2024-03-07 삼성전자주식회사 디지털 드룹 검출기, 반도체 장치, 그리고 그것의 켈리브레이션 방법

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61138356A (ja) * 1984-12-10 1986-06-25 Nippon Denso Co Ltd 1チツプマイクロコントロ−ラ
US5847555A (en) * 1995-08-01 1998-12-08 Lewis; Dennis E. Source voltage sensitive load controller
JPH09128092A (ja) * 1995-10-31 1997-05-16 Toshiba Corp 情報処理装置
JPH10336883A (ja) * 1997-04-02 1998-12-18 Toshiba Corp 電力系統の脱調検出方法および脱調検出装置
KR100280435B1 (ko) 1998-01-23 2001-02-01 김영환 엠씨유의파워노이즈방지회로
US6804793B2 (en) * 2001-03-16 2004-10-12 Hewlett-Packard Development Company, L.P. Manipulating an integrated circuit clock in response to early detection of an operation known to trigger an internal disturbance
US6804557B1 (en) * 2001-10-11 2004-10-12 Pacesetter, Inc. Battery monitoring system for an implantable medical device
JP2004013820A (ja) * 2002-06-11 2004-01-15 Matsushita Electric Ind Co Ltd クロック制御回路
JP4259928B2 (ja) 2003-06-11 2009-04-30 株式会社リコー 移送物体検出装置,原稿読取装置および画像形成装置
JP4463115B2 (ja) * 2005-01-04 2010-05-12 株式会社ルネサステクノロジ 半導体装置
JP2007034839A (ja) * 2005-07-28 2007-02-08 Matsushita Electric Ind Co Ltd 集積回路の動作周波数制御方法
JP4510039B2 (ja) 2007-02-15 2010-07-21 Okiセミコンダクタ株式会社 位相同期回路
CN101105713A (zh) * 2007-08-24 2008-01-16 威盛电子股份有限公司 数据传输速率调整方法以及计算机系统
JP4821749B2 (ja) * 2007-09-25 2011-11-24 株式会社デンソー クロック供給制御回路
US8648645B2 (en) * 2010-05-25 2014-02-11 Oracle International Corporation Microprocessor performance and power optimization through self calibrated inductive voltage droop monitoring and correction
US8669794B2 (en) 2012-02-21 2014-03-11 Qualcomm Incorporated Circuit for detecting a voltage change using a time-to-digital converter
JP5890207B2 (ja) * 2012-03-13 2016-03-22 ルネサスエレクトロニクス株式会社 半導体装置
JP2014052969A (ja) 2012-09-10 2014-03-20 Renesas Electronics Corp クロック周波数制御装置、半導体装置
US9223365B2 (en) * 2013-03-16 2015-12-29 Intel Corporation Method and apparatus for controlled reset sequences without parallel fuses and PLL'S
CN103607112B (zh) * 2013-12-01 2016-03-02 西安电子科技大学 自适应开关频率调整电路
US9141177B1 (en) * 2014-03-21 2015-09-22 Western Digital Technologies, Inc. Data storage device employing glitch compensation for power loss detection
US9634676B2 (en) * 2015-07-01 2017-04-25 Qualcomm Incorporated Circuits and methods providing clock frequency adjustment in response to supply voltage changes

Also Published As

Publication number Publication date
US20190129488A1 (en) 2019-05-02
CN106547637B (zh) 2021-07-02
JP2017058911A (ja) 2017-03-23
US10782763B2 (en) 2020-09-22
US20170075404A1 (en) 2017-03-16
CN106547637A (zh) 2017-03-29
US10222847B2 (en) 2019-03-05

Similar Documents

Publication Publication Date Title
JP6533135B2 (ja) 半導体装置
US9628089B1 (en) Supply voltage tracking clock generator in adaptive clock distribution systems
US8368457B2 (en) Semiconductor integrated circuit device and method for controlling power supply voltage
WO2015085825A1 (zh) 一种频率校准方法及装置
CN103178846B (zh) 一种利用lms算法进行adc校准的装置
US10630300B2 (en) Downshift techniques for oscillator with feedback loop
KR20130088132A (ko) 안정적인 가상 주파수를 위한 다수의 동작점의 관리
US20220140833A1 (en) Detecting Power Supply Noise Events and Initiating Corrective Action
US8810321B2 (en) Oscillator auto-trimming method and semiconductor device using the method
US7415687B2 (en) Method and computer program for incremental placement and routing with nested shells
GB2532210A (en) System and method for controlling idle state exits to manage DI/DT issues
US20160026209A1 (en) Calibration Unit for Calibrating an Oscillator, Oscillator Arrangement and Method for Calibrating an Oscillator
WO2015170072A1 (en) Clock frequency reduction for an electronic device
US10411683B2 (en) Information processing device, information processing method, and computer-readable recording medium
JP6009689B2 (ja) 適応電圧スケーリングのシステムおよび方法
US20130293288A1 (en) Chip control method and device
US8302063B2 (en) Method and system to optimize semiconductor products for power, performance, noise, and cost through use of variable power supply voltage compression
US20210336624A1 (en) Voltage-controlled oscillator calibration
KR20170085508A (ko) 이벤트 카운터에 기초한 열 완화
US20220391000A1 (en) Adaptive clock signal frequency scaling
JP6623745B2 (ja) 電子回路及び発振器の制御方法
JP2019057281A (ja) クロック生成回路およびクロック生成方法
US11264998B1 (en) Reference free and temperature independent voltage-to-digital converter
JP2022168364A (ja) 半導体装置及びクロック制御方法
KR101356473B1 (ko) 반도체 소자의 공정상태 감지 시스템 및 방법

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180524

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180524

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181218

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190215

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190523

R150 Certificate of patent or registration of utility model

Ref document number: 6533135

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150