(57)【特許請求の範囲】
【請求項１】
高速シリアル信号を複数レーンの低速シリアル信号に分割するデマルチプレクサ（１２）と、
基準クロックを参照して前記デマルチプレクサから入力される低速シリアル信号からクロック信号を再生するＣＤＲ（１４ａ）と、前記デマルチプレクサにて分割された低速シリアル信号を前記ＣＤＲにて再生される再生クロックのタイミングで取り込み、前記再生クロックを分周したクロック信号のタイミングで前記低速シリアル信号をデシリアライズしてパラレルデータに変換するデシリアライザ（１４ｂ）とが前記複数レーンに対応して設けられたＦＰＧＡトランシーバからなる複数のレシーバ（１４）とを含む受信装置（１１）に用いられるビット同期回路（１）であって、
前記高速シリアル信号のビット列中に存在する複数の繰り返しパターンからなる検出パターンと、想定スキュー量のビットを先頭とする前記複数のレシーバの全ての前記複数レーンのパラレルデータとをレーン毎に比較するパターン比較部（２３）と、
前記パターン比較部の比較結果に基づき、レーン順に前記検出パターンが検出されるか否かを判別し、先頭に前記検出パターンを検出したレーンを仮先頭レーン位置として決定する仮先頭レーン位置決定部（２４）と、
前記仮先頭レーン位置決定部が決定した仮先頭パターン位置で一致する前記検出パターンの検出回数をカウントし、レーン順を守りながら設定回数以上連続して前記検出パターンを検出するか否かにより前記仮先頭レーン位置の良否を判定する判定部（２６）と、
前記判定部が前記仮先頭レーン位置を良と判定したときのビット位置からスキュー量を算出してデスキューを行い、前記複数のレシーバから入力される複数レーンのパラレルデータをシリアルビット列順に並び替えて出力する処理部（２８）とを備えたことを特徴とするビット同期回路。
【請求項２】
高速シリアル信号を複数レーンの低速シリアル信号に分割するデマルチプレクサ（１２）と、
基準クロックを参照して前記デマルチプレクサから入力される低速シリアル信号からクロック信号を再生するＣＤＲ（１４ａ）と、前記デマルチプレクサにて分割された低速シリアル信号を前記ＣＤＲにて再生される再生クロックのタイミングで取り込み、前記再生クロックを分周したクロック信号のタイミングで前記低速シリアル信号をデシリアライズしてパラレルデータに変換するデシリアライザ（１４ｂ）とが前記複数レーンに対応して設けられたＦＰＧＡトランシーバからなる複数のレシーバ（１４）とを含む受信装置（１１）に用いられるビット同期回路（１）にてビット同期を取るビット同期方法であって、
前記高速シリアル信号のビット列中に存在する複数の繰り返しパターンからなる検出パターンと、想定スキュー量のビットを先頭とする前記複数のレシーバの全ての前記複数レーンのパラレルデータとをレーン毎に比較するステップと、
前記比較の結果に基づき、レーン順に前記検出パターンが検出されるか否かを判別し、先頭に前記検出パターンを検出したレーンを仮先頭レーン位置として決定するステップと、
前記決定した仮先頭パターン位置で一致する前記検出パターンの検出回数をカウントし、レーン順を守りながら設定回数以上連続して前記検出パターンを検出するか否かにより前記仮先頭パターン位置の良否を判定するステップと、
前記仮先頭レーン位置を良と判定したときのビット位置からスキュー量を算出してデスキューを行い、前記複数レーンのパラレルデータをシリアルビット列順に並び替えて出力するステップとを含むことを特徴とするビット同期方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、高速シリアル信号を複数レーンの低速シリアル信号に分割してデシリアライズした際に生じるスキューを吸収してビット同期を確立するビット同期回路及びビット同期方法に関する。
【背景技術】
【０００２】
従来、大容量のデータ伝送を行う際のビット同期を実現した多チャネルデータ伝送方式におけるインタフェース装置としては、例えば下記特許文献１に開示されるものが知られている。この特許文献１に開示されるインタフェース装置では、多チャネルデータと多チャネル基準信号を選択的に送信するデータ送信部と、多チャネル受信データのビット同期を行うビット同期部と、多チャネル受信データ間のデスキューを行うデスキュー部とを備え、大幅な設計時間の短縮、レイアウトの自由度、および高密度実装を可能とし、大容量のルータやスイッチの実現を可能としている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−２２３２０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところが、上述した特許文献１は、データ送信部とデータ受信部をインタフェース装置に備え、データ伝送のビット同期をインタフェース装置のパッケージ内で完結してデータを出力する構成である。これに対し、外部からの信号を受信するレシーバ（受信回路）として、ＣＭＯＳ  ＩＣを用いてＦＰＧＡ（field-programmable gate array ）トランシーバを構成した場合、現在のＣＭＯＳ技術では高速シリアル信号（例えば３２Ｇｂｉｔ／ｓ以上）を直接受信することができない。このため、ＦＰＧＡトランシーバでは直接受信できない高速シリアル信号をＦＰＧＡで解析したい場合には、ＭＭＩＣなどのデマルチプレクサを使用して高速シリアル信号を複数レーンの低速シリアル信号に分割し、ＦＰＧＡトランシーバが取り扱えるビットレートに落として接続する必要があった。
【０００５】
しかしながら、レシーバとしてＦＰＧＡトランシーバが扱えるビットレートまで落として高速シリアル信号を複数レーンの低速シリアル信号に分割したとき、受信する高速シリアル信号のビットレートが高いと、各ＦＰＧＡトランシーバがデシリアライズするタイミングを揃えることが難しく、ＦＰＧＡトランシーバ間のビットスキューを０とすることが困難であるという問題を生じる。そして、ビットスキューが発生した場合、元のシリアルビット列への復元ができないと考えられていた。
【０００６】
さらに説明すると、上述したビットスキューは、低速シリアル信号の配線長のばらつき、各レシーバのクロック位相のばらつきにより複数レーンの低速シリアル信号の各レーン内においても発生する。このビットスキューは各レーンで異なる値となり、各レーンのビット位置の回転量が異なる。その結果、各レシーバから出力される信号に位相ずれが生じる。このため、従来のビット同期回路では、デマルチプレクサから各レシーバまでの低速シリアル信号の配線長やクロック位相をユーザが適宜調整することで位相ずれの問題に対処していた。しかし、このような対処方法では、作業が面倒でユーザにかかる負担が大きく、調整作業にも個人差が生じ、高速シリアル信号のビット同期を確立させて元のシリアル列に復元するまでに手間と時間を要していた。
【０００７】
そこで、本発明は上記問題点に鑑みてなされたものであって、ユーザにかかる負担を無くして高速シリアル信号のビット同期を確立することができるビット同期回路およびビット同期方法を提供することを目的としている。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明の請求項１に記載されたビット同期回路は、高速シリアル信号を複数レーンの低速シリアル信号に分割するデマルチプレクサ１２と、
基準クロックを参照して前記デマルチプレクサから入力される低速シリアル信号からクロック信号を再生するＣＤＲ１４ａと、前記デマルチプレクサにて分割された低速シリアル信号を前記ＣＤＲにて再生される再生クロックのタイミングで取り込み、前記再生クロックを分周したクロック信号のタイミングで前記低速シリアル信号をデシリアライズしてパラレルデータに変換するデシリアライザ１４ｂとが前記複数レーンに対応して設けられたＦＰＧＡトランシーバからなる複数のレシーバ１４とを含む受信装置１１に用いられるビット同期回路１であって、
前記高速シリアル信号のビット列中に存在する複数の繰り返しパターンからなる検出パターンと、想定スキュー量のビットを先頭とする前記複数のレシーバの全ての前記複数レーンのパラレルデータとをレーン毎に比較するパターン比較部２３と、
前記パターン比較部の比較結果に基づき、レーン順に前記検出パターンが検出されるか否かを判別し、先頭に前記検出パターンを検出したレーンを仮先頭レーン位置として決定する仮先頭レーン位置決定部２４と、
前記仮先頭レーン位置決定部が決定した仮先頭パターン位置で一致する前記検出パターンの検出回数をカウントし、レーン順を守りながら設定回数以上連続して前記検出パターンを検出するか否かにより前記仮先頭レーン位置の良否を判定する判定部２６と、
前記判定部が前記仮先頭レーン位置を良と判定したときのビット位置からスキュー量を算出してデスキューを行い、前記複数のレシーバから入力される複数レーンのパラレルデータをシリアルビット列順に並び替えて出力する処理部２８とを備えたことを特徴とする。
【０００９】
請求項２に記載されたビット同期方法は、高速シリアル信号を複数レーンの低速シリアル信号に分割するデマルチプレクサ１２と、
基準クロックを参照して前記デマルチプレクサから入力される低速シリアル信号からクロック信号を再生するＣＤＲ１４ａと、前記デマルチプレクサにて分割された低速シリアル信号を前記ＣＤＲにて再生される再生クロックのタイミングで取り込み、前記再生クロックを分周したクロック信号のタイミングで前記低速シリアル信号をデシリアライズしてパラレルデータに変換するデシリアライザ１４ｂとが前記複数レーンに対応して設けられたＦＰＧＡトランシーバからなる複数のレシーバ１４とを含む受信装置１１に用いられるビット同期回路１にてビット同期を取るビット同期方法であって、
前記高速シリアル信号のビット列中に存在する複数の繰り返しパターンからなる検出パターンと、想定スキュー量のビットを先頭とする前記複数のレシーバの全ての前記複数レーンのパラレルデータとをレーン毎に比較するステップと、
前記比較の結果に基づき、レーン順に前記検出パターンが検出されるか否かを判別し、先頭に前記検出パターンを検出したレーンを仮先頭レーン位置として決定するステップと、
前記決定した仮先頭パターン位置で一致する前記検出パターンの検出回数をカウントし、レーン順を守りながら設定回数以上連続して前記検出パターンを検出するか否かにより前記仮先頭パターン位置の良否を判定するステップと、
前記仮先頭レーン位置を良と判定したときのビット位置からスキュー量を算出してデスキューを行い、前記複数レーンのパラレルデータをシリアルビット列順に並び替えて出力するステップとを含むことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、ＦＰＧＡトランシーバでは直接受信できない高速シリアル信号であっても、ユーザに一切負担をかけることなく、高速シリアル信号を複数レーンの低速シリアル信号に分割してデシリアライズした際に生じるスキューを吸収してビット同期を確立することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明に係るビット同期回路の内部構成の一例を示すブロック図である。
【図２】本発明に係るビット同期回路を含む受信装置の概略構成を示すブロック図である。
【図３】検出パターンのビットインターリーブとレーン分割の一例を示す説明図である。
【図４】図３の検出パターンを用いて先頭レーン位置を決めるときの概略説明図である。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について、添付した図面を参照しながら詳細に説明する。
【００１３】
本発明は、例えば既知のパターン信号（テスト信号）の入力に伴うＰＣＩｅデバイスやＵＳＢデバイスなどの被測定物（ＤＵＴ）からの高速シリアル信号を複数レーンの低速シリアル信号に分割し、この分割した複数レーンの低速シリアル信号をデシリアライズしてパラレルデータに変換した際に生じるレーン内やレーン間のスキューを吸収（デスキュー）してビット同期を確立するビット同期回路及びビット同期方法に関するものである。
【００１４】
図１及び図２に示すように、ビット同期回路１は、デマルチプレクサ１２、クロック発生器１３、レシーバ１４とともに受信装置１１の一部として組み込まれる。
【００１５】
受信装置１１は、特に図示はしないが、例えばＰＣＩｅデバイスやＵＳＢデバイスなどの被測定物（ＤＵＴ）にパターン信号（ＰＲＢＳパターンやプログラマブルパターンによる既知パターン）を送信するパターン発生器とともに誤り率測定装置を構成する。誤り率測定装置は、パターン発生器から被測定物に既知のパターン信号をテスト信号として入力したときに、このテスト信号の入力に伴う被測定物からの信号（高速シリアル信号）を受信装置にて受信し、受信した信号と既知のテスト信号との比較によってビット誤り率を測定する。
【００１６】
デマルチプレクサ１２は、例えばＰＣＩｅデバイスやＵＳＢデバイスなどの被測定物から入力される高速シリアル信号（例えば３２Ｇｂｉｔ／ｓ）を、後段のレシーバ１４が扱えるビットレート（例えば４Ｇｂｉｔ／ｓ）の複数レーン（例えば８レーン）の低速シリアル信号に分割（ＤＭＵＸ）する。
【００１７】
なお、本例のデマルチプレクサ１２は、説明の簡略を図るため、１段のみの構成として図示しているが、入力される高速シリアル信号のビットレートに応じた段数で適宜構成することができる。例えば３２Ｇｂｉｔ／ｓの高速シリアル信号を分割する場合には、デマルチプレクサ１２を２段構成とし、３２Ｇｂｉｔ／ｓ→１６Ｇｂｉｔ／ｓ→４Ｇｂｉｔ／ｓと段階的に分離する。また、入力される高速シリアル信号は、被測定物からの信号に限らず、レシーバ１４で直接受信することができないビットレートの信号を対象としている。
【００１８】
クロック発生器１３は、デマルチプレクサ１２にて分割された低速シリアル信号をレシーバ１４が取り込むための基準クロックを発生し、発生した基準クロックをレシーバ１４に入力する。
【００１９】
レシーバ１４は、ＣＭＯＳ  ＩＣを用いたＦＰＧＡトランシーバからなる受信回路であり、デマルチプレクサ１２にて分割される低速シリアル信号のレーンの数に対応して複数設けられる。具体的には、図２に示すように、高速シリアル信号がデマルチプレクサ１２にて８レーンの低速シリアル信号に分割された場合、各レーンに対応して１ずつ合計８つのレシーバ１４（１４Ａ，１４Ｂ，１４Ｃ，１４Ｄ，１４Ｅ，１４Ｆ，１４Ｇ，１４Ｈ）が設けられる。
【００２０】
レシーバ１４は、ＣＤＲ（Clock Data Recovery ）１４ａ、デシリアライザ１４ｂ、分周器１４ｃを含んで構成される。なお、図２では、レシーバ１４ＡのみにＣＤＲ１４ａとデシリアライザ１４ｂを図示しているが、全てのレシーバ１４Ａ〜１４ＨにＣＤＲ１４ａ、デシリアライザ１４ｂ、分周器１４ｃが含まれるものである。
【００２１】
ＣＤＲ１４ａは、クロック発生部１３からの基準クロックを参照して、デマルチプレクサ１２から入力される低速シリアル信号からクロック信号を再生する。デシリアライザ１４ｂは、デマルチプレクサ１２にて分割された低速シリアル信号をＣＤＲ１４ａからのクロック信号（再生クロック）のタイミングで取り込み、ＣＤＲ１４ａにて再生されるクロック信号を分周器１４ｃにて分周したクロック信号のタイミングで低速シリアル信号をデシリアライズしてパラレルデータに変換して出力する。これにより、各レシーバ１４にてデシリアライズされた８レーンのパラレルデータがビット同期回路１に入力される。
【００２２】
図１や図２に示すように、ビット同期回路１は、上述したビット同期を確立する機能を実現するため、入力側が複数のレシーバ１４（１４Ａ〜１４Ｈ）に接続され、クロックドメイン分離部２１、検出パターン発生部２２、パターン比較部２３、仮先頭レーン位置決定部２４、第１の遅延部２５、判定部２６、第２の遅延部２７、処理部２８を含んでＦＰＧＡで構成される。
【００２３】
クロックドメイン分離部２１は、パターン比較部２３の入力側と出力側に接続され、クロック周期調整用のＦＩＦＯで構成される。クロックドメイン分離部２１は、パターン比較部２３が別クロック（４倍速クロック：ｃｌｋ×４）で動作しているため、クロックドメインを分離する機能を有する。
【００２４】
検出パターン発生部２２は、パターン比較部２３においてレシーバ１４からのパラレルデータに基づく被比較用データ（レーン０〜７）と比較するための検出パターンを発生する。検出パターンは、受信装置１１が受信する高速シリアル信号と同期を取るため、高速シリアル信号のビット列中に存在する繰り返しパターンに基づく異なるビット配列の複数種類のパターンからなる。
【００２５】
さらに説明すると、本例の検出パターン発生部２２は、接続相手との規格によって決まる固定値を設定値とした複数種類の検出パターンを発生する。例えばＰＣＩｅ規格のモード（Ｇｅｎ１、Ｇｅｎ２、Ｇｅｎ３、Ｇｅｎ４）では、１６０ビットの５種類（Ｇｅｎ１とＧｅｎ２では４種類、Ｇｅｎ３とＧｅｎ４では１種類）の固定値を設定値とする。そして、検出パターン発生部２２では、モードに応じて設定値を選択し、選択した設定値のＭＳＢ側から１ビットずつ順番にパターン０→パターン１→パターン２→…→パターン６→パターン７に割り振り、これを繰り返して検出パターンを発生する。
【００２６】
具体的に、ＰＣＩｅのＧｅｎ３の場合は、図３に示すように、ｐｔ０をパターン０、ｐｔ１をパターン１、ｐｔ２をパターン３、ｐｔ４をパターン４、ｐｔ５をパターン５、ｐｔ６をパターン６、ｐｔ７をパターン７といったように、設定値のＭＳＢ（ｐｔ０）側から１ビットずつ順番にパターン０→パターン１→パターン２→…→パターン６→パターン７に割り振り、これを繰り返して異なるビット配列の８種類の検出パターンを発生する。なお、図３において、縦軸はビットインターリーブにより分割された検出パターンの種類（パターン０〜７）、横軸は各検出パターンの１フレームのビット位置である。
【００２７】
このように、検出パターン発生部２２は、高速シリアル信号のビット列中に存在する繰り返しパターン（ＰＣＩｅのモードに応じた設定値）の１６０ビットを８レーンにビットインターリーブし、例えば図３に示すような８種類のパターン（パターン０、パターン１、パターン２、パターン３、パターン４、パターン５、パターン６、パターン７）を検出パターンとして発生する。従って、検出パターンは、設定値の種類毎にパターン０〜７の内容（ビット配列）が異なる。
【００２８】
なお、検出パターンは、接続相手に応じて複数の種類（パターン０〜７の組み合わせ）を切り替えて使用する。また、検出パターンは、図３に示すように、２０ビット長まで拡張して精度を上げているが、このビット長に限定されるものではない。
【００２９】
パターン比較部２３は、レシーバ１４の数、言い換えればパラレルデータのレーン数に対応して設けられる。本例では、８つのレシーバ１４Ａ〜１４Ｈを備えて８レーンのパラレルデータを出力するので、各レシーバ１４Ａ〜１４Ｈに対応して８つのパターン比較部２３が設けられる。
【００３０】
パターン比較部２３は、レーン内で発生が想定されるスキュー量を加味したパラレルデータを被比較用データとし、この被比較用データと検出パターンとの比較を複数レーンのレーン毎に行い、その比較結果を出力する。なお、本例では、想定スキュー量を±８ビット（＋８：８通り、±０：１通り、−８：８通りの合計１７通り）とし、この±８ビットの範囲全てにおけるパラレルデータを被比較用データとしている。
【００３１】
パターン比較部２３は、対応するレシーバ１４からの入力データバス（１６ビット幅）を３段のシフトレジスタに入力し、この３段分のデータをつなげ、レーン内のスキュー量（想定スキュー量±８ビット）による違いに対応するため、ビット位置（±８ビット分）をずらした被比較用データを作成する。
【００３２】
パターン比較部２３は、作成した被比較用データと、図３の全ての検出パターン（パターン０〜７）について比較し、この比較動作を各レーン毎に実施する。
【００３３】
例えば図３のパターン０に着目すると、全ての検出パターン（パターン０〜７）と１７通りの被比較用データとを比較する。この検出パターン（パターン０〜７）と被比較用データ（１７通り）との比較を複数レーンのレーン毎に行う。これにより、パターン比較部２３からは、全体として１７通り×８パターン×８レーン＝１０８８個の比較結果が出力される。
【００３４】
仮先頭レーン位置決定部２４は、各パターン比較部２３から入力される比較結果に基づき、レーン順に必要な検出パターンが検出されるか否かを判別し、先頭に必要な検出パターンを検出したレーンを仮先頭レーン位置として決定する。
【００３５】
なお、必要な検出パターンとは、検出パターンのパターン０〜７が順番に揃う組み合わせを意味する。例えばレーン１を先頭と見た場合には、レーン１にはパターン０、次のレーン２にはパターン１、その次のレーン３にはパターン２といったように、レーン順にパターン０〜７が並ぶ組み合わせである。
【００３６】
仮先頭レーン位置決定部２４は、図４のＡに示すように、レーン０を先頭にパターン０〜７を検出すると、レーン０を仮先頭レーン位置として決定する。以下同様にして、図４のＢに示すように、レーン１を先頭にパターン０〜７を検出すると、レーン１を仮先頭レーン位置として決定する。図４のＣに示すように、レーン２を先頭にパターン０〜７を検出すると、レーン２を仮先頭レーン位置として決定する。図４のＤに示すように、レーン３を先頭にパターン０〜７を検出すると、レーン３を仮先頭レーン位置として決定する。図４のＥに示すように、レーン４を先頭にパターン０〜７を検出すると、レーン４を仮先頭レーン位置として決定する。図４のＦに示すように、レーン５を先頭にパターン０〜７を検出すると、レーン５を仮先頭レーン位置として決定する。図４のＧに示すように、レーン６を先頭にパターン０〜７を検出すると、レーン６を仮先頭レーン位置として決定する。図４のＨに示すように、レーン７を先頭にパターン０〜７を検出すると、レーン７を仮先頭レーン位置として決定する。
【００３７】
なお、図４では、レーン７からレーン０への遷移を分かり易くするため展開した形式で図示したが、実際にはレーン０→レーン１→…→レーン６→レーン７→レーン０といったように繰り返す。
【００３８】
このように、仮先頭レーン位置決定部２４は、あるレーンを先頭にパターン０〜７が順番に並ぶ組み合わせ（各レーンを先頭とする組み合わせ：図４のＡ〜Ｈの８通り）を検出し、この組み合わせを検出した時点でそのレーンを仮先頭レーン位置として決定し、仮先頭レーン位置データ（レーン内で何ビットずれているかを示す位置ずれ情報を含む）を判定部２６に出力する。
【００３９】
第１の遅延部２５は、パターン比較部２３からの比較結果を遅延させ、この遅延させた比較結果と、仮先頭レーン位置決定部２４から判定部２６への仮先頭レーン位置データとの位相を合わせる。
【００４０】
ここで、検出パターン長（１６０ビット）と、レーン数（８レーン）×１レーンのビット幅（１６ビット）とが等しくないため、検出パターン１６０ビットが存在するレーン位置とビット位置は周期性をもって移動する。このため、判定部２６では、検出パターンが発生するレーン位置とビット位置を算出し、算出したレーン位置とビット位置にて検出パターンを設定回数以上連続して検出するか否かを判定する。その際、設定回数は、パターンの長さによって出現頻度が異なるため、短いパターンのときは多い回数（例えば１０回）、長いパターンのときは少ない回数（例えば８回）となるように、パターンの長さに応じて適宜設定される。
【００４１】
すなわち、判定部２６は、仮先頭レーン位置決定部２４からの仮先頭パターン位置データを元に検出パターンの移動先（検出パターンが存在するレーン位置とビット位置の移動先）を予測し、その位置で一致する検出パターンの検出回数（一致回数）をカウントし、レーン順を守りながら、かつ設定回数以上連続して一致する検出をするか、否かにより仮先頭レーン位置のビットの良否を判定する。そして、判定部２６は、レーン順を守りながら、かつ設定回数以上連続して仮先頭レーン位置で一致する検出パターンを検出してパターン検出条件を満たすと、仮先頭パターン位置に決定したレーンを確定先頭パターン位置と判定し、確定先頭パターン位置データ（レーン内で何ビットずれているかを示す位置ずれ情報を含む）を判定結果として処理部２８に出力する。また、判定部２６は、検出パターンを連続して検出したときのビット位置別のカウント値を判定結果として処理部２８に出力する。
【００４２】
第２の遅延部２７は、各レシーバ１４からの入力データ（レーン０〜７のパラレルデータ）を遅延させ、この遅延させた入力データと、判定部２６から処理部２８への判定結果との位相を合わせる。
【００４３】
処理部２８は、判定部２６から確定先頭パターン位置データが入力されると、そのビット位置からスキュー量（レーン内及びレーン間のスキュー量：図３の縦方向と横方向のスキュー量）を算出し、算出したスキュー量によりレーン０〜７のパラレルデータのデスキューを行い、デスキューしたパラレルデータをシリアルビット列順（高速シリアル信号のビット列順）に並び替えて出力する。これにより、処理部２８からは、高速シリアル信号にビット同期したシリアルデータが出力される。
【００４４】
次に、上述したビット同期回路１を用いた高速シリアル信号のビット同期方法について説明する。ここでは、高速シリアル信号をデマルチプレクサにて８レーンの低速シリアル信号に変換し、この８レーンの低速シリアル信号を８つのレシーバ１４にてパラレルデータ（１６ビット）に変換する場合を例にとって説明する。
【００４５】
ビット同期回路１では、各レシーバ１４からパラレルデータが入力されると、検出パターンと被比較用データとを各パターン比較部２３で比較する。例えばレーン０に対応したパターン比較部２３では、レシーバ１４からのパラレルデータをビットシフトして、±８ビットの１７通りの被比較用データを作成し、作成した１７通りの被比較用データと検出パターン（パターン０〜７）とを比較し、両者が一致するものを全て見つけ出す。他のレーン１〜７のそれぞれに対応したパターン比較部２３でも並行して同様の処理を行う。
【００４６】
次に、仮先頭レーン位置決定部２４は、パターン比較部２３からの８レーンの比較結果を全て取得し、取得した比較結果をもとに、レーン順に検出パターンが検出されるかを判別し、検出パターンの先頭が存在するレーンを仮先頭レーン位置とする。このとき、検出される順番は、レーン単位で見ると、レーン０→レーン１→…→レーン６→レーン７→レーン０→レーン１→…の順であるが、検出パターンの先頭が存在するレーンは起動時によって異なる。このため、検出パターン（パターン０）はレーン０で検出されるとは限らない。また、複数箇所で見つかる場合もある。
【００４７】
判定部２６は、仮先頭レーン位置決定部２４にて仮先頭レーン位置を確定した後、以後のパターン比較部２３の比較結果から検出パターンの一致回数をカウントする。ここで、入力データに含まれるパターンの同期ビット数と、クロック毎の８レーン分ビット数（１６ビット×８レーン＝１２８ビット）が異なるため、検出すべきパターンは周期性をもって移動する。
【００４８】
そこで、判定部２６は、検出パターンの移動先を予測し、その位置で一致する検出パターンの検出回数をカウントする。そして、レーン順を守りながら、かつ設定回数以上連続して一致する検出をするか否かを判別する。判定部２６は、レーン順を守りながら、かつ設定回数以上連続して一致する検出をすると、仮先頭パターン位置に決定したレーンを確定先頭パターン位置と判定し、確定先頭パターン位置データを判定結果として処理部２８に出力する。
【００４９】
処理部２８は、判定部２６の判定結果から仮先頭レーン位置を良と判定すると、パターン検出条件を満たしたときのスキュー量を元に、レシーバ１４から入力される複数レーンのパラレルデータのデスキューを行い、複数レーンのパラレルデータをシリアルビット列順に並び替えて出力する。また、処理部２８は、仮先頭レーン位置を不良と判定すると、仮先頭レーン位置決定部２４、判定部２６の仮先頭レーン位置をクリアする信号を出力する。このクリアにより、次のレーン位置で再度周期性のチェックを行い、判定部２６による仮先頭レーン位置の判定からやり直す。
【００５０】
このように、本実施の形態のビット同期回路１によれば、高速シリアル信号をデマルチプレクサ１２にて複数レーンの低速シリアル信号に分割し、高速シリアルビット列中に存在する繰り返しパターンを検出パターンとして使用し、レシーバ（ＦＰＧＡトランシーバ）１４間で発生するビットスキューの推定とデスキューを行い、元のシリアルビット列を復元してビット同期を確立している。これにより、レシーバ（ＦＰＧＡトランシーバ）に直接接続できない高速シリアル信号であっても、従来のようなユーザによる配線長やクロック位相の調整作業が不要となり、ユーザに一切負担をかけることなく、高速シリアル信号を複数レーンの低速シリアル信号に分割してデシリアライズした際に生じるレーン内やレーン間のスキューを吸収してビット同期を確立することができる。また、ビットスキューの推定を全ビット同時に行うことにより、デスキューとビット同期の確立を高速に行うことができる。
【００５１】
以上、本発明に係るビット同期回路及びビット同期方法の最良の形態について説明したが、この形態による記述及び図面により本発明が限定されることはない。すなわち、この形態に基づいて当業者等によりなされる他の形態、実施例及び運用技術などはすべて本発明の範疇に含まれることは勿論である。
【符号の説明】
【００５２】
１  ビット同期回路
１１  受信装置
１２  デマルチプレクサ
１３  クロック発生部
１４（１４Ａ〜１４Ｈ）  レシーバ
１４ａ  ＣＤＲ
１４ｂ  デシリアライザ
１４ｃ  分周器
２１  クロックドメイン分離部
２２  検出パターン発生部
２３  パターン比較部
２４  仮先頭レーン位置決定部
２５  第１の遅延部
２６  判定部
２７  第２の遅延部
２８  処理部
【図１】
0006332701.tif 000002
【図２】
0006332701.tif 000003
【図３】
0006332701.tif 000004
【図４】
0006332701.tif 000005