"複数のモジュールと、複数の遅延モニタとを備え、各遅延モニタは、複数段のゲート素子を有するリングオシレータを含み、前記ゲート素子の遅延時間を測定し、前記遅延モニタによって測定された遅延時間に基づいて、前記遅延モニタの近傍のモジュールの経年劣化を判定する制御部とを備えた、半導体装置。前記制御部は、前記経年劣化と判定した場合に、アラートを発信する、請求項1記載の半導体装置。前記制御部は、前記経年劣化と判定した場合に、前記半導体装置のビルトインセルフテストを実行する、請求項1記載の半導体装置。前記制御部は、前記経年劣化と判定した場合に、前記遅延モニタの近傍のモジュールの電源電圧を減少させる、請求項1記載の半導体装置。前記制御部は、前記経年劣化と判定した場合に、前記遅延モニタの近傍のモジュールの動作周波数を減少させる、請求項1記載の半導体装置。前記制御部は、経年劣化と判定した場合に、前記遅延モニタの近傍に配置されたファンの回転速度を増加させ、または回転頻度を増加させる、請求項1記載の半導体装置。前記半導体装置は、複数のプロセッサを備え、前記制御部は、前記経年劣化と判定した場合に、前記遅延モニタの近傍のモジュールが、高負荷のタスクを実行しているプロセッサであったときには、前記タスクを別のプロセッサに割り当てる、請求項1記載の半導体装置。前記制御部は、前記遅延モニタによって測定された遅延時間が所定の基準値を超えるか否かによって経年劣化を判定する、請求項1記載の半導体装置。前記半導体装置は、複数のプロセッサを備え、前記複数のプロセッサの中の1つのプロセッサは、メインプロセッサとして機能し、残りはサブプロセッサとして機能し、前記制御部は、前記経年劣化と判定した場合に、前記遅延モニタの近傍のモジュールがプロセッサでありメインプロセッサとして機能しているときには、前記近傍のモジュールであるプロセッサがサブプロセッサとして機能し、サブプロセッサとして機能しているプロセッサがメインプロセッサとして機能するように変更する、請求項1記載の半導体装置。前記複数のプロセッサの各々は識別IDを有し、前記サブプロセッサとして機能しているプロセッサがメインプロセッサとして機能するように変更する際、前記サブプロセッサと前記メインプロセッサの識別IDを入れ替えることにより変更する、請求項9記載の半導体装置。前記半導体装置は、複数のプロセッサを備え、前記複数のプロセッサの一部は、予備のプロセッサとして機能することが可能であり、前記制御部は、前記経年劣化と判定した場合に、前記遅延モニタの近傍のモジュールが動作中のプロセッサの場合に、予備のプロセッサとして機能しているプロセッサが存在するときには、前記近傍のモジュールであるプロセッサを停止し、かつ前記予備のプロセッサとして機能しているプロセッサを動作させる、請求項1記載の半導体装置。前記半導体装置は、複数のプロセッサを備え、前記複数のプロセッサの一部は、予備のプロセッサとして機能することが可能であり、予備のプロセッサを除く2個以上のプロセッサによってプログラムの並列処理が可能であり、前記制御部は、前記経年劣化と判定した場合に、前記遅延モニタの近傍のモジュールが動作中のプロセッサのときには、予備のプロセッサとして機能しているプロセッサが存在しないときには、前記近傍のモジュールであるプロセッサを停止する、請求項1記載の半導体装置。前記遅延モニタのリングオシレータは、遅延時間の測定期間および前記測定期間の前後の所定サイクル数以外では、発振し続ける、請求項1記載の半導体装置。前記制御部は、前記遅延モニタによって、現時点で測定された遅延時間と、過去に測定された遅延時間との差分に基づいて、前記経年劣化を判定する、請求項1記載の半導体装置。前記複数の遅延モニタは、近接する2個ずつが1つのペアを構成し、前記ペアの一方の遅延モニタのリングオシレータは、遅延時間の測定期間の前後の所定サイクル数以外では、発振し続け、前記ペアの他方の遅延モニタのリングオシレータは遅延時間の測定期間のみ発振し、前記制御部は、前記一方の遅延モニタで測定された遅延時間と、前記他方の遅延モニタで測定された遅延時間との差分に従って、前記経年劣化を判定する、請求項1記載の半導体装置。特許文献1のような従来の劣化検出装置は、劣化の予兆を察知したらアラームを発信して、該当システムまたはLSIの修理または交換を行なうものである。前もって故障しそうなことが分かると、部品調達やメンテナンススケジュール調整ができるため、円滑に交換作業を進めることができるメリットがある。しかしながら、従来の劣化検出回路には、以下の問題がある。同一パッケージ内に複数のダイチップが実装されている場合は、それぞれのダイは違う製造プロセスで作られているため、信頼性に関するパラメータが相違する。すなわち故障率や寿命が違うため、あるダイチップが劣化しても他のダイチップも同じように劣化するとは限らない。また、アナログ回路、メモリ、高速回路、低速回路が混在する大規模システムLSIでは、同一ダイであっても、場所によって微細度が違うため故障率や寿命が異なるし、また同程度の微細度でも場所によって劣化に大きく関係する電圧、電流密度、温度が異なるため、ある箇所が劣化しても他の箇所が同じように劣化しているとは限らない。このように、従来では、同一半導体チップ内の劣化は均一ではないにもかかわらず、チップ全体の劣化を検出して、チップごとに交換していたため、無駄が生じていた。それゆえに、本発明の目的は、部分的な経年劣化の予兆を早期に発見することができる半導体装置を提供することである。本発明の一実施形態の半導体装置は、複数のモジュールと、複数の遅延モニタとを備え、各遅延モニタは、複数段のゲート素子を有するリングオシレータを含み、ゲート素子の遅延時間を測定する。この半導体装置は、遅延モニタによって測定された遅延時間に基づいて、遅延モニタの近傍のモジュールの経年劣化を判定する制御部とを備える。本発明の一実施形態によれば、部分的な経年劣化の予兆を早期に発見することができる半導体装置を提供することである。以下、本発明の実施形態について図面を参照して説明する。[第1の実施形態]図1は、本実施の形態のLSIの構成を表わす図である。このLSI1は、マルチプロセッサ構成のLSIである。このLSI1は、CPUCentralProcessingUnit群14を有する。CPU群14は、CPU0~8の複数のプロセッサを含む。CPU0~CPU8の各々は、内部に1次キャッシュIcache,Dcache、CPUコアと、内部メモリULM、MMUメモリ管理部、SDIデバッガを有する。CPU0~CPU7は、CPUバス72に接続され、CPUバス72はCPUバス制御部4を介して2次キャッシュ3に接続されている。また、2次キャッシュ3、CPU8、遅延モニタ群15は内部周辺バス13に接続されている。さらに、2次キャッシュはDDR2IF2を介して第1外部バスに接続されている。CPU0~CPU8のうち、CPU8が本実施の形態で説明するLSI1の経年劣化の判定、および判定結果に基づいて制御を行なうプログラムを実行することとする。但し、CPU0~CPU7の何れかにおいて本実施の形態で説明するLSI1の経年劣化の判定、および判定結果に基づいて制御を行なうプログラムを実行することも可能である。このLSI1は、DSPDigitalSignalProcessor群9と、DMACDirectMemoryAccessController5、外部バス制御部8、電源回路10、内蔵SRAMStaticRandomAccessMemory6と、JTAGJointTestActionGroupコントローラ11と、汎用入出力ポート12と、クロック供給回路33と、電源回路10とを備える。DSP群9に含まれるDSP0およびDSP1は、画像処理などの所定の専用の演算を実行する。レイアウト図2は、図1のLSIのレイアウトを表わす図である。図2に示すように、CPU0、CPU1、CPU2、CPU3、CPU4、CPU5、CPU6、CPU7、CPU8、DSP0、DSP1、2次キャッシュ3、DDR2I/F2、内蔵SRAM6、クロック供給回路33、機能モジュールA、機能モジュールB、機能モジュールC、機能モジュールD、機能モジュールE、機能モジュールFがそれぞれ1つのモジュールを構成する。図1のCPUバス制御部4、DMAC5、外部バス制御部8、電源回路10、JTAGコントローラ11、汎用入出力ポート12は、機能モジュールA~Fのいずれかに属する。また、LSI1の内部には、遅延モニタ00~16が配置されている。これらの遅延モニタ00~16は小さく且つ省電力である。これらの遅延モニタ00~16はレイアウト上全く同じ形状をしている。各遅延モニタには、1つのモジュールが対応づけられ、割り当てられたモジュールの近傍内部を含むに配置される。たとえば、遅延モニタ00~08がそれぞれCPU0~8に対応づけられて、近傍に配置されている。遅延モニタとその遅延モニタに対応するモジュールは、電源を共通にしたり、あるいはクロック周波数を同じにしたり、あるいは電源とクロック両方を共通にする。各遅延モニタは、対応づけられたモジュールと、温度条件や、製造バラつきが近くなるように、割り当てられたモジュールの近傍に配置される。したがって、経年劣化によって遅延モニタの遅延値が大きくなった場合には、遅延モニタに対応し、近傍に配置されたモジュールも経年劣化していると判断することができる。上述の1つのモジュール、すなわちCPU0、CPU1、CPU2、CPU3、CPU4、CPU5、CPU6、CPU7、CPU8、DSP0、DSP1、2次キャッシュ、DDR2I/F、SRAM、クロック供給回路、機能モジュールA、機能モジュールB、機能モジュールC、機能モジュールD、機能モジュールE、機能モジュールFは個別に周波数制御ができる。CPU0、CPU1、CPU2、CPU3、CPU4、CPU5、CPU6、CPU7、CPU8、DSP0、DSP1、2次キャッシュ、DDR2I/F、SRAM、クロック供給回路、機能モジュールA、機能モジュールF、機能モジュールBCDEのセットは、それぞれ個別に電圧制御ができる。遅延モニタ経年劣化によって、トランジスタの閾値が変化したり、トランジスタのドレイン電流が減少し、配線やビアは配線細りになる。したがって、経年劣化が進むにつれインバータチェーンのゲート遅延が徐々に大きくなる。本実施の形態の遅延モニタは、このような特質を利用する。図3は、第1の実施形態の遅延モニタii=00~16の構成を表わす図である。図3を参照して、遅延モニタiは、制御レジスタ22と、フリップフロップ25と、リングオシレータ26と、パルスカウンタ24と、エッジ検出部23とを備える。パルスカウンタ24と、エッジ検出部23と、CPU8と、制御レジスタ22は、内部周辺バス13によって互いに接続されている。制御レジスタ22には、内部周辺バス13を介してCPUから信号が入力される。さらに、制御レジスタ22には、基準クロックCLKが入力される。基準クロックCLKとして、たとえば、CPU8のクロック、内部周辺バス13のクロック、遅延モニタ専用のクロックなどが用いられる。制御レジスタ22は、遅延モニタiの起動時に、CPU8の制御によって、計測開始ビットに1が書き込まれる。制御レジスタ22の計測開始ビットが1に設定された場合に、リセット信号RSがパルスカウンタ24に出力される。制御レジスタ22は、リセット信号RSを出力してから一定時間経過後に、計測開始信号STをフリップフロップ25に出力する。フリップフロップ25には、基準クロックCLKと、計測開始信号STが入力される。フリップフロップ25は、計測開始信号STが入力された場合に、リングオシレータ26とエッジ検出部23に、イネーブル信号であるオシレータイネーブル信号ENを基準クロックCLKの1周期Tcの期間出力する。リングオシレータ26は、NAND素子NAと複数段のゲート素子IV1~IV14と第一の信号線とを有し、第一の信号線にイネーブル信号であるオシレータイネーブル信号ENが入力されている期間、発振信号を出力する。NAND素子は2つの端子を有する。NAND素子の一方の端子は、第一の信号線が接続されたイネーブル端子である。上述したフリップフロップ25の動作により、オシレータイネーブル信号ENは、基準クロックCLKの1周期の期間、第一の信号線に入力される。そのため、第一の信号線と接続されたイネーブル端子には、オシレータイネーブル信号ENが入力される。NAND素子の他方の端子には、最終段のインバータ素子から出力される信号が入力される。パルスカウンタ24は、リングオシレータ26の発振信号の発振数、つまり、リングオシレータ26の出力パルス数Cdcをカウントする。このカウント値は、たとえば、16ビット単位で出力される。パルスカウンタ24には、制御レジスタ22からリセット信号RSが入力される。パルスカウンタ24は、リセット信号RSが入力されると、それまで保持していた出力パルス数をリセットする。エッジ検出部23は、リングオシレータ26の各段のゲート素子の出力を、オシレータイネーブル信号ENの終了のタイミングで検出する。具体的には、エッジ検出部23は、オシレータイネーブル信号ENのエッジが、上記のタイミングで伝播しているゲート素子の段数以下、ゲート段数Cdfを検出する。Cdfは、リングオシレータ26内を通過したオシレータイネーブル信号ENのエッジ数が偶数である場合には、イネーブル端子からのゲート段数と対応する。一方、リングオシレータ26内を通過したオシレータイネーブル信号ENのエッジ数が奇数である場合には、Cdfは、イネーブル端子からのゲート段数に全ゲート段数を加えた値となる。したがって、Cdfは、0~29までの値を取る。この検出内容は、たとえば、15ビットで出力される。CPU8は、内部周辺バス13を介して、パルスカウンタ24と、エッジ検出部23と接続される。CPU8は、遅延モニタi内のエッジ検出部23およびパルスカウンタ24の出力に基づいて、ゲート素子による遅延に関する所定の数値を算出する。本実施の形態において、CPU8は、式A1A2に基づいて、パルスカウンタ24のカウント値Cdcと、エッジ検出部23の検出内容Cdfとから、第一の信号線にオシレータイネーブル信号が入力されている期間にオシレータイネーブル信号ENのエッジがリングオシレータ26の各ゲート素子を伝播可能な段数以下、伝播可能段数Cd、および、ゲート素子1段の平均遅延時間Tdを算出する。Cd=Cdc×N×2CdfA1Td=Tc/CdA2ただし、Tcは基準クロックCLKの周期、Nはリングオシレータ26のゲート素子の段数である。本実施の形態では、ゲート素子1段の平均遅延時間Tdを経年劣化の判定のための遅延値として用いる。遅延値の算出動作次に、図4を用いて、遅延モニタiが起動して、CPU8によってCdおよびTdを算出する動作について説明する。まず、制御レジスタ22は、CPU8の制御によって、計測開始ビットに1が書き込まれると、ハイレベルのリセット信号RSをパルスカウンタ24に出力する。パルスカウンタ24は、リセット信号RSを受けると、それまで保持していた検出内容をリセットする。次に、制御レジスタ22は、リセット信号RSを出力してから基準クロックCLKの1周期経過後に、ハイレベルの計測開始信号STをフリップフロップ25に出力する。フリップフロップ25は、計測開始信号STの立下りのタイミングから基準クロックCLKの1周期の間の測定期間において、リングオシレータ26の第一の信号線に、ハイレベルのオシレータイネーブル信号ENを出力する。オシレータイネーブル信号ENがハイレベルの期間すなわち、測定期間において、パルスカウンタ24は、リングオシレータ26の発振信号の発振数Cdcをカウントする。エッジ検出部23は、オシレータイネーブル信号ENがロウレベルになるタイミングで、オシレータイネーブル信号ENのエッジが伝播しているゲート段数Cdfを検出する。CPU8は、遅延モニタiの出力Cdc,Cdfに基づいて、式A1、A2に従って、伝播可能段数Cdおよびゲート素子1段の平均遅延時間Tdを求めて、Tdを経年劣化判定のための遅延値として用いる。経年劣化の判定図5は、第1の実施形態における遅延モニタii=00~16での遅延値のチェック手順を示すフローチャートである。図5に示すように、まず、CPU8は、制御レジスタ22の計測開始ビットに1をセットとして、遅延モニタiを起動する。遅延モニタi内のリングオシレータ26が発振動作するステップS101。次に、CPU8は、遅延モニタiのエッジ検出部23およびパルスカウンタ24からの出力を受けて、式A1および式A2に従って、遅延値Tdを求めて、遅延値TdをチェックするステップS102。CPU8は、遅延値Tdが基準値以下の場合にはステップS103でYES、チェックを完了する。CPU8は、遅延値Tdが基準値を超えた場合にはステップS103でNO、遅延モニタiの近傍のモジュールが経年劣化していると判定し、LSI1の外部にアラートを発信するステップS104。上記の動作において、遅延モニタiを起動して遅延値をチェックするタイミングは、システムの立ち上げ時または一定時間ごと定期的とする。また、このLSI1を用いたシステム内の他の動作に連携してたとえば自動車に関連するLSIの場合には、自動車が動く時、停止する時、エンジンの回転数が一定以上になった時など、遅延モニタiを起動して遅延値をチェックすることとしてもよい。また、コンピューターシステム管理者のメンテナンスの指示によって遅延モニタiを起動して遅延値をチェックすることとしてもよい。基準値は、許容できる上限値に到達するまでの時間を確保できる値を設定する。許容できる上限値に到達するまでの時間、つまり故障までの時間は、LSIを使用するシステムによって変わる。基準値は、予めシミュレーションで求めたり、あるいはLSIの開発段階またはLSIを使ったシステムの開発段階での試験での結果から求めることができる。また基準値は、ゲート素子1段の平均遅延時間Tdでなくても、その関数になるものでもよい。たとえば、遅延モニタiの出力であるCdcCdfそのものであってもよい。精度がそれほど要求されない場合はCdcだけでもよい。精度がある程度必要な場合には、Cdcを上位ビットとし、Cdfを下位ビットとしてコンカチネートしたデータでもよい。CdcCdfをそのまま使う場合は、CPUの計算負荷が減り、制御が簡単になる。効果以上のように、本実施の形態によれば、CPUが遅延モニタを観測することによって、LSIの経年劣化を検出した場合に、アラートを発信することができる。[第2の実施形態]図6は、第2の実施形態における遅延モニタii=00~16での遅延値のチェック手順を示すフローチャートである。図6に示すように、まず、CPU8は、制御レジスタ22の計測開始ビットに1をセットとして、遅延モニタiを起動する。遅延モニタi内のリングオシレータ26が発振動作するステップS201。次に、CPU8は、遅延モニタiのエッジ検出部23およびパルスカウンタ24からの出力を受けて、式A1および式A2に従って、遅延値Tdを求めて、遅延値TdをチェックするステップS202。CPU8は、遅延値Tdが基準値以下の場合にはステップS203でYES、チェックを完了する。CPU8は、遅延値Tdが基準値を超えた場合にはステップS203でNO、JTAGコントローラ11に対して、適切なシーケンスの信号を与えることによって、LSI1のセルフテストを行ない、劣化によって誤動作する箇所が無いかを調査するステップS204。セルフテストで問題がない場合にはステップS205でNO、CPU8は、チェックを完了する。セルフテストで問題がある場合にはステップS205でYES、CPU8は、LSI1の外部にLSI1が経年劣化していると判定して、アラートを発信するステップS206。効果以上のように、本実施の形態によれば、CPUが遅延モニタを観測することによって、LSIの経年劣化を検出した場合に、BISTを実行して、経年劣化によって誤動作する箇所がないかを調べることができる。[第3の実施形態]図7は、第3の実施形態における遅延モニタii=00~16での遅延値のチェック手順を示すフローチャートである。図7に示すように、まず、CPU8は、制御レジスタ22の計測開始ビットに1をセットとして、遅延モニタiを起動する。遅延モニタi内のリングオシレータ26が発振動作するステップS301。次に、CPU8は、遅延モニタiのエッジ検出部23およびパルスカウンタ24からの出力を受けて、式A1および式A2に従って、遅延値Tdを求めて、遅延値TdをチェックするステップS302。CPU8は、遅延値Tdが基準値以下の場合にはステップS303でYES、チェックを完了する。CPU8は、遅延値Tdが基準値を超えた場合にはステップS303でNO、遅延モニタiの近傍のモジュールが経年劣化していると判定し、電源回路10を制御して遅延モニタiの近傍のモジュールの電源電圧を下げる。電源電圧の制御は、電源レギュレータを内蔵するLSIの場合には、CPU8が、電源レギュレータへ電源電圧を下げるように指示する信号を出力することによって行なわれる。電源レギュレータを持たないLSIの場合には、CPU8は、LSIの外部へ電源電圧を減少するように要求して、LSIの外部のレギュレータが電源電圧を下げるように制御する。CPU0は、基準値と遅延値Tdとの差分を計算し、差分値に基づいて、電源電圧の下げ幅を決定する。たとえば、CPU8は、基準値と遅延値Tdとの差分値が1nsごとに基準値を10mV下げる。電圧が高いほど経年劣化が進むので、電源電圧を下げることで劣化の進行を遅らせることができるステップS304。さらに、CPU8は、基準値を緩和する大きくする。基準値を緩和する理由は、遅延モニタiの近傍のモジュールの電源電圧を下げたことによって遅延モニタiにおけるゲート遅延が増えるためであるステップS305。効果以上のように、本実施の形態によれば、CPUが遅延モニタを観測することによって、LSIの経年劣化を検出した場合に、遅延モニタの近傍のモジュールの電源電圧を小さくすることによって、LSIの寿命を延ばすことができる。なお、電源電圧の制御の別の方法として、図8に示すようなテーブルに従って、パルスカウンタ24のカウント値Cdcの値によって、電源電圧の大きさを変更することとしてもよい。第3の実施形態の電源電圧の下げ幅、および図8のテーブルの電圧は、製造プロセスや使用環境などによって適切な値が変わるので、それぞれのLSIまたはシステムに合ったものを用いることにすればよい。[第4の実施形態]図9は、第4の実施形態における遅延モニタii=00~16での遅延値のチェック手順を示すフローチャートである。図9に示すように、まず、CPU8は、制御レジスタ22の計測開始ビットに1をセットとして、遅延モニタiを起動する。遅延モニタi内のリングオシレータ26が発振動作するステップS401。次に、CPU8は、遅延モニタiのエッジ検出部23およびパルスカウンタ24からの出力を受けて、式A1および式A2に従って、遅延値Tdを求めて、遅延値TdをチェックするステップS402。CPU8は、遅延値Tdが基準値以下の場合にはステップS403でYES、チェックを完了する。CPU8は、遅延値Tdが基準値を超えた場合にはステップS403でNO、遅延モニタiの近傍のモジュールが経年劣化していると判定し、クロック供給回路33を制御して遅延モニタiの近傍のモジュールの動作周波数を下げる。CPU8は、基準値と遅延値Tdとの差分を計算し、差分値に基づいて、近傍のモジュール動作周波数の下げ幅を決定する。たとえば、基準値と遅延値Tdとの差分値が5nsごとに、供給するクロックの分周比を大きくする。周波数の制御は、LSI内で自動的に下げてもよいし、またOSやソフトウェアによってCPU8からクロック周波数を制御することとしてもよい。周波数=サイクルタイムが速いほど経年劣化が進むので、動作周波数を下げることで劣化の進行を遅らせることができるステップS404。さらに、CPU8は、基準値を緩和する大きくする。基準値を緩和する理由は、遅延モニタiの近傍のモジュールの動作周波数を下げても、劣化したゲートは元には戻らないため、同じ基準値を用いると毎回遅延値Tdが基準値を超えることになるためであるステップS405。効果以上のように、本実施の形態によれば、CPUが遅延モニタを観測することによって、LSIの経年劣化を検出した場合に、遅延モニタの近傍のモジュールの動作周波数を下げることによって、LSIの寿命を延ばすことができる。なお、周波数制御の別の方法として、図10に示すようなテーブルに従って、パルスカウンタのカウント値Cdcの値によって、分周比を変えることで周波数の大きさを変更することとしてもよい。なお、第4の実施形態の周波数の下げ幅、および図10のテーブルの分周比は、製造プロセスや使用環境などによって適切な値が変わるので、それぞれのLSIまたはシステムに合ったものを用いることにすればよい。[第5の実施形態]図11は、第5の実施形態における遅延モニタii=00~16での遅延値のチェック手順を示すフローチャートである。図11に示すように、まず、CPU8は、制御レジスタ22の計測開始ビットに1をセットとして、遅延モニタiを起動する。遅延モニタi内のリングオシレータ26が発振動作するステップS501。次に、CPU8は、遅延モニタiのエッジ検出部23およびパルスカウンタ24からの出力を受けて、式A1および式A2に従って、遅延値Tdを求めて、遅延値TdをチェックするステップS502。CPU8は、遅延値Tdが基準値以下の場合にはステップS503でYES、チェックを完了する。CPU8は、遅延値Tdが基準値を超えた場合にはステップS503でNO、遅延モニタiの近傍のモジュールが経年劣化していると判定し、温度を下げるために、LSIパッケージに外付けされている冷却ファンの回転速度を上げたり、回転頻度を上げる制御を行なう。CPU8は、基準値と遅延値Tdとの差分を計算し、差分値に基づいて、冷却ファンの制御幅を決定する。たとえば、基準値と遅延値Tdとの差分値が1nsごとに、冷却ファンの回転数を1段階上げたり、冷却ファンをオンにするためのセンサの温度設定を1段階上げたりする。温度が高いほど経年劣化が進むものがあるので、温度を下げることで劣化の進行を遅らせることができるステップS504。さらに、CPU8は、基準値を緩和する大きくする。基準値を緩和する理由は、冷却ファンを制御しても、劣化したゲートは元には戻らないため、同じ基準値を用いると毎回遅延値が基準値を超えることになるためであるステップS505。効果以上のように、本実施の形態によれば、CPUが遅延モニタを観測することによって、LSIの経年劣化を検出した場合に、LSIパッケージに外付けされている冷却ファンの回転速度を上げたり、回転頻度を上げる制御を行い、温度を下げることによって、LSIの寿命を延ばすことができる。[第6の実施形態]CPU0~CPU8は、OSによってタスクが割り当てられる。各タスクはその内容によって、CPUにかかる負荷が違う。たとえば複雑な演算をするタスクを実行するCPUは多くのゲートが速い周波数でスイッチングする。単純な計算を行なうタスクを実行するCPUは少ないゲートが比較的遅い周波数でスイッチングする。外部からの入力を監視するような制御系のタスクを実行するCPUは、ほとんどのゲートが全くスイッチングせず一部のゲートも非常に遅い周波数でしか動かない。本実施の形態は、経年劣化が判定された場合に、複数のCPUへのタスクの割り当てを切替える。図12は、第6の実施形態における遅延モニタii=00~16での遅延値のチェック手順を示すフローチャートである。図12に示すように、まず、CPU8は、制御レジスタ22の計測開始ビットに1をセットとして、遅延モニタiを起動する。遅延モニタi内のリングオシレータ26が発振動作するステップS601。次に、CPU8は、遅延モニタiのエッジ検出部23およびパルスカウンタ24からの出力を受けて、式A1および式A2に従って、遅延値Tdを求めて、遅延値TdをチェックするステップS602。CPU8は、遅延値Tdが基準値以下の場合にはステップS603でYES、チェックを完了する。CPU8は、遅延値Tdが基準値を超えた場合にはステップS603でNO、遅延モニタiの近傍のモジュールが経年劣化していると判定し、遅延モニタiの近傍のモジュールが高負荷のタスクを実行しているCPUであったときにはステップS604でYES、近傍の遅延モニタの遅延値Tdが基準値以下であり、かつ低負荷なタスクを実行しているか、いずれのタスクも実行していない別のCPUを特定する。CPU8は、特定した別のCPUに近傍のモジュールであるCPUが実行していた高負荷なタスクを割り当てる。また、CPU8は、別のCPUが低負荷なタクスを実行していた場合には、その低負荷なタスクを近傍のモジュールのCPUに割り当てる。CPUの負荷が高いと、ゲートのスイッチング回数や、動作周波数、温度が上がるため、経年劣化がより進む。したがってCPUの負荷を下げることで劣化の進行を遅らせることができるステップS605。さらに、CPU8は、基準値を緩和する大きくする。基準値を緩和する理由は、遅延モニタiの近傍のモジュールのCPUのタスクを低負荷のタスクに変えても、劣化したゲートは元には戻らないため、同じ基準値を用いると毎回遅延値が基準値を超えることになるためであるステップS606。効果以上のように、本実施の形態によれば、CPUが遅延モニタを観測することによって、LSIの経年劣化を検出した場合に、複数のCPUのタスクの割当てを変更することによって、LSIの寿命を延ばすことができる。なお、経年劣化していると判定された遅延モニタの近傍のCPUについては、OSなどのソフトウェアがその遅延値を記憶し、以降もその遅延値に基づいて、そのCPUに適切な負荷のタスクを割り当てることとしてもよい。[第7の実施形態]本実施の形態では、DSP0およびDSP1は、一方がメイン演算器として機能し、他方がサブ演算器として機能するものとする。初期状態では、DSP0がメイン演算器として機能し、DSP1がサブ演算器として機能するものとする。メイン演算器で演算のほとんどすべてが行なわれるが、メイン演算器だけでは処理速度が間に合わない演算を行なう場合には、サブ演算器がメイン演算器を補助するために用いられる。本実施の形態は、経年劣化が判定された場合に、DSP0とDSP1の役割を切替える。図13は、第7の実施形態における遅延モニタii=00~16での遅延値のチェック手順を示すフローチャートである。図13に示すように、まず、CPU8は、制御レジスタ22の計測開始ビットに1をセットとして、遅延モニタiを起動する。遅延モニタi内のリングオシレータ26が発振動作するステップS701。次に、CPU8は、遅延モニタiのエッジ検出部23およびパルスカウンタ24からの出力を受けて、式A1および式A2に従って、遅延値Tdを求めて、遅延値TdをチェックするステップS702。CPU8は、遅延値Tdが基準値以下の場合にはステップS703でYES、チェックを完了する。CPU8は、遅延値Tdが基準値を超えた場合にはステップS703でNO、遅延モニタiの近傍のモジュールが経年劣化していると判定し、遅延モニタiの近傍のモジュールがメイン演算器として機能しているDSP0であったときにはステップS704でYES、サブ演算器として機能しているDSP1の近傍の遅延モニタの遅延値が基準値以下である場合には、DSP1をメイン演算器に変更し、DSP0をサブ演算器に変更する。メイン演算器とサブ演算器の切替えは、OSが割り当てを決めている場合は、OS内で処理することができる。別の切替方法として、アプリケーションソフトウェアで切替えたり、ハードウェアでDSP0とDSP1の入出力IFを入れ替えたり、DSP0とDSP1の識別IDを入れ替えるなどの方法でもよい。DSPの負荷が高いと、ゲートのスイッチング回数や、動作周波数、温度が上がるため、経年劣化がより進む。従ってDSPの負荷を下げることで劣化の進行を遅らせることができるステップS705。さらに、CPU8は、基準値を緩和する大きくする。基準値を緩和する理由は、遅延モニタiの近傍のモジュールのDSP0をサブ演算器に変えても、劣化したゲートは元には戻らないため、同じ基準値を用いると毎回遅延値が基準値を超えることになるためであるステップS706。効果以上のように、本実施の形態によれば、CPUが遅延モニタを観測することによって、LSIの経年劣化を検出した場合に、メイン演算器とサブ演算器の役割を交換することによって、LSIの寿命を延ばすことができる。[第8の実施形態]本実施の形態では、CPU0~CPU8のうち、1つがメインCPUとして機能し、CPU1~CPU7の7つがサブCPUとして機能し、CPU8を経年劣化の判定、および判定結果に基づいて制御を行なうプログラムを実行するものとする。初期状態では、CPU0がメインCPUとして機能し、CPU1~CPU7がサブCPUとして機能するものとする。メインCPUで命令のほとんどすべてが行なわれるが、メインCPUだけでは処理速度が間に合わない命令を実行する場合には、サブCPUがメインCPUを補助するために用いられる。本実施の形態は、経年劣化が判定された場合に、メインCPUをCPU0から他のCPUに切替える。図14は、第8の実施形態における遅延モニタii=00~16での遅延値のチェック手順を示すフローチャートである。図14に示すように、まず、CPU8は、制御レジスタ22の計測開始ビットに1をセットとして、遅延モニタiを起動する。遅延モニタi内のリングオシレータ26が発振動作するステップS801。次に、CPU8は、遅延モニタiのエッジ検出部23およびパルスカウンタ24からの出力を受けて、式A1および式A2に従って、遅延値Tdを求めて、遅延値TdをチェックするステップS802。CPU8は、遅延値Tdが基準値以下の場合にはステップS803でYES、チェックを完了する。CPU8は、遅延値Tdが基準値を超えた場合にはステップS803でNO、遅延モニタiの近傍のモジュールが経年劣化していると判定し、遅延モニタiの近傍のモジュールがメインCPUとして機能しているCPU0であった場合にはステップS804でYES、CPU1~CPU7のうち、近傍の遅延モニタの遅延値が基準値以下であるCPUを特定するCPUAとする。CPU8は、CPU0をサブCPUに変更し、CPUAをメインCPUに変更する。メインCPUとサブCPUの切替えは、OSが割り当てを決めている場合は、OS内で処理することができる。別の切替方法として、アプリケーションソフトウェアで切替えたり、ハードウェアでCPU0とCPUAの入出力IFを入れ替えたり、CPU0とCPUAの識別IDを入れ替えるなどの方法でもよい。CPUの負荷が高いと、ゲートのスイッチング回数や、動作周波数、温度が上がるため、経年劣化がより進む。従ってCPUの負荷を下げることで劣化の進行を遅らせることができるステップS805。さらに、CPUAは、基準値を緩和する大きくする。基準値を緩和する理由は、遅延モニタiの近傍のモジュールのCPU0をサブCPUに変えても、劣化したゲートは元には戻らないため、同じ基準値を用いると毎回遅延値が基準値を超えることになるためであるステップS806。効果以上のように、本実施の形態によれば、CPUが遅延モニタを観測することによって、LSIの経年劣化を検出した場合に、メインCPUとサブCPUの役割を交換することによって、LSIの寿命を延ばすことができる。[第9の実施形態]本実施の形態では、CPU0~CPU8のうち、CPU0~CPU6の7つはSMPSymmetricMultipleProcessorプロセッサとして使用され、CPU7は予備のCPUとして機能するものとする。SMPプロセッサによって、プログラムが並列処理される。予備のCPUには、クロックが供給されず、電源電圧も供給されない。本実施の形態では、SMPプロセッサとして動作するCPU0~CPU6に経年劣化が観測された場合に、経年劣化したCPUを停止させるとともに、予備のCPUがあればその予備のCPUをSMPプロセッサとして動作させる。図15は、第9の実施形態における遅延モニタii=00~16での遅延値のチェック手順を示すフローチャートである。図15に示すように、まず、CPU8は、制御レジスタ22の計測開始ビットに1をセットとして、遅延モニタiを起動する。遅延モニタi内のリングオシレータ26が発振動作するステップS901。次に、CPU8は、遅延モニタiのエッジ検出部23およびパルスカウンタ24からの出力を受けて、式A1および式A2に従って、遅延値Tdを求めて、遅延値TdをチェックするステップS902。CPU0は、遅延値Tdが基準値以下の場合にはステップS903でYES、チェックを完了する。CPU8は、遅延値Tdが基準値を超えた場合にはステップS903でNO、遅延モニタiの近傍のモジュールが経年劣化していると判定し、遅延モニタiの近傍のモジュールが動作中のCPU以下、劣化CPUとよぶであった場合にはステップS904でYES、予備のCPUがあるかを調べる。CPU8は、予備のCPUがある場合CPU7が予備のままの場合にはステップS905でYES、予備のCPUCPU7を起動し、劣化CPUから予備のCPUにデータを移動してステップS906、劣化CPUを停止させるステップS907。CPU8は、予備のCPUがない場合CPU7が予備でなくなった場合にはステップS905でNO、劣化CPUから他の動作中のCPUにデータを移動して、劣化CPUを停止させ、動作中のCPUで並列度を1つ下げてプログラムを実行させるステップS906。さらに、CPU8は、基準値を緩和する大きくする。基準値を緩和する理由は、遅延モニタiの近傍のモジュールの劣化CPUを停止させても、劣化したゲートは元には戻らないため、同じ基準値を用いると毎回遅延値が基準値を超えることになるためであるステップS910。効果以上のように、本実施の形態によれば、CPUが遅延モニタを観測することによって、CPUの経年劣化を検出した場合に、劣化したCPUに代えて予備のCPUを使用することによって、LSIの寿命を延ばすことができる。なお、本実施の形態では、予備のCPUを有し、あるCPUが劣化した場合に、劣化したCPUに代えて予備のCPUを使用する場合について説明したが、DSP、他の機能IP、またはアナログモジュールでも、同様に実行できる。[第10の実施形態]図16は、第10の実施形態の遅延モニタii=00~16の構成を表わす図である。第10の実施形態の遅延モニタiが、図3に示す第1の実施形態の遅延モニタiと相違する点は、第1の実施形態の遅延モニタiのリングオシレータ26が、遅延値の測定期間のみ発振したのに対して、第10の実施形態の遅延モニタiのリングオシレータ26が、遅延値の測定期間の前後の所定サイクル以外では、発振し続ける点である。具体的には、第10の実施形態の遅延モニタiは、図3の構成に加えて、論理回路42とフリップフロップ41とを備える。第1の実施形態と同様のフリップフロップ25の出力であるオシレータイネーブル信号EN1は、エッジ検出部23およびパルスカウンタ24に与えられる。論理回路42は、計測開始信号ST、リセット信号RS、基準クロックCLKを受けて、論理演算の結果をフリップフロップ41へ出力する。フリップフロップ41の出力であるオシレータイネーブル信号EN2は、リングオシレータ26に与えられる。遅延値の算出動作次に、図17を用いて、遅延モニタiが起動して、CPU8によってCdおよびTdが算出す動作について説明する。まず、論理回路42およびフリップフロップ41によって、リングオシレータ26の第一の信号線へのオシレータイネーブル信号EN2がハイレベルに設定される。オシレータイネーブル信号EN2がハイレベルになることによって、リングオシレータ26は発振する。制御レジスタ22は、CPU8の制御によって、計測開始ビットに1が書き込まれると、ハイレベルのリセット信号RSをパルスカウンタ24に出力する。パルスカウンタ24は、リセット信号RSを受けると、それまで保持していた検出内容をリセットする。論理回路42およびフリップフロップ41は、リセット信号RSの立下りのタイミングで、リングオシレータ26の第一の信号線へのオシレータイネーブル信号EN2をハイレベルからロウレベルに変更する。オシレータイネーブル信号EN2がロウレベルになることによって、リングオシレータ26は発振を停止する。次に、制御レジスタ22は、リセット信号RSを出力してから基準クロックCLKの1周期経過後に、ハイレベルの計測開始信号STをフリップフロップ25に出力する。フリップフロップ25は、計測開始信号STの立下りのタイミングから基準クロックCLKの1周期の間の測定期間において、エッジ検出部23にハイレベルのオシレータイネーブル信号EN1を出力する。また、論理回路42およびフリップフロップ41は、計測開始信号STの立下りのタイミングから基準クロックCLKの1周期の間の測定期間において、リングオシレータ26の第一の信号線にハイレベルのオシレータイネーブル信号EN2を出力する。オシレータイネーブル信号EN2がハイレベルになることによって、リングオシレータ26は発振する。オシレータイネーブル信号EN1がハイレベルの期間すなわち、測定期間において、パルスカウンタ24は、リングオシレータ26の発振信号の発振数Cdcをカウントする。エッジ検出部23は、オシレータイネーブル信号EN1がロウレベルになるタイミングで、オシレータイネーブル信号EN2のエッジが伝播しているゲート段数Cdfを検出する。CPU8は、遅延モニタiの出力Cdc,Cdfに基づいて、式A1、A2に従って、伝播可能段数Cdおよびゲート素子1段の平均遅延時間Tdを求めて、Tdを経年劣化判定のための遅延値として用いる。また、論理回路42およびフリップフロップ41によって、測定時間の終了後、基準クロックCLKの2周期の間、リングオシレータ26の第一の信号線へのオシレータイネーブル信号EN2がロウレベルに設定される。オシレータイネーブル信号EN2がロウレベルになることによって、リングオシレータ26は発振を停止する。論理回路42およびフリップフロップ41によって、基準クロックCLKの2周期の経過後、リングオシレータ26の第一の信号線へのオシレータイネーブル信号EN2がハイレベルに設定される。オシレータイネーブル信号EN2がハイレベルになることによって、リングオシレータ26は発振を再開する。効果以上のように、本実施の形態の遅延モニタのリングオシレータは長時間発振し、劣化の進みが早いので、劣化の進行を早期に検出できる。[第11の実施形態]図18は、第11の実施形態における遅延モニタii=00~16での遅延値のチェック手順を示すフローチャートである。図18に示すように、まず、CPU8は、制御レジスタ22の計測開始ビットに1をセットとして、遅延モニタiを起動する。遅延モニタi内のリングオシレータ26が発振動作するステップS1101。次に、CPU8は、遅延モニタiのエッジ検出部23およびパルスカウンタ24からの出力を受けて、式A1および式A2に従って、遅延値Tdを求めて、遅延値TdをチェックするステップS1102。CPU8は、現在測定された遅延値Tdと前回測定された遅延値Tdとの差分値が基準値以下の場合にはステップS1103でYES、遅延値Tdを内蔵SRAM6に記憶してステップS1104、チェックを完了する。CPU8は、差分値が基準値を超えた場合にはステップS1103でNO、遅延モニタiの近傍のモジュールが経年劣化していると判定し、LSI1の外部にアラートを発信するステップS1105。効果以上のように、本実施の形態によれば、現在の遅延値と前回測定時の遅延値との差分値に基づいて経年劣化を判定するので、バラつきの大きいLSIでも正確に経年劣化を判定することができる。なお、より正確に経年劣化を判断するために、前回測定時の遅延値だけでなく、それ以前の遅延値の履歴も取っておき、これらの遅延値の統計量移動平均などに基づいて、経年劣化を判断することとしてもよい。[第12の実施形態]第12の実施形態では、図19に示すように、2個の遅延モニタが1つのペアを構成する。2個の遅延モニタは、近接して配置される。ペアの一方の第1遅延モニタ61は、第10の実施形態で説明した図16に示す遅延モニタである。第1遅延モニタ61のリングオシレータ26は、遅延値の測定期間の前後の所定サイクル以外では、発振し続ける。ペアの他方の第2遅延モニタ62は、第1の実施形態で説明した図3に示す遅延モニタである。第2遅延モニタ62のリングオシレータ26は遅延値の測定期間のみ発振する。第1遅延モニタ61は、発振する時間が長いので、第2遅延モニタ62よりも早く劣化する。第1遅延モニタ61と第2遅延モニタ62は、製造ばらつきや、電圧、温度など周囲環境は非常に近い状態のため、第1遅延モニタ61と第2遅延モニタ62の遅延値の差分を見ることで、近接するモジュールが劣化の進行が顕著になる期間すなわち、遅延値の時間変化量が大きい期間に入ったか否かを判定することができる。CPU8は、第1遅延モニタ61で測定された遅延値Tdと、第2遅延モニタ62で測定された遅延値Tdとの差分値が基準値を超えた場合に、第1遅延モニタ61と第2遅延モニタ62の近傍のモジュールが経年劣化したと判定する。効果以上のように、本実施の形態によれば、リングオシレータが長時間発振する第1遅延モニタの遅延値と、リングオシレータが短時間発振する第2遅延モニタの遅延値との差分値に基づいて経年劣化を判定するので、バラつきの大きいLSIでも正確に経年劣化を判定することができる。今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。"