(57)【要約】  同一信号を受信する隣接する２つの受信部（２０）間で、信号を受信した旨の情報を信号線（ＳＬ）を介して互いに通知し、他方の受信部（２０）からの通知と、自身の信号受信との時間差に応じて、伝送遅延差を補正する処理を実行し、隣接する受信部のうちの一方の受信部と、一方の受信部に隣接する受信部のうち、当該一方の受信部との間で補正処理を行なっていない方の受信部との選択と、選択された受信部間の伝送遅延差補正処理とを順次行なう。これにより、処理対象のレーン数が増大しても、配線レイアウト，ノイズ対策，回路の高速化を可能にしながら、伝送遅延差を確実に吸収補正することができる。
2012127575.tif 000002
【特許請求の範囲】
【請求項１】
複数の伝送路それぞれに対応する受信部を有し、隣接された受信部同士が信号線で接続され、前記複数の伝送路を介して送信側装置からのデータを受信する通信装置における伝送路間の伝送遅延差を補正する方法において、
同一信号を受信する隣接する２つの受信部間で、前記信号を受信した旨の情報を前記信号線を介して互いに通知し、
他方の受信部からの通知と、自身の信号受信との時間差に応じて、伝送遅延差を補正する処理を実行し、
前記隣接する受信部のうちの一方の受信部と、前記一方の受信部に隣接する受信部のうち、当該一方の受信部との間で補正処理を行なっていない方の受信部との選択と、選択された受信部間の伝送遅延差補正処理とを順次行なうことを特徴とする、伝送遅延差補正方法。
【請求項２】
前記複数の受信部における一端の受信部から他端の受信部に到達するまで２つの受信部を順次選択し、２つの受信部を選択する都度、前記補正処理を実行した後、
前記補正処理を施された前記複数の受信部における前記他端の受信部から前記一端の受信部に到達するまで２つの受信部を順次選択し、２つの受信部を選択する都度、前記補正処理を再度実行する、請求項１記載の伝送遅延差補正方法。
【請求項３】
複数の伝送路により送信装置に接続され、前記複数の伝送路を介して前記送信装置からの情報を受信する通信装置において、
前記伝送路毎に設けられた複数の受信部と、
隣接する受信部同士を接続する信号線とを有し、
前記複数の受信部の各々は、
対応する伝送路を介して受信した信号を検出するとともに、隣接する受信部との間で各々の当該信号の検出結果を前記信号線を介して授受する検出部と、
隣接する受信部と自身との前記信号の検出時間差より、当該受信部間の伝送遅延差を補正する制御を行なう制御部とを備え、
前記制御部は、自身の補正処理状況を隣接する受信部の制御部に通知するとともに、補正処理を行なっていない制御部は、隣接する受信部の制御部からの通知に応じて自身の補正処理を開始することを特徴とする、通信装置。
【請求項４】
前記制御部は、
隣接する受信部の制御部と連携し、
前記複数の受信部における一端の受信部から他端の受信部に到達するまで２つの受信部を順次選択し、２つの受信部を選択する都度、前記補正処理を実行した後、
前記補正処理を施された前記複数の受信部における前記他端の受信部から前記一端の受信部に到達するまで２つの受信部を順次選択し、２つの受信部を選択する都度、前記補正処理を再度実行する、請求項３記載の通信装置。
【請求項５】
前記制御部は、
前記送信装置からの複数のデータを一時的に保持するバッファと、
前記補正処理の実行時に、前記送信装置からの特定パターンを有するデータを検出するパターン検出部と、
前記補正処理の実行時に、前記パターン検出部による前記特定パターンの検出タイミングと、前記信号線によって送信される隣接する受信部での前記特定パターンの検出タイミングとに基づき、自身と隣接する受信部との間の伝送遅延差を検出する伝送遅延差検出部と、
前記伝送遅延差検出部によって検出された前記伝送遅延差を吸収補正するように前記バッファからの前記データの読出位置を設定するバッファ制御部と、を有する、請求項４記載の通信装置。
【請求項６】
前記制御部は、
前記送信装置からの複数のデータを一時的に保持するバッファを有し、
自身の信号受信が前記隣接する受信部による信号受信よりも遅い場合に、前記バッファからの前記データの読み出し位置を変更することを特徴とする、請求項４記載の通信装置。
【請求項７】
前記バッファ制御部は、
２つの受信部の選択が前記複数の受信部における一端の受信部から他端の受信部に到達するまでの間に前記前記伝送遅延差検出部によって検出された伝送遅延差と、２つの受信部の選択が前記他端の受信部から前記一端の受信部に到達するまでの間に前記伝送遅延差検出部によって検出された伝送遅延差とを加算した値を吸収補正するように前記バッファからの前記データの読出位置を設定する、請求項５記載の通信装置。
【請求項８】
前記制御部は、
隣接する受信部にそなえられた前記制御部と連携し、前記複数の受信部における一端の受信部から他端の受信部に到達するまで２つの受信部を順次選択し、２つの受信部を選択する都度、前記パターン検出部，前記伝送遅延差検出部および前記バッファ制御部に前記設定処理を実行させる一方、前記設定処理を施された前記複数の受信部における前記他端の受信部から前記一端の受信部に到達するまで２つの受信部を順次選択し、２つの受信部を選択する都度、前記パターン検出部，前記伝送遅延差検出部および前記バッファ制御部に前記補正処理を再度実行させるレーン制御部を有する、請求項５または請求項７に記載の通信装置。
【請求項９】
送信装置と、
複数の伝送路により前記送信装置に接続され、前記複数の伝送路を介して前記送信装置からの情報を受信する通信装置とをそなえ、
前記通信装置は、
前記伝送路毎に設けられた複数の受信部と、
隣接する受信部同士を接続する信号線とを有し、
前記複数の受信部の各々は、
対応する伝送路を介して受信した信号を検出するとともに、隣接する受信部との間で各々の当該信号の検出結果を前記信号線を介して授受する検出部と、
隣接する受信部と自身との前記信号の検出時間差より、当該受信部間の伝送遅延差を補正する制御を行なう制御部とを備え、
前記制御部は、自身の補正処理状況を隣接する受信部の制御部に通知するとともに、補正処理を行なっていない制御部は、隣接する受信部の制御部からの通知に応じて自身の補正処理を開始することを特徴とする、通信システム。
【請求項１０】
前記制御部は、
隣接する受信部の制御部と連携し、
前記複数の受信部における一端の受信部から他端の受信部に到達するまで２つの受信部を順次選択し、２つの受信部を選択する都度、前記補正処理を実行した後、
前記補正処理を施された前記複数の受信部における前記他端の受信部から前記一端の受信部に到達するまで２つの受信部を順次選択し、２つの受信部を選択する都度、前記補正処理を再度実行する、請求項９記載の通信システム。
【請求項１１】
前記制御部は、
前記送信装置からの複数のデータを一時的に保持するバッファと、
前記補正処理の実行時に、前記送信装置からの特定パターンを有するデータを検出するパターン検出部と、
前記補正処理の実行時に、前記パターン検出部による前記特定パターンの検出タイミングと、前記信号線によって送信される隣接する受信部での前記特定パターンの検出タイミングとに基づき、自身と隣接する受信部との間の伝送遅延差を検出する伝送遅延差検出部と、
前記伝送遅延差検出部によって検出された前記伝送遅延差を吸収補正するように前記バッファからの前記データの読出位置を設定するバッファ制御部と、を有する、請求項１０記載の通信システム。
【請求項１２】
前記制御部は、
前記送信装置からの複数のデータを一時的に保持するバッファを有し、
自身の信号受信が前記隣接する受信部による信号受信よりも遅い場合に、前記バッファからの前記データの読み出し位置を変更することを特徴とする、請求項１０記載の通信システム。
【請求項１３】
前記バッファ制御部は、
２つの受信部の選択が前記複数の受信部における一端の受信部から他端の受信部に到達するまでの間に前記前記伝送遅延差検出部によって検出された伝送遅延差と、２つの受信部の選択が前記他端の受信部から前記一端の受信部に到達するまでの間に前記伝送遅延差検出部によって検出された伝送遅延差とを加算した値を吸収補正するように前記バッファからの前記データの読出位置を設定する、請求項１１記載の通信システム。
【請求項１４】
前記制御部は、
隣接する受信部にそなえられた前記制御部と連携し、前記複数の受信部における一端の受信部から他端の受信部に到達するまで２つの受信部を順次選択し、２つの受信部を選択する都度、前記パターン検出部，前記伝送遅延差検出部および前記バッファ制御部に前記設定処理を実行させる一方、前記設定処理を施された前記複数の受信部における前記他端の受信部から前記一端の受信部に到達するまで２つの受信部を順次選択し、２つの受信部を選択する都度、前記パターン検出部，前記伝送遅延差検出部および前記バッファ制御部に前記補正処理を再度実行させるレーン制御部を有する、請求項１１または請求項１３に記載の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、伝送遅延差補正方法，通信装置および通信システムに関する。
【背景技術】
【０００２】
一般に、サーバ等の装置の内部では、送信モジュールと受信モジュールとの間で複数ビットのパラレルデータの伝送が行なわれる。複数ビットのパラレルデータをビット数分の信号線によりパラレルに伝送する場合、伝送経路長の違い等により信号線間に伝送遅延差（skew）が発生する。このため、伝送遅延差が受信側クロックの１周期内に収まらない場合、複数ビットのパラレルデータが、受信モジュールにおいて同一タイミングで受信されるように、各信号線で伝送されるデータの伝送遅延差を吸収する必要がある。従って、パラレルデータのビット数が増大すると、多数の信号線について、伝送遅延差を吸収する処理を行なわなければならない。【０００３】
そこで、送信側で複数ビットのパラレルデータを複数の部分データに分割し、分割された複数の部分データを、それぞれ、送信側と受信側との間に並設された複数のレーンによって送信側から受信側へシリアルデータとして伝送することが行なわれている。この場合も、伝送経路長の違い等によりレーン間に伝送遅延差（skew）が発生する。このため、伝送遅延差が受信側クロックの１周期内に収まらない場合、複数のレーンによって伝送されるデータが、受信側において同一タイミングで受信されるように、各レーンで伝送されるデータの伝送遅延差を吸収する必要がある。【０００４】
しかし、部分データを転送する場合には、パラレルデータのビット数より数が少ないレーン毎に伝送遅延差の吸収処理が行なわれるので、ビット数分の信号線について伝送遅延差の吸収処理が行なわれる場合に比べ、処理量が大幅に削減される。例えば６４ビットのパラレルデータを８のレーンにより送信側から受信側へ送信する際、６４ビットのパラレルデータが８組の８ビットデータに分割され、各８ビットデータが、パラレル／シリアル変換され、シリアルデータとして各レーンにより伝送される。従って、６４ビット分の信号線について伝送遅延差の吸収処理を行なう代わりに８のレーンについて伝送遅延差の吸収処理を行なうだけで、６４ビットのパラレルデータが受信側で同一タイミングで受信されるようになる。【０００５】
より具体的に、図３８に示す、データ伝送機能を有するサーバ等の装置１００では、送信モジュール１１０と受信モジュール１２０との間で複数ビット（例えば６４ビット）のパラレルデータの伝送が行なわれる。このとき、送信モジュール１１０では、複数ビットのパラレルデータが複数の部分データに分割される。分割された複数の部分データは、それぞれ、送信モジュール１１０と受信モジュール１２０との間に並設されたｎ＋１（ｎは自然数）のレーン[0]〜[n]によって、送信モジュール１１０から受信モジュール１２０へシリアルデータとして伝送される。そして、受信モジュール１２０において、複数の部分データから複数ビットのパラレルデータが復元される。【０００６】
各レーン[i]（ｉ＝０〜ｎ）は、レーン[i]用送信部１１０−ｉと、レーン[i]用受信部１２０−ｉと、レーン[i]用伝送路１３０−ｉとを含んでいる。また、送信部１１０−１〜１１０−ｎは送信モジュール１１０に含まれ、受信部１２０−１〜１２０−ｎは受信モジュール１２０に含まれている。【０００７】
各送信部１１０−ｉは、分割された部分データ（例えば８ビットデータ）をパラレル／シリアル変換しシリアルデータとして伝送路１３０−ｉへ送出する。
各伝送路１３０−ｉは、PCI (Peripheral Component Interconnect) Expressに代表されるシリアル伝送路で、送信部１１０−ｉから送出されたシリアルデータを受信部１２０−ｉへ伝送する。【０００８】
各受信部１２０−ｉは、図３９を参照しながら後述するごとく、伝送路１３０−ｉから受信したシリアルデータをシリアル／パラレル変換して部分データを復元する。また、各受信部１２０−ｉでは、データの読出位置を予め設定されたレーン間伝送遅延差吸収バッファ１２４（後述）により、各レーン[i]の伝送遅延差が吸収される。そして、伝送遅延差吸収後の部分データから、複数ビットのパラレルデータが復元される。【０００９】
図３９を参照しながら、図３８に示す装置１００の受信モジュール１２０および各レーン[i]用受信部１２０−ｉの構成について説明する。なお、図３９では、レーン[0]用受信部１２０−０の詳細構成のみが示されているが、各レーン[i]用受信部１２０−ｉもレーン[0]用受信部１２０−０と同様に構成されている。また、図３９では、ｎ＝７の場合、つまりレーン数（伝送路数）が８の場合が示されている。【００１０】
図３９に示すように、受信モジュール１２０は、受信部１２０−０〜１２０−７のほかに、レーン間伝送遅延差吸収制御回路（以下、単に「制御回路」という）１２０ａおよび処理モジュール１２０ｂを含んでいる。各受信部１２０−ｉは、シリアル／パラレル（Ｓ／Ｐ）変換回路１２１，ビット境界検出回路１２２，クロック乗換バッファ１２３，レーン間伝送遅延差吸収バッファ（以下、単に「バッファ」という）１２４およびパターン検出回路１２５を含んでいる。【００１１】
制御回路１２０ａは、受信部１２０−０〜１２０−７（パターン検出回路１２５）にそれぞれ信号線ＳＬ０〜ＳＬ７を介して接続され、受信部１２０−０〜１２０−７と連携してレーン[0]〜[7]間の伝送遅延差を吸収するための設定処理を制御する。制御回路１２０ａの機能の詳細については後述する。【００１２】
処理モジュール１２０ｂは、受信部１２０−０〜１２０−ｎで得られた部分データから復元されたパラレルデータに対する、プロトコルチェック等の処理を実行する。
Ｓ／Ｐ変換回路（DeSerializer）１２１は、伝送路１３０−ｉから受信したシリアルデータを８ビットのパラレルデータ（８ビットデータ）に変換する。【００１３】
ビット境界検出回路１２２は、Ｓ／Ｐ変換回路１２１からの８ビットデータを、送信側と受信側とで予め決められた境界検出用パターンと比較することにより、境界検出用パターンと同じパターンをもつ８ビットデータを、先頭の８ビットデータとして検出する。ビット境界検出回路１２２により検出される先頭の８ビットデータは、８ビット毎のデータの正しい区切り位置つまりビット境界（バイト境界）である。ビット境界検出回路１２２は、ビット境界を検出すると、その検出タイミングで、８ビットデータをクロック乗換バッファ１２３に書き込むためのライトイネーブル信号を生成してクロック乗換バッファ１２３へ出力する。上述したＳ／Ｐ変換回路１２１およびビット境界検出回路１２２によって、伝送路１３０−ｉから受信したシリアルデータが、意味のある８ビットデータに変換される。【００１４】
クロック乗換バッファ１２３は、前記ライトイネーブル信号を受けると、８ビットデータを順次書き込まれて一時的に保持することにより、送信モジュール１１０と受信モジュール１２０とでのクロック周波数差を吸収する。クロック乗換バッファ１２３に保持された８ビットデータは、受信モジュール１２０のクロックによって順次読み出される。【００１５】
バッファ１２４は、クロック乗換バッファ１２３からの８ビットデータを一時的に保持することにより、レーン[0]〜[7]間の伝送遅延差を吸収する。バッファ１２４での８ビットデータの保持時間（読出位置）は、初期化期間に、パターン検出回路１２５および制御回路１２０ａによって、後述するごとく調整され設定される。なお、バッファ１２４は、伝送路の設計情報に基づいて予想される最大の伝送遅延差を吸収可能なバッファ段数を有している。【００１６】
パターン検出回路１２５は、クロック乗換バッファ１２３から読み出された８ビットデータを、送信側と受信側とで予め決められた特定パターンと比較することにより、８ビットデータが特定パターンであるか否かを判断する機能を有している。パターン検出回路１２５は、８ビットデータが特定パターンであることを検出すると、パターン検出信号を信号線ＳＬｉにより制御回路１２０ａに通知する機能を有している。【００１７】
また、パターン検出回路１２５は、レーン[i]の伝送遅延差を検出するカウンタ機能を有している。このカウンタ機能は、特定パターンの検出タイミングでクロック信号によるインクリメントを開始し、制御回路１２０ａからの停止信号（後述）に応じてインクリメントを停止することにより、レーン[i]の伝送遅延差を、カウント値として検出する。さらに、パターン検出回路１２５は、カウンタ機能によって検出されたレーン[i]の伝送遅延差に基づき、レーン[i]におけるバッファ１２４からの８ビットデータの読出位置（読出タイミング）を設定する機能も有している。【００１８】
制御回路１２０ａは、前述したように、信号線ＳＬ０〜ＳＬ７を介してそれぞれ受信部１２０−０〜１２０−７に接続され、各受信部１２０−ｉのパターン検出回路１２５からのパターン検出信号を、信号線ＳＬｉによって受信する。また、制御回路１２０ａは、受信したパターン検出信号の論理積（ＡＮＤ）が“１”となったタイミング、つまり、全ての受信部１２０−０〜１２０−７のパターン検出回路１２５からパターン検出信号を受信したタイミングで、停止信号を、信号線ＳＬｉによって各受信部１２０−ｉのパターン検出回路１２５へ送信する。【００１９】
上述のごとく構成された装置１００では、レーン[0]〜[7]間の伝送遅延差を吸収するための設定処理が、以下のように実行される。
送信モジュール１１０および受信モジュール１２０には、これらのモジュール１１０，１２０の双方を同期動作させる初期化を行なう回路（図示略）が、初期化ステートマシンとして搭載されている。初期化ステートマシンは、装置１００起動時の初期化期間に、特定パターンを送信側から送出し受信側で特定パターンの受信を認識することにより、送信モジュール１１０と受信モジュール１２０との同期をとる。この初期化期間内に、レーン[0]〜[7]間の伝送遅延差を吸収するための設定処理も実行される。【００２０】
レーン[0]〜[7]間の伝送遅延差を吸収するための設定処理を実行する際、まず、特定パターンを含むデータが、送信モジュール１１０から全レーン[0]〜[7]に対して送信される。受信モジュール１２０では、初期化ステートマシンが受信部１２０−０〜１２０−７を一斉にイネーブル状態にして、各受信部１２０−ｉが、特定パターンを含むデータを受信する。【００２１】
各受信部１２０−ｉのパターン検出回路１２５は、受信した８ビットデータ（図３９の符号ｓ１参照）が特定パターンであることを検出すると、カウンタ機能によるインクリメントを開始する。同時に、パターン検出回路１２５は、パターン検出信号を信号線ＳＬｉにより制御回路１２０ａに送信する。【００２２】
全レーン[0]〜[7]におけるパターン検出回路１２５からのパターン検出信号（図３９の符号ｓ２参照）は、全レーン[0]〜[7]によって共用される一の制御回路１２０ａに集約される。制御回路１２０ａは、全レーン[0]〜[7]のパターン検出回路１２５からパターン検出信号を受信したタイミングで、停止信号（図３９の符号ｓ３参照）を信号線ＳＬｉによって各受信部１２０−ｉのパターン検出回路１２５へ送信する。【００２３】
各受信部１２０−ｉのパターン検出回路１２５は、制御回路１２０ａから停止信号を受信すると、カウンタ機能によるインクリメントを停止し、停止時のカウント値をレーン[i]の伝送遅延差として取得する。
このとき、全レーン[0]〜[7]間に伝送遅延差がない場合、全レーン[0]〜[7]のカウンタ機能によって計数されたカウント値は同じ値になる。しかし、レーン[0]〜[7]間に伝送遅延差が生じている場合、より早いタイミングで特定パターンを検出したレーンのカウント値は、他のレーンのカウント値よりも大きくなる。一方、より遅いタイミングで特定パターンを検出したレーンのカウント値は、他のレーンのカウント値よりも小さくなる。このようなカウント値が、各レーン[i]のバッファ１２４からのデータ読出開始位置（リードポインタの初期値）としてパターン検出回路１２５により設定される（図３９の符号ｓ４参照）。【００２４】
これにより、早いタイミングで特定パターンを検出したレーンではバッファ１２４の深い位置からデータが読み出され、遅いタイミングで特定パターンを検出したレーンではバッファ１２４の浅い位置からデータが読み出される。従って、全レーン[0]〜[7]間の伝送遅延差が吸収される。【００２５】
つまり、各レーン[i]のパターン検出回路１２５は、各レーン[i]の伝送遅延差を相殺すべく、伝送遅延差が最大のレーンにおけるバッファ１２４のデータ読出タイミングに合わせるようにバッファ１２４のデータ読み出し段数を調整する。バッファ１２４のデータ読み出し段数は、各レーン[i]の伝送路長の差に依存するため、初期化期間内に一旦決定されると以後変更する必要がなく固定される。
【先行技術文献】
【特許文献】
【００２６】
【特許文献１】特開２００９−２１９０９７号公報
【特許文献２】特開２００４−２８９５６７号公報
【発明の概要】
【発明が解決しようとする課題】
【００２７】
図３９に示すように、全レーン[0]〜[7]に対し共通部として存在する一の制御回路１２０ａには、信号線ＳＬ０〜ＳＬ７によって、全レーン[0]〜[7]の受信部１２０−０〜１２０−７からのパターン検出信号ｓ２が集約される。また、一の制御回路１２０ａからは、信号線ＳＬ０〜ＳＬ７によって、全レーン[0]〜[7]の受信部１２０−０〜１２０−７へ停止信号ｓ３が送り出される。このため、以下のような不具合が生じている。【００２８】
各レーン[i]からのパターン検出信号の情報量は１ビットで少ない。しかし、制御回路１２０ａでは、少なくともレーン数分の信号線が集約される。このため、レーンの数が増大すると、各レーン[i]と制御回路１２０ａとの間における配線レイアウトやノイズ対策が極めて困難になる。【００２９】
また、レーン数が多くなると、制御回路１２０ａから物理的に遠く離れた位置に配置されたレーンが出てくる。このように離れた位置に配置されたレーンを含む全レーンの同期を取りながら伝送遅延差を吸収するための設定処理を実行するために、回路の動作周波数を上げることが困難になる。逆に言うと、伝送遅延差を吸収するための設定処理に際し制御回路１２０ａから物理的に遠く離れたレーンが存在する場合、回路が高速化すると、制御回路１２０ａと離れたレーンとの間でパターン検出信号ｓ２や停止信号ｓ３を１クロックでやり取りすることが困難になる。【００３０】
上述したように、図３９に示す装置１００では、複数のレーンからの情報を一の制御回路１２０ａに集約していたため、伝送遅延差吸収処理対象のレーン数が増大すると、信号線の配線レイアウトやノイズ対策の観点および回路の動作周波数の観点から、回路作成が困難になっている。【００３１】
一つの側面で、本件は、処理対象のレーン数が増大しても、配線レイアウト，ノイズ対策，回路の高速化を可能にしながら、伝送遅延差を補正するための設定処理を確実に実行できるようにすることを目的とする。
なお、前記目的に限らず、後述する発明を実施するための最良の形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本件の他の目的の一つとして位置付けることができる。
【課題を解決するための手段】
【００３２】
本件の伝送遅延差補正方法は、複数の伝送路それぞれに対応する受信部を有し、隣接された受信部同士が信号線で接続され、前記複数の伝送路を介して送信側装置からのデータを受信する通信装置における伝送路間の伝送遅延差を補正する方法において、同一信号を受信する隣接する２つの受信部間で、前記信号を受信した旨の情報を前記信号線を介して互いに通知し、他方の受信部からの通知と、自身の信号受信との時間差に応じて、伝送遅延差を補正する処理を実行し、前記隣接する受信部のうちの一方の受信部と、前記一方の受信部に隣接する受信部のうち、当該一方の受信部との間で補正処理を行なっていない方の受信部との選択と、選択された受信部間の伝送遅延差補正処理とを順次行なう。【００３３】
また、本件の通信装置は、複数の伝送路により送信装置に接続され、前記複数の伝送路を介して前記送信装置からの情報を受信する通信装置において、前記伝送路毎に設けられた複数の受信部と、隣接する受信部同士を接続する信号線とを有し、前記複数の受信部の各々は、対応する伝送路を介して受信した信号を検出するとともに、隣接する受信部との間で各々の当該信号の検出結果を前記信号線を介して授受する検出部と、隣接する受信部と自身との前記信号の検出時間差より、当該受信部間の伝送遅延差を補正する制御を行なう制御部とを備え、前記制御部は、自身の補正処理状況を隣接する受信部の制御部に通知するとともに、補正処理を行なっていない制御部は、隣接する受信部の制御部からの通知に応じて自身の補正処理を開始する。【００３４】
さらに、本件の通信システムは、複数の伝送路により前記送信装置に接続され、前記複数の伝送路を介して前記送信装置からの情報を受信する通信装置とをそなえ、前記通信装置は、上述した通信装置と同様に構成される。
【発明の効果】
【００３５】
開示の技術では、処理対象のレーン数が増大しても、配線レイアウト，ノイズ対策，回路の高速化を可能にしながら、伝送遅延差を補正するための設定処理（補正処理）を確実に実行することができる。
【図面の簡単な説明】
【００３６】
【図１】一実施形態のデータ伝送機能を有する装置（通信システム）の構成を示すブロック図である。
【図２】本実施形態の伝送遅延差吸収装置を含む受信モジュール（通信装置）および各レーン用受信部の構成を示すブロック図である。
【図３】本実施形態の伝送遅延差吸収装置を含む受信モジュール（通信装置）の要部およびレーン間の信号線の配線状態を示すブロック図である。
【図４】本実施形態のパターン検出回路の構成およびレーン間伝送遅延差吸収制御回路の構成を示すブロック図である。
【図５】本実施形態のレーン間伝送遅延差吸収制御回路におけるレーン間伝送遅延差吸収バッファの構成および伝送遅延差吸収設定部の構成を示すブロック図である。
【図６】本実施形態のレーン間伝送遅延差吸収制御回路におけるレーン制御部の構成を示すブロック図である。
【図７】図６に示す第１および第２デコーダの論理（真理値表）を示す図である。
【図８】図６に示す第３デコーダの論理（真理値表）を示す図である。
【図９】本実施形態の伝送遅延差吸収装置（通信装置）によるレーン間伝送遅延差の吸収設定処理（補正処理）手順を説明するためのフローチャートである。
【図１０】（Ａ）〜（Ｆ）は本実施形態の伝送遅延差吸収装置におけるレーン間伝送遅延差の吸収設定処理（補正処理）を説明するための図である。
【図１１】本実施形態の伝送遅延差吸収装置におけるレーンペア選択動作(1)を説明するための図である。
【図１２】本実施形態の伝送遅延差吸収装置におけるレーンペア選択動作(2)を説明するための図である。
【図１３】本実施形態の伝送遅延差吸収装置におけるレーンペア選択動作(3)を説明するための図である。
【図１４】本実施形態の伝送遅延差吸収装置におけるレーンペア選択動作(4)を説明するための図である。
【図１５】本実施形態の伝送遅延差吸収装置におけるレーンペア選択動作(5)を説明するための図である。
【図１６】本実施形態の伝送遅延差吸収装置におけるレーンペア選択動作(6)を説明するための図である。
【図１７】本実施形態の伝送遅延差吸収装置におけるレーンペア選択動作(7)を説明するための図である。
【図１８】本実施形態の伝送遅延差吸収装置におけるレーンペア選択動作(8)を説明するための図である。
【図１９】本実施形態の伝送遅延差吸収装置におけるレーンペア選択動作(9)を説明するための図である。
【図２０】本実施形態の伝送遅延差吸収装置におけるレーンペア選択動作(10)を説明するための図である。
【図２１】本実施形態の伝送遅延差吸収装置におけるレーンペア選択動作(11)を説明するための図である。
【図２２】本実施形態の伝送遅延差吸収装置におけるレーンペア選択動作(12)を説明するための図である。
【図２３】本実施形態の伝送遅延差吸収装置におけるレーンペア選択動作(13)を説明するための図である。
【図２４】本実施形態の伝送遅延差吸収装置におけるレーンペア選択動作(14)を説明するための図である。
【図２５】本実施形態の伝送遅延差吸収装置におけるレーンペア選択動作(15)を説明するための図である。
【図２６】本実施形態の伝送遅延差吸収装置におけるレーンペア選択動作(16)を説明するための図である。
【図２７】本実施形態の伝送遅延差吸収装置におけるレーンペア選択動作(17)を説明するための図である。
【図２８】本実施形態の伝送遅延差吸収装置におけるレーンペア選択動作(18)を説明するための図である。
【図２９】本実施形態の伝送遅延差吸収装置におけるレーンペア選択動作(19)を説明するための図である。
【図３０】本実施形態の伝送遅延差吸収装置におけるレーンペア選択動作(20)を説明するための図である。
【図３１】本実施形態の伝送遅延差吸収装置におけるレーンペア選択動作(21)を説明するための図である。
【図３２】本実施形態の伝送遅延差吸収装置におけるレーンペア選択動作(22)を説明するための図である。
【図３３】本実施形態の伝送遅延差吸収装置におけるレーンペア選択動作(23)を説明するための図である。
【図３４】本実施形態の伝送遅延差吸収装置におけるレーンペア選択動作(24)を説明するための図である。
【図３５】本実施形態の伝送遅延差吸収装置におけるレーンペア選択動作(25)を説明するための図である。
【図３６】本実施形態の伝送遅延差吸収装置におけるレーンペア選択動作(26)を説明するための図である。
【図３７】本実施形態の伝送遅延差吸収装置におけるレーンペア選択動作(27)を説明するための図である。
【図３８】データ伝送機能を有する装置の構成を示すブロック図である。
【図３９】図３８に示す装置の受信モジュールおよび各レーン用受信部の構成を示すブロック図である。
【発明を実施するための形態】
【００３７】
以下、図面を参照して実施の形態を説明する。
〔１〕伝送遅延差吸収装置（通信装置）の構成
〔１−１〕伝送遅延差吸収装置（通信装置）を適用される装置（通信システム）の構成
図１は、一実施形態のデータ伝送機能を有する装置（通信システム）１の構成を示すブロック図である。図１に示すように、本実施形態の装置１においても、図３８に示した装置１００と同様、送信モジュール（送信側；送信装置）１０と受信モジュール（受信側；通信装置）２０との間で複数ビット（例えば６４ビット）のパラレルデータの伝送が行なわれる。このとき、送信モジュール１０では、複数ビットのパラレルデータが複数の部分データに分割される。分割された複数の部分データは、それぞれ、送信モジュール１０と受信モジュール２０との間に並設されたｎ＋１（ｎは自然数）のレーン[0]〜[n]によって、送信モジュール１０から受信モジュール２０へシリアルデータとして伝送される。そして、受信モジュール２０において、複数の部分データから複数ビットのパラレルデータが復元される。
【００３８】
各レーン[i]（ｉ＝０〜ｎ）は、レーン[i]用送信部１０−ｉと、レーン[i]用受信部２０−ｉと、レーン[i]用伝送路３０−ｉとを含んでいる。また、送信部１０−１〜１０−ｎは、送信モジュール１０に含まれ、受信部２０−１〜２０−ｎは、処理モジュール２０ａ，初期化ステートマシン２０ｂおよび終端ロジック２０ｃとともに、受信モジュール２０に含まれている。
【００３９】
各送信部１０−ｉは、分割された部分データ（例えば８ビットデータ）をパラレル／シリアル変換しシリアルデータとして伝送路３０−ｉへ送出する。
各伝送路３０−ｉは、PCI_Expressに代表されるシリアル伝送路で、送信部１０−ｉから送出されたシリアルデータを受信部２０−ｉへ伝送する。
【００４０】
各受信部２０−ｉは、図２を参照しながら後述するごとく、伝送路３０−ｉから受信したシリアルデータをシリアル／パラレル変換して部分データを復元する。また、各受信部２０−ｉでは、データの読出位置を予め設定されたレーン間伝送遅延差吸収バッファ２４（後述）により、各レーン[i]の伝送遅延差が補正される。そして、伝送遅延差補正後の部分データから、複数ビットのパラレルデータが復元される。各受信部２０−ｉには、処理モジュール２０ａが接続されており、処理モジュール１２０ｂは、部分データから復元されたパラレルデータに対する、プロトコルチェック等の処理を実行する。
【００４１】
複数のレーン[0]〜[n]における隣接するレーン[i]，[i+1]（または[i-1]，[i]）どうしは、信号線ＳＬによって接続され、隣接するレーン間で、伝送遅延差の吸収設定処理（補正処理）に係る情報（後述）をやり取り可能に構成されている。具体的には、図２や図３を参照しながら後述するごとく、受信部２０−ｉのパターン検出回路２５およびレーン間伝送遅延差吸収制御回路２６と、受信部２０−（ｉ＋１）のパターン検出回路２５およびレーン間伝送遅延差吸収制御回路２６とが、信号線ＳＬによって接続されている。
【００４２】
なお、一端のレーン[0]には、初期化ステートマシン２０ｂが信号線ＳＬを介して接続されている。初期化ステートマシン２０ｂは、送信モジュール１０および受信モジュール２０の双方を同期動作させる初期化を行なうほか、後述するレーンペア選択の開始処理および終端処理をレーン[0]に対して実行する機能を果たす。また、他端のレーン[n]には、終端ロジック２０ｃが信号線ＳＬを介して接続されている。終端ロジック２０ｃは、後述するレーンペア選択の折り返し動作をレーン[n]に実行させる論理回路である。初期化ステートマシン２０ｂおよび終端ロジック２０ｃの具体的な機能や動作については、図２，図３および図１１〜図３７を参照しながら後述する。
【００４３】
〔１−２〕伝送遅延差吸収装置（通信装置）の概要
各受信部２０−ｉには、図２〜図６を参照しながら後述するレーン間伝送遅延差吸収バッファ２４，パターン検出回路２５およびレーン間伝送遅延差吸収制御回路２６を含む吸収処理部（制御部）がそなえられている。吸収処理部は、複数のレーン[0]〜[n]の中から、隣接する２つのレーンを順次シフト選択する機能を果たす。また、吸収処理部は、２つのレーンを選択する都度、当該２つのレーン間で信号線ＳＬにより伝送遅延差の補正設定処理（補正処理）に係る情報（後述）をやり取りして、当該２つのレーン間の伝送遅延差を補正するための設定処理（補正処理）を実行する。なお、以下、順次シフト選択される、隣接する２つのレーンを「レーンペア」と呼び、一方のレーンを「プライマリレーン」と呼び、他方のレーンを「セカンダリレーン」と呼ぶ。
【００４４】
より具体的に、吸収処理部は、隣接レーンにおける受信部２０−（ｉ−１）または２０−（ｉ＋１）にそなえられた吸収処理部（パターン検出回路２５およびレーン間伝送遅延差吸収制御回路２６）と連携して、前記設定処理（補正処理）を実行する。このとき、吸収処理部は、複数のレーン[0]〜[n]における一端のレーン[0]から他端のレーン[n]に到達するまで２つのレーンを順次シフト選択し、２つのレーンを選択する都度、前記設定処理を実行する。この後、吸収処理部は、前記設定処理を施された複数のレーン[0]〜[n]における他端のレーン[n]から一端のレーン[0]に到達するまで２つのレーンを順次シフト選択し、２つのレーンを選択する都度、前記設定処理を再度実行する。吸収処理部に含まれるレーン間伝送遅延差吸収制御回路２６のレーン制御部２６ｂ（後述）によるレーンペア選択動作については、図１０〜図３７を参照しながら後述する。
【００４５】
図３９を参照しながら説明した設定処理では、伝送遅延差吸収対象の各レーンでのパターン検出信号が一の制御回路１２０ａに一旦集約されてから、一の制御回路１２０ａから全レーンの受信部へ停止信号が送信されている。
これに対し、本実施形態では、複数のレーン[0]〜[n]の受信部２０−０〜２０−ｎが、図１に示すように、信号線ＳＬを介して数珠状に接続されている。これにより、隣接レーンにおけるパターン検出回路２５／レーン間伝送遅延差吸収制御回路２６どうしが、伝送遅延差の吸収設定処理に係る情報（後述）をやり取りしながら、隣接レーン間の伝送遅延差を補正するための設定処理（補正処理）を実行している。ここで、設定処理（補正処理）とは、装置１の初期化期間中において、レーン間伝送遅延差吸収バッファ２４のデータ読出位置を、パターン検出回路２５およびレーン間伝送遅延差吸収制御回路２６によって設定する処理である。データ読出位置は、例えば図５を参照しながら後述するごとく、リードポインタによって指定される読出バッファ段数である。
【００４６】
つまり、本実施形態では、数珠状に接続されたレーンにおけるパターン検出回路２５およびレーン間伝送遅延差吸収制御回路２６により、レーンペアを順にシフトさせて選択しながら、伝送遅延差の吸収設定処理に係る情報（後述）が収集される。そして、収集された情報に基づき、レーンペアのうち伝送遅延差が小さい方の吸収処理部が、自身のレーン間伝送遅延差吸収バッファ２４のデータ読出タイミングを、伝送遅延差が大きい方のレーンにおけるレーン間伝送遅延差吸収バッファ２４に合わせる。これにより、図３９に示すように共用された一の制御回路１２０ａを用いることなく、レーンペア間の伝送遅延差を補正するための設定処理（補正処理）が、全てのレーン[0]〜[n]に対し順次実行される。
【００４７】
〔１−３〕受信モジュールの構成
次に、図２および図３を参照しながら、本実施形態の伝送遅延差吸収装置を含む受信モジュール（通信装置）２０の構成について説明する。ここで、図２は、受信モジュール２０および各レーン[i]用受信部２０−ｉの構成を示すブロック図、図３は、受信モジュール２０の要部およびレーン[0]〜[n]間の信号線ＳＬの配線状態を示すブロック図である。なお、図２および図３では、レーン[0]〜[2]用の受信部２０−０〜２０−２の詳細構成が示されているが、レーン[3]〜[n]用の受信部２０−３〜２０−ｎも同様に構成されている。
【００４８】
図２および図３に示すように、受信モジュール１２０における各受信部１２０−ｉは、Ｓ／Ｐ変換回路２１，ビット境界検出回路２２，クロック乗換バッファ２３，レーン間伝送遅延差吸収バッファ（以下、単に「バッファ」という）２４，パターン検出回路２５およびレーン間伝送遅延差吸収制御回路（以下、単に「制御回路」という）２６を含んでいる。なお、Ｓ／Ｐ変換回路２１，ビット境界検出回路２２およびクロック乗換バッファ２３は、それぞれ、図３９を参照しながら前述したＳ／Ｐ変換回路１２１，ビット境界検出回路１２２およびクロック乗換バッファ１２３と同等の機能を有しているので、その詳細な説明は省略する。
【００４９】
バッファ２４は、図３９に示したバッファ１２４と同等のもので、クロック乗換バッファ２３からの部分データを一時的に保持することにより、レーン[0]〜[n]間の伝送遅延差を吸収する。バッファ２４での部分データの保持時間（データ読出位置）は、初期化期間に、パターン検出回路２５および制御回路２６によって設定される。なお、バッファ２４は、伝送路の設計情報に基づいて予想される最大の伝送遅延差を吸収可能なバッファ段数を有している。また、バッファ２４の具体的な構成については、図５を参照しながら後述する。
【００５０】
パターン検出回路（検出部）２５は、図４を参照しながら後述するパターン検出部２５ａおよび伝送遅延差検出部２５ｂとしての機能を有している。
制御回路２６は、図４〜図６を参照しながら後述する伝送遅延差吸収設定部２６ａ，レーン制御部２６ｂおよびＯＲゲート２６ｃとしての機能を有している。
【００５１】
そして、本実施形態では、図３９に示す一の制御回路１２０ａに代え、図２および図３に示すように、各レーン[i]が、隣接レーンとの間の伝送遅延差を補正するためのバッファ段数の初期設定を可能にする制御回路２６をそなえている。各レーン[i]の制御回路２６は、同一レーン[i]内のパターン検出回路２５に接続されるとともに、信号線ＳＬを介して隣接レーン[i-1]，[i+1]の制御回路２６にも接続されている。また、各レーン[i]のパターン検出回路２５は、隣接レーン[i-1]，[i+1]から伝送遅延差の吸収設定処理に係る情報（パターン検出信号）を収集すべく、信号線ＳＬを介して隣接レーン[i-1]，[i+1]のパターン検出回路２５に接続されている。
【００５２】
〔１−４〕レーン間の信号および信号接続関係
ここで、図３を参照しながら、各レーン[i]において、信号線ＳＬによってパターン検出回路２５および制御回路２６に入力される信号と、信号線ＳＬによってパターン検出回路２５および制御回路２６から出力される信号とについて説明する。また、各レーン[i]と隣接レーン[i-1]，[i+1]との間の信号接続関係について説明する。
【００５３】
各レーン[i]のパターン検出回路２５には、隣接レーン[i-1]のパターン検出信号と隣接レーン[i+1]のパターン検出信号とが、伝送遅延差の吸収設定処理に係る情報として入力される。各レーン[i]のパターン検出回路２５は、自レーン[i]のパターン検出信号を、伝送遅延差の吸収設定処理に係る情報として、隣接レーン[i-1]，[i+1]のパターン検出回路２５へ出力する。なお、図中や以下の説明では、隣接レーン[i-1]を「隣接レーンＡ」と表記し、隣接レーン[i+1]は「隣接レーンＢ」と表記する場合がある。
【００５４】
なお、一端のレーン[0]は、端部に配置され、隣接レーン[i-1]に相当するレーンに接続されていない。このため、レーン[0]のパターン検出回路２５には、隣接レーン[i-1]に相当するレーンのパターン検出信号として“０”が常時入力される。また、自レーン[0]のパターン検出信号を隣接レーン[i-1]に相当するレーンへ出力するラインは開放されている。同様に、他端のレーン[n]は、端部に配置され、隣接レーン[i+1]に相当するレーンに接続されていない。このため、レーン[n]のパターン検出回路２５には、隣接レーン[i+1]に相当するレーンのパターン検出信号として“０”が常時入力される。また、自レーン[n]のパターン検出信号を隣接レーン[i+1]に相当するレーンへ出力するラインは開放されている。
【００５５】
各レーン[i]の制御回路２６には、隣接レーン[i-1]の２ビット信号LE (Lane Enable) 2[1:0]が２ビット信号LE1[1:0]として入力され、隣接レーン[i-1]の１ビット信号CL (Clear) 4が１ビット信号CL3として入力される。また、各レーン[i]の制御回路２６は、２ビット信号LE4[1:0]を隣接レーン[i-1]の２ビット信号LE3[1:0]として出力し、１ビット信号CL2を、隣接レーン[i-1]の１ビット信号CL1として出力する。
【００５６】
同様に、各レーン[i]の制御回路２６には、隣接レーン[i+1]の２ビット信号LE4[1:0]が２ビット信号LE3[1:0]として入力され、隣接レーン[i+1]の１ビット信号CL2が１ビット信号CL1として入力される。また、各レーン[i]の制御回路２６は、２ビット信号LE2[1:0]を隣接レーン[i+1]の２ビット信号LE1[1:0]として出力し、１ビット信号CL4を、隣接レーン[i+1]の１ビット信号CL3として出力する。
【００５７】
なお、一端のレーン[0]は、端部に配置され、隣接レーン[i-1]に相当するレーンに接続されていない。このため、レーン[0]の制御回路２６には、隣接レーン[i-1]に相当するレーンの制御回路２６として初期化ステートマシン２０ｂが接続され、レーン[0]の制御回路２６と初期化ステートマシン２０ｂとの間で信号LE1-LE4, CL1-CL4がやり取りされる。同様に、他端のレーン[n]は、端部に配置され、隣接レーン[i+1]に相当するレーンに接続されていない。このため、レーン[n]の制御回路２６には、隣接レーン[i+1]に相当するレーンの制御回路２６として終端ロジック２０ｃが接続され、レーン[n]の制御回路２６と終端ロジック２０ｃとの間で信号LE1-LE4, CL1-CL4がやり取りされる。
【００５８】
また、図４，図６，図２０および図２１を参照しながら説明するごとく、レーンペア選択の折り返し時に、レーン[n]の制御回路２６には、後述するレーン制御部２６ｂのフラグ“complete1”を設定するためのセット信号SC1が、隣接レーン伝送遅延情報として、終端ロジック２０ｃから入力される。同様に、図４，図６，図３４および図３５を参照しながら説明するごとく、前記設定処理の完了時に、レーン[0]の制御回路２６には、後述するレーン制御部２６ｂのフラグ“complete2”を設定するためのセット信号SC2が、隣接レーン伝送遅延情報として、初期化ステートマシン２０ｂから入力される。
【００５９】
また、各レーン[i]のパターン検出回路２５と制御回路２６との間でやり取りされる信号（情報）は以下の通りである。後述する遅延検出カウンタ２５５によるカウント値が伝送遅延差吸収情報としてパターン検出回路２５から制御回路２６へ送信され、後述するＡＮＤゲート２５８による論理積結果が隣接レーン伝送遅延差情報としてパターン検出回路２５から制御回路２６へ送信される。後述するＯＲゲート２６２３による論理和結果が２ビット信号LS (Lane Select)[1:0]として制御回路２６からパターン検出回路２５へ送信される。
【００６０】
さらに、各レーン[i]のパターン検出回路２５には、図４を参照しながら後述するごとく、隣接レーン[i-1]，[i+1]からの信号LE1，LE3が入力される。また、各レーン[i]のバッファ２４には、図４および図５を参照しながら後述するごとく、制御回路２６の伝送遅延差吸収設定部２６ａによる自レーン[i]の遅延設定情報が入力される。
【００６１】
上述のように隣接レーン間で信号線ＳＬを介して各種信号をやり取り可能に構成することにより、レーン[0]からレーン[n]までレーンペアを順次シフト選択しながら、レーンペア毎にバッファ２４の遅延設定が行なわれる。さらに、終端ロジック２０ｃでレーンペア選択のシフト方向が折り返されると、レーン[n]からレーン[0]までレーンペアを順次シフト選択しながら、レーンペア毎にバッファ２４の遅延設定が行なわれる。このようにレーンペア選択のシフトを往復させてバッファ２４の遅延設定を行なうことで、全レーン[0]〜[n]間の伝送遅延差を補正するための設定処理（補正処理）が行なわれる。なお、以下では、レーンペアがレーン[0]からレーン[n]までシフトする期間を「往路」と呼び、レーンペアがレーン[n]からレーン[0]までシフトする期間を「復路」と呼ぶ場合がある。
【００６２】
〔１−５〕吸収処理部の構成
以下では、全レーン[0]〜[n]間の伝送遅延差を補正するための設定処理（補正処理）を実行する吸収処理部の詳細な構成や機能、つまり各レーン[i]におけるバッファ２４，パターン検出回路２５および制御回路２６の構成や機能について、図４〜図８を参照しながら説明する。
〔１−５−１〕パターン検出回路２５の構成
図４は、パターン検出回路２５の構成およびレーン間伝送遅延差吸収制御回路２６の構成を示すブロック図である。
図４に示すように、パターン検出回路２５は、パターン検出部２５ａおよび隣接レーン間伝送遅延差検出部２５ｂを含んでいる。
【００６３】
パターン検出部２５ａは、クロック乗換バッファ２３から読み出された部分データ（例えば８ビットデータ）を、送信側と受信側とで予め決められた特定パターンと比較することにより、部分データが特定パターンであるか否かを判断する機能を果たす。当該機能を実現すべく、パターン検出部２５ａは、伝送遅延検出パターン記憶部２５１，比較器２５２，判定回路２５３およびＡＮＤゲート２５４を含んでいる。
【００６４】
伝送遅延検出パターン記憶部２５１は、送信側と受信側とで予め決められた特定パターンを記憶する。特定パターンは、例えば８ビットのパラレルデータである。
比較器２５２は、クロック乗換バッファ２３から読み出された８ビットデータと伝送遅延検出パターン記憶部２５１の特定パターンとを比較し、８ビットデータと特定パターンとが一致した場合に“１”を出力し、それ以外の場合に“０”を出力する。
【００６５】
判定回路２５３は、隣接レーン[i-1]または[i+1]からのレーンイネーブル信号LE1[1:0]またはLE3[1:0]が“０１”または“１０”になった場合に“１”を出力し、それ以外の場合に“０”を出力するもので、論理回路によって構成される。なお、レーンイネーブル信号LE1[1:0]またはLE3[1:0]が“０１”または“１０”になるのは、自レーン[i]がレーンペアとして選択されている時である。
【００６６】
ＡＮＤゲート２５４は、比較器２５２の出力と判定回路２５３の出力との論理積を出力する。つまり、ＡＮＤゲート２５４は、信号LE1[1:0]またはLE3[1:0]が“０１”または“１０”になり且つクロック乗換バッファ２３から読み出された８ビットデータが特定パターンになった場合に“１”を出力し、それ以外の場合に“０”を出力する。より具体的に、ＡＮＤゲート２５４は、自レーン[i]がレーンペアとして選択され且つ特定パターンが検出された場合に“１”を出力する。
【００６７】
隣接レーン間伝送遅延差検出部（伝送遅延差検出部）２５ｂは、自レーン[i]の特定パターンの検出タイミングと隣接レーン[i-1]または[i+1]での特定パターンの検出タイミングとに基づき、自レーン[i]と隣接レーン[i-1]または[i+1]との間の伝送遅延差を検出する機能を果たす。当該機能を実現すべく、隣接レーン間伝送遅延差検出部は、遅延検出カウンタ２５５，ＯＲゲート２５６，セレクタ２５７およびＡＮＤゲート２５８を含んでいる。
【００６８】
遅延検出カウンタ２５５は、ＡＮＤゲート２５４の出力が“１”になった時、つまり自レーン[i]がレーンペアとして選択され且つ特定パターンが検出されたタイミングでインクリメント（計数）を開始する。遅延検出カウンタ２５５は、後述するＡＮＤゲート２５８の出力の立ち上がりによって計数動作を停止する。なお、遅延検出カウンタ２５５のカウント値の初期値は“０”に設定されている。また、図４に示す遅延検出カウンタ２５５は、カウント値を例えば４ビットデータとして出力する。
【００６９】
ＯＲゲート２５６は、遅延検出カウンタ２５５の出力（カウント値）である４つのビットデータの論理和を自レーン[i]のパターン検出信号として出力する。より具体的に、ＯＲゲート２５６は、遅延検出カウンタ２５５が計数を開始していない状態つまり初期値“００００”を出力している状態で“０”を出力する。また、ＯＲゲート２５６は、遅延検出カウンタ２５５が計数を開始した状態つまり４つのビットデータのうちの少なくとも一つが“１”である状態で“１”を出力する。これにより、ＯＲゲート２５６は、遅延検出カウンタ２５５が計数を開始しカウント値が１になったタイミングで、自レーン[i]で特定パターンが検出されたことを示すパターン検出信号を、隣接レーン[i-1]および[i+1]に対して通知する。
【００７０】
セレクタ２５７は、制御回路２６（後述するレーン制御部２６ｂ）からのレーンセレクト信号LS[1:0]が“０１”の時、隣接レーン[i+1]（図４では隣接レーンＢ）のパターン検出信号を選択して出力する。レーンセレクト信号LS[1:0]が“０１”になるのは、後述するごとく、自レーン[i]が、往路上のレーンペアのプライマリの時、または、復路上のレーンペアのセカンダリの時である。一方、セレクタ２５７は、制御回路２６（後述するレーン制御部２６ｂ）からのレーンセレクト信号LS[1:0]が“１０”の時、隣接レーン[i-1]（図４では隣接レーンＡ）のパターン検出信号を選択して出力する。レーンセレクト信号LS[1:0]が“１０”になるのは、後述するごとく、自レーン[i]が、往路上のレーンペアのセカンダリの時、または、復路上のレーンペアのプライマリの時である。
【００７１】
ＡＮＤゲート２５８は、ＯＲゲート２５６の出力とセレクタ２５７の出力との論理積を隣接レーン伝送遅延差情報として出力する。つまり、ＡＮＤゲート２５８は、自レーン[i]のパターン検出信号が“１”になり、且つ、自レーン[i]とレーンペアを成す隣接レーン[i-1]または[i+1]のパターン検出信号が“１”になった場合に“１”を出力し、それ以外の場合に“０”を出力する。
【００７２】
ＡＮＤゲート２５８の出力である隣接レーン伝送遅延差情報は、計数停止信号として遅延検出カウンタ２５５に入力されるとともに、制御回路２６（後述するＯＲゲート２６ｃ）に入力される。
また、遅延検出カウンタ２５５は、ＡＮＤゲート２５８の出力が“１”になると計数動作を停止し、停止時点でのカウント値つまり自レーン[i]の伝送遅延差を、自レーン[i]の伝送遅延差吸収情報（４ビットデータ）として制御回路２６（後述する伝送遅延差吸収設定部２６ａ）へ出力する。ただし、本実施形態では、上述したように、各レーンのパターン検出信号は、遅延カウンタ２５５が１回インクリメントを行なって遅延カウンタ２５５の出力が“０”から“１”になった時点で出力される。このため、各レーンの遅延検出カウンタ２５５によって得られる伝送遅延差は、１だけ多く計数されている。したがって、後段の伝送遅延差吸収設定部２６ａで遅延検出カウンタ２５５のカウント値を用いる前には、後述する減算器２６１より、同カウント値から１だけ減じる処理が実行される。
【００７３】
上述した遅延検出カウンタ２５５によって計数されるカウント値は、自レーン[i]と隣接レーン[i-1]または[i+1]との間の伝送遅延差が０である場合には“１”になる。また、自レーン[i]のデータ伝送が隣接レーン[i-1]または[i+1]よりも遅い場合、カウンタ２５５が計数を開始した直後に計数停止信号を受けることになり、遅延検出カウンタ２５５によって計数されるカウント値は“１”になる。一方、自レーン[i]のデータ伝送が隣接レーン[i-1]または[i+1]よりも速い場合、カウンタ２５５は、計数を開始した後、隣接レーン[i-1]または[i+1]からパターン検出信号を受信するまで計数を行なうことになる。これにより、遅延検出カウンタ２５５によって計数されるカウント値は、自レーン[i]と隣接レーン[i-1]または[i+1]との間の伝送遅延差に応じたカウント値に、１を加算した値になる。
【００７４】
〔１−５−２〕レーン間伝送遅延差吸収制御回路２６の構成
レーン間伝送遅延差吸収制御回路２６は、図４に示すように、伝送遅延差吸収設定部２６ａ，レーン制御部２６ｂおよびＯＲゲート２６ｃを含んでいる。
ＯＲゲート２６ｃは、伝送遅延差検出部２５ｂのＡＮＤゲート２５８からの隣接レーン伝送遅延情報と後述する信号SCとの論理和を出力する。ここで、レーン[1]〜[n-1]のＯＲゲート２６ｃに入力される信号SCは“０”に固定される。一端のレーン[0]のＯＲゲート２６ｃに入力される信号SCとしては、前記設定処理の完了時にレーン制御部２６ｂのフラグ“complete2”を設定するためのセット信号SC2が、初期化ステートマシン２０ｂから入力される（図３４および図３５参照）。また、他端のレーン[n]のＯＲゲート２６ｃに入力される信号SCとしては、レーンペア選択の折り返し時にレーン制御部２６ｂのフラグ“complete1”を設定するためのセット信号SC1が、終端ロジック２０ｃから入力される（図２０および図２１参照）。そして、ＯＲゲート２６ｃの出力は、後述するごとく、隣接レーン伝送遅延差情報として、レーン制御部２６ｂの判定回路２６０２，２６０４に入力される。
【００７５】
伝送遅延差吸収設定部（バッファ制御部）２６ａは、レーンペアの選択がレーン[0]からレーン[n]に到達するまでの間に伝送遅延差検出部２５ｂによって検出された伝送遅延差を、伝送遅延差吸収情報として一時的に記憶する機能を有する。また、伝送遅延差吸収設定部２６ａは、記憶した伝送遅延差と、レーンペアの選択がレーン[n]からレーン[0]に到達するまでの間に伝送遅延差検出部２５ｂによって検出された伝送遅延差とを加算する機能を有する。さらに、伝送遅延差吸収設定部２６ａは、加算して得られた値（伝送遅延差）をバッファ２４で吸収するように、バッファ２４からの部分データの読出位置を設定する機能を有する。以上のような機能を果たす伝送遅延差吸収設定部２６ａの詳細な構成については、図５を参照しながら後述する。
【００７６】
レーン制御部２６ｂは、隣接レーンのレーン制御部２６ｂと信号線ＳＬを介して信号のやり取りを行なうことにより隣接レーンのレーン制御部２６ｂと連携し、以下のような機能を果たす。つまり、レーン制御部２６ｂは、レーン[0]からレーン[n]に到達するまでの往路上で、レーンペアを順次選択する。そして、レーン制御部２６ｂは、レーンペアを選択する都度、パターン検出部２５ａ，伝送遅延差検出部２５ｂおよびバッファ制御部２６ａに、選択されたレーンペアの伝送遅延差を補正するための設定処理を実行させる。この後、レーン制御部２６ｂは、当該設定処理を施されたレーン[0]〜[n]におけるレーン[n]からレーン[0]に到達するまでの復路上で、レーンペアを順次選択する。そして、レーン制御部２６ｂは、レーンペアを選択する都度、パターン検出部２５ａ，伝送遅延差検出部２５ｂおよびバッファ制御部２６ａに、選択されたレーンペアの伝送遅延差を補正するための設定処理を再度実行させる。
【００７７】
なお、レーン[i]のレーン制御部２６ｂは、レーンイネーブル信号LE1[1:0]およびクリア信号CL1を隣接レーンから入力される一方で、レーンイネーブル信号LE2[1:0]およびクリア信号CL2を隣接レーンへ出力する。このとき、レーンイネーブル信号LE1[1:0]は、隣接レーン[i-1]のレーンイネーブル信号LE2[1:0]であり、クリア信号CL1は、隣接レーン[i+1]のクリア信号CL2である。また、レーンイネーブル信号LE2[1:0]は、隣接レーン[i+1]のレーンイネーブル信号LE1[1:0]として出力され、クリア信号CL2は、隣接レーン[i-1]のクリア信号CL1として出力される。これらの信号LE1[1:0]，LE2[1:0]，CL1，CL2は、レーンペアがレーン[0]からレーン[n]へシフトする往路で用いられ、レーンペアがレーン[n]からレーン[0]へシフトする復路では“０”に固定される。
【００７８】
同様に、レーン[i]のレーン制御部２６ｂは、レーンイネーブル信号LE3[1:0]およびクリア信号CL3を隣接レーンから入力される一方で、レーンイネーブル信号LE4[1:0]およびクリア信号CL4を隣接レーンへ出力する。このとき、レーンイネーブル信号LE3[1:0]は、隣接レーン[i+1]のレーンイネーブル信号LE4[1:0]であり、クリア信号CL3は、隣接レーン[i-1]のクリア信号CL4である。また、レーンイネーブル信号LE4[1:0]は、隣接レーン[i-1]のレーンイネーブル信号LE3[1:0]として出力され、クリア信号CL4は、隣接レーン[i+1]のクリア信号CL3として出力される。これらの信号LE3[1:0]，LE4[1:0]，CL3，CL4は、レーンペアがレーン[n]からレーン[0]へシフトする復路で用いられ、レーンペアがレーン[0]からレーン[n]へシフトする往路では“０”に固定される。
【００７９】
さらに、レーン制御部２６ｂは、レーンセレクト信号LS[1:0]をパターン検出回路２５のセレクタ２５７へ出力するとともに、自レーン[i]の遅延設定情報を伝送遅延差吸収設定部２６ａへ出力する。
このような機能を果たすレーン制御部２６ｂの詳細な構成については、図６〜図８を参照しながら後述する。
【００８０】
また、上述のような機能を果たすレーン間伝送遅延差吸収制御回路２６を用いることにより、レーンペアが、レーン[0]とレーン[n]との間でシフトさせながら１往復するように選択される。そして、レーンペアが選択される都度、選択されたレーンペアの伝送遅延差を補正するための設定処理が実行される。例えば、レーン[0]，[1]を選択して設定処理が実行された後は、レーン[1]，[2]を選択して設定処理が実行される。これを繰り返し、レーン[n-1]，[n]を選択して設定処理が実行された後は、終端ロジック２０ｃによりレーンペア選択の折り返し動作が実行される。この後、レーン[n]，[n-1]を選択して設定処理が実行された後は、レーン[n-1]，[n-2]を選択して設定処理が実行される。これを繰り返し、レーン[1]，[0]を選択して設定処理が実行された後は、初期化ステートマシン２０ｂによりレーンペア選択の終端処理が実行される。以上の処理によって、全レーン[0]〜[n]の伝送遅延差を補正するための設定処理が実行されることになる。
【００８１】
〔１−５−３〕レーン間伝送遅延差吸収バッファ２４の構成
図５は、制御回路２６におけるレーン間伝送遅延差吸収バッファ２４の構成および伝送遅延差吸収設定部２６ａの構成を示すブロック図である。
図５に示すように、レーン間伝送遅延差吸収バッファ２４は、４段のバッファ（Ｄ）２４１〜２４４およびセレクタ２４５を含んでいる。このバッファ２４は、伝送路の伝送遅延差を吸収しうる段数を有している。この段数は、伝送路の設計要素の１つとして予め取り決めがなされる。
【００８２】
４段のバッファ２４１〜２４４は、クロック乗換バッファ２３の出力ラインに直列接続され、クロック乗換バッファ２３からの８ビットデータを入力される。
セレクタ２４５には、クロック乗換バッファ２３の出力ラインから４段のバッファ２４１〜２４４を迂回するラインＬ０が接続されるとともに、４段のバッファ２４１〜２４４の出力ラインＬ１〜Ｌ４がそれぞれ接続されている。
【００８３】
セレクタ２４５は、伝送遅延差吸収設定部２６ａの保持ＦＦ（flip-flop）２６３（後述）に保持された値に応じて、５つのラインＬ０〜Ｌ４のうちの一つからのデータを選択的に切り換えて出力する。保持ＦＦ２６３に保持される値は、自レーン[i]と隣接レーンとの間の伝送遅延差を示す、例えば３ビットのデータで、バッファ２４のリードポインタとして用いられる。保持ＦＦ２６３の値が“０００”の時、セレクタ２４５は、ラインＬ０を選択し、クロック乗換バッファ２３からの８ビットデータを遅延させることなくそのまま出力する。保持ＦＦ２６３の値が“００１”の時、セレクタ２４５は、ラインＬ１つまり１段目のバッファ２４１をデータ読出位置として選択し、クロック乗換バッファ２３からの８ビットデータをバッファ２４１により１クロック分遅延させて出力する。保持ＦＦ２６３の値が“０１０”の時、セレクタ２４５は、ラインＬ２つまり２段目のバッファ２４２をデータ読出位置として選択し、クロック乗換バッファ２３からの８ビットデータをバッファ２４１，２４２により２クロック分遅延させて出力する。保持ＦＦ２６３の値が“０１１”の時、セレクタ２４５は、ラインＬ３つまり３段目のバッファ２４３をデータ読出位置として選択し、クロック乗換バッファ２３からの８ビットデータをバッファ２４１〜２４３により３クロック分遅延させて出力する。保持ＦＦ２６３の値が“１００”の時、セレクタ２４５は、ラインＬ４つまり４段目のバッファ２４４をデータ読出位置として選択し、クロック乗換バッファ２３からの８ビットデータをバッファ２４１〜２４４により４クロック分遅延させて出力する。
【００８４】
〔１−５−４〕伝送遅延差吸収設定部２６ａの構成
図５に示すように、伝送遅延差吸収設定部２６ａは、減算器２６１，セレクタ２６２，保持ＦＦ２６３および加算器２６４を含む。
減算器２６１は、パターン検出回路２６の伝送遅延差吸収情報、つまり遅延検出カウンタ２５５によるカウント値から１を減じる。減算器２６１によりカウント値から１を減じる処理を行なうのは、図４を参照しながら前述した通り、遅延検出カウンタ２５５によって得られる伝送遅延差は１だけ多く計数され、２つのレーン間に伝送遅延差が無い場合でも伝送遅延差が“１”となるからである。したがって、遅延検出カウンタ２５５において上述のようなレイテンシが生じなければ、減算器２６１をそなえくても、本装置は実現可能である。なお、本実施形態では、遅延検出カウンタ２５５によるカウント値が４ビットデータで、減算器２６１から出力されるデータは、１を減じることにより、３ビットデータとなっている。
【００８５】
セレクタ２６２には、減算器２６１からのラインＬ１０と、後述する加算器２６４からのラインＬ１１と、後述する保持ＦＦ２６３からのラインＬ１２とが接続されている。
セレクタ２６２は、レーン制御部２６ｂの遅延差吸収状態制御デコーダ（第３デコーダ；後述）２６２１の出力値（切換信号）に応じて、３つのラインＬ１０〜Ｌ１２のうちの一つからのデータを選択的に切り換えて保持ＦＦ２６３に出力する。デコーダ２６２１の出力値は、例えば図６および図８を参照しながら後述するような２ビットデータである。デコーダ２６２１の出力値が“００”の時、セレクタ２６２は、ラインＬ１０を選択し、減算器２６１からの値を出力して保持ＦＦ２６３に保持させる。デコーダ２６２１の出力値が“０１”の時、セレクタ２６２は、ラインＬ１１を選択し、加算器２６４からの値を出力して保持ＦＦ２６３に保持させる。デコーダ２６２１の出力値が“１０”または“１１”の時、セレクタ２６２は、ラインＬ１２を選択し、保持ＦＦ２６３の値を出力して保持ＦＦ２６３に再度保持させる。つまり、デコーダ２６２１の出力値が“１０”または“１１”の時、保持ＦＦ２６３は、同じ値を保持し続けることになる。
【００８６】
保持ＦＦ２６３は、セレクタ２６２から出力された値を自レーン[i]の伝送遅延差（伝送遅延差吸収情報）として保持し、その値を、自レーン[i]の遅延設定情報としてバッファ２４のセレクタ２４５に出力する。保持ＦＦ２６３に保持される値は、前述のごとくバッファ２４のリードポインタとして用いられる。
加算器２６４は、減算器２６１からの値と保持ＦＦ２６３からの値とを加算して得られた値を、ラインＬ１１を通じてセレクタ２６２へ出力する。
【００８７】
ここで、レーン制御部２６ｂの遅延差吸収状態制御デコーダ２６２１の出力値に応じた、伝送遅延差吸収設定部２６ａの動作について説明する。
各レーン[i]での伝送遅延差吸収処理（補正処理）は、漏れの無いように、以下のタイミングで計４回実行される。つまり、レーン[i]が往路でセカンダリレーンとして選択された時と、レーン[i]が往路でプライマリレーンとして選択された時と、レーン[i]が復路でセカンダリレーンとして選択された時と、レーン[i]が復路でプライマリレーンとして選択された時との計４回である。
【００８８】
１回目（往路セカンダリ時）には、遅延差吸収状態制御デコーダ２６２１の出力値は“００”となり（図８参照）、セレクタ２４５により、ラインＬ１０つまり減算器２６１からの伝送遅延値が選択され、１回目の伝送遅延差吸収情報として保持ＦＦ２６３に記憶される。
２回目（往路プライマリ時）には、遅延差吸収状態制御デコーダ２６２１の出力値は“０１”となり（図８参照）、セレクタ２４５により、ラインＬ１１つまり加算器２６４からの伝送遅延値が選択され、２回目の伝送遅延差吸収情報として保持ＦＦ２６３に記憶される。つまり、減算器２６１により新たに得られた伝送遅延値と、保持ＦＦ２６３に保持されている１回目の伝送遅延値とが、加算器２６４によって加算され、その加算値が、２回目の伝送遅延差吸収情報として保持ＦＦ２６３に記憶される。
【００８９】
３回目（復路セカンダリ時）には、遅延差吸収状態制御デコーダ２６２１の出力値は“０１”となり（図８参照）、セレクタ２４５により、ラインＬ１１つまり加算器２６４からの伝送遅延値が選択され、３回目の伝送遅延差吸収情報として保持ＦＦ２６３に記憶される。つまり、減算器２６１により新たに得られた伝送遅延値と、保持ＦＦ２６３に保持されている２回目の伝送遅延値とが、加算器２６４によって加算され、その加算値が、３回目の伝送遅延差吸収情報として保持ＦＦ２６３に記憶される。
【００９０】
４回目（復路プライマリ時）には、遅延差吸収状態制御デコーダ２６２１の出力値は“０１”となり（図８参照）、セレクタ２４５により、ラインＬ１１つまり加算器２６４からの伝送遅延値が選択され、４回目の伝送遅延差吸収情報として保持ＦＦ２６３に記憶される。つまり、減算器２６１により新たに得られた伝送遅延値と、保持ＦＦ２６３に保持されている３回目の伝送遅延値とが、加算器２６４によって加算され、その加算値が、４回目の伝送遅延差吸収情報として保持ＦＦ２６３に記憶される。
【００９１】
上述した４回のタイミング以外では、遅延差吸収状態制御デコーダ２６２１の出力値は“０１”となり（図８参照）、セレクタ２４５により、ラインＬ１２つまり保持ＦＦ２６３からの伝送遅延値が選択され、伝送遅延差吸収情報として保持ＦＦ２６３に再度記憶される。つまり、保持ＦＦ２６３は、同じ値を保持し続ける。なお、遅延差吸収状態制御デコーダ２６２１の出力値として誤って“１１”がセレクタ２６２に入力された場合も、セレクタ２４５により、ラインＬ１２が選択され、保持ＦＦ２６３は、同じ値を保持し続ける。
【００９２】
ここで、上述のごとく構成されたパターン検出回路２５，バッファ２４および伝送遅延差吸収設定部２６ａによる具体的な動作について、簡単に説明する。
例えばレーン[0]のデータがレーン[1]のデータよりも１クロック分早く到着する場合、レーン[0]のカウンタ２５５によるカウント値は“２”となり、レーン[0]の伝送遅延差吸収設定部２６ａの保持ＦＦ２６３には“００１”が保持される。保持ＦＦ２６３における値がバッファ２４のリードポインタとなるため、レーン[0]ではセレクタ２４５により１段目のバッファ２４１が選択され、このバッファ２４１からデータが読み出されることになる。一方、レーン[1]のカウンタ２５５は、“１”を計数したときにＡＮＤゲート２５８から隣接レーン伝送遅延差情報（レーン[0]のパターン検出信号）を受け取り、計数動作を停止し、レーン[1]の伝送遅延差吸収設定部２６ａの保持ＦＦ２６３には“０００”が保持される。その結果、レーン[1]ではセレクタ２４５によりバイパスラインＬ０が選択され、データは、バッファ２４１〜２４４をバイパスして読み出されることになる。
【００９３】
〔１−５−５〕レーン制御部２６ｂの構成
図６は、レーン間伝送遅延差吸収制御回路２６におけるレーン制御部２６ｂの構成を示すブロック図である。
図６に示すように、レーン制御部２６ｂは、判定回路２６０１〜２６１２，フラグ保持レジスタ２６１３〜２６１８，第１デコーダ２６１９，第２デコーダ２６２０，第３デコーダ２６２１，インバータ２６２２およびＯＲゲート２６２３を含んでいる。
【００９４】
判定回路２６０１，２６０２，フラグ保持レジスタ２６１３，２６１４および第１デコーダ２６１９は往路で用いられ、判定回路２６０３，２６０４，フラグ保持レジスタ２６１５，２６１６および第２デコーダ２６２０は復路で用いられる。また、判定回路２６０５〜２６１２，フラグ保持レジスタ２６１７，２６１８，第３デコーダ２６２１，インバータ２６２２およびＯＲゲート２６２３は、往路および復路の両方で用いられる。
【００９５】
まず、往路で用いられる構成について説明する。
判定回路２６０１は、レーンイネーブル信号LE1[1:0]を入力され、この信号LE1[1:0]が“０１”であるか否かを判定し、信号LE1[1:0]が“０１”になったと判定すると、フラグ保持レジスタ２６１３にフラグ“current1”をセットする。なお、レーンイネーブル信号LE1[1:0]は、前述した通り、隣接レーン[i-1]のレーンイネーブル信号LE2[1:0]である。
【００９６】
フラグ保持レジスタ２６１３は、判定回路２６０１によりフラグ“current1”をセットされると、信号sigA1として“１”を出力する。フラグ保持レジスタ２６１３にはクリア信号CL1が入力されており、このクリア信号CL1が“１”になると、フラグ保持レジスタ２６１３は、フラグ“current1”をクリアし、信号sigA1として“０”を出力する。なお、クリア信号CL1は、前述した通り、隣接レーン[i+1]のクリア信号CL2である。フラグ“current1”は、自レーン[i]が往路でレーンペアとして選択されていることを示す。
【００９７】
判定回路２６０２は、フラグ保持レジスタ２６１３の出力sigA1とＯＲゲート２６ｃからの隣接レーン伝送遅延差情報とを入力され、出力sigA1が“１”になり且つ隣接レーン伝送遅延情報が“１”になったか否かを判定する。判定回路２６０２は、出力sigA1が“１”になり且つ隣接レーン伝送遅延情報が“１”になったと判定すると、フラグ保持レジスタ２６１４にフラグ“complete1”をセットする。
フラグ保持レジスタ２６１４は、判定回路２６０２によりフラグ“complete1”をセットされると、信号sigA2として“１”を出力する。フラグ“complete1”は、自レーン[i]が往路での伝送遅延差吸収処理を完了したことを示す。
【００９８】
第１デコーダ（Lane EN decoder1）２６１９は、レジスタ２６１３からの信号sigA1（current1）とレジスタ２６１４からの信号sigA2（complete1）とを入力され、これらの信号sigA1, sigA2をデコードし、レーンイネーブル信号LE2[1:0]とクリア信号CL2とを生成して出力する。第１デコーダ２６１９によるデコード内容、つまり信号sigA1, sigA2と出力信号LE2[1:0], CL2との関係は、図７に示す論理（真理値表）の通りである。なお、前述した通り、レーンイネーブル信号LE2[1:0]は、隣接レーン[i+1]のレーンイネーブル信号LE1[1:0]として出力され、クリア信号CL2は、隣接レーン[i-1]のクリア信号CL1として出力される。
【００９９】
ついで、復路で用いられる構成について説明する。
復路で用いられる判定回路２６０３，２６０４，フラグ保持レジスタ２６１５，２６１６および第２デコーダ２６２０は、それぞれ、往路で用いられる判定回路２６０１，２６０２，フラグ保持レジスタ２６１３，２６１４および第１デコーダ２６１９に対応している。レーンイネーブル信号LE3[1:0], LE4[1:0]は、それぞれレーンイネーブル信号LE1[1:0], LE2[1:0]に対応し、クリア信号CL3, CL4は、それぞれクリア信号CL1, CL2に対応している。また、フラグ“current2”，“complete2”はそれぞれフラグ“current1”，“complete1”に対応し、信号sigB1, sigB2はそれぞれ信号sigA1, sigA2に対応している。
【０１００】
つまり、判定回路２６０３は、レーンイネーブル信号LE3[1:0]を入力され、この信号LE3[1:0]が“０１”であるか否かを判定し、信号LE3[1:0]が“０１”になったと判定すると、フラグ保持レジスタ２６１５にフラグ“current2”をセットする。なお、レーンイネーブル信号LE3[1:0]は、前述した通り、隣接レーン[i+1]のレーンイネーブル信号LE4[1:0]である。
【０１０１】
フラグ保持レジスタ２６１５は、判定回路２６０３によりフラグ“current2”をセットされると、信号sigB1として“１”を出力する。フラグ保持レジスタ２６１５にはクリア信号CL3が入力されており、このクリア信号CL3が“１”になると、フラグ保持レジスタ２６１５は、フラグ“current2”をクリアし、信号sigB1として“０”を出力する。なお、クリア信号CL3は、前述した通り、隣接レーン[i-1]のクリア信号CL4である。フラグ“current2”は、自レーン[i]が復路でレーンペアとして選択されていることを示す。
【０１０２】
判定回路２６０４は、フラグ保持レジスタ２６１５の出力sigB1とＯＲゲート２６ｃからの隣接レーン伝送遅延差情報とを入力され、出力sigB1が“１”になり且つ隣接レーン伝送遅延情報が“１”になったか否かを判定する。判定回路２６０４は、出力sigB1が“１”になり且つ隣接レーン伝送遅延情報が“１”になったと判定すると、フラグ保持レジスタ２６１６にフラグ“complete2”をセットする。
フラグ保持レジスタ２６１６は、判定回路２６０４によりフラグ“complete2”をセットされると、信号sigB2として“１”を出力する。フラグ“complete2”は、自レーン[i]が復路での伝送遅延差吸収処理を完了したことを示す。
【０１０３】
第２デコーダ（Lane EN decoder2）２６２０は、レジスタ２６１５からの信号sigB1（current2）とレジスタ２６１６からの信号sigB2（complete2）とを入力され、これらの信号sigB1, sigB2をデコードし、レーンイネーブル信号LE4[1:0]とクリア信号CL4とを生成して出力する。第２デコーダ２６２０によるデコード内容、つまり信号sigB1, sigB2と出力信号LE4[1:0], CL4との関係は、図７に示す論理（真理値表）の通りである。ただし、第２デコーダ２６２０で図７に示す真理値表を用いる場合、信号sigA1, sigA2がそれぞれ信号sigB1, sigB2に置き換えられ、且つ、レーンイネーブル信号LE2[1:0]およびクリア信号CL2がそれぞれレーンイネーブル信号LE4[1:0]およびクリア信号CL4に置き換えられる。なお、前述した通り、レーンイネーブル信号LE4[1:0]は、隣接レーン[i-1]のレーンイネーブル信号LE3[1:0]として出力され、クリア信号CL4は、隣接レーン[i+1]のクリア信号CL3として出力される。
【０１０４】
ついで、往路および復路の両方で用いられる構成について説明する。
判定回路２６０５は、レーンイネーブル信号LE1[1:0]を入力され、この信号LE1[1:0]が“０１”であるか否かを判定し、信号LE1[1:0]が“０１”になったと判定すると、フラグ保持レジスタ２６１７にフラグ“Primary”をセットする。
判定回路２６０６は、レーンイネーブル信号LE1[1:0]を入力され、この信号LE1[1:0]が“００”であるか否かを判定し、信号LE1[1:0]が“００”になったと判定すると、フラグ保持レジスタ２６１７のフラグ“Primary”をクリアする。
【０１０５】
判定回路２６０７は、レーンイネーブル信号LE3[1:0]を入力され、この信号LE3[1:0]が“０１”であるか否かを判定し、信号LE3[1:0]が“０１”になったと判定すると、フラグ保持レジスタ２６１７にフラグ“Primary”をセットする。
判定回路２６０８は、レーンイネーブル信号LE3[1:0]を入力され、この信号LE3[1:0]が“００”であるか否かを判定し、信号LE3[1:0]が“００”になったと判定すると、フラグ保持レジスタ２６１７のフラグ“Primary”をクリアする。
【０１０６】
フラグ保持レジスタ（以下「プライマリレジスタ」という）２６１７は、レーンイネーブル信号LE1[1:0]またはLE3[1:0]が“０１”の時にセット可能になるようにセット優先ＦＦによって構成される。プライマリレジスタ２６１７は、往路で判定回路２６０５によりフラグ“Primary”をセットされた場合または復路で判定回路２６０７によりフラグ“Primary”をセットされた場合、“１”を出力する。また、プライマリレジスタ２６１７は、往路で判定回路２６０６によりフラグ“Primary”をクリアされた場合または復路で判定回路２６０８によりフラグ“Primary”をクリアされた場合、“０”を出力する。フラグ“Primary”は、自レーン[i]が往路または復路でレーンペアのプライマリレーンとして選択され伝送遅延差を調整中であることを示す。
【０１０７】
判定回路２６０９は、レーンイネーブル信号LE1[1:0]を入力され、この信号LE1[1:0]が“１０”であるか否かを判定し、信号LE1[1:0]が“１０”になったと判定すると、フラグ保持レジスタ２６１８にフラグ“Secondary”をセットする。
判定回路２６１０は、レーンイネーブル信号LE1[1:0]を入力され、この信号LE1[1:0]が“０１”であるか否かを判定し、信号LE1[1:0]が“０１”になったと判定すると、フラグ保持レジスタ２６１８のフラグ“Secondary”をクリアする。
【０１０８】
判定回路２６１１は、レーンイネーブル信号LE3[1:0]を入力され、この信号LE3[1:0]が“１０”であるか否かを判定し、信号LE3[1:0]が“１０”になったと判定すると、フラグ保持レジスタ２６１８にフラグ“Secondary”をセットする。
判定回路２６１２は、レーンイネーブル信号LE3[1:0]を入力され、この信号LE3[1:0]が“０１”であるか否かを判定し、信号LE3[1:0]が“０１”になったと判定すると、フラグ保持レジスタ２６１８のフラグ“Secondary”をクリアする。
【０１０９】
フラグ保持レジスタ（以下「セカンダリレジスタ」という）２６１８は、クリア優先ＦＦによって構成され、確実にクリアが行なわれるように構成される。セカンダリレジスタ２６１８は、往路で判定回路２６０９によりフラグ“Secondary”をセットされた場合または復路で判定回路２６１１によりフラグ“Secondary”をセットされた場合、“１”を出力する。また、セカンダリレジスタ２６１８は、往路で判定回路２６１０によりフラグ“Secondary”をクリアされた場合または復路で判定回路２６１２によりフラグ“Secondary”をクリアされた場合、“０”を出力する。フラグ“Secondary”は、自レーン[i]が往路または復路でレーンペアのセカンダリレーンとして選択され伝送遅延差を調整中であることを示す。
【０１１０】
第３デコーダ（Decoder3）２６２１は、図５に示す遅延差吸収状態制御デコーダとして機能するものである。つまり、第３デコーダ２６２１は、自レーン[i]の伝送遅延差吸収量を示す伝送遅延差吸収情報（図４に示す遅延検出カウンタ２５５からの出力）を、図５に示す保持ＦＦ２６３に正しく保持させるように、セレクタ２６２を切り換える切換信号を生成する。
【０１１１】
具体的に、第３デコーダ２６２１は、１回目（自レーン[i]が往路のセカンダリレーンである時）“００”を出力し、減算器２６１の出力つまり伝送遅延値を選択して保持ＦＦ２６３に記憶させる。第３デコーダ２６２１は、２回目（自レーン[i]が往路のプライマリレーンである時）“０１”を出力し、加算器２６４の出力つまり減算器２６１の出力と保持ＦＦ２６３の値との和を選択して保持ＦＦ２６３に記憶させる。第３デコーダ２６２１は、３回目（自レーン[i]が復路のセカンダリレーンである時）“０１”を出力し、加算器２６４の出力つまり減算器２６１の出力と保持ＦＦ２６３の値との和を選択して保持ＦＦ２６３に記憶させる。第３デコーダ２６２１は、４回目（自レーン[i]が復路のプライマリレーンである時）“０１”を出力し、加算器２６４の出力つまり減算器２６１の出力と保持ＦＦ２６３の値との和を選択して保持ＦＦ２６３に記憶させる。自レーン[i]がレーンペアとして選択されていない場合、第３デコーダ２６２１は、“１０”を出力し、ラインＬ１２を選択して保持ＦＦ２６３に、現在保持している値と同じ値を保持させる。
【０１１２】
第３デコーダ２６２１は、上述のようにセレクタ２６２を切り換える切換信号を出力すべく、フラグ保持レジスタ２６１３〜２６１５，２６１７，２６１８からのフラグ“current1”，“complete1”，“current2”，“Primary”，“Secondary”を入力される。そして、第３デコーダ２６２１は、これらのフラグをデコードして切換信号を生成しセレクタ２６２へ出力する。第３デコーダ２６２１によるデコード内容、つまりフラグ“current1”，“complete1”，“current2”，“Primary”，“Secondary”と切換信号との関係は、図８に示す論理（真理値表）の通りである。
【０１１３】
インバータ２６２２は、レーンイネーブル信号LE3[1:0]の各ビットの値を反転させて出力する。
ＯＲゲート２６２３は、レーンイネーブル信号LE1[1:0]と、インバータ２６２２からのレーンイネーブル信号LE3[1:0]の反転信号との論理和を生成し、レーンセレクト信号LS[1:0]として出力する。レーンセレクト信号LS[1:0]は、図４を参照しながら前述した通り、セレクタ２５７を切り換え、隣接レーン[i+1]または[i-1]のパターン検出信号を選択するための信号として用いられる。
【０１１４】
レーンセレクト信号LS[1:0]は、自レーン[i]が往路のプライマリレーンである時（信号LE1[1:0]＝“０１”の時）または復路のセカンダリレーンである時（信号LE3[1:0]＝“１０”の時）に“０１”となる。また、レーンセレクト信号LS[1:0]は、自レーン[i]が往路のセカンダリレーンである時（信号LE1[1:0]＝“１０”の時）または復路のプライマリレーンである時（信号LE3[1:0]＝“０１”の時）に“１０”となる。
【０１１５】
〔２〕伝送遅延差吸収装置（通信装置）の動作
次に、上述のごとく構成された伝送遅延差吸収装置（通信装置）による処理について、図９〜図３７を参照しながらより具体的に説明する。
〔２−１〕レーンペアの選択手法
図３および図６を参照しながら、往路でのレーンペアの選択手法について説明する。上述したように、隣接する２つのレーンをレーンペアとして選択する際、便宜上、２つのレーンの一方がプライマリレーンとして取り扱われ、他方がセカンダリレーンとして取り扱われる。プライマリレーンとセカンダリレーンとでは、レーン間伝送遅延差の吸収処理を行なう動作に差異は無いが、レーン制御部２６ｂから隣接レーンに対して出力されるレーンイネーブル信号の内容に差異がある。
【０１１６】
レーンイネーブル信号LE1[1:0]＝“０１”を入力されたレーンは、プライマリレジスタ２６１７にフラグ“Primary”を設定され、プライマリレーンになる。
レーンイネーブル信号LE1[1:0]＝“１０”を入力されたレーンは、セカンダリレジスタ２６１８にフラグ“Secondary”を設定され、セカンダリレーンになる。
プライマリレーンは、レーンイネーブル信号LE2[1:0]＝“１０”を出力する。つまり、プライマリレーンがレーン[i]である場合、レーン[i]のレーンイネーブル信号LE2[1:0]＝“１０”は、レーンイネーブル信号LE1[1:0]＝“１０”としてレーン[i+1]に入力され、レーン[i+1]はセカンダリレーンになる。
【０１１７】
セカンダリレーンは、レーンイネーブル信号LE2[1:0]＝“００”を出力する。つまり、セカンダリレーンがレーン[i+1]である場合、レーン[i+1]のレーンイネーブル信号LE2[1:0]＝“００”は、レーンイネーブル信号LE1[1:0]＝“００”としてレーン[i+2]に入力される。レーンイネーブル信号LE1[1:0]＝“００”を入力されたレーンは、非活性化され、レーンペアに含まれず、レーン間伝送遅延差の吸収処理の対象外である。
【０１１８】
例えば、レーン[0]の制御回路２６の２ビットのレーンイネーブル信号LE2[1:0]とレーン[1]の制御回路２６の２ビットのレーンイネーブル信号LE1[1:0]とが接続される。レーンイネーブル信号LE2[1:0]，LE1[1:0]において、ビット[0]はプライマリレーンを指示するビットであり、ビット[1]がセカンダリレーンを指示するビットである。
【０１１９】
〔２−２〕レーン間伝送遅延差の吸収設定処理手順
図９に示すフローチャート（ステップＳ１１〜Ｓ２０）を参照しながら、本実施形態の伝送遅延差吸収装置（通信装置）によるレーン間伝送遅延差の吸収設定処理手順について説明する。
レーン間伝送遅延差の吸収設定処理を開始する場合、まず、初期ステートマシン２０ｂからレーン[0]のレーン制御部２６ｂに対しレーンイネーブル信号LE1[1:0]＝“０１”が入力される（ステップＳ１１）。これにより、レーン[0]はプライマリレーンに設定される。
【０１２０】
プライマリレーンに設定されたレーン[0]のレーン制御部２６ｂは、レーン[1]に対し、レーンイネーブル信号LE2[1:0]＝“１０”を出力する。レーン[0]のレーンイネーブル信号LE2[1:0]はレーン[1]のレーンイネーブル信号LE1[1:0]に接続されているので、レーン[1]のレーンイネーブル信号LE1[1:0]＝“１０”となり、レーン[1]はセカンダリレーンに設定される。これにより、レーン[0]，[1]が、レーンペア１として選択される（ステップＳ１２）。セカンダリレーンに設定されたレーン[1]のレーン制御部２６ｂは、レーン[2]へレーンイネーブル信号LE2[1:0]＝“００”を出力し、レーン[2]を非活性化する。
【０１２１】
レーン[0]，[1]がレーンペア１として選択されると、レーン[0]においてレーン制御部２６ｂからレーンセレクト信号LS[1:0]＝“０１”がパターン検出回路２５のセレクタ２５７に出力される。また、レーン[1]においてレーン制御部２６ｂからレーンセレクト信号LS[1:0]＝“１０”がパターン検出回路２５のセレクタ２５７に出力される。さらに、レーン[0]，[1]において、判定回路２５３の出力が“１”になるため、比較器２５２の比較結果がＡＮＤゲート２５４を通過可能になり、比較器２５２が有効化される（ステップＳ１３）。
【０１２２】
比較器２５２を有効化した状態で、特定パターンを含むデータが、送信モジュール１０から受信モジュール２０に対して送信される。このとき、比較器２５２が有効化されているレーン[0]，[1]においてのみ遅延検出カウンタ２５５が起動され、レーン[0]，[1]のそれぞれにおいて、隣接レーン伝送遅延差情報が取得され、伝送遅延差が計測されて保持ＦＦ２６３に記憶される（ステップＳ１４）。そして、保持ＦＦ２６３に記憶された伝送遅延差が、自レーン[i]の遅延設定情報としてバッファ２４のセレクタ２４５に出力され、バッファ２４のリードポインタとして用いられる（ステップＳ１５）。
【０１２３】
この後、レーン[1]，[2]をレーンペアとして選択するように、レーン[0]，[1]のレーンイネーブル信号LE2[1:0]が設定される（ステップＳ１６）。つまり、レーン[0]，[1]間の伝送遅延差の吸収設定が終わると、レーン[0]のレーン制御部２６ｂは、初期化ステートマシン２０ｂにクリア信号CL2を送信する（図１２参照）。これに伴い、初期化ステートマシン２０ｂからのレーンイネーブル信号LE1[1:0]は“０１”から“００”に、レーン[0]のレーンイネーブル信号LE2[1:0]は“１０”から“０１”に、レーン[1]のレーンイネーブル信号LE2[1:0]は“００”から“１０”になる（図１３参照）。これにより、レーン[1]がプライマリレーンに、レーン[2]がセカンダリレーンに設定される。
【０１２４】
以下、図１１〜図１８を参照しながら後述するように、各レーン[i]のレーン制御部２６ｂが、レーンイネーブル信号LE1[1:0]，LE2[1:0]およびクリア信号CL1, CL2を隣接レーンとやり取りする。これにより、往路で、レーン[n-1]，[n]がレーンペアとして選択されるまで、レーンペアのシフト選択が実行され、レーンペアが選択される都度、伝送遅延差の吸収処理（補正処理）が実行される（ステップＳ１７，Ｓ１８）。この後、図１９〜図２５を参照しながら後述するように、終端ロジック２０ｃによりレーンペア選択の折り返し動作が行なわれる（ステップＳ１９）。さらに、図２６〜図３７を参照しながら後述するように、各レーン[i]のレーン制御部２６ｂが、レーンイネーブル信号LE3[1:0]，LE4[1:0]およびクリア信号CL3, CL4を隣接レーンとやり取りする。これにより、復路で、レーンペアがレーン[n]，[n-1]からレーン[1]，[0]まで順次シフト選択され、レーンペアが選択される都度、伝送遅延差の吸収処理が実行される（ステップＳ２０）。なお、折り返し後、最初のレーンペア[n]，[n-1]に対する吸収処理は、往路最後のレーンペア[n-1]，[n]に対する吸収処理と重複することになるので省略し、レーン[n-1]，[n-2]から開始してもよい。
【０１２５】
〔２−３〕レーン間伝送遅延差の吸収設定処理の具体例
レーンペアとして選択されたプライマリレーンおよびセカンダリレーンは、それぞれ、両方のパターン検出信号を受信し、隣接レーン伝送遅延差情報（図４のＡＮＤゲート２５８の出力参照）に基づき、自レーンの遅延設定情報（図４，図５の設定部２６ａの出力参照）を決定する。ここで、隣接レーンの伝送遅延差情報やレーン間伝送遅延差の吸収設定処理の具体例について、図１０（Ａ）〜図１０（Ｆ）を参照しながら説明する。なお、図１０（Ａ）〜図１０（Ｆ）は、４つのシリアルレーン[0]〜[3]で構成された伝送装置で伝送されている伝送データを模式的に示している。
【０１２６】
各レーンにおいて受信側に届くデータには、伝送路の線長差や、送信器と受信器との間のデバイスの製造バラツキにより、時間的差異が生じる。データを受信側のクロックでサンプリングする際、隣接するレーンにおいて同じクロックエッジでデータがサンプリングされた場合、時間的差異は無いと認識される。一方、隣接するレーンにおいて異なるクロックエッジでデータサンプリングされた場合、時間的差異があると認識される。
【０１２７】
図１０（Ａ）〜図１０（Ｆ）は、受信側のクロックでサンプリングした後の受信データの様子を示している。なお、図中のアルファベットＡ〜Ｈは、レーン間で同期すべき、つまり同じタイミング（クロックエッジ）で受信されるべき１ビット分のデータとする。
図１０（Ａ）は、伝送遅延差吸収設定処理を実行する前の状態を示す。図１０（Ａ）に示すレーン構成において、最も短い線路長を持つレーンはレーン[1]およびレーン[3]で、最も長い線路長を持つレーンはレーン[2]である。また、レーン[0]のデータとレーン[1]のデータとの間には１ビット分つまり１クロック分の差異があり、レーン[0]のデータがレーン[1]のデータよりも１クロック分遅れて到着する。レーン[1]のデータとレーン[2]のデータとの間には２ビット分つまり２クロック分の差異があり、レーン[1]のデータがレーン[2]のデータよりも２クロック分先に到着する。レーン[2]のデータとレーン[3]のデータとの間にも２ビット分つまり２クロック分の差異があり、レーン[2]のデータがレーン[3]のデータよりも２クロック分遅れて到着する。このようなクロックの差異が伝送遅延差吸収情報となる。
【０１２８】
図１０（Ａ）に示すレーン構成に対し、本実施形態のレーン間伝送遅延差の吸収処理を行なった場合、以下のようにして、最大線路長を持つレーン[2]の受信タイミングと、他のレーン[0]，[1]，[3]の受信タイミングとが合うように、各レーン[0]，[1]，[3]のバッファ２４からの読出タイミング（リードポインタ）が調整設定される。
図１０（Ａ）に示すレーン構成に対し伝送遅延差を補正するための設定処理を行なう場合、まず、図１０（Ｂ）に示すように、プライマリレーン[0]とセカンダリレーン[1]とがレーンペアとして選択され、これらのレーン[0]，[1]に対する設定処理が行なわれる。このとき、レーン[1]の方がレーン[0]よりも線路長が短く、レーン[1]のデータがレーン[0]のデータよりも先に受信側に到達するので、レーン[1]でのパターン検出がレーン[0]でのパターン検出よりも先に行なわれる。レーン[1]は、レーン[1]のカウンタ２５５により“２”を計数した時にレーン[0]からのパターン検出信号を受信し、ＡＮＤゲート２５８により隣接レーン伝送遅延差情報を生成する。レーン[0]は、先にレーン[1]側のパターン検出信号を隣接レーンＢのパターン検出信号として受信しており、１クロック後に自レーン[0]のパターン検出信号を受け、ＡＮＤゲート２５８により隣接レーン伝送遅延差情報を生成する。この時点で、レーン[0]のカウンタ２５５によるカウント値は“１”となり、レーン[2]のカウンタ２５５によるカウント値は“２”となる。
【０１２９】
このとき、図１０（Ａ）に示すように、レーン[0]のデータがレーン[1]のデータよりも１クロック分遅れて到着している。この遅れは、レーン[0]，[1]のパターン検出部２５ａでも１クロック分遅れて検出される。ＡＮＤゲート２５８によって生成されるレーン[0]および[1]のパターン検出信号の論理積である隣接レーン伝送遅延差情報は、図４に示すように、自レーンの遅延検出カウンタ２５５を停止させる信号となる。つまり、伝送遅延差検出パターンの検出を契機に開始されたカウンタ２５５による計数動作は、隣接レーン伝送遅延差情報によって停止される。これにより、レーンペアのうちの早い方のレーンにおけるカウント値に基づいて、早い方のレーンのデータをどれだけ遅延させれば、両レーンのデータの受信タイミングを一致させることができるかを決定することができる。本実施形態では、カウンタ２５５による計数値が、図４に示す伝送遅延差吸収情報となる。この情報は、各レーンで決定される。例えば、レーン[0]のデータがレーン[1]のデータよりも１クロック分早く到着する場合、レーン[0]のカウント値がレーン[1]のカウント値よりも１つ多くなる。逆に、レーン[1]のデータがレーン[0]のデータよりも１クロック分早く到着する場合、レーン[1]のカウント値がレーン[0]のカウント値よりも１つ多くなる。また、レーン[0]のデータとレーン[1]のデータとが同時に到着する場合、両レーンのカウント値は同じ値となる。このようなカウント値に基づく遅延設定情報を、レーン間伝送遅延差吸収バッファ２４のリードポインタとしてセットすることで、レーン間伝送遅延差を補正するための設定が行なわれる。
【０１３０】
さて、レーンペアの各レーンにおけるカウント値は、伝送遅延差吸収情報として、各レーンの制御回路２６内の自レーンの伝送遅延差吸収設定部２６ａに送られる。伝送遅延差吸収設定部２６ａでは、カウンタ２５５によるカウント値から“１”を減算した値が、保持ＦＦ２６３に保持される。例えば図１０（Ｂ）に示すレーンペア[0]，[1]に対し伝送遅延差を補正するための設定処理を行なった場合、レーン[0]の保持ＦＦ２６３には“０００”が保持され、レーン[1]の保持ＦＦ２６３には“００１”が保持される。レーン[0]および[1]それぞれの保持ＦＦ２６３に保持された遅延設定情報は、各レーンのバッファ２４のリードポインタとして用いられ、セレクタ２４５は、リードポインタに応じたラインＬ０〜Ｌ４のうちの一つからのデータを選択して出力することになる。これにより、レーン[0]のバッファ２４ではラインＬ０が選択され、セレクタ２４５は、データを遅延させることなくそのまま出力する〔図１０（Ｂ）のレーン[0]のデータＡ〜Ｈ参照〕。また、レーン[1]のバッファ２４では、ラインＬ１つまり１段目のバッファ２４１が選択され、セレクタ２４５は、データを、レーン[0]のデータに対し１クロック分遅延させて出力する〔図１０（Ｂ）のレーン[1]のデータＡ′〜Ｈ′参照〕。
【０１３１】
次に、図１０（Ｃ）に示すように、プライマリレーン[1]とセカンダリレーン[2]とがレーンペアとして選択され、これらのレーン[1]，[2]に対し上述と同様の設定処理が行なわれる。ただし、この場合、プライマリレーン[1]では、レーン制御部２６ｂの第３デコーダ２６２１の出力値が“０１”となり（図８参照）、セレクタ２６２は加算器２６４の出力を選択している。このため、レーン[1]では、今回の処理で減算器２６１により得られた遅延値“００１”と既に保持ＦＦ２６３に保持された値“００１”とが加算器２６４により加算され、その加算値“０１０”がレーン[1]の保持ＦＦ２６３に保持される。一方、セカンダリレーン[2]では、レーン制御部２６ｂの第３デコーダ２６２１の出力値が“００”となり（図８参照）、セレクタ２６２は減算器２６１の出力を選択している。このため、レーン[2]の保持ＦＦ２６３には“０００”が保持される。これにより、レーン[1]のバッファ２４では、ラインＬ２つまり２段目のバッファ２４２が選択され、セレクタ２４５は、データを、レーン[2]のデータに対し１クロック分遅延させて出力する〔図１０（Ｃ）のレーン[1]のデータＡ′〜Ｈ′参照〕。また、レーン[2]のバッファ２４ではラインＬ０が選択され、セレクタ２４５は、データを遅延させることなくそのまま出力する〔図１０（Ｃ）のレーン[2]のデータＡ〜Ｈ参照〕。
【０１３２】
次に、図１０（Ｄ）に示すように、プライマリレーン[2]とセカンダリレーン[3]とがレーンペアとして選択され、これらのレーン[2]，[3]に対し上述と同様の設定処理が行なわれる。この場合、プライマリレーン[2]では、レーン制御部２６ｂの第３デコーダ２６２１の出力値が“０１”となり（図８参照）、セレクタ２６２は加算器２６４の出力を選択している。このため、レーン[2]では、今回の処理で減算器２６１により得られた遅延値“０００”と既に保持ＦＦ２６３に保持された値“０００”とが加算器２６４により加算され、その加算値“０００”がレーン[2]の保持ＦＦ２６３に保持される。一方、セカンダリレーン[3]では、レーン制御部２６ｂの第３デコーダ２６２１の出力値が“００”となり（図８参照）、セレクタ２６２は減算器２６１の出力を選択している。このため、レーン[3]では、カウンタ２５５からのカウント値“０１１”が減算器２６１により“１”だけ減算され、その減算された値“０１０”が保持ＦＦ２６３に保持される。これにより、レーン[2]のバッファ２４ではラインＬ０が選択され、セレクタ２４５は、データを遅延させることなくそのまま出力する〔図１０（Ｄ）のレーン[2]のデータＡ〜Ｈ参照〕。また、レーン[3]のバッファ２４では、ラインＬ２つまり２段目のバッファ２４２が選択され、セレクタ２４５は、データを、レーン[2]のデータに対し２クロック分遅延させて出力する〔図１０（Ｄ）のレーン[3]のデータＡ′〜Ｈ′参照〕。
【０１３３】
ここまでの設定処理により、全てのレーン[0]〜[3]について伝送遅延差を補正するための設定処理が行なわれている。しかし、実際には、図１０（Ｄ）〜図１０（Ｆ）に示すように、レーン[0]が、他のレーン[1]〜[3]よりもデータを１クロック分早く受信する状態で残ってしまっている。このような状態で設定処理を終わらせないために、上述と同様の設定処理が、レーンペアをレーン[0]からレーン[3]までシフトさせる往路のみならず、後述のごとくレーンペアをレーン[3]からレーン[0]までシフトさせる復路でも実行される。設定処理を１往復させることで、全てのレーン[0]〜[3]の伝送遅延差が補正されるようにリードポインタの設定処理が行なわれる。なお、復路の設定処理対象となる各レーン[0]〜[3]のレーン制御部２６ｂには、往路の設定処理を完了していることを示すフラグ“complete1”がセットされている。
【０１３４】
次に、図１０（Ｄ）に示すように、プライマリレーン[3]とセカンダリレーン[2]とがレーンペアとして選択され、２回目（復路）の設定処理が行なわれる。このとき、レーン[3]および[2]は、既に相互に伝送遅延差の無い状態に設定されているので、両レーン[3]，[2]においてカウンタ２５５の伝送遅延差吸収情報は“００１”となる。この伝送遅延差吸収情報“００１”から減算器２６１により“１”を減算して得られた値は“０００”となる。ここで、両レーン[3]，[2]においてレーン制御部２６ｂの第３デコーダ２６２１の出力値は“０１”であり（図８参照）、セレクタ２６２は加算器２６４の出力を選択している。このため、レーン[3]では、保持ＦＦ２６３に“０１０”が保持され続けるとともに、レーン[2]では、保持ＦＦ２６３に“０００”が保持され続ける。
【０１３５】
ついで、図１０（Ｅ）に示すように、プライマリレーン[2]とセカンダリレーン[1]とがレーンペアとして選択され、２回目（復路）の設定処理が行なわれる。このとき、レーン[2]および[1]も、既に相互に伝送遅延差の無い状態に設定されているので、両レーン[2]，[1]においてカウンタ２５５の伝送遅延差吸収情報は“００１”となる。この伝送遅延差吸収情報“００１”から減算器２６１により“１”を減算して得られた値は“０００”となる。ここで、両レーン[2]，[1]においてレーン制御部２６ｂの第３デコーダ２６２１の出力値は“０１”であり（図８参照）、セレクタ２６２は加算器２６４の出力を選択している。このため、レーン[2]では、保持ＦＦ２６３に“０００”が保持され続けるとともに、レーン[1]では、保持ＦＦ２６３に“０１０”が保持され続ける。
【０１３６】
最後に、図１０（Ｆ）に示すように、プライマリレーン[1]とセカンダリレーン[0]とレーンペアとして選択され、２回目（復路）の設定処理が行なわれる。このとき、レーン[1]のデータがレーン[1]のデータよりも１クロック分早く受信されているので、レーン[1]のカウンタ２５５によるカウント値は“００１”となり、レーン[0]のカウンタ２５５によるカウント値は“０１０”となる。ここで、両レーン[1]，[0]においてレーン制御部２６ｂの第３デコーダ２６２１の出力値は“０１”であり（図８参照）、セレクタ２６２は加算器２６４の出力を選択している。このため、レーン[1]では、カウント値“００１”から減算器２６１により“１”を減算して得られた値“０００”と既に保持ＦＦ２６４に保持された値“０１０”とが加算器２６４により加算され、その加算値“０１０”が保持ＦＦ２６３に保持される。また、レーン[0]では、カウント値“０１０”から“１”を減算して得られた値“００１”と保持ＦＦ２６４に保持された値“０００”とが加算器２６４により加算され、その加算値“００１”が保持ＦＦ２６３に保持される。これにより、レーン[1]のバッファ２４では、ラインＬ２つまり２段目のバッファ２４２が選択され、セレクタ２４５は、データを、レーン[2]のデータに対し２クロック分遅延させて出力する〔図１０（Ｆ）のレーン[1]のデータＡ′〜Ｈ′参照〕。また、レーン[0]のバッファ２４では、ラインＬ１つまり１段目のバッファ２４１が選択され、セレクタ２４５は、データを、レーン[2]のデータに対し１クロック分遅延させて出力する〔図１０（Ｆ）のレーン[0]のデータＡ′〜Ｈ′参照〕。
【０１３７】
以上のような設定処理を行なうことにより、図１０（Ａ）に示すレーン構成に対し、レーン[0]の保持ＦＦ２６３には“００１”が保持され、レーン[1]の保持ＦＦ２６３には“０１０”が設定され、レーン[2]の保持ＦＦ２６３には“０００”が設定され、レーン[3]の保持ＦＦ２６３には“０１０”が保持される。そして、各保持ＦＦ２６３に保持された値に応じて、バッファ２４におけるバッファ段数が選択される。これにより、最大線路長を持つレーン[2]の受信タイミングと、他のレーン[0]，[1]，[3]の受信タイミングとが合うように、各レーン[0]，[1]，[3]のバッファ２４からの読出タイミング（リードポインタ）が調整設定される。
【０１３８】
〔２−４〕レーンペア選択動作の具体例
図１１〜図３７を参照しながら、本実施形態の伝送遅延差吸収装置（通信装置）におけるレーンペア選択動作(1)〜(27)を具体的に説明する。
図１１〜図３７においては、初期化ステートマシン（Ｉ）２０ｂと、終端ロジック（ＴＬ）２０ｃと、４つのレーン[0]〜[3]とをそなえた伝送装置に、本実施形態の伝送遅延差吸収装置（通信装置）を適用した場合の、レーンペア選択動作(1)〜(27)が具体的に示されている。
【０１３９】
特に、図１１〜図１８においては、レーン[0]〜[3]間の伝送遅延差を補正するための設定処理が開始されてから、往路でレーンペアとしてレーン[0]，[1]、レーン[1]，[2]、レーン[2]，[3]が順次シフト選択されるまでの動作(1)〜(8)が示されている。また、図１９〜図２５においては、レーンペア選択の折り返し動作(9)〜(15)が示されている。図２６〜図３７においては、折り返し後に、復路でレーンペアとしてレーン[3]，[2]、レーン[2]，[1]、レーン[1]，[0]が順次シフト選択され、設定処理が完了されるまでの動作(16)〜(27)が示されている。
【０１４０】
なお、各図のレーン[0]〜[3]には、各動作段階(1)〜(27)での各レーン（レーン制御２６ｂのフラグ保持レジスタ２６１３〜２６１８）におけるフラグ“Primary”，“Secondary”，“current1”，“complete1”，“current2”，“complete2”の設定状態が示されている。具体的に、図１１〜図３７では、各レーンにおけるフラグ“Primary”，“Secondary”，“current1”，“complete1”，“current2”，“complete2”の状態が、それぞれブロックP, S, cu1, co1, cu2, co2によって示されている。そして、フラグがセットされている場合、対応ブロック内に斜線網掛けが付され、フラグがセットされていない場合（クリアされた場合）、対応ブロック内は空白となっている。また、図１１〜図２２では、各レーンにおけるフラグ“current2”，“complete2”の図示は省略されているが、これらのフラグは全て未設定状態である。図２５〜図３７では、各レーンにおけるフラグ“current1”，“complete1”の図示は省略されているが、図２４に示すように、フラグ“current1”は全てクリアされ、フラグ“complete1”は全てセットされている。
【０１４１】
また、図１１〜図３７に示す伝送装置において、４つのレーン[0]〜[3]は、図１〜図３に示す装置と同様、初期化ステートマシン２０ｂと終端ロジック２０ｃとの間において、信号線ＳＬによって直列（数珠状）に接続されている。そして、図１１〜図３７においては、初期化ステートマシン２０ｂ，レーン[0]〜[3]および終端ロジック２０ｃを接続する信号線ＳＬの下に、各動作段階(1)〜(27)で初期化ステートマシン２０ｂ，レーン[0]〜[3]および終端ロジック２０ｃのそれぞれに入出力されるレーンイネーブル信号LE1[1:0]，LE2[1:0]の状態（２ビットデータ）が示されている。
【０１４２】
さらに、図１１〜図３７において各レーン[0]〜[3]を示すブロック内には、各動作段階(1)〜(27)での各レーンの状態を示す符号“Ｐ”，“Ｓ”，“ｎ”のいずれか一つが記入されている。ここで、“Ｐ”が記入されている場合、“Ｐ”を記入されたレーンが、レーンペアのプライマリレーンとして選択されていることを示す。“Ｓ”が記入されている場合、“Ｓ”を記入されたレーンが、レーンペアのセカンダリレーンとして選択されていることを示す。“ｎ”が記入されている場合、“ｎ”を記入されたレーンが、レーンペアとして選択されていないこと、つまり非活性化されていることを示す。
【０１４３】
まず、図１１〜図１８を参照しながら、往路でのレーンペアの選択動作(1)〜(8)について説明する。
図１１に示す動作(1)では、レーン間伝送遅延差の吸収設定処理を開始する際、まず、初期ステートマシン２０ｂからレーン[0]に対しレーンイネーブル信号LE1[1:0]＝“０１”が入力される。これに伴い、レーン[0]のフラグP, cu1が設定され、レーン[0]はプライマリレーンに設定される。プライマリレーンに設定されたレーン[0]は、レーン[1]に対しレーンイネーブル信号LE2[1:0]＝“１０”を出力し、同信号がレーン[1]のレーンイネーブル信号LE1[1:0]＝“１０”として入力される。これにより、レーン[1]のフラグSが設定され、レーン[1]はセカンダリレーンに設定され、レーン[0]，[1]が、レーンペアとして選択される。セカンダリレーンに設定されたレーン[1]は、レーン[2]へレーンイネーブル信号LE2[1:0]＝“００”を出力することで、以降のレーン[2]，[3]を非活性化する。
【０１４４】
図１２に示す動作(2)では、上記動作(1)後にレーン[0]，[1]が相互に隣接レーン伝送遅延差情報を受けると、つまりプライマリレーン[0]が往路での設定処理を完了すると、レーン[0]においてフラグco1が設定され、レーン[0]においてフラグcu1およびフラグco1の両方が設定される。これに伴い、レーン[0]は、初期化ステートマシン２０ｂにクリア信号CL2を送信する。
【０１４５】
図１３および図１４に示す動作(3)，(4)では、初期化ステートマシン２０ｂがレーン[0]からクリア信号CL2を受信すると、初期ステートマシン２０ｂからレーン[0]に対して入力されるレーンイネーブル信号LE1[1:0]は、“０１”から“００”に切り換わる。これに伴い、レーン[0]のフラグPがクリアされる。また、上記動作(2)でレーン[0]のフラグcu1およびフラグco1の両方が設定されることに伴い、レーン[0]からレーン[1]に対して入力されるレーンイネーブル信号LE1[1:0]は、“１０”から“０１”に切り換わる。レーン[1]にレーンイネーブル信号LE1[1:0]＝“０１”が入力されると、レーン[1]のフラグP, cu1が設定され、フラグSがクリアされ、さらに、レーン[1]からレーン[2]に対して入力されるレーンイネーブル信号LE1[1:0]は、“００”から“１０”に切り換わる。レーン[2]にレーンイネーブル信号LE1[1:0]＝“１０”が入力されると、レーン[2]のフラグSが設定される。これにより、図１４に示すように、レーン[0]は非活性化され、レーン[1]をプライマリレーンとしレーン[2]をセカンダリレーンとするレーンペアが選択される。なお、この後、初期化ステートマシン２０ｂは、レーン[0]からのレーンイネーブル信号LE4[1:0]が“００”から“１０”に切り換わるのを待機する。
【０１４６】
図１５に示す動作(5)では、上記動作(4)後にレーン[1]，[2]が相互に隣接レーン伝送遅延差情報を受けると、つまりプライマリレーン[1]が往路での設定処理を完了すると、レーン[1]においてフラグco1が設定され、レーン[1]においてフラグcu1およびフラグco1の両方が設定される。これに伴い、レーン[1]は、レーン[0]に対してクリア信号CL2を出力し、同クリア信号CL2がレーン[0]のクリア信号CL1として入力される。
【０１４７】
図１６および図１７に示す動作(6)，(7)では、レーン[0]がレーン[1]からクリア信号CL1を入力されると、レーン[0]のフラグcu1がクリアされる。これに応じ、レーン[0]からレーン[1]に対して入力されるレーンイネーブル信号LE1[1:0]は、“０１”から“００”に切り換わる。これに伴い、レーン[1]のフラグPがクリアされる。また、上記動作(5)でレーン[1]のフラグcu1およびフラグco1の両方が設定されることに伴い、レーン[1]からレーン[2]に対して入力されるレーンイネーブル信号LE1[1:0]は、“１０”から“０１”に切り換わる。レーン[2]にレーンイネーブル信号LE1[1:0]＝“０１”が入力されると、レーン[2]のフラグP, cu1が設定され、フラグSがクリアされ、さらに、レーン[2]からレーン[3]に対して入力されるレーンイネーブル信号LE1[1:0]は、“００”から“１０”に切り換わる。レーン[3]にレーンイネーブル信号LE1[1:0]＝“１０”が入力されると、レーン[3]のフラグSが設定される。これにより、図１７に示すように、レーン[1]は非活性化され、レーン[2]をプライマリレーンとしレーン[3]をセカンダリレーンとするレーンペアが選択される。
【０１４８】
図１８に示す動作(8)では、上記動作(7)後にレーン[2]，[3]が相互に隣接レーン伝送遅延差情報を受けると、つまりプライマリレーン[2]が往路での設定処理を完了すると、レーン[2]においてフラグco1が設定され、レーン[2]においてフラグcu1およびフラグco1の両方が設定される。これに伴い、レーン[2]は、レーン[1]に対してクリア信号CL2を出力し、同クリア信号CL2がレーン[1]のクリア信号CL1として入力される。
【０１４９】
ついで、図１９〜図２５を参照しながら、レーンペア選択の折り返し動作、つまりレーンペア選択を往路から復路に切り換える動作(9)〜(15)について説明する。
図１９および図２０に示す動作(9)，(10)では、レーン[1]がレーン[2]からクリア信号CL1を入力されると、レーン[1]のフラグcu1がクリアされる。これに応じ、レーン[1]からレーン[2]に対して入力されるレーンイネーブル信号LE1[1:0]は、“０１”から“００”に切り換わる。これに伴い、レーン[2]のフラグPがクリアされる。また、上記動作(8)でレーン[2]のフラグcu1およびフラグco1の両方が設定されることに伴い、レーン[2]からレーン[3]に対して入力されるレーンイネーブル信号LE1[1:0]は、“１０”から“０１”に切り換わる。レーン[3]にレーンイネーブル信号LE1[1:0]＝“０１”が入力されると、レーン[3]のフラグP, cu1が設定され、フラグSがクリアされる。これにより、図２０に示すように、レーン[2]は非活性化され、レーン[3]はプライマリレーンに設定された状態になる。
【０１５０】
そして、図２０に示す動作(10)では、終端ロジック２０ｃにレーンイネーブル信号LE1[1:0]＝“１０”が入力されると、終端ロジック２０ｃは、レーン[3]のフラグco1を設定するためのセット信号SC1を、レーン[3]に対し隣接レーン伝送遅延情報として入力する。
図２１に示す動作(11)では、レーン[3]が終端ロジック２０ｃからセット信号SC1を受けると、レーン[3]においてフラグco1が設定され、レーン[3]においてフラグcu1およびフラグco1の両方が設定される。これに伴い、レーン[3]は、レーン[2]に対してクリア信号CL2を出力し、同クリア信号CL2がレーン[2]のクリア信号CL1として入力される。
【０１５１】
図２２に示す動作(12)では、レーン[2]がレーン[3]からクリア信号CL1を入力されると、レーン[2]のフラグcu1がクリアされる。これに応じ、レーン[2]からレーン[3]に対して入力されるレーンイネーブル信号LE1[1:0]は、“０１”から“００”に切り換わる。これに伴い、レーン[3]のフラグPがクリアされる。また、上記動作(11)でレーン[3]のフラグcu1およびフラグco1の両方が設定されることに伴い、レーン[3]から終端ロジック２０ｃに対し入力されるレーンイネーブル信号LE2[1:0]は、“１０”から“０１”に切り換わる。
【０１５２】
図２３に示す動作(13)では、終端ロジック２０ｃにレーンイネーブル信号LE1[1:0]＝“０１”が入力されると、終端ロジック２０ｃは、レーン[3]に対してクリア信号CL1を入力するとともに、レーン[3]に入力されるレーンイネーブル信号LE3[1:0]を“００”から“１０”に切り換える。これに伴い、レーン[3]のフラグcu1がクリアされるとともに、レーン[3]のフラグSが設定される。
【０１５３】
図２４および図２５に示す動作(14)，(15)では、レーン[3]のフラグcu1がクリアされると、レーン[3]から終端ロジック２０ｃに対し入力されるレーンイネーブル信号LE2[1:0]は、“０１”から“００”に切り換わる。これに伴い、終端ロジック２０ｃは、レーン[3]に入力されるレーンイネーブル信号LE3[1:0]を“１０”から“０１”に切り換える。レーン[3]にレーンイネーブル信号LE3[1:0]＝“０１”が入力されると、レーン[3]のフラグP, cu2が設定され、フラグSがクリアされ、さらに、レーン[3]からレーン[2]に対して入力されるレーンイネーブル信号LE3[1:0]は、“００”から“１０”に切り換わる。レーン[2]にレーンイネーブル信号LE3[1:0]＝“１０”が入力されると、レーン[2]のフラグSが設定される。これにより、図２５に示すように、レーン[3]をプライマリレーンとしレーン[2]をセカンダリレーンとするレーンペアが選択される。以上により、レーンペア選択の折り返しが完了する。
【０１５４】
ついで、図２６〜図３７を参照しながら、復路でのレーンペアの選択動作(16)〜(27)について説明する。
図２６に示す動作(16)では、上記動作(15)後にレーン[3]，[2]が相互に隣接レーン伝送遅延差情報を受けると、つまりプライマリレーン[3]が復路での設定処理を完了すると、レーン[3]においてフラグco2が設定され、レーン[3]においてフラグcu2およびフラグco2の両方が設定される。これに伴い、レーン[3]は、終端ロジック２０ｃに対してクリア信号CL4を出力し、同クリア信号CL4が終端ロジック２０ｃに入力される。
【０１５５】
図２７および図２８に示す動作(17)，(18)では、終端ロジック２０ｃがレーン[3]からクリア信号CL4を入力されると、終端ロジック２０ｃからレーン[3]に対して入力されるレーンイネーブル信号LE3[1:0]は、“０１”から“００”に切り換わる。これに伴い、レーン[3]のフラグPがクリアされる。また、上記動作(16)でレーン[3]のフラグcu2およびフラグco2の両方が設定されることに伴い、レーン[3]からレーン[2]に対して入力されるレーンイネーブル信号LE3[1:0]は、“１０”から“０１”に切り換わる。レーン[2]にレーンイネーブル信号LE3[1:0]＝“０１”が入力されると、レーン[2]のフラグP, cu2が設定され、フラグSがクリアされ、さらに、レーン[2]からレーン[1]に対して入力されるレーンイネーブル信号LE3[1:0]は、“００”から“１０”に切り換わる。レーン[1]にレーンイネーブル信号LE3[1:0]＝“１０”が入力されると、レーン[1]のフラグSが設定される。これにより、図２８に示すように、レーン[3]は非活性化され、レーン[2]をプライマリレーンとしレーン[1]をセカンダリレーンとするレーンペアが選択される。
【０１５６】
図２９に示す動作(19)では、上記動作(18)後にレーン[2]，[1]が相互に隣接レーン伝送遅延差情報を受けると、つまりプライマリレーン[2]が復路での設定処理を完了すると、レーン[2]においてフラグco2が設定され、レーン[2]においてフラグcu2およびフラグco2の両方が設定される。これに伴い、レーン[2]は、レーン[3]に対してクリア信号CL4を出力し、同クリア信号CL4がレーン[3]のクリア信号CL2として入力される。
【０１５７】
図３０および図３１に示す動作(20)，(21)では、レーン[3]がレーン[2]からクリア信号CL3を入力されると、レーン[3]のフラグcu2がクリアされる。これに応じ、レーン[3]からレーン[2]に対して入力されるレーンイネーブル信号LE3[1:0]は、“０１”から“００”に切り換わる。これに伴い、レーン[2]のフラグPがクリアされる。また、上記動作(19)でレーン[2]のフラグcu2およびフラグco2の両方が設定されることに伴い、レーン[2]からレーン[1]に対して入力されるレーンイネーブル信号LE3[1:0]は、“１０”から“０１”に切り換わる。レーン[1]にレーンイネーブル信号LE3[1:0]＝“０１”が入力されると、レーン[1]のフラグP, cu2が設定され、フラグSがクリアされ、さらに、レーン[1]からレーン[0]に対して入力されるレーンイネーブル信号LE3[1:0]は、“００”から“１０”に切り換わる。レーン[0]にレーンイネーブル信号LE3[1:0]＝“１０”が入力されると、レーン[0]のフラグSが設定される。これにより、図３１に示すように、レーン[2]は非活性化され、レーン[1]をプライマリレーンとしレーン[0]をセカンダリレーンとするレーンペアが選択される。
【０１５８】
図３２に示す動作(22)では、上記動作(21)後にレーン[1]，[0]が相互に隣接レーン伝送遅延差情報を受けると、つまりプライマリレーン[1]が復路での設定処理を完了すると、レーン[1]においてフラグco2が設定され、レーン[1]においてフラグcu2およびフラグco2の両方が設定される。これに伴い、レーン[1]は、レーン[2]に対してクリア信号CL4を出力し、同クリア信号CL4がレーン[2]のクリア信号CL3として入力される。
【０１５９】
図３３および図３４に示す動作(23)，(24)では、レーン[2]がレーン[1]からクリア信号CL3を入力されると、レーン[2]のフラグcu2がクリアされる。これに応じ、レーン[2]からレーン[1]に対して入力されるレーンイネーブル信号LE3[1:0]は、“０１”から“００”に切り換わる。これに伴い、レーン[1]のフラグPがクリアされる。また、上記動作(22)でレーン[1]のフラグcu2およびフラグco2の両方が設定されることに伴い、レーン[1]からレーン[0]に対して入力されるレーンイネーブル信号LE3[1:0]は、“１０”から“０１”に切り換わる。レーン[0]にレーンイネーブル信号LE3[1:0]＝“０１”が入力されると、レーン[0]のフラグP, cu2が設定され、フラグSがクリアされ、さらに、レーン[0]から初期化ステートマシン２０ｂに対して入力されるレーンイネーブル信号LE4[1:0]は、“００”から“１０”に切り換わる。
【０１６０】
そして、図３４に示す動作(24)では、初期化ステートマシン２０ｂにレーンイネーブル信号LE4[1:0]＝“１０”が入力されると、初期化ステートマシン２０ｂは、レーン[0]のフラグco2を設定するためのセット信号SC2を、レーン[0]に対し隣接レーン伝送遅延情報として入力する。
図３５に示す動作(25)では、レーン[0]が初期かステートマシン２０ｂからセット信号SC2を受けると、レーン[0]においてフラグco2が設定され、レーン[0]においてフラグcu2およびフラグco2の両方が設定される。これに伴い、レーン[0]は、レーン[1]に対してクリア信号CL4を出力し、同クリア信号CL4がレーン[1]のクリア信号CL3として入力される。
【０１６１】
図３６に示す動作(26)では、レーン[1]がレーン[0]からクリア信号CL3を入力されると、レーン[1]のフラグcu2がクリアされる。これに応じ、レーン[1]からレーン[0]に対して入力されるレーンイネーブル信号LE3[1:0]は、“０１”から“００”に切り換わる。これに伴い、レーン[0]のフラグPがクリアされる。また、上記動作(25)でレーン[0]のフラグcu2およびフラグco2の両方が設定されることに伴い、レーン[0]から初期化ステートマシン２０ｂに対し入力されるレーンイネーブル信号LE4[1:0]は、“１０”から“０１”に切り換わる。初期化ステートマシン２０ｂは、レーン[0]からレーンイネーブル信号LE4[1:0]＝“０１”を入力されると、レーン[0]に対してクリア信号CL3を入力する。
【０１６２】
図３７に示す動作(27)では、レーン[0]が初期化ステートマシン２０ｂからクリア信号CL3を入力されると、レーン[0]のフラグcu2がクリアされる。これに応じ、レーン[0]から初期化ステートマシン２０ｂに対して入力されるレーンイネーブル信号LE3[1:0]は、“０１”から“００”に切り換わり、復路でのレーンペアの選択動作が完了する。
以上のようにして、一連のレーンペア選択動作、つまりはレーン間伝送遅延差の吸収設定処理が完了する。
【０１６３】
上述した伝送遅延差吸収装置（通信装置）によれば、数珠状に接続されたレーンにおけるパターン検出回路２５および制御回路２６（レーン制御部２６ｂ）により、レーンペアを順にシフトさせて選択しながら伝送遅延差の吸収設定処理に係る情報（伝送遅延差）が収集される。そして、収集された情報に基づき、レーンペアのうち伝送遅延差が小さい方の制御回路２６が、自身のレーン間伝送遅延差吸収バッファ２４のデータ読出タイミングを、伝送遅延差が大きい方のレーンにおけるバッファ２４に合わせるように、設定処理が行なわれる。
【０１６４】
このとき、設定処理が、レーンペアをレーン[0]からレーン[n]までシフトさせる往路のみならず、レーンペアをレーン[n]からレーン[0]までシフトさせる復路でも実行される。このように設定処理を１往復させることで、例えば図１０（Ｄ）〜図１０（Ｆ）に示すように、レーン[0]が、他のレーン[1]〜[3]よりもデータを１クロック分早く受信する状態で設定処理が終わってしまうことを確実に抑止することができる。
【０１６５】
これにより、本実施形態によれば、従来のごとく一箇所の制御回路に情報を集約させることなく、全てのレーン[0]〜[n]の伝送遅延差が吸収されるようにリードポインタの設定処理が確実に行なわれる。したがって、処理対象のレーン数が増大しても、レーンを数珠状（直列）に接続するだけで全てのレーンに対する設定処理が可能であり、レーン間の伝送遅延差を補正するための設定処理を確実に実行しながら、配線レイアウト，ノイズ対策，回路の高速化を実現することも可能になる。
【０１６６】
〔３〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、係る特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
例えば、図１０〜図３７を参照しながら上述した実施形態の具体例では、レーン数が４である場合について説明したが、本件は、これに限定されるものではない。
【符号の説明】
【０１６７】
１    データ伝送機能を有する装置（通信システム）
１０    送信モジュール
１０−０〜１０−ｎ    レーン[0]〜[n]用送信部
２０    受信モジュール（通信装置）
２０−０〜２０−ｎ    レーン[0]〜[n]用受信部
２０ａ    処理モジュール
２０ｂ    初期化ステートマシン
２０ｃ    終端ロジック
２１    シリアル／パラレル（Ｓ／Ｐ）変換回路
２２    ビット境界検出回路
２３    クロック乗換バッファ
２４    レーン間伝送遅延差吸収バッファ（バッファ；吸収処理部；制御部）
２４１〜２４４    バッファ
２４５    セレクタ
２５    パターン検出回路（吸収処理部；制御部）
２５ａ    パターン検出部
２５ｂ    隣接レーン間伝送遅延差検出部（伝送遅延差検出部；検出部）
２５１    伝送遅延検出パターン記憶部
２５２    比較器
２５３    判定回路
２５４    ＡＮＤゲート
２５５    遅延検出カウンタ
２５６    ＯＲゲート
２５７    セレクタ
２５８    ＡＮＤゲート
２６    レーン間伝送遅延差吸収制御回路（吸収処理部；制御部）
２６ａ    伝送遅延差吸収設定部（バッファ制御部）
２６ｂ    レーン制御部
２６ｃ    ＯＲゲート
２６１    減算器
２６２    セレクタ
２６３    保持ＦＦ（フリップフロップ）
２６４    加算器
２６０１〜２６１２    判定回路
２６１３〜２６１８    フラグ保持レジスタ
２６１９    第１デコーダ
２６２０    第２デコーダ
２６２１    第３デコーダ
２６２２    インバータ
２６２３    ＯＲゲート
１００    データ伝送機能を有する装置
１１０    送信モジュール
１１０−０〜１１０−ｎ    レーン[0]〜[n]用送信部
１２０    受信モジュール
１２０−０〜１２０−ｎ    レーン[0]〜[n]用受信部
１２０ａ    レーン間伝送遅延差吸収制御回路
１２０ｂ    処理モジュール
１２１    シリアル／パラレル（Ｓ／Ｐ）変換回路
１２２    ビット境界検出回路
１２３    クロック乗換バッファ
１２４    レーン間伝送遅延差吸収バッファ
１２５    パターン検出回路
ＳＬ，ＳＬ０〜ＳＬ７    信号線
【図１】
2012127575.tif 000003
【図２】
2012127575.tif 000004
【図３】
2012127575.tif 000005
【図４】
2012127575.tif 000006
【図５】
2012127575.tif 000007
【図６】
2012127575.tif 000008
【図７】
2012127575.tif 000009
【図８】
2012127575.tif 000010
【図９】
2012127575.tif 000011
【図１０】
2012127575.tif 000012
【図１１】
2012127575.tif 000013
【図１２】
2012127575.tif 000014
【図１３】
2012127575.tif 000015
【図１４】
2012127575.tif 000016
【図１５】
2012127575.tif 000017
【図１６】
2012127575.tif 000018
【図１７】
2012127575.tif 000019
【図１８】
2012127575.tif 000020
【図１９】
2012127575.tif 000021
【図２０】
2012127575.tif 000022
【図２１】
2012127575.tif 000023
【図２２】
2012127575.tif 000024
【図２３】
2012127575.tif 000025
【図２４】
2012127575.tif 000026
【図２５】
2012127575.tif 000027
【図２６】
2012127575.tif 000028
【図２７】
2012127575.tif 000029
【図２８】
2012127575.tif 000030
【図２９】
2012127575.tif 000031
【図３０】
2012127575.tif 000032
【図３１】
2012127575.tif 000033
【図３２】
2012127575.tif 000034
【図３３】
2012127575.tif 000035
【図３４】
2012127575.tif 000036
【図３５】
2012127575.tif 000037
【図３６】
2012127575.tif 000038
【図３７】
2012127575.tif 000039
【図３８】
2012127575.tif 000040
【図３９】
2012127575.tif 000041
【手続補正書】
【提出日】平成25年11月15日(2013.11.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の伝送路それぞれに対応する受信部を有し、隣接された受信部同士が信号線で接続され、前記複数の伝送路を介して送信側装置からのデータを受信する通信装置における伝送路間の伝送遅延差を補正する方法において、
同一信号を受信する隣接する２つの受信部間で、前記信号を受信した旨の情報を前記信号線を介して互いに通知し、
他方の受信部からの通知と、自身の信号受信との時間差に応じて、伝送遅延差を補正する処理を実行し、
前記隣接する受信部のうちの一方の受信部と、前記一方の受信部に隣接する受信部のうち、当該一方の受信部との間で補正処理を行なっていない方の受信部との選択と、選択された受信部間の伝送遅延差補正処理とを順次行なうことを特徴とする、伝送遅延差補正方法。
【請求項２】
複数の伝送路により送信装置に接続され、前記複数の伝送路を介して前記送信装置からの情報を受信する通信装置において、
前記伝送路毎に設けられた複数の受信部と、
隣接する受信部同士を接続する信号線とを有し、
前記複数の受信部の各々は、
対応する伝送路を介して受信した信号を検出するとともに、隣接する受信部との間で各々の当該信号の検出結果を前記信号線を介して授受する検出部と、
隣接する受信部と自身との前記信号の検出時間差より、当該受信部間の伝送遅延差を補正する制御を行なう制御部とを備え、
前記制御部は、自身の補正処理状況を隣接する受信部の制御部に通知するとともに、補正処理を行なっていない制御部は、隣接する受信部の制御部からの通知に応じて自身の補正処理を開始することを特徴とする、通信装置。
【請求項３】
前記制御部は、
隣接する受信部の制御部と連携し、
前記複数の受信部における一端の受信部から他端の受信部に到達するまで２つの受信部を順次選択し、２つの受信部を選択する都度、前記補正処理を実行した後、
前記補正処理を施された前記複数の受信部における前記他端の受信部から前記一端の受信部に到達するまで２つの受信部を順次選択し、２つの受信部を選択する都度、前記補正処理を再度実行する、請求項２記載の通信装置。
【請求項４】
前記制御部は、
前記送信装置からの複数のデータを一時的に保持するバッファと、
前記補正処理の実行時に、前記送信装置からの特定パターンを有するデータを検出するパターン検出部と、
前記補正処理の実行時に、前記パターン検出部による前記特定パターンの検出タイミングと、前記信号線によって送信される隣接する受信部での前記特定パターンの検出タイミングとに基づき、自身と隣接する受信部との間の伝送遅延差を検出する伝送遅延差検出部と、
前記伝送遅延差検出部によって検出された前記伝送遅延差を吸収補正するように前記バッファからの前記データの読出位置を設定するバッファ制御部と、を有する、請求項３記載の通信装置。
【請求項５】
前記制御部は、
前記送信装置からの複数のデータを一時的に保持するバッファを有し、
自身の信号受信が前記隣接する受信部による信号受信よりも遅い場合に、前記バッファからの前記データの読み出し位置を変更することを特徴とする、請求項３記載の通信装置。
【請求項６】
前記バッファ制御部は、
２つの受信部の選択が前記複数の受信部における一端の受信部から他端の受信部に到達するまでの間に前記前記伝送遅延差検出部によって検出された伝送遅延差と、２つの受信部の選択が前記他端の受信部から前記一端の受信部に到達するまでの間に前記伝送遅延差検出部によって検出された伝送遅延差とを加算した値を吸収補正するように前記バッファからの前記データの読出位置を設定する、請求項４記載の通信装置。
【請求項７】
前記制御部は、
隣接する受信部にそなえられた前記制御部と連携し、前記複数の受信部における一端の受信部から他端の受信部に到達するまで２つの受信部を順次選択し、２つの受信部を選択する都度、前記パターン検出部，前記伝送遅延差検出部および前記バッファ制御部に前記設定処理を実行させる一方、前記設定処理を施された前記複数の受信部における前記他端の受信部から前記一端の受信部に到達するまで２つの受信部を順次選択し、２つの受信部を選択する都度、前記パターン検出部，前記伝送遅延差検出部および前記バッファ制御部に前記補正処理を再度実行させるレーン制御部を有する、請求項４または請求項６に記載の通信装置。
【請求項８】
送信装置と、
複数の伝送路により前記送信装置に接続され、前記複数の伝送路を介して前記送信装置からの情報を受信する通信装置とをそなえ、
前記通信装置は、
前記伝送路毎に設けられた複数の受信部と、
隣接する受信部同士を接続する信号線とを有し、
前記複数の受信部の各々は、
対応する伝送路を介して受信した信号を検出するとともに、隣接する受信部との間で各々の当該信号の検出結果を前記信号線を介して授受する検出部と、
隣接する受信部と自身との前記信号の検出時間差より、当該受信部間の伝送遅延差を補正する制御を行なう制御部とを備え、
前記制御部は、自身の補正処理状況を隣接する受信部の制御部に通知するとともに、補正処理を行なっていない制御部は、隣接する受信部の制御部からの通知に応じて自身の補正処理を開始することを特徴とする、通信システム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００４０
【補正方法】変更
【補正の内容】
【００４０】
各受信部２０−ｉは、図２を参照しながら後述するごとく、伝送路３０−ｉから受信したシリアルデータをシリアル／パラレル変換して部分データを復元する。また、各受信部２０−ｉでは、データの読出位置を予め設定されたレーン間伝送遅延差吸収バッファ２４（後述）により、各レーン[i]の伝送遅延差が補正される。そして、伝送遅延差補正後の部分データから、複数ビットのパラレルデータが復元される。各受信部２０−ｉには、処理モジュール２０ａが接続されており、処理モジュール２０ａは、部分データから復元されたパラレルデータに対する、プロトコルチェック等の処理を実行する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００４８
【補正方法】変更
【補正の内容】
【００４８】
図２および図３に示すように、受信モジュール２０における各受信部２０−ｉは、Ｓ／Ｐ変換回路２１，ビット境界検出回路２２，クロック乗換バッファ２３，レーン間伝送遅延差吸収バッファ（以下、単に「バッファ」という）２４，パターン検出回路２５およびレーン間伝送遅延差吸収制御回路（以下、単に「制御回路」という）２６を含んでいる。なお、Ｓ／Ｐ変換回路２１，ビット境界検出回路２２およびクロック乗換バッファ２３は、それぞれ、図３９を参照しながら前述したＳ／Ｐ変換回路１２１，ビット境界検出回路１２２およびクロック乗換バッファ１２３と同等の機能を有しているので、その詳細な説明は省略する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００７２
【補正方法】変更
【補正の内容】
【００７２】
ＡＮＤゲート２５８の出力である隣接レーン伝送遅延差情報は、計数停止信号として遅延検出カウンタ２５５に入力されるとともに、制御回路２６（後述するＯＲゲート２６ｃ）に入力される。
また、遅延検出カウンタ２５５は、ＡＮＤゲート２５８の出力が“１”になると計数動作を停止し、停止時点でのカウント値つまり自レーン[i]の伝送遅延差を、自レーン[i]の伝送遅延差吸収情報（４ビットデータ）として制御回路２６（後述する伝送遅延差吸収設定部２６ａ）へ出力する。ただし、本実施形態では、上述したように、各レーンのパターン検出信号は、遅延カウンタ２５５が１回インクリメントを行なって遅延検出カウンタ２５５の出力が“０”から“１”になった時点で出力される。このため、各レーンの遅延検出カウンタ２５５によって得られる伝送遅延差は、１だけ多く計数されている。したがって、後段の伝送遅延差吸収設定部２６ａで遅延検出カウンタ２５５のカウント値を用いる前には、後述する減算器２６１より、同カウント値から１だけ減じる処理が実行される。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００８４
【補正方法】変更
【補正の内容】
【００８４】
〔１−５−４〕伝送遅延差吸収設定部２６ａの構成
図５に示すように、伝送遅延差吸収設定部２６ａは、減算器２６１，セレクタ２６２，保持ＦＦ２６３および加算器２６４を含む。
減算器２６１は、パターン検出回路２５の伝送遅延差吸収情報、つまり遅延検出カウンタ２５５によるカウント値から１を減じる。減算器２６１によりカウント値から１を減じる処理を行なうのは、図４を参照しながら前述した通り、遅延検出カウンタ２５５によって得られる伝送遅延差は１だけ多く計数され、２つのレーン間に伝送遅延差が無い場合でも伝送遅延差が“１”となるからである。したがって、遅延検出カウンタ２５５において上述のようなレイテンシが生じなければ、減算器２６１をそなえなくても、本装置は実現可能である。なお、本実施形態では、遅延検出カウンタ２５５によるカウント値が４ビットデータで、減算器２６１から出力されるデータは、１を減じることにより、３ビットデータとなっている。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０１１９
【補正方法】変更
【補正の内容】
【０１１９】
〔２−２〕レーン間伝送遅延差の吸収設定処理手順
図９に示すフローチャート（ステップＳ１１〜Ｓ２０）を参照しながら、本実施形態の伝送遅延差吸収装置（通信装置）によるレーン間伝送遅延差の吸収設定処理手順について説明する。
レーン間伝送遅延差の吸収設定処理を開始する場合、まず、初期化ステートマシン２０ｂからレーン[0]のレーン制御部２６ｂに対しレーンイネーブル信号LE1[1:0]＝“０１”が入力される（ステップＳ１１）。これにより、レーン[0]はプライマリレーンに設定される。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】０１３６
【補正方法】変更
【補正の内容】
【０１３６】
最後に、図１０（Ｆ）に示すように、プライマリレーン[1]とセカンダリレーン[0]とがレーンペアとして選択され、２回目（復路）の設定処理が行なわれる。このとき、レーン[0]のデータがレーン[1]のデータよりも１クロック分早く受信されているので、レーン[1]のカウンタ２５５によるカウント値は“００１”となり、レーン[0]のカウンタ２５５によるカウント値は“０１０”となる。ここで、両レーン[1]，[0]においてレーン制御部２６ｂの第３デコーダ２６２１の出力値は“０１”であり（図８参照）、セレクタ２６２は加算器２６４の出力を選択している。このため、レーン[1]では、カウント値“００１”から減算器２６１により“１”を減算して得られた値“０００”と既に保持ＦＦ２６４に保持された値“０１０”とが加算器２６４により加算され、その加算値“０１０”が保持ＦＦ２６３に保持される。また、レーン[0]では、カウント値“０１０”から“１”を減算して得られた値“００１”と保持ＦＦ２６４に保持された値“０００”とが加算器２６４により加算され、その加算値“００１”が保持ＦＦ２６３に保持される。これにより、レーン[1]のバッファ２４では、ラインＬ２つまり２段目のバッファ２４２が選択され、セレクタ２４５は、データを、レーン[2]のデータに対し２クロック分遅延させて出力する〔図１０（Ｆ）のレーン[1]のデータＡ〜Ｈ参照〕。また、レーン[0]のバッファ２４では、ラインＬ１つまり１段目のバッファ２４１が選択され、セレクタ２４５は、データを、レーン[2]のデータに対し１クロック分遅延させて出力する〔図１０（Ｆ）のレーン[0]のデータＡ′〜Ｈ′参照〕。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】０１４０
【補正方法】変更
【補正の内容】
【０１４０】
なお、各図のレーン[0]〜[3]には、各動作段階(1)〜(27)での各レーン（レーン制御部２６ｂのフラグ保持レジスタ２６１３〜２６１８）におけるフラグ“Primary”，“Secondary”，“current1”，“complete1”，“current2”，“complete2”の設定状態が示されている。具体的に、図１１〜図３７では、各レーンにおけるフラグ“Primary”，“Secondary”，“current1”，“complete1”，“current2”，“complete2”の状態が、それぞれブロックP, S, cu1, co1, cu2, co2によって示されている。そして、フラグがセットされている場合、対応ブロック内に斜線網掛けが付され、フラグがセットされていない場合（クリアされた場合）、対応ブロック内は空白となっている。また、図１１〜図２２では、各レーンにおけるフラグ“current2”，“complete2”の図示は省略されているが、これらのフラグは全て未設定状態である。図２５〜図３７では、各レーンにおけるフラグ“current1”，“complete1”の図示は省略されているが、図２４に示すように、フラグ“current1”は全てクリアされ、フラグ“complete1”は全てセットされている。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】０１４３
【補正方法】変更
【補正の内容】
【０１４３】
まず、図１１〜図１８を参照しながら、往路でのレーンペアの選択動作(1)〜(8)について説明する。
図１１に示す動作(1)では、レーン間伝送遅延差の吸収設定処理を開始する際、まず、初期化ステートマシン２０ｂからレーン[0]に対しレーンイネーブル信号LE1[1:0]＝“０１”が入力される。これに伴い、レーン[0]のフラグP, cu1が設定され、レーン[0]はプライマリレーンに設定される。プライマリレーンに設定されたレーン[0]は、レーン[1]に対しレーンイネーブル信号LE2[1:0]＝“１０”を出力し、同信号がレーン[1]のレーンイネーブル信号LE1[1:0]＝“１０”として入力される。これにより、レーン[1]のフラグSが設定され、レーン[1]はセカンダリレーンに設定され、レーン[0]，[1]が、レーンペアとして選択される。セカンダリレーンに設定されたレーン[1]は、レーン[2]へレーンイネーブル信号LE2[1:0]＝“００”を出力することで、以降のレーン[2]，[3]を非活性化する。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】０１４５
【補正方法】変更
【補正の内容】
【０１４５】
図１３および図１４に示す動作(3)，(4)では、初期化ステートマシン２０ｂがレーン[0]からクリア信号CL2を受信すると、初期化ステートマシン２０ｂからレーン[0]に対して入力されるレーンイネーブル信号LE1[1:0]は、“０１”から“００”に切り換わる。これに伴い、レーン[0]のフラグPがクリアされる。また、上記動作(2)でレーン[0]のフラグcu1およびフラグco1の両方が設定されることに伴い、レーン[0]からレーン[1]に対して入力されるレーンイネーブル信号LE1[1:0]は、“１０”から“０１”に切り換わる。レーン[1]にレーンイネーブル信号LE1[1:0]＝“０１”が入力されると、レーン[1]のフラグP, cu1が設定され、フラグSがクリアされ、さらに、レーン[1]からレーン[2]に対して入力されるレーンイネーブル信号LE1[1:0]は、“００”から“１０”に切り換わる。レーン[2]にレーンイネーブル信号LE1[1:0]＝“１０”が入力されると、レーン[2]のフラグSが設定される。これにより、図１４に示すように、レーン[0]は非活性化され、レーン[1]をプライマリレーンとしレーン[2]をセカンダリレーンとするレーンペアが選択される。なお、この後、初期化ステートマシン２０ｂは、レーン[0]からのレーンイネーブル信号LE4[1:0]が“００”から“１０”に切り換わるのを待機する。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】０１６０
【補正方法】変更
【補正の内容】
【０１６０】
そして、図３４に示す動作(24)では、初期化ステートマシン２０ｂにレーンイネーブル信号LE4[1:0]＝“１０”が入力されると、初期化ステートマシン２０ｂは、レーン[0]のフラグco2を設定するためのセット信号SC2を、レーン[0]に対し隣接レーン伝送遅延情報として入力する。
図３５に示す動作(25)では、レーン[0]が初期化ステートマシン２０ｂからセット信号SC2を受けると、レーン[0]においてフラグco2が設定され、レーン[0]においてフラグcu2およびフラグco2の両方が設定される。これに伴い、レーン[0]は、レーン[1]に対してクリア信号CL4を出力し、同クリア信号CL4がレーン[1]のクリア信号CL3として入力される。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】０１６６
【補正方法】変更
【補正の内容】
【０１６６】
〔３〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、係る特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
例えば、図１０〜図３７を参照しながら上述した実施形態の具体例では、レーン数が４である場合について説明したが、本件は、これに限定されるものではない。
〔４〕付記
以上の本実施形態を含む実施形態に関し、さらに以下の付記を開示する。
（付記１）
複数の伝送路それぞれに対応する受信部を有し、隣接された受信部同士が信号線で接続され、前記複数の伝送路を介して送信側装置からのデータを受信する通信装置における伝送路間の伝送遅延差を補正する方法において、
同一信号を受信する隣接する２つの受信部間で、前記信号を受信した旨の情報を前記信号線を介して互いに通知し、
他方の受信部からの通知と、自身の信号受信との時間差に応じて、伝送遅延差を補正する処理を実行し、
前記隣接する受信部のうちの一方の受信部と、前記一方の受信部に隣接する受信部のうち、当該一方の受信部との間で補正処理を行なっていない方の受信部との選択と、選択された受信部間の伝送遅延差補正処理とを順次行なうことを特徴とする、伝送遅延差補正方法。
（付記２）
前記複数の受信部における一端の受信部から他端の受信部に到達するまで２つの受信部を順次選択し、２つの受信部を選択する都度、前記補正処理を実行した後、
前記補正処理を施された前記複数の受信部における前記他端の受信部から前記一端の受信部に到達するまで２つの受信部を順次選択し、２つの受信部を選択する都度、前記補正処理を再度実行する、付記１記載の伝送遅延差補正方法。
（付記３）
複数の伝送路により送信装置に接続され、前記複数の伝送路を介して前記送信装置からの情報を受信する通信装置において、
前記伝送路毎に設けられた複数の受信部と、
隣接する受信部同士を接続する信号線とを有し、
前記複数の受信部の各々は、
対応する伝送路を介して受信した信号を検出するとともに、隣接する受信部との間で各々の当該信号の検出結果を前記信号線を介して授受する検出部と、
隣接する受信部と自身との前記信号の検出時間差より、当該受信部間の伝送遅延差を補正する制御を行なう制御部とを備え、
前記制御部は、自身の補正処理状況を隣接する受信部の制御部に通知するとともに、補正処理を行なっていない制御部は、隣接する受信部の制御部からの通知に応じて自身の補正処理を開始することを特徴とする、通信装置。
（付記４）
前記制御部は、
隣接する受信部の制御部と連携し、
前記複数の受信部における一端の受信部から他端の受信部に到達するまで２つの受信部を順次選択し、２つの受信部を選択する都度、前記補正処理を実行した後、
前記補正処理を施された前記複数の受信部における前記他端の受信部から前記一端の受信部に到達するまで２つの受信部を順次選択し、２つの受信部を選択する都度、前記補正処理を再度実行する、付記３記載の通信装置。
（付記５）
前記制御部は、
前記送信装置からの複数のデータを一時的に保持するバッファと、
前記補正処理の実行時に、前記送信装置からの特定パターンを有するデータを検出するパターン検出部と、
前記補正処理の実行時に、前記パターン検出部による前記特定パターンの検出タイミングと、前記信号線によって送信される隣接する受信部での前記特定パターンの検出タイミングとに基づき、自身と隣接する受信部との間の伝送遅延差を検出する伝送遅延差検出部と、
前記伝送遅延差検出部によって検出された前記伝送遅延差を吸収補正するように前記バッファからの前記データの読出位置を設定するバッファ制御部と、を有する、付記４記載の通信装置。
（付記６）
前記制御部は、
前記送信装置からの複数のデータを一時的に保持するバッファを有し、
自身の信号受信が前記隣接する受信部による信号受信よりも遅い場合に、前記バッファからの前記データの読み出し位置を変更することを特徴とする、付記４記載の通信装置。
（付記７）
前記バッファ制御部は、
２つの受信部の選択が前記複数の受信部における一端の受信部から他端の受信部に到達するまでの間に前記前記伝送遅延差検出部によって検出された伝送遅延差と、２つの受信部の選択が前記他端の受信部から前記一端の受信部に到達するまでの間に前記伝送遅延差検出部によって検出された伝送遅延差とを加算した値を吸収補正するように前記バッファからの前記データの読出位置を設定する、付記５記載の通信装置。
（付記８）
前記制御部は、
隣接する受信部にそなえられた前記制御部と連携し、前記複数の受信部における一端の受信部から他端の受信部に到達するまで２つの受信部を順次選択し、２つの受信部を選択する都度、前記パターン検出部，前記伝送遅延差検出部および前記バッファ制御部に前記設定処理を実行させる一方、前記設定処理を施された前記複数の受信部における前記他端の受信部から前記一端の受信部に到達するまで２つの受信部を順次選択し、２つの受信部を選択する都度、前記パターン検出部，前記伝送遅延差検出部および前記バッファ制御部に前記補正処理を再度実行させるレーン制御部を有する、付記５または付記７に記載の通信装置。
（付記９）
送信装置と、
複数の伝送路により前記送信装置に接続され、前記複数の伝送路を介して前記送信装置からの情報を受信する通信装置とをそなえ、
前記通信装置は、
前記伝送路毎に設けられた複数の受信部と、
隣接する受信部同士を接続する信号線とを有し、
前記複数の受信部の各々は、
対応する伝送路を介して受信した信号を検出するとともに、隣接する受信部との間で各々の当該信号の検出結果を前記信号線を介して授受する検出部と、
隣接する受信部と自身との前記信号の検出時間差より、当該受信部間の伝送遅延差を補正する制御を行なう制御部とを備え、
前記制御部は、自身の補正処理状況を隣接する受信部の制御部に通知するとともに、補正処理を行なっていない制御部は、隣接する受信部の制御部からの通知に応じて自身の補正処理を開始することを特徴とする、通信システム。
（付記１０）
前記制御部は、
隣接する受信部の制御部と連携し、
前記複数の受信部における一端の受信部から他端の受信部に到達するまで２つの受信部を順次選択し、２つの受信部を選択する都度、前記補正処理を実行した後、
前記補正処理を施された前記複数の受信部における前記他端の受信部から前記一端の受信部に到達するまで２つの受信部を順次選択し、２つの受信部を選択する都度、前記補正処理を再度実行する、付記９記載の通信システム。
（付記１１）
前記制御部は、
前記送信装置からの複数のデータを一時的に保持するバッファと、
前記補正処理の実行時に、前記送信装置からの特定パターンを有するデータを検出するパターン検出部と、
前記補正処理の実行時に、前記パターン検出部による前記特定パターンの検出タイミングと、前記信号線によって送信される隣接する受信部での前記特定パターンの検出タイミングとに基づき、自身と隣接する受信部との間の伝送遅延差を検出する伝送遅延差検出部と、
前記伝送遅延差検出部によって検出された前記伝送遅延差を吸収補正するように前記バッファからの前記データの読出位置を設定するバッファ制御部と、を有する、付記１０記載の通信システム。
（付記１２）
前記制御部は、
前記送信装置からの複数のデータを一時的に保持するバッファを有し、
自身の信号受信が前記隣接する受信部による信号受信よりも遅い場合に、前記バッファからの前記データの読み出し位置を変更することを特徴とする、付記１０記載の通信システム。
（付記１３）
前記バッファ制御部は、
２つの受信部の選択が前記複数の受信部における一端の受信部から他端の受信部に到達するまでの間に前記前記伝送遅延差検出部によって検出された伝送遅延差と、２つの受信部の選択が前記他端の受信部から前記一端の受信部に到達するまでの間に前記伝送遅延差検出部によって検出された伝送遅延差とを加算した値を吸収補正するように前記バッファからの前記データの読出位置を設定する、付記１１記載の通信システム。
（付記１４）
前記制御部は、
隣接する受信部にそなえられた前記制御部と連携し、前記複数の受信部における一端の受信部から他端の受信部に到達するまで２つの受信部を順次選択し、２つの受信部を選択する都度、前記パターン検出部，前記伝送遅延差検出部および前記バッファ制御部に前記設定処理を実行させる一方、前記設定処理を施された前記複数の受信部における前記他端の受信部から前記一端の受信部に到達するまで２つの受信部を順次選択し、２つの受信部を選択する都度、前記パターン検出部，前記伝送遅延差検出部および前記バッファ制御部に前記補正処理を再度実行させるレーン制御部を有する、付記１１または付記１３に記載の通信システム。
【国際調査報告】
2012127575.tif 000042
2012127575.tif 000043