(57)【要約】【課題】回路規模を増大させることなくレーン間同期機能の動作確認を行うことができる同期処理テスト装置、送信回路及びデータ送信方法を提供すること。【解決手段】本発明にかかる同期処理テスト装置は、複数レーンからデータを出力する際に、複数レーンのレーン間のデータ出力タイミングが所定のクロック数シフトするようにデータを出力させるタイミング調整部３１〜３４と、複数のレーンから出力されたデータの受信タイミングをクロックタイミングに基づいて同期させるレーン間同期部６１〜６４と、レーン間同期部６１〜６４において同期されたデータの出力タイミングに基づいて、レーン間同期部６１〜６４が正常に動作しているか否かを判定する判定部７１と、を備えるものである。【選択図】図１
2013152548.tif 000002
【特許請求の範囲】
【請求項１】
複数レーンからデータを出力する際に、前記複数レーンのレーン間のデータ出力タイミングが所定のクロック数シフトするように前記データを出力させるタイミング調整部と、
前記複数のレーンから出力された前記データの受信タイミングをクロックタイミングに基づいて同期させるレーン間同期部と、
前記レーン間同期部において同期されたデータの出力タイミングに基づいて、前記レーン間同期部が正常に動作しているか否かを判定する判定部と、を備える同期処理テスト装置。
【請求項２】
前記タイミング調整部は、
前記レーン間のデータ出力タイミングをシフトさせる前記所定のクロック数に関する情報を保持するシフト情報保持部を有する、請求項１に記載の同期処理テスト装置。
【請求項３】
前記タイミング調整部は、
前記クロックタイミングに基づいて前記データの保持と前記データの出力を行う複数のレジスタを有し、前記シフト情報保持部において保持されている前記所定のクロック数に関する情報に基づいて、前記複数のレジスタの中でデータを保持させるレジスタを決定する、請求項２に記載の同期処理テスト装置。
【請求項４】
前記タイミング調整部は、
前記複数レーンのそれぞれのレーン上に配置され、
複数の前記タイミング調整部のうち動作させる前記タイミング調整部を決定する制御部をさらに備える、請求項１乃至３のいずれか１項に記載の同期処理テスト装置。
【請求項５】
前記タイミング調整部は、
複数ビットのデータが同時に処理されるパラレルデータの出力タイミングを制御する、請求項１乃至４のいずれか１項に記載の同期処理テスト装置。
【請求項６】
前記タイミング調整部は、
複数ビットのデータが同時に処理されるパラレルデータから変換されたシリアルデータの出力タイミングを制御する、請求項１乃至４のいずれか１項に記載の同期処理テスト装置。
【請求項７】
前記同期処理テスト装置は、
前記データを送信する送信部と、前記データを受信する受信部とを備え、
前記タイミング調整部は、前記送信部に配置される、請求項１乃至６のいずれか１項に記載の同期処理テスト装置。
【請求項８】
複数のレーンから出力されたデータの受信タイミングをクロックタイミングに基づいて同期させるレーン間同期部が正常に動作しているか否かをテストするために、前記レーン間同期部に対して、前記複数レーンのレーン間のデータ出力タイミングが所定のクロック数シフトするようにデータを出力させるタイミング調整部を備える送信回路。
【請求項９】
前記タイミング調整部は、
前記レーン間のデータ出力タイミングをシフトさせる前記所定のクロック数に関する情報を保持するシフト情報保持部を有する、請求項８に記載の送信回路。
【請求項１０】
前記タイミング調整部は、
前記クロックタイミングに基づいて前記データの保持と前記データの出力を行う複数のレジスタを有し、前記シフト情報保持部において保持されている前記所定のクロック数に関する情報に基づいて、前記複数のレジスタの中でデータを保持させるレジスタを決定する、請求項９に記載の送信回路。
【請求項１１】
前記タイミング調整部は、
前記複数レーンのそれぞれのレーン上に配置され、
複数の前記タイミング調整部のうち動作させる前記タイミング調整部を決定する制御部をさらに備える、請求項８乃至１０のいずれか１項に記載の送信回路。
【請求項１２】
前記タイミング調整部は、
複数ビットのデータが同時に処理されるパラレルデータの出力タイミングを制御する、請求項８乃至１１のいずれか１項に記載の送信回路。
【請求項１３】
前記タイミング調整部は、
複数ビットのデータが同時に処理されるパラレルデータから変換されたシリアルデータの出力タイミングを制御する、請求項８乃至１１のいずれか１項に記載の送信回路。
【請求項１４】
複数のレーンから出力されたデータの受信タイミングをクロックタイミングに基づいて同期させるレーン間同期部が正常に動作しているか否かをテストするために、前記レーン間同期部に対して、前記複数レーンのレーン間のデータ出力タイミングが所定のクロック数シフトするようにデータを出力させる、データ送信方法。
【請求項１５】
前記データを出力させる際に、
前記レーン間のデータ出力タイミングをシフトさせる前記所定のクロック数に関する情報に基づいて前記データを出力させる、請求項１４に記載のデータ送信方法。
【請求項１６】
前記データを出力させる前に、
前記所定のクロック数に関する情報に基づいて、前記クロックタイミングに基づいて前記データの保持と前記データの出力を行う複数のレジスタの中で、データを保持させるレジスタを決定する、請求項１４又は１５に記載のデータ送信方法。
【請求項１７】
前記データを出力させる際に、
複数ビットのデータが同時に処理されるパラレルデータの出力タイミングを制御する、請求項１４乃至１６のいずれか１項に記載のデータ送信方法。
【請求項１８】
前記データを出力させる際に、
複数ビットのデータが同時に処理されるパラレルデータから変換されたシリアルデータの出力タイミングを制御する、請求項１４乃至１６のいずれか１項に記載のデータ送信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は同期処理テスト装置に関し、特に複数レーンを用いてデータが送受信される同期処理テスト装置に関する。
【背景技術】
【０００２】
複数レーンを用いてデータが送受信される高速シリアルインタフェースでは、レーン毎にデータの受信タイミングが異なる場合、データの受信タイミングを揃えるレーン間同期機能が用いられる。しかし、高速シリアルインタフェースに用いられるＰＣＩ Ｅｘｐｒｅｓｓ／インフィニバンドの規格では、送信側のレーン間は、送信タイミングを一致させるようにデータを送信することが規定されている。そのため、レーン間同期機能の動作確認を行う際に、ＰＣＩ Ｅｘｐｒｅｓｓ／インフィニバンドの規格に基づいてデータが送信された場合、対向デバイスの受信側は、基本的にはデータの受信タイミングが異なることはなく、レーン間同期機能は動作しない。そのため、このような場合レーン間同期機能が正常に動作するか否かを評価するためには、チップ外部の配線を長くする等して、データの受信タイミングをずらす必要がある。
【０００３】
ここで、図１３及び図１４を用いて、ＰＣＩ Ｅｘｐｒｅｓｓ規格に準拠した一般的な送信回路及び受信回路の構成について説明する。図１３及び図１４における送信回路及び受信回路は、４レーンを用いてデータの送受信を行うように構成されている。さらに、図１３の送信回路は、８Ｂ１０Ｂ変換部１０１〜１０４と、マルチプレクサ（Ｍｕｘ）１１１〜１１４と、送信部１２１〜１２４と、を備え、図１４の受信回路は、受信部１３１〜１３４と、デマルチプレクサ（ＤｅＭｕｘ）１４１〜１４４と、Ｅｌａｓｔｉｃ  Ｂｕｆｆｅｒ（ＥＢ）１５１〜１５４と、１０Ｂ８Ｂ変換部１６１〜１６４と、レーン間同期回路１７１〜１７４と、を備えている。
【０００４】
受信回路のレーン間同期回路１７１〜１７４の動作確認を行う場合、送信回路から受信回路に対してデータを送信する。受信回路と、送信回路とは同一の装置内に備えられてもよく、異なる装置に備えられてもよい。受信回路と送信回路とが異なる装置に備えられる場合、装置間において無線通信を用いてデータを送受信してもよい。
【０００５】
送信回路においては、Ｍｕｘ１１１〜１１４は、８Ｂ１０Ｂ変換部１０１〜１０４から出力されるパラレルデータを、シリアルデータへ変換する。送信部１２１〜１２４は、シリアルデータを受信回路に対して送信する。また、受信回路においては、受信部１３１〜１３４は、シリアルデータを受信し、ＤｅＭｕｘ１４１〜１４４へ出力する。ＤｅＭｕｘ１４１〜１４４は、シリアルデータをパラレルデータへ変換し、ＥＢ１５１〜１５４へ出力する。１０Ｂ８Ｂ変換部１６１〜１６４は、ＥＢ１５１〜１５４に格納されているデータをレーン間同期回路１７１〜１７４へ出力する。レーン間同期回路１７１〜１７４は、データの受信タイミングがレーン間において異なった場合に、データの受信タイミングを揃えるように動作する。
【０００６】
続いて、図１５を用いて、ＰＣＩ Ｅｘｐｒｅｓｓ規格に準拠した送信側における送信データのタイミング波形について説明する。本図におけるＡ〜Ｄは、図１３のＡ〜Ｄにおける送信データのタイミング波形を示す。つまり、本図におけるＡ〜Ｄは、Ｍｕｘ１１１〜１１４へ入力するパラレルデータのタイミング波形を示している。また、図１６におけるシリアルデータ出力１ｃｈ〜４ｃｈは、レーン毎にパラレルデータをシリアルデータへ変換した後のチップ外部への出力データを示している。
【０００７】
ＰＣＩ Ｅｘｐｒｅｓｓの規格上、送信側データは、送信タイミングを揃えてチップ（又は回路）外部へ出力される。そのため、それぞれのレーン間のデータは、送信タイミングが揃った形で、チップ外部へと出力される。
【０００８】
続いて、図１７を用いて、ＰＣＩ Ｅｘｐｒｅｓｓ規格に準拠した受信側のタイミング波形について説明する。本図におけるＥ〜Ｌは、図１４のＥ〜Ｌにおける受信データのタイミング波形を示す。つまり、本図におけるＥ〜Ｈは、ＤｅＭｕｘ１４１〜１４４から出力されるパラレルデータのタイミング波形を示している。さらに、Ｉ〜Ｌは、レーン間同期回路１７１〜１７４から出力されるパラレルデータのタイミング波形を示している。
【０００９】
本図においては、ＤｅＭｕｘから出力されるパラレルデータ及びレーン間同期回路１７１〜１７４から出力されるパラレルデータの出力タイミングは、揃っている。これは、ＰＣＩ Ｅｘｐｒｅｓｓ規格に準拠した送信回路からデータが送信され、送信回路から出力されたデータを受信部１３１〜１３４が受信するまでに、レーン間のデータ出力タイミングにずれが発生しなかったことを示している。
【００１０】
一般的に受信回路の動作確認等の試験を行う際には、データを送信する送信回路と、データを受信する受信回路とは同じ部屋の中等、近い距離に配置されるか、もしくは、送信回路と受信回路とが同一の装置内に配置される。このような場合、送信回路と受信回路との間の距離が近いため、ボード上の配線長や、ケーブル長が、送信回路と受信回路との間の各レーン間で差が付きにくくなり、送信回路と受信回路との間において環境の変化等が発生する可能性が低くなる。そのため、レーン間のデータ出力タイミングにずれが発生する可能性が低くなる。
【００１１】
そのため、レーン間同期回路１７１〜１７４が正常に動作したかを評価することができない。このような場合に、レーン間同期回路１７１〜１７４が正常に動作したかを評価するためには、受信部１３１〜１３４における受信タイミングをずらすために、チップ外部の配線長を変更する等試験環境を変化させて対応する必要があった。
【００１２】
特許文献１には、半導体集積回路におけるスキューマージンの検査を行うための構成が開示されている。特許文献１においては、検査クロック信号Ａ１及びＡ２の立ち上がりエッジの時間差を調整することにより、クロック信号とデータ信号との間に遅延を発生させる。この遅延がスキューマージンより小さい場合と、スキューマージンを超える場合におけるフリップフロップ回路の動作を確認する。
【００１３】
特許文献２にも、半導体集積回路におけるスキューマージンの自己テストを行うための構成が開示されている。特許文献２においては、半導体集積回路内部に、任意の位相のクロック信号を発生できる回路を用意し、出力するクロックの位相を動的に切り替えることにより、半導体集積回路内部のクロック周期を任意に調整できるように構成されている。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２００７−１２７４６０号公報
【特許文献２】国際公開第２００８／０３２７０１号
【発明の概要】
【発明が解決しようとする課題】
【００１５】
しかし、特許文献１における半導体集積回路は、クロック信号とデータ信号との間に遅延を発生させるために、複数の検査クロック信号を用いて、クロック信号とデータ信号との立ち上がりエッジの時間差を調整する必要がある。そのため、複数のクロック信号を発生させるための回路が必要となるため、回路規模が増大するという問題が発生する。また、特許文献２においても、クロック信号の位相をシフトさせるために、任意の位相のクロック信号を発生させるための回路を設ける必要がある。そのために、特許文献１と同様に回路規模が増大するという問題が発生する。
【課題を解決するための手段】
【００１６】
本発明の第１の態様にかかる同期処理テスト装置は、複数レーンからデータを出力する際に、前記複数レーンのレーン間のデータ出力タイミングが所定のクロック数シフトするように前記データを出力させるタイミング調整部と、前記複数のレーンから出力された前記データの受信タイミングをクロックタイミングに基づいて同期させるレーン間同期部と、前記レーン間同期部において同期されたデータの出力タイミングに基づいて、前記レーン間同期部が正常に動作しているか否かを判定する判定部と、を備えるものである。
【００１７】
このような同期処理テスト装置を用いることにより、複数レーンのレーン間のデータ出力タイミングを所定のクロック数シフトするようにデータを出力することができる。これにより、受信回路においても、所定のクロック数シフトするデータを受信して、レーン間同期部の動作確認を行うことができる。
【００１８】
本発明の第２の態様にかかる送信回路は、複数のレーンから出力されたデータの受信タイミングをクロックタイミングに基づいて同期させるレーン間同期部が正常に動作しているか否かをテストするために、前記レーン間同期部に対して、前記複数レーンのレーン間のデータ出力タイミングが所定のクロック数シフトするようにデータを出力させるタイミング調整部を備えるものである。
【００１９】
このような送信回路を用いることにより、複数レーンのレーン間のデータ出力タイミングを所定のクロック数シフトするようにデータを出力することができる。これにより、受信回路において、所定のクロック数シフトするデータを受信して、レーン間同期部の動作確認を行うことができる。
【００２０】
本発明の第３の態様にかかるデータ送信方法は、複数のレーンから出力されたデータの受信タイミングをクロックタイミングに基づいて同期させるレーン間同期部が正常に動作しているか否かをテストするために、前記レーン間同期部に対して、前記複数レーンのレーン間のデータ出力タイミングが所定のクロック数シフトするようにデータを出力させるものである。
【００２１】
このようなデータ送信方法を用いることにより、複数レーンのレーン間のデータ出力タイミングを所定のクロック数シフトするようにデータを出力することができる。これにより、受信回路においても、所定のクロック数シフトするデータを受信して、レーン間同期部の動作確認を行うことができる。
【発明の効果】
【００２２】
本発明により、回路規模を増大させることなくレーン間同期機能の動作確認を行うことができる同期処理テスト装置、送信回路及びデータ送信方法を提供することができる。
【図面の簡単な説明】
【００２３】
【図１】実施の形態１にかかる送信回路の構成図である。
【図２】実施の形態１にかかる受信回路の構成図である。
【図３】実施の形態１にかかるタイミング制御部の構成図である。
【図４】実施の形態１にかかるタイミング調整部の構成図である。
【図５】実施の形態１にかかるデータの書込動作に関するタイミングチャートである。
【図６】実施の形態１にかかるデータの読込動作に関するタイミングチャートである。
【図７】実施の形態１にかかる送信回路から出力されるデータのタイミング波形である。
【図８】実施の形態１にかかる送信回路から出力されるシリアルデータのタイミング波形である。
【図９】実施の形態１にかかる受信回路において受信するデータのタイミング波形の図である。
【図１０】実施の形態２にかかる送信回路の構成図である。
【図１１】実施の形態３にかかる受信回路の構成図である。
【図１２】実施の形態４にかかる受信回路の構成図である。
【図１３】一般的な複数レーンを用いたデータ送信を行う送信回路の構成図である。
【図１４】一般的な複数レーンを用いたデータ受信を行う受信回路の構成図である。
【図１５】一般的な送信回路から出力されるデータのタイミング波形である。
【図１６】一般的な送信回路から出力されるシリアルデータのタイミング波形である。
【図１７】一般的な受信回路において受信するデータのタイミング波形の図である。
【発明を実施するための形態】
【００２４】
（実施の形態１）
以下、図面を参照して本発明の実施の形態について説明する。図１を用いて本発明の実施の形態１にかかる送信回路の構成例について説明する。送信回路は、８Ｂ１０Ｂ変換部１１〜１４と、タイミング制御部２１と、タイミング調整部３１〜３４と、マルチプレクサ（Ｍｕｘ）４１〜４４と、送信部５１〜５４と、を備えている。また、送信部５１〜５４と、Ｍｕｘ４１〜４４とは、物理レイヤにおけるデータ処理を実行する。
【００２５】
８Ｂ１０Ｂ変換部１１と、タイミング調整部３１と、Ｍｕｘ４１と、送信部５１とが接続され、第１のレーンを形成する。同様に、８Ｂ１０Ｂ変換部１２と、タイミング調整部３２と、Ｍｕｘ４２と、送信部５２とが接続され、第２のレーンを形成し、８Ｂ１０Ｂ変換部１３と、タイミング調整部３３と、Ｍｕｘ４３と、送信部５３とが接続され、第３のレーンを形成し、８Ｂ１０Ｂ変換部１４と、タイミング調整部３４と、Ｍｕｘ４４と、送信部５４とが接続され、第４のレーンを形成する。送信回路に形成されるレーンの数は、４レーンに制限されず、任意のレーン数を形成することができる。
【００２６】
８Ｂ１０Ｂ変換部１１〜１４は、高速シリアル転送を実行するにあたり、８ビットのデータを１０ビットに変換する。さらに、８Ｂ１０Ｂ変換部１１〜１４は、変換した１０ビットデータをタイミング調整部３１〜３４へ出力する。８ビットデータを１０ビットデータに変換することにより、対向装置において復調されるデータと、クロックとを同一の配線にて送信することができる。
【００２７】
また、高速シリアルインタフェースのＰＣＩ Ｅｘｐｒｅｓｓ規格においては、１２８ビットデータを１３０ビットデータへ変換する１２８Ｂ１３０Ｂ変換部が用いられる場合もある。そのため、８Ｂ１０Ｂ変換部１１〜１４のかわりに、例えば１２８Ｂ１３０Ｂ変換部等の、異なる変換率を有する変換部が用いられてもよい。
【００２８】
タイミング調整部３１〜３４は、８Ｂ１０Ｂ変換部１１〜１４から受け取ったデータを一時的に保存し、Ｍｕｘ４１〜４４へ出力する。タイミング調整部３１〜３４は、データを一時的に保存するため、バッファにより構成される。たとえば、タイミング調整部３１〜３４は、ＦＩＦＯバッファにより構成されてもよい。また、タイミング調整部３１〜３４は、データの出力タイミングを遅延させる遅延回路等を用いて構成されてもよい。タイミング調整部３１〜３４は、同一のクロックを用いて制御される。
【００２９】
タイミング調整部３１〜３４は、タイミング制御部２１からデータの出力タイミングを通知される。タイミング調整部３１〜３４は、通知された出力タイミングに基づいてデータをＭｕｘ４１〜４４へ出力する。それぞれのタイミング調整部３１〜３４は、１クロック単位で他のタイミング調整部とデータの出力タイミングをずらすように制御される。例えば、タイミング調整部３２は、タイミング調整部３１よりも１クロック遅れてデータを出力するように制御され、タイミング調整部３３は、タイミング調整部３１よりも２クロック遅れてデータを出力するように制御されてもよい。
【００３０】
タイミング制御部２１は、タイミング調整部３１〜３４から出力されるデータのタイミングを１クロック単位でずらすように制御する。タイミング制御部２１は、それぞれのレーンにおける出力タイミングを遅らせるクロック数に関する情報を保持していてもよい。例えば、タイミング制御部２１は、タイミング調整部３１から出力するデータは遅延させず、タイミング調整部３２から出力するデータを１クロック遅延させ、タイミング調整部３３から出力するデータを２クロック遅延させ、タイミング調整部３４から出力するデータを１クロック遅延させる、等の情報を保持してもよい。
【００３１】
Ｍｕｘ４１〜４４は、タイミング調整部３１〜３４から出力されるパラレルデータをシリアルデータへ変換して送信部５１〜５４へ出力する。例えば、Ｍｕｘ４１〜４４は、パラレルデータとシリアルデータとの変換比率を１０対１又は２０対１等と設定して、シリアルデータを送信部５１〜５４へ出力する。例えば、Ｍｕｘ４１〜４４における変換比率は、送信回路の生産時に予め設定されてもよく、送信回路の生産後に外部装置等を用いて任意のタイミングに設定されてもよい。また、送信回路を用いるユーザは、外部装置等を用いて変換比率を任意の値に変更してもよい。
【００３２】
送信部５１〜５４は、Ｍｕｘ４１〜４４から受け取ったシリアルデータを、対向装置の受信回路へ送信する。送信部５１〜５４は、対向装置に対して、シリアルデータを無線通信により送信してもよく、有線通信により送信してもよい。もしくは、送信部５１〜５４は、Ｍｕｘ４１〜４４から受け取ったシリアルデータを、送信回路と同一の装置に備えられている受信回路に対して送信してもよい。送信部５１〜５４は、Ｍｕｘ４１〜４４から受け取ったシリアルデータを差動信号として受信回路へ送信してもよい。
【００３３】
続いて、図２を用いて本発明の実施の形態１にかかる受信回路の構成例について説明する。受信回路は、１０Ｂ８Ｂ変換部１５〜１８と、Ｅｌａｓｔｉｃ Ｂｕｆｆｅｒ（ＥＢ）３５〜３８と、デマルチプレクサ（ＤｅＭｕｘ）４５〜４８と、受信部５５〜５８と、レーン間同期回路６１〜６４と、判定部７１と、を備えている。また、受信部５５〜５８と、ＤｅＭｕｘ４５〜４８とは、物理レイヤにおけるデータ処理を実行する。本図においては、レーン間同期回路６１〜６４は、物理的に分離された回路として示されているが、１０Ｂ８Ｂ変換部１５〜１８からデータを集約して受け取る一つの回路として配置されてもよい。
【００３４】
受信部５５と、ＤｅＭｕｘ４５と、ＥＢ３５と、１０Ｂ８Ｂ変換部１５と、レーン間同期回路６１とが接続され、第１のレーンを形成する。同様に、受信部５６と、ＤｅＭｕｘ４６と、ＥＢ３６と、１０Ｂ８Ｂ変換部１６と、レーン間同期回路６２とが接続され第２のレーンを形成し、受信部５７と、ＤｅＭｕｘ４７と、ＥＢ３７と、１０Ｂ８Ｂ変換部１７と、レーン間同期回路６３とが接続され第３のレーンを形成し、受信部５８と、ＤｅＭｕｘ４８と、ＥＢ３８と、１０Ｂ８Ｂ変換部１８と、レーン間同期回路６４とが接続され第４のレーンを形成する。受信回路に形成されるレーンの数は、４レーンに制限されず、任意のレーン数を形成することができる。
【００３５】
受信部５５〜５８は、対向装置もしくは同一装置内の送信回路から送信されたシリアルデータを受け取り、受け取ったシリアルデータをＤｅＭｕｘ４５〜４８へ出力する。ＤｅＭｕｘ４５〜４８は、シリアルデータをパラレルデータへ変換する。さらに、ＤｅＭｕｘ４５〜４８は、パラレルデータをＥＢ３５〜３８へ出力する。例えば、ＤｅＭｕｘ４５〜４８は、シリアルデータとパラレルデータとの変換比率を１対１０又は１対２０等と設定して、パラレルデータをＥＢ３５〜３８へ出力する。さらに、ＤｅＭｕｘ４５〜４８における変換比率は、受信回路の生産時に予め設定されてもよく、外部装置等を用いて製造後の任意のタイミングに設定されてもよい。また、受信回路を用いるユーザは、外部装置等を用いて変換比率を任意の値に変更してもよい。
【００３６】
ＥＢ３５〜３８は、物理レイヤにおける処理を実行するＤｅＭｕｘ４５〜４８から出力されたデータを、データリンクレイヤ以降のレイヤにおける機能ブロックへ出力するために一時的に保存する。
【００３７】
１０Ｂ８Ｂ変換部１５〜１８は、ＥＢ３５〜３８に保存された１０ビットのデータを８ビットデータへ変換する。さらに、１０Ｂ８Ｂ変換部１５〜１８は、変換した８ビットデータをレーン間同期回路６１〜６４へ出力する。１０Ｂ８Ｂ変換部１５〜１８は、１０ビットデータに含まれるクロックデータと、クロックデータを用いて復調等されるデータとを抽出する。また、対向装置もしくは同一装置内の送信回路においてＰＣＩ Ｅｘｐｒｅｓｓ規格が適用され、さらに１２８Ｂ１３０Ｂ変換部が用いられている場合、受信回路は、１０Ｂ８Ｂ変換部のかわりに１３０Ｂ１２８Ｂ変換部が用いられてもよい。
【００３８】
レーン間同期回路６１〜６４は、１０Ｂ８Ｂ変換部１５〜１８から受け取ったデータのレーン間におけるタイミングずれを補正し、レーン間のデータ出力タイミングを同期させて判定部７１へデータを出力する。レーン間同期回路６１〜６４は、第１〜第４のレーンに共通に用いられているクロックを用いて、同一のクロックタイミングにデータを出力するように、レーン間におけるタイミングずれを補正する。レーン間同期回路６１〜６４が受け取るデータは、対向装置もしくは受信回路と同一装置内の送信回路において、１クロック単位にデータに遅延が与えられている。そのため、レーン間同期回路６１〜６４は、数クロック分ずれたデータを、同一のクロックタイミングにデータを出力するように、レーン間におけるタイミングずれを補正する。
【００３９】
判定部７１は、レーン間同期回路６１〜６４から出力されたデータを受け取り、受信タイミングが一致しているか否かを判定する。判定部７１は、受信タイミングが一致しているか否かに関する判定結果をユーザが確認可能な表示部等へ出力し、ユーザへ通知してもよい。判定結果を確認するユーザは、受信タイミングが一致している場合に、レーン間同期回路６１〜６４が正常に動作し、受信タイミングが異なる場合に、レーン間同期回路６１〜６４が正常に動作していないと認識することができる。
【００４０】
以上説明したように、図１の送信回路に、タイミング制御部２１及びタイミング調整部３１〜３４を用いることにより、送信回路から出力されるデータのレーン間の出力タイミングをずらすことができる。そのため、送信回路と受信回路との間における環境の変化等が発生する可能性が低く、通常はレーン間におけるデータの出力タイミングずれが発生しない試験環境においても、レーン間におけるデータの出力タイミングずれを発生させることができる。
【００４１】
続いて、図３及び図４を用いて、タイミング制御部２１及びタイミング調整部３１の構成例について説明する。タイミング調整部３１〜３４は、同一の構成であるため、タイミング調整部３２〜３４の詳細な説明を省略する。
【００４２】
タイミング制御部２１は、遅延クロック情報保持部２２と、Ｒｅｇｉｓｔｅｒ部２３とを備えている。遅延情報保持部２２は、それぞれのレーンのタイミング調整部に保持されているデータに与える遅延に関する情報を保持している。
【００４３】
Ｒｅｇｉｓｔｅｒ部２３は、複数のＲｅｇｉｓｔｅｒを有している。Ｒｅｇｉｓｔｅｒ部２３は、送信回路におけるレーン数と同数のＲｅｇｉｓｔｅｒを有している。図１の送信回路は、第１〜第４のレーンを有しているため、Ｒｅｇｉｓｔｅｒ部２３は、４つのＲｅｇｉｓｔｅｒを有している。また、Ｒｅｇｉｓｔｅｒ部２３が有するＲｅｇｉｓｔｅｒは、例えば３ビットデータを格納できるデータ領域を有する。この場合、それぞれのＲｅｇｉｓｔｅｒは、最大７クロック分の遅延をデータに与えることができる。データに与える遅延に応じて、Ｒｅｇｉｓｔｅｒのデータ領域を変更してもよい。例えば、７クロックより大きい遅延をデータに与える場合は、Ｒｅｇｉｓｔｅｒのデータ領域を３ビットより大きくしてもよい。
【００４４】
Ｒｅｇｉｓｔｅｒ部２３が有するそれぞれのＲｅｇｉｓｔｅｒは、タイミング調整部３１〜３４のいずれかを制御する。例えば、Ｒｅｇｉｓｔｅｒ部２３が有する１つ目のＲｅｇｉｓｔｅｒは、タイミング調整部３１のデータに与える遅延を制御し、２つ目のＲｅｇｉｓｔｅｒは、タイミング調整部３２のデータに与える遅延を制御し、３つ目のＲｅｇｉｓｔｅｒは、タイミング調整部３３のデータに与える遅延を制御し、４つ目のＲｅｇｉｓｔｅｒは、タイミング調整部３４のデータに与える遅延を制御する。
【００４５】
続いて、図４を用いてタイミング調整部３１の構成例について説明する。タイミング調整部３１は、Ｒｅａｄ  Ｃｏｕｎｔｅｒ８０と、Ｗｒｉｔｅ  Ｃｏｕｎｔｅｒ８１と、Ｒｅｇｉｓｔｅｒ部８２と、出力セレクタ８３と、を備えている。
【００４６】
Ｒｅｇｉｓｔｅｒ部８２は、Ｒｅｇｉｓｔｅｒ１〜６を有している。Ｒｅｇｉｓｔｅｒ１〜６は、８Ｂ１０Ｂ変換部１１から出力されたデータを格納する。
【００４７】
Ｗｒｉｔｅ  Ｃｏｕｎｔｅｒ８１は、ある初期値（例えば０）から、０、１、２、３、４、５、０、１、２、３、４、５・・・のように、ロールオーバーしながらカウントし続け、８Ｂ１０Ｂ変換部１１から出力されるデータの格納先を指定する。例えば、Ｗｒｉｔｅ  Ｃｏｕｎｔｅｒ８１のカウント値が０の場合、Ｒｅｇｉｓｔｅｒ１にデータが格納され、カウント値が１の場合Ｒｅｇｉｓｔｅｒ２にデータが格納され、カウント値が２の場合Ｒｅｇｉｓｔｅｒ３にデータが格納され、カウント値が３の場合Ｒｅｇｉｓｔｅｒ４にデータが格納され、カウント値が４の場合Ｒｅｇｉｓｔｅｒ５にデータが格納され、カウント値が５の場合Ｒｅｇｉｓｔｅｒ６にデータが格納される。
【００４８】
Ｒｅａｄ  Ｃｏｕｎｔｅｒ８０は、ある初期値（例えば０）から、０、１、２、３、４、５、０、１、２、３、４、５・・・のように、ロールオーバーしながらカウントし続け、データを読み出すＲｅｇｉｓｔｅｒ１〜６を指定する。例えば、Ｒｅａｄ  Ｃｏｕｎｔｅｒ８０のカウント値が０の場合、Ｒｅｇｉｓｔｅｒ１に格納されているデータを読み出し、カウント値が１の場合Ｒｅｇｉｓｔｅｒ２に格納されているデータを読み出し、カウント値が２の場合Ｒｅｇｉｓｔｅｒ３に格納されているデータを読み出し、カウント値が３の場合Ｒｅｇｉｓｔｅｒ４に格納されているデータを読み出し、カウント値が４の場合Ｒｅｇｉｓｔｅｒ５に格納されているデータを読み出し、カウント値が５の場合Ｒｅｇｉｓｔｅｒ６に格納されているデータを読み出す。
【００４９】
Ｒｅａｄ  Ｃｏｕｎｔｅｒ８０は、タイミング制御部２１から、遅延クロック数に関する情報を受け取る。つまり、タイミング制御部２１からカウント値の初期値に関する情報を受け取る。そのため、Ｒｅａｄ  Ｃｏｕｎｔｅｒ８０は、Ｒｅｇｉｓｔｅｒ部２３が有するＲｅｇｉｓｔｅｒと同一、もしくはＲｅｇｉｓｔｅｒ部２３が有するＲｅｇｉｓｔｅｒより大きいデータ領域を有する。つまり、Ｒｅｇｉｓｔｅｒ部２３のそれぞれのＲｅｇｉｓｔｅｒが３ビットのデータ領域を有している場合、Ｒｅａｄ  Ｃｏｕｎｔｅｒ８０も３ビット以上のデータ領域を有する。Ｒｅｇｉｓｔｅｒ部８２は、８Ｂ１０Ｂ変換部１１から出力されるデータに与える最大遅延クロック数分だけＲｅｇｉｓｔｅｒを有する。
【００５０】
例えば、タイミング調整部３１は、入力されるデータに対して最大６クロックの遅延を与える場合、Ｒｅｇｉｓｔｅｒ部８２は、６個のＲｅｇｉｓｔｅｒ１〜６を備えるようにする。さらに、Ｒｅｇｉｓｔｅｒ部８２のＲｅｇｉｓｔｅｒ１〜６は、８Ｂ１０Ｂ変換部１１から出力される１０ビットのパラレルデータを受け取ることができるよう、１０ビットのデータ領域を有する。
【００５１】
出力セレクタ８３は、８Ｂ１０Ｂ変換部１１から受け取ったデータと、Ｒｅｇｉｓｔｅｒ部８２から受け取ったデータとのいずれかを選択し、選択したデータをＭｕｘ４１へ出力する。出力セレクタ８３は、Ｒｅａｄ  Ｃｏｕｎｔｅｒ８０へ出力される遅延クロックに関する情報に基づいて、選択するデータを決定する。例えば、タイミング制御部２１から出力される信号において、初期値に関する情報が設定されていない場合等、つまり８Ｂ１０Ｂ変換部１１から受け取ったデータに対して遅延を与えない場合、出力セレクタ８３は、８Ｂ１０Ｂ変換部１１から受け取ったデータを選択する。タイミング制御部２１から出力される信号において、出力される初期値に関する情報に値が設定されている場合、つまりデータに対して１クロック以上の遅延を与える場合、Ｒｅｇｉｓｔｅｒ部８２から受け取ったデータを選択する。例えば、１クロックの遅延を与える場合には、Ｒｅａｄ  Ｃｏｕｎｔｅｒ８０の初期値を５に設定し、２クロックの遅延を与える場合には、Ｒｅａｄ  Ｃｏｕｎｔｅｒ８０の初期値を４に設定し、３クロックの遅延を与える場合には、Ｒｅａｄ  Ｃｏｕｎｔｅｒ８０の初期値を３に設定し、４クロックの遅延を与える場合には、Ｒｅａｄ  Ｃｏｕｎｔｅｒ８０の初期値を２に設定し、５クロックの遅延を与える場合には、Ｒｅａｄ  Ｃｏｕｎｔｅｒ８０の初期値を１に設定し、６クロックの遅延を与える場合には、Ｒｅａｄ  Ｃｏｕｎｔｅｒ８０の初期値を０に設定する。
【００５２】
続いて、図５及び図６を用いて、タイミング制御部２１及びタイミング調整部３１〜３４の具体的な動作について説明する。例えば、図１の第１のレーンのデータに１クロック分の遅延を与え、第２のレーンのデータに２クロック分の遅延を与え、第３のレーンのデータに３クロック分の遅延を与え、第４のレーンのデータに６クロック分の遅延を与える場合におけるデータの書き込み及び読み出し動作について説明する。
【００５３】
はじめに、遅延情報保持部２２において、タイミング調整部３２に保持されるデータに与える遅延に関する情報を保持する。次に、Ｒｅｇｉｓｔｅｒ部２３は、遅延情報保持部２２に規定されている情報を読み出し、第１のレーンを制御する１つ目のＲｅｇｉｓｔｅｒに対して１クロック分の遅延を与えるために、初期値「５」を設定し、第２のレーンを制御する２つ目のＲｅｇｉｓｔｅｒに対して２クロック分の遅延を与えるために初期値「４」を設定し、第３のレーンを制御する３つ目のＲｅｇｉｓｔｅｒに対して３クロック分の遅延を与えるために初期値「３」を設定し、第４のレーンを制御する４つ目のＲｅｇｉｓｔｅｒに対して、６クロック分の遅延を与えるために初期値「０」を設定する。次に、Ｒｅｇｉｓｔｅｒ部２３のそれぞれのＲｅｇｉｓｔｅｒに設定された初期値に関する情報が、タイミング調整部３２のＲｅａｄ  Ｃｏｕｎｔｅｒ８０に設定される。
【００５４】
ここで、図５を用いてデータの書き込み動作について説明する。タイミング調整部３１〜３４のＲｅｇｉｓｔｅｒ部８２には、Ｗｒｉｔｅ  Ｃｏｕｎｔｅｒ８１の制御によりデータが書き込まれている。例えば、タイミング調整部３１のＲｅｇｉｓｔｅｒ部８２においては、Ｗｒｉｔｅ  Ｃｏｕｎｔｅｒ＝０の場合、Ｒｅｇｉｓｔｅｒ１にデータＤ０が書込まれ、Ｗｒｉｔｅ  Ｃｏｕｎｔｅｒ＝１の場合、Ｒｅｇｉｓｔｅｒ２にデータＤ４が書込まれる。以降、図５に示すようにデータがＲｅｇｉｓｔｅｒに書込まれる。タイミング調整部３２〜３４のＲｅｇｉｓｔｅｒ部８２においても同様に、Ｗｒｉｔｅ  Ｃｏｕｎｔｅｒ＝０の場合、Ｒｅｇｉｓｔｅｒ１にデータが書き込まれ、Ｗｒｉｔｅ  Ｃｏｕｎｔｅｒ＝１の場合、Ｒｅｇｉｓｔｅｒ２にデータが書き込まれていく。
【００５５】
続いて、図６を用いてデータの読み出し動作について説明する。タイミング調整部３１のＲｅａｄ  Ｃｏｕｎｔｅｒ８０は、タイミング制御部２１から初期値５を受け取るため、はじめに、Ｒｅｇｉｓｔｅｒ６に書込まれているデータを読み出す。タイミング制御部３２のＲｅａｄ  Ｃｏｕｎｔｅｒ８０は、タイミング制御部２１から初期値４を受け取るため、Ｒｅｇｉｓｔｅｒ５に書込まれているデータを読み出す。最初にデータを読み出すタイミングにおいては、Ｒｅｇｉｓｔｅｒ５及び６にはデータが書き込まれていないため、空のデータが読み出される。
【００５６】
タイミング制御部３３のＲｅａｄ  Ｃｏｕｎｔｅｒ８０は、タイミング制御部２１から初期値３を受け取るため、Ｒｅｇｉｓｔｅｒ４に書込まれているデータを読み出す。最初にデータを読み出すタイミングにおいては、Ｒｅｇｉｓｔｅｒ４にはデータが書き込まれていないため、空のデータが読み出される。タイミング制御部３４のＲｅａｄ  Ｃｏｕｎｔｅｒ８０は、タイミング制御部２１から初期値０を受け取るため、Ｒｅｇｉｓｔｅｒ１に書込まれているデータを読み出す。最初にデータを読み出すタイミングにおいては、Ｒｅｇｉｓｔｅｒ１にはデータが書き込まれていないため、空のデータが読み出される。ここで、タイミング調整部３１〜３４のＲｅａｄ  Ｃｏｕｎｔｅｒ８０による制御は、Ｗｒｉｔｅ  Ｃｏｕｎｔｅｒ８１による制御から１クロック遅れて行われるとする。
【００５７】
次のクロックタイミングにおいて、Ｒｅａｄ  Ｃｏｕｎｔｅｒ８０のカウント値は、１つ増加し、Ｒｅａｄ  Ｃｏｕｎｔｅｒ８０は、それぞれのカウント値に応じたＲｅｇｉｓｔｅｒのデータを読み出す。
【００５８】
このように、タイミング調整部３１〜３４のＲｅａｄ  Ｃｏｕｎｔｅｒ８０は、それぞれ他のタイミング調整部と異なる初期値を与えられることにより、任意のクロック数分の遅延を設定することができる。
【００５９】
続いて、図７を用いて本発明の実施の形態１にかかる送信回路から出力されるデータのタイミング波形について説明する。図７におけるＡ〜Ｄは、図１における８Ｂ１０Ｂ変換部１１〜１４から出力されるデータのタイミング波形を示している。図７のＡ〜Ｄにおいては、基準となるクロックに同期して、８Ｂ１０Ｂ変換部１１〜１４から出力されるデータの出力タイミングが揃っていることを示している。
【００６０】
図７におけるＥ〜Ｈは、図１におけるタイミング調整部３１〜３４から出力されるデータのタイミング波形を示している。図７のＥ〜Ｈにおいては、タイミング調整部３１から出力されるデータは、セレクタ８３から直接出力されるデータと比較して１クロック遅延し、タイミング調整部３２から出力されるデータは、セレクタ８３から直接出力されるデータと比較して２クロック遅延し、タイミング調整部３３から出力されるデータは、セレクタ８３から直接出力されるデータと比較して３クロック遅延し、タイミング調整部３４から出力されるデータは、セレクタ８３から直接出力されるデータと比較して６クロック以上遅延していることを示している。また、図８のシリアルデータ出力１ｃｈ〜４ｃｈは、送信部５１〜５４から出力されるシリアルデータを示している。ここでは、シリアルデータもＥ〜Ｈにおけるパラレルデータと同様に遅延が与えられていることが示されている。
【００６１】
続いて、図９を用いて本発明の実施の形態１にかかる受信回路において受信するデータのタイミング波形について説明する。図９のＩ〜Ｌは、図２におけるレーン間同期回路６１〜６４へ出力されるデータのタイミング波形を示している。図９のＩ〜Ｌに示されているデータは、図７のＥ〜Ｈにおけるデータと基本的に同一である。なぜなら、レーン間同期回路６１〜６４の動作確認を行う場合には、送信回路と受信回路とは、同一の部屋に配置されるなどして、送信回路と受信回路との間の距離が近いため、ボード上の配線長や、ケーブル長が、送信回路と受信回路との間の各レーン間で差が付きにくくなり、無線通信環境の変化によりデータが遅延する可能性が低いからである。図９のＭ〜Ｐは、図２におけるレーン間同期回路６１〜６４から出力されるデータのタイミング波形を示している。図９のＭ〜Ｐに示されているデータは、レーン間同期回路６１〜６４から出力されるデータのタイミングが揃っていることを示している。図９のように、レーン間同期回路６１〜６４において異なるタイミングに受け取られたデータが、レーン間同期回路６１〜６４から出力される際に、同一の出力タイミングで出力される場合、レーン間同期回路６１〜６４が正常に動作していると判定することができる。
【００６２】
以上説明したように、本発明の実施の形態１にかかる送信回路及び受信回路を用いることにより、送信回路において任意のクロック数分の遅延を与えることができ、さらに、受信回路において、遅延が与えられたデータの出力タイミングを同期させるレーン間同期回路が正常に動作しているか否かを判定することができる。このように送信回路において、任意のクロック数分の遅延を与えることにより、受信回路の外部の配線長を長くする等してデータに遅延を与える必要がなくなる。
【００６３】
さらに、Ｍｕｘ４１〜４４へデータが入力される前のデータに関してタイミング制御部２１及びタイミング調整部３１〜３４を用いて遅延制御を行うことにより、シリアルデータで高速動作をしているＭｕｘ４１〜４４以降に回路を増設等する必要がない。例えば、シリアルデータを処理する回路が、１ｂｉｔデータを処理するために２．５ＧＨｚの周波数で動作している場合、パラレルデータを処理する回路においては、１０ｂｉｔデータを処理するために２５０ＭＨｚの周波数で動作することになる。本実施の形態１のようにパラレルデータを処理する回路において１クロックの遅延を与えるのと同様にシリアルデータを処理する回路において１クロックの遅延を与える場合には、シリアルデータを処理する回路においては、２．５ＧＨｚで１０クロックカウントを実行する回路が必要になる。
【００６４】
さらに、送信回路にタイミング制御部２１及びタイミング調整部３１〜３４を配置することにより、送信側にてデータに遅延を与えることができるため、例えば、送信回路と受信回路との製造メーカが異なる場合においても、受信回路におけるレーン間同期回路の動作確認を行うことができる。
【００６５】
さらに、送信回路においては、それぞれのレーンが、共通のクロックにおいてデータを出力するタイミングをずらすことができるため、それぞれのデータに遅延を与えるために複数のクロックを用意する必要がなく、回路規模の増大を抑制することができる。
【００６６】
（実施の形態２）
続いて、図１０を用いて本発明の実施の形態２にかかる送信回路の構成例について説明する。本図の送信回路は、８Ｂ１０Ｂ変換部１１〜１４と、タイミング制御部２１と、Ｍｕｘ４１〜４４と、送信部５１〜５４と、タイミング調整部８４〜８７と、を備えている。本図におけるタイミング調整部８４〜８７は、Ｍｕｘ４１〜４４と、送信部５１〜５４との間に接続されている。
【００６７】
つまり、８Ｂ１０Ｂ変換部１１と、Ｍｕｘ４１と、タイミング調整部８４と、送信部５１とが接続され、第１のレーンを形成する。同様に、８Ｂ１０Ｂ変換部１２と、Ｍｕｘ４２と、タイミング調整部８５と、送信部５２とが接続され、第２のレーンを形成し、８Ｂ１０Ｂ変換部１３と、Ｍｕｘ４３と、タイミング調整部８６と、送信部５３とが接続され、第３のレーンを形成し、８Ｂ１０Ｂ変換部１４と、Ｍｕｘ４４と、タイミング調整部８７と、送信部５４とが接続され、第４のレーンを形成する。
【００６８】
８Ｂ１０Ｂ変換部１１〜１４は、高速シリアル転送を実行するにあたり、８ビットのデータを１０ビットに変換する。さらに、８Ｂ１０Ｂ変換部１１〜１４は、変換した１０ビットデータをＭｕｘ４１〜４４へ出力する。
【００６９】
Ｍｕｘ４１〜４４は、８Ｂ１０Ｂ変換部１１〜１４から出力されるパラレルデータをシリアルデータへ変換してタイミング調整部８４〜８７へ出力する。例えば、Ｍｕｘ４１〜４４は、パラレルデータとシリアルデータとの変換比率を１０対１又は２０対１等と設定して、シリアルデータをタイミング調整部８４〜８７へ出力する。
【００７０】
タイミング調整部８４〜８７は、Ｍｕｘ４１〜４４から受け取ったシリアルデータを一時的に保存し、送信部５１〜５４へ出力する。タイミング調整部８４〜８７は、データを一時的に保存するため、バッファにより構成される。たとえば、タイミング調整部８４〜８７は、ＦＩＦＯバッファにより構成されてもよい。また、タイミング調整部８４〜８７は、データの出力タイミングを遅延させる遅延回路等を用いて構成されてもよい。タイミング調整部８４〜８７は、それぞれ同一のクロックを用いて制御される。
【００７１】
図１のタイミング調整部３１〜３４がパラレルデータの出力タイミングを遅延させるのに対して、本図におけるタイミング調整部８４〜８７は、シリアルデータの出力タイミングを遅延させる。これにより、タイミング調整部８４〜８７は、シリアルデータ１ビット単位の細かい単位の遅延を付加することができる。
【００７２】
タイミング調整部８４〜８７は、タイミング制御部２１からデータの出力タイミングを通知され、通知された出力タイミングに基づいてデータを送信部５１〜５４へ出力する。それぞれのタイミング調整部８４〜８７は、１クロック単位で他のタイミング調整部とデータの出力タイミングをずらすように制御される。
【００７３】
タイミング制御部２１は、タイミング調整部８４〜８７から出力されるデータのタイミングを１クロック単位でずらすように制御する。タイミング制御部２１は、それぞれのレーンにおける出力タイミングを遅らせるクロック数に関する情報を保持していてもよい。
【００７４】
送信部５１〜５４は、タイミング調整部８４〜８７から受け取ったシリアルデータを、対向装置の受信回路へ送信する。もしくは、送信部５１〜５４は、タイミング調整部８４〜８７から受け取ったシリアルデータを、送信回路と同一の装置に備えられている受信回路に対して送信してもよい。送信部５１〜５４は、タイミング調整部８４〜８７から受け取ったシリアルデータを差動信号として対向装置もしくは受信回路に対して送信してもよい。
【００７５】
以上説明したように、送信回路にタイミング制御部２１及びタイミング調整部３１〜３４を配置することにより、実施の形態１と同様に、例えば、送信回路と受信回路との製造メーカが異なる場合においても、受信回路におけるレーン間同期回路の動作確認を行うことができる。
【００７６】
（実施の形態３）
続いて、図１１を用いて本発明の実施の形態３にかかる受信回路の構成例について説明する。受信回路は、１０Ｂ８Ｂ変換部１５〜１８と、Ｅｌａｓｔｉｃ Ｂｕｆｆｅｒ（ＥＢ）３５〜３８と、ＤｅＭｕｘ４５〜４８と、受信部５５〜５８と、レーン間同期回路６１〜６４と、判定部７１と、タイミング制御部２１と、タイミング調整部８８〜９１と、を備えている。本図におけるタイミング調整部８８〜９１は、１０Ｂ８Ｂ変換部１５〜１８と、レーン間同期回路６１〜６４との間に備えられている。また、本図の受信回路が用いられる場合、送信回路には、図１３において説明した送信回路が用いられる。つまり、タイミング調整部８８〜９１が受信回路に備えられる場合、送信回路には、タイミング調整部は不要となる。
【００７７】
受信部５５と、ＤｅＭｕｘ４５と、ＥＢ３５と、１０Ｂ８Ｂ変換部１５と、タイミング調整部８８と、レーン間同期回路６１とが接続され、第１のレーンを形成する。同様に、受信部５６と、ＤｅＭｕｘ４６と、ＥＢ３６と、１０Ｂ８Ｂ変換部１６と、タイミング調整部８９と、レーン間同期回路６２とが接続され第２のレーンを形成し、受信部５７と、ＤｅＭｕｘ４７と、ＥＢ３７と、１０Ｂ８Ｂ変換部１７と、タイミング調整部９０と、レーン間同期回路６３とが接続され第３のレーンを形成し、受信部５８と、ＤｅＭｕｘ４８と、ＥＢ３８と、１０Ｂ８Ｂ変換部１８と、タイミング調整部９１と、レーン間同期回路６４とが接続され第４のレーンを形成する。
【００７８】
受信部５５〜５８は、対向装置もしくは同一装置内の送信回路から送信されたシリアルデータを受け取り、受け取ったシリアルデータをＤｅＭｕｘ４５〜４８へ出力する。ＤｅＭｕｘ４５〜４８は、シリアルデータをパラレルデータへ変換する。さらに、ＤｅＭｕｘ４５〜４８は、パラレルデータをＥＢ３５〜３８へ出力する。例えば、ＤｅＭｕｘ４５〜４８は、シリアルデータとパラレルデータとの変換比率を１対１０又は１対２０等と設定して、パラレルデータをＥＢ３５〜３８へ出力する。
【００７９】
１０Ｂ８Ｂ変換部１５〜１８は、ＥＢ３５〜３８に保存された１０ビットのデータを８ビットデータへ変換する。さらに、１０Ｂ８Ｂ変換部１５〜１８は、変換した８ビットデータをタイミング調整部８８〜９１へ出力する。１０Ｂ８Ｂ変換部１５〜１８は、１０ビットデータに含まれるクロックデータと、クロックデータを用いて復調等されるデータとを抽出する。また、対向装置もしくは同一装置内の送信回路においてＰＣＩ Ｅｘｐｒｅｓｓ規格が適用され、１２８Ｂ１３０Ｂ変換部が用いられている場合、受信回路は、１０Ｂ８Ｂ変換部のかわりに１３０Ｂ１２８Ｂ変換部が用いられてもよい。
【００８０】
タイミング調整部８８〜９１は、１０Ｂ８Ｂ変換部１５〜１８から受け取った１０ビットのパラレルデータを一時的に保存し、レーン間同期回路６１〜６４へ出力する。タイミング調整部８８〜９１は、データを一時的に保存するため、バッファにより構成される。たとえば、タイミング調整部８８〜９１は、ＦＩＦＯバッファにより構成されてもよい。また、タイミング調整部８８〜９１は、データの出力タイミングを遅延させる遅延回路等を用いて構成されてもよい。タイミング調整部８８〜９１は、それぞれ同一のクロックを用いて制御される。
【００８１】
レーン間同期回路６１〜６４は、タイミング調整部８８〜９１から受け取ったデータのレーン間におけるタイミングずれを補正し、レーン間のデータ出力タイミングを同期させて判定部７１へデータを出力する。レーン間同期回路６１〜６４は、第１〜第４のレーンに共通に用いられているクロックを用いて、同一のクロックタイミングにデータを出力するように、レーン間におけるタイミングずれを補正する。レーン間同期回路６１〜６４が受け取るデータは、受信回路内のタイミング調整部８８〜９１において、クロック単位にデータに遅延が与えられている。そのため、レーン間同期回路６１〜６４は、数クロック分ずれたデータを、同一のクロックタイミングにデータを出力するように、レーン間におけるタイミングずれを補正する。
【００８２】
判定部７１は、レーン間同期回路６１〜６４から出力されたデータを受け取り、受信タイミングが一致しているか否かを判定する。
【００８３】
以上説明したように、本発明の実施の形態３における受信回路を用いることにより、送信回路においてデータの遅延を発生することができない場合においても、チップ外部の配線長等を変更することなく、レーン間同期回路の動作確認を行うことができる。
【００８４】
（実施の形態４）
続いて、図１２を用いて本発明の実施の形態４にかかる受信回路の構成例について説明する。受信回路は、１０Ｂ８Ｂ変換部１５〜１８と、Ｅｌａｓｔｉｃ Ｂｕｆｆｅｒ（ＥＢ）３５〜３８と、ＤｅＭｕｘ４５〜４８と、受信部５５〜５８と、レーン間同期回路６１〜６４と、判定部７１と、タイミング制御部９２〜９５と、を備えている。本図におけるタイミング制御部９２〜９５は、受信部５５〜５８と、ＤｅＭｕｘ４５〜４８との間に備えられている。また、本図の受信回路が用いられる場合、送信回路には、図１３において説明した送信回路が用いられる。
【００８５】
受信部５５と、タイミング調整部９２と、ＤｅＭｕｘ４５と、ＥＢ３５と、１０Ｂ８Ｂ変換部１５と、レーン間同期回路６１とが接続され、第１のレーンを形成する。同様に、受信部５６と、タイミング調整部９３と、ＤｅＭｕｘ４６と、ＥＢ３６と、１０Ｂ８Ｂ変換部１６と、レーン間同期回路６２とが接続され第２のレーンを形成し、受信部５７と、タイミング調整部９４と、ＤｅＭｕｘ４７と、ＥＢ３７と、１０Ｂ８Ｂ変換部１７と、レーン間同期回路６３とが接続され第３のレーンを形成し、受信部５８と、タイミング調整部９５と、ＤｅＭｕｘ４８と、ＥＢ３８と、１０Ｂ８Ｂ変換部１８と、レーン間同期回路６４とが接続され第４のレーンを形成する。
【００８６】
受信部５５〜５８は、対向装置もしくは送信回路から送信されたシリアルデータを受け取り、受け取ったシリアルデータをタイミング制御部９２〜９５へ出力する。
【００８７】
タイミング制御部９２〜９５は、受信部５５〜５８から受け取ったシリアルデータを一時的に保存し、ＤｅＭｕｘ４５〜４８へ出力する。タイミング制御部９２〜９５は、データを一時的に保存するため、バッファにより構成される。たとえば、タイミング制御部９２〜９５は、ＦＩＦＯバッファにより構成されてもよい。また、タイミング制御部９２〜９５は、データの出力タイミングを遅延させる遅延回路等を用いて構成されてもよい。タイミング制御部９２〜９５は、それぞれ同一のクロックを用いて制御される。
【００８８】
ＤｅＭｕｘ４５〜４８は、タイミング制御部９２〜９５から受け取ったシリアルデータをパラレルデータへ変換する。さらに、ＤｅＭｕｘ４５〜４８は、パラレルデータをＥＢ３５〜３８へ出力する。例えば、ＤｅＭｕｘ４５〜４８は、シリアルデータとパラレルデータとの変換比率を１対１０又は１対２０等と設定して、パラレルデータをＥＢ３５〜３８へ出力する。
【００８９】
１０Ｂ８Ｂ変換部１５〜１８は、ＥＢ３５〜３８に保存された１０ビットのデータを８ビットデータへ変換する。さらに、１０Ｂ８Ｂ変換部１５〜１８は、変換した８ビットデータをレーン間同期回路６１〜６４へ出力する。１０Ｂ８Ｂ変換部１５〜１８は、１０ビットデータに含まれるクロックデータと、クロックデータを用いて復調等されるデータとを抽出する。また、対向装置もしくは送信回路においてＰＣＩ Ｅｘｐｒｅｓｓ規格が適用され、１２８Ｂ１３０Ｂ変換部が用いられている場合、受信回路は、１０Ｂ８Ｂ変換部のかわりに１３０Ｂ１２８Ｂ変換部が用いられてもよい。
【００９０】
レーン間同期回路６１〜６４は、１０Ｂ８Ｂ変換部１５〜１８から受け取ったデータのレーン間におけるタイミングずれを補正し、レーン間のデータ出力タイミングを同期させて判定部７１へデータを出力する。レーン間同期回路６１〜６４は、第１〜第４のレーンに共通に用いられているクロックを用いて、同一のクロックタイミングにデータを出力するように、レーン間におけるタイミングずれを補正する。レーン間同期回路６１〜６４が受け取るデータは、受信回路内のタイミング制御部９２〜９５において、クロック単位にデータに遅延が与えられている。そのため、レーン間同期回路６１〜６４は、数クロック分ずれたデータを、同一のクロックタイミングにデータを出力するように、レーン間におけるタイミングずれを補正する。
【００９１】
判定部７１は、レーン間同期回路６１〜６４から出力されたデータを受け取り、受信タイミングが一致しているか否かを判定する。
【００９２】
以上説明したように、本発明の実施の形態４にかかる受信回路は、送信回路においてデータの遅延を発生することができない場合においても、チップ外部の配線長等を変更することなく、レーン間同期回路の動作確認を行うことができる。
【００９３】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【符号の説明】
【００９４】
１〜６  Ｒｅｇｉｓｔｅｒ
１１〜１４  ８Ｂ１０Ｂ変換部
１５〜１８  １０Ｂ８Ｂ変換部
２１  タイミング制御部
２２  遅延情報保持部
２３  Ｒｅｇｉｓｔｅｒ部
３１〜３４  タイミング調整部
３５〜３８  ＥＢ
４１〜４４  Ｍｕｘ
４５〜４８  ＤｅＭｕｘ
５１〜５４  送信部
５５〜５８  受信部
６１〜６４  レーン間同期回路
７１  判定部
８０  Ｒｅａｄ  Ｃｏｕｎｔｅｒ
８１  Ｗｒｉｔｅ  Ｃｏｕｎｔｅｒ
８２  Ｒｅｇｉｓｔｅｒ部
８３  出力セレクタ
８４〜８７  タイミング調整部
８８〜９１  タイミング調整部
９２〜９５  タイミング制御部
【図１】
2013152548.tif 000003
【図２】
2013152548.tif 000004
【図３】
2013152548.tif 000005
【図４】
2013152548.tif 000006
【図５】
2013152548.tif 000007
【図６】
2013152548.tif 000008
【図７】
2013152548.tif 000009
【図８】
2013152548.tif 000010
【図９】
2013152548.tif 000011
【図１０】
2013152548.tif 000012
【図１１】
2013152548.tif 000013
【図１２】
2013152548.tif 000014
【図１３】
2013152548.tif 000015
【図１４】
2013152548.tif 000016
【図１５】
2013152548.tif 000017
【図１６】
2013152548.tif 000018
【図１７】
2013152548.tif 000019