(57)【要約】【課題】  ５０／５０負荷サイクルを示す出力信号を与えるためにクロック信号を非整数除数で除算する方法及び装置を提供すること。【解決手段】  出力クロック信号を生成するために入力クロック信号を非整数値で除算する除算器回路を含む情報処理システムが開示される。結果として生じる出力クロック信号は、１つの実施形態において５０／５０負荷サイクルを示す。開示される除算方法は、付加的なクロック信号ソースの必要なしに、ダブル・データ・レート・メモリ動作のような、高度な回路関数の設計を可能にする。【選択図】      図１
2007200293.tif 000002
【特許請求の範囲】
【請求項１】
除算器回路によって信号を処理する方法であって、
除算器回路の除算器入力によって、周波数ＣＬＫＩＮ  ＦＲＥＱを示す複数のパルスを含むクロック入力信号を受信するステップと、
Ｘが２以上の整数であるとして、前記周波数ＣＬＫＩＮ  ＦＲＥＱをＸ．５で除算した値に等しいクロック周波数ＣＬＫＯＵＴ  ＦＲＥＱを示す複数のパルスを含むクロック出力信号を、前記除算器入力に結合された除算器ロジックによって前記除算器回路の除算器出力に対して生成するステップとを含み、
前記クロック出力信号を生成するステップがさらに、
関係Ａ  ＦＲＥＱ＝ＣＬＫＩＮ  ＦＲＥＱ／（２×（Ｘ．５））に従う周波数Ａ  ＦＲＥＱを示し、かつ、立ち上がり端及び立ち下がり端を有する複数のパルスを含むパルス信号Ａを、可変負荷サイクル・パルス生成器によって生成するステップと、
時間遅延ロジックによって、立ち上がり端及び立ち下がり端を有する複数のパルスを含むパルス信号Ｂとして表示される、パルス信号Ａの時間遅延コピーを生成するステップと、
位相遅延ロジックによって、所定の位相量だけ位相遅延されている信号Ａの位相遅延コピー及び信号Ｂの位相遅延コピーを生成するステップと、
前記除算器出力に結合された出力ロジックによって、複数の偶数及び奇数のパルスを含むクロック出力信号を生成するステップとを含み、
該偶数及び奇数のパルスがパルス信号Ａ及びパルス信号Ｂの立ち上がり端にそれぞれ対応して生成される立ち上がり端を含み、該偶数及び奇数のパルスがパルス信号Ａ及びパルス信号Ｂの位相遅延コピーの立ち下がり端にそれぞれ対応して生成される立ち下がり端を含む
方法。
【請求項２】
前記出力ロジックが、前記パルス信号Ａ、前記パルス信号Ｂ、前記パルス信号Ａの遅延コピー及び前記パルス信号Ｂの遅延コピーを互いに論理ＯＲにすることによって、前記クロック出力信号を生成する、請求項１に記載の方法。
【請求項３】
前記所定の位相量がＸの偶数値については９０°である、請求項１に記載の方法。
【請求項４】
前記所定の位相量がＸの奇数値については２７０°である、請求項１に記載の方法。
【請求項５】
前記位相遅延ロジックが、信号Ａ及び信号Ｂを位相遅延するための遅延ロジック・ループを使用する、請求項１に記載の方法。
【請求項６】
前記時間遅延ロジックが、パルス信号Ａを時間遅延してパルス信号Ｂを生成するために複数のフリップ・フロップ・ステージを使用する、請求項１に記載の方法。
【請求項７】
可変負荷サイクル・パルス生成器が、パルス信号Ａのパルスを生成する前記クロック入力信号の多数の第１ロジック状態を決める、請求項１に記載の方法。
【請求項８】
前記クロック出力信号が５０−５０負荷サイクルを示す、請求項１に記載の方法。
【請求項９】
除算器回路であって、
周波数ＣＬＫＩＮ  ＦＲＥＱを示す複数のパルスを含むクロック入力信号を受信するように適応された除算器入力と、
Ｘが２以上の整数であるとして、前記周波数ＣＬＫＩＮ  ＦＲＥＱをＸ．５で除算した値に等しいクロック周波数ＣＬＫＯＵＴ  ＦＲＥＱを示す複数のパルスを含むクロック出力信号が生成される除算器出力と、
前記除算器入力と前記除算器出力との間に結合された除算器ロジックとを含み、
前記除算器ロジックが、
立ち上がり端及び立ち下がり端を有する複数のパルスを含み周波数Ａ  ＦＲＥＱを示すパルス信号Ａを、関係Ａ  ＦＲＥＱ＝ＣＬＫＩＮ  ＦＲＥＱ／（２×（Ｘ．５））に従って生成する可変負荷サイクル・パルス生成器と、
立ち上がり端及び立ち下がり端を有する複数のパルスを含み、かつ、パルス信号Ｂと表示されるパルス信号Ａの時間遅延コピーを生成する時間遅延ロジックと、
所定の位相量だけ位相遅延されている、信号Ａの位相遅延コピー及び信号Ｂの位相遅延コピーを生成する位相遅延ロジックと、
パルス信号Ａ及びパルス信号Ｂの立ち上がり端にそれぞれ対応して生成される立ち上がり端と、パルス信号Ａ及びパルス信号Ｂの位相遅延コピーの立ち下がり端にそれぞれ対応して生成される立ち下がり端とを含む偶数及び奇数のパルスを有するクロック出力信号を生成する、前記除算器出力に結合された出力ロジックとを含む、
除算器回路。
【請求項１０】
前記出力ロジックが、前記可変負荷サイクル・パルス生成器、前記時間遅延ロジック及び前記位相遅延ロジックに結合されたＯＲゲートであり、前記ＯＲゲートが、前記パルス信号Ａ、前記パルス信号Ｂ、前記パルス信号Ａの遅延コピー及び前記パルス信号Ｂの遅延コピーを互いに論理ＯＲにして前記クロック出力信号を生成する、請求項９に記載の除算器回路。
【請求項１１】
情報処理システム（ＩＨＳ）であって、
プロセッサと、
前記プロセッサに結合されたメモリと、
前記プロセッサに結合されたサブシステムと、
前記サブシステムに結合された除算器回路と、
を含み、前記除算器回路が、
周波数ＣＬＫＩＮ  ＦＲＥＱを示す複数のパルスを含むクロック入力信号を受信するように適応された除算器入力と、
Ｘが２以上の整数であるとして、前記周波数ＣＬＫＩＮ  ＦＲＥＱをＸ．５で除算した値に等しいクロック周波数ＣＬＫＯＵＴ  ＦＲＥＱを示す複数のパルスを含むクロック出力信号が生成される除算器出力と、
前記除算器入力と前記除算器出力との間に結合された除算器ロジックとを含み、
前記除算器ロジックが、
立ち上がり端及び立ち下がり端を有する複数のパルスを含み周波数Ａ  ＦＲＥＱを示すパルス信号Ａを、関係Ａ  ＦＲＥＱ＝ＣＬＫＩＮ  ＦＲＥＱ／（２×（Ｘ．５））に従って生成する可変負荷サイクル・パルス生成器と、
立ち上がり端及び立ち下がり端を有する複数のパルスを含み、かつ、パルス信号Ｂと表示されるパルス信号Ａの時間遅延コピーを生成する時間遅延ロジックと、
所定の位相量だけ位相遅延されている、信号Ａの位相遅延コピー及び信号Ｂの位相遅延コピーを生成する位相遅延ロジックと、
パルス信号Ａ及びパルス信号Ｂの立ち上がり端にそれぞれ対応して生成される立ち上がり端と、パルス信号Ａ及びパルス信号Ｂの位相遅延コピーの立ち下がり端にそれぞれ対応して生成される立ち下がり端とを含む偶数及び奇数のパルスを有するクロック出力信号を生成する、前記除算器出力に結合された出力ロジックとを含む、
情報処理システム。
【請求項１２】
前記出力ロジックが、前記可変負荷サイクル・パルス生成器、前記時間遅延ロジック及び前記位相遅延ロジックに結合されたＯＲゲートであり、前記ＯＲゲートが、前記パルス信号Ａ、前記パルス信号Ｂ、前記パルス信号Ａの遅延コピー及び前記パルス信号Ｂの遅延コピーを互いに論理ＯＲにして前記クロック出力信号を生成する、請求項１１に記載の情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、除算器回路に関し、より具体的には、デジタル・システムにおいてデジタル信号を非整数除数で除算する除算器回路に関する。
【背景技術】
【０００２】
デジタル・クロック信号は、デスクトップ、ラップトップ、ノートブック、携帯情報端末（ＰＤＡ）、サーバ、メインフレーム、ミニコンピュータ及び通信システム、ならびに、デジタル・エレクトロニクスを使用する他のシステムのような、情報処理システム（ＩＨＳ）において重要な役割を果たす。例えば、ＩＨＳにおけるマイクロプロセッサは、時間基準又は参照としてクロック信号を使用する。実際には、ＩＨＳは典型的に、共通のシステム・クロック信号、すなわち、マスター・クロック信号に全て関連する複数のクロック信号を使用する。
【０００３】
実際のＩＨＳは、共通のシステム・クロック信号又はマスター・クロック信号から複数のクロック信号を生成するハードウェアを含むことがある。マスター・クロック信号はＩＨＳのための一次タイミング参照としての役割を果たす。ＩＨＳにおける他のクロック信号は、タイミング、周波数及びパルス幅においてマスター・クロック信号に関連する。さらに、ＩＨＳ内の動作の適切なタイミングを提供するために、他のクロック信号の立ち上がり端及び立ち下がり端がマスター・クロック信号の立ち上がり端及び立ち下がり端に関連することがある。最も単純な場合には、他のクロック信号は、整数の倍数をかけたマスター・クロック信号に関連する。例えば、他のクロック信号は、マスター・クロック信号の２倍又は３倍の周波数を示すことがある。
【０００４】
クロック回路は、マスター・クロック信号より低い周波数を示すクロック信号を生成するために、マスター・クロック信号を整数除数で除算することも考えられる。例えば、２除算クロック回路は、マスター・クロック信号を２で除算して周波数１／２のシステム・クロック周波数を示すクロック信号を生成する。典型的には、結果として生じるクロック信号は、５０／５０負荷サイクルを示す。言い換えれば、クロック信号の半分のサイクルがロジック・ハイを示し、一方、該クロック信号の次の半分のサイクルがロジック・ローを示す。５０／５０負荷サイクルをもつ２除算クロック回路が一般的である。５０／５０負荷サイクルをもち、２以外の整数除数、例えば、３、４又は５の除数を使用するクロック回路もまた一般的である。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
あまり一般的ではないクロック回路としては、マスター・クロック信号又はシステム・クロック信号を除数Ｘ．５で除算する「Ｘ．５除算」クロック回路があり、このＸは２以上の整数を表す。例えば、クロック回路は、マスター・クロック信号を除算して結果除算ダウン・クロック信号を生成するために、２．５、３．５、４．５、などの除数を使用することができる。Ｘ．５除算クロック回路は、メモリ・アドレッシング、メモリ・データ管理、及び、多種多様な他の集積回路機能を実行する複合集積回路において同様に有用である。Ｘ．５除算クロック回路は、５０／５０以外の負荷サイクルを示すことが知られている。しかしながら、いくつかのアプリケーションは、５０／５０負荷サイクルのクロック信号を要求する。例えば、ダブル・データ・レート・メモリ・システムは、これらのシステムがクロック信号の立ち上がり端及び立ち下がり端の両方においてデータを立ち上げて取り込むので、５０／５０負荷サイクルのクロック信号を要求する。多くの高速のアプリケーションにおけるタイミング要求は、理想的な５０／５０負荷サイクルを維持するクロック信号を要求する。
【０００６】
必要とされるのは、クロック信号を非整数除数で除算して、５０／５０負荷サイクルを示す出力信号を与えるための方法及び装置である。
【課題を解決するための手段】
【０００７】
従って、１つの実施形態において、除算器回路によって信号を処理する方法が開示される。この方法は、除算器回路の除算器入力によって、周波数ＣＬＫＩＮ  ＦＲＥＱを示す複数のパルスを含むクロック入力信号を受信するステップを含む。この方法はまた、Ｘが２以上の整数であるとして、周波数ＣＬＫＩＮ  ＦＲＥＱをＸ．５で除算した値に等しいクロック周波数ＣＬＫＯＵＴ  ＦＲＥＱを示す複数のパルスを含むクロック出力信号を、除算器入力に結合された除算器ロジックによって除算器回路の除算器出力に生成するステップを含む。クロック出力信号を生成するステップはまた、関係Ａ  ＦＲＥＱ＝ＣＬＫＩＮ  ＦＲＥＱ／（２×（Ｘ．５））に従って周波数Ａ  ＦＲＥＱを示し、かつ、立ち上がり端及び立ち下がり端を有する複数のパルスを含むパルス信号Ａを、可変負荷サイクル・パルス生成器によって生成することを含む。クロック出力信号を生成するステップはさらに、時間遅延ロジックによって、パルス信号Ａの時間遅延コピーを生成して、これを立ち上がり端及び立ち下がり端を有する複数のパルスを含むパルス信号Ｂと表示するステップを含む。クロック出力信号を生成するステップはさらに、位相遅延ロジックによって、所定の位相量だけ位相遅延された、信号Ａの位相遅延コピー及び信号Ｂの位相遅延コピーを生成するステップを含む。クロック出力信号を生成するステップはさらに、除算器出力に結合された出力ロジックによって、複数の偶数及び奇数のパルスを含むクロック出力信号を生成するステップを含む。ここで偶数及び奇数のパルスは、パルス信号Ａ及びパルス信号Ｂの立ち上がり端にそれぞれ対応して生成される立ち上がり端を含み、また、偶数及び奇数のパルスは、パルス信号Ａ及びパルス信号Ｂの位相遅延コピーのパルスの立ち下がり端にそれぞれ対応して生成される立ち下がり端を含む。
【０００８】
別の実施形態において、周波数ＣＬＫＩＮ  ＦＲＥＱを示す複数のパルスを含むクロック入力信号を受信するように適応された除算器入力を含む除算器回路が開示される。除算器回路はまた、Ｘが２以上の整数であるとして、周波数ＣＬＫＩＮ  ＦＲＥＱをＸ．５で除算した値に等しいクロック周波数ＣＬＫＯＵＴ  ＦＲＥＱを示す複数のパルスを含むクロック出力信号が生成される除算器出力を含む。除算器回路はさらに、除算器入力と除算器出力との間に結合された除算器ロジックを含む。除算器ロジックは、立ち上がり端及び立ち下がり端を有する複数のパルスを含む周波数Ａ  ＦＲＥＱを示すパルス信号Ａを、関係Ａ  ＦＲＥＱ＝ＣＬＫＩＮ  ＦＲＥＱ／（２×（Ｘ．５））に従って生成する可変負荷サイクル・パルス生成器を含む。除算器ロジックはさらに、立ち上がり端及び立ち下がり端を有する複数のパルスを含み、かつ、パルス信号Ｂと表示されるパルス信号Ａの時間遅延コピーを生成する時間遅延ロジックを含む。除算器ロジックはまたさらに、所定の位相量だけ位相遅延されている、信号Ａの位相遅延コピー及び信号Ｂの位相遅延コピーを生成する位相遅延ロジックを含む。除算器ロジックはまたさらに、パルス信号Ａ及びパルス信号Ｂの立ち上がり端にそれぞれ対応して生成される立ち上がり端と、パルス信号Ａ及びパルス信号Ｂの位相遅延コピーの立ち下がり端にそれぞれ対応して生成される立ち下がり端とを含む偶数及び奇数のパルスを有するクロック出力信号を生成する、前記除算器出力に結合された出力ロジックを含む。
【発明を実施するための最良の形態】
【０００９】
添付の図面は、本発明の例示的な実施形態を例示するだけであって、本発明の概念は他の等しく有効な実施形態にも向けられているので、本発明の範囲を制限することはない。
【００１０】
図１は、入力１００Ａにおいてマスター又は参照クロック信号ＣＬＫＩＮを受信するクロック回路１００を示す。ＣＬＫＩＮ参照クロック信号に応答して、クロック回路１００は、出力１００Ｂにおいて、ＣＬＫＩＮ信号周波数を除数Ｘ．５で除算して、除算されたダウン・クロック出力信号ＣＬＫＯＵＴを生成する。クロック回路１００は、参照クロックＣＬＫＩＮを受信するために入力１００Ａに結合された入力を有する可変負荷サイクル・パルス生成器２００を含む。可変負荷サイクル・パルス生成器２００の入力はまた、遅延ロジック・ループ１３０の参照入力ＲＥＦ、及びフリップ・フロップ・ステージ遅延ロジック回路３００の入力に結合される。さらに詳細には、可変負荷サイクル・パルス生成器２００は、その出力においてクロック信号Ａを生成する。生成器２００の出力は、フリップ・フロップ・ステージ遅延ロジック回路３００の入力、立ち上がり端クロック・トリガ・フリップ・フロップ１７０のＤ入力、及び、ＯＲゲート１９０の４つの入力のうちの１つである１９０Ａに結合される。ＯＲゲート１９０は、以下の式１により出力クロック信号ＣＬＫＯＵＴを生成する。
【００１１】
【数１】
2007200293.tif 000003
ここで、Ｘ＝２以上の整数。
【００１２】
上述したように、可変負荷サイクル・パルス生成器２００は、その出力においてクロック信号Ａを生成する。可変負荷サイクル・パルス生成器２００は、以下の式２におけるタイミング関係に従って参照クロック周波数ＣＬＫＩＮ  ＦＲＥＱを減少させ、ここでＡ  ＦＲＥＱは、結果として生じる出力クロック信号Ａの周波数を示す。
【００１３】
【数２】
2007200293.tif 000004
【００１４】
可変負荷サイクル・パルス生成器２００は、参照クロック周波数ＣＬＫＩＮ  ＦＲＥＱを（２×（Ｘ．５））で除算して、除算器回路１００がＸ．５で除算されたＣＬＫＩＮ  ＦＲＥＱに等しい周波数を示す出力クロック信号ＣＬＫＯＵＴを生成することを可能にする。ここでＸは２以上の整数に等しい。Ｘが整数３に等しい１つの実施例において、クロック信号Ａは、（２×（Ｘ．５）、すなわち、２×３．５すなわち７）で除算されたＣＬＫＩＮ  ＦＲＥＱとして定義される周波数Ａ  ＦＲＥＱを示す。言い換えれば、信号Ａは７で除算された周波数Ａ  ＦＲＥＱを示す。この実施例において、クロック信号Ａは、参照クロックＣＬＫＩＮの立ち上がり端の７回の生成ごとに繰り返す。別の言い方をすれば、クロック信号Ａは参照クロック周波数ＣＬＫＩＮ  ＦＲＥＱより７倍遅い周波数を示す。クロック信号Ａは、以下で説明されるタイミング図により詳細に記述されるように、参照信号ＣＬＫＩＮの立ち上がり端に一致する立ち上がり端のタイミング関係を示す。
【００１５】
フリップ・フロップ・ステージ遅延ロジック回路３００は、回路１００がそれぞれ提供する参照クロックＣＬＫＩＮ信号及びクロック信号Ａに対し、２つの入力を含む。それに応答して、フリップ・フロップ・ステージ遅延ロジック回路３００は、その出力においてクロック信号Ｂを生成する。クロック信号Ｂの周波数、すなわち、Ｂ  ＦＲＥＱは、クロック信号Ａの周波数、すなわち、Ａ  ＦＲＥＱに等しい。クロック信号Ｂは、システム・クロックＣＬＫＩＮ入力の立ち下がり端を参照する、信号Ａの遅延コピーを示す。フリップ・フロップ・ステージ遅延ロジック回路３００の出力は、立ち下がり端クロック・トリガ・フリップ・フロップ１８０のＤ入力及びＯＲゲート１９０の入力１９０Ｃに結合される。クロック信号Ｂは、クロック信号Ａと同じパルス幅、すなわち、信号Ｂがハイ状態を示す期間を示す。さらに、フリップ・フロップ・ステージ遅延ロジック回路３００は、フリップ・フロップ・ステージ遅延ロジック回路３００を形成する多数のフリップ・フロップによりクロック信号Ａに対してクロック信号Ｂを遅延する。フリップ・フロップ・ステージ遅延ロジック回路３００は、以下により詳細に説明される。
【００１６】
除算器回路１００は、遅延ロジック・ループ１３０の参照入力ＲＥＦに参照ＣＬＫＩＮ信号を供給する。遅延ロジック・ループ１３０は、参照クロックＣＬＫＩＮ信号の遅延コピーを生成する。遅延ロジック・ループ１３０は、２７０°と表示された出力において２７０度だけ遅延されたＣＬＫＩＮ信号のコピー、９０°と表示された出力において９０度だけ遅延されたＣＬＫＩＮ信号のコピー、及び、最後に０°と表示された出力において０度だけ遅延されたＣＬＫＩＮ信号のコピーを生成する。従って、２７０°、９０°及び０°は、遅延ロジック・ループ１３０によってＣＬＫＩＮ信号に課せられるそれぞれのタイミング・オフセットを表す。より具体的には、遅延ロジック・ループ１３０は、パルス幅及び周波数に関して同一の波形として遅延信号２７０°、９０°及び０°を生成するが、しかしながら、これらは参照クロックＣＬＫＩＮ周波数に基づく遅延又は右シフトをもつ立ち上がり端及び立ち下がり端方向を示す。反復波形の時間期間は、該波形の相対周波数の逆数に等しい。参照クロックＣＬＫＩＮの期間は、参照クロックＣＬＫＩＮの１つの立ち上がり端と参照クロックＣＬＫＩＮの次の立ち上がり端との間の時間である。遅延ロジック・ループ１３０の０°の出力は、ＡＮＤ／ＯＲロジック・ゲート１４０の４つの入力のうちの１つ、すなわち、入力１４０Ａに結合される。ＡＮＤ／ＯＲゲート１４０は、遅延ロジック・ループ１３０の２７０°及び９０°出力によって示される遅延を補償するか、あるいは、それと一致する。遅延ロジック・ループ１３０は、そのフィードバック入力ＦＤＢＫにおいて受信されＡＮＤ／ＯＲゲート１４０に結合されたその０°の出力から遅延した応答を受信する。内部では、遅延ロジック・ループ１３０が、全ての他の出力信号、すなわち、この場合には９０°の出力信号及び２７０°の出力信号に対して要求された補償としてこの信号の遅延を解釈する。ＡＮＤ／ＯＲゲート１４０は、４つの入力１４０Ａ、１４０Ｂ、１４０Ｃ及び１４０Ｄを含む。図１に見られるように、ＡＮＤ／ＯＲロジック・ゲート１４０の入力１４０Ｂは、正の電圧供給レール、＋Ｖに結合され又は接続され、それにより入力１４０Ｂはロジック・ハイを受信する。残りの入力１４０Ｃ及び１４０Ｄは、接地に接続されてロジック・ローを受信する。ＡＮＤ／ＯＲロジック・ゲート１４０は、ＡＮＤ／ＯＲ関数を通して信号遅延を提供するバッファ付き又は直接のスループット関数を生成する。ＡＮＤ／ＯＲロジック・ゲート１４０の出力は、遅延ロジック・ループ１３０のフィードバック入力、ＦＤＢＫに結合されて、ＡＮＤ／ＯＲロジック・ゲート１４０を通る遅延ロジック・ループ１３０の０°の信号出力を参照する全ての出力信号に補償遅延を提供する。
【００１７】
クロック除算器回路１００は、入力１００Ｃにおいて入力信号Ｘ＿ＥＶＥＮ／ＯＤＤを受信する。入力１００Ｃは、インバータ１５０の入力及びＡＮＤ／ＯＲロジック・ゲート１６０の入力１６０Ｄに結合される。インバータ１５０の逆出力は、ＡＮＤ／ＯＲゲート１６０の入力１６０Ａに結合される。インバータ１５０の出力は、クロック除算器回路１００の入力信号Ｘ＿ＥＶＥＮ／ＯＤＤの逆の状態を表す。さらに、Ｘ＿ＥＶＥＮ／ＯＤＤ入力信号は、式１のＸ．５除算関数のために選択されたＸの値の偶数状態又は奇数状態を記述する。Ｘ＿ＥＶＥＮ／ＯＤＤ信号は、Ｘの偶数の値に関するロジック・ハイ及びＸの奇数の値に関するロジック・ローを示す。遅延ロジック・ループ１３０の２７０°の出力はＡＮＤ／ＯＲゲート１６０の入力１６０Ｂに結合される。遅延ロジック・ループ１３０の９０°の出力はＡＮＤ／ＯＲゲート１６０の入力１６０Ｃに結合される。
【００１８】
上述したように、クロック除算器回路１００は、入力１００Ｃにおいて入力信号Ｘ＿ＥＶＥＮ／ＯＤＤを受信する。Ｘ＿ＥＶＥＮ／ＯＤＤ信号は、示されるように入力１６０Ａ及び入力１６０ＤにおいてＡＮＤ／ＯＲゲート１６０に流れる。遅延ロジック・ループ１３０の２７０°及び９０°の出力は、遅延した入力信号をＡＮＤ／ＯＲロジック・ゲート１６０の入力１６０Ｂ及び１６０Ｃにそれぞれ供給する。ＡＮＤ／ＯＲロジック・ゲート１６０は、遅延ロジック・ループ１３０の出力信号に対するゲート遅延に対応する。上述したように、ＡＮＤ／ＯＲゲート１４０は、遅延ロジック・ループ回路１３０にフィードバック・ループを提供する。さらに、遅延ロジック・ループ１３０は、遅延ロジック・ループ１３０のフィードバック入力ＦＤＢＫに結合されたＡＮＤ／ＯＲゲート１４０によって表されるようなＡＮＤ／ＯＲゲート１６０と位相的に同一のゲート回路を用いて、出力パスにおけるＡＮＤ／ＯＲゲート１６０に関連した遅延を補償する。遅延ロジック・ループ１３０のフィードバック入力ＦＤＢＫは、遅延ロジック・ループ装置に関連したフィードバック回路の使用によって遅延ロジック・ループ１３０の出力信号からＡＮＤ／ＯＲゲート１６０のゲート遅延ロジックを有効に除去する。
【００１９】
信号Ｘ＿ＥＶＥＮ／ＯＤＤは、アプリケーションのためのクロック除算器回路１００の入力１００Ｃにおいてロジック・ハイを示し、図１のＸ．５除算回路１００は偶数２、４、６などに等しいＸについての整数を使用する。対称的に、信号Ｘ＿ＥＶＥＮ／ＯＤＤは、アプリケーションのための除算器回路１００の入力１００Ｃにロジック・ロー信号を供給し、式１によって表されるような除数Ｘ．５は３、５、７などのような奇数の整数Ｘ（２より大きいいずれかの奇数の整数）を使用する。ここで以下に説明される１つの実施形態において、信号Ｘ＿ＥＶＥＮ／ＯＤＤはＸについての偶数の整数に対応する。Ｘが偶数の整数に対応するこれらの条件では、入力信号Ｘ＿ＥＶＥＮ／ＯＤＤはクロック除算器回路１００の入力１００Ｃにおけるハイ状態を示す。ブール・ロジックは、ロジック・ゲート１６０が入力１６０Ｃにおいて遅延ロジック・ループ１３０の９０°の出力信号をロジック・ゲート１６０の出力に受け渡すことを示す。信号ＣＬＫＩＮ＿ＤＥＬは、９０°だけ前方にシフトされた参照クロックＣＬＫＩＮを表す。
【００２０】
別の実施形態において、信号Ｘ＿ＥＶＥＮ／ＯＤＤの入力１００Ｃは、Ｘ．５除算値に対するようなロー状態を示し、Ｘは３又はそれより大きい奇数の整数に等しい。このシナリオにおいて、ＡＮＤ／ＯＲロジック・ゲート１６０は、遅延ロジック・ループ１３０の２７０°の出力信号をゲート１６０の出力に通して受け渡し、それによってＣＬＫＩＮ＿ＤＥＬ信号を生成する。ＣＬＫＩＮ＿ＤＥＬ信号は、この実施例において２７０度だけ遅延又は前方にシフトされた参照システム・クロックＣＬＫＩＮ信号を表す。Ｘ＿ＥＶＥＮ／ＯＤＤ信号による遅延ロジック・ループ１３０の９０°の出力又は２７０°の出力の何れかの選択が、以下により詳細に説明されるような除算器回路１００における将来の波形を生成するための適切なタイミング関係を決定する。ＡＮＤ／ＯＲゲート１６０の出力は、フリップ・フロップ１７０の正端のトリガ・クロック入力及びフリップ・フロップ１８０の負端のトリガ・クロック入力に結合される。
【００２１】
クロック信号ＣＬＫＩＮ＿ＤＥＬの立ち上がり端によってトリガされた、立ち上がり端トリガ・フリップ・フロップ１７０は、クロック信号Ａ＿ＤＥＬを生成する。フリップ・フロップ１７０の出力は、ＯＲ−ゲート１９０の入力１９０Ｂに結合される。信号Ａ＿ＤＥＬは、参照システム・クロックＣＬＫＩＮの１つの立ち上がり端によってクロック信号Ａの遅延コピーを表す。クロック信号ＣＬＫＩＮ＿ＤＥＬの立ち下がり端は、立ち下がり端トリガ・フリップ・フロップ１８０をトリガする。フリップ・フロップ１８０の出力はクロック信号Ｂ＿ＤＥＬを生成する。クロック信号Ｂ＿ＤＥＬはクロック信号Ｂの遅延バージョンを表す。フリップ・フロップ１８０の出力は、ＯＲ−ゲート１９０の残りの入力１９０Ｄに結合される。ＯＲゲート１９０は、ＣＬＫＯＵＴ出力１００Ｂにおいて除算器回路１００の出力クロック信号ＣＬＫＯＵＴを生成する。
【００２２】
図２は、図１の可変負荷サイクル・パルス生成器２００の状態条件をより詳細に記述する状態マシンを示す。入力１００Ａにおいて入力クロック信号ＣＬＫＩＮは入力を可変負荷サイクル・パルス生成器２００に提供する。さらに、可変負荷サイクル・パルス生成器２００はその出力において出力クロック信号Ａを生成する。状態マシン・ブロック２１０は、可変負荷サイクル・パルス生成器２００に対するアクティブ状態条件を記述する。アクティブ状態は、クロック信号Ａに対するデジタル・ハイ条件に対応する。ブロック２１０は、可変負荷サイクル・パルス生成器２００の初期化状態を記述する。変数Ｘは、上の式１における除数値を表すために選択される２以上の整数値に対応する。次に、状態マシン・ブロック２１０はさらに、以下の式３に記述されるように、ＮがＸ／２の数学床又は最も近い整数値まで減少されたＸ／２の結果に等しい関数を記述する。この結果は、クロック信号Ａが入力参照システム・クロックＣＬＫＩＮに対するアクティブ・ハイ状態（ロジック・ハイ状態）を示すアクティブ状態又は期間の総数を表す。
【００２３】
【数３】
2007200293.tif 000005
Ｘ／２の床関数
【００２４】
除算器回路１００がＸの実例値として値３を使用する場合には、Ｎは、結果整数値１に等しい。より具体的には、式３により、Ｘ／２、すなわち３／２は、１．５の結果をもたらし、最も近い整数に減少され又は切り捨てられたときにはＮについて１の値を生じる。説明したように、Ｎ＝１の結果は、参照システム・クロック信号ＣＬＫＩＮの１クロック・サイクル入力に対してハイ状態を示すクロック信号Ａに対応する。
【００２５】
別の実例において、Ｘが４に等しい整数値に対応する場合、式３はＮ＝２の値を生じる。また、クロック除算器回路１００は、式１により、参照システム・クロックＣＬＫＩＮの周波数をＸ．５、すなわち、この実例では４．５で除算する。状態マシン・ブロック２１０の結果はＸ／２の数学床（ｍａｔｈｅｍａｔｉｃａｌ  ｆｌｏｏｒ）に等しいＮに対応する。Ｘ／２の最終結果（この実例では整数値２に等しい）は、ブロック２１０によりクロック信号Ａについての多数のアクティブ状態を記述する。さらに、結果値２は、クロック信号Ａが参照システム・クロック入力ＣＬＫＩＮのクロック・サイクルに対するハイ状態を示す２つの期間を表す。この状態を満たすとき、図２の状態マシンは、状態マシン・ブロック２２０によって定義されるように次の状態に入る。
【００２６】
状態マシン・ブロック２２０は、クロック信号Ａについての非アクティブ状態を生成するために要求される条件を記述する。ブロック２２０の非アクティブ状態条件はさらに、クロック信号Ａがデジタル・ロー又はオフ状態に遷移する及び残るような条件を記述する。状態マシン・ブロック２２０において、値Ｍは以下の式４において与えられる関係に等しい。
【００２７】
【数４】
2007200293.tif 000006
ここで、Ｍは、２×Ｘ．５から、２で除算されたＸの数学床関数を減算したものを表す。さらに、Ｍは、クロック信号Ａがロー状態を示す場合についての入力クロック信号ＣＬＫＩＮに関連した期間の数を表す。
【００２８】
また、Ｘが整数値３に等しい実例において、結果として生じる非アクティブ期間は、次の最も低い整数に切り捨てられた２×３．５−３／２に一致する。さらに、Ｍは、上の式４により、整数値６、すなわち、７−１に等しい。Ｍの６に等しい結果値は、クロック信号Ａがロー状態に残るような参照システム・クロック信号ＣＬＫＩＮの６クロック入力サイクルを表す。完全なサイクルは、図２における状態マシンの２つのブロック状態の結果を組み合わせる。より具体的には、クロック信号Ａは、参照システム・クロックＣＬＫＩＮの１入力サイクル・パルスに対してハイ、及び、参照システム・クロックＣＬＫＩＮの６入力サイクル・パルスに対してローを遷移する。また、これは、Ｘが３に等しい整数値に等しい実例を表す。状態マシンはさらに、このシーケンスがリセットすることと、入力参照信号クロックＣＬＫＩＮがアクティブのままであるという条件で、同一の関数が、ブロック２１０によりクロック信号Ａがアクティブ・ハイに遷移すると共に、無期限に繰り返す新規のサイクルを開始することを記述する。
【００２９】
２つの実例のうちの２つ目においてＸの値は整数４に対応する。ブロック２２０は、クロック信号Ａについての結果として生じる非アクティブ期間を記述する。ブロック２２０は、式４により、Ｍが、２×４．５−４／２の数学床に等しいシナリオを記述する。Ｍに対する結果は、９−２、すなわち７である。Ｍの値は、参照システム・クロック信号ＣＬＫＩＮの７クロック入力サイクルに対応し、クロック信号Ａはロー状態に遷移して残る。図２の２つの状態を組み合わせて、クロック信号Ａは、この実施例における参照システム・クロックＣＬＫＩＮの２入力サイクルについてハイ、及び、ＣＬＫＩＮの７入力パルスについてローとして定義することができる。状態マシンは、ブロック２１０により、このシーケンスが同一の関数をリセットして繰り返すことをさらに記述し、クロック信号Ａはアクティブ・ハイに遷移して無期限に繰り返す。タイミング図はさらに、以下にこの関係を表す。
【００３０】
図３は、図１に見られるようなフリップ・フロップ・ステージ遅延ロジック回路３００を形成するために、直列に又はカスケード式に結合された多数のフリップ・フロップの１つの実施例を示す。フリップ・フロップ・ステージ遅延ロジック回路３００は、入力３００Ａにおいて参照クロック信号Ａを、入力３００Ｂにおいてマスター又は参照クロック信号ＣＬＫＩＮを受信する。入力３００Ａは、参照クロック信号Ａを受信するために、立ち下がり端トリガＦＬＩＰ  ＦＬＯＰ１、すなわちフリップ・フロップ３１０のＤ入力に結合される。さらに、ＦＬＩＰ  ＦＬＯＰ１に立ち下がり端トリガ・クロックとして参照システム・クロック信号ＣＬＫＩＮを提供するために、ＦＬＩＰ  ＦＬＯＰ１のクロック入力が除算器回路入力３００Ｂに結合される。入力３００Ｂ、ＣＬＫＩＮはまた、ＦＬＩＰ  ＦＬＯＰ２、すなわちフリップ・フロップ３２０のクロック入力に結合され、さらにＦＬＩＰ  ＦＬＯＰ３：Ｋ、すなわちフリップ・フロップ３３０のクロック入力に結合される。ＦＬＩＰ  ＦＬＯＰ３：Ｋは、式５に記述されるようなＫについての式を満たすために必要なフリップ・フロップの数Ｋまでの第３の又はいずれかの数を示す。
【００３１】
【数５】
2007200293.tif 000007
Ｘ．５の数学シーリング関数
ここで、Ｋ（定義による整数）は、図１のフリップ・フロップ・ステージ遅延ロジック３００におけるステージ遅延フリップ・フロップの総数値カウントを表す。さらに、Ｋは式１において上述したようにＸの関係を保証するために総フリップ・フロップ・カウントを表す。式５の除数におけるＸは、式１の除数変数Ｘに対応する。式１は、除数Ｘ．５により除算された参照システム・クロックＣＬＫＩＮの周波数として出力クロック信号ＣＬＫＯＵＴの周波数を決める。
【００３２】
図３を続けると、ＦＬＩＰ  ＦＬＯＰ１の出力は、ＦＬＩＰ  ＦＬＯＰ２のＤ入力に結合される。ＦＬＩＰ  ＦＬＯＰ２の出力は、ＦＬＩＰ  ＦＬＯＰ３：ＫのＤ入力に結合され、式５により定義されるＫを通じてフリップ・フロップ３の数を表す。このＦＬＩＰ  ＦＬＯＰ３：Ｋの表現におけるカスケードの最後のフリップ・フロップＫは、図３に見られるような出力クロック信号３００Ｃとして参照クロック信号Ｂを生成する。
【００３３】
１つの実施例において、Ｘは整数値２に対応する。Ｋはさらに、２．５の数学シーリング、すなわち、この実施例においては結果値３として定義される。式５による定義によって、図１によるフリップ・フロップ・ステージ遅延ロジック３００においてカスケードにするのに要求されるフリップ・フロップの総数は、３に等しい。さらに、別の実施例において、Ｘは整数値３に対応する。フリップ・フロップ・ステージ遅延ロジック回路３００におけるフリップ・フロップの総カウントは、式５により値４に等しい。４に等しいＸについて、フリップ・フロップ・ステージ遅延ロジック回路３００は、フリップ・フロップ総数５などに対応する。
【００３４】
図４は、ＣＬＫＩＮ、ＣＬＫＩＮ＿ＤＥＬ、Ａ、Ｂ、Ａ＿ＤＥＬ、Ｂ＿ＤＥＬ及びＣＬＫＯＵＴ信号の振幅経時変化のタイミング図を示す。図４は、Ｘが整数値３に対応し、式１の除数が３．５に対応するときの、除算器回路１００の動作を示す。図４のタイミング・クロック信号は、システム・クロック信号ＣＬＫＩＮから参照する。参照システム・クロック信号ＣＬＫＩＮは、５０／５０の負荷サイクル又はアクティブ・ハイ状態及び非アクティブ・ロー状態の関係をもつ入力デジタル信号に対応する。５０／５０負荷サイクルは、共通のハイ期間パルス幅及び共通のロー期間パルス幅に対応する。除算器回路１００は、参照システム・クロック信号、すなわちＣＬＫＩＮ信号から全てのクロック信号及び参照タイミング信号を生成する。別の言い方をすれば、図４のタイミング図の実施例は、除算器回路１００がＸについて値３を使用する場合に得られ、ここでＸは上の式１におけるＸ．５の除数変数を記述する。参照システム・クロック信号ＣＬＫＩＮと出力クロック信号ＣＬＫＯＵＴとの間の関係を、さらに、上の式１によりＣＬＫＯＵＴ  ＦＲＥＱ＝ＣＬＫＩＮ  ＦＲＥＱ／Ｘ．５として記述することができる。
【００３５】
クロック信号ＣＬＫＩＮ＿ＤＥＬは、参照システム・クロック入力ＣＬＫＩＮ１００Ａにおける波形を複写するが、該波形を時間において順方向にシフトする。より具体的には、ＣＬＫＩＮ＿ＤＥＬは、時間枠において右に２７０°、すなわち時間において順方向にシフトされた、参照システム・クロックＣＬＫＩＮ信号と同一の周波数及びパルス幅のクロック信号を示す。遅延ロジック・ループ１３０は、この実施例において２７０°のタイミング・シフトを与える。２７０°のシフトは、総度数３６０のうちの２７０、すなわち標準クロック・サイクルの３／４のタイミングにおける遅延右シフトに対応する。参照システム・クロック信号ＣＬＫＩＮの１つの立ち上がり端と参照システム・クロック信号ＣＬＫＩＮの次の立ち上がり端との間の時間が、標準クロック・サイクルに相当する。この実施例において、Ｘは値３を表し、除算器回路１００は、このＸの値を奇数として解釈する。この解釈を容易にするために、外部回路（図示せず）が、ロジック・ロー信号として信号Ｘ＿ＥＶＥＮ／ＯＤＤを入力１００Ｃに供給する。言い換えれば、Ｘがこの実施例において奇数に対応するので、図１の１００ＣにおけるＸ＿ＥＶＥＮ／ＯＤＤ信号はロジック・ロー状態を示す。入力１００Ｃがロジック・ロー状態を示すときには、これは遅延ロジック・ループ１３０の２７０°出力信号がＡＮＤ／ＯＲロジック・ゲート１６０を通過することを可能にする。ＡＮＤ／ＯＲロジック・ゲート１６０は、１つの完全なサイクル、すなわち、参照システム・クロック信号ＣＬＫＩＮの３６０度に対して右に２７０°シフトされたクロック信号ＣＬＫＩＮ＿ＤＥＬを生成する。遅延ロジック・ループ１３０のフィードバック入力ＦＤＢＫに結合される補償遅延フィードバックを提供することによって、ＡＮＤ／ＯＲロジック・ゲート１４０はＡＮＤ／ＯＲロジック・ゲート１６０の出力遅延に一致する。ＡＮＤ／ＯＲロジック・ゲート１６０はクロック信号ＣＬＫＩＮ＿ＤＥＬを生成し、クロック信号ＣＬＫＩＮ＿ＤＥＬと参照システム・クロック信号ＣＬＫＩＮとの間の関係は、正確に２７０°となることを保証することができ、遅延ロジック・ループ１３０以外の回路又はロジック・ゲート遅延によって影響されない。
【００３６】
クロック信号Ａは、参照システム・クロック信号ＣＬＫＩＮの最初の立ち上がり端のときにアクティブ状態、すなわちハイに遷移する。図２における状態マシンのブロック２１０によって定義されるように、クロック信号Ａは上の式３によって記述される期間にわたってハイのままである。さらに、式３は、Ｘ／２の数学床関数、すなわちこの実施例では３／２が１に切り捨てられた数学床関数を記述する。さらに、式３は、参照クロック信号Ａを、参照システム・クロック信号ＣＬＫＩＮの１つの完全なサイクルについてのハイ状態を示すと定義する。１つのサイクルについてのハイ状態に続いて、クロック信号Ａはロー状態に遷移する。クロック信号Ａは、上の式４による結果値Ｍに等しい期間にわたって、図２の状態マシン・ロジックによって定義されるようにローのままである。Ｍは６に等しい、すなわち、２×Ｘ．５−Ｘ／２の床の結果、に等しい。より具体的には、クロック信号Ａは、図４のタイミング図に見られるように、参照システム・クロック信号ＣＬＫＩＮの６サイクルにわたってロー状態で非アクティブのままである。さらに、クロック信号Ａの周波数は、クロック信号ＣＬＫＩＮの周波数が２×Ｘ．５で除算される上の式２で表される関係によって定義することができる。Ｘが３に等しいこの実施例において、式２は、２×３．５、すなわち整数値７に等しい。図４のタイミング図に見られるように、信号Ａは、参照入力クロック信号ＣＬＫＩＮより７倍遅い周波数を示す。図２の状態マシン・ロジックにより、クロック信号Ａの波形は、入力参照システム・クロック信号ＣＬＫＩＮがアクティブのままであるという条件で繰り返す。
【００３７】
クロック信号Ｂは、フリップ・フロップ・ステージ遅延ロジック３００によって、遅延された又は時間において順方向にシフトされた、すなわち、図４のタイミング図において右にシフトされた、クロック信号Ａのコピーを表す。図３に見られるように、フリップ・フロップ・ステージ遅延ロジック３００は、上の図５によって示されるカスケードにされた多数のフリップ・フロップを使用する。Ｘ＝３である実施例において、ＫはＸ．５の数学シーリング関数に等しい。従って、Ｘ．５は３．５に対応し、それは切り上げられたときにＫについての結果値４をもたらす。Ｋの結果値は、フリップ・フロップ・ステージ遅延ロジック３００のフリップ・フロップの総数、すなわち、４つのフリップ・フロップに対応する。参照システム・クロック信号ＣＬＫＩＮの立ち下がり端が、フリップ・フロップ遅延ロジック３００をトリガする。そのようにトリガされたときに、このアクションは、フリップ・フロップ遅延ロジック３００のフリップ・フロップ・カスケードを通してクロック信号Ａの状態をクロック制御する。さらに、クロック信号Ｂは、クロック入力信号ＣＬＫＩＮの第４のロー状態への遷移が起こった後に、ハイに遷移する。より具体的には、クロック信号Ｂは、信号Ａのハイ状態への遷移及びクロック入力信号ＣＬＫＩＮのトリガの発生によって開始されたときに、ハイに遷移する。次に、クロック信号Ｂは、参照システム・クロック信号ＣＬＫＩＮの第４の立ち下がり端の生成の後、及び、クロック信号Ａのローへの遷移の後、ロー状態に遷移する。クロック信号Ａの結果右シフト・コピーが、図４のタイミング図においてクロック信号Ｂとして示される。この実施例において、信号Ｂは、Ｘ．５、すなわち、３．５×参照システム・クロック信号ＣＬＫＩＮの期間の、参照クロック信号Ａの右方シフトを示す。
【００３８】
立ち上がり端によりクロック・トリガされたフリップ・フロップ１７０は、その出力信号としてクロック信号Ａ＿ＤＥＬを生成する。クロック信号ＣＬＫＩＮ＿ＤＥＬの立ち上がり端が、クロック信号Ａデータの入力と共にフリップ・フロップ１７０をトリガする。フリップ・フロップ１７０の結果出力であるクロック信号Ａ＿ＤＥＬは、クロック信号Ａの遅延コピーを提供する。クロック信号Ａ＿ＤＥＬは、パルス幅において参照クロック信号Ａと同一であるが、しかし、クロック信号ＣＬＫＩＮ＿ＤＥＬの立ち上がり端の次の発生によって遅延される。言い換えれば、クロック信号Ａがハイ状態を示すときには、信号Ａ＿ＤＥＬは、クロック信号ＣＬＫＩＮ＿ＤＥＬの立ち上がり端の先行する発生に続いてハイに遷移する。さらに、クロック信号Ａがローに遷移すると、信号Ａ＿ＤＥＬは、ＣＬＫＩＮ＿ＤＥＬ信号の次の立ち上がり端に続いてローに遷移する。クロック信号Ａ＿ＤＥＬは、クロック信号Ａのハイ状態への次の遷移がサイクルを再び開始するまで、ローのままである。このサイクルは、参照システム・クロックＣＬＫＩＮがアクティブのままであるという条件で無期限に繰り返す。クロック信号Ｂ＿ＤＥＬは、クロック信号Ａ＿ＤＥＬのクロック信号Ａに対する関係と同様の、ＣＬＫＩＮ＿ＤＥＬに対する関係に従う。より具体的には、ＣＬＫＩＮ＿ＤＥＬの立ち下がり端の各々の発生が、データ入力クロック信号Ｂをと共にフリップ・フロップ１８０をトリガする、すなわちクロック制御する。このアクションは、信号Ｂをクロック信号ＣＬＫＩＮ＿ＤＥＬの立ち下がり端によって遅延されるように有効にクロック制御した、重複パルス幅波形Ｂ＿ＤＥＬを生成する。クロック信号Ｂ＿ＤＥＬは、図１のフリップ・フロップ１８０の出力において出現する。
【００３９】
ＯＲ−ゲート１９０の４つの入力に与えられる信号の組み合わせ、すなわち、クロック信号Ａ、クロック信号Ｂ、クロック信号Ａ＿ＤＥＬ及びクロック信号Ｂ＿ＤＥＬが、図１及び図４のタイミング図に見られるように、出力クロック信号ＣＬＫＯＵＴ  １００Ｂを生成することになる。ＯＲゲート１９０の４つの入力の何れか１つがロジック・ハイを示すときに、ＯＲゲート１９０の出力もロジック・ハイを示すことに注目されたい。従って、Ａ、Ｂ、Ａ＿ＤＥＬ又はＢ＿ＤＥＬ信号の何れか１つがロジック・ハイを示すときに、ＯＲゲート１９０の出力においてＣＬＫＯＵＴ信号がロジック・ハイを示す。除算器回路１００は、４つの信号Ａ、Ｂ、Ａ＿ＤＥＬ及びＢ＿ＤＥＬからＣＬＫＯＵＴ信号を構成するために、この論理ＯＲブール関係を使用する。
【００４０】
より具体的には、また図４を参照すると、４０１におけるクロック信号Ａの立ち上がり端が、４０１´における出力クロック信号ＣＬＫＯＵＴの第１の立ち上がり端を生成する。クロック信号Ａ＿ＤＥＬは、クロック信号Ａにオーバーラップして、ＯＲ−ゲート１９０が入力の連続性を失って信号の損失を示すような如何なる可能性をも防ぐ。４０２におけるＡ＿ＤＥＬの立ち下がり端は、４０２´における出力クロック信号ＣＬＫＯＵＴの第１の立ち下がり端を表す。次の４０３におけるクロック信号Ｂのハイ遷移の発生が、４０３´における出力クロック信号ＣＬＫＯＵＴの第２の立ち上がり端を生成する。クロック信号Ａとクロック信号Ｂとの間のタイミング関係が、式１により記述されるようなＸ．５除算条件を示す。クロック信号Ａとクロック信号Ｂとの間の関係が、図１及び上の式１において記述されるような除算クロック周波数ＣＬＫＯＵＴの１サイクルを表す。クロック信号Ｂとクロック信号Ｂ＿ＤＥＬとの間のオーバーラップはまた、中間の立ち下がり端データがＯＲ−ゲート１９０に与えられないことを保証する。さらに、クロック信号Ｂとクロック信号Ｂ＿ＤＥＬとの間のオーバーラップは、４０４におけるクロック信号Ｂ＿ＤＥＬの立ち下がり端が、第２の出力クロック信号ＣＬＫＯＵＴパルスの立ち下がり端４０４´を明らかに画定することを保証する。上の記述は、図４のタイミング図におけるＣＬＫＯＵＴ信号の最初の２つのクロック・サイクルの生成を説明しているが、説明されたプロセスは、入力参照システム・クロック信号ＣＬＫＩＮの中止によって中断されるまで、無期限に繰り返すことができる。さらに、クロック信号Ａ、クロック信号Ｂ、クロック信号Ａ＿ＤＥＬ及びクロック信号Ｂ＿ＤＥＬの間のタイミング関係は、理想的な５０／５０負荷サイクル又は理想的な５０％負荷サイクルにおおよそ等しい負荷サイクルを示す出力クロック信号ＣＬＫＯＵＴをもたらす。図４に見られるように、出力クロック信号ＣＬＫＯＵＴは、ハイに遷移するクロック信号Ａ又はハイに遷移するクロック信号Ｂの何れかの立ち上がり端の間の周期期間にわたるハイ状態を示す。さらに、出力クロック信号ＣＬＫＯＵＴは、クロック信号Ａ＿ＤＥＬがローに遷移するか、あるいは、クロック信号Ｂ＿ＤＥＬがローに遷移するかの何れかの場合に、ロー状態に遷移する。
【００４１】
図５は、除算器回路１００が除数４．５を使用して上の式１により出力クロック信号ＣＬＫＯＵＴを生成するときの、クロック除算器回路１００の波形についての別のタイミング図を示す。参照システム・クロック信号ＣＬＫＩＮは、５０／５０又は５０％の負荷サイクルを示すデジタル信号を記述する。言い換えれば、ＣＬＫＩＮ信号がロジック・ハイを示している時間は、ＣＬＫＩＮ信号がロジック・ローを示している時間に等しい。除算器回路１００は、参照システム・クロック信号ＣＬＫＩＮから図５に示される全てのクロック信号及び参照タイミング信号を生成する。この実施例は、上の式１において、Ｘに対する整数値４、除数変数Ｘ．５を使用する。
【００４２】
除算器回路１００は、周波数及びパルス幅に関して参照入力クロック信号ＣＬＫＩＮとほとんど同一の波形としてクロック信号ＣＬＫＩＮ＿ＤＥＬを生成する。しかしながら、除算器回路１００は、参照システム・クロック信号ＣＬＫＩＮと比較してクロック信号ＣＬＫＩＮ＿ＤＥＬを９０°だけシフト又は遅延する。より具体的には、遅延ロジック・ループ１３０は、図５のタイミング図に見られるようにクロック信号ＣＬＫＩＮ＿ＤＥＬを右にシフトする。Ｘが４に等しいこの実施例では、除算器回路１００はＸを偶数の変数、すなわち、偶数の整数として解釈する。この解釈を容易にするために、外部回路（図示せず）がロジック・ハイ信号として信号Ｘ＿ＥＶＥＮ／ＯＤＤを入力１００Ｃに供給する。ロジック・ハイＸ＿ＥＶＥＮ／ＯＤＤ信号はインバータ１５０を通過し、該インバータは、信号をロジック・ローに反転させて、遅延ロジック・ループ１３０の９０°位相シフト出力信号がＡＮＤ／ＯＲゲート１６０を通過することを可能にしながら、２７０°位相シフト出力信号がＡＮＤ／ＯＲゲート１６０の出力に到達するのを防ぐ。これらの条件の下で、ＡＮＤ／ＯＲロジック・ゲート１６０は、図５の図に見られるように、参照システム・クロック信号ＣＬＫＩＮの期間の時間における９０°又は１／４の右シフトを示す遅延クロック信号ＣＬＫＩＮ＿ＤＥＬを生成する。上述したように、ＡＮＤ／ＯＲゲート１４０は、ＡＮＤ／ＯＲゲート１６０と同一である。遅延ロジック・ループ出力１３０は、遅延ロジック・ループ回路１３０内のフィードバック機構を介してＡＮＤ／ＯＲゲート１６０によってもたらされる遅延を補償し、ＡＮＤ／ＯＲゲート１４０は、ＡＮＤ／ＯＲゲート１６０によってもたらされる遅延の遅延ロジック・ループ１３０を効果的に通知する。より具体的には、ＡＮＤ／ＯＲゲート１６０によって見られるように、同一のロジックＡＮＤ／ＯＲゲート１４０を通して送られる遅延ロジック・ループ１３０の０°の出力は、そうでなければＡＮＤ／ＯＲゲート１６０によって見られるようにゲート・ロジックを通して遷移する出力信号によって受ける遅延を補償又は除去するために、タイミング関係を提供する。クロック信号ＣＬＫＩＮ＿ＤＥＬと参照システム・クロック信号ＣＬＫＩＮとの間の関係は、如何なる付加的な回路又はロジック・ゲート遅延によっても影響を及ぼされない正確な９０°シフトを保証する。
【００４３】
クロック信号Ａは、参照システム・クロックＣＬＫＩＮの最初の立ち上がり端により５０１においてアクティブ・ハイに遷移する。図２の状態マシン・ブロック２１０によって定義されるように、クロック信号Ａは、上の式３によって記述される期間にわたってハイのままである。ブロック２１０のアクティブ期間は、さらに、Ｘ／２、この実施例では、４／２、すなわち２の床関数として数学的に定義される。この結果値２は、参照クロック信号ＣＬＫＩＮの２つの完全なクロック・サイクルについてのハイ状態に対応する。２サイクルについてのハイ状態に続いて、クロック信号Ａはローに遷移し、図２における状態マシン・ロジックによって定義されるようにその状態のままとなる。図２におけるブロック２２０は、上の式４の結果、すなわち、２×４．５−４／２の数学床関数に等しい非アクティブ状態期間を定義する。式４は、信号Ａが図５のタイミング図に見られるようにロー状態に遷移してそのままとなる、９−２、すなわち７サイクルの参照システム・クロック信号ＣＬＫＩＮを評価する。さらに、クロック信号Ａの周波数は、クロック信号ＣＬＫＩＮの周波数が２×Ｘ．５、すなわち２×４．５の結果で除算される、上の式２によって示される関係に対応する。この実施例において、式２はＡ  ＦＲＥＱについて値９をもたらす。タイミング図の図５において見られるように、信号Ａの周波数は、参照入力クロック信号ＣＬＫＩＮより９倍遅い周波数を示す。さらに、図２における状態マシン・ロジックにより、クロック信号Ａの波形は、入力参照システム・クロック信号ＣＬＫＩＮがアクティブのままであるという条件で、繰り返すことになる。
【００４４】
クロック信号Ｂは、フリップ・フロップ・ステージ遅延ロジック３００によって時間においてシフトされ又は遅延されたクロック信号Ａのコピーに有効に対応する。図３において定義されるように、フリップ・フロップ・ステージ遅延ロジック３００は、上の式５によって指定される多数のフリップ・フロップを表す。この実施例において、Ｋは、Ｘ．５の数学シーリング関数に等しく、Ｘは４に等しく、Ｘ．５は４．５に等しく、それは結果５に切り上げられる。さらに、フリップ・フロップ・ステージ遅延ロジック３００は、このＫ＝５の数値結果のフリップ・フロップの総数、すなわち、５つのフリップ・フロップに対応する。図５に示されるように、参照システム・クロック信号ＣＬＫＩＮの立ち下がり端が、フリップ・フロップ・ステージ遅延ロジック３００のフリップ・フロップ・カスケードを通してクロック信号Ａをゲート制御する。さらに、フリップ・フロップ・ステージ遅延ロジック３００は、参照信号ＣＬＫＩＮの立ち下がり端の第５の発生の後、クロック信号Ｂの出力３００Ｃをハイにトリガする。さらに、クロック信号Ｂは、クロック信号Ａがローに遷移したときのポイント・イン・タイムから測定される参照システム・クロック信号ＣＬＫＩＮの第５の立ち下がり端の発生の後、再び、ロー状態に遷移する。図５は、上述したタイミング関係と整合したクロック信号Ｂとして、クロック信号Ａの右シフト・コピー結果を示す。この実施例はさらに、クロック信号Ｂを、クロック信号Ａに対して右に参照システム・クロックＣＬＫＩＮ×Ｘ．５、すなわち４．５のシフトを表すものとして記述する。
【００４５】
フリップ・フロップ１７０は、フリップ・フロップ１７０の出力においてクロック信号Ａ＿ＤＥＬを生成するために、そのクロック入力におけるクロック信号ＣＬＫＩＮ＿ＤＥＬ、及びそのデータ入力におけるクロック信号Ａの立ち上がり端を使用する。クロック信号Ａ＿ＤＥＬは、クロック信号Ａのものと同一のパルス幅を示す。しかしながら、フリップ・フロップ１７０は、クロック信号ＣＬＫＩＮ＿ＤＥＬの立ち上がり端の第１の発生によって信号Ａ＿ＤＥＬを時間においてシフトし又は遅延する。クロック信号Ａ＿ＤＥＬは、クロック信号ＣＬＫＩＮ＿ＤＥＬの立ち上がり端と共通のタイミングで５０２においてロー状態に遷移する。クロック信号Ａ＿ＤＥＬは、ハイ状態へのクロック信号Ａの次の遷移がサイクルを再び開始するまでローのままである。クロック信号Ｂ＿ＤＥＬは、ＣＬＫＩＮ＿ＤＥＬの立ち下がり端の各々の発生が立ち下がり端フリップ・フロップ１８０をトリガする、クロック信号ＢとＣＬＫＩＮ＿ＤＥＬとの間の同関係に従う。さらに、フリップ・フロップ１８０は、そのデータ入力としてクロック信号Ｂ、及びそのクロック入力としてＣＬＫＩＮ＿ＤＥＬにおいてクロック制御する。それに応答して、フリップ・フロップ１８０は、時間遅延されることを除いて、クロック信号Ｂの有効な複製パルス幅波形である遅延クロック信号Ｂ＿ＤＥＬを生成する。さらに、クロック信号Ｂ＿ＤＥＬは、フリップ・フロップ１８０の出力においてクロック信号ＣＬＫＩＮ＿ＤＥＬの立ち下がり端によってクロック信号Ｂからさらに遅延される。
【００４６】
ＯＲゲート１９０は、図１に見られるようにＯＲ−ゲート１９０の４つの入力にそれぞれ供給される４つのクロック信号Ａ、Ａ＿ＤＥＬ、Ｂ及びＢ＿ＤＥＬのブールＯＲ関数として出力クロック信号ＣＬＫＯＵＴを生成する。再び図５を参照すると、５０１におけるクロック信号Ａの立ち上がり端は、ＯＲゲート１９０に、５０１´において出力クロック信号ＣＬＫＯＵＴの第１の立ち上がり端を発生させる。ＯＲゲート入力１９０Ｂにおけるクロック信号Ａ＿ＤＥＬは、ＯＲ−ゲート１９０が入力の連続性を失う如何なる可能性をも防ぐために、クロック信号Ａをオーバーラップする。５０２におけるＡ＿ＤＥＬの立ち下がり端は、図５に見られるように、出力クロック信号ＣＬＫＯＵＴの第１の立ち下がり端５０２´に対応する。クロック信号Ｂが５０３においてハイに遷移するときに、ＯＲ−ゲート１９０の出力が、ハイに遷移して５０３´において出力クロック信号ＣＬＫＯＵＴの第２の立ち上がり端を生成する。要約すると、除算器回路１００のＯＲゲート１９０は、図５のタイミング図により、クロック信号Ａがハイに遷移するか、又はクロック信号Ｂがハイに遷移するかの何れかの場合に、出力クロック信号ＣＬＫＯＵＴをハイ状態に遷移させる。オーバーラップ、すなわち、ＯＲゲート入力１９０Ｄにおけるクロック信号Ｂ及びＢ＿ＤＥＬ信号がハイのままである間の期間は、中間の立ち下がり端データがＯＲ−ゲート１９０に与えられないことを保証する。ＯＲ−ゲート１９０は、５０４におけるクロック信号Ｂ＿ＤＥＬの立ち下がり端が５０４´における第２の出力クロック信号ＣＬＫＯＵＴパルスの立ち下がり端を明らかに画定することを保証する。要約すると、除算器回路１００のＯＲゲート１９０は、図５のタイミング図により、クロック信号Ａ＿ＤＥＬがローに遷移するか又はクロック信号Ｂ＿ＤＥＬがローに遷移するかの何れかの場合に、出力クロック信号ＣＬＫＯＵＴをロー状態に遷移させる。上述した方法は、ＣＬＫＯＵＴの最初の２つのクロック・サイクル又はパルス期間を生成する。図５におけるタイミング図に見られるように、除算器回路１００は、入力参照システム・クロック信号ＣＬＫＩＮの中止によって中断されるまで、無期限にこの方法を繰り返すことができる。さらに、クロック信号Ａ＿ＤＥＬ及びクロック信号Ｂ＿ＤＥＬと協働した、クロック信号Ａとクロック信号Ｂとの間の関係が、１つの実施形態において理想的な５０／５０負荷サイクルを達成する出力信号ＣＬＫＯＵＴをもたらす。
【００４７】
１つの実施形態において、除算器回路１００は、プロセッサ、マイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、情報処理システムにおける通信装置のようなデジタル回路に結合する、あるいは、その一部を形成することができる。情報処理システム（ＩＨＳ）は、典型的には、バスを介してシステム・メモリに結合されたプロセッサを含む。入力及び出力装置は、ＩＨＳに情報の入力及び出力を提供するためにバスに結合される。代表的な情報処理システムは、デスクトップ、ラップトップ、ノートブック、サーバ、メインフレーム及びミニコンピュータ・システムを含む。
【００４８】
図６は開示された除算器回路１００の１つの実施形態におけるプロセス・フローを示すプロセス・フロー図である。可変負荷サイクル・パルス生成器２００は、ブロック６００により入力クロック信号ＣＬＫＩＮ及び除算器の値（Ｘ．５）を受信する。可変負荷サイクル・パルス生成器２００は、出力クロック信号としてクロック信号Ａを生成する。クロック信号Ａは、式３によって表される
期間にわたって、図２の状態マシンのブロック２１０を参照して上述したように、アクティブ・ハイ状態のままである。クロック信号Ａは、式４により
表される期間にわたって非アクティブ又はロー状態に遷移する。２（Ｘ．５）の結果は、クロック信号Ａの全期間を定義する。さらに、２（Ｘ．５）は、クロック信号Ａのアクティブ・ハイ及び非アクティブ・ロー期間の合計を定義する。遅延ロジック・ループ１３０は、ブロック６１０によって参照として入力クロック信号ＣＬＫＩＮを受信する。遅延ロジック・ループ１３０は、入力クロック信号ＣＬＫＩＮ１００Ａの参照をオフにした２７０°出力クロック信号及び９０°出力クロック信号の両方を生成する。ブロック６２０によって、ＡＮＤ／ＯＲロジック・ゲート１６０は、遅延ロジック・ループ１３０が生成した２７０°出力クロック信号及び９０°出力クロック信号を受信する。インバータ・ゲート１５０は、入力信号Ｘ＿ＥＶＥＮ／ＯＤＤ１００Ｃを受信する。Ｘ＿ＥＶＥＮ／ＯＤＤ信号がロー状態を示す場合には、ＡＮＤ／ＯＲロジック・ゲート１６０は、クロック信号ＣＬＫＩＮ＿ＤＥＬを生成するクロック信号２７０°の１６０Ｂを通過する。しかしながら、Ｘ＿ＥＶＥＮ／ＯＤＤ信号がハイ状態を示す場合には、ＡＮＤ／ＯＲロジック・ゲート１６０は、クロック信号ＣＬＫＩＮ＿ＤＥＬを生成するクロック信号９０°の１６０Ｃを通過する。
【００４９】
フリップ・フロップ・ステージ遅延ロジック回路３００は、ブロック６３０及び図３により、入力３００Ａで入力クロック信号Ａ及び入力３００Ｂで参照システム・クロック入力信号ＣＬＫＩＮを受信する。フリップ・フロップ・ステージ遅延ロジック回路３００内部のフリップ・フロップ又はステージの総数は、式５により表される
。フリップ・フロップ・ステージ遅延ロジック回路３００は、フリップ・フロップ・ステージ遅延ロジック回路３００の出力において出力信号クロックＢを生成する。ブロック６４０により、クロック信号ＣＬＫＩＮ＿ＤＥＬの立ち上がり端は、フリップ・フロップ１７０への入力としてクロック信号Ａをトリガし、ＣＬＫＩＮ＿ＤＥＬの立ち下がり端は、フリップ・フロップ１８０への入力としてクロック信号Ｂをトリガする。フリップ・フロップ１７０は、クロック信号Ａの遅延コピーとして出力信号Ａ＿ＤＥＬを生成する。さらに、フリップ・フロップ１８０は、クロック信号Ｂの遅延コピーとして出力信号Ｂ＿ＤＥＬを生成する。クロック信号Ａ＿ＤＥＬ及びクロック信号Ｂ＿ＤＥＬは、ブロック６５０によりＯＲ−ゲート１９０のそれぞれの入力に流れる。さらに、クロック信号Ａ及びクロック信号Ｂは、同様にＯＲ−ゲート１９０の他のそれぞれの入力に流れる。ＯＲ−ゲート１９０は、ブロック６５０により、論理ＯＲ演算を使用して、クロック信号Ａ、クロック信号Ｂ、クロック信号Ａ＿ＤＥＬ及びクロック信号Ｂ＿ＤＥＬを結合する。このようにして、ブロック６５０は、除算器回路１００の出力において出力クロック信号ＣＬＫＯＵＴを生成する。
【００５０】
図７は、除算器回路１００を含む情報処理システム（ＩＨＳ）７００を示す。除算器回路１００は、以下に説明されるようにプロセッサ７０５のようなＩＨＳ７００のいくつかのコンポーネントにクロッキング信号を提供する。ＩＨＳ７００はさらに、システム・メモリ７１５及びビデオ・グラフィックス・コントローラ７２０にプロセッサ７０５を結合するバス７１０を含む。ディスプレイ７２５は、ビデオ・グラフィックス・コントローラ７２０に結合される。ＩＨＳ７００に情報の永続的格納を提供するために、ハードディスク・ドライブ、ＣＤドライブ、ＤＶＤドライブのような不揮発性ストレージ７３０又は他の不揮発性ストレージがバス７１０に結合される。ＩＨＳ７００の動作を支配するためにオペレーティング・システム７３５がメモリ７１５にロードされる。キーボード、マウス・ポインティング装置のようなＩ／Ｏ装置７４０がバス７１０に結合される。ＩＨＳ７００への周辺装置及び装置の接続を容易にするために、ＵＳＢ、ＩＥＥＥ１３９４バス、ＡＴＡ、ＳＡＴＡ、ＰＣＩ、ＰＣＩＥのような１つ又はそれ以上の拡張バス７４５及び他のバスをバス７１０に結合することができる。ＩＨＳ７００がネットワークその他の情報処理システムに有線又は無線で接続することを可能にするために、ネットワーク・アダプタ７５０がバス７１０に結合される。図７は、プロセッサ７００を使用する１つのＩＨＳを示しているが、ＩＨＳは多くの形態をとることができる。例えば、ＩＨＳ７００は、デスクトップ、サーバ、ポータブル、ラップトップ、ノートブック、あるいは、他のフォーム・ファクタのコンピュータ又はデータ処理システムの形態をとることができる。ＩＨＳ７００はまた、携帯情報端末（ＰＤＡ）、ゲーム装置、携帯電話装置、通信装置又はプロセッサ及びメモリを含む他の装置のような他のフォーム・ファクタをとることができる。この特定の実施形態において、除算器回路１００は、クロッキング信号を提供するために、１つ又はそれ以上のビデオ・グラフィックス・コントローラ７２０、Ｉ／Ｏ装置７４０及びネットワーク・アダプタ７５０に結合することができる。ビデオ・グラフィックス・コントローラ７２０、Ｉ／Ｏ装置７４０及びネットワーク・アダプタ７５０は、これらのクロッキング信号のための受容回路の役割を果たす。
【００５１】
前述のことは、１つの実施形態において、入力参照システム・クロック信号をＸが２又はそれ以上の整数を表すＸ．５の除数で除算する、クロック信号除算方法を及び装置を開示する。１つの実施形態において、開示された方法及び装置は、出力クロック信号ＣＬＫＯＵＴについて５０％の理想負荷サイクル参照、すなわち、５０％ハイ及び５０％ロー又は５０／５０を維持しながら、参照システム・クロック信号ＣＬＫＩＮの立ち下がり端及び立ち上がり端と結果出力クロック信号ＣＬＫＯＵＴとの間の直接の関係を維持する。
【００５２】
本発明のこの説明を考慮すれば本発明の修正及びさらに別の実施形態が当業者には明らかとなるであろう。従って、この説明は当業者に本発明を実行する方法を教示し、単なる説明として解釈されることが意図される。図示され説明される本発明の形態が、本発明の実施形態を構成する。当業者は、形状、サイズ及び部品の配置において種々の変更を行うことができる。例えば、当業者は、ここに例示され説明される要素を同等の要素に置き替えることができる。さらに、当業者は、本発明のこの説明の利点を得た後で、本発明の範囲から離れることなく、他の特徴の使用とは別個に本発明のいくつかの特徴を使用することができる。
【図面の簡単な説明】
【００５３】
【図１】開示された除算器回路のブロック図を示す。
【図２】図１の除算器回路において可変負荷パルス生成器として使用することができる状態マシンを示す。
【図３】図１の除算器回路においてステージ遅延ロジックとして使用することができるフリップ・フロップのアレイのブロック図を示す。
【図４】除数が３．５である開示された除算器回路の実施形態における選択された信号を示すタイミング図である。
【図５】除数が４．５である開示された除算器回路の実施形態における選択された信号を示すタイミング図である。
【図６】開示された除算器回路の１つの実施形態におけるプロセス・フローを示すプロセス・フロー図である。
【図７】開示された除算器回路を含む情報処理システムを示す。
【符号の説明】
【００５４】
１００：除算器回路
１００Ａ、１００Ｃ：入力
１００Ｂ：出力
１３０：遅延ロジック・ループ
１４０：ＡＮＤ／ＯＲロジック・ゲート
１４０Ａ、１４０Ｂ、１４０Ｃ、１４０Ｄ、１６０Ａ、１６０Ｂ、１６０Ｃ、１６０Ｄ、１９０Ａ、１９０Ｂ、１９０Ｃ、１９０Ｄ：入力
１５０：インバータ
１６０：ＡＮＤ／ＯＲロジック・ゲート
１７０、１８０：フリップ・フロップ
１９０：ＯＲゲート 
２００：可変負荷サイクル・パルス生成器
３００：フリップ・フロップ・ステージ遅延ロジック
【図１】
2007200293.tif 000008
【図２】
2007200293.tif 000009
【図３】
2007200293.tif 000010
【図４】
2007200293.tif 000011
【図５】
2007200293.tif 000012
【図６】
2007200293.tif 000013
【図７】
2007200293.tif 000014