説明

遅延比較回路、遅延比較方法、遅延回路および半導体集積回路

【課題】複数の遅延回路における遅延差(位相差)を高精度で比較することができる遅延比較回路の提供を図る。
【解決手段】複数のディレイライン1,2と、該各ディレイラインをそれぞれオシレータ化する複数のオシレータ補助回路6,8;7,9と、オシレータ化された前記各ディレイラインの発振出力をカウントしてそれぞれカウント値を求める複数のカウンタ3,4と、前記各カウント値を基準カウント値と比較する比較部5と、を有するように構成する。

【発明の詳細な説明】
【技術分野】
【0001】
この出願で言及する実施例は、遅延比較回路、遅延比較方法、遅延回路および半導体集積回路に関する。
【背景技術】
【0002】
ディジタルDLL(Delay Locked Loop)は、様々な回路に使用されており、例えば、同期型DRAM(SDRAM:Synchronous DRAM)との高速データ転送を実現するために必要な(位相)クロック生成回路として使用されている。
【0003】
具体的に、クロックの周期を測定するための第1ディレイラインと、そのクロック周期においてデータを取り込む位相(タイミング)を制御するための第2ディレイラインを設けたDDR(Double Data Rate)メモリのインターフェースが知られている。
【0004】
このような2つのディレイライン(ディジタルDLL)を設けた場合、それらディレイラインの遅延差(位相差)を確認する必要があり、そのために遅延比較回路が利用されている。
【0005】
図1は従来の遅延比較回路の一例を概略的に示すブロック図であり、図2は図1に示す遅延比較回路の動作を説明するためのタイミング図である。
【0006】
図1において、参照符号101は第1ディレイライン、102は第2ディレイライン、103は第1追加ディレイ回路、104は第2追加ディレイ回路、そして、105はフリップフロップを示している。
【0007】
図1に示されるように、従来の遅延比較回路は、例えば、第1および第2ディレイライン101,102、第1および第2追加ディレイ回路103,104、および、フリップフロップ105を有する。
【0008】
第1および第2ディレイライン101,102の各出力信号do1,do2は、システム(例えば、DDR方式のSDRAMシステム)に供給されると共に、それぞれ第1および第2追加ディレイ回路103,104に入力される。
【0009】
第1および第2追加ディレイ回路103,104は、複数の遅延ユニット(バッファ)を有し、入力された第1および第2ディレイライン101,102の出力信号do1,do2に対してバッファによる遅延を追加してフリップフロップ105に出力する。
【0010】
すなわち、第1追加ディレイ回路103の出力信号dc1は、フリップフロップ105のデータ入力端子Dに供給され、第2追加ディレイ回路104の出力信号dc2は、フリップフロップ105のクロック入力端子CKに供給される。
【0011】
これにより、図2に示されるように、フリップフロップ105は、第1追加ディレイ回路103の出力信号dc1のレベルを第2追加ディレイ回路104の出力信号dc2の立ち上がりタイミングで取り込んで信号(比較結果)crを出力する。
【0012】
そして、フリップフロップ105の出力信号crが高レベル『H』から低レベル『L』へ、或いは、『L』から『H』への変化により、2つのディレイライン101および102の出力信号dc1,dc2の位相差を把握するようになっている。
【0013】
すなわち、図1に示す遅延比較回路は、2つのディレイライン101,102に対して同一のクロックCLKを入力する。そして、それらディレイライン101,102の出力信号do1,do2の立ち上がりエッジのタイミングを、第1および第2追加ディレイ回路103,104のバッファを利用してフリップフロップ105により比較していた。
【0014】
ところで、従来、ディレイラインの遅延時間を短時間まで測定および評価する遅延比較回路としては、様々なものが提案されている。
【先行技術文献】
【特許文献】
【0015】
【特許文献1】特開2001−091587号公報
【特許文献2】特開2006−220631号公報
【発明の概要】
【発明が解決しようとする課題】
【0016】
上述した図1に示す遅延比較回路において、2つのディレイライン101,102による遅延時間の差(位相差)は、追加ディレイ回路103,104におけるバッファの数により検出されている。
【0017】
すなわち、図1に示す遅延比較回路では、追加ディレイ回路103,104における1つのバッファの遅延時間を単位として2つのディレイライン101,102間の遅延差を比較することしかできなかった。
【0018】
なお、ディレイラインは2つに限定されるものではなく、必要に応じて様々な数にすることができる。
【0019】
また、近年、半導体集積回路に使用するクロックの高速化(高周波数化)やクロックの低ジッタ化の要求に伴って、遅延回路の遅延精度向上、並びに、遅延比較回路の遅延比較精度の向上が必要になって来ている。
【0020】
この出願は、上述した課題に鑑み、複数のディレイラインにおける遅延差(位相差)を高精度で比較することができる遅延比較回路および遅延比較方法の提供を目的とする。
【課題を解決するための手段】
【0021】
一実施形態によれば、複数のディレイラインと、複数のオシレータ補助回路と、複数のカウンタと、比較部と、を有することを特徴とする遅延比較回路が提供される。
【0022】
各オシレータ補助回路は、各ディレイラインをそれぞれオシレータ化し、また、各カウンタは、オシレータ化された各ディレイラインの発振出力をカウントし、さらに、比較部は、各カウント値を基準カウント値と比較する。
【発明の効果】
【0023】
開示の遅延比較回路および遅延比較方法は、複数のディレイラインにおける位相差を高精度で比較する効果を奏する。
【図面の簡単な説明】
【0024】
【図1】従来の遅延比較回路の一例を概略的に示すブロック図である。
【図2】図1に示す遅延比較回路の動作を説明するためのタイミング図である。
【図3】第1実施例の遅延比較回路を示すブロック図である。
【図4】図3に示す遅延比較回路におけるディレイラインの一例を示すブロック図である。
【図5】図3に示す遅延比較回路の動作を説明するためのタイミング図である。
【図6】第1実施例の遅延比較回路が適用される半導体集積回路の一例を示す図である。
【図7】図6に示す半導体集積回路の動作を説明するための図である。
【図8】基準カウント値の算出動作を説明するための図である。
【図9】基準カウント値算出回路の一例を示すブロック図である。
【図10】基準カウント値算出回路の他の例を示すブロック図である。
【図11】基準カウント値として中心値を使用する場合の処理動作を説明するための図である。
【図12】第2実施例の遅延回路を示すブロック図である。
【図13】図12の遅延回路における要部を示すブロック図である。
【図14】第2実施例の遅延回路の動作を説明するための図(その1)である。
【図15】第2実施例の遅延回路の動作を説明するための図(その2)である。
【図16】遅延回路が適用される半導体集積回路の一例を示すブロック図である。
【発明を実施するための形態】
【0025】
以下、遅延比較回路、遅延比較方法および遅延回路の各実施例を、添付図面を参照して詳述する。
【0026】
図3は第1実施例の遅延比較回路を示すブロック図、図4は図3に示す遅延比較回路におけるディレイラインの一例を示すブロック図、そして、図5は図3に示す遅延比較回路の動作を説明するためのタイミング図である。
【0027】
図3において、参照符号1は第1ディレイライン、2は第2ディレイライン、3は第1カウンタ、4は第2カウンタ、そして、5は比較部を示している。なお、参照符号6,7はセレクタを示し、また、8,9はインバータを示している。
【0028】
図3に示されるように、第1実施例の遅延比較回路は、セレクタ6,7、第1および第2ディレイライン1,2、第1および第2カウンタ3,4、比較部5、および、インバータ8,9を有する。ここで、比較部5は、差分算出回路51および差分許容判定回路52を有する。
【0029】
図4に示されるように、第1ディレイライン1は、クロックCLKを順次遅延させる複数の遅延ユニット(DU)を有する遅延部11と、遅延部11における何れかの遅延ユニットの出力を選択して遅延クロックDO1として出力するセレクタ12とを有する。
【0030】
ここで、セレクタ12には、遅延量設定コードDSC1が入力され、その遅延量設定コードDSC1に対応した遅延量を有する遅延ユニットの出力信号を選択して出力するようになっている。なお、第2ディレイライン2は、実質的に、第1ディレイライン1と同様のものである。
【0031】
図3に示されるように、各セレクタ6,7には、それぞれクロックCLKおよびインバータ8,9を介して反転されたディレイライン1,2の出力信号DO1,DO2が入力され、選択信号SSにより一方が選択されるようになっている。
【0032】
すなわち、通常動作時において、セレクタ6,7は、選択信号SSによりそれぞれクロックCLKを選択して第1および第2ディレイライン1,2に供給し、そのクロックCLKが遅延された信号DO1,DO2がシステムに供給される。
【0033】
一方、遅延時間比較動作時において、セレクタ6,7は、選択信号SSによりそれぞれインバータ8,9の出力信号を選択して第1および第2ディレイライン1,2に供給する。
【0034】
ここで、第1ディレイライン1の出力信号DO1をインバータ8およびセレクタ6を介してその入力にフィードバックする回路は、第1ディレイライン1の遅延時間に対応した第1周波数で発振するオシレータとして機能する。
【0035】
同様に、第2ディレイライン2の出力信号DO2をインバータ9およびセレクタ7を介してその入力にフィードバックする回路は、第2ディレイライン2の遅延時間に対応した第2周波数で発振するオシレータとして機能する。
【0036】
すなわち、図3および図5に示されるように、第1周波数で発振する第1ディレイライン1の出力信号DO1は、第1カウンタ3により一定のテスト期間TPの間だけカウントされ、その第1カウンタ3のカウント値CNT1は、比較部5に供給される。
【0037】
同様に、第2周波数で発振する第2ディレイライン2の出力信号DO2は、第2カウンタ4により一定のテスト期間TPの間だけカウントされ、その第2カウンタ4のカウント値CNT2も、比較部5に供給される。
【0038】
ここで、第1および第2カウント値CNT1,CNT2は、リングオシレータ化された第1および第2ディレイライン1,2の発振出力DO1,DO2をカウントする期間TPが長い程、両者の差が大きくなる。
【0039】
すなわち、第1および第2ディレイライン1,2間の遅延時間の差が小さくても、それらをリングオシレータ化し、その発振出力DO1,DO2を期間TPでカウントして比較することにより、遅延時間の差を期間TPに応じて増幅して検出することが可能になる。
【0040】
そして、第1カウンタ3によるカウント値CNT1および第2カウンタ4によるカウント値CNT2は差分検出回路51に供給され、その差分検出回路51からは、差分値DCNTが出力される。
【0041】
差分検出回路51からの差分値DCNTは、差分許容判定回路52に供給され、差分値DCNTが予め定められた許容値内であるか否かを考慮して、一致/不一致の判定が行われる。
【0042】
一例として、第1カウンタ3によるカウント値CNT1が『00110111』(55)で第2カウンタ4によるカウント値CNT2が『00110011』(51)のとき、許容設定値が『00000100』(4)だと判定結果CRは一致になる。
【0043】
すなわち、55(カウント値CNT1)−51(カウント値CNT2)=4≦4(許容設定値)、従って、差分(CNT1−CNT2)が許容設定値以内になるため、判定結果CRは一致(『H』)になる。
【0044】
一方、差分許容判定回路52に許容設定がされていないと、カウント値CNT1とカウント値CNT2とが相違するとして不一致(『L』)の判定結果CRが出力される。
【0045】
このように、本第1実施例によれば、遅延時間比較動作時(テスト時)に、ディレイライン1,2を、インバータ8,9およびセレクタ6,7を使用してリングオシレータとして機能させ、それらの発振周波数をカウンタ3,4でカウントする。
【0046】
そして、比較部5でカウンタ3,4のカウント値CNT1,CNT2を比較することにより、第1ディレイライン1と第2ディレイライン2との遅延時間の差(位相差)を高精度で比較することが可能になる。
【0047】
図6は第1実施例の遅延比較回路が適用される半導体集積回路の一例を示す図であり、図7は図6に示す半導体集積回路の動作を説明するための図である。
【0048】
図6に示されるように、第1実施例の遅延比較回路は、半導体集積回路(LSI:半導体チップ)上に纏めて形成せずに、例えば、第1遅延部マクロ10、第2遅延部マクロ20および比較部マクロ50を離隔した異なるマクロとして形成することもできる。
【0049】
なお、第1遅延部マクロ10は、第1ディレイライン1および第1カウンタ3等を含み、第2遅延部マクロ20は、第2ディレイライン2および第2カウンタ4等を含み、そして、比較部マクロ50は、比較部5を含んでいる。
【0050】
このように、第1遅延部マクロ10、第2遅延部マクロ20および比較部マクロ50を半導体チップ上に離隔して形成した場合、図7に示すような転送過程(OSC)が必要になる。
【0051】
すなわち、図7に示されるように、図6に示す半導体集積回路において、まず、オペレーションOSAにおいて、遅延比較テストモードを設定する。すなわち、選択信号SSを制御して、第1および第2ディレイライン1,2へインバータ8,9の出力を供給してリングオシレータとして機能させる。
【0052】
次に、オペレーションOSBに進んで、発振している第1および第2ディレイライン1,2の出力信号(オシレータクロック)DO1,DO2を第1および第2カウンタ3,4でカウントする。
【0053】
さらに、オペレーションOSCに進んで、第1および第2カウンタ3,4でカウントしたカウント値CNT1,CNT2を、第1遅延部マクロ10および第2遅延部マクロ20から離隔した比較部マクロ50の比較部5へ転送する。
【0054】
そして、オペレーションOSDに進んで、転送されたカウント値CNT1,CNT2を比較して、判定結果CRを出力する。なお、各オペレーションは、処理ステップでもよい。
【0055】
上述した実施例では、ディレイラインを2つ(第1および第2のディレイライン1,2)として説明したが、ディレイラインの数は、必要に応じて様々に変化させることができる。
【0056】
次に、ディレイラインを3つとしたとき、基準とするカウント値(基準カウント値)の算出について説明する。
【0057】
図8は基準カウント値の算出動作を説明するための図である。
図8に示されるように、ディレイラインの数を3つとしたときの基準カウント値の算出動作は、まず、オペレーションOTAにおいて、遅延比較テストモードを設定する。すなわち、選択信号SSを制御して、3つのディレイラインをリングオシレータとして機能させる。
【0058】
次に、オペレーションOTBに進んで、発振している3つのディレイラインの出力信号(オシレータクロック)を3つのカウンタ(3a,3b,3c)でカウントする。
【0059】
さらに、オペレーションOTCに進んで、後述する手法により基準カウント値(CNTr)を算出する。
【0060】
そして、オペレーションOTDに進んで、基準カウント値(CNTr)と各カウンタ(3a,3b,3c)のカウント値(CNTa,CNTb,CNTc)との比較を行って、判定結果(CRa,CRb,CRc)を出力する。なお、各オペレーションは、処理ステップでもよい。
【0061】
図9は基準カウント値算出回路の一例を示すブロック図であり、複数(3つ)のカウンタのカウント値の平均を基準カウント値とする例を示すものである。
【0062】
図9に示されるように、基準カウント値算出回路の一例31は、加算器311、除算器312、および、カウンタ313を有する。
【0063】
ここで、カウンタ3a,3b,3cは、図3の第1カウンタ3(第2カウンタ4)に対応するもので、図9では、オシレータとして機能する3つのディレイライン(図示しない)の出力信号を、それぞれ一定のテスト期間の間だけカウントするようになっている。
【0064】
加算器311は、3つのカウンタ3a,3b,3cのカウント値CNTa,CNTb,CNTcを加算(CNTa+CNTb+CNTc)し、除算器312は、その加算器311の出力信号を3で除算して平均値(CNTa+CNTb+CNTc)/3を出力する。
【0065】
カウンタ313は、除算器312から供給される信号(CNTa+CNTb+CNTc)/3を保持して基準カウント値CNTrとして各比較部5a,5b,5cへ供給する。
【0066】
各比較部5a,5b,5cは、カウンタ313からの基準カウント値CNTrと、対応する各カウンタ3a,3b,3cのカウント値CNTa,CNTb,CNTcとをそれぞれ比較して判定結果CRa,CRb,CRcを出力する。
【0067】
図10は基準カウント値算出回路の他の例を示すものであり、複数(3つ)のカウンタのカウント値の中心を基準カウント値とする例を示すものである。
【0068】
すなわち、図10に示す基準カウント値算出回路32は、カウント値CNTa,CNTb,CNTcから中心値を抽出する中心値抽出部321およびカウンタ322を有する。
【0069】
図11は基準カウント値として中心値を使用する場合の処理動作を説明するための図であり、図10における中心値抽出部321の処理動作を説明するためのものである。
【0070】
図11に示されるように、中心値抽出処理は、まず、オペレーションOUAにおいて、3つの各カウンタ3a,3b,3cのカウント値CNTa,CNTb,CNTcを受け取る。
【0071】
次に、オペレーションOUBに進んで、CNTb−CNTaおよびCNTc−CNTaを判別する。
【0072】
オペレーションOUBにおいて、CNTb−CNTa>0,かつ,CNTc−CNTa<0、或いは、CNTb−CNTa<0,かつ,CNTc−CNTa>0と判別されると、オペレーションOUCに進んで、CNTaを基準カウント値CNTrとして規定する。
【0073】
オペレーションOUBにおいて、CNTb−CNTa>0,かつ,CNTc−CNTa>0と判別されると、オペレーションOUDに進んで、CNTc−CNTbを判別する。
【0074】
オペレーションOUDにおいて、CNTc−CNTb>0と判別されると、オペレーションOUFに進んで、CNTbを基準カウント値CNTrとして規定する。また、オペレーションOUDにおいて、CNTc−CNTb<0と判別されると、オペレーションOUGに進んで、CNTcを基準カウント値CNTrとして規定する。
【0075】
オペレーションOUBにおいて、CNTb−CNTa<0,かつ,CNTc−CNTa<0と判別されると、オペレーションOUEに進んで、CNTc−CNTbを判別する。
【0076】
オペレーションOUEにおいて、CNTc−CNTb>0と判別されると、オペレーションOUHに進んで、CNTcを基準カウント値CNTrとして規定する。また、オペレーションOUEにおいて、CNTc−CNTb<0と判別されると、オペレーションOUIに進んで、CNTbを基準カウント値CNTrとして規定する。なお、各オペレーションは、処理ステップでもよい。
【0077】
図11を参照して説明した処理動作を有する中心値抽出部は、ハードとして回路により実現することができるが、ソフトとしてプログラムにより実現することも可能である。
【0078】
なお、ディレイラインは、2つまたは3つに限定されるものではなく、さらに多数のディレイラインを有する遅延比較回路であってもよいのはいうまでもない。
【0079】
図12は第2実施例の遅延回路を示すブロック図であり、図3を参照して説明した遅延比較回路を応用した遅延回路を示している。また、図13は図12の遅延回路における要部を示すブロック図である。
【0080】
図12に示されるように、第2実施例の遅延回路は、第1および第2ディレイライン1’,2’、第1および第2カウンタ3’,4’、比較部5’、並びに、第1および第2オシレータ補助回路6’,7’を有する。
【0081】
ここで、第1オシレータ補助回路6’は、図3におけるセレクタ6およびインバータ8に対応し、また、第2オシレータ補助回路7’は、図3におけるセレク7およびインバータ9に対応する。
【0082】
なお、図12では省略しているが、例えば、第1および第2オシレータ補助回路6’,7’の各セレクタには選択信号SSが供給され、また、第1および第2ディレイライン1’,2’の出力信号はシステムへ供給されている。
【0083】
また、第1実施例の遅延比較回路において、図9を参照して説明したように、ディレイラインの数は、第1および第2の2つに限定されるものではなく、3つ以上であってもよい。
【0084】
さらに、第1実施例の遅延比較回路で説明したように、比較部5’は、差分算出回路51および差分許容判定回路52を有してもよく、また、基準カウント値は、各カウント値の平均値、或いは、各カウント値の中心値としてもよい。
【0085】
図12に示されるように、第2実施例の遅延回路は、テスト制御回路80、第1および第2コード比較回路81,91、第1および第2加算器82,92、並びに、第1および第2遅延設定回路83,93を有する。
【0086】
さらに、第2実施例の遅延回路は、第1および第2エラー保持回路84,94、並びに、第1および第2エラーDU救済デコーダ85,95も有する。
【0087】
テスト制御回路80は、第1および第2コード比較回路81,91と、第1および第2加算器82,92に対して選択コードSSCを供給する。ここで、テスト制御回路80は、選択コードSSCをインクリメントする選択コードインクリメント回路を有する。
【0088】
第1および第2コード比較回路81,91は、それぞれ第1および第2エラー保持回路84,94の出力と選択コードSSCを比較し、第1および第2加算器82,92を介して第1および第2遅延量設定デコーダ83,93を制御する。これにより、第1および第2ディレイライン1’,2’は、遅延クロックDO1’,DO2’を出力する。
【0089】
ここで、図13に示されるように、加算器82(92)は、コード比較器81(91)の出力により制御されるセレクタ21、および、選択コードSSCにセレクタ21の出力を加算する加算部22を有する。
【0090】
第1および第2エラー保持回路84,94は、比較部5’からの判定結果CR1,CR2を保持し、第1および第2コード比較回路81,91に出力すると共に、第1および第2エラーDU救済デコーダ85,95を介してエラーDUを救済(飛び越し処理)する。
【0091】
図13に示されるように、第1および第2ディレイライン1’,2’は、それぞれ複数の遅延ユニットDU(110,111,…)と、各遅延ユニットDUに対して設けられた複数のセレクタユニットSU(120,121,…)を有する。
【0092】
各セレクタユニットSUは、第1および第2エラーDU救済デコーダ85,95からの信号により対応する遅延ユニットDUに供給された信号をそのまま入力させるか、或いは、その対応する遅延ユニットを飛び越して次段の遅延ユニットに供給するかを選択する。
【0093】
すなわち、例えば、セレクタユニット121は、前段の遅延ユニット110からの信号をそのまま対応する遅延ユニット111に入力させる場合には、トランスファーゲート121aをオンして121bをオフする。
【0094】
一方、例えば、セレクタユニット121は、前段の遅延ユニット110からの信号を対応する遅延ユニット111を飛び越して次段の遅延ユニット112に入力させる場合には、トランスファーゲート121bをオンすると共に、122aと122bをオフする。
【0095】
このようにして、第1および第2エラーDU救済デコーダ85,95を介してエラーDUの救済を行う。
【0096】
なお、エラーDUの検出は、例えば、テストモードを設定し、セレクタ12’,22’により第1および第2ディレイライン1’,2’の遅延量を同等に変化させて第1および第2カウンタ3’,4’のカウント値CNT1,CNT2を比較部5’で比較する。
【0097】
すなわち、第1および第2ディレイライン1’,2’における遅延ユニットDUの数を同等に変化させたとき、例えば、一方のディレイラインのエラーDUが存在すると、第1および第2カウンタ3’,4’のカウント値CNT1,CNT2に大きな差が生じる。
【0098】
また、第1および第2ディレイライン1’,2’において、遅延ユニットDUの数を順次増加させると遅延時間も線型的に増加するが、その線型性を壊す個所の遅延ユニットDUによりエラーDUを特定することができる。
【0099】
図13に示されるように、コード比較器81(91)には、選択コードSSCおよびエラー保持回路84(94)の出力(エラーコード)が入力され、両者が一致した場合にはセレクタ21から『1』を出力させる。
【0100】
すなわち、セレクタユニットSUによりエラーDUの飛び越し処理を行った場合には、その飛び越すことにより少なくなった遅延ユニットDUの数を増加させるようになっている。
【0101】
図14および図15は第2実施例の遅延回路の動作を説明するための図である。
図14に示されるように、まず、オペレーションOXAにおいて、選択コードSSCを設定して、オペレーションOXBに進む。なお、選択コードSSCは、初期値は『0』で、順次インクリメント(オペレーションOXI)される。
【0102】
次に、オペレーションOXBにおいて、エラー選択コードが存在するかどうかを判別し、エラー選択コードが存在する場合にはオペレーションOXCに進み、また、エラー選択コードが存在しない場合にはオペレーションOXDに進む。
【0103】
すなわち、エラー保持回路84(94)にエラー選択コードが保持されているとき、オペレーションOXCにおいて、選択コードSSCがエラー保持回路84(94)に保持されたエラー選択コードよりも大きいかどうかが判別される。
【0104】
そして、オペレーションOXCにおいて、選択コードSSCがエラー選択コード以上ではないと判別されると、すなわち、入力クロックCLKを遅延する複数の遅延ユニットの中にエラーDUが含まれていないときは、オペレーションOXDに進む。
【0105】
オペレーションOXDでは、選択コードSSCに『0』を加算し、遅延量設定デコーダ83(93)を介して、セレクタ12’(22’)によりそのままの選択コードSSCに従った所定の遅延ユニットDUの出力を選択する。
【0106】
一方、オペレーションOXCにおいて、選択コードSSCがエラー選択コード以上であると判別されると、すなわち、入力クロックCLKを遅延する複数の遅延ユニットの中に飛び越し処理を行ったエラーDUが含まれていると、オペレーションOXEに進む。
【0107】
そして、オペレーションOXEにおいて、選択コードSSCに『1』を加算し、遅延量設定デコーダ83(93)を介して、セレクタ12’(22’)によりその『1』が加算された選択コードSSCに従った所定の遅延ユニットDUの出力を選択する。
【0108】
具体的に、図15に示されるように、例えば、遅延ユニット111に欠陥があり、その遅延ユニット111がエラーDUとして飛び越し処理されている場合、そのエラーDUの遅延ユニット111を選択するコードCode-1はエラー保持回路84に保持されている。
【0109】
そして、選択コードSSCにより、本来セレクタ12’が遅延ユニット111の出力を選択するとき、選択コードSSC(Code-1)がエラー選択コードCode-1以上(この場合は一致)であるため、『1』が加算された選択コードSSC(Code-2)により選択される。
【0110】
すなわち、セレクタ12’は、コードCode-2により遅延ユニット112の出力を選択する。これにより、飛び越したエラーDUの遅延ユニット111の代わりに遅延ユニット112による遅延を含めた遅延クロックDO1’がセレクタ12’から出力される。
【0111】
再び、図14に戻って、オペレーションOXFにおいて、第1実施例で説明したのと同様に、オシレータ補助回路6’(7’)によりディレイライン1’(2’)のオシレータクロックDO1’(DO2’)をカウンタ3’(4’)でカウントする。
【0112】
さらに、オペレーションOXGに進んで、第1カウンタ3’のカウント値CNT1と第2カウンタ4’のカウント値CNT2を比較部5’で比較し、カウント値CNT1およびCNT2が一致すると判別されると、オペレーションOXIに進む。
【0113】
そして、オペレーションOXIでは、選択コードSSCをインクリメントし、オペレーションOXBに戻って同様の処理を繰り返す。
【0114】
一方、オペレーションOXGにおいて、カウント値CNT1およびCNT2が一致しないと判別されると、オペレーションOXHに進んで、そのエラー選択コードをエラー保持回路84(94)に格納して、オペレーションOXIに進む。
【0115】
ここで、オペレーションOXGにおけるカウント値CNT1およびCNT2の一致/不一致の判定は、前述した第1実施例と同様に、例えば、カウント値の差分値(DCNT)が予め定められた許容値内であるか否かを考慮して行う。なお、各オペレーションは、処理ステップでもよい。
【0116】
このように、本第2実施例によれば、遅延ユニットDUを選択する選択コードを順に変化させ、その選択コード毎に各ディレイラインのオシレータクロックのカウントおよび比較判定を行う。
【0117】
そして、或る選択コードの時に判定結果がエラーになった際、そのエラーになる選択コードを保持し、エラーになる遅延ユニットDUの飛び越し処理を行う。そして、選択コードがそのエラー選択コード以上の値を示した時に、ディレイラインでの遅延量設定コードを増加して遅延ユニットDUの段数を整合させ、遅延故障個所を救済する。
【0118】
なお、遅延故障個所が救済されたディレイラインからの遅延クロックは、通常動作時にも使用される。
【0119】
図16は遅延回路が適用される半導体集積回路の一例を示すブロック図である。
図16に示されるように、半導体集積回路500は、ロジック回路501、MCU(Micro Controller Unit),PLL(Phase Locked Loop)503、および、メモリI/F(インターフェース)504を有する。
【0120】
また、場合によっては、半導体集積回路500は、DSP(Digital Signal Processor)等の機能ブロック505、メモリ506、USB(Universal Serial Bus)等のI/F507、および、入出力回路508を有する。
【0121】
上述した実施例の遅延回路(遅延比較回路)は、例えば、DDR(Double Data Rate)−SDRAM600との間で高速データ転送を行う半導体集積回路500のメモリI/F504におけるDLL541に適用される。
【0122】
もちろん、上述した実施例の遅延回路は、図16のような半導体集積回路500のメモリI/F504におけるDLL541だけでなく、様々な半導体集積回路に対して幅広く適用することができるのはいうまでもない。
【0123】
以上の実施例を含む実施形態に関し、さらに、以下の付記を開示する。
(付記1)
複数のディレイラインと、
該各ディレイラインをそれぞれオシレータ化する複数のオシレータ補助回路と、
オシレータ化された前記各ディレイラインの発振出力をカウントしてそれぞれカウント値を求める複数のカウンタと、
前記各カウント値を基準カウント値と比較する比較部と、を有することを特徴とする遅延比較回路。
【0124】
(付記2)
付記1に記載の遅延比較回路において、
前記各オシレータ補助回路は、対応する前記ディレイラインの出力信号を反転して当該ディレイラインの入力にフィードバックしてリングオシレータ化する反転論理回路を有することを特徴とする遅延比較回路。
【0125】
(付記3)
付記2に記載の遅延比較回路において、
前記各オシレータ補助回路は、前記各ディレイラインにクロックを入力してその出力信号をシステムに供給する通常動作時と、前記各ディレイラインに前記反転論理回路を介して当該ディレイラインの出力信号を入力してリングオシレータ化する遅延時間比較動作時と、を切り替えるセレクタを有することを特徴とする遅延比較回路。
【0126】
(付記4)
付記1〜3のいずれか1項に記載の遅延比較回路において、
前記比較部は、前記各カウント値と基準カウント値との差分を算出する差分算出回路と、該算出された差分が予め定められた許容値以内であるかどうかを判定する差分許容判定回路と、を有することを特徴とする遅延比較回路。
【0127】
(付記5)
付記1〜4のいずれか1項に記載の遅延比較回路において、
前記基準カウント値は、前記各カウント値の平均値であることを特徴とする遅延比較回路。
【0128】
(付記6)
付記1〜4のいずれか1項に記載の遅延比較回路において、
前記基準カウント値は、前記各カウント値の中心値であることを特徴とする遅延比較回路。
【0129】
(付記7)
複数のディレイライン間の遅延時間を比較する遅延比較方法であって、
前記各ディレイラインをそれぞれリングオシレータ化し、
該各リングオシレータの発振出力をカウントしてそれぞれカウント値を求め、
該各カウント値を基準カウント値と比較することを特徴とする遅延比較方法。
【0130】
(付記8)
付記7に記載の遅延比較方法において、
前記基準カウント値は、前記各カウント値の平均値であることを特徴とする遅延比較方法。
【0131】
(付記9)
付記7に記載の遅延比較方法において、
前記基準カウント値は、前記各カウント値の中心値であることを特徴とする遅延比較方法。
【0132】
(付記10)
付記1〜6のいずれか1項に記載の遅延比較回路を有し、
前記各ディレイラインは、複数の遅延ユニットと、該各遅延ユニットに対して設けられた複数のセレクタユニットと、を有し、
前記各セレクタユニットは、対応する前記遅延ユニットに供給された信号をそのまま入力する第1トランスファーゲートと、その対応する前記遅延ユニットを飛び越して次段の遅延ユニットに供給する第2トランスファーゲートと、を有することを特徴とする遅延回路。
【0133】
(付記11)
付記10に記載の遅延回路において、さらに、
前記ディレイラインにおけるエラー遅延ユニットのエラー選択コードを格納するエラー保持回路と、
該エラー保持回路の出力が選択コード以下であるかどうかを判定するコード比較器と、
該コード比較器の出力に応じて前記選択コードに対して、飛び越し処理を行った前記エラー遅延ユニットに対応した数を加算する加算器と、を有することを特徴とする遅延回路。
【0134】
(付記12)
付記1〜6のいずれか1項に記載の遅延比較回路、或いは、付記10または11に記載の遅延回路を有することを特徴とする半導体集積回路。
【符号の説明】
【0135】
1,1’ 第1ディレイライン
2,2’ 第2ディレイライン
3,3’ 第1カウンタ
3a〜3c カウンタ
4,4’ 第2カウンタ
5,5’,5a〜5c 比較部
6,7 セレクタ
6’ 第1オシレータ補助回路
7’ 第2オシレータ補助回路
8,9 インバータ
11,21 遅延部
12,22 セレクタ
31,32 基準カウント値算出回路
51 差分算出回路
52 差分許容判定回路
80 テスト制御回路
81 第1コード比較回路
82 第1加算器
83 第1遅延設定回路
84 第1エラー保持回路
85 第1エラーDU救済デコーダ
91 第2コード比較回路
92 第2加算器
93 第2遅延設定回路
94 第2エラー保持回路
95 第2エラーDU救済デコーダ
500 半導体集積回路
501 ロジック回路
502 MCU
503 PLL
504 メモリI/F(インターフェース)
541 DLL
505 機能ブロック
506 メモリ
507 I/F
508 入出力回路
600 DDR−SDRAM

【特許請求の範囲】
【請求項1】
複数のディレイラインと、
該各ディレイラインをそれぞれオシレータ化する複数のオシレータ補助回路と、
オシレータ化された前記各ディレイラインの発振出力をカウントしてそれぞれカウント値を求める複数のカウンタと、
前記各カウント値を基準カウント値と比較する比較部と、を有することを特徴とする遅延比較回路。
【請求項2】
請求項1に記載の遅延比較回路において、
前記各オシレータ補助回路は、対応する前記ディレイラインの出力信号を反転して当該ディレイラインの入力にフィードバックしてリングオシレータ化する反転論理回路を有することを特徴とする遅延比較回路。
【請求項3】
請求項2に記載の遅延比較回路において、
前記各オシレータ補助回路は、前記各ディレイラインにクロックを入力してその出力信号をシステムに供給する通常動作時と、前記各ディレイラインに前記反転論理回路を介して当該ディレイラインの出力信号を入力してリングオシレータ化する遅延時間比較動作時と、を切り替えるセレクタを有することを特徴とする遅延比較回路。
【請求項4】
請求項1〜3のいずれか1項に記載の遅延比較回路において、
前記比較部は、前記各カウント値と基準カウント値との差分を算出する差分算出回路と、該算出された差分が予め定められた許容値以内であるかどうかを判定する差分許容判定回路と、を有することを特徴とする遅延比較回路。
【請求項5】
複数のディレイライン間の遅延時間を比較する遅延比較方法であって、
前記各ディレイラインをそれぞれリングオシレータ化し、
該各リングオシレータの発振出力をカウントしてそれぞれカウント値を求め、
該各カウント値を基準カウント値と比較することを特徴とする遅延比較方法。
【請求項6】
請求項1〜4のいずれか1項に記載の遅延比較回路を有し、
前記各ディレイラインは、複数の遅延ユニットと、該各遅延ユニットに対して設けられた複数のセレクタユニットと、を有し、
前記各セレクタユニットは、対応する前記遅延ユニットに供給された信号をそのまま入力する第1トランスファーゲートと、その対応する前記遅延ユニットを飛び越して次段の遅延ユニットに供給する第2トランスファーゲートと、を有することを特徴とする遅延回路。
【請求項7】
請求項6に記載の遅延回路において、さらに、
前記ディレイラインにおけるエラー遅延ユニットのエラー選択コードを格納するエラー保持回路と、
該エラー保持回路の出力が選択コード以下であるかどうかを判定するコード比較器と、
該コード比較器の出力に応じて前記選択コードに対して、飛び越し処理を行った前記エラー遅延ユニットに対応した数を加算する加算器と、を有することを特徴とする遅延回路。
【請求項8】
請求項1〜4のいずれか1項に記載の遅延比較回路、或いは、請求項6または7に記載の遅延回路を有することを特徴とする半導体集積回路。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate