(57)【特許請求の範囲】
【請求項１】
２ビットのパラレルデータを１ビットのシリアルデータに変換して出力する出力ブロックを複数個有する出力部と、
基準クロックに応じて、レイテンシ調整信号、第１位相調整信号および複数の第２位相調整信号を生成する制御信号生成回路と、
前記第１位相調整信号に基づいて、前記基準クロックに応じた第１クロックを生成する第１クロック生成部と、
前記複数の第２位相調整信号のそれぞれに基づいて、前記第１クロックに応じた第２クロックおよび前記第２クロックを反転した反転第２クロックをそれぞれ生成する複数の第２クロック生成部と、
を有し、
前記出力ブロックのそれぞれは、
前記２ビットのパラレルデータを、前記基準クロックおよび前記基準クロックを反転した反転基準クロックで順次ラッチし、前記レイテンシ調整信号に基づいて、ラッチしたデータから２つを選択して出力するレイテンシ拡張回路と、
前記レイテンシ拡張回路に対して設けられ、レイテンシ拡張回路の出力する２つのデータの一方を、前記出力ブロックに対応する前記第２クロックに同期してラッチして前記第２クロックの半周期間出力し、前記レイテンシ拡張回路の出力する２つのデータの他方を前記反転第２クロックに同期してラッチして前記第２クロックの半周期間出力する２クロックフリップフロップ回路と、を備え、
前記レイテンシ拡張回路は、
前記２ビットのパラレルデータの一方を入力とし、前段は前記基準クロックに同期してラッチし、後段は前記反転基準クロックに同期してラッチする２段のラッチ回路を含む第１遅延回路と、
前記２ビットのパラレルデータの他方を入力とし、前段は前記基準クロックに同期してラッチし、中段は前記反転基準クロックに同期してラッチし、後段は前記基準クロックに同期してラッチする３段のラッチ回路を含む第２遅延回路と、
前記レイテンシ調整信号に基づいて、前記第１遅延回路の前段の出力と後段の出力の一方を選択する第１選択回路と、
前記レイテンシ調整信号に基づいて、前記第２遅延回路の中段の出力と後段の出力の一方を選択する第２選択回路と、を備え、
前記２クロックフリップフロップ回路は、
前記第１選択回路の出力を、前記第２クロックに同期してラッチして前記第２クロックの半周期間出力し、前記第２選択回路の出力を、前記反転第２クロックに同期してラッチして前記反転第２クロックの半周期間出力する、
ことを特徴とする出力回路。
【請求項２】
２ビットのパラレルデータを１ビットのシリアルデータに変換して出力する出力ブロックを複数個有する出力部と、
基準クロックに応じて、レイテンシ調整信号、第１位相調整信号および複数の第２位相調整信号を生成する制御信号生成回路と、
前記第１位相調整信号に基づいて、前記基準クロックに応じた第１クロックを生成する第１クロック生成部と、
前記複数の第２位相調整信号のそれぞれに基づいて、前記第１クロックに応じた第２クロックおよび前記第２クロックを反転した反転第２クロックをそれぞれ生成する複数の第２クロック生成部と、
を有し、
前記出力ブロックのそれぞれは、
前記２ビットのパラレルデータを、前記基準クロックおよび前記基準クロックを反転した反転基準クロックで順次ラッチし、前記レイテンシ調整信号に基づいて、ラッチしたデータから２つを選択して出力するレイテンシ拡張回路と、
前記レイテンシ拡張回路に対して設けられ、レイテンシ拡張回路の出力する２つのデータの一方を、前記出力ブロックに対応する前記第２クロックに同期してラッチして前記第２クロックの半周期間出力し、前記レイテンシ拡張回路の出力する２つのデータの他方を前記反転第２クロックに同期してラッチして前記第２クロックの半周期間出力する２クロックフリップフロップ回路と、を備え、
前記レイテンシ拡張回路は、
前記２ビットのパラレルデータの一方を入力とし、前段は前記基準クロックに同期してラッチし、後段は前記反転基準クロックに同期してラッチする２段のラッチ回路を含む第１遅延回路と、
前記２ビットのパラレルデータの他方を入力とし、前段は前記基準クロックに同期してラッチし、中段は前記反転基準クロックに同期してラッチし、後段は前記基準クロックに同期してラッチする３段のラッチ回路を含む第２遅延回路と、
前記レイテンシ調整信号に基づいて、前記第１遅延回路の前段の出力と前記第２遅延回路の後段の出力の一方を選択する第１選択回路と、
前記レイテンシ調整信号に基づいて、前記第２遅延回路の中段の出力と前記第１遅延回路の後段の出力の一方を選択する第２選択回路と、を備え、
前記２クロックフリップフロップ回路は、
前記第１選択回路の出力を、前記第２クロックに同期してラッチして前記第２クロックの半周期間出力し、前記第２選択回路の出力を、前記反転第２クロックに同期してラッチして前記反転第２クロックの半周期間出力する、
ことを特徴とする出力回路。
【請求項３】
前記レイテンシ拡張回路は、
前記第１遅延回路の後段の出力を前記基準クロックに同期してラッチする第１周期遅延ラッチ回路と、
前記第２遅延回路の後段の出力を前記反転基準クロックに同期してラッチする第２周期遅延ラッチ回路と、
前記レイテンシ調整信号に基づいて、前記第１遅延回路の前段と後段の出力の一方を選択する第３選択回路と、
前記レイテンシ調整信号に基づいて、前記第１遅延回路の後段の出力と前記第１周期遅延ラッチ回路の出力の一方を選択する第４選択回路と、
前記レイテンシ調整信号に基づいて、前記第２遅延回路の中段と後段の出力の一方を選択する第５選択回路と、
前記レイテンシ調整信号に基づいて、前記第２遅延回路の後段の出力と前記第２周期遅延ラッチ回路の出力の一方を選択する第６選択回路と、を備え、
前記第１選択回路は、前記レイテンシ調整信号に基づいて、前記第３選択回路の出力と前記第６選択回路の出力の一方を選択し、
前記第２選択回路は、前記レイテンシ調整信号に基づいて、前記第５選択回路の出力と前記第４選択回路の出力の一方を選択する、
ことを特徴とする請求項２に記載の出力回路。
【請求項４】
前記第１クロック生成部は、
前記基準クロックを、前記第１位相調整信号に基づいて第１位相量分遅延して前記第１クロックを生成する第１ＤＬＬ回路を有し、
前記第２クロック生成部は、
前記第１ＤＬＬ回路から出力される前記第１クロックを、前記第２位相調整信号に基づいて第２位相量分遅延して前記第２クロックを生成する第２ＤＬＬ回路を有する、
ことを特徴とする請求項１から３のいずれか１項に記載の出力回路。
【請求項５】
前記制御信号生成回路は、前記第１位相量に基づいて前記レイテンシ調整信号を生成する、
ことを特徴とする請求項４に記載の出力回路。
【請求項６】
前記制御信号生成回路は、前記第１位相量と前記複数の第２クロック生成部のそれぞれの前記第２位相量との加算結果のそれぞれに基づいて前記複数の出力ブロックのそれぞれに対応する前記レイテンシ調整信号を生成する、
ことを特徴とする請求項４に記載の出力回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、出力回路に関する。
【背景技術】
【０００２】
近年、インターフェースの高速化が進んでおり、数Ｇｂｐｓ（ビット／秒）のビットレートでデータの送受信が行われる。ＤＤＲ(Double Data Rate)−ＳＤＲＡＭ(Synchronous Dynamic Random Access Memory)などのメモリ素子も高速化しており、それに伴い主回路とＤＤＲ−ＳＤＲＡＭ間のインターフェースも高速動作が要求される。例えば、２．１３３Ｇｂｐｓで動作するＳＤＲＡＭに対するインターフェースは、ＤＤＲであるので、送信クロックは１．０６６ＧＨｚであるが、入出力動作は２．１３３ＧＨｚのクロックで制御する必要がある。さらに、このようなインターフェースでは、データレートを向上するため、複数ビットのデータをパラレル伝送する場合がある。そのような場合、ビット間のタイミングスキューをキャンセルする位相調整ユニット(De-Skew Unit)を設けて、データ出力の位相調整を行う。ここでは、送信クロックで位相調整を行う出力回路を対象とする。
【０００３】
内部回路は、高速で動作するのは難しいため、低速で動作し、出力回路で複数ビットのパラレルデータを高速のシリアルデータに変換する。上記のように、インターフェースで複数ビットのデータをパラレル伝送する場合には、出力回路で、例えば、Ｎ（Ｎ：２の累乗）ビットのパラレルデータを１ビットのシリアルデータに変換する出力ブロックをＭビット分備え、Ｍビット間のスキューがゼロになるように調整して出力する。スキューの調整は、あらかじめトレーニングモードでスキューを無くすための調整量を検出して記憶しておき、通常動作時には記憶した調整量にしたがってスキュー調整を行う。
【０００４】
上記のような高速になると、内部回路から出力回路に入力されるデータのスキューおよび出力回路から出力端子に至る信号経路のスキューも無視できないレベルになる。Ｍビットの出力ブロックのそれぞれにおいて、Ｎビットパラレルデータを１ビットのシリアルデータに変換して出力する場合、最終段のステージで、２ビットのパラレルデータを１ビットのシリアルデータに変換する。最終段以外のステージは、送信クロックの周波数またはその１／２倍以下の周波数で動作する回路であり、回路動作マージンも比較的大きい。これに対して、最終段のステージは、送信クロックの２倍の周波数で動作する回路であり、高周波数のクロックで位相調整ユニットを動作させるため、消費電力が大きく、回路動作マージンも小さい。
【０００５】
また、位相調整ユニットは、ＤＬＬ(Delay Locked Loop)で形成されるが、出力するＭビットごとにＤＬＬを配置するため、ＤＬＬにおける立上り(Rise)／立下り(Fall)の不一致が生じる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０００−０２２６７７号公報
【特許文献２】特開平１１−１７７５４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
Ｍビットの出力ブロックのそれぞれにおいてＮビットのパラレルデータを１ビットのシリアルデータに変換し、Ｍビット間のスキューがゼロになるように調整して出力する出力回路で、消費電力を低減し、回路動作マージンが大きくすることが望まれている。
【課題を解決するための手段】
【０００８】
第１の態様の出力回路は、出力部と、制御信号生成回路と、第１クロック生成部と、複数の第２クロック生成部と、を有する。出力部は、２ビットのパラレルデータを１ビットのシリアルデータに変換して出力する出力ブロックを複数個有する。制御信号生成回路は、基準クロックに応じて、レイテンシ調整信号、第１位相調整信号および複数の第２位相調整信号を生成する。第１クロック生成部は、第１位相調整信号に基づいて、基準クロックに応じた第１クロックを生成する。複数の第２クロック生成部は、複数の第２位相調整信号のそれぞれに基づいて、第１クロックに応じた第２クロックおよび第２クロックを反転した反転第２クロックをそれぞれ生成する。出力ブロックのそれぞれは、レイテンシ拡張回路と、２クロックフリップフロップ回路と、を備える。レイテンシ拡張回路は、２ビットのパラレルデータを、基準クロックおよび基準クロックを反転した反転基準クロックで順次ラッチし、レイテンシ調整信号に基づいて、ラッチしたデータから２つを選択して出力する。２クロックフリップフロップ回路は、レイテンシ拡張回路に対して設けられ、レイテンシ拡張回路の出力する２つのデータの一方を、出力ブロックに対応する第２クロックに同期してラッチして第２クロックの半周期間出力し、レイテンシ拡張回路の出力する２つのデータの他方を反転第２クロックに同期してラッチして第２クロックの半周期間出力する。レイテンシ拡張回路は、２ビットのパラレルデータの一方を入力とし、前段は基準クロックに同期してラッチし、後段は反転基準クロックに同期してラッチする２段のラッチ回路を含む第１遅延回路と、２ビットのパラレルデータの他方を入力とし、前段は基準クロックに同期してラッチし、中段は反転基準クロックに同期してラッチし、後段は基準クロックに同期してラッチする３段のラッチ回路を含む第２遅延回路と、レイテンシ調整信号に基づいて、第１遅延回路の前段の出力と後段の出力の一方を選択する第１選択回路と、レイテンシ調整信号に基づいて、第２遅延回路の中段の出力と後段の出力の一方を選択する第２選択回路と、を備える。２クロックフリップフロップ回路は、第１選択回路の出力を、第２クロックに同期してラッチして第２クロックの半周期間出力し、第２選択回路の出力を、反転第２クロックに同期してラッチして反転第２クロックの半周期間出力する。
【発明の効果】
【０００９】
実施形態の出力回路によれば、２ビットのパラレルデータから１ビットのシリアルデータへの変換は、２クロックフリップフロップ回路で行われる。そのため、レイテンシ拡張回路は、基準クロックおよび反転基準クロックに同期して動作し、２クロックフリップフロップ回路は、基準クロックと同じ周波数の送信クロックおよび反転送信クロックに同期して動作すればよい。このように、レイテンシ拡張回路は、送信クロックと同じ周波数の基準クロックで動作し、送信クロックの２倍の周波数で動作しないので、消費電力が小さく、回路動作マージンが大きくなる。
【図面の簡単な説明】
【００１０】
【図１】図１は、Ｍビットの出力ブロックのそれぞれにおいてＮビットのパラレルデータを１ビットのシリアルデータに変換し、Ｍビット間のスキューがゼロになるように調整して出力する一般的な出力回路の構成を示す図である。
【図２】図２は、スキュー調整を説明する図であり、（Ａ）がレイテンシ拡張回路およびビット間に共通のスキュー位相の調整を、（Ｂ）がビット毎のスキュー調整を説明する。
【図３】図３は、各ビット毎のビットスライス回路の回路構成を、ＰＬＬおよびビット間共通遅延を行うＤＬＬと共に示す図である。
【図４】図４は、ビットスライス回路の動作を示すタイムチャートである。
【図５】図５は、第１実施形態の出力回路の、Ｍ（ここではＭ＝３）ビットの出力ブロックのそれぞれにおいて２ビットのパラレルデータを１ビットのシリアルデータに変換する最終段の構成を示す図である。
【図６】図６は、２ＣＬＫ−ＦＦを表すシンボルおよび動作の真理値表を示す図であり、（Ａ）がシンボルを、（Ｂ）が真理値表を示す。
【図７】図７は、２ＣＬＫ−ＦＦの動作を示すタイムチャートである。
【図８】図８は、２ＣＬＫ−ＦＦの具体的な構成例を示す回路図である。
【図９】図９は、１つのビットスライス回路の構成を示す回路図である。
【図１０】図１０は、ビットスライス回路の動作を示すタイムチャートである。
【図１１】図１１は、ＤＬＬ(Delay Locked Loop)の構成例を示す回路であり、（Ａ）が全体構成を、（Ｂ）がディレイユニットを示す。
【図１２】図１２は、第１実施形態の出力回路で使用するＩＳＦＴ［７：０］およびセレクタ信号ＩＳＥＬＡの真理値表を示す図であり、セレクタの出力と、ＩＳＦＴに対応する位相調整量を示す。
【図１３】図１３は、第２実施形態の出力回路の１つのビットスライス回路の構成を示す回路図である。
【図１４】図１４は、第２実施形態におけるビットスライス回路の動作を示すタイムチャートである。
【図１５】図１５は、第３実施形態の出力回路の１つのビットスライス回路の構成を示す回路図である。
【図１６】図１６は、位相範囲に対応したレイテンシ制御信号および選択される信号の関係を示す真理値表である。
【図１７】図１７は、第３実施形態において、ＩＳＥＬＡ＝０とした時のビットスライス回路の動作を示すタイムチャートである。
【図１８】図１８は、第３実施形態において、ＩＳＥＬＡ＝１とした時のビットスライス回路の動作を示すタイムチャートである。
【発明を実施するための形態】
【００１１】
実施形態の出力回路を説明する前に、Ｍビットの出力ブロックのそれぞれにおいてＮビットのパラレルデータを１ビットのシリアルデータに変換し、Ｍビット間のスキューがゼロになるように調整して出力する出力回路の一般的な例を説明する。
【００１２】
図１は、Ｍビットの出力ブロックのそれぞれにおいてＮビットのパラレルデータを１ビットのシリアルデータに変換し、Ｍビット間のスキューがゼロになるように調整して出力する一般的な出力回路の構成を示す図である。図１は、Ｍビットの出力ブロックのそれぞれにおいて、Ｎビットのパラレルデータが２ビットのパラレルデータまで変換され、２ビットのパラレルデータを１ビットのシリアルデータに変換する部分を示している。図１では、Ｍ＝３である。Ｍビットの出力ブロックのそれぞれにおいてＮビットのパラレルデータを２ビットのパラレルデータに変換する処理は、送信クロックの周波数またはその１／２倍以下の周波数で動作する回路であり、回路動作マージンが比較的大きく、回路動作マージンもあまり問題にならない。そのため、ここでは、Ｍビットの出力ブロックのそれぞれにおいて２ビットのパラレルデータを１ビットのシリアルデータに変換する部分を説明する。図１の出力回路は、３ビットの出力ブロックのそれぞれにおいて、２ビットのパラレルデータを１ビットのシリアルデータに変換し、変換した１ビットのシリアルデータを送信クロックに同期してＤＤＲ(Double Data Rate)で出力する。
【００１３】
出力回路は、ＰＬＬ(Phase Locked Loop)１１と、制御信号生成回路１２と、ＤＬＬ＿Ａ(Delay Locked Loop)１３と、３個のビットスライス回路２０Ａ−２０Ｃと、出力バッファ２５Ａ−２５Ｃと、を有する。ＰＬＬ１１は、送信クロックと同じ周波数の基準クロックＸ１ＣＬＫ（Ｒｅｆ．ＣＬＫ）およびその２倍の周波数の倍周クロックＸ２ＣＬＫ（高速ＣＬＫ）を発生する。制御信号生成回路１２は、Ｒｅｆ．ＣＬＫから後述するレイテンシ調整信号および位相調整信号を生成する。ＤＬＬ＿Ａ１３は、高速ＣＬＫを、３個のビットスライス回路２０Ａ−２０Ｃに共通の遅延分だけ遅延する。
【００１４】
３個のビットスライス回路２０Ａ−２０Ｃは、パラレル／シリアル変換回路２１Ａ−２１Ｃと、レイテンシ拡張回路２２Ａ−２２Ｃと、ラッチ（ＦＦ）回路２３Ａ−２３Ｃと、ＤＬＬ＿Ｚ２４Ａ−２４Ｃと、を有する。パラレル／シリアル変換回路２１Ａ−２１Ｃは、高速ＣＬＫに同期して、２ビットのパラレルデータ入力データＩＤＱ０［１：０］、ＩＤＱ１［１：０］およびＩＤＱ２［１：０］を、１ビットのパラレルデータに変換する。前述のように、データはＤＤＲで出力され、送信クロック（基準クロック）の立上りと立下りで変化するため、クロックの立上りに同期して動作するＦＦを使用する場合には、Ｒｅｆ．ＣＬＫの２倍の周波数の高速ＣＬＫを使用する。
【００１５】
ＩＤＱ０［１：０］、ＩＤＱ１［１：０］およびＩＤＱ２［１：０］は、信号経路の配置などに起因して、ある程度の位相差（スキュー）を有する。高速の最終段の回路では、このスキューが問題となる。そこで、レイテンシ拡張回路２２Ａ−２２Ｃが、３つのビット間のスキューを調整する。以下、スキュー調整について説明する。なお、ここでは、スキューは、Ｒｅｆ．ＣＬＫの１周期より小さいものとして説明するが、これに限定されるものではない。スキューがＲｅｆ．ＣＬＫの１周期より大きい場合のレイテンシ拡張回路は、知られているので、説明は行わない。
【００１６】
図２は、スキュー調整を説明する図であり、（Ａ）がレイテンシ拡張回路およびビット間に共通のスキュー位相の調整を、（Ｂ）がビット毎のスキュー調整を説明する。
【００１７】
図２の（Ａ）に示すように、パラレル／シリアル変換回路２１Ａ−２１Ｃの出力するＤＱ０、ＤＱ１よびＤＱ２は、Ｒｅｆ．ＣＬＫに対してそれぞれスキューを有している。そこで、あらかじめトレーニングモードにおいて、Ｒｅｆ．ＣＬＫの立上りエッジが、ＤＱ０、ＤＱ１およびＤＱ２の変化エッジの範囲の中心になるように位相シフトするビット（Ｂｉｔ）間共通の遅延（Ｄｅｌａｙ）を求めておく。制御信号生成回路１２は、このビット間共通のＤｅｌａｙを調整するためのレイテンシ調整信号およびＦＦ２３Ａ−２３Ｃに供給するクロックの位相制御のための第１位相調整信号として記憶する。
【００１８】
しかし、図２の（Ａ）のスキュー調整では、依然ＤＱ０、ＤＱ１よびＤＱ２のＲｅｆ．ＣＬＫに対するスキューを残っている。そこで、図２の（Ｂ）に示すように、トレーニングモードでは、ＤＱ０、ＤＱ１よびＤＱ２の位相を個別にシフトして、変化エッジをＲｅｆ．ＣＬＫの立上りエッジに一致させるビット毎のＤｅｌａｙを求め、第２位相調整信号として記憶する。
【００１９】
トレーニングモードでは、レイテンシ調整信号、第１位相調整信号および第２位相調整信号を合わせた位相シフト量をスイープ(Sweep)して最適なレイテンシ調整信号および第１位相調整信号を求める。レイテンシ調整信号、第１位相調整信号および第２位相調整信号は、制御信号生成回路１２に付属したレジスタに記憶される。
【００２０】
通常動作時には、レイテンシ拡張回路２２Ａ−２２Ｃは、制御信号生成回路１２からのレイテンシ調整信号に応じてＤＱ０、ＤＱ１よびＤＱ２を遅延する。ＤＬＬ＿Ａ１３は、第１位相調整信号に応じて高速ＣＬＫを遅延する。ラッチ回路２３Ａ−２３Ｃは、第１位相調整信号に応じて位相調整された高速ＣＬＫに同期して、レイテンシ調整されたＤＱ０、ＤＱ１よびＤＱ２をラッチする。ＤＬＬ＿Ｚ２４Ａ−２４Ｃは、第２位相調整信号にしたがって、ラッチ回路２３Ａ−２３Ｃの出力をそれぞれ遅延して位相の揃った１ビットシリアルデータを、出力バッファ２５Ａ−２５Ｃに出力する。
【００２１】
以上のようにして、通常動作時には、制御信号生成回路１２が、レジスタに記憶されたにレイテンシ調整信号、第１位相調整信号および第２位相調整信号を各部に出力することにより、ビット間スキューが抑えられた状態のＤＱ０−ＤＱ２が出力される。
【００２２】
図３は、各ビット毎のビットスライス回路２０の回路構成を、ＰＬＬ１１およびＤＬＬ＿Ａ１３と共に示す図である。
図４は、ビットスライス回路２０の動作を示すタイムチャートである。
【００２３】
図３および図４は、送信クロックおよびＲｅｆ．ＣＬＫ（Ｘ１ＣＬＫ）が１．０６６ＧＨｚで、高速ＣＬＫ（Ｘ２ＣＬＫ）が２．１３３ＧＨｚである場合の例を示す。したがって、出力は、１．０６６ＧＨｚのＤＤＲで出力され、２．１３３ＧＨｚのクロック周期で変化する。
【００２４】
図３のビットスライス回路２０のラッチ回路（ＦＦ：フリップフロップ）３１−３４、選択回路（セレクタ）３５およびインバータ３６は、レイテンシ拡張回路２２を形成する。図３では、パラレル／シリアル変換回路は図示を省略している。また、２ビットパラレルの入力データとして、Ｄ０およびＤ１が入力される。
【００２５】
図３および図４に示すように、ＰＬＬ１１は、Ｘ１ＣＬＫ（１．０６６ＧＨｚ）およびＸ２ＣＬＫ（２．１３３ＧＨｚ）を生成する。図３および図４では、Ｘ２ＣＬＫ（高速ＣＬＫ）を、ＡＣＬＫ（２．１３３ＧＨｚ）で表し、それをインバータ３６で反転した信号を／ＡＣＬＫで表す。ＤＬＬは、ビット間共通の位相調整を行うＤＬＬ＿Ａ１３と、各ビット毎の位相調整を行うＤＬＬ＿Ｚ２４と、を有する。
【００２６】
図３では図示していないパラレル／シリアル変換回路において、図４に示すように、２ビットパラレルの入力データＤ０、Ｄ１が、シリアルデータＩＮにパラレル/シリアル変換される。
【００２７】
シリアルデータＩＮを、Ｘ２ＣＬＫの正相／逆相クロックＡＣＬＫおよび／ＡＣＬＫにより、図３に示すように、直列／並列接続された４個のＦＦ３１−３４に取り込む。ＦＦ３１−３４の出力を、順にｎ０，ｎ１，ｎ２，ｎ３とする。図４に示すように、ｎ０−ｎ３は順にＸ２ＣＬＫの半周期分ずつずれることになる。
【００２８】
各ビット共通のＤＬＬ＿Ａ１３を使用して、Ｘ２ＣＬＫの位相を４５ｄｅｇ．（度）〜２２５ｄｅｇ．までずらし（シフトし）、位相調整したクロックＢＣＬＫとして出力する。なお、位相シフト量は、Ｘ１ＣＬＫにおける位相で表し、このような形式で表すことを、上記のシフト量を例にすれば、４５ｄｅｇ．〜２２５ｄｅｇ．＠Ｒｅｆ．ＣＬＫで表す。
【００２９】
ここでは、前述のレイテンシ制御信号は、Ｓ０，Ｓ１の２ビットの信号である。選択回路３５は、Ｓ０およびＳ１に応じて、ｎ０−ｎ３の中から一つの出力を選択して出力する。ＦＦ２３は、上記のＢＣＬＫに同期して、選択回路３５の出力を取り込む。
【００３０】
Ｘ２ＣＬＫを４５ｄｅｇ．〜１３５ｄｅｇ．＠Ｒｅｆ．ＣＬＫの範囲でシフトする場合、選択回路３５がｎ０を選択していれば、ＦＦ２３は、ｎ０を取り込み、選択回路３５がｎ２を選択していれば、ＦＦ２３は、ｎ２を取り込む。Ｘ２ＣＬＫを１３５ｄｅｇ．〜２２５ｄｅｇ．＠Ｒｅｆ．ＣＬＫの範囲でシフトする場合、選択回路３５がｎ１を選択していれば、ＦＦ２３は、ｎ１を取り込み、選択回路３５がｎ３を選択していれば、ＦＦ２３は、ｎ３を取り込む。
【００３１】
さらに、ＤＬＬ＿Ｚ２４は、各ビットのそれぞれの位相を０ｄｅｇ．〜９０ｄｅｇ．〜Ｘ１ＣＬＫの範囲で調整し、出力バッファ２５Ａ−２５Ｃから出力される出力データの位相を合わせる。
【００３２】
以上説明したよう出力回路では、上記動作により、広範囲に亘る位相調整が可能で、ビット間スキューも吸収できる。しかし、上記の出力回路は、以下のような課題を有する。
【００３３】
（１）２．１３３ＧＨｚのクロック周期で変化する出力を得るには、２．１３３ＧＨｚの制御ＣＬＫ（高周波ＣＬＫ）を使用するため、高速動作回路であることが求められる。
（２）デスキューユニット（ビットスライス回路）は、高周波ＣＬＫで動作するため、回路動作マージンが相対的に小さく、消費電力も大きい。
（３）上記の出力回路の構成では、図１に示すように、ビットスライス回路２０Ａ−２０Ｃの最終段毎にＤＬＬ＿Ｚ２４Ａ−２４Ｃを配置しているため、ＤＬＬにおける立上り(Rise)／立下り(Fall)の不一致が生じやすい。また、ビットスライス回路２０Ａ−２０Ｃの回路面積が大きくなる。
【００３４】
以下に説明する実施形態では、消費電力を低減し、回路動作マージンが大きくした出力回路が開示される。
【００３５】
第１実施形態の出力回路は、Ｍビットの出力ブロックのそれぞれにおいてＮビットのパラレルデータを１ビットのシリアルデータに変換し、Ｍビット間のスキューがゼロになるように調整して出力する出力回路である。第１実施形態の出力回路は、上記の課題を解決するため、以下のような構成を有する。
【００３６】
（１）消費電力を削減し、デスキューユニットの回路動作マージンを確保するため、制御クロックを、送信クロックと同じ周波数の基準クロック（Ｘ１ＣＬＫ）とする。言い換えれば、周波数が２倍の高速クロック（Ｘ２ＣＬＫ）は使用しない。
【００３７】
（２）（１）の事項を可能にするため、Ｘ１ＣＬＫで動作するレイテンシ拡張回路および位相制御回路（２クロックフリップフロップ（２ＣＬＫ−ＦＦ））を新たに用いる。
【００３８】
（３）ビット毎のＤＬＬ＿Ｚを、ビットスライス回路ごとに配置せず、共通のＤＬＬ＿Ａのクロックパス(CLK Path)上に配置する。
【００３９】
以下、以上のような構成を実現する第１実施形態の出力回路を説明する。
図５は、第１実施形態の出力回路の、Ｍ（ここではＭ＝３）ビットの出力ブロックのそれぞれにおいて２ビットのパラレルデータを１ビットのシリアルデータに変換する最終段の構成を示す図である。
【００４０】
第１実施形態の出力回路は、ＰＬＬ４１と、制御信号生成回路４２と、ＤＬＬ＿Ａ４３と、３個のＤＬＬ＿Ｚ４４Ａ−４４Ｃと、３個のビットスライス回路５０Ａ−５０Ｃと、出力バッファ５４Ａ−５４Ｃと、を有する。
【００４１】
ＰＬＬ４１は、送信クロックと同じ周波数の基準クロックＸ１ＣＬＫ（Ｒｅｆ．ＣＬＫ）を発生する。制御信号生成回路４２は、Ｒｅｆ．ＣＬＫからレイテンシ調整信号および位相調整信号を生成する。ＤＬＬ＿Ａ４３は、Ｘ１ＣＬＫを共通の遅延分だけ遅延する。３個のＤＬＬ＿Ｚ４４Ａ−４４Ｃは、ＤＬＬ＿Ａ４３の出力するビット間共通スキューを調整したクロックを、ビット間スキュー分それぞれ調整する。
【００４２】
３個のビットスライス回路５０Ａ−５０Ｃは、レイテンシ拡張回路５１Ａ−５１Ｃと、２クロックフリップフロップ回路（２ＣＬＫ−ＦＦ）回路５２Ａ−５２Ｃと、インバータ５３Ａ−５３Ｃと、を有する。
【００４３】
以上の通り、第１実施形態の出力回路では、パラレル／シリアル変換を行う前に、レイテンシ拡張を行い、ビットスライス回路５０Ａ−５０Ｃの最終段のＦＦとして２ＣＬＫ−ＦＦ５２Ａ−５２Ｃを設ける。後述するように、２ＣＬＫ−ＦＦは、位相が異なる二種類のＣＬＫの立ち上がりで、二つのデータを取り込み、シリアルデータとして出力する。言い換えれば、２ビットのパラレルデータを１ビットのシリアルデータに変換するパラレル／シリアル変換を行う。さらに、２ＣＬＫ−ＦＦ５２Ａ−５２Ｃの入力ＣＬＫを、ＤＬＬ＿Ａ４３およびＤＬＬ＿Ｚ４４Ａ−４４Ｃでスイープさせて位相調整を行い、位相調整したクロックを２ＣＬＫ−ＦＦに入力することにより、位相制御を行う。このように、２ＣＬＫ−ＦＦ５２Ａ−５２Ｃは、パラレル／シリアル変換とビット間スキューを調整する位相調整を同時に行う。
【００４４】
レイテンシ拡張回路５１Ａ−５１Ｃも、Ｘ１ＣＬＫおよびＸ１ＣＬＫを反転した反転Ｘ１ＣＬＫで制御される。上記のように、２ＣＬＫ−ＦＦ５２Ａ−５２Ｃの入力クロックをスイープさせて位相制御を行うが、その位相調整量に応じて、レイテンシ拡張回路５１Ａ−５１Ｃの出力を選択することにより、２ＣＬＫ−ＦＦ５２Ａ−５２Ｃによるデータ取得範囲を拡張する。
【００４５】
ＤＬＬ＿Ｚ４４Ａ−４４Ｃは、ビットスライス回路５０Ａ−５０Ｃの最終段毎に設けるのはなく、２ＣＬＫ−ＦＦ５２Ａ−５２Ｃの入力側のクロックパス上、具体的にはビット間共通のＤＬＬ＿Ｚ４３付近に近接して配置する。
【００４６】
図６は、２ＣＬＫ−ＦＦを表すシンボルおよび動作の真理値表を示す図であり、（Ａ）がシンボルを、（Ｂ）が真理値表を示す。
【００４７】
図６の（Ａ）に示すように、２ＣＬＫ−ＦＦは、２つの入力データＤＡＴＡ０およびＤＡＴＡ１と、２つのクロックＣＬＫ０およびＣＬＫ１を受け、１つの出力データＱを出力する。
【００４８】
図６の（Ｂ）の真理値表に示すように、２ＣＬＫ−ＦＦは、ＣＬＫ１が高（Ｈ）レベルまたは低（Ｌ）レベルの時に、ＣＬＫ０が立上るとＤＡＴＡ０をラッチし、Ｑとして出力するが、ＣＬＫ０の立下りではＱは変化せず、維持される。２ＣＬＫ−ＦＦは、ＣＬＫ０がＨまたはＬの時に、ＣＬＫ１が立上るとＤＡＴＡ１をラッチし、Ｑとして出力するが、ＣＬＫ１の立下りではＱは変化せず、維持される。したがって、同時に立上ることのない（立上りが所定時間以上離れている）ＣＬＫ０とＣＬＫ１を入力することが求められる。
【００４９】
図７は、２ＣＬＫ−ＦＦの動作を示すタイムチャートである。
図５に示すように、第１実施形態では、２ＣＬＫ−ＦＦのＣＬＫ０およびＣＬＫ１として位相調整したクロックとその反転クロックが入力されており、図７でも、ＣＬＫ０およびＣＬＫ１として反転関係にあるクロックが入力される例が示される。
【００５０】
ＣＬＫ０の立上りエッジに対して、ＤＡＴＡ０は、所定のセットアップ時間(Setup)およびホールド時間(Hold)安定であることが求められ、ＣＬＫ０の立上りエッジから遅延時間(Delay)後に出力ＱがＤＡＴＡ０に対応するデータＶａｌｉｄ００に変化する。同様に、ＣＬＫ１の立上りエッジに対して、ＤＡＴＡ１は、所定のセットアップ時間およびホールド時間安定であることが求められ、ＣＬＫ１の立上りエッジから遅延時間後に出力ＱがＤＡＴＡ１に対応するデータＶａｌｉｄ１０に変化する。上記のように、ＣＬＫ０とＣＬＫ１が反転関係にあれば、クロックの半周期で、ＤＡＴＡ０とＤＡＴＡ１が交互にＱとして出力される。言い換えれば２ビットパラレルデータＤＡＴＡ０およびＤＡＴＡ１が、１ビットシリアルデータに変換されて出力される。
【００５１】
図８は、２ＣＬＫ−ＦＦの具体的な構成例を示す回路図である。
図８の下側の回路では、ＣＬＫ０およびＣＬＫ１から、１ショットパルスＮＣＬＫＰ０ＺおよびＮＣＬＫＰ０Ｘと、ＮＣＬＫＰ１ＺおよびＮＣＬＫＰ１Ｘと、が生成される。このような１ショットパルス生成回路は広く知られているので、説明は省略する。図８の下側の回路では、さらにクロックＮＣＬＫ０Ｚ、ＮＣＬＫ０Ｘ、ＮＣＬＫ１ＺおよびＮＣＬＫ１Ｘが生成される。
【００５２】
図８の上側の回路では、ＤＡＴＡ０をクロックＮＣＬＫ０Ｚ、ＮＣＬＫ０Ｘに同期してラッチし、ＤＡＴＡ１をクロックＮＣＬＫ１Ｚ、ＮＣＬＫ１Ｘに同期してラッチする。そして、ラッチしたデータを、１ショットパルスＮＣＬＫＰ０ＺおよびＮＣＬＫＰ０Ｘと、１ショットパルスＮＣＬＫＰ１ＺおよびＮＣＬＫＰ１Ｘに同期して後段のラッチ回路に交互にラッチし、出力データＱとして出力する。このような２段のラッチ回路の構成および動作は、当業者であれば容易に理解できるので、説明は省略する。
【００５３】
図９は、１つのビットスライス回路の構成を示す回路図である。
図１０は、ビットスライス回路の動作を示すタイムチャートである。
【００５４】
ビットスライス回路は、図示のように接続された５個のＦＦ６１−６５と、Ｘ１ＣＬＫ（ＩＸ１ＣＬＫ）を反転してＮＸ１ＣＬＫ＿Ｓを出力するインバータ６６と、２個のセレクタ６７および６８と、２ＣＬＫ−ＦＦ５２と、インバータ５３と、を有する。２ＣＬＫ−ＦＦ５２は、図５の２ＣＬＫ−ＦＦ５２Ａ−５２Ｃに対応し、インバータ５３はインバータ５３Ａ−５３Ｃに対応する。セレクタ６７および６８は、制御信号生成回路４２からのレイテンシ調整信号ＩＳＥＬＡに応じて選択を行う。
【００５５】
ＦＦ６１は、２ビットの入力データの一方ＩＤＱｘ［０］をＩＸ１ＣＬＫに同期して取り込み、ＮＤＱ０１＿Ｒとして出力する。ＦＦ６２は、２ビットの入力データの他方ＩＤＱｘ［１］をＮＸ１ＣＬＫ＿Ｓに同期して取り込み、ＮＤＱ１１＿Ｒとして出力する。
【００５６】
ＦＦ６３は、ＮＤＱ０１＿ＲをＮＸ１ＣＬＫ＿Ｓに同期して取り込み、ＮＤＱ０２＿Ｒとして出力する。ＦＦ６４は、ＮＤＱ１１＿ＲをＮＸ１ＣＬＫ＿Ｓに同期して取り込み、ＮＤＱ１２＿Ｒとして出力する。ＮＤＱ０２＿Ｒは、ＮＤＱ０１＿Ｒを、Ｘ１ＣＬＫの半周期分遅延した信号であり、ＮＤＱ１２＿Ｒは、ＮＤＱ１１＿Ｒを、Ｘ１ＣＬＫの半周期分遅延した信号である。ＦＦ６５は、ＮＤＱ１２＿ＲをＩＸ１ＣＬＫに同期して取り込み、ＮＤＱ１３＿Ｒとして出力する。ＮＤＱ１３＿Ｒは、ＮＤＱ１２＿ＲをさらにＸ１ＣＬＫの半周期分遅延した信号である。
【００５７】
ＩＤＬＬＣＬＫは、ＤＬＬ＿Ａ４３およびＤＬＬ＿Ｚ４４Ａ−４４Ｃで位相調整されたクロックである。インバータ５３は、ＩＤＬＬＣＬＫを反転してＮＤＬＬＣＬＫ＿Ｓを生成する。
【００５８】
セレクタ６７は、レイテンシ制御信号ＩＳＥＬＡ＝０のとき、ＮＤＱ０１＿Ｒを選択し、ＩＳＥＬＡ＝１のとき、ＮＤＱ０２＿Ｒを選択し、選択した結果をＮＤＱ０＿Ｓとして出力する。セレクタ６８は、ＩＳＥＬＡ＝０のとき、ＮＤＱ１２＿Ｒを選択し、ＩＳＥＬＡ＝１のとき、ＮＤＱ１３＿Ｒを選択し、選択した結果をＮＤＱ１＿Ｓとして出力する。
【００５９】
２ＣＬＫ−ＦＦ５２は、ＩＤＬＬＣＬＫに同期してＮＤＱ０＿Ｓを取り込み、ＮＤＬＬＣＬＫ＿Ｓに同期してＮＤＱ１＿Ｓを取り込み、ＤＱｘにシリアルデータとして出力する。
【００６０】
前述のように、ＩＤＬＬＣＬＫは、ＤＬＬ＿Ａ４３およびＤＬＬ＿Ｚで位相調整されたクロックであり、ＩＤＬＬＣＬＫがスイープされると、それに従ってＤＱｘもスイープされることになる。
【００６１】
ＤＬＬ＿Ａ４３によるＩＤＬＬＣＬＫのスイープ(Sweep)範囲は、４５ｄｅｇ．〜４０５ｄｅｇ．＠Ｒｅｆ．ＣＬＫである。調整した位相が、４５ｄｅｇ．〜２２５ｄｅｇ．＠Ｒｅｆ．ＣＬＫのとき、ＩＳＥＬＡ＝０に設定し、２２５ｄｅｇ．〜４０５ｄｅｇ．＠Ｒｅｆ．ＣＬＫのとき、ＩＳＥＬＡ＝１に設定する。レイテンシ制御信号ＩＳＥＬＡは、ビット間で共通の信号である。
【００６２】
図１０において、ＩＳＥＬＡ＝０で、ＩＤＱｘ［０］の前側のデータＶａｌｉｄ００に対応するＮＤＬＬＣＬＫ＿Ｓのスイープ(Sweep)範囲およびそのためのＩＤＬＬＣＬＫのスイープ範囲をＰで示す。同様に、ＩＤＱｘ［０］の後側のデータＶａｌｉｄ０１に対応するＮＤＬＬＣＬＫ＿Ｓのスイープ範囲およびそのためのＩＤＬＬＣＬＫのスイープ範囲をＱで示す。ＩＳＥＬＡ＝１で、ＩＤＱｘ［１］の前側のデータＶａｌｉｄ１０に対応するＮＤＬＬＣＬＫ＿Ｓのスイープ範囲およびそのためのＩＤＬＬＣＬＫのスイープ範囲をＲで示す。同様に、ＩＤＱｘ［１］の後側のデータＶａｌｉｄ１１に対応するＮＤＬＬＣＬＫ＿Ｓのスイープ範囲およびそのためのＩＤＬＬＣＬＫのスイープ範囲をＳで示す。
【００６３】
図１１は、ＤＬＬ＿Ａ４３およびＤＬＬ＿Ｚ４４Ａ−４４Ｃを形成するＤＬＬ(Delay Locked Loop)の構成例を示す回路であり、（Ａ）が全体構成を、（Ｂ）がディレイユニットを示す。
【００６４】
ＤＬＬは、ＤＬＣ６０と、ＤＬＱ６５と、を有する。ＤＬＣ６０は、ディレイライン６１と、位相制御回路６３と、シーケンサ６４と、を有する。ディレイライン６１は、図１１の（Ｂ）に示すディレイユニット６２を多段（ここでは１０２４段）に接続したもので、１０ビットのディレイライン制御コードで、入力したＩＸ１ＣＬＫを折り返すディレイユニット６２の位置を制御する。各ディレイユニット６２は、前段から後段に信号が通過する時にＮＡＮＤゲート１個分の遅延が生じ、後段から前段に戻る時に同様にＮＡＮＤゲート１個分の遅延が生じる。入力段から折返し位置までの複数のディレイユニット６２の個数をＪ個とすると、ディレイライン６１に入力したＩＸ１ＣＬＫは、折返し位置で折り返され、入力段に戻るまでに２×Ｊ個のＮＡＮＤゲートを通過する。したがって、１個のＮＡＮＤゲートの遅延をτとすると、入力段に入力し入力段から出力される遅延ＩＸ１ＣＬＫは、２×Ｊ×τ分遅延される。上記のように、折返し位置、すなわちＪは、ディレイライン制御コードで制御可能である。
【００６５】
位相制御回路６３は、シーケンサ６４による制御シーケンスにしたがって、ＩＸ１ＣＬＫと遅延ＩＸ１ＣＬＫの位相を比較し、遅延ＩＸ１ＣＬＫが、ＩＸ１ＣＬＫに対して、ＩＸ１ＣＬＫの１周期分遅延するように、ディレイライン制御コードの値を調整する。具体的には、ＩＸ１ＣＬＫと遅延ＩＸ１ＣＬＫの位相差がゼロになるように調整し、ゼロになった時のディレイライン制御コードの値、すなわち折返し位置までのＪ個のディレイユニットによる遅延２×Ｊ×τが、ＩＸ１ＣＬＫの１周期に相当することが判明する。位相制御回路６３は、位相差がゼロになった時にディレイライン制御コードの値を、ＤＬＩコード［９：０］として、ＤＬＱ６５に出力する。
【００６６】
ＤＬＱ６５は、ディレイライン６６と、位相演算回路６７と、を有する。ディレイライン６６は、ＤＬＣ６０のディレイライン６１と同様に、同じ構成のディレイユニット６２で形成され、段数が１１５２段である。したがって、ディレイライン６６の１段当たりの遅延は、ディレイライン６１の１段当たりの遅延と等しい。ディレイライン６６には遅延するクロックＩＤＬＩＮが入力され、ディレイライン６６で遅延された後、ＯＤＬＬＣＬＫとして出力される。
【００６７】
位相演算回路６７は、位相調整角度を示す８ビットの位相選択信号ＩＳＦＴ［７：０］を受け、上記のＤＬＩコード［９：０］にＩＳＦＴ［７：０］を乗じ、さらに１２８で除して１１ビットのディレイライン制御コード［１０：０］を生成する。ディレイライン６６は、ＩＤＬＩＮを、ディレイライン制御コード［１０：０］で指示された折返し位置まで往復する遅延分遅延したＯＤＬＬＣＬＫを出力する。
【００６８】
例えば、ＤＬＣ６０の出力するＤＬＩコード［９：０］が５１２で、ＩＳＦＴ［７：０］が４５ｄｅｇ．である６４である時、ディレイライン６６を制御するディレイライン制御コード［１０：０］は、２５６となる。
【００６９】
ＤＬＬは図１１に示した構成に限定されず、各種の構成が広く知られているので、これ以上の説明は省略する。
【００７０】
図１２は、第１実施形態の出力回路で使用するＩＳＦＴ［７：０］およびセレクタ信号ＩＳＥＬＡの真理値表を示す図であり、セレクタ６７および６８の出力ＮＤＱ０＿ＳおよびＮＤＱ１＿Ｓと、ＩＳＦＴに対応する位相調整量を示す。
【００７１】
例えば、ＩＳＦＴ［７：０］＝０１００１１０１である時、ＩＳＥＬＡ＝０であり、ＮＤＱ０＿ＳおよびＮＤＱ１＿Ｓとして、ＮＤＱ０１＿ＲおよびＮＤＱ１２＿Ｒが選択され、位相は、２１６．５６２５ｄｅｇ．となる。
【００７２】
以上説明したように、第１実施形態の出力回路では、２ビットのパラレルデータから１ビットのシリアルデータへの変換は、２ＣＬＫ−ＦＦで行われる。レイテンシ拡張回路は、基準クロックおよび反転基準クロックに同期して動作し、２ＣＬＫ−ＦＦは、位相調整した基準クロックとその反転クロックに同期して動作する。したがって、基準クロックの２倍の周波数の高速クロックで動作する回路に比べて、消費電力が小さく、回路動作マージンが大きくなる。さらに、ビット毎のＤＬＬを最終段の２ＣＬＫ−ＦＦへのＣＬＫのパス上のビット間共通のＤＬＬ付近にまとめて配置するため、ビット毎のＤＬＬの制御信号を各２ＣＬＫ−ＦＦまで引き回す必要が無く、回路面積が削減できる。
【００７３】
第１実施形態では、ビット間共通のＤＬＬ＿Ａの位相範囲を、４５ｄｅｇ．〜４０５ｄｅｇ．のように広くする。ＤＬＬの位相範囲を広くするには、図１１のＤＬＱ６５の段数を大きくすることになり、回路規模が大きくなる。次に説明する第２実施形態では、ＤＬＬ＿Ａの位相範囲を削減した出力回路が開示される。
【００７４】
図１３は、第２実施形態の出力回路の１つのビットスライス回路の構成を示す回路図である。
第２実施形態の出力回路は、ビットスライス回路において、セレクタ６７にＮＤＱ０１＿ＲとＮＤＱ１３＿Ｒが入力し、セレクタ６８にＮＤＱ１２＿ＲとＮＤＱ０２＿Ｒが入力することが第１実施形態と異なり、他は同じである。
【００７５】
図１４は、第２実施形態におけるビットスライス回路の動作を示すタイムチャートである。
【００７６】
ＮＤＱ０２＿ＲおよびＮＤＱ１３＿Ｒの入力先のセレクタ６７とセレクタ６８を変更することにより、見掛け上、ＤＬＬの位相範囲が拡張される。これにより、第１実施形態では４５ｄｅｇ．〜４０５ｄｅｇ．であったＤＬＬ＿Ａの位相範囲が、第２実施形態では４５ｄｅｇ．〜２２５ｄｅｇ．に変更でき、回路規模を削減できる。具体的には、第１実施形態では１１５２段であった図１１のＤＬＬのＤＬＱ６５の段数を、第２実施形態では６４０段に削減することが可能である。第２実施形態でも、ＩＳＥＬＡはビット間共通の信号である。
【００７７】
図１３および図１４に示すように、ＩＳＥＬＡ＝０の時、２ＣＬＫ−ＦＦ５２において、ＣＬＫ０（ＩＤＬＬＣＬＫ）の立上りエッジにてＮＤＱ０１＿Ｒを、ＣＬＫ１（ＮＤＬＬＣＬＫ＿Ｓ）の立上りエッジにてＮＤＱ１２＿Ｒを取り込み、ＤＱｘへ出力する。
【００７８】
ＩＳＥＬＡ＝１の時、２ＣＬＫ−ＦＦ５２において、ＣＬＫ１（ＩＤＬＬＣＬＫ＿Ｓ）の立上りエッジにてＮＤＱ１３＿Ｒを、ＣＬＫ１（ＮＤＬＬＣＬＫ）の立上りエッジにてＮＤＱ０２＿Ｒを取り込み、ＤＱｘへ出力する。
【００７９】
ＩＳＥＬＡ＝０に設定して、ＩＤＬＬＣＬＫを４５ｄｅｇ．〜２２５ｄｅｇ．までスイープさせ、２２５ｄｅｇ．に到達したら、ＩＳＥＬＡ＝１に切り替える。そして、ＩＤＬＬＣＬＫを４５ｄｅｇ．〜２２５ｄｅｇ．までスイープさせ、２２５ｄｅｇ．に到達したら、ＩＳＥＬＡ＝０に切り替える。
【００８０】
以上説明したように、第２実施形態の出力回路は、第１実施形態と同様の効果が得られる。さらに、最終段の２ＣＬＫ−ＦＦの入力ＣＬＫをスイープする範囲は、４５ｄｅｇ．〜２２５ｄｅｇ．でよいので、ＤＬＬ＿Ａの段数を削減して、回路面積を削減できる。
【００８１】
第２実施形態では、２ＣＬＫ−ＦＦ５２におけるセットアップ(Setup)／ホールド(Hold)の許容範囲(Window)の条件が一部厳しくなる。具体的には、ＤＬＬのスイープが最小のとき、セットアップマージンは、Ｘ１ＣＬＫの位相４５ｄｅｇ．相当で、Ｘ１ＣＬＫの周期を１．０６６ＧＨｚとすると、１１７ｐｓとなる。また、ＤＬＬのスイープが最大のとき、Ｘ１ＣＬＫの位相２２５ｄｅｇ．（ビット間共通のＤＬＬ＿Ａ）＋９０ｄｅｇ．（各ビットに設けるＤＬＬ＿Ｚ）相当で、ホールドマージンは、３６０ｄｅｇ．−（２２５ｄｅｇ．＋９０ｄｅｇ．）＝４５ｄｅｇ．である。したがって、こちらのホールド時間も１１７ｐｓとなる。このように、ＤＬＬのスイープが最小と最大の時にセットアップ／ホールドの条件として厳しい値となる場合がある。
【００８２】
次に説明する第３実施形態の出力回路では、第２実施形態の出力回路の２ＣＬＫ−ＦＦ５２におけるセットアップ／ホールドの条件が厳しくなる場合の条件を緩和する。
【００８３】
図１５は、第３実施形態の出力回路の１つのビットスライス回路の構成を示す回路図である。
第３実施形態の出力回路は、ビットスライス回路において、ＦＦ７１、ＦＦ７２およびセレクタ７３−７６を追加したことが第２実施形態と異なり、他は同じである。第３実施形態では、制御信号生成回路は、ＩＳＥＬＡに加えて、ＤＬＬ＿Ｚの位相制御量に応じて拡大レイテンシ制御信号ＩＳＥＬＢを生成する。
【００８４】
ＦＦ７１は、ＦＦ６３の出力をＩＸ１ＣＬＫに同期してラッチする。ＦＦ７１の出力ＮＤＱ０３＿Ｒは、ＮＤＱ０１＿ＲをＩＸ１ＣＬＫの１周期遅延させた信号であり、言い換えれば、ＮＤＱ０２＿ＲをＩＸ１ＣＬＫの／２期遅延させた信号である。
【００８５】
ＦＦ７２は、ＦＦ６５の出力をＮＸ１ＣＬＫ＿Ｓに同期してラッチする。ＦＦ７２の出力ＮＤＱ１４＿Ｒは、ＮＤＱ１２＿ＲをＩＸ１ＣＬＫの１周期遅延させた信号であり、言い換えれば、ＮＤＱ１３＿ＲをＩＸ１ＣＬＫの／２期遅延させた信号である。
【００８６】
セレクタ７３は、ＮＤＱ０１＿ＲおよびＮＤＱ０２＿Ｒを受け、拡大レイテンシ制御信号ＩＳＥＬＢ＝０の時にはＮＤＱ０１＿Ｒを、ＩＳＥＬＢ＝１の時にはＮＤＱ０２＿Ｒを選択して出力する。
【００８７】
セレクタ７４は、ＮＤＱ０２＿ＲおよびＮＤＱ０３＿Ｒを受け、拡大レイテンシ制御信号ＩＳＥＬＢ＝０の時にはＮＤＱ０２＿Ｒを、ＩＳＥＬＢ＝１の時にはＮＤＱ０３＿Ｒを選択して出力する。
【００８８】
セレクタ７５は、ＮＤＱ１２＿ＲおよびＮＤＱ１３＿Ｒを受け、拡大レイテンシ制御信号ＩＳＥＬＢ＝０の時にはＮＤＱ１２＿Ｒを、ＩＳＥＬＢ＝１の時にはＮＤＱ１３＿Ｒを選択して出力する。
【００８９】
セレクタ７６は、ＮＤＱ１３＿ＲおよびＮＤＱ１４＿Ｒを受け、拡大レイテンシ制御信号ＩＳＥＬＢ＝０の時にはＮＤＱ１３＿Ｒを、ＩＳＥＬＢ＝１の時にはＮＤＱ１４＿Ｒを選択して出力する。
【００９０】
セレクタ６７は、セレクタ７３およびセレクタ７６の出力を受け、レイテンシ制御信号ＩＳＥＬＡ＝０の時にはセレクタ７３の出力を、ＩＳＥＬＡ＝１の時にはセレクタ７６の出力を選択して、ＮＤＱ０＿Ｓとして出力する。
【００９１】
セレクタ６８は、セレクタ７５およびセレクタ７４の出力を受け、レイテンシ制御信号ＩＳＥＬＡ＝０の時にはセレクタ７５の出力を、ＩＳＥＬＡ＝１の時にはセレクタ７４の出力を選択して、ＮＤＱ１＿Ｓとして出力する。
【００９２】
図１６は、位相範囲に対応したレイテンシ制御信号および選択される信号の関係を示す真理値表である。
図１６の真理値表に示すように、第３実施形態では、状態はＮｏ．１〜４の４状態を有し、Ｎｏ．１は第２実施形態においてＩＳＥＬＡ＝０とした状態と同じであり、Ｎｏ．３は第２実施形態においてＩＳＥＬＡ＝１とした状態と同じである。言い換えれば、第３実施形態では、Ｎｏ．２およびＮｏ．４のＩＳＥＬＢ＝１の２つの状態が追加される。
【００９３】
Ｎｏ．２は、ＤＬＬ＿Ａ４３の共通の位相調整量とＤＬＬ＿Ｚ４４Ａ−４４Ｃの個別の位相調整量の和が２２５ｄｅｇ．〜３１５ｄｅｇ．の範囲であり、ＩＳＥＬＡ＝０、ＩＳＥＬＢ＝１である。この状態では、ＮＤＱ０＿ＳとしてＮＤＱ０２＿Ｒが選択され、ＮＤＱ１＿ＳとしてＮＤＱ１４＿Ｒが選択される。
【００９４】
Ｎｏ．４は、ＤＬＬ＿Ａ４３の共通の位相調整量とＤＬＬ＿Ｚ４４Ａ−４４Ｃの個別の位相調整量の和が２２５ｄｅｇ．〜３１５ｄｅｇ．の範囲であり、ＩＳＥＬＡ＝１、ＩＳＥＬＢ＝１である。この状態では、ＮＤＱ０＿ＳとしてＮＤＱ１３＿Ｒが選択され、ＮＤＱ１＿ＳとしてＮＤＱ０３＿Ｒが選択される。
【００９５】
図１７は、第３実施形態において、ＩＳＥＬＡ＝０とした時のビットスライス回路の動作を示すタイムチャートである。
図１８は、第３実施形態において、ＩＳＥＬＡ＝１とした時のビットスライス回路の動作を示すタイムチャートである。
【００９６】
以下、トレーニングモードにおけるレイテンシ制御信号ＩＳＥＬＡ、拡大レイテンシ制御信号ＩＳＥＬＢ、および位相調整量を設定処理および通常動作時の動作を説明する。
【００９７】
トレーニングモードにおいて、ＤＬＬ＿Ａ４３を位相４５ｄｅｇ．〜２２５ｄｅｇ．までスイープさせてビット間共通の位相を決める。その後、各ビットそれぞれのＤＬＬ＿Ｚ４４Ａ−４４Ｃについて位相０ｄｅｇ．〜９０ｄｅｇ．までスイープさせて各ビットそれぞれの位相を決める。その際、ＤＬＬ＿Ｚの位相＋ＤＬＬ＿Ｚの位相が２２５ｄｅｇ．未満の場合はＩＳＥＬＢ＝０に設定し、２２５ｄｅｇ．以上の場合はＩＳＥＬＡ＝１に設定する。ＩＳＥＬＢ＝１の時、２ＣＬＫ−ＦＦ５２へのデータをＸ１ＣＬＫの１／２周期分遅らせて、２ＣＬＫ−ＦＦ５２におけるホールドマージンを確保する。ＩＳＥＬＢは、各ビットそれぞれのＤＬＬ＿Ｚ（＋ＤＬＬ＿Ａ）の状態で決まるセレクタ信号（拡大レイテンシ信号）であるため、各ビット毎の信号となる。ＩＳＥＬＡは、ビット間共通のＤＬＬ＿Ａの位相範囲を拡張するためのセレクト信号であるため、第２実施形態と変わらず、ビット間共通の信号となる。
【００９８】
第３実施形態の出力回路も、第１および第２実施形態の出力回路と同様の効果を有する。さらに、第２実施形態での２ＣＬＫ−ＦＦのセットアップ／ホールドのマージンが小さくなるという問題が解消され、マージンの確保が容易になる。
【００９９】
以上、第１から第３実施形態を説明したが、ここで第１から第３実施形態の出力回路の効果をまとめると、以下のようになる。
（１）出力が２．１３３Ｇｂｐｓの場合、出力は２．１３３ＧＨｚのクロックの１周期で変化するが、実施形態の出力回路の制御クロックの周波数は１．０６６ＧＨｚであり、転送レートの１／２の速度に抑えられ、消費電力が削減される。また回路動作マージンも改善される。
（２）最終段の２ＣＬＫ−ＦＦの入力ＣＬＫをスイープして位相制御を行うが、その位相に応じてデータ取得範囲を拡張するため、回路動作マージンを確保できる。
（３）ビット毎のＤＬＬを、最終段の２ＣＬＫ−ＦＦの前のＣＬＫパス上のビット間共通のＤＬＬの付近に配置することで、配線の引き回しが少なくなり、回路面積が削減され、面積効率が良くなる。
【０１００】
以上、実施形態を説明したが、ここに記載したすべての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものである。特に記載された例や条件は発明の範囲を制限することを意図するものではなく、明細書のそのような例の構成は発明の利点および欠点を示すものではない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。
【符号の説明】
【０１０１】
４１    ＰＬＬ
４２    制御信号生成回路
４３    ＤＬＬ＿Ａ
４４Ａ−４４Ｃ    ＤＬＬ＿Ｚ
５０Ａ−５０Ｃ    ビットスライス回路
５１Ａ−５１Ｃ    レイテンシ拡張回路
５２、５２Ａ−５２Ｃ    ２ＣＬＫ−ＦＦ
５４Ａ−５４Ｃ    出力バッファ
【図１】
0006394130.tif 000002
【図２】
0006394130.tif 000003
【図３】
0006394130.tif 000004
【図４】
0006394130.tif 000005
【図５】
0006394130.tif 000006
【図６】
0006394130.tif 000007
【図７】
0006394130.tif 000008
【図８】
0006394130.tif 000009
【図９】
0006394130.tif 000010
【図１０】
0006394130.tif 000011
【図１１】
0006394130.tif 000012
【図１２】
0006394130.tif 000013
【図１３】
0006394130.tif 000014
【図１４】
0006394130.tif 000015
【図１５】
0006394130.tif 000016
【図１６】
0006394130.tif 000017
【図１７】
0006394130.tif 000018
【図１８】
0006394130.tif 000019