(57)【要約】      （修正有）【課題】クロック信号を並列データに整列させるための方法を提供する。【解決手段】クロックシフティング回路１０は、入来クロック信号８を入来データ信号１６に対してシフトし、データクロッキング回路２０は、シフト済みクロック信号を使用して、入来データ信号１６を再クロックする。クロックシフティング回路１０は、位相ロックループ回路２に直列に接続されている複数のＤフリップフロップ回路４，６を連結して備える。データクロッキング回路２０は、それぞれの入来データビット１６を受信し、ミキサ２２に対するローカルオシレータとして働く真−補数ブロック５０，５８を備える。複数のシフト済みクロック信号６２，５４，６４，５６は、入来クロック信号１６に対して９０度、１８０度、及び２７０度シフトされたものなど、が生み出される。【選択図】図１
2010283816.tif 000002
【特許請求の範囲】
【請求項１】
クロック信号とデータ信号を整列させるためのシステムにおいて、
入来クロック信号を受信し、シフト済みクロック信号を出力するクロックシフティング回路であって、
入来クロック信号が接続されている基準入力と、フィードバック入力と、ＰＬＬ出力と、を有する位相ロックループ（ＰＬＬ）と、
それぞれが、Ｄ入力と、クロック入力と、Ｑ出力と、Ｑバー出力と、を有している、直列に接続された複数のｎ個のＤフリップフロップであって、前記ＰＬＬ出力は、前記Ｄフリップフロップ１つ１つの前記クロック入力に接続され、Ｄフリップフロップの前記Ｑ出力は、直列内の後続のＤフリップフロップの前記Ｄ入力に接続され、前記直列内の最後のＤフリップフロップの前記Ｑバー出力は、前記直列内の１番目の前記Ｄフリップフロップの前記Ｄ入力に接続され、前記直列内の前記最後のＤフリップフロップの前記Ｑバー出力は、緩衝され、前記フィードバック入力へ接続されている、複数のｎ個のＤフリップフロップと、を備えており、
前記シフト済みクロック信号は、前記直列のＤフリップフロップからの少なくとも１つのＱ出力である、クロックシフティング回路と、
前記シフト済みクロック信号と複数の入来データビットを受信し、複数の再クロック済みデータビットを出力する、データクロッキング回路、とを備えているシステム。
【請求項２】
ＤＦＦχは、前記直列内のχ番目のＤフリップフロップであり、ＤＦＦχの前記Ｑ出力は、前記シフト済みクロック信号を送信し、前記シフト済みクロック信号は、前記入来クロック信号に対して（３６０／２ｎ）χ度の位相シフトを有する、請求項１に記載のシステム。
【請求項３】
前記データクロッキング回路は、
前記シフト済みクロック信号を受信し、真出力と補数出力を出力する、真−補数ブロックを備えており、
前記真出力は、前記入来クロック信号に対して（３６０／２ｎ）χ度の位相シフトを有するクロック信号を搬送し、前記補数出力は、前記入来クロック信号に対して（３６０／２ｎ）χ＋１８０度の位相シフトを有するクロック信号を搬送する、請求項１に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロック信号を並列データに整列させるための方法とシステムに関する。
【背景技術】
【０００２】
デジタルシステム内の場所と場所の間で並列データが送られるとき、通常は、関係付けられたクロック信号が別の経路で送られる。データ信号クロック信号の双方が受信側の場所に着信するとき、クロック信号の立ち上がりエッジが、データ信号の立ち上がりエッジと一致することがあるかもしれない。受信側の場所では、データ信号を、それら立ち上がりエッジが一致した状態で処理するのは難しいことがある。この問題を克服するべく、データは、クロックの位相をデータの位相に対してシフトすることによってタイミング再設定が図られることがある。
【０００３】
クロック信号のタイミング再設定を図るには、遅延ロックループを使用してもよかろう。しかしながら、遅延ロックループは、全ての開発ライブラリで利用可能になっているとは限らないかもしれない。また、遅延ロックループは、電力消費が高く、温度範囲の様な作動パラメータが逼迫することもある。遅延ロックループのタイミング再設定回路は、更に、クロック信号にジッタを持ちこむこともある。
【発明の概要】
【０００４】
本発明の１つの実施形態では、クロック信号とデータ信号を整列させるためのシステムが開示されている。本システムは、クロックシフティング回路とデータクロッキング回路に分かれる。クロックシフティング回路は、入来クロック信号を受信し、シフト済みクロック信号を出力する。データクロッキング回路は、複数の入来データビットを受信すると共に、クロックシフティング回路からはシフト済み信号を受信し、再クロック済みデータビットを出力する。クロックシフティング回路は、基準入力、フィードバック入力、及びＰＬＬ出力を有する位相ロックループ（ＰＬＬ）と、直列に接続されている複数のｎ個のＤフリップフロップと、を備えている。入来クロック信号は、ＰＬＬの基準入力に接続されている。直列に接続されている複数のｎ個のＤフリップフロップでは、それぞれのＤフリップフロップは、Ｄ入力、クロック入力、Ｑ出力、及びＱバー出力を有している。ＰＬＬ出力は、Ｄフリップフロップ１つ１つのクロック入力に接続されており、ＤフリップフロップのＱ出力は、直列内の後続のＤフリップフロップのＤ入力に接続されている。直列内の最後のＤフリップフロップのＱバー出力は、直列内の第１ＤフリップフロップのＤ入力に接続されている。直列内の最後のＤフリップフロップのＱバー出力は、更に、緩衝され、ＰＬＬのフィードバック入力へ接続されている。
【０００５】
もう１つの実施形態では、クロックシフティング回路とデータクロッキング回路を備えている、クロック信号とデータ信号を整列させるためのもう１つのシステムが開示されている。クロックシフティング回路は、入来クロック信号を受信し、出力として、第１のシフト済みクロック信号と第２のシフト済みクロック信号を生成する。データクロッキング回路は、第１及び第２のシフト済みクロック信号と複数の入来データビットを受信し、複数の再クロック済みデータビットを出力する。クロックシフティング回路は、基準入力、フィードバック入力、及びＰＬＬ出力を有する位相ロックループ（ＰＬＬ）と、第１Ｄ入力、第１クロック入力、第１Ｑ出力、及び第１Ｑバー出力を有する第１Ｄフリップフロップと、分割組み合わせ論理ブロックと、第２Ｄ入力、第２クロック入力、第２Ｑ出力、及び第２Ｑバー出力を有する第２Ｄフリップフロップと、を備えている。入来クロック信号は、基準入力に接続されている。
【０００６】
この実施形態では、ＰＬＬ出力は、第１Ｄフリップフロップの第１クロック入力に接続されており、第１Ｄフリップフロップの第１Ｑ出力は、第１シフト済みクロック信号となる。分割組み合わせ論理ブロックは、少なくとも１つの入力を第１Ｄフリップフロップから受信し、少なくとも１つの出力を生成する。ＰＬＬ出力は、第２Ｄフリップフロップの第２クロック入力にも接続され、分割組み合わせ論理ブロックの出力は、第２Ｄフリップフロップの第２Ｄ入力に接続されている。第２Ｑバー出力は、第１Ｄ入力に接続されている。加えて、第２Ｄフリップフロップの第２Ｑバー出力は、緩衝され、ＰＬＬのフィードバック入力に接続されており、第２Ｑバー出力は、更に、第２のシフト済みクロック信号となる。
【０００７】
更なる実施形態は、データクロッキング回路の様々な構成を含んでいる。例えば、データクロッキング回路は、それぞれがＤ入力とクロック入力とＱ出力を有する複数のＤフリップフロップであって、それぞれの入来データビットが１つのＤフリップフロップのＤ入力に接続されている様な回路であってもよい。シフト済みクロック信号は、複数のＤフリップフロップ全てのクロック入力に接続されており、複数のＤフリップフロップのＱ出力は再クロック済みデータビットとなる。代わりに、データクロッキング回路は、Ｄ入力とクロック入力とＱ出力を有するＤフリップフロップを対毎に２つずつ備えた複数のＤフリップフロップ対を備えていてもよい。この構成では、それぞれの入来データビットは、１つのＤフリップフロップ対の両方のＤ入力に接続されており、クロック入力の対のうち一方は、シフト済みクロック信号に接続され、クロック入力の当該対の他方は、反転シフト済みクロック信号に接続されている。Ｑ出力の対は一体で単一の再クロック済みデータビットを構成している。他のデータクロッキング回路構成としては、多種多様な位相シフト済みクロック信号を作成するべく真−補数ブロックを含んでいてもよい。
【０００８】
更に別の実施形態では、クロック信号とデータ信号を整列させる方法が開示されている。第１の周波数の入来クロック信号がＰＬＬに受信される。ＰＬＬを使用して、第２の周波数の修正済みクロック信号が生成される。ＰＬＬは更に、フィードバックＱ信号をフィードバック入力に受信し、入来クロック信号を、第２の周波数が第１の周波数より大きくなるように、逓倍する。修正済みクロック信号は、次に、第１Ｄフリップフロップの第１クロック入力に受信され、第１Ｄフリップフロップは、更に、フィードバックＱ信号を第１Ｄ入力に受信する。第１Ｄフリップフロップを使用して、第３の周波数のシフト済みクロック信号が生成される。第３の周波数は第２の周波数より小さく、シフト済みクロック信号は入来クロック信号に対して位相シフトされている。シフト済みクロック信号は、第２Ｄフリップフロップの第２Ｄ入力に送信される。修正済みクロック信号が、第２Ｄフリップフロップの第２クロック入力に受信される。フィードバックＱ信号が、第２Ｄフリップフロップの第２Ｑバー出力で生成される。シフト済みクロック信号は入来データ信号が印加される論理回路構成へ印加される。この方法の代わりの実施形態では、シフト済みクロック信号は、第２Ｄフリップフロップに着信する前に、直列に接続されている追加のＤフリップフロップの様な追加の回路構成に通されてもよい。
【図面の簡単な説明】
【０００９】
【図１】本発明の或る実施形態による、４象限ミキサ用のローカルオシレータとして使用される４位相クロックを生成するための回路のブロック線図である。
【図２】本発明のもう１つの実施形態による、クロックを並列データに整列させるための方法のフロー図である。
【図３】本発明の更に別の実施形態による、クロックを並列データに整列させるための回路のブロック線図である。
【図４】本発明の更に別の実施形態による、クロックを並列データに整列させるための方法のフロー図である。
【図５】本発明の更に別の実施形態による、クロックを並列データに整列させるための回路のブロック線図である。
【発明を実施するための形態】
【００１０】
位相ロックループ（ＰＬＬ）は、入力として基準信号とフィードバック信号を受信する回路構成要素である。ＰＬＬは、入力信号と同位相である出力信号を生成するが、但し、出力周波数は入力周波数とは異なっていてもよい。例えば、位相ロックループは、入力信号の周波数を逓倍して、より高い周波数の出力信号が作成されるようにしてもよい。入力周波数と出力周波数の差は、固定逓倍器の倍数に基づくものとなる。出力信号は、最終的には、位相ロックループへとフィードバック信号入力を介してフィードバックされて、確実に、基準信号と出力信号の両位相を等しくさせる負のフィードバックループを作り出す。ＰＬＬは、アナログ式又はデジタル式の何れの様式の回路構成要素を使用して実装されていてもよい。遅延ロックループに比べ、ＰＬＬは、より低い電力消費、より頑強な動作、より高い安定性、より低いジッタ、及びより高い信頼性を有することであろう。以下での考察を目的として、ＰＬＬの好適な実装はアナログ実装となっているが、本発明に照らして如何なる適したＰＬＬ又は等価回路を使用してもよい。
【００１１】
Ｄフリップフロップ（ＤＦＦ）は、直列の２つのラッチの役目を果たすデジタル回路構成要素である。ＤＦＦは、データ信号をＤ入力に受信し、クロック信号をクロック入力に受信する。クロック信号の立ち上がりエッジで、ＤＦＦは値をＤ入力からＱ出力まで運ぶ。Ｑ出力は、運ばれた値を、クロック信号の次の立ち上がりエッジまで保持し、その時点では新規値がＤ入力からＱ出力に運ばれる。通常、ＤＦＦは、更に、所与の如何なるときにおいてもＱ出力値の逆数を搬送する非Ｑ出力−「Ｑバー」又は「ＱＢ」出力とも呼ばれる−を有している。ＤＦＦは、外部接続と共に構成して分周器として作動させてもよい。フリップフロップを通した遅延は、更に、出力をクロックに対して位相シフトさせることができる。
【００１２】
図１は、本発明の或る実施形態による、クロックを並列データに整列させるための回路であるシステム１００を描いている。システム１００は、クロックシフティング回路１０と、データクロッキング回路２０を備えている。クロックシフティング回路１０は、入来クロック信号８を受信し、第１のシフト済みクロック信号１２と第２のシフト済みクロック信号１４を出力する。データクロッキング回路２０は、クロックシフティング回路１０からの第１のシフト済みクロック信号１２及び第２のシフト済みクロック信号１４、並びに複数の入来データビット１６を受信する。データクロッキング回路２０は、複数の再クロック済みデータビット１８を出力する。
【００１３】
入来クロック信号８及び複数の入来データビット１６は、より大きな電算システム内の遠隔場所からの信号を搬送しているかもしれない。例えば、入来クロック信号８と複数の入来データビット１６は、遠隔のチップから、システム１００が配設されているチップへ、データバスで送信されることもある。入来クロック信号８と複数の入来データビット１６は、システム１００への着信時に、それらの立ち上がりエッジが一致するように同期化されていてもよい。バッファが、入来クロック８及び複数の入来データビット１６をシステム１００内へと駆動していてもよい。
【００１４】
クロックシフティング回路１０は、ＰＬＬ２、第１ＤＦＦ４、第２ＤＦＦ６、及びバッファ４８を備えている。ＰＬＬ２は、２つの入力、即ち基準入力２４とフィードバック入力２６を有している。ＰＬＬは出力２８を生成する。基準入力２４は、入来クロック信号８を受信する。フィードバック入力２６は、ＤＦＦ６からフィードバックされた信号を受信して、負のフィードバックループを作り出す。ＰＬＬ２は、入来クロック信号８を固定逓倍器で逓倍することにより、修正済みクロック信号を生成する。例えば、固定逓倍器は４であってもよく、そうすると、修正済みクロック信号は、結果的に、入来クロック信号８より４倍大きい周波数を有することになる。ＰＬＬ２は、修正済みクロック信号を出力２８に印加して、クロックシフティング回路１０の他の部分へ送信されるようにする。
【００１５】
ＤＦＦ４は、クロック入力３０、Ｄ入力３２、Ｑ出力３４、及びＱバー出力３６を有している。ＤＦＦ４は、如何なる適切なデジタル論理を使用して実装されていてもよい。クロック入力３０は、出力２８に接続されていて、ＤＦＦ４をクロックする修正済みクロック信号を受信する。Ｑバー出力３６には何も接続されていない。ＤＦＦ６は、クロック入力４０、Ｄ入力４２、Ｑ出力４４、及びＱバー出力４６を有している。ＤＦＦ６は、如何なる適切なデジタル論理を使用して実装されていてもよい。クロック入力４０は、出力２８に接続されていて、ＤＦＦ６をクロックする修正済みクロック信号を受信する。ＤＦＦ４のＱ出力３４は、ＤＦＦ６のＤ入力４２に接続されている。Ｑバー出力４６は、ＤＦＦ４のＤ入力３７にフィードバックされると共に、ＰＬＬ２のフィードバック入力２６にもバッファ４８を通してフィードバックされる。Ｑ出力４４には何も接続されていない。バッファ４８は、ＤＦＦ４とＤＦＦ６を通した信号遅延に整合されることになる。
【００１６】
ＤＦＦ４は、Ｄ入力３２のフィードバックされた信号を、Ｑ出力３４へ、修正済みクロック信号の立ち上がりエッジで運ぶ。こうして、ＤＦＦ４は、修正済みクロック信号の周波数を２で割り、位相をシフトさせて、第１のシフト済みクロック信号１２を生成する。第１のシフト済みクロック信号１２は、入来クロック信号８に対して９０度位相シフトされることになる。ＤＦＦ６のＱバー出力は、第２のシフト済みクロック信号１４を構成しており、第２のシフト済みクロック信号１４は、入来クロック信号８に対して３６０度位相シフトされる−ゼロ度シフトされたことと同じ−ことになる。
【００１７】
データクロッキング回路２０は、第１の真−補数ブロック５０、第２の真−補数クロック５８、及び４象限ミキサ２２を備えている。第１の真−補数ブロック５０は、入力５２、真出力５４、及び補数出力５６を有している。真出力５４は、入力５２に対して何ら位相シフトを持たない信号となろう。補数出力５６は、入力５２に対して１８０度の位相シフトを有する信号となろう。第１の真−補数ブロック５０は、ゲート論理又は他の如何なる適切な論理又は回路構成要素を使用して実装されていてもよい。
【００１８】
第１のシフト済みクロック信号１２は、第１の真−補数ブロック５０の入力５２に接続されている。第１のシフト済みクロック信号１２の９０度位相シフトを所与として、真出力５４は、入来クロック信号８に対して９０度位相シフトされた出力信号を搬送し、補数出力５６は、入来クロック信号８に対して２７０度位相シフトされたもう１つの信号を搬送する。ミキサ２２は、真出力５４と補数出力５６の両方を入力として受信する。
【００１９】
第２の真−補数ブロック５８は、入力６０、真出力６２、及び補数出力６４を有している。真出力６２は、入力６０に対して何ら位相シフトを持たない信号となろう。補数出力６４は、入力６０に対して１８０度の位相シフトを有する信号となろう。第２の真−補数ブロック５８は、ゲート論理又は他の如何なる適切な論理又は回路構成要素を使用して実装されていてもよい。
【００２０】
バッファ４８は、第１の真−補数ブロック５０と第２の真−補数ブロック５８を通した遅延に整合するように、真−補数ブロックとして実装することもできる。この実施形態では、バッファ４８の真出力はフィードバック入力２６に接続されており、バッファ４８の補数出力は不使用である。
【００２１】
第２のシフト済みクロック信号１４は、第２の真−補数ブロック６０の入力６０に接続されている。第２のシフト済みクロック信号１４のゼロ度位相シフトを所与として、真出力６２は、入来クロック信号８に対してゼロ度位相シフトされた出力信号を搬送し、補数出力６４は、入来クロック信号８に対して１８０度位相シフトされたもう１つの信号を搬送する。ミキサ２２は、真出力６２と補数出力６４の両方を入力として受信する。
【００２２】
第１及び第２の真−補数ブロックからの４つの出力は一体で、４象限ミキサ２２を駆動するのに使用されるローカルオシレータを構成することになる。ミキサ２２は、更に、複数の入来データビット１６を受信し、複数の再クロック済みデータビット１８を出力する。この実施形態では、複数の入来データビット１６は、変調信号であるかもしれず、そうすると、ミキサ２２は、ローカルオシレータ入力を使用して、当該変調信号をダウンコンバートし、ダウンコンバート済み信号を再クロック済みデータとして出力することになる。もう１つの実施形態では、ミキサ２２は、位相インターポレータに置き換えられている。
【００２３】
図２は、本発明のもう１つの実施形態による、クロックを並列データに整列させるための例示的な方法２００のフロー図である。説明を目的として、方法２００は、システム１００を使用して行われるが、如何なる他の適切なシステムで行われてもよい。方法２００のステップは、適宜又は必要に応じ、変更され、組み合わされ、細分割され、順序を変えられ、又はそれ以外に並べ換えられてもよく、その場合もなお、本発明の範囲及び精神に包含されることになろう。
【００２４】
ステップ２０２で、ＰＬＬの基準クロック入力が、第１の周波数の入来クロック信号を受信した。ＰＬＬは、ステップ２０４で、第２の周波数の修正済みクロック信号を生成するのに使用される。ＰＬＬは、更に、フィードバック信号Ｑをフィードバック入力に受信する。修正済みクロック信号を生成するため、ＰＬＬは、入来クロック信号を、第２の周波数が第１の周波数より大きくなるように、逓倍する。ＰＬＬは、入来クロック信号を固定逓倍器で逓倍してもよい。
【００２５】
ステップ２０６で、第１ＤＦＦの第１クロック入力は、修正済みクロック信号を受信する。第１ＤＦＦは、更に、フィードバック信号Ｑを第１Ｄ入力に受信する。ステップ２０８で、第１ＤＦＦは、第３の周波数のシフト済みクロック信号を生成する。第３の周波数は、第２の周波数より小さく、シフト済みクロック信号は入来クロック信号に対して位相シフトされている。第３の周波数と第１の周波数は等しいかもしれず、そうすると、シフト済みクロック信号の位相シフトは９０度になろう。
【００２６】
ステップ２１０で、シフト済みクロック信号は、第２ＤＦＦの第２Ｄ入力へ送信される。ステップ２１２で、第２ＤＦＦの第２クロック入力は、修正済みクロック信号を受信する。第２ＤＦＦは、ステップ２１４で、第２ＤＦＦの第２Ｑバー出力にフィードバックＱ信号を生成する。ステップ２１６で、シフト済みクロック信号は、入来データ信号が印加される論理回路構成に印加される。論理回路構成は、如何なる適切なデータクロッキング回路であってもよい。
【００２７】
図３は、本発明の更に別の実施形態による、クロックを並列データに整列させるための回路であるシステム３００を描いている。システム３００は、クロックシフティング回路３１０とデータクロッキング回路３２０を備えている。クロックシフティング回路３１０は、入来クロック信号３０８を受信し、第１のシフト済みクロック信号３１２と第２のシフト済みクロック信号３１４を出力する。データクロッキング回路３２０は、クロックシフティング回路３１０からの第１のシフト済みクロック信号３１２及び第２のシフト済みクロック信号３１４、並びに入来データビット３１６、３１７、及び３１９を受信する。データクロッキング回路３２０は、再クロック済みデータビット３１８、３１９、及び３２３を出力する。
【００２８】
入来クロック信号３０８及び入来データビット３１６は、より大きな電算システム内の遠隔場所からの信号を搬送しているかもしれない。例えば、入来クロック信号３０８と入来データビット３１６は、遠隔のチップから、システム３００が配設されているチップへ、データバスで送信されることもある。入来クロック信号３０８と入来データビット３１６は、システム３００への着信時に、それらの立ち上がりエッジが一致するように同期化されていてもよい。バッファが、入来クロック３０８及び入来データビット３１６をシステム３００内へと駆動していてもよい。
【００２９】
クロックシフティング回路３１０は、ＰＬＬ３０２、複数のＤＦＦ、及びバッファ３４８を備えており、ＤＦＦはその内の第１ＤＦＦ３０４、第２ＤＦＦ３０６、及び最後のＤＦＦ３５０が示されている。ＰＬＬ３０２は、２つの入力、即ち基準入力３２４とフィードバック入力３２６を有している。ＰＬＬ３０２は出力３２８を生成する。基準入力３２４は、入来クロック信号３０８を受信する。フィードバック入力３２６は、最後のＤＦＦ３５０からフィードバックされた信号を受信して、負のフィードバックループを作り出す。ＰＬＬ３０２は、入来クロック信号３０８を固定逓倍器で逓倍することにより、修正済みクロック信号を生成する。例えば、固定逓倍器は４であってもよく、そうすると、修正済みクロック信号は、結果的に、入来クロック信号３０８より４倍大きい周波数を有することになる。ＰＬＬ３０２は、修正済みクロック信号を出力３２８に印加して、クロックシフティング回路３１０の他の部分へ送信されるようにする。
【００３０】
第１ＤＦＦ３０４は、クロック入力３３０、Ｄ入力３３２、Ｑ出力３３４、及びＱバー出力３３６を有している。第１ＤＦＦ３０４は、如何なる適切なデジタル論理を使用して実装されていてもよい。クロック入力３３０は、出力３２８に接続されていて、ＤＦ３０４をクロックする修正済みクロック信号を受信する。Ｑバー出力３３６には何も接続されていない。第２ＤＦＦ３０６は、クロック入力３４０、Ｄ入力３４２、Ｑ出力３４４、及びＱバー出力３４６を有している。第２ＤＦＦ３０６は、如何なる適切なデジタル論理を使用して実装されていてもよい。クロック入力３４０は、出力３２８に接続されていて、ＤＦＦ３０６をクロックする修正済みクロック信号を受信する。ＤＦＦ３０４のＱ出力３３４は、ＤＦＦ３０６のＤ入力３４２に接続されている。ＤＦＦ３０６の後に追加のＤＦＦが直列に接続されていてもよい。それぞれのＤＦＦは、修正済みクロック信号を使用してクロックされているクロック入力と、直列内の前のＤＦＦのＱ出力を受信するＤ入力と、直列内の後続のＤＦＦのＤ入力へ送信するＱ出力と、を有している。
【００３１】
最後のＤＦＦ３５０は、クロック入力３５２、Ｄ入力３５４、Ｑ出力３５６、及びＱバー出力３５８を有している。最後のＤＦＦ３５０は、如何なる適切なデジタル論理を使用して実装されていてもよい。クロック入力３５２は、出力３２８に接続されていて、ＤＦＦ３５０をクロックする修正済みクロック信号を受信する。直列内のＤＦＦ３５０の直前のＤＦＦからのＱ出力は、ＤＦＦ３５０のＤ入力３５４に接続されている。Ｑバー出力３５８は、ＤＦＦ３０４のＤ入力３３２にフィードバックされると共に、ＰＬＬ３０２のフィードバック入力３２６にもバッファ３４８を通してフィードバックされる。Ｑ出力３５６には何も接続されていない。バッファ４８は、直列のＤＦＦを通した総信号遅延に整合されることになる。
【００３２】
第１ＤＦＦ３０４は、Ｄ入力３３２のフィードバックされた信号を、Ｑ出力３３４へ、修正済みクロック信号の立ち上がりエッジで運ぶ。こうして、ＤＦＦ３０４は、修正済みクロック信号の周波数を分割し、位相をシフトさせて、第１のシフト済みクロック信号３１２を生成する。第１のシフト済みクロック信号３１２は、入来クロック信号３０８に対して位相シフトされることになる。ＤＦＦ３０６のＱ出力３４４は、第２のシフト済みクロック信号３１４を構成しており、第２のシフト済みクロック信号３１４は、入来クロック信号３０８に対して位相シフトされることになる。
【００３３】
クロックシフティング回路３１０は、多少にかかわらずデータクロッキング回路３２０によって必要とされるだけのシフト済みクロック信号を生成することができる。所与のシフト済みクロック信号の位相シフトは、入来クロック信号３０８に対し（３６０／２ｎ）χ度となり、ここに、所与のシフト済みクロック信号は、ＤＦＦの直列内のχ番目のＤＦＦであるＤＦＦχの出力Ｑに接続されており、ＤＦＦの直列は合計ｎ個のＤＦＦを有している。例えば、システム３００内に３つのＤＦＦが在る（ＤＦＦ３０６のＱ出力３４４が直接ＤＦＦ３５０のＤ入力３５４に接続されている）とするなら、第１のシフト済みクロック信号３１２は、入来クロック信号３０８に対して６０度（（３６０／２＊３））＊１）位相シフトされ、第２のシフト済みクロック信号３１４は、入来クロック信号３０８に対して１２０度（（３６０／２＊３））＊２）位相シフトされることになるであろう。
【００３４】
データクロッキング回路３２０は、バッファ３６０と３６２、ＤＦＦ３６４、ＤＦＦ３６６、及び例示的なデータ処理ブロック３８４を備えている。データクロッキング回路は、より多くの又は異なる入来データビットに対応するべく他のＤＦＦ又は他のデータ処理ブロックを保有していてもよい。
【００３５】
ＤＦＦ３６４と３６６は、ビット・バイ・ビットデータＤＦＦを表している。ＤＦＦ３６４は、クロック入力３６８、Ｄ入力３７０、Ｑ出力３７２、及びＱバー出力３７４を有している。ＤＦＦ３６４は、如何なる適切なデジタル論理を使用して実装されていてもよい。第１のシフト済みクロック信号３１２は、バッファ３６０で緩衝され、ＤＦＦ３６４をクロックするクロック入力３６８に接続されている。Ｑバー出力３７４には何も接続されていない。入来データビット３１６は、Ｄ入力３７０に接続されている。ＤＦＦ３６４は、入来データビット３１６を、Ｄ入力３７０からＱ出力３７２まで、緩衝された第１のシフト済みクロック信号３１２の立ち上がりエッジで運ぶ。第１のシフト済みクロック信号は、入来クロック信号３０８に対してシフトされているため、入来クロック信号３０８と入来データビット３１６がシステム３００への着信時に同期されていたと仮定すると、ＤＦＦ３６４は、Ｄ入力３７０とクロック入力３６８で一致した立ち上がりエッジを処理しなくてもよくなるであろう。その様な一致した立ち上がりエッジは、ＤＦＦ３６４の論理に破壊を引き起こしかねない。ＤＦＦ３６４は、再クロック済みデータビット３１８をＱ出力３７２へ出力する。
【００３６】
同様に、ＤＦＦ３６６は、クロック入力３７６、Ｄ入力３７８、Ｑ出力３８０、及びＱバー出力３８２を有している。ＤＦＦ３６６は、如何なる適切なデジタル論理を使用して実装されていてもよい。緩衝された第１のシフト済みクロック信号３１２は、ＤＦＦ３６６をクロックするクロック入力３７６に接続されている。Ｑバー出力３７２には何も接続されていない。入来データビット３１７は、Ｄ入力３７８に接続されている。ＤＦＦ３６６は、入来データビット３１７を、Ｄ入力３７８からＱ出力３８０まで、緩衝された第１のシフト済みクロック信号３１２の立ち上がりエッジで運ぶ。ここでも同様に、第１のシフト済みクロック信号は、入来クロック信号３０８に対してシフトされているため、入来クロック信号３０８と入来データビット３１６がシステム３００への着信時に同期されていたと仮定すると、ＤＦＦ３６６は、Ｄ入力３７８とクロック入力３７６で一致した立ち上がりエッジを処理しなくてもよくなるであろう。その様な一致した立ち上がりエッジは、ＤＦＦ３６６の論理に破壊を引き起こしかねない。ＤＦＦ３６６は、再クロック済みデータビット３１９をＱ出力３８０へ出力する。複数の入来データビットは、ビット・バイ・ビットＤＦＦ内で、ＤＦＦ３６４と３６６がデータビット３１６と３１７を再クロックするのと同じ様式で再クロックされることになる。
【００３７】
第２のシフトされたクロック信号３１４は、バッファ３６２で緩衝され、データクロッキング回路３２０内で第１のシフトされたクロック信号３１２とは異なった使われ方をしてもよい。バッファ３６０と３６２は、互いに整合されていてもよい。
【００３８】
例えば、データ処理ブロック３８４は、データ記憶装置、算術演算、論理演算、シフティング、又はフィルタリングの様な、如何なる処理であれ必要なデータ処理を実施してもよい。データ処理ブロック３８４は、入来データビット３２２を受信し、緩衝された第２のシフト済みクロック信号３１４をクロック入力３８６に受信する。データ処理ブロック３８４は、入来データビット３２２についてデータ演算を行った後、再クロック済みデータビット３２３を出力する。
【００３９】
図４は、本発明の更に別の実施形態による、クロックを並列データに整列させるための方法４００のフロー図である。方法４００は、方法２００のステップ２１０の「シフト済みクロック信号を第２ＤＦＦの第２入力に送信する段階」の或る代わりの実施形態である。方法４００は、システム３００、より厳密にはクロックシフティング回路３１０を使用して行われてもよいし、又は如何なる適切なシステムを使用して行われてもよい。方法４００のステップは、適宜又は必要に応じ、変更され、組み合わされ、細分割され、順序を変えられ、又はそれ以外に並べ換えられてもよく、その場合もなお、本発明の範囲及び精神に包含されることになろう。
【００４０】
方法４００は、クロックシフティング回路内に直列に接続されている複数のＤＦＦを通しての信号の送信を詳説している。方法４００の中で言及されている複数のＤＦＦは、方法２００の中で説明されている第１ＤＦＦと第２ＤＦＦの間に配置されるであろう。ステップ４０２で、それぞれのＤＦＦのクロック入力は、当該のＤＦＦをクロックする修正されたクロック信号を受信する。複数のＤＦＦの中の最初のＤＦＦが、ステップ４０４で、（方法２００の第１ＤＦＦからの）シフト済みクロック信号をＤ入力に受信する。ステップ４０６で、複数のＤＦＦのぞれぞれのＤＦＦは、そのＱ出力からの信号を、複数のＤＦＦの次のＤＦＦのＤ入力へ送信する。上記次のＤＦＦを、後続のＤＦＦと呼んでもよい。複数のＤＦＦの中の最後のＤＦＦが、ステップ４０８で、最後のＱ信号を、そのＱ出力から、方法２００の第２ＤＦＦの第２Ｄ入力へ送信する。
【００４１】
図５は、本発明の更に別の実施形態による、クロックを並列データに整列させるためのシステム５００を描いている。システム５００は、クロックシフティング回路５１０とデータクロッキング回路５２０を備えている。クロックシフティング回路５１０は、入来クロック信号５０８を受信し、第１のシフト済みクロック信号５１２と第２のシフト済みクロック信号５１４を出力する。データクロッキング回路５２０は、クロックシフティング回路５１０からの第１のシフト済みクロック信号５１２及び第２のシフト済みクロック信号５１４、並びに例示的な入来データビット５１６を受信する。データクロッキング回路５２０は、例示的な再クロック済みデータビット５１８を出力する。
【００４２】
入来クロック信号５０８と例示的な入来データビット５１６は、より大きな電算システム内の遠隔場所からの信号を搬送しているかもしれない。例えば、入来クロック信号５０８と例示的な入来データビット５１６は、遠隔のチップから、システム５００が配設されているチップへ、データバスで送信されることもある。入来クロック信号５０８と例示的な入来データビット５１６は、システム５００への着信時に、それらの立ち上がりエッジが一致するように同期化されていてもよい。バッファが、入来クロック５０８及び入来データビット５１６をシステム５００内へと駆動していてもよい。
【００４３】
クロックシフティング回路５１０は、ＰＬＬ５０２、第１ＤＦＦ５０４、分割組み合わせ論理ブロック５２２、第２ＤＦＦ５０６、及びバッファ５４８を備えている。ＰＬＬ５０２は、２つの入力、即ち、基準入力５２４とフィードバック入力５２６を有している。ＰＬＬ５０２は、出力５２８を生成する。基準入力５２４は、入来クロック信号５０８を受信する。フィードバック入力５２６は、第２ＤＦＦ５０６からフィードバックされた信号を受信して、負のフィードバックループを作り出す。ＰＬＬ５０２は、入来クロック信号５０８を固定逓倍器で逓倍することにより、修正済みクロック信号を生成する。例えば、固定逓倍器は４であってもよく、そうすると、修正済みクロック信号は、結果的に、入来クロック信号５０８より４倍大きい周波数を有することになる。ＰＬＬ５０２は、修正済みクロック信号を出力５２８に印加して、クロックシフティング回路５１０の他の部分へ送信されるようにする。
【００４４】
第１ＤＦＦ５０４は、クロック入力５３０、Ｄ入力５３２、Ｑ出力５３４、及びＱバー出力５３６を有している。第１ＤＦＦ５０４は、如何なる適切なデジタル論理を使用して実装されていてもよい。クロック入力５３０は、出力５２８に接続されていて、ＤＦＦ５０４をクロックする修正済みクロック信号を受信する。
【００４５】
分割組み合わせ論理ブロック５２２は、クロックシフティング回路５１０のＤＦＦ５０４とＤＦＦ５０６の間に配置されている。分割組み合わせ論理ブロック５２２は、ＤＦＦ５０４及びＰＬＬ５０２からの入力を受信し、ＤＦＦ５０６への少なくとも１つの出力を生成する。
【００４６】
第２ＤＦＦ５０６は、クロック入力５４０、Ｄ入力５４２、Ｑ出力５４４、及びＱバー出力５４６を有している。第２ＤＦＦ５０６は、如何なる適切なデジタル論理を使用して実装されていてもよい。クロック回路５４０は、出力５２８に接続されていて、ＤＦＦ５０６をクロックする、修正されたクロック信号を受信する。Ｑバー出力５４６は、ＤＦＦ５０４のＤ入力５３２にフィードバックされると共に、ＰＬＬ５０２のフィードバック入力５２６にもバッファ５４８を通してフィードバックされる。バッファ５４８は、ＤＦＦ５０４、分割組み合わせ論理ブロック５２２、及びＤＦＦ５０６を通した総信号遅延に整合されることになる。
【００４７】
第１ＤＦＦ５０４は、Ｄ入力５３２のフィードバックされた信号を、Ｑ出力５４へ、修正済みクロック信号の立ち上がりエッジで運ぶ。こうして、ＤＦＦ５０４は、修正済みクロック信号の周波数を分割し、位相をシフトさせて、第１のシフト済みクロック信号５１２を生成する。第１のシフト済みクロック信号５１２は、入来クロック信号５０８に対して位相シフトされることになる。
【００４８】
分割組み合わせ論理ブロック５２２は、如何なる信号分割又は他の適切な論理演算を備えていてもよい。分割組み合わせ論理ブロック５２２は、シングル・スケール・インテグレーション（ＳＳＩ）論理ゲートを用いて実装されているのが望ましい。図５に示されている様に、分割組み合わせブロック５２２は、インバータ５５０とＮＯＲゲート５５２によって実装されている３分割回路であってもよい。ＮＯＲゲート５５２は、２つの入力５５４と５５６に対してノット・オア論理演算を行って、出力５５８を生み出す。インバータ５５０は、修正済みクロック信号の逆数をＮＯＲゲート５５２の入力５５４に印加する。ＤＦＦ５０４のＱバー出力５３６は、ＮＯＲゲート５５２の入力５５６に接続されている。ＮＯＲゲート５５２の出力５５８は、ＤＦＦ５０６のＤ入力５４２に接続されている。分割組み合わせ論理ブロック５２２の３分割回路を用いた場合、第１のシフト済みクロック信号５１２は、入来クロック信号５０８に対して１２０度位相シフトされる。
【００４９】
第２ＤＦＦ５０６は、Ｄ入力５４２のＮＯＲゲート出力５５８を、Ｑ出力５４４へ、修正済みクロック信号の立ち上がりエッジで運ぶ。こうして、ＤＦＦ５０６は、修正済みクロック信号の周波数を分割し、位相をシフトさせて、第２のシフト済みクロック信号５１４を生成する。第２のシフト済みクロック信号５１４は、入来クロック信号５０８に対して位相シフトされることになる。分割組み合わせ論理ブロック５２２の３分割回路を用いた場合、第２のシフト済みクロック信号５１４は、入来クロック信号５０８に対して２４０度位相シフトされる。
【００５０】
クロックシフティング回路５１０は、多少にかかわらずデータクロッキング回路５２０によって必要とされるだけのシフト済みクロック信号を生成することができる。図５に示されているデータクロッキング回路５２０の当該部分は、例示的な入来データビット５１６に演算を行って再クロック済みデータビット５１８を生み出すため、バッファ５６０と一対のＤＦＦ、即ちＤＦＦ５６４とＤＦＦ５６６、並びにバッファ５８４を備えている。第２のシフト済みクロック信号５１４は、バッファ５６２で緩衝され、図５には示されていないデータクロッキング回路の部分で使用されることになる。
【００５１】
ＤＦＦ５６４は、クロック入力５６８、Ｄ入力５７０、Ｑ出力５７２、及びＱバー出力５７４を有している。ＤＦＦ５６４は、如何なる適切なデジタル論理を使用して実装されていてもよい。第１のシフト済みクロック信号５１２は、バッファ５６０で緩衝され、ＤＦＦ５６４をクロックするクロック入力５６８に接続されている。Ｑバー出力５７４には何も接続されていない。例示的な入来データビット５１６は、Ｄ入力５７０に接続されている。ＤＦＦ５６４は、入来データビット５１６を、Ｄ入力５７０からＱ出力５７２まで、緩衝された第１のシフト済みクロック信号５１２の立ち上がりエッジで運ぶ。第１のシフト済みクロック信号は、入来クロック信号５０８に対してシフトされているので、入来クロック信号５０８と入来データビット５１６がシステム５００への着信時に同期されていたと仮定すると、ＤＦＦ５６４は、Ｄ入力５７０とクロック入力５６８で一致した立ち上がりエッジを処理しなくてもよくなるであろう。その様な一致した立ち上がりエッジは、ＤＦＦ５６４の論理に破壊を引き起こしかねない。ＤＦＦ５６４は、バッファ５８４の１つの入力に接続されているＱ出力３７２へ出力する。
【００５２】
同様に、ＤＦＦ５６６は、クロック入力５７６、Ｄ入力５７８、Ｑ出力５８０、及びＱバー出力５８２を有している。ＤＦＦ５６６は、如何なる適切なデジタル論理を使用して実装されていてもよい。緩衝された第１のシフト済みクロック信号５１２は、クロック入力５７６に接続され、同入力は、ＤＦＦ５６６をクロックするべく反転される。Ｑバー出力５８２には何も接続されていない。例示的な入来データビット３１６は、Ｄ入力５７８に接続されている。ＤＦＦ５６６は、例示的な入来データビット５１６を、Ｄ入力５７８から、Ｑ出力５８０へ、クロック入力５７６のインバータによる緩衝された第１のシフト済みクロック信号５１２の立ち下がりエッジで運ぶ。ここでも同様に、第１のシフト済みクロック信号は入来クロック信号５０８に対してシフトされているため、入来クロック信号５０８と例示的な入来データビット５１６がシステム５００への着信時に同期していたと仮定すると、ＤＦＦ５６６は、Ｄ入力５７８とクロック入力５７６で一致した立ち上がりエッジを処理しなくてもよくなるであろう。その様な一致した立ち上がりエッジは、ＤＦＦ５６６の論理に破壊を引き起こしかねない。ＤＦＦ５６６は、Ｑ出力５８０へ出力する。Ｑ出力５８０は、バッファ５８４の第２の入力に接続されている。バッファ５８４は、入力としてＱ出力５７２及びＱ出力５８０を取り、バッファ５６０を通しての遅延に整合されて、例示的な再クロック済みデータビット５１８を生成する。複数の入来データビットは、ＤＦＦ対によるビット・バイ・ビットで、ＤＦＦ５６４とＤＦＦ５６６が例示的な入来データビット５１６を再クロックするのと同じ様式で再クロックされることになる。
【００５３】
ここに説明されている上記及び他の配設及び要素は、例示のみを目的として記載されているものであって、他の配設又は要素（例えば、機械、インターフェース、機能、及び要素の順序）を追加するか又は代わりに使用することもできるし、また、幾つかの要素をまとめて省略してもよいものと理解されたい。具体的には、チップ又はシステムの他の機能の必要に応じて、異なるクロックシフティング回路が異なるデータクロッキング回路と対にされてもよい。更に、殆どの回路がそうである様に、当業者には、ここに説明されている要素の多くは、個別の構成要素として、又は如何なる適した組み合わせ及び場所であってもよいが他の構成要素と連携させて、実装することができる機能的エンティティであることが理解されよう。
【符号の説明】
【００５４】
２  ＰＬＬ
４、６  ＤＦＦ
８  入来クロック信号
１０  クロックシフティング回路
１２、１４  シフト済みクロック信号
１６  入来データビット
１８  再クロック済みデータビット
２０  データクロッキング回路
２２  ４象限ミキサ
４８  バッファ
５０、５８  真−補数ブロック
１００  システム
３００  システム
３０２  ＰＬＬ
３０４、３０６、３５０、３６４、３６６  ＤＦＦ
３０８  入来クロック信号
３１０  クロックシフティング回路
３１２、３１４  シフト済みクロック信号
３１６、３１７、３１９  入来データビット
３１８、３１９、３２３  再クロック済みデータビット
３２０  データクロッキング回路
３４８、３６０、３６２  バッファ
３８４  例示的なデータ処理ブロック
５００  システム
５０２ＰＬＬ
５０４、５０６、５６４、５６６  ＤＦＦ
５０８  入来クロック信号
５１０  クロックシフティング回路
５１２、５１４  シフト済みクロック信号
５１６  入来データビット
５１８  再クロック済みデータビット
５２０  データクロッキング回路
５２２  分割組み合わせ論理ブロック
５４８、５６０、５６２、５８４  バッファ
【図１】
2010283816.tif 000003
【図２】
2010283816.tif 000004
【図３】
2010283816.tif 000005
【図４】
2010283816.tif 000006
【図５】
2010283816.tif 000007
【外国語明細書】
2010283816000001.pdf