内部回路に電源を供給する電源供給部と、前記内部回路の複数の場所における特性をモニタする複数のモニタ部と、前記複数のモニタ部から出力された信号に基づき算出されたモニタ値と、設定された比較値との比較結果に応じて前記電源供給部を制御する制御部と、を備え、前記制御部は、前記複数のモニタ部における特性のばらつきに応じて前記比較値を設定する、半導体装置。前記比較値は、前記モニタ値の上限値に対応した第1の設定値と前記モニタ値の下限値に対応した第2の設定値とを含み、前記制御部は、前記複数のモニタ部における特性のばらつきが小さくなるにつれて、前記第1の設定値が小さくなるように、且つ前記1の設定値と前記第2の設定値の間隔が狭くなるように前記1および第2の設定値を設定する、請求項1に記載の半導体装置。前記モニタ部の各々は、リングオシレータと、当該リングオシレータが所定の期間内に発振する回数を測定するカウンタと、を備え、前記制御部は、前記複数のモニタ部におけるカウント値のばらつきに応じて前記比較値を設定すると共に、当該設定された比較値と前記複数のモニタ部から出力された前記カウント値に基づき算出されたモニタ値との比較結果に応じて前記電源供給部を制御する、請求項1または2に記載の半導体装置。前記比較値は、前記モニタ値の上限値に対応した第1のカウント値と前記モニタ値の下限値に対応した第2のカウント値とを含み、前記制御部は、前記複数のモニタ部におけるカウント値のばらつきが小さくなるにつれて、前記第1のカウント値が小さくなるように、且つ前記1のカウント値と前記第2のカウント値の間隔が狭くなるように前記1および第2のカウント値を設定する、請求項3に記載の半導体装置。前記モニタ値は、前記複数のモニタ部におけるカウント値の平均値である、請求項1乃至4のいずれか一項に記載の半導体装置。前記複数のモニタ部におけるカウント値のばらつきは、前記複数のモニタ部におけるカウント値の標準偏差に基づき決定される、請求項1乃至4のいずれか一項に記載の半導体装置。前記複数のモニタ部におけるカウント値のばらつきは、前記複数のモニタ部におけるカウント値の最大値と最小値の差に基づき決定される、請求項1乃至4のいずれか一項に記載の半導体装置。前記複数のモニタ部におけるカウント値のばらつきは、前記複数のモニタ部におけるカウント値の最大値と最小値の差を前記複数のモニタ部におけるカウント値の平均値で除算した値に基づき決定される、請求項1乃至4のいずれか一項に記載の半導体装置。前記モニタ部は各々、同一段数のリングオシレータを含む第1および第2のモニタ素子を備え、前記第1のモニタ素子は前記内部回路の特性をモニタするモニタ期間においてのみ動作をし、前記第2のモニタ素子は前記モニタ期間以外にも動作をし、前記制御部は、前記第1のモニタ素子のモニタ結果と前記第2のモニタ素子のモニタ結果とに基づき前記内部回路の経年劣化を検出する、請求項1乃至8のいずれか一項に記載の半導体装置。前記制御部は、前記第1のモニタ素子に対しての前記第2のモニタ素子の遅延量が所定の値以上大きくなった場合、前記第2のモニタ素子のモニタ結果を用いて前記比較値を設定する、請求項9に記載の半導体装置。前記モニタ部は各々、所定の段数のリングオシレータを備える第3のモニタ素子と、当該第3のモニタ素子が備えるリングオシレータよりも段数の多いリングオシレータを備える第4のモニタ素子とを有し、前記制御部は、前記第3のモニタ素子のモニタ結果と前記第4のモニタ素子のモニタ結果とに基づき前記モニタ部における特性のばらつきを検出し、当該ばらつきに応じて前記比較値を設定する、請求項1乃至8のいずれか一項に記載の半導体装置。前記制御部は、前記内部回路の電源がオン状態となる度に前記比較値を更新する、請求項1乃至11のいずれか一項に記載の半導体装置。前記制御部は、前記内部回路の電源がオン状態となった後、所定の時間が経過する度に前記比較値を更新する、請求項1乃至11のいずれか一項に記載の半導体装置。前記制御部は、前記複数のモニタ部の中から使用するモニタ部を選択するモニタ選択部を更に備える、請求項1乃至13のいずれか一項に記載の半導体装置。前記制御部は、前記モニタ値を算出する際に用いられるモニタ部の数が前記比較値を設定する際に用いられるモニタ部の数よりも少なくなるように前記モニタ部を選択する、請求項14に記載の半導体装置。前記モニタ部の各々は、所定のクロック信号に応じて動作する第1のフリップフロップと、前記第1のフリップフロップから出力されたデータに遅延を与えるクリティカルパスレプリカおよび複数の遅延素子と、前記クリティカルパスレプリカから出力されたデータ、および前記複数の遅延素子の各々から出力されたデータをそれぞれ格納する、前記所定のクロック信号に応じて動作する複数の第2のフリップフロップと、を備え、前記制御部は、前記複数の第2のフリップフロップから出力される各々のデータに応じて前記内部回路の特性をモニタする、請求項1または2に記載の半導体装置。内部回路への電源供給方法であって、前記内部回路の複数の場所における特性をモニタし、前記複数の場所におけるモニタ結果に基づきモニタ値を算出し、前記複数の場所におけるモニタ結果のばらつきに応じて比較値を設定し、前記モニタ値と前記設定された比較値との比較結果に応じて前記内部回路に供給される電源を制御する、電源供給方法。前記比較値は、前記モニタ値の上限値に対応した第1の設定値と前記モニタ値の下限値に対応した第2の設定値とを含み、前記複数のモニタ部における特性のばらつきが小さくなるにつれて、前記第1の設定値が小さくなるように、且つ前記1の設定値と前記第2の設定値の間隔が狭くなるように前記1および第2の設定値を設定する、請求項17に記載の電源供給方法。半導体装置が備える内部回路に供給される電源電圧を制御する場合、内部回路の複数の箇所にモニタを設け、このモニタで測定された値に基づき電源電圧を制御することができる。しかしながら、内部回路の特性にはばらつきがあるため、内部回路に供給される電源電圧はこのばらつきを考慮して設定する必要がある。すなわち、内部回路に供給される電源電圧に所定のマージンを設ける必要がある。この所定のマージンは、ばらつきの少ない内部回路にとっては不要なマージンとなる。よって、この場合、ばらつきの少ない内部回路に、実際に必要な電源電圧よりも高い電源電圧が供給されることになり、内部回路を含む半導体装置の消費電力を低減することができないという問題があった。本発明の一態様にかかる半導体装置は、内部回路に電源を供給する電源供給部と、前記内部回路の複数の場所における特性をモニタする複数のモニタ部と、前記複数のモニタ部から出力された信号に基づき算出されたモニタ値と、設定された比較値との比較結果に応じて前記電源供給部を制御する制御部と、を備え、前記制御部は、前記複数のモニタ部における特性のばらつきに応じて前記比較値を設定する。本発明の一態様にかかる半導体装置では、内部回路に設けられた複数のモニタ部における特性のばらつきに応じて比較値を設定している。よって、比較値に無駄なマージンを設ける必要がなく最適な比較値を設定することができるので、半導体装置の消費電力を低減することができる。本発明の他の態様にかかる電源供給方法は、内部回路への電源供給方法であって、前記内部回路の複数の場所における特性をモニタし、前記複数の場所におけるモニタ結果に基づきモニタ値を算出し、前記複数の場所におけるモニタ結果のばらつきに応じて比較値を設定し、前記モニタ値と前記設定された比較値との比較結果に応じて前記内部回路に供給される電源を制御する。本発明の他の態様にかかる電源供給方法では、内部回路の複数の場所における特性をモニタし、当該複数の場所における特性のばらつきに応じて比較値を設定している。よって、比較値に無駄なマージンを設ける必要がなく最適な比較値を設定することができるので、半導体装置の消費電力を低減することができる。本発明により、消費電力を低減することが可能な半導体装置および電源供給方法を提供することができる。<実施の形態1>以下、図面を参照して本発明の実施の形態について説明する。図1は、本発明の実施の形態1にかかる半導体装置を示すブロック図である。図1に示す半導体装置は、モニタ部11~1Nおよび制御部2を備える内部回路3と、電源供給部4と有するNは正の整数である。以下、同様。。なお、図1に示す内部回路3は一つの電源制御単位であり、モニタ部11~1Nおよび制御部2は電源制御単位毎に設けられている。また、図1では内部回路3と電源供給部4を別に設けているが、内部回路3と電源供給部4を一体として構成してもよい。また、図1では内部回路3に制御部2を設けているが、制御部2を内部回路3と別に設けるようにしてもよい。モニタ部11~1Nは、内部回路3の複数の箇所に設けられている。モニタ部11~1Nは内部回路3の特性をモニタするために設けられている。このため、モニタ部11~1Nは内部回路3に均等に配置されていることが好ましい。各モニタ部11~1Nから出力された信号C1~CNは、制御部2に供給される。図2は、本実施の形態にかかる半導体装置が備えるモニタ部1Nの一例を示すブロック図である。モニタ部1Nは、リングオシレータ11とカウンタ12とを備える。リングオシレータ11は、NAND1と遅延素子13とを有する。遅延素子13としては、例えばバッファ回路や、直列に接続された偶数個のインバータNOTゲートを用いることができる。また、遅延素子13として直列に接続された奇数個のインバータを用いてもよいが、この場合はNAND1をAND回路に替える必要がある。NAND1の一方の入力には制御部2から出力されたイネーブル信号ENNが供給される。NAND1の出力は遅延素子13に供給される。また、遅延素子13の出力はNAND1の他方の入力およびカウンタ12に供給される。カウンタ12には制御部2から出力されたリセット信号が供給される。カウンタ12のカウント値CNは、モニタ部1Nが設けられた場所の特性を示す信号として制御部2に出力される。リングオシレータ11は、イネーブル信号ENNが非活性状態つまり、ロウレベル0の場合は発振しない。一方、リングオシレータ11は、イネーブル信号ENNがハイレベルつまり、活性状態1の場合は所定の周期で発振する。よって、リングオシレータ11は、イネーブル信号ENNがハイレベルの期間、カウンタ12に対してロウレベルの信号とハイレベルの信号を繰り返して出力する。カウンタ12は、イネーブル信号ENNがハイレベルの期間、リングオシレータ11が発振した回数つまり、リングオシレータ11から出力されたパルス数を測定する。制御部2は、リングオシレータ11が発振した回数を測定する前に、カウンタ12にリセット信号を出力してカウンタの値をリセットしておく。このときカウンタ12から出力されるカウント値CNは、モニタ部1Nが配置されている場所の内部回路3の特性を示している。つまり、カウント値CNが大きい程、リングオシレータ11の発振周波数が高いため、リングオシレータ11を構成する素子の速度が速いといえる。逆に、カウント値CNが小さい程、リングオシレータ11の発振周波数が低いため、リングオシレータ11を構成する素子の速度が遅いといえる。制御部2は、複数のモニタ部11~1Nから出力された信号C1~CNに基づき電源供給部4を制御するための制御信号CTRLを生成し、この制御信号CTRLを電源供給部4に出力する。つまり、制御部2は、複数のモニタ部11~1Nから出力された信号C1~CNに基づき算出されたモニタ値と、設定された比較値との比較結果に応じて電源供給部4を制御する。このとき、制御部2は、複数のモニタ部11~1Nにおける特性のばらつきに応じて比較値を設定することができる。図3は、本実施の形態にかかる半導体装置が備える制御部の一例を示すブロック図である。図3に示すように、制御部2は、ばらつき値算出部21、モニタ値算出部22、レジスタ23、および比較部24を備える。モニタ値算出部22は、複数のモニタ部11~1Nから出力された信号つまり、カウント値C1~CNに基づき、比較部24において比較値COMPと比較するためのモニタ値CAVEを算出する。例えば、モニタ値CAVEとして、複数のモニタ部11~1Nにおけるカウント値C1~CNの平均値を用いることができる。しかし、モニタ値CAVEは、カウント値C1~CNの平均値に限定されることはなく、例えば、カウント値C1~CNの中から選択された1つの値を用いてもよく、また、これ以外の方法で決定された値を用いることもできる。図4は、図3に示すモニタ値算出部22の一例を示すブロック図である。図4に示すモニタ値算出部22は、モニタ値CAVEとしてカウント値C1~CNの平均値を算出する回路である。なお、図4では、例として、モニタ値算出部22が4つのカウント値C1~C4を用いてモニタ値CAVEを算出する場合を示している。図4に示すモニタ値算出部22は、加算器301~303と平均化回路31とを備える。加算器301は、カウント値C1とカウント値C2とを入力し、これらの値を加算した値を加算器303に出力する。加算器302は、カウント値C3とカウント値C4とを入力し、これらの値を加算した値を加算器303に出力する。加算器303は、加算器301から出力された値と加算器302から出力された値とを入力し、これらの値を加算した値を平均化回路31に出力する。すなわち、平均化回路31に入力される値は、カウント値C1~C4を全て加算した値である。平均化回路31は、カウント値C1~C4を全て加算した値を、カウント値の数この場合は、4で除算して、除算後の値をモニタ値CAVEとして出力する。例えば、平均化回路31は、カウント値が2進数で表現されている場合、2ビット右シフトする。なお、上記例ではカウント値が4つの場合を例として示したが、カウント値が4つ以上の場合であっても同様に回路を構成することができる。つまり、カウント値C1~CNを全て加算する複数の加算器を設ける。そして、カウント値C1~CNを全て加算した値を、平均化回路31において、カウント値の数Nで除算することでモニタ値CAVEを算出することができる。図3に示すばらつき値算出部21は、例えば、複数のモニタ部11~1Nにおけるカウント値C1~CNの標準偏差σをばらつき値CVARとして算出することができる。図5は、ばらつき値算出部21の一例を示すブロック図である。図5に示すばらつき値算出部21は、ばらつき値CVARとしてカウント値C1~CNの標準偏差σを算出する回路である。なお、図5では、例として、ばらつき値算出部21が4つのカウント値C1~C4を用いてばらつき値CVARを算出する場合を示している。図5に示すばらつき値算出部21は、減算器321~324、乗算器331~334、加算器341~343、除算器35、および平方根演算器36を備える。減算器321は、カウント値C1と、カウント値C1~C4の平均値CAVEとを入力し、これらの値を減算した値C1-CAVEを乗算器331に出力する。ここで、カウント値C1~C4の平均値CAVEは、例えば図4に示したモニタ値算出部22を用いて求めることができる。以降、減算器322~324についても同様の動作をする。乗算器331は、減算器321から出力された値C1-CAVEを入力し、この値を自乗した値C1-CAVE2を加算器341に出力する。乗算器332は、減算器322から出力された値C2-CAVEを入力し、この値を自乗した値C2-CAVE2を加算器341に出力する。以降、乗算器333~334についても同様の動作をする。加算器341は、乗算器331から出力された値C1-CAVE2と乗算器332から出力された値C2-CAVE2とを入力し、これらの値を加算した値を加算器343に出力する。加算器342は、乗算器333から出力された値C3-CAVE2と乗算器334から出力された値C4-CAVE2とを入力し、これらの値を加算した値を加算器343に出力する。加算器343は、加算器341から出力された値と加算器342から出力された値とを加算した値つまり、C1-CAVE2C2-CAVE2C3-CAVE2C4-CAVE2を除算器35に出力する。除算器35は、加算器343から出力された値をカウント値の数4で除算する。例えば、カウント値が2進数で表現されている場合、2ビット右シフトする。除算器35で得られた値は、カウント値C1~C4の分散値σ2である。平方根演算器36は、除算器35から出力された分散値σ2の平方根を演算することで、標準偏差σを算出する。得られた標準偏差σは、ばらつき値CVARとして比較部24に出力される。図3に示すレジスタ23は、複数の比較値A261、比較値B262、比較値C263を格納している。レジスタ23に格納する比較値の数は任意に決定することができる。比較値は、モニタ値CAVEの上限値に対応した設定値第1の設定値とモニタ値CAVEの下限値に対応した設定値第2の設定値を含んでいる。図6は、レジスタ23に格納されている比較値の一例を示している。図6に示すように、レジスタ23は、例えば比較値Aとして、下限の設定値CLset1と上限の設定値CHset1を格納している。ここで、下限の設定値CLset1は、モニタ値CAVEがこの値よりも低くならないようにするために設定された値である。また、上限の設定値CHset1は、モニタ値CAVEがこの値よりも高くならないようにするために設定された値である。すなわち、制御部2は、モニタ値CAVEが設定値CLset1と設定値CHset1の間となるような制御信号CTRLを生成する。同様に、レジスタ23は、比較値Bとして、下限の設定値CLset2と上限の設定値CHset2を格納している。また、レジスタ23は、比較値Cとして、下限の設定値CLset3と上限の設定値CHset3を格納している。そして、レジスタ23は、複数のモニタ部11~1Nにおける特性のばらつきに応じて比較値COMPを設定する。つまり、レジスタ23は、ばらつき値算出部21から出力されたカウント値C1~CNのばらつき値CVARに応じて、比較値COMPを設定する。設定された比較値COMPは、比較部24に出力される。ここで、例えば、比較値Aの上限の設定値CHset1と下限の設定値CLset1との間隔は、比較値Bの上限の設定値CHset2と下限の設定値CLset2との間隔よりも広く設定されているものとする。また、比較値Bの上限の設定値CHset2と下限の設定値CLset2との間隔は、比較値Cの上限の設定値CHset3と下限の設定値CLset3との間隔よりも広く設定されているものとする。更に、比較値Aの上限の設定値CHset1は比較値Bの上限の設定値CHset2よりも大きく、比較値Bの上限の設定値CHset2は比較値Cの上限の設定値CHset3よりも大きくなるように設定されているものとする。また、比較値Aの下限の設定値CLset1は比較値Bの下限の設定値CLset2よりも大きく、比較値Bの下限の設定値CLset2は比較値Cの下限の設定値CLset3よりも大きくなるように設定されているものとする。本実施の形態にかかる半導体装置では、レジスタ23は、ばらつき値算出部21から出力されたカウント値C1~CNのばらつきが小さくなるにつれて、つまり、ばらつき値標準偏差CVARが小さくなるにつれて、比較値COMPの上限の設定値が小さくなるように、且つ比較値COMPの上限の設定値と下限の設定値の間隔が狭くなるように、比較値COMPを設定している。図6を用いて説明すると、a>b>c>dの関係がある場合、ばらつき値標準偏差CVARが大きい場合a>CVAR≧b、レジスタ23は比較値Aを比較値COMPとして出力する。また、ばらつき値標準偏差CVARが比較的大きい場合b>CVAR≧c、レジスタ23は比較値Bを比較値COMPとして出力する。また、ばらつき値標準偏差CVARが比較的小さい場合c>CVAR≧d、レジスタ23は比較値Cを比較値COMPとして出力する。比較部24は、レジスタ23から出力された比較値COMPとモニタ値算出部22から出力されたモニタ値CAVEとを比較し、モニタ値CAVEが比較値COMPの上限の設定値と下限の設定値との間となるような制御信号CTRLを生成し、電源供給部4に出力する。制御信号CTRLは、電源供給部4の仕様に対応した信号であり、例えば、符号化された信号などである。電源供給部4は、制御部2の比較部24から出力された制御信号CTRLに応じて、内部回路3に供給する電源電圧Vddを制御する。具体的には、モニタ値CAVEが比較値COMPの上限の設定値よりも大きくなった場合は、モニタ部における動作周波数が高いので、制御部2は供給される電源電圧Vddが低くなるように電源供給部4を制御する。逆に、モニタ値CAVEが比較値COMPの下限の設定値よりも小さくなった場合は、モニタ部における動作周波数が低いので、制御部2は供給される電源電圧Vddが高くなるように電源供給部4を制御する。図7、図8は本実施の形態にかかる発明の効果を説明するための図である。まず、図7を用いて、本実施の形態にかかる発明の効果を説明する。内部回路3に形成された所定の回路において、所定の性能を実現するための電圧の設計値をVnomとする。このとき、内部回路3の特性チップ性能にはばらつきがあるため、図7の上図に示すように、内部回路3に形成された所定の回路において、所定の性能を実現するための電圧値はVmins最小値からVmaxs最大値となる。つまり、所定の性能を実現するための電圧値は、Vnomを中心として分散する。このときの標準偏差をσ1とする。このとき、電源供給部4は、内部回路3に形成された所定の回路において、所定の性能を実現するために、Vmins~Vmaxsの電源電圧Vddを供給する必要がある。内部回路3の特性のばらつきが大きい場合図7の上図は、モニタ値と内部回路3の性能にずれが生じることから電源電圧にマージンを与える必要があり、電圧の最大値Vmaxsを大きくする必要がある。一方、図7の下図に示すように、内部回路3の特性チップ性能のばらつきが小さい場合は、所定の性能を実現するための電圧値Vmins~Vmaxsの標準偏差は小さくなるこのときの標準偏差をσ2とする。このとき、図7に示すように、所定の性能を実現するための最低電圧Vminsは、標準偏差がσ1の場合とσ2の場合とで同一とすることができる。よって、図7の下図に示したように、標準偏差がσ2の場合は、内部回路3の特性のばらつきが小さいので、電圧の最大値Vmaxsは、標準偏差がσ1の場合の電圧の最大値Vmaxsよりも、符号52で示す分だけ小さくすることができる。換言すると、内部回路3の特性のばらつきが小さい場合標準偏差σ2は、設定電圧の最大値をVmaxsとすることができる。一方、内部回路3の特性のばらつきが大きい場合標準偏差σ1は、設定電圧の最大値を、ばらつきが小さい場合の最大値Vmaxsに符号52に示すマージンを設けた電圧Vmaxsとする必要がある。従来、モニタ値CAVEと比較される比較値は固定値であったため、内部回路3の特性のばらつきが大きい場合を想定して、所定の性能を実現するための電圧の最大値Vmaxsを高めに設定する必要があった。このため、本来であれば、内部回路3の特性のばらつきが小さく、所定の性能を実現するための電圧の最大値を低めに設定することができる場合であっても、電圧の最大値が高めに設定されるため、半導体装置の消費電力が増加するという問題があった。これに対して本実施の形態にかかる半導体装置では、ばらつき値算出部21において、複数のモニタ部11~1Nにおけるカウント値C1~CNのばらつき値CVARを算出し、このばらつき値CVARに応じて比較部24で用いる比較値COMPを決定している。つまり、内部回路3の特性のばらつきが大きい場合は、比較値COMPとして、比較値の上限の設定値が大きく、且つ比較値の上限値と下限値の間隔が広い比較値を用いることができる図7の上図参照。一方、内部回路3の特性のばらつきが小さい場合は、比較値COMPとして、比較値の上限の設定値が小さく、且つ比較値の上限値と下限値の間隔が狭い比較値を用いることができる図7の下図参照。このように、本実施の形態にかかる半導体装置では、内部回路3の特性のばらつきに応じて比較部24で用いる比較値COMPを変更することができるので、内部回路3の特性のばらつきに応じて最適な比較値を用いることができる。よって、比較値に無駄なマージンを設ける必要がないため、半導体装置の消費電力を低減することができる。図8は、本実施の形態にかかる発明の効果を説明するための図であり、図7における電圧が図8に示す速度カウント値に対応している。図8に示すように、内部回路3の特性のばらつきが大きい場合は、比較値COMPとして比較値A図6参照を用いている。つまり、比較値COMPとして、上限の設定値がCHset1、下限の設定値がCLset1の比較値を用いている。制御部2は、モニタ値CAVEが上限の設定値CHset1よりも大きくなった場合は、電源供給部4から供給される電源電圧Vddを低くし、モニタ値CAVEが下限の設定値CLset1よりも小さくなった場合は、電源供給部4から供給される電源電圧Vddを高くする。このような制御により、モニタ値CAVEを下限の設定値CLset1と上限の設定値CHset1との間に収めることができる。図8の上図に示す場合は内部回路3の特性のばらつきが大きいので、比較値COMPとして、上限の設定値CHset1が大きく、且つ比較値の上限の設定値CHset1と下限の設定値CLset1の間隔53が広い比較値を用いている。一方、図8の下図に示す場合は内部回路3の特性のばらつきが小さいので、比較値COMPとして、上限の設定値CHset2が設定値CHset1よりも小さく、且つ比較値の上限の設定値CHset2と下限の設定値CLset2の間隔54が狭い比較値を用いることができる。例えば、内部回路3の特性のばらつきが大きい場合図8の上図は、モニタ値CAVEが符号55の位置となるように制御する必要がある。しかし、内部回路3の特性のばらつきが小さい場合図8の下図は、比較値COMPの上限の設定値CHset2を低く設定することができるので、モニタ値CAVEがより小さな値となるように、電源電圧Vddを制御することができるつまり、電源電圧Vddを低くすることができる。以上で説明したように、本実施の形態にかかる半導体装置では、内部回路3の特性のばらつきに応じて比較部24で用いる比較値COMPを変更することができるので、内部回路3の特性のばらつきに応じて最適な比較値を用いることができる。よって、比較値に無駄なマージンを設ける必要がないため、半導体装置の消費電力を低減することができる。したがって、本実施の形態にかかる発明により、消費電力を低減することが可能な半導体装置および電源供給方法を提供することができる。<実施の形態2>次に、本発明の実施の形態2について説明する。実施の形態2にかかる半導体装置では、ばらつき値算出部の構成が実施の形態1で説明したばらつき値算出部21と異なる。これ以外は実施の形態1と同様であるので、同一の構成要素には同一の符号を付し重複した説明は省略する。図9は、本実施の形態にかかる半導体装置が備えるばらつき値算出部21を示すブロック図である。図9に示すばらつき値算出部21は、最大値算出部37、最小値算出部38、および減算器39を有する。図9では、例として、ばらつき値算出部21が4つのカウント値C1~C4を用いてばらつき値CVARを算出する場合を示している。最大値算出部37は、カウント値C1~C4の中から最大値を抽出し、この最大値CMAXを減算器39に出力する。図11は、最大値算出部37の一例を示すブロック図である。最大値算出部37は、比較器411~413で構成されている。比較器411は、カウント値C1、C2を入力し、これらのうちカウント値が大きい方のカウント値を比較器413に出力する。比較器412は、カウント値C3、C4を入力し、これらのうちカウント値が大きい方のカウント値を比較器413に出力する。比較器413は、比較器411から出力されたカウント値と比較器412から出力されたカウント値のうち、大きい方のカウント値を最大値CMAXとして出力する。図13は、比較器411の一例を示すブロック図である比較器412、比較器412についても同様の構成である。比較器411は、減算器43と判定部44とを有する。減算器43は、カウント値C1とカウント値C2とを入力し、カウント値C1からカウント値C2を減算した値を判定部44に出力する。判定部44は、入力された値が正の値である場合はカウント値C1を出力し、入力された値が負の値である場合はカウント値C2を出力する。カウント値が2ビットで表現されている場合、判定部44は、入力された値のMSBMostSignificantBitが0の場合はカウント値C1を出力し、入力された値のMSBが1の場合はカウント値C2を出力する。このとき、負の整数を2の補数で表すとMSBは1となる。図9に示す最小値算出部38は、カウント値C1~C4の中から最小値を抽出し、この最小値CMINを減算器39に出力する。図12は、最小値算出部38の一例を示すブロック図である。最小値算出部38は、比較器421~423で構成されている。比較器421は、カウント値C1、C2を入力し、これらのうちカウント値が小さい方のカウント値を比較器423に出力する。比較器422は、カウント値C3、C4を入力し、これらのうちカウント値が小さい方のカウント値を比較器423に出力する。比較器423は、比較器421から出力されたカウント値と比較器422から出力されたカウント値のうち、小さい方のカウント値を最小値CMINとして出力する。図14は、比較器421の一例を示すブロック図である比較器422、比較器422についても同様の構成である。比較器421は、減算器45と判定部46とを有する。減算器45は、カウント値C1とカウント値C2とを入力し、カウント値C1からカウント値C2を減算した値を判定部46に出力する。判定部46は、入力された値が正の値である場合はカウント値C2を出力し、入力された値が負の値である場合はカウント値C1を出力する。カウント値が2ビットで表現されている場合、判定部46は、入力された値のMSBMostSignificantBitが0の場合はカウント値C2を出力し、入力された値のMSBが1の場合はカウント値C1を出力する。このとき、負の整数を2の補数で表すとMSBは1となる。図9に示す減算器39は、最大値算出部37から出力された最大値CMAXと最小値算出部38から出力された最小値CMINとを入力し、最大値CMAXから最小値CMINを減算した値をばらつき値CVARとして出力する。つまり、本実施の形態では、カウント値の最大値CMAXとカウント値の最小値CMINの差が大きい程、ばらつき値CVARが大きくなる。一方、カウント値の最大値CMAXとカウント値の最小値CMINの差が小さい程、ばらつき値CVARが小さくなる。なお、本実施の形態では、図10に示すばらつき値算出部21を用いてもよい。図10に示すばらつき値算出部21は、図9に示したばらつき値算出部21に除算器40を加えている。つまり、本実施の形態では、カウント値の最大値CMAXからカウント値の最小値CMINを引いた値を、更にカウント値の平均値で除算した値CMAX-CMIN/CAVEをばらつき値として用いてもよい。実施の形態1で説明したばらつき値算出部21では、ばらつき値として標準偏差を求めていた。このとき、自乗や平方根の演算を実施する必要があるため、ばらつき値算出部21の構成が比較的複雑となっていた図5参照。よって、カウント値C1~CNからばらつき値CVARを算出する際の演算量が多くなり、演算に時間がかかる場合があった。これに対して本実施の形態では、図9~図14に示すように、比較的簡単な構成でばらつき値算出部21を構成することができる。よって、カウント値C1~CNからばらつき値CVARを算出する際の演算量を少なくすることができ、ばらつき値CVARの算出にかかる時間を短縮することができる。<実施の形態3>次に、本発明の実施の形態3について説明する。実施の形態3にかかる半導体装置では、モニタ部の構成が実施の形態1で説明したモニタ部1N図2参照と異なる。これ以外は実施の形態1と同様であるので、同一の構成要素には同一の符号を付し重複した説明は省略する。図15は、本実施の形態にかかる半導体装置が備えるモニタ部60を示すブロック図である。図15に示すモニタ部60は、図1に示すモニタ部11~1Nの各々に対応している。すなわち、複数のモニタ部60が、内部回路3の複数の箇所に設けられている。図15に示すモニタ部60は、モニタ素子61第1のモニタ素子とモニタ素子62第2のモニタ素子とを有する。ここで、モニタ素子61、62は同一段数のリングオシレータを備える。モニタ素子61は、NAND11と、複数のインバータINV111~INV11Nと、カウンタ63とを備える。ここで、NAND11および複数のインバータINV111~INV11Nはリングオシレータを構成し、偶数個のインバータINV111~INV11Nが直列に接続されている。NAND11の一方の入力には制御部2から出力されたイネーブル信号ENaが供給される。また、インバータINV11Nの出力は、NAND11の他方の入力およびカウンタ63に出力される。カウンタ63には制御部2から出力されたリセット信号が供給される。カウンタ63のカウント値CNaは、モニタ部60が設けられた場所の特性を示す信号として制御部2に出力される。モニタ素子62は、NAND12と、複数のインバータINV121~INV12Nと、カウンタ64とを備える。ここで、NAND12および複数のインバータINV121~INV12Nはリングオシレータを構成し、偶数個のインバータINV121~INV12Nが直列に接続されている。NAND12の一方の入力には制御部2から出力されたイネーブル信号ENbが供給される。また、インバータINV12Nの出力は、NAND12の他方の入力およびカウンタ64に出力される。カウンタ64には制御部2から出力されたリセット信号が供給される。カウンタ64のカウント値CNbは、モニタ部60が設けられた場所の特性を示す信号として制御部2に出力される。図16は、モニタ部60の動作を説明するためのタイミングチャートであり、モニタ素子61に供給されるイネーブル信号ENaと、モニタ素子62に供給されるイネーブル信号ENbの波形を示している。図16に示すように、モニタ素子61に供給されるイネーブル信号ENaは、内部回路3の特性をモニタするモニタ期間にのみハイレベルとなる。つまり、モニタ素子61は、実施の形態1で説明したモニタ部1Nと同様の動作をする。これに対して、モニタ素子62に供給されるイネーブル信号ENbは、モニタ期間以外においてもハイレベルとなっている。イネーブル信号ENbがハイレベルとなっている期間、NAND12および複数のインバータINV121~INV12Nで構成されるリングオシレータは発振する。モニタ素子62が備えるリングオシレータは、モニタ素子61が備えるリングオシレータよりも発振している時間が長いため、モニタ素子62はモニタ素子61よりも早く劣化する。このとき、イネーブル信号ENbがハイレベルとなる期間を、内部回路3が備える回路の動作期間と近似させることで、内部回路3が備える回路の劣化状態を反映したカウント値CNbを出力することができる。すなわち、内部回路3が備える回路の経時劣化が進んでいない場合は、同一のモニタ期間において、モニタ素子61のカウント値CNaとモニタ素子62のカウント値CNbはほぼ同一の値となる。一方、内部回路3が備える回路の経時劣化が進んでいる場合は、内部回路3が備える回路の劣化状態を反映したモニタ素子62のカウント値CNbと、モニタ期間のみ動作をするモニタ素子61のカウント値CNaとで、差異が生じる。よって、制御部2は、モニタ素子61のカウント値CNaとモニタ素子62のカウント値CNbとで差異が生じた場合は、モニタ素子62のカウント値CNbを用いることで、内部回路3が備える回路の経年劣化を反映した制御をすることができる。例えば、内部回路3が備える回路の経時劣化によって回路素子の動作速度が遅くなった場合、モニタ素子62のカウント値CNbはモニタ素子61のカウント値CNaよりも小さくなる。この場合、制御部2は、モニタ素子62のカウント値CNbを用いることで、内部回路3に供給する電源電圧Vddを適切に制御することができる。換言すると、制御部2は、モニタ素子61に対してのモニタ素子62の遅延量が所定の値以上大きくなった場合、モニタ素子62のモニタ結果であるカウント値CNbを用いて比較値を設定することができる。以上で説明したように、本実施の形態にかかる半導体装置では、モニタ部60に、モニタ期間のみ動作するモニタ素子61と、モニタ期間以外にも動作するモニタ素子62とを設けている。そして、モニタ素子61のカウント値CNaとモニタ素子62のカウント値CNbとで差異が生じた場合、モニタ素子62のカウント値CNbを用いることで、内部回路3が備える回路の経年劣化を反映した制御をすることができる。<実施の形態4>次に、本発明の実施の形態4について説明する。実施の形態4にかかる半導体装置では、モニタ部の構成が実施の形態1で説明したモニタ部1N図2参照と異なる。これ以外は実施の形態1と同様であるので、同一の構成要素には同一の符号を付し重複した説明は省略する。図17は、本実施の形態にかかる半導体装置が備えるモニタ部70を示すブロック図である。図17に示すモニタ部70は、図1に示すモニタ部11~1Nの各々に対応している。すなわち、複数のモニタ部70が、内部回路3の複数の箇所に設けられている。図15に示すモニタ部70は、モニタ素子71第3のモニタ素子とモニタ素子72第4のモニタ素子とを有する。モニタ素子71は、NAND21と、複数のインバータINV211~INV21Nと、カウンタ73とを備える。ここで、NAND21および複数のインバータINV211~INV21Nはリングオシレータを構成し、偶数個のインバータINV211~INV21Nが直列に接続されている。NAND21の一方の入力には制御部2から出力されたイネーブル信号ENcが供給される。また、インバータINV21Nの出力は、NAND21の他方の入力およびカウンタ73に出力される。カウンタ73には制御部2から出力されたリセット信号が供給される。カウンタ73のカウント値CNcは、モニタ部70が設けられた場所の特性を示す信号として制御部2に出力される。モニタ素子72は、NAND22と、複数のインバータINV221~INV22Mと、カウンタ74とを備える。ここで、NAND22および複数のインバータINV221~INV22Mはリングオシレータを構成し、偶数個のインバータINV221~INV22Mが直列に接続されている。なお、MはNよりも大きい整数である。NAND22の一方の入力には制御部2から出力されたイネーブル信号ENdが供給される。また、インバータINV22Mの出力は、NAND22の他方の入力およびカウンタ74に出力される。カウンタ74には制御部2から出力されたリセット信号が供給される。カウンタ74のカウント値CNdは、モニタ部70が設けられた場所の特性を示す信号として制御部2に出力される。本実施の形態では、モニタ素子71に供給されるイネーブル信号ENcとモニタ素子72に供給されるイネーブル信号ENdは、同一の信号である。すなわち、モニタ素子71とモニタ素子72とが動作をするモニタ期間は同一の期間となる。しかし、モニタ素子71が備えるインバータの個数とモニタ素子72が備えるインバータの個数は異なるので、モニタ素子71から出力されるカウント値CNcとモニタ素子72から出力されるカウント値CNdは異なる。ここで、内部回路3のばらつきの種類には、主に、システマティックばらつきとランダムばらつきがある。システマティックばらつきは比較的広い範囲におけるばらつきであり、例えば内部回路3の複数の箇所に設けられたモニタ部を用いて検出することができる。一方、ランダムばらつきは比較的狭い範囲におけるばらつきである。本実施の形態では、モニタ部70に複数のモニタ素子71、72を設けることで、ランダムばらつきを検出することを可能にしている。すなわち、図17に示すように、本実施の形態では、インバータの個数が異なるモニタ素子を2つ設けている。具体的には、モニタ素子72のインバータINV221~INV22Mの個数を、モニタ素子71のインバータINV211~INV21Nの個数よりも多くしている。そして、モニタ素子72のカウント値CNdにインバータの段数比N/Mを乗算した値と、モニタ素子71のカウント値CNcと、を比較することで、モニタ部におけるランダムばらつきを検出することができる。つまり、インバータの段数が多いモニタ素子72のカウント値CNdは、モニタ素子71が形成されているゲート数よりも多数のゲートのばらつきを反映したカウント値であるため、モニタ素子71のカウント値CNcよりも、ランダムばらつきの影響が少ないランダムばらつきはゲート段数の平方根の逆数に比例する。よって、モニタ素子72のカウント値CNdにインバータの段数比N/Mを乗算した値と、モニタ素子71のカウント値CNcとのばらつきの差が小さい場合は、ランダムばらつきが小さいと判断することができる。逆に、モニタ素子72のカウント値CNdにインバータの段数比N/Mを乗算した値と、モニタ素子71のカウント値CNcとのばらつきの差が大きい場合は、ランダムばらつきが大きいと判断することができる。制御部2は、モニタ部におけるランダムばらつきも考慮して、比較部で使用される比較値COMPを決定することができる。つまり、複数のモニタ部のカウント値から得られたシステマティックばらつきと、各モニタ部の2つのモニタ素子から得られたランダムばらつきとを考慮して、比較部24で使用される比較値COMPを決定することができる。換言すると、制御部2は、モニタ素子71のモニタ結果とモニタ素子72のモニタ結果に基づき、モニタ部70における特性のばらつきを検出し、当該ばらつきに応じて比較値COMPを設定することができる。本実施の形態にかかる半導体装置では、システマティックばらつきに加えて、ランダムばらつきも考慮して、比較部24で使用される比較値COMPを決定することができるので、内部回路に供給される電源電圧Vddをより適切に制御することができる。<実施の形態5>次に、本発明の実施の形態5について説明する。実施の形態5にかかる半導体装置では、制御部の構成が実施の形態1で説明した制御部3図3参照と異なる。これ以外は実施の形態1と同様であるので、同一の構成要素には同一の符号を付し重複した説明は省略する。図18は、本実施の形態にかかる半導体装置が備える制御部80の一例を示すブロック図である。図18に示すように、制御部80は、比較値生成部81、モニタ値算出部22、レジスタ83、セレクタ84、および比較部24を備える。比較値生成部81は、複数のモニタ部11~1Nにおけるカウント値C1~CNを入力し、これらのばらつき値例えば、標準偏差σに応じて、比較値を生成する。また、比較値生成部81には、内部回路に電源が供給されたタイミングを示すパワーオン信号PWRONが供給される。比較値生成部81は、例えば、パワーオン信号PWRONが入力されたタイミングで比較値を生成する。パワーオン信号PWRONは、例えば端子を介して外部から供給される。比較値生成部81で生成される比較値は、基本的には実施の形態1にかかる比較値A、比較値B、比較値C、、と同様である。このとき、比較値生成部81は、内部回路の経年劣化を考慮して比較値を生成してもよく実施の形態3参照、また、システマティックばらつきに加えて、ランダムばらつきも考慮して比較値を生成してもよい実施の形態4参照。比較値生成部81で生成された比較値はセレクタ84に出力される。レジスタ83には比較値固定値が格納されている。レジスタ83に格納されている比較値は、汎用的に使用できる比較値である。例えば、内部回路3の特性のばらつきが大きい場合を想定して、所定の性能を実現するための電圧の最大値Vmaxsを高めに設定してある比較値である図7の上図、図8の上図参照。つまり、レジスタ83に格納されている比較値は、内部回路3の特性のばらつきが大きい場合を想定して、マージンを多めに確保している比較値である。レジスタ83に格納されている比較値固定値は、セレクタ84に出力される。セレクタ84は、選択信号SELに応じて、比較値生成部81で生成された比較値可変値またはレジスタ83に格納されている比較値固定値を選択し、選択された比較値COMPを比較部24に出力する。選択信号SELは、例えば端子を介して外部から供給されてもよく、また設定レジスタ不図示から供給されるようにしてもよい。図19A、図19Bは、本実施の形態にかかる制御部80の動作を説明するためのタイミングチャートである。図19Aに示すタイミングチャートでは、選択信号SELがハイレベルになった後に、パワーオン信号PWRONがハイレベルになる場合の動作を示している。また、図19Bに示すタイミングチャートでは、選択信号SELがハイレベルになる前に、パワーオン信号PWRONがハイレベルになる場合の動作を示している。まず、図19Aに示すタイミングチャートについて説明する。初期状態において、選択信号SELおよびパワーオン信号PWRONはロウレベルとなっている。選択信号SELがロウレベルであるので、セレクタ84はレジスタ83に格納されている比較値固定値を選択している。タイミングt1において選択信号SELがロウレベルからハイレベルに遷移すると、セレクタ84は、比較値生成部81で生成された比較値可変値を選択する。このとき、セレクタ84から比較部24に比較値COMP1比較値生成部81で更新される前の比較値が出力される。その後、タイミングt2においてパワーオン信号PWRONがロウレベルからハイレベルに遷移すると、比較値生成部81は、カウント値C1~CNに基づき比較値を生成する。生成された比較値COMP2は、セレクタ84を介して比較部24に供給される。次に、図19Bに示すタイミングチャートについて説明する。初期状態において、選択信号SELおよびパワーオン信号PWRONはロウレベルとなっている。選択信号SELがロウレベルであるので、セレクタ84はレジスタ83に格納されている比較値固定値を選択している。タイミングt11においてパワーオン信号PWRONがロウレベルからハイレベルに遷移すると、比較値生成部81は、カウント値C1~CNに基づき比較値を生成する。生成された比較値COMP2は、セレクタ84に出力される。その後、タイミングt12において選択信号SELがロウレベルからハイレベルに遷移すると、セレクタ84は比較値生成部81で生成された比較値COMP2を選択し、比較部24に比較値COMP2を出力する。図20は、本実施の形態にかかる半導体装置の動作を説明するためのフローチャートである。まず、制御部80は、割り込みがあったか否かを判断するステップS1。つまり、パワーオン信号PWRONがハイレベルとなった場合に割り込みがあったと判断する。割り込みがあった場合ステップS1:Yes、制御部80は、モニタ結果を集計するステップS2。つまり、制御部80は、各モニタ部11~1Nにおけるカウント値C1~CNを取得して集計する。その後、制御部80の比較値生成部81は、カウント値C1~CNを用いてばらつき値を計算しステップS3、算出されたばらつき値に応じた比較値を生成する。このようにして比較値生成部81は比較値を更新するステップS4。比較部24は、比較値生成部81で生成更新された比較値COMPと、モニタ値算出部22で算出されたモニタ値CAVEとを比較するステップS5。モニタ値CAVEが、比較値COMPの範囲内である場合ステップS6:Yes、電圧制御動作を終了して通常動作に復帰する。一方、モニタ値CAVEが、比較値COMPの範囲外である場合ステップS6:No、比較部24は、モニタ値CAVEが比較値COMPの範囲内となるように電源供給部4を制御する。以上で説明したように、本実施の形態にかかる半導体装置では、比較値生成部81において、フレキシブルに比較値を生成することができるので、内部回路に供給される電源電圧Vddをより適切に制御することができる。<実施の形態6>次に、本発明の実施の形態6について説明する。実施の形態6にかかる半導体装置では、図21に示すように制御部80にタイマ88を設けた点が実施の形態5で説明した制御部80と異なる。これ以外は実施の形態5と同様であるので、同一の構成要素には同一の符号を付し重複した説明は省略する。内部回路3に搭載されている回路が使用時に起動する場合は、使用されるタイミング、つまり電源が供給されるタイミングにおいて、比較値を更新することができる。このとき、内部回路3に電源が供給されるタイミングを示すパワーオン信号PWRONを用いることで、比較値の更新のタイミングを設定することができる。しかし、内部回路3に搭載されている回路の中には、一度電源が供給された後、電源を落とすことなく常に電源が供給され続ける回路もある。このような回路では、パワーオン信号PWRONを用いて比較値の更新のタイミングを設定することができない。そこで本実施の形態にかかる半導体装置では、制御部80にタイマ88を設け、比較値の更新のタイミングを示す更新タイミング信号RNWを比較値生成部81に出力している。タイマ88は、例えばクロック信号が供給されるカウンタで構成することができる。図22は、本実施の形態にかかる半導体装置の動作を説明するためのタイミングチャートである。初期状態では、選択信号SELがロウレベルであるので、セレクタ84はレジスタ83に格納されている比較値固定値を選択している。その後、タイミングt21において、選択信号SELがロウレベルからハイレベルに遷移する。これにより、セレクタ84は、比較値生成部81で生成された比較値可変値を選択する。このとき、セレクタ84から比較部24に比較値COMP1が出力される。その後、タイミングt22において更新タイミング信号RNWがハイレベルになると、比較値生成部81は比較値を更新する。このとき、セレクタ84から比較部24に出力される比較値は比較値COMP1から比較値COMP2に更新される。更に、タイミングt23において更新タイミング信号RNWがハイレベルになると、比較値生成部81は比較値を更新する。このとき、セレクタ84から比較部24に出力される比較値は比較値COMP2から比較値COMP3に更新される。このように、比較値生成部81は、更新タイミング信号RNWがハイレベルになる毎に比較値を更新する。これ以外の動作は、実施の形態5の場合と同様である。<実施の形態7>次に、本発明の実施の形態7について説明する。実施の形態7にかかる半導体装置では、制御部の構成が実施の形態1で説明した制御部3図3参照と異なる。これ以外は実施の形態1と同様であるので、同一の構成要素には同一の符号を付し重複した説明は省略する。図23は、本実施の形態にかかる半導体装置が備える制御部90を示す図である。本実施の形態では、制御部90にモニタ選択部93を新たに設けている。モニタ選択部93は、モニタ選択信号MSELに応じて、モニタ部11~1Nの中から使用するモニタ部を選択する。すなわち、モニタ選択部93は、使用するモニタ部に対してハイレベルのイネーブル信号を出力することで、使用するモニタ部を選択することができる。ここで、モニタ選択信号MSELは、例えば端子を介して外部から供給されてもよく、また設定レジスタ不図示から供給されるようにしてもよい。図24A、図24Bは、モニタ部の配置を説明するための図である。図24Aに示すモニタ部95、96は、図24Bに示すモニタ部97、98よりも多く配置されている。すなわち、図24Aに示すモニタ部95、96を用いることで、より正確に内部回路の特性をモニタすることができる。一方、モニタ部が多い場合は、モニタ部で得られたカウント値の演算処理に時間がかかるという問題がある。また、図24Bに示すモニタ部97、98の数は、図24Aに示すモニタ部95、96の数よりも少ないので、モニタ部で得られたカウント値の演算処理に比較的時間がかからないという利点がある。一方、モニタ部の数が少ないので、モニタの精度は図24Aに示す場合よりは劣る。本実施の形態では、モニタ部の数が多い図24Aに示す組み合わせと、モニタ部の数が少ない図24Bに示す組み合わせとを、モニタ選択信号MSELを用いて選択できるように構成することができる。よって、半導体装置を使用する使用者のニーズに応じて、モニタ部の組み合わせを変更することができる。また、本実施の形態では、ばらつき値算出部21で用いられるカウント値の数と、モニタ値算出部22で用いられるカウント値の数を、適宜変更することができる。すなわち、ばらつき値算出部21で算出されるばらつき値は比較値を決定するために用いられる。よって、より多くのモニタ部のカウント値を用いてばらつき値を算出したほうがより正確に比較値を決定することができる。一方、モニタ値算出部22で算出されるモニタ値は、内部回路における特性の変化をモニタするために用いられるため、モニタ値算出部22で用いられるカウント値の数は、ばらつき値算出部21で用いられるカウント値の数よりも少なくすることができる。よって、例えば図24Aに示す組み合わせのモニタ部を用いる場合は、ばらつき値算出部21でばらつき値を算出する際にモニタ部95およびモニタ部96全てのモニタ部を使用し、モニタ値算出部22でモニタ値を算出する際にモニタ部95のみ斜線で示すモニタ部を使用することができる。同様に、図24Bに示す組み合わせのモニタ部を用いる場合は、ばらつき値算出部21でばらつき値を算出する際にモニタ部97およびモニタ部98全てのモニタ部を使用し、モニタ値算出部22でモニタ値を算出する際にモニタ部97のみ斜線で示すモニタ部を使用することができる。このように、本実施の形態では、制御部90にモニタ選択部93を設けることで、使用するモニタ部を使用状況等に応じて適宜選択することが可能になる。<実施の形態8>次に、本発明の実施の形態8について説明する。実施の形態8にかかる半導体装置では、モニタ部の構成が実施の形態1で説明したモニタ部1N図2参照と異なる。これ以外は実施の形態1と同様であるので、同一の構成要素には同一の符号を付し重複した説明は省略する。図25は、本実施の形態にかかる半導体装置が備えるモニタ部の一例を示すブロック図である。図25に示すように、モニタ部101Nは、フリップフロップFF1~FF4と、クリティカルパスレプリカtcritと、遅延素子ta、tbとを有する。フリップフロップFF1は、クロック信号Tclkに応じて、入力されたデータをクリティカルパスレプリカtcritに出力する。クリティカルパスレプリカtcritは、内部回路3が備える回路における最も遅延の大きいパスを反映した遅延素子である。遅延素子ta、tbは所定の遅延値を備える遅延素子である。クリティカルパスレプリカtcrit、遅延素子ta、tbはそれぞれ互いに直列に接続されている。フリップフロップFF2は、クロック信号Tclkに応じて、遅延素子tbから出力されたデータを格納すると共に、制御部2に信号FOUTN1を出力する。フリップフロップFF3は、クロック信号Tclkに応じて、遅延素子taから出力されたデータを格納すると共に、制御部2に信号FOUTN2を出力する。フリップフロップFF2は、クロック信号Tclkに応じて、クリティカルパスレプリカtcritから出力されたデータを格納すると共に、制御部2に信号FOUTN3を出力する。ここで、各フリップフロップから出力される信号FOUTN1~FOUTN3は、モニタ部101Nにおけるモニタ結果を示す信号である。例えばクロックTclkが立ち上がる第1のタイミングで、フリップフロップFF1がデータ1を出力したとする。このとき、データ1は、クリティカルパスレプリカtcrit、遅延素子ta、tbを経由してフリップフロップFF2に到達する。そして、次にクロックTclkが立ち上がる第2のタイミングで、フリップフロップFF2にデータ1が格納される。この場合は、制御部2に信号FOUTN1として1が出力される。しかし、クリティカルパスレプリカtcrit、遅延素子ta、tbにおける遅延が大きすぎる場合は、フリップフロップFF2にデータ1が到達する前に、クロックTclkが第2のタイミングで立ち上がるためフリップフロップFF2に格納されるデータは0となる。同様に、クロックTclkが立ち上がる第1のタイミングで、フリップフロップFF1がデータ1を出力したとする。このとき、データ1は、クリティカルパスレプリカtcrit、遅延素子taを経由してフリップフロップFF3に到達する。そして、次にクロックTclkが立ち上がる第2のタイミングで、フリップフロップFF3にデータ1が格納される。この場合は、制御部2に信号FOUTN2として1が出力される。しかし、クリティカルパスレプリカtcrit、遅延素子taにおける遅延が大きすぎる場合は、フリップフロップFF3にデータ1が到達する前に、クロックTclkが第2のタイミングで立ち上がるためフリップフロップFF3に格納されるデータは0となる。同様に、クロックTclkが立ち上がる第1のタイミングで、フリップフロップFF1がデータ1を出力したとする。このとき、データ1は、クリティカルパスレプリカtcritを経由してフリップフロップFF4に到達する。そして、次にクロックTclkが立ち上がる第2のタイミングで、フリップフロップFF4にデータ1が格納される。この場合は、制御部2に信号FOUTN3として1が出力される。しかし、クリティカルパスレプリカtcritにおける遅延が大きすぎる場合は、フリップフロップFF4にデータ1が到達する前に、クロックTclkが第2のタイミングで立ち上がるためフリップフロップFF4に格納されるデータは0となる。本実施の形態にかかる半導体装置では、各モニタ部101Nから出力される信号FOUTN1~FOUTN3の値つまり、0または1を用いて、各モニタ部101Nにおける遅延を検出することができる。具体的には、モニタ部101Nから出力される各信号の値がFOUTN1、FOUTN2、FOUTN3=1、1、1の場合、モニタ部101Nにおける遅延が最も小さい。つまり、この場合は、クリティカルパスレプリカtcrit、遅延素子ta、tbを含むパス遅延が最も大きいパスを経由した場合であっても、データ1がフリップフロップFF2に到達しているので、モニタ部101Nにおける遅延が小さいといえる。以降、モニタ部101Nから出力される各信号の値がFOUTN1、FOUTN2、FOUTN3=0、1、1、FOUTN1、FOUTN2、FOUTN3=0、0、1、FOUTN1、FOUTN2、FOUTN3=0、0、0となるにつれて、モニタ部101Nにおける遅延が大きいといえる。また、本実施の形態では、各モニタ部101Nにおいて内部回路3の遅延を測定する際に、適宜、クロックTclkの周波数を変更してもよい。例えば、モニタ部101Nから出力される各信号の値がFOUTN1、FOUTN2、FOUTN3=1、1、1の場合、クロックTclkの周波数を高くすることで、FOUTN1、FOUTN2、FOUTN3=1、1、1とFOUTN1、FOUTN2、FOUTN3=0、1、1との境界を検出することができる。また、例えば、モニタ部101Nから出力される各信号の値がFOUTN1、FOUTN2、FOUTN3=0、0、0の場合、クロックTclkの周波数を低くすることで、FOUTN1、FOUTN2、FOUTN3=0、0、0とFOUTN1、FOUTN2、FOUTN3=0、0、1との境界を検出することができる。実施の形態1にかかる半導体装置と同様に、制御部2が備えるばらつき値算出部21は、モニタ部101Nから出力された各信号の値FOUTN1、FOUTN2、FOUTN3を用いて、ばらつき値CVARを求めることができる。図26は、本実施の形態にかかる半導体装置の動作を説明するための図である。図26に示すように、制御部2は、クロック信号Tclkが上限の設定値tcrittatbよりも大きい場合は、電源供給部4から供給される電源電圧Vddを低くし、クロック信号Tclkが下限の設定値tcrittaよりも小さい場合は、電源供給部4から供給される電源電圧Vddを高くする。このような制御により、クロック信号Tclkを下限の設定値tcrittaと上限の設定値tcrittatbとの間に収めることができる。ここで、設定値tcritta、設定値tcrittatbは制御目標となる遅延値である。遅延値taは遅延値taをばらつき値CVARに応じて補正した値である。また、遅延値tbは遅延値tbをばらつき値CVARに応じて補正した値である。つまり、各モニタ部におけるばらつき値CVARが大きい場合は、遅延値tbとして遅延値tbよりも大きな値を設定する。これにより、上限の設定値tcrittatbにマージンを持たせることができるので、より遅延が大きい場合であっても、適切に電源電圧を設定することができる。一方、各モニタ部におけるばらつき値CVARが小さい場合は、遅延値taとして遅延値taに近い値を、また、遅延値tbとして遅延値tbに近い値を設定することができる。つまり、各モニタ部におけるばらつき値CVARが小さい場合は、比較値に大きなマージンを設ける必要がないので、遅延値ta、tbに近い値を遅延値として設定することができる。よって、上限の設定値tcrittatbを小さくすることができるので、半導体装置の消費電力を低減することができる。なお、本実施の形態にかかる半導体装置では、遅延素子として2つの遅延素子ta、tbを設けた場合について説明したが、遅延素子は3つ以上備えていてもよい。この場合、各遅延素子から出力されるデータを格納するためのフリップフロップを、それぞれの遅延素子に対応して設ける必要がある。また、本実施の形態にかかる半導体装置では、モニタ部101Nがクリティカルパスレプリカtcritを備える構成について説明した。しかし、本実施の形態にかかる半導体装置では、内部回路3の特性のばらつきをモニタするモニタ部として実施の形態1で説明したリングオシレータを備えるモニタ部を用い、内部回路3が備える回路の性能遅延特性をモニタするモニタ部として、本実施の形態で説明したクリティカルパスレプリカtcritを備えるモニタ部を用いてもよい。このように、内部回路3が備える回路の性能を検出するモニタ部として、クリティカルパスレプリカtcritを備えるモニタ部を用いることで、実際の回路に近い遅延特性を検出することができる。以上、本発明を上記実施形態に即して説明したが、上記実施形態の構成にのみ限定されるものではなく、本願特許請求の範囲の請求項の発明の範囲内で当業者であればなし得る各種変形、修正、組み合わせを含むことは勿論である。