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