(57)【要約】【課題】より正確にクロックのデューティを適正範囲内にすることができるデューティ補償装置を提供する。【解決手段】デューティ補償装置１は、デューティ調整部１０、デューティ測定部２０および制御部３０を備える。Ｎを３以上の整数とし、ｎを１〜Ｎの各整数とする。第ｎの期間Ｔｎに亘って、デューティ測定部２０は、クロックCLK2に対して非同期である周波数ｆｎのサンプリングクロックを生成し、このサンプリングクロックを用いて、クロックCLK2のデューティを測定する。制御部３０は、各期間Ｔｎにおいてデューティ測定部２０により測定されるデューティが所定範囲となる制御コードを求め、Ｎ個の期間Ｔ１〜ＴＮそれぞれにおいて求めた制御コードに基づいて、デューティ調整部１０へ与える制御コードを決定する。【選択図】図１
2019205077.tif 000002
【特許請求の範囲】
【請求項１】
入力されるクロックのデューティを制御コードに応じて調整して、当該調整後のクロックを出力するデューティ調整部と、
Ｎを３以上の整数とし、ｎを１〜Ｎの各整数として、各期間Ｔｎに亘って、前記クロックに対して非同期であって他の何れの期間における周波数とも異なる周波数のサンプリングクロックをサンプリングクロック生成部により生成し、前記サンプリングクロックが指示するタイミングにおいて前記デューティ調整部から出力されるクロックのレベルを検出して、そのレベル検出結果に基づいて該クロックのデューティを測定するデューティ測定部と、
前記デューティ調整部におけるデューティの調整を制御するための前記制御コードを出力し、各期間Ｔｎにおいて前記デューティ測定部により測定されるデューティが所定範囲となる前記制御コードを求め、Ｎ個の期間Ｔ１〜ＴＮそれぞれにおいて求めた制御コードに基づいて、前記デューティ調整部へ与える制御コードを決定する制御部と、
を備えるデューティ補償装置。
【請求項２】
前記制御部は、Ｎ個の期間Ｔ１〜ＴＮそれぞれにおいて求めた制御コードを昇順または降順に並べたときの最大値および最小値を除く何れかの制御コードを、前記デューティ調整部へ与える制御コードとして決定する、
請求項１に記載のデューティ補償装置。
【請求項３】
前記制御部は、Ｎ個の期間Ｔ１〜ＴＮそれぞれにおいて求めた制御コードを昇順または降順に並べたときの中央値の制御コードを、前記デューティ調整部へ与える制御コードとして決定する、
請求項１または２に記載のデューティ補償装置。
【請求項４】
前記サンプリングクロック生成部は、
複数の遅延セルがリング状に接続されたリングオシレータと、前記複数の遅延セルそれぞれに電流を供給する電流源と、を含み、
前記電流源が供給する電流の量に応じた周波数のサンプリングクロックを前記リングオシレータにより生成して出力する、
請求項１〜３の何れか１項に記載のデューティ補償装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロックのデューティを補償するデューティ補償装置に関するものである。
【背景技術】
【０００２】
一般にデジタル回路はクロックに同期して動作するように設計される。すなわち、デジタル回路は、クロックの立上り及び立下りの双方または何れか一方のタイミングにおいて新たな論理状態に遷移する。或いは、デジタル回路は、多相クロックを構成する各相のクロックの立上り又は立下りのタイミングにおいて新たな論理状態に遷移する。
【０００３】
デジタル回路において、クロックのデューティは適正範囲内にあることが重要である。単相クロックのデューティは、ハイレベルの時間ｔＨと周期Ｔとの比（ｔＨ／Ｔ）で表される。二相クロックのデューティは、その二相クロックを構成する互いに相補的な二つのクロックのうち一方のハイレベルの時間と周期との比で表される。
【０００４】
もし、クロックのデューティが適正範囲から外れていると、デジタル回路が所望の動作をしない場合がある。例えば、パラレルデータをシリアルデータに変換して該シリアルデータを出力するシリアライザ装置において、シリアルデータの各ビットデータの出力タイミングを指示するクロックのデューティが０.５から大きく異なると、出力されるシリアルデータのうち奇数番目のビットのデータおよび偶数番目のビットのデータそれぞれの期間の長さが互いに大きく異なることになって、いわゆる Even/Oddジッタが発生する。このようなジッタが誤動作の要因となる場合がある。それ故、クロックのデューティは適正範囲内にあることが重要である。
【０００５】
クロックのデューティを補償する装置の発明が特許文献１〜３に開示されている。これらの文献に記載されたデューティ補償装置は、クロックのデューティを調整するデューティ調整部と、クロックのデューティを測定するデューティ測定部と、を備える。そして、デューティ補償装置は、デューティ測定部により測定されるクロックのデューティが適正範囲内になるように、デューティ調整部においてクロックのデューティを調整する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許出願公開第２０１６／０２４１２４９号明細書
【特許文献２】米国特許出願公開第２０１３／００６３１９１号明細書
【特許文献３】特開２０１２−１０１１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、従来のデューティ補償装置では、デューティ測定部により得られるデューティ測定値が真値から大きく異なる場合があり、それ故、デューティ調整部から出力されるクロックのデューティを適正範囲内にすることができない場合がある。
【０００８】
本発明は、上記問題点を解消する為になされたものであり、より正確にクロックのデューティを適正範囲内にすることができるデューティ補償装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明のデューティ補償装置は、(1) 入力されるクロックのデューティを制御コードに応じて調整して、当該調整後のクロックを出力するデューティ調整部と、(2) Ｎを３以上の整数とし、ｎを１〜Ｎの各整数として、各期間Ｔｎに亘って、クロックに対して非同期であって他の何れの期間における周波数とも異なる周波数のサンプリングクロックをサンプリングクロック生成部により生成し、サンプリングクロックが指示するタイミングにおいてデューティ調整部から出力されるクロックのレベルを検出して、そのレベル検出結果に基づいて該クロックのデューティを測定するデューティ測定部と、(3) デューティ調整部におけるデューティの調整を制御するための制御コードを出力し、各期間Ｔｎにおいてデューティ測定部により測定されるデューティが所定範囲となる制御コードを求め、Ｎ個の期間Ｔ１〜ＴＮそれぞれにおいて求めた制御コードに基づいて、デューティ調整部へ与える制御コードを決定する制御部と、を備える。
【００１０】
本発明において、制御部は、Ｎ個の期間Ｔ１〜ＴＮそれぞれにおいて求めた制御コードを昇順または降順に並べたときの最大値および最小値を除く何れかの制御コードを、デューティ調整部へ与える制御コードとして決定するのが好適である。また、制御部は、Ｎ個の期間Ｔ１〜ＴＮそれぞれにおいて求めた制御コードを昇順または降順に並べたときの中央値の制御コードを、デューティ調整部へ与える制御コードとして決定するのも好適である。
【００１１】
本発明において、サンプリングクロック生成部は、複数の遅延セルがリング状に接続されたリングオシレータと、複数の遅延セルそれぞれに電流を供給する電流源と、を含み、電流源が供給する電流の量に応じた周波数のサンプリングクロックをリングオシレータにより生成して出力するのが好適である。
【発明の効果】
【００１２】
本発明のデューティ補償装置は、より正確にクロックのデューティを適正範囲内にすることができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、デューティ補償装置１の構成を示す図である。
【図２】図２は、デューティ調整部１０の構成例を示す図である。
【図３】図３は、デューティ調整部１０の各インバータ１１ｋの回路例を示す図である。
【図４】図４は、デューティ測定部２０の構成例を示す図である。
【図５】図５は、デューティ測定部２０のサンプリングクロック生成部２１の回路例を示す図である。
【図６】図６は、制御コードとクロックCLK2のデューティとの間の関係の一例を示すグラフである。
【図７】図７は、エッジ密度とサンプリングクロックAsyncCLKの周期との間の関係を示すグラフである。
【図８】図８は、エッジ密度とサンプリングクロックAsyncCLKの周期との間の関係を示すグラフである。
【図９】図９は、制御コードとクロックCLK2のデューティとの間の関係の一例を示すグラフである。
【発明を実施するための形態】
【００１４】
以下、添付図面を参照して、本発明を実施するための形態を詳細に説明する。なお、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。本発明は、これらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての調整が含まれることが意図される。
【００１５】
図１は、デューティ補償装置１の構成を示す図である。この図には、デューティ補償装置１の他に、シリアライザ装置２およびＰＬＬ回路３も示されている。ＰＬＬ回路３は、基準クロックCLK0を入力し、シリアライザ装置２におけるシリアルデータ出力のタイミングを指示するためのクロックCLK1を基準クロックCLK0に基づいて生成して、このクロックCLK1を出力する。デューティ補償装置１は、ＰＬＬ回路３とシリアライザ装置２との間に挿入されている。デューティ補償装置１は、ＰＬＬ回路３から出力されたクロックCLK1を入力し、このクロックCLK1のデューティを調整して、そのデューティ調整後のクロックCLK2をシリアライザ装置２へ出力する。シリアライザ装置２は、入力されたパラレルデータPar_Dataをシリアライズして、シリアルデータSer_Dataを出力する。シリアライザ装置２は、シリアルデータSer_Dataを出力する際に、そのシリアルデータSer_Dataの各ビットデータをクロックCLK2に同期して出力する。
【００１６】
デューティ補償装置１は、デューティ調整部１０、デューティ測定部２０および制御部３０を備える。デューティ調整部１０は、ＰＬＬ回路３から出力されるクロックCLK1を入力するとともに、制御部３０から出力される制御コードを入力する。デューティ調整部１０は、制御コードに応じてクロックCLK1のデューティを調整して、当該調整後のクロックCLK2をシリアライザ装置２およびデューティ測定部２０へ出力する。
【００１７】
デューティ測定部２０は、デューティ測定部２０から出力されるクロックCLK2を入力して、そのクロックCLK2のデューティを測定する。デューティ測定部２０は、クロックCLK2に対して非同期であるサンプリングクロックを生成するサンプリングクロック生成部を含む。デューティ測定部２０は、そのサンプリングクロックが指示するタイミングにおいてクロックCLK2のレベルを検出して、そのレベル検出結果に基づいて該クロックCLK2のデューティを測定する。
【００１８】
Ｎを３以上の整数とし、ｎを１〜Ｎの各整数とする。第ｎの期間Ｔｎに亘って、デューティ測定部２０のサンプリングクロック生成部は、クロックCLK2に対して非同期である周波数ｆｎのサンプリングクロックを生成する。各期間Ｔｎに生成されるサンプリングクロックの周波数ｆｎは、他の何れの期間に生成されるサンプリングクロックの周波数とも異なる。各期間Ｔｎに、デューティ測定部２０は、周波数ｆｎのサンプリングクロックを用いて、クロックCLK2のデューティを測定する。
【００１９】
制御部３０は、デューティ調整部１０におけるデューティの調整を制御するための制御コードをデューティ調整部１０へ出力する。制御部３０は、デューティ測定部２０の動作を制御するための制御信号をデューティ測定部２０へ出力し、また、各期間Ｔｎのデューティ測定部２０による測定の結果を受け取る。制御部３０は、各期間Ｔｎにおいてデューティ測定部２０により測定されるデューティが所定範囲となる制御コードを求め、Ｎ個の期間Ｔ１〜ＴＮそれぞれにおいて求めた制御コードに基づいて、デューティ調整部１０へ与える制御コードを決定する。
【００２０】
図２は、デューティ調整部１０の構成例を示す図である。デューティ調整部１０は、互いに並列的に接続された複数のインバータ１１１〜１１Ｋを含む。各インバータ１１ｋは、高電位側（Rise側）および低電位側（Fall側）それぞれが独立に制御可能であるトライステートインバータである。各インバータ１１ｋは、制御部３０から与えられる制御コードによってレベル反転動作が制御される。Ｋ個のインバータ１１１〜１１Ｋそれぞれにおけるレベル反転動作によって、入力されるクロックCLK1のデューティが調整されて、その調整後のクロックCLK2が出力される。Ｋは２以上の整数であり、ｋは１以上Ｋ以下の各整数である。
【００２１】
図３は、デューティ調整部１０の各インバータ１１ｋの回路例を示す図である。各インバータ１１ｋは、ＰＭＯＳトランジスタ１２、ＰＭＯＳトランジスタ１３、ＮＭＯＳトランジスタ１４およびＮＭＯＳトランジスタ１５が直列的に順に接続された構成を有する。ＰＭＯＳトランジスタ１２およびＮＭＯＳトランジスタ１５それぞれのゲートにクロックCLK1が入力される。ＰＭＯＳトランジスタ１３のゲートに、制御コードに応じてオン／オフを設定するＵＰ信号が入力される。ＮＭＯＳトランジスタ１４のゲートに、制御コードに応じてオン／オフを設定するＤＮ信号が入力される。ＰＭＯＳトランジスタ１３およびＮＭＯＳトランジスタ１４それぞれのドレインからクロックCLK2が出力される。
【００２２】
図４は、デューティ測定部２０の構成例を示す図である。この図には、制御部３０も示されている。デューティ測定部２０は、サンプリングクロック生成部２１、サンプラ２２およびカウンタ２３を含む。
【００２３】
サンプリングクロック生成部２１は、制御部３０から与えられる周波数制御信号に基づいて、第ｎの期間Ｔｎに亘って周波数ｆｎのサンプリングクロックAsyncCLKを生成し、そのサンプリングクロックAsyncCLKをサンプラ２２およびカウンタ２３へ出力する。
【００２４】
サンプラ２２は、デューティ測定部２０から出力されるクロックCLK2を入力するとともに、サンプリングクロック生成部２１から出力されるサンプリングクロックAsyncCLKを入力する。サンプラ２２は、サンプリングクロックAsyncCLKが指示するタイミングでクロックCLK2のレベルをサンプリングしてホールドし、そのホールドしたレベル値をカウンタ２３へ出力する。
【００２５】
カウンタ２３は、サンプラ２２から出力されるレベル値を入力するとともに、サンプリングクロック生成部２１から出力されるサンプリングクロックAsyncCLKを入力する。カウンタ２３は、サンプリングクロックAsyncCLKが指示するタイミングで、レベル値を積算していくことで、サンプラ２２から出力されるレベル値が１である事象を計数する。カウンタ２３は、制御部３０から与えられるカウンタ制御信号に基づいて動作する。すなわち、カウンタ２３は、各期間Ｔｎの開始時に計数値を初期化し、各期間Ｔｎの終了時の計数値を制御部３０へ出力する。
【００２６】
期間Ｔｎの終了時の計数値、期間Ｔｎの時間、および、期間ＴｎのサンプリングクロックAsyncCLKの周波数ｆｎから、クロックCLK2のデューティを求めることができる。
【００２７】
図５は、デューティ測定部２０のサンプリングクロック生成部２１の回路例を示す図である。サンプリングクロック生成部２１は、複数の遅延セル２１１１〜２１１Ｍがリング状に接続されたリングオシレータ２１０と、複数の遅延セル２１１１〜２１１Ｍそれぞれに電流を供給する電流源２１２と、を含む。電流源２１２から各遅延セル２１１ｍに供給される電流の量は、制御部３０から与えられる周波数制御信号により調整される。各遅延セル２１１ｍにおける遅延量は、電流源２１２から供給される電流の量に応じたものとなる。サンプリングクロック生成部２１は、電流源２１２が供給する電流の量に応じた周波数のサンプリングクロックAsyncCLKをリングオシレータ２１０により生成して出力する。Ｍは２以上の整数であり、ｍは１以上Ｍ以下の各整数である。
【００２８】
図６は、制御コードとクロックCLK2のデューティとの間の関係の一例を示すグラフである。横軸は制御コードであり、縦軸はクロックCLK2のデューティである。この図に示される例では、デューティ調整部１０に与えられる制御コードの値が大きいほど、デューティ調整部１０から出力されるクロックCLK2のデューティは大きい。クロックCLK2のデューティを０.５としたい場合には、制御コードを値５にすればよい。
【００２９】
サンプリングクロックAsyncCLKの周波数は、クロックCLK2の周波数より高くでもよいが、クロックCLK2の周波数より低いのが好ましい。シリアライザ装置２から出力されるシリアルデータSer_Dataのビットレートを高くするには、シリアライザ装置２に入力されるクロックCLK2の周波数を高くすることが必要であり、このクロックCLK2の周波数より更にサンプリングクロックAsyncCLKの周波数を高くすることは諸費電力および実装の点で問題がある。それ故、一般に、サンプリングクロックAsyncCLKの周波数は、クロックCLK2の周波数より低くする。
【００３０】
サンプリングクロックAsyncCLKによるクロックCLK2の１周期当たりのレベルのサンプリング数（エッジ密度）は、次のようにして計算することができる。クロックCLK2の周期をＰｔとする。サンプリングクロックAsyncCLKの周期をＰａとする。ＰａをＰｔで除算（Ｐａ÷Ｐｔ）したときの余りをＸとする。エッジ密度は、ＸとＹとの積（ＸＹ）がＰｔの整数倍となる最小のＹとして求めることができる。ＸとＰｔとの最小公倍数をＺ（１周して同じ位相に戻る最短期間）とすると、Ｙ＝Ｚ÷Ｘなる関係がある。そのときの精度は、Ｐｔ／Ｙ[psec] である。この精度が目標レベルとなるように、サンプリングクロックAsyncCLKの周期Ｐａを設定し、エッジ密度を設定する。エッジ密度は大きいほど好ましい。エッジ密度は、好ましくは１００以上であり、より好ましくは２００以上である。
【００３１】
図７および図８は、エッジ密度とサンプリングクロックAsyncCLKの周期との間の関係を示すグラフである。両図とも、横軸はサンプリングクロックAsyncCLKの周期Ｐａであり、縦軸はエッジ密度である。両図とも、クロックCLK2の周期Ｐｔを１００ｐｓとした。横軸におけるサンプリングクロックAsyncCLKの周期Ｐａの設定値の間隔は、図７では０.５ｐｓであり、図８では０.００５ｐｓである。両図の間では、横軸の目盛りが相違し、縦軸の目盛りも相違する。両図に示されるように、エッジ密度を大きくするには、クロックCLK2に対するサンプリングクロックAsyncCLKの非同期性を確保することが重要である。サンプリングクロックAsyncCLKの非同期性が確保されない場合、エッジ密度が極端に小さくなって、クロックCLK2のデューティ測定精度が悪くなり、デューティの補償精度が悪くなる。
【００３２】
そこで、本実施形態では、Ｎを３以上の整数とし、ｎを１〜Ｎの各整数として、第ｎの期間Ｔｎに亘って、デューティ測定部２０のサンプリングクロック生成部２１は、クロックCLK2に対して非同期である周波数ｆｎのサンプリングクロックを生成する。各期間Ｔｎに生成されるサンプリングクロックの周波数ｆｎは、他の何れの期間に生成されるサンプリングクロックの周波数とも異なる。各期間Ｔｎにおいて、制御部３０は、デューティ測定部２０により測定されるデューティが所定範囲となる制御コード（例えばデューティが０.５に最も近くなる制御コード）を求める。そして、制御部３０は、Ｎ個の期間Ｔ１〜ＴＮそれぞれにおいて求めた制御コードのうちから確からしい制御コードを選んで、以降は、その選んだ制御コードをデューティ調整部１０へ与える。
【００３３】
図９は、制御コードとクロックCLK2のデューティとの間の関係の一例を示すグラフである。この図では、Ｎ＝４とした。クロックCLK2の周波数を７.８７４ＧＨｚとした。サンプリングクロックAsyncCLKの周期ＰａとクロックCLK2の周期Ｐｔとの差ΔＰ（＝Ｐａ−Ｐｔ）を期間Ｔ１〜Ｔ４の間で約１ｐｓずつ異ならせた。すなわち、ΔＰを、期間Ｔ１では０ｐｓとし、期間Ｔ２では１.１ｐｓとし、期間Ｔ３では２.０ｐｓとし、期間Ｔ４では２.８ｐｓとした。
【００３４】
ΔＰ＝０ｐｓとした期間Ｔ１では、Ｐａ＝Ｐｔであるから、サンプラ２２によるサンプリングの結果は常にハイレベルとローレベルとを交互に繰り返すことになり、制御コードによらずデューティは常に略０.５である。したがって、期間Ｔ１の終了時にクロックCLK2のデューティが０.５となる制御コードを求めると、その制御コードの値は不定である。
【００３５】
その他の期間Ｔ２，Ｔ３，Ｔ４では、制御コードの値が大きいほどクロックCLK2のデューティが大きい関係があるので、期間Ｔ２，Ｔ３，Ｔ４それぞれの終了時にクロックCLK2のデューティが０.５となる制御コードを求めると、その制御コードの値は４の辺りとなる。
【００３６】
制御部３０は、期間Ｔ１〜Ｔ４それぞれにおいて求めた制御コードから確からしい制御コードを選んで、以降は、その選んだ制御コードをデューティ調整部１０へ与える。この例では、期間Ｔ１の終了時に得られた制御コードは不定であるが、期間Ｔ２，Ｔ３，Ｔ４それぞれの終了時に得られた制御コードの値は４で一致している（または値４に近い値になる）ので、確からしい制御コードとして値４が選ばれる。
【００３７】
制御部３０は、Ｎ個の期間Ｔ１〜ＴＮそれぞれにおいて求めた制御コードのうちから確からしい制御コードを選択するに際して、これらの制御コードを昇順または降順に並べたときの最大値および最小値を除く何れかの制御コードを、それ以降にデューティ調整部１０へ与える制御コードとして決定してもよい。また、制御部３０は、Ｎ個の期間Ｔ１〜ＴＮそれぞれにおいて求めた制御コードを昇順または降順に並べたときの中央値の制御コードを、それ以降にデューティ調整部１０へ与える制御コードとして決定してもよい。何れの場合も、Ｎ個の期間Ｔ１〜ＴＮそれぞれにおいて求めた制御コードのうち、不適切な制御コードである可能性があるものを排除して、適切な制御コードを選択することができる。したがって、本実施形態では、より正確にクロックのデューティを適正範囲内にすることができる。
【符号の説明】
【００３８】
１…デューティ補償装置、２…シリアライザ装置、３…ＰＬＬ回路、１０…デューティ調整部、１１１〜１１Ｋ…インバータ、１２，１３…ＰＭＯＳトランジスタ、１４，１５…ＮＭＯＳトランジスタ、２０…デューティ測定部、２１…サンプリングクロック生成部、２２…サンプラ、２３…カウンタ、３０…制御部。
【図１】
2019205077.tif 000003
【図２】
2019205077.tif 000004
【図３】
2019205077.tif 000005
【図４】
2019205077.tif 000006
【図５】
2019205077.tif 000007
【図６】
2019205077.tif 000008
【図７】
2019205077.tif 000009
【図８】
2019205077.tif 000010
【図９】
2019205077.tif 000011