説明

クロックを並列データに整列させるための回路

【課題】クロック信号を並列データに整列させるための方法を提供する。
【解決手段】クロックシフティング回路10は、入来クロック信号8を入来データ信号16に対してシフトし、データクロッキング回路20は、シフト済みクロック信号を使用して、入来データ信号16を再クロックする。クロックシフティング回路10は、位相ロックループ回路2に直列に接続されている複数のDフリップフロップ回路4,6を連結して備える。データクロッキング回路20は、それぞれの入来データビット16を受信し、ミキサ22に対するローカルオシレータとして働く真−補数ブロック50,58を備える。複数のシフト済みクロック信号62,54,64,56は、入来クロック信号16に対して90度、180度、及び270度シフトされたものなど、が生み出される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、クロック信号を並列データに整列させるための方法とシステムに関する。
【背景技術】
【0002】
デジタルシステム内の場所と場所の間で並列データが送られるとき、通常は、関係付けられたクロック信号が別の経路で送られる。データ信号クロック信号の双方が受信側の場所に着信するとき、クロック信号の立ち上がりエッジが、データ信号の立ち上がりエッジと一致することがあるかもしれない。受信側の場所では、データ信号を、それら立ち上がりエッジが一致した状態で処理するのは難しいことがある。この問題を克服するべく、データは、クロックの位相をデータの位相に対してシフトすることによってタイミング再設定が図られることがある。
【0003】
クロック信号のタイミング再設定を図るには、遅延ロックループを使用してもよかろう。しかしながら、遅延ロックループは、全ての開発ライブラリで利用可能になっているとは限らないかもしれない。また、遅延ロックループは、電力消費が高く、温度範囲の様な作動パラメータが逼迫することもある。遅延ロックループのタイミング再設定回路は、更に、クロック信号にジッタを持ちこむこともある。
【発明の概要】
【0004】
本発明の1つの実施形態では、クロック信号とデータ信号を整列させるためのシステムが開示されている。本システムは、クロックシフティング回路とデータクロッキング回路に分かれる。クロックシフティング回路は、入来クロック信号を受信し、シフト済みクロック信号を出力する。データクロッキング回路は、複数の入来データビットを受信すると共に、クロックシフティング回路からはシフト済み信号を受信し、再クロック済みデータビットを出力する。クロックシフティング回路は、基準入力、フィードバック入力、及びPLL出力を有する位相ロックループ(PLL)と、直列に接続されている複数のn個のDフリップフロップと、を備えている。入来クロック信号は、PLLの基準入力に接続されている。直列に接続されている複数のn個のDフリップフロップでは、それぞれのDフリップフロップは、D入力、クロック入力、Q出力、及びQバー出力を有している。PLL出力は、Dフリップフロップ1つ1つのクロック入力に接続されており、DフリップフロップのQ出力は、直列内の後続のDフリップフロップのD入力に接続されている。直列内の最後のDフリップフロップのQバー出力は、直列内の第1DフリップフロップのD入力に接続されている。直列内の最後のDフリップフロップのQバー出力は、更に、緩衝され、PLLのフィードバック入力へ接続されている。
【0005】
もう1つの実施形態では、クロックシフティング回路とデータクロッキング回路を備えている、クロック信号とデータ信号を整列させるためのもう1つのシステムが開示されている。クロックシフティング回路は、入来クロック信号を受信し、出力として、第1のシフト済みクロック信号と第2のシフト済みクロック信号を生成する。データクロッキング回路は、第1及び第2のシフト済みクロック信号と複数の入来データビットを受信し、複数の再クロック済みデータビットを出力する。クロックシフティング回路は、基準入力、フィードバック入力、及びPLL出力を有する位相ロックループ(PLL)と、第1D入力、第1クロック入力、第1Q出力、及び第1Qバー出力を有する第1Dフリップフロップと、分割組み合わせ論理ブロックと、第2D入力、第2クロック入力、第2Q出力、及び第2Qバー出力を有する第2Dフリップフロップと、を備えている。入来クロック信号は、基準入力に接続されている。
【0006】
この実施形態では、PLL出力は、第1Dフリップフロップの第1クロック入力に接続されており、第1Dフリップフロップの第1Q出力は、第1シフト済みクロック信号となる。分割組み合わせ論理ブロックは、少なくとも1つの入力を第1Dフリップフロップから受信し、少なくとも1つの出力を生成する。PLL出力は、第2Dフリップフロップの第2クロック入力にも接続され、分割組み合わせ論理ブロックの出力は、第2Dフリップフロップの第2D入力に接続されている。第2Qバー出力は、第1D入力に接続されている。加えて、第2Dフリップフロップの第2Qバー出力は、緩衝され、PLLのフィードバック入力に接続されており、第2Qバー出力は、更に、第2のシフト済みクロック信号となる。
【0007】
更なる実施形態は、データクロッキング回路の様々な構成を含んでいる。例えば、データクロッキング回路は、それぞれがD入力とクロック入力とQ出力を有する複数のDフリップフロップであって、それぞれの入来データビットが1つのDフリップフロップのD入力に接続されている様な回路であってもよい。シフト済みクロック信号は、複数のDフリップフロップ全てのクロック入力に接続されており、複数のDフリップフロップのQ出力は再クロック済みデータビットとなる。代わりに、データクロッキング回路は、D入力とクロック入力とQ出力を有するDフリップフロップを対毎に2つずつ備えた複数のDフリップフロップ対を備えていてもよい。この構成では、それぞれの入来データビットは、1つのDフリップフロップ対の両方のD入力に接続されており、クロック入力の対のうち一方は、シフト済みクロック信号に接続され、クロック入力の当該対の他方は、反転シフト済みクロック信号に接続されている。Q出力の対は一体で単一の再クロック済みデータビットを構成している。他のデータクロッキング回路構成としては、多種多様な位相シフト済みクロック信号を作成するべく真−補数ブロックを含んでいてもよい。
【0008】
更に別の実施形態では、クロック信号とデータ信号を整列させる方法が開示されている。第1の周波数の入来クロック信号がPLLに受信される。PLLを使用して、第2の周波数の修正済みクロック信号が生成される。PLLは更に、フィードバックQ信号をフィードバック入力に受信し、入来クロック信号を、第2の周波数が第1の周波数より大きくなるように、逓倍する。修正済みクロック信号は、次に、第1Dフリップフロップの第1クロック入力に受信され、第1Dフリップフロップは、更に、フィードバックQ信号を第1D入力に受信する。第1Dフリップフロップを使用して、第3の周波数のシフト済みクロック信号が生成される。第3の周波数は第2の周波数より小さく、シフト済みクロック信号は入来クロック信号に対して位相シフトされている。シフト済みクロック信号は、第2Dフリップフロップの第2D入力に送信される。修正済みクロック信号が、第2Dフリップフロップの第2クロック入力に受信される。フィードバックQ信号が、第2Dフリップフロップの第2Qバー出力で生成される。シフト済みクロック信号は入来データ信号が印加される論理回路構成へ印加される。この方法の代わりの実施形態では、シフト済みクロック信号は、第2Dフリップフロップに着信する前に、直列に接続されている追加のDフリップフロップの様な追加の回路構成に通されてもよい。
【図面の簡単な説明】
【0009】
【図1】本発明の或る実施形態による、4象限ミキサ用のローカルオシレータとして使用される4位相クロックを生成するための回路のブロック線図である。
【図2】本発明のもう1つの実施形態による、クロックを並列データに整列させるための方法のフロー図である。
【図3】本発明の更に別の実施形態による、クロックを並列データに整列させるための回路のブロック線図である。
【図4】本発明の更に別の実施形態による、クロックを並列データに整列させるための方法のフロー図である。
【図5】本発明の更に別の実施形態による、クロックを並列データに整列させるための回路のブロック線図である。
【発明を実施するための形態】
【0010】
位相ロックループ(PLL)は、入力として基準信号とフィードバック信号を受信する回路構成要素である。PLLは、入力信号と同位相である出力信号を生成するが、但し、出力周波数は入力周波数とは異なっていてもよい。例えば、位相ロックループは、入力信号の周波数を逓倍して、より高い周波数の出力信号が作成されるようにしてもよい。入力周波数と出力周波数の差は、固定逓倍器の倍数に基づくものとなる。出力信号は、最終的には、位相ロックループへとフィードバック信号入力を介してフィードバックされて、確実に、基準信号と出力信号の両位相を等しくさせる負のフィードバックループを作り出す。PLLは、アナログ式又はデジタル式の何れの様式の回路構成要素を使用して実装されていてもよい。遅延ロックループに比べ、PLLは、より低い電力消費、より頑強な動作、より高い安定性、より低いジッタ、及びより高い信頼性を有することであろう。以下での考察を目的として、PLLの好適な実装はアナログ実装となっているが、本発明に照らして如何なる適したPLL又は等価回路を使用してもよい。
【0011】
Dフリップフロップ(DFF)は、直列の2つのラッチの役目を果たすデジタル回路構成要素である。DFFは、データ信号をD入力に受信し、クロック信号をクロック入力に受信する。クロック信号の立ち上がりエッジで、DFFは値をD入力からQ出力まで運ぶ。Q出力は、運ばれた値を、クロック信号の次の立ち上がりエッジまで保持し、その時点では新規値がD入力からQ出力に運ばれる。通常、DFFは、更に、所与の如何なるときにおいてもQ出力値の逆数を搬送する非Q出力−「Qバー」又は「QB」出力とも呼ばれる−を有している。DFFは、外部接続と共に構成して分周器として作動させてもよい。フリップフロップを通した遅延は、更に、出力をクロックに対して位相シフトさせることができる。
【0012】
図1は、本発明の或る実施形態による、クロックを並列データに整列させるための回路であるシステム100を描いている。システム100は、クロックシフティング回路10と、データクロッキング回路20を備えている。クロックシフティング回路10は、入来クロック信号8を受信し、第1のシフト済みクロック信号12と第2のシフト済みクロック信号14を出力する。データクロッキング回路20は、クロックシフティング回路10からの第1のシフト済みクロック信号12及び第2のシフト済みクロック信号14、並びに複数の入来データビット16を受信する。データクロッキング回路20は、複数の再クロック済みデータビット18を出力する。
【0013】
入来クロック信号8及び複数の入来データビット16は、より大きな電算システム内の遠隔場所からの信号を搬送しているかもしれない。例えば、入来クロック信号8と複数の入来データビット16は、遠隔のチップから、システム100が配設されているチップへ、データバスで送信されることもある。入来クロック信号8と複数の入来データビット16は、システム100への着信時に、それらの立ち上がりエッジが一致するように同期化されていてもよい。バッファが、入来クロック8及び複数の入来データビット16をシステム100内へと駆動していてもよい。
【0014】
クロックシフティング回路10は、PLL2、第1DFF4、第2DFF6、及びバッファ48を備えている。PLL2は、2つの入力、即ち基準入力24とフィードバック入力26を有している。PLLは出力28を生成する。基準入力24は、入来クロック信号8を受信する。フィードバック入力26は、DFF6からフィードバックされた信号を受信して、負のフィードバックループを作り出す。PLL2は、入来クロック信号8を固定逓倍器で逓倍することにより、修正済みクロック信号を生成する。例えば、固定逓倍器は4であってもよく、そうすると、修正済みクロック信号は、結果的に、入来クロック信号8より4倍大きい周波数を有することになる。PLL2は、修正済みクロック信号を出力28に印加して、クロックシフティング回路10の他の部分へ送信されるようにする。
【0015】
DFF4は、クロック入力30、D入力32、Q出力34、及びQバー出力36を有している。DFF4は、如何なる適切なデジタル論理を使用して実装されていてもよい。クロック入力30は、出力28に接続されていて、DFF4をクロックする修正済みクロック信号を受信する。Qバー出力36には何も接続されていない。DFF6は、クロック入力40、D入力42、Q出力44、及びQバー出力46を有している。DFF6は、如何なる適切なデジタル論理を使用して実装されていてもよい。クロック入力40は、出力28に接続されていて、DFF6をクロックする修正済みクロック信号を受信する。DFF4のQ出力34は、DFF6のD入力42に接続されている。Qバー出力46は、DFF4のD入力37にフィードバックされると共に、PLL2のフィードバック入力26にもバッファ48を通してフィードバックされる。Q出力44には何も接続されていない。バッファ48は、DFF4とDFF6を通した信号遅延に整合されることになる。
【0016】
DFF4は、D入力32のフィードバックされた信号を、Q出力34へ、修正済みクロック信号の立ち上がりエッジで運ぶ。こうして、DFF4は、修正済みクロック信号の周波数を2で割り、位相をシフトさせて、第1のシフト済みクロック信号12を生成する。第1のシフト済みクロック信号12は、入来クロック信号8に対して90度位相シフトされることになる。DFF6のQバー出力は、第2のシフト済みクロック信号14を構成しており、第2のシフト済みクロック信号14は、入来クロック信号8に対して360度位相シフトされる−ゼロ度シフトされたことと同じ−ことになる。
【0017】
データクロッキング回路20は、第1の真−補数ブロック50、第2の真−補数クロック58、及び4象限ミキサ22を備えている。第1の真−補数ブロック50は、入力52、真出力54、及び補数出力56を有している。真出力54は、入力52に対して何ら位相シフトを持たない信号となろう。補数出力56は、入力52に対して180度の位相シフトを有する信号となろう。第1の真−補数ブロック50は、ゲート論理又は他の如何なる適切な論理又は回路構成要素を使用して実装されていてもよい。
【0018】
第1のシフト済みクロック信号12は、第1の真−補数ブロック50の入力52に接続されている。第1のシフト済みクロック信号12の90度位相シフトを所与として、真出力54は、入来クロック信号8に対して90度位相シフトされた出力信号を搬送し、補数出力56は、入来クロック信号8に対して270度位相シフトされたもう1つの信号を搬送する。ミキサ22は、真出力54と補数出力56の両方を入力として受信する。
【0019】
第2の真−補数ブロック58は、入力60、真出力62、及び補数出力64を有している。真出力62は、入力60に対して何ら位相シフトを持たない信号となろう。補数出力64は、入力60に対して180度の位相シフトを有する信号となろう。第2の真−補数ブロック58は、ゲート論理又は他の如何なる適切な論理又は回路構成要素を使用して実装されていてもよい。
【0020】
バッファ48は、第1の真−補数ブロック50と第2の真−補数ブロック58を通した遅延に整合するように、真−補数ブロックとして実装することもできる。この実施形態では、バッファ48の真出力はフィードバック入力26に接続されており、バッファ48の補数出力は不使用である。
【0021】
第2のシフト済みクロック信号14は、第2の真−補数ブロック60の入力60に接続されている。第2のシフト済みクロック信号14のゼロ度位相シフトを所与として、真出力62は、入来クロック信号8に対してゼロ度位相シフトされた出力信号を搬送し、補数出力64は、入来クロック信号8に対して180度位相シフトされたもう1つの信号を搬送する。ミキサ22は、真出力62と補数出力64の両方を入力として受信する。
【0022】
第1及び第2の真−補数ブロックからの4つの出力は一体で、4象限ミキサ22を駆動するのに使用されるローカルオシレータを構成することになる。ミキサ22は、更に、複数の入来データビット16を受信し、複数の再クロック済みデータビット18を出力する。この実施形態では、複数の入来データビット16は、変調信号であるかもしれず、そうすると、ミキサ22は、ローカルオシレータ入力を使用して、当該変調信号をダウンコンバートし、ダウンコンバート済み信号を再クロック済みデータとして出力することになる。もう1つの実施形態では、ミキサ22は、位相インターポレータに置き換えられている。
【0023】
図2は、本発明のもう1つの実施形態による、クロックを並列データに整列させるための例示的な方法200のフロー図である。説明を目的として、方法200は、システム100を使用して行われるが、如何なる他の適切なシステムで行われてもよい。方法200のステップは、適宜又は必要に応じ、変更され、組み合わされ、細分割され、順序を変えられ、又はそれ以外に並べ換えられてもよく、その場合もなお、本発明の範囲及び精神に包含されることになろう。
【0024】
ステップ202で、PLLの基準クロック入力が、第1の周波数の入来クロック信号を受信した。PLLは、ステップ204で、第2の周波数の修正済みクロック信号を生成するのに使用される。PLLは、更に、フィードバック信号Qをフィードバック入力に受信する。修正済みクロック信号を生成するため、PLLは、入来クロック信号を、第2の周波数が第1の周波数より大きくなるように、逓倍する。PLLは、入来クロック信号を固定逓倍器で逓倍してもよい。
【0025】
ステップ206で、第1DFFの第1クロック入力は、修正済みクロック信号を受信する。第1DFFは、更に、フィードバック信号Qを第1D入力に受信する。ステップ208で、第1DFFは、第3の周波数のシフト済みクロック信号を生成する。第3の周波数は、第2の周波数より小さく、シフト済みクロック信号は入来クロック信号に対して位相シフトされている。第3の周波数と第1の周波数は等しいかもしれず、そうすると、シフト済みクロック信号の位相シフトは90度になろう。
【0026】
ステップ210で、シフト済みクロック信号は、第2DFFの第2D入力へ送信される。ステップ212で、第2DFFの第2クロック入力は、修正済みクロック信号を受信する。第2DFFは、ステップ214で、第2DFFの第2Qバー出力にフィードバックQ信号を生成する。ステップ216で、シフト済みクロック信号は、入来データ信号が印加される論理回路構成に印加される。論理回路構成は、如何なる適切なデータクロッキング回路であってもよい。
【0027】
図3は、本発明の更に別の実施形態による、クロックを並列データに整列させるための回路であるシステム300を描いている。システム300は、クロックシフティング回路310とデータクロッキング回路320を備えている。クロックシフティング回路310は、入来クロック信号308を受信し、第1のシフト済みクロック信号312と第2のシフト済みクロック信号314を出力する。データクロッキング回路320は、クロックシフティング回路310からの第1のシフト済みクロック信号312及び第2のシフト済みクロック信号314、並びに入来データビット316、317、及び319を受信する。データクロッキング回路320は、再クロック済みデータビット318、319、及び323を出力する。
【0028】
入来クロック信号308及び入来データビット316は、より大きな電算システム内の遠隔場所からの信号を搬送しているかもしれない。例えば、入来クロック信号308と入来データビット316は、遠隔のチップから、システム300が配設されているチップへ、データバスで送信されることもある。入来クロック信号308と入来データビット316は、システム300への着信時に、それらの立ち上がりエッジが一致するように同期化されていてもよい。バッファが、入来クロック308及び入来データビット316をシステム300内へと駆動していてもよい。
【0029】
クロックシフティング回路310は、PLL302、複数のDFF、及びバッファ348を備えており、DFFはその内の第1DFF304、第2DFF306、及び最後のDFF350が示されている。PLL302は、2つの入力、即ち基準入力324とフィードバック入力326を有している。PLL302は出力328を生成する。基準入力324は、入来クロック信号308を受信する。フィードバック入力326は、最後のDFF350からフィードバックされた信号を受信して、負のフィードバックループを作り出す。PLL302は、入来クロック信号308を固定逓倍器で逓倍することにより、修正済みクロック信号を生成する。例えば、固定逓倍器は4であってもよく、そうすると、修正済みクロック信号は、結果的に、入来クロック信号308より4倍大きい周波数を有することになる。PLL302は、修正済みクロック信号を出力328に印加して、クロックシフティング回路310の他の部分へ送信されるようにする。
【0030】
第1DFF304は、クロック入力330、D入力332、Q出力334、及びQバー出力336を有している。第1DFF304は、如何なる適切なデジタル論理を使用して実装されていてもよい。クロック入力330は、出力328に接続されていて、DF304をクロックする修正済みクロック信号を受信する。Qバー出力336には何も接続されていない。第2DFF306は、クロック入力340、D入力342、Q出力344、及びQバー出力346を有している。第2DFF306は、如何なる適切なデジタル論理を使用して実装されていてもよい。クロック入力340は、出力328に接続されていて、DFF306をクロックする修正済みクロック信号を受信する。DFF304のQ出力334は、DFF306のD入力342に接続されている。DFF306の後に追加のDFFが直列に接続されていてもよい。それぞれのDFFは、修正済みクロック信号を使用してクロックされているクロック入力と、直列内の前のDFFのQ出力を受信するD入力と、直列内の後続のDFFのD入力へ送信するQ出力と、を有している。
【0031】
最後のDFF350は、クロック入力352、D入力354、Q出力356、及びQバー出力358を有している。最後のDFF350は、如何なる適切なデジタル論理を使用して実装されていてもよい。クロック入力352は、出力328に接続されていて、DFF350をクロックする修正済みクロック信号を受信する。直列内のDFF350の直前のDFFからのQ出力は、DFF350のD入力354に接続されている。Qバー出力358は、DFF304のD入力332にフィードバックされると共に、PLL302のフィードバック入力326にもバッファ348を通してフィードバックされる。Q出力356には何も接続されていない。バッファ48は、直列のDFFを通した総信号遅延に整合されることになる。
【0032】
第1DFF304は、D入力332のフィードバックされた信号を、Q出力334へ、修正済みクロック信号の立ち上がりエッジで運ぶ。こうして、DFF304は、修正済みクロック信号の周波数を分割し、位相をシフトさせて、第1のシフト済みクロック信号312を生成する。第1のシフト済みクロック信号312は、入来クロック信号308に対して位相シフトされることになる。DFF306のQ出力344は、第2のシフト済みクロック信号314を構成しており、第2のシフト済みクロック信号314は、入来クロック信号308に対して位相シフトされることになる。
【0033】
クロックシフティング回路310は、多少にかかわらずデータクロッキング回路320によって必要とされるだけのシフト済みクロック信号を生成することができる。所与のシフト済みクロック信号の位相シフトは、入来クロック信号308に対し(360/2n)χ度となり、ここに、所与のシフト済みクロック信号は、DFFの直列内のχ番目のDFFであるDFFχの出力Qに接続されており、DFFの直列は合計n個のDFFを有している。例えば、システム300内に3つのDFFが在る(DFF306のQ出力344が直接DFF350のD入力354に接続されている)とするなら、第1のシフト済みクロック信号312は、入来クロック信号308に対して60度((360/23))1)位相シフトされ、第2のシフト済みクロック信号314は、入来クロック信号308に対して120度((360/23))2)位相シフトされることになるであろう。
【0034】
データクロッキング回路320は、バッファ360と362、DFF364、DFF366、及び例示的なデータ処理ブロック384を備えている。データクロッキング回路は、より多くの又は異なる入来データビットに対応するべく他のDFF又は他のデータ処理ブロックを保有していてもよい。
【0035】
DFF364と366は、ビット・バイ・ビットデータDFFを表している。DFF364は、クロック入力368、D入力370、Q出力372、及びQバー出力374を有している。DFF364は、如何なる適切なデジタル論理を使用して実装されていてもよい。第1のシフト済みクロック信号312は、バッファ360で緩衝され、DFF364をクロックするクロック入力368に接続されている。Qバー出力374には何も接続されていない。入来データビット316は、D入力370に接続されている。DFF364は、入来データビット316を、D入力370からQ出力372まで、緩衝された第1のシフト済みクロック信号312の立ち上がりエッジで運ぶ。第1のシフト済みクロック信号は、入来クロック信号308に対してシフトされているため、入来クロック信号308と入来データビット316がシステム300への着信時に同期されていたと仮定すると、DFF364は、D入力370とクロック入力368で一致した立ち上がりエッジを処理しなくてもよくなるであろう。その様な一致した立ち上がりエッジは、DFF364の論理に破壊を引き起こしかねない。DFF364は、再クロック済みデータビット318をQ出力372へ出力する。
【0036】
同様に、DFF366は、クロック入力376、D入力378、Q出力380、及びQバー出力382を有している。DFF366は、如何なる適切なデジタル論理を使用して実装されていてもよい。緩衝された第1のシフト済みクロック信号312は、DFF366をクロックするクロック入力376に接続されている。Qバー出力372には何も接続されていない。入来データビット317は、D入力378に接続されている。DFF366は、入来データビット317を、D入力378からQ出力380まで、緩衝された第1のシフト済みクロック信号312の立ち上がりエッジで運ぶ。ここでも同様に、第1のシフト済みクロック信号は、入来クロック信号308に対してシフトされているため、入来クロック信号308と入来データビット316がシステム300への着信時に同期されていたと仮定すると、DFF366は、D入力378とクロック入力376で一致した立ち上がりエッジを処理しなくてもよくなるであろう。その様な一致した立ち上がりエッジは、DFF366の論理に破壊を引き起こしかねない。DFF366は、再クロック済みデータビット319をQ出力380へ出力する。複数の入来データビットは、ビット・バイ・ビットDFF内で、DFF364と366がデータビット316と317を再クロックするのと同じ様式で再クロックされることになる。
【0037】
第2のシフトされたクロック信号314は、バッファ362で緩衝され、データクロッキング回路320内で第1のシフトされたクロック信号312とは異なった使われ方をしてもよい。バッファ360と362は、互いに整合されていてもよい。
【0038】
例えば、データ処理ブロック384は、データ記憶装置、算術演算、論理演算、シフティング、又はフィルタリングの様な、如何なる処理であれ必要なデータ処理を実施してもよい。データ処理ブロック384は、入来データビット322を受信し、緩衝された第2のシフト済みクロック信号314をクロック入力386に受信する。データ処理ブロック384は、入来データビット322についてデータ演算を行った後、再クロック済みデータビット323を出力する。
【0039】
図4は、本発明の更に別の実施形態による、クロックを並列データに整列させるための方法400のフロー図である。方法400は、方法200のステップ210の「シフト済みクロック信号を第2DFFの第2入力に送信する段階」の或る代わりの実施形態である。方法400は、システム300、より厳密にはクロックシフティング回路310を使用して行われてもよいし、又は如何なる適切なシステムを使用して行われてもよい。方法400のステップは、適宜又は必要に応じ、変更され、組み合わされ、細分割され、順序を変えられ、又はそれ以外に並べ換えられてもよく、その場合もなお、本発明の範囲及び精神に包含されることになろう。
【0040】
方法400は、クロックシフティング回路内に直列に接続されている複数のDFFを通しての信号の送信を詳説している。方法400の中で言及されている複数のDFFは、方法200の中で説明されている第1DFFと第2DFFの間に配置されるであろう。ステップ402で、それぞれのDFFのクロック入力は、当該のDFFをクロックする修正されたクロック信号を受信する。複数のDFFの中の最初のDFFが、ステップ404で、(方法200の第1DFFからの)シフト済みクロック信号をD入力に受信する。ステップ406で、複数のDFFのぞれぞれのDFFは、そのQ出力からの信号を、複数のDFFの次のDFFのD入力へ送信する。上記次のDFFを、後続のDFFと呼んでもよい。複数のDFFの中の最後のDFFが、ステップ408で、最後のQ信号を、そのQ出力から、方法200の第2DFFの第2D入力へ送信する。
【0041】
図5は、本発明の更に別の実施形態による、クロックを並列データに整列させるためのシステム500を描いている。システム500は、クロックシフティング回路510とデータクロッキング回路520を備えている。クロックシフティング回路510は、入来クロック信号508を受信し、第1のシフト済みクロック信号512と第2のシフト済みクロック信号514を出力する。データクロッキング回路520は、クロックシフティング回路510からの第1のシフト済みクロック信号512及び第2のシフト済みクロック信号514、並びに例示的な入来データビット516を受信する。データクロッキング回路520は、例示的な再クロック済みデータビット518を出力する。
【0042】
入来クロック信号508と例示的な入来データビット516は、より大きな電算システム内の遠隔場所からの信号を搬送しているかもしれない。例えば、入来クロック信号508と例示的な入来データビット516は、遠隔のチップから、システム500が配設されているチップへ、データバスで送信されることもある。入来クロック信号508と例示的な入来データビット516は、システム500への着信時に、それらの立ち上がりエッジが一致するように同期化されていてもよい。バッファが、入来クロック508及び入来データビット516をシステム500内へと駆動していてもよい。
【0043】
クロックシフティング回路510は、PLL502、第1DFF504、分割組み合わせ論理ブロック522、第2DFF506、及びバッファ548を備えている。PLL502は、2つの入力、即ち、基準入力524とフィードバック入力526を有している。PLL502は、出力528を生成する。基準入力524は、入来クロック信号508を受信する。フィードバック入力526は、第2DFF506からフィードバックされた信号を受信して、負のフィードバックループを作り出す。PLL502は、入来クロック信号508を固定逓倍器で逓倍することにより、修正済みクロック信号を生成する。例えば、固定逓倍器は4であってもよく、そうすると、修正済みクロック信号は、結果的に、入来クロック信号508より4倍大きい周波数を有することになる。PLL502は、修正済みクロック信号を出力528に印加して、クロックシフティング回路510の他の部分へ送信されるようにする。
【0044】
第1DFF504は、クロック入力530、D入力532、Q出力534、及びQバー出力536を有している。第1DFF504は、如何なる適切なデジタル論理を使用して実装されていてもよい。クロック入力530は、出力528に接続されていて、DFF504をクロックする修正済みクロック信号を受信する。
【0045】
分割組み合わせ論理ブロック522は、クロックシフティング回路510のDFF504とDFF506の間に配置されている。分割組み合わせ論理ブロック522は、DFF504及びPLL502からの入力を受信し、DFF506への少なくとも1つの出力を生成する。
【0046】
第2DFF506は、クロック入力540、D入力542、Q出力544、及びQバー出力546を有している。第2DFF506は、如何なる適切なデジタル論理を使用して実装されていてもよい。クロック回路540は、出力528に接続されていて、DFF506をクロックする、修正されたクロック信号を受信する。Qバー出力546は、DFF504のD入力532にフィードバックされると共に、PLL502のフィードバック入力526にもバッファ548を通してフィードバックされる。バッファ548は、DFF504、分割組み合わせ論理ブロック522、及びDFF506を通した総信号遅延に整合されることになる。
【0047】
第1DFF504は、D入力532のフィードバックされた信号を、Q出力54へ、修正済みクロック信号の立ち上がりエッジで運ぶ。こうして、DFF504は、修正済みクロック信号の周波数を分割し、位相をシフトさせて、第1のシフト済みクロック信号512を生成する。第1のシフト済みクロック信号512は、入来クロック信号508に対して位相シフトされることになる。
【0048】
分割組み合わせ論理ブロック522は、如何なる信号分割又は他の適切な論理演算を備えていてもよい。分割組み合わせ論理ブロック522は、シングル・スケール・インテグレーション(SSI)論理ゲートを用いて実装されているのが望ましい。図5に示されている様に、分割組み合わせブロック522は、インバータ550とNORゲート552によって実装されている3分割回路であってもよい。NORゲート552は、2つの入力554と556に対してノット・オア論理演算を行って、出力558を生み出す。インバータ550は、修正済みクロック信号の逆数をNORゲート552の入力554に印加する。DFF504のQバー出力536は、NORゲート552の入力556に接続されている。NORゲート552の出力558は、DFF506のD入力542に接続されている。分割組み合わせ論理ブロック522の3分割回路を用いた場合、第1のシフト済みクロック信号512は、入来クロック信号508に対して120度位相シフトされる。
【0049】
第2DFF506は、D入力542のNORゲート出力558を、Q出力544へ、修正済みクロック信号の立ち上がりエッジで運ぶ。こうして、DFF506は、修正済みクロック信号の周波数を分割し、位相をシフトさせて、第2のシフト済みクロック信号514を生成する。第2のシフト済みクロック信号514は、入来クロック信号508に対して位相シフトされることになる。分割組み合わせ論理ブロック522の3分割回路を用いた場合、第2のシフト済みクロック信号514は、入来クロック信号508に対して240度位相シフトされる。
【0050】
クロックシフティング回路510は、多少にかかわらずデータクロッキング回路520によって必要とされるだけのシフト済みクロック信号を生成することができる。図5に示されているデータクロッキング回路520の当該部分は、例示的な入来データビット516に演算を行って再クロック済みデータビット518を生み出すため、バッファ560と一対のDFF、即ちDFF564とDFF566、並びにバッファ584を備えている。第2のシフト済みクロック信号514は、バッファ562で緩衝され、図5には示されていないデータクロッキング回路の部分で使用されることになる。
【0051】
DFF564は、クロック入力568、D入力570、Q出力572、及びQバー出力574を有している。DFF564は、如何なる適切なデジタル論理を使用して実装されていてもよい。第1のシフト済みクロック信号512は、バッファ560で緩衝され、DFF564をクロックするクロック入力568に接続されている。Qバー出力574には何も接続されていない。例示的な入来データビット516は、D入力570に接続されている。DFF564は、入来データビット516を、D入力570からQ出力572まで、緩衝された第1のシフト済みクロック信号512の立ち上がりエッジで運ぶ。第1のシフト済みクロック信号は、入来クロック信号508に対してシフトされているので、入来クロック信号508と入来データビット516がシステム500への着信時に同期されていたと仮定すると、DFF564は、D入力570とクロック入力568で一致した立ち上がりエッジを処理しなくてもよくなるであろう。その様な一致した立ち上がりエッジは、DFF564の論理に破壊を引き起こしかねない。DFF564は、バッファ584の1つの入力に接続されているQ出力372へ出力する。
【0052】
同様に、DFF566は、クロック入力576、D入力578、Q出力580、及びQバー出力582を有している。DFF566は、如何なる適切なデジタル論理を使用して実装されていてもよい。緩衝された第1のシフト済みクロック信号512は、クロック入力576に接続され、同入力は、DFF566をクロックするべく反転される。Qバー出力582には何も接続されていない。例示的な入来データビット316は、D入力578に接続されている。DFF566は、例示的な入来データビット516を、D入力578から、Q出力580へ、クロック入力576のインバータによる緩衝された第1のシフト済みクロック信号512の立ち下がりエッジで運ぶ。ここでも同様に、第1のシフト済みクロック信号は入来クロック信号508に対してシフトされているため、入来クロック信号508と例示的な入来データビット516がシステム500への着信時に同期していたと仮定すると、DFF566は、D入力578とクロック入力576で一致した立ち上がりエッジを処理しなくてもよくなるであろう。その様な一致した立ち上がりエッジは、DFF566の論理に破壊を引き起こしかねない。DFF566は、Q出力580へ出力する。Q出力580は、バッファ584の第2の入力に接続されている。バッファ584は、入力としてQ出力572及びQ出力580を取り、バッファ560を通しての遅延に整合されて、例示的な再クロック済みデータビット518を生成する。複数の入来データビットは、DFF対によるビット・バイ・ビットで、DFF564とDFF566が例示的な入来データビット516を再クロックするのと同じ様式で再クロックされることになる。
【0053】
ここに説明されている上記及び他の配設及び要素は、例示のみを目的として記載されているものであって、他の配設又は要素(例えば、機械、インターフェース、機能、及び要素の順序)を追加するか又は代わりに使用することもできるし、また、幾つかの要素をまとめて省略してもよいものと理解されたい。具体的には、チップ又はシステムの他の機能の必要に応じて、異なるクロックシフティング回路が異なるデータクロッキング回路と対にされてもよい。更に、殆どの回路がそうである様に、当業者には、ここに説明されている要素の多くは、個別の構成要素として、又は如何なる適した組み合わせ及び場所であってもよいが他の構成要素と連携させて、実装することができる機能的エンティティであることが理解されよう。
【符号の説明】
【0054】
2 PLL
4、6 DFF
8 入来クロック信号
10 クロックシフティング回路
12、14 シフト済みクロック信号
16 入来データビット
18 再クロック済みデータビット
20 データクロッキング回路
22 4象限ミキサ
48 バッファ
50、58 真−補数ブロック
100 システム
300 システム
302 PLL
304、306、350、364、366 DFF
308 入来クロック信号
310 クロックシフティング回路
312、314 シフト済みクロック信号
316、317、319 入来データビット
318、319、323 再クロック済みデータビット
320 データクロッキング回路
348、360、362 バッファ
384 例示的なデータ処理ブロック
500 システム
502PLL
504、506、564、566 DFF
508 入来クロック信号
510 クロックシフティング回路
512、514 シフト済みクロック信号
516 入来データビット
518 再クロック済みデータビット
520 データクロッキング回路
522 分割組み合わせ論理ブロック
548、560、562、584 バッファ

【特許請求の範囲】
【請求項1】
クロック信号とデータ信号を整列させるためのシステムにおいて、
入来クロック信号を受信し、シフト済みクロック信号を出力するクロックシフティング回路であって、
入来クロック信号が接続されている基準入力と、フィードバック入力と、PLL出力と、を有する位相ロックループ(PLL)と、
それぞれが、D入力と、クロック入力と、Q出力と、Qバー出力と、を有している、直列に接続された複数のn個のDフリップフロップであって、前記PLL出力は、前記Dフリップフロップ1つ1つの前記クロック入力に接続され、Dフリップフロップの前記Q出力は、直列内の後続のDフリップフロップの前記D入力に接続され、前記直列内の最後のDフリップフロップの前記Qバー出力は、前記直列内の1番目の前記Dフリップフロップの前記D入力に接続され、前記直列内の前記最後のDフリップフロップの前記Qバー出力は、緩衝され、前記フィードバック入力へ接続されている、複数のn個のDフリップフロップと、を備えており、
前記シフト済みクロック信号は、前記直列のDフリップフロップからの少なくとも1つのQ出力である、クロックシフティング回路と、
前記シフト済みクロック信号と複数の入来データビットを受信し、複数の再クロック済みデータビットを出力する、データクロッキング回路、とを備えているシステム。
【請求項2】
DFFχは、前記直列内のχ番目のDフリップフロップであり、DFFχの前記Q出力は、前記シフト済みクロック信号を送信し、前記シフト済みクロック信号は、前記入来クロック信号に対して(360/2n)χ度の位相シフトを有する、請求項1に記載のシステム。
【請求項3】
前記データクロッキング回路は、
前記シフト済みクロック信号を受信し、真出力と補数出力を出力する、真−補数ブロックを備えており、
前記真出力は、前記入来クロック信号に対して(360/2n)χ度の位相シフトを有するクロック信号を搬送し、前記補数出力は、前記入来クロック信号に対して(360/2n)χ+180度の位相シフトを有するクロック信号を搬送する、請求項1に記載のシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2010−283816(P2010−283816A)
【公開日】平成22年12月16日(2010.12.16)
【国際特許分類】
【外国語出願】
【出願番号】特願2010−122836(P2010−122836)
【出願日】平成22年5月28日(2010.5.28)
【出願人】(500575824)ハネウェル・インターナショナル・インコーポレーテッド (1,504)
【Fターム(参考)】