説明

クロック生成装置及びDLL(DigitalLockedLoop)回路及びクロック生成方法

【課題】回路規模が小さく、また設計が容易な構成にて、高精度なクロックを生成するDLL回路を実現する。
【解決手段】DLL回路は、外部から入力される動作クロックclksと前記動作クロックと周波数が異なるもしくは等しい入力クロックと所望の周波数を表す設定値kから前記動作クロック周波数の前記設定値k分の一の周波数を有する生成クロックclkcを生成するクロック生成部100と、前記生成クロックclkcと外部から入力される参照クロックclkrの位相差を比較し、その位相差を出力する位相比較部200と、前記位相比較部200の出力である位相差から、前記位相差を“0”とするように前記設定値kへ補正をする補正値を生成し、前記設定値kへ補正値を加算する補正部300とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、動作クロックに基づいて任意の周波数のクロックを生成する技術に関する。
【背景技術】
【0002】
本発明に関連する技術として、例えば、特許文献1で開示されているタイミング信号発生回路がある。
特許文献1で開示されているタイミング信号発生回路は、入力クロックに対し可変遅延を付加し、それを分周することで任意の周波数を生成している。
可変遅延とは、例えば、遅延線などのタップ型遅延段のことであり、遅延を付加するとはタップ型遅延段の各タップの出力を1つ選択すること、分周とは選択したタップ出力を1/(2^n)することである。
しかし、前記の構成では、生成周波数の分解能(精度)が使用する可変遅延の最小遅延量に依存してしまい荒くなるという課題がある。
また、特許文献1では、可変遅延を4相クロック生成回路(DLL(Digital Locked Loop)構成を想定)と位相インタポレータで構成する方法も開示されている(図26を参照)。
この構成では、位相インタポレータによって任意の遅延(位相ズレ)を生成できるため、前記した生成周波数の分解能(精度)が荒くなるという課題が解決される。
しかし、この構成の場合、4相クロック生成回路と位相インタポレータを使用するため、回路規模が大きく、設計も複雑という課題がある。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2000−196418号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
以上より、従来技術では、広範囲の周波数を生成することが可能であるが(周波数レンジが広い)、回路規模を小さく、かつ設計を容易にする場合は生成周波数の分解能(精度)が悪くなり、精度を良くする場合は回路規模が大きく、かつ設計が複雑となる。
つまり、従来技術では、生成周波数の精度、回路規模、設計の容易性を両立させることが不可能である。
【0005】
この発明は、このような課題を解決することを主な目的の一つとしており、回路規模が小さく、また設計が容易な構成にて、高精度なクロックを生成することを主な目的とする。
【課題を解決するための手段】
【0006】
本発明に係るクロック生成装置は、
外部から所定の周波数の動作クロックを入力し、更に、外部から設定値を入力し、入力した前記設定値を前記動作クロックの周期で累算し、累算結果から、位相調整の対象となる基準クロックと、遅延量を制御する第1の制御信号と、位相調整のタイミングを制御する第2の制御信号を生成する累算部と、
外部から所定の周波数のクロックを入力クロックとして入力し、前記累算部により生成された前記第1の制御信号を入力し、前記第1の制御信号によって制御される遅延量を前記入力クロックに与えて、前記入力クロックの遅延クロックを生成する可変遅延部と、
前記累算部により生成された前記基準クロックと前記第2の制御信号を入力し、前記可変遅延部により生成された遅延クロックを入力し、前記第2の制御信号をイネーブルとして前記基準クロックの位相を前記遅延クロックで調整し、前記動作クロックの周波数を(前記設定値の2倍)で除算して得られる周波数を有するクロックを生成する位相調整部とを有することを特徴とする。
【発明の効果】
【0007】
本発明によれば、回路規模が小さく、また設計が容易な構成にて、高精度なクロックを生成することができる。
【図面の簡単な説明】
【0008】
【図1】実施の形態1のDLL回路構成を説明するためのブロック図である。
【図2】実施の形態1における累算部110の構成を説明するためのブロック図である。
【図3】実施の形態1における累算部110内の累算器111の動作を説明するための図である。
【図4】実施の形態1における累算部110内の累算器111の動作と設定値kの関係を説明するための図である。
【図5】実施の形態1における累算部110内の基準クロックclka生成部113の動作を説明するための図である。
【図6】実施の形態1における可変遅延部120の構成を説明するためのブロック図である。
【図7】実施の形態1における遅延素子121への入力と出力の関係を説明するための図である。
【図8】実施の形態1における位相調整部130の構成を説明するためのブロック図である。
【図9】実施の形態1における位相調整部130の動作を説明するための図である。
【図10】実施の形態1のDLL回路における生成クロックclkcの精度を示すための図である。
【図11】実施の形態2のDLL回路構成を説明するためのブロック図である。
【図12】実施の形態2における累算部110の構成を説明するためのブロック図である。
【図13】実施の形態2における累算部110内の累算器111の動作を説明するための図である。
【図14】実施の形態2におけるパルス生成部140の構成を説明するためのブロック図である。
【図15】実施の形態2における位相調整部130の構成を説明するためのブロック図である。
【図16】実施の形態2における位相調整部130の動作を説明するための図である。
【図17】実施の形態2における周波数比較部400の構成を説明するためのブロック図である。
【図18】実施の形態2における補正部300の構成を説明するためのブロック図である。
【図19】実施の形態3のDLL回路構成を説明するためのブロック図である。
【図20】実施の形態3における累算部110の構成を説明するためのブロック図である。
【図21】実施の形態3におけるクロック選択部150の構成を説明するためのブロック図である。
【図22】実施の形態3のDLL回路の動作を説明するための図である。
【図23】実施の形態4の構成を説明するためのブロック図である。
【図24】実施の形態5の構成を説明するためのブロック図である。
【図25】実施の形態6の構成を説明するためのブロック図である。
【図26】従来技術の概略図。
【発明を実施するための形態】
【0009】
実施の形態1〜3では、上記の課題を解決するためのDLL(Digital Locked Loop)回路を説明する。
実施の形態1〜3に係るDLL回路は、クロック生成部と、位相比較部と、補正部を備える。
クロック生成部は、
動作クロックで動作し、設定値を累算し、第1のクロックを生成する累算部と、
入力クロックもしくはパルスを累算部によって制御される遅延量分遅延させ、第2のクロックを生成する可変遅延部と、
前記累算部により制御されるタイミングによって前記第1のクロックの位相を前記第2のクロックで補正する位相補正部を有し、
動作クロック周波数の(前記設定値の2倍)分の一の周波数を有する生成クロックを生成する。
また、位相比較部は、前記生成クロックと、外部から入力される参照クロックの位相差を比較し、その位相差を出力する。
また、補正部は、前記位相比較部の出力である位相差から、前記位相差を“0”とするように前記設定値を補正する補正値を生成し、前記設定値へ補正値を加算する。
【0010】
上記構成の実施の形態1〜3によるDLL回路は、クロック生成を累算部で実施するため、上限を動作クロック周波数の1/2として、累算部のビット数分の広範囲の周波数を生成可能であり、かつ、可変遅延部生成のクロックを利用して生成クロックの位相を調整するため、生成クロックを高精度で生成可能である。
更に、クロック生成部を論理設計可能な累算部と可変遅延部と位相調整部で構成するため、設計が容易であり、多ビットカウンタ1個で構成できるため、小回路規模である。
【0011】
また、実施の形態4〜6では、実施の形態1〜3で説明するクロック生成部単独で構成されているDLL回路を説明する。
【0012】
実施の形態1.
図1は、実施の形態1によるDLL回路の構成例を示している。
図1のDLL回路は、クロック生成部100と、位相比較部200、補正部300から構成され、入力は設定値k(実数)と、動作クロックclks、参照クロックclkr、動作クロックの2倍速クロックclks2(周波数が2倍)であり、出力は生成クロックclkcである。
更に、クロック生成部100は、累算部110と、可変遅延部120、位相調整部130から構成される。
図1の設定値kは実数値であり、動作クロック周波数を生成クロック周波数の2倍で除算して求める。
例えば、動作クロック周波数が500MHzであり、生成クロック周波数が160MHzである場合、設定値kは500MHz/(160MHz×2)=1.5625となる。この計算により、設定値kは、生成クロックの半周期が動作クロック何周期分かを表している。前記計算では、生成クロック周波数160MHzの半周期は動作クロック500MHzの1.5625周期分となる。
なお、クロック生成部100は、クロック生成装置の例である。
【0013】
図2は、実施の形態1の前記累算部110の構成例を示している。
図2の累算部110は、累算器111と、検出部112、基準クロックclka生成部113、制御信号C1生成部114から構成される。
制御信号C1生成部114は、第1制御信号生成部に相当し、検出部112は第2制御信号生成部に相当する。
【0014】
前記累算器111は、動作クロックclksによって動作し、入力である設定値kを累算する。
図3に累算器111の動作タイミングチャートを示す。
累算器111は、設定値kを動作クロックclksによって累算するため、累算器111の結果は、累算器111のビット幅以内までは直線的に変化し、ビット幅を超えると“0”に戻る、という推移を繰り返す。
よって、この動作を連続して実施すれば、累算器111の結果は、図3に示すように、のこぎり波のような推移となる。
また、累算器111の直線変化は、設定値kの値を変更すると傾きが変化し、図4に示すように、設定値kが小さければ緩やかに、設定値kが大きければ急峻になる。
【0015】
図2の検出部112は、累算器111結果が累算器111のビット幅(すなわち、累算器111のビット幅で表示可能な最大ビット値)を超えたことを検出する度に、その検出したことを示すパルス信号を制御信号C2(第2の制御信号に相当)として出力する(制御信号C2をアサートする)。
制御信号C2は、位相調整のタイミングを制御するための信号である。
累算器111の結果のビット幅越えの検出は、例えば、累算器111の最上位ビットの桁上がりや、累算器111の結果と累算器111のビット幅の最大値とを比較するなどで検出する。
【0016】
図2の基準クロックclka生成部113は、制御信号C2の入力タイミングによって、現在の基準クロックclka値を反転し、その反転信号を次の基準クロックclkaとして出力する。
基準クロックclkaは次の制御信号C2入力タイミングまで値を保持する。
基準クロックclkaは、位相調整の対象となるクロックである。
図5に基準クロックclkaと制御信号C2の動作波形を示す。
例えば、現在の基準クロックclkaが“1”である場合、ビット幅超え検出のタイミングにおいて“1”を“0”へ反転し、次の基準クロックclkaとする。
そして、次のビット幅超え検出タイミングまでその値を保持する。
このように、基準クロックclka生成部113は、制御信号C2のアサートタイミングの間隔をエッジ間隔とする基準クロックclkaを生成する。
また、基準クロックclkaは、累算器111のMSB(Most Significant Bit)の変化をそのまま利用してもよい。
【0017】
図2の制御信号C1生成部114は、制御信号C2の入力タイミングによって、累算器111の小数部分を取得し、取得した小数部分を制御信号C1(第1の制御信号に相当)として出力する。
制御信号C1は、次の制御信号C2入力タイミングまで値を保持する。
制御信号C1は、可変遅延部120における遅延量を制御するための信号である。
ビット幅を超えたときの累算器111の結果が小数部を有する理由は、設定値kが実数値であるためである(前述の例では、K=1.5625)。
このように、制御信号C1生成部114は、検出部112により制御信号C2がアサートされた際の設定値の小数値を特定し、特定した小数値を通知する制御信号C1を生成し、出力する。
なお、小数部分の取得は、制御信号C2で累算器111の小数値をマスクすれば、ビット幅を超えたときの累算器111の小数値が得られる。
【0018】
図6は、実施の形態1の前記可変遅延部120の構成を示している。
図6の可変遅延部120は、複数の遅延素子121と、セレクタ122、変換部123から構成される。
遅延素子121は、外部から入力される動作クロックの2倍速クロックclks2に遅延を加えるもので、それを複数個直列に接続しており、遅延素子121を1個毎に出力端子を有する。
これは、よくある遅延線などでも代用可能である。
【0019】
図7に遅延素子121の直列接続の動作タイミングチャートを示す。
遅延素子121を通過する毎に入力されたクロックが遅延素子121一個分の遅延量で遅延される。
図6の変換部123は、累算部110から出力される制御信号C1からセレクタ122が遅延素子121の出力端子を選択するためのセレクト値を生成する。
セレクト値は、以下の方法で生成する。動作クロックclks1周期分遅延させる遅延量を上限値として、それだけ遅延させるために必要な遅延素子121の段数をコード値として保持する。
制御信号C1は、動作クロックclksでカウントできない小数値であるから、動作クロックclksの1周期を遅延量“1”とした場合の、必要な遅延量を表している。
例えば、制御信号C1が“0.5”であるならば、必要な遅延量は動作クロックclksの1周期の半周期分であり、“0.2”ならば動作クロックclksの1周期の0.2周期分である。
制御信号C1が示す必要遅延量に相当する遅延量を得られる遅延素子121の段数をコード値から選択する。
これは、制御信号C1を参照値として ルックアップテーブルなどから選択してもよいし、遅延量の上限値となるコード値と制御信号C1を乗算しても求められるためそれでもよい。
以上によって得られたコード値をセレクト値として出力する。
この動作は制御信号C1が入力される度に実施し、次に制御信号C1が入力されるタイミングまではセレクト値は保持される。
図6のセレクタ122は、変換部123出力のセレクト値によって、前記遅延素子121の直列接続の出力端子の内から1つ選択し、選択した出力端子から出力される信号を遅延クロックclkdとして出力する。
このように、可変遅延部120は、外部から所定の周波数のクロックを入力クロックとして入力し、累算部110により生成された制御信号C1を入力し、制御信号C1によって制御される遅延量を入力クロックに与えて、入力クロックの遅延クロックclkdを生成し、出力する。
【0020】
図8は、実施の形態1の前記位相調整部130の構成を示している。
図8に示す位相調整部130は、遅延クロックclkdと制御信号C2の論理積と、前記論理積出力と基準クロックclkaの排他的論理和で構成され、前記排他的論理和の出力を生成クロックclkcとして出力する。
図9に、図8に示す位相調整部130の動作タイミングチャートを示す。
図9に示すとおり、位相調整部130は、制御信号C2と前記可変遅延部120で選択され、毎制御信号C2アサートタイミングで変化する遅延クロックclkdとの論理積をとる。
前記論理積の結果と基準クロックclkaの排他的論理和を取ることで生成クロックclkcを生成する。
このように、位相調整部130は、累算部110により生成された基準クロックclkaと制御信号C2を入力し、可変遅延部120により生成された遅延クロックclkdを入力し、制御信号C2をイネーブルとして基準クロックclkaの位相を遅延クロックclkdで調整し、動作クロックclksの周波数を設定値kの2倍で除算して得られる周波数を有するクロックを生成し、生成したクロックを生成クロックclkcとして出力する。
【0021】
図1に示す実施の形態1の位相比較部200は、これまで説明した構成・動作であるクロック生成部100が生成する生成クロックclkcと外部から入力される参照クロックclkrの位相差を検出する。
このように、位相比較部200は、クロック生成部100により生成された生成クロックclkcの位相と、外部から入力される参照クロックclkrの位相を比較し、生成クロックclkcと参照クロックclkrとの位相差を出力する。
【0022】
図1に示す実施の形態1の補正部300は、前記位相比較部200で検出した位相差と生成クロックclkcを生成するためにクロック生成部100が使用した設定値kから、生成クロックclkcと参照クロックclkrの位相差が“0”とするように設定値kを補正する補正値を生成する。
そして、補正部300は、生成した補正値を補正値生成に使用した設定値kへ加算し、新たな設定値kを算出する。
クロック生成部100は、前記の通り算出された新たな設定値kにおいて生成クロックclkcを生成する。
【0023】
以上のように、図1に示す実施の形態1によるDLL回路は、クロック生成部100と位相比較部200、補正部300のループ処理により、参照クロックclkrに位相同期した生成クロックclkcを生成する。
この構成により、生成クロックclkcの生成可能周波数幅は、動作クロックclks周波数の1/2を上限として、クロック生成部100内の累算部110内の累算器111のビット幅分となり、非常に広レンジを実現できる。
また、生成クロックclkcの生成可能周波数精度は、前記累算器111によって生成する基準クロックclkaの位相を可変遅延部120で生成する遅延クロックclkdで補正するため、デューティ比50%とすることが可能であり、高精度である。
図10は、図1のDLL回路の生成クロックclkcの設定に対する精度である。
図10において、生成周波数は、ターゲットとなる周波数であり、出力周波数は、生成周波数をターゲットしてクロック生成部100で生成されたクロック(生成クロックclkcに相当)の周波数であり、実測値である。
図10に示すように、本実施の形態のDLL回路では、全てにおいて誤差は0ppmであり、高精度である。
更に、図2、図6、図8に示す回路はディジタル回路で構成可能であり、容易に設計でき、構成要素もカウンタやプリミティブな論理回路であるため、小回路規模である。
【0024】
なお、以上の説明では、可変遅延部120に入力するクロックは動作クロックの2倍速クロックclks2としているが、これに限らない。
つまり、可変遅延部120に入力するクロックは、動作クロックと同じ周期であってもよいし、動作クロックよりも速い周期のクロックであってもよいし、遅い周期のクロックであってもよい。
また、動作クロックよりも速い周期のクロックを入力する場合にも、動作クロックの整数倍の周期のクロックでなくてもよい。
また、動作クロックよりも遅い周期のクロックを入力する場合にも、動作クロックの整数分の一の周期のクロックでなくてもよい。
【0025】
また、前記位相比較部200のかわりに、前記生成クロックclkcと前記参照クロックclkrの周波数差を比較し、その周波数差を出力する周波数比較部を用いるようにしてもよい。
なお、周波数比較部の詳細は、実施の形態2で説明する。
【0026】
このように、本実施の形態では、
外部から入力される動作クロックと前記動作クロックと周波数が異なるもしくは等しい入力クロックと所望の周波数を表す設定値から前記動作クロック周波数の(前記設定値の2倍)分の一の周波数を有する生成クロックを生成するクロック生成部と、
前記生成クロックと外部から入力される参照クロックの位相差を比較し、その位相差を出力する位相比較部と、
前記位相比較部の出力である位相差から、前記位相差を“0”とするように前記設定値へ補正をする補正値を生成し、前記設定値へ補正値を加算する補正部とを備えるDLL回路を説明した。
【0027】
また、前記クロック生成部が、
動作クロックで動作し、外部から入力される設定値を動作クロック周期で累算することで、第1のクロック(基準クロック)と遅延量を制御する第1の制御信号(制御信号C1)と補正タイミングを制御する第2の制御信号(制御信号C2)を生成する累算部と、
外部から動作クロックと周波数が異なるもしくは等しい入力クロックを受け取り、前記累算部出力の前記第1の制御信号によって制御される遅延量を前記入力クロックに与えて第2のクロックを生成する可変遅延部と、
前記第2の制御信号をイネーブルとして前記第1のクロックの位相を前記第2のクロックで補正する位相調整部を有し、
動作クロックの周波数の(前記設定値の2倍)分の一の周波数を有する生成クロックを生成可能であることを説明した。
【0028】
また、外部から入力される設定値は、動作クロックの周波数と、所望の周波数の2倍の除算から算出され、整数と小数で表現できる実数であることを説明した。
【0029】
また、前記クロック生成部を構成する前記可変遅延部は、
前記累算部の前記設定値の累算結果の小数部にあたる第1の制御信号を、内部に有する変換コードに従い、遅延量へ変換し、前記遅延量に相当する遅延を入力される前記倍速クロックもしくは前記パルス生成部のパルスへ与え、前記第2のクロックを出力することを説明した。
【0030】
また、前記クロック生成部を構成する位相調整部は、
前記累算部出力の第1のクロックと、前記可変遅延部出力の第2のクロックもしくは前記遅延パルスを前記第2の制御信号のタイミングで論理和もしくは論理積もしくは排他的論理和をとることで前記第1のクロックの位相を調整することを説明した。
【0031】
また、前記位相比較部のかわりに、前記生成クロックと前記参照クロックの周波数差を比較し、その周波数差を出力する周波数比較部を用いることが可能であることを説明した。
【0032】
また、前記クロック生成部、前記位相比較部、前記補正部は論理回路で設計できることを説明した。
【0033】
なお、本実施の形態に係るクロック生成部100の動作を、累算部110の動作(累算ステップ)、可変遅延部120の動作(可変遅延ステップ)、位相調整部130による動作(位相調整ステップ)を含むクロック生成方法として捉えることもできる。
【0034】
実施の形態2.
図11は、実施の形態2によるDLL回路構成を示している。
図11のDLL回路は、実施の形態1の構成から、クロック生成部100にパルス生成部140が追加されており、可変遅延部120へ外部からのクロック入力がなく、パルス生成部140で生成されたパルスを入力する構成となる。
また、位相比較部200が周波数比較部400となっている。
周波数比較部400は、クロック生成部100により生成された生成クロックclkcの周波数と、外部から入力される参照クロックclkrの周波数を比較し、生成クロックclkcと参照クロックclkrとの周波数差を出力する。
また、本実施の形態の補正部300は、周波数比較部400の出力である周波数差から、前記周波数差を0とする設定値kに対する補正値を生成し、設定値kへ補正値を加算する。
更に、動作クロックの2倍速クロックclks2(周波数が2倍)はDLL回路を動かすもう1つの動作クロックとして使用する。
【0035】
図12は、実施の形態2の累算部110構成を示している。
図12の累算部110は、累算器111と、基準クロックclka生成部113、制御信号C1生成部114、ダウンカウンタ115/117、比較器116/118、加算器119から構成される。
【0036】
累算器111は、入力した動作クロックclksによって動作し、設定値kの小数値のみを累算する小数値累算器1101と、設定値kの整数部のみを保持するFF(フリップフロップ)1102/1103で構成される。
小数値累算器1101は、設定値kの小数値を前記動作クロックclksの周期で累算する。
累算器111内の累算実行と値の更新は、後段の比較器116の結果で行う。
【0037】
図12の加算器119は、累算器111内の設定値kの整数部のみを保持するFF1102/1103の出力と設定値kの小数値のみを累算する小数値累算器1101の桁上がりの加算を行う。
【0038】
図12のダウンカウンタ115(第1のダウンカウンタに相当)は、動作クロックclksで動作し、動作クロックclksの周期で加算器119の加算結果をダウンカウントする。
【0039】
図12の比較器116(第1の比較器に相当)は、動作クロックclksで動作し、ダウンカウンタ115の出力を“1”と比較し、ダウンカウンタ115の出力が“1”になるとパルスを出力する。
比較器116の出力は、制御信号C3(第3の制御信号に相当)として出力される。
制御信号C3は、パルス生成部140におけるパルス生成タイミングを制御するための信号である。
また、制御信号C3は、累算器111、ダウンカウンタ115/117へフィードバックされ、累算器111内の小数値累算器1101、FF1102/1103とダウンカウンタ115/117の値更新のイネーブル信号としても使用される。
【0040】
図12のダウンカウンタ117(第2のダウンカウンタに相当)は、動作クロックの2倍速クロックclks2で動作し、2倍速クロックclks2の周期で、累算器111の設定値kの整数部のみを保持するFF1103の出力をダウンカウントする。
【0041】
図12の比較器118(第2の比較器に相当)は、動作クロックの2倍速クロックclks2で動作し、2倍速クロックclks2の周期で、ダウンカウンタ117の出力を“1”と比較し、ダウンカウンタ117の出力が“1”になるとパルスを出力する。
【0042】
図12の制御信号C1生成部114は、累算器111の設定値kの小数値のみを累算する小数値累算器1101の出力と比較器116の出力から、比較結果が“1”以下になったタイミングで小数値を制御信号C1として出力する。
つまり、制御信号C1生成部114は、比較器116からパルスを入力し、比較器116からパルスを入力した際の小数値累算器1101における小数値の累算値を特定し、特定した小数値の累算値を通知する制御信号C1を生成し、出力する。
【0043】
図12の基準クロックclka生成部113は、動作クロックの2倍速クロックclks2で動作し、比較器116の出力と比較器118の出力から基準クロックclkaを生成し、出力する。
基準クロックclkaの生成は、比較器116の出力パルスで基準クロックclkaのポジティブエッジを生成し、比較器118の出力パルスで基準クロックclkaのネガティブエッジを生成する。
なお、基準クロックclkaは、実施の形態1と同様、位相調整の対象となるクロックである。
【0044】
図13に、図12の累算部110内の累算器111での基準クロックclkaの生成動作タイミングを示す。
図13では設定値kを“3.4”と仮定している。
比較器116の出力パルスによって、累算器111内のFF1102/1103と小数値累算器1101、ダウンカウンタ115/117の値を更新し、ダウンカウンタ115/117はそれぞれの動作クロックclksと2倍速クロックclks2で更新された値をカウントダウンする。
比較器116/118は、ダウンカウンタ値が“1”以下になったらパルスを出力する。
基準クロックclka生成部113は、比較器116の出力パルスのタイミングで“1”とし、比較器118の出力パルスのタイミングで“0”とすることで基準クロックclkaを生成する。
このように、基準クロックclka生成部113は、比較器116からパルスを入力するとともに比較器118からパルスを入力し、比較器116からパルスを入力したタイミングで立ち上がり、比較器118からパルスを入力したタイミングで立ち下がる基準クロックclkaを生成する。
制御信号C1生成部114は、比較器116出力パルスのタイミングの累算器111内の小数値累算器1101の出力を制御信号C1として出力する。
【0045】
図14は、実施の形態2のパルス生成部140構成を示している。
図14のパルス生成部140は、2倍速クロックclks2で動作し、制御信号C3を保持するFFと、制御信号C3と前記FFとの論理和回路で構成される。
図14のパルス生成部140は、動作クロックclksの1周期分のパルスを生成し、入力パルスplとして出力する。
このように、パルス生成部140は、比較器116から出力されたパルスを制御信号C3として入力し、制御信号C3をイネーブルとして、動作クロックclksの1周期分のパルスを生成する。
【0046】
図11の可変遅延部120は、図6と構成・動作共に同様であり、入力が2倍速クロックclks2から前記パルス生成部140生成の入力パルスplに変化するのみである。
つまり、可変遅延部120は、制御信号C1で通知されている小数値に対応する遅延量を導出し、導出した遅延量をパルス生成部140から入力したパルスplに与えて、遅延パルスpldを生成し、出力する。
【0047】
図11の位相調整部130は、累算部110出力の基準クロックclkaと可変遅延部120出力の遅延パルスpldの論理和で構成され(図15)、前記論理和の出力が生成クロックclkcとなる。
図16に位相調整部130の動作タイミングを示す。
基準クロックclkaと遅延パルスpldの論理和のみであるため、基準クロックclkaの位相調整は、遅延パルスpldが入力されたときのみ(ポジティブエッジのみ)である。
このように、位相調整部130は、累算部110により生成された基準クロックclkaを入力し、可変遅延部120で生成された遅延パルスpldを入力し、基準クロックclkaの位相を遅延パルスpldで調整し、動作クロックclksの周波数を設定値kの2倍で除算して得られる周波数を有するクロックを生成し、生成したクロックを生成クロックclkcとして出力する。
【0048】
図17は、実施の形態2の周波数比較部400構成を示している。
図17の周波数比較部400は、カウンタ411とカウンタ421、比較期間カウンタ430、カウント値取得部412/422、セレクタ413/423、カウント換算部424、差分比較部440から構成される。
周波数比較部400は、生成クロックclkcと参照クロックclkrの周波数差を検出して、出力する。
【0049】
図17のカウンタ411は、生成クロックclkcで動作するカウンタであり、比較期間カウンタ430のカウント期間、カウントする。
カウンタ411のカウント値は、比較期間内の生成クロックclkcのトグル数を表す。
図17のカウンタ421は、参照クロックclkrで動作するカウンタであり、比較期間カウンタ430のカウント期間、カウントする。カウンタ411のカウント値は、比較期間内の参照クロックclkrのトグル数を表す。
図17の比較期間カウンタ430は、参照クロックclkrで動作し、カウンタ411と421のカウント値を比較する期間を決める。
カウントはダウンカウントで行い、カウント値が“1”以下となったら、イネーブルを出力する。
カウントはカウントアップでも良い。
比較期間を決めるカウンタ設定値は外部から任意に設定可能である。
図17のカウント値取得部412は、カウンタ411のカウント値を、比較期間カウンタ430出力イネーブルのタイミングで取り込む。
図17のカウント値取得部422は、カウンタ421のカウント値を、比較期間カウンタ430出力イネーブルのタイミングで取り込む。
図17のセレクタ413は、カウンタ411出力か、カウンタ411出力からカウント値取得部412出力を減算した値のどちらか選択し、カウンタ411へ入力する。
値の選択は、比較期間カウンタ430出力イネーブルによって実施する。
図17のセレクタ423は、カウンタ421出力か、カウンタ421出力からカウント値取得部422出力を減算した値のどちらか選択し、カウンタ421へ入力する。
値の選択は、比較期間カウンタ430出力イネーブルによって実施する。
図17のカウント換算部424は、カウント値取得部422が取得したカウンタ値に対して、カウンタ値x(生成クロックclkc周波数/参照クロックclkr周波数)の演算を行い、カウンタ値をカウンタ411の値へ換算する。
図17の差分比較部440は、カウント値取得部412出力とカウント換算部424出力の減算を行い、その減算結果を生成クロックclkcと参照クロックclkrの周波数差として出力する。
【0050】
図18は、実施の形態2の補正部300の構成を示している。
補正部300は、周波数比較部400で検出した周波数差と、生成クロックclkcを生成するためにクロック生成部100が使用した設定値kから、生成クロックclkcと参照クロックclkrの周波数差が“0”とするように設定値kを補正する補正値を生成する。
【0051】
図18のビットシフト310は、設定値kの右ビットシフトする。
シフト量は外部から任意に設定可能である。ここで周波数差“1”に対する補正値の重みを決定する。
図18の乗算器320は、周波数比較部400出力の周波数差と、ビットシフト310出力の設定値kシフト結果の乗算を行い、周波数差を補正値へ変換する。
図18のビットシフト330/340は、乗算器320出力を右ビットシフトする。
それぞれ、シフト量は外部から任意に設定可能である。ビットシフトすることで、補正値の補正量を調整する。
図18の積分器350は、ビットシフト340出力を累算する。
積分器350によって、周波数差が“0”となったときの補正値を保持する。
図18の加算器360は、ビットシフト330出力と積分器350出力の加算を行う。
図18のビットシフト370は、加算器360出力を右ビットシフトする。
シフト量は外部から任意に設定可能である。
ビットシフトすることで、補正値の補正量を調整し、最終的な補正値として出力する。
【0052】
以上のように、図11に示す実施の形態2によるDLL回路は、クロック生成部100と周波数比較部400、補正部300のループ処理により、参照クロックclkrに周波数同期した生成クロックclkcを生成する。
この構成による生成クロックclkcの生成可能周波数幅や精度は、実施の形態1と同様である。
また、全回路をディジタル回路で構成可能であることも同様である。
更に、位相比較ではなく周波数比較としているため、位相比較を利用するより設計は容易である。
また、図11の構成において、図1の位相比較部200を使用することも可能である。
【0053】
なお、以上の説明では、ダウンカウンタ117、比較器118及び基準クロックclka生成部113に入力するクロックは動作クロックの2倍速クロックclks2としているが、これに限らない。
つまり、ダウンカウンタ117、比較器118及び基準クロックclka生成部113に入力するクロックは、動作クロックと同じ周期であってもよいし、動作クロックよりも速い周期のクロックであってもよいし、遅い周期のクロックであってもよい。
また、動作クロックよりも速い周期のクロックを入力する場合にも、動作クロックの整数倍の周期のクロックでなくてもよい。
また、動作クロックよりも遅い周期のクロックを入力する場合にも、動作クロックの整数分の一の周期のクロックでなくてもよい。
【0054】
このように、本実施の形態では、
外部から入力される動作クロックと前記動作クロックと周波数が異なるもしくは等しい入力クロックと所望の周波数を表す設定値から前記動作クロック周波数の(前記設定値の2倍)分の一の周波数を有する生成クロックを生成するクロック生成部と、
前記生成クロックと外部から入力される参照クロックの位相差を比較し、その位相差を出力する位相比較部と、
前記位相比較部の出力である位相差から、前記位相差を“0”とするように前記設定値へ補正をする補正値を生成し、前記設定値へ補正値を加算する補正部とを備えるDLL回路を説明した。
【0055】
また、前記クロック生成部が、
動作クロックで動作し、外部から入力される設定値を動作クロック周期で累算することで、第1のクロック(基準クロック)と遅延量を制御する第1の制御信号(制御信号C1)と、パルス生成タイミングを制御する第3の制御信号(制御信号C3)を生成する累算部と、
前記累算部出力の前記第3の制御信号をイネーブルとして、前記動作クロックの1周期期間のパルスを生成するパルス生成部と、
前記累算部出力の前記第1の制御信号で制御される遅延量を、前記パルス生成部で生成されたパルスへ与えて、遅延パルスを生成する可変遅延部と、
前記第1のクロックの位相を前記遅延パルスで補正する位相調整部を有し、
動作クロック周波数の前記設定値分の一の周波数を有する生成クロックを生成可能であることを説明した。
【0056】
また、外部から入力される設定値は、動作クロックの周波数と、(所望の周波数の2倍)の除算から算出され、整数と小数で表現できる実数であることを説明した。
【0057】
また、前記クロック生成部を構成する前記可変遅延部は、
前記累算部の前記設定値の累算結果の小数部にあたる第1の制御信号を、内部に有する変換コードに従い、遅延量へ変換し、前記遅延量に相当する遅延を入力される前記倍速クロックもしくは前記パルス生成部のパルスへ与え、前記第2のクロックを出力することを説明した。
【0058】
また、前記クロック生成部を構成する位相調整部は、
前記累算部出力の第1のクロックと、前記可変遅延部出力の第2のクロックもしくは前記遅延パルスを前記第2の制御信号のタイミングで論理和もしくは論理積もしくは排他的論理和をとることで前記第1のクロックの位相を調整することを説明した。
【0059】
また、前記位相比較部のかわりに、前記生成クロックと前記参照クロックの周波数差を比較し、その周波数差を出力する周波数比較部を用いることが可能であることを説明した。
【0060】
また、前記クロック生成部、前記位相比較部、前記補正部は論理回路で設計できることを説明した。
【0061】
なお、本実施の形態に係るクロック生成部100の動作を、累算部110の動作(累算ステップ)、パルス生成部140の動作(パルス生成ステップ)、可変遅延部120の動作(可変遅延ステップ)、位相調整部130による動作(位相調整ステップ)を含むクロック生成方法として捉えることもできる。
【0062】
実施の形態3.
図19は、実施の形態3によるDLL回路構成を示している。
図19のDLL回路は、クロック生成部100と、位相比較部200、補正部300から構成される。
入力は、動作クロックの4分周クロックclksdがクロック生成部100へ入力される以外、実施の形態1と同様である。
また、クロック生成部100は、累算部110と、可変遅延部120と、位相調整部130ではなくクロック選択部150から構成されている。
なお、本実施の形態では、累算部110からクロック選択部150に対して制御信号C4(第4の制御信号に相当)を出力する。
制御信号C4は、クロック選択部150に対して、遅延クロックclkdの立ち上がりタイミング及び立下りタイミングを通知する信号である。
クロック選択部150は、制御信号C4のアサートタイミングにおいて入力している遅延クロックclkdを選択して出力し、制御信号C4のアサートタイミング以外は、直近に選択した遅延クロックclkdの出力を維持して、動作クロックclksの周波数を設定値kで除算して得られる周波数を有するクロックを生成クロックclkcとして出力する。
【0063】
図20は、実施の形態3の累算部110の構成を示している。
図20の累算部110(第1制御信号生成部に相当)は、累算器111と、カウンタ1112、加算器1113、比較器1114、制御信号C4生成部1115から構成される。
累算器111は、動作クロックclksによって動作し、動作クロックclks周期で設定値kを累積するとともに、フィードバックされた制御信号C4のアサートタイミングによって設定値kの累算結果を出力する。
累算器111の累算結果の整数値は加算器1113の入力となり、累算結果の小数値は制御信号C1として出力される。
つまり、制御信号C1は、制御信号C4のアサートタイミングにおける設定値kの累積値の小数値を通知する信号である。
図20のカウンタ1112は、前記累算器111と同様に動作クロックclksで動作し、“1”づつカウントアップし、そのカウンタ値を出力する。
図20の加算器1113は、累算器111の累算結果の整数値からカウンタ1112のカウント値を減算し、その累算結果とカウンタ値の差分を出力する。
図20の比較器1114は、前段の加算器1113の出力である累算器111出力とカウンタ1112出力の差分と、“1”を比較し、比較結果を出力する。
図20の制御信号C4生成部1115(第4制御信号生成部に相当)は、加算器1113の出力のうちのLSB(Least Significant Bit)と、比較器1114の出力を入力とし、制御信号C4を生成する。
出力である制御信号C4は、外部へ出力されると同時に、前記累算器111へフィードバックされる。
【0064】
図19の可変遅延部120は、入力されるクロックが動作クロックの分周クロックになった以外は、実施の形態1及び2と同様の構成・動作である。
【0065】
図21は、実施の形態3のクロック選択部150の構成を示している。
図21のクロック選択部150は、現在の生成クロックclkcを動作クロックclksによって保持するFF151と、制御信号C4によってFF151の出力か遅延クロックclkdかを選択するセレクタ152から構成される。
制御信号C4によって、遅延クロックclkdが切り替わったタイミングで遅延クロックclkdを選択し、次に遅延クロックclkdが切り替わるまでFF151を選択する。
【0066】
図19の位相比較部200及び補正部300は、実施の形態1と同様の構成・動作である。
また、位相比較部200の実施の形態2の周波数比較部400へ変換することも可能で、その場合の補正部は実施の形態2の構成となる。
【0067】
図22は、図19のDLL回路でのクロック生成時の動作を示している。
図22の上段の波形がカウンタ1112によるカウンタ値推移をしている。
このカウンタ値と累算器111で累算されている累算値の整数値が一致したときに、累算値の小数値によって選択された遅延クロックclkdを生成クロックとして出力する。
カウンタ値と累算器111で累算されている累算値の整数値の一致判定は、加算器1113と比較器1114で実施する。
選択した遅延クロックclkdの出力判定は、制御信号C4生成部1115出力の制御信号C4によって、クロック選択部150で実施する。
図22において、上から下に向かう2本の矢印(同一線上にある2本の矢印)の組の各々が、制御信号C4のアサートタイミングに相当する。
そして、2本の矢印の組のうち上側の矢印が指し示している遅延クロックclkdが累算値の小数値により選択された遅延クロックであり、下側の矢印が指し示している箇所が、生成クロックclkcにおける遅延クロックclkdの切り替わりのタイミングである。
クロック選択部150は、このように、制御信号C4のアサートタイミングにおいて入力している遅延クロックclkdを選択して出力するとともに、出力した遅延クロックclkdをフィードバックしFF151で保持し、制御信号C4の次のアサートタイミングまでの期間は、フィードバックさせた遅延クロックclkdを出力する。
【0068】
以上のように、図19に示す実施の形態3によるDLL回路においても、実施の形態1及び2と同様に、非常に広レンジかつ、高精度な生成クロックclkcを生成可能であり、設計も容易で、小回路規模を実現できる。
【0069】
なお、以上の説明では、可変遅延部120に入力するクロックは動作クロックの4分周クロックclksdとしているが、これに限らない。
つまり、可変遅延部120に入力するクロックは、動作クロックと同じ周期であってもよいし、動作クロックよりも速い周期のクロックであってもよいし、遅い周期のクロックであってもよい。
また、動作クロックよりも速い周期のクロックを入力する場合にも、動作クロックの整数倍の周期のクロックでなくてもよい。
また、動作クロックよりも遅い周期のクロックを入力する場合にも、動作クロックの整数分の一の周期のクロックでなくてもよい。
【0070】
このように、本実施の形態では、
外部から入力される動作クロックと前記動作クロックと周波数が異なるもしくは等しい入力クロックと所望の周波数を表す設定値から前記動作クロック周波数の(前記設定値の2倍)分の一の周波数を有する生成クロックを生成するクロック生成部と、
前記生成クロックと外部から入力される参照クロックの位相差を比較し、その位相差を出力する位相比較部と、
前記位相比較部の出力である位相差から、前記位相差を“0”とするように前記設定値へ補正をする補正値を生成し、前記設定値へ補正値を加算する補正部とを備えるDLL回路を説明した。
【0071】
また、前記クロック生成部が、
動作クロックで動作し、外部から入力される設定値を動作クロック周期で累算することで、遅延量を制御する第1の制御信号(制御信号C1)と生成クロックのエッジ間隔を決める第4の制御信号(制御信号C4)を生成する累算部と、
外部から動作クロックと周波数が異なるもしくは等しい入力クロックを受け取り、前記累算部出力の前記第1の制御信号によって制御される遅延量を前記入力クロックに与えて遅延クロックを生成する可変遅延部と、
前記第4の制御信号によって前記遅延クロックを選択するかフィードバックした生成クロックを選択するかを決定するクロック選択部を有し、
動作クロック周波数の(前記設定値の2倍)分の一の周波数を有する生成クロックを生成可能であることを説明した。
【0072】
また、外部から入力される設定値は、動作クロックの周波数と、(所望の周波数の2倍)の除算から算出され、整数と小数で表現できる実数であることを説明した。
【0073】
また、前記クロック生成部を構成する前記可変遅延部は、
前記累算部の前記設定値の累算結果の小数部にあたる第1の制御信号を、内部に有する変換コードに従い、遅延量へ変換し、前記遅延量に相当する遅延を入力される前記倍速クロックもしくは前記パルス生成部のパルスへ与え、前記第2のクロックを出力することを説明した。
【0074】
また、前記クロック生成部を構成する位相調整部は、
前記累算部出力の第1のクロックと、前記可変遅延部出力の第2のクロックもしくは前記遅延パルスを前記第2の制御信号のタイミングで論理和もしくは論理積もしくは排他的論理和をとることで前記第1のクロックの位相を調整することを説明した。
【0075】
また、前記位相比較部のかわりに、前記生成クロックと前記参照クロックの周波数差を比較し、その周波数差を出力する周波数比較部を用いることが可能であることを説明した。
【0076】
また、前記クロック生成部、前記位相比較部、前記補正部は論理回路で設計できることを説明した。
【0077】
なお、本実施の形態に係るクロック生成部100の動作を、累算部110の動作(累算ステップ)、可変遅延部120の動作(可変遅延ステップ)、クロック選択部150による動作(クロック選択ステップ)を含むクロック生成方法として捉えることもできる。
【0078】
実施の形態4.
図23は、実施の形態4によるDLL回路構成を示している。
図23のDLL回路は、実施の形態1のクロック生成部100のみで構成し、位相比較部200、補正部300を削除している。
以上の構成により、クロック生成部のみの設計でよいため、より設計が容易となり、かつ小回路規模となる。
【0079】
実施の形態5.
図24は、実施の形態5によるDLL回路構成を示している。
図24のDLL回路は、実施の形態2のクロック生成部100のみで構成し、周波数比較部400、補正部300を削除している。
以上の構成により、クロック生成部のみの設計でよいため、より設計が容易となり、かつ小回路規模となる。
【0080】
実施の形態6.
図25は、実施の形態6によるDLL回路構成を示している。図25のDLL回路は、実施の形態3のクロック生成部100のみで構成し、位相比較部200、補正部300を削除している。
以上の構成により、クロック生成部のみの設計でよいため、より設計が容易となり、かつ小回路規模となる。
【符号の説明】
【0081】
100 クロック生成部、110 累算部、111 累算器、112 検出部、113 基準クロックclka生成部、114 制御信号C1生成部、115 ダウンカウンタ、116 比較器、117 ダウンカウンタ、118 比較器、120 可変遅延部、121 遅延素子、122 セレクタ、123 変換部、130 位相調整部、140 パルス生成部、150 クロック選択部、151 FF、152 セレクタ、200 位相比較部、300 補正部、310 ビットシフト、320 乗算器、330 ビットシフト、340 ビットシフト、350 積分器、360 加算器、370 ビットシフト、400 周波数比較部、411 カウンタ、412 カウント値取得部、413 セレクタ、421 カウンタ、422 カウント値取得部、423 セレクタ、424 カウント換算部、430 比較期間カウンタ、440 差分比較部、1101 小数値累算器、1102 フリップフロップ、1103 フリップフロップ、1112 カウンタ、1113 加算器、1114 比較器、1115 制御信号C4生成部。

【特許請求の範囲】
【請求項1】
外部から所定の周波数の動作クロックを入力し、更に、外部から設定値を入力し、入力した前記設定値を前記動作クロックの周期で累算し、累算結果から、位相調整の対象となる基準クロックと、遅延量を制御する第1の制御信号と、位相調整のタイミングを制御する第2の制御信号を生成する累算部と、
外部から所定の周波数のクロックを入力クロックとして入力し、前記累算部により生成された前記第1の制御信号を入力し、前記第1の制御信号によって制御される遅延量を前記入力クロックに与えて、前記入力クロックの遅延クロックを生成する可変遅延部と、
前記累算部により生成された前記基準クロックと前記第2の制御信号を入力し、前記可変遅延部により生成された遅延クロックを入力し、前記第2の制御信号をイネーブルとして前記基準クロックの位相を前記遅延クロックで調整し、前記動作クロックの周波数を(前記設定値の2倍)で除算して得られる周波数を有するクロックを生成する位相調整部とを有することを特徴とするクロック生成装置。
【請求項2】
前記累算部は、
整数値と小数値に区分される設定値を入力し、
前記累算部は、
前記設定値の累算値のビット数が所定のビット数を超えたことを検出する度に、第2の制御信号をアサートする第2制御信号生成部と、
前記第2制御信号生成部により前記第2の制御信号がアサートされた際の前記設定値の小数値を特定し、特定した小数値を通知する第1の制御信号を生成する第1制御信号生成部と、
前記第2の制御信号のアサートタイミングの間隔をエッジ間隔とする基準クロックを生成する基準クロック生成部とを有し、
前記可変遅延部は、
前記第1の制御信号で通知されている小数値に対応する遅延量を導出し、導出した遅延量を前記入力クロックに与えて、前記入力クロックの遅延クロックを生成し、
前記位相調整部は、
前記第2の制御信号のアサートタイミングで前記基準クロックと前記遅延クロックとの排他論理和をとり、前記基準クロックの位相を前記遅延クロックで調整することを特徴とする請求項1に記載のクロック生成装置。
【請求項3】
外部から所定の周波数の動作クロックを入力し、更に、外部から設定値を入力し、入力した前記設定値を前記動作クロックの周期で累算し、累算結果から、位相調整の対象となる基準クロックと、遅延量を制御する第1の制御信号と、パルス生成タイミングを制御する第3の制御信号を生成する累算部と、
前記累算部により生成された前記第3の制御信号を入力し、前記第3の制御信号をイネーブルとして、前記動作クロックの1周期分のパルスを生成するパルス生成部と、
前記累算部により生成された前記第1の制御信号を入力し、前記パルス生成部により生成されたパルスを入力し、前記第1の制御信号で制御される遅延量を前記パルスに与えて、遅延パルスを生成する可変遅延部と、
前記累算部により生成された前記基準クロックを入力し、前記可変遅延部で生成された前記遅延パルスを入力し、前記基準クロックの位相を前記遅延パルスで調整し、前記動作クロックの周波数を(前記設定値の2倍)で除算して得られる周波数を有するクロックを生成する位相調整部とを有することを特徴とするクロック生成装置。
【請求項4】
前記累算部は、
整数値と小数値に区分される設定値を入力し、
前記累算部は、
前記設定値の小数値を前記動作クロックの周期で累算する小数累算器と、
前記設定値の整数値、及び前記小数累算器による小数値の累算の結果の桁上がりと前記設定値の整数値との加算値を前記動作クロックの周期でダウンカウントする第1のダウンカウンタと、
前記第1のダウンカウンタでのカウント値が1になった際にパルスを出力する第1の比較器と、
前記設定値の整数値を、所定の周波数のクロックでダウンカウントする第2のダウンカウンタと、
前記第2のダウンカウンタでのカウント値が1になった際にパルスを出力する第2の比較器と、
前記第1の比較器からパルスを入力し、前記第1の比較器からパルスを入力した際の前記小数累算器における小数値の累算値を特定し、特定した小数値の累算値を通知する第1の制御信号を生成する第1制御信号生成部と、
前記第1の比較器からパルスを入力するとともに前記第2の比較器からパルスを入力し、前記第1の比較器からパルスを入力したタイミングで立ち上がり前記第2の比較器からパルスを入力したタイミングで立ち下がる基準クロックを生成する基準クロック生成部とを有し、
前記パルス生成部は、
前記累算部の前記第1の比較器から出力されたパルスを前記第3の制御信号として入力し、前記第3の制御信号をイネーブルとして、前記動作クロックの1周期分のパルスを生成し、
前記可変遅延部は、
前記第1の制御信号で通知されている小数値に対応する遅延量を導出し、導出した遅延量を前記パルス生成部から入力したパルスに与えて、遅延パルスを生成し、
前記位相調整部は、
前記基準クロックと前記遅延パルスとの論理和をとり、前記基準クロックの位相を前記遅延パルスで調整することを特徴とする請求項3に記載のクロック生成装置。
【請求項5】
外部から所定の周波数の動作クロックを入力し、更に、外部から設定値を入力し、入力した前記設定値を前記動作クロックの周期で累算し、累算結果から、遅延量を制御する第1の制御信号と、遅延クロックの立ち上がりタイミング及び立下りタイミングをアサートにより通知する第4の制御信号を生成する累算部と、
外部から所定の周波数のクロックを入力クロックとして入力し、前記累算部により生成された前記第1の制御信号を入力し、前記第1の制御信号によって制御される遅延量を前記入力クロックに与えて、前記入力クロックの遅延クロックを生成する可変遅延部と、
前記累算部により生成された第4の制御信号を入力し、第4の制御信号のアサートタイミングにおいて入力している遅延クロックを選択して出力し、第4の制御信号のアサートタイミング以外は、直近に選択した遅延クロックの出力を維持して、前記動作クロックの周波数を(前記設定値の2倍)で除算して得られる周波数を有するクロックを出力するクロック選択部とを有することを特徴とするクロック生成装置。
【請求項6】
前記累算部は、
整数値と小数値に区分される設定値を入力し、
前記累算部は、
前記設定値を前記動作クロックの周期で累算し、前記クロック選択部に出力されるとともにフィードバックされた第4の制御信号を入力し、入力した前記第4の制御信号のアサートタイミングにおける前記設定値の累積値の小数値を通知する第1の制御信号を生成する第1制御信号生成部と、
前記動作クロックの周期でカウントアップするカウンタと、
前記第1制御信号生成部による前記設定値の累積値の整数値と前記カウンタのカウント値との差が1以下となった際に、第4の制御信号をアサートする第4制御信号生成部とを有し、
前記可変遅延部は、
前記第1の制御信号で通知されている小数値に対応する遅延量を導出し、導出した遅延量を前記入力クロックに与えて、前記入力クロックの遅延クロックを生成し、
前記クロック選択部は、
第4の制御信号のアサートタイミングにおいて入力している遅延クロックを選択して出力するとともに、出力した遅延クロックをフィードバックし、第4の制御信号の次のアサートタイミングまでの期間は、フィードバックさせた遅延クロックを出力することを特徴とする請求項5に記載のクロック生成装置。
【請求項7】
前記クロック生成装置は、
論理回路で構成されていることを特徴とする請求項1〜6のいずれかに記載のクロック生成装置。
【請求項8】
請求項1〜7のいずれかに記載のクロック生成装置を有し、
更に、
前記クロック生成装置により生成された生成クロックの位相と、外部から入力される参照クロックの位相を比較し、前記生成クロックと前記参照クロックとの位相差を出力する位相比較部と、
前記位相比較部の出力である位相差から、前記位相差を0とする前記設定値に対する補正値を生成し、前記設定値へ補正値を加算する補正部と有することを特徴とするDLL(Digital Locked Loop)回路。
【請求項9】
請求項1〜7のいずれかに記載のクロック生成装置を有し、
更に、
前記クロック生成装置により生成された生成クロックの周波数と、外部から入力される参照クロックの周波数を比較し、前記生成クロックと前記参照クロックとの周波数差を出力する周波数比較部と、
前記周波数比較部の出力である周波数差から、前記周波数差を0とする前記設定値に対する補正値を生成し、前記設定値へ補正値を加算する補正部と有することを特徴とするDLL(Digital Locked Loop)回路。
【請求項10】
外部から所定の周波数の動作クロックを入力し、更に、外部から設定値を入力し、入力した前記設定値を前記動作クロックの周期で累算し、累算結果から、位相調整の対象となる基準クロックと、遅延量を制御する第1の制御信号と、位相調整のタイミングを制御する第2の制御信号を生成する累算ステップと、
外部から所定の周波数のクロックを入力クロックとして入力し、前記累算ステップにより生成された前記第1の制御信号を入力し、前記第1の制御信号によって制御される遅延量を前記入力クロックに与えて、前記入力クロックの遅延クロックを生成する可変遅延ステップと、
前記累算ステップにより生成された前記基準クロックと前記第2の制御信号を入力し、前記可変遅延ステップにより生成された遅延クロックを入力し、前記第2の制御信号をイネーブルとして前記基準クロックの位相を前記遅延クロックで調整し、前記動作クロックの周波数を(前記設定値の2倍)で除算して得られる周波数を有するクロックを生成する位相調整ステップとを有することを特徴とするクロック生成方法。
【請求項11】
外部から所定の周波数の動作クロックを入力し、更に、外部から設定値を入力し、入力した前記設定値を前記動作クロックの周期で累算し、累算結果から、位相調整の対象となる基準クロックと、遅延量を制御する第1の制御信号と、パルス生成タイミングを制御する第3の制御信号を生成する累算ステップと、
前記累算ステップにより生成された前記第3の制御信号を入力し、前記第3の制御信号をイネーブルとして、前記動作クロックの1周期分のパルスを生成するパルス生成ステップと、
前記累算ステップにより生成された前記第1の制御信号を入力し、前記パルス生成ステップにより生成されたパルスを入力し、前記第1の制御信号で制御される遅延量を前記パルスに与えて、遅延パルスを生成する可変遅延ステップと、
前記累算ステップにより生成された前記基準クロックを入力し、前記可変遅延ステップで生成された前記遅延パルスを入力し、前記基準クロックの位相を前記遅延パルスで調整し、前記動作クロックの周波数を(前記設定値の2倍)で除算して得られる周波数を有するクロックを生成する位相調整ステップとを有することを特徴とするクロック生成方法。
【請求項12】
外部から所定の周波数の動作クロックを入力し、更に、外部から設定値を入力し、入力した前記設定値を前記動作クロックの周期で累算し、累算結果から、遅延量を制御する第1の制御信号と、遅延クロックの立ち上がりタイミング及び立下りタイミングをアサートにより通知する第4の制御信号を生成する累算ステップと、
外部から所定の周波数のクロックを入力クロックとして入力し、前記累算ステップにより生成された前記第1の制御信号を入力し、前記第1の制御信号によって制御される遅延量を前記入力クロックに与えて、前記入力クロックの遅延クロックを生成する可変遅延ステップと、
前記累算ステップにより生成された第4の制御信号を入力し、第4の制御信号のアサートタイミングにおいて入力している遅延クロックを選択して出力し、第4の制御信号のアサートタイミング以外は、直近に選択した遅延クロックの出力を維持して、前記動作クロックの周波数を(前記設定値の2倍)で除算して得られる周波数を有するクロックを出力するクロック選択ステップとを有することを特徴とするクロック生成方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate


【公開番号】特開2012−175319(P2012−175319A)
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願番号】特願2011−34250(P2011−34250)
【出願日】平成23年2月21日(2011.2.21)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】