(57)【特許請求の範囲】
【請求項１】
内部動作のクロックを生成するクロック生成部と、動作検証対象となる第１の記憶素子と、上記第１の記憶素子以外の演算回路である演算回路群とから構成される通常動作回路と、
上記第１の記憶素子と同じデータを、該第１の記憶素子と位相の異なるクロックで記憶する第２の記憶素子と、上記第１の記憶素子、及び上記第２の記憶素子の出力結果から、上記通常動作回路が安定動作しているか否かを判定する判定器とから構成される動作検証回路とを備え、
上記第２の記憶素子をラッチさせるためのクロックは、上記第１の記憶素子をラッチさせるためのクロックより相対的に位相が進んだものであり、
上記クロックのクロック周期をＴ，位相の進みを２πｔ／Ｔとしたときに、上記第１の記憶素子を周波数１／Ｔの低動作周波数で動作させた状態で、上記判定器の出力を監視することにより、上記第１の記憶素子を周波数１／（Ｔ−ｔ）で高速動作させた場合の検証を行う、
ことを特徴とする動作検証システム。
【請求項２】
請求項１に記載の動作検証システムにおいて、
上記クロック生成部内に、リングオシュレータを備え、
上記第１の記憶素子をラッチさせるためのクロックより相対的に位相が進んだ，上記第２の記憶素子をラッチさせるためのクロックを、該リングオシュレータの位相情報を元に生成する、
ことを特徴とする動作検証システム。
【請求項３】
請求項１に記載の動作検証システムにおいて、
上記第１の記憶素子をラッチさせるためのクロックより相対的に位相が進んだ，上記第２の記憶素子をラッチさせるためのクロックを、遅延素子を用いて、生成する、
ことを特徴とする動作検証システム。
【請求項４】
請求項１に記載の動作検証システムにおいて、
上記第１の記憶素子をラッチさせるためのクロックより相対的に位相が進んだ，上記第２の記憶素子をラッチさせるためのクロックを、半導体集積回路内部の配線遅延を用いて生成する、
ことを特徴とする動作検証システム。
【請求項５】
請求項１に記載の動作検証システムにおいて、
上記第１の記憶素子をラッチさせるためのクロックより相対的に位相が進んだ，上記第２の記憶素子をラッチさせるためのクロックを、外部で生成し、半導体集積回路内に供給する、
ことを特徴とする動作検証システム。
【請求項６】
請求項１ないし請求項５のいずれかに記載の動作検証システムにおいて、
上記クロック生成部を、半導体集積回路外に備えた、
ことを特徴とする動作検証システム。
【請求項７】
内部動作のクロックを生成するクロック生成部と、動作検証対象となる第１の記憶素子と、上記第１の記憶素子以外の演算回路である演算回路群とから構成される通常動作回路と、
上記第１の記憶素子がラッチする上記演算回路群からの出力データを遅延させる遅延回路と、上記遅延回路により遅延されたデータを、該第１の記憶素子と同じ位相のクロックで記憶する第２の記憶素子と、上記第１の記憶素子、及び上記第２の記憶素子の出力結果から、上記通常動作回路が安定動作しているか否かを判定する判定器とから構成される動作検証回路とを備え、
上記クロックのクロック周期をＴ，上記遅延回路による遅延時間をｔとしたときに、上記第１の記憶素子を周波数１／Ｔの低動作周波数で動作させた状態で、上記判定器の出力を監視することにより、上記第１の記憶素子を周波数１／（Ｔ−ｔ）で高速動作させた場合の検証を行う、
ことを特徴とする動作検証システム。
【請求項８】
請求項７に記載の動作検証システムにおいて、
上記遅延回路は、遅延素子を用いて上記第１の記憶素子がラッチする上記演算回路群からの出力データを遅延させる、
ことを特徴とする動作検証システム。
【請求項９】
請求項７に記載の動作検証システムにおいて、
上記遅延回路は、配線遅延を用いて上記第１の記憶素子がラッチする上記演算回路群からの出力データを遅延させる、
ことを特徴とする動作検証システム。
【請求項１０】
内部動作のクロックを生成するクロック生成部と、動作検証対象となる第１の記憶素子と、上記第１の記憶素子以外の演算回路である演算回路群とから構成される通常動作回路と、
上記第１の記憶素子がラッチする上記演算回路群からの出力データを遅延させる遅延回路と、上記遅延回路により遅延されたデータを、該第１の記憶素子と位相の異なるクロックで記憶する第２の記憶素子と、上記第１の記憶素子、及び上記第２の記憶素子の出力結果から、上記通常動作回路が安定動作しているか否かを判定する判定器とから構成される動作検証回路とを備え、
上記第２の記憶素子をラッチさせるためのクロックは、上記第１の記憶素子をラッチさせるためのクロックより相対的に位相が進んだものであり、
上記クロックのクロック周期をＴ，位相の進みを２πｔ１／Ｔとし、上記遅延回路による遅延時間をｔ２としたときに、上記第１の記憶素子を周波数１／Ｔの低動作周波数で動作させた状態で、上記判定器の出力を監視することにより、上記第１の記憶素子を周波数１／（Ｔ−ｔ１−ｔ２）で高速動作させた場合の検証を行う、
ことを特徴とする動作検証システム。
【請求項１１】
請求項１、７、又は１０の何れかに記載の動作検証システムを有する適応制御システムであって、
上記判定器の出力結果に基づき、上記通常動作回路内の内部演算時間を変化させる要素である因子を制御する因子制御回路を備え、
上記判定器の出力を監視して、低動作周波数で上記第１の記憶素子の高速動作の検証を行いつつ、その検証結果を上記因子制御回路にフィードバックし、該因子の制御可能な範囲内で該因子を制御して上記内部演算時間を短くするとともに、上記判定器の出力結果から上記通常動作回路の安定動作可能と判定される範囲を、拡大する、
ことを特徴とする適応制御システム。
【請求項１２】
請求項１１に記載の適応制御システムにおいて、
上記因子制御回路として、上記通常動作回路の内部動作周波数を制御する周波数制御回路を備え、
上記周波数制御回路は、上記判定器の出力結果から安定動作可能と判定される範囲内で、より高い内部動作周波数を設定する、
ことを特徴とする適応制御システム。
【請求項１３】
請求項１１に記載の適応制御システムにおいて、
上記因子制御回路として、上記通常動作回路の内部動作周波数を制御する周波数制御回路、および上記通常動作回路の内部動作電圧を制御する電源電圧制御回路を備え、
上記周波数制御回路は、上記判定器の出力結果から安定動作可能と判定される範囲内で、より高い内部動作周波数を設定し、
上記電源電圧制御回路は、上記判定器の出力結果から安定動作可能と判定される範囲内で、上記内部動作電圧を制御する、
ことを特徴とする適応制御システム。
【請求項１４】
請求項１１に記載の適応制御システムにおいて、
上記因子制御回路として、上記通常動作回路の内部動作周波数を制御する周波数制御回路、および上記通常動作回路の内部温度を制御する温度制御回路を備え、
上記周波数制御回路は、上記判定器の出力結果から上記通常動作回路が安定動作可能と判定される範囲内で、より高い内部動作周波数を設定し、
上記温度制御回路は、上記判定器の出力結果から安定動作可能と判定される範囲内で、内部温度を制御する、
ことを特徴とする適応制御システム。
【請求項１５】
請求項１、７、又は１０の何れかに記載の動作検証システムを有する適応制御システムであって、
上記判定器の出力結果に基づき、上記通常動作回路内の内部演算時間を変化させる要素である因子を制御する因子制御回路を備え、
上記因子制御回路は、上記判定器の出力結果から上記通常動作回路が安定動作可能と判定される範囲内で、該適応制御システムの消費電力を低減するよう、制御を行う、
ことを特徴とする適応制御システム。
【請求項１６】
請求項１５に記載の適応制御システムにおいて、
上記因子制御回路として、上記通常動作回路の内部動作周波数を制御する周波数制御回路を備え、
上記周波数制御回路は、上記判定器の出力結果から安定動作可能と判定される範囲内で、該周波数制御の制御精度を緩和させ、上記周波数制御回路の消費電力を低減する、
ことを特徴とする適応制御システム。
【請求項１７】
請求項１５に記載の適応制御システムにおいて、
上記因子制御回路として、上記通常動作回路の内部動作周波数を制御する周波数制御回路、および上記通常動作回路の内部動作電圧を制御する電源電圧制御回路を備え、
上記周波数制御回路は、上記判定器の出力結果から安定動作可能と判定される範囲内で、該周波数制御の制御精度を緩和させ、上記周波数制御回路の消費電力を低減し、
上記電源電圧制御回路は、上記判定器の出力結果から安定動作可能と判定される範囲内で、上記内部動作電圧を下げ、上記通常動作回路の消費電力を低減する、
ことを特徴とする適応制御システム。
【請求項１８】
請求項１５に記載の適応制御システムにおいて、
上記因子制御回路として、上記通常動作回路の内部動作周波数を制御する周波数制御回路、および上記通常動作回路の内部温度を制御する温度制御回路を備え、
上記周波数制御回路は、上記判定器の出力結果から安定動作可能と判定される範囲内で、該周波数制御の制御精度を緩和させ、上記周波数制御回路の消費電力を低減し、
上記温度制御回路は、上記判定器の出力結果から安定動作可能と判定される範囲内で、温度制御の設定温度を下げる、もしくは該温度制御の制御精度を緩和させ、上記温度制御回路の消費電力を低減する、
ことを特徴とする適応制御システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、半導体集積回路における動作検証システム、及び適応制御システムに関し、特に、演算回路動作環境制御の最適化、および制御回路負荷の軽減を行う動作検証システム、及び適応制御システムに関するものである。
【０００２】
【従来の技術】
近年、半導体集積回路の微細化が進んできており、半導体集積回路の設計において、内部動作の安定化機構、実回路の能力を最大限引き出す為の制御機構が求められている。半導体集積回路の高速動作を保証するためには、半導体集積回路出荷時に内部動作周波数を高速化し検査を行っていた。また、製品としての動作を保証するためには、半導体集積回路出荷時に、最悪条件下において動作しうる動作周波数で半導体集積回路の動作周波数上限を決定していた。
【０００３】
【特許文献１】
特開平０５−２６４６６７号公報
【０００４】
【発明が解決しようとする課題】
しかしながら、従来の動作検証システムでは以下のような問題点があった。
高速動作検証を行う際には動作周波数を高速にする必要があるため、検証用に高速クロックを入力可能な高性能のテスタを搭載することが考えられるが、回路規模やコスト面等の問題から、実際問題としてかかるテスタを搭載して高速動作の検証を行うことは困難である。
【０００５】
また、高速動作時における安定動作保証、電源電圧に対する安定動作保証、周辺温度に対する安定化動作保証等の安定動作保証については実デバイス実装時に安定動作検証を行っていない為、半導体集積回路出荷検査時にすべての条件下を想定して検証を行う必要があり、実装された半導体集積回路の演算能力に余力があっても最低保証しかできない。また、実装時に安定動作の保証が検証できないため、内部動作回路が安定で動作する範囲内での周波数制御精度の緩和、電源電圧の低減、温度制御設定目標および温度制御精度の緩和等の判断の基準がなく、各制御回路は最適最低限以上の能力で動作していた。
【０００６】
本発明は上記のような問題点を解決するためになされたものであり、デバイス実装時における安定動作を検証することが可能な動作検証システムを提供することを目的とする。また、内部安定動作限界まで演算高速化が可能、かつ、内部安定動作範囲内での制御回路の負荷軽減が可能な適応制御システムを提供することを目的とする。
【０００７】
【課題を解決するための手段】
上記課題を解決するために、本発明の請求項１に記載の動作検証システムは、内部動作のクロックを生成するクロック生成部と、動作検証対象となる第１の記憶素子と、上記第１の記憶素子以外の演算回路である演算回路群とから構成される通常動作回路と、上記第１の記憶素子と同じデータを、該第１の記憶素子と位相の異なるクロックで記憶する第２の記憶素子と、上記第１の記憶素子、及び上記第２の記憶素子の出力結果から、上記通常動作回路が安定動作しているか否かを判定する判定器とから構成される動作検証回路とを備え、上記第２の記憶素子をラッチさせるためのクロックは、上記第１の記憶素子をラッチさせるためのクロックより相対的に位相が進んだものであり、上記クロックのクロック周期をＴ，位相の進みを２πｔ／Ｔとしたときに、上記第１の記憶素子を周波数１／Ｔの低動作周波数で動作させた状態で、上記判定器の出力を監視することにより、上記第１の記憶素子を周波数１／（Ｔ−ｔ）で高速動作させた場合の検証を行う、ことを特徴とするものである。
【０００８】
本発明の請求項２に記載の動作検証システムは、請求項１に記載の動作検証システムにおいて、上記クロック生成部内に、リングオシュレータを備え、上記第１の記憶素子をラッチさせるためのクロックより相対的に位相が進んだ，上記第２の記憶素子をラッチさせるためのクロックを、該リングオシュレータの位相情報を元に生成する、ことを特徴とするものである。
【０００９】
本発明の請求項３に記載の動作検証システムは、請求項１に記載の動作検証システムにおいて、上記第１の記憶素子をラッチさせるためのクロックより相対的に位相が進んだ，上記第２の記憶素子をラッチさせるためのクロックを、遅延素子を用いて、生成する、ことを特徴とするものである。
【００１０】
本発明の請求項４に記載の動作検証システムは、請求項１に記載の動作検証システムにおいて、上記第１の記憶素子をラッチさせるためのクロックより相対的に位相が進んだ，上記第２の記憶素子をラッチさせるためのクロックを、半導体集積回路内部の配線遅延を用いて生成する、ことを特徴とするものである。
【００１１】
本発明の請求項５に記載の動作検証システムは、請求項１に記載の動作検証システムにおいて、上記第１の記憶素子をラッチさせるためのクロックより相対的に位相が進んだ，上記第２の記憶素子をラッチさせるためのクロックを、外部で生成し、半導体集積回路内に供給する、ことを特徴とするものである。
【００１２】
本発明の請求項６に記載の動作検証システムは、請求項１ないし請求項５のいずれかに記載の動作検証システムにおいて、上記クロック生成部を、半導体集積回路外に備えた、ことを特徴とするものである。
【００１３】
本発明の請求項７に記載の動作検証システムは、内部動作のクロックを生成するクロック生成部と、動作検証対象となる第１の記憶素子と、上記第１の記憶素子以外の演算回路である演算回路群とから構成される通常動作回路と、上記第１の記憶素子がラッチする上記演算回路群からの出力データを遅延させる遅延回路と、上記遅延回路により遅延されたデータを、該第１の記憶素子と同じ位相のクロックで記憶する第２の記憶素子と、上記第１の記憶素子、及び上記第２の記憶素子の出力結果から、上記通常動作回路が安定動作しているか否かを判定する判定器とから構成される動作検証回路とを備え、上記クロックのクロック周期をＴ，上記遅延回路による遅延時間をｔとしたときに、上記第１の記憶素子を周波数１／Ｔの低動作周波数で動作させた状態で、上記判定器の出力を監視することにより、上記第１の記憶素子を周波数１／（Ｔ−ｔ）で高速動作させた場合の検証を行う、ことを特徴とするものである。
【００１４】
本発明の請求項８に記載の動作検証システムは、請求項７に記載の動作検証システムにおいて、上記遅延回路は、遅延素子を用いて上記第１の記憶素子がラッチする上記演算回路群からの出力データを遅延させる、ことを特徴とするものでらる。
【００１５】
本発明の請求項９に記載の動作検証システムは、請求項７に記載の動作検証システムにおいて、上記遅延回路は、配線遅延を用いて上記第１の記憶素子がラッチする上記演算回路群からの出力データを遅延させる、ことを特徴とするものである。
【００１６】
本発明の請求項１０に記載の動作検証システムは、内部動作のクロックを生成するクロック生成部と、動作検証対象となる第１の記憶素子と、上記第１の記憶素子以外の演算回路である演算回路群とから構成される通常動作回路と、上記第１の記憶素子がラッチする上記演算回路群からの出力データを遅延させる遅延回路と、上記遅延回路により遅延されたデータを、該第１の記憶素子と位相の異なるクロックで記憶する第２の記憶素子と、上記第１の記憶素子、及び上記第２の記憶素子の出力結果から、上記通常動作回路が安定動作しているか否かを判定する判定器とから構成される動作検証回路とを備え、上記第２の記憶素子をラッチさせるためのクロックは、上記第１の記憶素子をラッチさせるためのクロックより相対的に位相が進んだものであり、上記クロックのクロック周期をＴ，位相の進みを２πｔ１／Ｔとし、上記遅延回路による遅延時間をｔ２としたときに、上記第１の記憶素子を周波数１／Ｔの低動作周波数で動作させた状態で、上記判定器の出力を監視することにより、上記第１の記憶素子を周波数１／（Ｔ−ｔ１−ｔ２）で高速動作させた場合の検証を行う、ことを特徴とするものである。
【００１７】
また、本発明の請求項１１に記載の適応制御システムは、請求項１、７、又は１０の何れかに記載の動作検証システムを有する適応制御システムであって、上記判定器の出力結果に基づき、上記通常動作回路内の内部演算時間を変化させる要素である因子を制御する因子制御回路を備え、上記判定器の出力を監視して、低動作周波数で上記第１の記憶素子の高速動作の検証を行いつつ、その検証結果を上記因子制御回路にフィードバックし、該因子の制御可能な範囲内で該因子を制御して上記内部演算時間を短くするとともに、上記判定器の出力結果から上記通常動作回路の安定動作可能と判定される範囲を、拡大することを特徴とするものである。
【００１８】
また、本発明の請求項１２に記載の適応制御システムは、請求項１１に記載の適応制御システムにおいて、上記因子制御回路として、上記通常動作回路の内部動作周波数を制御する周波数制御回路を備え、上記周波数制御回路は、上記判定器の出力結果から安定動作可能と判定される範囲内で、より高い内部動作周波数を設定する、ことを特徴とするものである。
【００１９】
また、本発明の請求項１３に記載の適応制御システムは、請求項１１に記載の適応制御システムにおいて、上記因子制御回路として、上記通常動作回路の内部動作周波数を制御する周波数制御回路、および上記通常動作回路の内部動作電圧を制御する電源電圧制御回路を備え、上記周波数制御回路は、上記判定器の出力結果から安定動作可能と判定される範囲内で、より高い内部動作周波数を設定し、上記電源電圧制御回路は、上記判定器の出力結果から安定動作可能と判定される範囲内で、上記内部動作電圧を制御する、ことを特徴とするものである。
【００２０】
また、本発明の請求項１４に記載の適応制御システムは、請求項１１に記載の適応制御システムにおいて、上記因子制御回路として、上記通常動作回路の内部動作周波数を制御する周波数制御回路、および上記通常動作回路の内部温度を制御する温度制御回路を備え、上記周波数制御回路は、上記判定器の出力結果から安定動作可能と判定される範囲内で、より高い内部動作周波数を設定し、上記温度制御回路は、上記判定器の出力結果から安定動作可能と判定される範囲内で、内部温度を制御する、ことを特徴とするものである。
【００２１】
また、本発明の請求項１５に記載の適応制御システムは、請求項１、７、又は１０の何れかに記載の動作検証システムを有する適応制御システムであって、上記判定器の出力結果に基づき、上記通常動作回路内の内部演算時間を変化させる要素である因子を制御する因子制御回路を備え、上記因子制御回路は、上記判定器の出力結果から安定動作可能と判定される範囲内で、該適応制御システムの消費電力を低減するよう、制御を行う、ことを特徴とするものである。
【００２２】
また、本発明の請求項１６に記載の適応制御システムは、請求項１５に記載の適応制御システムにおいて、上記因子制御回路として、上記通常動作回路の内部動作周波数を制御する周波数制御回路を備え、上記周波数制御回路は、上記判定器の出力結果から安定動作可能と判定される範囲内で、該周波数制御の制御精度を緩和させ、上記周波数制御回路の消費電力を低減する、ことを特徴とするものである。
【００２３】
また、本発明の請求項１７に記載の適応制御システムは、請求項１５に記載の適応制御システムにおいて、上記因子制御回路として、上記通常動作回路の内部動作周波数を制御する周波数制御回路、および上記通常動作回路の内部動作電圧を制御する電源電圧制御回路を備え、上記周波数制御回路は、上記判定器の出力結果から安定動作可能と判定される範囲内で、該周波数制御の制御精度を緩和させ、上記周波数制御回路の消費電力を低減し、上記電源電圧制御回路は、上記判定器の出力結果から安定動作可能と判定される範囲内で、上記内部動作電圧を下げ、上記通常動作回路の消費電力を低減する、ことを特徴とするものである。
【００２４】
また、本発明の請求項１８に記載の適応制御システムは、請求項１５に記載の適応制御システムにおいて、上記因子制御回路として、上記通常動作回路の内部動作周波数を制御する周波数制御回路、および上記通常動作回路の内部温度を制御する温度制御回路を備え、上記周波数制御回路は、上記判定器の出力結果から安定動作可能と判定される範囲内で、該周波数制御の制御精度を緩和させ、上記周波数制御回路の消費電力を低減し、上記温度制御回路は、上記判定器の出力結果から安定動作可能と判定される範囲内で、温度制御の設定温度を下げる、もしくは該温度制御の制御精度を緩和させ、上記温度制御回路の消費電力を低減する、ことを特徴とするものである。
【００２５】
【発明の実施の形態】
（実施の形態１）
図１は、本発明の実施の形態１に係る動作検証システムの構成を示すブロック図である。
図１において、本動作検証システム１００は、半導体集積回路本来の機能を実現する通常動作回路１０４と、検査対象となるフリップフロップ（以下ＦＦと略す）１０２が安定動作を行なっているか否かを検証する動作検証回路１０７とからなる。
【００２６】
通常動作回路１０４は、内部動作のクロックを生成するクロック生成部１０１と、動作検証対象となる第１の記憶素子であるＦＦ１０２と、検査対象となるＦＦ以外の演算回路である演算回路群１０３とから構成される。また、動作検証回路１０７は、ＦＦ１０２とは異なるタイミングで記憶する第２の記憶素子であるＦＦ１０５と、通常動作回路１０４が安定動作を行っているかを判定する判定器１０６とから構成される。
【００２７】
なお、動作検証対象となるＦＦ１０２は、半導体集積回路設計段階において、容量、抵抗成分を反映させた遅延シュミレーションによりタイミング的にクリティカルとなるＦＦを検査対象として選定したものである。
【００２８】
次に、図１中の各信号について説明する。
Ｓｉｇ１００はＦＦ１０２およびＦＦ１０５がラッチする演算回路群１０３からの出力信号、Ｓｉｇ１０１は演算回路群１０３内の回路を駆動させるクロック、Ｓｉｇ１０２はＦＦ１０２をラッチさせるためのクロック、Ｓｉｇ１０３はＦＦ１０２の出力であり、演算回路群１０３および判定器１０６への入力信号である。Ｓｉｇ１０４はＦＦ１０５をラッチさせるためのクロックであり、クロックＳｉｇ１０２より相対的に位相が進んだものである。Ｓｉｇ１０５はＦＦ１０５からの出力であり、Ｓｉｇ１０６はＦＦ１０２からの出力信号Ｓｉｇ１０３とＦＦ１０５からの出力信号Ｓｉｇ１０５を比較した判定結果である。
【００２９】
次に、上記のように構成される動作検証システムの動作について説明する。
図２は、本発明の実施の形態１に係る動作検証システムの動作検証判定タイミング図である。
ｔ０はＳｉｇ１００のデータが確定するまでの演算時間であり、動作周波数によらず一定である。ｔ１はＳｉｇ１００のデータが確定している時間であり、動作周波数によって変化する。ｔ３はクロックＳｉｇ１０２とクロックＳｉｇ１０４との相対的位相差である。ＴはクロックＳｉｇ１０２のクロック周期であり動作周波数の逆数に依存する。ＦＦ１０５のラッチタイミングはＦＦ１０２のラッチタイミングよりｔ３だけ早いため、ＦＦ１０５からの出力Ｓｉｇ１０５は実質（Ｔ−ｔ３）の周期で動作した時のＦＦ１０２からの出力Ｓｉｇ１０３とみなすことができ、ＦＦ１０２が１／Ｔの高速動作周波数で動作している時に出力Ｓｉｇ１０５の信号を観測することで、ＦＦ１０２が１／（Ｔ−ｔ３）の動作周波数で動作したときの演算結果を得ることができる。このことは通常動作回路を高速動作させることなく高速時の動作検証ができる事を示しており、低速動作で高速動作の検証が可能となり、また、実動作時に高速動作の検証が可能であることを示している。
【００３０】
以下に、動作検証の判定の方法を１：動作余裕のある場合（クロックＳｉｇ１０４でラッチするデータＳｉｇ１００が確定している場合）と、２：動作余裕のない場合（クロックＳｉｇ１０４でラッチするデータＳｉｇ１００が遷移中の場合）とに分けて、図２を用いて説明する。
【００３１】
１：動作余裕のある場合（図２（ａ））
動作余裕がある場合には、クロックＳｉｇ１０２、及びクロックＳｉｇ１０４によって記憶されるＦＦ１０２出力Ｓｉｇ１０３、及びＦＦ１０５出力Ｓｉｇ１０５と、比較結果Ｓｉｇ１０６とは、図２（ａ）に示すとおりになり、Ｓｉｇ１０６の安定判定Ａを監視すると一致を示す値“０”を常に確認することができ、１／（Ｔ−ｔ３）の動作周波数でも動作することを確認できる。
【００３２】
２：動作余裕のない場合（図２（ｂ））
動作余裕がない場合には、クロックＳｉｇ１０２、及びクロックＳｉｇ１０４によって記憶されるＦＦ１０２出力Ｓｉｇ１０３、及びＦＦ１０５出力Ｓｉｇ１０５と、および比較結果Ｓｉｇ１０６とは図２（b）に示すとおりになり、Ｓｉｇ１０６の安定判定Ｂを監視すると、Ｓｉｇ１００の値が確定していない為、判定結果Ｓｉｇ１０６は不定となり１／（Ｔ−ｔ３）の動作周波数では安定動作しないことを確認できる。
【００３３】
以上のような、本発明の実施の形態１に係る動作検証システムは、動作検証の対象となるＦＦ１０２を含む通常動作回路１０４と、ＦＦ１０５を含む動作検証回路１０７とを備え、同じデータを異なる位相のクロックでＦＦ１０２とＦＦ１０５に記憶し、これらＦＦ１０２，ＦＦ１０５の出力結果から、通常動作回路１０４が安定動作しているかを判定するようにしたから、従来では動作周波数を高速にするため困難であった高速動作の検証を、低周波数で行うことを実現でき、また、間欠的に通常動作回路１０４が安定動作しているか否かの判定を行なうことで、実装された実デバイス上でのリアルタイム検証を行うことができる。
【００３４】
また、実デバイス実装時において通常動作回路の安定動作の検証ができるので、実デバイス実装時の半導体集積回路を取り巻く周辺温度、動作電圧等の周辺環境下での動作検証を間欠的に行うことができ、また、該周辺環境を制御することによって、内部動作の安定化、実回路の能力を最大限引き出すことを可能とできる。
【００３５】
なお、本発明の実施の形態1による動作検証システムでは、説明の容易化のため1つのＦＦを検証対象として高速動作の検証を行なう場合について説明したが、半導体集積回路設計段階において、容量、抵抗成分を反映させた遅延シュミレーションによりタイミングが厳しいことが予想される２箇所以上のＦＦを検証対象としてもよく、複数のＦＦを検査対象とする場合には、検証対象となる複数のＦＦに対応する動作検証回路１０７をそれぞれ設け、検証対象となるすべてのＦＦに対して高速動作の検証を行なうことにより、かかる動作検証システムを実現可能である。
【００３６】
また、位相の異なるクロックの生成手段として、クロック生成部１０１内に、リングオシュレータなどの位相情報を持つ回路を備え、該回路から位相の異なるクロックを取り出し生成することが可能である。
また、位相の異なるクロックの生成方法として、Ｓｉｇ１０２もしくはＳｉｇ１０４に位相差を持たせる為の遅延素子を挿入する方法、Ｓｉｇ１０２もしくはＳｉｇ１０４の信号を半導体集積回路レイアウト上で配線を引き回し生成した遅延量を用いて位相差を持たせる方法、及び外部で位相の異なるクロックを生成し半導体集積回路内に供給する方法により位相の異なるクロックを生成することが可能である。
【００３７】
また、演算回路群１０３内の動作クロックは、クロックＳｉｇ１０１の一種類だけでなく複数系統のクロックを用いていたとしても同様の効果が得られる。
また、Ｓｉｇ１０６の判定は半導体集積回路内部にて排他的論理和を用いて判定を行うほか、半導体集積回路外部へ出力し外部判定回路にて判定を行ってもよい。
また、上記動作クロック生成部１０１が半導体集積回路外にある場合においても同様の効果を得ることができる。
【００３８】
（実施の形態２）
図３は、本発明の実施の形態２に係る動作検証システムの構成を示すブロック図である。
図３において、本動作検証システム２００は、半導体集積回路本来の機能を実現する通常動作回路２０４と、検査対象となるフリップフロップ（以下ＦＦと略す）２０２が安定動作を行なっているか否かを検証する動作検証回路２０７とからなる。
【００３９】
通常動作回路２０４は、内部動作のクロックを生成するクロック生成部２０１と、動作検証対象となる第１の記憶素子であるＦＦ２０２と、検査対象となるＦＦ以外の演算回路である演算回路群２０３とから構成される。また、動作検証回路２０７は、動作検証対象となるＦＦ２０２がラッチする演算回路群２０３からの出力データを遅延させる遅延回路２０８と、遅延回路２０８で遅延されたデータをＦＦ２０２と同じタイミングで記憶する第２の記憶素子であるＦＦ２０５と、通常動作回路２０４が安定動作を行っているかを判定する判定器２０６とから構成される。
【００４０】
なお、動作検証対象となるＦＦ２０２は、容量、抵抗成分を反映させた遅延シュミレーションを行なった結果、タイミング的にクリティカルとなるＦＦを検査対象とするほか、設計上、配線を容易に行なうことが可能なＦＦを検査対象としてもよい。また、遅延回路２０８による遅延時間は、半導体集積回路設計段階において、容量、抵抗成分を反映させた遅延シュミレーションを行ない、半導体集積回路本来の機能を実現する動作回路２０４の中で、一番演算タイミングが厳しい演算パスよりもさらに厳くなるように設定される。
【００４１】
次に、図３中の各信号について説明する。
Ｓｉｇ２００はＦＦ２０２がラッチする演算回路群２０３からの出力信号、Ｓｉｇ２００ｄは、Ｓｉｇ２００を動作回路２０４中で一番演算タイミングが厳しくなるように遅延回路２０８で遅延した信号、Ｓｉｇ２０１は演算回路群２０３内の回路を駆動させるクロック、Ｓｉｇ２０２はＦＦ２０２をラッチさせるためのクロック、Ｓｉｇ２０３はＦＦ２０２の出力であり、演算回路群２０３および判定器２０６への入力信号である。Ｓｉｇ２０４はＦＦ２０５をラッチさせるためのクロックであり、クロックＳｉｇ２０２と同じ位相のクロックである。Ｓｉｇ２０５はＦＦ２０５からの出力であり、Ｓｉｇ２０６はＦＦ２０２からの出力信号Ｓｉｇ２０３とＦＦ２０５からの出力信号Ｓｉｇ２０５を比較した判定結果である。
【００４２】
次に、上記のように構成される動作検証システムの動作について説明する。
図４は、本発明の実施の形態２に係る動作検証システムの動作検証判定タイミング図である。
ｔ０はＳｉｇ２００のデータが確定するまでの演算時間であり、動作周波数によらず一定である。ｔ１はＳｉｇ２００のデータが確定している時間であり、動作周波数によって変化する。ｔ３はＳｉｇ２００の信号を遅延回路２０８により遅らせた時間であり、動作周波数によらず一定である。ＴはクロックＳｉｇ２０２のクロック周期であり動作周波数の逆数に依存する。ＦＦ２０５でラッチされるデータはＳｉｇ２０２がラッチするデータよりｔ３だけ遅れているため、ＦＦ２０５からの出力Ｓｉｇ２０５は実質（Ｔ−ｔ３）の周期で動作した時のＦＦ２０２からの出力Ｓｉｇ２０３とみなすことができ、ＦＦ２０２が１／Ｔの高速動作周波数で動作しているときに出力Ｓｉｇ２０５の信号を観測することで、ＦＦ２０２が１／（Ｔ−ｔ３）の動作周波数で動作した時の演算結果を得ることができる。このことは通常動作回路２０４を高速動作させることなく高速動作時の動作検証ができることを示しており、低速動作で高速動作の検証が可能となり、また、動作時に高速動作の検証が可能であることを示している。
【００４３】
以下に、動作検証の判定の方法を１：動作余裕のある場合（クロックＳｉｇ２０４でラッチするデータＳｉｇ２００ｄが確定している場合）と、２：動作余裕のない場合（クロックＳｉｇ２０４でラッチするデータＳｉｇ２００ｄが遷移中の場合）とに分けて、図４を用いて説明する。
【００４４】
１：動作余裕のある場合（図４（ａ））
動作余裕がある場合には、クロックＳｉｇ２０２、及びクロックＳｉｇ２０４によって記憶されるＦＦ２０２出力Ｓｉｇ２０３、及びＦＦ２０５出力Ｓｉｇ２０５と、比較結果Ｓｉｇ２０６とは、図４（ａ）に示すとおりになり、図示するように、ＦＦ２０５は安定範囲Ａ内でデータをラッチすることができ、Ｓｉｇ２０５が確定する。そして、Ｓｉｇ２０６の値を監視すると一致を示す値“０”を常に確認することができ、１／（Ｔ−ｔ３）の動作周波数でも動作することを確認できる。
【００４５】
２：動作余裕のない場合（図４（ｂ））
動作余裕がない場合には、クロックＳｉｇ２０２、及びクロックＳｉｇ２０４によって記憶されるＦＦ２０２出力Ｓｉｇ２０３、及びＦＦ２０５出力Ｓｉｇ２０５と、および比較結果Ｓｉｇ２０６とは図４（b）に示すとおりになり、図示するように、ＦＦ２０５は安定範囲Ｂ内でデータをラッチすることができずＳｉｇ１０５は不定となり、Ｓｉｇ２０６の値を監視するとＳｉｇ２００の値が確定していない。その為、判定結果Ｓｉｇ２０６は不定となり１／（Ｔ−ｔ３）の動作周波数では安定動作しないことを確認できる。
【００４６】
以上のような、本発明の実施の形態２に係る動作検証システムは、動作検証の対象となるＦＦ２０２を含む通常動作回路２０４と、遅延回路２０８，ＦＦ２０５を含む動作検証回路とを備え、ＦＦ２０２がラッチするデータを遅延回路２０８で遅延させたデータをＦＦ２０５でラッチし、これらＦＦ２０２，ＦＦ２０５の出力結果から通常動作回路２０４が安定動作しているか否かを判定するようにしたから、従来では動作周波数を高速にする必要があり困難であった高速動作の検証を、低周波数で行うことを実現でき、また、間欠的に通常動作回路２０４が安定動作しているか否かの判定を行なうことで、実装された実デバイス上でのリアルタイム検証を行うことが可能となる。
【００４７】
また、実デバイス実装時において通常動作回路の安定動作の検証ができるので、実デバイス実装時の半導体集積回路を取り巻く周辺温度、動作電圧等の周辺環境下での動作検証を間欠的に行うことができ、また、該周辺環境を制御することによって、内部動作の安定化、実回路の能力を最大限引き出すことを可能とできる。
【００４８】
なお、本発明の実施の形態２による動作検証システムでは、１つのＦＦを検証対象として高速動作の検証を行なう場合について説明したが、半導体集積回路設計段階において、容量、抵抗成分を反映させた遅延シュミレーションにより、タイミングが厳しいことが予想されるＦＦの正確な特定が困難な場合には、タイミング的に厳しいことが予想される複数のＦＦを検査対象として、データの遅延を用いた高速動作の検証を行うようにすればよく、検査対象となる複数のＦＦにそれぞれ対応する動作検証回路２０７を設けることにより、かかる動作検証システムを実現可能である。
【００４９】
また、本発明の実施の形態２による動作検証システムでは、ＦＦ２０２と、ＦＦ２０５において、同じ位相のクロックでデータをラッチするものについて説明したが、前記実施の形態１による動作検証システムのように、ＦＦ２０２と、ＦＦ２０５とが、位相の異なるクロックでデータをラッチするようにしてもよい。この場合、本発明の実施の形態２の動作検証システムによるデータを遅延させて高速動作検証を行なう方法に加えて、さらにクロック遅延をも生じさせて高速動作検証をおこなうことにより、設計上限られたエリア内に遅延回路２０８を配置する必要がある等の制約がある場合であっても、高速動作検証を実現することが可能となる。
【００５０】
また、遅延回路２０８による信号遅延の方法としては、遅延素子の挿入により信号を遅延させる方法のほか、半導体集積回路レイアウト上で配線を引き回して信号遅延を生じさせる方法等がある。
また、演算回路群２０３内の動作クロックは、クロックＳｉｇ２０１の一種類だけでなく複数系統のクロックを用いても同様の効果が得られる。
また、Ｓｉｇ２０６の判定は半導体集積回路内部にて排他的論理和を用いて判定を行うようにしてもよく、また、半導体集積回路外部へ出力し外部判定回路にて判定を行うようにしてもよい。
【００５１】
（実施の形態３）
図５は、本発明の実施の形態３に係る適応制御システムの構成を示すブロック図である。
図５において、本適応制御システム３００は、半導体集積回路本来の機能を実現する通常動作回路３０４と、検査対象となるフリップフロップ（以下ＦＦと略す）３０２が安定動作を行なっているか否かを検証する動作検証回路３０７とを備え、また、通常動作回路内の内部演算時間を変化させる要素となる因子を制御する因子制御回路として、内部動作周波数の制御を行う周波数制御回路３０８を備える。
【００５２】
通常動作回路３０４は、内部動作のクロックを生成するクロック生成部３０１と、動作検証対象となる第１の記憶素子であるＦＦ３０２と、検査対象となるＦＦ３０２以外の演算回路である演算回路群３０３とから構成される。また、動作検証回路３０７は、ＦＦ３０２とは異なるタイミングで記憶する第２の記憶素子であるＦＦ３０５と、通常動作回路３０４が安定動作を行っているかを判定する判定器３０６とから構成される。
【００５３】
なお、動作検証対象となるＦＦ３０２は、半導体集積回路設計段階において、容量、抵抗成分を反映させた遅延シュミレーションによりタイミング的にクリティカルとなるＦＦを検査対象として選定したものである。
【００５４】
次に、図５中の各信号について説明する。
Ｓｉｇ３００はＦＦ３０２およびＦＦ３０５がラッチする演算回路群３０３からの出力信号、Ｓｉｇ３０１は演算回路群３０３内の回路を駆動させるクロック、Ｓｉｇ３０２はＦＦ３０２をラッチさせるためのクロック、Ｓｉｇ３０３はＦＦ３０２の出力であり、演算回路群３０３および判定器３０６への入力信号である。Ｓｉｇ３０４はＦＦ３０５をラッチさせるためのクロックであり、クロックＳｉｇ３０２より相対的に位相が進んだものである。Ｓｉｇ３０５はＦＦ３０５からの出力であり、Ｓｉｇ３０６はＦＦ３０２からの出力信号Ｓｉｇ３０３とＦＦ３０５からの出力信号Ｓｉｇ３０５とを比較した判定結果である。Ｓｉｇ３０７は通常動作回路３０４内部の動作周波数を変更するために、クロック生成部３０１から出力されるクロックＳｉｇ３０１、Ｓｉｇ３０２、及びＳｉｇ３０４の周波数を制御する制御信号である。
【００５５】
次に、上記のように構成される適応制御システムの動作について図６を用いて説明する。
図６は、本発明の実施の形態３による適応制御システムの動作について説明するためのフローチャートである。
図６（ａ）は本適応制御システムの内部動作高速化のための動作を説明するためのフローチャートである。
【００５６】
まずステップＳ３０９で、周波数制御回路３０８の最大動作周波数の初期値を通常動作回路３０４が正常動作する動作周波数に設定する。次にステップＳ３１０で動作検証回路の出力Ｓｉｇ３０６を間欠的に監視し、ステップＳ３１１で内部動作周波数よりも高い周波数で動作可能かどうかを判定する。もしより高い動作周波数で動作可能であればステップＳ３１２に移り、周波数制御回路３０８にて動作周波数を上げるようにクロック生成部３０１に制御信号を与えた後、ステップＳ３１０に戻り再度動作余裕の判定を行う。
【００５７】
もし、より高い動作周波数で動作不可能であればステップＳ３１３に移り、周波数制御回路３０８にて動作周波数を下げるようクロック生成部３０１に制御信号を与えた後、ステップＳ３１０に戻り再度動作余裕の判定を行う。
【００５８】
図６（ｂ）は本適応制御システムの消費電力低減のための動作を説明するためのフローチャートである。
ステップＳ３１４で、周波数制御回路の制御精度の初期化を行う。次にステップＳ３１５で、動作検証回路出力Ｓｉｇ３０６を間欠的に監視し、ステップＳ３１６で、内部動作周波数よりも高い周波数で動作可能か否かを内部動作安定の基準とし、安定動作していればステップＳ３１７に移り周波数制御回路の制御精度を下げた後、ステップＳ３１５に移り再度動作判定結果を監視する。
【００５９】
ステップＳ３１６で内部動作周波数よりも高い周波数で動作可能か否かを内部動作安定の基準とし、もし安定動作していなければステップＳ３１８に移り周波数制御回路の制御精度を上げた後、ステップＳ３１５に移り再度動作判定結果を監視する。
【００６０】
以上のような、本発明の実施の形態３に係る適応制御システムは、通常動作回路３０４と動作検証回路３０７を備えた動作検証システムを有する適応制御システムであって、通常動作回路内の内部演算時間を変化させる要素となる因子を制御する因子制御回路として周波数制御回路３０８を備え、該周波数制御回路３０８が通常動作回路３０４の内部動作周波数を制御できる構成としたから、実デバイス実装時の半導体集積回路を取り巻く周辺温度、動作電圧等の周辺環境下で内部動作回路に余裕のある場合は、内部回路の安定動作を考慮しつつ、内部回路をリアルタイムに高速化するので、回路の持つ演算スピード能力を状況に応じて引き出すことができる。
【００６１】
また、通常動作回路が安定である場合、周波数制御回路の制御精度を下げることにより、周波数制御回路の消費電力の低減を行うことができる。
【００６２】
なお、上記実施の形態３では、周波数制御回路３０８を半導体集積回路外部に設けたものについて説明したが、周波数制御回路を半導体集積回路内部に備えた構成としてもよく、上記実施の形態と同様の効果を奏する。
【００６３】
また、本発明の実施の形態３による適応制御システムでは、説明の容易化のため１つのＦＦを検証対象として高速動作の検証を行なう場合について説明したが、半導体集積回路設計段階において、容量、抵抗成分を反映させた遅延シュミレーションによりタイミングが厳しいことが予想される２箇所以上のＦＦを検証対象としてもよく、複数のＦＦを検査対象とする場合には、検証対象となる複数のＦＦに対応する動作検証回路３０７をそれぞれ設け、検証対象となるすべてのＦＦに対して高速動作の検証を行なうことにより、かかる適応制御システムを実現可能である。
【００６４】
（実施の形態４）
図７は、本発明の実施の形態４に係る適応制御システムの構成を示すブロック図である。
図７において、適応制御システム４００は、半導体集積回路本来の機能を実現する通常動作回路４０４と、該通常動作回路４０４における検査対象となるフリップフロップ（以下ＦＦと略す）４０２が安定動作を行なっているか否かを検証する動作検証回路４０７とを備え、また、通常動作回路内の内部演算時間を変化させる要素となる因子を制御する因子制御回路として、内部動作電圧の制御を行う電源電圧制御回路４０８と、内部の動作周波数を制御する周波数制御回路４０９を備える。
【００６５】
通常動作回路４０４は、内部動作のクロックを生成するクロック生成部４０１と、動作検証対象となる第１の記憶素子であるＦＦ４０２と、検査対象となるＦＦ４０２以外の演算回路である演算回路群４０３とから構成される。また、動作検証回路４０７は、ＦＦ４０２とは異なるタイミングで記憶する第２の記憶素子であるＦＦ４０５と、通常動作回路４０４が安定動作を行っているかを判定する判定器４０６とから構成される。
【００６６】
なお、動作検証対象となるＦＦ４０２は、半導体集積回路設計段階において、容量、抵抗成分を反映させた遅延シュミレーションによりタイミング的にクリティカルとなるＦＦを検査対象として選定したものである。
【００６７】
次に、図７中の各信号について説明する。
Ｓｉｇ４００はＦＦ４０２、及びＦＦ４０５がラッチする演算回路群４０３からの出力信号である。Ｓｉｇ４０１は演算回路群４０３内の回路を駆動させるクロックである。Ｓｉｇ４０２はＦＦ４０２をラッチさせるためのクロックである。Ｓｉｇ４０３はＦＦ４０２の出力であり、演算回路群４０３、及び判定器４０６への入力信号である。Ｓｉｇ４０４はＦＦ４０５をラッチさせるためのクロックであり、クロックＳｉｇ４０２より相対的に位相が進んだものである。Ｓｉｇ４０５はＦＦ４０５からの出力であり、Ｓｉｇ４０６はＦＦ４０２からの出力信号Ｓｉｇ４０３と、ＦＦ４０５からの出力信号Ｓｉｇ４０５とを比較した判定結果である。Ｓｉｇ４０７は通常動作回路４０４内部の動作周波数を変更するためにクロック生成回路４０１から出力されるクロックＳｉｇ４０１、Ｓｉｇ４０２、及びＳｉｇ４０４の周波数を制御する制御信号である。
【００６８】
以下に、上記のように構成される適応制御システムの動作について図８及び図９を用いて説明する。
図８及び図９は、本実施の形態４に係る適応制御システムの動作について説明するためのフローチャートである。
図８は本適応制御システムの消費電力低減のための動作について説明するためのフローチャートである。
【００６９】
まずステップＳ４１０で、電源電圧制御回路４０８にて電源電圧の初期化、及び周波数制御回路４０９にて最大動作周波数の初期化を行い、通常動作回路４０４が正常動作する電源電圧、動作周波数に設定する。次にステップＳ４１１で、動作検証回路の出力Ｓｉｇ４０６を間欠的に監視し、ステップＳ４１２で、内部動作周波数よりも高い周波数で動作可能かどうかを判定する。もし、より高い動作周波数で動作可能であれば、ステップＳ４１３に移り、周波数制御回路４０９にて動作周波数を上げるようにクロック生成部４０１に制御信号を与えた後、ステップＳ４１１に戻り再度動作余裕の判定を行う。もし、より高い動作周波数で動作不可能であればステップＳ４１４に移り、電源電圧制御回路４０８にて適応制御システム４００の電源電圧を上げることが可能であれば、ステップＳ４１５に移り、電源電圧を上げ内部動作スピードを改善した後、ステップＳ４１１に戻る。もし、電源電圧が許容上限で上げることができなければ、ステップＳ４１６に移り、周波数制御回路４０９にて動作周波数を下げるようクロック生成部４０１に制御信号を与えた後、ステップＳ４１１に戻り再度動作余裕の判定を行う。
【００７０】
図９は、本適応制御システムの内部動作電圧を下げて半導体集積回路の消費電力を低減するための動作について説明するためのフローチャートである。
【００７１】
まずステップＳ４１７で、電源電圧制御回路４０８により電源電圧の初期化を行い、通常動作回路４０４が正常動作する電源電圧に設定する。ステップＳ４１８で、動作検証回路の出力Ｓｉｇ４０６を間欠的に監視し、ステップＳ４１９で、内部動作周波数よりも高い周波数で動作可能か否かを内部動作の安定の基準とし、安定に動作していればステップＳ４２０に移り、電源電圧制御回路４０８にて電源電圧を下げた後ステップＳ４１８に移り、再度動作判定結果を監視する。ステップＳ４１９で、内部動作周波数よりも高い周波数で動作可能か否かを内部動作安定の基準とし、もし安定動作していなければステップＳ４２１に移り電源電圧制御回路４０８にて電源電圧を上げ、半導体集積回路内部トランジスタの能力を上げ、内部タイミングクリティカルパスの改善を行った後、ステップＳ４１８に戻り再度動作判定結果を監視する。
【００７２】
以上のような、本発明の実施の形態４に係る適応制御システムは、通常動作回路４０４と動作検証回路４０７とを備えた動作検証システムを有する適応制御システムであって、通常動作回路内の内部演算時間を変化させる要素となる因子を制御する因子制御回路として、周波数制御回路４０９と、電源電圧制御回路４０８とを備え、周波数制御回路４０９が内部動作周波数を制御し、電源電圧制御回路４０８が電源電圧を制御することができる構成としたから、上記実施の形態３による適応制御システムと同様の効果を奏するとともに、電源電圧が変動可能な範囲内で内部回路の安定動作を考慮しつつ、さらに内部回路をリアルタイムに高速化することができ、通常動作回路の安定動作範囲の拡大を行うことができる。また、安定動作可能な範囲内で電源電圧を下げることにより、半導体集積回路内部の消費電力を低減できる。
【００７３】
なお、上記実施の形態４では、周波数制御回路４０９，電源電圧制御回路４０８を半導体集積回路外部に設けたものについて説明したが、周波数制御回路および電源電圧制御回路を半導体集積回路内部に備えた構成としてもよく、上記実施の形態と同様の効果を奏する。
【００７４】
また、本発明の実施の形態４による適応制御システムでは、説明の容易化のため１つのＦＦを検証対象として高速動作の検証を行なう場合について説明したが、半導体集積回路設計段階において、容量、抵抗成分を反映させた遅延シュミレーションによりタイミングが厳しいことが予想される２箇所以上のＦＦを検証対象としてもよく、複数のＦＦを検査対象とする場合には、検証対象となる複数のＦＦに対応する動作検証回路４０７をそれぞれ設け、検証対象となるすべてのＦＦに対して高速動作の検証を行なうことにより実現可能である。
【００７５】
（実施の形態５）
図１０は、本発明の実施の形態５に係る適応制御システムの構成を示すブロック図である。
図１０において、適応制御システム５００は、半導体集積回路本来の機能を実現する通常動作回路５０４と、検査対象となるフリップフロップ（以下ＦＦと略す）５０２が安定動作を行なっているか否かを検証する動作検証回路５０７とを備え、また、通常動作回路内の内部演算時間を変化させる要素となる因子を制御する因子制御回路として内部温度の制御を行う温度制御回路５０８と、内部の動作周波数を制御する周波数制御回路５０９を備える。
【００７６】
通常動作回路５０４は、内部動作のクロックを生成するクロック生成部５０１と、動作検証対象となる第１の記憶素子であるＦＦ５０２と、検査対象となるＦＦ５０２以外の演算回路である演算回路群５０３とから構成される。また、動作検証回路５０７は、ＦＦ５０２とは異なるタイミングで記憶する第２の記憶素子であるＦＦ５０５と、通常動作回路５０４が安定動作を行っているかを判定する判定器５０６とから構成される。
【００７７】
なお、動作検証対象となるＦＦ５０２は、半導体集積回路設計段階において、容量、抵抗成分を反映させた遅延シュミレーションによりタイミング的にクリティカルとなるＦＦを検査対象として選定したものである。
【００７８】
次に、図１０中の各信号について説明する。
Ｓｉｇ５００はＦＦ５０２およびＦＦ５０５がラッチする演算回路群５０３からの出力信号である。Ｓｉｇ５０１は演算回路群５０３内の回路を駆動させるクロック、Ｓｉｇ５０２はＦＦ５０２をラッチさせるためのクロック、Ｓｉｇ５０３はＦＦ５０２の出力であり、演算回路群５０３および判定器５０６への入力信号である。Ｓｉｇ５０４はＦＦ５０５をラッチさせるためのクロックであり、クロックＳｉｇ５０２より相対的に位相が進んだものである。Ｓｉｇ５０５はＦＦ５０５からの出力であり、Ｓｉｇ５０６はＦＦ５０２出力信号Ｓｉｇ５０３とＦＦ５０５出力信号Ｓｉｇ５０５とを比較した判定結果である。Ｓｉｇ５０７は通常動作回路５０４内部の動作周波数を変更するためにクロック生成回路５０１から出力されるクロックＳｉｇ５０１、Ｓｉｇ５０２、及びＳｉｇ５０４の周波数を制御する制御信号である。
【００７９】
次に、上記のように構成される適応制御システムの動作について図１１、及び図１２を用いて説明する。
図１１及び図１２は本発明の実施の形態５による適応制御システムの動作について説明するためのフローチャートである。
図１１は本適応制御システムの内部動作高速化のための動作について説明するためのフローチャートである。
【００８０】
まずステップＳ５１０で、温度制御回路５０８により周辺温度設定値の初期化、周波数制御回路５０９により最大動作周波数の初期化を行い、通常動作回路５０４が正常動作する周辺温度、動作周波数に設定する。次に、ステップＳ５１１で、動作検証回路出力Ｓｉｇ５０６を間欠的に監視し、ステップＳ５１２で、内部動作周波数よりも高い周波数で動作可能かどうかを判定する。もし、より高い動作周波数で動作可能であれば、ステップＳ５１３に移り、周波数制御回路５０９により動作周波数を上げるようにクロック生成部５０１に制御信号を与えた後、ステップＳ５１１に戻り、再度動作余裕の判定を行う。もし、より高い動作周波数で動作不可能であれば、ステップＳ５１４に移り、温度制御回路５０８にて適応制御システム５００の周辺温度を下げることが可能であれば、ステップＳ５１５に移り、周辺温度を下げ内部動作スピードを改善した後、ステップＳ５１１に戻る。もし、周辺温度設定が限界値であり周辺温度をこれ以上下げることができなければ、ステップＳ５１６に移り、周波数制御回路５０９で動作周波数を下げるようクロック生成部５０１に制御信号を与えた後、ステップＳ５１１に戻り、再度動作余裕の判定を行う。
【００８１】
図１２は本適応制御システムの、温度制御回路の制御精度もしくは周辺温度設定値を緩和し、温度制御回路の負荷を軽減させて消費電力の低減を行うための動作について説明するためのフローチャートである。
【００８２】
まずステップＳ５１７で、温度制御回路５０８にて周辺温度設定値の初期化を行い、通常動作回路５０４が正常動作する周辺温度に設定する。ステップＳ５１８で、動作検証回路出力Ｓｉｇ５０６を間欠的に監視し、ステップＳ５１９で、内部動作周波数よりも高い周波数で動作可能か否かを内部動作安定の基準とし、安定動作していればステップＳ５２０に移り、温度制御回路５０８にて周辺温度制御精度もしくは周辺温度設定値を緩和させた後、ステップＳ５１８に移り、再度動作判定結果を監視する。もし、ステップＳ５１９で、内部動作周波数よりも高い周波数で動作可能か否かを内部動作安定の基準とし、安定動作していなければステップＳ５２１に移り、温度制御部５０８にて周辺温度制御精度もしくは周辺温度設定値を変化させて半導体集積回路内部トランジスタの動作環境を改善させた後、ステップＳ５１８に戻り、再度動作判定結果を監視する。
【００８３】
以上のような、本発明の実施の形態５に係る適応制御システムは、通常動作回路５０４と動作検証回路５０７を備えた動作検証システムを有する適応制御システムであって、通常動作回路内の内部演算時間を変化させる要素となる因子を制御する因子制御回路として、周波数制御回路５０９と、温度制御回路５０８とを備え、周波数制御回路５０９が内部動作周波数を制御し、温度制御回路５０８が周辺温度を制御することができる構成としたから、上記実施の形態３による適応制御システムと同様の効果を奏するとともに、周辺温度変動可能な範囲内で内部回路の安定動作を考慮しつつ、さらに内部回路をリアルタイムに高速化することができ、通常動作回路の安定動作範囲の拡大を行うことができる。
【００８４】
また、安定動作可能な範囲内で周辺温度制御精度もしくは周辺温度設定値を緩和させることにより、温度制御回路の消費電力を低減できる。
【００８５】
なお、上記実施の形態５では、周波数制御回路５０９，温度制御回路５０８を半導体集積回路外部に設けたものについて説明したが、周波数制御回路および温度制御回路を半導体集積回路内部に備えた構成としてもよく、上記実施の形態と同様の効果を奏する。
【００８６】
また、本発明の実施の形態５による適応制御システムでは、説明の容易化のため1つのＦＦを検証対象として高速動作の検証を行なう場合について説明したが、半導体集積回路設計段階において、容量、抵抗成分を反映させた遅延シュミレーションによりタイミングが厳しいことが予想される２箇所以上のＦＦを検証対象としてもよく、複数のＦＦを検査対象とする場合には、検証対象となる複数のＦＦに対応する動作検証回路５０７をそれぞれ設け、検証対象となるすべてのＦＦに対して高速動作の検証を行なうことにより、かかる適応制御システムを実現可能である。
【００８７】
また、上記実施の形態３、４、および５では、上記実施の形態１による動作検証システムを用いて適応制御システムを構成するものについて説明したが、上記実施の形態２に示した検証対象のＦＦがラッチするデータを遅延させたデータを同じ位相のクロックで動作検証回路のＦＦがラッチするようにした動作検証システムを用いて、或いは、上記実施の形態２のなお書において示した検証対象のＦＦがラッチするデータを遅延させたデータを異なる位相のクロックで動作検証回路のＦＦがラッチするようにした動作検証システムを用いて、適応制御システムを構成してもよく、上記実施の形態３、４、５による適応制御システムと同様の効果を奏する。
【００８８】
【発明の効果】
以上のように、本発明に係る動作検証システムによれば、内部動作のクロックを生成するクロック生成部と、動作検証対象となる第１の記憶素子と、上記第１の記憶素子以外の演算回路である演算回路群とから構成される通常動作回路と、上記第１の記憶素子と同じデータを、該第１の記憶素子と位相の異なるクロックで記憶する第２の記憶素子と、上記第１の記憶素子、及び上記第２の記憶素子の出力結果から、上記通常動作回路が安定動作しているか否かを判定する判定器とから構成される動作検証回路とを備え、上記第２の記憶素子をラッチさせるためのクロックは、上記第１の記憶素子をラッチさせるためのクロックより相対的に位相が進んだものであり、上記クロックのクロック周期をＴ，位相の進みを２πｔ／Ｔとしたときに、上記第１の記憶素子を周波数１／Ｔの低動作周波数で動作させた状態で、上記判定器の出力を監視して、上記第１の記憶素子を周波数１／（Ｔ−ｔ）で高速動作させた場合の検証を行なうことにより、低周波数で高速動作検証を行うことができ、また、実装された実デバイス上でのリアルタイムの高速動作検証を行うことができる効果がある。
【００８９】
また、本発明に係る動作検証システムによれば、内部動作のクロックを生成するクロック生成部と、動作検証対象となる第１の記憶素子と、上記第１の記憶素子以外の演算回路である演算回路群とから構成される通常動作回路と、上記第１の記憶素子がラッチする上記演算回路群からの出力データを遅延させる遅延回路と、上記遅延回路により遅延されたデータを、該第１の記憶素子と同じ位相のクロックで記憶する第２の記憶素子と、上記第１の記憶素子、及び上記第２の記憶素子の出力結果から、上記通常動作回路が安定動作しているか否かを判定する判定器とから構成される動作検証回路とを備え、上記クロックのクロック周期をＴ，上記遅延回路による遅延時間をｔとしたときに、上記第１の記憶素子を周波数１／Ｔの低動作周波数で動作させた状態で、上記判定器の出力を監視して、上記第１の記憶素子を周波数１／（Ｔ−ｔ）で高速動作させた場合の検証を行なうことにより、低周波数で高速動作検証を行うことができ、また、実装された実デバイス上でのリアルタイムの高速動作検証を行うことができる効果がある。
【００９０】
また、本発明に係る動作検証システムによれば、内部動作のクロックを生成するクロック生成部と、動作検証対象となる第１の記憶素子と、上記第１の記憶素子以外の演算回路である演算回路群とから構成される通常動作回路と、上記第１の記憶素子がラッチする上記演算回路群からの出力データを遅延させる遅延回路と、上記遅延回路により遅延されたデータを、該第１の記憶素子と位相の異なるクロックで記憶する第２の記憶素子と、上記第１の記憶素子、及び上記第２の記憶素子の出力結果から、上記通常動作回路が安定動作しているか否かを判定する判定器とから構成される動作検証回路とを備え、上記第２の記憶素子をラッチさせるためのクロックは、上記第１の記憶素子をラッチさせるためのクロックより相対的に位相が進んだものであり、上記クロックのクロック周期をＴ，位相の進みを２πｔ１／Ｔとし、上記遅延回路による遅延時間をｔ２としたときに、上記第１の記憶素子を周波数１／Ｔの低動作周波数で動作させた状態で、上記判定器の出力を監視して、上記第１の記憶素子を周波数１／（Ｔ−ｔ１−ｔ２）で高速動作させた場合の検証を行なうことにより、低周波数で高速動作検証を行うことができ、また、実装された実デバイス上でのリアルタイムの高速動作検証を行うことができる効果がある。
【００９１】
また、本発明に係る適応制御システムによれば、上記本発明に係る動作検証システムを有する適応制御システムであって、上記判定器の出力結果に基づき、上記通常動作回路内の内部演算時間を変化させる要素である因子を制御する因子制御回路を備え、上記判定器の出力を監視して、低動作周波数で上記第１の記憶素子の高速動作の検証を行いつつ、その検証結果を上記因子制御回路にフィードバックし、該因子の制御可能な範囲内で該因子を制御して上記内部演算時間を短くするとともに、上記判定器の出力結果から上記通常動作回路の安定動作可能と判定される範囲を拡大することにより、通常動作回路の安定動作を考慮しつつ、演算時間を短くでき、通常動作回路の安定動作可能な範囲を拡大できる効果がある。
【００９２】
また、本発明に係る適応制御システムによれば、上記本発明に係る動作検証システムを有する適応制御システムであって、上記判定器の出力結果に基づき、上記通常動作回路内の内部演算時間を変化させる要素である因子を制御する因子制御回路を備え、上記因子制御回路は、上記判定器の出力結果から上記通常動作回路が安定動作可能と判定される範囲内で、該適応制御システムの消費電力を低減するよう、制御を行うことにより、通常動作回路の安定動作可能な範囲内で、消費電力を低減することができる効果がある。
【図面の簡単な説明】
【図１】本発明の実施の形態１に係る動作検証システムの構成を示すブロック図である。
【図２】本発明の実施の形態１に係る動作検証システムのタイミング図である。（ａ）は動作余裕のある場合、（ｂ）は動作余裕のない場合である。
【図３】本発明の実施の形態２に係る動作検証システムの構成を示すブロック図である。
【図４】本発明の実施の形態２に係る動作検証システムのタイミング図である。（ａ）は動作余裕のある場合、（ｂ）は動作余裕のない場合である。
【図５】本発明の実施の形態３に係る適応制御システムの構成を示すブロック図である。
【図６】本発明の実施の形態３に係る適応制御システムの動作を説明するためのフローチャートである。（ａ）は内部動作高速化を目的とする適応制御システムの動作を説明するためのフローチャートである。（ｂ）は消費電力低減を目的とする適応制御システムの動作を説明するためのフローチャートである。
【図７】本発明の実施の形態４に係る適応制御システムの構成を示すブロック図である。
【図８】本発明の実施の形態４に係る適応制御システムの内部動作高速化に関する動作を説明するフローチャートである。
【図９】本発明の実施の形態４に係る適応制御システムの内部動作低電圧化に関する動作を説明するフローチャートである。
【図１０】本発明の実施の形態５に係る適応制御システムのブロック図である。
【図１１】本発明の実施の形態５に係る適応制御システムの内部動作高速化に関する動作を説明するフローチャートである。
【図１２】本発明の実施の形態５による適応制御システムの温度制御に関する動作のフローチャートである。
【符号の説明】
１００、２００  動作検証システム
１０１、２０１、３０１、４０１、５０１  クロック生成部
１０２、２０２、３０２、４０２、５０２  第１の記憶素子であり、動作検証対象となるフリップフロップ
１０３、２０３、３０３、４０３、５０３  演算回路群
１０４、２０４、３０４、４０４、５０４  通常動作回路
１０５、２０５、３０５、４０５、５０５  第２の記憶素子
１０６、２０６、３０６、４０６、５０６  判定器
１０７、２０７、３０７、４０７、５０７  動作検証回路
２０８  遅延回路
３０８、４０９、５０９  周波数制御回路
４０８  電源電圧制御回路
５０８  温度制御回路
３００、４００、５００  動作検証システムを用いた適応制御システム
【図１】
0003873019.tif 000002
【図２】
0003873019.tif 000003
【図３】
0003873019.tif 000004
【図４】
0003873019.tif 000005
【図５】
0003873019.tif 000006
【図６】
0003873019.tif 000007
【図７】
0003873019.tif 000008
【図８】
0003873019.tif 000009
【図９】
0003873019.tif 000010
【図１０】
0003873019.tif 000011
【図１１】
0003873019.tif 000012
【図１２】
0003873019.tif 000013