(57)【要約】  カウンタは複数のマルチプレクサを用いて選択可能な分周係数を有する。このカウンタはインバータと、選択可能な段遅延を有する縦続遅延段とを含んでいる。インバータは最後の１つの遅延段の段出力を最初の１つの遅延段の段入力に接続している。各遅延段は商信号を受け取る段入力、各々が段入力から商信号を受け取るように結合された、相異なる付随のパス遅延を有する少なくとも２つのパス、及びマルチプレクサを含んでいる。段遅延の１つを選択するために、マルチプレクサは少なくとも２つのパスの１つからの商信号を選択的に段出力に伝達するように結合されている。
2008510428.tif 000002
【特許請求の範囲】
【請求項１】
選択可能な段遅延を有する縦続遅延段であり、当該遅延段の各々が：
商信号を受け取る段入力；
相異なる付随のパス遅延を有する少なくとも２つのパスであり、各々が前記段入力から前記商信号を受け取るように結合されている、少なくとも２つのパス；及び
前記段遅延の１つを選択するために、前記少なくとも２つのパスの１つからの前記商信号を選択的に段出力に伝達するように結合されたマルチプレクサ；
を有する、縦続遅延段；並びに
前記遅延段の最後の１つの前記段出力を前記遅延段の最初の１つの前記段入力に接続するインバータ；
を有する装置。
【請求項２】
前記縦続遅延段及び前記インバータが、ジョンソンカウンタを含むように結合されている、請求項１に記載の装置。
【請求項３】
被分割周波数を有する参照クロック信号を前記遅延段の各々に分配するように結合された参照クロック分配ネットワークを更に有し、且つ前記遅延段が、Ｎは前記選択可能な段遅延の全てを含む総遅延を表すものとして、前記被分割周波数をＮ×２で割った周波数に等しい商周波数を有する前記商信号を生成するように連続的に結合されている、請求項１に記載の装置。
【請求項４】
前記商信号を前記段出力に伝達するための前記少なくとも２つのパスの１つを選択するために各遅延段の前記マルチプレクサに結合された制御回路を更に有する、請求項１に記載の装置。
【請求項５】
前記遅延段の各々が、前記商信号を更に遅延させるように前記段入力と前記少なくとも２つのパスとの間に結合された入力バッファを更に有する、請求項１に記載の装置。
【請求項６】
各遅延段の前記少なくとも２つのパスが短絡パスを含んでいる、請求項１に記載の装置。
【請求項７】
各遅延段の前記少なくとも２つのパスが、前記商信号を更に遅延させる少なくとも１つの信号バッファを有する遅延パスを更に含んでいる、請求項６に記載の装置。
【請求項８】
各遅延段の前記遅延パスが固有の数の信号バッファを有している、請求項７に記載の装置。
【請求項９】
各遅延段の前記遅延パス内の前記信号バッファの数が２の整数乗である、請求項８に記載の装置。
【請求項１０】
前記信号バッファがフリップフロップ回路を有する、請求項９に記載の装置。
【請求項１１】
前記縦続遅延段の最後の１つの段出力と前記インバータとの間に結合され、前記縦続遅延段の最後の１つの前記マルチプレクサから前記インバータを分離する出力バッファを更に有する請求項１に記載の装置。
【請求項１２】
前記縦続遅延段の少なくとも１つの前記マルチプレクサが更に、前記少なくとも２つのパス及び前方スキップパスの１つから当該マルチプレクサに結合された前記段出力に前記商信号を選択的に伝達するように結合されており、前記前方スキップパスが前記縦続遅延段の最初の１つの前記段入力から前記商信号を受け取るように結合されている、請求項１に記載の装置。
【請求項１３】
前記縦続遅延段の最後の１つの前記段出力と前記インバータとの間に結合された選択段を更に有し、該選択段が：
前記縦続遅延段の最後の１つの前記段出力から受け取った前記商信号を遅延させるように結合された第１の信号バッファ；
前記商信号を更に遅延させるように前記第１の信号バッファに直列に結合された第２の信号バッファ；
前記第１及び第２の信号バッファから出力された前記商信号を受け取るように結合されたＡＮＤ論理ゲート；及び
前記ＡＮＤゲート及び前記第２の信号バッファから出力された前記商信号を選択的に前記インバータに伝達するように結合されたマルチプレクサ；
を有する、請求項１に記載の装置。
【請求項１４】
直列に結合された複数の縦続遅延段の総遅延を選択するために、該複数の縦続遅延段の各々に付随する少なくとも２つの遅延の１つを選択するステップ；
参照クロック信号を用いて前記縦続遅延段をクロッキングするステップ；
前記縦続遅延段によって商信号を遅延させるステップ；
Ｎは前記総遅延に応じた正の整数として、前記参照クロック信号のＮサイクル毎に、前記縦続遅延段の最後の１つから出力された前記商信号を反転させるステップ；及び
前記縦続遅延段の最初の１つに、反転された商信号をフィードバックするステップ；
を有する方法。
【請求項１５】
前記縦続遅延段の各々に付随する少なくとも２つの遅延の１つを選択するステップが、前記縦続遅延段の各々の少なくとも２つのパスの１つを選択するようにマルチプレクサを作動させることを有する、請求項１４に記載の方法。
【請求項１６】
前記縦続遅延段の各々によって商信号を遅延させるステップが：
段入力で前記商信号を受け取ること；
前記少なくとも２つのパスの各々によって前記商信号を遅延させること；及び
マルチプレクサによって選択された前記少なくとも２つのパスの１つから段出力に前記商信号を伝達すること；
を有する、請求項１４に記載の方法。
【請求項１７】
前記縦続遅延段の各々によって商信号を遅延させるステップが、商信号を更に遅延させる入力バッファによって前記商信号を遅延させることを更に有する、請求項１６に記載の方法。
【請求項１８】
商周波数を外部クロック周波数と比較して制御電圧を生成するステップ；及び
前記制御電圧に応じた被分割周波数を有する前記参照クロック信号を生成するステップ；
を更に有する請求項１４に記載の方法。
【請求項１９】
前記参照クロック信号を用いてプロセッサのコアロジックをクロッキングするステップを更に有する請求項１９に記載の方法。
【請求項２０】
集積回路の記述が格納された機械アクセス可能媒体であって、前記集積回路が：
縦続遅延段であり、当該遅延段の各々が：
相異なる付随のパス遅延を有する少なくとも２つのパスであり、各々が段入力から受け取った商信号を遅延させるように入力バッファに結合されている、少なくとも２つのパス；及び
前記少なくとも２つのパスの１つからの前記商信号を選択的に段出力に伝達するように、前記少なくとも２つのパスに結合されたマルチプレクサ；
を有する、縦続遅延段；並びに
前記縦続遅延段の最後の１つの前記段出力から前記商信号を受け取るように結合され、且つ前記縦続遅延段の最初の１つの前記段入力に前記商信号の反転をフィードバックするように結合されたインバータ；
を有する、機械アクセス可能媒体。
【請求項２１】
前記集積回路が、被分割周波数を有する参照クロック信号を前記遅延段の各々に分配するクロック分配ネットワークを更に有し、且つ前記遅延段が、Ｎは選択可能な段遅延の全てを含む総遅延を表すものとして、前記被分割周波数をＮ×２で割った周波数に等しい商周波数を有する前記商信号を生成するように連続的に結合されている、請求項２０に記載の機械アクセス可能媒体。
【請求項２２】
各遅延段の前記少なくとも２つのパスが短絡パスを含んでいる、請求項２０に記載の機械アクセス可能媒体。
【請求項２３】
各遅延段の前記少なくとも２つのパスが、前記商信号を更に遅延させる少なくとも１つの信号バッファを有する遅延パスを更に含んでいる、請求項２２に記載の機械アクセス可能媒体。
【請求項２４】
各遅延段の前記遅延パス内の前記信号バッファの数が、固有の整数で２を累乗した数である、請求項２３に記載の機械アクセス可能媒体。
【請求項２５】
マザーボード；
前記マザーボード上に配置されたＳＤＲＡＭ；並びに
前記マザーボード上に配置され、前記ＳＤＲＡＭと通信可能に結合されたプロセッサであり：
縦続遅延段であり、当該遅延段の各々が：
相異なる付随のパス遅延を有する少なくとも２つのパスであり、各々が段入力から受け取った商信号を遅延させるように入力バッファに結合されている、少なくとも２つのパス；及び
前記パスの１つからの前記商信号を選択的に段出力に伝達するように、前記少なくとも２つのパスに結合されたマルチプレクサ；
を有する、縦続遅延段；及び
前記遅延段の最後の１つの前記段出力から前記商信号を受け取るように結合され、且つ前記遅延段の最初の１つの前記段入力に前記商信号の反転を出力するように結合されたインバータ；
を有するプロセッサ；
を有するシステム。
【請求項２６】
前記プロセッサが、被分割周波数を有する参照クロック信号を前記遅延段の各々に分配するように結合された参照クロック分配ネットワークを更に有し、且つ前記遅延段が、Ｎは前記縦続遅延段の全てを含む総遅延を表すものとして、前記被分割周波数をＮ×２で割った周波数に等しい商周波数を有する前記商信号を生成するように連続的に結合されている、請求項２５に記載のシステム。
【請求項２７】
各遅延段の前記少なくとも２つのパスが短絡パスを含んでいる、請求項２６に記載のシステム。
【請求項２８】
各遅延段の前記少なくとも２つのパスが、前記商信号を更に遅延させる少なくとも１つの信号バッファを有する遅延パスを更に含んでいる、請求項２７に記載のシステム。
【請求項２９】
各遅延段の前記遅延パス内の前記信号バッファの数が、固有の整数で２を累乗した数である、請求項２８に記載のシステム。
【請求項３０】
前記プロセッサが位相ロックループを更に有し、該位相ロックループが：
外部クロック周波数を有する外部クロック信号を受け取るように結合された外部クロックポート；
前記商周波数と前記外部クロック周波数との差に応じた制御電圧を生成するように結合された周波数比較器；及び
前記制御電圧に応じた前記参照クロック信号を生成するように結合された電圧制御発振器；
を有する、請求項２９に記載のシステム。
【請求項３１】
前記プロセッサが前記参照クロック信号を受け取るように結合されたコアロジックを更に有する、請求項３０に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は概して、高速なプログラム可能カウンタに関し、他を排除するものではないが、具体的にはジョンソンカウンタに関する。
【背景技術】
【０００２】
ジョンソンカウンタは、被分割周波数Fdividendを有する参照クロック信号に応答して、Fquotient＝Fdividend／（N×2）である商周波数Fquotientを有する商（quotient）信号を生成する。ここで、Nは参照クロック信号サイクルにて測定される遅延を表し、（N×2）は対応する分周係数である。
【０００３】
ジョンソンカウンタは可変の出力周波数を生成するために適応性ある分周係数を有するべきである。既知のジョンソンカウンタの構成においては、取り得る複数の遅延及び対応する分周係数から１つを選択するために、シーケンシャルバッファ（以下、信号バッファ又は遅延バッファと呼ぶ）を有する線形シフトレジスタからの複数のタップ点が、フィードバックとして１つ選択されるように多重化されている。
【０００４】
図１は、１から８まで（すなわち、N＝1、2、3、4、5、6、7、8）の範囲の遅延と、対応する２から１６まで（すなわち、N×2＝2、4、6、8、10、12、14、16）の範囲の分周係数とを選択可能な、既知のジョンソンカウンタ100を例示している。ジョンソンカウンタ100は、商信号175を逐次的に遅延させるように直列に結合された信号バッファ105A、105B、105C、105D、105E、105F、105G、105H（集合的に105）を含んでいる。信号バッファの各々は更に、商信号175を遅延させることの同期をとるために、参照クロック分配ネットワーク120を介してクロック信号121を受け取るように結合されている。信号バッファ105の各々からの出力をインバータ115に多重化するために、マルチプレクサ110が結合されている。インバータ115はマルチプレクサ110から受け取った商信号を反転させ、商信号175の反転180を信号バッファ105Aへとフィードバックする。
【０００５】
マルチプレクサ110は、１及び８を含めて１と８との間の遅延Nを選択するために、信号バッファ105の何れか１つから出力される商信号175を選択する。例えば、マルチプレクサ110が信号バッファ105Eからの出力を選択するとき、商信号175は信号バッファ105A、105B、105C、105D及び105Eを介して順次遅延させられてインバータ115に到達する。ジョンソンカウンタ100はそれに従って、参照クロック信号121の５サイクル分の遅延（N=5）、及び１０（N×2＝10）の分周係数に設定される。
【０００６】
信号バッファ105Aの入力に始まって、最初のN個の信号バッファ105が商信号175を順次遅延させる。Nサイクルの参照クロック信号121の後、商信号175はマルチプレクサ110の出力に現れる。インバータ115は商信号175を反転させ、反転180を信号バッファ105Aの入力へと送り戻す。反転180は更に、最初のN個の信号バッファ105によってクロック信号121のNサイクル分だけ順次遅延させられる。商信号175は参照クロック信号121のNサイクル毎に反転され、商信号175の各サイクルは参照クロック信号121の（N×2）サイクルに等しくなる。故に、参照クロック信号121の被分割周波数Fdividendは、分周係数（N×2）によって商信号175の商周波数Fquotientに分周される。
【０００７】
ジョンソンカウンタのクリティカルパスはマルチプレクサ110によって制限される。マルチプレクサ回路の複雑さは更なる選択入力とともに増大し、それに対応する性能低下をもたらす。ジョンソンカウンタ100は、所望の選択可能な分周係数に対応する各信号バッファ105が選ばれてマルチプレクサ110の対応する入力に絡まされることを要求する。故に、マルチプレクサ110の大きさ（すなわち、マルチプレクサ110の入力数）は選択可能な分周係数の所望数に一致する。その結果、選択可能な分周係数の数はマルチプレクサ110のロジックの複雑さによって制限される。この数が大きいと、特に高速の分周器用に実装されるとき、許容できない性能低下がもたらされる。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、上記問題を解決した多段プログラム可能ジョンソンカウンタを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一態様に従った装置は、選択可能な段遅延を有する縦続遅延段であり、当該遅延段の各々が：商信号を受け取る段入力；相異なる付随のパス遅延を有する少なくとも２つのパスであり、各々が前記段入力から前記商信号を受け取るように結合されている、少なくとも２つのパス；及び前記段遅延の１つを選択するために、前記少なくとも２つのパスの１つからの前記商信号を選択的に段出力に伝達するように結合されたマルチプレクサ；を有する、縦続遅延段；並びに前記遅延段の最後の１つの前記段出力を前記遅延段の最初の１つの前記段入力に接続するインバータ；を有する。
【発明を実施するための最良の形態】
【００１０】
図面を参照して本発明の非限定的、且つ非網羅的な実施形態について説明する。図面においては、特に断らない限り、様々な図面を通して似通った参照符号は似通った部品を参照するものとする。
【００１１】
ここでは、複数の遅延段を具備するジョンソンカウンタのためのシステム及び方法の実施形態について説明する。以下の記載においては、実施形態の完全な理解を提供するため、多数の具体的詳細事項について説明する。しかしながら、当業者に認識されるように、ここで説明される技術は、１つ又は複数の具体的詳細事項を用いずして、あるいは、他の方法、要素、材料などを用いて、実施され得るものである。また、特定の態様を不明瞭にすることを避けるため、周知の構造、材料又は操作について詳細に示したり、説明したりすることはしないこととする。
【００１２】
この明細書全体を通して、“一実施形態”または“ある実施形態”への言及は、実施形態に関連して述べられた特定の特徴、構造、又は特性が本発明の少なくとも１つの実施形態に含まれることを意味するものである。故に、この明細書全体を通して様々な箇所で“一実施形態において”又は“ある実施形態において”という言いまわしが現れることは、必ずしも全てが同一の実施形態について言及しているわけではない。さらに、特定の特徴、構造又は特性は、１つ又は複数の如何なる好適な手法で結合されてもよい。
【００１３】
図２は、本発明の一実施形態に従ったジョンソンカウンタ200を例示するブロック図である。例示されたジョンソンカウンタ200の実施形態は、カスケード接続された縦続遅延段205A、205B、205C、205D（集合的に205）、インバータ210、参照クロック入力215、参照クロック分配ネットワーク220、カウンタ出力225、及び制御回路230を含んでいる。ジョンソンカウンタ200は図２に例示されるより多い、あるいは少ない遅延段205を含んでもよいこと、及び遅延段205が連なる順序はジョンソンカウンタ200の機能又は性能には影響を及ぼさないことは認識されるべきである。
【００１４】
遅延段205の各々は段入力235、入力バッファ240、複数のパス（例えば、短絡パス245及び遅延パス250）、マルチプレクサ255、及び段出力260を含んでいる。図２を混雑したものにしないよう、遅延段205Aの構成要素のみに参照符号が付されている。遅延段205の各々が後述のように更なるパスを含んでもよいことは認識されるべきである。
【００１５】
一実施形態において、各遅延パス250は少なくとも１つの信号バッファ270を有している。一実施形態において、各遅延段205の遅延パス250に含まれる信号バッファ270の数は、固有の整数で２を累乗した数である。例えば、遅延段205A、205B、205C及び205Dの各々の遅延パス250は、それぞれ、８個（すなわち、23）、４個（すなわち、22）、２個（すなわち、21）及び１個（すなわち、20）の信号バッファ270を含んでもよい。
【００１６】
一実施形態において、各信号バッファ270及び入力バッファ240は、商信号275を参照クロック信号216の１サイクルだけ遅延させるフリップフロップ回路を含んでいる。他の一実施形態においては、各信号バッファ270及び入力バッファ240はＤ型フリップフロップ回路を含んでいる。
【００１７】
ジョンソンカウンタ200の構成要素は以下のように接続されている。遅延段205は商信号275を順次遅延させるように直列に結合されている。遅延段205の各々は参照クロック入力215から参照クロック分配ネットワーク220を介して参照クロック信号216を受け取る。インバータ210は最後の遅延段205（例えば、遅延段205D）の段出力260から商信号275を受け取るように結合されている。インバータ210は更に、商信号275の反転280を第１の遅延段205（例えば、遅延段205A）の段入力235に送り戻すように結合されている。カウンタ出力225は遅延段205Dの段出力260に結合され、商信号275を出力する。
【００１８】
遅延段205の構成要素は以下のように結合されている。入力バッファ240は段入力235から商信号275を受け取るように結合されている。複数パスは入力バッファ240の出力をマルチプレクサ255の対応する入力に接続している（例えば、短絡パス245は入力バッファ240の出力をマルチプレクサ255の第１の入力に接続し、遅延パス250は入力バッファ240の出力をマルチプレクサ255の第２の入力に接続している）。マルチプレクサ255は制御回路230から制御バス231を介して制御信号285を受け取るように結合されている。マルチプレクサ255は、制御信号285に応じて複数パス（例えば、短絡パス245及び遅延パス250）の何れかから受け取った商信号275を選択的に段出力260に送るように結合されている。
【００１９】
以下では、コンピュータ・ソフトウェア及びハードウェアの点からプロセスについて説明する。このプロセスは、例えば特定用途向け集積回路（“ＡＳＩＣ”）等のハードウェア内で具現化されてもよい。各プロセスで一部又は全ての処理ブロックが現れる順序は限定的なものと見なされるべきではない。むしろ、処理ブロックの一部は例示されていない様々な順序で実行されてもよいことは、この開示の利益を享受する当業者に理解されるところである。
【００２０】
図３は、本発明の一実施形態に従って、ジョンソンカウンタ200を動作させるプロセス300を例示するフローチャートである。
【００２１】
処理ブロック305にて、遅延段205の各々に付随する少なくとも２つの遅延の１つを適切に選択することによって遅延段205の総遅延Nが選択される。一実施形態において、遅延段205の各々に付随する２つの遅延の一方を選択するために、短絡パス245及び遅延パス250の一方を各遅延段205のマルチプレクサ255に選択させるように、制御信号285がアサートされる。
【００２２】
一実施形態において、遅延段205の各々は、マルチプレクサ255に短絡パス245を選択させるように制御信号285をアサートすることによって、参照クロック信号216の１サイクルだけ商信号275を遅延させるように設定されてもよい。段入力235に始まって、商信号275は、入力バッファ240によって参照クロック信号216の１サイクルだけ遅延させられ、続いて短絡パス245及びマルチプレクサ255を通って段出力260に現れる。
【００２３】
例示された実施形態においては、遅延段205は、マルチプレクサ255に遅延パス250を選択させるように制御信号285をアサートすることによって、遅延パス250内の信号バッファ数に１（入力バッファ240による）を加えた数に相当する多数のサイクルの参照クロック信号216だけ商信号275を遅延させるように設定されてもよい。遅延段205の各々にて、入力バッファ240は参照クロック信号216の１サイクルだけ商信号275を遅延させる。遅延パス250は更に、個々の遅延パス250内の信号バッファ270の数に相当する多数のサイクル分の参照クロック信号216だけ商信号275を遅延させる。例えば、遅延段205A、205B、205C及び205Dの遅延パス250は更に、それぞれ、参照クロック信号216の８、４、２及び１サイクルだけ商信号275を遅延させる。故に、入力バッファ240を含め、遅延段205の各々は、それぞれ、合計で参照クロック信号216の９、５、３及び２サイクルだけ商信号275を遅延させるように設定されている。
【００２４】
【表１】
2008510428.tif 000003
各遅延段205の選択可能な遅延は、表１に列挙されるように、参照クロック信号216の４サイクルから１９サイクルの範囲の総遅延Nと、対応する８から３８の範囲の分周係数（N×2）とを得るように組み合わせられ得る。表１の各行は、遅延段205の選択可能な遅延の対応する組み合わせによって得られる総遅延Nと分周係数（N×2）とを示している。例えば、行番号７では、遅延段205A、205B、205C及び205Dは、遅延段205A及び205Dに対して短絡パス245、遅延段205B及び205Cに対して遅延パス250をそれぞれ選択することによって、それぞれ、参照クロック信号216の１、５、３及び１サイクルだけ商信号275を遅延させるように選択されている。従って、遅延段205の総遅延Nは参照クロック信号216の１０サイクルに等しく、また対応する分周係数は２０（ずなわち、N×2＝10×2＝20）になる。
【００２５】
【表２】
2008510428.tif 000004
例示されたジョンソンカウンタ200の実施形態は２対１のマルチプレクサを用いて１６個の選択可能な分周係数を提供するものであるが、選択可能な分周係数の範囲は更なる遅延段205を組み込むことによって拡張され得ることは認識されるべきである。表２は、異なる数の遅延段205を有する様々なジョンソンカウンタ200の構成に対して、総遅延Nの最大数及び最小数と、対応する分周係数（N×2）とを示したものである。表２の各行は、左列のＰによって指定された固有の数の遅延段205を具備するジョンソンカウンタ200の構成を表している。なお、ジョンソンカウンタの如何なる固有の構成に対しても、遅延段205の遅延パス250に含まれる信号バッファ270の数は、連続した整数で２を累乗したもの（例えば、１、２、４、８、１６、３２、等）としてもよい。Nmin及び（N×2）minは、それぞれ、最小の総遅延及び最小の分周係数を表している。Nmax及び（N×2）maxは最大の総遅延及び最大の分周係数を表している。
【００２６】
例えば、行４は図２に例示された実施形態に対応して４つの遅延段205（すなわち、P＝４）を具備するジョンソンカウンタ200を表している。４つの遅延段205の遅延パス250に含まれる信号バッファ270の数は連続した整数での２の累乗である（例えば、遅延パス250はそれぞれ、１、２、４及び８個の信号バッファ270を有する）。最小の総遅延Nminは４であり、対応する最小の分周係数（N×2）minは８である。最大の総遅延Nmaxは１９であり、対応する最大の分周係数（N×2）maxは３８である。認識されるべきは、更なる遅延段205を追加することにより、最大の総遅延Nmax及び対応する最大の分周係数（N×2）maxを指数関数的に増大させながら、それに伴う最小の総遅延Nmin及び対応する最小の分周係数（N×2）minの増大を単なる線形な増大のみとすることができることである。
【００２７】
１つ又は複数の遅延段205を追加することはマルチプレクサ255の複雑さ（すなわち、論理入力）を増大させないことは認識されるべきである。故に、ジョンソンカウンタ200は、更なる遅延段205を組み込むことによって、ジョンソンカウンタ200の性能を実質的に低下させることなく、より広い範囲の分周係数を得るように拡張され得る。
【００２８】
処理ブロック310にて、遅延段205に参照クロック信号216が与えられる。参照クロック信号216が与えられると、参照クロック信号216によってクロッキングされる遅延段205を介して商信号275が順次遅延させられる（処理ブロック315）。商信号275は段入力235にて遅延段205の各々に入力される。入力バッファ240は参照クロック信号216の１サイクルだけ商信号275を遅延させる。短絡パス245は実質的に遅延なく、入力バッファ240からマルチプレクサ255の第１の入力へと商信号275を配信する。遅延パス250は、個々の遅延パス250の信号バッファ270の数に相当する多数のサイクル分の参照クロック信号216だけ商信号275を遅延させ、マルチプレクサ255の第２の入力へと商信号275を配信する。マルチプレクサ255は、短絡パス245及び遅延パス250の選択された一方から段出力260へと、次の段入力235によって受け取られるように商信号275を送る。商信号275は、遅延段205Aの段入力235から遅延段205Dの段出力260までの全体でNサイクルの参照クロック信号216だけ遅延させられる。ここで、Nは処理ブロック305にて選択された遅延段205の総遅延である。
【００２９】
処理ブロック320にて、縦続遅延段205の最後の１つ（例えば、205D）の段出力260から出力された商信号275がインバータ210によって反転され、反転280が得られる。商信号275は遅延段205を介して参照クロック信号216のNサイクルだけ遅延させられているので、商信号275は参照クロック信号216のNサイクル毎に反転させられることになる。
【００３０】
処理ブロック325にて、商信号275の反転280が遅延段205Aの段入力235にフィードバックされる。処理ブロック330にて、遅延段205Dから出力された商信号275が出力され、商周波数Fquotient＝Fdividend／（N×2）を有する方形波が生成される。ただし、Fdividendは参照クロック信号216の周波数である。
【００３１】
図４は、本発明の一実施形態に従った、ジョンソンカウンタ200と使用するための代わりの遅延段405を例示するブロック図である。遅延段405は段入力235、入力バッファ240、短絡パス245、遅延パス450A、450B、450C（集合的に450）、４対１のマルチプレクサ455、及び段出力260を含んでいる。
【００３２】
例示された実施形態においては、遅延パス450はそれぞれ、１、２及び４個の信号バッファ270を含んでいる。一実施形態において、各信号バッファ270及び入力バッファ240はそれぞれ、フリップフロップ回路を含んでいる。遅延段405を特定の実装用に特別に調整し、また所望の総遅延の組み合わせを得るために、各遅延パス450がより多い、あるいは少ない信号バッファ270を含んでもよいことは認識されるべきである。
【００３３】
遅延段405の構成要素は以下のように結合されている。入力バッファ240は段入力235から商信号275を受け取るように結合されている。短絡パス245は入力バッファ240の出力をマルチプレクサ455の第１の入力に接続している。遅延パス450はそれぞれ更に、入力バッファ240の出力をマルチプレクサ455の第２、第３及び第４の入力に接続している。マルチプレクサ455は更に、制御バス231から受け取った制御信号285に応じて短絡パス245及び遅延パス450の１つから受け取った商信号275を選択的に段出力260に送るように結合されている。
【００３４】
図５は、本発明の一実施形態に従ったジョンソンカウンタ500を例示するブロック図である。ジョンソンカウンタ500は、当該ジョンソンカウンタ500が遅延段205の最後の１つ（例えば、遅延段205D）の段出力260とインバータ210の入力との間に奇数の分周係数を選択するための選択段505を更に具備していることを除いて、ジョンソンカウンタ200と実質的に同一である。
【００３５】
例示された実施形態においては、選択段505は、遅延段205Dから受け取った商信号275を順次遅延させるように直列に結合された信号バッファ590A及び590B（集合的に590）を含んでいる。信号バッファ590からの出力はそれぞれＡＮＤゲート591へと入力される。マルチプレクサ592はＡＮＤゲート591及び信号バッファ590Bの出力を多重化し、制御バス231を介して受け取った制御信号285に応じてインバータ210に入力する。一実施形態において、各信号バッファ590は、参照クロック分配ネットワーク220を介して受け取った参照クロック信号216の１サイクルだけ商信号275を遅延させるフリップフロップ回路を含んでいる。
【００３６】
信号バッファ590Bの出力を選択するようにマルチプレクサ592をアサートすることにより、インバータ210は参照クロック信号216の（N＋2）サイクル毎に、商信号275を反転させることになる。ここで、Nは遅延段205の総遅延であり、更なる２つの遅延サイクルは信号バッファ590に由来するものである。故に、信号バッファ590Bの出力を選択すると、商信号275の各サイクルは（2×N＋4）サイクルの参照クロック信号216を費やすことになる。分周係数（2×N＋4）は偶数の整数である。
【００３７】
ＡＮＤゲート591の出力を選択するようにマルチプレクサ592をアサートすることにより、インバータ210は参照クロック信号216のN’サイクル毎に、商信号275を反転させることになる。ここで、N’はN+2とN+1とを交互にとる。故に、商信号275の完全なサイクルの各々は（N＋2＋N＋1＝2×N＋3）サイクルの参照クロック信号216を費やすことになる。分周係数（2×N＋3）は奇数の整数である。
【００３８】
図６は、本発明の一実施形態に従ったジョンソンカウンタ600を例示するブロック図である。ジョンソンカウンタ600は、当該ジョンソンカウンタ600が遅延段205Aの入力バッファ240から遅延段205B、205C及び205Dのマルチプレクサ655の更なる入力に商信号275を配信する前方スキップパス605を更に具備していることを除いて、ジョンソンカウンタ200と実質的に同一である。マルチプレクサ655及びマルチプレクサ255は、マルチプレクサ655が３対１の論理入力比を有していることを除いて実質的に同一である。前方スキップパス605は、後続の遅延段205B、205C並びに205Dの入力バッファ240及び信号バッファ270を商信号275が選択的に迂回することを可能にする。故に、遅延段205の最小の総遅延Nは４から１に小さい方に拡張される。従って、最小の分周係数（N×2）は８から２に小さい方に拡張される。
【００３９】
図７は、本発明の一実施形態に従ったジョンソンカウンタ700を例示するブロック図である。ジョンソンカウンタ700は、当該ジョンソンカウンタ700が遅延段205の最後の１つ（例えば、遅延段205D）の段出力260とインバータ210の入力との間に商信号275を更に遅延させる出力バッファ705を更に具備していることを除いて、ジョンソンカウンタ200と実質的に同一である。
【００４０】
図２を再び参照するに、認識されるべきことには、遅延段205Dのマルチプレクサ255とインバータ210とが直列に結合されているので、ジョンソンカウンタ200のクリティカルパスは遅延段205Dのマルチプレクサ255及びインバータ210の伝播遅延の合計である。図７に例示された実施形態においては、出力バッファ705がインバータ210を遅延段205Dのマルチプレクサ255から分離している。故に、クリティカルパスは出力バッファ705とインバータ210、又はバッファ素子（例えば、入力バッファ240、出力バッファ705、若しくは信号バッファ270）と何れかのマルチプレクサ255を含むものとなる。実際に、２対１のマルチプレクサの伝播遅延はインバータと同等である。故に、例示された実施形態におけるマルチプレクサ255はジョンソンカウンタ700の性能を制限しない。
【００４１】
図８は、本発明の実施形態を実装する例証的な処理システム800を例示するブロック図である。例示されたシステム800の実施形態は、適当な集積回路が装着された回路基板805を含んでいる。この適当な集積回路にはシステムメモリ810、不揮発性（“ＮＶ”）メモリ815、入／出力（Ｉ／Ｏ）ユニット820、及びプロセッサ825が含まれている。プロセッサ825は位相−周波数比較器（“ＣＭＰ”）830、ループフィルタ（“ＬＦ”）832、電圧制御発振器（“ＶＣＯ”）835、コアロジック840、外部クロックポート845、及びジョンソンカウンタ200を含んでいる。
【００４２】
例示された実施形態においては、ジョンソンカウンタ200、ＣＭＰ830、ＬＦ832、及びＶＣＯ835は位相ロックループ（“ＰＬＬ”）構成850にて結合されている。ＣＭＰ830の第１の入力は外部クロックポート845に結合されており、外部クロック周波数Fextを有する外部クロック信号847を受け取る。ＣＭＰ830の第２の入力はジョンソンカウンタ200のカウンタ出力225に結合されており、商周波数Fquotientを有する商信号275を受け取る。ＣＭＰ830は外部クロック周波数Fextを商周波数Fquotientと比較し、制御電圧831を生成する。ＬＦ832は、ＣＭＰ830によって生成された制御電圧831を受け取り、フィルタリングされた制御電圧833を出力するように結合されている。ＶＣＯ835の入力はＬＦ832から出力されたフィルタリングされた制御電圧833を受け取り、被分割周波数Fdividendを有する参照クロック信号216を生成するように結合されている。ジョンソンカウンタ200はＶＣＯ835から出力された参照クロック信号216を参照クロック入力215を介して受け取るように結合されている。ジョンソンカウンタ200によって作り出された商信号275は、外部クロック周波数Fextを有する外部クロック信号847に位相及び周波数を揃えられる。故に、ジョンソンカウンタ200は被分割周波数Fdividendと外部クロック周波数Fextとを分周係数に等しい比（すなわち、Fdividend／Fext＝N×2）に固定する。
【００４３】
例示された実施形態においては、ＶＣＯ835の出力は更に、被分割周波数Fdividendを有する参照クロック信号216を配信するようにコアロジック840に結合されており、その動作を同期化する。一実施形態において、コアロジック840は、例えばデータレジスタ、命令復号器、計算ロジック等の様々なプロセッサ部品を含んでもよい。
【００４４】
例示された実施形態においては、プロセッサ825はシステムメモリ810、ＮＶメモリ815、及びＩ／Ｏユニット820に通信可能に結合されており、それらと命令又はデータの送受信を行う。一実施形態において、ＮＶメモリ815はフラッシュメモリデバイスである。他の実施形態においては、ＮＶメモリ815は読み出し専用メモリ（“ＲＯＭ”）、プログラム可能ＲＯＭ、消去可能ＲＯＭ、電気的消去可能ＲＯＭ、又はこれらに類するものの何れかを含んでいる。一実施形態において、システムメモリ810はランダムアクセスメモリ（“ＲＡＭ”）を含んでおり、このＲＡＭは例えば、ダイナミックＲＡＭ（“ＤＲＡＭ”）、同期型ＤＲＡＭ（“ＳＤＲＡＭ”）、ダブルデータレート型ＳＤＲＡＭ（“ＤＤＲ−ＳＤＲＡＭ”）、スタティックＲＡＭ（“ＳＲＡＭ”）、又はこれらに類する等である。
【００４５】
処理システム800の様々な他の要素が、明瞭化のために、図８及びこの説明から除外されていることは認識されるべきである。例えば、処理システム800は更に、グラフィックカード、更なるプロセッサ、持続性のデータ記憶装置（例えば、ハードディスクドライブ）等を含んでもよい。回路基板805はまた、例えばメモリコントローラ・ハブや入／出力コントローラ・ハブ等の従属部品を相互接続するシステムバス及び様々な他のデータバスを含んでもよく、また、周辺装置をプロセッサ825に接続するデータバス（例えば、周辺部品相互接続バス）を含んでもよい。対応して、処理システム800は１つ以上の例示された要素を用いずに動作してもよい。例えば、処理システム800はＩ／Ｏユニット820を必ずしも含む必要はない。
【００４６】
以上にて開示された実施形態は物理的な装置又はシステム内で具現化されてもよいし、上述の実施形態又はその部分の１つ以上の記述（description）が格納された機械可読媒体（例えば、ハードディスク、ＣＤ−ＲＯＭ、又は他の可搬式媒体）内で具現化されてもよい。この記述は、上述の実施形態の動作を、例えばＶＨＤＬ又はＶｅｒｉｌｏｇ等のハードウェア記述言語を用いて記述する行動（behavioral）レベルコードを含んでもよい。他の例では、この記述は、レジスタ転送レベル（“ＲＴＬ”）コード、ネットリスト、又はジョンソンカウンタ200若しくはその部分の回路レイアウトさえも含んでもよい。行動レベルコード、ＲＴＬコード、ネットリスト、及び回路レイアウトは全て、様々なレベルから抽出された、本発明の上述の実施形態を記述するために使用され得るものを表している。
【００４７】
例示された本発明の実施形態についての上記記載は、要約書に記載されたものも含め、網羅的であること、又は本発明を開示された形態そのものに制限することを意図するものではない。ここでは例示目的のため、本発明に関する具体的な実施形態及び実施例を説明したが、当業者に認識されるように、本発明の範囲内で様々な等価な変形が為され得る。
【００４８】
これらの変形は上記の詳細な説明を踏まえて本発明に為され得るものである。請求項にて使用される用語は、本発明を明細書及び特許請求の範囲にて開示された特定の実施形態に限定するものと解釈されるべきではない。むしろ、本発明の範囲は、確立されたクレーム解釈に従って解釈されるべき請求項によって決定されるべきものである。
【図面の簡単な説明】
【００４９】
【図１】既知のジョンソンカウンタを例示するブロック図である。
【図２】本発明の一実施形態に従った、複数の遅延段を具備するジョンソンカウンタを例示するブロック図である。
【図３】本発明の一実施形態に従って、ジョンソンカウンタを動作させるプロセスを例示するフローチャートである。
【図４】本発明の一実施形態に従った、ジョンソンカウンタの遅延段を例示するブロック図である。
【図５】本発明の一実施形態に従った、奇数の分周係数を選択するための選択段を具備するジョンソンカウンタを例示するブロック図である。
【図６】本発明の一実施形態に従った、総遅延及び対応する分周係数の選択範囲を拡張するための前方スキップパスを具備するジョンソンカウンタを例示するブロック図である。
【図７】本発明の一実施形態に従った、伝播レイテンシを最小化するための出力バッファを具備するジョンソンカウンタを例示するブロック図である。
【図８】本発明の実施形態を実装する例証的な処理システムを例示するブロック図である。
【図１】
2008510428.tif 000005
【図２】
2008510428.tif 000006
【図３】
2008510428.tif 000007
【図４】
2008510428.tif 000008
【図５】
2008510428.tif 000009
【図６】
2008510428.tif 000010
【図７】
2008510428.tif 000011
【図８】
2008510428.tif 000012
【国際調査報告】
2008510428.tif 000013
2008510428.tif 000014
2008510428.tif 000015