(57)【要約】【課題】局所的な特性変動の問題に対しても有効に対応でき、かつ高速化と低消費電力化を両立させることが可能な半導体装置を提供すること。【解決手段】半導体装置１００は、内部に満遍なく配置され、配置された場所の局所的な特性変動を遅延情報として検出する複数のセンサ回路１０１ａ〜１０１ｇと、複数のセンサ回路１０１ａ〜１０１ｇにより検出された遅延情報をとりまとめて外部に送出する出力インターフェース回路１０２とを備え、その外側に、検出された遅延情報を統計的に処理し、プロセスばらつき等の状態を判断して制御コードを生成する演算部１１０と、不揮発性メモリ１０３に記録された制御コードから出力すべき電圧を決定する出力電圧制御部１２０と、半導体装置１００に電源電圧１３１ａと接地電位１３１ｂを供給する電源電圧発生部１３０とを備える。【選択図】図１
2008141013.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのＭＯＳトランジスタを有し、電源電圧の供給を受けて動作する主回路と、
前記主回路内に複数配置され、配置された場所の局所的な特性変動を遅延情報として検出する複数のセンサ回路と、
前記複数のセンサ回路の検出結果をとりまとめて出力する出力インターフェース回路と、
前記出力インターフェース回路から出力された前記複数のセンサ回路の検出結果を統計的に処理する演算部と、
前記演算部の演算結果に基づいて、前記主回路に供給する電源電圧を制御する電源電圧制御部と
を備えることを特徴とする半導体装置。
【請求項２】
前記複数のセンサ回路は、前記主回路内に大量かつ満遍なく配置されることを特徴とする請求項１記載の半導体装置。
【請求項３】
前記複数のセンサ回路は、ＣＰＵ、ＤＳＰを含むプロセッサ、又はバスのうち少なくともこれらの近傍に満遍なく配置されることを特徴とする請求項１記載の半導体装置。
【請求項４】
前記複数のセンサ回路は、温度上昇及び大電流が見込まれる回路部分に満遍なく配置されることを特徴とする請求項１記載の半導体装置。
【請求項５】
前記複数のセンサ回路は、エリアマトリクス分割及びランダム配置により満遍なく配置されることを特徴とする請求項１記載の半導体装置。
【請求項６】
前記センサ回路は、
能力の異なる複数のバッファ回路から構成される複数のバッファチェーン回路と、
前記複数のバッファチェーン回路の共通の入力端子にデータ出力端子が接続された第１のフリップフロップ回路と、
前記第１のフリップフロップ回路のデータ入力端子に出力端子が接続された、テスト信号を発生するテスト信号発生回路と、
前複数のバッファチェーン回路の出力毎に、データ入力端子が接続された複数のフリップフロップ回路と、
前記複数のフリップフロップ回路の出力端子が接続され、前記複数のバッファチェーン回路の出力間の遅延時間差を算出するデコーダ回路とを備えることを特徴とする請求項１記載の半導体装置。
【請求項７】
前記バッファ回路は、
入力端子がゲートに接続された第１のＰＭＯＳトランジスタと、
第１のＤＣバイアス電圧がゲートに接続され、ドレイン端子が前記第１のＰＭＯＳトランジスタのドレイン端子と接続された第１のＮＭＯＳトランジスタと、
前記第１のＰＭＯＳトランジスタのドレイン端子及び第１のＮＭＯＳトランジスタのドレイン端子が入力端子に接続された第１のインバータ回路と、
前記第１のインバータ回路の出力端子がゲートに接続された第２のＮＭＯＳトランジスタと、
第２のＤＣバイアス電圧がゲートに接続され、ドレイン端子が前記第２のＮＭＯＳトランジスタのドレイン端子と接続された第２のＰＭＯＳトランジスタと、
前記第２のＮＭＯＳトランジスタのドレイン端子及び第２のＰＭＯＳトランジスタのドレイン端子が入力端子に接続された第２のインバータ回路と、
前記第２のインバータ回路を前記バッファ回路の出力として出力する出力端子とを備えることを特徴とする請求項６記載の半導体装置。
【請求項８】
任意に位相の異なる多相クロックを生成するマルチ位相ＰＬＬ回路を備え、
前記マルチ位相ＰＬＬ回路は、生成した位相の異なる多相クロックを前記第１のフリップフロップ回路及び前記複数のフリップフロップ回路に、クロック信号として供給することを特徴とする請求項６記載の半導体装置。
【請求項９】
前記マルチ位相ＰＬＬ回路は、
位相制御信号に従って前記マルチ位相ＰＬＬ回路の複数の位相の異なるクロックを選択し、前記主回路の各回路ブロックに前記複数の位相の異なるクロックを供給するセレクタと、
前記位相制御信号に従って、前記複数の位相の異なるクロックの選択を制御する位相制御回路とを備えることを特徴とする請求項８記載の半導体装置。
【請求項１０】
前記センサ回路は、
組合せ回路と、
前記組合せ回路の入力端子にデータ出力端子が接続された第２のフリップフロップと、
前記組合せ回路の出力端子にデータ入力端子が接続された第３のフリップフロップと、
前記第２のフリップフロップのクロック入力端子と前記第３のフリップフロップのクロック入力端子に接続されたクロック入力端子と、
前記第２のフリップフロップのデータ入力端子に出力端子が接続され、前記組合せ回路に供給すべきテスト信号を発生するテスト信号発生部とを備えることを特徴とする請求項１記載の半導体装置。
【請求項１１】
前記組合せ回路は、実際に配置される位置にレイアウトされた実回路の一部又は全部と論理が同一であり、駆動能力は同一もしくは相似な関係であることを特徴とする請求項１０記載の半導体装置。
【請求項１２】
前記組合せ回路は、実際に配置される位置にレイアウトされた実回路の一部又は全部と論理が同一であり、各セルの配置方向は該各セルで同一な関係であることを特徴とする請求項１０記載の半導体装置。
【請求項１３】
前記演算部は、前記複数のセンサ回路の出力結果の統計処理により、前記主回路に要求される動作性能に応じた前記主回路全体の回路状態を算出することを特徴とする請求項１記載の半導体装置。
【請求項１４】
前記演算部は、前記複数のセンサ回路の検出結果を統計的に処理して制御コードを生成することを特徴とする請求項１記載の半導体装置。
【請求項１５】
前記演算部は、検出された前記遅延情報の最大値、最小値、又は分布を含む統計処理を行うことを特徴とする請求項１記載の半導体装置。
【請求項１６】
前記電源電圧制御部は、前記主回路全体の回路状態が、前記主回路全体に要求される動作性能を満たす範囲内で消費電力が最小となる電源電圧及び電位を供給することを特徴とする請求項１記載の半導体装置。
【請求項１７】
前記主回路を構成するＰチャネル型ＭＯＳトランジスタ及びＮチャネル型ＭＯＳトランジスタに基板電位を供給する基板バイアス電圧発生部を備え、
前記基板バイアス電圧発生部は、前記主回路全体に要求される動作性能と、前記主回路全体の回路状態に応じて、前記Ｐチャネル型ＭＯＳトランジスタの基板電位と前記Ｎチャネル型ＭＯＳトランジスタの基板電位を個別に制御することを特徴とする請求項１記載の半導体装置。
【請求項１８】
前記演算部の演算結果に基づいて前記主回路にクロック信号を供給するクロック発生部を備え、
前記クロック発生部は、前記主回路全体に要求される動作性能と、前記主回路全体の回路状態に応じて、前記クロック信号を個別制御することを特徴とする請求項１記載の半導体装置。
【請求項１９】
前記演算部の演算結果に基づいて前記主回路に位相制御信号を供給する位相制御部を備え、
前記位相制御部は、前記主回路全体に要求される動作性能と、上記主回路全体の回路の状態に応じて、前記位相制御信号を個別に制御することを特徴とする請求項１記載の半導体装置。
【請求項２０】
前記演算部の演算結果を一時保存するメモリを備え、
前記電源電圧制御部は、前記メモリに保存された前記演算部の演算結果に基づいて、前記主回路に供給する電源電圧を制御することを特徴とする請求項１記載の半導体装置。
【請求項２１】
前記演算部の演算結果を一時保存するメモリと、
前記メモリに保存された前記演算部の演算結果に基づいて、前記主回路を構成するＰチャネル型ＭＯＳトランジスタ及びＮチャネル型ＭＯＳトランジスタに基板電位を供給する基板バイアス電圧発生部とを備え、
前記基板バイアス電圧発生部は、前記主回路全体に要求される動作性能と、前記主回路全体の回路状態に応じて、前記Ｐチャネル型ＭＯＳトランジスタの基板電位と前記Ｎチャネル型ＭＯＳトランジスタの基板電位を個別に制御することを特徴とする請求項１記載の半導体装置。
【請求項２２】
前記演算部の演算結果を一時保存するメモリと、
前記メモリに保存された前記演算部の演算結果に基づいて前記主回路にクロック信号を供給するクロック発生部とを備え、
前記クロック発生部は、前記主回路全体に要求される動作性能と、前記主回路全体の回路状態に応じて、前記クロック信号を個別制御することを特徴とする請求項１記載の半導体装置。
【請求項２３】
前記演算部の演算結果を一時保存するメモリと、
前記メモリに保存された前記演算部の演算結果に基づいて前記主回路に位相制御信号を供給する位相制御部を備え、
前記位相制御部は、前記主回路全体に要求される動作性能と、前記主回路全体の回路の状態に応じて、前記位相制御信号を個別に制御することを特徴とする請求項１記載の半導体装置。
【請求項２４】
前記演算部及び／又は前記電源電圧制御部は、前記主回路に内蔵されることを特徴とする請求項１記載の半導体装置。
【請求項２５】
前記演算部及び／前記電源電圧制御部は、ＤＳＰを含むプロセッサを備える半導体回路又は電子回路により構成されることを特徴とする請求項１記載の半導体装置。
【請求項２６】
前記演算部は、ＬＳＩテスタであることを特徴とする請求項１記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置に関し、特に、高速性と低消費電力性を同時に実現する半導体装置に関する。
【背景技術】
【０００２】
ＣＭＯＳ（Complementary Metal Oxide Semiconductor）回路を用いた半導体装置の低消費電力化を実現させるためには、ＣＭＯＳ回路を構成するＭＯＳトランジスタの微細化、ＭＯＳトランジスタのしきい値電圧の絶対値低下、電源電圧の低減など、いろいろな方法がある。しかし一般的に、ＣＭＯＳ回路を構成するＭＯＳトランジスタの微細化すると、配線抵抗値が上昇して高速化の阻害要因となりやすく、かつ、配線抵抗値のばらつきが大きくなり、同期設計の妨げともなりうる。また、ＭＯＳトランジスタのしきい値電圧を下げると動作速度は速くなるが、リーク電流も増加する。さらに電源電圧を低下させると、動作速度が低下してしまう。
【０００３】
また逆に動作速度を上げるために電源電圧を上昇させると、消費電流が増大し、動作ノイズや発熱によるＭＯＳトランジスタの特性変動等による、回路の誤動作を引き起こしやすくなる。
【０００４】
このように、ＣＭＯＳ回路を用いた半導体装置の性能を向上させる上で、高速化と低消費電力化はトレードオフの関係にあり、重要な課題となっている。
【０００５】
上記の課題を解決する方法としては、半導体装置の動作速度を決定する要因を固有の方法で検出し、その検出結果に基づいて半導体装置に供給される様々な要素を制御する手法が従来から採られてきており、例えば特許文献１に記載の回路方式がある。なお以降、前記回路方式を第１の従来例と呼称する。
【０００６】
第１の従来例では、半導体装置の中で、許容される処理期間と実際に論理回路が処理を行う時間の差であるタイミングマージンが最も小さな回路である「クリティカルパス」と同一または相似形の回路をセンサ回路として、制御対象となる半導体装置の外部に備え、その遅延量をＰＬＬ（Phase Locked Loop）回路からの出力信号を分周し、その分周信号の立ち上がりエッジと立ち下りエッジの時間差で、センサ回路に入力された信号が出力されるまでの遅延時間を計測し、制御回路はその結果をもって、半導体装置とセンサ回路の両方に同一の電源電圧を供給する、といった手段を備えている。
【０００７】
一般に遅延時間は、電源電圧が高いほど小さく、低いほど大きくなる。また半導体装置の消費電力は、電源電圧が高いほど大きく、低いほど小さくなる。
【０００８】
よって第１の従来例では、センサ回路の遅延時間が、所望する規定の時間よりも大きい場合には電源電圧を上昇させ、所望する規定の時間よりも小さな場合には電源電圧を下降させるようなフィードバック動作を行う。こうしたフィードバック動作により、半導体装置とセンサ回路には、所望する規定の時間つまり動作速度に必要十分な電源電圧が供給されることとなり、しかもその供給は連続的なフィードバック動作で与えられるため、周囲温度の変動によるＭＯＳトランジスタの特性変動に対しても有効に作用する。
【０００９】
このように第１の従来例では、周囲温度の変動も含んだ条件で、半導体装置に所望する規定の時間つまり動作速度に必要十分な電源電圧の供給が可能となり、高速化と低消費電力化はトレードオフを解決することができる。
【００１０】
更に、上記の課題を解決する第２の手法としては、例えば特許文献２記載の回路方式が挙げられる。なお以降、前記回路方式を第２の従来例と呼称する。
【００１１】
第２の従来例では、半導体装置の内部に、遅延バッファと位相比較器によるセンサ回路が搭載される。遅延バッファの遅延時間は、電源電圧や温度の増加とともに変動するが、その変動量と基準周波数信号との位相差を位相比較器で検出することによって前記センサ回路、ひいては半導体装置の動作状態が検出される。第２の従来例には、この検出結果を、電源電圧の増減、動作周波数の増減、基板バイアス電圧の増減の３種類の値の制御に利用している。
【００１２】
一般に電源電圧の増加はセンサ回路の遅延時間を減少させるが、電源電圧の２乗に比例して消費電力が増大する。
【００１３】
また動作周波数を増加させると、消費電力はその動作速度に比例して増大し、またセンサ回路の遅延時間と所望する規定の時間との間のマージンを減少させる。
【００１４】
更に、基板バイアス電圧をＭＯＳトランジスタのソース電位よりもドレイン電位に近づけると、センサ回路の遅延時間を減少させることができるが、基板リーク電流が増大し、また基板バイアス電圧をＭＯＳトランジスタのソース電位よりもドレイン電位とは逆側に変化させると、センサ回路の遅延時間は増大するが、基板リーク電流は減少する。
【００１５】
以上の関係から、半導体装置に要求される仕様に合わせ、電源電圧の増減、動作周波数の増減、基板バイアス電圧の増減の３種類の値の制御の間に優先順位を設定し、かつ、その制御を連続的に行うことで、周囲温度の変動も含んだ条件で、半導体装置に所望する規定の時間つまり動作速度に必要十分な電源電圧の供給が可能となり、高速化と低消費電力化はトレードオフを解決することができる。
【特許文献１】特開２００２−１００９６７号公報
【特許文献２】特開２００１−３４５６９３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１６】
しかしながら、このような従来の半導体装置にあっては、以下のような課題があった。
【００１７】
近年の半導体装置の微細加工技術の更なる進展による高密度は、新たな課題をもたらした。特に顕著な問題は、局所的な特性変動の問題である。
【００１８】
例えば、高密度に集積化された半導体装置の電源配線の配線抵抗値は、もはや無視できる値では無くなってきており、ＭＯＳトランジスタに電流が流れるたびに、このＭＯＳトランジスタのソース電位が局所的に変動するという、いわゆるＩＲ−ＤｒｏｐによるＭＯＳトランジスタの特性変動が無視できなくなってきている。また、単位面積当たりの素子数が飛躍的に増大しているため、動作状態に依存して局所に集中的に電流が流れる場合が多数発生し、その電流のジュール熱による局所的な温度上昇、いわゆるローカルヒーティングによるＭＯＳトランジスタの特性変動が顕在化している。
【００１９】
これら以外にも、実際のＭＯＳトランジスタや配線の配置方向や配置位置等による特性変動も無視できない大きさになってきている。
【００２０】
これら局所的な特性変動の問題に対しては、まず第１の従来例では、外部にセンサ回路を有するが故に、有効に対応できない。また第２の従来例であっても、センサ回路が複雑なため、このセンサ回路の追加による消費電力の増大を防ぐためには、このセンサ回路は、１つもしくは少数しか配置できないため、やはり有効に対応できない。
【００２１】
本発明は、かかる点に鑑みてなされたものであり、局所的な特性変動の問題に対しても有効に対応でき、かつＭＯＳトランジスタを用いた半導体装置の性能を向上させる上でトレードオフの関係にある高速化と低消費電力化を両立させることが可能な半導体装置を提供することを目的とする。
【課題を解決するための手段】
【００２２】
本発明の半導体装置は、少なくとも１つのＭＯＳトランジスタを有し、電源電圧の供給を受けて動作する主回路と、前記主回路内に複数配置され、配置された場所の局所的な特性変動を遅延情報として検出する複数のセンサ回路と、前記複数のセンサ回路の検出結果をとりまとめて出力する出力インターフェース回路と、前記出力インターフェース回路から出力された前記複数のセンサ回路の検出結果を統計的に処理する演算部と、前記演算部の演算結果に基づいて、前記主回路に供給する電源電圧を制御する電源電圧制御部とを備える構成を採る。
【発明の効果】
【００２３】
本発明によれば、半導体装置の内部に数十個から数百個と多数配置されたセンサ回路から得られる遅延情報を統計的に処理することで、局所的な特性変動の検出漏れを設計段階で防止し、かつ実際に局所にセンサを配置することで、いわゆるＩＲ−Ｄｒｏｐやローカルヒーティング、配置方向や配置位置等による特性変動を正確に計測することができ、その結果、ＭＯＳトランジスタを用いた半導体装置の性能を向上させる上でトレードオフの関係にある高速化と低消費電力化を両立させることが可能となる。
【００２４】
また、半導体装置に内蔵されるセンサ回路の検出精度や実回路への忠実性を高め、かつ半導体装置内に満遍なく多数配置し、かつそのセンサ出力を統計処理することで、局所的な特性変動も含めた状態検出が可能となる。この状態検出結果を、電源電圧、基板バイアス電圧、クロック周波数、クロック位相に反映させフィードバック制御することで、半導体装置個々での高速動作と低消費電力が両立できるようになる。また、その最適状態を制御コードとして不揮発メモリに記録しておくことで、フィードバックループが無くとも、高速動作と低消費電力を両立させることができる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００２６】
（実施の形態１）
図１は、本発明の実施の形態１に係る半導体装置の構成を示す回路ブロック図である。本実施の形態は、ＭＯＳトランジスタを有し、電源電圧の供給を受けて動作する半導体集積回路に適用した例である。
【００２７】
図１において、半導体装置の機能ブロックは、ＣＭＯＳプロセスやバイポーラプロセス等により同一基板上に配置された半導体装置１００と、検出された遅延情報を統計的に処理し、プロセスばらつき等の状態を判断して制御コードを生成する演算部１１０と、不揮発性メモリ１０３に記録された制御コードから出力すべき電圧を決定する出力電圧制御部１２０と、半導体装置１００に電源電圧１３１ａと接地電位１３１ｂを供給する電源電圧発生部１３０とから構成される。
【００２８】
半導体装置１００は、遅延値を検出するために半導体装置１００の内部に満遍なく配置された複数のセンサ回路１０１ａ〜１０１ｇと、複数のセンサ回路１０１ａ〜１０１ｇにより検出された遅延情報をとりまとめて外部に送出する出力インターフェース回路１０２と、演算部１１０により生成された制御コードを個々の半導体装置１００固有の値として記録する不揮発性メモリ１０３とを備えて構成される。
【００２９】
半導体装置１００は、少なくとも１つのＭＯＳトランジスタを有し、電源電圧の供給を受けて動作する主回路である。
【００３０】
センサ回路１０１ａ〜１０１ｇは、半導体装置１００に複数（例えば、数十個から数百個）内蔵され、個々の位置や動作条件における複数の局所的な遅延情報を検出する。すなわち、センサ回路１０１ａ〜１０１ｇは、主回路内に複数配置され、配置された場所の局所的な特性変動を遅延情報として検出する。センサ回路１０１ａ〜１０１ｇの具体的な構成については、図２により後述する。
【００３１】
出力インターフェース回路１０２は、複数のセンサ回路１０１ａ〜１０１ｇの出力結果をとりまとめて演算部１１０に出力する。
【００３２】
演算部１１０は、出力インターフェース回路１０２から出力された複数のセンサ回路１０１ａ〜１０１ｇの出力結果を演算する。
【００３３】
不揮発性メモリ１０３は、演算部１１０の出力結果を一時保存する。
【００３４】
出力電圧制御部１２０は、不揮発性メモリ１０３に保存された演算部１１０の出力結果に従い、出力電圧を制御する。
【００３５】
電源電圧発生部１３０は、出力電圧制御部１２０の制御に従い、半導体装置１００に供給する電源電圧を供給する。
【００３６】
図２は、センサ回路１０１ａ〜１０１ｇの具体的な構成を示す回路図である。センサ回路１０１ａ〜１０１ｇは、同一構成を採るためセンサ回路１０１ａを代表して示す。
【００３７】
図２において、マルチ位相ＰＬＬ回路２００は、全てのセンサ回路１０１ａ〜１０１ｇに共通に使用されるマルチ位相ＰＬＬ回路である。センサ回路１０１ａは、マルチ位相ＰＬＬ回路２００の、位相の異なった出力を利用する１個のセンサ回路の構造を示している。
【００３８】
センサ回路１０１ａは、第１のフリップフロップ回路２１１のデータ入力端子に出力端子が接続され、テスト信号を発生するテスト信号発生回路２１０と、マルチ位相ＰＬＬ回路２００から供給される複数の位相の異なるクロックφ０，φｍ〜φｍ＋ｎによりデータを保持するフリップフロップ（ＦＦ）回路２１１〜２１７と、能力の異なる複数のバッファ回路２２１ａ，２２２ａでそれぞれ構成される第１のバッファチェーン回路２２１及び第２のバッファチェーン回路２２２と、複数のフリップフロップ回路２１１〜２１７の出力端子が接続され、第１及び第２のバッファチェーン回路２２１，２２２の出力間の遅延時間差を算出するデコーダ回路２３０とを備えて構成される。
【００３９】
テスト信号発生回路２１０は、〔表１〕に示すテスト信号を発生し、パルス信号を出力する。
【００４０】
【表１】
2008141013.tif 000003
〔表１〕はテスト信号発生回路２１０における真理値表である。
【００４１】
フリップフロップ回路２１１は、テスト信号発生回路２１０の出力端子が入力端子に接続され、データ出力端子が第１及び第２のバッファチェーン回路２２１，２２２の共通の入力端子に接続される第１のフリップフロップ回路である。
【００４２】
第１のバッファチェーン回路２２１と第２のバッファチェーン回路２２２は、互いに能力の異なる複数のバッファ回路２２１ａと２２２ａで構成される。バッファ回路２２１ａと２２２ａの能力が異なることは、バッファのシンボルマークの大きさを変えて記載することで示されている。また、図２では、第１のバッファチェーン回路２２１のバッファ回路２２１ａの段数と第２のバッファチェーン回路２２２のバッファ回路２２２ａの段数を同一としているが、段数を変えて構成することも可能である。
【００４３】
要するに、フリップフロップ回路２１１のデータ出力端子に、共通に接続された第１のバッファチェーン回路２２１と第２のバッファチェーン回路２２２が、互いに能力の異なる状態及び／又は段数の異なる状態で並列に接続され、第１及び第２のバッファチェーン回路２２１，２２２の出力間で遅延時間差が生じる構成であればよい。
【００４４】
フリップフロップ回路２１２〜２１７は、第１及び第２のバッファチェーン回路２２１，２２２の複数の出力毎に、データ入力端子が接続される複数のフリップフロップ回路である。
【００４５】
このように、図１に示す複数のセンサ回路１０１ａ〜１０１ｇの構成要素であるセンサ回路１０１ａ（図２）において、第１のフリップフロップ回路２１１及び第１及び第２のバッファチェーン回路２２１，２２２の複数の出力毎に、データ入力端子が接続された複数のフリップフロップ回路２１２〜２１７に供給されるクロック信号が、任意に位相の異なる多相クロックとして、マルチ位相ＰＬＬ回路２００から供給される構成となっている。
【００４６】
図３は、上記マルチ位相ＰＬＬ回路２００の具体的な構成を示す回路図、図４は、図３のマルチ位相ＰＬＬ回路２００の位相出力を示すタイミングチャートである。
【００４７】
図３において、マルチ位相ＰＬＬ回路２００は、基準信号を分周する分周器２５０、マルチ位相信号発生部２６０、位相選択部２７０、選択位相信号生成部２８０、及びバッファ部２９０を備えて構成される。マルチ位相信号発生部２６０は、位相比較器２６１、チャージポンプ回路２６２、ＬＰＦ２６３、電圧制御回路２６４、多相出力リングオシレータ２６５、及び分周器２６６から構成される。位相選択部２７０は、セレクタ２７１〜２７５から構成され、バッファ部２９０は、バッファ回路２９１〜２９４から構成される。
【００４８】
図５は、上記多相出力リングオシレータ２６５の一例を示す回路図である。
【００４９】
図５に示すように、多相出力リングオシレータ２６５は、段数の異なるリングオシレータ２６５Ａ，２６５Ｂ，２６５Ｃからなり、多相出力を実現する。
【００５０】
本実施の形態は、上述したように(1)遅延値を検出するためのセンサ回路１０１ａ〜１０１ｇの構成自体が異なること、(2)センサ回路１０１ａ〜１０１ｇが半導体装置１００内に大量かつ満遍なく配置されていること、(3)大量のセンサ回路１０１ａ〜１０１ｇの検出結果を演算部１１０により統計的に処理して制御コードを生成することに特徴がある。
【００５１】
次に、センサ回路１０１ａ〜１０１ｇが半導体装置１００内に大量かつ満遍なく配置されている例について説明する。
【００５２】
図６乃至図８は、センサ回路１０１ａ〜１０１ｇ配置の満遍なさを具体的に説明する図である。
【００５３】
〔センサ回路の満遍ない配置例１〕
図６は、ＣＰＵ，ＤＳＰ（Digital Signal Processor），バスの近傍３箇所にセンサ回路１０１ａ〜１０１ｃが満遍なく配置されていることを示す図である。
【００５４】
図６において、半導体装置１００は、内部にＣＰＵ１０４、ＤＳＰ１０５、バスインターフェース１０６を備え、ＣＰＵ１０４、ＤＳＰ１０５、及びバスインターフェース１０６の近傍３箇所にセンサ回路１０１ａ〜１０１ｃが配置される。
【００５５】
〔センサ回路の満遍ない配置例２〕
図７は、温度上昇及び大電流部分の５箇所にセンサ回路１０１ａ〜１０１ｅが満遍なく配置されていることを示す図である。
【００５６】
図７において、半導体装置１００は、内部にＣＰＵ１０４、ＤＳＰ１０５、バスインターフェース１０６、高速動作部１０７、及び大電流動作部１０８を備え、ＣＰＵ１０４、ＤＳＰ１０５、バスインターフェース１０６、高速動作部１０７、及び大電流動作部１０８の近傍５箇所にセンサ回路１０１ａ〜１０１ｅが配置される。
【００５７】
〔センサ回路の満遍ない配置例３〕
図８は、エリアマトリクス分割及びランダム配置によりセンサ回路１０１ａ〜１０１ｆが満遍なく配置されていることを示す図である。
【００５８】
図８破線に示すように、半導体装置１００は、所定の区画にエリアマトリクス分割され、エリアマトリクス分割されたエリアに、ランダムにセンサ回路１０１ａ〜１０１ｆが配置される。
【００５９】
以下、上述のように構成された半導体装置の動作について説明する。
【００６０】
マルチ位相ＰＬＬ回路２００からの位相の異なった出力は、温度、電源電圧、プロセスばらつきによらず、一定の位相関係を保った多相クロックを出力する。図４に示すように、マルチ位相ＰＬＬ回路２００から、例えば数十ピコ秒ごとの一定の時間間隔のズレを持った立ち上がりエッジを持つ多相クロックが、フリップフロップ回路２１１〜２１７に順次入力される。
【００６１】
また、各センサ回路１０１ａ〜１０１ｆには、小規模のテスト信号発生回路２１０が内蔵されている。まず、テスト信号は、フリップフロップ回路２１１により、能力の異なる第１のバッファチェーン回路２２１と第２のバッファチェーン回路２２２の両方に、位相φ０のタイミングで同時に入力される。例えばテスト信号を、ＬｏからＨｉに変化する立ち上がりパルス信号とすると、第１のバッファチェーン回路２２１と第２のバッファチェーン回路２２２を各々伝達した立ち上がりパルス信号は、第１のバッファチェーン回路２２１と第２のバッファチェーン回路２２２の能力が異なるが故に、異なったタイミングで第１のバッファチェーン回路２２１と第２のバッファチェーン回路２２２より出力される。
【００６２】
ここで、第１のバッファチェーン回路２２１と第２のバッファチェーン回路２２２の出力には、位相φｍ、φｍ＋１からφｍ＋ｎまでの一定の時間間隔のズレを持った立ち上がりエッジを持つ多相クロックが順次入力されるフリップフロップ回路２１２〜２１７が接続されているため、フリップフロップ回路２１２〜２１７の出力には、第１のバッファチェーン回路２２１と第２のバッファチェーン回路２２２の個々の能力に応じたサーモコードが現れる（〔表１〕参照）。そして、デコーダ回路２３０は、このサーモコード信号を、固有の出力信号、例えば符号無し２ビット信号に変換する。これにより、センサ回路１０１ａは、局所温度、ＩＲ−Ｄｒｏｐ、プロセスばらつきを総合して、第１のバッファチェーン回路２２１と第２のバッファチェーン回路２２２の出力タイミングの変化という形で検出することができる。
【００６３】
このように、図２に示すセンサ回路１０１ａは、配置された場所ごとの局所温度、ＩＲ−Ｄｒｏｐ、プロセスばらつきを検出することができ、従ってセンサ回路１０１ａ〜１０１ｇが満遍なく配置された半導体装置１００において、配置された場所ごとの局所温度、ＩＲ−Ｄｒｏｐ、プロセスばらつきを検出することができる。
【００６４】
この検出結果は出力インターフェース回路１０２を通じて演算部１１０に入力され、演算部１１０は、検出された遅延情報の最大値、最小値、分布などの統計処理を施し、その結果として制御コードを生成する。
【００６５】
生成された制御コードは、一旦不揮発性メモリ１０３に記録される。これは、例えば演算回路の増大を防ぐために演算部１１０をＬＳＩテスタとそのプログラムで構成した場合を想定している。この場合、生成された半導体装置１００固有の制御コードは、即座には出力電圧制御部１２０には入力されないため、一旦不揮発性メモリ１０３に記録しておく必要があるためである。
【００６６】
そして実際に半導体装置１００が動作する場合には、不揮発性メモリ１０３に記録された制御コードは、出力電圧制御部１２０に読み込まれ、出力電圧制御部１２０は電源電圧発生部１３０から、半導体装置１００が動作する上で消費電力が最小となるような電源電圧１３１ａと接地電位１３１ｂを供給する。
【００６７】
次に、統計処理と制御コードについて説明する。
【００６８】
１．統計処理をする意義について説明する。
【００６９】
近年の超微細ＬＳＩ製造プロセスの進化に伴い、前記マクロ的な加工誤差と同等またはそれ以上に、リソグラフィーにおける光学的な素子の製造誤差のようなミクロ的な加工誤差が顕在化してきている。このため現在の超微細加工ＬＳＩでは、チップ内のセルの遅延値等の特性ばらつきが、ＬＳＩ全体において、ランダムで大きなゆらぎを持つようになってしまった。ＬＳＩの消費電力を最小にするためには、このチップ内の全てのセルの遅延値が設計時の規格を満足する必要があるが、ここで全てのセルの遅延値を直接測定することは不可能である。
【００７０】
従来のＬＳＩ製造プロセスのように、マクロ的な加工誤差が支配的である場合には、そのプロセスでの１次傾斜傾向や２次傾斜傾向を事前に把握しておけば、数個のセンサ回路をＬＳＩの中央及び周辺に配置して、少ないセンサ回路の測定結果から比較的簡単にチップ内の全てのセルの遅延値を算出することができた。
【００７１】
しかし、近年の超微細ＬＳＩ製造プロセスにおいては、リソグラフィーにおける光学的な素子の製造誤差のようなミクロ的な加工誤差が支配的であり、前記のような１次傾斜傾向や２次傾斜傾向が現れない。よって全てのセルの遅延値を可能な限り推定するためには、ＬＳＩ１個につき数十個以上のセンサ回路をＬＳＩ全体に配置して、センサ回路の測定結果の平均値及び３σを算出し、平均値＋３σの値によってその限界値を統計的に推測する方法しかとれなくなってしまっている。
【００７２】
以上のことから、統計処理は、ＬＳＩ内部の全てのセルの遅延値を可能な限り推定するために必須の方法であり、そのためには数十個のセンサ回路をＬＳＩ全体に配置する必要がある。
【００７３】
２．制御コードの意義について説明する。
【００７４】
上述したように、ＬＳＩ内部の全てのセルの遅延値を可能な限り推定するためには、数十以上の遅延値による統計処理が必要である。しかし、最も遅延値の遅いセルのタイミングが間に合えば、それ以外のセルのタイミングは間に合うこと、また例えば電源電圧の増加に依存して遅延値は減少する傾向に有ることを考慮すれば、制御するための値は、最も遅延値の遅いセルのための制御情報であれば十分である。
【００７５】
よって、情報量つまりビット数の大きなセンサ回路の測定結果や統計処理の途中結果ではなく、必要最小限の制御情報、つまり制御コードを規定することによって、ＬＳＩ回路の増加を抑えることができる。ここで、制御コードとは、演算部が持つ、最も遅延値の遅いセルの遅延値に１対１で対応する、電源電圧等を制御するコードである。
【００７６】
演算部１１０は、ＬＳＩに内蔵してもよいが、ＬＳＩテスタで実現した方が、統計処理のための回路面積の削減を図ることができ、より好ましい実施の形態と言える。但し、熱変動等の外的要因が連続的に変化する場合には、ＬＳＩに内蔵して間欠的に適宜制御を行うほうが、回路面積は増加するものの、より低消費電力化を図ることができる。
【００７７】
図９は、半導体装置１００の演算部１１０の統計処理を示すフローチャートである。図中、Ｓはフローの各ステップを示す。
【００７８】
まず、ステップＳ１でセンサデータの遅延値を出力インターフェース回路１０２に集計し、ステップＳ２でセンサデータの遅延値を受信する。次いで、ステップＳ３でセンサデータの平均値と３σの値を、統計処理により算出する。
【００７９】
ステップＳ４では、遅延値の平均値＋３σに対応した、制御すべき電圧情報が算出できるか否かを判別し、制御すべき電圧情報が算出できなければ、ステップＳ７でプロセスばらつきが大きい不良品と判断して検査品から除去する。
【００８０】
上記ステップＳ４で制御すべき電圧情報が算出できるときは、ステップＳ５で演算部１１０は遅延値の平均値＋３σの遅延の最大値に対応する、制御すべき電圧情報等を出力する。次いで、ステップＳ６で出力電圧制御部１２０は演算部１１０より出力される制御コードにより制御電圧等を制御して本フローを終了する。
【００８１】
以上詳細に説明したように、本実施の形態の半導体装置１００は、内部に満遍なく配置され、配置された場所の局所的な特性変動を遅延情報として検出する複数のセンサ回路１０１ａ〜１０１ｇと、複数のセンサ回路１０１ａ〜１０１ｇにより検出された遅延情報をとりまとめて外部に送出する出力インターフェース回路１０２と、演算部１１０により生成された制御コードを個々の半導体装置１００固有の値として記録する不揮発性メモリ１０３とを備え、その外側に、検出された遅延情報を統計的に処理し、プロセスばらつき等の状態を判断して制御コードを生成する演算部１１０と、不揮発性メモリ１０３に記録された制御コードから出力すべき電圧を決定する出力電圧制御部１２０と、半導体装置１００に電源電圧１３１ａと接地電位１３１ｂを供給する電源電圧発生部１３０とを備えて構成したので、半導体装置１００の内部に数十個から数百個と満遍なく多数配置されたセンサ回路１０１ａ〜１０１ｇから得られる遅延情報を統計的に処理することで、局所的な特性変動の検出漏れを設計段階で防止することができる。また、かつ実際に局所にセンサ回路１０１ａ〜１０１ｇを配置することで、いわゆるＩＲ−Ｄｒｏｐやローカルヒーティング、配置方向や配置位置等による特性変動を正確に計測することができ、その結果、高速化と低消費電力化を両立させることが可能となる。
【００８２】
また、本実施の形態では、遅延値を検出するためのセンサ回路１０１ａ〜１０１ｇが、半導体装置１００内に大量かつ満遍なく配置され、その大量のセンサ回路１０１ａ〜１０１ｇの検出結果を演算部１１０が統計的に処理することで制御コードを生成し、半導体装置１００が動作する上で消費電力が最小となるような電源電圧１３１ａと接地電位１３１ｂを供給する。この制御コードを用いること及び電源電圧及び電位を制御することにより、配置された場所ごとの局所温度、ＩＲ−Ｄｒｏｐ、プロセスばらつきを踏まえた、高速化と低消費電力化の両立が実現可能となる。したがって、より微細化されたプロセスによって実現された半導体装置であって、プロセスばらつきや周囲温度といった変動だけでなく、ＩＲ−Ｄｒｏｐやローカルヒーティングといった局所的な特性変動も踏まえ、ＭＯＳトランジスタを用いた半導体装置の性能を向上させる上でトレードオフの関係にある高速動作と低消費電力が両立できる半導体装置を実現することができる。
【００８３】
なお、本実施の形態では、演算部１１０、出力電圧制御部１２０、及び電源電圧発生部１３０を、半導体装置１００の外側に配置する例を示したが、これらの一部もしくは全部を半導体装置１００に内蔵しても構わない。また、演算部１１０は、必ずしもＬＳＩテスタなどである必要は無く、同一基板上もしくは同一セット上の半導体装置であっても全く問題ない。
【００８４】
（実施の形態２）
図１０は、本発明の実施の形態２に係る半導体装置の構成を示す回路ブロック図である。本実施の形態は、半導体装置内部に満遍なく配置された複数のセンサ回路の、より好適な構成例である。図１と同一構成部分には同一符号を付して重複箇所の説明を省略する。
【００８５】
図１０において、半導体装置の機能ブロックは、ＣＭＯＳプロセスやバイポーラプロセス等により同一基板上に配置された半導体装置３００と、検出された遅延情報を統計的に処理し、プロセスばらつき等の状態を判断して制御コードを生成する演算部１１０と、不揮発性メモリ１０３に記録された制御コードから出力すべき電圧を決定する出力電圧制御部１２０と、半導体装置３００に電源電圧１３１ａと接地電位１３１ｂを供給する電源電圧発生部１３０と、半導体装置３００にＰＭＯＳトランジスタ用基板バイアス電圧３１１ａとＮＭＯＳトランジスタ用基板バイアス電圧３１１ｂを供給する基板バイアス電圧発生部３１０とを備えて構成される。
【００８６】
半導体装置３００は、遅延値を検出するために半導体装置３００の内部に満遍なく配置された複数のセンサ回路３０１ａ〜３０１ｇと、複数のセンサ回路３０１ａ〜３０１ｇにより検出された遅延情報をとりまとめて外部に送出する出力インターフェース回路１０２と、演算部１１０により生成された制御コードを個々の半導体装置３００固有の値として記録する不揮発性メモリ１０３とを備えて構成される。
【００８７】
半導体装置３００は、少なくとも１つのＭＯＳトランジスタを有し、電源電圧の供給を受けて動作する主回路である。
【００８８】
センサ回路３０１ａ〜３０１ｇは、半導体装置３００に複数（例えば、数十個から数百個）配置され、配置された場所の局所的な特性変動を遅延情報として検出する。
【００８９】
出力インターフェース回路１０２は、複数のセンサ回路３０１ａ〜３０１ｇの出力結果をとりまとめて演算部１１０に出力する。
【００９０】
演算部１１０は、出力インターフェース回路１０２から出力された複数のセンサ回路３０１ａ〜３０１ｇの出力結果を演算する。
【００９１】
出力電圧制御部１２０は、不揮発性メモリ１０３に保存された演算部１１０の出力結果に従い、出力電圧を制御する。
【００９２】
電源電圧発生部１３０は、出力電圧制御部１２０の制御に従い、半導体装置３００に供給する電源電圧を供給する。
【００９３】
基板バイアス電圧発生部３１０は、出力電圧制御部１２０の制御に従い、主回路（半導体装置３００）にＰチャネル型ＭＯＳトランジスタの基板電位とＮチャネル型ＭＯＳトランジスタの基板電位とを供給する。基板バイアス電圧発生部３１０は、主回路全体に要求される動作性能と、主回路全体の回路の状態に応じて、Ｐチャネル型ＭＯＳトランジスタの基板電位とＮチャネル型ＭＯＳトランジスタの基板電位も個々に制御可能である。
【００９４】
図１１は、センサ回路３０１ａ〜３０１ｇの具体的な構成を示す回路図である。センサ回路３０１ａ〜３０１ｇは、同一構成を採るためセンサ回路３０１ａを代表して示す。
【００９５】
図１１において、センサ回路３０１ａは、マルチ位相ＰＬＬ回路２００の、位相の異なった出力を利用する１個のセンサ回路の構造を示している。
【００９６】
センサ回路３０１ａは、第１のフリップフロップ回路２１１のデータ入力端子に出力端子が接続され、テスト信号を発生するテスト信号発生回路２１０と、マルチ位相ＰＬＬ回路２００から供給される複数の位相の異なるクロックφ０，φｍ〜φｍ＋ｎによりデータを保持するフリップフロップ（ＦＦ）回路２１１〜２１７と、能力の異なる複数のバッファ回路３２１ａ，３２２ａでそれぞれ構成される第１のバッファチェーン回路３２１及び第２のバッファチェーン回路３２２と、複数のフリップフロップ回路２１１〜２１７の出力端子が接続され、第１及び第２のバッファチェーン回路３２１，３２２の出力間の遅延時間差を算出するデコーダ回路２３０とを備えて構成される。
【００９７】
テスト信号発生回路２１０は、前記〔表１〕に示すテスト信号を発生し、パルス信号を出力する。
【００９８】
フリップフロップ回路２１１は、テスト信号発生回路２１０の出力端子が入力端子に接続され、データ出力端子が第１及び第２のバッファチェーン回路３２１，３２２の共通の入力端子に接続される第１のフリップフロップ回路である。
【００９９】
第１のバッファチェーン回路３２１と第２のバッファチェーン回路３２２は、互いに能力の異なる複数のバッファ回路３２１ａと３２２ａで構成される。バッファ回路３２１ａと３２２ａの能力が異なることは、バッファのシンボルマークの大きさを変えて記載することで示されている。また、図１１では、第１のバッファチェーン回路３２１のバッファ回路３２１ａの段数と第２のバッファチェーン回路３２２のバッファ回路３２２ａの段数を同一としているが、段数を変えて構成することも可能である。
【０１００】
要するに、フリップフロップ回路２１１のデータ出力端子に、共通に接続された第１のバッファチェーン回路３２１と第２のバッファチェーン回路３２２が、互いに能力の異なる状態及び／又は段数の異なる状態で並列に接続され、第１及び第２のバッファチェーン回路３２１，３２２の出力間で遅延時間差が生じる構成であればよい。
【０１０１】
フリップフロップ回路２１２〜２１７は、第１及び第２のバッファチェーン回路３２１，３２２の複数の出力毎に、データ入力端子が接続される複数のフリップフロップ回路である。
【０１０２】
このように、図１０に示す複数のセンサ回路３０１ａ〜３０１ｇの構成要素であるセンサ回路３０１ａ（図１１）において、第１のフリップフロップ回路２１１及び第１及び第２のバッファチェーン回路３２１，３２２の複数の出力毎に、データ入力端子が接続された複数のフリップフロップ回路２１２〜２１７に供給されるクロック信号が、任意に位相の異なる多相クロックとして、マルチ位相ＰＬＬ回路２００から供給される構成となっている。
【０１０３】
マルチ位相ＰＬＬ回路２００の、位相の異なった出力は、温度、電源電圧、プロセスばらつきによらず、一定の位相関係を保った多相クロックを出力する。図１１の場合では、例えば数十ピコ秒ごとの一定の時間間隔のズレを持った立ち上がりエッジを持つ多相クロックが、フリップフロップ回路２１１〜２１７に順次入力される。
【０１０４】
テスト信号発生回路２１０は、センサ回路３０１ａ〜３０１ｇ毎に内蔵された小規模のテスト信号発生回路であり、まずテスト信号は、フリップフロップ回路２１１により、能力の異なる第１のバッファチェーン回路３２１と第２のバッファチェーン回路３２２の両方に、位相φ０のタイミングで同時に入力される。
【０１０５】
ここで、第１のバッファチェーン回路３２１と第２のバッファチェーン回路３２２を構成するバッファに、図１２により後述するバッファ回路を採用することで、実施の形態１より遅延時間の検出精度の高精度化を図ることができる。
【０１０６】
本実施の形態は、実施の形態１と同様に、(1)遅延値を検出するためのセンサ回路３０１ａ〜３０１ｇの構成自体が異なること、(2)センサ回路３０１ａ〜３０１ｇが半導体装置３００内に大量かつ満遍なく配置されていること、(3)大量のセンサ回路３０１ａ〜３０１ｇの検出結果を演算部１１０により統計的に処理して制御コードを生成することに特徴がある。
【０１０７】
上記(2)のセンサ回路３０１ａ〜３０１ｇが半導体装置３００内に大量かつ満遍なく配置されていることの具体例は、前記図６乃至図８で説明した。
【０１０８】
図１２は、能力の異なるバッファチェーン回路３２１，３２２を構成するバッファ回路３２１ａ，３２２ａの具体的な構成を示す回路図である。バッファ回路３２１ａ，３２２ａは、同一構成を採るためバッファ回路３２１ａを代表して示す。
【０１０９】
図１２において、バッファ回路３２１ａは、入力端子３３１がゲートに接続された第１のＰＭＯＳトランジスタＰＴ１と、第１のＤＣバイアス電圧印加端子３３４を介して第１のＤＣバイアス電圧がゲートに接続され、ドレイン端子が第１のＰＭＯＳトランジスタＰＴ１のドレイン端子と接続された第１のＮＭＯＳトランジスタＮＴ１と、第１のＰＭＯＳトランジスタＰＴ１のドレイン端子及び第１のＮＭＯＳトランジスタＮＴ１のドレイン端子が入力端子に接続された第１のインバータ回路ＩＮＶ１と、上記第１のインバータ回路ＩＮＶ１の出力端子がゲートに接続された第２のＮＭＯＳトランジスタＮＴ２と、第２のＤＣバイアス電圧印加端子３３３を介して第２のＤＣバイアス電圧がゲートに接続され、ドレイン端子が上記第２のＮＭＯＳトランジスタＮＴ２のドレイン端子と接続された第２のＰＭＯＳトランジスタＰＴ２と、第２のＮＭＯＳトランジスタＮＴ２のドレイン端子及び第２のＰＭＯＳトランジスタＰＴ２のドレイン端子が入力端子に接続された第２のインバータ回路ＩＮＶ２と、第２のインバータ回路ＩＮＶ２の出力をバッファ回路３２１ａ出力として出力する出力端子３３２とを備えて構成される。
【０１１０】
第１のＤＣバイアス電圧印加端子３３３は、バッファの立ち上がりスルーレートを制限するためのＰＭＯＳトランジスタ用のＤＣバイアス電圧印加端子であり、第２のＤＣバイアス電圧印加端子３３４は、バッファの立ち下がりスルーレートを制限するためのＮＭＯＳトランジスタ用のＤＣバイアス電圧印加端子である。
【０１１１】
ここで、第１のＰＭＯＳトランジスタＰＴ１及び第１のＮＭＯＳトランジスタＮＴ１とからなるインバータと、第１のインバータ回路ＩＮＶ１との組合わせによって、一段目のバッファ１が構成され、第２のＰＭＯＳトランジスタＰＴ２及び第２のＮＭＯＳトランジスタＮＴ２とからなるインバータと、第２のインバータ回路ＩＮＶ２との組合わせによって、二段目のバッファ２が構成される。したがって、例えば図１１に示すバッファチェーン回路３２１，３２２に適用する場合には、これらバッファチェーン回路３２１，３２２バッファが８段であるため、図１２に示すバッファ回路を４個用いることになる。なお、図１２ではバッファチェーン回路３２１とバッファチェーン回路３２２とのバッファ数が同一である例を示したが、能力の異なる複数のバッファの組み合わせであればよく、段数はそれぞれ任意である。
【０１１２】
以下、上述のように構成された半導体装置の動作について説明する。基本動作については、実施の形態１と同様であるため省略し、本実施の形態の特徴的な動作について説明する。
【０１１３】
本実施の形態では、能力の異なるバッファチェーン回路３２１，３２２の構成要素であるバッファ回路３２１ａ，３２１ｂに、図１２に示すバッファ回路３２１ａを採用することで、実施の形態１より遅延時間の検出精度の高精度化を図るものである。
【０１１４】
図１２に示すバッファ回路３２１ａにおいては、信号の立ち上がり時間と立下り時間が、ＰＭＯＳトランジスタＰＴ２用の第１のＤＣバイアス電圧印加端子３３３とＮＭＯＳトランジスタＮＴ１用の第２のＤＣバイアス電圧印加端子３３４の印加電圧によって、任意に調整できる。つまり、バッファ信号の立ち上がり時間と立下り時間を、マルチ位相ＰＬＬ回路２００の位相分解能に対して十分に長い時間に設定でき、このことから実施の形態２では、実施の形態１よりも遅延時間の検出精度の高精度化が可能になる。
【０１１５】
このようなセンサ回路３０１ａ〜３０１ｇにおいて、例えばテスト信号を、ＬｏからＨｉに変化する立ち上がりパルス信号とすると、第１のバッファチェーン回路３２１と第２のバッファチェーン回路３２２を各々伝達した立ち上がりパルス信号は、第１のバッファチェーン回路３２１と第２のバッファチェーン回路３２２の能力が異なるが故に、異なったタイミングで第１のバッファチェーン回路３２１と第２のバッファチェーン回路３２２より出力される。
【０１１６】
ここで、第１のバッファチェーン回路３２１と第２のバッファチェーン回路３２２の出力には、位相φｍ、φｍ＋１からφｍ＋ｎまでの一定の時間間隔のズレを持った立ち上がりエッジを持つ多相クロックが順次入力されるフリップフロップ回路２１２〜２１７が接続されているため、フリップフロップ回路２１２〜２１７の出力には、第１のバッファチェーン回路３２１と第２のバッファチェーン回路３２２の個々の能力に応じたサーモコードが現れる（前記〔表１〕参照）。そしてこのサーモコード信号を、デコーダ回路２３０で固有の出力信号、例えば符号無し２ビット信号に変換すれば、センサ回路３０１ａ〜３０１ｇは、局所温度、ＩＲ−Ｄｒｏｐ、プロセスばらつきを総合して、第１のバッファチェーン回路３２１と第２のバッファチェーン回路３２２の出力タイミングの変化という形で検出することができる。
【０１１７】
このように、図１１に示すセンサ回路３０１ａ〜３０１ｇは、配置された場所ごとの局所温度、ＩＲ−Ｄｒｏｐ、プロセスばらつきを検出することができる。
【０１１８】
この検出結果は、出力インターフェース回路１０２を通じて演算部１１０に入力され、演算部１１０は、検出された遅延情報の最大値、最小値、分布などの統計処理を施し、その結果として制御コードを生成する。
【０１１９】
生成された制御コードは、一旦不揮発性メモリ１０３に記録される。これは、例えば演算回路の増大を防ぐために演算部１１０をＬＳＩテスタとそのプログラムで構成した場合を想定している。この場合、生成された半導体装置３００固有の制御コードは、即座には出力電圧制御部１２０には入力されないため、一旦不揮発性メモリ１０３に記録しておく必要があるためである。
【０１２０】
そして実際に半導体装置３００が動作する場合には、不揮発性メモリ１０３に記録された制御コードは出力電圧制御部１２０に読み込まれ、出力電圧制御部１２０は、まず半導体装置３００を構成するＰＭＯＳトランジスタの閾値電圧ＶｔｐとＮＭＯＳトランジスタの閾値電圧Ｖｔｎとが最小になるように、基板バイアス電圧発生部３１０から、ＰＭＯＳトランジスタ用基板バイアス電圧３１１ａとＮＭＯＳトランジスタ用基板バイアス電圧３１１ｂを供給する。次いで、電源電圧発生部１３０からは、前記のようにトランジスタの閾値電圧が調整された半導体装置３００が動作する上で消費電力が最小となるような電源電圧１３１ａと接地電位１３１ｂを供給する。
【０１２１】
以上のように、本実施の形態によれば、個別の半導体装置３００は、遅延値を検出するためのセンサ回路３０１ａ〜３０１ｇが、半導体装置内に大量かつ満遍なく配置され、その大量のセンサ回路の検出結果を演算部１１０により統計的に処理することで制御コードを生成し、半導体装置３００が動作する上で消費電力が最小となるような電源電圧１３１ａと接地電位１３１ｂを供給することが可能となり、これによって、配置された場所ごとの局所温度、ＩＲ−Ｄｒｏｐ、プロセスばらつきを踏まえた、高速化と低消費電力化の両立が実現可能となる。
【０１２２】
特に、本実施の形態では、能力の異なるバッファチェーン回路３２１，３２２の構成要素であるバッファ回路３２１ａ，３２１ｂに、図１２に示すバッファ回路３２１ａを採用することで、バッファ信号の立ち上がり時間と立下り時間を、マルチ位相ＰＬＬ回路２００の位相分解能に対して十分に長い時間に設定でき、実施の形態１に比べより一層の遅延時間の検出精度の高精度化を図ることができる。
【０１２３】
なお、本実施の形態では、演算部１１０、出力電圧制御部１２０、電源電圧発生部１３０及び基板バイアス電圧発生部３１０を、半導体装置３００の外側に配置する例を示したが、これらの一部もしくは全部を半導体装置３００に内蔵しても構わない。また演算部１１０は必ずしもＬＳＩテスタなどである必要は無く、同一基板上もしくは同一セット上の半導体装置であっても全く問題ない。
【０１２４】
（実施の形態３）
図１３は、本発明の実施の形態３に係る半導体装置の構成を示す回路ブロック図である。本実施の形態は、センサ回路出力を統計処理した演算結果を、電源電圧及びクロック周波数に反映させフィードバック制御する半導体集積回路に適用した例である。図１０と同一構成部分には同一符号を付して重複箇所の説明を省略する。
【０１２５】
図１３において、半導体装置の機能ブロックは、ＣＭＯＳプロセスやバイポーラプロセス等により同一基板上に配置された半導体装置４００と、検出された遅延情報を統計的に処理し、プロセスばらつき等の状態を判断して制御コードを生成する演算部１１０と、不揮発性メモリ１０３に記録された制御コードから出力すべき電圧を決定する出力電圧制御部１２０と、半導体装置４００に電源電圧１３１ａと接地電位１３１ｂを供給する電源電圧発生部１３０と、半導体装置４００に動作クロック信号４１１を供給するクロック発生部４１０と、半導体装置４００の動作モードを外部から制御するモード設定端子４０３とを備えて構成される。
【０１２６】
半導体装置４００は、遅延値を検出するために半導体装置４００の内部に満遍なく配置された複数のセンサ回路３０１ａ〜３０１ｇと、複数のセンサ回路３０１ａ〜３０１ｇにより検出された遅延情報をとりまとめて外部に送出する出力インターフェース回路４０２と、演算部１１０により生成された制御コードを個々の半導体装置４００固有の値として記録する不揮発性メモリ１０３とを備えて構成される。
【０１２７】
半導体装置４００は、少なくとも１つのＭＯＳトランジスタを有し、電源電圧の供給を受けて動作する主回路である。
【０１２８】
センサ回路３０１ａ〜３０１ｇは、半導体装置４００に複数内蔵され、個々の位置や動作条件における複数の局所的な遅延情報を検出する。
【０１２９】
出力インターフェース回路４０２は、半導体装置４００の動作モードを外部から制御するモード設定端子４０３が接続され、複数のセンサ回路３０１ａ〜３０１ｇの出力結果をとりまとめ、出力する。
【０１３０】
演算部１１０は、出力インターフェース回路４０２から出力された複数のセンサ回路３０１ａ〜３０１ｇの出力結果を演算する。
【０１３１】
出力電圧制御部１２０は、不揮発性メモリ１０３に保存された演算部１１０の出力結果に従い、出力電圧を制御する。
【０１３２】
電源電圧発生部１３０は、出力電圧制御部１２０の制御に従い、半導体装置４００に供給する電源電圧を供給する。
【０１３３】
クロック発生部４１０は、演算部１１０の出力結果に従い、主回路（半導体装置４００）にクロック信号を供給する。クロック発生部４１０は、主回路全体に要求される動作性能と、主回路全体の回路の状態に応じて、クロック信号も個々に制御可能である。
【０１３４】
図１４は、センサ回路３０１ａ〜３０１ｇが配置される実回路の具体的な構成を示す回路図である。
【０１３５】
図１４において、センサ回路３０１ａ〜３０１ｇが配置される実回路５００は、センサ回路３０１ａ〜３０１ｇに供給されるクロック入力端子５０１と、センサ回路３０１ａ〜３０１ｇのテスト用信号を発生するテスト信号発生部５０２と、センサ回路３０１ａ〜３０１ｇが配置される実回路であり、回路構造や配線構造が同一もしくは同一性の高い組合せ回路５０３と、組合せ回路５０３の入力及び出力のタイミングをクロック入力端子５０１から入力されるクロック信号で制約するフリップフロップ回路５０４，５０５と、センサ回路の出力端子５０６とを含んで構成される。
【０１３６】
組合せ回路５０３は、実際に配置される位置にレイアウトされた実回路の一部又は全部と論理が同一であり、また駆動能力も同一もしくは相似な関係となる。あるいは、組合せ回路５０３は、実際に配置される位置にレイアウトされた実回路の一部又は全部と論理が同一であり、各セルの配置方向も同一な関係となる。
【０１３７】
本実施の形態は、実施の形態１，２と同様に、(1)遅延値を検出するためのセンサ回路３０１ａ〜３０１ｇの構成自体が異なること、(2)センサ回路３０１ａ〜３０１ｇが半導体装置４００内に大量かつ満遍なく配置されていること、(3)大量のセンサ回路３０１ａ〜３０１ｇの検出結果を演算部１１０により統計的に処理して制御コードを生成することに特徴がある。
【０１３８】
上記(2)のセンサ回路３０１ａ〜３０１ｇが半導体装置４００内に大量かつ満遍なく配置されていることの具体例は、前記図６乃至図８で説明した。
【０１３９】
ここで、クロック入力端子５０１から入力されるクロック信号は、図１３のクロック発生部４１０によって供給される。
【０１４０】
半導体装置４００に供給されるクロックの周波数は、その半導体装置４００が組み込まれるシステムからのタイミングや処理時間の制約によって、一般的には個々に固定された値が設定される。しかし、モード設定端子４０３の設定条件によっては、処理時間の延長、もしくは一時停止も可能となっているのが一般的である。本実施の形態では、通常動作の場合だけでなく、モード設定端子４０３の設定条件によって、処理時間の延長、もしくは一時停止の指定があった場合にも電源電圧１３１ａと接地電位１３１ｂが最適に供給され、高速化と低消費電力化を両立できる例を示している。
【０１４１】
以下、上述のように構成された半導体装置の動作について説明する。基本動作については、実施の形態１，２と同様であるため省略し、本実施の形態の特徴的な動作について説明する。
【０１４２】
通常動作モードでは、クロック発生部４１０は、あらかじめシステムの要求仕様で決められた周波数の動作クロック信号４１１を供給しているものとする。この動作クロック信号４１１は、センサ回路３０１ａ〜３０１ｇのクロック入力端子５０１に入力される。
【０１４３】
例えば、テスト信号発生部５０２から出力されるテスト信号を、ＬｏからＨｉに変化する立ち上がりパルス信号とすると、組合せ回路５０３は、動作クロック信号４１１の周波数で規定されたタイミングで信号入力と演算処理、及び出力を行うこととなる。しかし電源電圧が不十分な場合、プロセスばらつきやＩＲ−Ｄｒｏｐ、ローカルヒーティング等によってＭＯＳトランジスタの能力が低下している場合には、期待した出力信号が得られない。このような場合には、出力電圧制御部１２０は、電源電圧発生部１３０に対して、電源電圧１３１ａと接地電位１３１ｂの差が大きくなる方向で電圧を調整させる。この電圧調整制御は、センサ回路３０１ａ〜３０１ｇの全ての組合せ回路５０３の出力値が期待値と等しくなるまで、もしくはセンサ回路３０１ａ〜３０１ｇの全てから、演算部１１０によって統計的に算出されるセンサ回路の遅延バラツキの３σの範囲の全ての組合せ回路５０３の出力値が期待値と等しくなるまで、繰り返し行われる。その結果、最終的に決定された電源電圧１３１ａと接地電位１３１ｂの値に対応する制御コードが、不揮発性メモリ１０３に格納されるべき値となる。
【０１４４】
上記の説明は、通常動作モードでの説明であるが、モード設定端子４０３の設定条件が処理時間の延長を示した場合には、クロック発生部４１０の動作クロック信号４１１の周波数、ひいてはクロック入力端子５０１に入力されるクロックの周波数はモードの仕様に合わせて減少され、電源電圧１３１ａと接地電位１３１ｂの差が前記通常動作モードの場合よりも小さな状態で制御コードが設定される。また、モード設定端子４０３の設定条件が一時停止を示した場合には、クロック発生部４１０の動作クロック信号４１１の周波数、ひいてはクロック入力端子５０１に入力されるクロックの周波数は停止つまり固定され、電源電圧１３１ａと接地電位１３１ｂの差は、内部信号の状態がリークやノイズ等で変化しない電位差まで引き下げられることとなる。そして不揮発性メモリ１０３には、前記各々のモード設定端子４０３の設定条件に対応した電源電圧１３１ａと接地電位１３１ｂの差を出力するための制御コードが格納されることになる。
【０１４５】
以上の制御は、ＬＳＩテスタとそのプログラムで構成した場合を想定している。この場合、生成された半導体装置４００固有の制御コードは、即座には出力電圧制御部１２０には入力されないため、一旦不揮発性メモリ１０３に記録しておく必要があるためである。
【０１４６】
そして実際に半導体装置４００が動作する場合には、まずモード設定端子４０３の設定条件に対応した動作クロック信号４１１がクロック発生部４１０から出力され、次にモード設定端子４０３の設定条件に対応した制御コードが、不揮発性メモリ１０３から出力電圧制御部１２０に読み込まれ、出力電圧制御部１２０は電源電圧発生部１３０を、前記のように半導体装置４００が動作する上で消費電力が最小となるような電源電圧１３１ａと接地電位１３１ｂを供給する。
【０１４７】
以上のように、本実施の形態によれば、個別の半導体装置４００は、遅延値を検出するためのセンサ回路３０１ａ〜３０１ｇが、半導体装置内に大量かつ満遍なく配置され、その大量のセンサ回路の検出結果をモード設定端子４０３の設定条件を反映しながら演算部１１０にて統計的に処理することで制御コードを生成し、半導体装置４００が動作する上で消費電力が最小となるような電源電圧１３１ａと接地電位１３１ｂを供給することが可能となり、これによって、配置された場所ごとの局所温度、ＩＲ−Ｄｒｏｐ、プロセスばらつきを踏まえた、高速化と低消費電力化の両立が実現可能となる。
【０１４８】
なお、本実施の形態では、演算部１１０、出力電圧制御部１２０、電源電圧発生部１３０及びクロック発生部４１０を、半導体装置４００の外側に配置する例を示したが、これらの一部もしくは全部を半導体装置４００に内蔵しても構わない。また、演算部１１０は必ずしもＬＳＩテスタなどである必要は無く、同一基板上もしくは同一セット上の半導体装置であっても全く問題ない。
【０１４９】
（実施の形態４）
図１５は、本発明の実施の形態４に係る半導体装置の構成を示す回路ブロック図である。本実施の形態は、センサ回路出力を統計処理した演算結果を、電源電圧及びクロック位相に反映させフィードバック制御する半導体集積回路に適用した例である。
機能ブロック内にある内部メモリを機能ブロック数が５個の半導体集積回路に適用した例である。図１０と同一構成部分には同一符号を付して重複箇所の説明を省略する。
【０１５０】
図１５において、半導体装置の機能ブロックは、ＣＭＯＳプロセスやバイポーラプロセス等により同一基板上に配置された半導体装置６００と、検出された遅延情報を統計的に処理し、プロセスばらつき等の状態を判断して制御コードを生成する演算部１１０と、不揮発性メモリ１０３に記録された制御コードから出力すべき電圧を決定する出力電圧制御部１２０と、半導体装置６００に電源電圧１３１ａと接地電位１３１ｂを供給する電源電圧発生部１３０と、半導体装置６００に供給されるクロックの位相を制御する位相制御部６１０とを備えて構成される。
【０１５１】
半導体装置６００は、遅延値を検出するために半導体装置６００の内部に満遍なく配置された複数のセンサ回路３０１ａ〜３０１ｇと、複数のセンサ回路３０１ａ〜３０１ｇにより検出された遅延情報をとりまとめて外部に送出する出力インターフェース回路１０２と、演算部１１０により生成された制御コードを個々の半導体装置６００固有の値として記録する不揮発性メモリ１０３とを備えて構成される。
【０１５２】
半導体装置６００は、少なくとも１つのＭＯＳトランジスタを有し、電源電圧の供給を受けて動作する主回路である。
【０１５３】
センサ回路３０１ａ〜３０１ｇは、半導体装置６００に複数内蔵され、個々の位置や動作条件における複数の局所的な遅延情報を検出する。
【０１５４】
出力インターフェース回路１０２は、複数のセンサ回路３０１ａ〜３０１ｇの出力結果をとりまとめて演算部１１０に出力する。
【０１５５】
演算部１１０は、出力インターフェース回路１０２から出力された複数のセンサ回路３０１ａ〜３０１ｇの出力結果を演算する。
【０１５６】
出力電圧制御部１２０は、不揮発性メモリ１０３に保存された演算部１１０の出力結果に従い、出力電圧を制御する。
【０１５７】
電源電圧発生部１３０は、出力電圧制御部１２０の制御に従い、半導体装置６００に供給する電源電圧を供給する。
【０１５８】
位相制御部６１０は、演算部１１０の出力結果に従い、主回路（半導体装置６００）に位相制御信号６１１を供給する。位相制御部を有し、位相制御部６１０は、主回路全体に要求される動作性能と、主回路全体の回路の状態に応じて、位相制御信号も個々に制御可能である。
【０１５９】
本実施の形態は、実施の形態１〜３と同様に、(1)遅延値を検出するためのセンサ回路３０１ａ〜３０１ｇの構成自体が異なること、(2)センサ回路３０１ａ〜３０１ｇが半導体装置６００内に大量かつ満遍なく配置されていること、(3)大量のセンサ回路３０１ａ〜３０１ｇの検出結果を演算部１１０により統計的に処理して制御コードを生成することに特徴がある。
【０１６０】
上記(2)のセンサ回路３０１ａ〜３０１ｇが半導体装置６００内に大量かつ満遍なく配置されていることの具体例は、前記図６乃至図８で説明した。
【０１６１】
図１６は、位相制御部６１０によって制御される主回路（半導体装置６００）の回路構成を示す図である。
【０１６２】
図１６において、半導体装置６００は、各回路ブロック６００ａ〜６００ｄを備え、各回路ブロック６００ａ〜６００ｄは、マルチ位相ＰＬＬ回路２００からセレクタ６２１〜６２４を介して複数の位相を持ったクロック信号が供給される。
【０１６３】
マルチ位相ＰＬＬ回路２００は、複数の位相を持ったクロック信号を供給する。
【０１６４】
セレクタ６２１〜６２４は、位相制御回路６３０により切り替え制御される。
【０１６５】
位相制御回路６３０は、位相制御部６１０からの位相制御信号６１１を受けて、各回路ブロック６００ａ〜６００ｄにそれぞれ供給すべきマルチ位相ＰＬＬ回路２００の全てのクロック信号出力の、多相クロックの組み合わせを決定するセレクタ６２１〜６２４を制御する。
【０１６６】
以下、上述のように構成された半導体装置の動作について説明する。基本動作については、実施の形態１，２と同様であるため省略し、本実施の形態の特徴的な動作について説明する。
【０１６７】
半導体装置６００の内部の各回路ブロック６００ａ〜６００ｄに供給されるクロックの位相信号の組み合わせについては、その半導体装置６００全体が正常に動作するように、フリップフロップ等による信号の伝達タイミングや組合せ回路の処理時間の制約によって、一般的には個々の各回路ブロック６００ａ〜６００ｄに固有の、固定された位相信号の組み合わせが供給される。しかし、電源電圧１３１ａと接地電位１３１ｂが変化すると、各回路ブロック６００ａ〜６００ｄのフリップフロップ等による信号の伝達タイミングや組合せ回路の処理時間が変化するため、電源電圧１３１ａと接地電位１３１ｂ、各回路ブロック６００ａ〜６００ｄの位相信号の組み合わせとの間には、相関関係が存在する。
【０１６８】
具体的には、電源電圧１３１ａと接地電位１３１ｂの電位差が増大すると消費電力が増大するが、各回路ブロック６００ａ〜６００ｄのフリップフロップ等による信号の伝達タイミングや組合せ回路の処理時間は減少するため、各回路ブロック６００ａ〜６００ｄに供給すべき位相信号の組み合わせは、より位相差の少ないクロック同士の組み合わせとなる。また逆に、電源電圧１３１ａと接地電位１３１ｂの電位差が減少すると消費電力が減少するが、各回路ブロック６００ａ〜６００ｄのフリップフロップ等による信号の伝達タイミングや組合せ回路の処理時間は増大するため、各回路ブロック６００ａ〜６００ｄに供給すべき位相信号の組み合わせは、より位相差の大きなクロック同士の組み合わせとなる。
【０１６９】
本実施の形態では、この相関関係に着目し、まず電源電圧１３１ａと接地電位１３１ｂの電位差の初期状態において、位相制御部６１０から出力される位相制御信号６１１の初期値に対応した各回路ブロック６００ａ〜６００ｄの位相信号の組み合わせで、センサ回路３０１ａ〜３０１ｇの出力値が期待値と一致するかを判断する。
【０１７０】
もし出力値が期待値と一致する場合には、出力電圧制御部１２０は、電源電圧１３１ａと接地電位１３１ｂの電位差が減少する方向に電源電圧発生部１３０を制御する。この電圧制御は、センサ回路３０１ａ〜３０１ｇの出力値が期待値と異なる状態になる直前まで繰り返し行われる。
【０１７１】
また、もし出力値が期待値と一致しない場合には、位相制御部６１０は、各回路ブロック６００ａ〜６００ｄに供給すべき位相信号の組み合わせを、セレクタ６２１〜６２４を制御することで、より位相差の大きなクロック同士の組み合わせに変化させる。それでもセンサ回路３０１ａ〜３０１ｇの出力値が期待値と一致しない場合には、出力電圧制御部１２０は、電源電圧１３１ａと接地電位１３１ｂの電位差が増大する方向に電源電圧発生部１３０を制御する。
【０１７２】
上記の電圧調整制御は、センサ回路３０１ａ〜３０１ｇの出力値が期待値と等しくなるまで、もしくはセンサ回路３０１ａ〜３０１ｇの全てから、演算部１１０によって統計的に算出されるセンサ回路の遅延バラツキの３σの範囲の全てのセンサ回路の出力値が期待値と等しくなるまで、繰り返し行われる。
【０１７３】
これらのように制御が行われた結果、最終的に決定された電源電圧１３１ａと接地電位１３１ｂの値に対応する制御コードが、不揮発性メモリ１０３に格納されるべき値となる。
【０１７４】
以上の制御は、ＬＳＩテスタとそのプログラムで構成した場合を想定している。この場合、生成された半導体装置６００固有の制御コードは、即座には出力電圧制御部１２０には入力されないため、一旦不揮発性メモリ１０３に記録しておく必要があるためである。
【０１７５】
そして実際に半導体装置６００が動作する場合には、まず上記のように最適値に設定された制御コードが、不揮発性メモリ１０３から出力電圧制御部１２０及び位相制御部６１０に読み込まれ、出力電圧制御部１２０は電源電圧発生部１３０を、前記のように半導体装置６００が動作する上で消費電力が最小となるような電源電圧１３１ａと接地電位１３１ｂを供給する。また位相制御部６１０は、位相制御部６１０に位相制御信号６１１を供給することにより、上記の電源電圧１３１ａと接地電位１３１ｂの状態で半導体装置６００が正常動作するような位相の組み合わせからなるクロック信号が、各回路ブロック６００ａ〜６００ｄに選択出力されるよう、セレクタ６２１〜６２４を制御する。
【０１７６】
以上のように、本実施の形態によれば、個別の半導体装置６００は、遅延値を検出するためのセンサ回路３０１ａ〜３０１ｇが、半導体装置内に大量かつ満遍なく配置され、その大量のセンサ回路の検出結果を演算部１１０にて統計的に処理することで制御コードを生成し、半導体装置６００が動作する上で消費電力が最小となるような電源電圧１３１ａと接地電位１３１ｂ、及び位相制御信号６１１を供給することが可能となり、これによって、配置された場所ごとの局所温度、ＩＲ−Ｄｒｏｐ、プロセスばらつきを踏まえた、高速化と低消費電力化の両立が実現可能となる。
【０１７７】
なお、本実施の形態では、演算部１１０、出力電圧制御部１２０、電源電圧発生部１３０及び位相制御部６１０を、半導体装置６００の外側に配置する例を示したが、これらの一部もしくは全部を半導体装置６００に内蔵しても構わない。また演算部１１０は必ずしもＬＳＩテスタなどである必要は無く、同一基板上もしくは同一セット上の半導体装置であっても全く問題ない。
【０１７８】
また、上述した実施の形態１〜４では、制御コードによって制御される機能ブロックとして、電源電圧発生部１３０、基板バイアス電圧発生部３１０、クロック発生部４１０、位相制御部６１０を挙げており、これらの任意のいずれかが半導体装置に接続され電圧や信号を供給する構成になっている。ここで、本発明の実施の形態を実現する上では電源電圧発生部１３０による電源電圧の最小化が必須であるが、上記制御コードによって制御される電源電圧発生部以外の機能ブロックの組み合わせは、全部で７通り存在する。よって上記各実施の形態はその一例にすぎず、実施の形態１〜４で具体的に説明した以外の機能ブロックの組み合わせでも実現可能である。
【０１７９】
また、実施の形態１〜４のセンサ回路は、図２、図１２、図１４のいずれの回路構成を用いてもよい。
【０１８０】
上記、実施の形態１〜４は、半導体装置内に、演算部１１０の出力結果を一時保存する不揮発性メモリ１０３を設ける態様であった。しかし、本発明は、不揮発性メモリ１０３への記録と読み出しを介さずに、センサ回路の統計処理結果を直接に各制御部に供給することも可能である。以下、不揮発性メモリ等のメモリを介さずに、センサ回路の統計処理結果を直接に各制御部に供給する例について、実施の形態５〜８により説明する。メモリを介さずにセンサ回路の統計処理結果を直接に出力することで、連続的なフィードバック制御が可能となり、温度変動等の経時的な状態変化に対しても対応できるようになる。
【０１８１】
（実施の形態５）
図１７は、本発明の実施の形態５に係る半導体装置の構成を示す回路ブロック図である。本実施の形態は、実施の形態２のセンサ回路を適用し、さらにセンサ回路出力を統計処理した演算結果を、メモリを介さずに、電源電圧に反映させ連続的なフィードバック制御を実現する半導体集積回路に適用した例である。図１０と同一構成部分には同一符号を付して重複箇所の説明を省略する。
【０１８２】
図１７において、半導体装置の機能ブロックは、半導体装置７００と、検出された遅延情報を統計的に処理し、プロセスばらつき等の状態を判断して制御コードを生成する演算部１１０と、記録された制御コードから出力すべき電圧を決定する出力電圧制御部１２０と、半導体装置７００に電源電圧１３１ａと接地電位１３１ｂを供給する電源電圧発生部１３０とを備えて構成される。
【０１８３】
半導体装置７００は、遅延値を検出するために半導体装置７００の内部に満遍なく配置された複数のセンサ回路３０１ａ〜３０１ｇと、複数のセンサ回路３０１ａ〜３０１ｇにより検出された遅延情報をとりまとめて外部に送出する出力インターフェース回路１０２とを備えて構成される。
【０１８４】
半導体装置７００内には、不揮発性メモリ１０３は設置されておらず、出力インターフェース回路１０２からのセンサ回路３０１ａ〜３０１ｇの統計処理結果は直接に演算部１１０に出力される。
【０１８５】
半導体装置７００は、少なくとも１つのＭＯＳトランジスタを有し、電源電圧の供給を受けて動作する主回路である。
【０１８６】
センサ回路３０１ａ〜３０１ｇは、半導体装置７００に複数内蔵され、個々の位置や動作条件における複数の局所的な遅延情報を検出する。
【０１８７】
出力インターフェース回路１０２は、複数のセンサ回路３０１ａ〜３０１ｇの出力結果をとりまとめて演算部１１０に出力する。
【０１８８】
演算部１１０は、出力インターフェース回路１０２から出力された複数のセンサ回路３０１ａ〜３０１ｇの出力結果を演算する。
【０１８９】
出力電圧制御部１２０は、演算部１１０の出力結果に従い、出力電圧を制御する。
【０１９０】
電源電圧発生部１３０は、出力電圧制御部１２０の制御に従い、半導体装置７００に供給する電源電圧を供給する。
【０１９１】
本実施の形態は、実施の形態１〜４と同様に、(1)遅延値を検出するためのセンサ回路３０１ａ〜３０１ｇの構成自体が異なること、(2)センサ回路３０１ａ〜３０１ｇが半導体装置７００内に大量かつ満遍なく配置されていること、(3)大量のセンサ回路３０１ａ〜３０１ｇの検出結果を演算部１１０により統計的に処理して制御コードを生成することに特徴がある。
【０１９２】
上記(2)のセンサ回路３０１ａ〜３０１ｇが半導体装置７００内に大量かつ満遍なく配置されていることの具体例は、前記図６乃至図８で説明した。
【０１９３】
以下、上述のように構成された半導体装置の動作について説明する。基本動作については、実施の形態１，２と同様である。
【０１９４】
センサ回路３０１ａ〜３０１ｇの出力値は期待値と比較され、検出結果として出力インターフェース回路１０２を通じて演算部１１０に入力される。
【０１９５】
演算部１１０は、検出された遅延情報の最大値、最小値、分布などの統計処理を施し、その結果として制御コードを生成する。
【０１９６】
生成された制御コードは、出力電圧制御部１２０に読み込まれ、出力電圧制御部１２０は電源電圧発生部１３０から、半導体装置７００が動作する上で消費電力が最小となるような電源電圧１３１ａと接地電位１３１を供給する。
【０１９７】
以上のように、本実施の形態によれば、個別の半導体装置７００は、遅延値を検出するためのセンサ回路３０１ａ〜３０１ｇが、半導体装置内に大量かつ満遍なく配置され、その大量のセンサ回路の検出結果を演算部１１０により統計的に処理することで制御コードを生成し、半導体装置７００が動作する上で消費電力が最小となるような電源電圧１３１ａと接地電位１３１ｂを供給することが可能となり、これによって、配置された場所ごとの局所温度、ＩＲ−Ｄｒｏｐ、プロセスばらつきを踏まえた、高速化と低消費電力化の両立が実現可能となる。
【０１９８】
特に、本実施の形態では、センサ回路３０１ａ〜３０１ｇの統計処理結果を、不揮発性メモリ１０３を介さずに直接に演算部１１０に出力することで、連続的なフィードバック制御が可能となり、温度変動等の経時的な状態変化に対しても対応できるようになる。すなわち、リアルタイミングでセンサ回路３０１ａ〜３０１ｇの統計処理結果が出力されるので、半導体装置７００内の温度変化に逐次対応することができる。なお、そもそも不揮発性メモリ１０３等のメモリを使用する理由の一つは、データを固定で使うためにある。しかし半導体装置７００内の温度が変化したときは、上記固定のデータを用いる意味が小さい。本実施の形態によれば、センサ回路３０１ａ〜３０１ｇの統計処理結果を直接出力することで、連続的なフィードバック制御を実現し、温度変動等の経時的な状態変化に対しても対応可能になる。
【０１９９】
なお、本実施の形態では、演算部１１０、出力電圧制御部１２０、及び電源電圧発生部１３０を、半導体装置７００の外側に配置する例を示したが、これらの一部もしくは全部を半導体装置７００に内蔵しても、同一基板上もしくは同一セット上の半導体装置であっても全く問題ない。
【０２００】
また、本実施の形態のセンサ回路は、図２、図１２、図１４のいずれの回路構成を用いてもよい。
【０２０１】
（実施の形態６）
図１８は、本発明の実施の形態６に係る半導体装置の構成を示す回路ブロック図である。本実施の形態は、実施の形態２のセンサ回路を適用し、さらにセンサ回路出力を統計処理した演算結果を、メモリを介さずに、電源電圧及び基板バイアス電圧に反映させ連続的なフィードバック制御を実現する半導体集積回路に適用した例である。図１０と同一構成部分には同一符号を付して重複箇所の説明を省略する。図１０と同一構成部分には同一符号を付して重複箇所の説明を省略する。
【０２０２】
図１８において、半導体装置の機能ブロックは、半導体装置８００と、検出された遅延情報を統計的に処理し、プロセスばらつき等の状態を判断して制御コードを生成する演算部１１０と、記録された制御コードから出力すべき電圧を決定する出力電圧制御部１２０と、半導体装置８００に電源電圧１３１ａと接地電位１３１ｂを供給する電源電圧発生部１３０と、半導体装置８００にＰＭＯＳトランジスタ用基板バイアス電圧３１１ａとＮＭＯＳトランジスタ用基板バイアス電圧３１１ｂを供給する基板バイアス電圧発生部３１０とを備えて構成される。
【０２０３】
半導体装置８００は、遅延値を検出するために半導体装置８００の内部に満遍なく配置された複数のセンサ回路３０１ａ〜３０１ｇと、複数のセンサ回路３０１ａ〜３０１ｇにより検出された遅延情報をとりまとめて外部に送出する出力インターフェース回路１０２とを備えて構成される。
【０２０４】
半導体装置８００は、少なくとも１つのＭＯＳトランジスタで構成される主回路である。
【０２０５】
センサ回路３０１ａ〜３０１ｇは、半導体装置８００に複数内蔵され、個々の位置や動作条件における複数の局所的な遅延情報を検出する。
【０２０６】
出力インターフェース回路１０２は、複数のセンサ回路３０１ａ〜３０１ｇの出力結果をとりまとめて演算部１１０に出力する。
【０２０７】
演算部１１０は、出力インターフェース回路１０２から出力された複数のセンサ回路３０１ａ〜３０１ｇの出力結果を演算する。
【０２０８】
出力電圧制御部１２０は、演算部１１０の出力結果に従い、出力電圧を制御する。
【０２０９】
電源電圧発生部１３０は、出力電圧制御部１２０の制御に従い、半導体装置８００に供給する電源電圧を供給する。
【０２１０】
基板バイアス電圧発生部３１０は、出力電圧制御部１２０の制御に従い、主回路（半導体装置８００）にＰチャネル型ＭＯＳトランジスタの基板電位とＮチャネル型ＭＯＳトランジスタの基板電位とを供給する。基板バイアス電圧発生部３１０は、主回路全体に要求される動作性能と、主回路全体の回路の状態に応じて、Ｐチャネル型ＭＯＳトランジスタの基板電位とＮチャネル型ＭＯＳトランジスタの基板電位も個々に制御可能である。
【０２１１】
以下、上述のように構成された半導体装置の動作について説明する。基本動作については、実施の形態１，２と同様である。
【０２１２】
センサ回路３０１ａ〜３０１ｇの出力値は期待値と比較され、検出結果として出力インターフェース回路１０２を通じて演算部１１０に入力される。
【０２１３】
演算部１１０は、検出された遅延情報の最大値、最小値、分布などの統計処理を施し、その結果として制御コードを生成する。
【０２１４】
生成された制御コードは、出力電圧制御部１２０に読み込まれ、出力電圧制御部１２０は、まず基板バイアス電圧発生部３１０に対して、ＰＭＯＳトランジスタとＮＭＯＳトランジスタの閾値電圧が減少するよう、ＰＭＯＳトランジスタ用基板バイアス電圧３１１ａとＮＭＯＳトランジスタ用基板バイアス電圧３１１ｂを供給させる。但し、ＭＯＳトランジスタの閾値がある値を下回るとリーク電流が増大して消費電力の増大につながるため、ＰＭＯＳトランジスタ用基板バイアス電圧３１１ａには下限電圧を、ＮＭＯＳトランジスタ用基板バイアス電圧３１１ｂには上限電圧を、あらかじめ設定しておく。
【０２１５】
こうしてリーク電流が許容範囲内であり、かつ各トランジスタの閾値電圧が極小となった状態で、出力電圧制御部１２０は、電源電圧発生部１３０から、半導体装置８００が動作する上で消費電力が最小となるような電源電圧１３１ａと接地電位１３１ｂを供給させる。
【０２１６】
以上のように、本実施の形態によれば、個別の半導体装置８００は、遅延値を検出するためのセンサ回路３０１ａ〜３０１ｇが、半導体装置内に大量かつ満遍なく配置され、その大量のセンサ回路の検出結果を演算部１１０にて統計的に処理することで制御コードを生成し、半導体装置８００が動作する上で消費電力が最小となるような電源電圧１３１ａと接地電位１３１ｂを供給することが可能となり、これによって、配置された場所ごとの局所温度、ＩＲ−Ｄｒｏｐ、プロセスばらつきを踏まえた、高速化と低消費電力化の両立が実現可能となる。
【０２１７】
また、本実施の形態では、実施の形態５と同様に、センサ回路３０１ａ〜３０１ｇの統計処理結果を、不揮発性メモリ１０３を介さずに直接に演算部１１０に出力することで、連続的なフィードバック制御が可能となり、温度変動等の経時的な状態変化に対しても対応できる効果がある。
【０２１８】
なお、本実施の形態では、演算部１１０、出力電圧制御部１２０、電源電圧発生部１３０及び基板バイアス電圧発生部３１０を、半導体装置８００の外側に配置する例を示したが、これらの一部もしくは全部を半導体装置８００に内蔵しても、同一基板上もしくは同一セット上の半導体装置であっても全く問題ない。
【０２１９】
また、本実施の形態のセンサ回路は、図２、図１２、図１４のいずれの回路構成を用いてもよい。
【０２２０】
（実施の形態７）
図１９は、本発明の実施の形態７に係る半導体装置の構成を示す回路ブロック図である。本実施の形態は、実施の形態２のセンサ回路を適用し、さらにセンサ回路出力を統計処理した演算結果を、メモリを介さずに、電源電圧、基板バイアス電圧及びクロック周波数に反映させ連続的なフィードバック制御を実現する半導体集積回路に適用した例である。図１０及び図１３と同一構成部分には同一符号を付して重複箇所の説明を省略する。
【０２２１】
図１９において、半導体装置の機能ブロックは、半導体装置９００と、検出された遅延情報を統計的に処理し、プロセスばらつき等の状態を判断して制御コードを生成する演算部１１０と、記録された制御コードから出力すべき電圧を決定する出力電圧制御部１２０と、半導体装置９００に電源電圧１３１ａと接地電位１３１ｂを供給する電源電圧発生部１３０と、半導体装置９００にＰＭＯＳトランジスタ用基板バイアス電圧３１１ａとＮＭＯＳトランジスタ用基板バイアス電圧３１１ｂを供給する基板バイアス電圧発生部３１０と、半導体装置９００に動作クロック信号４１１を供給するクロック発生部４１０と、半導体装置９００の動作モードを外部から制御するモード設定端子４０３とを備えて構成される。
【０２２２】
半導体装置９００は、遅延値を検出するために半導体装置９００の内部に満遍なく配置された複数のセンサ回路３０１ａ〜３０１ｇと、複数のセンサ回路３０１ａ〜３０１ｇにより検出された遅延情報をとりまとめて外部に送出する出力インターフェース回路４０２とを備えて構成される。
【０２２３】
半導体装置９００は、少なくとも１つのＭＯＳトランジスタを有し、電源電圧の供給を受けて動作する主回路である。
【０２２４】
センサ回路３０１ａ〜３０１ｇは、半導体装置９００に複数内蔵され、個々の位置や動作条件における複数の局所的な遅延情報を検出する。
【０２２５】
出力インターフェース回路４０２は、半導体装置９００の動作モードを外部から制御するモード設定端子４０３が接続され、複数のセンサ回路３０１ａ〜３０１ｇの出力結果をとりまとめて演算部１１０に出力する。
【０２２６】
演算部１１０は、出力インターフェース回路４０２から出力された複数のセンサ回路３０１ａ〜３０１ｇの出力結果を演算する。
【０２２７】
出力電圧制御部１２０は、演算部１１０の出力結果に従い、出力電圧を制御する。
【０２２８】
電源電圧発生部１３０は、出力電圧制御部１２０の制御に従い、半導体装置９００に供給する電源電圧を供給する。
【０２２９】
基板バイアス電圧発生部３１０は、出力電圧制御部１２０の制御に従い、主回路（半導体装置９００）にＰチャネル型ＭＯＳトランジスタの基板電位とＮチャネル型ＭＯＳトランジスタの基板電位とを供給する。基板バイアス電圧発生部３１０は、主回路全体に要求される動作性能と、主回路全体の回路の状態に応じて、Ｐチャネル型ＭＯＳトランジスタの基板電位とＮチャネル型ＭＯＳトランジスタの基板電位も個々に制御可能である。
【０２３０】
クロック発生部４１０は、演算部１１０の出力結果に従い、主回路（半導体装置９００）にクロック信号を供給する。クロック発生部４１０は、主回路全体に要求される動作性能と、主回路全体の回路の状態に応じて、クロック信号も個々に制御可能である。
【０２３１】
以下、上述のように構成された半導体装置の動作について説明する。基本動作については、実施の形態２，３と同様である。
【０２３２】
半導体装置９００に供給されるクロックの周波数は、その半導体装置９００が組み込まれるシステムからのタイミングや処理時間の制約によって、一般的には個々に固定された値が設定される。しかし、モード設定端子４０３の設定条件によっては、処理時間の延長、もしくは一時停止も可能となっているのが一般的である。本実施の形態では、通常動作の場合だけでなく、モード設定端子４０３の設定条件によって、処理時間の延長、もしくは一時停止の指定があった場合にも、ＰＭＯＳトランジスタ用基板バイアス電圧３１１ａとＮＭＯＳトランジスタ用基板バイアス電圧３１１ｂ、電源電圧１３１ａと接地電位１３１ｂとが最適に供給され、高速化と低消費電力化を両立できる実施形態の一例を示している。
【０２３３】
通常動作モードでは、クロック発生部４１０は、あらかじめシステムの要求仕様で決められた周波数の動作クロック信号４１１を供給しているものとする。この動作クロック信号４１１は、センサ回路３０１ａ〜３０１ｇに入力される。
【０２３４】
センサ回路３０１ａ〜３０１ｇは、その時点でのクロック条件と基板バイアス電圧条件、電源電圧条件とを反映した出力値を出力インターフェース回路４０２に出力する。
【０２３５】
もしセンサ出力値が期待した出力信号と一致しているのであれば、まず出力電圧制御部１２０は、基板バイアス電圧発生部３１０に対して、ＰＭＯＳトランジスタとＮＭＯＳトランジスタの閾値電圧が減少するよう、ＰＭＯＳトランジスタ用基板バイアス電圧３１１ａとＮＭＯＳトランジスタ用基板バイアス電圧３１１ｂを供給させる。但し、ＭＯＳトランジスタの閾値がある値を下回るとリーク電流が増大して消費電力の増大につながるため、ＰＭＯＳトランジスタ用基板バイアス電圧３１１ａには下限電圧を、ＮＭＯＳトランジスタ用基板バイアス電圧３１１ｂには上限電圧を、あらかじめ設定しておく。
【０２３６】
こうしてリーク電流が許容範囲内であり、かつ各トランジスタの閾値電圧が極小となった状態で、出力電圧制御部１２０は、電源電圧発生部１３０から、半導体装置９００が動作する上で消費電力が最小となるような電源電圧１３１ａと接地電位１３１ｂを供給させる。
【０２３７】
もしセンサ出力値が期待した出力信号と一致しない場合には、まず出力電圧制御部１２０は、基板バイアス電圧発生部３１０に対して、ＰＭＯＳトランジスタとＮＭＯＳトランジスタの閾値電圧が減少するようにＰＭＯＳトランジスタ用基板バイアス電圧３１１ａとＮＭＯＳトランジスタ用基板バイアス電圧３１１ｂを供給させる。但し、ＭＯＳトランジスタの閾値がある値を下回るとリーク電流が増大して消費電力の増大につながるため、ＰＭＯＳトランジスタ用基板バイアス電圧３１１ａには下限電圧を、ＮＭＯＳトランジスタ用基板バイアス電圧３１１ｂには上限電圧を、あらかじめ設定しておく。
【０２３８】
こうしてリーク電流が許容範囲内であり、かつ各トランジスタの閾値電圧が極小となった状態でも、まだセンサ出力値が期待した出力信号と一致しない場合には、出力電圧制御部１２０は、電源電圧発生部１３０から、電源電圧１３１ａと接地電位１３１ｂの電位差が広がる方向で各電圧を供給させる。この電源電圧１３１ａと接地電位１３１ｂのフィードバックによる調整は、センサ出力値が期待した出力信号と一致するまで繰り返し行われる。
【０２３９】
上記の説明は通常動作モードでの説明であるが、モード設定端子４０３の設定条件が処理時間の延長を示した場合には、クロック発生部４１０の動作クロック信号４１１の周波数モードの仕様に合わせて減少されるため、前記と同一のフィードバック制御の結果、電源電圧１３１ａと接地電位１３１ｂの差は前記通常動作モードの場合よりも小さな状態で制御コードが設定される。
【０２４０】
また、モード設定端子４０３の設定条件が一時停止を示した場合には、クロック発生部４１０の動作クロック信号４１１の周波数は、停止つまり固定される。次いで、出力電圧制御部１２０は、基板バイアス電圧発生部３１０に対して、ＰＭＯＳトランジスタとＮＭＯＳトランジスタの閾値電圧が増加しリーク電流が最小となるよう、ＰＭＯＳトランジスタ用基板バイアス電圧３１１ａをＰＭＯＳトランジスタのソース電圧よりも上昇させ、またＮＭＯＳトランジスタ用基板バイアス電圧３１１ｂをＮＭＯＳトランジスタのソース電圧よりも減少させるよう制御する。そして最後に出力電圧制御部１２０は、電源電圧１３１ａと接地電位１３１ｂの差が、内部信号の状態がリークやノイズ等で変化しない電位差まで引き下げるような制御を行う。
【０２４１】
以上のように、本実施の形態によれば、個別の半導体装置９００は、遅延値を検出するためのセンサ回路３０１ａ〜３０１ｇが、半導体装置内に大量かつ満遍なく配置され、その大量のセンサ回路の検出結果をモード設定端子４０３の設定条件を反映しながら演算部１１０にて統計的に処理することで制御コードを生成し、半導体装置９００が動作する上で消費電力が最小となるような、電源電圧１３１ａと接地電位１３１ｂ、及びＰＭＯＳトランジスタ用基板バイアス電圧３１１ａとＮＭＯＳトランジスタ用基板バイアス電圧３１１ｂを供給することが可能となり、これによって、配置された場所ごとの局所温度、ＩＲ−Ｄｒｏｐ、プロセスばらつきを踏まえた、高速化と低消費電力化の両立が実現可能となる。
【０２４２】
また、本実施の形態では、実施の形態５，６と同様に、センサ回路３０１ａ〜３０１ｇの統計処理結果を、不揮発性メモリ１０３を介さずに直接に演算部１１０に出力することで、連続的なフィードバック制御が可能となり、温度変動等の経時的な状態変化に対しても対応できる効果がある。
【０２４３】
なお、本実施の形態では、演算部１１０、出力電圧制御部１２０、電源電圧発生部１３０、基板バイアス電圧発生部３１０及びクロック発生部４１０を、半導体装置９００の外側に配置する例を示したが、これらの一部もしくは全部を半導体装置９００に内蔵しても、同一基板上もしくは同一セット上の半導体装置であっても全く問題ない。
【０２４４】
また、本実施の形態のセンサ回路は、図２、図１２、図１４のいずれの回路構成を用いてもよい。
【０２４５】
（実施の形態８）
図２０は、本発明の実施の形態８に係る半導体装置の構成を示す回路ブロック図である。本実施の形態は、実施の形態２のセンサ回路を適用し、さらにセンサ回路出力を統計処理した演算結果を、メモリを介さずに、電源電圧、基板バイアス電圧、クロック周波数及びクロック位相に反映させ連続的なフィードバック制御を実現する半導体集積回路に適用した例である。図１０、図１３及び図１５と同一構成部分には同一符号を付して重複箇所の説明を省略する。
【０２４６】
図２０において、半導体装置の機能ブロックは、半導体装置１０００と、検出された遅延情報を統計的に処理し、プロセスばらつき等の状態を判断して制御コードを生成する演算部１１０と、記録された制御コードから出力すべき電圧を決定する出力電圧制御部１２０と、半導体装置１０００に電源電圧１３１ａと接地電位１３１ｂを供給する電源電圧発生部１３０と、半導体装置１０００にＰＭＯＳトランジスタ用基板バイアス電圧３１１ａとＮＭＯＳトランジスタ用基板バイアス電圧３１１ｂを供給する基板バイアス電圧発生部３１０と、半導体装置１０００に動作クロック信号４１１を供給するクロック発生部４１０と、半導体装置１０００に供給されるクロックの位相を制御する位相制御部６１０と、半導体装置１０００の動作モードを外部から制御するモード設定端子４０３とを備えて構成される。
【０２４７】
半導体装置１０００は、遅延値を検出するために半導体装置１０００の内部に満遍なく配置された複数のセンサ回路３０１ａ〜３０１ｇと、複数のセンサ回路３０１ａ〜３０１ｇにより検出された遅延情報をとりまとめて外部に送出する出力インターフェース回路４０２とを備えて構成される。
【０２４８】
半導体装置１０００は、少なくとも１つのＭＯＳトランジスタを有し、電源電圧の供給を受けて動作する主回路である。
【０２４９】
センサ回路３０１ａ〜３０１ｇは、半導体装置１０００に複数内蔵され、個々の位置や動作条件における複数の局所的な遅延情報を検出する。
【０２５０】
出力インターフェース回路４０２は、半導体装置１０００の動作モードを外部から制御するモード設定端子４０３が接続され、複数のセンサ回路３０１ａ〜３０１ｇの出力結果をとりまとめて演算部１１０に出力する。
【０２５１】
演算部１１０は、出力インターフェース回路４０２から出力された複数のセンサ回路３０１ａ〜３０１ｇの出力結果を演算する。
【０２５２】
出力電圧制御部１２０は、演算部１１０の出力結果に従い、出力電圧を制御する。
【０２５３】
電源電圧発生部１３０は、出力電圧制御部１２０の制御に従い、半導体装置１０００に供給する電源電圧を供給する。
【０２５４】
基板バイアス電圧発生部３１０は、出力電圧制御部１２０の制御に従い、主回路（半導体装置１０００）にＰチャネル型ＭＯＳトランジスタの基板電位とＮチャネル型ＭＯＳトランジスタの基板電位とを供給する。基板バイアス電圧発生部３１０は、主回路全体に要求される動作性能と、主回路全体の回路の状態に応じて、Ｐチャネル型ＭＯＳトランジスタの基板電位とＮチャネル型ＭＯＳトランジスタの基板電位も個々に制御可能である。
【０２５５】
クロック発生部４１０は、演算部１１０の出力結果に従い、主回路（半導体装置１０００）にクロック信号を供給する。クロック発生部４１０は、主回路全体に要求される動作性能と、主回路全体の回路の状態に応じて、クロック信号も個々に制御可能である。
【０２５６】
位相制御部６１０は、演算部１１０の出力結果に従い、主回路（半導体装置１０００）に位相制御信号６１１を供給する。位相制御部を有し、位相制御部６１０は、主回路全体に要求される動作性能と、主回路全体の回路の状態に応じて、位相制御信号も個々に制御可能である。
【０２５７】
以下、上述のように構成された半導体装置の動作について説明する。基本動作については、実施の形態２，３と同様である。
【０２５８】
センサ回路３０１ａ〜３０１ｇが配置される実回路の具体的な構成は、前記図１４に示される。
【０２５９】
また、位相制御部６１０によって制御される主回路（半導体装置１０００）の回路構成は、前記図１６に示される。
【０２６０】
図１６において、半導体装置は、各回路ブロック６００ａ〜６００ｄを備え、各回路ブロック６００ａ〜６００ｄは、マルチ位相ＰＬＬ回路２００からセレクタ６２１〜６２４を介して複数の位相を持ったクロック信号が供給される。
【０２６１】
マルチ位相ＰＬＬ回路２００は、複数の位相を持ったクロック信号を供給する。
【０２６２】
セレクタ６２１〜６２４は、位相制御回路６３０により切り替え制御される。
【０２６３】
位相制御回路６３０は、位相制御部６１０からの位相制御信号６１１を受けて、各回路ブロック６００ａ〜６００ｄにそれぞれ供給すべきマルチ位相ＰＬＬ回路２００の全てのクロック信号出力の、多相クロックの組み合わせを決定するセレクタ６２１〜６２４を制御する。
【０２６４】
また、クロック入力端子５０１（図１４参照）から入力されるクロック信号は、クロック発生部４１０によって供給されるものとする。
【０２６５】
半導体装置１０００に供給されるクロックの周波数は、その半導体装置１０００が組み込まれるシステムからのタイミングや処理時間の制約によって、一般的には個々に固定された値が設定される。しかし、モード設定端子４０３の設定条件によっては、処理時間の延長、もしくは一時停止も可能となっているのが一般的である。本実施の形態では、通常動作の場合だけでなく、モード設定端子４０３の設定条件によって、処理時間の延長、もしくは一時停止の指定があった場合にも電源電圧１３１ａと接地電位１３１ｂが最適に供給され、高速化と低消費電力化を両立できる実施形態の一例を示している。
【０２６６】
通常動作モードでは、クロック発生部４１０は、あらかじめシステムの要求仕様で決められた周波数の動作クロック信号４１１を供給しているものとする。この動作クロック信号４１１は、センサ回路３０１ａ〜３０１ｇのクロック入力端子５０１（図１４）に入力される。
【０２６７】
例えばテスト信号発生部５０２から出力されるテスト信号を、ＬｏからＨｉに変化する立ち上がりパルス信号とすると、組合せ回路５０３は、動作クロック信号４１１の周波数で規定されたタイミングで信号入力と演算処理、及び出力を行うこととなる。しかし電源電圧が不十分な場合、プロセスばらつきやＩＲ−Ｄｒｏｐ、ローカルヒーティング等によってＭＯＳトランジスタの能力が低下している場合には、期待した出力信号が得られない。
【０２６８】
このような場合には、まず基板バイアス電圧発生部３１０は、半導体装置１０００のＰＭＯＳトランジスタとＮＭＯＳトランジスタの閾値電圧が低くなるよう、リーク電流の条件から設定されるある限度を持って、ＰＭＯＳトランジスタ用基板バイアス電圧３１１ａは減少し、ＮＭＯＳトランジスタ用基板バイアス電圧３１１ｂは増加するように各電圧を供給する。
【０２６９】
次いで、位相制御部６１０の位相制御信号６１１が位相制御部６１０に入力され、位相制御部６１０からの位相制御信号６１１を受けて、各回路ブロック６００ａ〜６００ｄにそれぞれ供給すべき多相クロックの組み合わせを決定するセレクタ６２１〜６２４を、各々のブロックに供給される多相クロック同士の位相差が増大する方向で制御される。
【０２７０】
この時点でもまだセンサ回路３０１ａ〜３０１ｇから期待値と一致した出力が得られない場合には、電源電圧発生部１３０は半導体装置１０００に電源電圧１３１ａと接地電位１３１ｂを、その電位差が増大する方向で制御し、供給する。
【０２７１】
これら一連のフィードバック制御は、センサ回路３０１ａ〜３０１ｇから期待値と一致した出力が得られるまで続けられ、結果として、通常動作モードでの高速化と低消費電力とが両立された半導体装置１０００が実現できる。
【０２７２】
上記の説明は通常動作モードでの説明であるが、モード設定端子４０３の設定条件が処理時間の延長を示した場合には、クロック発生部４１０の動作クロック信号４１１の周波数、ひいてはクロック入力端子５０１に入力されるクロックの周波数はモードの仕様に合わせて減少され、電源電圧１３１ａと接地電位１３１ｂの差が前記通常動作モードの場合よりも小さな状態で制御コードが設定される。
【０２７３】
また、モード設定端子４０３の設定条件が一時停止を示した場合には、クロック発生部４１０の動作クロック信号４１１の周波数、ひいてはクロック入力端子５０１に入力されるクロックの周波数は停止つまり固定され、またマルチ位相ＰＬＬ回路２００の動作も停止され、ＰＭＯＳトランジスタ用基板バイアス電圧３１１ａはＰＭＯＳトランジスタのソース電圧以上に増加され、ＮＭＯＳトランジスタ用基板バイアス電圧３１１ｂはＮＭＯＳトランジスタのソース電圧以下に減少され、リーク電流を抑制するような制御が行われる。そして電源電圧１３１ａと接地電位１３１ｂの差は、内部信号の状態がリークやノイズ等で変化しない電位差まで引き下げられることとなる。
【０２７４】
以上のように、本実施の形態によれば、個別の半導体装置１０００は、遅延値を検出するためのセンサ回路３０１ａ〜３０１ｇが、半導体装置内に大量かつ満遍なく配置され、その大量のセンサ回路の検出結果をモード設定端子４０３の設定条件を反映しながら演算部１１０にて統計的に処理することで制御コードを生成し、半導体装置１０００が動作する上で消費電力が最小となるような電源電圧１３１ａと接地電位１３１ｂを供給することが可能となり、これによって、配置された場所ごとの局所温度、ＩＲ−Ｄｒｏｐ、プロセスばらつきを踏まえた、高速化と低消費電力化の両立が実現可能となる。
【０２７５】
また、本実施の形態では、実施の形態５〜７と同様に、センサ回路３０１ａ〜３０１ｇの統計処理結果を、不揮発性メモリ１０３を介さずに直接に演算部１１０に出力することで、連続的なフィードバック制御が可能となり、温度変動等の経時的な状態変化に対しても対応できる効果がある。
【０２７６】
なお、本実施の形態では、演算部１１０、出力電圧制御部１２０、電源電圧発生部１３０、バイアス電圧発生部３１０、クロック発生部４１０、及び位相制御部６１０を、半導体装置１０００の外側に配置する例を示したが、これらの一部もしくは全部を半導体装置１０００に内蔵しても一向に構わないし、同一基板上もしくは同一セット上の半導体装置であっても全く問題ない。
【０２７７】
また、本実施の形態のセンサ回路は、図２、図１２、図１４のいずれの回路構成を用いてもよい。
【０２７８】
以上の説明は本発明の好適な実施の形態の例証であり、本発明の範囲はこれに限定されることはない。
【０２７９】
例えば、実施の形態１〜４は、制御コードによって制御される機能ブロックとして、電源電圧発生部、基板バイアス電圧発生部、クロック発生部、位相制御部を挙げており、これらの任意のいずれかが半導体装置に接続され電圧や信号を供給する構成になっている。ここで本半導体装置を実現する上では電源電圧発生部による電源電圧の最小化が必須であるが、上記制御コードによって制御される電源電圧発生部以外の機能ブロックの組み合わせは、全部で７通り存在する。よって実施の形態１〜４はその一例にすぎず、実施の形態５〜８で具体的に説明した以外の機能ブロックの組み合わせでも実現可能である。
【０２８０】
また、遅延情報の統計的な処理は検査時にＬＳＩテスタ等の外部装置で行ってもよいし、多数決回路や最大値抽出回路といった処理機能を半導体装置に内蔵してもよい。また、遅延情報の統計処理結果は、直接的に制御手段に伝達してもよいし、一時的にメモリ装置に保存し、その値を読み出して制御手段に供給してもよい。さらに、制御手段としては、電源電圧、動作周波数、基板バイアス電圧のそれぞれ１つ以上を組み合わせて制御するものであればよい。
【０２８１】
また、本実施の形態では半導体装置という名称を用いたが、これは説明の便宜上であり、半導体集積回路、電源電圧制御装置等であってもよいことは勿論である。
【０２８２】
さらに、上記半導体装置を構成する各回路部、例えばセンサ回路、バッファ回路の種類、数及び接続方法などは前述した実施の形態に限られない。
【産業上の利用可能性】
【０２８３】
本発明に係る半導体装置は、センサ回路、統計処理を行う演算回路、制御回路とを備えた半導体装置の回路構成は、ＣＭＯＳプロセスやバイポーラプロセス等の同一基板上の半導体装置に限らず、その使用目的や制約に合わせて、例えば各々の機能を、最も製品コストが安価となるような指標に準じて別々の半導体装置に分担させたり、もしくは最も小型になるような指標に準じて少数の半導体装置に集積したり、更に統計処理を行う機能を商品を構成する同一セット上のＤＳＰ回路や外部の検査装置、通信によって情報がやりとりされる外部の演算装置等に分担させる等の、目的に応じた柔軟な構成で実現することが可能である。
【図面の簡単な説明】
【０２８４】
【図１】本発明の実施の形態１に係る半導体装置の構成を示す回路ブロック図
【図２】本実施の形態に係る半導体装置のセンサ回路の具体的な構成を示す回路図
【図３】本実施の形態に係る半導体装置のマルチ位相ＰＬＬ回路の具体的な構成を示す回路図
【図４】図３のマルチ位相ＰＬＬ回路の位相出力を示すタイミング図
【図５】本実施の形態に係る半導体装置の多相出力リングオシレータの一例を示す回路図
【図６】本実施の形態に係る半導体装置のセンサ回路の配置の満遍なさを具体的に説明する図
【図７】本実施の形態に係る半導体装置のセンサ回路の配置の満遍なさを具体的に説明する図
【図８】本実施の形態に係る半導体装置のセンサ回路の配置の満遍なさを具体的に説明する図
【図９】本実施の形態に係る半導体装置の演算部の統計処理を示すフロー図
【図１０】本発明の実施の形態２に係る半導体装置の構成を示す回路ブロック図
【図１１】本実施の形態に係る半導体装置のセンサ回路の具体的な構成を示す回路図
【図１２】本実施の形態に係る半導体装置のバッファチェーン回路を構成するバッファ回路の具体的な構成を示す回路図
【図１３】本発明の実施の形態３に係る半導体装置の構成を示す回路ブロック図
【図１４】本実施の形態に係る半導体装置のセンサ回路が配置される実回路の具体的な構成を示す回路図
【図１５】本発明の実施の形態４に係る半導体装置の構成を示す回路ブロック図
【図１６】本実施の形態に係る半導体装置の位相制御部によって制御される主回路の回路構成を示す図
【図１７】本発明の実施の形態５に係る半導体装置の構成を示す回路ブロック図
【図１８】本発明の実施の形態６に係る半導体装置の構成を示す回路ブロック図
【図１９】本発明の実施の形態７に係る半導体装置の構成を示す回路ブロック図
【図２０】本発明の実施の形態８に係る半導体装置の構成を示す回路ブロック図
【符号の説明】
【０２８５】
１００，３００，４００，６００，７００，８００，９００，１０００  半導体装置
１０１ａ〜１０１ｇ，３０１ａ〜３０１ｇ  センサ回路
１０２，４０２  出力インターフェース回路
１０３  不揮発性メモリ
１１０  演算部
１２０  出力電圧制御部
１３０  電源電圧発生部
２００  マルチ位相ＰＬＬ回路
２１０  テスト信号発生回路
２１１  第１のフリップフロップ回路
２１２〜２１７  フリップフロップ回路
２２１，２２２，３３１，３３２  バッファチェーン回路
２２１ａ，２２２ａ，３２１ａ，３２２ａ  バッファ回路
２３０  デコーダ回路
２５０  分周器
２６１  位相比較器
２６２  チャージポンプ回路
２６３  ＬＰＦ
２６４  電圧制御回路
２６５  多相出力リングオシレータ
２６６  分周器
２７０  位相選択部
２８０  選択位相信号生成部
２９０  バッファ部
３３１  入力端子
３３２  出力端子
３３３  第２のＤＣバイアス電圧印加端子
３３４  第１のＤＣバイアス電圧印加端子
４１０  クロック発生部
４０３  モード設定端子
５００  実回路
５０１  クロック入力端子
５０２  テスト信号発生部
５０３  組合せ回路
５０４，５０５  フリップフロップ回路
５０６  出力端子
６１０  位相制御部
６２１〜６２４  セレクタ
６３０  位相制御回路
ＰＴ１  第１のＰＭＯＳトランジスタＰＴ１
ＰＴ２  第２のＰＭＯＳトランジスタ
ＮＴ１  第１のＮＭＯＳトランジスタ
ＮＴ２  第２のＮＭＯＳトランジスタ
ＩＮＶ１  第１のインバータ回路
ＩＮＶ２  第２のインバータ回路
【図１】
2008141013.tif 000004
【図２】
2008141013.tif 000005
【図３】
2008141013.tif 000006
【図４】
2008141013.tif 000007
【図５】
2008141013.tif 000008
【図６】
2008141013.tif 000009
【図７】
2008141013.tif 000010
【図８】
2008141013.tif 000011
【図９】
2008141013.tif 000012
【図１０】
2008141013.tif 000013
【図１１】
2008141013.tif 000014
【図１２】
2008141013.tif 000015
【図１３】
2008141013.tif 000016
【図１４】
2008141013.tif 000017
【図１５】
2008141013.tif 000018
【図１６】
2008141013.tif 000019
【図１７】
2008141013.tif 000020
【図１８】
2008141013.tif 000021
【図１９】
2008141013.tif 000022
【図２０】
2008141013.tif 000023