(57)【要約】【課題】  ディーティサイクルの調整が改善された補正回路を提供する。【解決手段】  一実施形態による補正回路は、第１検出部と、第２検出部と、遅延部と、波形整形部と、を含む。第１検出部は、第１クロックのハイレベルの第１期間を計測するように構成されている。第２検出部は、第１クロックと相補な第２クロックのハイレベルの第２期間を計測するように構成されている。遅延部は、第１期間と第２期間との差に基づく量だけ第１クロックを遅延させて、第１遅延クロックを生成するように構成されている。波形整形部は、第１遅延クロックのエッジと第２クロックのエッジに基づいて切り替わる論理レベルを有する第３クロックを生成するように構成されている。【選択図】      図２
2019169826.tif 000002
【特許請求の範囲】
【請求項１】
第１クロックのハイレベルの第１期間を計測するように構成されている、第１検出部と、
前記第１クロックと相補な第２クロックのハイレベルの第２期間を計測するように構成されている、第２検出部と、
前記第１期間と前記第２期間との差に基づく量だけ前記第１クロックを遅延させて、第１遅延クロックを生成するように構成されている、遅延部と、
前記第１遅延クロックのエッジと前記第２クロックのエッジに基づいて切り替わる論理レベルを有する第３クロックを生成するように構成されている、波形整形部と、
を備える、補正回路。
【請求項２】
前記遅延部は、
前記第１期間が前記第２期間より長い場合、前記第１遅延クロックを遅延させ、
前記第２期間が前記第１期間より長い場合、前記第２クロックを遅延させて、第２遅延クロックを生成する、
ようにさらに構成されており、
前記波形整形部は、前記第１クロックのエッジと前記第２遅延クロックのエッジに基づいて切り替わる論理レベルを有する第４クロックを生成するようにさらに構成されている、
請求項１の補正回路。
【請求項３】
前記遅延部は、
前記第１期間が前記第２期間より長い場合、前記差に基づく量だけ前記第１クロックを遅延させて、前記第１遅延クロックを生成し、
前記第２期間が前記第１期間より長い場合、前記差に基づく量だけ前記第２クロックを遅延させて、第２遅延クロックを生成する、
ように構成されている、請求項１の補正回路。
【請求項４】
前記差に基づく量は、前記第１期間と前記第２期間の前記差の半分である、
請求項１の補正回路。
【請求項５】
前記第１検出部は、
直列接続された複数の第１遅延要素を含み、
前記複数の第１遅延要素のそれぞれの出力信号のそれぞれの論理レベルにそれぞれ基づく複数の第１信号を出力するように構成されており、
前記第２検出部は、
直列接続された複数の第２遅延要素を含み、
前記複数の第２遅延要素のそれぞれの出力信号のそれぞれの論理レベルにそれぞれ基づく複数の第２信号を出力するように構成されている、
請求項１の補正回路。
【請求項６】
前記第１検出部は、
環状に直列接続された複数の第１遅延要素と、
前記複数の第１遅延要素のそれぞれの出力信号のエッジに基づく、複数ビットの第１信号を出力する第１信号生成部と、
前記第１信号の前記複数のビットの値の変化の周期を計数する第２信号生成部と、
を含み、
前記第２検出部は、
環状に直列接続された複数の第３遅延要素と、
前記複数の第３遅延要素のそれぞれの出力信号のエッジに基づく、複数ビットの第２信号を出力する第３信号生成部と、
前記第２信号の前記複数ビットの値の変化の周期を計数する第４信号生成部と、
を含む、
請求項１の補正回路。
【請求項７】
前記遅延部は、前記第１クロックの周期の半分の時間だけ信号を遅延させる数の遅延要素より少ない遅延要素を含む、
請求項１の補正回路。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、概して補正回路に関する。
【背景技術】
【０００２】
受け取られたクロックのデューティーサイクルを調整できる補正回路が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１１４８７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ディーティサイクルの調整が改善された補正回路を提供しようとするものである。
【課題を解決するための手段】
【０００５】
一実施形態による補正回路は、第１検出部と、第２検出部と、遅延部と、波形整形部と、を含む。上記第１検出部は、第１クロックのハイレベルの第１期間を計測するように構成されている。上記第２検出部は、上記第１クロックと相補な第２クロックのハイレベルの第２期間を計測するように構成されている。上記遅延部は、上記第１期間と上記第２期間との差に基づく量だけ上記第１クロックを遅延させて、第１遅延クロックを生成するように構成されている。上記波形整形部は、上記第１遅延クロックのエッジと上記第２クロックのエッジに基づいて切り替わる論理レベルを有する第３クロックを生成するように構成されている。
【図面の簡単な説明】
【０００６】
【図１】第１実施形態の補正回路を含んだ半導体装置の機能ブロックを示す。
【図２】第１実施形態の補正回路の機能ブロックを示す。
【図３】第１実施形態の検出部の詳細の例を示す。
【図４】第１実施形態の遅延調整部の詳細の例を示す。
【図５】第１実施形態の波形整形部の詳細の例を示す。
【図６】第１実施形態の波形整形部の詳細の別の例を示す。
【図７】第１実施形態の検出部の動作の間のいくつかの信号を時間に沿って示す。
【図８】第１実施形態の検出部の動作の間のいくつかの信号を時間に沿って示す。
【図９】第１実施形態のコード生成部の動作のフローを示す。
【図１０】第１実施形態の補正回路の入力クロックと出力クロックの例を示す。
【図１１】第１実施形態のコード信号の値の例を示す。
【図１２】第１実施形態の別のコード信号の値の例を示す。
【図１３】第１実施形態のコード信号とデコードされた信号との関係の例を示す。
【図１４】第１実施形態の別のコード信号とデコードされた信号との関係の例を示す。
【図１５】第１実施形態の遅延調整部の動作の間の一状態の例を示す。
【図１６】第１実施形態の遅延調整部の動作の間の別の状態の例を示す。
【図１７】第１実施形態の波形整形部のいくつかの信号を時間に沿って示す。
【図１８】参考用の補正回路を示す。
【図１９】参考用の補正回路のいくつかの信号を時間に沿って示す。
【図２０】直列接続される遅延回路の数と遅延時間のばらつきとの関係を示す。
【図２１】第２実施形態の補正回路の機能ブロックを示す。
【図２２】第２実施形態の検出部の詳細の例を示す。
【図２３】第２実施形態の検出部のいくつかの信号を時間に沿って示す。
【図２４】第２実施形態の検出部の出力信号の例を示す。
【図２５】第２実施形態の検出部のいくつかの信号を時間に沿って示す。
【発明を実施するための形態】
【０００７】
以下に実施形態が図面を参照して記述される。以下の記述において、略同一の機能および構成を有する構成要素は同一符号を付され、繰り返しの説明は省略される場合がある。ある実施形態についての記述は全て、明示的にまたは自明的に排除されない限り、別の実施形態の記述としても当てはまる。
【０００８】
各機能ブロックは、ハードウェア、コンピュータソフトウェアのいずれかまたは両者を組み合わせたものとして実現することができる。また、各機能ブロックが、以下の例のように区別されていることは必須ではない。例えば、一部の機能が例示の機能ブロックとは別の機能ブロックによって実行されてもよい。さらに、例示の機能ブロックがさらに細かい機能サブブロックに分割されていてもよい。どの機能ブロックによって特定されるかによって実施形態は限定されない。
【０００９】
本明細書および特許請求の範囲において、ある第１要素が別の第２要素に「接続」されているとは、第１要素が直接的または常時あるいは選択的に導電性となる要素を介して第２要素に接続されていることを含む。
【００１０】
＜第１実施形態＞
＜１．１．構造（構成）＞
図１は、第１実施形態の補正回路を含んだ半導体装置の機能ブロックを示す。補正回路１は、半導体記憶装置等の半導体装置２の入出力回路３中に設けられることができる。半導体装置２は、例えば、シリコン基板上に形成された半導体集積回路として形成されることができる。半導体装置２は、外部（例えばコントローラ）からディジタル形式の入力クロックＩＮおよび￣ＩＮを受け取る。先頭において記号「￣」を付加された名称の信号は、記号「￣」の無い名称の信号の反転論理を有する。
【００１１】
入力クロックＩＮおよび￣ＩＮは補正回路１によって受け取られる。補正回路１は、入力クロックＩＮおよび￣ＩＮを使用して、出力クロックＯＵＴを生成し、出力クロックＯＵＴを出力する。出力クロックＯＵＴは、半導体装置２中の別の機能回路４により受け取られる。出力クロックＯＵＴは、入力クロックＩＮおよび／ＩＮのデューティーサイクルと異なるデューティーサイクルを有する。
【００１２】
図２は、第１実施形態の補正回路１の機能ブロックを示す。図２に示されるように、補正回路１は、検出部１１、コード生成部１２、遅延調整部１３、および波形整形部１４を有する。
【００１３】
検出部１１は、入力クロックＩＮのパルス幅（ハイレベルである期間）と入力クロック￣ＩＮのパルス幅を検出（計測）し、入力クロックＩＮのパルス幅を示す信号ＤＦおよび、入力クロック￣ＩＮのパルス幅を示す信号ＤＦ’を出力する。信号ＤＦおよびＤＦ’は、それぞれ、複数のビットを有する。
【００１４】
コード生成部１２は、信号ＤＦおよびＤＦ’を受け取り、信号ＤＦにより示される入力クロックＩＮのパルス幅と、信号ＤＦ’により示される入力クロック￣ＩＮのパルス幅を比較する。コード生成部１２は、比較の結果に基づいて、コード信号ＣＯＤＥ＿Ａおよびコード信号ＣＯＤＥ＿Ｂを生成する。コード信号ＣＯＤＥ＿Ａおよびコード信号ＣＯＤＥ＿Ｂは、入力クロックＩＮのパルス幅と入力クロック￣ＩＮのパルス幅のいずれが大きいかおよび入力クロックＩＮのパルス幅と入力クロック￣ＩＮのパルス幅の差を示す情報を含む。
【００１５】
遅延調整部１３も、入力クロックＩＮおよび￣ＩＮを受け取る。遅延調整部１３はまた、コード信号ＣＯＤＥ＿ＡおよびＣＯＤＥ＿Ｂを受け取る。遅延調整部１３は、コード信号ＣＯＤＥ＿ＡおよびＣＯＤＥ＿Ｂに含まれる情報に基づいて、入力クロックＩＮから遅延入力クロックＩＮＤを生成し、また、入力クロック￣ＩＮから遅延入力クロック￣ＩＮＤを生成する。遅延入力クロックＩＮＤは、入力クロックＩＮからコード信号ＣＯＤＥ＿Ａに基づく可変の量だけ遅延している。遅延入力クロック￣ＩＮＤは、入力クロック￣ＩＮからコード信号ＣＯＤＥ＿Ｂに基づく可変の量だけ遅延している。
【００１６】
波形整形部１４は、遅延入力クロックＩＮＤおよび￣ＩＮＤを受け取り、遅延入力クロックＩＮＤおよび￣ＩＮＤを使用して、出力クロックＯＵＴを生成する。
【００１７】
図３は、第１実施形態の検出部１１の詳細の例を示す。図３に示されるように、検出部１１は、クロック生成回路２１および２１’、および遅延ライン２２および２２’を含む。
【００１８】
クロック生成回路２１は、入力クロックＩＮを受け取り、入力クロックＩＮから信号Ｄ＿０および信号ＬＴＣＰＬＳを生成する。信号Ｄ＿０は、入力クロックＩＮが或る時間だけ遅延された信号である。信号ＬＴＣＰＬＳは、入力クロックＩＮの最初の立ち上りから入力クロックＩＮのハイレベルの期間の経過後にハイレベルになる。信号ＬＴＣＰＬＳのハイレベルの期間は、例えば、入力クロックＩＮの１周期と同じ長さとされることができる。そのために、クロック生成回路２１は、例えば、信号Ｄ＿０を入力クロックＩＮの立下りでラッチすることにより、信号ＬＴＣＰＬＳを生成することができる。なお、信号Ｄ＿０は、入力クロックＩＮのハイレベル期間が再現された信号であればよく、入力クロックＩＮと同一であってもよい。
【００１９】
遅延ライン２２は、信号Ｄ＿０および信号ＬＴＣＰＬＳを受け取り、信号Ｄ＿０および信号ＬＴＣＰＬＳを使用して、ｎ（ｎは２以上の自然数）ビットの信号ＤＦ（ＤＦ＿１〜ＤＦ＿ｎ）を生成する。上記のように、信号ＤＦ＿１〜ＤＦ＿ｎの組は、入力クロックＩＮの或る１周期（例えば最初の１周期）のハイレベルの期間を示す。
【００２０】
遅延ライン２２は、ｎ個の遅延ユニット３２＿１〜３２＿ｎを含むことができる。α（αは１以上ｎ以下の自然数）が１以上ｎ以下の各々のケースについて、遅延ユニット３２＿αは、信号Ｄ＿（α−１）を受け取り、信号Ｄ＿αを出力する。以下、「α」を含んだ表記は、αが１以上ｎ以下の値の各々のケースの全てを一括して示すものとし、すなわち、αが１のケース、αが２のケース、…、αがｎのケースを一括して示す。信号Ｄ＿αは、信号Ｄ＿（α−１）が、或る時間だけ遅延された信号である。遅延ユニット３２＿αは、信号ＬＴＣＰＬＳを受け取り、信号ＬＴＣＰＬＳがハイレベルに移行したときの信号Ｄ＿αの論理レベルを保持して、保持された信号Ｄ＿αの論理レベルと同じ論理レベルの信号ＤＦ＿αを出力し続ける。
【００２１】
遅延ユニット３２＿αは、遅延要素３１およびＤ型のフリップフロップ（以下、単にフリップフロップと称される）３３を含むことができる。遅延ユニット３２＿αの遅延要素３１は、信号Ｄ＿（α−１）を受け取り、信号Ｄ＿αを出力する。信号Ｄ＿αは、信号Ｄ＿（α−１）が遅延ユニット３２＿αによる遅延の時間だけ遅延された信号である。遅延ユニット３２＿１〜３２＿ｎの遅延の量は、遅延ユニット３２＿１〜３２＿ｎの性能の意図せぬばらつきによりばらつき得るが、時間Ｔｄであることを意図されており、以下、時間Ｔｄであるとする。遅延ユニット３２＿αの遅延要素３１は、例えば、３つのＮＡＮＤゲートを含む。第１のＮＡＮＤゲートは、２つの入力において信号Ｄ＿（α−１）を受け取る。第２のＮＡＮＤゲートは、２つの入力において接地されており、すなわち接地電位Ｖｓｓのノードに接続されている。第３のＮＡＮＤゲートは、第１のＮＡＮＤゲートの出力および第２のＮＡＮＤゲートの出力を受け取り、信号Ｄ＿αを出力する。遅延ユニット３２＿αの遅延要素３１は、遅延ユニット３２＿αによる信号の時間Ｔｄだけの遅延を生じさせる。
【００２２】
遅延ユニット３２＿αのフリップフロップ３３は、データ入力において信号Ｄ＿αを受け取り、クロック入力において信号ＬＴＣＰＬＳを受け取り、信号ＤＦ＿αを出力する。信号ＤＦ＿αは、コード生成部１２により受け取られる。
【００２３】
クロック生成回路２１’は、クロック生成回路２１と同様の機能を有する。すなわち、クロック生成回路２１’は、入力クロック￣ＩＮを受け取り、入力クロック￣ＩＮから信号Ｄ’＿１およびＬＴＣＰＬＳ’を生成する。クロック生成回路２１’での入力クロック￣ＩＮ、および信号Ｄ’＿０ならびにＬＴＣＰＬＳ’は、それぞれ、クロック生成回路２１での入力クロックＩＮ、および信号Ｄ＿０ならびにＬＴＣＰＬＳに対応する。そして、クロック生成回路２１’については、クロック生成回路２１の入力クロックＩＮ、および信号Ｄ＿０ならびにＬＴＣＰＬＳがそれぞれ入力クロック￣ＩＮ、および信号Ｄ’＿０ならびにＬＴＣＰＬＳ’に置き換えられた記述が当てはまる。
【００２４】
遅延ライン２２’は、遅延ライン２２と同様の機能を有する。すなわち、信号Ｄ’＿０および信号ＬＴＣＰＬＳ’を受け取り、信号Ｄ’＿０および信号ＬＴＣＰＬＳ’を使用して、ｎビットの信号ＤＦ’（ＤＦ’＿１〜ＤＦ’＿ｎ）を生成する。
【００２５】
遅延ライン２２’は、遅延ライン２２と同様に、ｎ個の遅延ユニット３２’＿１〜３２’＿ｎを含むことができる。遅延ライン２２’では、遅延要素３１’、遅延ユニット３２’＿α、および信号Ｄ’＿αならびにＤＦ’＿αは、それぞれ、遅延ライン２２での遅延ユニット３２＿α、および信号Ｄ＿αならびにＤＦ＿αに対応する。そして、遅延ライン２２’については、遅延ライン２２の遅延ユニット３２＿α、および信号Ｄ＿αならびにＤＦ＿αがそれぞれ遅延ユニット３２’＿α、および信号Ｄ’＿αならびにＤＦ’＿αに置き換えられた記述が当てはまる。
【００２６】
コード生成部１２は、信号ＤＦ＿１〜ＤＦ＿ｎおよびＤＦ’＿１およびＤＦ’＿ｎから、コード信号ＣＯＤＥ＿ＡおよびＣＯＤＥ＿Ｂを生成する。コード生成部１２によるコードの生成については、後述される。
【００２７】
図４は、第１実施形態の遅延調整部１３の詳細の例を示す。図４に示されるように、遅延調整部１３は、クロック生成回路４１および４１’、遅延ライン４２および４２’、ならびにデコーダ４３および４３’を含む。
【００２８】
クロック生成回路４１は、クロック生成回路２１と同様の機能を有し、入力クロックＩＮを受け取り、入力クロックＩＮから信号Ａ＿１およびＬＴＣＰＬＳＡを生成する。信号Ａ＿１は、入力クロックＩＮが、或る時間だけ遅延された信号であり、例えば、入力クロックＩＮに対する信号Ｄ＿０の遅延の時間と同じ時間だけ遅延された信号である。信号ＬＴＣＰＬＳＡは、入力クロックＩＮが、信号Ａ＿１とは異なる時間だけ遅延された信号である。
【００２９】
遅延ライン４２は、信号ＬＴＣＰＬＳＡおよびＡ＿１を受け取るとともに、デコーダ４３からｍ（ｍは２以上の自然数）個の信号ＡＦ＿１〜ＡＦ＿ｍを受け取り、信号ＡＦ＿１〜ＡＦ＿ｍに基づく量だけ信号Ａ＿１を遅延させ、遅延された信号を遅延入力クロックＩＮＤとして出力する。
【００３０】
遅延ライン４２は、ｍ個の遅延ユニット５１＿１〜５１＿ｍを含むことができる。β（βは１以上ｍ以下の自然数）が１〜ｍの各々のケースについて、遅延ユニット５１＿βは、信号Ａ＿１、Ａ＿β、ＡＦ＿β、およびＬＴＣＰＬＳＡを受け取る。以下、「β」を含んだ表記は、βが１以上ｍ以下の値の各々のケースの全てを一括して示すものとし、すなわち、βが１のケース、βが２のケース、…、βがｍのケースを一括して示す。ただし、遅延ユニット５１＿１については、信号Ａ＿βに代えて、ローレベルに固定された信号を受け取る。
【００３１】
遅延ユニット５１＿βは、信号ＬＴＣＰＬＳＡがハイレベルに移行したときの信号ＡＦ＿βの論理レベルと同じ論理レベル信号を内部で保持し続ける。この内部信号を選択信号として使用して動作する。遅延ユニット５１＿βは、遅延ユニット５１＿βの内部選択信号がハイレベルの間は、信号Ａ＿１を選択し、遅延ユニット５１＿βの内部選択信号がローレベルの間は信号Ａ＿βを選択する。そして、遅延ユニット５１＿βは、選択された信号を、検出部１１の遅延要素３１による遅延時間Ｔｄと同じ遅延時間だけ遅延されてから、信号Ａ＿（β＋１）として出力する。遅延ユニット５１＿１は、遅延ユニット５１＿１の内部選択信号がローレベルの間は、ローレベルの信号Ａ＿２を出力する。遅延ユニット５１＿ｍの出力信号である信号Ａ＿（ｍ＋１）（図示せず）は、遅延入力クロックＩＮＤである。信号Ａ＿（β＋１）は、信号Ａ＿βが、検出部１１の遅延要素３１による遅延時間Ｔｄと同じ遅延時間だけ遅延された信号である。
【００３２】
遅延ユニット５１＿βは、遅延要素３１、およびフリップフロップ５２を含むことができる。遅延ユニット５１＿βのフリップフロップ５２は、信号ＬＴＣＰＬＳＡをクロック入力において受け取り、信号ＡＦ＿βをデータ入力において受け取る。遅延ユニット５１＿βの遅延要素３１は、遅延ユニット５１＿βのフリップフロップ５２の出力を内部選択信号として受け取り、信号Ａ＿βを受け取り、信号Ａ＿（β＋１）を出力する。遅延ユニット５１＿βの遅延要素３１は、遅延ユニット５１＿βの内部選択信号（フリップフロップ５２の出力）がローレベルであると、信号Ａ＿１が遅延時間Ｔｄだけ遅延された信号を信号Ａ＿βとして出力し、内部選択信号がハイレベルであると、信号Ａ＿１が遅延時間Ｔｄだけ遅延された信号を信号Ａ＿βとして出力する。ただし、遅延ユニット５１＿１の遅延要素３１は、遅延ユニット５１＿１の内部選択信号がローレベルであると、ローレベルを出力する。
【００３３】
デコーダ４３は、コード信号ＣＯＤＥ＿Ａを受け取り、コード信号ＣＯＤＥ＿Ａに基づいて、信号ＡＦ＿１〜ＡＦ＿ｍを生成する。具体的には、デコーダ４３は、コード信号ＣＯＤＥ＿Ａに基づいて、信号ＡＦ＿１〜ＡＦ＿ｍの１つを或る期間に亘って、ハイレベルにする。
【００３４】
上記のように、信号ＡＦ＿βがハイレベルであると、遅延ユニット５１＿βは、信号Ａ＿１を選択して信号Ａ＿１を遅延ユニット５１＿βの遅延要素３１による遅延時間Ｔｄだけ遅延させた後で、信号Ａ＿（β＋１）として出力する。そして、γ（γはβ以外の１以上ｍ以下の自然数）がβ以外で１〜ｍの各々のケースにおいて、遅延ユニット５１＿γは、信号Ａ＿γを選択して信号Ａ＿γを遅延ユニット５１＿γの遅延要素３１による遅延時間Ｔｄだけ遅延させた後で、信号Ａ＿（γ＋１）として出力する。したがって、１つの遅延ユニット５１＿βのみが信号Ａ＿１を選択するように切り替えられることにより、遅延入力クロックＩＮＤが信号Ａ＿１から遅延される量が変わる。より具体的には、遅延ユニット５１＿ｍのみが信号Ａ＿１を選択するように切り替えられていると、遅延入力クロックＩＮＤの遅延は最も少ない。遅延ユニット５１＿ｍのみが信号Ａ＿１を選択する場合の遅延入力クロックＩＮＤは、必ずしも信号Ａ＿１から、ひいては入力クロックＩＮから遅延されている必要はなく、入力クロックＩＮと同一であってもよい。
【００３５】
遅延入力クロックＩＮＤの遅延量を多くするために、ｚを１からｍの自然数として、より小さいｚが選択されて遅延ユニット５１＿ｚが信号Ａ＿１を選択するように切り替えられる。そして、信号Ａ＿１を選択する遅延ユニット５１＿ｚおよび遅延ユニット５１（ｚ＋１）〜５１＿ｍが、信号Ａ＿１のノードと遅延入力クロックＩＮＤのノードとの間に信号の経路を形成する。
【００３６】
クロック生成回路４１’は、クロック生成回路４１と同様の機能を有する。すなわち、クロック生成回路４１’は、入力クロック￣ＩＮを受け取り、入力クロック￣ＩＮから信号Ａ＿１’およびＬＴＣＰＬＳＡ’を生成する。クロック生成回路４１’での入力クロック￣ＩＮ、および信号Ａ’＿１ならびにＬＴＣＰＬＳ’は、それぞれ、クロック生成回路４１での入力クロックＩＮ、および信号Ａ＿１ならびにＬＴＣＰＬＳＡに対応する。そして、クロック生成回路４１’については、クロック生成回路４１の入力クロックＩＮ、および信号Ａ＿１ならびにＬＴＣＰＬＳがそれぞれ入力クロック￣ＩＮおよび信号￣Ａ’＿１ならびＬＴＣＰＬＳ’に置き換えられた記述が当てはまる。
【００３７】
遅延ライン４２’は、遅延ライン４２と同様の機能を有する。すなわち、遅延ライン４２’は、信号ＬＴＣＰＬＳＡ’およびＡ＿１’を受け取るとともに、デコーダ４３からｍ個の信号ＡＦ’＿１〜ＡＦ’＿ｍを受け取り、信号ＡＦ’＿１〜ＡＦ’＿ｍに基づく量だけ信号Ａ’＿１を遅延させ、遅延された信号を遅延入力クロック￣ＩＮＤとして出力する。
【００３８】
遅延ライン４２’は、遅延ライン４２と同様に、ｍ個の遅延ユニット５１’＿１〜５１’＿ｍを含むことができる。遅延ライン４２’での遅延ユニット５１’＿β、信号Ａ’＿１、Ａ’＿β、ＡＦ’＿β、およびＬＴＣＰＳＡ’、ならびに遅延基準クロック￣ＩＮＤは、それぞれ、遅延ライン４２での遅延ユニット５１＿β、信号Ａ＿１、Ａ＿β、ＡＦ＿β、およびＬＴＣＰＳＡ、ならびに遅延入力クロックＩＮＤに対応する。そして、遅延ライン４２’については、遅延ライン４２の遅延ユニット５１＿β、信号Ａ＿１、Ａ＿β、ＡＦ＿β、およびＬＴＣＰＬＳＡ、ならびに遅延入力クロックＩＮＤがそれぞれ遅延ユニット５１’＿β、信号Ａ’＿１、Ａ’＿β、ＡＦ’＿β、およびＬＴＣＰＬＳＡ’、ならび遅延基準クロック￣ＩＮＤに置き換えられた記述が当てはまる。
【００３９】
デコーダ４３’は、デコーダ４３と同様の機能を有する。すなわち、デコーダ４３’は、コード信号ＣＯＤＥ＿Ｂを受け取り、コード信号ＣＯＤＥ＿Ｂに基づいて、信号ＡＦ’＿１〜ＡＦ’＿ｍを生成する。デコーダ４３’は、コード信号ＣＯＤＥ＿Ｂに基づいて、信号ＡＦ’＿１〜ＡＦ’＿ｍの１つを或る期間に亘ってハイレベルにする。
【００４０】
信号ＡＦ’＿βがハイレベルであると、遅延ユニット５１’＿βは、信号Ａ’＿１を選択して信号Ａ’＿１を遅延ユニット５１’＿βの遅延要素３１’による遅延時間Ｔｄだけ遅延させた後で、信号Ａ’＿（β＋１）として出力する。そして、γがβ以外で１〜ｍの各々のケースにおいて、遅延ユニット５１’＿γは、信号Ａ’＿γを選択して信号Ａ’＿γを遅延ユニット５１’＿γの遅延要素３１による遅延時間Ｔｄだけ遅延させた後で、信号Ａ’＿（γ＋１）として出力する。したがって、１つの遅延ユニット５１’＿βのみが信号Ａ’＿１を選択するように切り替えられることにより、遅延入力クロック￣ＩＮＤが信号Ａ’＿１から遅延される量が変わる。より具体的には、遅延ユニット５１’＿ｍのみが信号Ａ’＿１を選択するように切替られていると、遅延入力クロック￣ＩＮＤの遅延は最も少ない。遅延ユニット５１’＿ｍのみが信号Ａ’＿１を選択するように切り替えられている場合の信号￣ＩＮＤは、必ずしも信号Ａ’＿１から、ひいては基準クロック￣ＩＮから遅延されている必要はなく、入力クロックＩＮと同一であってもよい。信号￣ＩＮＤの遅延量を多くするために、
より小さいｚが選択されて遅延ユニット５１’＿ｚが信号Ａ’＿１を選択するように切り替えられる。そして、信号Ａ’＿１を選択する遅延ユニット５１’＿ｚおよび遅延ユニット５１’（ｚ＋１）〜５１’＿ｍが、信号Ａ’＿１のノードと遅延入力クロック￣ＩＮＤのノードとの間に、信号の経路を形成する。
【００４１】
図５は、第１実施形態の波形整形部１４の詳細の例を示す。波形整形部１４は、遅延入力クロックＩＮＤの立ち上り（立ち上りエッジ）から遅延入力クロック￣ＩＮＤの立ち上りまでの期間と同じ期間に亘ってハイレベルを維持する出力クロックＯＵＴを出力する。そのような動作の実現のための例として、波形整形部１４は、インバータ回路ＩＶ１、ＩＶ３、ＩＶ４、ＩＶ５、およびＩＶ６、遅延回路Ｄ１およびＤ２、ＡＮＤゲートＡＤ１およびＡＤ２、ｐ型のＭＯＳＦＥＴ（metal oxide semiconductor field effect transistor）ＴＰ１、ならびにｎ型のＭＯＳＦＥＴ  ＴＮ１を含む。
【００４２】
遅延入力クロックＩＮＤは、ＡＮＤゲートＡＤ１の第１入力端に供給されるとともに、遅延回路Ｄ１に供給される。遅延回路Ｄ１は、供給された信号を或る期間に亘って遅延させ、遅延された信号を出力する。遅延回路Ｄ１の出力は、インバータ回路ＩＶ３に供給される。インバータ回路ＩＶ３の出力は、ＡＮＤゲートＡＤ１の第２入力端に供給される。ＡＮＤゲートＡＤ１の出力はインバータ回路ＩＶ１に供給される。インバータ回路ＩＶ１の出力信号ＣＳ１は、トランジスタＴＰ１のゲートに供給される。トランジスタＴＰ１は、第１端において電源電位のノードＶｄｄに接続されており、第２端においてトランジスタＴＮ１の第１端に接続されている。
【００４３】
遅延入力クロック￣ＩＮＤは、ＡＮＤゲートＡＤ２の第１入力端に供給されるとともに、遅延回路Ｄ２に供給される。遅延回路Ｄ２は、供給された信号を或る期間に亘って遅延させ、遅延された信号を出力する。遅延回路Ｄ２の出力は、インバータ回路ＩＶ４に供給される。インバータ回路ＩＶ４の出力は、ＡＮＤゲートＡＤ２の第２入力端に供給される。ＡＮＤゲートＡＤ２の出力信号ＣＳ２はトランジスタＴＮ１のゲートに供給される。トランジスタＴＮ１は第２端において接地されている。
【００４４】
トランジスタＴＰ１とＴＮ１とが接続されているノードＮ１は、出力クロックＯＵＴを出力する。ノードＮ１はまた、偶数個（現行の例では２個）の直列接続されたインバータ回路ＩＶ５およびＩＶ６を介して、ノードＮ１に接続されている。
【００４５】
遅延回路Ｄ１、インバータ回路ＩＶ３、ＡＮＤゲートＡＤ１、およびインバータ回路ＩＶ１により、信号ＣＳ１の波形は、遅延入力クロックＩＮＤの立ち下り（立ち下りエッジ）から、遅延入力クロックＩＮＤのパルス幅より短い或る期間に亘ってローレベルを維持するパルス状の形状を有する。
【００４６】
遅延回路Ｄ２、インバータ回路ＩＶ４、およびＡＮＤゲートＡＤ２により、信号ＣＳ２の波形は、遅延入力クロック￣ＩＮＤの立ち上りから、遅延入力クロック￣ＩＮＤのパルス幅より短い或る期間に亘ってハイレベルを維持するパルス状の形状を有する。
【００４７】
図６は、第１実施形態の波形整形部１４の詳細の別の例を示す。図６に示されるように、波形整形部１４は、ＡＮＤゲートＡＤ１およびＡＤ２に代えてＮＡＮＤゲートＮＤ１およびＮＤ２を含み、インバータ回路ＩＶ１、ＩＶ５、およびＩＶ６ならびにトランジスタＴＰ１およびＴＮ１に代えて、ＮＡＮＤゲートＮＤ３およびＮＤ４を含む。
【００４８】
ＮＡＮＤゲートＮＤ１の２つの入力は、それぞれ、遅延入力クロックＩＮＤおよびインバータ回路ＩＶ３の出力を受け取る。ＮＡＮＤゲートＮＤ２の２つの入力は、それぞれ、遅延入力クロック￣ＩＮＤおよびインバータ回路ＩＶ３の出力を受け取る。
【００４９】
ＮＡＮＤゲートＮＤ３およびＮＤ４は、ＲＳ型フリップフロップを構成する。すなわち、ＮＡＮＤゲートＮＤ３は第１入力においてＮＡＮＤゲートＮＤ１の出力を受け取り、出力クロックＯＵＴを出力するとともに、出力においてＮＡＮＤゲートＮＤ４の第１入力に接続されている。ＮＡＮＤゲートＮＤ４は、第２入力においてＮＡＮＤゲートＮＤ２の出力を受け取り、出力においてＮＡＮＤゲートＮＤ３の第２入力に接続されている。第１実施形態では使用されないが、ＮＡＮＤゲートＮＤ４は出力クロック￣ＯＵＴを出力する。
【００５０】
＜１．２．動作＞
図７および図８は、第１実施形態の検出部１１の動作の間のいくつかの信号を時間に沿って示す。図７は、入力クロックＩＮ、および遅延ライン２２に関連する信号を示す。一方、図８は、入力クロック￣ＩＮ、および遅延ライン２２’に関連する信号を示す。
【００５１】
図７に示されるように、入力クロックＩＮは、あるデューティーサイクルを有する。例として、デューティーサイクルは５０％ではなく、ハイレベルの期間がローレベルの期間より長い。図７では、理解を容易にするために、ハイレベルの期間とローレベルの期間が誇張して描かれている。入力クロックＩＮは、周期ＣＩＮを有し、長さＣＩＮＨに亘ってハイレベルであり、長さＣＩＮＬに亘ってローレベルである。
【００５２】
入力クロックＩＮは、時刻ｔ１においてハイレベルになり、時刻ｔ２においてローレベルになる。すなわち、入力クロックＩＮは、時刻ｔ１から時刻ｔ２に亘ってハイレベルを維持するパルス形状を有する。クロック生成回路２１は、入力クロックＩＮの最初のパルスを或る時間だけ遅延された信号を信号Ｄ＿０として出力する。そして、遅延ユニット３２＿βの遅延要素３１は、信号Ｄ＿βが時間Ｔｄだけ遅延された信号を信号Ｄ＿（β＋１）として出力する。こうして、βの値の昇順に、時間Ｔｄだけ順に遅延された信号Ｄ＿１〜Ｄ＿ｎが得られる。図７は、信号Ｄ＿１〜信号Ｄ＿（ｉ＋１）（ｉはｎ−１以下の自然数）のみを示す。
【００５３】
クロック生成回路２１は、さらに、入力クロックＩＮの最初のパルスの立ち下りを検出して、この立ち下りから入力クロックＩＮのハイレベルの期間ＣＩＮＨと同じ長さの期間に亘って信号ＬＴＣＰＬＳをハイレベルに維持する。信号ＬＴＣＰＬＳのハイレベルへの移行に応答して、遅延ユニット３２＿βのフリップフロップ３３は、信号Ｄ＿βをラッチし、ラッチされた信号Ｄ＿βを信号ＤＦ＿βとして出力する。
【００５４】
図７は、遅延ユニット３２＿１〜３２＿ｎのそれぞれのフリップフロップ３３への信号Ｄ＿１〜Ｄ＿ｎの取り込みの時に、信号Ｄ＿１〜Ｄ＿ｉがハイレベルである例を示す。よって、図には示されていないが、信号Ｄ＿（ｉ＋１）〜信号Ｄ＿ｎは、ローレベルである。
【００５５】
コード生成部１２は、信号ＤＦ＿１〜ＤＦ＿ｎのうちの、ハイレベルの信号の数を計数する。現行の例では、ハイレベルの信号の数はｉである。この数ｉは、信号Ｄ＿０のパルス幅（ハイレベルの期間）を表現し、すなわち、入力クロックＩＮのハイレベルの幅を表現する。具体的には、数ｉと遅延時間Ｔｄの積が入力クロックＩＮのハイレベルの時間に等しく、よって、数ｉは、時間Ｔｄを単位とする場合の入力クロックのＩＮのハイレベルの幅を表現する。
【００５６】
図８の入力クロック￣ＩＮについても、入力クロックＩＮと同様である。すなわち、入力クロック￣ＩＮは、時刻ｔ２から時刻ｔ３に亘ってハイレベルを維持するパルスの形状を有する。クロック生成回路２１’は、入力クロック￣ＩＮの最初のパルスを或る時間だけ遅延された信号を信号Ｄ’＿０として出力する。そして、遅延ユニット３２’＿βの遅延要素３１は、信号Ｄ’＿βが時間Ｔｄだけ遅延された信号を信号Ｄ’＿（β＋１）として出力する。こうして、βの値の昇順に、時間Ｔｄだけ順に遅延された信号Ｄ’＿１〜Ｄ’＿ｎが得られる。図７は、信号Ｄ’＿１〜信号Ｄ’＿（ｊ＋１）（ｊはｎ−１以下の自然数）のみを示す。
【００５７】
クロック生成回路２１’は、さらに、入力クロック￣ＩＮの最初のパルスの立ち下りを検出して、この立ち下りから入力クロック￣ＩＮのハイレベルの期間ＣＩＮＬと同じ長さの期間に亘って信号ＬＴＣＰＬＳ’をハイレベルに維持する。信号ＬＴＣＰＬＳ’のハイレベルへの移行に応答して、遅延ユニット３２’＿βのフリップフロップ３３は、信号Ｄ’＿βをラッチし、ラッチされた信号Ｄ’＿βを信号ＤＦ’＿βとして出力する。
【００５８】
図８は、遅延ユニット３２’＿１〜３２’＿ｎのそれぞれのフリップフロップ３３への信号Ｄ’＿０〜Ｄ’＿ｎの取り込みの時に、信号Ｄ’＿０〜Ｄ’＿ｊがハイレベルである例を示す。よって、図には示されていないが、信号Ｄ’＿（ｊ＋１）〜信号Ｄ’＿ｎは、ローレベルである。
【００５９】
コード生成部１２’は、信号ＤＦ’＿１〜ＤＦ’＿ｎのうちの、ハイレベルの信号の数を計数する。現行の例では、ハイレベルの信号の数はｊである。この数ｊは、信号Ｄ’＿０のパルス幅（ハイレベルの期間）を表現し、すなわち、入力クロック￣ＩＮのハイレベルの幅かつ入力クロックＩＮのローレベルの幅を表現する。具体的には、数ｊと遅延時間Ｔｄの積が入力クロック￣ＩＮのハイレベルおよび入力クロックＩＮのローレベルの時間に等しく、よって、数ｊは、時間Ｔｄを単位とする場合の入力クロックの￣ＩＮのハイレベルの幅および入力クロックＩＮのローレベルの幅を表現する。
【００６０】
図９は、第１実施形態のコード生成部１２の動作のフローを示す。コード生成部１２は、図７および図８を参照して上で記述されたように、入力クロックＩＮの最初のパルスの立ち下りの検出に起因して検出部１１が動作することによって、信号ＤＦ＿１〜ＤＦ＿ｎおよび信号ＤＦ’＿１〜ＤＦ’＿ｎのうちのいずれかのハイレベルの形態を受け取ると、図９のフローを開始する。
【００６１】
図９に示されるように、ステップＳ１において、コード生成部１２は、信号ＤＦ＿１〜ＤＦ＿ｎのうちのハイレベルの信号を計数して、計数結果である数ｉを取得する。ステップＳ２において、コード生成部１２は、信号ＤＦ’＿１〜ＤＦ’＿ｎのうちのハイレベルの信号を計数して、計数結果である数ｊを取得する。
【００６２】
ステップＳ３において、コード生成部１２は、Δ＝（ｉ−ｊ）／２を算出する。上記されるとともに図１０に示されるように、数ｉは入力クロックＩＮのハイレベルの期間を示し、数ｊは入力クロックＩＮのローレベルの期間を示す。よって、差ｉ−ｊは、入力クロックＩＮのハイレベルの期間とローレベルの期間との差である。そして、Δは、入力クロックＩＮの周期ＣＩＮと同じ周期ＣＩＮを有するとともに５０％のディーティー比を有する目的の出力クロックＯＵＴにおけるハイレベル（またはローレベル）の期間ＴＯＵＴＨと、入力クロックＩＮのハイレベルの期間ＣＩＮＨ（またはローレベルの期間ＣＩＮＬ）との差に等しい。なお、図１０は、ｉとｊが異なる例を示す。
【００６３】
図９に戻る。ステップＳ４において、コード生成部１２は、Δが０であるかを判断する。０である場合（Ｙｅｓ分岐）、コード生成部１２は、ステップＳ５において、デフォルトの値のコード信号ＣＯＤＥ＿Ａおよびデフォルトの値のコード信号ＣＯＤＥ＿Ｂを出力する。デフォルト値のコード信号ＣＯＤＥ＿Ａは、遅延調整部１３に信号Ａ＿１を最も少ない量だけ遅延させることを指示する。同様に、デフォルト値のコード信号ＣＯＤＥ＿Ｂは、遅延調整部１３に信号Ａ’＿１を最も少ない量だけ遅延させることを指示する。
【００６４】
ステップＳ４においてΔが０でない場合（Ｎｏ分岐）、コード生成部１２は、ステップＳ６において、Δが０超であるかを判断する。Δが０超である場合（Ｙｅｓ分岐）、処理はステップＳ７に移行する。ステップＳ７において、コード生成部１２は、コード信号ＣＯＤＥ＿Ａの値をΔに基づく値に変更する。具体的には、コード信号ＣＯＤＥ＿Ａは、Δにより表される期間だけ信号Ａ＿１を遅延させることを指示する値を有する。そして、コード生成部１２は、変更されたコード信号ＣＯＤＥ＿Ａを出力するとともに、デフォルトの値のコード信号ＣＯＤＥ＿Ｂを出力する。
【００６５】
ステップＳ５においてΔが０超でない場合（Ｎｏ分岐）、コード生成部１２は、ステップＳ８において、コード信号ＣＯＤＥ＿Ｂの値をΔに基づく値に変更する。コード信号ＣＯＤＥ＿Ｂは、Δにより表される期間だけ信号Ａ’＿１を遅延させることを指示する値を有する。そして、コード生成部１２は、変更されたコード信号ＣＯＤＥ＿Ｂを出力するとともに、デフォルトの値のコード信号ＣＯＤＥ＿Ａを出力する。
【００６６】
図１１および図１２は、それぞれ、第１実施形態のコード信号ＣＯＤＥ＿ＡおよびＣＯＤＥ＿Ｂの値の例を示す。図１１および図１２は、ｍが８の場合の例に関する。図１１に示されるように、コード信号ＣＯＤＥ＿Ａは、３桁のビットを有する。コード信号ＣＯＤＥ＿Ａ［３：０］の各値は、当該コード信号の値が十進数で表された値ｖである場合、ｖ×単位時間の遅延を指示する。コード信号ＣＯＤＥ＿Ａ［３：０］の各０００は、最小の遅延時間を指示する。コード信号ＣＯＤＥ＿Ａ［３：０］の各値００１、０１０、０１１、１００、１０１、１１０、および１１１は、それぞれ、１、２、３、４、５、６、および７に単位時間が乗じられた時間だけの遅延を指示する。単位時間は、遅延ユニット５１による遅延の量に等しく、すなわち、時間Ｔｄに等しい。なお、本明細書中の信号（例えばコード信号ＣＯＤＥ＿Ａ）のビットの０および１の値は、当該信号を伝送する信号線上では、それぞれディジタルのローレベルおよびハイレベルとして現れる。
【００６７】
コード信号ＣＯＤＥ＿Ｂについても同様である。図１２に示されるように、コード信号ＣＯＤＥ＿Ｂは、３桁のビットを有する。コード信号ＣＯＤＥ＿Ｂ［３：０］の各値は、当該コード信号の値が十進数で表された値ｖである場合、ｖ×単位時間の遅延を指示する。コード信号ＣＯＤＥ＿Ｂ［３：０］の各０００は、最小の遅延時間を指示する。コード信号ＣＯＤＥ＿Ｂ［３：０］の各値００１、０１０、０１１、１００、１０１、１１０、および１１１は、それぞれ、１、２、３、４、５、６、および７に単位時間が乗じられた時間だけの遅延を指示する。単位時間は、遅延ユニット５１’による遅延の量に等しく、すなわち、時間Ｔｄに等しい。
【００６８】
図１３および図１４は、それぞれ、第１実施形態のデコーダ４３および４３’によるコード信号とデコードされた信号との関係の例を示す。具体的には、図１３は、コード信号ＣＯＤＥ＿Ａの種々の値と、コード信号ＣＯＤＥ＿Ａの各値に対応する信号ＡＦ＿１〜ＡＦ＿ｍの値の例を示す。図１４は、コード信号ＣＯＤＥ＿Ｂの種々の値と、コード信号ＣＯＤＥ＿Ｂの各値に対応する信号ＡＦ’＿１〜ＡＦ’＿ｍの値の例を示す。図１３および図１４は、図１１の例に合せて、ｍが８の例を示す。
【００６９】
図１３に示されるように、コード信号ＣＯＤＥ＿Ａ［３：０］が０００、００１、０１０、０１１、１００、１０１、１１０、および１１１を有する場合、デコーダ４３は、それぞれ、信号ＡＦ＿１、ＡＦ＿２、ＡＦ＿３、ＡＦ＿４、ＡＦ＿５、ＡＦ＿６、ＡＦ＿７、およびＡＦ＿８のみをハイレベルとする。残りの信号はローレベルに維持される。
【００７０】
同様に、図１４に示されるように、コード信号ＣＯＤＥ＿Ｂ［３：０］が０００、００１、０１０、０１１、１００、１０１、１１０、および１１１を有する場合、デコーダ４３’は、それぞれ、信号ＡＦ＿１、ＡＦ＿２、ＡＦ＿３、ＡＦ＿４、ＡＦ＿５、ＡＦ＿６、ＡＦ＿７、およびＡＦ＿８のみをハイレベルとする。残りの信号はローレベルに維持される。
【００７１】
図１５および図１６は、第１実施形態の遅延調整部１３の動作の間の一状態の例を示す。具体的には、図１５は、入力クロックＩＮのハイレベルの期間がローレベルの期間より、４単位時間（４×Ｔｄ）だけ長い場合の状態を示す。図１６は、入力クロックＩＮのローレベルの期間がハイレベルの期間より、２単位時間（２×Ｔｄ）だけ長い場合の状態を示す。
【００７２】
図１５の例では、Δは＋２である。このため、コード信号ＣＯＤＥ＿Ａは０１０の値を有する。この結果、デコーダ４３は、ハイレベルの信号ＡＦ＿６およびローレベルの信号ＡＦ＿１〜ＡＦ＿５およびＡＦ＿７〜ＡＦ＿８を出力する。よって、クロック生成回路４１の信号Ａ＿１のノードは、太線の矢印により示されるように、遅延ユニット５１＿６、５１＿７、および５１＿８を介して、遅延入力クロックＩＮＤのノードに接続される。よって、遅延入力クロックＩＮＤは、信号Ａ＿１が最小の遅延時間（すなわち遅延ユニット５１＿８の遅延時間）に加えて２単位時間だけ遅延された信号である。
【００７３】
一方、コード信号ＣＯＤＥ＿Ｂはデフォルトの値を有する。よって、信号ＡＦ’＿８のみがハイレベルであり、クロック生成回路４１’の信号Ａ’＿１のノードは、太線の矢印により示されるように、遅延ユニット５１’＿８のみを介して、遅延入力クロック￣ＩＮＤのノードに接続される。よって、遅延入力クロック￣ＩＮＤは、信号Ａ’＿１が最小の時間（すなわち遅延ユニット５１’＿８の遅延時間）だけ遅延された信号である。
【００７４】
図１６の例では、Δは−１である。このため、コード信号ＣＯＤＥ＿Ｂは００１の値を有する。この結果、デコーダ４３’は、ハイレベルの信号ＡＦ’＿７およびローレベルの信号ＡＦ’＿１〜ＡＦ’＿６およびＡＦ’＿８を出力する。よって、クロック生成回路４１’の信号Ａ’＿１のノードは、太線の矢印により示されるように、遅延ユニット５１’＿７および５１’＿８を介して、遅延入力クロック￣ＩＮＤのノードに接続される。よって、遅延入力クロック￣ＩＮＤは、信号Ａ’＿１が最小の遅延時間（すなわち遅延ユニット５１’＿８の遅延時間）に加えて１単位時間だけ遅延された信号である。
【００７５】
一方、コード信号ＣＯＤＥ＿Ａはデフォルトの値を有する。よって、信号ＡＦ＿８のみがハイレベルであり、クロック生成回路４１の信号Ａ＿１のノードは、太線の矢印に示されるように、遅延ユニット５１＿８のみを介して、遅延入力クロックＩＮＤのノードに接続される。よって、遅延入力クロックＩＮＤは、信号Ａ＿１が最小の遅延時間（すなわち遅延ユニット５１＿８の遅延時間）だけ遅延された信号である。
【００７６】
図１７は、第１実施形態の波形整形部１４のいくつかの信号を時間に沿って示す。図１７は関連する信号も示す。
【００７７】
まず、入力クロックＩＮ、遅延入力クロックＩＮＤ、信号ＣＳ１、および出力クロックＯＵＴについて記述される。
【００７８】
入力クロックＩＮのハイレベルの期間ＣＩＮＨは数ｉ×単位時間Ｔｄであり、入力クロックＩＮのローレベルの期間ＣＩＮＬは数ｊ×単位時間Ｔｄである。このため、Δ（＝（ｉ−ｊ）／２）×単位時間Ｔｄだけ、入力クロックＩＮ（実際には、信号Ａ＿１）が遅延ライン４２によって遅延される。遅延により、遅延入力クロックＩＮＤは、時刻ｔ１０に代えて時刻ｔ１１において立ち上がる。時刻ｔ１０は、信号Ａ＿１が遅延されていない場合の、時刻ｔ１から、予め定められた固定の期間の経過後に到来する。点線は、信号Ａ＿１が遅延されていない（すなわち最小の遅延時間だけ遅延されている）場合を示す。
【００７９】
時刻ｔ１１から、波形整形部１４の遅延回路Ｄ１によって定まる量の時間の経過後の時刻ｔ１２において、信号ＣＳ１が立ち下がる。ローレベルの信号ＣＳ１により、時刻ｔ１２からトランジスタＴＰ１がオンし、出力クロックＯＵＴはハイレベルになる。点線は、信号Ａ＿１が遅延されていない場合を示す。時刻ｔ１３において遅延入力クロックＩＮＤがローレベルとなることにより、信号ＣＳ１はハイレベルになる。しかしながら、時刻ｔ１３の時点での出力クロックＯＵＴのレベルは、時刻ｔ１３以降もインバータ回路ＩＶ５およびＩＶ６の機能により維持される。よって、出力クロックＯＵＴは、時刻ｔ１４までハイレベルを維持する。
【００８０】
このような時刻ｔ１での入力クロックＩＮのハイレベルへの移行に起因する入力クロックＩＮ、遅延入力クロックＩＮＤ、信号ＣＳ１の変化が、時刻ｔ３での入力クロックＩＮの次のハイレベルへの移行に起因して生じる。この結果、時刻ｔ１６において、出力クロックＯＵＴは再びハイレベルになり、この後も、出力クロックＯＵＴは時刻ｔ１２から時刻ｔ１６までの期間と同じ期間の経過の度にハイレベルになる。
【００８１】
次に、入力クロック￣ＩＮ、遅延入力クロック￣ＩＮＤ、信号ＣＳ２、および出力クロックＯＵＴについて、記述される。
【００８２】
時刻ｔ２から期間Ｐの経過後の時刻ｔ１２において、遅延入力クロック￣ＩＮＤがハイレベルになる。時刻ｔ１２から、波形整形部１４の遅延回路Ｄ２によって定まる量の時間の経過後の時刻ｔ１４において、信号ＣＳ２が立ち上がる。ハイレベルの信号ＣＳ２により、トランジスタＴＮ１がオンし、出力クロックＯＵＴはローレベルになる。
【００８３】
このような時刻ｔ２での入力クロック￣ＩＮのハイレベルへの移行に起因する入力クロック￣ＩＮ、遅延入力クロック￣ＩＮＤ、信号ＣＳ２の変化が、時刻ｔ１１での入力クロック￣ＩＮの次のハイレベルへの移行に起因して生じる。この結果、時刻ｔ１７において、出力クロックＯＵＴは再びローレベルになり、この後も、出力クロックＯＵＴは時刻ｔ１４から時刻ｔ１７までの期間と同じ期間の経過の度にローレベルになる。
【００８４】
以上のような出力クロックＯＵＴのハイレベルおよびローレベルの移行により、出力クロックＯＵＴは、時刻ｔ１２から時刻ｔ１６の期間に等しい周期ＣＯＵＴを有し、時刻ｔ１２から時刻ｔ１４までの期間に等しい期間ＣＯＵＴＨに亘ってハイレベルを維持し、時刻ｔ１４から時刻ｔ１６までの期間に等しい期間ＣＯＵＴＬに亘ってローレベルを維持する。期間ＣＯＵＴＨは、遅延入力クロックＩＮＤのハイレベルへの移行が信号Ａ＿１が遅延されない場合（点線）でのケースよりΔ×Ｔｄだけ遅延されており、このため、出力クロックＯＵＴの立ち上りも、信号Ａ＿１が遅延されない場合よりもΔ×Ｔｄだけ遅延されている。この結果、期間ＣＯＵＴＨは、期間ＣＯＵＴＬに等しい。すなわち、出力クロックＯＵＴは５０％のデューティーサイクルを有する。
【００８５】
＜１．３．利点（効果）＞
第１実施形態によれば、補正回路１は、入力クロックＩＮの５０％のデューティーサイクルを有する出力クロックＯＵＴを高い精度で出力できる。詳細は、以下の通りである。
【００８６】
入力クロックと、入力クロックが半周期遅延された信号と、を使用してクロックのデューティーサイクルが補正されることが考えられる。図１８は、そのための回路を示し、図１９は、図１８の回路のいくつかの信号を時間に沿って示す。
【００８７】
図１８および図１９に示されるように、入力クロックＩＮＡの１周期と等しいハイレベルの期間を有する検出用パルスが、検出部１０１において生成され、検出部１０１は検出用パルスの長さ、すなわち入力クロックＩＮＡの１周期の長さを検出する。検出部１０１は、入力クロックＩＮＡの１周期の長さから半周期の長さを算出し、半周期の長さに関するコード信号ＣＯＤＥを遅延調整部１０３に供給する。パルス生成部１０２は、入力クロックＩＮＡから、入力クロックＩＮＡの周期と同じ周期で、入力クロックＩＮＡの立ち上りに同期して立ち下がるパルス信号Ｐ０をインバータ回路１０４および遅延調整部１０３に供給する。インバータ回路１０４は、パルス信号Ｐ０の反転論理のパルス信号Ｐ１をトランジスタＴＰ１のゲートに供給する。遅延調整部１０３は、コード信号ＣＯＤＥに基づいて、パルス信号Ｐ０の立ち下りから、入力クロックＩＮＡの半周期に等しい期間の経過の度に立ち上がるパルス信号Ｐ２を生成する。パルス信号Ｐ２は、トランジスタＴＮ１のゲートに供給される。このような回路により、出力クロックＯＵＴＡは入力クロックＩＮＡと同じ周期で５０％のデューティーサイクルを有することが期待される。
【００８８】
検出部１０１も遅延調整部１０３も、検出部１１の遅延ライン２２（または２２’）と同様の要素および接続を含んでおり、選択的に直列接続され得る多くの遅延ユニットを含む。検出部１０１は、入力クロックＩＮＡの１周期の長さの検出のために、１周期の長さを遅延ユニットによる遅延時間（第１実施形態の時間Ｔｄに相当）で除した数以上の非常に多くの選択的に直列接続され得る遅延ユニットを含む。遅延調整部１０３も、入力クロックＩＮＡの半周期分の遅延を起こすために非常に多くの選択的に直列接続され得る遅延ユニットを含む。そして、検出部１０１での遅延と、遅延調整部１０３での遅延は、同程度の精度であることが求められ、例えばいずれも或る信号を１８０°遅延させたとした場合、同程度の遅延された信号を出力できることが求められる。そのためには、検出部１０１での遅延ユニットの遅延と、遅延調整部１０３での遅延ユニットの遅延は、大きくばらつかない必要がある。しかしながら、遅延ユニットは相互に、不可避的に性能のばらつきを有する。遅延ユニットの性能のばらつきは、より多くの遅延ユニットが必要であるほど、大きく顕在化する。このため、検出部１０１での遅延の量の精度と、遅延調整部１０３での遅延の量の精度が大きく異なり得る。このことは、デューティーサイクルの調整の精度を悪化させる。
【００８９】
また、遅延ユニットによって信号が遅延されている間に図１９に示されるように、電源電位Ｖｄｄの値が変動すると、遅延の量が意図せずに変動する。この結果、図１９に点線により示されるように、パルス信号Ｐ１および（または）Ｐ２の立ち上りおよび立ち下りが電源電位の無変化の場合から変化し得る。このことは、デューティーサイクルの調整の精度を悪化させる。特に、直列接続され得る遅延ユニットの数が多いほど、電源変位の変化が遅延量に大きく影響し得る。
【００９０】
第１実施形態の補正回路１は、入力クロックＩＮのハイレベルの期間と、入力クロック￣ＩＮのハイレベルの期間を検出（計測）し、検出された期間の差に基づく量だけ、すなわち入力クロックＩＮのデューティーサイクル５０％からのずれの分だけ、入力クロックＩＮまたは￣ＩＮに基づく信号を遅延させて、出力クロックＯＵＴの立ち下りおよび立ち上りを制御する信号ＣＳ１およびＣＳ２を生成する。入力クロックＩＮのデューティーサイクルは、例えば仕様および（または）規格などにより規定されており、５０％から大きくはずれていないことが多く、ハイレベルの期間とローレベルの期間は大きくは異ならないことが多い。よって、信号ＣＳ１およびＣＳ２の生成のために必要な遅延の量は少なく、例えば、図１８および図１９の例のように、入力クロックＩＮを半周期も遅延させる必要はない。このため、遅延調整部１３はより少ない遅延ユニット５１および５１’しか必要とせず、例えば規格によって入力クロックＩＮの５０％のデューティーサイクルからのずれが最大でＸ％である場合、最大Ｘ％のずれ分の遅延のための数の遅延ユニット５１および５１’を含んでいるだけで良い。よって、遅延ユニット５１、５１’、３２、および３２’相互の性能ばらつきがあったとしても、検出部１１での遅延の精度と、遅延調整部１３での遅延の精度が大きく異なることが抑制されることができる。このことが図２０に表されている。
【００９１】
図２０は、遅延ユニット３２、３２’、５１、および５１’のような遅延を生じる回路の直列接続の数と、直列接続された遅延回路の組の入力から出力までの遅延の量のばらつきを示す。図２０は、直列接続される遅延回路の数が多いほど、遅延回路相互の遅延の量のばらつきが積算されて、直列接続された遅延回路の組の入力から出力までの遅延の量のばらつきが大きいことを示す。
【００９２】
また、遅延調整部１３での遅延の量が少なくて済むため、電源電位の変動によるデューティーサイクルの調整精度の低下が抑制されることができる。
【００９３】
さらに、第１実施形態によれば、入力クロックＩＮのデューティーサイクル、より正確には、５０％のデューティーサイクルからのずれは、図１８および図１９の例の場合とは異なり、入力クロックのＩＮの１周期を待たずに検出されることができる。このため、デューティーサイクルの補正のためにデューティーサイクルの検出を開始してから、検出の完了までに要する時間は、図１８および図１９の例の場合よりも短い。このことは、以下の利点をもたらす。
【００９４】
一般に、補正回路１のようなデューティー補正回路は、入力クロックの入力から速やかに出力クロックを得る目的で、多くの場合、入力クロックの最初のパルスから入力クロックのデューティーサイクルが検出される。しかしながら、半導体装置２を制御するコントローラは、動作の開始直後は、電源電位が安定していないなど、動作が安定していない場合がある。このような場合、動作開始直後の入力クロックは、コントローラの状態が安定している状態での波形から崩れた波形を有している場合がある。このような場合、最初の入力クロックを使用して生成された出力クロックは、求められる波形を有しない可能性があり、最初のパルスが使用されないことが良い場合がある。このような場合でも、第１実施形態によれば、デューティーサイクルの検出が図１８および図１９の例の場合よりも短時間で完了できるため、図１８および図１９の例の場合よりも早く出力クロックが得られる。
【００９５】
（第２実施形態）
第２実施形態は、検出部１６及びコード生成部１７の点で、第１実施形態と異なる。
【００９６】
＜２．１．構造（構成）＞
図２１は、第２実施形態の補正回路１の機能ブロックおよび関連する機能ブロックを示す。第２実施形態の補正回路１は、第１実施形態の検出部１１、コード生成部１２、および遅延調整部１３にそれぞれ代えて検出部１６、コード生成部１７、波形整形部１８を含む。
【００９７】
検出部１６は、検出部１１と同様に、入力クロックＩＮのパルス幅と入力クロック￣ＩＮのパルス幅を検出（測定）する。検出部１６は、機能回路６からイネーブル信号ＤＣＣＥＮを受け取る。機能回路６は、入出力回路３の中に設けられていてもよいし、入出力回路３の外側に設けられていてもよい。
【００９８】
検出部１６は、アサートされているイネーブル信号ＤＣＣＥＮを受け取っている間、動作する。検出部１６は、入力クロックＩＮのパルス幅と入力クロック￣ＩＮのパルス幅を検出し、複数ビットの信号ＳＦ、複数ビットの信号ＳＣ、複数ビットの信号ＳＦ’、複数ビットの信号ＳＣ’を出力する。信号ＳＦおよびＳＣの組は、入力クロックＩＮに基づき、入力クロックＩＮのパルス幅を示す。信号ＳＦ’およびＳＣ’の組は、入力クロック￣ＩＮに基づき、入力クロック￣ＩＮのパルス幅を示す。
【００９９】
コード生成部１７は、信号ＳＦ、ＳＣ、ＳＦ’、およびＳＣ’を受け取り、信号ＳＣおよびＳＦにより示される入力クロックＩＮのパルス幅と、信号ＳＣ’およびＳＦ’により示される入力クロック￣ＩＮのパルス幅を比較する。コード生成部１２は、比較の結果に基づいて、コード信号ＣＯＤＥ＿Ａおよびコード信号ＣＯＤＥ＿Ｂを生成する。
【０１００】
波形整形部１８は、図６に示される要素および接続を有する。
【０１０１】
図２２は、第２実施形態の検出部１６の詳細の例を示す。図２２に示されるように、検出部１６は、イネーブル回路６１および６１’、ファインコード検出部６２および６２’、コースコード検出部６３および６３’、ならびにリングオシレータ６４および６４’を含む。
【０１０２】
イネーブル回路６１は、イネーブル信号ＤＣＣＥＮおよび入力クロックＩＮに基づいて、信号ＲＩＮＧＥＮおよびＬＴＣＥＮを生成する。信号ＲＩＮＧＥＮは、リングオシレータ６４のイネーブルを制御する。信号ＬＴＣＥＮは、ファインコード検出部６２の動作を制御する。
【０１０３】
信号ＲＩＮＧＥＮは、入力クロックＩＮの或る１周期（例えば最初の１周期）を検出して、検出された１周期の開始（入力クロックＩＮの立ち上り）に応答して立ち上り、検出された１周期の終わり（入力クロックＩＮの立ち下り）に応答して立ち下がる。
【０１０４】
信号ＬＴＣＥＮは、イネーブル信号ＤＣＣＥＮの立ち上りに応答して立ち上り、入力クロックＩＮの、信号ＲＩＮＧＥＮの生成の対象である１周期（例えば最初の１周期）のハイレベルの終わり（立ち下り）に応答して立ち下がる。
【０１０５】
例として、イネーブル回路６１はＡＮＤゲート６１１、およびフリップフロップ６１２ならびに６１３を有する。入力クロックＩＮは、フリップフロップ６１３のクロック入力に供給される。フリップフロップ６１３は、出力において信号ＲＩＮＧＥＮを出力するとともに、反転出力を自身のデータ入力で受け取る。入力クロックＩＮはまた、フリップフロップ６１２のクロック入力で受け取られる。フリップフロップ６１２は、クロック入力の立ち下りで動作し、入力において電源電位Ｖｄｄのノードと接続されており、反転出力をＡＮＤゲート６１１に供給する。ＡＮＤゲートはイネーブル信号ＤＣＣＥＮをさらに受け取るとともに、信号ＬＴＣＥＮを出力する。
【０１０６】
リングオシレータ６４は、ｓ（ｓは奇数の自然数）個のＮＡＮＤゲート８１＿１〜８１＿ｓを含む。ｓは例えば５であり、以下の記述は、この例に基づく。ＮＡＮＤゲート８１＿１は、信号ＲＩＮＧＥＮを受け取る。ε（εはｓ（＝５）以下の自然数）が１〜５の各々のケースについて、ＮＡＮＤゲート８１＿εは、信号ＮＯ＿εを出力する。以下、「ε」を含んだ表記は、εが１以上ｓ（＝５）以下の値の各々のケースの全てを一括して示すものとし、すなわち、εが１のケース、εが２のケース、…、εがｓ（＝５）のケースを一括して示す。ζ（ζはｓ−１（＝４）以下の自然数）が１〜４の各々のケースについて、ＮＡＮＤゲート８１＿ζの出力信号ＮＯ＿ζは、ＮＡＮＤゲート８１＿（ζ＋１）の２つの入力によって受け取られる。ＮＡＮＤゲート８１＿５の出力信号ＮＯ＿５は、ＮＡＮＤゲート８１＿１のもう一方の入力により受け取られる。以下、「ζ」を含んだ表記は、ζが１以上ｓ−１（＝４）以下の値の各々のケースの全てを一括して示すものとし、すなわち、ζが１のケース、ζが２のケース、…、ζがｓ−１（＝４）のケースを一括して示す。
【０１０７】
ファインコード検出部６２は、入力クロックＩＮ、リングオシレータ６４の信号ＮＯ＿０〜ＮＯ＿５および信号ＬＴＣＥＮを受け取り、入力クロックＩＮ、および信号ＮＯ＿０〜ＮＯ＿５ならびにＬＴＣＥＮに基づいて、信号ＳＦを生成する。信号ＳＦは、信号ＬＴＣＥＮのハイレベルの期間を示す情報の一部であり、例えば、信号ＬＴＣＥＮのハイレベルの期間が或る時間（ＮＡＮＤゲート８１＿１〜８１＿５の各々の遅延時間）の経過の度に信号ＳＦのデータ０を有する１つのビットがデータ１となる。
【０１０８】
ファインコード検出部６２は、（ｓ−１）個の信号生成ユニット７１＿１〜７１＿４、およびフリップフロップ７３を含むことができる。信号生成ユニット７１＿ζは、ＮＡＮＤゲート８１＿ζの出力信号ＮＯ＿ζ、信号ＬＴＣＥＮ、および入力クロックＩＮを受け取り、信号ＳＦ＿ζを出力する。フリップフロップ７３は、データ入力において入力クロックＩＮを受け取り、リセット入力において信号ＬＴＣＥＮを受け取り、クロック入力において信号ＮＯ＿５を受け取る。
【０１０９】
各信号生成ユニット７１（７１＿１〜７１＿４の各々）は、フリップフロップ７１２および７１３、ならびにセレクタ７１４を含むことができる。各信号生成ユニット７１のフリップフロップ７１２は、データ入力において入力クロックＩＮを受け取り、クロック入力において、ＮＡＮＤゲート８１＿ζの出力信号ＮＯ＿ζを受け取り、リセット入力において信号ＬＴＣＥＮを受け取る。信号生成ユニット７１＿ζのフリップフロップ７１２の出力は、信号生成ユニット７１＿ζのフリップフロップ７１３のクロック入力において受け取られ、フリップフロップ７１３の出力および反転出力は、信号生成ユニット７１＿ζのセレクタ７１４により受け取られる。信号生成ユニット７１＿ζのフリップフロップ７１３の反転出力は、自身のデータ入力において受け取られる。信号生成ユニット７１＿ζのセレクタは、信号ＳＦ＿ζを出力する。
【０１１０】
フリップフロップ７３の出力信号ＯＦは、信号生成ユニット７１＿１、７１＿２、７１＿３、および７１＿４の各々のセレクタ７１４に供給される。信号生成ユニット７１＿ζのセレクタは、出力信号ＯＦがローレベルであるか、ハイレベルであるかに応じて、信号生成ユニット７１＿ζのフリップフロップ７１３の出力または反転出力を信号ＳＦ＿ζとして出力する。
【０１１１】
コースコード検出部６３は、フリップフロップ７３の出力信号ＯＦの立ち上りを計数し、計数の結果を、信号ＳＣ＿１、ＳＣ＿２、およびＳＣ＿３によって示す。コースコード検出部６３は、計数結果を３ビットの信号で示し、３ビットの最下位から第１、第２、第３ビットは信号ＳＣ＿１、ＳＣ＿２、ＳＣ＿３により表される。
【０１１２】
イネーブル回路６１’は、イネーブル回路６１と同様の機能を有する。すなわち、イネーブル回路６１は、イネーブル信号ＤＣＣＥＮおよび入力クロック￣ＩＮに基づいて、信号ＲＩＮＧＥＮ’およびＬＴＣＥＮ’を生成する。イネーブル回路６１’での入力クロック￣ＩＮ、および信号ＬＴＣＥＮ’ならびにＲＩＮＧＥＮ’は、それぞれ、イネーブル回路６１での入力クロックＩＮ、および信号ＲＩＮＧＥＮならびにＬＴＣＥＮに対応する。そして、イネーブル回路６１’については、イネーブル回路６１の入力クロックＩＮ、および信号ＲＩＮＧＥＮならびにＬＴＣＥＮがそれぞれ入力クロック￣ＩＮ、および信号ＲＩＮＧＥＮ’ならびにＬＴＣＥＮ’に置き換えられた記述が当てはまる。
【０１１３】
イネーブル回路６１’は、イネーブル回路６１と同様に、ＡＮＤゲート６１１’、およびフリップフロップ６１２’ならびに６１３’を含むことができる。イネーブル回路６１’でのＡＮＤゲート６１１’、およびフリップフロップ６１２’ならびに６１３’は、それぞれ、イネーブル回路６１でのＡＮＤゲート６１１、およびフリップフロップ６１２ならびに６１３に対応する。そして、イネーブル回路６１’については、ＡＮＤゲート６１１、およびフリップフロップ６１２ならびに６１３がそれぞれＡＮＤゲート６１１’、およびフリップフロップ６１２’ならびに６１３’に置き換えられた記述が当てはまる。
【０１１４】
リングオシレータ６４’は、リングオシレータ６４と同様の機能を有する。すなわち、リングオシレータ６４’は、リングオシレータ６４と同様に、直列接続されたｓ個の、入力を互いに接続されたＮＡＮＤゲートを含むことができる。ＮＡＮＤゲート８１’＿εは、信号ＮＯ’＿εを出力する。ＮＡＮＤゲート８１’＿ζの出力信号ＮＯ’＿ζは、ＮＡＮＤゲート８１’＿（ζ＋１）の２つの入力によって受け取られる。ＮＡＮＤゲート８１’＿５の出力信号ＮＯ＿５は、ＮＡＮＤゲート８１’＿１のもう一方の入力により受け取られる。
【０１１５】
ファインコード検出部６２’は、ファインコード検出部６２と同様の機能を有する。すなわち、ファインコード検出部６２’は、入力クロック￣ＩＮ、およびリングオシレータ６４の信号ＮＯ’＿０〜ＮＯ’＿５ならびに信号ＬＴＣＥＮ’を受け取り、入力クロック￣ＩＮ、および信号ＮＯ’＿０〜ＮＯ’＿５ならびにＬＴＣＥＮ’に基づいて、信号ＳＦ’を生成する。
【０１１６】
ファインコード検出部６２’は、ファインコード検出部６２と同様に、（ｓ−１）個の信号生成ユニット７１＿１〜７１＿４、およびフリップフロップ７３を含むことができる。ファインコード検出部６２’での入力クロックＩＮ、および信号ＬＴＣＥＮ’、ＳＦ’＿ζ、ＯＦ’、ならびにＮＯ’＿εは、それぞれファインコード検出部６２での入力クロック￣ＩＮ、および信号ＬＴＣＥＮ、ＳＦ＿ζ、ＯＦ、ならびにＮＯ＿εに対応する。そして、ファインコード検出部６２’については、ファインコード検出部６２の入力クロックＩＮ，および信号ＬＴＣＥＮ、ＳＦ＿ζ、ＯＦ、ならびにＮＯ＿εが、それぞれ、入力クロック￣ＩＮ、および信号ＬＴＣＥＮ’、ＳＦ’＿ζ、ＯＦ’、ならびにＮＯ’＿εに置き換えられた記述が当てはまる。
【０１１７】
各信号生成ユニット７１’（７１’＿１〜７１’＿４の各々）は、信号生成ユニット７１と同様に、フリップフロップ７１２’および７１３’、ならびにセレクタ７１４’を含むことができる。信号生成ユニット７１’＿ζでのフリップフロップ７１２’および７１３’、ならびにセレクタ７１４’は、それぞれ、信号生成ユニット７１＿ζでのフリップフロップ７１２および７１３、ならびにセレクタ７１４に対応する。そして、ファインコード検出部６２’については、信号生成ユニット７１＿ζ、フリップフロップ７３、フリップフロップ７１２および７１３、セレクタ７１４、入力クロックＩＮ、および信号ＮＯ＿ζ、ＬＴＣＥＮ、ならびに信号ＳＦ＿ζがそれぞれ信号生成ユニット７１’＿ζ、フリップフロップ７３’、フリップフロップ７１２’および７１３’、セレクタ７１４’、入力クロック￣ＩＮ、入力クロック￣ＩＮ、および信号ＮＯ’＿ζ、ＬＴＣＥＮ’、ならびに信号ＳＦ’＿ζに置き換えられた記述が当てはまる。
【０１１８】
コースコード検出部６３’は、コースコード検出部６３と同様の機能を有する。すなわち、コースコード検出部６３’は、フリップフロップ７３’の出力信号ＯＦ’の立ち上りを計数し、計数の結果を、信号ＳＣ’＿１、ＳＣ’＿２、およびＳＣ’＿３によって示す。コースコード検出部６３’は、計数結果を３ビットの信号で示し、３ビットの最下位から第１、第２、第３ビットは信号ＳＣ’＿１、ＳＣ’＿２、ＳＣ’＿３により表される。
【０１１９】
＜２．２．動作＞
図２３は、第２実施形態の検出部１６のいくつかの信号を時間に沿って示し、イネーブル回路６１、リングオシレータ６４、ファインコード検出部６２、およびコースコード検出部６３のいくつかの信号を示す。
【０１２０】
図２３に示されるように、時刻ｔ２１においてイネーブル信号ＤＣＣＥＮがハイレベルになることにより、検出部１６がイネーブルとされる。入力クロックＩＮがローレベルであるため、イネーブル信号ＤＣＣＥＮがハイレベルに移行したことに応答して、時刻ｔ２２において信号ＬＴＣＥＮがハイレベルになる。信号ＬＴＣＥＮは、その後、入力クロックＩＮの最初の１周期のハイレベルの期間が時刻ｔ２５において終了したことに応答して、時刻ｔ２６においてローレベルに移行する。したがって、信号ＬＴＣＥＮは、検出部１６がイネーブルにされた後から入力クロックＩＮの最初の１周期のハイレベルが終わるまでハイレベルを維持する。
【０１２１】
時刻ｔ２３において、入力クロックＩＮがハイレベルになり、これに応答して、時刻ｔ２４において信号ＲＩＮＧＥＮがハイレベルになる。信号ＲＩＮＧＥＮがハイレベルになったことにより、リングオシレータ６４は発振する。信号ＲＩＮＧＥＮは、入力クロックＩＮの最初の１周期の終了である時刻ｔ２７に応答して時刻ｔ２８においてローレベルになるまでハイレベルを維持する。よって、リングオシレータ６４は、時刻ｔ２４から時刻ｔ２８までの間、すなわち、入力クロックＩＮの最初の１周期と同じ期間の間、発振している。
【０１２２】
リングオシレータ６４が発振している間、ＮＡＮＤゲート８１＿εの出力信号ＮＯ＿εの論理は、ＮＡＮＤゲート８１＿εの入力のハイレベルとローレベルとの間の移行からＮＡＮＤゲート８１＿εの入力と出力との間の遅延の時間が経過する度に反転する。したがって、信号ＮＯ＿０〜ＮＯ＿５は、信号ＲＩＮＧＥＮがハイレベルである間、ＮＡＮＤゲートの８１＿１〜８１＿５のそれぞれの遅延時間の経過の度に順に、反対の論理に切り替わる。そして、信号ＬＴＣＥＮがハイレベルである間、信号ＮＯ＿１、ＮＯ＿２、ＮＯ＿３、およびＮＯ＿４の立ち上りに応答して、それぞれ、信号ＳＦ＿１、ＳＦ＿２、ＳＦ＿３、およびＳＦ＿４は、ローレベルからハイレベルに移行する。よって、信号ＲＩＮＧＥＮおよびＬＴＣＥＮがともにハイレベルである限り、信号ＳＦ＿１、ＳＦ＿２、ＳＦ＿３、およびＳＦ＿４のうちのローレベルであったものが１つずつハイレベルになる。そして、信号ＲＩＮＧＥＮおよびＬＴＣＥＮがともにハイレベルである期間は入力クロックＩＮのハイレベルの期間に対応する。このため、信号ＳＦ＿１、ＳＦ＿２、ＳＦ＿３、およびＳＦ＿４は、入力クロックＩＮのハイレベルの期間を部分的に表現する。信号ＳＦ＿１、ＳＦ＿２、ＳＦ＿３、およびＳＦ＿４全てがハイレベルになると、そのことは信号ＯＦに表れ、信号ＯＦによるセレクタ７１４の出力の選択により、信号ＳＦ＿１、ＳＦ＿２、ＳＦ＿３、およびＳＦ＿４はローレベルへとリセットされて、再び、順にハイレベルに移行するループが開始する。
【０１２３】
上記のように、信号ＯＦのハイレベルへの移行は、コースコード検出部６３により計数される。計数の結果は、信号ＳＣ＿１、ＳＣ＿２、およびＳＣ＿３を第１、第２、第３ビットとして含む信号ＳＣにより表れる。リングオシレータ６４は信号ＲＩＮＧＥＮがハイレベルの間発振し、ファインコード検出部６２は信号ＲＩＮＧＥＮおよびＬＴＣＥＮがともにハイレベルの間、リングオシレータ６４のＮＡＮＤゲートの８１＿１〜８１＿４のそれぞれの出力信号ＮＯ＿１〜ＮＯ＿４を取り込む。よって、ちょうど、入力クロックＩＮの最初のハイレベルの間、ＮＡＮＤゲート８１＿１〜８１＿４のそれぞれの遅延時間の経過の度に、信号ＳＦ＿１、ＳＦ＿２、ＳＦ＿３、およびＳＦ＿４の１つがハイレベルとなり、信号ＳＦ＿１〜ＳＦ＿４の全てがハイレベルになると、１ループが終了するとともに、ループの数がコースコード検出部６３により計数される。こうして、図２４に示されるように、信号ＳＦ＿１〜ＳＦ＿４およびＳＣ＿１〜ＳＣ＿３の組により、入力クロックＩＮの最初の１周期のハイレベルの期間を表す情報が生成される。
【０１２４】
図２４に示されるように、信号ＳＦ＿１、ＳＦ＿３、ＳＦ＿２、ＳＦ＿４の順に論理がローレベルからハイレベルに移行する。そして、信号ＳＦ＿１、ＳＦ＿３、ＳＦ＿２、ＳＦ＿４の全てがハイレベルになった後、信号ＳＣ＿１がハイレベルになるとともに、信号ＳＦ＿１〜ＳＦ＿４はローレベルになり、第２ループが始まる。第２ループにおいても信号ＳＦ＿１、ＳＦ＿３、ＳＦ＿２、ＳＦ＿４の順に論理がハイレベルに移行し、信号ＳＦ＿１、ＳＦ＿３、ＳＦ＿２、ＳＦ＿４の全てがハイレベルになった後、信号ＳＣは１増分し、第３ループが開始する。以下、同様である。
【０１２５】
図２５は、第２実施形態の検出部１６のいくつかの信号を時間に沿って示し、イネーブル回路６１’、リングオシレータ６４’、ファインコード検出部６２’、およびコースコード検出部６３’のいくつかの信号を示す。イネーブル回路６１’、リングオシレータ６４’、ファインコード検出部６２’、およびコースコード検出部６３’の信号は、イネーブル回路６１、リングオシレータ６４、ファインコード検出部６２、およびコースコード検出部６３の信号と同様に変化する。すなわち、入力クロック￣ＩＮは、時刻ｔ２５においてハイレベルに移行し、これに応答して、時刻ｔ２６において信号ＲＩＮＧＥＮ’はハイレベルに移行する。また、入力クロック￣ＩＮは、時刻ｔ２５から時刻ｔ３３まで最初の１周期を経て、時刻ｔ３３においてハイレベルに移行する。これに応答して、信号ＲＩＮＧＥＮ’は時刻ｔ３４においてローレベルに移行する。また、信号ＬＴＣＥＮ’は、時刻ｔ２７において入力クロック￣ＩＮがローレベルに移行したことに応答して時刻ｔ３１でローレベルに移行する。よって、検出部１６’は、入力クロック￣ＩＮの最初の１周期のハイレベルの期間に相当する時刻ｔ２６から時刻ｔ３１の期間を検出部１６と同様の方法により検出する。そして、検出部１６’は、信号ＳＦ’＿１〜ＳＦ’＿４およびＳＣ’＿１〜ＳＣ’＿３の組により、入力クロック￣ＩＮの最初の１周期のハイレベルの期間を表す情報を生成する。
【０１２６】
コード生成部１７は、信号ＳＦ、ＳＣ、ＳＦ’、およびＳＣ’から、入力クロックＩＮの最初の１周期のハイレベルの期間の長さおよび入力クロック￣ＩＮの最初の１周期のハイレベルの期間の長さを知ることができる。よって、コード生成部１７は、第１実施形態のコード生成部１２と同様にして、入力クロックＩＮおよび￣ＩＮの最初の１周期の各々のハイレベルの期間の長さから、コード信号ＣＯＤＥ＿ＡおよびＣＯＤＥ＿Ｂを生成することができる。
【０１２７】
＜２．３．利点（効果）＞
第２実施形態の補正回路１は、第１実施形態と同じく、入力クロックＩＮのハイレベルの期間と、入力クロック￣ＩＮのハイレベルの期間を検出し、検出された期間の差に基づく量だけ、入力クロックＩＮまたは￣ＩＮに基づく信号を遅延させて、信号ＣＳ１およびＣＳ２を生成する。このため、第１実施形態と同じ利点を得られる。
【０１２８】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１２９】
１…補正回路、２…半導体装置、３…入出力回路、４…機能回路、１１…検出部、１２…コード生成部、１３…遅延調整部、１４…波形整形部、１６…検出部、１７…コード生成部、１８…波形整形部、２１…クロック生成回路、２２…遅延ライン、４１…クロック生成回路、４２…遅延ライン、４３…デコーダ。
【図１】
2019169826.tif 000003
【図２】
2019169826.tif 000004
【図３】
2019169826.tif 000005
【図４】
2019169826.tif 000006
【図５】
2019169826.tif 000007
【図６】
2019169826.tif 000008
【図７】
2019169826.tif 000009
【図８】
2019169826.tif 000010
【図９】
2019169826.tif 000011
【図１０】
2019169826.tif 000012
【図１１】
2019169826.tif 000013
【図１２】
2019169826.tif 000014
【図１３】
2019169826.tif 000015
【図１４】
2019169826.tif 000016
【図１５】
2019169826.tif 000017
【図１６】
2019169826.tif 000018
【図１７】
2019169826.tif 000019
【図１８】
2019169826.tif 000020
【図１９】
2019169826.tif 000021
【図２０】
2019169826.tif 000022
【図２１】
2019169826.tif 000023
【図２２】
2019169826.tif 000024
【図２３】
2019169826.tif 000025
【図２４】
2019169826.tif 000026
【図２５】
2019169826.tif 000027