(57)【要約】  異なる閾値電圧を有する複数種類のトランジスタで構成された半導体集積回路内に、それぞれの種類のトランジスタで構成された複数の発振器が設けられる。そして、これらの発振器のそれぞれの発振周波数がカウントされ、カウント値に応じて、半導体集積回路の電源供給装置に設定すべき電圧値が決定される。【特許請求の範囲】
【請求項１】
異なる閾値電圧を有する複数種類のトランジスタで構成された半導体集積回路の電源電圧を調整する電源電圧調整装置であって、
前記複数種類のトランジスタのうち、それぞれの種類のトランジスタで構成された複数の発振器と、
前記複数の発振器のそれぞれの発振周波数をカウントし、カウント値を出力するカウンタと、
前記複数の発振器の発振周波数のカウント値を、設定すべき電源電圧値に変換する変換器と、
前記設定すべき電源電圧値を示す制御信号を出力するコントローラと
を備えることを特徴とする電源電圧調整装置。
【請求項２】
前記変換器は、前記半導体集積回路の温度を検出する温度センサを含み、前記カウント値を検出された温度に応じて異なる電源電圧値に変換することを特徴とする請求項１記載の電源電圧調整装置。
【請求項３】
前記カウンタのカウント値は、前記半導体集積回路内の回路から読み出し可能であり、前記変換器の変換情報は、該半導体集積回路内の回路から書き換え可能であることを特徴とする請求項１または２記載の電源電圧調整装置。
【請求項４】
前記カウンタのカウント値は、前記半導体集積回路内の外部から読み出し可能であり、前記変換器の変換情報は、該半導体集積回路内の外部から書き換え可能であることを特徴とする請求項１または２記載の電源電圧調整装置。
【請求項５】
異なる閾値電圧を有する複数種類のトランジスタで構成された半導体集積回路の電源電圧を調整する電源電圧調整装置であって、
前記複数種類のトランジスタのうち、それぞれの種類のトランジスタで構成された複数の発振器と、
前記複数の発振器のそれぞれの発振周波数をカウントし、カウント値を出力するカウンタと、
前記複数の発振器の発振周波数のカウント値を示す制御信号を出力するコントローラと
を備え、
前記半導体集積回路に電源を供給する電源供給装置は、出力された制御信号に応じて電源電圧を設定することを特徴とする電源電圧調整装置。
【請求項６】
前記カウンタは、前記半導体集積回路のパワーオンリセット期間中に、前記複数の発振器の発振周波数をカウントし、前記コントローラは、該パワーオンリセット期間中に、前記制御信号を出力することを特徴とする請求項１、２、４、または５記載の電源電圧調整装置。
【請求項７】
異なる閾値電圧を有する複数種類のトランジスタで構成された半導体集積回路の電源電圧を調整する電源電圧調整装置であって、
前記複数種類のトランジスタのうち、それぞれの種類のトランジスタで構成された複数の発振器と、
前記複数の発振器のそれぞれの発振周波数をカウントし、カウント値を出力するカウンタと、
複数の発振器の発振周波数のカウント値に応じて決定された電源電圧情報を保持する記憶素子と、
前記記憶素子から前記電源電圧情報を読み出し、読み出された電源電圧情報を示す制御信号を出力するコントローラと
を備えることを特徴とする電源電圧調整装置。
【請求項８】
前記コントローラは、前記半導体集積回路のパワーオンリセット期間中に、前記記憶素子から前記電源電圧情報を読み出して前記制御信号を出力することを特徴とする請求項７記載の電源電圧調整装置。
【請求項９】
前記複数の発振器の発振周波数のカウント値と前記記憶素子に保持された電源電圧情報とを比較する比較器をさらに備え、前記コントローラは、比較結果に応じて電源電圧の増減を指示する制御信号を出力することを特徴とする請求項７記載の電源電圧調整装置。
【請求項１０】
前記半導体集積回路内において前記複数の発振器とは異なる場所に配置され、前記複数種類のトランジスタのうち、それぞれの種類のトランジスタで構成された複数の発振器をさらに備え、前記比較器は、該半導体集積回路の動作状況に応じて、前記複数の発振器または異なる場所に配置された複数の発振器の発振周波数のカウント値を、前記記憶素子に保持された電源電圧情報と比較することを特徴とする請求項９記載の電源電圧調整装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＬＳＩ（Large Scale Integration ）等の半導体集積回路の製造プロセスにおけるプロセスばらつきや動作時の温度変動に応じて、回路の電源電圧を調整する電源電圧調整装置に関する。
【背景技術】
【０００２】
半導体集積回路の最小加工寸法の微細化に伴い、プロセスばらつきによる、素子の信号遅延時間や、素子の漏れ電流のばらつきが大きくなってきている。そのため、半導体集積回路の素子特性のばらつきとは無関係に一定の電源電圧を供給した場合、素子遅延が設計値より大きな値にずれた場合には、目的の動作周波数を満たすことができない半導体集積回路が増加し、素子遅延が設計値より小さな値にずれた場合には、素子の漏れ電流が増加することにより、消費電力が増加してしまうという問題があった。【０００３】
これらの問題に対して、高速化をはかりつつ低消費電力化をはかるために、Ｍｕｌｔｉ−Ｖｔｈ設計が一般的に行われている。Ｍｕｌｔｉ−Ｖｔｈ設計では、閾値電圧Ｖｔｈの異なるトランジスタで構成された複数のセルライブラリを用いる。【０００４】
例えば、高いＶｔｈを有するＨｉｇｈ−Ｖｔｈトランジスタと低いＶｔｈを有するＬｏｗ−Ｖｔｈトランジスタの２種類のセルライブラリを用いる場合、目的の動作周波数に対して、パスの遅延時間に余裕がある部分には、動作速度が遅く、漏れ電流の少ないＨｉｇｈ−Ｖｔｈトランジスタで構成されるセルライブラリを使用する。一方、パスの遅延時間に余裕の無い部分には、動作速度が速く、漏れ電流の多いＬｏｗ−Ｖｔｈトランジスタで構成されるセルライブラリを使用する。これにより、回路全体として漏れ電流が少なくなるようにしている。【０００５】
下記の特許文献１および２においては、プロセスばらつきに応じた電源電圧制御を行うために、クリティカルパスのレプリカを使用し、プロセスばらつきに応じて、このクリティカルパスの遅延が目的の動作周波数を満たすかどうかにより、電源電圧制御を行う構成が示されている。【０００６】
また、下記の特許文献３においては、不揮発性メモリ回路の安定的な書き込みや消去を目的として、書き込みパルスや消去パルスを、プロセスがばらついても正確なパルス幅を形成するようにするために、内部発振器の発振周波数を計数する第１のカウンタと、外部から供給されるクロックもしくはそれから派生するクロックを計数する第２のカウンタとを設け、それらのカウント値を用いた構成が示されている。【０００７】
その他、下記の特許文献４においては、動作電圧に基づいて変化する周波数を有するクロック信号を供給する周波数発生器と、固定周波数発生器とを備え、それぞれの周波数をカウントするカウンタを設け、それらのカウント値を比較することにより、電源電圧の調整を行う回路が示されている。また、クリティカルパスのレプリカに相当する臨界経路ネットワークを用い、内部で生成したクロックとの位相比較を行うことにより、プロセスばらつきを考慮して、電源電圧の調整を行う構成が示されている。【０００８】
しかしながら、Ｍｕｌｔｉ−Ｖｔｈ設計のＬＳＩにおいては、パス毎にＨｉｇｈ−ＶｔｈセルとＬｏｗ−Ｖｔｈセルとの割合が異なり、プロセスばらつきや電源電圧、温度の動作条件に対する目的の周波数を満たすために必要な遅延余裕の変化量が、パス毎に異なる。このため、プロセスばらつきに応じて目的の周波数で動作するための最低電圧を供給する制御を行う場合に考慮するべきクリティカルパスは、１つではない。【０００９】
例えば、パス中のほとんどのセルがＬｏｗ−ＶｔｈセルであるパスＡと、パス中のほとんどのセルがＨｉｇｈ−ＶｔｈセルであるパスＢとがあり、Ｈｉｇｈ−Ｖｔｈセルの遅延が大きい方にずれ、かつ、Ｌｏｗ−Ｖｔｈセルの遅延が大きい方にずれるという第１の条件と、Ｈｉｇｈ−Ｖｔｈセルの遅延が大きい方にずれ、かつ、Ｌｏｗ−Ｖｔｈセルの遅延が小さい方にずれるという第２の条件とがある場合を想定する。【００１０】
この場合、第１の条件に偏って製造されたＬＳＩにおいて、パスＡがクリティカルパスであったとしても、第２の条件に偏って製造されたＬＳＩでは、パスＢがクリティカルパスになる可能性がある。【００１１】
特許文献１および２の方法では、クリティカルパスのレプリカを使用しているため、この問題に対処するためには、動作条件毎に対応する複数のクリティカルパスのレプリカを設けるか、動作マージンとして電源電圧を高く設定する必要があると考えられる。したがって、回路の物量が増加する問題、あるいは、消費電力の削減効果が小さくなる問題がある。【００１２】
特許文献３の方法では、プロセスばらつきにより発振器自身の周波数が変動することを考慮して、正確なパルス幅を形成することができるが、Ｍｕｌｔｉ−Ｖｔｈ設計のＬＳＩのプロセスばらつきを考慮して、電源電圧の調整を行うことはできない。【００１３】
特許文献４の方法でも、異なるＶｔｈを有するトランジスタで構成された複数のセルライブラリを考慮した発振器とカウンタを持っていないため、Ｍｕｌｔｉ−Ｖｔｈ設計のＬＳＩのプロセスばらつきを考慮して、電源電圧の調整を行うことはできない。【００１４】
また、温度の変動に着目した電源電圧の制御を行う際には、２つの発振器とカウンタを動作させる必要があるため、消費電力が増加するとともに、発振器とカウンタの物量が増加するという問題がある。また、臨界経路ネットワークを用いた方法では、ＬＳＩ全体のパスの遅延を模擬するためには、上述した特許文献１および２の方法と同様に、多数の臨界経路ネットワークを設ける必要があり、回路の物量が増加する問題がある。
【特許文献１】日本特許  特許第３４７８２８４号公報
【特許文献２】日本特許出願公開  特開２０００−２１６３３７号公報
【特許文献３】日本特許出願公開  特開２０００−２６８０１９号公報
【特許文献４】日本特許出願公開  特開２００５−０７３４９４号公報
【発明の開示】
【００１５】
本発明の課題は、Ｍｕｌｔｉ−Ｖｔｈ設計の半導体集積回路のプロセスばらつきに応じて回路の電源電圧を適切に調整し、低消費電力化と高速化を実現することである。
本発明の第１の局面において、電源電圧調整装置は、複数の発振器、カウンタ、変換器、およびコントローラを備え、異なる閾値電圧を有する複数種類のトランジスタで構成された半導体集積回路の電源電圧を調整する。
【００１６】
複数の発振器は、上記複数種類のトランジスタのうち、それぞれの種類のトランジスタで構成される。カウンタは、これらの発振器のそれぞれの発振周波数をカウントし、カウント値を出力する。変換器は、これらの発振器の発振周波数のカウント値を、設定すべき電源電圧値に変換する。コントローラは、設定すべき電源電圧値を示す制御信号を出力する。
【００１７】
本発明の第２の局面において、電源電圧調整装置は、複数の発振器、カウンタ、およびコントローラを備え、異なる閾値電圧を有する複数種類のトランジスタで構成された半導体集積回路の電源電圧を調整する。
【００１８】
複数の発振器は、上記複数種類のトランジスタのうち、それぞれの種類のトランジスタで構成される。カウンタは、これらの発振器のそれぞれの発振周波数をカウントし、カウント値を出力する。コントローラは、これらの発振器の発振周波数のカウント値を示す制御信号を出力する。そして、半導体集積回路に電源を供給する電源供給装置は、出力された制御信号に応じて電源電圧を設定する。
【００１９】
本発明の第３の局面において、電源電圧調整装置は、複数の発振器、カウンタ、記憶素子、およびコントローラを備え、異なる閾値電圧を有する複数種類のトランジスタで構成された半導体集積回路の電源電圧を調整する。
【００２０】
複数の発振器は、上記複数種類のトランジスタのうち、それぞれの種類のトランジスタで構成される。カウンタは、これらの発振器のそれぞれの発振周波数をカウントし、カウント値を出力する。記憶素子は、これらの発振器の発振周波数のカウント値に応じて決定された電源電圧情報を保持する。コントローラは、記憶素子から電源電圧情報を読み出し、読み出された電源電圧情報を示す制御信号を出力する。
【００２１】
第１、第２、および第３の局面の電源電圧調整装置によれば、各発振器の発振周波数はトランジスタの遅延時間により決定され、複数の発振器は、トランジスタの種類に応じて異なる周波数で発振する。したがって、Ｍｕｌｔｉ−Ｖｔｈ設計された半導体集積回路において、異なる閾値電圧を有する複数種類のトランジスタのプロセスばらつきに応じて、電源電圧を調整することが可能になる。
【００２２】
このとき、変換器の変換情報、電源供給装置の変換情報、および記憶素子に保持される電源電圧情報を適切に設定することで、半導体集積回路の電源電圧を、目的の動作周波数で動作可能な範囲内の低い電圧値に設定できるため、低消費電力化と高速化をはかることができる。
【００２３】
第１の局面の電源電圧調整装置は、例えば、後述する図１、９、または１０の電源電圧調整装置１２−１に対応し、第２の局面の電源電圧調整装置は、例えば、後述する図１１の電源電圧調整装置１２−２に対応し、第３の局面の電源電圧調整装置は、例えば、後述する図１２の電源電圧調整装置１２−３または図１９の電源電圧調整装置１２−４に対応する。
【図面の簡単な説明】
【００２４】
【図１】第１の電源電圧調整装置を有するＬＳＩチップの構成図である。
【図２】発振器とカウンタの回路図である。
【図３】発振器とカウンタの動作波形を示す図である。
【図４】発振周波数コードをプロセスばらつきコードに変換する第１の変換表を示す図である。
【図５】プロセスばらつきコードを電圧コードに変換する変換表を示す図である。
【図６】電圧コードと設定電圧の対応関係を示す図である。
【図７】発振周波数コードをプロセスばらつきコードに変換する第２の変換表を示す図である。
【図８】変換器の構成図である。
【図９】第３の電源電圧調整装置を有するＬＳＩチップの構成図である。
【図１０】第４の電源電圧調整装置を有するＬＳＩチップの構成図である。
【図１１】第５の電源電圧調整装置を有するＬＳＩチップの構成図である。
【図１２】第６の電源電圧調整装置を有するＬＳＩチップの構成図である。
【図１３】カウント値のプロセスばらつきに対する依存性を示す図である。
【図１４】ＬＳＩの動作特性を示す図である。
【図１５】プロセスばらつきと最低電圧の関係を示す図である。
【図１６】ＬＳＩのパワーオンリセット時のタイミングチャートである。
【図１７】パワーオンリセット時に、プロセスばらつきを測定し、電圧を変更する動作のフローチャートである。
【図１８】パワーオンリセット時に、保持された電圧値を用いて電圧を変更する動作のフローチャートである。
【図１９】第８の電源電圧調整装置を有するＬＳＩチップの構成図である。
【図２０】パワーオンリセット時および通常動作中に電圧を変更する動作のフローチャートである。
【図２１】ＬＳＩ動作時の温度分布と発振器の配置を示す図である。
【発明を実施するための最良の形態】
【００２５】
以下、図面を参照しながら、本発明を実施するための最良の形態を詳細に説明する。
一般に、半導体集積回路のプロセスばらつきは、ロット間ばらつき、ウエハ間ばらつき、チップ間ばらつき、およびチップ内ばらつきの４つに分類される。以下の実施形態では、主としてロット間ばらつき、ウエハ間ばらつき、およびチップ間ばらつきに対処可能な電源電圧調整装置について説明し、付加的にチップ内ばらつきにも対処可能な構成について説明する。【００２６】
第１の電源電圧調整装置は、Ｍｕｌｔｉ−Ｖｔｈ設計で使用されるトランジスタ種類毎のプロセスばらつきを特定するトランジスタ種類毎の発振器と、その発振回数を外部クロックを基準としてカウントするカウンタと、例えば、ＳＴＡ（Static Timing Analysis）により、回路中のすべてのパスを網羅して求められた変換特性を有し、回路のプロセスばらつきに応じて、カウンタのカウント値を目的の動作周波数で動作可能な範囲内の低い電圧値に変換する変換器とを備える。【００２７】
図１は、第１の電源電圧調整装置を適用したＬＳＩチップの構成図である。ＬＳＩ１０は、Ｍｕｌｔｉ−Ｖｔｈ設計された主要回路１１、電源電圧調整装置１２−１、および外部インタフェース１８からなり、電源電圧調整装置１２−１は、Ｌｏｗ−Ｖｔｈトランジスタ発振器１３、Ｈｉｇｈ−Ｖｔｈトランジスタ発振器１４、カウンタ１５、変換器１６、およびコントローラ１７を備える。主要回路１１としては、例えば、プロセッサコアや画像処理回路が挙げられる。【００２８】
ここでは、Ｍｕｌｔｉ−Ｖｔｈ設計で使用しているセルライブラリは２種類とし、それぞれＬｏｗ−ＶｔｈのＰＭＯＳ（Positive-channel Metal-Oxide Semiconductor）トランジスタとＮＭＯＳ（Negative-channel Metal-Oxide Semiconductor）トランジスタ、Ｈｉｇｈ−ＶｔｈのＰＭＯＳトランジスタとＮＭＯＳトランジスタで構成されているものとする。【００２９】
Ｌｏｗ−Ｖｔｈトランジスタ発振器１３は、主要回路１１で使用されているのと同じ種類のＬｏｗ−Ｖｔｈトランジスタで構成され、Ｈｉｇｈ−Ｖｔｈトランジスタ発振器１４は、主要回路１１で使用されているのと同じ種類のＨｉｇｈ−Ｖｔｈトランジスタで構成される。【００３０】
カウンタ１５は、発振器１３および１４で生成される発振出力によりカウントアップされ、変換器１６は、カウンタ１５のカウント値を所望の電源電圧に変換する。コントローラ１７は、発振器１３および１４の発振開始／停止、カウンタ１５のカウントアップ開始／停止、および外部インタフェース１８の動作を制御する。【００３１】
外部インタフェース１８は、コントローラ１７から受け取った情報を電源供給回路１９に転送する。電源供給回路１９は、ＬＳＩ１０に対して電源を供給する集積回路（ＩＣ）であり、外部インタフェース１８から受け取った情報に応じて電源電圧を調整する。【００３２】
以下、動作について説明する。コントローラ１７は、主要回路１１を含むＬＳＩ１０のプロセスばらつきをトランジスタ種類毎に特定するために、Ｌｏｗ−Ｖｔｈトランジスタ発振器１３とＨｉｇｈ−Ｖｔｈトランジスタ発振器１４に、発振開始信号を送る。発振開始信号を受けた発振器１３および１４は、発振を開始し、その発振出力をカウンタ１５に送る。カウンタ１５は、コントローラ１７からカウント開始信号を受け取ると、動作を開始し、発振器１３および１４の発振周波数に応じてカウントを開始する。【００３３】
コントローラ１７は、ＬＳＩ１０に入力される外部クロック信号ＣＬＫ、または、ＣＬＫを基準として作成された内部クロック信号の複数サイクルが経過した後に、カウンタ１５にカウントの停止を要求する。外部クロック信号ＣＬＫとしては、例えば、ＬＳＩ１０の動作仕様で規定された特定の周波数の信号が入力されるので、その周波数は特定されている。【００３４】
したがって、その周波数を基準として、発振器１３および１４の発振周波数に応じたカウンタ１５のカウント値から、主要回路１１を含むＬＳＩ１０のプロセスばらつき（ロット間ばらつき、ウエハ間ばらつき、およびチップ間ばらつき）を特定することができる。リセット信号ＲＳＴについては後述する。【００３５】
図２は、図１の電源電圧調整装置１２−１で用いられる回路の例を示している。発振回路２０は、図１のＬｏｗ−Ｖｔｈトランジスタ発振器１３に相当し、カウンタ回路２１は、その発振回数をカウントするカウンタ１５内の回路に相当する。入力信号ｃｌｋ、ｒｏｓｃ＿ｅｎ、およびｃｏｕｎｔ＿ｅｎは、コントローラ１７から与えられる。クロック信号ｃｌｋとしては、外部クロック信号ＣＬＫ、または、コントローラ１７内でＣＬＫを基準として作成された内部クロック信号が用いられる。【００３６】
発振回路２０は、フリップフロップ（ＦＦ）回路３１、３８、ＮＡＮＤ回路３２、インバータ３３〜３６、３９、およびバッファ３７から構成され、信号ｒｏｓｃ＿ｃｌｋを出力する。このうち、ＮＡＮＤ回路３２とインバータ３３〜３６は、リングオシレータを構成し、ＦＦ回路３８とインバータ３９は、１／２分周器を構成する。【００３７】
リングオシレータの素子にはＬｏｗ−Ｖｔｈトランジスタが使用され、Ｌｏｗ−Ｖｔｈトランジスタのプロセスばらつきが信号ｒｏｓｃ＿ｃｌｋの周波数に反映される。リングオシレータは、クロック信号ｃｌｋの複数サイクルのうち、信号ｒｏｓｃ＿ｅｎが論理“１”の期間、発振する。その発振周波数は、リングオシレータを構成する各素子の遅延時間により決定される。【００３８】
カウンタ回路２１は、ＦＦ回路４１〜４４、４７、４９、ＡＮＤ回路４５、４６、およびインクリメンタ４８から構成され、信号ＰＣＯＤＥを出力する。この回路は、クロック信号ｃｌｋの複数サイクルのうち、信号ｃｏｕｎｔ＿ｅｎが論理“１”の期間に、クロック信号ｒｏｓｃ＿ｃｌｋが何回トグルしたかをカウントする回路である。ｃｌｋで駆動されるＦＦ回路とｒｏｓｃ＿ｃｌｋで駆動されるＦＦ回路間では、信号の非同期乗り換えが必要となるため、ＦＦ回路４１〜４３からなるメタステーブル対策回路と、ＡＮＤ回路４５からなるゲーテッドクロックバッファが設けられている。【００３９】
図３は、図２の回路の動作波形を示している。図３において、クロック信号ｃｌｋとクロック信号ｒｏｓｃ＿ｃｌｋは非同期であり、これらのクロックのサイクルは異なっている。クロック信号ｒｏｓｃ＿ｃｌｋのサイクルは、リングオシレータの遅延特性により決定される。【００４０】
信号ｒｏｓｃ＿ｅｎがアサートされると、リングオシレータが発振を開始し、ｒｏｓｃ＿ｃｌｋがトグルを開始する。次に、信号ｃｏｕｎｔ＿ｅｎがアサートされると、ゲーテッドクロック信号ｒｏｓｃ＿ｇｃｌｋがトグルを開始し、ＦＦ回路４７およびインクリメンタ４８により何回トグルしたかがカウントされる。そのカウント値は、ＦＦ回路４７の出力信号ｒｏｓｃ＿ｃｏｕｎｔとして現れ、ＦＦ回路４９に保持された後、信号ＰＣＯＤＥとして出力される。【００４１】
ここでは、ｃｌｋとｒｏｓｃ＿ｃｌｋが非同期のクロック信号であるため、発振開始／停止のタイミングとカウント開始／停止のタイミングに対して、非同期乗り換えが悪影響を及ぼさないように、信号ｒｏｓｃ＿ｅｎと信号ｃｏｕｎｔ＿ｅｎとを別々に与えている。【００４２】
そして、信号ｃｏｕｎｔ＿ｅｎがネゲートされると、クロック信号ｒｏｓｃ＿ｇｃｌｋがトグルを停止し、ＦＦ回路４７はカウントアップを停止する。このときの信号ＰＣＯＤＥの値Ｎが、Ｌｏｗ−Ｖｔｈトランジスタ発振器１３の発振回数を示している。【００４３】
図２では、Ｌｏｗ−Ｖｔｈトランジスタ発振器１３の発振回路２０とそのカウンタ回路２１を示しているが、Ｈｉｇｈ−Ｖｔｈトランジスタ発振器１４の発振回路とそのカウンタ回路の構成についても同様である。この場合、発振回路２０のリングオシレータは、Ｈｉｇｈ−Ｖｔｈトランジスタで構成される。こうして、カウンタ１５は、発振器１３および１４の発振回数のカウント値を、発振周波数コードとして変換器１６に出力する。【００４４】
変換器１６は、カウンタ１５から受け取った発振周波数コードを、主要回路１１が動作可能な範囲内の低い電圧値に変換する。
変換器１６は、例えば、発振周波数コードを、一旦、対応するプロセスばらつき値に変換した後、そのプロセスばらつき値に対応する電圧値に変換する構成としてもよい。この場合、変換器１６は、例えば、図４および図５に示すような変換表を用いて発振周波数コードの変換を行う。【００４５】
図４の変換表は、１４ビットの発振周波数コード［１３：０］を入力として、６ビットのプロセスばらつきコード［５：０］を出力する。発振周波数コード［１３：０］のうち、発振周波数コード［１３：７］はＬｏｗ−Ｖｔｈトランジスタ発振器１３のカウント値を表し、発振周波数コード［６：０］はＨｉｇｈ−Ｖｔｈトランジスタ発振器１４のカウント値を表す。また、プロセスばらつきコード［５：０］のうち、プロセスばらつきコード［５：３］は発振周波数コード［１３：７］の変換結果を表し、プロセスばらつきコード［２：０］は発振周波数コード［６：０］の変換結果を表す。【００４６】
この例では、カウンタ１５のカウント値の最大値を１２７とし、プロセスばらつき値を０〜７の８カテゴリに分類している。発振周波数コードとプロセスばらつきコードの対応関係は、例えば、ＳＰＩＣＥ（Simulation Program with Integrated Circuit Emphasis ）等の回路シミュレータで予めシミュレーションを行って求めることができる。【００４７】
図５の変換表は、プロセスばらつきコード［５：０］を入力として、４ビットの電圧コード［３：０］を出力する。プロセスばらつきコードと電圧コードの対応関係は、例えば、設計時にプロセスばらつき、温度、および電源電圧の条件を変えてＳＴＡ等の解析を行い、ＬＳＩ１０の遅延情報を取得することにより、求めることができる。【００４８】
図６は、電圧コードと実際に設定される電圧との対応関係を示している。この例では、１６通りの電圧コードが用いられ、最低電圧は１．０００［Ｖ］、最高電圧は１．３７５［Ｖ］としているが、電圧コードの数は必要に応じて多くしても少なくしてもよい。【００４９】
コントローラ１７は、このような変換器１６により変換された電圧コードを受け取り、外部インタフェース１８に対して、その電圧コードを電源供給回路１９へ送信するように指示する。外部インタフェース１８は、電源供給回路１９に対して、電源電圧を調整するための制御信号を送る。電源供給回路１９は、外部インタフェース１８から制御信号を受け取り、ＬＳＩ１０の電源電圧を制御信号に対応する所定値に設定する。【００５０】
このようにして、Ｍｕｌｔｉ−Ｖｔｈ設計されたＬＳＩ１０の電源電圧を、ＬＳＩ１０のプロセスばらつきに応じて、主要回路１１が動作可能な範囲内の低い電圧値に設定することができ、高速化と低消費電力化をはかることができる。【００５１】
図１の回路では、セルライブラリを２種類とし、それぞれＬｏｗ−ＶｔｈのＰＭＯＳトランジスタとＮＭＯＳトランジスタ、Ｈｉｇｈ−ＶｔｈのＰＭＯＳトランジスタとＮＭＯＳトランジスタで構成されているものとして説明したが、Ｍｕｌｔｉ−Ｖｔｈ設計で使用するセルライブラリは２種類である必要はなく、３種類以上を用いることも考えられる。例えば、３種類のセルライブラリを用いる場合には、電源電圧調整装置１２−１内に第３の発振器を追加することで、同様の効果を得ることができる。【００５２】
第２の電源電圧調整装置は、図１の電源電圧調整装置１２−１において、発振器１３および１４を動作させる際の温度を示す信号を変換器１６に入力する機能を備え、変換器１６は入力された温度信号を利用してカウンタのカウント値を電圧値に変換する。【００５３】
図７は、第２の電源電圧調整装置で使用される変換器１６の変換表を示している。ＬＳＩ１０の温度はその動作状況や周囲の温度により影響を受け、発振器１３および１４の発振周波数は温度の影響を受けて変化するため、変換表には、発振器１３および１４を動作させる温度毎に、発振周波数コードとプロセスばらつきコードとの対応関係が保持されている。【００５４】
図８は、このような変換器１６の構成例を示している。変換器８０、８１、および８２は、それぞれ温度８０℃、４０℃、および０℃における変換表に基づき、発振周波数コードをプロセスばらつきコードに変換する。温度センサ８３は、発振器周辺の温度を測定して温度信号を出力し、セレクタ８４は、温度センサ８３の出力に応じて変換器８０〜８２の出力のいずれか１つを選択して出力する。【００５５】
このように、発振器１３および１４の動作温度を温度センサ８３により測定し、測定された温度に応じて変換表を切り替えることで、プロセスばらつきを精度よく特定することが可能となる。その結果として、設定される電源電圧のマージンを小さくすることができるため、より低消費電力化を実現できる。【００５６】
図７および図８の例では３種類の温度を用いているが、温度範囲をもっと細かく分けてもよい。また、変換器８０〜８２の出力を切り替える信号として温度センサ８３の出力信号を利用しているが、それ以外の方法で切り替えることも可能である。例えば、温度モード信号として、ＬＳＩ１０の外部から固定値で与えるようにしてもよい。【００５７】
第３の電源電圧調整装置は、ＬＳＩ１０内部の主要回路１１、例えば、マイクロプロセッサコア等からカウンタ１５のカウント値を読み出し、マイクロプロセッサコアのプログラムにより変換器１６の変換情報を書き換えることが可能なように構成される。【００５８】
図９は、第３の電源電圧調整装置を適用したＬＳＩチップの構成図である。図９において、図１と同じ符号は図１と同等の構成要素を表し、マイクロプロセッサに対応する主要回路１１は、命令フェッチユニット９０、命令キャッシュユニット９１、バスインタフェースユニット９２、実行ユニット９４、データキャッシュユニット９５、および内部データバス９６を含む。【００５９】
バスインタフェースユニット９２は、内部データバス９６、システムバス９７、およびプログラムやデータを格納するメインメモリ９３に対するアクセス制御を行い、実行ユニット９４は、命令のデコードや演算等を行い、データキャッシュユニット９５は、ロード／ストア命令を処理してデータアクセスを行う。【００６０】
カウンタ１５と変換器１６は、内部データバス９６に接続されるように構成され、マイクロプロセッサ１１のプログラムから、それぞれ読み出しと書き込みが可能なように構成されている。変換器１６の変換表の書き換えは、例えば、以下のような手順で行われる。
１．多数の実物のＬＳＩの試験を行って、各ＬＳＩのカウンタのカウント値と、各ＬＳＩが目的の周波数で動作するために必要な最低電圧を測定し、その対応関係を取得しておく。
２．取得した対応関係のデータを、マイクロプロセッサ１１のプログラムに組み込む。
３．マイクロプロセッサ１１は、そのプログラムを実行することで、組み込まれた対応関係のデータを変換器１６の内部記憶（メモリ、レジスタ等）に書き込む。この対応関係の書き込みは、通常、ＬＳＩ１０の動作開始時に行われる。【００６１】
これにより、ＬＳＩ１０の製造後に変換器１６の変換情報を書き換え可能となるため、ＬＳＩ１０の設計時に利用するライブラリと実際の回路との誤差等を考慮して、電源電圧の調整を行うことができ、より低消費電力化と高速化をはかることができる。【００６２】
さらに、変換情報の書き換えを行うことなく、電源電圧の調整を行うことも可能である。この場合、マイクロプロセッサ１１のプログラムによりカウンタ１５のカウント値を読み出し、実行ユニット９４が、プログラムに組み込まれた対応関係のデータを用いて電圧値を求める。バスインタフェースユニット９２は、得られた電圧値を、電源電圧調整装置１２−１および外部インタフェース１８を介して電源供給回路１９に送り、電圧の調整を実現する。【００６３】
第４の電源電圧調整装置は、カウンタ１５のカウント値をＬＳＩ１０の外部の装置から読み出し、その装置により変換器１６の変換情報を書き換え可能なように構成される。
図１０は、第４の電源電圧調整装置を適用したＬＳＩチップの構成図である。図１０において、図１と同じ符号は図１と同等の構成要素を表す。【００６４】
ＬＳＩ１０の外部に設けられたシステムコントローラ１００のプログラムには、図９のマイクロプロセッサ１１のプログラムと同様に、予め取得したカウント値と電圧の対応関係のデータが組み込まれている。システムコントローラ１００は、そのプログラムを実行することで、外部インタフェース１８を介して、対応関係のデータを変換器１６の内部記憶に書き込む。【００６５】
また、変換情報の書き換えを行うことなく、電源電圧の調整を行うことも可能である。この場合、システムコントローラ１００のプログラムは、カウンタ１５のカウント値の読み出し要求を外部インタフェース１８に送る。外部インタフェース１８は、コントローラ１７に読み出し要求を送り、カウンタ１５はカウント値をコントローラ１７に返送し、コントローラ１７は、外部インタフェース１８を介してシステムコントローラ１００にカウント値を送る。【００６６】
システムコントローラ１００は、プログラムに組み込まれた対応関係のデータを用いて電圧値を求め、得られた電圧値を、外部インタフェース１８を介して電源供給回路１９に送り、電圧の調整を実現する。【００６７】
このような電源電圧調整装置によれば、ＬＳＩ１０がマイクロプロセッサコアを含まないＡＳＩＣ（Application Specific Integrated Circuit ）等であっても、ＬＳＩ１０の製造後に変換器１６の変換情報を書き換え可能となるため、ＬＳＩ１０の設計時に利用するライブラリと実際の回路との誤差等を考慮して、電源電圧の調整を行うことができ、より低消費電力化と高速化をはかることができる。【００６８】
第５の電源電圧調整装置は、カウンタ１５のカウント値を、ＬＳＩ１０に電源電圧を供給する電源供給装置に転送し、電源供給装置が、その内部の変換器もしくはプログラムにより必要な電圧値を算出して、その電圧の電源をＬＳＩ１０に供給する。【００６９】
図１１は、第５の電源電圧調整装置を適用したＬＳＩチップの構成図である。図１１において、図１と同じ符号は図１と同等の構成要素を表し、変換機能付電源供給装置１１０は、カウンタ１５のカウント値を電圧値に変換する機能を有する。【００７０】
以下、動作について説明する。電源電圧調整装置１２−２のＬｏｗ−Ｖｔｈトランジスタ発振器１３、Ｈｉｇｈ−Ｖｔｈトランジスタ発振器１４、カウンタ１５、およびコントローラ１７と、外部インタフェース１８は、図１の回路とほぼ同様に動作するが、コントローラ１７は、カウンタ１５のカウント値を、外部インタフェース１８を介して変換機能付電源供給回路１１０に送信する。変換機能付電源供給回路１１０は、受け取ったカウント値をＬＳＩ１０が目的の動作周波数で動作可能な範囲内の低い電圧値に変換し、その電圧をＬＳＩ１０に供給する。【００７１】
このような電源電圧調整装置によれば、ＬＳＩ１０内部に変換器１６が不要となり、ＬＳＩ１０の回路面積が削減されるとともに、主要回路１１がプロセッサ等のように演算機能を持たない回路であっても、プロセスばらつきに応じた電源電圧の制御が可能となる。したがって、低消費電力化と高速化をはかることができる。【００７２】
また、電源供給回路がカウント値を直接読み出して設定する電源電圧を求めるので、図１０の構成のようにシステムコントローラ１００に処理負荷をかけることなく、電源電圧の調整を行うことができる。このため、システムの処理性能が劣化しないという利点がある。【００７３】
ところで、変換機能付電源供給回路１１０は、変換機能を持つシステムコントローラと電源供給回路に別れていてもよい。この場合、外部インタフェース１８は、カウンタ１５のカウント値をシステムコントローラに送信し、システムコントローラは、受け取ったカウント値を電圧値に変換して、その電圧の設定指示を電源供給回路に送信する。そして、電源供給回路は、その電圧をＬＳＩ１０に供給する。【００７４】
第６の電源電圧調整装置は、カウンタ１５のカウント値を、ＬＳＩ１０の外部から読み出し可能なように構成される。例えば、ＬＳＩ１０の製造後に行われる試験時に、特定の温度および電源電圧で試験を行い、このカウント値を読み出し、読み出されたカウント値からそのＬＳＩ１０のプロセスばらつきを特定するとともに、そのＬＳＩ１０が動作可能な範囲内の低い電圧値をＬＳＩ試験プログラム等で算出する。そして、その電圧値を不揮発性記憶素子に記録し、電源電圧をその値に調整する。【００７５】
図１２は、第６の電源電圧調整装置を適用したＬＳＩチップの構成図である。図１２において、図１と同じ符号は図１と同等の構成要素を表す。電源電圧調整装置１２−３は、変換器１６の代わりに不揮発性記憶素子１２０を備え、ＬＳＩ１０はテスト端子１２１を備える。【００７６】
以下、動作について説明する。ＬＳＩ１０の試験時に、電源電圧調整装置１２−３は、図１の電源電圧調整装置１２−１と同様に動作して、カウンタ１５のカウント値から、主要回路１１を含むＬＳＩ１０のプロセスばらつきを特定する。コントローラ１７は、カウンタ１５のカウント値を受け取り、外部インタフェース１８を介してテスト端子１２１に出力する。このとき、特定の電源電圧および温度で試験を行うことで、個々のＬＳＩ１０のプロセスばらつきを精度よく特定することが可能となる。【００７７】
不揮発性記憶素子１２０は、ヒューズやフラッシュメモリ等で構成され、ＬＳＩ１０のプロセスばらつきに応じて、目的の動作周波数で動作するために必要な電源電圧に対応する電圧コードを保持する。例えば、不揮発性記憶素子１２０をヒューズで構成した場合、試験時にテスト端子１２１から読み出されたカウント値から、ヒューズに設定するべき電圧コードを特定して、レーザ装置等でヒューズを切断し、ヒューズにその電圧コードを保持させる。【００７８】
ＬＳＩ１０の動作時には、コントローラ１７は、不揮発性記憶素子１２０に保持されている電圧コードを、外部インタフェース１８を介して電源供給回路１９に送信し、電源供給回路１９は、対応する電源電圧をＬＳＩ１０に供給する。【００７９】
これにより、精度よく設定された特定の電源電圧および温度の下で、発振器１３および１４の発振周波数をカウントすることができ、ＬＳＩ１０のプロセスばらつきをより精度よく特定することができる。したがって、設定される電源電圧のマージンをさらに小さくすることができ、より低消費電力化と高速化をはかることができる。また、必要な電圧値は不揮発性記憶素子１２０に記録されるため、変換器１６が不要となり、回路面積を削減できる。【００８０】
図１２では、テスト端子１２１は、他の端子と分離独立して設けられているが、外部インタフェース１８と電源供給回路１９の間の制御信号の端子と共用してもかまわない。
ところで、不揮発性記憶素子１２０に設定するべき電圧コードを特定する方法としては、例えば、以下の２つの方法が考えられる。
（１）第１の方法
ＬＳＩ１０の設計データを用いて、回路シミュレーション等により、試験時の温度および電源電圧の下で、各種プロセスばらつきに応じたカウンタ１５のカウント値を求めておく。また、ＳＴＡ等により、それぞれのプロセスばらつき値に対して、ＬＳＩ１０が目的の周波数で動作するために必要な最低電圧を求めておき、その対応関係に基づいて電圧コードを特定する。【００８１】
この方法では、まず、回路シミュレーションにより、特定の温度（例えば、１２５℃）および電源電圧（例えば、１．２Ｖ）の下で、カウント値のプロセスばらつきに対する依存性を取得しておく。【００８２】
図１３は、温度１２５℃および電圧１．２Ｖの条件における、Ｌｏｗ−Ｖｔｈトランジスタ発振器１３のカウント値のプロセスばらつきに対する依存性の例を示している。縦軸はカウント値を表し、横軸はプロセスばらつきを表す。【００８３】
次に、ＬＳＩ試験時に、回路シミュレーションと同じ温度および電圧で試験を行い、カウンタ１５のカウント値Ｃをテスト端子１２１から読み出す。そして、上述した依存性を用いて、そのカウント値Ｃに対応するプロセスばらつき値Ｐを特定する。Ｈｉｇｈ−Ｖｔｈトランジスタ発振器１４についても、同様にして、読み出されたカウント値に対応するプロセスばらつき値が特定される。【００８４】
次に、ＳＴＡにより、目的の動作周波数とＬＳＩ１０の動作が保証される最高温度（例えば、１２５℃）の条件で、Ｌｏｗ−Ｖｔｈトランジスタのプロセスばらつき、Ｈｉｇｈ−Ｖｔｈトランジスタのプロセスばらつき、および電源電圧をパラメータとして、ＬＳＩ１０のプロセスばらつきと電源電圧に対する動作特性を取得しておく。【００８５】
図１４は、温度１２５℃におけるＬＳＩ１０の動作特性の例を示している。縦軸は、ＬＳＩ１０の遅延余裕を示すＳｌａｃｋ値を表し、横軸は、Ｌｏｗ−Ｖｔｈトランジスタのプロセスばらつきを表す。直線１４０１、１４０２、および１４０３は、それぞれ電源電圧を１．４Ｖ、１．２Ｖ、および１．０Ｖとした場合の動作特性を示している。このようなグラフは、Ｈｉｇｈ−Ｖｔｈトランジスタの複数のプロセスばらつき値のそれぞれについて求められる。【００８６】
Ｓｌａｃｋ＝０のとき目的の動作周波数が実現され、Ｓｌａｃｋ＜０の場合はタイミング違反となるため、Ｌｏｗ−Ｖｔｈトランジスタのプロセスばらつき値がＰ１以下の領域では、タイミング条件を満たす最低電圧は１．４Ｖとなる。また、Ｐ１〜Ｐ２の領域では最低電圧は１．２Ｖとなり、Ｐ２以上の領域では最低電圧は１．０Ｖとなる。【００８７】
これらのグラフから、Ｈｉｇｈ−Ｖｔｈトランジスタのプロセスばらつきと、Ｌｏｗ−Ｖｔｈトランジスタのプロセスばらつきのそれぞれの値毎に、Ｓｌａｃｋ＝０となる最低電圧を求めると、図１５のようになる。【００８８】
そして、ＬＳＩ試験時に特定されたプロセスばらつき値と、図１５のような最低電圧の情報を用いて、各ＬＳＩ１０が目的の動作周波数で動作するために必要な最低電圧を求め、設定すべき電圧コードを特定する。【００８９】
なお、Ｌｏｗ−Ｖｔｈトランジスタの複数のプロセスばらつき値のそれぞれについて、図１４の横軸をＨｉｇｈ−Ｖｔｈトランジスタのプロセスばらつきに置き換えたグラフを求め、それらのグラフから図１５の最低電圧の情報を得ることも可能である。
（２）第２の方法
多数の実物のＬＳＩ１０の試験を行って、各ＬＳＩ１０のカウンタ１５のカウント値と、各ＬＳＩ１０が目的の周波数で動作するために必要な最低電圧を測定し、その対応関係を取得しておき、その対応関係に基づいて電圧コードを特定する。【００９０】
この方法では、まず、各ＬＳＩ１０のカウンタ１５のカウント値と、各ＬＳＩ１０が動作する電圧値との対応関係を、多数のＬＳＩ１０の試験により取得しておく。
例えば、ＬＳＩ１０の試験時に、特定の温度および電圧におけるカウンタ１５のカウント値を取得するとともに、目的の動作周波数とＬＳＩ１０の動作が保証される最高温度の条件で、ＬＳＩ１０の主要回路１１の動作試験を行う。このとき、電源電圧をパラメータとして変化させることでＬＳＩ１０が正常動作する電源電圧を求め、カウント値と正常動作する電源電圧との対応関係を求める。【００９１】
そして、ＬＳＩ１０の量産時には、試験により取得された対応関係を用いて、カウンタ１５のカウント値に対応する電源電圧値を求め、設定すべき電圧コードを特定する。
第７の電源電圧調整装置は、ＬＳＩ１０の主要回路１１が動作を開始する前の、パワーオンリセット期間中に電源電圧の調整を行う。この電源電圧調整装置は、例えば、上述した電源電圧調整装置１２−１〜１２−３のいずれかと同様に構成されるため、電源電圧調整装置１２と記すことにする。【００９２】
図１６は、第７の電源電圧調整装置を適用したＬＳＩチップのパワーオンリセット時のタイミングチャートである。図１６の期間１６０１は、電源電圧設定のための主要回路１１のリセット引き伸ばし期間を表し、期間１６０２は、電源電圧設定期間を表し、期間１６０３は、主要回路１１が動作を開始した後のユーザロジック通常動作期間を表す。【００９３】
まず、ＬＳＩ１０に電源電圧が供給された直後は、電源電圧は初期値に設定される。この例では、電源電圧の初期値は調整可能な電圧範囲の最大値としているが、電源電圧調整装置１２が動作する電源電圧であれば、最低電圧であってもよいし、中間電圧であってもかまわない。【００９４】
電源電圧とクロック信号ＣＬＫが安定すると、リセット信号ＲＳＴ（負論理）がアサートされる。これにより、主要回路１１の内部リセット信号（正論理）と、電源電圧調整装置１２の内部リセット信号（正論理）とがアサートされる。電源電圧調整回路１２のリセットが完了するとその内部リセット信号はネゲートされるが、主要回路１１のリセット信号はアサートされたままとなる。コントローラ１７は、リセット信号ＲＳＴの立ち下がりエッジを利用して、このような電源電圧調整装置１２の内部リセット信号を生成する。【００９５】
電源電圧調整装置１２は、主要回路１１のリセット中に一連の動作を開始して、電源供給回路１９または変換機能付電源供給回路１１０に電圧コードを送信し、電源供給回路１９または変換機能付電源供給回路１１０は所定の電圧をＬＳＩ１０に供給する。リセット信号ＲＳＴがネゲートされると、主要回路１１の内部リセット信号が解除され、主要回路１１が動作を開始する。【００９６】
もし、パワーオンリセット期間中に電源電圧を調整せず、主要回路１１が動作を開始してから調整を行った場合には、漏れ電流が大きくなる方に素子遅延がずれたＬＳＩ１０であっても、電圧調整前は一定電圧が供給されるため、消費電力が大きくなってしまう。このため、熱抵抗の低い、より高価なパッケージが必要になる可能性がある。逆に、漏れ電流が小さくなる方に素子遅延がずれたＬＳＩ１０では、動作可能な周波数が低くなってしまうために、一定電圧が供給されると動作できない可能性がある。【００９７】
これに対して、主要回路１１が動作を開始する前のパワーオンリセット期間中に電源電圧の調整を行えば、主要回路１１による消費電力が低い状態で電源電圧の調整を行えるため、熱抵抗の高い、より安価なＬＳＩパッケージを使用することができるようになる。【００９８】
ただし、電源電圧の初期値を中間電圧に設定することで問題が解決される場合には、必ずしもパワーオンリセット期間中に電源電圧を調整する必要はない。
図１７は、図１の電源電圧調整装置１２−１に対して図１６のタイミングを適用した場合の動作フローチャートである。信号ＲＳＴがアサートされると、主要回路１１の内部リセット信号がアサートされ、コントローラ１７は、信号ｒｏｓｃ＿ｅｎおよびｃｏｕｎｔ＿ｅｎをアサートして、発振器１３、１４、およびカウンタ１５にプロセスばらつきの測定を指示する（ステップ１７０１）。【００９９】
次に、変換器１６は、カウンタ１５により測定されたカウント値を、設定すべき電源電圧に変換し（ステップ１７０２）、コントローラ１７は、外部インタフェース１８に電圧の変更を指示する（ステップ１７０３）。そして、外部インタフェース１８は、電源供給回路１９に電圧の変更を指示し（ステップ１７０４）、電源供給回路１９は、指示された値に電圧を変更する（ステップ１７０５）。【０１００】
次に、信号ＲＳＴがネゲートされると（ステップ１７０６）、主要回路１１の内部リセット信号がネゲートされ、主要回路１１がユーザロジックに基づく通常動作を開始する（ステップ１７０７）。【０１０１】
図１１の電源電圧調整装置１２−２に対して図１６のタイミングを適用した場合の動作も、基本的に図１７と同様である。
図１８は、図１２の電源電圧調整装置１２−３に対して図１６のタイミングを適用した場合の動作フローチャートである。信号ＲＳＴがアサートされると、主要回路１１の内部リセット信号がアサートされ、コントローラ１７は、外部インタフェース１８に、不揮発性記憶素子１２０に保持された電圧値を転送して電圧の変更を指示する（ステップ１８０１）。【０１０２】
その後のステップ１８０２〜１８０５の動作は、図１７のステップ１７０４〜１７０７の動作と同様である。
第８の電源電圧調整装置は、主要回路１１が、特定のプロセスばらつき、特定の温度、および特定の電源電圧の条件下で目的の動作周波数を満たす場合の、カウンタ１５のカウント値に相当する電源電圧情報を保持する不揮発性記憶素子を備える。そして、不揮発性記憶素子に保持された値と、主要回路１１の動作中に測定されたカウンタ１５のカウント値とを比較し、測定されたカウント値が保持された値よりも大きければ電源電圧を下げ、小さければ電源電圧を上げるように調整する。【０１０３】
図１９は、第８の電源電圧調整装置を適用したＬＳＩチップの構成図である。図１９において、図１と同じ符号は図１と同等の構成要素を表す。電源電圧調整装置１２−４は、変換器１６の代わりに不揮発性記憶素子１９０およびコンパレータ１９１を備える。不揮発性記憶素子１９０は、カウンタ１５のカウント値に相当する値を保持し、コンパレータ１９１は、ＬＳＩ１０の動作時に測定されたカウント値と、不揮発性記憶素子１９０に保持されている値とを比較する。【０１０４】
以下に動作を説明する。ＬＳＩ１０の試験時において、ＬＳＩ１０のプロセスばらつきを特定するために、カウンタ１５のカウント値を外部インタフェース１８を介してＬＳＩ１０の外部に読み出すまでの動作は、図１２の場合と同様である。ただし、図１９の構成では、読み出し用のテスト端子は、外部インタフェース１８と電源供給回路１９の間の制御信号の端子と共用している。カウンタ１５のカウント値を読み出すことにより、ＬＳＩ１０のプロセスばらつきＰ＿０が特定される。【０１０５】
例えば、上述した第１の方法と同様に、ＬＳＩ１０の設計データを用いて、回路シミュレーション等により、試験時の温度および電源電圧の下で、各種プロセスばらつきに応じたカウンタ１５のカウント値を求めておく。このデータを用いて、試験時に測定されたカウンタ１５のカウント値からプロセスばらつきを特定することができる。【０１０６】
次に、不揮発性記憶素子１９０に設定する値を求める。ＬＳＩ１０のプロセスばらつきＰ＿０が特定されている場合、ＬＳＩ１０が目的の動作周波数Ｆ＿０で動作するためには、温度Ｔと電源電圧Ｖを適切に選べばよい。例えば、温度をＴ＿０＝１２５℃とした場合に必要な電源電圧Ｖ＿０は、ＳＴＡあるいはＬＳＩ試験の結果から求めることができる。【０１０７】
次に、プロセスばらつきＰ＿０、温度Ｔ＿０、および電源電圧Ｖ＿０の場合のカウンタ１５のカウント値Ｃ＿０を、回路シミュレーションあるいはＬＳＩ試験の結果から求める。このようにして得られたＣ＿０の値を、不揮発性記憶素子１９０に設定する。【０１０８】
次に、ＬＳＩ１０を動作させる場合には、ＬＳＩ１０の動作中に、コントローラ１７は、Ｌｏｗ−Ｖｔｈトランジスタ発振器１３あるいはＨｉｇｈ−Ｖｔｈトランジスタ発振器１４に発振開始信号を送信し、カウンタ１５にカウント開始信号を送信する。その後、カウンタ１５に対してカウント停止信号を送信する。コンパレータ１９１は、このときカウンタ１５から出力されるカウント値と、不揮発性記憶素子１９０に設定されている値とを比較し、比較結果をコントローラ１７に出力する。【０１０９】
コントローラ１７は、受け取った比較結果が、カウント値の方が設定値よりも大きいことを示している場合、現在の電圧値よりも低い電圧値に設定するように指示する信号を、外部インタフェース１８に送る。また、比較結果が双方同じ値であることを示している場合、現在の電圧値を保ち、比較結果がカウント値の方が設定値よりも小さいことを示している場合、現在の電圧値よりも高い電圧値に設定するように指示する信号を、外部インタフェース１８に送る。【０１１０】
このようにして、ＬＳＩ１０の主要回路１１の動作状況に応じて、変動する温度やＩＲ−ｄｒｏｐにより低下した電源電圧の影響を取り込んで、ＬＳＩ１０が目的の動作周波数Ｆ＿０で動作することを保証しつつ、消費電力が少なくなるように電源電圧を動的に調整することができる。したがって、主要回路１１の動作率が低く温度が低い場合や、電源電圧のＩＲ−Ｄｒｏｐが少ない場合には、電源電圧を低下させることができ、低消費電力化をはかることができる。【０１１１】
なお、この調整方法は、Ｌｏｗ−Ｖｔｈトランジスタ発振器１３あるいはＨｉｇｈ−Ｖｔｈトランジスタ発振器１４の発振周波数の温度および電源電圧に対する依存性が、ＬＳＩ１０の動作可能な動作周波数の温度および電源電圧に対する依存性と相似であることに基づいている。そこで、ＳＴＡ、回路シミュレーション、あるいはＬＳＩ試験による測定結果等からこれらの依存性の相関を取得し、適切なマージンを加えて電源電圧の制御を行うようにしてもよい。【０１１２】
図２０は、図１９の電源電圧調整装置１２−４の動作フローチャートである。図２０のステップ２００１〜２００５の動作は、図１８のステップ１８０１〜１８０５の動作と同様である。【０１１３】
主要回路１１が通常動作を開始すると、コントローラ１７は、信号ｒｏｓｃ＿ｅｎおよびｃｏｕｎｔ＿ｅｎをアサートして、発振器１３、１４、およびカウンタ１５にプロセスばらつきの測定を指示する（ステップ２００６）。コンパレータ１９１は、カウンタ１５により測定されたカウント値と、不揮発性記憶素子１９０の設定値とを比較し（ステップ２００７）、コントローラ１７は、比較結果に応じて外部インタフェース１８に電圧の変更を指示する（ステップ２００８）。【０１１４】
そして、外部インタフェース１８は、電源供給回路１９に電圧の変更を指示し（ステップ２００９）、電源供給回路１９は、指示された値に電圧を変更する（ステップ２０１０）。その後、所定の周期で、ステップ２００６〜２０１０の動作が繰り返される。【０１１５】
第９の電源電圧調整装置は、ＬＳＩ１０内部の複数個所に設けられた発振器を備え、ＬＳＩ１０の主要回路１１の動作状況に応じて局所的に動作率が異なり、温度の変動や電源電圧の変動がある場合でも、最も厳しい動作条件を考慮して電源電圧の調整を行う。【０１１６】
図２１は、第９の電源電圧調整装置を適用したＬＳＩチップにおける動作時の温度分布と発振器の配置例を示している。発振器２１０および２１１はいずれも、Ｌｏｗ−Ｖｔｈトランジスタ発振器１３とＨｉｇｈ−Ｖｔｈトランジスタ発振器１４を含んでいる。【０１１７】
ＬＳＩ１０の動作状況に応じて、動作時の温度分布は、例えば、図２１に示すように、一様ではない。また、図示されてはいないが、電源電圧も、ＩＲ−ｄｒｏｐにより低下することがあるため、一様ではない。したがって、ＬＳＩ１０内の１箇所に発振器２１０を配置しただけでは、ＬＳＩ１０の動作周波数を決定する温度や電源電圧の分布を取り込んで電源電圧を制御することはできない。そこで、この例では、もう１つの発振器２１１をＬＳＩ１０内の別の場所に配置している。【０１１８】
図２１では、発振器を２箇所に配置しているが、チップサイズあるいはチップコストの要求を満たすならば、ＬＳＩ１０内により多くの発振器を配置してもよい。カウンタ１５やコントローラ１７等の配置は特に指定していない。【０１１９】
コントローラ１７は、発振器２１０および２１１のうち、最も動作条件が厳しい場所に配置された発振器の発振周波数のカウント値を用いて、設定すべき電源電圧を決定する。
このような構成によれば、ＬＳＩ１０内部の温度や電源電圧の分布を取り込んで、電源電圧の適切な調整ができるようになり、ＬＳＩ１０のチップ内ばらつきにも対処可能となる。温度や電源電圧の分布はＬＳＩ１０の稼動状態に依存して変動するが、最も厳しい場合を考慮して電源電圧の調整を行えるため、設定すべき電源電圧のマージンを小さくすることができ、より低消費電力化をはかることができる。【０１２０】
このような複数の発振器の配置は、上述した第１〜第８の電源電圧調整装置のいずれにも適用することが可能であるが、特に、図１９に示した第８の電源電圧調整装置に適用した場合に好適である。【０１２１】
この場合、複数の発振器のそれぞれの発振周波数をカウントする複数のカウンタ１５が、ＬＳＩ１０内に設けられる。そして、これらのカウンタ１５のカウント値のうち、最も値の小さいものが選択され、比較器１９１に入力される。これにより、最も厳しい動作条件を考慮して電源電圧を調整することが可能になる。【０１２２】
以上説明したように、本発明によれば、ＬＳＩの電源電圧を、プロセスばらつきに応じて、目的の動作周波数で動作可能な範囲内の低い電圧値に設定することができる。このため、素子遅延が大きい方にずれたＬＳＩでは、電源電圧を上げて高速化をはかることができ、素子遅延が小さい方にずれたＬＳＩでは、電源電圧を下げて漏れ電流を抑止することができる。したがって、回路の高速化および低消費電力化をはかることができる。【０１２３】
また、低消費電力化に伴って熱抵抗の高い安価なパッケージを利用可能となるため、ＬＳＩの低価格化を実現することができる。
加えて、動作時の温度変動や電源電圧のＩＲ−ｄｒｏｐの変動を考慮して電源電圧を設定することもできるため、さらに低消費電力化をはかることができる。
【図１】
2007034540.tif 000002
【図２】
2007034540.tif 000003
【図３】
2007034540.tif 000004
【図４】
2007034540.tif 000005
【図５】
2007034540.tif 000006
【図６】
2007034540.tif 000007
【図７】
2007034540.tif 000008
【図８】
2007034540.tif 000009
【図９】
2007034540.tif 000010
【図１０】
2007034540.tif 000011
【図１１】
2007034540.tif 000012
【図１２】
2007034540.tif 000013
【図１３】
2007034540.tif 000014
【図１４】
2007034540.tif 000015
【図１５】
2007034540.tif 000016
【図１６】
2007034540.tif 000017
【図１７】
2007034540.tif 000018
【図１８】
2007034540.tif 000019
【図１９】
2007034540.tif 000020
【図２０】
2007034540.tif 000021
【図２１】
2007034540.tif 000022
【国際調査報告】
2007034540.tif 000023
2007034540.tif 000024
2007034540.tif 000025
2007034540.tif 000026