(57)【特許請求の範囲】
【請求項１】
入力されたシリアルデータ信号を増幅するアンプ回路と、クロックを発生する回路と、前記クロックを分配するクロック分配回路と、前記クロック分配回路の出力からＮ相クロック（Ｎは４以上の整数）を発生する回路と、前記Ｎ相クロックを入力とし、第１〜第Ｍ＊２のクロック（Ｍは２以上の整数）を出力する第１のセレクタと、前記Ｎ相クロックを入力とし、第Ｍ＊２＋１〜第Ｍ＊４のクロックを出力する第２のセレクタと、前記第１〜第Ｍ＊２のクロックをクロック入力とし、前記アンプ回路の出力をデータ入力とする第１〜第Ｍ＊２のエッジ検出ラッチと、前記第Ｍ＊２＋１〜第Ｍ＊４のクロックをクロック入力とし、前記アンプ回路の出力をデータ入力とする第Ｍ＊２＋１〜第Ｍ＊４のデータ検出ラッチと、前記第１〜第Ｍ＊２のエッジ検出ラッチの出力と、前記第Ｍ＊２＋１〜第Ｍ＊４のデータ検出ラッチの出力と、前記クロック分配回路の出力を入力とし、前記第１のセレクタを制御する信号を出力する第１のエッジ判定論理と、前記第１〜第Ｍ＊２のエッジ検出ラッチの出力と、前記第Ｍ＊２＋１〜第Ｍ＊４のデータ検出ラッチの出力と、前記クロック分配回路の出力を入力とし、前記第２のセレクタを制御する信号を出力する第２のエッジ判定論理と、前記第Ｍ＊２＋１〜第Ｍ＊４のデータ検出ラッチの出力と、前記クロック分配回路の出力とが入力され、シリアルデータ出力信号を出力する整列回路と、からなることを特徴とするシリアル信号受信回路。
【請求項２】
さらに、エラーレート検出回路と、第Ｍ＊４＋Ｌ（Ｌは１以上の整数）番目のデータ検出ラッチとを備え、前記Ｍ＊４＋Ｌのデータ検出ラッチは、前記第２のセレクタから新たに追加出力された第Ｍ＊４＋Ｌのクロックをクロック入力として供給され、前記アンプ回路の出力をデータ入力とし、出力として前記エラーレート検出回路にデータ出力し、前記エラーレート検出回路は、前記第Ｍ＊２＋１〜第Ｍ＊４＋Ｌのデータ検出ラッチの出力と、前記クロック分配回路の出力と、前記第１〜第Ｍ＊２のエッジ検出ラッチの出力とを入力し、前記第１および第２のエッジ判定回路論理の制御信号を出力するエラーレート検出回路と、を備えたことを特徴とする請求項１に記載のシリアル信号受信回路。
【請求項３】
さらに、前記シリアルデータ出力信号と、前記クロック分配回路の出力と、前記第１〜第Ｍ＊２のエッジ検出ラッチの出力とを入力とし、前記第１および第２のエッジ判定回路論理の制御信号を出力するエラーレート検出回路と、を備えたことを特徴とする請求項１に記載のシリアル信号受信回路。
【請求項４】
アンプ回路が入力されたシリアルデータ信号を増幅し、アンプ出力として出力し、多相クロック発生回路が前記シリアルデータ信号の有効期間のＭ＊２倍（Ｍは２以上の整数）の期間を等分割するＮ相クロック（Ｎは４以上の整数）を発生し、第１のエッジ判定論理が、第１〜第Ｍ＊２のエッジ検出ラッチの出力と第Ｍ＊２＋１〜第Ｍ＊４のデータ検出ラッチの出力から、エッジ検出用クロックのエッジがシリアルデータ信号のエッジより早かったか遅かったかを判定し、両者の差が最も少なくなるように前記Ｎ相クロックのうちから、それぞれ第１〜第Ｍ＊２のエッジ検出用クロックとして選択し、第１のセレクタが前記第１〜第Ｍ＊２のエッジ検出用クロックを前記第１〜第Ｍ＊２のエッジ検出ラッチに出力し、前記第１〜第Ｍ＊２のエッジ検出ラッチのそれぞれがが、入力された前記第１〜第Ｍ＊２のエッジ検出用クロックを用いて前記アンプ出力を取り込み、第２のエッジ判定論理が、前記第１〜第Ｍ＊２のエッジ検出ラッチの出力と前記第Ｍ＊２＋１〜第Ｍ＊４のデータ検出ラッチの出力から、データ検出用クロックのエッジがシリアルデータ信号の中央より早かったか遅かったかを判定し、両者の差が最も少なくなるように前記Ｎ相クロックのうちから、それぞれ第Ｍ＊２＋１〜第Ｍ＊４のデータ検出用クロックとして選択し、第２のセレクタが、前記第Ｍ＊２＋１〜第Ｍ＊４のデータ検出用クロックを前記第Ｍ＊２＋１〜第Ｍ＊４のデータ検出ラッチに出力し、前記第Ｍ＊２＋１〜第Ｍ＊４のデータ検出ラッチのそれぞれがが、入力された前記第Ｍ＊２＋１〜第Ｍ＊４のデータ検出用クロックを用いて前記アンプ出力を取り込み、整列回路が、前記第Ｍ＊２＋１〜第Ｍ＊４のデータ検出ラッチからの出力を、前記シリアルデータ信号のデータレートに応じて整列させ、シリアルデータ出力信号として出力することを特徴とする受信方式。
【請求項５】
入力されたシリアルデータ信号を増幅するアンプ回路と、クロックを発生する回路と、前記クロックを分配するクロック分配回路と、前記クロック分配回路の出力からＮ相クロック（Ｎは４以上の整数）を発生する回路と、前記Ｎ相クロックを入力とし、第１〜第Ｍのクロック（Ｍは２以上の整数）を出力する第１のセレクタと、前記Ｎ相クロックを入力とし、第Ｍ＊２＋１〜第Ｍ＊３のクロックを出力する第２のセレクタと、前記第１〜第Ｍのクロックを入力とし第Ｍ＋１〜第Ｍ＊２のクロックを出力する第１〜第Ｍのインバータと、前記第Ｍ＊２＋１〜第Ｍ＊３のクロックを入力とし第Ｍ＊３＋１〜第Ｍ＊４のクロックを出力する第Ｍ＋１〜第Ｍ＊２のインバータと、前記第１〜第Ｍ＊２のクロックをクロック入力とし、前記アンプ回路の出力をデータ入力とする第１〜第Ｍ＊２のエッジ検出ラッチと、前記第Ｍ＊２＋１〜第Ｍ＊４のクロックをクロック入力とし、前記アンプ回路の出力をデータ入力とする第Ｍ＊２＋１〜第Ｍ＊４のデータ検出ラッチと、前記第１〜第Ｍ＊２のエッジ検出ラッチの出力と、前記第Ｍ＊２＋１〜第Ｍ＊４のデータ検出ラッチの出力と、前記クロック分配回路の出力を入力とし、前記第１のセレクタを制御する信号を出力する第１のエッジ判定論理と、前記第１〜第Ｍ＊２のエッジ検出ラッチの出力と、前記第Ｍ＊２＋１〜第Ｍ＊４のデータ検出ラッチの出力と、前記クロック分配回路の出力を入力とし、前記第２のセレクタを制御する信号を出力する第２のエッジ判定論理と、前記第Ｍ＊２＋１〜第Ｍ＊４のデータ検出ラッチの出力と、前記クロック分配回路の出力とが入力され、シリアルデータ出力信号を出力する整列回路と、からなることを特徴とするシリアル信号受信回路。
【請求項６】
入力されたシリアルデータ信号を増幅するアンプ回路と、クロックを発生する回路と、前記クロックを分配するクロック分配回路と、前記クロック分配回路の出力からＮ相クロック（Ｎは４以上の整数）を発生する回路と、前記Ｎ相クロックを入力とし、第１〜第Ｍのクロック（Ｍは２以上の整数）を出力する第１のセレクタと、前記Ｎ相クロックを入力とし、第Ｍ＊２＋１〜第Ｍ＊４のクロックを出力する第２のセレクタと、前記第１〜第Ｍのクロックを入力とし第Ｍ＋１〜第Ｍ＊２のクロックを出力する第１〜第Ｍのインバータと、前記第Ｍ＊２＋１〜第Ｍ＊４のクロックを入力とし第Ｍ＊３＋１〜第Ｍ＊４のクロックを出力する第Ｍ＋１〜第Ｍ＊２のインバータと、前記第１〜第Ｍ＊２のクロックをクロック入力とし、前記アンプ回路の出力をデータ入力とする第１〜第Ｍ＊２のエッジ検出ラッチと、前記第Ｍ＊２＋１〜第Ｍ＊４のクロックをクロック入力とし、前記アンプ回路の出力をデータ入力とする第Ｍ＊２＋１〜第Ｍ＊４のデータ検出ラッチと、前記第１〜第Ｍ＊２のエッジ検出ラッチの出力と、前記第Ｍ＊２＋１〜第Ｍ＊４のデータ検出ラッチの出力と、前記クロック分配回路の出力を入力とし、前記第１のセレクタを制御する信号を出力する第１のエッジ判定論理と、前記第１〜第Ｍ＊２のエッジ検出ラッチの出力と、前記第Ｍ＊２＋１〜第Ｍ＊４のデータ検出ラッチの出力と、前記クロック分配回路の出力を入力とし、前記第２のセレクタを制御する信号を出力する第２のエッジ判定論理と、前記第Ｍ＊２＋１〜第Ｍ＊４のデータ検出ラッチの出力と、前記クロック分配回路の出力とが入力され、シリアルデータ出力信号を出力する整列回路と、からなることを特徴とするシリアル信号受信回路。
【請求項７】
さらに、前記シリアルデータ出力信号と、前記クロック分配回路の出力とを入力とし、前記第１および第２のエッジ判定回路論理の制御信号を出力するエラーレート検出回路と、を備えたことを特徴とする請求項６に記載のシリアル信号受信回路。
【請求項８】
さらに、エラーレート検出回路と、第Ｍ＊４＋Ｌ（Ｌは１以上の整数）のデータ検出ラッチとを備え、前記Ｍ＊４＋Ｌのデータ検出ラッチは、前記第２のセレクタから第Ｍ＊４＋Ｌのクロックをクロック入力として供給され、前記アンプ回路の出力をデータ入力とし、出力として前記エラーレート検出回路にデータ出力し、前記エラーレート検出回路は、前記第Ｍ＊２＋１〜第Ｍ＊４＋Ｌのデータ検出ラッチの出力と、前記クロック分配回路の出力と、前記第１〜第Ｍ＊２のエッジ検出ラッチの出力とを入力し、前記第１および第２のエッジ判定回路論理の制御信号を出力するエラーレート検出回路と、を備えたことを特徴とする請求項６に記載のシリアル信号受信回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シリアル通信において、奇数番目、偶数番目のデータ幅が異なるなど信号波形が理想的な波形からずれた場合でもエラーレートを低減することができる受信回路に関する。
【背景技術】
【０００２】
近年の大規模集積回路（以下、大規模ＬＳＩと略記する）間を送受信する信号のデータレートを向上させるために、従来のパラレル信号ではなくシリアル信号で送受信しようという試みが増えている。しかしシリコン金属酸化膜半導体（ＭＯＳ）トランジスタを使ってシリアル通信の通信回路を構成する場合、トランジスタのスレショルド電圧がランダムにばらつくという現象により、伝送波形が理想的な波形からずれてしまうことが観測される。この不具合は統計的に発生するため、特に多数のシリアル信号を持つ大規模ＬＳＩのエラーレートを改善したい場合に大きな問題となる。そこで伝送波形のずれがあってもエラーレートが悪化しにくい通信用受信回路が求められている。
【０００３】
これらの対策として特許文献１には、パラレルシリアル変換回路と、シリアルパラレル変換回路においてクロック周波数の周波数比を可変とし、クロックに同期させてデータ変換させる技術が開示されている。特許文献２には、マンチェスタ符号化データを正しく復号し、復号結果の誤答率を低下させる技術が開示されている。特許文献３には、データ信号とクロックとを並行する２つの伝送路で送信し、クロックを可変遅延回路で遅延調整し、エラーレートが最小となる最適遅延時間に設定する技術が開示されている。特許文献４には、クロックのタイミングを調整することで、エラーレートを最小化する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２３８３０２号公報
【特許文献２】特開２００６−８６８４４号公報
【特許文献３】特開２００３−２１８８４７号公報
【特許文献４】特開２００７−２５８９９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記したように大規模ＬＳＩにおいては、トランジスタのばらつきにより伝送波形が理想的な波形からずれ、エラーレートが悪化するという問題がある。
【０００６】
本発明の第１の目的は、大規模ＬＳＩの製造ばらつき、トランジスタのランダムばらつき、電源ノイズ、信号ノイズによって、送信回路の基準信号と受信回路の基準信号が固定的にずれた場合や、時間的に変動する場合でも期待通りの送受信を行うことができる通信回路を提供することにある。本発明の第２の目的は、あらかじめ取り決めたデータパターンをつかったトレーニングによってエラーレートを最小化する学習回路を備えた受信回路を提供することにある。本発明の第３の目的は、あらかじめ取り決めたパターンによるトレーニングではなく、通常のデータ通信中にもエラーレートが最小になるよう動作パラメータを調整する受信回路を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の１つの観点によれば、入力されたシリアルデータ信号を増幅するアンプ回路と、クロックを発生する回路と、前記クロックを分配するクロック分配回路と、前記クロック分配回路の出力からＮ相クロック（Ｎは４以上の整数）を発生する回路と、前記Ｎ相クロックを入力とし、第１〜第Ｍ＊２のクロック（Ｍは２以上の整数）を出力する第１のセレクタと、前記Ｎ相クロックを入力とし、第Ｍ＊２＋１〜第Ｍ＊４のクロックを出力する第２のセレクタと、前記第１〜第Ｍ＊２のクロックをクロック入力とし、前記アンプ回路の出力をデータ入力とする第１〜第Ｍ＊２のエッジ検出ラッチと、前記第Ｍ＊２＋１〜第Ｍ＊４のクロックをクロック入力とし、前記アンプ回路の出力をデータ入力とする第Ｍ＊２＋１〜第Ｍ＊４のデータ検出ラッチと、前記第１〜第Ｍ＊２のエッジ検出ラッチの出力と、前記第Ｍ＊２＋１〜第Ｍ＊４のデータ検出ラッチの出力と、前記クロック分配回路の出力を入力とし、前記第１のセレクタを制御する信号を出力する第１のエッジ判定論理と、前記第１〜第Ｍ＊２のエッジ検出ラッチの出力と、前記第Ｍ＊２＋１〜第Ｍ＊４のデータ検出ラッチの出力と、前記クロック分配回路の出力を入力とし、前記第２のセレクタを制御する信号を出力する第２のエッジ判定論理と、前記第Ｍ＊２＋１〜第Ｍ＊４のデータ検出ラッチの出力と、前記クロック分配回路の出力とが入力され、シリアルデータ出力信号を出力する整列回路と、からなることを特徴とするシリアル信号受信回路が得られる。
【０００８】
本発明の他の観点によれば、アンプ回路が入力されたシリアルデータ信号を増幅し、アンプ出力として出力し、多相クロック発生回路が前記シリアルデータ信号の有効期間のＭ＊２倍（（Ｍは２以上の整数）の期間を等分割するＮ相クロック（Ｎは４以上の整数）を発生し、第１のエッジ判定論理が、第１〜第Ｍ＊２のエッジ検出ラッチの出力と第Ｍ＊２＋１〜第Ｍ＊４のデータ検出ラッチの出力から、エッジ検出用クロックのエッジがシリアルデータ信号のエッジより早かったか遅かったかを判定し、両者の差が最も少なくなるように前記Ｎ相クロックのうちから、それぞれ第１〜第Ｍ＊２のエッジ検出用クロックとして選択し、第１のセレクタが前記第１〜第Ｍ＊２のエッジ検出用クロックを前記第１〜第Ｍ＊２のエッジ検出ラッチに出力し、前記第１〜第Ｍ＊２のエッジ検出ラッチのそれぞれがが、入力された前記第１〜第Ｍ＊２のエッジ検出用クロックを用いて前記アンプ出力を取り込み、第２のエッジ判定論理が、前記第１〜第Ｍ＊２のエッジ検出ラッチの出力と前記第Ｍ＊２＋１〜第Ｍ＊４のデータ検出ラッチの出力から、データ検出用クロックのエッジがシリアルデータ信号の中央より早かったか遅かったかを判定し、両者の差が最も少なくなるように前記Ｎ相クロックのうちから、それぞれ第Ｍ＊２＋１〜第Ｍ＊４のデータ検出用クロックとして選択し、第２のセレクタが、前記第Ｍ＊２＋１〜第Ｍ＊４のデータ検出用クロックを前記第Ｍ＊２＋１〜第Ｍ＊４のデータ検出ラッチに出力し、前記第Ｍ＊２＋１〜第Ｍ＊４のデータ検出ラッチのそれぞれがが、入力された前記第Ｍ＊２＋１〜第Ｍ＊４のデータ検出用クロックを用いて前記アンプ出力を取り込み、整列回路が、前記第Ｍ＊２＋１〜第Ｍ＊４のデータ検出ラッチからの出力を、前記シリアルデータ信号のデータレートに応じて整列させ、シリアルデータ出力信号として出力することを特徴とする受信方式が得られる。
【０００９】
さらに本発明の他の観点によれば、入力されたシリアルデータ信号を増幅するアンプ回路と、クロックを発生する回路と、前記クロックを分配するクロック分配回路と、前記クロック分配回路の出力からＮ相クロック（Ｎは４以上の整数）を発生する回路と、前記Ｎ相クロックを入力とし、第１〜第Ｍのクロック（Ｍは２以上の整数）を出力する第１のセレクタと、前記Ｎ相クロックを入力とし、第Ｍ＊２＋１〜第Ｍ＊３のクロックを出力する第２のセレクタと、前記第１〜第Ｍのクロックを入力とし第Ｍ＋１〜第Ｍ＊２のクロックを出力する第１〜第Ｍのインバータと、前記第Ｍ＊２＋１〜第Ｍ＊３のクロックを入力とし第Ｍ＊３＋１〜第Ｍ＊４のクロックを出力する第Ｍ＋１〜第Ｍ＊２のインバータと、前記第１〜第Ｍ＊２のクロックをクロック入力とし、前記アンプ回路の出力をデータ入力とする第１〜第Ｍ＊２のエッジ検出ラッチと、前記第Ｍ＊２＋１〜第Ｍ＊４のクロックをクロック入力とし、前記アンプ回路の出力をデータ入力とする第Ｍ＊２＋１〜第Ｍ＊４のデータ検出ラッチと、前記第１〜第Ｍ＊２のエッジ検出ラッチの出力と、前記第Ｍ＊２＋１〜第Ｍ＊４のデータ検出ラッチの出力と、前記クロック分配回路の出力を入力とし、前記第１のセレクタを制御する信号を出力する第１のエッジ判定論理と、前記第１〜第Ｍ＊２のエッジ検出ラッチの出力と、前記第Ｍ＊２＋１〜第Ｍ＊４のデータ検出ラッチの出力と、前記クロック分配回路の出力を入力とし、前記第２のセレクタを制御する信号を出力する第２のエッジ判定論理と、前記第Ｍ＊２＋１〜第Ｍ＊４のデータ検出ラッチの出力と、前記クロック分配回路の出力とが入力され、シリアルデータ出力信号を出力する整列回路と、からなることを特徴とするシリアル信号受信回路が得られる。
【００１０】
さらに本発明の他の観点によれば、入力されたシリアルデータ信号を増幅するアンプ回路と、クロックを発生する回路と、前記クロックを分配するクロック分配回路と、前記クロック分配回路の出力からＮ相クロック（Ｎは４以上の整数）を発生する回路と、前記Ｎ相クロックを入力とし、第１〜第Ｍのクロック（Ｍは２以上の整数）を出力する第１のセレクタと、前記Ｎ相クロックを入力とし、第Ｍ＊２＋１〜第Ｍ＊４のクロックを出力する第２のセレクタと、前記第１〜第Ｍのクロックを入力とし第Ｍ＋１〜第Ｍ＊２のクロックを出力する第１〜第Ｍのインバータと、前記第Ｍ＊２＋１〜第Ｍ＊３のクロックを入力とし第Ｍ＊３＋１〜第Ｍ＊４のクロックを出力する第Ｍ＋１〜第Ｍ＊２のインバータと、前記第１〜第Ｍ＊２のクロックをクロック入力とし、前記アンプ回路の出力をデータ入力とする第１〜第Ｍ＊２のエッジ検出ラッチと、前記第Ｍ＊２＋１〜第Ｍ＊４のクロックをクロック入力とし、前記アンプ回路の出力をデータ入力とする第Ｍ＊２＋１〜第Ｍ＊４のデータ検出ラッチと、前記第１〜第Ｍ＊２のエッジ検出ラッチの出力と、前記第Ｍ＊２＋１〜第Ｍ＊４のデータ検出ラッチの出力と、前記クロック分配回路の出力を入力とし、前記第１のセレクタを制御する信号を出力する第１のエッジ判定論理と、前記第１〜第Ｍ＊２のエッジ検出ラッチの出力と、前記第Ｍ＊２＋１〜第Ｍ＊４のデータ検出ラッチの出力と、前記クロック分配回路の出力を入力とし、前記第２のセレクタを制御する信号を出力する第２のエッジ判定論理と、前記第Ｍ＊２＋１〜第Ｍ＊４のデータ検出ラッチの出力と、前記クロック分配回路の出力とが入力され、シリアルデータ出力信号を出力する整列回路と、からなることを特徴とするシリアル信号受信回路が得られる。
【発明の効果】
【００１１】
本発明の効果は、送信波形に規則的な波形のずれが生じても、受信回路のデータ用クロックの位相を最適化することによりエラーレートを最小化できることにある。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施形態における受信回路の全体構成を示すブロック図である。
【図２】本発明の第２の実施形態における受信回路の全体構成を示すブロック図である。
【図３】本発明の第３の実施形態における受信回路の全体構成を示すブロック図である。
【図４】本発明の第４の実施形態における受信回路の全体構成を示すブロック図である。
【図５】本発明の第５の実施形態における受信回路の全体構成を示すブロック図である。
【図６】本発明の第６の実施形態における受信回路の全体構成を示すブロック図である。
【図７】本発明の第７の実施形態における受信回路の全体構成を示すブロック図である。
【図８】本発明のシリアル信号受信回路の基本動作を示すタイミング図である。
【図９】本発明の受信回路でシリアルデータ信号の奇数番目、偶数番目の有効期間が異なる場合のシリアルデータ信号と、エッジ検出ラッチ及びデータ検出ラッチのクロックとの相関関係を示すタイミング図である。
【図１０】本発明の受信回路でシリアルデータ信号の第１〜４番目の有効期間が周期的に異なる場合のシリアルデータ信号と、エッジ検出ラッチ及びデータ検出ラッチのクロックとの相関関係を示すタイミング図である。
【図１１】本発明の受信回路でシリアルデータ信号の第１〜４番目の有効期間が周期的に異なる場合のシリアルデータ信号と、エッジ検出ラッチ及びデータ検出ラッチのクロックとを同期させたタイミング図である。
【図１２】本発明のシリアル信号受信回路のシリアルデータ信号の第１〜４番目の有効期間が周期的に異なる場合のシリアルデータ信号と、エッジ検出ラッチ及びデータ検出ラッチクロックとの調整法を示すタイミング図である。
【発明を実施するための形態】
【００１３】
本発明の実施の形態について、図面を参照して詳細に説明する。本発明は、シリアル通信において、受信したシリアルデータ信号のデータ幅が異なるなど信号波形が理想的な波形からずれた場合にも、エラーレートを低減することができる受信回路に関するものである。
【００１４】
本発明のシリアル信号受信回路は、アンプ回路、エッジ検出ラッチ、データ検出ラッチ、クロック発生回路、多相クロック発生回路、第１および第２のセレクタ、第１および第２のエッジ判定論理、整列回路を備える。アンプ回路は、シリアルデータ入力信号を受け取り、シリアルデータ入力信号に帯域制限をかけたり、受信したシリアルデータ信号を増幅したりする。エッジ検出ラッチおよびデータ検出ラッチは複数設けられており、それぞれ入力されるクロックにあわせてアンプ回路の出力を取り込み、“０”あるいは“１”を判定し出力する。クロック発生回路はデータレートの整数倍または整数分の１のクロックを発生する。多相クロック発生回路はクロックから多相クロックを発生する。
【００１５】
第１および第２のセレクタは、エッジ検出ラッチおよびデータ検出ラッチのそれぞれに供給するラッチ用クロックを多相クロックから選択する。第１および第２のエッジ判定論理は第１および第２のセレクタが多相クロックのうちの最適な相を選択できるように制御する。整列回路はデータ検出ラッチの出力をシリアルデータ入力信号のデータレートに合わせて並び替えシリアルデータ出力信号を出力する。またさらにエラーレート検出回路を備えることができ、エラーレート検出回路は整列回路の出力または、データ検出ラッチおよびエッジ検出ラッチの出力を観測してエラーレートを計算する。
【００１６】
その結果から第１および第２のエッジ判定論理は、エラーレートが最小になるように、多相クロックのうちの最適な相を選択することができる。このようにＭ＊２個のデータ検出ラッチがＭ＊２を周期としてデータを取り込むが、シリアル送信信号に現れる周期的なデータが有効な時間幅のずれに対してデータ検出の契機となるクロックをエラーレートが最小になるよう調整する。
【００１７】
図９〜図１２に、受信回路におけるシリアルデータ信号とそれを受信するエッジ検出ラッチ、データ検出ラッチのクロックの相関関係を示すタイミング図を示す。高速シリアルデータ信号を送信する場合、送信回路が持つクロックのデューティ比が５０：５０から変動することにより、図９のシリアルデータ信号のように奇数番目と偶数番目のデータ有効期間が異なる波形になる場合が多い。例えば受信回路は、多相クロックのうちから最適なクロックを選択し、４組のエッジ検出ラッチ、４組のデータ検出ラッチをつかって受信する。この場合、図９のようにエッジ検出ラッチのクロック７０〜７３が真のデータのエッジからずれていても、各ずれ量ａ０〜ａ３がａ０＝ａ１＝ａ２＝ａ３となるようにエッジ検出ラッチのクロックの位相を調整する。さらにデータ検出ラッチのクロック８０〜８３がエッジ検出ラッチのクロック７０〜７３の立ち上がりエッジから有効期間の１／２で立上るように調整する。このようにエッジ検出ラッチと、データ検出ラッチのクロックを調整することで、全てのデータ検出ラッチはシリアルデータ信号の有効期間の中央を取り込み、エラーレートが最適となる。
【００１８】
さらに高速なシリアルデータ信号を送信するために、４相クロックを用いてシリアルデータ信号を送信することがあるが、この場合は図１０のように４周期毎にデータの有効期間が広い場合と狭い場合が発生する。等間隔なエッジ検出ラッチのクロック７０〜７３の立ち上がりエッジと真のシリアルデータ信号のエッジのずれｃ０〜ｃ３をｃ０＝ｃ１＋ｃ２＋ｃ３となるように調整する。さらにデータ検出ラッチのクロック８０〜８３の立ち上がりエッジと、エッジ検出ラッチのクロック７０〜７３の立ち上がりエッジとの差が有効期間の１／２になるように調整する。このようにエッジ検出ラッチと、データ検出ラッチのラッチ用クロックを調整したとしても、図１０の「最悪マージン」のようにシリアルデータ信号のエッジとデータ検出ラッチのクロックエッジが最も接近した箇所が発生し、エラーレートが悪化する。
【００１９】
このような場合には、図１１のようにエッジ検出ラッチのクロック７０〜７３のエッジが、シリアルデータ信号の真のエッジと揃うように調整するようにする。後述する図５〜７に示す受信回路は、エッジ検出ラッチのクロック７０〜７３の位相が等間隔でなくてもよい構成であり、個々のエッジに対応できる調整の手段を備えているものである。エッジ検出ラッチのクロック７０〜７３がシリアルデータ信号の真のエッジと揃うように調整するためには、エッジ検出ラッチが直前のデータを取り込んだか、直後のデータを取り込んだかを判定し、両者の頻度が等しくなるように調整する。図１２のように直前のデータ側の真のエッジの幅と直後のデータ側のエッジの幅が異なる場合がある。図１２に示すデータ検出ラッチのクロック８１のように、エッジ検出ラッチクロック７１とクロック７２のエッジの差分の中央から意図的にずらした方が、エラーレートが改善する場合がある。図７に示す受信回路は、データ検出ラッチのクロック８０〜８３をエッジ検出ラッチのクロック７１〜７３のエッジからどのくらいずらせばエラーレートが最適となるかを測定する。エラーレートが最適になるデータ検出ラッチのクロック８０〜８３の位相を決定する手段を備えているものである。
【００２０】
本発明においては、Ｍ＊２個のエッジ検出ラッチと、データ検出ラッチとを備え、多相クロックとしてＮ相のクロックを用いることとする。またさらに、Ｌ個の冗長なデータ検出ラッチを備え、（Ｍ＊２＋Ｌ）個のデータ検出ラッチとすることができる。受信回路をこのように構成し、エッジ検出ラッチと、データ検出ラッチのクロックを調整することでエラーレートを最適とすることができる。
【００２１】
以下に、具体的な実施例を用いて本発明を実施するための最良の形態の構成及び動作を、Ｍ＝２、Ｎ＝６４、Ｌ＝１として説明する。しかし、Ｍ、Ｎ、ＬはＭ≧２、Ｎ≧４、Ｌ≧１を満たす整数であればそれ以外の値でも構わない。
【００２２】
（実施例１）
図１は、本発明の第１の実施形態による受信回路の全体構成を示すブロック図である。受信回路は、クロック発生回路１０、クロック分配回路１１、１ビットの受信回路１１２〜１１５、シリアルデータ入力信号９０〜９３、シリアルデータ出力信号９５〜９８を備える。１ビットの受信回路１１２は、クロック分配回路２０、多相クロック発生回路２１、セレクタ２２、２３、エッジ判定論理２４、２５、エッジ検出ラッチ３０〜３３、データ検出ラッチ３４〜３７、アンプ回路２９、整列回路２６、インバータ１２〜１５を備える。１ビットの受信回路１１２〜１１５は、同一の構成であり、それぞれに入力されるシリアルデータ入力信号９０〜９３と、出力されるアル出力信号９５〜９８信号が異なるだけであることから、１ビットの受信回路１１２のみの構成を図示、説明するものとする。
【００２３】
クロック発生回路１０は、シリアルデータ入力信号のデータレートの整数倍または整数分の１のクロックを発生する。本発明ではシリアルデータ入力信号のデータレートと同じレートのクロックを発生させる。クロック分配回路１１は、クロック発生回路１０からのクロック４０を１ビットの受信回路１１２〜１１５のそれぞれに分配する。
【００２４】
１ビットの受信回路１１２は、シリアルデータ入力信号９０が入力され、シリアルデータ出力信号９５を出力する。アンプ回路２９は、シリアルデータ信号９０を受け取り、増幅したアンプ出力信号９９を、エッジ検出ラッチ回路３０〜３３、データ検出ラッチ回路３４〜３７に出力する。クロック分配回路２０は、クロック分配回路１１からのクロック４１を入力され、クロック５０を多相クロック発生回路２１、エッジ判定論理２４、２５、整列回路２６へ出力する。多相クロック発生回路２１は、入力されたクロック５０からシリアルデータ信号の有効期間の４（＝Ｍ＊２）倍を周期とし、シリアルデータ信号の有効期間を１６等分する多相クロック（６００〜６６３）を発生する。周期４（Ｍ＊２）×分割数１６相のクロックを発生する必要があるが、ここでは半分の３２相を生成し、残りの３２相は前者３２相の反転論理を用いることとした。本実施例１においては、セレクタの出力するクロックをインバータ回路１２〜１５で反転させることから、前者３２相のみを生成し、後者の３２相は生成しなくてもよい。従って、図１では、３２相の多相クロック（６００〜６３１）が生成され、生成された多相クロックがセレクタ２２、２３に出力されている。
【００２５】
エッジ判定論理２４、２５は、エッジ検出ラッチからの出力７５〜７８と、データ検出ラッチからの出力８５〜８８と、クロック５０とを入力され、最適な多相クロックを選択するように、セレクタ２２、２３を調整する。セレクタ２２は、エッジ判定論理２４からの制御信号５１に基づいて最適な多相クロックを選択し、エッジ検出ラッチ３０、３１、インバータ１２、１３に対しエッジ検出ラッチのラッチ用クロック７０、７１を出力する。クロック７０と７１は、シリアルデータ信号の有効期間と同じ期間ずれるよう調整されている。インバータ１２、１３は、入力されたエッジ検出ラッチのクロック７０、７１のそれぞれを反転し、エッジ検出ラッチのラッチ用クロック７２、７３として、エッジ検出ラッチ３２、３３に出力する。
【００２６】
セレクタ２３は、エッジ判定論理２５からの制御信号５２に基づいて最適な多相クロックを選択し、データ検出ラッチ３４、３５、インバータ１４、１５に対しデータ検出ラッチのラッチ用クロック８０、８１を出力する。インバータ１４、１５は、入力されたデータ検出ラッチのラッチ用クロック８０、８１のそれぞれを反転し、データ検出ラッチのラッチ用クロック８２、８３として、データ検出ラッチ３６、３７に出力する。ここでは、インバータ１２〜１５を用いて、クロック７０、７１、８０、８１を反転したクロック７２、７３、８２、８３を発生している。しかし、１つの信号を２本以上の配線で実現する多線式論理を用いる場合は、第１〜４のインバータ１２〜１５が生成する信号は、多線信号のいずれかで代用し第１〜４のインバータを省略することができる場合がある。
【００２７】
エッジ検出ラッチ３０〜３３は、エッジ検出ラッチのラッチ用クロック７０、７１、７２、７３に基づいて、アンプ出力信号９９をラッチする。データ検出ラッチ３４〜３７は、データ検出ラッチのラッチ用クロック８０、８１、８２、８３に基づいて、アンプ出力信号９９をラッチする。またデータ検出ラッチのクロック８０〜８３はクロック７０〜７３とシリアルデータ信号の有効期間の１／２ずれるよう調整されている。整列回路２６は、データ検出ラッチ３４〜３７からの出力８５〜８８をクロック５０に合わせて整列し、シリアルデータ出力信号９５を出力する。
【００２８】
上記した受信回路の動作について、受信回路の基本動作について図８のタイミング図を見ながら説明する。タイミング図には、クロック５０、多相クロック６００〜６３１、シリアルデータ信号のアンプ出力信号９９、エッジ用クロック７０〜７３、そのエッジ検出ラッチの出力７５〜７８、データ用クロック８０〜８３、そのデータ検出ラッチの出力８５〜８８、シリアルデータ出力信号９５を示している。
【００２９】
クロック５０は、シリアルデータ信号のデータレートと同じデータレートであり、多相クロック６００〜６３１は、シリアルデータ信号の有効期間の４（＝Ｍ＊２）倍を周期としている。多相クロック６００〜６３１は、シリアルデータ信号の有効期間の４倍のうちの前半２倍分に相当するものであり、残り後半の多相クロック６３２〜６６３は前半の多相クロック６００〜６３１の反転信号であることから、図示していない。
【００３０】
１ビット受信回路１１２に入力されたシリアルデータ信号９０はアンプ回路２９で増幅されアンプ出力信号９９となる。４個のエッジ検出ラッチ３１〜３３は、それぞれクロック７０〜７３により駆動されている。クロック７０〜７３は、それぞれシリアルデータ信号の有効期間と同じ期間ずれるよう調整されている。エッジ検出ラッチ３１〜３３からの出力７５〜７８は、クロックの立ち上がりエッジで取り込まれることから、シリアルデータ信号の有効期間の４（＝Ｍ＊２）倍を周期としている。
【００３１】
４個のデータ検出ラッチ３４〜３７は、それぞれクロック８０〜８３により駆動されている。図に示すようにクロック７０〜７３及びクロック８０〜８３のそれぞれは、シリアルデータ信号の有効期間とほぼ同じ期間ずれ、クロック７０〜７３と、クロック８０〜８３とは、シリアルデータ信号の有効期間のほぼ１／２ずれるよう調整されている。しかしクロック７０〜７３及びクロック８０〜８３のそれぞれは、その位相差を独立して設定することもできる。データ検出ラッチ３４〜３７からの出力８５〜８８は、クロックの立ち上がりエッジで取り込まれることから、シリアルデータ信号の有効期間の４（＝Ｍ＊２）倍を周期としている。データ整列回路はデータ検出ラッチの出力８５〜８８を整列し、シリアルデータ出力信号９５を出力する。
【００３２】
第１のエッジ判定論理２４は、データ検出ラッチの出力８５〜８８を観測し有効なエッジを検出する。またエッジ有効期間のエッジ検出ラッチの出力７５〜７８とデータ検出ラッチの出力８５〜８８からエッジ検出用クロックがシリアルデータ信号のエッジより早かったか、遅かったかを判定する。４つのエッジ検出ラッチのクロックに対して早かったか、遅かったかを一定期間判定し、早かった場合と遅かった場合が同数になるようにセレクタ２２を調整し、適切な多相クロックを選ぶ。同様に第２のエッジ判定論理は、セレクタ２３を調整しセレクタ２２の出力とセレクタ２３の出力がシリアルデータ信号の有効期間の１／２ずれるように設定する。つまりエッジ検出ラッチのクロックは、シリアルデータ信号のエッジに同期できるようにシリアルデータ信号の有効期間ずれるように設定する。データ検出ラッチのクロックは、シリアルデータ信号の有効期間の中央に同期できるように、ラッチ検出ラッチのクロックよりシリアルデータ信号の有効期間の１／２ずれるように設定する。
【００３３】
図９は、シリアルデータ信号と、エッジ検出ラッチのクロックと、データ検出ラッチのクロックとの相関関係を示すタイミング図である。ここで図９〜１２に示すシリアルデータ信号は、例えばアンプ出力９９とする。またエッジ検出ラッチのクロック７０〜７３、データ検出ラッチのクロック８０〜８３は、クロックの立ち上がりエッジの位置を示している。第１、３番目のエッジ検出ラッチ３０、３２のクロック７０、７２はそれぞれａ０、ａ２だけシリアルデータ信号のエッジより早く到達し、第２、４番目のエッジ検出ラッチ３１、３３のクロック７１、７３はａ１、ａ３だけシリアルデータ信号のエッジより遅く到達している。シリアルデータ信号の奇数番目、偶数番目のデータ有効期間が異なる場合、ａ０＝ａ２、ａ１＝ａ３であり、エッジ検出ラッチのクロックが早い場合と遅い場合の出現数が同数、すなわちａ０＝ａ２＝ａ１＝ａ３となるようにエッジ判定論理はセレクタ２２、２３を調整する。このときデータ検出ラッチのクロックは図９のようにシリアルデータ信号の有効期間の中央に位置しており、エラーレートが最小になる。
【００３４】
本実施例においては、シリアルデータ信号の有効期間の４（＝Ｍ＊２）倍を周期とし、シリアルデータ信号の有効期間を１６等分する多相クロックを用いる。多相クロック発生回路は、リアルデータ信号の有効期間の前半２倍周期分の多相クロックを発生させ、発生させた前半２倍周期分の多相クロックを反転させることで有効期間の後半２倍周期分の多相クロックとする。エッジ検出ラッチおよびデータ検出ラッチのクロックとして前半２倍周期分の多相クロックから選択し、後半２倍周期分の多相クロックは前半２倍周期分の多相クロックのインバータで反転させた信号とする。エッジ検出ラッチのクロックとシリアルデータ信号のエッジを合わせて、データ検出ラッチのクロックのエッジをシリアルデータ信号の有効期間の中央に位置させて、シリアルデータ信号を取り込む。本実施例によれば、シリアルデータ信号のエラーレートを小さくできる受信回路が得られる。
【００３５】
（実施例２）
図２は、本発明の第２の実施形態による受信回路の全体構成を示すブロック図である。受信回路は、クロック発生回路１０、クロック分配回路１１、１ビットの受信回路１１２〜１１５、シリアルデータ入力信号９０〜９３、シリアルデータ出力信号９５〜９８を備える。１ビットの受信回路１１２は、クロック分配回路２０、多相クロック発生回路２１、セレクタ２２、２３、エッジ判定論理２４、２５、エッジ検出ラッチ３０〜３３、データ検出ラッチ３４〜３７、アンプ回路２９、整列回路２６、インバータ１２〜１３を備える。
【００３６】
図２の示す受信回路の構成は、実施例１における図１に対して、データ検出ラッチへのクロックの供給手段が異なっている。実施例２においては、データ検出ラッチ３６、３７へのクロック８２、８３を供給するインバータ１４、１５が省略され、データ検出ラッチ３４〜３７へのクロック８０〜８３は、全て、セレクタ２３から供給されている。実施例１におけるクロック８０と８２、８１と８３は、インバータで反転させることから固定された位相差を有し、自由な位相差を有するクロックの関係ではなかった。
【００３７】
しかし、本実施例の多相クロック発生回路２１は６４相の多相クロック６００〜６６３を発生し、セレクタ２２、２３に供給する。セレクタ２２は実施例１と同じく、３２相の多相クロック６００〜６３１のなかから、２つのクロック７０、７１を選択し、インバータで反転させ、クロック７２、７３とする。一方セレクタ２３では、６４相の多相クロック６００〜６６３のなかから、４つのクロック８０〜８３を選択する。そのためクロック８０〜８３は、全て独立して自由な位相差を有するクロックとすることができる。その他の構成は実施例１（図１）と同じであることから、その説明を省略する。
【００３８】
図２に示すシリアル信号受信回路の基本動作について図８、図１０のタイミング図を参照して説明する。多相クロック発生回路１０はシリアルデータ信号の有効期間の４（＝Ｍ＊２）倍を周期とし、シリアルデータ信号の有効期間を１６等分する多相クロック（６００〜６３１）を発生する。周期４（Ｍ＊２）×分割数１６相のクロックを発生する必要があるが、ここでは半分の３２相を生成し、残りの３２相は前者３２相の反転論理を用いて発生することとした。そのため図８においては、前半３２相のみを図示している。
【００３９】
４個のエッジ検出ラッチ３０〜３３を備え、それぞれクロック７０〜７３により駆動されている。セレクタ２２は６４相クロックからクロック７０、７１を選択し出力する。クロック７２、７３は、インバータ１２、１３によりクロック７０〜７１を反転したクロックである。またクロック７０と７１はシリアルデータ信号の有効期間と同じ期間ずれるよう調整されている。またデータ検出ラッチのクロック８０〜８３はクロック７０〜７３とシリアルデータ信号の有効期間のほぼ１／２ずれるよう調整されているが、位相差は独立に調整できる。データ整列回路はデータ検出ラッチの出力８５〜８８を整列し、シリアルデータ出力信号９５を出力する。
【００４０】
また第１のエッジ判定論理２４は、データ検出ラッチの出力８５〜８８を観測し有効なエッジを検出する。またエッジ有効期間のエッジ検出ラッチの出力７５〜７８とデータ検出ラッチの出力８５〜８８からエッジ検出用クロックがシリアルデータ信号のエッジより早かったか遅かったかを判定する。４つのエッジ検出ラッチのクロックに対して早かったか、遅かったかを一定期間判定し、早かった場合と遅かった場合が同数になるようにセレクタ２２を調整し、適切な多相クロックを選ぶ。同様に第２のエッジ判定論理２５は、セレクタ２３を調整しセレクタ２２の出力とセレクタ２３の出力が一定値の位相差になるように設定するが、位相差はシリアルデータ信号の有効期間の１／２に固定せず自由に選べるようにする。
【００４１】
図１０は、シリアルデータ信号と、エッジ検出ラッチのクロックと、データ検出ラッチのクロックとのタイミングの相関関係を示す図である。第１のエッジ検出ラッチのクロックはｃ０だけシリアルデータ信号のエッジより早く到達し、第２、３、４番目のエッジ検出ラッチのクロックはｃ１、ｃ２、ｃ３だけシリアルデータ信号のエッジより遅く到達している。エッジ検出ラッチのクロックが早い場合と遅い場合の出現数が同数、すなわちｃ０＝ｃ１＋ｃ２＋ｃ３となるようにエッジ判定論理２４、２５はセレクタ２２、２３を調整する。
【００４２】
このとき仮に、図１０のようにデータ検出ラッチのクロックをエッジ検出ラッチからシリアルデータ信号の有効期間の１／２ずれるように設定すると、図中の「最悪マージン」のタイミングでデータ検出ラッチのクロックとシリアルデータ入力信号のエッジが接近し、エラーレートが悪化する。そこで、データ検出ラッチのクロック８０〜８３とエッジ検出ラッチのクロックの位相差をシリアルデータ信号の有効期間の１／２と固定せず、可変とする。例えばデータ検出ラッチのクロック８２の位相を有効期間の１／２より早くし、シリアルデータ信号をラッチしやすくする。このようにデータ検出ラッチのクロックを、独立して調整することで、シリアルデータを確実の取り込むことでエラーレートを小さくすることができる。
【００４３】
本実施例においては、データ検出ラッチのクロックとして４倍周期分の多相クロックから独立して自由に選択できる。エッジ検出ラッチのクロックとシリアルデータ信号のエッジを合わせて、データ検出ラッチのクロックのエッジをシリアルデータ信号の有効期間内の自由な位置とし、シリアルデータ信号を取り込む。本実施例によれば、シリアルデータ信号のエラ−レートを小さくできる受信回路が得られる。
【００４４】
（実施例３）
図３は、本発明の第３の実施形態による受信回路の全体構成を示すブロック図である。受信回路は、クロック発生回路１０、クロック分配回路１１、１ビットの受信回路１１２〜１１５、シリアルデータ入力信号９０〜９３、シリアルデータ出力信号９５〜９８を備える。１ビットの受信回路１１２は、クロック分配回路２０、多相クロック発生回路２１、セレクタ２２、２３、エッジ判定論理２４、２５、エッジ検出ラッチ３０〜３３、データ検出ラッチ３４〜３７、アンプ回路２９、整列回路２６、インバータ１２〜１３、エラーレート検出回路２７を備える。
【００４５】
図３に示す受信回路の構成は、実施例２（図２）に対して、エラーレート検出回路２７が追加されている。実施例３のエラーレート検出回路２７は、整列回路２６からのシリアルデータ出力信号９５とクロック分配回路２０からのクロック５０とを入力とし、エッジ判定論理２４、２５へ出力する。エラーレート検出回路２７は、シリアルデータ出力信号９５を入力とし、エラーレート検出回路が持つ期待値を比較することでエラーレートを算出する。このエラーレートをエッジ判定論理２４、２５にフィードバックし、エッジ判定論理２４、２５が最適なクロックを選択する。その他の構成は実施例２（図２）と同じであることから、その説明を省略する。
【００４６】
図３に示すシリアル信号受信回路の基本動作について図８、図１０のタイミング図を参照して説明する。多相クロック発生回路１０は、シリアルデータ信号の有効期間の４（＝Ｍ＊２）倍を周期とし、シリアルデータ信号の有効期間を１６等分する多相クロック（６００〜６３１）を発生する。周期４（Ｍ＊２）×分割数１６相のクロックを発生する必要があるが、ここでは半分の３２相を生成し、残りの３２相は前者３２相の反転論理を用いて発生することとした。そのため図８においては、前半３２相のみを図示している。
【００４７】
４個のエッジ検出ラッチ３０〜３３を備え、それぞれクロック７０〜７３により駆動されている。セレクタ２２は、６４相クロックからクロック７０、７１を出力するが、クロック７２〜７３は、インバータ１２、１３によるクロック７０〜７１の反転信号である。またクロック７０と７１はシリアルデータ信号の有効期間と同じ期間ずれるよう調整されている。またデータ検出ラッチのクロック８０〜８３はクロック７０〜７３とシリアルデータ信号の有効期間のほぼ１／２ずれるよう調整されているが、位相差は独立に調整できる。データ整列回路２６はデータ検出ラッチの出力８５〜８８を、クロック５０に従って整列し、シリアルデータ出力信号９５を出力する。
【００４８】
第１のエッジ判定論理２４は、データ検出ラッチ３４〜３７の出力８５〜８８を観測し有効なエッジを検出する。またエッジ有効期間のエッジ検出ラッチ３０〜３３の出力７５〜７８とデータ検出ラッチ３４〜３７の出力８５〜８８からエッジ検出用クロックがシリアルデータ信号のエッジより早かったか遅かったかを判定する。４つのエッジ検出ラッチのクロックに対して早かったか、遅かったかを一定期間判定し、早かった場合と遅かった場合が同数になるようにセレクタ２２を調整し、適切な多相クロックを選ぶ。同様に第２のエッジ判定論理２５は、エラーレート検出回路２７がセレクタ２３を調整しセレクタ２２の出力とセレクタ２３の出力が一定値の位相差になるように設定するが、位相差はシリアルデータ信号の有効期間の１／２に固定することなく、エラーレートが最小になるよう設定する。
【００４９】
図１０は、シリアルデータ信号と、エッジ検出ラッチのクロックと、データ検出ラッチのクロックとの相関関係を示すタイミング図である。第１のエッジ検出ラッチ２４のクロックはｃ０だけシリアルデータ信号のエッジより早く到達し、第２、３、４番目のエッジ検出ラッチのクロックはｃ１、ｃ２、ｃ３だけシリアルデータ信号のエッジより遅く到達している。エッジ検出ラッチのクロックが早い場合と遅い場合の出現数が同数、すなわちｃ０＝ｃ１＋ｃ２＋ｃ３となるようにエッジ判定論理はセレクタ２２、２３を調整する。このとき仮に、図１０のようにデータ検出ラッチのクロックをエッジ検出ラッチのクロックからシリアルデータ信号の有効期間の１／２ずれるように設定すると、図中の「最悪マージン」のタイミングでデータ検出ラッチのクロックとシリアルデータ入力信号のエッジが接近し、エラーレートが悪化する。そこで、データ検出ラッチのクロック８０〜８３とエッジ検出ラッチのクロック７０〜７３の位相差をシリアルデータ信号の有効期間の１／２と固定せず、可変とする。
【００５０】
エラーレートが最小となるデータ検出ラッチのクロック８０〜８３とエッジ検出ラッチのクロック７０〜７３の位相差を求めるには以下の手順を行う。あらかじめ取り決めた送信データ列を繰り返し受信し、整列回路の出力とエラーレート検出回路が持つ期待値を比較することでエラーレートを算出する。次にデータ検出ラッチのクロック８０とエッジ検出ラッチのクロック７０〜７３の位相差を変化させエラーレートが最小になる点を探す。続いてクロック８１、８２、８３に対して同様の処理を行い、更に信号８０、８１、８２、８３に対して同様の処理を１回以上繰り返す。ただしそれまでに測定したエラーレートが所望の特性を達成している場合は省略することができる。
【００５１】
本実施例においてはエラーレート検出回路を備え、受信回路はあらかじめ取り決めた送信データ列を繰り返し受信し、整列回路の出力とエラーレート検出回路が持つ期待値を比較することでエラーレートを算出する。次にそれぞれのデータ検出ラッチのクロックとエッジ検出ラッチのクロックの位相差を変化させエラーレートが最小になる点を探す。本実施例によれば、シリアルデータ信号のエラーレートを小さくできる受信回路が得られる。
【００５２】
（実施例４）
図４は、本発明の第４の実施形態による受信回路の全体構成を示すブロック図である。受信回路は、クロック発生回路１０、クロック分配回路１１、１ビットの受信回路１１２〜１１５、シリアルデータ入力信号９０〜９３、シリアルデータ出力信号９５〜９８を備える。１ビットの受信回路１１２は、クロック分配回路２０、多相クロック発生回路２１、セレクタ２２、２３、エッジ判定論理２４、２５、エッジ検出ラッチ３０〜３３、データ検出ラッチ３４〜３８、アンプ回路２９、整列回路２６、インバータ１２〜１３、エラーレート検出回路２７を備える。
【００５３】
図４の示す受信回路の構成は、実施例３におけるブロック図３に対して、データ検出ラッチ３８が追加されている。セレクタ２３からはデータ検出ラッチ３８用のクロック８４が追加出力される。データ検出ラッチ３８は、クロック８４によりアンプ出力信号９９を取り込み、出力８９をエラーレート検出回路２７に出力する。データ検出ラッチ３８は冗長なデータ検出ラッチであり、この冗長なデータ検出ラッチと、本来のデータ検出ラッチとの位相差によるエラーレートを判定し、エラーレートを小さくするように最適なクロックの位相を調整する。冗長なデータ検出ラッチは、それぞれのデータ検出ラッチと比較調整することで、エラーレートを小さくできる。その他の構成は実施例３（図３）と同じであることから、その説明を省略する。
【００５４】
図４に示すシリアル信号受信回路の基本動作について、図８、図１０のタイミング図を参照して説明する。多相クロック発生回路１０は、シリアルデータ信号の有効期間の４（＝Ｍ＊２）倍を周期とし、シリアルデータ信号の有効期間を１６等分する多相クロック（６００〜６３１）を発生する。周期４（Ｍ＊２）×分割数１６相の合計６４相のクロックを発生する必要があるが、ここでは半分の３２相を生成し、残りの３２相は前者３２相の反転論理を用いることとした。そのため図８においては、前半の２倍周期分である３２相のみを図示している。
【００５５】
４個のエッジ検出ラッチを備え、それぞれクロック７０〜７３により駆動されている。セレクタ２２は６４相クロックからクロック７０、７１を発生するが、クロック７２〜７３はクロック７０〜７１の反転信号である。またクロック７０と７１はシリアルデータ信号の有効期間と同じ期間ずれるよう調整されている。またデータ検出ラッチのクロック８０〜８３はクロック７０〜７３とシリアルデータ信号の有効期間のほぼ１／２ずれるよう調整されているが、位相差は独立に調整できる。データ整列回路２６はデータ検出ラッチの出力８５〜８８を整列し、シリアルデータ出力信号９５を出力する。
【００５６】
第１のエッジ判定論理２４は、データ検出ラッチ３４〜３７の出力８５〜８８を観測し有効なエッジを検出する。またエッジ有効期間のエッジ検出ラッチ３０〜３３の出力７５〜７８とデータ検出ラッチの出力８５〜８８からエッジ検出用クロックがシリアルデータ信号のエッジより早かったか、遅かったかを判定する。４つのエッジ検出ラッチのクロックに対して早かったか、遅かったかを一定期間判定し、早かった場合と遅かった場合が同数になるようにセレクタ２２を調整し、適切な多相クロックを選ぶ。同様に第２のエッジ判定論理２５は、エラーレート検出回路２７がセレクタ２３を調整しセレクタ２２の出力とセレクタ２３の出力が一定値の位相差になるように設定するが、位相差はシリアルデータ信号の有効期間の１／２に固定せず、エラーレートが最小になるよう設定する。
【００５７】
図１０は、シリアルデータ信号と、エッジ検出ラッチのクロックと、データ検出ラッチのクロックとの相関関係を示すタイミング図である。第１のエッジ検出ラッチ２４のクロック７０はｃ０だけシリアルデータ信号のエッジより早く到達し、第２、３、４番目のエッジ検出ラッチのクロック７１、７２、７３はｃ１、ｃ２、ｃ３だけシリアルデータ信号のエッジより遅く到達している。エッジ検出ラッチのクロックが早い場合と遅い場合の出現数が同数、すなわちｃ０＝ｃ１＋ｃ２＋ｃ３となるようにエッジ判定論理はセレクタ２２、２３を調整する。このとき仮に、図１０のように、データ検出ラッチのクロックをエッジ検出ラッチからシリアルデータ信号の有効期間の１／２ずれるように設定すると、図中の「最悪マージン」のタイミングでデータ検出ラッチのクロックとシリアルデータ入力信号のエッジが接近し、エラーレートが悪化する。そこで、データ検出ラッチのクロック８０〜８３とエッジ検出ラッチのクロック７０〜７３の位相差をシリアルデータ信号の有効期間の１／２と固定せず、可変とする。
【００５８】
エラーレートが最小となるデータ検出ラッチのクロック８０〜８３とエッジ検出ラッチのクロック７０〜７３の位相差を求めるには以下の手順を行う。受信回路はデータ列（あらかじめ取り決めた送信データ列である必要はない）を受信する。エラーレート検出回路２７は、第２のエッジ判定論理２５、第２のセレクタ２３を介して冗長なデータ検出ラッチ３８を駆動するクロック８４の位相を早く、または遅くする。クロック８４の位相を調整し、データ検出ラッチ３４と冗長なデータ検出ラッチ３８が同じ値を取り込むクロック８４の位相範囲を判定する。クロック８４の位相範囲の平均値または予め取り決めた値または割合だけ平均値から早めた、あるいは遅らせた位相にクロック８０の位相を合わせる。このために予め定めた期間を要する。
【００５９】
次に、データ検出ラッチ３５のクロックに対し、同様な位相合わせを行い、クロック８４の位相範囲を判定し、その平均値または予め取り決めた値または割合だけ平均値から早めた、あるいは遅らせた位相にクロック８１の位相を合わせる。続いてクロック８２、８３に対して同様の処理を行いクロック８２、８３の位相を更新する。更に信号８０、８１、８２、８３に対して同様の処理を１回以上繰り返す。ただしそれまでに測定したエラーレートが所望の特性を達成している場合は省略することができる。
【００６０】
クロック８４と冗長なデータ検出ラッチ３８は一定期間またはエラーレートが所望の特性を達成するまで動作させるが、その後は停止してもよい。もしくは連続的または断続的に前記の手順を行うことで温度変化、経年変化によって生じるエラーレート劣化を改善するようクロック８０〜８３の位相を更新することができる。
【００６１】
本実施例は、冗長なデータ検出ラッチを設け、冗長なデータ検出ラッチと、本来のデータ検出ラッチとの位相差を判定し、最適なクロックの位相を調整することで、エラーレートを小さくしている。
【００６２】
（実施例５）
図５は、本発明の第５の実施形態による受信回路の全体構成を示すブロック図である。受信回路は、クロック発生回路１０、クロック分配回路１１、１ビットの受信回路１１２〜１１５、シリアルデータ入力信号９０〜９３、シリアルデータ出力信号９５〜９８を備える。１ビットの受信回路１１２は、クロック分配回路２０、多相クロック発生回路２１、セレクタ２２、２３、エッジ判定論理２４、２５、エッジ検出ラッチ３０〜３３、データ検出ラッチ３４〜３７、アンプ回路２９、整列回路２６を備える。
【００６３】
図５の示す受信回路の構成は、実施例１における図１に対して、エッジ検出ラッチとデータ検出ラッチへのクロックの供給手段が異なっている。実施例５においては、クロック７２、７３、８２、８３を供給するインバータ１２、１３、１４、１５が省略され、エッジ検出ラッチ３０〜３３と、データ検出ラッチ３４〜３７への全てのクロックは、セレクタ２２、２３から直接供給されている。本実施例の多相クロック発生回路２１は６４相の多相クロック６００〜６６３を発生し、セレクタ２２、２３に供給する。セレクタ２２、２３は、６４相の多相クロック６００〜６６３のなかから、それぞれ４つのクロック７０〜７３、８０〜８３を選択する。そのためクロック７０〜７３、８０〜８３は、全て独立して自由な位相差を有するクロックとすることができる。その他の構成は実施例１（図１）と同じであることから、その説明を省略する。
【００６４】
本実施例のエッジ検出ラッチとデータ検出ラッチのクロックは、全てセレクタ２２、２３から出力されており、すべて位相差が異なるクロックとして独立して、選択することができる。その他の構成は実施例１（図１）と同じであることから、その説明を省略する。
【００６５】
図５に示すシリアル信号受信回路の基本動作について図８、図１０のタイミング図を参照して説明する。多相クロック発生回路１０は、シリアルデータ信号の有効期間の４（＝Ｍ＊２）倍を周期とし、シリアルデータ信号の有効期間を１６等分する多相クロック（６００〜６３１）を発生する。周期４（Ｍ＊２）×分割数１６相のクロックを発生する必要があるが、ここでは半分の３２相を生成し、残りの３２相は前者３２相の反転論理を用いて発生することとした。そのため図８においては、前半３２相のみを図示している。
【００６６】
４個のエッジ検出ラッチ３０〜３３を備え、それぞれクロック７０〜７３により駆動されている。クロック７０〜７３はシリアルデータ信号の有効期間とほぼ同じ期間ずれるよう調整されているが、位相差を独立に調整することができる。またデータ検出ラッチのクロック８０〜８３はクロック７０〜７３とシリアルデータ信号の有効期間のほぼ１／２ずれるよう調整されているが、位相差は独立に調整できる。データ整列回路２６はデータ検出ラッチの出力８５〜８８を整列し、シリアルデータ出力信号９５を出力する。
【００６７】
また第１のエッジ判定論理２４は、データ検出ラッチ３４〜３７の出力８５〜８８を観測し有効なエッジを検出する。またエッジ有効期間のエッジ検出ラッチの出力７５〜７８とデータ検出ラッチの出力８５〜８８からエッジ検出用クロックがシリアルデータ信号のエッジより早かったか遅かったかを判定する。第２のエッジ判定論理２５は、データ検出ラッチのクロック８０〜８３が、エッジ検出ラッチのクロック７０〜７３の中央より早かったか遅かったかを判定する。
【００６８】
図１０は、シリアルデータ信号と、エッジ検出ラッチのクロックと、データ検出ラッチのクロックとの相関関係を示すタイミング図である。エッジ検出ラッチのクロック７０〜７３の位相差がシリアルデータのデータ有効期間と同じ値で固定の場合、エッジ検出ラッチ２４の第１のクロックはｃ０だけシリアルデータ信号のエッジより早く到達している。エッジ検出ラッチ２４の第２、３、４番目のクロックはｃ１、ｃ２、ｃ３だけシリアルデータ信号のエッジより遅く到達している（図１０）。ここでエッジ検出ラッチのクロックを独立に調整し、ｃ０＝０、ｃ１＝０、ｃ２＝０、ｃ３＝０とすることで、シリアルデータ信号のエッジを正しく認識する。
【００６９】
第２のエッジ判定論理２５は、セレクタ２３を調整し、エラーレートを最小化できるようにデータ検出ラッチ３４〜３７のクロック８０〜８３を設定する。クロック８０〜８３と、エッジ検出ラッチのクロック７０〜７３との位相差を、シリアルデータ信号の有効期間の半分、またはその半分から一定値もしくは一定割合早めの値、あるいは遅めの値になるように設定する。データ検出ラッチ３４〜３７のクロック８０〜８３がシリアルデータ信号の有効期間のほぼ中央になるように設定することでエラーレートを最小化できる。
【００７０】
また図１０で「最悪マージン」と書いたエッジ検出ラッチのクロックとデータ検出ラッチのクロックの位相差の最小値によってエラーレートが決まるため、全てのデータ検出ラッチのクロックの位相を最適化する必要はなく、最小となる隣接するエッジ検出用クロック位相差に挟まれたデータ検出ラッチのクロックに注力して最適化すればよい。
【００７１】
本実施例において、エッジ検出ラッチとデータ検出ラッチのクロックは、６４相の多相クロックから選択され、セレクタ２２、２３から供給される。そのためクロックの位相が自由に最適化できることから、シリアルデータ信号のエッジを正しく認識できる。またデータ検出ラッチのクロックも、エッジ検出ラッチのクロックに対して自由に最適化できることからエラーレートを最小化できる。
【００７２】
（実施例６）
図６は、本発明の第６の実施形態による受信回路の全体構成を示すブロック図である。受信回路は、クロック発生回路１０、クロック分配回路１１、１ビットの受信回路１１２〜１１５、シリアルデータ入力信号９０〜９３、シリアルデータ出力信号９５〜９８を備える。１ビットの受信回路１１２は、クロック分配回路２０、多相クロック発生回路２１、セレクタ２２、２３、エッジ判定論理２４、２５、エッジ検出ラッチ３０〜３３、データ検出ラッチ３４〜３７、アンプ回路２９、整列回路２６、エラーレート検出回路２７を備える。
【００７３】
図６の示す受信回路の構成は、実施例５における図５に対して、エラーレート検出回路２７が追加されている。エラーレート検出回路２７は、整列回路２６からのシリアルデータ出力信号９５とクロック分配回路２０からのクロック５０とエッジ検出ラッチの出力７５〜７８とを入力とし、出力信号５５をエッジ判定論理２４、２５へ出力する。その他の構成は実施例５（図５）と同じであることから、その説明を省略する。
【００７４】
図５に示すシリアル信号受信回路の基本動作について図８、図１０のタイミング図を参照して説明する。多相クロック発生回路１０は、シリアルデータ信号の有効期間の４（＝Ｍ＊２）倍を周期とし、シリアルデータ信号の有効期間を１６等分する多相クロック（６００〜６３１）を発生する。周期４（Ｍ＊２）×分割数１６相のクロックを発生する必要があるが、ここでは半分の３２相を生成し、残りの３２相は前者３２相の反転論理を用いることとした。そのため図８においては、前半３２相のみを図示している。
【００７５】
４個のエッジ検出ラッチを備え、それぞれクロック７０〜７３により駆動されている。クロック７０〜７３はシリアルデータ信号の有効期間とほぼ同じ期間ずれるよう調整されているが、位相差を独立に調整することができる。またデータ検出ラッチのクロック８０〜８３はクロック７０〜７３とシリアルデータ信号の有効期間のほぼ１／２ずれるよう調整されているが、位相差は独立に調整できる。データ整列回路はデータ検出ラッチの出力８５〜８８を整列し、シリアルデータ出力信号９５を出力する。
【００７６】
第１のエッジ判定論理２４は、データ検出ラッチの出力８５〜８８を観測し有効なエッジを検出する。また第１のエッジ判定論理２４は、エッジ有効期間のエッジ検出ラッチの出力７５〜７８とデータ検出ラッチの出力８５〜８８からエッジ検出用クロックがシリアルデータ信号のエッジより早かったか遅かったかを判定する。
【００７７】
図１０は、シリアルデータ信号と、エッジ検出ラッチのクロックと、データ検出ラッチのクロックとの相関関係を示すタイミング図である。エッジ検出ラッチのクロック７０〜７３の位相差がシリアルデータのデータ有効期間と同じ値で固定の場合、エッジ検出ラッチの第１のクロックはｃ０だけシリアルデータ信号のエッジより早く到達し、エッジ検出ラッチの第２、３、４番目のクロックはｃ１、ｃ２、ｃ３だけシリアルデータ信号のエッジより遅く到達している（図１０）。ここでエッジ検出ラッチのクロックを独立に調整し、ｃ０＝０、ｃ１＝０、ｃ２＝０、ｃ３＝０とすることでシリアルデータ信号のエッジを正しく認識する。
【００７８】
第２のエッジ判定論理２５は、セレクタ２３を調整し、エラーレートを最小化できるようにデータ検出ラッチ３４〜３７のクロック８０〜８３を設定する。クロック８０〜８３と、エッジ検出ラッチのクロック７０〜７３との位相差を、シリアルデータ信号の有効期間の半分、またはその半分から一定値もしくは一定割合早めの値、あるいは遅めの値になるように設定する。データ検出ラッチ３４〜３７のクロック８０〜８３がシリアルデータ信号の有効期間のほぼ中央になるように設定することでエラーレートを最小化できる。
【００７９】
エラーレートが最小となるデータ検出ラッチのクロック８０〜８３、エッジ検出ラッチのクロック７０〜７３の位相を求めるには以下の手順を行う。あらかじめ取り決めた送信データ列を繰り返し受信し、エッジ検出ラッチ３０が取り込んだ出力信号７５が、クロックエッジの前である頻度とクロックエッジの後である頻度が同じになるように第１のエッジ判定論理２４はクロック７０の位相を調整する。クロックエッジの前であるか、後であるかは出力信号７５とデータ検出ラッチの出力信号８５〜８８を比較することで判断する。またデータ検出ラッチの出力信号８５〜８８を観測し、着目するエッジの前後でデータが変化しない場合はカウントしない。同様にクロック７１〜７３を調整する。
【００８０】
次に第２のエッジ判定論理２５は、第１エッジ判定論理２４と同様に出力信号７５〜７８、８５〜８８を観測する。データ検出ラッチに配るクロック８０〜８３の位相差が、エッジ検出ラッチのクロック７０〜７３からシリアルデータ信号の有効期間の半分、またはその半分から一定値もしくは一定割合早めの値、あるいは遅めの値になるように設定する。続いて信号８０、８１、８２、８３に対して同様の処理を１回以上繰り返す。ただしそれまでに測定したエラーレートが所望の特性を達成している場合は省略することができる。
【００８１】
エラーレート検出回路は、整列回路の出力とエラーレート検出回路が持つ期待値を比較することでエラーレートを算出し、エッジ判定論理２４、２５を制御する。エッジ検出ラッチのクロック７０〜７３とクロック８０〜８３の位相差（一定値もしくは一定割合）を調整することでエラーレートを改善することができる。
【００８２】
本実施例においてはエラーレート検出回路を備え、受信回路はあらかじめ取り決めた送信データ列を繰り返し受信し、整列回路の出力とエラーレート検出回路が持つ期待値を比較することでエラーレートを算出する。次にそれぞれのデータ検出ラッチのクロックとエッジ検出ラッチのクロックの位相差を変化させエラーレートが最小になる点を探す。本実施例によれば、シリアルデータ信号のエラーレートが小さな受信回路が得られる。
【００８３】
（実施例７）
図７は、本発明の第７の実施形態による受信回路の全体構成を示すブロック図である。受信回路は、クロック発生回路１０、クロック分配回路１１、１ビットの受信回路１１２〜１１５、シリアルデータ入力信号９０〜９３、シリアルデータ出力信号９５〜９８を備える。１ビットの受信回路１１２は、クロック分配回路２０、多相クロック発生回路２１、セレクタ２２、２３、エッジ判定論理２４、２５、エッジ検出ラッチ３０〜３３、データ検出ラッチ３４〜３８、アンプ回路２９、整列回路２６、エラーレート検出回路２７を備える。
【００８４】
図７の示す受信回路の構成は、実施例６における図６に対して、データ検出ラッチ３８が追加されている。セレクタ２３からはデータ検出ラッチ３８用のクロック８４が追加出力される。データ検出ラッチ３８は、クロック８４によりアンプ出力信号９９を取り込み、出力８９をエラーレート検出回路２７に出力する。データ検出ラッチ３８は冗長なデータ検出ラッチであり、この冗長なデータ検出ラッチと、本来のデータ検出ラッチとの位相差によるエラーレートを判定し、エラーレートを小さくするように最適なクロックの位相を調整する。冗長なデータ検出ラッチは、それぞれのデータ検出ラッチと比較調整することで、エラーレートを小さくできる。その他の構成は実施例６（図６）と同じであることから、その説明を省略する。
【００８５】
図７に示すシリアル信号受信回路の基本動作について図８、図１０のタイミング図を参照して説明する。多相クロック発生回路１０は、シリアルデータ信号の有効期間の４（＝Ｍ＊２）倍を周期とし、シリアルデータ信号の有効期間を１６等分する多相クロック（６００〜６３１）を発生する。周期４（Ｍ＊２）×分割数１６相のクロックを発生する必要があるが、ここでは半分の３２相を生成し、残りの３２相は前者３２相の反転論理を用いることとした。図８には前半の３２相の多相クロック（６００〜６３１）のみを示している。
【００８６】
４個のエッジ検出ラッチ３０〜３３を備え、それぞれクロック７０〜７３により駆動されている。クロック７０〜７３はシリアルデータ信号の有効期間とほぼ同じ期間ずれるよう調整されているが、位相差を独立に調整することができる。またデータ検出ラッチ３４〜３７のクロック８０〜８３はクロック７０〜７３とシリアルデータ信号の有効期間のほぼ１／２ずれるよう調整されているが、位相差は独立に調整できる。またデータ検出ラッチ３８は、調整用のための冗長なデータ検出ラッチである。データ整列回路はデータ検出ラッチの出力８５〜８８を整列し、シリアルデータ出力信号９５を出力する。
【００８７】
第１のエッジ判定論理２４は、データ検出ラッチ３４〜３７の出力８５〜８８を観測し有効なエッジを検出する。また第１のエッジ判定論理２４は、エッジ有効期間のエッジ検出ラッチの出力７５〜７８とデータ検出ラッチの出力８５〜８８からエッジ検出用クロックがシリアルデータ信号のエッジより早かったか、遅かったかを判定する。
【００８８】
図１０は、シリアルデータ信号と、エッジ検出ラッチのクロックと、データ検出ラッチのクロックとの相関関係を示すタイミング図である。エッジ検出ラッチ３０〜３３のクロック７０〜７３の位相差がシリアルデータのデータ有効期間と同じ値で固定の場合、第１のエッジ検出ラッチのクロック７０はｃ０だけシリアルデータ信号のエッジより早く到達している。第２、３、４番目のエッジ検出ラッチのクロック７１、７２、７３はｃ１、ｃ２、ｃ３だけシリアルデータ信号のエッジより遅く到達している（図１０）。ここでエッジ検出ラッチのクロックを独立に調整し、ｃ０＝０、ｃ１＝０、ｃ２＝０、ｃ３＝０とすることでシリアルデータ信号のエッジを正しく認識する。
【００８９】
第２のエッジ判定論理２５は、セレクタ２３を調整し、エラーレートを最小化できるようにデータ検出ラッチ３４〜３７のクロック８０〜８３を設定する。クロック８０〜８３と、エッジ検出ラッチのクロック７０〜７３との位相差を、シリアルデータ信号の有効期間の半分、またはその半分から一定値もしくは一定割合早めの値、あるいは遅めの値になるように設定する。データ検出ラッチ３４〜３７のクロック８０〜８３がシリアルデータ信号の有効期間のほぼ中央になるように設定することでエラーレートを最小化できる。
【００９０】
エラーレートが最小となるデータ検出ラッチのクロック８０〜８３とエッジ検出ラッチのクロック７０〜７３の位相差を求めるには以下の手順を行う。まずエッジ検出ラッチ３０が取り込んだ出力７５が、クロックの前である頻度とクロックの後である頻度が同じになるように第１のエッジ判定論理はクロック７０の位相を調整する。クロックの前であるか、後であるかはエッジ検出ラッチの出力７５とデータ検出ラッチの出力８５〜８８を比較することで判断する。また出力８５〜８８を観測し、着目するエッジの前後でデータが変化しない場合はカウントしない。同様にクロック７１〜７３を調整する。
【００９１】
次にデータ列（あらかじめ取り決めた送信データ列である必要はない）を受信する。最初にデータ検出ラッチ３４と冗長なデータ検出ラッチ３８が同じ値を取り込むクロック８４の位相範囲を判定する。エラーレート検出回路２７は、第２のエッジ判定論理２５、第２のセレクタ２３を介して冗長なデータ検出ラッチ３８を駆動するクロック８４の位相を早くしたり、あるいは遅くしたり調整する。このようにエラーレート検出回路２７は、データ検出ラッチ３４と冗長なデータ検出ラッチ３８が同じ値を取り込むクロック８４の位相範囲を判定する。その平均値または予め取り決めた値または割合だけ平均値から早くしたり、あるいは遅くしたりした位相にクロック８０の位相を合わせる。このために予め定めた期間を要する。
【００９２】
次に、データ検出ラッチ３５と冗長なデータ検出ラッチ３８が同じ値を取り込むクロック８４の位相範囲を判定する。冗長なデータ検出ラッチ３８を駆動するクロック８４の位相を早くしたり、あるいは遅くしたりしてデータ検出ラッチ３５と冗長なデータ検出ラッチ３８が同じ値を取り込むクロック８４の位相範囲を判定する。その平均値または予め取り決めた値または割合だけ平均値から早くしたり、あるいは遅くしたりした位相にクロック８１の位相を合わせる。続いてクロック８２、８３に対して同様の処理を行いクロック８２、８３の位相を更新する。更にクロック８０、８１、８２、８３に対して同様の処理を１回以上繰り返す。ただしそれまでに測定したエラーレートが所望の特性を達成している場合は省略することができる。
【００９３】
クロック８４と冗長なデータ検出ラッチ３８は一定期間またはエラーレートが所望の特性を達成するまで動作させるが、その後は停止してもよい。もしくは連続的または断続的に前記の手順を行うことで温度変化、経年変化によって生じるエラーレート劣化を改善するようクロック８０〜８３の位相を更新することができる。
【００９４】
本実施例では、さらに冗長なデータ検出ラッチを設け、冗長なデータ検出ラッチと、本来のデータ検出ラッチとの位相差を判定し、最適なクロックの位相を調整することで、エラーレートを小さくできる。本実施例によれば、シリアルデータ信号のエラーレートを小さくできる受信回路が得られる。
【００９５】
本発明の受信回路は、クロックから多相クロックを生成し、エッジ検出ラッチおよびデータ検出ラッチのクロックを生成した多相クロックから選択する。エッジ検出ラッチのクロックはシリアルデータ信号の有効期間とほぼ同じ期間ずれるよう調整される。またデータ検出ラッチのクロックは、エッジ検出ラッチのクロックとシリアルデータ信号の有効期間のほぼ１／２ずれるよう調整されている。
【００９６】
Ｍ＊２個のエッジ検出ラッチでシリアルデータ信号のエッジに合わせ、Ｍ＊２個のデータ検出ラッチでシリアルデータ信号の有効期間のほぼ１／２の位置でデータをラッチする。Ｍ＊２個データ検出ラッチが、Ｍ＊２を周期としてデータを取り込むが、シリアルデータ信号に現れる周期的なデータが有効な時間幅のずれに対してデータ検出の契機となるクロックをエラーレートが最小になるよう調整する。整列回路はデータ検出ラッチの出力を入力シリアルデータ信号のデータレートに合わせて並び替え出力データ信号を出力する。
【００９７】
またさらにエラーレート検出回路を備えることができる。エラーレート検出回路は、整列回路の出力または、データ検出ラッチおよびエッジ検出ラッチの出力を観測してエラーレートを計算することができる。このように、少なくともＭ＊２個のエッジ検出ラッチとデータ検出ラッチを備え、Ｍ＊２を周期としてデータを取り込むクロックを、多相クロックのなかから最適なクロックを選択することで、データエラーレートが小さな受信回路が得られる。
【００９８】
本発明の効果は、送信波形に規則的な波形のずれが生じても、受信回路のデータ用クロックの位相を最適化することによりエラーレートを最小化できることにある。本発明の第２のセレクタはデータ用クロックを発生するが、従来はエッジ用の第１のセレクタと位相が１８０度ずれた位相を供給していた。しかし本発明では第２のセレクタと第１のセレクタの位相を自由に設定できるため、エラーレートを最適化できる。
【００９９】
また本発明では、第２のセレクタはデータ用ラッチに供給する全てのクロックの位相を独立に調整することもできるため、送信信号の理想波形からのずれにおいて様々なずれに対応することが可能であり、エラーレートを最小化することができる。
【０１００】
さらに本発明では、あらかじめ取り決めたトレーニングパターンを用いてエラーレートが最小となるデータ用クロックのエッジを探す手段を提供することができる。また通常の通信を行いながら、冗長に設けたラッチでエラーレートが最小となるデータ用クロックのエッジを探す手段を提供することができる。
【０１０１】
本発明においては、エッジ検出ラッチの数より少ないクロックを出力し、インバータで作成した（２線論理の場合は正負反転した）信号をエッジ検出ラッチに配ることでクロック数を削減することができる。さらに、それぞれエッジ検出ラッチに配られる全クロックの位相を独立に調整する手段を備えることができる。さらに、それぞれエッジ検出ラッチに配られる全クロックの位相を独立に調整する手段と、エッジ検出ラッチの出力を考慮しながらエラーレート検出を行うエラーレート検出回路を備えることができる。
【０１０２】
以上、実施の形態例、実施例として本願発明を説明したが、本願発明は上記の実施形態例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で様々な変更をすることができる。
【符号の説明】
【０１０３】
１０    クロック発生回路
１１、２０    クロック分配回路
１２、１３、１４、１５    インバータ
２１    多相クロック発生回路
２２、２３    セレクタ
２４、２５    エッジ判定論理
２６    整列回路
２７    エラーレート検出回路
２９    アンプ回路
３０、３１、３２、３３    エッジ検出ラッチ
３４、３５、３６、３７、３８    データ検出ラッチ
４０、４１、５０    クロック
５１、５２    セレクタの制御信号
５５    エラーレート検出回路の出力信号
６００〜６３１    多相クロック
７０、７１、７２、７３    エッジ検出ラッチのクロック
７５、７６、７７、７８    エッジ検出ラッチの出力
８０、８１、８２、８３、８４    データ検出ラッチのクロック
８５、８６、８７、８８、８９    データ検出ラッチの出力
９０、９１、９２、９３    シリアルデータ入力信号
９９    アンプ出力信号
９５、９６、９７、９８    シリアルデータ出力信号
１１２、１１３、１１４、１１５    １ビットシリアルデータ受信回路
【図１】
0005522372.tif 000002
【図２】
0005522372.tif 000003
【図３】
0005522372.tif 000004
【図４】
0005522372.tif 000005
【図５】
0005522372.tif 000006
【図６】
0005522372.tif 000007
【図７】
0005522372.tif 000008
【図８】
0005522372.tif 000009
【図９】
0005522372.tif 000010
【図１０】
0005522372.tif 000011
【図１１】
0005522372.tif 000012
【図１２】
0005522372.tif 000013