IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ルネサスエレクトロニクス株式会社の特許一覧

<>
  • 特許-半導体装置 図1
  • 特許-半導体装置 図2
  • 特許-半導体装置 図3
  • 特許-半導体装置 図4
  • 特許-半導体装置 図5
  • 特許-半導体装置 図6
  • 特許-半導体装置 図7
  • 特許-半導体装置 図8
  • 特許-半導体装置 図9
  • 特許-半導体装置 図10
  • 特許-半導体装置 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-27
(45)【発行日】2023-12-05
(54)【発明の名称】半導体装置
(51)【国際特許分類】
   G06F 1/28 20060101AFI20231128BHJP
   G01R 19/00 20060101ALI20231128BHJP
   H03K 3/354 20060101ALN20231128BHJP
   H03K 3/011 20060101ALN20231128BHJP
   H03K 3/03 20060101ALN20231128BHJP
【FI】
G06F1/28
G01R19/00 B
H03K3/354 B
H03K3/011
H03K3/03
H03K3/354 A
【請求項の数】 6
(21)【出願番号】P 2020127037
(22)【出願日】2020-07-28
(65)【公開番号】P2022024438
(43)【公開日】2022-02-09
【審査請求日】2023-01-10
(73)【特許権者】
【識別番号】302062931
【氏名又は名称】ルネサスエレクトロニクス株式会社
(74)【代理人】
【識別番号】110002066
【氏名又は名称】弁理士法人筒井国際特許事務所
(72)【発明者】
【氏名】植村 俊文
【審査官】豊田 真弓
(56)【参考文献】
【文献】特開2016-111563(JP,A)
【文献】特表2019-505997(JP,A)
【文献】特開2018-055511(JP,A)
【文献】米国特許出願公開第2017/0214399(US,A1)
【文献】米国特許出願公開第2020/0041547(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 1/28
G01R 19/00
H03K 3/354
H03K 3/011
H03K 3/03
(57)【特許請求の範囲】
【請求項1】
半導体装置は、
第1温度依存性を有し、検知電圧で動作する第1オシレータと、
前記第1温度依存性とは異なる第2温度依存性を有し、前記検知電圧で動作する第2オシレータと、
前記第1オシレータの出力と、前記第2オシレータの出力とが供給され、前記第1オシレータの出力と前記第2オシレータの出力とをカウントするカウント部と、
前記カウント部で求められた前記第1オシレータのカウント値と前記第2オシレータのカウント値とを演算する演算部と、
前記演算部の出力と閾値とを比較し、比較の結果に応じた検知結果信号を出力する判定部と、
を備え
前記閾値は、低温状態における前記第1オシレータおよび前記第2オシレータのカウント値および前記低温状態より温度の高い高温状態における前記第1オシレータおよび前記第2オシレータのカウント値出力に基づいて、設定される
【請求項2】
請求項1に記載の半導体装置、
ここにおいて、前記演算部における演算の内容は可変である。
【請求項3】
請求項1に記載の半導体装置、
ここにおいて、前記演算部には、前記第1オシレータのカウント値および前記第2オシレータのカウント値が、逐次的に供給される。
【請求項4】
請求項1に記載の半導体装置は、さらに
プロセッサを備え、
前記演算部は、前記プロセッサによって構成される。
【請求項5】
請求項1に記載の半導体装置、
ここにおいて、前記演算部は、前記第1オシレータのカウント値と前記第2オシレータのカウント値との間の値を内挿により求める第1演算回路を備える。
【請求項6】
請求項1またはに記載の半導体装置、
ここにおいて、前記演算部は、前記第1オシレータのカウント値および前記第2オシレータのカウント値の外の値を、外挿により求める第2演算回路を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体装置に関し、例えば、電源電圧等の電圧を検知する電圧検知回路を備えた半導体装置に関する。
【背景技術】
【0002】
電源電圧を検知する電圧検知回路は、例えば特許文献1に記載されている。特許文献1の図4には、電圧検出回路として遅延モニタ(12)が記載されている。遅延モニタ(12)は、リングオシレータにより構成された発振部(121)と、発振部(121)の周波数をデジタル値に変換するカウント部(122)とを備えている。
【0003】
特許文献1では、目標の検知電圧を電圧検知回路に印加した際に、カウント部(122)で得られたカウント値が閾値として設定される。実際の電圧検知のときに、カウント部(122)のカウント値が、設定された閾値以下となった場合に、電源電圧が低下したとして検知される。
【0004】
リングオシレータ単体の温度ドリフト(温度誤差)は、通常大きいため、特許文献1では、低温ワーストとなるリングオシレータと、高温ワーストとなるリングオシレータを、発振部(121)に設け、この温度依存性の異なるリングオシレータを同時に動作させることで、検知電圧の温度ドリフトを低減することも示されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2018-055511号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1では、温度依存性の異なる複数のリングオシレータ(以下、オシレータとも称する)を用いることで、検知電圧の温度ドリフトを低減することが示されているが、オシレータの温度依存性は、半導体装置を製造する際のプロセスや対象とする検知電圧の範囲によって変動する。そのため、プロセスや検知電圧の範囲を考慮して、オシレータを設計する必要がある。
【0007】
通常、温度依存性の異なるオシレータ間の特性差は大きくなる。この大きな特性差をカバーするために、大きな特性差の間に入るような特性を示すオシレータを追加して、動作させることが必要なる。この場合、オシレータの個数が増加し、発振部の専有面積が増加することになる。また、常時動作しているオシレータの個数が増加するため、消費電力のオーバーヘッドが著しく増加することになる。さらに、検知精度を向上させる場合には、オシレータ間の特性を微調整することが要求されるが、この微調整も難しくなる。
【0008】
また、電圧検知回路によって検知することが可能な電圧の範囲は、オシレータを構成するデバイスの特性の限界や温度依存性の調整のための回路面積の現実的でない増加等の理由で、律速されることになる。
【課題を解決するための手段】
【0009】
本明細書に記載されている一実施の形態に係る半導体装置を述べると、次の通りである。
【0010】
すなわち、半導体装置は、第1温度依存性を有し、検知電圧で動作する第1オシレータと、第1温度依存性とは異なる第2温度依存性を有し、検知電圧で動作する第2オシレータと、第1オシレータの出力と、第2オシレータの出力とが供給され、第1オシレータの出力と第2オシレータの出力とをカウントするカウント部と、カウント部で求められた第1オシレータのカウント値と第2オシレータのカウント値とを演算する演算部と、演算部の出力と閾値と比較し、比較の結果に応じた検知結果信号を出力する判定部とを備える。
【0011】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【発明の効果】
【0012】
一実施の形態によれば、プロセス等が変動しても、適切に電圧を検知することが可能な電圧検知回路を備えた半導体装置を提供することができる。
【図面の簡単な説明】
【0013】
図1】実施の形態1に係る半導体装置の構成を示すブロック図である。
図2】実施の形態1に係る半導体装置の動作を示すタイミングチャート図である。
図3】実施の形態1に係る半導体装置で用いられる閾値を取得する方法を示すフローチャート図である。
図4】実施の形態1に係る電圧検知回路の特性を示す図である。
図5】実施の形態1に係る電圧検知回路の特性を示す図である。
図6】実施の形態2に係る半導体装置の構成を示すブロック図である。
図7】実施の形態2に係る演算回路および閾値ラッチ部の一例を示すブロック図である。
図8】実施の形態2に係るトリミング時の動作を説明するフローチャート図である。
図9】実施の形態3に係る半導体装置の構成を示すブロック図である。
図10】実施の形態3に係る電圧検知回路の動作を示すタイミングチャート図である。
図11】実施の形態4に係る半導体装置の構成を示すブロック図である。
【発明を実施するための形態】
【0014】
以下、本発明の各実施の形態について、図面を参照しつつ説明する。なお、開示はあくまでも一例にすぎず、当業者において、発明の主旨を保っての適宜変更について容易に想到し得るものについては、当然に本発明の範囲に含有されるものである。
【0015】
また、本明細書と各図において、既出の図に関して前述したものと同様の要素には、同一の符号を付して、詳細な説明を適宜省略することがある。
【0016】
(実施の形態1)
<半導体装置の構成>
図1は、実施の形態1に係る半導体装置の構成を示すブロック図である。同図において、1は半導体装置を示している。半導体装置1は、電圧検知回路以外に、複数の回路ブロックを備えているが、図1には、説明に必要な電圧検知回路10と電圧検知回路10に接続されたバス100のみが示されている。バス100には、例えば図示しないプロセッサが接続されている。プロセッサは、電源電圧Vddを動作電源として動作する。電圧検知回路10は、この電源電圧Vddを検知電圧として、電源電圧の低下あるいは上昇等の異常を検知する。
【0017】
電圧検知回路10は、センサ部11、非同期転送部12、演算部13、オア回路14、フラグレジスタ15、制御部16およびトリミングラッチ部17を備えている。
【0018】
センサ部11は、2個のリングオシレータ11_RC1、11_RC4と、オシレータ11_RC1、11_RC4に対応する2個のカウンタ11_CT1、11_CT4を備えている。オシレータ11_RC1とオシレータ11_RC4は、互いに異なった温度依存性を有している。説明の都合上、オシレータ11_RC1を第1オシレータと称し、その温度依存性を第1温度依存性とする。また、オシレータ11_RC4を第2オシレータと称し、その温度依存性を第2温度依存性とする。この場合、第2温度依存性は第1温度依存性と異なることになる。また、カウンタ11_CT1と11_CT4とを合わせて、カウンタ部とも称する。
【0019】
オシレータ11_RC1および11_RC4には、電源電圧Vddが給電されている。オシレータ11_RC1および11_RC4は、電源電圧Vddを動作電圧として、発振動作を行う。実施の形態1では、電源電圧Vddが、検知対象の電圧(検出電圧)である。発振動作により形成されるオシレータ11_RC1および11_RC4の出力であるクロック信号の周波数(所定の時間におけるパルス数)は、電源電圧Vddの電圧値に応じて変化する。すなわち、電源電圧Vddの電圧値に応じて、オシレータ11_RC1および11_RC4から出力されるクロック信号の遅延値が変化する。
【0020】
オシレータ11_RC1と11_RC4とは、温度依存性が異なるため、オシレータ11_RC1および11_RC4から出力されるクロック信号の遅延値の変化は、温度の変化に対して異なることになる。
【0021】
カウンタ11_CT1のクロック端子CKには、対応するオシレータ11_RC1の出力が供給され、カウンタ11_CT4のクロック端子CKには、対応するオシレータ11_RC4の出力が供給されている。カウンタ11_CT1および11_CT4は、対応するオシレータ11_RC1および11_RC4からのクロック信号をカウントする。これにより、センサ部11においては、電源電圧Vddの電圧値が、クロック信号の遅延値に変換され、この遅延値が、カウンタ11_CT1、11_CT4によって、デジタル値に変換されることになる。センサ部11で形成されたデジタル値は、非同期転送部12に供給される。
【0022】
非同期転送部12は、カウンタ11_CT1および11_CT4に対応するフリップフロップ回路12_F1および12_F4を備えている。フリップフロップ回路12_F1、12_F4のクロック端子CKには、制御部16からラッチ信号が供給される。ラッチ信号がクロック端子CKに供給されることにより、フリップフロップ回路12_F1は、対応するカウンタ11_CT1から出力されているカウント値を取り込み、保持する。同様に、フリップフロップ回路12_F4は、対応するカウンタ11_CT4から出力されているカウント値を取り込み、保持する。フリップフロップ回路12_F1に保持されたカウント値は、オシレータ11_RC1のカウント値CNT(T1)として、演算部13に供給される。同様にフリップフロップ回路12_F4に保持されたカウント値は、オシレータ11_RC4のカウント値CNT(T4)として、演算部13に供給される。
【0023】
演算部13は、後で詳しく説明するが、センサ部11からの出力であるカウント値CNT(T1)およびCNT(T4)を基にして演算を行い、演算結果とカウント値CNT(T1)、CNT(T4)とを、閾値と比較し、検知結果信号DT1~DT6をオア回路14に出力する。特に制限されないが、実施の形態1では、電源電圧Vddが、所定の電圧値以上に上昇または下降していた場合(上回った場合または下回った場合)、検知結果信号DT1~DT6の少なくとも1個の検知結果信号が論理値“1”となる。これにより、オア回路14からは、異常を示す論理値“1”のエラー信号ERRORが出力される。このエラー信号ERRORは、フラグレジスタ15に供給される。その結果、フラグレジスタ15を確認することにより、電源電圧Vddに異常が発生しているか否かを検知することが可能である。
【0024】
トリミングラッチ部17は、演算部13における比較で用いられる閾値を格納するものである。
【0025】
制御部16は、バス100に接続されており、バス100を介して供給されるデータに従って、センサ部11、非同期転送部12、演算部13およびトリミングラッチ部17を制御する。
【0026】
<<演算部の構成>>
次に、演算部13を説明する。演算部13は、4個の演算回路13_OP2、13_OP3、13_OP5、13_OP6と、6個のデジタルコンパレータ(以下、比較器とも称する)13_CP1~13_CP6と、6個の判定器13_JD1~13_JD6を備えている。演算回路13_OP2、13_OP3、13_OP5、13_OP6には、カウント値CNT(T1)およびCNT(T4)が供給され、演算回路13_OP2、13_OP3、13_OP5、13_OP6は、供給されたカウント値を基にして、所定の演算を行い、カウント値CNT(T2’)、CNT(T3’)、CNT(T5’)、CNT(T6’)として出力する。
【0027】
比較器13_CP1には、カウント値CNT(T1)が供給され、比較器13_CP2には、演算回路13_OP2からのカウント値CNT(T2’)が供給され、比較器13_CP3には、演算回路13_OP3からのカウント値CNT(T3’)が供給されている。同様に、比較器13_CP4には、カウント値CNT(T4)が供給され、比較器13_CP5には、演算回路13_OP5からのカウント値CNT(T5’)が供給され、比較器13_CP6には、演算回路13_OP6からのカウント値CNT(T6’)が供給されている。カウント値CNT(T1)およびCNT(T4)は、オシレータからのクロック信号をカウントしたものであるのに対して、カウント値CNT(T2’)、CNT(T3’)、カウント値CNT(T5’)およびカウント値CNT(T6’)は、演算により求められたものであるため、演算カウント値とも見なすことができる。
【0028】
比較器13_CP1~13_CP6には、トリミングラッチ部17から、対応する閾値THS_T1、THS_T2’、THS_T3’、THS_T4、THS_T5’、THS_T6’が供給されている。比較器13_CP1および13_CP2を例にして説明すると、比較器13_CP1は、カウント値CNT(T1)と閾値THS_T1とを比較し、比較結果を対応する判定器13_JD1に供給する。また、比較器13_CP2は、対応する演算回路13_OP2からのカウント値CNT(T2’)と閾値THS_T2’とを比較し、比較結果を対応する判定器13_JD2に供給する。残りの比較器13_CP3~13_CP6についても同様である。
【0029】
判定器13_JD1~13_JD6は、供給された比較結果を、検知結果信号DT1~DT6として出力する。
【0030】
カウント値CNT(T1)は、第1温度依存性を持つオシレータ11_RC1のクロック信号に基づいているため、第1温度依存性を持つ第1オシレータ特性を有することになる。同様に、カウント値CNT(T4)は、第2温度依存性を持つ第4オシレータ特性を有することになる。
【0031】
演算回路13_OP2、13_OP3、13_OP5および13_OP6は、カウント値CNT(T1)および(T4)に対して、互いに異なる内容の演算を行う。これにより、カウント値CNT(T2’)、CNT(T3’)、CNT(T5’)およびCNT(T6’)は、第1オシレータ特性および第4オシレータ特性とは異なり、さらに互いに異なる温度依存性を持つ第2、第3、第5および第6オシレータ特性を持つことになる。
【0032】
具体例に述べると、演算回路13_OP2は、カウント値CNT(T1)にカウント値CNT(T4)の半分を加えるような演算(T1+T4/2)を行い、演算回路13_OP3は、カウント値CNT(T4)にカウント値CNT(T1)の半分を加えるような演算(T4+T1/2)を行う。また、演算回路13_OP5は、カウント値CNT(T1)からカウント値CNT(T4)の半分を減算するような演算(T1-T4/2)を行い、演算回路13_OP6は、カウント値CNT(T4)からカウント値CNT(T1)の半分を減算するような演算(T4-T1/2)を行う。
【0033】
これにより、演算回路13_OP2および13_OP3は、内挿演算を行う演算回路(第1演算回路)として機能する。すなわち、内挿により、カウント値CNT(T1)とCNT(T4)との間の範囲におけるカウント値が、カウント値CNT(T2’)およびCNT(T3’)として生成される。また、演算回路13_OP5および13_OP6は、外挿演算を行う演算回路(第2演算回路)として機能する。すなわち、外挿により、カウント値CNT(T1)とCNT(T4)との間の範囲から外れたカウント値が、カウント値CNT(T5’)およびCNT(T6’)として生成される。
【0034】
内挿および外挿の演算を行う演算回路13_OP2、13_OP3、13_OP5および13_OP6は、例えばシフト演算器および加算器を組み合わせることで実現することが可能である。シフト演算器および加算器で演算回路を構成すれば、演算回路の専有面積の増加を抑制することが可能であるが、これに限定されるものではない。すなわち、目標とする検知精度等に応じて、演算回路の構成は自由に設定することが可能である。
【0035】
実施の形態1では、温度依存性が異なる第1~第6オシレータ特性を持つカウント値CNT(T1)~CNT(T6’)と、閾値THS_T1~THS_T6’とが比較され、電源電圧Vddが、所定の電圧値を下回った場合あるいは上回った場合を、フラグレジスタ15に異常を示す論理値“1”が格納される。これにより、電源電圧Vddの異常を検知することが可能である。
【0036】
前記した閾値THS_T1~THS_T6’は、電圧検知回路10あるいは半導体装置1をトリミングする際に求め、トリミングラッチ部17に格納する。閾値THS_T1~THS_T6’を求める方法については、後で図面を用いて説明するので、ここでは詳しい説明を省略する。
【0037】
非同期転送部12および演算部13は、センサ部11からの出力と閾値とを比較する期間において動作させればよい。そのため、制御部16は、特に制限されないが、この期間においてのみ、非同期転送部12および演算部13を動作させる。これにより、消費電力を抑制することが可能である。
【0038】
図1では、2個のオシレータと、4個の演算回路と、6個の比較器とを用いる例を説明したが、この個数に限定されるものではく、任意である。勿論、内挿演算の演算回路および外挿演算の演算回路の個数も2個に限定されるものではない。
【0039】
また、ここでは、演算部13が、演算回路と比較器と判定器を備えているように説明したが、演算回路13_OP2、13_OP3、13_OP5、13_OP6によって演算部が構成され、比較器13_CP1~13_CP6、判定器13_JD1~JD6およびオア回路14によって、判定部が構成されていると見なしてもよい。
【0040】
<動作例>
次に、図1に示した半導体装置1の動作例を、図1および図2を用いて説明する。図2は、実施の形態1に係る半導体装置の動作を示すタイミングチャート図である。図2において、CLKは、クロック信号を示し、電圧検知回路10は、クロック信号CLKに同期して動作する。
【0041】
制御部16は、時刻t0において、センサ部11を起動させる(11_Act)。すなわち、オシレータ11_RC1および11_RC4を発振(OSC)状態にする。また、制御部16は、カウンタ11_CT1および11_CT4の両方を、時刻t1から時刻t2の期間(所定の期間)、同時に動作させる。これにより、カウンタ11_CT1および11_CT4は、対応するオシレータからのクロック信号のパルス数を、同時にカウント(11_Cnt)する。
【0042】
カウントにより得られたカウント値CNT(T1)およびCNT(T4)を、制御部16は、時刻t2から時刻t3の間において、非同期転送部12により、演算部13へ転送(12_Tran)させる。次に、時刻t3から時刻t4の期間PD2において、制御部16は、演算部13において、演算、比較および判定を実行させる(Op)。すなわち、クロック信号CLKの1サイクル(数10ns)の間で、制御部16は、演算回路13_OP2、13_OP3、13_OP5、13_OP6によって、前記した演算を実行させ、比較器13_CP1~13_CP6で比較動作をさせ、判定器13_JD1~JD6およびオア回路14で判定(Judge)をさせる。
【0043】
比較動作において、カウント値CNT(T1)~CNT(T6’)のいずれかが、閾値THS_T1~THS_T6’を下回っていた場合あるいは上回っていた場合、時刻t4において、オア回路14からエラーを示すエラー信号ERRORが出力され、フラグレジスタ15に格納される。なお、図2では、エラーが発生していない場合が示されている。
【0044】
図2では、クロック信号を、カウントをした後で、演算部13へ転送する例が示されているが、カウントと転送は時間的にオーバーラップ、例えば並列的に実行するようにしてもよい。時刻t1から時刻t3の期間PD1は、例えば数10μsである。
【0045】
時刻t4において、制御部16は、再びカウンタ11_CT1および11_CT4の両方を同時に動作させる。時刻t0~t1において、オシレータ11_RC1および11_RC4は発振状態にされているため、カウンタ11_CT1および11_CT4は、時刻t4からのクロック信号のパルス数をカウントすることになる。以降、時刻t5~t7における動作は、時刻t2~t4における動作と同じである。なお、図2において、時刻t7における判定としては、エラーの場合が示されている。
【0046】
特に制限されないが、フラグレジスタ15以外に、例えばエラー発生頻度等を記憶するレジスタを、半導体装置1に追加するようにしてもよい。この場合、例えばプロセッサによって、所定の期間において、フラグレジスタ15に格納される論理値“1”の回数をカウントし、追加したレジスタに回数を格納することにより、エラー発生頻度を記憶することが可能である。
【0047】
図2において、Power_11は、センサ部11における消費電力を示し、Power_13は、演算部13における消費電力を示している。センサ部11においては、オシレータ11_RC1および11_RC4が、時刻t0以降、常時発振しているため、常時消費電力が発生している。これに対して、演算部13においては、カウント値CNT(T1)およびCNT(T4)が更新されたタイミングで、演算等を行えばよく、活性化率が非常に小さくなる。そのため、消費電力の増加を抑制することが可能である。
【0048】
<閾値取得方法>
次に、トリミングラッチ部17に格納される閾値を取得する方法を、図面を用いて説明する。図3は、実施の形態1に係る半導体装置で用いられる閾値を取得する方法を示すフローチャート図である。
【0049】
閾値THS_T1~THS_T6’としては、低温状態で、半導体装置1をトリミングした際に得られたカウント値、低温状態よりも温度の高い高温状態で、半導体装置1をトリミングした際に得られたカウント値および例えば外部コンピュータ等において算出された演算カウント値が用いられる。
【0050】
図3において、ステップS1で、閾値を取得する方法が開始する。ステップS2では、低温状態で、半導体装置1のトリミング(低温トリミング:LT_Trim)が行われる。このときのカウント値CNT(T1)およびCNT(T4)が、カウント値CNT_T1(LT)およびCNT_T4(LT)として保持される。ステップS1において保持されたカウント値CNT_T1(LT)およびCNT_T4(LT)が、低温トリミング時の閾値THS_T1およびTHS_T4として、ステップS3で設定される。
【0051】
また、ステップS3において、外部コンピュータで算出されたカウント値が低温トリミング時の閾値THS_T2’およびTHS_T3’として設定される。このとき、外部コンピュータで行われる演算は、ステップS2で保持されたカウント値に対して、演算回路13_OP2および13_OP3で行われる演算と同じ演算である。すなわち、低温トリミング時の閾値THS_T2’およびTHS_T3’は、CNT_T1(LT)+CNT_T4(LT)/2およびCNT_T4(LT)+CNT_T1(LT)/2となる。図3には示していないが、このとき、外部コンピュータによって、演算回路13_OP5および13_OP6で行われる演算と同じ演算も行われる。これにより、カウント値CNT_T1(LT)-CNT_T4(LT)/2およびCNT_T4(LT)-CNT_T1(LT)/2が、低温トリミング時の閾値THS_T5’およびTHS_T6’として設定される。
【0052】
次のステップS4では、高温状態で、半導体装置1のトリミング(高温トリミング:HT_Trim)が行われる。このときのカウント値CNT(T1)およびCNT(T4)が、カウント値CNT_T1(HT)およびCNT_T4(HT)として保持される。
【0053】
次に、ステップS5が実行される。このステップS5は、ステップS3と類似している。相違点は、外部コンピュータが、ステップS4で格納したカウント値を基にして演算を行うことである。これにより、高温トリミング時のカウント値が算出され、高温トリミング時の閾値として設定される。すなわち、カウント値CNT_T1(HT)が高温トリミング時の閾値THS_T1に設定され、カウント値CNT_T4(HT)が高温トリミング時の閾値THS_T4に設定される。また、算出されたカウント値CNT_T1(HT)+CNT_T4(HT)/2およびCNT_T4(HT)+CNT_T1(HT)/2が、高温トリミング時の閾値THS_T2’およびTHS_T3’として設定される。さらに、算出されたカウント値CNT_T1(HT)-CNT_T4(HT)/2およびCNT_T4(HT)-CNT_T1(HT)/2が、高温トリミング時の閾値THS_T5’およびTHS_T6’として設定される。
【0054】
電源電圧Vddが下回った場合、すなわち電源電圧Vddの下限を検知する場合には、低温トリミング時の閾値として設定された値と高温トリミング時の閾値として設定された値のうち、値の低い方を、閾値として採用する。これに対して、電源電圧Vddが上回った場合、すなわち電源電圧Vddの上限を検知する場合には、低温トリミング時の閾値として設定された値と高温トリミング時の閾値として設定された値のうち、値の高い方を、閾値として採用する。この採用された閾値をトリミングラッチ部17に格納する。これによって。電源電圧Vddの異常を検知することが可能となる。
【0055】
図3のステップS6~S17は、電源電圧Vddが、上回った場合を検知するときの状態が示されている。ステップS6およびS7によって、カウント値CNT(T1)に関する低温トリミング時の閾値に相当するカウント値と高温トリミングの閾値に相当するカウント値のうち、高い値のカウント値が、閾値THS_T1として選択される。同様に、ステップS8およびS9によって、高い値のカウント値が、閾値THS_T4として選択され、ステップS10およびS11によって、高い値のカウント値が、閾値THS_T2’として選択される。また、ステップS12およびS13によって、高い値のカウント値が、閾値THS_T3’として選択され、ステップS14およびS15によって、高い値のカウント値が、閾値THS_T5’として選択され、ステップS16およびS17によって、高い値のカウント値が、閾値THS_T6’として選択される。これらの選択された閾値が、トリミングラッチ部17に格納され、ステップS18で処理が終了する。
【0056】
図3では、電源電圧Vddが、上回った場合を検知するときの状態を説明したが、ステップS6、S8、S10、S12、S14およびS16のそれぞれにおいて、条件が満たされたときに、ステップS7、S9、S11、S13、S15およびS17が実行されるようにすれば、電源電圧Vddが、下回った場合を検知する閾値を選択することが可能である。また、図3では、低温トリミングの後で、高温トリミングを行う場合を説明したが、高温トリミングを先に実施するようにしてもよい。勿論、閾値を選択するステップも、図3に示された順番とは異なっていてもよい。
【0057】
さらに、ステップS3およびステップS5で設定した低温トリミング時の閾値と高温トリミング時の閾値とを、トリミングラッチ部17に格納するようにしてもよい。この場合には、上回った状態を検知するのか、下回った状態を検知するのかに応じて、トリミングラッチ部17に格納されている閾値を選択すればよい。
【0058】
<効果>
実施の形態1においては、センサ部11で生成された2個のカウント値CNT(T1)、CNT(T4)を基にして、内挿演算により2種類のカウント値CNT(T2’)、CNT(T3’)を生成し、外挿演算により2種類のカウント値CNT(T5’)、CNT(T6’)を生成している。図4および図5は、実施の形態1に係る電圧検知回路の特性を示す図である。ここで、図4は、生成されたカウント値の温度特性と、検知電圧の温度特性を示している。また、図5は、カウント値のプロセスあるいは電圧依存性を示している。
【0059】
オシレータ11_RC1と、オシレータ11_RC4は、異なる温度依存性を持っている。そのため、温度が上昇すると、例えば図4に示すように、その差が広がるように、カウント値CNT(T1)、CNT(T4)が変化する。内挿演算により生成されたカウント値CNT(T2’)、CNT(T3’)も、温度が上昇すると、その差が広がるように、変化するが、カウント値CNT(T1)とカウント値CNT(T4)との間の範囲で変化する。また、外挿演算により生成されたカウント値CNT(T5’)、CNT(T6’)は、温度の上昇に伴って、カウント値CNT(T1)とカウント値CNT(T4)との間の範囲の外側で、広がるように変化する。
【0060】
低温トリミングおよび高温トリミング(LTandHT Trims)によって、前記したように閾値を設定することにより、目標の電源電圧(Target)に対するカウント値CNT(T1)~CNT(T6’)は、図4の右側に示すような特性となる。ここでは、電源電圧を下回る場合を検知する例が、図4の右側に示されている。また、同図において、Errorは、エラー信号ERRORにより通知されるエラーを示している。
【0061】
図5において、横軸は、プロセスあるいは目標の電源電圧の変化を示している。横軸を目標の電源電圧の変化として見なした場合、図5における横軸の変化は、電源電圧の範囲の変化と見なすことができる。図5において、U_Aの領域は、使用領域を示し、Expの領域は、拡張領域を示している。カウント値CNT(T1)~CNT(T4)を用いることにより、異常を検知することが可能な領域が、使用領域U_Aである。外挿演算により生成されたカウント値CNT(T5’)、CNT(T6’)を用いることにより、異常を検知することが可能な領域が拡張される。この拡張された領域が、拡張領域Expである。使用領域U_Aの両サイドに、拡張領域Expが設定されるため、プロセスの通常の変化の範囲あるいは電源電圧の通常の変化の範囲を超える変化の範囲においても、異常を検知することが可能である。
【0062】
カウント値CNT(T2’)およびCNT(T3’)は、内挿演算により生成している。この場合、1~5点程度の内挿であれば、1個の単純な加算器のみで実現することが可能である。そのため、カウント値CNT(T2’)およびCNT(T3’)を、オシレータとカウンタによって生成する場合に比べて、専有面積を小さくすることが可能であり、電圧検知回路の専有面積の縮小を図ることが可能である。また、オシレータは、ほぼ常時発振動作を行うため、常に電力消費が発生するが、演算回路は、演算時にのみ活性化すればよい。そのため、消費電力のオーバーベッドを小さくすることが可能である。そのため、実施の形態1に係る電圧検知回路によれば、専有面積および消費電力の増加を抑制しながら、温度変化による検知誤差を低減することが可能である。
【0063】
さらに、外挿演算を行う演算回路13_OP5および13_OP6を用いることにより、通常の検知可能な使用範囲U_Aを拡張し、拡張領域Expを加えることにより、検知可能な範囲を、使用領域U_Aの2倍程度に広げることが可能である。通常、使用範囲U_Aの両端は、デバイスの特性等で律速されるが、実施の形態1によれば、デバイスの特性に律速されずに、使用範囲を容易に拡張することが可能である。また、外挿演算を行う演算回路は、単純な減算器のみによって構成することが可能であり、専有面積の増加も抑制することが可能である。
【0064】
(実施の形態2)
実施の形態1では、低温および高温トリミング時に、外部コンピュータ等によって、演算回路13_OP2、13_OP3、13_OP5、13_OP6の演算と同じ演算を行い、閾値を設定していた。
【0065】
実際の検知動作において用いられる閾値は、低温および高温トリミング時において格納(取得)したカウント値から算出することが可能である。実施の形態2においては、低温および高温トリミング時において取得したカウント値が、半導体装置1に格納され、格納されたカウント値に基づいて、半導体装置1内で、閾値が、実際の検知動作の前に算出される。また、実施の形態2においては、演算回路によって行われる演算の内容(種類)が選択可能となっている。次に、図面を用いて、実施の形態2に係る半導体装置を説明する。
【0066】
図6は、実施の形態2に係る半導体装置の構成を示すブロック図である。図6は、図1と類似しているので、主に相違点を説明する。
【0067】
相違点は、演算部13_1が、n個の演算回路13_OP1~13_OPnと、n個の比較器13_CP1~13_CPnと、n個の判定器13_JD1~13_JDnを備えている点と、電圧検知回路10が、閾値ラッチ部18と、演算選択ラッチ部19とを備えている点である。
【0068】
トリミングラッチ部17には、低温トリミング時に取得されたオシレータ11_RC1および11_RC4に関わるカウント値CNT_T1(LT)およびCNT_T4(LT)が格納される。また、高温トリミング時に取得されたオシレータ11_RC1および11_RC4に関わるカウント値CNT_T1(HT)およびCNT_T4(HT)も、トリミングラッチ部17に格納される。
【0069】
演算選択ラッチ部19には、バス100を介して、演算回路13_OP1~13_OPnで実施される演算内容を指定する指定情報が格納される。この指定情報は、演算回路13_OP1~13_OPnに供給される。
【0070】
演算回路13_OP1~13_OPnには、カウント値CNT(T1)およびCNT(T4)が供給されている。演算回路13_OP1~13_OPnのそれぞれは、カウント値CNT(T1)およびCNT(T4)に対して、指定情報で指定されている演算を実施、演算結果を演算カウント値として対応する比較器13_CP1~13_CPnに供給する。演算回路13_OP1~13_OPnのそれぞれは、例えば、入力側にバレルシフタを追加した加減算器(例えば、±CNT(T1)>>x、±CNT(T4)>>y)によって構成される。
【0071】
閾値ラッチ部18には、トリミングラッチ部17からトリミング時に取得されたカウント値が供給される。また、この実施の形態2においては、特に制限されないが、演算選択ラッチ部19から指定情報が、閾値ラッチ部18に供給されている。実施の形態2では、特に制限されないが、閾値ラッチ部18において、指定情報により指定される演算内容で、トリミングラッチ部17から供給されているカウント値に対して演算が行われ、閾値が算出される。すなわち、演算回路13_OP1~13_OPnで行われる演算と同様な演算が、閾値ラッチ部18で行われ、閾値が生成される。閾値の生成は、検知動作を開始する前に行えばよいため、閾値ラッチ部18ではなく、半導体装置1内の他の回路ブロック、例えばプロセッサにおいて演算により、閾値を生成するようにしてもよい。
【0072】
演算選択ラッチ部18には、評価で決定した値あるいはユーザー使用時の条件に応じた値を、指定情報として設定すればよい。図6では、n個の演算回路を用いる例を示したが、演算回路の個数は任意である。
【0073】
<<演算回路および閾値ラッチ部>>
図7は、実施の形態2に係る演算回路および閾値ラッチ部の一例を示すブロック図である。図7には、例として、演算回路13_CPnが示されているが、残りの演算回路も同様な構成である。
【0074】
演算回路13_OPnは、加減算器AD3とその入力側に設けられたバレルシフタBS5、BS6とを備えている。演算選択ラッチ部19からは、指定情報として加減算選択信号ADSLと、カウンタ値CNT(T1)に対応するシフト制御信号SF_T1と、カウンタ値CNT(T4)に対応するシフト制御信号SF_T4とが出力される。加減算器AD3には、シフト制御信号SF_T1によって制御されるバレルシフタBS5を介して、カウント値CNT(T1)が供給される。また、シフト制御信号SF_T4によって制御されるバレルシフタBS6を介して、カウント値CNT(T4)が、加減算器AD3に供給される。加減算器AD3は、バレルシフタBS5、BS6を介して供給されるカウント値に対して、加減算選択信号ADSLで指定された加算または減算を行い、演算結果をカウント値CNT(Tn’)として、対応する比較器13_CPnへ出力する。
【0075】
閾値ラッチ部18は、加減算器AD1、AD2と、バレルシフタBS1~BS4と、ワースト値選択回路SELと、ラッチLTCを備えている。バレルシフタBS1、BS2は、閾値THS_T1(LT)、THS_T4(LT)をシフト制御信号SF_T1、SF_T4に従ってシフトし、加減算器AD1に出力する。同様に、バレルシフタBS3、BS4は、閾値THS_T1(HT)、THS_T4(HT)をシフト制御信号SF_T1、SF_T4に従ってシフトし、加減算器AD2に出力する。ワースト値選択回路SELは、加減算器AD1、AD2から出力されているカウント値のうち、値の悪い方を選択し、ラッチLTCに供給される。このラッチLTCの出力が閾値として、比較器13_CPnに供給される。検知動作においては、比較器13_CPnが、供給されている閾値とカウント値CNT(Tn’)とを比較し、比較結果が判定器13_JDnに供給され、検知結果信号DTnとして出力される。
【0076】
実施の形態2に係る電圧検知回路10のタイミングチャートは、実施の形態1に係る電圧検知回路と同様であるので、説明は省略する。
【0077】
図8は、実施の形態2に係るトリミング時の動作を説明するフローチャート図である。カウント値を取得する動作が、ステップS20で開始する。ステップS21では、低温トリミング時に、図6に示したカウント値CNT(T1)を低温時のカウント値CNT_T1(LT)として取得し、カウント値CNT(T4)を低温時のカウント値CNT_T4(LT)として取得する。この取得したカウント値CNT_T1(LT)、CNT_T4(LT)は、ステップS22において、トリミングラッチ部17に格納される。次のステップS23において、高温トリミング時に、図6に示したカウント値CNT(T1)を高温時のカウント値CNT_T1(HT)として取得し、カウント値CNT(T4)を高温時のカウント値CNT_T4(HT)として取得する。この取得したカウント値CNT_T1(HT)、CNT_T4(HT)を、ステップS24において、トリミングラッチ部17に格納する。その後、ステップS25で、処理を終える。
【0078】
閾値は、検知動作を開始する前に、トリミングラッチ部17に格納されているカウント値を基にして、算出する。算出された閾値が、閾値ラッチ部18に格納される。
【0079】
実施の形態2によれば、演算内容を変更することが可能である。そのため、電圧検知回路10をプログラマブルにすることが可能である。これにより、例えば、目標とする検知電圧に応じて、演算内容を選択することが可能となるため、さらなる温度誤差の低減が期待できる。
【0080】
(実施の形態3)
実施の形態1および2では、複数の演算回路によって、複数のカウント値が並列的に求められていた。これに対して、実施の形態3では、1個の演算回路が、シリアルに複数のカウント値を算出する。
【0081】
図9は、実施の形態3に係る半導体装置の構成を示すブロック図である。図9は、図6と類似しているので、相違点を説明する。主な相違点は、演算部が変更され、演算部13_2となっていることである。
【0082】
演算部13_2は、1個の共通の演算回路13_OPと、演算選択部20と、1個の共通の比較器13_CPと、セレクタ21と、判定レジスタ13_JDR1~13_JDRnとを備えている。
【0083】
演算回路13_OPには、カウント値CNT(T1)とCNT(T4)とが、逐次的に供給される。演算回路13_OPは、演算選択部20によって指定された演算内容の演算を、カウンタ値CNT(T1)およびCNT(T4)に対して実行し、カウント値CNTを出力する。演算選択部20は、制御部16からの指示信号22に従って、順次異なる演算内容を指定する。セレクタ21には、閾値ラッチ部18から並列的に閾値が供給されており、セレクタ21は、指示信号22に従って、供給されている複数の閾値から閾値を選択し、比較器13_CPに供給する。比較器13_CPは、供給されているカウント値CNTと閾値とを比較し、比較結果を、判定レジスタ13_JDR1~13_JDRnに供給する。特に制限されないが、判定レジスタ13_JDR1~13_JDRnには、指示信号22が供給されている。判定レジスタ13_JDR1~13_JDRnのうち、指示信号22によって指定された判定レジスタ(例えば,13_JDR1)が、供給されている比較器13_CPからの比較結果を保持し、保持した比較結果に従った検知結果信号(DT1)を出力する。
【0084】
図10は、実施の形態3に係る電圧検知回路の動作を示すタイミングチャート図である。図10は、図2に類似しているので、主に相違点を説明する。図10において、DT1およびDT2は、検知結果信号を示している。ここでは、判定レジスタ13_JDR1、13_JDR2からの検出結果信号DT1およびDT2のみが示されているが、他の検出結果信号も同様である。また、Power_13_2は、演算部13_2の消費電力の変化を示している。
【0085】
図10において、制御部16は、非同期転送12_Tranを指示した後、図2と同様に、演算部13_2に対して演算、比較および判定を実行させるが、この演算、比較および判定を、シリアルに実行させる。すなわち、図2においては、期間PD2において、複数の演算、複数の比較および複数の判定が、それぞれ並列的に実行されていたが、実施の形態3においては、期間PD2に相当する期間PD_Aが、複数の単位期間PD2_Uによって構成され、それぞれの単位期間PD2_Uにおいて、1個の演算、比較および判定が行われる。この場合、指定信号22によって、演算選択部20は、演算Op1からOpnの順に行われるに演算内容を、順次選択する。また、このとき、演算Op1からOpnに対応した閾値が選択されるように、セレクタが、指定信号22によって選択される。これにより、比較器13_CPは、順次供給される演算の結果と選択された閾値とを比較する。比較結果は、例えば、判定レジスタ13_JDR1から13_JDRnの順に格納され、保持される。
【0086】
図10に示すように、カウント値CNT(T1)、CNT(T4)のセットが、逐次的に、演算回路13_OPに供給され、演算回路13_OPは、供給された1つのカウント値のセットに対して、異なる演算カウント値を逐次的に生成する。演算カウント値は、比較器13_CPに逐次的に供給され、対応する閾値と比較される。その後、判定レジスタによって、並列的な検知結果信号DT1~DTnに変換されることになる。
【0087】
実施の形態3によれば、消費電力とのトレードオフになるが、演算回路および比較器が共通化されるため、専有面積の削減を図ることが可能である。
【0088】
(実施の形態4)
図11は、実施の形態4に係る半導体装置の構成を示すブロック図である。図11において、センサ部11、非同期転送部12およびトリミングラッチ部17は、図6と同じである。図11において、CNT_RG1およびCNT_RG4は、カウント値保持レジスタ(以下、カウントレジスタとも称する)を示しており、カウントレジスタCNT_RG1は、カウント値CNT(T1)を保持し、カウントレジスタCNT_RG4は、カウント値CNT(T4)を保持する。実施の形態4においては、バス100にカウントレジスタCNT_RG1、CNT_RG4、フラグレジスタ15、トリミングラッチ部17およびプロセッサCPUが接続されている。なお、特に制限されないが、制御部16もバス100に接続されている。
【0089】
プロセッサCPUは、バス100を介して、トリミングラッチ部17に格納された低温時および高温時トリミングのカウント値CNT_T1(LT)、CNT_T1(HT)、CNT_T4(LT)、CNT_T4(HT)を読み出して、演算によって、実施の形態2で示した閾値を算出する。また、プロセッサCPUは、バス100を介して、カウンタレジスタCNT_RG1、CNT_RG4に格納されているカウント値CNT(T1)、CNT(T4)を読み出し、実施の形態2で示した複数のカウント値を、演算によって算出する。さらに、プロセッサCPUは、算出したカウント値と閾値との比較を行い、比較の結果を、フラグレジスタ15に格納する。このような動作を、カウントレジスタCNT_RG1およびCNT_RG4に、カウント値が格納されるたびに、プロセッサCPUが実行する。
【0090】
実施の形態4によれば、プロセッサCPUでの演算においてレイテンシーが発生するが、ハードウェアの増加を抑制することが可能である。また、カウント値および閾値を算出するための演算は、任意に変更することが可能であり、自由度の向上を図ることも可能である。
【0091】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【符号の説明】
【0092】
1 半導体装置
10 電圧検知回路
11 センサ部
12 非同期転送部
13 演算部
14 オア回路
15 フラグレジスタ
16 制御部
17 トリミングラッチ部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11