(57)【特許請求の範囲】
【請求項１】
カスケード接続された複数のフリップフロップ回路を含み、第１のクロック信号に同期して、入力パラレルデータを前記複数のフリップフロップ回路内でシフトさせるシフトレジスタと、
前記第１のクロック信号の位相を検出し、前記検出された第１のクロック信号の位相に応じた位相の第２のクロック信号を出力する制御回路と、
前記入力パラレルデータ及び前記複数のフリップフロップ回路の出力パラレルデータのうちのいずれかを選択するセレクタと、
前記第２のクロック信号に同期して、前記セレクタにより選択されたパラレルデータをシリアルデータに変換する変換回路とを有し、
前記制御回路は、前記検出された第１のクロック信号の位相のずれ量に応じて、選択信号を出力し、
前記セレクタは、前記選択信号に応じて、前記入力パラレルデータ及び前記複数のフリップフロップ回路の出力パラレルデータのうちのいずれかを選択することを特徴とする送信回路。
【請求項２】
前記シフトレジスタは、
前記第１のクロック信号に同期して、前記入力パラレルデータを保持する第１のフリップフロップ回路と、
前記第１のクロック信号に同期して、前記第１のフリップフロップ回路の出力パラレルデータを保持する第２のフリップフロップ回路とを有し、
前記セレクタは、前記選択信号に応じて、前記入力パラレルデータ、前記第１のフリップフロップ回路の出力パラレルデータ及び第２のフリップフロップ回路の出力パラレルデータのうちのいずれかを選択することを特徴とする請求項１記載の送信回路。
【請求項３】
前記制御回路は、
前記検出された第１のクロック信号の位相のずれ量を、前回検出した前記第１のクロック信号と今回検出する前記第１のクロック信号の位相差を積分した値に基づいて算出し、
前記積分した値が第１の閾値位相より進んでいる位相を示す場合には、前記第２のフリップフロップ回路の出力パラレルデータを選択するための選択信号を出力し、
前記積分した値が第２の閾値位相より遅れている位相を示す場合には、前記入力パラレルデータを選択するための選択信号を出力し、
前記積分した値が前記第１の閾値位相より進んでおらず、かつ、前記第２の閾値位相より遅れていない位相を示す場合には、前記第１のフリップフロップ回路の出力パラレルデータを選択するための選択信号を出力することを特徴とする請求項２記載の送信回路。
【請求項４】
前記制御回路は、前記検出された第１のクロック信号の位相に応じて、複数の位相の参照クロック信号のうちのいずれかの位相の参照クロック信号を前記第２のクロック信号として選択して出力することを特徴とする請求項１〜３のいずれか１項に記載の送信回路。
【請求項５】
前記制御回路は、前記複数の位相の参照クロック信号に同期して、前記第１のクロック信号の値を保持する複数の第３のフリップフロップ回路を有し、前記複数の第３のフリップフロップ回路の出力値に応じて、前記第１のクロック信号の位相を検出することを特徴とする請求項４記載の送信回路。
【請求項６】
第１のクロック信号及びパラレルデータを出力するロジック回路と、
前記第１のクロック信号及び前記パラレルデータを受けとる送信回路とを有し、
前記送信回路は、
カスケード接続された複数のフリップフロップ回路を含み、前記第１のクロック信号に同期して、入力パラレルデータを前記複数のフリップフロップ回路内でシフトさせるシフトレジスタと、
前記第１のクロック信号の位相を検出し、前記検出された第１のクロック信号の位相に応じた位相の第２のクロック信号を出力する制御回路と、
前記入力パラレルデータ及び前記複数のフリップフロップ回路の出力パラレルデータのうちのいずれかを選択するセレクタと、
前記第２のクロック信号に同期して、前記セレクタにより選択されたパラレルデータをシリアルデータに変換する変換回路とを有し、
前記制御回路は、前記検出された第１のクロック信号の位相のずれ量に応じて、選択信号を出力し、
前記セレクタは、前記選択信号に応じて、前記入力パラレルデータ及び前記複数のフリップフロップ回路の出力パラレルデータのうちのいずれかを選択することを特徴とする集積回路。
【請求項７】
前記シフトレジスタは、
前記第１のクロック信号に同期して、前記入力パラレルデータを保持する第１のフリップフロップ回路と、
前記第１のクロック信号に同期して、前記第１のフリップフロップ回路の出力パラレルデータを保持する第２のフリップフロップ回路とを有し、
前記セレクタは、前記選択信号に応じて、前記入力パラレルデータ、前記第１のフリップフロップ回路の出力パラレルデータ及び第２のフリップフロップ回路の出力パラレルデータのうちのいずれかを選択することを特徴とする請求項６記載の集積回路。
【請求項８】
前記制御回路は、
前記検出された第１のクロック信号の位相のずれ量を、前回検出した前記第１のクロック信号と今回検出する前記第１のクロック信号の位相差を積分した値に基づいて算出し、
前記積分した値が第１の閾値位相より進んでいる位相を示す場合には、前記第２のフリップフロップ回路の出力パラレルデータを選択するための選択信号を出力し、
前記積分した値が第２の閾値位相より遅れている位相を示す場合には、前記入力パラレルデータを選択するための選択信号を出力し、
前記積分した値が前記第１の閾値位相より進んでおらず、かつ、前記第２の閾値位相より遅れていない位相を示す場合には、前記第１のフリップフロップ回路の出力パラレルデータを選択するための選択信号を出力することを特徴とする請求項７記載の集積回路。
【請求項９】
前記制御回路は、前記検出された第１のクロック信号の位相に応じて、複数の位相の参照クロック信号のうちのいずれかの位相の参照クロック信号を前記第２のクロック信号として選択して出力することを特徴とする請求項６〜８のいずれか１項に記載の集積回路。
【請求項１０】
前記制御回路は、前記複数の位相の参照クロック信号に同期して、前記第１のクロック信号の値を保持する複数の第３のフリップフロップ回路を有し、前記複数の第３のフリップフロップ回路の出力値に応じて、前記第１のクロック信号の位相を検出することを特徴とする請求項９記載の集積回路。
【請求項１１】
第１のクロック信号に同期して、入力パラレルデータを複数のフリップフロップ回路内でシフトさせ、
制御回路により、前記第１のクロック信号の位相を検出し、前記検出された第１のクロック信号の位相に応じた位相の第２のクロック信号を出力し、
セレクタにより、前記入力パラレルデータ及び前記複数のフリップフロップ回路の出力パラレルデータのうちのいずれかを選択し、
変換回路により、前記第２のクロック信号に同期して、前記セレクタにより選択されたパラレルデータをシリアルデータに変換し、
前記制御回路により、前記検出された第１のクロック信号の位相のずれ量に応じて、選択信号を出力し、
前記セレクタにより、前記選択信号に応じて、前記入力パラレルデータ及び前記複数のフリップフロップ回路の出力パラレルデータのうちのいずれかを選択することを特徴とするパラレルシリアル変換方法。
【請求項１２】
前記制御回路により、前記検出された第１のクロック信号の位相のずれ量を、前回検出した前記第１のクロック信号と今回検出する前記第１のクロック信号の位相差を積分した値により算出することを特徴とする請求項１１記載のパラレルシリアル変換方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、送信回路、集積回路及びパラレルシリアル変換方法に関する。
【背景技術】
【０００２】
受信データを転送クロックの２のｎ乗倍（ｎ≠０）の書き込みクロックによりシリアルに書き込みパラレルに出力するシリアル・シフトレジスタを有するクロック乗せ替え回路が知られている（特許文献１参照）。クロック発生器は、書き込みクロックと受信データを転送するための転送クロックとを発生する。ずれ検出手段は、受信データに基づき発生した受信再生クロックと転送クロックとの位相差のずれを検出する。選択回路は、ずれ検出手段により検出された位相差のずれに基づきシリアル・シフトレジスタからのデータ列から選択されるデータの選択位置を決定する。フリップ・フロップは、選択回路に選択されたデータを転送クロックに同期して出力する。クロック乗せ替え回路は、受信データを安定したクロックに乗せ替えて転送する。
【０００３】
また、同一周波数の送信クロックを各局独立に発生し、この送信クロックと同期させて受信信号を送信信号に変換し中継動作をするようにしたループ伝送装置の同期補正回路が知られている（特許文献２参照）。可変遅延回路は、受信信号を可変時間遅延させる。位相差検出回路は、この可変遅延回路の出力と送信クロックとの位相差を検出する。設定手段は、位相差に基づいて可変遅延回路の可変時間を設定する。
【０００４】
また、所定周期の入力データを所定周期と同一周期のクロック信号のタイミングにより取込む際のクロック位相調整回路が知られている（特許文献３参照）。位相制御手段は、クロック信号の位相を制御信号に応じて制御する。同期はずれ検出手段は、この位相制御手段による位相調整後のクロック信号と入力データとによりこの入力データの位相調整後のクロック信号に対する同期はずれ状態を検出する。パルス生成手段は、この同期はずれ検出手段による同期はずれ状態が検出されている間一定期間毎にパルスを生成する。制御信号生成手段は、このパルスの発生数に応じて制御信号を生成する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−１９０６３９号公報
【特許文献２】特開昭６１−２４５７３１号公報
【特許文献３】特開平９−１４９０１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ジッタは、デジタル信号の時間軸方向の位相の揺らぎである。特に、低周波数のジッタは、ワンダと呼ばれている。クロック信号のワンダを吸収するために、データをバッファリングするためのファーストインファーストアウト（ＦＩＦＯ）回路を用いると、ＦＩＦＯ回路の書き込み制御及び読み出し制御を行うための構成が複雑になるため、全体の集積回路の面積が大きくなってしまう。
【０００７】
本発明の目的は、簡単な構成でクロック信号のワンダを吸収することができる送信回路、集積回路及びパラレルシリアル変換方法を提供することである。
【課題を解決するための手段】
【０００８】
送信回路は、カスケード接続された複数のフリップフロップ回路を含み、第１のクロック信号に同期して、入力パラレルデータを前記複数のフリップフロップ回路内でシフトさせるシフトレジスタと、前記第１のクロック信号の位相を検出し、前記検出された第１のクロック信号の位相に応じた位相の第２のクロック信号を出力する制御回路と、前記入力パラレルデータ及び前記複数のフリップフロップ回路の出力パラレルデータのうちのいずれかを選択するセレクタと、前記第２のクロック信号に同期して、前記セレクタにより選択されたパラレルデータをシリアルデータに変換する変換回路とを有し、前記制御回路は、前記検出された第１のクロック信号の位相のずれ量に応じて、選択信号を出力し、前記セレクタは、前記選択信号に応じて、前記入力パラレルデータ及び前記複数のフリップフロップ回路の出力パラレルデータのうちのいずれかを選択する。
【発明の効果】
【０００９】
シフトレジスタ及びセレクタを用いることにより、簡単な構成で第１のクロック信号のワンダを吸収することができるので、送信回路の面積を小さくすることができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、本実施形態による集積回路の構成例を示す図である。
【図２】図２は、送信回路の構成例を示す図である。
【図３】図３は、シンクロナイザの一部の構成例を示す図である。
【図４】図４は、シンクロナイザの動作例を示すタイミングチャートである。
【図５】図５は、シンクロナイザの他の一部の構成例を示す図である。
【図６】図６は、ロジック回路の一部の構成例を示す図である。
【図７】図７は、送信回路の動作例を示すタイミングチャートである。
【図８】図８は、集積回路の処理方法を示すフローチャートである。
【図９】図９は、ＦＩＦＯ回路を用いた送信回路の構成例を示す図である。
【発明を実施するための形態】
【００１１】
図１は、本実施形態による集積回路１００の構成例を示す図である。集積回路１００は、例えば、サーバ又は高速通信装置に用いられる。集積回路１００は、複数の送信回路１０１及びコアロジック回路１０２を有する。コアロジック１０２は、第１のクロック信号Ｉ＿ＷＣＬＫを複数の送信回路１０１に出力する。また、コアロジック回路１０２は、第１のクロック信号Ｉ＿ＷＣＬＫに同期した異なるデータを複数の送信回路１０１に出力する。複数の送信回路１０１は、それぞれ、第１のクロック信号Ｉ＿ＷＣＬＫを基に、データを受信回路に送信する。複数の送信回路１０１は、相互に、データの送信タイミングを同じにするためのスキュー調整を行う。
【００１２】
図２は送信回路１０１の構成例を示す図であり、図７は送信回路１０１の動作例を示すタイミングチャートである。送信回路１０１は、シンクロナイザ２０１、シフトレジスタ２０２、セレクタ２０３、マルチプレクサ２０４及びドライバ２０５を有する。送信回路１０１は、３２ビットのパラレルデータＩ＿ＤＡＴＡ０［３１：０］及び第１のクロック信号Ｉ＿ＷＣＬＫを図１のコアロジック回路１０２から入力する。
【００１３】
シフトレジスタ２０２は、カスケード接続された第１のフリップフロップ回路２０６及び第２のフリップフロップ回路２０７を有する。第１のフリップフロップ回路２０６は、第１のクロック信号Ｉ＿ＷＣＬＫの立ち上がりエッジに同期して、パラレルデータＩ＿ＤＡＴＡ０［３１：０］を保持し、その保持したパラレルデータを３２ビットのパラレルデータＩ＿ＤＡＴＡ１［３１：０］として出力する。第２のフリップフロップ回路２０７は、第１のクロック信号Ｉ＿ＷＣＬＫの立ち上がりエッジに同期して、パラレルデータＩ＿ＤＡＴＡ１［３１：０］を保持し、その保持したパラレルデータを３２ビットのパラレルデータＩ＿ＤＡＴＡ２［３１：０］として出力する。シフトレジスタ２０２は、第１のクロック信号Ｉ＿ＷＣＬＫに同期して、パラレルデータＩ＿ＤＡＴＡ０［３１：０］を第１のフリップフロップ回路２０６及び第２のフリップフロップ回路２０７内でシフトさせる。
【００１４】
シンクロナイザ２０１は、同期回路（制御回路）であり、第１のクロック信号Ｉ＿ＷＣＬＫの位相を検出し、その検出された第１のクロック信号Ｉ＿ＷＣＬＫの位相に応じた位相の第２のクロック信号Ｎ＿ＲＣＬＫをマルチプレクサ２０４に出力する。また、シンクロナイザ２０１は、前回検出した第１のクロック信号Ｉ＿ＷＣＬＫと今回検出する第１のクロックＩ＿ＷＣＬＫの位相差を積分した値により、検出した第１のクロック信号Ｉ＿ＷＣＬＫの位相のずれ量を算出し、算出した第１のクロック信号Ｉ＿ＷＣＬＫの位相のずれ量に応じて、２ビットの選択信号Ｎ＿ＳＥＬ［１：０］を出力する。シンクロナイザ２０１の構成は、後に図３〜図６を参照しながら説明する。
【００１５】
セレクタ２０３は、選択信号Ｎ＿ＳＥＬ［１：０］に応じて、入力のパラレルデータＩ＿ＤＡＴＡ０［３１：０］、第１のフリップフロップ回路２０６が出力するパラレルデータＩ＿ＤＡＴＡ１［３１：０］及び第２のフリップフロップ回路２０７が出力するパラレルデータＩ＿ＤＡＴＡ２［３１：０］のうちのいずれかを選択し、その選択したパラレルデータを３２ビットのパラレルデータＮ＿ＤＡＴＡ［３１：０］としてマルチプレクサ２０４に出力する。
【００１６】
具体的には、セレクタ２０３は、選択信号Ｎ＿ＳＥＬ［１：０］が「００」である場合には、パラレルデータＩ＿ＤＡＴＡ０［３１：０］をパラレルデータＮ＿ＤＡＴＡ［３１：０］として出力する。また、セレクタ２０３は、選択信号Ｎ＿ＳＥＬ［１：０］が「０１」である場合には、パラレルデータＩ＿ＤＡＴＡ１［３１：０］をパラレルデータＮ＿ＤＡＴＡ［３１：０］として出力する。また、セレクタ２０３は、選択信号Ｎ＿ＳＥＬ［１：０］が「１０」である場合には、パラレルデータＩ＿ＤＡＴＡ２［３１：０］をパラレルデータＮ＿ＤＡＴＡ［３１：０］として出力する。
【００１７】
マルチプレクサ２０４は、変換回路であり、第２のクロック信号Ｎ＿ＲＣＬＫに同期して、セレクタ２０３により選択されたパラレルデータＮ＿ＤＡＴＡ［３１：０］をシリアルデータに変換し、差動のシリアルデータをドライバ２０５に出力する。ドライバ２０５は、差動アンプであり、差動のシリアルデータを増幅し、その増幅した差動のシリアルデータＯ＿ＴＸＰ及びＯ＿ＴＸＮを出力する。
【００１８】
第１のクロック信号Ｉ＿ＷＣＬＫは、コアロジック回路１０２が生成するクロック信号である。第２のクロック信号Ｎ＿ＲＣＬＫは、送信回路１０１が生成するクロック信号であり、第１のクロック信号Ｉ＿ＷＣＬＫに対して同一周波数の非同期のクロック信号である。そのため、送信回路１０１は、第１のクロック信号Ｉ＿ＷＣＬＫから第２のクロック信号Ｎ＿ＲＣＬＫへの載せ替えを行う。すなわち、送信回路１０１は、第１のクロック信号Ｉ＿ＷＣＬＫに同期したパラレルデータＩ＿ＤＡＴＡ０［３１：０］を、第２のクロック信号Ｎ＿ＲＣＬＫに同期したシリアルデータＯ＿ＴＸＰ及びＯ＿ＴＸＮに変換する。
【００１９】
図３はシンクロナイザ２０１の一部の構成例を示す図であり、図４はシンクロナイザ２０１の動作例を示すタイミングチャートである。シンクロナイザ２０１は、８相クロック生成器３００及び８個の第３のフリップフロップ回路３０１〜３０８を有する。８相クロック生成器３００は、８相の参照クロック信号Ｉ＿ＣＬＫ０〜Ｉ＿ＣＬＫ３１５を出力する。参照クロック信号Ｉ＿ＣＬＫ０は、０°の位相のクロック信号である。参照クロック信号Ｉ＿ＣＬＫ４５は、４５°の位相のクロック信号である。参照クロック信号Ｉ＿ＣＬＫ９０は、９０°の位相のクロック信号である。参照クロック信号Ｉ＿ＣＬＫ１３５は、１３５°の位相のクロック信号である。参照クロック信号Ｉ＿ＣＬＫ１８０は、１８０°の位相のクロック信号である。参照クロック信号Ｉ＿ＣＬＫ２２５は、２２５°の位相のクロック信号である。参照クロック信号Ｉ＿ＣＬＫ２７０は、２７０°の位相のクロック信号である。参照クロック信号Ｉ＿ＣＬＫ３１５は、３１５°の位相のクロック信号である。
【００２０】
第３のフリップフロップ回路３０１は、時刻ｔ１等において、参照クロック信号Ｉ＿ＣＬＫ０の立ち上がりエッジに同期して、第１のクロック信号Ｉ＿ＷＣＬＫの値（例えばローレベルの「０」）を保持し、その保持した値ｎ＿ＳＥＬ０を出力する。
【００２１】
第３のフリップフロップ回路３０２は、時刻ｔ２等において、参照クロック信号Ｉ＿ＣＬＫ４５の立ち上がりエッジに同期して、第１のクロック信号Ｉ＿ＷＣＬＫの値（例えばローレベルの「０」）を保持し、その保持した値ｎ＿ＳＥＬ４５を出力する。
【００２２】
第３のフリップフロップ回路３０３は、時刻ｔ３等において、参照クロック信号Ｉ＿ＣＬＫ９０の立ち上がりエッジに同期して、第１のクロック信号Ｉ＿ＷＣＬＫの値（例えばハイレベルの「１」）を保持し、その保持した値ｎ＿ＳＥＬ９０を出力する。
【００２３】
第３のフリップフロップ回路３０４は、時刻ｔ４等において、参照クロック信号Ｉ＿ＣＬＫ１３５の立ち上がりエッジに同期して、第１のクロック信号Ｉ＿ＷＣＬＫの値（例えばハイレベルの「１」）を保持し、その保持した値ｎ＿ＳＥＬ１３５を出力する。
【００２４】
第３のフリップフロップ回路３０５は、時刻ｔ５等において、参照クロック信号Ｉ＿ＣＬＫ１８０の立ち上がりエッジに同期して、第１のクロック信号Ｉ＿ＷＣＬＫの値（例えばハイレベルの「１」）を保持し、その保持した値ｎ＿ＳＥＬ１８０を出力する。
【００２５】
第３のフリップフロップ回路３０６は、時刻ｔ６等において、参照クロック信号Ｉ＿ＣＬＫ２２５の立ち上がりエッジに同期して、第１のクロック信号Ｉ＿ＷＣＬＫの値（例えばハイレベルの「１」）を保持し、その保持した値ｎ＿ＳＥＬ２２５を出力する。
【００２６】
第３のフリップフロップ回路３０７は、時刻ｔ７等において、参照クロック信号Ｉ＿ＣＬＫ２７０の立ち上がりエッジに同期して、第１のクロック信号Ｉ＿ＷＣＬＫの値（例えばローレベルの「０」）を保持し、その保持した値ｎ＿ＳＥＬ２７０を出力する。
【００２７】
第３のフリップフロップ回路３０８は、時刻ｔ８等において、参照クロック信号Ｉ＿ＣＬＫ３１５の立ち上がりエッジに同期して、第１のクロック信号Ｉ＿ＷＣＬＫの値（例えばローレベルの「０」）を保持し、その保持した値ｎ＿ＳＥＬ３１５を出力する。
【００２８】
図５は、シンクロナイザ２０１の他の一部の構成例を示す図である。シンクロナイザ２０１は、８相クロック生成器３００及び第３のフリップフロップ回路３０１〜３０８の他、セレクタ５０１、ロジック回路５０２及び第４のフリップフロップ回路５０３を有する。ロジック回路５０２は、８個の値ｎ＿ＳＥＬ０〜ｎ＿ＳＥＬ３１５を基に、選択信号ＳＥＬ１をセレクタ５０１に出力する。セレクタ５０１は、選択信号ＳＥＬ１に応じて、８相クロック生成器３００が出力する８個の参照クロック信号Ｉ＿ＣＬＫ０〜Ｉ＿ＣＬＫ３１５のうちのいずれかを選択し、その選択した参照クロック信号を第２のクロック信号Ｎ＿ＲＣＬＫとして出力する。
【００２９】
例えば、図４の時刻ｔ１〜ｔ８において、時刻ｔ１の値ｎ＿ＳＥＬ０は「０」であり、時刻ｔ２の値ｎ＿ＳＥＬ４５は「０」であり、時刻ｔ３の値ｎ＿ＳＥＬ９０は「１」であり、時刻ｔ４の値ｎ＿ＳＥＬ１３５は「１」であり、時刻ｔ５の値ｎ＿ＳＥＬ１８０は「１」であり、時刻ｔ６の値ｎ＿ＳＥＬ２２５は「１」であり、時刻ｔ７の値ｎ＿ＳＥＬ２７０は「０」であり、時刻ｔ８の値ｎ＿ＳＥＬ３１５は「０」である。ロジック回路５０２は、値ｎ＿ＳＥＬ０〜ｎ＿ＳＥＬ３１５の順で「０」から「１」に変化する位置を検出し、その検出した位置に第１のクロック信号Ｉ＿ＷＣＬＫの立ち上がりエッジが存在することを検出する。例えば、ロジック回路５０２は、時刻ｔ２の値ｎ＿ＳＥＬ４５の「０」と時刻ｔ３の値ｎ＿ＳＥＬ９０の「１」との間に、第１のクロック信号Ｉ＿ＷＣＬＫの立ち上がりエッジが存在することを検出し、８相の参照クロック信号Ｉ＿ＣＬＫ０〜Ｉ＿ＣＬＫ３１５の中で、第１のクロック信号Ｉ＿ＷＣＬＫの位相に最も近い位相の参照クロック信号Ｉ＿ＣＬＫ９０（又はＩ＿ＣＬＫ４５）を選択するための選択信号ＳＥＬ１を出力する。その場合、セレクタ５０１は、選択信号ＳＥＬ１に応じて、参照クロック信号Ｉ＿ＣＬＫ９０（又はＩ＿ＣＬＫ４５）を選択し、参照クロック信号Ｉ＿ＣＬＫ９０（又はＩ＿ＣＬＫ４５）を第２のクロック信号Ｎ＿ＲＣＬＫとして出力する。
【００３０】
以上のように、シンクロナイザ２０１は、第３のフリップフロップ回路３０１〜３０８の出力値ｎ＿ＳＥＬ０〜ｎ＿ＳＥＬ３１５に応じて、第１のクロック信号Ｉ＿ＷＣＬＫの位相を検出する。そして、シンクロナイザ２０１は、その検出された第１のクロック信号Ｉ＿ＷＣＬＫの位相に応じて、８個の位相の参照クロック信号Ｉ＿ＣＬＫ０〜Ｉ＿ＣＬＫ３１５のうちのいずれかの位相の参照クロック信号を選択し、第２のクロック信号Ｎ＿ＲＣＬＫとして出力する。
【００３１】
第４のフリップフロップ回路５０３は、ロジック回路５０２が今回出力する選択信号ＳＥＬ２を保持し、その保持した選択信号を前回出力した選択信号ＳＥＬ３としてロジック回路５０２に出力する。選択信号ＳＥＬ２は、選択信号ＳＥＬ１に対応するものである。選択信号ＳＥＬ２は時間と共に変化する信号であり、選択信号ＳＥＬ１は一度選択したら変化しない信号である。ロジック回路５０２は、第１のクロック信号Ｉ＿ＷＣＬＫのワンダを吸収するために、前回出力した選択信号ＳＥＬ３及び今回出力する選択信号ＳＥＬ２を基に、選択信号Ｎ＿ＳＥＬ［１：０］を出力する。その詳細は、後に図６を参照しながら説明する。
【００３２】
図６は、ロジック回路５０２の一部の構成例を示す図である。ロジック回路５０２は、減算器６０１、積分器６０２及び閾値判定部６０３を有する。減算器６０１は、前回出力した選択信号ＳＥＬ３から今回出力する選択信号ＳＥＬ２を減算し、差分信号Ａ１を出力する。積分器６０２は、差分信号Ａ１を積分し、積分値Ａ２を出力する。積分値Ａ２は、第１のクロック信号Ｉ＿ＷＣＬＫの位相ずれ量に対応する。また、積分値Ａ２は、例えば、正値が遅れ位相を示し、負値が進み位相を示す。
【００３３】
閾値判定部６０３は、積分値Ａ２が第１の閾値位相より進んでいる位相を示す場合、すなわち、積分値Ａ２が第１のクロック信号Ｉ＿ＷＣＬＫの位相ずれ量が位相の進み方向に第１の閾値位相よりも大きい場合には、選択信号Ｎ＿ＳＥＬ［１：０］として「１０」を出力する。第１の閾値位相（絶対値）は、例えば参照クロック信号Ｉ＿ＣＬＫ０〜Ｉ＿ＣＬＫ３１５の半周期の位相に対応する。図７に示すように、選択信号Ｎ＿ＳＥＬ［１：０］が「１０」である場合、図２のセレクタ２０３は、第２のフリップフロップ回路２０７が出力するパラレルデータＩ＿ＤＡＴＡ２［３１：０］を選択し、パラレルデータＮ＿ＤＡＴＡ［３１：０］として出力する。
【００３４】
また、閾値判定部６０３は、積分値Ａ２が第２の閾値位相より遅れている位相を示す場合、すなわち、積分値Ａ２が第１のクロック信号Ｉ＿ＷＣＬＫの位相ずれ量が位相の遅れ方向に第２の閾値位相よりも大きい場合には、選択信号Ｎ＿ＳＥＬ［１：０］として「００」を出力する。第２の閾値位相（絶対値）は、例えば参照クロック信号Ｉ＿ＣＬＫ０〜Ｉ＿ＣＬＫ３１５の半周期の位相に対応する。図７に示すように、選択信号Ｎ＿ＳＥＬ［１：０］が「００」である場合、図２のセレクタ２０３は、入力のパラレルデータＩ＿ＤＡＴＡ０［３１：０］を選択し、パラレルデータＮ＿ＤＡＴＡ［３１：０］として出力する。
【００３５】
また、閾値判定部６０３は、積分値Ａ２が第１の閾値位相より進んでおらず、かつ、第２の閾値位相より遅れていない位相を示す場合には、選択信号Ｎ＿ＳＥＬ［１：０］として「０１」を出力する。図７に示すように、選択信号Ｎ＿ＳＥＬ［１：０］が「０１」である場合、図２のセレクタ２０３は、第１のフリップフロップ回路２０６が出力するパラレルデータＩ＿ＤＡＴＡ１［３１：０］を選択し、パラレルデータＮ＿ＤＡＴＡ［３１：０］として出力する。
【００３６】
第１のクロック信号Ｉ＿ＷＣＬＫのワンダにより、第１のクロック信号Ｉ＿ＷＣＬＫの位相は長周期で変化し、図５の選択信号ＳＥＬ１が変化する。シンクロナイザ２０１は、選択信号ＳＥＬ２及びＳＥＬ３を基に、第１のクロック信号Ｉ＿ＷＣＬＫの位相ずれ量を検出し、選択信号Ｎ＿ＳＥＬ［１：０］をセレクタ２０３に出力する。これにより、シフトレジスタ２０２及びセレクタ２０３は、第１のクロック信号Ｉ＿ＷＣＬＫのワンダを吸収することができる。その結果、マルチプレクサ２０４は、パラレルデータＮ＿ＤＡＴＡ［３１：０］をシリアルデータに適切に変換することができる。
【００３７】
また、マルチプレクサ２０４は、第２のクロック信号Ｎ＿ＲＣＬＫに同期して、パラレルデータＮ＿ＤＡＴＡ［３１：０］をシリアルデータに変換するので、図１の複数の送信回路１０１は、同一タイミングでシリアルデータを送信することができる。
【００３８】
なお、シフトレジスタ２０２は、３個以上のフリップフロップ回路で構成してもよい。その場合、セレクタ２０３は、第１のクロック信号Ｉ＿ＷＣＬＫの位相ずれ量を示す積分値Ａ２に応じて、３個以上のフリップフロップ回路の出力パラレルデータ及び入力のパラレルデータＩ＿ＤＡＴＡ０［３１：０］のうちからいずれかを選択し、パラレルデータＮ＿ＤＡＴＡ［３１：０］を出力する。
【００３９】
図８は、集積回路１００の処理方法を示すフローチャートである。ステップＳ８０１では、集積回路１００の電源がオンになると、送信回路１０１は、第１のクロック信号Ｉ＿ＷＣＬＫをコアロジック回路１０２から入力する。次に、ステップＳ８０２では、送信回路１０１は、ロジック回路５０２のリセットを解除する。次に、ステップＳ８０３では、ロジック回路５０２は、第２のクロック信号Ｎ＿ＲＣＬＫを選択するための選択信号ＳＥＬ１を選択して出力する。次に、ステップＳ８０４では、ロジック回路５０２は、値ｎ＿ＳＥＬ０〜ｎ＿ＳＥＬ３１５を基に、第１のクロック信号Ｉ＿ＷＣＬＫの位相検出を続け、選択信号ＳＥＬ１を出力する。
【００４０】
次に、ステップＳ８０５では、ロジック回路５０２は、今回出力する選択信号ＳＥＬ２が前回出力した選択信号ＳＥＬ３と違うか否かをチェックする。両者が違う場合にはステップＳ８０６に進み、両者が同じ場合にはステップＳ８０４に戻る。
【００４１】
ステップＳ８０６では、減算器６０１は、前回出力した選択信号ＳＥＬ３から今回出力する選択信号ＳＥＬ２を減算し、差分信号Ａ１を出力する。積分器６０２は、差分信号Ａ１を積分し、積分値Ａ２を出力する。
【００４２】
次に、ステップＳ８０７では、閾値判定部６０３は、積分値Ａ２と閾値位相とを比較する。積分値Ａ２が第１の閾値位相より進んでいる位相を示す場合又は積分値Ａ２が第２の閾値位相より遅れている位相を示す場合には、ステップＳ８０８に進む。積分値Ａ２が第１の閾値位相と第２の閾値位相との間の位相を示す場合には、閾値判定部６０３は、選択信号Ｎ＿ＳＥＬ［１：０］を「０１」にし、ステップＳ８０４に戻る。
【００４３】
ステップＳ８０８では、閾値判定部６０３は、積分値Ａ２が第１の閾値位相より進んでいる位相を示す場合には、選択信号Ｎ＿ＳＥＬ［１：０］を「１０」にし、積分値Ａ２が第２の閾値位相より遅れている位相を示す場合には、選択信号Ｎ＿ＳＥＬ［１：０］を「００」にする。この際、積分値Ａ２のリセットは行わない。その後、ステップＳ８０４に戻る。
【００４４】
図９は、ＦＩＦＯ回路９０１を用いた送信回路の構成例を示す図である。図９の送信回路は、図２の送信回路１０１に対して、シフトレジスタ２０２及びセレクタ２０３の代わりに、ＦＩＦＯ回路９０１を設けたものである。シンクロナイザ２０１は、選択信号Ｎ＿ＳＥＬ［１：０］を生成せず、第２のクロック信号Ｎ＿ＲＣＬＫのみを生成する。ＦＩＦＯ回路９０１は、第１のクロック信号Ｉ＿ＷＣＬＫに同期してパラレルデータＩ＿ＤＡＴＡ０［３１：０］を書き込み、第２のクロック信号Ｎ＿ＲＣＬＫに同期してパラレルデータＮ＿ＤＡＴＡ［３１：０］を読み出す。ＦＩＦＯ回路９０１を用いることにより、第１のクロック信号Ｉ＿ＷＣＬＫのワンダを吸収する。しかし、ＦＩＦＯ回路９０１は、書き込みポインタ（アドレス）の制御及び読み出しポインタ（アドレス）の制御等を行うための構成が複雑であるため、送信回路の面積が大きくなり、消費電力が大きくなってしまう。
【００４５】
これに対し、本実施形態の図２の送信回路１０１は、ＦＩＦＯ回路９０１の代わりに、シフトレジスタ２０２及びセレクタ２０３を用いる。セレクタ２０３は、選択信号Ｎ＿ＳＥＬ［１：０］に応じて、３個のパラレルデータＩ＿ＤＡＴＡ０［３１：０］、Ｉ＿ＤＡＴＡ１［３１：０］及びＩ＿ＤＡＴＡ２［３１：０］のうちのいずれかを選択するという簡単な制御を行う。これにより、図２の送信回路１０１は、図９の送信回路に比べ、構成が簡単であり、面積を小さくすることができる。その結果、本実施形態は、図２の送信回路１０１を含む集積回路１００の面積を小さくすることができる。また、本実施形態の送信回路１０１及び集積回路１００は、消費電力を小さくすることができる。
【００４６】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００４７】
１００  集積回路
１０１  送信回路
１０２  コアロジック回路
２０１  シンクロナイザ
２０２  シフトレジスタ
２０３  セレクタ
２０４  マルチプレクサ
２０５  ドライバ
２０６  第１のフリップフロップ回路
２０７  第２のフリップフロップ回路
【図１】
0006413585.tif 000002
【図２】
0006413585.tif 000003
【図３】
0006413585.tif 000004
【図４】
0006413585.tif 000005
【図５】
0006413585.tif 000006
【図６】
0006413585.tif 000007
【図７】
0006413585.tif 000008
【図８】
0006413585.tif 000009
【図９】
0006413585.tif 000010