第1の回路と第2の回路とを同期させるためのシステムであって、第1の回路の出力に結合された第1の入力および第2の回路の出力に結合された第2の入力を有する第1の位相比較器と、クロックソース発生器に結合された入力、第1の回路のクロック入力に結合された出力、および位相比較器の出力に結合された制御入力を有する第1の位相ロックループ回路とを含み、第1の位相比較器は、第1のモードまたは第2のモードで選択可能に動作するよう構成され、第1のモードで動作している間、第1の位相比較器は、第1の回路および第2の回路から出力された同期波形間の第1の位相差を決定し、第1の位相差を示す信号を第1の位相ロックループ回路の制御入力に出力し、選択された値未満である第1の位相差に応じて、第1の回路と第2の回路とが同期されていることを示す信号を第1の回路および第2の回路に出力し、第2のモードになり、第2のモードで動作している間、位相比較器は、第1の入力および第2の入力によって受信される信号間の第2の位相差を決定し、選択された値未満である第2の位相差に応じて、第1の回路と第2の回路とが同期されていることを示す信号を第1の回路および第2の回路に出力する、システム。第1の位相比較器は起動時に第1の動作モードになる、請求項1に記載のシステム。第1の位相比較器は、第1の回路または第2の回路のうちのいずれかから受信された同期要求に応じて第1の動作モードになる、請求項1に記載のシステム。第1のモードで動作している間、第1の位相比較器は、第1の回路および第2の回路に対して、それぞれの同期波形を出力するよう信号で合図する、請求項1から3のいずれかに記載のシステム。第2のモードで動作している間、第1の位相比較器は、決定された第2の位相差を第1の位相ロックループ回路の制御入力に出力する、請求項1から4のいずれかに記載のシステム。第2のモードで動作している間、第1の位相比較器は、選択された値以上である第2の位相差に応じて第1のモードになる、請求項1から5のいずれかに記載のシステム。第1の位相比較器はさらに、第3のモードで選択可能に動作するよう構成され、第2のモードで動作している間、第1の位相比較器は、回路のうちの1つからの監視-同期要求信号に応じて第3のモードになり、第3のモードで動作している間、第1の位相比較器は、回路のうちの1つからの同期-要求信号に応じて第1のモードになる、請求項1から6のいずれかに記載のシステム。第1の位相比較器は起動時に第3の動作モードになる、請求項7に記載のシステム。第1の位相ロックループ回路は第1の回路内で実現される、請求項1から8のいずれかに記載のシステム。同期波形は方形波である、請求項1から9のいずれかに記載のシステム。同期波形は、3よりも大きいバイナリ値を符号化するデジタル波形である、請求項1から9のいずれかに記載のシステム。第1の位相比較器は、位相ロックループ周波数をシフトさせる方向を決定し、決定された方向を第1の位相ロックループ回路の制御入力に出力するよう構成される、請求項1から11のいずれかに記載のシステム。第2の回路の出力に結合された第1の入力、および、第3の回路の出力に結合された第2の入力を有する第2の位相比較器と、第3の回路のクロック入力に結合された出力、および、第2の位相比較器の出力に結合された制御入力を有する第2の位相ロックループ回路とをさらに含み、第2の位相比較器は、第1のモードまたは第2のモードのうちの1つで選択可能に動作するよう構成され、第1のモードで動作している間、第2の位相比較器は、第2の回路および第3の回路によって出力される同期波形間の第2の位相差を決定し、第2の位相差を示す信号を第2の位相ロックループ回路の制御入力に出力し、選択された値未満である第2の位相差に応じて、第2の回路と第3の回路とが同期されていることを示す信号を第2の回路および第3の回路に出力し、第2のモードになり、第2のモードで動作している間、第2の位相比較器は、第2の位相比較器の第1の入力および第2の入力によって受信される信号間の第3の位相差を決定し、選択された値未満である第3の位相差に応じて、第1の回路と第2の回路とが同期されていることを示す信号を第2の回路および第3の回路に出力する、請求項1から12のいずれかに記載のシステム。第1の回路と第2の回路とを同期させる方法であって、第1の回路および第2回路に対し、それぞれの波形出力を発生させるよう信号で合図するステップと、第1の回路および第2の回路からの生成された波形出力間の第1の位相差を決定するステップと、第1の位相差に対応する第1の量だけ第1の回路のクロック信号を調整するステップと、しきい値未満である第1の位相差に応じて、第1の回路および第2の回路に通常動作を開始するよう信号で合図するステップとを含む、方法。第1の回路および第2の回路からの生成された波形出力間の第2の位相差を決定することによって第1の回路および第2の回路を監視するステップと、第2の位相差に対応する第2の量だけ第1の回路のクロック信号を調整するステップとをさらに含む、請求項14に記載の方法。ロックステップ同期で生じる1つの問題として、2つ以上の同期された回路によって用いられるクロック信号の同期が挙げられる。同期された回路が別個のクロックを用いる場合、これらの回路を共通の状態に初期化するためにクロックを同期させなければならない。共通のクロックによって駆動された場合でさえ、生成された信号は、異なる長さの信号線、材料の欠陥、または温度、キャパシタンスおよびの中間装置のばらつきにより、時間の違いにより異なる成分に達する可能性がある。同期が達成された後でも、クロック信号は完全には安定せず、いくらかの時間が経過した後には異なる傾向がある。これはクロックドリフトとして知られている。クロックが同期された後でさえも、プロセッサの指示実行を同期させなければならない。このように、同期プロセスの一環として、プロセッサ命令を同期させなければならない。集積回路において用いられるクロック信号周波数が高くなると、ロックステップを同期させて維持することがより困難になる。プロセッサがギガヘルツ範囲で動作し、ソース発振器が何分の一かのプロセッサ周波数で動作する場合、2つ以上のプロセッサをロックステップで整合させるのは困難である。プロセッサを物理的に隔てると、シリコンおよび基板の遅延によりこの問題が悪化するおそれがある。この発明の1つ以上の実施例は、上述の問題のうち1つ以上に対処し得る。要約一実施例においては、第1の回路および第2の回路を同期させるためのシステムが提供される。当該システムは、第1の回路の出力に結合された第1の入力と、第2の回路の出力に結合された第2の入力とを有する第1位相比較器を含み得る。第1の位相ロックループ回路は、クロックソース発生器に結合された入力と、第1の回路のクロック入力に結合された出力と、位相比較器の出力に結合された制御入力とを有し得る。これらはシステムに含まれ得る。第1の位相比較器は、第1のモードと第2のモードとで選択可能に動作するよう構成することができる。この実施例においては、第1のモードで動作している間、第1の位相比較器は、第1の回路と第2回路とから出力される同期波形間の第1の位相差を決定することができ、第1の位相差を示す信号を第1の位相ロックループ回路の制御入力に出力することができる。選択された値未満である第1の位相差に応じて、第1の位相比較器は、第1の回路および第2の回路が同期されて第2のモードになったことを示す信号を第1の回路および第2の回路に出力することができる。第2のモードで動作している間、位相比較器は、第1の入力および第2の入力によって受信される信号間の第2の位相差を決定することができる。選択された値未満である第2の位相差に応じて、位相比較器は、第1の回路および第2の回路が同期されていることを示す信号を第1の回路および第2の回路に出力することができる。この実施例においては、第1の位相比較器は、起動時に第1の動作モードになり得る。第1の位相比較器は、第1の回路または第2の回路のうちのいずれかから受信した同期要求に応じて第1の動作モードになり得る。第1のモードで動作している間、第1の位相比較器は、第1の回路および第2回路に対してそれぞれの同期波形を出力するよう信号で合図し得る。第2のモードで動作している間、第1の位相比較器は、決定された第2の位相差を第1の位相ロックループ回路の制御入力に出力することができる。第2のモードで動作している間、第1の位相比較器は、選択された値以上である第2の位相差に応じて第1のモードになり得る。この実施例においては、第1の位相比較器はさらに、第3のモードで選択可能に動作するよう構成することができる。第2のモードで動作している間、第1の位相比較器は、回路のうちの1つからの監視-同期要求信号に応じて第3のモードになり得る。第3のモードで動作している間、第1の位相比較器は、回路のうちの1つからの同期-要求信号に応じて第1のモードになり得る。第1の位相比較器は、起動時に第3の動作モードになり得る。第1の位相ロックループ回路は第1の回路内で実現することができる。同期波形は方形波であってもよい。同期波形は、3よりも大きいバイナリ値を符号化するデジタル波形であってもよい。この実施例においては、第1の位相比較器は、位相ロックループ周波数をシフトさせる方向を決定し、決定された方向を第1の位相ロックループ回路の制御入力に出力するよう構成することができる。第2の回路は、クロックソース発生器または付加的なクロックソース発生器に結合されたクロック入力を有し得る。この実施例においては、システムはさらに、第2の回路の出力に結合された第1の入力、および第3の回路の出力に結合された第2の入力を有する第2の位相比較器と、第3の回路のクロック入力に結合された出力、および第2の位相比較器の出力に結合された制御入力を有する第2の位相ロックループ回路とを含み得る。第2の位相比較器は、第1のモードまたは第2のモードのうちのいずれかで選択可能に動作するよう構成され得る。第1のモードで動作している間、第2の位相比較器は、第2の回路と第3の回路とによって出力される同期波形間の第2の位相差を決定し、第2の位相差を示す信号を第2の位相ロックループ回路の制御入力に出力し、選択された値未満である第2の位相差に応じて、第2の回路と第3の回路とが同期されていることを示す信号を第2の回路および第3の回路に出力し、第2のモードになる。この実施例においては、第2のモードで動作している間、第2の位相比較器は、第2の位相比較器の第1の入力および第2の入力によって受信される信号間の第3の位相差を決定し、選択された値未満である第3の位相差に応じて、第1の回路と第2の回路とが同期されていることを示す信号を第2の回路および第3の回路に出力する。別の実施例においては、複数の回路を同期させるためのシステムが提供される。当該システムは、位相比較器、第1の回路および第2の回路を含み得る。第1の回路は、位相比較器の入力の第1のセットに結合された1つ以上の出力を含む複数の出力を有し得る。第2の回路は、位相比較器の入力の第2のセットに結合された1つ以上の出力を含む複数の出力を有し得る。システムはさらに、第1の回路の1つ以上の入力に結合されたタイミング調整回路を含み得る。位相比較器は、入力の第1のセットと入力の第2のセットとの間の時間オフセット差を決定することができる。位相比較器は、時間オフセット差をタイミング調整回路に出力することができる。タイミング調整回路は、位相差に応じて、信号出力を第1の回路の1つ以上の入力に合わせて調整することができる。この実施例においては、タイミング調整回路は、第1の回路の1つ以上の入力に結合されたプログラム可能遅延回路の第1のセットを含み得る。位相比較器は、時間オフセット差を用いて、プログラム可能遅延回路の第1のセットの有する遅延パラメータを調整することができる。システムはさらに、第1の回路の1つ以上の出力に結合された出力プログラム可能遅延回路の第2のセットを含み得る。この場合、位相比較器は、時間オフセット差を用いて、プログラム可能遅延回路の第2のセットの有する遅延パラメータを調整することができる。第1のタイミング調整回路は、第1のクロックソース発生器に結合された入力と、第1の回路のクロック入力に結合された出力と、位相比較器の出力に結合された制御入力とを有する位相ロックループ回路であってもよく、位相ロックループは、時間オフセット差を用いて、クロック入力に出力されたクロック信号を調整することができる。さらに別の実施例においては、第1の回路および第2の回路を同期させるための方法が提供される。第1の回路および第2の回路は、それぞれの波形出力を生成するよう信号で合図される。第1の回路および第2の回路からの生成された波形出力間で第1の位相差を決定することができる。第1の回路のクロック信号は、第1の位相差に対応する第1の量だけ調整することができる。しきい値未満である第1の位相差に応じて、第1の回路および第2の回路は、通常の動作を開始するよう信号で合図され得る。この実施例においては、当該方法はさらに、第1の回路および第2の回路からの生成された波形出力間の第2の位相差を決定することによって、第1の回路および第2の回路を監視するステップと、第2の位相差に対応する第2の量だけ第1の回路のクロック信号を調整するステップとを含み得る。他のさまざまな実施例を以下の詳細な説明および添付の特許請求の範囲において記載することが認識されるだろう。図面の簡単な説明本発明の1つ以上の実施例のさまざまな局面および利点が、以下の詳細な説明を検討し、添付の図面を参照するとより明らかになるだろう。詳細な説明同期処理システムは、しばしば、複数の回路またはプロセッサをロックステップで動作させることを必要とする。ロックステップ動作は、各々の回路またはプロセッサによって用いられるクロックを初めに同期させることを必要とする。さらに、ロックステップ動作中、同期が維持されなければならない。本発明のさまざまな実施例は、同期させるべき2つの回路の1つ以上の出力を監視し、出力間の位相差を決定する。一実施例においては、位相比較器回路を用いて、同期させるべき2つのプロセッサの出力を比較し、これらプロセッサのうち一方または両方が用いるクロックを調整するのに用いられる位相差を決定する。図1は、本発明のさまざまな実施例に従ったプロセッサおよび位相比較器回路によって実現される状態図の例を示すフローチャートである。起動102時に、プロセッサ140および位相比較器104は、それぞれの較正モード状態144および106になる。較正モードである間、プロセッサ140は同期波形を発生させる。位相比較器104は、各プロセッサの少なくとも1つの出力を受信し、比較して、プロセッサ出力間の位相差を決定する。位相比較器104は、位相差に基づいて、プロセッサのうちの1つが用いるクロック信号を調整して同期を行なう。同期されると、位相比較器104は、プロセッサ140同士が同期されていることをこれらプロセッサ140に通知し、ロックステップ維持状態108に移行する。プロセッサ140が同期通知を受信した後、プロセッサは、ロックステップ動作状態146に移行する。状態146である間、プロセッサ140は、通常のロックステッププロセッサ動作を続ける。プロセッサ140が状態146で動作している間、位相比較器はロックステップ維持状態108で動作する。ロックステップ維持状態である間、位相比較器は、各プロセッサ140の少なくとも1つの出力を監視し、出力を比較して位相差を決定する。位相比較器104は、ロックステップ同期を維持するために、位相差に基づいてプロセッサのうちの1つが用いるクロック信号を調整する。決定された位相差が選択された値よりも大きい場合、いくつかの実現例においては、位相比較器は、プロセッサ同士が非同期であることを示す信号をこれらプロセッサに送り、較正モード状態106に戻る。これにより、プロセッサ140も較正モード状態144に戻される。選択された値が、プロセッサまたは他のデジタル源からレジスタを介して予め設定され得るかまたは供給され得る。いくつかの実施例においては、プロセッサ140は互いと位相比較器104とに対して信号送信することができ、この例においては、状態150および152によって示されるような監視-同期モードに移行することができる。監視-同期で動作させるための要求が位相比較器104によって受信されると、位相比較器は監視限定状態110になる。この状態では、位相比較器は出力を監視し続け、プロセッサに対し、これらプロセッサ同士が非同期になったかどうかを通知する。プロセッサは、非同期の通知を受信した場合、非同期状態152に移行する。状態150または152である間にプロセッサ140のうちの1つが同期モードで動作する必要がある場合、プロセッサは同期要求を生成する。プロセッサ140が監視-ロックステップ非同期状態152である場合、プロセッサ140および位相比較器104は、それぞれの較正モード状態144および106に戻る。プロセッサ140が監視-ロックステップ同期状態150である場合、プロセッサ140および位相比較器104は、それぞれ、ロックステップ動作状態146およびロックステップ維持状態108に戻る。いくつかの実現例においては、位相比較器は、プロセッサ同士が非同期になったと判断された後、監視を停止し、アイドル状態112で動作してもよい。いくつかの実施例においては、状態110および112は単一モードまたは単一状態と称される。一実施例においては、位相比較器はロックステップ維持状態108からアイドル状態112になり、次いで、監視-同期要求が送信または受信されると、プロセッサ140は、監視-ロックステップ状態152になるだろう。別の実施例においては、プロセッサ同士が同期された後、位相比較器104およびプロセッサ140は、それぞれ、較正モード状態106および140から監視限定状態110および監視-ロックステップ状態150になる。別の実施例においては、プロセッサ同士が同期された後、位相比較器104およびプロセッサ140は、それぞれ、較正モード状態106および140からアイドル状態112および監視-ロックステップ状態152になる。さらに別の実施例においては、位相比較器およびプロセッサは、それぞれ、起動状態114からアイドル状態112および監視-ロックステップ状態152になる。この実施例においては、プロセッサは、1つのプロセッサが同期要求を生成するまで、非同期で動作する。同期要求が生成されると、プロセッサ140および位相比較器104はそれぞれの較正モード状態144および106になる。図2は、較正モードである間プロセッサ同士を同期させるためのプロセスの例を示すフローチャートである。プロセッサは、ステップ202において、選択された同期波形を生成および出力するよう信号で合図される。ステップ204において、位相差が同期波形間で決定される。判断ステップ208において、決定された差が選択された値未満であれば、プロセッサ同士は同期されたとみなされ、同期状態をプロセッサに通知する信号がステップ212において送信される。判断ステップ208において、決定された差が選択された値以上であれば、ステップ210において、プロセッサのうちの1つが用いるクロック信号が位相差に基づいて調整される。クロック信号の調整後、プロセッサ同士が同期されるまで、波形を発生させて位相を決定するプロセスが繰り返される。プロセッサのうち1つ以上に入力されるクロック信号を生成する位相ロックループPLL:phaselockedloop回路の制御入力に位相差を出力することによって、調整が行われてもよい。いくつかの実現例においては、プロセッサは、プロセッサの制御入力を介して調整され得る内部位相ロックループを有し得る。固有の同期波形を発生させて出力することによって、位相差はより容易に決定される。方形波またはバイナリ符号化された数字などのいくつかの異なる同期波形が用いられてもよい。図3は、同期のために本発明のさまざまな実施例に従って用いられ得る同期波形の例を示す。波形の例には、いくつかのサブ波形330、333、334、336、338、340および343が含まれる。各々のサブ波形は、高い部分または低い部分を有し、固有の数の単位周期の期間を有する。中心サブ波形336は、1つの単位周期期間をなす高い部分および低い部分を有する。一方の方向への波形の後、高い部分の期間が、338、340および343によって示されるように、後続のサブ波形毎に1単位ずつ延ばされる。他方の方向への波形の後、低い部分の期間が、334、333および330によって示されるように、後続のサブ波形毎に1単位ずつ延ばされる。中心サブ波形336からの距離は、サブ波形のうちの高い部分と低い部分との期間によって決定することができる。中心サブ波形336への最短方向は、延ばされた期間を有するサブ波形の部分たとえば低い部分のうちの高い部分によっても示される。一実施例においては、同期波形を発生させることなく較正モード中に同期が達成される。この実施例においては、プロセッサの1つ以上のデータ出力を比較して位相差を決定する。比較および分析のためにデータ出力をバッファリングするのに、シフトレジスタおよび比較器が用いられてもよい。図4は、この発明のさまざまな実施例に従ったプロセッサの同期のための回路を示す。この例においては、共通のクロック信号がクロックソース404によって生成され、プロセッサA406およびプロセッサB408に出力される。位相ロックループ402が、プロセッサA406へのクロック入力を調整するためにクロックソース404とプロセッサA406との間に設けられる。各プロセッサの出力は位相比較器回路410に入力される。位相比較器は、プロセッサ406および408によって生成される出力間の差を決定する。同期モードまたは非同期モードで動作させるための要求を伝えるための信号線412が設けられる。位相比較器410からプロセッサ406および408に同期状態を伝えるための第2の信号線414が設けられる。一実施例においては、別個のクロックソースによって駆動されるプロセッサ同士が同期されてもよい。図5は、本発明のさまざまな実施例に従った、別個のクロックソースによって駆動されるプロセッサ同士の同期のための回路構成の例を示す。この例においては、クロックソースA502によって生成される第1のクロック信号およびクロックソースB504によって生成される第2のクロック信号は、それぞれ、プロセッサA508およびプロセッサB510を駆動するために用いられる。位相ロックループ506はプロセッサA508に入力されるクロックを調整するのに用いられる。各プロセッサの出力は位相比較器回路512に入力される。位相比較器は、プロセッサ508および510によって生成される出力間の差を決定し、決定された位相差を位相ロックループ506に出力する。同期モードまたは非同期モードで動作させるための要求を伝えるための信号線514が設けられる。位相比較器512からプロセッサ508および510に同期状態を伝えるための第2の信号線516が設けられる。いくつかの実現例においては、プロセッサのうち一方のプロセッサのクロック信号周波数だけを調整して、調整がなされない他方のプロセッサと合わせるようする。代替的には、2つの比較されたプロセッサは各々、調整可能であってもよい。このような実現例においては、どちらのプロセッサも、もう片方のプロセッサとロックステップになるよう調整することができる。一方のプロセッサが他方のプロセッサよりも遅れて、それ以上速く駆動させることができない場合、この他方のプロセッサの速度を落としてこれら2つのプロセッサを同期させることができる。図6は、調整可能な位相ロックループが両方のプロセッサ上で実現されている構成を示す。この例においては、クロックソースA602によって生成される第1のクロック信号と、クロックソースB604によって生成される第2のクロック信号とは、それぞれ、プロセッサA610およびプロセッサB612を駆動するのに用いられる。位相ロックループA606およびB608は、それぞれ、プロセッサA610およびB612に入力されるクロック信号を調整するのに用いられる。各プロセッサの出力は位相比較器回路614に入力される。位相比較器は、プロセッサ610および612によって生成される出力間の差を決定し、位相ロックループ回路606/608のうちのいずれか1つに位相差を出力する。いくつかの実現例においては、位相比較器は、より短い期間でプロセッサ同士を同期させるよう両方の位相ロックループ回路を調整してもよい。たとえば、位相比較器614がプロセッサ610および612の出力の位相差を決定した後、この位相比較器がこの差を分割し、これに応じて各々のプロセッサを調整してもよい。この態様では、1つのプロセッサしか調整できない場合、必要とされ得る時間の半分で同期させなければならない。本発明のさまざまな実施例に従って、プロセッサによって生成される同期要求と位相比較器によって決定される同期状態とを伝えるのに、いくつかの異なる信号伝達構成を用いてもよい。たとえば、図7は、2つのプロセッサと1つの位相比較器との間の1つの信号伝達構成を例示する回路のブロック図を示す。プロセッサA702は信号線710でプロセッサB704に結合される。位相比較器706は、第2の信号線712でプロセッサA702およびB704に結合される。動作時に、信号線710を用いて、プロセッサ間の同期要求を伝えてもよい。たとえば、プロセッサA702が同期された動作を必要とすると判断した場合、線712上で信号を生成させることができる。その結果、プロセッサは、ロックステップ構成を支援するために同期波形を発生させる可能性がある。位相比較器は、プロセッサ同士が信号線712を介して同期されているかどうかを示すことができる。図8は、2つのプロセッサと1つの位相比較器との間の別の信号伝達構成を例示する回路を示すブロック図である。この構成例においては、プロセッサA802およびB804が信号線814および812で位相比較器806に結合される。動作時に、信号線814を用いて、同期要求を個々に位相比較器806に伝えてもよい。位相比較器は、信号線812を介して同期波形を出力するようプロセッサA802およびB804に信号で合図することができる。信号線812を用いて、プロセッサ同士が同期されているかどうかを示すこともできる。図9は、2つのプロセッサと1つの位相比較器との間のさらに別の信号伝達構成を例示する回路のブロック図を示す。この構成例においては、プロセッサA902およびB904は、信号線914および912で位相比較器906に結合される。この構成においては、双方向信号バス916を用いて、プロセッサA902およびプロセッサB904と位相比較器906との間で信号をやりとりすることができる。この構成は、生成された信号がプロセッサおよび位相比較器にとって可視となることを設計者が所望する場合には有用である。本発明のいくつかの実施例は、同期用のプロセッサの内部にある位相ロックループ回路を利用する。多くのプロセッサは、プロセッサの動作速度を調節するために内部に位相ロックループ回路を含む。これらの多くのプロセッサにおいては、位相ロックループは外部にアクセス可能な制御ポートを介して調整することができる。図10は、本発明のさまざまな実施例に従った内部位相ロックループ回路でプロセッサ同士を同期させるための回路構成の例を示す。この例においては、クロックソースA1002によって生成される第1のクロック信号、およびクロックソースB1004によって生成される第2のクロック信号は、それぞれ、プロセッサA1006およびプロセッサB1012を駆動するのに用いられる。プロセッサAおよびBは、プロセッサコア1010および1016をそれぞれ含み、位相ロックループ回路1008および1014をそれぞれ含む。各々のプロセッサにおいては、クロック信号入力の周波数が位相ロックループ回路によって調整され、プロセッサコアに出力される。各プロセッサ1006および1012の1つ以上の出力は位相比較器1018の入力に結合される。位相比較器1018は、プロセッサの1つ以上の出力間の位相差を決定し、1つまたは両方の位相ロックループ回路1008および/または1014の制御入力に位相差を出力して、上述のさまざまな実施例において述べたようにプロセッサ速度を調整する。いくつかのプロセッサにおいては、内部位相ロックループ回路が含まれ、これは外部制御によっては調整できない。このような場合、外部位相ロックループ回路を用いてプロセッサをロックステップにすることができる。図11は、図10に示される内部位相ロックループ回路を備えたプロセッサを、プロセッサA1006に入力されるクロック信号を調整するために追加された外部位相ロックループ回路1020と同期させるための回路構成を示す。この例においては、クロックソースA1002によって生成される第1のクロック信号は、位相ロックループ回路1020によって受信される。位相ロックループ回路1020は、位相比較器1018の出力に結合された制御入力を有する。位相ロックループ回路1020は、決定された位相差に基づいて、受信されたクロック信号を調整し、結果として生じるクロック信号をプロセッサA1006に出力する。いくつかのプロセッサにおいては、内部位相ロックループ回路が含まれ、これは外部クロックソースによって容易に調整することはできない。これらのプロセッサにおいては、外部位相ロックループを備えたプロセッサに入力されるクロック信号を調整しても、プロセッサ速度を十分に制御して2つのプロセッサを同期させることはできないかもしれない。本発明の一実施例においては、それぞれのプロセッサの速度を調整するために、限界入力上で調整可能な遅延回路を用いることによってプロセッサ同士を整合させることができる。別の実施例においては、調整可能な遅延回路を限界入力および限界出力上で用いて、プロセッサ速度を調整して同期を達成する。プロセッサ同士を同期させるために、遅延回路と共にセマフォ型メッセージ伝達が用いられてもよい。図12は、本発明のさまざまな実施例に従って限界入力および出力上で遅延回路を用いてプロセッサ同士を同期させるための回路構成の例を示す。この例においては、クロックソース1206によって生成されるクロック信号は、プロセッサA1220およびB1230を駆動するために用いられる。プロセッサAおよびBは、プロセッサコア1224および1234をそれぞれ含み、位相ロックループ回路1222および1232をそれぞれ含む。各々のプロセッサにおいては、クロックソース1206から入力されたクロック信号が位相ロックループ回路によって調整され、プロセッサコアに出力される。各々のプロセッサ1220および1230の1つ以上の出力が位相比較器1242の入力に結合される。位相比較器1242は、プロセッサの1つ以上の出力間の位相差を決定し、出力遅延回路1240および1244ならびに/または入力遅延回路1208および1214に位相差を出力する。決定された位相差は、遅延回路に入力されてもよく、図示のとおり直接、出力遅延回路1240および1244に入力されてもよい。代替的には、決定された位相差は、入力遅延回路1208および1214のクロック信号入力に結合された外部位相ロックループ回路1210および1212によって、図示のとおり、遅延回路に入力されるクロック信号を調整するために用いられてもよい。この発明のさまざまな実施例は、主として、2つのプロセッサの同期に関して記載されているが、如何なる数のプロセッサを同期させるのにも用いられ得る。たとえば、図13は、本発明のさまざまな実施例に従って3つのプロセッサを同期させるための回路のブロック図を示す。回路は、3つのプロセッサA1308、B1310およびC1312を含む。プロセッサA1308およびプロセッサB1310の出力は位相比較器A1314に出力される。位相比較器A1314は、プロセッサAとプロセッサBとの出力間の位相差を決定し、位相ロックループA1304にこの差を出力する。同様に、プロセッサB1310およびプロセッサC1312の出力は各々、位相比較器C1316に出力される。位相比較器C1316は、プロセッサB1310およびプロセッサC1312の出力間の位相差を決定し、位相ロックループC1306にこの差を出力する。位相ロックループは、クロックソース1302から入力されるクロック信号を受信する。位相ロックループ1304および1306は、それぞれの位相比較器回路1314および1316から受信した位相差に基づき、クロックサイクル入力を調整する。調整されたクロック信号は、位相ロックループ1304および1306からプロセッサA1308およびプロセッサC1312にそれぞれ出力される。上述の態様でプロセッサと位相比較器回路との間で同期要求および信号をやりとりするための通信回線図示せずも含まれる。4つ以上のプロセッサが同期されると、回路は、プロセッサ出力間の比較を行なうためにいくつかの態様で配置され得る。たとえば、一構成においては、3つ以上のプロセッサがスター型構成で第4のプロセッサと比較され同期されてもよい。図14は、スター型構成に配置されたプロセッサ同期回路を示す。この構成においては、3つのプロセッサ1404、1406および1408が、それぞれの比較器1410、1412および1414を用いて、プロセッサ1402と比較され、同期される。別の構成においては、プロセッサがデイジーチェーン構成に配置され得る。図15は、デイジーチェーン構成に配置されたプロセッサ同期回路を示す。この例においては、プロセッサ1402は比較器1410を介してプロセッサ1404と比較される。比較器1410は位相差を決定し、これに応じてプロセッサ1404を調整する。プロセッサ1406は比較器1412を介してプロセッサ1404とデイジーチェーン接続される。比較器1410と同様に、比較器1412は、プロセッサ1404と1406との間の位相差を決定し、これに応じてプロセッサ1406を調整する。同様の態様で、プロセッサ1408は比較器1414を介してプロセッサ1406とデイジーチェーン接続される。3つ以上のプロセッサが同期される場合、単相または多相の比較器回路が用いられてもよい。多相の比較器回路が含まれる場合、プロセッサのサブセットが同期されていることを、1つの位相比較器が、これらプロセッサのサブセットに信号で伝えるのが早すぎることのないよう注意しなければならない。実現可能な一実現例においては、プロセッサに同期状態を伝える出力信号線は、ANDゲートへの入力と、ANDゲートから各プロセッサへの出力とが可能である。別の実施例においては、位相比較器は、共通のバスを介して各々に状態メッセージを伝えることができ、この場合、各々の位相比較器の状態メッセージが互いの位相比較器にとって可視になっている。代替的には、各々のプロセッサはすべてのプロセッサがいつ同期されたかを判断するために互いと通信してもよい。図16は、本発明のさまざまな実施例に従って位相比較および位相ロックループ回路を含むいくつかの構成要素を実現するのに用いられ得るプログラム可能な集積回路の例を示すブロック図である。位相比較器回路は、プログラマブル論理で実現され、プログラム可能な集積回路のリソースを相互に接続し得る。FPGAは、いくつかの異なるタイプのプログラマブル論理ブロックをアレイに含み得る。たとえば、図16は、多数のさまざまなプログラマブルタイルを含むFPGAアーキテクチャ320を示す。これらのプログラマブルタイルは、マルチギガビットトランシーバMGTs321、コンフィギュラブル論理ブロックCLBs322、ランダムアクセスメモリブロックBRAMs323、入出力ブロックIOBs324、コンフィギュレーションおよびクロッキング論理CONFIG/CLOCKS325、デジタル信号処理ブロックDSPs326、リコンフィギュレーションポートRECONFIG336、専用の入出力ブロックI/O327、たとえば、クロックポート、ならびに、他のプログラマブル論理328、たとえば、デジタルクロックマネージャ、アナログデジタルコンバータ、システム監視論理などを含む。いくつかのFPGAはまた、専用のプロセッサブロックPROC330を含む。いくつかのFPGAにおいては、各々のプログラマブルタイルは、各々の隣接するタイルにおいて対応する相互接続素子との標準化された接続を有するプログラマブル相互接続素子INT331を含む。したがって、ともに統合されたプログラマブル相互接続素子によって、図示されるFPGAのためのプログラマブル相互接続構造が実現される。プログラマブル相互接続素子INT331はまた、図16の上部に含まれる例によって示されるのと同じタイル内にあるプログラマブル論理素子との接続を含む。たとえば、CLB322は、単一のプログラマブル相互接続素子INT331に加えて、ユーザ論理を実現するようプラグラム可能なコンフィギュラブル論理素子CLE332を含み得る。BRAM323は、1つ以上のプログラマブル相互接続素子に加えて、BRAM論理素子BRL333を含み得る。典型的には、タイルに含まれる相互接続素子の数はタイルの高さに依存する。図示される実施例においては、BRAMタイルは、4つのCLBと同じ高さを有しているが、他の数のものたとえば5を用いることもできる。DSPタイル326は、適切な数のプログラマブル相互接続素子に加えて、DSP論理素子DSPL334を含み得る。IOB324は、たとえば、プログラマブル相互接続素子INT331の1つのインスタンスに加えて、入出力論理素子IOL335の2つのインスタンスを含み得る。当業者に明らかになるように、たとえばI/O論理素子335に接続された実際のI/Oパッドは、図示されるさまざまな論理ブロック上方で層化された金属を用いて製造され、典型的には、入出力論理素子335の面積には限定されない。図示される実施例においては、図16において網掛けして示されるダイの中心付近の縦列状区域は、コンフィギュレーション、クロックおよび他の制御論理に用いられる。この縦列から延びる水平区域329は、FPGAの幅にわたってクロックおよびコンフィギュレーション信号を分散させるのに用いられる。図16に示されるアーキテクチャを利用するいくつかのFPGAは、FPGAの大部分を構成する規則的な縦列構造を乱す付加的な論理ブロックを含む。付加的な論理ブロックはプログラマブルブロックおよび/または専用の論理であり得る。たとえば、図16に示されるプロセッサブロックPROC330は、CLBおよびBRAMのいくつかの縦列にまたがって存在する。図16が例示的なFPGAアーキテクチャだけを示すよう意図されていることに留意されたい。縦列における論理ブロックの数、縦列の相対的な幅、縦列の数および順序、縦列に含まれる論理ブロックのタイプ、論理ブロックの相対的寸法、ならびに相互接続/論理実現例は、図16の上部に含まれているが、単に例示的なものにすぎない。たとえば、実際のFPGAにおいては、典型的には、CLBが現れている場合は常に、ユーザ論理を効率的に実現し易くするために、CLBのうち2つ以上の隣接する縦列が含まれる。当業者であれば、1つ以上のプロセッサとプログラムコードで構成されるメモリ構成とを含むさまざまな代替的なコンピュータの構成が、この発明のさまざまな実施例のプロセスおよびデータ構造のホストとなるのに好適であり得ることを認識するだろう。図17は、この明細書中に記載されたプロセスが汎用のプロセッサを用いて実現され得るコンピュータの構成の例を示すブロック図である。当業者であれば、1つ以上のプロセッサとプログラムコードで構成されるメモリ構成とを含むさまざまな代替的なコンピュータの構成が、プロセスおよびデータ構造のホストとなり、この発明のさまざまな実施例のアルゴリズムを実現するのに好適であり得ることを認識するだろう。プロセッサが実行可能なフォーマットで符号化されるこの発明の実施例のプロセスを含むコンピュータコードは、磁気もしくは光学のディスクもしくはテープなどのさまざまなコンピュータ読取り可能記憶媒体もしくは搬送チャネル、電子記憶装置を介して、またはネットワークを介してアプリケーションサービスとして、格納および供給され得る。プロセッサコンピュータの構成1700は、ホストバス1712に結合された1つ以上のプロセッサ1702、クロック信号発生器1704、メモリ部1706、記憶部1708および入出力制御部1710を含む。構成1700は、回路基板上の別個の構成要素で実現されてもよく、または、集積回路内において内部で実現されてもよい。集積回路内において内部で実現される場合、プロセッサコンピュータの構成は他の場合にはマイクロコントローラとして公知である。コンピュータ構成のアーキテクチャは、当業者によって認識され得るように、実現例の要件に依存している。プロセッサ1702は、1つ以上の汎用プロセッサ、または、1つ以上の汎用プロセッサと好適なコプロセッサとの組合せ、または1つ以上の専用のプロセッサたとえばRISC、CISC、パイプラインなどであってもよい。メモリ構成1706は、典型的には、複数のレベルのキャッシュメモリおよびメインメモリを含む。記憶構成1708は、磁気ディスク図示せず、フラッシュ、EPROMまたは他の不揮発性データストレージによって提供されるようなローカルおよび/またはリモートの永続記憶装置を含み得る。記憶部は読取または読取/書込が可能であり得る。さらに、メモリ部1706および記憶部1708は単一の構成で組合わされてもよい。プロセッサ構成1702は、記憶部1708および/またはメモリ部1706の構成でソフトウェアを実行し、記憶部1708および/またはメモリ部1706の構成からデータを読出し、記憶部1708および/またはメモリ部1706の構成にデータを格納し、入出力制御構成1710を介して外部装置と通信する。これらの機能はクロック信号発生器1704によって同期される。コンピュータ構成のリソースは、オペレーティングシステム図示せずまたはハードウェア制御部図示せずによって管理されてもよい。この発明の1つ以上の実施例は、同期回路を実現するさまざまなシステムに適用可能であると考えられる。この発明の他の局面および実施例は、この明細書中に開示される本発明の明細書およびその実施を検討することによって当業者に明らかになるだろう。明細書および例示される実施例が単に例としてしかみなされず、本発明の真の範囲および精神が添付の特許請求の範囲によって示されるよう意図されている。