(57)【要約】ローカルデバイスにおいて使用するためのインターフェースは、少なくとも３つのデータ転送速度にプログラマブルに構成可能な送信機部分と、少なくとも３つのデータ転送速度にプログラマブルに構成可能な受信機部分と、少なくとも３つのデータ転送速度のうちの最も可用性のある１つである単一のデータ転送速度において、遠隔デバイスと通信するために、送信機部分および受信機部分を構成するように、送信機部分および受信機部分に動作可能に接続されている自動速度交渉モジュールとを含む。データ転送速度は、送信機データパス幅および受信機データパス幅を調節し、送信機データパスおよび受信機データパスの周波数を調節し、オーバーサンプリングすることによって、調節することができる。
2013520134.tif 000002
【特許請求の範囲】
【請求項１】
ローカルデバイスにおいて使用するためのインターフェースであって、前記インターフェースは、
少なくとも３つのデータ転送速度にプログラマブルに構成可能な送信機部分と、
前記少なくとも３つのデータ転送速度にプログラマブルに構成可能な受信機部分と、
前記送信機部分および前記受信機部分に動作可能に接続されている自動速度交渉モジュールと
を備え、
前記自動速度交渉モジュールは、前記少なくとも３つのデータ転送速度のうちの最も可用性のある１つである単一のデータ転送速度において遠隔デバイスと通信するように、前記送信機部分および前記受信機部分を構成する、インターフェース。
【請求項２】
前記自動速度交渉モジュールは、
送信機データパス幅および受信機データパス幅を調節することと、
前記送信機データパスおよび前記受信機データパスの周波数を調節することと、
オーバーサンプリングすることと
のうちの少なくとも１つによって、前記送信機部分および前記受信機部分を前記少なくとも３つのデータ転送速度のうちの最も可用性のある１つに構成する、請求項１に記載のインターフェース。
【請求項３】
前記自動速度交渉モジュールは、バイトシリアライゼーション／デシリアライゼーションを有効／無効にすることによって、前記インターフェース以外の前記ローカルデバイスの部分へ／からの転送のためのデータ幅を変更するように、前記送信機部分および前記受信機部分を構成する、請求項２に記載のインターフェース。
【請求項４】
それぞれのデータ転送速度範囲のためのそれぞれのＰＣＳモジュールをさらに備え、
前記自動速度交渉モジュールは、前記それぞれのＰＣＳモジュールのうちの１つを選択することによって、前記送信機部分および前記受信機部分を前記少なくとも３つのデータ転送速度のうちの最も可用性のある１つに構成する、請求項１に記載のインターフェース。
【請求項５】
前記自動速度交渉モジュールは、前記ローカルデバイスの別の部分からの信号に応答して、前記送信機部分および前記受信機部分を構成する、請求項１に記載のインターフェース。
【請求項６】
前記信号は、前記送信機部分および前記受信機部分のうちの少なくとも１つにおけるデータエラーを示すエラー信号である、請求項５に記載のインターフェース。
【請求項７】
前記自動速度交渉モジュールは、前記受信機部分におけるデータを監視するためのビット誤り率モニタを備え、
前記ローカルデバイスの他の部分は、前記ビット誤り率モニタからの出力を受信し、前記出力に基づいて、前記信号を生成する、請求項５に記載のインターフェース。
【請求項８】
前記送信機部分は、前記送信機部分および前記受信機部分の構成中の所定の持続時間の間、トライステートであり、前記自動速度交渉モジュールは、前記所定の持続時間を計時するためのタイマを備えている、請求項５に記載のインターフェース。
【請求項９】
前記自動速度交渉モジュールは、前記受信機部分を監視し、監視の結果に応答して、前記送信機部分および前記受信機部分を構成する、請求項１に記載のインターフェース。
【請求項１０】
前記自動速度交渉モジュールは、前記受信機部分におけるデータを監視するためのビット誤り率モニタを備え、
前記自動速度交渉モジュールは、前記ビット誤り率モニタからの信号に応答して、前記送信機部分および前記受信機部分を構成する、請求項９に記載のインターフェース。
【請求項１１】
前記自動速度交渉モジュールは、デリミタパターンの発生に対して前記受信機部分におけるデータを監視し、前記自動速度交渉モジュールは、前記デリミタパターンの発生に応答して、前記送信機部分および前記受信機部分を構成する、請求項９に記載のインターフェース。
【請求項１２】
前記自動速度交渉モジュールは、
前記デリミタパターンを生成するためのパターン発生器と、
前記受信機部分におけるデータを前記デリミタパターンと比較するための比較器と
を備えている、請求項１１に記載のインターフェース。
【請求項１３】
前記自動速度交渉モジュールは、前記信号の受信後、前記送信機部分および受信機部分の構成を遅延させるためのタイマを備えている、請求項９に記載のインターフェース。
【請求項１４】
前記自動速度交渉モジュールは、デリミタパターンを生成するためのパターン発生器を備え、
前記自動速度交渉モジュールは、前記送信機部分および前記受信機部分の構成に先立って、前記送信機部分におけるデータに前記デリミタパターンを挿入する、請求項１に記載のインターフェース。
【請求項１５】
集積回路デバイスインターフェースにおけるデータ転送速度を交渉する方法であって、
前記方法は、
（ａ）転送速度変化信号、および（ｂ）転送速度変化誘起デリミタパターンのうちの１つの発生に対して前記インターフェースを監視することと、
前記転送速度変化信号の検出に応じて、前記転送速度変化誘起デリミタパターンを伝送し、転送速度変化肯定応答デリミタパターンの受信を待機することと、
前記転送速度変化誘起デリミタパターンの検出に応じて、前記転送速度変化肯定応答デリミタパターンを伝送することと、
前記転送速度変化肯定応答デリミタパターンの（ａ）受信、および、（ｂ）伝送のうちの１つの発生に応じて、送信機データパス周波数および受信機データパス周波数を調節することと、オーバーサンプリングすることとのうちの少なくとも１つによって、前記データ転送速度を変化させることと
を含む、方法。
【請求項１６】
前記インターフェース以外の集積回路部分へ／からの転送のためのデータ幅を変更するために、バイトシリアライゼーション／デシリアライゼーションを有効／無効にすることをさらに含む、請求項１５に記載の方法。
【請求項１７】
前記データ転送速度を変化させることは、送信機データパス幅および受信機データパス幅を調節することをさらに含む、請求項１５に記載の方法。
【請求項１８】
前記データ転送速度を変化させることは、複数のそれぞれのＰＣＳモジュールのうちの１つを選択することをさらに含む、請求項１５に記載の方法。
【請求項１９】
前記転送速度変化肯定応答デリミタパターンの（ａ）受信、および、（ｂ）伝送のうちの１つの発生後、前記データ転送速度を変化させる前に、所定の時間間隔が経過するのを待機することをさらに含む、請求項１５に記載の方法。
【請求項２０】
前記転送速度変化信号の発生に対して監視することは、前記インターフェースの外部の前記集積回路デバイスの部分からの転送速度変化信号に対して監視することを含む、請求項１５に記載の方法。
【請求項２１】
前記転送速度変化信号の発生に対して監視することは、前記インターフェースの構成要素からの転送速度変化信号に対して監視することを含む、請求項１５に記載の方法。
【請求項２２】
前記転送速度変化信号の発生に対して監視することは、前記インターフェースにおけるビット誤り率モニタからの転送速度変化信号に対して監視することを含む、請求項２１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特に、異なるデータ転送速度で動作し得るプログラマブル論理デバイス（ＰＬＤ）等のプログラマブル集積回路デバイスにおける高速シリアルインターフェースに関する。
【背景技術】
【０００２】
プログラマブルデバイスが、高速（すなわち、１Ｇｂｐｓを超える）シリアルＩ／Ｏ規格に対応するために、高速シリアルインターフェースを組み込むことは一般的となっている。
【０００３】
そのような規格の初期の実施例は、ＸＡＵＩ（拡張接続機構インターフェース）規格であった。ＸＡＵＩ規格によると、例えば、高速シリアルインターフェースは、「クワッド」として知られる送受信機群を含み、クワッドのそれぞれは、４つの送受信機と、いくつかの中央論理とを含む。
【０００４】
一実装では、各送受信機は、外部デバイスと通信する物理媒体アタッチメント（ＰＭＡ）部分またはモジュールと、それらの外部デバイスに伝送するためのデータ、またはそれらの外部デバイスから受信されるデータのシリアル処理を行う、物理符号化副層（ＰＣＳ）部分またはモジュールとに分割される。
【０００５】
同じ規格下で動作する時でさえ、特定のシリアルインターフェースは、例えば、オンライン条件に応じて、異なる速度で動作し得る。したがって、シリアルインターフェースのＰＣＳは、両末端における信頼性のある伝送および受信をサポートするであろう最高速度のために、その相手と交渉することが知られている。当初、プログラマブルデバイス実装では、そのような交渉は、シリアルインターフェース自体の外部で、ソフトウェアまたはプログラマブルデバイスのプログラマブル論理コアで行われていた。
【０００６】
ＰＣＩ  Ｅｘｐｒｅｓｓ  Ｇｅｎｅｒａｔｉｏｎ  ２（「ＰＣＩｅ２」）、４Ｇｂｐｓ  Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ（「４ＧＦＣ」）、および８Ｇｂｐｓ  Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ（「８ＧＦＣ」）等の後のシリアルプロトコルは、より短い速度交渉ウィンドウを有していた。それらのウィンドウは、概して、比較的に遅いソフトウェアまたはプログラマブル論理にとって、短過ぎた。故に、本発明の譲受人に譲渡された米国特許第７，６８４，４７７号は、２つのデータ転送速度のうちの１つを選択するために、プログラマブルデバイスに組み込まれ得る、自動速度交渉のための内蔵ハードウェアモジュールを伴う、記載される種類の高速シリアルインターフェースを開示した。
【０００７】
ＰＣＩ  Ｅｘｐｒｅｓｓ  Ｇｅｎｅｒａｔｉｏｎ  ３（「ＰＣＩｅ  Ｇｅｎ３」）および４０／１００Ｇｉｇａｂｉｔ  Ｅｔｈｅｒｎｅｔ（登録商標）等のより新しいシリアルプロトコルは、３つのデータ転送速度からの選択を要求し得る。さらに、そのようなプロトコルは、転送速度交渉が、第４の実質的により遅いデータ転送速度で生じることを要求し得る。
【発明の概要】
【課題を解決するための手段】
【０００８】
本発明は、自動速度交渉のための内蔵ハードウェアモジュールを伴うＰＬＤ等のプログラマブルデバイスにおける本明細書に説明される種類の高速シリアルインターフェースを提供する。自動速度交渉は、好ましくは、デバイスが、別のデバイスとの有効接続を確立し、性能を最大限にすることができる最高可能速度において、限定された時間間隔内に収束する。好ましくは、デバイスは、それぞれ、最高または最低可能データ転送速度で開始し、ステップダウンまたはステップアップし、両デバイスおよびその相互接続機構によって確実にサポートされる、最高速度に収束することができる。
【０００９】
デバイスが、高速データ転送速度で開始し、ステップダウンする場合、接続が、各ステップでチェックされる。特定のステップにおいて、最大容認可能ビット誤り率（例えば、約１０−１５から約１０−１２、すなわち、１０１５ビット中約１つのエラーから１０１２ビット中約１つのエラー）を超えない場合、データ転送速度は、不変のままである。特定のステップにおいて、最大容認可能ビット誤り率を超える場合、データ転送速度は、再び、ステップダウンされる。これは、最大容認可能ビット誤り率を超えないデータ転送速度に到達するまで継続する。
【００１０】
デバイスが、低速データ転送速度で開始し、ステップアップする場合、接続はまた、各ステップでチェックされる。しかしながら、各ステップは、より低いデータ転送速度からアプローチされているため、特定のステップにおいて、最大容認可能ビット誤り率を超えなかったという事実は、最大可能データ転送速度に達成したという確証ではない。したがって、最大容認可能ビット誤り率を超えない限り、データ転送速度は、最大容認可能ビット誤り率を超えるデータ転送速度に到達するまで、（プロトコルに従って）さらに１ステップずつ増加される。これは、データ転送速度が高速となり過ぎたことを示し、したがって、前述のデバイスが高速で開始する場合のように、データ転送速度が、最大容認可能ビット誤り率を超えないデータ転送速度に到達するまで段階的に減少される。通常、データ転送速度の減少が開始されると、データ転送速度は、最大容認可能ビットエラーを超えるまでより低いデータ転送速度から増加されるため、データ転送速度は、条件が、その間に変化しない限り、１ステップずつのみ、減少されることになるであろう。
【００１１】
特定の実装に応じて、転送速度変化がもたらされる前に、デリミタパターンが、データストリームに挿入され、他のデバイスに転送速度変化が差し迫っていることを把握させ得る。他のパラメータが、転送速度変化の方向および規模を示すために、交換され得る。
【００１２】
好ましい実施形態では、初期最良データ転送速度が、前述の方法のうちの１つによって確立されると、データ転送速度は、ビット誤り率が、最大容認可能値を超える場合、減少するであろう。しかしながら、好ましくは、また、データ転送速度を上昇させるために、周期的に試行が行われる。
【００１３】
本発明によると、自動交渉プロセスは、交渉プロセスの少なくとも一部を行うために、好ましくは、送受信機のＰＣＳ部分に、ハードウェアを提供することによって、加速される。好ましい実施形態では、チャネルあたり、すなわち、ＰＣＳ送信機／受信機対あたり１つのそのようなハードウェアモジュールと、バンドルされたチャネルの各群（例えば、前述の「クワッド」のうちの１つ、または任意の数のチャネルのバンドル）のための別のそのようなハードウェアモジュールとが存在する。
【００１４】
データ転送速度変化要件の検出に応じて、後述のように、自動速度交渉モジュールは、チャネル速度またはデータ転送速度を変化させる。これは、いくつかの方法で達成され得る。例えば、チャネル内のデータパスの幅は、より広いデータパスによって、より多くのデータを流させ、それによって、チャネルのデータ転送速度を増加させる一方、より狭いデータパスによって、流れることができるデータの量を制限し、チャネルのデータ転送速度を減少させるように、変化され得る。代替として、データ転送速度は、データパスの動作の周波数を変化またはスケーリングすることによって、変化することができる。別の代替として、データパス幅調節およびデータパス周波数スケーリングの組み合わせを使用して、データ転送速度を調節し得る。さらに別の代替として、各チャネルは、それぞれ、データ転送速度の異なるプロトコルおよび範囲に適切な複数のＰＣＳモジュールを含んでもよく、データ転送速度調節は、適切なＰＣＳモジュールを選択するステップを含み得る。
【００１５】
一実施形態では、データ転送速度変化要件の指示は、ＰＣＳ外部から提供され得る。例えば、指示は、デバイスが、ＰＬＤである場合、プログラマブル論理部分等における、デバイス上のいずれかの場所の論理によって、送受信機の完全に外部で開始され得る。別の実施形態では、自動速度交渉モジュールは、データ転送速度変化が要求されるかどうかを独自に決定するための回路を含み得る。例えば、モジュールは、受信したデータを監視するためのビット誤り率モニタを含み得る（高速過ぎるチャネル速度から生じる伝送されたデータのエラーが、データが送信機を離れた後のみ生じ、そのようなエラーが、送受信機によって検出可能でないことは明白である）。
【００１６】
前述のように、データ転送速度変化が差し迫っている場合、当該プロトコルは、デリミタパターンが、データ転送速度の実装が変化する前に、類似デリミタパターンによって返答されるはずであるデータストリームに挿入されることを要求し得る。したがって、好ましい実施形態では、自動速度交渉モジュールは、好ましくは、デリミタパターンを伝送パスに挿入可能にするためのデリミタパターン発生器を含む。好ましくは、モジュールはまた、デリミタパターン発生器と、受信パス内のデータを生成されたデリミタパターンと比較する比較器とを含み得るデリミタパターン認識回路を含む。
【００１７】
したがって、データ転送速度変化のために、デリミタパターンを要求するプロトコルが、使用中である場合、ＰＣＳ外部から転送速度変化信号またはコマンドを受信したので、またはその独自のビット誤り率モニタが、データ転送速度変化の必要性を示すので、自動速度交渉モジュールが、データ転送速度変化を開始する場合、遠隔デバイスが、（例えば、その独自のデータ転送速度を変化させることによって）適宜、反応し得るように、遠隔デバイスによって検出されるであろう、転送速度変化デリミタパターンを伝送されるデータ内に挿入することができる。同様に、自動速度交渉モジュールが、受信したデータ内に転送速度変化デリミタパターンを検出する場合、自動速度交渉モジュールは、それに従って反応するであろう（例えば、その独自のデータ転送速度を変化させることによって）。
【００１８】
いくつかのプロトコル下、データ転送速度変化は、各末端でデリミットパターンが伝送され受信された後、同時に、両末端において生じる。これは、一方の末端における送信機が、その独自のデリミットパターンを送信した後、その末端における受信機が、デリミットパターンを受信する場合、データ転送速度変化プロセスは、その末端で開始することができることを意味する。また、他方の末端でも、デリミットパターンの受信および送信の両方を開始するであろう。一方、一方の末端における受信機が、デリミットパターンを受信し、その末端における送信機が、デリミットパターンを送信していない場合、他方の末端は、データ転送速度変化の要求を開始しており、一方の末端における送信機は、データ転送速度変化がその一方の末端で開始する前に、他方の末端にデリミットパターンを返送する必要がある（現時点では、デリミットパターンの受信および伝送を行っている）。そのようなプロトコル下では、両末端における送信機は、所定の持続時間の間、転送速度変化期間中、トライステートであり得る。タイマが、好ましくは、トライステート周期を計時するために、ＰＣＳ内に提供される。
【００１９】
あるプロトコルは、自動交渉プロセス自体が、チャネル転送速度自体より遥かに低いデータ転送速度において生じるという要件を含み得る。例えば、４０／１００Ｇｉｇａｂｉｔ  Ｅｔｈｅｒｎｅｔ（登録商標）プロトコル下では、自動交渉段階は、そのプロトコル下、１．２５Ｇｂｐｓの最低データ転送速度の８分の１（ならびに、３．１２５Ｇｂｐｓの中間転送速度の２０分の１および１０．３１２５Ｇｂｐｓの最高転送速度の６６分の１）である、１５６．２５Ｍｂｐｓで行われるはずである。本低周波数信号伝達要件に対応するために、本発明による、自動速度交渉モジュールは、オーバーサンプリングイネーブル信号を生成し得る。ある因数分、各データパルスをオーバーサンプリングすることによって、その因数分、有効データ転送速度を減少させるであろう。したがって、例えば、４０／１００Ｇｉｇａｂｉｔ  Ｅｔｈｅｒｎｅｔ（登録商標）プロトコル下、自動交渉のための前述の１５６．２５Ｍｂｐｓデータ転送速度を達成するために、チャネルは、１．２５Ｇｂｐｓのデータ転送速度に設定され、次いで、８倍だけ、オーバーサンプリングされ得る（すなわち、８つの同じデータパルスが、各データパルスのために送信され、効果的に、その実際の値の８分の１にデータ転送速度を減速させるであろう）。
【００２０】
したがって、本発明によると、ローカルデバイスにおいて使用するためのインターフェースが提供される。インターフェースは、少なくとも３つのデータ転送速度にプログラマブルに構成可能な送信機部分と、少なくとも３つのデータ転送速度にプログラマブルに構成可能な受信機部分と、少なくとも３つのデータ転送速度のうちの最も可用性のある、単一データ転送速度において、遠隔デバイスと通信するために、送信機部分および受信機部分を構成するように、送信機部分および受信機部分に動作可能に接続されている、自動速度交渉モジュールとを含む。
【００２１】
そのようなプログラマブルデバイスシリアルインターフェースにおいて、データ転送速度変化を交渉し、それをもたらす方法もまた、提供される。
【００２２】
本発明の前述および他の利点は、同一参照文字が、全体を通して、同一部品を指す、付随の図面と関連して検討される、以下の発明を実施するための形態を検討することによって、明白となるであろう。
【図面の簡単な説明】
【００２３】
【図１】図１は、本発明を使用することができる、プログラマブル論理デバイスの好ましい実施形態のブロック図である。
【図２】図２は、本発明が組み込まれ得る、シリアルインターフェースの概略図である。
【図３】図３は、本発明による、例示的自動速度交渉モジュールの好ましい実施形態の概略図である。
【図４Ａ】図４Ａおよび４Ｂ（以下、集合的に、図４と称する）は、図３の実施形態の自動速度交渉モジュールの動作のフロー図である。
【図４Ｂ】図４Ａおよび４Ｂ（以下、集合的に、図４と称する）は、図３の実施形態の自動速度交渉モジュールの動作のフロー図である。
【図５】図５は、本発明による、シリアルインターフェースを組み込む、プログラマブル論理デバイスを採用する、例証的システムの簡略化されたブロック図である。
【発明を実施するための形態】
【００２４】
本発明の譲受人に譲渡された米国特許第７，６８４，４７７号は、シリアルインターフェースチャネル上における２つのデータ転送速度間の交渉、ならびにデータパスの幅を調節することによるデータ転送速度の調節を可能にするハードウェア自動速度交渉モジュールを組み込む高速シリアルインターフェースについて説明する。次に、複数の（すなわち、３つ以上の）データ転送速度間の交渉、ならびにデータパス幅の調節だけではなく、また、周波数調節またはスケーリングによるデータ転送速度の調節を可能にする本発明について、図１−４を参照して説明する。
【００２５】
図１に図式的に示される、ＰＬＤ１０は、本発明を組み込む、シリアルインターフェース２０を含むプログラマブルデバイスの一実施例である。ＰＬＤ１０は、プログラマブル相互接続構造１２にアクセス可能なプログラマブル論理領域１１を含む、プログラマブル論理コアを有する。図１に示されるような領域１１および相互接続構造１２のレイアウトは、概略に過ぎないことが意図され、多くの実際の配置が、当業者に公知であり、当業者によって作成され得る。
【００２６】
ＰＬＤ１０はまた、複数の他の入力／出力（「Ｉ／Ｏ」）領域１３を含む。Ｉ／Ｏ領域１３は、好ましくは、プログラマブルであって、差動および／または非差動信号伝達方式を含み得る、いくつかの可能なＩ／Ｏ信号伝達方式のうちの１つの選択を可能にする。代替として、Ｉ／Ｏ領域１３は、固定され、それぞれ、特定の信号伝達方式のみ可能にし得る。いくつかの実施形態では、個々の領域１３が、信号伝達方式の選択を可能にしないが、それでもなお、ＰＬＤ１０が、全体として、そのような選択を可能にするように、いくつかの異なる種類の固定Ｉ／Ｏ領域１３が、提供され得る。
【００２７】
例えば、図２に示されるように、各Ｉ／Ｏ領域２０は、好ましくは、複数の（例えば、４つの）チャネルを含む、好ましくは、前述のような高速シリアルインターフェースであるが、１つのチャネル２１のみ示される。各チャネル２１は、その独自のＰＭＡモジュール２６を含み、複数の異なるプロトコルをサポートするために、複数の異なるＰＣＳモジュールを含み得る。示される実施例では、チャネル２１は、３つの異なるＰＣＳモジュール２２、２３、２４を含み、そのうちの１つは、ｄａｔａ＿ｐａｔｈ＿ｓｅｌｅｃｔ信号２５０の制御下、マルチプレクサ２５によって、ＰＭＡモジュール２６に接続される。本実施例では、ＰＣＳモジュール２２は、８Ｂ／１０Ｂ符号化を使用するもの等、より低速プロトコルをサポートするための低速データ転送速度ＰＣＳである。ＰＣＳモジュール２３は、１２８Ｂ／１３０Ｂ符号化を使用するＰＣＩｅ  Ｇｅｎ３プロトコルをサポート可能であって、好ましくは、ＰＣＩ  Ｅｘｐｒｅｓｓプロトコルの旧世代と互換性がある、ＰＣＩｅ  Ｇｅｎ３ＰＣＳであり得る。ＰＣＳモジュール２４は、６４Ｂ／６５Ｂ符号化、６４Ｂ／６６Ｂ符号化、６４Ｂ／６７Ｂ符号化、または他の符号化方式を使用するもの等、他のプロトコルをサポート可能な高速データ転送速度ＰＣＳであり得る。
【００２８】
中央論理２７は、複数（Ｎ）のチャネル２１によって共有され得、チャネル２１すべてが同一プロトコルで使用される状況の使用のための自動速度交渉モジュール２７０を含み得る。各チャネル２１は、好ましくは、また、チャネル２１が、異なるプロトコルで使用される状況で使用するためのその独自の自動速度交渉モジュール２７１を有する。好ましくは、自動速度交渉モジュール２７１は、自動速度交渉モジュール２７０と同じであるが、これは、必須ではない。
【００２９】
ＰＭＡモジュール２６と反対のＰＣＳモジュール２２、２３、２４の末端では、ＰＣＳモジュール２２、２３、２４のそれぞれは、物理ＭＡＣ調停副層（ＰＨＹ／ＭＡＣ）２８または遠隔通信構造への他の接続に接続され得る。
【００３０】
図３は、自動速度交渉モジュール２７０、２７１の一方または両方としての役割を果たし得る、本発明による、自動速度交渉モジュール３１の一実施形態３１を示す。自動速度交渉モジュール３１は、ＰＣＳ受信機部分３５０およびＰＣＳ送信機部分３５１に対して示されるが、任意のＰＣＳまたはその部分に対する自動速度交渉モジュール３１の実際の物理配置は、異なり得る。
【００３１】
自動速度交渉モジュール３１は、好ましくは、転送速度変化信号発生器３１１と、受信速度デリミタ発生器３１２と、伝送速度デリミタ発生器３１３と、ビット誤り率モニタ３１４（モジュール３１外部に示されるが、その構成要素と見なされる）と、自動速度交渉コントローラ３１０とを含む。自動速度交渉コントローラ３１０は、好ましくは、受信速度デリミタ比較器３１５と、受信速度デリミタ受信信号発生器３１６と、伝送速度デリミタ挿入ユニット３１７と、伝送速度デリミタ伝送信号発生器３１８と、タイマ３１９とを含む。
【００３２】
自動速度交渉モジュール３１は、過度のビット誤り率が、受信されたデータ内に検出されるので、または関連プロトコルに従って動作する送受信機外部のデバイスのいくつかの部分が、転送速度変化信号（アップまたはダウン）を発行するので、または遠隔デバイスが、そのデータ転送速度を変化させ（遠隔デバイスが、過度のビット誤り率を検出したため、または別の理由のため）、ＰＣＳ受信機部分３５０によって受信されたデータ内に転送速度変化デリミタパターンを含んでいるので、データ転送速度を変化させる必要があり得る。過度のビット誤り率が、受信されたデータに検出される場合、ビット誤り率モニタ３１４によって検出され、ビット誤り率モニタ３１４は、ライン３００を介して、デバイス論理に、またはライン３０１を介して、直接、転送速度変化信号発生器３１１に指示を送信し得る。指示が、デバイス論理に送信される場合、デバイス論理は、指示を処理し、ライン３０２を介して、転送速度変化信号発生器３１１に、信号を送信するであろう。いずれにしても、転送速度変化信号発生器３１１は、変化速度信号、すなわち、オーバーサンプル発生信号であり得る、転送速度変化信号３２０を発生させ、その信号を自動速度交渉コントローラ３１０に送信するであろう。
【００３３】
次いで、自動速度交渉コントローラ３１０は、転送速度変化信号に従って、データ転送速度を変化させるであろう。転送速度変化信号の性質に応じて、データ転送速度を変化させる方法は、（ａ）種々のマルチプレクサに、それぞれ、シリアルデータ転送速度の減少または増加に影響を及ぼす、より狭いまたはより広いデータパスを選択させる、信号を発生および発行すること、（ｂ）デバイス上のＰＬＬに、そのデータ転送速度を変化（または、異なるデータ転送速度を有するＰＬＬを選択）させるように命令すること、または（ｃ）ある因数分、オーバーサンプリングを有効にし、その因数分、データ転送速度を減速させることであり得る。加えて、自動速度交渉コントローラ３１０は、ｄａｔａ＿ｐａｔｈ＿ｓｅｌｅｃｔ信号２５０を発生させ、新しいデータ転送速度に適切なＰＣＳモジュール２２、２３、２４のうちの１つを選択し得る。また、プログラマブルデバイスの残部へ／からの転送のために、新しいデータ転送速度に応じてデータの幅を変更するために、バイトシリアライゼーションまたはデシリアライゼーションが、有効または無効にされ得る。
【００３４】
前述のように、関与するプロトコルは、遠隔デバイスが、データ転送速度変化のために準備ができるように、データ転送速度変化が差し迫っている場合、データへの転送速度変化デリミタパターンの挿入を予期または少なくとも可能にし得る。したがって、図３の実施形態では、受信速度デリミタ発生器３１２および伝送速度デリミタ発生器３１３が、それらのデリミタ信号を発生させる。各送受信機は、送受信機と相互に通信可能であることが予期されるので、通常、１つのデリミタ発生器で十分であるはずであるように、受信速度デリミタパターンおよび伝送速度デリミタパターンが同一であることを予期するであろう。しかしながら、受信速度デリミタパターンおよび伝送速度デリミタパターンが、異なる場合が存在し得、したがって、好ましくは、最大限の柔軟性のために、受信速度デリミタ発生器３１２および伝送速度デリミタ発生器３１３の両方が、提供される。
【００３５】
したがって、エラー信号が、ビット誤り率モニタ３１４によって発生されるか、または転送速度変化信号が、デバイス論理によって発生され、データ転送速度変化をもたらする場合、好ましくは、転送速度変化信号発生器３１１が、結果として生じた転送速度変化コマンドを自動速度交渉コントローラ３１０に送信する場合に、伝送速度デリミタ発生器３１３に、ライン３３３を介して、伝送されたデータストリームに、伝送速度デリミタパターンを挿入するように、伝送速度デリミタ挿入ユニット３１７に命令させる。
【００３６】
加えて、伝送速度デリミタ挿入ユニット３１７は、タイマ１９が、データの伝送が禁止されている間（好ましくは、送信機をトライステートにすることによって）、前述の遅延期間のカウントダウンを開始する一方、適切な制御信号が送信され、転送速度を変化させるように、好ましくは、伝送速度デリミタ伝送信号発生器３１８に、伝送速度デリミタパターンが伝送されたことを示す信号をタイマ１９に送信させる。
【００３７】
同様に、デリミタ信号が、受信される場合、３４３において、受信速度デリミタ比較器３１５によって、検出することができ、受信速度デリミタ比較器３１５は、好ましくは、継続的に、３４３において受信されたデータを受信速度デリミタ発生器３１２によって発生されたデリミタパターンと比較する。受信速度デリミタ比較器３１５は、タイマ１９が、データの伝送が禁止されている間（好ましくは、送信機をトライステートにすることによって）、前述の遅延期間のカウントダウンを開始する一方、適切な制御信号が送信され、転送速度を変化させるように、好ましくは、受信速度デリミタ受信信号発生器３１６に、受信速度デリミタパターンが受信されたことを示す、信号をタイマ１９に送信させる。
【００３８】
いくつかのプロトコル下、チャネル上の転送速度が、変化し得る前に、好ましくは、変化を誘起する末端における送受信機および他方の末端における送受信機の両方が、デリミットパターンを送信および受信しなければならず、次いで、好ましくは、タイマ１９によって計時される遅延時間が経過するのを待つことが想定され得る。したがって、誘起末端は、好ましくは、デリミタパターンを送信し、デリミタパターンを受信し、次いで、好ましくは、遅延期間が経過するのを待機する。同様に、非誘起末端は、好ましくは、デリミタパターンを受信し、デリミタパターンを送信し、次いで、好ましくは、タイマ１９によって計時される、遅延期間が経過するのを待機する。
【００３９】
しかしながら、本発明内の動作の間、タイマ１９が随意である、他のプロトコルまたは動作モードが存在し得る。そのような実施形態では、転送速度は、両末端が、デリミタパターンの送信および受信の両方を行うとすぐに、変化し得る。同様に、一対のデリミタ信号の使用が、随意であり得る、他のプロトコルまたは動作モードが存在し得、転送速度変化は、誘起末端によるデリミタパターンの伝送に続いて、遅延期間の経過後、開始され得る（誘起末端は、デリミタパターンの伝送に関する遅延の計時を開始するであろう一方、非誘起末端は、デリミタパターンの受信に関する遅延の計時を開始するであろう）。さらに、いくつかの実施形態では、誘起末端は、デリミタパターンの伝送直後、その転送速度を変化させ、非誘起末端は、デリミタパターンの受信直後、その転送速度を変化させるであろうことが考えられる。
【００４０】
図４は、データ転送速度が、増加ならびに減少され得、デリミタパターンの使用が、随意である、実施形態における、自動速度交渉モジュール３１の好ましい動作モード４００を示す。プロセスは、ステップ４０１において開始し、ＰＣＳの電源が入れられ、使用されているアプリケーションによって決定される初期データ転送速度に構成される。
【００４１】
次に、試験４５１において、ＰＣＳ（すなわち、ＰＣＳの自動速度交渉モジュール３１）が、自動交渉を開始するための要求が、（例えば、ソフトウェアまたは他のプロトコル層から）受信されかどうかを決定する。要求が受信されていない場合、４５２において、自動交渉を開始するための要求が受信されるまで、監視を継続する。自動交渉を開始するための任意の要求は、自動交渉が生じるべきデータ転送速度を指定し得、自動交渉要求が受信されると、試験４５３において、現在のデータ転送速度が、自動交渉が生じるべき任意の指定されたデータ転送速度と一致するかどうか決定される。
【００４２】
現在のデータ転送速度が、自動交渉が生じるべき指定されたデータ転送速度と一致しない場合、試験４５４において、自動交渉が生じるべき指定されたデータ転送速度が、オーバーサンプリングを要求するほど低速であるかどうか決定される。自動交渉が生じるべき指定されたデータ転送速度が、オーバーサンプリングを要求するほど低速である場合、ステップ４５５において、オーバーサンプリングが有効にされ（例えば、ｏｖｅｒｓａｍｐｌｉｎｇ＿ｅｎａｂｌｅ信号２５１をアサートすることによって）、自動速度交渉モジュール３１は、ステップ４５６に継続する。試験４５４において、自動交渉が生じるべき指定されたデータ転送速度が、オーバーサンプリングを要求するほど低速ではないと決定される場合、ステップ４５５は、スキップされ、自動速度交渉方法は、ステップ４５６に継続する。
【００４３】
試験４５３において、現在のデータ転送速度が、自動交渉が生じるべき任意の指定されたデータ転送速度と一致すると決定される場合、自動速度交渉方法は、ステップ４５６に継続する。
【００４４】
ステップ４５６において、ＰＨＹ／ＭＡＣ２８およびＰＣＳ２２／２３／２４は、データ転送速度能力を遠隔デバイスと交換し、最高実行可能データ転送速度を決定する。その時点において、ステップ４５７では、自動交渉ハンドシェーキングが完了される。オーバーサンプリングが、ステップ４５５において、有効にされた場合、オーバーサンプリングは、無効にされる（例えば、ｏｖｅｒｓａｍｐｌｉｎｇ＿ｅｎａｂｌｅ信号３５１のアサート停止を行うことによって）。いずれにしても、自動速度交渉方法は、ステップ４０２に継続し、転送速度変化信号に対してＰＨＹ／ＭＡＣインターフェース２８を監視する。試験４０３において、転送速度変化信号が存在しない場合、方法は、ステップ４０３において、転送速度変化信号が存在するまで、ステップ４０２にループバックする。
【００４５】
試験４０３において、転送速度変化信号が存在すると、ステップ４０４において、デリミタパターンが、随意に、伝送され、ステップ４０５において、デリミタパターンの受信が、随意に、待機され、次いで、ステップ４０６において、遅延期間の経過（タイマ３１９）が、随意に、待機され、ＰＭＡまたは他の遠隔デバイスに、それ独自のデータ転送速度を修正させ、その後、ステップ４０７において、ＰＣＳデータ転送速度が、データ幅をスケーリングするか、あるいは周波数またはクロックをスケーリングすることによって（例えば、ＰＬＬを調節する、または異なるＰＬＬを選択することによって）、調節される。クロックマルチプレクサ制御入力および選択されたＰＣＳモジュール２２／２３／２４（例えば、前述の米国特許第７，６８４，４７７号に説明されるような）内のブロックのバイパス／有効化等、他の関連パラメータもまた、調節され得る。加えて、バイトシリアライゼーションまたはデシリアライゼーションが、有効または無効にされ、プログラマブルデバイスの残部へ／からの転送のために、新しいデータ転送速度に応じて、データの幅を変更し得る。
【００４６】
次に、試験４０８において、方法は、新しいデータ転送速度が、以前のデータ転送速度より高速であるかどうか、すなわち、データ転送速度が増加したかどうかを試験する。そうではない場合、方法は、ステップ４５１に戻り、自動交渉開始要求を待機する。試験４０８において、データ転送速度が、増加した場合、ステップ４０９および試験４１０において、ビット誤り率モニタ３１４が、容認可能でないレベルまでの誤り率の増加（これは、通常、データ転送速度が減少した場合は、配慮されない）に対して監視され、所定の間隔（実装毎に変動し得る）後、増加が存在しない場合、方法は、ステップ４０２に戻り、転送速度変化信号を待機する。その間隔内に容認可能でないレベルまでのビット誤り率の増加が存在する場合、ステップ４１１において、ビット誤り率モニタ３１４自体が、転送速度変化信号の発生を生じさせ得る。試験４１２が、ステップ４１１において、転送速度変化信号が発生していないと決定する場合、方法は、ステップ４０２に戻り、転送速度変化信号を待機する。試験４１２が、ステップ４１１において、転送速度変化信号が発生したと決定する場合、方法は、ステップ４０４に戻り、転送速度変化を処理する。
【００４７】
したがって、エラー信号に応答して、データ転送速度変化のより高速な処理を可能にする、ハードウェア速度交渉モジュールを伴う、シリアルインターフェースが、提供されたことが分かる。チャネルベースで本特徴を実装することは、システム性能を最適化し、各個々のチャネルをその独自の最高信頼性データ転送速度で機能させる。代替として、バンドルされたチャネルの場合、自動交渉モジュールが、共有され得る。
【００４８】
本発明の実施形態による、データパスおよび周波数スケーリングの組み合わせの実施例として、１６ｘ８ビットは、１２５ＭＨｚ（ＰＣＩｅ  Ｇｅｎ１）、または２５０ＭＨｚ（ＰＣＩＥ  Ｇｅｎ２）、または５００ＭＨｚ（ＰＣＩｅ  Ｇｅｎ３）で伝送され得る。別の実施例として、ＰＣＩｅ  Ｇｅｎ１下、２５０ＭＨｚで伝送される８ｘ８ビットは、ＰＣＩｅ  Ｇｅｎ２下では、５００ＭＨｚで８ｘ８ビット、ＰＣＩｅ  Ｇｅｎ３下では、５００ＭＨｚで１６ｘ８ビットにスケーリングされ得る。
【００４９】
本発明の実施形態における、バイトデシリアライゼーションの使用の実施例として、ＰＣＩｅ  Ｇｅｎ３下、２５０ＭＨｚで伝送される３２ｘ８ビットは、ＰＣＳインターフェースにおいて、バイトデシリアライゼーションを使用するＰＣＩｅ  Ｇｅｎ２下では、２５０ＭＨｚで１６ｘ８ビットとなり、またはＰＣＳインターフェースにおいて、バイトデシリアライゼーションを使用するＰＣＩｅ  Ｇｅｎ２下では、１２５ＭＨｚで１６ｘ８ビットとなり得る。プログラマブルデバイスでは、これは、初期世代のために開発されたプログラミングの再使用を可能にする。
【００５０】
本発明による、インターフェース２０を組み込む、ＰＬＤ１０は、多くの種類の電子デバイス内で使用され得る。可能な用途の１つは、図５に示されるデータ処理システム９００内におけるものである。データ処理システム９００は、以下の構成要素：プロセッサ９０１、メモリ９０２、Ｉ／Ｏ回路９０３、および周辺デバイス９０４のうちの１つ以上を含み得る。これらの構成要素は、システムバス９０５によって、ともに連結され、エンドユーザシステム９０７内に含まれる回路基板９０６上に取り込まれる。
【００５１】
システム９００は、コンピュータネットワーキング、データネットワーキング、機器類、ビデオ処理、デジタル信号処理、あるいはプログラマブルまたは再プログラマブル論理の使用の利点が望ましい任意の他の用途等、広範囲の用途において使用することができる。ＰＬＤ１０は、種々の異なる論理機能を実施するために使用することができる。例えば、ＰＬＤ１０は、プロセッサ９０１と協働するプロセッサまたはコントローラとして、構成することができる。ＰＬＤ１０はまた、システム９００内の共有リソースへのアクセスを調停するためのアービタとして使用され得る。さらに別の実施例では、ＰＬＤ１０は、プロセッサ９０１とシステム９００内の他の構成要素のうちの１つとの間のインターフェースとして構成することができる。システム９００は、例示に過ぎず、本発明の真の範囲および精神は、以下の請求項によって示されるはずであることに留意されたい。
【００５２】
種々の技術を使用して、前述のような、かつ本発明を含み込む、ＰＬＤ１０を実装することができる。
【００５３】
前述は、本発明の原理の例証に過ぎず、種々の修正が、本発明の範囲および精神から逸脱することなく、当業者によって行われてもよく、本発明は、以下の請求項によってのみ限定されることを理解されるであろう。
【図１】
2013520134.tif 000003
【図２】
2013520134.tif 000004
【図３】
2013520134.tif 000005
【図４Ａ】
2013520134.tif 000006
【図４Ｂ】
2013520134.tif 000007
【図５】
2013520134.tif 000008
【国際調査報告】
2013520134.tif 000009
2013520134.tif 000010
2013520134.tif 000011