(57)【要約】【課題】本発明は、どのオーバーサンプルデータを、受信信号のビット値を決定する際に使用されるオーバーサンプルデータの異なるグループ（ユニットインターバル）の一部にすべきかを決定するための回路、方法、及びシステムを提供する。【解決手段】一部の実施形態では、チップは、受信信号からオーバーサンプルされたデータを生成するためのサンプリング回路と、オーバーサンプルデータのうちのいずれを異なるユニットインターバルの一部分にすべきかを決定するためのロジックとを含み、ユニットインターバルの一部は、ユニットインターバルに通常含まれるオーバーサンプルデータの数とは異なる数のオーバーサンプルデータを有する。他の実施形態についても説明され特許請求される。【選択図】図１
2008118683.tif 000002
【特許請求の範囲】
【請求項１】
受信信号からオーバーサンプルされたデータを生成するためのサンプリング回路と、
前記オーバーサンプルデータのうちのいずれを異なるユニットインターバルの一部分にすべきかを決定するためのロジックと、
を含むチップであって、
前記ユニットインターバルの一部が、前記ユニットインターバルに通常含まれるオーバーサンプルデータの数とは異なる数のオーバーサンプルデータを有する、
ことを特徴とするチップ。
【請求項２】
前記決定の少なくとも一部において、前記ロジックがオーバーサンプルデータのセクションを評価して、時系列で前記セクション後に発生する追加のオーバーサンプルデータを更に評価することによってルックアヘッドを行う、
ことを特徴とする請求項１に記載のチップ。
【請求項３】
前記オーバーサンプルデータはラインで配列されており、前記決定の一部において、前記セクションが前記ラインの１つにあり、前記追加のオーバーサンプルデータが前記ラインの別の１つにある、
ことを特徴とする請求項２に記載のチップ。
【請求項４】
前記ロジックがパイプラインのステージを含み、前記オーバーサンプルデータは前記ステージを通って進められるラインで配列され、前記ロジックは、異なるラインにおける前記オーバーサンプルデータの異なるセクションを同時に評価する、
ことを特徴とする請求項２に記載のチップ。
【請求項５】
前記決定の少なくとも一部において、前記ロジックがオーバーサンプルデータのセクションを評価して、時系列で前記セクションの後に発生する追加のオーバーサンプルデータを更に評価することによってルックアヘッドを行う、
ことを特徴とする請求項４に記載のチップ。
【請求項６】
前記決定の少なくとも一部において、前記セクションがそのラインの前記オーバーサンプルデータの最後のグループであり、前記追加のオーバーサンプルデータは、時系列で前記次のラインのオーバーサンプルデータの最初のグループである、
ことを特徴とする請求項５に記載のチップ。
【請求項７】
前記オーバーサンプルデータのラインは、前記オーバーサンプルデータがいつ生成されたかに基づく順序で前記ステージ内に保持されており、その結果、生成される前記最初のラインが前記パイプラインを通過する最初のラインであるようになる、
ことを特徴とする請求項４に記載のチップ。
【請求項８】
特定のステージで評価されるラインの少なくとも１つのセクションは、前記ステージ内部でポインタにより識別され、ラインが前記パイプライン内を進むときに、前記ポインタは、前記前のステージによりユニットインターバルに含まれるべきであることが分かったオーバーサンプルデータの数に等しい量だけ前記ラインの末尾に向かって移動する、
ことを特徴とする請求項４に記載のチップ。
【請求項９】
前記パイプライン内の後のステージの一部が、前記パイプライン内の前の前記ステージの一部よりも小さい容量を有する、
ことを特徴とする請求項４に記載のチップ。
【請求項１０】
ラインで評価される前記オーバーサンプルデータは、前記ラインが前記ステージの少なくとも一部を通って進むときにステージ内部で自己の相対位置をシフトする、
ことを特徴とする請求項４に記載のチップ。
【請求項１１】
前記ロジックが更に、前記ユニットインターバルの内容に基づいて出力ビットの値を決定し、各ラインが前記ステージ全てを通過するときに、前記各ラインが通常は特定の数のビットを提供し、ラインが前記特定の数よりも多いビットを一定の回数だけ提供する場合には、このことが、将来的なラインが前記特定の数よりも少ないビットを提供するまでは将来的なラインの決定において考慮され、ラインが前記特定の数よりも少ないビットを前記一定の回数だけ提供する場合には、このことが、将来的なラインが前記特定の数よりも多いビットを提供するまでは将来的なラインの決定において考慮される、
ことを特徴とする請求項４に記載のチップ。
【請求項１２】
前記ラインが５０個のオーバーサンプルデータを有し、通常はユニットインターバルごとに５個のオーバーサンプルデータがあり、平均で前記５０個のオーバーサンプルデータにおいて１０の出力ビットがある、
ことを特徴とする請求項４に記載のチップ。
【請求項１３】
前記ロジックは、前記決定に役立つテーブルを使用する、
ことを特徴とする請求項４に記載のチップ。
【請求項１４】
ロジックは、前記決定の前に、前記オーバーサンプルデータの一部の前記値を変更するための事前フィルタリングを含む、
ことを特徴とする請求項４に記載のチップ。
【請求項１５】
受信信号をサンプリングしてオーバーサンプルされたデータを生成する段階と、
前記オーバーサンプルデータのうちのいずれを異なるユニットインターバルの一部分にすべきかを決定する段階と、
を含む方法であって、
前記ユニットインターバルの一部が、前記ユニットインターバルに通常含まれるオーバーサンプルデータの数とは異なる数のオーバーサンプルデータを有する、
ことを特徴とする方法。
【請求項１６】
前記決定の少なくとも一部において、前記ロジックがオーバーサンプルデータのセクションを評価して、時系列で前記セクション後に発生する追加のオーバーサンプルデータを更に評価することによってルックアヘッドを行う、
ことを特徴とする請求項１５に記載の方法。
【請求項１７】
前記オーバーサンプルデータはラインで配列されており、前記決定の一部において、前記セクションが前記ラインの１つにあり、前記追加のオーバーサンプルデータが前記ラインの別の１つにある、
ことを特徴とする請求項１６に記載の方法。
【請求項１８】
前記ロジックがパイプラインのステージを含み、前記オーバーサンプルデータは前記ステージを通って進められるラインで配列され、前記ロジックは、異なるラインにおける前記オーバーサンプルデータの異なるセクションを同時に評価する、
ことを特徴とする請求項１５に記載の方法。
【請求項１９】
前記決定の少なくとも一部において、前記ロジックがオーバーサンプルデータのセクションを評価して、時系列で前記セクションの後に発生する追加のオーバーサンプルデータを更に評価することによってルックアヘッドを行う、
ことを特徴とする請求項１５に記載の方法。
【請求項２０】
前記決定の少なくとも一部において、前記セクションがそのラインの前記オーバーサンプルデータの最後のグループであり、前記追加のオーバーサンプルデータは、時系列で前記次のラインのオーバーサンプルデータの最初のグループである、
ことを特徴とする請求項１９に記載の方法。
【請求項２１】
コンダクタと、
前記コンダクタにデータを送信するための送信器を含む第１チップと、
前記コンダクタから前記送信されたデータを受信するための第２チップと、
を備え、
前記第２チップが、受信信号からオーバーサンプルデータを生成するためのサンプリング回路と、前記オーバーサンプルデータのうちのいずれを異なるユニットインターバルの一部分にすべきかを決定するためのロジックとを含む処理回路を有し、
前記ユニットインターバルの一部が、前記ユニットインターバルに通常含まれるオーバーサンプルデータの数とは異なる数のオーバーサンプルデータを有する、
ことを特徴とするシステム。
【請求項２２】
前記決定の少なくとも一部において、前記ロジックが前記標準の数のオーバーサンプルデータを有するオーバーサンプルデータのセクションを評価して、時系列で前記セクションの後に発生する追加のオーバーサンプルデータを更に評価することによってルックアヘッドを行う、
ことを特徴とする請求項２１に記載のシステム。
【請求項２３】
前記オーバーサンプルデータはラインで配列されており、前記決定の一部において、前記セクションが前記ラインの１つにあり、前記追加のオーバーサンプルデータが前記ラインの別の１つにある、
ことを特徴とする請求項２２に記載のシステム。
【請求項２４】
前記ロジックがパイプラインのステージを含み、前記オーバーサンプルデータは前記ステージを通って進められるラインで配列され、前記ロジックは、異なるラインにおける前記オーバーサンプルデータの異なるセクションを同時に評価する、
ことを特徴とする請求項２２に記載のシステム。
【請求項２５】
前記決定の少なくとも一部において、前記ロジックが前記標準の数のオーバーサンプルデータを有するオーバーサンプルデータのセクションを評価して、時系列で前記セクションの後に発生する追加のオーバーサンプルデータを更に評価することによってルックアヘッドを行う、
ことを特徴とする請求項２４に記載のシステム。
【請求項２６】
前記決定の少なくとも一部において、前記セクションがそのラインの前記オーバーサンプルデータの最後のグループであり、前記追加のオーバーサンプルデータは、時系列で前記次のラインのオーバーサンプルデータの最初のグループである、
ことを特徴とする請求項２５に記載のシステム。
【請求項２７】
前記処理回路が更に、前記ユニットインターバルの内容に基づいて出力ビットの値を決定してこれに応答する出力信号を供給し、前記システムが更に、前記出力信号の少なくとも一部を受信するディスプレイを備える、
ことを特徴とする請求項２１に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、概して、位相トラッキング技術に関し、より詳細には、どのオーバーサンプルデータを、受信信号のビット値を決定する際に使用されるオーバーサンプルデータの異なるグループ（ユニットインターバル）の一部にすべきかを決定するための回路、方法、及びシステムに関する。
【背景技術】
【０００２】
位相トラッキングは、幾つかのオーバーサンプルされたデータの中から正しいデータを決定するので、高速シリアルデータ受信器のデータリカバリ処理において重要な役割を果たしている。入力ストリームのエッジの動きを追跡して、これらがエッジの中心（すなわちアイの中心）にどの程度接近しているかに基づいてサンプルをスコアすることを含む、サンプルをとるための様々な技術が提案されてきた。しかしながら、これらの従来技術は、高速で大きいジッタに関しては問題がある。１つの問題は、スコアに基づく採取位置の実際の変化に対してのスコアリングロジックからの経路内にあるループレイテンシにより、システムがジッタに応答することのできる速度が制限される点である。
【０００３】
２番目の問題は、エッジ情報に基づく各採取位置のスコアリングは、各アイが同じ数のオーバーサンプルされたデータ（ＯＳＤ）（例えば５個のＯＳＤ）を有し、ＯＳＤのグループ（又はチャンク）（例えば５０個のＯＳＤ）がジッタに関して一貫した情報を有していることを前提とする点である。しかしながら、ジッタが高速及び／又は大きいときには、これらの前提は正しくない場合がある。このようなジッタに応答して、一部のアイは６ＯＳＤ幅であり、別のアイは４ＯＳＤ幅の場合があり、或いはそれよりも多いことも少ない場合もある。更に、チャンネル内のジッタに関して、初期のＯＳＤと後のＯＳＤが異なる情報を含む場合がある。
【０００４】
デジタルビデオインタフェース（ＤＶＩ）は、チップ間でのビデオ信号の供給に使用される標準規格であり、Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉ−ｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ（高品位マルチメディアインタフェース）（ＨＤＭＩ）互換製品での使用にもある程度の互換性がある。ＤＶＩは、送信器及び受信器が相互運用性のために満たさなければならないアイ特性に関する仕様を含む。しかしながら、市場における送信器の一部は、ＤＶＩ仕様に従っておらず、ＤＶＩ非準拠の送信器である。このような場合、ＤＶＩ準拠送信器からの信号を予期する位相トラッカーは、ＤＶＩ非準拠送信器からの信号に関して不良の結果（例えばノイズの多いスクリーン）を示すことがある。更に一部のユーザは、電磁妨害（ＥＭＩ）を低減するために、入力ストリームがＤＶＩ非準拠になるような方法でスペクトラム拡散クロックを使用することを望む。
【０００５】
ＤＶＩ準拠入力及びＤＶＩ非準拠入力は、アイ形状が相違する場合がある。ＤＶＩ準拠信号は、送信器において送信されるデータ信号の生成に用いられる位相ロックループ（ＰＬＬ）をクロック信号が通過しないという点で「非同期式」と呼ばれることがある。一部のＤＶＩ非準拠送信器は、クロック信号に対し、送信されるデータ信号の生成に用いられる位相ロックループ（ＰＬＬ）を通過させる。これは「同期式」とも呼ばれ、追加の遅延が加わり、幾つかの閉じたアイを生じることがある。
【発明の開示】
【課題を解決するための手段】
【０００６】
一部の実施形態では、チップは、受信信号からオーバーサンプルされたデータを生成するためのサンプリング回路、及びオーバーサンプルデータのうちのいずれを異なるユニットインターバルの一部分にすべきかを決定するためのロジックを含み、ユニットインターバルの一部がユニットインターバルに通常含まれるオーバーサンプルデータの数とは異なる数のオーバーサンプルデータを有する。ロジックは、パイプラインのステージを含むことができ、オーバーサンプルデータはステージを通って進められるラインで配列され、ロジックは、異なるラインにおけるオーバーサンプルデータの異なるセクションを同時に評価する。
【０００７】
別の実施形態では、方法は、受信信号をサンプリングしてオーバーサンプルされたデータを生成する段階と、オーバーサンプルデータのうちのいずれを異なるユニットインターバルの一部分にすべきかを決定する段階とを含み、ユニットインターバルの一部は、ユニットインターバルに通常含まれるオーバーサンプルデータの数とは異なる数のオーバーサンプルデータを有する。
【０００８】
更に別の実施形態では、システムは、コンダクタと、コンダクタにデータを送信するための送信器を含む第１チップとを含む。本システムは更に、コンダクタから送信されたデータを受信するための受信器を含む第２チップを含み、該第２チップは、受信信号からオーバーサンプルデータを生成するためのサンプリング回路を含む処理回路を有する。第２チップはまた、オーバーサンプルデータのうちのいずれを異なるユニットインターバルの一部分にすべきかを決定するためのロジックを含み、ユニットインターバルの一部は、ユニットインターバルに通常含まれるオーバーサンプルデータの数とは異なる数のオーバーサンプルデータを有する。
他の実施形態についても説明され特許請求される。
【発明を実施するための最良の形態】
【０００９】
本発明は、本発明の実施形態を説明するのに用いられる添付図面及び以下の説明を参照することにより理解することができる。しかしながら、本発明は、これらの図面の詳細に限定されるものではない。
【００１０】
一部の実施形態では、本発明は、どのオーバーサンプルデータ（ＯＳＤ）を、受信信号のビット値を決定する際に使用されるＯＳＤのグループ（又はチャンク）の一部分にすべきかを決定するための回路、方法、及びシステムに関する。これらのＯＳＤのグループを本明細書ではユニットインターバル（ＵＩ）と呼ぶ。（ＵＩ）内のＯＳＤを評価して、例えば、これらが高電圧又は低電圧（１又は０）のいずれを示すかを判断することができる。ＯＳＤは、ラインで組み立てることができ、一部の実施形態では、ラインはステージのパイプラインを通される。
【００１１】
一部の決定に関して、受信器は、ＯＳＤの２つのセクションを評価する。すなわち、一方のセクションは、あるラインにある最後のＯＳＤグループからのものであり、他のセクションは、時系列で次のラインにある最初のＯＳＤグループからのものである。この２番目のセクションは、時系列では後になるので、ルックアヘッドセクション又はルックアヘッドＯＳＤと呼ばれる。しかしながら、一部の実施形態では、ほとんどの決定に関して、１つのラインからのＯＳＤが評価されても、次のラインに対するルックアヘッドは存在しない。一部の実施形態では、同じライン上にルックアヘッドセクションが存在する場合があり、別の実施形態では、同じラインにルックビハインドセクションが存在する場合があり、更に別の実施形態では、ルックアヘッドセクションとルックビハインドセクションが存在する場合がある。第１セクションは、標準セクションと呼ぶことができ、ＵＩに通常含まれる数に等しい数のＯＳＤを含むことができる。しかしながら、場合によっては、ＵＩに標準数よりも少ないＯＳＤを含めることができ、１ラインからの標準数よりも少ないことがある。例えば、５Ｘオーバーサンプリングシステムでは、ＵＩは通常５個のＯＳＤを含む。このような場合、標準セクションは５個のＯＳＤを含むことになる。
【００１２】
本発明は、図１を実施例とする様々なシステムで使用することができる。図１を参照すると、システムは、チップ２０内の受信器２２にデータ信号ＴＤ１．．．ＴＤＮをコンダクタ１６−１．．．１６−Ｎ上で送信し、クロック信号をコンダクタ１８上で送信する送信器（ＴＸ）１４を有するチップ１２を含む。信号は差動的に送信することができる。他の信号（示されていない）もまた送信することができる。受信器２２は処理回路３０を含み、該処理回路は、位相ロックループ（ＰＬＬ）２６によってクロック制御されるサンプリング回路からＯＳＤを受信し、出力信号ＲＤ１．．．ＲＤＮを供給する。チップ２０は、コンダクタ１６−１．．．１６−Ｎとインタフェース接続するためのチップインタフェース構造３２−１．．．３２−Ｎ、及びコンダクタ１８とインタフェース接続するためのチップインタフェース構造３６を含む。異なる実装では、インタフェース構造は異なるオブジェクトを含むことができる。
【００１３】
図２は、ＤＮ（データネガティブ）及びＤＰ（データポジティブ）構成要素を備えた差動信号を含む受信データＴＤ１の理想的な実施例を示している。ＵＩは、データの１ビットの時間である。この実施例では、ＤＰ＞ＤＮのときに信号は１を表し、ＤＰ＜ＤＮのときに、信号は０を表している。図２では、４個のＵＩが示されており、説明の目的でＵＩ１、ＵＩ２、ＵＩ３、及びＵＩ４と呼ぶ。ＵＩ１の間、データビットはロジックｈｉｇｈ値を有する（この場合は１を表しているが、別の場合には０を表すことがある）。ＵＩ２、ＵＩ３、及びＵＩ４の間に、データビットは、それぞれ０、１、及び１の値を有する。各ＵＩの期間中に、図２の矢印で示されるＰＬＬ２６の出力によってクロック制御される５個のデータサンプルがある。ＵＩの期間中の受信信号がアイと呼ばれる。
【００１４】
ＵＩは通常、例えば５個のＯＳＤを有するが、ジッタ又はその事柄に起因して、特定のユニットインターバルが５個よりも多いか又は少ないＯＳＤを有する場合がある。例えば、特定のＵＩが４個又は６個のＯＳＤを、或いは一部のケースでは３個又は７個のＯＳＤでさえも有する場合がある。
【００１５】
図３は、処理回路３０の一部の実施形態の詳細を示しているが、別の実施形態では、詳細は異なる場合がある。図３を参照すると、サンプリング回路５０は、ＰＬＬ２６の出力位相信号に応答して受信信号ＴＤ１のＯＳＤを提供する。一例として、ＰＬＬ２６は、５個の出力を有することができる（但し、別の実施形態では、異なる数を有することができる）。ロジック５２のパインラインステージ５４がＯＳＤを受信する。制御回路５６の制御下で、パイプラインステージ５４は、特定のＯＳＤがどのＵＩに含まれるかを判断する。一部の実施形態では、テーブル５８が使用される。別の実施形態では、テーブル５８の関数がパイプラインステージ５４にハードワイヤードされている。テーブル内の値は、テーブルに永久に格納されるか又は再構成可能とすることができる。
【００１６】
図４は、５つのライン（１、２、３、４、及び５）にある５０個のＯＳＤ各々（ＯＳＤ０−４９）における１及び０を表している。時系列で、ライン１が最初に到達し、次にライン２、ライン３などに続く。以下は実施例を示しているが、本発明は、これらの実施例には限定されない。ライン１の最初の２つのＯＳＤは、ライン１にあるＵＩの一部分ではないと仮定する。ＯＳＤ３−７は５個の１であり、これらはビット１を表すＵＩ内に存在する。識別しやすくするために、ＯＳＤ３−７及び他の幾つかのＯＳＤを線で囲んでいる。ＯＳＤ３−７の後は、ＵＩ（５個のＯＳＤを各々有する）内に５個の０、５個の１、５個の０、５個の１、５個の０、５個の１、５個の０、及び５個の０が続き、ビット０、１、０、１、０、１、０、及び０を表している。ライン１の末尾は３個の１となっている。これらの末尾の３個の１を単独で考慮すると、結論に達しない。しかしながら、ライン２の最初の５個のＯＳＤと共に考慮すると、ライン１の最後の３個の１とライン２の最初の２個の１とが、５個の１を有するＯＳＤであることが明らかになる。次いで、ライン２は、５個の１、６個の０、５個の１と続く。６個の０は、５個の１の２つのセットの間に挟まれているので、６個の０のＵＩであると解釈され、０ビットを表す。ライン２−５について続けることにより、５個以外のＯＳＤを有するＵＩの幾つかのインスタンス、例えばライン３のＯＳＤ２３−２８（６個の１）、ライン５のＯＳＤ１０−１３（４個の０）が存在することを確認することができる。
【００１７】
しかしながら、実際には、図４に関連して説明される順次処理では、少数だけのＯＳＤ（例えば５個から６個又はその程度）よりも多くを一度に処理する必要がある。これを実現するために、ラインのビットの全部又は一部がパイプラインのステージ間でアドバンスされるパイプライン型構造が使用される。一部の実施形態では、パイプラインを通る１回のパスでライン全体（例えば５０個のＯＳＤ）を処理することができる。これには数クロック周期を要するにもかかわらずパイプライン処理されるので、一部の実施形態では、初期レイテンシ後は、ＯＳＤの新規ラインを各クロック周期で、又はほとんど全てのクロック周期で完了することができる。
【００１８】
パイプライン構造を実装するには様々な方法がある。一部の実施形態では、最初にラインが評価されて、該ラインのＯＳＤの可能性のあるＵＩを検出する。ライン内の最後の標準セクションが次のラインからのルックアヘッドセクションと組み合わせて評価され、他のＵＩの内容が決まる前にこれらのＯＳＤのＵＩを判断する。ルックアヘッドセクション内のＯＳＤの数は、実装時固有であるが、５個のＯＳＤとすることができる。
【００１９】
例えば、図５から７までは、時間ｔ１、ｔ２及びｔ３におけるパイプラインステージＳ１−ＳＮを示している。図５に示されるように、時間ｔ１において、ステージ１はライン１を有する。ライン１のＯＳＤは、図４の説明と同じ方法で評価されて、最後の３個のＯＳＤ（４７−４９）がライン１の他のＯＳＤと同じＵＩの一部ではないことを判断する。
【００２０】
図６を参照すると、ライン１がステージ１からステージ２にパスされて、ライン２がステージ１に提供される。更に、ステージ１は、ステージ２での評価のためにルックアヘッドＯＳＤを提供する。ステージ２では、ライン１の最後の３個のＯＳＤがライン２の最初の２個のＯＳＤと組み合わされてビット値１を有するＵＩを形成すべきであると判断する。
【００２１】
図７を参照すると、ライン１がステージ２からステージ３に提供される。ライン１の最後のＯＳＤはステージ２でＵＩに割り当てられたので、ステージ３はライン１からのＯＳＤだけを評価する。図７の実装では、ステージ３は、ライン１のＯＳＤ４２−４６がＵＩに割り当てられるべきであると判断する。一部の実装では、ステージ３は、前のステージでＵＩに割り当てられたＯＳＤの直前の標準セクションから開始する。ステージ３はまた、前のＯＳＤをルックバックして、これらのＯＳＤが標準セクションと同じＵＩの一部分であるかどうかを確認することもできる。更に、標準セクションの全てがＵＩの一部である必要はない（例えば、ＵＩに３個又は４個のＯＳＤだけがある場合）。上述のように、一部の実装では、ＯＳＤのグループは第２ステージの前に決定される（ルックアヘッドビットの場合は除く）。ステージは、ＵＩのＯＳＤを識別して、該ＵＩが表しているビットの値を判断する。別の実装では、ステージ３がラインの最初の標準セクションから開始し、末尾のＯＳＤ（この場合、ＯＳＤ４７−４９は既に割り当てられているのでＯＳＤ４６）に向けて進む。ステージ２では、図６のステージ２でライン１が評価されたようにライン２が評価され、図５のステージ１でライン１が評価されたようにライン３が評価される。
【００２２】
図５から７の実装では、第２ステージだけが、（第１ステージのラインである）別のラインに対してルックアヘッドを行う。別の実装では、異なるラインへのルックアヘッドで異なるステージを使用することができる。
【００２３】
図８は、ラインがステージの一部を通って進行するにつれて、ステージの処理に関わるラインのＯＳＤがより少なくなっていくことを示している。例えば、図８の網掛け部分は、一般に（但し正確にではないが）、既に処理されたＯＳＤを示している。パイプライン構造全体で１０よりも多くの５０  ＯＳＤが処理されるので、初期レイテンシ後、パイプラインは、１クロック周期で１０の出力（５０個のＯＳＤの異なるグループの各々から１つ）を生成することができ、１クロック周期で１０の異なるラインから５０個のＯＳＤを効率的に処理することができる。言い換えると、パイプラインは、１０クロック周期で５０  ＯＳＤの１０グループを処理して１０ビットを生成することができる。本明細書で使用されるように、クロック周期は、必ずしもクロックの期間に等しいわけではないことに留意されたい。例えば、ダブルデータレート・シグナリングでは、クロック期間内に２回の「クロック周期」が存在する。
【００２４】
一部の実施形態では、ステージがビットを生成しない場合がある。例えば、（一部の実施形態ではビットを生成しない）ステージ１に加えて、ビットの特定の組み合わせのために、特定のラインに関してビットを生成しない別のステージがパイプラインに存在する場合がある。この場合、追加のステージが存在することができ、例えば１２ステージとすることができる。レイテンシが１２周期であっても、スループットは１クロック周期あたり１０ビットのままとすることができる。しかしながら、一部の実施形態はこれらの詳細を含まない。一部の実施形態では、１０ラインから１０ビットを獲得するために１０周期よりも多くを費やす場合がある。
【００２５】
図９から１１は、図５から７の処理に類似した処理を示している。しかしながら、図９では、ステージ１は、ＯＳＤ４５−４９がライン１内で完結するＵＩの一部分であると判断することができる。（ステージ１のＯＳＤの値に関わらず、ステージ１からはビットは提供されなかったのに対して）この場合は、ビットがステージ１から提供される。図１０において、ステージ２は、ＯＳＤ４５−４９を評価し、或はＯＳＤ４５−４９がラインをまたがないＵＩの一部分であるとステージ１が判断した場合には、ＯＳＤの次のグループを評価することができる。図１１では、ステージ３が、ライン１のＯＳＤの第２又は第３グループのいずれかを評価することができ、ステージ２は、ライン２のＯＳＤの第１又は第２グループを評価することができ、ステージ１は、ライン３のＯＳＤの第１グループ（ＯＳＤ４５−４９）であるか否かを判断する。
【００２６】
上述のように、ラインはステージを通って進行するので、一部のＯＳＤは考慮されない。この場合、設計によっては、これらのＯＳＤを保持し続けることは回路の無駄となる場合がある。従って、図１２は、ステージ５の回路がステージ４よりも少ないＯＳＤを保持し、ステージ４がステージ３よりも少ないＯＳＤを保持し、ステージ３がステージ２よりも少ないＯＳＤを保持することを示している。これにより、使用されるレジスタ及びマルチプレクサの数を低減することができる。特定のステージにおいてラインで評価し残したＯＳＤの正確な数は予測不能であり、ラインごとに変動するので、場合によっては特定のステージで過剰な容量が存在することになる。
【００２７】
図１３は、ラインのステージ１、２、３の一部の実施形態の更なる詳細を示している。ステージ１と２との間、ステージ２と３との間、及びステージ３とのプロセス６２は、図１４のアルゴリズムに関連して説明されるように、（図３の）ロジック５２及びテーブル５６によって実行される。この実施形態では、評価されるラインのＯＳＤのグループがＯＳＤ４９からＯＳＤ０に向かって移動していることに留意されたい。評価されるＯＳＤグループの最初のＯＳＤが、現在のポインタ量である。グループがＯＳＤ４２−４６の場合、現在のポインタ量は４６である。ＵＩが５個の０又は５個の１を含むとき、或いはＵＩ間に挟まれた４個又は６個の０、或いは４個又は６個の１が全て０又は１となるときには、現在のポインタ量を判断することは比較的容易である。図１４のアルゴリズムは、ロジック５２及びテーブル５６によって実行することのできるより複雑なケースに解決策を提供する。しかしながら、一部の実施形態は、図１４のアルゴリズムに従わないか又はその修正バージョンに従う。
【００２８】
図１４を参照すると、現在のポインタは、評価するＯＳＤグループの最初のＯＳＤを示している。例えば、図５のステージ２において、現在のポインタは位置４９にある。図６のステージ３では、現在のポインタは位置４６にある。現在のポインタ量（ｃｕｒ＿ｐｔｒａｍｔ）は、ＯＳＤの最新グループの内容に基づいて現在のポインタがどれだけ移動すべきであるかを示している。リマインダ（ｒｍ）は、ラインが現在位置するところが５個のＯＳＤよりもどれだけ上回るか又は下回るかである。例えば、ラインが５個のＯＳＤのグループから始まり、次に６個のＯＳＤのグループを有する場合、現在のリマインダは、１だけ増加される（ｎｘｔ＿ｒｍ＝ｃｕｒ＿ｒｍ＋１）。次いでラインが４個のＯＳＤのグループを有する場合、現在のリマインダは、１だけ減じられる（ｎｘｔ＿ｒｍ＝ｃｕｒ＿ｒｍ−１）。
【００２９】
６’ｂ００００１、６’ｂ１１１１１０、６’ｂ００００１１、及び６’ｂ１１１１００のＯＳＤのグループは、６個のＯＳＤの４つのグループである。これらに応答して、現在のポインタ量は６になるので、現在のポインタは６位置だけ移動し、現在のリマインダは１増える。６’ｂｘ１００００及び６’ｂｘ０１１１１は、ＯＳＤの２つのグループであり、ここでｘは、１又は０のいずれを表してもよい。これらに応答して、現在のポインタ量は４になるので、現在のポインタは４位置だけ移動し、現在のリマインダは１減る。ＵＩが５個のＯＳＤを有する場合、ｃｕｒ＿ｐｔｒａｍｔ＝５で、ｎｘｔ＿ｒｍ＝ｃｕｒ＿ｒｍである。ｃｕｒ＿ｒｍ［０］は、ｒｍの現在値の最上位ビット（ＭＳＢ）であり、これが１の場合は、これまでにＯＳＤのより少ない数が使用されたことを意味する（ｃｕｒ＿ｒｍは［０：ｎ］として定義され、ＭＳＢは０であり、ｃｕｒ＿ｒｍが負の値の場合にはＭＳＢは１となる）。例えば、行（４、４、４）の４個のＯＳＤの３つのグループの場合、毎回１ビット剰余があり、これらの３ビットは、蓄積された剰余なので取り除くことができる。しかしながら、詳細は実装時固有である。
【００３０】
Ｎｏ＿ｏｕｔ＝１’ｂ１は、ＯＳＤの所与のグループに関して出力なしを意味する。上述のように、ステージに関して、ＯＳＤの所与のグループから出力が生成されない場合がある。例えば、図１４に示したように、これまでにより少い数のＯＳＤを使用しおり、３個のＯＳＤのグループがある場合（６’ｂｘ００１１１及び６’ｂｘ１１０００の場合）、これら３個のＯＳＤは、蓄積された剰余であって有効なＵＩに相当する実際のＯＳＤではないので、アルゴリズムは、これらのＯＳＤを破棄するように決定することができる。この種の剰余は、ＵＩの幅を変えるジッタが原因で生成される可能性がある。
【００３１】
ステージＸでは、パイプラインが（ｃｕｒｐｔｒからの）未処理の６個のＯＳＤに注目して、ｃｕｒｐｔｒの移動の出力及び量（例えば、出力を生成するのに５個のＯＳＤが使用される場合は５、４個のＯＳＤが使用される場合は４）を決定する。６個のＯＳＤ内に５ビットよりも少ない同じ連続値がある場合（例えば１０００、１１００など）、ステージＸ−１の最初の部分が調べられ、５個の連続ビットを生成するのにＯＳＤの何らかの可能な借入が存在するか否かを確認する。存在する場合、ビットが借りられて出力ビットが生成され、これに伴いｃｕｒｐｔｒが移動される。更に、ステージＸ−１の利用可能なビット数が、借りた数だけ減じられる。借入に十分な数のビットがない場合には、出力は、テーブル５６に基づいて生成することができ、生成しないこともある。テーブル５６は、効果的なジッタ耐性の決定を助けることができる。例えば、一部の場合では、出力は５ビットではなく連続する４ビットのＯＳＤからのみ生成され、これはジッタがその原因であるとみなされるからである。このような場合、ＵＩは変数ｒｍ内に１つ少ないＯＳＤを有する点に留意されたい。同様に、ＵＩが６個のＯＳＤを有する場合、追加のＯＳＤが使用される点に留意されたい。このｒｍを使用して、３個の連続するＯＳＤが存在するときの出力を決定する。これは冗長なＯＳＤであり、すなわち、幾つかのアイが、ジッタに起因してより大きくなり、その効果が蓄積されて、結果として３個のＯＳＤが残ったとみなすことができる。或いは、これは有効なＯＳＤであり、すなわち、ジッタに起因して２個のＯＳＤが削除されて、従って３個のＯＳＤを有するＵＩが生成されたはずであると考えることができる。ｒｍの値は、３個のＯＳＤの出力を決定することのできるジッタのステータスを示す。借入量、ｃｕｒｐｔｒの移動量、ｒｍ値、及び出力は、テーブル５６内の予め定義されたテーブルに基づいて決定することができる。
【００３２】
図１５及び図１６は、２つの異なるアプローチを対比させている。図１５では、データのラインが１つのステージから次のステージに移され、現在のポインタが移動される。図１５は、２つのシフタを有し、：一方は、借入ビットを処理する（それらを削除する）ためのものであり、他方は、ステージ内で処理される６個のＯＳＤを取り出すためのものである。すなわち、一部の実施形態では、６個のＯＳＤに注目して、これらのパターンに基づいてステージで４、５、又は６個のＯＳＤを消費する。一方、図１６は、現在のポインタが常に同じ位置にあるように、処理量に基づいてＯＳＤ全体を右にシフトするただ１つのシフタを有する。この場合、出力の生成に借入ＯＳＤが後で使用されないように借入ＯＳＤをマーク付けするための何らかの追加のロジックがある。図１６では、下位のステージが上位のステージよりも短いことが示されており、これは、必要とされるレジスタがより少なくなるためである。図１６の実装では、マルチプレクサをより少なくすることができる。図１１は、図１６のように修正することができる。
【００３３】
一部の実施形態で使用される別のアルゴリズムは、「フリップ」と呼ばれる。これは、図１４に関連して説明されるｒｍ値に関連付けられる。ｒｍは、出力の生成に使用される「過剰又は不足の」ＯＳＤの蓄積数を表している。従って、ｒｍが４又は５に達した場合、これは４個／５個のＯＳＤが出力の生成に使用されるのに過剰又は不足であることを意味する。通常、５（４）個のＯＳＤは１回の出力に相当するので、このような場合、出力は、１回の出力を挿入又は削除することによって修正することができる。例えば、図１７の擬似コードセグメントは、１回の出力を挿入するケースを示している。コード内のｐｏｓ＿ｓｕｍ、ｐｏｓ＿ｓｕｍ２、及びｒｍ＿ｓ１４は、全てｒｍ値に関連付けられる。一部の実施形態では、図１７のアルゴリズムを使用せず、又はその修正バージョンを使用する。
【００３４】
５０個のＯＳＤが９ビット、１０ビット、及び１１ビットを含むことがあるが、５０個のＯＳＤにおける長期平均は１０ビットである。簿記技術を使用することができる。５０個のＯＳＤが前の２周期で９ビットを有する場合、これに続くＯＳＤは、１０ビットの平均になるように１０ビットではなく１１ビットを含むことになる可能性が高い。同様に、前の５０個のＯＳＤが前の２周期に１１ビットを有する場合、次の５０個のＯＳＤは、１０ビットの平均になるように１０ビットではなく９ビットを含むことになる可能性が高い。
【００３５】
図１７のフリップ０９は、５０個のＯＳＤに含まれる９ビットのケースに関連している。以下は、記号の説明である。ｖ９は、５０個のＯＳＤからの有効な９ビットのケースであり、ｖ１１は、５０個のＯＳＤからの有効な１１ビットである。ｖ９ｄはｖ９の遅延バージョンであり、！ｖ１１は、ｖ１１でないことを意味し、＆＆は論理ＡＮＤである。ｖ９ｄは、前の周期で１つ少ないビットが生成されたこと、！ｖ１１は、この時点で補正なし、ｏｃｎｔ＿ｓ［１３］！＝１１は、近い将来に補正がない、！ｓｕｍ［０］は、余剰の残余ビットがあること、ｐｏｓ＿ｓｕｍ＞＝５は、残余ビットが１ビットを生成するのに十分な場合、ｐｏｓ＿ｓｕｍ＞＝４＆＆ｐｏｓ＿ｓｕｍ２＞＝５＆＆！ｒｍ＿ｓ１４［０］＆＆！ｒｍ＿ｓ１４＿ｄ［０］は、１ビットを生成するのに短い蓄積で十分大きい場合、ｖ９＆＆ｐｏｓ＿ｓｕｍ＞＝４は、ｖ９及びｖ９イベントが、４＋残余ビットで発生することを意味する。これが発生すると、ｖ１１が将来的に発生するのを待つことなく、出力の１ビットを生成するのに余剰ビットを使用することができる。冗長のＯＳＤを削除するために、同様のロジックもまた使用することができる。
【００３６】
受信器は、プリプロセッサとしてフィルタ層を使用することができる。フィルタ層は、単一の１／０をフィルタ除去して、２重の１／０を強化することもでき、すなわち、１０１は１１１となり、００１１００は０１１１１０となる、など。この層は、非常に粗悪な低品質の入力ストリームに関して有効であり、これは、単一の１／０又は狭い１／０は決定手順で混同を引き起こす可能性があるからである。粗悪な入力ストリームに関しては、行っていることを模倣することもできる。例えば、図１８は、制御回路１５６の制御下で、処理回路１３０においてパイプラインステージ１５４のためのサンプルを事前フィルタリングするこうしたプリプロセッサフィルタ１６０を示している。テーブル１５８を使用することができる。
【００３７】
図１９は、本発明の受信器を位置付けることのできるシステムを示している。図１９を参照すると、送信器１４は、ビデオ信号、オーディオ信号、及び他の信号を受信器２２に供給する。受信器２２は、信号を処理及び駆動回路１７０に供給し、次いでこの回路がビデオ信号をディスプレイ１７２及びオーディオスピーカー１７４に供給する。ビデオ信号はＤＶＩ準拠又はＤＶＩ非準拠とすることができる。一部の実装では、受信器は、同期式送信器及び非同期式受信器に関して大きな高速なジッタの処理に対応する。
【００３８】
留意すべきことは、一部のケースでは、ＵＩがどの値を表しているかが明確でないことである。このような場合、受信器は、送信された信号の一部分の再送を要求することができる。
【００３９】
本発明は、特定のタイプのシグナリングに限定されない。入力及びクロック信号は、シングルエンド方式でもディファレンシャル方式でも可能である。クロックは、「アイ」を含むことができる。クロック制御は、シングルデータレート、ダブルデータレート、クワッドデータレート、その他とすることができる。ダブルデータレートでは、単一クロック信号の立ち上がり立ち下りエッジを使用することができ、或いは、２つの位相外れクロックを使用することができる。信号はパケット化されることもでき、パケット化されないことも可能である。実施形態によっては、図１のデータ信号ＴＤ１．．．ＴＤＮがアドレス、コマンド、及び従来データを含む様々な種類のデータを含むこともでき、又は単に従来データのみを含むこともできる。
【００４０】
本開示では、本質的に概略であり種々の詳細を含まない様々な図を含む。実際の実装では、システム及びチップは、図に示した回路間を含みここに示されていない付加的な構成要素を含むことになる。ここに示した構成要素は、様々な付加的な入力及び出力を有することができる。本明細書に記載した様々なアルゴリズム及び方法は、ファームウェア又はソフトウェアがなくとも又はこれらの支援がなくとも、ハードウェア回路で実行することができる。しかしながら、ファームウェア及び／又はソフトウェアは、アルゴリズム及び方法が実行されるシステム全体で使用することができる。
【００４１】
本明細書で使用される用語「実施形態」とは実装を指す。本明細書において言及する「実施形態」、「一実施形態」、「一部の実施形態」、又は「別の実施形態」は、実施形態に関連して記載される特定の機能、構造、又は特性が、必ずしも本発明の全ての実施形態に含まれるわけではなく、本発明の少なくとも１つの実施形態に含まれることを意味する。異なる箇所での「一部の実施形態」の言及は、必ずしも同じ「一部の実施形態」を指すわけではない。
【００４２】
本明細書で、構成要素、機能、構造、又は特性を含まれる「場合がある」、含まれ「てもよい」、又は含む「ことができる」と記載される場合、この特定の構成要素、機能、構造、又は特性を含めることは必須ではない。本明細書又は請求項で「１つの」構造と言及する場合、これは構造のただ１つが存在することを意味するわけではない。
【００４３】
本発明を幾つかの実施形態に関して説明してきたが、本発明は記載されたこれらの実施形態にのみ限定すべきではなく、添付の請求項の精神及び範囲内にある修正形態及び代替形態で実施することができる。従って、本明細書は限定ではなく例証とみなすべきである。
【図面の簡単な説明】
【００４４】
【図１】本発明の一部の実施形態に従う、送信器、コンダクタを有するチップ、及び受信器を有するチップを含むシステムのブロック図表現である。
【図２】本発明の一部の実施形態に従う例示的な信号のオーバーサンプルされたデータ及びユニットインターバルの図形表現である。
【図３】本発明の一部の実施形態に従う図１の受信器の実施例のブロック図表現である。
【図４】本発明の一部の実施形態に従うオーバーサンプルデータのラインの図形表現である。
【図５】本発明の一部の実施形態に従うパイプラインのステージのブロック図表現である。
【図６】本発明の一部の実施形態に従うパイプラインのステージのブロック図表現である。
【図７】本発明の一部の実施形態に従うパイプラインのステージのブロック図表現である。
【図８】本発明の一部の実施形態に従うパイプラインのステージのブロック図表現である。
【図９】本発明の一部の実施形態に従うパイプラインのステージのブロック図表現である。
【図１０】本発明の一部の実施形態に従うパイプラインのステージのブロック図表現である。
【図１１】本発明の一部の実施形態に従うパイプラインのステージのブロック図表現である。
【図１２】本発明の一部の実施形態に従うパイプラインのステージのブロック図表現である。
【図１３】本発明の一部の実施形態に従うパイプラインのステージ及び関連処理のブロック図表現である。
【図１４】本発明の一部の実施形態に関連して使用することのできる擬似コードである。
【図１５】本発明の一部の実施形態に従うパイプラインのステージ及び関連処理のブロック図表現である。
【図１６】本発明の一部の実施形態に従うパイプラインのステージ及び関連処理のブロック図表現である。
【図１７】本発明の一部の実施形態に関連して使用することのできる擬似コードである。
【図１８】本発明の一部の実施形態に従う図１の受信器の例のブロック図表現である。
【図１９】本発明の一部の実施形態に従うシステムのブロック図表現である。
【符号の説明】
【００４５】
１２  チップ
１４  送信器（ＴＸ）
１６  コンダクタ
１８  コンダクタ
２０  チップ
２２  受信器
２６  位相ロックループ（ＰＬＬ）
３０  処理回路
３２  チップインタフェース構造
３６  チップインタフェース構造
【図１】
2008118683.tif 000003
【図２】
2008118683.tif 000004
【図３】
2008118683.tif 000005
【図４】
2008118683.tif 000006
【図５】
2008118683.tif 000007
【図６】
2008118683.tif 000008
【図７】
2008118683.tif 000009
【図８】
2008118683.tif 000010
【図９】
2008118683.tif 000011
【図１０】
2008118683.tif 000012
【図１１】
2008118683.tif 000013
【図１２】
2008118683.tif 000014
【図１３】
2008118683.tif 000015
【図１４】
2008118683.tif 000016
【図１５】
2008118683.tif 000017
【図１６】
2008118683.tif 000018
【図１７】
2008118683.tif 000019
【図１８】
2008118683.tif 000020
【図１９】
2008118683.tif 000021
【外国語明細書】
2008118683.tif 000022
2008118683.tif 000023
2008118683.tif 000024
2008118683.tif 000025
2008118683.tif 000026
2008118683.tif 000027
2008118683.tif 000028
2008118683.tif 000029
2008118683.tif 000030
2008118683.tif 000031
2008118683.tif 000032
2008118683.tif 000033
2008118683.tif 000034
2008118683.tif 000035
2008118683.tif 000036
2008118683.tif 000037
2008118683.tif 000038
2008118683.tif 000039
2008118683.tif 000040
2008118683.tif 000041
2008118683.tif 000042
2008118683.tif 000043
2008118683.tif 000044
2008118683.tif 000045
2008118683.tif 000046
2008118683.tif 000047
2008118683.tif 000048