(57)【要約】【課題】従来技術の半導体集積回路では、チップの特性を精度良く検出できないという問題があった。【解決手段】本発明にかかる半導体集積回路は、モニタ回路１２＿１と、連続するＭ（Ｍは２以上の整数）個のパルスからなるクロックパルス信号ＥＮ＿ＰＵＬＳＥを生成し、モニタ回路１２＿１に対して出力する制御回路１３と、を備える。また、モニタ回路１２は、クロックパルス信号ＥＮ＿ＰＵＬＳＥをＭ分周し、イネーブル信号ＥＮとして生成する分周器１２１と、イネーブル信号ＥＮに基づいて設定された期間に発振信号をモニタ出力値として生成するリングオシレータ１２２と、を備える。【選択図】図１
2011159873.tif 000002
【特許請求の範囲】
【請求項１】
第１のモニタ回路と、
連続するＭ（Ｍは２以上の整数）個のパルスからなる制御信号を生成し、前記第１のモニタ回路に対して出力する制御回路と、を備え、
前記第１のモニタ回路は、
前記制御信号をＭ分周し、イネーブル信号として生成する分周回路と、
前記イネーブル信号に基づいて設定された期間に、発振信号をモニタ出力値として生成する発振回路と、を備えた半導体集積回路。
【請求項２】
前記制御回路は、
入力されたクロック信号の周期に比例した周期の前記制御信号を出力することを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
前記第１のモニタ回路と同じ回路構成の第２のモニタ回路をさらに備え、
前記制御回路は、
前記第１及び前記第２のモニタ回路に対して前記制御信号を出力することを特徴とする請求項１又は２に記載の半導体集積回路。
【請求項４】
前記第１のモニタ回路に設けられた発振回路の発振回数と、前記第２のモニタ回路に設けられた発振回路の発振回数と、を平均して平均モニタ出力値を生成する集計回路をさらに備えた請求項３に記載の半導体集積回路。
【請求項５】
前記第１のモニタ回路は、
前記発振回路の発振回数をカウントし、カウント結果を前記発振信号に代えてモニタ出力値として生成するカウンタをさらに備えた請求項１又は２に記載の半導体集積回路。
【請求項６】
前記第１及び前記第２のモニタ回路は、
前記発振回路の発振回数をそれぞれカウントし、カウント結果を前記発振信号に代えてモニタ出力値として生成するカウンタをさらに備え、
前記集計回路は、
前記第１及び前記第２のモニタ回路から生成されたそれぞれのモニタ出力値に基づいて前記平均モニタ出力値を生成することを特徴とする請求項４に記載の半導体集積回路。
【請求項７】
前記第１及び前記第２のモニタ回路は、
前記発振回路の発振回数をそれぞれカウントし、カウント結果を前記発振信号に代えてモニタ出力値として生成するカウンタをさらに備え、
前記第２のモニタ回路は、
当該第２のモニタ回路に設けられた前記発振回路の発振回数に加え、さらに前記第１のモニタ回路から生成されたモニタ出力値に基づいてモニタ出力値を生成し、
前記集計回路は、
前記第２のモニタ回路から生成された前記モニタ出力値に基づいて前記平均モニタ出力値を生成することを特徴とする請求項４に記載の半導体集積回路。
【請求項８】
前記制御回路は、
前記第１のモニタ回路に対して前記制御信号を出力した後、前記第２のモニタ回路に対してさらに前記制御信号を出力することを特徴とする請求項７に記載の半導体集積回路。
【請求項９】
前記第１のモニタ回路は、第１のレジスタをさらに備え、
前記第２のモニタ回路は、第２のレジスタをさらに備え、
前記制御回路は、前記第１及び第２のレジスタを駆動するトリガ信号をさらに生成し、
カウントモードの場合、
前記第１のレジスタは、前記第１のモニタ回路に設けられた発振回路の発振回数を前記トリガ信号に同期して保持し、
前記第２のレジスタは、前記第２のモニタ回路に設けられた発振回路の発振回数を前記トリガ信号に同期して保持し、
シフトモードの場合、
前記第１のレジスタは、保持している値を前記トリガ信号に同期して前記第２のレジスタに対して出力し、
前記第２のレジスタは、保持している値を前記トリガ信号に同期して前記集計回路に対して出力することを特徴とする請求項７に記載の半導体集積回路。
【請求項１０】
前記集計回路は、
前記第１及び前記第２のモニタ回路に設けられた発振回路のそれぞれの発振信号を順に選択して出力するセレクタと、
前記セレクタによって選択されている発振信号の発振回数をカウントするカウンタと、
前記カウンタのカウント値に基づいて前記平均モニタ出力値を生成する平均化回路と、を備えた請求項４に記載の半導体集積回路。
【請求項１１】
前記発振回路は、
リングオシレータであることを特徴とする請求項１〜１０のいずれか一項に記載の半導体集積回路。
【請求項１２】
前記第１のモニタ回路は、
前記リングオシレータを複数備え、
複数の前記リングオシレータは、
それぞれ構成素子のしきい値電圧が異なることを特徴とする請求項１１に記載の半導体集積回路。
【請求項１３】
請求項１〜１２のいずれか一項に記載の半導体集積回路と、
前記半導体集積回路のモニタ出力値に応じた電圧制御信号を生成する電圧制御回路と、
前記半導体集積回路に供給する電圧を前記電圧制御信号に基づいて制御する電圧供給回路と、を備えた電圧制御装置。
【請求項１４】
前記電圧制御回路は、
第１の基準値を保持する第３のレジスタと、
前記第１の基準値と前記モニタ出力値とを比較して前記電圧制御信号を生成する比較回路と、を備えた請求項１３に記載の電圧制御装置。
【請求項１５】
前記第３のレジスタは、
第１の基準値に加え、さらに第２の基準値を保持し、
前記比較回路は、
前記モニタ出力値が前記第１及び前記第２の基準値の範囲内を示すように前記電圧制御信号を生成することを特徴とする請求項１４に記載の電圧制御装置。
【請求項１６】
前記電圧供給回路が供給する電圧は電源電圧であることを特徴とする請求項１３〜１５のいずれか一項に記載の電圧制御装置。
【請求項１７】
前記電圧供給回路が供給する電圧は基板バイアスであることを特徴とする請求項１３〜１５のいずれか一項に記載の電圧制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路及びそれを備えた電圧制御装置に関し、特にチップの特性を検出する半導体集積回路に関する。
【背景技術】
【０００２】
ＣＭＯＳ（Complementary Metal Oxide Semiconductor）論理ゲートを用いた半導体集積回路の消費電力を低減するための方式の一つに、ＤＶＦＳ(Dynamic Voltage and frequency Scaling)がある。ＤＶＦＳは、要求される動作速度に応じて電源電圧を制御する方式である。さらに、ＤＶＦＳを実現するための方式の一つに、遅延モニタを用いた方式がある。遅延モニタは、チップの動作速度が基準値に達しているかどうかを検出するモニタである。したがって、遅延モニタは、プロセス水準、温度および電源電圧に依存するチップの特性を精度よく検出することが必要である。
【０００３】
遅延モニタを用いた半導体集積回路が特許文献１に開示されている。遅延モニタは、例えば、リングオシレータを備え、所定の期間内におけるリングオシレータの発振回数をカウントする。それにより、従来技術の半導体集積回路は、温度センサや電圧センサを用いずに、遅延モニタによってゲート遅延を検出することができる。つまり、従来技術の半導体集積回路は、遅延モニタによってチップ内の素子の特性ばらつきを検出することができる。
【０００４】
その他、特許文献２及び特許文献３にも、モニタ回路又は速度モニタ回路を用いた半導体集積回路が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１８０６３５号公報
【特許文献２】特開２００２−１００９６７号公報
【特許文献３】特開２００５−０４５１７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来技術では、例えば、チップ内に複数の遅延モニタ（モニタ回路）を配置して、それらの出力結果（カウント値）の平均値を求めることにより、チップ内の素子の特性ばらつきを平均化して出力する。特に、従来技術では、遅延モニタからデジタル値の結果（カウント値）が出力されるため、チップの特性を容易に検出することができる。
【０００７】
なお、チップの特性を精度良く検出可能にするために、各遅延モニタでは、同じ実行時間のカウント動作が行われる必要がある。つまり、各遅延モニタでは、リングオシレータが同じ発振時間にて発振する必要がある。そのため、各遅延モニタに供給されリングオシレータの発振時間を制御する制御信号（オシレータイネーブル）は、それぞれオン期間を一致させる必要がある。そこで、従来技術では、制御信号の立ち上がり及び立ち下がりのスキューの影響を排除するために、基準クロックの１クロック周期をオン期間としている。
【０００８】
ここで、従来技術の場合、基準クロックと計測開始信号とに基づいて、制御信号のオン期間を決定している。具体的には、従来技術の場合、フリップフロップが、基準クロックに同期してハイレベルの計測開始信号を検出することにより、オン状態の制御信号（オシレータイネーブル）を生成している。このように、従来技術の場合、各遅延モニタにおいて、制御信号を生成するために基準クロックと計測開始信号との２本の信号配線が用いられる。そのため、基準クロックと計測開始信号との間のスキューが大きい場合、各遅延モニタに供給される制御信号のオン期間が異なってしまう可能性があった。それにより、従来技術では、チップの特性を精度良く検出することができないという問題があった。
【課題を解決するための手段】
【０００９】
本発明にかかる半導体集積回路は、第１のモニタ回路と、連続するＭ（Ｍは２以上の整数）個のパルスからなる制御信号を生成し、前記第１のモニタ回路に対して出力する制御回路と、を備え、前記第１のモニタ回路は、前記制御信号をＭ分周し、イネーブル信号として生成する分周回路と、前記イネーブル信号に基づいて設定された期間に、発振信号をモニタ出力値として生成する発振回路と、を備える。
【００１０】
上述のような回路構成により、チップの特性を精度良く検出することができる。
【発明の効果】
【００１１】
本発明により、チップの特性を精度良く検出することが可能な半導体集積回路を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態１にかかる半導体集積回路を示す図である。
【図２】本発明の実施の形態１にかかる制御回路を示す図である。
【図３】本発明の実施の形態１にかかるモニタ回路を示す図である。
【図４】本発明の実施の形態１にかかる集計回路を示す図である。
【図５】本発明の実施の形態１にかかる半導体集積回路の動作を示すタイミングチャートである。
【図６】本発明の実施の形態１にかかる半導体集積回路を示す図である。
【図７】本発明の実施の形態１にかかるモニタ回路を示す図である。
【図８】本発明の実施の形態１にかかる半導体集積回路の動作を示すタイミングチャートである。
【図９】本発明の実施の形態１にかかるモニタ回路を示す図である。
【図１０】本発明の実施の形態１にかかる半導体集積回路の動作を示すタイミングチャートである。
【図１１】本発明の実施の形態１にかかる半導体集積回路の動作を示すタイミングチャートである。
【図１２】本発明の実施の形態２にかかる半導体集積回路を示す図である。
【図１３】本発明の実施の形態２にかかるモニタ回路を示す図である。
【図１４】本発明の実施の形態２にかかる半導体集積回路の動作を示すタイミングチャートである。
【図１５】本発明の実施の形態３にかかる半導体集積回路を示す図である。
【図１６】本発明の実施の形態３にかかるモニタ回路を示す図である。
【図１７】本発明の実施の形態３にかかる集計回路を示す図である。
【図１８】本発明の実施の形態３にかかる半導体集積回路の動作を示すタイミングチャートである。
【図１９】本発明の実施の形態４にかかる半導体集積回路を示す図である。
【図２０】本発明の実施の形態４にかかるモニタ回路を示す図である。
【図２１】本発明の実施の形態４にかかる集計回路を示す図である。
【図２２】本発明の実施の形態４にかかる半導体集積回路の動作を示すタイミングチャートである。
【図２３】本発明の実施の形態４にかかるモニタ回路を示す図である。
【図２４】本発明の実施の形態５にかかるモニタ回路を示す図である。
【図２５】本発明の実施の形態６にかかる半導体集積回路を示す図である。
【図２６】本発明の実施の形態６にかかる電圧制御回路を示す図である。
【図２７】本発明の実施の形態７にかかる半導体集積回路を示す図である。
【図２８】本発明の実施の形態７にかかる電圧制御回路を示す図である。
【図２９】本発明の実施の形態７にかかる半導体集積回路の動作を示すタイミングチャートである。
【発明を実施するための形態】
【００１３】
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。説明の明確化のため、必要に応じて重複説明は省略される。
【００１４】
実施の形態１
図１に、本発明の実施の形態１にかかる半導体集積回路１１のブロック図を示す。図１に示す回路は、モニタ回路１２＿１〜１２＿Ｎと、制御回路１３と、集計回路１４と、を備える。なお、Ｎは、２のｋ乗（ｋは０以上の整数）に等しい値である。
【００１５】
制御回路１３では、クロック信号ＣＬＫ０及び制御信号ＲＣＴＲＬが入力され、リセット信号ＲＥ及びクロックパルス信号ＥＮ＿ＰＵＬＳＥをモニタ回路１２＿１〜１２＿Ｎに対して出力する。モニタ回路１２＿１〜１２＿Ｎは、対応するカウント値Ｃ＿１〜Ｃ＿Ｎを集計回路１４に対して出力する。そして、集計回路１４は、カウント値Ｃ＿１〜Ｃ＿Ｎの平均値であるカウント値ＣＡＶＥを出力する。なお、モニタ回路１２＿１〜１２＿Ｎは、プロセス水準、温度及び電源電圧に依存するチップの特性を検出するための回路である。
【００１６】
図２に、制御回路１３の回路構成を示す。制御回路１３は、分周器１３１と、カウンタ１３２と、論理回路１３３と、を有する。分周器１３１は、周期Ｔ０のクロック信号ＣＬＫ０をｎ分周したクロック信号ＣＬＫ１を、カウンタ１３２に対して出力する。分周比ｎは、制御信号ＲＣＴＲＬによって制御可能である。なお、ｎは１以上の整数であり、ＣＬＫ１の周期はｎ×Ｔ０である。
【００１７】
カウンタ１３２は、クロック信号ＣＬＫ１の検出エッジ（例えば、立ち上がりエッジ）をカウントし、カウント値を論理回路１３３に対して出力する。論理回路１３３は、カウント値に基づいてリセット信号ＲＥ及びクロックパルス信号ＥＮ＿ＰＵＬＳＥを生成し、各モニタ回路１２＿１〜１２＿Ｎ（図１参照）に対して出力する。なお、制御回路１３は、２つのパルス信号からなるクロックパルス信号（制御信号）ＥＮ＿ＰＵＬＳＥを出力する。
【００１８】
図３に、モニタ回路１２＿ｉの回路構成を示す。ここで、ｉは１からＮまでの整数である。また、Ｎ個のモニタ回路１２＿１〜１２＿Ｎは、すべて同じ回路構成である。モニタ回路１２＿ｉは、分周器（分周回路）１２１と、リングオシレータ１２２と、カウンタ１２３と、を有する。また、リングオシレータ１２２は、遅延ゲート１２４と、ＮＡＮＤ論理ゲート（以下、単にＮＡＮＤと称す）１２５と、を有する。
【００１９】
分周器１２１は、クロックパルス信号ＥＮ＿ＰＵＬＳＥを２分周して、イネーブル信号ＥＮとしてリングオシレータ１２２に対して出力する。
【００２０】
リングオシレータ１２２は、イネーブル信号ＥＮがハイレベル（＝"１"）の期間Ｔだけ発振し、発振信号ＲＯＯＵＴを出力する。具体的には、リングオシレータ１２２において、ＮＡＮＤ１２５の一方の入力端子には、イネーブル信号ＥＮが入力される。ＮＡＮＤ１２５の他方の入力端子には、ＮＡＮＤ１２５の出力信号が遅延ゲート１２４を介して入力される。そして、リングオシレータ１２２は、遅延ゲート１２４の出力信号を、発振信号ＲＯＯＵＴとして、カウンタ１２３に対して出力する。なお、遅延ゲート１２４は、例えば直列接続された複数のインバータによって構成される。ここで、遅延ゲート１２４では、各インバータの特性のランダムばらつきが遅延時間に与える影響を十分に小さくする必要がある。そのため、遅延ゲート１２４を構成するインバータの段数は、当該遅延時間に影響を与えない程度まで制限されている。
【００２１】
カウンタ１２３は、イネーブル信号ＥＮが"１"になる前に、リセット信号ＲＥによってカウント値０に初期化される。その後、カウンタ１２３は、イネーブル信号ＥＮが"１"の期間Ｔにおける発振信号ＲＯＯＵＴの発振回数（パルス数）をカウントし、カウント値Ｃ＿ｉを出力する。
【００２２】
前述のように、図１において、各モニタ回路１２＿１〜１２＿Ｎは、対応するカウント値Ｃ＿１〜Ｃ＿Ｎを集計回路１４に対して出力する。そして、集計回路１４は、カウント値Ｃ＿１〜Ｃ＿Ｎの平均値である平均カウント値ＣＡＶＥを出力する。なお、本実施の形態では、カウント値Ｃ＿１〜Ｃ＿Ｎ及び平均カウント値ＣＡＶＥは、それぞれｍビットの２進数値である。なお、ｍは自然数である。
【００２３】
図４に、モニタ回路１２＿１〜１２＿Ｎの個数Ｎが２のｋ乗である場合の集計回路１４の回路構成を示す。なお、ｋは０以上の整数である。集計回路１４は、ツリー状に接続された加算器１４＿１〜１４＿Ｎ−１と、平均化回路１４２と、を有する。具体的には、加算器１４＿１は、カウント値Ｃ＿１，Ｃ＿２を加算して出力する。同様にして、加算器１４＿（Ｎ／２）は、カウント値Ｃ＿Ｎ−１，Ｃ＿Ｎを加算して出力する。次段では、加算器１４＿（Ｎ／２＋１）は、加算器１４＿１，１４＿２の出力結果を加算して出力する。このようにして、最終段では、加算器１４＿Ｎ−１は、加算器１４＿Ｎ−３，１４＿Ｎ−２の出力結果を加算して出力する。
【００２４】
平均化回路１４２は、最終段の加算器１４＿Ｎ−１の出力結果のうち、下位ｋ＋１ビット目からｋ＋ｍビット目までを出力する。
【００２５】
次に、本実施の形態にかかる半導体集積回路１１の動作について、図５に示すタイミングチャートを用いて説明する。モニタ回路１２＿ｉにおいて、初期状態ｔ０では、リセット信号ＲＥ＝０、クロックパルス信号ＥＮ＿ＰＵＬＳＥ＝０である。次に、リセット信号ＲＥ＝１となることにより、カウンタ１２３が初期化される（期間ｔ１〜ｔ２）。その後、クロックパルス信号ＥＮ＿ＰＵＬＳＥの１つ目のパルス信号が立ち上がる（時刻ｔ３）。その後、クロックパルス信号ＥＮ＿ＰＵＬＳＥの２つ目のパルス信号が立ち上がる（時刻ｔ４）。クロックパルス信号ＥＮ＿ＰＵＬＳＥが立ち上がってから次に立ち上がるまでの間（期間ｔ３〜ｔ４；期間Ｔ）、分周器１２１は、イネーブル信号ＥＮ＝１を出力する。リングオシレータ１２２は、期間Ｔにおいて発振し、発振信号ＲＯＯＵＴをカウンタ１２３に対して出力する。
【００２６】
カウンタ１２３は、期間Ｔにおける発振信号ＲＯＯＵＴの発振回数をカウントし、カウント値Ｃ＿ｉを出力する。ここで、カウント値Ｃ＿ｉは、リングオシレータ１２２の発振周期ＴＲＯＳＣに応じたカウント値Ｔ／ＴＲＯＳＣを示す（時刻ｔ４）。
【００２７】
このように、モニタ回路１２＿１〜１２＿Ｎは、それぞれ対応するカウント値Ｃ＿１〜Ｃ＿Ｎを集計回路１４に対して出力する。集計回路１４は、カウント値Ｃ＿１〜Ｃ＿Ｎを平均した値（Ｃ＿１＋Ｃ＿２＋・・・＋Ｃ＿Ｎ）／Ｎをカウント値ＣＡＶＥとして出力する。
【００２８】
以上のように、本実施の形態にかかる半導体集積回路は、チップ内に複数箇所設置したモニタ回路によってチップ内の特性ばらつきを平均化した値を検出することができる。ここで、本実施の形態にかかる半導体集積回路は、各モニタ回路に設けられたリングオシレータの発振時間をクロックパルス信号ＥＮ＿ＰＵＬＳＥのみで制御する。したがって、本実施の形態にかかる半導体集積回路は、従来技術と異なり、２つの制御信号（例えば、従来技術における基準クロックと計測開始信号）の間のスキューが大きいことによる、リングオシレータの発振時間のずれが生じない。つまり、本実施の形態にかかる半導体集積回路は、各モニタ回路に設けられたリングオシレータの発振時間を精度良く一致させることができる。そのため、本実施の形態にかかる半導体集積回路は、チップの性能を高精度にモニタすることができる。
【００２９】
また、本実施の形態にかかる半導体集積回路は、制御回路１３に設けられた分周器１３１を用いることにより、クロック信号ＣＬＫ０の周期Ｔ０の分周比ｎを制御することができる。したがって、クロック信号ＣＬＫ０の周期Ｔ０に関係なく、各モニタ回路に設けられたリングオシレータ１２２の発振時間を常に所望の範囲内に設定することが可能である。それにより、本実施の形態にかかる半導体集積回路は、様々な動作周波数のチップに対して同じ回路構成のモニタ回路を用いてチップ性能の評価をすることができる。
【００３０】
なお、本実施の形態では、Ｎが２のｋ乗である場合を例に説明したが、これに限られず、Ｎは任意の自然数であっても良い。なお、Ｎが２のｋ乗以外の他の自然数である場合、集計回路１４は除数Ｎの除算器をさらに備える必要があるため、回路構成は複雑になるが、モニタ回路としての汎用性は大きくなる。また、Ｎ＝１の場合、集計回路１４は不要となるため、図６に示すような集計回路１４を有しない回路構成でよい。この場合、モニタ回路１２＿１は、カウント値Ｃ＿１を最終的なモニタ出力値（平均カウント値ＣＡＶＥ）として出力する。
【００３１】
また、本実施の形態では、図３に示すモニタ回路１２＿ｉを用いた場合を例に説明したが、これに限られない。例えば、図７に示すモニタ回路１２ｂ＿ｉ（ｉは１からＮまでの整数）を用いた回路構成にも適宜変更可能である。図７に示す回路は、図３に示す回路と比較して、ｍ個のＡＮＤ論理ゲート（以下、単にＡＮＤと称す）からなるゲーティング回路１２６をさらに有する。ｍ個のＡＮＤの一方の端子には、イネーブル信号ＥＮの反転信号が入力される。また、ｍ個のＡＮＤの他方の端子には、カウンタ１２３の対応するビット線の出力信号が入力される。なお、カウンタ１２３の出力信号はｍビット幅を有する。
【００３２】
モニタ回路１２ｂ＿ｉは、イネーブル信号ＥＮ＝１の間、カウンタ１２３によるカウント値をカウント値Ｃ＿ｉとして出力せず、"０"を出力する。そして、モニタ回路１２ｂ＿ｉは、イネーブル信号ＥＮが"１"から"０"に変化すると、カウンタ１２３による最終的なカウント値をカウント値Ｃ＿ｉとして出力する。このような回路構成により、図８に示すように、リングオシレータ１２２の発振中（期間Ｔ）のカウント値Ｃ＿ｉが出力されない。それにより、モニタ回路１２ｂ＿ｉと集計回路１４との間の配線のスイッチング回数を低減することができ、ノイズ及び消費電力を低減することができる。
【００３３】
また、本実施の形態では、分周器１２１がクロックパルス信号ＥＮ＿ＰＵＬＳＥを２分周してイネーブル信号ＥＮを生成しているが、これに限られない。分周器１２１の分周比をＲ（Ｒは自然数）とし、クロックパルス信号ＥＮ＿ＰＵＬＳＥをパルス数Ｒだけ入力してイネーブル信号ＥＮを生成する回路構成にも適宜変更可能である。
【００３４】
また、本実施の形態では、制御回路１３が、各モニタ回路１２＿１〜１２＿Ｎに対して同一のクロックパルス信号ＥＮ＿ＰＵＬＳＥを出力した場合を例に説明したが、これに限られない。制御回路１３が、各モニタ回路１２＿１〜１２＿Ｎに対してそれぞれ異なるクロックパルス信号ＥＮ＿ＰＵＬＳＥ＿ｉ（ｉは１からＮまでの整数）を出力する回路構成にも適宜変更可能である。このとき、各モニタ回路１２＿１〜１２＿Ｎに設けられたリングオシレータ１２２の発振時期が重ならないようにクロックパルス信号ＥＮ＿ＰＵＬＳＥ＿ｉを生成することにより、より長いサンプリング期間における平均カウント値ＣＡＶＥを検出することができる。つまり、より長いサンプリング期間におけるチップの特性を検出することができる。
【００３５】
また、本実施の形態では、図３に示すモニタ回路１２＿ｉを用いた場合を例に説明したが、これに限られない。例えば、図９に示すモニタ回路１２ｃ＿ｉ（ｉは１からＮまでの整数）を用いた回路構成にも適宜変更可能である。図９に示す回路は、図３に示す回路と比較して、リングオシレータ１２２とカウンタ１２３との間に分周器１２７をさらに有する。分周器１２７は、発振信号ＲＯＯＵＴを分周比ａ（ａは自然数）で分周した分周信号ＤＩＶＯＵＴをカウンタ１２３に対して出力する。
【００３６】
このような回路構成により、リングオシレータ１２２の発振周波数が高い場合でも、分周信号ＤＩＶＯＵＴの周波数を所望の周波数まで下げることができる。それにより、カウンタ１２３では、カウント値の上限を下げることができるため、出力信号のビット幅を小さくすることができる。言い換えると、カウンタ１２３に必要な桁数を小さく抑えることができる。さらに、クロック信号ＣＬＫ０の周期Ｔ０が大きすぎる場合でも、分周比ａを大きくすることにより、カウンタ１２３の出力信号のビット幅を小さくすることができる。言い換えると、カウンタ１２３に必要な桁数を小さく抑えることができる。
【００３７】
例えば、クロック信号ＣＬＫ０の周期Ｔ０が小さい場合には、図１０に示すように分周器１３１の分周比ｎを大きく設定するとともに、分周器１２７の分周比ａを小さく設定する。一方、クロック信号ＣＬＫ０の周期Ｔ０が大きい場合には、図１１に示すように分周器１３１の分周比ｎを小さく設定するとともに、分周器１２７の分周比ａを大きく設定する。それにより、カウンタ１２３の出力信号のビット幅を小さくすることができる。同時に、クロック信号ＣＬＫ０の周期Ｔ０に関わらず、モニタ回路１２＿ｉのカウント値Ｃ＿ｉを所望の範囲内に収めることができる。つまり、クロック信号ＣＬＫ０の周期Ｔ０に関わらず、カウンタ１２３に必要な桁数を同等程度の範囲に収めることができる。それにより、様々な動作周波数のチップに対して同じ回路構成のモニタ回路を用いてチップ性能の評価をすることができる。
【００３８】
実施の形態２
図１２に、本発明の実施の形態２にかかる半導体集積回路２１のブロック図を示す。図１２に示す回路は、モニタ回路２２＿１〜２２＿Ｎと、制御回路２３と、集計回路２４と、を備える。また、集計回路２４は平均化回路２４２を有する。なお、Ｎは２のｋ乗（ｋは０以上の整数）に等しい値である。
【００３９】
制御回路２３では、クロック信号ＣＬＫ０及び制御信号ＲＣＴＲＬが入力され、リセット信号ＲＥ＿１〜ＲＥ＿Ｎ及びクロックパルス信号ＥＮ＿ＰＵＬＳＥ＿１〜ＥＮ＿ＰＵＬＳＥ＿Ｎを対応するモニタ回路２２＿１〜２２＿Ｎに対して出力する。モニタ回路２２＿１は、カウント値Ｃ２＿１をモニタ回路２２＿２に対して出力する。モニタ回路２２＿２は、カウント値Ｃ２＿２をモニタ回路２２＿３に対して出力する。このようにして、モニタ回路２２＿１〜２２＿Ｎ−１は、それぞれ後段のモニタ回路２２＿２〜２２＿Ｎに対してカウント値Ｃ２＿１〜Ｃ２＿Ｎ−１を出力する。そして、モニタ回路２２＿Ｎは、カウント値Ｃ２＿Ｎを平均化回路２４２に対して出力する。平均化回路２４２は、カウント値Ｃ２＿１〜Ｃ２＿Ｎの平均値である平均カウント値Ｃ２ＡＶＥを出力する。なお、モニタ回路２２＿１〜２２＿Ｎは、プロセス水準、温度及び電源電圧に依存するチップの特性を検出するための回路である。
【００４０】
制御回路２３は、モニタ回路２２＿１〜２２＿Ｎに対してそれぞれ異なるリセット信号ＲＥ＿１〜ＲＥ＿Ｎ及びクロックパルス信号ＥＮ＿ＰＵＬＳＥ＿１〜ＥＮ＿ＰＵＬＳＥ＿Ｎを出力する以外は、制御回路１３と同様の回路構成であるため、詳細な説明を省略する。なお、制御回路２３は、２つのパルス信号からなるクロックパルス信号ＥＮ＿ＰＵＬＳＥ＿１〜ＥＮ＿ＰＵＬＳＥをそれぞれ出力する。
【００４１】
図１３に、モニタ回路２２＿ｉの回路構成を示す。ここで、ｉは１からＮまでの整数である。また、Ｎ個のモニタ回路２２＿１〜２２＿Ｎは、すべて同じ回路構成である。モニタ回路２２＿ｉは、分周器２２１と、リングオシレータ２２２と、カウンタ２２３と、を有する。また、リングオシレータ２２２は、遅延ゲート２２４と、ＮＡＮＤ２２５と、を有する。
【００４２】
分周器２２１は、クロックパルス信号ＥＮ＿ＰＵＬＳＥ＿ｉを２分周して、イネーブル信号ＥＮとしてリングオシレータ２２２に対して出力する。
【００４３】
リングオシレータ２２２は、イネーブル信号ＥＮがハイレベル（＝"１"）の期間Ｔだけ発振し、発振信号ＲＯＯＵＴを出力する。リングオシレータ２２２は、実施の形態１におけるリングオシレータ１２２の回路構成と同じであるため、詳細な説明を省略する。なお、ＮＡＮＤ２２５はＮＡＮＤ１２５に対応し、遅延ゲート２２４は遅延ゲート１２４に対応する。
【００４４】
カウンタ２２３は、イネーブル信号ＥＮが"１"になる前に、リセット信号ＲＥ＿ｉによって、前段のモニタ回路２２＿ｉ―１のカウント値Ｃ２＿ｉ−１にセットされる。なお、モニタ回路２２＿１の場合（ｉ＝１の場合）、イネーブル信号ＥＮが"１"になる前に、リセット信号ＲＥ＿１によってカウント値０に初期化される。その後、カウンタ２２３は、イネーブル信号ＥＮが"１"の期間Ｔにおける発振信号ＲＯＯＵＴの発振回数（パルス数）をカウントし、当該カウント値とカウント値Ｃ２＿ｉとの合計値をカウント値Ｃ２＿ｉとして出力する。
【００４５】
モニタ回路２２＿Ｎは、モニタ回路２２＿１〜２２＿Ｎの合計カウント値をカウント値Ｃ２＿Ｎとして平均化回路２４２に対して出力する。平均化回路２４２は、カウント値Ｃ２＿ＮをＮで割った値を平均カウント値Ｃ２ＡＶＥとして出力する。ここで、カウント値Ｃ２＿Ｎ，Ｃ２ＡＶＥはそれぞれ２進数値である。モニタ回路の個数Ｎが２のｋ乗に等しい場合、平均化回路２４２はカウント値Ｃ２＿Ｎを下位側にｋビットシフトし、下位ｋ＋１ビット目及びそれより上位ビットを出力するシフタである。
【００４６】
次に、本実施の形態にかかる半導体集積回路２１の動作について、図１４に示すタイミングチャートを用いて説明する。なお、初期状態ｔ０では、リセット信号ＲＥ＝０、クロックパルス信号ＥＮ＿ＰＵＬＳＥ＿ｉ＝０である。
【００４７】
まず、モニタ回路２２＿１の動作について、図１４に示すタイミングチャートを用いて説明する。リセット信号ＲＥ＿１＝１となることにより、カウンタ２２３が初期化される（期間ｔ１〜ｔ２）。その後、クロックパルス信号ＥＮ＿ＰＵＬＳＥ＿１の１つ目のパルス信号が立ち上がる（時刻ｔ３）。その後、クロックパルス信号ＥＮ＿ＰＵＬＳＥ＿１の２つ目のパルス信号が立ち上がる（時刻ｔ４）。クロックパルス信号ＥＮ＿ＰＵＬＳＥ＿１が立ち上がってから次に立ち上がるまでの間（期間ｔ３〜ｔ４；期間Ｔ）、分周器２２１は、イネーブル信号ＥＮ＝１を出力する。リングオシレータ２２２は、期間Ｔにおいて発振し、発振信号ＲＯＯＵＴをカウンタ２２３に対して出力する。カウンタ２２３は、期間Ｔにおける発振信号ＲＯＯＵＴの発振回数をカウントし、カウント値Ｃ２＿１を出力する。ここで、カウント値Ｃ２＿１は、リングオシレータ２２２の発振周期ＴＲＯＳＣ１に応じたカウント値Ｔ／ＴＲＯＳＣ１を示す（時刻ｔ４）。以下では、カウント値Ｃ２＿１が、２進数表記の（００００１００１）である場合を例に説明する。
【００４８】
次に、モニタ回路２２＿２の動作について、図１４に示すタイミングチャートを用いて説明する。リセット信号ＲＥ＿２＝１となることにより、カウンタ２２３がモニタ回路２２＿１のカウント値Ｃ２＿１（＝Ｔ／ＴＲＯＳＣ１）にセットされる（期間ｔ５〜ｔ６）。その後、クロックパルス信号ＥＮ＿ＰＵＬＳＥ＿２の１つ目のパルス信号が立ち上がる（時刻ｔ７）。このとき、カウント値Ｃ２＿２は、カウント値Ｃ２＿１と同じ（００００１００１）である。その後、クロックパルス信号ＥＮ＿ＰＵＬＳＥ＿２の２つ目のパルス信号が立ち上がる（時刻ｔ８）。クロックパルス信号ＥＮ＿ＰＵＬＳＥ＿２が立ち上がってから次に立ち上がるまでの間（期間ｔ７〜ｔ８；期間Ｔ）、分周器２２１は、イネーブル信号ＥＮ＝１を出力する。リングオシレータ２２２は、期間Ｔにおいて発振し、発振信号ＲＯＯＵＴをカウンタ２２３に対して出力する。カウンタ２２３は、期間Ｔにおける発振信号ＲＯＯＵＴの発振回数をカウントし、当該カウント値とカウント値Ｃ２＿１との合計値をカウント値Ｃ２＿２として出力する。ここで、カウント値Ｃ２＿２は、リングオシレータ２２２の発振周期ＴＲＯＳＣ２に応じたカウント値Ｔ／ＴＲＯＳＣ２とカウント値Ｃ２＿１との合計値を示す（時刻ｔ８）。例えば、Ｔ／ＴＲＯＳＣ２が（００００１０１１）である場合を例に説明する。この場合、時刻ｔ８におけるカウント値Ｃ２＿２は、Ｔ／ＴＲＯＳＣ１＋Ｔ／ＴＲＯＳＣ２であるため、（０００１０１００）を示す。
【００４９】
以降、モニタ回路２２＿ｉ（ｉ＝３，４，…，Ｎ）において、モニタ回路２２＿２と同様の動作が行われる。ここで、リセット信号ＲＥ＿ｉ＝１の場合に、モニタ回路２２＿ｉのカウンタ２２３にセットされる値はカウント値Ｃ２＿ｉ−１である。なお、モニタ回路２２＿ｉのカウント完了後のカウント値Ｃ２＿ｉは次式で表される。
【数１】
2011159873.tif 000003
【００５０】
モニタ回路２２＿Ｎは、カウント完了後（時刻ｔｅ）、カウント値Ｃ２＿Ｎを平均化回路２４２に対して出力する。平均化回路２４２は、カウント値Ｃ２＿ＮをＮで割った値Ｃ２＿Ｎ／Ｎを平均カウント値Ｃ２ＡＶＥとして出力する。つまり、平均化回路２４２は、カウント値Ｃ２＿ＮをＮで割った値Ｃ２＿Ｎ／Ｎを最終的なモニタ出力値として出力する。
【００５１】
以上のように、本実施の形態にかかる半導体集積回路は、チップ内に複数箇所設置したモニタ回路によってチップ内の特性ばらつきを平均化した値を検出することができる。ここで、本実施の形態にかかる半導体集積回路は、各モニタ回路に設けられたリングオシレータの発振時間をそれぞれ対応するクロックパルス信号ＥＮ＿ＰＵＬＳＥのみで制御する。したがって、本実施の形態にかかる半導体集積回路は、実施の形態１の場合と同様に、各モニタ回路に設けられたリングオシレータの発振時間を精度良く一致させることができる。そのため、本実施の形態にかかる半導体集積回路は、チップの性能を高精度にモニタすることができる。また、本実施の形態にかかる半導体集積回路は、各モニタ回路の出力をすべて集計回路２４に接続する必要がなく、近接するモニタ回路へと接続するだけでよい。そのため、全体の配線長を短くすることができる。
【００５２】
なお、本実施の形態では、集計回路２４において、カウント値Ｃ２＿ＮをＮで割った値Ｃ２＿Ｎ／Ｎをモニタ出力値として出力しているが、これに限られない。カウント値Ｃ２＿Ｎ／Ｎの代わりにカウント値Ｃ２＿Ｎをモニタ出力値として出力する回路構成にも適宜変更可能である。その場合、平均化回路２４２は不要である。
【００５３】
実施の形態３
図１５に、本発明の実施の形態３にかかる半導体集積回路３１のブロック図を示す。図１５に示す回路は、モニタ回路３２＿１〜３２＿Ｎと、制御回路３３と、集計回路３４と、を備える。なお、Ｎは２のｋ乗（ｋは０以上の整数）に等しい値である。
【００５４】
制御回路３３では、クロック信号ＣＬＫ０及び制御信号ＲＣＴＲＬが入力され、リセット信号ＲＥ及びｓビットのセレクト信号ＳＥＬを集計回路３４に対して出力するとともに、クロックパルス信号ＥＮ＿ＰＵＬＳＥをモニタ回路３２＿１〜３２＿Ｎに対して出力する。なお、２＾（ｓ−１）＜Ｎ＜２＾ｓである。モニタ回路３２＿１〜３２＿Ｎは、対応する発振信号Ｃ３＿１〜Ｃ３＿Ｎを集計回路３４に対して出力する。そして、集計回路３４は、発振信号Ｃ３＿１〜Ｃ３＿Ｎに基づいて平均カウント値Ｃ３ＡＶＥを出力する。なお、モニタ回路３２＿１〜３２＿Ｎは、プロセス水準、温度及び電源電圧に依存するチップの特性を検出するための回路である。
【００５５】
制御回路３３は、ｓビットのセレクト信号ＳＥＬを出力する以外は、制御回路１３と同様の回路構成であるため、詳細な説明を省略する。なお、制御回路３３は、セレクト信号ＳＥＬの値が変化するごとに、２つのパルス信号からなるクロックパルス信号ＥＮ＿ＰＵＬＳＥを出力する。
【００５６】
図１６に、モニタ回路３２＿ｉの回路構成を示す。ここで、ｉは１からＮまでの整数である。また、Ｎ個のモニタ回路３２＿１〜３２＿Ｎは、すべて同じ回路構成である。モニタ回路３２＿ｉは、分周器３２１と、リングオシレータ３２２と、出力バッファ３２６と、を有する。また、リングオシレータ３２２は、遅延ゲート３２４と、ＮＡＮＤ３２５と、を有する。
【００５７】
分周器３２１は、クロックパルス信号ＥＮ＿ＰＵＬＳＥを２分周して、イネーブル信号ＥＮとしてリングオシレータ３２２に対して出力する。
【００５８】
リングオシレータ３２２は、イネーブル信号ＥＮがハイレベル（＝"１"）の期間Ｔだけ発振し、発振信号ＲＯＯＵＴを出力する。リングオシレータ３２２は、実施の形態１におけるリングオシレータ１２２の回路構成と同じであるため、詳細な説明を省略する。なお、ＮＡＮＤ３２５はＮＡＮＤ１２５に対応し、遅延ゲート３２４は遅延ゲート１２４に対応する。出力バッファ３２６は、発振信号ＲＯＯＵＴを駆動して発振信号Ｃ３＿ｉとして出力する。
【００５９】
図１７に、集計回路３４の回路構成を示す。集計回路３４は、セレクタ３４１と、カウンタ３４２と、平均化回路３４３と、を有する。セレクタ３４１は、セレクト信号ＳＥＬに基づいて発振信号Ｃ３＿１〜Ｃ３＿Ｎを順に選択し、カウンタ３４２に対して出力する。カウンタ３４２は、セレクタ３４１によって選択されている発振信号Ｃ３＿ｉの発振回数（パルス数）をカウントし、カウント値ＣＮＴ＿ｉを出力する。その後、セレクタ３４１は、次の発振信号Ｃ３＿ｉに切り替えて、カウンタ３４２に対して出力する。このようにして、カウンタ３４２は、すべての発振信号Ｃ３＿１〜Ｃ３＿Ｎの発振回数をカウントする。
【００６０】
平均化回路３４３は、発振信号Ｃ３＿１〜Ｃ３＿Ｎの合計発振回数をＮで割った値を平均カウント値Ｃ３ＡＶＥとして出力する。言い換えると、平均化回路３４３は、カウント値ＣＮＴ＿ＮをＮで割った値を平均カウント値Ｃ３ＡＶＥとして出力する。ここで、ＣＮＴ＿ｉ，Ｃ３ＡＶＥは、それぞれ２進数値である。モニタ回路の個数Ｎが２のｋ乗に等しい場合、平均化回路３４３はカウント値ＣＮＴ＿ｉを下位側にｋビットシフトし、下位ｋ＋１ビット目及びそれより上位ビットを出力するシフタである。
【００６１】
次に、本実施の形態にかかる半導体集積回路３１の動作について、図１８に示すタイミングチャートを用いて説明する。なお、初期状態ｔ０では、リセット信号ＲＥ＝０、クロックパルス信号ＥＮ＿ＰＵＬＳＥ＝０である。また、セレクタ３４１は、セレクト信号ＳＥＬによって発振信号Ｃ３＿１を選択した状態である。
【００６２】
モニタ回路３２＿１において、まず、リセット信号ＲＥ＝１となることにより、カウンタ３４２が初期化される（期間ｔ１〜ｔ２）。その後、クロックパルス信号ＥＮ＿ＰＵＬＳＥの１つ目のパルス信号が立ち上がる（時刻ｔ３）。その後、クロックパルス信号ＥＮ＿ＰＵＬＳＥの２つ目のパルス信号が立ち上がる（時刻ｔ４）。モニタ回路３２＿１において、クロックパルス信号ＥＮ＿ＰＵＬＳＥが立ち上がってから次に立ち上がるまでの間（期間ｔ３〜ｔ４；期間Ｔ）、分周器３２１は、イネーブル信号ＥＮ＝１を出力する。リングオシレータ２２２は、期間Ｔにおいて発振し、発振信号ＲＯＯＵＴを出力バッファ３２６に対して出力する。出力バッファ３２６は、発振信号ＲＯＯＵＴを駆動して発振信号Ｃ３＿１として出力する。集計回路３４に設けられたカウンタ３４２は、期間Ｔにおける発振信号Ｃ３＿１の発振回数をカウントし、カウント値ＣＮＴ＿１を出力する。ここで、カウント値ＣＮＴ＿１は、モニタ回路３２＿１に設けられたリングオシレータ２２２の発振周期ＴＲＯＳＣ１に応じたカウント値Ｔ／ＴＲＯＳＣ１を示す（時刻ｔ４）。
【００６３】
次に、セレクト信号ＳＥＬの値が切り替わる（時刻ｔ５）。それにより、セレクタ３４１は、発振信号Ｃ３＿２を選択してカウンタ３４２に対して出力する。セレクト信号ＳＥＬの切り替え後において、クロックパルス信号ＥＮ＿ＰＵＬＳＥの１つ目のパルス信号が立ち上がる（時刻ｔ６）。その後、クロックパルス信号ＥＮ＿ＰＵＬＳＥの２つ目のパルス信号が立ち上がる（時刻ｔ７）。モニタ回路３２＿２は、期間ｔ６〜ｔ７（期間Ｔ）の間、発振信号Ｃ３＿２を出力する。集計回路３４に設けられたカウンタ３４２は、期間Ｔにおける発振信号Ｃ３＿２の発振回数をカウントし、当該カウント値とカウント値ＣＮＴ＿１との合計値をカウント値ＣＮＴ＿２として出力する。このようにして、カウンタ３４２は、すべての発振信号Ｃ３＿１〜Ｃ３＿Ｎの発振回数をカウントし、カウント値ＣＮＴ＿Ｎとして出力する（時刻ｔｅ）。
【００６４】
カウンタ３４２が発振信号Ｃ３＿ｉまでのカウント動作を完了した場合、カウント値ＣＮＴ＿ｉは、次式のように表すことができる。
【数２】
2011159873.tif 000004
【００６５】
平均化回路３４３は、発振信号Ｃ３＿１〜Ｃ３＿Ｎの発振回数の合計カウント値ＣＮＴ＿ＮをＮで割った値ＣＮＴ＿Ｎ／Ｎを平均カウント値Ｃ３ＡＶＥとして出力する。つまり、平均化回路３４３は、カウント値ＣＮＴ＿ＮをＮで割った値ＣＮＴ＿Ｎ／Ｎを最終的なモニタ出力値として出力する。
【００６６】
以上のように、本実施の形態にかかる半導体集積回路は、チップ内に複数箇所設置したモニタ回路によってチップ内の特性ばらつきを平均化した値を検出することができる。ここで、本実施の形態にかかる半導体集積回路は、各モニタ回路に設けられたリングオシレータの発振時間をクロックパルス信号ＥＮ＿ＰＵＬＳＥのみで制御する。したがって、本実施の形態にかかる半導体集積回路は、実施の形態１の場合と同様に、各モニタ回路に設けられたリングオシレータの発振時間を精度良く一致させることができる。そのため、本実施の形態にかかる半導体集積回路は、チップの性能を高精度にモニタすることができる。また、本実施の形態にかかる半導体集積回路は、各モニタ回路にカウンタを設けないため、面積を小さくすることができる。
【００６７】
なお、本実施の形態では、集計回路３４において、カウント値ＣＮＴ＿ＮをＮで割った値ＣＮＴ＿Ｎ／Ｎをモニタ出力値として出力しているが、これに限られない。カウント値ＣＮＴ＿Ｎ／Ｎの代わりにカウント値ＣＮＴ＿Ｎをモニタ出力値として出力する回路構成にも適宜変更可能である。その場合、平均化回路３４３は不要である。
【００６８】
実施の形態４
図１９に、本発明の実施の形態４にかかる半導体集積回路４１のブロック図を示す。図１９に示す回路は、モニタ回路４２＿１〜４２＿Ｎと、制御回路４３と、集計回路４４と、を備える。なお、Ｎは２のｋ乗（ｋは０以上の整数）に等しい値である。
【００６９】
制御回路４３には、クロック信号ＣＬＫ０及び制御信号ＲＣＴＲＬが入力される。そして、制御回路４３は、シフトパルス信号ＳＨＩＦＴ＿ＰＵＬＳＥ及び制御信号ＭＯＤＥをモニタ回路４２＿１〜４２＿Ｎ及び集計回路４４に対して出力する。さらに、制御回路４３は、リセット信号ＲＥ及びクロックパルス信号ＥＮ＿ＰＵＬＳＥをモニタ回路４２＿１〜４２＿Ｎに対して出力する。モニタ回路４２＿１は、レジスタ値ＲＥＧ＿１をモニタ回路４２＿２に対して出力する。モニタ回路４２＿２は、レジスタ値ＲＥＧ＿２をモニタ回路４２＿３に対して出力する。このようにして、モニタ回路４２＿１〜４２＿Ｎ−１は、それぞれ後段のモニタ回路４２＿２〜４２＿Ｎに対してレジスタ値ＲＥＧ＿１〜ＲＥＧ＿Ｎ−１を出力する。そして、モニタ回路４２＿Ｎは、レジスタ値ＲＥＧ＿Ｎを集計回路４４に対して出力する。集計回路４４は、レジスタ値ＲＥＧ＿１〜ＲＥＧ＿Ｎに基づいて平均カウント値Ｃ４ＡＶＥを出力する。なお、モニタ回路４２＿１〜４２＿Ｎは、プロセス水準、温度及び電源電圧に依存するチップの特性を検出するための回路である。
【００７０】
制御回路４３は、シフトパルス信号ＳＨＩＦＴ＿ＰＵＬＳＥ及び制御信号ＭＯＤＥを出力する以外は、制御回路１３と同様の回路構成であるため、詳細な説明を省略する。なお、制御回路４３は、２つのパルス信号からなるクロックパルス信号ＥＮ＿ＰＵＬＳＥを出力する。
【００７１】
図２０に、モニタ回路４２＿ｉの回路構成を示す。ここで、ｉは１からＮまでの整数である。また、Ｎ個のモニタ回路４２＿１〜４２＿Ｎは、すべて同じ回路構成である。モニタ回路４２＿ｉは、分周器４４１と、リングオシレータ４２２と、カウンタ４２３と、を有する。また、リングオシレータ４２２は、遅延ゲート４２４と、ＮＡＮＤ４２５と、を有する。
【００７２】
分周器４２１は、クロックパルス信号ＥＮ＿ＰＵＬＳＥを２分周して、イネーブル信号ＥＮとしてリングオシレータ４２２に対して出力する。
【００７３】
リングオシレータ４２２は、イネーブル信号ＥＮがハイレベル（＝"１"）の期間Ｔだけ発振し、発振信号ＲＯＯＵＴを出力する。リングオシレータ４２２は、実施の形態１におけるリングオシレータ１２２の回路構成と同じであるため、詳細な説明を省略する。なお、ＮＡＮＤ４２５はＮＡＮＤ１２５に対応し、遅延ゲート４２４は遅延ゲート１２４に対応する。
【００７４】
カウンタ４２３は、同期式カウンタであって、出力信号のビット幅（例えば、ｍビット）に応じた複数（例えば、ｍ個）のフリップフロップ（不図示）を備える。まず、カウンタ４２３は、イネーブル信号ＥＮが"１"になる前に、リセット信号ＲＥによってカウント値０に初期化される。次に、制御信号ＭＯＤＥ＝０（カウントモード）の場合、カウンタ４２３は、発振信号ＲＯＯＵＴの発振回数をカウントする。具体的には、カウンタ４２３は、イネーブル信号ＥＮが"１"の期間Ｔにおける発振信号ＲＯＯＵＴの発振回数（パルス数）をカウントし、カウント値Ｃ４＿ｉを内部の各フリップフロップに保持する。なお、各フリップフロップに保持された値をレジスタ値ＲＥＧ＿ｉと称す。したがって、カウントモードでは、レジスタ値ＲＥＧ＿ｉは、カウント値Ｃ４＿ｉを示す。一方、制御信号ＭＯＤＥ＝１（シフトモード）の場合、各フリップフロップは、前段のモニタ回路４２＿ｉ−１の対応するフリップフロップに保持された値をシフトパルス信号ＳＨＩＦＴ＿ＰＵＬＳＥに同期して取り込む。具体的には、ｊ（ｊは１からｍまでの整数）番目のフリップフロップは、前段のモニタ回路４２＿ｉ−１に設けられたｊ番目のフリップフロップに保持された値を、シフトパルス信号ＳＨＩＦＴ＿ＰＵＬＳＥに同期して取り込む。
【００７５】
つまり、制御信号ＭＯＤＥ＝１の場合、モニタ回路４２＿ｉは、前段のモニタ回路４２＿ｉ−１から出力されたレジスタ値ＲＥＧ＿ｉ−１を、シフトパルス信号ＳＨＩＦＴ＿ＰＵＬＳＥに同期して取り込み、モニタ回路４２＿ｉ＋１に対してレジスタ値ＲＥＧ＿ｉとして出力する。なお、制御信号ＭＯＤＥ＝１の場合、モニタ回路４２＿Ｎは、レジスタ値ＲＥＧ＿Ｎを集計回路４４に対して出力する。このように、モニタ回路４２＿１〜４２＿Ｎは、制御信号ＭＯＤＥに応じてカウントモードとシフトモードとが切り替わる。
【００７６】
図２１に、集計回路４４の回路構成を示す。集計回路４４は、加算器４４１と、フリップフロップ４４２と、平均化回路４４３と、を有する。加算器４４１は、モニタ回路４２＿Ｎから出力されたレジスタ値ＲＥＧ＿Ｎと、フリップフロップ４４２の出力信号と、を加算し、フリップフロップ４４２に対して出力する。制御信号ＭＯＤＥ＝０の場合、フリップフロップ４４２は、カウント値ＣＮＴ＝０を出力する。一方、制御信号ＭＯＤＥ＝１の場合、フリップフロップ４４２は、加算器４４１の出力信号をシフトパルス信号ＳＨＩＦＴ＿ＰＵＬＳＥに同期して取り込み、カウント値ＣＮＴ＿ｉとして出力する。
【００７７】
平均化回路４４３は、カウント値ＣＮＴ＿ＮをＮで割った値ＣＮＴ＿Ｎ／Ｎを平均カウント値Ｃ４ＡＶＥとして出力する。モニタ回路の個数Ｎが２のｋ乗に等しい場合、平均化回路４４３はカウント値ＣＮＴ＿Ｎを下位側にｋビットシフトし、下位ｋ＋１ビット目及びそれより上位ビットを出力するシフタである。
【００７８】
次に、本実施の形態にかかる半導体集積回路４１の動作について、図２２に示すタイミングチャートを用いて説明する。なお、初期状態ｔ０では、リセット信号ＲＥ＝０、クロックパルス信号ＥＮ＿ＰＵＬＳＥ＝０、制御信号ＭＯＤＥ＝０である。
【００７９】
モニタ回路４２＿ｉにおいて、まず、リセット信号ＲＥ＝１となることにより、カウンタ４２３が初期化される（期間ｔ１〜ｔ２）。その後、クロックパルス信号ＥＮ＿ＰＵＬＳＥの１つ目のパルス信号が立ち上がる（時刻ｔ３）。その後、クロックパルス信号ＥＮ＿ＰＵＬＳＥの２つ目のパルス信号が立ち上がる（時刻ｔ４）。モニタ回路４２＿ｉにおいて、クロックパルス信号ＥＮ＿ＰＵＬＳＥが立ち上がってから次に立ち上がるまでの間（期間ｔ３〜ｔ４；期間Ｔ）、分周器４２１は、イネーブル信号ＥＮ＝１を出力する。リングオシレータ４２２は、期間Ｔにおいて発振し、発振信号ＲＯＯＵＴをカウンタ４２３に対して出力する。カウンタ４２３は、期間Ｔにおける発振信号ＲＯＯＵＴの発振回数をカウントし、カウント値Ｃ４＿ｉを保持する。ここで、レジスタ値Ｃ４＿ｉは、リングオシレータ４２２の発振周期ＴＲＯＳＣ１に応じた値Ｔ／ＴＲＯＳＣ１を示す（時刻ｔ４）。
【００８０】
次に、制御信号ＭＯＤＥの値が０から１に切り替わる（時刻ｔ５）。つまり、カウントモードからシフトモードに切り替わる。それにより、モニタ回路４２＿１〜４２＿Ｎは、カウンタ４２３同士がシリアルに接続され、Ｎビットのシフトレジスタを構成した状態となる。なお、レジスタ値ＲＥＧ＿ｉがｍビット幅を有する場合、モニタ回路４２＿１〜４２＿Ｎに設けられたフリップフロップのうち、それぞれ対応するビットのフリップフロップ同士がシリアルに接続され、Ｎビットのシフトレジスタを構成する。
【００８１】
時刻ｔ５以降、モニタ回路４２＿ｉは、前段のモニタ回路４２＿ｉ−１から出力されたレジスタ値ＲＥＧ＿ｉ−１を、シフトパルス信号ＳＨＩＦＴ＿ＰＵＬＳＥに同期して取り込み、モニタ回路４２＿ｉ＋１に対してレジスタ値ＲＥＧ＿ｉとして出力する。なお、モニタ回路４２＿Ｎは、レジスタ値ＲＥＧ＿Ｎを集計回路４４に対して出力する。
【００８２】
集計回路４４に設けられた加算器４４１は、モニタ回路４２＿Ｎから出力されたレジスタ値ＲＥＧ＿Ｎと、フリップフロップ４４２の出力信号と、を加算して、フリップフロップ４４２に対して出力する。フリップフロップ４４２は、加算器４４１から出力された信号を、シフトパルス信号ＳＨＩＦＴ＿ＰＵＬＳＥに同期して取り込み、カウント値ＣＮＴ＿Ｎとして出力する。具体的には、フリップフロップ４４２は、シフトパルス信号ＳＨＩＦＴ＿ＰＵＬＳＥがＮ回立ち上がった後に、モニタ回路４２＿１〜４２＿Ｎの合計カウント値ＣＮＴ＿Ｎを出力する。
【数３】
2011159873.tif 000005
【００８３】
平均化回路４４３は、カウント値ＣＮＴ＿ＮをＮで割った値ＣＮＴ＿Ｎ／Ｎを平均カウント値Ｃ４ＡＶＥとして出力する。つまり、平均化回路４４３は、カウント値ＣＮＴ＿ＮをＮで割った値ＣＮＴ＿Ｎ／Ｎを最終的なモニタ出力値として出力する。
【００８４】
以上のように、本実施の形態にかかる半導体集積回路は、チップ内に複数箇所設置したモニタ回路によってチップ内の特性ばらつきを平均化した値を検出することができる。ここで、本実施の形態にかかる半導体集積回路は、各モニタ回路に設けられたリングオシレータの発振時間をクロックパルス信号ＥＮ＿ＰＵＬＳＥのみで制御する。したがって、本実施の形態にかかる半導体集積回路は、実施の形態１の場合と同様に、各モニタ回路に設けられたリングオシレータの発振時間を精度良く一致させることができる。そのため、本実施の形態にかかる半導体集積回路は、チップの性能を高精度にモニタすることができる。また、本実施の形態にかかる半導体集積回路は、各モニタ回路の出力をすべて集計回路４４に接続する必要がなく、近接するモニタ回路へと接続するだけでよい。そのため、全体の配線長を短くすることができる。
【００８５】
なお、本実施の形態では、集計回路４４において、カウント値ＣＮＴ＿ＮをＮで割った値ＣＮＴ＿Ｎ／Ｎをモニタ出力値として出力しているが、これに限られない。カウント値ＣＮＴ＿Ｎ／Ｎの代わりにカウント値ＣＮＴ＿Ｎをモニタ出力値として出力する回路構成にも適宜変更可能である。その場合、平均化回路４４３は不要である。
【００８６】
また、本実施の形態では、制御信号ＭＯＤＥによって接続関係が切り替わるカウンタ４２３を備えた場合を例に説明したが、これに限られない。図２３に示すように、カウンタ４２３の代わりに、カウンタ４２６及びレジスタ４２７を備えた回路構成にも適宜変更可能である。カウンタ４２６は、発振信号ＲＯＯＵＴの発振回数をカウントし、カウント値Ｃ４＿ｉをレジスタ４２７に対して出力する。制御信号ＭＯＤＥ＝０（カウントモード）の場合、レジスタ４２７は、カウント値Ｃ４＿ｉを取り込む。制御信号ＭＯＤＥ＝１（シフトモード）の場合、レジスタ４２７は、カウント値Ｃ４＿ｉ又は前段のモニタ回路から出力されたレジスタ値ＲＥＧ＿ｉ−１を後段のモニタ回路に対して出力する。つまり、図２３に示す回路は、カウンタ４２３の内部に設けられていたフリップフロップを、カウンタ４２３の外部にレジスタ４２７として備える。この場合、カウンタ４２６内部のクリティカルパス上に、モードに応じて接続を切り替えるためのセレクタを設ける必要がないため、カウンタ４２６の速度性能を向上させることができる。つまり、タイミング調整が容易になる。また、この場合、カウンタ４２３のような同期式カウンタを用いる必要がなく、任意のカウンタを用いることができる。
【００８７】
実施の形態５
本発明の実施の形態５にかかる半導体集積回路５１について説明する。半導体集積回路５１は、実施の形態１の半導体集積回路１１と比較して、制御回路１３の代わりに制御回路５３を備え、モニタ回路１２＿１〜１２＿Ｎの代わりに、モニタ回路５２＿１〜５２＿Ｎを備える。なお、Ｎは２のｋ乗（ｋは０以上の整数）に等しい値である。それ以外の回路構成については、実施の形態１の場合と同様であるため、説明を省略する。
【００８８】
制御回路５３は、リセット信号ＲＥ及びクロックパルス信号ＥＮ＿ＰＵＬＳＥに加え、セレクト信号ＳＥＬをさらに出力する。それ以外は、制御回路１３と同様の回路構成であるため、説明を省略する。なお、制御回路５３は、２つのパルス信号からなるクロックパルス信号ＥＮ＿ＰＵＬＳＥを出力する。
【００８９】
図２４に、モニタ回路５２＿ｉの回路構成を示す。ここで、ｉは１からＮまでの整数である。また、Ｎ個のモニタ回路５２＿１〜５２＿Ｎは、すべて同じ回路構成である。モニタ回路５２＿ｉは、分周器５２１と、リングオシレータ５２２Ａ，５２２Ｂと、カウンタ５２３と、セレクタ５２６と、を有する。また、リングオシレータ５２２Ａは、遅延ゲート５２４Ａと、ＮＡＮＤ５２５Ａと、を有する。リングオシレータ５２２Ｂは、遅延ゲート５２４Ｂと、ＮＡＮＤ５２５Ｂと、を有する。
【００９０】
分周器５２１は、クロックパルス信号ＥＮ＿ＰＵＬＳＥを２分周して、イネーブル信号ＥＮとしてリングオシレータ５２２Ａ，５２２Ｂに対して出力する。
【００９１】
リングオシレータ５２２Ａに設けられたＮＡＮＤ５２５Ａには、セレクト信号ＳＥＬの反転信号が入力される。リングオシレータ５２２Ｂに設けられたＮＡＮＤ５２５Ｂには、セレクト信号ＳＥＬが入力される。つまり、リングオシレータ５２２Ａ及びリングオシレータ５２２Ｂのうちセレクト信号ＳＥＬによって選択された一方が、イネーブル信号ＥＮ＝１の期間（期間Ｔ）において発振し、発振信号ＲＯＯＵＴを出力する。リングオシレータ５２２Ａ，５２２Ｂは、実施の形態１におけるリングオシレータ１２２の回路構成と同じであるため、詳細な説明を省略する。なお、ＮＡＮＤ５２５Ａ，５２５ＢはＮＡＮＤ１２５に対応し、遅延ゲート５２４Ａ，５２４Ｂは遅延ゲート１２４に対応する。また、遅延ゲート５２４Ａ，５２４Ｂを構成する構成素子（例えば、インバータ）の段数は、それぞれ遅延時間に影響を与えない必要最小限の段数にまで制限されている。
【００９２】
セレクタ５２６は、セレクト信号ＳＥＬによって選択されているリングオシレータの発振信号ＲＯＯＵＴを選択し、カウンタ５２３に対して出力する。カウンタ５２３は、イネーブル信号ＥＮが"１"になる前に、リセット信号ＲＥによってカウント値０に初期化される。その後、カウンタ５２３は、発振信号ＲＯＯＵＴの発振回数（パルス数）をカウントし、カウント値Ｃ５＿ｉとして出力する。
【００９３】
ここで、遅延ゲート５２４Ａ及び遅延ゲート５２４Ｂは、それぞれ構成素子（例えば、インバータ）のしきい値電圧が異なる。そのため、例えば、セレクト信号ＳＥＬ＝０の場合、カウンタ５２３は、リングオシレータ５２２Ａの発振周期ＴＲＯＳＣＡに応じたカウント値Ｔ／ＴＲＯＳＣＡをカウント値Ｃ５＿ｉとして出力する。一方、セレクト信号ＳＥＬ＝１の場合、カウンタ５２３は、リングオシレータ５２２Ｂの発振周期ＴＲＯＳＣＢに応じたカウント値Ｔ／ＴＲＯＳＣＢをカウント値Ｃ５＿ｉとして出力する。
【００９４】
以上のように、本実施の形態にかかる半導体集積回路は、チップ内に複数箇所設置したモニタ回路によってチップ内の特性ばらつきを平均化した値を検出することができる。ここで、本実施の形態にかかる半導体集積回路は、各モニタ回路に設けられたリングオシレータの発振時間をクロックパルス信号ＥＮ＿ＰＵＬＳＥのみで制御する。したがって、本実施の形態にかかる半導体集積回路は、実施の形態１の場合と同様に、各モニタ回路に設けられたリングオシレータの発振時間を精度良く一致させることができる。そのため、本実施の形態にかかる半導体集積回路は、チップの性能を高精度にモニタすることができる。また、各モニタ回路は、しきい値の異なる構成素子からなる複数のリングオシレータを備える。それにより、チップ内に異なるしきい電圧の素子が混載されている場合でも、それぞれの特性ばらつきを精度良く検出することができる。この場合、各モニタ回路における面積の増加分は、リングオシレータ１個分とセレクタ５２６とのみである。したがって、面積の増大を最小限に抑制することができる。
【００９５】
なお、本実施の形態では、各モニタ回路がリングオシレータを２つ備えた場合を例に説明したが、これに限られない。各モニタ回路がリングオシレータを任意の数だけ備えた回路構成にも適宜変更可能である。その場合、制御回路が生成するセレクタ信号もリングオシレータの個数に応じて複数準備する必要がある。
【００９６】
また、本実施の形態では、遅延ゲート５２４を構成する構成素子（例えば、インバータ）の段数が、遅延時間に影響を与えない必要最小限の段数にまで制限された場合を例に説明したが、これに限られない。遅延ゲート５２４を構成する構成素子（例えば、インバータ）の段数が、遅延時間に影響を与えない程度の任意の段数であっても良い。
【００９７】
実施の形態６
図２５に、本発明の実施の形態６にかかる半導体集積回路６１を含む半導体集積回路（電圧制御装置）１００のブロック図を示す。図２５に示す回路は、チップの特性ばらつきを検出するための半導体集積回路６１と、半導体集積回路１００に対して電源電圧ＶＤＤを供給する電圧供給回路６６と、周辺回路（不図示）と、を備える。半導体集積回路６１は、モニタ回路６２＿１〜６２＿Ｎと、制御回路６３と、集計回路６４と、電圧制御回路６５と、を有する。なお、半導体集積回路６１は、実施の形態１における半導体集積回路１１と比較して、さらに電圧制御回路６５を備える。それ以外の回路構成は、半導体集積回路１１と同様であるため、説明を省略する。
【００９８】
図２６に、電圧制御回路６５の回路構成を示す。電圧制御回路６５は、比較回路６５１と、レジスタ（第３のレジスタ）６５２と、を有する。レジスタ６５２にはモニタ出力値（チップの特性ばらつきの検出結果）のターゲット値（第１の基準値）が格納されている。ターゲット値は、例えばモニタ回路を搭載したチップのプロセス、電圧および温度が特定の条件である場合に、集計回路６４が出力するべき値である。
【００９９】
電圧制御回路６５に設けられた比較回路６５１は、集計回路６４から出力された平均カウント値Ｃ６ＡＶＥと、ターゲット値と、を比較する。平均カウント値Ｃ６ＡＶＥがターゲット値よりも大きい場合、比較回路６５１は、電圧供給回路６６に対して電源電圧ＶＤＤを下げるように制御信号（電圧制御信号）を出力する。一方、平均カウント値Ｃ６ＡＶＥがターゲット値よりも小さい場合、比較回路６５１は、電圧供給回路６６に対して電源電圧ＶＤＤを上げるように制御信号を出力する。
【０１００】
電圧供給回路６６は、比較回路６５１から出力された制御出力に応じて電源電圧ＶＤＤを変化させる。このように、半導体集積回路６１によるモニタ動作（チップの特性ばらつきの検出動作）と、電圧供給回路６６による電源電圧ＶＤＤの制御動作を繰り返すことにより、最終的に集計回路６４の出力値（平均カウント値Ｃ６ＡＶＥ）はターゲット値に収束する。
【０１０１】
以上のように、本実施の形態にかかる半導体集積回路は、チップ内に複数箇所設置したモニタ回路によってチップ内の特性ばらつきを平均化した値を検出することができる。ここで、本実施の形態にかかる半導体集積回路は、各モニタ回路に設けられたリングオシレータの発振時間をクロックパルス信号ＥＮ＿ＰＵＬＳＥのみで制御する。したがって、本実施の形態にかかる半導体集積回路は、実施の形態１の場合と同様に、各モニタ回路に設けられたリングオシレータの発振時間を精度良く一致させることができる。そのため、本実施の形態にかかる半導体集積回路は、チップの性能を高精度にモニタすることができる。さらに、本実施の形態にかかる半導体集積回路は、電圧制御回路６５をさらに備えることにより、モニタ出力値に応じた電源電圧ＶＤＤの制御をすることができる。それにより、本実施の形態にかかる半導体集積回路は、チップの性能を精度良く目標値に近づけることができる。
【０１０２】
なお、本実施の形態では、比較回路６５１が１つのターゲット値とモニタ出力値との比較を行った場合を例に説明したが、これに限られない。レジスタ６５２が最大ターゲット値（第１の基準値）ＭＡＸと最小ターゲット値（第１の基準値）ＭＩＮを格納し、比較回路６５１がそれぞれのターゲット値とモニタ出力値との比較を行う回路構成にも適宜変更可能である。ここで、モニタ出力値がＭＡＸより大きい場合、比較回路６５１は、電圧供給回路６６に対して電源電圧ＶＤＤを下げるように制御信号を出力する。一方、モニタ出力値がＭＩＮより小さい場合、比較回路６５１は、電圧供給回路６６に対して電源電圧ＶＤＤを上げるように制御信号を出力する。それにより、モニタ出力値は、最終的にＭＡＸとＭＩＮの間の数値を示す。このような回路構成により、モニタ出力値が所定の範囲内に収まった時点で電源電圧ＶＤＤの制御動作は止まるため、モニタ出力値の微小な変化による電源電圧ＶＤＤの変動を防ぐことができる。
【０１０３】
また、本実施の形態では、各モニタ回路に設けられたカウンタを用いて任意の数までカウント可能であることを前提としているが、最大ターゲット値ＭＡＸまでカウント可能であれば必要最小限の桁数のカウンタを用いてもよい。この場合、例えば桁溢れを検知した場合にはモニタ出力値がターゲット値より大きいと判断する。それにより、本実施の形態と同様に電源電圧の制御を行うことができる。同時に、カウンタの面積を小さくすることができる。
【０１０４】
また、本実施の形態では、電圧制御回路６５がモニタ出力値に応じて半導体集積回路１００の電源電圧ＶＤＤを制御する場合を例に説明したが、これに限られない。電圧制御回路６５が基板バイアスを制御する回路構成にも適宜変更可能である。この場合、電圧供給回路６６は、半導体集積回路１００に基板バイアスを供給する。ここで、モニタ出力値がターゲット値より大きい場合、比較回路６５１は、電圧供給回路６６に対して基板バイアスを深くするように制御信号を出力する。一方、モニタ出力値がターゲット値より小さい場合、比較回路６５１は、電圧供給回路６６に対して基板バイアスを浅くするように制御信号を出力する。このような回路構成により、電源電圧ＶＤＤは常に一定に保たれているため、他のチップとの間で信号の送受信を行う場合でもレベルシフタを用いる必要がない。
【０１０５】
また、本実施の形態では、ターゲット値として、モニタ回路を搭載したチップのプロセス、電圧および温度が特定の条件である場合にモニタ回路が出力するべき値を用いているが、設計あるいは実チップのテストの結果に基づいて定めた任意の値でもよい。
【０１０６】
また、電圧制御回路６５が半導体集積回路６１の内部に設けられた場合を例に説明したが、これに限られない。電圧制御回路６５が半導体集積回路６１の外部に設けられた回路構成にも適宜変更可能である。
【０１０７】
実施の形態７
図２７に、本発明の実施の形態７にかかる半導体集積回路７１を含む半導体集積回路（電圧制御装置）１０１のブロック図を示す。図２７に示す回路は、チップの特性ばらつきを検出するための半導体集積回路７１と、半導体集積回路１０１に対して電源電圧ＶＤＤを供給する電圧供給回路７６と、周辺回路（不図示）と、を備える。半導体集積回路７１は、モニタ回路７２＿１〜７２＿Ｎと、制御回路７３と、集計回路７４と、電圧制御回路７５と、を有する。なお、モニタ回路７２＿１〜７２＿Ｎは、実施の形態５と同様の回路構成であるため、説明を省略する。なお、以下の説明では、分周器７２１が分周器５２１に対応し、リングオシレータ７２２Ａがリングオシレータ５２２Ａに対応し、リングオシレータ７２２Ｂがリングオシレータ５２２Ｂに対応し、セレクタ７２６がセレクタ５２６に対応し、カウンタ７２３がカウンタ５２３に対応する。
【０１０８】
制御回路７３は、制御回路６３と比較して、セレクト信号ＳＥＬをモニタ回路７２＿１〜７２＿Ｎに対してさらに出力し、セレクト信号ＳＥＬ及びトリガ信号ＴＲＩＧを電圧制御回路７５に対してさらに出力する。
【０１０９】
図２８に、電圧制御回路７５の回路構成を示す。電圧制御回路７５は、比較回路７５１と、レジスタ７５２と、ラッチ回路７５３Ａ，７５３Ｂと、ＡＮＤ７５５Ａ，７５５Ｂと、論理回路７５４と、を有する。レジスタ７５２には、各モニタ回路７２＿１〜７２＿Ｎに設けられたリングオシレータに対応する数のターゲット値が格納されている。つまり、本実施の形態の場合、モニタ回路７２＿ｉには、実施の形態５の場合と同様に２つのリングオシレータが設けられている。そのため、レジスタ７５２には、２つのターゲット値が格納されている。なお、ターゲット値は、例えばモニタ回路を搭載したチップのプロセス、電圧および温度が特定の条件である場合に、集計回路７４が出力するべき値である。
【０１１０】
セレクト信号ＳＥＬ＝０の場合、ラッチ回路７５３Ａは、比較回路７５１の比較結果をトリガ信号ＴＲＩＧに同期して取り込み、論理回路７５４に対して出力する。一方、セレクト信号＝１の場合、ラッチ回路７５３Ｂは、比較回路７５１の比較結果をトリガ信号ＴＲＩＧに同期して取り込み、論理回路７５４に対して出力する。論理回路７５４は、ラッチ回路７５３Ａ及びラッチ回路７５３Ｂの出力信号に基づいて制御信号を生成し、電圧供給回路７６に対して出力する。
【０１１１】
次に、本実施の形態にかかる半導体集積回路１０１の動作について、図２９に示すタイミングチャートを用いて説明する。なお、初期状態ｔ０では、リセット信号ＲＥ＝０、クロックパルス信号ＥＮ＿ＰＵＬＳＥ＝０、セレクト信号ＳＥＬ＝０である。
【０１１２】
モニタ回路７２＿ｉにおいて、まず、リセット信号ＲＥ＝１となることにより、カウンタ７２３が初期化される（期間ｔ１〜ｔ２）。その後、クロックパルス信号ＥＮ＿ＰＵＬＳＥの１つ目のパルス信号が立ち上がる（時刻ｔ３）。その後、クロックパルス信号ＥＮ＿ＰＵＬＳＥの２つ目のパルス信号が立ち上がる（時刻ｔ４）。モニタ回路７２＿ｉにおいて、クロックパルス信号ＥＮ＿ＰＵＬＳＥが立ち上がってから次に立ち上がるまでの間（期間ｔ３〜ｔ４；期間Ｔ）、分周器７２１は、イネーブル信号ＥＮ＝１を出力する。リングオシレータ７２２Ａは、期間Ｔにおいて発振し、発振信号ＲＯＯＵＴＡを、セレクタ７２６を介してカウンタ７２３に対して出力する。カウンタ７２３は、期間Ｔにおける発振信号ＲＯＯＵＴＡの発振回数をカウントし、カウント値Ｃ７＿ｉとして出力する。ここで、カウント値Ｃ７＿ｉは、リングオシレータ７２２Ａの発振周期ＴＲＯＳＣｉに応じた値Ｔ／ＴＲＯＳＣｉを示す（時刻ｔ４）。
【０１１３】
集計回路７４は、カウント値Ｃ７＿１〜Ｃ７＿ＮをＮで割った値を平均カウント値Ｃ７ＡＶＥとして出力する。比較回路７５１は、モニタ出力値である平均カウント値Ｃ７ＡＶＥと、対応するターゲット値と、を比較し、比較結果を出力する。ラッチ回路７５３Ａは、当該比較結果をトリガ信号ＴＲＩＧに同期して取り込み、論理回路７５４に対して出力する（時刻ｔ５）。
【０１１４】
その後、セレクト信号ＳＥＬが０から１に切り替わる（時刻ｔ６）。時刻ｔ６以降は時刻ｔ１〜ｔ５と同様の動作が繰り返される。ただし、モニタ回路７２＿ｉでは、リングオシレータ７２２Ｂが、期間Ｔにおいて発振し、発振信号ＲＯＯＵＴＢを出力する。また、比較回路７５１は、各モニタ回路７２＿１〜７２＿Ｎのリングオシレータ７２２Ｂを用いて算出された平均カウント値Ｃ７ＡＶＥと、対応するターゲット値と、を比較し、比較結果を出力する。ラッチ回路７５３Ｂは、当該比較結果をトリガ信号ＴＲＩＧに同期して取り込み、論理回路７５４に対して出力する（時刻ｔ７）。論理回路７５４は、ラッチ回路７５３Ａ及びラッチ回路７５３Ｂの出力結果が確定した後に、それぞれの出力結果に基づいて、電圧供給回路６６に対して制御信号を出力する（時刻ｔ７）。
【０１１５】
例えば、リングオシレータ７２２Ａ，７２２Ｂを用いたモニタ出力値のうち、いずれか一方でも対応するターゲット値より小さい場合には、電圧制御回路７５は、電圧供給回路７６に対して電源電圧を上げるように制御信号を出力する。また、リングオシレータ７２２Ａ，７２２Ｂを用いたモニタ出力値のいずれもが、対応するターゲット値より大きい場合には、電圧制御回路７５は、電圧供給回路７６に対して電源電圧を下げるように制御信号を出力する。電圧供給回路７６は、電圧制御回路７５から出力された制御信号に応じて電源電圧ＶＤＤを変化させる。このように、半導体集積回路７１によるモニタ動作と、電圧供給回路７６による電源電圧ＶＤＤの制御動作と、を繰り返すことにより、最終的に集計回路７４の出力値（平均カウント値Ｃ７ＡＶＥ）はターゲット値に収束する。
【０１１６】
以上のように、本実施の形態にかかる半導体集積回路は、チップ内に複数箇所設置したモニタ回路によってチップ内の特性ばらつきを平均化した値を検出することができる。ここで、本実施の形態にかかる半導体集積回路は、各モニタ回路に設けられたリングオシレータの発振時間をクロックパルス信号ＥＮ＿ＰＵＬＳＥのみで制御する。したがって、本実施の形態にかかる半導体集積回路は、実施の形態１の場合と同様に、各モニタ回路に設けられたリングオシレータの発振時間を精度良く一致させることができる。そのため、本実施の形態にかかる半導体集積回路は、チップの性能を高精度にモニタすることができる。さらに、本実施の形態にかかる半導体集積回路は、電圧制御回路７５をさらに備えることにより、モニタ出力値に応じた電源電圧ＶＤＤの制御をすることができる。それにより、本実施の形態にかかる半導体集積回路は、チップの性能を精度良く目標値に近づけることができる。また、チップ内に複数のしきい電圧の素子が混載されている場合でも、それぞれのばらつきに応じて電源電圧を制御することができる。
【０１１７】
なお、本実施の形態では、リングオシレータに設けられた遅延ゲートを構成する構成素子（例えば、インバータ）の段数が、遅延時間に影響を与えない程度の段数にまで制限された場合を例に説明したが、これに限られない。さらに、各リングオシレータ７２２Ａ，７２２Ｂの発振周期が等しくなるようにゲート段数を設定してもよい。このような回路構成により、リングオシレータごとにターゲット値を用意する必要がなくなり、１つのターゲット値だけで各リングオシレータを用いたモニタ出力値との比較を行うことができる。
【０１１８】
また、電圧制御回路７５が半導体集積回路７１の内部に設けられた場合を例に説明したが、これに限られない。電圧制御回路７５が半導体集積回路７１の外部に設けられた回路構成にも適宜変更可能である。
【０１１９】
ここで、特許文献２に開示された関連する技術と、本発明と、の違いについて説明する。特許文献２に開示された関連する技術は、「２つのパルス信号の間隔」と「モニタ回路内の遅延時間」とが一致するように電圧制御するための回路構成を有している。一方、本発明は、「２つのパルス信号の間隔（例えば、時間Ｔ）」を「モニタ回路内の遅延時間（例えば、ＴＲＯＳＣ）」で割った値をモニタ出力値として出力する回路構成を有している。両者共に本質的には「２つのパルス信号の間隔」と「モニタ回路内の遅延時間」とを比較するための構成である。ここで、「モニタ回路内の遅延時間」とは、特許文献２では３３２（特許文献２の図１６参照）や３３５（特許文献２の図１６参照）の遅延基準素子の特性で決まる遅延時間のことであり、本発明ではモニタ回路に設けられたリングオシレータの特性で決まる遅延時間のことである。
【０１２０】
まず、特許文献２では、パルス発生回路３２（特許文献２の図１５参照）がパルス信号Ｓ３２を発生し、モニタ回路３３（特許文献２の図１５参照）及び遅延検出回路３４（特許文献２の図１５参照）に対して出力する。つまり、パルス発生回路３２は、「モニタ回路内の遅延時間」の計測を開始するパルス信号をモニタ回路３３に対して出力し、「モニタ回路内の遅延時間」の計測を終了するパルス信号を遅延検出回路３４に対して出力する。したがって、それぞれのパルス信号は信号経路が異なる。そして、「モニタ回路内の遅延時間」は、モニタ回路３３に入力されるパルス信号Ｓ３２と、遅延検出回路３４に入力されるパルス信号Ｓ３３と、の時間差として検出される。このとき、下記（１）（２）の要素が「モニタ回路内の遅延時間」として加算されてしまう。
【０１２１】
（１）モニタ回路と遅延検出回路とのレイアウト上の距離が大きい場合の配線遅延
（２）モニタ回路内における信号の入出力に関する処理に要する遅延（例えばバッファリングや、カウンタにおけるクロック入力から出力確定までの時間）
【０１２２】
これに対して、本発明では、モニタ回路が分周器（例えば、図３参照）を備え、当該分周器に計測開始と計測終了とを決める２つのパルスからなるクロックパルス信号ＥＮ＿ＰＵＬＳＥが供給される。つまり、同じ信号経路を介して計測開始と計測終了とを決めるパルス信号が供給される。そのため、本発明は、上記（１）（２）のような要因に依存することなく、「モニタ回路内の遅延時間」と「２つのパルス信号の間隔」を精度よく比較することができる。このことは、特許文献３に開示された関連する技術と、本発明との間でも同様のことがいえる。
【０１２３】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。上記実施の形態では、モニタ回路がリングオシレータを備えた場合を例に説明したが、これに限られない。リングオシレータ以外の発振回路を用いた回路構成に適宜変更可能である。
【符号の説明】
【０１２４】
１００，１０１  半導体集積回路（電圧制御装置）
１１，２１，３１，４１，５１，６１，７１  半導体集積回路
１２＿１〜１２＿Ｎ，２２＿１〜２２＿Ｎ，３２＿１〜３２＿Ｎ，４２＿１〜４２＿Ｎ，５２＿１〜５２＿Ｎ，６２＿１〜６２＿Ｎ，７２＿１〜７２＿Ｎ  モニタ回路
１２ｂ＿１〜１２ｂ＿Ｎ，１２ｃ＿１〜１２ｃ＿Ｎ  モニタ回路
１３，２３，３３，４３，５３，６３，７３  制御回路
１４，２４，３４，４４，５４，６４，７４  集計回路
１４＿１〜１４＿Ｎ−１，４４１  加算器
６５，７５  電圧制御回路
６６，７６  電圧供給回路
１２１，２２１，３２１，４２１，５２１  分周器
１２２，２２２，３２２，４２２，５２２Ａ，５２２Ｂ  リングオシレータ
１２３，２２３，４２３，５２３  カウンタ
１２４，２２４，３２４，４２４，５２４Ａ，５２４Ｂ  遅延ゲート
１２５，２２５，３２５，４２５，５２５Ａ，５２５Ｂ  ＮＡＮＤ
１２６  ゲーティング回路
１２７，１３１  分周器
１３２，３４２，４２６  カウンタ
１３３，７５４  論理回路
１４２，２４２，３４３，４４３  平均化回路
３２６  出力バッファ
３４１，５２６  セレクタ
４２７，６５２，７５２  レジスタ
４４２  フリップフロップ
６５１，７５１  比較回路
７５３Ａ，７５３Ｂ  ラッチ回路
７５５Ａ，７５５Ｂ  ＡＮＤ
【図１】
2011159873.tif 000006
【図２】
2011159873.tif 000007
【図３】
2011159873.tif 000008
【図４】
2011159873.tif 000009
【図５】
2011159873.tif 000010
【図６】
2011159873.tif 000011
【図７】
2011159873.tif 000012
【図８】
2011159873.tif 000013
【図９】
2011159873.tif 000014
【図１０】
2011159873.tif 000015
【図１１】
2011159873.tif 000016
【図１２】
2011159873.tif 000017
【図１３】
2011159873.tif 000018
【図１４】
2011159873.tif 000019
【図１５】
2011159873.tif 000020
【図１６】
2011159873.tif 000021
【図１７】
2011159873.tif 000022
【図１８】
2011159873.tif 000023
【図１９】
2011159873.tif 000024
【図２０】
2011159873.tif 000025
【図２１】
2011159873.tif 000026
【図２２】
2011159873.tif 000027
【図２３】
2011159873.tif 000028
【図２４】
2011159873.tif 000029
【図２５】
2011159873.tif 000030
【図２６】
2011159873.tif 000031
【図２７】
2011159873.tif 000032
【図２８】
2011159873.tif 000033
【図２９】
2011159873.tif 000034