(57)【要約】【課題】待ち時間不確実性を減少したトランシーバシステムを提供すること。【解決手段】トランシーバシステムは、ワードアライナを備え、０のワードアライナ待ち時間不確実性を有し、ワードアライナに結合されるビットスリッパをさらに備えている。該トランシーバーシステムは、ワードアライナによるワード整列およびビットスリッパによるビットスリップに起因する全遅延が回復クロックのすべての位相に対して一定であるように、ビットスリッパがビットをスリップさせる、トランシーバシステムである。【選択図】なし【特許請求の範囲】
【請求項１】
トランシーバシステムであって、
ワードアライナを備え、
該トランシーバシステムは、０のワードアライナ待ち時間不確実性を有する、トランシ−バシステム。
【請求項２】
前記ワードアライナに結合されるビットスリッパをさらに備えている、請求項１に記載のトランシーバシステム。
【請求項３】
前記ワードアライナによるワード整列および前記ビットスリッパによるビットスリップに起因する全遅延が回復クロックのすべての位相に対して一定であるように、該ビットスリッパはビットをスリップさせる、請求項２に記載のトランシーバシステム。
【請求項４】
前記ワードアライナによるビットシフトおよび前記ビットスリッパによるビットスリップに起因する全遅延が回復クロックのすべての位相に対して０であるように、該ワードアライナによって実行されたビットシフトを補償するために、該ビットスリッパはビットをスリップさせる、請求項３に記載のトランシーバシステム。
【請求項５】
前記トランシーバシステムは、０の受信器から送信器への転送待ち時間不確実性を有する、請求項２に記載のトランシーバシステム。
【請求項６】
第１のフィードバック経路および第２のフィードバック経路を含む送信器フェーズロックループ（ＰＬＬ）をさらに備えている、請求項２に記載のトランシーバシステム。
【請求項７】
前記送信器ＰＬＬは、位相周波数検出器に結合されたマルチプレクサを含み、該マルチプレクサは、第１の分周器からの第１のクロック信号と第２の分周器からの第２のクロック信号との間を選択し、該位相周波数検出器に提供する、請求項６に記載のトランシーバシステム。
【請求項８】
前記第１のフィードバック経路は前記第１の分周器を含み、前記第２のフィードバック経路は前記第２の分周器を含み、さらに該第１の分周器は送信器分周器である、請求項７に記載のトランシーバシステム。
【請求項９】
前記位相周波数検出器は、回復クロック信号の遅延したバージョンである基準クロック信号を受信する、請求項８に記載のトランシーバシステム。
【請求項１０】
前記ワードアライナおよび前記ビットスリッパに結合されたユーザ論理をさらに備えている、請求項２に記載のトランシーバシステム。
【請求項１１】
前記ワードアライナおよび前記ユーザ論理に結合された第１のＩＰブロックであって、
該第１のＩＰブロックは、該ワードアライナから受信されたワードを該ユーザ論理による処理のための別のフォーマットに変換する、第１のＩＰブロックと、
該ユーザ論理および該ビットスリッパに結合された第２のＩＰブロックであって、該第２のＩＰブロックは、該ユーザ論理によって出力されたワードを該ビットスリッパによる処理のためのフォーマットに変換する、第２のＩＰブロックと
をさらに備えている、請求項１０に記載のトランシーバシステム。
【請求項１２】
請求項１に記載のトランシーバシステムを含むプログラム可能論理デバイス。
【請求項１３】
請求項１に記載のトランシーバシステムを含むプログラム可能論理デバイスを備えているデジタルシステム。
【請求項１４】
データを送受信する方法であって、該方法は、
所望のワード境界にワードを整列させることを包含し、
該送受信することは、０のワードアライナ待ち時間不確実性を有する、方法。
【請求項１５】
前記ワードのビットをスリップさせることをさらに包含し、前記整列させることおよび該スリップさせることに起因する全遅延は回復クロックのすべての位相に対して一定である、請求項１４に記載の方法。
【請求項１６】
前記整列させることによってビットシフトを補償するために前記ワードのビットをスリップさせることをさらに包含し、該整列させることおよび該スリップさせることに起因する全遅延は回復クロックのすべての位相に対して０である、請求項１４の方法。
【請求項１７】
送信器フェーズロックループ（ＰＬＬ）の第１のフィードバック経路にある第１の分周器からの第１のクロック信号と該送信器ＰＬＬの第２のフィードバック経路にある第２の分周器からの第２のクロック信号との間を選択し、該送信器ＰＬＬの位相周波数検出器に提供することと、
該位相周波数検出器に回復クロック信号の遅延したバージョンである基準クロック信号を提供することと
をさらに包含する、請求項１５に記載の方法。
【請求項１８】
ワードアライナから受信されたワードをユーザ論理によって処理するための別のフォーマットに変換するために、復号化インテレクチュアルプロパティ（ＩＰ）ブロックを用いることと、
該ユーザ論理によって出力されたワードを前記ビットスリッパによって処理するためのフォーマットに変換するために、符号化ＩＰブロックを用いることと
をさらに包含する、請求項１７に記載の方法。
【請求項１９】
トランシーバシステムであって、
シリアルデータをパラレルデータに変換する直並列変換器を含む受信器であって、該受信器は回復クロック信号をさらに提供する、受信器と、
該受信器に結合されたワードアライナであって、該ワードアライナは、該パラレルデータ内のパラレルワードを所望のワード境界に整列させる、ワードアライナと、
該ワードアライナに結合されたユーザ論理と、
該ユーザ論理および該ワードアライナに結合されたビットスリッパであって、該ビットスリッパは、該ワードアライナからワード整列に関する情報を受信し、さらに、該ワードアライナによるワード整列および該ビットスリッパによるビットスリップに起因する全遅延が回復クロックのすべての位相に対して一定であるような方法で、該ビットスリッパはビットをスリップさせる、ビットスリッパと、
該ビットスリッパに結合された送信器であって、該送信器は、
該パラレルデータをシリアルデータに変換する並直列変換器と、
第１の分周器を有する第１のフィードバック経路と、第２の分周器を有する第２のフィードバック経路と、位相周波数検出器と、該第１のフィードバック経路、該第２のフィードバック経路、および該位相周波数検出器に結合されたマルチプレクサとを含む、送信器フェーズロックループ（ＰＬＬ）であって、該第１の分周器は送信器分周器であり、該位相周波数検出器は回復クロック信号の遅延したバージョンである基準クロック信号を受信し、該マルチプレクサは、該第１の分周器からの第１のクロック信号と該第２の分周器からの第２のクロック信号との間を選択し、該位相周波数検出器に提供する、送信器フェーズロックループ（ＰＬＬ）と
を備えている、送信器と
を備えており、
該トランシーバシステムは、０のワードアライナ待ち時間不確実性および０の受信器から送信器への転送待ち時間不確実性を有する、トランシーバシステム。
【請求項２０】
前記ビットスリッパは、第１の複数のレジスタと、該第１の複数のレジスタに結合された第２の複数のレジスタと、該第１の複数のレジスタおよび該第２の複数のレジスタに結合された複数のマルチプレクサとを含み、該複数のマルチプレクサの各々のマルチプレクサは、該第１の複数のレジスタうちの１つ以上のレジスタ、該第２の複数のレジスタのうちの１つ以上のレジスタ、または該第１の複数のレジスタおよび該第２の複数のレジスタの両方のうちの１つ以上のレジスタに結合される、請求項１９に記載のトランシーバシステム。
【請求項２１】
前記ワードアライナおよび前記ユーザ論理に結合された第１のＩＰブロックであって、該第１のＩＰブロックは、該ワードアライナから受信されたワードを該ユーザ論理による処理のための別のフォーマットに変換する、第１のＩＰブロックと、
該ユーザ論理および前記ビットスリッパに結合された第２のＩＰブロックであって、該第２のＩＰブロックは、該ユーザ論理によって出力されたワードを該ビットスリッパによる処理のためのフォーマットに変換する、第２のＩＰブロックと
をさらに備えている、請求項１９に記載のトランシーバシステム。
【請求項２２】
請求項１９に記載のトランシーバシステムを含むプログラム可能論理デバイス。
【請求項２３】
請求項１９に記載のトランシーバシステムを含むプログラム可能論理デバイスを備えているデジタルシステム。
【請求項２４】
トランシーバシステムであって、
第１の分周器および位相周波数検出器を含むフェーズロックループ（ＰＬＬ）を備えている送信器であって、該第１の分周器は第１のパラレルクロック信号を該位相周波数検出器および該送信器のレジスタに供給する、送信器を備えている、トランシーバシステム。
【請求項２５】
前記トランシーバシステムは、０の受信器から送信器への転送待ち時間不確実性を有する、請求項２４に記載のトランシーバシステム。
【請求項２６】
前記ＰＬＬは、第１のフィードバック経路と、第２のフィードバック経路と、該第１のフィードバック経路および該第２のフィードバック経路ならびに前記位相周波数検出器に結合されたマルチプレクサとを含み、該マルチプレクサは、前記第１の分周器からの前記第１のクロック信号と第２の分周器からの第２のクロック信号との間を選択し、該位相周波数検出器に提供する、請求項２５に記載のトランシーバシステム。
【請求項２７】
前記第１のフィードバック経路は前記第１の分周器を含み、前記第２のフィードバック経路は前記第２の分周器を含み、さらに、該第１の分周器は送信器分周器である、請求項２６に記載のトランシーバシステム。
【請求項２８】
前記位相周波数検出器は、回復クロック信号の遅延したバージョンである基準クロック信号を受信する、請求項２７に記載のトランシーバシステム。
【請求項２９】
ワードアライナからのワード整列に関する情報を受信するビットスリッパをさらに備えている、請求項２８に記載のトランシーバシステム。
【請求項３０】
前記ビットスリッパに結合されたＩＰブロックをさらに備え、該ＩＰブロックは、該ビットスリッパによる処理のためのフォーマットにワードを変換する、請求項２９に記載のトランシーバシステム。
【請求項３１】
請求項２４に記載のトランシーバシステムを含むプログラム可能論理デバイス。
【請求項３２】
請求項２４に記載のトランシーバシステムを含むプログラム可能論理デバイスを備えているデジタルシステム。
【請求項３３】
データを送受信する方法であって、該方法は、
第１のパラレルクロック信号を送信器フェーズロックループ（ＰＬＬ）の第１の分周器から該送信器ＰＬＬの位相周波数検出器および該送信器ＰＬＬを含む送信器のレジスタに提供することを包含する、方法。
【請求項３４】
前記送受信することは、０の受信器から送信器への転送待ち時間不確実性を有する、請求項３３に記載の方法。
【請求項３５】
前記送信器ＰＬＬの前記第１の分周器からの前記第１のパラレルクロック信号と、該送信器ＰＬＬの第２の分周器からの第２のパラレルクロック信号との間を選択し、該送信器ＰＬＬの前記位相周波数検出器に提供することと、
回復クロック信号の遅延したバージョンである基準クロック信号を該位相周波数検出器に提供することと
をさらに包含し、
該第１の分周器は該送信器ＰＬＬの第１のフィードバック経路上にあり、該第２の分周器は該送信器ＰＬＬの第２のフィードバック経路上にある、請求項３４に記載の方法。
【請求項３６】
ビットスリッパによって処理するためのフォーマットにワードを変換するためにインテレクチュアルプロパティ（ＩＰ）を用いることをさらに包含する、請求項３５に記載の方法。
【請求項３７】
ワードを所望のワード境界に整列させることをさらに包含する方法であって、該方法は、０のワードアライナ待ち時間不確実性を有する、請求項３５に記載の方法。
【請求項３８】
前記ワードのビットをスリップさせることをさらに包含し、前記整列させることおよび該スリップさせることに起因する全遅延は、前記回復クロック信号のすべての位相に対して一定である、請求項３７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の引用）
本出願は、２００７年１２月２１日に出願された、Ｎｅｖｉｌｌｅ  Ｃａｒｖａｌｈｏらの名称「Ｔｒａｎｓｃｅｉｖｅｒ  Ｓｙｓｔｅｍ  Ｗｉｔｈ  Ｒｅｄｕｃｅｄ  Ｌａｔｅｎｃｙ  Ｕｎｃｅｒｔａｉｎｔｙ」の米国仮特許出願第６１／００９，０１２号の利益を主張し、該米国仮特許出願は、本明細書に参考として援用される。
【０００２】
（背景）
本発明は、待ち時間不確実性（ｌａｔｅｎｃｙ  ｕｎｃｅｒｔａｉｎｔｙ）の減少に関する。
【背景技術】
【０００３】
図１は、待ち時間不確実性を有するシステムのブロック図である。図１において、システム１００は、受信器１１０と、ワードアライナ１２０と、ユーザ論理１３０と、位相クロッシング（ｐｈａｓｅ  ｃｒｏｓｓｉｎｇ）先入れ先出し（ＦＩＦＯ）１５０と、送信器１６０とを含む。受信器および送信器は、本明細書においてそれぞれＲＸおよびＴＸとして示され得る。受信器と送信器の組合せは、本明細書においてトランシーバといわれ得る。トランシーバは、受信器と送信器の組合せをいう他に、本明細書において受信器または送信器をいうためにも用いられ得る。システム１００は、トランシーバを含むので、本明細書においてトランシーバシステムといわれ得る。システム１００はまた、本明細書においてデバイス、より詳細にはトランシーバデバイス、すなわちトランシーバを含むデバイス、ともいわれ得る。用語トランシーバシステムおよびトランシーバデバイスは（トランシーバを有するシステムまたはデバイスをいうために用いられる他に）、本明細書においてトランシーバをいうためにも用いられ得る。
【０００４】
システム１００は、プログラム可能論理デバイス（ＰＬＤ）であり得る。しかしながら、システム１００は、ＰＬＤに限定されないで、任意の回路またはデバイスであり得る。システム１００の例示において、ワードアライナ１２０と、ユーザ論理１３０と、位相クロッシングＦＩＦＯ１５０とは、ＰＬＤコアの一部であり、該ＰＬＤコアはＰＬＤファブリックともいわれ得る。
【０００５】
受信器１１０は、入力インタフェース（Ｉ／Ｆ）１１１と、クロックデータ回復（ＣＤＲ）ユニット１１２と、シリアルデータをパラレルデータに変換する直並列変換器１１３と、分周器１１６とを含む。直並列変換器１１３は、シリアルクロックによって動作するシリアルレジスタ１１４とパラレルクロックによって動作するパラレルレジスタ１１５とを含み、該パラレルクロックは、本明細書において回復クロックまたは受信器パラレルクロックとも呼ばれ得る。ＣＤＲユニット１１２は、入力データを受信し、そのデータからシリアル入力クロックを回復する。ＣＤＲユニット１１２は、入力データを直並列変換器１１３に提供し、シリアル入力クロックを分周器１１６に提供する。分周器１１６は、シリアル入力クロックをＮで割るＮ分周器であり、受信器パラレルクロックを提供し、ここで、Ｎは、受信器パラレルクロックの１サイクル当りのビット数を表し、本明細書において非直列化因数と呼ばれ得る整数である。一例においてＮは、１０に等しいが、１より大きい任意の整数に等しくなり得る。
【０００６】
分周器１１６は、Ｎ個の位相のうちの任意の位相を有する回復クロックを生成し得る。図２は、図１のシリアルクロックおよびシリアル入力のデータストリームに関する回復クロックの種々の位相を例示する。図２において、シリアル入力のデータストリームおよびシリアルクロックはそれぞれ、信号２１０および２２０によって表される。同様に、位相０、１、２、３、４および９を有するパラレルクロックはそれぞれ、信号２３０、２３１、２３２、２３３、２３４、および２３９によって表される。図２において、Ｎは１０であると仮定され、従って回復クロックの１０個の異なる位相があり、それらは位相０〜位相９と番号がつけられる。これらの１０個の位相は、直並列変換器１１３から１０個の異なるワード順序を生成する。図２の例示において、位相０は、サイクル０においてビットＤ９、Ｄ８、Ｄ７、Ｄ６、Ｄ５、Ｄ４、Ｄ３、Ｄ２、Ｄ１、およびＤ０を含み、サイクル１においてビットＤ１９、Ｄ１８、Ｄ１７、Ｄ１６、Ｄ１５、Ｄ１４、Ｄ１３、Ｄ１２、Ｄ１１、およびＤ１０を含む１０ビットのパラレルワードを生成し、位相１は、サイクル０においてビットＤ０、Ｘ、Ｘ、Ｘ、Ｘ、Ｘ、Ｘ、Ｘ、Ｘ、およびＸ（ここで、Ｘは任意のビットを示す）を含み、サイクル１においてビットＤ１０、Ｄ９、Ｄ８、Ｄ７、Ｄ６、Ｄ５、Ｄ４、Ｄ３、Ｄ２、およびＤ１を含む１０ビットのパラレルワードを生成し、位相２は、サイクル０においてビットＤ１、Ｄ０、Ｘ、Ｘ、Ｘ、Ｘ、Ｘ、Ｘ、Ｘ、およびＸを含み、サイクル１においてビットＤ１１、Ｄ１０、Ｄ９、Ｄ８、Ｄ７、Ｄ６、Ｄ５、Ｄ４、Ｄ３、およびＤ２を含む１０ビットのパラレルワードを生成し、位相９は、サイクル０においてビットＤ８、Ｄ７、Ｄ６、Ｄ５、Ｄ４、Ｄ３、Ｄ２、Ｄ１、Ｄ０、およびＸを含み、サイクル１において、ビットＤ１８、Ｄ１７、Ｄ１６、Ｄ１５、Ｄ１４、Ｄ１３、Ｄ１２、Ｄ１１、Ｄ１０、およびＤ９を含む１０ビットのパラレルワードを生成する。位相０〜９の各々に関して、サイクル０はビットＤ０を含む第１のサイクルであり、サイクル１はサイクル０の直後のサイクルであることは注意されるべきである。
【０００７】
図１に戻り参照すると、ワードアライナ１２０は受信器１１０からパラレルワードを受信し、パラレルワードを所望のワード境界に整列させる。ワードアライナ１２０はまた、回復クロックを受信する。図１の例示において、ワードアライナ１２０は、ＰＬＤのプログラム可能論理ファブリックにおいてインプリメントされる。ワードアライナ１２０によって実行されるワード整列は、ユーザ設計が特定の所定のワード（例えば、Ｋ２８．５のようなコンマ文字）を予期するパラレルデータで動作する状況において必要である。そのような状況において、ユーザ論理１３０は、パラレルデータが所望のワード境界に整列されているときにのみ、パラレルデータを正しく処理する。所望のワードへのワード整列の処理は、直並列変換器／ワードアライナの待ち時間不確実性を導入する。例えば、所望の所定のワードが実際に「Ｄ９〜Ｄ０」であった場合、すなわち位相０の場合整列は不要であり、位相１の場合１ビットの整列が必要であり、このことは、１ビット期間または内部単位（ＵＩ）の不確実性を導入し、位相２の場合２ビットの整列が必要であり、該整列は２ビット期間の不確実性を導入し、位相９の場合９ビットの整列が必要であり、該整列は９ビット期間の不確実性を導入する。従って、ワード整列処理は、Ｎ−１ビット期間までのビットレベル不確実性を導入し、ここでＮは非直列化因子である。
【０００８】
ユーザ論理１３０は、ワードアライナ１２０から整列されたワードを受信し、受信器１１０から回復クロックを受信する。ユーザ論理１３０は、整列されたワードを処理し、処理されたデータを位相クロッシングＦＩＦＯ１５０に提供し、位相クロッシングＦＩＦＯ１５０はまた、受信器１１０から回復クロックを受信し、送信器１６０から送信器パラレルクロックを受信する。位相クロッシングＦＩＦＯ１５０は、回復クロック上のデータを受信し、送信器パラレルクロック上にデータを出力する。回復クロックおよび送信器パラレルクロックは同じ周波数を有するが、未知の位相差を有する。その結果、回復クロックと送信器パラレルクロックとの間に１クロックサイクルの不確実性がある。このことは、さらに詳細に以下に説明される。
【０００９】
送信器１６０は、出力Ｉ／Ｆ１６１と、パラレルデータをシリアルデータに変換する並直列変換器１６３と、分周器１６６（これは本明細書において送信器分周器１６６と呼ばれ得る）と、フェーズロックループ（ＰＬＬ）１７０（これは本明細書において送信器ＰＬＬ１７０と呼ばれ得る）とを含む。並直列変換器１６３は、シリアル出力クロック上で動作するシリアルレジスタ１６４と送信器パラレルクロック上で動作するパラレルレジスタ１６５とを含み、該送信器パラレルクロックは、本明細書においてパラレル送信器クロックまたはパラレル出力クロックとも呼ばれ得る。分周器１６６は、シリアル出力クロックをＮで割るＮ分周器であり、送信器パラレルクロックを提供し、ここでＮは、上記に定義されるとおりである。ＰＬＬ１７０は、図１に示されるように接続される、位相周波数検出器（ＰＦＤ）１７２と、電圧制御発振器（ＶＣＯ）１７４と、分周器１７６とを含む。図１において理解され得るように、分周器１７６（Ｍ分周器）は、Ｍの因数によってＶＣＯ１７４の出力を割るフィードバック経路分周器であり、ここでＭは、ＶＣＯ１７４による信号出力の周波数とＰＦＤ１７２によって受信される回復クロックの周波数との比率を表す整数である。ＰＬＬ１７０は、基準信号として回復クロックを受信し、シリアルクロック信号の周波数が回復クロック信号の周波数のＭ倍であるシリアル出力クロック信号を出力する。ＰＦＤ１７２は、それが受信する両方のクロック信号（受信クロック信号および分周器１７６の出力）が、必要に応じＶＣＯ１７４にその出力の周波数を増加または減少させることによって、同じ周波数を有すること、および互いに同位相であることを確実にする。図１に示される例示において、ＭはＮに等しく、従って、シリアル出力クロック信号は、回復クロック信号の周波数のＮ倍である周波数を有する。換言すると、シリアル出力信号は、シリアル入力クロック周波数に等しい周波数を有する。Ｎ分周器である分周器１６６は、シリアル出力クロック信号をＮで割り、送信器パラレルクロック信号を生成する。従って、送信器パラレルクロック信号は、回復クロック信号と同じ周波数を有する。
【００１０】
下記の表１は、Ｎが１０に等しい場合において、システム１００などのシステムのためのシリアルデータ転送速度と待ち時間不確実性との関係を例示する。
【００１１】
【表１】
2009153132.tif 000002
表１において、６１４Ｍｂｐｓ（メガビット／秒）、１２２８Ｍｂｐｓ、および２４５６Ｍｂｐｓのシリアルデータ転送速度が、例示として選ばれている。表１において理解され得るように、システム１００は、直並列変換器／ワードアライナの両方の待ち時間不確実性（これは本明細書においてワードアライナ待ち時間不確実性と呼ばれ得る）と、受信器／送信器転送待ち時間不確実性（これは本明細書において受信器から送信器への転送待ち時間不確実性と呼ばれ得る）と、ワードアライナな待ち時間不確実性と転送待ち時間不確実性との合計である総待ち時間不確実性とを伴う。
【００１２】
特定のプロトコルは、ナノ秒のオーダーであるビットレベル待ち時間不確実性を要求する。そのようなプロトコルの１つは、シリアルリンク全体に対して１６．３ｎｓの最大ビットレベル待ち時間不確実性を要求するＣｏｍｍｏｎ  Ｐｕｂｌｉｃ  Ｒａｄｉｏ  Ｉｎｔｅｒｆａｃｅ（ＣＰＲＩ）プロトコルである。従って、一部の場合において、システムの待ち時間不確実性を減少させることが望ましい。
【発明の開示】
【課題を解決するための手段】
【００１３】
（概要）
本発明は、受信器から送信器への転送待ち時間不確実性とワードアライナ待ち時間不確実性との両方を除去することを可能にする。本発明はまた、これらの２つの不確実性のうちの一方を除去するが他方は除去しないことを可能にする。
【００１４】
一実施形態において、本発明は、トランシーバシステムであって、その受信器から送信器への転送待ち時間不確実性が０であるトランシーバシステムを含む。別の実施形態において、本発明は、トランシーバシステムであって、そのワードアライナ待ち時間不確実性が０であるトランシーバシステムを含む。なおも別の実施形態において、本発明は、トランシーバシステムであって、その受信器から送信器への転送待ち時間不確実性とそのワードアライナ待ち時間不確実性が両方とも０であるトランシーバシステムを含む。
【００１５】
一実施形態において、受信器から送信器への転送待ち時間不確実性は、送信器ＰＬＬにおいてフィードバック信号として送信器パラレルクロックを用いることによって除去される。一インプリメンテーションにおいて、これは、オプションで、送信器ＰＬＬのフィードバック経路の一部である送信器パラレルクロックを生成する送信器分周器を作ることによって達成される。
【００１６】
一実施形態において、ワードアライナ待ち時間不確実性は、ワード整列およびビットスリップに起因する全遅延が回復クロックのすべての位相に対して一定であるような方法で、ビットをスリップさせるビットスリッパを用いることによって除去される。このことは、直並列変換器によるすべての位相の並列化に対するビットの受信と送信との間において一定かつ既知の待ち時間を有するようにすることを可能にする。一特定のインプリメンテーションにおいて、ワードアライナによるビットシフトおよびビットスリッパによるビットスリップに起因する全遅延は０である。なぜなら、ビットスリッパは、ワードアライナによって実行されたビットシフトを補償するようにビットをスリップさせるからである。
【００１７】
本発明の新規の特徴は、添付の特許請求の範囲に述べられる。しかしながら、説明の目的のために、本発明の特定の実施形態のいくつかの局面は、以下の図面を参照して説明される。
【００１８】
本発明は、さらに以下の手段を提供する。
【００１９】
（項目１）
トランシーバシステムであって、
ワードアライナを備え、
該トランシーバシステムは、０のワードアライナ待ち時間不確実性を有する、トランシ−バシステム。
【００２０】
（項目２）
上記ワードアライナに結合されるビットスリッパをさらに備えている、項目１に記載のトランシーバシステム。
【００２１】
（項目３）
上記ワードアライナによるワード整列および上記ビットスリッパによるビットスリップに起因する全遅延が回復クロックのすべての位相に対して一定であるように、該ビットスリッパはビットをスリップさせる、項目２に記載のトランシーバシステム。
【００２２】
（項目４）
上記ワードアライナによるビットシフトおよび上記ビットスリッパによるビットスリップに起因する全遅延が回復クロックのすべての位相に対して０であるように、該ワードアライナによって実行されたビットシフトを補償するために、該ビットスリッパはビットをスリップさせる、項目３に記載のトランシーバシステム。
【００２３】
（項目５）
上記トランシーバシステムは、０の受信器から送信器への転送待ち時間不確実性を有する、項目２に記載のトランシーバシステム。
【００２４】
（項目６）
第１のフィードバック経路および第２のフィードバック経路を含む送信器フェーズロックループ（ＰＬＬ）をさらに備えている、項目２に記載のトランシーバシステム。
【００２５】
（項目７）
上記送信器ＰＬＬは、位相周波数検出器に結合されたマルチプレクサを含み、該マルチプレクサは、第１の分周器からの第１のクロック信号と第２の分周器からの第２のクロック信号との間を選択し、該位相周波数検出器に提供する、項目６に記載のトランシーバシステム。
【００２６】
（項目８）
上記第１のフィードバック経路は上記第１の分周器を含み、上記第２のフィードバック経路は上記第２の分周器を含み、さらに該第１の分周器は送信器分周器である、項目７に記載のトランシーバシステム。
【００２７】
（項目９）
上記位相周波数検出器は、回復クロック信号の遅延したバージョンである基準クロック信号を受信する、項目８に記載のトランシーバシステム。
【００２８】
（項目１０）
上記ワードアライナおよび上記ビットスリッパに結合されたユーザ論理をさらに備えている、項目２に記載のトランシーバシステム。
【００２９】
（項目１１）
上記ワードアライナおよび上記ユーザ論理に結合された第１のＩＰブロックであって、
該第１のＩＰブロックは、該ワードアライナから受信されたワードを該ユーザ論理による処理のための別のフォーマットに変換する、第１のＩＰブロックと、
該ユーザ論理および該ビットスリッパに結合された第２のＩＰブロックであって、該第２のＩＰブロックは、該ユーザ論理によって出力されたワードを該ビットスリッパによる処理のためのフォーマットに変換する、第２のＩＰブロックと
をさらに備えている、項目１０に記載のトランシーバシステム。
【００３０】
（項目１２）
項目１に記載のトランシーバシステムを含むプログラム可能論理デバイス。
【００３１】
（項目１３）
項目１に記載のトランシーバシステムを含むプログラム可能論理デバイスを備えているデジタルシステム。
【００３２】
（項目１４）
データを送受信する方法であって、該方法は、
所望のワード境界にワードを整列させることを包含し、
該送受信することは、０のワードアライナ待ち時間不確実性を有する、方法。
【００３３】
（項目１５）
上記ワードのビットをスリップさせることをさらに包含し、上記整列させることおよび該スリップさせることに起因する全遅延は回復クロックのすべての位相に対して一定である、項目１４に記載の方法。
【００３４】
（項目１６）
上記整列させることによってビットシフトを補償するために上記ワードのビットをスリップさせることをさらに包含し、該整列させることおよび該スリップさせることに起因する全遅延は回復クロックのすべての位相に対して０である、項目１４の方法。
【００３５】
（項目１７）
送信器フェーズロックループ（ＰＬＬ）の第１のフィードバック経路にある第１の分周器からの第１のクロック信号と該送信器ＰＬＬの第２のフィードバック経路にある第２の分周器からの第２のクロック信号との間を選択し、該送信器ＰＬＬの位相周波数検出器に提供することと、
該位相周波数検出器に回復クロック信号の遅延したバージョンである基準クロック信号を提供することと
をさらに包含する、項目１５に記載の方法。
【００３６】
（項目１８）
ワードアライナから受信されたワードをユーザ論理によって処理するための別のフォーマットに変換するために、復号化インテレクチュアルプロパティ（ＩＰ）ブロックを用いることと、
該ユーザ論理によって出力されたワードを上記ビットスリッパによって処理するためのフォーマットに変換するために、符号化ＩＰブロックを用いることと
をさらに包含する、項目１７に記載の方法。
【００３７】
（項目１９）
トランシーバシステムであって、
シリアルデータをパラレルデータに変換する直並列変換器を含む受信器であって、該受信器は回復クロック信号をさらに提供する、受信器と、
該受信器に結合されたワードアライナであって、該ワードアライナは、該パラレルデータ内のパラレルワードを所望のワード境界に整列させる、ワードアライナと、
該ワードアライナに結合されたユーザ論理と、
該ユーザ論理および該ワードアライナに結合されたビットスリッパであって、該ビットスリッパは、該ワードアライナからワード整列に関する情報を受信し、さらに、該ワードアライナによるワード整列および該ビットスリッパによるビットスリップに起因する全遅延が回復クロックのすべての位相に対して一定であるような方法で、該ビットスリッパはビットをスリップさせる、ビットスリッパと、
該ビットスリッパに結合された送信器であって、該送信器は、
該パラレルデータをシリアルデータに変換する並直列変換器と、
第１の分周器を有する第１のフィードバック経路と、第２の分周器を有する第２のフィードバック経路と、位相周波数検出器と、該第１のフィードバック経路、該第２のフィードバック経路、および該位相周波数検出器に結合されたマルチプレクサとを含む、送信器フェーズロックループ（ＰＬＬ）であって、該第１の分周器は送信器分周器であり、該位相周波数検出器は回復クロック信号の遅延したバージョンである基準クロック信号を受信し、該マルチプレクサは、該第１の分周器からの第１のクロック信号と該第２の分周器からの第２のクロック信号との間を選択し、該位相周波数検出器に提供する、送信器フェーズロックループ（ＰＬＬ）と
を備えている、送信器と
を備えており、
該トランシーバシステムは、０のワードアライナ待ち時間不確実性および０の受信器から送信器への転送待ち時間不確実性を有する、トランシーバシステム。
【００３８】
（項目２０）
上記ビットスリッパは、第１の複数のレジスタと、該第１の複数のレジスタに結合された第２の複数のレジスタと、該第１の複数のレジスタおよび該第２の複数のレジスタに結合された複数のマルチプレクサとを含み、該複数のマルチプレクサの各々のマルチプレクサは、該第１の複数のレジスタうちの１つ以上のレジスタ、該第２の複数のレジスタのうちの１つ以上のレジスタ、または該第１の複数のレジスタおよび該第２の複数のレジスタの両方のうちの１つ以上のレジスタに結合される、項目１９に記載のトランシーバシステム。
【００３９】
（項目２１）
上記ワードアライナおよび上記ユーザ論理に結合された第１のＩＰブロックであって、該第１のＩＰブロックは、該ワードアライナから受信されたワードを該ユーザ論理による処理のための別のフォーマットに変換する、第１のＩＰブロックと、
該ユーザ論理および上記ビットスリッパに結合された第２のＩＰブロックであって、該第２のＩＰブロックは、該ユーザ論理によって出力されたワードを該ビットスリッパによる処理のためのフォーマットに変換する、第２のＩＰブロックと
をさらに備えている、項目１９に記載のトランシーバシステム。
【００４０】
（項目２２）
項目１９に記載のトランシーバシステムを含むプログラム可能論理デバイス。
【００４１】
（項目２３）
項目１９に記載のトランシーバシステムを含むプログラム可能論理デバイスを備えているデジタルシステム。
【００４２】
（項目２４）
トランシーバシステムであって、
第１の分周器および位相周波数検出器を含むフェーズロックループ（ＰＬＬ）を備えている送信器であって、該第１の分周器は第１のパラレルクロック信号を該位相周波数検出器および該送信器のレジスタに供給する、送信器を備えている、トランシーバシステム。
【００４３】
（項目２５）
上記トランシーバシステムは、０の受信器から送信器への転送待ち時間不確実性を有する、項目２４に記載のトランシーバシステム。
【００４４】
（項目２６）
上記ＰＬＬは、第１のフィードバック経路と、第２のフィードバック経路と、該第１のフィードバック経路および該第２のフィードバック経路ならびに上記位相周波数検出器に結合されたマルチプレクサとを含み、該マルチプレクサは、上記第１の分周器からの上記第１のクロック信号と第２の分周器からの第２のクロック信号との間を選択し、該位相周波数検出器に提供する、項目２５に記載のトランシーバシステム。
【００４５】
（項目２７）
上記第１のフィードバック経路は上記第１の分周器を含み、上記第２のフィードバック経路は上記第２の分周器を含み、さらに、該第１の分周器は送信器分周器である、項目２６に記載のトランシーバシステム。
【００４６】
（項目２８）
上記位相周波数検出器は、回復クロック信号の遅延したバージョンである基準クロック信号を受信する、項目２７に記載のトランシーバシステム。
【００４７】
（項目２９）
ワードアライナからのワード整列に関する情報を受信するビットスリッパをさらに備えている、項目２８に記載のトランシーバシステム。
【００４８】
（項目３０）
上記ビットスリッパに結合されたＩＰブロックをさらに備え、該ＩＰブロックは、該ビットスリッパによる処理のためのフォーマットにワードを変換する、項目２９に記載のトランシーバシステム。
【００４９】
（項目３１）
項目２４に記載のトランシーバシステムを含むプログラム可能論理デバイス。
【００５０】
（項目３２）
項目２４に記載のトランシーバシステムを含むプログラム可能論理デバイスを備えているデジタルシステム。
【００５１】
（項目３３）
データを送受信する方法であって、該方法は、
第１のパラレルクロック信号を送信器フェーズロックループ（ＰＬＬ）の第１の分周器から該送信器ＰＬＬの位相周波数検出器および該送信器ＰＬＬを含む送信器のレジスタに提供することを包含する、方法。
【００５２】
（項目３４）
上記送受信することは、０の受信器から送信器への転送待ち時間不確実性を有する、項目３３に記載の方法。
【００５３】
（項目３５）
上記送信器ＰＬＬの上記第１の分周器からの上記第１のパラレルクロック信号と、該送信器ＰＬＬの第２の分周器からの第２のパラレルクロック信号との間を選択し、該送信器ＰＬＬの上記位相周波数検出器に提供することと、
回復クロック信号の遅延したバージョンである基準クロック信号を該位相周波数検出器に提供することと
をさらに包含し、
該第１の分周器は該送信器ＰＬＬの第１のフィードバック経路上にあり、該第２の分周器は該送信器ＰＬＬの第２のフィードバック経路上にある、項目３４に記載の方法。
【００５４】
（項目３６）
ビットスリッパによって処理するためのフォーマットにワードを変換するためにインテレクチュアルプロパティ（ＩＰ）を用いることをさらに包含する、項目３５に記載の方法。
【００５５】
（項目３７）
ワードを所望のワード境界に整列させることをさらに包含する方法であって、該方法は、０のワードアライナ待ち時間不確実性を有する、項目３５に記載の方法。
【００５６】
（項目３８）
上記ワードのビットをスリップさせることをさらに包含し、上記整列させることおよび該スリップさせることに起因する全遅延は、上記回復クロック信号のすべての位相に対して一定である、項目３７に記載の方法。
【００５７】
（摘要）
待ち時間不確実性の減少したトランシーバシステムが説明される。一実施形態において、本発明は、トランシーバシステムは、０のワードアライナ待ち時間不確実性を有する。別の実施形態において、トランシーバシステムは、０の受信器から送信器への転送待ち時間不確実性を有する。さらに別の実施形態において、トランシーバシステムは、０のワードアライナ待ち時間不確実性および０の受信器から送信器への転送待ち時間不確実性を有する。一特定のインプリメンテーションにおいて、受信器から送信器への転送待ち時間不確実性は、送信器フェーズロックループ（ＰＬＬ）においてフィードバック信号として送信器パラレルクロックを用いることによって除去される。一インプリメンテーションにおいて、これは、オプションで、送信器ＰＬＬのフィードバック経路の一部である送信器パラレルクロックを生成する送信器分周器を作ることによって達成される。一実施形態において、ワードアライナ待ち時間不確実性は、ワード整列およびビットスリップに起因する全遅延が回復クロックのすべての位相に対して一定であるような方法で、ビットをスリップさせるビットスリッパを用いることによって除去される。このことは、直並列変換器によるすべての位相の並列化に対するビットの受信と送信との間において一定かつ既知の待ち時間を有するようにすることを可能にする。一特定のインプリメンテーションにおいて、ワードアライナによるビットシフトおよびビットスリッパによるビットスリップに起因する全遅延は０である。なぜなら、ビットスリッパは、ワードアライナによって実行されたビットシフトを補償するようにビットをスリップさせるからである。
【発明を実施するための最良の形態】
【００５８】
（詳細な説明）
以下の説明は、当業者が本発明を作製および使用することを可能にするために提示され、特定の用途およびそれらの要件に関連して提供される。例示的な実施形態に対する様々な修正は、当業者にとって容易に明らかであり、本明細書において定義される一般的な原理は、本発明の精神および範囲から逸脱することなく、他の実施形態および用途に適用され得る。従って本発明は、示される実施形態に限定されることは意図されないで、本明細書に開示される原理および特徴に矛盾しない最も広い範囲に一致する。
【００５９】
図３は、本発明のシステムの実施形態のブロック図である。図３において、システム３００は、受信器３１０と、ワードアライナ３２０と、ユーザ論理３３０と、ビットスリッパ３４０と、送信器３６０とを含む。システム３００は、ＰＬＤ、またはユーザ論理と、受信器と、送信器とを含む任意の他の回路もしくはデバイスであり得る。システム３００の一実施形態において、ワードアライナ３２０と、ユーザ論理３３０と、ビットスリッパ３４０とは、ＰＬＤコアの一部である。一実施形態において、システム３００は、単一レーントランシーバシステムである。
【００６０】
受信器３１０は、入力Ｉ／Ｆ３１１と、ＣＤＲユニット３１２と、直並列変換器３１３と、分周器３１６とを含む。直並列変換器３１３は、シリアルデータをパラレルデータに変換し、シリアルクロックによって動作するシリアルレジスタ３１４とパラレルクロックによって動作するパラレルレジスタ３１５とを含み、該パラレルクロックは、本明細書において回復クロックまたは受信器パラレルクロックとも呼ばれ得る。ＣＤＲユニット３１２は、入力データを受信し、そのデータからシリアル入力クロックを回復する。ＣＤＲユニット３１２は、入力データを直並列変換器３１３に提供し、シリアル入力クロックを直並列変換器３１３および分周器３１６の両方に提供する。分周器３１６は、シリアル入力クロックをＮで割るＮ分周器であり、受信器パラレルクロックを提供する。一例においてＮは、１０に等しいが、１より大きい任意の整数に等しくなり得る。受信器３１０は、Ｎビット長パラレルデータおよび回復クロックを出力する。
【００６１】
ワードアライナ３２０は受信器３１０からパラレルワードを受信し、パラレルワードを所望のワード境界に整列させる。ワードアライナ３２０はまた、回復クロックを受信する。ワードアライナ３２０は、図１に示されるワードアライナ１２０に類似しており、ワードアライアナ１２０に類似の方法で動作し、それが受信するワードを整列させ、その結果ワードは、ユーザ論理３３０によって予期されるワード境界に整列される。図３の例示において、ワードアライナは、ＰＬＤのプログラム可能論理ファブリックにおいてインプリメントされる。ワードアライナ１２０に関係して説明されるように、ワード整列の処理は、ワードアライナの待ち時間不確実性を導入し、該待ち時間不確実性は、Ｎ−１ビット期間までのビットレベル不確実性であり、ここでＮは非直列化因子である。
【００６２】
一実施形態において、図３に示されるように、ワードアライナ３２０は、信号３２１をビットスリッパ３４０に提供する。このことは、より詳細に下記に説明される。
【００６３】
ユーザ論理３３０は、ワードアライナ３２０から整列されたワードを受信し、受信器３１０から回復クロックを受信する。ユーザ論理３３０は、整列されたワードを処理し、処理されたデータをビットスリッパに提供し、ビットスリッパ３４０はまた、受信器３１０から回復クロックを受信する。システム３００において、ユーザ論理３３０は、パラレルワードの主要な処理が行なわれる場所であることに注意されるべきである。
【００６４】
ビットスリッパ３４０は、Ｎビットスリッパであり、該Ｎビットスリッパは、Ｎビットのパラレルワードを受信し、これらのワードのビットをＮビットまでスリップさせ、Ｎビットのパラレルワードを出力する。ビットスリッパ３４０は、ワードアライナ３２０から信号３２１を受信する。図３において理解されるように、信号３２１は、ユーザ論理３３０をバイパスする。一実施形態において、信号３２１はＢを表し、ここでＢは、０より大きいかまたは０に等しい整数であり、ビット数によってワードアライナ３２０がパラレルデータにおけるビットをシフトし、所望のワード境界を達成する該ビット数を示す。別の実施形態において、信号３２１はＮ−１−Ｂを表し、ここでＮおよびＢは上記に定義されるとおりである。ビットスリッパ３４０は、その入力データにおけるビットをシフトし、その結果、ワードアライナおよびビットスリッパによって引き起こされる全ビットシフトは、回復クロックのすべての位相に対して一定である。一実施形態において、ビットスリッパ３４０は、その入力データにおけるビットを効果的にシフトし、ワードアライナ３２０によって引き起こされるビットシフトを補償し、このことは、ワードアライナおよびビットスリッパによる全ビットシフトが回復クロックのすべての位相に対して０になるようにする。ビットスリッパ３４０によって引き起こされるビットスリップの結果、他の待ち時間不確実性がない（例えば、受信器から送信器への待ち時間不確実性がない）と仮定すると、出力シリアルストリームにおける各ビットは、直並列変換器のすべての位相すなわち回復クロックのすべての位相に対して、入力ストリームにおける対応するビットに関して一定かつ既知のタイミング関係を有する。換言すると、入力シリアルデータストリームと出力シリアルストリームとの間に、一定かつ既知のビットレベル待ち時間がある。他の待ち時間不確実性（例えば、ワイヤ待ち時間不確実性）は重要ではなく、従って無視されることが仮定される。ビットスリッパ３４０およびその機能のより詳細な説明は、図４および図５に関係して下記に提供される。
【００６５】
ビットスリッパ３４０を使用することにより、ワードアライナの待ち時間不確実性を除去することが可能になる。既知のワードアライナの待ち時間はまた、決定性ワードアライナ待ち時間（ｄｅｔｅｒｍｉｎｉｓｔｉｃ  ｗｏｒｄ  ａｌｉｇｎｅｒ  ｌａｔｅｎｃｙ）と呼ばれ得る。別の実施形態において、システム３００は、ビットスリッパ３４０を含まないように修正され得る。そのような実施形態において、ワードアライナは信号３２１を送信しない。ビットスリッパを使用しなくても、システム３００が下記に説明されるように待ち時間不確実性を減少させることは注意されるべきである。
【００６６】
送信器３６０は、出力Ｉ／Ｆ３６１と、パラレルデータをシリアルデータに変換する並直列変換器３６３と、分周器３６６（これは本明細書において送信器分周器３６６と呼ばれ得る）と、ＰＬＬ３７０（これは本明細書において送信器ＰＬＬ３７０と呼ばれ得る）とを含む。並直列変換器３６３は、シリアル出力クロック上で動作するシリアルレジスタ３６４とパラレル出力クロック上で動作するパラレルレジスタ３６５とを含み、該パラレル出力クロックは、本明細書において送信パラレルクロックとも呼ばれ得る。分周器３６６は、シリアル出力クロックをＮで割るＮ分周器であり、パラレル出力クロックを提供し、ここでＮは、上記に定義されるとおりである。
【００６７】
ＰＬＬ３７０は、図３に示されるように接続される、ＰＦＤ３７２と、ＶＣＯ３７４と、分周器３７６と、マルチプレクサ３７８とを含む。一実施形態において、分周器３７６はＭ分周器であり、ここでＭは、上記に定義されるとおりである。マルチプレクサ３７８は、分周器３６６の出力および分周器３７６の出力を受信し、それらのうちの１つを選択しＰＦＤ３７２に提供する２対１（２−ｔｏ−１）マルチプレクサである。上記の説明において、ＰＬＬ３７０は、マルチプレクサ３７８を含むように定義される。あるいはＰＬＬ３７０は、ＰＦＤ３７２、ＶＣＯ３７４、および分周器３７６を含むが、マルチプレクサ３７８を含まないように定義され得る。そのような場合において、マルチプレクサ３７８は、ＰＬＬ３７０に含まれるよりはむしろ、ＰＬＬ３７０に接続されることが考慮される。
【００６８】
ＰＬＬ３７０、より詳細にはＰＬＬ３７０のＰＦＤ３７２は、基準信号として回復クロックの遅延したバージョン（ｄｅｌａｙｅｄ  ｖｅｒｓｉｏｎ）を受信する。ＰＦＤ３７２はまた、マルチプレクサ３７８の出力を受信し、該出力を基準信号に対して比較する。システム３００が決定性待ち時間モードで動作するとき、より詳細には、それが受信器から送信器への転送待ち時間不確実性を除去するように動作するとき、マルチプレクサ３７８は、それが分周器３６６から受信する入力をＰＦＤ３７２に提供するための出力として選択する。そのような場合において、ＰＬＬのためのフィードバック経路は、分周器３６６およびマルチプレクサ３７８を経由するＶＣＯ３７４からＰＦＤ３７２までであり、該フィードバック経路は、本明細書において新フィードバック経路（ｎｅｗ  ｆｅｅｄｂａｃｋ  ｐａｔｈ）と呼ばれ得る。
【００６９】
下記により詳細に説明されるように、この新フィードバック経路を使用することにより、受信器から送信器への転送待ち時間不確実性を除去すること、および図１のシステム１００において用いられるような位相クロッシングＦＩＦＯの使用を回避することが可能になる。換言すると、オプションで、送信器分周器である分周器３６６を送信器ＰＬＬ３７０のフィードバックループの一部にすることによって、受信器から送信器への転送待ち時間不確実性は完全に除去され、位相クロッシングＦＩＦＯの必要なく、データは、ユーザ論理３３０およびビットスリッパ３４０から送信器３６０、より詳細には、並直列変換器３６３に転送され得る。
【００７０】
新フィードバック経路を用いるとき、ＰＬＬ３７０は、基準クロックによって送信器パラレルクロックの遅延したバージョンをロックする。上記のように、送信器パラレルクロックは、並直列変換器３６３、より詳細には、並直列変換器３６３のパラレルレジスタ３６４において用いられるパラレルクロックである。図３に示されるように、並直列変換器３６３へのパラレルクロック入力とノード３６７におけるクロック信号との間の遅延はＴ２であり、一方、ノード３６７におけるクロック信号と回復クロックがＰＦＤ３７２によって比較される信号との間の遅延はＴ１である。従って、並直列変換器３６３へのパラレルクロック入力（すなわち、送信器パラレルクロック）と基準信号がＰＦＤ３７２によって比較される信号との間の全遅延は、Ｔ１＋Ｔ２である。上記のように、基準信号は、回復クロック信号の遅延したバージョンである。図３において理解され得るように、基準信号は、ビットスリッパ３４０への回復クロック信号入力に対してＴ３の遅延と、ユーザ論理３３０への回復クロック信号入力に対してＴ４の遅延とを有する。ＰＬＬ３７０がマルチプレクサ３７８（これは、新フィードバック経路が用いられるとき、並直列変換器３６３、すなわち送信器パラレルクロックへのパラレルクロック入力に対してＴ１＋Ｔ２の遅延を有する）から受信された信号によって基準信号（これは回復クロックに対して既知の遅延を有する）をロックすると、基準信号は、送信器パラレルクロックに対してＴ１＋Ｔ２だけ遅延する。さらに、基準信号と種々の構成要素において用いられる回復クロックの遅延したバージョンとの間の遅延も既知である。従って、送信器パラレルクロックと回復クロックとの間の遅延は、これらのクロック信号を受信する構成要素にとって既知である。例えば、図３の例示において、ビットスリッパ３４０への回復クロック入力と並直列変換器３６３への送信器パラレルクロック入力との間の遅延（すなわち、クロックスキュー）は、Ｔ３−（Ｔ１＋Ｔ２）である。受信器および送信器において用いられるパラレルクロック間の待ち時間ならびに受信器と送信器との間の構成要素（例えば、ビットスリッパ３４０）は既知であるので、受信器から送信器への待ち時間は不確実性ではない。受信器から送信器への転送待ち時間は既知であるので、決定性の、受信器から送信器への転送待ち時間がある。換言すると、受信器から送信器への転送待ち時間不確実性は０である。システム３００において、この待ち時間はビットレベル待ち時間である。
【００７１】
システム３００が受信器から送信器への転送待ち時間不確実性を除去するように動作しないとき、マルチプレクサ３７８は、それが分周器３７６から受信する入力をＰＦＤ３７２に提供するための出力として選択する。そのような場合において、ＰＬＬのためのフィードバック経路は、分周器３７６およびマルチプレクサ３７８を経由するＶＣＯ３７４からＰＦＤ３７２までであり、該フィードバック経路は、本明細書において旧フィードバック経路（ｏｌｄ  ｆｅｅｄｂａｃｋ  ｐａｔｈ）と呼ばれ得る。これは、図１におけるＰＬＬ１７０のフィードバック経路と実質的に同じフィードバック経路である。図３に示されていないが、旧フィードバック経路を用いるとき、回復クロック以外の基準クロックがＰＬＬ３７０において用いられ得る。
【００７２】
本発明の一実施形態において、ワードアライナ待ち時間不確実性を除去するためにビットスリッパを用いるとき、受信器から送信器への転送不確実性を除去しないように選び得る。そのような場合、新フィードバック経路は用いられない。代わりに旧フィードバックループが用いられ、この場合、位相クロッシングＦＩＦＯが、受信器パラレルクロックから送信器パラレルクロックへの転送を可能にするために用いられ得る。
【００７３】
本発明の別の実施形態において、受信器から送信器への転送待ち時間不確実性を除去するために新フィードバック経路を用いるとき、ワードアライナ待ち時間不確実性を除去しないように選び得る。そのような場合、ビットスリッパは用いられない。
【００７４】
受信器から送信器への待ち時間およびワードアライナ待ち時間の両方が既知である、システム３００などのシステムは、決定性待ち時間を有するシステムと呼ばれ得る。システム３００の場合、既知の待ち時間は既知のビットレベル待ち時間であり、従って、システム３００は決定性ビットレベル待ち時間を有するシステムである。さらに、一実施形態において、システム３００は、高速シリアルトランシーバＰＬＤであり、従って、そのような実施形態において、システム３００は、高速シリアルトランシーバＰＬＤによる決定性ビットレベル待ち時間を有するシステムである。システム３００における待ち時間は既知であるので、システム３００は０の待ち時間不確実性を有する。また、システム３００における問題の待ち時間はビットレベル待ち時間であるので、システム３００は０ビットレベル待ち時間不確実性を有する。
【００７５】
図４は、本発明において用いられ得るビットスリッパの一実施形態を例示する。図４において、ビットスリッパ４００は、マルチプレクサ４１０、４１１、４１２、および４１３と、レジスタ４３０と、レジスタ４４０とを含む。レジスタ４４０は、ビットＲ０、Ｒ１、Ｒ２、およびＲ３を含むワード４４１を受信し、ワード４４１を１クロックサイクルだけ遅延させ、ビットＰ４、Ｐ５、Ｐ６、およびＰ７を含むワード４２０を出力する。レジスタ４３０は、ワード４２０を遅延させ、ビットＰ０、Ｐ１、Ｐ２、およびＰ３を含むワード４２１を出力する。従って、ワード４２１が現在サイクルで受信されると仮定すると、ワード４２０は現在サイクルより１サイクル前に受信され、ワード４４１は現在サイクルより２サイクル前に受信される。
【００７６】
マルチプレクサ４１０〜４１３は、示されるようにワード４２０および４２１のビットを受信する。マルチプレクサ４１０〜４１３の各々は、４対１マルチプレクサであり、上記されるように、ワード４２０および４２１の各々は、４ビットのワードである。マルチプレクサ４１０〜４１３は、４ビットのワードを集合的に出力し、マルチプレクサ４１０は４ビットワードの最上位のビット（ＭＳＢ）を出力し、マルチプレクサ４１３は４ビットワードの最下位のビット（ＬＳＢ）を出力する。
【００７７】
一実施形態において、マルチプレクサ４１０〜４１３のすべては、同じ選択信号を受信する。そのような一実施形態において、選択信号が０に等しいとき、マルチプレクサ４１０〜４１３はそれぞれ、ビットＰ７、Ｐ６、Ｐ５、およびＰ４を選択して出力し、選択信号が１に等しいとき、マルチプレクサ４１０〜４１３はそれぞれ、ビットＰ６、Ｐ５、Ｐ４、およびＰ３を選択して出力し、選択信号が２に等しいとき、マルチプレクサ４１０〜４１３はそれぞれ、ビットＰ５、Ｐ４、Ｐ３、およびＰ２を選択して出力し、選択信号が３に等しいとき、マルチプレクサ４１０〜４１３はそれぞれ、ビットＰ４、Ｐ３、Ｐ２、およびＰ１を選択して出力する。従って、選択信号が０に等しいとき、ビットスリップはなく、選択信号が１のとき、１ビットのビットスリップがあり、選択信号が２のとき、２ビットのビットスリップがあり、選択信号が３のとき、３ビットのビットスリップがある。この実施形態において、選択信号の値はＮ−１−Ｂに等しく、ここでＮおよびＢは、上記に定義されるとおりであり、Ｎは４ビットのビットスリッパに対して４に等しい。Ｂの値は、パラレルワードを作るために直並列変換器において、どの位相が用いられたかに依存する。上記の実施形態において、４ビットワードに関して、位相０〜３に対してＢの値はそれぞれ、０〜３である。またこの実施形態において、信号３２１（図３に示される）は、Ｎ−１−Ｂに等しく、ビットスリッパ４００によって制御信号として用いられる。上記の実施形態において、ビットスリッパは、Ｎ−１−Ｂだけビットを実質的に時間的に遅延させ、すなわち、ビットスリッパは、ビットがＮ−１−Ｂビットだけ時間的に後に出力されるようにする。本明細書において用いられる場合、ビットを時間的に遅延させることは、ビットが最初に時間Ｔにおいて出力された場合、時間的に遅延して、ビットはより遅れた時間Ｔ＋ＴＤにおいて起り、ここで、ＴＤは、ビットが時間的に遅延された時間量を表す。ビットがワードアライナによってＢビットだけ時間的に遅延されたことは注意されるべきである。従って、ワードアライナおよびビットスリッパに起因する時間的な全遅延は、上記２つの遅延の合計、すなわち、Ｎ−１に等しい。全遅延Ｎ−１が位相に無関係なので、Ｎ−１ビットの全遅延が、直並列変換器によってシリアルデータをパラレルデータに変換するすべての位相に対して、ワードアライナおよびビットスリッパによって達成されることは注意されるべきである。
【００７８】
図５は、本発明において用いられ得るビットスリッパの別の実施形態を例示する。図５において、ビットスリッパ５００は、マルチプレクサ５１０、５１１、５１２、および５１３と、レジスタ５３０と、レジスタ５４０とを含む。レジスタ５４０は、ビットＲ０、Ｒ１、Ｒ２、およびＲ３を含むワード５４１を受信し、ワード５４１を１クロックサイクルだけ遅延させ、ビットＰ４、Ｐ５、Ｐ６、およびＰ７を含むワード５２０を出力する。レジスタ５３０は、ワード５２０を遅延させ、ビットＰ０、Ｐ１、Ｐ２、およびＰ３を含むワード５２１を出力する。従って、ワード５２１が現在サイクルで受信されると仮定すると、ワード５２０は現在のサイクルより１サイクル前に受信され、ワード５４１は現在のサイクルより２サイクル前に受信される。
【００７９】
マルチプレクサ５１０〜５１３は、示されるようにワード５２０および５２１のビットを受信する。マルチプレクサ５１０〜５１３の各々は、４対１マルチプレクサであり、上記に指示されるように、ワード５２０および５２１の各々は、４ビットのワードである。マルチプレクサ５１０〜５１３は、４ビットのワードを集合的に出力し、マルチプレクサ５１０は４ビットのワードの最上位のビット（ＭＳＢ）を出力し、マルチプレクサ５１３は４ビットのワードの最下位のビット（ＬＳＢ）を出力する。
【００８０】
一実施形態において、マルチプレクサ５１０〜５１３のすべては、同じ選択信号を受信する。そのような一実施形態において、選択信号が０に等しいとき、マルチプレクサ５１０〜５１３はそれぞれ、ビットＰ３、Ｐ２、Ｐ１、およびＰ０を選択して出力し、選択信号が１に等しいとき、マルチプレクサ５１０〜５１３はそれぞれ、ビットＰ４、Ｐ３、Ｐ２、およびＰ１を選択して出力し、選択信号が２に等しいとき、マルチプレクサ５１０〜５１３はそれぞれ、ビットＰ５、Ｐ４、Ｐ３、およびＰ２を選択して出力し、選択信号が３に等しいとき、マルチプレクサ５１０〜５１３はそれぞれ、ビットＰ６、Ｐ５、Ｐ４、およびＰ３を選択して出力する。従って、選択信号が０に等しいとき、０ビットのビットスリップがあり、選択信号が１のとき、１ビットのビットスリップがあり、選択信号が２のとき、２ビットのビットスリップがあり、選択信号が３のとき、３ビットのビットスリップがある。上記の実施形態において、選択信号の値は、ワードがワードアライナによってシフトされたビット数に等しい。ワードアライナによってビットスリッパに送られる信号３２１（図３に示される）は、この情報を指示する。上記の実施形態において、信号３２１は、ワードアライナがワードのビットをシフトし所望のワード境界を達成するビット数であるＢに等しく、ビットスリッパ５００によって制御信号として用いられる。Ｂの値は、パラレルワードを作るために直並列変換器において、どの位相が用いられたかに依存する。このビットスリッパの実施形態において、４ビットのワードに関して、位相０〜３に対して、Ｂの値はそれぞれ、０〜３である。上記の実施形態において、ビットスリッパは、Ｂビットだけビットを実質的に時間的に後方にシフトする、すなわち、ビットスリッパは、ビットがＢビットだけ時間的に前に出力させる。本明細書において用いられる場合、ビットを時間的に後方にシフトすることは、ビットが最初に時間Ｔにおいて出力された場合、後方へのシフトによって、ビットはより早い時間Ｔ−ＴＢにおいて起り、ここでＴＢは、ビットが時間的に後方にシフトされた時間量を表す、ことを意味する。ビットがワードアライナによってＢビットだけ実質的に時間的に遅延されたことは注意されるべきである。従って、ワードアライナおよびビットスリッパに起因する時間的な全遅延は、回復クロックのすべての位相に対して０に等しい。全遅延がこれらの位相に無関係なので、０ビットの全遅延は、直並列変換器によってシリアルデータをパラレルデータに変換するすべての位相に対して、ワードアライナおよびビットスリッパによって達成されることは注意されるべきである。より詳細には、この実施形態において、ビットアライナは、ワードアライナの遅延を補償し、その結果、ワードアライナの全遅延は回復クロックのすべての位相に対して一定であるのみならず、すべてのこれらの位相に対して０に等しい。
【００８１】
上記のように、ビットスリッパ４００および５００の例示において、マルチプレクサ４１０〜４１３および５１０〜５１３の各々は、４対１マルチプレクサであり、ワード４２０、４２１、４４１、５２０、５２１、および５４１の各々は、４ビットのワードである。しかしながら、本発明は、例示を容易にするために選択されたこれらのサイズに限定されない。例えば、Ｎが１０に等しい図３の実施形態において、ビットスリッパ３４０におけるマルチプレクサの各々は、１０対１マルチプレクサであり、ワードの各々は１０ビットのワードである。また、そのような実施形態において、ビットスリッパ３４０において１０個のマルチプレクサがある。
【００８２】
一般に、ＮビットのビットスリッパはＮ個のマルチプレクサを有し、その各々はマルチプレクサへの任意のＮ個の入力を選択するほど十分に大きい選択信号を有するＮ対１マルチプレクサである。一実施形態において、２進数形式で表現される選択信号に関する選択信号サイズは、ｃｅｉｌ（ｌｏｇ２Ｎ）の桁数であり、ここで、ｃｅｉｌは非整数の結果を次の最も近い整数に切り上げる天井関数である。さらに、各サイクルに関して、Ｎ個のマルチプレクサは、２つの隣接するＮビットワードからビットを選択する。
【００８３】
本明細書に例示かつ説明されるビットスリッパの特定のインプリメンテーションに本発明が限定されないことは注意されるべきである。そうではなくて、ワードアライナのビットシフトを補償するためかまたはワードアライナおよびビットスリッパの全遅延が直並列変換器によるシリアルからパラレルへの変換のすべての位相に対して同じであることを確実にするためにビットをスリップさせる任意のビットスリッパが、決定性ワードアライナ待ち時間を達成するために用いられ得る。
【００８４】
実質的に時間的にビットを遅延させる（すなわち、ビットが時間的により後に出力されるようにする）ビットスリッパは、本明細書において遅延ビットスリッパと呼ばれる。ビットスリッパ４００は、遅延ビットスリッパの一例である。他方、実質的に時間的に後方にビットをシフトさせる（すなわち、ビットが時間的により前に出力されるようにする）ビットスリッパは、本明細書において後方ビットスリッパと呼ばれる。ビットスリッパ５００は、後方ビットスリッパの一例である。
【００８５】
ビットスリッパソリューションは、ユーザ論理の設計にとって見えないことも注意されるべきである。換言すると、特定のフォーマットであるＮビットパラレルワードに依存した任意の論理（例えば、符号化ワードまたは特別の意味を有する他のワード）は、ビットスリップの結果、変化する必要がない。また、図３において理解され得るように、ビットスリップはプロセスの最後の段階において行なわれ、その後、パラレルワード境界自体は重要ではない。換言すると、ビットスリッパ３４０後、パラレルワードはパラレルワードからシリアルワードへ変換されること以外は処理されない。
【００８６】
図６は、図３のシステムの信号間の関係を示す１つの例示的なタイミング図である。図６の例示は、ビットスリッパ３４０が遅延ビットスリッパであるシステム３００の実施形態に関する。より詳細には、図６の例示は、Ｎが１０に等しく、ビットスリッパ３４０が１０ビットのビットスリッパである遅延ビットスリッパである実施形態に関する。図６において、信号６０１は入力のシリアルデータを表し、信号６０２は受信器シリアルクロックを表す。信号６１０〜６１５は位相０の場合の信号を表し、一方、信号６２０〜６２５は位相１の場合の信号を表す。
【００８７】
位相０に関して、信号６１０はパラレルクロック（すなわち、回復クロック）を表し、信号６１１は直並列変換器によるパラレルデータ出力を表す。信号６１２は、ワード整列およびユーザ論理処理後のパラレルデータ６１１を表す。信号６１２は、信号６１１の後にＷ＋Ｕサイクルで表れ、ここで、Ｗはワードアライナにおいてパラレルデータ６１１を処理するためのサイクル数を表し、Ｕはユーザ論理によるワードアライナの出力を処理するためのサイクル数を表す。信号６１３は、ビットスリップ後のパラレルデータを表し、該パラレルデータは位相０に関して９ビットに等しい。ビットスリッパにおいて用いられる選択信号はＮ−Ｂ−１に等しく、ここで、Ｎは１０に等しく、位相０に関してＢは０に等しいことに注意されるべきである。上記のように、図４の遅延ビットスリッパなどの遅延ビットスリッパに関して、ワードアライナおよびビットスリッパの全遅延はすべての位相に対してＮ−１に等しく、Ｎが１０に等しいとき全遅延は９に等しい。位相０に関するワードアライナによる遅延は０ビットであるので、ビットスリッパは９ビット遅延の残りを提供する。従って、ビットスリッパは９ビット遅延の全体を提供する。位相０の場合において、信号６１４は送信器シリアルクロックを表し、信号６１５は送信器シリアルデータを表す。
【００８８】
同様に、位相１に関して、信号６２０はパラレルクロック（すなわち、回復クロック）を表し、信号６２１は直並列変換器によるパラレルデータ出力を表す。信号６２２は、ワード整列およびユーザ論理処理後のパラレルデータ６２１を表す。信号６２２は、信号６２１の後にＷ＋Ｕサイクルで表れ、ここで、Ｗはワードアライナにおいてパラレルデータ６２１を処理するためのサイクル数を表し、Ｕはユーザ論理によるワードアライナの出力を処理するためのサイクル数を表す。信号６２３は、ビットスリップ後のパラレルデータを表し、該パラレルデータは位相１に関して８ビットに等しい。上記のように、ビットスリッパにおいて用いられる選択信号はＮ−Ｂ−１に等しく、ここで、Ｎは１０に等しく、位相１に関してＢは１に等しい。上記のように、図４の遅延ビットスリッパなどの遅延ビットスリッパに関して、ワードアライナおよびビットスリッパの全遅延はすべての位相に対してＮ−１に等しく、Ｎが１０に等しいとき全遅延は９に等しい。位相１に関するワードアライナによる遅延は１ビットであるので、ビットスリッパは９ビット遅延の残りを提供する。従って、ビットスリッパは８ビットの遅延を提供する。位相１の場合において、信号６２４は送信器シリアルクロックを表し、信号６２５は送信器シリアルデータを表す。
【００８９】
位相０および位相１の両方に関して、シリアルデータビットとしてシステム３００に入力されるＤ０とシリアルデータビットとしてシステム３００から出力されるＤ０との間に一定かつ既知の待ち時間Ｌ（これはＵＩまたは時間で表現され得る）がある。この一定かつ既知の待ち時間Ｌは、図６において位相０および１のみに関して示されるが、それは他のすべての位相に適用することは注意されるべきである。ワードアライナとビットスリッパとの結合が結合された一定の遅延（すべての位相に関して上記に説明されるように、例えば、Ｎ−１）を提供し、かつ他の遅延（例えば、受信器から送信器への転送待ち時間）が既知であれば、既知かつ一定の待ち時間Ｌはすべての位相に対して達成される。再び、他の待ち時間不確実性（例えば、ワイヤ待ち時間不確実性）は重要ではなく、従って無視されることが仮定される。
【００９０】
図７は、図３のシステムの信号間の関係を示す別の例示的なタイミング図である。図７の例示は、システム３００に用いられるビットスリッパ３４０が後方ビットスリッパである場合に関する。より詳細には、図７の例示は、Ｎが１０に等しく、ビットスリッパ３４０が１０ビットのビットスリッパである後方ビットスリッパである実施形態に関する。図７において、信号７０１は入力のシリアルデータを表し、信号７０２は受信器シリアルクロックを表す。信号７１０〜７１５は位相０の場合の信号を表し、一方、信号７２０〜７２５は位相１の場合の信号を表す。
【００９１】
位相０に関して、信号７１０はパラレルクロック（すなわち、回復クロック）を表し、信号７１１は直並列変換器によるパラレルデータ出力を表す。信号７１２は、ワード整列およびユーザ論理処理後のパラレルデータ７１１を表す。信号７１２は、信号７１１の後にＷ＋Ｕサイクルで表れ、ここで、Ｗはワードアライナにおいてパラレルデータ７１１を処理するためのサイクル数を表し、Ｕはユーザ論理によるワードアライナの出力を処理するためのサイクル数を表す。信号７１３は、ビットスリップ後のパラレルデータを表し、該パラレルデータは位相０に関して０ビットに等しい。ビットスリッパにおいて用いられる選択信号はＢに等しく、ここで、位相０に関してＢは０に等しいことに注意されるべきである。上記のように、図５の後方ビットスリッパなどの後方ビットスリッパは、ワードアライナによって引き起こされる遅延を補償するためにビットを時間的に後方にスリップさせ、その結果、ワードアライナおよびビットスリッパの全遅延は０に等しい。位相０に関するワードアライナによる遅延は０ビットであるので、ビットスリッパは、０ビットだけ時間的に後方にビットをスリップさせ、その結果、ワードアライナおよびビットスリッパの全遅延は０ビットである。位相０の場合において、信号７１４は送信器シリアルクロックを表し、信号７１５は送信器シリアルデータを表す。
【００９２】
同様に、位相１に関して、信号７２０はパラレルクロック（すなわち、回復クロック）を表し、信号７２１は直並列変換器によるパラレルデータ出力を表す。信号７２２は、ワード整列およびユーザ論理処理後のパラレルデータ７２１を表す。信号７２２は、信号７２１の後にＷ＋Ｕサイクルで表れ、ここで、Ｗはワードアライナにおいてパラレルデータ７２１を処理するためのサイクル数を表し、Ｕはユーザ論理によるワードアライナの出力を処理するためのサイクル数を表す。信号７２３は、ビットスリップ後のパラレルデータを表し、該パラレルデータは、位相１に関して１ビットに等しく、後方ビットスリッパに関して時間的に後方へ１ビットのシフトである。上記のように、ビットスリッパにおいて用いられる選択信号はＢに等しく、ここで、位相１に関してＢは１に等しい。上記のように、図５の後方ビットスリッパなどの後方ビットスリッパは、ワードアライナによって引き起こされる遅延を補償するためにビットを時間的に後方にスリップさせ、その結果、ワードアライナおよびビットスリッパの全遅延は０ビットに等しい。位相１に関するワードアライナによる遅延は１ビットであるので、ビットスリッパは、１ビットだけ時間的に後方にビットをスリップさせ、その結果、ワードアライナおよびビットスリッパの全遅延は０ビットである。位相１の場合において、信号７２４は送信器シリアルクロックを表し、信号７２５は送信器シリアルデータを表す。
【００９３】
位相０および位相１の両方に関して、シリアルデータビットとしてシステム３００に入力されるＤ０とシリアルデータビットとしてシステム３００から出力されるＤ０との間に一定かつ既知の待ち時間Ｌ（これはＵＩまたは時間で表現され得る）がある。この一定かつ既知の待ち時間Ｌは、図７において位相０および１のみに関して示されるが、それは他のすべての位相に適用することは注意されるべきである。ビットスリッパがワードアライナによって引き起こされるビットシフトを補償し、その結果、ワードアライナおよびビットスリッパによって引き起こされる全ビットシフトは０に等しく、かつ他の遅延（例えば、受信器から送信器への転送待ち時間）が既知であれば、既知かつ一定の待ち時間Ｌはすべての位相に対して達成される。再び、他の待ち時間不確実性（例えば、ワイヤ待ち時間不確実性）は重要ではなく、従って無視されることが仮定される。
【００９４】
当業者は、図４〜図７の上記の説明において、ワードレベル遅延、すなわちビットスリッパにおけるワード全体を表す遅延が無視されることを理解する。ワードレベル遅延の待ち時間は既知であり、従って、その遅延はいかなる待ち時間不確実性も追加しない。例えば、図７において、位相０に関して、信号７１２と７１３との間に２ワードのサイクル遅延があり、該２ワードのサイクル遅延は、後方ビットスリッパによる入力ワードを受信することと出力ワードを出力することとの間の遅延の２サイクルの遅延を表す。
【００９５】
図８は、本発明のシステムの別の実施形態を例示するブロック図である。図８において、システム８００は、受信器８１０と、ユーザ論理８３０と、送信器８６０とを含む。システム８００は、ＰＬＤ、またはユーザ論理と、受信器と、送信器とを含む任意の他の回路もしくはデバイスであり得る。システム８００の一実施形態において、ユーザ論理８３０はＰＬＤコアの一部である。
【００９６】
下記の例外を有するが、システム８００はシステム３００（図３に示される）に類似している。システム８００における構成要素および信号であって、システム３００におけるそれらの対応物に類似の機能を果たす、構成要素および信号は、それらの対応物の参照番号と５００だけ異なる参照番号で示されている。例えば、システム８００におけるユーザ論理８３０は、システム３００におけるユーザ論理３３０に対応する。システム８００は、システム３００に類似しており、類似の方法で動作するので、それは、システム３００に対するその相違の一部を注意すること以外は、本明細書において、より詳細には説明されない。
【００９７】
受信器３１０のように、受信器８１０は、入力Ｉ／Ｆ８１１と、ＣＤＲユニット８１２と、直並列変換器８１３と、分周器８１６とを含む。しかしながら、これらの要素に加えて、受信器３１０とは異なり、受信器８１０はまた、ワードアライナ８２０とインテレクチャルプロパティ（ＩＰ）ブロック８２５とを含む。同様に、送信器３６０のように、送信器８６０は、出力Ｉ／Ｆ８６１と、並直列変換器８６３と、分周器８６６と、ＰＬＬ８７０とを含む。しかしながら、これらの要素に加えて、送信器３６０とは異なり、送信器８６０はまた、ＩＰブロック８３５と、ビットスリッパ８４０とを含む。ＰＬＬ８７０は、図８に示されるように接続される、ＰＦＤ８７２と、ＶＣＯ８７４と、分周器８７６と、マルチプレクサ８７８とを含む。一実施形態において、分周器８７６はＭ分周器であり、ここでＭは、上記に定義されるとおりである。また、ビットスリッパ３４０とは異なり、ビット８４０は、回復クロックの代わりに、送信器パラレルクロックによって刻時される。
【００９８】
一実施形態において、入力Ｉ／Ｆ８１１と、ＣＤＲユニット８１２と、直並列変換器８１３と、分周器８１６とは、システム８００の物理媒体接続副層（ＰＭＡ）の一部である。同様に、一実施形態において、ワードアライナ８２０とＩＰ８２５とは、システム８００の物理符号化副層（ＰＣＳ）の一部である。また一実施形態において、出力Ｉ／Ｆ８６１と、並直列変換器８６３と、分周器８６６と、ＰＬＬ８７０とは、システム８００のＰＭＡの一部であり、一方、ＩＰ８３５とビットスリッパ８４０とはシステム８００のＰＣＳの一部である。
【００９９】
別の実施形態において、受信器８１０は、入力８１１と、ＣＤＲユニット８１２と、直並列変換器８１３と、分周器８１６とを含むが、ワードアライナ８２０と、ＩＰブロック８２５とを含まないように定義され得る。同様に、別の実施形態において、送信器８６０は、出力Ｉ／Ｆ８６１と、並直列変換器８６３と、分周器８６６と、ＰＬＬ８７０とを含むが、ＩＰブロック８３５と、ビットスリッパ８４０とを含まないように定義され得る。受信器８１０および送信器８６０がこのパラグラフにおいて上記に定義されるような実施形態において、ワードアライナ８２０、ＩＰブロック８２５、ユーザ論理８３０、ＩＰブロック８３５およびビットスリッパ８４０は、システムコア、例えば、ＰＬＤコアの一部である。
【０１００】
一実施形態において、ＩＰブロック８２５は、ワードアライナ８２０から受信されたワードをユーザ論理８３０の処理のための別のフォーマットに変換するデコーダである。同様に、一実施形態において、ＩＰブロック８３５は、ユーザ論理８３０によって出力されたワードをビットスリッパ８４０による処理のためのフォーマットに変換するエンコーダである。その結果、ＩＰブロック８２５および８３５は、パラレルワードの特定のパターン（すなわち、サイズおよび整列）を予期する。一実施形態において、ＩＰブロック８２５は８Ｂ１０Ｂデコーダであり、該８Ｂ１０Ｂデコーダは、１０ビットのワードを受信し、それらを８ビットのワードに変換し、ＩＰブロック８３５は８Ｂ１０Ｂエンコーダであり、該８Ｂ１０Ｂエンコーダは、８ビットのワードを受信し、それらを１０ビットのワードに変換する。
【０１０１】
一実施形態において、ＩＰブロック８２５および８３５は、上記に論議される符号化および復号化のハード論理インプリメンテーションを実行する埋込みＩＰ論理ブロックであることは注意されるべきである。ＩＰブロック８２５および８３５などのＩＰブロックを含まない、例えばシステム３００などの本発明の実施形態において、それらのＩＰブロックの機能は、ユーザ論理によって実行され得ることも注意されるべきである。ＩＰ機能のこのインプリメンテーションは、ソフト論理インプリメンテーションと呼ばれる。
【０１０２】
システム３００と同様に、システム８００の一実施形態において、ワードアライナ待ち時間不確実性を除去するためにビットスリッパを用いるとき、受信器から送信器への転送待ち時間不確実性を除去しないように選び得る。そのような場合において、新フィードバック経路は用いられない。その代わりに、旧フィードバックループが用いられ、その場合、位相クロッシングＦＩＦＯは、受信器パラレルクロックから送信器パラレルクロックへの転送を可能にするために用いられ得る。
【０１０３】
システム８００の別の実施形態において、受信器から送信器への転送待ち時間不確実性を除去するために、新フィードバック経路を用いるとき、ワードアライナ待ち時間不確実性を除去しないように選び得る。そのような場合、ビットスリッパは用いられない。
【０１０４】
システム３００または８００などの本発明の実施形態は、ＣＰＲＩプロトコルなどのビットレベル待ち時間不確実性に関するプロトコルを満たすために用いられ得る。例えば、それらの実施形態は、単一ホップ（すなわち、ポイントツーポイントトポロジを有する）または複数ホップ（すなわち、チェーントポロジ）である無線システムにおいて、ＣＰＲＩプロトコルにアドレス指定するために用いられ得る。
【０１０５】
上記のように、システム３００の一実施形態において、ワードアライナ３２０と、ユーザ論理３３０と、ビットスリッパ３４０とは、ＰＬＤコアの一部である。同様に、システム８００の一実施形態において、ユーザ論理８３０はＰＬＤコアの一部である。そのような実施形態において、システム３００および８００は、ＰＬＤであり得る。
【０１０６】
ＰＬＤ（時々、複合ＰＬＤ（ＣＰＬＤ）、プログラム可能アレイ論理（ＰＡＬ）、プログラム可能論理アレイ（ＰＬＡ）、フィールドＰＬＡ（ＦＰＬＡ）、消去可能ＰＬＤ（ＥＰＬＤ）、電気的消去可能ＰＬＤ（ＥＥＰＬＤ）、論理セルアレイ（ＬＣＡ）、書替え可能ゲートアレイ（ＦＰＧＡ）、または他の名でも呼ばれる）は、カスタムＩＣの柔軟性を有する固定の集積回路（ＩＣ）の利点を提供する。そのようなデバイスは、典型的には、ユーザの特定のニーズを満たすようにプログラムされ得る少なくとも一部分を有する「在庫から入手可能な」デバイスを提供する。特定用途向け集積回路（ＡＳＩＣ）は、従来から固定のＩＣであった。しかしながら、プログラム可能な部分を有するＡＳＩＣを提供することは可能である。従って、ＩＣデバイスがＡＳＩＣおよびＰＬＤの両方の質を有することは可能である。本明細書において用いられるように用語ＰＬＤは、そのようなデバイスを含むほど十分に広く考慮される。
【０１０７】
ＰＬＤは、プログラムまたは再プログラムされ得るコンフィギュレーション要素を有する。コンフィギュレーション要素は、ＲＡＭビット、フリップフロップ、電気的消去可能なプログラム可能読取り専用素子（ＥＥＰＲＯＭ）セル、または他のメモリ要素として実現され得る。コンフィギュレーション要素に新しいデータを入れることは、ＰＬＤの論理機能および関係する経路をプログラムまたは再プログラムする。書替え可能であるコンフィギュレーション要素は、しばしば、ＲＡＭセル（時々「コンフィギュレーションＲＡＭ」（ＣＲＡＭ）と呼ばれる）としてインプリメントされる。しかしながら、スタティックＲＡＭ（ＳＲＡＭ）またはダイナミックＲＡＭ（ＤＲＡＭ）、電気的消去可能な読出し専用素子（ＥＥＲＯＭ）、フラッシュプログラム可能接続、フューズプログラム可能接続、アンチフューズプログラム可能接続を含む多くの種類のコンフィギュレーション可能な要素が用いられ得る。コンフィギュレーション要素のプログラミングは、デバイスの製造時にマスクプログラミングすることによってもインプリメントされ得る。マスクプログラミングは既に掲載された書替え可能オプションの一部に対して不利な点を有し得るが、特定の大容量の用途において有用であり得る。
【０１０８】
図９は、本発明に従ったＰＬＤがインプリメントされ得る例示的なデータ処理システムを示す。図９においてデータ処理システムは、とりわけ、ＰＬＤ９１０を含む。一実施形態において、ＰＬＤ９１０は、本発明のシステムを具体化し得る（図３に示されるシステム３００または図８に示されるシステム８００など）。データ処理システム９００は、次の構成要素の１つ以上を含み得る：プロセッサ９４０、メモリ９５０、入力／出力（Ｉ／Ｏ）回路９２０、および周辺デバイス９３０。これらの構成要素は、システムバス９６５によって相互に結合され、エンドユーザシステム９７０に含まれる回路基板９６０上に配置される。システム９００などのデータ処理システムは、エンドユーザシステム９７０などの単一のエンドユーザシステムを含み得るか、またはデータ処理システムとして一緒に動作する複数のシステムを含み得る。
【０１０９】
システム９００は、種々様々な用途において用いられ得る。例えば、コンピュータネットワーキング、データネットワーキング、計測、画像処理、デジタル信号処理（ＤＳＰ）、またはプログラム可能または再プログラム可能な論理が望ましい任意の他の用途である。ＰＬＤ９１０は、種々様々な論理機能を実行するために用いられ得る。例えば、ＰＬＤ９１０は、プロセッサ９４０と協力して動作し得るプロセッサまたはコントローラとして構成され得る（または、代替の実施形態において、ＰＬＤ自体、唯一のシステムプロセッサとして動作し得る）。ＰＬＤ９１０は、システム９００における共用資源へのアクセスを仲裁するアービタとしても用いられ得る。さらに別の例示において、ＰＬＤ９１０は、プロセッサ９４０とシステム９００におけるその他の構成要素の１つとの間のインタフェースとして構成され得る。システム９００は単なる例示であることに注意されるべきである。
【０１１０】
一実施形態において、システム９００はデジタルシステムである。本明細書において用いられるように、デジタルシステムは、完全なデジタルシステムに限定されることが意図されるのではなく、デジタルサブシステムおよびアナログサブシステムの両方を含むハイブリッドシステムも含む。
【０１１１】
本発明は、例示的な実施形態に関して特に説明されているが、本開示に基づき様々な変更、修正および改造がなされ得、それらは本発明の範囲内であることが意図されることは理解される。本発明は、最も実際的かつ好ましい実施形態であると現在考えられるものに関連して説明されているが、本発明は開示された実施形態に限定されるのではなく、それどころか、添付の特許請求の範囲の範囲内に含まれる様々な修正および同等の配置をカバーすることが意図される。
【図面の簡単な説明】
【０１１２】
【図１】図１は、待ち時間不確実性を有するシステムのブロック図である。
【図２】図２は、図１のシリアルクロックおよびシリアル入力のデータストリームに関する回復クロックの種々の位相を例示する。
【図３】図３は、本発明のシステムの実施形態のブロック図である。
【図４】図４は、本発明において用いられ得るビットスリッパの一実施形態を例示する。
【図５】図５は、本発明において用いられ得るビットスリッパの別の実施形態を例示する。
【図６】図６は、図３のシステムの信号間の関係を例示する一例示的なタイミング図である。
【図７】図７は、図３のシステムの信号間の関係を例示する別の例示的なタイミング図である。
【図８】図８は、本発明のシステムの別の実施形態を例示するブロック図である。
【図９】図９は、本発明に従ったＰＬＤがインプリメントされ得る例示的なデータ処理システムを例示する。
【符号の説明】
【０１１３】
１００  システム
１１０  受信器
１１１  入力インタフェース（Ｉ／Ｆ）
１１２  クロックデータ回復ユニット
１１３  直並列変換器
１１４、１６４  シリアルレジスタ
１１５、１６５  パラレルレジスタ
１１６、１６６  Ｎ分周器
１２０  ワードアライナ
１３０  ユーザ論理
１５０  位相クロッシング
１６０  送信器
１６１  出力Ｉ／Ｆ
１６３  並直列変換器
１７０  送信器ＰＬＬ
１７２  位相周波数検出器
１７４  電圧制御発振器
１７６  Ｍ分周器
【図１】
2009153132.tif 000003
【図２】
2009153132.tif 000004
【図３】
2009153132.tif 000005
【図４】
2009153132.tif 000006
【図５】
2009153132.tif 000007
【図６】
2009153132.tif 000008
【図７】
2009153132.tif 000009
【図８】
2009153132.tif 000010
【図９】
2009153132.tif 000011