(57)【要約】  デジタル・システムで、データ信号を第１クロック・ドメイン（ｂｕｓ＿ｓｌｏｗ）から第２クロック・ドメイン（ｂｕｓ＿ｆａｓｔ）へ転送する機構。第１クロック・ドメイン（ｂｕｓ＿ｓｌｏｗ）は、第２クロック・ドメイン（ｂｕｓ＿ｆａｓｔ）の第２クロック（ｃｋ＿ｆａｓｔ）よりも低周波の第１クロック（ｃｋ＿ｓｌｏｗ）を有する。第１クロック・ドメイン（ｂｕｓ＿ｓｌｏｗ）のデータ信号は第２クロック・ドメイン（ｂｕｓ＿ｆａｓｔ）に転送され、所定の遷移が所定時間内に第１クロック（ｃｋ＿ｓｌｏｗ）で発生するか否かを、第２クロック（ｃｋ＿ｆａｓｔ）からクロック供給される検出手段（２）を用いて検出し、検出手段（２）が、第１クロック（ｃｋ＿ｓｌｏｗ）での所定の遷移を所定期間内に検出した場合、第１クロック・ドメイン（ｂｕｓ＿ｓｌｏｗ）からのデータ信号を第２クロック・ドメイン（ｂｕｓ＿ｆａｓｔ）に再度転送する。【選択図】図１
2015522188.tif 000002
【特許請求の範囲】
【請求項１】
デジタル・システムにおいて、データ信号を第１クロック・ドメインから第２クロック・ドメインに転送する機構であって、
該第１クロック・ドメインは、該第２クロック・ドメイン内の第２クロックの周波数よりも低い周波数の第１クロックを有し、
該機構は、
該データ信号を該第１クロック・ドメインから該第２クロック・ドメインに転送し、
所定の遷移が、該第１クロックで、所定期間内に発生するかどうかを、該第２クロックからクロック供給される検出手段を用いて検出し、そして、
該検出手段が、該第１クロックでの該所定の遷移を該所定期間内に検出した場合、該データ信号を該第１クロック・ドメインから該第２クロック・ドメインへ再度転送する、
ように構成されていることを特徴とする機構。
【請求項２】
前記検出される所定の遷移が、正の遷移であること、を特徴とする請求項１に記載の機構。
【請求項３】
前記データ信号が前記第１クロック・ドメインから前記第２クロック・ドメインへ前記検出手段を経由して転送されないこと、を特徴とする請求項１又は２に記載の機構。
【請求項４】
前記第１クロック・ドメインが第１バスを含み、前記第２クロック・ドメインが第２バスを含み、かつ、データは、該第１バスから該第２バスに最初に転送され、かつ、必要と判断された場合引き続いて転送されること、を特徴とする請求項１、２、又は３に記載の機構。
【請求項５】
前記データ・バスは、少なくとも８、１６又は３２ビットを含むこと、を特徴とする請求項４に記載の機構。
【請求項６】
前記検出手段は、エッジ検出器を含むこと、を特徴とする、前記いずれかの請求項に記載の機構。
【請求項７】
前記検出は、前記第２クロックに基づく前記第１クロックの離散的サンプリングを含むこと、を特徴とする、前記いずれかの請求項に記載の機構。
【請求項８】
前記検出手段は、前記離散的サンプリングの複数のステップをカウントする手段を有すること、を特徴とする、請求項７に記載の機構。
【請求項９】
前記離散的サンプリングの周波数が前記第２クロックの周波数に等しいこと、を特徴とする請求項７又は８に記載の機構。
【請求項１０】
前記所定期間は、前記第２クロックの１〜１６サイクルの間であり、例えば前記第２クロックの２〜８サイクルの間である、例えば前記第２クロックの４サイクルであること、を特徴とする、前記いずれかの請求項に記載の機構。
【請求項１１】
前記検出手段は、前記所定期間内のサイクル数をカウントする手段を備えること、を特徴とする、請求項１０に記載の機構。
【請求項１２】
前記カウント手段は、前記第２クロックによってクロック供給されること、を特徴とする、請求項８又は１１項に記載の機構。
【請求項１３】
前記検出は、前記第２クロックの立ち上がりエッジで行われること、を特徴とする、前記いずれかの請求項に記載の機構。
【請求項１４】
前記第２クロックの周波数は、前記第１クロックの周波数の４倍以上の周波数、例えば少なくとも１０倍の周波数、例えば少なくとも１００倍の周波数、例えば少なくとも１０００倍の周波数であること、を特徴とする、前記いずれかの請求項に記載の機構。
【請求項１５】
前記検出手段は、入力として前記第１クロックを有すること、を特徴とする、前記いずれかの請求項に記載の機構。
【請求項１６】
前記検出手段は、フリップフロップを含むこと、を特徴とする、前記いずれかの請求項に記載の機構。
【請求項１７】
前記所定期間を開始するための手段を含むこと、を特徴とする、前記いずれかの請求項に記載の機構。
【請求項１８】
前記データ信号を記憶する手段を備えること、を特徴とする、前記いずれかの請求項に記載の機構。
【請求項１９】
前記最初に転送されたデータ信号が前記第２クロック・ドメインによって読み取られることを防止する手段を備えること、を特徴とする、前記いずれかの請求項に記載の機構。
【請求項２０】
デジタル・システムにおいてデータ信号を第１クロック・ドメインから第２クロック・ドメインへ転送するための方法であって、
該第１クロック・ドメインが該第２クロック・ドメイン内の第２クロックの周波数よりも低い周波数の第１クロックを有し、
該データ信号を該第１クロック・ドメインから該第２クロック・ドメインに転送するステップと、
所定期間内に、所定の遷移が該第１クロックで発生するかどうかを、該第２クロックからクロック供給される検出手段を用いて検出するステップと、そして、
該検出手段が該第１クロックでの該所定の遷移を該所定期間内に検出した場合に、該データ信号を該第１クロック・ドメインから該第２クロック・ドメインへ、再度転送するステップと、
を含んでいることを特徴とする方法。
【請求項２１】
前記検出される所定の遷移は、正の遷移であること、を特徴とする、請求項２０に記載の方法。
【請求項２２】
前記データ信号を前記第１クロック・ドメインから、前記第２クロック・ドメインへ前記検出手段を通して転送することのないステップを含むこと、を特徴とする、請求項２０又は２１に記載の方法。
【請求項２３】
前記第１クロック・ドメインは第１バスを含み、前記第２クロック・ドメインは第２バスを含み、該第１バスから該第２バスへ、データを最初に転送し、必要とは判断される場合、引き続き転送するステップを含むこと、を特徴とする、請求項２０、２１又は２２に記載の方法。
【請求項２４】
前記データ・バスは、少なくとも８、１６又は３２ビットを含むこと、を特徴とする、請求項２３に記載の方法。
【請求項２５】
前記検出手段は、エッジ検出器を含むこと、を特徴とする、請求項２０〜２４のいずれかに記載の方法。
【請求項２６】
前記検出は、前記第２クロックに基づく前記第１クロックの離散的サンプリングを含むこと、を特徴とする、請求項２０〜２５のいずれかに記載の方法。
【請求項２７】
前記検出ステップは、前記離散的サンプリングの複数のステップをカウントすること、を特徴とする、請求項２６に記載の方法。
【請求項２８】
前記離散的サンプリングの周波数が前記第２クロックの周波数に等しいこと、を特徴とする、請求項２６又は２７に記載の方法。
【請求項２９】
前記所定期間は、前記第２クロックの１〜１６サイクルの間であり、例えば第２クロックの２〜８サイクルの間である、例えば第２クロックの４サイクルであること、を特徴とする、請求項２０〜２８のいずれかに記載の方法。
【請求項３０】
前記検出ステップは、前記所定期間内のサイクル数をカウントするステップを含むこと、を特徴とする、請求項２９に記載の方法。
【請求項３１】
前記カウントするステップは、前記第２クロックによってクロック供給されること、を特徴とする、請求項２７又は３０に記載の方法。
【請求項３２】
前記検出は、前記第２クロックの立ち上がりエッジで行われること、を特徴とする、請求項２０〜３１のいずれかに記載の方法。
【請求項３３】
前記第２クロックの周波数は、前記第１クロックの周波数の、４倍以上の周波数、例えば、少なくとも１０倍の周波数、例えば少なくとも１００倍の周波数、例えば少なくとも１０００倍の周波数であること、を特徴とする、請求項２０〜３２のいずれかに記載の方法。
【請求項３４】
前記検出手段は、入力として前記第１クロックを有していること、を特徴とする、請求項２０〜３３のいずれかに記載の方法。
【請求項３５】
前記検出手段はフリップフロップを含むこと、を特徴とする、請求項２０〜３４のいずれかに記載の方法。
【請求項３６】
前記所定期間を開始するステップを含むこと、を特徴とする、請求項２０〜３５のいずれかに記載の方法。
【請求項３７】
前記データ信号を記憶するステップを含むこと、を特徴とする、請求項２０〜３６のいずれかに記載の方法。
【請求項３８】
前記最初に転送されたデータ信号が前記第２クロック・ドメインによって読みだされることを防ぐステップを含むこと、を特徴とする、請求項２０から３７のいずれかに記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル・システム、特に、クロック・ドメインが同期されていないデジタル・システムにおいて、クロック・ドメイン間でデータ信号を転送するためのシステム及び方法に関する。
【背景技術】
【０００２】
無線（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標））システムなどの各種電子システムの多くでは、異なる周波数で動作するが、少なくとも散発的に相互通信が必要な複数のクロック・ドメインが存在する。例えば、中央プロセッサは高い周波数で動作するが、接続される１つ又は複数の周辺機器は低周波数で動作する場合がある。また、該クロック・ドメインの一つは、非アクティブな期間、例えば、スリープ・モード又はスタンバイ・モードに入ることがある。これは、未使用中に電力を節約するためである。このドメインは、通常高速なクロック・ドメインであり、低速クロック・ドメインは、この期間中はタイマとして使用されている。このような期間中には、２つのクロック・ドメイン間の通信はない。しかし、前記クロック・ドメインの一つがスリープ・モード又はスタンバイ・モードを終了するとき、該クロック・ドメインは、多くの場合、該低速クロック・ドメインと通信する必要がある。さらに、前記高速及び低速クロック・ドメインは、必ずしも相互の同期をとらなくてもよい。
【０００３】
周波数が異なるクロック・ドメインを含むシステムでは、「ハンドシェイク」手順を使用することが知られている。該手順では、該クロック・ドメイン間でパラメータを交換して、低速クロック・ドメインが、高速クロック・ドメインへの転送中は、転送するデータ信号を変更しないことを、例えば、ビジー・フラグの使用によって保証する。これは、信号の低速クロック・ドメインからの転送を、低速クロック・ドメインの安全な期間、すなわち、低速クロック・ドメインでの遷移（クロックの０から１への変化）から離れている時に、かつ、低速クロック・ドメインが転送するデータ信号を変更しない期間に行い、該信号の破壊又は該システムの準安定状態を回避するために必要である。この理由は、低速クロック・ドメイン内の値は、通常、低速クロックの遷移時に変化するからである。しかし、既知のハンドシェイク手順は比較的速度が遅い。この理由は、クロック・ドメイン間の同期を確立するために、該手順が低速クロック・ドメインの複数のサイクルを必要とするからである。速度が遅いだけでなく、かなりの量の電力を消費する。その理由は、該手順の間、高速クロック・ドメインが動作を継続する必要があるからである。また、多くのアプリケーションでは、低速クロック・ドメイン内の信号、例えば、継続的なカウントが必要なタイマを凍結することは望ましくない。この問題に対する既知の解決策は、補助的なシャドウ・レジスタを低速クロック・ドメイン内に設け、フラグと組み合わせることである。該フラグは、高速クロック・ドメインに、どのシャドウ・レジスタ・バンクが安定していると該高速クロック・ドメインが考えればよいかを、知らせる。しかし、これによって必要な論理量がかなり増加する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、異なる周波数の２つのクロック・ドメイン間の通信のための、改良されたシステム及び方法を提供することである。
【課題を解決するための手段】
【０００５】
第１の側面から見ると、本発明は、デジタル・システムにおいて、データ信号を第１クロック・ドメインから第２クロック・ドメインへ転送するための機構を提供する。該第１クロック・ドメインは、該第２クロック・ドメイン内の第２クロックの周波数よりも低い周波数の第１クロックを有する。該機構は、
該データ信号を該第１クロック・ドメインから該第２クロック・ドメインに転送し、
所定の遷移が該第１クロックで所定期間内に発生するかどうかを、該第２クロックからクロック供給される検出手段を用いて検出し、そして、
該検出手段が該第１クロックでの該所定の遷移を該所定期間内に検出した場合、該データ信号を該第１クロック・ドメインから該第２クロック・ドメインへ再度転送する、ように構成されている。
【０００６】
本発明は、また、デジタル・システムにおいて、データ信号を第１クロック・ドメインから第２クロック・ドメインへ転送するための方法であって、該第１クロック・ドメインが該第２クロック・ドメイン内の第２クロックの周波数よりも低い周波数を持つ第１クロックを有する。該方法は、
該第１クロック・ドメインからのデータ信号を該第２クロック・ドメインに転送するステップと、
所定期間内に所定の遷移が該第１クロックで発生するかどうかを、該第２クロックからクロック供給される検出手段を用いて検出するステップと、そして、
該検出手段が該所定の遷移を該第１クロックにおいて該所定期間内に検出した場合、該データ信号を該第１クロック・ドメインから該第２クロック・ドメインへ再び転送するステップと、を含んでいる。
【０００７】
したがって、ハンドシェイク及び／又はビジー・フラグを使用する代わりに、本願発明に従い、前記データ信号は、単純に第１クロック・ドメインから第２クロック・ドメインへ転送されるが、クロックの遷移が該第１クロックにおいて該所定期間内に発生したかどうかに関して確認が実行される。該遷移が検出された場合、該第１クロック・ドメインからの該データ信号を該第２クロック・ドメインへ再び転送し、そうでない場合、該信号の最初の転送が「安全」であった、すなわち、準安定状態のリスクはないとみなされる。出願人は、上記の結果、データ信号の高速な転送を該第１クロック・ドメインから該第２クロック・ドメインに対して実行できたことを評価している。その理由は、該第２クロックによってクロック供給されている該第１クロックによって確認が行われるからである。例えば、ハンドシェイクを含む既知の機構では、同期時間及び転送時間は一般的には少なくとも第１クロックの２サイクル、すなわち、２低速クロック・サイクルであるが、これと比較して、本発明の実施形態における同期時間及び転送時間は、第２クロック数サイクル、すなわち、高速クロック、数サイクル相当に短くすることができる。第１クロックの遷移に続く前記データ信号の転送は、所定期間の終了時、例えば、第２クロックの対応する遷移になる可能性があるが、好ましくは、該第２クロックの後続する遷移のときに起きる方がよい。
【０００８】
前記検出手段の設定は、正及び／又は負の遷移を検出するように設定することができる。すなわち、第１クロック・ドメインにおけるデータ値は、使用されるシステムと実装技術に応じて、第１クロックの正及び負の遷移の一方又は両方において変化することができる。しかし、一連の実施形態では、検出される遷移は正の遷移とする。
【０００９】
前記第１クロックの確認を行う目的は、該クロックのサイクルが、一つの遷移、すなわち、０から１への正の遷移又は１から０への負の遷移から離れていて、第１クロック・ドメインから第２クロック・ドメインへのデータ信号の最初の転送が該第１クロックのサイクルにおける遷移と同時に起こらなかったことを確認するためである。この理由は、第１クロック・ドメインにおけるデータ値が、システムの実装技術に応じて、第１クロックの前記正及び負の遷移の一方又は両方において変更されるので、この時点で、すなわち、該第１クロックが変化している間に、該第１クロック・ドメインから値を転送すると、データの破壊又は準安定状態につながる可能性があるからである。
【００１０】
出願人は、前記第１クロックの確認によって、前記データ信号が安全に転送されていることを確認できるので、データ信号の最初又は後続の転送が、第１クロックである低速クロックのサイクルの安全な区間で起きることを評価した。いくつかの実施形態では、前記データ信号が第１クロック・ドメインから第２クロック・ドメインへ前記装置内の同期用構成要素、すなわち、検出手段のどれをも経由しないで転送される。また、該データ信号を該第２クロック・ドメインに同期させる必要もない。実施形態の特定の組では、第１クロック・ドメインから第２クロック・ドメインへのデータ信号の転送の間に１クロック・サイクルの時間遅延を引き起こす要因は存在しない。
【００１１】
上記は、単一のビット信号に対してある程度有利であるが、マルチ・ビット・バスに対して顕著な利点がある。この理由は、バス全体の信頼性の高い転送を第１クロックに対する確認に基づいて行うことができるからである。したがって、実施形態の一つの組では、第１クロック・ドメインが第１バスを含み、第２クロック・ドメインが第２バスを含み、かつ、データは第１バスから第２バスに転送される。該転送には、最初の転送及び、必要と判断された場合後続の転送が実行される。これの意味するところは、本発明の実施形態では、従来技術でクロック・ドメインの同期のために一般的に使用されていた、直列接続のフリップフロップ又は他の機構に起因する待ち時間を、追加する必要がないということである。
【００１２】
本発明のいくつかの実施形態では、データ・バスは、例えば、少なくとも８、１６、又は３２ビットを含んでいるが、当然のことながら、該バスは、任意の数の複数ビットを含んでよい。
【００１３】
更に有利な消費電力低減は、より迅速な転送によって実現することができる。この迅速な転送により、１つ又は両方のクロックがより迅速にスリープ状態に入ることが、適切な場合に可能になる。例えば、公知のハンドシェイク手順は、完了するために複数の低速クロック・サイクルを必要とする。この間にも高速クロックは動作し続けている。これによって大量の不必要な電力が消費される可能性がある。特に、低速クロック・ドメインが低電力、低周波数のクロックを含み、高速クロック・ドメインが高電力である場合は、大量の不必要な電力消費の可能性が高い。上記は、低電力デバイスでの一般的な構成である。
【００１４】
第１クロックにおける前記所定の遷移の確認は、前記所定期間を通じて行うことができる。ただし、実施形態の一つの組では、前記検出には、他のクロック、好ましくは、第２クロックに基づいた第１クロックの離散的サンプリングが含まれる。これによって、いくつかの実施形態では、データ信号を、必要に応じて、可能な限り迅速に再転送することが可能になる。すなわち、該離散的サンプリングによって、第１クロックの該所定の遷移を発生直後に検出することができ、データ信号をこの検出後に転送することができるようになる。実施形態の１つの組では、検出手段は、エッジ検出器、すなわち、正エッジ検出器を含む。これによって、例えば、離散的サンプリングの各時点において、第１クロックの値を第１クロックの前の値と比較することができ、第１クロックの遷移が該サンプリング期間に発生した場合は、検出することができるようになる。該エッジ検出器は、上述のように、都合よく、第２クロックによってクロック供給される。
【００１５】
第１クロックでの遷移の検出は、一定の時間を必要とする。第１クロックの遷移は検出手段に入力されることが必要で、結果として得られる論理信号群は、該検出手段及び該信号群によって動作する任意の他の構成要素を通って転送され、それによって第１クロック・ドメインと第２クロック・ドメイン間のデータ信号の転送が実行される。一般的に、前記検出手段が第１クロックの遷移を検出するための所定期間は、第１クロック・ドメイン内の信号の変化が有効な値で安定するために要する時間、及び、該クロック遷移が該検出手段を介して伝播するために要する時間よりも長い。例えば、離散的サンプリングのサンプリング点の数は、一般に、上記論理信号を必要な構成要素を経由して伝搬するために要する時間に関係する。実施形態の一つの組では、該所定期間は第２クロックの１■１６サイクルの間に相当し、例えば、第２クロックの２〜８サイクル、例えば、第２クロックの４サイクル分である。しかし、該所定期間が、第２クロックのサイクルの整数倍に相当する必要はない。例えば、異なるクロックによりクロック供給される場合がある。遷移が該所定期間内に検出されなかった場合、確実に想定できることは、第１クロック・ドメインから第２クロック・ドメインへのデータ信号の初期転送が、第１クロックの遷移と同時に起きなかったということである。
【００１６】
前記所定期間の経過は、任意の適切なタイミング機構、例えば、タイマ又はカウンタにより計時することができる。しかしながら、上述のように、いくつかの実施形態では、第１クロックの遷移の検出は多数のステップを含み、及び／又は多数の第２クロックのサイクルに亘って実行される。したがって、好ましくは、該検出手段は、前記離散的サンプリングの複数のステップ及び／又は該所定期間のサイクル数をカウントする手段を備える方がよい。これは、ダウン・カウンタ、グレイ・コード・カウンタ、又は１つ又は複数の直列なフリップフロップのような構成要素とすることができる。好ましくは、該カウント手段は、第２クロックによってクロック供給される、すなわち、該検出手段と同期する方がよい。
【００１７】
実施形態の一つの組において、第１クロック・サイクルにおける前記所定の遷移の検出は、第２クロックの任意の遷移（正又は負のどちらか）で実行することができる。実施形態の一つの組では、該検出は、第２クロックの立ち上がりエッジ、すなわち正の遷移で行われ、例えば、これが、前記所定期間の開始の合図となる。上述のように、該検出は複数のステップを含み、後続のステップは、後続の、例えば、第２クロックの次の立ち上がりエッジで実行される。好ましくは、前記離散的サンプリングの周波数は、第２クロックの周波数に等しい方がよい。すなわち、該サンプリングは検出期間中に第２クロックのサイクル毎に行われ、可能な限り早く遷移を検出して、したがって、必要な場合にはデータ信号の可能な最速の再転送を可能にする（これは必須ではない。データの再転送は、常に前記所定期間の終了まで待つことができる）。データ信号が第１クロックの遷移の後に再転送される場合、第２クロックの周波数の第１クロックに対する比率は十分に大きくして、第１クロックの次の遷移が、該データ信号の第１クロック・ドメインから第２クロック・ドメインへの転送の実行に要する時間の間に発生しないことを保証する必要がある。
【００１８】
第２クロックの周波数は、第１クロックの周波数の整数倍であり、及び／又は固定された位相を有する可能性があるが、一般には、同期や特定の関係は、本発明に従う場合は必要ない。さらに、本発明の実施形態では、第１及び／又は第２クロック・ドメインがスリープ又はスタンバイ・モードに入りそして他のクロック・ドメインに対して非同期的に再起動されることが許容される。
【００１９】
実施形態の一つの組では、第２クロックの周波数は、第１クロックの周波数の少なくとも４倍の周波数、例えば、少なくとも１０倍の周波数、例えば、少なくとも１００倍の周波数、例えば、少なくとも１０００倍の周波数にすることができる。前記クロック周波数の比に関して前記の利点及び目的が満たされるのみならず、上記によって保証されることは、十分な時間をかけて、前記所定の遷移の検出と処理、及び、該データの再転送を、さらなる遷移が生じるリスク、及びこれに伴うデータの破損又は準安定状態のリスクなしに行えることである。前記検出手段は、第２クロックによってクロック供給されるので、これは一般的には、前記所定期間（第２クロック・サイクル数サイクル分）が第１クロックのサイクルよりもはるかに短いことを意味し、第１クロックの遷移に続いて、必要な論理信号すべてが前記機構を通過して、該データを第１クロック・ドメインから第２クロック・ドメインへ再転送し、その後に第１クロックの次の遷移が起こり、第１クロック・ドメイン内のデータ値を再度変更することができるようになる。これは、また、さまざまなクロック・ドメインが商業製品に存在することを反映している。一連の例示的な実施形態では、第１クロックの周波数は３２ｋＨｚであり、第２クロックの周波数は１６ＭＨｚである。
【００２０】
上述のように、前記検出手段は、一つの入力における値を連続したクロック・サイクルで比較するように構成されたエッジ検出器を含むことができる。しかし、前記確認の性質に応じて任意の適切な機構、すなわち、第１クロックの遷移を検出することができる任意の構成要素又は機構を具備することができる。このため、一般的には、該検出手段は、入力として第１クロックを持つことになる。実施形態の別の組では、該検出手段は、Ｄタイプ・フリップフロップのようなフリップフロップ、又は、比較器を含む。複数のフリップフロップを直列に備えて、該フリップフロップによって実行される前記確認の確実性を向上することができる。該フリップフロップからの出力が不安定な状態になることは稀である。該不安定な状態は、例えば、該確認が第１クロックの遷移の最中に実行される場合に起こり、解消するためにある程度の時間が必要になる。しかしながら、この出力が、さらにもう一つのフリップフロップの入力に供給される場合は、不安定な状態が両方のフリップフロップを通過する可能性は非常に小さい、すなわち、その確率は倍数的に減少するからである。
【００２１】
実施形態の一つの組では、前記第１クロックの遷移の確認は、常時継続して、例えば、第２クロックのサイクル毎に実行することができる。しかしながら、実施形態の別の組においては、該システムは前記所定期間を開始するための手段を含む。この手段は、該所定期間を開始するために送信される専用の信号でありうる。又は、該システム内の他の信号又はサイクルと組み合わされることもありうる。例えば、該所定期間は、該入力信号の変化によって、又は、システム又は第２クロック・ドメインがスタンバイ又はスリープ・モードに入る又は出ることによって、又は、中央処理装置（ＣＰＵ）が第１クロック・ドメインから読み出されるデータを要求することによって、起動することができる。該検出が起動によって実行され、継続的に実行されるのではない実施形態が有利である理由は、この実施形態では、該確認が必要なときにのみ実行されるので、システムの消費電力削減の助けになる。そして、第２クロック・ドメインがスリープ・モードに入ることが、該信号が転送されてからデータ信号の次の転送が必要になるまでの期間の間、可能になり、こうして電力節約ができる。本発明の実施形態が特に適している動作モードは、第２クロック・ドメインが、第１クロック・ドメインにデータ信号の転送を要求するモード、例えば、第２クロック・ドメインがスリープ・モード又はスタンバイ・モードを終了し、特定のデータ信号、例えば、時刻を要求する動作モードであろう。該時刻は、前記所定期間を開始するための信号を提供する。
【００２２】
上述のように、前記所定期間は、通常、一定であり、開始してから第２クロックの設定されたサイクル数の間継続する。しかしながら、想定されている実施形態では、該遷移の検出は、一旦第１クロックの遷移が検出され、該検出を示すために必要な論理信号が前記機構を通過すると、すなわち、該所定期間の満了前に、終了する。この理由は、データ信号を第１クロック・ドメインから第２クロック・ドメインに再び転送することが安全であることが一度示された後は、第１クロックが第２クロックより遅いという事実によって、データ信号を再び転送するときに、第１クロックがさらに遷移を起こすことがないことが保証されているからであり、これ以上、該検出を継続することは無駄であるからである。
【００２３】
本発明の実施形態によれば、前記転送されたデータ信号は、同期期間中、すなわち、前記所定期間中の任意の時点で変化可能であり、同期プロセス、又は、必要な場合、結果としての第１クロック・ドメインから第２クロック・ドメインへのデータ信号の再転送に、例えば、出力信号の準安定性を引き起こすことによって、影響を与えることがない。これは従来のハンドシェイク手順とは対照的である。従来の手順では、凍結が、第１クロック・ドメインから転送されるデータ信号に対してなされる。例えば、ビジー・フラグを使用することにより、第１及び第２クロック・ドメイン間の同期がとられる。これは明らかに該転送に必要な時間を増大させ、したがってシステムによって消費される電力を増大させる。本発明はこれらの制限を取り除き、結果としてデータ信号転送の高速化をもたらし、消費電力の削減に寄与することを理解されたい。
【００２４】
前記の実施形態の組において、前記検出手段へのクロック供給を第２クロックによって行い、第１クロックを入力とすることにより、前記機構は、単純に「安全な」同期信号を生成する。この目的は、データを再度第１クロック・ドメインから第２クロック・ドメインへ転送する必要があるか否かを判定することである。したがって、該データ信号の状態に関しては問題ではなく、該データ信号は、前記所定期間の間でも変化できる。すなわち、第１クロック・ドメイン内のデータ信号の、該所定期間の終了時又は該所定期間中の他の時刻における値が、第１クロック・サイクルに遷移があった場合に第２クロック・ドメインに転送される値である。このことは、一般に、該データ信号の値が変化するであろうことを意味する。もし、該所定期間中に第１クロック・サイクルの遷移がない場合、該データ信号は最初に転送された値のままであり、一般的な意味としては、該データ信号は値を変えていないことになる。しかし、第１クロックの遷移が検出された場合には、第１クロック・ドメイン内の最新のデータ信号は、該遷移に続き、第２クロック・ドメインへ転送される。
【００２５】
前記所定期間の間に第１クロック・ドメイン内のデータ信号が変更可能であるというこのような自由度は、従来の方法とは対照的である。従来の方法では、転送されるデータ信号が２つのクロック・ドメインの同期中に変更されることは許可されていない。この理由は、該同期プロセス、例えばハンドシェイク及び／又はビジー・フラグの使用は、転送されるデータ信号の確認だけでなく、該クロック・サイクルにも関係している。これは、システム全体とその使用に制限を加えることになる。例えば、ＣＰＵは、同期が完了した時をシステムに知らせるフラグをポーリングする必要がある。本発明のシステムはこのような制限がなく、その使用とアーキテクチャにより大きな自由度を与える。
【００２６】
実施形態の一つの組では、前記システムは前記データ信号を記憶する手段、すなわち、記憶装置又は記憶部を含み、また、前記方法は該データ信号を記憶するステップを含む。これによって、該データ信号の一時的な記憶が、第２クロック・ドメインに出力するまで、前記初期転送及び必要に応じて後続する転送のいずれか又は両方の間、可能になる。該データ信号は、また、該所定期間の間、すなわち、前記第１クロックの確認がなされて前期論理信号が前記検出手段を通過している間、記憶しておくことができる。
【００２７】
前記第１クロック・ドメインからの入力信号を記憶する手段は、データ記憶用の任意の適切な構成要素、機構、又はデバイスを含むことができる。該手段は、該データ信号を、第１クロック・サイクルの危険な期間及び／又は前期所定期間中、記憶しておくことができ、前記確認を開始したとき及び／又は、該第１クロックの前記確認が実行された後に、該データ信号を第２クロック・ドメインに出力する準備ができている。該手段は、レジスタ、例えばフリップフロップ又はラッチで構成できる。マルチビット・バスを転送するように構成されたシステムでは、複数の構成要素をバスのサイズに応じて設けてもよく、例えば、複数のフリップフロップを並列に設けることができる。このような構成要素は、該入力信号を、例えば、前記検出手段から、該入力信号の第２クロック・ドメインへの転送が安全であることを示す信号を受信するまで、記憶しておくことができる。さらに、該記憶手段の中のデータ信号を保留状態にして、データ転送の発生を該所定期間が経過するまで抑止することができる。該記憶手段は、前記第1クロック・ドメインから該データ信号を受信することができる、すなわち、該記憶手段と該第1クロック・ドメインは、別々の構成要素を含むことができる。一つは該入力信号を受信する構成要素であり、一つは該入力信号を記憶する構成要素である。しかしながら、該機能は、また、該第1クロック・ドメインによって実行することもできる。該ドメインは、該データ信号を、転送されるまで受信・記憶する。
【００２８】
データ信号が最初に転送されたとき、このデータ信号は、前記システムが使用しても安全であるかどうか、まだ、わかっていない。すなわち、該初期転送は不確実な状態で希望観測的になされている。この希望的観測は、第１クロックが、自サイクルの安全な期間内、すなわち、第１及び第２クロック・ドメインの周波数の相対的関係に基づいて、ほぼ安全であろう時間にあった、というものである。しかし、該転送が第１クロックの遷移時に行われた場合、該データ信号は壊れているか、準不安定な状態にある可能性がある。したがって、このような状況では、この信号をシステム全体の他の部分に伝播するのは良い考えではない。該伝播は、例えば、この信号が転送された先の第２バスを読み取ることによって行われる。したがって、実施形態の一つの組においては、前記機構は、最初に転送されたデータ信号の第２クロック・ドメインによる読み取りを禁止する手段を備えている。該データ信号の第２クロック・ドメインによる読み取りを禁止する該手段は、「レディ」信号を含むことができる。該信号は、例えば、該禁止手段が起動されたときに０に設定され、該データ信号が安全であり、かつ第２クロック・ドメインによって読み込み可能であると判定された場合に１に設定される。このレディ信号は、前記検出手段及び／又は前記所定期間と連携することができる。例えば、該機構がタイマ又はカウンタを含む場合、該レディ信号は、該所定期間の終了時のように、該所定期間に対して相対的な特定の時点で発行することができる。
【００２９】
いったん、第１クロックの確認が行われ、前記所定期間が終了し、前記データ信号の最初の転送が安全であることの認識又は後続の転送（既に説明したように安全であることがわかっている）のいずれかが行われると、第２クロック・ドメインへの該データ信号読み出しの前記禁止手段を解除することができる。
【図面の簡単な説明】
【００３０】
本発明の特定の実施形態の説明を、以降、例示のみの目的で、以下の添付図面を参照しながら行う。
【図１】本発明による、論理回路の一実施形態を示す図である。
【図２】図１に示す回路図に関係づけられたタイミング図を示す。
【発明を実施するための形態】
【００３１】
図１は、本発明を実装した機構に対応する模式的な論理回路図を示している。該機構は、データを、第１クロック・ドメイン内の第１バス、ｂｕｓ＿ｓｌｏｗから、第２クロック・ドメイン内の第２バス、ｂｕｓ＿ｆａｓｔに転送するように構成されている。第１クロック、ｃｋ＿ｓｌｏｗの周波数は第２クロック、ｃｋ＿ｆａｓｔの周波数よりも低く、典型的な周波数としては、第１クロック、ｃｋ＿ｓｌｏｗは３２ｋＨｚで、第２クロック、ｃｋ＿ｆａｓｔは１６ＭＨｚである。
【００３２】
前記機構は、第１クロック、ｃｋ＿ｓｌｏｗの正エッジ検出器２を備える。該正エッジ検出器２は、該第１クロック、ｃｋ＿ｓｌｏｗを入力として受け取る。該正エッジ検出器２の出力、ｐｏｓｅｄｇｅ＿ｄｅｔｅｃｔｅｄは、第１クロック、ｃｋ＿ｓｌｏｗに正エッジが検出された場合１になり、そうでない場合、０になる。第２クロック、ｃｋ＿ｆａｓｔは、正エッジ検出器２のクロック供給に使用され、第２クロックの立ち上がりエッジ毎に、該入力、ｃｋ＿ｓｌｏｗの値がサンプリングされ、第２クロックの前の立ち上がりエッジの時の値と比較される。
【００３３】
前記機構は、また、ダウン・カウンタ４を備える。該ダウン・カウンタ４は、入力として初期化信号、ｓｔａｒｔ＿ｓｙｎｃを受け取る。該信号、ｓｔａｒｔ＿ｓｙｎｃは、データを転送するために同期処理が開始されることを示す。前記ダウン・カウンタ４からの出力、ｓｙｎｃ＿ｃｎｔはカウントの値であり、カウント毎に１ずつ減少する整数である。図１に示す実施形態では、カウントは常に３から始まる。第２クロック、ｃｋ＿ｆａｓｔは、また、該ダウン・カウンタ４のクロック供給に使用されている。すなわち、第２クロックの立ち上がりエッジ毎に、該ダウン・カウンタはその出力ｓｙｎｃ＿ｃｎｔの値を１だけ減じる。
【００３４】
前記ウン・カウンタ４からの出力、ｓｙｎｃ＿ｃｎｔは、判定ノード６に供給される。該判定ノード６からは３つの出力８、１０、１２があり、該ダウン・カウンタ４からの出力、ｓｙｎｃ＿ｃｎｔの値に基づいている。第１出力８は、ダウン・カウンタ４の出力、ｓｙｎｃ＿ｃｎｔが０に等しい場合、値１を持つ。第２出力１０は、ダウン・カウンタ４の出力、ｓｙｎｃ＿ｃｎｔが３に等しい場合、値１を持つ。第３出力１２は、ダウン・カウンタ４の出力、ｓｙｎｃ＿ｃｎｔが０に等しくない場合、値１を持つ。理解されるように、該判定ノード６からの第２と第３出力１０、１２の両方が値１を持つのは、すなわち、ダウン・カウンタ４からの出力ｓｙｎｃ＿ｃｎｔが値３を持つ場合である。ダウン・カウンタ４の出力値、ｓｙｎｃ＿ｃｎｔの値が０に等しい場合、信号、ｒｅａｄｙが前記システムに出力される。その指示内容は、第１バス、ｂｕｓ＿ｓｌｏｗからのデータの転送が完了して、前記機構はさらに次の初期化信号、ｓｔａｒｔ＿ｓｙｎｃを受信する用意ができていることを示している。
【００３５】
正エッジ検出器２からの出力信号、ｐｏｓｅｄｇｅ＿ｄｅｔｅｃｔｅｄは、判定ノード６からの第３出力１２とＡＮＤゲート１４で組み合わせられる。該ＡＮＤゲート１４からの出力は、前記判定ノード６からの第２出力１０に、ＯＲゲート１６で組み合わせられる。該ＯＲゲート１６からの出力、ｌｏａｄ＿ｂｕｓ＿ｆａｓｔは、マルチプレクサ１８の選択入力に供給される。該マルチプレクサ１８への入力は、第１バスからのデータ信号、ｂｕｓ＿ｓｌｏｗ、及び第２バスへの出力データ信号、ｂｕｓ＿ｆａｓｔである。該マルチプレクサ１８からの出力は、Ｄタイプ・フリップフロップ２０に供給される。該Ｄタイプ・フリップフロップ２０は、第２クロック、ｃｋ＿ｆａｓｔによってクロック供給される。該フリップフロップ２０のＱ出力は、第２バス、ｂｕｓ＿ｆａｓｔへ出力される。
【００３６】
システムの動作について、図１ならびに図２を参照して説明する。図２は、該システムを通る論理信号のシーケンスを示している。説明用のタイム・スケール２２は、５０ｎｓの小区分毎に示されている。図２に示すように及び説明目的のために、高周波の第２クロック・ドメイン４からの第２クロック、ｃｋ＿ｆａｓｔの周波数は１６ＭＨｚとされており、低周波の第１クロック・ドメイン８の第１クロック、ｃｋ＿ｓｌｏｗの周波数は１．５ＭＨｚとされている。実際にはこれらのクロックは、先に詳述したように、より大きく異なっている可能性が高い。しかし、ここでは、これらをより比較し易い値を選択して、説明上の便宜を図っている。
【００３７】
最初に、前記システムの状態は、マルチビット・データ、ｈ９（１６進数の値）が第１バス、ｂｕｓ＿ｓｌｏｗにあり、かつ、第２バス、ｂｕｓ＿ｆａｓｔは未知、すなわち、直前の転送からの値となっている。該システムは、５６５ｎｓ時点で、初期化信号、ｓｔａｒｔ＿ｓｙｎｃが０から１へ変化し、そして、同期処理の開始をトリガするまで、定常状態にある。典型的には、該初期化信号は、第２クロック・ドメイン（一般に高電力周辺機器を制御する）によって生成される。その生成時期は、第１クロック・ドメイン（一般に低電力タイミング回路）からのデータ転送を要求するためにスリープ・モードを終了したときである。６２５ｎｓ時点で、ダウン・カウンタ４は、第２クロック、ｃｋ＿ｆａｓｔの次の立ち上がりエッジでクロック駆動され、これによって、３からカウント・ダウンが開始される。すなわち、６２５ｎｓで、ダウン・カウンタ４からの出力、ｓｙｎｃ＿ｃｎｔは３に変わる。該ダウン・カウンタ４が、３からカウント・ダウンすることが必要な理由は、前記正エッジ検出器２が、第２クロック、ｃｋ＿ｆａｓｔの２サイクルをかけて、正の遷移を検出する、すなわち、２サイクルをかけて必要な論理信号が該フリップフロップ群を通過するからである。
【００３８】
ダウン・カウンタ４からのｓｙｎｃ＿ｃｎｔに対するこの出力値３によって、判定ノード６の第１出力８が値０になり、かつ、判定ノード６の第２及び第３出力１０、１２が値１になる。正エッジ検出器２の出力、ｐｏｓｅｄｇｅ＿ｄｅｔｅｃｔｅｄにかかわらず、ＯＲゲート１６へのこれらの入力によって、ＯＲゲート１６からの出力、ｌｏａｄ＿ｂｕｓ＿ｆａｓｔは値が１になる。この値１は、マルチプレクサ１８のセレクタ入力に供給され、これによって、第１バス、ｂｕｓ＿ｓｌｏｗにおけるデータ信号ｈ９がフリップフロップ２０のＤ入力に供給され、第２クロック、ｃｋ＿ｆａｓｔの次の立ち上がりエッジで、データ信号ｈ９が第２バス、ｂｕｓ＿ｆａｓｔに伝達される。
【００３９】
一方、第２クロック、ｃｋ＿ｆａｓｔの立ち上がりエッジ毎に、正エッジ検出器２は、第１クロック、ｃｋ＿ｓｌｏｗのサイクルにおける正の遷移を検出する。６７０ｎｓ時点で、第１クロック、ｃｋ＿ｓｌｏｗには正の遷移が起こっている。本例では、該遷移は、第１バス、ｂｕｓ＿ｓｌｏｗにおける、データ信号のｈ９からｈＣへの変化と関係付けられる。しかし、他の状況では該データ信号は変わらない。７５０ｎｓ時点で、第２クロック、ｃｋ＿ｆａｓｔ（該第２クロックが正エッジ検出器２にクロック供給する）のサイクルで２サイクル後の立ち上がりエッジにおいて、正エッジ検出器２からの出力、ｐｏｓｅｄｇｅ＿ｄｅｔｅｃｔｅｄが１に変化して、第１クロック、ｃｋ＿ｓｌｏｗの正の遷移が検出されたことを示している。この値１が、判定ノード６の第３出力１２からの値１（すなわち、この時点で、ダウン・カウンタ４の出力、ｓｙｎｃ＿ｃｎｔは１であり、０に等しくない）と組み合わされて、ＡＮＤゲート１４の出力値が１になり、かつ、ＯＲゲート１６の出力、ｌｏａｄ＿ｂｕｓ＿ｆａｓｔが値１になる。これの意味するところは、第１クロック、ｃｋ＿ｓｌｏｗでの正の遷移が第２クロック、ｃｋ＿ｆａｓｔの遷移中に発生し、該期間中に、当初は前記データ信号が、第１バス、ｂｕｓ＿ｓｌｏｗから第２バス、ｂｕｓ＿ｆａｓｔに転送されていたので、第１バスの該データが再転送されるということである。
【００４０】
前述のように、ｌｏａｄ＿ｂｕｓ＿ｆａｓｔの値１が、マルチプレクサ１８の選択入力に供給されると、第１バス、ｂｕｓ＿ｓｌｏｗにおける前記データ信号（このときｈＣになっている）が、フリップフロップ２０のＤ入力に供給されることになり、第２クロック、ｃｋ＿ｆａｓｔの次の立がりエッジにおいて、データ信号ｈＣが第２バス、ｂｕｓ＿ｆａｓｔに転送されるようになる。第１クロック、ｃｋ＿ｓｌｏｗの周波数は十分に低く、第１クロックでの次の正の遷移が発生する前に該データ信号の転送が完了することを保証できる。
【００４１】
８１２．５ｎｓ時点で、ダウン・カウンタ４からの出力、ｓｙｎｃ＿ｃｎｔがゼロに達して、これにより判定ノード６からの出力８の値が１とされ、該システムは新しい初期化信号を受信する準備ができていることを示す。すなわち、信号、ｒｅａｄｙが１になる。この時点で、いったん前記所定期間が終了したら、フリップフロップ２０に格納されたデータ信号は、有効で安定した値であり、第２クロック、ｃｋ＿ｆａｓｔに同期したデータとして、例えば、第２バス、ｂｕｓ＿ｆａｓｔへの出力として、第２クロック、ｃｋ＿ｆａｓｔの該立ち上がりエッジで、該システムによって使用できる。これは、上述の通りである。判定ノード６からの第２と第３出力１０、１２は、ダウン・カウンタ４からの出力、ｓｙｎｃ＿ｃｎｔが０のとき０であり、このため、新たなデータ信号は、第１バス、ｂｕｓ＿ｓｌｏｗからフリップフロップ２０に、この時点では、転送することができない。したがって、１つの実施形態（図示せず）で、正の遷移が、前記所定期間内、すなわち、ダウン・カウンタ４からの出力、ｓｙｎｃ＿ｃｎｔのカウント・ダウン中には発生しないが、ダウン・カウンタ４からの出力、ｓｙｎｃ＿ｃｎｔが０に達したときに検出される場合、該データ信号が前記所定の同期期間の開始時に最初に転送されてから、この条件下でデータの破壊又は準安定状態のリスクが起こらないために必要十分な時間が過ぎてしまっている。この理由は、第１クロック、ｃｋ＿ｓｌｏｗの正の遷移が該データ信号の最初の転送と同時には発生せず、第１バス、ｂｕｓ＿ｓｌｏｗにおけるデータ値が第１クロック、ｃｋ＿ｓｌｏｗの正の遷移のときのみに変更される（準安定状態の原因）からである。
【００４２】
当業者には、上述の実施形態に対する多くの変形及び修正が、本明細書で述べた発明の様々な態様の範囲内で行うことができることが理解されよう。例えば、最終段のフリップフリップは、前記転送されるデータ信号を第２バスへ出力するために設ける必要はなく、これは、他のデータ記憶用構成要素によって行うことができる、又は、ただ単に該回路を開門して、該入力信号を直接、第１バスから転送することも可能である。前記所定期間の長さは、異なる値にすることができる。特に、この長さが、第１クロックの遷移を検出するために使用される構成要素の種類に依存する場合、すなわち、この構成要素からある決定を得るために要する時間に依存する場合、又は、１つ又は複数の構成要素が前記第２クロックの両方の遷移でクロック供給される場合には、該期間の長さを異なる値にすることができる。
【図１】
2015522188.tif 000003
【図２】
2015522188.tif 000004
【国際調査報告】
2015522188.tif 000005
2015522188.tif 000006
2015522188.tif 000007