(57)【要約】【課題】設計自由度及び集積度の高い集積回路のための最適なパラメータを設定する動作速度検出装置を提供すること。【解決手段】動作速度検出装置は、デジタル論理回路により構成された集積回路の遅延特性から当該集積回路の動作速度を検出する。動作速度検出装置は、デジタル論理回路により構成され、入力されたクロックを遅延させる複数の遅延部と、複数の遅延部の各々から得られたデータを用いて統計的な演算処理を行う演算部とを備える。複数の遅延部は、集積回路内に分散して配置されている。【選択図】図１
2008011323.tif 000002
【特許請求の範囲】
【請求項１】
デジタル論理回路により構成された集積回路の遅延特性から当該集積回路の動作速度を検出する動作速度検出装置であって、
デジタル論理回路により構成され、入力されたクロックを遅延させる複数の遅延部と、
前記複数の遅延部の各々から得られたデータを用いて統計的な演算処理を行う演算部と、を備え、
前記複数の遅延部は、前記集積回路内に分散して配置されたことを特徴とする動作速度検出装置。
【請求項２】
請求項１に記載の動作速度検出装置であって、
前記演算部は、
前記複数の遅延部から得られたデータに基づいてセットアップエラーの発生数を計数する計数部と、
前記計数部によって計数されたセットアップエラーの発生数と閾値とを比較する比較部と、
を有することを特徴とする動作速度検出装置。
【請求項３】
請求項２に記載の動作速度検出装置であって、
前記閾値は可変であることを特徴とする動作速度検出装置。
【請求項４】
請求項１に記載の動作速度検出装置であって、
前記複数の遅延部の各々は、シフトレジスタを有することを特徴とする動作速度検出装置。
【請求項５】
請求項４に記載の動作速度検出装置であって、
前記複数の遅延部の各々は、前記シフトレジスタの各タップから得られた信号に基づいて、前記シフトレジスタの何段目までシフトしたかを示す多値のデータを出力するデータ処理部をさらに有することを特徴とする動作速度検出装置。
【請求項６】
請求項１に記載の動作速度検出装置であって、
前記演算部は、
前記複数の遅延部から得られたデータに基づいて、各遅延部での遅延量の標準偏差を算出する標準偏差を算出する標準偏差算出部と、
前記複数の遅延部から得られたデータに基づいて、各遅延部での遅延量の平均値、中央値又は最頻値を示す中心値を算出する中心値算出部と、
前記標準偏差算出部で算出された前記標準偏差及び前記中心値算出部で算出された前記中心値を加算した値と閾値とを比較する比較部と、
を有することを特徴とする動作速度検出装置。
【請求項７】
請求項１に記載の動作速度検出装置であって、
前記複数の遅延部の各々は、クリティカルパスの速度検出を行うスキャンテスト回路を有することを特徴とする動作速度検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、設計自由度及び集積度の高い集積回路のための最適なパラメータを設定する動作速度検出装置に関する。
【背景技術】
【０００２】
携帯電話等の低消費電力が要求される機器は、内部に有する大規模集積回路（ＬＳＩ）の処理の効率化や高速化、低消費電力化を実現するために、電源電圧及び動作周波数を制御する。電源電圧及び動作周波数を制御する際のパラメータは、ＬＳＩの動作限界速度や処理量、漏れ電流等である。このため、従来の機器は、ＬＳＩの内部に動作限界速度及び漏れ電流を検出するモニタ回路を備え、検出結果に応じて電源電圧、閾値電圧及び動作周波数を制御する。ＬＳＩには多数のトランジスタが集積されており、デバイス内で特性にばらつきがある。このため、機器は、全てのトランジスタが規定の動作を行うことのできる電源電圧及び動作周波数を決定する。
【０００３】
上記説明したモニタ回路には、アナログ的に検出する回路と、デジタル的に検出する回路の２種類がある。アナログ的に検出するモニタ回路は、ＬＳＩを構成するトランジスタの特性に近い特性を有する基準トランジスタのドレイン−ソース間電流、ゲート−ドレイン間電流及び基板電流を検出する。また、デジタル的に検出するモニタ回路は、基準となるクリティカルパスの伝播遅延量を検出する。
【０００４】
図９は、アナログ的に検出するモニタ回路を用いて閾値電圧及び電源電圧を制御する装置を示すブロック図である。モニタ回路１１は、基準トランジスタ１３の飽和電流値を検出する。閾値制御回路１５は、モニタ回路１１の検出結果に応じてＬＳＩ内部のトランジスタの閾値電圧を制御する。また、電源電圧制御回路１７は、モニタ回路１１の検出結果に応じて電源電圧を制御する。
【０００５】
【特許文献１】特開２００４−２０３２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
図９を用いて説明したモニタ回路１１がアナログ素子で構成されている場合、ＬＳＩ内部にモニタ回路１１を配置するための特定の領域を設ける必要がある。このような特定の領域をＬＳＩに設けることはＬＳＩの設計自由度及び集積度を低下させる要因となる。また、モニタ回路１１から出力される検出結果はアナログ信号であり、ＬＳＩは当該アナログ信号を処理する必要がある。このため、ＬＳＩの構成が複雑化する。
【０００７】
さらに、ＬＳＩ内部のトランジスタは特性にばらつきがあるが、基準トランジスタ１３がどのトランジスタの特性に近いかは不明である。このため、モニタ回路１１の検出結果とばらつき予測範囲とから、全てのトランジスタが動作可能なマージンを持って電源電圧、閾値電圧及び動作周波数を決定する必要がある。このため、最適な値の電源電圧、閾値電圧及び動作周波数を設定できないことがある。なお、デジタル的に検出するモニタ回路を用いた場合であっても、ＬＳＩ内の代表的な特性が検出されるのみであるため、上記と同様の問題がある。
【０００８】
本発明の目的は、集積回路の設計自由度及び集積度を高め、かつ最適なパラメータを設定可能な動作速度検出装置を提供することである。
【課題を解決するための手段】
【０００９】
本発明は、デジタル論理回路により構成された集積回路の遅延特性から当該集積回路の動作速度を検出する動作速度検出装置であって、デジタル論理回路により構成され、入力されたクロックを遅延させる複数の遅延部と、前記複数の遅延部の各々から得られたデータを用いて統計的な演算処理を行う演算部と、を備え、前記複数の遅延部は、前記集積回路内に分散して配置された動作速度検出装置を提供する。
【００１０】
上記動作速度検出装置では、前記演算部は、前記複数の遅延部から得られたデータに基づいてセットアップエラーの発生数を計数する計数部と、前記計数部によって計数されたセットアップエラーの発生数と閾値とを比較する比較部と、を有する。
【００１１】
上記動作速度検出装置では、前記閾値は可変である。
【００１２】
上記動作速度検出装置では、前記複数の遅延部の各々は、シフトレジスタを有する。
【００１３】
上記動作速度検出装置では、前記複数の遅延部の各々は、前記シフトレジスタの各タップから得られた信号に基づいて、前記シフトレジスタの何段目までシフトしたかを示す多値のデータを出力するデータ処理部をさらに有する。
【００１４】
上記動作速度検出装置では、前記演算部は、前記複数の遅延部から得られたデータに基づいて、各遅延部での遅延量の標準偏差を算出する標準偏差を算出する標準偏差算出部と、前記複数の遅延部から得られたデータに基づいて、各遅延部での遅延量の平均値、中央値又は最頻値を示す中心値を算出する中心値算出部と、前記標準偏差算出部で算出された前記標準偏差及び前記中心値算出部で算出された前記中心値を加算した値と閾値とを比較する比較部と、を有する。
【００１５】
上記動作速度検出装置では、前記複数の遅延部の各々は、クリティカルパスの速度検出を行うスキャンテスト回路を有する。
【発明の効果】
【００１６】
本発明に係る動作速度検出装置によれば、集積回路内に配置される遅延部がデジタル論理回路により構成されるため、当該集積回路の設計自由度及び集積度を高めることができる。また、複数の遅延部が集積回路内に分散して設けられるため、集積回路の製造ばらつきに応じた最適なパラメータを決定することができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施形態について、図面を参照して説明する。以下説明する動作速度検出装置は、デジタル論理回路により構成される大規模集積回路（ＬＳＩ）の最適な動作周波数及び電源電圧を設定するために、当該ＬＳＩの遅延特性から動作速度を検出する。
【００１８】
（第１の実施形態）
図１は、第１の実施形態の動作速度検出装置の構成を示すブロック図である。図１に示すように、第１の実施形態の動作速度検出装置１００は、制御部１０１と、測定用クロック発生部１０３と、複数の遅延部１０５と、演算部１０７とを備える。複数の遅延部１０５は、図示しないＬＳＩ内に分散して配置されている。遅延部を複数配置することによって遅延部自体のばらつきを補償して、遅延特性に関するＬＳＩのばらつきに応じた制御を行うことができる。また、遅延部が複数配置されるため、遅延特性に関するＬＳＩのばらつきを多値で検出することができる。
【００１９】
制御部１０１は、遅延部１０５及び演算部１０７を制御する。測定用クロック発生部１０３は、基準クロックに応じて、遅延部１０５のそれぞれに測定用クロックを供給する。
【００２０】
遅延部１０５は、デジタル論理回路により構成され、図２に示すように、遅延を発生させるためのバッファ等をレジスタ間に配置したシフトレジスタである。遅延部１０５には、測定用クロック発生部１０３から供給された測定用クロックが入力される。レジスタ間に配置されるバッファは、ある電圧・温度条件で所定の周波数のクロックが入力されたときにセットアップエラーが発生する段数が入力される。前記電圧・温度条件及び前記所定の周波数は、ＬＳＩの動作周波数の切り替え条件や、電源投入時に常に供給されるクロック等を基準に設定される。
【００２１】
測定用クロック発生部１０３から供給されたクロックによってシフトレジスタの初段の論理をシフトさせる。所定のクロック数に到達したときに出力からＨレベルの信号が出力されているかに応じて、所定の最高動作周波数及び最低動作電圧の基準を満たしているかが判明する。シフトレジスタを複数段構成することにより、演算部１０７は、シフトレジスタ間の遅延値のばらつきを積算して遅延検出を行うことができる。
【００２２】
演算部１０７は、複数の遅延部１０５の各々から入力されたデータを用いて統計的な演算処理を行って、ＬＳＩのセットアップエラーの発生数に基づく比較結果を出力する。演算部１０７から出力される情報によって、ＬＳＩの最高動作周波数及び最低動作電圧が決定される。図３は、本実施形態の演算部１０７の内部構成を示すブロック図である。演算部１０７は、図３に示すように、計数部１５１と、閾値記憶部１５３と、比較部１５５とを有する。計数部１５１は、遅延部１０５から入力された信号に基づいて、セットアップエラーの発生数を計数する。セットアップエラーは、トランジスタの飽和電流値と同様の基準となるパラメータである。閾値記憶部１５３は、セットアップエラーの発生数に関する閾値を記憶する。比較部１５５は、閾値記憶部１５３に記憶されている閾値と、計数部１５１によって計数されたセットアップエラーの発生数とを比較する。比較部１５５は、複数のデータから得られたセットアップエラーの発生数と閾値との大小関係を示す情報を出力する。
【００２３】
演算部１０７から出力された情報は、図１に示す動作周波数決定部１７１及び動作電圧決定部１７３に入力される。動作周波数決定部１７１は、入力された情報に応じてクロック発生部１７５を制御する。クロック発生部１７５から発生されるクロックは、ＬＳＩに供給される。動作電圧決定部１７３は、入力された情報に応じて電源部１７７を制御する。なお、動作電圧決定部１７３は、電源電圧の他、閾値電圧を制御することによるリーク電流の抑制や動作周波数の向上を目的として、基板電圧を制御しても良い。電源部１７７は、ＬＳＩチップの内部に設けられていても、外部に設けられていても良い。
【００２４】
閾値記憶部１５３が記憶する閾値は、ＬＳＩの設計及び評価により決まる値のため、ＬＳＩの製造後に切替可能であることが望ましい。また、多段の制御を行うため、閾値は複数存在しても良い。
【００２５】
本実施形態における遅延部のシフトレジスタ間の遅延の分布について、図４を参照して説明する。本実施形態では、セットアップエラー数の個数変化を大きくし速度判定の精度を向上するために、きるだけ遅延部のセットアップ許容値を分布中央に近い設計値とすることが望ましい。遅延部は、標準的なＬＳＩの設計方法であるセルベース設計により製造される。このため、図４に示すように、ある一定範囲での設計値のばらつきが発生する。一方、遅延部以外の通常使用する回路においては、遅延部の判定条件となる電圧・温度・周波数条件では、通常の動作条件と異なるため、ある一定の遅延余裕値（負の場合もありうる）を持つ。そのセットアップ限界値２７５は遅延部のセットアップ限界値２７３と一定の比率となっている。標準的なの出来栄えの個体に対してセットアップエラー数２７２が定義されており、それより遅延部におけるセットアップ数が多いか少ないかによってそのＬＳＩの出来栄えを判定することができる。
【００２６】
次に、具体的な算出過程について説明する。標準的なセルベース設計においてランダムにレイアウトされる回路に対して、規定の周波数のクロックを入力する場合、遅延部のシフトレジスタ間の遅延出来栄えは度数２７０に示されるような分布を示す。なお、図４中の度数２７１は累積度数である。出来栄えとは、この場合、設計上の出来栄えを指す。度数分布の内規定の入力周波数に対して、設計値としていくつかのシフトレジスタのクリティカルパスの遅延値が遅延部のある電圧・温度・周波数に対するセットアップ限界Ｔｄｗ２７４を超えている場合セットアップエラーを起こす。このエラー個数をＥｄｓ２７２とする。一方通常使用する回路の遅延部が検出に用いる電圧・温度・周波数におけるセットアップ限界Ｔｎｗ２７５が存在する。通常の回路の最高動作周波数のときのクリティカルパスの遅延値に等しい。遅延部とそれ以外の通常使用する回路と別の周波数のクロック・電圧条件で動作することもあるため、ＴｎｗとＴｄｗは一致しない。通常使用する回路の遅延がＴｎｗ以内に収まるための遅延部でセットアップエラーが起こってもよい個数（許容値）をＥｐｓ２７３とする。ＥｄｓとＥｐｓの間には電圧・温度により相関が存在する。Ｅｄｓが実際の製造上のばらつきで変動した場合は、Ｅｄｓの値を測定することにより間接的にＴｎｗに対して、電圧・温度条件などが満たしているか、どの程度余裕があるかを判定することができる。ＥｄｓとＥｐｓの相関はある関数で表現できるため、最高処理能力を最低の動作電圧で動作させる場合はＥｄｓの値が一定となるような制御を行えばよいし、最高処理能力を必要としない場合、求めるＴｎｗに対して許容できるＥｐｓｓが算出できる。ＴｄｗとＴｎｗの間に比例関係がある場合Ｅｐｓｓに関する式を以下に示す。Ｔｎｗｍａｘは最高動作周波数における許容遅延値、Ｔｎｗｍｉｎは最高処理能力を必要としない場合の許容遅延値である。
【００２７】
【数１】
2008011323.tif 000003
【００２８】
セットアップ限界Ｔｄｗごとにエラー個数Ｅｄｓの測定値を求めておくことで、周期と許容エラー数の相関がわかる。このため、その値を元にセットアップエラーが起こってもよい個数Ｅｐｓｓを算出することができる。
【００２９】
以上説明したように、本実施形態の動作速度検出装置１００によれば、ＬＳＩ内に配置される遅延回路がデジタル論理回路により構成されるため、当該ＬＳＩに対して特別なアナログ回路設計を行う必要がない。このため、ＬＳＩの設計自由度及び集積度を高めることができる。また、複数の遅延部がＬＳＩ内に分散して複数設けられているため、ＬＳＩの製造ばらつきに応じた最適なパラメータ（最高動作周波数や最低電源電圧等）を決定することができる。
【００３０】
（第２の実施形態）
第２の実施形態の動作速度検出装置が第１の実施形態の動作速度検出装置と異なる点は、遅延部の内部構成と、演算部の内部構成である。この点以外は第１の実施形態と同様である。図５は、本実施形態の遅延部の内部構成を示すブロック図である。図６は、本実施形態の演算部の内部構成を示すブロック図である。図７は、本実施形態における遅延部のシフトレジスタ間の遅延の分布を示す図である。
【００３１】
本実施形態の遅延部２０５は、図５に示すように、バッファ等をレジスタ間に配置したシフトレジスタと、バイナリデータ変換部２３１とを有する。このシフトレジスタは、第１の実施形態の遅延部１０５を構成するシフトレジスタと同様である。バイナリデータ変換部２３１は、シフトレジスタの各タップから信号を得て、シフトレジスタの何段目までシフトしたかを示す多値のバイナリデータを出力する。
【００３２】
本実施形態の演算部２０７は、複数の遅延部２０５の各々から入力されたデータを用いて統計的な演算処理を行って、ＬＳＩの遅延最大値に基づく比較結果を出力する。演算部２０７から出力される情報は、ＬＳＩの最高動作周波数及び最低動作電圧を示す。演算部２０７は、図６に示すように、標準偏差算出部２５１と、平均値算出部２５３と、乗算部２５５と、保証計数記憶部２５７と、加算部２５９と、閾値記憶部２６１と、比較部２６３とを有する。
【００３３】
標準偏差算出部２５１は、遅延部２０５から入力されたデータを用いて、各遅延部による遅延量の標準偏差σを算出する。遅延量のばらつきを示す標準偏差σは、以下の式により算出される。
【００３４】
【数２】
2008011323.tif 000004
【００３５】
平均値算出部２５３は、複数の遅延部２０５の各々から入力されたデータを用いて遅延量の平均値を算出する。遅延量の分布が正規分布の場合は平均値と中央値と最頻値は一致するが、分布が偏っている場合も想定されるため、平均値以外にも、中央値や最頻値を場合に応じて使い分ける。このため、平均値算出部２５３は、平均値の代わりに、中央値や最頻値を算出しても良い。
【００３６】
乗算部２５５は、標準偏差算出部２５１が算出した標準偏差σに保証計数記憶部２５７に記憶された保証計数を乗算する。加算部２５９は、保証計数が乗算された標準偏差（例えば３σ）に、平均値算出部２５３によって算出された平均値を加算して、遅延最大値を出力する。比較部２６３は、閾値記憶部２６１に記憶されている閾値と遅延最大値とを比較する。比較部２６３は、遅延最大値と閾値との大小関係を示す情報を出力する。なお、標準偏差をハードウェアにより算出すると回路の複雑性をもたらすため、ＣＰＵ等を用いてソフトウェアにより算出しても良い。
【００３７】
以上説明した本実施形態の動作速度検出装置が備える遅延部の数は有限であるため、ＬＳＩのばらつきを完全に検出できるとは限らない。しかし、遅延部の個数により検出できる偏差σの範囲は自明であるため、演算部２０７は、この偏差と係数に基づいて遅延特性を推定する。このため、実際に近いＬＳＩの遅延特性が予測されるため、最適な電源電圧及び動作周波数を決定することができる。
【００３８】
（第３の実施形態）
第３の実施形態の動作速度検出装置が第１の実施形態の動作速度検出装置と異なる点は、遅延部の内部構成である。この点以外は第１の実施形態と同様である。図８は、本実施形態の遅延部の内部構成を示すブロック図である。
【００３９】
本実施形態の遅延部３０５は、図８に示すように、シフトレジスタと、ＬＳＩで標準的に用いられているスキャンテスト回路とを有する。シフト切替信号３３１をノーマルに設定し、ノーマルパス３３３に対してクロックを入力することで、入力側レジスタ３３５にクリティカルパスを介してデータが伝送される。このデータが正しく伝送されているかを判定することで、動作速度を判定することができる。このように、スキャンテスト回路を流用するため、ＬＳＩチップの広範囲の特性を計ることができ、かつノーマルパスを使用するため、より実状にあった回路構成での評価を行うことができる。
【００４０】
以上説明した実施形態の動作速度検出装置で得られた検出結果に基づいて、ＬＳＩの出荷検査時に、ＬＳＩの内部にあるトリミング（補正）回路にヒューズ切断を行ったり、不揮発性メモリ等に補正情報を書き込むことで、ばらつきを補正した状態のＬＳＩを出荷することができる。また、動作速度検出装置で得られた検出結果に基づいてＬＳＩにマーキングを行うことで、ＬＳＩの動作可能速度に応じた選別を行った上で出荷することができる。
【産業上の利用可能性】
【００４１】
本発明に係る動作速度検出装置は、設計自由度及び集積度の高い集積回路のために最適なパラメータを設定する検査装置等として有用である。
【図面の簡単な説明】
【００４２】
【図１】第１の実施形態の動作速度検出装置の構成を示すブロック図
【図２】第１の実施形態の遅延部の内部構成を示すブロック図
【図３】第１の実施形態の演算部の内部構成を示すブロック図
【図４】第１の実施形態における遅延部のシフトレジスタ間の遅延の分布を示す図
【図５】第２の実施形態の遅延部の内部構成を示すブロック図
【図６】第２の実施形態の演算部の内部構成を示すブロック図
【図７】第２の実施形態における遅延部のシフトレジスタ間の遅延の分布を示す図
【図８】第３の実施形態の遅延部の内部構成を示すブロック図
【図９】アナログ的に検出するモニタ回路を用いて閾値電圧及び電源電圧を制御する装置を示すブロック図
【符号の説明】
【００４３】
１０１  制御部
１０３  測定用クロック発生部
１０５，２０５  遅延部
１０７，２０７  演算部
１７１  動作周波数決定部
１７３  動作電圧決定部
１５１  計数部
１５３  閾値記憶部
１５５  比較部
２３１  バイナリデータ変換部
２５１  標準偏差算出部
２５３  平均値算出部
２５５  乗算部
２５７  保証計数記憶部
２５９  加算部
２６１  閾値記憶部
２６３  比較部
【図１】
2008011323.tif 000005
【図２】
2008011323.tif 000006
【図３】
2008011323.tif 000007
【図４】
2008011323.tif 000008
【図５】
2008011323.tif 000009
【図６】
2008011323.tif 000010
【図７】
2008011323.tif 000011
【図８】
2008011323.tif 000012
【図９】
2008011323.tif 000013