(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-21
(45)【発行日】2024-10-29
(54)【発明の名称】集積回路デバイス内の回路を較正するための回路および較正する方法
(51)【国際特許分類】
H03M 9/00 20060101AFI20241022BHJP
【FI】
H03M9/00 100
(21)【出願番号】P 2022504223
(86)(22)【出願日】2020-06-04
(86)【国際出願番号】 US2020036216
(87)【国際公開番号】W WO2021015867
(87)【国際公開日】2021-01-28
【審査請求日】2023-05-31
(32)【優先日】2019-07-22
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】591025439
【氏名又は名称】ザイリンクス インコーポレイテッド
【氏名又は名称原語表記】XILINX INCORPORATED
(74)【代理人】
【識別番号】110002077
【氏名又は名称】園田・小林弁理士法人
(72)【発明者】
【氏名】プーン, チ フォン
(72)【発明者】
【氏名】ララバ, アスマ
(72)【発明者】
【氏名】ウパディヤヤ, パラッグ
【審査官】原田 聖子
(56)【参考文献】
【文献】特開2011-066821(JP,A)
【文献】米国特許出願公開第2019/0215146(US,A1)
【文献】米国特許出願公開第2009/0177457(US,A1)
【文献】米国特許出願公開第2008/0036509(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H03M 9/00
(57)【特許請求の範囲】
【請求項1】
集積回路デバイス内の回路を較正するための回路装置であって、
第1の入力で
パラレル入力データを受信し第1の出力で
シリアル出力データを生成するように設定された
第1のシリアライザ回路を含む主回路であって、前記
シリアル出力データが、前記
パラレル入力データと、前記主回路の
パラレルデータをシリアルデータへ変換する機能
とに基づく、主回路と、
第2の入力で
パラレルテストパターンを受信し第2の出力で前記
パラレルテストパターンに基づいて較正出力データを生成するように設定された
第2のシリアライザ回路を含むレプリカ回路であって、前記レプリカ回路が前記主回路の前記機能のレプリカ機能
およびタイミングを提供する、レプリカ回路と、
フォアグラウンド較正モード中に、前記主回路からの前記
シリアル出力データ
と前記レプリカ回路からの前記較正出力データとを
受信して、初期レプリカ補正コードを決定し、かつ、バックグラウンド較正モード中に前記レプリカ回路から前記較正出力データを受信
して、更新されたレプリカ補正コードを決定し、
前記初期レプリカ補正コードと前記更新されたレプリカ補正コードとの差を決定し、かつ
前記初期レプリカ補正コードと前記更新されたレプリカ補正コードとの前記差に基づいて決定された、補正された制御信号をバックグラウンド較正モード中に前記主回路および前記レプリカ回路に提供する
ように設定された較正回路と
を
備える、回路装置。
【請求項2】
前記主回路からの前記
シリアル出力データおよび前記レプリカ回路からの前記較正出力データを受信するように設定された選択回路をさらに備え、前記選択回路が、前記フォアグラウンド較正モード中に前記
シリアル出力データおよび前記較正出力データの選択を制御する、請求項1に記載の回路装置。
【請求項3】
前記第1のシリアライザ回路が、動作モード中に前記シリアル出力データを生成する、請求項1に記載の回路装置。
【請求項4】
前記
第2のシリアライザ回路が、前記動作モード中に前記パラレルテストパターンを受信し前記較正出力データを生成するように設定され
ている、請求項3に記載の回路装置。
【請求項5】
前記較正回路が、入力クロック信号の複数のクロック位相を受信するように設定され、前記較正回路によって生成される補正されたクロック信号が、前記主回路の第1の制御端子および前記レプリカ回路の第2の制御端子に結合される、請求項4に記載の回路装置。
【請求項6】
前記較正回路が、前記主回路に対する初期較正補正コードならびに前記初期レプリカ補正コードおよび前記更新されたレプリカ補正コードにおける前記差に基づいて
、前記補正された制御信号を生成する、請求項
1に記載の回路装置。
【請求項7】
前記補正された制御信号が補正されたクロック信号を含む、請求項
6に記載の回路装置。
【請求項8】
集積回路デバイス内の回路を較正するための方法であって、
第1の入力で
パラレル入力データを受信し第1の出力で
シリアル出力データを生成するように
、第1のシリアライザ回路を含む主回路を設定することであって、前記
シリアル出力データが前記
パラレル入力データと、前記主回路の
パラレルデータをシリアルデータへ変換する機能
とに基づく、主回路を設定することと、
第2の入力で
パラレルテストパターンを受信し第2の出力で前記
パラレルテストパターンに基づいて較正出力データを生成する
ように、第2のシリアライザ回路を含むレプリカ回路を設定することであって、前記レプリカ回路が前記主回路の前記機能のレプリカ機能
およびタイミングを提供する、レプリカ回路を設定することと、
フォアグラウンド較正モード中に前記主回路からの前記
シリアル出力データ
および前記レプリカ回路の前記較正出力データを
受信して、初期レプリカ補正コードを決定し、かつ、バックグラウンド較正モード中に前記レプリカ回路から前記較正出力データを受信
して、更新されたレプリカ補正コードを決定するように較正回路を設定することと
、
前記初期レプリカ補正コードと前記更新されたレプリカ補正コードとの差を決定し、前記初期レプリカ補正コードと前記更新されたレプリカ補正コードの差に基づいて、補正された制御信号を生成することと
を含み、
前記較正回路が前記バックグラウンド較正モード中に前記主回路および前記レプリカ回路に
前記補正された制御信号を提供する、方法。
【請求項9】
前記主回路からの前記
シリアル出力データ
を受信し、かつ前記レプリカ回路からの前記較正出力データを受信するように選択回路を設定することをさらに含み、前記選択回路が、前記フォアグラウンド較正モード中に前記
シリアル出力データおよび前記較正出力データ
の選択を制御し
、前記第1のシリアライザ回路が、動作モード中に前記シリアル出力データを生成し、前記
第2のシリアライザ回路が、前記動作モード中に
前記パラレルテストパターンを受信し前記較正出力データを生成するように設定さ
れる、請求項
8に記載の方法。
【請求項10】
入力クロック信号の複数のクロック位相を受信するように前記較正回路を設定することと、前記較正回路によって生成される補正されたクロック信号を、前記主回路の第1の制御端子および前記レプリカ回路の第2の制御端子に結合することとをさらに含む、
請求項
9に記載の方法。
【請求項11】
前
記補正された制御信号
は、前記主回路の初期補正コードに基づいて、さらに決定される、請求項
8に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
さまざまな実施形態は一般的に集積回路に関し、より詳細には集積回路デバイス内の回路を較正するための回路および較正する方法に関する。
【背景技術】
【0002】
現代のネットワークは、データを交換するように動作可能なコンピューティングデバイスを相互接続することを担っている。データは、例えばコンピュータまたはサーバ内の、共通のバックプレーンに沿って回路基板から回路基板へ交換され得る。いくつかの実装形態では、データは、例えば旅行代理店のコンピュータからクラウドネットワーク上の航空会社サーバに、長距離にわたって交換され得る。現代のネットワークは、物理配線、無線周波数(RF)チャネルまたは光ファイバを含むいくつもの媒体を使用し得る。コンピューティングデバイス間で交換されるデータは、複数のビットを含むデータパケットを含み得る。いくつかのネットワーク実装形態では、ビットは同時に送受信され得る。このような通信はパラレル(並列)通信として知られているものであってもよく、バスとして知られる複数のパラレル接続を含み得る。いくつかの実装形態では、データは一時に1ビット、すなわちシリアル(直列)に送信され得る。
【0003】
与えられた共通の信号周波数に対して、シリアル通信では各ビットが個別に送信され、パラレル通信ではビットのグループが順次的なタイムスライスで同時に通信されるため、シリアルデータ通信はパラレル通信よりも遅い。しかし、通信信号周波数が増大する(およびタイムスライスが減少する)と、ビット遷移時間が重要な因子となり、パラレルデータ実装形態における同時データ到着時刻に対する課題を引き起こし得る。シリアル送信実装形態はデータを一時に1ビット送信するため、本質的に同時のデータは存在しない。シリアル送信のこの側面は、データがより高いシグナリング周波数で送信されることを可能にし得る。したがって、ネットワーク設計者は、特定のアプリケーションに対して、パラレル対シリアルデータ送信のさまざまな長所および短所のトレードオフを行い得る。
【発明の概要】
【0004】
集積回路デバイス内の回路を較正するための回路装置が記載される。本回路装置は、第1の入力で入力データを受信し第1の出力で出力データを生成するように設定された主回路であって、前記出力データが前記入力データおよび前記主回路の機能に基づく、主回路と、第2の入力で較正データを受信し第2の出力で前記較正データに基づいて較正出力データを生成するように設定されたレプリカ回路であって、前記レプリカ回路が前記主回路の前記機能のレプリカ機能を提供する、レプリカ回路と、フォアグラウンド較正モード中に前記主回路から前記出力データを、およびバックグラウンド較正モード中に前記レプリカ回路から前記較正出力データを受信するように設定された較正回路とを備えることができ、前記較正回路が前記バックグラウンド較正モード中に前記主回路に制御信号を提供する。
【0005】
いくつかの実装形態では、本回路は、前記主回路からの前記出力データおよび前記レプリカ回路からの前記較正出力データを受信するように設定された選択回路をさらに備えることができ、前記選択回路が、前記フォアグラウンド較正モード中に前記出力データおよび前記較正出力データの選択を制御する。
【0006】
いくつかの実装形態では、前記主回路が、パラレル入力データを受信しシリアル出力データを生成するように設定された第1のシリアライザ回路を備えることができ、前記第1のシリアライザ回路が、動作モード中に前記シリアル出力データを生成する。
【0007】
いくつかの実装形態では、前記レプリカ回路が、前記動作モード中にパラレルテストパターンを受信し前記較正出力データを生成するように設定された第2のシリアライザ回路を備えることができる。
【0008】
いくつかの実装形態では、前記較正回路が、入力クロック信号の複数のクロック位相を受信するように設定され得、前記較正回路によって生成される補正されたクロック信号が、前記主回路の第1の制御端子および前記レプリカ回路の第2の制御端子に結合され得る。
【0009】
いくつかの実装形態では、前記較正回路が、前記フォアグラウンド較正モード中に前記レプリカ回路の前記較正出力データを受信して初期レプリカ補正コードを決定するように設定され得る。
【0010】
いくつかの実装形態では、前記較正回路が、前記バックグラウンド較正モード中に前記レプリカ回路の前記較正出力データを受信して更新されたレプリカ補正コードを決定するように設定され得る。
【0011】
いくつかの実装形態では、前記較正回路が、前記初期レプリカ補正コードおよび前記更新されたレプリカ補正コードにおける差を決定することができる。
【0012】
いくつかの実装形態では、前記較正回路が、前記主回路に対する初期較正補正コードならびに前記初期レプリカ補正コードおよび前記更新されたレプリカ補正コードにおける前記差に基づいて、前記主回路および前記レプリカ回路への補正された制御信号を生成することができる。
【0013】
いくつかの実装形態では、前記補正された制御信号が補正されたクロック信号を含むことができる。
【0014】
集積回路デバイス内の回路を較正するための方法も記載される。本方法は、第1の入力で入力データを受信し第1の出力で出力データを生成するように主回路を設定することであって、前記出力データが前記入力データおよび前記主回路の機能に基づく、主回路を設定することと、第2の入力で較正データを受信し第2の出力で前記較正データに基づいて較正出力データを生成するようにレプリカ回路を設定することであって、前記レプリカ回路が前記主回路の前記機能のレプリカ機能を提供する、レプリカ回路を設定することと、フォアグラウンド較正モード中に前記主回路から前記出力データを、およびバックグラウンド較正モード中に前記レプリカ回路から前記較正出力データを受信するように較正回路を設定することとを備えることができ、前記較正回路が前記バックグラウンド較正モード中に前記主回路および前記レプリカ回路に制御信号を提供する。
【0015】
いくつかの実装形態では、本方法は、前記主回路からの前記出力データおよび前記レプリカ回路からの前記較正出力データを受信するように選択回路を設定することをさらに含むことができ、前記選択回路が、前記フォアグラウンド較正モード中に前記出力データおよび前記較正出力データの前記選択を制御する。
【0016】
いくつかの実装形態では、前記主回路が、パラレル入力データを受信しシリアル出力データを生成するように設定された第1のシリアライザ回路を備えることができ、前記第1のシリアライザ回路が、動作モード中に前記シリアル出力データを生成する。
【0017】
いくつかの実装形態では、前記レプリカ回路が、前記動作モード中にパラレルテストパターンを受信し前記較正出力データを生成するように設定された第2のシリアライザ回路を備えることができる。
【0018】
いくつかの実装形態では、本方法は、入力クロック信号の複数のクロック位相を受信するように前記較正回路を設定することと、前記較正回路によって生成される補正されたクロック信号を、前記主回路の第1の制御端子および前記レプリカ回路の第2の制御端子に結合することとをさらに含むことができる。
【0019】
いくつかの実装形態では、前記較正回路が、前記フォアグラウンド較正モード中に前記レプリカ回路の前記較正出力データを受信して初期レプリカ補正コードを決定するように設定され得る。
【0020】
いくつかの実装形態では、前記較正回路が、前記バックグラウンド較正モード中に前記レプリカ回路の前記較正出力データを受信して更新されたレプリカ補正コードを決定するように設定され得る。
【0021】
いくつかの実装形態では、本方法は、前記初期レプリカ補正コードおよび前記更新されたレプリカ補正コードにおける差を決定することをさらに含むことができる。
【0022】
いくつかの実装形態では、本方法は、前記主回路に対する初期補正コードならびに初期レプリカ補正コードおよび前記更新されたレプリカ補正コードにおける前記差に基づいて、前記主回路および前記レプリカ回路への補正された制御信号を生成することをさらに含むことができる。
【0023】
いくつかの実装形態では、前記補正された制御信号が補正されたクロック信号を含むことができる。
【0024】
さまざまな実施形態の詳細が添付図面および以下の説明に記載される。他の特徴および利点は、明細書および図面から、ならびに特許請求の範囲から明らかであろう。
【図面の簡単な説明】
【0025】
【
図1】シリアライザ集積回路(IC)またはモジュール内に実装される例示的なマルチプレクサクロック位相較正モジュールを示す図であり、マルチプレクサクロック位相較正モジュールは、高速シリアライザ/デシリアライザ(SERDES:serializer/deserializer)アプリケーションの信頼性およびノイズ耐性を向上させる。
【
図2】例示的な4:1マルチプレクサ実装形態を示す図である。
【
図3】例示的なクロック位相整合モジュールと組み合わされたマルチプレクサを示す図である。
【
図4】A~Cは、可変クロック位相に応答する可変デューティサイクルを有する例示的なマルチプレクサ回路からの出力データストリームを示す図である。
【
図5】例示的なデューティサイクル較正モジュールを示す図である。
【
図6A】例示的なクロック位相整合モジュールを示す図である。
【
図6B】例示的なクロック位相整合モジュールを示す図である。
【
図7】マルチプレクサクロック位相較正モジュールのない場合のクロックジッタを表す例示的なアイダイアグラムである。
【
図8】マルチプレクサクロック位相較正モジュールのある場合のクロックジッタを表す例示的なアイダイアグラムである。
【
図9A】開示される回路およびプロセスが実装され得る例示的なプログラマブル集積回路(IC)を示す図である。
【
図9B】開示される回路およびプロセスが実装され得る例示的なプログラマブル集積回路(IC)を示す図である。
【
図10】例示的なクロック位相整合方法のフローチャートである。
【
図11】レプリカ回路を使用して主回路を較正するための回路装置のブロック図である。
【
図12】入力データを受信し出力データを生成するための回路を較正する方法を示すフローチャートである。
【
図13】入力データを受信し出力データを生成するための回路を較正する方法を示す別のフローチャートである。
【
図14】パラレルデータを受信しシリアルデータを生成するシリアライザを較正するための回路の別のブロック図である。
【
図15】パラレルデータを受信しシリアルデータを生成するシリアライザを較正するための回路の別のブロック図である。
【
図16】IQ検出を提供し得る回路の例示的なブロック図である。
【
図17】IQ補正を提供し得る回路の例示的なブロック図である。
【
図18】シミュレーションおよび1/sqrt(N)に対してサイズ(N)の関数として不整合を示すグラフである。
【
図19】回路の較正を実行する方法を示すフローチャートである。
【発明を実施するための形態】
【0026】
さまざまな図中の同様の参照符号は同様の要素を示す。
【0027】
理解を助けるため、本明細書は以下のように編成される。第1に、例示的なユースケースが
図1を参照して簡潔に導入される。第2に、
図2を参照して、本明細書で使用される種類の例示的なマルチプレクサ回路が提示される。次に、
図3を参照して、マルチプレクサが複製され、例示的な位相整合モジュールで使用され、このモジュールは、デューティサイクルおよび位相に対して調整される(同相および直交入力クロックに基づく)クロックのセットを生成する。次に、
図2で説明される複製されたマルチプレクサ(RMUX:replicated multiplexer)の理解を助けるために、
図4を参照して、例示的なダイアグラムが提示される。次に、
図5を参照して、例示的な検知モジュールの機能が説明される。
図6Aおよび
図6Bは、例示的なデューティサイクルおよび位相調整モジュールにおける順次的および再帰的クロック調整機能を提示する。次に、
図7および
図8を参照して、クロックジッタにおける改良を説明するために、さらなる説明的な議論および実験データが提示される。次に、
図9Aおよび
図9Bで、開示される回路およびプロセスが実装され得る例示的なプログラマブル集積回路(IC)が説明される。最後に、
図10を参照して、例示的なクロック位相整合方法が提示される。
【0028】
本出願全体を通じて、クロック信号を定義するために記法CKxが使用されることがあり、添字xは相対位相遅延を度単位で示す。また、クロック信号CK0およびCK180のペアを定義するための略記としてCK0,180が使用され得る。クロック信号CK90およびCK270のペアに対する略記としてCK90,270が使用され得る。同相クロックという用語は、クロックの差動ペアCK0,180を定義するために使用され得る。直交クロックという用語は、クロックの差動ペアCK90,180を定義するために使用され得る。システムクロックという用語は、同相および直交クロックの組合せ(CK0,180,90,270)を定義するために使用され得る。さまざまな例では、システムクロックは、記載される実施形態の外部で生成され得る。さらに、図全体を通じて示される直列スイッチは、スイッチ記号に結合された論理信号によって制御され得る。別段の指定がない限り、制御論理がハイのとき、スイッチは閉と定義される。それに応じて、制御論理がローのとき、スイッチは開と定義される。
【0029】
本出願全体を通じて、用語「レプリカ」およびその変化形は、共通の基板上の同じ回路配置パターンを用いてコピーされたものと定義され得る。本出願では、所定の回路配置パターンを有する主マルチプレクサ(MMUX:main multiplexer)が、MMUXの特定の機能およびタイミング(例えば、クロック遅延、信号遅延、立上り時間、立下り時間)を複製する目的のためにレプリカマルチプレクサ(RMUX)を形成して複製され得る。また、RMUXは、プロセス、電圧、および温度にわたってMMUXタイミングを複製または実質的にエミュレートし得る。
【0030】
図1は、シリアライザモジュール内に実装される例示的なマルチプレクサクロック較正モジュールを示し、このマルチプレクサクロック較正モジュールは、高速シリアライザ/デシリアライザ(SERDES)アプリケーションの信頼性およびノイズ耐性を向上させる。コンピュータ通信アプリケーション100は、ギガビットイーサネットネットワーク115を通じてルータ110と通信しているコンピューティングデバイス105(例えば、パーソナルコンピュータ)を含む。コンピューティングデバイス105は、シリアライザモジュール120から高速シリアルデータ140を提供する。
【0031】
図示した例では、シリアライザモジュール120はマルチプレクサクロック較正モジュール125を含む。マルチプレクサクロック較正モジュール125は、システムクロック(例えば、マルチプレクサクロック)のセット130および入力データ135を受信する。マルチプレクサクロック較正モジュール125は、マルチプレクサクロック較正モジュール125を通じてシステムクロックのセット130によってクロックされた入力データ135に応答してシリアルデータ140を送出する。
【0032】
マルチプレクサクロック較正モジュール125はクロック較正コントローラ145を含む。クロック較正コントローラ145は、システムクロックのセット130を受信し、期待されるデューティサイクルからのそれらの偏差を検出し、遅延線モジュール150に誤差補正信号を提供する。クロック較正コントローラ145はまた、レプリカmux155からDout-r信号を受信し、この信号はシステムクロックのセット130(例えば、同相クロックセットCK0,180、直交クロックセットCK90,270)間のフェージング誤差を示す。クロック較正コントローラ145は、同相クロックセットCK0,180と直交クロックセットCK90,270との間の期待される位相シフトからの偏差に応答して遅延線モジュール150に誤差補正信号を提供する。
【0033】
遅延線モジュール150からの補正されたクロックのセット160(CK0’,180’、CK90’,270’)は、後続の偏差決定のためにレプリカmux155に送信される。マルチプレクサクロック較正モジュール125は、反復的な偏差検出およびクロック調整を提供する。レプリカmux155は、主mux165の実質的なレプリカとして作製されてもよい。主mux165は、レプリカmux155と同じ補正されたクロックのセット160を受信する。レプリカmux155は、主mux165のタイミングパラメータを複製する。したがって、主mux165は、補正されたクロックのセット160を用いて入力データ135をシリアライズすることにより、低いビット誤り率を提供する。マルチプレクサクロック較正モジュール125は、例えば、フィールドプログラマブルゲートアレイ(FPGA)上のマルチギガビットトランシーバ(MGT:multi-gigabit transceiver)内に実装されてもよい。
【0034】
図2は、例示的な4:1マルチプレクサ実装形態を示す。4:1データマルチプレクサ200は入力バッファ205
0、205
1、205
2、205
3(以下まとめて「入力バッファ205」と称する)を含む。入力バッファ205は、パラレル入力データD
in0、D
in2、D
in1、およびD
in3を受信する。入力バッファ205は直列スイッチ210
0、210
1、210
2、および210
3(以下まとめて「直列スイッチ210」と称する)に結合される。直列スイッチ210
0および210
1は、それぞれ直交クロックCK
90およびCK
270によって制御され、データD
1を制御する。直列スイッチ210
2および210
3は、それぞれ直交クロックCK
270およびCK
90によって制御され、データD
2を制御する。
【0035】
データD1およびデータD2は、それぞれ中間バッファ2150および2151(以下まとめて「中間バッファ215」と称する)に結合される。中間バッファ215は直列スイッチ2200、2201(以下まとめて「直列スイッチ220」)と称する)に結合される。直列スイッチ2200および2201は、それぞれ同相クロックCK180およびCK0によって制御され、最終バッファ225へのデータを制御する。最終バッファ225は出力データDoutを駆動する。
【0036】
4:1データマルチプレクサ200は、CK90およびCK180がアクティブ(例えば、論理ハイ)かつCK270およびCK0がイナクティブ(例えば、論理ロー)のときに、入力データDin0を出力データDoutに渡し得る。4:1データマルチプレクサ200は、CK270およびCK0がアクティブ(例えば、論理ハイ)かつCK90およびCK180がイナクティブ(例えば、論理ロー)のときに、入力データDin1を出力データDoutに渡し得る。4:1データマルチプレクサ200は、CK270およびCK180がアクティブ(例えば、論理ハイ)かつCK90およびCK0がイナクティブ(例えば、論理ロー)のときに、入力データDin2を出力データDoutに渡し得る。4:1データマルチプレクサ200は、CK90およびCK0がアクティブ(例えば、論理ハイ)かつCK270およびCK180がイナクティブ(例えば、論理ロー)のときに、入力データDin3を出力データDoutに渡し得る。
【0037】
4:1データマルチプレクサ200は、コンパクトなMUX構造体であってもよい。4:1データマルチプレクサ200は、クォーターレートクロック(例えば、CK0,90,180,270)を使用して、本来的に低電力を消費する。最終段スイッチ(直列スイッチ220)は、CK0またはCK180がハイのときに2個の連続するビットを通す。したがって、クロッキング電力およびMUX出力ジッタは両方とも実質的に低い。シミュレーションを実行して、クロックバッファの消費電力(図示せず)を含めて、約2.4mWの消費電力で出力ジッタが約359fsであり得ることを実証することができる。
【0038】
この4:1データマルチプレクサ200の最終段スイッチ(直列スイッチ220)はCK0またはCK180がハイのときに2ビットを出力Doutに渡すため、内部データD1およびD2は、CK0またはCK180のクロック位相の整合によって直接に影響される。CK0またはCK180がD1およびD2上のデータビットの中心に整合していない場合、ビット幅変動が出力ノードDoutに現れ、より大きな出力データジッタにつながり得る。
【0039】
例示的な一例では、データ信号の配列がデータ信号Din0、Din1、Din2、およびDin3を含み得る。Din0は、CK90に応答して第1の内部ノードを形成するために接続するように設定され得る。Din2は、CK270に応答して第1の内部ノードに接続するように設定され得る。Din1は、CK270に応答して第2の内部ノードを形成するために接続するように設定され得る。Din3は、CK90に応答して第2の内部ノードに接続するように設定され得る。第1の内部ノードは、CK180に応答してDoutを形成するために接続するように設定され得、第2の内部ノードは、CK0に応答してDoutを形成するために接続するように設定され得る。
【0040】
図3は、例示的なクロック位相整合モジュールと組み合わされたマルチプレクサを示す。クロック位相整合モジュール300は、同相クロック(CK
0,180)305のセットおよび直交クロック(CK
90,270)310のセットを受信する。調整可能遅延線(ADL1)315
1は、同相クロック(CK
0,180)305および補正信号320を受信する。調整可能遅延線(ADL2)315
2は、直交クロック(CK
90,270)310および補正信号325を受信する。(調整可能遅延線315
1および315
2はまとめて「調整可能遅延線315」と称し得る。)調整可能遅延線315はそれぞれ1つまたは複数の遅延線を含むことができ、各遅延線315は遅延された入力信号を生成するように動作可能である。DCC330は、補正された同相クロック(CK
0’,180’)335のセットの50%デューティからの偏差に応答して補正信号320を生成する。DCC330は、補正された直交クロック(CK
90’,270’)340のセットの50%デューティからの偏差に応答して補正信号325を生成する。調整可能遅延線(ADL1)315
1は、補正信号320に応答して、同相クロック(CK
0,180)305の立上りおよび/または立下りエッジを遅延させ、補正された同相クロック(CK
0’,180’)335のセットを生成する。調整可能遅延線(ADL2)315
2は、補正信号325に応答して、直交クロック(CK
90,270)310の立上りおよび/または立下りエッジを遅延させ、補正された直交クロック(CK
90’,270’)340のセットを生成する。したがって、補正された同相クロック(CK
0’,180’)335および補正された直交クロック(CK
90’,270’)340は、実質的に50%のデューティサイクルを有し得る。
【0041】
調整可能遅延線315は、補正された同相クロック(CK0’,180’)335および補正された直交クロック(CK90’,270’)340を主マルチプレクサ(MMUX)345に提供する。いくつかの例では、MMUX345は多相制御入力を通じてクロック335および340を受信する。MMUX345は、パラレル入力データバス(Din0、Din1、Din2、Din3)350をデータストリーム(Dout)355にシリアライズする。
【0042】
レプリカマルチプレクサ(RMUX)360もまた、補正された同相クロック(CK0’,180’)335および補正された直交クロック(CK90’,270’)340を受信する。いくつかの例では、RMUX360は多相制御入力を通じてクロック335および340を受信する。RMUX360は、MMUX345の実質的なレプリカとして作製され得、主マルチプレクサ345とともに共通の基板上に作製され得、主マルチプレクサ345の設定、機能、およびタイミング特性を複製することができる。したがって、データストリーム(Dout)355内のデータビットに関連するタイミングは、RMUX360のデータストリーム(Dout-r)370内のデータビットに関連するタイミングのレプリカであり得る。
【0043】
RMUX360は入力データバス(Din0-r、Din1-r、Din2-r、Din3-r)365を受信する。入力データバス(Din0-r、Din1-r、Din2-r、Din3-r)365は、交替データビット論理を用いてデータストリーム(Dout-r)370を生成するように設定される。データストリーム(Dout-r)370は、RMUX360を通じてクロックされ、RMUX360はMMUX345の実質的なレプリカとして作製され得る。RMUX360はMMUX345のレプリカとして同じ基板上に作製されるため、RMUX360の設定、機能、およびタイミング特性はMMUX345のレプリカであり得る。また、RMUX360上のクロック-データフェージングは、MMUX345上のクロック-データフェージングのレプリカであり得る。例示的な一例では、補正された同相クロック(CK0’,180’)335のエッジが主シリアルデータストリーム(Dout)355内のデータビットを中心としてセンタリングされる場合、補正された同相クロック(CK0’,180’)335のエッジはレプリカシリアルデータストリーム(Dout-r)370内のデータビットを中心としてセンタリングされる。
【0044】
RMUX360の入力上のデータビットは交替論理を用いて設定されるため、データストリーム(Dout-r)370は交替ビット論理を生成し得る。また、RMUX360からのデータストリーム(Dout-r)370のデューティサイクルは、補正された直交クロック(CK90’,270’)340を用いた、補正された同相クロック(CK0’,180’)335のセンタリングを示し得る。RMUX360からのデータストリーム(Dout-r)370はDCC330に送信される。DCC330は、データストリーム(Dout-r)370の50%のデューティサイクルからの偏差に応答して、補正信号320および/または325を生成する。偏差は、同相クロックの補正遅延または直交クロックの補正遅延を伴い得るため、DCCは補正信号320および/または325を生成し得る。補正信号320に応答して、調整可能遅延線3151は補正された同相クロック(CK0’,180’)335の位相を調整し得る。補正信号325に応答して、調整可能遅延線3152は補正された直交クロック(CK90’,270’)340の位相をさらに調整し得る。補正された位相は、データストリーム(Dout)355の各データビット内に実質的にセンタリングされたクロッキングエッジを配置し得る。
【0045】
さまざまな実装形態では、補正信号320および325はそれぞれデータバスのセットであってもよい。例えば、補正信号320および325はそれぞれ、立上りエッジ遅延値および立下りエッジ遅延値を含むバスを含んでもよい。したがって、調整可能遅延線315は、立上りエッジおよび立下りエッジの遅延を同じ量だけ変化させることによって、クロック335、340の位相を調整し得る。また、調整可能遅延線315は、立上りおよび立下りエッジの遅延を変化させることによって、補正された同相クロック(CK0’,180’)335および補正された直交クロック(CK90’,270’)340のデューティサイクルを調整し得る。
【0046】
さまざまな例では、クロック位相整合モジュール300は、連続的にデューティ平衡化され位相整合された同相および直交クロックを生成し得る。デューティ平衡化され位相整合されたクロックは、さまざまなシリアライザ-デシリアライザ(SERDES)アプリケーションにおけるジッタを低減することができて有利である。
図3に示した実装形態は、例えば、クロック位相較正されたマルチプレクサであり得る。
【0047】
図4A、
図4B、および
図4Cは、可変クロック位相に応答する可変出力デューティサイクルを有する例示的なマルチプレクサ回路からの出力データストリームを示す。同相クロック(CK
0)および反転同相クロック(CK
180)が、
図2に示したマルチプレクサ200を通じてデータ信号D
1およびデータ信号D
2を多重化する。マルチプレクサ200は、MMUX345およびRMUX360の論理設定を表してもよい。
図3のマルチプレクサ200上で、データ入力D
in0およびD
in2がハイで結びつけられ、データ入力D
in1およびD
in3がローで結びつけられるとき、直交クロックCK
90およびCK
270の遷移ごとに反対の論理レベルに遷移するデータを有するデータストリームがD
1およびD
2上に生成され得る。
【0048】
図4A、
図4B、および
図4Cの例示的な波形は、データ入力D
in0およびD
in2がハイで結びつけられ、D
in1およびD
in3がローで結びつけられて、マルチプレクサ200から生成され得る。動作において、
図4A、
図4B、および
図4Cを参照すると、同相クロックCK
0がローのとき、データ信号D
1がリアルタイムでD
outに渡される。また、反転同相クロックCK
180がハイのとき、データ信号D
2がリアルタイムでD
outに渡される。データ信号D
1およびD
2は直列スイッチ220を通過するため、データ遷移を含む実際のデータ信号は、D
1からD
outに、またはD
2からD
outに選択的に渡される。
【0049】
したがって、Dout信号は、D1およびD2上の遷移の中心に対する同相クロックCK0およびCK180のエッジの近さに応答したデューティサイクルを生成する。同相クロックCK0およびCK180のクロッキングエッジがデータ信号D1およびD2の遷移間の中点に近いほど、Doutのデューティサイクルは50%に近くなる。Doutのデューティサイクルは、データ信号D1およびD2におけるデータ境界を用いたクロックのセンタリングを示す。
【0050】
図4Aに示すように、同相クロックCK
0はD
1およびD
2上の遷移を中心としてセンタリングされる。D
1およびD
2上の遷移は、直交クロック(
図2、CK
90およびCK
270)の遷移を表し得る。D
outが実質的に50%のデューティサイクルを生成するように、直交クロック(CK
90、およびCK
270)の遷移間に実質的にセンタリングされるように同相クロック(CK
0、およびCK
180)の位相を調節するために、さまざまなクロック位相整合モジュール実施形態が動作し得る。
【0051】
図4Bに示すように、同相クロックCK
0はデータ信号D
1およびD
2上の遷移の中点に対して早い。この例では、D
outは、早く到着する同相クロックに応答して50%よりも大きいデューティサイクルを生成する。
【0052】
図4Cに示すように、同相クロックCK
0はデータ信号D
1およびD
2上の遷移の中点に対して遅い。この例では、D
outは、遅く到着する同相クロックに応答して50%よりも小さいデューティサイクルを生成する。
【0053】
いくつかの例では、データ入力は
図4A~
図4Cで説明したのとは反対に、D
in0およびD
in2が論理ローであり、D
in1およびD
in3が論理ハイであるように設定され得る。このような例では、データ信号D
1およびD
2は
図4A~
図4Cで説明したものから反転され得る。
図4Bに示したように同相クロックが早く到来する場合、D
outのデューティサイクルは50%よりも小さくなり得る。
図4Cに示したように同相クロックが遅く到来する場合、D
outのデューティサイクルは50%よりも大きくなり得る。対応するダウンストリーム回路は、同じ全体的結果を達成するために逆の論理を用いて実装され得る。
【0054】
図4A、
図4B、および
図4Cは、レプリカマルチプレクサ(RMUX)360の動作の詳細を示す。例示的な一例では、RMUX360の入力を交替論理に(例えば、D
in0-rおよびDin
2-rを論理ハイに、D
in1-rおよびD
in3-rを論理ローに)接続することによって、例えば14GHzのクロック波形がRMUX360のデータ信号(内部ノード)D
1およびD
2に生成され得る。CK
0,180がデータ信号D
1およびD
2の遷移を用いて実質的にセンタリングされる場合、RMUX360の出力であるデータストリーム(D
out-r)370は、実質的に50%のデューティサイクルを有する28GHzの信号であり得る。これに対して、CK
0,180上の早いまたは遅いクロックエッジに応答して、RMUX360の出力は、データストリーム(D
out-r)370上で50%よりも大きいまたは50%よりも小さいデューティサイクルを生成し得る。
【0055】
図5は、例示的なデューティサイクル較正モジュール(DCC:duty cycle calibration)を示す。デューティサイクル較正モジュール(DCC)500は、検知モジュール505および較正処理モジュール510を含む。いくつかの例では、DCC500はDCC330(
図3)であり得る。検知モジュール505は、1つまたは複数の差動ペアを受信する。図示した例では、検知モジュール505は、D
out-r差動ペア、CK
0,180差動ペア、およびCK
90,270差動ペアを受信する。
【0056】
D
out-r差動ペアは、RMUX(
図3、項目360)によって生成される。D
out-r差動ペアは、ローパスフィルタ(LPF)515によってフィルタリングされる。LPF515は、平均電圧V
AVE(D
out-r)およびV
AVE(D
out-r)バーのペアを生成する。平均電圧は誤差増幅器520に送信され、そこで、直交クロック(CK
90,270)整合に対する同相クロック(CK
0,180)の位相シフトを示す誤差信号520Aが生成される。
【0057】
例示的な一例では、検知モジュール505は、同相クロック(CK0,180)が直交クロック(CK90,270)から90度位相シフトされているときにゼロの誤差信号520Aを生成するように設定され得る。90°位相シフトは最適整合を示し得る。検知モジュール505は、同相クロック(CK0,180)が直交クロック(CK90,270)から90°よりも小さく位相シフトされているときに正の誤差信号520Aを生成し、同相クロック(CK0,180)が直交クロック(CK90,270)から90°よりも大きく位相シフトされているときに負の誤差信号520Aを生成するように設定され得る。例えば正の誤差に応答して、CK0の立上りおよび立下りエッジ(ならびにCK180の関連する立上りおよび立下りエッジ)が同相クロックの位相シフトを増大させるように同時に遅延され得る。それに応じて、例えば負の誤差に応答して、CK90の立上りおよび立下りエッジ(ならびにCK270の関連する立上りおよび立下りエッジ)が直交クロックの位相シフトを増大させるように同時に遅延され得る。誤差信号520Aは、90°からの偏差を示す大きさを含み得る。
【0058】
CK0,180差動ペアは、LPF525によってフィルタリングされる。LPF525は、平均電圧VAVE(CK0)およびVAVE(CK180)のペアを生成する。平均電圧は誤差増幅器530に送信され、そこで、CK0,180差動ペアのデューティサイクルを示す誤差信号530Aが生成される。
【0059】
例示的な一例では、検知モジュール505は、CK0,180差動ペアが50%デューティサイクルにあるときにゼロの誤差信号530Aを生成するように設定され得る。検知モジュール505は、CK0,180差動ペアのデューティサイクルが50%よりも大きいときに正の誤差信号530Aを生成し、CK0,180差動ペアのデューティサイクルが50%よりも小さいときに負の誤差信号530Aを生成するように設定され得る。例えば正の誤差に応答して、CK0の立上りエッジ(およびCK180の関連する立下りエッジ)が同相クロックデューティサイクルを減少させるように遅延され得る。それに応じて、例えば負の誤差に応答して、CK0の立下りエッジ(およびCK180の関連する立上りエッジ)が同相クロックデューティサイクルを増大させるように遅延され得る。誤差信号530Aは、50%デューティサイクルからの偏差を示す大きさを含み得る。
【0060】
CK90,270差動ペアは、LPF535によってフィルタリングされる。LPF535は、平均電圧VAVE(CK90)およびVAVE(CK270)のペアを生成する。平均電圧は誤差増幅器540に送信され、そこで、CK90,270差動ペアのデューティサイクルを示す誤差信号540Aが生成される。
【0061】
例示的な一例では、検知モジュール505は、CK90,270差動ペアが50%デューティサイクルにあるときにゼロの誤差信号540Aを生成するように設定され得る。検知モジュール505は、CK90,270差動ペアのデューティサイクルが50%よりも大きいときに正の誤差信号540Aを生成し、CK90,270差動ペアのデューティサイクルが50%よりも小さいときに負の誤差信号540Aを生成するように設定され得る。例えば正の誤差に応答して、CK90の立上りエッジ(およびCK270の関連する立下りエッジ)が直交クロックデューティサイクルを減少させるように遅延され得る。それに応じて、例えば負の誤差に応答して、CK90の立下りエッジ(およびCK270の関連する立上りエッジ)が直交クロックデューティサイクルを増大させるように遅延され得る。いくつかの例では、誤差信号540Aは、50%デューティサイクルからの偏差を示す大きさを含み得る。
【0062】
較正処理モジュール510は、誤差信号520A、530A、および540Aを受信する。較正処理モジュール510は、同相クロック補正信号545および直交クロック補正信号550を生成する。
【0063】
例示的な一例では、同相クロック補正信号545は1つまたは複数のデジタル制御およびデータバスを含み得る。デジタル制御およびデータバスは、立上りおよび立下りの両方のエッジに対して、時間遅延大きさを含むことができ、これは調整可能遅延線(ADL1)315
1(
図3)などの遅延線モジュールに送信され得、このようにして、同相クロックのデューティサイクルおよび位相が調整され得る。
【0064】
例示的な一例では、直交クロック補正信号555は1つまたは複数のデジタル制御およびデータバスを含み得る。デジタル制御およびデータバスは、立上りおよび立下りの両方のエッジに対して、時間遅延大きさを含むことができ、これは調整可能遅延線(ADL2)315
2(
図3)などの遅延線モジュールに送信され得、このようにして、同相クロックのデューティサイクルおよび位相が調整され得る。
【0065】
図6Aおよび
図6Bは、例示的なクロック位相整合モジュールのブロック図および関連するタイミング図を示す。
図6Aを参照すると、クロック位相整合モジュール600はデジタル遅延モジュール605を含む。クロック位相整合モジュール600は、1つまたは複数の入力クロック610を調整するように動作可能であり得る。入力クロック610は同相差動ペア(例えば、CK
0、CK
180)および直交差動ペア(例えば、CK
90、CK
270)を含み得る。入力クロック610への調整は、遅延制御信号615によって制御され得る。図示した例では、遅延制御信号615は1つまたは複数の遅延モジュール制御データバスを含む。デジタル遅延モジュール605は、遅延制御信号615に応答して入力クロック610のセットの立上りおよび/または立下りエッジの遅延を調整することによって、調整済みクロック620(これは同相調整済みクロックCK
0’、CK
180’および直交調整済みクロックCK
90’、CK
270’として定義され得る)のセットを生成し得る。したがって、調整済みクロック620のセットは、デューティサイクルおよび位相が調整された入力クロック610のセットを反映し得る。
【0066】
検知モジュール625は、調整済みクロック620およびレプリカmux640によって生成されたデータ出力信号635を受信する。データ出力信号635は、同相クロックと直交クロックとの間の位相整合を表し得る。検知モジュール625は、(1)同相調整済みクロックCK0’、CK180’、(2)直交調整済みクロックCK90’、CK270’、および(3)データ出力信号635、のデューティサイクルを示すデューティサイクル検知信号630を生成し得る。
【0067】
較正処理モジュール645は、検知モジュール625によって生成されたデューティサイクル検知信号630を受信する。較正処理モジュール645は、デューティサイクル検知信号630に基づいて遅延制御信号615を生成する。
【0068】
図示した例では、較正処理モジュール645は前処理モジュール650および後処理モジュール655を含む。前処理モジュール650は、受信したデューティサイクル検知信号630のそれぞれに応答して大きさおよび方向信号660のセットを生成する。後処理モジュール655は、大きさおよび方向信号660のセットに応答して遅延制御信号615を生成する。遅延制御信号615は、1つまたは複数の遅延モジュール制御データバスを含み得る。較正処理モジュール645は、デューティサイクル検知信号に基づいて遅延制御信号615を生成し得る。
【0069】
較正処理モジュール645はクロックディバイダ665を含む。クロックディバイダ665は、処理クロック675に応答して1つまたは複数のイネーブル信号670を生成する。イネーブル信号670は、反復的に連続して、検知モジュール625内の3つの機能(同相クロックデューティサイクル、直交クロックデューティサイクル、位相デューティサイクル)をアクティブ化し得る。
【0070】
さまざまな例では、3つのイネーブル信号670のそれぞれが、反復するパターンで1つまたは複数の処理クロック675の期間中にアクティブ化し得る。また、イネーブル信号670は、デューティサイクル検知信号630への出力として検知モジュール625からの検知信号のうちの1つを選択し得る。
【0071】
例えば、第1のイネーブル信号(cal_i_duty_enable)の期間中に、デューティサイクル検知信号630は、同相クロック(CK0,180)の発生したLPF検知信号であり得る。較正処理モジュール645内の前処理モジュール650は、受信したデューティサイクル検知信号630に基づいて、同相クロックの大きさおよび方向信号660を決定し得る。較正処理モジュール645内の後処理モジュール655は、大きさおよび方向信号660を受信し、同相クロックエッジ(例えば、cki_falling[7:0]、cki_rising[7:0])に対する遅延の大きさを生成し得る。この第1のイネーブル信号(cal_i_duty_enable)の期間中に、較正処理モジュール645は、この決定を8回実行し、例えば各決定が16処理クロックだけ継続し得る。
【0072】
次に、第2のイネーブル信号(cal_q_duty_enable)の期間中に、デューティサイクル検知信号630は、直交クロックの発生したLPF検知信号であり得る。較正処理モジュール645内の前処理モジュール650は、受信したデューティサイクル検知信号630に基づいて、直交クロックの大きさおよび方向信号660を決定し得る。較正処理モジュール645内の後処理モジュール655は、大きさおよび方向信号660を受信し、直交クロックエッジ(例えば、ckq_falling[7:0]、ckq_rising[7:0])に対する遅延の大きさを生成し得る。この第2のイネーブル信号(cal_q_duty_enable)の期間中に、較正処理モジュール645は、この決定を8回実行し、例えば各決定が16処理クロックだけ継続し得る。
【0073】
最後に、第3のイネーブル信号(cal_iq_phase_enable)の期間中に、デューティサイクル検知信号630は、レプリカmux640によって生成されたデータ出力信号635の発生したLPF検知信号であり得る。較正処理モジュール645内の前処理モジュール650は、受信したデューティサイクル検知信号630に基づいて、レプリカmux640によって生成されたデータ出力信号635の大きさおよび方向信号660を決定し得る。較正処理モジュール645内の後処理モジュール655は、大きさおよび方向信号660を受信し、同相および直交クロックエッジ(例えば、cki_falling[7:0]、cki_rising[7:0]、ckq_falling[7:0]、ckq_rising[7:0])に対する共通の遅延の大きさを生成し得る。この第3のイネーブル信号(cal_iq_phase_enable)の期間中に、較正処理モジュール645は、この決定を8回実行し、例えば各決定が16処理クロックだけ継続し得る。
【0074】
レプリカmux640は、主mux680のレプリカである。さまざまな例では、クロック位相整合モジュール600は調整済みクロック620のセットを生成することができ、これは、調整されたデューティサイクルおよび位相を有する入力クロック610の補正されたコピーであり得る。主mux680は、調整済みクロック620のセットに応答して、低減されたジッタを有するシリアル出力データストリーム685を生成し得る。
【0075】
図6Bを参照すると、例示的なクロック位相整合モジュール600のタイミング図は順次的なイネーブル信号670を含む。
図6Aで説明したように、イネーブル信号はデューティサイクル検知モジュール625内の3つの機能のうちの1つをアクティブ化する。
【0076】
図6Bの例に示すように、cki_Duty_enableがアクティブ(例えば、ハイ)のとき、同相クロック(信号名cki_Duty_enable内の「i」で表されるように)のデューティサイクルが検知モジュール625で検知および評価され得る。検知モジュール625は、同相クロックデューティLPF値を有するデューティサイクル検知信号630を生成し、その値を較正処理モジュール645に送信し得る。さまざまな例では、較正処理モジュール645は、同相クロックデューティLPF値が安定化することを可能にするために、複数サイクル(
図6Bでは「n」サイクルとして表される)が経過することを可能にし得る。較正処理モジュール645は、デューティサイクル検知信号630を補正値cki_Duty_cntl[7:0]およびcki_Duty_dirに変換することによって、遅延制御信号615を生成し得る。
【0077】
ckq_Duty_enableがアクティブ(例えば、ハイ)のとき、直交クロック(信号名ckq_Duty_enable内の「q」で表されるように)のデューティサイクルが検知モジュール625で検知および評価され得る。検知モジュール625は、直交クロックデューティLPF値を有するデューティサイクル検知信号630を生成し、その値を較正処理モジュール645に送信し得る。さまざまな例では、較正処理モジュール645は、直交クロックデューティLPF値が安定化することを可能にするために、複数サイクル(
図6Bでは「n」サイクルとして表される)が経過することを可能にし得る。較正処理モジュール645は、デューティサイクル検知信号630を補正値ckq_Duty_cntl[7:0]およびckq_Duty_dirに変換することによって、遅延制御信号615を生成し得る。
【0078】
ckiq_Phase_enableがアクティブ(例えば、ハイ)のとき、データ出力信号635などの同相-直交フェージングを示すデューティサイクルが検知モジュール625で検知および評価され得る。検知モジュール625は、同相-直交フェージングデューティLPF値を有するデューティサイクル検知信号630を生成し、その値を較正処理モジュール645に送信し得る。さまざまな例では、較正処理モジュール645は、同相-直交フェージングデューティLPF値が安定化することを可能にするために、複数サイクル(
図6Bでは「n」サイクルとして表される)が経過することを可能にし得る。較正処理モジュール645は、デューティサイクル検知信号630を補正値ckiq_Phase_cntl[7:0]およびckiq_Phase_dirに変換することによって、遅延制御信号615を生成し得る。いくつかの例では、較正処理モジュール645は、デューティサイクル検知信号630を補正値ckq_Phase_cntl[7:0]およびckq_Phase_dirに変換することによって、遅延制御信号615を生成し得る。それに応じて、クロックの相対位相は、同相および/または直交クロックの立上りおよび立下りエッジを同時に遅延させることによって調整することができる。
【0079】
さまざまな例では、イネーブル信号670のアクティブ化後の、最初の「n」サンプルで表されるように安定化時間のためのクロックサイクル数は、機能ごとに異なり得る。例えば、同相クロックデューティ検知のための安定化は5クロックであり得、直交クロックデューティ検知のための安定化時間は10クロックであり得、位相検知デューティのための安定化時間は12クロックであり得る。
【0080】
較正処理モジュール645は、どのパラメータ(例えば、同相クロック、直交クロック、同相および直交クロック間のフェージング)がサンプリングおよび補正されるべきかを指示するために、イネーブル信号670を介して検知モジュール625を制御し得る。較正処理モジュール645は、
図6Bに示すように順次的な反復によってパラメータをイネーブルし得る。パラメータ(例えば、同相クロック、直交クロック、同相および直交クロック間のフェージング)に対する反復的な補正は、供給および温度変動のリアルタイムでの補償を提供し得る。
【0081】
いくつかの例では、イネーブルは非対称的にアクティブ化され得る。例えば、較正処理モジュール645は、同相クロックデューティサイクル検知(ID)、直交クロックデューティサイクル検知(QD)をイネーブルしてからIDに戻り、それからQDの後に、同相-直交フェージング(IQP)をアクティブ化し得る。この原理はさらに拡張することができ、較正処理モジュール645は、例えば、IQPをアクティブ化する前に、ID、QD、ID、QD、ID、QDのイネーブルシーケンスを生成し得る。さまざまな実装形態では、イネーブルは異なる順序でアクティブ化され得、較正処理モジュール645は、例えば、QD、ID、IQPのイネーブルシーケンスを生成し得る。いくつかの例では、較正処理モジュール645は、例えば、決まったパターンではなく、デューティサイクル誤差信号の相対的大きさまたはダイ温度などの他の因子に基づくイネーブルシーケンスを決定し得る。
【0082】
例示的な一例では、cki_Duty_dirおよびckq_Duty_dir信号は、デューティサイクル増大に対して0、およびデューティサイクル減少に対して1を示し得る。また、ckiq_Phase_dirは、同相クロックパスを遅延させる場合に0、および直交クロックパスを遅延させる場合に1を示し得る。
【0083】
図7は、マルチプレクサクロック位相較正モジュールのない場合のクロックジッタを表す例示的なアイダイアグラムを示す。図示した例では、ジッタ測定値は1.563ピコ秒である。
【0084】
図8は、マルチプレクサクロック位相較正モジュールのある場合のクロックジッタを表す例示的なアイダイアグラムを示す。図示した例では、ジッタ測定値は0.514ピコ秒である。
図7を参照すると、
図8の測定値は約67%のジッタ低減を表している。
【0085】
図9Aおよび
図9Bは、開示される回路およびプロセスが実装され得る例示的なプログラマブル集積回路(IC)を示す。
図9Aおよび
図9Bは組み合わせて説明される。
図9Aと
図9Bとの間の接続は丸付きの点A、B、C、およびDで示されている。プログラマブルIC900は、フィールドプログラマブルゲートアレイ(FPGA)ロジックを含む。プログラマブルIC900は、さまざまなプログラマブルリソースを用いて実装されてもよく、システムオンチップ(SOC)と称してもよい。FPGAロジックは、アレイ内にいくつかの異なる種類のプログラマブルロジックブロックを含み得る。
【0086】
例えば、
図9Aおよび
図9BはプログラマブルIC900を示し、プログラマブルIC900は、マルチギガビットトランシーバ(MGT)901、設定可能ロジックブロック(CLB:configurable logic block)902、ランダムアクセスメモリのブロック(BRAM:block of random access memory)903、入出力ブロック(IOB:input/output block)904、設定およびクロッキングロジック(CONFIG/CLOCKS)905、デジタル信号処理ブロック(DSP)906、特殊入出力ブロック(I/O)907(例えば、クロックポート)、および他のプログラマブルロジック908(例えば、デジタルクロックマネージャ、アナログ-デジタルコンバータ、システムモニタリングロジック)を含む多数の異なるプログラマブルタイルを含む。プログラマブルIC900は専用プロセッサブロック(PROC)910を含む。プログラマブルIC900は、内部および外部再設定ポート(図示せず)を含み得る。
【0087】
さまざまな例では、シリアライザ/デシリアライザがMGT901を使用して実装され得る。MGT901は、さまざまなデータシリアライザおよびデシリアライザを含み得る。データシリアライザはさまざまなマルチプレクサ実装形態を含み得る。データデシリアライザはさまざまなデマルチプレクサ実装形態を含み得る。
【0088】
FPGAロジックのいくつかの例では、各プログラマブルタイルは、各隣接タイル内の対応する相互接続要素との間の標準化された相互接続924を有するプログラマブル相互接続要素(INT)911を含む。したがって、プログラマブル相互接続要素はまとめて、例示されたFPGAロジックに対するプログラマブル相互接続構造を実装している。プログラマブル相互接続要素INT911は、
図9Bに含まれる例によって示されるように、同じタイル内のプログラマブルロジック要素との間の内部接続920を含む。プログラマブル相互接続要素INT911は、
図9Bに含まれる例によって示されるように、同じタイル内のプログラマブル相互接続要素INT911との間のINT間接続922を含む。
【0089】
例えば、CLB902は、ユーザロジックを実装するためにプログラムされ得る設定可能ロジック要素(CLE:configurable logic element)912と、単一のプログラマブル相互接続要素INT911とを含み得る。BRAM903は、BRAMロジック要素(BRL)913および1つまたは複数のプログラマブル相互接続要素を含み得る。いくつかの例では、タイル内に含まれる相互接続要素の数はタイルの高さに依存し得る。図示した実装形態では、BRAMタイルは5個のCLBと同じ高さを有するが、他の個数(例えば、4個)も使用可能である。DSPタイル906は、DSPロジック要素(DSPL)914および1つまたは複数のプログラマブル相互接続要素を含み得る。IOB904は、例えば、入出力ロジック要素(IOL)915の2つのインスタンスおよびプログラマブル相互接続要素INT911の1つのインスタンスを含み得る。例えばI/Oロジック要素915に接続される実際のI/Oボンドパッドは、さまざまな例示されたロジックブロックの上に積層された金属を使用して製造され得、入出力ロジック要素915の領域に制限されないことがある。
【0090】
図示した実装形態では、ダイの中心付近のカラム状領域(
図9Aで網掛けで示す)が設定、クロック、および他の制御ロジックのために使用される。カラムから広がる水平領域909が、プログラマブルICの幅全体にわたってクロックおよび設定信号を分配する。なお、「カラム状」および「水平」領域への言及は、縦長の向きに図面を見る場合に相対的であることに留意されたい。
【0091】
図9Aおよび
図9Bに示すアーキテクチャを利用するいくつかのプログラマブルICは、プログラマブルICの大部分を構成する規則的なカラム状構造を分断する追加的なロジックブロックを含む。追加的なロジックブロックは、プログラマブルブロックおよび/または専用ロジックであり得る。例えば、
図9Aに示すプロセッサブロックPROC910は、CLB902およびBRAM903のいくつかのカラムに及ぶ。
【0092】
なお、
図9Aおよび
図9Bは、プログラマブルICアーキテクチャの一例のみを示すためのものであることに留意されたい。カラム内のロジックブロックの数、カラムの相対的な幅、カラムの数および順序、カラム内に含まれるロジックブロックの種類、ロジックブロックの相対的なサイズ、ならびに相互接続/ロジックの実装形態は、単に例として提供されている。例えば、実際のプログラマブルICでは、ユーザロジックの効率的な実装を容易にするために、CLB902が現れる場所にはCLB902の複数の隣接するカラムが含まれ得る。
【0093】
図10は、例示的なクロック位相整合方法のフローチャートを示す。例示的なクロック位相整合方法1000はブロック1005を含む。ブロック1005で、クロック位相整合方法1000は、レプリカマルチプレクサ(RMUX)を用いて、同相クロック信号(CKI)および直交クロック信号(CKQ)に応答してレプリカシリアルデータ出力信号(RDOUT)を生成する。そして、実行はブロック1005からブロック1010に続く。ブロック1010で、クロック位相整合方法1000は、DCCを用いて、クロック信号CKIおよびCKQを受信する。DCCはまた、レプリカシリアルデータ出力信号(RDOUT)を受信し得る。次に、方法1000は3つの判定ブロック1015、1030、または1045のうちの1つを実行する。方法1000は反復的に実行されてもよく、3つの判定ブロックのそれぞれを待ち行列で実行してもよい。さまざまな例では、方法1000は、3つの判定ブロックのそれぞれを順次的および周期的に実行し得る。
【0094】
方法1000は判定ブロック1015を実行し得る。判定ブロック1015で、本方法はCKIを反転CKIと比較する。結果が50%デューティ以上の信号である場合、ブロック1020で調整可能遅延線がCKIの立下りエッジを遅延させる。結果が50%デューティ未満の信号である場合、ブロック1025で調整可能遅延線がCKIの立上りエッジを遅延させる。そして、実行はブロック1060に続く。
【0095】
方法1000は判定ブロック1030を実行し得る。判定ブロック1030で、本方法はCKQを反転CKQと比較する。結果が50%デューティ以上の信号である場合、ブロック1035で調整可能遅延線がCKQの立下りエッジを遅延させる。結果が50%デューティ未満の信号である場合、ブロック1040で調整可能遅延線がCKQの立上りエッジを遅延させる。そして、実行はブロック1060に続く。
【0096】
方法1000は判定ブロック1045を実行し得る。判定ブロック1030で、本方法はRDOUTを反転RDOUTと比較する。結果が50%デューティ以上の信号である場合、ブロック1050で調整可能遅延線がCKIの立上りおよび立下りエッジを遅延させる。結果が50%デューティ未満の信号である場合、ブロック1055で調整可能遅延線がCKQの立上りおよび立下りエッジを遅延させる。そして、実行はブロック1060に続く。
【0097】
ブロック1060で、方法1000は、主マルチプレクサ(MMUX)を用いて、CKIおよびCKQに応答してレプリカマルチプレクサのマルチプレクサ動作を複製する。そして、方法1000の実行は完了し得る。
【0098】
例示的なクロック位相整合方法1000は、
図5を参照して較正処理モジュール510によって実行され得る。較正処理モジュール510は、ハードウェアもしくはソフトウェアまたはそれらの組合せで実装され得る。
【0099】
さまざまな実施形態について図を参照して説明したが、他の実施形態が可能である。例えば、さまざまな実施形態は、4入力1出力に限定されなくてもよい。したがって、マルチプレクサは8、16、32、64、もしくは128、またはより多くのビットを入力し、1個の出力を生成してもよい。さまざまな実施形態は、さまざまな設定で接続された1つまたは複数の4:1マルチプレクサを使用して、より広い入力バスを実装してもよい。
【0100】
さまざまな実施形態は、デジタル信号プロセッサ(DSP)の使用により遅延制御信号を生成し得る。例えば、さまざまな差動信号ペアは、個別にローパスフィルタリングされ、アナログ結果がDSPによって読み出され得る。DSPは、メモリデバイスからフェッチされた事前にプログラムされた命令を実行することによりアナログ結果を比較し得る。DSPは、クロックのセットのデューティサイクルおよび/または位相に対してさらに調整を行うために、互換性のある(アナログ入力)遅延線にアナログ出力信号を提供し得る。いくつかの実装形態では、DSPは、互換性のある(デジタル入力)遅延線に1つまたは複数のデジタル出力バスを提供し得る。さまざまな実装形態では、DSPはローパスフィルタリングを提供し得る。また、いくつかの例では、DSPは遅延線機能を提供し得る。
【0101】
さまざまな例では、クロックタイミング歪みが、MMUXおよびRMUXの両方に出力ジッタとして反映され得る。提案されるクロック較正技術は、出力ジッタを最小化するためにCK0,180位相を同調/較正し得る。同調分解能は、遅延線の最小同調可能範囲によって決定され得る。したがって、同調ループは、遅延線の分解能以内の較正されたクロックタイミングを生成し得る。
【0102】
モジュールのさまざまな例は、さまざまな電子的ハードウェアを含む回路を使用して実装され得る。例として、限定ではなく、ハードウェアは、トランジスタ、抵抗、キャパシタ、スイッチ、集積回路、および/または他のモジュールを含み得る。さまざまな例では、モジュールは、さまざまな集積回路(例えば、FPGA、ASIC)を含むシリコン基板上に作製されたアナログおよび/もしくはデジタルロジック、ディスクリート構成要素、トレース、ならびに/またはメモリ回路を含み得る。いくつかの実施形態では、モジュールは、プロセッサによって実行される事前にプログラムされた命令および/またはソフトウェアの実行を伴い得る。例えば、さまざまなモジュールはハードウェアおよびソフトウェアの両方を伴い得る。
【0103】
例示的な一態様では、マルチプレクサクロック較正モジュールは、動的な動作条件にわたってマルチプレクサクロック入力を追跡および補償するように適応し得る。マルチプレクサクロック較正モジュールは、データ信号の第1の配列を受信するように設定された主マルチプレクサモジュール(MMUX)を含むことができ、多相MMUX制御入力に応答して第1の配列内のデータ信号のうちの1つを選択することによって、主シリアルデータ出力信号(MDout)を生成するように動作可能であり得る。マルチプレクサクロック較正モジュールは、MMUXと共通の基板上に作製され、MMUXの動作を複製するように設定されたレプリカマルチプレクサモジュール(RMUX)を含み得る。RMUXは、データ入力の第2の配列を受信するように設定され得、レプリカシリアルデータ出力信号(RDout)を生成するように動作可能であり得る。RMUXは、多相RMUX制御入力に応答して第2の配列内のデータ入力のうちの1つを選択することによって、RDoutを生成するように設定され得る。さまざまな例では、RMUXは、プロセス、電圧、および温度(PVT:process, voltage, and temperature)にわたってMMUXの動作特性をエミュレートするように設定され得る。RDoutおよびMDoutはそれぞれ、差動信号として形成され得る。
【0104】
マルチプレクサクロック較正モジュールは、3つの信号処理回路を備えたデューティサイクル較正モジュール(DCC)を含み得る。信号処理回路のそれぞれは、差動誤差増幅器に結合された少なくとも1つのローパスフィルタ(LPF)を含み得る。DCCは、RDoutに応答して同相クロック信号(CKI)と直交クロック信号(CKQ)との間の位相関係を調整するために、第1の遅延制御信号および第2の遅延制御信号を生成するように設定され得る。
【0105】
マルチプレクサクロック較正モジュールは、CKIおよびCKQ信号を生成するように設定された調整可能遅延線モジュール(ADLM:adjustable delay line module)を含み得る。ADLMは第1の調整可能遅延線モジュールを含むことができ、第1の調整可能遅延線モジュールは、CKI信号を生成するために、第1の遅延制御信号に応答してシステム同相クロック信号(CK0,180)を遅延させるように適応し得る。ADLMは、CKQ信号を生成するために、第2の遅延制御信号に応答してシステム直交クロック信号(CK90,270)を遅延させるように適応した第2の調整可能遅延線モジュールを含み得る。多相MMUX制御入力および多相RMUX制御入力は、CKIおよびCKQの両方のクロック信号を受信するためにADLMに動作可能に接続され得る。
【0106】
DCCは、時間間隔の第1の部分の期間中に第1の遅延制御信号のみを動的に変調するように設定され得る。DCCは、時間間隔の第2の部分の期間中に第2の遅延制御信号のみを動的に変調するように設定され得る。DCCは、時間間隔の第3の部分の期間中に第1の遅延制御信号および第2の遅延制御信号を動的に変調するように設定され得る。第1、第2、および第3の部分は非重畳であり得る。
【0107】
いくつかの実施形態では、第1および第2の調整可能遅延線モジュールのそれぞれは電圧制御遅延線を含み得る。さまざまな例では、DCCは、50%のデューティサイクルに対するRDoutのデューティサイクルの変動に応答して電圧制御遅延線のうちの少なくとも1つを調整するために、第1の遅延制御信号および第2の遅延制御信号のうちの少なくとも1つにオフセット電圧を投入するように設定され得る。
【0108】
DCCは、複数の時間間隔にわたって動的な変調を反復するように設定され得る。第1の調整可能遅延線モジュールは、第1の遅延制御信号に応答してCKIのデューティサイクルを変調するように適応し得る遅延線を含むことができ、第2の調整可能遅延線モジュールは、第2の遅延制御信号に応答してCKQのデューティサイクルを変調するように適応し得る遅延線を含むことができる。
【0109】
いくつかの実装形態では、第1および第2の調整可能遅延線モジュールは、CKIの立上りエッジまたは立下りエッジとCKQの立上りエッジまたは立下りエッジとの間のタイミングを変調することによって、CKIとCKQとの間の位相関係を変調するように設定され得る。CKIの立上りエッジまたは立下りエッジとCKQの立上りエッジまたは立下りエッジとの間のタイミングを変調しながら、CKIおよびCKQのデューティサイクルは実質的に同一に維持され得る。第2の配列内のデータ入力は、CKIおよびCKQのうちのいずれか1つの周波数の2倍である周波数で、実質的に50%のデューティサイクルの方形波クロック信号としてRDoutを形成するように設定され得る。
【0110】
以下で説明するように
図11~
図18は、レプリカ回路を使用して主回路を較正する方法を提供し、この主回路は、主回路の所定の機能(例えばパラレルデータをシリアルデータに変換する)を実行するために使用され、レプリカ回路は、主回路の特定の機能およびタイミング(例えば、クロック遅延、信号遅延、立上り時間、立下り時間)を複製する目的のために形成され、したがって主回路のレプリカ機能を実行する。下記の
図11~
図18に記載されるような回路および方法は、MUX内に実装され得る主およびレプリカシリアライザ回路を含めて、主回路およびレプリカ回路を有する任意の回路装置に組み込まれ得る。較正方式は一般的に、オフセット電圧、タイミング不整合、およびインピーダンスなどの電気的特性を測定するために集積回路内で使用される。それらの特性が測定された後、対応する補正/適応方式を使用して、それらの回路の性能を所望される状態に同調させることができる。較正は、較正されている実際の回路上で実行されるときに最良であり得るが、レプリカ回路を利用することが可能である。以下でさらに詳細に説明するように、レプリカ回路は、実際の回路挙動を模擬するために、スケールされてもされなくてもよいが、同じ機能およびタイミングを提供するための実際の回路のコピーである。レプリカ回路は、例えば入力パターン、負荷、または配置からの制約のために必要となり得る。すなわち、主回路の較正において使用され得る情報を取得するために主回路を使用しようとする任意の試みは、主回路の動作に割り込むか、さもなければ悪影響を及ぼし得る。MUX内に実装されるシリアライザ回路が例として提供されるが、本回路および方法は回路内に実装される任意の機能に適用され得ると理解されるべきである。
【0111】
以下に記載する回路および方法は、例えば、同相(I)および直交(Q)クロック信号、まとめてIQクロック信号またはIQを含む、回路を較正するためのエネルギー効率の良い方法を記述する。実装形態によれば、低電力4:1マルチプレクサ(MUX)を使用する送信機(TX)のIQ不整合が説明される。上記のように、4:1muxは、4:1MUXのために必要とされる4Tクロックに比べて所与の技術において電力効率が低い2Tクロック(ただしTはビット期間である)の必要性を排除するので、TXのための最終シリアライズ段として2:1MUXの代わりに使用される。
図2のタイミング図に示したように、低電力4:1MUXは、1Tパルス生成を必要とすることなく、4Tクロックの4相、すなわち位相0、90、180、および270を使用して、4Tパラレルデータを1Tビットストリームにシリアライズする。
【0112】
位相間のクロック歪みに加えて、
図2に示したこの低電力4:1MUXの概略図に見られるように、MUXのIパス(クロック信号の位相0、180を使用してクロックされる)とMUXのQパス(これはクロック信号の位相90、270を使用してクロックされる)との間の遅延不整合も存在する。IQ不整合が較正されない場合、TX出力の決定性ジッタ(DJ:deterministic jitter)として現れる。決定性ジッタは、リンク性能、特に例えば112Gb/sで動作する高速トランシーバに対するリンク性能を劣化させ得る。しかし、IQ不整合情報は、4:1MUXの4個の入力に(1010パターンなどの)固定パターンを送信することによって取得され得る。出力されるシリアライズされた1010パターンのパルス幅を観測することによって、IQ不整合は導出される。リンクの入力パターンを制約することは有益でなく、較正のために主回路のリアルタイムトラフィックを停止することは実現可能でないため、このような4:1MUXが主回路として使用されるときにはレプリカ4:1MUXがIQ較正のために使用される。レプリカパスは、実際のパスの電気的特性を模擬するので、MUXの最小サイズを制限する。すなわち、サイズが小さいほどIQ不整合は高くなるため、不整合を最小化するために、より大きいレプリカMUXが使用され得る。
【0113】
しかし、実際の回路とレプリカ回路との間の不整合が、割り当てられたTX DJバジェットの範囲内にあるようにMUXのサイズが決定される場合、高いクロッキング電力が要求されて、もともとの低電力設計意図を無効にする可能性がある。主回路に対するレプリカ回路のサイズ決定における任意の制限を克服するため、
図11~
図18に記載される回路および方法は、2段階に分割された較正方式を実装する。第1に、実際のIQ不整合を測定するために主回路に対してフォアグラウンド較正が実行される。較正がフォアグラウンドで(すなわち、主回路が、シリアライザによってシリアライズされたデータを提供するなどの、主回路の意図された機能のために使用される前の動作中に)行われるため、4:1MUXへの入力パターンに対する制限はない。ミッションモード動作と称し得る回路の実際の動作中に電圧および温度(VT:voltage and temperature)におけるドリフトなどの、動作条件の変化を追跡するために、固定された入力パターンを用いた、より小さいレプリカ4:1MUXも使用され得る。電圧および温度は、回路のトランジスタの移動度およびしきい値電圧などの電気的特性に決定論的に影響を及ぼすため、小さいレプリカMUXであっても1次のVTドリフト追跡を提供するはずである。すなわち、たとえ小さいレプリカMUXが大きいランダムな不整合を示しても、IQ不整合を最小化するためのレプリカ4:1MUXのいかなるサイズ決定制限も、2段階の較正を組み合わせることによって除去され、4:1MUXの使用の結果としての、より低いクロッキング電力を可能にする。以下に記載される回路および方法は、レプリカ回路を用いた連続的な較正を、実際の回路を用いたフォアグラウンド較正と、レプリカ回路を用いたバックグラウンド較正とに分離する。そうすることにより、低電力動作を達成することができ、そこで、レプリカ回路は主回路よりも大きい必要はなく、主回路よりも小さくなり得る(例えば、より小さいトランジスタ)。
【0114】
図11は、レプリカ回路を使用して主回路を較正するための回路装置のブロック図を示す。より詳細には、回路装置1100は、主回路1102およびレプリカ回路1104を備え、そこで、主回路1102は機能を提供するように設定され、レプリカ回路も同じ機能を提供するように設定され、主回路1102の較正を実行するために使用される。主回路1102は、入力1106で入力データを受信し、出力1108で出力データを生成するように設定され、そこで、出力データは、入力1112で、ここでは例としてマルチプレクサとして示される選択回路1110にも提供される。選択回路1110は、以下でより詳細に説明するように、選択制御信号に応答して較正のフォアグラウンドおよびバックグラウンド段の期間中に主回路およびレプリカ回路の出力の選択を可能にする。レプリカ回路1104は、入力1114で較正データを受信し、出力1116で較正出力データを生成するように設定され、そこで、較正出力データは、入力1118で選択回路1110に提供される。以下でより詳細に説明するように、レプリカ回路の入力に提供される較正データは、例えば固定されたデータパターンを含み得る。較正回路1120は、入力1112および1118に提供される信号を出力1124で生成するために、入力1122に制御信号を提供するように設定される。較正回路1120は、以下でより詳細に説明するように、補正コードを生成し得る。そして、例えば補正コードに基づき得る制御信号が主回路1102に提供され、これは例えば補正コードに基づき得る。制御信号は、例えばオフセット電圧、タイミング不整合、インピーダンス、信号の位相、信号の周波数、信号のデューティサイクルなどの電気的特性を含む、主回路の動作または性能を変化させるために、主回路の任意の態様を制御し得る。
【0115】
1つの実施態様によれば、較正回路1120は2段動作で動作し得る。較正回路1120は、主回路およびレプリカ回路の出力を検出するために異なる位相の期間中に選択回路1110を制御し、主回路の動作中に、主回路の入力データストリームを中断することなく、主回路およびレプリカ回路に提供される制御信号を生成し得る。より詳細には、ブロック1202で、フォアグラウンド較正(すなわち、主回路に対する初期較正コードを取得するための初期較正動作の後、主回路が主回路の通常の機能を実施するように動作する前に実行される較正)が実行される。主回路のフォアグラウンド較正の期間中に、主回路のフォアグラウンド較正を可能にするために制御信号が選択回路に提供される。なお、較正機能は、主回路の機能に依存してもよく、例えばクロック信号の電圧、周波数、位相、デューティサイクル、またはオフセットなどの主回路の動作または性能を変化させるための任意の調整可能なパラメータを変化させることによって、較正機能を使用して主回路を正しく動作するように初期較正し得ることが留意されるべきである。計算されるパラメータの初期値がパラメータに対して決定され、そこで、初期値は主回路の通常の動作中に(すなわち、バックグラウンド較正段階の期間中に、例えば補正コードに基づいて)調整され得る。
【0116】
そして、ブロック1204で、レプリカ回路に対するパラメータの初期値を決定するために、レプリカパスのフォアグラウンド較正がレプリカ回路に対して実行される。すなわち、較正回路によって生成された制御信号は、レプリカ回路の出力の選択がレプリカ回路のフォアグラウンド較正の期間中に較正回路によって受信されることを可能にする。レプリカ回路に関連するパラメータの初期値が決定されることが可能であり、これは例えば初期補正コードであり得る。そして、レプリカ回路に対する初期値からのパラメータの値の変動が監視されることが可能であり、そこで、レプリカ回路に対するパラメータの変動を使用して、例えば電圧の変化または温度の変化などの動作環境の変化を判定する。より詳細には、ブロック1206の期間中に、動作環境の変化を判定するために、バックグラウンド較正がレプリカ回路に対して実行される。
【0117】
そして、レプリカ回路に関連するパラメータの検出された変化に基づいて、主回路の補正が実行され得る。すなわち、ステップ1208で、バックグラウンド較正の期間中に検出されたレプリカ回路に関連するパラメータの変動を使用して、主回路のパラメータを調整する。例えば、主回路のパラメータが、レプリカ回路の同じパラメータの検出された変化に基づいて調整される。1つの実装形態によれば、送信機回路(例えばパラレルデータを受信しシリアルデータを生成するためのシリアライザ回路)のために使用されるクロック信号の位相などの、クロック信号に関連するパラメータが、レプリカ回路のバックグラウンド較正の期間中に検出された変化に基づいて送信機回路のバックグラウンド較正の期間中に調整され得る。例えば、上記のような補正クロック信号が、較正回路によって生成され、主回路に提供され得る。フォアグラウンドおよびバックグラウンド較正の追加的な例は、
図19を参照して後述する。
【0118】
図13は、入力データを受信し出力データを生成するための回路を較正する方法を示す別のフローチャートを示す。ブロック1302で、主回路は、第1の入力で入力データを受信し第1の出力で出力データを生成するように設定され、この出力データは入力データおよび主回路の機能に基づく。ブロック1304で、レプリカ回路は、第2の入力で較正データを受信し第2の出力で較正データに基づいて較正出力データを生成するように設定され、このレプリカ回路は主回路の機能のレプリカ機能を提供する。ブロック1306で、較正回路は、フォアグラウンド較正モード中に主回路から出力データを、およびバックグラウンド較正モード中にレプリカ回路から較正出力データを受信するように設定される。ブロック1308で、較正回路がバックグラウンド較正モード中に主回路およびレプリカ回路に制御信号を提供して、主回路の補正を可能にする。
【0119】
本方法は、主回路からの出力データおよびレプリカ回路からの較正出力データを受信するように選択回路を設定することをさらに含むことができ、この選択回路は、フォアグラウンド較正モード中に出力データおよび較正出力データの選択を制御する。主回路は、パラレル入力データを受信しシリアル出力データを生成するように設定された第1のシリアライザ回路を備えることができ、この第1のシリアライザ回路は、動作モード中にシリアル出力データを生成する。レプリカ回路は、動作モード中にパラレルテストパターンを受信し較正出力データを生成するように設定された第2のシリアライザ回路を備え得る。バックグラウンド較正は、動作モード中に連続的または周期的に実行され得る。本方法は、入力クロック信号の複数のクロック位相を受信するように較正回路を設定すること、および較正回路によって生成される補正されたクロック信号を、主回路の第1の制御端子およびレプリカ回路の第2の制御端子に結合することをも含み得る。
【0120】
較正回路はまた、フォアグラウンド較正モード中にレプリカ回路の出力を受信して初期レプリカ較正コードを決定するように設定され、およびバックグラウンド較正モード中にレプリカ回路の出力を受信して更新されたレプリカ較正コードを決定するように設定され得る。本方法は、初期レプリカ較正コードおよび更新されたレプリカ較正コードにおける差を決定することをさらに含み得る。そして、主回路に対する初期較正コードならびに初期レプリカ較正コードおよび更新されたレプリカ較正コードにおける差に基づいて、補正された制御信号が主回路およびレプリカ回路に提供され得、そこで、補正された制御信号は補正されたクロック信号を含む。
【0121】
図11~
図13に記載した回路および方法は、較正を実行するために主回路へのデータの入力を一時停止することが不可能であるなどの入力パターン制約によりレプリカパスを要求する任意の較正方式に拡張され得る。また、フォアグラウンド較正を使用してから、レプリカパスを使用して動作環境の変化による任意の系統的変動を追跡することにより、任意の不整合問題が回避され得る。本回路および方法は、環境(例えば電圧および温度)の変動の結果として、実際の回路およびレプリカ回路の両方のパスに決定性および一方向性の変化が生じるような任意の種類の回路に使用され得る。
【0122】
図14は、パラレルデータを受信しシリアルデータを生成するシリアライザ回路を較正するための回路装置1400の別のブロック図を示す。ここでは例として4:1シリアライザ回路として示される主シリアライザ回路1402およびレプリカシリアライザ回路1404は、パラレルデータを受信しシリアルデータを生成するように設定される。より詳細には、主シリアライザ回路1402は、入力1406でパラレル入力データを受信し、出力1410でシリアルデータを生成するように設定される。主シリアライザ回路1402は、シリアライザ回路の通常の動作(すなわちフォアグラウンド較正が実行された後のシリアライザ回路の動作)の期間中にパラレル入力データを受信するために使用される。レプリカシリアライザ回路1404は、入力1412で較正データを受信し、出力1414でシリアライズされたデータを生成するように設定される。
【0123】
例としてマルチプレクサとして示される選択回路1416は、入力1418で主シリアライザ回路1402の出力を、および入力1420でレプリカシリアライザの出力を受信するように設定される。制御入力1422に提供される選択制御信号は、入力1418に結合された信号または入力1420に結合された信号のうちの選択された1つを出力1424に生成する。較正回路1426は、選択回路1416の出力で生成された選択された信号を受信するように結合され、そこで、較正回路1426は、選択回路1416の制御入力に提供される選択制御信号を生成する。較正回路はまた、ここでは例としてCLK0、CLK90、CLK180、およびCLK270と表されるクロック信号の4つの同相および直交(IおよびQ)位相1428として示される入力クロック信号を受信する。較正回路1426は、例えばオフセット電圧、タイミング不整合、周波数、位相、またはインピーダンスなどの異なる電気的特性を有し得る出力クロック信号(例えば補正されたクロック信号)を出力1430で生成し、選択入力1432および1434に提供される。較正回路1426は、以下でより詳細に説明するように、補正コードを生成し得る。出力クロック信号は、例えば遅延されたクロック信号であり得る。較正回路によって生成された出力クロック信号は、
図3~
図10を参照して上記のように生成され得る。
【0124】
したがって、4:1MUXを有する
図14の回路装置は、4Tクロックの4つの位相(0、90、180、270)によってクロックされる送信機の最終シリアライズ段で使用可能であり、ただしTはビット期間である。4:1シリアライズのために4Tクロックのみを使用することは、より高い周波数クロックに対する必要性を排除するので、クロック生成および伝播に関して実質的な節電となる。しかし、上記のように、このトポロジーには較正される必要のある固有のIQ不整合がある。固定された入力パターンが4:1MUXを較正するために有益となり得るので、例えば電圧および温度のドリフトを追跡するために較正が常時連続的に実行可能であるようにレプリカパスが使用され得る。
【0125】
図15は、パラレルデータを受信しシリアルデータを生成するシリアライザ回路を較正するための回路装置1500の別のブロック図を示す。
図15の実装形態は、
図14の実装形態に類似しているが、例としてN:4シリアライザとして示された第1レベルのシリアライザ回路1502を含み、第1レベルのシリアライザ回路1502は、複数の入力1504でパラレル入力データを受信し、出力1506で出力を生成するように設定される。第1レベルのシリアライザ1502の出力1506は、ここでは例として4:1シリアライザ回路として示されるシリアライザ回路1508の入力に提供され、そこで、シリアライザ回路1508の制御入力1512に提供されるクロック信号に応答して、シリアライズされた出力データが出力1510で生成される。
【0126】
レプリカシリアライザ回路1514は、例として固定された入力パターン「1010」として示される入力信号を入力1516で受信するように設定され、その出力が、制御端子1520に提供されるクロック信号に応答して出力1518で生成される。シリアライザ回路1508の出力1510およびレプリカシリアライザ1514の出力1518は、入力1524および1526で、ここでは例としてマルチプレクサとして示される選択回路1522に結合される。制御端子1528に提供される選択制御信号は、入力1524および1526に提供される信号のうちの1つの選択が、出力1530で生成され較正回路1532に結合されることを可能にする。
【0127】
較正回路1532は、IQ検出回路1534およびIQ補正回路1536を備える。IQ検出回路1534の一例は
図16に示され、IQ補正1536の一例は
図17に示される。
図16および
図17の回路は例として示されているが、他のIQ検出およびIQ補正回路が実装され得ると理解されるべきである。較正回路1532は、入力クロック1538C(K
0、CK
90、CK
180、CK
270)を受信し、選択回路1522に結合される主シリアライザ回路1508およびレプリカシリアライザ回路1514への入力を選択するために制御端子1512および1520に結合される補正されたクロック信号を出力1540で生成するように適応する。すなわち、較正プロセスの一部として、補正されたクロック信号が少なくとも主回路に提供されて、較正回路1532を使用して検出されたIQ不整合および補正されたIQ不整合に基づく主回路の動作を可能にする。IQ検出回路1534およびIQ補正回路1536は、同相-直交整合を生成するために
図5のDDC回路500で実装され得る。
【0128】
図16は、クロック信号の同相および直交位相(I(CK
0)、Q(CK
90)、Ib(CK
180)、Qb(CK
270))における不整合を検出するためのIQ不整合検出を提供し得る回路の例示的なブロック図を示す。IQ検出回路1600は、第1の検出ブロック1602および第2の検出ブロック1604を備える。第1の検出ブロック1602は出力ノード1605を備え、出力ノード1605は、抵抗1606(電力基準ノードに結合された第2の端子を有する)の第1の端子に結合され、出力ノード1605は、グランドノードに結合された第2の端子を有するキャパシタ1607の第1の端子に結合される。第1の検出ブロックはまた、ノード1605と、グランドへの電流パスを提供する電流源1610に結合されたノード1608との間の複数の信号パスを備える。複数の信号パスは第1の信号パスを含み、第1の信号パスは、Iクロック信号を受信するように結合されたゲートを有する第1のトランジスタ1611と、Qbクロック信号を受信するように結合されたゲートを有する第2のトランジスタ1612とを有し、第1のトランジスタ1611は第2のトランジスタ1612と直列に結合される。第2の信号パスは、Qbクロック信号を受信するように結合されたゲートを有する第1のトランジスタ1614と、Iクロック信号を受信するように結合されたゲートを有する第2のトランジスタ1616とを備え、第1のトランジスタ1614は第2のトランジスタ1616と直列に結合される。第3の信号パスは、Qクロック信号を受信するように結合されたゲートを有する第1のトランジスタ1618と、Ibクロック信号を受信するように結合されたゲートを有する第2のトランジスタ1620とを備え、第1のトランジスタ1618は第2のトランジスタ1620と直列に結合される。第4の信号パスは、Ibクロック信号を受信するように結合されたゲートを有する第1のトランジスタ1622と、Qbクロック信号を受信するように結合されたゲートを有する第2のトランジスタ1624とを備え、第1のトランジスタ1622は第2のトランジスタ1624と直列に結合される。
【0129】
第2の検出ブロック1604は出力ノード1625を備え、出力ノード1625は、抵抗1626(電力基準ノードに結合された第2の端子を有する)の第1の端子に結合され、出力ノード1625は、グランドノードに結合された第2の端子を有するキャパシタ1627の第1の端子に結合される。第2の検出ブロック1604の複数の信号パスは第1の信号パスを含み、第1の信号パスは、Iクロック信号を受信するように結合されたゲートを有する第1のトランジスタ1630と、Qクロック信号を受信するように結合されたゲートを有する第2のトランジスタ1632とを有し、第1のトランジスタ1630は第2のトランジスタ1632と直列に結合される。第2の信号パスは、Qクロック信号を受信するように結合されたゲートを有する第1のトランジスタ1634と、Iクロック信号を受信するように結合されたゲートを有する第2のトランジスタ1636とを備え、第1のトランジスタ1634は第2のトランジスタ1636と直列に結合される。第3の信号パスは、QBクロック信号を受信するように結合されたゲートを有する第1のトランジスタ1638と、Ibクロック信号を受信するように結合されたゲートを有する第2のトランジスタ1640とを備え、第1のトランジスタ1638は第2のトランジスタ1640と直列に結合される。第4の信号パスは、Ibクロック信号を受信するように結合されたゲートを有する第1のトランジスタ1642と、Qbクロック信号を受信するように結合されたゲートを有する第2のトランジスタ1644とを備え、第1のトランジスタ1642は第2のトランジスタ1644と直列に結合される。検出回路1646が、ノード1605および1625に結合されて、ノードにおける電圧差を検出する。IおよびQが完全に平衡化されている場合、電圧は同一である。そうでない場合、IおよびQクロック信号が補正される。1つの実装形態によれば、IおよびQ信号は、例えば
図17のIQ不整合補正回路を使用して補正され得る。
【0130】
図17は、IQ補正を提供し得る回路1700の例示的なブロック図を示す。回路1700は、クロックCK_Iを補正するように適応した第1の回路1701と、クロックCK_Qを補正するように適応した第2の回路1702とを備える。第1の回路1701は、入力クロック信号に基づいて遅延されたクロック信号を生成するように適応した第1のトランジスタ列1703を備える。より詳細には、pチャネルトランジスタ1704が基準電圧と第2のpチャネルトランジスタ1706との間に結合される。nチャネルトランジスタ1708もまた、図示のようにトランジスタ1706と直列に結合され、トランジスタ1706のゲートに結合されたゲートを備える。nチャネルトランジスタ1710がトランジスタ1708に結合される。トランジスタ1704は、デジタル-アナログコンバータ(DAC)1712の出力を受信するように設定されたゲートを備え、トランジスタ1710は、DAC1714の出力を受信するように設定される。回路1701は、さまざまな遅延された補正された出力信号を生成するための一連のインバータ1716~1720をさらに備え、そこで、t
1はインバータ1716の出力で生成され、t
2はインバータ1716の出力で生成され、t
3はインバータ1716の出力で生成され、t
4はインバータ1716の出力で生成される。トランジスタ1706および1708のゲートはともにインバータ1716の出力で結合される一方、トランジスタ1706のドレインおよびトランジスタ1708のドレインはともにインバータ1717の出力で結合される。
【0131】
第1の回路1701は、入力クロック信号に基づいて遅延されたクロック信号を生成するように適応した第2のトランジスタ列1722を備える。より詳細には、pチャネルトランジスタ1724が基準電圧と第2のpチャネルトランジスタ1726との間に結合される。nチャネルトランジスタ1728もまた、図示のようにトランジスタ1726と直列に結合され、トランジスタ1726のゲートに結合されたゲートを備える。nチャネルトランジスタ1730がトランジスタ1728に結合される。トランジスタ1724は、デジタル-アナログコンバータ(DAC)1732の出力を受信するように設定されたゲートを備え、トランジスタ1730は、DAC1734の出力を受信するように設定される。トランジスタ1726および1728のゲートはともにインバータ1717の出力で結合される一方、トランジスタ1726のドレインおよびトランジスタ1728のドレインはともにインバータ1717の出力で結合される。第2の回路1702は、第1の回路1701と同様に設定されるが、クロック信号CK_Qを受信するように適応する。
【0132】
インバータ1716~1720は、IQ不整合を除去するために、第1の回路1701および第2の回路1702の入力のクロックエッジに関連する遅延を導入する。DAC1712、1714、1732、および1734は、クロックエッジの立上りおよび立下りエッジを変化させるために使用されるデジタルコードを表す。デジタルコードは、IQ不整合を低減または除去するために
図16のIQ検出回路を用いて反復的に調整されてもよい。
【0133】
図18は、シミュレーションおよび1/sqrt(N)に対して、サイズ(N)の関数として不整合を示すグラフを示し、ただしNはレプリカ回路のサイズに関連する。
図18に示すように、タイミング不整合は、1/sqrt(面積)に反比例し、サイズを増大させることによって不整合を低減することは電力コストの高い課題となる。例えば、タイミング不整合を2分の1に低減するには、面積を4倍だけ増大させなければならない。2段較正プロセスを使用する回路および方法は、タイミング不整合を低減するために実装される大きなレプリカ回路に対する必要性を排除する。また、表1に示すシミュレーション結果は、VT追跡に基づいてIQ不整合を低減するなどの2段較正プロセスを使用する利益を示している。シミュレーションは、ランダムな不整合の存在下で4:1MUXのIQ誤差を測定している。レプリカパスVT追跡を用いると、レプリカパス追跡なしのVTドリフトと比較して、平均IQ誤差は約300fsから約100fsに低減し、シグマ値は約130fsから約60fsに半減している。
【0134】
図19は、回路の較正を実行する方法を示すフローチャートを示す。
図19の方法によれば、フォアグラウンド較正モードを含む第1の較正モードと、バックグラウンド較正モードを含む第2の較正モードとを含む2段階の較正プロセスが実行される。フォアグラウンド較正モードは、較正対象の回路が動作モードで機能する前に実行される。例えば、シリアライザ回路の動作モードは、シリアルデータに変換されるパラレルデータをシリアライザ回路が受信しているときである。バックグラウンド較正モードは、較正対象の回路の動作モード中に実行される。
図19の方法は、上記のような
図11、
図14、および
図15の回路、または何らかの他の好適な回路を使用して実施され得る。
【0135】
ブロック1902で、フォアグラウンド較正が有効にされる。フォアグラウンド較正は、例えば、較正対象の回路を有するデバイスの起動もしくはリセットに応答して、または較正対象の回路の起動もしくはリセットの期間中に有効にされ得る。ブロック1904で、「レプリカ」信号が0に設定され、これは較正対象の回路に関連するデータに対してIQ検出が実行されるべきであること(すなわち、フォアグラウンド較正の期間中に主回路がデータを受信しデータに対して較正を実行すること)を示す。例として、レプリカ信号は、
図11、
図14、および
図15に関して上記のように、主回路またはレプリカ回路の出力を受信するように設定された選択回路の選択制御端子に提供され得る。そして、ブロック1906で、IQ検出が主回路に対して実行される。例えば、
図16に関して上記のように、IQ検出中に、クロック信号の相異なる位相に対するクロックエッジの変動を検出することができ、その後、IQ補正が、
図17に関して上記のように、反復的なプロセスで実行され、IQ補正はブロック1910で実行される。したがって、その後にブロック1908で、主回路に対するIQ補正が終了したかどうかが判定される。クロック信号の相異なる位相のクロックエッジの変動が補正される必要があり得る場合、パスに対するIQ補正がまだ必要であり得ることを示すと、ブロック1910で、IQ補正が実行される。主回路の補正のためのIQ補正が終了した後、ブロック1912で、主回路に対する初期補正コードがNに等しく設定され、初期補正コードは例えばIQ補正コードであり得る。以下でより詳細に説明するように、初期補正コードNは、バックグラウンド較正の期間中のレプリカ回路の変化に基づいて主回路の動作モード中に調整または更新され得る現在の補正コードを表す。
【0136】
そして、ブロック1914で、レプリカ信号が「1」に設定されて、ブロック1916で、レプリカ補正コードをリセットすることによってレプリカ回路に対するIQ補正を実行し、レプリカ補正コードは例えばレプリカIQ補正コードであり得、ブロック1918で、レプリカ回路に関連するIQ検出を実行する。そして、ブロック1920で、レプリカ回路に対するIQ補正が終了したかどうかが判定される。終了していない場合、ブロック1922で、IQ補正が実行され、その後、IQ不整合が補正されるまで反復的なプロセスでIQ検出がブロック1918で実行される。ブロック1920でレプリカ回路に対するIQ補正が完了したと判定された後、ブロック1924で、レプリカ補正コードがR0に設定され、レプリカ補正コードはレプリカIQ補正コードであり得、ただしR0はレプリカ回路に対する初期レプリカ補正コードを表す。以下でより詳細に説明するように、レプリカ回路に対する初期レプリカ補正コードは、電圧または温度の変化によるなどの、レプリカ回路の変化を判定するために使用され得、そこで、レプリカ回路で検出された変化を使用して、主回路に対する補正コードを更新または補正する。
【0137】
より詳細には、ブロック1924でレプリカ補正コードが決定された後、ブロック1926で、バックグラウンド較正が有効にされる。そして、ブロック1928で、IQ検出がレプリカ回路に対して実行され、ブロック1930で、主回路に対するIQ補正コードが更新されるべきかどうかが判定される。すなわち、IQ検出ステップ1928に基づいてレプリカ補正コードの変化がない場合、ブロック1932で、主回路に対する補正コードはNに維持され、プロセスはブロック1928でIQ検出を実行する。しかし、ブロック1930でIQコード更新が必要であると判定された場合、ブロック1934で、更新されたレプリカ補正コードがRnに等しく設定され、更新されたレプリカ補正コードは更新されたIQレプリカ補正コードであり得る。ブロック1936で、主回路に対する更新された補正コードがN
new=N+(Rn-R0)に設定され、更新された補正コードは更新されたIQ補正コードであり得、ブロック1938で、IQ補正が実行される。したがって、
図19の方法は、例えば電圧または温度の変化に起因し得る主回路の動作モードの期間中のレプリカ回路の動作の変化に基づいて、主回路の補正コードの変化を近似する。したがって、タイミング不整合によって課されるサイズ決定制約を回避するため、2段階の較正方式が実装され得る。補正コードは、主回路およびレプリカ回路に提供されるクロック信号を制御するなど、主回路およびレプリカ回路に提供される制御信号を制御および生成するために使用され得、その場合に例えば立上りおよび立下りエッジが
図17で説明したようにDAC値を使用して調整され得る。IQ補正コードおよびIQ補正について例として
図19で説明したが、
図19の方法は、回路の任意の種類の動作に対する補正の必要性の検出に応答して、主回路およびレプリカ回路に提供される任意の種類の補正コードに関係し得ると理解されるべきである。
【0138】
いくつかの実装形態について説明した。しかし、さまざまな変更がなされ得ると理解される。例えば、開示された技術のステップが異なる順序で実行される場合、または開示されたシステムの構成要素が異なる様態で組み合わされる場合、または構成要素が他の構成要素で補完される場合に、有利な結果が達成され得る。したがって、他の実装形態は以下の特許請求の範囲内にある。