(57)【特許請求の範囲】
【請求項１】
デジタル・システムにおいて、第１クロック・ドメインから第２クロック・ドメインへデータ信号を転送するための装置であって、
該第１クロック・ドメインからの入力信号を受信するためのフリップフロップを含む信号入力部と、
該入力信号を記憶するための手段と、そして、
該入力信号を、該第２クロック・ドメインへ、該第２クロック・ドメインのクロック信号の遷移に続いて転送する手段と、
を含み、
前記フリップフロップのセット（Ｓ）入力へ前記入力信号が入力され、前記フリップフロップのデータ（Ｄ）入力は接地されていることを特徴とする装置。
【請求項２】
前記第１クロック・ドメインは第１クロックを含み、かつ、前記第２クロック・ドメインは第２クロックを含み、該第１クロックと第２クロックとは非同期であること、を特徴とする、請求項１に記載の装置。
【請求項３】
前記データ信号は、正の遷移時に転送されること、を特徴とする請求項１又は２に記載の装置。
【請求項４】
前記フリップフロップは、前記第２クロックによってクロック供給されること、を特徴とする請求項２に記載の装置。
【請求項５】
前記第２クロック・ドメインをアクティベートするための手段を含むこと、を特徴とする、請求項１〜４のいずれか一項に記載の装置。
【請求項６】
前記第２クロック・ドメインをアクティベートするための要求が外部ソースから来ること、を特徴とする請求項５に記載の装置。
【請求項７】
前記第２クロック・ドメインを前記アクティベートするための手段は、入力信号が前記信号入力部で受信されたことを検出するための手段を含むこと、を特徴とする請求項５又は６に記載の装置。
【請求項８】
前記入力信号の前記第２クロック・ドメインへの前記転送を遮断するための手段を含むこと、を特徴とする請求項１〜７のいずれか一項に記載の装置。
【請求項９】
デジタル・システムにおいて、データ信号を第１クロック・ドメインから第２クロック・ドメインへ転送する、フリップフロップを含む装置によって実行される方法であって、
第１クロック・ドメインからの入力信号を受信するステップと、
前記フリップフロップの「セット」（Ｓ）入力へ前記入力信号を入力するステップと、
該入力信号を記憶するステップと、そして、
該入力信号を、第２クロック・ドメインへ、該第２クロック・ドメインのクロック信号の遷移に続いて転送するステップと、
を含み、
前記フリップフロップの「データ」（Ｄ）入力は接地されている
ことを特徴とする方法。
【請求項１０】
前記第１クロック・ドメインは第１クロックを含み、かつ、前記第２クロック・ドメインは第２クロックを含み、該第１クロックと第２クロックとは非同期であること、を特徴とする、請求項９に記載の方法。
【請求項１１】
前記データ信号を、正の遷移時に転送するステップを含むこと、を特徴とする請求項９又は１０に記載の方法。
【請求項１２】
前記フリップフロップへのクロック供給を前記第２クロックから行うステップを含むこと、を特徴とする請求項１０に記載の方法。
【請求項１３】
前記第２クロック・ドメインをアクティベートするステップを含むこと、を特徴とする請求項９から１２のいずれかに記載の方法。
【請求項１４】
前記第２クロック・ドメインをするアクティベートための要求が外部ソースから来ること、を特徴とする請求項１３に記載の方法。
【請求項１５】
前記第２クロック・ドメインをアクティベートする前記ステップは、入力信号が前記フリップフロップで受信されたことを検出するステップを含むこと、を特徴とする請求項１３又は１４に記載の方法。
【請求項１６】
前記入力信号の前記第２クロック・ドメインへの前記転送を遮断するステップを含むこと、を特徴とする請求項９から１５のいずれかに記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル・システム、特に、クロック・ドメインが同期されていないデジタル・システムにおいて、クロック・ドメイン間でデータ信号を転送するためのシステム及び方法に関する。
【背景技術】
【０００２】
無線（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標））システムなどの各種電子システムの多くでは、少なくとも散発的に相互通信が必要な、複数の非同期なクロック・ドメインが存在する。このようなクロック・ドメインは異なる周波数で動作する場合がある。例えば、中央プロセッサは高い周波数で動作するが、接続される１つ又は複数の周辺機器は低周波数で動作する場合がある。また、該クロック・ドメインの一つは、非アクティブな期間、例えば、スリープ・モード又はスタンバイ・モードに入ることがある。これは、未使用中に電力を節約するためである。該ドメインは、通常高速なクロック・ドメインであり、低速クロック・ドメインは、この期間中はタイマとして使用されている。このような期間中には、通常、２つのクロック・ドメイン間の通信はない。
【０００３】
データ信号を、一つのクロック・ドメインから別のクロック・ドメインへ転送することが望まれる場合には、上記システムでは、「ハンドシェイク」手順を使用することが知られている。該手順では、該クロック・ドメイン間でパラメータを交換して、受信側クロック・ドメインが、発行側クロック・ドメインからの信号の受信準備ができていることを、例えば、ビジー・フラグの使用によって確認する。該手順は、信号の発行側クロック・ドメインからの転送を、受信側クロック・ドメインの安全な期間、例えば、受信側クロック・ドメインでの遷移（クロックの０から１、又は１から０への変化。このとき、データが変化する）から離れている期間に行うことが、該信号の破壊又は該システムの準安定状態を回避するために必要である。しかし、既知のハンドシェイク手順は比較的速度が遅い。この理由は、クロック・ドメイン間の同期を確立するために、該手順がクロック・ドメインの複数のサイクルを必要とするからであり、また、両方のクロック・ドメインが同時にアクティブになっていることが必要だからである。このため、該処理中、両方のクロック・ドメインが動作を継続する必要があるので、かなりの量の電力を消費する。
【０００４】
さらに、データ信号の転送先であるクロック・ドメインが非アクティブであるか、又は、保有するクロックが、例えば入力データ信号がアクティブである時間に比べて、遅過ぎて該データ信号を取り込むことができない場合、このために、該発行側クロック・ドメインは長い時間アクティブ状態を維持し続け、受信側クロック・ドメインが該データ信号を受信するための適切な時間待つ必要がある。そのときまでに、受信側クロック・ドメインのデータ信号は非アクティブになっていることもあるが、これは、該データ信号の転送がもはや不可能であることを意味する。したがって、これが、データ損失、及び、不要な電力消費につながることが理解できるであろう。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、マイクロ・プロセッサ・システムの２つのクロック・ドメイン間の通信のための、改良されたシステム及び方法を提供することである。
【課題を解決するための手段】
【０００６】
第１の側面から見ると、本発明は、デジタル・システムにおいて、データ信号を第１クロック・ドメインから第２クロック・ドメインへ転送するための機構であり、該機構は、
該第１クロック・ドメインからの入力信号を受信するための信号入力部と、
該入力信号を記憶するための手段と、そして、
該入力信号を、該第２クロック・ドメインへ、該第２クロック・ドメインのクロック信号の遷移に続いて、転送する手段と、を含んでいる。
【０００７】
本発明は、また、デジタル・システムにおいて、データ信号を第１クロック・ドメインから第２クロック・ドメインへ転送する方法であって、該方法は、
該第１クロック・ドメインからの入力信号を受信するステップと、
該入力信号を記憶するためのステップと、そして、
該入力信号を、該第２クロック・ドメインへ、該第２クロック・ドメインのクロック信号の遷移に続いて転送するステップと、を含んでいる。
【０００８】
通常、第１クロック・ドメインは、第１クロックを有し、第２クロック・ドメインは第２クロックを有するが、該２つのクロックは非同期である。該クロックは、異なる周波数を持ち、例えば、第１クロックが第２クロックよりも高い周波数を有する、又は、その逆である。データ信号は、第２クロックにおける正及び負の遷移のいずれか又は両方において転送されるように構成することができる。しかし、好ましくは、該データ信号は、正の遷移で転送される方がよい。
【０００９】
したがって、前記入力信号を記憶し引き続き第２クロック・ドメインへ転送することにより、該機構は、第１クロック・ドメインからの入力信号の受信に対応できるように構成されており、第２クロック・ドメインが非アクティブである場合、又は、第２クロック・サイクルの遷移を待っているが、この待ち時間が、該入力信号がアクティブある期間かつ受信できる期間よりもはるかに長い場合でも対応できる。すなわち、第１及び第２クロック・ドメインが同時にアクティブになることは必須要件ではない。これは、従来のハンドシェイク手順では必須である。したがって、該システムによって消費される電力の量を劇的に削減することができる。この理由は、該入力信号が受信されている期間は第１クロック・ドメインのみがアクティブであればよく、該入力信号を第２クロック・ドメインに転送している期間は、第２クロック・ドメインのみがアクティブであればよく、どちらのクロック・ドメインとも不必要に長く、例えば、他のクロック・ドメインがアクティブになるのを待つ間、アクティブであり続ける必要がないからである。
【００１０】
さらに、該機構によって、入力信号を迅速に転送することが可能になる。この理由は、該入力信号を記憶することによって、該信号の転送を、いったん第２クロック信号の遷移が検出されたら即時に行うことができるからであり（該入力信号が転送手段を経由して通過するだけの時間が必要であるが）、かつ、該システムでは、何らかのハンドシェイク手順が完了するのを待ってから入力信号を転送するような必要がないからである。第２クロック信号の遷移を使用して、該入力信号の第２クロック・ドメインへの転送を、時間的に正確に定義することが可能になる。例えば、この遷移に対する第２クロック・ドメインでの「イベント」として定義できる。
【００１１】
従来技術の「ハンドシェイク」手順とは対照的に、ソース元のクロック・ドメイン内のデータを保留状態にして、該データの転送が行われるまで該データの変更を遮断する必要はない。これは、有利である。
【００１２】
上述のように、本発明は、特に、前記二つの一般的な状況に対処するために適しているが、これに限定されない。前記のような状況では、入力信号を第１クロック・ドメインから受信したときに第２クロック・ドメインが非アクティブであるか、又は、前記第２クロックの周波数が低すぎて該入力信号が非アクティブになる前に入力信号を取りこむことができない。入力信号を受信したときに第２クロック・ドメインがアクティブである状況では、稀に起こるケースがある。このケースでは、第２クロックの周波数が高くて、該入力信号がアクティブである間に該入力信号を取りこむことができる。すなわち、第２クロックの遷移が、該入力信号の値の変化の前、又は第１クロック・ドメインが非アクティブになる前に起こり、これによって第２クロック・ドメインへの該入力信号の転送が引き起こされる。本発明が特に有益であるケースでは、第２クロックの周波数が低すぎて入力信号が非アクティブになる前に該入力信号を捕捉することができない。この原因は、該入力信号の値が変化したか、又は第１クロック・ドメイン自体が非アクティブになるかのいずれかにある。しかし、該入力信号の受信及び転送は時間的に独立しているだけでなく、該入力信号は記憶手段によってバッファリングされるので、該入力信号は、第２クロックの次の遷移が検出されるまで該記憶手段に格納しておくことができ、続けて、該入力信号の第２クロック・ドメインへの転送が可能になる。一般的には、第２クロックの周期は入力信号の持続時間よりも長い、すなわち、第２クロックの遷移は、該入力信号がアクティブである時間中に起きることを保証することができない。例えば、１ビットの信号に対して、該入力信号の持続時間は、該信号の正と負のエッジの間の時間である。該入力信号の持続時間は、任意の長さでよい。
【００１３】
実施形態の一つの組では、前記信号入力部は、１つ又は複数のフリップフロップ、例えば、Ｄタイプ・フリップフロップを含む。好ましくは、入力信号は、フリップフロップの「セット（Ｓ）」入力に供給され、また、好ましくは、該フリップフロップは、第２クロックによってクロックが供給される方がよい。これによって、入力信号が直接フリップフロップのＱ出力に伝わることが可能になり、該入力信号を、該フリップフロップを経由して、例えば、Ｄ入力からクロックを印加して伝えるために、動作中のクロックに依拠する必要がない。また、これによって、フリップフロップ（複数可）をクリアするために専用の帰還ループの必要性がなくなる。好ましくは、該フリップフロップへのＤ入力は接地されている方がよい。この機構によって、第２クロック・ドメインが非アクティブである場合、又は、第２クロックが遅くて該クロックを印加して該入力信号を該フリップフロップに出力する前に該入力信号が非アクティブになるような場合にも、該入力信号を該システムへ受信して記憶することが可能になる。これは、前記フリップフロップのＳ入力から信号を伝えることによって、該フリップフロップへ印加されるクロック信号を待つ必要をなくすことができるからである。該機構は入力信号の変化に影響されない。これは、第２クロック・ドメインがアクティブになったときに、記憶している信号を単純に転送するだけだからである。したがって、ハンドシェイク、又は「安全」信号を送信して、第１クロック・ドメインからの入力信号を受信する準備ができていることを確認する必要がない。再び述べるが、これは、入力信号が、２つのクロック・ドメイン間で何らかの時間的関係を持たずに非同期的に転送することができることを意味する。複数のフリップフロップを、例えば直列に設けて、該入力信号が該フリップフロップを通過しない場合を確実に削減することができる。この非通過という事態は、該フリップフロップからの出力が不安定な状態になることによって、例えば、該入力信号が、該第２クロックがアクティブな期間に、１から０へ遷移して非アクティブになるようなときに発生する。この出力が、さらにもう一つのフリップフロップの入力に供給される場合は、不安定な状態が両方のフリップフロップを通過する可能性は非常に小さい、すなわち、その確率は倍数的に減少する。
【００１４】
入力信号を受信したときに、第２クロック・ドメインが非アクティブである状況では、入力信号を第２クロック・ドメインに転送する第２クロックの遷移は起こってない。したがって、前記機構は、第２クロック・ドメインがアクティブになって、第２クロックが遷移し、続いて、該入力信号を第２クロック・ドメインに転送できるようになる状況を待つ必要がある。しかしながら、出願人は、第２クロック・ドメインがアクティブになるまでに長時間かかりそうな期間待機する必要性を解決する有利な機能を考案した。このため、実施形態の一つの組では、該機構には、第２クロック・ドメインをアクティベートする、すなわち、第２クロックを開始するための手段が含まれる。
【００１５】
第２クロック・ドメインをアクティベートする要求は、新たな入力信号の受信によって起こしてもよい。しかし、第２クロック・ドメインは、一般的には、周期的にアクティブになるだけのデバイスを制御するので、定期的にスリープ・モード又は待機モードへの出入りをしている第２クロック・ドメインに対して、実施形態の一つの組では、第２クロック・ドメインをアクティベートする要求は該ドメインの外部のソースから発行されている。例えば、自機器に対する使用要求によりスリープ・モードから復帰する周辺機器を、第２クロック・ドメインが制御している場合、第２クロック・ドメインをアクティベートする要求の発行元は、該周辺機器からの被使用要求を検出するものなら何でもよいが、該検出のしくみは第１クロック・ドメイン自体にあってもよい。こうして、該要求を該入力信号によって発することができる。次に、該要求によって第２クロック・ドメインがアクティベートされ、第２クロック・ドメインが第１クロック・ドメインからのデータ信号を受信することができるようになる。
【００１６】
第２クロック・ドメインをアクティベートすることによって、必要に応じて、前記入力信号をより迅速に第２クロック・ドメインに転送することができる。再び述べるが、第１及び第２クロック・ドメインが、従来のハンドシェイク手順のように、同時にアクティブになる必要性はない。このため、第２クロック・ドメインをアクティベートする要求信号は、前記入力信号を受信すると即時送信することができ、第１クロック・ドメインは、第２クロック・ドメインがアクティブになるときまでに、例えば、該入力信号を送信した後に、非アクティブになっていてもよい。
【００１７】
第２クロック・ドメインがアクティベートされると、すなわち、第２クロックが動作を始めると、第２クロックの遷移が最大１クロック・サイクル以内に発生して（特定の遷移、例えば、正の遷移が使用されている場合）、前記入力信号の第２クロック・ドメインへの転送が可能になる。しかし、前述のように、該入力信号は、転送手段の通過のために、一定の周期、例えば２クロック・サイクルを必要とする。好ましくは、第２クロック・ドメインのクロックが起動される自サイクル内の時点は、遷移が比較的すぐに発生するような時点、例えば、遷移のクロック・サイクルの半分以内、例えば、関連する遷移の直前の時点（データが変更された時点）がよい。これは、第２クロックが特に低い周波数の場合でも、遷移を待つ時間を最小限に抑えることができるようにするためである。このクロックの開始機能は、また、第２クロック・ドメインがアクティブであるが周波数が低い場合に、遷移のより近くで第２クロックを再起動するために使用することができる。すなわち、第２クロック・ドメインのアクティベート要求は、第２クロック・ドメインが非アクティブであるときのためだけに使用されるのではなく、該第２クロックが特に遅い場合、例えば、該第２クロックが前記入力信号の周期よりも長い周期を有する場合に送信することができる。しかし、第２クロックの再起動にはリスクがあり、第２クロック・ドメインにおけるデータ値の一部が失われる可能性がある。該要求信号は、入力信号が検出されると可能な限り早く送信することができるが、これは、上記のように、第２クロック・ドメインが非アクティブである場合に対して、又は、該入力信号を検出してから所定の時間が経過した後、第２クロックの遷移がまだ発生していない場合に該要求信号を送信することができる。この構成は、また、第２クロック・ドメインが非アクティブである場合に使用することができる。例えば、アクティベート手段が、第２クロック・ドメインがアクティブであるかどうかを判断する必要がないように、該アクティベート手段は、単に所定の時間待機して、第２クロックの遷移が発生していなければ、第２クロックをアクティベートするための信号を送る。
【００１８】
第１及び第２クロック・ドメインは相互にアクティブ及び非アクティブのサイクルを認識することができ、したがって、第２クロック・ドメインは、第１クロック・ドメインからの入力信号を受信するために、いつ非アクティブ期間からウェイクアップするべきかを自動的に知ることができる。しかし、ほとんどの機構に対して、２つのクロック・ドメインは、相互に自律的になっている。したがって、実施形態の一つの組では、第２クロック・ドメインをアクティベートするための手段は、入力信号が前記信号入力部で受信されたことを検出する手段を備えている。該手段は、該信号入力部又はさらなる下流の構成要素、例えば、１つ又は複数のフリップフロップによって提供される。該手段によって、入力信号が検出されるとすぐにアクティベート手段が要求信号を第２クロック・ドメインに送信することができるので、該入力信号の転送に要する時間を最小にすることができる。
【００１９】
第２クロック・ドメインをアクティベートするための要求信号は、単に、第２クロック・ドメインをアクティベートするように作用する、持続時間の短いパルスを含む。しかし、該要求信号は、より密接に、システム内の１つ又は複数の信号、例えば、前記入力信号又は前記第２クロック信号と組み合わせることができる。実施形態の一つの組では、該要求信号を、長期間に亘って、アクティブ、例えば、１の値を持つようにできる。該要求信号の延長期間は、前記入力信号と連携させることができる。例えば、該入力信号を（正エッジで）受信するとすぐに、前記アクティベート手段によって該要求信号が送信され、該入力信号が（負エッジで）非アクティブになるときに該要求信号が解除される、又は、該該要求信号の延長期間は第２クロック信号に連携することができる。例えば、該延長期間は、第２クロック信号を受信すると終了する。あるいは、該要求信号は、該入力信号に対して時間遅延を有することができる、例えば、該時間遅延は、第１又は第２クロックによって決定することができる。これは、一般的には、クロック・サイクルにおける正の遷移になる。例えば、該要求信号は、入力信号の受信後の次の正の遷移において送信することができる。別のオプションでは、該アクティベート手段による該要求信号の送信及び／又はキャンセルは、該機構内の他の構成要素及び／又は信号に依存することができる。例えば、該要求信号のキャンセルを、いったん該入力信号の第２クロック・ドメインへの転送が完了すると行うことができる。該要求信号のキャンセルによって、第２クロック・ドメインが非アクティブになる、すなわち、第２クロック・ドメインが負の遷移でスリープ・モード又はスタンバイ・モードに戻ることが可能になる。これは入力信号の転送に続いて即時に起こるので、第２クロック・ドメインがアクティブである時間を削減し、システムの消費電力低減に寄与する。
【００２０】
前記第１クロック・ドメインからの入力信号を記憶する手段は、データ記憶用の任意の適切な構成要素、機構、又はデバイスを含むことができる。該適切な構成要素、機構、又はデバイスは、該信号の記憶を、第２クロック・ドメインが非アクティブ、又はアクティブであるが第２クロックの遷移を待っている間、保持しておくことができる。該手段は、レジスタを含んでもよい。このような構成要素は、該入力信号を記憶しておくことができ、その期間は、第２クロック・ドメインのクロック・サイクルでの遷移を検出するまで、又は、該検出を実行する他の構成要素、例えば、一つ又は複数のフリップフロップ、からの信号を受信する迄である。上記検出に続いて、該入力信号が第２クロック・ドメインに転送される。このため、より一般的には、該フリップフロップ（複数可）が第２クロックによってクロック供給されるのは、例えば、該クロック・サイクルの正のエッジでよいが、負のエッジ又は両方のエッジを代わりに使用してもよい。該記憶手段は、前記信号入力部からの入力信号を受信するようにできる。すなわち、該記憶手段と該信号入力部とは、別々の構成要素にすることができる。一つは該入力信号を受信し、一つは該入力信号を記憶する。しかしながら、該機能は、また、一つの構成要素によって実行することもできる。該構成要素は、第１クロック・ドメインから入力される該信号を受信・記憶する。
【００２１】
システム内の他の構成要素と同様に、前記記憶手段からの前記入力信号を第２クロック・ドメインに転送するための手段は、該機能の実行に適した構成要素、例えば、一つ以上のフリップフロップを含むことができる。該データは、第２クロックの遷移に続けて転送される。該転送は、該遷移のときに起こり得る、すなわち、遷移が検出され次第即時に転送される、又は、該遷移と転送の間に同期期間があってもよい。同期期間を設けることは、システムが準安定性を回避するための助けになる。この理由は、第２クロック・ドメインにおけるデータ値、例えば、第１クロック・ドメインからのデータ値は、第２クロック・サイクルの遷移の時に変化することがあり得るからである。このため、この状況では、該遷移に近い時期に第２クロック・ドメインにデータを転送することを回避して、データ信号間の混合を防止することが望ましい。前記同期期間は、一般的に、第２クロック、例えば、該クロック・サイクルの次の遷移で決定される。該同期期間は、また、該入力信号を第２クロック・ドメインに転送するために使用される構成要素によって決まることがある。例えば、該転送手段が、第２クロックによってクロック供給される１つ又は複数のフリップフロップを含む場合、同期期間の長さは、該入力信号が第２クロック・ドメインに出力される迄に通過する必要があるフリップフロップの数によって決まる。
【００２２】
これまで説明したように、前記入力信号を第２クロック・ドメインに第２クロック・サイクルの遷移時点、又はこれに連動して転送することは、前記データ信号に関連して定義されたイベント又はタイム・スタンプを作成するために有利である。さらに、第１及び／又は第２クロック・ドメインが不明な状態のとき、例えば、システムが初期起動されたときには、該入力信号が転送されないことも有利である。この目的は、データ信号が、関連づけられたタイム・スタンプなしに、又は不明な状態のまま、第２クロック・ドメインに提供されることを防ぐためである。実施形態の一つの組では、前記機構は、例えば、第１及び／又は第２クロック・ドメインが不明な状態であれば、第２クロック・ドメインへの入力信号の転送を遮断する手段を備える。該入力信号の転送の遮断は、該クロックがアクティブになったときに定まった信号を生成するための役に立つ。すなわち、転送された入力信号が第２クロック・ドメインで明確に定義されたタイム・スタンプを持つことになる。例えば、前記転送手段内のすべてのデータ値を０に設定して、いったんクロックがアクティブになり入力信号が受信されると、０から１への明確な遷移を観測することができる。このようにして、データ破損又は準安定性の危険を軽減できる。これはまた、アクティブな入力を間違って検出する可能性をなくすこともできる。
【００２３】
前記遮断手段は、任意の適切な構成要素、例えば、１つ又は複数のフリップフロップを含んでよい。該手段は、前記機構内の他の１つ又は複数の構成要素、例えば、信号入力と同一の構成要素、例えば、フリップフロップを含むことができる。しかし、好ましくは、該遮断手段は、別個の構成要素である方がよい。該遮断手段からの出力は、前記信号入力部からの出力と、例えば、ＡＮＤゲートで組み合わされて、入力信号の転送を遮断する。該遮断手段が１つ又は複数のフリップフロップを含む場合、遮断信号が、フリップフロップの「リセット」（Ｒ）入力に供給され、Ｑ出力が常に０であるようにし、このようにして、該入力信号を遮断することができる。好ましくは、該フリップフロップは、第２クロックによってクロック供給される方がよい。このようなフリップフロップの使用方法は、また、第２クロック・ドメインがアクティブになったときに、確定された信号の生成を保証する。例えば、０から１への明確な変化が、第２クロック信号の正のエッジでクロックに同期して取り込まれる。これは、前記入力信号の第２クロック・ドメインへの転送に関係づけられた、確定したタイム・スタンプの提供に寄与する。該転送手段の別の利点は、該入力信号の転送を再び遮断するとき、例えば、第２クロック・ドメインが非アクティブ状態に戻るとき、又は、１つ又は両方のクロック・ドメインが不明な状態に入ったときに、この遮断信号を該機構内のすべてのレジスタ、例えば、記憶手段をクリアするために使用でき、次の入力信号を受信するときに、該機構が新しい信号の受信を確実に検出するようにできることである。
【００２４】
前述のように、記憶手段の具備と、これにより第１及び第２クロック・ドメインが独立すること、すなわち、従来のハンドシェイク手順のように、これらのドメインが同時にアクティブになる必要はないことにより、第１及び第２クロック・ドメインの絶対的又は相対的周波数にも、また、何の必要条件もない。前記機構内のいずれの構成要素も、第１又は第２クロック・ドメインのどの特定の周波数にも依存せずに、前述の方法で動作することができる。第１クロック・ドメインの周波数が第２クロック・ドメインの周波数の整数倍である（又はその逆）、及び／又は固定された位相を持つことができるが、一般的には、本発明によって、同期も特別な関係も必要とされることはない。さらに、本発明の実施形態は、第１及び／又は第２クロック・ドメインの、非同期的な、スリープ・モード又はスタンバイ・モードへの移行、及び再起動に対して許容性がある。
【図面の簡単な説明】
【００２５】
以降、本発明の特定の実施形態について、添付図面を参照しながら、単なる例として、説明する。
【図１】本発明による、一機構の図を示す。
【図２】本発明の別の実施形態の概略ブロック図を示す。
【発明を実施するための形態】
【００２６】
図１は、本発明を実現する論理的機構の概要を示している。該機構は、入力信号、ｄａｔａ−ａを第１クロック・ドメイン２から第２クロック・ドメイン４に転送するように構成されている。一般的に、第１クロック・ドメイン２は第１クロックを含み、第２クロック・ドメイン４は第２クロックを含む。本発明は、該第１及び第２クロックの絶対的又は相対的な周波数のいずれからも影響を受けず、任意の値をとることができる。
【００２７】
該機構には、フリップフロップの組６、７を直列に含む。該フリップフロップの組、６、７は、そのＳ入力で、入力信号、ｄａｔａ−ａを受信する。第１のフリップフロップ６は、そのＤ入力で「０」入力、ＶＳＳを受信する。該フリップフロップ６、７は、第２クロック、ｃｋでクロック印加される。後段のフリップフロップ７のＱ出力は、ＡＮＤゲート８へ供給される。ＡＮＤゲート８への他方の入力は、直列に配置された他のフリップフロップの組１０、１１からのＱ出力である。これらのフリップフロップ１０、１１は、また、第２クロック、ｃｋによってクロック供給され、リセット信号、ａｒｓｔを該フリップフロップ１０、１１のＲ入力で受信し、「１」入力ＶＤＤが、該フリップフロップのうちの第１のフリップフロップ１０のＤ入力に供給されている。
【００２８】
ＡＮＤゲート８からの出力、ｄａｔａＣａｐｔｕｒｅｄ＿ａは、さらに別のフリップフロップの組１２、１３のＤ入力に供給されると共に、別の出力１４に送られる。該出力１４からは、出力、ｄａｔａＣａｐｔｕｒｅｄ＿ａをシステムの他の部分で使用することができる。このフリップフロップ１２、１３の組は直列に配置され、第２クロック、ｃｋによってクロック入力され、そして、前記フリップフロップ１０のＲ入力へ入力されているリセット信号、ａｒｓｔを受信する。最終段のフリップフロップ１３のＱ出力、ｄａｔａは、第２クロック・ドメイン４に出力される。
【００２９】
図１に示す前記機構の動作を、以降説明する。最初に、該機構が起動する、又はリセットされるときに、前記リセット信号、ａｒｓｔは、１に設定されている。該リセット信号、ａｒｓｔは、図１の左下にある２つのフリップフロップ１０、１１のＲ入力に供給される。このため、該フリップフロップ１０、１１からのＱ出力は、フリップフロップ１０、１１のＤ入力にかかわらず、０である。この、フリップフロップ１１のＱ出力からの０値は、ＡＮＤゲート８に供給されて、すべての信号がＡＮＤゲート８を通過することを防止し、また、出力、ｄａｔａＣａｐｔｕｒｅｄ＿ａを０に設定する。該リセット信号、ａｒｓｔは、また、図１の右側に示すフリップフロップ１２、１３の組のＲ入力にも供給され、前記出力、ｄａｔａをゼロにする。したがって、該リセット信号は、該機構のすべての出力値をクリアするために使用され、新たな入力信号を受信したとき、該新たな入力信号が該機構を伝播する際に、０から１への確定した遷移になるようにすることが分かる。ある時点で、第２クロック、ｃｋに同期して、該リセット信号ａｒｓｔはゼロに設定され、これによって、左下のフリップフロップ１２のＤ入力の１値の信号ＶＤＤが、ＡＮＤゲート８まで伝播することが可能になる。
【００３０】
一方、入力信号、ｄａｔａ−ａは、図１の左上の２つのフリップフロップ６、７のＳ入力で受信することができる。すなわち、値「１」が、フリップフロップ６、７に供給される。この入力信号、ｄａｔａ−ａが受信された場合、該信号によって、フリップフロップ６、７のＱ出力を、該フリップフロップ６、７のＤ入力に関係なく、１に上げる。この入力信号は、ｄａｔａ−ａが、その後非アクティブになった場合でも、第２クロック、ｃｋがアクティブにならず、Ｄ入力の０値の信号ＶＳＳを通過させない限り、該元の入力信号が、フリップフロップ６、７のＱ出力で保存される。
【００３１】
前記機構の動作は、第２クロック・ドメイン４の状態、すなわち、第２クロック・ドメイン４がアクティブであるかどうかに依存する。リセット信号、ａｒｓｔがセットされていない限り、この段階で、前記入力信号、ｄａｔａ＿ａは、第２クロック、ｃｋの２サイクルでＡＮＤゲート８を通過して、ｄａｔａＣａｐｔｕｒｅｄ＿ａとして出力されることになる。すなわち、該入力データは取りこまれて、記憶される。しかし、第２クロック・ドメイン４がアクティブでない、又は、第２クロックｃｋが遅過ぎてまだ正の遷移に到達していない場合、該データ信号は、該機構を経由して、すなわち、同期フリップフロップ１２、１３を経由して、先へ通過することができない。
【００３２】
いったん、第２クロック、ｃｋがアクティブになると、次に、前記ＡＮＤゲート８からの出力、ｄａｔａＣａｐｔｕｒｅｄ＿ａは、第２クロック、ｃｋによってクロック供給されている最終段の２つの同期用フリップフロップ１２、１３を経由して伝播することができる。いったん、該信号ｄａｔａＣａｐｔｕｒｅｄ＿ａが、これらのフリップフロップ１２、１３を通過すると、最終段フリップフロップ１３のＱ出力から第２クロック・ドメイン４に出力データ信号、ｄａｔａとして転送される。このデータ信号は、従って、第２クロック、ｃｋに同期している。
【００３３】
入力信号ｄａｔａ＿ａが、第１のフリップフロップの組６、７によって受信されたときに第２クロック・ドメイン４がアクティブである場合、該入力信号ｄａｔａ＿ａは、前述のように、ＡＮＤゲート８を通過し、そして次に、中央のフリップフロップの組１２、１３にクロックで取り込まれて通過し、同期した出力信号、ｄａｔａとして、第２クロック・ドメイン４に転送される。
【００３４】
しかしながら、第２クロック、ｃｋの周波数が特に低い場合は、第２クロック、ｃｋの正の遷移は長時間起こらないであろうし、該入力信号、ｄａｔａ＿ａが非アクティブになった後、すなわち、０値に戻った後でさえ、正の遷移が起こらない可能性がある。この場合、該入力信号、ｄａｔａ＿ａは第１の２つのフリップフロップ６、７のＱ出力に記憶され、前述のように、第２クロック、ｃｋの正の遷移を待つことになる。
【００３５】
図２は、本発明の一実施形態を示す図であり、第２クロック・ドメインが非アクティブであるが、データ信号を第１クロック・ドメインから転送可能な場合に特に有用である。図１に示す機構は、図２のボックス３によって表される。該同期機構３は、図１に示すように、入力信号ｄａｔａ＿ａを、第１クロック・ドメイン２内の周辺機器部１８から受信して、データ信号、ｄａｔａＣａｐｔｕｒｅｄ＿ａを出力する。該同期機構３内の構成要素は、第２クロック、ｃｋからクロック供給されている。該実施形態のシステムは、また、クロック要求モジュール１６を含み、該モジュール１６は、前記同期機構３を含み、クロック要求モジュール１６に接続されている。
【００３６】
動作中、第１クロック・ドメイン２内の周辺機器部１８は、自己の状態変化を検出する、例えば、スリープ・モードにあるマウス動作検出器が、マウスが動いたことを検出する。これを契機にして、周辺機器部１８が信号、ｄａｔａ＿ａを出力し、該信号、ｄａｔａ＿ａがクロック要求モジュール１６内の同期機構３に受信される。該入力信号、ｄａｔａ＿ａが示すことは、別の周辺機器部２０（例えば、該マウス内のチップ）を含む第２クロック・ドメイン４が、デバイス（例えば、マウス）の使用を要求されていること、しかし、該第２クロック・ドメイン４が非アクティブである、すなわち、第１クロック・ドメイン２からのデータ信号を転送するために使用する第２クロック信号、ｃｋがないということである。該同期機構は、信号、ｄａｔａＣａｐｔｕｒｅｄ＿ａを出力する。これを契機に、前記クロック要求モジュール１６は、信号、ｒｅｑ＿ｃｋを第２クロック・ドメイン４に出力し、該第２クロック・ドメイン４をアクティベートする第２クロック、ｃｋを起動するように要求する。続いて、該第２クロック、ｃｋがアクティベートされ、該信号がクロック要求モジュール１６に帰還される。該クロック要求モジュール１６では、該第２クロック、ｃｋを該同期機構３が使用して、例えば、前記入力信号、ｄａｔａ＿ａを第１クロック・ドメイン２から第２クロック・ドメイン４に信号、ｄａｔａとして転送することが可能になる。また、該第２クロック、ｃｋを周辺機器部２０が使用して、例えば、要求されている任意の動作を実行することができる。
【００３７】
いったん、第２クロック・ドメイン４からの前記クロック、ｃｋが、クロック要求モジュール１６によって受信されると、信号、ｃｌｅａｒがクロック要求モジュール１６に送信されて、第２クロック、ｃｋがもはや必要ないことを示すことができる。該信号、ｃｌｅａｒは、通常、第２クロックの正のエッジで、例えば、第２クロック・ドメイン４に前記データ信号を転送する最終ステップで生成され、そして、第２クロック・ドメイン４のスリープ・モード又はスタンバイ・モードへの復帰を可能にする。
【００３８】
当業者には、上述の実施形態に対する多くの変形及び修正が、本明細書で述べた発明の様々な態様の範囲内で行うことができることが理解されよう。例えば、Ｒ入力及びＳ入力を個々に持つフリップフロップを両方設ける必要はなく、これらのフリップフロップを組み合わせて、Ｒ及びＳ入力の両方を持つフリップフロップにすることができる。図２に示す構成では、さらに別の同期機構を必要に応じて設けて、例えば、追加された、第１及び第２クロック・ドメイン間の別のデータ転送を同期させるために使用することができる。
【図１】
0006272847.tif 000002
【図２】
0006272847.tif 000003