JP2004520649A - クロック検出およびdllロック検出によるソース同期受信器リンク初期化および入力浮動制御 - Google Patents
クロック検出およびdllロック検出によるソース同期受信器リンク初期化および入力浮動制御 Download PDFInfo
- Publication number
- JP2004520649A JP2004520649A JP2002584143A JP2002584143A JP2004520649A JP 2004520649 A JP2004520649 A JP 2004520649A JP 2002584143 A JP2002584143 A JP 2002584143A JP 2002584143 A JP2002584143 A JP 2002584143A JP 2004520649 A JP2004520649 A JP 2004520649A
- Authority
- JP
- Japan
- Prior art keywords
- clock
- signal
- source synchronous
- synchronous receiver
- clock signal
- 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.)
- Pending
Links
- 230000001360 synchronised effect Effects 0.000 title claims abstract description 109
- 238000001514 detection method Methods 0.000 title claims abstract description 45
- 238000012795 verification Methods 0.000 claims abstract description 54
- 239000000872 buffer Substances 0.000 claims abstract description 52
- 230000004044 response Effects 0.000 claims abstract description 30
- 238000000034 method Methods 0.000 claims abstract description 28
- 238000012360 testing method Methods 0.000 claims description 12
- 230000002401 inhibitory effect Effects 0.000 claims 2
- 230000001172 regenerating effect Effects 0.000 claims 1
- 238000012546 transfer Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
- H03L7/081—Details of the phase-locked loop provided with an additional controlled phase shifter
- H03L7/0812—Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
- H03L7/085—Details of the phase-locked loop concerning mainly the frequency- or phase-detection arrangement including the filtering or amplification of its output signal
- H03L7/095—Details of the phase-locked loop concerning mainly the frequency- or phase-detection arrangement including the filtering or amplification of its output signal using a lock detector
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0008—Synchronisation information channels, e.g. clock distribution lines
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Manipulation Of Pulses (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
- Networks Using Active Elements (AREA)
Abstract
ソース同期受信器を動作させる方法および装置。一実施形態ではソース同期受信器はクロック検出器とクロック信号バッファを備えるクロック受信器を含む。クロック検出器は第1のクロック信号を検出し、第1のクロック信号の検出に応答してクロック検出信号をアサートするように構成される。クロック・バッファは第1のクロック信号を受信し、デジタル・ロック・ループ(DLL)回路に駆動される第2のクロック信号を生成し、第2のクロック信号は再生され、ソース同期受信器のデータ・バッファに駆動される。クロック検出信号はクロック検証回路によって受信される。クロック検証回路はクロック検出信号の受信失敗時にソース同期受信器のリセットを初期化するように構成される。ソース同期受信器のリセットはローカルに実行され、それが実装されているデバイスのコア・ロジックもデバイス上の他のソース同期ポートもリセットしない。したがって、デバイス上の他のソース同期ポートならびにコア・ロジックは通常通りオペレーションを継続することができる。本方法および装置はホット・スワップ可能なソース同期受信器を含む。
Description
【0001】
(発明の背景)
発明の分野
本発明は、電子回路に関し、より詳細には、タイミング信号を供給するためのクロック回路に関する。
【0002】
関連技術の説明
コンピュータ・プロセッサの動作速度が増大するにつれて、ボトルネックの影響を排除または低減するためにこれらのプロセッサを実装するシステム・ボードの動作速度も増大している。1GHzに近づくプロセッサのクロック速度では、システム・ボードが100MHzを超えるクロック速度で動作するのは珍しいことではない。
【0003】
ソース同期入出力はデータ転送が単一のシステム・クロックに同期するときに起こる問題を排除または最小化する。ソース同期入出力ラインが使用するクロック速度はプロセッサ・クロック速度とスケーリングするので、ソース同期入出力によりシステム・ボード設計のフレキビリティの増大が可能になる。さらに、ソース同期入出力を使用すると信号ラインに関する長さ制約が排除される。
【0004】
ソース同期データ転送では、データを転送するデバイスがクロック信号を発生し、データとともに転送する。受信デバイスはソースからクロック信号を受信し、それによってデータ転送を受信したクロックと同期させる。これによって2つのデバイス間のクロック・ラインの長さをはるかに短縮し、それによってさもなければ起こるクロック・スキューの多くを排除することができる。
【0005】
ソース同期入出力はデータ転送が単一のシステム・クロックに同期しているときに起こるクロック・スキュー問題の最小化または排除に有用であるが、他の問題が起こる。そのような1つの問題はボード上に存在する増大した数のクロック信号が不要な電磁ノイズを生ずる際のノイズである。そのようなノイズはクロック・ジッタなど、いくつかのソース同期クロック信号の問題を引き起こす。ソース同期入出力とともに起きる問題はいくつかのデータ転送を繰り返す必要性を生じる。データ転送を繰り返すことは、いくつかの場合、データが転送されたデバイスのリセットを必要とする。この結果、ソース同期デバイスが実装されているシステムに厳しい性能ペナルティが生じる。
【0006】
(発明の概要)
上記で概説した問題はソース同期受信器を動作させる方法および装置によって大部分が解決される。一実施態様では、ソース同期受信器はクロック検出器とクロック信号バッファを備えるクロック受信器を含む。クロック検出器は第1のクロック信号を検出し、第1のクロック信号の検出に応答してクロック検出信号をアサートするように構成される。クロック・バッファは第1のクロック信号を受信し、第2のクロック信号を生成する。第2クロック信号は、デジタル・ロック・ループ(DLL)回路へ送られて再生され、ソース同期受信器のデータ・バッファに送られる。クロック検出信号はクロック検証回路(clock verification circuit)によって受信される。クロック検証回路はクロック検出信号の受信失敗時にソース同期受信器のリセットを初期化するように構成されている。ソース同期受信器のリセットはローカルに実行され、それが実装されているデバイスのコア・ロジックまたはデバイス上の他のソース同期ポートをリセットしない。したがって、デバイス上の他のソース同期ポートならびにコア・ロジックは通常通り動作を継続することができる。さらに、別のチップ上のソース同期入出力ポートへのリンクの初期化はそのチップのリセットを必要としない。したがって、ソース同期受信器はホット・スワップ環境に理想的である。
【0007】
一実施態様のソース同期受信器はクロック回路、1つまたは複数のDLL回路、データ・バッファ、および読取りおよび書込みポインタ制御ロジックを含む。ソース同期受信器をリセットすることは、すべての状態機械(すなわちDLL回路、データ・バッファなど)の出力をアイドル状態にすること、およびコア・ロジックへのすべてのロジック・インターフェース出力を非アクティブまたはデアサート状態にすることを含む。例えば、一実施態様では、コア・ロジックへのインターフェース出力をロジック・ゼロ状態にすることを含む。リセットすることはまたソース同期受信器の様々な部分への電力を除去することを含む。
【0008】
一実施態様では、DLL回路はクロック検証回路によって受信されるロック検出信号をアサートするように構成されている。クロック検証回路はクロック検出信号とロック検出信号の両方を受信することに応答してDLLロック信号をアサートする。DLLロック信号はソース同期受信器が実装されている集積回路(IC)のコア・ロジック中の状態レジスタに送られ、ソース同期受信器が動作していることをコア・ロジックに示す。それぞれクロック検出器またはDLL回路からのアサートされたクロック検出信号またはロック検出信号の受信失敗時、クロック検証回路はDLLロック信号をデアサートし、ソース同期受信器がリセットされる(すなわちすべてのロジック回路の出力がロジック「0」にセットされる)。一実施態様では、DLLロック信号のデアサートは受信器リセット信号がアサートされることによってリセットに影響し、受信器リセット信号はロジック「0」として、またはロジック低レベル電圧としてアサートされる。クロック検証回路はまた受信器イネーブル信号をアサートするように構成され、クロック信号バッファなど様々な回路へ電源を投入させる。クロック検証回路のクロック検出回路の受信失敗時、受信器イネーブル信号はデアサートされ、それによりクロック信号バッファから電力が遮断される。
【0009】
第1のクロック信号は差動クロック信号である。第1のクロック信号はクロック信号バッファによって第2のクロック信号に変換される。第2のクロック信号はシングルエンド・クロック信号である。一実施態様では、クロック信号バッファを実装するためにアナログ・コンパレータを使用する。アナログ・コンパレータは差動入力の電圧レベルを比較し、変化する電圧レベルに基づいて第2のクロック信号を発生する。アナログ・コンパレータはソース同期受信器中の他の回路と比較して大量の電力を消費するので、受信器イネーブル信号がデアサートされるときに電力が遮断される。第2のクロック信号受信時、DLL回路は次いでロックし、第2のクロック信号を再生し、それによってソース同期受信器のデータ・バッファのためにクリーンなノイズのないクロックを生成する。
【0010】
したがって、様々な実施態様では、ソース同期受信器はソース同期入出力に関連する様々な問題の一部を解決する。ローカル・リセットを実行する能力により他のソース同期回路および集積回路または他のデバイスのコア・ロジックは必要な場合にソース同期受信器のオペレーションを継続することができる。
【0011】
本発明の他の目的および利点は以下の詳細な説明を読み、添付の図面を参照すれば明らかになろう。
【0012】
本発明は様々な修正態様および代替態様にすることができるが、それの特定の実施態様を例として図面に示し、本明細書で詳細に説明する。ただし、図面およびそれの説明は本発明を開示する特定の態様に限定するものではなく、逆に、本発明は首記の特許請求の範囲に記載した本発明の趣旨および範囲内に入るすべての修正態様、均等物、および代替態様を包含することに留意されたい。
【0013】
(発明の詳細な説明)
次に図1を見ると、ソース同期入出力を利用するシステムの一実施形態を示すブロック図が示されている。システム10はソース同期入出力オペレーション用に構成された2つの集積回路(IC)15Aおよび15Bを含む例示的なシステムである。各ICは複数のソース同期送信器(SST)50およびソース同期受信器(SSR)100を含む。各SST50およびSSR100はそれのそれぞれのICのコア・ロジック20に結合される。
【0014】
IC15Aおよび15Bはソース同期通信用に構成された任意のタイプの集積回路である。そのようなICの例としてはプロセッサ、特定用途向け集積回路(ASIC)、周辺チップなどがある。IC15Aおよび15Bの各々の主要な機能はそれのコア・ロジック20によって実行される。IC15Aおよび15Bはコンピュータ・システムのシステム・ボード(すなわちマザーボード)上に実装される。IC15Aおよび15Bはまた様々なドータ・カード上または周辺デバイス中に実装される。また、IC15AおよびIC15Bは互いにソース同期通信を行うために同じボード上にある必要はないことに留意されたい。例えば、主システム・ボード上に取り付けられるIC15Bとソース同期通信を行うためにIC15Aをドータ・カード上に取り付けることが可能である。
【0015】
図示の実施形態では、IC15AのSST50は1つまたは複数のデータ・ライン80およびクロック・ライン90によってIC15BのSSR100に結合される。データをIC15AからIC15Bまで転送するためには、データをまずIC15Aのコア・ロジック20からSST50まで移動させる。SST50はデータ転送の準備ができると、クロック・ライン90に沿って第2のIC15のSSR100まで搬送される連続的に動作するクロック信号を利用する。ソースSST50が発生したクロック信号はデータ送信を同期させるために使用される。データはデータ・ライン80を介してIC15BのSSR100までSST50によって送信される。SSR100はクロック信号とデータの両方を受信する。クロック信号はソースSST50からのデータの受信を同期させるために使用される。
【0016】
IC15Aおよび15Bの各々はホット・スワップ環境用に構成される。必要な電力回路の他に、ソース同期入出力ポート(SST50およびSSR100)の各々はホット・スワップ環境用に構成される。SST50およびSSR100の各々はチップ上のコア・ロジックまたは他のソース同期入出力ポートをリセットせずに個別にリセットされる。さらに、SST50およびSSR100の各々はコア・ロジックを含むチップの他の部分のリセットを必要とせずに他のチップ上のソース同期入出力ポートとのリンクを確立するように構成される。様々な実施形態ではまた、電力を取り外すことなしに、あるいはチップまたはリンクする他のチップのコア・ロジックまたは他のソース同期入出力ポートをリセットすることなしに個別のSST50またはSSR100をオフにすることができる。SSR100のリセットの追加の詳細について以下でより詳細に説明する。
【0017】
次に図2を見ると、ソース同期受信器の一実施形態を示すブロック図が示されている。SSR100は1つまたは複数のデータ・ライン80を介してデータを受信するように構成されている。データはSSR100のデータ・バッファ115によって受信される。データの受信を同期させるために、SSR100はクロック・ライン90を介してソース同期送信器から第1のクロック信号を受信し、第2のクロック信号を生成する。クロック信号は最初クロック受信器105によって受信される。第1のクロック信号の受信に応答して、クロック受信器105はクロック検出信号をアサートし、それをクロック検証回路120に転送する。クロック受信器105はまた、以下でより詳細に説明するように、受信したクロック信号に対して信号変換を実行する。
【0018】
SSR100はクロック受信器105から第2のクロック信号を受信するように構成されたDLL回路110を含む。DLL回路110は第2のクロック信号を再生し、これを次いでソース同期送信器からのデータの受信を同期させるためにデータ・バッファ115に送る。DLL回路110はロック検出信号をアサートする。ロック検出信号はDLL回路110が受信し、第1のクロック信号にロックしたときにアサートされ、それによって第2のクロック信号を生成する。ロック検出信号はクロック検証回路120に送られる。
【0019】
クロック検証回路120はクロック受信器105からのクロック検出信号105の受信に応答してDLLロック信号をアサートする。いくつかの実施形態では、DLLロック信号はDLL回路110からのクロック検出信号とロック検出信号の両方の受信に応答してアサートされる。DLLロック信号はコア・ロジック20中の状態レジスタ205に送られる。状態レジスタ205はいくつかのソース同期受信器のために状態ビットを格納するように構成されている。状態ビットは状態レジスタ205がクロック検証回路からアサートされたDLLロック信号を受信したときにセットされる。SSR100に関連する状態ビットがセットされると、有効なクロック信号がSSR100によって受信されていることが示され、それによってソース同期リンクをイネーブルにする前に状態をソフトウェアに提供する。
【0020】
SSR100はデータ・バッファ115を含む。データ・バッファ115は1つまたは複数のデータ・ライン80を介してデータを受信するように構成されている。データ・バッファ115はDLL回路110から第2のクロック信号を受信する。これによりデータ・バッファ115はソース同期送信器から同期的にデータを受信できるようになる。データの受信後、データ・バッファ115は次いでデータをコア・ロジック20に転送する。
【0021】
一実施形態では、クロック検証回路120はクロック受信器105からのアサートされたクロック検出信号の受信失敗時にDLLロック信号をデアサートするように構成されている。DLLロック信号のデアサートによりSSR100はリセット状態になる。リセット状態はデータ・バッファ中のすべてのロジック回路の出力をロジック「0」にリセットする。いくつかの実施形態では、SSR100をリセットすることはSSR100の構成要素のうちの1つまたは複数への電力を遮断することを含む。これはデータ・バッファ115、DLL回路110、クロック検証回路120のいくつかの部分、およびクロック受信器105のうちの1つまたは複数を電力遮断することである。また、ソース同期受信器のリセットはローカル・リセットであり、したがってSSR100が実装されている集積回路の他の構成要素のリセットは起こらないことに留意されたい。
【0022】
次に図3を見ると、ソース同期受信器の一実施形態の回路構成を示す概略図が示されている。図2に示される実施形態と同様に、SSR100はクロック受信器105、DLL回路110、クロック検証回路120、およびデータ・バッファ115を含む。
【0023】
図示の実施形態では、クロック受信器105はクロック信号バッファ107およびクロック検出器109を含む。この特定の例では、クロック信号バッファ107は差動シングル変換器(differential to single converter)である。クロック受信器105は差動クロック信号を受信するように構成され、したがってクロック・ライン90は差動クロック信号を送信するために2つの物理ラインを含む。受信されるクロック信号がシングルエンド・クロック信号である代替実施形態が可能であり、企図されることに留意されたい。クロック信号バッファ107は差動クロック信号をシングルエンド・クロック信号に変換するように構成される。一実施形態では、差動クロック信号をシングルエンド・クロック信号に変換するためにアナログ・コンパレータまたは他のタイプの差動増幅器を使用する。クロック信号バッファはシングルエンド・クロック信号をDLL回路110に送る前にその信号強度を高める。クロック受信器105はまたクロック検出器109を含む。クロック検出器109は差動クロック信号の受信に応答してクロック検出信号(clk_detect)をアサートする。
【0024】
DLL回路110は、図示の実施形態ではクロック信号バッファ107からシングルエンド・クロック信号を受信するように構成されている。DLL回路110は位相ロック・ループ回路であり、シングルエンド・クロック信号など方形波信号に対して最適化される。DLL回路110はシングルエンド・クロック信号を再生し、それをデータ・バッファ115に送るためにその信号強度を高める。シングルエンド・クロック信号を再生するためにDLL回路110を使用することでよりクリーンで比較的ノイズのないクロック信号が得られる。また、DLL回路110はクロック信号バッファ107から受信したシングルエンド・クロック信号のロックを得るとロック検出信号(lock_detect)をアサートする。
【0025】
クロック検証回路120はクロック検出器109からクロック検出信号を受信し、DLL回路110からロック検出信号を受信するように構成されている。ロック検出信号は直列結合フリップフロップ122の連鎖に送られる。フリップフロップ122はSSR100が実装されているICのコア・ロジックから受信した第3のクロック信号(sys_clk)によって同期する。第3のクロック信号は第1または第2のクロック信号(すなわち、それぞれ差動クロック信号およびシングルエンド・クロック信号)とは別個である。フリップフロップ122の直列結合連鎖を使用することによって、クロック検証回路120はDLL回路が複数のクロック・サイクルについてクロック信号バッファ107から受信したシングルエンド・クロック信号のロックを維持していることを保証することができる。
【0026】
DLLロック信号(dll_lock)はクロック検証回路120によってアサートされる。図示の実施形態では、DLLロック信号はフリップフロップ122Fによってアサートされる。この実施形態でのフリップフロップ122および122Fの各々はDタイプ・フリップフロップであるが、他のタイプも使用される。3入力ANDゲート124はフリップフロップ122Fへの入力である。クロック検出信号が(ANDゲートの入力に対する)2入力ORゲートを伝搬し、かつDLL回路110によるDLLロック信号の最初のアサート後に3つのクロック・サイクルが完了すると、3入力ANDゲート124の出力はロジック「1」になる。
【0027】
この特定の実施形態でクロック検出信号またはロック検出信号がデアサートされた場合、DLLロック信号もデアサートされる。これによりSSR100のリセットが起こる。この特定の実施形態では、DLLロック信号のデアサートにより受信器リセット信号(rx_rst_l)はロジック「0」になる。フリップフロップ122Fの出力は3入力ORゲート125まで伝搬するように構成され、3入力ORゲート125は(SSR100の正常動作中にデアサートされるか、またはロジック「0」になる)入力test_modeおよびrx_rst_maskを受信する。rx_rst_lがロジック「0」になると、起こったリセットによりデータ・バッファ115中のすべてのロジック回路の出力がロジック「0」状態にリセットされる。また、クロック検出信号およびロック検出信号の観測によってクロッキング問題の原因を特定することが可能である。ロック検出信号のデアサートによりリセットが起こった場合、クロック検出器109が入力クロック信号を検出したとしても、DLL回路110がクロック信号のロックを得ることができないことが示される。例えば、入力クロック信号は大量のジッタを有するかまたは正しい周波数にない場合、DLL回路110はロックを得ることができないが、入力クロック信号はクロック検出器109によって検出される。クロック検出信号のデアサートによりリセットが起こった場合、入力クロック信号の問題またはクロック・ラインの破断が指示される。
【0028】
クロック検出信号のデアサートによりSSR100のリセットが起こった場合、クロック検証回路120はSSR100のいくつかの構成要素の電力を遮断するように構成されている。一実施形態では、図面に示されるように、第1のクロック信号の検出失敗によるクロック検出信号のデアサートにより受信器イネーブル信号(receiver_enable)のデアサートが起こる。本明細書には明示的に図示されていないが、受信器イネーブル信号はクロック信号バッファ107への電力を制御するために使用される。電力は受信器イネーブル信号がアサートされたときにクロック信号バッファ107に適用され、受信器イネーブル信号がデアサートされたときに除去される。いくつかの実施形態では、他の構成要素からも電力が除去される。いくつかの実施形態ではまたクロック検証回路120の一部または全部から電力を除去する。電力の供給はクロック検出回路109による第1のクロック信号の検出時およびクロック検出信号の再アサート時に再開される。いくつかのリセット状態中にDLL回路110、クロック検証回路120、および/またはデータ・バッファ115が電力遮断される実施形態が可能であり、企図される。一実施形態では、クロック検出器109のクロック検出信号のアサート失敗によりクロック信号バッファ107、DLL回路110、およびデータ・バッファ115への電力がなくなる。第1のクロック信号の検出に応じてソース同期受信器の様々な構成要素を電力投入またはおよび電力遮断する能力によりソース同期受信器はホット・スワップ環境用に理想的である。
【0029】
いくつかの場合、クロック検証回路120はソース同期受信器のリセットの実行を抑止される。図示の実施形態では、これはテスト・モード信号(test_mode)または受信器リセット・マスク信号(rx_rst_mask)を受信する結果起こる。テスト・モード信号がアサートされると、それの値は3入力ORゲート125に送られ、クロック検出器109が入力クロック信号を検出するかどうかにかかわらず受信器リセット信号はロジック「1」のままである。また、テスト・モード信号のアサートにより受信器イネーブル信号がデアサートされ、それによりクロック信号バッファ107への電力が遮断される。テスト・モード信号によりデータ・バッファ115などソース同期受信器の様々な構成要素に対してテストを行うことができるようになり、さらにソース同期受信器10が集積回路内で行われている他のテストを妨害するのを防ぐ。クロック検証回路120はまた、受信器リセット・マスク信号がアサートされたときにリセットを起こすことを抑止される。受信器リセット・マスク信号は3入力ORゲート125を伝搬し、受信器リセット信号はロジック「1」のままである。
【0030】
次に図4を見ると、ソース同期受信器の一実施形態の動作を示す流れ図が示されている。本方法の代替実施形態が可能であり、企図される。方法500は第1の(すなわち入力)クロック信号の検出から始まる(ステップ502)。入力クロック信号は差動クロック信号かシングルエンド・クロック信号のいずれかであり、クロック検出器回路によって検出される。入力クロック信号が検出されるとクロック検出信号がクロック検出器回路によってアサートされる(ステップ504)。クロック検出信号はクロック検出信号を図2および図3のものなどクロック検証回路に送る。本方法はまた第1のクロック信号に基づいて第2のクロック信号を生成する(ステップ506)。流れ図にはステップ502、504および506が順次に行われるものとして示されているが、これらのステップは同時に行うことができることに留意されたい。第2のクロック信号の生成は差動クロック信号のシングルエンド・クロック信号への変換を含む。第1のクロック信号と第2のクロック信号の両方がシングルエンド・クロック信号である実施形態も可能であり、企図される。第2のクロック信号の生成もクロック信号強度を高めることか、または第1のクロック信号とは異なる周波数を有する第2のクロック信号を生成することを含む。
【0031】
第2のクロック信号はDLL回路に駆動され、DLL回路は次いで信号のロックを得ようと試みる(ステップ508)。DLL回路は第2のクロック信号を再生し、それによって比較的クリーンでノイズのない信号を生成するために使用される。DLL回路はロックを得た場合にDLLロック信号をアサートする(ステップ510)。ソース同期受信器は、いくつかの状況(例えば、図3を参照して論じたテスト・モード信号のアサート)を除いて、DLL回路がクロック信号のロックを維持することができる限り正常に動作を継続する。
【0032】
ステップ508では、DLLがクロック信号のロックを得た場合、ソース同期受信器のリセットが実行される(ステップ514)。同様に、以前にロックを得ているDLL回路がステップ512でクロック信号のロックを失った場合、同じくソース同期受信器がリセットされる。ステップ512でのロックの喪失は様々な理由で起こり、クロック検出器回路による入力クロック信号の検出の損失を含む。DLL回路はまた入力クロック信号がジッタ過多になった場合、またはそれの周波数が所定の範囲外にドリフトした場合にロックを失う。
【0033】
ソース同期受信器のリセット後、本方法は次いでクロック信号が検出されるのを待ち(ステップ516)、次いでステップ502に戻る。したがって、ソース同期受信器がリセットされると方法500が始めから再開される。
【0034】
以上、特定の実施形態を参照しながら本発明について説明したが、実施形態は例示的なものであること、および本発明の範囲はそのように限定されないことを理解されよう。説明した実施形態は変更、修正、追加、および改善が可能である。これらの変更、修正、追加、および改善は首記の特許請求の範囲に詳記した本発明の範囲内に入る。
【図面の簡単な説明】
【図1】
ソース同期入出力を利用するシステムの一実施形態を示すブロック図である。
【図2】
ソース同期受信器の一実施形態を示すブロック図である。
【図3】
ソース同期受信器の一実施形態の回路構成を示す概略図である。
【図4】
ソース同期受信器の一実施形態のオペレーションを示す流れ図である。
(発明の背景)
発明の分野
本発明は、電子回路に関し、より詳細には、タイミング信号を供給するためのクロック回路に関する。
【0002】
関連技術の説明
コンピュータ・プロセッサの動作速度が増大するにつれて、ボトルネックの影響を排除または低減するためにこれらのプロセッサを実装するシステム・ボードの動作速度も増大している。1GHzに近づくプロセッサのクロック速度では、システム・ボードが100MHzを超えるクロック速度で動作するのは珍しいことではない。
【0003】
ソース同期入出力はデータ転送が単一のシステム・クロックに同期するときに起こる問題を排除または最小化する。ソース同期入出力ラインが使用するクロック速度はプロセッサ・クロック速度とスケーリングするので、ソース同期入出力によりシステム・ボード設計のフレキビリティの増大が可能になる。さらに、ソース同期入出力を使用すると信号ラインに関する長さ制約が排除される。
【0004】
ソース同期データ転送では、データを転送するデバイスがクロック信号を発生し、データとともに転送する。受信デバイスはソースからクロック信号を受信し、それによってデータ転送を受信したクロックと同期させる。これによって2つのデバイス間のクロック・ラインの長さをはるかに短縮し、それによってさもなければ起こるクロック・スキューの多くを排除することができる。
【0005】
ソース同期入出力はデータ転送が単一のシステム・クロックに同期しているときに起こるクロック・スキュー問題の最小化または排除に有用であるが、他の問題が起こる。そのような1つの問題はボード上に存在する増大した数のクロック信号が不要な電磁ノイズを生ずる際のノイズである。そのようなノイズはクロック・ジッタなど、いくつかのソース同期クロック信号の問題を引き起こす。ソース同期入出力とともに起きる問題はいくつかのデータ転送を繰り返す必要性を生じる。データ転送を繰り返すことは、いくつかの場合、データが転送されたデバイスのリセットを必要とする。この結果、ソース同期デバイスが実装されているシステムに厳しい性能ペナルティが生じる。
【0006】
(発明の概要)
上記で概説した問題はソース同期受信器を動作させる方法および装置によって大部分が解決される。一実施態様では、ソース同期受信器はクロック検出器とクロック信号バッファを備えるクロック受信器を含む。クロック検出器は第1のクロック信号を検出し、第1のクロック信号の検出に応答してクロック検出信号をアサートするように構成される。クロック・バッファは第1のクロック信号を受信し、第2のクロック信号を生成する。第2クロック信号は、デジタル・ロック・ループ(DLL)回路へ送られて再生され、ソース同期受信器のデータ・バッファに送られる。クロック検出信号はクロック検証回路(clock verification circuit)によって受信される。クロック検証回路はクロック検出信号の受信失敗時にソース同期受信器のリセットを初期化するように構成されている。ソース同期受信器のリセットはローカルに実行され、それが実装されているデバイスのコア・ロジックまたはデバイス上の他のソース同期ポートをリセットしない。したがって、デバイス上の他のソース同期ポートならびにコア・ロジックは通常通り動作を継続することができる。さらに、別のチップ上のソース同期入出力ポートへのリンクの初期化はそのチップのリセットを必要としない。したがって、ソース同期受信器はホット・スワップ環境に理想的である。
【0007】
一実施態様のソース同期受信器はクロック回路、1つまたは複数のDLL回路、データ・バッファ、および読取りおよび書込みポインタ制御ロジックを含む。ソース同期受信器をリセットすることは、すべての状態機械(すなわちDLL回路、データ・バッファなど)の出力をアイドル状態にすること、およびコア・ロジックへのすべてのロジック・インターフェース出力を非アクティブまたはデアサート状態にすることを含む。例えば、一実施態様では、コア・ロジックへのインターフェース出力をロジック・ゼロ状態にすることを含む。リセットすることはまたソース同期受信器の様々な部分への電力を除去することを含む。
【0008】
一実施態様では、DLL回路はクロック検証回路によって受信されるロック検出信号をアサートするように構成されている。クロック検証回路はクロック検出信号とロック検出信号の両方を受信することに応答してDLLロック信号をアサートする。DLLロック信号はソース同期受信器が実装されている集積回路(IC)のコア・ロジック中の状態レジスタに送られ、ソース同期受信器が動作していることをコア・ロジックに示す。それぞれクロック検出器またはDLL回路からのアサートされたクロック検出信号またはロック検出信号の受信失敗時、クロック検証回路はDLLロック信号をデアサートし、ソース同期受信器がリセットされる(すなわちすべてのロジック回路の出力がロジック「0」にセットされる)。一実施態様では、DLLロック信号のデアサートは受信器リセット信号がアサートされることによってリセットに影響し、受信器リセット信号はロジック「0」として、またはロジック低レベル電圧としてアサートされる。クロック検証回路はまた受信器イネーブル信号をアサートするように構成され、クロック信号バッファなど様々な回路へ電源を投入させる。クロック検証回路のクロック検出回路の受信失敗時、受信器イネーブル信号はデアサートされ、それによりクロック信号バッファから電力が遮断される。
【0009】
第1のクロック信号は差動クロック信号である。第1のクロック信号はクロック信号バッファによって第2のクロック信号に変換される。第2のクロック信号はシングルエンド・クロック信号である。一実施態様では、クロック信号バッファを実装するためにアナログ・コンパレータを使用する。アナログ・コンパレータは差動入力の電圧レベルを比較し、変化する電圧レベルに基づいて第2のクロック信号を発生する。アナログ・コンパレータはソース同期受信器中の他の回路と比較して大量の電力を消費するので、受信器イネーブル信号がデアサートされるときに電力が遮断される。第2のクロック信号受信時、DLL回路は次いでロックし、第2のクロック信号を再生し、それによってソース同期受信器のデータ・バッファのためにクリーンなノイズのないクロックを生成する。
【0010】
したがって、様々な実施態様では、ソース同期受信器はソース同期入出力に関連する様々な問題の一部を解決する。ローカル・リセットを実行する能力により他のソース同期回路および集積回路または他のデバイスのコア・ロジックは必要な場合にソース同期受信器のオペレーションを継続することができる。
【0011】
本発明の他の目的および利点は以下の詳細な説明を読み、添付の図面を参照すれば明らかになろう。
【0012】
本発明は様々な修正態様および代替態様にすることができるが、それの特定の実施態様を例として図面に示し、本明細書で詳細に説明する。ただし、図面およびそれの説明は本発明を開示する特定の態様に限定するものではなく、逆に、本発明は首記の特許請求の範囲に記載した本発明の趣旨および範囲内に入るすべての修正態様、均等物、および代替態様を包含することに留意されたい。
【0013】
(発明の詳細な説明)
次に図1を見ると、ソース同期入出力を利用するシステムの一実施形態を示すブロック図が示されている。システム10はソース同期入出力オペレーション用に構成された2つの集積回路(IC)15Aおよび15Bを含む例示的なシステムである。各ICは複数のソース同期送信器(SST)50およびソース同期受信器(SSR)100を含む。各SST50およびSSR100はそれのそれぞれのICのコア・ロジック20に結合される。
【0014】
IC15Aおよび15Bはソース同期通信用に構成された任意のタイプの集積回路である。そのようなICの例としてはプロセッサ、特定用途向け集積回路(ASIC)、周辺チップなどがある。IC15Aおよび15Bの各々の主要な機能はそれのコア・ロジック20によって実行される。IC15Aおよび15Bはコンピュータ・システムのシステム・ボード(すなわちマザーボード)上に実装される。IC15Aおよび15Bはまた様々なドータ・カード上または周辺デバイス中に実装される。また、IC15AおよびIC15Bは互いにソース同期通信を行うために同じボード上にある必要はないことに留意されたい。例えば、主システム・ボード上に取り付けられるIC15Bとソース同期通信を行うためにIC15Aをドータ・カード上に取り付けることが可能である。
【0015】
図示の実施形態では、IC15AのSST50は1つまたは複数のデータ・ライン80およびクロック・ライン90によってIC15BのSSR100に結合される。データをIC15AからIC15Bまで転送するためには、データをまずIC15Aのコア・ロジック20からSST50まで移動させる。SST50はデータ転送の準備ができると、クロック・ライン90に沿って第2のIC15のSSR100まで搬送される連続的に動作するクロック信号を利用する。ソースSST50が発生したクロック信号はデータ送信を同期させるために使用される。データはデータ・ライン80を介してIC15BのSSR100までSST50によって送信される。SSR100はクロック信号とデータの両方を受信する。クロック信号はソースSST50からのデータの受信を同期させるために使用される。
【0016】
IC15Aおよび15Bの各々はホット・スワップ環境用に構成される。必要な電力回路の他に、ソース同期入出力ポート(SST50およびSSR100)の各々はホット・スワップ環境用に構成される。SST50およびSSR100の各々はチップ上のコア・ロジックまたは他のソース同期入出力ポートをリセットせずに個別にリセットされる。さらに、SST50およびSSR100の各々はコア・ロジックを含むチップの他の部分のリセットを必要とせずに他のチップ上のソース同期入出力ポートとのリンクを確立するように構成される。様々な実施形態ではまた、電力を取り外すことなしに、あるいはチップまたはリンクする他のチップのコア・ロジックまたは他のソース同期入出力ポートをリセットすることなしに個別のSST50またはSSR100をオフにすることができる。SSR100のリセットの追加の詳細について以下でより詳細に説明する。
【0017】
次に図2を見ると、ソース同期受信器の一実施形態を示すブロック図が示されている。SSR100は1つまたは複数のデータ・ライン80を介してデータを受信するように構成されている。データはSSR100のデータ・バッファ115によって受信される。データの受信を同期させるために、SSR100はクロック・ライン90を介してソース同期送信器から第1のクロック信号を受信し、第2のクロック信号を生成する。クロック信号は最初クロック受信器105によって受信される。第1のクロック信号の受信に応答して、クロック受信器105はクロック検出信号をアサートし、それをクロック検証回路120に転送する。クロック受信器105はまた、以下でより詳細に説明するように、受信したクロック信号に対して信号変換を実行する。
【0018】
SSR100はクロック受信器105から第2のクロック信号を受信するように構成されたDLL回路110を含む。DLL回路110は第2のクロック信号を再生し、これを次いでソース同期送信器からのデータの受信を同期させるためにデータ・バッファ115に送る。DLL回路110はロック検出信号をアサートする。ロック検出信号はDLL回路110が受信し、第1のクロック信号にロックしたときにアサートされ、それによって第2のクロック信号を生成する。ロック検出信号はクロック検証回路120に送られる。
【0019】
クロック検証回路120はクロック受信器105からのクロック検出信号105の受信に応答してDLLロック信号をアサートする。いくつかの実施形態では、DLLロック信号はDLL回路110からのクロック検出信号とロック検出信号の両方の受信に応答してアサートされる。DLLロック信号はコア・ロジック20中の状態レジスタ205に送られる。状態レジスタ205はいくつかのソース同期受信器のために状態ビットを格納するように構成されている。状態ビットは状態レジスタ205がクロック検証回路からアサートされたDLLロック信号を受信したときにセットされる。SSR100に関連する状態ビットがセットされると、有効なクロック信号がSSR100によって受信されていることが示され、それによってソース同期リンクをイネーブルにする前に状態をソフトウェアに提供する。
【0020】
SSR100はデータ・バッファ115を含む。データ・バッファ115は1つまたは複数のデータ・ライン80を介してデータを受信するように構成されている。データ・バッファ115はDLL回路110から第2のクロック信号を受信する。これによりデータ・バッファ115はソース同期送信器から同期的にデータを受信できるようになる。データの受信後、データ・バッファ115は次いでデータをコア・ロジック20に転送する。
【0021】
一実施形態では、クロック検証回路120はクロック受信器105からのアサートされたクロック検出信号の受信失敗時にDLLロック信号をデアサートするように構成されている。DLLロック信号のデアサートによりSSR100はリセット状態になる。リセット状態はデータ・バッファ中のすべてのロジック回路の出力をロジック「0」にリセットする。いくつかの実施形態では、SSR100をリセットすることはSSR100の構成要素のうちの1つまたは複数への電力を遮断することを含む。これはデータ・バッファ115、DLL回路110、クロック検証回路120のいくつかの部分、およびクロック受信器105のうちの1つまたは複数を電力遮断することである。また、ソース同期受信器のリセットはローカル・リセットであり、したがってSSR100が実装されている集積回路の他の構成要素のリセットは起こらないことに留意されたい。
【0022】
次に図3を見ると、ソース同期受信器の一実施形態の回路構成を示す概略図が示されている。図2に示される実施形態と同様に、SSR100はクロック受信器105、DLL回路110、クロック検証回路120、およびデータ・バッファ115を含む。
【0023】
図示の実施形態では、クロック受信器105はクロック信号バッファ107およびクロック検出器109を含む。この特定の例では、クロック信号バッファ107は差動シングル変換器(differential to single converter)である。クロック受信器105は差動クロック信号を受信するように構成され、したがってクロック・ライン90は差動クロック信号を送信するために2つの物理ラインを含む。受信されるクロック信号がシングルエンド・クロック信号である代替実施形態が可能であり、企図されることに留意されたい。クロック信号バッファ107は差動クロック信号をシングルエンド・クロック信号に変換するように構成される。一実施形態では、差動クロック信号をシングルエンド・クロック信号に変換するためにアナログ・コンパレータまたは他のタイプの差動増幅器を使用する。クロック信号バッファはシングルエンド・クロック信号をDLL回路110に送る前にその信号強度を高める。クロック受信器105はまたクロック検出器109を含む。クロック検出器109は差動クロック信号の受信に応答してクロック検出信号(clk_detect)をアサートする。
【0024】
DLL回路110は、図示の実施形態ではクロック信号バッファ107からシングルエンド・クロック信号を受信するように構成されている。DLL回路110は位相ロック・ループ回路であり、シングルエンド・クロック信号など方形波信号に対して最適化される。DLL回路110はシングルエンド・クロック信号を再生し、それをデータ・バッファ115に送るためにその信号強度を高める。シングルエンド・クロック信号を再生するためにDLL回路110を使用することでよりクリーンで比較的ノイズのないクロック信号が得られる。また、DLL回路110はクロック信号バッファ107から受信したシングルエンド・クロック信号のロックを得るとロック検出信号(lock_detect)をアサートする。
【0025】
クロック検証回路120はクロック検出器109からクロック検出信号を受信し、DLL回路110からロック検出信号を受信するように構成されている。ロック検出信号は直列結合フリップフロップ122の連鎖に送られる。フリップフロップ122はSSR100が実装されているICのコア・ロジックから受信した第3のクロック信号(sys_clk)によって同期する。第3のクロック信号は第1または第2のクロック信号(すなわち、それぞれ差動クロック信号およびシングルエンド・クロック信号)とは別個である。フリップフロップ122の直列結合連鎖を使用することによって、クロック検証回路120はDLL回路が複数のクロック・サイクルについてクロック信号バッファ107から受信したシングルエンド・クロック信号のロックを維持していることを保証することができる。
【0026】
DLLロック信号(dll_lock)はクロック検証回路120によってアサートされる。図示の実施形態では、DLLロック信号はフリップフロップ122Fによってアサートされる。この実施形態でのフリップフロップ122および122Fの各々はDタイプ・フリップフロップであるが、他のタイプも使用される。3入力ANDゲート124はフリップフロップ122Fへの入力である。クロック検出信号が(ANDゲートの入力に対する)2入力ORゲートを伝搬し、かつDLL回路110によるDLLロック信号の最初のアサート後に3つのクロック・サイクルが完了すると、3入力ANDゲート124の出力はロジック「1」になる。
【0027】
この特定の実施形態でクロック検出信号またはロック検出信号がデアサートされた場合、DLLロック信号もデアサートされる。これによりSSR100のリセットが起こる。この特定の実施形態では、DLLロック信号のデアサートにより受信器リセット信号(rx_rst_l)はロジック「0」になる。フリップフロップ122Fの出力は3入力ORゲート125まで伝搬するように構成され、3入力ORゲート125は(SSR100の正常動作中にデアサートされるか、またはロジック「0」になる)入力test_modeおよびrx_rst_maskを受信する。rx_rst_lがロジック「0」になると、起こったリセットによりデータ・バッファ115中のすべてのロジック回路の出力がロジック「0」状態にリセットされる。また、クロック検出信号およびロック検出信号の観測によってクロッキング問題の原因を特定することが可能である。ロック検出信号のデアサートによりリセットが起こった場合、クロック検出器109が入力クロック信号を検出したとしても、DLL回路110がクロック信号のロックを得ることができないことが示される。例えば、入力クロック信号は大量のジッタを有するかまたは正しい周波数にない場合、DLL回路110はロックを得ることができないが、入力クロック信号はクロック検出器109によって検出される。クロック検出信号のデアサートによりリセットが起こった場合、入力クロック信号の問題またはクロック・ラインの破断が指示される。
【0028】
クロック検出信号のデアサートによりSSR100のリセットが起こった場合、クロック検証回路120はSSR100のいくつかの構成要素の電力を遮断するように構成されている。一実施形態では、図面に示されるように、第1のクロック信号の検出失敗によるクロック検出信号のデアサートにより受信器イネーブル信号(receiver_enable)のデアサートが起こる。本明細書には明示的に図示されていないが、受信器イネーブル信号はクロック信号バッファ107への電力を制御するために使用される。電力は受信器イネーブル信号がアサートされたときにクロック信号バッファ107に適用され、受信器イネーブル信号がデアサートされたときに除去される。いくつかの実施形態では、他の構成要素からも電力が除去される。いくつかの実施形態ではまたクロック検証回路120の一部または全部から電力を除去する。電力の供給はクロック検出回路109による第1のクロック信号の検出時およびクロック検出信号の再アサート時に再開される。いくつかのリセット状態中にDLL回路110、クロック検証回路120、および/またはデータ・バッファ115が電力遮断される実施形態が可能であり、企図される。一実施形態では、クロック検出器109のクロック検出信号のアサート失敗によりクロック信号バッファ107、DLL回路110、およびデータ・バッファ115への電力がなくなる。第1のクロック信号の検出に応じてソース同期受信器の様々な構成要素を電力投入またはおよび電力遮断する能力によりソース同期受信器はホット・スワップ環境用に理想的である。
【0029】
いくつかの場合、クロック検証回路120はソース同期受信器のリセットの実行を抑止される。図示の実施形態では、これはテスト・モード信号(test_mode)または受信器リセット・マスク信号(rx_rst_mask)を受信する結果起こる。テスト・モード信号がアサートされると、それの値は3入力ORゲート125に送られ、クロック検出器109が入力クロック信号を検出するかどうかにかかわらず受信器リセット信号はロジック「1」のままである。また、テスト・モード信号のアサートにより受信器イネーブル信号がデアサートされ、それによりクロック信号バッファ107への電力が遮断される。テスト・モード信号によりデータ・バッファ115などソース同期受信器の様々な構成要素に対してテストを行うことができるようになり、さらにソース同期受信器10が集積回路内で行われている他のテストを妨害するのを防ぐ。クロック検証回路120はまた、受信器リセット・マスク信号がアサートされたときにリセットを起こすことを抑止される。受信器リセット・マスク信号は3入力ORゲート125を伝搬し、受信器リセット信号はロジック「1」のままである。
【0030】
次に図4を見ると、ソース同期受信器の一実施形態の動作を示す流れ図が示されている。本方法の代替実施形態が可能であり、企図される。方法500は第1の(すなわち入力)クロック信号の検出から始まる(ステップ502)。入力クロック信号は差動クロック信号かシングルエンド・クロック信号のいずれかであり、クロック検出器回路によって検出される。入力クロック信号が検出されるとクロック検出信号がクロック検出器回路によってアサートされる(ステップ504)。クロック検出信号はクロック検出信号を図2および図3のものなどクロック検証回路に送る。本方法はまた第1のクロック信号に基づいて第2のクロック信号を生成する(ステップ506)。流れ図にはステップ502、504および506が順次に行われるものとして示されているが、これらのステップは同時に行うことができることに留意されたい。第2のクロック信号の生成は差動クロック信号のシングルエンド・クロック信号への変換を含む。第1のクロック信号と第2のクロック信号の両方がシングルエンド・クロック信号である実施形態も可能であり、企図される。第2のクロック信号の生成もクロック信号強度を高めることか、または第1のクロック信号とは異なる周波数を有する第2のクロック信号を生成することを含む。
【0031】
第2のクロック信号はDLL回路に駆動され、DLL回路は次いで信号のロックを得ようと試みる(ステップ508)。DLL回路は第2のクロック信号を再生し、それによって比較的クリーンでノイズのない信号を生成するために使用される。DLL回路はロックを得た場合にDLLロック信号をアサートする(ステップ510)。ソース同期受信器は、いくつかの状況(例えば、図3を参照して論じたテスト・モード信号のアサート)を除いて、DLL回路がクロック信号のロックを維持することができる限り正常に動作を継続する。
【0032】
ステップ508では、DLLがクロック信号のロックを得た場合、ソース同期受信器のリセットが実行される(ステップ514)。同様に、以前にロックを得ているDLL回路がステップ512でクロック信号のロックを失った場合、同じくソース同期受信器がリセットされる。ステップ512でのロックの喪失は様々な理由で起こり、クロック検出器回路による入力クロック信号の検出の損失を含む。DLL回路はまた入力クロック信号がジッタ過多になった場合、またはそれの周波数が所定の範囲外にドリフトした場合にロックを失う。
【0033】
ソース同期受信器のリセット後、本方法は次いでクロック信号が検出されるのを待ち(ステップ516)、次いでステップ502に戻る。したがって、ソース同期受信器がリセットされると方法500が始めから再開される。
【0034】
以上、特定の実施形態を参照しながら本発明について説明したが、実施形態は例示的なものであること、および本発明の範囲はそのように限定されないことを理解されよう。説明した実施形態は変更、修正、追加、および改善が可能である。これらの変更、修正、追加、および改善は首記の特許請求の範囲に詳記した本発明の範囲内に入る。
【図面の簡単な説明】
【図1】
ソース同期入出力を利用するシステムの一実施形態を示すブロック図である。
【図2】
ソース同期受信器の一実施形態を示すブロック図である。
【図3】
ソース同期受信器の一実施形態の回路構成を示す概略図である。
【図4】
ソース同期受信器の一実施形態のオペレーションを示す流れ図である。
Claims (34)
- ソース同期受信器であって、
1つまたは複数の信号ラインを介してデータを受信するように構成されたデータ・バッファと、
クロック信号バッファおよびクロック検出器を備えるクロック受信器であって、クロック信号バッファが第1のクロック信号を受信し、第1のクロック信号の受信に応答して第2のクロック信号を送るように構成され、クロック検出器が第1のクロック信号の受信に応答してクロック検出信号をアサートするように構成される、クロック受信器と、
クロック・バッファから第2のクロック信号を受信するように構成されたデジタル・ロック・ループ(DLL)回路であって、DLL回路が第2のクロック信号をデータ・バッファに送るように構成される、デジタル・ロック・ループ(DLL)回路と、
クロック検出器からクロック検出信号を受信するように構成され、クロック検出信号の受信失敗に応答してソース同期受信器をリセットするように構成されるクロック検証回路と
を備えるソース同期受信器。 - DLL回路がロック検出信号をアサートするように構成され、クロック検証回路がさらにクロック検証回路によるロック検出信号の受信失敗に応答してソース同期受信器をリセットするように構成される請求項1に記載のソース同期受信器。
- クロック検証回路がクロック検出信号とロック検出信号の両方の受信に応答してDLLロック信号をアサートするように構成され、クロック検証回路がDLLロック信号をデアサートすることによってソース同期受信器をリセットするように構成される請求項2に記載のソース同期受信器。
- ソース同期受信器をリセットすることがクロック検出器による第1のクロック信号の検出失敗に応答してクロック信号バッファを電力遮断することを含む請求項2に記載のソース同期受信器。
- クロック信号バッファがクロック検出器による第1のクロック信号検出に応答して電力投入される請求項4に記載のソース同期受信器。
- ソース同期受信器が集積回路のコア・ロジックに結合され、コア・ロジックがデータ・バッファからデータを受信するように構成される請求項2に記載のソース同期受信器。
- クロック検証回路がDLLロック信号をコア・ロジック中の状態レジスタに送るように構成される請求項6に記載のソース同期受信器。
- 第1のクロック信号が差動クロック信号であり、第2のクロック信号がシングルエンド・クロック信号である請求項1に記載のソース同期受信器。
- クロック検証回路が直列結合フリップフロップの連鎖を含み、連鎖が少なくとも2つのフリップフロップを含む請求項2に記載のソース同期受信器。
- クロック検証回路が第3のクロック信号を受信するように構成され、フリップフロップの各々が第3のクロック信号を受信する請求項9に記載のソース同期受信器。
- 第3のクロック信号の少なくとも2つのサイクルが完了するまでDLLロック信号がアサートされない請求項10に記載のソース同期受信器。
- ソース同期受信器がホット・スワップ可能であるように構成される請求項1に記載のソース同期受信器。
- クロック検証回路がさらに受信器イネーブル信号をアサートするように構成される請求項1に記載のソース同期受信器。
- クロック検証回路がさらにテスト・モード信号を受信するように構成され、クロック検証回路によるテスト・モード信号の受信に応答して受信器イネーブル信号がデアサートされ、クロック検証回路がテスト・モード信号の受信に応答してソース同期受信器をリセットすることを抑止される請求項13に記載のソース同期受信器。
- クロック検証回路がさらにリセット・マスク信号を受信するように構成され、クロック検証回路がリセット・マスク信号の受信に応答してソース同期受信器のリセットを抑止するように構成される請求項1に記載のソース同期受信器。
- DLL回路およびクロック検証回路がクロック検出回路による第1のクロック信号の検出失敗に応答して電力遮断される請求項1に記載のソース同期受信器。
- クロック検証回路がソース同期受信器のローカル・リセットを実行するように構成される請求項1に記載のソース同期受信器。
- ソース同期受信器を動作させる方法であって、
クロック検出器を用いて第1のクロック信号を検出し、
クロック信号バッファによる第1のクロック信号の受信に応答して第2のクロック信号を生成し、
デジタル・ロック・ループ(DLL)回路を使用して第2のクロック信号を再生し、
クロック検出器からのクロック検出信号をクロック検証回路が受信し、
クロック検証回路によるクロック検出信号の受信失敗に応答してソース同期受信器をリセットすることとを含むソース同期受信器を動作させる方法。 - DLL回路がロック検出信号をアサートするように構成され、クロック検証回路がさらにクロック検証回路によるロック検出信号の受信失敗に応答してソース同期受信器をリセットするように構成される請求項18に記載の方法。
- クロック検証回路がさらにDLLロック信号をアサートするように構成される請求項19に記載の方法。
- さらに、クロック検証回路によるクロック検出信号またはロック検出信号の受信失敗に応答してDLLロック信号をデアサートすることを含み、前記DLLロック信号をデアサートすることによりソース同期受信器がリセットされる請求項20に記載の方法。
- さらに、クロック検証回路がDLLロック信号を状態レジスタに送ることを含み、状態レジスタが集積回路のコア・ロジック中にあり、ソース同期受信器がコア・ロジックに結合された請求項20に記載の方法。
- さらに、前記DLLロック信号を第3のクロック信号の2つまたはそれ以上のクロック・サイクルだけ送ることを遅延させることを含み、クロック検証回路が少なくとも2つのフリップフロップを含む直列結合フリップフロップの連鎖を含み、フリップフロップの各々が第3のクロック信号を受信するように構成される請求項22に記載の方法。
- さらに、クロック検出器による第1のクロック信号の検出失敗に応答してクロック信号バッファを電力遮断することを含む請求項18に記載の方法。
- さらに、クロック検出器による第1のクロック信号の検出に応答してクロック信号バッファを電力投入することを含む請求項24に記載の方法。
- さらに、DLL回路が第2のクロック信号をデータ・バッファに送ることを含み、データ・バッファが1つまたは複数のデータ・ラインを介してデータを受信するように構成される請求項18に記載の方法。
- 第1のクロック信号が差動クロック信号であり、第2のクロック信号がシングルエンド信号である請求項18に記載の方法。
- さらに、クロック検証回路が受信器イネーブル信号をアサートすることを含む請求項18に記載の方法。
- クロック検証回路がテスト・モード信号の受信に応答して受信器イネーブル信号をデアサートするように構成される請求項28に記載の方法。
- さらに、前記テスト・モード信号の受信に応答してクロック検証回路によるソース同期受信器のリセットを抑止することを含む請求項29に記載の方法。
- さらに、リセット・マスク信号の受信に応答してクロック検証回路によるソース同期受信器のリセットを抑止することを含む請求項18に記載の方法。
- さらに、クロック検出器による第1のクロック信号の検出失敗に応答してDLL回路およびクロック検証回路を電力遮断することを含む請求項18に記載の方法。
- さらに、クロック検出器による第1のクロック信号検出に応答してDLL回路およびクロック検証回路を電力投入することを含む請求項32に記載の方法。
- 前記ソース同期受信器をリセットすることがローカルに実行される請求項18に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/842,332 US6937680B2 (en) | 2001-04-24 | 2001-04-24 | Source synchronous receiver link initialization and input floating control by clock detection and DLL lock detection |
PCT/US2002/012713 WO2002086687A1 (en) | 2001-04-24 | 2002-04-22 | Synchronous receiver with digital locked loop (dll) and clock detection |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004520649A true JP2004520649A (ja) | 2004-07-08 |
Family
ID=25287082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002584143A Pending JP2004520649A (ja) | 2001-04-24 | 2002-04-22 | クロック検出およびdllロック検出によるソース同期受信器リンク初期化および入力浮動制御 |
Country Status (7)
Country | Link |
---|---|
US (1) | US6937680B2 (ja) |
EP (1) | EP1381930B1 (ja) |
JP (1) | JP2004520649A (ja) |
KR (1) | KR20030016281A (ja) |
AT (1) | ATE320626T1 (ja) |
DE (1) | DE60209892D1 (ja) |
WO (1) | WO2002086687A1 (ja) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7194053B2 (en) * | 2001-12-18 | 2007-03-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for matching data and clock signal delays to improve setup and hold times |
EP1333350A1 (en) * | 2002-01-30 | 2003-08-06 | STMicroelectronics Limited | Memory security device |
US7127536B2 (en) * | 2002-09-30 | 2006-10-24 | Hewlett-Packard Development Company, L.P. | Source-synchronous receiver having a predetermined data receive time |
US7313210B2 (en) * | 2003-02-28 | 2007-12-25 | Hewlett-Packard Development Company, L.P. | System and method for establishing a known timing relationship between two clock signals |
US7272672B1 (en) | 2003-04-01 | 2007-09-18 | Extreme Networks, Inc. | High speed bus with flow control and extended burst enhancements between sender and receiver wherein counter is maintained at sender for free buffer space available |
US7366935B1 (en) | 2003-04-01 | 2008-04-29 | Extreme Networks, Inc. | High speed bus with alignment, re-timing and buffer underflow/overflow detection enhancements |
US7197658B2 (en) * | 2003-12-31 | 2007-03-27 | Intel Corporation | Synchronizing samples of a multimedia stream with a system clock |
US7356618B2 (en) * | 2003-12-31 | 2008-04-08 | Intel Corporation | Method and system for synchronizing platform clocks in a distributed wireless platform |
US7266713B2 (en) * | 2004-01-09 | 2007-09-04 | Intel Corporation | Apparatus and method for adaptation of time synchronization of a plurality of multimedia streams |
KR100605588B1 (ko) * | 2004-03-05 | 2006-07-28 | 주식회사 하이닉스반도체 | 반도체 기억 소자에서의 지연 고정 루프 및 그의 클럭록킹 방법 |
US7656906B2 (en) * | 2005-01-21 | 2010-02-02 | Hewlett-Packard Development Company, L.P. | System and method for communicating a timing signal between backplanes |
KR100639230B1 (ko) * | 2005-06-30 | 2006-10-30 | 주식회사 하이닉스반도체 | 출력 드라이버 제어 장치를 갖는 동기식 메모리 장치 |
US7555085B1 (en) | 2005-08-23 | 2009-06-30 | Sun Microsystems, Inc. | CDR algorithms for improved high speed IO performance |
KR100804154B1 (ko) * | 2005-09-29 | 2008-02-19 | 주식회사 하이닉스반도체 | 지연고정루프회로 |
KR100810070B1 (ko) * | 2005-09-29 | 2008-03-06 | 주식회사 하이닉스반도체 | 지연고정루프 |
US7449930B2 (en) | 2005-09-29 | 2008-11-11 | Hynix Semiconductor Inc. | Delay locked loop circuit |
JP4534162B2 (ja) * | 2006-05-30 | 2010-09-01 | エルピーダメモリ株式会社 | 半導体集積回路装置 |
US7636408B2 (en) * | 2006-06-01 | 2009-12-22 | Sun Microsystems, Inc. | Reliable startup and steady-state of estimation based CDR and DFE |
US8416761B2 (en) | 2006-09-28 | 2013-04-09 | Motorola Mobility Llc | Mitigating synchronization loss |
US7626436B2 (en) * | 2007-02-12 | 2009-12-01 | Standard Microsystems Corporation | Automatic system clock detection system |
CN101617371B (zh) | 2007-02-16 | 2014-03-26 | 莫塞德技术公司 | 具有多个外部电源的非易失性半导体存储器 |
US8467486B2 (en) | 2007-12-14 | 2013-06-18 | Mosaid Technologies Incorporated | Memory controller with flexible data alignment to clock |
US8781053B2 (en) * | 2007-12-14 | 2014-07-15 | Conversant Intellectual Property Management Incorporated | Clock reproducing and timing method in a system having a plurality of devices |
KR101022674B1 (ko) | 2008-12-05 | 2011-03-22 | 주식회사 하이닉스반도체 | 지연고정루프회로 및 그 동작방법 |
US8218702B2 (en) * | 2009-02-18 | 2012-07-10 | Oracle America, Inc. | System and method of adapting precursor tap coefficient |
US8229020B2 (en) * | 2009-03-23 | 2012-07-24 | Oracle America, Inc. | Integrated equalization and CDR adaptation engine with single error monitor circuit |
US8488657B2 (en) * | 2010-06-04 | 2013-07-16 | Maxim Integrated Products, Inc. | Data interface with delay locked loop for high speed digital to analog converters and analog to digital converters |
US8976163B2 (en) | 2012-06-07 | 2015-03-10 | Apple Inc. | Using clock detect circuitry to reduce panel turn-on time |
JP5993665B2 (ja) * | 2012-08-31 | 2016-09-14 | ローム株式会社 | シリアルデータの受信回路および受信方法、オーディオ信号処理回路、電子機器、オーディオシステム |
US10944407B1 (en) | 2020-06-03 | 2021-03-09 | Stmicroelectronics International N.V. | Source synchronous interface with selectable delay on source and delay on destination control |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5774001A (en) * | 1995-12-20 | 1998-06-30 | Intel Corporation | Method for eliminating multiple output switching timing skews in a source synchronous design |
JP2924773B2 (ja) | 1996-03-28 | 1999-07-26 | 日本電気株式会社 | 位相同期システム |
US5886582A (en) * | 1996-08-07 | 1999-03-23 | Cypress Semiconductor Corp. | Enabling clock signals with a phase locked loop (PLL) lock detect circuit |
JP3717289B2 (ja) * | 1997-10-20 | 2005-11-16 | 富士通株式会社 | 集積回路装置 |
US6178206B1 (en) * | 1998-01-26 | 2001-01-23 | Intel Corporation | Method and apparatus for source synchronous data transfer |
US6016066A (en) * | 1998-03-19 | 2000-01-18 | Intel Corporation | Method and apparatus for glitch protection for input buffers in a source-synchronous environment |
US6209069B1 (en) * | 1998-05-11 | 2001-03-27 | Intel Corporation | Method and apparatus using volatile lock architecture for individual block locking on flash memory |
JP3993717B2 (ja) * | 1998-09-24 | 2007-10-17 | 富士通株式会社 | 半導体集積回路装置 |
JP3973308B2 (ja) * | 1998-11-27 | 2007-09-12 | 富士通株式会社 | セルフタイミング制御回路を内蔵する集積回路装置 |
US6131168A (en) * | 1999-03-18 | 2000-10-10 | Agilent Technologies | System and method for reducing phase error in clocks produced by a delay locked loop |
US6233200B1 (en) * | 1999-12-15 | 2001-05-15 | Intel Corporation | Method and apparatus for selectively disabling clock distribution |
-
2001
- 2001-04-24 US US09/842,332 patent/US6937680B2/en not_active Expired - Lifetime
-
2002
- 2002-04-22 DE DE60209892T patent/DE60209892D1/de not_active Expired - Fee Related
- 2002-04-22 EP EP02728912A patent/EP1381930B1/en not_active Expired - Lifetime
- 2002-04-22 WO PCT/US2002/012713 patent/WO2002086687A1/en active IP Right Grant
- 2002-04-22 KR KR1020027016586A patent/KR20030016281A/ko not_active Application Discontinuation
- 2002-04-22 AT AT02728912T patent/ATE320626T1/de not_active IP Right Cessation
- 2002-04-22 JP JP2002584143A patent/JP2004520649A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
KR20030016281A (ko) | 2003-02-26 |
EP1381930B1 (en) | 2006-03-15 |
US6937680B2 (en) | 2005-08-30 |
WO2002086687A1 (en) | 2002-10-31 |
ATE320626T1 (de) | 2006-04-15 |
DE60209892D1 (de) | 2006-05-11 |
US20020154718A1 (en) | 2002-10-24 |
EP1381930A1 (en) | 2004-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004520649A (ja) | クロック検出およびdllロック検出によるソース同期受信器リンク初期化および入力浮動制御 | |
US6240523B1 (en) | Method and apparatus for automatically determining the phase relationship between two clocks generated from the same source | |
US5535377A (en) | Method and apparatus for low latency synchronization of signals having different clock speeds | |
EP1159687B1 (en) | Dynamic wave-pipelined interface apparatus and methods therefor | |
US6748039B1 (en) | System and method for synchronizing a skip pattern and initializing a clock forwarding interface in a multiple-clock system | |
US5600824A (en) | Clock generating means for generating bus clock and chip clock synchronously having frequency ratio of N-1/N responsive to synchronization signal for inhibiting data transfer | |
US6892314B2 (en) | Method and system of automatic delay detection and receiver adjustment for synchronous bus interface | |
US6424688B1 (en) | Method to transfer data in a system with multiple clock domains using clock skipping techniques | |
US6977979B1 (en) | Enhanced clock forwarding data recovery | |
US7466723B2 (en) | Various methods and apparatuses for lane to lane deskewing | |
US6745337B1 (en) | Glitch detection circuit for outputting a signal indicative of a glitch on a strobe signal and initializing an edge detection circuit in response to a control signal | |
US6952791B2 (en) | Method and circuit for initializing a de-skewing buffer in a clock forwarded system | |
US6640277B1 (en) | Input staging logic for latching source synchronous data | |
US6067629A (en) | Apparatus and method for pseudo-synchronous communication between clocks of different frequencies | |
US7568118B2 (en) | Deterministic operation of an input/output interface | |
US6839856B1 (en) | Method and circuit for reliable data capture in the presence of bus-master changeovers | |
US7350092B2 (en) | Data synchronization arrangement | |
US6760392B1 (en) | Method and apparatus to provide fixed latency early response in a system with multiple clock domains with fixable clock ratios | |
JP3562416B2 (ja) | Lsi間データ転送システム及びそれに用いるソースシンクロナスデータ転送方式 | |
US7664213B2 (en) | Clock alignment detection from single reference | |
JP2596336B2 (ja) | 非同期ディジタル通信装置 | |
US20080240320A1 (en) | Transmit clock generator | |
JP2000307561A (ja) | バスシステム装置 | |
US7143304B2 (en) | Method and apparatus for enhancing the speed of a synchronous bus |