(57)【特許請求の範囲】
【請求項１】
受信データから周波数差調整符号列の開始を表す開始符号を検出する検出部と、
受信クロックと内部クロックとの間のタイミング誤差を判定する判定部と、
前記タイミング誤差に応じて、前記受信データ中の前記開始符号が検出された位置から指定された距離だけ離れた位置に挿入されている調整符号の長さを調整する符号長制御部と、
を備える受信回路。
【請求項２】
前記検出部は、前記開始符号に対応する前記距離を検出することを特徴とする請求項１記載の受信回路。
【請求項３】
前記開始符号と前記調整符号の間に挿入されているデータから前記距離を算出する距離算出部をさらに備えることを特徴とする請求項１記載の受信回路。
【請求項４】
前記距離は、固定長であることを特徴とする請求項１記載の受信回路。
【請求項５】
前記受信データ中の有効データを処理するデータ処理部をさらに有し、
前記符号長制御部による前記調整符号の長さを制御する処理が終了する前に、前記開始符号と前記調整符号との間の有効データの少なくとも一部は、前記データ処理部により処理されることを特徴とする請求項１乃至４のいずれか１項に記載の受信回路。
【請求項６】
受信データから周波数差調整符号列の開始を表す開始符号を検出し、前記開始符号の検出を通知する複数の検出部と、
受信クロックと内部クロックとの間のタイミング誤差を判定する判定部と、
前記開始符号の検出の通知と前記タイミング誤差に基づいて、前記調整符号の長さの調整を指示する指示部と、
前記指示に応じて、前記受信データ中の前記開始符号が検出された位置から指定された距離だけ離れた位置に挿入されている調整符号の長さを調整する複数の符号長制御部と、
を備える受信回路。
【請求項７】
送信データを生成する送信データ生成部と、
周波数差調整符号列の開始を表す開始符号を前記送信データに挿入し、前記開始符号から指定された距離だけ離れた位置に調整符号を挿入する周波数差調整符号列生成部と、
前記開始符号と前記調整符号を含む前記送信データを受信装置に送信する送信部と、
を備える送信回路。
【請求項８】
送信装置と受信装置とを備える情報処理装置であって、
前記送信装置は、
前記受信装置に送信する送信データを生成する送信データ生成部と、
周波数差調整符号列の開始を表す開始符号を前記送信データに挿入し、前記開始符号から指定された距離だけ離れた位置に調整符号を挿入する周波数差調整符号列生成部と、
前記開始符号と前記調整符号を含む前記送信データを前記受信装置に送信する送信部と、
を備え、
前記受信装置は、
受信データから前記開始符号を検出する検出部と、
受信クロックと内部クロックとの間のタイミング誤差を判定する判定部と、
前記タイミング誤差に応じて、前記受信データ中の前記開始符号が検出された位置から指定された距離だけ離れた位置に挿入されている前記調整符号の長さを調整する符号長制御部と、
を備えることを特徴とする情報処理装置。
【請求項９】
送信装置を有する第１の情報処理装置と受信装置を有する第２の情報処理装置とを備えるシステムであって、
前記送信装置は、
前記受信装置に送信する送信データを生成する送信データ生成部と、
周波数差調整符号列の開始を表す開始符号を前記送信データに挿入し、前記開始符号から指定された距離だけ離れた位置に調整符号を挿入する周波数差調整符号列生成部と、
前記開始符号と前記調整符号を含む前記送信データを前記受信装置に送信する送信部と、
を備え、
前記受信装置は、
受信データから前記開始符号を検出する検出部と、
受信クロックと内部クロックとの間のタイミング誤差を判定する判定部と、
前記タイミング誤差に応じて、前記受信データ中の前記開始符号が検出された位置から指定された距離だけ離れた位置に挿入されている前記調整符号の長さを調整する符号長制御部と、
を備えることを特徴とするシステム。
【請求項１０】
送信装置と受信装置間の伝送方法であって、
前記送信装置は、
前記受信装置に送信する送信データを生成し、
周波数差調整符号列の開始を表す開始符号を前記送信データに挿入し、
前記開始符号から指定された距離だけ離れた位置に調整符号を挿入し、
前記開始符号と前記調整符号を含む前記送信データを前記受信装置に送信し、
前記受信装置は、
受信データから前記開始符号を検出し、
受信クロックと内部クロックとの間のタイミング誤差を判定し、
前記タイミング誤差に応じて、前記受信データ中の前記開始符号が検出された位置から指定された距離だけ離れた位置に挿入されている前記調整符号の長さを制御する、
処理を備える伝送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、受信回路、送信回路、情報処理装置、システム、および伝送方法に関する。に関する。
【背景技術】
【０００２】
Large Scale Integration（ＬＳＩ）間のシリアル通信のデータ転送において、送信側ＬＳＩが送信に用いるクロックと、受信側ＬＳＩが受信に用いるクロックは、高速伝送の厳しいジッタ要件などの都合により、同期したクロックを用いることが難しい。【０００３】
そこで、送信クロックと受信クロックの間である程度の周波数の差を許容し(一般的に数百ppm（parts per million）程度)、かわりに、伝送データに、想定する周波数差を上回る頻度で、周波数差調整用の符号列（ＳＫＩＰオーダーセット）を挿入している。【０００４】
ＳＫＩＰオーダーセットは、特定の特殊データ列で構成され、その他の特殊データ列および有効データと異なるデータである。【０００５】
図１は、従来のＳＫＩＰオーダーセットを示す図である。
図１において、受信側が受信するデータのうち、ＳＫＩＰオーダーセットは、有効なデータの間に挿入されている。【０００６】
図１において、ＳＫＩＰオーダーセットは、ＣＯＭシンボルと２つのＳＫＰシンボルから構成されている。図１のＳＫＩＰオーダーセットでは、ＣＯＭシンボルの直後に２つのＳＫＰシンボルが配置されている。【０００７】
ＣＯＭシンボルは、ＳＫＩＰオーダーセットの先頭に配置されるシンボルである。
ＳＫＰシンボルは、受信側において追加または削除により、周波数差の調整に用いられるシンボルである。【０００８】
受信側LSIにおいて、データ受信回路は受信データのペースのクロック(以降、受信クロック)で動作し、ＳＫＩＰオーダーセットを検出したら、吸収符号(ＳＫＰシンボル)を伸縮（追加または削除）することで、自分のクロック(以降、内部クロック)に転送レートを合わせる。【０００９】
図２Ａは、従来のＳＫＩＰオーダーセットを用いた周波数差の調整処理を示す図である。【００１０】
図２Ａの一番上のデータは、図１と同様の受信側が受信するデータを示す。図１で述べたように、有効なデータの間にＳＫＩＰオーダーセット（ＣＯＭシンボルと２つのＳＫＰシンボル）が挿入されている。【００１１】
受信クロックから内部クロックへの乗換えにおいて、相対的に受信データが速い場合（すなわち、受信クロックが内部クロックより早い場合）、図２Ａの上から２番目のデータに示すように、ＳＫＩＰオーダーセットにさらにＳＫＰシンボルを追加して、後段の回路へ渡すタイミングを遅くする。【００１２】
相対的に受信データが遅い場合（すなわち、受信クロックが内部クロックより遅い場合）、図２Ａの上から３番目のデータに示すように、ＳＫＩＰオーダーセットからＳＫＰシンボルを削除して、後段の回路へ渡すタイミングを速くする。【００１３】
ちょうど良い場合（すなわち、受信クロックが内部クロックとほぼ同じ場合）、図２Ａの上から４番目のデータに示すように、ＳＫＩＰオーダーセットはそのままとする。【００１４】
送信部は、データパケットにＳＫＩＰオーダーセットを挿入して、受信部に送信し、受信部は、周波数差を吸収するようにＳＫＰキャラクタを挿入又は削除する技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開２０１２−６３９１３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１６】
従来、ＳＫＩＰオーダーセットを検出して、受信クロックと内部クロックとのタイミング誤差に基づいて、ＳＫＩＰオーダーセット内のＳＫＰシンボルの追加削除を行っている。その場合、先頭のＣＯＭシンボルから最後尾のＳＫＰシンボルまでを含むＳＫＩＰオーダーセットは、ＳＫＰシンボルの追加削除を行うまで、ＳＫＰシンボルの追加削除を行う処理回路近辺に滞留させておく必要があり、転送遅延の原因となる。【００１７】
１つの側面において、本発明の課題は、回路内の周波数差を調整するための転送遅延（レイテンシ）を小さくすることである。
【課題を解決するための手段】
【００１８】
実施の形態の受信回路は、検出部と、判定部と、符号長制御部と、を有する。
前記検出部は、受信データから周波数差調整符号列の開始を表す開始符号を検出する。
前記判定部は、受信クロックと内部クロックとの間のタイミング誤差を判定する。【００１９】
符号長制御部は、前記判定部により判定されるタイミング誤差に応じて、前記受信データ中の前記開始符号が検出された位置から指定された距離だけ離れた位置に挿入されている調整符号の長さを調整する。
【発明の効果】
【００２０】
実施の形態の受信回路によれば、回路内の転送遅延を小さくすることができる。
【図面の簡単な説明】
【００２１】
【図１】従来のＳＫＩＰオーダーセットを示す図である。
【図２Ａ】従来のＳＫＩＰオーダーセットを用いた周波数差の調整処理を示す図である。
【図２Ｂ】受信ＬＳＩの構成と処理の一例を示す図である。
【図３】実施の形態に係るＳＫＩＰオーダーセットを示す図である。
【図４】実施の形態に係るシステムの構成図である。
【図５】実施の形態に係る送信ＬＳＩおよび受信ＬＳＩの構成図である。
【図６】実施の形態に係る送信レーン処理部の構成図である。
【図７】実施の形態に係る受信レーン処理部の構成図である。
【図８】実施の形態に係る送信処理のフローチャートである。
【図９】実施の形態に係る受信処理のフローチャートである。
【図１０】実施の形態に係る受信ＬＳＩの構成と処理を示す図である。
【図１１】従来のＳＫＩＰオーダーセットと実施の形態に係るＳＫＩＰオーダーセットの周波数差の調整処理を示す図である。
【図１２Ａ】第１の変形例の距離Ｎ＝６の場合のＳＫＩＰオーダーセットを示す図である。
【図１２Ｂ】第１の変形例の距離Ｎ＝８の場合のＳＫＩＰオーダーセットを示す図である。
【図１２Ｃ】第１の変形例の距離Ｎ＝１０の場合のＳＫＩＰオーダーセットを示す図である。
【図１２Ｄ】第１の変形例の距離Ｎ＝１２の場合のＳＫＩＰオーダーセットを示す図である。
【図１３】第１の変形例の受信ＬＳＩの構成図である。
【図１４Ａ】第１の変形例のＳＫＩＰオーダーセット受信時のタイムチャートである。
【図１４Ｂ】第１の変形例のＳＫＩＰオーダーセット受信時のタイムチャートである。
【図１５Ａ】従来のＳＫＩＰオーダーセット受信時のタイムチャートである。
【図１５Ｂ】従来のＳＫＩＰオーダーセット受信時のタイムチャートである。
【図１６】第２の変形例のＳＫＩＰオーダーセットを示す図である。
【図１７】第２の変形例に係る受信ＬＳＩの構成図である。
【図１８Ａ】第２の変形例のＳＫＩＰオーダーセット受信時のタイムチャートである。
【図１８Ｂ】第２の変形例のＳＫＩＰオーダーセット受信時のタイムチャートである。
【図１９】第３の変形例のＳＫＩＰオーダーセットを示す図である。
【図２０】第３の変形例に係る受信ＬＳＩの構成図である。
【図２１Ａ】第３の変形例のＳＫＩＰオーダーセット受信時のタイムチャートである。
【図２１Ｂ】第３の変形例のＳＫＩＰオーダーセット受信時のタイムチャートである。
【発明を実施するための形態】
【００２２】
ＬＳＩ内の遅延を小さくするため、ＬＳＩ内のさまざまな処理はパイプライン化を行うのが一般的である。
【００２３】
すなわち、ある処理が済んだデータは次段へ、その次の処理が済んだデータはさらに次段へと、ＬＳＩ内でデータを遅滞なくスムーズに転送させてゆくことで、ＬＳＩ内の転送遅延を小さくすることができる。
【００２４】
図２Ｂは、受信ＬＳＩの構成と処理の一例を示す図である。
受信ＬＳＩ１０は、受信レーン処理部１１−ｋ（ｋ＝０〜３）および受信制御部２１を備える。
【００２５】
受信ＬＳＩ１０は、送信ＬＳＩ（不図示）と４本のレーンｋ（不図示）により接続されている。受信レーン処理部１１−ｋは、レーンｋを介して送信されたデータを受信して、該データに対して処理を行う。
【００２６】
図２Ｂでは、受信レーン処理部１１−３の構成のみ詳細を記載している。受信レーン処理部１１−０〜１１−２の構成は、受信レーン処理部１１−３の構成と同様のため記載は省略する。
【００２７】
受信レーン処理部１１−３は、受信部１２、フリップフロップ１３−１、１３−２、１３−３、ＳＫＩＰオーダーセット検出部１４、データ追加削除処理部１５、およびクロック乗り換えバッファ１６を備える。
【００２８】
受信部１２は、送信ＬＳＩからデータを受信し、データをシリアルパラレル変換等の処理を施して、フリップフロップ１３−１に出力する。
【００２９】
フリップフロップ１３−１、１３−２、１３−３は、入力されたデータを保持し、受信クロックと同期して該データを出力する。ここで、データは１シンボル分のデータとする。
【００３０】
フリップフロップ１３−１は、データをＳＫＩＰオーダーセット検出部１４とフリップフロップ１３−２に出力する。フリップフロップ１３−２は、データをＳＫＩＰオーダーセット検出部１４とフリップフロップ１３−３に出力する。フリップフロップ１３−３は、データをクロック乗換えバッファ１６に出力する。
【００３１】
ＳＫＩＰオーダーセット検出部１４は、フリップフロップ１３−１、１３−２から入力されるデータをチェックし、ＳＫＩＰオーダーセットを検出する。ＳＫＩＰオーダーセット検出部１４は、ＳＫＩＰオーダーセットを検出すると、受信制御部２１にＳＫＩＰオーダーセットの検出の通知をする。
【００３２】
受信部１２、フリップフロップ１３−１、１３−２、１３−３、およびＳＫＩＰオーダーセット検出部１４は、受信クロックと同期して動作する。
【００３３】
データ追加削除処理部１５は、受信制御部２１の指示に基づいて、ＳＫＰシンボルの追加または削除を行う。詳細には、例えば、データ追加削除処理部１５は、受信制御部の指示に基づいて、クロック乗換えバッファ１６のリードポインタを調整する。
【００３４】
受信制御部２１は、各受信レーン処理部１１−ｋのＳＫＩＰオーダーセット検出部１４から通知を受信し、各受信レーン処理部１１−ｋのデータ追加削除処理部１５にＳＫＰシンボルの追加または削除の指示をする。
【００３５】
背景技術で述べた周波数差吸収動作は、(1)「ＳＫＩＰオーダーセットを検出する」と(2)「検出の結果、必要に応じＳＫＰシンボルを追加または削除する」の２つのフェーズから成っており、受信したデータの流れ(stream)のうちの、同じ箇所(ＳＫＩＰオーダーセットの箇所)に対し、これを順番に実行せねばならない。（１）の処理はＳＫＩＰオーダーセット検出部１４、（２）の処理はデータ追加削除処理部１５によりそれぞれ行われる。
【００３６】
さらに、LSI間の伝送においては、複数のシリアル伝送（レーン）を束ねて、ある幅をもった単位にし、LSI内部(受信部より先)ではその単位でデータを取り扱う場合が多い。
【００３７】
一単位である複数のレーンの間で、ＳＫＰシンボルの処理時にレーン間の束ねがズレないようにするためには、受信レーン処理部１１−ｋに同時に送られてくるSKIPオーダーセットに対し、符号の追加・削除を、受信レーン処理部１１−ｋ間で同期して判断する必要がある。
【００３８】
そのため、複数レーンを束ねてデータ転送をおこなう場合は、(1)と(2)のフェーズの間に、(1')受信制御部２１において全受信レーン処理部１１−ｋで判断を同期するフェーズを入れる必要がある。
【００３９】
データストリーム中の同じ箇所に対し、(1)→(1')→(2)の順番で処理を行うため、該箇所のデータは、(2)の処理が終わるまで、それらの処理をおこなう回路近辺（フリップフロップ１３、クロック乗換えバッファ１６）に滞留させておく必要がある。
【００４０】
これは、ＬＳＩ内でのスムーズなデータの転送(処理のパイプライン化)を妨げ、転送遅延（レイテンシ）を大きくする要因になっている。
【００４１】
以下、図面を参照しながら実施の形態について説明する。
図３は、実施の形態に係るＳＫＩＰオーダーセットを示す図である。
【００４２】
実施の形態のＳＫＩＰオーダーセットは、検出部分（Ａ）と伸縮部分（Ｂ）から構成される。ＳＫＩＰオーダーセットは、周波数差調整符号列の一例である。
【００４３】
検出部分（Ａ）は、１つのＣＯＭシンボルと1つのＳＫＰシンボルで構成されている。検出部分（Ａ）は、ＣＯＭシンボルの直後にＳＫＰシンボルが配置されている。検出部分は、開始符号の一例である。
【００４４】
伸縮部分（Ｂ）は、1つのＳＫＰシンボルで構成されている。伸縮部分（Ｂ）は、調整符号の一例である。
【００４５】
検出部分（Ａ）と伸縮部分（Ｂ）は、距離Ｎ（シンボル数）だけ離れて配置されている。距離Ｎは、固定シンボル長としても良いし、検出部分に含まれる予め定義したシンボルに応じて特定しても良いし、検出部分（Ａ）と伸縮部分（Ｂ）との間のデータから取得したパケット長の情報から算出しても良い。
【００４６】
検出部分（Ａ）と伸縮部分（Ｂ）の間には有効なデータ（ペイロード）または無効データが挿入される。
【００４７】
図４は、実施の形態に係るシステムの構成図である。
システム１０１は、情報処理装置２０１−ｉ（ｉ＝１、２）を備える。
【００４８】
情報処理装置２０１−ｉは、Central Processing Unit（ＣＰＵ）２０２−ｉ−ｊ（ｊ−１、２）、クロスバースイッチ（ＸＢ）２０３−ｉ、およびＩ／Ｏアダプタ２０４−ｉ−ｋ（ｋ＝０〜３）を備える。
【００４９】
ＣＰＵ２０２−ｉ−１とＣＰＵ２０２−ｉ−２は、複数のレーン（シリアルバス）により接続している。ＣＰＵ２０２−ｉ−ｊとＸＢ２０３−ｉは、複数のレーンシリアルバス）により接続している。ＸＢ２０３−１とＸＢ２０３−２は、複数のレーン（シリアルバス）により接続している。
【００５０】
ＣＰＵ２０２−ｉ−ｊは、各種処理を行う処理装置である。
ＸＢ２０３−ｉは、データの経路を動的に選択するスイッチである。ＸＢ２０３−ｉは、ＸＢ２０３−ｉまたはＣＰＵ２０２−ｉ−ｊからパケットを受信し、そのパケットに含まれる宛先を認識し、送信先に転送する。
【００５１】
Ｉ／Ｏアダプタ２０４−ｉ−ｍ（ｍ＝１〜４）は、入出力装置と接続するアダプタである。
【００５２】
後述の実施の形態に係る送信ＬＳＩおよび受信ＬＳＩは、ＣＰＵ２０２−ｉ−ｊおよびＸＢ２０３−ｉに搭載され、ＣＰＵ−ＣＰＵ間、ＣＰＵ−ＸＢ間、およびＸＢ−ＸＢ間の通信で使用される。
【００５３】
図５は、実施の形態に係る送信ＬＳＩおよび受信ＬＳＩの構成図である。
送信ＬＳＩ３０１は、送信パケット生成部３１１および送信レーン処理部３２１−ｋ（ｋ＝０〜３）を備える。
【００５４】
受信ＬＳＩ４０１は、受信レーン処理部４１１−ｋ、受信制御部４２１、および受信パケット解析部４３１を備える。
【００５５】
送信ＬＳＩ３０１は、受信ＬＳＩ４０１と４本のレーン（シリアルバス）で接続されている。送信レーン処理部３２１−ｋは、受信レーン処理部４１１−ｋとレーンを介して接続されている。以下、送信レーン処理部３２１−ｋと受信レーン処理部４１１−ｋとを接続するレーンをレーンｋと表記する。
【００５６】
送信パケット生成部３１１は、受信ＬＳＩに送信する送信パケットを生成し、送信レーン処理部３２１−ｋに送信パケットを分割して送信する。
【００５７】
送信レーン処理部３２１−ｋは、ＳＫＩＰオーダーセットを生成し、入力されたパケットにＳＫＩＰオーダーセットを挿入し、受信レーン処理部４１１−ｋに送信する。尚、送信レーン処理部３２１−ｋの詳細については後述する。
【００５８】
受信レーン処理部４１１−ｋは、入力されたデータからＳＫＩＰオーダーセットの検出部分と距離Ｎを検出し、受信制御部４２１に通知する。受信レーン処理部４１１−ｋは、受信制御部４２１から指示に基づいて、ＳＫＩＰオーダーセットの伸縮部分（ＳＫＰシンボル）の追加または削除を行う。尚、受信レーン処理部４１１−ｋの詳細については後述する。受信レーン処理部４１１−ｋは、受信パケットを受信パケット解析部４３１に出力する。
【００５９】
受信制御部４２１は、受信クロックと内部クロックとの誤差、すなわち受信クロックと内部クロックとの周波数差を判定する。受信制御部４２１は、判定した誤差と受信レーン処理部４１１−ｋの通知に基づいて、受信レーン処理部４１１−ｋに伸縮部分の追加または削除の指示を行う。受信制御部４２１は、符号長制御部の一例である。尚、受信クロックは、受信データをクロックデータリカバリすることにより生成される。また、内部クロックは、受信ＬＳＩ４０１内のクロック生成回路（不図示）により生成される。
【００６０】
受信パケット解析部４３１は、送信レーン処理部４１１−ｋから入力されたパケットに対して解析などの処理をする。受信パケット解析部４３１は、データ処理部の一例である。
【００６１】
図６は、実施の形態に係る送信レーン処理部の構成図である。
送信レーン処理部３２１−ｋは、ＳＫＩＰオーダーセット生成部３２２−ｋおよびパラレル／シリアル変換回路３２３−ｋを備える。
【００６２】
ＳＫＩＰオーダーセット生成部３２２−ｋは、例えば図３に示すＳＫＩＰオーダーセットを生成し、入力されたパケットの間にＳＫＩＰオーダーセットを挿入し、パラレル／シリアル変換回路３２３−ｋに出力する。
【００６３】
パラレル／シリアル変換回路３２３−ｋは、パラレルデータとシリアルデータを相互に変換する。パラレル／シリアル変換回路３２３−ｋは、入力されたパラレルデータをシリアルデータに変換し、レーンｋを介して受信レーン処理部４１１−ｋに出力する。
【００６４】
図７は、実施の形態に係る受信レーン処理部の構成図である。
受信レーン処理部４１１−ｋは、パラレル／シリアル変換回路４１２−ｋ、ＳＫＩＰオーダーセット検出部４１３−ｋ、およびクロック乗り換えバッファ４１４−ｋを備える。
【００６５】
パラレル／シリアル変換回路４１２−ｋは、パラレルデータとシリアルデータを相互に変換する。パラレル／シリアル変換回路４１２−ｋは、入力されたシリアルデータをパラレルデータに変換し、ＳＫＩＰオーダーセット検出部４１３−ｋおよびクロック乗り換えバッファ４１４−ｋに出力する。
【００６６】
ＳＫＩＰオーダーセット検出部４１３−ｋは、ＳＫＩＰオーダーセットの検出部分と距離Ｎを検出し、受信制御部４２１に通知する。
【００６７】
クロック乗り換えバッファ４１４−ｋは、受信クロックから内部クロックへの乗り換えに用いるバッファである。すなわち、クロック乗り換えバッファ４１４−ｋは、受信クロックによりデータを書き込み、内部クロックによりデータを読み出す。クロック乗り換えバッファ４１４−ｋは、ＳＫＰシンボルの追加または削除により、周波数差の調整を行うためのバッファである。
【００６８】
図８は、実施の形態に係る送信処理のフローチャートである。
ステップＳ５０１、Ｓ５０２、Ｓ５０４、Ｓ５０５、およびＳ５０７は、各送信レーン処理部３２１−ｋにおいて、それぞれ実行される。
【００６９】
ステップＳ５０１において、送信レーン処理部３２１−ｋは、送信パケット生成部３１１からＳＫＩＰオーダーセット送信指示を受信したか判定し、受信した場合、制御はステップＳ５０２に進む。受信していない場合、ＳＫＩＰオーダーセット送信指示を受信するまで待機する。
【００７０】
ステップＳ５０２において、送信レーン処理部３２１−ｋは、送信パケット生成部３１１から距離Ｎの通知を受信する。尚、距離Ｎが固定シンボル長の場合、すなわち、距離Ｎが予め決まっている場合、ステップ５０２の処理は、無くても良い。
【００７１】
ステップＳ５０３において、送信パケット生成部３１１は、検出部分を挿入するだけの隙間をあける。
【００７２】
ステップＳ５０４において、送信レーン処理部３２１−ｋは、入力されたパケットに検出部分を挿入し、受信レーン処理部４１１−ｋに送信する。
【００７３】
ステップＳ５０５において、送信レーン処理部３２１−ｋは、送信パケット生成部３１１から充填パケット（すなわち、有効なデータ）を受信し、受信レーン処理部４１１−ｋに送信する。
【００７４】
ステップＳ５０６において、送信パケット生成部３１１は、伸縮部分を挿入するだけの隙間をあける。
【００７５】
ステップＳ５０７において、送信レーン処理部３２１−ｋは、入力されたパケットに伸縮部分を挿入し、受信レーン処理部４１１−ｋに送信する。
【００７６】
図９は、実施の形態に係る受信処理のフローチャートである。
ステップＳ６０１〜Ｓ６０３、Ｓ６０６、およびＳ６０７は、各受信レーン処理部４１１−ｋにおいて、それぞれ実行される。
【００７７】
ステップＳ６０１において、ＳＫＩＰオーダーセット検出部４１３−ｋは、入力されたデータをチェックし、検出部分（Ａ）を検出した場合、制御はステップＳ６０２に進む。
【００７８】
ステップＳ６０２において、ＳＫＩＰオーダーセット検出部４１３−ｋは、距離Ｎを特定する。ＳＫＩＰオーダーセット検出部４１３−ｋは、例えば、検出部分（Ａ）の種類や検出部分（Ａ）と伸縮部分（Ｂ）の間のデータから距離Ｎを特定する。尚、距離Ｎが固定シンボル長の場合、すなわち、距離Ｎが予め決まっている場合、ステップ６０２の処理は、無くても良い。
【００７９】
ステップＳ６０３において、ＳＫＩＰオーダーセット検出部４１３−ｋは、検出部分（Ａ）の検出と距離Ｎを受信制御部４２１に通知する。
【００８０】
ステップＳ６０４において、受信制御部４２１は、レーン間の同期待ちをする。すなわち、受信制御部４２１は、すべてのＳＫＩＰオーダーセット検出部４１３−ｋからの通知を待ち、すべてのＳＫＩＰオーダーセット検出部４１３−ｋから通知を受信したら、制御はステップＳ６０５に進む。送信ＬＳＩ３０１と受信ＬＳＩ４０１間の伝送においては、複数のレーンを束ねて、ある幅をもった単位にし、受信ＬＳＩ３０１内部(受信レーン処理部４１１−ｋより後)ではその単位でデータを取り扱う場合が多い。一単位である複数のレーンの間で、ＳＫＰシンボルの処理時にレーン間の束ねがズレないようにするために、ステップＳ６０４においてレーン間の同期待ちを行っている。尚、レーン間の同期が不要の場合、ステップＳ６０４は省略しても良い。
【００８１】
ステップＳ６０５において、受信制御部４２１は、受信クロックと内部クロックとのタイミング誤差（受信クロックと内部クロックとの周波数差）を判定し、判定結果に基づいて、各受信レーン処理部４１１−ｋに伸縮部分（Ｂ）のＳＫＰシンボルの追加または削除の指示をする。受信制御部４２１は、各受信レーン処理部４１１−ｋに距離Ｎを通知する。尚、距離Ｎが固定シンボル長の場合、受信制御部４２１は、距離Ｎを通知をしなくてもよい。
【００８２】
ステップＳ６０６において、受信レーン処理部４１１−ｋは、検出部分（Ａ）から距離Ｎ後に受信する伸縮部分（Ｂ）に対して、ＳＫＰシンボルの追加または削除を行うためのタイミングの調整を行う。
【００８３】
ステップＳ６０７において、受信レーン処理部４１１−ｋは、伸縮部分（Ｂ）に対して、ＳＫＰシンボルの追加または削除を行う。
【００８４】
図１０は、実施の形態に係る受信ＬＳＩの構成と処理を示す図である。
図１０では、受信レーン処理部４１１−３の構成のみ詳細を記載している。受信レーン処理部４１１−０〜４１１−２の構成は、受信レーン処理部４１１−３の構成と同様のため記載は省略する。
【００８５】
受信レーン処理部４１１−３は、受信部４１５−３、フリップフロップ４１６−３−１、４１６−３−２、ＳＫＩＰオーダーセット検出部４１３−３、データ追加削除処理部４１７−３、およびクロック乗り換えバッファ４１４−３を備える。
【００８６】
受信部４１５−３は、送信ＬＳＩ３０１からデータを受信し、データにシリアルパラレル変換等の処理を施して、フリップフロップ４１６−３−１とクロック乗換えバッファ４１４−３に出力する。また、受信部４１５−３は、クロックデータリカバリにより受信データから受信クロックを生成する。受信部４１５−３は、図７のシリアル／パラレル変換回路４１２−３を含む。
【００８７】
フリップフロップ４１６−３−１、４１６−３−２は、入力されたデータを保持し、受信クロックと同期して該データを出力する。ここで、データは１シンボル分のデータとする。
【００８８】
フリップフロップ４１６−３−１は、データをＳＫＩＰオーダーセット検出部４１３−３とフリップフロップ４１６−３−２に出力する。フリップフロップ４１６−３−２は、データをＳＫＩＰオーダーセット検出部４１３−３に出力する。
【００８９】
ＳＫＩＰオーダーセット検出部４１３−３は、フリップフロップ４１６−３−１、４１６−３−２から入力されるデータをチェックし、ＳＫＩＰオーダーセットの検出部分を検出する。例えば、ＳＫＩＰオーダーセット検出部４１３−３は、フリップフロップ４１６−３−１からの入力がＳＫＰシンボル、且つフリップフロップ４１６−３−２からの入力がＣＯＭシンボルの場合、検出部分（Ａ）を検出する。ＳＫＩＰオーダーセット検出部４１３−３は、検出部分（Ａ）を検出すると、受信制御部４２１に検出部分（Ａ）の検出の通知をする。ＳＫＩＰオーダーセット検出部４１３−３は、距離Ｎを特定して、受信制御部４２１に通知しても良い。
【００９０】
受信部４１５−３、フリップフロップ４１６−３−１、４１６−３−２、およびＳＫＩＰオーダーセット検出部４１３−３は、受信クロックと同期して動作する。
【００９１】
データ追加削除処理部４１７−３は、受信制御部４２１の指示に基づいて、伸縮部分（Ｂ）のＳＫＰシンボルの追加または削除を行う。詳細には、例えば、データ追加削除処理部４１７−３は、受信制御部の指示に基づいて、クロック乗換えバッファ４１４−３のリードポインタを調整する。
【００９２】
クロック乗り換えバッファ４１４−３は、受信クロックと同期してデータを書き込み、内部クロックと同期してデータが読み出され、読み出されたデータは後段の受信パケット解析部４３１に渡される。
【００９３】
実施の形態のＳＫＩＰオーダーセットのように、符号列の方式を変えても、伸縮処理において、従来と同様に上述の(1)→(1')→(2)の処理を行う必要がある。実施の形態の受信処理では、ＳＫＰシンボルの伸縮の処理を行うときには、すでに検出部分（Ａ）は必要なく、伸縮回路（クロック乗り換えバッファ４１４）の近辺を、伸縮対象の伸縮部分（Ｂ）が通過していればよい。
【００９４】
検出部分（Ａ）については、SKIPオーダーセットであることを検出したあとは用いないので破棄してよく、すみやかなデータ転送(パイプライン化)の妨げとならない。ＳＫＰシンボルの伸縮の処理が終了する前に、検出部分（Ａ）と伸縮部分（Ｂ）との間のデータの少なくとも一部は、後段の受信パケット解析部４３１に送られて処理され、すみやかなデータ転送が可能となる。
【００９５】
検出部分（Ａ）と伸縮部分（Ｂ）との間の距離Nは、(1)→(1')→(2)の処理をおこなっている間に該当箇所を通過するシンボル数を上回る数とすることで、処理のパイプライン化の妨げとならないようにできる。
【００９６】
図１１は、従来のＳＫＩＰオーダーセットと実施の形態に係るＳＫＩＰオーダーセットの周波数差の調整処理を示す図である。
【００９７】
図１１の上半分は、従来のＳＫＩＰオーダーセットを用いた周波数差の調整処理を示し、図１１の下半分は、実施の形態のＳＫＩＰオーダーセットを用いた周波数差の調整処理を示す。
【００９８】
図１１の一番上のデータは、図１と同様の従来の受信側が受信するデータを示す。図１で述べたように、有効なデータの間にＳＫＩＰオーダーセット（ＣＯＭシンボルと２つのＳＫＰシンボル）が挿入されている。
【００９９】
図１１の上半分の上から２番目と３番目のデータは、それぞれ受信クロックから内部クロックへの乗換えにおいて、相対的に受信データが速い場合と相対的に受信データが遅い場合のデータを示す。
【０１００】
図２Ａで述べたように、相対的に受信データが速い場合は、ＳＫＰシンボルが追加され、相対的に受信データが遅い場合は、ＳＫＰシンボルは追加される。
【０１０１】
図１１の下半分のうち、一番上データは、図３と同様の実施の形態の受信側が受信するデータを示す。
【０１０２】
実施の形態のＳＫＩＰオーダーセットは、検出部分（１つのＣＯＭシンボルと1つのＳＫＰシンボル）と伸縮部分（1つのＳＫＰシンボル）から構成される。伸縮部分は、伸縮部分と距離Ｎ離れて配置されている。検出部分と伸縮部分の間には有効なデータ（ペイロード）が挿入されている。
【０１０３】
図１１の下半分のうち、上から２番目と３番目のデータは、それぞれ受信クロックから内部クロックへの乗換えにおいて、相対的に受信データが速い場合と相対的に受信データが遅い場合のデータを示す。
【０１０４】
実施の形態において、相対的に受信データが速い場合は、伸縮部分にＳＫＰシンボルが追加され、相対的に受信データが遅い場合は、伸縮部分にＳＫＰシンボルが追加される。
実施の形態の受信ＬＳＩによれば、回路内の転送遅延を小さくすることができる。
【０１０５】
（第１の変形例）
次に、ＳＫＩＰオーダーセットの検出部分と伸縮部分との間の距離Ｎ（シンボル数）が可変シンボル長であり、距離Ｎを示す情報をＳＫＩＰオーダーセットに含める第１の変形例を説明する。
【０１０６】
図１２Ａは、第１の変形例の距離Ｎ＝６の場合のＳＫＩＰオーダーセットを示す図である。図１２Ａでは、上から順にレーン０からレーン３でそれぞれ送信される送信データを示している。
【０１０７】
距離Ｎ＝６の場合、検出部分は、ＣＯＭシンボルとＳＫＰ−Ａシンボルで構成する。検出部分と伸縮部分の間の距離は６である。検出部分と伸縮部分の間には、有効なデータが挿入されている。
【０１０８】
図１２Ｂは、第１の変形例の距離Ｎ＝８の場合のＳＫＩＰオーダーセットを示す図である。図１２Ｂでは、上から順にレーン０からレーン３でそれぞれ送信される送信データを示している。
【０１０９】
距離Ｎ＝８の場合、検出部分は、ＣＯＭシンボルとＳＫＰ−Ｂシンボルで構成する。検出部分と伸縮部分の間の距離は８である。検出部分と伸縮部分の間には、有効なデータが挿入されている。
【０１１０】
図１２Ｃは、第１の変形例の距離Ｎ＝１０の場合のＳＫＩＰオーダーセットを示す図である。図１２Ｃでは、上から順にレーン０からレーン３でそれぞれ送信される送信データを示している。
【０１１１】
距離Ｎ＝１０の場合、検出部分は、ＣＯＭシンボルとＳＫＰ−Ｃシンボルで構成する。検出部分と伸縮部分の間の距離は１０である。検出部分と伸縮部分の間には、有効なデータが挿入されている。
【０１１２】
図１２Ｄは、第１の変形例の距離Ｎ＝１２の場合のＳＫＩＰオーダーセットを示す図である。図１２Ｄでは、上から順にレーン０からレーン３でそれぞれ送信される送信データを示している。
【０１１３】
距離Ｎ＝１２の場合、検出部分は、ＣＯＭシンボルとＳＫＰ−Ｄシンボルで構成する。検出部分と伸縮部分の間の距離は１２である。検出部分と伸縮部分の間には、有効なデータが挿入されている。
【０１１４】
送信ＬＳＩ３０１および受信ＬＳＩ４０１において、上記のような距離に対応する検出部分の構成は、予め定義しておく。
【０１１５】
送信ＬＳＩ３０１および受信ＬＳＩ４０１において、ＳＫＰ−Ａシンボル、ＳＫＰ−Ｂシンボル、ＳＫＰ−Ｃシンボル、およびＳＫＰ−Ｄシンボルをどのようなデータとするか予め定義しておく。
【０１１６】
ＳＫＰ−Ａシンボル、ＳＫＰ−Ｂシンボル、ＳＫＰ−Ｃシンボル、およびＳＫＰ−Ｄシンボルは、他のシンボルと識別可能であれば、任意のデータでよい。
【０１１７】
ここで、第１の変形例の送信側のSKIPオーダーセット挿入時の処理を説明する。
【０１１８】
(a)送信パケット生成部３１１は、送信レーン処理部３２１−ｋのSKIPオーダーセット生成部３２２−ｋへ、SKIPオーダーセット挿入指示および距離Nを通知する。
【０１１９】
(b)送信パケット生成部３１１は、検出部分（Ａ）が挿入できるだけの隙間をつくる。送信レーン処理部３２１−ｋのSKIPオーダーセット生成部３２２−ｋは、その隙間に、距離Nに対応した検出部分（Ａ）を挿入し、受信ＬＳＩ４０１へ送信する。
【０１２０】
(c)送信パケット生成部３１１は、検出部分（Ａ）と伸縮部分（Ｂ）に充填するパケットを送信レーン処理部３２１−ｋに送信したのち、伸縮部分（Ｂ）を挿入するだけの隙間をつくる。SKIPオーダーセット生成部３２２−ｋは充填パケットを送信したのち、隙間に伸縮部分（Ｂ）を挿入して送信する。
【０１２１】
図１３は、第１の変形例の受信ＬＳＩの構成図である。
図１３では、受信レーン処理部４１１−３の構成のみ詳細を記載している。受信レーン処理部４１１−０〜４１１−２の構成は、受信レーン処理部４１１−３の構成と同様のため記載は省略する。
【０１２２】
受信レーン処理部４１１−３は、受信部４１５−３、フリップフロップ４１６−３−１、４１６−３−２、ＳＫＩＰオーダーセット／距離検出部１４１３−３、データ追加削除処理部４１７−３、クロック乗換えバッファライトポインタ通知部１４１８−３、およびクロック乗り換えバッファ４１４−３を備える。
【０１２３】
受信部４１５−３、フリップフロップ４１６−３−１、４１６−３−２、データ追加削除処理部４１７−３、およびクロック乗り換えバッファ４１４−３は、図１０と機能を有するため説明は省略する。
【０１２４】
ＳＫＩＰオーダーセット／距離検出部１４１３−３は、フリップフロップ４１６−３−１、４１６−３−２から入力されるデータをチェックし、ＳＫＩＰオーダーセットの検出部分と距離Ｎ検出する。例えば、ＳＫＩＰオーダーセット検出部４１３−３は、フリップフロップ４１６−３−１からの入力がＳＫＰシンボル、且つフリップフロップ４１６−３−２からの入力がＣＯＭ−Ａシンボルの場合、検出部分と距離Ｎ＝６検出する。ＳＫＩＰオーダーセット検出部４１３−３は、検出部分を検出すると、受信制御部４２１に検出部分の検出と距離Ｎを通知する。
【０１２５】
クロック乗換えバッファライトポインタ通知部１４１８−３は、検出部分の検出時のクロック乗換えバッファ４１４−３のライトポインタ値をクロック乗換えバッファ側に通知する。
【０１２６】
第１の変形例の受信ＬＳＩ４０１のSKIPオーダーセット受信時の処理は、以下のようになる。
【０１２７】
(1)各受信レーン処理部４１１−ｋのＳＫＩＰオーダーセット／距離検出部１４１３は、受信した検出部分（Ａ）から、SKIPオーダーセット検出および距離Nを検出する。検出した情報を、受信制御部４２１に通知する。また、SKIPオーダーセット検出時のクロック乗換えバッファのライトポインタ値を受信クロックから内部クロックに乗換え、読出し側に通知する。
【０１２８】
(1’)受信制御部４２１は、通知されたSKIPオーダーセットおよび距離Nを、受信クロックから内部クロックへ乗換える。受信制御部４２１は、各受信レーン処理部４１１−ｋから通知された情報が異なっていた場合は、多数決にて決定する(レーン間の同期判断)。受信制御部４２１は、各受信レーン処理部４１１−ｋに符号（ＳＫＰシンボル）の追加または削除を指示する。また、受信制御部４２１は距離Nを通知する。
【０１２９】
(2)クロック乗換えバッファ４１４−ｋは、受信制御部４２１から通知された距離Nと書き込み側から通知されたクロック乗換えバッファのライトポインタ値により、検出部分（Ａ）から距離N後に受信した伸縮部分（Ｂ）のクロック乗換えバッファ内位置を特定する。そして、データ追加削除処理部４１７−３は、受信制御部４２１からの指示により伸縮部分（Ｂ）に対してＳＫＰシンボルの追加・削除を行う。
【０１３０】
この(1)→(1’)→(2)の処理の間において、検出部分（Ａ）と伸縮部分（Ｂ）の間に充填されたパケットは、各受信レーン処理部４１１−ｋで受信後、すみやかに後段のパケット解析部４３１に受け渡される。
【０１３１】
図１４Ａ、１４Ｂは、第１の変形例のＳＫＩＰオーダーセット受信時のタイムチャートである。
【０１３２】
図１４Ａ、１４Ｂの各チャートは上から順に下記の通りである。
（１）受信クロック。ＳＫＩＰオーダーセット検出回路に有効データ1の先頭が到達したときをt0とする。
（２）SKIPオーダーセット検出回路内の受信データ。受信データは、（i）有効データ1 （6シンボル長）、（ii）SKIPオーダーセットの検出部分（Ａ）、（iii）有効データ2（充填パケット）（6シンボル長）、（iv）SKIPオーダーセットの伸縮部分（Ｂ）、（v）有効データ3 （6シンボル長）の順に構成されたデータである。以降、有効データ4、5と続く。
（３）SKIPオーダーセット検出部分（Ａ）検出・距離N検出のタイミング
（４）クロック乗換えバッファのライトポインタ値
（５）クロック乗換えバッファへの書込みデータ
（６）内部クロック。受信クロックがt0のとき、内部クロックをT0とする。
（７）検出部分（Ａ）検出通知・距離N通知の、受信クロックから内部クロックへの乗換えタイミング
（８）検出部分（Ａ）検出・距離N・符号追加削除のレーン間同期
（９）受信レーン処理部に通知された符号追加削除指示と距離N
（１０）検出部分（Ａ）の検出時におけるライトポインタ値の、受信クロックから内部クロックへの乗換え。
（１１）クロック乗換バッファ読出し側に通知された、検出部分（Ａ）検出時のライトポインタ値。
（１２）伸縮部分（Ｂ）のクロック乗換えバッファライトポインタ値(（１１）のライトポインタ値と（９）の距離Nからの算出値)
（１３）クロック乗換えバッファ内のリードポインタ値(追加削除しない場合)
（１４）クロック乗換えバッファからの読出しデータ(追加削除しない場合)
（１５）クロック乗換えバッファ内のリードポインタ値 (追加する場合)
（１６）クロック乗換えバッファからの読出しデータ(追加する場合)
（１７）クロック乗換えバッファ内のリードポインタ値(削除する場合)
（１８）クロック乗換えバッファからの読出しデータ(削除する場合)
【０１３３】
図１４Ａ、１４Ｂのタイムチャートの流れを以下で説明する。ここで、受信クロックから内部クロックへの乗換えのためのラッチは３段とする。
【０１３４】
(ア)時刻t0において、有効データ1の先頭が、SKIPオーダーセット検出回路への到達し、クロック乗換えバッファへ書き込まれる。
【０１３５】
(イ)時刻t7において、（２）より、SKIPオーダーセット検出回路でCOMおよびSKP-Aを検出する。したがって、（３）より、SKIPオーダーセット検出部分（Ａ）の検出および距離Nの検出を行う。
【０１３６】
(ウ)時刻T7-T9において、（７）より、(イ)のSKIPオーダーセット検出部分（Ａ）検出・距離N検出の受信クロックから内部クロックへクロックを乗換える。
【０１３７】
尚、受信クロックと内部クロックのタイミングによっては、時刻T8-T10となるケースもある。この場合は、以下(エ)〜（カ）、(ク)の実行タイミングが変わり、内部クロックが+1となる。しかし、（１４）、（１６）（１８）に示す読出しデータは変わらない。
【０１３８】
(エ)時刻T10において、（８）より、(ウ)の結果を用いてSKIPオーダーセット検出・距離Nのレーン間同期を行う。
【０１３９】
(オ)時刻T11において、（９）より、(エ)の結果を用いて、各受信レーン処理部４１１−ｋのデータ追加削除処理部４１７−３へ、符号追加削除指示および距離Nを通知する。通知された指示は、符号追加削除を実行するまで、各各受信レーン処理部４１１−ｋのデータ追加削除処理部４１７−３で保持しておく。
【０１４０】
(カ)時刻T7-T9において、（１０）より、(イ)の結果を用いて、SKIPオーダーセット検出部分（Ａ）の検出時の（４）クロック乗換えバッファのライトポインタ値の、受信クロックから内部クロックへのクロック乗り換えを行う。
【０１４１】
尚、受信クロックと内部クロックのタイミングによっては、時刻T8-T10となるケースもある。この場合は、以下（キ）の実行タイミングが変わり、内部クロックが+1となる。しかし、（１４）、（１６）（１８）に示す読出しデータは変わらない。
【０１４２】
(キ)時刻T10において、（１１）より、(カ)の結果を用いて、検出部分（Ａ）検出時のライトポインタ値(時刻t7の（４）の値)を、クロック乗換えバッファ側に通知する。
【０１４３】
(ク)時刻T12において、（１２）により、（オ）と（キ）の結果を用いて、「検出部分（Ａ）検出時のライトポインタ値」と「距離N」から、伸縮部分（Ｂ）のライトポインタ値を算出する。
【０１４４】
(ケ)時刻T15において、（１２）と（１３）により、クロック乗換えバッファのリードポインタが伸縮部分（Ｂ）の直前を指していることを検出し、(オ)の結果を用いて、以下の制御を行う。
(ケ-1) ＳＫＰシンボルの追加削除をしない場合
時刻T16でリードポインタ値を+1する。
これによりリードポインタ値は（１３）、読み出しデータは（１４）に示す通りになり、伸縮部分（Ｂ）が1度だけ読み出される。
(ケ-2) ＳＫＰシンボルを追加する場合
時刻T16でリードポインタ値を+1したのち、T17でホールドする。
これによりリードポインタ値は（１５）、読み出しデータは（１６）に示す通りになり、伸縮部分（Ｂ）が２度読み出される。
(ケー3)ＳＫＰシンボルを削除する場合
時刻T16でリードポインタ値を+2する。
これにより、伸縮部分（Ｂ）が読み飛ばされる。
【０１４５】
以上の制御を行うため、有効データ１の先頭は時刻T2で、有効データ2の先頭は時刻t10で、有効データ3の先頭は時刻T17〜T19で読み出すことができ、すみやかに後段のパケット解析部に受け渡される。
【０１４６】
ここで、比較のために、従来のタイムチャートを図１５Ａ、１５Ｂに示す。
図１５Ａ、１５Ｂは、従来のＳＫＩＰオーダーセット受信時のタイムチャートである。
【０１４７】
図１５Ａ、１５Ｂの各チャートは上から順に下記の通りである。
（１）受信クロック。SKIPオーダーセット検出回路に有効データ1の先頭が到達したときをt0とする。
（２）SKIPオーダーセット検出回路内の受信データ。
（３）SKIPオーダーセット検出のタイミング
（４）クロック乗換えバッファのライトポインタ値
（５）クロック乗換えバッファへの書込みデータ
（６）内部クロック。受信クロックがt0のとき、内部クロックをT0とする。
（７）SKIＰオーダーセット検出通知の、受信クロックから内部クロックへの乗換えタイミング
（８）SKIPオーダーセット検出・符号追加削除のレーン間同期
（９）各レーンへ通知された符号追加削除指示
（１０）SKIPオーダーセット検出時におけるライトポインタ値の、受信クロックから内部クロックへの乗換え。
（１１）クロック乗換バッファ読出し側に通知されたSKIPオーダーセット検出時のライトポインタ値。
（１２）伸縮部分のクロック乗換えバッファのライトポインタ値(（１１）のライトポインタ値と（９）の距離Nからの算出値)
（１３）クロック乗換えバッファ内のリードポインタ値(追加削除しない場合)
（１４）クロック乗換えバッファからの読出しデータ(追加削除しない場合)
（１５）クロック乗換えバッファ内のリードポインタ値(追加する場合)
（１６）クロック乗換えバッファからの読出しデータ(追加する場合)
（１７）クロック乗換えバッファ内のリードポインタ値(削除する場合)
（１８）クロック乗換えバッファからの読出しデータ(削除する場合)
【０１４８】
図１５Ａ、１５Ｂのタイムチャートの流れを以下で説明する。尚、受信データは、上記の第１の変形例と同じとする。また、受信クロックから内部クロックへの乗換えのためのラッチも、上記の第１の変形例と同じとする。
【０１４９】
(ア)時刻t0において、有効データ１の先頭が、ＳＫＩＰオーダーセット検出回路へ到達する。
【０１５０】
(イ)時刻t7において、（２）より、SKIPオーダーセット検出回路でCOMシンボルおよびSKPシンボルを検出する。したがって、（３）より、SKIPオーダーセット検出を行う。
【０１５１】
(ウ)時刻T7-T9において、（７）より、(イ)のSKIPオーダーセット検出の受信クロックから内部クロックへクロック乗換えを行う。
【０１５２】
受信クロックと内部クロックのタイミングによっては、クロック乗換えは時刻T8-T10となるケースもある。この場合は、以下(エ)〜（カ）、(ク)の実行タイミングが変わり、内部クロックが+1となる。しかし、（１４）、（１６）、および（１８に示す読出しデータは変わらない。
【０１５３】
(エ)時刻T10において、（８）より、(ウ)の結果を用いてSKIPオーダーセット検出のレーン間同期を行う。
【０１５４】
(オ)時刻T11において、（９）より、(エ)の結果を用いて、各受信レーン処理部４１１−ｋのデータ追加削除処理部４１７−３へ符号追加削除指示を通知する。通知された指示は、符号追加削除を実行するまで、各受信レーン処理部４１１−ｋのデータ追加削除処理部４１７−３で保持しておく。
【０１５５】
(カ)時刻T7-T9において、（１０）より、(イ)の結果を用いて、SKIPオーダーセット検出時の（４）クロック乗換えバッファのライトポインタ値の、受信クロックから内部クロックへの、クロック乗換えを行う。
【０１５６】
受信クロックと内部クロックのタイミングによっては、時刻T8-T10となるケースもある。この場合は、以下（キ）の実行タイミングが変わり、内部クロックが+1となる。しかし、（１４）、（１６）、および（１８）に示す読出しデータは変わらない。
【０１５７】
(キ)時刻T10において、（１１）より、(カ)の結果を用いて、SKIPオーダーセット検出時のライトポインタ値(t7の（４）の値)を、クロック乗換えバッファ側に通知する
【０１５８】
(ク)時刻T10において、（１２）により、(キ)の結果を用いて「SKIPオーダーセット検出時のライトポインタ値」から、SKIPオーダーセット伸縮部分のライトポインタ値を算出する。ここで、SKIPオーダーセット検出時のライトポインタ値とSKIPオーダーセット伸縮部分のライトポインタ値は一意に決まるため、定数を加算すればよい。
【０１５９】
(ケ)時刻T14において、（１２）と（１３）により、クロック乗換えバッファのリードポインタ値が伸縮部分の直前を指していることを検出し、(オ)の結果を用いて、以下の制御を行う。
(ケ-1) 符号の追加削除をしない場合
時刻T15でリードポインタ値を+1する。
これによりリードポインタ値は（１３）、読み出しデータは（１４）に示す通りとなり、伸縮部分が1度だけ読み出される。
(ケ-2) 符号を追加する場合
時刻T15でリードポインタ値を+1したのち、T16でホールドする。
これによりリードポインタ値は（１５）、読み出しデータは（１６）に示す通りとなり、伸縮部分)が２度読み出される。
(ケー3) 符号を削除する場合、T15でリードポインタ値を+2する。
これにより、伸縮部分が読み飛ばされる。
【０１６０】
以上の制御により、有効データ１の先頭は時刻T6で、有効データ2の先頭は時刻T14〜T16で、有効データ3の先頭は時刻T16〜T18でクロック乗換えバッファから読み出されることになる。
【０１６１】
（第２の変形例）
次に、ＳＫＩＰオーダーセットの検出部分と伸縮部分との間の距離Ｎ（シンボル数）を検出部分と伸縮部分との間に挿入されているデータから判断する第２の変形例を説明する。
【０１６２】
図１６は、第２の変形例のＳＫＩＰオーダーセットを示す図である。
図１６では、上から順にレーン０からレーン３でそれぞれ送信される送信データを示している。
【０１６３】
第２の変形例のＳＫＩＰオーダーセットは、検出部分と伸縮部分から構成される。
検出部分は、１つのＣＯＭシンボルと1つのＳＫＰシンボルで構成されている。検出部分は、ＣＯＭシンボルの直後にＳＫＰシンボルが配置されている。
【０１６４】
伸縮部分は、1つのＳＫＰシンボルで構成されている。
検出部分と伸縮部分は、距離Ｎ（シンボル数）だけ離れて配置されている。検出部分と伸縮部分の間には有効なデータが挿入されている。
【０１６５】
４つのレーンを介して送信された検出部分と伸縮部分との間に充填されるデータは、単一のパケットとする。パケットは、例えばトランザクションレイヤパケット（ＴＬＰ）である。送信ＬＳＩでは、単一のパケットを４つに分割して、分割したパケットをそれぞれ各レーンで送信される検出部分と伸縮部分との間に挿入する。
【０１６６】
パケットは、パケット長（ＰＫＴ長）が記述されたフィールド（パケットヘッダ）を有する。送信パケット生成部３１１は、パケット長が記述されたフィールドが特定のレーンで送信されるようにする。
【０１６７】
図１６において、パケット長は、レーン３を介して送信されるデータの検出部分と伸縮部分との間に挿入される。
【０１６８】
ここで、第２の変形例の送信側のSKIPオーダーセット挿入時の処理を説明する。
【０１６９】
(a)送信パケット生成部３１１は、送信レーン処理部３２１−ｋのSKIPオーダーセット生成部３２２−ｋへ、SKIPオーダーセット挿入指示および距離Nを通知する。
【０１７０】
(b)送信パケット生成部３１１は、検出部分（Ａ）が挿入できるだけの隙間をつくる。送信レーン処理部３２１−ｋのSKIPオーダーセット生成部３２２−ｋは、その隙間に、検出部分（Ａ）を挿入し、受信ＬＳＩ４０１へ送信する。
【０１７１】
(c)送信パケット生成部３１１は、検出部分（Ａ）と伸縮部分（Ｂ）に充填するパケットを送信レーン処理部３２１−ｋに送信したのち、伸縮部分（Ｂ）を挿入するだけの隙間をつくる。SKIPオーダーセット生成部３２２−ｋは充填パケットを送信したのち、隙間に伸縮部分（Ｂ）を挿入して送信する。
【０１７２】
図１７は、第２の変形例に係る受信ＬＳＩの構成図である。
図１７では、受信レーン処理部４１１−３の構成のみ詳細を記載している。受信レーン処理部４１１−０〜４１１−２の構成は、受信レーン処理部４１１−３の構成と同様のため記載は省略する。
【０１７３】
受信レーン処理部４１１−３は、受信部４１５−３、フリップフロップ４１６−３−１、４１６−３−２、４１６−３−３、ＳＫＩＰオーダーセット検出部４１３−３、データ追加削除処理部４１７−３、クロック乗換えバッファライトポインタ通知部１４１８−３、距離算出部１４１９−３、およびクロック乗り換えバッファ４１４−３を備える。
【０１７４】
受信部４１５−３、フリップフロップ４１６−３−１、４１６−３−２、データ追加削除処理部４１７−３、クロック乗換えバッファライトポインタ通知部１４１８−３、およびクロック乗り換えバッファ４１４−３は、図１０、１３と機能を有するため説明は省略する。
【０１７５】
フリップフロップ４１６−３−３は、入力されたデータを保持し、受信クロックと同期して該データを出力する。ここで、データは１シンボル分のデータとする。フリップフロップ４１６−３−２は、受信部４１５−３からのデータを距離算出部１４１９−３に出力する。
【０１７６】
距離算出部１４１９−３は、検出部分と伸縮部分の間のあるデータ（パケットのヘッダ）からパケット長を取得し、距離Ｎを算出し、算出した距離Ｎを受信制御部４２１に通知する。距離算出部１４１９−３は、例えば、パケット長をレーン数で除算して、距離Ｎを算出する。尚、距離算出部は、受信レーン処理部４１１−０〜４１１−２では無くても良い。
【０１７７】
第２の変形例の受信ＬＳＩ４０１のSKIPオーダーセット受信時の処理は、以下のようになる。
【０１７８】
(1)各受信レーン処理部４１１−ｋのＳＫＩＰオーダーセット検出部４１３−ｋは、受信した検出部分（Ａ）から、SKIPオーダーセットであることを検出し、受信制御部４２１に通知する。
【０１７９】
(1’’)特定の受信レーン処理部（ここでは、受信レーン処理部４１１−３）の距離算出部１４１９−３において、後続の充填パケットからパケット長を取得し、算出した距離Nを受信制御部に通知する。
【０１８０】
(1’)受信制御部４２１は、通知されたSKIPオーダーセットおよび距離Nを、受信クロックから内部クロックへ乗換える。受信制御部４２１は、各受信レーン処理部４１１−ｋから通知された情報が異なっていた場合は、多数決にて決定する(レーン間の同期判断)。受信制御部４２１は、各受信レーン処理部４１１−ｋに符号（ＳＫＰシンボル）の追加または削除を指示する。また、受信制御部４２１は距離Nを通知する。
【０１８１】
(2)クロック乗換えバッファ４１４−ｋは、受信制御部４２１から通知された距離Nと書き込み側から通知されたクロック乗換えバッファのライトポインタ値により、検出部分（Ａ）から距離N後に受信した伸縮部分（Ｂ）のクロック乗換えバッファ内位置を特定する。そして、データ追加削除処理部４１７−３は、受信制御部４２１からの指示により伸縮部分（Ｂ）に対してＳＫＰシンボルの追加・削除を行う。
【０１８２】
この(1)→(1’)→(2)の処理の間において、検出部分（Ａ）と伸縮部分（Ｂ）の間に充填されたパケットは、各受信レーン処理部４１１−ｋで受信後、すみやかに後段のパケット解析部４３１に受け渡される。
【０１８３】
ここで、送信側においてSKIPオーダーセット挿入時に検出部分（Ａ）と伸縮部分(b)との間に充填すべきパケットがない場合、送信パケット生成部３１１は、有効なパケットと同様のパケットフォーマットである無効パケットを充填する。受信側は、有効パケット充填時と同様に、無効パケットのパケット長から距離Nを算出することで伸縮部分（Ｂ）に対して、SKIP符号の追加・削除を行う。無効パケットはパケット解析部４３１で破棄される。
【０１８４】
また、送信側において、全レーンで追加・削除判断を同期するフェーズ(1')を行うために必要なシンボル時間に対して充填パケットが短い場合は、充填パケットと伸縮部分（Ｂ）の間に無効データ(以降、PAD)を挿入する。PADの挿入量は、PADと充填パケットの合計の長さが、フェーズ(1’)に必要なシンボル時間を満たす分だけである。伸縮部分（Ｂ）はPADのあとにＳＫＩＰオーダーセット生成部３２２−ｋにより挿入され、送信される。
【０１８５】
PADを入れる必要のあるパケット長はあらかじめ決まるため、受信側は、パケット長を検出した際にPADを含めた距離Nを算出して、受信制御部４２１に通知する。これによりSKIPシンボルの追加削除指示のタイミングと伸縮部分(B)を受信するタイミングとが一致し、SKIPシンボルの追加削除を行う。
【０１８６】
図１８Ａ、１８Ｂは、第２の変形例のＳＫＩＰオーダーセット受信時のタイムチャートである。
【０１８７】
図１８Ａ、１８Ｂの各チャートは上から順に下記の通りである。
（１）受信クロック。SKIPオーダーセット検出回路に有効データ1の先頭が到達したときをt0とする。
（２）SKIPオーダーセット検出回路内の受信データ。受信データは、（i）有効データ1 （6シンボル長）、（ii）SKIPオーダーセットの検出部分（Ａ）、（iii）有効データ2（充填パケット）（6シンボル長）、（iv）SKIPオーダーセットの伸縮部分（Ｂ）、（v）有効データ3 （6シンボル長）の順に構成されたデータである。以降、有効データ4、5と続く。
（３）SKIPオーダーセット検出部分（Ａ）検出・距離N検出のタイミング
（４）クロック乗換えバッファのライトポインタ値
（５）クロック乗換えバッファへの書込みデータ
（６）内部クロック。受信クロックがt0のとき、内部クロックをT0とする。
（７）検出部分（Ａ）検出通知・距離N通知の、受信クロックから内部クロックへの乗換えタイミング
（８）検出部分（Ａ）検出・距離N・符号追加削除のレーン間同期
（９）受信レーン処理部に通知された符号追加削除指示と距離N
（１０）検出部分（Ａ）の検出時におけるライトポインタ値の、受信クロックから内部クロックへの乗換え。
（１１）クロック乗換バッファ読出し側に通知された、検出部分（Ａ）検出時のライトポインタ値。
（１２）伸縮部分（Ｂ）のクロック乗換えバッファライトポインタ値(（１１）のライトポインタ値と（９）の距離Nからの算出値)
（１３）クロック乗換えバッファ内のリードポインタ値(追加削除しない場合)
（１４）クロック乗換えバッファからの読出しデータ(追加削除しない場合)
（１５）クロック乗換えバッファ内のリードポインタ値 (追加する場合)
（１６）クロック乗換えバッファからの読出しデータ(追加する場合)
（１７）クロック乗換えバッファ内のリードポインタ値(削除する場合)
（１８）クロック乗換えバッファからの読出しデータ(削除する場合)
【０１８８】
図１８Ａ、１８Ｂのタイムチャートの流れを以下で説明する。尚、受信データは、上記の第１の変形例と同じとする。また、受信クロックから内部クロックへの乗換えのためのラッチも、上記の第１の変形例と同じとする。
【０１８９】
(ア)時刻t0において、有効データ1の先頭が、SKIPオーダーセット検出回路への到達し、クロック乗換えバッファへ書き込まれる。
【０１９０】
(イ）時刻t7において、（２）より、SKIPオーダーセット検出回路でCOMシンボルおよびSKPシンボルを検出する。したがって、（３）より、SKIPオーダーセット検出部分（Ａ）の検出を行う。
【０１９１】
(イ’)時刻t8において、（２）と（３）より、(イ)の検出部分（Ａ）の検出の次のタイミングで、特定レーン、すなわち第２の変形例ではレーン#3において、有効データ2、すなわち充填パケットのPKT長を取得し距離Nを算出する。
【０１９２】
(ウ)時刻T7-T9において、（７）より、(イ)のSKIPオーダーセット検出部分（Ａ）検出の受信クロックから内部クロックへのクロック乗換えを行う。
受信クロックと内部クロックのタイミングによっては、時刻T8-T10となるケースもある。この場合は、以下(エ)〜（カ）、(ク)の実行タイミングが変わり、内部クロックが+1となる。しかし、（１４）、（１６）、および（１８）に示す読出しデータは変わらない。
【０１９３】
(ウ’)時刻T8-T10において、（７’）より、(イ’)の距離N算出の受信クロックから内部クロックへクロック乗換えを行う。
【０１９４】
受信クロックと内部クロックのタイミングによっては、時刻T9-T11となるケースもある。この場合は、以下(オ’)の実行タイミングが変わり、内部クロックが+1となる。しかし、（１４）、（１６）、（１８）に示す読出しデータは変わらない。
【０１９５】
(エ)時刻T10において、（８）より、(ウ)の結果を用いてSKIPオーダーセット検出のレーン間同期を行う。 
【０１９６】
(オ）時刻T11において、(エ)の結果を用いて、各受信レーン処理部４１１−ｋのデータ追加削除処理部４１７−３へ符号追加削除指示を通知する。通知された指示は、符号追加削除を実行するまで、各受信レーン処理部４１１−ｋのデータ追加削除処理部４１７−３で保持しておく。
【０１９７】
(オ’)時刻T11において、(ウ’)の結果を用いて、各受信レーン処理部４１１−ｋのデータ追加削除処理部４１７−３へ距離Nを通知する。
【０１９８】
(カ)時刻T7-T9において、（１０）より、(イ)の結果を用いて、SKIPオーダーセット検出部分（Ａ）の検出時の（４）クロック乗換えバッファのライトポインタ値の、受信クロックから内部クロックへのクロック乗り換えを行う。
【０１９９】
尚、受信クロックと内部クロックのタイミングによっては、時刻T8-T10となるケースもある。この場合は、以下（キ）の実行タイミングが変わり、内部クロックが+1となる。しかし、（１４）、（１６）、および（１８）に示す読出しデータは変わらない。
【０２００】
(キ)時刻T10において、（１１）より、(カ)の結果を用いて、検出部分（Ａ）検出時のライトポインタ値(時刻t7の（４）の値)を、クロック乗換えバッファ側に通知する。
【０２０１】
(ク) T12において、（１２）により、(オ’)と(キ)の結果を用いて、「検出部分（Ａ）検出時のライトポインタ値」と「距離N」から、伸縮部分（Ｂ）のライトポインタ値を算出する。
【０２０２】
(ケ)時刻T15において、（１２）と（１３）により、クロック乗換えバッファのリードポインタが伸縮部分（Ｂ）の直前を指していることを検出し、(オ)の結果を用いて、以下の制御を行う。
(ケ-1) ＳＫＰシンボルの追加削除をしない場合
時刻T16でリードポインタ値を+1する。
これによりリードポインタ値は（１３）、読み出しデータは（１４）に示す通りになり、伸縮部分（Ｂ）が1度だけ読み出される。
(ケ-2) ＳＫＰシンボルを追加する場合
時刻T16でリードポインタ値を+1したのち、T17でホールドする。
これによりリードポインタ値は（１５）、読み出しデータは（１６）に示す通りになり、伸縮部分（Ｂ）が２度読み出される。
(ケ-3)ＳＫＰシンボルを削除する場合
時刻T16でリードポインタ値を+2する。
【０２０３】
以上の制御により、有効データ１の先頭は時刻T2で、有効データ2の先頭は時刻T10で、有効データ3の先頭は時刻T17〜T19で読み出すことができ、すみやかに後段のパケット解析部に受け渡される。
【０２０４】
（第３の変形例）
次に、ＳＫＩＰオーダーセットの検出部分と伸縮部分との間の距離Ｎ（シンボル数）が固定長である第３の変形例を説明する。
【０２０５】
図１９は、第３の変形例のＳＫＩＰオーダーセットを示す図である。
図１９では、上から順にレーン０からレーン３でそれぞれ送信される送信データを示している。
【０２０６】
第３の変形例のＳＫＩＰオーダーセットは、検出部分と伸縮部分から構成される。
検出部分は、１つのＣＯＭシンボルと1つのＳＫＰシンボルで構成されている。検出部分は、ＣＯＭシンボルの直後にＳＫＰシンボルが配置されている。
【０２０７】
伸縮部分は、1つのＳＫＰシンボルで構成されている。
検出部分と伸縮部分は、距離Ｎ（シンボル数）だけ離れて配置されている。第３の変形例において、距離Ｎは固定値である。検出部分と伸縮部分の間には有効なデータが挿入されている。
【０２０８】
ここで、第３の変形例の送信側のSKIPオーダーセット挿入時の処理を説明する。
【０２０９】
(a)送信パケット生成部３１１は、各送信レーン処理部３２１−ｋのSKIPオーダーセット製西部３２２−ｋへ、SKIPオーダーセット挿入指示を通知する。
【０２１０】
(b)送信パケット生成部３１１は、検出部分（Ａ）が挿入できるだけの隙間をつくる。送信レーン処理部３２１−ｋのSKIPオーダーセット生成部３２２−ｋは、その隙間に、検出部分（Ａ）を挿入し、受信ＬＳＩ４０１へ送信する。
【０２１１】
(c)送信パケット生成部３１１は、検出部分（Ａ）と伸縮部分（Ｂ）に充填するパケットを送信レーン処理部３２１−ｋに送信したのち、伸縮部分（Ｂ）を挿入するだけの隙間をつくる。SKIPオーダーセット生成部３２２−ｋは充填パケットを送信したのち、隙間に伸縮部分（Ｂ）を挿入して送信する。
【０２１２】
図２０は、第３の変形例に係る受信ＬＳＩの構成図である。
図２０では、受信レーン処理部４１１−３の構成のみ詳細を記載している。受信レーン処理部４１１−０〜４１１−２の構成は、受信レーン処理部４１１−３の構成と同様のため記載は省略する。
【０２１３】
受信レーン処理部４１１−３は、受信部４１５−３、フリップフロップ４１６−３−１、４１６−３−２、ＳＫＩＰオーダーセット検出部４１３−３、データ追加削除処理部４１７−３、クロック乗換えバッファライトポインタ通知部１４１８−３、およびクロック乗り換えバッファ４１４−３を備える。
【０２１４】
受信部４１５−３、フリップフロップ４１６−３−１、４１６−３−２、データ追加削除処理部４１７−３、クロック乗換えバッファライトポインタ通知部１４１８−３、およびクロック乗り換えバッファ４１４−３は、図１０、１３と機能を有するため説明は省略する。
【０２１５】
第３の変形例の受信ＬＳＩ４０１のSKIPオーダーセット受信時の処理は、以下のようになる。
【０２１６】
(1)各受信レーン処理部４１１−ｋのＳＫＩＰオーダーセット検出部４１３−ｋは、受信した検出部分（Ａ）からSKIPオーダーセットを検出し、受信制御部４３１に通知する。
【０２１７】
(1’)受信制御部４２１は、通知されたSKIPオーダーセットおよび距離Nを、受信クロックから内部クロックへ乗換える。受信制御部４２１は、各受信レーン処理部４１１−ｋから通知された情報が異なっていた場合は、多数決にて決定する(レーン間の同期判断)。受信制御部４２１は、各受信レーン処理部４１１−ｋに符号（ＳＫＰシンボル）の追加または削除を指示する。また、受信制御部４２１は距離Nを通知する。
【０２１８】
(2)クロック乗換えバッファ４１４−ｋは、受信制御部４２１から通知された距離Nと書き込み側から通知されたクロック乗換えバッファのライトポインタ値により、検出部分（Ａ）から距離N後に受信した伸縮部分(B)のクロック乗換えバッファ内位置を特定する。そして、データ追加削除処理部４１７−３は、受信制御部４２１からの指示により伸縮部分(B)に対してＳＫＰシンボルの追加・削除を行う。
【０２１９】
この(1)→(1’)→(2)の処理の間において、検出部分（Ａ）と伸縮部分(B)の間に充填されたパケットは、各受信レーン処理部４１１−ｋで受信後、すみやかに後段のパケット解析部４３１に受け渡される。
【０２２０】
ここで、送信側でSKIPオーダーセット挿入時に、検出部分（Ａ）と伸縮部分(b)との間に充填すべきパケットがない場合、送信パケット生成部３１１は、有効なパケットと同様のパケットフォーマットである無効パケットを充填する。無効パケットはパケット解析部４３１で破棄される。
【０２２１】
また、送信側でSKIPオーダーセット挿入時に送信すべきパケットが距離N以上の場合、送信パケット生成部３１１は、検出部分（Ａ）と伸縮部分(b)との間に該パケットは充填しない。代わりに無効パケットを充填し、伸縮部分(B)を送信し終わったのち、該パケットを送信する。
【０２２２】
図２１Ａ、２１Ｂは、第３の変形例のＳＫＩＰオーダーセット受信時のタイムチャートである。
【０２２３】
図２１Ａ、２１Ｂの各チャートは上から順に下記の通りである。
（１）受信クロック。SKIPオーダーセット検出回路に有効データ1の先頭が到達したときをt0とする。
（２）SKIPオーダーセット検出回路内の受信データ。受信データは、（i）有効データ1 （6シンボル長）、（ii）SKIPオーダーセットの検出部分（Ａ）、（iii）有効データ2（充填パケット）（6シンボル長）、（iv）SKIPオーダーセットの伸縮部分(B)、（v）有効データ3 （6シンボル長）の順に構成されたデータである。以降、有効データ4、5と続く。
（３）SKIPオーダーセット検出部分（Ａ）検出のタイミング
（４）クロック乗換えバッファのライトポインタ値
（５）クロック乗換えバッファへの書込みデータ
（６）内部クロック。受信クロックがt0のとき、内部クロックをT0とする。
（７）検出部分（Ａ）検出通知の、受信クロックから内部クロックへの乗換えタイミング（８）検出部分（Ａ）検出・符号追加削除のレーン間同期
（９）受信レーン処理部に通知された符号追加削除指示と距離N
（１０）検出部分（Ａ）の検出時におけるライトポインタ値の、受信クロックから内部クロックへの乗換え。
（１１）クロック乗換バッファ読出し側に通知された、検出部分（Ａ）検出時のライトポインタ値。
（１２）伸縮部分(B)のクロック乗換えバッファライトポインタ値(（１１）のライトポインタ値と距離N（固定長）からの算出値)
（１３）クロック乗換えバッファ内のリードポインタ値(追加削除しない場合)
（１４）クロック乗換えバッファからの読出しデータ(追加削除しない場合)
（１５）クロック乗換えバッファ内のリードポインタ値 (追加する場合)
（１６）クロック乗換えバッファからの読出しデータ(追加する場合)
（１７）クロック乗換えバッファ内のリードポインタ値(削除する場合)
（１８）クロック乗換えバッファからの読出しデータ(削除する場合)
【０２２４】
図２１Ａ、２１Ｂのタイムチャートの流れを以下で説明する。尚、受信データは、上記の第１の変形例と同じとする。また、受信クロックから内部クロックへの乗換えのためのラッチも、上記の第１の変形例と同じとする。また、距離Ｎ＝６とする。
【０２２５】
(ア)時刻t0において、有効データ1の先頭が、SKIPオーダーセット検出回路への到達し、クロック乗換えバッファへ書き込まれる。
【０２２６】
(イ)時刻t7において、（２）より、SKIPオーダーセット検出回路でCOMシンボルおよびSKPシンボルを検出する。したがって、（３）より、SKIPオーダーセット検出部分（Ａ）の検出を行う。
【０２２７】
(ウ)時刻T7-T9において、（７）より、(イ)のSKIPオーダーセット検出部分（Ａ）検出の受信クロックから内部クロックへのクロック乗換えを行う。
受信クロックと内部クロックのタイミングによっては、時刻T8-T10となるケースもある。この場合は、以下(エ)〜（カ）、(ク)の実行タイミングが変わり、内部クロックが+1となる。しかし、（１４）、（１６）、および（１８）に示す読出しデータは変わらない。
【０２２８】
(エ)時刻T10において、（８）より、(ウ)の結果を用いてSKIPオーダーセット検出のレーン間同期を行う。 
【０２２９】
(オ）時刻T11において、(エ)の結果を用いて、各受信レーン処理部４１１−ｋのデータ追加削除処理部４１７−３へ符号追加削除指示を通知する。通知された指示は、符号追加削除を実行するまで、各受信レーン処理部４１１−ｋのデータ追加削除処理部４１７−３で保持しておく。
【０２３０】
(カ)時刻T7-T9において、（１０）より、(イ)の結果を用いて、SKIPオーダーセット検出部分（Ａ）の検出時の（４）クロック乗換えバッファのライトポインタ値の、受信クロックから内部クロックへのクロック乗り換えを行う。
【０２３１】
尚、受信クロックと内部クロックのタイミングによっては、時刻T8-T10となるケースもある。この場合は、以下（キ）の実行タイミングが変わり、内部クロックが+1となる。しかし、（１４）、（１６）、および（１８）に示す読出しデータは変わらない。
【０２３２】
(キ)時刻T10において、（１１）より、(カ)の結果を用いて、検出部分（Ａ）検出時のライトポインタ値(時刻t7の（４）の値)を、クロック乗換えバッファ側に通知する。
【０２３３】
(ク)時刻T12において、（１２）により、(キ)の結果を用いて、「検出部分（Ａ）検出時のライトポインタ値」と「距離N(固定長)」から、伸縮部分(B)のライトポインタ値を算出する。
【０２３４】
(ケ)時刻T15において、（１２）と（１３）により、クロック乗換えバッファのリードポインタが伸縮部分(B)の直前を指していることを検出し、(オ)の結果を用いて、以下の制御を行う。
(ケ-1) ＳＫＰシンボルの追加削除をしない場合
時刻T16でリードポインタ値を+1する。
これによりリードポインタ値は（１３）、読み出しデータは（１４）に示す通りになり、伸縮部分(B)が1度だけ読み出される。
(ケ-2) ＳＫＰシンボルを追加する場合
時刻T16でリードポインタ値を+1したのち、T17でホールドする。
これによりリードポインタ値は（１５）、読み出しデータは（１６）に示す通りになり、伸縮部分(B)が２度読み出される。
(ケ-3)ＳＫＰシンボルを削除する場合
時刻T16でリードポインタ値を+2する。
【０２３５】
以上の制御により、有効データ１の先頭は時刻T2で、有効データ2の先頭は時刻T10で、有効データ3の先頭は時刻T17〜T19で読み出すことができ、すみやかに後段のパケット解析部に受け渡される。
【図１】
0005950049.tif 000002
【図２Ａ】
0005950049.tif 000003
【図２Ｂ】
0005950049.tif 000004
【図３】
0005950049.tif 000005
【図４】
0005950049.tif 000006
【図５】
0005950049.tif 000007
【図６】
0005950049.tif 000008
【図７】
0005950049.tif 000009
【図８】
0005950049.tif 000010
【図９】
0005950049.tif 000011
【図１０】
0005950049.tif 000012
【図１１】
0005950049.tif 000013
【図１２Ａ】
0005950049.tif 000014
【図１２Ｂ】
0005950049.tif 000015
【図１２Ｃ】
0005950049.tif 000016
【図１２Ｄ】
0005950049.tif 000017
【図１３】
0005950049.tif 000018
【図１４Ａ】
0005950049.tif 000019
【図１４Ｂ】
0005950049.tif 000020
【図１５Ａ】
0005950049.tif 000021
【図１５Ｂ】
0005950049.tif 000022
【図１６】
0005950049.tif 000023
【図１７】
0005950049.tif 000024
【図１８Ａ】
0005950049.tif 000025
【図１８Ｂ】
0005950049.tif 000026
【図１９】
0005950049.tif 000027
【図２０】
0005950049.tif 000028
【図２１Ａ】
0005950049.tif 000029
【図２１Ｂ】
0005950049.tif 000030