(57)【特許請求の範囲】
【請求項１】
遅延素子を用いた複数の発振回路を有する検出回路と、
前記検出回路に接続され、前記発振回路の発振数を一定の期間カウントするカウンタ回路と、
前記カウンタ回路に接続され、前記カウンタ回路を制御する制御信号を出力する制御回路と、
前記制御回路に接続され、前記制御信号の基準となるタイマ信号を前記制御回路に対して出力するタイマ回路と、
前記カウンタ回路に接続され、前記カウンタ回路のカウント結果を演算する演算回路と、を有し、
前記検出回路は第１発振回路を有し、
前記タイマ回路は前記カウンタ回路が前記第１発振回路の発振数を前記一定の期間カウントした後に所定の期間をおいて前記タイマ信号を出力し、
前記カウンタ回路は前記タイマ信号に基づき前記第１発振回路の発振数を前記一定の期間カウントし、
前記演算回路は前記第１発振回路における複数のカウント結果を統計演算する
ことを特徴とする半導体集積回路装置。
【請求項２】
請求項１において、
前記複数の発振回路は、さらに第２発振回路を有し、
前記演算回路は、前記第1発振回路および前記第２発振回路における、前記カウンタ回路のカウント結果を統計演算する
ことを特徴とする半導体集積回路装置。
【請求項３】
請求項２において、
前記カウンタ回路に接続され、前記複数回動作させた前記カウンタ回路から出力される、複数のカウント結果を保持するレジスタ回路と、を有する、
ことを特徴とする半導体集積回路装置。
【請求項４】
請求項３において、
前記演算回路は、前記レジスタ回路に接続され、前記複数のカウント結果を統計演算する演算回路である
ことを特徴とする半導体集積回路装置。
【請求項５】
請求項４において、
前記演算回路は
複数のカウント結果における互いの差分を求める差分検出回路と、
前記差分に基づき、標準偏差または分散を求める二乗和計算回路と、を有する
ことを特徴とする半導体集積回路装置。
【請求項６】
請求項２において、
前記第２発振回路は前記第１発振回路の近傍に設置されている
ことを特徴とする半導体集積回路装置。
【請求項７】
請求項１において、
前記複数の発振回路は、インバータ回路を有するリングオシレータである
ことを特徴とする半導体集積回路装置。
【請求項８】
請求項７において、
前記第１発振回路に入力される電圧は前記リングオシレータにおける前段のインバータ回路の入力信号の入力電圧よりも高い電圧が入力される
ことを特徴とする半導体集積回路装置。
【請求項９】
請求項７において、
前記第１発振回路に入力される電圧は前記リングオシレータにおける前段のインバータ回路の入力信号の入力電圧よりも低い電圧が入力される
ことを特徴とする半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の特性ばらつき管理に関するものである。
【背景技術】
【０００２】
微細化の進展に伴い、トランジスタの特性ばらつきは増加し、そのばらつきが半導体集積回路へ与える影響は、電源電圧の低下もあり増大し続けている。この半導体集積回路の特性ばらつきを補償するため、集積回路のばらつきを検出し、その検出結果に基づき電源電圧、トランジスタの基板電圧や動作周波数等を制御する技術がある。この種の従来技術として、例えば、特許文献１では、集積回路内に配置されたモニタ回路において、集積回路の遅延特性を検出することにより、集積回路のばらつきを算出する。そして、検出されたばらつきに基づき、最適な電源電圧と動作周波数を決定し、集積回路のばらつきを補償する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−０１１３２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ある時刻でのモニタ情報を基にばらつきを検出する背景技術の手法では、半導体集積回路内の場所（空間的）なばらつき量は検出できても、時間的に変動するばらつき量に対しては、その検出、及び、補償ができない。なぜなら、ばらつきの経時情報を検出、及び、算出する機構を備えていないからである。そして、チップ製造後におけるばらつき現象に対しても、その影響を低減しなければ半導体の微細化によって生じる問題を解決できないといえる。
【０００５】
次に、時間的にばらつき量が変動するものの一例として、微細化プロセスでその影響が顕著となる図２に示すRTN（Random Telegraph Noise）と呼ばれる現象がある。RTNは原子レベルのわずかな構造欠陥によって、トランジスタしきい値電圧が時間的に変動する現象である。また、その時間変動はランダムな特性を持つ。従来技術では、時間的に変動するばらつきを検出できないため、そのばらつき量を正確に把握することができない。従って、集積回路の設計では、時間的に変動するばらつき量を予想し、それをマージンとして設計することになるが、この設計手法では過大なマージンを見込んだ設計となる。そのため、集積回路の消費電力の増大やコストの悪化を招くという問題が生じる。
【０００６】
本発明はこのような問題を解決するためになされたものであり、その目的の一つは、時間で変動する半導体集積回路の特性ばらつきを検出する回路を提供することである。本発明の前記ならびにそれ以外の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００７】
本願において開示される発明のうち、概要を説明すれば次のとおりである。すなわち、本発明は、遅延素子を用いた複数の発振回路を有する検出回路と、前記検出回路に接続され、前記発振回路の発振数を一定の期間カウントするカウンタ回路と、前記カウンタ回路に接続され、前記カウンタ回路を制御する制御信号を出力する制御回路と、前記制御回路に接続され、前記制御信号の基準となるタイマ信号を前記制御回路に対して出力するタイマ回路と、前記カウンタ回路に接続され、前記カウンタ回路のカウント結果を演算する演算回路と、を有し、前記検出回路は第１発振回路を有し、前記タイマ回路は前記カウンタ回路が前記第１発振回路の発振数を前記一定の期間カウントした後に所定の期間をおいて前記タイマ信号を出力し、前記カウンタ回路は前記タイマ信号に基づき前記第１発振回路の発振数を前記一定の期間カウントし、前記演算回路は前記第１発振回路における複数のカウント結果を統計演算することを特徴とする。
【発明の効果】
【０００８】
本願により、時間的に変動する集積回路のばらつきを管理することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態１によるばらつき検出回路において、その構成例を示す回路図である。
【図２】一般的なＲＴＮばらつきの概略図である。
【図３】ＬＳＩのトランジスタの特性ばらつきによるＬＳＩ動作速度の分布を示した図である。
【図４】電源電圧制御の構成例を示した図である。
【図５】ＬＳＩばらつき検出から統計演算までの処理フローを示した図である。
【図６】図１の検出回路の詳細な構成例を示す回路図である。
【図７】図６のインバータ回路の詳細な構成例を示す回路図である。
【図８】図６のインバータ回路の別の詳細な構成例を示す回路図である。
【図９】本発明による実施の形態２のばらつき検出回路において、その構成例を示す回路図である。
【発明を実施するための形態】
【実施例１】
【００１０】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。また、以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらはお互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。
【００１１】
また、各実施の形態において、要素の数等（個数、数値、量、範囲等を含む）に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良い。さらに、以下の実施の形態において、その構成要素（要素ステップ等も含む）は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。同様に、各実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。
【００１２】
まず、各実施の形態の説明に先立ち、本発明のばらつき検出回路に関する構成を簡単に説明する。
【００１３】
本実施の形態によるばらつき検出回路は、ＬＳＩの空間的または時間的ばらつき情報を検出する検出回路と、検出回路において検出されたばらつき情報に統計演算処理を施すことによりＬＳＩ全体のばらつきを計算する演算回路と、を備える構成となっている。上記構成により、空間的あるいは時間的に変動する集積回路のばらつきを把握することが可能となる。
【００１４】
そして更に、ばらつき情報をＬＳＩ電源の制御電圧値に変換するばらつき/電圧変換回路と、を備える構成としてもよい。これによって、トランジスタの特性ばらつきによるＬＳＩの動作速度や消費電力などの特性変動を、設計時の標準状態に補償することが可能となる。
【００１５】
ここで、ＬＳＩの空間的または時間的ばらつき情報を検出する検出回路は、より具体的には、遅延素子を用いた発振回路を備える。例えば、インバータ回路等の遅延素子を多段に接続して構成するリングオシレータ回路である。このリングオシレータ回路は、一個あるいは複数個がＬＳＩ内に配置され、発振信号を出力する。このリングオシレータ回路を構成するインバータ回路の入力端子には、入力信号の接続、遮断を制御するトランジスタと、入力端子を前段の入力信号の電圧よりも高い電圧、例えば電源電圧あるいはそれ以上の電圧に固定するトランジスタと、入力端子を前段の入力信号の電圧よりも低い電圧、例えば接地電位に固定するトランジスタとが接続される。このようにして、発振動作と入力信号の電源あるいは接地電位への固定を切り替える可能な構成となっている。
【００１６】
なお、入力端子を前段の入力信号の電圧よりも高い電圧に固定するトランジスタは、検出対象における時間的ばらつきを増加させ、時間的ばらつきの検出を容易にする効果がある（加速試験）。また、入力端子を前段の入力信号の電圧よりも低い電圧に固定するトランジスタは、検出対象における時間的ばらつきを減少させ、相対的に場所的ばらつきの検出を容易にする効果がある。
【００１７】
また、ＬＳＩ全体のばらつきを計算する演算回路は、より具体的には、例えば、前記検出回路の検出結果を選択する第１選択回路と、この第１選択回路の検出結果をデジタル信号に変換するカウンタ回路と、このデジタル信号を記憶するレジスタと、このレジスタを選択する第２選択回路と、このレジスタに記憶されたデジタル信号を統計処理する統計演算回路と、検出回路と演算回路の動作時間間隔を計測するタイマ回路と、検出回路と第１および第２選択回路とカウンタ回路と統計演算回路とを制御する制御回路と、で構成されたものとなっている。
【００１８】
上記は、1つあるいは複数の空間的または時間的なばらつきの検出結果を、カウンタ回路で計測したカウント数に変換してレジスタに格納することが可能な構成となっている。
【００１９】
前記演算回路内の統計演算回路は、より具体的には、例えば、リングオシレータ回路の発振周波数または複数のリングオシレータの発振周波数の差分を計算し、その二乗和を演算する構成となっている。これによって、ＬＳＩのばらつきを検出することが可能となる。
【００２０】
前記ばらつき/電圧変換回路は、より具体的には、例えば、ばらつき量と制御されるＬＳＩの電源電圧値の関係がテーブルとして格納されている構成となっている。ばらつき/電圧変換回路にて得られたばらつき量に対応した電源電圧をＬＳＩに供給することによって、トランジスタばらつきによって変動したＬＳＩの動作速度や消費電力などの特性を、設計時の標準状態に補償できる。上述したテーブルの一例として、ばらつきによる電圧変化と、その電圧変化を補償するための最適な電源電圧と、電源ＩＣ４０３に対する制御信号値と、が対応付けられているテーブルが挙げられる。
【００２１】
次にこれらの構成を含んだばらつき検出回路のより具体的な構成に関し、以下に説明する。
【００２２】
図１は、本発明の実施の形態１によるばらつき検出回路において、その構成例を示すブロック図である。図１を説明する前に、図１に示すばらつき検出回路が適用されるＬＳＩとそのシステム構成の一例を図４に示す。
【００２３】
図４に示すシステム構成では、トランジスタの空間的・時間的な特性ばらつきによるＬＳＩの特性ばらつきを、そのＬＳＩの電源電圧を制御することによって補償する。ＬＳＩ４０１と、ＬＳＩ４０１の外部に配置され電源電圧を生成する電源ＩＣ４０３とから構成される。
【００２４】
ＬＳＩ４０１内には、１個または複数の検出回路４００とリングオシレータ回路１０４の検出結果から電源ＩＣ４０３を制御するコントローラ４０２が配置される。
【００２５】
コントローラ４０２では、検出回路４００にて検出されたばらつき情報を演算処理し、その演算処理されたばらつき情報を基にＬＳＩの動作電圧を決定する。更に、コントローラ４０２では、電源ＩＣ４０３の制御信号を出力し、コントローラ４０２によって決定した動作電圧を電源ＩＣ４０３出力するように制御する。なお、コントローラ４０２で実現される機能は必ずしも同一ＬＳＩ内に存在する必要はなく、外部のチップからの入出力によって代えることも出来る。
【００２６】
図３は本発明に先立ち、発明者が検討を行った図面である。すなわち、あるＬＳＩのトランジスタの特性ばらつきによるＬＳＩ動作速度の分布を示した図である。波形３００は、ＬＳＩの空間的ばらつきによる速度分布である。波形３０１は、ＬＳＩの空間的ばらつきに加えて、時間的にばらつくトランジスタ特性（例えば、ＲＴＮなどによる変動）を考慮した速度分布である。
【００２７】
波形３０１の分布は、時間で変化するばらつきを含むので、波形３００の分布よりもばらつきが大きくなる。そこで、ＬＳＩの電源電圧を制御することにより、例えば波形３０２に示すような分布に変化させ、所望の動作速度を満足させるように、ＬＳＩの特性ばらつきを補償することができる。波形３０２の制御は、動作速度の低いＬＳＩについては電源に高い電圧を供給し、動作速度の高いＬＳＩについては低い電圧を供給した結果である。
【００２８】
以上、トランジスタの特性ばらつき補償について、ＬＳＩの動作速度の補償を例に電圧制御を説明したが、消費電力の補償の観点から電源電圧を制御してもよい。また、電源電圧は動作速度と消費電力の補償のみに限るものではない。
【００２９】
図１に示すばらつき検出回路は、検出回路１００、演算回路１０１、ばらつき/電圧変換回路１１３とから構成される。検出回路１００は１つまたは複数のリングオシレータ回路１０４から構成される。リングオシレータ回路１０４は、イネーブル信号ＲＯＥＮにより回路の動作及び停止が制御される。リングオシレータ回路１０４は、動作時には自励発振し、その発信信号は演算回路１０１に送られる。
【００３０】
検出回路１００では、ＬＳＩの空間的または時間的なばらつきを検出する。時間的なばらつきを検出する場合は、同一のリングオシレータ回路１０４を時間をおいて複数回動作させて、その動作結果を利用する。空間的なばらつきを検出する場合は、ＬＳＩ内に配置された複数のリングオシレータ回路１０４の動作結果を用いる。ここで、時間的なばらつきを検出するために複数回動作を行う時間の間隔は、ＬＳＩ動作速度を適正値に補償できる観点で定めるとよい。時間的なトランジスタの特性ばらつきは、個々の時間隔が大きいためである。
【００３１】
演算回路１０１は、リングオシレータ回路１０４の発振信号を選択する第１選択回路１０８と、リングオシレータ回路１０４の発振信号の一つである第１選択回路の出力信号の周期を計測し、デジタル信号に変換するカウンタ１０９と、このデジタル化された周期情報を格納する１つまたは複数のレジスタ１１１と、周期情報をどのレジスタ１１１に格納するかを選択する第２選択回路１１０と、周期情報を統計処理する統計演算回路１１２と、検出回路１００および演算回路１０１の動作時間間隔を計測するタイマ回路１０６と、検出回路１００と第１選択回路１０８および第２選択回路１１０と統計演算回路１１２とを制御する制御回路１０７と、から構成される。
【００３２】
制御回路１０７は、制御回路１０７に入力されるイネーブル信号ＣＯＵＮＴＥＮにより動作、停止が制御される。制御回路１０７はイネーブル信号ＣＯＮＴＥＮにより動作を開始し、タイマ回路１０６のイネーブル信号ＴＥＮを出力する。タイマ回路１０６は、任意の時間を設定できるものである。
【００３３】
タイマ回路１０６は、設定された時間を計測し、設定時間後に制御回路１０７の動作開始タイミングを規定するトリガ信号ＴＲＧを出力する。
【００３４】
制御回路１０７は、タイマ回路１０６よりトリガ信号ＴＲＧを受けて動作を開始し、リングオシレータ回路１０４のイネーブル信号ＲＯＥＮ、第１および第２選択回路１０８、１１０の選択信号ＳＳＥＬ１、ＳＳＥＬ２、カウンタ回路１０９のイネーブル信号ＣＥＮ、統計演算回路１１２のイネーブル信号ＳＴＡＴＣＡＬＣＥＮを出力する。リングオシレータ回路１０４はイネーブル信号ＲＯＥＮにより発振動作を開始し、発振信号を第１選択回路１０８に送信する。
【００３５】
第１選択回路１０８では、選択信号ＳＳＥＬ１により、発振信号を一つ選択する。カウンタ回路１０９は、イネーブル信号ＣＥＮにより、カウント動作を開始する。選択された発振信号は、カウンタ回路１０９において、発振周波数がデジタル信号であるカウント数に変換される。
【００３６】
第２選択回路１１０では、選択信号ＳＳＥＬ２によりどのレジスタ１１１に書き込むかを選択し、カウント数はレジスタ１１１に格納される。時間的に変動するばらつきを検出する際は、一つのリングオシレータ回路１０４を一定の時間間隔をおいて連続動作させ、リングオシレータ回路１０４の発振周波数の時間変動をレジスタ１１１に格納する。
【００３７】
ここで、複数あるリングオシレータのうち、同じリングオシレータから検出される周波数のカウント値を時間を変化させて比較すれば、時間による変動を判別することができる。すなわち、対象のリングオシレータにおけるランダムばらつきの発生の有無が分かる。さらに、検出する時間の間隔をタイマ回路により変化させれば、ランダムばらつきの発生の有無から、どの程度の時間間隔によって発生するのか判別することができる。
【００３８】
また、同じリングオシレータから検出される、周波数のカウント値における時間分布を計算することで、対象のリングオシレータにおけるランダムばらつきの電圧変動幅がどの程度であるか求めることが出来る。したがって、レジスタに格納する場合は、リングオシレータの配置されている場所や測定された時間が分かるように格納するとよい。
【００３９】
ばらつきの検出からレジスタへの書き込みまでのこの一連の処理の完了後、制御回路１０７はタイマ回路１０６のイネーブル信号ＴＥＮを、タイマ回路１０６に送信し、タイマ回路の時間カウントを再び開始する。リングオシレータ回路１０４の結果をレジスタ１１１に格納する処理は、詳細に後述するアルゴリズムに従って、１回または複数回の規定回数だけ繰り返される。
【００４０】
ＬＳＩ内の空間的なばらつきを検出する際は、複数のリングオシレータ回路１０４での検出結果を順番にレジスタ１１１に格納する。時間的なばらつきと空間的なばらつきの両方を検出する際は、両方の処理フローを組み合わせて実施する。なお、空間的なばらつきだけでなく時間的なばらつきも、その性質上、設計ルールや動作環境によってばらつく頻度が変動する。すなわち、どちらのばらつきが支配的になるか、設計時や動作時において変動することから、両方を検出する構成を備えることにより、与えられた動作環境に対して柔軟な補償を行うことが出来る。
【００４１】
検出回路１００で検出した全ての結果がレジスタ１１１に格納された後、イネーブル信号ＳＴＡＴＣＡＬＣＥＮにより、統計演算回路１１２において動作が開始される。そして、レジスタ１１１に格納されたカウント数に対して統計演算がなされる。これにより、ＬＳＩの特性ばらつきを検出できる。
【００４２】
統計演算回路１１２では、レジスタ１１１に格納された１つまたは複数のカウント数（各リングオシレータ回路１０４での検出結果を示す）の統計処理を行い、ＬＳＩのばらつきを検出する。統計演算回路１１２は、カウント数の標準偏差や分散などの分布の広がりを示す統計値を算出し、その結果をばらつき/電圧変換回路１１３に送付する。
【００４３】
ばらつき/電圧変換回路１１３では、統計演算回路１１２で演算されたＬＳＩのばらつき情報を、ＬＳＩの電源電圧情報に変換する。この電源電圧情報は、ＬＳＩのばらつきを補償するのに最適な電圧、すなわち回路の動作速度を安定させる電圧に決定される。ばらつき/電圧変換回路１１３では、決定された電源電圧をＬＳＩ外部の電源ＩＣ４０３が出力するための制御信号を生成する。
【００４４】
ＬＳＩのばらつき情報を電源ＩＣ４０３の制御信号に変換する具体的な方法は、例えばばらつき量と制御信号値とを対応付けたテーブルで実現してもよいが、これに限るものではない。これによって、トランジスタばらつきによって変動するＬＳＩの動作速度や消費電力などの特性を、設計時の標準状態に補償することが可能となる。
【００４５】
図５は、リングオシレータ回路１０４での時間的に変動するばらつき検出から統計演算回路１１２での統計解析までの処理フローを示したものである。タイマ回路１０６で予め規定した時間間隔毎において、ある一つのリングオシレータ回路１０４の発振周波数を規定回数計測する。この回数は統計処理の結果を得るために、ばらつきが傾向として表れる程度の回数で定めると良い。具体的には、概ね数十回から数百回程度である場合が多いが、この限りではない。
【００４６】
次に、リングオシレータ回路１０４（ここでは１番目のリングオシレータ回路を選択し、その回路での計測を例とする）の発振周波数をカウント数に変換した結果をレジスタ１１１に格納する。そして、上述した規定回数に達したかどうかを判断し、達していなければタイマ回路１０６で計測した時間後、すなわち規定の間隔で待機し、始めのリングオシレータ回路１０４でのばらつき検出処理に戻る。一方、規定した回数に達した場合は、統計演算回路１１２での統計処理および解析に移行し、ＬＳＩのばらつきを検出する。
【００４７】
図６は、リングオシレータ回路１０４の回路図の一例である。リングオシレータ回路１０４は、ＮＡＮＤ回路５００と複数段のインバータ回路５０１とから構成される。ＮＡＮＤ回路５００は、イネーブル信号ＲＯＥＮによりリングオシレータ回路１０４の動作と停止を切り替えるために挿入されている。
【００４８】
リングオシレータ回路１０４の発振信号出力は信号ＲＯＵＴとして出力される。ＲＯＥＮをＨｉｇｈにすると回路動作し、Ｌｏｗで停止する。インバータ回路５０１には、制御信号ＡＣＣが接続される。制御信号ＡＣＣは、インバータ回路５０１の入力を前段の出力に接続するか、または、入力を固定電位に接続するかを選択する信号である。すなわち、前段の出力に接続すれば検出動作を行うことができ、入力を任意の固定電位にすればばらつきの発生頻度を変動させることが出来る。
【００４９】
図７は、図６に示すインバータ回路５０１の詳細回路の一例である。インバータ回路５０１は、インバータ回路６０３と、入力信号ＩＮの接続、遮断を制御するトランジスタ６０１と、入力端子を電源電圧あるいはそれ以上の第３の電圧に固定するトランジスタ６０２と、から構成される。この第３の電圧を電源に直結し、第３の電圧を電源電圧としてもよい。また、トランジスタ６０１を制御する信号ＡＣＣとインバータ回路６０４によってその反転信号が生成される。なお、トランジスタ６０１は素子のサイズを大きくすることで時間的ばらつきに対する影響を低減することができる。
【００５０】
制御信号ＡＣＣをＨｉｇｈにすると入力信号ＩＮはインバータ回路６０３に接続される。制御信号ＡＣＣをＬｏｗにすると入力信号ＩＮはインバータ回路６０３とは切断される。その際、トランジスタ６０２によってインバータ回路６０３の入力信号は、電源電圧あるいはそれ以上の電圧に固定される。その理由として、時間変動するばらつきの発生頻度はトランジスタに印加される電圧に依存することが知られていることが挙げられる。したがって、インバータ回路６０３の入力信号を電源電圧あるいはそれ以上の電圧に固定すると、時間的に変動するばらつき現象の発生頻度を高めることが可能である。
【００５１】
図６および図７では、ＲＯＥＮとＡＣＣを分離しているが、接続してもよい。その場合は、リングオシレータ回路１０４を停止させている場合は、常にインバータ回路５０１の入力は第３の電圧に固定されることになり、時間的に変動するばらつき現象の発生頻度が高い状態を維持する効果がある。
【００５２】
図８は、図６に示すインバータ回路５０１の別の構成の一例である。インバータ回路５０１は、インバータ回路８０３と、入力信号ＩＮの接続、遮断を制御するトランジスタ８００と、入力端子を電源電圧あるいはそれ以上の第３の電圧に固定するトランジスタ８０１と、入力端子を接地電位に固定するトランジスタ８０２と、トランジスタ８００、８０１、８０２を制御する制御信号生成部８０４とから構成される。この第３の電圧を電源に直結し、第３の電圧を電源電圧としてもよい。図７で示した回路とは、インバータ回路８０３の入力信号が接地電位に固定できる点において、異なった構成を有する。
【００５３】
制御信号ＡＣＣをＨｉｇｈにすると入力信号ＩＮはインバータ回路８０３に接続される。制御信号ＡＣＣをＬｏｗにすると、接続・遮断を制御するトランジスタ８００によって入力信号ＩＮはインバータ回路８０３とは切断される。その際、インバータ回路８０３の入力信号は、トランジスタ８０１、８０２およびそれらへの入力信号である信号ＨＬによって、第３の電圧か接地電位のどちらかに固定される。つまり、インバータ８０３の入力電位は、信号ＨＬがＨｉｇｈの場合はトランジスタ８０２が導通して接地電位となり、信号ＨＬがＬｏｗの場合はトランジスタ６０２が導通し、第３の電位となる。
【００５４】
インバータ回路８０３の入力信号を電源電圧あるいはそれ以上の電圧に固定するのは、時間的に変動するばらつき現象の発生頻度を高めるためである。また、接地電位に固定するのは時間変動するばらつきの発生頻度を最も低く抑えるためである。空間的なばらつきを検出する際には、時間的なばらつきの発生頻度を可能な限り抑えておく必要がある。よって、リングオシレータ回路１０４を動作させる前に、インバータ回路８０３の入力を接地電位に固定しておく。
【００５５】
以上のように、検出回路１００でＬＳＩの特性ばらつきを検出し、演算回路１０１でＬＳＩの空間的、あるいは時間的なばらつきを求めることにより、ＬＳＩのばらつきを精度よく把握することが可能である。また、検出したＬＳＩのばらつき情報を基に、ばらつき/電圧変換回路１１３で制御電源電圧値を決定し、外部電源ＩＣ４０３を制御することにより、ＬＳＩのばらつきを補償することが可能である。
【００５６】
このように、演算回路の後段に検出したばらつき情報をＬＳＩ電源の制御電圧値に変換する機構を備えることによって、ＬＳＩのばらつき補償も可能となっている。
【００５７】
したがって、把握したばらつき情報に基づき、集積回路の電源電圧を制御することにより、ばらつきによって変動した集積回路の動作速度や消費電力などの特性を、設計時の標準状態に補正することが可能になる。
【実施例２】
【００５８】
さらに、本実施の別の形態による検出回路は、前述したような構成を備えつつ、2つ以上のリングオシレータ回路がお互いに近傍に配置される。これらリングオシレータ回路の特性差を用いることによって、システマティックではないＬＳＩ内のランダムなばらつきを検出することが可能となる。
【００５９】
図９は、本発明による実施の形態２のばらつき検出回路において、その構成例を示すブロック図である。図９に示すばらつき検出回路は、あるばらつき傾向をもったシステマティックなばらつきだけでなく、ばらつきの傾向に相関がないランダムなばらつきを検出することを可能とするものである。はらつき検出回路は、第１の検出回路１０００と、第２の検出回路１００１と、第１のセレクタ回路１００２と、第２のセレクタ回路１００３と、演算回路１００６と、ばらつき/電圧変換回路１００７とから構成される。
【００６０】
第１の検出回路１０００、及び、第２の検出回路１００１は、１つまたは複数のリングオシレータ回路１００８、１００９から構成される。リングオシレータ回路１００８、１００９は、図６に示す実施例１のリングオシレータ回路と同様の構成であるため、その説明は省略する。
【００６１】
リングオシレータ回路１００８と１００９は、前述したような構成を備えつつ、お互いに近傍にペアで配置される。このペアで配置されたリングオシレータ回路１００８、１００９が、ＬＳＩ内に一つあるいは複数セット配置される。本構成によって、電源からの距離による電圧の変動、およびレイアウトパターンの相互作用による影響を低減することができる。
【００６２】
第１のセレクタ回路１００２では、第１の検出回路１０００の出力信号を選択し、第２のセレクタ回路１００３では、第２の検出回路１００１の出力信号を選択する。第１と第２のセレクタ回路１００２、１００３では、ペアで配置されたリングオシレータ回路１００８と１００９との発振信号出力を選択する。
【００６３】
演算回路１００６は、周波数差分検出回路１００４と二乗和演算回路１００５とから構成される。第１及び第２のセレクタ回路１００２、１００３で選択された発振信号は、周波数差分検出回路１００４に入力される。周波数差分検出回路は、発振信号の発振周波数をカウント数に変換し、２つのカウント数の差分を演算する。求めたカウント数の差分信号を、二乗和演算回路１００５に出力する。二乗和演算回路１００５では、差分信号の二乗和を計算し、標準偏差や分散などの分布の広がりを示す統計値を算出する。
【００６４】
近傍に配置されたペアのリングオシレータ回路１００８、１００９の発振周波数特性の差分を検出し、統計処理を行うことにより、ある傾向をもったシステマティックなばらつきではなく、ＬＳＩ内のランダムなばらつきを検出することが可能となる。また、リングオシレータ回路の発振周波数そのものではなく、その差分信号を統計処理することにより、カウント数のビット数を低下させることができ、演算量を大幅に低減した補償をすることが可能である。
【００６５】
尚、周波数差分検出回路１００４において、2つのリングオシレータ回路１００８、１００９の発振信号の発振周波数カウント数の差分ではなく、どちらかのリングオシレータ回路１００８または１００９の発振周波数カウント数を統計処理することにより、上記ランダムばらつきを含んだＬＳＩ内全体の空間的なばらつきを検出することができる。
【００６６】
ばらつき/電圧変換回路１００７では、統計演算回路１１２で演算されたＬＳＩのばらつき情報を、ＬＳＩの電源電圧情報に変換する。この電源電圧情報は、ＬＳＩのばらつきを補償するのに最適な電圧に決定される。ばらつき/電圧変換回路１００７では、決定された電源電圧をＬＳＩ外部の電源ＩＣ４０３が出力するための制御信号を生成する。
【００６７】
ＬＳＩのばらつき情報を電源ＩＣ４０３の制御信号に変換する具体的な方法は、実施例１と同様に、例えばばらつき量と制御信号値とを対応付けたテーブルで実現してもよいが、これに限るものではない。
【００６８】
これによって、トランジスタばらつきによって変動するＬＳＩの動作速度や消費電力などの特性を、設計時の標準状態に補償することが可能となる。
【００６９】
以上のように、検出回路１０００、及び、検出回路１００１でＬＳＩの特性ばらつきを検出し、演算回路１００６でＬＳＩのランダムばらつきを含む空間的なばらつきを求めることにより、ＬＳＩのばらつきを精度よく把握することが可能である。また、検出したＬＳＩのばらつき情報を基に、ばらつき/電圧変換回路１００７で制御電源電圧値を決定し、外部電源ＩＣ４０３を制御することにより、ＬＳＩのばらつきを補償することが可能である。
【００７０】
なお、周波数差分検出回路１００４、二乗和演算回路１００５、演算回路１００６、ばらつき/電圧変換回路１００７で実現される機能は必ずしも同一ＬＳＩ内に存在する必要はなく、外部のチップからの入出力によって代えることも出来ることは言うまでもない。
【００７１】
以上、実施の各形態によるばらつき検出回路及びその補償方法は、例えばマイコンやプロセッサなどの論理回路主体の半導体集積回路に適用して特に有益な技術である。またこれに限らず、特性ばらつきの補償が必要な半導体集積回路に対して広く適用可能である。
【符号の説明】
【００７２】
１００、４００、１０００、１００１  検出回路
１０１、１００６  演算回路
１０４、１００８、１００９  リングオシレータ回路
１０６  タイマ回路
１０７  制御回路
１０８  第１選択回路
１０９  カウンタ回路
１１０  第２選択回路
１１１  レジスタ回路
１１２  統計処理回路
１１３、１００７  ばらつき／電圧変換回路
２００  ＲＴＮばらつき波形
３００、３０１、３０２  ＬＳＩ速度分布波形
４０１  半導体集積回路（ＬＳＩ）
４０２  コントローラ
４０３  電源ＩＣ
４０４  集積回路の電源電圧
４０５  電源ＩＣ制御信号
５００  ＮＡＮＤ回路
５０１、６０３、８０３  インバータ回路
６０１、８００  スイッチ回路
８０４  制御信号生成部
１００２、１００３  セレクタ回路
１００４  周波数差分検出回路
１００５  二乗和演算回路
１００６  演算回路
１００７  ばらつき／電圧変換回路
【図１】
0005557783.tif 000002
【図２】
0005557783.tif 000003
【図３】
0005557783.tif 000004
【図４】
0005557783.tif 000005
【図５】
0005557783.tif 000006
【図６】
0005557783.tif 000007
【図７】
0005557783.tif 000008
【図８】
0005557783.tif 000009
【図９】
0005557783.tif 000010