(57)【要約】【課題】動作中における最良のクロックポイントを動作を停止させずに決めることができ、しかもクロックマージンを把握可能な高速シリアルバスのクロック調整装置およびクロック調整方法を提供する。【解決手段】クロック調整部１００は、高速シリアルデータにおけるクロックポイントのうちの最良ポイントを決定する最良ポイント決定手段と、クロックポイントのうちの１または２以上を、高速シリアルデータを動作中に正しく受信できる有効範囲を決定するための決定用ポイントに設定する決定用ポイント設定手段と、最良ポイントの入力データと決定用ポイントの入力データとを比較する比較手段と、その比較結果に基づき決定用ポイントを更新するポイント更新手段と、更新された決定用ポイントに基づいて、有効範囲を保持する保持手段とを有している。【選択図】図２
2008079041.tif 000002
【特許請求の範囲】
【請求項１】
高速シリアルバスにおける入力データのクロックを調整するクロック調整装置であって、
前記入力データにおけるクロックポイントのうちの最良ポイントを決定する最良ポイント決定手段と、
前記クロックポイントのうちの１または２以上を、前記入力データを動作中に正しく受信できる有効範囲を決定するための決定用ポイントに設定する決定用ポイント設定手段と、
前記最良ポイント決定手段により決定された前記最良ポイントの前記入力データと前記決定用ポイント設定手段により設定された前記決定用ポイントの前記入力データとを比較する比較手段と、
該比較手段による比較結果に基づき前記決定用ポイントを更新するポイント更新手段と、
該ポイント更新手段により更新された前記決定用ポイントに基づいて、前記有効範囲を保持する保持手段とを有することを特徴とするクロック調整装置。
【請求項２】
前記有効範囲の中心値を算出する算出手段と、
該算出手段の算出結果に基づいて、前記最良ポイント決定手段により決定された前記最良ポイントを動作中に変更する最良ポイント変更手段とを更に有することを特徴とする請求項１記載のクロック調整装置。
【請求項３】
前記決定用ポイント設定手段により設定された前記決定用ポイントを記憶する記憶手段と、
該記憶手段に記憶されている前記決定用ポイントを読み出す読出手段とを更に有することを特徴とする請求項１または２記載のクロック調整装置。
【請求項４】
前記最良ポイント変更手段によって前記最良ポイントを動作中に変更するか否かを設定する設定手段を更に有することを特徴とする請求項１〜３のいずれか一項記載のクロック調整装置。
【請求項５】
前記入力データが複数ｂｉｔにより構成され、
前記入力データの各ｂｉｔをシフトさせるシフト値を記憶するシフト値記憶手段を更に有し、
該シフト値記憶手段に記憶されている前記シフト値に応じて、前記最良ポイントがシフトするように構成されている請求項１〜４のいずれか一項記載のクロック調整装置。
【請求項６】
前記更新手段は、前記有効範囲を狭める方向に前記決定用ポイントを更新し、前記有効範囲を広げる方向に前記決定用ポイントを更新しないように構成され、
前記有効範囲が最も狭かったときの前記決定用ポイントが最狭ポイントとして記憶される最狭ポイント記憶手段を更に有することを特徴とする請求項１〜５のいずれか一項記載のクロック調整装置。
【請求項７】
前記最狭ポイント記憶手段をリセットするリセット手段を更に有することを特徴とする請求項６記載のクロック調整装置。
【請求項８】
高速シリアルバスにおける入力データのクロックを調整するクロック調整方法であって、
前記入力データにおけるクロックポイントのうちの最良ポイントを決定し、
前記クロックポイントのうちの１または２以上を、前記入力データを動作中に正しく受信できる有効範囲を決定するための決定用ポイントに設定し、
決定された前記最良ポイントの前記入力データと設定された前記決定用ポイントの前記入力データとを比較し、
該比較結果に基づき前記決定用ポイントを更新し、
該更新された前記決定用ポイントに基づいて、前記有効範囲を保持することを特徴とするクロック調整方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、高速データ通信を行える高速シリアルバスのクロック調整装置およびクロック調整方法に関する。
【背景技術】
【０００２】
従来、データ通信には複数のデータ線を用いるパラレル通信方式と、１本のデータ線を用いるシリアル通信方式とがあった。このうち、シリアル通信方式では、半導体製造技術の微細化が進み動作周波数が向上したことから、高速伝送が実現できるようになっている。
【０００３】
シリアル通信方式で１Gbps（Bits  per  second）以上の伝送速度が実現できる規格としては、PCI  Express、シリアルATAなどがある。
【０００４】
ところで、データをシリアル通信方式により高速伝送する高速シリアルバスの中には、データの受信側にクロックポイントを決めるクロック調整装置が備えられているものもある。クロック調整装置は、決まったデータパターンを出力することにより、入力（送信）側のクロックポイントの中で最良のポイントを決定する機能(キャリブレーション)を備えている。
【０００５】
また、クロック調整装置は、実際の動作中は決められた１つのクロックポイントだけで作動するが、デバッグやマージン評価のためにクロックポイントを常時固定する機能や、レジスタ設定でクロックポイントを移動させる機能を有していることがあった。
【特許文献１】特開２００４−４６３９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、従来のクロック調整装置は、高速シリアルデータにおいて、キャリブレーションを行ってクロックポイントを決めてしまうと、それ以後の実動作中にクロックポイントの見直しを行わなかった。
【０００７】
そのため、従来のクロック調整装置では、動作中における温度や電圧の変動、また、シリコンの経年変化やデータパターンの組み合わせといった変動要因のため、最良のクロックポイントが決められたクロックポイントからずれることがあった。最良のクロックポイントがずれると、データの通信エラーをおこす頻度が上がるため、再度キャリブレーションを行いクロックポイントを決める必要があるが、そのためには、クロック調整装置の動作を停止しなければならなかった。
【０００８】
また、従来のクロック調整装置では、変動の許されるクロックマージンがどれだけあるかを把握することもできなかった。
【０００９】
この点、クロックの調整技術については例えば特許文献１にも開示されているが、この技術はクロック信号の遅延量を決められたタイミングでチューニングするものであり、この技術では本発明の課題を解決することはできなかった。
【００１０】
そこで、本発明は上記課題を解決するためになされたもので、動作中における最良のクロックポイントを動作を停止させずに決めることができ、しかもクロックマージンを把握可能な高速シリアルバスのクロック調整装置およびクロック調整方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するため、本発明は、高速シリアルバスにおける入力データのクロックを調整するクロック調整装置であって、入力データにおけるクロックポイントのうちの最良ポイントを決定する最良ポイント決定手段と、クロックポイントのうちの１または２以上を、入力データを動作中に正しく受信できる有効範囲を決定するための決定用ポイントに設定する決定用ポイント設定手段と、最良ポイント決定手段により決定された最良ポイントの入力データと決定用ポイント設定手段により設定された決定用ポイントの入力データとを比較する比較手段と、その比較手段による比較結果に基づき決定用ポイントを更新するポイント更新手段と、そのポイント更新手段により更新された決定用ポイントに基づいて、有効範囲を保持する保持手段とを有するクロック調整装置を特徴とする。
【００１２】
また、本発明は、高速シリアルバスにおける入力データのクロックを調整するクロック調整方法であって、入力データにおけるクロックポイントのうちの最良ポイントを決定し、クロックポイントのうちの１または２以上を、入力データを動作中に正しく受信できる有効範囲を決定するための決定用ポイントに設定し、決定された最良ポイントの入力データと設定された決定用ポイントの前記入力データとを比較し、その比較結果に基づき前記決定用ポイントを更新し、その更新された決定用ポイントに基づいて、有効範囲を保持するクロック調整方法を提供する。
【発明の効果】
【００１３】
以上詳述したように、本発明によれば、動作中における最良のクロックポイントを動作を停止させずに決めることができ、しかもクロックマージンを把握可能な高速シリアルバスのクロック調整装置およびクロック調整方法が得られる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態について説明する。なお、同一要素には同一符号を用い、重複する説明は省略する。
【００１５】
図１は、本発明の実施の形態に係るクロック調整装置が組み込まれた送受信処理モジュール３００の主な構成を示すブロック図である。送受信処理モジュール３００は、コーディングモジュール２５０と、メディアアタッチメントモジュール２６０とを有している。この送受信処理モジュール３００は、ＬＳＩ（チップ）とメモリとにおける高速データ通信に適用される。
【００１６】
コーディングモジュール２５０は、デコーダ１６０と、ＥＬＡＳＴＩＣバッファ１９０と、ＣＲＣ部２００と、コード処理部２１０とを有している。
【００１７】
デコーダ１６０は、メディアアタッチメントモジュール２６０に組み込まれているクロック調整部１００から出力されるデータを受けとってデコード処理を行い、復号化データをＥＬＡＳＴＩＣバッファ１９０に出力する。ＥＬＡＳＴＩＣバッファ１９０はデコーダ１６０から出力される復号化データを送信側デバイスの処理速度に応じて出力する。ＣＲＣ２００はＥＬＡＳＴＩＣバッファ１９０に記憶されている復号化データにＣＲＣコードを付加する。コード処理部２１０は送信側デバイスから出力される送信データ（ＴＸＤＡＴＡ）にエラーコードを付加して符号化処理（エンコード処理）を行い、メディアアタッチメントモジュール２６０に出力する。
【００１８】
メディアアタッチメントモジュール２６０は、クロック調整部１００と、受信バッファ１１０と、送信部２７０とを有している。
【００１９】
クロック調整部１００は、受信バッファ１１０から入力される高速シリアルデータについて、動作中における後述のクロックポイント調整を行って動作中における最良のクロックポイント（最良クロックポイント）を決定し、決定した最良クロックポイントに応じて受信バッファ１１０から入力される高速シリアルデータをパラレルデータに変換して出力する。
【００２０】
受信バッファ１１０は受信側デバイスから出力される高速シリアルデータ（ＲＸ＋、ＲＸ−）を記憶し、記憶した高速シリアルデータをクロック調整部１００の処理速度に応じて出力する。送信部２７０は、コーディングモジュール２５０から出力されるデータ（ＴＸ＋、ＴＸ−）を順次出力する。
【００２１】
次に、クロック調整部１００について、図２を参照して説明する。図２は、クロック調整部１００の内部構成の一例を示すブロック図である。クロック調整部１００は、クロック生成部１２０と、フリップフロップ１３１、１３２、１３３と、変換器１４１，１４２，１４３と、比較器１５１，１５２とを有している。クロック調整部１００の動作は図２に示したコントローラ９０により制御されている。
【００２２】
このクロック調整部１００は、受信バッファ１１０から入力される高速シリアルデータをフリップフロップ１３２で受け取ってクロックＣＬＫ２に応じて出力し、フリップフロップ１３２から出力される高速シリアルデータを変換器１４２によりパラレルデータに変換し、デコーダ１６０に出力するようになっている。
【００２３】
クロック調整部１００は、フリップフロップ１３２および変換器１４２からなるデータ処理ラインに対し、フリップフロップ１３１、１３３と、変換器１４１，１４３とが追加され、さらに、比較器１５１，１５２が追加された構成を有している。これらの追加された構成によって、動作中におけるクロックポイントを調整し得るようになっている。
【００２４】
そして、クロック生成部１２０はＰＬＬ回路１２１と、レジスタ１２２とを有している。ＰＬＬ回路１２１はフリップフロップ１３２、変換器１４２に出力されるクロックＣＬＫ２と、これと周波数の異なるクロックＣＬＫ１、ＣＬＫ３を生成して、それぞれをフリップフロップ１３１、１３３、変換器１４１，１４３に出力する。レジスタ１２２は、最初のキャリブレーションで検出した後述するＦＰ（ｆａｉｌ−ｐａｓｓ）ポイント、ＰＦ（ｐａｓｓ−ｆａｉｌ）ポイントなどのデータが記憶される（詳しくは後述する）各種の記憶手段としての機能を有している。
【００２５】
フリップフロップ１３１、１３３は、それぞれクロックＣＬＫ１、ＣＬＫ３を保持し、そのクロックＣＬＫ１、ＣＬＫ３に応じて受信バッファ１１０から入力される高速シリアルデータを出力する。変換器１４１，１４３は、それぞれフリップフロップ１３１、１３３から出力される高速シリアルデータをパラレルデータに変換して出力する。
【００２６】
比較器１５１は、変換器１４１，１４２で変換され、それぞれから出力されるパラレルデータを比較してその比較結果をレジスタ１２２に出力する。比較器１５２は、変換器１４２，１４３で変換され、それぞれから出力されるパラレルデータを比較してその比較結果をレジスタ１２２に出力する。
【００２７】
図３は、レジスタ１２２の内部の構成を模式的に示した図である。レジスタ１２２には、レジスタユニット１２２０がパラレルデータのｂｉｔ幅に応じて複数個(図では０からｎまでのｎ＋１個)設けられている。また、レジスタ１２２は、自動設定レジスタ１２３０と、オールシフト用レジスタ１２３１と、最狭ポイントレジスタ１２３２とを有している。
【００２８】
各レジスタユニット１２２０は、図３に示すように、初回ＦＰレジスタ１２２００と、初回ＰＦレジスタ１２２０１と、初回ＣＣＰレジスタ１２２０２とを有している。さらに、各レジスタユニット１２２０は、自動検出ＦＰレジスタ１２２０３と、自動検出ＰＦレジスタ１２２０４と、ＣＣＰ設定レジスタ１２２０５とを有している。
【００２９】
初回ＦＰレジスタ１２２００は、初回キャリブレーションで検出したＦＰポイントを読み出すレジスタである。初回ＰＦレジスタ１２２０１は、初回キャリブレーションで検出したＰＦポイントを読み出すレジスタである。
【００３０】
初回ＣＣＰレジスタ１２２０２は、初回キャリブレーションで設定したセンタークロックポイント（ＣＣＰといい、詳しくは後述する）を読み出すレジスタである。初回ＣＣＰレジスタ１２２０２は読み出し専用であり、ＣＣＰをずらす場合にはＣＣＰ設定レジスタ１２２０５に書き込むことによって安全なタイミングで初回ＣＣＰレジスタ１２２０２の値が変更されるようになっている。
【００３１】
自動検出ＦＰレジスタ１２２０３には、動作中に検出されるＦＰポイントが格納され、決定用ポイント記憶手段としての機能を有している。自動検出ＦＰレジスタ１２２０３の値は、動作中にＦＰポイントを移動させた場合における現在のＦＰポイントを示している。また、自動検出ＦＰレジスタ１２２０３は、ＦＰポイントが後述する有効範囲の縮小方向に移動したときにだけ値が変更されるように設定することができる。このようにすることにより、自動検出ＦＰレジスタ１２２０３から、動作中における有効範囲が最も狭くなるＦＰポイントの実績が読み出せるようにすることができる。
【００３２】
自動検出ＰＦレジスタ１２２０４には、動作中に検出されるＰＦポイントが格納され、決定用ポイント記憶手段としての機能を有している。自動検出ＰＦレジスタ１２２０４の値は、動作中にＰＦポイントを移動させた場合における現在のＰＦポイントを示している。また、自動検出ＰＦレジスタ１２２０４は、ＰＦポイントが有効範囲の縮小方向に移動したときにだけ値が変更されるように設定することができる。このようにすることにより、自動検出ＰＦレジスタ１２２０４から、動作中における有効範囲が最も狭くなるＰＦポイントの実績が読み出せるようにすることができる。
【００３３】
ＣＣＰ設定レジスタ１２２０５には、動作中にＣＣＰを変更する場合のＣＣＰが読み書きされる。ＣＣＰ設定レジスタ１２２０５は高速シリアルデータが途切れたタイミングで更新される。
【００３４】
自動設定レジスタ１２３０には、最良ポイントを動作中に変更するか否かを示すデータ（自動変更可否データ）が設定手段としてのコントローラ９０によって設定される。コントローラ９０はユーザの指示にしたがって自動変更可否データを設定している。自動設定レジスタ１２３０に自動変更可を示すデータが設定されていると、コントローラ９０が決定用ポイント更新処理を行い、最良ポイントを動作中に変更する。
【００３５】
オールシフト用レジスタ１２３１は、シフト値記憶手段であって、（ｎ＋１）ｂｉｔのパラレルデータにおいて、各ＣＣＰを一斉にプラスまたはマイナス方向にシフトするためのデータ（シフト用データ）が設定される。ここにシフト用データが設定されていると、その設定されているシフト用データに基づき、シフト手段としてのコントローラ９０がパラレルデータの各ｂｉｔをシフトさせる。最狭ポイントレジスタ１２３２には、動作中おける有効範囲が最も狭かったときのＦＰポイントおよびＰＦポイントがセットされる。
【００３６】
ここで、図４は、高速シリアルデータのアイパタン（高速シリアルデータを動作中に正しく受信できるクロックポイントの範囲、有効範囲ともいう）の一例をＦＰポイント、ＰＦポイントとともに示す図である。本実施の形態では、高速シリアルデータの１周期に複数のクロックポイントを任意に設定できることを前提としている。なお、図４では１周期に１〜１５まで１５個のクロックポイントを設定しているが、１５個とは別の個数のクロックポイントを設定してもよい。
【００３７】
そして、図４では、“４”で示すクロックポイントがＦａｉｌ（エラーの可能性がある領域）からＰａｓｓ（エラーの可能性がない領域）へ切り替わる点を示しており、これがＦＰポイントである。また、“１２”で示すクロックポイントがＰａｓｓからＦａｉｌへの切り替わる点を示しており、これがＰＦポイントである。ＦＰポイントとＰＦポイントは、実動作中に変動する有効範囲を決めるための決定ポイントとなっている。
【００３８】
ＦＰポイントとＰＦポイントの中間点がＦＰポイントおよびＰＦポイントまでのマージンが等しく、高速シリアルデータを正しく受信するために最良のクロックポイントとなるので、これを本実施の形態ではセンタークロックポイント（ＣＣＰともいう）としている。
【００３９】
次に、図５は、自動検出ＦＰレジスタ１２２０３および自動検出ＰＦレジスタ１２２０４を動作中に自動更新する決定用ポイント更新処理の動作手順を示すフローチャートである。
【００４０】
このフローチャートは、コントローラ９０の制御にしたがって実行されるが、図示の都合上、後述するＦＰコードが“１”の場合の動作手順と“０”の場合の動作手順とがひとつの図として示されている。
【００４１】
図５では、以下に述べるステップ１において、ＦＰコードが“１”に設定され、ＦＰポイントを検索する場合を示しているが、ＰＦポイントを検索する場合はステップ２からステップ９に進むようになっている。ＦＰポイントの検索と、ＰＦポイントの検索は、コントローラ９０の制御で切り替えている。
【００４２】
そして、決定用ポイント更新処理は、最初のキャリブレーションが終了すると開始される。処理開始後ステップ１に処理が進み、ｎ＋１個のレジスタユニットのうちの処理対象のレジスタユニットを示す指標データｉを“０”にしてレジスタユニット１２２０について、自動検出ＦＰレジスタ１２２０３に初回ＦＰレジスタ１２２００をセットし、自動検出ＰＦレジスタ１２２０４に初回ＰＦレジスタ１２２０１をセットする。また、２つの探索モード（比較器１５１によるパラレルデータの比較結果に基づいてＦＰポイントを探す探索モードと、比較器１５２によるパラレルデータの比較結果に基づいてＰＦポイントを探す探索モード）のどちらでデータの比較を行うかを示すＦＰコードに“１”をセットする。
【００４３】
次に、ステップ２に処理が進み、ＦＰポイント検索が行われるのかどうかを判定し、その場合はステップ３、そうでなければ（ＰＦポイント検索が行われるとき）はステップ９に処理が進む。
【００４４】
処理がステップ３に進むと、パラレルデータの準備が完了するまで待機し、続くステップ４では、第１の比較用データ（ｄａｔａ１）に対し、ＦＰコードが“１”のときは（探索モード１のときは）変換器１４１のパラレルデータがセットされ、それ以外（探索モード２）では変換器１４３のパラレルデータがセットされる。また、第２の比較用データ（ｄａｔａ２）には変換器１４２のパラレルデータがセットされる。
【００４５】
続くステップ５では、ｄａｔａ１とｄａｔａ２が一致するか否かを判定し、一致するときは処理がステップ６に進むが、そうでなければステップ１０を実行してステップ３に戻る。
【００４６】
ステップ６では、指標データｉが閾値（ｂｉｔ幅に応じた値が設定されている）を超えているか否かが判定され、超えているときはステップ８、そうでなければステップ７に処理が進む。ステップ７では、指標データｉに“１”を加算する。その後、処理がステップ３に戻り、上記処理が繰り返される。
【００４７】
ステップ８では、ＦＰコードが“１”のときは（探索モード１のときは）、読出手段としてのコントローラ９０が自動検出ＰＦレジスタ１２２０４にセットされているＰＦポイントを読み出し、そのＰＦポイントをひとつ後にずらしたクロックポイントを自動検出ＰＦレジスタ１２２０４にセットする。
【００４８】
それ以外（探索モード２）では自動検出ＦＰレジスタ１２２０３にセットされているＦＰポイントが読み出され、そのＦＰポイントをひとつ前にずらしたクロックポイントが自動検出ＦＰレジスタ１２２０３にセットされる。また、指標データｉに“０”をセットする。その後、処理がステップ３に戻る。
【００４９】
こうして、クロック調整部１００はｄａｔａ１とｄａｔａ２が全ｂｉｔについて一致して高速シリアルデータを正しく受信できることが確認できたときにステップ８を実行している。クロック調整部１００はステップ８を実行することによって、ポイント更新手段としてのコントローラ９０がＦＰポイントおよびＰＦポイントを更新し、高速シリアルデータを正しく受信できる範囲（有効範囲）を拡張するようにしている。
【００５０】
そして、ステップ２からステップ９に処理が進むと、ＦＰコードに“０”をセットして探索モードを探索モード２に変更する。
【００５１】
ステップ１０では、ＦＰコードが“１”のときは（探索モード１のときは）自動検出ＰＦレジスタ１２２０４にセットされているＰＦポイントが読み出され、そのＰＦポイントをひとつ前にずらしたクロックポイントが自動検出ＰＦレジスタ１２２０４にセットされる。
【００５２】
それ以外（探索モード２）では自動検出ＦＰレジスタ１２２０３にセットされているＦＰポイントが読み出され、そのＦＰポイントをひとつ後にずらしたクロックポイントが自動検出ＦＰレジスタ１２２０３にセットされる。
【００５３】
こうして、ｄａｔａ１とｄａｔａ２に不一致のｂｉｔが含まれ、高速シリアルデータを正しく受信できないことが確認できたときはステップ１０が実行され、ポイント更新手段としてのコントローラ９０によってＦＰポイントおよびＰＦポイントが更新され、有効範囲が縮小されている。その後、処理がステップ３に戻る。
【００５４】
以上のように、この決定用ポイント更新処理では、ステップ３〜７を繰り返し行い指標データｉが閾値を超える前にｄａｔａ１がｄａｔａ２からずれる不一致点を探している。
【００５５】
そして、不一致点が見つからないまま指標データｉが閾値を超えるとステップ８を実行して、自動検出ＦＰレジスタ１２２０３と自動検出ＦＰレジスタ１２２０４を有効範囲が拡張される方向に更新している。
【００５６】
また、ｄａｔａ１とｄａｔａ２が不一致になったときは、ステップ１０を実行して自動検出ＦＰレジスタ１２２０３と自動検出ＦＰレジスタ１２２０４を有効範囲が縮小される方向に更新している。
【００５７】
このように、クロック調整部１００は、コントローラ９０が更新手段として作動して比較器１５１，１５２の比較結果に基づき、自動検出ＦＰレジスタ１２２０３、自動検出ＰＦレジスタ１２２０４を更新し（ステップ８，１０）、この更新を行うことによって保持手段としてのコントローラ９０が有効範囲を保持するようにしている。
【００５８】
ここで、図６は、高速シリアルデータ受信時のアイパタンの範囲の変化を模式的に示した図である。例えば、初回キャリブレーションによりクロックポイントを決定した時点で、“Ａ”で示したラインのように、クロックポイント“４”から“１２”の範囲が有効範囲であったとする。
【００５９】
しかしながら、実際の動作中は、温度や電圧の変動、シリコンの経年変化やデータパターンの組み合わせに応じ、“Ｂ１”、“Ｂ２”、“Ｂ３”で示したラインのように、有効範囲(アイパタン)がずれることがよくある。ここで、“Ｂ１”で示したラインは時間軸に対し後ろ方向へずれた場合を示し、“Ｂ２”で示したラインは時間軸に対し前方向へずれた場合を示し、“Ｂ３”で示したラインは時間軸に対し前方向へずれ、しかも有効範囲が若干狭まった場合を示している。
【００６０】
“Ｂ１”、“Ｂ２”、“Ｂ３”で示した各ラインのようになると、いずれも初回に設定したＣＣＰでは高速シリアルデータを有効に受信できるものの、変動の許されるクロックの範囲(クロックマージン)が非常に少なくなるため、図示した以上に有効範囲がずれると受信エラーになりかねない。
【００６１】
その一方で、“Ｂ１”、“Ｂ２”、“Ｂ３”で示した各ラインのいずれの場合も、有効範囲は時間軸に対し前方または後方へずれただけである。そのため、実際の動作中に上述の更新処理を行い、ＦＰポイントとＰＦポイントを常時更新すると、算出手段としてのコントローラ９０がその更新したＦＰポイントとＰＦポイントに基づき、中間値を算出して新たなＣＣＰ（新ＣＣＰ）を求めることができる。
【００６２】
すると、その新ＣＣＰは実際の動作中の変動を反映した最良ポイントとなるから、最良ポイント変更手段としてのコントローラ９０がＣＣＰを新ＣＣＰに変更することによって、常時クロックマージンを確保することができ、高速シリアルデータを誤りなく安定して受信することが可能になる。また、ＦＰポイント、ＰＦポイントおよびＣＣＰによって、クロックマージンがどれだけあるかを把握することもできる。
【００６３】
（変形例）
図７は、別のクロック調整部１０１の内部構成の一例を示すブロック図である。このクロック調整部１０１は、クロック生成部１２０からのクロックの出力系統を１系統とし、この出力系統を複数設ける代わりに、遅延素子１７０を複数設けて構成されている。
【００６４】
そして、クロック調整部１０１では、受信バッファ１１０から入力された高速シリアルデータが複数の遅延素子１７０によってデータ遅延が挿入され、任意の遅延データが挿入されたデータをＣＬＫ１に応じてフリップフロップ１３１，１３２，１３３から出力するように構成されている。レジスタ１２２はクロック生成部１２０とは独立し（ただし、構造上クロック生成部１２０の中に設けられていてもよいが）、遅延データが挿入された高速シリアルデータのうちどのデータを選択するかを定める。
【００６５】
このクロック調整部１０１では、クロックが１系統に限定され、クロック調整部１００のようにクロックを複数系統設けることを要しない。そのため、クロック調整部１００よりも製造が容易である。
【００６６】
なお、クロック調整部１００では、ＦＰポイント，ＰＦポイントのいずれか一方を更新しないでおき、他方だけを更新するようにして有効範囲を保持するようにしてもよい。
【００６７】
また、コントローラ９０がレジスタ１２２をリセットするリセット手段として作動するようにすることもできる。こうすると、レジスタ１２２にセットされるＦＰポイントなどを取り直すことができる。
【００６８】
以上の説明は、本発明の実施の形態についての説明であって、この発明の装置及び方法を限定するものではなく、様々な変形例を容易に実施することができる。又、各実施形態における構成要素、機能、特徴あるいは方法ステップを適宜組み合わせて構成される装置又は方法も本発明に含まれるものである。
【図面の簡単な説明】
【００６９】
【図１】本発明の実施の形態に係るクロック調整装置が組み込まれた送受信処理モジュールの主な構成を示すブロック図である。
【図２】クロック調整部の内部構成の一例を示すブロック図である。
【図３】レジスタの内部構成を模式的に示した図である。
【図４】高速シリアルデータのアイパタンの一例をＦＰポイント、ＰＦポイントとともに示す図である。
【図５】決定用ポイント更新処理の動作手順を示すフローチャートである。
【図６】高速シリアルデータ受信時のアイパタンの範囲の変化を模式的に示した図である。
【図７】別の高速シリアルバス調整部の内部構成の一例を示すブロックである。
【符号の説明】
【００７０】
９０…コントローラ、１００，１０１…クロック調整部
１２０…クロック生成部、１２２…レジスタ
１５１，１５２…比較器、１２２０…レジスタユニット
１２３０…自動設定レジスタ、１２３１…オールシフト用レジスタ
１２３２…最狭ポイントレジスタ、１２２００…初回ＦＰレジスタ
１２２０１…初回ＰＦレジスタ、１２２０２…初回ＣＣＰレジスタ
１２２０３…自動検出ＦＰレジスタ、１２２０４…自動検出ＰＦレジスタ
１２２０５…ＣＣＰ設定レジスタ
【図１】
2008079041.tif 000003
【図２】
2008079041.tif 000004
【図３】
2008079041.tif 000005
【図４】
2008079041.tif 000006
【図５】
2008079041.tif 000007
【図６】
2008079041.tif 000008
【図７】
2008079041.tif 000009