(57)【要約】  回路面積の増加を抑えつつ、遅延特性の測定精度を高めることができる装置を提供する。複数のフリップフロップ（２）への複数の入力パスを選択信号にしたがって選択して出力する選択回路（３）と、選択回路（３）から出力される信号の遅延を測定する遅延測定回路（４）を備える。
2010079823.tif 000002
【特許請求の範囲】
【請求項１】
複数のフリップフロップと、
前記複数のフリップフロップへの複数の入力パスの中から、入力される選択信号にしたがって、入力パスを選択する選択回路と、
前記選択回路で選択された入力パスの信号の遅延を測定する遅延測定回路と、
を備える、ことを特徴とする半導体装置。
【請求項２】
前記フリップフロップへの入力パスは、前記フリップフロップへの入力端子の近傍又は前記フリップフロップの内部で分岐され前記選択回路の対応する入力端子に接続される、ことを特徴とする請求項１記載の半導体装置。
【請求項３】
前記入力パスの信号は、前記選択回路から時分割で前記遅延測定回路に供給される、ことを特徴とする請求項１又は２記載の半導体装置。
【請求項４】
前記複数のフリップフロップのそれぞれに対応させて配置された複数の選択素子を備え、
前記選択素子は、前記選択素子に入力される制御信号に基づき、前記フリップフロップへの複数の入力パスのそれぞれの分岐パスの中から１つのパスを選択し、
選択したパスの信号を前記選択回路の対応する入力端子に供給する、ことを特徴とする請求項１乃至３のいずれか１項に記載の半導体装置。
【請求項５】
前記選択素子は、前記フリップフロップへのデータ入力パスとクロック入力パスの信号を入力し、
前記選択素子は、前記選択素子に入力される制御信号に応じて、前記選択素子の出力と前記選択回路の対応する入力端子間のパスに、前記フリップフロップへのデータ信号とクロック信号を時分割で伝播させる、ことを特徴とする請求項４記載の半導体装置。
【請求項６】
前記選択回路は、前記選択信号に基づき、前記複数のフリップフロップにそれぞれ対応する複数の前記選択素子を択一選択し、選択された１つの選択素子からのデータ信号とクロック信号を前記遅延測定回路に時分割で出力する、ことを特徴とする請求項５記載の半導体装置。
【請求項７】
前記複数の選択素子は、それぞれに入力される制御信号に基づき、前記複数の選択素子のうちの１つが択一的に動作する構成とされている、ことを特徴とする請求項４乃至６のいずれか１項に記載の半導体装置。
【請求項８】
前記選択素子は、前記フリップフロップへの入力パスから前記選択回路の入力端子へのパスの分岐点と前記選択回路の入力端子との間に配設される、ことを特徴とする請求項４乃至７のいずれか１項に記載の半導体装置。
【請求項９】
前記選択素子は、前記フリップフロップの近傍又は内部に配設される、ことを特徴とする請求項８に記載の半導体装置。
【請求項１０】
前記遅延測定回路は、前記フリップフロップへのデータ入力パスとクロック入力パスの信号の遷移時間を、時分割で測定し、測定した遷移時間の差分より、遅延量を算出する、ことを特徴とする請求項５乃至９のいずれか１項に記載の半導体装置。
【請求項１１】
前記遅延測定回路は、クロック信号の有効エッジの遅延測定結果と、さらに前記有効エッジよりも時間的に前のデータ信号のエッジの遅延測定結果の差分より、遅延量を算出する、ことを特徴とする請求項１０記載の半導体装置。
【請求項１２】
前記複数の入力パスのうち同一の入力パスを複数回、前記遅延測定回路で遅延測定することでジッターの測定が行われる、ことを特徴とする請求項１乃至１１のいずれか１項に記載の半導体装置。
【請求項１３】
前記複数のフリップフロップのうち、複数のクリティカルパスを構成するフリップフロップの入力が選択される、ことを特徴とする請求項１乃至１２のいずれか１項に記載の半導体装置。
【請求項１４】
前記遅延測定回路で測定された遅延より、パスの遅延分布情報を作成する、ことを特徴とする請求項１記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願についての記載］
本発明は、日本国特許出願：特願２００９−００４０４６号（２００９年  １月  ９日出願）及びの特願２００９−２８１８８６号（２００９年１２月１１日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、半導体装置に関し、特に、遅延特性の把握に好適な構成と方法に関する。
【背景技術】
【０００２】
近時、半導体回路（ＬＳＩ）の低電力化の手法として、ＬＳＩの電源電圧を下げることが一般に行われている。これは、ＬＳＩに対して、例えば動作可能な最低電圧を電源電圧として印加することで電力の低減を図るものである。この手法を利用するためには、ＬＳＩの動作可能な最低電圧をなんらか手法で知る必要がある。一般的には、コア回路のクリティカルパス相当の遅延を生成する遅延複製回路（レプリカ）を搭載し、電源電圧制御の対象となるコア回路の動作クロック周波数と、レプリカの遅延値を比較して、レプリカの遅延値が動作クロックサイクル以内に収まるように電源電圧を制御することで、ＬＳＩの動作可能な最低電圧を得ている。【０００３】
近時の製造プロセスの微細化に伴い、ＬＳＩの動作周波数のばらつきが大きくなっている。【０００４】
なお、特許文献１には、レプリカ制御回路内のフューズ回路のフューズ状態により決定されるデータを読み出し、該データのデコード結果より、レプリカ回路の遅延量を調整することで、ＬＳＩが動作可能な最低電圧を適応的に供給する構成が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−１７９３２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記特許文献１の全開示内容はその引用をもって本書に繰込み記載する。
以下に本発明による関連技術の分析を与える。【０００７】
特許文献１によれば、コア回路のクリティカルパス遅延特性を観測するために、コア回路内の信号遷移のタイミング（エッジ）を利用している。【０００８】
しかしながら、コア回路内には膨大な数のクリティカルパスが存在する。また近年の微細プロセスでは、製造ばらつきや信号間干渉などの影響により、設計上、クリティカルパス以外のパスがクリティカルパスとなる可能性も高まっている。【０００９】
このため、どのパスのどのエッジを測定すれば、正確なクリティカルパス遅延特性を測定できるかわからない、というのが実情である。【００１０】
この問題に対処するための一つの案として、複数のパスの複数のエッジを測定することでコア回路の特性をより正確に評価する手法について検討を加える。この場合、複数のエッジを測定するには、基本的には、複数のエッジ測定回路を用意する必要がある。その結果、チップ面積が増加する。さらに、複数のエッジ測回路間で特性がばらつき正確なエッジの測定ができないという問題も生じる。【００１１】
したがって、本発明の目的は、回路面積の増加を抑えつつ、遅延特性の測定精度を高める装置を提供することにある。
【課題を解決するための手段】
【００１２】
本願で開示される発明は、上記問題の１つ又は複数を解決するため、概略以下の構成とされる。【００１３】
本発明によれば、複数のフリップフロップと、前記複数のフリップフロップへの入力パスを選択信号にしたがって選択して出力する選択回路と、前記選択回路から出力される信号の遅延を測定する遅延測定回路と、を備えた半導体装置が提供される。【００１４】
本発明の別の側面によれば、複数のフリップフロップと、前記複数のフリップフロップにそれぞれ対応させて配置される複数の選択素子と、を備え、前記選択素子は、対応する前記フリップフロップへのデータ入力パスとクロック入力パスの信号を入力し、入力される制御信号に応じて、前記フリップフロップへのデータ信号とクロック信号を時分割で出力し、前記複数の選択素子の中から選択信号にしたがって１つを選択する選択回路と、
前記選択回路で選択された前記選択素子より時分割で出力されるデータ信号とクロック信号の遅延を測定する遅延測定回路と、を備えた半導体装置が提供される。【００１５】
本発明のさらに別の側面によれば、半導体装置の主機能を担うコア回路と、前記コア回路の内部信号を入力し遅延測定を行う遅延測定回路と、前記コア回路に電源を供給する電源制御回路と、前記遅延測定回路の遅延測定結果を記憶する記憶素子と、前記記憶素子の値を入力し前記電源制御回路へ制御信号を出力する制御素子と、を備え、前記コア回路は、複数のフリップフロップと、前記複数のフリップフロップへの入力パスを選択信号にしたがって選択して出力する選択回路と、を備え、前記遅延測定回路は、前記選択回路の出力信号の遅延測定を行う半導体装置が提供される。【００１６】
本発明によれば、複数のフリップフロップを含む半導体装置による遅延測定方法であって、選択回路が、前記複数のフリップフロップへの入力パスを選択信号にしたがって選択して出力し、遅延測定回路が、前記選択された信号の遅延を測定する、遅延測定方法が提供される。【００１７】
本発明によれば、上記した本発明に係る半導体装置において、測定したパスの遅延より遅延分布情報を作成する遅延測定方法が提供される。さらに、本発明によれば、前記遅延分布情報より特徴量を抽出し、前記特徴量を基に、前記半導体装置の動作を調整する制御方法が提供される。
【発明の効果】
【００１８】
本発明によれば、回路面積の増加を抑えつつ、遅延特性の測定精度を高めることができる。【００１９】
本発明によれば、作成したパスの遅延分布情報より、様々な特徴量を抽出し、半導体装置の動作を制御することで、半導体装置を最適な状態で動作させることを可能としている。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１の実施例の構成を示す図である。
【図２】本発明の第１の実施例の手順を示す流れ図である。
【図３】本発明の第１の実施例の動作例を示すタイミングチャートである。
【図４】本発明の各実施例の遅延測定回路の構成を示す図である。
【図５】本発明の第２の実施例の構成を示す図である。
【図６】図５の構成の一例を示す図である。
【図７】図６の構成の一例を示す図である。
【図８】図７の動作手順を示す流れ図である。
【図９】図７の動作を説明するタイミングチャートである。
【図１０】遅延測定回路の動作を説明する図である。
【図１１】（Ａ）、（Ｂ）は本発明の第３の実施例の構成とタイミング動作を示す図である。
【図１２】本発明の第４の実施例の構成を示す図である。
【図１３】（Ａ）、（Ｂ）は図１２の構成とタイミング動作を示す図である。
【図１４】本発明の第５の実施例の構成を示す図である。
【図１５】本発明の第６の実施例の構成を示す図である。
【図１６】本発明の第６の実施例の動作フローを示す図である。
【図１７】（Ａ）、（Ｂ）はＦＦの構成例を示す図である。
【図１８】本発明の第７の実施例の動作フローを示す図である。
【図１９】本発明の第８の実施例を説明する図である。
【図２０】本発明の第９の実施例を説明する図である。
【図２１】本発明の第１０の実施例を説明する図である。
【発明を実施するための形態】
【００２１】
本発明の実施の形態について以下に説明する。本発明の一実施の形態に係る半導体装置は、コア回路内の複数のパスの複数の信号の中から選択的に１つの信号を出力する選択回路（セレクタ）（３）と、選択された信号の遅延時間を測定する遅延測定回路（４）とを備えている。本発明によれば、複数のパスの複数の信号の遅延時間を行う場合、例えば任意の時間間隔で選択回路（３）によって選択される信号を切り替えることにより、複数のパスの複数の信号の遅延時間の測定が行われる。また、本発明によれば、複数のパスの信号の遅延測定を実現可能としながら、回路面積の増加を抑えることができる。
【００２２】
前述したように、複数のパスに対応して複数の遅延測定回路を設ける構成（比較例）とした場合、回路面積が増大する。
【００２３】
これに対して、本発明によれば、遅延測定対象の複数のパスに対して１つの遅延測定回路（４）と選択回路（３）とを新たに追加するだけでよい。一般に、遅延測定回路は、遅延時間をデジタルコードに変換する一種のＡ／Ｄ（アナログ／デジタル）変換回路で構成されるため、回路面積は大きくなるが、セレクタは、小面積で実現できる。
【００２４】
また、本発明によれば、複数のパスのエッジを測定することにより、コア回路の正確なクリティカルパス遅延特性を測定することができる。これは、本発明においては、複数のパスを選択回路（３）を介してコア回路外部へ出力する際に、フリップフロップ（ＦＦ）へ入力される直前、もしくは、フリップフロップ（ＦＦ）内部からパスを分岐することで、コア回路の正確なエッジを出力できるようにしたためである。
【００２５】
さらに、本発明によれば、前述したように、複数のパスのエッジを測定する場合にも、面積増加を抑えることができるため、複数のクリティカルパスだけでなく、通常のパスの測定を実現し、コア回路の内部状態を詳しく観測することを可能としている。以下、具体的な実施例に即して説明する。
【実施例１】
【００２６】
図１は、本発明の一実施例の半導体装置の構成を示す図である。図１を参照すると、本実施例の半導体装置は、論理回路１と、複数のフリップフロップ（ＦＦ）２を含むコア回路１０と、選択回路（セレクタ）３と、遅延測定回路４と、を備えている。なお、選択回路（セレクタ）３は、コア回路１０内部に備えた構成としてもよい。【００２７】
選択回路３は、複数のＦＦ２への入力信号（図１では、データ信号（Ｄ１、Ｄ２、Ｄ３…）を入力とし、入力される選択信号の値に応じて、複数のＦＦ２への入力信号（Ｄ１、Ｄ２、Ｄ３…）の中から１つを出力する。なお、選択回路３は、ＦＦ２へのデータ信号（Ｄ）だけでなく、ＦＦ２へのクロック信号（ＣＫ）を入力し、選択信号で選択する構成としてもよい。【００２８】
遅延測定回路４は、選択回路３からの出力（ＳＯＵＴ）の遅延時間を測定し、その結果をデジタルコードで出力する。【００２９】
本実施例の半導体装置は、その回路オーバーヘッドが小さい。これは、回路面積が相対的に大きな遅延測定回路４は１つで済み、選択回路３の回路面積は小さいためである。【００３０】
選択回路３への入力信号は、各ＦＦ２への入力される直前、もしくはＦＦ２の内部から分岐されている信号（Ｄ１、Ｄ２、Ｄ３…）が用いられる。これにより、ＦＦ２に到着するデータ信号の遷移のタイミング（エッジ）を選択回路３を介して、コア回路１０外部へ出力（ＳＯＵＴ）し、遅延測定回路４で遅延測定する【００３１】
図２は、本実施例のコア回路１０内の複数パスの遅延特性の測定手順を示す流れ図である。前述したように、本実施例の半導体装置は、選択回路３で複数のパスの中から任意の１つのパスを選択的に出力する。そのため、始めに、選択信号を制御し、選択信号に対応する任意のパスの信号を選択回路３より出力する（ステップＳ１１）。【００３２】
任意のパスのエッジを出力したあと、当該エッジを遅延測定回路４により測定する（ステップＳ１２）。【００３３】
図２の信号選択（Ｓ１１）と遅延測定（Ｓ１２）の各ステップをコア回路１０内の複数パスのそれぞれに対して実行することで、選択回路３へ入力される信号を時分割に切り替えて遅延測定を行うことができる。その結果、コア回路１０内部の複数のＦＦ２への入力パスの詳細な遅延特性を測定することが可能である。【００３４】
図３は、本実施例のタイミング動作を説明するタイミング図である。図３に示す例では、選択信号によって、選択回路３がＤ２を選択してＳＯＵＴに出力し遅延測定回路４でＤ２の遅延測定を行い、つづいて選択信号の値の変更によって、選択回路３はＤ１を選択してＳＯＵＴに出力し、遅延測定回路４でＤ１の遅延測定を行い、つづいて選択信号によって選択回路３がＤ３を選択してＳＯＵＴに出力し、遅延測定回路４でＤ３の遅延測定を行い、以下同様にして遅延測定回路４で選択回路３で選択されたＤＮの遅延測定を行う。【００３５】
図４は、図１の遅延測定回路４の構成の一例を示す図である。図４を参照すると、遅延測定回路４は、遅延素子１２を複数段カスケード接続した遅延回路と、複数のＦＦ４２と、データ処理回路４３を備えている。【００３６】
複数のＦＦ４２のＤ端子(データ端子)は、直列（カスケード）に接続された遅延素子４１の接続点にそれぞれ接続される。また、特に制限されないが、複数のＦＦ４２のクロック端子（ＣＫ）には、コア回路１０で用いられるクロック信号が共通に入力される。特に制限されないが、データ処理回路４３は、図示されない３つのレジスタと算術演算回路を少なくとも含む。このうち２つのレジスタは、クロック信号のエッジの遅延測定結果と、データ信号のエッジの遅延測定結果をそれぞれ保持し、算術演算回路は、データエッジとクロックエッジの遅延測定結果から遅延差を求め、３つ目のレジスタは、該算術演算回路で演算されたデータとクロックの遅延差を格納する。【００３７】
各ＦＦ４２の出力（Ｑ０、Ｑ１、Ｑ２、Ｑ３、・・・、Ｑｎ）は、データ処理回路４３へ入力される。選択回路３の出力（ＳＯＵＴ）は、遅延素子４１の先頭に入力され、遅延素子４１群中を伝播した後、クロック信号（遅延測定回路４に供給されるクロック）の有効エッジ（例えば立ち上がりエッジ）でＦＦ４２によってラッチされる。このとき、信号ＳＯＵＴが遅延回路をどこまで伝播したかを観測すれば、信号ＳＯＵＴの遅延を測定することができる。選択回路３の出力信号（ＳＯＵＴ）がＬｏｗからＨｉｇｈへ立ち上がる場合、例えばクロックの立ち上がりエッジで共通にサンプルされた（ｎ＋１）個のＦＦ４２の出力Ｑ０〜Ｑｎのうち、Ｑ０〜Ｑｉ（ただし、ｉは０〜ｎの整数）が１（Ｈｉｇｈ）、Ｑｉ〜Ｑｎが０（Ｌｏｗ）のとき、ＦＦ４２の出力値の変化点であるｉ番目の遅延素子まで伝播したことがわかる。この遅延測定を、複数のパスについてパスを切り替えながら、例えば何万コア周期、繰り返すことで、網羅的に、回路内部のエッジを測定する。【００３８】
また、本実施例において、最小のタイミング・マージン値付近の値だけを、レジスタに記憶することで、少ないメモリ量で回路全体の遅延特性を測定することが可能である。【００３９】
さらに、本実施例においては、取得したデータを利用して、クリティカルパスの探索を行うことも可能である。【００４０】
また、本実施例において、同一クロック信号を複数回測定することで、ジッター特性を評価数ことも可能である。【００４１】
さらに、本実施例においては、全てのＦＦに対して、この手法を適用するのではなく、例えば、設計で求めたパス分布より劣化やばらつきを考慮し最大値遅延に成り得るパスやレイアウト上で干渉や故障の生じやすいパスなどに限定して適用することで更なる面積削減を達成することができる。
【実施例２】
【００４２】
次に本発明の第２の実施例について説明する。図５は、本発明の第２の実施例の半導体装置の構成を示す図である。本実施例の半導体装置は、ＦＦ２へのクロック（ＣＫ）端子へ入力されるクロックとデータ（Ｄ）端子で入力されるデータ信号を入力とする制御素子６が対応するＦＦ２に隣接して配置されており、制御素子６の出力信号は、選択回路３の対応する入力端子に入力される。ＦＦ２と制御素子６とは、遅延測定用ＦＦ５を構成する。なお、制御素子６は、ＦＦ２の入力の近傍に配置してもよいし、ＦＦ２内に配置してもよい。【００４３】
本実施例において、選択回路３、遅延測定回路４の構成、及び、遅延の測定の手順は、基本的に、図１乃至図３を参照して説明した前記第１の実施例と同様である。【００４４】
図１を参照して説明した前記第１の実施例では、各ＦＦ２から遅延測定回路４までの経路の伝播特性の違いにより、遅延特性の測定精度の低下が生じる可能性がある。図１の前記実施例では、各ＦＦ２へパスは、各ＦＦ２への入力の直前のノードから分岐されて選択回路３を介して遅延測定回路４へ直接入力される。【００４５】
しかしながら、
（Ａ）ＦＦ２は、コア内部の様々な位置に配置されているため、ＦＦ２から選択回路３までの経路の長さの相違に伴う伝播経路の相違、
（Ｂ）選択回路３の入力端子毎の入力から出力までの遅延特性の相違、
等の理由により、ＦＦ２毎に、遅延測定回路４までのエッジ経路の伝播特性が異なる場合がある。このため、ＦＦ２に入力される信号の位相を正確に遅延測定回路４まで伝播できず、正確な遅延時間を得ることができない場合がある。【００４６】
そこで、本実施例では、制御素子６を設けることで、遅延特性の測定精度の低下の問題を解消している。【００４７】
本実施例においては、回路遅延が、厳密には、各ＦＦ２へ入力されるクロック信号のエッジとデータ信号のエッジの差分で定義されるということに基づき、単に、ＦＦ２へ入力される信号を直接分岐して選択回路３へ入力するのではなく、各ＦＦ２毎に、クロック信号（ＣＫ）とデータ信号（Ｄ）の関係を制御素子６で検出し、検出されたクロック信号（ＣＫ）とデータ信号（Ｄ）の関係を、遅延測定回路４で測定を行う。かかる構成により、経路毎の伝播特性の違いの影響を回避することができる。【００４８】
図６は、図５の制御素子６の構成の一例を示す図である。図６を参照すると、本実施例においては、図５の制御素子６として、選択素子７が設けられている。選択素子７は、与えられた制御信号に応じて、ＦＦ２のデータ端子（Ｄ）に入力されるデータ信号、又は、ＦＦ２のクロック端子（ＣＫ）に入力されるクロック信号の一方を、そのまま選択回路３の対応する入力端子に供給する。【００４９】
本実施例においては、複数のＦＦ２にそれぞれ入力されるデータ信号（Ｄ１、Ｄ２、・・・）と、複数のＦＦ２に共通に入力されるクロック信号（ＣＫ１、ＣＫ２・・・は、各ＦＦ２のクロック入力端子近傍でのクロック信号）を時分割に出力し、遅延測定回路４で遅延測定することで、データ信号とクロック信号の関係を算出することができる。【００５０】
図７は、図６の構成の一例を示す図である。図７に示す例では、図６の選択素子７として、制御信号の値（１／０）により、２つの入力の１方を選択出力する２入力１出力のマルチプレクサ回路（ＭＵＸ）が用いられる。図７においてＭＵＸ以外の構成は図６と同一であるため、説明は省略する。【００５１】
図８は、本実施例における遅延測定の手順を示す流れ図である。図９は、本実施例の動作の一例を示すタイミング図である。【００５２】
本実施例では、遅延測定のために始めに選択信号を制御し、測定対象の経路（図７のＳ１，Ｓ２…）を決定し（図８のステップＳ２１）、図７の制御信号を設定し（ステップＳ２２）、図７のＭＵＸ７から、クロック信号（ＣＫ）を伝播するか、データ信号（Ｄ）を伝播するかを決める。【００５３】
図８の例では、ステップＳ２２では、クロック信号（ＣＫ）を選択し、ステップＳ２３でクロック信号（ＣＫ）のエッジの遅延を測定する。【００５４】
ステップＳ２４では、データ信号（Ｄ）を選択し、ステップＳ２５でデータ信号（ＣＫ）のエッジの遅延を測定する。ステップＳ２６で遅延を計算する。【００５５】
ステップＳ２２において、選択信号を切り替えながら、複数のＦＦ２におけるデータとクロック信号のエッジの遅延測定を実行することで、コア回路１０内のパス全体の遅延特性を測定することも可能である。【００５６】
各ＦＦ２の遅延測定にあたり、クロック信号（ＣＫ）の立ち上がり遷移からデータ信号（Ｄ）の遷移までの時間を遅延時間として測定することが多い。しかしながら、データ信号（Ｄ）上には、回路の過渡的な遷移状態により、グリッチが出現する可能性があり、この方法での測定は難しい。【００５７】
そこで、本実施例では、データ信号（Ｄ）の最後の遷移からクロック信号（ＣＫ）の遷移を観測することで、正確に遅延時間を測定している。【００５８】
具体的には、
（１）クロック信号（ＣＫ）の遅延測定（図８のステップＳ２３）、
（２）データ信号（Ｄ）の遅延測定（図８のステップＳ２５）、
（３）クロック信号（ＣＫ）の遅延とデータ信号（Ｄ）の遅延の差分より、遅延特性の算出（図８のステップＳ２６）、
の３つの手順により、遅延測定が行われる。【００５９】
この３つの手順について、図４の遅延測定回路４の動作を図９を参照して説明する。【００６０】
制御信号が０（例えばＬｏｗ）、１（例えばＨｉｇｈ）のとき、選択素子（マルチプレクサ回路）７は、クロック（ＣＫ）、データ（Ｄ）をそれぞれ選択する。【００６１】
選択回路３に入力される選択信号の値が「２」のとき、制御信号の０、１に応じて選択回路３からクロック信号ＣＫ２と、データ信号Ｄ２がそれぞれ時分割で出力され、遅延測定が行われ、クロック信号（ＣＫ２）の遅延とデータ信号（Ｄ２）の遅延の差分より、差分によりＤ２の遅延が求められる。【００６２】
選択回路３に入力される選択信号の値が「１」のとき、制御信号の０、１に応じて選択回路３からＣＫ１、Ｄ１がそれぞれ時分割で出力され、遅延測定が行われ、クロック信号（ＣＫ１）の遅延とデータ信号（Ｄ１）の遅延の差分より、Ｄ２の遅延が求められる。【００６３】
選択回路３に入力される選択信号の値が「３」のとき、制御信号が０、１に応じて選択回路３からＣＫ３、Ｄ３が時分割で出力され、遅延測定が行われ、クロック信号（ＣＫ３）の遅延とデータ信号（Ｄ３）の遅延の差分より、Ｄ３の遅延が求められる。【００６４】
図１０は、図８のステップ２６における、クロック信号（ＣＫ）の遅延とデータ信号（Ｄ）の遅延の差分より、遅延特性の算出する手順を説明する図である。図１０（Ａ）のタイミング図において、ＳＯＵＴは選択回路３の出力、図４の遅延測定回路４におけるＥ１、Ｅ２、・・・Ｅｎは１段目、２段目、・・・ｎ段目の遅延素子４１の出力信号、クロックは、図４の遅延測定回路４のＦＦ４２のクロック端子に入力されるクロック信号である。【００６５】
初めに、選択回路３の出力ＳＯＵＴに出力されるクロック信号（ＣＫ）の遅延を測定し、ＦＦ４２の出力データ信号（Ｑ０、Ｑ１、Ｑ２、・・・Ｑｎ）の遷移点を、ＬＳＢ（Ｌｅａｓｔ  Ｓｉｇｉｎｉｆｉｃａｎｔ  Ｂｉｔ）側から探索し、遷移点を、レジスタ（Ｔｃｋ）（不図示）等に保持する。【００６６】
図１０（Ｂ）の例は、ＳＯＵＴがＦＦのクロック入力パス（ＣＫ）の場合であり、図４の遅延測定回路４のクロックの立ち上がり遷移のタイミングで、ＳＯＵＴ、遅延素子の出力Ｅ１は１、他は０であるため、図４の遅延測定回路４のＦＦ４２の出力Ｑ０＝１、Ｑ１＝１、Ｑ２＝Ｑ３＝．．．＝Ｑｎ＝０となり（下位２ビットが１）、データ処理回路４３の入力Ｑ＝０．．．０００１１とされ、１から０への遷移地点はＬＳＢ側から２、すなわちＴｃｋ＝２となる。  【００６７】
次に、選択回路３の出力ＳＯＵＴに出力されるデータ信号（Ｄ）の遅延を同様に測定し、データのＬＳＢ（Ｌｅａｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）側から遷移点をレジスタ（Ｔｄ）などに保持する。図１０（Ｃ）の例は、ＳＯＵＴがＦＦのデータ入力パス（Ｄ）の場合であり、図４の遅延測定回路４のＦＦ４２の出力Ｑ０＝Ｑ１＝Ｑ２＝Ｑ３＝Ｑ４＝１、Ｑ５＝．．．＝Ｑｎ＝０となり（下位２ビットが１）、データ処理回路４３の入力Ｑ＝０．．．０１０００１１１１１であり、１から０への遷移地点はＬＳＢ側から５、すなわちＴｄ＝５となる。  【００６８】
データ信号（Ｄ）の遷移点は、クロック信号（ＣＫ）の遷移点よりもＭＳＢ（Ｍｏｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）側にある。これは、ＦＦ２のクロック端子の立ち上がりの前の所定時間(セットアップ時間)にデータ端子の信号は確定（遷移）していなければ、ＦＦ２ではデータを正しくサンプルすることはできないためである。【００６９】
データ信号（Ｄ）の遷移（Ｔｄ）から、クロック信号（ＣＫ）の遷移（Ｔｃｋ）までの時間差はそのパスの遅延マージンとなる。図１０の例の場合、遅延マージン＝Ｔｄ−Ｔｃｋ＝３、すなわち、差分であるマージン値より、遅延時間を算出できる。
【実施例３】
【００７０】
次に本発明の第３の実施例について説明する。図１１（Ａ）は、本発明の第３の実施例の構成を示す図である。図１１（Ｂ）は、図１１（Ａ）の動作を説明するタイミング図である。図１１（Ｂ）には、図１１（Ａ）のＳｅｌ＿ＣＫ１、Ｓｅｌ＿Ｄ１、Ｓ１、Ｓｅｌ＿ＣＫ２、Ｓｅｌ＿Ｄ２、Ｓ２のタイミング波形が示されている。【００７１】
本実施例においては、図６の選択素子７を３つのＮＡＮＤ回路で構成し、選択回路３はＯＲ回路で構成される。ＦＦ２と３つのＮＡＮＤ回路とは、遅延測定用ＦＦ５を構成する。【００７２】
選択素子は、制御信号として、クロック選択信号Ｓｅｌ＿ＣＫ、データ選択信号Ｓｅｌ＿Ｄを有する。【００７３】
クロック選択信号（Ｓｅｌ＿ＣＫ）とクロック信号（ＣＫ）は第１のＮＡＮＤ回路へ入力され、データ選択信号（Ｓｅｌ＿Ｄ）とデータ信号（Ｄ）は第２のＮＡＮＤ回路へ入力されている。第１、第２のＮＡＮＤ回路の出力は次段の第３のＮＡＮＤ回路へ入力される。クロック選択信号（Ｓｅｌ＿ＣＫ）が１（Ｈｉｇｈ）のとき、データ選択信号（Ｓｅｌ＿Ｄ）は０（Ｌｏｗ）とされ、クロック信号（ＣＫ）を入力する第１のＮＡＮＤ回路は、クロック信号（ＣＫ）の反転信号を出力し、第２のＮＡＮＤ回路の出力は１（Ｈｉｇｈ）固定とされ、第３のＮＡＮＤ回路は、第１のＮＡＮＤ回路の出力（クロック信号（ＣＫ）の反転信号）の反転信号、したがってクロック信号（ＣＫ）を出力する。【００７４】
データ選択信号（Ｓｅｌ＿Ｄ）が１（Ｈｉｇｈ）のとき、クロック選択信号（Ｓｅｌ＿ＣＫ）は０（Ｌｏｗ）とされ、データ信号（Ｄ）を入力する第２のＮＡＮＤ回路は、データ信号（Ｄ）の反転信号を出力し、第１のＮＡＮＤ回路の出力は１（Ｈｉｇｈ）固定とされ、第３のＮＡＮＤ回路は、第２のＮＡＮＤ回路の出力（データ信号（Ｄ）の反転信号）の反転信号、したがってデータ信号（ＣＫ）を出力する。【００７５】
遅延測定用ＦＦ５の出力（第３のＮＡＮＤ回路の出力）は、選択回路３（ＯＲ回路）に入力される。【００７６】
各遅延測定用ＦＦ５において、第１乃至第３のＮＡＮＤ回路からなる選択素子は、各遅延測定用ＦＦ５に入力される制御信号に応じた信号を出力する。例えば、クロック選択信号Ｓｅｌ＿ＣＫが１（Ｈｉｇｈ）の場合、クロック信号（ＣＫ１）を選択出力し、データ選択信号（Ｓｅｌ＿Ｄ）が１の場合、データ信号（Ｄ１）を出力する。【００７７】
図７の構成では、マルチプレクサ（ＭＵＸ）は、クロック信号（ＣＫ）とデータ信号（Ｄ）のいずれかの信号が必ず出力される。このため、電力が増加することが予想される。【００７８】
図１１（Ａ）の構成では、制御信号（Ｓｅｌ＿ＣＫ／Ｓｅｌ＿Ｄ）を択一的に１になるように制御することで、遅延測定回路４に出力されるパスのみ信号が伝播されるようになり、電力増加を抑えることが可能である。例えば図１１（Ｂ）に示すように、Ｓｅｌ＿ＣＫ１のみ１（Ｈｉｇｈ）、残りのＳｅｌ＿Ｄ１、Ｓｅｌ＿ＣＫ２、Ｓｅｌ＿Ｄ２、・・・は全て０（Ｌｏｗ）とされる場合、経路Ｓ１にＣＫ１が出力され、選択回路３のＯＲ回路を介して遅延測定回路４で遅延測定が行われる。次に、Ｓｅｌ＿Ｄ１のみが１、残りのＳｅｌ＿ＣＫ１、Ｓｅｌ＿ＣＫ２、Ｓｅｌ＿Ｄ２・・が全て０とされ、経路Ｓ１にデータＤ１が出力され、選択回路３のＯＲ回路を介して遅延測定回路４で遅延測定が行われる。さらに、Ｓｅｌ＿ＣＫ２のみが１、残りのＳｅｌ＿Ｄ２、Ｓｅｌ＿ＣＫ１、Ｓｅｌ＿Ｄ１、・・が全て０とされ、経路Ｓ２にＣＫ２が出力され、選択回路３のＯＲ回路を介して遅延測定回路４で遅延測定が行われる。つづいてＳｅｌ＿Ｄ２のみが１、残りのＳｅｌ＿ＣＫ２、Ｓｅｌ＿ＣＫ１、Ｓｅｌ＿Ｄ１、・・が０とされ、経路Ｓ２にデータＤ２が出力され、選択回路３のＯＲ回路を介して遅延測定回路４で遅延測定が行われる。【００７９】
図１１（Ａ）の構成は、選択回路３の回路の一部を、図６の選択素子７に追加した形になる。このように、論理回路は同じ論理を実現するために複数の構成が考えられるため、同様の機能を実現するためのほかの論理回路の構成をとることも可能である。
【実施例４】
【００８０】
次に本発明の第４の実施例を説明する。図１２は、本発明の第４の実施例の構成を示す図である。本実施例は、制御素子として処理回路８を用いている。この処理回路８は、ＦＦ２のデータ端子（Ｄ）に入力されるデータ信号（Ｄ）と、ＦＦ２のクロック端子（ＣＫ）に入力されるクロック信号（ＣＫ）の簡単な論理演算結果を出力（Ｓ）する。すなわち、Ｄ１とＣＫ１を入力する処理回路８の演算結果は１つの信号Ｓ１として出力され、選択回路３の対応する入力端子に入力され、Ｄ２とＣＫ２を入力する処理回路８の演算結果は１つの信号Ｓ２として出力され、選択回路３の対応する入力端子に入力される。【００８１】
前記実施例１では、データ信号（Ｄ）とクロック信号（ＣＫ）を時分割で出力するため、前記実施例に比べて、遅延測定に、約２倍の時間が必要とされる。【００８２】
本実施例においては、処理回路８が直接、クロック信号（ＣＫ）とデータ信号（Ｄ）の関係を算出し、その結果を出力することで、時分割でクロック信号（ＣＫ）とデータ信号（Ｄ）を出力する場合と比較して、高速に遅延測定することができる。【００８３】
図１３（Ａ）は、図１２の構成の一例を示す図である。図１３（Ａ）を参照すると、図１２の処理回路８として、データ信号（Ｄ）とクロック信号（ＣＫ）を入力とするＸＯＲ（排他的論理和）回路を利用している。図１３（Ｂ）のタイミングチャートに示すように、ＸＯＲ回路を利用することで、データ信号（Ｄ）とクロック信号（ＣＫ）の位相差を、パルス幅に変換することが可能である。選択回路３は、ＸＯＲ回路からのパルス幅を直接、遅延測定回路４へ伝播する。遅延測定回路４でパルス幅を測定することで遅延マージンを得ることができる。これにより、遅延特性を算出することが可能である。なお、遅延測定回路４は、図４に示した構成と若干異なり、任意のパルスの幅を測定することになる。これは、図４の遅延測定回路４のデータ処理回路４３の変更により簡単に対応できる。
【実施例５】
【００８４】
次に本発明の第５の実施例を説明する。図１４は、本発明の第５の実施例の構成を示す図である。本実施例は、コア回路１０、および遅延測定回路４に加え、設定記憶素子２１、制御素子２２、電源制御回路２３を備えている。遅延測定回路４は、コア回路１０のクリティカルパスの特性を測定し、設定記憶素子２１に記憶する。コア回路１０は、前記実施例の選択回路３、又は選択回路３と遅延測定用ＦＦ５を備え、選択したパスの信号を遅延測定回路４に出力する。遅延測定回路４は、図４を参照して説明した前記実施例の構成とされる。【００８５】
コア回路１０は、設定記憶素子２１に記憶された情報を基に、制御素子２２および電源制御回路２３を介してその電源電圧が可変制御される。【００８６】
本実施例においては、コア回路１０の電源電圧が、コア回路１０の遅延特性に応じて制御され、コア回路１０の低電圧動作の最適化が実現可能とされる。
【実施例６】
【００８７】
次に本発明の第６の実施例を説明する。図１５は、本発明の第６の実施例の構成を示す図である。図１５を参照すると、本実施例の半導体装置は、コア回路１０と、遅延測定回路４と、遅延特性結果を記憶する設定レジスタ３４と、設定レジスタ３４の値に応じ任意の遅延を生成できる遅延可変レプリカ回路３３と、遅延可変レプリカ回路３３の周波数とコア回路１０のクロック周波数を比較する周波数比較回路３２と、遅延可変レプリカ回路３３とコア回路１０の周波数差に応じてコア回路１０および周辺の電源供給する電源制御回路３１と、を備えている。【００８８】
本実施例は、図１４の制御素子２２として、遅延可変レプリカ回路３３と周波数比較器３２とを備えている。図１５において、設定レジスタ３４、電源制御回路３１は、図１４の設定記憶素子２１、電源制御回路２３にそれぞれ対応する。図１５のコア回路１０は、図７を参照して説明した実施例の構成とされる。【００８９】
本実施例では、遅延可変レプリカ回路３３は、コア回路１０と同じ遅延特性で動作するように、遅延測定回路４により、遅延の補正が行われる。これにより、本実施例においては、コア回路１０に最適な電源電圧制御を行うことができる。【００９０】
図１６は、本実施例の動作を説明するための流れ図である。【００９１】
本実施例においては、初期設定として（ステップＳ３１）、出荷前のテスト時に、遅延測定回路４を用いてコア回路１０のクリティカルパス特性を測定し、その特性値を設定レジスタ３４に記憶する。【００９２】
その後、製品出荷し、コア回路１０が通常動作する（ステップＳ３２：コア回路実動作開始）。この場合、例えば該通常動作に影響がない状態で、遅延測定回路４を利用し、例えばコア回路１０内のパス（クリティカルパスやその他のパス等）を１パスずつ選択的に遅延を測定する。図１６のＬＯＯＰ開始とＬＯＯＰ終了の間の信号選択と遅延測定（ステップＳ３４、Ｓ３５）の処理を繰り返す。何万クロックもの間、さまざまなパスの遅延特性を繰り返し測定し、測定した遅延特性を利用して設定レジスタ３４の値を更新する（ステップＳ３７）。具体的には、測定されたコア回路１０の遅延特性の中に、クロックとの遅延余裕が少ないものがあった場合は、遅延可変レプリカ回路３３の遅延が長くなるように設定レジスタ３４の値を修正する。設定レジスタ３４の値の修正は、遅延測定回路４のデータ処理回路４３（図４参照）が行う。【００９３】
これにより、初期設定時の検査漏れ、コア回路１０の遅延劣化、コア回路１０の部分的な温度上昇などによる遅延増加を検出することができ、リアルタイムに、遅延可変レプリカ回路３３にコア回路１０の動作特性を反映することで、コア回路１０の電源最適化を実現するだけでなく、コア回路１０の誤動作を防ぐことができる。この動作を、製品出荷後に続けることで、例えば出荷時には低電力機構として動作させ、長期間動作し、回路の劣化が進むと安全機構として動作させることができる。【００９４】
なお、テスト時にクリティカルパスを測らず、シミュレーションの結果を直接設定レジスタ３４に設定することも可能である。【００９５】
また、本実施例においては、コア回路１０の遅延測定回路４として前記実施例の１つを用いたが、これ以外の実施例の遅延測定を利用してもよい。【００９６】
また、遅延測定として、図１７に示すようなＦＦを利用することも可能である。図１７（Ａ）のフリップフロップ（ＦＦ１）は「Ｒａｉｚｏｒ−ＦＦ」と呼ばれ、同一データ信号（Ｄ）を通常のクロック（ＣＬＫ）と遅延回路で遅延させたクロック信号を用い別々にラッチすることで、誤動作を検地することができる。【００９７】
図１７（Ｂ）のフリップフロップ（ＦＦ２）は「劣化検地ＦＦ」と呼ばれ、データ信号（Ｄ）と遅延をつけたデータ信号を同一クロック（ＣＬＫ）で別々にラッチすることで、コア回路の遅延劣化を検出することが可能である。これらの、データ信号もしくはクロック信号の固定遅延の領域でしか故障や劣化を検出することができないが、これらのＦＦを利用することで上記のフローを実施することもできる。【００９８】
本発明は半導体装置の低電力化に好適とされる。
【実施例７】
【００９９】
次に本発明の第７の実施例を説明する。図１８は、本発明の第７の実施例を説明するための図である。本実施例は、上記各実施例に示した構成の半導体装置（ＬＳＩ）において、パス遅延測定を複数サイクルに渡って実行した結果に基づき、パス遅延分布を作成する。【０１００】
パス遅延分布は、通常、半導体装置の１サイクルにおける活性化パス数とその遅延量を示すものである。本発明を利用して取得できる遅延情報は、１サイクルにおいて、１パスである。すなわち、例えば図１に示すように、複数のＦＦへの複数の入力パスのうち選択回路３で選択された１つパスの遅延を１つの遅延測定回路４が測定する。このため、本実施例では、複数サイクルでのパス遅延分布を作成する。なお、半導体装置が、遅延測定回路４（図１参照）をＮ個備えている場合には、１サイクルで、Ｎパスを、並列に測定することできる。【０１０１】
本実施例においては、半導体装置は、作成したパスの遅延分布情報より、様々な特徴量を抽出する。そして、抽出した特徴量を基に、半導体装置（ＬＳＩ）の動作を制御する。この結果、半導体装置（ＬＳＩ）を最適な状態で動作させることを可能としている。【０１０２】
図１８を参照して、本実施例の具体的な流れを説明する。遅延分布情報の作成の基データとなるパス遅延測定では、半導体装置の任意のパスの終端となるＦＦ（図１の２）を選択する信号選択フェーズ（Ｓ４１）を繰り返しながら、選択されたＦＦへの入力パスの遅延を測定する遅延測定フェーズ（Ｓ４２）を実行する。なお、Ｓ４１〜Ｓ４２の処理は、図８のＳ２１〜Ｓ２６と同等の処理を示している。【０１０３】
パスの選択と遅延測定で取得したパス遅延情報を、命令セット（半導体装置のＣＰＵの命令セット）毎や、固定サイクル毎、等の所定の条件を設け、遅延分布情報を作成する（Ｓ４３）。【０１０４】
次に、作成した遅延分布情報を用いて、統計解析やクリティカルパス遅延探索等を実行し、統計情報の特徴量を抽出する（Ｓ４４）。【０１０５】
抽出した特徴量を半導体装置（ＬＳＩ）の動作に反映させる制御を行うことで、半導体装置（ＬＳＩ）を最適な状態で動作させる（Ｓ４５）。本実施例において、遅延分布情報の取得、特徴量の抽出、動作の制御は、半導体装置（ＬＳＩ）内で行われるが、本発明はかかる構成に制限されるものではない。例えば半導体装置（ＬＳＩ）が、内部の遅延測定回路４（図１等参照）で取得したパス遅延情報を他の装置（他の半導体装置、コントローラ、あるいは、テスタ等）に送信し、他の装置で遅延分布情報の取得、特徴量の抽出を行い、当該半導体装置（ＬＳＩ）の動作を制御するようにしてもよいことは勿論である。当該半導体装置（ＬＳＩ）の動作パラメータの設定等は、半導体装置（ＬＳＩ）内の不揮発性記憶素子（ヒューズ、配線の断等）に書き込みか、あるいは書き換え可能な不揮発性記憶素子に設定するようにしてもよい。【０１０６】
これらの一連の動作は、半導体装置（ＬＳＩ）の製造後の出荷テストの時だけでなく、半導体装置（ＬＳＩ）出荷後の実製品に組み込まれた状態で半導体装置（ＬＳＩ）の実動作を邪魔することなく行うことが出来る。このため、半導体装置（ＬＳＩ）の長寿命動作、低電力動作、高信頼性動作など様々な効果を得ることができる。
【実施例８】
【０１０７】
次に本発明の第８の実施例を説明する。図１９は、本発明の第８の実施例を説明する図である。図１９には、遅延分布情報から抽出される特徴量の例と半導体装置（ＬＳＩ）の動作の例が示されている。なお、図１９のステップＳ４１、Ｓ４２、Ｓ４３は、図１８の各ステップと同一である。【０１０８】
本実施例では、ステップＳ４３で作成した遅延分布情報から、
・劣化の程度、
・測定したパス数より抽出できる活性化率、
・活性化率より抽出される電流消費量、
・最長パスより抽出される最高動作速度、
・統計解析より抽出される分布の平均や分散、
等の少なくとも１つを特徴量として抽出する。【０１０９】
そして、抽出した特徴量を、ＬＳＩ動作時における、
・電源電圧、
・動作温度、
・動作周波数、
・命令スケジューリング
等の少なくとも１つに反映させることで、ＬＳＩの最適動作を実現することが出来る。【０１１０】
なお、抽出する特徴量としては、例えば劣化量１つであってもよいし複数であっても良い。また、図１９には、劣化、活性化率、電流消費、最高動作速度、分布の平均、分布の分散の各特徴量が、電源電圧の制御（動作温度、動作周波数、命令スケジューリング）に用いられる例が示されているが、電源電圧の制御には、いずれか１つの特徴量を用いて制御してもよいことは勿論である。
【実施例９】
【０１１１】
次に本発明の第９の実施例を説明する。図２０は、本発明の第９の実施例を説明する図であり、図１９を参照して説明した特徴量として、電流消費を抽出する場合の例が示されている。すなわち、本実施例では、図１９のステップＳ４３で取得した遅延分布情報より、電流消費の傾向を抽出する。【０１１２】
具体的には、例えば半導体装置（ＬＳＩ）製品出荷後の環境（例えば実機搭載環境下）で、半導体装置（ＬＳＩ）内のＣＰＵで順次実行される複数の連続した命令列（図２０（Ａ）の命令列Ｂ、Ｅ、Ａ・・・）にそれぞれ対応して、選択回路３（例えば図１参照）と遅延測定回路４（例えば図１参照）で連続して取得したパス遅延情報より、それぞれ遅延分布情報を作成する（図２０（Ｂ）参照）。【０１１３】
なお、遅延測定回路（例えば図１の４）が１つの場合、１サイクルで１パスの遅延情報が取得されるため、本実施例では、複数サイクルでのパス遅延分布（遅延とパス数との対応）を作成する。図２０（Ｂ）の遅延分布において、横軸は遅延（時間）、縦軸はパス数であり、ある遅延のパスが何本あるかがわかる（縦軸は遅延情報の取得回数でもよい）。遅延の最小から最大までの範囲のパス数の合計が総パス数となる。なお、半導体装置（ＬＳＩ）内のＣＰＵで実行される命令は、製品出荷時のテストでは、テスタ側から与えてもよい（命令をランダムに与えてもよい）。製品出荷後の環境下では、不図示のメモリに格納されたプログラムに従い半導体装置（ＬＳＩ）内のＣＰＵで実行される命令となる。【０１１４】
半導体装置（ＬＳＩ）内のＣＰＵで順次実行される命令に対応して取得した複数のパスの遅延分布情報より、それぞれの遅延分布に対応する活性化パスの総数を抽出する（図２０（Ｃ）参照）。図２０（Ｃ）に示すように、活性化パスの総数の時間の推移が取得され、電流値の時間推移（傾向）が抽出される。【０１１５】
遅延測定（図１９のステップＳ４２）では、選択されたパスが活性化した場合は、遅延測定回路（例えば図１の４）により、システムクロックサイクルよりも小さな遅延値が取得され（図１０参照）、パスが活性化しない場合（信号が活性化レベルに遷移しない場合）には、システムクロックサイクルよりも大きな遅延値が取得できるため、容易に活性化パスを判断することができる。時間の異なる複数の遅延分布情報より、この活性化パスの本数を抽出する。この結果、ＬＳＩの電流消費を知ることが出来る。これは、一般的に回路の活性化率と消費電流との間には相関があることを利用している（図２０（Ｃ）の電流値と活性化パス数は時間と同相で時間変化している）。【０１１６】
抽出した電流消費量に基づき、例えば半導体装置（ＬＳＩ）で実行される命令をスケジュール制御して消費電流（電力）を削減する等、半導体装置（ＬＳＩ）の動作に反映させることができる。【０１１７】
なお、活性化パスの総数を抽出するにあたり、活性化したパスの遅延量を重み付けした値を抽出することにより、より正確な電流消費量を見積もることも可能である。例えば負荷容量の大きなパスの遅延は一般に大きくなり、この負荷を例えば電源振幅で充放電するための電流消費も増大する。この場合、例えば遅延が大（負荷容量が大）の１本のパスに対して該遅延量に対応した重み係数ｗ（ｗ＞１）を乗じ１本の当該パスをｗ本とすることで電流消費量に応じた活性化パス総数を抽出するようにしてもよい。
【実施例１０】
【０１１８】
次に本発明の第１０の実施例を説明する。図２１は、本発明の第１０の実施例を説明する図である。本実施例においては、図１９のステップＳ４３で取得した遅延分布情報から抽出される特徴量として、劣化の傾向を抽出する。具体的には、半導体装置（ＬＳＩ）出荷後の環境（実機搭載環境）で、半導体装置（ＬＳＩ）内のＣＰＵでランダム（あるいは順次）実行される命令に関して、予め定められたある命令（例えば図２１（Ａ）の命令列Ａ）に着目し、当該命令におけるパス遅延情報に基づき、遅延分布情報を作成する。なお、遅延測定回路（例えば図１の４）が１つの場合、１サイクルで１パスの遅延情報が取得されるため、本実施例では、同一命令に対して、複数サイクルでのパス遅延分布を作成する。【０１１９】
次に、取得したパスの遅延分布（同一命令の実行による同一オペレーション時の遅延分布）をそれぞれ統計処理する（図２１（Ｂ）参照）。図２１（Ｂ）には、パスの遅延分布の一例（横軸：遅延、縦軸：パス数）が示されている。【０１２０】
この遅延分布から、統計情報として、例えば、中央値（ｍｅｄｉａｎ）、平均値（ｍｅａｎ）や、最大値（ｍａｘｉｍｕｍ）、分散（ｖａｒｉａｎｃｅ）、標準偏差（ｓｔａｎｄａｒｄ  ｄｅｖｉａｔｉｏｎ）等を求める。このとき、取得したパス遅延分布は同じ命令実行時での遅延情報分布であることから、理論的には、同じ分布が得られるはずである。しかし、実際には、劣化の影響で、わずかに分布の形状が異なることが考えられる。最大遅延はクリティカルパスの遅延に対応する。なお、統計情報の導出は、半導体装置（ＬＳＩ）内のＣＰＵ等で行うようにしてもよい。【０１２１】
本実施例では、このわずかな分布の変化を統計的な解析を用いて抽出する。一般的に、劣化の場合、半導体装置（ＬＳＩ）全体における遅延が増加する。このため、パス全体の遅延の傾向を示す中央値や標準偏差を、取得した時間に応じてプロットする（図２１（Ｃ）の中央値、標準偏差を時間推移）。この結果、劣化の進行の傾向を得ることができる。なお、同一命令の実行による同一オペレーション時のパス遅延分布（図２１（Ｂ））の取得と統計情報抽出の一連の処理を、所定の時間間隔（例えば時間、日、週、月単位、あるいは年単位のいずれか）、間をおいて行うことで、図２１（Ｃ）に示すような、遅延特性（中央値、標準偏差、クリティカルパス遅延）の経時変化（経年劣化）の様子（傾向）がモニタされる。この劣化のモニタは、製品出荷後の実機搭載環境下等において、半導体装置（ＬＳＩ）の実動作を邪魔することなく行うことが可能とされる。【０１２２】
なお、劣化以外の特徴量についても、同様にして、半導体装置（ＬＳＩ）を通常動作さえながら、経時（経年）変化をモニタすることができる。モニタされた半導体装置（ＬＳＩ）の経年変化に対応して半導体装置（ＬＳＩ）の動作の対策が適宜講じられる。【０１２３】
なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。【０１２４】
以下、本発明で開示した内容を付記としてまとめて記載する。
【付記１】
【０１２５】
複数のフリップフロップと、
前記複数のフリップフロップへの複数の入力パスの中から選択信号にしたがって入力パスを選択する選択回路と、
前記選択回路で選択された入力パスの信号の遅延を測定する遅延測定回路と、
を備える、ことを特徴とする半導体装置。
【付記２】
【０１２６】
前記フリップフロップへの入力パスが、前記フリップフロップへの入力端子の近傍又は前記フリップフロップの内部で分岐されて、前記選択回路の複数の入力端子のうち前記フリップフロップに対応する入力端子に接続されている、ことを特徴とする付記１記載の半導体装置。
【付記３】
【０１２７】
前記入力パスの信号は、前記選択回路から時分割で前記遅延測定回路に供給される、ことを特徴とする付記１又は２記載の半導体装置。
【付記４】
【０１２８】
前記複数のフリップフロップのそれぞれに対応させて配置された複数の選択素子を備え、
前記選択素子は、前記選択素子に入力される制御信号に基づき、前記フリップフロップへの複数の入力パスのそれぞれの分岐パスの中から１つのパスを選択し、
選択したパスの信号を前記選択回路の対応する入力端子に供給する、ことを特徴とする付記１乃至３のいずれか一に記載の半導体装置。
【付記５】
【０１２９】
前記選択素子は、前記フリップフロップへのデータ入力パスとクロック入力パスの信号を入力し、
前記選択素子は、前記選択素子に入力される制御信号に応じて、前記選択素子の出力と前記選択回路の対応する入力端子間のパスに、前記フリップフロップへのデータ信号とクロック信号を時分割で伝播させる、ことを特徴とする付記４記載の半導体装置。
【付記６】
【０１３０】
前記選択回路は、前記選択信号に基づき、前記複数のフリップフロップに対応する複数の前記選択素子を択一選択し、選択された１つの選択素子からのデータ信号とクロック信号を前記遅延測定回路に時分割で出力する、ことを特徴とする付記５記載の半導体装置。
【付記７】
【０１３１】
前記複数の選択素子は、それぞれに入力される制御信号に基づき、前記複数の選択素子のうちの１つが択一的に動作する構成とされている、ことを特徴とする付記４乃至６のいずれか一に記載の半導体装置。
【付記８】
【０１３２】
前記選択素子は、前記フリップフロップへの入力パスから前記選択回路の入力端子へのパスの分岐点と前記選択回路の入力端子との間に配設される、ことを特徴とする付記４乃至７のいずれか一に記載の半導体装置。
【付記９】
【０１３３】
前記選択素子は、前記フリップフロップの近傍又は内部に配設される、ことを特徴とする付記８に記載の半導体装置。
【付記１０】
【０１３４】
前記遅延測定回路は、前記フリップフロップへのデータ入力パスとクロック入力パスの信号の遷移時間を、時分割で測定し、測定した遷移時間の差分より、遅延量を算出する、ことを特徴とする付記５乃至９のいずれか一に記載の半導体装置。
【付記１１】
【０１３５】
前記遅延測定回路は、クロック信号の有効エッジの遅延測定結果と、さらに前記有効エッジよりも時間的に前のデータ信号のエッジの遅延測定結果の差分より、遅延量を算出する、ことを特徴とする付記１０記載の半導体装置。
【付記１２】
【０１３６】
前記複数の入力パスのうち同一の入力パスを複数回、前記遅延測定回路で遅延測定することでジッターの測定が行われる、ことを特徴とする付記１乃至１１のいずれか一に記載の半導体装置。
【付記１３】
【０１３７】
前記複数のフリップフロップのそれぞれに対応させて配置された複数の処理回路を備え、
前記処理回路は、前記フリップフロップへの複数の入力パスのそれぞれの分岐パスを入力し、複数の前記入力パスの論理演算を行い、論理演算結果を、前記選択回路の前記フリップフロップに対応する入力端子に供給する、ことを特徴とする付記１乃至３のいずれか一に記載の半導体装置。
【付記１４】
【０１３８】
前記処理回路が、クロック入力とデータ入力を入力とする２入力排他的論理和回路を備えている、ことを特徴とする付記１３記載の半導体装置。
【付記１５】
【０１３９】
前記遅延測定回路の出力値を保持するレジスタを有する、ことを特徴とする付記１乃至１２のいずれか一に記載の半導体装置。
【付記１６】
【０１４０】
前記複数のフリップフロップのうち、複数のクリティカルパスを構成するフリップフロップの入力が選択される、ことを特徴とする付記１乃至１５のいずれか一に記載の半導体装置。
【付記１７】
【０１４１】
複数のフリップフロップと、
前記複数のフリップフロップにそれぞれ対応させて配置される複数の選択素子と、
を備え、前記選択素子は、対応する前記フリップフロップへのデータ入力パスとクロック入力パスの信号を入力し、入力される制御信号に応じて、前記フリップフロップへのデータ信号とクロック信号を時分割で出力し、
前記複数の選択素子の中から選択信号にしたがって１つを選択する選択回路と、
前記選択回路で選択された前記選択素子より時分割で出力されるデータ信号とクロック信号の遅延を測定する遅延測定回路と、
を備える、ことを特徴とする半導体装置。
【付記１８】
【０１４２】
前記選択素子は、前記フリップフロップへの入力パスから前記選択回路の入力端子へのパスの分岐点と前記選択回路の入力端子との間に配設される、ことを特徴とする付記１７に記載の半導体装置。
【付記１９】
【０１４３】
前記選択素子は、前記フリップフロップの近傍又は内部に配設される、ことを特徴とする付記１８に記載の半導体装置。
【付記２０】
【０１４４】
前記遅延測定回路は、クロック信号の有効エッジの遅延測定結果と、さらに前記有効エッジよりも時間的に前のデータ信号のエッジの遅延測定結果の差分より、遅延量を算出する、ことを特徴とする付記１７記載の半導体装置。
【付記２１】
【０１４５】
半導体装置の主機能を担うコア回路と、
前記コア回路の内部信号を入力し遅延測定を行う遅延測定回路と、
前記コア回路に電源を供給する電源制御回路と、
前記遅延測定回路の遅延測定結果を記憶する記憶素子と、
前記記憶素子の値を入力し前記電源制御回路へ制御信号を出力する制御素子と、
を備え、
前記コア回路は、複数のフリップフロップを備え、
前記複数のフリップフロップへの複数の入力パスの中から選択信号にしたがって入力パスを選択する選択回路を、前記コア回路内部又は外部に備え、
前記遅延測定回路は、前記選択回路の出力信号の遅延測定を行う、ことを特徴する半導体装置。
【付記２２】
【０１４６】
前記制御素子が、前記記憶素子からの出力を入力とし遅延が可変に設定される遅延可変レプリカ回路と、
前記遅延可変レプリカ回路の周波数と前記コア回路のクロック周波数を比較する周波数比較回路と、
を備えている、ことを特徴とする付記２１記載の半導体装置。
【付記２３】
【０１４７】
前記遅延可変レプリカ回路は、前記遅延測定回路で得られた遅延情報に基づき、前記コア回路のクリティカルパスの遅延特性と同じ遅延特性となるように設定される、ことを特徴とする付記２２記載の半導体装置。
【付記２４】
【０１４８】
前記フリップフロップへの入力パスが、前記フリップフロップへの入力端子の近傍又は前記フリップフロップの内部で分岐されて、前記選択回路の複数の入力端子のうち前記フリップフロップに対応する入力端子に接続されている、ことを特徴とする付記２１乃至２３のいずれか一に記載の半導体装置。
【付記２５】
【０１４９】
前記入力パスの信号は、前記選択回路から時分割で前記遅延測定回路に供給される、ことを特徴とする付記２１乃至２４のいずれか一に記載の半導体装置。
【付記２６】
【０１５０】
前記フリップフロップのそれぞれに対応させて配置された選択素子を備え、
前記選択素子は、前記フリップフロップへの複数の入力パスのそれぞれの分岐パスの中から、前記選択素子に入力される制御信号に基づき、１つの入力パスを選択し、
選択したパスの信号を前記選択回路の対応する入力端子に供給する、ことを特徴とする付記２１乃至２５のいずれか一に記載の半導体装置。
【付記２７】
【０１５１】
前記選択素子は、前記フリップフロップへのデータ入力パスとクロック入力パスの信号を入力し、
前記選択素子は、前記選択素子に入力される制御信号に応じて、前記選択素子の出力と前記選択回路の対応する入力端子間のパスに、前記フリップフロップへのデータ信号とクロック信号を時分割で伝播させる、ことを特徴とする付記２６記載の半導体装置。
【付記２８】
【０１５２】
前記選択回路は、前記選択信号に基づき、前記複数のフリップフロップに対応する複数の前記選択素子を択一選択し、選択された１つの選択素子からのデータ信号とクロック信号を前記遅延測定回路に時分割で出力する、ことを特徴とする付記２７記載の半導体装置。
【付記２９】
【０１５３】
前記複数の選択素子は、それぞれに入力される制御信号に基づき、前記複数の選択素子のうちの１つの選択素子が択一的に動作する構成とされている、ことを特徴とする付記２８記載の半導体装置。
【付記３０】
【０１５４】
前記遅延測定回路は、前記フリップフロップへのデータ入力パスとクロック入力パスの信号の遷移時間を、時分割で測定し、測定した遷移時間の差分より、遅延量を算出する、ことを特徴とする付記２７乃至２９のいずれか一に記載の半導体装置。
【付記３１】
【０１５５】
前記遅延測定回路は、クロック信号の有効エッジの遅延測定結果と、さらに前記有効エッジよりも時間的に前のデータ信号のエッジの遅延測定結果の差分より、遅延量を算出する、ことを特徴とする付記３０記載の半導体装置。
【付記３２】
【０１５６】
前記フリップフロップのそれぞれに対応させて配置された処理回路を備え、
前記処理回路は、前記フリップフロップへの複数の入力パスのそれぞれの分岐パスを入力し、複数の前記入力パスの論理演算を行い、論理演算結果を、前記選択回路の前記フリップフロップに対応する入力端子に供給する、ことを特徴とする付記２１乃至２５のいずれか一に記載の半導体装置。
【付記３３】
【０１５７】
複数のフリップフロップを含む半導体装置による遅延測定方法であって、
選択回路が、前記複数のフリップフロップへの複数の入力パスの中から選択信号にしたがって１つのパスを選択して出力し、
遅延測定回路が、前記選択されたパスの信号の遅延を測定する、
ことを特徴とする遅延測定方法。
【付記３４】
【０１５８】
前記フリップフロップに対応させて配置された選択素子が、前記フリップフロップへのデータ入力パスとクロック入力パスの信号を入力し、
前記選択素子は、前記選択素子に入力される制御信号に応じて、前記選択素子の出力と前記選択回路の入力端子間のパスに、前記フリップフロップへのデータ信号とクロック信号を時分割で伝播させる、ことを特徴とする付記３３記載の遅延測定方法。
【付記３５】
【０１５９】
付記１乃至付記２０のいずれか一に記載の半導体装置において、
測定したパスの遅延より遅延分布情報を作成する、ことを特徴とする遅延測定方法。
【付記３６】
【０１６０】
１サイクルで、半導体装置の全パス数よりも少ない数のパスの遅延を測定し、
複数サイクルに渡り、測定した遅延を用いて遅延分布情報を作成する、ことを特徴とする付記３５記載の遅延測定方法。
【付記３７】
【０１６１】
付記３５記載の遅延測定方法により作成された前記遅延分布情報より特徴量を抽出し、前記特徴量を基に、前記半導体装置の動作を調整する、ことを特徴とする制御方法。
【付記３８】
【０１６２】
付記３５記載の遅延測定方法により作成された前記遅延分布情報より、活性化したパス数を算出し、半導体装置の電流消費もしくは電力消費の変化を得る、ことを特徴とする制御方法。
【付記３９】
【０１６３】
付記３５記載の遅延測定方法により作成された前記遅延分布情報より、平均値、中央値、分散の少なくとも１つを算出し、経年劣化の傾向を得る、ことを特徴とする制御方法。
【付記４０】
【０１６４】
付記３５記載の遅延測定方法により作成された前記遅延分布情報より、分布情報より、最長遅延を算出し、半導体装置の最高動作速度を得る、ことを特徴とする制御方法。
【付記４１】
【０１６５】
複数のフリップフロップと、
前記複数のフリップフロップへの複数の入力パスの中から選択信号にしたがって入力パスを選択する選択回路と、
前記選択回路で選択された入力パスの信号の遅延を測定する遅延測定回路と、
を備え、
前記遅延測定回路で測定された遅延より、パスの遅延分布情報を作成する、ことを特徴とする半導体装置。
【付記４２】
【０１６６】
前記遅延分布情報から特徴量を抽出し、前記特徴量を基に、前記半導体装置の動作を調整する、ことを特徴とする付記４１記載の半導体装置。
【符号の説明】
【０１６７】
１  論理回路
２  ＦＦ
３  選択回路（セレクタ）
４  遅延測定回路
５  遅延測定用ＦＦ
６  制御素子
７  選択素子（マルチプレクサ）
８  処理回路
１０  コア回路
１１  データ処理回路
１２  遅延素子
２１  設定記憶素子
２２  制御素子
２３、３１  電源制御回路
３２  周波数比較回路
３３  遅延可変レプリカ回路
３４  設定レジスタ
４１  遅延素子
４２  フリップフロップ
４３  データ処理回路
【図１】
2010079823.tif 000003
【図２】
2010079823.tif 000004
【図３】
2010079823.tif 000005
【図４】
2010079823.tif 000006
【図５】
2010079823.tif 000007
【図６】
2010079823.tif 000008
【図７】
2010079823.tif 000009
【図８】
2010079823.tif 000010
【図９】
2010079823.tif 000011
【図１０】
2010079823.tif 000012
【図１１】
2010079823.tif 000013
【図１２】
2010079823.tif 000014
【図１３】
2010079823.tif 000015
【図１４】
2010079823.tif 000016
【図１５】
2010079823.tif 000017
【図１６】
2010079823.tif 000018
【図１７】
2010079823.tif 000019
【図１８】
2010079823.tif 000020
【図１９】
2010079823.tif 000021
【図２０】
2010079823.tif 000022
【図２１】
2010079823.tif 000023
【国際調査報告】
2010079823.tif 000024
2010079823.tif 000025