(57)【要約】【課題】ＳｅｒＤｅｓ評価を自動で行うことができ、かつ、装置の低コスト化を図ることができる、半導体装置を提供する。【解決手段】制御部８０１は、機能部８０４に対するコンフィグレーションが実行される前に、クロック出力部８０２からのクロックをサンプリングクロックとしてSerDes入出力評価部８０５へ供給させる。SerDes入出力評価部８０５は、リンク先デバイスから受信したデータをサンプリングクロックに基づいてサンプリングし、該サンプリングデータから得られたアイダイヤグラムの波形評価値が許容範囲内か否かを判定し、該判定結果をリンク先デバイスへ向けて送信するとともに、リンク先デバイスから自デバイスの送信データに対する波形評価値に基づく判定結果を受信し、該判定結果に基づき、自デバイスのデータ伝送条件を決定する。【選択図】図１
2010212771.tif 000002
【特許請求の範囲】
【請求項１】
シリアルインタフェースを介して相互に通信可能に接続された複数のデバイスを有し、
前記複数のデバイスのそれぞれは、
クロックを出力するクロック出力部と、
第１および第２の出力端子を備え、前記クロック出力部からのクロックを前記第１および第２の出力端子のいずれかから出力するデマルチプレクサと、
前記デマルチプレクサの第１の出力端子から出力されたクロックに基づいて動作する機能部と、
前記デマルチプレクサの第２の出力端子から出力されたクロックがサンプリングクロックとして供給されるシリアライザ／デシリアライザ入出力評価部と、
前記機能部に対するコンフィグレーションが実行される前に、前記クロック出力部からのクロックを前記デマルチプレクサの第２の出力端子から出力させ、前記コンフィグレーションの実行時は、前記クロック出力部からのクロックを前記デマルチプレクサの第１の出力端子から出力させる制御部と、を有し、
前記シリアライザ／デシリアライザ入出力評価部は、リンク先デバイスから受信したデータを前記サンプリングクロックに基づいてサンプリングし、該サンプリングデータから得られたアイダイヤグラムの波形評価値が許容範囲内か否かを判定し、該判定結果を前記リンク先デバイスへ向けて送信するとともに、前記リンク先デバイスから自デバイスの送信データに対する前記波形評価値に基づく判定結果を受信し、該判定結果に基づき、自デバイスのデータ伝送条件を決定する、半導体装置。
【請求項２】
前記シリアライザ／デシリアライザ入出力評価部は、
前記デマルチプレクサの第２の出力端子から出力されたクロックを前記リンク先デバイスからの受信データに同期させる同期部と、
前記同期部からのクロックを用いて前記受信データをサンプリングするサンプリング部と、
前記サンプリング部からのサンプリングデータから得られたアイダイヤグラムのサイクル周期と前記同期部からのクロックのサイクル周期との間の時間差である周期的ジッタの大きさが許容範囲内か否かを判定し、該判定結果に基づくエンファシスの調整指示を前記リンク先デバイスへ向けて出力する比較部と、を有する、請求項１に記載の半導体装置。
【請求項３】
前記クロック出力部の出力クロックの周波数は固定であり、前記シリアルインタフェースで使用されるクロックのパターンが複数あり、該パターンのそれぞれについて、前記周期的ジッタの許容範囲が設定されており、前記比較部は、該パターン毎に、周期的ジッタの大きさが許容範囲内か否かの判定を行う、請求項２に記載の半導体装置。
【請求項４】
前記シリアライザ／デシリアライザ入出力評価部は、
前記デマルチプレクサの第２の出力端子から出力されたクロックを前記リンク先デバイスからの受信データに同期させる同期部と、
前記同期部からのクロックを用いて前記受信データをサンプリングするサンプリング部と、
前記サンプリング部からのサンプリングデータから得られたアイダイヤグラムのスイングの最大値および最小値が許容範囲内か否かを判定し、該判定結果に基づくスイングの調整指示を前記リンク先デバイスへ向けて出力する比較部と、を有する、請求項１に記載の半導体装置。
【請求項５】
前記クロック出力部の出力クロックの周波数は固定であり、前記シリアルインタフェースで使用されるクロックのパターンが複数あり、該パターンのそれぞれについて、前記スイングの許容範囲が設定されており、前記比較部は、該パターン毎に、前記スイングの最大値および最小値が許容範囲内か否かの判定を行う、請求項４に記載の半導体装置。
【請求項６】
前記複数のデバイスは同一基板上に設けられている、請求項１から５のいずれか１項に記載の半導体装置。
【請求項７】
シリアルインタフェースを介してデータが送受信されるデバイスのシリアライザ／デシリアライザ評価方法であって、
機能部へクロックを供給するクロック出力部の出力クロックを、前記機能部に対するコンフィグレーションが実行される前に、シリアライザ／デシリアライザ評価用のサンプリングクロックとして用い、
リンク先デバイスから受信したデータを前記サンプリングクロックに基づいてサンプリングし、該サンプリングデータから得られたアイダイヤグラムの波形評価値が許容範囲内か否かを判定し、該判定結果を前記リンク先デバイスへ向けて送信するとともに、前記リンク先デバイスから自デバイスの送信データに対する前記波形評価値に基づく判定結果を受信し、該判定結果に基づき、自デバイスのデータ伝送条件を決定する、シリアライザ／デシリアライザ評価方法。
【請求項８】
機能部へクロックを供給するクロック出力部の出力クロックを、前記機能部に対するコンフィグレーションが実行される前に、シリアライザ／デシリアライザ評価用のサンプリングクロックとして用いる処理と、
リンク先デバイスから受信したデータを前記サンプリングクロックに基づいてサンプリングし、該サンプリングデータから得られたアイダイヤグラムの波形評価値が許容範囲内か否かを判定し、該判定結果を前記リンク先デバイスへ向けて送信するとともに、前記リンク先デバイスから自デバイスの送信データに対する前記波形評価値に基づく判定結果を受信し、該判定結果に基づき、自デバイスのデータ伝送条件を決定する処理とをコンピュータに実行させるシリアライザ／デシリアライザ評価プログラム。
【請求項９】
外部無線通信装置とシリアルインタフェースを介した無線通信が行われる無線通信装置であって、
クロックを出力するクロック出力部と、
第１および第２の出力端子を備え、前記クロック出力部からのクロックを前記第１および第２の出力端子のいずれかから出力するデマルチプレクサと、
前記デマルチプレクサの第１の出力端子から出力されたクロックに基づいて動作する機能部と、
前記デマルチプレクサの第２の出力端子から出力されたクロックがサンプリングクロックとして供給されるシリアライザ／デシリアライザ入出力評価部と、
前記機能部に対するコンフィグレーションが実行される前に、前記クロック出力部からのクロックを前記デマルチプレクサの第２の出力端子から出力させ、前記コンフィグレーションの実行時は、前記クロック出力部からのクロックを前記デマルチプレクサの第１の出力端子から出力させる制御部と、を有し、
前記シリアライザ／デシリアライザ入出力評価部は、前記外部無線通信装置から受信したデータを前記サンプリングクロックに基づいてサンプリングし、該サンプリングデータから得られたアイダイヤグラムの波形評価値が許容範囲内か否かを判定し、該判定結果を前記外部無線通信装置へ向けて送信するとともに、前記外部無線通信装置から自デバイスの送信データに対する前記波形評価値に基づく判定結果を受信し、該判定結果に基づき、自デバイスのデータ伝送条件を決定する、無線通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シリアルインタフェースを用いたデータ伝送技術に関し、特に、シリアライザ／デシリアライザ（ＳｅｒＤｅｓ）の評価技術に関する。
【背景技術】
【０００２】
現在、デバイス間で頻繁に用いられる高速シリアルインタフェース（Ｉ／Ｆ）のコンフィグレーション（ここでは、自動ネゴシエーションを指す）においては、リンク相手（Link Partner）との接続を第一に考えている。このため、エンファシス（Emphasis）設定／スイング（Swing）設定共に、最大設定をデフォルト値とする傾向にある。
【０００３】
しかしながら、エンファシスおよびスイングを共に最大値に設定した場合、リンク相手側で、受信信号の振幅が大きすぎることによるＤＣスペック割れが生じたり、エンファシスが強すぎることにより、差動信号のクロスポイントにばらつきが発生してジッタ特性が悪化したりする。また、振幅が大きすぎると、高速信号を出力するドライバの消費電力が増大することになるため、近年の消費電力削減の傾向に反することにもなる。
【０００４】
上記のようなことから、デバイス間を高速シリアルＩ／Ｆを介して接続するシステムにおいては、一度、リンク相手とのリンクを確立した後に、適正なエンファシス値／スイング値を波形評価により決定している。例えば、波形評価では、受信端側で、高速シリアル信号のアイダイヤグラムおよびジッタを測定し、その測定結果に基づいてエンファシス／スイングの最適な設定値を見積もる。これにより、ＤＣスペック割れやジッタ特性の悪化を抑制する。
【０００５】
しかし、波形評価の作業は、人為的な作業を伴い、非常に時間を要するため、高速シリアルＩ／Ｆが増加している近年では評価遅延の一因ともなっている。
【０００６】
特許文献１には、エンファシス／スイングの最適値を自動で決定する調整方法が記載されている。この調整方法では、送信側装置が、送信器の出力振幅（出力スイング振幅）およびエンファシスを所定範囲で設定変更しながらサンプルデータを送信する。受信側装置は、送信側装置から受信したサンプルデータからアイダイヤグラムを作成し、このアイダイヤグラムから受信可能な位相範囲データを検出し、その検出データを送信側装置へ送信する。送信側装置は、受信側装置から受信した位相範囲データを、設定変更された出力振幅およびエンファシスと対応付けてテーブルに格納する。所定範囲での設定変更が全て終了した際には、所定範囲内における出力振幅およびエンファシスの各設定変更値に対する位相範囲データが格納されたテーブルが作成されることになる。送信側装置は、その作成されたテーブルを参照して、出力振幅およびエンファシスの最適値を決定する。
【０００７】
上記の調整方法によれば、出力振幅およびエンファシスの各設定を自動化させることができるので、実機評価時間を削減することができる。
【０００８】
特許文献２には、受信信号の品質を自動的に補正することができるシリアル伝送システムが記載されている。このシリアル伝送システムでは、受信機が、送信機から受信したデータの品質を測定し、その測定結果に基づき、送信機の送信出力の補正要求データを生成し、その生成した補正要求データを送信機に送信する。送信機は、受信機からの補正要求データに基づいて自機の送信出力の設定（振幅およびエンファシス）を変更する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００７−５３６４８号公報
【特許文献２】特開２００８−１６４４５７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
一般に、高速シリアルＩ／Ｆを介して接続されたデバイス間のリンクを確立するためのネゴシエーションを実行した後に、ブート用ファームウェア等がデバイスへロードされる（デバイスコンフィグレーション）。このデバイスコンフィグレーション前に、シリアライザ／デシリアライザ（ＳｅｒＤｅｓ）評価を行う必要があるが、そのようなＳｅｒＤｅｓ評価を自動で行うことのできる低コストの装置は、これまでに提案されていない。
【００１１】
特許文献１に記載の調整方法および特許文献２に記載のシステムはいずれも、スイング／エンファシス設定の自動化に特化したものであり、デバイスコンフィグレーション前のネゴシエーション実行の際にＳｅｒＤｅｓ評価を自動で行うための具体的な構成を提供するものではない。したがって、これら調整方法およびシステムに基づいて、上記のようなＳｅｒＤｅｓ評価を実現することは困難である。
【００１２】
本発明の目的は、上記問題を解決し、デバイスコンフィグレーション前にシリアライザ／デシリアライザ（ＳｅｒＤｅｓ）評価を自動で行うことができ、かつ、装置の低コスト化を図ることができる、半導体装置、シリアライザ／デシリアライザ評価方法、プログラムおよび無線通信装置を提供することにある。
【課題を解決するための手段】
【００１３】
上記目的を達成するため、本発明の一態様による半導体装置は、
シリアルインタフェースを介して相互に通信可能に接続された複数のデバイスを有し、
前記複数のデバイスのそれぞれは、
クロックを出力するクロック出力部と、
第１および第２の出力端子を備え、前記クロック出力部からのクロックを前記第１および第２の出力端子のいずれかから出力するデマルチプレクサと、
前記デマルチプレクサの第１の出力端子から出力されたクロックに基づいて動作する機能部と、
前記デマルチプレクサの第２の出力端子から出力されたクロックに基づいて動作するシリアライザ／デシリアライザ入出力評価部と、
前記機能部に対するコンフィグレーションが実行される前に、前記クロック出力部からのクロックを前記デマルチプレクサの第２の出力端子から出力させ、前記コンフィグレーションの実行時は、前記クロック出力部からのクロックを前記デマルチプレクサの第１の出力端子から出力させる制御部と、を有し、
前記シリアライザ／デシリアライザ入出力評価部は、リンク先デバイスのデータ伝送品質が許容範囲内か否かを判定し、該判定結果を前記リンク先デバイスへ向けて送信するとともに、前記リンク先デバイスから受信した自デバイスのデータ伝送品質に対する前記判定結果に基づき、自デバイスのデータ伝送条件を決定する。
【００１４】
本発明の一態様によるシリアライザ／デシリアライザ評価方法は、シリアルインタフェースを介してデータが送受信されるデバイスのシリアライザ／デシリアライザ評価方法であって、
機能部へクロックを供給するクロック出力部の出力クロックを、前記機能部に対するコンフィグレーションが実行される前に、シリアライザ／デシリアライザ評価用のサンプリングクロックとして用い、
リンク先のデバイスから受信した受信データを前記サンプリングクロックでサンプリングし、該サンプリングデータの品質が許容範囲内か否かを判定し、該判定結果を前記リンク先のデバイスへ向けて送信するとともに、前記リンク先のデバイスから受信した自デバイスのデータ伝送品質に対する前記判定結果に基づき、自デバイスのデータ伝送条件を決定することを特徴とする。
【００１５】
本発明の一態様によるシリアライザ／デシリアライザ評価プログラムは、
機能部へクロックを供給するクロック出力部の出力クロックを、前記機能部に対するコンフィグレーションが実行される前に、シリアライザ／デシリアライザ評価用のサンプリングクロックとして用いる処理と、
リンク先のデバイスから受信した受信データを前記サンプリングクロックでサンプリングし、該サンプリングデータの品質が許容範囲内か否かを判定し、該判定結果を前記リンク先のデバイスへ向けて送信するとともに、前記リンク先のデバイスから受信した自デバイスのデータ伝送品質に対する前記判定結果に基づき、自デバイスのデータ伝送条件を決定する処理とをコンピュータに実行させることを特徴とする。
【００１６】
本発明の一態様による無線通信装置は、外部無線通信装置とシリアルインタフェースを介した無線通信が行われる無線通信装置であって、
クロックを出力するクロック出力部と、
第１および第２の出力端子を備え、前記クロック出力部からのクロックを前記第１および第２の出力端子のいずれかから出力するデマルチプレクサと、
前記デマルチプレクサの第１の出力端子から出力されたクロックに基づいて動作する機能部と、
前記デマルチプレクサの第２の出力端子から出力されたクロックがサンプリングクロックとして供給されるシリアライザ／デシリアライザ入出力評価部と、
前記機能部に対するコンフィグレーションが実行される前に、前記クロック出力部からのクロックを前記デマルチプレクサの第２の出力端子から出力させ、前記コンフィグレーションの実行時は、前記クロック出力部からのクロックを前記デマルチプレクサの第１の出力端子から出力させる制御部と、を有し、
前記シリアライザ／デシリアライザ入出力評価部は、前記外部無線通信装置から受信したデータを前記サンプリングクロックに基づいてサンプリングし、該サンプリングデータから得られたアイダイヤグラムの波形評価値が許容範囲内か否かを判定し、該判定結果を前記外部無線通信装置へ向けて送信するとともに、前記外部無線通信装置から自デバイスの送信データに対する前記波形評価値に基づく判定結果を受信し、該判定結果に基づき、自デバイスのデータ伝送条件を決定する。
【発明の効果】
【００１７】
本発明によれば、デバイスコンフィグレーション前に、シリアライザ／デシリアライザ（ＳｅｒＤｅｓ）評価を自動で行うことができる低コストの装置を提供することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態である半導体装置の構成を示すブロック図である。
【図２】ＳｅｒＤｅｓ評価処理が組み込まれた自動ネゴシエーション処理の一手順を示すフローチャートである。
【図３】図１に示す半導体装置のＳｅｒＤｅｓ入出力評価部の具体的な構成を示すブロック図である。
【図４】図３に示すＳｅｒＤｅｓ入出力評価部の動作を説明するためのフローチャートである。
【図５】図３に示すＳｅｒＤｅｓ入出力評価部の動作を説明するためのフローチャートである。
【図６】図１に示す半導体装置のＲＸ比較器によるＤＣスペック比較方法を説明するための模式図である。
【図７】図１に示す半導体装置のＲＸ比較器によるジッタスペック比較方法を説明するための模式図である。
【図８】本発明の他の実施形態である半導体装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１９】
次に、本発明の実施形態について図面を参照して説明する。
【００２０】
図１は、本発明の一実施形態である半導体装置の構成を示すブロック図である。本実施形態の半導体装置は、シリアルインタフェースを介して相互に通信可能に接続された複数のデバイスを有する。ここでは、同一基板上に形成された２つのデバイスがシリアルインタフェースを介して相互に通信可能に接続されており、これらデバイスの一方がローカルデバイスとされ、他方がリモートデバイスとされている。両デバイスは、シリアライザ／デシリアライザ（ＳｅｒＤｅｓ）評価に係る部分として同じ構成を有する。説明を簡単化するため、以下の説明では、主としてローカルデバイスの構成を説明する。
【００２１】
図１を参照すると、ローカルデバイス１０は、ＣＰＵ（Central Processing Unit）１００、ＰＬＬ（Phase-locked loop）コントローラ１０１、内部ＲＯＭ（Read Only Memory）１０２、ドライバ１０３、レシーバ１０４、シリアライザ／デシリアライザ（ＳｅｒＤｅｓ）入出力評価部１０５、内部ＲＡＭ（Random Access Memory）１０７、および他の機能部１０８を有する。
【００２２】
ＳｅｒＤｅｓ評価用のブートプログラムが、内部ＲＯＭ１０２に格納されている。内部ＲＯＭ１０２は、ＣＰＵ１００に接続されている。ローカルデバイス１０の起動直後に、ＣＰＵ１００は、内部ＲＯＭ１０２に格納されたブートプログラムによって起動される。通常、ファームウェアがローカルデバイス１０にロードされ、そのロードされたファームウェアに従い、ＣＰＵ１００がローカルデバイス１０を動作させる。このファームウェアのロード前に、ＣＰＵ１００が内部ＲＯＭ１０２に格納されたブートプログラムによって起動され、ＳｅｒＤｅｓ評価のための処理が実行される。このＳｅｒＤｅｓ評価のための処理では、ブートプログラムに従って、ＣＰＵ１００だけでなく、ＰＬＬコントローラ１０１、ドライバ１０３、レシーバ１０４およびＳｅｒＤｅｓ入出力評価部１０５等も動作する。
【００２３】
ＣＰＵ１００、ＳｅｒＤｅｓ入出力評価部１０５および内部ＲＡＭ１０７はそれぞれ、内部バス１０６に接続されている。
【００２４】
ＰＬＬコントローラ１０１は、メインＰＬＬ１０１１およびデマルチプレクサ１０１２を有する。リファレンスクロックがメインＰＬＬ１０１１に入力される。メインＰＬＬ１０１１は、入力されたリファレンスクロックの周波数を逓倍したクロック信号を出力する。メインＰＬＬ１０１１の出力は、デマルチプレクサ１０１２に供給される。
【００２５】
デマルチプレクサ１０１２は、出力端子として「０」端子と「１」端子を備え、ＣＰＵ１００からの制御信号に従って、メインＰＬＬ１０１１から供給されたクロック信号をいずれかの出力端子に供給する。「０」端子から出力されたクロック信号は、ＳｅｒＤｅｓ評価時のサンプリングクロックとして、ＣＰＵ１００およびＳｅｒＤｅｓ入出力評価部１０５に供給される。「１」端子から出力されたクロック信号は、通常起動時のサンプリングクロックとして、除算器を介してＣＰＵ１００および他の機能部１０８に供給される。
【００２６】
図１に示したローカルデバイス１０において、電源投入直後またはデバイスリセット解除直後に動作する部分は、ＣＰＵ１００、ＰＬＬコントローラ１０１、内部ＲＯＭ１０２、ドライバ１０３、レシーバ１０４、ＳｅｒＤｅｓ入出力評価部１０５の一部の機能、内部バス１０６および内部ＲＡＭ１０７である。ローカルデバイス１０の起動直後に、ＣＰＵ１００は、内部ＲＯＭ１０２に格納されたブートプログラムによって起動される。内部ＲＡＭ１０７において、ブートプログラムが一時的に展開される。内部バス１０６は、ブートプログラム展開時に経路として使用される。
【００２７】
ドライバ１０３およびレシーバ１０４は、高速シリアルＩ／Ｆの周辺装置であって、ローカルデバイス１０の電源投入直後またはリセット解除直後から自動ネゴシエーション（ＡＮ）が実施される。ＳｅｒＤｅｓ入出力評価部１０５の一部の機能により、ドライバ１０３およびレシーバ１０４が制御される。
【００２８】
本実施形態のローカルデバイスでは、デマルチプレクサ１０１２において、メインＰＬＬ１０１１からのクロックを、通常起動時とＳｅｒＤｅｓ評価時とで出力先を切り分ける。これにより、デバイスのコンフィグレーションが行われる前に、メインＰＬＬ１０１１をサンプリングクロック生成用のＰＬＬとして使用することが可能となっている。
【００２９】
ＳｅｒＤｅｓ評価時において、メインＰＬＬ１０１１から出力されたサンプリングクロックが、デマルチプレクサ１０１２を介してＣＰＵ１００およびＳｅｒＤｅｓ入出力評価部１０５に供給される。ＣＰＵ１００は、内部ＲＯＭ１０２に格納されているＳｅｒＤｅｓ評価用の制御プログラム（ブートプログラム）にて起動されている。ＳｅｒＤｅｓ入出力評価部１０５は、高速シリアルＩ／Ｆのローカルドライバとリモートドライバ（リンク相手のドライバ）のエンファシス設定とスイング設定の評価を行う。ＳｅｒＤｅｓ入出力評価部１０５による評価中にサンプリングされたデータは、電源投入後は未使用である内部ＲＡＭ１０７へ内部バス１０６を介して一時的に格納される。このような構成により、デバイスへの電源投入後またはリセット解除後に自動的にＳｅｒＤｅｓ評価を実施することができる。
【００３０】
加えて、メインＰＬＬ１０１１および内部ＲＡＭ１０７を、通常起動時とＳｅｒＤｅｓ評価時とで併用することで、回路規模を小さくすることができ、コストを削減することができる。
【００３１】
また、上記のような特徴的な構成により、自動ネゴシエーション処理にＳｅｒＤｅｓ評価処理を組み込むことが可能となり、デバイスのコンフィグレーションとともにＳｅｒＤｅｓ評価を行うことができる。
【００３２】
図２は、ＳｅｒＤｅｓ評価処理が組み込まれた自動ネゴシエーション処理の一手順を示すフローチャートである。この自動ネゴシエーション処理は、ＳｅｒＤｅｓ入出力評価部１０５により実行される。
【００３３】
図２に示す手順において、ステップ２００の「AN Start」は、Ｅｔｈｅｒｎｅｔ（登録商標）の自動ネゴシエーションのフローとしてＩＥＥＥ８０２．３に掲げられている自動ネゴシエーション処理の開始を示す。
【００３４】
ステップ２００の「AN Start」に続いて、自動ネゴシエーションを有効にし（ステップ２０１の「AN Enable」）、自動ネゴシエーション処理を開始させる（ステップ２０２の「AN Restart」）。次に、ローカルデバイス１０のＳｅｒＤｅｓ能力をリンク相手へ通知する（ステップ２０３の「Ability Detect」）。次に、リンク相手のＳｅｒＤｅｓ能力を受信する（ステップ２０４の「Acknowledge Detect」）。次に、ローカルデバイスとリンク相手の能力が一致するか否かを確認する（ステップ２０５の「Complete Acknowledge」）。能力確認後のリンク確立確認として、アイドルパターンの送出及び受信を行う（ステップ２０６の「Idle Detect」）。次に、リンク確立の確認完了の処理を行う（ステップ２０７の「1st Link ＯＫ」）。ＩＥＥＥ８０２．３では、この確認完了の処理は、"Link OK"と表記されている。
【００３５】
本実施形態では、上記のステップ２０７までのフローに対し、ＳｅｒＤｅｓ評価用の新たなステップ２０８〜２１２が追加されている。
【００３６】
まず、ステップ２０８の「SerDes Driver Setting」で、ＳｅｒＤｅｓの設定を行う。次に、ステップ２０９の「Re-Auto Negotiation」で、ローカルドライバの設定変更後に、再度、リンク確立を行う。この「Re-Auto Negotiation」の処理では、上述のステップ２０１〜２０６が実行される。
【００３７】
次に、ステップ２１０の「SerDes Setting evaluation」で、ステップ２０８で行われた設定が適切か否かを判定する。この「SerDes Setting evaluation」の処理は、自デバイスのＳｅｒＤｅｓ設定の評価ステップと、リンク相手のＳｅｒＤｅｓ設定の評価ステップとを含む。リンク相手のＳｅｒＤｅｓ設定の評価ステップでは、リンク相手から送信された信号（レスポンス）を受信し、該受信信号の出力（スイングの大小、エンファシスの強弱）が適切か否かを評価し、その評価結果をレスポンスとしてリンク相手に送信する。一方、自デバイスのＳｅｒＤｅｓ設定の評価ステップでは、送信出力の設定（スイングとエンファシスの設定）が適切であったか否かの評価結果をリンク相手から受信し、その受信評価結果を送信出力に反映する。
【００３８】
ＳｅｒＤｅｓ設定が適切で無い場合は、ステップ２０８の処理に戻る（ステップ２００１）。設定が適切である場合は、ステップ２１１の「2nd Link OK」で、ステップ２１０の評価結果がＯＫとなった状態であることを確認する。そして、ステップ２１２の「AN complete」で、自動ネゴシエーションが完了した状態であることを確認する。
【００３９】
次に、本実施形態のローカルデバイスの特徴部の構成および動作をさらに詳細に説明する。
【００４０】
他の機能部１０８を起動させるために、ローカルデバイス１０を含む装置全体のホストＣＰＵによって展開されるブート用ファームウェア（ＷＦ／Ｗ）がローカルデバイス１０へロードされる。このブート用ファームウェアのロード前に、電源投入及びデバイスリセット解除直後から動作する上記の各機能部のみを利用し、ＳｅｒＤｅｓのエンファシス設定およびスイング設定の評価を行う。この評価を実現するため、ＳｅｒＤｅｓ入出力評価部１０５は、図３に示すような構成を有する。
【００４１】
図３を参照すると、ＳｅｒＤｅｓ入出力評価部１０５は、ＣＤＲ（Clock Data Recovery）回路３００、同期部３０１、リクエスト／レスポンス検出部３０２、サンプリング部３０３、ＵＩ（Unit Interval）検出部３０４、ＴＸドライバ出力決定部３０５、ＳｅｒＤｅｓ制御部３０６、ＲＸ比較部３０７、ＤＣスペックテーブル３０８、ジッタスペックテーブル３０９、マルチプレクサ３１０、ＲＸ／ＴＸカウンタ３１１、およびＴＸタイマ３１２を有する。
【００４２】
ＣＤＲ回路３００は、リンク相手からの高速シリアル受信信号からクロックとデータをリカバリする。リカバリした受信クロックは同期部３０１へ供給され、リカバリした受信データはリクエスト／レスポンス検出部３０２に供給される。図１に示したデマルチプレクサの「０」端子から出力されたサンプリングクロックが同期部３０１に供給される。
【００４３】
同期部３０１は、入力されたサンプリングクロックをＣＤＲ回路３００から供給されるクロックに同期させる。すなわち、同期部３０１は、受信データのサンプリングデータにバラつきが発生しないように、サンプリングクロックと受信データの同期を取る。受信データとの同期が取られたサンプリングクロックは、同期部３０１からサンプリング部３０３およびＴＸタイマ３１２に供給される。
【００４４】
リクエスト／レスポンス検出部３０２は、ＣＤＲ回路３００でリカバリした受信データがローカルデバイスのＳｅｒＤｅｓ評価リクエストに対するレスポンスなのか、リンク相手からのＳｅｒＤｅｓ評価リクエストなのかを判定する。具体的には、受信データがローカルデバイスのＳｅｒＤｅｓ評価リクエストに対するレスポンスである場合は、そのことを示すフラグ「Res. flag」が受信データに付与されている。このフラグに基づいて、受信データがレスポンスであるか否かの判定を行うことができる。また、受信データがリンク相手からのＳｅｒＤｅｓ評価リクエストである場合は、そのことを示すフラグ「Req. flag」が受信データに付与されている。このフラグに基づいて、受信データがリクエストであるか否かの判定を行うことができる。
【００４５】
受信データがローカルデバイスのＳｅｒＤｅｓ評価リクエストに対するレスポンスである場合、リクエスト／レスポンス検出部３０２は、そのローカルデバイスＳｅｒＤｅｓ評価レスポンス情報をＴＸドライバ出力決定部３０５に供給する。受信データがリンク相手からのＳｅｒＤｅｓ評価リクエストである場合は、リクエスト／レスポンス検出部３０２は、その受信データをサンプリング部３０３に供給する。
【００４６】
サンプリング部３０３は、同期部３０１からのサンプリングクロックに基づいて、リクエスト／レスポンス検出部３０２からの受信データの波形信号をサンプリングする。サンプリングデータは、サンプリング部３０３からＵＩ検出部３０４に供給される。また、サンプリングデータは、サンプリング部３０３から内部バス１０６を介して内部ＲＡＭ１０２に格納される。
【００４７】
ＵＩ検出部３０４は、サンプリング部３０３からのサンプリングデータから、ＵＩ（Unit Interval）の位置（例えば、サイクル周期）を特定し、その位置を示すフラグをサンプリングデータに付ける。フラグ付けがなされたデータは、ＵＩ位置データ（UI Position Data）として、ＵＩ検出部３０４から内部バス１０６を介して内部ＲＡＭ１０２に格納される。
【００４８】
ＤＣスペックテーブル３０９には、高速シリアル信号の受信スペックのデータ（最小値と最大値）が格納されている。ジッタスペックテーブル３０９には、周期的ジッタスペック(Periodic Jitter Spec.)のデータが格納されている。
【００４９】
ＣＰＵ１００の制御により、内部バス１０６を通じて、サンプリングデータおよびＵＩ位置データが、内部ＲＡＭ１０２からＲＸ比較器３０７へ供給される。ＲＸ比較器３０７は、内部ＲＡＭ１０２から読み出されたサンプリングデータの振幅がＤＣスペックテーブル３０９に格納されたＤＣスペックデータ（最大値および最小値）の範囲内であるか否かを判定する（振幅比較）。また、ＲＸ比較器３０７は、内部ＲＡＭ１０２から読み出された複数周期分のＵＩ位置データに基づいて、サンプリングクロックの立ち上がりエッジとＵＩ位置の差分時間からジッタを測定し、その測定値がジッタスペックテーブル３０９に格納されたジッタスペックデータ（周期的ジッタスペック情報）の範囲内であるか否かを判定する（ジッタ比較）。ここで、差分時間は、ＵＩ位置により得られるサイクル周期とサンプリングクロックのサイクル周期の間の時間差に対応する。振幅比較結果およびジッタ比較結果は、ＲＸ評価結果としてＲＸ比較器３０７からマルチプレクサ３１０の「１」端子に供給される。
【００５０】
ＴＸドライバ出力決定部３０５は、リクエスト／レスポンス検出部３０２から供給されるローカルデバイスＳｅｒＤｅｓ評価レスポンスデータに基づいて、図１に示したドライバ１０３（ＴＸドライバ）の出力の増減量を決定する。ＳｅｒＤｅｓ制御部３０６は、ＴＸドライバ出力決定部３０５による決定結果に基づいて、ドライバ１０３（ＴＸドライバ）の出力を増減するためのＴＸ設定値情報を出力する。ＴＸ設定値情報は、ＳｅｒＤｅｓ制御部３０６からマルチプレクサ３１０の「０」端子に供給される。
【００５１】
マルチプレクサ３１０は、ＣＰＵ１００からの制御に従い、ＲＸ比較器３０７からのＲＸ評価結果とＳｅｒＤｅｓ制御部３０６からのＴＸ設定値情報を選別する。マルチプレクサ３１０の出力は、図１に示したドライバ１０３に供給される。
【００５２】
次に、ローカルデバイスの動作を、図３から図５を参照して詳細に説明する。図４および図５は、図３に示したＳｅｒＤｅｓ入出力評価部１０５の動作を説明するためのフローチャートである。
【００５３】
まず、ＣＰＵ１００が、ＲＸ／ＴＸカウンタ３１１のＴＸカウンタのカウント値を調べ、そのカウント値に基づいて、ＳｅｒＤｅｓ評価が初期状態かどうかを確認する（図４のステップ４０１）。カウント値が０である場合は、初期状態であると判定する。カウント値が１以上であれば、初期状態ではないと判定する。
【００５４】
ステップ４０１にて初期状態でないと判定された場合は、ＣＰＵ１００は、内部バス１０６を介してリクエスト／レスポンス検出部３０２にアクセスし、ＣＤＲ回路３００でリカバリした受信データに付与されたフラグを確認する（図４のステップ４０２）。
【００５５】
リカバリした受信データのフラグがリンク相手からのリクエストフラグである場合は、ＣＰＵ１００は、内部バス１０６を介してＲＸ／ＴＸカウンタ３０５にアクセスし、リンク相手からの何回目のリクエストフラグであるのかを管理するためのＲＸカウンタセット処理を行う（図４のステップ４０３）。
【００５６】
次に、サンプリング部３０３が、同期部３０１からのサンプリングクロックに基づいて、ＣＤＲ回路３００でリカバリした受信データをサンプリングする（図４のステップ４０４）。サンプリングデータは、ＵＩ検出部３０４に供給されるとともに、内部バス１０６を介して内部ＲＡＭ１０２に格納される。
【００５７】
次に、ＵＩ検出部３０４が、サンプリング部３０３からのサンプリングデータについて、その振幅情報から０Ｖとのクロスポイントを検出し、ＵＩの位置を特定する（図４のステップ４０５）。具体的には、ＵＩ検出部３０４は、サンプリングポイントが０Ｖを跨ぐ箇所をＵＩと認識し、そのサンプリングポイントを、リカバリした受信データのＵＩ位置データとして、内部バス１０６を介して内部ＲＡＭ１０２に格納する。ＵＩ位置データは、ステップ４０４で得られたサンプリングデータと関連付けて内部ＲＡＭ１０２に格納される。この関連付けでは、ＵＩの位置がどのサンプリングポイントに対応するかがわかるような括り付けを行う。
【００５８】
次に、ＣＰＵ１００による制御に基づき、内部ＲＡＭ１０２に格納されているサンプリングデータが、内部バス１０６を通じてＲＸ比較器３０７へ供給される。そして、ＲＸ比較器３０７が、内部ＲＡＭ１０２から読み出されたサンプリングデータの振幅がＤＣスペックテーブル３０９に格納されたスペックデータ（最大値および最小値）の範囲内であるか否かを判定する（図４のステップ４０６）。
【００５９】
ステップ４０６で、サンプリングデータの振幅がＤＣスペックの範囲外（DC Spec. OUT）と判定された場合は、ＲＸ比較器３０７は、ＳｅｒＤｅｓ用のパケットの中に埋め込むフラグに、スイングアップフラグまたはスイングダウンフラグを立てる（図４のステップ４０７）。具体的には、サンプリングデータの振幅がＤＣスペックの最小値より小さい場合は、スイングアップフラグを立て、サンプリングデータの振幅がＤＣスペックの最大値より大きい場合は、スイングダウンフラグを立てる。
【００６０】
次に、ＣＰＵ１００による制御に基づき、内部ＲＡＭ１０２に格納されている複数周期分のＵＩ位置データが、内部バス１０６を通じてＲＸ比較器３０７へ供給される。そして、ＲＸ比較器３０７が、内部ＲＡＭ１０２から読み出された複数周期分のＵＩ位置データに基づいて、サンプリングクロックの立ち上がりエッジとＵＩ位置の差分時間からジッタを測定し、その測定値がジッタスペックテーブル３０９に格納されたジッタスペックデータの範囲内であるか否かを判定する（図４のステップ４０８）。
【００６１】
ステップ４０６でサンプリングデータの振幅がＤＣスペック範囲内（DC Spec. In）と判定され、かつ、ステップ４０８でジッタの測定値がジッタスペック範囲内（Jitter Spec. In）と判定された場合は、ＲＸ比較器３０７は、ＳｅｒＤｅｓ用のパケットにＲＸコンプリートフラグを付与する（図４のステップ４０９）。ＲＸコンプリートフラグは、リンク相手からのＳｅｒＤｅｓ出力に対する修正を行う必要がないことを示す。
【００６２】
ステップ４０８でジッタの測定値がジッタスペック範囲外（Jitter Spec. OUT）と判定された場合は、ＲＸ比較器３０７は、ＳｅｒＤｅｓ用のパケットにエンファシスアップフラグまたはエンファシスダウンフラグを立てる（図４のステップ４１０）。具体的には、ジッタの測定値がジッタスペックの期待値より小さい場合は、エンファシスアップフラグを立て、ジッタの測定値がジッタスペックの期待値より大きい場合は、エンファシスダウンフラグを立てる。
【００６３】
上記のＤＣスペック比較およびジッタスペック比較を行った後で、ステップ４０９でＲＸコンプリートフラグを立てた後に、または、ステップ４１０でエンファシスアップフラグまたはエンファシスダウンフラグを立てた後に、ＲＸ比較器３０７は、レスポンスフラグおよびＩＤをＳｅｒＤｅｓ用のパケットに付与する（図４のステップ４１１）。レスポンスフラグは、ＳｅｒＤｅｓ用のパケットがリンク相手へのレスポンスであることを示す。ＩＤは、リンク相手がいつのリクエストに対するレスポンスであるかを判断するためのものであり、ＲＸ／ＴＸカウンタ３１１のＲＸカウンタのカウント値である。
【００６４】
次に、ＲＸ比較器３０７は、ステップ４１１でレスポンスフラグおよびＩＤが付与されたＳｅｒＤｅｓ用のパケットを、評価結果として、マルチプレクサ３１０を介してリンク相手へ送信する（図４のステップ４１２）。その後、再び「ＳｅｒＤｅｓ評価Ｓｔａｒｔ」からの処理を実行する。
【００６５】
ステップ４０１において、ＴＸカウンタ値が０である場合は、ＣＰＵ１００は、ＳｅｒＤｅｓ評価が初期処理状態であると判断し、ＴＸカウンタに１をセットする（図４のステップ４１３）。そして、ＴＸドライバ出力決定部３０５が、ＳｅｒＤｅｓのスイング値を最小値に設定し（図４のステップ４１４）、ＳｅｒＤｅｓのエンファシスを最大値に設定する（図４のステップ４１５）。
【００６６】
次に、ＴＸドライバ出力決定部３０５は、ＳｅｒＤｅｓ用のパケットに、ＴＸカウンタのカウンタ値「１」をＩＤとして付与するとともに、リンク相手へのリクエストであることを示すリクエストフラグを立てる（図４のステップ４１６）。次に、ＣＰＵ１００が、ＴＸタイマ３１２をスタートさせ（図４の４１７）、同時に、ＳｅｒＤｅｓ制御部３０６が、ステップ４１３〜４１６の処理を経て各値が設定されたＳｅｒＤｅｓ用のパケットをテストパターンと一緒に送信する（図４のステップ４１８）。その後、再び「ＳｅｒＤｅｓ評価Ｓｔａｒｔ」からの処理を実行する。
【００６７】
ここで、ＴＸタイマ３１２は、テストパターンの送信開始時点からレスポンスを受信するまでに要した時間をカウントする。ＳｅｒＤｅｓのスイングおよびエンファシスの設置値が不適切である場合は、リンクを張ることができず、リンク相手からレスポンスが戻ってこない。ＣＰＵ１００は、ＴＸタイマ３１２を用いて、テストパターンの送信開始後、リンク相手からのレスポンスを所定の時間内に受信できたか否かを判定する。レスポンスを所定の時間内に受信できなかった場合は、ＳｅｒＤｅｓの設定値を変更するための処理が行われる。
【００６８】
ステップ４０２にて受信データのフラグがローカルデバイスの評価リクエストに対するリンク相手からのレスポンスを示すレスポンスフラグであると判定された場合は、ＣＰＵ１００は、ＴＸタイマ３１２を確認する(図５のステップ５００)。この確認において、予めＳｅｒＤｅｓ評価にかかる時間が設定されたＴＸタイマ値以内にレスポンスがあった場合は、ＣＰＵ１００は、ＴＸタイマ３１２をクリアする（図５のステップ５０１）。
【００６９】
次に、ＣＰＵ１００は、リクエスト／レスポンス検出部３０２にアクセスし、リンク相手からのＳｅｒＤｅｓ評価結果にＲＸコンプリートフラグが立っているか否かを確認する（図５のステップ５０２）。
【００７０】
ステップ５０２でＳｅｒＤｅｓ評価結果にＲＸコンプリートフラグが立っていると判定された場合は、ＴＸドライバ出力決定部３０５は、ＳｅｒＤｅｓ用のパケットに、ＴＸコンプリートフラグを立てる（図５の５０３）。この後、図４のステップ４１９の処理が実行される。
【００７１】
ステップ５０２でＳｅｒＤｅｓ評価結果にＲＸコンプリートフラグが立っていないと判定された場合は、ＣＰＵ１００は、リクエスト／レスポンス検出部３０２を通じてスイングフラグが立っているか否かを確認する（図５のステップ５０４）。
【００７２】
ステップ５０４でスイングフラグが立っていると判定された場合は、ＴＸドライバ出力決定部３０５は、そのフラグの指示に従い、スイングアップまたはスイングダウンの処理を１回分（１ステップ分）だけ実効する（図５のステップ５０５）。
【００７３】
次に、ＣＰＵ１００は、リクエスト／レスポンス検出部３０２を通じてエンファシスフラグが立っているか否かを確認する（図５のステップ５０６）。ステップ５０６でエンファシスフラグが立っていると判定された場合は、ＴＸドライバ出力決定部３０５は、そのフラグの指示に従い、エンファシスアップまたはエンファシスダウンの処理を１回分（１ステップ分）だけ実行する（図５のステップ５０７）。
【００７４】
ステップ５００において、ＴＸタイマ３１２がタイムアウトしてもレスポンスを受信できなかった場合は、ＣＰＵ１００が、ＴＸ側のスイング設定が適切でなく、リンクアップに失敗したものと判断する。そして、ＴＸドライバ出力決定部３０５が、前回設定していたスイング設定と最大スイング設定の中間のスイング設定を行い（図５のステップ５１２）、エンファシスの設定値として最大値を設定する（図５のステップ５１３）。
【００７５】
ステップ５０４〜５０７またはステップ５１２、５１３でＳｅｒＤｅｓの再設定が完了した後、ＣＰＵ１００は、ＴＸカウンタの値を１インクリメントする（図５のステップ５０８）。次に、ＴＸドライバ出力決定部３０５が、ＳｅｒＤｅｓ用のパケットに、そのＴＸカウンタ値をＩＤとして付与し、リクエストフラグを立てる（図５のステップ５０９）。次に、ＣＰＵ１００が、ＴＸタイマ３１２をスタートする（図５のステップ５１０）。これと同時に、ＳｅｒＤｅｓ制御部３０６が、ステップ５０４〜５０７またはステップ５１２、５１３の処理とステップ５０８、５０９の処理を経て各値が設定されたＳｅｒＤｅｓ用のパケットをテストパターンと一緒に送信する（図５のステップ５１１）。その後、再び「ＳｅｒＤｅｓ評価Ｓｔａｒｔ」からの処理を実行する。
【００７６】
最後に、ＣＰＵ１００は、リクエスト／レスポンス検出部３０２を通じて、リンク相手のＳｅｒＤｅｓ評価結果（図４のステップ４０９のＲＸコンプリートフラグ）とローカルデバイスのＳｅｒＤｅｓ評価結果（図５のステップ５０３のＴＸコンプリートフラグ）を確認する（図４のステップ４１９）。ＲＸコンプリートフラグおよびＴＸコンプリートフラグがともに立っていることが確認された場合に、ＳｅｒＤｅｓ評価の処理は終了する。ＲＸコンプリートフラグおよびＴＸコンプリートフラグの少なくとも一方が立っていない場合は、再び「ＳｅｒＤｅｓ評価Ｓｔａｒｔ」からの処理に戻り、フラグが立っていない側の評価を継続して実行する。
【００７７】
尚、図４および図５に示した処理を実行するための前提条件として、ローカルデバイスからＴＸのＳｅｒＤｅｓ評価リクエストを受けたリンク相手は、ローカルデバイスに対して、ＴＸのＳｅｒＤｅｓ評価レスポンスを返すまでは、リンク相手側のＴＸのＳｅｒＤｅｓのスイング設定及びエンファシス設定は行わないものとする。
【００７８】
また、図２のステップ２０８の処理が、図４および図５におけるスイングやエンファシスのアップ／ダウンのセッティングに対応し、図２のステップ２１０の処理が、図４におけるスイングやエンファシスのスペック比較に対応する。
【００７９】
次に、ＲＸ比較器３０７の具体的な動作について説明する。
【００８０】
図６は、ＲＸ比較器３０７によるＤＣスペック比較方法を説明するための模式図である。サンプリングデータの精度を保つためにはサンプリング数が高いことが望ましいことから、図６に示す例では、前提条件として、サンプリングクロックの供給元であるＰＬＬコントローラ１０１のメインＰＬＬ１０１１の逓倍数を最大値に設定している。高速シリアルＩ／Ｆで使用されるクロックは、数パターンに決められている。これに対し、サンプリングクロックの周波数は、メインＰＬＬ１０１１の最大値に固定されるため、１ＵＩ当りのサンプリング数も数パターンに決定される。
【００８１】
図６において、符号６０３はリンク相手から受信したデータのアイダイヤグラムを示す。符号６００は振幅の最大閾値を示し、符号６０１はアイダイヤグラム６０３の開口時の振幅の最小閾値を示す。符号６０２は、ＡＣカップリング実施時のセンタレベルを示す。また、１ＵＩ当りのサンプリング数を１１サンプルとする。符号Ｄ１〜Ｄ１１は、サンプリングデータである。符号Ｓ１〜Ｓ１８は、サンプリングクロックの立ち上がりエッジのタイミングを示す。１ＵＩを１１等分した場合のＤＣスペックサンプルポイントとして、アイダイヤグラム６０３をＭｉｎｉｍｕｍ値としたスペックサンプルポイントＰ１〜Ｐ１１が決定される。このようにして決定されたＤＣスペックサンプルポイントＰ１〜Ｐ１１はそれぞれ、サンプリングデータＤ１〜Ｄ１１のＤＣスペックの最小値を示す。残りの高速シリアルＩ／Ｆで使用されるクロックの数パターンについても、同様にして、ＤＣスペックサンプルポイントを決定する。
【００８２】
上記のようにして決定したＤＣスペックサンプルポイントを、ＤＣスペックテーブル３０８に予め格納しておく。
【００８３】
ＤＣスペック比較を行う場合は、例えば、サンプリング部３０３から出力されたサンプリングデータからＵＩ検出部３０４が検出するマイナス振幅からプラス振幅へ転じた最初のサンプルポイント（図６のＤ１）をＵＩ位置として記憶する。そして、その記憶した最初のサンプルポイントと図６のＤＣスペックサンプルポイントのＵＩ位置に相当するＰ１との間の振幅を比較する。この振幅比較は、パターン毎に行われる。
【００８４】
図７は、ＲＸ比較器３０７によるジッタスペック比較方法を説明するための模式図である。図７において、符号Ｓ１〜Ｓ１８はサンプリングクロックの立ち上がりエッジのタイミングを示し、符号７０１は０Ｖラインを示す。符号７０１、７０２はサンプリングポイント（サンプルデータ）を示す。符号７００は、図３のＵＩ検出部３０４で検出したＵＩ位置を示す。
【００８５】
ジッタスペック比較を行う場合は、ＵＩ検出部３０４で検出したＵＩ位置７００を基準にして、そのＵＩ位置に対応するサンプルデータ７０１を検出する。さらに、その検出したサンプルデータ７０１とその１サンプル前のサンプルデータ７０２との間を線形補間する。そして、線形補間により得られたラインと０Ｖライン７０４とのクロスポイント７０５をサンプリングする。同様な方法で、ＵＩ検出部３０４で検出した複数のＵＩ位置についてクロスポイントを取得し、それらクロスポイントから得られる周期的ジッタが、ジッタスペックテーブル３０９に格納されている周期的ジッタの範囲に収まっているか否かを判定する。この周期的ジッタの判定は、パターン毎に行われる。
【００８６】
また、図７に示すようなクロスポイントを検出するためには、図４のステップ４１８や図５のステップ５１１で送信するテストパターンは、論理が０，１交互に連続するパターンが数回くることが望ましい。このため、ここでは、高速シリアルのアイドルパターンとして用いられるＫ２８．５＋Ｄ５．６を一使用例として挙げる。
【００８７】
以上説明した本実施形態において、コンフィグレーション時とＳｅｒＤｅｓ評価時とでＰＬＬ回路の出力クロックの振り分けが行われる構成としており、これにより、図２に示したように自動ネゴシエーション処理にＳｅｒＤｅｓ評価処理を組み込むことが可能になっている。この構成により、デバイスコンフィグレーション前に、シリアライザ／デシリアライザ（ＳｅｒＤｅｓ）評価を自動で行うことができる低コストの半導体装置を提供することができる。
【００８８】
また、１デバイス上でＳｅｒＤｅｓ評価を実施できるように構成しているので、デバイスへの電源投入及びリセット解除後に、自動的にＳｅｒＤｅｓ評価を実施できる。
【００８９】
さらに、サンプリングクロックを固定化（メインＰＬＬのＭＡＸ値）し、且つ、サンプリングクロックをリカバリクロックと同期させることで、リカバリデータのＵＩ位置が固定化できる。このため、予めサンプリングデータと比較させるためのスペックデータを固定値として決定でき、比較処理の高速化を図ることができる。
【００９０】
これに対して、特許文献１に記載の調整方法では、スイング／エンファシスの設定を自動化することはできるものの、スイング／エンファシスの値を評価するためのテーブルをアイダイヤグラムから作成する必要がある。このため、アイダイヤグラム測定に必要な時間を判定時間として要し、短時間でスイング／エンファシスの設定を行うことは困難である。したがって、同一基板上のデバイス間のコンフィグレーションのように、短時間でスイング／エンファシスの設定を行う必要があるケースに、特許文献１に記載の調整方法をそのまま適用することは困難である。
【００９１】
本実施形態において、図２、図４および図５に示した一連の処理は、基本的には、プログラムをコンピュータが実行することにより実現することができる。ここで、コンピュータは、各デバイスを制御するコアＣＰＵであり、例えば、ＤＳＰ（Digital Signal Processer）等である。このプログラムは、ＣＤ−ＲやＤＶＤに代表される記録媒体により提供されてもよく、また、インターネット等を通じて提供されてもよい。
【００９２】
（他の実施形態）
図８は、本発明の他の実施形態である半導体装置の構成を示すブロック図である。図８を参照すると、本実施形体の半導体装置は、シリアルインタフェース８０６、８０７を介して相互に通信可能に接続されたデバイス８００、８１０を有する。デバイス８００、８１０は同じ構成を有する。ここでは、デバイス８００の構成を例に、その詳細を説明する。なお、デバイス８００、８１０は同一基板上に形成されてもよく、別々の基板上に形成されてもよい。
【００９３】
デバイス８００は、制御部８０１、クロック出力部８０２、デマルチプレクサ８０３、機能部８０４およびシリアライザ／デシリアライザ入出力評価部８０５を有する。
【００９４】
クロック出力部８０２は、ＰＬＬ回路により構成されるものであって、具体的には、図１に示したＰＬＬコントローラ１０１のメインＰＬＬ１０１１である。デマルチプレクサ８０３は、第１および第２の出力端子を備え、クロック出力部８０２からのクロックを第１および第２の出力端子のいずれかから出力する。
【００９５】
機能部８０４は、デマルチプレクサ８０３の第１の出力端子から出力されたクロックに基づいて動作する。デマルチプレクサ８０３の第２の出力端子から出力されたクロックがサンプリングクロックとしてシリアライザ／デシリアライザ入出力評価部８０５に供給される。
【００９６】
制御部８０１は、機能部８０４に対するコンフィグレーションが実行される前に、クロック出力部８０２からのクロックをデマルチプレクサ８０３の第２の出力端子から出力させ、コンフィグレーションの実行時は、クロック出力部８０２からのクロックをデマルチプレクサ８０３の第１の出力端子から出力させる。
【００９７】
シリアライザ／デシリアライザ入出力評価部８０５は、リンク先のデバイス８１０から受信したデータをサンプリングクロックに基づいてサンプリングし、該サンプリングデータから得られたアイダイヤグラムの波形評価値が許容範囲内か否かを判定し、該判定結果を前記リンク先デバイスへ向けて送信する。また、シリアライザ／デシリアライザ入出力評価部８０５は、リンク先のデバイス８１０から自デバイスの送信データに対する波形評価値に基づく判定結果を受信し、該判定結果に基づき、自デバイスのデータ伝送条件を決定する。シリアライザ／デシリアライザ入出力評価部８０５は、図１および図３に示したシリアライザ／デシリアライザ入出力評価部１０５に対応する。
【００９８】
本実施形態においては、機能部８０４へクロックを供給するクロック出力部８０２の出力クロックを、機能部８０４に対するコンフィグレーションが実行される前に、シリアライザ／デシリアライザ評価用のサンプリングクロックとして用いる。そして、リンク先のデバイスから受信した受信データをサンプリングクロックでサンプリングし、該サンプリングデータから得られたアイダイヤグラムの波形評価値が許容範囲内か否かを判定し、該判定結果をリンク先デバイスへ向けて送信するとともに、リンク先デバイスから自デバイスの送信データに対する波形評価値に基づく判定結果を受信し、該判定結果に基づき、自デバイスのデータ伝送条件を決定する。この一連の処理は、プログラムをコンピュータが実行することにより実現することができる。ここで、コンピュータは、各デバイスを制御するコアＣＰＵであり、例えば、ＤＳＰ（Digital Signal Processer）等である。このプログラムは、ＣＤ−ＲやＤＶＤに代表される記録媒体により提供されてもよく、また、インターネット等を通じて提供されてもよい。
【００９９】
本実施形態によれば、デバイスコンフィグレーション前に、シリアライザ／デシリアライザ（ＳｅｒＤｅｓ）評価を自動で行うことができる低コストの半導体装置を提供することができる。
【０１００】
以上説明した各実施形態は、本発明の一例であり、その構成および動作は、発明の趣旨を逸脱しない範囲で適宜に変更することができる。
【０１０１】
本発明は、半導体装置の他、ＳｅｒＤｅｓ評価が行われる通信システム全般に適用することができる。具体的には、移動体通信システムを構成する移動局（無線通信装置）と基地局（無線通信装置）の間のシリアルデータ伝送において、本発明を適用することができる。本発明を適用した移動体通信システムも、基本的には、図８に示した構成により実現される。具体的には、移動局と基地局のそれぞれが、図８に示したデバイス８００の構成を有する。
【０１０２】
具体例として、図８に示した構成を有する無線通信装置（移動局また基地局）の構成を簡単に説明する。この無線通信装置は、外部無線通信装置とシリアルインタフェースを介した無線通信が行われる無線通信装置であって、クロックを出力するクロック出力部８０２と、第１および第２の出力端子を備え、クロック出力部８０２からのクロックを第１および第２の出力端子のいずれかから出力するデマルチプレクサ８０３と、デマルチプレクサ８０３の第１の出力端子から出力されたクロックに基づいて動作する機能部８０４と、デマルチプレクサ８０３の第２の出力端子から出力されたクロックがサンプリングクロックとして供給されるシリアライザ／デシリアライザ入出力評価部８０５と、機能部８０４に対するコンフィグレーションが実行される前に、クロック出力部８０２からのクロックをデマルチプレクサ８０３の第２の出力端子から出力させ、コンフィグレーションの実行時は、クロック出力部８０２からのクロックをデマルチプレクサ８０３の第１の出力端子から出力させる制御部８０１と、を有する。シリアライザ／デシリアライザ入出力評価部８０５は、外部無線通信装置から受信したデータをサンプリングクロックに基づいてサンプリングし、該サンプリングデータから得られたアイダイヤグラムの波形評価値が許容範囲内か否かを判定し、該判定結果を前記外部無線通信装置へ向けて送信する。また、シリアライザ／デシリアライザ入出力評価部８０５は、外部無線通信装置から自デバイスの送信データに対する波形評価値に基づく判定結果を受信し、該判定結果に基づき、自デバイスのデータ伝送条件を決定する。
【０１０３】
上記の無線通信装置（移動局と基地局）は、図１および図３に示したようなデバイスの構成を有していてもよい。移動局と基地局との間では、上り回線および下り回線のそれぞれでシリアルでの無線通信が行われる。移動局と基地局のそれぞれにおいて、前述の各実施形態で説明したようなＳｅｒＤｅｓ評価を実行することができる。
【符号の説明】
【０１０４】
８００、８０１  デバイス
８０１  制御部
８０２  クロック出力部
８０３  デマルチプレクサ
８０４  機能部
８０５  シリアライザ／デシリアライザ入出力評価部
【図１】
2010212771.tif 000003
【図２】
2010212771.tif 000004
【図３】
2010212771.tif 000005
【図４】
2010212771.tif 000006
【図５】
2010212771.tif 000007
【図８】
2010212771.tif 000008
【図６】
2010212771.tif 000009
【図７】
2010212771.tif 000010