(58)【調査した分野】(Int.Cl.,DB名)
前記制御論理が、前記入力クロックの1つまたは複数のクロック周期の間の前記出力クロックのサイクル数に基づいて前記修正制御設定を決定する、請求項3に記載のデバイス。
第1の期間の間、発振するよう構成されたディジタル制御発振器であって、前記第1の期間は前記ディジタル制御発振器の出力クロックの少なくとも1クロック周期である、ディジタル制御発振器と、
前記第1の期間の後、前記ディジタル制御発振器の発振を選択的に停止させるための論理であって、前記ディジタル制御発振器が、前記発振が停止される間の第2の期間において、アクティブモードにとどまるように構成され、前記ディジタル制御発振器の発振を停止させても、前記ディジタル制御発振器の出力クロックの周波数が所望の周波数の許容範囲内に維持される、論理と、
前記ディジタル制御発振器が発振している間の前記第1の期間の修正制御設定を決定し、かつ、前記発振が停止される前記第2の期間の間、前記修正制御設定を前記ディジタル制御発振器に選択的に適用する制御論理と
を備えるデバイス。
第1の期間の間、ディジタル制御発振器が発振する間に、修正制御設定を決定するステップであって、前記第1の期間は前記ディジタル制御発振器の出力クロックの少なくとも1クロック周期である、ステップと、
前記第1の期間の後、前記ディジタル制御発振器の発振を選択的に停止させるステップであって、前記ディジタル制御発振器が、前記発振が停止される間の第2の期間において、アクティブモードにとどまるように構成され、前記ディジタル制御発振器の発振を停止させても、前記ディジタル制御発振器の出力クロックの周波数が所望の周波数の許容範囲内に維持される、ステップと、
前記発振が停止される前記第2の期間の間、前記修正制御設定を前記ディジタル制御発振器に適用するステップと
を含む方法。
【発明を実施するための形態】
【0012】
図1を参照すると、クロックを生成するように動作させることができるデバイスの特定の例示的な実施形態が全体的に100で示されている。デバイス100は、比較的低い周波数クロックを生成するように構成することができる。デバイス100は、制御論理102、ディジタル制御発振器(DCO)104および停止論理106を含む。制御論理102はDCO104に結合することができる。停止論理106はDCO104に結合することができる。DCO104は、制御論理102から制御設定108を受け取り、かつ、制御論理102に出力クロック114を提供するように構成することができる。DCO104は、さらに、停止論理106からイネーブル110を受け取るように構成することができる。
【0013】
特定の実施形態では、制御論理102は、入力クロック112および出力クロック114を受け取り、かつ、制御設定108を生成するように構成することができる。制御論理102は制御設定108を決定することができ、また、制御設定108をDCO104に選択的に適用することができる。たとえば制御設定108は、初期制御設定であっても、あるいは修正制御設定であってもよい。制御論理102は、ある期間の間、初期制御設定をDCO104に適用するように構成することができる。上記期間は、DCO104の出力クロック114の少なくとも1クロック周期であってもよい。制御論理102は、さらに、上記期間の間に修正制御設定を決定するように構成することができる。制御論理102は、上記期間の後の第2の期間の間、修正制御設定を適用することができる。特定の実施形態では、制御論理102は、出力クロック114の立下りエッジで修正制御設定108を適用することができる。上記期間および第2の期間は、時間的に連続していてもよい。別の実施形態では、制御設定はアナログ電圧であってもよい。さらに別の実施形態では、制御設定はアナログ電流であってもよい。
【0014】
制御論理102は、出力クロック114の周波数に基づいて制御設定108を調整するように構成することができる。たとえば制御論理102は、出力クロック114の周波数が所望の周波数より低いと決定すると、それに応じて制御設定108の値を増分する、つまり大きくすることができる。同様に、制御論理102は、出力クロック114の周波数が所望の周波数より高いと決定すると、それに応じて制御設定108の値を減分する、つまり小さくすることができる。別法としては、制御論理102は、出力クロック114の周波数が所望の周波数より高いと決定すると、それに応じて制御設定108の値を増分する、つまり大きくすることも可能である。同様に、制御論理102は、出力クロック114の周波数が所望の周波数より低いと決定すると、それに応じて出力クロック114の周波数を高くするために制御設定108の値を減分する、つまり小さくすることができる。特定の実施形態では、制御論理102は、入力クロック112の1つまたは複数のクロック周期の間の出力クロック114のサイクル数に基づいて制御設定108を決定することができる。
【0015】
特定の実施形態では、DCO104は、DCO104の発振に基づいて出力クロック114を生成するように構成することができる。出力クロック114の周波数は、制御設定108に応じて調整することができる。たとえば、出力クロック114は、制御設定108の第1の値に基づく第1の周波数値を有することができ、また、制御設定108の第2の値に基づく第2の周波数値を有することができる。たとえばDCO104は、制御設定108の値が増分されると、それに応じて出力クロック114の周波数を高くすることができる。同様に、DCO104は、制御設定108の値が減分されると、それに応じて出力クロック114の周波数を低くすることができる。代替実施形態では、DCO104は、制御設定108の値が減分されると、それに応じて出力クロック114の周波数を高くすることができる。同様に、DCO104は、制御設定108の値が増分されると、それに応じて出力クロック114の周波数を低くすることができる。
【0016】
特定の実施形態では、出力クロック114の周波数は、入力クロック112の周波数のほぼ倍数にすることができる。たとえば出力クロック114の周波数は、入力クロック112の周波数の整数倍にほぼ等しくすることができる。たとえば、出力クロック114の周波数は、入力クロック112の周波数の整数倍よりも高い、あるいは低い特定の百分率(たとえば6.25%)にすることができる。別の例として、出力クロック114の周波数は、入力クロック112の周波数の非整数倍にほぼ等しくすることも可能である。たとえば、出力クロック114の周波数は、入力クロック112の周波数の非整数倍よりも高い、あるいは低い特定の百分率(たとえば6.25%)にすることができる。
【0017】
停止論理106は、DCO104に提供されるイネーブル信号110を生成するように構成することができる。停止論理106は、ある期間の後、DCO104の発振を選択的に停止させることができる。特定の実施形態では、上記期間は、DCO104の発振の開始または再開と、DCO104の発振を停止させることができる値にイネーブル信号110が切り換わる前の出力クロック114の最後のアクティブエッジ(たとえば立上りエッジ)との間の期間に対応していてもよい。停止論理106は、イネーブル110をDCO104の発振を可能にする第1の値からDCO104の発振を停止させる第2の値に変更することによってDCO104の発振を停止させることができる。たとえば停止論理106は、DCO104が出力クロック114を生成した後、出力クロック114の少なくとも1つのサイクルの間、イネーブル110を第1の値から第2の値に変更することができる。たとえば、停止論理106は、DCO104が発振を開始した後、出力クロック114のほぼ2クロックサイクルの後、イネーブル110の値を「1」のディジタル論理値から「0」のディジタル論理値に変更することができる。
【0018】
停止論理106は、さらに、第2の期間の後、DCO104の発振を再開させるように構成することができる。たとえば停止論理106は、イネーブル110をDCO104の発振を停止させる第2の値からDCO104の発振を可能にする第1の値に変更することによってDCO104の発振を再開させることができる。停止論理106は、第2の期間の後、DCO104の発振を再開させることができる。停止論理106は、さらに、第3の期間の後、DCO104の発振を停止させるように構成することができる。第3の期間は、第2の期間に引き続く期間に対応していてもよい。たとえばこの第3の期間の間に第2の修正制御設定を決定することができ、また、この第3の期間の後、第2の修正制御設定をDCO104に適用することができる。
【0019】
動作中、制御論理102は、ある期間の間、初期制御設定108をDCO104に適用することができる。DCO104は、DCO104に適用された初期制御設定108に応答して、第1の周波数を有する出力クロック114を生成することができる。また、制御論理102は、上記期間の間に、出力クロック114の第1の周波数に基づいて修正制御設定を決定することも可能である。たとえば入力クロック112の1クロック周期の間の出力クロック114のサイクル数が目標サイクル数よりも少ないことを制御論理102が決定すると、制御論理102は、出力クロック114の周波数が所望の周波数より低いことを決定することができる。したがって制御論理102は、出力クロック114の周波数を高くする修正制御設定を決定することができる。別の例として、入力クロック112の1クロック周期の間の出力クロック114のサイクル数が目標サイクル数よりも多いことを制御論理102が決定すると、制御論理102は、出力クロック114の周波数が所望の周波数より高いと決定することができる。したがって制御論理102は、出力クロック114の周波数を低くする修正制御設定を決定することができる。
【0020】
上記期間の後、第2の期間の間、停止論理106は、イネーブル110を発振を可能にする第1の値から発振を使用不能にする(すなわち停止させる)第2の値に変更することによってDCO104の発振を停止させることができる。たとえば停止論理106は、DCO104の発振の開始または再開に引く続く出力クロック114の特定のサイクル数の後、DCO104の発振を停止させることができる。DCO104は、DCO104の発振が停止している間、アクティブモードにとどまることができる。停止論理106は、第2の期間の間、修正制御設定を適用することができる。また、停止論理106は、第2の期間の後、DCO104の発振を再開させることも可能である。たとえば、停止論理106は、イネーブル110をDCO104の発振を可能にする値に変更することによってDCO104の発振を再開させることができる。特定の実施形態では、第2の期間は、上記期間が終了すると開始することができ、また、イネーブル110がDCO104の発振を可能にすることができる値に切り換わる前に終了することができる。
【0021】
出力クロック114の周波数に基づいて制御設定108を調整することにより、出力クロック114の周波数が所望の周波数にほぼ等しくなるまで、あるいは出力クロック114の周波数が所望の周波数の許容範囲内になるまで、出力クロック114の周波数を繰返し変更することができる。入力クロック112の1つまたは複数のクロック周期の間の出力クロック114のサイクル数に基づいて制御設定108を調整することにより、出力クロック114は、入力クロック112の周波数のほぼ倍数の周波数を有することができる。さらに、修正制御設定を適用している間、DCO104の発振を停止させることにより、出力クロック114中のグリッチを防止することができる。
【0022】
図1は、入力クロック112が制御論理102に提供されることを示しているが、代替実施形態では、制御論理102は、出力クロック114の周波数が高すぎるのか、低すぎるのか、あるいは所望の周波数の許容範囲内であるのかどうかを示す周波数指示を受け取ることも可能である。制御論理102は、この周波数指示に基づいて制御設定108を決定することができる。特定の実施形態では、DCO104は、ディジタル-アナログ変換器および電圧制御発振器を含むことができる。別の実施形態では、DCO104は、ディジタル-アナログ変換器および電流制御発振器を含むことができる。さらに、特定の実施形態では、制御設定108は、アナログ電流をベースとする制御設定またはアナログ電圧をベースとする制御設定であってもよく、また、DCO104は、アナログ制御設定を受け取るように構成される発振器であってもよい。
【0023】
図2を参照すると、
図1のデバイス100の一実装態様の特定の例示的な実施形態が全体的に200で示されている。デバイス200は、入力分周器212、制御論理102、DCO104、停止論理106および出力分周器242を含む。入力分周器212は制御論理102に結合されている。出力分周器242は、DCO104および停止論理106に結合されている。
【0024】
入力分周器212は、入力クロック112を分周し、分周入力クロック(divclki)246を生成するように構成することができる。たとえば入力分周器212は、入力クロック112の周波数が分周入力クロック(divclki)246の周波数の倍数になるように入力クロック112を分周することができる。たとえば、入力クロック112の周波数は、分周入力クロック(divclki)246の周波数の整数倍または非整数倍にすることができる。特定の実施形態では、分周入力クロック(divclki)246は制御論理102に対する入力である。
【0025】
制御論理102は、入力クロック112および分周入力クロック(divclki)246を受け取るように構成することができる。制御論理102は、停止論理106からイネーブル110を受け取ることも可能であり、また、DCO104から出力クロック114を受け取ることができる。特定の実施形態では、制御論理102は、少なくとも1つの自動試験パターン生成試験を使用して試験することができるように構成することができる。
図1に関連して説明したように、制御論理102は制御設定108を決定することができ、また、制御設定108をDCO104に適用することができる。たとえば制御設定108は、DCO104の可変遅延素子226に適用することができる。出力クロック114の周波数は、DCO104の可変遅延素子226に提供することができる制御設定108に応じて調整することができる。制御論理102は、イネーブル110を使用して、DCO104に適用される制御設定108の値をいつ変更するかを決定することができる。別法としては、制御論理102は、計数器を使用して、制御設定108の値をいつ変更するかを決定することができる。
【0026】
特定の実施形態では、制御論理102は、入力クロック112の1つまたは複数のクロック周期の間の出力クロック114のサイクル数に基づいて制御設定108を決定することができる。別法としては、制御論理102は、入力クロック112の代わりに分周入力クロック(divclki)246を使用して制御設定108を決定することも可能である。たとえば制御論理102は、分周入力クロック(divclki)246の1つまたは複数のクロック周期の間の出力クロック114のサイクル数に基づいて制御設定108を決定することができる。制御論理102は、ある期間の間に制御設定108を決定することができる。特定の実施形態では、上記期間は、分周出力クロック(divclko)248のアクティブエッジ(たとえば立上りエッジ)に引き続き、かつ、出力クロック114の特定のアクティブエッジ(たとえば立上りエッジ)で終了する期間に対応していてもよい。
【0027】
特定の実施形態では、制御論理102は、制御設定108を調整して、所望の周波数にほぼ等しい周波数を有する出力クロック114を生成することができる。制御論理102は、制御設定108を調整して、出力クロック114の周波数が所望の周波数の許容範囲内になるまで、出力クロック114の周波数を高くし、あるいは低くすることができる。たとえば所望の周波数は、周波数値として指定することができ、また、許容範囲は、所望の周波数の百分率として指定することができる。所望の周波数は、固定であっても、あるいはプログラム可能であってもよい。所望の周波数は、デバイス200の電源投入時に制御論理102に提供されても、ハードワイヤードされても、あるいはそれらの組合せであってもよい。また、許容範囲も、同じく固定であっても、あるいはプログラム可能であってもよい。
【0028】
代替実施形態では、入力クロック112または分周入力クロック(divclki)246の1つまたは複数のクロック周期の間の出力クロック114の目標クロックサイクル数を指定することができる。たとえば出力クロック114の目標クロックサイクル数は、所望の周波数に対応していてもよい。たとえば、入力クロック112のクロック周期の間の出力クロック114のクロックサイクル数が出力クロック114の目標クロックサイクル数の特定の百分率内である場合に、出力クロック114の周波数を所望の周波数の許容範囲内にすることができる。非制限の一例として、許容範囲は、出力クロック114の所望の周波数に対応する出力クロック114の目標クロックサイクル数の±6.25パーセントの範囲に対応していてもよい。代替実施形態では、許容範囲は、出力クロック114の目標クロックサイクル数を含む第1の数と第2の数との間の範囲として指定することができる。出力クロック114の目標クロックサイクル数は、固定であっても、あるいはプログラム可能であってもよい。出力クロック114の目標クロックサイクル数は、デバイス200の電源投入時に制御論理102に提供されても、ハードワイヤードされても、あるいはそれらの任意の組合せであってもよい。また、許容範囲も、同じく固定であっても、あるいはプログラム可能であってもよい。
【0029】
制御論理102は、さらにロックインジケータ244を生成するように構成することができる。ロックインジケータ244は、DCO104の出力クロック114の周波数が所望の周波数の許容範囲内であることを示す指示を提供することができる。特定の実施形態では、制御論理102は、入力クロック112の各サイクルの間に、出力クロック114の周波数が所望の周波数の許容範囲内であるかどうかを決定する。
【0030】
特定の実施形態では、DCO104は、
図2に示されているように可変遅延素子226、インバータ228および他のディジタル論理ゲートを含む。DCO104は、試験モードインジケータ(test_mode)230、入力クロック112、制御設定108およびイネーブル110を受け取るように構成することができ、また、出力クロック114を生成するように構成することができる。出力クロック114の周波数は、DCO104の可変遅延素子226に提供することができる制御設定108に応じて調整することができる。たとえば出力クロック114の周波数は、制御設定108に基づいて可変遅延素子226の遅延を変更することによって調整することができる。
【0031】
非制限の一例として、可変遅延素子226は、32の設定を有することができ、また、制御設定108は、5ビット幅の設定であってもよい。出力クロック114は、可変遅延素子226の出力(nclk)204の反転バージョンであってもよい。特定の実施形態では、可変遅延素子226は、直列に接続された奇数個のインバータを含むことができる。
【0032】
試験モードインジケータ(test_mode)230は、DCO104の動作モードを制御することができる。たとえば入力クロック112は、試験動作モードに対応する試験モードインジケータ(test_mode)230の第1の値に基づいて、可変遅延素子226を通り、かつ、インバータ228を通って伝搬し、出力クロック114として出力される。試験モードインジケータ(test_mode)230のこの第1の値により、DCO104を少なくとも1つの自動試験パターン生成試験を使用して試験することができる。さらに、試験モードインジケータ(test_mode)230のこの第1の値により、出力クロック114を自動試験パターン生成と両立させることができる。
【0033】
DCO104は、試験モードインジケータ(test_mode)230の第2の値に基づいて、アクティブ(すなわち非試験)モードで動作することができる。アクティブ動作モードでは、出力(nclk)204の値は、イネーブル110の値に応じて論理ゲートを介して可変遅延素子226に提供することができる。たとえば出力(nclk)204の値は、イネーブル110が第1の値を有している場合、論理ゲートを介して可変遅延素子226に帰還することができる。イネーブル110のこの第1の値により、出力(nclk)204の値を可変遅延素子226に提供することができ、それによりDCO104を発振させることができる。イネーブル110の第2の値は、出力(nclk)204の値が可変遅延素子226に提供されるのを防止することができる。出力(nclk)204の値が可変遅延素子226に提供されるのを防止することにより、イネーブル110のこの第2の値は、DCO104の発振を防止することができる。
【0034】
特定の実施形態では、DCO104の出力クロック114は、第1の処理回路に提供することができる。DCO104は、この第1の処理回路と電源を共有することができる。
【0035】
出力分周器242は、出力クロック114を分周し、分周出力クロック(divclko)248を生成するように構成されている。たとえば出力分周器242は、出力クロック114の周波数が分周出力クロック(divclko)248の周波数の倍数になるように出力クロック114を分周することができる。たとえば、出力クロック114の周波数は、分周出力クロック(divclko)248の周波数の整数倍または非整数倍にすることができる。特定の実施形態では、分周出力クロック(divclko)248は、停止論理106に提供することができる。出力クロック114および分周出力クロック(divclko)248は、互いに同期させることができる。
【0036】
停止論理106は、制御論理102およびDCO104に提供されるイネーブル110を生成するように構成することができる。特定の実施形態では、停止論理106は、第1のフリップフロップ214、直列に接続されたフリップフロップ216、第1のディジタル論理ゲート218、第2のディジタル論理ゲート220、第3のディジタル論理ゲート222および第4のディジタル論理ゲート224を含む。第1のフリップフロップ214は、分周出力クロック(divclko)248によってクロックすることができる。第1のフリップフロップ214は、直列に接続されたフリップフロップ216の第1のフリップフロップに入力することができる非同期イネーブル(async_en)232を生成するように構成することができる。直列に接続されたフリップフロップ216のすべてのフリップフロップは、出力クロック114によってクロックすることができる。直列に接続されたフリップフロップ216の最後のフリップフロップは、直列に接続されたフリップフロップ216を通って伝搬することができる非同期イネーブル(async_en)232に基づいて同期イネーブル(sync_en)234を生成するように構成することができる。
【0037】
非同期イネーブル(async_en)232および同期イネーブル(sync_en)234は、第1のディジタル論理ゲート218に結合することができる。リセット236およびFLL_enable238は、第2のディジタル論理ゲート220に入力することができる。第1のディジタル論理ゲート218の出力および第2のディジタル論理ゲート220の出力は、第3のディジタル論理ゲート222に結合することができる。第3のディジタル論理ゲート222は、DCO104および制御論理102に提供されるイネーブル110を生成することができる。イネーブル110および出力クロック114は、第4のディジタル論理ゲート224に入力することができる。第4のディジタル論理ゲート224は、出力osc_stopped240を生成することができる。出力osc_stopped240は、第1のフリップフロップ214のリセット入力(aset)に提供することができる。一例として、出力osc_stopped240がアサートされると(たとえば出力osc_stopped240がディジタル論理値「1」を有している場合)、第1のフリップフロップ214の出力は、ディジタル論理値「1」などの既知の値に強制することができ、また、出力osc_stopped240がデアサートされると、第1のフリップフロップ214の出力は、分周入力クロック(divclki)246の次の立上りエッジまで不変を維持することができる。
【0038】
動作中、入力分周器212は、入力クロック112を分周し、分周入力クロック(divclki)246を制御論理102に提供することができる。出力分周器242は、出力クロック114を分周し、分周出力クロック(divclko)248を停止論理106に提供することができる。制御論理102は、入力クロック112のクロック周期の間の出力クロック114のサイクル数を決定することができる。ある期間の間、制御論理102は、上記期間の前に決定された値を有する制御設定108をDCO104に適用し続けることができる。上記期間は、分周出力クロック(divclko)248のエッジ(たとえば立上りエッジ)の後の出力クロック114のほぼ第1のエッジ(たとえば第1の立上りエッジ)で開始することができ、また、同期イネーブル(sync_en)234の切換え(たとえばディジタル論理値「1」からディジタル論理値「0」への切換え)をもたらすほぼ出力クロック114のエッジ(たとえば立上りエッジ)で終了することができる。制御論理102は、上記期間の間に、入力クロック112のクロック周期中の出力クロック114のサイクル数に基づいて、出力クロック114の周波数が高すぎるのか、低すぎるのか、あるいは所望の周波数に対して許容範囲内であるのかどうかを決定することができる。制御論理102は、出力クロック114の周波数が高すぎるのか、低すぎるのか、あるいは所望の周波数に対して許容範囲内であるのかどうかの決定に応答して制御設定108を決定することができる。出力クロック114の周波数が所望の周波数に対して許容範囲内である場合、制御論理102は、出力クロック114の周波数が所望の周波数の許容範囲内であることを示す値を有するロックインジケータ244を生成することができる。出力クロック114の周波数が高すぎるか、あるいは低すぎる場合、制御論理102は、出力クロック114の周波数が所望の周波数の許容範囲外であることを示す値を有するロックインジケータ244を生成することができる。
【0039】
上記期間に引き続く第2の期間の間に、停止論理106は、DCO104の発振を停止させることができる値を有するイネーブル110を生成することができる。DCO104の発振は、DCO104の出力クロック114にクロックグリッチ事象をもたらすことなく選択的に停止させることができる。第2の期間の間、制御論理102は、出力クロック114のエッジ(たとえば立下りエッジ)で、上記期間中に決定された制御設定108をDCO104に適用することができる。第2の期間の後、制御論理102は、DCO104の発振を可能にするイネーブル110の値を生成することによってDCO104の発振を再開させることができる。
【0040】
第2の期間に引き続く第3の期間の間に、制御論理102は、出力クロック114の周波数が高すぎるのか、低すぎるのか、あるいは所望の周波数に対して許容範囲内であるのかどうかを決定することができる。出力クロック114の周波数が高すぎるのか、低すぎるのか、あるいは所望の周波数に対して許容範囲内であるのかどうかについての制御論理102による決定に引き続いて、上で説明した制御論理102、DCO104および停止論理106の後続する動作を繰り返すことができる。たとえば停止論理106は、第3の期間の後、DCO104の発振を選択的に停止させることができる。
【0041】
出力クロック114の周波数が高すぎるのか、低すぎるのか、あるいは所望の周波数の許容範囲内であるのかどうかを決定することにより、所望の周波数の許容範囲内になるよう、出力クロック114の周波数を調整することができる。さらに、出力クロック114の周波数が所望の周波数の許容範囲内であるかどうかを示すロックインジケータ244を提供することにより、デバイス200は、出力クロック114を使用するかどうかについての他のデバイスによる決定を可能にすることができる。出力クロック114にグリッチをもたらすことなくDCO104の発振を停止させることにより、デバイス200は、他のデバイスが使用するためのグリッチのないクロックを提供することができる。
【0042】
図2に示されている直列に接続されたフリップフロップ216は、4個のフリップフロップを含んでいるが、代替実施形態では、直列に接続されたフリップフロップ216は、4個のフリップフロップよりも少ない、あるいは4個のフリップフロップよりも多いフリップフロップを有することができる。さらに、
図2に示されている個々のディジタル論理ゲートまたはディジタル論理ゲートのグループは、1つまたは複数の機能的に等価の論理ゲートに置き換えることができる。さらに、制御論理102は、カウンタを使用して、上記期間および第2の期間などの期間の一部またはすべての開始および/または終了を決定することも可能である。
【0043】
図3を参照すると、出力クロック114などの出力クロックを生成するための
図2のデバイス200の動作に対応する信号を示すタイミング図が全体的に300で示されている。この線
図300は、出力クロック114、出力(nclk)204、非同期イネーブル(async_en)232、同期イネーブル(sync_en)234、イネーブル110および出力osc_stopped240を含む。
【0044】
非同期イネーブル(async_en)232は、遷移320でハイ値からロー値へ遷移する。出力クロック114は、遷移310でロー値からハイ値へ遷移する。特定の実施形態では、この遷移310は、
図1および
図2に関連して説明した期間などのある期間の開始に対応していてもよい。遷移322で、出力クロック114は、再びロー値からハイ値へ遷移する。特定の実施形態では、この遷移322は、
図1および
図2に関連して説明した期間などのある期間の終了に対応していてもよい。また、この遷移322は、
図1および
図2に関連して説明した第2の期間などの第2の期間の開始を示すことも可能である。
図1および
図2に関連して説明したように、制御論理102などの制御論理は、上記期間の間に制御設定108を決定することができる。
【0045】
同期イネーブル(sync_en)234は、遷移322における出力クロック114の立上りエッジに応答して、遷移324でハイ値からロー値に遷移する。遷移326でイネーブル110は、ロー値を有している非同期イネーブル(async_en)232に応答してハイ値からロー値に遷移し、また、同期イネーブル(sync_en)234は、ハイ値からロー値に遷移する。特定の実施形態では、イネーブル110のロー値は、
図1および
図2のDCO104などのDCOの発振を停止させることができる。
【0046】
遷移328で出力クロック114は、ハイ値からロー値に遷移する。特定の実施形態では、遷移328で制御論理(たとえば
図1および
図2の制御論理102)は、上記期間の間に決定された制御設定をDCOに適用することができる。出力osc_stopped240は、ロー値を有しているイネーブル110に基づいて遷移330でロー値からハイ値に遷移し、また、出力クロック114は、遷移328でハイ値からロー値に遷移する。特定の実施形態では、遷移330は、
図1および
図2に関連して説明した第2の期間などの第2の期間の終了に対応している。遷移330における出力osc_stopped240のロー値からハイ値への遷移に応答して、非同期イネーブル(async_en)232は、遷移332でロー値からハイ値に遷移する。たとえばosc_stopped240は、非同期イネーブル(async_en)232をロー値からハイ値に遷移させるために、
図2の第1のフリップフロップ214などのフリップフロップのリセット入力に提供することができる。
【0047】
遷移332における非同期イネーブル(async_en)232のロー値からハイ値への遷移に応答して、イネーブル110は、遷移334でロー値からハイ値に遷移する。特定の実施形態では、イネーブル110のハイ値は、
図1および
図2のDCO104などのDCOの発振を可能にする。遷移336で出力osc_stopped240は、遷移334におけるイネーブル110のロー値からハイ値への遷移に応答して、ハイ値からロー値に遷移する。特定の実施形態では、出力osc_stopped240のロー値は、
図2の第1のフリップフロップ214などのフリップフロップのリセットを開放する。代替実施形態では、イネーブル110のロー値はDCOの発振を可能にすることができ、また、出力osc_stopped240のハイ値は、フリップフロップのリセットを開放することができる。
【0048】
遷移338で出力(nclk)204(
図2の可変遅延素子226などの可変遅延素子の出力に対応する)は、ハイ値からロー値に遷移する。334におけるイネーブル110の遷移と、338における出力(nclk)204の遷移との間のタイミングの差は、場合によっては、部分的には可変遅延素子を介した遅延に基づいている。遷移340で出力クロック114は、338における出力(nclk)204の遷移に応答してロー値からハイ値に遷移する。上で説明したプロセスは、繰り返すことができ、たとえば非同期イネーブル(async_en)232を生成する第1のフリップフロップ214などのフリップフロップに提供される、
図2の分周出力クロック(divclko)248などのクロックのアクティブエッジで開始することができる。制御設定を繰返し決定し、かつ、DCOに適用することにより、DCO104の出力クロック114の周波数を調整し、および/または所望の周波数の許容範囲内に維持することができる。
【0049】
図4を参照すると、
図1のデバイス100および
図2のデバイス200を動作させる方法の特定の例示的な実施形態が全体的に400で示されている。方法400は、402で制御設定を決定するステップを含む。たとえば
図1および
図2の制御論理102は、DCO104に適用するための制御設定108を決定することができる。特定の実施形態では、制御設定は、ある期間の間に決定することができる。DCOの発振は、404である期間の後、選択的に停止させることができる。たとえば、
図1および
図2のイネーブル110は、DCO104の発振を選択的に停止させることができる。DCOは、上記期間の後、アクティブモードにとどまるように構成することができる。たとえば
図1および
図2のDCO104は、上記期間の後、アクティブモードにとどまることができる(すなわち試験モード、スリープモードまたはパワーダウンモードとは対照的に)。たとえば、イネーブル110の値に基づいてDCO104の発振が停止している間、DCO104は、アクティブモードにとどまって制御設定108を受け取り、かつ、可変遅延素子226の遅延を調整することができる。上記期間の後、DCO104の発振が停止している間、アクティブモードにとどまることにより、DCO104は、DCO104がその発振を許容された場合に生成されることになる出力クロック114の周期を調整することができる。
【0050】
406でDCOに制御設定を適用することができる。たとえば
図1および
図2の制御論理102は、制御設定108をDCOに適用することができる。たとえば、上記期間の間に修正制御設定を決定することができ、かつ、第2の期間の間、決定した修正制御設定をDCOに適用することができる。DCOの発振は、第2の期間の後、408で再開させることができる。たとえば
図1および
図2の停止論理106は、第2の期間の後、DCO104の発振を再開させることができる。方法400は、制御設定に基づいてDCOの一部を使用不能にするステップをさらに含むことができる。たとえば、
図2では、可変遅延素子226のうち、可変遅延素子226の総遅延に寄与していない部分を使用不能にすることができる。たとえば可変遅延素子226の一部を使用不能にすることにより、動的電力消費を少なくすることができる。
【0051】
図4の方法400は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)デバイス、書替え可能ゲートアレイ(FPGA)デバイス、中央処理装置(CPU)などの処理装置、ディジタル信号プロセッサ(DSP)、コントローラ、別のハードウェアデバイス、ファームウェアデバイスまたはそれらの任意の組合せによって実装することができる。一例として、
図4の方法は、
図5に関連して説明する命令を実行するプロセッサからの信号またはコマンドによって、あるいはそれらに応答して実施することができる。
【0052】
図5を参照すると、ワイヤレス通信デバイスの特定の例示的な実施形態のブロック図が全体的に500で示されている。ワイヤレス通信デバイス500は、メモリ532に結合された、ディジタル信号プロセッサ(DSP)などのプロセッサユニット510を含む。ワイヤレス通信デバイス500は、DCOベースの周波数ロックループ回路564および入力クロック源560を含むことができる。例示的な実施形態では、DCOベースの周波数ロックループ回路564は、
図1のデバイス100または
図2のデバイス200に対応していてもよく、
図4の方法またはそれらの任意の組合せに従って動作させることができる。
【0053】
メモリ532は、プロセッサユニット510(たとえばコンピュータ)に制御設定を決定させるために該プロセッサユニット510によって実行が可能なプログラムコードを記憶する非一時的コンピュータ可読媒体であってもよい。たとえばコンピュータ実行可能プログラムコードは、プロセッサユニット510に、入力クロック112の1つまたは複数のクロック周期の間の出力クロック114のサイクル数を目標数に対して比較させることができ、また、その比較に基づいて制御設定を決定させることができる。さらに、コンピュータ実行可能プログラムコードは、プロセッサユニット510に、ある期間の後、DCOの発振を選択的に停止させることも可能である。たとえばコンピュータ実行可能プログラムコードは、処理装置510に、ある期間の後、DCOの発振を選択的に停止させる値を有するイネーブル出力を生成させることができる。DCOは、上記期間の後、アクティブモードにとどまることができる。コンピュータ実行可能プログラムコードは、さらに、プロセッサユニット510に、制御設定をDCOに適用させることができる。
【0054】
また、
図5には、プロセッサユニット510およびディスプレイ528に結合されるディスプレイコントローラ526が同じく示されている。また、コーダ/デコーダ(CODEC)534をプロセッサユニット510に結合することも可能である。スピーカ536およびマイクロホン538をCODEC534に結合することができる。
【0055】
図5は、ワイヤレスコントローラ540をプロセッサユニット510およびワイヤレスアンテナ542に結合することができることを示している。特定の実施形態では、プロセッサユニット510、DCOをベースとする周波数ロックループ回路564、ディスプレイコントローラ526、メモリ532、CODEC534およびワイヤレスコントローラ540は、システムインパッケージまたはシステムオンチップデバイス522の中に含まれている。特定の実施形態では、入力デバイス530および電源544は、システムオンチップデバイス522に結合されている。その上、特定の実施形態では、
図5に示されているように、ディスプレイ528、入力デバイス530、スピーカ536、マイクロホン538、ワイヤレスアンテナ542および電源544は、システムオンチップデバイス522の外部に存在している。しかしながら、ディスプレイ528、入力デバイス530、スピーカ536、マイクロホン538、ワイヤレスアンテナ542および電源544の各々は、インターフェースまたはコントローラなどのシステムオンチップデバイス522の構成要素に結合することができる。
【0056】
図5は、ワイヤレスデバイス500の特定の実施形態を示したものであるが、1つまたは複数の周波数ロックループ回路(たとえばDCOをベースとする周波数ロックループ564)は、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、娯楽ユニット、航法デバイス、通信デバイス、パーソナルディジタルアシスタント(PDA)、固定位置データユニットおよびコンピュータを始めとする他の電子デバイスの中に統合することができる。
【0057】
上で説明した実施形態と共に、制御設定を決定するための手段を含むことができる装置が開示される。たとえば制御設定を決定するための手段は、
図1の制御論理102、
図2の制御論理102、制御設定を決定するように構成された1つまたは複数の他のデバイスまたは回路、あるいはそれらの任意の組合せを含むことができる。また、この装置は、ある期間の後、DCOの発振を選択的に停止させるための手段を含むことも可能であり、DCOは、上記期間の後、アクティブモードにとどまるように構成される。ある期間の後、DCOの発振を選択的に停止させるための手段は、
図1の停止論理106、
図2の停止論理106、ある期間の後、DCOの発振を選択的に停止させるように構成された1つまたは複数の他のデバイスまたは回路、あるいはそれらの任意の組合せを含むことができる。この装置は、制御設定をDCOに適用するための手段をさらに含むことができる。たとえば制御設定をDCOに適用するための手段は、
図1の制御論理102、
図2の制御論理102、制御設定をDCOに適用するように構成された1つまたは複数の他のデバイスまたは回路を含むことができる。
【0058】
当業者には、さらに、本明細書において開示されている実施形態に関連して説明した様々な例示的な論理ブロック、構成、モジュール、回路およびアルゴリズムステップは、電子ハードウェア、プロセッサによって実行されるコンピュータソフトウェア、またはそれらの両方の組合せとして実装することができることが理解されよう。以上、様々な例示的な構成要素、ブロック、構成、モジュール、回路およびステップについて、一般にそれらの機能に関して説明した。そのような機能がハードウェアとして実装されるか、あるいはプロセッサ実行可能命令として実装されるかどうかは、特定の用途および総合システムに対して課される設計制約によって決まる。当業者は、説明されている機能を特定の用途毎に異なる方法で実装することができるが、そのような実装決定を本開示の範囲からの逸脱を引き起こすものとして解釈してはならない。
【0059】
本明細書において開示されている実施形態に関連して説明した方法またはアルゴリズムのステップは、ハードウェアの中で、プロセッサによって実行されるソフトウェアモジュールの中で、あるいはその2つの組合せの中で直接具体化することができる。ソフトウェアモジュールは、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読出し専用メモリ(ROM)、プログラマブル読出し専用メモリ(PROM)、消去可能プログラマブル読出し専用メモリ(EPROM)、電気的消去可能プログラマブル読出し専用メモリ(EEPROM)、レジスタ、ハードディスク、取外し可能ディスク、コンパクトディスク読出し専用メモリ(CD-ROM)、または当分野で知られている任意の他の形態の非一時的記憶媒体の中に常駐させることができる。一例示的記憶媒体は、プロセッサが記憶媒体から情報を読み出すことができ、かつ、記憶媒体に情報を書き込むことができるようにプロセッサに結合される。代替では、記憶媒体はプロセッサに統合することができる。プロセッサおよび記憶媒体は、特定用途向け集積回路(ASIC)に常駐させることができる。ASICは、計算デバイスまたはユーザ端末に常駐させることができる。代替では、プロセッサおよび記憶媒体は、計算デバイスまたはユーザ端末内の離散構成要素として常駐させることができる。
【0060】
開示されている実施形態についての以上の説明は、開示されている実施形態を当業者が作製または使用することができるように提供されたものである。当業者には、これらの実施形態に対する様々な修正が容易に明らかであり、本開示の範囲を逸脱することなく、本明細書において定義されている原理を他の実施形態に適用することが可能である。したがって本開示には、本開示を本明細書において示されている実施形態に限定することは意図されておらず、添付の特許請求の範囲によって定義されている原理および新規な特徴に矛盾しない可能な最も広義の範囲に一致するものとする。