(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-26
(45)【発行日】2024-01-10
(54)【発明の名称】デジタルPLL回路
(51)【国際特許分類】
H03L 7/14 20060101AFI20231227BHJP
G06F 1/08 20060101ALI20231227BHJP
【FI】
H03L7/14 160
G06F1/08 520
(21)【出願番号】P 2020141784
(22)【出願日】2020-08-25
【審査請求日】2022-07-01
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(73)【特許権者】
【識別番号】317011920
【氏名又は名称】東芝デバイス&ストレージ株式会社
(74)【代理人】
【識別番号】100091487
【氏名又は名称】中村 行孝
(74)【代理人】
【識別番号】100105153
【氏名又は名称】朝倉 悟
(74)【代理人】
【識別番号】100107582
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100118843
【氏名又は名称】赤岡 明
(74)【代理人】
【識別番号】100103263
【氏名又は名称】川崎 康
(72)【発明者】
【氏名】中村 徹哉
【審査官】志津木 康
(56)【参考文献】
【文献】米国特許出願公開第2017/0093411(US,A1)
【文献】特開2013-102253(JP,A)
【文献】国際公開第2011/001652(WO,A1)
【文献】米国特許出願公開第2019/0214999(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F1/04-1/14
H03L1/00-9/00
(57)【特許請求の範囲】
【請求項1】
デジタルPLL回路であって、
入力クロック信号と出力クロック信号の位相差を演算して出力する、位相差演算回路と、
前記位相差と、前記出力クロック信号に関する制御目標の周波数である周波数制御入力とに基づいて、発振周波数を制御するための第1制御コードを生成して出力する、第1制御コード生成回路と、
所定のシーケンスに従って、発振周波数を制御するための第2制御コードを生成して出力する、第2制御コード生成回路であって、前記所定のシーケンスは、当該デジタルPLL回路の起動時に実行される起動シーケンスであり、当該デジタルPLL回路の起動時から前記出力クロック信号の周波数が段階的に上がるように、前記第2制御コードは段階的に上げられる、第2制御コード生成回路と、
前記第1制御コードと前記第2制御コードのうちの一方を選択して、選択制御コードとして出力する、選択回路と、
前記選択制御コードに応じた発振周波数の前記出力クロック信号を出力する、デジタル制御発振器と、
を備えるデジタルPLL回路。
【請求項2】
前記第2制御コード生成回路における前記所定のシーケンスが実行されている間は、前記選択回路は、前記第2制御コードを選択して、前記選択制御コードとして出力する、請求項1に記載のデジタルPLL回路。
【請求項3】
前記第2制御コード生成回路における前記所定のシーケンスが終了した後は、前記選択回路は、前記第1制御コードを選択して、前記選択制御コードとして出力する、請求項2に記載のデジタルPLL回路。
【請求項4】
前記選択回路が、前記第1制御コードを選択して前記選択制御コードとして出力するか、又は、前記第2制御コードを選択して前記選択制御コードとして出力するかは、前記第2制御コード生成回路が前記選択回路に出力する選択制御信号に基づいて定められる、請求項3に記載のデジタルPLL回路。
【請求項5】
前記第2制御コード生成回路における前記所定のシーケンスが終了した後は、前記選択回路は、前記第1制御コードと前記第2制御コードのうちのデジタル値が低い方を選択して、前記選択制御コードとして出力する、請求項1に記載のデジタルPLL回路。
【請求項6】
前記第2制御コード生成回路における前記所定のシーケンスが終了した後の前記第2制御コードは、前記デジタルPLL回路がデッドロックに陥った際に前記デジタル制御発振器に入力されていた制御コードに基づいて定められる、請求項5に記載のデジタルPLL回路。
【請求項7】
前記選択回路が、前記第2制御コードを選択して前記選択制御コードとして出力するか、又は、前記第1制御コードと前記第2制御コードのうちのデジタル値が低い方を選択して前記選択制御コードとして出力するかは、前記第2制御コード生成回路が前記選択回路に出力する選択制御信号に基づいて定められる、請求項6に記載のデジタルPLL回路。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、デジタルPLL回路に関する。
【背景技術】
【0002】
従来より、半導体集積回路において、PLL(Phase Locked Loop)回路が所望の周波数のクロック信号を生成するために用いられている。このPLL回路は、これまでアナログ回路で構成されるアナログPLL回路が主流であったが、CMOS技術の微細化に伴い、デジタル回路でPLL回路を構成するデジタルPLL回路も開発されてきている。特に、アナログPLL回路のすべてをデジタル回路に置き換えたデジタルPLL回路を、完全デジタルPLL(All Digital Phase locked Loop)回路と呼んでいる。
【0003】
デジタルPLL回路は、デジタル制御発振器を備えている。このようなデジタル制御発振器を備えるデジタルPLL回路を起動する際には、デジタル制御発振器の起動特性に依存する発振周波数のオーバーシュートが生じる。しかし、このデジタル制御発振器が発振するクロック信号に発振周波数のオーバーシュートが生ずると、種々の問題が発生する。1つは、デジタルPLL回路を設計する際に、過剰なSTA(Static Timing Analysis)制約マージンが必要となることである。これは、製造プロセス(P)のばらつきや、使用環境下における電圧(V)や温度(T)のばらつきを考慮したPVT(Process-Voltage-Temperature)条件に基づいて、デジタルPLL回路の最大周波数を設計しなければならないためである。
【0004】
もう1つは、デジタルPLL回路の起動時におけるオーバーシュートを現実的な範囲に抑えるために、アナログ設計に関する工数が回路設計時に増大することである。これら2つの設計上の問題に加えて、デジタルPLL回路の動作特性に関しても、デジタル制御発振器の発振周波数のオーバーシュート量が大きくなると、デジタルPLL回路が出力するクロック信号が制御目標の周波数に到達するまでの時間が長くなり、その周波数の誤差が許容範囲になるロックアップタイムが、長く伸びてしまうという問題が生ずる。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本実施形態の目的は、起動時における発振周波数のオーバーシュートを抑制可能なデジタルPLL回路を提供することである。
【課題を解決するための手段】
【0006】
本実施形態に係るデジタルPLL回路は、
入力クロック信号と出力クロック信号の位相差を演算して出力する、位相差演算回路と、
前記位相差と、前記出力クロック信号に関する制御目標の周波数である周波数制御入力とに基づいて、発振周波数を制御するための第1制御コードを生成して出力する、第1制御コード生成回路と、
所定のシーケンスに従って、発振周波数を制御するための第2制御コードを生成して出力する、第2制御コード生成回路と、
前記第1制御コードと前記第2制御コードのうちの一方を選択して、選択制御コードとして出力する、選択回路と、
前記選択制御コードに応じた発振周波数の前記出力クロック信号を出力する、デジタル制御発振器と、
を備える。
【図面の簡単な説明】
【0007】
【
図1】第1実施形態に係るデジタルPLL回路の構成を説明するブロック図。
【
図2】
図1のデジタルPLL回路における入力クロック信号と出力クロック信号の信号波形の一例を示す図。
【
図3】
図1に示すデジタルPLL回路が起動時に実行するデジタルPLL起動処理の内容を説明するフローチャートを示す図。
【
図4】(a)は、
図1に示すデジタルPLL回路が実行する起動シーケンスにおける第2制御コードの経時的変化の一例を表すグラフを示す図、(b)は、その時の出力クロック信号の周波数変化の一例を表すグラフを示す図。
【
図5】比較例におけるデジタルPLL回路の起動時における、出力クロック信号の周波数の経時的変化を表すグラフを示す図。
【
図6】第2実施形態に係るデジタルPLL回路の構成を説明するブロック図。
【
図7】
図6に示すデジタルPLL回路のデジタル制御発振器に入力される制御コードと、デジタル制御発振器から出力される出力クロック信号の周波数との関係の一例を表すグラフを示す図。
【発明を実施するための形態】
【0008】
以下、図面を参照しながら、本実施形態に係るデジタルPLL回路について説明をする。なお、以下の説明において、略同一の機能及び構成を有する構成要素については、同一符号を付し、重複説明は必要な場合にのみ行うこととする。
【0009】
〔第1実施形態〕
第1実施形態に係るデジタルPLL回路は、このデジタルPLL回路を起動する際に、デジタル制御発振器に入力される制御コードを、デジタル制御発振器が出力する出力クロック信号の発振周波数に拘わらずシーケンスにより固定的に制御することにより、出力クロック信号の発振周波数のオーバーシュートを抑えるようにしたものである。以下に、その詳細を説明する。
【0010】
図1は、本実施形態に係るデジタルPLL回路1の構成を説明するブロック図である。この
図1に示すように、本実施形態に係るデジタルPLL回路1は、位相差演算回路10と、デジタル演算回路12と、選択回路14と、デジタル制御発振器16と、起動制御回路18と、タイミング生成回路20と、周波数制御回路22とを、備えて構成されている。本実施形態においては、デジタルPLL回路1は、半導体集積回路の一部として、構成されている。
【0011】
位相差演算回路10には、入力クロック信号Frefと、出力クロック信号Foutとが入力される。そして、位相差演算回路10は、入力クロック信号Frefと、出力クロック信号Foutの位相差を演算して出力する。入力クロック信号Frefは、このデジタルPLL回路1に入力される基準発振信号であり、例えば、半導体集積回路が備える水晶発振器により生成される。出力クロック信号は、このデジタルPLL回路1が出力する出力発振信号である。このことから分かるように、本実施形態に係るデジタルPLL回路1は、例えば、周波数F1の入力クロック信号Frefを、この周波数F1より高い周波数F2の出力クロック信号に変換して出力する回路である。
【0012】
デジタル演算回路12には、位相差演算回路10で演算された位相差と、周波数制御入力FCWとが入力される。周波数制御入力FCWは、このデジタルPLL回路1が出力する出力クロック信号Foutの制御目標とする周波数である。この周波数制御入力FCWは、Frequency Command Wordとも呼ばれ、デジタル値で表された制御目標の周波数である。デジタル演算回路12では、周波数制御入力FCWと位相差とに基づいて、第1制御コードを生成する。
【0013】
具体的には、デジタル演算回路12は、周波数制御入力FCWを時間積分して位相情報に変換する。そして、デジタル演算回路12は、この算出された位相情報と、位相差演算回路10が演算した位相差とを比較して、デジタル制御発振器16の発振周波数を制御するための第1制御コードを生成する。つまり、デジタル演算回路12は、入力クロック信号Frefと出力クロック信号Foutとの目的とする周波数比と、入力クロック信号Frefと実際の出力クロック信号Foutとの周波数比との差分を位相差として算出し、この位相差に基づいて、第1制御コードを生成する。このデジタル演算回路12が、本実施形態における第1制御コード生成回路を構成している。
【0014】
選択回路14には、デジタル演算回路12が生成した第1制御コードが入力されるとともに、周波数制御回路22から出力された第2制御コードが入力される。この第2制御コードも、デジタル制御発振器16の発振周波数を制御するための制御コードである。また、周波数制御回路22からは、選択回路14に選択制御信号も入力される。選択回路14は、この選択制御信号の制御に基づいて、入力された第1制御コードと第2制御コードのうちの一方を、選択制御コードとして出力する。この選択回路14は、例えば、2入力1出力のマルチプレクサにより構成することができる。
【0015】
本実施形態においては、デジタルPLL回路1の起動時、つまりデジタル演算回路12の起動時においては、選択回路14が第2制御コードを選択するような選択制御信号が入力される。一方、デジタルPLL回路1の通常動作時においては、選択回路14が第1制御コードを選択するような選択制御信号が入力される。このため、選択回路14からは、通常動作時には第1制御コードが出力され、起動時には第2制御コードが出力される。
【0016】
デジタル制御発振器16には、選択回路14から出力された選択制御コードが入力される。選択制御コードが第1制御コードである場合でも、第2制御コードである場合でも、選択制御コードは、デジタル制御発振器16の発振周波数を制御するためのコードである。つまり、選択制御コードは、デジタル制御発振器16の発振周波数を指定するデジタル値である。デジタル制御発振器16は、この入力された選択制御コードに応じた発振周波数の出力クロック信号Foutを生成して出力する。このデジタル制御発振器16は、例えば、DCO(Digitally Controlled Oscillator)により構成することができる。
【0017】
デジタル制御発振器16から出力された出力クロック信号Foutは、このデジタルPLL回路1の出力発振信号となる。出力クロック信号Foutは、このデジタルPLL回路1が形成されている半導体集積回路の必要箇所に供給されるとともに、位相差演算回路10にフィードバック入力される。そして、上述したように、位相差演算回路10は、入力クロック信号Frefと、出力クロック信号Foutの位相差を演算して出力するのである。
【0018】
位相差演算回路10は、例えば、カウンタ回路10aとTDC(Time to Digital Converter)10bとを少なくとも備えて構成されている。カウンタ回路10aは、出力クロック信号Foutの周波数が入力クロック信号Frefの周波数の何倍の整数値になるのかを算出する。TDC10は、その小数部分を算出する。そして、算出された整数値と小数部分とを合わせることにより、入力クロック信号Frefと、出力クロック信号Foutの位相差を求めることができる。
【0019】
図2は、入力クロック信号Frefと出力クロック信号Foutの信号波形の一例を示す図である。この
図2に示すように、出力クロック信号Foutの1周期の時間をToutとし、入力クロック信号Frefの1周期の時間をTrefとすると、出力クロック信号Foutのクロック数をカウントするカウンタ回路10aは、時間Trefの間に時間taに包含されるクロック数をカウントすることとなる。このため、カウンタ回路10aのカウント動作により、整数値R=ta/Toutを算出することができる。この整数値Rは、出力クロック信号Foutの周波数が入力クロック信号Frefの周波数の何倍の整数値になるのかを表している。
【0020】
また、カウンタ回路10aが計測した時間taと入力クロック信号Frefの1周期の時間Trefとの差を時間tbとすると、TDC10bの動作により、小数部分D=tb/Toutを算出することができる。このため、位相差演算回路10が演算する位相差は、R-Dにより算出することができる。つまり、位相差演算回路10は、入力クロック信号Frefの周波数と実際の出力クロック信号Foutの周波数との周波数比を、位相差として算出する。
【0021】
これらのことから分かるように、
図1に示すデジタルPLL回路1は、周波数制御入力FCWで指定された周波数に、出力クロック信号Foutの周波数が収束するように動作する。すなわち、
図1に示すように、デジタルPLL回路1には、制御目標の周波数である周波数制御入力FCWと、入力クロック信号Frefとが入力される。デジタルPLL回路1は、入力クロック信号Frefに基づいて、出力クロック信号Foutの周波数が周波数制御入力FCWとなるようにデジタル制御発振器16の発振周波数を制御する。出力クロック信号Foutをフィードバックすることにより、出力クロック信号Foutの周波数と周波数制御入力FCWとの誤差は、プラス側とマイナス側に変動を繰り返しながら減少し、やがて周波数制御入力FCWで指定された周波数となる。
【0022】
具体的には、出力クロック信号Foutの周波数が周波数制御入力FCWよりも低い場合には、デジタル演算回路12は、出力クロック信号Foutの周波数が高くなるように第1制御コードを調整する。一方、出力クロック信号Foutの周波数が周波数制御入力FCWよりも高い場合には、デジタル演算回路12は、出力クロック信号Foutの周波数が低くなるように第1制御コードを調整する。
【0023】
さらに、
図1に示すデジタルPLL回路1においては、起動制御回路18が、このデジタルPLL回路1の起動時に、周波数制限信号をタイミング生成回路20に出力する。具体的には、起動制御回路18は、デジタルPLL回路1が起動される際に、周波数制限信号をイネーブルにして、タイミング生成回路20に出力する。
【0024】
タイミング生成回路20は、周波数制限信号がイネーブルとなると、周波数制御回路22に、起動シーケンスの開始を指示する。また、タイミング生成回路20は、位相差演算回路10と周波数制御回路22との動作タイミングを揃えるための制御信号も出力する。
【0025】
周波数制御回路22は、起動シーケンスの開始指示を受けると、選択回路14に第2制御コードを選択する選択制御信号を出力するとともに、デジタル制御発振器16の発振周波数を制御するための第2制御コードが示す発振周波数を低い値から段階的に上げていく制御を行う。この周波数制御回路22が、本実施形態に係る第2制御コード生成回路を構成している。
【0026】
周波数制御回路22は、例えば、予め定められた高さの発振周波数に対応する制御コードまで、第2制御コードを段階的に上げて行き、その後、第1制御コードを選択する選択制御信号を選択回路14に出力する。これにより、デジタルPLL回路1は、起動シーケンスが終了し、制御目標の周波数を有する通常の出力クロック信号Foutを生成して出力する状態となる。
【0027】
或いは、周波数制御回路22は、例えば、周波数制御入力FCWで指定された制御目標の周波数に対応するであろう制御コードまで、第2制御コードを段階的に上げていき、その後、第1制御コードを選択する選択制御信号を選択回路14に出力する。これにより、デジタルPLL回路1は、起動シーケンスが終了し、制御目標の周波数を有する通常の出力クロック信号Foutを生成して出力する状態となる。この場合、周波数制御入力FCWのデジタル値と、これに対応する制御コードとの概略的な対応関係は、予め、周波数制御回路22が保持しておく必要がある。
【0028】
図3は、本実施形態に係るデジタルPLL回路1が起動時に実行するデジタルPLL起動処理の内容を説明するフローチャートを示す図である。このデジタルPLL起動処理は、デジタルPLL回路1が起動して出力クロック信号Foutを出力する指示を受けた場合に、実行される処理である。
【0029】
この
図3に示すように、このデジタルPLL起動処理が開始されると、まず、起動制御回路18は、タイミング生成回路20に出力される周波数制限信号をイネーブルにする(ステップS10)。続いて、起動制御回路18は、デジタルPLL回路1を起動する(ステップS12)。
【0030】
次に、周波数制限信号がイネーブルとなったタイミング生成回路20は、周波数制御回路22に、起動シーケンスの開始を指示する(ステップS14)。この起動シーケンスの開始を指示された周波数制御回路22は、第2制御コードを選択する選択制御信号を選択回路14に出力する(ステップS16)。この第2制御コードを選択する選択制御信号が選択回路14に出力されることにより、デジタル演算回路12によるデジタル制御発振器16の制御を、あたかも、周波数制御回路22が乗っ取ったような状態となる。
【0031】
次に、周波数制御回路22は、1段階目の発振周波数に対応する第2制御コードを、選択回路14に出力する(ステップS18)。これにより、デジタル制御発振器16は、第2制御コードに応じた発振周波数の出力クロック信号Foutを生成して出力するようになる。
【0032】
次に、周波数制御回路22は、所定時間経過後に、デジタル制御発振器16の発振周波数を制御する第2制御コードを1段階上げる(ステップS20)。第2制御コードの上げ幅は、デジタル制御発振器16やデジタルPLL回路1の特性に応じて任意に定めることができる。例えば、発振周波数として10KHzずつ上げるような想定の第2制御コードを出力してもよいし、或いは、第2制御コードのデジタル値として100ずつ上げるような第2制御コードを出力してもよい。
【0033】
次に、周波数制御回路22は、この起動シーケンスが終了したかどうかを判断する(ステップS22)。上述したように、例えば、予め定められた所定の高さの発振周波数に対応する制御コードまで第2制御コードを上げた場合や、周波数制御入力FCWで指定された制御目標の周波数に対応する制御コードまで第2制御コードを上げた場合に、周波数制御回路22は、起動シーケンスが終了したと判断する。
【0034】
周波数制御回路22は、起動シーケンスが終了していないと判断した場合(ステップS22:No)には、ステップS20に戻り、所定時間経過後に、再度、デジタル制御発振器16の発振周波数を制御する第2制御コードを1段階上げる。一方、周波数制御回路22は、起動シーケンスが終了したと判断した場合(ステップS22:Yes)には、第1制御コードを選択する選択制御信号を選択回路14に出力する(ステップS24)。これにより、選択回路14は、第1制御コードを選択して選択制御コードとして出力するようになり、デジタルPLL回路1におけるフィードバック制御が開始される。つまり、周波数制御入力FCWを制御目標の周波数とする出力クロック信号Foutが出力される通常の動作状態となる。
【0035】
次に、起動制御回路18は、タイミング生成回路20に出力する周波数制限信号をディセーブルにする(ステップS26)。これにより、本実施形態に係るデジタルPLL起動処理が終了する。
【0036】
なお、周波数制御回路22が、ステップS16で第2制御コードを選択する選択制御信号を出力した後、ステップS24で第1制御コードを選択する選択制御信号を出力するまでの間、デジタル演算回路12の演算を停止しても構わない。なぜなら、この間、選択回路14は、第2制御コードを選択制御コードとして選択して出力するからである。これにより、デジタル演算回路12における消費電力の削減を図ることができる。
【0037】
なお、周波数制御回路22ではなく、起動制御回路18が、起動シーケンスを終了すべきか否かを判断して、このデジタルPLL起動処理を終了するようにしてもよい。すなわち、起動制御回路18が起動シーケンスを終了すべき条件に到達したと判断した場合に、周波数制限信号をディセーブルにし、この周波数制限信号がディセーブルになったことを受けて、タイミング生成回路20が周波数制御回路22に起動シーケンスの終了を指示するようにしてもよい。
【0038】
図4(a)は、起動シーケンスにおける第2制御コードの経時的変化の一例を表すグラフを示しており、
図4(b)は、その時の出力クロック信号Foutの周波数変化の一例を表すグラフを示している。
【0039】
図4(a)に示すように、起動シーケンスが開始されると、周波数制御回路22が出力する第2制御コードは段階的に上昇していく。この間、選択回路14には、第2制御コードを選択する選択制御信号が周波数制御回路22から出力される。このため、デジタル制御発振器16は、第2制御コードに応じた発振周波数の出力発振信号を生成し、出力クロック信号Foutとして出力する。
【0040】
図4(b)に示すように、第2制御コードが段階的に上がっていくに従って、出力クロック信号Foutの周波数も段階的に上がっていく。そして、所定の周波数まで出力クロック信号Foutの周波数が上がると、選択回路14に、第1制御コードを選択する選択制御信号が周波数制御回路22から出力される。このため、周波数制御入力FCWを制御目標の周波数とするフィードバック制御に切り替わり、出力クロック信号Foutの発振周波数が周波数制御入力FCWの周波数に収束していく。
【0041】
このとき、出力クロック信号Foutの周波数は、制御目標の周波数の近傍まで段階的に上げられていることから、フィードバック制御に切り替わった際のオーバーシュートは抑制される。すなわち、出力クロック信号Foutの周波数のオーバーシュートが小さくなる。
【0042】
図5は、比較例に係るデジタルPLL回路の起動時における、出力クロック信号Foutの周波数の経時的変化を表すグラフの一例を示している。すなわち、この
図5のグラフは、上記の
図4(b)に対応するグラフである。この
図5の比較例におけるデジタルPLL回路では、デジタルPLL回路の起動時に、上述した実施形態のような制御コードを段階的に上げることはせず、周波数制御入力FCWを制御目標の周波数とするフィードバック制御により、デジタルPLL回路を立ち上げている。このため、出力クロック信号Foutの周波数のオーバーシュートが大きくなり、デジタルPLL回路1の回路設計をする際に、大きなSTA制約マージンが必要になっている。
【0043】
一方、本実施形態に係るデジタルPLL回路1においては、
図4から分かるように、制御目標となる周波数の近傍まで段階的に制御コードを上げることから、出力クロック信号Foutの周波数のオーバーシュートを小さくすることができ、必要なSTA制約マージンを小さくすることができる。これにより、起動時のオーバーシュートを現実的な範囲に抑えるために、アナログ設計を繰り返すことによる工数の増加も、削減することができる。つまり、STA制約による周波数の過剰マージンを削減することにより、回路設計に要する費用や時間を削減することができる。ひいては、デジタルPLL回路1の起動時におけるオーバーシュートや不安定性を抑えるための設計工数を削減することができる。
【0044】
さらには、
図4及び
図5を比較すると分かるように、出力クロック信号Foutの変動が周波数許容誤差の範囲内に収まるまでの時間であるロックアップタイムも、短くすることができる。つまり、オーバーシュートが小さくなることから、デジタルPLL回路1を起動してから短い時間で、出力クロック信号Foutの使用が可能となる。
【0045】
これは、PVT条件のばらつきに拘わらず、ロックアップタイムの短縮を図ることができる。すなわち、ファスト条件であっても、スロー条件であっても、出力クロック信号Foutのロックアップタイムを短くすることができる。
【0046】
なお、
図1に示すデジタルPLL回路1においては、起動制御回路18と、タイミング生成回路20と、周波数制御回路22とが、このデジタルPLL回路1の内部に設けられているが、これらの回路は必ずしも、デジタルPLL回路1の内部に設けられている必要はない。すなわち、起動制御回路18と、タイミング生成回路20と、周波数制御回路22とのうちの少なくとも1つを、デジタルPLL回路1の外部に設け、デジタルPLL回路1の外部から、このデジタルPLL回路1の内部に信号や指令が入力されるようにしてもよい。
【0047】
〔第2実施形態〕
第2実施形態に係るデジタルPLL回路1は、上述した第1実施形態に係るデジタルPLL回路1の起動が終了して通常の動作状態となった場合に、製造ばらつきに応じて、デジタル制御発振器16に入力される制御コードの最大値に制限を設けることにより、デジタルPLL回路1がデッドロック状態に陥るのを回避せんとしたものである。以下、上述した第1実施形態と異なる部分を説明する。
【0048】
図6は、本実施形態に係るデジタルPLL回路1の構成を説明するブロック図である。この
図6に示すように、本実施形態に係るデジタルPLL回路1の基本的構成は、上述した第1実施形態と同様であるが、周波数制御回路222と選択回路214の機能が異なっている。すなわち、周波数制御回路222は、第1実施形態における周波数制御回路22に対応する回路であり、選択回路214は、第1実施形態における選択回路14に対応する回路である。
【0049】
本実施形態に係るデジタルPLL回路1の周波数制御回路222においても、デジタルPLL回路1が通常の動作状態に至るまでの起動シーケンスは、上述した第1実施形態と同じである。但し、周波数制御回路222は、デジタルPLL回路1の起動シーケンスが終了した後、第1制御コードと第2制御コードのうちの低い方の制御コードを選択する選択制御信号を、選択回路214に出力する。すなわち、本実施形態においては、周波数制御回路222が出力する選択制御信号には、第2制御コードを選択する制御信号の状態と、第1制御コードと第2制御コードのうちの低い方を選択する制御信号の状態とがある。
【0050】
そして、デジタルPLL回路1が通常の動作状態となり、第1制御コードと第2制御コードのうちの低い方の制御コードを選択する選択制御信号が入力された選択回路214は、この選択制御信号の指示に基づいて、デジタル演算回路12から入力された第1制御コードと、周波数制御回路222から入力された第2制御コードのうちの低い方の制御コードを選択して、選択制御コードとして、デジタル制御発振器16に出力する。つまり、周波数制御回路222から入力される第2制御コードのデジタル値が、デジタル制御発振器16に入力される制御コードのデジタル値の最大値となる。
【0051】
このため、本実施形態に係るデジタルPLL回路1おいては、
図3に示したデジタルPLL起動処理を終えた後、周波数制御回路222が出力する第2制御コードは、デジタル制御発振器16に入力される選択制御コードの最大値となる。つまり、この第2制御コードに対応する発振周波数が、このデジタルPLL回路1の最大発振周波数となる。本実施形態に係るデジタルPLL回路1では、この第2制御コードで定められる最大発振周波数を、STA制約の範囲内となるように設定することにより、通常の動作状態においてデジタルPLL回路1がデッドロック状態となるのを回避する。
【0052】
しかしながら、PVT条件の変動より、STA制約の範囲は変動し得る。ここで、1つの完成品としての半導体集積回路におけるSTA制約の変動範囲は、電圧(V)と温度(T)に依存するが、製造プロセス(P)は既に確定しており依存しない。この特性を利用して、デジタルPLL回路1がデッドロック状態に陥った際にデジタル制御発振器16に入力されていた制御コードに基づいて、製造プロセス(P)の条件を推定し、電圧(V)と温度(T)に依存して変動し得るSTA制約の範囲を算出する。そして、この算出結果に基づいて、デジタル制御発振器16に入力される制御コードの最大値を設定し、これをデジタルPLL回路1の通常の動作状態における第2制御コード、つまり最大発振周波数とする。
【0053】
図7は、このことを説明するために、デジタル制御発振器16に入力される制御コードと、デジタル制御発振器16から出力されるクロック信号の周波数、つまり出力クロック信号Foutの周波数との関係の一例を表すグラフを示している。この
図7において、実線は製造プロセスがFAST条件となった場合の制御コードと周波数の関係の一例を示しており、一点鎖線は製造プロセスSLOW条件となった場合の制御コードと周波数の関係の一例を示している。
【0054】
FAST条件においては、制御コードがCODE1のときに、デジタル制御発振器16の発振周波数が周波数制御入力FCWと合致した目標の周波数となる。このため、このデジタルPLL回路1の電圧(V)と温度(T)の変動を考慮した制御コードの最大値は、MXCODE1となる。この制御コードの最大値MXCODE1を周波数制御回路222に設定しておき、通常の動作状態におけるデジタルPLL回路1の最大発振周波数とする。
【0055】
一方、SLOW条件においては、制御コードがCODE2のときに、デジタル制御発振器16の発振周波数が周波数制御入力FCWと合致した目標の周波数となる。このため、このデジタルPLL回路1の電圧(V)と温度(T)の変動を考慮した制御コードの最大値は、MXCODE2となる。この制御コードの最大値MXCODE2を周波数制御回路222に設定しておき、通常の動作状態におけるデジタルPLL回路1の最大発振周波数とする。
【0056】
デジタルPLL回路1がどのような条件となるのかは、このデジタルPLL回路1が搭載された半導体集積回路に依存する。このため、例えば、デジタルPLL回路1を一旦、デッドロック状態に陥らせて、このデッドロック状態となったときのデジタル制御発振器16の周波数や制御コードに基づいて、そのデジタルPLL回路1がFAST条件なのか、SLOW条件なのか、それともこれらの中間のどの程度の条件にあるのかを推定する。そして、この推定結果に基づいて、通常の動作状態における第2制御コードを周波数制御回路222に設定する。
【0057】
この通常の動作状態における第2制御コードを周波数制御回路222に設定するタイミングは任意である。例えば、周波数制御入力FCWのデジタル値が変更された場合に、自動シーケンスにより通常の動作状態における第2制御コードを設定するようにしてもよいし、或いは、このデジタルPLL回路1が搭載された半導体集積回路の出荷時に工場で設定するようにしてもよい。
【0058】
以上のように、本実施形態に係るデジタルPLL回路1によれば、デジタルPLL回路1が起動シーケンスを終了して通常の動作状態になった場合でも、デジタルPLL回路1が生成する出力クロック信号Foutの周波数の最大値を制限することができる。このため、デジタルPLL回路1がデッドロック状態になるのを回避することができる。これにより、想定外の外乱により、デジタルPLL回路1がSTA制約を超える周波数の出力クロック信号Foutを生成しようとして、デッドロック状態に陥るのを回避することができる。
【0059】
なお、本実施形態に係るデジタルPLL回路1においても、上述した第1実施形態と同様に、デジタルPLL回路1の起動時には
図3に示したデジタルPLL起動処理が実行されることから、起動時における出力クロック信号Foutの周波数のオーバーシュートを抑制し、ロックアップタイムの短縮を図ることができる。
【0060】
以上、いくつかの実施形態を説明したが、これらの実施形態は、例としてのみ提示したものであり、発明の範囲を限定することを意図したものではない。本明細書で説明した新規な装置および方法は、その他の様々な形態で実施することができる。また、本明細書で説明した装置および方法の形態に対し、発明の要旨を逸脱しない範囲内で、種々の省略、置換、変更を行うことができる。添付の特許請求の範囲およびこれに均等な範囲は、発明の範囲や要旨に含まれるこのような形態や変形例を含むように意図されている。
【符号の説明】
【0061】
1 デジタルPLL回路
10 位相差演算回路
10a カウンタ回路
10b TDC
12 デジタル演算回路
14 選択回路
16 デジタル制御発振器
18 起動制御回路
20 タイミング生成回路
22 周波数制御回路
214 選択回路
222 周波数制御回路
FCW 周波数制御入力
Fout 出力クロック信号
Fref 入力クロック信号