(57)【特許請求の範囲】
【請求項１】
第１のクロック信号の制御下で動作する第１のクロック領域の回路から、第２のクロック信号の制御下で動作する第２のクロック領域の回路へデータを渡し、前記第１のクロック及び前記第２のクロックはメソクロナスである、同期化回路であって、
（ａ）前記第１のクロック領域の回路から入力データ信号を受け取るように構成された少なくとも２つの並列データ経路であって、少なくとも２つのデータ信号を、当該少なくとも２つの並列データ経路のうちの対応するものから前記第２のクロック領域に出力する、少なくとも２つの並列データ経路、
（ｂ）前記少なくとも２つの並列データ経路のうちの第１のデータ経路にあり、前記第１のクロック信号の第１のエッジにおいて前記入力データ信号をサンプリングするように構成された第１のサンプリング回路であって、前記第１のクロック信号の前記第１のエッジは、立ち上がりエッジまたは立下がりエッジである、第１のサンプリング回路、
（ｃ）前記少なくとも２つの並列データ経路のうちの第２のデータ経路にあり、前記第１のクロック信号の第２のエッジにおいて前記入力データ信号をサンプリングするように構成された第２のサンプリング回路であって、前記第１のクロック信号の前記第２のエッジは、前記第１のクロック信号の前記第１のエッジと反対方向に移行する、第２のサンプリング回路、
（ｄ）前記少なくとも２つの並列データ経路のうちの前記第１のデータ経路にあり、前記第２のクロック信号と位相がオフセットし、かつ、一定の位相関係にある第３のクロック信号に応じて、前記第１のサンプリング回路からの出力を格納するように構成された第１のラッチ回路、
（ｅ）前記少なくとも２つの並列データ経路のうちの前記第２のデータ経路にあり、前記第３のクロック信号に応じて、前記第２のサンプリング回路からの出力を格納するように構成された第２のラッチ回路
を有する領域交差回路と、
前記第１のクロック信号と前記第２のクロック信号との位相差に基づいて、選択信号を提供するように構成された位相測定回路と、
前記第１のラッチ回路から第１のラッチ出力を受け取り、前記第２のラッチ回路から第２のラッチ出力を受け取るように結合され、前記位相測定回路からの前記選択信号に応答して、前記第１のラッチ出力および前記第２のラッチ出力の１つを選択して、前記第２のクロック領域の回路へ渡す選択回路と、
を備える、同期化回路。
【請求項２】
前記第３のクロック信号は前記第２のクロック信号と位相が直角である直角位相クロック信号であり、
前記位相測定回路は、前記第１のクロック信号および前記直角位相クロック信号を受信するように接続された位相コンパレータ、ならびに、前記位相コンパレータの出力に接続されたインテグレータを有し、前記第１のクロック信号と前記直角位相クロック信号との位相差を決定し、
前記同期化回路は、前記位相測定回路の出力に接続され、初期化期間後に出力信号をラッチするラッチを含む、請求項１記載の同期化回路。
【請求項３】
前記第３のクロック信号は前記第２のクロック信号と位相が直角である直角位相クロック信号であり、
前記位相測定回路は、前記第１のクロック信号と前記直角位相クロック信号との位相差を決定する、請求項１記載の同期化回路。
【請求項４】
前記第３のクロック信号は前記第２のクロック信号と位相が直角である直角位相クロック信号であり、
前記位相測定回路は、前記第１のクロック信号および前記直角位相クロック信号を受信するように接続された位相コンパレータ、ならびに、前記位相コンパレータの出力に接続されたインテグレータを備える、請求項１記載の同期化回路。
【請求項５】
前記同期化回路は、前記位相測定回路の出力に接続され、初期化期間後に出力信号をラッチするラッチを備える、請求項１記載の同期化回路。
【請求項６】
前記選択信号に接続された入力および前記選択回路のセレクト入力に接続された出力を有する、選択信号ラッチをさらに備える、請求項１記載の同期化回路。
【請求項７】
異なる複数のクロック周波数に対応する複数の異なる選択信号を格納する複数の選択信号ラッチをさらに備える、請求項１記載の同期化回路。
【請求項８】
前記第１のラッチ回路および前記第２のラッチ回路は、それぞれが予め充電されたセンス増幅器を含む、請求項１記載の同期化回路。
【請求項９】
第１のクロック信号の制御下で動作する第１のクロック領域の回路から、第２のクロック信号の制御下で動作する第２のクロック領域の回路へデータを渡し、前記第１のクロック及び前記第２のクロックはメソクロナスである、同期化回路であって、
（ａ）複数の並列データ経路であって、それぞれが、入力データ信号を前記第１のクロック領域の回路から受け取り、前記第２のクロック領域に出力するように構成された、複数の並列データ経路、
（ｂ）前記複数の並列データ経路のうちの第１のデータ経路にあり、前記第１のクロック信号の第１のエッジにおいて前記入力データ信号をサンプリングするように構成された第１のサンプリング回路であって、前記第１のクロック信号の前記第１のエッジは、立ち上がりエッジまたは立下がりエッジである、第１のサンプリング回路、
（ｃ）前記複数の並列データ経路のうちの前記第１のデータ経路にあり、第３のクロック信号のエッジにおいて前記第１のサンプリング回路からの出力をラッチするように構成された第１のラッチ回路であって、前記第３のクロック信号は、前記第２のクロック信号と位相がオフセットし、かつ、一定の位相関係にあり、前記第３のクロック信号の前記エッジは、立ち上がりエッジまたは立下がりエッジである、第１のラッチ回路、
（ｄ）前記複数の並列データ経路のうちの第２のデータ経路にあり、前記第１のクロック信号の第２のエッジにおいて前記入力データ信号のデータをサンプリングするように構成された第２のサンプリング回路であって、前記第１のクロック信号の前記第２のエッジは、前記第１のクロック信号の前記第１のエッジと反対方向に移行する、第２のサンプリング回路、
（ｅ）前記複数の並列データ経路のうちの前記第２のデータ経路にあり、前記第３のクロック信号の前記エッジにおいて、前記第２のサンプリング回路からの出力をラッチするように構成された第２のラッチ回路、
（ｆ）前記複数の並列データ経路のうちの第３のデータ経路にあり、第４のクロック信号の第１のエッジにおいて前記入力データ信号のデータをサンプリングするように構成された第３のサンプリング回路であって、前記第４のクロック信号は、前記第１のクロック信号と位相がオフセットし、かつ、一定の位相関係にあり、前記第４のクロック信号の前記第１のエッジは、立ち上がりエッジまたは立下がりエッジである、第３のサンプリング回路、
（ｇ）前記複数の並列データ経路のうちの前記第３のデータ経路にあり、前記第３のクロック信号の前記エッジにおいて前記第３のサンプリング回路からの出力をラッチするように構成された第３のラッチ回路、
（ｈ）前記複数の並列データ経路のうちの第４のデータ経路にあり、前記第４のクロック信号の第２のエッジにおいて前記入力データ信号のデータをサンプリングするように構成された第２のサンプリング回路であって、前記第４のクロック信号の前記第２のエッジは、前記第４のクロック信号の前記第１のエッジと反対方向に移行する、第４のサンプリング回路、
（ｉ）前記複数の並列データ経路のうちの前記第４のデータ経路にあり、前記第３のクロック信号の前記エッジにおいて前記第４のサンプリング回路の出力をラッチするように構成された第４のラッチ回路、
を有する領域交差回路と、
前記第１のクロック信号と前記第２のクロック信号との位相差に基づいて、出力を生成するように構成された位相測定回路と、
前記複数の並列データ経路のそれぞれから出力された複数のデータ信号を受け取るように接続され、前記位相測定回路の前記出力に基づいて、前記複数のデータ信号の１つを選択して、前記第２のクロック領域の前記回路に渡すように構成された選択回路と
を備える、同期化回路。
【請求項１０】
前記位相測定回路は、
前記第１のクロック信号、前記第２のクロック信号、および、前記第２のクロック信号と位相がオフセットし、かつ、一定の位相関係にある前記第３のクロック信号を受け取り、前記第１のクロック信号と前記第２のクロック信号との位相差に依存する出力を生成するように構成された位相コンパレータと、
前記位相コンパレータに接続され、制御信号に応答するように構成されたインテグレータであって、前記制御信号は、当該制御信号が第１の状態にあるときに積分機能を停止させ、当該制御信号が第２の状態にあるときに積分機能を作動させる信号である、インテグレータと
を含む、請求項９記載の同期化回路。
【請求項１１】
前記位相測定回路は、複数の動作周波数のそれぞれに対応する複数のスキップ値を格納し、前記複数のスキップ値から前記同期化回路の現在の動作周波数に対応するスキップ値を、前記選択回路の前記出力として選択するようにさらに構成された、請求項１０記載の同期化回路。
【請求項１２】
第１のクロック信号と第２のクロック信号との間でデータを同期する方法であって、
データを受信クロック領域回路から提供することであって、前記データの位相が前記第１のクロック信号によって制御され、（ａ）前記受信クロック領域回路は、前記第１のクロック信号を用いて入力データをサンプリングすることによって前記データを提供する、少なくとも２つの受信クロック領域ラッチを含み、（ｂ）前記少なくとも２つの受信クロック領域ラッチのうちの第１のラッチは、前記第１のクロック信号の立ち上がりエッジまたは立下がりエッジである第１のエッジにおいて入力データをサンプリングし、（ｃ）前記少なくとも２つの受信クロック領域ラッチのうちの第２のラッチは、前記第１のエッジと反対方向に移行する、前記第１のクロック信号の第２のエッジにおいて入力データをサンプリングする、データを受信クロック領域回路から提供することと、
前記少なくとも２つの受信クロック領域ラッチのそれぞれから出力されたデータを、それぞれに対応する出力データを生成するために、第３のクロック信号の第１のエッジにおいて、対応するラッチ回路でラッチすることであって、前記第３のクロック信号は、前記第２のクロック信号と位相がオフセットし、かつ、一定の位相関係にあり、前記第３のクロック信号の前記第１のエッジは、立ち上がりエッジまたは立下がりエッジである、ラッチすることと、
位相測定回路によって、前記第１のクロック信号と前記第２のクロック信号との位相差を測定しかつ前記位相差に応じてスキップ信号を生成することと、
選択回路によって、前記送信クロック領域において出力データを生成するように前記スキップ信号に基づいて前記対応するラッチ回路のそれぞれにおいて生成された前記出力データから選択することと
を備える、データを同期する方法。
【請求項１３】
前記第３のクロック信号は前記第２のクロック信号と位相が直角である直角位相クロック信号であり、
前記位相測定回路によって前記位相差を測定することは、前記第１のクロック信号および前記直角位相クロック信号を受信するように接続された位相コンパレータならびに当該位相コンパレータの出力に接続されたインテグレータを用いて、前記第１のクロック信号と前記直角位相クロック信号との位相差を測定することを含む、請求項１２記載のデータを同期する方法。
【請求項１４】
第１のクロック信号と第２のクロック信号との間でデータを同期する方法であって、
データを受信クロック領域回路から提供することであって、前記データの位相が前記第１のクロック信号によって制御され、当該受信クロック領域回路は、
（ａ）前記第１のクロック信号の立ち上がりエッジまたは立下がりエッジである第１のエッジにおいて入力データをサンプリングする第１の受信クロック領域ラッチと、
（ｂ）前記第１のエッジと反対方向に移行する、前記第１のクロック信号の第２のエッジにおいて入力データをサンプリングする第２の受信クロック領域ラッチと、
（ｃ）前記第１のクロック信号と位相がオフセットし、かつ、一定の位相関係にある第４のクロック信号の第１のエッジにおいて入力データをサンプリングする第３の受信クロック領域ラッチであって、前記第４のクロック信号の前記第１のエッジは立ち上がりエッジまたは立下がりエッジである、第３の受信クロック領域ラッチと、
（ｄ）前記第４のクロック信号の前記第１のエッジと反対方向に移行する、前記第４のクロック信号の第２のエッジにおいて入力データをサンプリングする第４の受信クロック領域ラッチと、
を含む、データを受信クロック領域回路から提供することと、
前記受信クロック領域ラッチのそれぞれから出力されたデータを、それぞれに対応する出力データを生成するために、第３のクロック信号の第１のエッジにおいて、対応するラッチ回路でラッチすることであって、前記第３のクロック信号は、前記第２のクロック信号と位相がオフセットし、かつ、一定の位相関係にあり、前記第３のクロック信号の前記第１のエッジは、立ち上がりエッジまたは立下がりエッジである、ラッチすることと、
位相測定回路によって、前記第１のクロック信号と前記第２のクロック信号との位相差を測定しかつ前記位相差に応じてスキップ信号を生成することと、
選択回路によって、前記送信クロック領域において出力データを生成するように前記スキップ信号に基づいて前記対応するラッチ回路のそれぞれにおいて生成された前記出力データから選択することと
を備える、データを同期する方法。
【請求項１５】
前記第３のクロック信号は前記第２のクロック信号と位相が直角である直角位相クロック信号であり、
前記位相測定回路によって前記位相差を測定することは、前記第１のクロック信号および前記直角位相クロック信号を受信するように接続された位相コンパレータならびに当該位相コンパレータの出力に接続されたインテグレータを用いて、前記第１のクロック信号と前記直角位相クロック信号との位相差を測定することを含む、請求項１４記載のデータを同期する方法。
【発明の詳細な説明】
【０００１】
本出願は、「Method and Apparatus for Fail-Safe Resynchronization with Minimum Latency」という名称で、１９９７年１０月１０日に出願された出願通し番号６０／０６１，５０５の仮特許出願に対する優先権を請求する。
【０００２】
（発明の背景）
本発明は、周波数は同じであるが、位相が異なるクロック領域、特に同期メモリ・システムのためのクロック領域間でのデータ転送を同期化する回路に関する。
【０００３】
メソクロナス・システムは、任意の位相関係を有し、同じ周波数で作動している少なくとも２つの異なるクロックからなる。このようなシステムにおいては、一方のクロック領域から他方のクロック領域にデータを送るときに、同期化障害が生じる可能性がある。この問題は非同期システムのそれと同様であるが、両方のクロックが同じ周波数で作動しているという点で解決するのはより簡単である。この制約の故に、非同期システムにおいてありそうな場合よりも信頼性があり、待ち時間が少ないデータ転送を達成することができる。
【０００４】
コンピュータ・システムは、代表的には、個別の構成要素間でデータを伝送するためにバスを使用する。最低待ち時間でもって最高の率でデータを伝送するために、同期伝送が多用されている。一実施例（図１参照）においては、送信クロックが、データをクロッキングするのに使用され得る受信装置に達するまでバスに沿ってデータ信号と一緒に送られる。これは、信号がバスワイヤを移動している時の遅延が対応するバスワイヤを下るクロックの遅延と一致するように行われる。同じ技術を用いて両方向にクロックおよびデータを送る場合には、送受信データ（そして、クロック）はバスに沿った装置の位置に依存する位相関係を有し得る。パーツ内を受信クロック領域から送信クロック領域へ移動するとき、データを送信クロック領域に対してリタイムする、あるいは、少なくとも制御パルスをリタイムする必要が生じる。従来技術では、このようなバスの長さに制約があった。図１のようなバス付きシステムにおいては、バスの長さは、受信クロック、送信クロック間の位相関係を決定する。
【０００５】
クロック・サイクル時間の一部として２つのメソクロナス・クロック間になんらかの位相差があると便利である。サイクル・タイムＴＣＹＣＬＥの２つのクロックがあり、送信クロックについてｔＴｘＣｌｋ、受信クロックについてｔＲＣｌｋ（図５参照）として定義されるソースに対する位相がある場合には、ｔＴＲがクロック・サイクル・タイムの一部としてクロックの立ち下がりエッジ間の相対位相となる。これは次のように表すことができる。
0004484359.tif 000002
この定義では、まったく同じ関係の場合の２つのクロックの位相位置は、ｔＴＲ＝０となり、互いに反転した２つのクロックは、ｔＴＲ＝０.５、等となる。Gasbarroに対する米国特許第５，４３２，８２３号は、クロックスキューにもかかわらず一貫した待ち時間で出力データを提供する固定待ち時間プロトコルを使用している。回路性能における制限のため、Gasbarroの一実施例（図２参照）における最大素スキュー、したがって、バス長はｔＴＲ制限を有する。装置がこの制限を越えて配置された場合、内蔵同期化回路がその障害ポイント付近になるので、出力データ待ち時間が不確実となる可能性があった。固定待ち時間プロトコルを使用する従来技術は、１つの待ち時間から他の待ち時間への移行のための制御を行えない。これを解決するために、時には、制限がｔＴＲ操作範囲に置かれ、したがって、潜在的に、最大バス長および装置カウントに置かれる。
【０００６】
他のシステムが、１９９７年７月２１日に出願され、本出願人に譲渡されたPortmann等の審査継続中の出願、通し番号０８／８９７６５８に記載されている（図３参照）。Portmannは、フリップフロップのチェーンを記載しており、これらのフリップフロップを徐々に使用して１つの領域から他の領域に向かうデータをリタイムすることができる。このようなリタイミング・システムは、実際に任意の位相問題の部分集合である。Portmannにおけるクロック間のスキューは、対応する遅延チェーン・オンチップを加えることによって容易に再現され得る。チェーン内の各フリップフロップが別の出力待ち時間サイクルを加える可能性があるので、このようなシステムは、入力データから出力データまでの待ち時間が大きくなりやすい。また、待ち時間領域スイッチング・ポイントでGasbarroと同じ不確実性が生じやすい。そのため、長いバスで遭遇するような、クロック間の任意の位相関係を持つシステムには不向きである。
【０００７】
本発明は無制限のｔＴＲを許す。混合待ち時間プロトコルをサポートすることによって、しっかりした待ち時間領域を創り出すことで、不確実性に係わることなく１．０を超えるｔＴＲを得ることが可能となる。従来技術と異なって、本発明は、後に生じる可能性のあるＶｄｄ変動あるいは温度変動にもかかわらず、初期化中に選ばれた出力待ち時間を維持する。それに加えて、本発明は従来技術よりも高い周波数で作動し得る回路を包含する。
【０００８】
（発明の概要）
本発明は、送信クロックの立ち上がり、立ち下がり両方のエッジで受信クロック領域からのデータをラッチする２つのラッチ回路を有する同期化回路を提供する。使用すべきどのデータをラッチするかという選択は、受信クロック、送信クロック間の位相差の位相測定値に基づいており、これが２つのラッチ回路に接続されるマルチプレクサにセレクト信号を与える。位相差は、２つのラッチについての有効データのオーバーラップ領域の中間にできるだけ接近したデータを与えるように選ばれる。ひとたびこの値が選ばれたならば、それは初期化後にラッチにおいて凍結される。データがそのオリジンからの１つ、２つまたはそれ以上のクロック・サイクル待ち時間を有する可能性があるので、クロック選択を凍結することは、また、回路作動についての待ち時間も凍結する。したがって、同期化回路は待ち時間を知らず、相対的な位相差しか知らないけれども、安定した作動構成を確立することができる。
【０００９】
ここで用いる「受信」クロック領域、「送信」クロック領域という用語は、同期化回路による受信、送信を意味しており、必ずしも装置、たとえば、メモリ装置によるデータの受信、送信に対応するものではない。本発明は、特に、複数のＤＲＡＭが、クロック発信ポイントからの種々の待ち時間で、同期バスに沿って配置されている同期メモリ・システムにおいて有用である。各個々のＤＲＡＭで再クロッキングされたデータは、第１の待ち時間または第２つの待ち時間にあってもよい。システム全体は、待ち時間の少ない装置に待ち時間を加えてすべてのデータが同時にバス上に置かれることになるようにすることによって均等化される。
【００１０】
好ましい実施例において、受信クロック領域データは、受信クロックによってクロッキングされるフリップフロップを通して提供される。２つのラッチ回路は、好ましくは、予充電されたセンス増幅器を利用してセットアップ、ホールドおよびclock-to-data-outの変動によるクロックのシフトを最小限に抑えるフリップフロップである。
【００１１】
好ましくは、位相測定回路は、受信クロック、また、送信クロックそのものではなくて送信クロックと直角位相のクロックを受信して、最大有効データ・オーバーラップのポイントに最終的なスキップ信号を置くように接続した位相コンパレータを有する。位相コンパレータの出力は、インテグレータに送られ、任意のジッターを除去し、決定ポイントにおける任意の不確実性を縮小する。好ましくは、ＤＬＬあるいはＰＬＬを用いて同期化されるものよりもむしろ外部送信クロックが使用され、別の可能性のあるジッター源を除去する。本発明の性質および利点をさらに理解するためには、添付図面と共に以下の説明を参照されたい。
【００１２】
（実施例の説明）
（発明の概観）
本発明は、任意位相の入力データを採用し、最小の待ち時間で第２つのメソクロナス・クロック領域にそれをリタイムすることを可能にする。好ましい実施例のブロック図が図６に示されている。この実施例は、このリタイミングを同期化装置４００およびスキップ回路４０１を経て行う。これら個別の回路の各々およびその機能は、最後に説明する動作と共に個別に説明する。
【００１３】
（定義）
本発明の以下の説明において役に立ついくつかの用語がある。
Ｒｃｌｋ：  バス-受信クロック（図５の２０４）に位相ロックされたクロック。修正されたデューティ・サイクル。
ＴｘＣｌｋ：  バスに示すような送信クロック。ＴｘＣｌｋはＴＣｌｋを９０度だけ遅延させる（図５の２０３）。修正されたデューティーサイクルではない。
Ｔｃｌｋ：  送信クロックまわりに出力データを芯合わせするのを容易にする、ＴｘＣｌｋと直角位相のクロック信号。修正されたデューティーサイクル。
ｔＴＲ：  クロック・サイクル・タイムによって分割された、ＴｘＣｌｋからＲＣｌｋへの時間遅延。この数値は、度数単位で位相値としても表現し得る。図１と同様のシステムにおいては、ｔＴＲはバス上の装置の位置と直接的に相関させることができる。
スキップ回路：  ２つのクロックからｔＴＲ位相値を検知し、ラダー回路に制御信号を出力する回路。
クロック領域：  特定の位相を有するクロックから作動しているすべての回路。フリップフロップおよびラッチがクロック−Ｘによってクロッキングされる回路は、「Ｘ−領域」にあると言える。
ラダー回路：  受信クロック領域（Ａ領域）および送信クロック領域（Ｔ領域）にデータを渡すタイミング同期化装置。
Ｌａｄｄｅｒ０：  ＴＣｌｋの立ち下がりエッジで作動してＲＣｌｋ領域データを受け取る回路。
Ｌａｄｄｅｒ１：  ＴＣｌｋの立ち上がりエッジで作動してＲＣｌｋ領域データを受け取る回路。
スキップ値：  同期化装置回路のＬａｄｄｅｒ０あるいはＬａｄｄｅｒ１のいずれかを選ぶ、スキップ回路からの出力値。
ＲＥＴ−ＦＦ：  立ち上がりエッジ・トリガ式フリップフロップ。たとえば、クロックの立ち上がりエッジでのみその出力を変えることができるフリップフロップ。
ＦＥＴ−ＦＦ：  立ち下がりエッジ・トリガ式フリップフロップ。たとえば、クロックの立ち下がりエッジでのみその出力を変えることができるフリップフロップ。
待ち時間領域：  出力データが同じクロック・サイクル内で有効になるｔＴＲ値の範囲。
ＴＣＹＣＬＥ：  クロック・サイクル・タイム。
【００１４】
（同期化装置４００の概観）
図１０の同期化装置４００は、クロック領域交差回路４０２、リタイミング・ラッチ３０８およびマルチプレクサ３１０とからなる。クロック領域交差回路では、データがＲＣｌｋ領域からＴＣｌｋ領域に調整される。クロック領域交差回路の背後にある基本的な観念は率直である。入力データは、少なくとも１つのクロック・サイクルの長さを保証される。このタイプの入力データを与えた場合、もしそれを立ち上がりエッジ、立ち下がりエッジ・トリガ式フリップフロップに供給されたならば、任意のオフセットした位相で、フリップフロップのうちの１つがこの入力データを正しくサンプリングすることができることになる。この概念が図７に示してある。当業者であれば、エッジトリガ式フリップフロップ回路が、セットアップ時間、ホールド時間（２２６、２２８）と呼ばれる入力安定性に必要な時間を持つことは理解できよう。これらの領域において、フリップフロップに入力データが移行する場合、その出力データは未知である可能性があるし、あるいは、入力の信頼性のない表現となる。逆に、入力が２２５および２２７を変えることが許されるときには、フリップフロップは大きい時間を持ち、出力についての変更はなんら生じない。領域２２５および２２７のオーバーラップ９０１を観察することによって、任意のオフセットした位相を有する入力データを与えた場合、もし１つのＲＥＴ−ＦＦおよび１つのＦＥＴ−ＦＦが４０２におけるように構成されているならば、２つのフリップフロップ・タイプのうち１つ（しばしば、これら両方）が有効なスイッチング領域において入力データを持って与えられることになることは理解できよう。したがって、２つのフリップフロップのうち少なくとも１つは、たとえデータが他方のフリップフロップのセットアップ＆ホールド領域に到着したとしても、入力データを正しく受信したことになる。次に、ＦＥＴ−ＦＦ３０７の出力がラッチ３０８（図１０参照）を介してリタイムされ、マルチプレクサ３１０への両入力２１６および２１５が同じタイミング関係を持つ。この場合、出力は立ち上がりエッジベースとなるようにセットされる。別の実施例においては、負イネーブル・ラッチが代わりにＲＥＴ−ＦＦ ３０９の後に配置されるが、ｍｕｘからの出力は立ち下がりエッジベースとなるであろう。ｍｕｘ３１０への入力を創作する２つのデータ経路はラダー回路と呼ばれる。これは、それらが実施するリタイミング機能が上流に向かって泳いでいる魚を助けるのに用いられる「フィッシュ・ラダー」と同様だからである。ＲＥＴ−ＦＦ３０９がＬａｄｄｅｒ１を構成し、ＦＥＴ−ＦＦ３０７およびラッチ３０８がＬａｄｄｅｒ０を構成する。
【００１５】
（スキップ回路４０１の概観）
スキップ回路４０１の機能は、２つの入力クロック間の位相スキューを表す出力信号を生成することにある。それは、その決定において精密さ、精度の両方を持ってこれを行わなければならない。スキップ回路のブロック図が図２５に示してある。このスキップ回路は、位相コンパレータ４０５、インテグレータ４０４、そして、ラッチ４０３を経てその出力を生成する。位相コンパレータは、１つのクロックをサンプリングすることによって得た入力位相を他方の位相と比較する（一実施例において、ＴｘＣｌｋがＲＣｌｋと共にサンプリングされる）。クロック・スキューが０＜ｔＴＲ＜０．５（図８参照）である場合、位相コンパレータは０の出力を生成する。スキューが０．５＜ｔＴＲ＜１．０である場合には、位相コンパレータは１の出力を生成する。位相コンパレータにとって、０のｔＴＲと１のｔＴＲとの間、あるいは、０．２５のｔＴＲと１．２５のｔＴＲとの間には差はない。すなわち、その動作は位相オフセットで循環する。位相コンパレータは非常に高いゲインを持つように設計されるので、その移行が可能な限りｔＴＲ＝０．５およびｔＴＲ＝１に接近する。いずれかのクロックについてのジッターの影響を除去するために、コンパレータの出力は、インテグレータ４０４に送られる。インテグレータは、任意普通の形態のものであってもよいが、積分値がアナログである場合、積分を中断させ、フルレール回答を確実にする入力ＬａｔｃｈＳｋｉｐ２１９を含む。インテグレータは２つの目的を果す。まず、入力クロックについての任意のガウス・ジッター（ノイズ）分布の平均をとる。次に、ｔＴＲ＝０．５、１で、決定の際に任意の不確実性をさらに縮小させる。最後に、ＬａｔｃｈＳｋｉｐの表明の際に、スキップ・ラッチ４０３を閉じる。このことは、多待ち時間動作へスキップ回路を適用する際に重要となり、これについては以下に説明する。
【００１６】
（長バス動作を伴う同期化装置及びスキップ回路動作の概観）
同期化問題は、ｍｕｘ３１０を経由したＬａｄｄｅｒ０、Ｌａｄｄｅｒ１の適正な選択の１つになる。ｍｕｘ３１０のこの制御は、スキップ回路４０１で達成される。スキップ回路についての必要条件を理解するために、まず、任意の位相システムにおいて使われるときのラダー動作をさらに詳しく理解することが良いであろう。ｔＴＲがＴｘＣｌｋ、ＲＣｌｋ間の位相関係であることを想起されたい。クロックがデータと同じ方向に移動するバス付きシステム（たとえば、図１に示すもの）においては、データと共に移動しているクロックが有効データ・ウインドウの中央に位置するエッジを有することがしばしば必要である。これは、ＤＬＬまたはＰＬＬを通常伴う様々な技術を介して達成され得る。これは、ＴｘＣｌｋと直角位相（９０度移相）のクロックの創作に結果する。我々は、ＴｘＣｌｋと直角位相のこのクロックをＴＣｌｋと呼ぶことにする。このクロックは、出力データをタイムする最終出力ステージをクロッキングするのに必要であり、ＴｘＣｌｋはＴＣｌｋを９０度だけ遅らせる。
【００１７】
図９において、ラダー回路の動作範囲は、Ｘ軸としてｔＴＲと共に描写されている。この図を理解するために、Ｘ軸が時間ではないということを認識することが重要である。それは、ｔＴＲ、すなわち、ＴｘＣｌｋとＲＣｌｋの間の標準化遅延差である。こう理解すればわかるように、Ｌａｄｄｅｒ０の動作範囲２３２は１つのサイクル・タイムに接近しており、事実、ＴＣＹＣＬＥ（フリップフロップ３０７のセットアップ＋ホールド・タイム）に等しい。また、範囲２３２つの配置が（-０．２５＋ホールド）で開始し、（０．７５−セットアップ）で終了することもわかる。-０．２５、０．７５で開始し、終了し、０、１ではない理由は、ラダー回路についてＴＣｌｋを使用しているからである。ＴＣｌｋは、ｔＴＲを特定するのに用いられるＴｘＣｌｋと直角位相である。
【００１８】
図９においてＬａｄｄｅｒ０（２３２）、Ｌａｄｄｅｒ１（２３１）の最初の有効稼働範囲を見るとわかるように、これらはオーバーラップしている。このオーバーラップの中心は正確にｔＴＲ＝０．５で生じる。それ故、これは、Ｌａｄｄｅｒ０の選択からＬａｄｄｅｒ１の選択までスキップ回路が変化する理想的な位置である。この位置は、いずれのラダー回路におけるいずれの障害ポイントからも最大のマージンを提供することになる。次に、有効作動範囲を超えて押されたときにラダーに生じるものを観察されたい。Ｌａｄｄｅｒ０範囲２３２、２３３を観測することによってわかるように、ｔＴＲ＝０．７５の直前で、有効データ・ウインドウを越えて通過する入力データにより、Ｌａｄｄｅｒ０が作動を停止するが、ｔＴＲ＝０．７５を越えてすぐに再び機能を開始する。作動範囲２３３において、Ｌａｄｄｅｒ０の出力がサイクル全体を動かしている。すなわち、範囲２３３におけるＬａｄｄｅｒ０からの出力は、範囲２３２におけるその動作に対して１つの付加的な待ち時間サイクルを持つことになり、待ち時間領域２にあると言える（図４も参照）。クロックスキューが限界を越えて押される場合、両方のラダー回路、実際に任意の同期化回路がこの動作を呈することになる。これらの異なる待ち時間領域の制御は本発明の重要な革新である。
【００１９】
範囲２３２、２３３では１、２つの待ち時間でＬａｄｄｅｒ０が作動するが、範囲２３１、２３４ではＬａｄｄｅｒ１が作動する。ここで、スキップ２３０を用いて０．５のｔＴＲでＬａｄｄｅｒ０、Ｌａｄｄｅｒ１のどちらかをシームレスに選ぶということを想起されたい。スキップは、１．０のｔＴＲでＬａｄｄｅｒ１からＬａｄｄｅｒ０へ移行するのにも使用される。０．５のｔＴＲでのスキップ移行は出力では決して見えなかった（すなわち、図４の信号２３６，２３７、２３８が同一である）が、出力２３６−２３８は出力２３９と全く異なっている。２３８および２３９は同じ１．０のｔＴＲに示されているが、出力２３８はskip＝1を有すし、出力２３９が０へセットバックされたスキップを有するときには、付加的な待ち時間サイクルが出力データに加えられる。
【００２０】
再同期化回路が図１と同様にバス付き装置からなるシステムにおいて使用することができるので、装置が偶然まさに待ち時間境界に置かれた場合に、これらの装置がその出力データの待ち時間を変えないということは重要である。スキップ・ラッチ４０３（図２５）は、初期化期間後に、スキップの値が確実にラッチされ、もはや変化できないようにするのに用いられる。これは、回路がＬａｔｃｈＳｋｉｐ２１９の再表明によってリセットされない限り、出力待ち時間が変わらないということを保証する。ＬａｔｃｈＳｋｉｐの不表明後、出力データ待ち時間は変化しないことが保証され得る。フェイルセーフ動作は、同期化装置４００における同期障害ならびに安定した出力待ち時間を必要としない。
【００２１】
しかしながら、これは、スキップ回路移行が精密さおよび精度を持って配置され、同期化回路が正確な配置であり、不感帯が少なく、そして、任意の電圧、温度シフトを横切っての運動が最小でラダーを有することを要求する。スキップ位置になんらかの不正確さがあったり、有効ラダー動作の限界がある場合、スキップ回路が有効稼働範囲を超えて押されるラダー回路を選択するならば、潜在的な作動周波数、作動温度範囲あるいは作動電圧を制限することになる。本発明は、フェイルセーフ動作にとって可能な限り最小限の待ち時間で、温度、電圧変動にわたって最高の作動周波数において同期化を行う必要条件を達成する。
【００２２】
（ＬａｔｃｈＳｋｉｐ生成の概観）
或るシステムで同期化装置およびスキップ回路を使用するには、スキップ回路４０１の出力を凍結する制御信号（ＬａｔｃｈＳｋｉｐ２１９と呼ぶ（図２５参照））が必要である。この信号の表明により、スキップ値がサンプリングされ、スキップ回路４０１のラッチ４０３内に保持される。複数のクロック・サイクルをまたいで作動するシステムにおいてこの同期化装置を使用しようとする場合、この機能は、通常、初期化中に行われ、その後に、同期化回路の出力を使うことができる。これにより、異なる待ち時間を有する出力の可能性を避けることができる。
【００２３】
この機能を成し遂げるためにＬａｔｃｈＳｋｉｐ２１９を生成する可能性のある方法は多数ある。リセットされた装置を通じてそれを表明するだけでよい。リセットが表明されていないときには、スキップ出力がラッチされ、装置がリセットされない限り、出力待ち時間が固定されることになる。ＬａｔｃｈＳｋｉｐ２１９を生成する多の方法もいくつかある。使用前に装置をセットアップするのに必要な初期化パケットがあることも多い。この場合、ＬａｔｃｈＳｋｉｐはこれらのセットアップ・パケットの１つを受け取るのに用いられるストローブによって生成することができる。セットアップ・パケットがＬａｔｃｈＳｋｉｐ２１９を表明することを確実にすることによって、スキップ出力が安定した後に、同期化回路が実際に使用されて出力データをリタイムすることが保証され得る。あるいは、装置内のレジスタあるいはモード・ビットも、ＬａｔｃｈＳｋｉｐ２１９のストロービングを制御することができる。レジスタ制御を他の技術と組み合わせることによって、装置リセットを必要とすることなく後のスキップ評価およびラッチの融通性が可能となる。
【００２４】
（多数の動作周波数の概観）
いくつかの用途において、システムが多数の異なった動作周波数で作動することができることが望ましいかも知れない。このことは、異なったパワー・モードに適応するように行われ、ハイパワー回路を使用禁止にすることによってより低い周波数でより低いパワーを得ることができる。このような用途においては、多数のスキップ値（各動作周波数に対して１つずつ）を維持することが望ましいかも知れない。この場合、多数のスキップ・ラッチおよび多数のＬａｔｃｈＳｋｉｐ信号を、図２６に示すように使用することができる。このシステムにおいては、初期化は、個別のスキップ・ラッチにラッチする前に各動作周波数で位相コンパレータおよびインテグレータの評価を行うことを含むであろう。次に対応するラッチ出力を使用するだけで現在の動作周波数についての適切なスキップ値を選ぶことができる。
【００２５】
（同期化回路４００の詳細）
タイミング同期化装置は、２つの任意位相のメソクロナス・クロック領域の順序回路間でデータのやり取りをする。同期化装置は、フェイルセイフで、すなわち、準安定性およびタイミング・グリッチなしに、そして、１つのクロック領域の回路から別のクロック領域の回路までの待ち時間を最小限に抑えながら、信号をリタイムすることを確実にする。それに加えて、図１に示すようなバス・システム上で出力データ伝送をタイムするのに使用されるとき、同期化装置は出力データをタイムし、したがって、出力データは或る特定のサイクル内で宛先に到着する。
【００２６】
タイミング同期化装置の好ましい実施例が図１０に示してある。この回路は、Ｒｃｌｋフリップフロップ３０６、Ｔｃｌｋフリップフロップ３０７，３０９、Ｔｃｌｋラッチ３０８およびマルチプレクサ３１０からなる。この同期化装置は、２つの信号経路、すなわち、ラダー回路（Ｌａｄｄｅｒ０、Ｌａｄｄｅｒ１）に仕切り、各々がそれ自身の待ち時間特性を有するものであってもよい。データは、ノード２１７、６０３、２１４，２１６を経由してＬａｄｄｅｒ０を通って伝播し、また、データは、ノード２１７、６０３，２１５を経由してＬａｄｄｅｒ１を通って伝播する。図１１は、ｔＴＲ＝０．０についてのノード２１５および２１６での代表的な出力を示している。（ここで、ＴｘＣｌｋがＴＣｌｋを９０度位相だけ遅らせることに注意されたい）。このｔＴＲで、Ｌａｄｄｅｒ０の出力はＬａｄｄｅｒ１よりも１クロック・サイクル分遅い。この結果は、代表的には、ｔＴＲ＝-０．２５〜０．２５となる。ｔＴＲ＝０．２５〜０．７５の場合、Ｌａｄｄｅｒ０およびＬａｄｄｅｒ１の出力は、同一であり、図１２に示すように、同期化装置のオーバーラップ領域を示している。ｔＴＲ＝０．７５〜１．２５では、同期化装置出力（図１３参照）は、図１１における相対的なラダー回路出力位置に通じる次のサイクルへ移動している。したがって、この動作は、ＴＣＹＣＬＥと共に循環する。
【００２７】
同期化装置４００の回路動作において、フリップフロップ３０６はすべてのＲＣｌｋサイクルで入力ＤａｔａIｎ２１７をサンプリングし、１つのクロック・サイクル（図１１参照）について出力８０３を有効に保つ。各クロック・サイクルの初めで、ノード６０３のところでの値はＤａｔａIｎ２１７に依存して移行し得る。この移行期間中、データはエッジ・トリガ式フリップフロップによって確実にサンプリングされ得ない。ＴＣｌｋフリップフロップ３０７、３０９がそれぞれＴＣｌｋの立ち下がりエッジ、立ち上がりエッジ上でデータをサンプリングするので、これら２つのフリップフロップのうち少なくとも１つは、変化していないときにノード６０３からデータをサンプリングすることを保証される。これは、フェイルセーフ・データ再同期化にとって必要である。ｔＴＲのたいていの範囲について、Ｔｃｌｋサンプリング・エッジのいずれもがノード６０３のデータ移行付近になく、両ラダー回路は正しい値をキャプチャすることになる。しかしながら、ｔＴＲの値が変化するにつれて、ノード２１６でのＬａｄｄｅｒ０からの出力は、おそらくゼロか、あるいは、ノード２１５でのＬａｄｄｅｒ１からの出力よりも１サイクル分遅い。
【００２８】
各ラダー回路は、準安定性での問題に遭遇することなく或る特定の動作ｔＴＲ範囲を通じて作動する。各ラダー回路が作動する有効ｔＴＲ範囲は、或る特定のＴＣｌｋサンプリング・エッジ２１２がＶａｌｉｄ  Ｄａｔａウインドウ８０３内に低下する範囲によって、決定される。たとえば、ｔＴＲ値が０．２５である場合（図１２に関して、ＲＣｌｋ２１１、ＤａｔａIｎ２１７およびＶａｌｉｄ  Ｄａｔａ６０３は９０度だけより早くシフトされなければならない）ＴＣｌｋのサンプリング立ち上がりエッジはＶａｌｉｄ  Ｄａｔａ６０３のテイル部分と整合する。ｔＴＲが０．２５より大きい場合には、ＲＣｌｋ２１１、ＤａｔａIｎ２１７およびＶａｌｉｄ  Ｄａｔａ６０３は時間的により遅くシフトし、最終的に、ＴＣｌｋのサンプリング立ち上がりエッジがｔＴＲ＝１．２５でＶａｌｉｄ  Ｄａｔａ６０３の開始部分と整合する。Ｖａｌｉｄ  Ｄａｔａウインドウ６０３の中心６１３がラダー回路のサンプリングＴＣｌｋエッジと整合したとき、各ラダー回路の作動範囲の中心が生じる。Ｖａｌｉｄ  Ｄａｔａ  Ｃｅｎｔｅｒ６１３が図１２と同様に２つのサンプリングＴＣｌｋエッジから等距離のとき、２つのラダー回路間のオーバーラップの中心が生じる。
【００２９】
図１４の領域（ａ）は、同期化装置回路対ｔＴＲ位相値における２つのラダー回路の作動範囲を示す。（図１に示すようなバス／チャネルについての装置のコンテキストにおいて、或る特定のｔＴＲ値は、バス上の位置のインジケータとして解釈することができる。）先の段落で説明したように、Ｌａｄｄｅｒ０は、理想的には、-０．２５〜０．７５のｔＴＲ範囲（図１４（ａ）／６２２参照）について作動する。同様に、Ｌａｄｄｅｒ１は、０．２５〜１．２５のｔＴＲ範囲（図１４（ａ）／６２２参照）について理想的に作動する。ラダー回路６２１、６２２間のオーバーラップ・ウインドウは、Ｌａｄｄｅｒ１、Ｌａｄｄｅｒ０の出力が同じである領域を示している。Ｌａｄｄｅｒ０  ６２３は、Ｌａｄｄｅｒ０  ６２１と同様である。しかしながら、その出力は、時間的に１サイクル分遅くシフトされている。図１４の領域（ａ）に示される各ラダー回路の端は、特定のラダー回路が信頼できなくなるｔＴＲ作動範囲を示している。
【００３０】
適切な動作は、ラダー回路の端を避けるはずである。したがって、理想的な構成要素でも、Ｌａｄｄｅｒ０  ６２１は、ｔＴＲ＝−０．２５およびｔＴＲ＝０．７５のところを除いて、全範囲について使用することができる。Ｌａｄｄｅｒ１  ６２２は、ｔＴＲ＝０．２５、ｔＴＲ＝１．２５のところを除いて、全範囲について使用できる。オーバーラップ領域において、Ｌａｄｄｅｒ０あるいはＬａｄｄｅｒ１を使用し得る。最適なフェイルセーフ動作のために、マルチプレクサ３１０（図１０）は、現ラダー回路の終わりに達する前に他のラダー回路を選ばなければならない。したがって、最適ｍｕｘセレクト０〜１移行はｔＴＲ＝０．５のところでなければならず、最適ｍｕｘセレクト１〜０移行はｔＴＲ＝1.０のところでなければならない。ｔＴＲリーフを通じたｍｕｘセレクト値のこの配置は、非理想的なラダー回路のタイミング・エラーについて等量のマージンを残す。これらのエラーは、次のセクションにおいて説明する。注意すべき重要なポイントは、同期化装置に対する入力クロックが周期的であり、したがって、同期化装置特性がｔＴＲスペースで反復するということである。
【００３１】
同期化装置の実際的な実施は、図１４の領域（ａ）と完全に一致しないラダー回路を生成する。図１４の領域（ａ）における各ラダー回路は、ｔＴＲ範囲の理論的なフル・クロック・サイクルをまたぎ、そして、ラダー回路オーバーラップの半サイクルに結果する。しかしながら、実際問題として、同期化装置は回路欠陥によりオーバーラップ・マージンが少ない。これらの欠陥は、図１４の領域（ｂ）に示すようにシフティング・ラダー回路アラインメントの形を取り、図１５に示すようにラダー回路を狭くする。したがって、ラダー回路は、各々、１クロック・サイクル分より短くまたがり、オーバーラップ領域は半クロック・サイクルよりも短くまたがり、ラダー回路位置は理想的なケースからシフとされる可能性がある。
【００３２】
クロック領域交差の分析はこれらのエラーのソースを示す。図１０におけるフリップフロップ３０６、３０７間の信号流の検査はタイミング・エラーのいくつかを最も良く示す。理想的な場合には、すべてのフリップフロップはゼロのsetup-or-hold必要条件を有する。そして、clock-to-data-out遅延はない。我々の実例においては、ＲＣｌｋフリップフロップ３０６は、波形７０２（図１６参照）によって示すように、clk-to-data-out遅延を持っていない。波形７０４，７０５は、ＴＣｌｋフリップフロップ３０７についてゼロのセットアップ、ホールドを示している。図１６の理想的な回路要素は、１クロック・サイクルの長いラダー回路スパンに結果し、対称的なオーバーラップ領域がスパンの両端でＬａｄｄｅｒ０、Ｌａｄｄｅｒ１間にある。
【００３３】
実際のフリップフロップも同様に実行しない。図１７および図１８は、それぞれ、代表的なおよび遅い性能状態についてのフリップフロップ３０６、３０７（図１０に示す）の波形を示している。様々な回路性能は、実際的なシステムの様々な集積回路トランジスタ・プロセス、電源電圧および動作温度による。ラダー回路位置シフトは、フリップフロップ３０６のclock-to-data-out遅延変動およびフリップフロップ３０７のsetup／hold変動によって生じる。これらの変動は、図１６に示す理想的なケースにおけるＲｃｌｋ、Ｔｃｌｋ（したがって、有効なｔＴＲ）をシフトすることに等しい。集積回路内におけるＴｃｌｋ、Ｒｃｌｋの任意のミスマッチのクロック・バッファリングは付加的なラダー回路シフトに影響する。
【００３４】
ラダー回路シフトの他に、別のエラー・ソースがラダー回路の有効動作領域を狭くする。この狭くするということは、回路３０６のデータ移行時間７１７およびフリップフロップ３０７のセットアップ７１４／７２４、ホールド７１５／７２５によって生じる。この期間内で、信号８０３のキャプチャは信頼性がなく、間違ったデータを招く可能性がある。クロック・ジッターもまたクロックに移相を強要することによってラダー回路を狭くする。クロック・ジッターは、セットアップ、ホールドおよびclock-to-data-out７１８／７２８の変動によって生じた不確実性領域に加わる。同様の分析が、フリップフロップ３０６、３０９間のクロック領域境界にも当てはまる。
【００３５】
同期化装置の回路具体例は、種々のプロセス、電圧および温度条件を通じて最大のタイミング・マージンについて上述のラダー回路シフトおよび縮小と取り組む。一実施例の部分的な回路図が図１９に示してある。この回路は、ラダー回路シフト、縮小のソースに、遅延補償およびより速い回路性能と共に取り組む。ラダー回路シフティングを最小にするために、予充電されたセンス増幅器が、第２ステージ・フリップフロップについて使用される。クロッキングされたセンス増幅器ラッチ遅延は、ほぼ先のステージ・ラッチのclock-to-data-out遅延と共に変化する。それにより、より遅いトランジスタ性能条件においては、クロッキングされたセンス増幅器はそのサンプリング・ポイントを遅らせ、ノード８０６およびＬａｄｄｅｒ(21) 特表２００１−５２０４１７１７で加算されたclock-to-data-out遅延を補正することになる。シングル・エンデッド信号６０３の代わりに微分信号８０８、８０７を使用することによって、センス増幅器ゲインを増大させ、フリップフロップ３０７、３０９のセットアップおよびホールドを低下させることができる。
【００３６】
図１０に示す同期化装置回路は、ＲＣｌｋ８３１／８３０の立ち下がりエッジおよびＴＣｌｋ８０８／８０９の立ち上がり、立ち下がりエッジを使用してオーバーラップするＬａｄｄｅｒ０、Ｌａｄｄｅｒ１を生成する。この構成は、立ち上がりエッジ・トリガ出力を生成する。立ち下がりエッジ駆動のシーケンシャル論理システムのための別の実施例において、我々はすべてのシーケンシャル要素のサンプリング・エッジの極性を反転させ、適正な動作を達成することができた。あるいは、同期化装置はＴｃｌｋの１つのサンプリング・エッジと共にＲＣｌｋの立ち上がり、立ち下がりエッジを使用してもよい。この実施例が図２０に示してある。クロック領域交差を達成するのに用いる基本的前提は、１つのクロック領域の異なった位相でクロッキングされて他の領域にデータを送る回路を使用することである。その最終結果は、図１４に示すものと同様のオーバーラップ・ラダー回路である。
【００３７】
タイミング同期化装置の他の実施例が図２１に示してあり、これは、４つのオーバーラップしているラダー回路９６１／９７１、９６２／９７２、９６３／９７３および９６４／９７４からなる。その結果生じたラダー回路範囲は、図２２でｔＴＲ値に対して示してある。我々は、各ラダー間の理想的なオーバーラップが３／４ＴＣＹＣＬＥであることに注意しなければならない。これにより、狭くなって、ラダー回路シフト、縮小およびＭｕｘ９７９セレクト制御におけるエラーについてのかなり多くのマージンを可能とする。この実施例は、同期化問題を４つの個別のラダー回路に分割している。この概念をさらに採用する場合、任意数のラダー回路（２以上）を使用することができ、理想的なオーバーラップ・マージンは、
0004484359.tif 000003
である。上記の式は、オーバーラップ・マージンの増大を抑え、ラダー回路数を増加させることを示している。また、ラダー回路の数が増加すると、より多数のｍｕｘセレクト制御が必要である。
【００３８】
同期化装置の異なる実施例が図２３に示してある。この同期化装置は、「混合された」クロックIｎｔＣｌｋ１００５の使用でデータを再編成する。混合されたクロックは、図２４に示すようにＲＣｌｋ、ＴＣｌｋ間の途中にある位相を有する。同期化装置は、それぞれ、ＲＣｌｋ１００２、IｎｔＣｌｋ１００５およびＴＣｌｋ１００８によってクロッキングされる３つ順次に接続されるラッチ１００３、１００６、１００９を包含する。
【００３９】
ノード１００４は、ＲＣｌｋ有効データを表している。この有効データは、ｔＴＲが増大するにつれてＴＣｌｋに対して位相を遅らせて移動する。この同期化装置回路は、０〜１の全ｔＴＲ範囲にわたってＴＣｌｋに対してＤａｔａ  Ｏｕｔ／１０１０の出力遅延を保存する。ｔＴＲ＝０で、入力クロックＲＣｌｋ、ＴＣｌｋは整合し、同期化装置は回路を通じて３つのクロック・サイクル遅延を有する。ｔＴＲが増加するにつれて、ＲＣｌｋ／１００２およびＶａｌｉｄ  Ｄａｔａ／１００４がＴＣｌｋを遅らせ、同期化装置回路の待ち時間が減少してＴＣｌｋに対してＲＣｌｋの増大する遅延を補償する。したがって、ＲＣｌｋ有効データ１００４が１つのクロック・サイクル分まで遅らされたときでも、Ｄａｔａ  Ｏｕｔ１０１０は同じＴＣｌｋエッジによってキャプチャされる。
【００４０】
この同期化装置にとって必要な入力は、ＲＣｌｋ１００２、IｎｔＣｌｋ１００５、ＴＣｌｋ１００８およびＲＣｌｋ領域ＤａｔａＩｎ１００１である。外部のマルチプレクサ・セレクト・ジェネレータは不要である。好ましい実施例において、IｎｔＣｌｋ１００５が位相補間回路またはミキサ回路１００７によって生成される。
【００４１】
（スキップ回路４０１の詳細）
スキップ回路４０１（図２５参照）は、位相コンパレータ４０５、インテグレータ４０４、ラッチ４０３からなる。スキップ回路の目的は、最小幅不確実性領域でｔＴＲの非常に正確な測定値を生成することである。また、初期化後に出力値をラッチし、ｔＴＲが待ち時間領域境界付近にある場合に多数の動作待ち時間の可能性を排除する能力も提供する。
【００４２】
最小限の不確実性でもって正確な測定値を得るために、図２７に示すの位相コンパレータの好ましい実施例が使用される。この位相コンパレータは、バス・データをサンプリングするのに使用される同じタイプの高ゲイン・狭不確実性ウインドウ・データ・レシーバを含む。好ましい実施例においては、これらは、ＲＣｌｋと整合したＤＬＬまたはＰＬＬと一緒に使用され、したがって、任意のレシーバ・セットアップ＋ホールド・タイムが除かれる。データ・レシーバを使用して外部信号ＴｘＣｌｋをサンプリングすることは内部クロックをサンプリングすることを通して２つの利点を有する。まず、内部クロックが多くの理由のためにクロック復元回路によってスキューされる可能性があるので、バス位置の最も正確な測定値を与えるということである。次に、利用できる送信領域位相情報の最も低いジッター・ソースを提供するということである。ＤＬＬまたはＰＬＬで復元された任意のクロック（たとえばＴＣｌｋ）は、必然的に入力クロックのところよりも高いジッターを有することになる。
【００４３】
理想的な場合、単純なＦＥＴ（立ち下がりエッジ・トリガ式）データ・レシーバを使用して位相コンパレータ出力を生成することができた。しかしながら、高速で移動しているクロックはデューティーサイクルひずみを受けやすいので、デューティーサイクル補正式クロック（図２８参照）によってクロッキングされながらデューティーサイクルひずみのあるクロックをサンプリングする場合、この様式で使用される単一データ・レシーバはｔＴＲの値を間違って決定する可能性があった。ＲＣｌｋがその対応するバス・クロックの立ち下がりエッジにロックする場合には、５０％より小さいＴｘＣｌｋデューティーサイクル２４８は、ＦＥＴ位相コンパレータに０．５より大きいｔＴＲのところにｔＴＲ＝０．５移行を不正に置かせることになろう。同様に、ＴｘＣｌｋデューティーサイクルが５０％より２４９である場合、コンパレータは０．５より低いｔＴＲのところにｔＴＲ＝０．５移行を誤って置くことになろう。インバータ４１２と共にＲＣｌｋの立ち上がりエッジでクロッキングされる図２７の付加的なデータ-レシーバ４０８を使用すると、この問題を避けることができる。単一の立ち下がりエッジがＴｘＣｌｋのタイムシフとされた立ち上がりエッジにより間違った上方を提供する０．５のｔＴＲ付近では、ＲＣｌｋの立ち上がりエッジはＴｘＣｌｋの立ち下がりエッジ付近にあることになる。マルチプレクサ４１０およびフリップフロップ４１１を使用してＴｘＣｌｋの立ち下がりエッジをサンプリングするのに最も近いデータ・レシーバを選ぶことによって、位相コンパレータは、ＴｘＣｌｋについて非５０％デューティーサイクルを大目に見ることができる。これは、ＲＣｌｋ立ち上がりエッジ２５３、ＲＣｌｋ立ち下がりエッジ２５２両方の時点で波形２４８、２４９、２５１の異なった特性を観察することによって、より容易に理解することができる。したがって、図２７の好ましい実施例は、ＴＣｌｋおよびＲｃｌｋのおおざっぱな比較を行い、制御信号、ＳｅｌＥｖｅｎ２４７を生成するのにフリップフロップ４１１を使用する。この制御信号は、マルチプレクサ４１０によって使用され、-０．２５＜ｔＴＲ＜０．２５についてはＦＥＴレシーバ４０９を選び、０．２５＜ｔＴＲ＜０．７５についてはＲＥＴレシーバ４０８を選ぶ。たいていの場合、出力２４５、２４６が同一であるから、ＳｅｌＥｖｅｎの正確なｔＴＲ位置決めは重要ではない。したがって、この好ましい実施例は、潜在的にデューティーサイクルひずみのあるクロックをデューティーサイクル訂正済みのクロックと比較し、立ち下がりエッジのみを測定することによって位相比較において高精度を維持することができる。別の実施例において、インバータは移動させ、マルチプレクサ制御を切り替えて、同じ効果をもってＴｘＣｌｋの立ち上がりエッジと比較することができる。
【００４４】
位相コンパレータ４０５の別の実施例は直角位相検出器を使用してＲＣｌｋ、ＴＣｌｋを比較する。直角位相検出器は、クロックが直角位相のときにそれを示す出力を有する。これは、ＴＣｌｋに対して直角位相であるクロックを使用する必要性を除き、組み合わせ式システムに２つのクロックのみを使用させ得る。
【００４５】
スキップ回路インテグレータ４０４は標準のインテグレータからなる。このインテグレータは、ジッター分布（たとえば、ガウス分布）によって創作された不確実性ウインドウを狭くするのに役立つ。任意のクロックが、位相の分布として現れる或る量のランダム・ノイズを有することになる。位相コンパレータの出力にインテグレータを使用することによって、信号２４３の移行がＴｘＣｌｋ２２０、ＲＣｌｋ２１１両方のジッター分布の平均ポイントに最も近くなるのが確実になる。その一方で、任意の単一時点で、生の位相コンパレータ出力２４２がクロック・ジッター分布の極値を比較する結果となり得る。
【００４６】
図２９に示すインテグレータ４０４の好ましい実施例はアナログ・インテグレータであり、上下にステアされた電流ソースをコンデンサ４１７、４３６に送る。これが、出力ノード２４３、２７０に微分電圧を創り出す。これらの電流のステアリングは、コンパレータ出力２４２によって駆動されるスイッチによって制御される。好ましい実施例においては、クロックが安定した後、少なくとも４０サイクルにわたってインテグレータが作動してクロック入力の適切なガウス分布を確実にすることができる。この時間後、ＬａｔｃｈＳｋｉｐ２１９信号がインテグレータ、スキップ・ラッチ４０３の両方に対して表明され、積分を停止させる。インテグレータがアナログである場合、この信号は高ゲイン・センス増幅器４１５も表明する。ＬａｔｃｈＳｋｉｐ２１９はスキップ・ラッチ４０３も閉ざし、したがって、スキップ回路出力は、ＬａｔｃｈＳｋｉｐ２１９が再表明されない限り、変化することはない。
【００４７】
（同期化装置４００およびスキップ回路４０１の複合動作の詳細）
同期化装置４００およびスキップ回路４０１は、同期システムを構成している。両方の要素は、好ましい実施例では、２つのメソクロナス・クロック領域間でデータを適切に同期化するため必要である。本発明は、１）高動作周波数、次に、２）フェイルセーフ動作を維持しながらの低待ち時間を可能にする。
フェイルセーフ動作を達成するために、同期化装置は入来するデータを適切に送り、リタイムすること両方を失敗してはならない。最も重要な失敗のメカニズムは、現在の動作条件（ｔＴＲ、電圧、温度）について不適切なラダーを使用した場合である。これは、本発明が最小限に抑えるエラー・ソースにより生じる可能性がある。多数の可能性のあるエラー・ソースは、システムのサイクル・タイムを制限する式で生じる。可能性のあるエラー・ソースとしては次のものがある。
【００４８】
１．  ラダー回路範囲の絶対的配置のエラー
これは、その障害ポイントにより近いラダー回路を選ぶスキップ回路に結果する可能性がある。それは、また、最適とは言えないラダー回路オーバーラップ領域にも結果する可能性がある。
２．  動作環境（たとえば、Ｖｄｄ、温度）の変化によるラダー回路のシフティング
作動中のラダー回路シフトを最小限に抑えて、機能的ラダー回路範囲が現在作動しているｔＴＲを通らないようにしなければならない。
３．  ラダー回路不感帯
フリップフロップ・セットアップ＆ホールド不確実性領域によって生じるラダー回路不感帯は、データ再同期化用のタイミング・バジェットから直接減ずる。クロック・ジッターも、ラダー回路範囲をシフトするのに役立ち得る。
４．  スキップ精度
スキップ移行の絶対配置におけるエラーは、１項と同様に、その障害ポイントにより近いラダー回路を選ぶということに結果する可能性がある。
５．  スキップ不確実性
スキップにおける大きな不確実性ウインドウは、スキップがその障害ポイントにより近いラダー回路を選ぶ可能性があることを意味する。
両方の回路の好ましい実施例は、可能性のあるエラー・ソースの各々を最小限に抑え、最大のフェイルセーフ動作周波数を与える。上記のリストに示すエラー・ソースは、フェイルセーフ動作を行うために維持されなければならない式に至る。この式は、システムの最小限のサイクル時間制限を表している。
0004484359.tif 000004
【００４９】
好ましい実施例は、ｔＴＲ＝1にスキップ移行を配置する。先に説明したように、この移行の配置は第１の待ち時間領域の境界をセットする。別の実施例では、ＲＣｌｋまたはＴｘＣｌｋ／ＴＣｌｋは一定の時間または位相遅れだけより早くあるいはより遅くシフトすることができ、それによって、第１の待ち時間領域境界が１以外のｔＴＲで生じ得る。同期化装置４００およびスキップ回路４０１の両方が始動基準としてＲＣｌｋを使用するので、両方の回路は一緒にシフトすることになる。すべての待ち時間領域は１サイクル幅広く残るので、すべての境界端も同様に移動することになる。
【００５０】
遅延要素をなんら必要としないこの性質の別の実施例は、立ち下がりエッジ・トリガ式フリップフロップ３０６の代わりに立ち上がりエッジ・トリガ式フリップフロップで図１０のＲ領域データを受信し、スキップの値は通常の実施例のスキップ値から反転させられる。これらの２つの変化をなすことによって、回路は-０．５＜ｔＴＲ＜０．５へ第１の待ち時間領域範囲を移動させ、０．５＜ｔＴＲ＜１．５へ第２の範囲を移動させる。領域スタートの開始点および終了点のおおざっぱな調整が望ましい場合には、これが行われる可能性がある。
【００５１】
したがって、同期化装置とスキップ回路の組み合わせは、図１のそれのようなメソクロナス・システムについての高周波フェイルセーフ同期化を行う。任意の位相遅れの可能性があり、フェイルセーフ待ち時間は最小にされ、出力待ち時間は回路動作ポイントにおける変化にもかかわらず一定に保たれる。
【００５２】
（多数の動作周波数）
スキップの再評価を必要とすることなく多数の動作周波数間でのスイッチングを行うためには、スキップ回路４３０の代替実施例が図２６に示すように使用され得る。本実施例においては、図２５の単一のスキップ・ラッチ４０３が、多数のスキップ・ラッチ４３１〜４３３と取り替えられている。それに加えて、図２５の単一のＬａｔｃｈＳｋｉｐ信号２１９が、ＬａｔｃｈＳｋｉｐ＿Ｆ１〜ＬａｔｃｈＳｋｉｐ＿Ｆｎ２６０〜２８５と取り替えられている。各所望の動作周波数について１つのラッチと１つのＬａｔｃｈＳｋｉｐ信号がある。
【００５３】
この実施例の動作は次の通りである。初期化時に、所望動作周波数の各々が選ばれ、初期化される。この初期化中、新しい周波数でのクロックの安定化後、適切なＬａｔｃｈＳｋｉｐ＿Ｆｘ信号が、先に説明した技術の１つを使用して表明される。すべての周波数初期化された後、各所望周波数でのスキップに対する正しい値がそれぞれのスキップ・ラッチ４３１〜４３３に記憶される。次に、装置はスキップ回路が再評価するのを待つことなく、現在の作動周波数に依存して適切なスキップ値を簡単に選ぶことができる。多重化回路が、図１０のスキップ入力２１３に選択したスキップ・ラッチを接続してもよい。
【図面の簡単な説明】
【図１】  図１は、データと共に送られるクロックを含むシステムの線図である。
【図２】  図２は、Gasbarro等の同期化回路の線図である。
【図３】  図３は、Portmann等の同期化回路の線図である。
【図４】  図４は、混合待ち時間領域の線図である。
【図５】  図５は、クロック関係の線図である。
【図６】  図６は、再同期化システムの好ましい実施例のブロック図である。
【図７】  図７は、入力ウインドウ、ＲＥＴ−ＦＦ／ＦＥＴ−ＦＦの線図である。
【図８】  図８は、コンパレータ特性の線図である。
【図９】  図９は、ラダー回路範囲の線図である。
【図１０】  図１０は、同期化回路の線図である。
【図１１】  図１１は、ｔＴＲ＝0.0での同期化装置タイミングの線図である。
【図１２】  図１２は、ｔＴＲ＝0.5での同期化装置タイミングの線図である。
【図１３】  図１３は、での同期化装置タイミングの線図である。
【図１４】  図１４は、同期化装置回路変動によるシフティング用ラダー回路の線図である。
【図１５】  図１５は、回路不感帯による縮小用ラダー回路の線図である。
【図１６】  図１６は、ラダー回路シフト、縮小ソース（理想的な要素）の線図である。
【図１７】  図１７は、ラダー回路シフト、縮小ソース（代表的な要素）の線図である。
【図１８】  図１８は、ラダー回路シフト、縮小ソース（遅い要素）の線図である。
【図１９】  図１９は、同期化装置部分実施例の線図である。
【図２０】  図２０は、別の同期化装置の線図である。
【図２１】  図２１は、４位相同期化装置の線図である。
【図２２】  図２２は、４位相ラダー回路ｔＴｒの線図である。
【図２３】  図２３は、混合ラダー回路同期化装置の線図である。
【図２４】  図２４は、混合ラダー回路同期化装置クロック・タイミングの線図である。
【図２５】  図２５は、スキップ回路実施例の線図である。
【図２６】  図２６は、別のスキップ回路実施例の線図である。
【図２７】  図２７は、位相コンパレータ実施例の線図である。
【図２８】  図２８は、ＴｘＣｌｋデューティ・サイクル・エラーに対する位相コンパレータ応答の線図である。
【図２９】  図２９は、インテグレータ実施例の線図である。
【図１】
0004484359.tif 000005
【図２】
0004484359.tif 000006
【図３】
0004484359.tif 000007
【図４】
0004484359.tif 000008
【図５】
0004484359.tif 000009
【図６】
0004484359.tif 000010
【図７】
0004484359.tif 000011
【図８】
0004484359.tif 000012
【図９】
0004484359.tif 000013
【図１０】
0004484359.tif 000014
【図１１】
0004484359.tif 000015
【図１２】
0004484359.tif 000016
【図１３】
0004484359.tif 000017
【図１４】
0004484359.tif 000018
【図１５】
0004484359.tif 000019
【図１６】
0004484359.tif 000020
【図１７】
0004484359.tif 000021
【図１８】
0004484359.tif 000022
【図１９】
0004484359.tif 000023
【図２０】
0004484359.tif 000024
【図２１】
0004484359.tif 000025
【図２２】
0004484359.tif 000026
【図２３】
0004484359.tif 000027
【図２４】
0004484359.tif 000028
【図２５】
0004484359.tif 000029
【図２６】
0004484359.tif 000030
【図２７】
0004484359.tif 000031
【図２８】
0004484359.tif 000032
【図２９】
0004484359.tif 000033