(57)【特許請求の範囲】
【請求項１】
異なるクロックドメイン間でデータ信号を転送する方法であって、カレントクロックドメインとの前記データ信号の同期化を含み、当該方法は：
先行クロックドメインから前記カレントクロックドメインに前記データ信号を転送する段階；
前記カレントクロックドメインの第１レジスタによって、有効信号を受信し、準同期化割り込み要求信号を出力する段階；
前記準同期化割り込み要求信号及び完全同期化割り込み許可信号を前記カレントクロックドメインのマルチプレクサに提供し、第３の信号を出力する段階；及び
前記カレントクロックドメインの第２レジスタによって、前記第３の信号を受信し、前記完全同期化割り込み許可信号を出力する段階；
を有する、方法。
【請求項２】
前記完全同期化割り込み許可信号を第３レジスタに提供し、出力信号を出力する段階；及び
前記完全同期化割り込み許可信号及び前記出力信号を排他的ＯＲゲートに提供し、更なるマルチプレクサにストローブ信号を出力し、前記カレントクロックドメインと同期化されたデータ信号を出力する段階；
を更に有する請求項１に記載の方法。
【請求項３】
先行クロックドメインからカレントクロックドメインにデータ信号を転送するためのルックアップテーブル；
有効信号を受信し、準同期化割り込み要求信号を出力する、前記カレントクロックドメインの第１レジスタ；
前記準同期化割り込み要求信号及び完全同期化割り込み許可信号を受信し、第３の信号を出力するように構成されたマルチプレクサ；及び
前記第３の信号を受信し、前記完全同期化割り込み許可信号を出力する、前記カレントクロックドメインの第２レジスタ；
を有する集積回路。
【請求項４】
前記完全同期化割り込み許可信号を受信し、出力信号を提供する第３レジスタ；及び
前記完全同期化割り込み許可信号及び前記出力信号を受信するように構成され、且つ前記カレントクロックドメインと同期化されたデータ信号を出力する更なるマルチプレクサにストローブ信号を出力するように構成された排他的ＯＲゲート；
を更に有する請求項３に記載の集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異なるクロックドメイン（ｃｌｏｃｋ−ｄｏｍａｉｎ）間でのデータ信号転送のための方法であって、データ信号の、当該データ信号が処理されるカレントクロックドメインとの同期化（ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ）を含む方法に関する。
【背景技術】
【０００２】
将来の大型のデジタルシステムでは、チップ全体を単一クロックと同期化して且つスキュー（ｓｋｅｗ）およびジッタ（ｊｉｔｔｅｒ）を無視し得るものとすることは、たとえ不可能ではないとしても、きわめて困難なこととなる。そのため、単一クロックチップは比較的高価になる。広域クロック法（ｇｌｏｂａｌ  ｃｌｏｃｋ  ａｐｐｒｏａｃｈ）の問題は、遅延の不整合が、最長パスのセットアップ時間（ｓｅｔｕｐ  ｔｉｍｅ）のマージン（余裕）および最短パスのホールド時間（ｈｏｌｄ  ｔｉｍｅ）のマージン（余裕）をそれぞれ減少させるため、チップ全体へのクロック分配には、遅延の大きな変動に対する耐性がないという点にある。負の余裕は、ＩＣ（集積回路）の誤動作につながる。クロック分配ネットワークにおける遅延の不整合は、もし設計によってもたらされるならばスキューと呼ばれ、もしチップ上のノイズによってもたらされるならばジッタと呼ばれる。将来のプロセス技術では、ゲートおよびフリップフロップの遅延がより小さくなるため、遅延の不整合は縮小しなければならない。
【０００３】
ワイヤの遅延は、トランジスタのようには変化しない。そのため、大きなＩＣ上の長いワイヤ上の遅延は、もはや１つのクロックサイクルには適合しないことになり、このことが、設計におけるタイミングクロージャ（ｔｉｍｉｎｇ−ｃｌｏｓｕｒｅ）の達成を更に複雑にする。
【０００４】
これらの理由から、すでに今日、大きなＩＣは、各クロックドメインがチップ面積の一部だけに及ぶような複数のクロックドメインに分割される。一クロックドメイン内では、すべての信号は同一のクロック信号と同期化される。クロックドメイン内の信号は、当該クロック信号上のイベントに応答してのみ変化することができ、クロックドメイン内のすべての信号は、各クロックイベントと関連するアパーチャ時間（ａｐｅｒｔｕｒｅ  ｔｉｍｅ）の間は安定である。複数の信号を複数のクロックドメインにグルーピングすることは、これらの信号を、さらなる同期化なしで論理回路を使用して結合（ｃｏｍｂｉｎｅ）してクロック記憶素子（ｃｌｏｃｋ  ｓｔｏｒａｇｅ  ｅｌｅｍｅｎｔ）内にサンプリングする（ｓａｍｐｌｅ）ことを可能にするので、好都合である。当該クロックドメインにおけるメンバーシップは、単純な構成規則の下に閉じられている。２つの信号が同じクロックドメインに属するならば、最大または最小遅延規制（ｍａｘｉｍｕｍ  ｏｒ  ｍｉｎｉｍｕｍ  ｄｅｌａｙ  ｃｏｎｓｔｒａｉｎｓ）を超過しないそれらの信号の論理結合もそのクロックドメインに属する。また、上記のクロック信号によって駆動されるクロック記憶素子を利用してそのクロックドメイン内の信号をサンプリングする事は常に安全（即ち、同期化失敗の確率は０）であり、このサンプリングの結果もそのクロックドメインに属する。
【０００５】
しかし、２つのクロックの周波数および位相関係は一般的に非決定論的なので、２つのクロックドメイン間の通信は自明なことではない。したがって、クロックドメイン間通信（ｉｎｔｅｒ  ｃｌｏｃｋ−ｄｏｍａｉｎ  ｃｏｍｍｕｎｉｃａｔｉｏｎ）は、明示的な同期化を必要とし、一のクロックドメインからの信号は、異なるクロックドメインで使用できるようになる前に、ローカルクロックに同期化されなければならない。
【０００６】
ＵＳ５４５０４５８Ａ号は、マルチプルサブシステムクロック環境アーキテクチャを利用する情報ハンドリングシステムのサブシステム間、または様々なクロック周波数で動作するマルチプル情報ハンドリングシステム間のデータ転送が、同期化ウィンドウデコーダを備えるタイミング整合複数周波数合成器（ｔｉｍｉｎｇ  ａｌｉｇｎｅｄ  ｍｕｌｔｉｐｌｅ  ｆｒｅｑｕｅｎｃｙ  ｓｙｎｔｈｅｓｉｚｅｒ）を使用して同期化されるような方法および装置を開示している。データ同期化回路と回路通信を行う周波数生成回路は、１つのサブシステムクロック環境の中央処理装置動作（ｏｐｅｒａｔｉｏｎ）を、異なるサブシステムクロック環境で動作するメモリコントローラなどの（１又は２以上の）周辺サブシステムと共に機能（ｆｕｎｃｔｉｏｎ）できるようにする、または様々なクロック周波数で動作する情報ハンドリングシステム同士を共に機能できるようにするために、（１又は２以上の）同期化タイミング信号（ｓｙｎｃｈｒｏｎｉｚｅｄ  ｔｉｍｉｎｇ  ｓｉｇｎａｌ）を生成するよう機能する。当該同期化回路から準安定効果（ｍｅｔａｓｔａｂｉｌｉｔｙ  ｅｆｆｅｃｔｓ）を除去することによって、データ転送同期化遅延は短縮され、信号同期化精度（ｓｉｇｎａｌ  ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  ａｃｃｕｒａｃｙ）の平均故障時間（ｍｅａｎｔｉｍｅ−ｏｆ−ｆａｉｌｕｒｅ）は増大する。
【０００７】
ＵＳ５５３５３７７Ａ号においては、様々なクロック速度を有する信号の少待ち時間同期化（ｌｏｗ  ｌａｔｅｎｃｙ  ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ）のための方法および装置が説明されている。この方法および装置は好ましくは、高速クロック速度と呼ばれる第１のクロック速度で動作する第１の論理部が、第２のより低速なクロック速度で動作する第２の論理部とインタフェースをとるシステムで使用される。新しい低速クロックは、位相同期ループ（ＰＬＬ）クロック発生器を使用して、当該高速クロックから擬似同期的（ｐｓｅｕｄｏ−ｓｙｎｃｈｒｏｎｏｕｓｌｙ）に生成される。ＰＬＬは、高速クロック周波数を２つの周波数の最小公倍数（ＬＣＭ）まで逓倍して、ベースクロック信号を生成する。その後、当該ベースクロックは分周されて、上記低速クロック信号が形成される。ＰＬＬは、３つのクロックすべてが一定の位相関係を持つような方法で、その動作を実行する。上記ベースクロックと高速クロックと低速クロックの立ち上がりエッジは、周期的ポイント（ｐｅｒｉｏｄｉｃ  ｐｏｉｎｔ）で整列し（ｌｉｎｅ  ｕｐ）、その他の周期的ポイントでは歪曲される（ｓｋｅｗｅｄ）。論理部の間を伝わる信号を同期化するような高速−低速同期化論理（ｆａｓｔ  ｔｏ  ｓｌｏｗ  ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  ｌｏｇｉｃ）および低速−高速同期化論理（ｓｌｏｗ  ｔｏ  ｆａｓｔ  ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  ｌｏｇｉｃ）が備えられている。第１の論理部が高速クロック周波数ｍを持ち、第２の論理部が低速クロック周波数ｎを持つ場合には一般的に、上記ベースクロック周波数はＬＣＭ（ｍ，ｎ）となる。低速信号即ち当該第２の論理部からの信号をより高速なクロック周波数に同期化するのに使用される低速−高速同期化論理内のマルチプレクサは、ベースクロック／ｍ個の入力を持つことになる。高速信号をより低速なクロック速度に同期化するのに使用されるマルチプレクサは、ベースクロック／ｎ個の入力を持つことになる。
【０００８】
ＵＳ６１６３５４５Ａ号は、一のクロックドメイン内のデータを第２のクロックドメイン用に変換するためのシステムとして、選択制御装置（ｓｅｌｅｃｔ  ｃｏｔｒｏｌ）を持つマルチプレクサを備え、当該選択制御装置が、第１の周波数に同期しており、且つ、２つの双安定レジスタ（ｂｉｓｔａｂｌｅ  ｒｅｇｉｓｔｅｒ）に結合されており、その第１の双安定レジスタが第１の周波数に従ってクロック制御（ｃｌｏｃｋ  ｃｏｎｔｒｏｌ）され、その第２の双安定レジスタが第２の周波数に従ってクロック制御されるようなシステムについて説明している。上記第１のレジスタのデータ出力は、上記マルチプレクサの第２のデータ入力にループバックされる。上記選択制御装置は、データ入力を上記第１のレジスタに結合するように動作し、その結果、上記マルチプレクサは、上記第１のレジスタのデータ出力を当該マルチプレクサのデータ入力に戻り結合するように機能する。この構成は、第１のクロック周波数でのデータの、第２のクロック周波数の遷移（ｔｒａｎｓｉｔｉｏｎ）を越えての利用可能性を保証する。したがって、データ好ましくはマルチビットアドレスデータは、従来のシステムより短い遅延で、一のクロックドメインから他のクロックドメインに転送され得る。
【０００９】
従来のシステムでは、入力データは、処理を開始できるようになる前に同期化される。しかし、このタイプの同期化は、データ通信に著しく長い遅延を加え、ひいては待ち時間を増大させる。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明の目的は、遅延を短縮し、ひいては待ち時間を低減することである。
【課題を解決するための手段】
【００１１】
本発明によって上記の及び更なる目的を達成するため、異なるクロックドメイン間でのデータ信号転送のための方法であって、データ信号の、カレントクロックドメインとの同期化を含み、且つ、前記カレントクロックドメインにおいて当該データ信号を処理する方法において、前記データ信号の前記処理が、前記カレントクロックドメインにおいて前記データ信号の前記同期化が完了する前に開始されることを特徴とする方法が提供される。
【００１２】
本発明の方法は、遅延の短縮をもたらし、ひいては待ち時間を低減するが、この事は、複数のクロックドメインに分割される大きな集積回路にとって非常に好都合である。本発明は、典型的な複雑さを有するようなすべてのデジタル集積回路、特に０．１８μｍ以下技術（０．１８μｍ  ｔｅｃｈｎｏｌｏｇｙ  ａｎｄ  ｂｅｙｏｎｄ）において使用され得る。
【００１３】
本発明の好ましい実施形態においては、前記データ信号の前記処理が、前記同期化の前にまたは同期化と本質的に（ｅｓｓｅｎｔｉａｌｌｙ）並行して（ｃｏｎｃｕｒｒｅｎｔｌｙ）開始される。
【００１４】
とくに、前記同期化は、前記カレントクロックドメインにおいて前記同期化を実行するための（ｆｏｒ  ｃａｒｒｙｉｎｇ  ｏｕｔ）少なくとも２つの中間同期化ステップを含み、前記処理は、少なくとも最後の中間同期化ステップが実行される（ｈａｓ  ｂｅｅｎ  ｃａｒｒｉｅｄ  ｏｕｔ）前に開始される。前記処理は、少なくとも２つの中間処理ステップによって実行されることができ、中間同期化ステップの中間結果は、所定の（ｐｒｅｄｅｔｅｒｍｉｎｅｄ）中間処理ステップのために使用される。さらに、中間同期化ステップと中間処理は並行してそれぞれ実行されることができる。
【００１５】
本発明の上記の目的およびその他の態様は、以下の説明および添付の図面によってより良く理解されよう。
【００１６】
本発明の好ましい実施形態は、図面を参照しながら説明される。
【発明を実施するための最良の形態】
【００１７】
データ同期化は典型的に、クロックドメイン間同期化のために使用される。その場合、２つの近隣クロックドメインのクロック（ｃｌｏｃｋｓ  ｏｆ  ｔｗｏ  ｎｅｉｇｈｂｏｕｒｉｎｇ  ｃｌｏｃｋ−ｄｏｍａｉｎｓ）は、２つの独立した水晶発振器からか共通の水晶発振器からかのいずれかから、（設計労力最小化のために）２つのクロック間の位相に何らの保証もなく取り出される。
【００１８】
図１は、位相に関連性のない２つの近隣クロックドメインＡおよびＢを示しているが、クロックドメインＡは、先行または送信側クロックドメイン（ｓｏｕｒｃｅ  ｃｌｏｃｋ−ｄｏｍａｉｎ）と呼ばれ、クロックドメインＢは、カレントまたは受信側クロックドメイン（ｄｅｓｔｉｎａｔｉｏｎ  ｃｌｏｃｋ−ｄｏｍａｉｎ）と呼ばれ得る。クロックドメインＡ内では、一例として、クロックドメインＢ内で必要とされる信号ｓｉｇＡが生成される。クロックドメインＡとＢは位相に関連性がないので、クロックドメインＡとＢを横断（ｃｒｏｓｓ）する信号は、受信側クロックドメインＢ内において処理できるようになる（ｃａｎ  ｂｅ  ｐｒｏｃｅｓｓｅｄ）前に同期化されなければならない。
【００１９】
図１の例では、クロックドメイン横断データ信号の同期化は、例えば直列に並んだｎ個のサンプリング素子（ｓａｍｐｌｅ  ｅｌｅｍｅｎｔ）によって達成される。これらのサンプリング素子は典型的には、通常のフリップフロップである。図１には、クロックドメインＡとクロックドメインＢとの間に、点線で境界（ｂｏｒｄｅｒｌｉｎｅ）Ｚが概略的に示されている。さらに、図１には、直列に結合されており同期化用に使用されるｎ個の複数のＤフリップフロップの中から、一例として３個のＤフリップフロップ１、２、およびｎが示されている。各クロックドメインのフリップフロップはすべて、共通クロック信号ｃｌｋによって制御される、すなわち、図１のクロックドメインＢ内ではローカルクロック信号ｃｌｋＢによって制御される。図１では、信号ｓｉｇＡは、送信側クロックドメインＡから受信側クロックドメインＢへと境界Ｚを横断し、第１のＤフリップフロップ１のＤ入力に入る。図１のクロックドメインＢのＤフリップフロップ１からｎのすべてのＤフリップフロップを通過して次々に伝播した後、当該信号は信号ｓｉｇＢとしてクロックドメインＢから出て行く。
【００２０】
サンプリング素子は、受信側クロックドメイン（ｒｅｃｅｉｖｉｎｇ  ｃｌｏｃｋ−ｄｏｍａｉｎ）の立ち上がりクロックエッジのたび毎に入力信号の状態を捕捉（ｃａｐｔｕｒｅ）する。しかしながら、サンプリングの瞬間に当該信号が状態を変化させた場合に問題が生じる。その場合、サンプリング回路（ｓａｍｐｌｅｒ）は、長期間または短期間の準安定に陥ることになる。この準安定期間の間に、当該サンプリング回路は、信号線上に古い値を検出したのか新しい値を検出したのかを決定する。決定の結果として、当該サンプリング回路の出力は、その最終値に変化する。準安定の持続期間は、ランダムに変化する入力信号のため確定されない。入力における与えられたランダムな遷移が、ｔｄよりも長い同期化遅延をもたらすことになる確率は、
【００２１】
Ｐ（ｔｄ）＝ｆｃｌｋＢ・ｔａ・ｅｘｐ（−ｔｄ／τｓ）  （１）
によって与えられる、ただし、ｆｃｌｋＢはサンプルクロック周波数、ｔａはシンクロナイザのアパーチャ（ａｐｅｒｔｕｒｅ）、τｓはシンクロナイザの再生時定数（ｒｅｇｅｎｅｒａｔｉｏｎ  ｔｉｍｅ  ｃｏｎｓｔａｎｔ）である。この数式は、同期化されるイベント（ここではｓｉｇＡにおける遷移）当たりの同期化失敗の確率を与える。ある程度の時間は準安定が発生する可能性があるため、上記サンプリング回路の出力は、確実には上記クロックと同期しない。その場合、列をなす次のサンプリング回路が、同期化を実現することを要求される。このサンプリング回路が準安定に陥る確率はずっと小さくなるものの、やはり０ではない。したがって、ｎの値を増やすことで同期化失敗の率は減少するが、待ち時間がその代償になる。同期化遅延を改善するためにクロック速度を上げることは、それが同期化失敗の確率を決定する同期化時間ｔｄ（ナノ秒）の長さとなるので、選択肢にならない。
【００２２】
しかし、図１に示されているように信号ｓｉｇＡをクロックドメインＢ内で供給されるローカルクロック信号ｃｌｋＢを利用してサンプリングすることは、信号ｓｉｇＡがクロックドメインＢ内でフリップフロップ１によってサンプリングされている間に変化する状況が、値およびセトリング時間（ｓｅｔｔｌｉｎｇ  ｔｉｍｅ）に関して不確実なので、安全ではない。
【００２３】
クロックドメインの個数が将来のプロセス技術において指数的に増加するにつれ、クロックドメイン横断の回数も著しく（少なくともクロックドメインの個数に比例して）増加する。
【００２４】
信号バス全体（ａ  ｗｈｏｌｅ  ｂｕｓ  ｏｆ  ｓｉｇｎａｌｓ）がクロック境界を横断している場合、当該バスのすべてのビットが同期化される必要はない。その代わり、当該バスに隣接する１つの制御信号だけは、データ生成を指し示す（ｉｎｄｉｃａｔｅ）ために同期化される必要がある。これは、バンドルドシグナリング通信（ｂｕｎｄｌｅｄ−ｓｉｇｎａｌｌｉｎｇ  ｃｏｍｍｕｎｉｃａｔｉｏｎ）と呼ばれ、図２で概略的に示されている。この構想（ｃｏｎｃｅｐｔ）によれば、クロックドメインＡ内で生成される有効信号（ｖａｌｉｄ  ｓｉｇｎａｌ）ｖａｌｉｄＡの各トグル（ｔｏｇｇｌｅ）は、ベクトル信号であるデータ信号ｄａｔａにおける新しいシンボルの存在を指し示す。信号ｖａｌｉｄＡは一般にクロックドメインＢ内で生成されるローカルクロック信号ｃｌｋＢと同期していないので、数個のフリップフロップが同期化目的で必要とされる。図２には一例として、３個のフリップフロップ１、２、および３が示されている。その結果得られる信号ｖａｌｉｄＢは、ローカルクロック信号ｃｌｋＢと同期していると考えられる。更に、図２の構想は、クロックドメインＢ内に設けられたレジスタ４を含む。レジスタ４はまた、ローカルクロック信号ｃｌｋＢによってトリガされ、クロックドメインＡからのデータ信号ｄａｔａＡをその入力において受信し、同様にベクトル信号であって且つ更にクロックドメインＢで処理されるような対応データ信号ｄａｔａＢを出力する。同期化プロセスが原因で２サイクル分遅延しているが、それでも、信号ｖａｌｉｄＢの遷移は、データ信号ｄａｔａＢにおける新しいシンボルを指し示す。
【００２５】
しかし、図２の構想は、通信の実効的な同期化遅延に本質的に影響しない、またはこれを本質的に改善しない。バンドルシグナリング構想がコスト削減に加えて提供するのは、上記バスのビット間の整合性（ｃｏｎｓｉｓｔｅｎｃｙ）である。整合性は、基本的特性であり、同期化遅延よりもさらに重要である。
【００２６】
上で説明したように、別のクロックドメインからの入力データは、処理を開始できるようになる（ｔｈｅ  ｐｒｏｃｅｓｓｉｎｇ  ｃａｎ  ｓｔａｒｔ）前に最初に同期化される。そのため、同期化時間は、処理時間の上に加算されるものとなる。将来のシステムにおいては、このオーバーヘッドは、クロックドメインの個数が増加するにつれてパフォーマンスに重大な影響を及ぼすことにもなり得る。
【００２７】
図３は、本発明の好ましい実施形態による、図２の構想に対する改善点を示す。図３に概略的に示されている回路は、（クロックドメインＡから到来する）データ信号ｄａｔａＡに対する処理を、その関連する有効信号ｖａｌｉｄＡのクロックドメインＢ内での同期化と並行して提供する。
【００２８】
図３の回路内においては、データ信号ｄａｔａＡに関する計算は、バンドルドシグナリング（ｂｕｎｄｌｅｄ−ｓｉｇｎａｌｉｎｇ）を利用する通常の方法とは対照的に、それが実際に同期化される前に既に開始できるようになっている。図２の回路に加えて、複数のレジスタ（図３では、一例として、３個のレジスタ４、５、および６が示されている）が、クロックドメインＡからクロックドメインＢにデータ信号ｄａｔａＡを送信する入力バスのデータパス中に配置されている。これらのレジスタも、クロックドメインＢ内で生成されるローカルクロック信号ｃｌｋＢによって計時（ｃｌｏｃｋ）される。これらのレジスタを通過して伝播する間に、パイプライン化された計算が、データパス中のレジスタ間にそれぞれ追加的に実装されており、且つ、データ信号ｄａｔａＡから得られた入力信号に対する処理を提供するような論理素子により、同期化プロセスと並行して開始（ｔａｋｅ  ｐｌａｃｅ）され得る。図３には一例として、２つの論理素子８および９が示されているが、論理素子８はレジスタ４と５との間に提供されており、論理素子９はレジスタ５と６との間に提供されている。さらに図３の例では、付加的な信号（参照用の数字によっては指示されていないが、矢印のみで描かれている）がカレントクロックドメインＢ内で生成され、論理素子８および９内に両素子内で実行される処理機能用に入力される。
【００２９】
データ信号ｄａｔａＡに対する処理を、その付随する有効信号ｖａｌｉｄＡのクロックドメインＢ内での同期化と並行して実行する事は、次の理由のために可能である。即ち、有効信号ｖａｌｉｄＡが、いつデータ信号ｄａｔａＡが安定であるかを、新しいシンボルを与える事によって指し示す（これはバンドルドデータシグナリングと呼ばれる）ので、有効信号ｖａｌｉｄＡとデータ信号ｄａｔａＡのすべてのビットとの間に関連があるのである。よって、有効信号ｖａｌｉｄＡがある時間をかけて同期化されなければならないのみである。ｎ個の同期化フリップフロップにとって、これはｎ−１サイクルとｎサイクルとの間、即ち、図３の例では第２サイクルと第３サイクルとの間である。有効信号ｖａｌｉｄＡにおけるイベントをカレントクロックドメインＢ内のローカルクロック信号ｃｌｋＢに同期化する全インターバル間において、データ信号ｄａｔａＡは既に上記の新しいシンボルを含んでいる。結果として得られた有効信号ｖａｌｉｄＢの遷移は、新しいシンボルが、結果として得られたデータ信号ｄａｔａＢに今現在存在する事を指し示すだけでなく、このシンボルが、（カレントクロックドメインＢ内で生成されるローカルクロック信号ｃｌｋＢの観点で）データ信号ｄａｔａＡに既に２サイクル前に存在していた事を指し示す。そのようなシンボルが存在する場合、それを処理することも可能である。さらに、クロックドメイン境界（ｃｒｏｃｋ−ｄｏｍａｉｎ  ｂｏｕｎｄａｒｙ）Ｚを横断するときの同期化遅延が隠蔽される。
【００３０】
上記の計算は前処理だけに限定されるが、このことは、それが、受信プロセスの状態に依存し得るが、その状態を変更し得ないという事を意味する。データがまだうまく同期化されていないので、これは合理的である。
【００３１】
この回路はまた、送信側クロックドメイン（ｓｅｎｄｉｎｇ  ｃｌｏｃｋ−ｄｏｍａｉｎ）からイベントを、前のイベントが完全に同期化される前に受け入れることに更に留意されたい。そのため、データトークンの生成速度は、受信側プロセッサのクロック速度と同程度まで高くなり得る。
【００３２】
図４は、異なるクロックドメインＡからの割り込みのためのカレントクロックドメインＢ内の同期化ユニットの一実装例を示す。
【００３３】
このプロセッサ割り込みユニットは、異なるクロックドメインＡからの演算コードワード（ｏｐｅｒａｔｉｏｎａｌ  ｃｏｄｅ  ｗｏｒｄ）ＯＰＣを、サービスルーチンのアドレスに変換するルックアップテーブル手段（ｌｏｏｋ−ｕｐ  ｔａｂｌｅ  ｍｅａｎｓ）１０を備えており、当該サービスルーチンは、カレントクロックドメインＢ内で実行される。演算コードワードＯＰＣは、図３の信号ｄａｔａＡに対応する。ルックアップテーブル手段１０は、ローカルクロック信号ＣＬＫによってエッジトリガ（ｅｄｇｅｄ−ｔｒｉｇｇｅｒ）される。
【００３４】
上記のプロセッサ割り込みユニットは、同様に異なるクロックドメインＡから到来する遷移感知割り込み要求信号（ｔｒａｎｓｉｔｉｏｎ  ｓｅｎｓｉｔｉｖｅ  ｉｎｔｅｒｒｕｐｔ  ｒｅｑｕｅｓｔ  ｓｉｇｎａｌ）ＩＲＱを受信する第１のフリップフロップ１１を更に備える。この割り込み要求信号ＩＲＱは、図３の信号ｖａｌｉｄＡに対応し、当該割り込み要求信号ＩＲＱの遷移は、上記の演算コードワードＯＰＣの値がその割り込みに関連する付加情報をその場所で与えるような割り込みの発生を指し示す。第１のフリップフロップ１１は、同様にクロック信号ＣＬＫによってエッジトリガされ、準同期化割り込み要求信号（ｓｅｍｉ−ｓｙｎｃｈｒｏｎｉｚｅｄ  ｉｎｔｅｒｒｕｐｔ  ｒｅｑｕｅｓｔ  ｓｉｇｎａｌ）ＩＲＱ’を出力するための同期化手段として提供される。準同期化割り込み要求信号ＩＲＱ’は、完全同期化割り込み許可信号（ｆｕｌｌｙ  ｓｙｎｃｈｒｏｎｉｚｅｄ  ｉｎｔｅｒｒｕｐｔ  ｇｒａｎｔ  ｓｉｇｎａｌ）ＩＧＮＴもそこに入力されるような第１のマルチプレクサ１２内に入力される。第１のマルチプレクサ１２は、割り込みマスク信号（ｉｎｔｅｒｒｕｐｔ  ｍａｓｋ  ｓｉｇｎａｌ）ＩＭＳＫによってトリガされる。第１のマルチプレクサ１２の出力信号は、クロック信号ＣＬＫによって同様にエッジトリガされるような第２のフリップフロップ２１内に入力される。第２のフリップフロップ２１は、割り込み要求信号ＩＲＱの完全同期化を完遂し、完全同期化割り込み許可信号ＩＧＮＴを出力する。割り込み許可信号ＩＧＮＴは、第１のマルチプレクサ１２内に入力されるだけでなく、排他的ＯＲゲート２３および第３のフリップフロップ３０内にも入力される。第３のフリップフロップ３０の出力信号も更に、排他的ＯＲゲート２３内に入力される。第３のフリップフロップ３０は、同様にクロック信号ＣＬＫによってエッジトリガされ、クロックサイクル遅延素子（ｃｌｏｃｋ  ｃｙｃｌｅ  ｄｅｌａｙ  ｅｌｅｍｅｎｔ）として提供される。排他的ＯＲゲート２３の出力信号は、割り込み要求許可後の１サイクルの間ハイになるストローブ信号（ｓｔｒｏｂｅ  ｓｉｇｎａｌ）ＩＳＴＲＢである。
【００３５】
図４のプロセッサ割り込みユニットは、ルックアップテーブル手段１０からの出力信号およびレジスタ２０からの出力信号を受信する第２のマルチプレクサ２２を更に備える。第２のマルチプレクサ２２は、割り込み要求信号ＩＲＱに関連する上記演算コードワードＯＰＣに対応する割り込みサービスルーチンのアドレスを定めるアドレス信号ＡＩＳＲを出力する。このアドレス信号ＡＩＳＲも、同様にクロック信号ＣＬＫによってエッジトリガされるようなレジスタ２０内に入力される。
【００３６】
図５は、２つの連続する割り込み要求が発生している間の上述の信号の波形を示しているが、図５では、単に説明の目的でのみ、第２の割り込み要求が１クロックサイクルの間マスクされていることに注意されたい。
【００３７】
図４のプロセッサ割り込みユニットは、割り込み信号ＩＲＱおよび異なるクロックドメインからの関連する演算コードワードＯＰＣを、プロセッサコア（ここでは図示せず）のローカルクロック信号ＣＬＫに同期化するために提供される。そのような割り込み信号ＩＲＱの同期化は、位相に相関性のない異なるクロックドメイン内で割り込みが生成されたときに必要とされる。割り込み許可信号ＩＧＮＴとアドレス信号ＡＩＳＲはそれぞれ、割り込み要求信号ＩＲＱの同期化バージョンと演算コードワードＯＰＣの同期化バージョンである。
【００３８】
異なるクロックドメインＡからの割り込み要求信号ＩＲＱと、完全同期化割り込み許可信号ＩＧＮＴは、２フェーズハンドシェイクプロトコル（ｔｗｏ−ｐｈａｓｅ  ｈａｎｄｓｈａｋｅ  ｐｒｏｔｏｃｏｌ）に従う。これは、割り込み要求信号ＩＲＱの各遷移は新しい要求を指し示し、要求の許可は割り込み許可信号ＩＧＮＴの遷移により指し示され、新しい要求は前の要求が許可されたときにだけ発行され得ることを意味する。
【００３９】
割り込みマスク信号ＩＭＳＫのハイレベルは、いかなる割り込み要求が上記プロセッサコアの制御フローに影響することも防止する。
【００４０】
排他的ＯＲゲート２３は、割り込み許可信号ＩＧＮＴの遷移を検出し、この遷移の結果として、許可された要求の後、ストローブ信号ＩＳＴＲＢに１クロックサイクルのパルスが発生する。ストローブ信号ＩＳＴＲＢの制御下で、アドレス信号ＡＩＳＲは、その値をレジスタ２０からよりもむしろルックアップテーブル手段１０から取得する。このようにしてアドレス信号ＡＩＳＲは、直近の割り込みに対応するサービスルーチンのアドレスを保持する。
【図面の簡単な説明】
【００４１】
【図１】クロックドメイン横断信号のデータ同期化のためのシステムの概略基本ブロック図を示す。
【図２】バンドルドシグナリングによる信号バスのデータ同期化のためのシステムの概略基本ブロック図を示す。
【図３】本発明の好ましい実施形態による、バンドルドシグナリングによる信号バスのデータ同期化のためのシステムの概略ブロック図を示す。
【図４】本発明の好ましい実施形態による、異なるクロックドメインからの割り込みのための同期化ユニットのブロック図を示す。
【図５】図４の同期化ユニット内に入力されるまたは図４の同期化ユニットから出力される複数の信号の波形を示す。
【図１】
0004533890.tif 000002
【図２】
0004533890.tif 000003
【図３】
0004533890.tif 000004
【図４】
0004533890.tif 000005
【図５】
0004533890.tif 000006