(57)【特許請求の範囲】
【請求項１】
データ受信回路において，
第１データレートの基準クロックに基づいて，入力されたシリアルデータをラッチするデータラッチ部と，
前記データラッチ部が出力したシリアルデータが前記第１データレートで送信されたものである場合に，前記第１データレートの基準クロックに基づいて，前記データラッチ部が出力したシリアルデータをパラレル変換して第１パラレルデータを生成し，前記第１データレートの基準クロックから前記第１パラレルデータの基準クロックとなる第１クロックを生成する第１データ出力部と，
前記第１データレートと第２データレートとのデータ周期の比率に基づいて設定された，クロックのサイクル毎に繰り返して付与されるカウント値の範囲，及び各カウント値に対するクロック出力の有無が設定されたカウンタ情報テーブルを備え，前記データラッチ部が出力したシリアルデータが前記第１データレートより低速な第２データレートで送信されたものである場合に，前記データラッチ部が出力したシリアルデータを所定のビット幅を有する中間パラレルデータを生成し，前記中間パラレルデータにおいてビットデータの変化位置以外のビットをもとに第２パラレルデータを生成し，前記第１クロックから所定の分周比に基づいた中間クロックを生成し，前記カウンタ情報テーブルに応じて付与した前記中間クロックの各サイクルのカウント値に従って出力クロックを生成又は抑止して前記第２パラレルデータの基準クロックとなる第２クロックを生成する第２データ出力部とを備える
ことを特徴とするデータ受信回路。
【請求項２】
前記第２データ出力部は，
前記第２パラレルデータを，前記第２クロックに基づいて前記中間パラレルデータから前記決定された選択ビットのビットデータを抽出し，前記抽出したビットデータをもとに生成する処理を行う
ことを特徴とする請求項１に記載のデータ受信回路。
【請求項３】
前記入力した第１データレートの基準クロックに対応する内部クロックに対するクロック再生動作を行うクロックデータリカバリ部と，
前記データラッチ部が出力したシリアルデータが前記第２データレートで送信されたものである場合に，前記クロックデータリカバリ部のクロック再生動作を停止させるスイッチ部とを備える
ことを特徴とする請求項１または請求項２に記載のデータ受信回路。
【請求項４】
前記第２データ出力部は，
前記中間パラレルデータにおけるビットデータの変化位置と前記選択ビットとなるビットとを対応付けた変化点位置検出テーブルを備えて，
前記変換点位置検出テーブルに基づいて，前記検出した変化位置に対応するビットを前記選択ビットに決定する処理を行う
ことを特徴とする請求項１ないし請求項３のいずれか一項に記載のデータ受信回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，複数のデータ転送ポートを有するデータ受信回路に関する。
【背景技術】
【０００２】
近年では，サーバ装置やネットワーク装置等に，高速データ伝送規格に対応したデータ転送ポートを多数有するＬＳＩが用いられている。高速データ伝送規格とは，例えば，１０ギガビットイーサネット（IEEE802.3ae 規格，イーサネットは登録商標），ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）−Ｅｘｐｒｅｓｓ等である。
【０００３】
高速データ伝送用途のＬＳＩでは，高速化，高性能化が図られ，さらに，低コスト化，低消費電力化が要求される。そのために，データ送受信回路を高密度化して１つのＬＳＩに複数のデータ転送ポート（チャネル）を備えるように構成される。
【０００４】
一般的に，データ受信回路は，レシーバ回路及びクロックを生成するＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）回路等を有する。ＰＬＬ回路は，ＬＳＩ中の回路面積の大きな割合を占め，消費電力についても他の回路に比較して大きい。したがって，１つのＬＳＩに複数のデータ転送ポートを搭載する場合に，チャネルごとにＰＬＬ回路を有する構成とすると，ＰＬＬ回路の面積がＬＳＩ全体に占める割合がさらに大きくなり，さらに消費電力も大きくなる。そのため，データ受信回路においては，１つのＰＬＬ回路を複数のチャネルのレシーバ回路で共有する構成が一般的である。
【０００５】
従来，プログラマブルロジックデバイス集積回路上の高速シリアルデータレシーバ用のデシリアライザ回路網において，シリアルデータを任意のデータ幅を有するパラレルデータに変換するための回路網等が提案されている。
【０００６】
また，プログラマブルロジックデバイスの広範なプログラマブル性のためのヘテロなトランシーバアーキテクチャにおいて，第一の比較的低い最大データレートまでのデータレートで動作可能ないくつかのチャネル，及び，第二の比較的高い最大データレートまでのデータレートで動作可能な他のチャネルを含む高速シリアルデータトランシーバ回路網が提案されている。
【０００７】
以下に，本発明者が，解決課題に関連する技術として検討した構成について説明する。
【０００８】
図１０及び図１１は，本発明者が検討した関連技術を説明するための図である。
【０００９】
図１０に示すデータ受信回路９００は，１つのＰＬＬ回路９０１，複数のレシーバ回路９０２を備える構成である。
【００１０】
データ受信回路９００は，レシーバ回路９０２の各々で，複数のシリアルデータ＃１１〜＃１４の入力をパラレルデータ＃１１〜＃１４に変換し，変換したパラレルデータ＃１１〜＃１４を送信する。
【００１１】
なお，以下では，チャネル＃１１とは，シリアルデータ＃１１の入力からパラレルデータ＃１１への変換に対応したチャネルであり，その他チャネル＃１２〜＃１４についても同様とする。
【００１２】
ＰＬＬ回路９０１は，所定のクロック信号を各レシーバ回路９０２へ送信する。ＰＬＬ回路９０１は，クロック信号Ｃｌｋをレシーバ回路９０２へ送信する。各レシーバ回路９０２は，シリアルデータ＃１１〜＃１４を受信すると，クロック信号Ｃｌｋに基づいてパラレルデータ＃１１〜＃１４に変換し，変換したパラレルデータ＃１１〜＃１４を送信する。
【００１３】
図１１に示すデータ受信回路９１０は，複数のＰＬＬ回路９１１，複数のレシーバ回路９１２，複数のスイッチ回路（ＳＷ）９１３を備える。なお，複数のＰＬＬ回路９１１は，高速クロックＣｌｋＨを出力するＰＬＬ回路９１１Ａ，低速クロックＣｌｋＬを出力するＰＬＬ回路９１１Ｂ等のように表す。
【００１４】
ＰＬＬ回路９１１Ａは，高速クロックＣｌｋＨを生成し，生成した高速クロックＣｌｋＨを複数のスイッチ回路９１３へ送信する。ＰＬＬ回路９１１Ｂは，低速クロックＣｌｋＬを生成し，生成した低速クロックＣｌｋＬを複数のスイッチ回路９１３へ送信する。前述の図１０に示すデータ受信回路９００の場合と同様に，高速クロックＣｌｋＨは，低速クロックＣｌｋＬよりも高い周波数のクロックとする。
【００１５】
スイッチ回路９１３は，複数のクロック入力からレシーバ回路９１２へ供給するクロックを選択するスイッチである。スイッチ回路９１３は，ＰＬＬ回路９１１Ａから生成された高速クロックＣｌｋＨ及びＰＬＬ回路９１１Ｂから生成された低速クロックＣｌｋＬを受信する。スイッチ回路９１３は，各々，受信したクロック選択信号Ｃｌｋ＃２１〜＃２４に基づいて，高速クロックＣｌｋＨ又は低速クロックＣｌｋＬを選択し，選択したクロックを各々のレシーバ回路９１２へ送信する。
【００１６】
レシーバ回路９１２は，シリアルデータ＃２１〜＃２４を受信する。レシーバ回路９１２は，各々，スイッチ回路９１３からの送信されたクロックに基づいて，シリアルデータ＃２１〜＃２４をパラレルデータ＃２１〜＃２４へ変換する。
【００１７】
データ受信回路９１０は，異なるデータレートに対応したクロックを供給する複数のＰＬＬ回路９１１を備えるため，各チャネルは，クロック選択信号Ｃｌｋ＃２１〜＃２４に従って，独立してデータレートを選択できる。これにより，データ受信回路９１０は，受信した複数のシリアルデータ＃２１〜＃２４を，チャネル毎に設定したデータレートのパラレルデータ＃２１〜＃２４に変換することができる。
【先行技術文献】
【特許文献】
【００１８】
【特許文献１】特開２００７−４３７１８号公報
【特許文献２】特開２００７−２８２１８３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１９】
多くのシステムでは，チャネルの接続先に応じて独立してデータレートが選択可能であることが望まれている。複数のデータ転送ポート（チャネル）を備えるデータ伝送回路において，転送ポートごとに異なるデータレートによるデータ受信を行える必要がある。
【００２０】
しかしながら，図１０に示すデータ受信回路９００は，複数のレシーバ回路９０２に基づいた複数のチャネル＃１１〜＃１４を有する。しかし，データ受信回路９００は，１つのＰＬＬ回路９０１を，複数のチャネル＃１１〜＃１４で共有するため，全てのチャネルのパラレルデータ＃１１〜＃１４のデータレートが同じ値となる。すなわち，データ受信回路９００では，各チャネルが高速クロックＣｌｋＨ又は低速クロックのいずれかを独立して選択することができないため，全てのチャネルが，１つのクロックに基づいたデータレートとなる。したがって柔軟性に欠け，チャネルの接続先に応じて独立してデータレートを選択することができない。
【００２１】
また，図１１に示すデータ受信回路９１０では，各チャネルが独立して伝送するデータレートに対応するために，異なるデータレートの種類に対応したクロックを生成する複数のＰＬＬ回路９１１が必要となる。さらに，データ受信回路９１０では，各チャネルが独立して，複数のＰＬＬ回路９１１の出力を選択してレシーバ回路９１２に供給するために，複数のＰＬＬ回路９１１の出力クロックを切り替えるための各チャネルに対応するスイッチ回路９１３が必要となる。
【００２２】
そのため，データ受信回路９１０において，ＰＬＬ回路９１１，スイッチ回路９１３等の回路面積における占有割合が増加する。また，データ受信回路９１０において，動作スピードに対応して複数のＰＬＬ回路９１１，高速にＰＬＬの出力クロックを切り替えるスイッチ回路９１３等が必要となり，これにより消費電力が増加する。さらに，出力クロック切り替えのスイッチ回路９１３の使用によってジッタが増加し，シリアルデータをサンプリングするタイミング精度が悪化してデータ受信エラーを生じる確率が高くなる。
【００２３】
以上のとおり，データ受信回路に１つのＰＬＬ回路を備えて１つのクロックを供給する回路構成の場合に，複数のチャネルのデータレートを独立して設定することができない。
【００２４】
一方，データ受信回路に複数のＰＬＬ回路を備えて複数のクロックを供給する回路構成の場合には，複数のＰＬＬ回路及びスイッチ回路等の設置によって，ＬＳＩでの占有面積の割合の増加，消費電力の増加等の問題が生じる。
【００２５】
本発明は，上記の問題に鑑みてなされたものであり，１つの高速クロックのみを用いて，各チャネルが，それぞれ独立に，高速クロックのデータレートと，高速クロックより低速の異なるデータレートとを選択してデータ受信を行うことができるデータ受信回路を提供することを目的とする。
【課題を解決するための手段】
【００２６】
本発明の一態様として開示されたデータ受信回路は，シリアルデータをパラレルデータに変換し，該パラレルデータを出力するデータ受信回路である。
【００２７】
前記データ受信回路は，第１データレートの基準クロックに基づいて，入力されたシリアルデータをラッチするデータラッチ部と，前記データラッチ部が出力したシリアルデータが前記第１データレートで送信されたものである場合に，前記第１データレートの基準クロックに基づいて，前記データラッチ部が出力したシリアルデータをパラレル変換して第１パラレルデータを生成し，前記第１データレートの基準クロックから前記第１パラレルデータの基準クロックとなる第１クロックを生成する第１データ出力部と，前記第１データレートと第２データレートとのデータ周期の比率に基づいて設定された，クロックのサイクル毎に繰り返して付与されるカウント値の範囲，及び各カウント値に対するクロック出力の有無が設定されたカウンタ情報テーブルを備え，前記データラッチ部が出力したシリアルデータが前記第１データレートより低速な第２データレートで送信されたものである場合に，前記データラッチ部が出力したシリアルデータを所定のビット幅を有する中間パラレルデータを生成し，前記中間パラレルデータにおいてビットデータの変化位置以外のビットをもとに第２パラレルデータを生成し，前記第１クロックから所定の分周比に基づいた中間クロックを生成し，前記カウンタ情報テーブルに応じて付与した前記中間クロックの各サイクルのカウント値に従って出力クロックを生成又は抑止して前記第２パラレルデータの基準クロックとなる第２クロックを生成する第２データ出力部とを備える。
【発明の効果】
【００２８】
開示されたデータ受信回路は，１つのＰＬＬ回路でデータレートが異なる複数のチャネルによるデータ受信を行うことができるため，チャネル独立に伝送スピードを選択することができる。
【００２９】
また，前記のデータ受信回路では，１つのＰＬＬ回路でクロックを供給するため，ＰＬＬ回路やスイッチ回路等の面積割合を極力少なくすることができる。これにより，ＰＬＬ回路，スイッチ回路等を極力少なくすることができ，消費電力を低減することができる。
【００３０】
さらに，前記のデータ受信回路では，複数のクロックの切り替えが不要なため，クロック切り替えのスイッチ回路が不要となる。これにより，消費電力の低減，回路構成の効率化，データ伝送品質の劣化抑止等を実現することができる。
【図面の簡単な説明】
【００３１】
【図１】本発明の一実施の形態として開示されるデータ受信回路の構成例を示す図である。
【図２】一実施の形態におけるレシーバ回路の構成例を示す図である。
【図３】一実施の形態におけるバウンダリ検出・低速データ抽出部の構成例を示す図である。
【図４】一実施の形態における低速データの変化位置を検出する動作を説明するための図である。
【図５】一実施の形態におけるカウンタ情報テーブル例を示す図である。
【図６】一実施の形態におけるバウンダリ検出・低速データ抽出部の動作を説明するための図である。
【図７】一実施の形態におけるバウンダリ検出・低速データ抽出部の動作を説明するための図である。
【図８】一実施の形態におけるレシーバ回路の他の構成例を示す図である。
【図９】他の実施の形態におけるクロックデータリカバリ部の動作を説明するための図である。
【図１０】本発明者の検討した関連技術を説明するための図である。
【図１１】本発明者の検討した関連技術を説明するための図である。
【発明を実施するための形態】
【００３２】
図１は，本発明の一実施の形態として開示されるデータ受信回路１の構成例を示す図である。
【００３３】
図１に示すデータ受信回路１は，複数のチャネル＃１〜＃ｎ（ｎは２以上の整数）を有して，チャネル毎に異なるデータレート＃１〜＃ｍ（ｍは２以上の整数）のシリアルデータ（入力信号）を受信し，受信したシリアルデータをデータレート選択信号＃１〜＃ｎに基づいてパラレル変換し，生成したパラレルデータ＃１〜＃ｎ及びクロック＃１〜＃ｎを出力する回路である。
【００３４】
図１に示すパラレルデータ＃１は，データレート＃１に対応したパラレルデータ＃１（１），データレート＃ｍ（ｍは２以上の整数）に対応したパラレルデータ＃１（ｍ）等を代表して示し，その他のパラレルデータ＃ｎ等も同様に示す。
【００３５】
クロック＃１は，データレート＃１に対応したクロック＃１（１），データレート＃ｍに対応したクロック＃１（ｍ）等を代表して示し，その他のクロック＃ｎ等も同様に示す。
【００３６】
パラレルデータは，例えば複数の信号線，バス等で伝送される複数のビット（ビット幅）を有するデータであり，そのビット幅は，例えば８ビット（ｂｉｔ），１６ビット，６６ビット等である。
【００３７】
シリアルデータは，複数のビットのデータが，例えば１つの信号線を介して時分割に伝送されるデータである。
【００３８】
本実施の形態において，チャネル＃１とは，シリアルデータ＃１をデータレート＃１〜＃ｍのパラレルデータ＃１（１）〜＃１（ｍ）へ変換するチャネルを示すものとする。その他のチャネル＃２〜＃ｎについても同様とする。
【００３９】
図１に示すデータ受信回路１は，ＰＬＬ回路２，及び，チャネル＃１〜＃ｎに対応する複数のレシーバ回路３を備える。
【００４０】
ＰＬＬ回路２は，基準入力クロックに相当するクロック信号（クロックＣｌｋ）を各レシーバ回路３へ供給する。
【００４１】
クロックＣｌｋは，データ受信回路１が送信するパラレルデータの最高速のデータレート（以下，「高速データレート」という）に対応したクロック信号である。
【００４２】
図１に示すデータ受信回路１において，データレート＃１が高速データレートであり，その他のデータレート＃２〜＃ｍがデータレート＃１よりも低速のデータレート（以下，「低速データレート」という）であるとする。
【００４３】
なお，高速データレートは，本願の請求項の範囲に記載される「第１データレート」に相当するものであり，低速データレートは，同様に「第２データレート」に相当するものである。
【００４４】
レシーバ回路３は，それぞれ，チャネル毎にデータレートを指示する信号であるデータレート選択信号＃ｉ（ｉ＝１〜ｎのいずれかの整数）を受信して，データレート選択信号＃ｉに基づいて，高速データレート又は低速データレートの中のいずれかのデータレート＃ｊ（ｊ＝１〜ｍのいずれかの整数）が決定されると，決定されたデータレート＃ｊに従って，シリアルデータ＃ｉをシリアル／パラレル変換して，パラレルデータ＃ｉ及びクロック＃ｉを生成して出力する。
【００４５】
具体的には，レシーバ回路３は，データレート選択信号＃ｉに従って，各々，受信したシリアルデータ＃ｉを指示されたデータレート＃ｊに対応するパラレルデータ＃ｉを決定する。
【００４６】
レシーバ回路３は，データレート選択信号＃ｉが高速データレートである場合に，ＰＬＬ回路２のクロックＣｌｋに基づいて，シリアルデータ＃ｉをデータレート＃１に対応するパラレルデータにシリアル／パラレル変換して，パラレルデータ＃ｉ（１）及びクロック＃ｉ（１）を生成する。
【００４７】
また，レシーバ回路３は，データレート選択信号＃ｉが低速データレートである場合に，まず，高速データレートのクロックＣｌｋに基づいて，シリアルデータ＃ｉを高速データレートであるデータレート＃１のパラレルデータ（中間パラレルデータ）に変換する。レシーバ回路３は，さらに，変換した中間パラレルデータのエッジ検出を検出及びクロックＣｌｋを分周した中間クロックに基づいて，中間パラレルデータから低速データレートに対応するパラレルデータ＃ｉ（２）〜＃ｉ（ｍ）及び低速クロック（クロック＃ｉ（２）〜＃ｉ（ｍ））を生成する。
【００４８】
そして，レシーバ回路３は，決定したデータレート＃ｊに対応するパラレルデータ＃ｉ及びクロック＃ｉの生成後，生成したパラレルデータ＃ｉ及びクロック＃ｉを出力（他の回路等へ送信）する。
【００４９】
上述の高速データレートに対応するパラレルデータ＃ｉ（１）が，本願の特許請求の範囲に記載される「第１のパラレルデータ」に，クロック＃ｉ（１）が「第１の出力クロック」に，低速データレートに対応するパラレルデータ＃ｉ（２）〜＃ｉ（ｍ）が「第２のパラレルデータ」に，低速クロック（クロック＃ｉ（２）〜＃ｉ（ｍ））が「第２の出力クロック」に，それぞれ相当する。
【００５０】
レシーバ回路３へ入力されるシリアルデータｄ（ｄは，図１に示す＃１〜＃ｎの各々に対応する）のうち，データレート＃１のシリアルデータは，高速データレートのシリアルデータである。高速データレート（データレート＃１）は，例えば１０．３１２５Ｇｂｐｓ（Ｇｉｇａ  ｂｉｔ／ｓｅｃ）とする。
【００５１】
また，データレート＃２のシリアルデータは，低速データレートのシリアルデータである。低速データレート（データレート＃２）は，例えば１．２５Ｇｂｐｓとする。
【００５２】
１つのレシーバ回路３に，データレート＃１〜＃２のいずれかのデータレートのシリアルデータが入力されるものとする。例えば，図１に示す全てのレシーバ回路３にデータレート＃１のシリアルデータが入力されてもよく，又は，データレート＃２のシリアルデータが入力されてもよく，又は，いくつかのレシーバ回路３に異なるデータレートのシリアルデータが入力されてもよい。
【００５３】
なお，レシーバ回路３は，チャネル毎に異なるデータレート＃ｊのデータレート選択信号＃ｉを受信してもよいし，チャネル毎に同一のデータレート＃ｊのデータレート選択信号＃ｉを受信してもよい。
【００５４】
ＰＬＬ回路２は，シリアルデータｄの基準入力クロックであるクロックＣｌｋをレシーバ回路３に出力する。基準入力クロックは，１０．３１２５／２ＧＨｚクロックとなる。
【００５５】
データレート選択信号ｓが高速データレートの場合（以下，高速モードという）に，レシーバ回路３は，１０．３１２５Ｇｂｓのデータレートのシリアルデータｄが入力されると，３３ｂｉｔパラレルデータ及び３１２．５ＭＨｚクロック＃１を出力する。
【００５６】
一方，データレート選択信号ｓが低速データレートの場合（以下，低速モードという）に，レシーバ回路３は，１．２５Ｇｂｓのデータレートのシリアルデータｄが入力されると，４ｂｉｔパラレルデータ及び３１２．５ＭＨｚクロック＃２を出力する。
【００５７】
このように，レシーバ回路３は，データレート選択信号ｓに応じて上述のパラレルデータを選択的に出力する。
【００５８】
図２は，本実施形態におけるレシーバ回路３の構成例を示す図である。
【００５９】
レシーバ回路３は，データラッチ部３１，デマルチプレクサ部３３，バウンダリ検出・低速データ抽出部３４，バウンダリラッチ部３５，位相比較部３６，クロック信号発生部３７，及びスイッチ部３８を備える。
【００６０】
データラッチ部３１は，レシーバ回路３に入力されたシリアルデータｄを受信して，クロック信号発生部３７から出力された１０．３１２５ＧＨｚクロックのタイミングに基づいて，受信したシリアルデータｄのデータをラッチする。データラッチ部３１は，ラッチしたデータＤｔ（後述する図３に示す）をデータラッチ出力として，デマルチプレクサ部３３，バウンダリ検出・低速データ抽出部３４等に出力する。
【００６１】
デマルチプレクサ部３３は，データレート選択信号ｓに従って，高速モードにおけるシリアル／パラレル変換処理を実行する。デマルチプレクサ部３３は，クロック信号発生部３７が出力する１０．３１２５ＧＨｚクロックに基づいて，データラッチ出力から高速データレート信号に対応するパラレルデータを生成する。具体的には，デマルチプレクサ部３３は，３３ｂｉｔパラレルデータ（第１パラレルデータ）及び３１２．５ＭＨｚクロック＃１（第１出力クロック）を生成，出力する。
【００６２】
バウンダリ検出・低速データ抽出部３４は，データレート選択信号ｓに従って，低速モードにおけるシリアル／パラレル変換処理を実行する。バウンダリ検出・低速データ抽出部３４は，クロック信号発生部３７が出力する１０．３１２５ＧＨｚクロックに基づいて，データラッチ出力から低速データレート信号に対応するパラレルデータを生成する。具体的には，バウンダリ検出・低速データ抽出部３４は，データラッチ出力と１０．３１２５ＧＨｚクロックとに基づいて，４ｂｉｔパラレルデータ（第２パラレルデータ）と３１２．５ＭＨｚクロック＃２（第２出力クロック）とを生成，出力する。
【００６３】
バウンダリラッチ部３５は，クロック信号発生部３７から出力された１０．３１２５ＧＨｚクロックのタイミングに基づいて，シリアルデータｄのデータをラッチして，ラッチしたデータをバウンダリラッチ出力として位相比較部３６に出力する。
【００６４】
位相比較部３６は，データラッチ部３１のデータラッチ出力とバウンダリラッチ部３５のバウンダリラッチ出力とを比較処理し，フィードバックラインを介して，その比較処理の結果（フィードバック出力ＦＬ）をクロック信号発生部３７に供給（フィードバック）する。
【００６５】
クロック信号発生部３７は，レシーバ回路３に入力された１０．３１２５／２ＧＨｚクロック及び位相比較部３６から出力されたフィードバック出力ＦＬに基づいて，高速モードに対応したクロックである１０．３１２５ＧＨｚクロックを生成する。
【００６６】
バウンダリラッチ部３５，位相比較部３６及びクロック信号発生部３７は，クロックデータリカバリ部（ＣＤＲ部）３０に相当し，既知のクロックデータリカバリ処理が実施される。
【００６７】
スイッチ部３８は，位相比較部３６のフィードバック出力ＦＬとクロック信号発生部３７の入力とを接続する信号線の間に設けられたスイッチである。
【００６８】
スイッチ部３８は，データレート選択信号ｓに応じて，高速モード時にはスイッチを閉じ，また，低速モード時にはスイッチを開く。
【００６９】
これにより，高速モードの場合に，位相比較部３６とクロック信号発生部３７とが接続され，クロックリカバリ機能が動作される。クロック信号発生部３７は，クロック再生されたクロック（１０．３１２５ＧＨｚクロック）を出力する。したがって，データラッチ部３１では，この出力クロックに基づいてシリアルデータｄ（１０．３１２５Ｇｂｐｓシリアルデータ）のデータがラッチされる。
【００７０】
一方，低速モードの場合に，位相比較部３６のフィードバックループのＦＬ出力がオフとなり，クロックリカバリ機能が停止される。クロック信号発生部３７は，クロック再生されていないクロック（１０．３１２５ＧＨｚクロック）を出力する。したがって，データラッチ部３１では，この出力クロックに基づいてシリアルデータｄ（１．２５Ｇｂｐｓシリアルデータ）のデータがラッチされる。すなわち，低速モードの場合に，レシーバ回路３に入力される１０．３１２５／２ＧＨｚクロックと同タイミングのクロックでデータがラッチされる。
【００７１】
なお，図２に示すレシーバ回路３では，ＰＬＬ回路２から出力される高速クロックＣｌｋＨを基準入力クロック（１０．３１２５／２ＧＨｚクロック）とし，その２逓倍である周波数の内部クロック（１０．３１２５ＧＨｚクロック）を生成するが，その周波数比は本実施例に限定されるものではない。例えば，高速クロックＣｌｋＨが１０．３１２５／４ＧＨｚクロックであり，その４逓倍である周波数の第１の内部クロック（１０．３１２５ＧＨｚクロック）が生成されるようにしてもよい。
【００７２】
〔低速モード時の処理〕
以下に，低速モード時のレシーバ回路３の動作を説明する。
【００７３】
レシーバ回路３に入力される低速データレートと高速データレートが，単純な整数比でない場合がある。低速データレートと高速データレートが単純な整数比でない場合でも正確な低速データのパラレルデータを生成する機能を実現するため，バウンダリ検出・低速データ抽出部３４は，以下の処理部を備える。
【００７４】
図３は，バウンダリ検出・低速データ抽出部３４の構成例を示す図である。
【００７５】
バウンダリ検出・低速データ抽出部３４は，第１デマルチプレクサ部３４１，エッジ検出部３４２，セレクタ部３４３，第２デマルチプレクサ部３４４，分周器３４５，及びカウンタ部３４６を備える。
【００７６】
第１デマルチプレクサ部３４１は，入力クロックに基づいて，データラッチ部３１から出力されたデータラッチ出力をパラレルデータにシリアル／パラレル変換し，変換したパラレルデータ（中間パラレルデータに相当）をエッジ検出部３４２及びセレクタ部３４３に出力する。第１デマルチプレクサ部３４１の入力クロックは，クロック信号発生部３７が出力した１０．３１２５ＧＨｚクロックである。
【００７７】
第１デマルチプレクサ部３４１は，データラッチ部３１から出力されたデータラッチ出力を８ｂｉｔパラレルデータにシリアル／パラレル変換する。
【００７８】
エッジ検出部３４２は，入力されたパラレルデータ毎に，データの変化位置を検出する。
【００７９】
データの変化位置とは，例えば２値（０，１）のビットデータの場合に，連続するビット（又は信号）における，０から１へもしくは１から０へ変化するビット位置をいう。
【００８０】
本形態例では，エッジ検出部３４２は，入力された８ｂｉｔパラレルデータ毎に，変化点位置検出テーブル３４２１に基づいて変化位置を検出し，検出結果を変化点位置情報ＢＯＵＮＤ＿ＰＯＳとしてカウンタ部３４６へ出力する。この変化点位置情報が，低速モード時に入力される低速データ（例えば１．２５Ｇｂｐｓシリアルデータ）のバウンダリとなる。
【００８１】
セレクタ部３４３は，カウンタ部３４６から指示（出力）されるセレクタ選択ビットに基づいて，入力される中間パラレルデータ（８ｂｉｔパラレルデータ）のビットから１ｂｉｔデータを抽出し，抽出した１ｂｉｔデータを第２デマルチプレクサ部３４４に出力する。
【００８２】
第２デマルチプレクサ部３４４は，カウンタ部３４６から出力されたクロック１（１．２５ＧＨｚクロック）に基づいて，セレクタ部３４３から出力された１ｂｉｔデータを４ｂｉｔ毎にパラレルデータに並べ替えて４ｂｉｔパラレルデータとして出力する。同時に、４ｂｉｔ並べ替えが完了する毎に，第２デマルチプレクサ部３４４は，そのパラレルデータに同期したクロックを出力する。４ｂｉｔパラレルに変換しているので、１．２５ＧＨｚの１／４となる３１２．５ＭＨｚのクロックとして出力されることになる。
【００８３】
分周器３４５は，バウンダリ検出・低速データ抽出部３４に入力されたローカルクロック（１０．３１２５ＧＨｚクロック）を８分周し，カウンタ部３４６のカウント動作基準となる中間クロック（ここでは，１．２８９０６２５ＧＨｚクロック）を生成する。
【００８４】
カウンタ部３４６は，分周器３４５から出力される中間クロックを動作クロックとして，予め保持するカウンタ情報テーブル３４６１を参照して，エッジ検出部３４２から出力される変化点位置情報をもとに中間パラレルデータの中から抽出する１ｂｉｔ（ビット位置）をセレクタ選択ビットとして決定して，決定したセレクタ選択ビットをセレクタ部３４３に出力（指示）する。
【００８５】
さらに，カウンタ部３４６は，カウンタ情報テーブル３４６１に基づいてカウント動作を決定し，決定したカウント動作にもとづいて，入力した中間クロック（１．２８９０６２５ＧＨｚクロック）から低速モードの基準クロック用の内部クロック（１．２５ＧＨｚクロック）を生成し，生成した内部クロックを第２デマルチプレクサ部３４４及び第２分周器３４７に出力する。
【００８６】
カウンタ情報テーブル３４６１は，サイクルのカウント値及び変化点位置情報をもとに，セレクタ選択ビット及びカウント動作の有無を決定する条件を示すデータテーブルである。
【００８７】
次に，バウンダリ検出・低速データ抽出部３４の動作を説明する。
【００８８】
バウンダリ検出・低速データ抽出部３４において，第１デマルチプレクサ部３４１は，クロック信号発生部３７が出力したクロック（１０．３１２５ＧＨｚクロック）を入力し，この入力クロックに基づいて，データラッチ部３１から出力されたデータラッチ出力を８ｂｉｔパラレルデータにシリアル／パラレル変換し，変換した中間パラレルデータをエッジ検出部３４２及びセレクタ部３４３に出力する。
【００８９】
エッジ検出部３４２は，入力された８ｂｉｔパラレルデータ毎に，データの変化位置を検出する。
【００９０】
図４は，エッジ検出部３４２の動作を説明するための図である。図４（Ａ）は低速データの変化位置を説明する図であり，図４（Ｂ）は図３に示す変化点位置検出テーブル３４２１の例を示す図である。
【００９１】
第１デマルチプレクサ部３４１は，１０．３１２５ＧＨｚクロックに基づいてデータラッチ出力を，Ｂｉｔ［０］〜Ｂｉｔ［７］の８ｂｉｔパラレルデータに変換する。
【００９２】
図４（Ａ）に示す例では，８ｂｉｔパラレルデータのＢｉｔ［０］が最下位ビット（ビット０），Ｂｉｔ［１］〜の順に上位ビットのビットデータが並び，Ｂｉｔ［７］が最上位ビット（ビット７）のビットデータであるとする。
【００９３】
そして，データラッチ出力のＢｉｔ［０］に対応するタイミングのビットデータが“０”であり，データラッチ出力のＢｉｔ［１］，Ｂｉｔ［２］，Ｂｉｔ［３］，・・・，Ｂｉｔ［７］（図示省略）に対応するタイミングのビットデータが“１”である場合に，８ｂｉｔパラレルデータのＢｉｔ［０］とＢｉｔ［１］との２ビット間の変化位置Ｂｔが，バウンダリ検出で検出される位置となる。
【００９４】
エッジ検出部３４２は，第１デマルチプレクサ部３４１から出力される８ｂｉｔパラレルデータ（Ｂｉｔ［０］〜Ｂｉｔ［７］）を入力すると，８ｂｉｔパラレルデータ毎に，連続する２ビットが０から１に変化するか，又は，１から０に変化するかを検出する。そして，エッジ検出部３４２は，予め備えた変化点位置検出テーブル３４２１を参照して，検出した変化位置から，変化点位置情報ＢＯＵＮＤ＿ＰＯＳを決定して，決定した変化点位置情報ＢＯＵＮＤ＿ＰＯＳをカウンタ部３４６へ出力する。
【００９５】
図４（Ｂ）に示す変化点位置検出テーブル３４２１は，８ｂｉｔパラレルデータのビットデータの所定の組み合わせ毎に，変化点位置情報ＢＯＵＮＤ＿ＰＯＳが設定されたデータテーブルである。
【００９６】
変化点位置検出テーブル３４２１において，ビットデータの組み合わせは，８ｂｉｔパラレルデータの中の連続する２ビットの変化位置毎に，２ビットの変化位置Ｂｔを識別する変化点位置情報ＢＯＵＮＤ＿ＰＯＳが設定されている。
【００９７】
例えば，“８ｂｉｔパラレルデータ”のビットデータが，Ｂｉｔ［０］＝０，Ｂｉｔ［１］＝１，Ｂｉｔ［２］〜［７］＝１である場合に，変化位置Ｂｔは，Ｂｉｔ［０］とＢｉｔ［１］との間であり，図４（Ｂ）に示す変化点位置検出テーブル３４２１から，この変化位置Ｂｔに対応する“変化点位置情報ＢＯＵＮＤ＿ＰＯＳ＝“１”が決定される。
【００９８】
また，前述とは逆に，“８ｂｉｔパラレルデータ”のビットデータが，Ｂｉｔ［０］＝１，Ｂｉｔ［１］＝０，Ｂｉｔ［２］〜［７］＝０である場合にも，“８ｂｉｔパラレルデータ”の変化位置Ｂｔは，Ｂｉｔ［０］とＢｉｔ［１］との間であり，同様に，変化点位置情報ＢＯＵＮＤ＿ＰＯＳ＝“１”が決定される。
【００９９】
分周器３４５は，入力クロック（１０．３１２５ＧＨｚクロック）を８分周し，カウンタ部３４６のカウント動作基準となる中間クロック（１．２８９０６２５ＧＨｚクロック）をカウンタ部３４６に出力する。
【０１００】
なお，本形態では，第一マルチプレクサ部３４１が８ｂｉｔパラレルデータに変換しているので、入力クロックを８分周して中間クロックを生成しているが，エッジ検出部３４２、セレクタ部３４３、及びカウンタ部３４６を適切に修正すれば、この分周比とパラレルデータ幅に限定されるものではない。
【０１０１】
カウンタ部３４６は，エッジ検出部３４２から出力される変化点位置情報ＢＯＵＮＤ＿ＰＯＳと，分周器３４５から出力される中間クロック（１．２８９０６２５ＧＨｚクロック）とを入力する。
【０１０２】
そして，カウンタ部３４６は，カウンタ情報テーブル３４６１を参照して，入力クロックのクロック周期単位（サイクル）に応じてたカウント動作を行い，カウンタ情報テーブル３４６１を参照して，低速モードの基準クロック用の内部クロック（１．２５ＧＨｚクロック）を生成し，生成した１．２５ＧＨｚクロックを第２デマルチプレクサ部３４４に出力する。
【０１０３】
さらに，カウンタ部３４６は，カウンタ情報テーブル３４６１を参照して，カウント動作と共に，８ｂｉｔパラレルデータの中から抽出する１ｂｉｔ（ビット位置）をセレクタ選択ビットとして決定し，決定したセレクタ選択ビットをセレクタ部３４３に出力（指示）する。なお，セレクタ選択ビットとして，例えばビット０（最下位ビット）やビット２等が決定される。
【０１０４】
図５は，カウンタ情報テーブル３４６１の例を示す図である。
【０１０５】
図５に示すように，カウンタ情報テーブル３４６１は，“現在のサイクルのカウント値”，“変化点位置情報”，“次のサイクルのカウント値”，“セレクタ選択ビット”及び“クロック出力（の有無）”に設定情報が予め格納されている。
【０１０６】
“現在のサイクルのカウント値”は，入力クロックの現在のサイクルにおいて，カウンタ部３４６によって直前に付与されたカウンタを示す値（現カウント値という）による区分である。“変化点位置情報”は，変化点位置情報ＢＯＵＮＤ＿ＰＯＳの値による区分である。
【０１０７】
“次のサイクルのカウント値”は，入力クロックの次のサイクル時に，現カウント値からいくつカウント値を更新するかを示す設定値である。この設定値として，変化点位置情報ＢＯＵＮＤ＿ＰＯＳの区分に応じて，例えば，“現カウント値＋０”（現カウント値維持），“現カウント値＋１”（現カウント値の１増加），“現カウント値＋２”（現カウント値の２増加）などが格納される。
“セレクタ選択ビット”は，入力クロックのサイクルで，８ｂｉｔパラレルデータの中から抽出される１ｂｉｔデータのビット位置を示す。ビット位置は，中間パラレルデータ（８ｂｉｔパラレルデータ）の中央部辺りのビット位置のビットデータを抽出するための設定値である。
【０１０８】
“クロック出力”は，入力クロックの出力の有無を示す設定値である。この設定値として，“有り”又は“無し”が設定される。“有り”は，カウンタ部３４６が，入力クロックを出力する（スルー）動作を示し，“無し”は，カウンタ部３４６が，入力クロックを出力しない（スキップ）動作を示す。
【０１０９】
カウンタ情報テーブル３４６１の“現在のサイクルのカウント値”の区分と“変化点位置情報”の区分との組み合わせによって，対応する“次のサイクルのカウント値”，“セレクタ選択ビット基準”及び“クロック出力”の設定値が選択される。
【０１１０】
カウンタ情報テーブル３４６１の“現在のサイクルのカウント値”の区分は，カウンタ部３４６が行うカウント動作でのカウント値の繰り返し範囲（カウント値範囲）に応じて予め設けられる。例えば，カウンタ部３４６のカウント値範囲が，カウント値＝０〜３２の整数値の範囲である場合に，図５に示すように，０〜３２の範囲のカウント値で任意に区分が設けられる。
【０１１１】
カウンタ部３４６のカウント値範囲は，高速モードでのデータ転送レートと低速モードでのデータ転送レートとの比率に基づいて設定される。すなわち，レシーバ回路３の基準クロック（すなわち高速モードの基準クロック）におけるデータの１ビットの時間幅を示すＵＩ（Ｕｎｉｔ  Ｉｎｔｅｖａｌ）に基づいて，高速モードと低速モードとのデータ周期比に対応して，カウンタ部３４６のカウント値範囲が設定される。
【０１１２】
本形態では，高速モードのデータ周期が１０．３１２５Ｇｂｐｓであり，高速モードと低速モードのデータ周期は，１０．３１２５Ｇｂｐｓデータの８．２５ＵＩ＝１．２５Ｇｂｐｓデータの１ＵＩの関係となる。このような，高速モードと低速モードとのデータレート比が整数倍比でない場合に，高速モードのクロック（１０．３１２５ＧＨｚ）を単に分周しただけでは，低速モードのクロック（１．２５ＧＨｚクロック）を得ることはできない。そのため，高速モードと低速モードとのデータ周期比（ここでは，３３ＵＩ：３２ＵＩ）に基づいて，カウンタ情報テーブル３４６１のカウント値範囲（０〜３２）が設定される。
【０１１３】
そして，カウンタ部３４６が，カウント値の範囲内で入力クロックのサイクル毎にカウント値を付与するカウンタ動作を行い，各サイクルで入力クロックを出力又は出力抑止をすることにより，クロックが調整され，低速モードの基準クロックに対応する内部クロックが出力される。具体的には，カウンタ部３４６は，カウンタ情報テーブル３４６１の“クロック出力”の設定（有り／無し）に従って，クロック出力を行ったりスキップしたりすることによって，入力クロック（１．２８９０６２５ＧＨｚクロック）×３２／３３＝１．２５ＧＨｚクロック（平均）となるクロックを生成して出力する。
【０１１４】
そして，セレクタ部３４３は，カウンタ部３４６から指示（出力）されるセレクタ選択ビットに基づいて，入力される８ｂｉｔパラレルデータのビットの中から１ｂｉｔデータを抽出する。セレクタ部３４３は，その抽出した１ｂｉｔデータを第２デマルチプレクサ部３４４に出力する。
【０１１５】
第２デマルチプレクサ部３４４は，カウンタ部３４６から出力された１．２５ＧＨｚクロックに基づいて，セレクタ部３４３から出力された１ｂｉｔデータを，４  ｂｉｔ毎にパラレルデータに並べ替えて４ｂｉｔパラレルデータとして出力する。同時に、４ｂｉｔ並べ替えが完了する毎に、そのパラレルデータに同期したクロック＃２を出力する。４ｂｉｔパラレルに変換しているので、１．２５ＧＨｚの１／４となる３１２．５ＭＨｚのクロックとして出力されることになる。
【０１１６】
このようにして，高速モードと低速モードとのデータレート比が整数倍比でない場合にも，低速モードにおける４ｂｉｔパラレルデータ（第２のパラレルデータ）と３１２．５ＭＨｚクロック＃２（第２の出力クロック）とを生成することができる。
【０１１７】
以下に，カウンタ部３４６の処理を，より詳細に説明する。
【０１１８】
カウンタ部３４６は，カウンタ情報テーブル３４６１に基づいて，１．２８９０６２５ＧＨｚクロックの現カウント値と変化点位置情報ＢＯＵＮＤ＿ＰＯＳの入力とに基づいて，カウンタ情報テーブル３４６１を参照する。
【０１１９】
そして，カウンタ部３４６は，カウンタ情報テーブル３４６１に基づいて，カウンタ部３４６の現カウント値及び変化点位置情報ＢＯＵＮＤ＿ＰＯＳの組み合わせから，次のサイクルのカウント値，セレクタ選択ビット及びクロック出力の有無を決定する。
【０１２０】
一例として，図５に示すカウンタ情報テーブル３４６１が参照される場合に，カウンタ部３４６の現カウント値が０〜３の範囲かつ変化点位置情報ＢＯＵＮＤ＿ＰＯＳが３又は４であるときは，カウンタ部３４６は，次のサイクルのカウント値を“現カウント値＋２”と決定する。さらに，カウンタ部３４６は，セレクタ選択ビットをＢｉｔ［４］（ビット４）と決定する。さらに，カウンタ部３４６は，“クロック出力＝有り”と決定して，入力クロック（１．２８９０６２５ＧＨｚクロック）をそのまま（スルーさせて）出力する。
【０１２１】
また，カウンタ部３４６の現カウント値が０〜３の範囲かつ変化点位置情報ＢＯＵＮＤ＿ＰＯＳが５又は６である場合に，カウンタ部３４６は，次のサイクルのカウント値をカウントアップせずに，現カウント値のままとする。さらに，カウンタ部３４６は，セレクタ選択ビットをＢｉｔ［４］と決定し，“クロック出力＝有り”と決定して，入力クロックをスルーさせて出力する。
【０１２２】
一方，カウンタ部３４６の現カウント値が１６の場合には，変化点位置情報ＢＯＵＮＤ＿ＰＯＳがどの位置であっても，カウンタ部３４６は，次のサイクルのカウント値を“現カウント値＋１”と決定する。さらに，カウンタ部３４６は，セレクタ選択ビットも任意とする。また，カウンタ部３４６は，当該現カウント値の間は“クロック出力＝無し”と決定し，入力クロックをスルーせず，クロック出力を行わない。すなわち，現カウント値が１６以外のときは、必ずクロック出力が「あり」となる。
【０１２３】
カウンタ部３４６は，以上説明したような一連のカウンタ動作等の処理を行うことにより，入力クロック（１．２８９０６２５ＧＨｚクロック）について，カウント値＝１６以外のカウント値が付与されたサイクルでは“クロック出力＝有り”としてクロックを出力し，カウント値＝１６が付与されたサイクルでは“クロック出力＝無し”としてクロック出力を抑止するというクロック動作を繰り返す。
【０１２４】
その結果，カウンタ部３４６によって，入力クロック（１．２８９０６２５ＧＨｚクロック）×３２／３３＝１．２５ＧＨｚクロック（平均）となるクロックが生成，出力されて，整数比ではない場合にも正確な低速モードのクロック出力が実現される。
【０１２５】
さらに，図６及び図７を用いて，バウンダリ検出・低速データ抽出部３４の動作を説明する。
【０１２６】
図６（Ａ）は，バウンダリ検出・低速データ抽出部３４に入力されるデータラッチ出力として低速モード時における１．２５Ｇｂｐｓデータが入力された場合の動作の一例，及び，その比較として高速モード時における１０．３１２５Ｇｂｐｓデータを便宜的に並べて示す図である。
【０１２７】
図６（Ａ）において，縦軸はシリアルデータ波形の振幅（データ変化），横軸は時間軸であり，１０．３１２５Ｇｂｐｓデータの１ｂｉｔの時間幅を１ＵＩ（Ｕｎｉｔ  Ｉｎｔｅｒｖａｌ）として，１０．３１２５Ｇｂｐｓデータの３３ＵＩの波形と，１．２５ＧｂｐｓデータのシリアルデータＳ＃１１〜Ｓ＃１４の４ｂｉｔの時間幅の波形とを示す。
【０１２８】
図６（Ａ）に示すように，シリアルデータＳ＃１１〜Ｓ＃１４の４ｂｉｔの時間幅は，１．２５Ｇｂｐｓデータの１ｂｉｔの時間幅を１ＵＩの基準とした場合に，１．２５Ｇｂｐｓデータの４ＵＩである。これより，データ周期の比としては，１０．３１２５Ｇｂｐｓデータの８．２５ＵＩ＝１．２５Ｇｂｐｓデータの１ＵＩの関係となり，高速モードと低速モードとのデータレート比が整数倍比でないことがわかる。
【０１２９】
したがって，データラッチ部３１が高速モードのクロックタイミング（図６（Ａ）に示す下矢印）で，１．２５ＧｂｐｓデータのシリアルデータＳ＃１１〜Ｓ＃１４等をラッチした場合に，変化位置Ｘ＃１〜Ｘ＃４等のタイミングにあたることがあり，１．２５ＧｂｐｓデータのシリアルデータＳ＃１１〜Ｓ＃１４等を正確に低速モードのパラレルデータに変換されない場合があることがわかる。
【０１３０】
図６（Ｂ）は，エッジ検出部３４２とセレクタ部３４３とが処理する８ｂｉｔパラレルデータと，１．２８９０６２５ＧＨｚクロックと，カウンタ部３４６のカウント値との動作の関係を，横軸に時間軸を基準としたタイミングについて示す図である。
【０１３１】
図６（Ｂ）において，縦軸方向における８ビットパラレルデータＰ＃１１，Ｐ＃１２等の縦長の矩形は，８ビットデータのビット幅に相当する。また，８ｂｉｔパラレルデータを表す矩形では，上から順に下位ビット（Ｂｉｔ［０］）〜上位ビット（Ｂｉｔ［７］）が並んでいるものとする。
【０１３２】
さらに，図６（Ｂ）において，時間軸方向における１．２８９０６２５ＧＨｚクロックのクロック周期単位（サイクル）を基準とする，８ｂｉｔパラレルデータＰ＃ｋ（ｋは整数），カウント値等の並びが同タイミングで処理されることを示す。さらに，パラレルデータＰ＃１１，Ｐ＃１２等と共に，１．２８９０６２５ＧＨｚクロックと，カウント値との変化状態とを示す。
【０１３３】
図６（Ａ）に示す下矢印のタイミング，すなわち，第１デマルチプレクサ部３４１により１０．３１２５ＧＨｚクロックに基づいて，低速モードにおける１．２５Ｇｂｐｓデータは，図６（Ｂ）に示す８ｂｉｔパラレルデータＰ＃ｋに変換される。
【０１３４】
例えば，図６（Ａ）に示すシリアルデータＳ＃１１の値Ａ（０又は１）は，１０．３１２５ＧＨｚクロックを基準として，図６（Ｂ）に示す８ｂｉｔパラレルデータＰ＃１１に変換される。
【０１３５】
また，図６（Ａ）及び図６（Ｂ）において，シリアルデータＳ＃１１と１０．３１２５Ｇｂｐｓデータのあるデータの変化点が一致したタイミングを時間原点（左端の実線基準）として見た場合に，図６（Ａ）に示すシリアルデータＳ＃１１〜Ｓ＃１４等が，各々，図６（Ｂ）に示すパラレルデータＰ＃１２〜Ｐ＃１４等に変換される。
【０１３６】
さらに，図６（Ａ）に示すシリアルデータ中の変化位置Ｘ＃１〜Ｘ＃３等は，図６（Ｂ）に示す８ｂｉｔパラレルデータＰ＃１２〜Ｐ＃１４の各々において，パラレルデータを示す矩形の斜線部の位置に相当するビット位置に対応する。
【０１３７】
例えば，図６（Ｂ）に示す８ｂｉｔパラレルデータＰ＃１２である矩形の斜線部が示すビットＢｉｔ［０］には，図６（Ａ）に示すパラレル変換前の１．２５ＧｂｐｓデータのシリアルデータＳ＃１１とＳ＃１２との変化位置Ｘ＃１のデータが変換される。同様に，８ｂｉｔパラレルデータＰ＃１３である矩形の斜線部が示すビットＢｉｔ［０］には，シリアルデータＳ＃１２とＳ＃１３との変化位置Ｘ＃２のデータが変換される。
【０１３８】
なお，変化位置Ｘ＃１等の変換されたデータは，高速モードのクロックのタイミングとの兼ね合いにより，例えば立上り／立下りのデータ変化前のデータ，又は，立上り／立下りのデータ変化後のデータとなる。
【０１３９】
また，８ｂｉｔパラレルデータＰ＃ｋの矩形の斜線部以外には，図６（Ｂ）に示すように，値Ａ，値Ｂ，値Ｃ等が変換される。
【０１４０】
エッジ検出部３４２によって，図６（Ａ）に示す変化位置Ｘ＃１〜Ｘ＃３等，すなわち，図６（Ｂ）に示す８ｂｉｔパラレルデータの矩形の斜線部（バウンダリ）が検出され，変化点位置情報ＢＯＵＮＤ＿ＰＯＳとしてカウンタ部３４６へ送られる。
【０１４１】
変化点位置検出テーブル３４２１に基づいて，例えば図６（Ｂ）に示す８ｂｉｔパラレルデータＰ＃１２，Ｐ＃１３等を示す矩形の斜線部の変化位置が，変化点位置情報ＢＯＵＮＤ＿ＰＯＳ＝１として検出される。同様に，８ｂｉｔパラレルデータＰ＃１４を示す矩形の斜線部の変化位置が，変化点位置情報ＢＯＵＮＤ＿ＰＯＳ＝２として検出される。
【０１４２】
そして，カウンタ部３４６によって，変化点位置情報ＢＯＵＮＤ＿ＰＯＳと１．２８９０６２５ＧＨｚクロックのカウント動作とに応じて，カウンタ情報テーブル３４６１が参照され，その結果に基づいて，８ｂｉｔパラレルデータＰ＃ｋから抽出すべき１ｂｉｔのビット位置がセレクタ選択ビットとして決定され，セレクタ部３４３へ通知される。
【０１４３】
それと共に，カウンタ部３４６によって，次のサイクルのカウント値が決定される。例えば，図６（Ａ）に示すように，現カウント値＝３かつ変化点位置情報ＢＯＵＮＤ＿ＰＯＳ＝２である場合に，８ｂｉｔパラレルデータＰ＃１４において，セレクタ選択ビット＝Ｂｉｔ［４］と決定され，かつ，次のサイクルのカウント値＝現カウント値＋１＝４と決定される。
【０１４４】
図６（Ｂ）に示す８ｂｉｔパラレルデータＰ＃１１〜Ｐ＃１４等のビット中において，８ｂｉｔパラレルデータを示す矩形の白色部内に値Ａ，値Ｂ，値Ｃ，値Ｄ等，すなわち，変化位置（斜線部）に相当しないビットデータが多数に存在する。
【０１４５】
セレクタ部３４３によって，カウンタ部３４６に通知されたセレクタ選択ビットに従って，８ｂｉｔパラレルデータＰ＃ｋ毎に，図６（Ｂ）に示す矩形の斜線部の位置から十分に離れた位置にある１ｂｉｔデータ（図示の矩形中の丸印）が抽出される。
【０１４６】
例えば，図６（Ｂ）に示す８ｂｉｔパラレルデータＰ＃１４におけるセレクタ選択ビット＝Ｂｉｔ［４］とされた場合に，セレクタ部３４３によって，当該パラレルデータＰ＃１４から値Ｄが抽出される。
【０１４７】
図６（Ｂ）に示すように，カウント値０〜３２の範囲でのカウント動作の繰り返しにおいて，１．２８９０６２５ＧＨｚクロックの３３サイクルのクロック入力につき，３２サイクルで“クロック出力＝有り”となり，１サイクルで“クロック出力＝無し”となる。すなわち，カウンタ部３４６によって，カウント値＝１６の１サイクルでクロック出力がスキップされる結果，入力クロック（１．２８９０６２５ＧＨｚクロック）×３２／３３＝１．２５ＧＨｚクロック（平均）となるようにタイミング調整されて，１．２５ＧＨｚクロックが生成される。
【０１４８】
なお，図６（Ｂ）に示す例では，カウント値の進行（０〜３２，０，１，２・・・）が，次のサイクルのカウント値が“現カウント値＋１”となるような第２のバウンダリの変化で，カウンタ動作が進んでいるものとする。しかし，カウンタ部３４６のカウンタ動作はこのような例に限定されないことは言うまでもない。例えば，次のサイクルのカウント値は，カウンタ部３４６により現カウント値の増加の度合いを８ｂｉｔパラレルデータＰ＃１２等のＸ＃２等の変化位置に応じて，“現カウント値＋０”（＋０カウント）〜“現カウント値＋２”（＋２カウント）のように設定されてもよい。これにより，８ｂｉｔパラレルデータＰ＃１２等から抽出される１ｂｉｔデータのタイミングが調整される。
【０１４９】
また，図６（Ａ）及び図６（Ｂ）に示すように，カウント値の初期値（例えば，０）のカウントのタイミングと，変化点位置情報ＢＯＵＮＤ＿ＰＯＳとにより，抽出するセレクタ選択ビットの関係が決定する。そのため，カウンタ部３４６は，カウント動作の初期化又は再初期化において，例えば数十〜数百サイクル程度の間に変化点位置情報ＢＯＵＮＤ＿ＰＯＳを予め検出し，その検出結果に応じてカウント動作を開始してもよい。
【０１５０】
図７（Ａ）は，バウンダリ検出・低速データ抽出部３４に入力されるデータラッチ出力として，低速モード時における１．２５Ｇｂｐｓデータが入力された場合の動作の他の一例，及び，その比較として高速モード時における１０．３１２５Ｇｂｐｓデータを便宜的に並べて示す図である。
【０１５１】
図７（Ａ）に示すシリアルデータＳ＃１１と１０．３１２５Ｇｂｐｓデータのあるデータの変化点が図示のようなタイミング（左端の実線を基準）として見た場合に，図７（Ａ）に示すシリアルデータＳ＃１１〜Ｓ＃１４・・・等が，各々，図７（Ｂ）に示すパラレルデータＰ＃１１〜Ｐ＃１４・・・，Ｐ＃２１〜Ｐ＃２４・・・等に変換されることを示す。
【０１５２】
図７（Ｂ）は，パラレルデータＰ＃１１，Ｐ＃１２等と共に，１．２８９０６２５ＧＨｚクロックとカウント値の変化状態とを示す図である。
【０１５３】
図７（Ｂ）に示すＣ＃１におけるカウント値には“現カウント値＋２”（＋２カウント）とされた場合のカウンタ動作の結果を示し，Ｃ＃２におけるカウント値には“現カウント値＋０”（＋０カウント）とされた場合のカウント動作の結果を示す。
【０１５４】
また，図７（Ｂ）に示すＣ＃１及びＣ＃２以外のカウント値には，“現カウント値＋１”（＋１カウント）とされた場合のカウント動作の結果を示す。
【０１５５】
図７（Ａ）及び図７（Ｂ）において，その他については，図６と同様に示している。例えば，図７（Ｂ）に示す８ｂｉｔパラレルデータＰ＃１１を示す矩形の斜線部のビットＢｉｔ［１］には，図７（Ａ）に示すパラレル変換前の１．２５ＧｂｐｓデータのシリアルデータＳ＃１１とＳ＃１１の前のシリアルデータとの変化位置Ｘ＃１のデータが変換される。
【０１５６】
図７（Ｂ）に示すＣ＃１では，８ｂｉｔパラレルデータＰ＃１３から検出された変化点位置情報ＢＯＵＮＤ＿ＰＯＳが３であり，かつ，カウンタ部３４６の現カウント値が２である。したがって，カウンタ部３４６によって，この現カウント値と変化点位置情報ＢＯＵＮＤ＿ＰＯＳとから，カウンタ情報テーブル３４６１に基づいて，次のサイクルのカウント値＝“現カウント値＋２”，すなわち，カウント値＝４が設定され，セレクタ選択ビット＝Ｂｉｔ［４］が決定される。
【０１５７】
次のサイクル（現カウント値＝４）では，８ｂｉｔパラレルデータＰ＃１４から検出された変化点位置情報ＢＯＵＮＤ＿ＰＯＳが３であり，かつ，現カウント値が４である。したがって，この現カウント値と変化点位置情報ＢＯＵＮＤ＿ＰＯＳとから，カウンタ情報テーブル３４６１に基づいて，次のサイクルのカウント値＝“現カウント値＋１”，すなわち，カウント値＝５と設定され，セレクタ選択ビット＝Ｂｉｔ［５］と決定される。
【０１５８】
以上のように，カウンタ部３４６は，８ビットパラレルデータＰ＃ｋにおける変化位置が，抽出するセレクタ選択ビットに近づいてきた場合に，カウント値の進みを早める。
【０１５９】
一方，図７（Ｂ）に示すＣ＃２では，８ｂｉｔパラレルデータＰ＃２１から検出された変化点位置情報ＢＯＵＮＤ＿ＰＯＳが６であり，かつ，カウンタ部３４６の現カウント値が０である。したがって，この現カウント値と変化点位置情報ＢＯＵＮＤ＿ＰＯＳとから，カウンタ情報テーブル３４６１に基づいて，次のサイクルのカウント値＝“現カウント値＋０”，すなわち，カウント値＝０と設定され，さらに，セレクタ選択ビット＝Ｂｉｔ［４］と決定される。
【０１６０】
次のカウントサイクルでは，８ｂｉｔパラレルデータＰ＃２２から検出された変化点位置情報ＢＯＵＮＤ＿ＰＯＳが７であり，かつ，現カウント値が０である。したがって，この現カウント値と変化点位置情報ＢＯＵＮＤ＿ＰＯＳとから，カウンタ情報テーブル３４６１に基づいて，次のサイクルのカウント値＝“現カウント値＋１”，すなわち，カウント値＝１と設定され，さらに，セレクタ選択ビット＝Ｂｉｔ［４］と決定される。
【０１６１】
以上のように，カウンタ部３４６は，８ビットパラレルデータＰ＃ｋにおける抽出するセレクタ選択ビットが変化位置に近づいてきた場合に，カウント値の進みを遅らせる。
【０１６２】
また，カウンタ部３４６がカウント値を進める度合いは，８ビットパラレルデータＰ＃ｋのバウンダリ検出に応じて，例えばカウント値を“現カウント値＋０”〜“現カウント値＋２”のように調整されてもよい。
【０１６３】
さらに，カウント値０〜３２の範囲でのカウント動作の繰り返しにおいて，カウント値０〜３２の３３カウント中に，１．２８９０６２５ＧＨｚクロックの３２サイクルが出力されることに限定されず，次のカウント動作のカウント値０〜３２にまたがって，３２サイクル目の出力がされてもよい。すなわち，カウンタ部３４６は，１．２８９０６２５ＧＨｚクロックの３３サイクルの３２サイクルについてクロックをスルー（出力）し，１サイクルについてクロックをスルーしなければよい。
【０１６４】
以上のように，バウンダリ検出・低速データ抽出部３４は，予め備えた変化点位置検出テーブル３４２１及びカウンタ情報テーブル３４６１により，高速データレートを基準とするクロックに基づいて，低速データレートのクロック及びそれに対応するパラレルデータを生成することができる。
【０１６５】
変化点位置検出テーブル３４２１及びカウンタ情報テーブル３４６１は，小容量のメモリ，小規模の回路等で設けることができるため，バウンダリ検出・低速データ抽出部３４を簡易な回路構成で実現することができる。
【０１６６】
また，低速データレートの種類に応じて，それに対応するカウンタ情報テーブル３４６１を設ければよいため，レシーバ回路３の回路規模を増大させることなく，複数のデータレートに対応することができる。
【０１６７】
なお，本実施の形態では，パラレルデータとして８ｂｉｔパラレルデータ，４ｂｉｔパラレルデータ等を例に示して説明したが，言うまでもなくそのビット数は限定されるものではない。
【０１６８】
〔高速モード時の処理〕
高速モード時に，レシーバ回路３は，以下のように動作する。
【０１６９】
レシーバ回路３のスイッチ部３８は，データレート選択信号ｓに応じて，高速モード時にはスイッチを閉じる。これにより，レシーバ回路３では，位相比較部３６とクロック信号発生部３７とが電気的に接続されて，バウンダリラッチ部３５，位相比較部３６及びクロック信号発生部３７により，クロックデータリカバリ機能が実現される。
【０１７０】
レシーバ回路３のデータラッチ部３１は，クロック信号発生部３７から出力された１０．３１２５ＧＨｚクロックのタイミングに基づいて，受信したシリアルデータｄのデータをラッチする。データラッチ部３１は，ラッチしたデータＤｔ（後述する図３に示す）をデータラッチ出力として，デマルチプレクサ部３３，バウンダリ検出・低速データ抽出部３４等に出力する。
【０１７１】
デマルチプレクサ部３３は，データラッチ出力及びＣＤＲ機能により再生されたクロック（１０．３１２５ＧＨｚクロック）に基づいて，３３ｂｉｔパラレルデータ及び３１２．５ＭＨｚクロック＃１を生成，出力する。
【０１７２】
次に，本実施形態におけるレシーバ回路３の他の構成例を示す。
【０１７３】
図８は，図１に示すレシーバ回路３の他の構成例を示す図である。
【０１７４】
図８に示すレシーバ回路３Ａは，データラッチ部３１，デマルチプレクサ部３３，バウンダリ検出・低速データ抽出部３４，バウンダリラッチ部３５，位相比較部３６，クロック信号発生部３７，スイッチ部３８，さらに，バウンダリスキュー発生部３９を備える。
【０１７５】
バウンダリラッチ部３５，位相比較部３６，クロック信号発生部３７，及びバウンダリスキュー発生部３９が，クロックデータリカバリ部３０Ａに相当し，クロックデータリカバリ機能を実現する。すなわち，図８に示すレシーバ回路３Ａは，高速モード時のデータ処理に関係するクロックリカバリ機能を実現する処理部の構成例が，図１に示すレシーバ回路３の構成と異なるものとなっている。
【０１７６】
以下の説明において，図８のレシーバ回路３Ａへ入力されるシリアルデータｄ，１０．３１２５ＧＨｂｐｓ，データレート選択信号ｓ等，及び，その他の３３ｂｉｔパラレルデータ等の出力については，図２において説明した内容と同様であるため，説明は省略する。
【０１７７】
また，図８について主に図２の構成と異なる部分であるバウンダリラッチ部３５，バウンダリスキュー発生部３９について主に説明し，その他の図２と同符号の部分については同様な機能であるため，詳細な説明は省略する。
【０１７８】
レシーバ回路３Ａのバウンダリスキュー発生部３９は，クロック信号発生部３７から出力されるバウンダリ検出用クロックＣＬＫｂ’に対して，所定のスキュー（所定の時間量τ）を与える（調整する）。この所定のスキューτが与えられたバウンダリ検出用クロックＣＬＫｂが，バウンダリラッチ部３５に出力される。
【０１７９】
これにより，高速モードのバウンダリ（第１のバウンダリ）検出タイミング（ＨＢt）を，本来の（理想的な）バウンダリ検出タイミング（ＨＢto）の位置の前後に実効的にスキューτだけずらして，調整することができる。
【０１８０】
図９は，レシーバ回路３Ａにおける高速モード時のデータのバウンダリ検出におけるスキューを説明する図である。
【０１８１】
図９に示すように，本来のバウンダリ検出タイミングＨＢｔ０よりも時間量τ遅れ，又は進んだバウンダリ検出タイミングＨＢｔに応じて，１０．３１２５ＧＨｚクロックの位相が調整される。これにより，高速モードの場合に，シリアルデータｄのラッチタイミングが最適に調整されて，データラッチ部３１においてシリアルデータｄからデータＤｔがラッチされる。
【０１８２】
なお，上記の高速モード時におけるＣＤＲ部３０Ａは，本出願人の出願に係る特開２００２−３１４５１６に示されるようなＣＤＲ回路に，さらに，高速モードと低速モードとを切り替える回路（スイッチ部３８）等を含む回路に相当する。
【０１８３】
以上のように，レシーバ回路３Ａに示すＣＤＲ部３０Ａを用いることにより，高速モードの場合においてバウンダリ検出タイミングＨＢｔを調整し，高速モードにおけるデータ受信回路１のデータ伝送品質の劣化をさらに抑えることができる。
【０１８４】
以上説明したように，開示されたデータ受信回路によれば，１又は複数のレシーバ回路３を備えて，各々のレシーバ回路３が，１つのＰＬＬ回路２から供給されるクロックＣｌｋのみで，高速データレートのシリアルデータと，該高速データレートと異なるより低速なデータレートのシリアルデータとを受信することができる。
【０１８５】
よって，データ受信回路は，各チャネルで独立して伝送スピードを選択することができ，特に，高速及び低速の２つのデータレートが整数比ではない場合でも，正確な低速データレートでのデータ受信を実現することができる。
【０１８６】
また，１つのＰＬＬ回路でクロックを供給するため，ＰＬＬ回路，スイッチ等の回路の面積割合を極力少なくするだけでなく，消費電力を低減することができる。
【０１８７】
さらに，１つのＰＬＬ回路によるため，複数のクロックの切り替えが不要となる。これにより，不要なスイッチ回路等を介在させないため，データ受信回路から送信するパラレルデータのデータ伝送品質の劣化を抑えて，パラレルデータを生成することができる。
【０１８８】
以上のとおり，開示されたデータ受信回路によれば，複数のチャネルのデータレートを独立して設定できるデータ受信回路を，回路規模を増大させることなく実現できるため，回路の小型化，省電力化に優れる。
【符号の説明】
【０１８９】
１  データ受信回路
２  ＰＬＬ回路
３  レシーバ回路
３１  データラッチ部
３３  デマルチプレクサ部
３４  バウンダリ検出・低速データ抽出部
３５  バウンダリラッチ部
３６  位相比較部
３７  クロック信号発生部
３８  スイッチ部
３４１  第１デマルチプレクサ部
３４２  エッジ検出部
３４３  セレクタ部
３４４  第２デマルチプレクサ部
３４５  分周器
３４６  カウンタ部
３４２１  変化点位置検出テーブル
３４６１  カウンタ情報テーブル
【図１】
0005560867.tif 000002
【図２】
0005560867.tif 000003
【図３】
0005560867.tif 000004
【図４】
0005560867.tif 000005
【図５】
0005560867.tif 000006
【図６】
0005560867.tif 000007
【図７】
0005560867.tif 000008
【図８】
0005560867.tif 000009
【図９】
0005560867.tif 000010
【図１０】
0005560867.tif 000011
【図１１】
0005560867.tif 000012