温度に対して電圧値が変動する第1の変動電圧を生成する温度変動電圧生成部と、温度に対して前記第1の変動電圧よりも変動量が小さな基準電圧と、前記第1の変動電圧とに基づき第2の変動電圧を生成する変動傾き調整部と、温度に対して抵抗値が変動する電流設定抵抗を含み、前記第2の変動電圧と前記電流設定抵抗とに基づき出力電流を生成する電流生成部と、を有し、前記変動傾き調整部は、前記第2の変動電圧の温度に対する変動率を、温度に対する前記電流設定抵抗の抵抗値の変動率との差が予め設定された第1の規定範囲内になるように設定する定電流生成回路。前記変動傾き調整部は、複数の第1の電圧を生成する第1の傾き電圧生成部と、複数の第2の電圧を生成する第2の傾き電圧生成部と、の少なくとも一方を有し、前記複数の第1の電圧は、それぞれが第1の温度特性とは逆の傾きの第2の温度特性の傾きを有し、かつ、互いに温度に対して異なる変動率を有し、前記複数の第2の電圧は、それぞれが前記第1の温度特性の傾きを有し、かつ、互いに温度に対して異なる変動率を有し、前記変動傾き調整部は、前記第1の変動電圧が前記第1の温度特性の傾きを有し、前記電流設定抵抗の抵抗値が前記第2の温度特性の傾きを有する場合、前記複数の第1の電圧から選択した一の電圧を前記第2の変動電圧とし、前記第1の変動電圧及び前記電流設定抵抗の抵抗値が前記第1の温度特性の傾きを有する場合、前記複数の第2の電圧から選択した一の電圧を前記第2の変動電圧とする請求項1に記載の定電流生成回路。前記変動傾き調整部は、前記第2の変動電圧の傾きを設定する傾き設定値を記憶する記憶部を有する請求項1又は2に記載の定電流生成回路。前記傾き設定値は、第1の基板温度における前記出力電流と前記第1の基板温度よりも高い第2の基板温度における前記出力電流との差が予め設定された第2の規定範囲内となる値である請求項3に記載の定電流生成回路。前記変動傾き調整部は、第1、第2の抵抗により増幅率が設定され、前記第1の変動電圧を入力電圧とする反転増幅器と、前記傾き設定値に基づき前記第2の変動電圧の変動率を変更する傾き制御部と、を有し、前記第1、第2の抵抗は、それぞれ複数の抵抗により構成され、複数の抵抗の接続点のそれぞれには出力タップが設けられ、前記傾き制御部は、前記傾き設定値に基づき前記第2の変動電圧を出力する前記出力タップを切り換えることで前記第2の変動電圧の変動率を変更する請求項3又は4に記載の定電流生成回路。前記電流設定抵抗の抵抗値の変動方向と、前記第2の変動電圧の変動方向は、同一である請求項1乃至5のいずれか1項に記載の定電流生成回路。前記温度変動電圧生成部は、ダイオードの順方向電圧を前記第1の変動電圧として出力する請求項1乃至6のいずれか1項に記載の定電流生成回路。前記電流生成部は、前記第1の電源端子にソースが接続され、ドレインが前記電流設定抵抗を介して第2の電源端子に接続される第1のトランジスタと、前記第1のトランジスタと前記電流設定抵抗との間のノードに生成される電流設定電圧と前記第2の変動電圧との電圧差に基づき誤差電圧を前記第1のトランジスタのゲートに与える誤差増幅器と、前記第1のトランジスタとカレントミラー接続される第2のトランジスタと、を有し、前記第1のトランジスタは、前記誤差電圧に基づき前記電流設定抵抗の両端に生成される電圧が前記第2の変動電圧となるように前記電流設定抵抗に電流を出力し、前記第2のトランジスタは、第1のトランジスタが前記電流設定抵抗に流す電流に比例した電流を前記出力電流として出力する請求項1乃至7のいずれか1項に記載の定電流生成回路。バンドギャップ電圧に基づき前記基準電圧を生成する基準電圧生成部を有する請求項1乃至8のいずれか1項に記載の定電流生成回路。プログラム及び設定値が格納されるメモリと、前記メモリに格納された前記プログラムに基づき演算処理を行う演算コアと、定電流生成回路と、を有し、前記定電流生成回路は、温度に対して電圧値が変動する第1の変動電圧を生成する温度変動電圧生成部と、温度に対して前記第1の変動電圧よりも変動量が小さな基準電圧と、前記第1の変動電圧とに基づき第2の変動電圧を生成する変動傾き調整部と、温度に対して抵抗値が変動する電流設定抵抗を含み、前記第2の変動電圧と前記電流設定抵抗とに基づき出力電流を生成する電流生成部と、を有し、前記変動傾き調整部は、前記第2の変動電圧の温度に対する変動率を、温度に対する前記電流設定抵抗の抵抗値の変動率との差が予め設定された第1の規定範囲内になるように設定するマイクロプロセッサ。前記変動傾き調整部は、複数の第1の電圧を生成する第1の傾き電圧生成部と、複数の第2の電圧を生成する第2の傾き電圧生成部と、の少なくとも一方を有し、前記複数の第1の電圧は、それぞれが第1の温度特性とは逆の傾きの第2の温度特性の傾きを有し、かつ、互いに温度に対して異なる変動率を有し、前記複数の第2の電圧は、それぞれが前記第1の温度特性の傾きを有し、かつ、互いに温度に対して異なる変動率を有し、前記変動傾き調整部は、前記第1の変動電圧が前記第1の温度特性の傾きを有し、前記電流設定抵抗の抵抗値が前記第2の温度特性の傾きを有する場合、前記複数の第1の電圧から選択した一の電圧を前記第2の変動電圧とし、前記第1の変動電圧及び前記電流設定抵抗の抵抗値が前記第1の温度特性の傾きを有する場合、前記複数の第2の電圧から選択した一の電圧を前記第2の変動電圧とする請求項10に記載のマイクロプロセッサ。前記定電流生成回路により生成された前記出力電流に基づき出力信号の発振周波数が決定される発振回路を有する請求項10又は11に記載のマイクロプロセッサ。前記傾き調整部は、前記第2の変動電圧の傾きを設定する傾き設定値を記憶する記憶部を有し、前記定電流生成回路は、予め設定された初期傾き設定値に基づき前記出力電流を生成し、前記発振回路は、前記初期傾き設定値に基づき生成された前記出力電流に基づき前記出力信号を生成し、前記演算コアは、前記発振回路が出力した前記出力信号に基づき動作し、前記メモリから前記傾き設定値を読み出して前記傾き調整部の前記記憶部に書き込み、前記記憶部に前記傾き調整値が設定された後は、前記定電流生成回路は、設定された前記傾き調整値に基づき前記出力電流を生成する請求項12に記載のマイクロプロセッサ。前記定電流生成回路により生成された前記出力電流に基づき遅延時間が設定される遅延回路を有する請求項10又は11に記載のマイクロプロセッサ。前記定電流生成回路により生成された前記出力電流に基づき負荷駆動電流の電流値が決定される出力回路を有する請求項10又は11に記載のマイクロプロセッサ。一般的に、異なる温度変動を示す抵抗は、異なる半導体プロセスで形成される。異なる温度変動を示す抵抗は、異なる製造ばらつきを有する。そのため、これらの抵抗を組み合わせた合成抵抗の抵抗値がばらついた場合は、いずれかの抵抗をトリミングして合成抵抗を合わせる必要がある。しかしながら、合成抵抗を含む回路においては、合成抵抗の全体の抵抗値により回路特性を決めているために、トリミングを行う場合に合成抵抗を構成する抵抗のいずれをトリミングすべきかを特定することが難しい。例えば、一方の抵抗をトリミングして合成抵抗の抵抗値を期待値に設定できたとしても、2つの抵抗の抵抗比がずれてしまうため、合成抵抗の抵抗値の温度特性が期待値とずれる問題がある。つまり、特許文献1に記載の技術では、抵抗値のトリミングが難しく、合成抵抗抵抗Rを構成する抵抗の個別の製造ばらつきに基づく電流IRAMPの温度特性のずれ解消できない問題がある。また、特許文献2、3においても、合成抵抗を構成する抵抗の個別の製造ばらつきに基づく回路特性のずれを解消することができない問題がある。本発明にかかる定電流生成回路の一態様は、温度に対して電圧値が変動する第1の変動電圧を生成する温度変動電圧生成部と、温度に対して前記第1の変動電圧よりも変動量が小さな基準電圧と、前記第1の変動電圧とに基づき第2の変動電圧を生成する変動傾き調整部と、温度に対して抵抗値が変動する電流設定抵抗を含み、前記第2の変動電圧と前記電流設定抵抗とに基づき出力電流を生成する電流生成部と、を有し、前記変動傾き調整部は、前記第2の変動電圧の温度に対する変動率を、温度に対する前記電流設定抵抗の抵抗値の変動率との差が予め設定された第1の規定範囲内になるように設定する。本発明にかかるマイクロプロセッサの一態様は、プログラム及び設定値が格納されるメモリと、前記メモリに格納された前記プログラムに基づき演算処理を行う演算コアと、定電流生成回路と、を有し、前記定電流生成回路は、温度に対して電圧値が変動する第1の変動電圧を生成する温度変動電圧生成部と、温度に対して前記第1の変動電圧よりも変動量が小さな基準電圧と、前記第1の変動電圧とに基づき第2の変動電圧を生成する変動傾き調整部と、温度に対して抵抗値が変動する電流設定抵抗を含み、前記第2の変動電圧と前記電流設定抵抗とに基づき出力電流を生成する電流生成部と、を有し、前記変動傾き調整部は、前記第2の変動電圧の温度に対する変動率を、温度に対する前記電流設定抵抗の抵抗値の変動率との差が予め設定された第1の規定範囲内になるように設定する本発明にかかる定電流生成回路及びこれを含むマイクロプロセッサによれば、変動傾き調整部が第2の変動電圧の変動率傾きを調整するのみで出力電流の温度変動を抑制することができる。つまり、本発明にかかる定電流生成回路及びこれを含むマイクロプロセッサでは、出力電流の温度変動を調整するための項目が1つであるため、調整処理によって出力電流の温度変動が大きくなることを防止することができる。本発明にかかる定電流生成回路及びこれを含むマイクロプロセッサによれば、調整処理により的確に出力電流の温度変動を改善することができる。実施の形態1以下、図面を参照して本発明の実施の形態について説明する。実施の形態1にかかる定電流生成回路1のブロック図を図1に示す。図1に示すように、定電流生成回路1は、温度変動電圧生成部10、定電圧生成部11、変動傾き調整部12、電流生成部13を有する。温度変動電圧生成部10は、温度に対して電圧値が変動する第1の変動電圧を生成する。本実施の形態では、温度変動電圧生成部10は、ダイオードDiを有し、ダイオードDiの順方向電圧Vfを第1の変動電圧として出力する以下では、第1の変動電圧Vfと称す。このダイオードは、カソードが第2の電源端子例えば、接地端子に接続され、アノードに第1の変動電圧を生成する。ダイオードDiが生成する第1の変動電圧Vfは、ダイオードの順方向電圧であり、-2mV/°C程度温度に対して負の温度特性の変動率を有する。なお、温度変動電圧生成部10は、正の温度特性を有する第1の変動電圧を生成しても良く、また、第1の変動電圧の温度に対する変動率は利用する素子、あるいは、回路の特性に応じて設定することができる。定電圧生成部11は、温度に対して前記第1の変動電圧よりも変動量が小さな基準電圧Vconstを生成する。本実施の形態では、定電圧生成部11として、バンドギャップ電圧に基づき基準電圧Vconstを生成するバンドギャップ電圧源を用いる。この基準電圧Vconstは、温度に対する変動が第1の変動電圧よりも遙かに小さく、温度に対してほぼ一定の電圧を有する。なお、基準電圧Vconstは、バンドギャップ電圧源以外の回路例えば、抵抗分圧回路等により生成しても良い。変動傾き調整部12は、基準電圧Vconstと、第1の変動電圧Vfとに基づき第2の変動電圧Vrefcを生成する。このとき、変動傾き調整部12は、第2の変動電圧Vrefcの温度に対する変動率と、後述する電流設定抵抗Riの温度に対する抵抗値の変動率と、の差を予め設定された第1の規定範囲内に設定する。変動傾き調整部12は、複数の第1の電圧を生成する第1の傾き電圧生成部と、複数の第2の電圧を生成する第2の傾き電圧生成部と、の少なくとも一方を有する。複数の第1の電圧は、それぞれが第1の温度特性とは逆の傾きの第2の温度特性の傾きを有し、かつ、互いに温度に対して異なる変動率を有する。複数の第2の電圧は、それぞれが第1の温度特性の傾きを有し、かつ、互いに温度に対して異なる変動率を有する。そして、変動傾き調整部12は、第1の変動電圧Vfが第1の温度特性の傾きを有し、電流設定抵抗Riの抵抗値が第2の温度特性の傾きを有する場合、複数の第1の電圧から選択した一の電圧を第2の変動電圧Vrefcとする。また、変動傾き調整部12は、第1の変動電圧Vf及び電流設定抵抗Riの抵抗値が第1の温度特性の傾きを有する場合、複数の第2の電圧から選択した一の電圧を第2の変動電圧Vrefcとする。なお、電流設定抵抗Riは、後述する電流生成部13にも売られる抵抗である。また、以下では、第1の温度特性は負の傾き温度が上昇するにしたがって値が小さくなる傾きであるものとし、第2の温度特性は正の傾き温度が上昇するにしたがって値が大きく傾きであるものとして説明を行う。変動傾き調整部12が第2の変動電圧の温度に対する傾きを調整する方法についての詳細は後述する。変動傾き調整部12は、増幅器21、第1の傾き電圧生成部第1の抵抗R1、第2の傾き電圧生成部第2の抵抗R2、PMOSトランジスタP1、傾き制御部22を有する。増幅器21、第1の抵抗R1、第2の抵抗R2及びPMOSトランジスタP1は、反転増幅器を構成する。増幅器21の反転入力端子には基準電圧Vconstが入力され、非反転入力端子には第1の抵抗R1と第2の抵抗R2との間のノードに生成される電圧V0が入力される。PMOSトランジスタP1は、ソースが第1の電源端子例えば、電源端子VDDに接続され、ドレインが第1の抵抗R1及び第2の抵抗R2を介してダイオードDiのカソードに接続される。また、PMOSトランジスタP1のゲートには、増幅器21が基準電圧Vconstと電圧V0との電圧差に基づき生成する誤差電圧が与えられる。つまり、この反転増幅器は、第1の変動電圧Vfを入力電圧とし、第1の抵抗R1と第2の抵抗R2との比に応じて設定される増幅率で第1の変動電圧Vfを増幅し、PMOSトランジスタP1のドレインと第1の抵抗R1との間のノードに第1の変動電圧Vfを増幅した電圧を生成する。第1の抵抗R1は、複数の抵抗R11~R1mmは2以上の整数を直列に接続することで構成される。第2の抵抗R2は、複数の抵抗R21~R2nnは2以上の整数を直列に接続することで構成される。第1の抵抗R1は、複数の抵抗の接続点のそれぞれに出力タップが設けられる。また、第2の抵抗R2は、複数の抵抗の接続点のそれぞれに出力タップが設けられる。図1に示す例では、第1の抵抗R1の出力タップには、複数の第1の電圧例えば、電圧V11~V1mが生成される。電圧V11~V1mは、それぞれ抵抗R11~R1mの高電位側の端子に生成される電圧である。なお、電圧V11は、第1の変動電圧Vfを第1の抵抗R1と第2の抵抗R2との抵抗比により決まる増幅率で増幅した電圧である。図1に示す例では、第2の抵抗R2の出力タップには、複数の第2の電圧例えば、電圧V21~V2nが生成される。電圧V21~V2nは、それぞれ抵抗R21~R2nの低電位側の端子に生成される電圧である。なお、電圧V2nは、第1の変動電圧Vfと同じ電圧である。さらに、第1の抵抗R1と第2の抵抗R2との間にも出力タップが設けられ、この出力タップには、電圧V0が生成される。つまり、電圧V12~V1m、V0、V21~V2n-1は、第1の変動電圧Vfと電圧V11との電圧差を抵抗R11~R1m及び抵抗R21~R2nにより分圧した電圧値を有する。また、電圧V12~V1m、V0、V21~V2n-1の温度に対する変動率は、抵抗R11~R1m及び抵抗R21~R2nにより決まる分圧比に応じて異なる。この電圧V11~V1m、V0、V21~V2nの温度に対する変動率の詳細については後述する。傾き制御部22は、傾き設定値に基づき第2の変動電圧Vrefcの変動率を変更する。より具体的には、傾き制御部22は、傾き設定値に基づき第2の変動電圧を出力する出力タップを切り換えることで第2の変動電圧の変動率を変更する。傾き制御部22は、スイッチSW11~SW1m、SW0、SW21~SW2n、デコーダ23、記憶部例えば、メモリ24を有する。スイッチSW11~SW1mの一端は、電圧V11~V1mが生成される出力タップにそれぞれ接続される。スイッチSW0の一端は電圧V0が生成される出力タップに接続される。スイッチSW21~SW2nの一端は、電圧V21~V2nが生成される出力タップにそれぞれ接続される。スイッチSW11~SW1m、SW0、SW21~SW2nの他端は共通接続される。メモリ24には、予め設定された傾き設定値が格納される。このメモリは、フラッシュメモリ等の不揮発性メモリでも良く、物理的な素子の破壊等により値を保持するヒューズ回路でも良く、DRAM等の揮発性メモリでも良い。デコーダ23は、メモリ24から読み出した傾き設定値に基づきスイッチSW11~SW1m、SW0、SW21~SW2nのいずれか1つを選択する。つまり、傾き制御部22は、第1の抵抗R1及び第2の抵抗R2を構成する複数の抵抗の接続点に設けられた複数の出力タップに生成される電圧の1つを選択して第2の変動電圧として出力する。電流生成部13は、誤差増幅器25、PMOSトランジスタP2、P3、電流設定抵抗Riを有する。そして、電流生成部13は、第2の変動電圧Vrefcと電流設定抵抗Riとに基づき出力電流Ioutを生成する。電流設定抵抗Riは、例えば、抵抗値が温度に対して正の温度特性を有する。PMOSトランジスタP2は、電源端子にソースが接続され、ドレインが電流設定抵抗Riを介して接地端子に接続される。誤差増幅器25は、PMOSトランジスタP2と電流設定抵抗Riとの間のノードに生成される電流設定電圧と第2の変動電圧Vrefcとの電圧差に基づき誤差電圧をPMOSトランジスタP2のゲートに与える。そして、PMOSトランジスタP2は、誤差電圧に基づき電流設定抵抗Riの両端に生成される電圧が第2の変動電圧Vrefcとなるように電流設定抵抗に電流を出力する。ここで、電流生成部13においては、PMOSトランジスタP2のドレインと電流設定抵抗Riとの間のノードに生成される電流設定電圧は、誤差増幅器25の仮想短絡により第2の変動電圧Vrefcと同じ電圧値となるものである。PMOSトランジスタP3は、PMOSトランジスタP2とカレントミラー接続される。また、PMOSトランジスタP3は、PMOSトランジスタP2が電流設定抵抗Riに流す電流に比例した電流を出力電流として出力する。PMOSトランジスタP2に流れる電流と、PMOSトランジスタP3に流れる電流と、の比は、2つのトランジスタのトランジスタサイズ比によって決まる。例えば、トランジスタサイズ比が1:1である場合、PMOSトランジスタP2に流れる電流とPMOSトランジスタP3に流れる電流とは同じになり、トランジスタサイズ比が1:2である場合、PMOSトランジスタP3に流れる電流とPMOSトランジスタP2に流れる電流の2倍になる。なお、トランジスタサイズ比は、PMOSトランジスタP2、P3のゲート長が同じであれば、ゲート幅の比で決まる。また、PMOSトランジスタP2、P3に代えて、PNPトランジスタを用いた場合、PNPトランジスタのエミッタの面積比によりトランジスタサイズが決まる。続いて、実施の形態1にかかる定電流生成回路1の動作について説明する。まず、定電流生成回路1の変動傾き調整部12の出力タップの違いによる第2の変動電圧Vrefcの温度変動の違い示すグラフを図2に示す。図2に示す例では、第1の抵抗R1と第2の抵抗R2とを同じ抵抗値に設定した。また、第1の抵抗R1と第2の抵抗R2を構成する抵抗の個数を同じとし、かつ、複数の抵抗R11~R1m、R21~R2nを全て同じ抵抗値とした。図2に示すように、この場合、電圧V11~V1m、V0、V21~V2nは、出力タップが設けられているノードの上側の抵抗と下側の抵抗との比により温度変動に対する傾きが異なる。一方、抵抗R1において生成される電圧V11~V1mは、温度特性の傾きは全て正の傾きとなり、抵抗R2において生成される電圧V21~V2nは、温度特性の傾きは全て負の傾きとなる。このような傾きの違いは、反転増幅器の増幅率を決定する第1の抵抗R1及び第2の抵抗R2を構成する複数の抵抗の接続点に出力タップを設けることで、第1の変動電圧の温度変動に対する変動率が出力タップの上下に設けられた抵抗の比により増幅されるためである。続いて、実施の形態1にかかる定電流生成回路1の電流生成部13の電流設定抵抗Riの温度変動を示すグラフを図3に示す。図3に示すように、電流設定抵抗Riは、温度が上昇すると抵抗値が増加する正の温度特性を有する。実施の形態1にかかる定電流生成回路1は、変動傾き調整部12において、図2に示す電圧のいずれか1つを選択して第2の変動電圧Vrefcとして出力する。この第2の変動電圧は、第1の変動電圧の温度変動に対する変化率を調整した電圧として考えることができる。実施の形態1にかかる定電流生成回路1では、メモリ24に格納された傾き設定値に基づき第2の変動電圧Vrefcとして出力する出力タップの電圧を選択する。そして、定電流生成回路1は、傾き設定値により、第2の変動電圧Vrefcとして、電流設定抵抗Riと同じ温度変動に対する変動率の電圧を選択する。このようにすることで、出力電流Ioutの電流値は、温度変動によらず一定になる。ここで、出力電流Ioutが一定となる原理について式を用いて説明する。まず、PMOSトランジスタP2、P3のトランジスタサイズ比が1:1である場合の出力電流Ioutは、1式で表すことができる。なお、1式では、出力電流の電流値をIoutで表し、第2の変動電圧の電圧値をVrefcで表し、電流設定抵抗の抵抗値をRiで表し、第2の変動電圧の温度変動に対する変化率をxで表し、電流設定抵抗の温度変動に対する変動率をyで表した。Iout=Vrefcx/Riy1ここで、x=yとすると、1式は2式に変形することができる。Iout=Vrefc/Ri21式及び2式より、第2の変動電圧Vrefcと電流設定抵抗Riの温度変動に対する変動率が同じであれば、出力電流Ioutの電流値が温度変動の影響を受けないことがわかる。次いで、実施の形態1にかかる定電流生成回路の変動傾き調整部における第2の変動電圧を取り出す出力タップの違いによる出力電流の温度変動の違いを示すグラフを図4に示す。図4に示す例では、第2の変動電圧Vrefcを電圧V12が出力される出力タップから取り出すことで、出力電流Ioutが温度変動によらず一定となることがわかる。これは、図2に示す電圧V12の温度変動に対する変動率と、電流設定抵抗Riの温度変動に対する変動率とが同一であるためである。続いて、実施の形態1にかかる定電流生成回路1における出力電流Ioutの設定方法について説明する。2式から、定電流生成回路1では、電流設定抵抗Riの値を変更することで出力電流Ioutの電流値を設定することができることがわかる。第2の変動電圧Vrefcを取り出す出力タップの電圧V11~V1m、V0、V21~V2nは、それぞれ異なる電圧値を有する。そのため、第2の変動電圧として選択した電圧によっては、出力電流Ioutの電流値が予め設定された規定範囲を超える場合がある。このような場合は、電流設定抵抗Riの抵抗値をトリミング等することで出力電流Ioutの電流値を規定範囲内に設定することができる。電流設定抵抗Riとしては、半導体基板上に形成されるポリシリコン抵抗正の温度特性、N-well抵抗負の温度特性、タングステン抵抗正の温度特性、あるいは、外付け部品として設けられる抵抗、を用いることができる。しかしながら、半導体装置の端子数の削減及び出力電流の安定度を考慮した場合、電流設定抵抗Riとして半導体基板上に形成されるタングステン抵抗を用いることが好ましい。タングステン抵抗は、半導体基板への応力変化に対しても抵抗値が安定しているためである。そこで、実施の形態1にかかる定電流生成回路が形成される半導体チップの封止材例えば、モールド樹脂の有無による出力電流の温度変動の違いを示すグラフを図5に示す。図5に示す例では、電流設定抵抗Riとしてタングステン抵抗を用いた場合のモールド樹脂の有無による出力電流の変化率と、電流設定抵抗Riとしてポリシリコン抵抗を用いた場合のモールド樹脂の有無による出力電流の変化率と、を示した。図5に示すように、タングステン抵抗は、モールド樹脂がない場合の出力電流とモールド樹脂がある場合の出力電流との誤差が0.5未満である。一方、ポリシリコン抵抗は、モールド樹脂がない場合の出力電流とモールド樹脂がある場合の出力電流との誤差が最大で2程度となる。半導体装置は、半導体チップをモールド樹脂で封止して形成するが、このモールド樹脂は半導体チップに応力を与える。つまり、図5から、タングステン抵抗は、ポリシリコン抵抗よりも半導体チップへの応力に対して安定した特性を維持できることがわかる。半導体チップへの応力は、モールド樹脂の温度変化、実装した場合における実装基板の反り等により変化するため、より安定した出力電流Ioutを得るためにはタングステン抵抗を電流設定抵抗Riとして用いることが好ましい。続いて、実施の形態1にかかる定電流生成回路1における傾き設定値の設定方法について説明する。まず、定電流生成回路1では、傾き設定値は通常使用を行う前に決定してメモリ24に格納されるものである。しかし、格納する傾き設定値は、出荷前の出荷テストとうにおいて決めておく必要がある。そこで、出荷テストにおける傾き設定値の設定手順を示すフローチャートを図6示す。なお、図6に示す設定手順を実行するにあたり、傾き設定値は出力電流Ioutの温度変動にかかわらず一律に設定された初期値に設定されるものとする。図6に示すように、設定手順では、まず、定電流生成回路1が形成される半導体基板の温度を第1の温度に設定するステップS1。この第1の温度は、後述する第2の温度よりも低温の温度である。そして、第1の温度に設定された半導体基板上に形成された定電流生成回路1の出力電流Ioutの電流値第1の出力電流測定値を取得するステップS2。続いて、半導体基板の温度を第2の温度に設定するステップS3。この第2の温度は、第1の温度よりも高い温度である。そして、第2の温度に設定された半導体基板上に形成された定電流生成回路1の出力電流Ioutの電流値第2の出力電流測定値を取得するステップS4。続いて、第1の出力電流測定値と第2の出力電流測定値との差分値を計算するステップS5。この計算は、定電流生成回路1を含む半導体装置をテストするテスト装置等で行う。続いて、ステップS5で算出した差分値が予め設定した規定範囲内であるか否かを判断するステップS6。出力電流Ioutは、理想的には温度変動に対する変動率がゼロであることが好ましいが、変動傾き調整部12で生成される電圧V11~V1m、V0、V21~V2nが離散的な電圧値となるため、出力電流Ioutの温度変動に対する変動率をゼロとすることは現実的ではない。そこで、このステップS6では、上限値と下限値とにより規定範囲を定め、差分値が規定範囲内であれば規格を満たすこととした。ステップS6の判断において、差分値が規定範囲外であると判断された場合、ステップS7の処理を行う。ステップS7では、差分値の大きさに応じてデコーダが選択するスイッチを決定し、決定したスイッチに対応する値で傾き設定値を更新する。例えば、差分値が下限値を下回っていた場合、差分値の下限値からのずれ量に応じて現状より高い電圧が生成される出力タップに対応したスイッチを選択するような値で傾き設定値を更新する。一方、ステップS6の判断において、差分値が規定範囲内であると判断された場合、処理を終了する。上記説明より、実施の形態1にかかる定電流生成回路1では、変動傾き調整部12が、温度変動に対して所定の変動率を有する第1の変動電圧Vfから、電流設定抵抗Riの抵抗値の温度変動に対する変動率に合致するような変動率を有する第2の変動電圧Vrefcを生成する。このとき、変動傾き調整部12では、第2の変動電圧として出力する電圧が生成される出力タップを切り換えるのみで第2の変動電圧Vrefcの温度変動に対する変動率を調整する。つまり、定電流生成回路1では、1つのパラメータのみで第2の変動電圧Vrefcの温度変動に対する変動率を出力電流が温度に対して一定になるように調節することができる。特許文献1では、温度に対する抵抗値の変動が逆になる2つの抵抗を組み合わせた抵抗Rの抵抗値により電流IRAMPを生成した。しかし、特許文献1の図3に示すように、抵抗Rの温度変動に対する抵抗値の変動率は2程度である。つまり、特許文献1に記載の技術では、電流IRAMPの温度に対するばらつきが2程度となる。一方、実施の形態1にかかる定電流生成回路1は、電流設定抵抗Riの抵抗値の温度変動に対する変動率と第2の変動電圧Vrefcの温度変動に対する変動率とを合致させることで、出力電流Ioutの変動率を1以下にとどめることができる。また、実施の形態1にかかる定電流生成回路1では、出力電流Ioutの電流値が規定範囲からずれた場合は、電流設定抵抗Riの抵抗値をトリミング等で変更することで補正することができる。このとき、この電流設定抵抗Riの抵抗値を変更したとしてもこの変更は、第2の変動電圧Vrefcの電圧値及び変動率に影響を与えない。つまり、定電流生成回路1では、出力電流Ioutの電流値を出力電流Ioutの温度変動に対する変動率とは独立して調整することができる。これにより、定電流生成回路1では、高い精度で出力電流Ioutの電流値及び温度変動に対する変動率を設定することができる。さらに、特許文献1では、互いに逆の温度特性を有する2つの抵抗を用いて2つの抵抗の合成抵抗により出力電流Ioutの電流値を設定した場合、2つの抵抗を共にメタル抵抗で形成することは困難である。つまり、特許文献1等に記載の技術では、半導体チップにかかる応力に対して出力電流Ioutのばらつきを低減することは困難である。一方、実施の形態1にかかる定電流生成回路1では、電流設定抵抗Riとしてタングステン抵抗等のメタル抵抗を用いることで、定電流生成回路1が形成される半導体チップにかかる応力に対してもばらつきの少ない出力電流Ioutを生成することができる。なお、実施の形態1にかかる定電流生成回路1では、第2の変動電圧Vrefcの温度特性を正の温度特性と負の温度特性とのいずれの特性とすることもできるように、抵抗R1、R2のいずれに対しても出力タップを設けたが、第2の変動電圧Vrefcの温度特性をいずれか一方の温度特性に決めることができる場合は、抵抗R1、R2のいずれ一方のみに出力タップを設けるだけとしても良い。実施の形態2実施の形態2にかかるマイクロプロセッサ2のブロック図を図7に示す。図7に示すように、マイクロプロセッサ2は、演算コアPE、メモリ例えば、フラッシュメモリMEM、クロック生成回路CGを有する。そして、クロック生成回路CGに実施の形態1にかかる定電流生成回路1が含まれる。クロック生成回路CGは、定電流生成回路1で生成された精度の高い出力電流Ioutを利用して温度に対するばらつきが少ないクロック信号CLKを生成する。図2に示す例では、クロック生成回路CGが出力するクロック信号CLKは、演算コアPEとフラッシュメモリMEMに供給される。しかし、このクロック信号CLKは、外部に出力されるものであっても良い。続いて、実施の形態2にかかるマイクロプロセッサ2について詳細に説明する。なお、以下の説明では、定電流生成回路1は、実施の形態1において説明したものと実質的に同じであるため個々での詳細な説明は省略する。フラッシュメモリMEMには、プログラム及び設定値が格納される。演算コアPEは、フラッシュメモリに格納されたプログラムに基づき演算処理を行う。クロック生成回路CGは、定電流生成回路1により生成された出力電流Ioutに基づき発振周波数が決定される出力信号クロック信号CLKを生成する。フラッシュメモリMEM、演算コアPE、クロック生成回路CGは、内部バスによって相互に接続されている。ここで、発振回路30の詳細について説明する。発振回路30の一例である発振回路30aのブロック図を図8に示す。発振回路30aは、インバータ31、容量駆動回路32、34、コンパレータ33、35、SRラッチ回路36、コンデンサC1、C2を有する。容量駆動回路32は、NMOSトランジスタN1、PMOSトランジスタP4を有する。NMOSトランジスタN1のソースは接地端子に接続され、ドレインはPMOSトランジスタP4のドレインと接続される。PMOSトランジスタP4のドレインとNMOSトランジスタN1のドレインとの接続点は容量駆動回路32の出力ノードである。PMOSトランジスタP4のソースには、定電流生成回路1が出力する出力電流Ioutが入力される。PMOSトランジスタP4のゲートとNMOSトランジスタN1のゲートは共通接続され、発振回路30aが出力するクロック信号CLKがインバータ31を介して入力される。インバータ31は、クロック信号CLKを反転した信号を容量駆動回路32に出力する。コンデンサC1は、容量駆動回路32の出力ノードと接地端子との間に接続される。また、出力ノードには、コンデンサC1に蓄積された電荷量に応じて電圧Vcp1が生成される。コンパレータ33は、非反転入力端子に電圧Vcp1が入力され、反転入力端子に発振基準電圧VREFが入力される。そして、コンパレータ33は、電圧Vcp1と発振基準電圧VREFとの大小関係に応じてリセット信号Rの論理レベルを切り換える。より具体的には、コンパレータ33は、電圧Vcp1が電圧VREFよりも大きな場合、リセット信号Rをロウレベルとする。一方、コンパレータ33は、電圧Vcp1が発振基準電圧VREFよりも小さな場合、リセット信号Rをハイレベルとする。なお、コンパレータ33は、出力するリセット信号Rの論理レベルを安定的に切り換えるためにヒステリシスコンパレータであることが好ましい。ヒステリシスコンパレータは、ヒステリシス幅をdhとすると、電圧Vcp1>発振基準電圧VREFとなる場合にリセット信号Rをロウレベルからハイレベルに切り換え、電圧Vcp1dh<発振基準電圧VREFとなった場合にリセット信号Rをハイレベルからロウレベルに切り換える。容量駆動回路34は、NMOSトランジスタN2、PMOSトランジスタP5を有する。NMOSトランジスタN2のソースは接地端子に接続され、ドレインはPMOSトランジスタP5のドレインと接続される。PMOSトランジスタP5のドレインとNMOSトランジスタN2のドレインとの接続点は容量駆動回路34の出力ノードである。PMOSトランジスタP5のソースには、定電流生成回路1が出力する出力電流Ioutが入力される。PMOSトランジスタP5のゲートとNMOSトランジスタN2のゲートは共通接続され、発振回路30aが出力するクロック信号CLKが入力される。コンデンサC2は、容量駆動回路34の出力ノードと接地端子との間に接続される。また、出力ノードには、コンデンサC2に蓄積された電荷量に応じて電圧Vcp2が生成される。コンパレータ35は、非反転入力端子に電圧Vcp2が入力され、反転入力端子に発振基準電圧VREFが入力される。そして、コンパレータ35は、電圧Vcp2と発振基準電圧VREFとの大小関係に応じてセット信号Sの論理レベルを切り換える。より具体的には、コンパレータ35は、電圧Vcp2が発振基準電圧VREFよりも大きな場合、セット信号Sをロウレベルとする。一方、コンパレータ35は、電圧Vcp2が発振基準電圧VREFよりも小さな場合、セット信号Sをハイレベルとする。なお、コンパレータ35は、出力するセット信号Sの論理レベルを安定的に切り換えるためにヒステリシスコンパレータであることが好ましい。ヒステリシスコンパレータは、ヒステリシス幅をdhとすると、電圧Vcp2>発振基準電圧VREFとなる場合にセット信号Sをロウレベルからハイレベルに切り換え、電圧Vcp1dh<発振基準電圧VREFとなった場合にセット信号Sをハイレベルからロウレベルに切り換える。SRラッチ回路36は、セット信号Sとリセット信号Rとが入力され、出力信号Qを出力する。この出力信号Qは、クロック信号CLKとなる。SRラッチ回路36は、セット信号Sの立ち上がりエッジに応じてクロック信号CLKを立ち上げ、リセット信号Rの立ち上がりエッジに応じてクロック信号CLKを立ち下げる。発振回路30aでは、発振基準電圧VREFが入力されるが、この発振基準電圧VREFは、定電流生成回路1の増幅器21の非反転入力端子の電圧が用いられる。増幅器21の非反転入力端子の電圧は、基準電圧Vconstと実質的に同じものである。しかし、増幅器21は入力オフセットを有している場合、基準電圧Vconstと増幅器21の非反転入力端子の電圧との間に電圧差が生じる。また、増幅器21の非反転入力端子の電圧は、第2の変動電圧の基準となる電圧である。つまり、増幅器21の非反転入力端子の電圧は、基準電圧Vconstよりも、定電流生成回路1の出力電流Ioutと高い相関関係を有する。また、発振回路30aは、定電流生成回路1の出力電流Ioutの電流量に応じて発振周波数が決まる。このようなことから、発振基準電圧VREFに基づき発振回路30aを動作させることで、発振回路30aは、発振周波数の期待値からの誤差を低減させることができる。ここで、発振回路30aの動作を示すタイミングチャートを図9に示す。まず、クロック信号CLKがロウレベルである期間の発振回路30aの動作について説明する。クロック信号CLKがロウレベルである期間において、容量駆動回路32では、PMOSトランジスタP4がオフし、NMOSトランジスタN1がオンした状態になる。そして、容量駆動回路32は、NMOSトランジスタN1によりコンデンサC1から電荷の引き抜きを行い電圧Vcp1の電圧レベルを低下させる。その後、電圧Vcp1の電圧レベルが発振基準電圧VREFから降下して所定の電圧例えば、VREF-ヒステリシス幅を下回るとコンパレータ33がリセット信号Rをハイレベルからロウレベルに切り換える。また、クロック信号CLKがロウレベルである期間において、容量駆動回路34では、PMOSトランジスタP5がオンし、NMOSトランジスタN2がオフした状態になる。そして、容量駆動回路34は、PMOSトランジスタP5を介して出力電流IoutをコンデンサC2に与えて、コンデンサC2に蓄積された電荷量を増加させることで電圧Vcp2の電圧レベルを上昇させる。その後、電圧Vcp2の電圧レベルが発振基準電圧VREFに達するとコンパレータ35がセット信号Sをロウレベルからハイレベルに切り換えるタイミングT1、T3。続いて、クロック信号CLKがハイレベルである期間の発振回路30aの動作について説明する。クロック信号CLKがハイレベルである期間において、容量駆動回路32では、PMOSトランジスタP4がオンし、NMOSトランジスタN1がオフした状態になる。そして、容量駆動回路32は、PMOSトランジスタP4を介して出力電流IoutをコンデンサC1に与えて、コンデンサC1に蓄積された電荷量を増加させることで電圧Vcp1の電圧レベルを上昇させる。その後、電圧Vcp1の電圧レベルが発振基準電圧VREFに達するとコンパレータ33がリセット信号Rをロウレベルからハイレベルに切り換えるタイミングT2。また、クロック信号CLKがハイレベルである期間において、容量駆動回路34では、PMOSトランジスタP5がオフし、NMOSトランジスタN2がオンした状態になる。そして、容量駆動回路34は、NMOSトランジスタN2によりコンデンサC2から電荷の引き抜きを行い電圧Vcp2の電圧レベルを低下させる。その後、電圧Vcp2の電圧レベルが発振基準電圧VREFから降下して所定の電圧例えば、VREF-ヒステリシス幅を下回るとコンパレータ35がセット信号Sをハイレベルからロウレベルに切り換える。SRラッチ回路36は、上記のセット信号Sの立ち上がりエッジとリセット信号Rの立ち上がりエッジとに応じてクロック信号のハイレベルとロウレベルとを切り換える。ここで、発振回路30aでは、電圧Vcp1、Vcp2の電圧上昇の速度dV/dtを出力電流Ioutの関数で示すことができる。この関数を3式に示す。なお、3式において、Cは、コンデンサC1、C2の容量値である。dV/dt=Iout/C3発振回路30aでは、電圧Vcp1、Vcp2が接地電圧レベルから、発振基準電圧VREFに達するまでの時間により発振周波数が決定される。3式より、コンデンサC1、C2の容量値が一定であれば、電圧Vcp1、Vcp2の立ち上がり速度は、出力電流Ioutの大きさにより決定される。つまり、発振回路30aが出力するクロック信号の周波数は、出力電流Ioutの電流値により決定される。実施の形態1にかかる定電流生成回路1により生成された出力電流Ioutは、温度変動に対する変動率をゼロに設定することができる。即ち、定電流生成回路1が出力する出力電流Ioutに基づき発振周波数が決定される図8の発振回路30aは、高い周波数精度例えば、1未満のばらつき幅を実現することができる。続いて、発振回路30の別の例について説明する。発振回路30の別の例である発振回路30bを示すブロック図を図10に示す。図10に示すように発振回路30bは、周波数検出回路40、差動増幅器42、発振器44例えば、電圧制御発振器、制御回路45、フィルタコンデンサCpumpを有する。周波数検出回路40は、制御回路45が出力するタイミング制御信号に基づきクロック信号CLKの周期の長さに応じて電圧レベルが変化する周波数検出電圧Vcapを生成する。なお、タイミング制御信号には、電荷リセット信号INIT、ランプ制御信号RAMP、ホールド制御信号HOLDを含み、周波数検出回路40は、これらの信号に応じて周波数検出電圧Vcapを生成する。図10に示すように、周波数検出回路40は、ランプアンドホールド回路41、周波数設定コンデンサCを有する。ランプアンドホールド回路41には、定電流生成回路1から出力電流Ioutが入力される。つまり、ランプアンドホールド回路41では、出力電流Ioutにより充放電電流の電流値が設定される。ランプアンドホールド回路41は、タイミング制御信号に基づき周波数設定コンデンサCへの充放電電流の供給と周波数設定コンデンサCに蓄積される電荷のリセットとを行う。ランプアンドホールド回路41は、NMOSトランジスタN3、PMOトランジスタP6、P7を有する。PMOSトランジスタP6、P7は、差動対を構成する。つまり、PMOSトランジスタP6、P7は、ソースが共通接続される。そして、PMOSトランジスタP6、P7のソース共通接続点には、出力電流Ioutが供給される。PMOSトランジスタP6のゲートには、ランプ制御信号RAMPが入力され、PMOSトランジスタP7のゲートにはホールド制御信号HOLDが入力される。PMOSトランジスタP6のドレインは、NMOSトランジスタN3のドレインと接続され、ランプアンドホールド回路41の出力端子となる。PMOSトランジスタP7のドレインは、接地端子に接続される。NMOSトランジスタN3のゲートには、電荷リセット信号INITが入力される。NMOSトランジスタN3のソースは、接地端子に接続される。周波数設定コンデンサCは、ランプアンドホールド回路41の出力端子と接地端子との間に接続される。そして、周波数設定コンデンサCは、蓄積される電荷量に応じて周波数検出電圧Vcapを生成する。なお、周波数検出電圧Vcapは、ランプアンドホールド回路41の出力端子となるノードに生成されるものである。ランプアンドホールド回路41は、電荷リセット信号INITがイネーブル状態例えば、ハイレベルとなると、NMOSトランジスタN3をオンする。そして、ランプアンドホールド回路41は、周波数設定コンデンサCに蓄積された電荷を放電することで、周波数設定コンデンサに蓄積される電荷のリセットを行う。また、ランプアンドホールド回路41は、電荷リセット信号INITがディスイネーブル状態例えば、ロウレベルかつランプ制御信号RAMPがイネーブル状態例えば、ロウレベルとなると、NMOSトランジスタN3をオフし、かつ、PMOSトランジスタP6をオンする。これにより、ランプアンドホールド回路41は、充放電電流によって周波数設定コンデンサCへの電荷の蓄積を行う。また、ランプアンドホールド回路41は、ランプ制御信号RAMPがディスイネーブル状態例えば、ハイレベル、かつ、ホールド制御信号HOLDがイネーブル状態例えば、ロウレベルとなると、PMOSトランジスタP6をオフし、かつ、PMOSトランジスタP7をオンする。これにより、ランプアンドホールド回路41は、周波数設定コンデンサCへの充電を停止し、周波数設定コンデンサCに蓄積された電荷により生じた周波数検出電圧Vcapを維持する。差動増幅器42は、周波数検出電圧Vcapと発振基準電圧VREFの電圧差に応じて発振周波数設定電流Icpを連続的に可変してフィルタコンデンサCpumpに出力する。より具体的には、差動増幅器42は、増幅部43とスイッチ回路SWを有する。そして、増幅部43の反転入力端子には周波数検出電圧Vcapが入力され、非反転入力端子に発振基準電圧VREFが入力される。増幅部43は、例えば、トランスコンダクタンス増幅器であって、周波数検出電圧Vcapと発振基準電圧VREFとの電圧差に応じた電流値を有する発振周波数設定電流Icpを出力する。なお、本実施の形態では、発振基準電圧VREFとして、この発振基準電圧VREFは、定電流生成回路1の増幅器21の非反転入力端子の電圧が用いられる。増幅器21の非反転入力端子の電圧は、基準電圧Vconstと実質的に同じものである。しかし、増幅器21は入力オフセットを有している場合、基準電圧Vconstと増幅器21の非反転入力端子の電圧との間に電圧差が生じる。また、増幅器21の非反転入力端子の電圧は、第2の変動電圧の基準となる電圧である。つまり、増幅器21の非反転入力端子の電圧は、基準電圧Vconstよりも、定電流生成回路1の出力電流Ioutと高い相関関係を有する。また、発振回路30bは、定電流生成回路1の出力電流Ioutの電流量に応じて発振周波数が決まる。このようなことから、発振基準電圧VREFに基づき発振回路30bを動作させることで、発振回路30bは、発振周波数の期待値からの誤差を低減させることができる。スイッチ回路SWは、増幅部43の出力端子とフィルタコンデンサCpumpとの間に設けられ、タイミング制御信号に含まれるポンプ制御信号PULSEに応じて導通状態が切り換えられる。より具体的には、スイッチ回路SWは、ポンプ制御信号PULSEがイネーブル状態例えば、ハイレベルのときに導通状態となり、ディスイネーブル状態例えば、ロウレベルのときに遮断状態となる。発振器44は、発振周波数制御電圧Vcpの電圧レベルに応じてクロック信号CLKの発振周波数を制御する。制御回路45は、クロック信号CLKの周期に基づき論理レベルが切り換えられるタイミング制御信号を生成する。このタイミング制御信号には、電荷リセット信号INIT、ランプ制御信号RAMP、ホールド制御信号HOLD、ポンプ制御信号PULSEが含まれる。制御回路45は、クロック信号CLKを分周した分周信号を生成し、当該分周信号のクロック数をカウントしたカウント値に基づき上記制御信号の論理レベルを切り換える。タイミング制御信号の論理レベルの切り換えタイミングの詳細は、後述する。続いて、図11に周波数検出回路40と制御回路45の動作を示すタイミングチャートを示す。そして、図11を参照して制御回路45がタイミング制御信号の論理レベルの切り換えタイミング及び周波数検出回路40の動作について説明する。図11に示すように、制御回路45は、クロック信号CLKを分周して分周信号FDを生成する。図11に示す例では、分周信号FDは、クロック信号CLKを2分周して生成する。また、制御回路45は、分周信号FDのクロック数をカウントしてカウント値COUNTを生成する。図11に示す例では、カウント値COUNTは2ビットの値であって0から3の値となる。そして、制御回路45は、カウント値COUNTの値に応じてタイミング制御信号の論理レベルを切り換える。具体的には、カウント値が0であった場合、制御回路45は、電荷リセット信号INITをハイレベルイネーブル状態とし、ランプ制御信号RAMPをハイレベルディスイネーブル状態とし、ホールド制御信号HOLDをロウレベルイネーブル状態とし、ポンプ制御信号PULSEをロウレベルディスイネーブル状態とする。カウント値が0である期間を以下では電荷リセット期間Tinitと称す。カウント値が1であった場合、制御回路45は、電荷リセット信号INITをロウレベルディスイネーブル状態とし、ランプ制御信号RAMPをロウレベルイネーブル状態とし、ホールド制御信号HOLDをハイレベルディスイネーブル状態とし、ポンプ制御信号PULSEをロウレベルディスイネーブル状態とする。カウント値が1である期間を以下ではランプ期間Trampと称す。カウント値が2であった場合、制御回路45は、電荷リセット信号INITをロウレベルディスイネーブル状態とし、ランプ制御信号RAMPをハイレベルディスイネーブル状態とし、ホールド制御信号HOLDをロウレベルイネーブル状態とし、ポンプ制御信号PULSEをロウレベルディスイネーブル状態とする。カウント値が2である期間を以下ではホールド期間Tholdと称す。カウント値が3であった場合、制御回路45は、電荷リセット信号INITをロウレベルディスイネーブル状態とし、ランプ制御信号RAMPをハイレベルディスイネーブル状態とし、ホールド制御信号HOLDをロウレベルイネーブル状態とし、ポンプ制御信号PULSEをハイレベルイネーブル状態とする。カウント値が3である期間を以下ではポンプ期間Tpumpと称す。続いて、周波数検出回路40の動作について説明する。周波数検出回路40は、電荷リセット期間Tinitにおいて、電荷リセット信号INITに基づきNMOSトランジスタN3を導通させることで周波数設定コンデンサCに蓄積されている電荷を接地電圧に応じた電荷量にリセットする。これにより、周波数検出電圧Vcapは接地電圧とほぼ等しい電圧となる。このとき、PMOSトランジスタP6はランプ制御信号RAMPに応じてオフし、PMOSトランジスタP7はホールド制御信号HOLDに応じてオンする。そして、ランプ期間Trampにおいて、周波数検出回路40は、電荷リセット信号INITに応じてNMOSトランジスタN3をオフし、ランプ制御信号RAMPに応じてPMOSトランジスタP6をオンし、ホールド制御信号HOLDに応じてPMOSトランジスタP7をオフする。つまり、周波数検出回路40は、ランプ期間Trampにおいて、充放電電流に基づき周波数設定コンデンサCへの電荷の充電を行う。これにより、周波数検出電圧Vcapの電圧レベルは徐々に上昇する。周波数検出電圧Vcapが上昇する傾きは充放電電流の大きさ及び周波数設定コンデンサCの容量値により決定される。例えば、周波数検出電圧Vcapの傾きdVcap/dtは、dVcap/dt=Iout/Cで表される。また、ランプ期間Trampでは、周波数検出電圧Vcapの電圧レベルが上昇するが、電圧低下速度は一定である。そのため、ランプ期間Trampにおける周波数検出電圧Vcapの電圧低下量dVcapは、ランプ期間Trampの長さクロック信号CLKの発振周波数によって決まる。そして、ホールド期間Tholdにおいて、周波数検出回路40は、電荷リセット信号INITに応じてNMOSトランジスタN3をオフし、ランプ制御信号RAMPに応じてPMOSトランジスタP6をオフし、ホールド制御信号HOLDに応じてPMOSトランジスタP7をオンする。つまり、周波数検出回路40は、ホールド期間Tholdにおいて、周波数設定コンデンサCが接続されるノードをハイインピーダンス状態とし、周波数設定コンデンサCにより生成される周波数検出電圧Vcapの電圧レベルを維持する。そして、ポンプ期間Tpumpにおいては、差動増幅器42によるフィルタコンデンサCpumpへの発振周波数設定電流Icpの供給が行われる。このとき、周波数検出回路40に与えられる電荷リセット信号INIT、ランプ制御信号RAMP、ホールド制御信号HOLDはホールド期間Tholdとポンプ期間Tpumpとで同じである。そのため、ポンプ期間Tpumpにおいて周波数検出回路40により周波数検出電圧Vcapの電圧レベルが変動することはない。続いて、図10に示す発振回路30bの全体の動作について説明する。図10に示す発振回路30bの動作を示すタイミングチャートを図12に示す。図12に示すタイミングチャートでは、周波数検出電圧Vcap、発振周波数制御電圧Vcp及びクロック信号CLKの変動のみを示した。また、図12では、時間軸横軸の原点において発振回路30bの動作が開始されるものとする。図12に示すように、発振回路30bは、期間TM1からTM7の期間毎に発振周波数制御電圧Vcpを上昇させる。期間TM1からTM7の各期間には、図11に示す電荷リセット期間Tinit、ランプ期間Tramp、ホールド期間Thold、ポンプ期間Tpumpが一組含まれる。また、クロック信号CLKの周波数が期間毎に上昇するため、期間TM1から期間TM7は、徐々に短くなる。これはタイミング制御信号がクロック信号CLKの周期に基づき生成されるためである。なお、図12に示す期間TM11からTM17がポンプ期間Tpumpに対応する期間となる。そして、期間TM7が経過した後は、周波数検出電圧Vcapの高レベル側電圧が発振基準電圧VREFとほぼ同じになる。これにより、発振回路30bでは、差動増幅器42が出力する発振周波数設定電流Icpがほぼ0となる。そのため、周波数検出電圧Vcapの高レベル側電圧が発振基準電圧VREFとほぼ同じになった後はその状態が維持される。また、周波数検出電圧Vcapが一定の電圧に保たれるため、クロック信号CLKの発振周波数も一定に保たれる。つまり、発振回路30bでは、クロック信号CLKの発振周波数が目標値に達した後はクロック信号CLKにジッタは生じない。上記説明より、発振回路30bでは、フィルタコンデンサCpumpは、発振周波数設定電流Icpに応じて発振周波数制御電圧Vcpを生成する。このとき、発振回路30bでは、差動増幅器42が周波数検出電圧Vcapと発振基準電圧VREFとの電圧差に応じて連続的に値が変化する発振周波数設定電流Icpを出力する。つまり、周波数検出電圧Vcapと発振基準電圧VREFとの電圧差があれば発振周波数設定電流Icpは、当該電圧差に応じた大きさを有し、周波数検出電圧Vcapと発振基準電圧VREFとの電圧差がなければ発振周波数設定電流Icpは、実質的に0となる。これにより、発振回路30bでは、クロック信号CLKの周波数が目標値と一致する状態例えば、周波数検出電圧Vcapが発振基準電圧VREFと一致した状態では、ポンプ制御信号PULSEがイネーブル状態となっても発振周波数制御電圧Vcpに変動が生じない。これにより、発振回路30bでは、クロック信号CLKの発振周波数が目標値と一致した後に、発振周波数制御電圧Vcpの電圧値が変動することがなく、発振周波数制御電圧Vcpの電圧値に応じて発振器44が決定するクロック信号CLKの発振周波数もずれることがない。つまり、発振回路30bでは、クロック信号CLKのジッタを低減することができる。また、発振回路30bでは、差動増幅器43がスイッチ回路SWを有する。このスイッチ回路SWは、差動増幅器42の入力信号の差電圧増幅結果を反映する期間例えば、ポンプ期間Tpump以外は遮断状態に制御される。発振回路30bでは、電荷リセット期間Tinit、ランプ期間Trampにおいて周波数検出電圧Vcapがクロック信号CLKを反映した電圧とずれた電圧値となる。しかし、スイッチ回路SWがポンプ期間以外は遮断状態に制御されるため、電荷リセット期間Tinit及びランプ期間Trampにおける周波数検出電圧Vcapのずれが発振周波数に反映されることを防ぐことができる。これにより、発振回路30bでは、いずれの期間においても発振周波数を安定化させることができる。また、発振回路30bには、定電流生成回路1が出力する出力電流Ioutに基づき発振周波数を設定する。そのため、定電流生成回路1が出力する出力電流Ioutの温度変化に対する変動率が実質的にゼロであれば、発振回路30bの発振周波数の温度変動に対する変動率も実質的にゼロにすることができる。また、定電流生成回路1は、電流設定抵抗Riのトリミングによって出力電流Ioutの電流値を精度良く設定できる。そのため、発振回路30bは、定電流生成回路1が出力する出力電流Ioutの電流値の設定精度を高めることで、クロック信号CLKの発振周波数の設定値を高い精度例えば、1未満のばらつき幅で設定することができる。上記説明より、実施の形態2にかかるマイクロプロセッサ2では、定電流生成回路1が出力する出力電流Ioutを用いてクロック信号CLKの周波数を設定することで、クロック信号CLKの温度変動に対する変動率及び周波数を高精度に設定できる。例えば、実施の形態2にかかるマイクロプロセッサ2では、クロック信号CLKの温度変動に対する変動率及び周波数を1程度のずれの範囲内とすることができる。そして、このような高精度なクロック信号に基づきマイクロプロセッサ2は動作することができる。続いて、実施の形態2にかかるマイクロプロセッサ2の起動シーケンスについて説明する。実施の形態2にかかるマイクロプロセッサ2の起動処理の手順を示すフローチャートを図13に示す。図13に示すように、マイクロプロセッサ2は、起動処理を開始すると、まず、傾き制御部22内のメモリ24に予め格納された傾き設定値に基づきデコーダ23がいずれか1つのスイッチを選択するステップS10。これにより、定電流生成回路1が動作を開始し、出力電流Ioutを出力する。そして、発振回路30が出力電流Ioutに基づきクロック信号CLKを生成する。ここで、起動時に設定される傾き設定値は、出力電流Ioutが最も小さくなる値であることが好ましい。これは、マイクロプロセッサ2は、起動初期段階においては各種電圧、回路状態等が不安定であり、通常状態で生成されるクロック信号CLKよりも低い周波数のクロック信号CLKで動作した方が回路動作において不具合が生じる可能性が低いためである。続いて、演算コアPEがフラッシュメモリMEMから通常状態で利用する傾き設定値を読み出し、読み出した傾き設定値を傾き制御部22のメモリ24に与えるステップS12。そして、定電流生成回路1では、デコーダ23が更新された傾き設定値に基づきいずれか1つのスイッチを選択するステップS13。これにより、定電流生成回路1は、通常状態で利用する出力電流Ioutを生成する。そして、発振回路30は、通常状態の出力電流Ioutに基づきクロック信号CLKの周波数を通常状態の周波数に変更するステップS14。上記説明より、実施の形態2にかかるマイクロプロセッサ2では、予め設定された起動用の傾き設定値に基づき出力電流Ioutの生成及びクロック信号CLKの生成を行い、マイクロプロセッサ2がクロック信号CLKに基づき動作を開始した後に、通常状態で利用する傾き設定値に基づく出力電流Ioutの生成及びクロック信号CLKの生成を行う。このような、起動手順とすることで、通常状態で利用する傾き設定値を定電流生成回路1内のメモリ24に記憶させるための手段を設ける必要がない。通常状態で利用する傾き設定値は、値の書き換えが比較的簡単にできるフラッシュメモリ等の不揮発性メモリに記憶しておけば良いためである。なお、起動処理で用いる傾き設定値は、出力電流Ioutの温度変動等を加味せずに決定した値で構わないため、回路設計段階で設定することが可能である。実施の形態3実施の形態3では、定電流生成回路1により生成された出力電流Ioutの電流量によって決まる遅延量で信号を遅延させる遅延回路50について説明する。遅延回路50の回路図を図14に示す。図14に示すように、遅延回路50は、NMOSトランジスタN10~N14、PMOSトランジスタP10~P13、コンデンサCdを有する。NMOSトランジスタN10は、ソースが接地端子に接続され、ドレインとゲートが接続される。NMOSトランジスタN10のドレインには定電流生成回路1の出力電流Ioutが入力される。この出力電流Ioutを以下では電流I1と称す。NMOSトランジスタN11、N12は、NMOSトランジスタN10と共にカレントミラー回路を構成する。PMOSトランジスタP10は、ソースが接地端子に接続され、ドレインとゲートが接続される。PMOSトランジスタP10のドレインは、NMOSトランジスタN11のドレインと接続される。そして、PMOSトランジスタP10のドレインには、NMOSトランジスタN11に流れる電流I2が入力される。この電流I2は、NMOSトランジスタN10、N11により構成されるカレントミラーが電流I1に基づき生成するものである。PMOSトランジスタP11は、PMOSトランジスタP10と共にカレントミラー回路を構成する。NMOSトランジスタN13のソースは、NMOSトランジスタN12のドレインに接続される。NMOSトランジスタN13のドレインは、PMOSトランジスタP12のドレインに接続される。PMOSトランジスタP12のソースは、PMOSトランジスタP11のドレインに接続される。NMOSトランジスタN12のゲートとPMOSトランジスタP12のゲートとは互いに接続され、これらゲートには入力信号Vinが与えられる。PMOSトランジスタP12のドレインとNMOSトランジスタN13のドレインとの接続点は、中間出力ノード中間電圧Vcが生成されるノードとなる。また、NMOSトランジスタN13には、NMOSトランジスタN10、N12により構成されるカレントミラー回路が電流I1に基づき生成した電流I4が流れる。PMOSトランジスタN12には、PMOSトランジスタN10、N11により構成されるカレントミラー回路が電流I2に基づき生成した電流I3が流れる。コンデンサCdは、中間出力ノードと接地端子との間に接続される。NMOSトランジスタN14のソースは、接地端子に接続される。NMOSトランジスタN14のドレインは、PMOSトランジスタP13のドレインに接続される。PMOSトランジスタP13のソースは、電源端子に接続される。NMOSトランジスタN14のゲートとPMOSトランジスタP13のゲートとは互いに接続され、これらゲートには中間出力ノードがが接続される。PMOSトランジスタP12のドレインとNMOSトランジスタN13のドレインとの接続点は、遅延回路50の出力端子であり、出力信号Voutが出力される。つまり、NMOSトランジスタN14とPMOSトランジスタP13は、遅延回路50の出力インバータを構成する。続いて、遅延回路50の動作について説明する。遅延回路50の動作を示すタイミングチャートを図15に示す。図15に示すように、遅延回路50は、入力信号Vinがロウレベルである期間は、NMOSトランジスタN13がオフし、PMOSトランジスタP12がオンする。そして、PMOSトランジスタP12を介して流れる電流I3によりコンデンサCdに電荷が蓄積される。これにより、中間電圧Vcは徐々に上昇する。その後、中間電圧Vcが、出力インバータの閾値電圧Vthを上回ると、出力信号Voutが立ち下がる。また、遅延回路50は、入力信号Vinがハイレベルである期間は、NMOSトランジスタN13がオンし、PMOSトランジスタP12がオフする。そして、NMOSトランジスタN13を介して流れる電流I4によりコンデンサCdに蓄積された電荷が放電される。これにより、中間電圧Vcは徐々に低下する。その後、中間電圧Vcが、出力インバータの閾値電圧Vthを下回ると、出力信号Voutが立ち上がる。ここで、遅延回路50では、コンデンサCdへの充電を電流I3により行い、コンデンサCdからの放電を電流I4により行う。この電流I3、I4は、いずれもカレントミラー回路が電流I1に基づき生成するものである。カレントミラー比がいずれのカレントミラー回路でも1:1である場合、電流I3、I4は電流I1と同じ電流値を有する。そのため、中間電圧Vcの立ち上がりの傾き及び立ち下がりの傾きは、dVc/dt=Iout/Cで表すことができる。上記説明より、遅延回路50では、遅延時間Tdは、入力信号Vinの立ち上がりエッジ又は立ち下がりエッジから中間電圧Vcが出力インバータの閾値電圧Vthを超えるまでの時間である。つまり、遅延回路50は、出力電流Iout電流I1が温度変動に対する変動率が実施的にゼロであれば、温度によらず遅延時間Tdを一定に保つことができる。また、遅延回路50は、出力電流Ioutの電流値が精度良く設定されていれば、精度の高い遅延時間Tdを設定することができる。このような遅延回路50を、実施の形態2にかかるマイクロプロセッサ2に内蔵することもできる。マイクロプロセッサ2に遅延回路50を内蔵した場合、図13に示した起動処理により回路を動作させることができる。実施の形態4実施の形態4では、定電流生成回路1により生成された出力電流Ioutの電流量によって負荷素子に与える駆動電流が決まる出力回路60について説明する。出力回路60の回路図を図16に示す。図16に示すように、出力回路60は、インバータ61、NMOSトランジスタN20~N24を有する。そして、出力回路60は、出力端子Toutと電源端子との間に接続された負荷素子62を駆動電流で駆動する。NMOSトランジスタN20は、ドレインに定電流生成回路1が出力する出力電流Ioutが入力される。NMOSトランジスタN20のソースは、NMOSトランジスタN21のドレインに接続される。NMOSトランジスタN20のゲートには、イネーブル信号ENが入力される。NMOSトランジスタN21のドレインは、NMOSトランジスタN21のゲートと接続される。NMOSトランジスタN21のソースは、接地端子に接続される。NMOSトランジスタN22は、NMOSトランジスタN21と共にカレントミラー回路を構成する。NMOSトランジスタN22のドレインは、出力端子Toutに接続される。NMOSトランジスタN24のゲートは、インバータ61を介してイネーブル信号ENの反転信号が入力される。NMOSトランジスタN24のソースは、接地端子に接続される。NMOSトランジスタN24のドレインは、NMOSトランジスタN21のゲートに接続される。続いて、出力回路60の動作について説明する。出力回路60は、イネーブル信号ENがイネーブル状態例えば、ハイレベルである場合、NMOSトランジスタN20がオンし、NMOSトランジスタN24がオフする。これにより、出力電流Ioutは、電流I10としてNMOSトランジスタN21に流れる。そして、NMOSトランジスタN21、N22により構成されるカレントミラー回路により電流I11を電流I10に基づき生成する。この電流I11は、負荷素子62に与えられる駆動電流となる。一方、出力回路60は、イネーブル信号ENがディスイネーブル状態例えば、ロウレベルである場合、NMOSトランジスタN20がオフし、NMOSトランジスタN24がオンする。これにより、出力電流Ioutは、NMOSトランジスタN20で遮断される。また、NMOSトランジスタN24がオンしているため、NMOSトランジスタN21、N22のゲートが接地電圧となり、NMOSトランジスタN21、N22により構成されるカレントミラー回路は停止状態となる。即ち、電流I11は流れない。上記説明より、出力回路60では、負荷素子62を駆動する駆動電流を定電流生成回路1が出力する出力電流Ioutにより決定する。そのため、出力電流Ioutの温度変動に対する変動率がゼロであれば、出力回路60は、温度変動によらず駆動電流を一定に保つことができる。また、出力回路60は、負荷素子62の両端に生じる電圧の振幅を温度変動によらず一定に保つことができる。さらに、定電流生成回路1が出力電流Ioutの電流値を高い精度で設定して出力することで、負荷素子62の両端に生じる電圧の振幅を高精度に設定できる。なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。