JP6284727B2 - クロック位相シフト回路 - Google Patents

クロック位相シフト回路 Download PDF

Info

Publication number
JP6284727B2
JP6284727B2 JP2013193931A JP2013193931A JP6284727B2 JP 6284727 B2 JP6284727 B2 JP 6284727B2 JP 2013193931 A JP2013193931 A JP 2013193931A JP 2013193931 A JP2013193931 A JP 2013193931A JP 6284727 B2 JP6284727 B2 JP 6284727B2
Authority
JP
Japan
Prior art keywords
phase shift
shift amount
clock
circuit
operation cycle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013193931A
Other languages
English (en)
Other versions
JP2015061213A (ja
Inventor
知広 藤田
知広 藤田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MegaChips Corp
Original Assignee
MegaChips Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MegaChips Corp filed Critical MegaChips Corp
Priority to JP2013193931A priority Critical patent/JP6284727B2/ja
Publication of JP2015061213A publication Critical patent/JP2015061213A/ja
Application granted granted Critical
Publication of JP6284727B2 publication Critical patent/JP6284727B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Pulse Circuits (AREA)

Description

本発明は、周波数変調された入力クロックの位相を遅延ラインを使用してシフトし、出力クロックとして出力するクロック位相シフト回路に関するものである。
クロック位相シフト回路は、入力クロックの位相を遅延ラインやDLL(Delay Locked Loop)回路等を使用してシフトし、出力クロックとして出力するものであり、例えば、DDR−SDRAM(Double-Data-Rate Synchronous Dynamic Random Access Memory)やRSDS(Reduced Swing Differential Signaling)等のインターフェイス回路において、DDR−SDRAMやRSDS等に入力される入力クロックとデータとの間のタイミングを調整するために使用されている。
例えば、遅延ラインを使用したクロック位相シフト回路は、入力クロックの所定の周期にわたって、遅延ラインを構成する遅延セルと同一の遅延セルで構成されたリングオシレータの発振クロックをカウントし、そのカウント値に基づいて、入力クロックの1周期が遅延セルの何段分の遅延時間に相当するのかを計算し、所望の位相シフト量に応じて、入力クロックが通過する遅延ラインの遅延セルの段数を設定することにより、入力クロックの位相を所望の位相シフト量だけシフトし、出力クロックとして出力する。
以下、遅延ラインを使用したクロック位相シフト回路として、特許文献1に記載されたものを例に挙げて説明する。
図7に示すクロック位相シフト回路60は、特許文献1に記載されたものであり、測定期間設定回路12と、リングオシレータ14と、カウンタ16と、動作クロック生成回路18と、フリップフロップ(FF)20と、遅延ライン24とによって構成されている。
ここで、リングオシレータ14は、遅延ライン24を構成する遅延セル38と同一の遅延セルを所定の段数接続して構成されたものである。
クロック位相シフト回路60の動作について、図8のタイミングチャートに示すように、動作クロック生成回路18により、入力クロックCLKINの立ち上がりに同期して、入力クロックCLKINが16分周された動作クロックTRGが生成された例で説明する。
動作クロックTRGの1周期、つまり、入力クロックCLKINの16周期が、入力クロックCLKINの周期を測定するための動作周期となる。
一方、測定期間設定回路12により、入力クロックCLKINの立ち上がりに同期して、動作クロックTRGがローレベル(L)の期間における、2〜7番目の入力クロックCLKINの6周期の期間、アクティブ状態のハイレベル(H)となるイネーブル信号ENABLEが生成される。
続いて、リングオシレータ14により、イネーブル信号ENABLEがHの期間に発振クロックRINGが生成され、カウンタ16により、イネーブル信号ENABLEがHの期間に発振する発振クロックRINGのクロック数がカウントされ、そのカウント値CNTが出力される。そして、FF20により、動作クロックTRGの立ち上がりに同期して、カウンタ16のカウント値CNTが保持され、シフト信号SHIFTとして出力される。
シフト信号SHIFT、つまり、カウント値CNTは、入力クロックCLKIN、つまり、出力クロックCLKOUTの動作周期tnの位相シフト量Shift(tn)を表す。位相シフト量Shift(tn)は、式(1)により表される。
Shift(tn)=[Ideal(tn)+Ideal(tn-1)]/2 … (1)
ここで、Idealは、出力クロックCLKOUTの理想の位相シフト量を表す。つまり、位相シフト量Shift(tn)は、動作周期tnの理想の位相シフト量とその1周期前の動作周期tn−1の理想の位相シフト量の和の平均値(2つの位相シフト量の平均値)である。
最後に、遅延ライン24により、シフト信号SHIFTに対応する位相シフト量だけ入力クロックCLKINの位相がシフトされ、出力クロックCLKOUTとして出力される。
図9は、図7に示す出力クロックCLKOUTの位相シフト量と理想の位相シフト量との間の誤差を表す一例のタイミングチャートである。
このタイミングチャートに示すように、理想の位相シフト量は、例えば、最小値から、時間の経過とともに連続的に増加して最大値に到達し、その後、時間の経過とともに連続的に減少して最小値に到達することを繰り返す。
これに対し、クロック位相シフト回路60の出力クロックCLKOUTの位相シフト量は、理想の位相シフト量から遅れて、動作周期ごとに量子化されて増減を繰り返す。
従来のクロック位相シフト回路60には、図9のタイミングチャートから分かるように、以下の(1)および(2)に示す2つの問題がある。
(1)入力クロックCLKINは連続的に周波数変調されるため、理想の位相シフト量も連続的に変化するものとなる。一方で、クロック位相シフト回路60は、入力クロックCLKINの周期を測定した後に出力クロックCLKOUTの位相シフト量を変更するという2段階のステップで動作する。そのため、出力クロックCLKOUTの位相シフト量が入力クロックCLKINの動作周期ごとに量子化され、出力クロックCLKOUTの位相シフト量と理想の位相シフト量との間に量子化の誤差が発生する。
(2)クロック位相シフト回路60が測定した入力クロックCLKINの周期は、出力クロックCLKOUTの位相シフト量の変更以前の入力クロックCLKINの位相シフト量の平均値となる。一方で、入力クロックCLKINは連続的に周波数変調されるため、出力クロックCLKOUTの位相シフト量の変更時には、既に理想の位相シフト量が変わっている。言い換えると、周期測定から位相シフト量変更までの間にタイムラグがある。そのため、出力クロックCLKOUTの位相シフト量と理想の位相シフト量との間に出力タイミングの誤差が発生する。
特開2008−172574号公報
本発明の第1の目的は、前記従来技術の問題点を解消し、周波数変調された入力クロックが入力された場合であっても、出力クロックの位相シフト量と理想の位相シフト量との間の量子化誤差を低減することができるクロック位相シフト回路を提供することにある。
本発明の第2の目的は、上記第1の目的に加えて、出力クロックの位相シフト量と理想の位相シフト量との間のタイミング誤差を低減することができるクロック位相シフト回路を提供することにある。
上記目的を達成するために、本発明は、周波数変調された入力クロックの位相を遅延ラインを使用してシフトし、出力クロックとして出力するクロック位相シフト回路であって、
前記入力クロックを分周した所定の動作周期の動作クロックに同期して動作し、前記入力クロックの所定の周期にわたる測定期間に、前記遅延ラインを構成する遅延セルと同一の遅延セルを所定の段数接続して構成されたリングオシレータにより生成された前記入力クロックよりも高周波の発振クロックのクロック数をカウントして、そのカウント値を出力する周期測定回路と、
前記動作クロックに同期して動作し、前記カウント値を前記入力クロックの動作周期tnの位相シフト量と、前記動作周期tnの位相シフト量と動作周期tn−1の位相シフト量との差分に基づいて、前記動作周期tnの位相シフト量と動作周期tn+1の位相シフト量との間を補間した補間位相シフト量を生成し、前記動作クロックのレベルに応じて、前記動作周期tnの位相シフト量と前記補間位相シフト量とを切り換えてシフト信号として出力する第1誤差補正回路とを備え、
前記遅延ラインは、所定の段数の前記遅延セルを直列に接続して構成され、前記シフト信号に対応する位相シフト量だけ前記入力クロックの位相をシフトし、前記出力クロックとして出力するものであることを特徴とするクロック位相シフト回路を提供するものである。
ここで、前記周期測定回路は、前記動作クロックに同期して動作し、前記カウント値を保持して出力するカウント値保持回路を備え、
前記第1誤差補正回路は、
前記動作クロックに同期して動作し、前記差分の平均値を算出する平均値算出回路と、
前記カウント値保持回路の出力信号と前記平均値とを加算する第1加算器と、
前記動作クロックのレベルに応じて、前記カウント値保持回路の出力信号と前記第1加算器の出力信号とを切り換えて前記シフト信号として出力する第1セレクタとを備えることが好ましい。
また、前記動作クロックに同期して動作し、前記平均値の累積加算値に基づいて、前記動作周期tnの位相シフト量が減少中なのか増加中なのかを判別し、前記動作周期tnの位相シフト量が減少中であると判別された場合に、前記動作周期tnの位相シフト量から前記平均値を減算し、前記動作周期tnの位相シフト量が増加中であると判別された場合に、前記動作周期tnの位相シフト量と前記平均値を加算する第2誤差補正回路を備え、
前記第1誤差補正回路は、前記第2誤差補正回路の出力信号に基づいて、前記シフト信号を生成するものであることが好ましい。
また、前記第2誤差補正回路は、
前記動作クロックに同期して動作し、前記平均値の累積加算値に基づいて、前記動作周期tnの位相シフト量が減少中なのか増加中なのかを判別し、増減判別信号を生成するアキュムレータと、
前記カウント値保持回路の出力信号から前記平均値を減算する第2減算器と、
前記カウント値保持回路の出力信号と前記平均値とを加算する第2加算器と、
前記第2誤差補正回路の出力信号として、前記増減判別信号に基づいて、前記動作周期tnの位相シフト量が減少中であると判別された場合に、前記第2減算器の出力信号を出力し、前記動作周期tnの位相シフト量が増加中であると判別された場合に、前記第2加算器の出力信号を出力する第2セレクタとを備えることが好ましい。
また、前記第1誤差補正回路は、前記差分に基づいて、前記動作周期tnの位相シフト量と前記動作周期tn+1の位相シフト量との間を補間した第1補間位相シフト量を生成した後、前記第1補間位相シフト量と、前記動作周期tnの位相シフト量および前記動作周期tn+1の位相シフト量の各々との間を補間した第2補間位相シフト量を生成するものであることが好ましい。
また、前記第1誤差補正回路は、前記第2補間位相シフト量を生成した後、前記差分に基づいて、前記第j補間位相シフト量(jは、2以上の整数)と、前記動作周期tnの位相シフト量および前記動作周期tn+1の位相シフト量の各々との間、ならびに、前記第1補間位相シフト量から前記第j補間位相シフト量までの補間位相シフト量同士の間を補間した第j+1補間位相シフト量を生成することを1回以上繰り返すものであることが好ましい。
また、前記平均値算出回路は、前記補間位相シフト量として、前記動作周期tn−i(iは、1以上の整数)の位相シフト量と前記動作周期tn−i−1の位相シフト量との差の平均値を算出するものであることが好ましい。
前記アキュムレータは、前記平均値算出回路が、前記補間位相シフト量として、前記動作周期tn−iの位相シフト量と前記動作周期tn−i−1の位相シフト量との差の平均値を算出することに応じて符号が反転した平均値の符号を反転させた後、前記平均値の累積加算値に基づいて、前記動作周期tnの位相シフト量が減少中なのか増加中なのかを判別するものであることが好ましい。
本発明によれば、第1誤差補正回路が、動作周期tnの位相シフト量と動作周期tn−1の位相シフト量との間を補間した補間位相シフト量を生成するため、周波数変調された入力クロックが入力された場合であっても、出力クロックの位相シフト量と理想の位相シフト量との間の量子化誤差を低減することができる。
また、本発明によれば、第2誤差補正回路が、動作周期tnの位相シフト量が減少中であると判別された場合に、動作周期tnの位相シフト量から平均値を減算し、位相シフト量が増加中であると判別された場合に、動作周期tnの位相シフト量と平均値とを加算するため、出力クロックの位相シフト量と理想の位相シフト量との間のタイミング誤差を低減することができる。
本発明のクロック位相シフト回路の構成を表す第1実施形態のブロック図である。 図1に示すクロック位相シフト回路の動作を表す一例のタイミングチャートである。 図1に示す出力クロックCLKOUTの位相シフト量と理想の位相シフト量との間の誤差を表す一例のタイミングチャートである。 本発明のクロック位相シフト回路の構成を表す第2実施形態のブロック図である。 図4に示す第2誤差補正回路の動作を表す一例の状態遷移図である。 図4に示す出力クロックCLKOUTの位相シフト量と理想の位相シフト量との間の誤差を表す一例のタイミングチャートである。 従来のクロック位相シフト回路の構成を表す一例のブロック図である。 図7に示すクロック位相シフト回路の動作を表す一例のタイミングチャートである。 図7に示す出力クロックCLKOUTの位相シフト量と理想の位相シフト量との間の誤差を表す一例のタイミングチャートである。
以下に、添付の図面に示す好適実施形態に基づいて、本発明のクロック位相シフト回路を詳細に説明する。
図1は、本発明のクロック位相シフト回路の構成を表す第1実施形態のブロック図である。同図に示すクロック位相シフト回路10は、図7に示す従来のクロック位相シフト回路60において、さらに、第1誤差補正回路22を備えている。
つまり、クロック位相シフト回路10は、測定期間設定回路12と、リングオシレータ14と、カウンタ16と、動作クロック生成回路18と、フリップフロップ(FF)20と、第1誤差補正回路22と、遅延ライン24とによって構成されている。
測定期間設定回路12には、入力クロックCLKINが入力されている。
測定期間設定回路12は、入力クロックCLKINに同期して動作し、入力クロックCLKINの周期を測定するための、入力クロックCLKINのm周期(mは、1以上の整数)にわたる測定期間を設定するイネーブル信号ENABLEを生成するものである。
本実施形態の場合、測定期間は、入力クロックCLKINの6周期に設定され、イネーブル信号ENABLEは、入力クロックCLKINに同期して、入力クロックCLKINの6周期の期間、アクティブ状態となる。
測定期間を長くするほど、入力クロックCLKINの周期の測定精度を向上させることができるが、測定に要する時間が長くなるため、出力クロックCLKOUTの位相シフト量と理想の位相シフト量との間の誤差は大きくなる。
リングオシレータ14には、イネーブル信号ENABLEが入力されている。
リングオシレータ14は、遅延ライン24を構成する遅延セル38と同一の遅延セルを所定の段数接続して構成され、イネーブル信号ENABLEがアクティブ状態の期間に、入力クロックCLKINよりも高周波の発振クロックRINGを生成するものである。
カウンタ16には、発振クロックRINGが入力されている。
カウンタ16は、イネーブル信号ENABLEがアクティブ状態の期間に発振する発振クロックRINGのクロック数をカウントし、そのカウント値CNTを出力するものである。
動作クロック生成回路18には、入力クロックCLKINが入力されている。
動作クロック生成回路18は、入力クロックCLKINに同期して動作し、入力クロックCLKINをn分周(nは、m+1以上の整数)した動作周期の動作クロックTRGを生成するものである。
動作クロックTRGは、クロック位相シフト回路10の各部の動作を制御する動作クロックとして使用される。
本実施形態の場合、動作クロックTRGは、入力クロックCLKINを16分周して生成され、その動作周期は、入力クロックCLKINの16周期分となる。
FF20のデータ入力端子Dには、カウンタ16のカウント値CNTが入力され、クロック入力端子には、動作クロックTRGが入力されている。
FF20は、本発明のカウント値保持回路の一例であり、動作クロックTRGの立ち上がりに同期して動作し、カウント値CNTを保持してデータ出力端子Qから出力するものである。
ここで、測定期間設定回路12、リングオシレータ14、カウンタ16、動作クロック生成回路18、および、FF20は、入力クロックCLKINを分周した所定の動作周期の動作クロックTRGに同期して動作し、入力クロックCLKINの所定の周期にわたる測定期間に、リングオシレータ14により生成された発振クロックRINGのクロック数をカウントして、そのカウント値CNTを出力する、本発明の周期測定回路の一例である。
第1誤差補正回路22には、動作クロックTRGおよびFF20の出力信号が入力されている。
第1誤差補正回路22は、動作クロックTRGに同期して動作し、出力クロックCLKOUTの位相シフト量と理想の位相シフト量との間の量子化誤差を補正するために、FF20の出力信号を入力クロックCLKINの動作周期tnの位相シフト量として、動作周期tnの位相シフト量と動作周期tn−1の位相シフト量との間を補間した補間位相シフト量を生成し、動作クロックTRGのレベルに応じて、動作周期tnの位相シフト量と補間位相シフト量とを切り換えてシフト信号として出力するものである。
第1誤差補正回路22は、1/2除算回路26と、2つのFF28,30と、減算器32と、加算器34と、セレクタ36とによって構成されている。
1/2除算回路26には、FF20の出力信号が入力されている。
1/2除算回路26は、FF20の出力信号を1/2に除算するものである。
FF28のデータ入力端子Dには、1/2除算回路26の出力信号が入力され、反転クロック入力端子には、動作クロックTRGが入力されている。
FF28は、本発明の第1保持回路の一例であり、動作クロックTRGの立ち下がりに同期して動作し、1/2除算回路26の出力信号を保持してデータ出力端子Qから出力するものである。
FF30のデータ入力端子Dには、FF28の出力信号が入力され、反転クロック入力端子には、動作クロックTRGが入力されている。
FF30は、本発明の第2保持回路の一例であり、動作クロックTRGの立ち下がりに同期して、FF28の出力信号を保持してデータ出力端子Qから出力するものである。
減算器32には、FF28およびFF30の出力信号が入力されている。
減算器(第1減算器)32は、FF28の出力信号から、FF30の出力信号を減算するものである。
ここで、1/2除算回路26、FF28,30、および、減算器32は、動作クロックTRGに同期して動作し、動作周期tnの位相シフト量と動作周期tn−1の位相シフト量との差の平均値(位相シフト量の変化量の半分の値)を算出する本発明の平均値算出回路の一例である。
加算器34には、減算器32の出力信号およびFF20の出力信号が入力されている。
加算器(第1加算器)34は、FF20の出力信号と減算器32の出力信号とを加算するものである。
セレクタ36の入力端子0には、加算器34の出力信号が入力され、入力端子1には、FF20の出力信号が入力され、選択入力端子には、動作クロックTRGが入力されている。
セレクタ(第1セレクタ)36は、動作クロックTRGのレベルに応じて、FF20の出力信号と加算器34の出力信号とを切り換えてシフト信号SHIFTとして出力するものである。
本実施形態の場合、セレクタ36は、シフト信号SHIFTとして、動作クロックTRGがハイレベル(H)の場合に、FF20の出力信号を出力し、動作クロックTRGがローレベル(L)の場合に、加算器34の出力信号を出力する。
最後に、遅延ライン24には、シフト信号SHIFTおよび入力クロックCLKINが入力されている。
遅延ライン24は、所定の段数の遅延セル38を直列に接続して構成され、シフト信号SHIFTに対応する位相シフト量だけ入力クロックCLKINの位相をシフトし、出力クロックCLKOUTとして出力するものである。
次に、図2に示すタイミングチャートを参照しながら、クロック位相シフト回路10の動作を説明する。
測定期間設定回路12、リングオシレータ14、カウンタ16、動作クロック生成回路18、および、FF20の動作は、従来のクロック位相シフト回路60の場合と同様である。
つまり、FF20からは、動作クロックTRGの立ち上がりに同期して、カウンタ16のカウント値CNTが出力される。カウント値CNTは、入力クロックCLKIN、つまり、出力クロックCLKOUTの動作周期tnの位相シフト量Shift(tn)=[Ideal(tn)+Ideal(tn-1)]/2を表す。
続いて、第1誤差補正回路22では、1/2除算回路26により、FF20の出力信号が1/2に除算される。
続いて、FF28により、動作クロックTRGの立ち下がりに同期して、1/2除算回路26の出力信号が保持されて出力され、FF30により、動作クロックTRGの立ち下がりに同期して、FF28の出力信号が保持されて出力される。
続いて、減算器32により、FF28の出力信号から、FF30の出力信号が減算され、加算器34により、減算器32の出力信号とFF20の出力信号とが加算される。
FF28の出力信号、つまり、1/2除算回路26の出力信号は、Shift(tn)/2を表し、FF30の出力信号は、Shift(tn-1)/2を表す。
従って、減算器32の出力信号は、[Shift(tn)-Shift(tn-1)]/2を表す。つまり、減算器32の出力信号は、動作周期tnの位相シフト量Shift(tn)とその1つ前の動作周期tn−1の位相シフト量Shift(tn-1)との差の平均値(位相シフト量の変化量の半分の値)である。
加算器34の出力信号は、Shift(tn)+[Shift(tn)-Shift(tn-1)]/2を表す。つまり、加算器34の出力信号は、動作周期tnの位相シフト量Shift(tn)に対して、動作周期tnの位相シフト量Shift(tn)とその1つ前の動作周期tn−1の位相シフト量Shift(tn-1)との差の平均値を加算したものであり、動作周期tnの位相シフト量Shift(tn)と1つ後の動作周期tn+1の位相シフト量Shift(tn+1)との間を補間した動作周期tn+0.5の位相シフト量Shift(tn+0.5)を表す。
そして、セレクタ36により、シフト信号SHIFTとして、動作クロックTRGがHの場合に、FF20の出力信号が出力、動作クロックTRGがLの場合に、加算器34の出力信号が出力される。
つまり、シフト信号SHIFTは、動作クロックTRGがHの場合に、FF20の出力信号、つまり、動作周期tnの位相シフト量Shift(tn)を表し、動作クロックTRGがLの場合に、加算器34の出力信号、つまり、動作周期tnの位相シフト量Shift(tn)と1つ後の動作周期tn+1の位相シフト量Shift(tn+1)との間を補間した動作周期tn+0.5の位相シフト量Shift(tn+0.5)を表す。
このように、第1誤差補正回路22が、動作周期tnの位相シフト量と動作周期tn−1の位相シフト量との間を補間した補間位相シフト量を生成するため、周波数変調された入力クロックCLKINが入力された場合であっても、出力クロックCLKOUTの位相シフト量と理想の位相シフト量との間の量子化誤差を低減することができる。
最後に、遅延ライン24により、シフト信号SHIFTに対応する位相シフト量だけ入力クロックCLKINの位相がシフトされ、出力クロックCLKOUTとして出力される。
カウント値CNTは、イネーブル信号ENABLEがアクティブ状態の期間、つまり、入力クロックCLKINの周期を測定するための測定期間をm、入力クロックCLKINの周期をT、発振クロックRINGの周期をtとすると、式(2)により表される。
CNT=mT/t … (2)
発振クロックRINGの周期tは、リングオシレータ14を構成する遅延セルの段数をk、遅延セル1段の遅延時間をDとすると、式(3)で表される。
t=2kD … (3)
従って、式(2)に式(3)を代入すると、式(4)で表される。
CNT=mT/2kD=m/2k*T/D … (4)
ここで、T/Dは、入力クロックCLKINの1周期が、遅延セルの何段分の遅延時間に相当するかを表すので、入力クロックCLKINを、入力クロックCLKINの1周期分だけシフトさせるために必要な遅延セル38の段数T/Dは、式(5)で表される。
T/D=m/2k*CNT … (5)
入力クロックCLKINを、入力クロックCLKINの1周期分だけシフトさせるために必要な遅延セル38の段数T/Dは、例えば、入力クロックCLKINの周期を測定するための測定期間m=6、リングオシレータ14を構成する遅延セルの段数k=6とすると、式(6)で表される。
T/D=6/(2*6)*CNT=CNT/2 … (6)
このように、入力クロックCLKINの周期を測定するための測定期間mと、リングオシレータ14を構成する遅延セルの段数kとが同一の値、もしくは、m/2kの演算結果が割り切れるように設定されている場合、m/2kの演算を簡略化することができるため、入力クロックCLKINを、入力クロックCLKINの1周期分だけシフトさせるために必要な遅延セルの段数T/Dを求める演算回路を簡略化することができる。
これに対し、入力クロックCLKINの周期を測定するための測定期間mと、リングオシレータ14を構成する遅延セルの段数kとが、m/2kの演算結果が割り切れるように設定されていない場合、その端数は、切り捨てる、もしくは、切り上げることができる。言い換えると、遅延ライン24では、例えば、m/2k*T/Dの演算結果の整数部分に対応する段数の遅延セルが使用される。
前述のように、クロック位相シフト回路10は、DDR−SDRAMやRSDS等のインターフェイス回路において、DDR−SDRAMやRSDS等に入力される入力クロックとデータとの間のタイミングを調整するために使用される。DDR−SDRAMやRSDS等は、入力クロックとデータとの間のタイミングが、理想のタイミングから遅延セル1個分の遅延時間ずれたとしても動作許容範囲内であり、問題なく動作する。
また、入力クロックCLKINを、入力クロックCLKINの1周期分だけ遅延させるために必要な遅延セルの段数T/Dから、入力クロックCLKINの、1/2周期、1/4周期、1/8周期、1/16周期、…等のように、所望の位相シフト量に応じて、入力クロックCLKINが通過する遅延ライン24の遅延セル38の段数を設定することにより、入力クロックCLKINの位相を所望の位相シフト量だけシフトさせることができる。
また、プロセス条件、電源電圧、温度等の変動により遅延セルの遅延時間が増減したとしても、リングオシレータ14を構成する遅延セルが、遅延ライン24を構成する遅延セル38と同一の遅延セルを使用して構成されているため、リングオシレータ14の遅延セルの遅延時間は、遅延ライン24の遅延セル38の遅延時間と同様に変動する。従って、クロック位相シフト回路10では、プロセス条件、電源電圧、温度等の変動の影響を受けることなく、入力クロックCLKINの周期を測定することができる。
図3は、図1に示す出力クロックCLKOUTの位相シフト量と理想の位相シフト量との間の誤差を表す一例のタイミングチャートである。このタイミングチャートの縦軸は、出力クロックCLKOUTの位相シフト量、横軸は、時間(動作周期)の経過を表す。
このタイミングチャートに示すように、理想の位相シフト量は、例えば、最小値から、時間の経過とともに連続的に増加して最大値に到達し、その後、時間の経過とともに連続的に減少して最小値に到達することを繰り返す。
これに対し、クロック位相シフト回路10の出力クロックCLKOUTの位相シフト量は、動作周期ごとに量子化されて増減を繰り返す。
しかし、動作周期tnの位相シフト量と動作周期tn−1の位相シフト量との間を補間した補間位相シフト量が生成されているため、クロック位相シフト回路10の出力クロックCLKOUTの位相シフト量は、従来のクロック位相シフト回路60の出力クロックCLKOUTの位相シフト量と比べて、量子化誤差が低減されている。
次に、第2の実施形態のクロック位相シフト回路について説明する。
図4は、本発明のクロック位相シフト回路の構成を表す第2実施形態のブロック図である。同図に示す第2実施形態のクロック位相シフト回路40は、図1に示す第1実施形態のクロック位相シフト回路10において、さらに、第2誤差補正回路42を備えている。
つまり、クロック位相シフト回路40は、測定期間設定回路12と、リングオシレータ14と、カウンタ16と、動作クロック生成回路18と、FF20と、第1誤差補正回路22と、第2誤差補正回路42と、遅延ライン24とによって構成されている。
測定期間設定回路12、リングオシレータ14、カウンタ16、動作クロック生成回路18、FF20、第1誤差補正回路22、および、遅延ライン24については、その繰り返しの説明を省略する。
第2誤差補正回路42には、動作クロックTRG、FF20の出力信号および減算器32の出力信号が入力されている。
第2誤差補正回路42は、動作クロックTRGに同期して動作し、出力クロックCLKOUTの位相シフト量と理想の位相シフト量との間のタイミング誤差を補正するために、減算器32の出力信号、つまり、前述の平均値の累積加算値に基づいて、動作周期tnの位相シフト量が減少中なのか増加中なのかを判別し、動作周期tnの位相シフト量が減少中であると判別された場合に、動作周期tnの位相シフト量から平均値を減算し、動作周期tnの位相シフト量が増加中であると判別された場合に、動作周期tnの位相シフト量と平均値とを加算するものである。
第2誤差補正回路42は、アキュムレータ44と、減算器46と、加算器48と、セレクタ50とによって構成されている。
アキュムレータ44には、動作クロックTRGおよび減算器32の出力信号が入力されている。
アキュムレータ44は、動作クロックTRGに同期して動作し、減算器32の出力信号を累積加算し、その累積加算値に基づいて、動作周期tnの位相シフト量が減少中なのか増加中なのかを判別し、増減判別信号UDを生成するものである。
アキュムレータ44は、減算器32の出力信号を累積加算する場合に、累積加算値の最小値(つまり、位相シフト量の最小値)および最大値(つまり、位相シフト量の最大値)を保存しておく。増減判別信号UDは、本実施形態の場合、動作周期tnの累積加算値ACM(tn)が、累積加算値の最小値−1のACM(tnmin-1)となった場合に、Hとなり、累積加算値の最大値−1のACM(tnmax-1)となった場合に、Lとなる。
減算器46には、FF20の出力信号および減算器32の出力信号が入力されている。
減算器(第2減算器)46は、FF20の出力信号から、減算器32の出力信号を減算するものである。
加算器48には、FF20の出力信号および減算器32の出力信号が入力されている。
加算器(第2加算器)48は、FF20の出力信号と減算器32の出力信号とを加算するものである。
セレクタ50の入力端子0には、減算器46の出力信号が入力され、入力端子1には、加算器48の出力信号が入力され、選択入力端子には、増減判別信号UDが入力されている。
セレクタ(第2セレクタ)50は、第2誤差補正回路42の出力信号として、増減判別信号UDに基づいて、動作周期tnの位相シフト量が減少中であると判別された場合に、減算器46の出力信号を出力し、動作周期tnの位相シフト量が増加中であると判別された場合に、加算器48の出力信号を出力するものである。
次に、クロック位相シフト回路40の動作を説明する。
測定期間設定回路12、リングオシレータ14、カウンタ16、動作クロック生成回路18、および、FF20の動作は、従来のクロック位相シフト回路60の場合と同様である。
つまり、FF20からは、動作クロックTRGの立ち上がりに同期して、カウンタ16のカウント値CNTが出力される。カウント値CNTは、動作周期tnの位相シフト量[Ideal(tn)+Ideal(tn-1)]/2を表す。
続いて、第2誤差補正回路42では、アキュムレータ44により、動作クロックTRGに同期して、減算器32の出力信号が累積加算される。
図5の状態遷移図に示すように、動作周期tnの累積加算値ACM(tn)が、累積加算値の最大値−1のACM(tnmax-1)になると、次の動作周期から入力クロックCLKINの位相シフト量が減少すると判別されて増減判別信号UDがLとなる。
一方、動作周期tnの累積加算値ACM(tn)が、累積加算値の最小値−1のACM(tnmin-1)になると、次の動作周期から入力クロックCLKINの位相シフト量が増加すると判別され、増減判別信号UDがHとなる。
一方、減算器46により、FF20の出力信号から、減算器32の出力信号が減算され、加算器48により、FF20の出力信号と減算器32の出力信号とが加算される。
そして、セレクタ50により、測定期間tnの入力クロックCLKINの位相シフト量Shift(tn)として、増減判別信号UDがLの場合に、減算器46の出力信号が出力され、増減判別信号UDがHの場合に、加算器48の出力信号が出力される。
前述のように、FF20の出力信号、つまり、カウント値CNTは、動作周期tnの入力クロックCLKINの位相シフト量[Ideal(tn)+Ideal(tn-1)]/2を表し、減算器32の出力信号は、[Shift(tn)-Shift(tn-1)]/2を表す。
従って、減算器46の出力信号は、Shift(tn)=[Ideal(tn)+Ideal(tn-1)]/2-[Shift(tn)-Shift(tn-1)]/2を表す。つまり、減算器46の出力信号は、動作周期tnの入力クロックCLKINの位相シフト量[Ideal(tn)+Ideal(tn-1)]/2から、動作周期tnの入力クロックCLKINの位相シフト量Shift(tn)と1つ前の動作周期tn−1の入力クロックCLKINの位相シフト量Shift(tn-1)との差の平均値(位相シフト量の変化量の半分の値)を減算したものである。
加算器48の出力信号は、Shift(tn)=[Ideal(tn)+Ideal(tn-1)]/2+[Shift(tn)-Shift(tn-1)]/2を表す。つまり、加算器48の出力信号は、動作周期tnの入力クロックCLKINの位相シフト量[Ideal(tn)+Ideal(tn-1)]/2に対して、動作周期tnの入力クロックCLKINの位相シフト量Shift(tn)と1つ前の動作周期tn−1の入力クロックCLKINの位相シフト量Shift(tn-1)との差の平均値(位相シフト量の変化量の半分の値)を加算したものである。
図3のタイミングチャートに示すように、出力クロックCLKOUTの位相シフト量と理想の位相シフト量との間には出力タイミングの誤差がある。そのため、出力クロックCLKOUTの動作周期tnの位相シフト量は、位相シフト量が減少中の場合に、同じ動作周期tnの理想の位相シフト量よりも大きくなり、位相シフト量が増加中の場合に、同じ動作周期tnの理想の位相シフト量よりも小さくなる。
従って、上記のように、第2誤差補正回路42が、動作周期tnの位相シフト量が減少中であると判別された場合に、動作周期tnの位相シフト量からタイミング誤差に相当する平均値を減算し、動作周期tnの位相シフト量が増加中であると判別された場合に、動作周期tnの位相シフト量とタイミング誤差に相当する平均値とを加算することにより、出力クロックCLKOUTの位相シフト量と理想の位相シフト量との間のタイミング誤差を低減することができる。
第1誤差補正回路22の動作は、クロック位相シフト回路10の場合と同様である。
図6は、図4に示す出力クロックCLKOUTの位相シフト量と理想の位相シフト量との間の誤差を表す一例のタイミングチャートである。
このタイミングチャートに示すように、クロック位相シフト回路40の出力クロックCLKOUTの位相シフト量は、クロック位相シフト回路10の場合と同様に、量子化誤差が低減され、かつ、動作周期tnの位相シフト量が減少中であると判別された場合に、動作周期tnの位相シフト量から平均値が減算され、動作周期tnの位相シフト量が増加中であると判別された場合に、動作周期tnの位相シフト量と平均値とが加算されているため、従来のクロック位相シフト回路60の出力クロックCLKOUTの位相シフト量と比べて、理想の位相シフト量との間のタイミグ誤差が低減されている。
なお、第1誤差補正回路22は、動作周期tnの位相シフト量と動作周期tn−1の位相シフト量との間を補間した第1補間位相シフト量を生成した後、第1補間位相シフト量と、動作周期tnの位相シフト量および動作周期tn−1の位相シフト量の各々との間を補間した第2補間位相シフト量を生成してもよい。これにより、量子化誤差をさらに低減することができる。
例えば、第1誤差補正回路22は、動作周期tnの位相シフト量と動作周期tn−1の位相シフト量との間を補間した動作周期tn−0.5の第1補間位相シフト量を生成した後、動作周期tn−0.5の第1位相シフト量と、動作周期tnの位相シフト量および動作周期tn−1の位相シフト量の各々との間を補間した動作周期tn−0.75およびtn−0.25の第2補間位相シフト量を生成することができる。
さらに、第1誤差補正回路22は、第2補間位相シフト量を生成した後、第j補間位相シフト量(jは、2以上の整数)と、動作周期tnの位相シフト量および動作周期tn−1の位相シフト量の各々との間、ならびに、第1補間位相シフト量から第j補間位相シフト量までの補間位相シフト量同士の間を補間した第j+1補間位相シフト量を生成することを1回以上繰り返してもよい。
また、第1誤差補正回路22は、FF20の出力信号を入力クロックCLKINの動作周期tnの位相シフト量として、動作周期tn−i(iは、1以上の整数)の位相シフト量と動作周期tn−i−1の位相シフト量との間を補間した補間位相シフト量を生成してもよい。つまり、平均値算出回路は、補間位相シフト量として、動作周期tn−iの位相シフト量と動作周期tn−i−1の位相シフト量との差の平均値tn−iを算出してもよい。
入力クロックCLKINは連続的に変化するため、連続する動作周期tn−iおよびtn−i−1の位相シフト量同士の間を補間すれば、同じ補間位相シフト量を得ることができる。
一方、アキュムレータ44は、減算器32の出力信号、つまり、平均値算出回路の出力信号である平均値の累積加算値に基づいて、動作周期tnの位相シフト量が減少中なのか増加中なのかを判別する。そのため、アキュムレータ44は、平均値算出回路が、どの動作周期の位相シフト量に基づいて補間位相シフト量を算出するのかに基づいて、動作周期tnの位相シフト量が減少中なのか増加中なのかを判別する必要がある。
例えば、第1誤差補正回路22が、図3に示すタイミングチャートの動作周期t5において、平均値算出回路が、動作周期t5およびt4の間を補間して補間位相シフト量を生成する場合、動作周期t5およびt4の間の位相シフト量は減少中である。これに対し、平均値算出回路が、動作周期t4およびt3の間を補間して補間位相シフト量を生成する場合、動作周期t4およびt3の間の位相シフト量は増加中となる。
このように、動作周期tn−iの位相シフト量と動作周期tn−i−1の位相シフト量との間を補間した補間位相シフト量を生成すると、生成した補間位相シフト量の符号(極性)が反転する場合がある。そのため、アキュムレータ44は、符号が反転した補間位相シフト量、つまり、平均値の符号を反転した後、平均値の累積加算値に基づいて、動作周期tnの位相シフト量が減少中なのか増加中なのかを判別する必要がある。
また、測定期間設定回路12、リングオシレータ14、カウンタ16、動作クロック生成回路18、カウント値保持部20、第1誤差補正回路22、第2誤差補正回路42、および、遅延ライン24の具体的な構成は何ら限定されず、同様の機能を実現することができる各種構成のものが利用可能である。また、各信号の極性も何ら限定されず、各信号の極性に応じて回路構成を適宜変更することができる。
リングオシレータ14が、イネーブル信号ENABLEがアクティブ状態の期間にのみ、発振クロックRINGを生成することは必須ではなく、発振クロックRINGを常時生成してもよい。この場合、カウンタ16は、イネーブル信号ENABLEがアクティブ状態の期間に発振する発振クロックRINGをカウントするのではなく、イネーブル信号ENABLEがアクティブ状態の期間に、発振クロックRINGのクロック数をカウントする。
本発明は、基本的に以上のようなものである。
以上、本発明について詳細に説明したが、本発明は上記実施形態に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのはもちろんである。
10、40 クロック位相シフト回路
12 測定期間設定回路
14 リングオシレータ
16 カウンタ
18 動作クロック生成回路
20、28,30 フリップフロップ(FF)
22 第1誤差補正回路
24 遅延ライン
26 1/2除算回路
32、46 減算器
34、48 加算器
36、50 セレクタ
38 遅延セル
42 第2誤差補正回路
44 アキュムレータ

Claims (8)

  1. 周波数変調された入力クロックの位相を遅延ラインを使用してシフトし、出力クロックとして出力するクロック位相シフト回路であって、
    前記入力クロックを分周した所定の動作周期の動作クロックに同期して動作し、前記入力クロックの所定の周期にわたる測定期間に、前記遅延ラインを構成する遅延セルと同一の遅延セルを所定の段数接続して構成されたリングオシレータにより生成された前記入力クロックよりも高周波の発振クロックのクロック数をカウントして、そのカウント値を出力する周期測定回路と、
    前記動作クロックに同期して動作し、前記カウント値を前記入力クロックの動作周期tnの位相シフト量と、前記動作周期tnの位相シフト量と動作周期tn−1の位相シフト量との差分に基づいて、前記動作周期tnの位相シフト量と動作周期tn+1の位相シフト量との間を補間した補間位相シフト量を生成し、前記動作クロックのレベルに応じて、前記動作周期tnの位相シフト量と前記補間位相シフト量とを切り換えてシフト信号として出力する第1誤差補正回路とを備え、
    前記遅延ラインは、所定の段数の前記遅延セルを直列に接続して構成され、前記シフト信号に対応する位相シフト量だけ前記入力クロックの位相をシフトし、前記出力クロックとして出力するものであることを特徴とするクロック位相シフト回路。
  2. 前記周期測定回路は、前記動作クロックに同期して動作し、前記カウント値を保持して出力するカウント値保持回路を備え、
    前記第1誤差補正回路は、
    前記動作クロックに同期して動作し、前記差分の平均値を算出する平均値算出回路と、
    前記カウント値保持回路の出力信号と前記平均値とを加算する第1加算器と、
    前記動作クロックのレベルに応じて、前記カウント値保持回路の出力信号と前記第1加算器の出力信号とを切り換えて前記シフト信号として出力する第1セレクタとを備える請求項1に記載のクロック位相シフト回路。
  3. 前記動作クロックに同期して動作し、前記平均値の累積加算値に基づいて、前記動作周期tnの位相シフト量が減少中なのか増加中なのかを判別し、前記動作周期tnの位相シフト量が減少中であると判別された場合に、前記動作周期tnの位相シフト量から前記平均値を減算し、前記動作周期tnの位相シフト量が増加中であると判別された場合に、前記動作周期tnの位相シフト量と前記平均値を加算する第2誤差補正回路を備え、
    前記第1誤差補正回路は、前記第2誤差補正回路の出力信号に基づいて、前記シフト信号を生成するものである請求項2に記載のクロック位相シフト回路。
  4. 前記第2誤差補正回路は、
    前記動作クロックに同期して動作し、前記平均値の累積加算値に基づいて、前記動作周期tnの位相シフト量が減少中なのか増加中なのかを判別し、増減判別信号を生成するアキュムレータと、
    前記カウント値保持回路の出力信号から前記平均値を減算する第2減算器と、
    前記カウント値保持回路の出力信号と前記平均値とを加算する第2加算器と、
    前記第2誤差補正回路の出力信号として、前記増減判別信号に基づいて、前記動作周期tnの位相シフト量が減少中であると判別された場合に、前記第2減算器の出力信号を出力し、前記動作周期tnの位相シフト量が増加中であると判別された場合に、前記第2加算器の出力信号を出力する第2セレクタとを備える請求項3に記載のクロック位相シフト回路。
  5. 前記第1誤差補正回路は、前記差分に基づいて、前記動作周期tnの位相シフト量と前記動作周期tn+1の位相シフト量との間を補間した第1補間位相シフト量を生成した後、前記第1補間位相シフト量と、前記動作周期tnの位相シフト量および前記動作周期tn+1の位相シフト量の各々との間を補間した第2補間位相シフト量を生成するものである請求項1〜4のいずれか1項に記載のクロック位相シフト回路。
  6. 前記第1誤差補正回路は、前記第2補間位相シフト量を生成した後、前記差分に基づいて、前記第j補間位相シフト量(jは、2以上の整数)と、前記動作周期tnの位相シフト量および前記動作周期tn+1の位相シフト量の各々との間、ならびに、前記第1補間位相シフト量から前記第j補間位相シフト量までの補間位相シフト量同士の間を補間した第j+1補間位相シフト量を生成することを1回以上繰り返すものである請求項5に記載のクロック位相シフト回路。
  7. 前記平均値算出回路は、前記補間位相シフト量として、前記動作周期tn−i(iは、1以上の整数)の位相シフト量と前記動作周期tn−i−1の位相シフト量との差の平均値を算出するものである請求項4に記載のクロック位相シフト回路。
  8. 前記アキュムレータは、前記平均値算出回路が、前記補間位相シフト量として、前記動作周期tn−iの位相シフト量と前記動作周期tn−i−1の位相シフト量との差の平均値を算出することに応じて符号が反転した平均値の符号を反転させた後、前記平均値の累積加算値に基づいて、前記動作周期tnの位相シフト量が減少中なのか増加中なのかを判別するものである請求項7に記載のクロック位相シフト回路。
JP2013193931A 2013-09-19 2013-09-19 クロック位相シフト回路 Active JP6284727B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013193931A JP6284727B2 (ja) 2013-09-19 2013-09-19 クロック位相シフト回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013193931A JP6284727B2 (ja) 2013-09-19 2013-09-19 クロック位相シフト回路

Publications (2)

Publication Number Publication Date
JP2015061213A JP2015061213A (ja) 2015-03-30
JP6284727B2 true JP6284727B2 (ja) 2018-02-28

Family

ID=52818406

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013193931A Active JP6284727B2 (ja) 2013-09-19 2013-09-19 クロック位相シフト回路

Country Status (1)

Country Link
JP (1) JP6284727B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4371112B2 (ja) * 2006-02-21 2009-11-25 ソニー株式会社 デジタルdll回路
JP2008172574A (ja) * 2007-01-12 2008-07-24 Kawasaki Microelectronics Kk クロック位相シフト回路
JP2011040803A (ja) * 2009-08-06 2011-02-24 Kawasaki Microelectronics Inc Dll回路
JP2013183415A (ja) * 2012-03-05 2013-09-12 Elpida Memory Inc 半導体装置及びクロック信号の位相調整方法

Also Published As

Publication number Publication date
JP2015061213A (ja) 2015-03-30

Similar Documents

Publication Publication Date Title
JP4536610B2 (ja) 半導体試験装置
CN102388536B (zh) 基准频率产生装置
KR100879587B1 (ko) 자주 링 발진기를 사용한 임의 파형 합성기
CN104753499B (zh) 占空比校准电路
US8536911B1 (en) PLL circuit, method of controlling PLL circuit, and digital circuit
JP6990313B2 (ja) 半導体集積回路
WO2011161737A1 (ja) デジタル位相差検出器およびそれを備えた周波数シンセサイザ
KR20140082356A (ko) 지연 고정 루프 및 반도체 장치
US9130578B2 (en) PLL circuit
KR101297413B1 (ko) 적응형 클럭 생성 장치 및 방법
JP6284727B2 (ja) クロック位相シフト回路
JP2019024060A5 (ja)
JP2008172574A (ja) クロック位相シフト回路
JP5579099B2 (ja) クロック生成装置及びDLL(DigitalLockedLoop)回路及びクロック生成方法
JP5225299B2 (ja) スペクトラム拡散クロックジェネレータ
JP5999532B2 (ja) Pll回路
JP5638376B2 (ja) Pll回路
JP2011004248A (ja) 半導体集積回路
JP2011205165A (ja) 半導体装置及び遅延量調整方法
JP2013077868A (ja) Pll回路
JP5413151B2 (ja) デジタル遅延回路及びデジタル遅延回路の制御方法
JP2013197808A (ja) 位相同期回路および位相比較方法
JP4929387B2 (ja) デジタルpll回路とその制御方法
JP4681667B2 (ja) Pll回路
JP5803568B2 (ja) 位相同期回路及び位相同期回路制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160802

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170410

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170620

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170809

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180123

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180131

R150 Certificate of patent or registration of utility model

Ref document number: 6284727

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250