JP2014138094A - 半導体装置 - Google Patents

半導体装置 Download PDF

Info

Publication number
JP2014138094A
JP2014138094A JP2013006197A JP2013006197A JP2014138094A JP 2014138094 A JP2014138094 A JP 2014138094A JP 2013006197 A JP2013006197 A JP 2013006197A JP 2013006197 A JP2013006197 A JP 2013006197A JP 2014138094 A JP2014138094 A JP 2014138094A
Authority
JP
Japan
Prior art keywords
trimming
data
value
cpu
clock
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.)
Pending
Application number
JP2013006197A
Other languages
English (en)
Inventor
Sei Baba
生 馬場
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 JP2013006197A priority Critical patent/JP2014138094A/ja
Publication of JP2014138094A publication Critical patent/JP2014138094A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】離散的なトリミングデータを保持するトリミングテーブルを使って、複雑なアルゴリズムを用いずにアナログ回路の動作補償を行う場合であっても、CPUの誤動作などの深刻な問題の発生を防止する。
【解決手段】CPUと、設定されるトリミングデータによって特性が変更されるアナログ回路を含むLSIにおいて、温度、動作電圧、出荷後の経過時間などの環境パラメータの複数の範囲ごとに対応するトリミングデータを保持するトリミングテーブルを備える。LSIはさらに、環境パラメータの値を測定するセンサを備え、その測定値に基づいてトリミングテーブルを参照することにより、設定するトリミングデータを変更する。トリミングデータの変更状態をCPUからアクセス可能、または、変更されたことをCPUに割り込みで通知、または、変更の際にCPUの動作を一時的に停止させる。
【選択図】図1

Description

本発明は、アナログ回路を備える半導体装置に関し、特にアナログ回路の動的トリミングに好適に利用できるものである。
システムLSI(Large Scale Integrated circuit)などの半導体装置に搭載されているアナログ回路モジュールの多くは、様々な要因によりその特性を大きく変化させ、仕様で許容される範囲を外れる恐れがある。その対策として、温度依存特性などを量産出荷前にトリミングする手法があるが、動作電圧・温度・経時変化(経年劣化)等の動作環境変化に伴う特性変動を完全には抑制できない場合がある。特に、システムLSIに搭載されるCPU(Central Processing Unit)などのプロセッサを始めとするロジック回路に、クロックを供給する発振回路をオンチップに形成する場合に、発振周波数(クロック周波数)の精度に対する厳しい要求には、十分に応えられない場合がある。CPUには、安定したクロック周波数の供給が求められ、例えば中心周波数に対する精度を1%以内とする要求がある。発振回路をオンチップの素子で形成する場合、仕様で想定すべき製造ばらつきと、動作電圧・温度・経時変化(経年劣化)等の動作環境の変化の範囲において、例えばトランジスタの特性は、数10%の範囲で変動する。トリミングは、LSIの製造後の検査で素子特性を測定し補償パラメータを求めて設定するなどにより、製造ばらつきによる特性変動を補償することができるが、動作環境の変化を補償することはできない。そのため、クロックを供給する発振回路をオンチップに形成する場合に、1%以内の精度に抑えることは、極めて厳しい要求である。
特許文献1には、温度依存性を持つ半導体集積回路におけるトリミング調整方法が開示されている。半導体集積回路の製造後に、高温での測定と低温での測定を実施し、温度依存性を考慮して最適なトリミング値を決める。
特許文献2には、IC製造後のテストにおいて素子の特性を測定することによって、パラメータの最適値を求め、参照データテーブルに書き込んでおき、所望のクロック及び消費電流に合わせて最適なパラメータを選択して回路ブロックに供給する技術が開示されている。
特許文献3には、複数の温度における補償パラメータをメモリに探索表として記憶しておき、作動時の温度を測定して、この温度測定値に対応するパラメータを探索表から取り出し、その温度における適切な補償パラメータを算出して、基準電圧発生回路を補償する技術が開示されている。
特開2004−200327号公報 米国特許第6792379号明細書 特開平6−276097号公報
特許文献1、2及び3について本発明者が検討した結果、以下のような新たな課題があることがわかった。
CPUにクロックを供給する発振回路をオンチップに形成しその発振周波数を高精度に補償するなど、CPUを搭載したシステムLSIにおいて、オンチップのアナログ回路の特性を、動作電圧・温度・経時変化(経年劣化)等の動作環境の変化の範囲において高精度に補償するためには、1つのトリミングデータでは十分ではない場合がある。例えば、特許文献1に開示される技術によれば、リングオシレータの発振周波数を、想定される温度範囲で数%以内に抑えることができるが、動作電圧や経時変化まで考慮すると、さらに高精度にすることはできない。第0044段落と図10にリングオシレータの出力周波数(発振周波数)の補正を行う実施例が開示され、出力周波数(発振周波数)の変動を、中心周波数500Hzに対して−25℃から+85℃の温度範囲で、480Hzから520Hzの範囲に抑えられることが記載されている。これは、±4%にあたり、動作電圧の変動や経時変化の影響を考慮すればさらに、拡大する。特許文献2に開示される技術によれば、複数のトリミングデータを求めておき、使用時に適切なトリミングデータを選択して補償に利用するので、使用時ごとのユーザーの要求に適応することができるが、動作環境の変化には十分には対応しきれない。
特許文献3に開示される技術によれば、複数の温度におけるトリミングデータを求めてメモリに記憶しておき、使用時には温度を実測し、測定された温度測定値におけるトリミングデータを算出して使用するので、温度変化に対しては高精度の補償が実現される。しかし、適切なトリミングデータの算出には、複雑なアルゴリズムを採用する必要がある。また、動作電圧や経時変化については考慮されていないため、これを考慮するとさらに複雑なアルゴリズムが必要となる。これに対し、メモリに格納された複数の温度におけるトリミングデータから、適切なものを単純に選択して補償に使用すれば、複雑なアルゴリズムの適用を不要とすることができる。しかしながら、メモリに格納するトリミングデータを、動作環境の変化の範囲全体で連続的な値とすることは不可能であるから、トリミングデータは離散的となる。その場合には、トリミングデータを切り替える際に、アナログ回路の特性が不連続に変化するという新たな問題が発生する。特に、CPUにクロックを供給する発振回路において、トリミングデータを切り替えた場合には、発振周波数に瞬間的な高周波または低周波が発生し、あるいはジッタが発生する恐れがある等の新たな問題が生じる。クロックが不安定になった場合、CPUなどのロジック回路では、誤動作を惹き起こすなどの深刻な問題が生じる恐れがある。クロック発生器以外のアナログ回路モジュールにおいても、特性の不連続な変化が種々の問題を発生することがある。
このような課題を解決するための手段を以下に説明するが、その他の課題と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
一実施の形態によれば、下記の通りである。
すなわち、CPUと、温度、動作電圧、出荷後の経過時間などの環境パラメータと設定されるトリミングデータによって特性が変更されるアナログ回路とを含む半導体装置において、環境パラメータの複数の範囲ごとに対応するトリミングデータの値を保持するトリミングテーブルを格納可能なメモリを備える。半導体装置はさらに、環境パラメータの値を測定するセンサを備え、その測定値に基づいてトリミングテーブルを参照することにより、設定するトリミングデータの値を変更可能な、トリミング制御部を備える。トリミングデータの値の変更状態をCPUからアクセス可能に構成する。または、トリミングデータの値の変更をCPUに割り込みなどで通知可能に構成する。または、トリミングデータの値の変更に伴って、CPUの動作を一時的に停止可能に構成する。
前記一実施の形態によって得られる効果を簡単に説明すれば下記のとおりである。
すなわち、離散的なトリミングデータを保持するトリミングテーブルを使って、複雑なアルゴリズムを用いずにアナログ回路の動作補償を行う場合であっても、CPUに誤動作を惹き起こすなどの深刻な問題の発生を防止することができる。
図1は、実施形態1に係る半導体装置の構成を表すブロック図である。 図2は、トリミングデータ毎の温度と発振周波数の関係を示す特性図である。 図3は、実施形態1に係る半導体装置の動作例を表すタイミングチャートである。 図4は、温度変化とトリミングデータの変更方法の関係を表す説明図である。 図5は、半導体装置の一動作例における新たな課題を表すタイミングチャートである。 図6は、発振回路の発振周波数の経時変化を表す説明図である。 図7は、実施形態2に係る半導体装置の構成を表すブロック図である。 図8は、発振回路の発振周波数の経時変化に対応するためのトリミングテーブルの一例を表す説明図である。 図9は、実施形態2に係る発振回路の構成例を表すブロック図である。 図10は、実施形態2に係るトリミング制御部の構成例を表すブロック図である。 図11は、トリミングデータのトリミング制御部への供給方法を表す説明図である。 図12は、実施形態2に係る半導体装置の動作の一例を表すタイミングチャートである。 図13は、実施形態2に係る半導体装置の動作の別の一例を表すタイミングチャートである。 図14は、トリミングデータの変更に伴う発振回路の動作例を表すタイミングチャートである。 図15は、実施形態3に係るトリミング制御部の構成例を表すブロック図である。 図16は、実施形態3に係る半導体装置の動作におけるトリミングデータの変更方法の一例を表すタイミングチャートである。 図17は、実施形態3に係る半導体装置の動作におけるトリミングデータの変更方法の一例を表すタイミングチャートの拡大図である。 図18は、実施形態4に係る半導体装置の構成を表すブロック図である。
1.実施の形態の概要
先ず、本願において開示される代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
〔1〕<トリミングデータの動的変更制御>
代表的な実施の形態に係る半導体装置(1)は、以下の要素を含んで構成される。
CPU(2)。設定されるトリミングデータと環境パラメータによって特性が変更されるアナログ回路(3、11)。前記環境パラメータの値を測定するセンサ(4)。前記環境パラメータの複数の範囲ごとに対応する前記トリミングデータの値を保持するトリミングテーブル(5)を格納可能なメモリ(6)。前記センサによる前記環境パラメータの測定値に基づいて、前記トリミングテーブルを参照することにより、前記アナログ回路に設定する前記トリミングデータの値を変更可能な、トリミング制御部(7)。
半導体装置(1)は、前記トリミングデータの値の変更状態を前記CPUからアクセス可能に構成され、または、前記トリミングデータの値の前記変更を前記CPUに通知可能に構成され、または、前記トリミングデータの値の変更に伴って前記CPUの動作を一時的に停止可能に構成される。
これにより、離散的なトリミングデータを保持するトリミングテーブルを使って、複雑なアルゴリズムを用いずにアナログ回路の動作補償を行う場合であっても、CPUに誤動作を惹き起こすなどの深刻な問題の発生を防止することができる。
〔2〕<ステータスレジスタ>
項1において、前記トリミング制御部は、前記変更状態を保持し、前記CPUからアクセス可能な、ステータスレジスタ(20)を備える。
これにより、CPU(2)は、トリミングデータの変更状態を監視し、監視結果に基づいて適切にアナログ回路(3、11)を制御することができ、誤動作を惹き起こすなどの深刻な問題の発生を防止することができる。
〔3〕<割り込み>
項1において、前記トリミング制御部は、前記トリミングデータの値を変更するときに、前記CPUに対して割り込みを発行可能に構成される(23、27)。
これにより、CPU(2)はトリミングデータの変更状態を通知され、割り込み処理ルーチンにおいて適切にアナログ回路(3、11)を制御することができ、誤動作を惹き起こすなどの深刻な問題の発生を防止することができる。
〔4〕<CPU stop>
項1において、前記トリミング制御部は、前記トリミングデータの値を変更するときに、前記CPUの動作を停止させる制御を可能に構成される(22、28、42)。
これにより、CPU(2)は、トリミングデータの値の変更に伴って発生する、アナログ回路(3、11)の異常動作の影響を回避することができ、誤動作を惹き起こすなどの深刻な問題の発生を防止することができる。
〔5〕<変更イネーブルレジスタ>
項1から項4のうちのいずれか1項において、前記CPUは、前記トリミング制御部に対して、前記トリミングデータの値の変更を許可または禁止する制御を可能に構成される(26)。
これにより、CPU(2)は、その動作において、適切なタイミングでトリミングデータの変更を許可し、不適切な期間はトリミングデータの変更を禁止することができるので、誤動作を惹き起こすなどの深刻な問題の発生を防止することができる。
〔6〕<トリミングデータ選択部>
項1から項5のうちのいずれか1項において、前記トリミング制御部は、比較データを保持可能な比較データレジスタ(35)と、前記比較データと前記環境パラメータの前記測定値とを比較し、比較結果に基づいて前記トリミングデータの値を選択する、トリミングデータ選択部(30、31)とを備える。
これにより、複雑なアルゴリズムを用いずにアナログ回路の動作補償を行うことができる。
〔7〕<トリミングデータを徐々に変更>
項1から項5のうちのいずれか1項において、前記トリミング制御部は、比較データを保持可能な比較データレジスタ(35)と、前記比較データと前記環境パラメータの前記測定値とを比較し、比較結果に基づいて前記トリミングデータの値を徐々に増加または減少させることによって変更する、トリミングデータ変更部(30、31)とを備える。
これにより、複雑なアルゴリズムを用いず、アナログ回路に急激な特性変動を発生させることなく、アナログ回路の動作補償を行うことができる。
〔8〕<温度補償>
項1から項7のうちのいずれか1項において、前記環境パラメータは温度であり、前記センサは、前記アナログ回路の動作温度を測定可能であり(4_1)、前記トリミングテーブルは、前記アナログ回路の特性を補償するためのトリミングデータの値を、複数の温度範囲ごとに格納する。前記トリミング制御部は、高温側温度閾値と低温側温度閾値を保持可能な比較データレジスタ(35)と、前記高温側温度閾値及び前記低温側温度閾値と前記測定値とを比較し、比較結果に基づいて前記トリミングデータの値を変更可能に構成される。
これにより、アナログ回路(3、11)の温度依存性が補償される。
〔9〕<電源電圧補償>
項1から項7のうちのいずれか1項において、前記環境パラメータは前記アナログ回路に供給される電源電圧であり、前記センサは、前記電源電圧を測定可能であり(4_2)、前記トリミングテーブルは、前記アナログ回路の特性を補償するためのトリミングデータの値を、複数の電源電圧範囲ごとに格納する。前記トリミング制御部は、電圧閾値を保持可能な比較データレジスタ(35)と、前記電圧閾値と前記測定値とを比較し、比較結果に基づいて前記トリミングデータの値を変更可能に構成される。
これにより、アナログ回路(3、11)の電源電圧依存性が補償される。
〔10〕<経年変化補償>
項1から項7のうちのいずれか1項において、前記環境パラメータは時間であり、前記センサは、日時を計時する時計(4_3)であり、前記トリミングテーブルは、前記アナログ回路の特性を補償するためのトリミングデータの値を、複数の経過時間範囲ごとに格納する。前記トリミング制御部は、経過時間閾値を保持可能な比較データレジスタ(35)と、前記経過時間閾値と前記時計によって計時される前記日時に基づいて算出された経過時間とを比較し、比較結果に基づいて前記トリミングデータの値を変更可能に構成される。
これにより、アナログ回路(3、11)の特性の経年変化が補償される。
〔11〕<CPUのクロック発生回路の動的トリミング>
代表的な実施の形態に係る半導体装置(1)は、以下の要素を含んで構成される。
CPU(2)。前記CPUへクロックを供給し、設定されるトリミングデータと環境パラメータよって発振周波数の特性が変更されるクロック発生回路(11)。前記環境パラメータの値を測定するセンサ(4)。前記環境パラメータの複数の範囲ごとに対応する前記トリミングデータの値を保持するトリミングテーブル(5)を格納可能なメモリ(6)。前記センサによる前記環境パラメータの測定値に基づいて、前記トリミングテーブルを参照することにより、前記クロック発生回路に設定する前記トリミングデータの値を変更可能な、トリミング制御部(7)。
これにより、離散的なトリミングデータを保持するトリミングテーブルを使って、複雑なアルゴリズムを用いずにクロック発生回路の動作補償を行う場合であっても、CPUに誤動作を惹き起こすなどの深刻な問題の発生を防止することができる。
〔12〕<トリミングデータ切替時のクロック停止>
項11において、前記半導体装置は、前記クロック発生回路から前記CPUへのクロック供給を停止可能なクロックストップ制御回路(42)を備える。前記トリミング制御部は、比較データを保持可能な比較データレジスタ(35)と、前記比較データと前記環境パラメータの前記測定値とを比較し、前記比較結果に基づいて前記トリミングデータの値を切替える、トリミングデータ切替部(30、31)とを備える。前記トリミング制御部は、前記クロックストップ制御回路により前記CPUへのクロック供給を停止した後に、前記トリミングデータの値を切替える、制御動作を可能に構成される。
これにより、CPU(2)は、トリミングデータの値の変更に伴って発生する、クロック発生回路(11)の異常な動作の影響を回避することができ、誤動作を惹き起こすなどの深刻な問題の発生を防止することができる。
〔13〕<トリミングデータ切替時のクロック供給の再開>
項12において、前記CPUへのクロック供給を停止した後、所定のクロックパルス数をカウントした後に、前記クロックストップ制御回路に対して前記CPUへのクロック供給を再開させる制御が可能な、カウンタ(50)をさらに備える。
これにより、クロック発生回路による発振が安定した後にCPUクロックの動作を再開することができる。
〔14〕<トリミングデータを徐々に変更>
項11において、前記トリミング制御部は、比較データを保持可能な比較データレジスタ(35)と、前記比較データと前記環境パラメータの前記測定値とを比較し、比較結果に基づいて前記トリミングデータの値を徐々に増加または減少させることによって変更する、トリミングデータ変更部(30、31)とを備える。
これにより、複雑なアルゴリズムを用いず、例えば、瞬間的な著しく高い周波数のクロックの出力やジッタの発生などの、急激な特性変動を発生させることなく、クロック発生回路の動作補償を行うことができる。
〔15〕<変更イネーブルレジスタ>
項11から項14のうちの1項において、前記CPUは、前記トリミング制御部に対して、前記トリミングデータの値の変更を許可または禁止する制御を可能に構成される(26)。
これにより、CPU(2)は、その動作において、適切なタイミングでトリミングデータの変更を許可し、不適切なタイミングではトリミングデータの変更を禁止することができるので、誤動作を惹き起こすなどの深刻な問題の発生を防止することができる。
〔16〕<温度補償>
項11から項14のうちのいずれか1項において、前記環境パラメータは温度であり、前記センサは、前記クロック発生回路の動作温度を測定可能であり(4_1)、前記トリミングテーブルは、前記クロック発生回路の特性を補償するためのトリミングデータの値を、複数の温度範囲ごとに格納する。前記トリミング制御部は、高温側温度閾値と低温側温度閾値を保持可能な比較データレジスタ(35)と、前記高温側温度閾値及び前記低温側温度閾値と前記測定値とを比較し、前記比較結果に基づいて前記トリミングデータの値を変更可能に構成される。
これにより、クロック発生回路(11)の温度依存性が補償される。
〔17〕<電源電圧補償>
項11から項14のうちのいずれか1項において、前記環境パラメータは前記クロック発生回路に供給される電源電圧であり、前記センサは、前記電源電圧を測定可能であり(4_2)、前記トリミングテーブルは、前記クロック発生回路の特性を補償するためのトリミングデータの値を、複数の電源電圧範囲ごとに格納する。前記トリミング制御部は、電圧閾値を保持可能な比較データレジスタ(35)と、前記電圧閾値と前記測定値とを比較し、前記比較結果に基づいて前記トリミングデータの値を変更可能に構成される。
これにより、クロック発生回路(11)の電源電圧依存性が補償される。
〔18〕<経年変化補償>
項11から項14のうちのいずれか1項において、前記環境パラメータは時間であり、前記センサは、日時を計時する時計(4_3)であり、前記トリミングテーブルは、前記クロック発生回路の特性を補償するためのトリミングデータの値を、複数の経過時間範囲ごとに格納する。前記トリミング制御部は、経過時間閾値を保持可能な比較データレジスタ(35)と、前記経過時間閾値と前記時計によって計時される前記日時に基づいて算出された経過時間とを比較し、前記比較結果に基づいて前記トリミングデータの値を変更可能に構成される。
これにより、クロック発生回路(11)の特性の経年変化が補償される。
〔19〕<温度補償+電源電圧補償+経年変化補償>
項11から項14のうちのいずれか1項において、前記環境パラメータは温度と前記クロック発生回路に供給される電源電圧と時間であり、前記半導体装置は、前記センサとして、前記クロック発生回路の動作温度を測定可能な温度センサ(4_1)と、前記クロック発生回路に供給される電源電圧を測定可能な電圧測定回路(4_2)と、日時を計時する時計(4_3)とを備える。
前記トリミングテーブルは、前記クロック発生回路の特性を補償するためのトリミングデータの値を、複数の温度範囲及び複数の電源電圧範囲及び複数の経過時間範囲の組合せごとに格納する。
前記トリミング制御部は、前記温度センサによって測定された前記クロック発生回路の動作温度と、前記電圧測定回路によって測定された前記クロック発生回路の電源電圧と、前記時計によって計時される前記日時に基づいて算出された経過時間とに基づいて、前記トリミングテーブルを参照することにより、前記クロック発生回路に設定する前記トリミングデータの値を変更可能に構成される。
これにより、クロック発生回路(11)の温度依存性と、電源電圧依存性と、特性の経年変化が、すべて補償される。
〔20〕<シングルチップ>
項1から項19のうちのいずれか1項において、前記半導体装置は、単一半導体基板上に形成される。
これにより、単一半導体基板上に集積されたLSIにおいて、アナログ回路の動作補償を行う場合であっても、CPUに誤動作を惹き起こすなどの深刻な問題の発生を防止することができる。
2.実施の形態の詳細
実施の形態について更に詳述する。
〔実施形態1〕<トリミングデータの動的変更制御>
図1は、実施形態1に係る半導体装置の構成を表すブロック図である。実施形態1に係る半導体装置1は、CPU2とアナログ回路3とセンサ4とメモリ6とトリミング制御部7を含んで構成される。アナログ回路3は、設定されるトリミングデータと環境パラメータによって特性が変更される。ここで、環境パラメータとは、アナログ回路3が動作する環境のパラメータであって、温度、電源電圧、応力、製造されてからの経過時間、累積動作時間などを指す。センサ4は、これらの環境パラメータの値を測定する、温度センサ、電圧検出回路、アナログ/ディジタル変換器、歪ゲージ、経過時間を計時するための時計などであり、複数種類のセンサを備えても良い。メモリ6は、環境パラメータの複数の範囲ごとに対応するトリミングデータの値を保持するトリミングテーブル5を格納可能に、構成される。トリミング制御部7は、センサ4による環境パラメータの測定値に基づいて、トリミングテーブル5を参照することにより、アナログ回路3に設定するトリミングデータの値を変更することできる、制御回路である。半導体装置1は、トリミングデータの値の変更状態をCPU2からアクセス可能に構成され、または、トリミングデータの値の変更をCPU2に通知可能に構成され、または、トリミングデータの値の変更に伴ってCPU2の動作を一時的に停止可能に構成される。特に制限されないが、これらの構成要素は、例えば単結晶シリコン基板などの同一半導体基板上に、公知の半導体製造技術によって形成することができる。特にアナログ回路3とセンサ4を同一半導体基板上に、さらに、隣接配置して形成することにより、アナログ回路3が動作する環境パラメータを正確に測定することができ、補償の精度を向上することができる。
これにより、離散的なトリミングデータを保持するトリミングテーブルを使って、複雑なアルゴリズムを用いずにアナログ回路の動作補償を行う場合であっても、CPUに誤動作を惹き起こすなどの深刻な問題の発生を防止することができる。
実施形態1に係る半導体装置1の動作について説明する。
図2は、トリミングデータ毎の温度と発振周波数の関係を示す特性図である。アナログ回路3の一例として発振回路を、環境パラメータの一例として温度を採って説明する。横軸は温度であり、縦軸は発振周波数である。仕様により、低温側Tcoldから高温側Thotまでの温度範囲において、発振周波数を中心周波数fcに対して±1.5Δf以内に抑えることが求められているものとする。トリミングを経ない発振回路の特性は、例えば「No Trim」の直線のようになり、低温側の広範囲と高温側の一部で、仕様を満足することができない。中心温度Ttypにおいて発振周波数が中心周波数fcとなるように、トリミングデータData_A (Typ)によってトリミングを行うと、中心温度Ttypを挟んでTtypに近い範囲では、仕様を満足することができるように調整される。しかし、仕様が厳しい場合、低温側下限Tcoldと高温側上限Thotそれぞれに近い温度範囲では、仕様を満足することができない。そこで、高温側で発振周波数を中心周波数fcにトリミングする高温側トリミングTt1と、低温側で発振周波数を中心周波数fcにトリミングする低温側トリミングTt2とをそれぞれ中心とするトリミングデータData_B (Hot)とData_C (Cold)とを求める。温度範囲毎に、適切なトリミングデータを使用することにより、余裕をもって仕様を満足することができる。即ち、3つの温度範囲Thot〜Tth1、Tth1〜Tth2、Tth2〜Tcoldのそれぞれにおいて、トリミングデータData_B (Hot)、Data_A (Typ)、Data_C (Cold)を使ってトリミングすることにより、発振周波数は、中心周波数fc±Δf以内に抑えることができ、仕様(中心周波数fc±1.5Δf以内)を満足することができる。算出したトリミングデータData_B (Hot)、Data_A (Typ)、Data_C (Cold)は、トリミングテーブル5としてメモリ6に格納する。メモリ6はフラッシュメモリ(登録商標)などの電気的に書き換え可能な不揮発性メモリであれば好適であるが、ブートプログラムなどにより、電源投入直後に外部からトリミングテーブル5がロードされるRAM(Random Access Memory)であってもよい。
これらのトリミングデータは、半導体装置1の出荷のための良品選別テストにおいて、アナログ回路3(発振回路)の特性を測定することにより、その実測値等に基づいて算出することができる。このときの測定環境におけるアナログ回路3(発振回路)の温度は、中心温度Ttypの他、低温側下限Tcoldと高温側上限Thot、或いは、高温側と低温側のトリミング温度Tt1とTt2であってもよく、一方、任意の温度であってもよい。任意の測定温度の場合には、デバイスシミュレーションなどによって予め求めておいた、実測値とトリミングデータの相関関係から、トリミングデータData_B (Hot)、Data_A (Typ)とData_C (Cold)とを求めることができる。また、相関関係は、量産実績に基づいて、逐次補正して精度を高めることもできる。半導体装置1の出荷のための良品選別テストを、高温または低温で実施するのは、コスト面の負担が大きいので、精度の高い相関関係を用いて常温測定のみの実測値から、トリミングデータData_B (Hot)、Data_A (Typ)とData_C (Cold)とを求めることにより、テストコストを抑えることができる。
図3は、実施形態1に係る半導体装置1の動作例を表すタイミングチャートである。
図3には、横軸に時間をとり、縦軸側には上から順に、温度、リセット信号(Reset)の波形、トリミングデータの値、トリミング変更イネーブル信号、比較データレジスタ1と2、及び、発振周波数が、示される。温度は温度センサ4によって測定され、比較データレジスタ1と2に設定される温度閾値を比較される。トリミング制御部7は、測定された温度が、どの温度範囲Thot〜Tth1、Tth1〜Tth2、Tth2〜Tcoldに入るかによって、トリミングデータData_B (Hot)、Data_A (Typ)、Data_C (Cold)を選んでアナログ回路3(発振回路)に設定してトリミングする。図3の最下段に示す発振周波数の軸において、3本の破線は、トリミングデータData_B (Hot)、Data_A (Typ)、Data_C (Cold)を選んだ場合それぞれの発振周波数を示す。
時刻t0後、トリミングデータは不定(indefinite)であり、比較データレジスタ1と2は初期値(Init)に初期化されている。このとき、発振周波数は中心周波数fcから外れ、不明の周波数となっている。リセット後、時刻t1において、トリミングデータは、Data_A (Typ)に初期化され、温度が常温Ttypであれば、発振周波数は中心周波数fcに調整される。比較データレジスタ1と2には、トリミングデータの値を切り替えるべき温度である、温度閾値Tth1とTth2が設定される。トリミング制御部7は、温度センサ4によって測定された温度を比較データレジスタ1と2に設定された温度閾値Tth1とTth2と比較し、温度が上昇して時刻t2にTth1を超えたことが検知すると、アナログ回路3(発振回路)のトリミングデータをData_B (Hot)に変更する。これにより、発振周波数は、太線で示すように低い側に調整される。その後、温度が低下して時刻t3にTth1を下回ったことを検知すると、トリミング制御部7は、アナログ回路3(発振回路)のトリミングデータをData_A (Typ)に変更する。その後さらに、温度が低下して時刻t4にTth2を下回ったことを検知すると、トリミング制御部7は、アナログ回路3(発振回路)のトリミングデータをData_C (Cold)に変更する。これにより、発振周波数は、太線で示すように高い側に調整される。
以上のように、アナログ回路3(発振回路)の発振周波数は、太線で示すように中心周波数fc±Δf以内に抑えられ、仕様(中心周波数fc±1.5Δf以内)を満足することができる。
以上は、仕様を満たすべき温度範囲を、3つの温度範囲に分けて、3種類のトリミングデータを使う実施形態について説明したが、4以上の温度範囲に分けても良い。温度範囲を細かく分けることにより、より高精度に制御することができる。また、電源電圧などのその他の環境パラメータも併用することができる。
温度センサ4によって測定された温度と、比較データレジスタ1と2に設定された温度閾値Tth1とTth2との比較には、安定のためヒステリシスを持たせるとよい。図4は、温度変化とトリミングデータの変更方法の関係を表す説明図である。横軸に時間、縦軸に温度をとり、最上段にトリミングデータの値を示してある。Tth1=83.5℃とした例を示す。温度が上昇するときには、Tth1(83.5℃)+1.5℃=85.0℃を超えたときに、トリミングデータをData_A (Typ)からData_B (Hot)に変更し、温度が降下するときには、Tth1(83.5℃)−1.5℃=82.0℃を下回ったときに、トリミングデータをData_B (Hot)からData_A (Typ)に変更する。これにより、温度が比較データ(Tth)近傍にあるときに、いわゆるチャタリングするなど、比較結果が不安定になる問題を回避することができる。温度が上昇中か降下中かを判定する必要は特になく、中間温度のトリミングデータData_A (Typ)が使われているとき、高温側閾値温度(Tth1)を高めに、低温側閾値温度(Tth2)を低めに、それぞれ設定する。温度が上がって高温側トリミングデータData_B (Hot)が使われているときは、高温側閾値温度(Tth1)を低めに変更する。高温側トリミングデータData_B (Hot)が使われているときは、温度は高温側閾値温度(Tth1)よりも高く、次に比較結果が一致するのは、温度が降下する場合だからである。
以上述べてきたように、環境パラメータの複数の範囲ごとに対応するトリミングデータの値を保持するトリミングテーブル5をメモリ6に格納しておき、トリミング制御部7が、センサ4による環境パラメータの測定値に基づいて、トリミングテーブル5を参照して、アナログ回路3に設定するトリミングデータの値を変更することにより、アナログ回路の動作補償を行うことができる。
しかしながら、トリミングデータが変更されたことによって、アナログ回路3の特性は、一般に不連続に変化する。アナログ回路の特性上の不連続は、様々な問題を惹き起こす可能性がある。例えば、アナログ回路がクロック発生のための発振回路の場合、クロックジッタを発生し、あるいは瞬時的に極めて高い周波数または極めて低い周波数に相当するクロック波形を出力して、そのクロックが供給される論理回路の動作に、誤動作などの深刻な問題を惹き起こす恐れがある。
そこで、実施形態1に係る半導体装置1では、トリミングデータの値の変更状態をCPU2からアクセス可能に構成され、または、トリミングデータの値の変更をCPU2に通知可能に構成され、または、トリミングデータの値の変更に伴ってCPU2の動作を一時的に停止可能に構成される。トリミングデータの値の変更状態をフラグで監視し、またはトリミングデータの値そのものを、CPU2から読み出すことができるように構成することにより、アナログ回路3が例えばアナログ/ディジタル変換器、ディジタル/アナログ変換器の場合に、CPU2で動作させるプログラムによって、変換データを適切に補正することができる。また、トリミングデータの値が変更されたときに、割り込みを発行するなどの方法により、CPU2に通知してもよい。CPU2で動作させるプログラムの中の割り込み処理ルーチンによって、変換データを適切に補正することができる。アナログ回路3がCPU2の動作のためのクロックを供給するような場合には、上記のようなプログラムによる対策は困難である。CPU2のクロックに、許容量を超えたジッタを含んだクロック波形、あるいは瞬時的に極めて高い周波数または極めて低い周波数に相当するクロック波形が印加されると、CPU2自体が誤動作する恐れがあるため、その上で動作するソフトウェアの正常動作を保証することができないためである。その場合には、トリミングデータの値の変更に伴ってCPU2の動作を一時的に停止させる。CPU2をスリープ、スタンバイなどの動作モードに遷移させてもよいし、CPU2へのクロックの供給を止めても良い。
これにより、離散的なトリミングデータを保持するトリミングテーブルを使って、複雑なアルゴリズムを用いずにアナログ回路の動作補償を行う場合であっても、CPUに誤動作を惹き起こすなどの深刻な問題の発生を防止することができる。
〔実施形態2〕<クロック発生回路のトリミングデータの動的変更制御>
実施形態2に係る半導体装置1は、アナログ回路3をCPU2の動作のためのクロックを供給するクロック発生回路11とした実施の形態である。この場合に発生する新たな課題について説明する。
図5は、半導体装置の一動作例における新たな課題を表すタイミングチャートである。図3と同様であるが、トリミングデータが変更される際の発振周波数の特性に新たな課題が生じる場合がある。時刻t2において、トリミングデータがData_A (Typ)からData_B (Hot)に変更されたことにより、発振周波数は不連続に変化し、瞬間的に仕様の下限であるfc−1.5Δfを下回る。同様に、時刻t3とt4においては、トリミングデータがそれぞれData_B (Hot)からData_A (Typ)、Data_A (Typ)からData_C (Cold)に変更されたことにより、発振周波数は不連続に変化し、瞬間的に仕様の上限であるfc+1.5Δfを上回る。このため、CPU2を始めとするクロック同期で動作する回路は、誤動作する恐れがある。
また、発振回路には、特性の経時変化があることが知られている。
図6は、発振回路の発振周波数の経時変化を表す説明図である。横軸に時間をとり、縦軸に発振周波数を採ったグラフである。時間軸は、日、週、年などの比較的長い時間レンジである。時刻t0の半導体製造における前工程が完了した時の発振周波数を基準とすることができる。時刻t1でモールド工程を終えた後、発振周波数は上昇する。さらに、時刻t2でリフロー工程を終えた後にさらに上昇する。これらは、温度履歴による応力に起因する特性変動とも考えられ、必ずしも周波数を高める方向であるとは限らない。時刻t3以降は、いわゆる経年劣化(経年変化)である。製造工程後に行われるウェハ状態でのテスト、またはモールド工程後に行われるパッケージ実装後のテストにおいて、トリミングデータを算出し、トリミングテーブル5をメモリ6に書き込んで出荷すると、その後の、経年変化に適応することができないという課題が生じる。
図7は、実施形態2に係る半導体装置の構成を表すブロック図である。実施形態2に係る半導体装置1は、CPU2とクロック発生回路11とセンサ4とメモリ6とトリミング制御部7を含んで構成される。半導体装置1は、さらに、RAM8、周辺モジュール9、割り込み制御部12を備え、互いにバス10によって接続されている。クロック発生回路11は、CPU2の動作のためのクロックを供給し、設定されるトリミングデータと環境パラメータによってクロック周波数が変更される。また、クロック発生回路11は、クロックストップ制御部42を備える。ここで、環境パラメータは、温度、電源電圧、製造されてからの経過時間、累積動作時間などを指し、センサ4には、温度センサ4_1、電圧センサ4_2、リアルタイムクロック(RTC:Real Time Clock)4_3などが含まれ得る。メモリ6は、環境パラメータの複数の範囲ごとに対応するトリミングデータの値を保持するトリミングテーブル5を格納することができる、フラッシュメモリ6である。トリミング制御部7は、センサ4による環境パラメータの測定値に基づいて、トリミングテーブル5を参照することにより、クロック発生回路11に設定するトリミングデータの値を変更することできる、制御回路である。CPU2はバス10を介してトリミング制御部7にアクセスすることにより、トリミング制御部7がクロック発生回路11に設定したトリミングデータを読み出すことができる。トリミングデータ自体である必要はなく、設定されるトリミングデータを指すフラグ等を読み出し可能としてもよい。トリミング制御部7は、トリミングデータを変更するときに、クロック発生回路11に対してCPU_Stop信号を出力し、クロックストップ制御部42によって、クロック発生回路11からCPU2へのクロックの供給を一時停止することができる。また、トリミング制御部7は、トリミングデータを変更するときに、割り込み制御部12に対して割り込み信号を発行することにより、CPU2に対して、トリミングデータの変更を通知することができる。図5に指摘するような課題がある場合には、クロック発生回路11からCPU2へのクロックの供給を一時停止することができればよく、他のトリミングデータの変更状態の読み出しとトリミングデータの変更割り込みは、不可欠ではない。
特に制限されないが、上記の構成要素は、例えば単結晶シリコン基板などの同一半導体基板上に、公知の半導体製造技術によって形成することができる。特にクロック発生回路11とセンサ4を同一半導体基板上に、さらに、隣接配置して形成することにより、クロック発生回路11が動作する環境パラメータを正確に測定することができる。
これにより、離散的なトリミングデータを保持するトリミングテーブルを使って、複雑なアルゴリズムを用いずにクロック発生回路の動作補償を行う場合であっても、CPUに誤動作を惹き起こすなどの深刻な問題の発生を防止することができる。
図8は、発振回路の発振周波数の経時変化に対応するためのトリミングテーブル5の一例を表す説明図である。実施形態1では、3つの温度範囲においてトリミングデータを規定する例について説明したが、図8には、4つの温度範囲、4つの電源電圧範囲、さらに、4つの経時範囲について、4×4×4=64通りのトリミングデータを備えるトリミングテーブル5を示す。温度範囲は、−20℃未満、−20℃〜50℃、50℃〜85℃、85℃以上の4範囲とし、それぞれに、電源電圧範囲、1.8V未満、1.8V〜2.3V、2.3V〜2.8V、2.8V以上の4範囲に、16通りのトリミングデータを備える。動作開始から1日未満のとき、Data_A〜Data_Pまでの16通りのトリミングデータを備え、以降、動作開始から1日以上1週間未満のとき、動作開始から1週間以上1年未満のとき、動作開始から1年以上のときの、4通りの経過時間ごとに、それぞれ16通りのトリミングデータを備える。なお、環境パラメータを経過時間とした場合には、図4を引用して説明した、ヒステリシスを持たせた制御は不要である。経過時間は不可逆であるので、原理的にチャタリングが発生し得ないためである。これにより、クロック発生回路(11)の温度依存性と、電源電圧依存性と、特性の経年変化による特性変動のすべてを補償することができる。
図9は、実施形態2に係る発振回路の構成例を表すブロック図である。クロック発生回路11は、図9に示す発振回路によって構成することができる。発振回路は、オシレータ部40とリファレンス部41とクロックストップ制御部42とカウンタ50を備える。オシレータ部40は、電圧制御発振器(VCO:Voltage Controlled Oscillator)43と、制御パルス発生回路44とF−V変換部45を備えて構成される。リファレンス部41は、基準電圧発生回路(BGR:Band Gap Reference)46と基準電流発生回路47とを備えて構成され、基準電流発生回路47に含まれる基準抵抗体48の抵抗値がトリミングされる。VCO43の出力がクロックであり、クロックストップ制御部42を介してCPU2にクロックを供給する。クロックストップ制御部42はトリミング制御部7から入力されるCPU_Stop信号が活性化されると、CPU2へのクロックの供給を一時停止する。クロックの供給停止後、カウンタ50がリセットされ、所定のカウント値に達したときに、CLOCK_RESUME信号により、CPU2へのクロックの供給を再開する。所定のカウント値とは、トリミングデータが変更されたときに、VCO43の発振が安定するまでに、出力されるクロックパルスの数に、マージンを加えて算出される。これにより、クロック発生回路11による発振が安定した後にCPUクロックの動作を再開することができる。
オシレータ部40の周波数制御の原理について説明する。VCO43の出力は、制御パルス発生回路44にフィードバックされる。所定の周波数または位相比較により、F−V変換部45に対して、発振周波数を上げるまたは下げるための制御パルスを出力する。F−V変換部45は、トランジスタM1とM2によりチャージポンプを構成している。チャージポンプからの充放電によりキャパシタC1とC2に蓄積される電荷によって、電圧VSIGが保持されている。演算増幅器Op1とキャパシタC3と抵抗R1によって構成される積分回路を経て、VCO43に制御電圧が供給される。VCO43は、電圧制御発振器であり、印加される制御電圧によって発振周波数が制御されたクロックパルスを出力する。
リファレンス部41は、BGR46によって発生した基準電圧VrefCを使い、演算増幅器Op2とトランジスタM3、可変抵抗49により、基準電流IREFを発生させる。トランジスタM3とM4によって構成されるカレントミラーにより、所定の定数N倍された、定電流ICONST=N×IREFが生成される。定数NはトランジスタM3とM4のサイズの比で規定される。定電流ICONSTは、オシレータ部40のチャージポンプを構成するトランジスタM1に入力される。定電流ICONSTにもとづいて、VCO43の制御感度が調整される。定電流ICONSTは、トランジスタM1がオンしている期間にキャパシタC1とC2を充電するので、定電流ICONSTが大きい程、VSIGを大きく変化させ、VCO43の発振周波数を大きく変化させる。基準抵抗体48の値をトリミングして可変抵抗49の値を変化させることにより、クロック発生回路11の出力周波数をトリミングすることができる。
図10は、実施形態2に係るトリミング制御部の構成例を表すブロック図である。トリミング制御部7には、上述のように、アナログ回路3、センサ4、フラッシュメモリ6、及び、割り込み制御部12が接続されている。アナログ回路3は、本実施形態ではクロック発生回路11であるが、トリミング制御部7は他のアナログ回路に接続される場合であっても、同様に構成することができるので、アナログ回路3として説明する。センサ4は、温度センサ4_1、電圧センサ4_2、およびRTC4_3を含む。電圧センサ4_2は、電源電圧が所定の電圧を下回ったことを検出する、パワーオンリセット回路(POR:Power On Reset)や低電圧検出回路(LVD:Low Voltage Detector)を流用することもでき、また、アナログ/ディジタル変換器(ADC:Analog/Digital Converter)を使って高精度に測定することもできる。フラッシュメモリ6には、トリミングテーブル5が格納され、また、比較データテーブル36も合わせて格納しておくことができる。比較データテーブル36には、環境パラメータの範囲を与える閾値のデータが格納される。
トリミング制御部7は、ステータスレジスタ20、コントロールレジスタ25、チップ情報制御部30、トリミングデータ変更制御部31、フラッシュメモリインターフェース(Flash I/F)32、トリミングデータ用フラッシュメモリインターフェース33、比較データ用フラッシュメモリインターフェース34、及び、比較データレジスタファイル35を含んで構成される。コントロールレジスタ25は、トリミングデータ変更イネーブル(Change Enable)26、割り込みイネーブル(Interrupt)27、及び、CPUストップイネーブル(CPU Stop)28の制御情報を含む。ステータスレジスタ20は、トリミングデータ変更フラグ(Trim Change Flag)21、CPUストップフラグ(CPU Stop Flag)22、割り込みフラグ(Interrupt Flag)23、及び、トリミングデータ24を含んで構成される。コントロールレジスタ25とステータスレジスタ20は、図10において図示を省略されるバスインターフェース回路を介して、バス10に接続されており、CPU2からアクセスすることができる。
比較データレジスタファイル35は、フラッシュメモリ6の比較データテーブル36から適宜比較データ(Compare Data)を読み込んで保持する。実施形態1では、3つの温度範囲Thot〜Tth1、Tth1〜Tth2、Tth2〜Tcoldについて説明したが、このとき、Tth1とTth2が比較データテーブル36に保持され、比較データレジスタファイル35に転送されて保持される。温度範囲の数が少ない場合は、同じ値を保持すれば良いが、温度範囲が多い場合は、比較データレジスタファイル35に保持する比較データを適宜変更しても良い。比較データ用フラッシュメモリインターフェース34とフラッシュメモリインターフェース32を介して、フラッシュメモリ6における比較データテーブル36の中の所望の比較データが格納されているアドレスを指定することにより、フラッシュメモリ6にアクセスして読み込む。チップ情報制御部30には、温度センサ4_1、電圧センサ4_2、およびRTC4_3から、温度情報、電圧レベル情報、経過時間情報が読み込まれ、それぞれ対応する、比較データと比較される。比較結果に基づいて、トリミングデータを選択する。トリミングデータ(Select Trim Data)は、トリミングデータ用フラッシュメモリインターフェース33とフラッシュメモリインターフェース(Flash I/F)32を介して、フラッシュメモリ6におけるトリミングテーブル5の中の所望のトリミングデータが格納されているアドレスを指定することにより、フラッシュメモリ6にアクセスして読み込む。コントロールレジスタ25のトリミングデータ変更イネーブル(Change Enable)26によって、トリミングデータの変更が許可されているときには、トリミングデータを変更する。選択されたトリミングデータは、トリミングデータ変更制御部31を介して、アナログ回路3に設定される。コントロールレジスタ25の割り込みイネーブル(Interrupt)27によって割り込みが許可されていれば、ステータスレジスタの割り込みフラグ(Interrupt Flag)23を立て、割り込み制御部12に対して、割り込み信号(Interrupt)を発行する。
コントロールレジスタ25のCPUストップイネーブル28により、CPUを一時停止することが指示されている場合は、トリミングデータの変更に先立って、CPUストップフラグ(CPU Stop Flag)22を立て、必要に応じて割り込みを発生させて割り込みフラグ(Interrupt Flag)23も立て、CPU2にパラメータが変更されるのに伴ってクロック供給が停止されることを通知する。CPU2は、割り込み処理ルーチンなどにより、クロックの停止に備える処理を実行することができる。その後、実際にCPU_STOP信号を発行してCPU2へのクロックを停止した後に、トリミングデータを変更する。
これとは異なり、コントロールレジスタ25のCPUストップイネーブル(CPU Stop)28により、CPUを一時停止することを禁止しておいて、トリミングデータの変更割り込みを先行させてもよい。CPU2は割り込み処理ルーチンによってクロックの停止に備える処理を終えた後、CPUストップイネーブル(CPU Stop)28による禁止を解除して、実際にCPU_STOP信号を発行してCPU2へのクロックを停止した後に、トリミングデータを変更してもよい。
一方、CPU2は、実行中のプログラムの処理の内容によっては、クロックの停止が誤動作を招く場合もあり、その他、トリミングデータを変更することが適切でないタイミングもあり得る。その場合には、コントロールレジスタ25のトリミングデータ変更イネーブル26によって、トリミングデータの変更を禁止することによって、トリミングデータが変更される時期を適正化させることができ、不適切なタイミングでのトリミングデータの変更に起因する誤動作を防止することができる。
図10に示したブロック図では、フラッシュメモリインターフェース32を介してフラッシュメモリ6に接続する例を示した。図11は、トリミングデータのトリミング制御部への供給方法を表す説明図である。(a)のセレクタ方式は、フラッシュメモリ6から、トリミングテーブル5に格納されるトリミングデータを並列に出力しておき、セレクタによって選択して、アナログ回路3に書き込む構成である。トリミングデータの数が64個、トリミングデータのビット数が8ビットの場合、512ビットの並列出力端子をフラッシュメモリ6に設ける必要があるが、トリミングデータの選択は高速に行うことができる。一方、(b)のフラッシュインターフェース方式は、図10に示した通り、フラッシュメモリインターフェース32を介してフラッシュメモリ6に接続する構成である。アドレス線とデータ線とその他の制御信号線のみで接続することができるが、トリミング制御部7において適宜アドレスを生成する必要がある。
図12は、実施形態2に係る半導体装置の動作の一例を表すタイミングチャートである。図5に示したタイミングチャートと比べ、比較データレジスタ1と2の図示を省略し、代わりに、割り込みイネーブル27の状態とCPU2の動作状態を示す。時刻t1後にトリミングデータ変更イネーブル26と割り込みイネーブル27により、トリミングデータ変更とそれに伴う割り込みの発行が許可され、トリミングデータが変更される時刻t2において、割り込みが発生する。この割り込みにより、CPU2は割り込み処理ルーチンを開始する。その後、トリミングデータが変更される。時刻t6までの期間、発振回路の出力信号の周波数は、不安定となる。図12の最下段に示すように、発振周波数が瞬時的に仕様で規定される範囲を外れる場合もある。CPU2は、発振周波数が不安定な期間を十分に経過する、時刻t7までの間、割り込み処理ルーチンを実行する。割り込み処理ルーチンは、例えば、発振回路がCPU2にクロックを供給するのではなく、タイマーにクロックを供給するときには、そのタイマーのカウント値を補正する。発振回路がCPU2にクロックを供給する場合には、発振回路の出力によって、CPU2が誤動作しないように、例えば、クロックの分周数を大きくして、CPU2を低い周波数で動作させ、仕様を超える周波数のクロックが入力されても、CPU2を動作させるクロック周波数を仕様の範囲内になるように、制御することができる。時刻t3はトリミングデータが変更されることにより、仕様の範囲を超える高い周波数が出力され、クロックの不安定期間が時刻t8まで続くので、CPU2は時刻t9まで、割り込み処理ルーチンを実行する。時刻t4から時刻t11も同様である。
図13は、実施形態2に係る半導体装置の動作の別の一例を表すタイミングチャートであり、図14は、トリミングデータの変更に伴う発振回路の動作例を表すタイミングチャートで、時刻t3前後の拡大図である。時刻t3において、トリミングデータが変更されると、クロック発生回路11からのクロック出力は、例えば時刻t31までの期間にグリッジを発生させるおそれがあり、また、時刻t31〜t32の間にCPU2の正常動作を保証することができる範囲を超えた周波数となる恐れがある。トリミングデータが変更される、時刻t2、t3、t4から、それぞれ時刻t6、t8、t10までのクロックが不安定な期間は、CPU_STOP信号により、CPU2の動作を停止させる。クロック発生回路11からCPU2へのクロックの供給を停止しても良いし、CPU2の動作モードを、スリープやスタンバイなどの、仕様の範囲を外れるクロックが入力されても、CPU2が誤動作に至らない動作モードに移行させても良い。
これにより、CPU2は、トリミングデータの値の変更に伴って発生する、クロック発生回路11の異常な動作の影響を回避することができ、誤動作を惹き起こすなどの深刻な問題の発生を防止することができる。
〔実施形態3〕<トリミングデータの連続的変更制御>
図15は、実施形態3に係るトリミング制御部の構成例を表すブロック図である。実施形態2においては、離散的なトリミングデータから選択して切り替えることによって変更する例を示した。アナログ回路3の特性は不連続に変化する問題点を指摘し、実施形態2は、そのような場合でも、誤動作を惹き起こすなどの深刻な問題の発生を防止する解決手段を提供した。一方、本実施形態3においては、トリミングデータを変更する際に、選択して切り替えるのではなく、徐々に増加または減少させて、切り替えるべきトリミングデータに近づけることによって変更する。
図15に示した、実施形態3に係るトリミング制御部7では、図10に示したブロック図と比較して、コントロールレジスタ25に、さらに、スムーズチェンジイネーブル(Smooth Change)29を追加する。スムーズチェンジイネーブル29によって、トリミングデータを変更する際に、徐々に増加または減少させて変更することが指示されると、トリミングデータ変更制御部31において、トリミングデータを例えば1ずつ増加または減少させることによって、新たなトリミングデータに変更する。
図16は、実施形態3に係る半導体装置の動作におけるトリミングデータの変更方法の一例を表すタイミングチャートであり、図17は、その変更部分の拡大図である。トリミングデータは、時刻t1から時刻t2にかけて徐々に増加されることによりData_AからData_Bに変更され、時刻t3から時刻t4にかけて徐々に減少されることによりData_BからData_Aに変更される。図16において、トリミングデータは、時刻t2から時刻t12にかけて徐々に減少されることによりData_A (Typ)からData_B (Hot)に変更され、時刻t3から時刻t13にかけて徐々に増加されることによりData_B (Hot)からData_A (Typ)に変更される。さらに、時刻t4から時刻t14にかけても同様に、徐々に増加されることによりData_A (Typ)からData_C (Cold)に変更される。これにともない、周波数は、時刻t2から時刻t12にかけて徐々に低下し、時刻t3から時刻t13と時刻t4から時刻t14にかけては徐々に上昇するが、急激な変化がないため、瞬時的に高い周波数のクロックパルスを発生させたり、許容範囲以上にジッタを増加させるなどの問題を発生させることが防止される。
これにより、複雑なアルゴリズムを用いず、例えば、瞬間的な著しく高い周波数のクロックの出力やジッタの発生などの、急激な特性変動を発生させることなく、クロック発生回路の動作補償を行うことができる。
〔実施形態4〕<一般アナログ回路のトリミングデータの動的変更制御>
図18は、実施形態4に係る半導体装置の構成を表すブロック図である。実施形態2と3は、主にアナログ回路3がCPU2に対するクロック発生回路11である場合について説明したが、クロック発生回路11以外の一般のアナログ回路3のトリミングにも、同様に適用することができる。ここで、アナログ回路3は、アナログ/ディジタル変換器、ディジタル/アナログ変換器、アンプ回路、測定回路などである。トリミングデータを変更した場合には変換特性が変化するため、CPU2はステータスレジスタ20の内容を読み出すことにより、変換特性を補正しながら利用することができる。また、トリミングデータを変更した場合に割り込みが発行されるように設定すれば、トリミングデータの変更された後、特性が安定するまでの期間、変換を実行させないか、変換結果を利用しないなどの、処理を行うことができる。
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
1 半導体装置(LSI)
2 CPU
3 アナログ回路
4 センサ
4_1 温度センサ
4_2 電圧センサ(POR,LVD,ADC)
4_3 RTC
5 トリミングテーブル
6 不揮発性メモリ
7 トリミング制御部
8 RAM
9 周辺モジュール
10 バス
11 クロック発生回路
12 割り込み制御部
20 ステータスレジスタ
21 トリミングデータ変更フラグ
22 CPUストップフラグ
23 割り込みフラグ
24 トリミングデータ
25 コントロールレジスタ
26 トリミングデータ変更イネーブル
27 割り込みイネーブル
28 CPUストップイネーブル
29 スムーズチェンジイネーブル
30 チップ情報制御部
31 トリミングデータ変更制御部
32 フラッシュメモリインターフェース
33 トリミングデータ用フラッシュメモリインターフェース
34 比較データ用フラッシュメモリインターフェース
35 比較データレジスタファイル
36 比較データテーブル
40 オシレータ部
41 リファレンス部
42 クロックストップ制御部
43 電圧制御発振器(VCO)
44 制御パルス発生回路
45 F−V変換部
46 基準電圧発生回路
47 基準電流発生回路
48 基準抵抗体
49 可変抵抗器
50 カウンタ

Claims (20)

  1. CPUと、設定されるトリミングデータと環境パラメータによって特性が変更されるアナログ回路と、前記環境パラメータの値を測定するセンサと、前記環境パラメータの複数の範囲ごとに対応する前記トリミングデータの値を保持するトリミングテーブルを格納可能なメモリと、前記センサによる前記環境パラメータの測定値に基づいて、前記トリミングテーブルを参照することにより、前記アナログ回路に設定する前記トリミングデータの値を変更可能な、トリミング制御部とを備え、
    前記トリミングデータの値の変更状態を前記CPUからアクセス可能に構成され、または、前記トリミングデータの値の前記変更を前記CPUに通知可能に構成され、または、前記トリミングデータの値の変更に伴って前記CPUの動作状態を変更可能に構成される、半導体装置。
  2. 請求項1において、前記トリミング制御部は、前記変更状態を保持し、前記CPUからアクセス可能な、ステータスレジスタを備える、半導体装置。
  3. 請求項1において、前記トリミング制御部は、前記トリミングデータの値を変更するときに、前記CPUに対して割り込みを発行可能に構成される、半導体装置。
  4. 請求項1において、前記トリミング制御部は、前記トリミングデータの値を変更するときに、前記CPUの動作を停止させる制御を可能に構成される、半導体装置。
  5. 請求項1において、前記CPUは、前記トリミング制御部に対して、前記トリミングデータの値の変更を許可または禁止する制御を可能に構成される、半導体装置。
  6. 請求項1において、前記トリミング制御部は、比較データを保持可能な比較データレジスタと、前記比較データと前記環境パラメータの前記測定値とを比較し、前記比較結果に基づいて前記トリミングデータの値を選択する、トリミングデータ選択部とを備える、半導体装置。
  7. 請求項1において、前記トリミング制御部は、比較データを保持可能な比較データレジスタと、前記比較データと前記環境パラメータの前記測定値とを比較し、比較結果に基づいて前記トリミングデータの値を徐々に増加または減少させることによって変更する、トリミングデータ変更部とを備える、半導体装置。
  8. 請求項1において、前記環境パラメータは温度であり、前記センサは、前記アナログ回路の動作温度を測定可能であり、前記トリミングテーブルは、前記アナログ回路の特性を補償するためのトリミングデータの値を、複数の温度範囲ごとに格納し、前記トリミング制御部は、高温側温度閾値と低温側温度閾値を保持可能な比較データレジスタと、前記高温側温度閾値及び前記低温側温度閾値と前記測定値とを比較し、比較結果に基づいて前記トリミングデータの値を変更可能な、半導体装置。
  9. 請求項1において、前記環境パラメータは前記アナログ回路に供給される電源電圧であり、前記センサは、前記電源電圧を測定可能であり、前記トリミングテーブルは、前記アナログ回路の特性を補償するためのトリミングデータの値を、複数の電源電圧範囲ごとに格納し、前記トリミング制御部は、電圧閾値を保持可能な比較データレジスタと、前記電圧閾値と前記測定値とを比較し、前記比較結果に基づいて前記トリミングデータの値を変更可能な、半導体装置。
  10. 請求項1において、前記環境パラメータは時間であり、前記センサは、日時を計時する時計であり、前記トリミングテーブルは、前記アナログ回路の特性を補償するためのトリミングデータの値を、複数の経過時間範囲ごとに格納し、前記トリミング制御部は、経過時間閾値を保持可能な比較データレジスタと、前記経過時間閾値と前記時計によって計時される前記日時に基づいて算出された経過時間とを比較し、比較結果に基づいて前記トリミングデータの値を変更可能な、半導体装置。
  11. CPUと、前記CPUへクロックを供給し、設定されるトリミングデータと環境パラメータよって発振周波数の特性が変更されるクロック発生回路と、前記環境パラメータの値を測定するセンサと、前記環境パラメータの複数の範囲ごとに対応する前記トリミングデータの値を保持するトリミングテーブルを格納可能なメモリと、前記センサによる前記環境パラメータの測定値に基づいて、前記トリミングテーブルを参照することにより、前記クロック発生回路に設定する前記トリミングデータの値を変更可能な、トリミング制御部とを備える、半導体装置。
  12. 請求項11において、前記半導体装置は、前記クロック発生回路から前記CPUへのクロック供給を停止可能なクロックストップ制御回路を備え、前記トリミング制御部は、比較データを保持可能な比較データレジスタと、前記比較データと前記環境パラメータの前記測定値とを比較し、前記比較結果に基づいて前記トリミングデータの値を切替える、トリミングデータ切替部とを備え、前記トリミング制御部は、前記クロックストップ制御回路により前記CPUへのクロック供給を停止した後に、前記トリミングデータの値を切替える、制御動作を可能に構成される、半導体装置。
  13. 請求項12において、前記CPUへのクロック供給を停止した後、所定のクロックパルス数をカウントした後に、前記クロックストップ制御回路に対して前記CPUへのクロック供給を再開させる制御が可能な、カウンタをさらに備える、半導体装置。
  14. 請求項11において、前記トリミング制御部は、比較データを保持可能な比較データレジスタと、前記比較データと前記環境パラメータの前記測定値とを比較し、比較結果に基づいて前記トリミングデータの値を徐々に増加または減少させることによって変更する、トリミングデータ変更部とを備える、半導体装置。
  15. 請求項11において、前記CPUは、前記トリミング制御部に対して、前記トリミングデータの値の変更を許可または禁止する制御を可能に構成される、半導体装置。
  16. 請求項11において、前記環境パラメータは温度であり、前記センサは、前記クロック発生回路の動作温度を測定可能であり、前記トリミングテーブルは、前記クロック発生回路の特性を補償するためのトリミングデータの値を、複数の温度範囲ごとに格納し、前記トリミング制御部は、高温側温度閾値と低温側温度閾値を保持可能な比較データレジスタと、前記高温側温度閾値及び前記低温側温度閾値と前記測定値とを比較し、前記比較結果に基づいて前記トリミングデータの値を変更可能な、半導体装置。
  17. 請求項11において、前記環境パラメータは前記クロック発生回路に供給される電源電圧であり、前記センサは、前記電源電圧を測定可能であり、前記トリミングテーブルは、前記クロック発生回路の特性を補償するためのトリミングデータの値を、複数の電源電圧範囲ごとに格納し、前記トリミング制御部は、電圧閾値を保持可能な比較データレジスタと、前記電圧閾値と前記測定値とを比較し、比較結果に基づいて前記トリミングデータの値を変更可能な、半導体装置。
  18. 請求項11において、前記環境パラメータは時間であり、前記センサは、日時を計時する時計であり、前記トリミングテーブルは、前記クロック発生回路の特性を補償するためのトリミングデータの値を、複数の経過時間範囲ごとに格納し、前記トリミング制御部は、経過時間閾値を保持可能な比較データレジスタと、前記経過時間閾値と前記時計によって計時される前記日時に基づいて算出された経過時間とを比較し、比較結果に基づいて前記トリミングデータの値を変更可能な、半導体装置。
  19. 請求項11において、前記環境パラメータは温度と前記クロック発生回路に供給される電源電圧と時間であり、
    前記半導体装置は、前記センサとして、前記クロック発生回路の動作温度を測定可能な温度センサと、前記クロック発生回路に供給される電源電圧を測定可能な電圧測定回路と、日時を計時する時計とを備え、
    前記トリミングテーブルは、前記クロック発生回路の特性を補償するためのトリミングデータの値を、複数の温度範囲及び複数の電源電圧範囲及び複数の経過時間範囲の組合せごとに格納し、
    前記トリミング制御部は、前記温度センサによって測定された前記クロック発生回路の動作温度と、前記電圧測定回路によって測定された前記クロック発生回路の電源電圧と、前記時計によって計時される前記日時に基づいて算出された経過時間とに基づいて、前記トリミングテーブルを参照することにより、前記クロック発生回路に設定する前記トリミングデータの値を変更可能に構成される、半導体装置。
  20. 請求項1において、単一半導体基板上に形成された、半導体装置。
JP2013006197A 2013-01-17 2013-01-17 半導体装置 Pending JP2014138094A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013006197A JP2014138094A (ja) 2013-01-17 2013-01-17 半導体装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013006197A JP2014138094A (ja) 2013-01-17 2013-01-17 半導体装置

Publications (1)

Publication Number Publication Date
JP2014138094A true JP2014138094A (ja) 2014-07-28

Family

ID=51415438

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013006197A Pending JP2014138094A (ja) 2013-01-17 2013-01-17 半導体装置

Country Status (1)

Country Link
JP (1) JP2014138094A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017084256A (ja) * 2015-10-30 2017-05-18 国立大学法人東北大学 センサシステム
JP2023000984A (ja) * 2021-06-17 2023-01-04 モーターコム・エレクトロニック・テクノロジー・カンパニー・リミテッド チップ内部抵抗の補正回路

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017084256A (ja) * 2015-10-30 2017-05-18 国立大学法人東北大学 センサシステム
JP2023000984A (ja) * 2021-06-17 2023-01-04 モーターコム・エレクトロニック・テクノロジー・カンパニー・リミテッド チップ内部抵抗の補正回路
JP7251831B2 (ja) 2021-06-17 2023-04-04 モーターコム・エレクトロニック・テクノロジー・カンパニー・リミテッド チップ内部抵抗の補正回路

Similar Documents

Publication Publication Date Title
CN108475101B (zh) 数字欠压检测和控制的方法和装置
US9467090B2 (en) Semiconductor device
JP5132337B2 (ja) オン・チップ適応型電圧補償
US9134782B2 (en) Maintaining optimum voltage supply to match performance of an integrated circuit
JP5147435B2 (ja) デジタル適応型電圧源
JP6637374B2 (ja) 半導体装置及び温度センサ
US20120218034A1 (en) Voltage calibration method and apparatus
US11513010B2 (en) Temperature monitoring
KR20180034528A (ko) 온칩 파라미터 측정
JP2009021707A (ja) 発振装置、その調整方法及びメモリ装置
US7646661B2 (en) Self-refresh control circuit for detecting current flowing from current generator and semiconductor device including same
JP4071604B2 (ja) クロック生成回路を備えた情報処理装置およびクロック遅延回路を備えた情報処理装置
JP2014138094A (ja) 半導体装置
TWI638517B (zh) 用於產生時脈之電子電路及其方法
US8639952B1 (en) Field-programmable gate array having voltage identification capability
JP4641045B2 (ja) 半導体集積回路及びマイクロコンピュータ
JP6623696B2 (ja) 電源装置及び半導体装置
US20210058080A1 (en) Semiconductor device and method for controlling amplitude of signal in the semiconductor device
US9395747B1 (en) Method for calibrating a clock signal generator in a reduced power state
US20220316957A1 (en) Temperature sensing device and system on chip
JP2020052061A (ja) 温度測定方法
JP2013098614A (ja) 半導体装置
Becker et al. On-chip temperature compensation of driver voltage for LC-displays
JP2015158505A (ja) 半導体装置