(57)【要約】クロック分割器回路は、入力クロック信号を受取り、かつ、互いに排他的なセット制御信号およびリセット制御信号を生成する、ステートマシンを含む。セット制御信号およびリセット制御信号を用いて、それぞれセットパスゲートおよびリセットパスゲートを制御して、出力ノード上のプルアップおよびプルダウンのゲート端子に対し、入力クロック信号を選択的に与える。セット制御信号およびリセット制御信号は、また、出力ノード上に配置された値を維持するキーパー回路にも与えられる。
2005502256.tif 000002
【特許請求の範囲】
【請求項１】
クロック入力端子と、
クロック出力端子と、
前記クロック入力端子に結合された入力端子を有し、さらにセット出力端子およびリセット出力端子を有するステートマシンと、
前記クロック出力端子に結合された出力端子を有するキーパー回路と、
前記クロック入力端子に結合されたデータ入力端子、前記ステートマシンの前記セット出力端子に結合された制御入力端子、および前記クロック出力端子に結合された出力端子を有するプルアップ回路と、
前記クロック入力端子に結合されたデータ入力端子、前記ステートマシンの前記リセット出力端子に結合された制御入力端子、および前記クロック出力端子に結合された出力端子を有するプルダウン回路とを含む、クロック分割器回路。
【請求項２】
前記プルアップ回路は、
前記クロック入力端子とパスゲート出力端子との間に結合されたパスゲートを含み、前記パスゲートは、前記ステートマシンの前記セット出力端子に結合された第１のゲート端子を有し、前記プルアップ回路はさらに、
パワーハイと前記クロック出力端子との間に結合されたプルアップを含み、前記プルアップは、前記パスゲート出力端子に結合されたゲート端子を有する、請求項１に記載のクロック分割器回路。
【請求項３】
前記プルアップ回路は、第１のインバータをさらに含み、
前記プルアップはＰＭＯＳトランジスタであり、
前記プルアップの前記ゲート端子は、前記第１のインバータを介して前記パスゲート出力端子に結合される、請求項２に記載のクロック分割器回路。
【請求項４】
前記プルアップ回路は、第２のインバータをさらに含み、
前記パスゲートは、前記第２のインバータを介して前記ステートマシンの前記セット出力端子に結合された第２のゲート端子を有するＣＭＯＳパスゲートである、請求項２に記載のクロック分割器回路。
【請求項５】
前記プルダウン回路は、
前記クロック入力端子とパスゲート出力端子との間に結合されたパスゲートを含み、前記パスゲートは、前記ステートマシンの前記リセット出力端子に結合された第１のゲート端子を有し、前記プルダウン回路はさらに、
前記クロック出力端子と接地との間に結合されたプルダウンを含み、前記プルダウンは、前記パスゲート出力端子に結合されたゲート端子を有する、請求項１に記載のクロック分割器回路。
【請求項６】
前記プルダウン回路は、インバータをさらに含み、
前記プルダウンは、ＮＭＯＳトランジスタであり、
前記パスゲートは、前記インバータを介して前記ステートマシンの前記リセット出力端子に結合された第２のゲート端子を有するＣＭＯＳパスゲートである、請求項５に記載のクロック分割器回路。
【請求項７】
前記ステートマシンは、プログラム可能な除数選択回路を含む、請求項１に記載のクロック分割器回路。
【請求項８】
前記クロック分割器回路は、プログラム可能論理デバイス（ＰＬＤ）の一部を形成する
、請求項７に記載のクロック分割器回路。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の分野
この発明は、デジタルシステムのためのクロック回路に関する。より特定的に、この発明は、デューティサイクルの修正および任意の位相シフトを有する、可変の偶数のクロック分割器回路に関する。
【背景技術】
【０００２】
発明の背景
プログラム可能論理デバイス（ＰＬＤ）およびマイクロプロセッサを含む、基板レベルのシステムおよび集積回路（ＩＣ）デバイス等のデジタル回路は、さまざまな理由でクロック信号を用いる。たとえば、同期システムは、汎用クロック信号を用いて、基板またはＩＣデバイス全体のさまざまな回路を同期させる。
【０００３】
しかしながら、デジタル回路が複雑になるにつれて、同期システムのためのクロック方式が、一層複雑なものとなった。ＰＬＤおよびマイクロプロセッサ等の多くの複雑なデジタル回路は、異なる周波数において複数のクロック信号を有する。たとえば、マイクロプロセッサの中には、内部回路が第１のクロック信号によって第１の周波数においてクロックされ、入力／出力（Ｉ／Ｏ）回路が第２のクロック信号によって第２の周波数においてクロックされるものがある。一般に、第２の周波数は、第１の周波数よりも遅い。
【０００４】
複数のクロック生成回路を用いて、複数のクロック信号を生成することができる。しかしながら、クロック生成回路は、一般に、デバイスまたは基板の空間を大量に消費する。したがって、ほとんどのシステムが、１つのクロック生成回路を用いて第１のクロック信号を生成し、専用の回路を用いて第１のクロック信号から他のクロック信号を導出する。たとえば、クロック分割器を用いて、入力クロック信号から、クロック周波数がより低い、１つ以上のクロック信号を生成する。
【０００５】
図１Ａは、入力クロック信号ＩＣＬＫを受けて、２分割のクロック信号ＣＬＫＤ２、４分割のクロック信号ＣＬＫＤ４、８分割のクロック信号ＣＬＫＤ８、および１６分割のクロック信号ＣＬＫＤ１６を生成する従来のクロック分割器１００を示す。（本明細書では、同じ参照符号を用いて、端子、信号線、および対応するそれらの信号を指す。）クロック分割器１００は、４ビットカウンタ１１０を含む。入力クロック信号ＩＣＬＫが、４ビットカウンタ１１０のクロック端子に与えられる。４ビットカウンタ１１０は、それぞれ出力端子Ｏ０、Ｏ１、Ｏ２、およびＯ３上でクロック信号ＣＬＫＤ２、ＣＬＫＤ４、ＣＬＫＤ８、およびＣＬＫＤ１６を駆動する。出力端子Ｏ０〜Ｏ３は、それぞれ、４ビットカウンタ１１０の最下位のビットから最上位のビットを与える。
【０００６】
図１Ｂは、クロック分割器１００のためのタイミング図である。図１Ｂから容易に分かるように、入力クロック信号ＩＣＬＫがクロック周期Ｐを有する場合、２分割のクロック信号ＣＬＫＤ２は、２Ｐのクロック周期を有する。同様に、４分割のクロック信号ＣＬＫＤ４は４Ｐの周期を有し、以下同様である。したがって、クロック信号ＣＬＫＤ２の周波数は、入力クロック信号ＩＣＬＫの周波数の半分であり、クロック信号ＣＬＫＤ４の周波数は、信号ＩＣＬＫの周波数の４分の１であり、以下同様である。
【０００７】
ＩＣデバイス内にクロック分割器を含むことにより、クロック分割器が使用中であるか否かにかかわらず、一般にタイミングの不利益を被る。図２Ａは、クロック分割器が含まれていないＩＣ内の第１のクロックドライバ回路を示す。クロックドライバ回路２００は、クロックパッド２０２から入力クロック信号を受取り、そして、その信号をクロックトリー２０３に与えるドライバ２０１を含む。図２Ｂは、任意のクロック分割器２０４を含む第２のクロックドライバ回路２１０を示す。設計者は、マルチプレクサ２０５の制御下において、クロック分割器をバイパスするか、または、回路内にクロック分割器２０４を含むか、のいずれかを行なうことができる。
【０００８】
図２Ｂは、クロック分割器がクロック経路に含まれているか否かにかかわらず、図２Ａの回路に比べ、図２Ｂの回路にさらに別の遅延Ｄ２１０が存在することを明示する。クロック分割器がバイパスされた場合、バイパス線にさらに別の遅延と、マルチプレクサ２０５を介した伝播遅延とが生じる。クロック分割器が回路内に含まれている場合、マルチプレクサおよびクロック分割器の両方の、さらに別の伝播遅延が生じる。いずれの場合も、このクロックドライバ回路を介した総遅延が増大する。
【０００９】
図１に示されたもの等のクロック分割器が、図２Ｂのクロックドライバ回路内に配置された場合、マルチプレクサ（図２Ｂのマルチプレクサ２０５等）を介してフリップフロップによって（図１の４ビットカウンタ１１０から）駆動されるクロックトリーが結果的に生じる。明らかに、フリップフロップも、バッファリングされていないマルチプレクサも、大きなクロックトリーを駆動する駆動能力は有しておらず、結果的に得られるクロック信号は、容認不可能なほど遅く、極めて高いスキューを有する。したがって、マルチプレクサ２０５は、たとえば図３Ａおよび図３Ｂに示されるように、一般にバッファリングされる。
【００１０】
図３Ａは、反転クロック分割器３１４を含む、先行技術のクロックドライバ回路３２０を示す。多重化回路３２５がマルチプレクサ２０５に取って代わり、多重化回路３２５は、クロック分割器からの入力信号がインバータ３０６によって反転される状態で、マルチプレクサ２０５の論理的な等価物を実現する。
【００１１】
図３Ａで３２５Ａと示された、多重化回路３２５の一実施例は、それに対して反転クロック分割器３１４の出力が与えられるトライステートドライバ３２６と、それに対してバイパスクロック信号が与えられるパスゲート３２７とを含む。トライステートドライバ３２６のトライステート制御信号と、パスゲート３２７のパスゲート制御信号とを制御することにより、分割されたクロック信号またはバイパスクロック信号のいずれかが選択される。しかしながら、この実施例では、バイパスクロック信号が依然としてバッファリングされておらず、高い負荷のクロック信号に対しては、パスゲート３２７の後ろに別のバッファ（図示せず）が挿入され得ることに注意されたい。
【００１２】
図３Ｂは、非反転クロック分割器３２４を含む、先行技術のクロックドライバ回路３３０を示す。多重化回路３３５がマルチプレクサ２０５に取って代わり、多重化回路３３５は、出力信号がバッファ３０９を介してバッファリングされる状態で、マルチプレクサ２０５の論理的な等価物を実現する。
【００１３】
図３Ｂで３３５Ａと示された、多重化回路３３５の一実施例は、それに対して非反転クロック分割器３２４の出力が与えられる第１のトライステートドライバ３３６と、それに対してバイパスクロック信号が与えられる第２のトライステートドライバ３３７とを含む。トライステートドライバ３３６および３３７のトライステート制御信号を制御することにより、分割されたクロック信号またはバイパスクロック信号のいずれかが選択される。次に、選択されたクロック信号は、インバータ３３９によって反転およびバッファリングされる。
【発明の開示】
【発明が解決しようとする課題】
【００１４】
しかしながら、図３Ａおよび図３Ｂに示されるクロックドライバ回路は、さらに別の、有意なものとなり得る潜在的な遅延を有する。図３Ａのクロック分割器によって加えられるさらに別の遅延Ｄ３２０は、クロック分割器３１４を介した遅延に、トライステートドライバ３２６を介した遅延を加えたものである。図３Ｂのクロック分割器によって加えられるさらに別の遅延Ｄ３３０は、クロック分割器３２４を介した遅延に、トライステートドライバ３３６およびインバータ３３９を介した遅延を加えたものである。
【００１５】
クロックドライバ回路を介した遅延は、ＩＣ設計者にとって重要なパラメータである。図３Ａおよび図３Ｂに示されたものと同様の回路を用いることにより、クロック分割器が存在することによる、さらに別の遅延は、たとえば約５００ピコ秒といった有意なものとなり得る。ほとんどのタイミングパラメータと同様に、この遅延は、一般に、最悪の条件下でのデバイスの動作を確保するために、最悪の場合の値として指定される。したがって、クロック分割器がバイパスされている場合であっても、そのデバイスの仕様は、最悪のシナリオ、すなわちクロック分割器が含まれている場合の遅延に基づく。したがって、クロック分割器が存在することによる、クロック経路上でのさらに別の遅延は、クロック信号を遅延させるだけでなく、ＩＣデバイスを実際よりも低速であるように見せてしまう。
【００１６】
これらのおよび他の理由により、遅延が減じられたクロック分割器回路を提供することが有利である。
【課題を解決するための手段】
【００１７】
発明の概要
この発明は、回路を含むクロックドライバに対し、それ以上ほとんど遅延を加えることのない新規のクロック分割器回路を提供する。さらに、一実施例に従い、この発明のクロック分割器回路は、多くのクロック分割器においてそうであるように２の累乗に限定されるのではなく、任意の偶数によって分割する能力を提供する。クロック分割器回路を介した遅延は、除数としてどの偶数が選択されるかに関係なく、同じである。
【００１８】
この発明の一実施例において、クロック分割器回路は、入力クロック信号を受取ってセット制御信号およびリセット制御信号を生成するステートマシンを含む。セット制御信号およびリセット制御信号は、それぞれセットパスゲートおよびリセットパスゲートを制御するために用いられ、出力ノード上のプルアップおよびプルダウンのそれぞれのゲート端子に、入力クロック信号を選択的に与える。セット制御信号およびリセット制御信号は、出力ノードに配置される値を維持するキーパー回路にも与えられる。
【００１９】
この回路の利点は、先行技術のクロック分割器に典型的な遅延（Ｄ−フリップフロップの遅延、マルチプレクサの遅延等）が、クロック経路からセット制御信号およびリセット制御信号を含む経路にシフトされることである。したがって、これらの遅延は、クロック経路上に存在せず、すなわち、クロック分割器回路のクリティカルパス上に存在しない。
【００２０】
別の利点は、ステートマシンの機能性を制御することにより、クロック分割器回路に対し、除数として任意の偶数（ステートマシンに構築された能力の限度までの）を選択できることである。したがって、この発明のクロック分割器回路は、多くの公知のクロック分割器に比べ、さらに柔軟性をもたらす。
【００２１】
一実施例において、位相ビットが与えられる。位相ビットにより、ユーザは、入力クロックの第１の立上がり端でクロック分割器回路を始動させるか、または、予め規定された数のクロック周期だけ、クロック分割器回路を遅延させるか、のいずれかを行なうことができる。
【００２２】
別の実施例において、クロック分割器回路は、ユーザがクロック周期の数のカウントを誤り、クロック処理中に誤ってクロックをリセットした場合に、最新のハイのパルスを完成するように（たとえば、最新のデータ値においてクロックするように）設計される。
【００２３】
この発明の別の局面に従い、クロックドライバ回路は、入力バッファと、バイパスパスゲートと、トライステート化され得るクロック分割器回路とを含む。バイパス信号と、クロック分割器回路の出力とのいずれかを選択するためにマルチプレクサ回路を用いる代わりに、クロック分割器回路はトライステート化され得る。したがって、クロック分割器回路がトライステート化されて、バイパスパスゲートがオンであると、バイパス信号をクロックドライバ回路の出力に通過させる。クロック分割器回路が活性状態にあり（トライステート化されておらず）、バイパスパスゲートがオフであると、分割されたクロック信号をクロックドライバ回路の出力に通過させる。したがって、従来のクロック分割器回路で用いられたマルチプレクサ回路によって加えられるさらに別の遅延が、解消される。
【００２４】
この発明は、同様の参照番号が同様の要素を示す以下の図面において、限定としてではなく例示として示される。
【発明を実施するための最良の形態】
【００２５】
図面の詳細な説明
以下の説明において、この発明の、より完全な理解をもたらすために、多数の特定の詳細が明示される。しかしながら、当業者には、これらの特定の詳細なしにこの発明を実施できることが明らかであろう。
【００２６】
図４は、クロックパッド４０２、入力バッファ４０１、バイパスパスゲートＰａｓｓＢ、およびクロック分割器回路４３４を含むクロックドライバ回路４４０を示す。先行技術のクロックドライバ回路とは異なり、クロックドライバ回路４４０は、クロック分割器回路４３４の出力とバイパスクロック信号とのいずれかを選択するためにマルチプレクサを含まない。その代わりに、クロック分割器回路４３４は、内部でトライステート化され得る。クロック分割器回路４３４がトライステート化されて（すなわち、高インピーダンスに置かれ）、パスゲートＰａｓｓＢがオンであると、バイパスクロック信号をクロックトリー４０３に通過させる。クロック分割器回路４３４が活性状態にあり、パスゲートＰａｓｓＢがオフであると、分割されたクロック信号をクロックトリー４０３に通過させる。
【００２７】
図４の回路４３４Ａは、トライステート化され得るクロック分割器４３４の一実現例を示す。この発明のこの実施例において、トライステート化され得るクロックドライバ回路は、ステートマシン４３６、プルアップ回路ＰＵｃｋｔ、プルダウン回路ＰＤｃｋｔ、およびキーパー回路４３９を含む。
【００２８】
ステートマシン４３６は、クロック分割器の入力クロック信号ＣＫＩＮを受取り、セット制御信号およびリセット制御信号（それぞれＱＳおよびＱＲ）を生成する。制御信号ＱＳがローであると、入力クロックＣＫＩＮの立上がり端をノード「Ｓ」に通過させて、したがって出力信号ＣＫＯＵＴに通過させる。制御信号ＱＲがローであると、入力クロックＣＫＩＮの立上がり端をノード「Ｒ」に通過させて、したがって、出力信号ＣＫＯＵＴの立下がり端に通過させる。ノードＳおよびＲは、好ましくは、リセット信号（図示せず）によってゲート処理されるプルダウンおよびプルアップ（これも図示せず）によって、それぞれローおよびハイの値に初期化される。ステートマシン４３６は、入力信号ＣＫＩＮが、「分割された」クロック周期のどこに存在するかを追跡して、ＱＳおよびＱＲ上に適切な電圧レベルを生成して、出力クロック信号を適切な時間にハイおよびローに駆動する。たとえば、除数が６である場合、制御信号ＱＳおよびＱＲの各々は、６つごとに１つのＣＫＩＮクロック周期でローのパルスを打つ。
【００２９】
一実施例において、ステートマシンは、１つの除数にのみ対応する。他の実施例において、ステートマシンはプログラム可能であり、複数の除数に対応する。
【００３０】
実施例の中には、ステートマシンおよびクロック分割器回路が、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）またはプログラム可能複合論理デバイス（ＣＰＬＤ）等のプログラム可能論理デバイス（ＰＬＤ）の一部を形成するものがある。このような実施例の１つにおいて、ステートマシンは、ユーザによって制御されるプログラム可能なロジックを用いて実現されて、特定の設計において或る特定の機能を果たし、１つの除数のみを支援する。
【００３１】
別の実施例において、クロック分割器およびステートマシンの回路は、専用のロジック（すなわち、ユーザによって制御されるロジックブロックを用いない）において実現される。しかしながら、この専用のロジックは、プログラム可能であるように設計することができる。たとえば、実施例の中には、クロック分割器回路がプログラム可能論理デバイス内の専用のロジックで実現されるものがある。クロック分割器回路は、いくつかの任意の除数を支援するように構成することのできるステートマシンを含む。このような実施例の１つにおいて、ＰＬＤがＣＰＬＤである場合、ステートマシンは、ＣＰＬＤ用の典型的なプログラミング処理を用い、ＦＬＡＳＨメモリに記憶された論理値によって制御される。この実施例において、論理値は、ＣＰＬＤの構成データファイル内に含まれる。このような別の実施例において、ＰＬＤがＦＰＧＡである場合、ステートマシンは、ＦＰＧＡに対する通常の構成処理の間に、ＳＲＡＭセルに記憶された論理値によって制御される。この実施例において、論理値は、構成ビットストリームの一部としてロードされる。
【００３２】
図４に戻ると、セット制御信号ＱＳが、セットパスゲートＰａｓｓＳを制御し、このセットパスゲートＰａｓｓＳは、プルアップＰＵに対し、入力クロック信号ＣＫＩＮを選択的に与える。図４の実施例において、セットパスゲートＰａｓｓＳは、プルアップＰＵのゲートを駆動するインバータＩＮＶＳの入力端子に結合される。リセット制御信号ＱＲは、リセットパスゲートＰａｓｓＲを制御し、リセットパスゲートＰａｓｓＲは、プルダウンＰＤに対し、入力クロック信号ＣＫＩＮを選択的に与える。
【００３３】
図示された実施例において、プルアップＰＵは、ＰＭＯＳトランジスタであり、パスゲートＰａｓｓＳは、セット制御信号ＱＳと、インバータ４３７によって反転された同じ信号とによって制御されるＣＭＯＳパスゲートであり、パスゲートＰａｓｓＲは、リセット制御信号ＱＲと、インバータ４３８によって反転された同じ信号とによって制御されるＣＭＯＳパスゲートであり、プルダウンＰＤは、ＮＭＯＳトランジスタである。他の実施例では、他の種類のトランジスタおよび／または他の回路を用いて、プルアップＰＵ、プルダウンＰＤ、ならびにパスゲートＰａｓｓＳおよびＰａｓｓＲを実現する。たとえば、パスゲートＰａｓｓＳおよびＰａｓｓＲは、ＮＭＯＳトランジスタ、ＰＭＯＳトランジスタ、トライステートドライバ等として実現することができ、プルアップＰＵは、インバータＩＮＶＳが省かれている場合、ＮＭＯＳトランジスタとして実現することができる。
【００３４】
セットパスゲートＰａｓｓＳ、インバータ４３７およびＩＮＶＳ、ならびにプルアップＰＵは、まとめてプルアップ回路ＰＵｃｋｔを構成する。リセットパスゲートＰａｓｓＲ、インバータ４３８、およびプルダウンＰＤは、まとめてプルダウン回路ＰＤｃｋｔを構成する。
【００３５】
プルアップＰＵおよびプルダウンＰＤは、パワーハイ（ＶＣＣ）と接地（ＧＮＤ）との間で直列に結合される。プルアップＰＵとプルダウンＰＤとの間のノードは、クロック分割器の出力端子ＣＫＯＵＴに結合される。
【００３６】
セットＳおよびリセットＲの制御信号は、出力端子ＣＫＯＵＴに結合されるキーパー回路４３９にも与えられる。キーパー回路４３９は、出力端子ＣＫＯＵＴ上の信号を強化する弱い出力信号ＫＯＵＴを与えて、プルアップＰＵおよびプルダウンＰＤの両方がオフであるときに、信号の電圧レベルが引き続きノードに記憶されるようにする。キーパー回路４３９の一実施例を、図１５を参照して以下に詳細に説明する。しかしながら、キーパー回路は当該技術において周知であり、出力信号ＫＯＵＴがプルアップＰＵおよびプルダウンＰＤの両方によって無効にされるほど弱い限り、クロックドライバ４３４Ａにおいて任意のキーパー回路を用いることができる。たとえば、２つのインバータを備えた、弱い、クロス結合されたラッチを、インバータの一方もまた信号ＣＫＯＵＴを駆動する状態で、弱いキーパーとして用いることができる。この実施例は、弱いキーパーに対する入力として、信号Ｓ、Ｒ、およびＣＤＥＮを必要としない。
【００３７】
セット制御信号ＱＳおよびリセット制御信号ＱＲは、好ましくは、互いに排他的である。すなわち、好ましくは、ステートマシン４３６は、信号ＱＳおよびＱＲを同時に活性化させない。したがって、プルアップＰＵおよびプルダウンＰＤは、両方が同時にオンにならず、ＶＣＣとＧＮＤとの間に電流は流れず、図３Ａおよび図３Ｂに示される従来のクロック分割器回路で生じ得るように、トランジスタがそれによってＣＫＯＵＴの出力端子上の値を制御する、一時的な競合も存在しない。
【００３８】
クロックの立上がり端に対する、クロックドライバ回路４３４Ａを介した遅延が、パスゲートＰａｓｓＳ、インバータＩＮＶＳ、およびプルアップＰＵを介した遅延しか含まないことに注目されたい。クロックの立下がり端に対する、クロックドライバ回路４３４Ａを介した遅延は、パスゲートＰａｓｓＲおよびプルダウンＰＤを介した遅延しか含まない。したがって、クロックドライバ回路４４０のクロック遅延は、たとえば図３Ａおよび図３Ｂのクロックドライバ回路３２０および３３０を介したクロック遅延よりもはるかに短い。
【００３９】
図４の新規の回路構成は、さらに利点を有する。従来のクロックドライバにおいて、クロック信号は、クロックの立上がり端および立下がり端の両方に対して、ドライバを介した同一経路を辿る。したがって、回路は、両方の端に対して最適化され得ない。むしろ、クロックの両方の端において容認可能な性能をもたらすための、何らかの妥協を得るように努めなければならない。しかしながら、図４に示された回路では、プルアップＰＵおよびプルダウンＰＤが別個に制御される。したがって、対応するクロックの端に対して、制御トランジスタの各々を最適化することができる。すなわち、出力クロック信号ＣＫＯＵＴの立上がり端は、パスゲートＰａｓｓＳ、インバータＩＮＶＳ、およびプルアップＰＵによって制御され、出力クロック信号ＣＫＯＵＴの立下がり端は、パスゲートＰａｓｓＲおよびプルダウンＰＤによって制御される。したがって、パスゲートＰａｓｓＳ、インバータＩＮＶＳ、およびプルアップＰＵを最適化して、出力クロックＣＫＯＵＴの立上がり端の性能を改善することができ、パスゲートＰａｓｓＲおよびプルダウンＰＤを最適化して、出力クロックＣＫＯＵＴの立下がり端の性能を改善することができる。この最適化は、たとえば、コンピュータに実施される回路シミュレーションを含む、周知の方法を介して達成することができる。
【００４０】
これらの理由のすべてにより、クロックドライバ回路４３４Ａを介したクロック遅延は、従来のクロックドライバ回路を介した遅延よりも著しく低下する。上で述べたように、従来のクロック分割器を用いるクロックドライバ回路に加わる遅延は、一般に約５００ピコ秒である。しかしながら、同様の製造技術を用いた場合、クロック分割器４３４Ａを用いる場合に加わる遅延は、僅か９０ピコ秒ほどになり得る。
【００４１】
プログラム可能なクロック分割器
図５および図８〜図１５は、まとめて、この発明の一実施例に従ったプログラム可能なクロック分割器回路５００の詳細な概略図を示す。図６および図７は、それぞれ２分割モードおよび６分割モードにおける、クロック分割器回路５００のための２つの例示的なタイミング図を提供する。次に、この実施例の動作を、図５〜図１５を参照して説明する。
【００４２】
クロック分割器回路５００で用いられる信号は、以下のものを含む。
【００４３】
・ＣＫＩＮ  クロック分割器回路への入力クロック信号。
【００４４】
・ＣＫＯＵＴ  出力クロック信号（分割されたクロック等）。
【００４５】
・ＣＤＲＳＴ  ハイのときはクロック分割器回路をリセットし（不能にし）、ローのときはクロック分割器回路を解放する（能動化する）。
【００４６】
・ＣＤＥＮ  他の制御信号を無効にする。ハイのときは、クロック分割器を能動化し、バイパス回路ＢＰＣをオフにし、キーパー回路５６０がＳおよびＲの制御信号に追従しかつＣＫＯＵＴの値を安定状態に保つことを可能にし、ＲＳＴ信号の制御に対するリセットフィルタを解放する。ローのときは、クロック分割器を不能にし、バイパス回路ＢＰＣをオンにし、キーパー回路５６０をトライステート化し、プルアップＰＵおよびプルダウンＰＤの両方をオフにする。一実施例において、信号ＣＤＥＮは、ＦＰＧＡ内のＳＲＡＭ構成メモリセルまたはＣＰＬＤ内のＦＬＡＳＨメモリセル等の構成メモリセルに記憶された値である。
【００４７】
・ＣＤＤＩＶ  プログラム可能なクロック分割器に対する除数を選択する入力信号（ＣＤＤＩＶ０、ＣＤＤＩＶ１、およびＣＤＤＩＶ２）。一実施例において、制御信号ＣＤＤＩＶ０〜ＣＤＤＩＶ２は、ＦＰＧＡ内のＳＲＡＭ構成メモリセルまたはＣＰＬＤ内のＦＬＡＳＨメモリセル等の構成メモリセルに記憶された値である。
【００４８】
・ＣＤＰ  任意の位相シフトをもたらす。ハイのとき、クロック分割器の出力信号ＣＫＯＵＴは、ＣＤＲＳＴがローになった後に、入力クロック信号ＣＫＩＮの第１の立上がり端上で立ち上がる。ローのとき、クロック分割器の出力信号は、１つの出力クロック周期（すなわち１つのＣＫＯＵＴ周期）だけ遅延される。たとえば、クロック分割器が４で分割されるように構成される場合、ＣＫＯＵＴ信号は、ＣＤＲＳＴがローになった後に、ＣＫＩＮ信号の第５の立上がり端で立ち上がる。
【００４９】
・ＰＵＩＮＩＴ  この初期化信号は、ＰＬＤの電源投入中にのみハイとなる入力信号である。これは、主に、ＰＬＤ全体のフリップフロップを初期化するように用いられる。
【００５０】
図５のクロック分割器回路は、プログラム可能な制御回路５０１、プルアップ回路ＰＵＣ、プルダウン回路ＰＤＣ、キーパー回路５６０、およびバイパス回路ＢＰＣを含む。
【００５１】
図６は、２分割モードにおける、図５のクロック分割器回路の動作を示すタイミング図である。クロック分割器のリセット信号ＣＤＲＳＴがハイである限り、信号ＱＳ、ＱＲ、Ｓ、およびＲは、それらのリセット値のままである（それぞれロー、ハイ、ロー、およびハイ）。プログラム可能な制御回路５０１は、入力信号ＣＤＤＩＶ［２：０］を復号し、２の除数を導出する。クロック分割器のリセット信号ＣＤＲＳＴがローになると、信号Ｓは、ＣＫＩＮの次の立上がり端においてハイになる。次に、信号Ｓは、ＣＫＩＮの次の立下がり端において再びローになる。キーパー信号ＫＯＵＴは、信号Ｓがローになるときもハイのままであり、従って、信号ＣＫＯＵＴは、信号Ｓがローになった後もハイのままである。
【００５２】
次に、信号Ｒは、ＣＫＩＮの次の立上がり端においてハイになり（なぜなら、ステートマシンが信号ＱＲをローに設定したためである）、ＣＫＯＵＴをローにする。次に、信号Ｒは、ＣＫＩＮの次の立下がり端において再びローになる。キーパー信号ＫＯＵＴは、信号Ｒがローになるときローのままであり、従って、信号ＣＫＯＵＴは、信号Ｒがローになった後もローのままである。この周期は、クロック分割器のリセット信号ＣＤＲＳＴがハイになるまで繰返される。クロック分割器が、信号ＣＫＯＵＴがハイである間にリセットされる場合、信号ＣＫＯＵＴ上のハイのパルスが完成される。
【００５３】
図７は、６分割モードにおける、図５のクロック分割器回路の動作を示すタイミング図である。このタイミング図は、図６のものと同様であるが、信号ＱＳおよびＱＲが、１つおきのクロック周期ではなく第６のクロック周期ごとにローになり、ＱＳおよびＱＲに依存する信号が、結果的により低い頻度で生じる点が異なる。
【００５４】
バイパス回路
バイパス回路ＢＰＣは、クロック分割器回路のクロック分割器機能をバイパスして不能にする方法を提供する。パスゲートＰａｓｓＢは、入力クロック端子ＣＫＩＮと出力クロック端子ＣＫＯＵＴとの間に位置する。図示された実施例において、パスゲートＰａｓｓＢはＣＭＯＳパスゲートであり、ＰＭＯＳ制御端子がＣＤＥＮに結合され、ＮＭＯＳ制御端子がインバータ５４４によって生成された反転信号に結合される。クロック分割器イネーブル信号ＣＤＥＮがハイであると、パスゲートはオフである。クロック分割器イネーブル信号ＣＤＥＮがローであると、パスゲートはオンである。
【００５５】
プログラム可能な制御回路
図５の実施例において、プログラム可能な制御回路５０１は、同期されたリセット生成器５１０、デコーダ５２０、およびステートマシン５３０を含む。
【００５６】
同期されたリセット５１０は、クロック分割器のリセット信号ＣＤＲＳＴの、適切に遅延されたバージョンを与える。リセット信号がその分だけ遅延されるＣＫＩＮクロック周期の数は、３つの制御信号ＣＤＤＩＶ０〜ＣＤＤＩＶ２によって制御される。
【００５７】
同期されたリセット５１０の一実施例が図８に示される。同期されたリセット５１０は、直列に結合された１６組のフリップフロップ８０１〜８１６を含む。偶数個のフリップフロップのＱ出力は、制御信号ＣＤＤＩＶ０〜ＣＤＤＩＶ２によって制御される８：１マルチプレクサ８２０に与えられる。図示された実施例において、ＣＤＤＩＶの値は、表１に示されるように、クロック分割器の、除算される値（除数）に対応する。
【００５８】
【表１】
2005502256.tif 000003
【００５９】
マルチプレクサ８２０の出力は、クロック分割器リセット信号ＣＤＲＳＴをミラー化する信号であるが、選択された数のＣＫＩＮクロック周期だけ遅延される。マルチプレクサ８２０の出力は、２：１マルチプレクサ８２１の「０」のデータ端子を駆動する。「１」の入力端子は、ＣＤＲＳＴ信号によって駆動され、２つの入力のうちの１つが、上で述べたように、制御信号ＣＤＰによって選択される。
【００６０】
マルチプレクサ８２１の出力は、ＮＡＮＤゲート８２３を駆動するセットフリップフロップ８１７に記憶される。フリップフロップ８１７のセット端子は、上で述べたように、信号ＰＵＩＮＩＴによって駆動される。ＮＡＮＤゲート８２３への他の入力は、プルダウン回路ＰＤＣからのリセット制御信号Ｒである。ＮＡＮＤゲート８２３は、信号ＰＵＩＮＩＴ（電源投入中にのみハイになり、ＰＬＤ上の全フリップフロップを初期化する）の反転によってＮＡＮＤにされて、リセット信号ＳＹＮＲＳＴを生成する。
【００６１】
ＮＡＮＤゲート８２３へのＲ入力は、さらに別の能力を提供する。信号ＣＫＯＵＴがハイである間にクロック分割器がリセットされると、リセット制御信号Ｒからのフィードバックにより、信号ＣＫＯＵＴ上の最新のクロック周期が確実に完成される。
【００６２】
図９は、デコーダ５２０の一実施例を示す。図示された実施例は、ＮＯＲゲート９０１〜９１３、ＮＡＮＤゲート９２０〜９３９、およびインバータ９５０〜９５７を含む。デコーダ５２０は、信号ＣＤＤＩＶ０〜ＣＤＤＩＶ２を復号して、これらの信号から制御信号ＤＩＶ２〜ＤＩＶ１４およびＳＭＸ＿６〜１６を生成し、これらは、図９および図５において「ＤＩＶ」と表示されたバスを形成する。デコーダはまた、信号ＣＤＤＩＶ０〜ＣＤＤＩＶ２から、制御信号ＯＦＦ２〜ＯＦＦ１６を生成し、これらは、図９および図５において「ＯＦＦ」と表示されたバスを形成する。これらの信号はすべて、ステートマシン５３０を制御するために用いられる。デコーダ５２０のための復号テーブルが表２Ａおよび表２Ｂに示され、ここで、「１」はハイであり、「０」はローであり、「ｘ」はドントケア値である。
【００６３】
加えて、デコーダ５２０において、別のリセット信号ＲＳＴが、クロック分割器イネーブル信号ＣＤＥＮおよびリセット信号ＳＹＮＲＳＴから生成される。このリセット信号は、それぞれプルアップ回路およびプルダウン回路においてセットフィルタおよびリセットフィルタをリセットするために用いられる。
【００６４】
【表２】
2005502256.tif 000004
【００６５】
【表３】
2005502256.tif 000005
【００６６】
図１０（図１０Ａおよび図１０Ｂを含む）は、ステートマシン５３０の一実施例のブロック図である。ステートマシン５３０は、デコーダ５２０からのＤＩＶおよびＯＦＦのバスによって制御されて、プルアップ回路およびプルダウン回路（それぞれ）のセットフィルタおよびリセットフィルタに対して、ＱＳおよびＱＲ制御信号を与える。ステートマシン５３０は、図１０に示されるように、直列に接続された７つのサブセル（ロジックブロック５３１ａ〜ｆおよび５３２）を含む。信号ＤＩＶ１４〜ＤＩＶ２は、マルチプレクサａ〜ｑおよびｔ〜ｕを介して、ブロック間の直列接続を制御する。クロック分割器が能動化されると（すなわち、ＣＤＥＮがハイになると）、ＤＩＶ信号ＤＩＶ１４〜ＤＩＶ２の正確に１つがハイになる（表２Ａ参照）。したがって、サブセルの１つを除くすべては、チェーンに沿って左から右に値を通過させる。選択されたサブセルは、そのＱＳおよびＱＲの値をチェーン上に配置する。
【００６７】
たとえば、除数が６である場合、信号ＤＩＶ６はハイである。したがって、サブセル５３１ｆは、そのＤＳ６端子を介してチェーン上に信号ＱＳを配置するサブセルである。同様に、値ＱＲ６ＦＢは、サブセル５３１ｆのｄｌｙ６（Ｄｄｅｌａｙ６）端子上に配置され、信号ＱＲ２は、サブセル５３１ｆのＤＲ６端子上に配置される。次に、選択されたＱＳおよびＱＲの値を、それぞれフリップフロップ５３３および５３４に通過させる。セット制御信号ＱＳは、フリップフロップ５３３によって与えられる。リセット制御信号ＱＲは、マルチプレクサ５３５によって与えられ、マルチプレクサ５３５は、信号ＳＭＸ＿６〜１６、ＤＩＶ４、およびＤＩＶ２の値に基づいて、値ＱＲ６ｄｌｙ、ＱＲ４ｄｌｙ、およびＱＲ２のいずれかを選択する。
【００６８】
遅延のチェーン（ステートマシンのサブセル全体の、ＤｄｅｌａｙｉからＱｄｅｌａｙｉまでのチェーン）は、自動デューティサイクル修正能力を提供する。この回路により、ＱＲ信号上のローのパルスが、ＱＳ信号上のローのパルス間の半ばで常に確実に生じるようになる（たとえば、図７のタイミング図を参照）。図１１で分かるように、各サブセルを介した遅延のチェーン上の遅延は、ＤＳｉからＱＳｉまでおよびＤＲｉからＱＲｉまでのチェーン上の遅延の半分である。さらに、遅延のチェーンは、ＱＲ制御信号の形成に寄与する。したがって、分割されたクロック信号のデューティサイクルは、常に５０％である。
【００６９】
図１１は、図１０のステートマシンの第１のサブセル５３１のブロック図である。サブセル５３１は、リセットフリップフロップ１１０１〜１１０２、セットフリップフロップ１１１０〜１１１２、およびＮＯＲゲート１１２０〜１１２３を含む。信号ＤＳｉを、フリップフロップ１１０１、ＮＯＲゲート１１２０（信号ＱＳ２Ｂがローである場合）、フリップフロップ１１０２、およびＮＯＲゲート１１２３（信号ＱＳ２Ｂがローである場合）を介して、出力端子ＱＳｉに通過させる。信号Ｄｄｅｌａｙｉを、フリップフロップ１１１０を介して、出力端子Ｑｄｅｌａｙｉに通過させる。信号ＤＲｉを、フリップフロップ１１１２を介してＮＯＲゲート１１２１に通過させ、また、出力端子ＱＲｉＦＢにフィードバックする。信号ＱＲ２Ｂがローであるとき、ＮＯＲゲート１１２１は、フリップフロップ１１１２の反転された出力をフリップフロップ１１１１に通過させ、したがって、他の入力として信号ＱＲ２Ｂを有するＮＯＲゲート１１２２に通過させる。ＮＯＲゲート１１２２は、出力信号ＱＲｉを与える。
【００７０】
図１２は、図１０のステートマシンの第２のサブセル５３２のブロック図である。サブセル５３２はサブセル５３１と同様であるが、信号ＱＲ４ＤＬＹがフリップフロップ１２１２の出力である点が異なる。
【００７１】
図１３は、セットフィルタ回路５４１のブロック図である。図５で分かるように、セットフィルタ回路は、クロック出力信号ＣＫＯＵＴ上のプルアップＰＵを制御する。セットフィルタ回路は、ステートマシンから制御信号ＱＳを受取り、そのＱＳ信号を用いて入力クロック信号ＣＫＩＮ上のクロックパルスをフィルタ処理する。すなわち、信号ＱＳの値に基づいて、信号ＣＫＩＮ上のパルスを、信号Ｓに通過させるか、または、信号Ｓに通過させない。
【００７２】
図示された実施例において、セットフィルタ回路５４１は、ＮＯＲゲート１３０１、インバータ１３０２、パスゲート１３０３、およびプルダウンＰＤ１を含む。パスゲート１３０３は、入力端子ＣＫＩＮと出力端子Ｓとの間に配置される。ＮＯＲゲート１３０１は、入力として信号ＱＳおよびＲＳＴを受取り、信号ＧＮＳを与え、信号ＧＮＳは、パスゲート１３０３のＮＭＯＳ端子を制御する。信号ＧＮＳはまた、インバータ１３０２も駆動し、インバータ１３０２は、パスゲート１３０３のＰＭＯＳ端子を制御して、プルダウンＰＤ１も制御する。プルダウンＰＤ１は、出力端子Ｓと接地ＧＮＤとの間に結合される。
【００７３】
図１４は、リセットフィルタ回路５５１のブロック図である。図５で分かるように、リセットフィルタ回路は、クロック出力信号ＣＫＯＵＴ上のプルダウンＰＤを制御する。このリセットフィルタ回路は、ステートマシンから制御信号ＱＲを受取り、このＱＲ信号を用いて、入力クロック信号ＣＫＩＮ上のクロックパルスをフィルタ処理する。すなわち、信号ＱＲの値に基づいて、信号ＣＫＩＮ上のパルスを、信号Ｒに通過させるか、または、信号Ｒに通過させない。
【００７４】
図示された実施例において、リセットフィルタ回路５５１は、ＮＯＲゲート１４０１および１４０２、ＮＡＮＤゲート１４０６、インバータ１４０４および１４０５、パスゲート１４０３、プルアップＰＵ２、ならびにプルダウンＰＤ２を含む。パスゲート１４０３は、入力端子ＣＫＩＮと出力端子Ｒとの間に配置される。ＮＯＲゲート１４０１は、入力として信号ＱＲおよびＲＳＴを受取り、信号ＧＮＲを与え、信号ＧＮＲは、パスゲート１４０３のＮＭＯＳ端子を制御する。信号ＧＮＲは、パスゲート１４０３のＰＭＯＳ端子を制御するインバータ１４０５も駆動して、ＮＯＲゲート１４０２の第１の入力も駆動する。ＮＯＲゲート１４０２は、出力端子Ｒと接地ＧＮＤとの間に結合されるプルダウンＰＤ２を制御する。ＮＡＮＤゲート１４０６は、入力として信号ＣＤＥＮおよびＲＳＴを受取り、信号ＰＰＵＢを与える。信号ＰＰＵＢは、出力端子ＲとパワーハイＶＣＣとの間に結合されるプルアップＰＵ２を制御する。信号ＰＰＵＢは、ＮＯＲゲート１４０２に第２の入力を与えるインバータ１４０４も駆動する。
【００７５】
図１５は、キーパー回路５６０のブロック図である。キーパー回路５６０は、パワーハイＶＣＣと接地ＧＮＤとの間に直列に結合された、プルアップＰＵ３およびＰＵ４、ならびにプルダウンＰＤ４およびＰＤ３を含む。出力端子ＫＯＵＴは、プルアップＰＵ４とプルダウンＰＤ４との間に結合される。クロック分割器イネーブル信号ＣＤＥＮは、プルダウンＰＤ３を直接駆動し、インバータ１５０１を介してプルアップＰＵ３を駆動する。したがって、信号ＣＤＥＮがローであるとき、プルアップＰＵ３およびプルダウンＰＤ３の両方がオフであり、出力端子ＫＯＵＴにある信号がトライステート化される。プルアップＰＵ４およびプルダウンＰＤ４は、ともに信号ＳＢによって駆動される。信号ＳＢおよびＲＢは、クロス結合されたＮＯＲゲート１５０２および１５０３によってそれぞれ与えられる。ＮＯＲゲート１５０２への他の入力は、セットフィルタ５４１からのＳ信号である。ＮＯＲゲート１５０３への他の入力は、リセットフィルタ５５１からのＲ信号である。
【００７６】
この発明のさまざまな実施例において、クロックドライバ回路およびクロック分割器回路に対して新規の構造が説明されてきた。上で説明した、この発明の構造および方法のさまざまな実施例は、この発明の原理を単に示すものであり、この発明の範囲を、記載された特定の実施例に限定することを意図しない。たとえば、この開示を参照して、当業者は、他のステートマシン、キーパー回路、パスゲート、インバータ、プルアップ、プルダウン、トライステート化され得るクロック分割器、バッファ、マルチプレクサ等を規定することができ、この発明の原理に従った方法、回路またはシステムを形成するために、これらの代替的な特徴を用いることができる。したがって、この発明は、前掲の請求項によってのみ限定される。
【図面の簡単な説明】
【００７７】
【図１Ａ】従来のクロック分割器のブロック図である。
【図１Ｂ】図１Ａのクロック分割器のためのタイミング図である。
【図２Ａ】クロック分割器を含まない、従来のクロックドライバ回路のブロック図である。
【図２Ｂ】任意のクロック分割器を含む従来のクロックドライバ回路のブロック図である。
【図３Ａ】反転クロック分割器を含む、従来のクロックドライバ回路のブロック図である。
【図３Ｂ】非反転クロック分割器を含む、従来のクロックドライバ回路のブロック図である。
【図４】この発明の第１の実施例に従った、トライステート化され得るクロック分割器を含む、第１のドライバ回路のブロック図である。
【図５】この発明の第２の実施例に従った、クロック分割器回路のブロック図である。
【図６】２分割モードにおける、図５のクロック分割器回路の動作を示すタイミング図である。
【図７】６分割モードにおける、図５のクロック分割器回路の動作を示すタイミング図である。
【図８】図５のクロック分割器回路とともに用いることのできるイネーブル信号生成器回路のブロック図である。
【図９】図５のクロック分割器回路とともに用いることのできるデコーダ回路のブロック図である。
【図１０】（図１０Ａおよび図１０Ｂを含む）図５のクロック分割器回路とともに用いることのできるステートマシンのブロック図である。
【図１０Ａ】図５のクロック分割器回路とともに用いることのできるステートマシンのブロック図である。
【図１０Ｂ】図５のクロック分割器回路とともに用いることのできるステートマシンのブロック図である。
【図１１】図１０のステートマシンの第１のサブセルのブロック図である。
【図１２】図１０のステートマシンの第２のサブセルのブロック図である。
【図１３】図５のクロック分割器回路とともに用いることのできるセットフィルタ回路のブロック図である。
【図１４】図５のクロック分割器回路とともに用いることのできるリセットフィルタ回路のブロック図である。
【図１５】図５のクロック分割器回路とともに用いることのできるキーパー回路のブロック図である。
【図１Ａ】
2005502256.tif 000006
【図２Ｂ】
2005502256.tif 000007
【図３Ａ】
2005502256.tif 000008
【図３Ｂ】
2005502256.tif 000009
【図４】
2005502256.tif 000010
【図５】
2005502256.tif 000011
【国際公開パンフレット】
2005502256.tif 000012
2005502256.tif 000013
2005502256.tif 000014
2005502256.tif 000015
2005502256.tif 000016
2005502256.tif 000017
2005502256.tif 000018
2005502256.tif 000019
2005502256.tif 000020
2005502256.tif 000021
2005502256.tif 000022
2005502256.tif 000023
2005502256.tif 000024
2005502256.tif 000025
2005502256.tif 000026
2005502256.tif 000027
2005502256.tif 000028
2005502256.tif 000029
2005502256.tif 000030
2005502256.tif 000031
2005502256.tif 000032
2005502256.tif 000033
2005502256.tif 000034
2005502256.tif 000035
2005502256.tif 000036
2005502256.tif 000037
2005502256.tif 000038
2005502256.tif 000039
2005502256.tif 000040
2005502256.tif 000041
2005502256.tif 000042
2005502256.tif 000043
2005502256.tif 000044
2005502256.tif 000045
2005502256.tif 000046
2005502256.tif 000047
2005502256.tif 000048
2005502256.tif 000049
2005502256.tif 000050
2005502256.tif 000051
【国際公開パンフレット（コレクトバージョン）】
2005502256.tif 000052
【国際調査報告】
2005502256.tif 000053
2005502256.tif 000054
2005502256.tif 000055