(57)【要約】      （修正有）【課題】誤動作の低減を図ることが可能なスキュー調整回路を提供する。【解決手段】スキュー調整回路ＳＫＣは、複数のクロック信号により入力信号を取り込む複数のフリップフロップ回路ＦＦ１〜ＦＦ４と、参照クロック信号ＣＬｒから生成された複数のクロック信号の位相を、入力信号取り込み結果により調整するクロック位相調整回路ＣＰＡと、基準値を基にして複数のクロック信号間の位相間隔を検出する位相間隔検出回路ＰＤＤと、位相間隔検出回路ＰＤＤからのスキュー調整信号に基づいて、クロック位相調整回路ＣＰＡの出力する複数のクロック信号間の位相間隔が等しくなるように調整する位相間隔調整回路ＰＤＣを備える。基準値は、キャリブレーションによって求められ、複数のフリップフロップ回路ＦＦ１〜ＦＦ４には、位相間隔調整回路ＰＤＣによって調整されたクロック信号が供給される。【選択図】図１
2017135506.tif 000002
【特許請求の範囲】
【請求項１】
複数の第１クロック信号に応答して、入力信号を取り込む複数のラッチ回路と、
参照クロック信号に基づいて生成された複数の第２クロック信号と、前記複数のラッチ回路からの出力信号とに基づいて、前記複数の第２クロック信号の位相を調整する位相調整回路と、
基準値を基にして、前記複数の第１クロック信号間の位相間隔を検出する位相間隔検出回路と、
前記位相間隔検出回路からのスキュー調整信号に基づいて、前記位相調整回路によって調整された前記複数の第２クロック信号間の位相間隔が等しくなるように、調整する位相間隔調整回路と、
を備え、
前記位相間隔検出回路における前記基準値は、キャリブレーションによって求められ、前記複数のラッチ回路には、前記位相間隔調整回路によって調整された前記複数の第２クロック信号が、前記複数の第１クロック信号として供給される、スキュー調整回路。
【請求項２】
請求項１に記載のスキュー調整回路において、
前記スキュー調整回路は、前記参照クロック信号を形成する参照クロック信号形成回路と、前記参照クロック信号から、互いに位相の異なる前記複数の第２クロック信号を形成するＰＬＬ回路とを備える、スキュー調整回路。
【請求項３】
請求項２に記載のスキュー調整回路において、
前記キャリブレーションは、前記複数の第１クロック信号において、それぞれ互いに近接する第１クロック信号間の時間差を求め、求めた時間差の総計を、前記第２クロック信号の数で除算して求めた値を、前記基準値とする、スキュー調整回路。
【請求項４】
請求項３に記載のスキュー調整回路において、
前記複数の第２クロック信号の数は、４である、スキュー調整回路。
【請求項５】
互いに位相の異なる複数の第１クロック信号に応答して、入力信号を取り込む複数のラッチ回路を備え、前記複数のラッチ回路からの出力信号を受信し、受信した複数の出力信号から、互いに位相の異なる複数の第２クロック信号を形成するクロックデータリカバリ回路と、
基準値を基にして、前記複数の第１クロック信号間の位相間隔を検出する位相間隔検出回路と、
前記位相間隔検出回路からのスキュー調整信号に基づいて、前記クロックデータリカバリ回路によって形成された前記複数の第２クロック信号間の位相間隔が、互いに等しくなるように調整する位相間隔調整回路と、
を備え、
前記基準値は、キャリブレーションによって求められ、前記位相間隔調整回路によって調整された前記複数の第２クロック信号が、前記複数の第１クロック信号として、前記複数のラッチ回路へ供給される、半導体装置。
【請求項６】
請求項５に記載の半導体装置において、
前記クロックデータリカバリ回路は、参照クロック信号を基にして、前記複数の第２クロック信号を形成するＰＬＬ回路を備え、
前記キャリブレーションは、それぞれ互いに近接する第１クロック信号間の時間差を求め、求めた時間差の総計を、前記複数の第２クロック信号の数で除算することにより求めた値を、前記基準値とし、前記位相間隔検出回路は、それぞれ互いに近接する第２クロック信号間の位相差と前記基準値との差に応じた信号を、前記スキュー調整信号として、前記位相間隔調整回路へ供給する、半導体装置。
【請求項７】
請求項６に記載の半導体装置において、
前記複数のラッチ回路は、前記複数の第１クロック信号の立ち上がりに同期して、入力信号を取り込み、前記位相間隔調整回路は、前記複数の第２クロック信号間の立ち上がりが、互いに等しくなるように調整し、前記複数の第２クロック信号の数は、４である、半導体装置。
【請求項８】
互いに異なる位相を有する複数のクロック信号間のスキューを補正するスキューキャリブレーション方法であって、
前記スキューキャリブレーション方法は、
参照クロック信号に基づいて形成された前記複数のクロック信号において、互いに近接するクロック信号間の時間差を求める位相間隔検出工程と、
前記複数のクロック信号に対して、前記位相間隔検出工程で求められた時間差の総計を求め、求めた総計を、前記複数のクロック信号の数で除算することにより、基準値を求める演算工程と、
を備え、前記演算工程で求めた前記基準値によりクロック信号の位相が補正される、スキューキャリブレーション方法。
【請求項９】
請求項８に記載のスキューキャリブレーション方法において、
前記複数のクロック信号は、第１位相クロック信号と、前記第１位相クロック信号に近接した第２位相クロック信号と、前記第２位相クロック信号に近接した第３位相クロック信号を備え、
前記第１位相クロック信号と前記第２位相クロック信号との間の時間差が、前記基準値に整合するように調整された後、調整された前記第２位相クロック信号と前記第３位相クロック信号との間の時間差が、前記基準値に整合するように調整される、スキューキャリブレーション方法。
【請求項１０】
請求項８に記載のスキューキャリブレーション方法において、
前記複数のクロック信号は、第１位相クロック信号と、前記第１位相クロック信号に近接した第２位相クロック信号と、前記第２位相クロック信号に近接した第３位相クロック信号を備え、
前記第１位相クロック信号と前記第２位相クロック信号との間の時間差と前記基準値との比較と、前記第２位相クロック信号と前記第３位相クロック信号との間の時間差と前記基準値との比較が、繰り返し行われ、比較の度に、前記第１位相クロック信号と前記第２位相クロック信号との間の時間差と、前記第２位相クロック信号と前記第３位相クロック信号との間の時間差が、前記基準値に近づく、スキューキャリブレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スキュー調整回路、半導体装置およびスキューキャリブレーション方法に関し、特にクロックデータリカバリ回路（Ｃｌｏｃｋ  ａｎｄ  Ｄａｔａ  Ｒｅｃｏｖｅｒｙ、以下、ＣＤＲ回路とも称する）で用いられるクロック信号のスキュー調整回路およびＣＤＲ回路を備えた半導体装置に関する。
【背景技術】
【０００２】
情報通信装置の高速化に伴い、情報通信装置を構成する半導体装置間を転送するデータの転送速度（データレート）が早くなっている。例えば、データを転送するチャンネル当たりの転送速度は、２０１６年には２５Ｇｂｐｓに到達し、さらに転送速度が早くなるものと予測される。半導体装置は、プリント基板のような基板に搭載され、基板の配線を介して、データの送受信が行われる。この場合、基板の配線が、データを転送する伝送線路として機能するが、伝送線路には、伝送損失が存在し、伝送線路を伝達するデータの転送速度が早くなるのに応じて、伝送損失も増加する。
【０００３】
伝送線路を用いて、転送速度の早いデータを転送しようとすると、伝送線路における伝送損失、反射によって、符号間干渉が発生し、信号波形が劣化する。特に、伝送線路が長距離になると、信号波形の劣化が大きくなり、転送速度の早いデータを転送することが困難になる。
【０００４】
信号波形の劣化を改善する半導体装置として、例えばシグナルコンディショナの機能を有する半導体装置が存在する。このような半導体装置は、例えば等化器を備えており、等化器によって波形劣化の改善が図られる。等化器によって波形劣化を改善するためには、伝送線路を伝搬してきた波形をデジタル信号へ変換することが必要とされる。シリアル通信では、転送するデータと、データを識別するための同期クロック信号とが重畳されて、入力信号として転送される。
【０００５】
シグナルコンディショナの機能を有する半導体装置は、ＣＤＲ回路を備えており、ＣＤＲ回路によって、入力信号からデータ（デジタル信号）を抽出する。抽出されたデータが、等化器に供給され、波形劣化の改善が行われることになる。
【０００６】
ＣＤＲ回路に関する技術は、例えば特許文献１に記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−６６８７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ＣＤＲ回路においては、入力信号を、互いに異なる位相を有する複数のクロック信号でサンプリングを行い、サンプリングによって得られた値から、送信されたデータ（デジタル信号）が抽出されることになる。この場合、互いに異なる位相を有する複数のクロック信号は、例えば１個の参照クロック信号を基にして形成される。
【０００９】
転送速度が早くなることにより、送信されるデータの周期は短くなる。そのため、入力信号をサンプリングするクロック信号の周期も短くすることが必要とされる。ＣＤＲ回路を有する半導体装置を製造するときのバラツキ、半導体装置を使用するときの温度変化等の環境変動により、サンプリングするクロック信号間で位相間隔にバラツキが発生すると、適切なタイミングで、入力信号をサンプリングすることが困難となり、誤動作に繋がる。そのため、サンプリングするクロック信号間で位相間隔にバラツキが発生しないようにすることが要求される。
【００１０】
特許文献１には、ＣＤＲ回路に関する技術が記載されている。この特許文献１では、１個の参照クロック信号を用いて複数のクロック信号を形成する場合、クロック信号間で位相間隔のバラツキを低減することは難しいと述べられている。
【００１１】
本発明の目的は、誤動作の低減を図ることが可能なスキュー調整回路、誤動作の低減を図ることが可能なＣＤＲ回路を内蔵した半導体装置を提供することにある。
【００１２】
本発明の前記ならびにそのほかの目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１３】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【００１４】
一実施の形態において、スキュー調整回路は、複数の第１クロック信号に応答して、入力信号を取り込む複数のラッチ回路と、参照クロック信号に基づいて生成された複数の第２クロック信号と複数のラッチ回路からの出力信号とに基づいて、複数の第２クロック信号の位相を調整する位相調整回路と、基準値を基にして、複数の第１クロック信号間の位相間隔を検出する位相間隔検出回路と、位相間隔検出回路からのスキュー調整信号に基づいて、位相調整回路によって調整された複数の第２クロック信号間の位相間隔が等しくなるように、調整する位相間隔調整回路を備える。ここで、基準値は、キャリブレーションによって求められ、複数のラッチ回路には、位相間隔調整回路によって調整された複数の第２クロック信号が、複数の第１クロック信号として供給される。キャリブレーションによって求められた基準値を基にして、それぞれのラッチ回路が入力信号を取り込むタイミングを定める複数の第１クロック信号間の位相間隔が、互いに等しくなるように定められることになる。これにより、それぞれのラッチ回路が入力信号を取り込むタイミングが、ばらつくのを抑制することが可能となり、誤動作の低減を図ることが可能となる。
【００１５】
また、一実施の形態において、半導体装置は、互いに位相の異なる複数の第１クロック信号に応答して、入力信号を取り込む複数のラッチ回路と、複数のラッチ回路からの出力信号を受信し、受信した複数の出力信号から、互いに位相の異なる複数の第２クロック信号を形成するＣＤＲ回路と、基準値を基にして、複数の第１クロック信号間の位相間隔を検出する位相間隔検出回路と、位相間隔検出回路からのスキュー調整信号に基づいて、ＣＤＲ回路によって形成された複数の第２クロック信号間の位相間隔が、互いに等しくなるように調整する位相間隔調整回路を備える。基準値は、キャリブレーションによって求められ、位相間隔調整回路によって調整された複数の第２クロック信号が、複数の第１クロック信号として複数のラッチ回路へ供給される。
【００１６】
さらに、一実施の形態においては、互いに異なる位相を有する複数のクロック信号間のスキューを補正するスキューキャリブレーション方法が提供される。提供されるスキューキャリブレーション方法は、参照クロック信号に基づいて形成された複数のクロック信号において、互いに近接するクロック信号間の時間差（位相間隔）を求める位相間隔検出工程と、複数のクロック信号に対して、位相間隔検出工程で求められた時間差の総計を求め、求めた総計を、複数のクロック信号の数で除算することにより、基準値を求める演算工程を備え、演算工程で求めた基準値によりクロック信号の位相が調整（補正）される。参照クロック信号に基づいて形成された複数のクロック信号において、互いに近接するクロック信号間の時間差の総計は、参照クロック信号の１周期に相当する。そのため、特定のクロック信号間において、位相間隔がばらついていても、総計の時間はばらつかない。従って、総計の時間を、形成したクロック信号の数で除算することにより、バラツキに影響されない、基準値を求めることが可能なる。バラツキに影響されない基準値を用いて、クロック信号の位相が補正されるため、誤動作の低減を図ることが可能となる。
【発明の効果】
【００１７】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、以下のとおりである。
【００１８】
誤動作の低減を図ることが可能なスキュー調整回路、誤動作の低減を図ることが可能なＣＤＲ回路を内蔵した半導体装置を提供することができる。
【図面の簡単な説明】
【００１９】
【図１】実施の形態１に係わるスキュー調整回路の全体構成を示すブロック図である。
【図２】実施の形態１に係わるスキュー調整回路の構成を示すブロック図である。
【図３】実施の形態１に係わるキャリブレーション制御部の構成を示すブロック図である。
【図４】実施の形態１に係わるスキュー調整回路の動作を示すフローチャート図である。
【図５】実施の形態１に係わる位相間隔調整回路の構成を示す回路図である。
【図６】実施の形態１の変形例に係わる位相間隔検出回路の構成を示す回路図である。
【図７】実施の形態２に係わるスキュー調整回路の動作を示すフローチャート図である。
【図８】実施の形態１に係わる半導体装置を用いた電子装置の構成を示す模式的な断面図である。
【図９】ＣＤＲ回路の構成を示すブロック図である。
【図１０】（Ａ）〜（Ｅ）は、ＣＤＲ回路の波形を示す波形図である。
【図１１】（Ａ）〜（Ｄ）は、スキューがある場合の波形を示す波形図である。
【発明を実施するための形態】
【００２０】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部分には原則として同一の符号を付し、その繰り返しの説明は、原則として省略する。
【００２１】
（実施の形態１）
＜電子装置の構成＞
図８は、実施の形態１に係わる半導体装置を用いた電子装置の構成を示す模式的な断面図である。図８において、１００は、電子装置である情報通信装置を示している。情報通信装置１００は、特に制限されないが、複数のコネクターＣＮＴ１〜ＣＮＴｎが搭載されたバックプレーンＢＰと、コネクターＣＮＴ１〜ＣＮＴｎに装着されたカードＲＣＤ１〜ＲＣＤｎを備えている。
【００２２】
バックプレーンＢＰには、コネクターＣＮＴ１〜ＣＮＴｎ間を電気的に接続する複数の配線が形成されており、この配線が、コネクターＣＮＴ１〜ＣＮＴｎ間を、データが伝送する際の伝送線路となる。図８では、バックプレーンＢＰに形成された配線により構成された伝送線路が、ＤＬＬ（１）〜ＤＬＬ（ｉ）として示されている。また、説明の都合上、コネクターＣＮＴ１とコネクターＣＮＴｎ間のデータ伝送に用いられる伝送線路がＤＬＬ（１）として示され、残りの伝送線路ＤＬＬ（２）〜ＤＬＬ（ｉ）は、１本の太い実線で示されている。
【００２３】
カードＲＣＤ１〜ＲＣＤｎのそれぞれは、基板ＲＣＢと基板ＲＣＢに実装された複数の半導体装置および電子素子を備えており、複数の半導体装置および電子素子間または／および複数の半導体装置（電子素子を含む）とコネクター間は、基板ＲＣＢに形成された配線によって電気的に接続されている。この基板ＲＣＢに形成された配線の一部も、データ伝送において用いられるため、伝送線路として機能することになる。図８には、カードＲＣＤ１〜ＲＣＤｎのうち、例としてカードＲＣＤ１、ＲＣＤ２、ＲＣＤｎ−１およびＲＣＤｎが描かれている。
【００２４】
カードＲＣＤ１には、複数の半導体装置が実装されているが、図８には、これらの半導体装置のうち、２個の半導体装置ＬＳＩ１、ＢＰＳＣ１のみが示されている。ここで、半導体装置ＢＰＳＣ１は、シグナルコンディショナの機能を有する半導体装置を示している。シグナルコンディショナの機能は、基板ＰＣＢに形成された配線によって構成された伝送線路ＤＬＬ（１）〜ＤＬＬ（ｉ）等を介して、データが供給されたとき、これらの伝送線路によって生じた符号間干渉等により生じたデータの劣化を等化し、等化によって復元したデータを、半導体装置ＬＳＩ１等へ供給する機能である。カードＲＣＤ２、ＲＣＤｎ−１およびＲＣＤｎのそれぞれについても、カードＲＣＤ１と同様に、複数の半導体装置が実装されている。カードＲＣＤ２を見た場合には、実装されている複数の半導体装置のうち、半導体装置ＬＳＩ２とシグナルコンディショナの機能を有する半導体装置ＢＰＳＣ２とが示されており、カードＲＣＤｎ−１を見た場合には、実装されている複数の半導体装置のうち、半導体装置ＬＳＩｎ−１とシグナルコンディショナの機能を有する半導体装置ＢＰＳＣｎ−１とが示されている。同様に、カードＲＣＤｎを見た場合には、実装されている複数の半導体装置のうち、半導体装置ＬＳＩｎとシグナルコンディショナの機能を有する半導体装置ＢＰＳＣｎとが示されている。半導体装置ＢＰＳＣ２、ＢＰＳＣｎ−１およびＢＰＳＣｎのそれぞれが有するシグナルコンディショナの機能は、半導体装置ＢＰＳＣ１が有するシグナルコンディショナの機能と同じである。
【００２５】
図８に示した伝送線路ＤＬＬ（１）には、例えば破線矢印で示すように、カードＲＣＤｎから、コネクターＣＮＴｎを介してシリアルデータが供給される。シリアルデータは伝送線路ＤＬＬ（１）を伝達し、伝達したデータは、破線矢印で示すように、コネクターＣＮＴ１を介して、カードＲＣＤ１に実装された半導体装置ＢＰＳＣ１に供給される。半導体装置ＢＰＳＣ１において復元されたデータが、このカードＲＣＤ１に実装されている半導体装置（例えばＬＳＩ１）に供給され、半導体装置ＬＳＩ１おいて処理される。なお、カードＲＣＤｎから、伝送線路ＤＬＬ（１）へ供給するシリアルデータは、例えば半導体装置ＬＳＩｎによって形成される。勿論、このシリアルデータを形成するものは、半導体装置に限定されず、例えばカードＲＣＤｎに実装された光モジュール等であってもよい。
【００２６】
＜ＣＤＲ回路の原理＞
シグナルコンディショナの機能を有する半導体装置（例えば、図８に示した半導体装置ＢＰＳＣ１）は、伝送線路ＤＬＬ（１）からのシリアルデータ（入力信号）を受信するＣＤＲ回路と、ＣＤＲ回路によって抽出されたデータが供給される等化器を備えている。
【００２７】
先ず、ＣＤＲ回路の原理を説明しておく。図９は、ＣＤＲ回路の構成を示すブロック図である。図９において、破線で示したブロックＣＤが、ＣＤＲ回路である。伝送線路（例えば、ＤＬＬ（１））を伝搬した入力信号Ｉｎは、レシーバアンプＲＣＡに供給される。レシーバアンプＲＣＡは、入力信号Ｉｎを増幅して、ＣＤＲ回路ＣＤへ供給する。
【００２８】
図９において、ＣＧＣは、単相の参照クロック信号ＣＬｒを形成する参照クロック信号形成回路を示している。特に制限されないが、この参照クロック信号形成回路ＣＧＣは、１５６．２５ＭＨｚの単相の参照クロック信号ＣＬｒを形成する。この参照クロック信号ＣＬｒは、ＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）回路ＰＬへ供給される。ＰＬＬ回路ＰＬは、参照クロック信号ＣＬｒを逓倍し、多相のクロック信号を形成する。図９に示した例においては、４相のクロック信号ＣＬ１〜ＣＬ４が、ＰＬＬ回路ＰＬによって形成されている。この４相のクロック信号ＣＬ１〜ＣＬ４のそれぞれは、参照クロック信号ＣＬｒを逓倍した周波数を有している。ＰＬＬ回路ＰＬは、参照クロック信号ＣＬｒから４相のクロック信号を形成するため、多相クロック信号発生回路と見なすこともできる。
【００２９】
ＰＬＬ回路ＰＬは、逓倍により得られた逓倍クロック信号の１周期を、４個の位相期間（１番目から４番目の位相期間）に分け、それぞれの位相期間において、クロック信号ＣＬ１〜ＣＬ４のそれぞれの１周期が始まるように、クロック信号ＣＬ１〜ＣＬ４を形成する。例えば、逓倍クロック信号の立ち上がりに同期して、クロック信号ＣＬ１の１周期が始まるように、クロック信号ＣＬ１を形成する。次に、１番目の位相期間が経過するタイミングで、クロック信号ＣＬ２の１周期が始まるように、クロック信号ＣＬ２を形成し、さらに、２番目の位相期間が経過するタイミングで、クロック信号ＣＬ３の１周期が始まるように、クロック信号ＣＬ３を形成する。その後、３番目の位相期間が経過するタイミングで、クロック信号ＣＬ４の１周期が始まるように、クロック信号ＣＬ４を形成する。最後の４番目の位相期間が経過するタイミングで、クロック信号ＣＬ１の１周期が始まるように、クロック信号ＣＬ１を形成する。これが繰り返されて、４相のクロック信号ＣＬ１〜ＣＬ４が形成される。
【００３０】
クロック信号ＣＬ１〜ＣＬ４のそれぞれの１周期の始まりを、クロック信号の立ち上がりと見なした場合、クロック信号ＣＬ１が立ち上がってから、第１の位相期間が経過するタイミングで、クロック信号ＣＬ２が立ち上がり、さらに第２の位相期間が経過するタイミングで、クロック信号ＣＬ３が立ち上がる。その後で、第３の位相期間が経過するタイミングで、クロック信号ＣＬ４が立ち上がり、さらに第４の位相期間が経過するタイミングで、クロック信号ＣＬ１が立ち上がることになる。すなわち、互いに位相期間ずつ位相のずれたクロック信号ＣＬ１〜ＣＬ４が形成されることになる。立ち上がりのタイミングが、時間的に互いに近接したクロック信号、例えば、クロック信号ＣＬ１とＣＬ２、ＣＬ２とＣＬ３、ＣＬ３とＣＬ４、ＣＬ４とＣＬ１を見た場合、位相期間は、互いに近接するクロック信号間の位相間隔と見なすことができる。
【００３１】
このようにして、ＰＬＬ回路ＰＬにより形成された４相のクロック信号ＣＬ１〜ＣＬ４は、ＣＤＲ回路ＣＤに供給される。図９では、ＰＬＬ回路ＰＬおよび参照クロック信号形成回路ＣＧＣが、ＣＤＲ回路ＣＤとは別に描かれているが、ＣＤＲ回路ＣＤは、図９に示したＰＬＬ回路ＰＬおよび参照クロック信号形成回路ＣＧＣを含んでいてもよい。
【００３２】
ＣＤＲ回路ＣＤは、４個のフリップフロップ回路（ラッチ回路とも称する）ＦＦ１〜ＦＦ４と、クロック制御回路ＣＬ−ＣＴおよびクロック位相調整回路（位相調整回路とも称する）ＣＰＡを備えている。フリップフロップ回路ＦＦ１〜ＦＦ４は、互いに同じ構成を有している。図９では、フリップフロップ回路ＦＦ１のみが、詳しく描かれているので、このフリップフロップ回路ＦＦ１を例にして、説明する。フリップフロップ回路ＦＦ１は、入力端子Ｄ、出力端子Ｑおよびクロック入力端子ＣＫを備えており、クロック入力端子ＣＫに供給される信号が、例えばロウレベルからハイレベルへ変化すると、この変化に同期して、入力端子Ｄに供給されている信号（データ）を取り込み、保持する。また、保持されたデータは、出力端子Ｑから出力される。
【００３３】
フリップフロップ回路ＦＦ１〜ＦＦ４のそれぞれの入力端子Ｄには、レシーバアンプＲＣＡからの出力信号が、共通に供給される。フリップフロップ回路ＦＦ１〜ＦＦ４のそれぞれのクロック入力端子ＣＫには、クロック位相調整回路ＣＰＡからのクロック信号ＣＬ１−Ａ〜ＣＬ４−Ａが供給される。例えば、フリップフロップ回路ＦＦ１のクロック入力端子ＣＫには、クロック信号ＣＬ１−Ａが供給され、フリップフロップ回路ＦＦ２のクロック入力端子ＣＫには、クロック信号ＣＬ２−Ａが供給される。同様に、フリップフロップ回路ＦＦ３のクロック入力端子ＣＫには、クロック信号ＣＬ３−Ａが供給され、フリップフロップ回路ＦＦ４のクロック入力端子ＣＫには、クロック信号ＣＬ４−Ａが供給される。
【００３４】
フリップフロップ回路ＦＦ１〜ＦＦ４は、クロック入力端子ＣＫに供給されているクロック信号ＣＬ１−Ａ〜ＣＬ４−Ａが、ロウレベルからハイレベルへ変化することにより、このとき、入力端子Ｄに供給されている入力信号Ｉｎを取り込み、格納して、出力する。例えば、クロック信号ＣＬ１−Ａがロウレベルからハイレベルへ変化したタイミングで、フリップフロップ回路ＦＦ１は、そのとき入力端子Ｄに供給されている入力信号Ｉｎを取り込み、保持して、出力する。また、クロック信号ＣＬ２−Ａがロウレベルからハイレベルへ変化したタイミングでは、フリップフロップ回路ＦＦ２が、そのとき入力端子Ｄに供給されている入力信号Ｉｎを取り込み、保持して、出力する。残りのフリップフロップ回路ＦＦ３およびＦＦ４についても同様に、クロック信号ＣＬ３−Ａ、ＣＬ４−Ａがハイレベルへ変化したタイミングで、入力信号Ｉｎを取り込み、出力する。
【００３５】
クロック制御回路ＣＬ−ＣＴは、フリップフロップ回路ＦＦ１〜ＦＦ４の出力信号に基づいて、制御信号ＣＰＡ−Ｃを形成する。クロック位相調整回路ＣＰＡは、制御信号ＣＰＡ−Ｃに基づいて、ＰＬＬ回路ＰＬから供給されている多相のクロック信号ＣＬ１〜ＣＬ４のそれぞれの位相を調整し、調整によって得られた多相のクロック信号を、クロック信号ＣＬ１−Ａ〜ＣＬ４−Ａとして出力する。
【００３６】
次に、クロック制御回路ＣＬ−ＣＴおよびクロック位相調整回路ＣＰＡによる位相の調整を、図１０を用いて説明する。図１０は、ＣＤＲ回路ＣＤの波形を示す波形図である。図１０において、横軸は、時間ｔを示しており、縦軸は電圧を示している。
【００３７】
ここで、図１０（Ａ）は、入力信号Ｉｎの波形を示している。また、図１０（Ｂ）〜図１０（Ｅ）は、フリップフロップ回路ＦＦ１〜ＦＦ４のクロック入力端子ＣＫに供給される多相のクロック信号ＣＬ１−Ａ〜ＣＬ４−Ａの波形を示している、この多相のクロック信号ＣＬ１−Ａ〜ＣＬ４−Ａは、ＰＬＬ回路ＰＬによって形成された多相のクロック信号ＣＬ１〜ＣＬ４と制御信号ＣＰＡ−Ｃに基づいて、クロック位相調整回路ＣＰＡにより形成される。ここで、クロック位相調整回路ＣＰＡによって形成されるクロック信号ＣＬ１−Ａは、クロック信号ＣＬ１に対応し、クロック信号ＣＬ２−Ａは、クロック信号ＣＬ２に対応し、クロック信号ＣＬ３−Ａは、クロック信号ＣＬ３に対応し、クロック信号ＣＬ４−Ａは、クロック信号ＣＬ４に対応する。
【００３８】
ＰＬＬ回路ＰＬは、上記したように、参照クロック信号ＣＬｒを基にして、４相のクロック信号ＣＬ１〜ＣＬ４を形成する。図１０において、（１）〜（４）は、上記した位相期間（位相間隔）を示している。また、図１０において、（４）ｐは、位相期間（１）の前のサイクルにおける、位相期間（４）を示している。
【００３９】
ＣＤＲ回路ＣＤにおいては、入力信号Ｉｎの立ち上がりに同期して、図１０（Ｂ）に示すように、クロック信号ＣＬ１−Ａがハイレベルに立ち上がる。クロック信号ＣＬ２−Ａは、位相間隔（１）が経過するタイミングで、ハイレベルに立ち上がる。その後、位相間隔（２）が経過するタイミングで、クロック信号ＣＬ３−Ａがハイレベルに立ち上がり、位相間隔（３）が経過するタイミングで、クロック信号ＣＬ４−Ａがハイレベルに立ち上がる。位相間隔（４）が経過するタイミングで、再び、クロック信号ＣＬ１−Ａがロウレベルからハイレベルへ立ち上がる。これを繰り返して、参照クロック信号ＣＬｒを基にした４相のクロック信号ＣＬ１−Ａ〜ＣＬ４−Ａが形成される。なお、クロック信号ＣＬ１−Ａ〜ＣＬ４−Ａのそれぞれの１周期は、位相間隔（１）〜（４）の総計となる。
【００４０】
送信データに従って、入力信号Ｉｎが、図１０（Ａ）に示すように変化する場合を例にして説明する。ここでは、クロック信号ＣＬ１の１周期の期間において、２ビット（論理値）のシリアルデータが、入力信号Ｉｎとして供給される場合が、例として示されている。すなわち、図１０において、時刻ｔ２からｔ３の間に、１ビット目のデータが、入力信号Ｉｎとして供給され、次の時刻ｔ４からｔ５の間に、２ビット目のデータが、入力信号Ｉｎとして供給されている。同図では、１ビット目のデータが、論理値“１”で、２ビット目のデータが、論理値“０”の場合の入力信号Ｉｎの変化が示されており、所定時間ハイレベルの後、ロウレベルへ変化している。
【００４１】
クロック位相調整回路ＣＰＡは、制御信号ＣＰＡ−Ｃに基づいて、クロック信号ＣＬ１〜ＣＬ４の位相を調整して、調整されたクロック信号をクロック信号ＣＬ１−Ａ〜ＣＬ４−Ａとして出力する。ここで、クロック信号ＣＬ１−Ａは、クロック信号ＣＬ１が調整されたクロック信号を示しており、クロック信号ＣＬ２−Ａは、クロック信号ＣＬ２が調整されたクロック信号を示している。同様に、クロック信号ＣＬ３−Ａは、クロック信号ＣＬ３が調整されたクロック信号を示しており、クロック信号ＣＬ４−Ａは、クロック信号ＣＬ４が調整されたクロック信号を示している。
【００４２】
＜＜位相調整＞＞
先ず、クロック制御回路ＣＬ−ＣＴおよびクロック位相調整回路ＣＰＡによって、クロック信号ＣＬ１〜ＣＬ４の位相が調整され、適切な位相のクロック信号ＣＬ１−Ａ〜ＣＬ４−Ａによって、動作している場合を説明する。
【００４３】
図１０（Ｂ）に示すように、時刻ｔ１でクロック信号ＣＬ１−Ａが立ち上がることにより、フリップフロップ回路ＦＦ１は、このとき入力端子Ｄに供給されている入力データＩｎのハイレベル（論理値”１”）を取り込み、保持するとともに、出力する。位相間隔（１）を経過して、図１０（Ｃ）に示すように、時刻ｔ２になると、クロック信号ＣＬ２−Ａが立ち上がる。このクロック信号ＣＬ２の立ち上がりに応答して、フリップフロップ回路ＦＦ２が、入力端子Ｄに供給されているハイレベル（論理値”１”）を取り込み、保持して、出力する。同様に、図１０（Ｄ）に示すように、時刻ｔ３になると、クロック信号ＣＬ３−Ａが立ち上がる。これにより、フリップフロップ回路ＦＦ３は、入力端子Ｄに供給されているロウレベル（論理値”０”）を取り込み、保持して、出力する。また、図１０（Ｅ）に示すように、時刻ｔ４になると、クロック信号ＣＬ４−Ａが立ち上がる。これにより、フリップフロップ回路ＦＦ４は、入力端子Ｄに供給されているロウレベル（論理値”０”）を取り込み、保持して、出力する。
【００４４】
この場合、フリップフロップ回路ＦＦ２およびＦＦ４の出力端子Ｑから出力されている論理値が、ＣＤＲ回路ＣＤの出力信号Ｄｏとして、等化器に供給される。
【００４５】
クロック制御回路ＣＬ−ＣＴは、フリップフロップ回路ＦＦ１〜ＦＦ４のそれぞれから出力されている論理値を用いて、制御信号ＣＰＡ−Ｃを形成し、クロック位相調整回路ＣＰＡで、クロック信号ＣＬ１〜ＣＬ４の位相を調整する。
【００４６】
クロック制御回路ＣＬ−ＣＴは、先ず、フリップフロップ回路ＦＦ２とフリップフロップ回路ＦＦ４から出力されている論理値が一致しているか否かの判定を行う。すなわち、時刻ｔ２における入力信号Ｉｎの論理値と、時刻ｔ４における入力信号Ｉｎの論理値が一致しているか否かの判定を行うことになる。ここで、一致していると判定した場合には、時刻ｔ２から時刻ｔ４の間に、入力信号Ｉｎの値が変化するエッジが存在しないと見なす。一方、論理値が不一致と判定した場合には、時刻ｔ２から時刻ｔ４の間に、入力信号Ｉｎの値が変化するエッジが存在するものと見なす。入力信号Ｉｎの値が変化するエッジが、存在する場合には、位相の比較が可能であるため、クロック制御回路ＣＬ−ＣＴは、後で説明する位相比較動作を実行する。一方、エッジが存在しない場合には、クロック制御回路ＣＬ−ＣＴは、位相比較動作を実行しない。
【００４７】
位相比較動作では、フリップフロップ回路ＦＦ３から出力されている論理値と、フリップフロップ回路ＦＦ２およびＦＦ４のそれぞれから出力されている論理値との比較が行われ、比較の結果に応じて、クロック信号ＣＬ１〜ＣＬ４のそれぞれの位相が、早くまたは遅くなるように、制御信号ＣＰＡ−Ｃによって、クロック位相調整回路ＣＰＡを制御する。先ず、フリップフロップ回路ＦＦ３からの論理値とフリップフロップ回路ＦＦ４からの論理値を比較する。すなわち、位相間隔（３）における論理値と位相間隔（４）における論理値とを比較することになる。位相間隔（３）と（４）における論理値が一致している場合には、クロック信号ＣＬ１〜ＣＬ４の位相（立ち上がりタイミング）が遅れていると判定し、クロック制御回路ＣＬ−ＣＴは、クロック信号ＣＬ１〜ＣＬ４の位相を早くするような制御信号ＣＰＡ−Ｃを形成する。
【００４８】
次に、フリップフロップ回路ＦＦ３からの論理値とフリップフロップ回路ＦＦ２からの論理値を比較する。すなわち、位相間隔（３）における論理値と位相間隔（２）における論理値とを比較することになる。位相間隔（３）と（２）における論理値が一致している場合には、クロック信号ＣＬ１〜ＣＬ４の位相（立ち上がりタイミング）が早くなっていると判定し、クロック制御回路ＣＬ−ＣＴは、クロック信号ＣＬ１〜ＣＬ４の位相を遅くするような制御信号ＣＰＡ−Ｃを形成する。
【００４９】
クロック位相調整回路ＣＰＡは、位相を遅くする制御信号ＣＰＡ−Ｃが供給されると、クロック信号ＣＬ１〜ＣＬ４の位相を遅くして、クロック信号ＣＬ１−Ａ〜ＣＬ４−Ａとして出力する。また、位相を早くする制御信号ＣＰＡ−Ｃが供給されると、クロック位相調整回路ＣＰＡは、クロック信号ＣＬ１〜ＣＬ４の位相を早くして、クロック信号ＣＬ１−Ａ〜ＣＬ４−Ａとして出力する。
【００５０】
最適な位相の状態では、クロック制御回路ＣＬ−ＣＴから、位相を遅くする制御信号ＣＰＡ−Ｃと位相を早くする制御信号ＣＰＡ−Ｃが、交互に、クロック位相調整回路ＣＰＡに供給されるようになる。すなわち、クロック位相調整回路ＣＰＡは、クロック信号ＣＬ１〜ＣＬ４の位相を遅くしたクロック信号ＣＬ１−Ａ〜ＣＬ４−Ａと、クロック信号ＣＬ１〜ＣＬ４の位相を早くしたクロック信号ＣＬ１−Ａ〜ＣＬ４−Ａとを、交互に出力することになる。
【００５１】
２ビット目のデータについて述べたが、１ビット目のデータについても同様である。１ビット目のデータについても、フリップフロップ回路ＦＦ２とＦＦ４の論理値を比較する。ただし、この場合、フリップフロップ回路ＦＦ４の論理値は、前のサイクルにおける時刻ｔ０のときの値である。すなわち、前のサイクルにおける位相間隔（４）ｐにおける、フリップフロップ回路ＦＦ４からの論理値と、位相間隔（２）における、フリップフロップ回路ＦＦ２からの論理値が、比較される。比較の結果、一致していれば、クロック制御回路ＣＬ−ＣＴは、位相比較動作を実施しない。これに対して、不一致であれば、位相比較動作を実行する。このときの位相比較動作においては、フリップフロップ回路ＦＦ１からの論理値と、フリップフロップ回路ＦＦ２およびＦＦ４の論理値とが比較される。
【００５２】
この比較において、フリップフロップ回路ＦＦ１の論理値（位相間隔（１）の論理値）が、フリップフロップ回路ＦＦ２の論理値（位相間隔（２）の論理値）と一致した場合には、クロック信号の位相（立ち上がりタイミング）が遅れているため、クロック制御回路ＣＬ−ＣＴは、制御信号ＣＰＡ−Ｃによって、クロック信号の位相を早くする。一方、フリップフロップ回路ＦＦ１の論理値（位相間隔（１）の論理値）が、フリップフロップ回路ＦＦ４の論理値（位相間隔（４）ｐの論理値）と一致した場合には、クロック信号の位相（立ち上がりタイミング）が早くなっているため、クロック制御回路ＣＬ−ＣＴは、制御信号ＣＰＡ−Ｃによって、クロック信号の位相を遅くする。
【００５３】
１ビット目も２ビット目と同様に、最適な位相の状態では、クロック制御回路ＣＬ−ＣＴから、位相を遅くする制御信号ＣＰＡ−Ｃと位相を早くする制御信号ＣＰＡ−Ｃが、交互に、クロック位相調整回路ＣＰＡに供給されるようになる。すなわち、クロック位相調整回路ＣＰＡは、クロック信号ＣＬ１〜ＣＬ４の位相を遅くしたクロック信号ＣＬ１−Ａ〜ＣＬ４−Ａと、クロック信号ＣＬ１〜ＣＬ４の位相を早くしたクロック信号ＣＬ１−Ａ〜ＣＬ４−Ａとを、交互に出力することになる。
【００５４】
このようにして、入力信号Ｉｎを取り込むのに適したタイミングとなるように、調整されたクロック信号ＣＬ１−Ａ〜ＣＬ４−Ａが、フリップフロップ回路ＦＦ１〜ＦＦ４に供給されるようになる。
【００５５】
しかしながら、フリップフロップ回路ＦＦ１〜ＦＦ４のそれぞれのクロック入力端子ＣＫに供給されるクロック信号ＣＬ１−Ａ〜ＣＬ４−Ａのそれぞれは、クロック信号を伝達する配線、クロック位相調整回路ＣＰＡに含まれる素子のバラツキ等によって、ばらつく。例えば、ＣＤＲ回路ＣＤを半導体装置に内蔵した場合、半導体装置の製造時のバラツキによって、クロック信号ＣＬ１−Ａ〜ＣＬ４−Ａのそれぞれは、ばらつくことになる。すなわち、クロック信号間の遅延時間がバラツキ、スキュー（Ｓｋｅｗ）が発生することになる。図１０（Ｂ）〜（Ｅ）では、ＣＤＲ回路ＣＤの原理を説明するために、位相間隔（１）〜（４）は、互いに同じ時間になっており、スキューが発生していない状態が示されていた。しかしながら、配線、素子等のバラツキによって、クロック信号間にスキューが発生する。図１１には、スキューが発生した状態のクロック信号ＣＬ１−Ａ〜ＣＬ４−Ａの波形が示されている。図１１においても、横軸は時間ｔを示している。
【００５６】
図１１（Ａ）は、クロック信号ＣＬ１−Ａの電圧波形を示し、図１１（Ｂ）は、クロック信号ＣＬ２−Ａの電圧波形を示し、図１１（Ｃ）は、クロック信号ＣＬ３−Ａの電圧波形を示し、図１１（Ｄ）は、クロック信号ＣＬ４−Ａの電圧波形を示している。図１１（Ｂ）に示したクロック信号ＣＬ２−Ａを見ると、図１０（Ｃ）のクロック信号ＣＬ２−Ａに比べると、クロック信号ＣＬ１−Ａの立ち上がりから、クロック信号ＣＬ２−Ａが立ち上がるまでの位相間隔（１）が長くなっている。また、クロック信号ＣＬ３−Ａを見ると、図１１（Ｃ）では、位相間隔（２）が短くなっており、クロック信号ＣＬ４−Ａを見ると、図１１（Ｄ）では、位相間隔（３）が長くなっており、クロック信号ＣＬ１−Ａを見ると、図１１（Ａ）では、位相間隔（４）が短くなっている。
【００５７】
これらのクロック信号ＣＬ１−Ａ〜ＣＬ４−Ａは、同じ参照クロック信号ＣＬｒに基づいて形成されたクロック信号ＣＬ１〜ＣＬ４に対応しているため、位相間隔（１）〜（４）の総計（合計時間）は、参照クロック信号ＣＬｒ（クロック信号ＣＬ１−Ａ）の１周期Ｔと同じである。
【００５８】
図９および図１０で説明したように、クロック制御回路ＣＬ−ＣＴとクロック位相調整回路ＣＰＡによって、クロック信号ＣＬ１〜ＣＬ４の位相を調整して、調整されたクロック信号ＣＬ１−Ａ〜ＣＬ４−Ａを形成するようにしても、図１１に示したように、クロック信号ＣＬ１−Ａ〜ＣＬ４−Ａにスキューが存在すると、クロック信号ＣＬ１−Ａ〜ＣＬ４−Ａのそれぞれを、適切な位相にすることが困難となる。例えば、クロック信号に、ハイレベルの期間とロウレベルの期間とが５０％からずれるような歪み、いわゆるＤＣＤ（Ｄｕｔｙ  Ｃｙｃｌｅ  Ｄｉｓｔｏｒｔｉｏｎ）が発生し、クロック信号のそれぞれが、適切なタイミングでハイレベルへ立ち上がらなくなってしまう。
【００５９】
その結果、入力信号Ｉｎを、適切なタイミングで、フリップフロップ回路ＦＦ１〜ＦＦ４に取り込むことが困難となり、誤動作の発生に繋がる。
【００６０】
＜スキュー調整回路の全体構成＞
図１は、実施の形態１に係わるスキュー調整回路の全体構成を示すブロック図である。図１において、ＳＫＣはスキュー調整回路を示している。この実施の形態１においては、図９に示したＣＤＲ回路ＣＤにスキュー調整回路ＳＫＣが適用されているため、図１には、図９に示したＣＤＲ回路ＣＤの構成も示されている。すなわち、図１において、レシーバアンプＲＣＡ、フリップフロップ回路ＦＦ１〜ＦＦ４、クロック制御回路ＣＬ−ＣＴ、クロック位相調整回路ＣＰＡ、ＰＬＬ回路ＰＬおよび参照クロック信号形成回路ＣＧＣは、図９に示したそれぞれと同じ構成を有している。そのため、レシーバアンプＲＣＡ、フリップフロップ回路ＦＦ１〜ＦＦ４、クロック制御回路ＣＬ−ＣＴ、クロック位相調整回路ＣＰＡ、ＰＬＬ回路ＰＬおよび参照クロック信号形成回路ＣＧＣについては、原則、説明を省略する。
【００６１】
スキュー調整回路ＳＫＣは、位相間隔調整回路ＰＤＣ、位相間隔検出回路ＰＤＤおよびキャリブレーション制御部ＰＤＤ−ＣＴを備えている。位相間隔検出回路ＰＤＤは、フリップフロップ回路ＦＦ１〜ＦＦ４のそれぞれのクロック入力端子ＣＫに供給されるクロック信号を受信し、クロック入力端子ＣＫに供給されるクロック信号間の位相間隔を検出する。検出により生成されたスキュー調整信号は、位相間隔調整回路ＰＤＣに供給される。位相間隔調整回路ＰＤＣは、クロック位相調整回路ＣＰＡから出力されたクロック信号ＣＬ１−Ａ〜ＣＬ４−Ａ（後述する）を受信し、位相間隔検出回路ＰＤＤからのスキュー調整信号に基づいて、クロック信号間の位相間隔を調整し、調整されたクロック信号を、フリップフロップ回路ＦＦ１〜ＦＦ４のクロック入力端子ＣＫに供給する。
【００６２】
この実施の形態１において、位相間隔検出回路ＰＤＤは、位相間隔の基準値を有しており、この基準値を基にして、フリップフロップ回路ＦＦ１〜ＦＦ４のクロック入力端子ＣＫに供給されているクロック信号間の位相間隔を検出し、クロック信号間の位相間隔を、基準値に整合させるスキュー調整信号を出力する。キャリブレーション制御部ＰＤＤ−ＣＴは、位相間隔の基準値が、配線、素子等のバラツキにより変化するのを補正する制御部である。
【００６３】
スキューが発生して、クロック信号ＣＬ１−Ａ〜ＣＬ４−Ａ間の位相間隔（１）〜（４）が、図１１に示すように、互いに異なる値になっても、これらのクロック信号ＣＬ１−Ａ〜ＣＬ４−Ａのそれぞれは、参照クロック信号ＣＬｒに基づいて形成されている。そのため、位相間隔（１）〜（４）の合計である総計は、参照クロック信号ＣＬｒ（例えばクロック信号ＣＬ１−Ａと同じクロック信号）の１周期Ｔに等しい。この１周期Ｔの時間を、形成している多相のクロック信号ＣＬ１−Ａ〜ＣＬ４−Ａの数で除算をすることにより、互いに隣接するクロック信号間の位相間隔の時間差を求める。除算によって求めた位相間隔の時間差が、位相間隔の基準値とされる。位相間隔（１）〜（４）の総計が、配線、素子等のバラツキに依存しないため、求めた基準値も、配線、素子等のバラツキに依存しない値となる。
【００６４】
この実施の形態１において、ＣＤＲ回路ＣＤまたはＣＤＲ回路ＣＤを内蔵する半導体装置は、データおよびクロックをリカバリするクロックデータリカバリの期間とは、別にスキューキャリブレーションの期間を備えている。このスキューキャリブレーションの期間は、キャリブレーションの期間と位相間隔調整の期間とを備えている。キャリブレーションの期間のとき、キャリブレーション制御部ＰＤＤ−ＣＴが、位相間隔検出回路ＰＤＤを用いてクロック信号ＣＬ１−Ａ〜ＣＬ４−Ａ間の位相間隔を求める。また、キャリブレーション制御部ＰＤＤ−ＣＴは、求めた位相間隔の総計と、除算を実行し、位相間隔の基準値を求め、位相間隔検出回路ＰＤＤへ供給する。位相間隔調整の期間は、キャリブレーションの期間の後に存在し、位相間隔調整の期間のときに、位相間隔検出回路ＰＤＤは、基準値を基にして、スキュー調整信号を出力し、クロック信号間の位相間隔を調整する。見方を変えると、位相間隔検出回路ＰＤＤは、キャリブレーションの期間においては、クロック信号間の位相間隔を検出するのに用いられ、位相間隔調整の期間においては、基準値を基にしたスキュー調整信号を形成するのに用いられることになる。このように、兼用することにより、占有面積の増加を抑制することが可能となる。
【００６５】
＜スキュー調整回路の構成＞
図２は、図１に示したスキュー調整回路ＳＫＣの構成を示すブロック図である。図２において、ＣＤ−Ｐは、ＣＤＲ回路ＣＤを構成するＣＤＲ制御論理部を示している。図１に対応させると、ＣＤＲ制御論理部ＣＤ−Ｐは、図１に示したクロック制御回路ＣＬ−ＣＴとクロック位相調整回路ＣＰＡを備えており、フリップフロップ回路ＦＦ１〜ＦＦ４のそれぞれの出力端子Ｑから出力信号が供給され、クロック位相調整回路ＣＰＡから位相調整されたクロック信号ＣＬ１−Ａ〜ＣＬ４−Ａを出力する。この実施の形態１においては、フリップフロップ回路ＦＦ２およびＦＦ４からの出力が、リカバリされた出力信号（データ）Ｄ０として出力される。
【００６６】
位相間隔調整回路ＰＤＣは、ＣＤＲ制御論理部ＣＤ−Ｐからのクロック信号ＣＬ１−Ａ〜ＣＬ４−Ａのそれぞれに対応したバッファ回路ＲＣＦ１〜ＲＣＦ４を備えている。この実施の形態１においては、クロック信号ＣＬ２−Ａ〜ＣＬ４−Ａのそれぞれが供給されるバッファ回路ＲＣＦ２〜ＲＣＦ４は、スキュー調整信号ＳＫＣ−ＡＤ２〜ＳＫＣ−ＡＤ４によって、それぞれの遅延時間が定められる。すなわち、バッファ回路ＲＣＦ２の遅延時間は、スキュー調整信号ＳＫＣ−ＡＤ２によって定められ、バッファ回路ＲＣＦ３の遅延時間は、スキュー調整信号ＳＫＣ−ＡＤ３によって定められ、バッファ回路ＲＣＦ４の遅延時間は、スキュー調整信号ＳＫＣ−ＡＤ４によって定められる。
【００６７】
この実施の形態１においては、バッファ回路ＲＣＦ２〜ＲＣＦ４のそれぞれの遅延時間を変えることにより、クロック信号ＣＬ２−Ａ〜ＣＬ４−Ａの位相が調整されるが、これに限定されるものではない。すなわち、バッファ回路に限定されず、スキュー調整信号ＳＫＣ−ＡＤ２〜ＳＫＣ−ＡＤ４によって、クロック信号ＣＬ２−Ａ〜ＣＬ４−Ａの位相を調整することが可能な回路であればよい。また、クロック信号ＣＬ１−Ａに対応するバッファ回路ＲＣＦ１についても、バッファ回路ＲＣＦ２〜ＲＣＦ４と同様に、スキュー調整信号によって遅延時間を設定することが可能な可変遅延バッファ回路によって構成してもよい。
【００６８】
この実施の形態１においては、位相間隔調整回路ＰＤＣによって、位相間隔が調整されたクロック信号は、クロックツリーＣＬＴＲを介して、フリップフロップ回路ＦＦ１〜ＦＦ４のクロック入力端子ＣＫに供給されている。図２では、クロックツリーＣＫＴＲとして、バッファ回路ＢＦ１−１〜ＢＦ４−４によって構成された例が示されている。
【００６９】
すなわち、バッファ回路ＲＣＦ１から出力されたクロック信号（第２クロック信号）ＣＬ１−Ａは、直列的に接続されたバッファ回路ＢＦ１−１〜ＢＦ１−４を介して、フリップフロップ回路ＦＦ１のクロック入力端子ＣＫに、クロック信号（第１クロック信号）ＣＬ１−ＡＡとして供給されている。また、バッファ回路ＲＣＦ２から出力されたクロック信号（第２クロック信号）ＣＬ２−Ａは、直列的に接続されたバッファ回路ＢＦ２−１〜ＢＦ２−４を介して、フリップフロップ回路ＦＦ２のクロック入力端子ＣＫに、クロック信号（第１クロック信号）ＣＬ２−ＡＡとして供給され、バッファ回路ＲＣＦ３から出力されたクロック信号（第２クロック信号）ＣＬ３−Ａは、直列的に接続されたバッファ回路ＢＦ３−１〜ＢＦ３−４を介して、フリップフロップ回路ＦＦ３のクロック入力端子ＣＫに、クロック信号（第１クロック信号）ＣＬ３−ＡＡとして供給されている。さらに、バッファ回路ＲＣＦ４から出力されたクロック信号（第２クロック信号）ＣＬ４−Ａは、直列的に接続されたバッファ回路ＢＦ４−１〜ＢＦ４−４を介して、フリップフロップ回路ＦＦ４のクロック入力端子ＣＫに、クロック信号（第１クロック信号）ＣＬ４−ＡＡとして供給されている。
【００７０】
このクロックツリーＣＬＴＲを構成するバッファ回路ＢＦ１−１〜ＢＦ４−４のそれぞれを構成する素子は、製造バラツキによって特性がばらつく。その結果、図１１で説明したように、フリップフロップ回路ＦＦ１〜ＦＦ４のクロック入力端子ＣＫに供給されるクロック信号間でスキューが発生することになる。このクロックツリーＣＬＴＲを構成するバッファ回路ＢＦ１−１〜ＢＦ４−４は、配線であってもよい。配線であっても、製造バラツキにより、配線の特性がばらつくことになる。その結果、図１１で説明したように、フリップフロップ回路ＦＦ１〜ＦＦ４のクロック入力端子ＣＫに供給されるクロック信号間でスキューが発生することになる。
【００７１】
ここでは、クロックツリーＣＬＴＲにおいて、製造バラツキにより、フリップフロップ回路ＦＦ１〜ＦＦ４のクロック入力端子ＣＫに供給されるクロック信号間でスキューが発生する場合を説明したが、これは一例であって、これに限定されるものではない。
【００７２】
位相間隔検出回路ＰＤＤは、セレクタＳＥＬ１、ＳＥＬ２、基準ディレイ生成回路ＲＤＬＧおよび位相比較回路ＰＤＴを備えている。
【００７３】
セレクタＳＥＬ１およびＳＥＬ２のそれぞれは、４個の入力端子ｉｎ１〜ｉｎ４と、選択端子Ｓと、出力端子Ｏを備えている。セレクタＳＥＬ１およびＳＥＬ２の選択端子Ｓには、クロック選択信号ＣＬ−ＳＥＬが供給される。セレクタＳＥＬ１およびＳＥＬ２は、クロック選択信号ＣＬ−ＳＥＬに従って、入力端子ｉｎ１〜ｉｎ４のうちのいずれかを選択し、選択した入力端子を出力端子Ｏに接続する。この実施の形態１においては、クロック選択信号ＣＬ−ＳＥＬによって、セレクタＳＥＬ１とＳＥＬ２は、同じ入力端子を選択し、出力端子Ｏに接続する。すなわち、セレクタＳＥＬ１において、入力端子ｉｎ１が選択された場合、セレクタＳＥＬ２においても、入力端子ｉｎ１が選択され、それぞれ選択たされた入力端子が、出力端子Ｏに接続される。
【００７４】
同様に、セレクタＳＥＬ１において、入力端子ｉｎ２が選択された場合、セレクタＳＥＬ２においても、入力端子ｉｎ２が選択され、セレクタＳＥＬ１において、入力端子ｉｎ３が選択された場合、セレクタＳＥＬ２においても、入力端子ｉｎ３が選択され、セレクタＳＥＬ１において、入力端子ｉｎ４が選択された場合、セレクタＳＥＬ２においても、入力端子ｉｎ４が選択されることになる。
【００７５】
フリップフロップ回路ＦＦ１のクロック入力端子ＣＫに供給されるクロック信号ＣＬ１−ＡＡは、セレクタＳＥＬ１の入力端子ｉｎ４とセレクタＳＥＬ２の入力端子ｉｎ１に供給されている。また、フリップフロップ回路ＦＦ２のクロック入力端子ＣＫに供給されるクロック信号ＣＬ２−ＡＡは、セレクタＳＥＬ１の入力端子ｉｎ１とセレクタＳＥＬ２の入力端子ｉｎ２に供給され、フリップフロップ回路ＦＦ３のクロック入力端子ＣＫに供給されるクロック信号ＣＬ３−ＡＡは、セレクタＳＥＬ１の入力端子ｉｎ２とセレクタＳＥＬ２の入力端子ｉｎ３に供給されている。さらに、フリップフロップ回路ＦＦ４のクロック入力端子ＣＫに供給されるクロック信号ＣＬ４−ＡＡは、セレクタＳＥＬ１の入力端子ｉｎ３とセレクタＳＥＬ２の入力端子ｉｎ４に供給されている。
【００７６】
これにより、クロック選択信号ＣＬ−ＳＥＬによって、セレクタＳＥＬ１、ＳＥＬ２の入力端子ｉｎ１が選択された場合、セレクタＳＥＬ１の出力端子Ｏからは、クロック信号ＣＬ２−ＡＡが出力され、セレクタＳＥＬ２の出力端子Ｏからは、クロック信号ＣＬ１−ＡＡが出力されることになる。また、クロック選択信号ＣＬ−ＳＥＬによって、セレクタＳＥＬ１、ＳＥＬ２の入力端子ｉｎ２が選択された場合、セレクタＳＥＬ１の出力端子Ｏからは、クロック信号ＣＬ３−ＡＡが出力され、セレクタＳＥＬ２の出力端子Ｏからは、クロック信号ＣＬ２−ＡＡが出力されることになる。
【００７７】
同様に、クロック選択信号ＣＬ−ＳＥＬによって、セレクタＳＥＬ１、ＳＥＬ２の入力端子ｉｎ３が選択された場合、セレクタＳＥＬ１の出力端子Ｏからは、クロック信号ＣＬ４−ＡＡが出力され、セレクタＳＥＬ２の出力端子Ｏからは、クロック信号ＣＬ３−ＡＡが出力されることになる。さらに、クロック選択信号ＣＬ−ＳＥＬによって、セレクタＳＥＬ１、ＳＥＬ２の入力端子ｉｎ４が選択された場合、セレクタＳＥＬ１の出力端子Ｏからは、クロック信号ＣＬ１−ＡＡが出力され、セレクタＳＥＬ２の出力端子Ｏからは、クロック信号ＣＬ４−ＡＡが出力されることになる。
【００７８】
クロック信号ＣＬ２−ＡＡとクロック信号ＣＬ１−ＡＡは、互いに位相が近接したクロック信号である。そのため、クロック選択信号ＣＬ−ＳＥＬによって、入力端子ｉｎ１が選択された場合、互いに位相が近接したクロック信号が、セレクタＳＥＬ１およびＳＥＬ２から出力されることになる。同様に、クロック信号ＣＬ３−ＡＡとクロック信号ＣＬ２−ＡＡは、互いに位相が近接したクロック信号であり、クロック信号ＣＬ４−ＡＡとクロック信号ＣＬ３−ＡＡは、互いに位相が近接したクロック信号であり、クロック信号ＣＬ１−ＡＡとクロック信号ＣＬ４−ＡＡは、互いに位相が近接したクロック信号である。そのため、クロック選択信号ＣＬ−ＳＥＬによって、入力端子を選択すると、互いに位相が近接したクロック信号が、セレクタＳＥＬ１およびＳＥＬ２から出力されることになる。
【００７９】
セレクタＳＥＬ２の出力端子Ｏは、基準ディレイ生成回路ＲＤＬＧに接続されている。すなわち、セレクタＳＥＬ２によって選択されたクロック信号が、基準ディレイ生成回路ＲＤＬＧに供給される。基準ディレイ生成回路ＲＤＬＧは、遅延調整信号ＤＬ−ＡＤが供給され、この遅延調整信号ＤＬ−ＡＤによって、遅延時間が定められる。すなわち、基準ディレイ生成回路ＲＤＬＧは、遅延調整信号ＤＬ−ＡＤによって定められた遅延時間だけ、セレクタＳＥＬ２から供給されたクロック信号を遅延させて、出力する。
【００８０】
基準ディレイ生成回路ＲＤＬＧによって遅延させられたクロック信号と、セレクタＳＥＬ１によって選択されたクロック信号は、位相比較回路ＰＤＴに供給される。位相比較回路ＰＤＴは、基準ディレイ生成回路ＲＤＬＧからのクロック信号と、セレクタＳＥＬ１からのクロック信号との間で、位相の比較を行い、比較の結果をモニター信号ＭＯＮとして出力する。
【００８１】
この位相比較回路ＰＤＴは、例えばフリップフロップ回路によって構成されている。この場合、例えば基準ディレイ生成回路ＲＤＬＧからのクロック信号が、フリップフロップ回路のクロック入力端子に供給され、セレクタＳＥＬ１からのクロック信号が、フリップフロップ回路の入力端子に供給される。これにより、例えば基準ディレイ生成回路ＲＤＬＧからのクロック信号が立ち上がったときに、セレクタＳＥＬ１からのクロック信号が、ハイレベルかロウレベルかに応じたモニター信号ＭＯＮを形成することが可能となる。例えば、モニター信号ＭＯＮがハイレベルであれば、セレクタＳＥＬ１から出力されているクロック信号の位相が早いと判定し、モニター信号ＭＯＮがロウレベルであれば、セレクタＳＥＬ１から出力されているクロック信号の位相が遅れていると判定することができる。
【００８２】
セレクタＳＥＬ１とセレクタＳＥＬ２とによって、互いに位相が近接したクロック信号が選択されるため、互いに位相が隣接した２個のクロック信号のうちの一方のクロック信号が、基準ディレイ生成回路ＲＤＬＧによって遅延させられ、他方のクロック信号との間で、位相比較がされることになる。例えば、クロック選択信号ＣＬ−ＳＥＬによって、セレクタＳＥＬ１およびＳＥＬ２の入力端子ｉｎ１が選択された場合、クロック信号ＣＬ１−ＡＡが基準ディレイ生成回路ＲＤＬＧに供給され、遅延調整信号ＤＬ−ＡＤによって定められた遅延時間だけ遅延させられて、位相比較回路ＰＤＴに供給される。このとき、位相比較回路ＰＤＴには、セレクタＳＥＬ１からクロック信号ＣＬ２−ＡＡが供給されることになる。クロック選択信号ＣＬ−ＳＥＬによって、他の入力端子が選択された場合も、同様である。
【００８３】
キャリブレーション制御部ＰＤＤ−ＣＴは、上記したモニター信号ＭＯＮを受信し、クロック選択信号ＣＬ−ＳＥＬ、遅延調整信号ＤＬ−ＡＤおよびスキュー調整信号ＳＫＣ−ＡＤ２〜ＳＫＣ−ＡＤ４を出力する。
【００８４】
＜＜キャリブレーション制御部＞＞
図３は、実施の形態１に係わるキャリブレーション制御部ＰＤＤ−ＣＴの構成を示すブロック図である。キャリブレーション制御部ＰＤＤ−ＣＴは、演算回路ＯＰ、スキューレジスタＳＲＥＧ１〜ＳＲＥＧ４、調整レジスタＰＲＥＧ１〜ＰＲＧ３および状態制御ユニットＣＮＴを備えている。状態制御ユニットＣＮＴは、キャリブレーション制御部ＰＤＤ−ＣＴの全体を制御する。全体を制御する際に、演算回路ＯＰ、スキューレジスタＳＲＥＧ１〜ＳＲＥＧ４および調整レジスタＰＲＥＧ１〜ＰＲＥＧ３を用いる。
【００８５】
スキューレジスタＳＲＥＧ１〜ＳＲＥＧ４は、フリップフロップ回路ＦＦ１〜ＦＦ４に供給されるクロック信号ＣＬ１−ＡＡ〜ＣＬ４−ＡＡ間の位相間隔を検出するのに用いられる。特に制限されないが、スキューレジスタＳＲＥＧ１は、クロック信号ＣＬ１−ＡＡとクロック信号ＣＬ２−ＡＡとの間の位相間隔に対応し、この位相間隔を検出するのに用いられる。また、スキューレジスタＳＲＥＧ２は、クロック信号ＣＬ２−ＡＡとクロック信号ＣＬ３−ＡＡとの間の位相間隔に対応し、当該位相間隔を検出するのに用いられ、スキューレジスタＳＲＥＧ３は、クロック信号ＣＬ３−ＡＡとクロック信号ＣＬ４−ＡＡとの間の位相間隔に対応し、当該位相間隔を検出するのに用いられる。同様に、スキューレジスタＳＲＥＧ４は、クロック信号ＣＬ４−ＡＡとクロック信号ＣＬ１−ＡＡとの間の位相間隔に対応し、この位相間隔を検出するのに用いられる。
【００８６】
演算回路ＯＰは、キャリブレーション動作の際に、位相間隔の基準値を求める演算で用いられる。後で、図４を用いて説明するが、キャリブレーション動作のとき、スキューレジスタＳＲＥＧ１〜ＳＲＥＧ４には、対応する位相間隔の時間情報が格納され、演算回路ＯＰは、スキューレジスタＳＲＥＧ１〜ＳＲＥＧ４に格納されている位相間隔の時間情報を演算することにより、位相間隔の基準値を算出する。
【００８７】
調整レジスタＰＲＥＧ１〜ＰＲＥＧ３は、算出された基準値を基にして生成された位相間隔情報を格納する。この調整レジスタＰＲＥＧ１〜ＰＲＥＧ３に格納された位相間隔情報が、スキュー調整信号ＳＫＣ−ＡＤ２〜ＳＫＣ−ＡＤ４として出力される。特に制限されないが、スキュー調整信号ＳＫＣ−ＡＤ２は、調整レジスタＰＲＥＧ１に格納された位相間隔情報に基づいており、スキュー調整信号ＳＫＣ−ＡＤ３は、調整レジスタＰＲＥＧ２に格納された位相間隔情報に基づいており、スキュー調整信号ＳＫＣ−ＡＤ４は、調整レジスタＰＲＥＧ３に格納された位相間隔情報に基づいている。勿論、演算回路ＯＰ、スキューレジスタＳＲＥＧ１〜ＳＲＥＧ４および調整レジスタＰＲＥＧ１〜ＰＲＥＧ３は、別の処理に兼用するようにしてもよい。
【００８８】
＜＜スキューキャリブレーション動作＞＞
次に、スキューキャリブレーションの期間に実施される動作（スキューキャリブレーション動作）、すなわちキャリブレーションの期間に行われるキャリブレーション動作と、位相間隔調整の期間に行われる位相間隔調整動作を説明する。図４は、実施の形態１に係わるスキュー調整回路ＳＫＣの動作を示すフローチャート図である。図２〜図４を参照して、スキューキャリブレーションの動作を説明する。
【００８９】
スキューキャリブレーション動作は、図４において、ステップＳＫ０１でスタート（ＳＴＡＲＴ）し、ステップＳＣ０７で終了（ＥＮＤ）する。ここでは、スキューキャリブレーション動作において、時間的に先に実行されるキャリブレーション動作を説明し、次に、時間的に後で実行される位相間隔調整動作を説明する。
【００９０】
＜＜キャリブレーション動作＞＞
キャリブレーション動作は、ステップＳＫ０２〜ＳＫ１０によって実現される。ステップＳＫ０２において、状態制御ユニットＣＮＴは、クロック選択信号ＣＬ−ＳＥＬによって、セレクタＳＥＬ１、ＳＥＬ２の入力端子ｉｎ１を選択する（図４では、ＣＬ−ＳＥＬ（ｉｎ１）と記載）。これにより、セレクタＳＥＬ１は、クロック信号ＣＬ２−ＡＡを選択して、出力端子Ｏから出力する。また、セレクタＳＥＬ２は、クロック信号ＣＬ１−ＡＡを選択して、出力端子Ｏから出力する。
【００９１】
その結果、位相比較回路ＰＤＴには、クロック信号ＣＬ２−ＡＡと、基準ディレイ生成回路ＲＤＬＧによって遅延させられたクロック信号ＣＬ１−ＡＡが供給されることになり、供給されたクロック信号間の位相に応じた信号をモニター信号ＭＯＮとして出力する。例えば、基準ディレイ生成回路ＲＤＬＧから供給されているクロック信号の位相が、セレクタＳＥＬ１から供給されているクロック信号よりも早くなっていた場合、位相比較回路ＰＤＴは、ロウレベルのモニター信号ＭＯＮを出力する。反対に、基準ディレイ生成回路ＲＤＬＧから供給されているクロック信号の位相が、セレクタＳＥＬ１から供給されているクロック信号よりも遅くなっていた場合、位相比較回路ＰＤＴは、ハイレベルのモニター信号ＭＯＮを出力する。
【００９２】
この実施の形態１において、位相比較回路ＰＤＴは、供給されるクロック信号が、ロウレベルからハイレベルへ立ち上がるタイミングを、クロック信号の位相としている。すなわち、位相比較回路ＰＤＴは、基準ディレイ生成回路ＲＤＬＧから供給されるクロック信号の立ち上がりタイミングが、セレクタＳＥＬ１から供給されるクロック信号の立ち上がりタイミングに比べて、早いとき、ロウレベルのモニター信号ＭＯＮを出力する。反対に、位相比較回路ＰＤＴは、基準ディレイ生成回路ＲＤＬＧから供給されるクロック信号の立ち上がりタイミングが、セレクタＳＥＬ１から供給されるクロック信号の立ち上がりタイミングに比べて、遅いとき、ハイレベルのモニター信号ＭＯＮを出力する。
【００９３】
ステップＳＫ０３において、状態制御ユニットＣＮＴは、モニター信号ＭＯＮを検出し、スキューレジスタＳＲＥＧ１を制御する（ＭＯＮ検出・ＳＲＥＧ１制御）。すなわち、状態制御ユニットＣＮＴは、モニター信号ＭＯＮが、ハイレベルになっているかロウレベルになっているかを検出する。この検出の結果に従って、状態制御ユニットＣＮＴは、スキューレジスタＳＲＥＧ１を制御する。モニター信号ＭＯＮが、ロウレベルであれば、状態制御ユニットＣＮＴは、スキューレジスタＳＲＥＧ１の値を、例えばカウントアップさせる。このスキューレジスタＳＲＥＧ１の値は、キャリブレーション制御部ＰＰＤ−ＣＴから遅延調整信号ＤＬ−ＡＤとして出力される。そのため、スキューレジスタＳＲＥＧ１がカウントアップすることにより、遅延調整信号ＤＬ−ＡＤの値は、増加することになる。基準ディレイ生成回路ＲＤＬＧによって生成される遅延時間は、遅延調整信号ＤＬ−ＡＤの値が増加することにより、長くなる。
【００９４】
状態制御ユニットＣＮＴは、ステップＳＫ０３において、モニター信号ＭＯＮが、ハイレベルになるまで、上記した動作を繰り返す。すなわち、モニター信号ＭＯＮが、ハイレベルになるまで、スキューレジスタＳＲＥＧ１の値をカウントアップさせる。これにより、遅延調整信号ＤＬ−ＡＤの値は、徐々に増加し、基準ディレイ生成回路ＲＤＬＧによって生成される遅延時間も、徐々に長くなる。
【００９５】
基準ディレイ生成回路ＲＤＬＧによって生成される遅延時間が、徐々に長くなることにより、基準ディレイ生成回路ＲＤＬＧから位相比較回路ＰＤＴに供給されるクロック信号の位相、すなわちクロック信号の立ち上がりタイミングが遅くなる。
【００９６】
状態制御ユニットＣＮＴは、モニター信号ＭＯＮが、ハイレベルへ変化すると、スキューレジスタＳＲＥＧ１に対するカウントアップの動作を止める。これにより、スキューレジスタＳＲＥＧ１は、モニター信号ＭＯＮがロウレベルであったときに、カウントアップした値を格納し、保持する。セレクタＳＥＬ１によって選択されたクロック信号ＣＬ２−ＡＡの位相（立ち上がりタイミング）と、基準ディレイ生成回路ＲＤＬＧからのクロック信号の位相（立ち上がりタイミング）との間の位相関係が、反転するとき、モニター信号ＭＯＮが、ロウレベルからハイレベルへ変化する。そのため、セレクタＳＥＬ１によって選択されたクロック信号ＣＬ２−ＡＡの位相（立ち上がりタイミング）と、セレクタＳＥＬ２によって選択されたクロック信号ＣＬ１−ＡＡの位相（立ち上がりタイミング）との間の位相間隔である時間差に対応する遅延時間が、基準ディレイ生成回路ＲＤＬＧによって形成されることになる。基準ディレイ生成回路ＲＤＬＧによって生成される遅延時間は、スキューレジスタＳＲＥＧ１の値に基づいた遅延調整信号ＤＬ−ＡＤによって定められるため、スキューレジスタＳＲＥＧ１に格納されている値は、クロック信号ＣＬ１−ＡＡとクロック信号ＣＬ２−ＡＡとの間の位相間隔（立ち上がりタイミング間の時間差）を表すことになる。
【００９７】
次に、ステップＳＫ０４において、状態制御ユニットＣＮＴは、クロック選択信号ＣＬ−ＳＥＬによって、セレクタＳＥＬ１、ＳＥＬ２の入力端子（ｉｎ２）を選択する（ＣＬ−ＳＥＬ（ｉｎ２））。これにより、位相比較回路ＰＤＴには、基準ディレイ生成回路ＲＤＬＧによって遅延させられたクロック信号ＣＬ２−ＡＡと、セレクタＳＥＬ１によって選択されたクロック信号ＣＬ３−ＡＡが供給されることになる。次に、ステップＳＫ０５において、状態制御ユニットＣＮＴは、ステップＳＫ０３と同様に、モニター信号ＭＯＮの検出と、スキューレジスタＳＲＥＧ２の制御を行う（ＭＯＮ検出・ＳＲＥＧ２制御）。ステップＳＫ０５では、スキューレジスタＳＲＥＧ１の代わりに、スキューレジスタＳＲＥＧ２の制御が行われる。
【００９８】
すなわち、状態制御ユニットＣＮＴは、モニター信号ＭＯＮがハイレベルかロウレベルかの検出を行い、モニター信号ＭＯＮが、ロウレベレルであれば、スキューレジスタＳＲＥＧ２をカウントアップする。モニター信号ＭＯＮが、ハイレベルになるまで、状態制御ユニットＣＮＴは、スキューレジスタＳＲＥＧ２のカウントアップを行い、モニター信号ＭＯＮが、ハイレベルになると、スキューレジスタＳＲＥＧ２のカウントアップを止める。これにより、スキューレジスタＳＲＥＧ２には、クロック信号ＣＬ２−ＡＡとクロック信号ＣＬ３−ＡＡとの間の位相間隔に相当する時間差を示す値が格納され、保持されることになる。
【００９９】
ステップＳＫ０６において、状態制御ユニットＣＮＴは、クロック選択信号ＣＬ−ＳＥＬによって、セレクタＳＥＬ１、ＳＥＬ２の入力端子（ｉｎ３）を選択する（ＣＬ−ＳＥＬ（ｉｎ３））。これにより、位相比較回路ＰＤＴには、基準ディレイ生成回路ＲＤＬＧによって遅延させられたクロック信号ＣＬ３−ＡＡと、セレクタＳＥＬ１によって選択されたクロック信号ＣＬ４−ＡＡが供給されることになる。次に、ステップＳＫ０７において、状態制御ユニットＣＮＴは、ステップＳＫ０３と同様に、モニター信号ＭＯＮの検出と、スキューレジスタＳＲＥＧ３の制御を行う（ＭＯＮ検出・ＳＲＥＧ３制御）。ステップＳＫ０７では、スキューレジスタＳＲＥＧ１の代わりに、スキューレジスタＳＲＥＧ３の制御が行われる。
【０１００】
すなわち、状態制御ユニットＣＮＴは、モニター信号ＭＯＮがハイレベルかロウレベルかの検出を行い、モニター信号ＭＯＮが、ロウレベレルであれば、スキューレジスタＳＲＥＧ３をカウントアップする。モニター信号ＭＯＮが、ハイレベルになるまで、状態制御ユニットＣＮＴは、スキューレジスタＳＲＥＧ３のカウントアップを行い、モニター信号ＭＯＮが、ハイレベルになると、スキューレジスタＳＲＥＧ３のカウントアップを止める。これにより、スキューレジスタＳＲＥＧ３には、クロック信号ＣＬ３−ＡＡとクロック信号ＣＬ４−ＡＡとの間の位相間隔に相当する時間差を示す値が格納され、保持されることになる。
【０１０１】
さらに、ステップＳＫ０８において、状態制御ユニットＣＮＴは、クロック選択信号ＣＬ−ＳＥＬによって、セレクタＳＥＬ１、ＳＥＬ２の入力端子（ｉｎ４）を選択する（ＣＬ−ＳＥＬ（ｉｎ４））。これにより、位相比較回路ＰＤＴには、基準ディレイ生成回路ＲＤＬＧによって遅延させられたクロック信号ＣＬ４−ＡＡと、セレクタＳＥＬ１によって選択されたクロック信号ＣＬ１−ＡＡが供給されることになる。次に、ステップＳＫ０９において、状態制御ユニットＣＮＴは、ステップＳＫ０３と同様に、モニター信号ＭＯＮの検出と、スキューレジスタＳＲＥＧ４の制御を行う（ＭＯＮ検出・ＳＲＥＧ４制御）。ステップＳＫ０９では、スキューレジスタＳＲＥＧ１の代わりに、スキューレジスタＳＲＥＧ４の制御が行われる。
【０１０２】
すなわち、状態制御ユニットＣＮＴは、モニター信号ＭＯＮがハイレベルかロウレベルかの検出を行い、モニター信号ＭＯＮが、ロウレベレルであれば、スキューレジスタＳＲＥＧ４をカウントアップする。モニター信号ＭＯＮが、ハイレベルになるまで、状態制御ユニットＣＮＴは、スキューレジスタＳＲＥＧ４のカウントアップを行い、モニター信号ＭＯＮが、ハイレベルになると、スキューレジスタＳＲＥＧ４のカウントアップを止める。これにより、スキューレジスタＳＲＥＧ４には、クロック信号ＣＬ４−ＡＡとクロック信号ＣＬ１−ＡＡとの間の位相間隔に相当する時間差を示す値が格納され、保持されることになる。
【０１０３】
ステップＳＫ１０において、状態制御ユニットＣＮＴは、演算回路ＯＰを用いて、スキューレジスタＳＲＥＧ１〜ＳＲＥＧ４に格納されている位相間隔に相当とする時間差の総和（総計）を演算して、求める。求めた総計を、フリップフロップ回路ＦＦ１〜ＦＦ４に供給されている多相のクロック信号の相数（数）で除して、位相間隔の基準値を求める。この実施の形態１では、フリップフロップ回路ＦＦ１〜ＦＦ４へ供給されている多相のクロック信号は４相であるため、総計を４で除算し、除算によって得られた位相間隔を基準値とする（ＳＲＥＧ１〜ＳＲＥＧ４演算）。
【０１０４】
状態制御ユニットＣＮＴは、求めた位相間隔の基準値を、例えばスキューレジスタＳＲＥＧ１に格納する。
【０１０５】
ステップＳＫ０３において、スキューレジスタＳＲＥＧ１に格納された値は、クロック信号ＣＬ１−ＡＡとＣＬ２−ＡＡとの間の位相間隔に相当する時間差の値であり、ステップＳＫ０５において、スキューレジスタＳＲＥＧ２に格納された値は、クロック信号ＣＬ２−ＡＡとＣＬ３−ＡＡとの間の位相間隔に相当する時間差の値である。また、ステップＳＫ０７において、スキューレジスタＳＲＥＧ３に格納された値は、クロック信号ＣＬ３−ＡＡとＣＬ４−ＡＡとの間の位相間隔に相当する時間差の値であり、ステップＳＫ０９において、スキューレジスタＳＲＥＧ４に格納された値は、クロック信号ＣＬ４−ＡＡとＣＬ１−ＡＡとの間の位相間隔に相当する時間差の値である。
【０１０６】
ステップＳＫ１０では、これらの時間差の総計が求められ、総計が、相数によって除算されて、基準値が求められている。時間差の総計は、例えばクロック信号ＣＬ１−ＡＡの１周期に相当する。この実施の形態１では、クロック信号ＣＬ１−ＡＡが、参照クロック信号ＣＬｒに対応しているため、時間差の総計は、参照クロック信号ＣＬｒの１周期に相当することになる。この実施の形態１では、参照クロック信号ＣＬｒの１周期の間に、互いに位相の異なる４相のクロック信号ＣＬ１−ＡＡ〜ＣＬ４−ＡＡが形成される。除算により求めた基準値は、互いに等間隔に形成される４相のクロック信号間の位相間隔の平均値に相当することになる。
【０１０７】
４相のクロック信号ＣＬ１−ＡＡ〜ＣＬ４−ＡＡにおいて、それぞれの位相は製造バラツキによって変化するが、これらのクロック信号は１個の参照クロック信号ＣＬｒに基づいて形成されているため、周期は製造バラツキに影響され難い。そのため、位相が互いに近接するクロック信号間の位相間隔が、上記した基準値と整合するように調整することにより、製造バラツキに影響され難い等間隔の位相間隔を有する４相のクロック信号を形成することが可能となる。
【０１０８】
上記した説明では、基準ディレイ生成回路ＲＤＬＧから位相比較回路ＰＤＴへ供給されるクロック信号が、セレクタＳＥＬ１から位相比較回路ＰＤＴへ供給されるクロック信号に対して、位相が早い（進んでいる）場合を例として述べた。そのため、モニター信号ＭＯＮが、ロウレベルからハイレベルに変化するまで、スキューレジスタＳＲＥＧ１〜ＳＲＥＧ４をカウントアップしていた。セレクタＳＥＬ１から位相比較回路ＰＤＴへ供給されるクロック信号に対して、基準ディレイ生成回路ＲＤＬＧから位相比較回路ＰＤＴへ供給されるクロック信号の位相が遅れている場合も、上記した説明と同様である。この場合には、モニター信号ＭＯＮが、ハイレベルからロウレベルに変化するまで、スキューレジスタＳＲＥＧ１〜ＳＲＥＧ４の値がカウントダウンされることになる。カウントダウンすることにより、基準ディレイ生成回路ＲＤＬＧによって形成される遅延時間が短くなる。
【０１０９】
この場合にも、スキューレジスタＳＲＥＧ１〜ＳＲＥＧ４のそれぞれには、隣接するクロック信号間の位相間隔に対応した値が格納され、ステップＳＫ１０において、基準値が求められることになる。
【０１１０】
勿論、隣接するクロック信号間の位相関係に従って、スキューレジスタＳＲＥＧ１〜ＳＲＥＧ４は、カウントアップとカウントダウンが混在する。例えば、隣接するクロック信号間の位相関係によっては、スキューレジスタＳＲＥＧ１およびＳＲＥＧ４では、カウントアップが行われ、スキューレジスタＳＲＥＧ２およびＳＲＥＧ３では、カウントダウンが行われることもある。この場合でも、ステップＳＫ１０において、スキューレジスタＳＲＥＧ１〜ＳＲＥＧ４のそれぞれに格納されている位相間隔に対応した値の総計が求められ、除算によって基準値が求められる。
【０１１１】
＜＜位相間隔調整動作＞＞
次に、求めた基準値を用いて位相間隔を調整する動作を説明する。ステップＳＫ１０において求めた基準値は、スキューレジスタＳＲＥＧ１に格納されている。位相間隔調整動作においては、スキューレジスタＳＲＥＧ１に格納された基準値が、遅延調整信号ＤＬ−ＡＤとして、基準ディレイ生成回路ＲＤＬＧに供給されている。これにより、基準ディレイ生成回路ＲＤＬＧは、基準値に対応した位相間隔の遅延時間を生成する。
【０１１２】
ステップＳＣ０１において、状態制御ユニットＣＮＴは、クロック選択信号ＣＬ−ＳＥＬによって、セレクタＳＥＬ１、ＳＥＬ２の入力端子ｉｎ１を選択する（ＣＬ−ＳＥＬ（ｉｎ１））。これにより、位相比較回路ＰＤＴには、セレクタＳＥＬ１を介してクロック信号ＣＬ２−ＡＡが供給されることになる。また、位相比較回路ＰＤＴには、基準ディレイ生成回路ＲＤＬＧによって、基準値に対応した位相間隔の遅延時間だけ遅延させられたクロック信号ＣＬ１−ＡＡが供給されることになる。
【０１１３】
ステップＳＣ０２において、状態制御ユニットＣＮＴは、モニター信号ＭＯＮを検出しながら、スキュー調整信号ＳＫＣ−ＡＤ２を制御する。例えば、位相比較回路ＰＤＴは、セレクタＳＥＬ１から供給されているクロック信号ＣＬ２−ＡＡの位相が、基準ディレイ生成回路ＲＤＬＧから供給されているクロック信号に対して、早くなっていれば、ハイレベルのモニター信号ＭＯＮを出力する。この場合には、状態制御ユニットＣＮＴは、スキュー調整信号ＳＫＣ−ＡＤ２によって、バッファ回路ＲＣＦ２の遅延時間が長くなるように制御する。この場合、モニター信号ＭＯＮが、ロウレベルへ変化するまで、スキュー調整信号ＳＫＣ−ＡＤ２によって、バッファ回路ＲＣＦ２の遅延時間を長くし、モニター信号ＭＯＮがロウレベルになるタイミングのスキュー調整信号ＳＫＣ−ＡＤ２の値を位相間隔情報として、調整レジスタＰＲＥＧ１に格納する。
【０１１４】
一方、位相比較回路ＰＤＴは、セレクタＳＥＬ１から供給されているクロック信号ＣＬ２−ＡＡの位相が、基準ディレイ生成回路ＲＤＬＧから供給されているクロック信号に対して、遅くなっていれば、ロウレベルのモニター信号ＭＯＮを出力する。この場合には、状態制御ユニットＣＮＴは、スキュー調整信号ＳＫＣ−ＡＤ２によって、バッファ回路ＲＣＦ２の遅延時間が短くなるように制御する。この場合、モニター信号ＭＯＮが、ハイレベルへ変化するまで、スキュー調整信号ＳＫＣ−ＡＤ２によって、バッファ回路ＲＣＦ２の遅延時間を短くし、モニター信号ＭＯＮがハイレベルになるタイミングのスキュー調整信号ＳＫＣ−ＡＤ２の値を位相間隔情報として、調整レジスタＰＲＥＧ１に格納する。
【０１１５】
これにより、フリップフロップ回路ＦＦ１とＦＦ２に供給されるクロック信号ＣＬ１−ＡＡとＣＬ２−ＡＡとの間の位相間隔が、基準値に整合されるように、クロック信号ＣＬ２−ＡＡの位相が調整されることになる。また、整合するための位相間隔情報が、スキューキャリブレーションの期間において、調整レジスタＰＲＥＧ１に格納されることになる。
【０１１６】
次に、ステップＳＣ０３において、状態制御ユニットＣＮＴは、クロック選択信号ＣＬ−ＳＥＬにより、セレクタＳＥＬ１、ＳＥＬ２の入力端子ｉｎ２を選択する（ＣＬ−ＳＥＬ（ｉｎ２））。これにより、位相比較回路ＰＤＴには、セレクタＳＥＬ１からクロック信号ＣＬ３−ＡＡが供給される。また、位相比較回路ＰＤＴには、基準ディレイ生成回路ＲＤＬＧによって基準値に対応した遅延時間だけ遅らされたクロック信号ＣＬ２−ＡＡが供給される。
【０１１７】
ステップＳＣ０４においては、ステップＳＣ０２と同様に、モニター信号ＭＯＮを検出しながら、スキュー調整信号ＳＫＣ−ＡＤ３を制御する。すなわち、ステップＳＣ０２と同様に、モニター信号ＭＯＮが、ハイレベルからロウレベルへ変化するまで、またはロウレベルからハイレベルへ変化するまで、スキュー調整信号ＳＫＣ−ＡＤ３によって、バッファ回路ＲＣＦ３の遅延時間が長く、または短くなるように制御する。また、状態制御ユニットＣＮＴは、モニター信号ＭＯＮの変化するタイミングで、そのときのスキュー調整信号ＳＫＣ−ＡＤ３の値を、位相間隔情報として、調整レジスタＰＲＥＧ１に格納する。
【０１１８】
これにより、フリップフロップ回路ＦＦ２とＦＦ３に供給されるクロック信号ＣＬ２−ＡＡとＣＬ３−ＡＡとの間の位相間隔が、基準値に整合されるように、クロック信号ＣＬ３−ＡＡの位相が調整されることになる。また、整合するための位相間隔情報が、スキューキャリブレーションの期間において、調整レジスタＰＲＥＧ２に格納されることになる。
【０１１９】
さらに、ステップＳＣ０５において、状態制御ユニットＣＮＴは、クロック選択信号ＣＬ−ＳＥＬにより、セレクタＳＥＬ１、ＳＥＬ２の入力端子ｉｎ３を選択する（ＣＬ−ＳＥＬ（ｉｎ３））。これにより、位相比較回路ＰＤＴには、セレクタＳＥＬ１からクロック信号ＣＬ４−ＡＡが供給される。また、位相比較回路ＰＤＴには、基準ディレイ生成回路ＲＤＬＧによって基準値に対応した遅延時間だけ遅らされたクロック信号ＣＬ３−ＡＡが供給される。
【０１２０】
ステップＳＣ０６においては、ステップＳＣ０２と同様に、モニター信号ＭＯＮを検出しながら、スキュー調整信号ＳＫＣ−ＡＤ４を制御する。すなわち、ステップＳＣ０２と同様に、モニター信号ＭＯＮが、ハイレベルからロウレベルへ変化するまで、またはロウレベルからハイレベルへ変化するまで、スキュー調整信号ＳＫＣ−ＡＤ４によって、バッファ回路ＲＣＦ４の遅延時間が長く、または短くなるように制御する。また、状態制御ユニットＣＮＴは、モニター信号ＭＯＮの変化するタイミングで、そのときのスキュー調整信号ＳＫＣ−ＡＤ４の値を、位相間隔情報として、調整レジスタＰＲＥＧ３に格納する。
【０１２１】
これにより、フリップフロップ回路ＦＦ３とＦＦ４に供給されるクロック信号ＣＬ３−ＡＡとＣＬ４−ＡＡとの間の位相間隔が、基準値に整合されるように、クロック信号ＣＬ４−ＡＡの位相が調整されることになる。また、整合するための位相間隔情報が、スキューキャリブレーションの期間において、調整レジスタＰＲＥＧ３に格納されることになる。
【０１２２】
図４に示したスキューキャリブレーション動作を実行することにより、製造バラツキによって、フリップフロップ回路ＦＦ１〜ＦＦ４に供給されるクロック信号間の位相間隔がばらつくことを低減することが可能となり、誤動作の発生を低減することが可能となる。すなわち、クロックデータリカバリの期間において、入力信号Ｉｎを、フリップフロップ回路ＦＦ１〜ＦＦ４のそれぞれが取り込むタイミングが、ばらつくのを抑制することが可能となり、誤動作の発生を低減することが可能となる。
【０１２３】
なお、この実施の形態１においては、位相間隔調整動作のとき、クロック信号の位相を調整する前に、基準となるクロック信号の位相の調整が完了するようにされている。例えば、クロック信号ＣＬ３−ＡＡの位相は、ステップＳＣ０４で調整されるが、ステップＳＣ０４よりも前のステップＳＣ０２において、クロック信号ＣＬ３−ＡＡに対して基準となるクロック信号ＣＬ２−ＡＡの位相の調整は完了している。これにより、ステップＳＣ０４においては、１個のクロック信号ＣＬ２−ＡＡについてのみ、位相の調整が行われている。そのため、ステップＳＣ０７において、スキューキャリブレーション動作が終了したときには、全てのクロック信号間の位相間隔が、基準値に整合した値となっている。
【０１２４】
＜位相間隔調整回路の構成＞
図５は、実施の形態１に係わる位相間隔調整回路ＰＤＣの構成を示す回路図である。図５には、位相間隔調整回路ＰＤＣに含まれるバッファ回路ＲＣＦ１〜ＲＣＦ４（図２）のうち、遅延時間を変更することが可能なバッファ回路（可変遅延バッファ回路）ＲＣＦ２（図２）の構成が示されている。
【０１２５】
バッファ回路ＲＣＦ２は、２段階の遅延回路によって構成されている。すなわち、バッファ回路ＲＣＦ２は、遅延時間を粗く変更する第１遅延回路と、遅延時間を細かく変更する第２遅延回路とにより構成されている。第１遅延回路によって、粗く遅延時間を設定し、第２遅延回路によって細かく遅延時間を設定する。スキュー調整信号ＳＫＣ−ＡＤ２は、複数のビットによって構成されている。ここでは、スキュー調整信号ＳＫＣ−ＡＤ２は、ビットＣ０〜Ｃ２およびＦｎによって構成されており、図３に示した調整レジスタＰＲＥＧ１から、これらのビットが、バッファ回路ＲＣＦ２に供給される。
【０１２６】
第１遅延回路は、２入力のナンド（ＮＡＮＤ）回路ＮＤ１〜ＤＮ９と、インバータ回路ＩＶ１〜ＩＶ３を備えている。また、第２遅延回路は、インバータ回路ＩＶ４〜ＩＮ７と、可変容量素子ＣＶ１、ＣＶ２を備えている。
【０１２７】
第１遅延回路は、ビットＣ０〜Ｃ２によって制御される３段の単位遅延回路によって構成されている。すなわち、ナンド回路ＮＤ１〜ＮＤ３とインバータ回路ＩＶ１によって、１段目の単位遅延回路が構成され、ビットＣ０によって制御される。また、ナンド回路ＮＤ４〜ＮＤ６とインバータ回路ＩＶ２によって、２段目の単位遅延回路が構成され、ビットＣ１によって制御される。さらに、ナンド回路ＮＤ７〜ＮＤ９とインバータ回路ＩＶ３によって、３段目の単位遅延回路が構成され、ビットＣ２によって制御される。
【０１２８】
ビットＣ０によって制御される１段目の単位遅延回路において、ナンド回路ＮＤ１、ＮＤ２のそれぞれの一方の入力には、入力信号Ｉｎが供給され、ナンド回路ＮＤ１の他方の入力には、ビットＣ０が供給され、ナンド回路ＮＤ２の他方の入力には、インバータ回路ＩＶ１によって反転されたビットＣ０が供給される。ナンド回路ＮＤ１の出力は、ナンド回路ＮＤ３の一方の入力に供給され、ナンド回路ＮＤ２の出力は、２段目の単位遅延回路に供給され、ナンド回路ＮＤ３の他方の入力には、２段目の単位遅延回路からの出力が供給される。また、ナンド回路ＮＤ３の出力が、第１遅延回路の出力となる。
【０１２９】
ビットＣ１によって制御される２段目の単位遅延回路において、ナンド回路ＮＤ４、ＮＤ５のそれぞれの一方の入力には、ナンド回路ＮＤ２の出力が供給され、ナンド回路ＮＤ４の他方の入力には、ビットＣ１が供給され、ナンド回路ＮＤ５の他方の入力には、インバータ回路ＩＶ２によって反転されたビットＣ１が供給される。ナンド回路ＮＤ４の出力は、ナンド回路ＮＤ６の一方の入力に供給され、ナンド回路ＮＤ５の出力は、３段目の単位遅延回路に供給され、ナンド回路ＮＤ６の他方の入力には、３段目の単位遅延回路からの出力が供給される。また、ナンド回路ＮＤ６の出力は、１段目の単位遅延回路内のナンド回路ＮＤ３の他方の入力に供給される。
【０１３０】
ビットＣ２によって制御される３段目の単位遅延回路において、ナンド回路ＮＤ７、ＮＤ８のそれぞれの一方の入力には、ナンド回路ＮＤ５の出力が供給され、ナンド回路ＮＤ７の他方の入力には、ビットＣ２が供給され、ナンド回路ＮＤ８の他方の入力には、インバータ回路ＩＶ３によって反転されたビットＣ２が供給される。ナンド回路ＮＤ７の出力は、ナンド回路ＮＤ９の一方の入力に供給され、ナンド回路ＮＤ８の出力は、ナンド回路ＮＤ９の他方の入力に供給されている。このナンド回路ＮＤ９の出力は、２段目の単位遅延回路内のナンド回路ＮＤ６の他方の入力に供給されている。
【０１３１】
例えば、ビットＣ０、Ｃ１、Ｃ２を論理値“１”、“０”、“０”とした場合、入力信号Ｉｎは、１段目の単位遅延回路内のナンド回路ＮＤ１およびＮＤ３を介して出力される。また、ビットＣ０、Ｃ１、Ｃ２を論理値“０”、“１”、“０”とした場合には、入力信号Ｉｎは、ナンド回路ＮＤ２、ＮＤ４、ＮＤ６およびＮＤ３を介して出力される。さらに、ビットＣ０、Ｃ１、Ｃ２を論理値“０”、“０”、“１”とした場合には、入力信号Ｉｎは、ナンド回路ＮＤ２、ＮＤ５、ＮＤ７、ＮＤ９、ＮＤ６およびＮＤ３を介して出力される。このように、ビットＣ０、Ｃ１およびＣ２によって、入力信号Ｉｎが経由するナンド回路の数を変えることが可能であり、第１遅延回路の遅延時間を変更することが可能である。
【０１３２】
第２遅延回路において、インバータ回路ＩＶ４〜ＩＶ７は、直列的に接続されている。また、インバータ回路ＩＶ４の出力と接地電圧Ｖｓの間に可変容量素子ＣＶ１が接続され、インバータ回路ＩＶ５の出力と接地電圧Ｖｓとの間に可変容量素子ＣＶ２が接続されている。可変容量素子ＣＶ１とＣＶ２は、ビットＦｎによって、その容量値が定められる。これにより、ビットＦｎの値によって第２遅延回路の遅延時間を細かく変更することが可能である。
【０１３３】
このように、ビットＣ０〜Ｃ２およびＦｎによって、入力信号Ｉｎに対して与えられる遅延時間を変更することが可能である。
【０１３４】
バッファ回路ＲＣＦ３およびＲＣＦ４のそれぞれも、構成はバッファ回路ＲＣＦ２と同様である。バッファ回路ＲＣＦ３、ＲＣＦ４に供給されるスキュー調整信号ＳＫＣ−ＡＤ３、ＳＫＣ−ＡＤ４のそれぞれも、ビットＣ０〜Ｃ２およびＦｎによって構成されており、図３に示した調整レジスタＰＲＥＧ２、ＰＲＥＧ３から、これらのビットが、バッファ回路ＲＣＦ３、ＲＣＦ４に供給される。バッファ回路ＲＣＦ３、ＲＣＦ４の動作は、バッファ回路ＲＣＦ２と同じであるため、説明は省略する。また、バッファ回路ＲＣＦ１は、例えば、図５に示したインバータ回路ＩＶ４〜ＩＶ７と同様な複数のインバータ回路を備えており、これらのインバータ回路が直列的に接続されて、構成されている。なお、図２に示したバッファ回路ＲＣＦ１は、その遅延時間が固定となっているため、図５に示したような可変容量素子ＣＶ１、ＣＶ２を備えていない。
【０１３５】
＜変形例＞
図６は、実施の形態１の変形例に係わる位相間隔検出回路ＰＤＤの構成を示す回路図である。図２では、位相間隔検出回路ＰＤＤとして、位相比較回路ＰＤＴに、フリップフロップ回路を用いた構成を説明した。すなわち、図２では、デジタル回路によって構成された位相間隔検出回路を説明した。位相間隔検出回路ＰＤＤは、アナログ回路によっても構成することが可能であり、図６には、アナログ回路によって構成された位相間隔検出回路ＰＤＤの一例が示されている。
【０１３６】
図６において、ＳＥＬ１Ｍ、ＳＥＬ２Ｍは、図２に示したセレクタＳＥＬ１、ＳＥＬ２に対応するセレクタを示している。図６に示したセレクタＳＥＬ１Ｍ、ＳＥＬ２Ｍのそれぞれは、図２に示したセレクタＳＥＬ１、ＳＥＬ２と同様に、クロック選択信号ＣＬ−ＳＥＬに従って、クロック信号ＣＬ１−ＡＡ〜ＣＬ４−ＡＡを選択する。セレクタＳＥＬ１Ｍは、選択したクロック信号を、クロック信号ＣＫＳとして出力し、セレクタＳＥＬ２Ｍは、選択したクロック信号を、クロック信号ＣＫＢとして出力する。
【０１３７】
図６において、ＰＬＳＲは、パルス発生回路を示している。パルス発生回路ＰＬＳＲは、クロック信号ＣＫＳ、ＣＫＢを受信し、クロック信号ＣＫＳとクロック信号ＣＫＢとの間の位相差に応じたパルス幅のパルス信号ＰＬＳを発生する。すなわち、パルス信号ＰＬＳのパルス幅は、クロック信号ＣＫＳとクロック信号ＣＫＢとの間の位相間隔に応じた幅となる。パルス発生回路ＰＬＳＲによって発生したパルス信号ＰＬＳは、ローパスフィルタ回路ＬＰＦに供給される。ローパスフィルタ回路ＬＰＦは、供給されたパルス信号ＰＬＳを、電圧に変換し、アナログ電圧ＶＬＰＦとして出力する。
【０１３８】
また、図６において、ＶＲＥＦ−Ｇは、遅延調整信号ＤＬ−ＡＤの値に応じた基準電圧ＶＲＥＦを発生する基準電圧発生回路を示している。基準電圧発生回路ＶＲＥＦ−Ｇによって発生された基準電圧ＶＲＥＦは、アナログ比較回路ＣＭＰの負入力端子（−）に供給され、ローパスフィルタ回路ＬＰＦによって形成されたアナログ電圧ＶＬＰＦは、アナログ比較回路ＣＭＰの正入力端子（＋）に供給されている。アナログ比較回路ＣＭＰは、負入力端子（−）に供給されている電圧と、正入力端子（＋）に供給されている電圧とを比較し、比較の結果に応じた信号を、モニター信号ＭＯＮとして出力する。すなわち、アナログ比較回路ＣＭＰは、互いに隣接したクロック信号間の位相間隔に応じたアナログ電圧ＶＬＰＦと、基準電圧ＶＲＥＦとを比較して、比較結果をモニター信号ＭＯＮとして出力することになる。これにより、図１で説明した位相間隔検出回路ＰＤＤを、アナログ回路によって構成することが可能となる。
【０１３９】
（実施の形態２）
図７は、実施の形態２に係わるスキュー調整回路ＳＫＣの動作を示すフローチャート図である。実施の形態１では、図４で説明したように、キャリブレーションの期間において、位相間隔の基準値を求め、求めた基準値を用いて、互いに近接するクロック信号間の位相間隔を調整する動作を行っていた。すなわち、図４に示した例では、先ず、互いに近接するクロック信号ＣＬ１−ＡＡとＣＬ２−ＡＡとの間の位相間隔が、基準値に整合するように調整する動作を行い、クロック信号ＣＬ１−ＡＡとＣＬ２−ＡＡとの間の位相間隔が、基準値に整合するように調整された後、クロック信号ＣＬ１−ＡＡに対して位相調整されたクロック信号ＣＬ２−ＡＡとクロック信号ＣＬ３−ＡＡとの間の位相間隔が、基準値に整合するように調整される。また、このクロック信号ＣＬ２−ＡＡとクロック信号ＣＬ３−ＡＡとの間の位相間隔が、基準値と整合するように調整された後、クロック信号ＣＬ２に対して位相調整されたクロック信号ＣＬ３−ＡＡとクロック信号ＣＬ４−ＡＡとの間の位相間隔が、基準値に整合するように調整されている。
【０１４０】
これに対して、実施の形態２においては、互いに近接するクロック信号間の位相間隔のそれぞれが、基準値に、次第に近づくように、スキューキャリブレーションの動作が行われる。
【０１４１】
図７において、ステップＳＫ１１は、スキューキャリブレーションの開始（ＳＴＡＲＴ）を示している。図７において、ステップＳＫ１２〜ＳＫ２０は、図４に示したステップＳＫ０２〜ＳＫ１０に対応している。
【０１４２】
すなわち、ステップＳＫ１２において、セレクタＳＥＬ１、ＳＥＬ２の入力端子（ｉｎ１）が選択される（ＣＬ−ＳＥＬ（ｉｎ１））。ステップＳＫ１３において、モニター信号ＭＯＮの論理値が変化するまで、遅延調整信号ＤＬ−ＡＤに変化させ、モニター信号ＭＯＮの論理値が変化したときの遅延調整信号ＤＬ−ＡＤを、スキューレジスタＳＲＥＧ１に格納する（ＭＯＮ検出・ＳＲＥＧ１制御）。また、ステップＳＫ１４において、セレクタＳＥＬ１、ＳＥＬ２の入力端子（ｉｎ２）が選択される（ＣＬ−ＳＥＬ（ｉｎ２））。ステップＳＫ１５において、モニター信号ＭＯＮの論理値が変化するまで、遅延調整信号ＤＬ−ＡＤに変化させ、モニター信号ＭＯＮの論理値が変化したときの遅延調整信号ＤＬ−ＡＤを、スキューレジスタＳＲＥＧ２に格納する（ＭＯＮ検出・ＳＲＥＧ２制御）。
【０１４３】
さらに、ステップＳＫ１６において、セレクタＳＥＬ１、ＳＥＬ２の入力端子（ｉｎ３）が選択される（ＣＬ−ＳＥＬ（ｉｎ３））。ステップＳＫ１７において、モニター信号ＭＯＮの論理値が変化するまで、遅延調整信号ＤＬ−ＡＤに変化させ、モニター信号ＭＯＮの論理値が変化したときの遅延調整信号ＤＬ−ＡＤを、スキューレジスタＳＲＥＧ３に格納する（ＭＯＮ検出・ＳＲＥＧ３制御）。ステップＳＫ１８において、セレクタＳＥＬ１、ＳＥＬ２の入力端子（ｉｎ４）が選択される（ＣＬ−ＳＥＬ（ｉｎ４））。ステップＳＫ１９において、モニター信号ＭＯＮの論理値が変化するまで、遅延調整信号ＤＬ−ＡＤに変化させ、モニター信号ＭＯＮの論理値が変化したときの遅延調整信号ＤＬ−ＡＤを、スキューレジスタＳＲＥＧ４に格納する（ＭＯＮ検出・ＳＲＥＧ４制御）。次に、ステップＳＫ２０において、スキューレジスタＳＲＥＧ１〜ＳＲＥＧ４に格納されている値、すなわち位相間隔の値の総計が求められ、求めた総計が相数（４相）によって除算され、位相間隔の基準値が求められる（ＳＲＥＧ１〜ＳＲＥＧ４演算）。
【０１４４】
この実施の形態２においても、ステップＳＫ２０の後に実行されるステップＳＣ１１〜ＳＣ１６において、位相間隔調整動作が行われる。この位相間隔調整動作を実行する前に、ステップＳＫ２０で求めた基準値が、例えばスキューレジスタＳＲＥＧ１に格納され、スキューレジスタＳＲＥＧ１からは、基準値に対応した遅延調整信号ＤＬ−ＡＤが、基準ディレイ生成回路ＲＤＬＧに供給される。
【０１４５】
位相間隔調整動作においては、まず、ステップＳＣ１１において、セレクタＳＥＬ１、ＳＥＬ２の入力端子（ｉｎ１）が選択される（ＣＬ−ＳＥＬ（ｉｎ１））。次に、ステップＳＣ１２において、位相比較回路ＰＤＴ（図２）が、セレクタＳＥＬ１からのクロック信号ＣＬ２−ＡＡと、基準ディレイ生成回路ＲＤＬＧからの遅延されたクロック信号ＣＬ１−ＡＡを比較し、モニター信号ＭＯＮを出力する（ＭＯＮ検出）。キャリブレーション制御部ＰＤＤ−ＣＴ（図２）は、モニター信号ＭＯＮの値に応じて、調整レジスタＰＲＥＧ１の値をインクリメント（ＩＮＣ）またはデクリメント（ＤＥＣ）する（ＳＫＣ−ＡＤ２をＩＮＣ／ＤＥＣ）。これにより、クロック信号ＣＬ１−ＡＡとＣＬ２−ＡＡとの間の位相間隔が、基準値に近づくように、バッファ回路ＲＣＦ２の遅延時間が更新される。
【０１４６】
次に、ステップＳＣ１３において、セレクタＳＥＬ１、ＳＥＬ２の入力端子（ｉｎ２）が選択される（ＣＬ−ＳＥＬ（ｉｎ２））。ステップＳＣ１４において、位相比較回路ＰＤＴ（図２）が、セレクタＳＥＬ１からのクロック信号ＣＬ３−ＡＡと、基準ディレイ生成回路ＲＤＬＧからの遅延されたクロック信号ＣＬ２−ＡＡを比較し、モニター信号ＭＯＮを出力する（ＭＯＮ検出）。キャリブレーション制御部ＰＤＤ−ＣＴ（図２）は、モニター信号ＭＯＮの値に応じて、調整レジスタＰＲＥＧ２の値をインクリメント（ＩＮＣ）またはデクリメント（ＤＥＣ）する（ＳＫＣ−ＡＤ３をＩＮＣ／ＤＥＣ）。これにより、クロック信号ＣＬ２−ＡＡとＣＬ３−ＡＡとの間の位相間隔が、基準値に近づくように、バッファ回路ＲＣＦ３の遅延時間が更新される。
【０１４７】
さらに、ステップＳＣ１５において、セレクタＳＥＬ１、ＳＥＬ２の入力端子（ｉｎ３）が選択される（ＣＬ−ＳＥＬ（ｉｎ３））。ステップＳＣ１６において、位相比較回路ＰＤＴ（図２）が、セレクタＳＥＬ１からのクロック信号ＣＬ４−ＡＡと、基準ディレイ生成回路ＲＤＬＧからの遅延されたクロック信号ＣＬ３−ＡＡを比較し、モニター信号ＭＯＮを出力する（ＭＯＮ検出）。キャリブレーション制御部ＰＤＤ−ＣＴ（図２）は、モニター信号ＭＯＮの値に応じて、調整レジスタＰＲＥＧ３の値をインクリメント（ＩＮＣ）またはデクリメント（ＤＥＣ）する（ＳＫＣ−ＡＤ４をＩＮＣ／ＤＥＣ）。これにより、クロック信号ＣＬ３−ＡＡとＣＬ４−ＡＡとの間の位相間隔が、基準値に近づくように、バッファ回路ＲＣＦ４の遅延時間が更新される。
【０１４８】
ステップＳＣ１６の後、ステップＳＣ１７が実行される。ステップＳＣ１７を実行することにより、ステップＳＫ１１へ戻る（ＳＴＡＲＴへ）。これにより、ステップＳＫ１２〜ＳＣ１６が繰り返されることにより、クロック信号ＣＬ１−ＡＡとＣＬ２−ＡＡ間の位相間隔、クロック信号ＣＬ２−ＡＡとＣＬ３−ＡＡ間の位相間隔およびクロック信号ＣＬ３−ＡＡとＣＬ４−ＡＡ間の位相間隔は、次第に基準値に近づき、基準値に整合されることになる。
【０１４９】
実施の形態１では、データおよびクロックをリカバリするクロックデータリカバリの期間とは、別にスキューキャリブレーションの期間を設け、このスキューキャリブレーション期間において、キャリブレーション動作と、位相間隔調整動作を実行していた。これに対して、実施の形態２においては、クロックデータリカバリの期間において、キャリブレーションの動作と位相間隔調整動作を実行することが可能となる。実施の形態１では、フリップフロップ回路ＦＦ１〜ＦＦ４に供給されるクロック信号ＣＬ１−ＡＡ〜ＣＬ４−ＡＡのそれぞれの位相間隔が、基準値に整合された後、これらのフリップフロップ回路ＦＦ１〜ＦＦ４にデータを取り込むようにして、クロックデータリカバリが行われる。これに対して、実施の形態２においては、クロックデータリカバリを実行している期間において、フリップフロップ回路ＦＦ１〜ＦＦ４に供給されるクロック信号ＣＬ１−ＡＡ〜ＣＬ４−ＡＡ間の位相間隔が、次第に基準値に近づき、整合されることになる。そのため、クロックデータリカバリを実施している期間において、クロック信号間の位相間隔を、所望の値（基準値）に整合することが可能となる。
【０１５０】
例えば、クロック信号ＣＬ１−ＡＡを第１位相クロック信号とし、クロック信号ＣＬ２−ＡＡを第２位相クロック信号とし、クロック信号ＣＬ３−ＡＡを第３位相クロック信号とした場合、実施の形態１では、第１位相クロック信号と第２位相クロック信号との間の位相間隔が、基準値に整合された後で、第２位相クロック信号と第３位相クロック信号との間の位相間隔が、基準値に整合されるように制御される。これに対して、実施の形態２においては、第１位相クロック信号と第２位相クロック信号との間の時間差と基準値との比較と、第２位相クロック信号と第３位相クロック信号との間の時間差と基準値との比較とが、繰り返し行われ、比較の度に、第１位相クロック信号と第２位相クロック信号との間の時間差と、第２位相クロック信号と第３位相クロック信号との間の時間差が、基準値に近づくように制御されることになる。
【０１５１】
図７では、ステップＳＣ１７を実行することにより、ステップＳＫ１１へ戻るように説明したが、これに限定されるものではない。例えば、ステップＳＣ１７を実行することにより、ステップＳＣ１１へ戻るようにしてもよい。この場合には、ステップＳＫ１１〜ＳＫ２０によって求められた位相間隔の基準値が、繰り返して実行されるステップＳＣ１１〜ＳＣ１６において用いられることになる。
【０１５２】
実施の形態１および実施の形態２で説明したスキューキャリブレーションは、例えば、半導体装置ＢＰＳＣ１〜ＢＰＳＣｎ（図８）を、ユーザへ提供する半導体装置メーカが、提供する前に、半導体装置メーカにおいて実施する。この場合、基準値に整合するような値が、調整レジスタＰＲＥＧ１〜ＰＲＥＧ３に格納されて提供されることになる。
【０１５３】
勿論、スキューキャリブレーションの実行は、半導体装置メーカに限定されず、半導体装置が提供されたユーザが、スキューキャリブレーションを実行してもよい。この場合、実施の形態２によれば、クロックデータリカバリの期間において、スキューキャリブレーションを実行することが可能となる。また、ユーザが、スキューキャリブレーションを実行する場合、実行するタイミングは、所定の間隔で行ってもよいし、任意のタイミング、例えば環境が変化したタイミングで実行するようにしてもよい。
【０１５４】
図４および図７に示したフローチャートが、スキューキャリブレーション方法を表していると見なした場合、ステップＳＫ０２〜ＳＫ０９（ＳＫ１２〜ＳＫ１９）は、互いに近接するクロック信号間の時間差（位相間隔）を求める位相間隔検出工程と見なすことができる。この場合、ステップＳＫ１０（ＳＫ２０）は、求めた時間差（位相間隔）の総計を求め、相数で除算を行い、位相間隔の基準値を求める演算工程と見なすことができる。また、ステップＳＣ０１〜ＳＣ０６（ＳＣ１１〜ＳＣ１６）は、クロック信号間の位相間隔を基準値に整合させる位相間隔調整工程と見なすことができる。
【０１５５】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【符号の説明】
【０１５６】
１００  情報通信装置
ＣＤ  クロックデータリカバリ回路
ＣＧＣ  参照クロック信号形成回路
ＣＬ−ＣＴ  クロック制御回路
ＣＬ１〜ＣＬ４、ＣＬ１−Ａ〜ＣＬ４−Ａ、ＣＬ１−ＡＡ〜ＣＬ４−ＡＡ  クロック信号
ＣＰＡ  クロック位相調整回路
ＦＦ１〜ＦＦ４  フリップフロップ回路
ＰＤＣ  位相間隔調整回路
ＰＤＤ  位相間隔検出回路
ＰＤＤ−ＣＴ  キャリブレーション制御部
ＰＬ  ＰＬＬ回路
ＳＫＣ  スキュー調整回路
【図１】
2017135506.tif 000003
【図２】
2017135506.tif 000004
【図３】
2017135506.tif 000005
【図４】
2017135506.tif 000006
【図５】
2017135506.tif 000007
【図６】
2017135506.tif 000008
【図７】
2017135506.tif 000009
【図８】
2017135506.tif 000010
【図９】
2017135506.tif 000011
【図１０】
2017135506.tif 000012
【図１１】
2017135506.tif 000013