(57)【特許請求の範囲】
【請求項１】
プログラムを実行する制御対象回路と、
前記制御対象回路の状態を示すシステム情報を出力するシステム情報モニタ部と、
前記制御対象回路の回路特性を求めて回路特性情報として出力する回路特性モニタ部と、
前記システム情報に基づいて、前記制御対象回路が正常に動作しているか否かを判定する誤動作判定部と、
前記制御対象回路が正常に動作している場合に、前記回路特性情報を基準回路特性情報として保持する基準回路特性保持部と、
前記制御対象回路が正常に動作していない場合に、前記回路特性モニタ部で検出された回路特性情報と前記基準回路特性情報とに基づいて、誤動作要因を判定する誤動作要因判定部と、
前記誤動作要因に基づいて、前記制御対象回路における補正対象を判定し、前記補正対象における目標電気的特性情報を生成して出力する補正対象判定部と、
前記目標電気的特性情報に従って前記制御対象回路を制御する電気的特性制御部とを備える
半導体集積回路システム。
【請求項２】
請求項１に記載の半導体集積回路システムにおいて、
前記システム情報モニタ部は、
前記制御対象回路の状態を前記システム情報として出力するものであり、
前記誤動作判定部は、
所定の時間における前記制御対象回路の状態が所定の状態である場合には、前記制御対象回路が正常に動作していると判定し、その他の場合には、前記制御対象回路が正常に動作していないと判定するものである
ことを特徴とする半導体集積回路システム。
【請求項３】
請求項１に記載の半導体集積回路システムにおいて、
前記システム情報モニタ部は、
前記プログラム中のエラーリカバリールーチンがコールされたことを示す情報を前記システム情報として出力するものであり、
前記誤動作判定部は、
前記エラーリカバリールーチンが所定の回数以上コールされた場合には、前記制御対象回路が正常に動作していないと判定し、その他の場合には、前記制御対象回路が正常に動作していると判定するものである
ことを特徴とする半導体集積回路システム。
【請求項４】
請求項１に記載の半導体集積回路システムにおいて、
前記システム情報モニタ部は、
オペレーティングシステムが正常にシャットダウンしたことを示す情報をシステム情報として出力するものであり、
前記誤動作判定部は、
前記オペレーティングシステムが前回正常にシャットダウンしていなかった場合には、前記制御対象回路が正常に動作していないと判定し、その他の場合には、前記制御対象回路が正常に動作していると判定するものである
ことを特徴とする半導体集積回路システム。
【請求項５】
請求項１に記載の半導体集積回路システムにおいて、
前記システム情報モニタ部は、
前記プログラムの実行時にエラーが発生したことを示す情報をシステム情報として出力するものであり、
前記誤動作判定部は、
前記エラーが発生した場合には、前記制御対象回路が正常に動作していないと判定し、その他の場合には、前記制御対象回路が正常に動作していると判定するものである
ことを特徴とする半導体集積回路システム。
【請求項６】
請求項１に記載の半導体集積回路システムにおいて、
前記回路特性モニタ部は、
前記制御対象回路の所定の配線で生じるノイズの大きさを前記回路特性として求めるものである
ことを特徴とする半導体集積回路システム。
【請求項７】
請求項６に記載の半導体集積回路システムにおいて、
前記回路特性モニタ部は、
ゲートに前記所定の配線における信号である検出対象信号が与えられ、ソースに第１の参照電圧が与えられ、ドレインが第１のダイナミックノードに接続された第１のｎ形トランジスタと、
ゲートに前記検出対象信号が与えられ、ソースに第２の参照電圧が与えられ、ドレインが第２のダイナミックノードに接続された第１のｐ形トランジスタと、
ソースに電源電圧が与えられ、ドレインが前記第１のダイナミックノードに接続され、リセット信号に応じて前記第１のダイナミックノードを充電する第２のｐ形トランジスタと、
ソースに接地電圧が与えられ、ドレインが前記第２のダイナミックノードに接続され、前記リセット信号に応じて前記第２のダイナミックノードを放電する第２のｎ形トランジスタと、
前記第１のダイナミックノードと前記所定の配線において前記検出対象信号よりも当該配線を駆動する素子に近い部分の信号である基準信号とを入力とするＮＯＲ回路と、
前記第２のダイナミックノードと前記基準信号とを入力とするＮＡＮＤ回路と、
前記ＮＯＲ回路の出力によってセットされる第１のラッチと、
前記ＮＡＮＤ回路の出力によってセットされる第２のラッチと、
前記第１及び第２のラッチの出力の論理和を、前記第１又は第２の参照電圧に応じた大きさのノイズが検出されたことを示す検出信号として出力するＯＲ回路とを備えるものである
ことを特徴とする半導体集積回路システム。
【請求項８】
請求項１に記載の半導体集積回路システムにおいて、
前記回路特性モニタ部は、
前記制御対象回路の所定の配線における信号のスリューの大きさを前記回路特性として求めるものである
ことを特徴とする半導体集積回路システム。
【請求項９】
請求項８に記載の半導体集積回路システムにおいて、
前記回路特性モニタ部は、
ゲートに前記所定の配線における信号である検出対象信号が与えられ、ソースに第１の参照電圧が与えられ、ドレインが第１のダイナミックノードに接続された第１のｎ形トランジスタと、
ゲートに前記検出対象信号が与えられ、ソースに第２の参照電圧が与えられ、ドレインが第２のダイナミックノードに接続された第１のｐ形トランジスタと、
ソースに電源電圧が与えられ、ドレインが前記第１のダイナミックノードに接続され、リセット信号に応じて前記第１のダイナミックノードを充電する第２のｐ形トランジスタと、
ソースに接地電圧が与えられ、ドレインが前記第２のダイナミックノードに接続され、前記リセット信号に応じて前記第２のダイナミックノードを放電する第２のｎ形トランジスタと、
第１の遅延制御信号に応じて前記検出対象信号を遅延させて出力する第１の可変遅延バッファと、
第２の遅延制御信号に応じて前記検出対象信号を遅延させて出力する第２の可変遅延バッファと、
前記第１のダイナミックノードと前記第１の可変遅延バッファの出力とを入力とするＮＯＲ回路と、
前記第２のダイナミックノードと前記第２の可変遅延バッファの出力とを入力とするＮＡＮＤ回路と、
前記ＮＯＲ回路の出力によってセットされる第１のラッチと、
前記ＮＡＮＤ回路の出力によってセットされる第２のラッチと、
前記第１及び第２のラッチの出力の論理和を、前記第１又は第２の可変遅延バッファの遅延に応じた大きさのスリューが検出されたことを示す検出信号として出力するＯＲ回路とを備えるものである
ことを特徴とする半導体集積回路システム。
【請求項１０】
請求項１に記載の半導体集積回路システムにおいて、
前記回路特性モニタ部は、
前記制御対象回路の所定のパスにおける信号の遅延を前記回路特性として求めるものである
ことを特徴とする半導体集積回路システム。
【請求項１１】
請求項１０に記載の半導体集積回路システムにおいて、
前記回路特性モニタ部は、
遅延制御信号に応じて前記所定のパスの始点の信号を遅延させて出力する可変遅延バッファと、
前記所定のパスの終点の信号を前記可変遅延バッファから出力された信号に同期してラッチし、前記可変遅延バッファの遅延に応じた大きさの遅延が検出されたことを示す検出信号として出力するラッチとを備えるものである
ことを特徴とする半導体集積回路システム。
【請求項１２】
請求項１に記載の半導体集積回路システムにおいて、
前記回路特性モニタ部は、
前記制御対象回路の電源電圧が低下した場合に、前記制御対象回路の所定の保持回路の出力に基づく信号が変化したことを前記回路特性として求めるものである
ことを特徴とする半導体集積回路システム。
【請求項１３】
請求項１２に記載の半導体集積回路システムにおいて、
前記回路特性モニタ部は、
所定の保持回路の出力に基づく信号である検出対象信号をキャプチャ信号に同期してラッチし、出力するラッチと、
前記検出対象信号と前記ラッチの出力とを比較し、両者が異なっている場合には、前記検出対象信号が変化したことを示す検出信号を出力する比較回路とを備えるものである
ことを特徴とする半導体集積回路システム。
【請求項１４】
請求項１に記載の半導体集積回路システムにおいて、
前記回路特性モニタ部は、
前記制御対象回路の電源電圧又は温度を前記回路特性として求めるものである
ことを特徴とする半導体集積回路システム。
【請求項１５】
請求項１に記載の半導体集積回路システムにおいて、
前記システム情報モニタ部は、
電池残量を示すデータを前記システム情報として出力するものであり、
前記補正対象判定部は、
電池残量が少ない場合には、前記制御対象回路に供給する電源電圧を高くし、かつ、前記制御対象回路の動作周波数を低くする補正を行うように、前記目標電気的特性情報を生成するものである
ことを特徴とする半導体集積回路システム。
【請求項１６】
請求項１に記載の半導体集積回路システムにおいて、
前記補正対象判定部は、
前記制御対象回路に供給する電源電圧を一時的に高くし、その後、定期的に前記電源電圧を低くし、前記電源電圧を低くした時に誤動作が発生しない場合には、電源電圧を高くする補正を終了するように、前記目標電気的特性情報を生成するものである
ことを特徴とする半導体集積回路システム。
【請求項１７】
請求項１に記載の半導体集積回路システムにおいて、
前記システム情報モニタ部は、
前記制御対象回路の温度に関する情報を前記システム情報として出力するものであり、
前記補正対象判定部は、
前記制御対象回路に供給する電源電圧を高くし、前記制御対象回路の基板バイアスをより大きなバックバイアスにする補正をするように、又は前記制御対象回路の動作周波数を低くする補正をするように、前記目標電気的特性情報を生成するものである
ことを特徴とする半導体集積回路システム。
【請求項１８】
請求項１に記載の半導体集積回路システムにおいて、
前記システム情報モニタ部は、
前記制御対象回路の識別番号を前記システム情報として出力するものであり、
前記補正対象判定部は、
前記システム情報から前記制御対象回路の製造時期を推定し、前記製造時期から所定の期間が経過している場合には、前記制御対象回路に供給する電源電圧を高くするように、前記目標電気的特性情報を生成するものである
ことを特徴とする半導体集積回路システム。
【請求項１９】
請求項１に記載の半導体集積回路システムにおいて、
前記制御対象回路は、
ノードを駆動する、並列に接続された複数の駆動トランジスタを備えるものであり、
前記電気的特性制御部は、
誤動作要因がノイズである場合に、前記複数の駆動トランジスタのうち、前記ノードを駆動させる駆動トランジスタの数を制御するものである
ことを特徴とする半導体集積回路システム。
【請求項２０】
請求項１に記載の半導体集積回路システムにおいて、
前記電気的特性制御部は、
誤動作要因がノイズである場合に、前記制御対象回路の基板電圧又は電源電圧を補正対象として制御するものである
ことを特徴とする半導体集積回路システム。
【請求項２１】
請求項１に記載の半導体集積回路システムにおいて、
前記制御対象回路は、
メタル配線と、
前記メタル配線に近接して配置されたダミーメタルと、
前記ダミーメタルの上又は下に配置された強誘電体とを有するものである
ことを特徴とする半導体集積回路システム。
【請求項２２】
請求項１に記載の半導体集積回路システムにおいて、
オペレーティングシステムが、前記システム情報モニタ部、前記誤動作判定部、前記基準回路特性保持部、前記誤動作要因判定部、及び前記補正対象判定部として動作しており、
前記オペレーティングシステムは、
前記プログラムと前記オペレーティングシステムとを結びつけるソフトウェアレイヤーを有するものであり、
前記ソフトウェアレイヤーは、
前記プログラムの実行状況を示す情報が引数として定義されている関数である
ことを特徴とする半導体集積回路システム。
【請求項２３】
請求項１に記載の半導体集積回路システムにおいて、
前記制御対象回路は、
セットアップエラーを検出し、その検出結果を出力するレジスタを備えるものであり、
前記システム情報モニタ部は、
前記検出結果を示す情報を前記システム情報として出力するものである
ことを特徴とする半導体集積回路システム。
【請求項２４】
請求項２３に記載の半導体集積回路システムにおいて、
前記レジスタは、
入力された値をラッチする第１のマスターラッチと、
前記入力された値を、前記第１のマスターラッチより後でラッチする第２のマスターラッチとを備え、
セットアップエラーを検出した場合には、前記第２のマスターラッチのノードの値を出力する
ことを特徴とする半導体集積回路システム。
【請求項２５】
請求項２３に記載の半導体集積回路システムにおいて、
前記レジスタは、
クロック信号を遅延させ、得られた遅延クロック信号を出力するクロック遅延回路と、
前記入力された値を前記クロック信号に同期してラッチする第１のマスターラッチと、
前記入力された値を前記遅延クロック信号に同期してラッチする第２のマスターラッチと、
前記第１のマスターラッチ又は前記第２のマスターラッチの出力をラッチするスレーブラッチと、
前記第１のマスターラッチのノードの値と前記第２のマスターラッチのノードの値とが一致しているか否かを、前記検出結果として出力するエラー検出回路とを備え、
前記第１のマスターラッチは、
一致していることを前記検出結果が示している場合には、前記第１のマスターラッチのノードの値に応じた値を前記スレーブラッチに出力し、
前記第２のマスターラッチは、
一致していないことを前記検出結果が示している場合には、前記第２のマスターラッチのノードの値に応じた値を前記スレーブラッチに出力する
ことを特徴とする半導体集積回路システム。
【請求項２６】
請求項２３に記載の半導体集積回路システムにおいて、
前記制御対象回路は、
ビルトインセルフテストを実行するものであり、
前記補正対象判定部は、
前記ビルトインセルフテストの結果に基づいて、前記制御対象回路においてセットアップエラーが検出されないような電源電圧の範囲を前記目標電気的特性情報として求めるものであり、
前記電気的特性制御部は、
前記電源電圧を下げた後にセットアップエラーが検出された場合には、前記電源電圧を前記範囲内の値に上昇させるものである
ことを特徴とする半導体集積回路システム。
【請求項２７】
半導体集積回路内の制御対象回路を制御する半導体集積回路の制御方法であって、
プログラムを実行する前記制御対象回路の状態を示すシステム情報に基づいて、前記制御対象回路が正常に動作しているか否かを判定する誤動作判定ステップと、
前記制御対象回路が正常に動作している場合に、前記制御対象回路の回路特性情報を基準回路特性情報として保持する基準回路特性保持ステップと、
前記制御対象回路が正常に動作していない場合に、前記制御対象回路の回路特性情報と前記基準回路特性情報とに基づいて、誤動作要因を判定する誤動作要因判定ステップと、
前記誤動作要因に基づいて、前記制御対象回路における補正対象を判定する補正対象判定ステップと、
前記補正対象における目標電気的特性情報を生成する補正ステップとを備える
半導体集積回路の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路に関し、特に、半導体集積回路の電気的特性の変化に伴う誤動作を防止する技術に関する。
【背景技術】
【０００２】
半導体集積回路の設計の際には、ノイズによる誤動作が生じないことを保証するために、シミュレーションを行って確認する、いわゆるシグナルインテグリティ（ＳＩ：Signal Integrity）検証が行われている（特許文献１参照）。また、基板電圧を制御することによるノイズマージン改善方法も提案されている。この場合、温度条件やプロセス条件によらず一定の閾値電圧、又は飽和電流を実現するために、基準回路を用いてフィードバックを行い、基板電圧を決定する（特許文献２参照）。
【０００３】
また、特定のパスでのセットアップエラーの発生を検出するフリップフロップを用いて、セットアップエラーが検出された場合には電源電圧を高めるようにフィードバックを行う方法も提案されている（非特許文献１参照）。
【０００４】
このようにフィードバックを行う場合には、基準値とフィードバック関数とが一意に決まっているということが前提となっている。例えば、基板電圧制御のためには、半導体のバンドギャップが物理定数として一定であることを利用して、バンドギャップリファレンス回路を用いて基準電圧が生成されている。また、フィードバック関数に関しては、例えば、基板電圧と閾値電圧との関係、又は基板電圧と飽和電流との関係を、アナログ回路によって実現したり、電源電圧とセットアップエラーとの関係を、クリティカルパスとセットアップエラー検出フリップフロップとによって実現することが行われている。
【特許文献１】特開平９−３０５６４９号公報
【特許文献２】特開２００１−１５６２６１号公報
【非特許文献１】Das, S. 他著，「A Self-Tuning DVS Processor Using Delay-Error Detection and Correction」，2005 Symposium on VLSI Circuits Digest of Technical Papers，（米国），ＩＥＥＥ，２００５年６月１６日，ｐ．２５８−２６１
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、誤動作が生じないことをシミュレーションによって保証する場合には、「100%問題なし」、又は「ある長さの時間を考えた場合に統計的に問題なし」というように、「誤動作が起きない」ことを保証する必要があるので、過剰なマージンが付加され、これが回路の性能を低くする原因となる。
【０００６】
また、シグナルインテグリティに関する問題は、トランジスタ特性以外に、配線間容量、駆動能力の相対関係等の特性が相互に影響して発生する。このため、例えば容量の基準値、駆動能力の相対関係の基準値等の生成が困難であったり、フィードバック関数が一意に決定できず、使用状況に応じた適応制御が難しいという問題がある。更に、シグナルインテグリティを考慮して補正を行う場合には、トランジスタ特性のみではなく、配線間容量のばらつきも補正の対象にする必要がある。ところが、基板電圧の制御によりトランジスタ特性を補正することはできるが、単純な基板電圧制御だけでは配線間容量のばらつきを補正することはできない。
【０００７】
回路の微細化が進むにつれて、回路の状態を予測することは困難になり、以上のような問題の影響が大きくなってきている。
【０００８】
本発明は、過剰なマージンを排除して半導体集積回路の性能を高くすることを目的とする。
【課題を解決するための手段】
【０００９】
前記課題を解決するため、本発明に係る半導体集積回路システムは、制御対象回路において実行されているプログラムの動作が正常ではない場合に、誤動作の要因を判定し、その結果に基づいて前記制御対象回路を制御するようにしたものである。
【００１０】
これによると、プログラムの動作を常に正常に保つために、回路の設計時に過剰なマージンを与えるようにする必要がない。このため、半導体集積回路の基本的な性能を高くすることができる。
【００１１】
より具体的には、本発明に係る半導体集積回路システムは、プログラムを実行する制御対象回路と、前記制御対象回路の状態を示すシステム情報を出力するシステム情報モニタ部と、前記制御対象回路の回路特性を求めて回路特性情報として出力する回路特性モニタ部と、前記システム情報に基づいて、前記制御対象回路が正常に動作しているか否かを判定する誤動作判定部と、前記制御対象回路が正常に動作している場合に、前記回路特性情報を基準回路特性情報として保持する基準回路特性保持部と、前記制御対象回路が正常に動作していない場合に、前記回路特性モニタ部で検出された回路特性情報と前記基準回路特性情報とに基づいて、誤動作要因を判定する誤動作要因判定部と、前記誤動作要因に基づいて、前記制御対象回路における補正対象を判定し、前記補正対象における目標電気的特性情報を生成して出力する補正対象判定部と、前記目標電気的特性情報に従って前記制御対象回路を制御する電気的特性制御部とを備えるものである。
【００１２】
これによると、制御対象回路に対して適応的な制御を行い、プログラムの動作を正常に保つようにすることができる。基準値を予め求めておくことが困難な回路特性についても、基準となる回路特性を容易に取得することができる。このため、誤動作要因を判定を柔軟に行うことができる。また、システム情報を用いているので、使用状況に応じたフィードバックを実現することができる。
【００１７】
また、本発明に係る半導体集積回路の制御方法は、半導体集積回路内の制御対象回路を制御する半導体集積回路の制御方法であって、プログラムを実行する前記制御対象回路の状態を示すシステム情報に基づいて、前記制御対象回路が正常に動作しているか否かを判定する誤動作判定ステップと、前記制御対象回路が正常に動作している場合に、前記制御対象回路の回路特性情報を基準回路特性情報として保持する基準回路特性保持ステップと、前記制御対象回路が正常に動作していない場合に、前記制御対象回路の回路特性情報と前記基準回路特性情報とに基づいて、誤動作要因を判定する誤動作要因判定ステップと、前記誤動作要因に基づいて、前記制御対象回路における補正対象を判定する補正対象判定ステップと、前記補正対象における目標電気的特性情報を生成する補正ステップとを備えるものである。
【発明の効果】
【００１９】
本発明によれば、適応的な補正制御を行い、過剰なマージンを排除することができるので、半導体集積回路の性能を向上させることができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００２１】
図１は、本発明の実施形態に係る半導体集積回路システムの構成を示すブロック図である。図１のシステムは、半導体集積回路（ＬＳＩ）１０及び２０を備えている。ＬＳＩ１０は、制御対象回路としての半導体回路１２と、回路特性モニタ部１４と、電気的特性制御部１６とを有している。ＬＳＩ２０は、基準回路特性保持部２１と、システム情報モニタ部２２と、誤動作判定部２３と、誤動作要因判定部２４と、補正対象判定部２５と、補正履歴保持部２６とを有している。
【００２２】
ＬＳＩ１０とＬＳＩ２０とは、異なるチップとして構成されていてもよいし、単一のチップとして構成されていてもよい。ＬＳＩ２０は、例えば、その回路上で実行されるオペレーティングシステム（ＯＳ：operating system）によって各部の機能を実現する。また、ＯＳは、半導体回路１２上で実行されてもよい。
【００２３】
半導体回路１２は、例えば、トランジスタ、配線、容量、電源回路、レジスタ等を有しており、アプリケーションプログラム等を実行する。半導体回路１２は、その内部信号ＩＳ及び出力信号ＴＳ，ＳＳを回路特性モニタ部１４及びシステム情報モニタ部２２に出力する。回路特性モニタ部１４は、内部信号ＩＳ及び出力信号ＴＳ等に基づいて回路特性情報を生成して、基準回路特性保持部２１及び誤動作要因判定部２４に出力する。システム情報モニタ部２２は、半導体回路１２からの信号に基づいて、半導体回路１２の動作状態を示すシステム情報を誤動作判定部２３及び補正対象判定部２５に出力する。
【００２４】
図２は、図１の半導体集積回路システムにおける処理の流れを示すフローチャートである。図２のフローチャートは、誤動作判定ステップＳ１２と、基準回路特性保持ステップＳ１４と、誤動作要因判定ステップＳ２２と、補正対象判定ステップＳ２４と、補正ステップＳ２６とを備えている。
【００２５】
誤動作判定ステップＳ１２では、誤動作判定部２３は、システム情報モニタ部２２から得られるシステム情報に基づいて、システムが正常であるか異常であるかを判定する。半導体回路１２が正常に動作している（システムが正常である）場合には、基準回路特性保持ステップＳ１４に進み、半導体回路１２が正常に動作していない（システムが異常である）場合には、誤動作要因判定ステップＳ２２に進む。
【００２６】
基準回路特性保持ステップＳ１４では、基準回路特性保持部２１は、回路特性モニタ部１４から受け取った回路特性情報を基準回路特性情報として保持し、ステップＳ１２に戻る。このステップでは、例えば、容量、駆動能力の相対関係等の、基準値を予め求めておくことが困難な回路特性についても、基準となる回路特性を容易に取得することができる。
【００２７】
誤動作要因判定ステップＳ２２では、誤動作要因判定部２４は、回路特性モニタ部１４から受け取った回路特性情報と、基準回路特性保持部２１に保持されている基準回路特性情報とを比較する。両者が異なる場合には、その要因（誤動作要因）を判定する。誤動作要因判定部２４は、例えば以下の（Ａ１）〜（Ａ４）のように判定を行う。信号Ａ，Ｂは、半導体回路１２内の信号である。
【００２８】
（Ａ１）信号Ａのグリッチ高さが基準回路特性より高く、かつ、信号Ａのスリューが基準回路特性より大きい場合には、誤動作要因判定部２４は、信号Ａを出力するトランジスタの駆動能力が減少していることが誤動作要因であると判定する。ここで、スリューは、信号Ａの電圧レベルの遷移に要する時間である。
【００２９】
（Ａ２）信号Ａのグリッチ高さが基準回路特性より高く、かつ、信号Ａのスリューが基準回路特性より小さい場合には、誤動作要因判定部２４は、信号Ａを出力するトランジスタの駆動能力が増加していることが誤動作要因であると判定する。
【００３０】
（Ａ３）信号Ａ又は信号Ｂのグリッチ高さが基準回路特性より高く、かつ、信号Ａと信号Ｂのスリューの大小関係が基準回路特性での大小関係と逆になっている場合には、誤動作要因判定部２４は、信号Ａ及び信号Ｂをそれぞれ出力するトランジスタの駆動能力が逆転していることが誤動作要因であると判定する。
【００３１】
（Ａ４）信号Ａ又は信号Ｂのグリッチ高さが基準回路特性より高く、かつ、信号Ａと信号Ｂのスリューが基準回路特性と同じ場合には、誤動作要因判定部２４は、信号Ａ及び信号Ｂをそれぞれ伝送する配線の配線間容量（カップリング容量）が増加していることが誤動作要因であると判定する。
【００３２】
補正対象判定ステップＳ２４では、補正対象判定部２５は、システム情報モニタ部２２からシステム情報を、補正履歴保持部２６から補正履歴情報を取得し、誤動作要因判定部２４で求められた誤動作要因に基づいて、誤動作が発生しないようにするために効果的な、半導体回路１２における補正対象を判定する。補正履歴保持部２６には、過去に行われた補正についての補正履歴情報が格納されている。補正履歴保持部２６は、新たな補正についても情報を格納する。補正対象判定部２５は、補正履歴情報を用いる場合には、補正すべき対象を求めるために検索を行い、例えば以下の（Ｂ１），（Ｂ２）のように補正対象を判定する。
【００３３】
（Ｂ１）信号Ａの駆動能力が減少しており、かつ、信号Ａの駆動能力を増加させる補正をしたことが補正履歴に記録されていれば、信号Ａを出力する駆動トランジスタが劣化している等の理由で補正効果が十分得られないことが推定できる。このため、信号Ａと信号Ｂとの間のスリューの大きさの関係を基準回路特性に近づける目的で、補正対象判定部２５は、信号Ｂの駆動能力を減少させる補正を補正対象と判定する。
【００３４】
（Ｂ２）信号Ａの駆動能力が減少しており、かつ、信号Ａの駆動トランジスタに近い位置にあるトランジスタの駆動能力を増加させる補正をしたことが補正履歴に記録されていれば、チップ内で特性のばらつきが生じ、信号Ａを出力する駆動トランジスタの近辺のトランジスタ特性が悪化していることが推定できる。このため、補正対象判定部２５は、信号Ａを出力する駆動トランジスタの駆動能力を増加させる補正を、補正対象と判定する。
【００３５】
補正ステップＳ２６では、補正対象判定部２５は、判定された補正対象における目標電気的特性情報ＣＩを生成して電気的特性制御部１６に出力する。電気的特性制御部１６は、目標電気的特性情報ＣＩに従って電気的特性制御信号ＣＣを生成して半導体回路１２に出力し、半導体回路１２の回路特性を制御する。その後、ステップＳ１２に戻る。
【００３６】
以下では、図１の半導体集積回路システムの各部の具体的な例について説明する。
【００３７】
システム情報の例、及び図２の誤動作判定ステップＳ１２における、システムが正常であるか否かの判定の例を以下の例（Ｃ１）〜（Ｃ５）に示す。
【００３８】
（Ｃ１）動作シーケンス中におけるシステムの挙動を観点にする。システム情報モニタ部２２は、半導体回路１２の状態をシステム情報として出力する。この状態をチェックする時間（チェックポイント）を事前に決めておき、そのチェックポイントで半導体回路１２の状態が期待した状態になっている場合には、誤動作判定部２３は、半導体回路１２が正常に動作していると判定する。その他の場合には、誤動作判定部２３は、半導体回路１２が正常に動作していないと判定する。この方法は、カウンタとレジスタ参照で実現できるので、最小限のリソース投資で実現できる。
【００３９】
（Ｃ２）演算結果が正常ではなくなることにより、オーバーフロー、補間処理等のエラーリカバリー動作が頻繁に発生する、というシステムの挙動を観点にする。半導体回路１２が例えば画像／音声処理プログラムを実行しており、システム情報モニタ部２２は、そのプログラム中のエラーリカバリールーチンがコールされたことを示す情報をシステム情報として出力する。コール回数の基準を事前に決めておき、所定回数以上コールされた場合には、誤動作判定部２３は半導体回路１２が正常に動作していないと判定する。その他の場合には、誤動作判定部２３は、半導体回路１２が正常に動作していると判定する。この方法は、既存アルゴリズム中の情報の一部を流用するだけなので、最小限のシステム変更で実現できる。
【００４０】
（Ｃ３）アドレス計算が正常ではなくなることにより、メモリアクセス動作が異常となり、システムエラーを検出して再起動を伴う誤動作が発生する、というシステムの挙動を観点にする。システム情報モニタ部２２は、ＯＳが正常にシャットダウンしたことを示す情報をシステム情報として出力する。ＯＳが前回正常にシャットダウンしていなかった場合には、誤動作判定部２３は、半導体回路１２が正常に動作していない、とＯＳ起動時に判定する。その他の場合には、誤動作判定部２３は、半導体回路１２が正常に動作している、と判定する。この方法は、既存ＯＳの動作を流用するだけなので、最小限のシステム変更で実現できる。
【００４１】
（Ｃ４）アドレス計算が正常ではなくなることにより、メモリアクセス動作が異常となり、アプリケーションエラーを検出してアプリケーション終了を伴う誤動作が発生する、というシステムの挙動を観点にする。半導体回路１２が例えばアプリケーションプログラムを実行しており、システム情報モニタ部２２は、そのプログラムの実行時にエラー（アプリケーションエラー）が発生したことを示す情報をシステム情報として出力する。アプリケーションエラーが発生した場合には、誤動作判定部２３は、半導体回路１２が正常に動作していないと判定する。その他の場合には、誤動作判定部２３は、半導体回路１２が正常に動作していると判定する。この方法も、既存ＯＳの動作を流用するだけなので、最小限のシステム変更で実現できる。
【００４２】
（Ｃ５）半導体回路１２が、セットアップエラー検出機能を有するレジスタを備えるようにする。セットアップエラーが検出された場合には、誤動作判定部２３は、システムが異常であるという判定を行う。この方法は、回路を追加する必要があるが、後述するようにクリティカルパスに着目した判定が可能となるので、遅延に依存した誤動作が生じている場合に効果的に回路特性を補正することが可能となる。
【００４３】
図３（ａ）は、図１の半導体回路１２が正常に動作している場合における、システム情報の例を示す説明図である。図３（ｂ）は、図１の半導体回路１２が正常に動作していない場合における、システム情報の例を示す説明図である。図３（ａ），（ｂ）は、例（Ｃ１）を具体的に示すものである。
【００４４】
図３の場合、半導体回路１２は、ステータスレジスタを備え、タスク＃０，＃１，＃２，…を順に実行していくとする。ステータスレジスタは、タスク又はスレッドの実行に連動して値が変わるレジスタである。システム情報モニタ部２２は、ステータスレジスタの値をシステム情報として取得し、出力する。
【００４５】
図３（ａ）のような正常動作時には、ステータスレジスタの値は、タスク又はスレッドの実行に連動して逐次変わるので、図３（ａ）のチェックポイントの時点では、ステータスレジスタの値は所定の値Ｃとなる。
【００４６】
図３（ｂ）では、回路の誤動作が発生し、タスク＃１の実行が停止している。この場合、ステータスレジスタの値は値Ｂのまま変化しなくなり、チェックポイントの時点で所定の値Ｃとはならない。このため、誤動作判定部２３は、システムが異常であると判定することができる。
【００４７】
図４（ａ）は、図１の半導体回路１２が正常に動作している場合について、システム情報の他の例を示す説明図である。図４（ｂ）は、図１の半導体回路１２が正常に動作していない場合について、システム情報の他の例を示す説明図である。図４（ａ），（ｂ）は、例（Ｃ２）を具体的に示すものである。
【００４８】
図４の場合、半導体回路１２は、画像処理を行う回路であるとする。システム情報モニタ部２２は、エラーをリカバリーするための処理を行うエラーリカバリールーチンをコールしたことを示すルーチンコール情報を、半導体回路１２からシステム情報として取得し、出力する。
【００４９】
画像処理等においては、データが欠損している等の理由でデータの補正（最大値クリッピング、補間）を行うために、エラーリカバリールーチンが実行される。正常動作時には、データ欠損が多くないので、図４（ａ）のようにエラーリカバリールーチンのコール数は多くない。
【００５０】
図４（ｂ）では、回路の誤動作による演算エラーが発生し、画像データに異常が生じている。そこで、リカバリー動作を行うために、エラーリカバリールーチンのコールが頻繁に発生している。このため、誤動作判定部２３は、システムが異常であると判定することができる。
【００５１】
図５は、図１の半導体回路１２の構成例を示すブロック図である。図５の半導体回路１２は、レジスタ３２Ａ，３２Ｂ，３２Ｃ，３６Ａ，３６Ｂ，３６Ｃと、組合せ論理３４とを備えている。組合せ論理３４は、パス３５Ａ，３５Ｂ，３５Ｃを有している。レジスタ３６Ａ〜３６Ｃは、セットアップエラー検出機能を有している。
【００５２】
レジスタ３６Ａ〜３６Ｃは、パス３５Ａ〜３５Ｃにそれぞれ接続されている。パス３５Ａ〜３５Ｃは、組合せ論理３４のクリティカルパスである。レジスタ３６Ａ〜３６Ｃは、エラー検出結果（エラー信号）を出力信号ＴＳとしてシステム情報モニタ部２２に出力する。システム情報モニタ部２２は、レジスタ３６Ａ〜３６Ｃによるエラー検出結果を示す情報をシステム情報として出力する。
【００５３】
図６は、図５のセットアップエラー検出機能を有するレジスタ３６Ａの構成例を示す回路図である。レジスタ３６Ａは、マスタースレーブ方式のフリップフロップであって、マスターラッチ１３１，１３２と、スレーブラッチ１３３と、エラー検出回路１３４と、クロック遅延回路１３５とを備えている。レジスタ３６Ｂ，３６Ｃも、レジスタ３６Ａと同様に構成されている。
【００５４】
クロック遅延回路１３５は、遅延素子１３８を有し、クロック信号ＣＬＫに基づいて、クロック信号ＮＣＬＫ及び遅延クロック信号ＣＬＫＤ，ＮＣＬＫＤを生成する。遅延素子１３８は、クロック信号ＣＬＫを遅延させる。遅延させられたクロック信号ＣＬＫは、波形が成形され、遅延クロック信号ＣＬＫＤとして出力される。クロック信号ＮＣＬＫ及び遅延クロック信号ＮＣＬＫＤは、それぞれクロック信号ＣＬＫ及び遅延クロック信号ＣＬＫＤの論理レベルを反転させた信号である。
【００５５】
マスターラッチ１３１は、レジスタ入力Ｄをクロック信号ＣＬＫ，ＮＣＬＫに同期してラッチする。マスターラッチ１３２は、レジスタ入力Ｄを遅延クロック信号ＣＬＫＤ，ＮＣＬＫＤに同期してラッチする。マスターラッチ１３２にラッチされる値は、マスターラッチ１３１にラッチされる値が確定した後に確定する。マスターラッチ１３１，１３２はノードＮＲ０，ＮＲ１をそれぞれ有している。
【００５６】
排他的論理和ゲート１３７は、ノードＮＲ０の値とノードＮＲ１の値との排他的論理和を求める。エラー検出回路１３４は、求められた排他的論理和とクロック信号ＣＬＫとの論理和をエラー信号ＥＲＲとして、求められた排他的論理和を反転させた信号とクロック信号ＣＬＫとの論理和をエラー信号ＮＥＲＲとして出力する。すなわち、エラー信号ＥＲＲは、クロック信号ＣＬＫが高電位（“Ｈ”）であり、かつ、ノードＮＲ０の値とノードＮＲ１の値とが不一致である場合に“Ｈ”となる。エラー信号ＮＥＲＲは、クロック信号ＣＬＫが“Ｈ”であり、かつ、ノードＮＲ０の値とノードＮＲ１の値とが一致している場合に“Ｈ”となる。
【００５７】
マスターラッチ１３１は、エラー信号ＮＥＲＲが“Ｈ”である場合には、ノードＮＲ０の値を反転してスレーブラッチ１３３に出力する。マスターラッチ１３２は、エラー信号ＥＲＲが“Ｈ”である場合には、ノードＮＲ１の値を反転してスレーブラッチ１３３に出力する。スレーブラッチ１３３は、入力された値をクロック信号ＮＣＬＫに同期してラッチする。
【００５８】
図７は、図６のレジスタ３６Ａの動作の例を示すタイミングチャートである。遅延ＤＬは、遅延クロック信号ＣＬＫＤのクロック信号ＣＬＫに対する遅延を示している。レジスタ３６Ａには、値ＡＡＡ，ＢＢＢ，ＣＣＣが順にレジスタ入力Ｄとして与えられる。
【００５９】
値ＡＡＡの入力時には、クロック信号ＣＬＫの立ち上がりまでにレジスタ入力Ｄが値ＡＡＡに確定している。このため、ノードＮＲ０，ＮＲ１の値は、いずれも値ＡＡＡに確定し、セットアップエラーは発生しない。この結果、エラー信号ＮＥＲＲが“Ｈ”となり、スレーブラッチ１３３にはマスターラッチ１３１の出力が入力され、レジスタ出力Ｑとして値ＡＡＡが出力される。
【００６０】
一方、値ＢＢＢの入力時には、クロック信号ＣＬＫの立ち上がりまでにレジスタ入力Ｄが値ＢＢＢに確定していない。このため、ノードＮＲ０の値は、異常値ＺＺＺとなる。すなわち、セットアップエラーが発生している。その後、遅延クロック信号ＣＬＫＤの立ち上がりまでにはレジスタ入力Ｄが値ＢＢＢに確定し、ノードＮＲ１の値が値ＢＢＢになっている。
【００６１】
ノードＮＲ０の値とノードＮＲ１の値とが異なるので、エラー信号ＥＲＲが“Ｈ”となり、スレーブラッチ１３３にはマスターラッチ１３２の出力が入力され、レジスタ出力Ｑとして値ＢＢＢが出力される。つまり、セットアップエラーが発生していても、正常な値が出力される。
【００６２】
このように、図６のレジスタ３６Ａによると、セットアップエラーの検出を行うのみならず、セットアップエラーが発生している場合においても出力値を正しい値に補正することができる。また、遅延素子１３８で生じさせる遅延の大きさによってエラー検出期間を規定することができるので、クリティカルパスの状況に応じてエラー検出の設定を行うことができる。
【００６３】
回路特性モニタ部１４による回路特性情報の生成について説明する。回路特性モニタ部１４は、例えば、次の例（Ｄ１）〜（Ｄ６）のようにして回路特性情報を求める。
【００６４】
（Ｄ１）誤動作要因がノイズである場合に、回路特性モニタ部１４は、特定ラインのグリッチ高さ（ノイズの大きさ）を測定し、その結果を回路特性情報とする。この方法では電圧レベルのみの測定でよいので、回路特性モニタ部１４を単純にすることができる。
【００６５】
（Ｄ２）誤動作要因がノイズである場合に、回路特性モニタ部１４は、特定ライン（Agressor、Victim両方の系統）のスリューを測定し、その結果を回路特性情報とする。ノイズは信号の相対関係によって発生するので、この方法によって発生状況に応じて補正を行うことができる。
【００６６】
（Ｄ３）誤動作要因が遅延である場合に、回路特性モニタ部１４は、特定パスの遅延を測定し、その結果を回路特性情報とする。遅延は動作パターンに依存するので、この方法によって発生状況に応じて補正を行うことができる。
【００６７】
（Ｄ４）誤動作要因がリテンション耐性の不足である場合に、回路特性モニタ部１４は、レジスタやフリップフロップの出力から伝播された論理レベルを測定し、その結果を回路特性情報とする。スタンバイモードになる直前に論理レベルの値を保持しておき、スタンバイモード後の値と比較することにより、誤動作要因を容易に判定できる。
【００６８】
（Ｄ５）回路特性モニタ部１４は、半導体回路１２等の電源電圧又は温度を測定し、その結果を回路特性情報とする。この方法によってプロセス条件以外の要因を切り分けて判定できる。
【００６９】
（Ｄ６）誤動作要因が遅延である場合に、回路特性モニタ部１４は、図５のセットアップエラー検出機能を有するレジスタ３６Ａ〜３６Ｃから出力されるエラー検出結果を回路特性情報とする。この情報により、どのレジスタからエラー信号が出ているかが判別できるので、遅延によるセットアップエラーの原因となったパスの特定が可能となる。
【００７０】
図８は、図１の回路特性モニタ部１４の構成の例を示す回路図である。図８の回路は、半導体回路１２に対して例（Ｄ１）の動作を具体的に行うものである。図８の回路特性モニタ部１４は、ＮＭＯＳ（n-channel metal oxide semiconductor）トランジスタ５１，５４と、ＰＭＯＳ（p-channel metal oxide semiconductor）トランジスタ５２，５３と、ＮＯＲゲート５５と、ＮＡＮＤゲート５６と、キーパー回路６１，６２と、ＲＳラッチ（フリップフロップ）６３，６４と、ＯＲゲート６５とを備えている。図８では、半導体回路１２については、その一部のみが示されている。
【００７１】
半導体回路１２は、配線４２を有しており、回路特性モニタ部１４は、配線４２で発生したグリッチを測定する。配線４２の始端の信号は、基準信号ＳＳとして、ＮＯＲゲート５５及びＮＡＮＤゲート５６に与えられている。配線４２の終端の信号は、検出対象信号ＴＳとして、ＮＭＯＳトランジスタ５１及びＰＭＯＳトランジスタ５２のゲートに与えられている。ＮＭＯＳトランジスタ５１及びＰＭＯＳトランジスタ５２のソースには、参照電圧VREF＿L，VREF＿Hがそれぞれ与えられている。
【００７２】
リセット信号ＲＳが“Ｈ”になると、ＰＭＯＳトランジスタ５３及びＮＭＯＳトランジスタ５４が導通するので、ダイナミックノードＮ１，Ｎ２はそれぞれ“Ｈ”及び低電位（“Ｌ”）になり、ラッチ６３，６４はリセットされる。キーパー回路６１，６２は、ダイナミックノードＮ１，Ｎ２の論理レベルをそれぞれ保持する。
【００７３】
図９（ａ）は、正のパルスを検出する場合における、グリッチ（ノイズ）の検出レベルについての説明図である。図９（ｂ）は、負のパルスを検出する場合における、グリッチの検出レベルについての説明図である。ＮＭＯＳトランジスタ５１の閾値電圧をVtn、ＰＭＯＳトランジスタ５２の閾値電圧をVtpとする。
【００７４】
基準信号ＳＳが“Ｌ”である場合に、図９（ａ）のように検出対象信号ＴＳが検出レベルVREF＿L+Vtnよりも大きくなると、ＮＭＯＳトランジスタ５１が導通してダイナミックノードＮ１の電位が低下する。すると、ＮＯＲゲート５５の出力が“Ｈ”になるので、ラッチ６３がセットされ、ＯＲゲート６５は、回路特性情報としての検出信号ＤＳを“Ｈ”にする。
【００７５】
基準信号ＳＳが“Ｈ”である場合に、図９（ｂ）のように検出対象信号ＴＳが検出レベルVREF＿H-Vtpよりも小さくなると、ＰＭＯＳトランジスタ５２が導通してダイナミックノードＮ２の電位が高くなる。すると、ＮＡＮＤゲート５６の出力が“Ｌ”になるので、ラッチ６４がセットされ、ＯＲゲート６５は検出信号ＤＳを“Ｈ”にする。
【００７６】
このように、図８の回路によると、参照電圧VREF＿L，VREF＿Hを設定してグリッチ高さを測定することが可能となる。
【００７７】
図１０は、図１の回路特性モニタ部１４の構成の第１の変形例を示す回路図である。図１０の回路は、半導体回路１２に対して例（Ｄ２）の動作を具体的に行うものである。図１０の回路特性モニタ部２１４は、図８の回路特性モニタ部１４において、更に可変遅延バッファ２６５，２６６を備えたものである。図１０では、半導体回路１２については、その一部のみが示されている。
【００７８】
回路特性モニタ部２１４は、半導体回路１２の配線４２の信号のスリューを測定する。配線４２の信号は、検出対象信号ＴＳとして、ＮＭＯＳトランジスタ５１及びＰＭＯＳトランジスタ５２のゲートに与えられている。また、検出対象信号ＴＳは、可変遅延バッファ２６５，２６６を経由して、基準信号ＳＳ１，ＳＳ２としてＮＯＲゲート５５及びＮＡＮＤゲート５６にそれぞれ与えられている。可変遅延バッファ２６５，２６６は、遅延制御信号ＤＬＣ１，ＤＬＣ２によって遅延がそれぞれ制御されている。
【００７９】
基準信号ＳＳ１が“Ｌ”のときは、ＮＭＯＳトランジスタ５１の動作がＮＯＲゲート５５の出力に伝播され、基準信号ＳＳ２が“Ｈ”のときは、ＰＭＯＳトランジスタ５２の動作がＮＡＮＤゲート５６の出力に伝播される。したがって、基準信号ＳＳ１が“Ｌ”のときには、検出対象信号ＴＳの“Ｌ”から“Ｈ”へのレベル遷移を検出することができ、基準信号ＳＳ２が“Ｈ”のときには、検出対象信号ＴＳの“Ｈ”から“Ｌ”へのレベル遷移を検出することができる。回路特性モニタ部２１４は、その他の点は、図８の回路特性モニタ部１４と同様である。
【００８０】
図１１（ａ）は、検出対象信号ＴＳが“Ｌ”から“Ｈ”に遷移する場合における、スリューの検出についての説明図である。図１１（ｂ）は、検出対象信号ＴＳが“Ｈ”から“Ｌ”に遷移する場合における、スリューの検出についての説明図である。
【００８１】
図１１（ａ）の場合は、基準信号ＳＳ１が“Ｌ”であるときにのみ、検出対象信号ＴＳのレベルの遷移を検出することができる。そこで、遅延制御信号ＤＬＣ１によって可変遅延バッファ２６５の遅延を大きな値から小さな値へ減少させながら、レベル遷移の検出を行う。遅延が大きいときにはレベル遷移が検出されるが、遅延が検出限界点に達するとレベル遷移が検出されなくなるので、このときの遅延値から、検出対象信号ＴＳのレベル遷移に要する時間であるスリューを回路特性情報として求めることができる。
【００８２】
図１１（ｂ）の場合は、基準信号ＳＳ２が“Ｈ”であるときにのみ、検出対象信号ＴＳのレベルの遷移を検出することができる。そこで、遅延制御信号ＤＬＣ２によって可変遅延バッファ２６６の遅延を大きな値から小さな値へ減少させながら、レベル遷移の検出を行う。遅延が大きいときにはレベル遷移が検出されるが、遅延が検出限界点に達するとレベル遷移が検出されなくなるので、このときの遅延値から、検出対象信号ＴＳのスリューを求めることができる。
【００８３】
このように、図１０の回路によると、参照電圧VREF＿L，VREF＿Hを設定してスリューを測定することが可能となる。
【００８４】
図１２は、図１の回路特性モニタ部１４の構成の第２の変形例を示す回路図である。図１２の回路は、半導体回路１２に対して例（Ｄ３）の動作を具体的に行うものである。図１２の回路特性モニタ部３１４は、フリップフロップ（ラッチ）３６４と、可変遅延バッファ３６６とを備えている。図１２では、半導体回路１２については、その一部のみが示されている。
【００８５】
半導体回路１２は、配線３４２，３４４と、測定対象回路３４６とを有している。配線３４２は、測定対象回路３４６に与えられる信号を伝送し、配線３４４は、測定対象回路３４６から出力される信号を伝送する。回路特性モニタ部３１４は、測定対象回路３４６で生じる遅延、すなわち、配線３４２から配線３４４に至るパスにおける信号の遅延を測定する。
【００８６】
配線３４２の信号は、基準信号ＳＳとして可変遅延バッファ３６６に与えられ、可変遅延バッファ３６６の出力信号は、フリップフロップ３６４にクロック信号として与えられている。配線３４４の信号ＴＳは、フリップフロップ３６４のＤ入力に与えられている。フリップフロップ３６４は、回路特性情報としての検出信号ＤＳを出力する。可変遅延バッファ３６６は、遅延制御信号ＤＬＣによって遅延が制御されている。
【００８７】
可変遅延バッファ３６６の遅延が測定対象回路３４６の遅延よりも十分大きければ、信号ＴＳがフリップフロップ３６４に正しくキャプチャされる。遅延制御信号ＤＬＣを逐次変化させて検出信号ＤＳの値が変化した時点（キャプチャが不安定になった時点）での可変遅延バッファ３６６の遅延値から、測定対象回路の遅延値を求めることができる。
【００８８】
図１３は、図１の回路特性モニタ部１４の構成の第３の変形例を示す回路図である。図１３の回路は、半導体回路１２に対して例（Ｄ４）の動作を具体的に行うものである。図１３の回路特性モニタ部４１４は、フリップフロップ（ラッチ）４６４と、比較回路としての排他的論理和ゲート４６８とを備えている。図１３では、半導体回路１２については、その一部のみが示されている。
【００８９】
半導体回路１２は、保持回路としてフリップフロップ４４６Ａ，４４６Ｂ，４４６Ｃを備えており、回路特性モニタ部４１４は、フリップフロップ４４６Ａ〜４４６Ｃのリテンション耐性の不足による誤動作を検出する。
【００９０】
フリップフロップ４６４の入力Ｄ、及び排他的論理和ゲート４６８には、フリップフロップ４４６Ａ〜４４６Ｃのロジックコーン終端４４４の信号が与えられている。また、キャプチャ信号ＣＰＴが、フリップフロップ４６４にクロック信号として与えられている。フリップフロップ４６４は、キャプチャした信号を排他的論理和ゲート４６８に出力する。
【００９１】
フリップフロップ４６４には、フリップフロップ４４６Ａ〜４４６Ｃとは別の電源回路から電源が供給されている。半導体回路１２がスタンバイモードになる前に、フリップフロップ４６４は、キャプチャ信号ＣＰＴに従ってロジックコーン終端４４４の信号を検出対象信号ＴＳとしてキャプチャしておく。
【００９２】
その後、半導体回路１２はスタンバイモードに遷移し、半導体回路１２に供給される電源電圧が低下する。更にその後、半導体回路１２は通常モードに復帰する。このとき、測定対象のフリップフロップ４４６Ａ〜４４６Ｃの値が異常になっていた場合には、スタンバイモードになる前とは検出対象信号ＴＳの値が変化しているので、排他的論理和ゲート４６８が検出信号（回路特性情報）ＤＳとして１を出力する。
【００９３】
フリップフロップ４６４には、フリップフロップ４４６Ａ〜４４６Ｃと同じ電源回路から電源を供給し、かつ、フリップフロップ４６４のリテンション耐性を高めておくようにしてもよい。また、排他的論理和ゲート４６８に代えて、入力された２信号が一致するか否かを示す信号を出力する比較器を用いるようにしてもよい。
【００９４】
以上のように、図８、図１０、図１２、及び図１３によると、実際に動作している回路の信号を用いているので、実際の回路特性を測定することができる。
【００９５】
補正対象判定部２５は、システム情報を用いて使用状況に応じた適応的補正も行う。図２の補正対象判定ステップＳ２４において、補正対象判定部２５は、システム情報から半導体回路１２の使用状況を推定し、補正フィードバックの戦略を決定する。例えば、以下の例（Ｅ１）〜（Ｅ５）のように決定する。
【００９６】
（Ｅ１）システム情報モニタ部２２は、半導体回路１２の電源となっている電池の残量を示すデータをシステム情報として出力する。補正対象判定部２５は、電池残量が少ない場合には、補正フィードバックの戦略として消費電流を増加させずに誤動作が起きにくくなるように動作条件を補正する。具体的には、半導体回路１２に供給する電源電圧を高くし、かつ、半導体回路１２の動作周波数を低くする補正を行うように、目標電気的特性情報ＣＩを生成する。この戦略によって動作時間の短縮を回避しつつ、レスポンスは悪くなるが半導体回路１２をとりあえず動作させることができる。
【００９７】
（Ｅ２）飛行機内等のソフトエラーが発生しやすい環境にある場合には、補正フィードバックの戦略として一時的な補正を行う。例えば、ダイアログ等のマンマシンインタフェースによる確認や、直前にスタンバイモードであったことを示す情報を参照することにより、環境を把握する。具体的には、補正対象判定部２５は、半導体回路１２に供給する電源電圧を一時的に高くし、その後、定期的に電源電圧を低くし、電源電圧を低くした時に誤動作が発生するか否かを調べる。誤動作が発生しない場合には、電源電圧を高くする補正を終了するように、目標電気的特性情報ＣＩを生成する。この戦略によって、環境に応じたオーバースペックにならない補正が実現できる。
【００９８】
（Ｅ３）システム情報モニタ部２２は、半導体回路１２の温度に関する情報をシステム情報として出力する。半導体回路１２が高温環境下にある場合には、補正対象判定部２５は、補正フィードバックの戦略としてリーク電流を増やさずに誤動作が起きにくくなるように動作条件を補正する。具体的には、補正対象判定部２５は、半導体回路１２に供給する電源電圧を高くし、半導体回路１２の基板バイアスをより大きなバックバイアスにする補正をするように、又は半導体回路１２の動作周波数を低くする補正をするように、目標電気的特性情報ＣＩを生成する。高温環境下にあることは、温度センサーの出力から知ることができる。この戦略によって高温環境下でリーク電流が増大する問題を回避しつつ、レスポンスは悪くなるが半導体回路１２をとりあえず動作させることができる。
【００９９】
（Ｅ４）システム情報モニタ部２２は、半導体回路１２（又はＬＳＩ１０）の識別番号を読み出して、システム情報として出力する。識別番号は、例えば、製造時に書き込まれたシリアルナンバー、プロセッサＩＤ、ロット番号等であり、半導体回路１２の製造時期に対応している。補正対象判定部２５は、このシステム情報から半導体回路１２の製造時期（製造年等）を推定し、それを使用開始時とみなす。製造時期から所定の期間が経過している場合には、補正フィードバックの戦略としては、性能は劣化させずに誤動作が起きにくくなるように動作条件を補正する。具体的には、補正対象判定部２５は、半導体回路１２に供給する電源電圧を高くするように、目標電気的特性情報ＣＩを生成する。この戦略によって電池寿命は短くなるが、半導体回路１２の性能を維持させることができる。
【０１００】
（Ｅ５）システム情報モニタ部２２は、半導体回路１２の電源電圧制御に関する情報をシステム情報として出力する。電源電圧を下げる制御を行った直後にセットアップエラーが検出された場合には、それまでにセットアップエラーを見逃した可能性があるので、補正対象判定部２５は、電源電圧を再び変更する。
【０１０１】
図１４は、セットアップエラーの検出に関するタイミングチャートである。例（Ｅ５）について、図５及び図１４を参照して説明する。例えば、図５のレジスタ３６Ａ〜３６Ｃによりセットアップエラーが検出されるとする。レジスタ３６Ａ〜３６Ｃには、信号ＰＴＡ，ＰＴＢ，ＰＴＣがそれぞれ入力されている。信号ＰＴＡ，ＰＴＢ，ＰＴＣは、それぞれパス３５Ａ，３５Ｂ，３５Ｃの出力である。
【０１０２】
レジスタ３６Ａ〜３６Ｃのエラー検出範囲は、図６の遅延素子１３８の遅延量ＤＬに依存する。このため、図１４に示されているように、信号ＰＴＢについてはセットアップエラーを検出可能であるが、信号ＰＴＣについてはセットアップエラーを検出することができない。
【０１０３】
電源電圧を下げた場合には、組合せ論理３４の遅延が増加し、セットアップエラーを検出することができなくなる可能性がある。そこで、セットアップエラーが検出された場合には、補正対象判定部２５は、電源電圧を上昇させるための目標電気的特性情報ＣＩを生成する。これにより、誤動作を未然に防ぐことができる。
【０１０４】
なお、例（Ｅ５）は、ビルトインセルフテスト（ＢＩＳＴ：built-in self test）と組み合せることにより、更に誤動作防止効果を高めることができる。図１５は、ＢＩＳＴの実行毎に求められた電源電圧の制御範囲の例を示す説明図である。例えば図１５のように、半導体回路１２は、ＢＩＳＴを定期的に実施する。この際、半導体回路１２は、パス３５Ａ〜３５Ｃを活性化させ、電源電圧ＶＤＤを変化させながらレジスタ３６Ａ〜３６Ｃにセットアップエラーの検出を行わせる。
【０１０５】
補正対象判定部２５は、ＢＩＳＴの実行毎に、ＢＩＳＴの結果に基づいて、パス３５Ａ〜３５Ｃ（信号ＰＴＡ，ＰＴＢ，ＰＴＣ）のそれぞれについて、セットアップエラーが検出されないような電源電圧の下限（図１５の×）を求める。また、補正対象判定部２５は、ＢＩＳＴの実行毎に、パス３５Ａ〜３５Ｃのいずれについてもセットアップエラーが検出されないような、電源電圧の範囲を求め、この範囲を示す目標電気的特性情報ＣＩを生成する。電気的特性制御部１６は、電源電圧を下げた後にセットアップエラーが検出された場合には、求められた電源電圧の範囲内の値に、電源電圧を上昇させる。これにより、セットアップエラーが検出不可能にならないようにすることができる。
【０１０６】
電気的特性制御部１６による半導体回路１２における補正対象について説明する。電気的特性制御部１６は、目標電気的特性情報ＣＩに従って、例えば以下の例（Ｆ１）〜（Ｆ９）のように、半導体回路１２の補正を行う。
【０１０７】
（Ｆ１）誤動作要因がノイズである場合に、電気的特性制御部１６は、ノードの駆動能力を補正するために、そのノードを駆動する、並列に接続された複数の駆動トランジスタの数を、補正対象として変更する。この方法では基板電圧制御を行わず、回路構成を変更することで対応できる。
【０１０８】
（Ｆ２）誤動作要因がノイズである場合に、電気的特性制御部１６は、ノードの駆動能力を補正するために、基板電圧を補正対象として制御する。この方法ではトランジスタ特性自体を変更できる。
【０１０９】
（Ｆ３）誤動作要因がノイズである場合に、電気的特性制御部１６は、トランジスタの閾値電圧を補正するために、基板電圧を補正対象として制御する。この方法ではトランジスタ特性自体を変更できる。
【０１１０】
（Ｆ４）誤動作要因がノイズである場合に、電気的特性制御部１６は、配線間容量を補正するために、強誘電体にかけるバイアスを補正対象として制御する。この方法では配線容量の特性を変更できる。
【０１１１】
（Ｆ５）誤動作要因が遅延である場合に、電気的特性制御部１６は、論理ゲートの駆動能力を補正するために、基板電圧を補正対象として制御する。この方法ではトランジスタ特性自体を変更できる。
【０１１２】
（Ｆ６）誤動作要因が遅延である場合に、電気的特性制御部１６は、動作条件を補正するために、電源電圧を補正対象として制御する。この方法では基板電圧制御、回路変更を伴わずに対応できる。
【０１１３】
（Ｆ７）誤動作要因がリテンション耐性の不足である場合に、電気的特性制御部１６は、動作条件を補正するために、電源電圧を補正対象として制御する。この方法では基板電圧制御、回路変更を伴わずに対応できる。
【０１１４】
（Ｆ８）誤動作要因がリテンション耐性の不足である場合に、電気的特性制御部１６は、フリップフロップ（ラッチ）の閾値電圧を補正するために、基板電圧を補正対象として制御する。この方法ではトランジスタ特性自体を変更できる。
【０１１５】
（Ｆ９）誤動作要因が遅延である場合に、クロック周期を補正するために、クロック信号を補正対象として制御する。例えばクロック周波数を変調して、一時的にクロック周期を伸長する。これにより、セットアップエラーを防ぐことができる。
【０１１６】
以上の例（Ｆ１）〜（Ｆ４）は、例（Ａ１）〜（Ａ４）にそれぞれ対応している。
【０１１７】
強誘電体にかけるバイアスを補正対象として制御する場合（例（Ｆ４））について説明する。図１６（ａ）は、図１の半導体回路１２の一部についての配線のレイアウト図である。図１６（ｂ）は、図１６（ａ）の配線の容量を示す回路図である。図１６（ａ）のように、半導体回路１２は、配線５４１，５４２，５４３と、ダミーメタル５４４とを有している。
【０１１８】
配線５４１は、他の配線からノイズの影響を受けている、又は他の配線にノイズの影響を与えている配線であるとし、これを補正対象配線とする。図１６（ａ）のように、配線５４１に近接してダミーメタル５４４が配置されており、半導体回路１２は、ダミーメタル５４４の上又は下に、強誘電体５４５を有している。電気的特性制御部１６は、目標電気的特性情報ＣＩに従って、ダミーメタル５４４に与えるバイアスＢＭを制御する。配線５４１とグラウンドＧＮＤとの間の容量の値はＣ１０であるとする。
【０１１９】
電気的特性制御部１６がバイアスＢＭによって強誘電体５４５に電荷をチャージすると、ダミーメタル５４４を所定の電位に固定することができる。例えばＶＤＤレベルに固定しておくと、配線５４１がＧＮＤレベルからＶＤＤレベルに遷移するとき、配線５４１とダミーメタル５４４との間の容量５４７の値は、実効的に０となる。このとき、配線５４１の寄生容量の値は、Ｃ１０となる。一方、配線５４１がＶＤＤレベルからＧＮＤレベルに遷移するとき、容量５４７の容量値はＣ１２となる。このとき、配線５４１の寄生容量の値は、Ｃ１０＋Ｃ１２となる（図１６（ｂ）参照）。
【０１２０】
すなわち、ダミーメタル５４４の電位を適宜変更することにより、配線５４１の寄生容量を変更できる。これにより、他の配線との間のカップリング係数等を変更することが可能となる。また、ダミーメタル５４４をＧＮＤレベルに固定するようにしてもよい。
【０１２１】
例（Ｆ９）の具体例について説明する。図１７は、パスの活性化率に関する説明図である。以下で説明する例の背景について、図１７を参照して説明する。
【０１２２】
一般に、論理ゲートの出力の活性化率（信号の値が変化する確率）は、その論理ゲートの各入力の活性化率の積として求められる。図１７のように、各ＡＮＤゲートの入力信号の活性化率が活性化率Ｐ０，Ｐ１，Ｐ２，Ｐ３，Ｐ４であるとすると、論理段数が少ないパスＰＡＳ（図１７の実線）の活性化率Ｐ（shortpath）は、
Ｐ（shortpath）＝Ｐ０＊Ｐ１
となり、論理段数が多いパスＰＡＬ（図１７の破線）の活性化率Ｐ（longpath）は、
Ｐ（longpath）＝Ｐ０＊Ｐ１＊Ｐ２＊Ｐ３＊Ｐ４
となる。ここで、パスの活性化率は、そのパスの最終段出力の活性化率である。
【０１２３】
活性化率Ｐ０，Ｐ１，Ｐ２，Ｐ３，Ｐ４は、いずれも１以下であるので、
Ｐ（shortpath）≧Ｐ（longpath）
が成立する。つまり、一般に、遅延時間が大きい（論理段数が多い）パスの活性化率Ｐ（longpath）は、遅延時間が小さい（論理段数が少ない）パスの活性化率Ｐ（shortpath）よりも小さいと言える。通常、Ｐ（longpath）は比較的小さな値となる。
【０１２４】
図１８は、通常のレジスタを用いた回路の例を示すブロック図である。図１８の回路は、レジスタ３２Ａ，３２Ｂ，３２Ｃと、論理回路７１，７２とを備えている。論理回路７１は、遅延が小さいパスＰＴ１と、このパスＰＴ１よりも遅延が大きいパスＰＴ２とを有している。論理回路７２は、パスＰＴ２よりも遅延が小さいパスＰＴ３を有している。
【０１２５】
図１９は、図１８の回路における信号のタイミングチャートである。パスＰＴ２の出力信号ＳＢに関して、レジスタ３２Ｂにおいてセットアップエラーが生じないようにするためには、クロック信号ＣＬＫの周期を長めにする必要がある（図１９のＳＹＢ参照）。このため、図１８の回路では、クロック信号ＣＬＫの周期をパスＰＴ２による遅延よりも常に大きくしている。
【０１２６】
図２０は、図６のレジスタを用いた回路の例を示すブロック図である。図２０の回路は、半導体回路６１２と、ＯＲゲート７３と、デジタル逓倍器７４とを備えている。回路６１２は、図１８の回路において、レジスタ３２Ｂに代えて図６のレジスタ３６Ａを備えたものである。半導体回路６１２は、半導体回路１２の一例である。図２０では、ＯＲゲート７３及びデジタル逓倍器７４は、電気的特性制御部を構成している。
【０１２７】
デジタル逓倍器７４は、マスタークロック信号ＭＣＬＫに基づいてクロック信号ＣＬＫ１を生成し、レジスタ３２Ａ，３２Ｃ，３６Ａに供給している。クロック信号ＣＬＫ１の周期は、通常は、パスＰＴ１による遅延及びパスＰＴ３による遅延よりも大きく、パスＰＴ２による遅延よりも小さい。
【０１２８】
図２１は、図２０の回路における信号のタイミングチャートである。パスＰＴ２による遅延に起因してセットアップエラーが発生すると、レジスタ３６Ａは、セットアップエラーを検出し、エラーが検出されたことを示すエラー信号をＯＲゲート７３に出力する。ＯＲゲート７３には、レジスタ３６Ａ以外からもエラー信号が入力されるようになっている。エラーが検出されると、ＯＲゲート７３は、そのことをデジタル逓倍器７４に通知する。
【０１２９】
レジスタ３６Ａは、クロック信号ＣＬＫ１のエッジのタイミングから期間ＤＬの間（図２１のＥＤＣ）に、セットアップエラーを検出し、正常な値の出力を行う。デジタル逓倍器７４は、エラーが検出されると、期間ＤＬだけクロック信号ＣＬＫ１の周期を伸長する。その後、デジタル逓倍器７４は、クロック信号ＣＬＫ１の周期を通常の長さに戻す。このため、セットアップエラーが検出されても、以降の動作に影響なく、図２０の回路は、回路動作を継続することができる。
【０１３０】
このように、図２０の回路によると、セットアップエラーが検出された場合にはクロック信号の周期が伸長されるので、周波数が高いクロック信号を用いることができる。また、遅延時間が大きいパスＰＴ２の最終段出力が変化しない場合には、セットアップエラーは検出されず、クロック信号ＣＬＫ１の周期は伸長されない。図１７を参照して説明したように、遅延時間が大きいパスＰＴ２の最終段出力が変化する確率は小さいので、クロック信号ＣＬＫ１の周期が伸長される確率は小さい。したがって、図２０の回路は、図１８の回路よりも、平均的なクロック周期を短くすることができる。
【０１３１】
なお、図２０ではクロック周波数を変調する手段としてデジタル逓倍器７４を用いたが、これには限らず、例えば応答が速いＰＬＬ（phase locked loop）等を用いてもよい。
【０１３２】
図２２は、図２０の回路の変形例のブロック図である。図２２の回路は、図２０の回路に、半導体回路７１２と、ＯＲゲート７８，８２，８７と、デジタル逓倍器７９と、レジスタ８１，８６とを更に備えたものである。半導体回路７１２は、レジスタ３２Ｄ，３２Ｅ，３６Ｂと、論理回路７６，７７とを備えており、図２０の半導体回路６１２と同様に構成されている。レジスタ３６Ｂは、レジスタ３６Ａと同様に、セットアップエラー検出機能を有している。
【０１３３】
図２２の半導体回路６１２及び７１２は、半導体回路１２の一例である。また、ＯＲゲート７３，７８，８２，８７、デジタル逓倍器７４，７９、及びレジスタ８１，８６は、電気的特性制御部を構成している。図２３は、図２２の回路における信号のタイミングチャートである。
【０１３４】
一般に、クロック制御は速度的にクリティカルである。セットアップエラー検出を多数のレジスタで実施した場合には、多数のエラー信号の論理和をクロック信号制御に用いる必要があり、論理和を求める際の遅延が問題となる。そこで、図２２の回路では、レジスタ８１は、ＯＲゲート７３の出力を１サイクル遅らせて、同期信号ＳＹＮ１としてＯＲゲート８７に出力する。ＯＲゲート８７は、同期信号ＳＹＮ１及び他の回路からの同期信号の論理和を求め、デジタル逓倍器７９に出力する。
【０１３５】
ＯＲゲート８７から同期信号が入力されると、デジタル逓倍器７９は、例えば図２３のように、デジタル逓倍器７４がクロック信号ＣＬＫ１の周期を伸長したサイクルの次のサイクルにおいて、クロック信号ＣＬＫ２の周期を伸長する。このため、その後、クロック信号ＣＬＫ１とクロック信号ＣＬＫ２との間の同期は維持される。
【０１３６】
同様に、レジスタ８６は、ＯＲゲート７８の出力を１サイクル遅らせて、同期信号ＳＹＮ２としてＯＲゲート８２に出力する。ＯＲゲート８２は、同期信号ＳＹＮ２及び他の回路からの同期信号の論理和を求め、デジタル逓倍器７４に出力する。ＯＲゲート８２から同期信号が入力されると、デジタル逓倍器７４は、デジタル逓倍器７９がクロック信号ＣＬＫ２の周期を伸長したサイクルの次のサイクルにおいて、クロック信号ＣＬＫ１の周期を伸長する。
【０１３７】
このように、図２２の回路によると、論理和を求めるＯＲゲート７３の構成を簡略化することができ、論理和を求める際の遅延を小さくすることができる。
【０１３８】
なお、図２０及び図２２の回路は、クロック周波数を高くすることだけではなく、遅延故障発生時において、不具合検出及び正常値の出力を実現することもできる。
【０１３９】
次に、ＯＳとアプリケーションプログラムとの間のアプリケーションインタフェース（ＡＰＩ）について説明する。ＡＰＩは、アプリケーションプログラムとＯＳとを結びつけるソフトウェアレイヤーである。システムの挙動からシステムの正常／異常を判定するためには、ＡＰＩによってシステムの挙動を推定させる情報を得ることが不可欠である。
【０１４０】
図２４は、アプリケーションインタフェースの説明図である。ＯＳ８２０は、例えば図１のＬＳＩ２０上で実行され、ＬＳＩ２０の機能を実現している。ＯＳ８２０は、ＯＳ８２０とアプリケーションプログラム８１４との間に、システム挙動を推定させる情報ＳＥＩを通知するためのＡＰＩ８１２を有している。図２４には、関数ＡＰＩＦ１，ＡＰＩＦ２が、ＡＰＩ８１２の例として示されている。情報ＳＥＩは、アプリケーションプログラム８１４の実行状況を示す情報であって、関数ＡＰＩＦ１，ＡＰＩＦ２には引数として定義されている。
【０１４１】
関数ＡＰＩＦ１には、引数として、ステータスレジスタを識別するためのポインタ$status＿pointer、及びステータスレジスタのチェックポイント$status＿checkpointが定義されている。これらの情報によって、ＯＳ８２０は、チェックすべきステータスレジスタの識別情報、及びチェックすべき時間を得ることができ、例えば前記例（Ｃ１）の方法によるシステムの正常／異常判定を実現することができる。
【０１４２】
また、関数ＡＰＩＦ２には、引数として、エラーリカバリールーチンを識別するためのポインタ$error＿recovery＿pointerが定義されている。この情報によって、ＯＳ８２０は、チェックすべきエラーリカバリールーチンの識別情報を得ることができ、前記例（Ｃ２）の方法によるシステムの正常／異常判定を実現することができる。
【０１４３】
なお、以上の実施形態ではＭＯＳトランジスタを用いた場合について説明したが、その他のトランジスタを用いるようにしてもよい。
【産業上の利用可能性】
【０１４４】
以上説明したように、本発明は、常に正常な動作をさせるための過剰なマージンを排除することができるので、例えば、高速かつ低消費電力での動作が要求される半導体集積回路システム等について有用である。
【図面の簡単な説明】
【０１４５】
【図１】本発明の実施形態に係る半導体集積回路システムの構成を示すブロック図である。
【図２】図１の半導体集積回路システムにおける処理の流れを示すフローチャートである。
【図３】（ａ）は、図１の半導体回路が正常に動作している場合における、システム情報の例を示す説明図である。（ｂ）は、図１の半導体回路が正常に動作していない場合における、システム情報の例を示す説明図である。
【図４】（ａ）は、図１の半導体回路が正常に動作している場合について、システム情報の他の例を示す説明図である。（ｂ）は、図１の半導体回路が正常に動作していない場合について、システム情報の他の例を示す説明図である。
【図５】図１の半導体回路の構成例を示すブロック図である。
【図６】図５のセットアップエラー検出機能を有するレジスタの構成例を示す回路図である。
【図７】図６のレジスタの動作の例を示すタイミングチャートである。
【図８】図１の回路特性モニタ部の構成の例を示す回路図である。
【図９】（ａ）は、正のパルスを検出する場合における、グリッチ（ノイズ）の検出レベルについての説明図である。（ｂ）は、負のパルスを検出する場合における、グリッチの検出レベルについての説明図である。
【図１０】図１の回路特性モニタ部の構成の第１の変形例を示す回路図である。
【図１１】（ａ）は、検出対象信号ＴＳが“Ｌ”から“Ｈ”に遷移する場合における、スリューの検出についての説明図である。（ｂ）は、検出対象信号ＴＳが“Ｈ”から“Ｌ”に遷移する場合における、スリューの検出についての説明図である。
【図１２】図１の回路特性モニタ部の構成の第２の変形例を示す回路図である。
【図１３】図１の回路特性モニタ部の構成の第３の変形例を示す回路図である。
【図１４】セットアップエラーの検出に関するタイミングチャートである。
【図１５】ＢＩＳＴの実行毎に求められた電源電圧の制御範囲の例を示す説明図である。
【図１６】（ａ）は、図１の半導体回路の一部についての配線のレイアウト図である。（ｂ）は、（ａ）の配線の容量を示す回路図である。
【図１７】パスの活性化率に関する説明図である。
【図１８】通常のレジスタを用いた回路の例を示すブロック図である。
【図１９】図１８の回路における信号のタイミングチャートである。
【図２０】図６のレジスタを用いた回路の例を示すブロック図である。
【図２１】図２０の回路における信号のタイミングチャートである。
【図２２】図２０の回路の変形例のブロック図である。
【図２３】図２２の回路における信号のタイミングチャートである。
【図２４】アプリケーションインタフェースの説明図である。
【符号の説明】
【０１４６】
１０，２０  半導体集積回路
１２，６１２，７１２  半導体回路（制御対象回路）
１４，２１４，３１４，４１４  回路特性モニタ部
１６  電気的特性制御部
２１  基準回路特性保持部
２２  システム情報モニタ部
２３  誤動作判定部
２４  誤動作要因判定部
２５  補正対象判定部
２６  補正履歴保持部
３６Ａ，３６Ｂ，３６Ｃ  レジスタ
１３１，１３２  マスターラッチ
１３３  スレーブラッチ
１３４  エラー検出回路
１３５  クロック遅延回路
８１２  アプリケーションインタフェース（ソフトウェアレイヤー）
８２０  オペレーティングシステム
【図１】
0005173216.tif 000002
【図２】
0005173216.tif 000003
【図３】
0005173216.tif 000004
【図４】
0005173216.tif 000005
【図５】
0005173216.tif 000006
【図６】
0005173216.tif 000007
【図７】
0005173216.tif 000008
【図８】
0005173216.tif 000009
【図９】
0005173216.tif 000010
【図１０】
0005173216.tif 000011
【図１１】
0005173216.tif 000012
【図１２】
0005173216.tif 000013
【図１３】
0005173216.tif 000014
【図１４】
0005173216.tif 000015
【図１５】
0005173216.tif 000016
【図１６】
0005173216.tif 000017
【図１７】
0005173216.tif 000018
【図１８】
0005173216.tif 000019
【図１９】
0005173216.tif 000020
【図２０】
0005173216.tif 000021
【図２１】
0005173216.tif 000022
【図２２】
0005173216.tif 000023
【図２３】
0005173216.tif 000024
【図２４】
0005173216.tif 000025