(57)【特許請求の範囲】
【請求項１】
パラレルデータをシリアルデータに変換する変換回路と、
前記変換回路によって変換されたシリアルデータを第一クロック信号に基づいてサンプリングする第一サンプリング回路と、
前記シリアルデータに同期したレプリカデータを、前記第一クロック信号を反転した第二クロック信号に基づいてサンプリングする第二サンプリング回路と、
前記第二サンプリング回路の出力を位相が異なる複数の第三クロック信号に基づいてサンプリングする第三サンプリング回路と、
前記第三サンプリング回路の各出力に基づいて前記第一サンプリング回路によるサンプリングのタイミングを制御する制御回路と、
を備えることを特徴とするパラレル−シリアル変換器。
【請求項２】
前記第三クロック信号の周期は、前記第一クロック信号の周期の偶数倍であることを特徴とする請求項１に記載のパラレル−シリアル変換器。
【請求項３】
前記制御回路は、前記各出力のすべてがハイレベルとローレベルの中間レベルである場合に前記タイミングを変化させず、前記各出力の少なくともいずれかがハイレベルまたはローレベルである場合に前記タイミングを変化させることを特徴とする請求項１または２に記載のパラレル−シリアル変換器。
【請求項４】
前記制御回路は、前記各出力のうちのハイレベルまたはローレベルである出力に基づいて前記タイミングを変化させることを特徴とする請求項３に記載のパラレル−シリアル変換器。
【請求項５】
前記制御回路は、前記各出力に含まれる第一出力がハイレベルとローレベルの中間レベルとなるように前記第三クロック信号の各位相を制御するとともに、前記各出力に含まれ前記第一出力とは異なる第二出力のレベルに基づいて前記タイミングを制御することを特徴とする請求項１または２に記載のパラレル−シリアル変換器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パラレルデータをシリアルデータに変換するパラレル−シリアル変換器に関する。
【背景技術】
【０００２】
近年、通信分野ではデータ通信量の増大に伴い、伝送データの高速化が進んでいる。高速な伝送データは、たとえば複数の低速のパラレルデータからパラレル−シリアル変換器を用いて生成する。パラレル−シリアル変換器は、入力された複数のデータをクロック信号駆動の複数のラッチ、フリップフロップによるセットアップ、ホールドなどを用いてデータ入力タイミングを調整する。
【０００３】
そして、同じくクロック信号で駆動するセレクタにより順に選択することにより１本のシリアルデータに変換する（たとえば、下記特許文献１参照。）。その後、変換したシリアルデータをクロック信号に基づいて動作するフリップフロップによりサンプリングすることでシリアルデータをリタイミングと波形整形する技術が用いられている。この回路において、パラレル−シリアル変換器においては、データが高速化するにつれてラッチ、フリップフロップ、セレクタ、リタイミングフリップフロップを動作させるタイミングの許容値が小さくなり、変動の影響を受けやすくなる。
【０００４】
しかしながら、上述した従来技術では、変換したシリアルデータとクロック信号との相対的な位相ずれを精度よく検出することが困難であるため、シリアルデータを精度よく整形することができないという問題がある。たとえば、シリアルデータの最適点に対してクロック信号の立ち上がりがずれて、シリアルデータの切り替わり点付近がサンプリングされると、整形されたシリアルデータが劣化する。
【０００５】
上述した課題を解決するための手段としてシリアルデータに同期したレプリカ回路を形成し、その位相状態を検出し、検出データに基づいて位相調整を行うことで、シリアルデータと上記リタイミングクロックの位相状態が最適となるよう制御行う技術が用いられている（たとえば、下記非特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０００−１９６４６２号公報
【非特許文献】
【０００７】
【非特許文献１】“Ａ  Ｓｉｎｇｌｅ−４０Ｇｂ／ｓ  Ｄｕａｌ−２０Ｇｂ／ｓ  Ｓｅｒｉａｌｉｚｅｒ  ＩＣ  ｗｉｔｈ  ＳＦＩ５．２  Ｉｎｔｅｒｆａｃｅ  ｉｎ  ６５ｎｍ  ＣＭＯＳ”、ＩＳＳＣＣ  ２００９／ＳＥＳＳＩＯＮ  ２１、［平成２２年１月２６日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｔｅｃｈｏｎｌｉｎｅ．ｃｏｍ／ｌｅａｒｎｉｎｇ／ｔｅｃｈｐａｐｅｒ／２１３４０３９７４＞
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した従来技術では上記レプリカデータの位相状態を検出する際、リタイミングクロックの反転クロックでサンプリングし、さらにその偶数倍の周期のクロックでサンプリングすることで検出しているため、反転クロックのサンプリング出力とその偶数倍の周期のクロックの位相関係によって、位相が最適点でないにも関わらず、検出結果が最適点と同じ状態である、出力結果となることがある（準安定状態）、という問題があった。
【０００９】
開示のパラレル−シリアル変換器は、上述した問題点を解消するものであり、シリアルデータを精度よく整形することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するため、開示技術は、パラレルデータをシリアルデータに変換する変換回路と、前記変換回路によって変換されたシリアルデータを第一クロック信号に基づいてサンプリングすることによりリタイミングと波形整形を行う第一サンプリング回路と、前記シリアルデータに同期したレプリカデータを、前記第一クロック信号を反転した第二クロック信号に基づいてサンプリングする第二サンプリング回路と、前記第二サンプリング回路の出力を位相が異なる複数の第三クロック信号に基づいてサンプリングする第三サンプリング回路と、前記第三サンプリング回路の各出力に基づいて前記第一サンプリング回路によるサンプリングのタイミングを制御する制御回路と、を備えることを要件とする。
【発明の効果】
【００１１】
開示のパラレル−シリアル変換器によれば、シリアルデータを精度よく整形することができるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】実施の形態１にかかるパラレル−シリアル変換器を示す図である。
【図２】実施の形態２にかかるパラレル−シリアル変換器を示す図である。
【図３−１】シリアルデータに対してクロック信号の位相が遅い場合のタイミングチャートを示す図である。
【図３−２】シリアルデータに対してクロック信号の位相が早い場合のタイミングチャートを示す図である。
【図３−３】シリアルデータに対してクロック信号の位相が最適点となっている場合のタイミングチャートを示す図である。
【図４】フリップフロップの出力が電源電圧に依存する場合のタイミングチャートを示す図である。
【図５−１】位相が異なる複数のクロック信号による誤判定の回避を示す図（その１）である。
【図５−２】位相が異なる複数のクロック信号による誤判定の回避を示す図（その２）である。
【図６】図２に示した変換回路の具体例を示す図である。
【図７】図６に示した変換回路のタイムチャートを示す図である。
【図８】図２に示したカウンタ回路の具体例を示す図である。
【図９】図８に示したカウンタ回路の動作を示す図である。
【図１０】図９に示したレベル検出回路の具体例を示す図である。
【図１１】図１０に示したレベル検出回路の閾値の設定例を示す図である。
【図１２】図１０に示したレベル検出回路によるレベルの判定例を示す図である。
【図１３】実施の形態３にかかるパラレル−シリアル変換器を示す図である。
【図１４−１】位相が異なる複数のクロック信号による誤判定の回避を示す図（その１）である。
【図１４−２】位相が異なる複数のクロック信号による誤判定の回避を示す図（その２）である。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照して、開示のパラレル−シリアル変換器の好適な実施の形態を詳細に説明する。開示のパラレル−シリアル変換器は、シリアルデータに同期したレプリカデータのサンプリング結果を位相が異なる複数のクロック信号でサンプリングすることで、非最適点を最適点と誤判定することを回避し、シリアルデータを精度よく整形する。
【００１４】
（実施の形態１）
＜パラレル−シリアル変換器の構成＞
図１は、実施の形態１にかかるパラレル−シリアル変換器を示す図である。図１に示すように、実施の形態１にかかるパラレル−シリアル変換器１００は、変換回路１１０と、第一サンプリング回路１２０と、生成回路１３０と、第二サンプリング回路１４０と、第三サンプリング回路１５０と、制御回路１６０と、を備えている。
【００１５】
＜変換回路＞
変換回路１１０は、パラレルデータとして入力されたデータｄａｔａ０，ｄａｔａ１をシリアルデータｄａに変換する。たとえば、変換回路１１０は、データｄａｔａ０，ｄａｔａ１を交互に選択して出力することによってシリアルデータｄａに変換する。変換回路１１０は、変換したシリアルデータｄａを第一サンプリング回路１２０へ出力する。
【００１６】
＜第一サンプリング回路＞
第一サンプリング回路１２０は、変換回路１１０から出力されたシリアルデータｄａを、クロック信号ＦＦ−ｃｌｋ（第一クロック信号）に基づいてサンプリングによるリタイミングと波形整形を行う。たとえば、第一サンプリング回路１２０は、クロック信号ＦＦ−ｃｌｋの立ち上がりタイミングでシリアルデータｄａをサンプリングする。第一サンプリング回路１２０は、サンプリングしたデータｏｄａｔａを後段へ出力する。
【００１７】
＜生成回路＞
生成回路１３０は、シリアルデータｄａに同期したレプリカデータｒｅｐｄａを生成する。具体的には、生成回路１３０は、シリアルデータｄａに同期した固定パターン（たとえば「０」と「１」の交番）のレプリカデータｒｅｐｄａを生成する。生成回路１３０は、生成したレプリカデータｒｅｐｄａを第二サンプリング回路１４０へ出力する。
【００１８】
＜第二サンプリング回路＞
第二サンプリング回路１４０は、生成回路１３０から出力されたレプリカデータをクロック信号ＦＦｒｅｐ−ｃｌｋ（第二クロック信号）に基づいてサンプリングする。クロック信号ＦＦｒｅｐ−ｃｌｋは、クロック信号ＦＦ−ｃｌｋを反転した信号である。たとえば、第二サンプリング回路１４０は、クロック信号ＦＦｒｅｐ−ｃｌｋの立ち上がりタイミングでレプリカデータｒｅｐｄａをサンプリングする。第二サンプリング回路１４０は、サンプリング結果を出力ｒｅｐｏｕｔとして第三サンプリング回路１５０へ出力する。
【００１９】
＜第三サンプリング回路＞
第三サンプリング回路１５０は、第二サンプリング回路１４０からの出力ｒｅｐｏｕｔを、位相が異なる複数のクロック信号（第三クロック信号）に基づいてサンプリングする。たとえば、第三サンプリング回路１５０は、入力されたクロック信号ｄｉｖ−０，ｄｉｖ−９０の立ち上がりタイミングで出力ｒｅｐｏｕｔをサンプリングする。
【００２０】
クロック信号ｄｉｖ−０，ｄｉｖ−９０は、たとえば互いに位相が９０度異なるクロック信号である。クロック信号ｄｉｖ−０，ｄｉｖ−９０の周期は、たとえばクロック信号ＦＦ−ｃｌｋの周期の偶数倍である。第三サンプリング回路１５０は、クロック信号ｄｉｖ−０による出力ｒｅｐｏｕｔのサンプリング結果を出力ｐｈ０として制御回路１６０へ出力する。また、第三サンプリング回路１５０は、クロック信号ｄｉｖ−９０による出力ｒｅｐｏｕｔのサンプリング結果を出力ｐｈ９０として制御回路１６０へ出力する。
【００２１】
＜制御回路＞
制御回路１６０は、第三サンプリング回路１５０から出力された各出力（出力ｐｈ０，ｐｈ９０）に基づいて第一サンプリング回路１２０におけるシリアルデータとサンプリングクロックのタイミング関係を制御する。たとえば、制御回路１６０は、第一サンプリング回路１２０へ入力されるシリアルデータｄａの位相とそれに同期したレプリカデータｒｅｐｄａの位相を変化させることによって第一サンプリング回路１２０によるサンプリングのタイミングを制御する。または、制御回路１６０は、第一サンプリング回路１２０へ入力されるクロック信号ＦＦ−ｃｌｋの位相とそれに同期した第二サンプリング回路１４０へ入力されるクロック信号ＦＦｒｅｐ−ｃｌｋの位相を変化させることによって第一サンプリング回路１２０によるサンプリングのタイミングを制御してもよい。
【００２２】
＜位相ずれの検出＞
以上の構成において、第三サンプリング回路１５０によって出力ｒｅｐｏｕｔをサンプリングすることで、レプリカデータｒｅｐｄａの切り替わり点に対するクロック信号ＦＦｒｅｐ−ｃｌｋの立ち上がりの位相ずれを検出することができる。たとえば、レプリカデータｒｅｐｄａの切り替わり点に対するクロック信号ＦＦｒｅｐ−ｃｌｋの位相ずれがない場合は第三サンプリング回路１５０によるサンプリング結果が不定値になる。具体的には、第三サンプリング回路１５０によるサンプリング結果が、レプリカデータｒｅｐｄａのハイレベル（たとえば「１」）とローレベル（たとえば「０」）の中間レベルになる。
【００２３】
また、レプリカデータｒｅｐｄａの切り替わり点に対するクロック信号ＦＦｒｅｐ−ｃｌｋの位相ずれがある場合は、第三サンプリング回路１５０によるサンプリング結果が一定値になる。具体的には、第三サンプリング回路１５０によるサンプリング結果がレプリカデータｒｅｐｄａのハイレベルないしローレベルの一定値になる。また、レプリカデータｒｅｐｄａの切り替わり点に対するクロック信号ＦＦｒｅｐ−ｃｌｋの位相ずれの方向によって、第三サンプリング回路１５０によるサンプリング結果の出力レベルが異なる。
【００２４】
そして、レプリカデータｒｅｐｄａはシリアルデータｄａと同期しており、クロック信号ＦＦｒｅｐ−ｃｌｋはクロック信号ＦＦ−ｃｌｋの反転信号である。このため、レプリカデータｒｅｐｄａの切り替わり点に対するクロック信号ＦＦｒｅｐ−ｃｌｋの位相ずれは、第一サンプリング回路１２０におけるシリアルデータｄａの最適点に対するクロック信号ＦＦ−ｃｌｋの位相ずれの立ち上がりを示している。
【００２５】
シリアルデータｄａの最適点は、たとえばシリアルデータｄａの切り替わり点と切り替わり点の間の中央点である。したがって、第三サンプリング回路１５０によって出力ｒｅｐｏｕｔをサンプリングすることで、第一サンプリング回路１２０におけるシリアルデータｄａの最適点に対するクロック信号ＦＦ−ｃｌｋの位相ずれを検出することができる。
【００２６】
＜誤判定の回避＞
ここで、レプリカデータｒｅｐｄａの切り替わり点に対するクロック信号ＦＦｒｅｐ−ｃｌｋの位相ずれがあり、出力ｒｅｐｏｕｔがハイレベルとローレベルを繰り返す信号となっている場合について説明する。この場合に、第三サンプリング回路１５０においてクロック信号の立ち上がりが出力ｒｅｐｏｕｔのハイレベルとローレベルとの切り替わり点と重なることがある。この場合は、レプリカデータｒｅｐｄａの切り替わり点に対するクロック信号ＦＦｒｅｐ−ｃｌｋの位相ずれがあるにも関わらず、第三サンプリング回路１５０によるサンプリング結果が中間レベルになる。
【００２７】
これに対して、第三サンプリング回路１５０は、出力ｒｅｐｏｕｔを位相が異なる複数のクロック信号ｄｉｖ−０，ｄｉｖ−９０でサンプリングする。これにより、一つのクロック信号が出力ｒｅｐｏｕｔの切り替わり点と重なっても、他方のクロック信号は出力ｒｅｐｏｕｔの切り替わり点と重ならないようにすることができる。
【００２８】
このため、レプリカデータｒｅｐｄａの切り替わり点に対するクロック信号ＦＦｒｅｐ−ｃｌｋの位相ずれがある場合は、出力ｐｈ０，ｐｈ９０の少なくとも一方はハイレベルまたはローレベルになる。また、レプリカデータｒｅｐｄａの切り替わり点に対するクロック信号ＦＦｒｅｐ−ｃｌｋの位相ずれがない場合は、出力ｐｈ０，ｐｈ９０はともにハイレベルとローレベルの中間レベルになる。
【００２９】
したがって、たとえば、制御回路１６０は、出力ｐｈ０，ｐｈ９０のすべてが中間レベルである場合は、第一サンプリング回路１２０によるサンプリングのタイミングを変化させず維持する。また、制御回路１６０は、出力ｐｈ０，ｐｈ９０の少なくともいずれかがハイレベルまたはローレベルである場合は、第一サンプリング回路１２０によるサンプリングのタイミングを変化させる。この場合は、制御回路１６０は、出力ｐｈ０，ｐｈ９０のうちのハイレベルまたはローレベルである出力のレベルに基づいて第一サンプリング回路１２０によるサンプリングのタイミングを変化させる。
【００３０】
または、制御回路１６０は、クロック信号ｄｉｖ−０，ｄｉｖ−９０の少なくともいずれかのクロック信号（たとえばクロック信号ｄｉｖ−０）がハイレベルとローレベルの中間レベルとなるようにクロック信号ｄｉｖ−０，ｄｉｖ−９０の各位相を制御してもよい。これにより、クロック信号ｄｉｖ−０，ｄｉｖ−９０の他のクロック信号（たとえばクロック信号ｄｉｖ−９０）の立ち上がりが出力ｒｅｐｏｕｔの切り替わり点と重ならないようにすることができる。制御回路１６０は、出力ｐｈ９０のレベルに基づいて第一サンプリング回路１２０によるサンプリングのタイミングを制御する。
【００３１】
これにより、制御回路１６０は、第一サンプリング回路１２０によるサンプリングにおけるタイミングの非最適点を最適点と誤判定することを回避することができる。このため、シリアルデータｄａの最適点に対するクロック信号ＦＦ−ｃｌｋの位相ずれを確実に補償し、シリアルデータｄａを精度よく整形することができる。
【００３２】
ここではクロック信号ｄｉｖ−０，ｄｉｖ−９０がたとえば互いに位相が９０度異なるクロック信号である場合について説明したが、クロック信号ｄｉｖ−０，ｄｉｖ−９０の位相差は９０度に限らない。たとえば、クロック信号ｄｉｖ−０，ｄｉｖ−９０の位相差は０度より大きく１８０度より小さい範囲である。
【００３３】
すなわち、クロック信号ｄｉｖ−０，ｄｉｖ−９０の位相差は、クロック信号ｄｉｖ−０，ｄｉｖ−９０の一方の立ち上がりが出力ｒｅｐｏｕｔの切り替わり点と重なる場合に、他方の立ち上がりが出力ｒｅｐｏｕｔの切り替わり点と重ならないように設定する。
【００３４】
このように、実施の形態１にかかるパラレル−シリアル変換器１００は、第二サンプリング回路１４０の出力ｒｅｐｏｕｔを、互いに位相が異なるクロック信号ｄｉｖ−０，ｄｉｖ−９０でサンプリングする。これにより、第一サンプリング回路１２０によるサンプリングにおけるタイミングの非最適点を最適点と誤判定することを回避し、第一サンプリング回路１２０におけるサンプリングの最適点からの位相ずれを精度よく検出することができる。このため、シリアルデータｄａを精度よく整形することができる。
【００３５】
（実施の形態２）
＜パラレル−シリアル変換器の構成＞
図２は、実施の形態２にかかるパラレル−シリアル変換器を示す図である。図２に示すように、パラレル−シリアル変換器２００は、入力端子２１１と、反転回路２１２と、分周回路２１３（Ｄｉｖｉｄｅｒ）と、任意位相生成回路２１４と、入力端子２２１，２２２と、変換回路２３０と、フリップフロップ２４１（ＦＦ）と、出力端子２４２と、レプリカ回路２５０と、位相設定回路２６０と、を備えている。
【００３６】
パラレル−シリアル変換器２００は、入力端子２２１および入力端子２２２からパラレルデータとして入力されるデータｄａｔａ０およびデータｄａｔａ１を、データレートが２倍のデータｏｄａｔａ（シリアルデータ）に変換して出力する。データｏｄａｔａは、たとえばパラレル−シリアル変換器２００の後段の送信回路（不図示）に供給され、パラレル−シリアル変換器２００と送信回路とを含むデータ送信システムが構成される。
【００３７】
入力端子２１１にはクロック信号ｃｌｋが入力される。入力端子２１１は、入力されたクロック信号ｃｌｋを、反転回路２１２、分周回路２１３およびフリップフロップ２４１レプリカ回路２５０へ出力する。反転回路２１２は、入力端子２１１から出力されたクロック信号ｃｌｋを反転させる。反転回路２１２は、反転させたクロック信号をクロック信号ＦＦｒｅｐ−ｃｌｋとしてレプリカ回路２５０へ出力する。
【００３８】
分周回路２１３は、入力端子２１１から出力されたクロック信号ｃｌｋを１／２の周波数に分周（周期を偶数倍）したクロック信号ｄｉｖ−０およびクロック信号ｄｉｖ−９０を生成する。クロック信号ｄｉｖ−０とクロック信号ｄｉｖ−９０は、互いに位相が９０度異なるクロック信号である。分周回路２１３は、生成したクロック信号ｄｉｖ−０，ｄｉｖ−９０を任意位相生成回路２１４およびレプリカ回路２５０のそれぞれへ出力する。
【００３９】
任意位相生成回路２１４は、分周回路２１３から出力され、互いに位相が異なるクロック信号ｄｉｖ−０，ｄｉｖ−９０から、任意の位相の分周クロック信号を生成する位相補間回路である。任意位相生成回路２１４は、位相設定回路２６０によって設定される位相になるように、生成する分周クロック信号の位相を変化させる。任意位相生成回路２１４は、生成した分周クロック信号をクロック信号ＭＵＸ−ｃｌｋとして変換回路２３０およびレプリカ回路２５０の選択回路２５１へ出力する。
【００４０】
入力端子２２１にはデータｄａｔａ０が入力される。入力端子２２１は入力されたデータｄａｔａ０を変換回路２３０へ出力する。入力端子２２２にはデータｄａｔａ１が入力される。入力端子２２２は入力されたデータｄａｔａ１を変換回路２３０へ出力する。
【００４１】
変換回路２３０は、図１に示した変換回路１１０に対応する構成である。変換回路２３０は、入力端子２２１，２２２から出力されたデータｄａｔａ０，ｄａｔａ１のいずれかを選択して出力する。また、変換回路２３０は、任意位相生成回路２１４から出力されたクロック信号ＭＵＸ−ｃｌｋに同期してデータの選択を切り替える。
【００４２】
たとえば、変換回路２３０は、クロック信号ＭＵＸ−ｃｌｋの立ち下がりに同期してデータｄａｔａ０を選択し、クロック信号ＭＵＸ−ｃｌｋの立ち上がりに同期してデータｄａｔａ１を選択する。変換回路２３０は、選択したデータをシリアルデータｄａとしてフリップフロップ２４１へ出力する。これにより、パラレルデータであるデータｄａｔａ０，ｄａｔａ１が、シリアルデータｄａに変換される。
【００４３】
フリップフロップ２４１は、図１に示した第一サンプリング回路１２０に対応する構成である。フリップフロップ２４１には、入力端子２２１から出力されたクロック信号ｃｌｋが供給される（クロック信号ＦＦ−ｃｌｋとする）。フリップフロップ２４１は、クロック信号ＦＦ−ｃｌｋの立ち上がりに同期して、変換回路２３０から出力されたシリアルデータｄａをサンプリングによるリタイミングと波形整形を行う。フリップフロップ２４１は、サンプリングしたデータをデータｏｄａｔａとして出力端子２４２へ出力する。出力端子２４２は、フリップフロップ２４１から出力されたデータｏｄａｔａを後段へ出力する。
【００４４】
レプリカ回路２５０は、選択回路２５１と、フリップフロップ２５２（Ｆｌｉｐ  ｆｌｏｐ）と、フリップフロップ２５３（ｐｈ−ｆｆ０）と、フリップフロップ２５４（ｐｈ−ｆｆ９０）と、カウンタ回路２５５と、を備えている。
【００４５】
選択回路２５１は、図１に示した生成回路１３０に対応する構成である。選択回路２５１には、固定データ「０」（ｃｏｎｓｔ０）と固定データ「１」（ｃｏｎｓｔ１）とが入力される。選択回路２５１は、入力される複数の固定データのいずれかを選択して出力する。また、選択回路２５１は、変換回路２３０のデータ選択の切り替えに同期して固定データの選択を切り替える。
【００４６】
たとえば、変換回路２３０へ供給されるクロック信号ＭＵＸ−ｃｌｋが選択回路２５１にも供給される。選択回路２５１は、供給されたクロック信号ＭＵＸ−ｃｌｋに同期して固定データの選択を切り替える。具体的には、選択回路２５１は、クロック信号ＭＵＸ−ｃｌｋの立ち下がりに同期して固定データ「０」を選択し、クロック信号ＭＵＸ−ｃｌｋの立ち上がりに同期して固定データ「１」を選択する。選択回路２５１は、選択した固定データをレプリカデータｒｅｐｄａとしてフリップフロップ２５２へ出力する。
【００４７】
フリップフロップ２５２は、図１に示した第二サンプリング回路１４０に対応する構成である。フリップフロップ２５２は、反転回路２１２から出力されたクロック信号ＦＦｒｅｐ−ｃｌｋの立ち上がりに同期して、選択回路２５１から出力されたレプリカデータｒｅｐｄａをサンプリングする。フリップフロップ２５２は、サンプリング結果を出力ｒｅｐｏｕｔとしてフリップフロップ２５３，２５４のそれぞれへ出力する。
【００４８】
フリップフロップ２５３は、分周回路２１３から出力されたクロック信号ｄｉｖ−０の立ち上がりに同期して、フリップフロップ２５２からの出力ｒｅｐｏｕｔをサンプリングする。フリップフロップ２５３は、サンプリング結果を出力ｐｈ０としてカウンタ回路２５５へ出力する。フリップフロップ２５４は、分周回路２１３から出力されたクロック信号ｄｉｖ−９０の立ち上がりに同期して、フリップフロップ２５２からの出力ｒｅｐｏｕｔをサンプリングする。フリップフロップ２５４は、サンプリング結果を出力ｐｈ９０としてカウンタ回路２５５へ出力する。
【００４９】
出力ｐｈ０，ｐｈ９０のそれぞれは、レプリカデータｒｅｐｄａの切り替わり点に対するクロック信号ＦＦｒｅｐ−ｃｌｋの立ち上がりの位相ずれを示している。たとえば、クロック信号ＦＦ−ｃｌｋの立ち上がりがシリアルデータｄａの最適点に対して遅れている場合は、クロック信号ＦＦｒｅｐ−ｃｌｋの立ち上がりがレプリカデータｒｅｐｄａの切り替わり点に対して遅れる。この場合は、出力ｐｈ０，ｐｈ９０が「１」となる。また、クロック信号ＦＦ−ｃｌｋの立ち上がりがシリアルデータｄａの最適点に対して早い場合は、クロック信号ＦＦｒｅｐ−ｃｌｋの立ち上がりがレプリカデータｒｅｐｄａの切り替わり点に対して早くなる。この場合は、出力ｐｈ０，ｐｈ９０が「０」となる。
【００５０】
ただし、出力ｐｈ０，ｐｈ９０のいずれかは、レプリカデータｒｅｐｄａの切り替わり点に対するクロック信号ＦＦｒｅｐ−ｃｌｋの立ち上がりの位相ずれがあるにも関わらず、位相ずれがない旨を示す場合がある。たとえば、クロック信号ｄｉｖ−０の立ち上がりが出力ｒｅｐｏｕｔの切り替わり点と重なると、レプリカデータｒｅｐｄａの切り替わり点に対するクロック信号ＦＦｒｅｐ−ｃｌｋの立ち上がりの位相ずれがあるにも関わらず出力ｐｈ０が中間レベルとなる。
【００５１】
また、クロック信号ｄｉｖ−９０の立ち上がりが出力ｒｅｐｏｕｔの切り替わり点と重なると、レプリカデータｒｅｐｄａの切り替わり点に対するクロック信号ＦＦｒｅｐ−ｃｌｋの立ち上がりの位相ずれがあるにも関わらず出力ｐｈ９０が中間レベルとなる。ただし、クロック信号ｄｉｖ−０，ｄｉｖ−９０は互いに位相が９０度異なる信号であるため、クロック信号ｄｉｖ−０，ｄｉｖ−９０の各立ち上がりがともに出力ｒｅｐｏｕｔの切り替わり点と重なることを回避することができる。
【００５２】
カウンタ回路２５５および位相設定回路２６０は、たとえば図１に示した制御回路１６０に対応する構成である。カウンタ回路２５５は、フリップフロップ２５３からの出力ｐｈ０と、フリップフロップ２５４からの出力ｐｈ９０と、をカウントする。カウンタ回路２５５は、カウント結果を示すカウント値を位相設定回路２６０へ出力する。
【００５３】
位相設定回路２６０は、カウンタ回路２５５から出力されたカウント値に基づいて、任意位相生成回路２１４が生成するクロック信号ＭＵＸ−ｃｌｋの位相を設定する。たとえば、位相設定回路２６０は、カウンタ回路２５５から出力されたカウント値がダウンした場合はクロック信号ＭＵＸ−ｃｌｋの位相を進めるように設定する。また、位相設定回路２６０は、カウンタ回路２５５から出力されたカウント値がアップした場合はクロック信号ＭＵＸ−ｃｌｋの位相を遅らせるように設定する。
【００５４】
このように、カウンタ回路２５５および位相設定回路２６０は、レプリカデータｒｅｐｄａの切り替わり点に対するクロック信号ＦＦｒｅｐ−ｃｌｋの位相ずれが小さくなる方向にクロック信号ＭＵＸ−ｃｌｋの位相を制御する。また、カウンタ回路２５５および位相設定回路２６０は、クロック信号ＦＦ−ｃｌｋおよびそれに同期したクロック信号ＦＦｒｅｐ−ｃｌｋの位相を制御することによってシリアルデータｄａとクロック信号ＦＦ−ｃｌｋの相対的な位相を制御してもよい。
【００５５】
＜クロック信号ｄｉｖ−０によるサンプリング＞
図３−１は、シリアルデータに対してクロック信号の位相が遅い場合のタイミングチャートを示す図である。図３−１において、符号３０１は、任意位相生成回路２１４から変換回路２３０へ出力されるクロック信号ＭＵＸ−ｃｌｋを示している。符号３０２は、変換回路２３０からフリップフロップ２４１へ出力されるシリアルデータｄａを示している。符号３０３は、フリップフロップ２４１へ入力されるクロック信号ＦＦ−ｃｌｋを示している。
【００５６】
符号３０４は、選択回路２５１からフリップフロップ２５２へ出力されるレプリカデータｒｅｐｄａを示している。符号３０５は、フリップフロップ２５２へ入力されるクロック信号ＦＦｒｅｐ−ｃｌｋを示している。符号３０６は、フリップフロップ２５２からの出力ｒｅｐｏｕｔを示している。符号３０７は、フリップフロップ２５３へ入力されるクロック信号ｄｉｖ−０を示している。符号３０８は、フリップフロップ２５３からカウンタ回路２５５への出力ｐｈ０を示している。
【００５７】
ここでは、符号３０２，３０３に示すように、シリアルデータｄａの最適点（たとえば切り替わり点と切り替わり点の中央点）に対してクロック信号ＦＦ−ｃｌｋの立ち上がりの位相が遅い場合について説明する。この場合は、符号３０４，３０５に示すように、レプリカデータｒｅｐｄａの切り替わり点に対してクロック信号ＦＦｒｅｐ−ｃｌｋの立ち上がりが遅くなる。
【００５８】
このため、符号３０６に示すように、出力ｒｅｐｏｕｔはハイレベルとローレベルを交互に繰り返す。この場合は、符号３０８に示すように、出力ｐｈ０は常にハイレベル（ａｌｌ＝１）になる。これに対して、カウンタ回路２５５および位相設定回路２６０は、シリアルデータｄａに対してクロック信号ＦＦ−ｃｌｋの位相が遅い（ｌａｔｅ）と判定し、クロック信号ＭＵＸ−ｃｌｋの位相を遅くする（符号３１１）。これにより、シリアルデータｄａに対するクロック信号ＦＦ−ｃｌｋの位相が最適点に近づく。
【００５９】
図３−２は、シリアルデータに対してクロック信号の位相が早い場合のタイミングチャートを示す図である。図３−２において、図３−１に示した部分と同様の部分については同一の符号を付して説明を省略する。
【００６０】
ここでは、符号３０２，３０３に示すように、シリアルデータｄａの最適点に対してクロック信号ＦＦ−ｃｌｋの立ち上がりの位相が早い場合について説明する。この場合は、符号３０４，３０５に示すように、レプリカデータｒｅｐｄａの切り替わり点に対してクロック信号ＦＦｒｅｐ−ｃｌｋの立ち上がりが早くなる。
【００６１】
このため、符号３０６に示すように、出力ｒｅｐｏｕｔはハイレベルとローレベルを交互に繰り返す。ただし、図３−１に示した場合と比べると、出力ｒｅｐｏｕｔは１８０度位相が異なる。したがって、符号３０８に示すように、出力ｐｈ０は常にローレベル（ａｌｌ＝０）になる。これに対して、カウンタ回路２５５および位相設定回路２６０は、シリアルデータｄａに対してクロック信号ＦＦ−ｃｌｋの位相が早い（ｅａｒｌｙ）と判定し、クロック信号ＭＵＸ−ｃｌｋを早くする（符号３２１）。これにより、シリアルデータｄａに対するクロック信号ＦＦ−ｃｌｋの位相が最適点に近づく。
【００６２】
図３−３は、シリアルデータに対してクロック信号の位相が最適点となっている場合のタイミングチャートを示す図である。図３−３において、図３−１に示した部分と同様の部分については同一の符号を付して説明を省略する。
【００６３】
ここでは、符号３０２，３０３に示すように、シリアルデータｄａの最適点に対してクロック信号ＦＦ−ｃｌｋの立ち上がりが一致している場合について説明する。この場合は、符号３０４，３０５に示すように、レプリカデータｒｅｐｄａの切り替わり点に対してクロック信号ＦＦｒｅｐ−ｃｌｋの立ち上がりが一致する。
【００６４】
このため、符号３０６に示すように、出力ｒｅｐｏｕｔはハイレベルとローレベルの中間レベルで不定値になる。したがって、符号３０８に示すように、出力ｐｈ０は常に中間レベルになる。これに対して、カウンタ回路２５５および位相設定回路２６０は、シリアルデータｄａに対してクロック信号ＦＦ−ｃｌｋの位相が最適点になっていると判定し、クロック信号ＭＵＸ−ｃｌｋの位相を維持する（符号３３１）。これにより、シリアルデータｄａに対するクロック信号ＦＦ−ｃｌｋの位相が最適点で安定する。
【００６５】
図４は、フリップフロップの出力が電源電圧に依存する場合のタイミングチャートを示す図である。図４において、図３−１に示した部分と同様の部分については同一の符号を付して説明を省略する。ここでは、符号３０２，３０３に示すように、シリアルデータｄａの最適点に対してクロック信号ＦＦ−ｃｌｋの立ち上がりが遅い場合について説明する。図４の符号３０６に示すように、フリップフロップ２５２の出力ｒｅｐｏｕｔは、電源条件１〜５によって位相が変動する。
【００６６】
たとえば、電源条件３の場合は、出力ｒｅｐｏｕｔの切り替わり点とクロック信号ｄｉｖ−０の立ち上がりが重なっている。このため、符号３０８に示すように、シリアルデータｄａの最適点に対してクロック信号ＦＦ−ｃｌｋの立ち上がりがずれているにも関わらず出力ｐｈ０が中間レベルになる（準安定）。この場合は、シリアルデータｄａの最適点に対してクロック信号ＦＦ−ｃｌｋの立ち上がりが一致している場合と同じ状態になる。また、出力ｒｅｐｏｕｔの位相は、温度などの他の環境条件によっても変動する。
【００６７】
＜クロック信号ｄｉｖ−０，ｄｉｖ−９０によるサンプリング＞
図５−１は、位相が異なる複数のクロック信号による誤判定の回避を示す図（その１）である。図５−１において、図３−１に示した部分と同様の部分については同一の符号を付して説明を省略する。ここでは、符号３０２，３０３に示すように、シリアルデータｄａの最適点に対してクロック信号ＦＦ−ｃｌｋの立ち上がりの位相が遅れている場合について説明する。図５−１の符号５０１に示すように、パラレル−シリアル変換器２００においては、クロック信号ｄｉｖ−０に加えてクロック信号ｄｉｖ−９０を用いたサンプリングを行う。ここでは、図４の電源条件３のように、クロック信号ｄｉｖ−０の立ち上がりが出力ｒｅｐｏｕｔの切り替わり点に重なり、出力ｐｈ０が中間レベルとなっている。
【００６８】
これに対して、クロック信号ｄｉｖ−９０はクロック信号ｄｉｖ−０とは位相が９０度異なるため、クロック信号ｄｉｖ−９０の立ち上がりは出力ｒｅｐｏｕｔの切り替わり点と重ならない。したがって、符号５０２に示すように、出力ｐｈ９０は常にローレベル（ａｌｌ＝０）となる。これにより、カウンタ回路２５５および位相設定回路２６０は、シリアルデータｄａの最適点に対してクロック信号ＦＦ−ｃｌｋが遅れていると判定し、クロック信号ＭＵＸ−ｃｌｋを遅延させる。
【００６９】
図５−２は、位相が異なる複数のクロック信号による誤判定の回避を示す図（その２）である。図５−２において、図５−１に示した部分と同様の部分については同一の符号を付して説明を省略する。ここでは、符号３０２，３０３に示すように、シリアルデータｄａの最適点に対してクロック信号ＦＦ−ｃｌｋの立ち上がりが一致している場合について説明する。この場合は、図５−２の符号３０８，５０２に示すように、出力ｐｈ０，ｐｈ９０がともに中間レベルとなる。これにより、カウンタ回路２５５および位相設定回路２６０は、シリアルデータｄａの最適点に対してクロック信号ＦＦ−ｃｌｋの位相が最適点であると判定し、クロック信号ＭＵＸ−ｃｌｋの位相を維持する。
【００７０】
＜変換回路の具体例＞
図６は、図２に示した変換回路の具体例を示す図である。図６において、図２に示した構成と同様の構成については同一の符号を付して説明を省略する。図６に示すように、変換回路２３０は、入力端子６０１と、遅延バッファ６０２と、ラッチ回路６０３〜６０７と、選択回路６０８と、出力端子６０９と、を備えている。
【００７１】
入力端子６０１には、任意位相生成回路２１４から出力されたクロック信号ＭＵＸ−ｃｌｋが入力される。入力端子６０１は、入力されたクロック信号ＭＵＸ−ｃｌｋを遅延バッファ６０２および選択回路６０８へ出力する。遅延バッファ６０２は、入力端子６０１から出力されたクロック信号ＭＵＸ−ｃｌｋを遅延させ、遅延させたクロック信号をクロック信号ｌａｔ−ｃｌｋとしてラッチ回路６０３〜６０７へ出力する。
【００７２】
ラッチ回路６０４，６０７には、遅延バッファ６０２から出力されたクロック信号ｌａｔ−ｃｌｋが入力される。ラッチ回路６０３，６０５，６０６には、遅延バッファ６０２から出力されたクロック信号ｌａｔ−ｃｌｋが反転して入力される。
【００７３】
入力端子２２１は、入力されたデータｄａｔａ０をラッチ回路６０３へ出力する。ラッチ回路６０３へ入力されたデータｄａｔａ０は、ラッチ回路６０３〜６０５によって、クロック信号ｌａｔ−ｃｌｋに基づいて順次ラッチされる。ラッチ回路６０３〜６０５によって順次ラッチされたデータｄａｔａ０は、クロック信号ＭＵＸ−ｃｌｋの１周期分遅延し、データｄ０ａとして選択回路６０８へ出力される。
【００７４】
入力端子２２２は、入力されたデータｄａｔａ１をラッチ回路６０６へ出力する。ラッチ回路６０６へ入力されたデータｄａｔａ１は、ラッチ回路６０６，６０７によって、クロック信号ｌａｔ−ｃｌｋに基づいて順次ラッチされる。ラッチ回路６０６，６０７によって順次ラッチされたデータｄａｔａ１は、クロック信号ＭＵＸ−ｃｌｋの半周期分遅延し、データｄ１ａとして選択回路６０８へ出力される。したがって、選択回路６０８へ入力されるデータｄ０ａとデータｄ１ａとは、位相が互いに１８０度ずれることになる。
【００７５】
選択回路６０８には、入力端子６０１から出力されたクロック信号ＭＵＸ−ｃｌｋがクロック信号ｓｅｌ−ｃｌｋとして入力される。選択回路６０８は、クロック信号ｓｅｌ−ｃｌｋの立ち下がりに同期してデータｄ０ａを出力端子６０９へ出力し、クロック信号ｓｅｌ−ｃｌｋの立ち上がりに同期してデータｄ１ａを出力端子６０９へ出力する。出力端子６０９は、選択回路６０８から交互に出力されたデータｄ０ａおよびデータｄ１ａをシリアルデータｄａとしてフリップフロップ２４１へ出力する。
【００７６】
図７は、図６に示した変換回路のタイムチャートを示す図である。図７において、符号７０１は、入力端子２２１，２２２へ入力されるデータｄａｔａ０，ｄａｔａ１を示している。符号７０２は、ラッチ回路６０３〜６０７へ出力されるクロック信号ｌａｔ−ｃｌｋを示している。符号７０３は、選択回路６０８へ入力されるデータｄ０ａを示している。符号７０４は、選択回路６０８へ入力されるデータｄ１ａを示している。データｄ０ａの「１」、「３」、「５」…は、データｄ０ａの各区間を示している。データｄ１ａの「０」、「２」、「４」…は、データｄ１ａの各区間を示している。
【００７７】
符号７０５は、選択回路６０８へ入力されるクロック信号ｓｅｌ−ｃｌｋを示している。符号７０６は、出力端子６０９から出力されるシリアルデータｄａを示している。符号７０１〜７０４に示すように、データｄａｔａ０，ｄａｔａ１は、互いに１８０度ずれたデータｄ０ａ，ｄ１ａとして選択回路６０８へ入力される。そして、符号７０５，７０６に示すように、クロック信号ｓｅｌ−ｃｌｋの立ち下がり区間はデータｄ０ａが出力され、クロック信号ｓｅｌ−ｃｌｋの立ち上がり区間はデータｄ１ａが出力される。
【００７８】
したがって、シリアルデータｄａは、データｄ０ａの区間「１」、データｄ１ａの区間「０」、データｄ０ａの区間「３」、データｄ１ａの区間「２」、データｄ０ａの区間「５」、データｄ１ａの区間「４」の順に並んだシリアルデータとなる。
【００７９】
＜カウンタ回路の具体例＞
図８は、図２に示したカウンタ回路の具体例を示す図である。図８に示すように、カウンタ回路２５５は、レベル検出回路８１１と、反転回路８１２と、排他的論理和回路８１３と、反転回路８１４と、スイッチ８１５と、スイッチ８１６と、反転回路８１７と、レベル検出回路８２１と、反転回路８２２と、排他的論理和回路８２３と、反転回路８２４と、スイッチ８２５と、スイッチ８２６と、スイッチ８２７と、スイッチ８２８と、カウンタ８３０と、を備えている。
【００８０】
レベル検出回路８１１には、フリップフロップ２５３からの出力ｐｈ０が入力される。レベル検出回路８１１は、入力された出力ｐｈ０がハイレベル、ローレベルおよび中間レベルのいずれであるかを判定する。レベル検出回路８１１は、出力ｐｈ０  ＶＨおよび出力ｐｈ０  ＶＬを有する。レベル検出回路８１１の出力ｐｈ０  ＶＨは、反転回路８１２およびスイッチ８１６へ入力される。レベル検出回路８１１の出力ｐｈ０  ＶＬは、排他的論理和回路８１３および反転回路８１４へ入力される。
【００８１】
レベル検出回路８１１は、出力ｐｈ０がハイレベルである場合は出力ｐｈ０  ＶＨ，ｐｈ０  ＶＬを「ｈｉｇｈ」とする。また、レベル検出回路８１１は、出力ｐｈ０がローレベルである場合は出力ｐｈ０  ＶＨ，ｐｈ０  ＶＬを「ｌｏｗ」とする。また、レベル検出回路８１１は、出力ｐｈ０が中間レベルである場合は出力ｐｈ０  ＶＨを「ｌｏｗ」とし、出力ｐｈ０  ＶＬを「ｈｉｇｈ」とする。
【００８２】
反転回路８１２は、レベル検出回路８１１からの出力ｐｈ０  ＶＨを反転させて排他的論理和回路８１３へ出力する。排他的論理和回路８１３は、レベル検出回路８１１からの出力ｐｈ０  ＶＬと、反転回路８１２の出力と、の排他的論理和を出力する。排他的論理和回路８１３の出力ｐｈ０  ｕｄ  ｅｎａｂｌｅは、スイッチ８１６、スイッチ８１５および反転回路８１７へ入力される。
【００８３】
反転回路８１４は、レベル検出回路８１１からの出力ｐｈ０  ＶＬを反転させてスイッチ８１５へ出力する。スイッチ８１５は、反転回路８１４からの出力を、排他的論理和回路８１３からの出力ｐｈ０  ｕｄ  ｅｎａｂｌｅに応じてオン／オフする。スイッチ８１５の出力ｐｈ０  ｄｏｗｎは、カウンタ８３０へ出力される。反転回路８１７は、排他的論理和回路８１３からの出力ｐｈ０  ｕｄ  ｅｎａｂｌｅを反転させ、出力ｐｈ９０  ｕｄ  ｅｎａｂｌｅ２としてスイッチ８２７およびスイッチ８２８へ出力する。
【００８４】
スイッチ８１６は、レベル検出回路８１１からの出力ｐｈ０  ＶＨを、排他的論理和回路８１３からの出力ｐｈ０  ｕｄ  ｅｎａｂｌｅに応じてオン／オフする。スイッチ８１６の出力ｐｈ０  ｕｐは、スイッチ８２７とカウンタ８３０との間に接続される。
【００８５】
レベル検出回路８２１には、フリップフロップ２５４からの出力ｐｈ９０が入力される。レベル検出回路８２１は、入力された出力ｐｈ９０がハイレベル、ローレベルおよび中間レベルのいずれであるかを判定する。レベル検出回路８２１は、出力ｐｈ９０  ＶＨおよび出力ｐｈ９０  ＶＬを有する。出力ｐｈ９０  ＶＨは反転回路８２２およびスイッチ８２６へ入力される。出力ｐｈ９０  ＶＬは排他的論理和回路８２３および反転回路８２４へ入力される。
【００８６】
レベル検出回路８２１は、出力ｐｈ９０がハイレベルである場合は出力ｐｈ９０  ＶＨ，ｐｈ９０  ＶＬを「ｈｉｇｈ」とする。また、レベル検出回路８２１は、出力ｐｈ９０がローレベルである場合は出力ｐｈ９０  ＶＨ，ｐｈ９０  ＶＬを「ｌｏｗ」とする。また、レベル検出回路８２１は、出力ｐｈ９０が中間レベルである場合は出力ｐｈ９０  ＶＨを「ｌｏｗ」とし、出力ｐｈ９０  ＶＬを「ｈｉｇｈ」とする。
【００８７】
反転回路８２２は、レベル検出回路８２１からの出力ｐｈ９０  ＶＨを反転させて排他的論理和回路８２３へ出力する。排他的論理和回路８２３は、レベル検出回路８２１からの出力ｐｈ９０  ＶＬと、反転回路８２２の出力と、の排他的論理和を出力する。排他的論理和回路８２３の出力ｐｈ９０  ｕｄ  ｅｎａｂｌｅは、スイッチ８２６およびスイッチ８２５へ入力される。
【００８８】
反転回路８２４は、レベル検出回路８２１からの出力ｐｈ９０  ＶＬを反転させてスイッチ８２５へ出力する。スイッチ８２５は、反転回路８２４からの出力を、排他的論理和回路８２３からの出力ｐｈ９０  ｕｄ  ｅｎａｂｌｅに応じてオン／オフする。スイッチ８２５の出力ｐｈ９０  ｄｏｗｎは、スイッチ８２８へ入力される。
【００８９】
スイッチ８２６は、レベル検出回路８２１からの出力ｐｈ９０  ＶＨを、排他的論理和回路８２３からの出力ｐｈ９０  ｕｄ  ｅｎａｂｌｅに応じてオン／オフする。スイッチ８２６の出力ｐｈ９０  ｕｐは、スイッチ８２７へ入力される。
【００９０】
スイッチ８２７は、スイッチ８２６からの出力ｐｈ９０  ｕｐを、反転回路８１７からの出力ｐｈ９０  ｕｄ  ｅｎａｂｌｅ２に応じてオン／オフする。カウンタ８３０には、スイッチ８１６からの出力ｐｈ０  ｕｐと、スイッチ８２７からの出力ｐｈ９０  ｕｐと、のｐｈ９０  ｕｄ  ｅｎａｂｌｅ２による選択信号がカウントアップ信号ｃｏｄｅ  ｕｐとして入力される。
【００９１】
スイッチ８２８は、スイッチ８２５からの出力ｐｈ９０  ｄｏｗｎを、反転回路８１７からの出力ｐｈ９０  ｕｄ  ｅｎａｂｌｅ２に応じてオン／オフする。カウンタ８３０には、スイッチ８１５からの出力ｐｈ０  ｄｏｗｎと、スイッチ８２５からの出力ｐｈ９０  ｄｏｗｎと、のｐｈ９０  ｕｄ  ｅｎａｂｌｅ２による選択信号がカウントダウン信号ｃｏｄｅ  ｄｏｗｎとして入力される。
【００９２】
カウンタ８３０は、カウントアップ信号ｃｏｄｅ  ｕｐが入力されるとカウント値をアップさせ、カウントダウン信号ｃｏｄｅ  ｄｏｗｎが入力されるとカウント値をダウンさせる。また、カウンタ８３０は、カウントアップ信号ｃｏｄｅ  ｕｐもカウントダウン信号ｃｏｄｅ  ｄｏｗｎも入力されない場合はカウント値を維持する。カウンタ８３０は、カウント値を示すコードｐｈ  ｃｏｄｅを位相設定回路２６０へ出力する。位相設定回路２６０は、カウンタ８３０から出力されたコードｐｈ  ｃｏｄｅに基づいて、任意位相生成回路２１４が生成するクロック信号ＭＵＸ−ｃｌｋの位相を設定する。
【００９３】
図９は、図８に示したカウンタ回路の動作を示す図である。図９のテーブル９００は、図８に示したカウンタ回路２５５の動作を示す真理値表を示している。テーブル９００に示すように、排他的論理和回路８１３の出力ｐｈ０  ｕｄ  ｅｎａｂｌｅは、出力ｐｈ０がハイレベル（Ｈｉｇｈ）またはローレベル（Ｌｏｗ）の場合は「１」となり、出力ｐｈ０が中間レベルの場合は「０」となる。
【００９４】
スイッチ８１６の出力ｐｈ０  ｕｐは、出力ｐｈ０がローレベルの場合は「０」となり、出力ｐｈ０がハイレベルの場合は「１」となり、出力ｐｈ０が中間レベルの場合はオフ（ｏｆｆ）となる。スイッチ８１５の出力ｐｈ０  ｄｏｗｎは、出力ｐｈ０がローレベルの場合は「１」となり、出力ｐｈ０がハイレベルの場合は「０」となり、出力ｐｈ０が中間レベルの場合はオフ（ｏｆｆ）となる。
【００９５】
排他的論理和回路８２３の出力ｐｈ９０  ｕｄ  ｅｎａｂｌｅは、出力ｐｈ９０がハイレベルまたはローレベルの場合は「１」となり、出力ｐｈ９０が中間レベルの場合は「０」となる。スイッチ８２６の出力ｐｈ９０  ｕｐは、出力ｐｈ９０がローレベルの場合は「０」となり、出力ｐｈ９０がハイレベルの場合は「１」となり、出力ｐｈ９０が中間レベルの場合はオフ（ｏｆｆ）となる。スイッチ８２５の出力ｐｈ９０  ｄｏｗｎは、出力ｐｈ９０がローレベルの場合は「１」となり、出力ｐｈ９０がハイレベルの場合は「０」となり、出力ｐｈ９０が中間レベルの場合はオフ（ｏｆｆ）となる。
【００９６】
反転回路８１７からの出力ｐｈ９０  ｕｄ  ｅｎａｂｌｅ２は、出力ｐｈ０がハイレベル（Ｈｉｇｈ）またはローレベル（Ｌｏｗ）の場合は「０」となり、出力ｐｈ０が中間レベルの場合は「１」となる。カウンタ８３０への入力Ｃｏｄｅ  ｕｐ−ｄｏｗｎは、出力ｐｈ０がローレベルであり出力ｐｈ９０が中間レベルである場合はｃｏｄｅ  ｄｏｗｎ（ｄｏｗｎ）となる。また、入力Ｃｏｄｅ  ｕｐ−ｄｏｗｎは、出力ｐｈ０がハイレベルであり出力ｐｈ９０が中間レベルである場合はｃｏｄｅ  ｕｐ（ｕｐ）となる。
【００９７】
また、入力Ｃｏｄｅ  ｕｐ−ｄｏｗｎは、出力ｐｈ０が中間レベルであり出力ｐｈ９０がローレベルである場合はｃｏｄｅ  ｄｏｗｎ（ｄｏｗｎ）となる。また、入力Ｃｏｄｅ  ｕｐ−ｄｏｗｎは、出力ｐｈ０が中間レベルであり出力ｐｈ９０がハイレベルである場合はｃｏｄｅ  ｕｐ（ｕｐ）となる。また、入力Ｃｏｄｅ  ｕｐ−ｄｏｗｎは、出力ｐｈ０および出力ｐｈ９０がともに中間レベルの場合は最適固定となる。
【００９８】
このように、カウンタ回路２５５は、出力ｐｈ０，ｐｈ９０がともに中間レベルである場合はカウント値を維持する。また、カウンタ８３０は、出力ｐｈ０がローレベルである場合はカウント値をダウンさせる。また、カウンタ８３０は、出力ｐｈ０がハイレベルである場合はカウント値をアップさせる。また、出力ｐｈ０が中間レベルであり、出力ｐｈ９０がローレベルである場合はカウント値をダウンさせる。また、出力ｐｈ０が中間レベルであり、出力ｐｈ９０がハイレベルである場合はカウント値をアップさせる。
【００９９】
これにより、出力ｐｈ０，ｐｈ９０のすべてが中間レベルである場合は、フリップフロップ２５２によるサンプリングのタイミングを変化させず維持することができる。また、出力ｐｈ０，ｐｈ９０の少なくともいずれかがハイレベルまたはローレベルである場合は、フリップフロップ２５２によるサンプリングのタイミングを変化させることができる。具体的には、出力ｐｈ０，ｐｈ９０のうちのハイレベルまたはローレベルである出力のレベルに基づいてフリップフロップ２５２によるサンプリングのタイミングを変化させる。
【０１００】
ただし、出力ｐｈ０，ｐｈ９０の一方がハイレベルであり他方がローレベルである場合のフリップフロップ２５２によるサンプリングのタイミングの変化方向は、出力ｐｈ０，ｐｈ９０のうちのあらかじめ定められた優先順位が高い方に基づいて決定する。テーブル９００に示した例では、出力ｐｈ０を出力ｐｈ９０よりも優先順位を高くして、出力ｐｈ０を優先的に用いてカウント値を決定している。
【０１０１】
＜レベル検出回路の具体例＞
図１０は、図９に示したレベル検出回路の具体例を示す図である。図１０に示すように、レベル検出回路８１１は、比較器１０１１および比較器１０１２を備えている。比較器１０１１には、レベル検出回路８１１へ入力された出力ｐｈ０と閾値ＶＴｈｉｇｈが入力される。比較器１０１１は、出力ｐｈ０が閾値ＶＴｈｉｇｈより高い場合は「ｈｉｇｈ」を出力ＶＨｏｕｔとして出力する。また、比較器１０１１は、出力ｐｈ０が閾値ＶＴｈｉｇｈ以下である場合は「ｌｏｗ」を出力ＶＨｏｕｔとして出力する。
【０１０２】
比較器１０１２には、レベル検出回路８１１へ入力された出力ｐｈ０と閾値ＶＴｌｏｗが入力される。比較器１０１２は、出力ｐｈ０が閾値ＶＴｌｏｗ以上である場合は「ｈｉｇｈ」を出力ＶＬｏｕｔとして出力する。また、比較器１０１２は、出力ｐｈ０が閾値ＶＴｌｏｗより低い場合は「ｌｏｗ」を出力ＶＬｏｕｔとして出力する。比較器１０１１からの出力ＶＨｏｕｔは、出力ｐｈ０  ＶＨとして後段へ出力される。比較器１０１１からの出力ＶＬｏｕｔは、出力ｐｈ０  ＶＬとして後段へ出力される。
【０１０３】
ここではレベル検出回路８１１の具体例について説明したが、レベル検出回路８２１についても同様である。この場合は、比較器１０１１および比較器１０１２には出力ｐｈ０に代えて出力ｐｈ９０が入力される。また、レベル検出回路８２１からの出力ＶＨｏｕｔは、出力ｐｈ９０  ＶＨとして後段へ出力される。また、比較器１０１２からの出力ＶＬｏｕｔは、出力ｐｈ９０  ＶＬとして後段へ出力される。
【０１０４】
図１１は、図１０に示したレベル検出回路の閾値の設定例を示す図である。符号１１０１は、たとえばレプリカデータｒｅｐｄａに対してクロック信号ＦＦｒｅｐ−ｃｌｋが遅れている場合の出力ｐｈ０を示している。符号１１０２は、たとえばレプリカデータｒｅｐｄａに対してクロック信号ＦＦｒｅｐ−ｃｌｋが早い場合の出力ｐｈ０を示している。符号１１０３は、レプリカデータｒｅｐｄａに対してクロック信号ＦＦｒｅｐ−ｃｌｋの位相が最適点となっている場合の出力ｐｈ０を示している。
【０１０５】
レベル検出回路８１１における閾値ＶＴｈｉｇｈは、符号１１０１に示す出力ｐｈ０（レプリカデータｒｅｐｄａのハイレベル）より低く、符号１１０３に示す出力ｐｈ０の最大値より高く設定する。レベル検出回路８１１における閾値ＶＴｌｏｗは、符号１１０２に示す出力ｐｈ０（レプリカデータｒｅｐｄａのローレベル）より高く、符号１１０３に示す出力ｐｈ０の最小値より低く設定する。ここではレベル検出回路８１１の具体例について説明したが、レベル検出回路８２１についても同様である。
【０１０６】
図１２は、図１０に示したレベル検出回路によるレベルの判定例を示す図である。図１２に示すテーブル１２００は、レベル検出回路８１１からの出力ＶＨｏｕｔおよび出力ＶＬｏｕｔに基づく出力ｐｈ０のレベルの判定基準を示している。
【０１０７】
具体的には、出力ＶＨｏｕｔが「ｈｉｇｈ」であり出力ＶＬｏｕｔが「ｈｉｇｈ」である場合は、出力ｐｈ０のレベルはハイレベル（ｈｉｇｈ）と判定される。出力ＶＨｏｕｔが「ｌｏｗ」であり出力ＶＬｏｕｔが「ｈｉｇｈ」である場合は、出力ｐｈ０のレベルは中間レベルと判定される。出力ＶＨｏｕｔが「ｌｏｗ」であり出力ＶＬｏｕｔが「ｌｏｗ」である場合は、出力ｐｈ０のレベルはローレベル（ｌｏｗ）と判定される。
【０１０８】
このように、レベル検出回路８１１は、入力された出力ｐｈ０がハイレベル、ローレベルおよび中間レベルのいずれであるかを判定することができる。ここではレベル検出回路８１１の具体例について説明したが、レベル検出回路８２１についても同様である。
【０１０９】
このように、実施の形態２にかかるパラレル−シリアル変換器２００は、フリップフロップ２５２の出力ｒｅｐｏｕｔを、互いに位相が異なるクロック信号ｄｉｖ−０，ｄｉｖ−９０でサンプリングする。そして、パラレル−シリアル変換器２００は、出力ｐｈ０，ｐｈ９０のすべてが中間レベルである場合は、フリップフロップ２４１によるサンプリングのタイミングを変化させず維持する。
【０１１０】
また、パラレル−シリアル変換器２００は、出力ｐｈ０，ｐｈ９０の少なくともいずれかがハイレベルまたはローレベルである場合は、フリップフロップ２４１によるサンプリングのタイミングを変化させる。これにより、フリップフロップ２４１によるサンプリングにおけるタイミングの非最適点を最適点と誤判定することを回避することができる。このため、シリアルデータｄａの最適点に対するクロック信号ＦＦ−ｃｌｋの位相ずれを確実に補償し、シリアルデータｄａを精度よく整形することができる。
【０１１１】
（実施の形態３）
＜パラレル−シリアル変換器の構成＞
図１３は、実施の形態３にかかるパラレル−シリアル変換器を示す図である。図１３において、図２に示した構成と同様の構成については同一の符号を付して説明を省略する。図１３に示すように、パラレル−シリアル変換器２００は、入力端子２１１と、反転回路２１２と、分周回路２１３と、任意位相生成回路２１４と、入力端子２２１，２２２と、変換回路２３０と、フリップフロップ２４１と、出力端子２４２と、レプリカ回路２５０と、カウンタ１３２１と、位相設定回路２６０と、を備えている。
【０１１２】
レプリカ回路２５０はＣＤＲ回路１３１０（Ｃｌｏｃｋ  Ｄａｔａ  Ｒｅｃｏｖｅｒｙ）を備えている。ここでは、図２に示したカウンタ回路２５５を省いた構成にしてもよい。ＣＤＲ回路１３１０は、フリップフロップ２５３，２５４と、任意位相生成回路１３１１と、レベル検出回路１３１２と、を備えている。分周回路２１３から出力されたクロック信号ｄｉｖ−０，ｄｉｖ−９０は任意位相生成回路１３１１へ入力される。
【０１１３】
任意位相生成回路１３１１は、入力されたクロック信号ｄｉｖ−０，ｄｉｖ−９０の位相を変化させたクロック信号ｄｉｖ−０，ｄｉｖ−９０を生成する。任意位相生成回路１３１１が生成するクロック信号ｄｉｖ−０，ｄｉｖ−９０は、たとえば互いに位相が９０度異なるクロック信号である。
【０１１４】
任意位相生成回路１３１１は、たとえばレベル検出回路１３１２から出力される出力ｐｈ０のレベルが中間レベルになるように、生成するクロック信号ｄｉｖ−０の位相を変化させる。任意位相生成回路１３１１は、生成したクロック信号ｄｉｖ−０をフリップフロップ２５３へ出力し、クロック信号ｄｉｖ−９０をフリップフロップ２５４へ出力する。
【０１１５】
レベル検出回路１３１２は、フリップフロップ２５３からの出力ｐｈ０のレベルを検出して任意位相生成回路１３１１へ出力する。また、レベル検出回路１３１２は、フリップフロップ２５４からの出力ｐｈ９０のレベルを検出してカウンタ１３２１へ出力する。カウンタ１３２１は、レベル検出回路１３１２からハイレベルが出力されるとカウント値をアップさせ、ローレベルが出力されるとカウント値をダウンさせ、中間レベルが出力された場合はカウント値を維持する。
【０１１６】
なお、ここではレベル検出回路１３１２が出力ｐｈ０のレベルを任意位相生成回路１３１１へ出力する構成について説明したが、レベル検出回路１３１２が出力ｐｈ９０のレベルを任意位相生成回路１３１１へ出力する構成としてもよい。この場合は、レベル検出回路１３１２は、出力ｐｈ０のレベルをカウンタ１３２１へ出力する。また、任意位相生成回路１３１１は、レベル検出回路１３１２から出力される出力ｐｈ９０のレベルが中間レベルになるように、生成するクロック信号ｄｉｖ−９０の位相を変化させる。
【０１１７】
また、ここでは出力ｒｅｐｏｕｔをクロック信号ｄｉｖ−０，ｄｉｖ−９０の２つのクロック信号によってサンプリングする構成について説明したが、出力ｒｅｐｏｕｔを互いに位相が異なる３つ以上のクロック信号によってサンプリングする構成としてもよい。この場合は、任意位相生成回路１３１１は、３つ以上のクロック信号の少なくともいずれかによってサンプリングされた出力が中間レベルになるように、生成するクロック信号ｄｉｖ−９０の位相を変化させる。
【０１１８】
＜クロック信号ｄｉｖ−０によるサンプリング＞
図１４−１は、位相が異なる複数のクロック信号による誤判定の回避を示す図（その１）である。図１４−１において、図５−１に示した部分と同様の部分については同一の符号を付して説明を省略する。ここでは、符号３０２，３０３に示すように、シリアルデータｄａの最適点に対してクロック信号ＦＦ−ｃｌｋの立ち上がりの位相が遅い場合について説明する。
【０１１９】
符号３０８に示すように、任意位相生成回路１３１１は、出力ｐｈ０のレベルが中間レベルになるように、生成するクロック信号ｄｉｖ−０の位相を変化させる（符号１４０１）。これにより、符号３０６，５０１に示すように、クロック信号ｄｉｖ−９０の立ち上がりが、出力ｒｅｐｏｕｔの切り替わり点と重ならないようにすることができる。このため、出力ｐｈ９０は常にローレベル（ａｌｌ＝０）となる。これに対して、カウンタ回路２５５および位相設定回路２６０は、シリアルデータｄａの最適点に対してクロック信号ＦＦ−ｃｌｋが遅いと判定し、クロック信号ＭＵＸ−ｃｌｋの位相を遅くする。
【０１２０】
図１４−２は、位相が異なる複数のクロック信号による誤判定の回避を示す図（その２）である。図１４−２において、図１４−１に示した部分と同様の部分については同一の符号を付して説明を省略する。ここでは、符号３０２，３０３に示すように、シリアルデータｄａの最適点に対してクロック信号ＦＦ−ｃｌｋの立ち上がりが一致している場合について説明する。
【０１２１】
この場合は、図１４−２の符号３０８，５０２に示すように、出力ｐｈ０，ｐｈ９０がともに中間レベルとなる。これにより、カウンタ回路２５５および位相設定回路２６０は、シリアルデータｄａの最適点に対してクロック信号ＦＦ−ｃｌｋの位相が最適点であると判定し、クロック信号ＭＵＸ−ｃｌｋの位相を維持する。
【０１２２】
このように、実施の形態３にかかるパラレル−シリアル変換器２００は、フリップフロップ２５２の出力ｒｅｐｏｕｔを、互いに位相が異なるクロック信号ｄｉｖ−０，ｄｉｖ−９０でサンプリングする。そして、パラレル−シリアル変換器２００は、サンプリング信号  ｐｈ０  がハイレベルとローレベルの中間レベルとなるようにクロック信号ｄｉｖ−０，ｄｉｖ−９０の位相を制御する。これにより、クロック信号ｄｉｖ−９０の立ち上がりが出力ｒｅｐｏｕｔの切り替わり点と重ならないようにすることができる。
【０１２３】
そして、パラレル−シリアル変換器２００は、出力ｐｈ９０のレベルに基づいてフリップフロップ２４１によるサンプリングのタイミングを制御する。これにより、サンプリングにおけるタイミングの非最適点を最適点と誤判定することを回避し、シリアルデータｄａの最適点に対するクロック信号ＦＦ−ｃｌｋの位相ずれを確実に補償することができる。このため、シリアルデータｄａを精度よく整形することができる。
【０１２４】
以上説明したように、パラレル−シリアル変換器によれば、シリアルデータを精度よく整形することができる。
【符号の説明】
【０１２５】
２１１，２２１，２２２，６０１  入力端子
２１２，８１２，８１４，８１７，８２２，８２４  反転回路
２１３  分周回路
２４１，２５２〜２５４  フリップフロップ
２４２，６０９  出力端子
２５１，６０８  選択回路
６０２  遅延バッファ
６０３〜６０７  ラッチ回路
８１１，８２１，１３１２  レベル検出回路
８１３，８２３  排他的論理和回路
８１５，８１６，８２５〜８２８  スイッチ
１０１１，１０１２  比較器
ｄａｔａ０，ｄａｔａ１  データ
ｐｈ０，ｐｈ９０  出力
【図１】
0005471509.tif 000002
【図２】
0005471509.tif 000003
【図３−１】
0005471509.tif 000004
【図３−２】
0005471509.tif 000005
【図３−３】
0005471509.tif 000006
【図４】
0005471509.tif 000007
【図５−１】
0005471509.tif 000008
【図５−２】
0005471509.tif 000009
【図６】
0005471509.tif 000010
【図７】
0005471509.tif 000011
【図８】
0005471509.tif 000012
【図９】
0005471509.tif 000013
【図１０】
0005471509.tif 000014
【図１１】
0005471509.tif 000015
【図１２】
0005471509.tif 000016
【図１３】
0005471509.tif 000017
【図１４−１】
0005471509.tif 000018
【図１４−２】
0005471509.tif 000019