(57)【要約】【課題】複数の遅延回路における遅延差（位相差）を高精度で比較することができる遅延比較回路の提供を図る。【解決手段】複数のディレイライン１，２と、該各ディレイラインをそれぞれオシレータ化する複数のオシレータ補助回路６，８；７，９と、オシレータ化された前記各ディレイラインの発振出力をカウントしてそれぞれカウント値を求める複数のカウンタ３，４と、前記各カウント値を基準カウント値と比較する比較部５と、を有するように構成する。【選択図】図３
2010288142.tif 000002
【特許請求の範囲】
【請求項１】
複数のディレイラインと、
該各ディレイラインをそれぞれオシレータ化する複数のオシレータ補助回路と、
オシレータ化された前記各ディレイラインの発振出力をカウントしてそれぞれカウント値を求める複数のカウンタと、
前記各カウント値を基準カウント値と比較する比較部と、を有することを特徴とする遅延比較回路。
【請求項２】
請求項１に記載の遅延比較回路において、
前記各オシレータ補助回路は、対応する前記ディレイラインの出力信号を反転して当該ディレイラインの入力にフィードバックしてリングオシレータ化する反転論理回路を有することを特徴とする遅延比較回路。
【請求項３】
請求項２に記載の遅延比較回路において、
前記各オシレータ補助回路は、前記各ディレイラインにクロックを入力してその出力信号をシステムに供給する通常動作時と、前記各ディレイラインに前記反転論理回路を介して当該ディレイラインの出力信号を入力してリングオシレータ化する遅延時間比較動作時と、を切り替えるセレクタを有することを特徴とする遅延比較回路。
【請求項４】
請求項１〜３のいずれか１項に記載の遅延比較回路において、
前記比較部は、前記各カウント値と基準カウント値との差分を算出する差分算出回路と、該算出された差分が予め定められた許容値以内であるかどうかを判定する差分許容判定回路と、を有することを特徴とする遅延比較回路。
【請求項５】
複数のディレイライン間の遅延時間を比較する遅延比較方法であって、
前記各ディレイラインをそれぞれリングオシレータ化し、
該各リングオシレータの発振出力をカウントしてそれぞれカウント値を求め、
該各カウント値を基準カウント値と比較することを特徴とする遅延比較方法。
【請求項６】
請求項１〜４のいずれか１項に記載の遅延比較回路を有し、
前記各ディレイラインは、複数の遅延ユニットと、該各遅延ユニットに対して設けられた複数のセレクタユニットと、を有し、
前記各セレクタユニットは、対応する前記遅延ユニットに供給された信号をそのまま入力する第１トランスファーゲートと、その対応する前記遅延ユニットを飛び越して次段の遅延ユニットに供給する第２トランスファーゲートと、を有することを特徴とする遅延回路。
【請求項７】
請求項６に記載の遅延回路において、さらに、
前記ディレイラインにおけるエラー遅延ユニットのエラー選択コードを格納するエラー保持回路と、
該エラー保持回路の出力が選択コード以下であるかどうかを判定するコード比較器と、
該コード比較器の出力に応じて前記選択コードに対して、飛び越し処理を行った前記エラー遅延ユニットに対応した数を加算する加算器と、を有することを特徴とする遅延回路。
【請求項８】
請求項１〜４のいずれか１項に記載の遅延比較回路、或いは、請求項６または７に記載の遅延回路を有することを特徴とする半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
この出願で言及する実施例は、遅延比較回路、遅延比較方法、遅延回路および半導体集積回路に関する。
【背景技術】
【０００２】
ディジタルＤＬＬ（Delay Locked Loop）は、様々な回路に使用されており、例えば、同期型ＤＲＡＭ（ＳＤＲＡＭ：Synchronous DRAM）との高速データ転送を実現するために必要な(位相)クロック生成回路として使用されている。
【０００３】
具体的に、クロックの周期を測定するための第１ディレイラインと、そのクロック周期においてデータを取り込む位相（タイミング）を制御するための第２ディレイラインを設けたＤＤＲ（Double Data Rate）メモリのインターフェースが知られている。
【０００４】
このような２つのディレイライン（ディジタルＤＬＬ）を設けた場合、それらディレイラインの遅延差（位相差）を確認する必要があり、そのために遅延比較回路が利用されている。
【０００５】
図１は従来の遅延比較回路の一例を概略的に示すブロック図であり、図２は図１に示す遅延比較回路の動作を説明するためのタイミング図である。
【０００６】
図１において、参照符号１０１は第１ディレイライン、１０２は第２ディレイライン、１０３は第１追加ディレイ回路、１０４は第２追加ディレイ回路、そして、１０５はフリップフロップを示している。
【０００７】
図１に示されるように、従来の遅延比較回路は、例えば、第１および第２ディレイライン１０１，１０２、第１および第２追加ディレイ回路１０３，１０４、および、フリップフロップ１０５を有する。
【０００８】
第１および第２ディレイライン１０１，１０２の各出力信号ｄｏ１，ｄｏ２は、システム（例えば、ＤＤＲ方式のＳＤＲＡＭシステム）に供給されると共に、それぞれ第１および第２追加ディレイ回路１０３，１０４に入力される。
【０００９】
第１および第２追加ディレイ回路１０３，１０４は、複数の遅延ユニット（バッファ）を有し、入力された第１および第２ディレイライン１０１，１０２の出力信号ｄｏ１，ｄｏ２に対してバッファによる遅延を追加してフリップフロップ１０５に出力する。
【００１０】
すなわち、第１追加ディレイ回路１０３の出力信号ｄｃ１は、フリップフロップ１０５のデータ入力端子Ｄに供給され、第２追加ディレイ回路１０４の出力信号ｄｃ２は、フリップフロップ１０５のクロック入力端子ＣＫに供給される。
【００１１】
これにより、図２に示されるように、フリップフロップ１０５は、第１追加ディレイ回路１０３の出力信号ｄｃ１のレベルを第２追加ディレイ回路１０４の出力信号ｄｃ２の立ち上がりタイミングで取り込んで信号（比較結果）ｃｒを出力する。
【００１２】
そして、フリップフロップ１０５の出力信号ｃｒが高レベル『Ｈ』から低レベル『Ｌ』へ、或いは、『Ｌ』から『Ｈ』への変化により、２つのディレイライン１０１および１０２の出力信号ｄｃ１，ｄｃ２の位相差を把握するようになっている。
【００１３】
すなわち、図１に示す遅延比較回路は、２つのディレイライン１０１，１０２に対して同一のクロックＣＬＫを入力する。そして、それらディレイライン１０１，１０２の出力信号ｄｏ１，ｄｏ２の立ち上がりエッジのタイミングを、第１および第２追加ディレイ回路１０３，１０４のバッファを利用してフリップフロップ１０５により比較していた。
【００１４】
ところで、従来、ディレイラインの遅延時間を短時間まで測定および評価する遅延比較回路としては、様々なものが提案されている。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開２００１−０９１５８７号公報
【特許文献２】特開２００６−２２０６３１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１６】
上述した図１に示す遅延比較回路において、２つのディレイライン１０１，１０２による遅延時間の差（位相差）は、追加ディレイ回路１０３，１０４におけるバッファの数により検出されている。
【００１７】
すなわち、図１に示す遅延比較回路では、追加ディレイ回路１０３，１０４における１つのバッファの遅延時間を単位として２つのディレイライン１０１，１０２間の遅延差を比較することしかできなかった。
【００１８】
なお、ディレイラインは２つに限定されるものではなく、必要に応じて様々な数にすることができる。
【００１９】
また、近年、半導体集積回路に使用するクロックの高速化（高周波数化）やクロックの低ジッタ化の要求に伴って、遅延回路の遅延精度向上、並びに、遅延比較回路の遅延比較精度の向上が必要になって来ている。
【００２０】
この出願は、上述した課題に鑑み、複数のディレイラインにおける遅延差（位相差）を高精度で比較することができる遅延比較回路および遅延比較方法の提供を目的とする。
【課題を解決するための手段】
【００２１】
一実施形態によれば、複数のディレイラインと、複数のオシレータ補助回路と、複数のカウンタと、比較部と、を有することを特徴とする遅延比較回路が提供される。
【００２２】
各オシレータ補助回路は、各ディレイラインをそれぞれオシレータ化し、また、各カウンタは、オシレータ化された各ディレイラインの発振出力をカウントし、さらに、比較部は、各カウント値を基準カウント値と比較する。
【発明の効果】
【００２３】
開示の遅延比較回路および遅延比較方法は、複数のディレイラインにおける位相差を高精度で比較する効果を奏する。
【図面の簡単な説明】
【００２４】
【図１】従来の遅延比較回路の一例を概略的に示すブロック図である。
【図２】図１に示す遅延比較回路の動作を説明するためのタイミング図である。
【図３】第１実施例の遅延比較回路を示すブロック図である。
【図４】図３に示す遅延比較回路におけるディレイラインの一例を示すブロック図である。
【図５】図３に示す遅延比較回路の動作を説明するためのタイミング図である。
【図６】第１実施例の遅延比較回路が適用される半導体集積回路の一例を示す図である。
【図７】図６に示す半導体集積回路の動作を説明するための図である。
【図８】基準カウント値の算出動作を説明するための図である。
【図９】基準カウント値算出回路の一例を示すブロック図である。
【図１０】基準カウント値算出回路の他の例を示すブロック図である。
【図１１】基準カウント値として中心値を使用する場合の処理動作を説明するための図である。
【図１２】第２実施例の遅延回路を示すブロック図である。
【図１３】図１２の遅延回路における要部を示すブロック図である。
【図１４】第２実施例の遅延回路の動作を説明するための図（その１）である。
【図１５】第２実施例の遅延回路の動作を説明するための図（その２）である。
【図１６】遅延回路が適用される半導体集積回路の一例を示すブロック図である。
【発明を実施するための形態】
【００２５】
以下、遅延比較回路、遅延比較方法および遅延回路の各実施例を、添付図面を参照して詳述する。
【００２６】
図３は第１実施例の遅延比較回路を示すブロック図、図４は図３に示す遅延比較回路におけるディレイラインの一例を示すブロック図、そして、図５は図３に示す遅延比較回路の動作を説明するためのタイミング図である。
【００２７】
図３において、参照符号１は第１ディレイライン、２は第２ディレイライン、３は第１カウンタ、４は第２カウンタ、そして、５は比較部を示している。なお、参照符号６，７はセレクタを示し、また、８，９はインバータを示している。
【００２８】
図３に示されるように、第１実施例の遅延比較回路は、セレクタ６，７、第１および第２ディレイライン１，２、第１および第２カウンタ３，４、比較部５、および、インバータ８，９を有する。ここで、比較部５は、差分算出回路５１および差分許容判定回路５２を有する。
【００２９】
図４に示されるように、第１ディレイライン１は、クロックＣＬＫを順次遅延させる複数の遅延ユニット（ＤＵ）を有する遅延部１１と、遅延部１１における何れかの遅延ユニットの出力を選択して遅延クロックＤＯ１として出力するセレクタ１２とを有する。
【００３０】
ここで、セレクタ１２には、遅延量設定コードＤＳＣ１が入力され、その遅延量設定コードＤＳＣ１に対応した遅延量を有する遅延ユニットの出力信号を選択して出力するようになっている。なお、第２ディレイライン２は、実質的に、第１ディレイライン１と同様のものである。
【００３１】
図３に示されるように、各セレクタ６，７には、それぞれクロックＣＬＫおよびインバータ８，９を介して反転されたディレイライン１，２の出力信号ＤＯ１，ＤＯ２が入力され、選択信号ＳＳにより一方が選択されるようになっている。
【００３２】
すなわち、通常動作時において、セレクタ６，７は、選択信号ＳＳによりそれぞれクロックＣＬＫを選択して第１および第２ディレイライン１，２に供給し、そのクロックＣＬＫが遅延された信号ＤＯ１，ＤＯ２がシステムに供給される。
【００３３】
一方、遅延時間比較動作時において、セレクタ６，７は、選択信号ＳＳによりそれぞれインバータ８，９の出力信号を選択して第１および第２ディレイライン１，２に供給する。
【００３４】
ここで、第１ディレイライン１の出力信号ＤＯ１をインバータ８およびセレクタ６を介してその入力にフィードバックする回路は、第１ディレイライン１の遅延時間に対応した第１周波数で発振するオシレータとして機能する。
【００３５】
同様に、第２ディレイライン２の出力信号ＤＯ２をインバータ９およびセレクタ７を介してその入力にフィードバックする回路は、第２ディレイライン２の遅延時間に対応した第２周波数で発振するオシレータとして機能する。
【００３６】
すなわち、図３および図５に示されるように、第１周波数で発振する第１ディレイライン１の出力信号ＤＯ１は、第１カウンタ３により一定のテスト期間ＴＰの間だけカウントされ、その第１カウンタ３のカウント値ＣＮＴ１は、比較部５に供給される。
【００３７】
同様に、第２周波数で発振する第２ディレイライン２の出力信号ＤＯ２は、第２カウンタ４により一定のテスト期間ＴＰの間だけカウントされ、その第２カウンタ４のカウント値ＣＮＴ２も、比較部５に供給される。
【００３８】
ここで、第１および第２カウント値ＣＮＴ１，ＣＮＴ２は、リングオシレータ化された第１および第２ディレイライン１，２の発振出力ＤＯ１，ＤＯ２をカウントする期間ＴＰが長い程、両者の差が大きくなる。
【００３９】
すなわち、第１および第２ディレイライン１，２間の遅延時間の差が小さくても、それらをリングオシレータ化し、その発振出力ＤＯ１，ＤＯ２を期間ＴＰでカウントして比較することにより、遅延時間の差を期間ＴＰに応じて増幅して検出することが可能になる。
【００４０】
そして、第１カウンタ３によるカウント値ＣＮＴ１および第２カウンタ４によるカウント値ＣＮＴ２は差分検出回路５１に供給され、その差分検出回路５１からは、差分値ＤＣＮＴが出力される。
【００４１】
差分検出回路５１からの差分値ＤＣＮＴは、差分許容判定回路５２に供給され、差分値ＤＣＮＴが予め定められた許容値内であるか否かを考慮して、一致／不一致の判定が行われる。
【００４２】
一例として、第１カウンタ３によるカウント値ＣＮＴ１が『００１１０１１１』（５５）で第２カウンタ４によるカウント値ＣＮＴ２が『００１１００１１』（５１）のとき、許容設定値が『０００００１００』（４）だと判定結果ＣＲは一致になる。
【００４３】
すなわち、５５（カウント値ＣＮＴ１）−５１（カウント値ＣＮＴ２）＝４≦４（許容設定値）、従って、差分（ＣＮＴ１−ＣＮＴ２）が許容設定値以内になるため、判定結果ＣＲは一致（『Ｈ』）になる。
【００４４】
一方、差分許容判定回路５２に許容設定がされていないと、カウント値ＣＮＴ１とカウント値ＣＮＴ２とが相違するとして不一致（『Ｌ』）の判定結果ＣＲが出力される。
【００４５】
このように、本第１実施例によれば、遅延時間比較動作時（テスト時）に、ディレイライン１，２を、インバータ８，９およびセレクタ６，７を使用してリングオシレータとして機能させ、それらの発振周波数をカウンタ３，４でカウントする。
【００４６】
そして、比較部５でカウンタ３，４のカウント値ＣＮＴ１，ＣＮＴ２を比較することにより、第１ディレイライン１と第２ディレイライン２との遅延時間の差（位相差）を高精度で比較することが可能になる。
【００４７】
図６は第１実施例の遅延比較回路が適用される半導体集積回路の一例を示す図であり、図７は図６に示す半導体集積回路の動作を説明するための図である。
【００４８】
図６に示されるように、第１実施例の遅延比較回路は、半導体集積回路（ＬＳＩ：半導体チップ）上に纏めて形成せずに、例えば、第１遅延部マクロ１０、第２遅延部マクロ２０および比較部マクロ５０を離隔した異なるマクロとして形成することもできる。
【００４９】
なお、第１遅延部マクロ１０は、第１ディレイライン１および第１カウンタ３等を含み、第２遅延部マクロ２０は、第２ディレイライン２および第２カウンタ４等を含み、そして、比較部マクロ５０は、比較部５を含んでいる。
【００５０】
このように、第１遅延部マクロ１０、第２遅延部マクロ２０および比較部マクロ５０を半導体チップ上に離隔して形成した場合、図７に示すような転送過程（ＯＳＣ）が必要になる。
【００５１】
すなわち、図７に示されるように、図６に示す半導体集積回路において、まず、オペレーションＯＳＡにおいて、遅延比較テストモードを設定する。すなわち、選択信号ＳＳを制御して、第１および第２ディレイライン１，２へインバータ８，９の出力を供給してリングオシレータとして機能させる。
【００５２】
次に、オペレーションＯＳＢに進んで、発振している第１および第２ディレイライン１，２の出力信号（オシレータクロック）ＤＯ１，ＤＯ２を第１および第２カウンタ３，４でカウントする。
【００５３】
さらに、オペレーションＯＳＣに進んで、第１および第２カウンタ３，４でカウントしたカウント値ＣＮＴ１，ＣＮＴ２を、第１遅延部マクロ１０および第２遅延部マクロ２０から離隔した比較部マクロ５０の比較部５へ転送する。
【００５４】
そして、オペレーションＯＳＤに進んで、転送されたカウント値ＣＮＴ１，ＣＮＴ２を比較して、判定結果ＣＲを出力する。なお、各オペレーションは、処理ステップでもよい。
【００５５】
上述した実施例では、ディレイラインを２つ（第１および第２のディレイライン１，２）として説明したが、ディレイラインの数は、必要に応じて様々に変化させることができる。
【００５６】
次に、ディレイラインを３つとしたとき、基準とするカウント値（基準カウント値）の算出について説明する。
【００５７】
図８は基準カウント値の算出動作を説明するための図である。
図８に示されるように、ディレイラインの数を３つとしたときの基準カウント値の算出動作は、まず、オペレーションＯＴＡにおいて、遅延比較テストモードを設定する。すなわち、選択信号ＳＳを制御して、３つのディレイラインをリングオシレータとして機能させる。
【００５８】
次に、オペレーションＯＴＢに進んで、発振している３つのディレイラインの出力信号（オシレータクロック）を３つのカウンタ（３ａ，３ｂ，３ｃ）でカウントする。
【００５９】
さらに、オペレーションＯＴＣに進んで、後述する手法により基準カウント値（ＣＮＴｒ）を算出する。
【００６０】
そして、オペレーションＯＴＤに進んで、基準カウント値（ＣＮＴｒ）と各カウンタ（３ａ，３ｂ，３ｃ）のカウント値（ＣＮＴａ，ＣＮＴｂ，ＣＮＴｃ）との比較を行って、判定結果（ＣＲａ，ＣＲｂ，ＣＲｃ）を出力する。なお、各オペレーションは、処理ステップでもよい。
【００６１】
図９は基準カウント値算出回路の一例を示すブロック図であり、複数（３つ）のカウンタのカウント値の平均を基準カウント値とする例を示すものである。
【００６２】
図９に示されるように、基準カウント値算出回路の一例３１は、加算器３１１、除算器３１２、および、カウンタ３１３を有する。
【００６３】
ここで、カウンタ３ａ，３ｂ，３ｃは、図３の第１カウンタ３（第２カウンタ４）に対応するもので、図９では、オシレータとして機能する３つのディレイライン（図示しない）の出力信号を、それぞれ一定のテスト期間の間だけカウントするようになっている。
【００６４】
加算器３１１は、３つのカウンタ３ａ，３ｂ，３ｃのカウント値ＣＮＴａ，ＣＮＴｂ，ＣＮＴｃを加算（ＣＮＴａ＋ＣＮＴｂ＋ＣＮＴｃ）し、除算器３１２は、その加算器３１１の出力信号を３で除算して平均値（ＣＮＴａ＋ＣＮＴｂ＋ＣＮＴｃ）／３を出力する。
【００６５】
カウンタ３１３は、除算器３１２から供給される信号（ＣＮＴａ＋ＣＮＴｂ＋ＣＮＴｃ）／３を保持して基準カウント値ＣＮＴｒとして各比較部５ａ，５ｂ，５ｃへ供給する。
【００６６】
各比較部５ａ，５ｂ，５ｃは、カウンタ３１３からの基準カウント値ＣＮＴｒと、対応する各カウンタ３ａ，３ｂ，３ｃのカウント値ＣＮＴａ，ＣＮＴｂ，ＣＮＴｃとをそれぞれ比較して判定結果ＣＲａ，ＣＲｂ，ＣＲｃを出力する。
【００６７】
図１０は基準カウント値算出回路の他の例を示すものであり、複数（３つ）のカウンタのカウント値の中心を基準カウント値とする例を示すものである。
【００６８】
すなわち、図１０に示す基準カウント値算出回路３２は、カウント値ＣＮＴａ，ＣＮＴｂ，ＣＮＴｃから中心値を抽出する中心値抽出部３２１およびカウンタ３２２を有する。
【００６９】
図１１は基準カウント値として中心値を使用する場合の処理動作を説明するための図であり、図１０における中心値抽出部３２１の処理動作を説明するためのものである。
【００７０】
図１１に示されるように、中心値抽出処理は、まず、オペレーションＯＵＡにおいて、３つの各カウンタ３ａ，３ｂ，３ｃのカウント値ＣＮＴａ，ＣＮＴｂ，ＣＮＴｃを受け取る。
【００７１】
次に、オペレーションＯＵＢに進んで、ＣＮＴｂ−ＣＮＴａおよびＣＮＴｃ−ＣＮＴａを判別する。
【００７２】
オペレーションＯＵＢにおいて、ＣＮＴｂ−ＣＮＴａ＞０，かつ，ＣＮＴｃ−ＣＮＴａ＜０、或いは、ＣＮＴｂ−ＣＮＴａ＜０，かつ，ＣＮＴｃ−ＣＮＴａ＞０と判別されると、オペレーションＯＵＣに進んで、ＣＮＴａを基準カウント値ＣＮＴｒとして規定する。
【００７３】
オペレーションＯＵＢにおいて、ＣＮＴｂ−ＣＮＴａ＞０，かつ，ＣＮＴｃ−ＣＮＴａ＞０と判別されると、オペレーションＯＵＤに進んで、ＣＮＴｃ−ＣＮＴｂを判別する。
【００７４】
オペレーションＯＵＤにおいて、ＣＮＴｃ−ＣＮＴｂ＞０と判別されると、オペレーションＯＵＦに進んで、ＣＮＴｂを基準カウント値ＣＮＴｒとして規定する。また、オペレーションＯＵＤにおいて、ＣＮＴｃ−ＣＮＴｂ＜０と判別されると、オペレーションＯＵＧに進んで、ＣＮＴｃを基準カウント値ＣＮＴｒとして規定する。
【００７５】
オペレーションＯＵＢにおいて、ＣＮＴｂ−ＣＮＴａ＜０，かつ，ＣＮＴｃ−ＣＮＴａ＜０と判別されると、オペレーションＯＵＥに進んで、ＣＮＴｃ−ＣＮＴｂを判別する。
【００７６】
オペレーションＯＵＥにおいて、ＣＮＴｃ−ＣＮＴｂ＞０と判別されると、オペレーションＯＵＨに進んで、ＣＮＴｃを基準カウント値ＣＮＴｒとして規定する。また、オペレーションＯＵＥにおいて、ＣＮＴｃ−ＣＮＴｂ＜０と判別されると、オペレーションＯＵＩに進んで、ＣＮＴｂを基準カウント値ＣＮＴｒとして規定する。なお、各オペレーションは、処理ステップでもよい。
【００７７】
図１１を参照して説明した処理動作を有する中心値抽出部は、ハードとして回路により実現することができるが、ソフトとしてプログラムにより実現することも可能である。
【００７８】
なお、ディレイラインは、２つまたは３つに限定されるものではなく、さらに多数のディレイラインを有する遅延比較回路であってもよいのはいうまでもない。
【００７９】
図１２は第２実施例の遅延回路を示すブロック図であり、図３を参照して説明した遅延比較回路を応用した遅延回路を示している。また、図１３は図１２の遅延回路における要部を示すブロック図である。
【００８０】
図１２に示されるように、第２実施例の遅延回路は、第１および第２ディレイライン１’，２’、第１および第２カウンタ３’，４’、比較部５’、並びに、第１および第２オシレータ補助回路６’，７’を有する。
【００８１】
ここで、第１オシレータ補助回路６’は、図３におけるセレクタ６およびインバータ８に対応し、また、第２オシレータ補助回路７’は、図３におけるセレク７およびインバータ９に対応する。
【００８２】
なお、図１２では省略しているが、例えば、第１および第２オシレータ補助回路６’，７’の各セレクタには選択信号ＳＳが供給され、また、第１および第２ディレイライン１’，２’の出力信号はシステムへ供給されている。
【００８３】
また、第１実施例の遅延比較回路において、図９を参照して説明したように、ディレイラインの数は、第１および第２の２つに限定されるものではなく、３つ以上であってもよい。
【００８４】
さらに、第１実施例の遅延比較回路で説明したように、比較部５’は、差分算出回路５１および差分許容判定回路５２を有してもよく、また、基準カウント値は、各カウント値の平均値、或いは、各カウント値の中心値としてもよい。
【００８５】
図１２に示されるように、第２実施例の遅延回路は、テスト制御回路８０、第１および第２コード比較回路８１，９１、第１および第２加算器８２，９２、並びに、第１および第２遅延設定回路８３，９３を有する。
【００８６】
さらに、第２実施例の遅延回路は、第１および第２エラー保持回路８４，９４、並びに、第１および第２エラーＤＵ救済デコーダ８５，９５も有する。
【００８７】
テスト制御回路８０は、第１および第２コード比較回路８１，９１と、第１および第２加算器８２，９２に対して選択コードＳＳＣを供給する。ここで、テスト制御回路８０は、選択コードＳＳＣをインクリメントする選択コードインクリメント回路を有する。
【００８８】
第１および第２コード比較回路８１，９１は、それぞれ第１および第２エラー保持回路８４，９４の出力と選択コードＳＳＣを比較し、第１および第２加算器８２，９２を介して第１および第２遅延量設定デコーダ８３，９３を制御する。これにより、第１および第２ディレイライン１’，２’は、遅延クロックＤＯ１’，ＤＯ２’を出力する。
【００８９】
ここで、図１３に示されるように、加算器８２（９２）は、コード比較器８１（９１）の出力により制御されるセレクタ２１、および、選択コードＳＳＣにセレクタ２１の出力を加算する加算部２２を有する。
【００９０】
第１および第２エラー保持回路８４，９４は、比較部５’からの判定結果ＣＲ１，ＣＲ２を保持し、第１および第２コード比較回路８１，９１に出力すると共に、第１および第２エラーＤＵ救済デコーダ８５，９５を介してエラーＤＵを救済（飛び越し処理）する。
【００９１】
図１３に示されるように、第１および第２ディレイライン１’，２’は、それぞれ複数の遅延ユニットＤＵ（１１０，１１１，…）と、各遅延ユニットＤＵに対して設けられた複数のセレクタユニットＳＵ（１２０，１２１，…）を有する。
【００９２】
各セレクタユニットＳＵは、第１および第２エラーＤＵ救済デコーダ８５，９５からの信号により対応する遅延ユニットＤＵに供給された信号をそのまま入力させるか、或いは、その対応する遅延ユニットを飛び越して次段の遅延ユニットに供給するかを選択する。
【００９３】
すなわち、例えば、セレクタユニット１２１は、前段の遅延ユニット１１０からの信号をそのまま対応する遅延ユニット１１１に入力させる場合には、トランスファーゲート１２１ａをオンして１２１ｂをオフする。
【００９４】
一方、例えば、セレクタユニット１２１は、前段の遅延ユニット１１０からの信号を対応する遅延ユニット１１１を飛び越して次段の遅延ユニット１１２に入力させる場合には、トランスファーゲート１２１ｂをオンすると共に、１２２ａと１２２ｂをオフする。
【００９５】
このようにして、第１および第２エラーＤＵ救済デコーダ８５，９５を介してエラーＤＵの救済を行う。
【００９６】
なお、エラーＤＵの検出は、例えば、テストモードを設定し、セレクタ１２’，２２’により第１および第２ディレイライン１’，２’の遅延量を同等に変化させて第１および第２カウンタ３’，４’のカウント値ＣＮＴ１，ＣＮＴ２を比較部５’で比較する。
【００９７】
すなわち、第１および第２ディレイライン１’，２’における遅延ユニットＤＵの数を同等に変化させたとき、例えば、一方のディレイラインのエラーＤＵが存在すると、第１および第２カウンタ３’，４’のカウント値ＣＮＴ１，ＣＮＴ２に大きな差が生じる。
【００９８】
また、第１および第２ディレイライン１’，２’において、遅延ユニットＤＵの数を順次増加させると遅延時間も線型的に増加するが、その線型性を壊す個所の遅延ユニットＤＵによりエラーＤＵを特定することができる。
【００９９】
図１３に示されるように、コード比較器８１（９１）には、選択コードＳＳＣおよびエラー保持回路８４（９４）の出力（エラーコード）が入力され、両者が一致した場合にはセレクタ２１から『１』を出力させる。
【０１００】
すなわち、セレクタユニットＳＵによりエラーＤＵの飛び越し処理を行った場合には、その飛び越すことにより少なくなった遅延ユニットＤＵの数を増加させるようになっている。
【０１０１】
図１４および図１５は第２実施例の遅延回路の動作を説明するための図である。
図１４に示されるように、まず、オペレーションＯＸＡにおいて、選択コードＳＳＣを設定して、オペレーションＯＸＢに進む。なお、選択コードＳＳＣは、初期値は『０』で、順次インクリメント（オペレーションＯＸＩ）される。
【０１０２】
次に、オペレーションＯＸＢにおいて、エラー選択コードが存在するかどうかを判別し、エラー選択コードが存在する場合にはオペレーションＯＸＣに進み、また、エラー選択コードが存在しない場合にはオペレーションＯＸＤに進む。
【０１０３】
すなわち、エラー保持回路８４（９４）にエラー選択コードが保持されているとき、オペレーションＯＸＣにおいて、選択コードＳＳＣがエラー保持回路８４（９４）に保持されたエラー選択コードよりも大きいかどうかが判別される。
【０１０４】
そして、オペレーションＯＸＣにおいて、選択コードＳＳＣがエラー選択コード以上ではないと判別されると、すなわち、入力クロックＣＬＫを遅延する複数の遅延ユニットの中にエラーＤＵが含まれていないときは、オペレーションＯＸＤに進む。
【０１０５】
オペレーションＯＸＤでは、選択コードＳＳＣに『０』を加算し、遅延量設定デコーダ８３（９３）を介して、セレクタ１２’（２２’）によりそのままの選択コードＳＳＣに従った所定の遅延ユニットＤＵの出力を選択する。
【０１０６】
一方、オペレーションＯＸＣにおいて、選択コードＳＳＣがエラー選択コード以上であると判別されると、すなわち、入力クロックＣＬＫを遅延する複数の遅延ユニットの中に飛び越し処理を行ったエラーＤＵが含まれていると、オペレーションＯＸＥに進む。
【０１０７】
そして、オペレーションＯＸＥにおいて、選択コードＳＳＣに『１』を加算し、遅延量設定デコーダ８３（９３）を介して、セレクタ１２’（２２’）によりその『１』が加算された選択コードＳＳＣに従った所定の遅延ユニットＤＵの出力を選択する。
【０１０８】
具体的に、図１５に示されるように、例えば、遅延ユニット１１１に欠陥があり、その遅延ユニット１１１がエラーＤＵとして飛び越し処理されている場合、そのエラーＤＵの遅延ユニット１１１を選択するコードCode-1はエラー保持回路８４に保持されている。
【０１０９】
そして、選択コードＳＳＣにより、本来セレクタ１２’が遅延ユニット１１１の出力を選択するとき、選択コードＳＳＣ（Code-1）がエラー選択コードCode-1以上（この場合は一致）であるため、『１』が加算された選択コードＳＳＣ（Code-2）により選択される。
【０１１０】
すなわち、セレクタ１２’は、コードCode-2により遅延ユニット１１２の出力を選択する。これにより、飛び越したエラーＤＵの遅延ユニット１１１の代わりに遅延ユニット１１２による遅延を含めた遅延クロックＤＯ１’がセレクタ１２’から出力される。
【０１１１】
再び、図１４に戻って、オペレーションＯＸＦにおいて、第１実施例で説明したのと同様に、オシレータ補助回路６’（７’）によりディレイライン１’（２’）のオシレータクロックＤＯ１’（ＤＯ２’）をカウンタ３’（４’）でカウントする。
【０１１２】
さらに、オペレーションＯＸＧに進んで、第１カウンタ３’のカウント値ＣＮＴ１と第２カウンタ４’のカウント値ＣＮＴ２を比較部５’で比較し、カウント値ＣＮＴ１およびＣＮＴ２が一致すると判別されると、オペレーションＯＸＩに進む。
【０１１３】
そして、オペレーションＯＸＩでは、選択コードＳＳＣをインクリメントし、オペレーションＯＸＢに戻って同様の処理を繰り返す。
【０１１４】
一方、オペレーションＯＸＧにおいて、カウント値ＣＮＴ１およびＣＮＴ２が一致しないと判別されると、オペレーションＯＸＨに進んで、そのエラー選択コードをエラー保持回路８４（９４）に格納して、オペレーションＯＸＩに進む。
【０１１５】
ここで、オペレーションＯＸＧにおけるカウント値ＣＮＴ１およびＣＮＴ２の一致／不一致の判定は、前述した第１実施例と同様に、例えば、カウント値の差分値（ＤＣＮＴ）が予め定められた許容値内であるか否かを考慮して行う。なお、各オペレーションは、処理ステップでもよい。
【０１１６】
このように、本第２実施例によれば、遅延ユニットＤＵを選択する選択コードを順に変化させ、その選択コード毎に各ディレイラインのオシレータクロックのカウントおよび比較判定を行う。
【０１１７】
そして、或る選択コードの時に判定結果がエラーになった際、そのエラーになる選択コードを保持し、エラーになる遅延ユニットＤＵの飛び越し処理を行う。そして、選択コードがそのエラー選択コード以上の値を示した時に、ディレイラインでの遅延量設定コードを増加して遅延ユニットＤＵの段数を整合させ、遅延故障個所を救済する。
【０１１８】
なお、遅延故障個所が救済されたディレイラインからの遅延クロックは、通常動作時にも使用される。
【０１１９】
図１６は遅延回路が適用される半導体集積回路の一例を示すブロック図である。
図１６に示されるように、半導体集積回路５００は、ロジック回路５０１、ＭＣＵ（Micro Controller Unit），ＰＬＬ（Phase Locked Loop）５０３、および、メモリＩ／Ｆ（インターフェース）５０４を有する。
【０１２０】
また、場合によっては、半導体集積回路５００は、ＤＳＰ（Digital Signal Processor）等の機能ブロック５０５、メモリ５０６、ＵＳＢ（Universal Serial Bus）等のＩ／Ｆ５０７、および、入出力回路５０８を有する。
【０１２１】
上述した実施例の遅延回路（遅延比較回路）は、例えば、ＤＤＲ（Double Data Rate）−ＳＤＲＡＭ６００との間で高速データ転送を行う半導体集積回路５００のメモリＩ／Ｆ５０４におけるＤＬＬ５４１に適用される。
【０１２２】
もちろん、上述した実施例の遅延回路は、図１６のような半導体集積回路５００のメモリＩ／Ｆ５０４におけるＤＬＬ５４１だけでなく、様々な半導体集積回路に対して幅広く適用することができるのはいうまでもない。
【０１２３】
以上の実施例を含む実施形態に関し、さらに、以下の付記を開示する。
（付記１）
複数のディレイラインと、
該各ディレイラインをそれぞれオシレータ化する複数のオシレータ補助回路と、
オシレータ化された前記各ディレイラインの発振出力をカウントしてそれぞれカウント値を求める複数のカウンタと、
前記各カウント値を基準カウント値と比較する比較部と、を有することを特徴とする遅延比較回路。
【０１２４】
（付記２）
付記１に記載の遅延比較回路において、
前記各オシレータ補助回路は、対応する前記ディレイラインの出力信号を反転して当該ディレイラインの入力にフィードバックしてリングオシレータ化する反転論理回路を有することを特徴とする遅延比較回路。
【０１２５】
（付記３）
付記２に記載の遅延比較回路において、
前記各オシレータ補助回路は、前記各ディレイラインにクロックを入力してその出力信号をシステムに供給する通常動作時と、前記各ディレイラインに前記反転論理回路を介して当該ディレイラインの出力信号を入力してリングオシレータ化する遅延時間比較動作時と、を切り替えるセレクタを有することを特徴とする遅延比較回路。
【０１２６】
（付記４）
付記１〜３のいずれか１項に記載の遅延比較回路において、
前記比較部は、前記各カウント値と基準カウント値との差分を算出する差分算出回路と、該算出された差分が予め定められた許容値以内であるかどうかを判定する差分許容判定回路と、を有することを特徴とする遅延比較回路。
【０１２７】
（付記５）
付記１〜４のいずれか１項に記載の遅延比較回路において、
前記基準カウント値は、前記各カウント値の平均値であることを特徴とする遅延比較回路。
【０１２８】
（付記６）
付記１〜４のいずれか１項に記載の遅延比較回路において、
前記基準カウント値は、前記各カウント値の中心値であることを特徴とする遅延比較回路。
【０１２９】
（付記７）
複数のディレイライン間の遅延時間を比較する遅延比較方法であって、
前記各ディレイラインをそれぞれリングオシレータ化し、
該各リングオシレータの発振出力をカウントしてそれぞれカウント値を求め、
該各カウント値を基準カウント値と比較することを特徴とする遅延比較方法。
【０１３０】
（付記８）
付記７に記載の遅延比較方法において、
前記基準カウント値は、前記各カウント値の平均値であることを特徴とする遅延比較方法。
【０１３１】
（付記９）
付記７に記載の遅延比較方法において、
前記基準カウント値は、前記各カウント値の中心値であることを特徴とする遅延比較方法。
【０１３２】
（付記１０）
付記１〜６のいずれか１項に記載の遅延比較回路を有し、
前記各ディレイラインは、複数の遅延ユニットと、該各遅延ユニットに対して設けられた複数のセレクタユニットと、を有し、
前記各セレクタユニットは、対応する前記遅延ユニットに供給された信号をそのまま入力する第１トランスファーゲートと、その対応する前記遅延ユニットを飛び越して次段の遅延ユニットに供給する第２トランスファーゲートと、を有することを特徴とする遅延回路。
【０１３３】
（付記１１）
付記１０に記載の遅延回路において、さらに、
前記ディレイラインにおけるエラー遅延ユニットのエラー選択コードを格納するエラー保持回路と、
該エラー保持回路の出力が選択コード以下であるかどうかを判定するコード比較器と、
該コード比較器の出力に応じて前記選択コードに対して、飛び越し処理を行った前記エラー遅延ユニットに対応した数を加算する加算器と、を有することを特徴とする遅延回路。
【０１３４】
（付記１２）
付記１〜６のいずれか１項に記載の遅延比較回路、或いは、付記１０または１１に記載の遅延回路を有することを特徴とする半導体集積回路。
【符号の説明】
【０１３５】
１，１’    第１ディレイライン
２，２’    第２ディレイライン
３，３’    第１カウンタ
３ａ〜３ｃ    カウンタ
４，４’    第２カウンタ
５，５’，５ａ〜５ｃ    比較部
６，７    セレクタ
６’    第１オシレータ補助回路
７’    第２オシレータ補助回路
８，９    インバータ
１１，２１    遅延部
１２，２２    セレクタ
３１，３２    基準カウント値算出回路
５１    差分算出回路
５２    差分許容判定回路
８０    テスト制御回路
８１    第１コード比較回路
８２    第１加算器
８３    第１遅延設定回路
８４    第１エラー保持回路
８５    第１エラーＤＵ救済デコーダ
９１    第２コード比較回路
９２    第２加算器
９３    第２遅延設定回路
９４    第２エラー保持回路
９５    第２エラーＤＵ救済デコーダ
５００    半導体集積回路
５０１    ロジック回路
５０２    ＭＣＵ
５０３    ＰＬＬ
５０４    メモリＩ／Ｆ（インターフェース）
５４１    ＤＬＬ
５０５    機能ブロック
５０６    メモリ
５０７    Ｉ／Ｆ
５０８    入出力回路
６００    ＤＤＲ−ＳＤＲＡＭ
【図１】
2010288142.tif 000003
【図２】
2010288142.tif 000004
【図３】
2010288142.tif 000005
【図４】
2010288142.tif 000006
【図５】
2010288142.tif 000007
【図６】
2010288142.tif 000008
【図７】
2010288142.tif 000009
【図８】
2010288142.tif 000010
【図９】
2010288142.tif 000011
【図１０】
2010288142.tif 000012
【図１１】
2010288142.tif 000013
【図１２】
2010288142.tif 000014
【図１３】
2010288142.tif 000015
【図１４】
2010288142.tif 000016
【図１５】
2010288142.tif 000017
【図１６】
2010288142.tif 000018