JP4856531B2 - 情報処理システムにおいてデジタル信号をx.5で除算するための方法及び装置 - Google Patents

情報処理システムにおいてデジタル信号をx.5で除算するための方法及び装置 Download PDF

Info

Publication number
JP4856531B2
JP4856531B2 JP2006346776A JP2006346776A JP4856531B2 JP 4856531 B2 JP4856531 B2 JP 4856531B2 JP 2006346776 A JP2006346776 A JP 2006346776A JP 2006346776 A JP2006346776 A JP 2006346776A JP 4856531 B2 JP4856531 B2 JP 4856531B2
Authority
JP
Japan
Prior art keywords
signal
clock signal
pulse signal
logic
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006346776A
Other languages
English (en)
Other versions
JP2007200293A (ja
Inventor
ニール・アンバーラル・パンチャル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2007200293A publication Critical patent/JP2007200293A/ja
Application granted granted Critical
Publication of JP4856531B2 publication Critical patent/JP4856531B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K23/00Pulse counters comprising counting chains; Frequency dividers comprising counting chains
    • H03K23/40Gating or clocking signals applied to all stages, i.e. synchronous counters
    • H03K23/50Gating or clocking signals applied to all stages, i.e. synchronous counters using bi-stable regenerative trigger circuits
    • H03K23/502Gating or clocking signals applied to all stages, i.e. synchronous counters using bi-stable regenerative trigger circuits with a base or a radix other than a power of two
    • H03K23/507Gating or clocking signals applied to all stages, i.e. synchronous counters using bi-stable regenerative trigger circuits with a base or a radix other than a power of two with a base which is a non-integer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Pulse Circuits (AREA)
  • Manipulation Of Pulses (AREA)

Description

本発明は、一般に、除算器回路に関し、より具体的には、デジタル・システムにおいてデジタル信号を非整数除数で除算する除算器回路に関する。
デジタル・クロック信号は、デスクトップ、ラップトップ、ノートブック、携帯情報端末(PDA)、サーバ、メインフレーム、ミニコンピュータ及び通信システム、ならびに、デジタル・エレクトロニクスを使用する他のシステムのような、情報処理システム(IHS)において重要な役割を果たす。例えば、IHSにおけるマイクロプロセッサは、時間基準又は参照としてクロック信号を使用する。実際には、IHSは典型的に、共通のシステム・クロック信号、すなわち、マスター・クロック信号に全て関連する複数のクロック信号を使用する。
実際のIHSは、共通のシステム・クロック信号又はマスター・クロック信号から複数のクロック信号を生成するハードウェアを含むことがある。マスター・クロック信号はIHSのための一次タイミング参照としての役割を果たす。IHSにおける他のクロック信号は、タイミング、周波数及びパルス幅においてマスター・クロック信号に関連する。さらに、IHS内の動作の適切なタイミングを提供するために、他のクロック信号の立ち上がり端及び立ち下がり端がマスター・クロック信号の立ち上がり端及び立ち下がり端に関連することがある。最も単純な場合には、他のクロック信号は、整数の倍数をかけたマスター・クロック信号に関連する。例えば、他のクロック信号は、マスター・クロック信号の2倍又は3倍の周波数を示すことがある。
クロック回路は、マスター・クロック信号より低い周波数を示すクロック信号を生成するために、マスター・クロック信号を整数除数で除算することも考えられる。例えば、2除算クロック回路は、マスター・クロック信号を2で除算して周波数1/2のシステム・クロック周波数を示すクロック信号を生成する。典型的には、結果として生じるクロック信号は、50/50負荷サイクルを示す。言い換えれば、クロック信号の半分のサイクルがロジック・ハイを示し、一方、該クロック信号の次の半分のサイクルがロジック・ローを示す。50/50負荷サイクルをもつ2除算クロック回路が一般的である。50/50負荷サイクルをもち、2以外の整数除数、例えば、3、4又は5の除数を使用するクロック回路もまた一般的である。
あまり一般的ではないクロック回路としては、マスター・クロック信号又はシステム・クロック信号を除数X.5で除算する「X.5除算」クロック回路があり、このXは2以上の整数を表す。例えば、クロック回路は、マスター・クロック信号を除算して結果除算ダウン・クロック信号を生成するために、2.5、3.5、4.5、などの除数を使用することができる。X.5除算クロック回路は、メモリ・アドレッシング、メモリ・データ管理、及び、多種多様な他の集積回路機能を実行する複合集積回路において同様に有用である。X.5除算クロック回路は、50/50以外の負荷サイクルを示すことが知られている。しかしながら、いくつかのアプリケーションは、50/50負荷サイクルのクロック信号を要求する。例えば、ダブル・データ・レート・メモリ・システムは、これらのシステムがクロック信号の立ち上がり端及び立ち下がり端の両方においてデータを立ち上げて取り込むので、50/50負荷サイクルのクロック信号を要求する。多くの高速のアプリケーションにおけるタイミング要求は、理想的な50/50負荷サイクルを維持するクロック信号を要求する。
必要とされるのは、クロック信号を非整数除数で除算して、50/50負荷サイクルを示す出力信号を与えるための方法及び装置である。
従って、1つの実施形態において、除算器回路によって信号を処理する方法が開示される。この方法は、除算器回路の除算器入力によって、周波数CLKIN FREQを示す複数のパルスを含むクロック入力信号を受信するステップを含む。この方法はまた、Xが2以上の整数であるとして、周波数CLKIN FREQをX.5で除算した値に等しいクロック周波数CLKOUT FREQを示す複数のパルスを含むクロック出力信号を、除算器入力に結合された除算器ロジックによって除算器回路の除算器出力に生成するステップを含む。クロック出力信号を生成するステップはまた、関係A FREQ=CLKIN FREQ/(2×(X.5))に従って周波数A FREQを示し、かつ、立ち上がり端及び立ち下がり端を有する複数のパルスを含むパルス信号Aを、可変負荷サイクル・パルス生成器によって生成することを含む。クロック出力信号を生成するステップはさらに、時間遅延ロジックによって、パルス信号Aの時間遅延コピーを生成して、これを立ち上がり端及び立ち下がり端を有する複数のパルスを含むパルス信号Bと表示するステップを含む。クロック出力信号を生成するステップはさらに、位相遅延ロジックによって、所定の位相量だけ位相遅延された、信号Aの位相遅延コピー及び信号Bの位相遅延コピーを生成するステップを含む。クロック出力信号を生成するステップはさらに、除算器出力に結合された出力ロジックによって、複数の偶数及び奇数のパルスを含むクロック出力信号を生成するステップを含む。ここで偶数及び奇数のパルスは、パルス信号A及びパルス信号Bの立ち上がり端にそれぞれ対応して生成される立ち上がり端を含み、また、偶数及び奇数のパルスは、パルス信号A及びパルス信号Bの位相遅延コピーのパルスの立ち下がり端にそれぞれ対応して生成される立ち下がり端を含む。
別の実施形態において、周波数CLKIN FREQを示す複数のパルスを含むクロック入力信号を受信するように適応された除算器入力を含む除算器回路が開示される。除算器回路はまた、Xが2以上の整数であるとして、周波数CLKIN FREQをX.5で除算した値に等しいクロック周波数CLKOUT FREQを示す複数のパルスを含むクロック出力信号が生成される除算器出力を含む。除算器回路はさらに、除算器入力と除算器出力との間に結合された除算器ロジックを含む。除算器ロジックは、立ち上がり端及び立ち下がり端を有する複数のパルスを含む周波数A FREQを示すパルス信号Aを、関係A FREQ=CLKIN FREQ/(2×(X.5))に従って生成する可変負荷サイクル・パルス生成器を含む。除算器ロジックはさらに、立ち上がり端及び立ち下がり端を有する複数のパルスを含み、かつ、パルス信号Bと表示されるパルス信号Aの時間遅延コピーを生成する時間遅延ロジックを含む。除算器ロジックはまたさらに、所定の位相量だけ位相遅延されている、信号Aの位相遅延コピー及び信号Bの位相遅延コピーを生成する位相遅延ロジックを含む。除算器ロジックはまたさらに、パルス信号A及びパルス信号Bの立ち上がり端にそれぞれ対応して生成される立ち上がり端と、パルス信号A及びパルス信号Bの位相遅延コピーの立ち下がり端にそれぞれ対応して生成される立ち下がり端とを含む偶数及び奇数のパルスを有するクロック出力信号を生成する、前記除算器出力に結合された出力ロジックを含む。
添付の図面は、本発明の例示的な実施形態を例示するだけであって、本発明の概念は他の等しく有効な実施形態にも向けられているので、本発明の範囲を制限することはない。
図1は、入力100Aにおいてマスター又は参照クロック信号CLKINを受信するクロック回路100を示す。CLKIN参照クロック信号に応答して、クロック回路100は、出力100Bにおいて、CLKIN信号周波数を除数X.5で除算して、除算されたダウン・クロック出力信号CLKOUTを生成する。クロック回路100は、参照クロックCLKINを受信するために入力100Aに結合された入力を有する可変負荷サイクル・パルス生成器200を含む。可変負荷サイクル・パルス生成器200の入力はまた、遅延ロジック・ループ130の参照入力REF、及びフリップ・フロップ・ステージ遅延ロジック回路300の入力に結合される。さらに詳細には、可変負荷サイクル・パルス生成器200は、その出力においてクロック信号Aを生成する。生成器200の出力は、フリップ・フロップ・ステージ遅延ロジック回路300の入力、立ち上がり端クロック・トリガ・フリップ・フロップ170のD入力、及び、ORゲート190の4つの入力のうちの1つである190Aに結合される。ORゲート190は、以下の式1により出力クロック信号CLKOUTを生成する。
Figure 0004856531
ここで、X=2以上の整数。
上述したように、可変負荷サイクル・パルス生成器200は、その出力においてクロック信号Aを生成する。可変負荷サイクル・パルス生成器200は、以下の式2におけるタイミング関係に従って参照クロック周波数CLKIN FREQを減少させ、ここでA FREQは、結果として生じる出力クロック信号Aの周波数を示す。
Figure 0004856531
可変負荷サイクル・パルス生成器200は、参照クロック周波数CLKIN FREQを(2×(X.5))で除算して、除算器回路100がX.5で除算されたCLKIN FREQに等しい周波数を示す出力クロック信号CLKOUTを生成することを可能にする。ここでXは2以上の整数に等しい。Xが整数3に等しい1つの実施例において、クロック信号Aは、(2×(X.5)、すなわち、2×3.5すなわち7)で除算されたCLKIN FREQとして定義される周波数A FREQを示す。言い換えれば、信号Aは7で除算された周波数A FREQを示す。この実施例において、クロック信号Aは、参照クロックCLKINの立ち上がり端の7回の生成ごとに繰り返す。別の言い方をすれば、クロック信号Aは参照クロック周波数CLKIN FREQより7倍遅い周波数を示す。クロック信号Aは、以下で説明されるタイミング図により詳細に記述されるように、参照信号CLKINの立ち上がり端に一致する立ち上がり端のタイミング関係を示す。
フリップ・フロップ・ステージ遅延ロジック回路300は、回路100がそれぞれ提供する参照クロックCLKIN信号及びクロック信号Aに対し、2つの入力を含む。それに応答して、フリップ・フロップ・ステージ遅延ロジック回路300は、その出力においてクロック信号Bを生成する。クロック信号Bの周波数、すなわち、B FREQは、クロック信号Aの周波数、すなわち、A FREQに等しい。クロック信号Bは、システム・クロックCLKIN入力の立ち下がり端を参照する、信号Aの遅延コピーを示す。フリップ・フロップ・ステージ遅延ロジック回路300の出力は、立ち下がり端クロック・トリガ・フリップ・フロップ180のD入力及びORゲート190の入力190Cに結合される。クロック信号Bは、クロック信号Aと同じパルス幅、すなわち、信号Bがハイ状態を示す期間を示す。さらに、フリップ・フロップ・ステージ遅延ロジック回路300は、フリップ・フロップ・ステージ遅延ロジック回路300を形成する多数のフリップ・フロップによりクロック信号Aに対してクロック信号Bを遅延する。フリップ・フロップ・ステージ遅延ロジック回路300は、以下により詳細に説明される。
除算器回路100は、遅延ロジック・ループ130の参照入力REFに参照CLKIN信号を供給する。遅延ロジック・ループ130は、参照クロックCLKIN信号の遅延コピーを生成する。遅延ロジック・ループ130は、270°と表示された出力において270度だけ遅延されたCLKIN信号のコピー、90°と表示された出力において90度だけ遅延されたCLKIN信号のコピー、及び、最後に0°と表示された出力において0度だけ遅延されたCLKIN信号のコピーを生成する。従って、270°、90°及び0°は、遅延ロジック・ループ130によってCLKIN信号に課せられるそれぞれのタイミング・オフセットを表す。より具体的には、遅延ロジック・ループ130は、パルス幅及び周波数に関して同一の波形として遅延信号270°、90°及び0°を生成するが、しかしながら、これらは参照クロックCLKIN周波数に基づく遅延又は右シフトをもつ立ち上がり端及び立ち下がり端方向を示す。反復波形の時間期間は、該波形の相対周波数の逆数に等しい。参照クロックCLKINの期間は、参照クロックCLKINの1つの立ち上がり端と参照クロックCLKINの次の立ち上がり端との間の時間である。遅延ロジック・ループ130の0°の出力は、AND/ORロジック・ゲート140の4つの入力のうちの1つ、すなわち、入力140Aに結合される。AND/ORゲート140は、遅延ロジック・ループ130の270°及び90°出力によって示される遅延を補償するか、あるいは、それと一致する。遅延ロジック・ループ130は、そのフィードバック入力FDBKにおいて受信されAND/ORゲート140に結合されたその0°の出力から遅延した応答を受信する。内部では、遅延ロジック・ループ130が、全ての他の出力信号、すなわち、この場合には90°の出力信号及び270°の出力信号に対して要求された補償としてこの信号の遅延を解釈する。AND/ORゲート140は、4つの入力140A、140B、140C及び140Dを含む。図1に見られるように、AND/ORロジック・ゲート140の入力140Bは、正の電圧供給レール、+Vに結合され又は接続され、それにより入力140Bはロジック・ハイを受信する。残りの入力140C及び140Dは、接地に接続されてロジック・ローを受信する。AND/ORロジック・ゲート140は、AND/OR関数を通して信号遅延を提供するバッファ付き又は直接のスループット関数を生成する。AND/ORロジック・ゲート140の出力は、遅延ロジック・ループ130のフィードバック入力、FDBKに結合されて、AND/ORロジック・ゲート140を通る遅延ロジック・ループ130の0°の信号出力を参照する全ての出力信号に補償遅延を提供する。
クロック除算器回路100は、入力100Cにおいて入力信号X_EVEN/ODDを受信する。入力100Cは、インバータ150の入力及びAND/ORロジック・ゲート160の入力160Dに結合される。インバータ150の逆出力は、AND/ORゲート160の入力160Aに結合される。インバータ150の出力は、クロック除算器回路100の入力信号X_EVEN/ODDの逆の状態を表す。さらに、X_EVEN/ODD入力信号は、式1のX.5除算関数のために選択されたXの値の偶数状態又は奇数状態を記述する。X_EVEN/ODD信号は、Xの偶数の値に関するロジック・ハイ及びXの奇数の値に関するロジック・ローを示す。遅延ロジック・ループ130の270°の出力はAND/ORゲート160の入力160Bに結合される。遅延ロジック・ループ130の90°の出力はAND/ORゲート160の入力160Cに結合される。
上述したように、クロック除算器回路100は、入力100Cにおいて入力信号X_EVEN/ODDを受信する。X_EVEN/ODD信号は、示されるように入力160A及び入力160DにおいてAND/ORゲート160に流れる。遅延ロジック・ループ130の270°及び90°の出力は、遅延した入力信号をAND/ORロジック・ゲート160の入力160B及び160Cにそれぞれ供給する。AND/ORロジック・ゲート160は、遅延ロジック・ループ130の出力信号に対するゲート遅延に対応する。上述したように、AND/ORゲート140は、遅延ロジック・ループ回路130にフィードバック・ループを提供する。さらに、遅延ロジック・ループ130は、遅延ロジック・ループ130のフィードバック入力FDBKに結合されたAND/ORゲート140によって表されるようなAND/ORゲート160と位相的に同一のゲート回路を用いて、出力パスにおけるAND/ORゲート160に関連した遅延を補償する。遅延ロジック・ループ130のフィードバック入力FDBKは、遅延ロジック・ループ装置に関連したフィードバック回路の使用によって遅延ロジック・ループ130の出力信号からAND/ORゲート160のゲート遅延ロジックを有効に除去する。
信号X_EVEN/ODDは、アプリケーションのためのクロック除算器回路100の入力100Cにおいてロジック・ハイを示し、図1のX.5除算回路100は偶数2、4、6などに等しいXについての整数を使用する。対称的に、信号X_EVEN/ODDは、アプリケーションのための除算器回路100の入力100Cにロジック・ロー信号を供給し、式1によって表されるような除数X.5は3、5、7などのような奇数の整数X(2より大きいいずれかの奇数の整数)を使用する。ここで以下に説明される1つの実施形態において、信号X_EVEN/ODDはXについての偶数の整数に対応する。Xが偶数の整数に対応するこれらの条件では、入力信号X_EVEN/ODDはクロック除算器回路100の入力100Cにおけるハイ状態を示す。ブール・ロジックは、ロジック・ゲート160が入力160Cにおいて遅延ロジック・ループ130の90°の出力信号をロジック・ゲート160の出力に受け渡すことを示す。信号CLKIN_DELは、90°だけ前方にシフトされた参照クロックCLKINを表す。
別の実施形態において、信号X_EVEN/ODDの入力100Cは、X.5除算値に対するようなロー状態を示し、Xは3又はそれより大きい奇数の整数に等しい。このシナリオにおいて、AND/ORロジック・ゲート160は、遅延ロジック・ループ130の270°の出力信号をゲート160の出力に通して受け渡し、それによってCLKIN_DEL信号を生成する。CLKIN_DEL信号は、この実施例において270度だけ遅延又は前方にシフトされた参照システム・クロックCLKIN信号を表す。X_EVEN/ODD信号による遅延ロジック・ループ130の90°の出力又は270°の出力の何れかの選択が、以下により詳細に説明されるような除算器回路100における将来の波形を生成するための適切なタイミング関係を決定する。AND/ORゲート160の出力は、フリップ・フロップ170の正端のトリガ・クロック入力及びフリップ・フロップ180の負端のトリガ・クロック入力に結合される。
クロック信号CLKIN_DELの立ち上がり端によってトリガされた、立ち上がり端トリガ・フリップ・フロップ170は、クロック信号A_DELを生成する。フリップ・フロップ170の出力は、OR−ゲート190の入力190Bに結合される。信号A_DELは、参照システム・クロックCLKINの1つの立ち上がり端によってクロック信号Aの遅延コピーを表す。クロック信号CLKIN_DELの立ち下がり端は、立ち下がり端トリガ・フリップ・フロップ180をトリガする。フリップ・フロップ180の出力はクロック信号B_DELを生成する。クロック信号B_DELはクロック信号Bの遅延バージョンを表す。フリップ・フロップ180の出力は、OR−ゲート190の残りの入力190Dに結合される。ORゲート190は、CLKOUT出力100Bにおいて除算器回路100の出力クロック信号CLKOUTを生成する。
図2は、図1の可変負荷サイクル・パルス生成器200の状態条件をより詳細に記述する状態マシンを示す。入力100Aにおいて入力クロック信号CLKINは入力を可変負荷サイクル・パルス生成器200に提供する。さらに、可変負荷サイクル・パルス生成器200はその出力において出力クロック信号Aを生成する。状態マシン・ブロック210は、可変負荷サイクル・パルス生成器200に対するアクティブ状態条件を記述する。アクティブ状態は、クロック信号Aに対するデジタル・ハイ条件に対応する。ブロック210は、可変負荷サイクル・パルス生成器200の初期化状態を記述する。変数Xは、上の式1における除数値を表すために選択される2以上の整数値に対応する。次に、状態マシン・ブロック210はさらに、以下の式3に記述されるように、NがX/2の数学床又は最も近い整数値まで減少されたX/2の結果に等しい関数を記述する。この結果は、クロック信号Aが入力参照システム・クロックCLKINに対するアクティブ・ハイ状態(ロジック・ハイ状態)を示すアクティブ状態又は期間の総数を表す。
Figure 0004856531
X/2の床関数
除算器回路100がXの実例値として値3を使用する場合には、Nは、結果整数値1に等しい。より具体的には、式3により、X/2、すなわち3/2は、1.5の結果をもたらし、最も近い整数に減少され又は切り捨てられたときにはNについて1の値を生じる。説明したように、N=1の結果は、参照システム・クロック信号CLKINの1クロック・サイクル入力に対してハイ状態を示すクロック信号Aに対応する。
別の実例において、Xが4に等しい整数値に対応する場合、式3はN=2の値を生じる。また、クロック除算器回路100は、式1により、参照システム・クロックCLKINの周波数をX.5、すなわち、この実例では4.5で除算する。状態マシン・ブロック210の結果はX/2の数学床(mathematical floor)に等しいNに対応する。X/2の最終結果(この実例では整数値2に等しい)は、ブロック210によりクロック信号Aについての多数のアクティブ状態を記述する。さらに、結果値2は、クロック信号Aが参照システム・クロック入力CLKINのクロック・サイクルに対するハイ状態を示す2つの期間を表す。この状態を満たすとき、図2の状態マシンは、状態マシン・ブロック220によって定義されるように次の状態に入る。
状態マシン・ブロック220は、クロック信号Aについての非アクティブ状態を生成するために要求される条件を記述する。ブロック220の非アクティブ状態条件はさらに、クロック信号Aがデジタル・ロー又はオフ状態に遷移する及び残るような条件を記述する。状態マシン・ブロック220において、値Mは以下の式4において与えられる関係に等しい。
Figure 0004856531
ここで、Mは、2×X.5から、2で除算されたXの数学床関数を減算したものを表す。さらに、Mは、クロック信号Aがロー状態を示す場合についての入力クロック信号CLKINに関連した期間の数を表す。
また、Xが整数値3に等しい実例において、結果として生じる非アクティブ期間は、次の最も低い整数に切り捨てられた2×3.5−3/2に一致する。さらに、Mは、上の式4により、整数値6、すなわち、7−1に等しい。Mの6に等しい結果値は、クロック信号Aがロー状態に残るような参照システム・クロック信号CLKINの6クロック入力サイクルを表す。完全なサイクルは、図2における状態マシンの2つのブロック状態の結果を組み合わせる。より具体的には、クロック信号Aは、参照システム・クロックCLKINの1入力サイクル・パルスに対してハイ、及び、参照システム・クロックCLKINの6入力サイクル・パルスに対してローを遷移する。また、これは、Xが3に等しい整数値に等しい実例を表す。状態マシンはさらに、このシーケンスがリセットすることと、入力参照信号クロックCLKINがアクティブのままであるという条件で、同一の関数が、ブロック210によりクロック信号Aがアクティブ・ハイに遷移すると共に、無期限に繰り返す新規のサイクルを開始することを記述する。
2つの実例のうちの2つ目においてXの値は整数4に対応する。ブロック220は、クロック信号Aについての結果として生じる非アクティブ期間を記述する。ブロック220は、式4により、Mが、2×4.5−4/2の数学床に等しいシナリオを記述する。Mに対する結果は、9−2、すなわち7である。Mの値は、参照システム・クロック信号CLKINの7クロック入力サイクルに対応し、クロック信号Aはロー状態に遷移して残る。図2の2つの状態を組み合わせて、クロック信号Aは、この実施例における参照システム・クロックCLKINの2入力サイクルについてハイ、及び、CLKINの7入力パルスについてローとして定義することができる。状態マシンは、ブロック210により、このシーケンスが同一の関数をリセットして繰り返すことをさらに記述し、クロック信号Aはアクティブ・ハイに遷移して無期限に繰り返す。タイミング図はさらに、以下にこの関係を表す。
図3は、図1に見られるようなフリップ・フロップ・ステージ遅延ロジック回路300を形成するために、直列に又はカスケード式に結合された多数のフリップ・フロップの1つの実施例を示す。フリップ・フロップ・ステージ遅延ロジック回路300は、入力300Aにおいて参照クロック信号Aを、入力300Bにおいてマスター又は参照クロック信号CLKINを受信する。入力300Aは、参照クロック信号Aを受信するために、立ち下がり端トリガFLIP FLOP1、すなわちフリップ・フロップ310のD入力に結合される。さらに、FLIP FLOP1に立ち下がり端トリガ・クロックとして参照システム・クロック信号CLKINを提供するために、FLIP FLOP1のクロック入力が除算器回路入力300Bに結合される。入力300B、CLKINはまた、FLIP FLOP2、すなわちフリップ・フロップ320のクロック入力に結合され、さらにFLIP FLOP3:K、すなわちフリップ・フロップ330のクロック入力に結合される。FLIP FLOP3:Kは、式5に記述されるようなKについての式を満たすために必要なフリップ・フロップの数Kまでの第3の又はいずれかの数を示す。
Figure 0004856531
X.5の数学シーリング関数
ここで、K(定義による整数)は、図1のフリップ・フロップ・ステージ遅延ロジック300におけるステージ遅延フリップ・フロップの総数値カウントを表す。さらに、Kは式1において上述したようにXの関係を保証するために総フリップ・フロップ・カウントを表す。式5の除数におけるXは、式1の除数変数Xに対応する。式1は、除数X.5により除算された参照システム・クロックCLKINの周波数として出力クロック信号CLKOUTの周波数を決める。
図3を続けると、FLIP FLOP1の出力は、FLIP FLOP2のD入力に結合される。FLIP FLOP2の出力は、FLIP FLOP3:KのD入力に結合され、式5により定義されるKを通じてフリップ・フロップ3の数を表す。このFLIP FLOP3:Kの表現におけるカスケードの最後のフリップ・フロップKは、図3に見られるような出力クロック信号300Cとして参照クロック信号Bを生成する。
1つの実施例において、Xは整数値2に対応する。Kはさらに、2.5の数学シーリング、すなわち、この実施例においては結果値3として定義される。式5による定義によって、図1によるフリップ・フロップ・ステージ遅延ロジック300においてカスケードにするのに要求されるフリップ・フロップの総数は、3に等しい。さらに、別の実施例において、Xは整数値3に対応する。フリップ・フロップ・ステージ遅延ロジック回路300におけるフリップ・フロップの総カウントは、式5により値4に等しい。4に等しいXについて、フリップ・フロップ・ステージ遅延ロジック回路300は、フリップ・フロップ総数5などに対応する。
図4は、CLKIN、CLKIN_DEL、A、B、A_DEL、B_DEL及びCLKOUT信号の振幅経時変化のタイミング図を示す。図4は、Xが整数値3に対応し、式1の除数が3.5に対応するときの、除算器回路100の動作を示す。図4のタイミング・クロック信号は、システム・クロック信号CLKINから参照する。参照システム・クロック信号CLKINは、50/50の負荷サイクル又はアクティブ・ハイ状態及び非アクティブ・ロー状態の関係をもつ入力デジタル信号に対応する。50/50負荷サイクルは、共通のハイ期間パルス幅及び共通のロー期間パルス幅に対応する。除算器回路100は、参照システム・クロック信号、すなわちCLKIN信号から全てのクロック信号及び参照タイミング信号を生成する。別の言い方をすれば、図4のタイミング図の実施例は、除算器回路100がXについて値3を使用する場合に得られ、ここでXは上の式1におけるX.5の除数変数を記述する。参照システム・クロック信号CLKINと出力クロック信号CLKOUTとの間の関係を、さらに、上の式1によりCLKOUT FREQ=CLKIN FREQ/X.5として記述することができる。
クロック信号CLKIN_DELは、参照システム・クロック入力CLKIN100Aにおける波形を複写するが、該波形を時間において順方向にシフトする。より具体的には、CLKIN_DELは、時間枠において右に270°、すなわち時間において順方向にシフトされた、参照システム・クロックCLKIN信号と同一の周波数及びパルス幅のクロック信号を示す。遅延ロジック・ループ130は、この実施例において270°のタイミング・シフトを与える。270°のシフトは、総度数360のうちの270、すなわち標準クロック・サイクルの3/4のタイミングにおける遅延右シフトに対応する。参照システム・クロック信号CLKINの1つの立ち上がり端と参照システム・クロック信号CLKINの次の立ち上がり端との間の時間が、標準クロック・サイクルに相当する。この実施例において、Xは値3を表し、除算器回路100は、このXの値を奇数として解釈する。この解釈を容易にするために、外部回路(図示せず)が、ロジック・ロー信号として信号X_EVEN/ODDを入力100Cに供給する。言い換えれば、Xがこの実施例において奇数に対応するので、図1の100CにおけるX_EVEN/ODD信号はロジック・ロー状態を示す。入力100Cがロジック・ロー状態を示すときには、これは遅延ロジック・ループ130の270°出力信号がAND/ORロジック・ゲート160を通過することを可能にする。AND/ORロジック・ゲート160は、1つの完全なサイクル、すなわち、参照システム・クロック信号CLKINの360度に対して右に270°シフトされたクロック信号CLKIN_DELを生成する。遅延ロジック・ループ130のフィードバック入力FDBKに結合される補償遅延フィードバックを提供することによって、AND/ORロジック・ゲート140はAND/ORロジック・ゲート160の出力遅延に一致する。AND/ORロジック・ゲート160はクロック信号CLKIN_DELを生成し、クロック信号CLKIN_DELと参照システム・クロック信号CLKINとの間の関係は、正確に270°となることを保証することができ、遅延ロジック・ループ130以外の回路又はロジック・ゲート遅延によって影響されない。
クロック信号Aは、参照システム・クロック信号CLKINの最初の立ち上がり端のときにアクティブ状態、すなわちハイに遷移する。図2における状態マシンのブロック210によって定義されるように、クロック信号Aは上の式3によって記述される期間にわたってハイのままである。さらに、式3は、X/2の数学床関数、すなわちこの実施例では3/2が1に切り捨てられた数学床関数を記述する。さらに、式3は、参照クロック信号Aを、参照システム・クロック信号CLKINの1つの完全なサイクルについてのハイ状態を示すと定義する。1つのサイクルについてのハイ状態に続いて、クロック信号Aはロー状態に遷移する。クロック信号Aは、上の式4による結果値Mに等しい期間にわたって、図2の状態マシン・ロジックによって定義されるようにローのままである。Mは6に等しい、すなわち、2×X.5−X/2の床の結果、に等しい。より具体的には、クロック信号Aは、図4のタイミング図に見られるように、参照システム・クロック信号CLKINの6サイクルにわたってロー状態で非アクティブのままである。さらに、クロック信号Aの周波数は、クロック信号CLKINの周波数が2×X.5で除算される上の式2で表される関係によって定義することができる。Xが3に等しいこの実施例において、式2は、2×3.5、すなわち整数値7に等しい。図4のタイミング図に見られるように、信号Aは、参照入力クロック信号CLKINより7倍遅い周波数を示す。図2の状態マシン・ロジックにより、クロック信号Aの波形は、入力参照システム・クロック信号CLKINがアクティブのままであるという条件で繰り返す。
クロック信号Bは、フリップ・フロップ・ステージ遅延ロジック300によって、遅延された又は時間において順方向にシフトされた、すなわち、図4のタイミング図において右にシフトされた、クロック信号Aのコピーを表す。図3に見られるように、フリップ・フロップ・ステージ遅延ロジック300は、上の図5によって示されるカスケードにされた多数のフリップ・フロップを使用する。X=3である実施例において、KはX.5の数学シーリング関数に等しい。従って、X.5は3.5に対応し、それは切り上げられたときにKについての結果値4をもたらす。Kの結果値は、フリップ・フロップ・ステージ遅延ロジック300のフリップ・フロップの総数、すなわち、4つのフリップ・フロップに対応する。参照システム・クロック信号CLKINの立ち下がり端が、フリップ・フロップ遅延ロジック300をトリガする。そのようにトリガされたときに、このアクションは、フリップ・フロップ遅延ロジック300のフリップ・フロップ・カスケードを通してクロック信号Aの状態をクロック制御する。さらに、クロック信号Bは、クロック入力信号CLKINの第4のロー状態への遷移が起こった後に、ハイに遷移する。より具体的には、クロック信号Bは、信号Aのハイ状態への遷移及びクロック入力信号CLKINのトリガの発生によって開始されたときに、ハイに遷移する。次に、クロック信号Bは、参照システム・クロック信号CLKINの第4の立ち下がり端の生成の後、及び、クロック信号Aのローへの遷移の後、ロー状態に遷移する。クロック信号Aの結果右シフト・コピーが、図4のタイミング図においてクロック信号Bとして示される。この実施例において、信号Bは、X.5、すなわち、3.5×参照システム・クロック信号CLKINの期間の、参照クロック信号Aの右方シフトを示す。
立ち上がり端によりクロック・トリガされたフリップ・フロップ170は、その出力信号としてクロック信号A_DELを生成する。クロック信号CLKIN_DELの立ち上がり端が、クロック信号Aデータの入力と共にフリップ・フロップ170をトリガする。フリップ・フロップ170の結果出力であるクロック信号A_DELは、クロック信号Aの遅延コピーを提供する。クロック信号A_DELは、パルス幅において参照クロック信号Aと同一であるが、しかし、クロック信号CLKIN_DELの立ち上がり端の次の発生によって遅延される。言い換えれば、クロック信号Aがハイ状態を示すときには、信号A_DELは、クロック信号CLKIN_DELの立ち上がり端の先行する発生に続いてハイに遷移する。さらに、クロック信号Aがローに遷移すると、信号A_DELは、CLKIN_DEL信号の次の立ち上がり端に続いてローに遷移する。クロック信号A_DELは、クロック信号Aのハイ状態への次の遷移がサイクルを再び開始するまで、ローのままである。このサイクルは、参照システム・クロックCLKINがアクティブのままであるという条件で無期限に繰り返す。クロック信号B_DELは、クロック信号A_DELのクロック信号Aに対する関係と同様の、CLKIN_DELに対する関係に従う。より具体的には、CLKIN_DELの立ち下がり端の各々の発生が、データ入力クロック信号Bをと共にフリップ・フロップ180をトリガする、すなわちクロック制御する。このアクションは、信号Bをクロック信号CLKIN_DELの立ち下がり端によって遅延されるように有効にクロック制御した、重複パルス幅波形B_DELを生成する。クロック信号B_DELは、図1のフリップ・フロップ180の出力において出現する。
OR−ゲート190の4つの入力に与えられる信号の組み合わせ、すなわち、クロック信号A、クロック信号B、クロック信号A_DEL及びクロック信号B_DELが、図1及び図4のタイミング図に見られるように、出力クロック信号CLKOUT 100Bを生成することになる。ORゲート190の4つの入力の何れか1つがロジック・ハイを示すときに、ORゲート190の出力もロジック・ハイを示すことに注目されたい。従って、A、B、A_DEL又はB_DEL信号の何れか1つがロジック・ハイを示すときに、ORゲート190の出力においてCLKOUT信号がロジック・ハイを示す。除算器回路100は、4つの信号A、B、A_DEL及びB_DELからCLKOUT信号を構成するために、この論理ORブール関係を使用する。
より具体的には、また図4を参照すると、401におけるクロック信号Aの立ち上がり端が、401´における出力クロック信号CLKOUTの第1の立ち上がり端を生成する。クロック信号A_DELは、クロック信号Aにオーバーラップして、OR−ゲート190が入力の連続性を失って信号の損失を示すような如何なる可能性をも防ぐ。402におけるA_DELの立ち下がり端は、402´における出力クロック信号CLKOUTの第1の立ち下がり端を表す。次の403におけるクロック信号Bのハイ遷移の発生が、403´における出力クロック信号CLKOUTの第2の立ち上がり端を生成する。クロック信号Aとクロック信号Bとの間のタイミング関係が、式1により記述されるようなX.5除算条件を示す。クロック信号Aとクロック信号Bとの間の関係が、図1及び上の式1において記述されるような除算クロック周波数CLKOUTの1サイクルを表す。クロック信号Bとクロック信号B_DELとの間のオーバーラップはまた、中間の立ち下がり端データがOR−ゲート190に与えられないことを保証する。さらに、クロック信号Bとクロック信号B_DELとの間のオーバーラップは、404におけるクロック信号B_DELの立ち下がり端が、第2の出力クロック信号CLKOUTパルスの立ち下がり端404´を明らかに画定することを保証する。上の記述は、図4のタイミング図におけるCLKOUT信号の最初の2つのクロック・サイクルの生成を説明しているが、説明されたプロセスは、入力参照システム・クロック信号CLKINの中止によって中断されるまで、無期限に繰り返すことができる。さらに、クロック信号A、クロック信号B、クロック信号A_DEL及びクロック信号B_DELの間のタイミング関係は、理想的な50/50負荷サイクル又は理想的な50%負荷サイクルにおおよそ等しい負荷サイクルを示す出力クロック信号CLKOUTをもたらす。図4に見られるように、出力クロック信号CLKOUTは、ハイに遷移するクロック信号A又はハイに遷移するクロック信号Bの何れかの立ち上がり端の間の周期期間にわたるハイ状態を示す。さらに、出力クロック信号CLKOUTは、クロック信号A_DELがローに遷移するか、あるいは、クロック信号B_DELがローに遷移するかの何れかの場合に、ロー状態に遷移する。
図5は、除算器回路100が除数4.5を使用して上の式1により出力クロック信号CLKOUTを生成するときの、クロック除算器回路100の波形についての別のタイミング図を示す。参照システム・クロック信号CLKINは、50/50又は50%の負荷サイクルを示すデジタル信号を記述する。言い換えれば、CLKIN信号がロジック・ハイを示している時間は、CLKIN信号がロジック・ローを示している時間に等しい。除算器回路100は、参照システム・クロック信号CLKINから図5に示される全てのクロック信号及び参照タイミング信号を生成する。この実施例は、上の式1において、Xに対する整数値4、除数変数X.5を使用する。
除算器回路100は、周波数及びパルス幅に関して参照入力クロック信号CLKINとほとんど同一の波形としてクロック信号CLKIN_DELを生成する。しかしながら、除算器回路100は、参照システム・クロック信号CLKINと比較してクロック信号CLKIN_DELを90°だけシフト又は遅延する。より具体的には、遅延ロジック・ループ130は、図5のタイミング図に見られるようにクロック信号CLKIN_DELを右にシフトする。Xが4に等しいこの実施例では、除算器回路100はXを偶数の変数、すなわち、偶数の整数として解釈する。この解釈を容易にするために、外部回路(図示せず)がロジック・ハイ信号として信号X_EVEN/ODDを入力100Cに供給する。ロジック・ハイX_EVEN/ODD信号はインバータ150を通過し、該インバータは、信号をロジック・ローに反転させて、遅延ロジック・ループ130の90°位相シフト出力信号がAND/ORゲート160を通過することを可能にしながら、270°位相シフト出力信号がAND/ORゲート160の出力に到達するのを防ぐ。これらの条件の下で、AND/ORロジック・ゲート160は、図5の図に見られるように、参照システム・クロック信号CLKINの期間の時間における90°又は1/4の右シフトを示す遅延クロック信号CLKIN_DELを生成する。上述したように、AND/ORゲート140は、AND/ORゲート160と同一である。遅延ロジック・ループ出力130は、遅延ロジック・ループ回路130内のフィードバック機構を介してAND/ORゲート160によってもたらされる遅延を補償し、AND/ORゲート140は、AND/ORゲート160によってもたらされる遅延の遅延ロジック・ループ130を効果的に通知する。より具体的には、AND/ORゲート160によって見られるように、同一のロジックAND/ORゲート140を通して送られる遅延ロジック・ループ130の0°の出力は、そうでなければAND/ORゲート160によって見られるようにゲート・ロジックを通して遷移する出力信号によって受ける遅延を補償又は除去するために、タイミング関係を提供する。クロック信号CLKIN_DELと参照システム・クロック信号CLKINとの間の関係は、如何なる付加的な回路又はロジック・ゲート遅延によっても影響を及ぼされない正確な90°シフトを保証する。
クロック信号Aは、参照システム・クロックCLKINの最初の立ち上がり端により501においてアクティブ・ハイに遷移する。図2の状態マシン・ブロック210によって定義されるように、クロック信号Aは、上の式3によって記述される期間にわたってハイのままである。ブロック210のアクティブ期間は、さらに、X/2、この実施例では、4/2、すなわち2の床関数として数学的に定義される。この結果値2は、参照クロック信号CLKINの2つの完全なクロック・サイクルについてのハイ状態に対応する。2サイクルについてのハイ状態に続いて、クロック信号Aはローに遷移し、図2における状態マシン・ロジックによって定義されるようにその状態のままとなる。図2におけるブロック220は、上の式4の結果、すなわち、2×4.5−4/2の数学床関数に等しい非アクティブ状態期間を定義する。式4は、信号Aが図5のタイミング図に見られるようにロー状態に遷移してそのままとなる、9−2、すなわち7サイクルの参照システム・クロック信号CLKINを評価する。さらに、クロック信号Aの周波数は、クロック信号CLKINの周波数が2×X.5、すなわち2×4.5の結果で除算される、上の式2によって示される関係に対応する。この実施例において、式2はA FREQについて値9をもたらす。タイミング図の図5において見られるように、信号Aの周波数は、参照入力クロック信号CLKINより9倍遅い周波数を示す。さらに、図2における状態マシン・ロジックにより、クロック信号Aの波形は、入力参照システム・クロック信号CLKINがアクティブのままであるという条件で、繰り返すことになる。
クロック信号Bは、フリップ・フロップ・ステージ遅延ロジック300によって時間においてシフトされ又は遅延されたクロック信号Aのコピーに有効に対応する。図3において定義されるように、フリップ・フロップ・ステージ遅延ロジック300は、上の式5によって指定される多数のフリップ・フロップを表す。この実施例において、Kは、X.5の数学シーリング関数に等しく、Xは4に等しく、X.5は4.5に等しく、それは結果5に切り上げられる。さらに、フリップ・フロップ・ステージ遅延ロジック300は、このK=5の数値結果のフリップ・フロップの総数、すなわち、5つのフリップ・フロップに対応する。図5に示されるように、参照システム・クロック信号CLKINの立ち下がり端が、フリップ・フロップ・ステージ遅延ロジック300のフリップ・フロップ・カスケードを通してクロック信号Aをゲート制御する。さらに、フリップ・フロップ・ステージ遅延ロジック300は、参照信号CLKINの立ち下がり端の第5の発生の後、クロック信号Bの出力300Cをハイにトリガする。さらに、クロック信号Bは、クロック信号Aがローに遷移したときのポイント・イン・タイムから測定される参照システム・クロック信号CLKINの第5の立ち下がり端の発生の後、再び、ロー状態に遷移する。図5は、上述したタイミング関係と整合したクロック信号Bとして、クロック信号Aの右シフト・コピー結果を示す。この実施例はさらに、クロック信号Bを、クロック信号Aに対して右に参照システム・クロックCLKIN×X.5、すなわち4.5のシフトを表すものとして記述する。
フリップ・フロップ170は、フリップ・フロップ170の出力においてクロック信号A_DELを生成するために、そのクロック入力におけるクロック信号CLKIN_DEL、及びそのデータ入力におけるクロック信号Aの立ち上がり端を使用する。クロック信号A_DELは、クロック信号Aのものと同一のパルス幅を示す。しかしながら、フリップ・フロップ170は、クロック信号CLKIN_DELの立ち上がり端の第1の発生によって信号A_DELを時間においてシフトし又は遅延する。クロック信号A_DELは、クロック信号CLKIN_DELの立ち上がり端と共通のタイミングで502においてロー状態に遷移する。クロック信号A_DELは、ハイ状態へのクロック信号Aの次の遷移がサイクルを再び開始するまでローのままである。クロック信号B_DELは、CLKIN_DELの立ち下がり端の各々の発生が立ち下がり端フリップ・フロップ180をトリガする、クロック信号BとCLKIN_DELとの間の同関係に従う。さらに、フリップ・フロップ180は、そのデータ入力としてクロック信号B、及びそのクロック入力としてCLKIN_DELにおいてクロック制御する。それに応答して、フリップ・フロップ180は、時間遅延されることを除いて、クロック信号Bの有効な複製パルス幅波形である遅延クロック信号B_DELを生成する。さらに、クロック信号B_DELは、フリップ・フロップ180の出力においてクロック信号CLKIN_DELの立ち下がり端によってクロック信号Bからさらに遅延される。
ORゲート190は、図1に見られるようにOR−ゲート190の4つの入力にそれぞれ供給される4つのクロック信号A、A_DEL、B及びB_DELのブールOR関数として出力クロック信号CLKOUTを生成する。再び図5を参照すると、501におけるクロック信号Aの立ち上がり端は、ORゲート190に、501´において出力クロック信号CLKOUTの第1の立ち上がり端を発生させる。ORゲート入力190Bにおけるクロック信号A_DELは、OR−ゲート190が入力の連続性を失う如何なる可能性をも防ぐために、クロック信号Aをオーバーラップする。502におけるA_DELの立ち下がり端は、図5に見られるように、出力クロック信号CLKOUTの第1の立ち下がり端502´に対応する。クロック信号Bが503においてハイに遷移するときに、OR−ゲート190の出力が、ハイに遷移して503´において出力クロック信号CLKOUTの第2の立ち上がり端を生成する。要約すると、除算器回路100のORゲート190は、図5のタイミング図により、クロック信号Aがハイに遷移するか、又はクロック信号Bがハイに遷移するかの何れかの場合に、出力クロック信号CLKOUTをハイ状態に遷移させる。オーバーラップ、すなわち、ORゲート入力190Dにおけるクロック信号B及びB_DEL信号がハイのままである間の期間は、中間の立ち下がり端データがOR−ゲート190に与えられないことを保証する。OR−ゲート190は、504におけるクロック信号B_DELの立ち下がり端が504´における第2の出力クロック信号CLKOUTパルスの立ち下がり端を明らかに画定することを保証する。要約すると、除算器回路100のORゲート190は、図5のタイミング図により、クロック信号A_DELがローに遷移するか又はクロック信号B_DELがローに遷移するかの何れかの場合に、出力クロック信号CLKOUTをロー状態に遷移させる。上述した方法は、CLKOUTの最初の2つのクロック・サイクル又はパルス期間を生成する。図5におけるタイミング図に見られるように、除算器回路100は、入力参照システム・クロック信号CLKINの中止によって中断されるまで、無期限にこの方法を繰り返すことができる。さらに、クロック信号A_DEL及びクロック信号B_DELと協働した、クロック信号Aとクロック信号Bとの間の関係が、1つの実施形態において理想的な50/50負荷サイクルを達成する出力信号CLKOUTをもたらす。
1つの実施形態において、除算器回路100は、プロセッサ、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、情報処理システムにおける通信装置のようなデジタル回路に結合する、あるいは、その一部を形成することができる。情報処理システム(IHS)は、典型的には、バスを介してシステム・メモリに結合されたプロセッサを含む。入力及び出力装置は、IHSに情報の入力及び出力を提供するためにバスに結合される。代表的な情報処理システムは、デスクトップ、ラップトップ、ノートブック、サーバ、メインフレーム及びミニコンピュータ・システムを含む。
図6は開示された除算器回路100の1つの実施形態におけるプロセス・フローを示すプロセス・フロー図である。可変負荷サイクル・パルス生成器200は、ブロック600により入力クロック信号CLKIN及び除算器の値(X.5)を受信する。可変負荷サイクル・パルス生成器200は、出力クロック信号としてクロック信号Aを生成する。クロック信号Aは、式3によって表される
期間にわたって、図2の状態マシンのブロック210を参照して上述したように、アクティブ・ハイ状態のままである。クロック信号Aは、式4により
表される期間にわたって非アクティブ又はロー状態に遷移する。2(X.5)の結果は、クロック信号Aの全期間を定義する。さらに、2(X.5)は、クロック信号Aのアクティブ・ハイ及び非アクティブ・ロー期間の合計を定義する。遅延ロジック・ループ130は、ブロック610によって参照として入力クロック信号CLKINを受信する。遅延ロジック・ループ130は、入力クロック信号CLKIN100Aの参照をオフにした270°出力クロック信号及び90°出力クロック信号の両方を生成する。ブロック620によって、AND/ORロジック・ゲート160は、遅延ロジック・ループ130が生成した270°出力クロック信号及び90°出力クロック信号を受信する。インバータ・ゲート150は、入力信号X_EVEN/ODD100Cを受信する。X_EVEN/ODD信号がロー状態を示す場合には、AND/ORロジック・ゲート160は、クロック信号CLKIN_DELを生成するクロック信号270°の160Bを通過する。しかしながら、X_EVEN/ODD信号がハイ状態を示す場合には、AND/ORロジック・ゲート160は、クロック信号CLKIN_DELを生成するクロック信号90°の160Cを通過する。
フリップ・フロップ・ステージ遅延ロジック回路300は、ブロック630及び図3により、入力300Aで入力クロック信号A及び入力300Bで参照システム・クロック入力信号CLKINを受信する。フリップ・フロップ・ステージ遅延ロジック回路300内部のフリップ・フロップ又はステージの総数は、式5により表される
。フリップ・フロップ・ステージ遅延ロジック回路300は、フリップ・フロップ・ステージ遅延ロジック回路300の出力において出力信号クロックBを生成する。ブロック640により、クロック信号CLKIN_DELの立ち上がり端は、フリップ・フロップ170への入力としてクロック信号Aをトリガし、CLKIN_DELの立ち下がり端は、フリップ・フロップ180への入力としてクロック信号Bをトリガする。フリップ・フロップ170は、クロック信号Aの遅延コピーとして出力信号A_DELを生成する。さらに、フリップ・フロップ180は、クロック信号Bの遅延コピーとして出力信号B_DELを生成する。クロック信号A_DEL及びクロック信号B_DELは、ブロック650によりOR−ゲート190のそれぞれの入力に流れる。さらに、クロック信号A及びクロック信号Bは、同様にOR−ゲート190の他のそれぞれの入力に流れる。OR−ゲート190は、ブロック650により、論理OR演算を使用して、クロック信号A、クロック信号B、クロック信号A_DEL及びクロック信号B_DELを結合する。このようにして、ブロック650は、除算器回路100の出力において出力クロック信号CLKOUTを生成する。
図7は、除算器回路100を含む情報処理システム(IHS)700を示す。除算器回路100は、以下に説明されるようにプロセッサ705のようなIHS700のいくつかのコンポーネントにクロッキング信号を提供する。IHS700はさらに、システム・メモリ715及びビデオ・グラフィックス・コントローラ720にプロセッサ705を結合するバス710を含む。ディスプレイ725は、ビデオ・グラフィックス・コントローラ720に結合される。IHS700に情報の永続的格納を提供するために、ハードディスク・ドライブ、CDドライブ、DVDドライブのような不揮発性ストレージ730又は他の不揮発性ストレージがバス710に結合される。IHS700の動作を支配するためにオペレーティング・システム735がメモリ715にロードされる。キーボード、マウス・ポインティング装置のようなI/O装置740がバス710に結合される。IHS700への周辺装置及び装置の接続を容易にするために、USB、IEEE1394バス、ATA、SATA、PCI、PCIEのような1つ又はそれ以上の拡張バス745及び他のバスをバス710に結合することができる。IHS700がネットワークその他の情報処理システムに有線又は無線で接続することを可能にするために、ネットワーク・アダプタ750がバス710に結合される。図7は、プロセッサ700を使用する1つのIHSを示しているが、IHSは多くの形態をとることができる。例えば、IHS700は、デスクトップ、サーバ、ポータブル、ラップトップ、ノートブック、あるいは、他のフォーム・ファクタのコンピュータ又はデータ処理システムの形態をとることができる。IHS700はまた、携帯情報端末(PDA)、ゲーム装置、携帯電話装置、通信装置又はプロセッサ及びメモリを含む他の装置のような他のフォーム・ファクタをとることができる。この特定の実施形態において、除算器回路100は、クロッキング信号を提供するために、1つ又はそれ以上のビデオ・グラフィックス・コントローラ720、I/O装置740及びネットワーク・アダプタ750に結合することができる。ビデオ・グラフィックス・コントローラ720、I/O装置740及びネットワーク・アダプタ750は、これらのクロッキング信号のための受容回路の役割を果たす。
前述のことは、1つの実施形態において、入力参照システム・クロック信号をXが2又はそれ以上の整数を表すX.5の除数で除算する、クロック信号除算方法を及び装置を開示する。1つの実施形態において、開示された方法及び装置は、出力クロック信号CLKOUTについて50%の理想負荷サイクル参照、すなわち、50%ハイ及び50%ロー又は50/50を維持しながら、参照システム・クロック信号CLKINの立ち下がり端及び立ち上がり端と結果出力クロック信号CLKOUTとの間の直接の関係を維持する。
本発明のこの説明を考慮すれば本発明の修正及びさらに別の実施形態が当業者には明らかとなるであろう。従って、この説明は当業者に本発明を実行する方法を教示し、単なる説明として解釈されることが意図される。図示され説明される本発明の形態が、本発明の実施形態を構成する。当業者は、形状、サイズ及び部品の配置において種々の変更を行うことができる。例えば、当業者は、ここに例示され説明される要素を同等の要素に置き替えることができる。さらに、当業者は、本発明のこの説明の利点を得た後で、本発明の範囲から離れることなく、他の特徴の使用とは別個に本発明のいくつかの特徴を使用することができる。
開示された除算器回路のブロック図を示す。 図1の除算器回路において可変負荷パルス生成器として使用することができる状態マシンを示す。 図1の除算器回路においてステージ遅延ロジックとして使用することができるフリップ・フロップのアレイのブロック図を示す。 除数が3.5である開示された除算器回路の実施形態における選択された信号を示すタイミング図である。 除数が4.5である開示された除算器回路の実施形態における選択された信号を示すタイミング図である。 開示された除算器回路の1つの実施形態におけるプロセス・フローを示すプロセス・フロー図である。 開示された除算器回路を含む情報処理システムを示す。
符号の説明
100:除算器回路
100A、100C:入力
100B:出力
130:遅延ロジック・ループ
140:AND/ORロジック・ゲート
140A、140B、140C、140D、160A、160B、160C、160D、190A、190B、190C、190D:入力
150:インバータ
160:AND/ORロジック・ゲート
170、180:フリップ・フロップ
190:ORゲート
200:可変負荷サイクル・パルス生成器
300:フリップ・フロップ・ステージ遅延ロジック

Claims (7)

  1. 除算器回路によって信号を処理する方法であって、
    除算器回路の除算器入力によって、周波数CLKIN FREQを示す複数のパルスを含むクロック入力信号を受信するステップと、
    Xが2以上の整数であるとして、前記周波数CLKIN FREQをX.5で除算した値に等しいクロック周波数CLKOUT FREQを示す複数のパルスを含むクロック出力信号を、前記除算器入力に結合された除算器ロジックによって前記除算器回路の除算器出力に対して生成するステップとを含み、
    前記クロック出力信号を生成するステップがさらに、
    関係A FREQ=CLKIN FREQ/(2×(X.5))に従う周波数A FREQを示し、かつ、立ち上がり端及び立ち下がり端を有する複数のパルスを含むパルス信号Aを、可変負荷サイクル・パルス生成器によって生成するステップと、
    時間遅延ロジックによって、立ち上がり端及び立ち下がり端を有する複数のパルスを含むパルス信号Bとして表示される、パルス信号Aの時間遅延コピーを生成するステップと、
    位相遅延ロジックによって、所定の位相量だけ位相遅延されている信号Aの位相遅延コピー及び信号Bの位相遅延コピーを生成するステップであって、前記所定の位相量が、Xの偶数値については90°であり、Xの奇数値については270°である、ステップと
    前記除算器出力に結合された出力ロジックによって、複数の偶数及び奇数のパルスを含むクロック出力信号を生成するステップであって、前記出力ロジックが、前記パルス信号A、前記パルス信号B、前記パルス信号Aの遅延コピー及び前記パルス信号Bの遅延コピーを互いに論理ORにすることによって、前記クロック出力信号を生成する、ステップ
    とを含み、
    該偶数及び奇数のパルスがパルス信号A及びパルス信号Bの立ち上がり端にそれぞれ対応して生成される立ち上がり端を含み、該偶数及び奇数のパルスがパルス信号A及びパルス信号Bの位相遅延コピーの立ち下がり端にそれぞれ対応して生成される立ち下がり端を含む
    方法。
  2. 前記位相遅延ロジックが、信号A及び信号Bを位相遅延するための遅延ロジック・ループを使用する、請求項1に記載の方法。
  3. 前記時間遅延ロジックが、パルス信号Aを時間遅延してパルス信号Bを生成するために複数のフリップ・フロップ・ステージを使用する、請求項1に記載の方法。
  4. 可変負荷サイクル・パルス生成器が、パルス信号Aのパルスを生成する前記クロック入力信号の多数の第1ロジック状態を決める、請求項1に記載の方法。
  5. 前記クロック出力信号が50−50負荷サイクルを示す、請求項1に記載の方法。
  6. 除算器回路であって、
    周波数CLKIN FREQを示す複数のパルスを含むクロック入力信号を受信するように適応された除算器入力と、
    Xが2以上の整数であるとして、前記周波数CLKIN FREQをX.5で除算した値に等しいクロック周波数CLKOUT FREQを示す複数のパルスを含むクロック出力信号が生成される除算器出力と、
    前記除算器入力と前記除算器出力との間に結合された除算器ロジックとを含み、
    前記除算器ロジックが、
    立ち上がり端及び立ち下がり端を有する複数のパルスを含み周波数A FREQを示すパルス信号Aを、関係A FREQ=CLKIN FREQ/(2×(X.5))に従って生成する可変負荷サイクル・パルス生成器と、
    立ち上がり端及び立ち下がり端を有する複数のパルスを含み、かつ、パルス信号Bと表示されるパルス信号Aの時間遅延コピーを生成する時間遅延ロジックと、
    所定の位相量だけ位相遅延されている、信号Aの位相遅延コピー及び信号Bの位相遅延コピーを生成する位相遅延ロジックであって、前記所定の位相量が、Xの偶数値については90°であり、Xの奇数値については270°である、位相遅延ロジックと、
    パルス信号A及びパルス信号Bの立ち上がり端にそれぞれ対応して生成される立ち上がり端と、パルス信号A及びパルス信号Bの位相遅延コピーの立ち下がり端にそれぞれ対応して生成される立ち下がり端とを含む偶数及び奇数のパルスを有するクロック出力信号を生成する、前記除算器出力に結合された出力ロジックであって、前記可変負荷サイクル・パルス生成器、前記時間遅延ロジック及び前記位相遅延ロジックに結合されたORゲートであり、前記ORゲートが、前記パルス信号A、前記パルス信号B、前記パルス信号Aの遅延コピー及び前記パルス信号Bの遅延コピーを互いに論理ORにして前記クロック出力信号を生成する、出力ロジック
    とを含む、
    除算器回路。
  7. 情報処理システム(IHS)であって、
    プロセッサと、
    前記プロセッサに結合されたメモリと、
    前記プロセッサに結合されたサブシステムと、
    前記サブシステムに結合された除算器回路と、
    を含み、前記除算器回路が、
    周波数CLKIN FREQを示す複数のパルスを含むクロック入力信号を受信するように適応された除算器入力と、
    Xが2以上の整数であるとして、前記周波数CLKIN FREQをX.5で除算した値に等しいクロック周波数CLKOUT FREQを示す複数のパルスを含むクロック出力信号が生成される除算器出力と、
    前記除算器入力と前記除算器出力との間に結合された除算器ロジックとを含み、
    前記除算器ロジックが、
    立ち上がり端及び立ち下がり端を有する複数のパルスを含み周波数A FREQを示すパルス信号Aを、関係A FREQ=CLKIN FREQ/(2×(X.5))に従って生成する可変負荷サイクル・パルス生成器と、
    立ち上がり端及び立ち下がり端を有する複数のパルスを含み、かつ、パルス信号Bと表示されるパルス信号Aの時間遅延コピーを生成する時間遅延ロジックと、
    所定の位相量だけ位相遅延されている、信号Aの位相遅延コピー及び信号Bの位相遅延コピーを生成する位相遅延ロジックであって、前記所定の位相量が、Xの偶数値については90°であり、Xの奇数値については270°である、位相遅延ロジックと、
    パルス信号A及びパルス信号Bの立ち上がり端にそれぞれ対応して生成される立ち上がり端と、パルス信号A及びパルス信号Bの位相遅延コピーの立ち下がり端にそれぞれ対応して生成される立ち下がり端とを含む偶数及び奇数のパルスを有するクロック出力信号を生成する、前記除算器出力に結合された出力ロジックであって、前記可変負荷サイクル・パルス生成器、前記時間遅延ロジック及び前記位相遅延ロジックに結合されたORゲートであり、前記ORゲートが、前記パルス信号A、前記パルス信号B、前記パルス信号Aの遅延コピー及び前記パルス信号Bの遅延コピーを互いに論理ORにして前記クロック出力信号を生成する、出力ロジック
    とを含む、
    情報処理システム。
JP2006346776A 2006-01-25 2006-12-22 情報処理システムにおいてデジタル信号をx.5で除算するための方法及び装置 Expired - Fee Related JP4856531B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/339589 2006-01-25
US11/339,589 US7444534B2 (en) 2006-01-25 2006-01-25 Method and apparatus for dividing a digital signal by X.5 in an information handling system

Publications (2)

Publication Number Publication Date
JP2007200293A JP2007200293A (ja) 2007-08-09
JP4856531B2 true JP4856531B2 (ja) 2012-01-18

Family

ID=38286998

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006346776A Expired - Fee Related JP4856531B2 (ja) 2006-01-25 2006-12-22 情報処理システムにおいてデジタル信号をx.5で除算するための方法及び装置

Country Status (4)

Country Link
US (1) US7444534B2 (ja)
JP (1) JP4856531B2 (ja)
CN (1) CN101030776B (ja)
TW (1) TWI378339B (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100870037B1 (ko) * 2006-10-26 2008-11-24 삼성전자주식회사 테스트가 용이한 반도체 장치, 반도체 장치 테스트 방법,반도체 장치 테스트를 위한 테스트 클럭 생성 방법 및 장치
US7521972B2 (en) * 2007-09-25 2009-04-21 Hewlett-Packard Development Company, L.P. Fifty percent duty cycle clock divider circuit and method
CN102035540B (zh) * 2010-11-19 2011-12-28 长沙景嘉微电子有限公司 可编程50%占空比分频器
US9379722B2 (en) 2013-06-25 2016-06-28 Qualcomm Incorporated Frequency divider with duty cycle adjustment within feedback loop
KR20150142852A (ko) * 2014-06-12 2015-12-23 에스케이하이닉스 주식회사 다중 위상 클럭을 생성하는 반도체 시스템 및 이의 트레이닝 방법
US9317639B1 (en) * 2014-10-27 2016-04-19 Freescale Semiconductor, Inc. System for reducing power consumption of integrated circuit
US9531358B2 (en) 2014-10-27 2016-12-27 Mediatek Inc. Signal generating system and signal generating method
US10153777B2 (en) * 2016-09-30 2018-12-11 Texas Instruments Incorporated Fractional frequency clock divider with direct division
US10530375B1 (en) * 2018-09-05 2020-01-07 Xilinx, Inc. High speed frequency divider
CN110830041B (zh) * 2019-11-25 2023-09-15 上海华力微电子有限公司 占空比50%的连续整数分频器及包括其的锁相环电路

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4041403A (en) * 1975-07-28 1977-08-09 Bell Telephone Laboratories, Incorporated Divide-by-N/2 frequency division arrangement
JPS60462B2 (ja) * 1979-05-04 1985-01-08 東レ株式会社 特殊風合織物およびその製造方法
JPH078271B2 (ja) * 1985-11-08 1995-02-01 松下電器産業株式会社 自走式掃除機
JPH0548435A (ja) * 1991-08-13 1993-02-26 Fujitsu Ltd (2n+1)/2分周回路
US5493700A (en) * 1993-10-29 1996-02-20 Motorola Automatic frequency control apparatus
US5442670A (en) * 1994-02-16 1995-08-15 National Semiconductor Corporation Circuit for dividing clock frequency by N.5 where N is an integer
JP3707203B2 (ja) * 1997-05-22 2005-10-19 ソニー株式会社 分周器
JP3561657B2 (ja) * 1999-05-25 2004-09-02 三洋電機株式会社 可変分周装置
US6570417B2 (en) * 2000-11-14 2003-05-27 Broadcom Corporation Frequency dividing circuit
EP1416523B1 (en) * 2001-08-08 2011-04-06 Tokyo Electron Limited Heat treatment method and heat treatment device
US6489817B1 (en) * 2001-09-26 2002-12-03 Altera Corporation Clock divider using positive and negative edge triggered state machines
US6879654B2 (en) * 2003-04-25 2005-04-12 International Business Machines Corporation Non-integer frequency divider circuit
US6882229B1 (en) * 2003-07-23 2005-04-19 Pericom Semiconductor Corp. Divide-by-X.5 circuit with frequency doubler and differential oscillator
TWI229501B (en) * 2003-10-16 2005-03-11 Via Tech Inc Frequency divider and related frequency divider designing method

Also Published As

Publication number Publication date
US20070174648A1 (en) 2007-07-26
CN101030776A (zh) 2007-09-05
US7444534B2 (en) 2008-10-28
TWI378339B (en) 2012-12-01
TW200813685A (en) 2008-03-16
JP2007200293A (ja) 2007-08-09
CN101030776B (zh) 2010-05-19

Similar Documents

Publication Publication Date Title
JP4856531B2 (ja) 情報処理システムにおいてデジタル信号をx.5で除算するための方法及び装置
US5371772A (en) Programmable divider exhibiting a 50/50 duty cycle
JP4684919B2 (ja) スペクトラム拡散クロック制御装置及びスペクトラム拡散クロック発生装置
US7921318B2 (en) Techniques for integrated circuit clock management using pulse skipping
US20080252339A1 (en) Method and apparatus for generating synchronous clock signals from a common clock signal
JP2005341596A (ja) 対称的な出力を有するプログラマブル周波数分割器
TWI446720B (zh) 積體電路時脈管理技術
CN110710107A (zh) 用于减小时钟闭锁引起的电压下降的装置和方法
JP2020510253A (ja) クロック分周デバイス及びその方法
US20230141572A1 (en) Fractional frequency divider and flash memory controller
US9448580B2 (en) Methods and apparatus for generating clock signals based on duty code and period code
JP4757065B2 (ja) スペクトラム拡散クロック制御装置及びスペクトラム拡散クロック発生装置
TW201342808A (zh) 高解析度之脈衝寬度調變器
TW201448470A (zh) 固定頻率時脈來源之時脈頻率調變的方法
JP2004056717A (ja) 半導体装置、システムボードおよび多相クロック発生回路
JPH11145786A (ja) フリップフロップのリセット回路
TWI514109B (zh) 一種用於固定頻率時脈來源之時脈頻率調變的調變時脈裝置及計算裝置
JP2006302056A (ja) クロック制御回路
JP2015139103A (ja) 可変分周器
US6441666B1 (en) System and method for generating clock signals
US9564904B2 (en) Asynchronous high-speed programmable divider
JP6441166B2 (ja) 半導体装置
US20240319761A1 (en) Semiconductor device performing clock gating and operating method thereof
JP5493591B2 (ja) クロック分周回路および方法
JP4114722B2 (ja) ステート回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090915

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110705

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20110722

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110722

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110930

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111018

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20111018

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111028

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141104

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees