(57)【要約】【課題】従来の半導体装置では、高精度な温度特性を有する定電流を生成することが出来ない問題があった。【解決手段】定電流生成回路は、第１の変動電圧Ｖｆの温度に対する曲率を補正し、かつ、出力電流Ｉｏｕｔの電流値を設定する電流設定抵抗の温度特性に応じた温度に対する変動率を有する第２の変動電圧Ｖｒｅｆｃを第１の変動電圧Ｖｆに基づき生成する参照電圧生成部１２と、第２の変動電圧Ｖｒｅｆｃと電流設定抵抗Ｒｉとに基づき出力電流を生成する電流生成部１３と、を有するものである。【選択図】図１
2014119822.tif 000002
【特許請求の範囲】
【請求項１】
ダイオードを含み、前記ダイオードの順方向電圧を第１の変動電圧として出力する温度変動電圧生成部と、
前記第１の変動電圧に基づき第２の変動電圧を生成する参照電圧生成部と、
温度に対して抵抗値が変動する電流設定抵抗を含み前記第２の変動電圧と、前記電流設定抵抗とに基づき出力電流を生成する電流生成部と、を有し、
前記参照電圧生成部は、
前記ダイオードに流れる電流の大きさを決定する曲率設定値に応じて前記ダイオードの単位面積当たりに流れる電流の大きさを切り替える曲率補正部と、
前記第１の変動電圧の変動成分のうち温度に対する傾き成分を調整して、前記電流設定抵抗の抵抗値の温度に対する変動率との差が予め設定された規定範囲内になる電圧値の温度に対する変動率を有する前記第２の変動電圧を出力する傾き調整部と、
を有する定電流生成回路。
【請求項２】
前記曲率補正部は、前記第１の変動電圧の変動成分のうち温度に対する曲率成分を補正する請求項１に記載の定電流生成回路。
【請求項３】
前記参照電圧生成部は、
一方の端子が第２の電源に接続される出力トランジスタと、
前記出力トランジスタの他端と前記ダイオードのアノードとの間に直列に接続される第１の抵抗及び第２の抵抗と、
前記第１の抵抗と前記第２の抵抗とを接続するノードに生成される帰還電圧と、温度に対する電圧値の変動率が前記第１の変動電圧よりも小さい基準電圧と、の差に基づき前記出力トランジスタの制御端子に制御信号を与える第１の誤差増幅器と、を有し、
前記曲率補正部は、前記第２の抵抗に流れる電流を前記曲率設定値に応じて制御する請求項２に記載の定電流生成回路。
【請求項４】
前記第２の抵抗は、直列に接続される複数の曲率調整抵抗を含み、
前記曲率補正部は、
それぞれが前記複数の曲率調整抵抗のいずれか１つと並列に接続される複数のスイッチと、
前記曲率設定値に応じて前記複数のスイッチの開閉状態を制御するデコーダを有する請求項３に記載の定電流生成回路。
【請求項５】
前記ダイオードは、複数のダイオードを含み、
前記曲率補正部は、
一端が前記複数のダイオードのいずれか１つと直列に接続され、かつ、他端が前記第２の抵抗と接続される複数のスイッチと、
前記曲率設定値に応じて前記複数のスイッチの開閉状態を制御するデコーダを有する請求項３に記載の定電流生成回路。
【請求項６】
前記曲率補正部は、前記曲率設定値を記憶する記憶部を有し、
前記曲率設定値は、検査工程において測定された値に基づき決定され、前記記憶部に書き込まれる請求項３に記載の定電流生成回路。
【請求項７】
前記第１の抵抗は、直列に接続され複数の傾き調整抵抗を含み、前記複数の傾き調整抵抗の接続点に複数の傾き調整電圧を生成し、
前記傾き調整部は、
前記傾き設定値に基づき前記複数の傾き調整電圧から選択した一の電圧を前記第２の変動電圧とする請求項３に記載の定電流生成回路。
【請求項８】
前記傾き調整電圧の温度に対する電圧値の変動率の傾きは、前記電流設定抵抗の温度に対する変動傾きとは同じ方向である請求項７に記載の定電流生成回路。
【請求項９】
前記傾き調整部は、前記傾き設定値を記憶する記憶部を有し、
前記傾き設定値は、検査工程において測定された値に基づき決定され、前記記憶部に書き込まれる請求項８に記載の定電流生成回路。
【請求項１０】
前記参照電圧生成部は、
前記第１の誤差増幅器、前記出力トランジスタ、前記第１の抵抗及び第２の抵抗により構成され、前記第１の抵抗と前記第２の抵抗との比に基づき増幅率が設定される増幅器を有する請求項３に記載の定電流生成回路。
【請求項１１】
バンドギャップ電圧に基づき前記基準電圧を生成する基準電圧生成部を有する請求項３に記載の定電流生成回路。
【請求項１２】
前記電流生成部は、
ドレインが前記電流設定抵抗を介して第１の電源に接続され、第２の電源にソースが接続される第１のトランジスタと、
前記第１のトランジスタと前記電流設定抵抗との間のノードに生成される電流設定電圧と前記第２の変動電圧との電圧差に基づき誤差電圧を前記第１のトランジスタのゲートに与える第２の誤差増幅器と、
前記第１のトランジスタとカレントミラー接続される第２のトランジスタと、を有し、
前記第１のトランジスタは、前記誤差電圧に基づき前記電流設定抵抗の両端に生成される電圧が前記第２の変動電圧となるように前記電流設定抵抗に電流を出力し、
前記第２のトランジスタは、前記第１のトランジスタが前記電流設定抵抗に流す電流に比例した電流を前記出力電流として出力する請求項１に記載の定電流生成回路。
【請求項１３】
プログラム及び設定値が格納されるメモリと、
前記メモリに格納された前記プログラムに基づき演算処理を行う演算コアと、
定電流生成回路と、を有し、
前記定電流生成回路は、
ダイオードを含み、前記ダイオードの順方向電圧を第１の変動電圧として出力する温度変動電圧生成部と、
前記第１の変動電圧に基づき第２の変動電圧を生成する参照電圧生成部と、
温度に対して抵抗値が変動する電流設定抵抗を含み前記第２の変動電圧と、前記電流設定抵抗とに基づき出力電流を生成する電流生成部と、を有し、
前記参照電圧生成部は、
前記ダイオードに流れる電流の大きさを決定する曲率設定値に応じて前記ダイオードの単位面積当たりに流れる電流の大きさを切り替える曲率補正部と、
前記第１の変動電圧の変動成分のうち温度に対する傾き成分を調整して、前記電流設定抵抗の抵抗値の温度に対する変動率との差が予め設定された規定範囲内になる電圧値の温度に対する変動率を有する前記第２の変動電圧を出力する傾き調整部と、を有するマイクロプロセッサ。
【請求項１４】
前記曲率補正部は、前記第１の変動電圧の変動成分のうち温度に対する曲率成分を補正する請求項１３に記載のマイクロプロセッサ。
【請求項１５】
前記参照電圧生成部は、
一方の端子が第２の電源に接続される出力トランジスタと、
前記出力トランジスタの他端と前記ダイオードのアノードとの間に直列に接続される第１の抵抗及び第２の抵抗と、
前記第１の抵抗と前記第２の抵抗とを接続するノードに生成される帰還電圧と、温度に対する電圧値の変動率が前記第１の変動電圧よりも小さい基準電圧と、の差に基づき前記出力トランジスタの制御端子に制御信号を与える第１の誤差増幅器と、を有し、
前記曲率補正部は、前記第２の抵抗に流れる電流を前記曲率設定値に応じて制御する請求項１４に記載のマイクロプロセッサ。
【請求項１６】
前記定電流生成回路により生成された前記出力電流に基づき出力信号の発振周波数が決定される発振回路を有する請求項１３に記載のマイクロプロセッサ。
【請求項１７】
前記傾き調整部は、前記第２の変動電圧の傾きを設定する傾き設定値を記憶する第１の記憶部を有し、
前記曲率補正部は、前記第１の変動電圧の変動成分のうち温度に対する曲率成分の補正量を設定する曲率設定値を記憶する第２の記憶部を有し、
前記定電流生成回路は、
予め設定された初期傾き設定値及び初期曲率設定値に基づき前記出力電流を生成し、
前記発振回路は、前記初期傾き設定値及び前記初期曲率設定値に基づき生成された前記出力電流に基づき前記出力信号を生成し、
前記演算コアは、前記発振回路が出力した前記出力信号に基づき動作し、前記メモリから前記傾き設定値及び前記曲率設定値を読み出して前記第１の記憶部及び前記第２の記憶部に書き込み、
前記第１の記憶部及び前記第２の記憶部に前記傾き設定値及び前記曲率設定値が設定された後は、前記定電流生成回路は、設定された前記傾き設定値及び前記曲率設定値に基づき前記出力電流を生成する請求項１６に記載のマイクロプロセッサ。
【請求項１８】
前記定電流生成回路により生成された前記出力電流に基づき遅延時間が設定される遅延回路を有する請求項１３に記載のマイクロプロセッサ。
【請求項１９】
前記定電流生成回路により生成された前記出力電流に基づき負荷駆動電流の電流値が決定される出力回路を有する請求項１３に記載のマイクロプロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は定電流生成回路及びこれを含むマイクロプロセッサに関し、特に温度変動に対して安定した電流値の電流を出力する定電流生成回路及びこれを含むマイクロプロセッサに関する。
【背景技術】
【０００２】
半導体装置では、半導体基板上にトランジスタ、抵抗、コンデンサ等の素子を形成する。そして、各素子は、基板温度に依存して特性が変化する温度特性を有する。そして、各素子の温度特性に応じて回路の特性が変化することがある。例えば、抵抗の抵抗値とコンデンサの容量値とにより決まる時定数を利用して出力信号の発振周波数を決定する発振回路では、抵抗の温度特性に応じて発振周波数が変動する。このような発振回路において、発振周波数の変動を抑制するためには、温度特性による抵抗値の変動を抑制する等の対策を行う必要がある。
【０００３】
そこで、抵抗の温度特性による発振周波数を抑制する技術が特許文献１に開示されている。特許文献１に記載の発振回路では、異なる温度特性を有する２つの抵抗を用い、当該２つの抵抗の抵抗値の差分に応じて発振周波数を決定する。このとき、特許文献１に記載の発振回路では、第１の抵抗値の温度変動が第２の抵抗値の温度変動によって相殺されるように２つの抵抗の抵抗値を設定することで、温度による発振周波数変動を低減する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２００６−５１０３０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の技術では、温度に対して異なる変化率の２つの抵抗により互いの抵抗値の温度変動を相殺するが、異なる温度変化率を示す抵抗は異なる部材から形成されるため、異なる製造ばらつきを示す。そのため、このように異なる製造ばらつきが発生した場合、抵抗値の誤差、あるいは電圧値の誤差がいずれの抵抗の製造ばらつきに起因して生じているかを検査することが難しく、トリミング等の補正手段により抵抗値を補正することができない。つまり、特許文献１に記載の技術では、抵抗値の温度変動を十分に抑制できない問題がある。
【０００６】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００７】
一実施の形態によれば、定電流生成回路は、第１の変動電圧の温度に対する曲率を補正し、かつ、出力電流の電流値を設定する電流設定抵抗の温度特性に応じた温度に対する変動率を有する第２の変動電圧を第１の変動電圧に基づき生成する参照電圧生成部と、第２の変動電圧と電流設定抵抗とに基づき出力電流を生成する電流生成部と、を有するものである。
【０００８】
なお、上記実施の形態の装置を方法やシステムに置き換えて表現したものなども本発明の態様としては有効である。
【発明の効果】
【０００９】
本発明にかかる定電流生成回路及びこれを含むマイクロプロセッサによれば、調整処理により的確に出力電流の温度変動を改善することができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１にかかる定電流生成回路のブロック図である。
【図２】実施の形態１にかかる温度変動電圧生成部の順方向電圧の温度変動の第２の抵抗の抵抗値依存性を示すグラフである。
【図３】実施の形態１にかかる温度変動電圧生成部の順方向電圧の曲率の第２の抵抗の抵抗値依存性を示すグラフである。
【図４】実施の形態１にかかる定電流生成回路の傾き調整部の出力タップの違いによる第２の変動電圧の温度変動の違いを示すグラフである。
【図５】実施の形態１にかかる定電流生成回路の電流生成部の電流設定抵抗の温度変動を示すグラフである。
【図６】実施の形態１にかかる定電流生成回路の傾き調整部における第２の変動電圧の電圧取り出し点の違いによる出力電流の温度変動の違いを示すグラフである。
【図７】実施の形態１にかかる定電流生成回路が形成される半導体チップの封止材の有無による出力電流の温度変動の違いを示すグラフである。
【図８】実施の形態１にかかる定電流生成回路における設定値の設定手順を示すフローチャートである。
【図９】実施の形態１にかかる定電流生成回路における曲率設定値の設定手順を示すフローチャートである。
【図１０】実施の形態１にかかる定電流生成回路における傾き設定値の設定手順を示すフローチャートである。
【図１１】実施の形態２にかかる定電流生成回路のブロック図である。
【図１２】実施の形態３にかかるマイクロプロセッサのブロック図である。
【図１３】実施の形態３にかかる発振回路の一例を示すブロック図である。
【図１４】図１３で示した発振回路の動作を示すタイミングチャートである。
【図１５】実施の形態３にかかる発振回路の別の例を示すブロック図である。
【図１６】図１５で示した発振回路の制御回路の動作を示すタイミングチャートである。
【図１７】図１５で示した発振回路の動作を示すタイミングチャートである。
【図１８】実施の形態３にかかるマイクロプロセッサの起動手順を示すフローチャートである。
【図１９】実施の形態４にかかる遅延回路の回路図である。
【図２０】実施の形態４にかかる遅延回路の動作を示すタイミングチャートである。
【図２１】実施の形態５にかかる出力回路の回路図である。
【発明を実施するための形態】
【００１１】
説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、ＣＰＵ、メモリ、その他の回路で構成することができる。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【００１２】
実施の形態１
以下、図面を参照して本発明の実施の形態について説明する。実施の形態１にかかる定電流生成回路１のブロック図を図１に示す。図１に示すように、定電流生成回路１は、温度変動電圧生成部１０、基準電圧生成部（例えば、定電圧生成部１１）、参照電圧生成部１２、電流生成部１３を有する。
【００１３】
温度変動電圧生成部１０は、温度に対して電圧値が変動する第１の変動電圧を生成する。本実施の形態では、温度変動電圧生成部１０は、ダイオードＤｉを有し、ダイオードＤｉの順方向電圧Ｖｆを第１の変動電圧として出力する（以下では、第１の変動電圧Ｖｆと称す）。このダイオードは、カソードが第１の電源端子（例えば、接地端子）に接続され、アノードに第１の変動電圧Ｖｆを生成する。ダイオードＤｉが生成する第１の変動電圧Ｖｆは、ダイオードの順方向電圧であり、−２ｍＶ／℃程度（温度に対して負の温度特性）の変動率を有する。なお、温度変動電圧生成部１０は、正の温度特性を有する第１の変動電圧を生成しても良く、また、第１の変動電圧の温度に対する変動率は利用する素子、あるいは、回路の特性に応じて設定することができる。
【００１４】
また、ダイオードＤｉは、標準的なＣＭＯＳプロセスのＰＭＯＳトランジスタの構造を利用した寄生ＰＮＰバイポーラトランジスタのエミッタベース間ＰＮ接合ダイオードを用いることができる。ダイオードＤｉとしてエミッタベース間ＰＮ接合ダイオードを]用いることで、製造工程において工程を追加することなくダイオードＤｉをチップ内に形成することができる。
【００１５】
定電圧生成部１１は、温度に対して第１の変動電圧Ｖｆよりも変動量が小さな基準電圧Ｖｃｏｎｓｔを生成する。本実施の形態では、定電圧生成部１１として、バンドギャップ電圧に基づき基準電圧Ｖｃｏｎｓｔを生成するバンドギャップ電圧源を用いる。この基準電圧Ｖｃｏｎｓｔは、温度に対する変動が第１の変動電圧Ｖｆよりも遙かに小さく、温度に対してほぼ一定の電圧を有する。なお、基準電圧Ｖｃｏｎｓｔは、バンドギャップ電圧源以外の回路（例えば、抵抗分圧回路等）により生成しても良い。
【００１６】
参照電圧生成部１２は、第１の変動電圧Ｖｆに基づき第２の変動電圧Ｖｒｅｆｃを生成する。より具体的には、参照電圧生成部１２は、基準電圧Ｖｃｏｎｓｔと、第１の変動電圧Ｖｆに基づき第２の変動電圧Ｖｒｅｆｃを生成する。このとき、参照電圧生成部１２は、第１の変動電圧の変動成分のうち温度に対する曲率成分を補正し、さらに、第２の変動電圧Ｖｒｅｆｃの温度に対する変動率と、後述する電流設定抵抗Ｒｉの温度に対する抵抗値の変動率と、の差を予め設定された第１の規定範囲内に設定する。
【００１７】
参照電圧生成部１２は、第１の誤差増幅器（例えば、誤差増幅器２１）、出力トランジスタＰ１、第１の抵抗Ｒ１、第２の抵抗Ｒ２、傾き調整部２２、曲率補正部２５を有する。そして、参照電圧生成部１２は、これら構成要素を用いて、第１の抵抗と第２の抵抗との比に基づき増幅率が設定される増幅器を有する。本実施の形態では、この増幅器は、反転増幅器である。
【００１８】
出力トランジスタＰ１は、一方の端子（例えば、ソース）が第２の電源に接続される。第１の抵抗Ｒ１及び第２の抵抗Ｒ２は、出力トランジスタＰ１の他方の端子（例えば、ドレイン）とダイオードＤｉのアノードとの間に直列に接続される。誤差増幅器２１は、第１の抵抗Ｒ１と第２の抵抗Ｒ２とを接続するノードに生成される帰還電圧と、基準電圧Ｖｃｏｎｔと、の差に基づき出力トランジスタＰ１の制御端子（例えば、ゲート）に制御信号を与える。本実施の形態では、誤差増幅器２１は、帰還電圧が非反転入力端子に入力され、基準電圧Ｖｃｏｎｓｔが反転入力端子に入力される。つまり、誤差増幅器２１、出力トランジスタＰ１、第１の抵抗Ｒ１及び第２の抵抗Ｒ２は、基準電圧Ｖｃｏｎｓｔをバイアス電圧とし、第１の変動電圧Ｖｆを入力電圧として動作する反転増幅器を構成する。
【００１９】
そして、参照電圧生成部１２では、反転増幅器の出力信号として、第１の抵抗Ｒ１を構成する複数の傾き調整抵抗Ｒ１１〜Ｒ１ｍ（ｍは、整数）の接続点に生成される複数の傾き調整電圧（例えば、傾き調整電圧Ｖ１１〜Ｖ１ｍ及びＶ０）から選択した電圧を出力する。複数の傾き調整電圧Ｖ１１〜Ｖ１ｍの温度に対する抵抗値の変動傾きは、電流設定抵抗Ｒｉの温度に対する抵抗値の変動傾きと同一である。第１の変動電圧Ｖｆの温度に対する変動傾きと、電流設定抵抗Ｒｉの抵抗値の変動傾きが同一の変動方向であった場合、複数の傾き調整電圧Ｖ１１〜Ｖ１ｍの温度に対する変動傾きは、第１の変動電圧Ｖｆの変動傾きと同一の傾き方向となる。一方、第１の変動電圧Ｖｆの温度に対する変動傾きと、電流設定抵抗Ｒｉの抵抗値の変動傾きが逆の変動方向であった場合、複数の傾き調整電圧Ｖ１１〜Ｖ１ｍの温度に対する変動傾きは、第１の変動電圧Ｖｆの変動傾きと逆の傾き方向となる。つまり、複数の傾き調整電圧Ｖ１１〜Ｖ１ｍの温度に対する変動率の傾き方向は、電流設定抵抗Ｒｉの傾き方向に応じて決定される。なお、傾き調整電圧Ｖ０は、基準電圧Ｖｃｏｎｓｔと実施的に同じ電圧値であって、温度に対する変動が極めて小さい。
【００２０】
傾き調整部２２は、第１の変動電圧Ｖｆの変動成分のうち温度に対する傾き成分を調整して、電流設定抵抗Ｒｉの抵抗値の温度に対する変動率との差が予め設定された規定範囲内になる電圧値の温度に対する変動率を有する第２の変動電圧Ｖｒｅｆｃを出力する。より具体的には、傾き調整部２２は、第１の抵抗に生成される複数の傾き調整電圧Ｖ１１〜Ｖ１ｍ及びＶ０から選択した電圧を第２の変動電圧Ｖｒｅｆｃとして出力する。
【００２１】
傾き調整部２２は、第１のデコーダ２３、第１の記憶部（例えば、メモリ２４）、スイッチＳＷ１１〜ＳＷ１ｍ、ＳＷ０を有する。メモリ２４は、傾き設定値を記憶する記憶部である。メモリ２４は、フラッシュメモリ等の不揮発性メモリでも良く、物理的な素子の破壊等により値を保持するヒューズ回路でも良く、ＤＲＡＭ等の揮発性メモリでも良い。この傾き設定値は、検査工程において測定された値に基づき決定され、メモリ２４に書き込まれる。また、メモリ２４は、後述するメモリ２７と別のブロックとして図１に示したが、メモリ２４とメモリ２７は、同一のメモリ中の別の領域として実装されていても良い。
【００２２】
スイッチＳＷ１１〜ＳＷ１ｍの一端は、傾き調整電圧Ｖ１１〜Ｖ１ｍが生成される出力タップ（傾き設定抵抗Ｒ１１〜Ｒ１ｍを接続する接続点）にそれぞれ接続される。スイッチＳＷ０の一端は傾き調整電圧Ｖ０が生成される出力タップに接続される。
【００２３】
第１のデコーダ２３は、メモリ２４から読み出した傾き設定値に基づきスイッチＳＷ１１〜ＳＷ１ｍ、ＳＷ０のいずれか１つを選択して、選択したスイッチを閉状態とする。つまり、傾き制御部２２は、第１の抵抗Ｒ１を構成する複数の抵抗の接続点に設けられた複数の出力タップに生成される複数の傾き調整電圧の１つを選択して第２の変動電圧Ｖｒｅｆｃとして出力する。なお、傾き設定値は、第２の変動電圧の傾きを設定する。
【００２４】
曲率補正部２５は、ダイオードＤｉに流れる電流の大きさを決定する曲率設定値に応じてダイオードＤｉの単位面積当たりに流れる電流の大きさを切り替える。そして、曲率補正部２５は、第１の変動電圧Ｖｆの変動成分のうち温度に対する曲率成分を補正する。より具体的には、曲率補正部２５は、第２の抵抗Ｒ２に流れる電流を曲率設定値に応じて制御する。曲率補正部２５は、デコーダ（例えば、第２のデコーダ２６）、第２の記憶部（例えば、メモリ２７）、複数のスイッチを有することにより上記機能を実現する。なお、曲率設定値は、曲率成分の補正量を設定する値である。
【００２５】
実施の形態１では、第２の抵抗Ｒ２を直列に接続される複数の曲率調整抵抗Ｒ２１〜Ｒ２ｎ（ｎは整数）により構成する。そのため、実施の形態１では、複数のスイッチをそれぞれが前記複数の曲率調整抵抗Ｒ２１〜Ｒ２ｎのいずれか１つと並列に接続する。複数のスイッチは、ＮＭＯＳトランジスタＭＮ１１〜ＭＮ１ｎにより構成する。
【００２６】
第２のデコーダ２６は、曲率設定値に応じて複数のスイッチの開閉状態を制御する。より具体的には、第２のデコーダ２６は、曲率設定値に応じてＮＭＯＳトランジスタＭＮ１１〜ＭＮ１ｎのうちいずれのトランジスタを導通した状態とするか、及び、導通した状態とするＮＭＯＳトランジスタＭＮ１１〜ＭＮ１ｎの個数を制御する。
【００２７】
メモリ２７は、曲率設定値を記憶する記憶部である。メモリ２７は、フラッシュメモリ等の不揮発性メモリでも良く、物理的な素子の破壊等により値を保持するヒューズ回路でも良く、ＤＲＡＭ等の揮発性メモリでも良い。この曲率設定値は、検査工程において測定された値に基づき決定され、メモリ２７に書き込まれるものである。また、メモリ２７は、メモリ２４を含む１つ記憶部として実装されるものでも良い。この場合、メモリ２７は、当該記憶部の一部として定義される。
【００２８】
電流生成部１３は、温度に対して抵抗値が変動する電流設定抵抗Ｒｉを含み第２の変動電圧Ｖｒｅｆｃと、電流設定抵抗Ｒｉとに基づき出力電流Ｉｏｕｔを生成する。電流生成部１３は、第２の誤差増幅器（例えば、誤差増幅器２５）、第１のトランジスタ（例えば、ＰＭＯＳトランジスタＰ２）、第２のトランジスタ（例えば、ＰＭＯＳトランジスタＰ３）、電流設定抵抗Ｒｉを有する。
【００２９】
電流設定抵抗Ｒｉは、例えば、抵抗値が温度に対して正の温度特性を有する。ＰＭＯＳトランジスタＰ２は、ドレインが電流設定抵抗Ｒｉを介して第１の電源（例えば、接地電圧ＶＳＳを供給する電源）に接続され、第２の電源（例えば、電源電圧ＶＤＤを供給する電源）にソースが接続される。誤差増幅器２５は、ＰＭＯＳトランジスタＰ２と電流設定抵抗Ｒｉとの間のノードに生成される電流設定電圧と第２の変動電圧Ｖｒｅｆｃとの電圧差に基づき誤差電圧をＰＭＯＳトランジスタＰ２のゲートに与える。そして、ＰＭＯＳトランジスタＰ２は、誤差電圧に基づき電流設定抵抗Ｒｉの両端に生成される電圧が第２の変動電圧Ｖｒｅｆｃとなるように電流設定抵抗に電流を出力する。ここで、電流生成部１３においては、ＰＭＯＳトランジスタＰ２のドレインと電流設定抵抗Ｒｉとの間のノードに生成される電流設定電圧は、誤差増幅器２５の仮想短絡により第２の変動電圧Ｖｒｅｆｃと同じ電圧値となるものである。
【００３０】
ＰＭＯＳトランジスタＰ３は、ＰＭＯＳトランジスタＰ２とカレントミラー接続される。また、ＰＭＯＳトランジスタＰ３は、ＰＭＯＳトランジスタＰ２が電流設定抵抗Ｒｉに流す電流に比例した電流を出力電流として出力する。ＰＭＯＳトランジスタＰ２に流れる電流と、ＰＭＯＳトランジスタＰ３に流れる電流と、の比は、２つのトランジスタのトランジスタサイズ比によって決まる。例えば、トランジスタサイズ比が１：１である場合、ＰＭＯＳトランジスタＰ２に流れる電流とＰＭＯＳトランジスタＰ３に流れる電流とは同じになり、トランジスタサイズ比が１：２である場合、ＰＭＯＳトランジスタＰ３に流れる電流とＰＭＯＳトランジスタＰ２に流れる電流の２倍になる。なお、トランジスタサイズ比は、ＰＭＯＳトランジスタＰ２、Ｐ３のゲート長が同じであれば、ゲート幅の比で決まる。また、ＰＭＯＳトランジスタＰ２、Ｐ３に代えて、ＰＮＰトランジスタを用いた場合、ＰＮＰトランジスタのエミッタの面積比によりトランジスタサイズが決まる。
【００３１】
続いて、実施の形態１にかかる定電流生成回路１の動作について説明する。まず、第１の変動電圧Ｖｆを生成する温度変動電圧生成部１０（例えば、ダイオードＤｉ）の特性について説明する。そこで、図２に実施の形態１にかかる温度変動電圧生成部１０の順方向電圧（例えば、第１の温度変動電圧Ｖｆ）の温度変動の第２の抵抗Ｒ２の抵抗値依存性を示すグラフを示す。
【００３２】
図２に示すグラフは、第２の抵抗Ｒ２と第１の抵抗Ｒ１とが接続される接続点の電圧を設定する基準電圧Ｖｃｏｎｓｔを一定とし、かつ、第２の抵抗Ｒ２の抵抗値を変動させたものである。この第２の抵抗Ｒ２の設定幅、通常使用される設定幅よりも極端に大きくしている。参照電圧生成部１２では、第２の抵抗Ｒ２の抵抗値を変更することで、ダイオードＤｉに流れる電流を切り替えて、第１の変動電圧Ｖｆの曲率を補正するが、当該曲率の変化をよりわかりやすくするためである。
【００３３】
図２に示すように、ダイオードＤｉの順方向電圧（第１の変動電圧Ｖｆ）は、温度の上昇に応じて低下する。また、第１の変動電圧Ｖｆは、第２の抵抗Ｒ２が大きくなるほど、つまり、ダイオードＤｉに流れる電流が小さくなるほど大きくなる。さらに、第１の変動電圧Ｖｆは、ダイオードＤｉに流れる電流が大きくなるほど曲率が大きくなる特性を有する。この曲率の変化を示すグラフを図３に示す。
【００３４】
図３は、半導体基板の温度Ｔｊを５５℃で一定とし、ダイオードＤｉに流れる電流を変化させたとき（つまり、第２の抵抗Ｒ２の抵抗値を変化させたとき）の第１の変動電圧Ｖｆの曲率をグラフ化したものである。図３に示すように、第１の変動電圧の曲率は、ダイオードＤｉに流れる電流が小さくなるほど小さくなるという特徴を有する。つまり、ダイオードＤｉは、ダイオードＤｉの単位面積当たりに流れる電流が増減することにより曲率の異なる第１の変動電圧Ｖｆを生成する。実施の形態１にかかる定電流生成回路１では、曲率補正部２５によりダイオードＤｉに流れる電流を調整することで、第１の変動電圧Ｖｆの温度に対するこの曲率を補正する。
【００３５】
続いて、定電流生成回路１の傾き調整部２２が選択する電圧の違いによる第２の変動電圧Ｖｒｅｆｃの温度変動の違い示すグラフを図４に示す。図４に示す例では、第１の抵抗Ｒ１を構成する傾き調整抵抗の抵抗値を同じ抵抗値に設定した。図４に示すように、傾き調整電圧Ｖ１１〜Ｖ１ｍ、Ｖ０は、出力タップが設けられているノードの上側の抵抗と下側の抵抗との比により温度変動に対する傾きが異なる。一方、第１の抵抗Ｒ１において生成される傾き調整電圧Ｖ１１〜Ｖ１ｍは、温度特性の傾きは全て正の傾き（温度の上昇に応じて電圧値が大きくなる傾き）となる。
【００３６】
続いて、実施の形態１にかかる定電流生成回路１の電流生成部１３の電流設定抵抗Ｒｉの温度変動を示すグラフを図５に示す。図５に示すように、電流設定抵抗Ｒｉは、温度が上昇すると抵抗値が増加する正の温度特性を有する。
【００３７】
実施の形態１にかかる定電流生成回路１は、傾き調整部２２において、図４に示す電圧のいずれか１つを選択して第２の変動電圧Ｖｒｅｆｃとして出力する。この第２の変動電圧Ｖｒｅｆｃは、第１の変動電圧Ｖｆの温度変動に対する変化率を調整した電圧として考えることができる。実施の形態１にかかる定電流生成回路１では、メモリ２４に格納された傾き設定値に基づき第２の変動電圧Ｖｒｅｆｃとして出力する出力タップの電圧を選択する。そして、定電流生成回路１は、傾き設定値により、第２の変動電圧Ｖｒｅｆｃとして、電流設定抵抗Ｒｉと同じ温度変動に対する変動率の電圧を選択する。このようにすることで、出力電流Ｉｏｕｔの電流値は、温度変動によらず一定になる。
【００３８】
ここで、出力電流Ｉｏｕｔが一定となる原理について式を用いて説明する。まず、ＰＭＯＳトランジスタＰ２、Ｐ３のトランジスタサイズ比が１：１である場合の出力電流Ｉｏｕｔは、（１）式で表すことができる。なお、（１）式では、出力電流の電流値をＩｏｕｔで表し、第２の変動電圧の電圧値をＶｒｅｆｃで表し、電流設定抵抗の抵抗値をＲｉで表し、第２の変動電圧の温度変動に対する変化率をｘで表し、電流設定抵抗の温度変動に対する変動率をｙで表した。
Ｉｏｕｔ＝（Ｖｒｅｆｃ＊ｘ）／（Ｒｉ＊ｙ）・・・（１）
ここで、ｘ＝ｙとすると、（１）式は（２）式に変形することができる。
Ｉｏｕｔ＝Ｖｒｅｆｃ／Ｒｉ・・・（２）
【００３９】
（１）式及び（２）式より、第２の変動電圧Ｖｒｅｆｃと電流設定抵抗Ｒｉの温度変動に対する変動率が同じであれば、出力電流Ｉｏｕｔの電流値が温度変動の影響を受けないことがわかる。
【００４０】
次いで、実施の形態１にかかる定電流生成回路の傾き調整部における第２の変動電圧Ｖｒｅｆｃを取り出す出力タップの違いによる出力電流Ｉｏｕｔの温度変動の違いを示すグラフを図６に示す。図６に示す例では、第２の変動電圧Ｖｒｅｆｃを電圧Ｖ１２が出力される出力タップから取り出すことで、出力電流Ｉｏｕｔが温度変動によらず一定となることがわかる。これは、図４に示す電圧Ｖ１２の温度変動に対する変動率と、電流設定抵抗Ｒｉの温度変動に対する変動率とが同一であるためである。
【００４１】
続いて、実施の形態１にかかる定電流生成回路１における出力電流Ｉｏｕｔの設定方法について説明する。（２）式から、定電流生成回路１では、電流設定抵抗Ｒｉの値を変更することで出力電流Ｉｏｕｔの電流値を設定することができることがわかる。第２の変動電圧Ｖｒｅｆｃを取り出す出力タップの傾き調整電圧Ｖ１１〜Ｖ１ｍ、Ｖ０は、それぞれ異なる電圧値を有する。そのため、第２の変動電圧Ｖｒｅｆｃとして選択した電圧によっては、出力電流Ｉｏｕｔの電流値が予め設定された規定範囲を超える場合がある。このような場合は、電流設定抵抗Ｒｉの抵抗値をトリミング等することで出力電流Ｉｏｕｔの電流値を規定範囲内に設定することができる。
【００４２】
電流設定抵抗Ｒｉとしては、半導体基板上に形成されるポリシリコン抵抗（正の温度特性）、Ｎ−ｗｅｌｌ抵抗（負の温度特性）、タングステン抵抗（正の温度特性）、あるいは、外付け部品として設けられる抵抗、を用いることができる。しかしながら、半導体装置の端子数の削減及び出力電流の安定度を考慮した場合、電流設定抵抗Ｒｉとして半導体基板上に形成されるタングステン抵抗を用いることが好ましい。
【００４３】
タングステン抵抗は、半導体基板への応力変化に対しても抵抗値が安定しているためである。そこで、実施の形態１にかかる定電流生成回路が形成される半導体チップの封止材（例えば、モールド樹脂）の有無による出力電流の温度変動の違いを示すグラフを図７に示す。図７に示す例では、電流設定抵抗Ｒｉとしてタングステン抵抗を用いた場合のモールド樹脂の有無による出力電流の変化率と、電流設定抵抗Ｒｉとしてポリシリコン抵抗を用いた場合のモールド樹脂の有無による出力電流の変化率と、を示した。図７に示すように、タングステン抵抗は、モールド樹脂がない場合の出力電流とモールド樹脂がある場合の出力電流との誤差が０．５％未満である。一方、ポリシリコン抵抗は、モールド樹脂がない場合の出力電流とモールド樹脂がある場合の出力電流との誤差が最大で２％程度となる。半導体装置は、半導体チップをモールド樹脂で封止して形成するが、このモールド樹脂は半導体チップに応力を与える。つまり、図７から、タングステン抵抗は、ポリシリコン抵抗よりも半導体チップへの応力に対して安定した特性を維持できることがわかる。半導体チップへの応力は、モールド樹脂の温度変化、実装した場合における実装基板の反り等により変化するため、より安定した出力電流Ｉｏｕｔを得るためにはタングステン抵抗を電流設定抵抗Ｒｉとして用いることが好ましい。
【００４４】
続いて、実施の形態１にかかる定電流生成回路１における曲率設定値及び傾き設定値の設定方法について説明する。まず、定電流生成回路１では、曲率設定値及び傾き設定値は通常使用を行う前に決定してメモリ２４に格納されるものである。しかし、格納する曲率設定値及び傾き設定値は、出荷前の出荷テストとうにおいて決めておく必要がある。そこで、出荷テストにおける曲率設定値及び傾き設定値の設定手順を示すフローチャートを図８に示す。なお、図８に示す設定手順を実行するにあたり、曲率設定値及び傾き設定値は出力電流Ｉｏｕｔの温度変動にかかわらず一律に設定された初期値に設定されるものとする。
【００４５】
図８に示すように、実施の形態１にかかる設定値を設定する場合、まず、曲率設定値を決定した（ステップＳ１）後に、傾き設定値を決定する（ステップＳ２）。以下、曲率設定値の設定手順と、傾き設定値の設定手順と、をそれぞれ詳細に説明する。
【００４６】
図９に曲率設定値の設定手順を示すフローチャートを示す。図９に示すように、曲率設定値を決定する場合、まず、定電流生成回路１が形成される半導体基板の温度を第１の温度に設定する（ステップＳ１１）。この第１の温度は、後述する第２の温度及び第３の温度よりも低温の温度である。そして、第１の温度に設定された半導体基板上に形成された定電流生成回路１の出力電流Ｉｏｕｔの電流値（第１の出力電流測定値）を取得する（ステップＳ１２）。
【００４７】
続いて、半導体基板の温度を第２の温度に設定する（ステップＳ１３）。この第２の温度は、後述する第３の温度よりも低く、第１の温度よりも高い温度である。そして、第２の温度に設定された半導体基板上に形成された定電流生成回路１の出力電流Ｉｏｕｔの電流値（第２の出力電流測定値）を取得する（ステップＳ１４）。
【００４８】
続いて、半導体基板の温度を第３の温度に設定する（ステップＳ１５）。この第３の温度は、第１の温度及び第３の温度よりも高い温度である。そして、第３の温度に設定された半導体基板上に形成された定電流生成回路１の出力電流Ｉｏｕｔの電流値（第３の出力電流測定値）を取得する（ステップＳ１６）。
【００４９】
続いて、第１の出力電流測定値から第３の出力電流測定値に基づきダイオード電圧（例えば、第１の変動電圧Ｖｆ）の曲率を算出する（ステップＳ１７）。この曲率の大きさは、半導体装置をテストするテスト装置等で行う。そして、ステップＳ１７で算出した曲率の大きさに応じて選択するスイッチ（例えば、ＮＭＯＳトランジスタＭＮ１１〜ＭＮ１ｎ）を決定し、決定したスイッチに対応する値で曲率設定値を更新する。なお、定電流生成回路１が形成される半導体基板を検査するテスト装置は、例えば、曲率の大きさと曲率設定値との対応を示したデータベースを有し、当該データベースから曲率の大きさに対応した曲率設定値を選択する。
【００５０】
続いて、図８に実施の形態１にかかる定電流生成回路における傾き設定値の設定手順を示すフローチャートを図１０に示す。図１０に示すように、傾き設定値の設定手順では、まず、定電流生成回路１が形成される半導体基板の温度を第４の温度に設定する（ステップＳ２１）。この第４の温度は、後述する第５の温度よりも低温の温度である。そして、第４の温度に設定された半導体基板上に形成された定電流生成回路１の出力電流Ｉｏｕｔの電流値（第５の出力電流測定値）を取得する（ステップＳ２２）。
【００５１】
続いて、半導体基板の温度を第５の温度に設定する（ステップＳ３）。この第５の温度は、第４の温度よりも高い温度である。そして、第５の温度に設定された半導体基板上に形成された定電流生成回路１の出力電流Ｉｏｕｔの電流値（第４の出力電流測定値）を取得する（ステップＳ２４）。
【００５２】
続いて、第４の出力電流測定値と第５の出力電流測定値との差分値を計算する（ステップＳ２５）。この計算は、定電流生成回路１を含む半導体装置をテストするテスト装置等で行う。続いて、ステップＳ２５で算出した差分値が予め設定した規定範囲内であるか否かを判断する（ステップＳ２６）。出力電流Ｉｏｕｔは、理想的には温度変動に対する変動率がゼロであることが好ましいが、変動傾き調整部１２で生成される傾き調整電圧Ｖ１１〜Ｖ１ｍ、Ｖ０が離散的な電圧値となるため、出力電流Ｉｏｕｔの温度変動に対する変動率をゼロとすることは現実的ではない。そこで、このステップＳ２６では、上限値と下限値とにより規定範囲を定め、差分値が規定範囲内であれば規格を満たすこととした。
【００５３】
なお、第４の温度及び第５の温度は、曲率設定値の設定フローにおいて用いた第１の温度及び第３の温度を用いる事ができる。つまり、第４の出力電流測定値及び第５の出力電流測定値として第１の出力電流測定値及び第２の出力電流測定値を用いることができる。これにより、半導体装置の冷却処理及び過熱処理の回数と、測定回数と削減し、テスト工程を簡略化することができる。
【００５４】
ステップＳ６の判断において、差分値が規定範囲外であると判断された場合、ステップＳ２７の処理を行う。ステップＳ２７では、差分値の大きさに応じて第１のデコーダ２３が選択するスイッチ（例えば、スイッチＳＷ１１〜ＳＷ１ｍ、ＳＷ０）を決定し、決定したスイッチに対応する値で傾き設定値を更新する。例えば、差分値が下限値を下回っていた場合、差分値の下限値からのずれ量に応じて現状より高い電圧が生成される出力タップに対応したスイッチを選択するような値で傾き設定値を更新する。一方、ステップＳ２６の判断において、差分値が規定範囲内であると判断された場合、処理を終了する。
【００５５】
上記説明より、実施の形態１にかかる定電流生成回路１では、傾き調整部１２が、温度変動に対して所定の変動率を有する第１の変動電圧Ｖｆから、電流設定抵抗Ｒｉの抵抗値の温度変動に対する変動率に合致するような変動率を有する第２の変動電圧Ｖｒｅｆｃを生成する。このとき、傾き調整部１２では、第２の変動電圧として出力する電圧が生成される出力タップを切り換えるのみで第２の変動電圧Ｖｒｅｆｃの温度変動に対する変動率を調整する。また、実施の形態１にかかる定電流生成回路１では、曲率補正部２５がダイオードＤｉに流れる電流を調整することで、第１の変動電圧Ｖｆの電圧の温度変動の曲率を補正する。このとき、曲率補正部２５では、ダイオードＤｉに流れる電流をスイッチとして機能するＮＭＯＳトランジスタＭＮ１１〜ＭＮ１ｎの導通状態を切り替えるのみで第１の変動電圧Ｖｆの温度変動に関する曲率を調整する。つまり、定電流生成回路１では、第２の変動電圧Ｖｒｅｆｃの温度変動に対する傾きのみならず、第２の変動電圧Ｖｒｅｆｃの変化のうち曲率成分を補正してより第２の変動電圧Ｖｒｅｆｃの変化がより線形になるように補正することができる。これにより、定電流生成回路１では、第２の変動電圧Ｖｒｅｆｃの傾きの調整のみを行った場合よりも出力電流Ｉｏｕｔの温度に対する安定度を高めることができる。
【００５６】
実施の形態２
実施の形態２にかかる定電流生成回路２のブロック図を図１１に示す。図１１に示すように、実施の形態２にかかる定電流生成回路２は、実施の形態１にかかる温度変動電圧生成部１０及び曲率補正部２５の別の形態となる温度変動電圧生成部１０ａ及び曲率補正部２５ａを有する。また、実施の形態２では、第２の抵抗Ｒ２は分割されていても良いが、第２の抵抗Ｒ２に対して並列接続されるスイッチを有さないため、図１では第２の抵抗Ｒ２を１つの抵抗として設けた例を示した。なお、実施の形態２にかかる定電流生成回路２の説明において、実施の形態１と同じ構成要素については、実施の形態１と同じ符号を付して説明を省略する。
【００５７】
図１１に示すように、実施の形態２にかかる定電流生成回路２の温度変動電圧生成部１０ａは、複数のダイオードＤｉ１〜Ｄｉｎを有する。このダイオードＤｉ１〜Ｄｉｎは、同一の大きさを有していても良く、また異なる大きさを有していても良い。
【００５８】
曲率補正部２５ａは、複数のスイッチ（例えば、ＮＭＯＳトランジスタＭＮ２１〜ＭＮ２ｎ）、デコーダ（例えば、第２のデコーダ２６ａ）、メモリ２７を有する。ＮＭＯＳトランジスタＭＮ２１〜ＭＮ２ｎは、一端がダイオードＤｉ１〜Ｄｉｎのいずれか１つと直列に接続され、かつ、他端が第２の抵抗Ｒ２と接続される。より具体的には、ＮＭＯＳトランジスタＭＮ２１〜ＭＮ２ｎは、ソースが対応するダイオードのアノードに接続され、ドレインがそれぞれ第２の抵抗Ｒ２の一端に接続される。つまり、ＮＭＯＳトランジスタＭＮ２１〜ＭＮ２ｎとダイオードＤｉ１〜Ｄｉｎの組は、互いに並列に接続されるとともに第２の抵抗Ｒ２に対して直列に接続される。
【００５９】
第２のデコーダ２６ａは、曲率設定値に応じて複数のスイッチの開閉状態を制御する。より具体的には、第２のデコーダ２６ａは、曲率設定値に応じてＮＭＯＳトランジスタＭＮ２１〜ＭＮ２ｎのいずれを導通した状態とするか、及び、導通した状態とするＮＭＯＳトランジスタＭＮ２１〜ＭＮ２ｎの個数を切り替える。
【００６０】
メモリ２７は、曲率設定値を記憶する記憶部である。メモリ２７は、フラッシュメモリ等の不揮発性メモリでも良く、物理的な素子の破壊等により値を保持するヒューズ回路でも良く、ＤＲＡＭ等の揮発性メモリでも良い。この曲率設定値は、検査工程において測定された値に基づき決定され、メモリ２７に書き込まれるものである。また、メモリ２７は、メモリ２４を含む１つ記憶部として実装されるものでも良い。この場合、メモリ２７は、当該記憶部の一部として定義される。
【００６１】
実施の形態２にかかる定電流生成回路２では、曲率補正部２５ａによりＮＭＯＳトランジスタＭＮ２１〜ＭＮ２ｎのうち導通した状態となるトランジスタを切り替えることで、第２の抵抗Ｒ２を介して温度変動電圧生成部１０に流れる電流がいずれのダイオードに流れるかを制御する。つまり、曲率補正部２５は、電流がいずれのダイオードに流れるか、或いは、電流が流れるダイオードの個数を曲率設定値に基づき切り替える。これにより、定電流生成回路２では、曲率設定値に応じて、ダイオードＤｉ１〜Ｄｉｎの単位面積当たりに流れる電流量が切り替えられる。つまり、実施の形態２にかかる定電流生成回路２は、実施の形態１にかかる定電流生成回路１と同様に第１の変動電圧Ｖｆの曲率を曲率設定値に応じて補正する。
【００６２】
上記説明より、実施の形態２にかかる定電流生成回路２は、第２の抵抗Ｒ２の抵抗値を一定に維持しながら、並列接続されるダイオードＤｉ１〜Ｄｉｎの個数を曲率設定値に応じて切り替える。これにより、実施の形態２にかかる定電流生成回路２は、実施の形態１にかかる定電流生成回路１と同様に第１の変動電圧Ｖｆの曲率を曲率設定値に応じて補正することができる。また、実施の形態２にかかる定電流生成回路２は、第２の抵抗Ｒ２の抵抗値が一定であるために、傾き設定値の設定が実施の形態１にかかる定電流生成回路２よりも容易になる。
【００６３】
実施の形態３
実施の形態３にかかるマイクロプロセッサ３のブロック図を図１２に示す。図１２に示すように、マイクロプロセッサ３は、演算コアＰＥ、メモリ（例えば、フラッシュメモリＭＥＭ）、クロック生成回路ＣＧを有する。そして、クロック生成回路ＣＧに発振回路３０及び実施の形態１にかかる定電流生成回路１が含まれる。クロック生成回路ＣＧは、発振回路３０が定電流生成回路１で生成された精度の高い出力電流Ｉｏｕｔを利用して温度に対するばらつきが少ないクロック信号ＣＬＫを生成する。図１２に示す例では、クロック生成回路ＣＧが出力するクロック信号ＣＬＫは、演算コアＰＥとフラッシュメモリＭＥＭに供給される。しかし、このクロック信号ＣＬＫは、外部に出力されるものであっても良い。
【００６４】
続いて、実施の形態３にかかるマイクロプロセッサ３について詳細に説明する。なお、以下の説明では、定電流生成回路１は、実施の形態１において説明したものと実質的に同じであるため個々での詳細な説明は省略する。
【００６５】
フラッシュメモリＭＥＭには、プログラム及び設定値が格納される。演算コアＰＥは、フラッシュメモリに格納されたプログラムに基づき演算処理を行う。クロック生成回路ＣＧは、発振回路３０が定電流生成回路１により生成された出力電流Ｉｏｕｔに基づき発振周波数が決定される出力信号（クロック信号ＣＬＫ）を生成する。フラッシュメモリＭＥＭ、演算コアＰＥ、クロック生成回路ＣＧは、内部バスによって相互に接続されている。
【００６６】
ここで、発振回路３０の詳細について説明する。発振回路３０の一例である発振回路３０ａのブロック図を図１３に示す。発振回路３０ａは、インバータ３１、容量駆動回路３２、３４、コンパレータ３３、３５、ＳＲラッチ回路３６、コンデンサＣ１、Ｃ２を有する。
【００６７】
容量駆動回路３２は、ＮＭＯＳトランジスタＮ１、ＰＭＯＳトランジスタＰ４を有する。ＮＭＯＳトランジスタＮ１のソースは接地端子に接続され、ドレインはＰＭＯＳトランジスタＰ４のドレインと接続される。ＰＭＯＳトランジスタＰ４のドレインとＮＭＯＳトランジスタＮ１のドレインとの接続点は容量駆動回路３２の出力ノードである。ＰＭＯＳトランジスタＰ４のソースには、定電流生成回路１が出力する出力電流Ｉｏｕｔが入力される。ＰＭＯＳトランジスタＰ４のゲートとＮＭＯＳトランジスタＮ１のゲートは共通接続され、発振回路３０ａが出力するクロック信号ＣＬＫがインバータ３１を介して入力される。インバータ３１は、クロック信号ＣＬＫを反転した信号を容量駆動回路３２に出力する。
【００６８】
コンデンサＣ１は、容量駆動回路３２の出力ノードと接地端子との間に接続される。また、出力ノードには、コンデンサＣ１に蓄積された電荷量に応じて電圧Ｖｃｐ１が生成される。
【００６９】
コンパレータ３３は、非反転入力端子に電圧Ｖｃｐ１が入力され、反転入力端子に発振基準電圧ＶＲＥＦが入力される。そして、コンパレータ３３は、電圧Ｖｃｐ１と発振基準電圧ＶＲＥＦとの大小関係に応じてリセット信号Ｒの論理レベルを切り換える。より具体的には、コンパレータ３３は、電圧Ｖｃｐ１が電圧ＶＲＥＦよりも大きな場合、リセット信号Ｒをロウレベルとする。一方、コンパレータ３３は、電圧Ｖｃｐ１が発振基準電圧ＶＲＥＦよりも小さな場合、リセット信号Ｒをハイレベルとする。なお、コンパレータ３３は、出力するリセット信号Ｒの論理レベルを安定的に切り換えるためにヒステリシスコンパレータであることが好ましい。ヒステリシスコンパレータは、ヒステリシス幅をｄｈとすると、電圧Ｖｃｐ１＞発振基準電圧ＶＲＥＦとなる場合にリセット信号Ｒをロウレベルからハイレベルに切り換え、電圧Ｖｃｐ１＋ｄｈ＜発振基準電圧ＶＲＥＦとなった場合にリセット信号Ｒをハイレベルからロウレベルに切り換える。
【００７０】
容量駆動回路３４は、ＮＭＯＳトランジスタＮ２、ＰＭＯＳトランジスタＰ５を有する。ＮＭＯＳトランジスタＮ２のソースは接地端子に接続され、ドレインはＰＭＯＳトランジスタＰ５のドレインと接続される。ＰＭＯＳトランジスタＰ５のドレインとＮＭＯＳトランジスタＮ２のドレインとの接続点は容量駆動回路３４の出力ノードである。ＰＭＯＳトランジスタＰ５のソースには、定電流生成回路１が出力する出力電流Ｉｏｕｔが入力される。ＰＭＯＳトランジスタＰ５のゲートとＮＭＯＳトランジスタＮ２のゲートは共通接続され、発振回路３０ａが出力するクロック信号ＣＬＫが入力される。
【００７１】
コンデンサＣ２は、容量駆動回路３４の出力ノードと接地端子との間に接続される。また、出力ノードには、コンデンサＣ２に蓄積された電荷量に応じて電圧Ｖｃｐ２が生成される。
【００７２】
コンパレータ３５は、非反転入力端子に電圧Ｖｃｐ２が入力され、反転入力端子に発振基準電圧ＶＲＥＦが入力される。そして、コンパレータ３５は、電圧Ｖｃｐ２と発振基準電圧ＶＲＥＦとの大小関係に応じてセット信号Ｓの論理レベルを切り換える。より具体的には、コンパレータ３５は、電圧Ｖｃｐ２が発振基準電圧ＶＲＥＦよりも大きな場合、セット信号Ｓをロウレベルとする。一方、コンパレータ３５は、電圧Ｖｃｐ２が発振基準電圧ＶＲＥＦよりも小さな場合、セット信号Ｓをハイレベルとする。なお、コンパレータ３５は、出力するセット信号Ｓの論理レベルを安定的に切り換えるためにヒステリシスコンパレータであることが好ましい。ヒステリシスコンパレータは、ヒステリシス幅をｄｈとすると、電圧Ｖｃｐ２＞発振基準電圧ＶＲＥＦとなる場合にセット信号Ｓをロウレベルからハイレベルに切り換え、電圧Ｖｃｐ１＋ｄｈ＜発振基準電圧ＶＲＥＦとなった場合にセット信号Ｓをハイレベルからロウレベルに切り換える。
【００７３】
ＳＲラッチ回路３６は、セット信号Ｓとリセット信号Ｒとが入力され、出力信号Ｑを出力する。この出力信号Ｑは、クロック信号ＣＬＫとなる。ＳＲラッチ回路３６は、セット信号Ｓの立ち上がりエッジに応じてクロック信号ＣＬＫを立ち上げ、リセット信号Ｒの立ち上がりエッジに応じてクロック信号ＣＬＫを立ち下げる。
【００７４】
発振回路３０ａでは、発振基準電圧ＶＲＥＦが入力されるが、この発振基準電圧ＶＲＥＦは、定電流生成回路１の誤差増幅器２１の非反転入力端子の電圧が用いられる。誤差増幅器２１の非反転入力端子の電圧は、基準電圧Ｖｃｏｎｓｔと実質的に同じものである。しかし、誤差増幅器２１は入力オフセットを有している場合、基準電圧Ｖｃｏｎｓｔと誤差増幅器２１の非反転入力端子の電圧との間に電圧差が生じる。また、誤差増幅器２１の非反転入力端子の電圧は、第２の変動電圧の基準となる電圧である。つまり、誤差増幅器２１の非反転入力端子の電圧は、基準電圧Ｖｃｏｎｓｔよりも、定電流生成回路１の出力電流Ｉｏｕｔと高い相関関係を有する。また、発振回路３０ａは、定電流生成回路１の出力電流Ｉｏｕｔの電流量に応じて発振周波数が決まる。このようなことから、発振基準電圧ＶＲＥＦに基づき発振回路３０ａを動作させることで、発振回路３０ａは、発振周波数の期待値からの誤差を低減させることができる。
【００７５】
ここで、発振回路３０ａの動作を示すタイミングチャートを図１４に示す。まず、クロック信号ＣＬＫがロウレベルである期間の発振回路３０ａの動作について説明する。クロック信号ＣＬＫがロウレベルである期間において、容量駆動回路３２では、ＰＭＯＳトランジスタＰ４がオフし、ＮＭＯＳトランジスタＮ１がオンした状態になる。そして、容量駆動回路３２は、ＮＭＯＳトランジスタＮ１によりコンデンサＣ１から電荷の引き抜きを行い電圧Ｖｃｐ１の電圧レベルを低下させる。その後、電圧Ｖｃｐ１の電圧レベルが発振基準電圧ＶＲＥＦから降下して所定の電圧（例えば、ＶＲＥＦ−ヒステリシス幅）を下回るとコンパレータ３３がリセット信号Ｒをハイレベルからロウレベルに切り換える。
【００７６】
また、クロック信号ＣＬＫがロウレベルである期間において、容量駆動回路３４では、ＰＭＯＳトランジスタＰ５がオンし、ＮＭＯＳトランジスタＮ２がオフした状態になる。そして、容量駆動回路３４は、ＰＭＯＳトランジスタＰ５を介して出力電流ＩｏｕｔをコンデンサＣ２に与えて、コンデンサＣ２に蓄積された電荷量を増加させることで電圧Ｖｃｐ２の電圧レベルを上昇させる。その後、電圧Ｖｃｐ２の電圧レベルが発振基準電圧ＶＲＥＦに達するとコンパレータ３５がセット信号Ｓをロウレベルからハイレベルに切り換える（タイミングＴ１、Ｔ３）。
【００７７】
続いて、クロック信号ＣＬＫがハイレベルである期間の発振回路３０ａの動作について説明する。クロック信号ＣＬＫがハイレベルである期間において、容量駆動回路３２では、ＰＭＯＳトランジスタＰ４がオンし、ＮＭＯＳトランジスタＮ１がオフした状態になる。そして、容量駆動回路３２は、ＰＭＯＳトランジスタＰ４を介して出力電流ＩｏｕｔをコンデンサＣ１に与えて、コンデンサＣ１に蓄積された電荷量を増加させることで電圧Ｖｃｐ１の電圧レベルを上昇させる。その後、電圧Ｖｃｐ１の電圧レベルが発振基準電圧ＶＲＥＦに達するとコンパレータ３３がリセット信号Ｒをロウレベルからハイレベルに切り換える（タイミングＴ２）。
【００７８】
また、クロック信号ＣＬＫがハイレベルである期間において、容量駆動回路３４では、ＰＭＯＳトランジスタＰ５がオフし、ＮＭＯＳトランジスタＮ２がオンした状態になる。そして、容量駆動回路３４は、ＮＭＯＳトランジスタＮ２によりコンデンサＣ２から電荷の引き抜きを行い電圧Ｖｃｐ２の電圧レベルを低下させる。その後、電圧Ｖｃｐ２の電圧レベルが発振基準電圧ＶＲＥＦから降下して所定の電圧（例えば、ＶＲＥＦ−ヒステリシス幅）を下回るとコンパレータ３５がセット信号Ｓをハイレベルからロウレベルに切り換える。
【００７９】
ＳＲラッチ回路３６は、上記のセット信号Ｓの立ち上がりエッジとリセット信号Ｒの立ち上がりエッジとに応じてクロック信号のハイレベルとロウレベルとを切り換える。
【００８０】
ここで、発振回路３０ａでは、電圧Ｖｃｐ１、Ｖｃｐ２の電圧上昇の速度（ｄＶ／ｄｔ）を出力電流Ｉｏｕｔの関数で示すことができる。この関数を（３）式に示す。なお、（３）式において、Ｃは、コンデンサＣ１、Ｃ２の容量値である。
ｄＶ／ｄｔ＝Ｉｏｕｔ／Ｃ・・・（３）
発振回路３０ａでは、電圧Ｖｃｐ１、Ｖｃｐ２が接地電圧レベルから、発振基準電圧ＶＲＥＦに達するまでの時間により発振周波数が決定される。（３）式より、コンデンサＣ１、Ｃ２の容量値が一定であれば、電圧Ｖｃｐ１、Ｖｃｐ２の立ち上がり速度は、出力電流Ｉｏｕｔの大きさにより決定される。つまり、発振回路３０ａが出力するクロック信号の周波数は、出力電流Ｉｏｕｔの電流値により決定される。
【００８１】
実施の形態１にかかる定電流生成回路１により生成された出力電流Ｉｏｕｔは、温度変動に対する変動率をゼロに設定することができる。即ち、定電流生成回路１が出力する出力電流Ｉｏｕｔに基づき発振周波数が決定される図１３の発振回路３０ａは、高い周波数精度（例えば、１％未満のばらつき幅）を実現することができる。
【００８２】
続いて、発振回路３０の別の例について説明する。発振回路３０の別の例である発振回路３０ｂを示すブロック図を図１５に示す。図１５に示すように発振回路３０ｂは、周波数検出回路４０、差動増幅器４２、発振器４４（例えば、電圧制御発振器）、制御回路４５、フィルタコンデンサＣｐｕｍｐを有する。
【００８３】
周波数検出回路４０は、制御回路４５が出力するタイミング制御信号に基づきクロック信号ＣＬＫの周期の長さに応じて電圧レベルが変化する周波数検出電圧Ｖｃａｐを生成する。なお、タイミング制御信号には、電荷リセット信号ＩＮＩＴ、ランプ制御信号ＲＡＭＰ、ホールド制御信号ＨＯＬＤを含み、周波数検出回路４０は、これらの信号に応じて周波数検出電圧Ｖｃａｐを生成する。
【００８４】
図１５に示すように、周波数検出回路４０は、ランプアンドホールド回路４１、周波数設定コンデンサＣを有する。ランプアンドホールド回路４１には、定電流生成回路１から出力電流Ｉｏｕｔが入力される。つまり、ランプアンドホールド回路４１では、出力電流Ｉｏｕｔにより充放電電流の電流値が設定される。
【００８５】
ランプアンドホールド回路４１は、タイミング制御信号に基づき周波数設定コンデンサＣへの充放電電流の供給と周波数設定コンデンサＣに蓄積される電荷のリセットとを行う。ランプアンドホールド回路４１は、ＮＭＯＳトランジスタＮ３、ＰＭＯトランジスタＰ６、Ｐ７を有する。ＰＭＯＳトランジスタＰ６、Ｐ７は、差動対を構成する。つまり、ＰＭＯＳトランジスタＰ６、Ｐ７は、ソースが共通接続される。そして、ＰＭＯＳトランジスタＰ６、Ｐ７のソース（共通接続点）には、出力電流Ｉｏｕｔが供給される。ＰＭＯＳトランジスタＰ６のゲートには、ランプ制御信号ＲＡＭＰが入力され、ＰＭＯＳトランジスタＰ７のゲートにはホールド制御信号ＨＯＬＤが入力される。ＰＭＯＳトランジスタＰ６のドレインは、ＮＭＯＳトランジスタＮ３のドレインと接続され、ランプアンドホールド回路４１の出力端子となる。ＰＭＯＳトランジスタＰ７のドレインは、接地端子に接続される。ＮＭＯＳトランジスタＮ３のゲートには、電荷リセット信号ＩＮＩＴが入力される。ＮＭＯＳトランジスタＮ３のソースは、接地端子に接続される。
【００８６】
周波数設定コンデンサＣは、ランプアンドホールド回路４１の出力端子と接地端子との間に接続される。そして、周波数設定コンデンサＣは、蓄積される電荷量に応じて周波数検出電圧Ｖｃａｐを生成する。なお、周波数検出電圧Ｖｃａｐは、ランプアンドホールド回路４１の出力端子となるノードに生成されるものである。
【００８７】
ランプアンドホールド回路４１は、電荷リセット信号ＩＮＩＴがイネーブル状態（例えば、ハイレベル）となると、ＮＭＯＳトランジスタＮ３をオンする。そして、ランプアンドホールド回路４１は、周波数設定コンデンサＣに蓄積された電荷を放電することで、周波数設定コンデンサに蓄積される電荷のリセットを行う。また、ランプアンドホールド回路４１は、電荷リセット信号ＩＮＩＴがディスイネーブル状態（例えば、ロウレベル）かつランプ制御信号ＲＡＭＰがイネーブル状態（例えば、ロウレベル）となると、ＮＭＯＳトランジスタＮ３をオフし、かつ、ＰＭＯＳトランジスタＰ６をオンする。これにより、ランプアンドホールド回路４１は、充放電電流によって周波数設定コンデンサＣへの電荷の蓄積を行う。また、ランプアンドホールド回路４１は、ランプ制御信号ＲＡＭＰがディスイネーブル状態（例えば、ハイレベル）、かつ、ホールド制御信号ＨＯＬＤがイネーブル状態（例えば、ロウレベル）となると、ＰＭＯＳトランジスタＰ６をオフし、かつ、ＰＭＯＳトランジスタＰ７をオンする。これにより、ランプアンドホールド回路４１は、周波数設定コンデンサＣへの充電を停止し、周波数設定コンデンサＣに蓄積された電荷により生じた周波数検出電圧Ｖｃａｐを維持する。
【００８８】
差動増幅器４２は、周波数検出電圧Ｖｃａｐと発振基準電圧ＶＲＥＦの電圧差に応じて発振周波数設定電流Ｉｃｐを連続的に可変してフィルタコンデンサＣｐｕｍｐに出力する。より具体的には、差動増幅器４２は、増幅部４３とスイッチ回路ＳＷを有する。そして、増幅部４３の反転入力端子には周波数検出電圧Ｖｃａｐが入力され、非反転入力端子に発振基準電圧ＶＲＥＦが入力される。増幅部４３は、例えば、トランスコンダクタンス増幅器であって、周波数検出電圧Ｖｃａｐと発振基準電圧ＶＲＥＦとの電圧差に応じた電流値を有する発振周波数設定電流Ｉｃｐを出力する。
【００８９】
なお、本実施の形態では、発振基準電圧ＶＲＥＦとして、この発振基準電圧ＶＲＥＦは、定電流生成回路１の誤差増幅器２１の非反転入力端子の電圧が用いられる。誤差増幅器２１の非反転入力端子の電圧は、基準電圧Ｖｃｏｎｓｔと実質的に同じものである。しかし、誤差増幅器２１は入力オフセットを有している場合、基準電圧Ｖｃｏｎｓｔと誤差増幅器２１の非反転入力端子の電圧との間に電圧差が生じる。また、誤差増幅器２１の非反転入力端子の電圧は、第２の変動電圧の基準となる電圧である。つまり、誤差増幅器２１の非反転入力端子の電圧は、基準電圧Ｖｃｏｎｓｔよりも、定電流生成回路１の出力電流Ｉｏｕｔと高い相関関係を有する。また、発振回路３０ｂは、定電流生成回路１の出力電流Ｉｏｕｔの電流量に応じて発振周波数が決まる。このようなことから、発振基準電圧ＶＲＥＦに基づき発振回路３０ｂを動作させることで、発振回路３０ｂは、発振周波数の期待値からの誤差を低減させることができる。
【００９０】
スイッチ回路ＳＷは、増幅部４３の出力端子とフィルタコンデンサＣｐｕｍｐとの間に設けられ、タイミング制御信号に含まれるポンプ制御信号ＰＵＬＳＥに応じて導通状態が切り換えられる。より具体的には、スイッチ回路ＳＷは、ポンプ制御信号ＰＵＬＳＥがイネーブル状態（例えば、ハイレベル）のときに導通状態となり、ディスイネーブル状態（例えば、ロウレベル）のときに遮断状態となる。
【００９１】
発振器４４は、発振周波数制御電圧Ｖｃｐの電圧レベルに応じてクロック信号ＣＬＫの発振周波数を制御する。
【００９２】
制御回路４５は、クロック信号ＣＬＫの周期に基づき論理レベルが切り換えられるタイミング制御信号を生成する。このタイミング制御信号には、電荷リセット信号ＩＮＩＴ、ランプ制御信号ＲＡＭＰ、ホールド制御信号ＨＯＬＤ、ポンプ制御信号ＰＵＬＳＥが含まれる。制御回路４５は、クロック信号ＣＬＫを分周した分周信号を生成し、当該分周信号のクロック数をカウントしたカウント値に基づき上記制御信号の論理レベルを切り換える。タイミング制御信号の論理レベルの切り換えタイミングの詳細は、後述する。
【００９３】
続いて、図１６に周波数検出回路４０と制御回路４５の動作を示すタイミングチャートを示す。そして、図１６を参照して制御回路４５がタイミング制御信号の論理レベルの切り換えタイミング及び周波数検出回路４０の動作について説明する。
【００９４】
図１６に示すように、制御回路４５は、クロック信号ＣＬＫを分周して分周信号ＦＤを生成する。図１６に示す例では、分周信号ＦＤは、クロック信号ＣＬＫを２分周して生成する。また、制御回路４５は、分周信号ＦＤのクロック数をカウントしてカウント値ＣＯＵＮＴを生成する。図１６に示す例では、カウント値ＣＯＵＮＴは２ビットの値であって０から３の値となる。そして、制御回路４５は、カウント値ＣＯＵＮＴの値に応じてタイミング制御信号の論理レベルを切り換える。
【００９５】
具体的には、カウント値が０であった場合、制御回路４５は、電荷リセット信号ＩＮＩＴをハイレベル（イネーブル状態）とし、ランプ制御信号ＲＡＭＰをハイレベル（ディスイネーブル状態）とし、ホールド制御信号ＨＯＬＤをロウレベル（イネーブル状態）とし、ポンプ制御信号ＰＵＬＳＥをロウレベル（ディスイネーブル状態）とする。カウント値が０である期間を以下では電荷リセット期間Ｔｉｎｉｔと称す。
【００９６】
カウント値が１であった場合、制御回路４５は、電荷リセット信号ＩＮＩＴをロウレベル（ディスイネーブル状態）とし、ランプ制御信号ＲＡＭＰをロウレベル（イネーブル状態）とし、ホールド制御信号ＨＯＬＤをハイレベル（ディスイネーブル状態）とし、ポンプ制御信号ＰＵＬＳＥをロウレベル（ディスイネーブル状態）とする。カウント値が１である期間を以下ではランプ期間Ｔｒａｍｐと称す。
【００９７】
カウント値が２であった場合、制御回路４５は、電荷リセット信号ＩＮＩＴをロウレベル（ディスイネーブル状態）とし、ランプ制御信号ＲＡＭＰをハイレベル（ディスイネーブル状態）とし、ホールド制御信号ＨＯＬＤをロウレベル（イネーブル状態）とし、ポンプ制御信号ＰＵＬＳＥをロウレベル（ディスイネーブル状態）とする。カウント値が２である期間を以下ではホールド期間Ｔｈｏｌｄと称す。
【００９８】
カウント値が３であった場合、制御回路４５は、電荷リセット信号ＩＮＩＴをロウレベル（ディスイネーブル状態）とし、ランプ制御信号ＲＡＭＰをハイレベル（ディスイネーブル状態）とし、ホールド制御信号ＨＯＬＤをロウレベル（イネーブル状態）とし、ポンプ制御信号ＰＵＬＳＥをハイレベル（イネーブル状態）とする。カウント値が３である期間を以下ではポンプ期間Ｔｐｕｍｐと称す。
【００９９】
続いて、周波数検出回路４０の動作について説明する。周波数検出回路４０は、電荷リセット期間Ｔｉｎｉｔにおいて、電荷リセット信号ＩＮＩＴに基づきＮＭＯＳトランジスタＮ３を導通させることで周波数設定コンデンサＣに蓄積されている電荷を接地電圧に応じた電荷量にリセットする。これにより、周波数検出電圧Ｖｃａｐは接地電圧とほぼ等しい電圧となる。このとき、ＰＭＯＳトランジスタＰ６はランプ制御信号ＲＡＭＰに応じてオフし、ＰＭＯＳトランジスタＰ７はホールド制御信号ＨＯＬＤに応じてオンする。
【０１００】
そして、ランプ期間Ｔｒａｍｐにおいて、周波数検出回路４０は、電荷リセット信号ＩＮＩＴに応じてＮＭＯＳトランジスタＮ３をオフし、ランプ制御信号ＲＡＭＰに応じてＰＭＯＳトランジスタＰ６をオンし、ホールド制御信号ＨＯＬＤに応じてＰＭＯＳトランジスタＰ７をオフする。つまり、周波数検出回路４０は、ランプ期間Ｔｒａｍｐにおいて、充放電電流に基づき周波数設定コンデンサＣへの電荷の充電を行う。これにより、周波数検出電圧Ｖｃａｐの電圧レベルは徐々に上昇する。周波数検出電圧Ｖｃａｐが上昇する傾きは充放電電流の大きさ及び周波数設定コンデンサＣの容量値により決定される。例えば、周波数検出電圧Ｖｃａｐの傾き（ｄＶｃａｐ／ｄｔ）は、ｄＶｃａｐ／ｄｔ＝Ｉｏｕｔ／Ｃで表される。また、ランプ期間Ｔｒａｍｐでは、周波数検出電圧Ｖｃａｐの電圧レベルが上昇するが、電圧低下速度は一定である。そのため、ランプ期間Ｔｒａｍｐにおける周波数検出電圧Ｖｃａｐの電圧低下量ｄＶｃａｐは、ランプ期間Ｔｒａｍｐの長さ（クロック信号ＣＬＫの発振周波数）によって決まる。
【０１０１】
そして、ホールド期間Ｔｈｏｌｄにおいて、周波数検出回路４０は、電荷リセット信号ＩＮＩＴに応じてＮＭＯＳトランジスタＮ３をオフし、ランプ制御信号ＲＡＭＰに応じてＰＭＯＳトランジスタＰ６をオフし、ホールド制御信号ＨＯＬＤに応じてＰＭＯＳトランジスタＰ７をオンする。つまり、周波数検出回路４０は、ホールド期間Ｔｈｏｌｄにおいて、周波数設定コンデンサＣが接続されるノードをハイインピーダンス状態とし、周波数設定コンデンサＣにより生成される周波数検出電圧Ｖｃａｐの電圧レベルを維持する。
【０１０２】
そして、ポンプ期間Ｔｐｕｍｐにおいては、差動増幅器４２によるフィルタコンデンサＣｐｕｍｐへの発振周波数設定電流Ｉｃｐの供給が行われる。このとき、周波数検出回路４０に与えられる電荷リセット信号ＩＮＩＴ、ランプ制御信号ＲＡＭＰ、ホールド制御信号ＨＯＬＤはホールド期間Ｔｈｏｌｄとポンプ期間Ｔｐｕｍｐとで同じである。そのため、ポンプ期間Ｔｐｕｍｐにおいて周波数検出回路４０により周波数検出電圧Ｖｃａｐの電圧レベルが変動することはない。
【０１０３】
続いて、図１５に示す発振回路３０ｂの全体の動作について説明する。図１５に示す発振回路３０ｂの動作を示すタイミングチャートを図１７に示す。図１７に示すタイミングチャートでは、周波数検出電圧Ｖｃａｐ、発振周波数制御電圧Ｖｃｐ及びクロック信号ＣＬＫの変動のみを示した。また、図１７では、時間軸（横軸）の原点において発振回路３０ｂの動作が開始されるものとする。
【０１０４】
図１７に示すように、発振回路３０ｂは、期間ＴＭ１からＴＭ７の期間毎に発振周波数制御電圧Ｖｃｐを上昇させる。期間ＴＭ１からＴＭ７の各期間には、図１６に示す電荷リセット期間Ｔｉｎｉｔ、ランプ期間Ｔｒａｍｐ、ホールド期間Ｔｈｏｌｄ、ポンプ期間Ｔｐｕｍｐが一組含まれる。また、クロック信号ＣＬＫの周波数が期間毎に上昇するため、期間ＴＭ１から期間ＴＭ７は、徐々に短くなる。これはタイミング制御信号がクロック信号ＣＬＫの周期に基づき生成されるためである。なお、図１７に示す期間ＴＭ１１からＴＭ１７がポンプ期間Ｔｐｕｍｐに対応する期間となる。
【０１０５】
そして、期間ＴＭ７が経過した後は、周波数検出電圧Ｖｃａｐの高レベル側電圧が発振基準電圧ＶＲＥＦとほぼ同じになる。これにより、発振回路３０ｂでは、差動増幅器４２が出力する発振周波数設定電流Ｉｃｐがほぼ０となる。そのため、周波数検出電圧Ｖｃａｐの高レベル側電圧が発振基準電圧ＶＲＥＦとほぼ同じになった後はその状態が維持される。また、周波数検出電圧Ｖｃａｐが一定の電圧に保たれるため、クロック信号ＣＬＫの発振周波数も一定に保たれる。つまり、発振回路３０ｂでは、クロック信号ＣＬＫの発振周波数が目標値に達した後はクロック信号ＣＬＫにジッタは生じない。
【０１０６】
上記説明より、発振回路３０ｂでは、フィルタコンデンサＣｐｕｍｐは、発振周波数設定電流Ｉｃｐに応じて発振周波数制御電圧Ｖｃｐを生成する。このとき、発振回路３０ｂでは、差動増幅器４２が周波数検出電圧Ｖｃａｐと発振基準電圧ＶＲＥＦとの電圧差に応じて連続的に値が変化する発振周波数設定電流Ｉｃｐを出力する。つまり、周波数検出電圧Ｖｃａｐと発振基準電圧ＶＲＥＦとの電圧差があれば発振周波数設定電流Ｉｃｐは、当該電圧差に応じた大きさを有し、周波数検出電圧Ｖｃａｐと発振基準電圧ＶＲＥＦとの電圧差がなければ発振周波数設定電流Ｉｃｐは、実質的に０となる。これにより、発振回路３０ｂでは、クロック信号ＣＬＫの周波数が目標値と一致する状態（例えば、周波数検出電圧Ｖｃａｐが発振基準電圧ＶＲＥＦと一致した状態）では、ポンプ制御信号ＰＵＬＳＥがイネーブル状態となっても発振周波数制御電圧Ｖｃｐに変動が生じない。これにより、発振回路３０ｂでは、クロック信号ＣＬＫの発振周波数が目標値と一致した後に、発振周波数制御電圧Ｖｃｐの電圧値が変動することがなく、発振周波数制御電圧Ｖｃｐの電圧値に応じて発振器４４が決定するクロック信号ＣＬＫの発振周波数もずれることがない。つまり、発振回路３０ｂでは、クロック信号ＣＬＫのジッタを低減することができる。
【０１０７】
また、発振回路３０ｂでは、差動増幅器４３がスイッチ回路ＳＷを有する。このスイッチ回路ＳＷは、差動増幅器４２の入力信号の差電圧増幅結果を反映する期間（例えば、ポンプ期間Ｔｐｕｍｐ）以外は遮断状態に制御される。発振回路３０ｂでは、電荷リセット期間Ｔｉｎｉｔ、ランプ期間Ｔｒａｍｐにおいて周波数検出電圧Ｖｃａｐがクロック信号ＣＬＫを反映した電圧とずれた電圧値となる。しかし、スイッチ回路ＳＷがポンプ期間以外は遮断状態に制御されるため、電荷リセット期間Ｔｉｎｉｔ及びランプ期間Ｔｒａｍｐにおける周波数検出電圧Ｖｃａｐのずれが発振周波数に反映されることを防ぐことができる。これにより、発振回路３０ｂでは、いずれの期間においても発振周波数を安定化させることができる。
【０１０８】
また、発振回路３０ｂには、定電流生成回路１が出力する出力電流Ｉｏｕｔに基づき発振周波数を設定する。そのため、定電流生成回路１が出力する出力電流Ｉｏｕｔの温度変化に対する変動率が実質的にゼロであれば、発振回路３０ｂの発振周波数の温度変動に対する変動率も実質的にゼロにすることができる。また、定電流生成回路１は、電流設定抵抗Ｒｉのトリミングによって出力電流Ｉｏｕｔの電流値を精度良く設定できる。そのため、発振回路３０ｂは、定電流生成回路１が出力する出力電流Ｉｏｕｔの電流値の設定精度を高めることで、クロック信号ＣＬＫの発振周波数の設定値を高い精度（例えば、１％未満のばらつき幅）で設定することができる。
【０１０９】
上記説明より、実施の形態２にかかるマイクロプロセッサ３では、定電流生成回路１が出力する出力電流Ｉｏｕｔを用いてクロック信号ＣＬＫの周波数を設定することで、クロック信号ＣＬＫの温度変動に対する変動率、第１の変動電圧の温度に対する変動成分のうち曲率成分及び周波数を高精度に設定できる。例えば、実施の形態２にかかるマイクロプロセッサ３では、クロック信号ＣＬＫの温度変動に対する変動率及び周波数を１％程度のずれの範囲内とすることができる。そして、このような高精度なクロック信号に基づきマイクロプロセッサ３は動作することができる。
【０１１０】
続いて、実施の形態２にかかるマイクロプロセッサ３の起動シーケンスについて説明する。実施の形態２にかかるマイクロプロセッサ３の起動処理の手順を示すフローチャートを図１８に示す。
【０１１１】
図１８に示すように、マイクロプロセッサ３は、起動処理を開始すると、まず、傾き制御部２２内のメモリ２４に予め格納された初期傾き設定値に基づき第１のデコーダ２３がいずれか１つのスイッチを選択する（ステップＳ３０）。またステップＳ３０では第２のデコーダ２６が曲率補正部２５内のメモリ２７に予め初期曲率設定値を読み出し、ＮＭＯＳトランジスタＭＮ１１〜ＭＮ１ｎから初期曲率設定値により指定されたＮＭＯＳトランジスタを導通状態とする。これにより、定電流生成回路１が動作を開始し、出力電流Ｉｏｕｔを出力する。そして、発振回路３０が出力電流Ｉｏｕｔに基づきクロック信号ＣＬＫを生成する。ここで、起動時に設定される初期傾き設定値及び曲率設定値は、出力電流Ｉｏｕｔが最も小さくなる値であることが好ましい。これは、マイクロプロセッサ３は、起動初期段階においては各種電圧、回路状態等が不安定であり、通常状態で生成されるクロック信号ＣＬＫよりも低い周波数のクロック信号ＣＬＫで動作した方が回路動作において不具合が生じる可能性が低いためである。
【０１１２】
続いて、演算コアＰＥがフラッシュメモリＭＥＭから通常状態で利用する傾き設定値及び曲率設定値を読み出し、読み出した傾き設定値及び曲率設定値をメモリ２４及びメモリ２７に与える（ステップＳ３２）。そして、定電流生成回路１では、デコーダ２３が更新された傾き設定値に基づきいずれか１つのスイッチを選択する（ステップＳ３３）。また、ステップＳ３３ではデコーダ２６が曲率設定値に対応したＮＭＯＳトランジスタを導通状態とする。これにより、定電流生成回路１は、通常状態で利用する出力電流Ｉｏｕｔを生成する。そして、発振回路３０は、通常状態の出力電流Ｉｏｕｔに基づきクロック信号ＣＬＫの周波数を通常状態の周波数に変更する（ステップＳ３４）。
【０１１３】
上記説明より、実施の形態２にかかるマイクロプロセッサ３では、予め設定された起動用の傾き設定値に基づき出力電流Ｉｏｕｔの生成及びクロック信号ＣＬＫの生成を行い、マイクロプロセッサ３がクロック信号ＣＬＫに基づき動作を開始した後に、通常状態で利用する傾き設定値に基づく出力電流Ｉｏｕｔの生成及びクロック信号ＣＬＫの生成を行う。このような、起動手順とすることで、通常状態で利用する傾き設定値を定電流生成回路１内のメモリ２４に記憶させるための手段を設ける必要がない。通常状態で利用する傾き設定値は、値の書き換えが比較的簡単にできるフラッシュメモリ等の不揮発性メモリに記憶しておけば良いためである。なお、起動処理で用いる傾き設定値は、出力電流Ｉｏｕｔの温度変動等を加味せずに決定した値で構わないため、回路設計段階で設定することが可能である。
【０１１４】
実施の形態４
実施の形態４では、定電流生成回路１により生成された出力電流Ｉｏｕｔの電流量によって決まる遅延量で信号を遅延させる遅延回路５０について説明する。遅延回路５０の回路図を図１９に示す。図１９に示すように、遅延回路５０は、ＮＭＯＳトランジスタＮ１０〜Ｎ１４、ＰＭＯＳトランジスタＰ１０〜Ｐ１３、コンデンサＣｄを有する。
【０１１５】
ＮＭＯＳトランジスタＮ１０は、ソースが接地端子に接続され、ドレインとゲートが接続される。ＮＭＯＳトランジスタＮ１０のドレインには定電流生成回路１の出力電流Ｉｏｕｔが入力される。この出力電流Ｉｏｕｔを以下では電流Ｉ１と称す。ＮＭＯＳトランジスタＮ１１、Ｎ１２は、ＮＭＯＳトランジスタＮ１０と共にカレントミラー回路を構成する。
【０１１６】
ＰＭＯＳトランジスタＰ１０は、ソースが接地端子に接続され、ドレインとゲートが接続される。ＰＭＯＳトランジスタＰ１０のドレインは、ＮＭＯＳトランジスタＮ１１のドレインと接続される。そして、ＰＭＯＳトランジスタＰ１０のドレインには、ＮＭＯＳトランジスタＮ１１に流れる電流Ｉ２が入力される。この電流Ｉ２は、ＮＭＯＳトランジスタＮ１０、Ｎ１１により構成されるカレントミラーが電流Ｉ１に基づき生成するものである。ＰＭＯＳトランジスタＰ１１は、ＰＭＯＳトランジスタＰ１０と共にカレントミラー回路を構成する。
【０１１７】
ＮＭＯＳトランジスタＮ１３のソースは、ＮＭＯＳトランジスタＮ１２のドレインに接続される。ＮＭＯＳトランジスタＮ１３のドレインは、ＰＭＯＳトランジスタＰ１２のドレインに接続される。ＰＭＯＳトランジスタＰ１２のソースは、ＰＭＯＳトランジスタＰ１１のドレインに接続される。ＮＭＯＳトランジスタＮ１２のゲートとＰＭＯＳトランジスタＰ１２のゲートとは互いに接続され、これらゲートには入力信号Ｖｉｎが与えられる。ＰＭＯＳトランジスタＰ１２のドレインとＮＭＯＳトランジスタＮ１３のドレインとの接続点は、中間出力ノード（中間電圧Ｖｃが生成されるノード）となる。また、ＮＭＯＳトランジスタＮ１３には、ＮＭＯＳトランジスタＮ１０、Ｎ１２により構成されるカレントミラー回路が電流Ｉ１に基づき生成した電流Ｉ４が流れる。ＰＭＯＳトランジスタＮ１２には、ＰＭＯＳトランジスタＮ１０、Ｎ１１により構成されるカレントミラー回路が電流Ｉ２に基づき生成した電流Ｉ３が流れる。
【０１１８】
コンデンサＣｄは、中間出力ノードと接地端子との間に接続される。ＮＭＯＳトランジスタＮ１４のソースは、接地端子に接続される。ＮＭＯＳトランジスタＮ１４のドレインは、ＰＭＯＳトランジスタＰ１３のドレインに接続される。ＰＭＯＳトランジスタＰ１３のソースは、電源端子に接続される。ＮＭＯＳトランジスタＮ１４のゲートとＰＭＯＳトランジスタＰ１３のゲートとは互いに接続され、これらゲートには中間出力ノードが
【０１１９】
が接続される。ＰＭＯＳトランジスタＰ１２のドレインとＮＭＯＳトランジスタＮ１３のドレインとの接続点は、遅延回路５０の出力端子であり、出力信号Ｖｏｕｔが出力される。つまり、ＮＭＯＳトランジスタＮ１４とＰＭＯＳトランジスタＰ１３は、遅延回路５０の出力インバータを構成する。
【０１２０】
続いて、遅延回路５０の動作について説明する。遅延回路５０の動作を示すタイミングチャートを図２０に示す。図２０に示すように、遅延回路５０は、入力信号Ｖｉｎがロウレベルである期間は、ＮＭＯＳトランジスタＮ１３がオフし、ＰＭＯＳトランジスタＰ１２がオンする。そして、ＰＭＯＳトランジスタＰ１２を介して流れる電流Ｉ３によりコンデンサＣｄに電荷が蓄積される。これにより、中間電圧Ｖｃは徐々に上昇する。その後、中間電圧Ｖｃが、出力インバータの閾値電圧Ｖｔｈを上回ると、出力信号Ｖｏｕｔが立ち下がる。
【０１２１】
また、遅延回路５０は、入力信号Ｖｉｎがハイレベルである期間は、ＮＭＯＳトランジスタＮ１３がオンし、ＰＭＯＳトランジスタＰ１２がオフする。そして、ＮＭＯＳトランジスタＮ１３を介して流れる電流Ｉ４によりコンデンサＣｄに蓄積された電荷が放電される。これにより、中間電圧Ｖｃは徐々に低下する。その後、中間電圧Ｖｃが、出力インバータの閾値電圧Ｖｔｈを下回ると、出力信号Ｖｏｕｔが立ち上がる。
【０１２２】
ここで、遅延回路５０では、コンデンサＣｄへの充電を電流Ｉ３により行い、コンデンサＣｄからの放電を電流Ｉ４により行う。この電流Ｉ３、Ｉ４は、いずれもカレントミラー回路が電流Ｉ１に基づき生成するものである。カレントミラー比がいずれのカレントミラー回路でも１：１である場合、電流Ｉ３、Ｉ４は電流Ｉ１と同じ電流値を有する。そのため、中間電圧Ｖｃの立ち上がりの傾き及び立ち下がりの傾きは、ｄＶｃ／ｄｔ＝Ｉｏｕｔ／Ｃで表すことができる。
【０１２３】
上記説明より、遅延回路５０では、遅延時間Ｔｄは、入力信号Ｖｉｎの立ち上がりエッジ又は立ち下がりエッジから中間電圧Ｖｃが出力インバータの閾値電圧Ｖｔｈを超えるまでの時間である。つまり、遅延回路５０は、出力電流Ｉｏｕｔ（電流Ｉ１）が温度変動に対する変動率が実施的にゼロであれば、温度によらず遅延時間Ｔｄを一定に保つことができる。また、遅延回路５０は、出力電流Ｉｏｕｔの電流値が精度良く設定されていれば、精度の高い遅延時間Ｔｄを設定することができる。このような遅延回路５０を、実施の形態２にかかるマイクロプロセッサ３に内蔵することもできる。マイクロプロセッサ３に遅延回路５０を内蔵した場合、図１８に示した起動処理により回路を動作させることができる。
【０１２４】
実施の形態５
実施の形態５では、定電流生成回路１により生成された出力電流Ｉｏｕｔの電流量によって負荷素子に与える負荷駆動電流が決まる出力回路６０について説明する。出力回路６０の回路図を図２１に示す。図２１に示すように、出力回路６０は、インバータ６１、ＮＭＯＳトランジスタＮ２０〜Ｎ２４を有する。そして、出力回路６０は、出力端子Ｔｏｕｔと電源端子との間に接続された負荷素子６２を駆動電流で駆動する。
【０１２５】
ＮＭＯＳトランジスタＮ２０は、ドレインに定電流生成回路１が出力する出力電流Ｉｏｕｔが入力される。ＮＭＯＳトランジスタＮ２０のソースは、ＮＭＯＳトランジスタＮ２１のドレインに接続される。ＮＭＯＳトランジスタＮ２０のゲートには、イネーブル信号ＥＮが入力される。
【０１２６】
ＮＭＯＳトランジスタＮ２１のドレインは、ＮＭＯＳトランジスタＮ２１のゲートと接続される。ＮＭＯＳトランジスタＮ２１のソースは、接地端子に接続される。ＮＭＯＳトランジスタＮ２２は、ＮＭＯＳトランジスタＮ２１と共にカレントミラー回路を構成する。ＮＭＯＳトランジスタＮ２２のドレインは、出力端子Ｔｏｕｔに接続される。
【０１２７】
ＮＭＯＳトランジスタＮ２４のゲートは、インバータ６１を介してイネーブル信号ＥＮの反転信号が入力される。ＮＭＯＳトランジスタＮ２４のソースは、接地端子に接続される。ＮＭＯＳトランジスタＮ２４のドレインは、ＮＭＯＳトランジスタＮ２１のゲートに接続される。
【０１２８】
続いて、出力回路６０の動作について説明する。出力回路６０は、イネーブル信号ＥＮがイネーブル状態（例えば、ハイレベル）である場合、ＮＭＯＳトランジスタＮ２０がオンし、ＮＭＯＳトランジスタＮ２４がオフする。これにより、出力電流Ｉｏｕｔは、電流Ｉ１０としてＮＭＯＳトランジスタＮ２１に流れる。そして、ＮＭＯＳトランジスタＮ２１、Ｎ２２により構成されるカレントミラー回路により電流Ｉ１１を電流Ｉ１０に基づき生成する。この電流Ｉ１１は、負荷素子６２に与えられる駆動電流となる。
【０１２９】
一方、出力回路６０は、イネーブル信号ＥＮがディスイネーブル状態（例えば、ロウレベル）である場合、ＮＭＯＳトランジスタＮ２０がオフし、ＮＭＯＳトランジスタＮ２４がオンする。これにより、出力電流Ｉｏｕｔは、ＮＭＯＳトランジスタＮ２０で遮断される。また、ＮＭＯＳトランジスタＮ２４がオンしているため、ＮＭＯＳトランジスタＮ２１、Ｎ２２のゲートが接地電圧となり、ＮＭＯＳトランジスタＮ２１、Ｎ２２により構成されるカレントミラー回路は停止状態となる。即ち、電流Ｉ１１は流れない。
【０１３０】
上記説明より、出力回路６０では、負荷素子６２を駆動する駆動電流を定電流生成回路１が出力する出力電流Ｉｏｕｔにより決定する。そのため、出力電流Ｉｏｕｔの温度変動に対する変動率がゼロであれば、出力回路６０は、温度変動によらず駆動電流を一定に保つことができる。また、出力回路６０は、負荷素子６２の両端に生じる電圧の振幅を温度変動によらず一定に保つことができる。さらに、定電流生成回路１が出力電流Ｉｏｕｔの電流値を高い精度で設定して出力することで、負荷素子６２の両端に生じる電圧の振幅を高精度に設定できる。
【０１３１】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
【符号の説明】
【０１３２】
１、２  定電流生成回路
３  マイクロプロセッサ
１０  温度変動電圧生成部
１１  定電圧生成部
１２  参照電圧生成部
１３  電流生成部
２１、２８  誤差増幅器
２２  傾き調整部
２３  第１のデコーダ
２４  メモリ
２５、２５ａ  曲率補正部
２６、２６ａ  第２のデコーダ
２７  メモリ
３０、３０ａ、３０ｂ  発振回路
３１  インバータ
３２、３４  容量駆動回路
３３、３５  コンパレータ
３６  ＳＲラッチ回路
４０  周波数検出回路
４１  ランプアンドホールド回路
４２  差動増幅器
４３  増幅部
４４  発振器
４５  制御回路
５０  遅延回路
６０  出力回路
６１  インバータ
６２  負荷素子
Ｃ  周波数設定コンデンサ
Ｃ１、Ｃ２、Ｃｄ  コンデンサ
Ｃｐｕｍｐ  フィルタコンデンサ
ＣＬＫ  クロック信号
ＣＯＵＮＴ  カウント値
Ｄｉ  ダイオード
ＨＯＬＤ  ホールド制御信号
ＩＮＩＴ  電荷リセット信号
ＰＵＬＳＥ  ポンプ制御信号
ＲＡＭＰ  ランプ制御信号
Ｉｏｕｔ  出力電流
ＭＥＭ  フラッシュメモリ
ＣＧ  クロック生成回路
ＰＥ  演算コア
Ｒｂ  抵抗
Ｒｉ  電流設定抵抗
ＳＷ  スイッチ回路
ＳＷ０、ＳＷ１１〜ＳＷ１ｍ  スイッチ
Ｔｏｕｔ  出力端子
Ｖｃｏｎｓｔ  基準電圧
ＶＲＥＦ  発振基準電圧
Ｖｒｅｆｃ  第２の変動電圧
【図１】
2014119822.tif 000003
【図２】
2014119822.tif 000004
【図３】
2014119822.tif 000005
【図４】
2014119822.tif 000006
【図５】
2014119822.tif 000007
【図６】
2014119822.tif 000008
【図７】
2014119822.tif 000009
【図８】
2014119822.tif 000010
【図９】
2014119822.tif 000011
【図１０】
2014119822.tif 000012
【図１１】
2014119822.tif 000013
【図１２】
2014119822.tif 000014
【図１３】
2014119822.tif 000015
【図１４】
2014119822.tif 000016
【図１５】
2014119822.tif 000017
【図１６】
2014119822.tif 000018
【図１７】
2014119822.tif 000019
【図１８】
2014119822.tif 000020
【図１９】
2014119822.tif 000021
【図２０】
2014119822.tif 000022
【図２１】
2014119822.tif 000023