JP2015527640A - クロック・ドメイン間のデータ転送 - Google Patents

クロック・ドメイン間のデータ転送 Download PDF

Info

Publication number
JP2015527640A
JP2015527640A JP2015519328A JP2015519328A JP2015527640A JP 2015527640 A JP2015527640 A JP 2015527640A JP 2015519328 A JP2015519328 A JP 2015519328A JP 2015519328 A JP2015519328 A JP 2015519328A JP 2015527640 A JP2015527640 A JP 2015527640A
Authority
JP
Japan
Prior art keywords
clock
clock domain
signal
input signal
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015519328A
Other languages
English (en)
Other versions
JP6272847B2 (ja
Inventor
カシュテン スコグルント、ペル
カシュテン スコグルント、ペル
ハバシュキ、アスクハル
ヴァンヴィック ヴェノス、アルネ
ヴァンヴィック ヴェノス、アルネ
ホーレン、オスムント
バッカ イェアルテ、マルクス
バッカ イェアルテ、マルクス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nordic Semiconductor ASA
Original Assignee
Nordic Semiconductor ASA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nordic Semiconductor ASA filed Critical Nordic Semiconductor ASA
Publication of JP2015527640A publication Critical patent/JP2015527640A/ja
Application granted granted Critical
Publication of JP6272847B2 publication Critical patent/JP6272847B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2205/00Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F2205/06Indexing scheme relating to groups G06F5/06 - G06F5/16
    • G06F2205/061Adapt frequency, i.e. clock frequency at one side is adapted to clock frequency, or average clock frequency, at the other side; Not pulse stuffing only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2205/00Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F2205/10Indexing scheme relating to groups G06F5/10 - G06F5/14
    • G06F2205/102Avoiding metastability, i.e. preventing hazards, e.g. by using Gray code counters

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

デジタル・システムにおいて、データ信号(data_a)を第1クロック・ドメイン(2)から第2クロック・ドメイン(4)へ転送するための機構。本機構は、入力信号(data_a)を第1クロック・ドメイン(2)から受信するための信号入力部(6、7)と、入力信号(data_a)を記憶するための手段(6、7)と、そして、入力信号(data_a)を第2クロック・ドメイン(4)へ、第2クロック・ドメイン(4)のクロック信号(ck)の遷移に続いて転送するための手段(12、13)を備えている。【選択図】図1。

Description

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

Claims (20)

  1. デジタル・システムにおいて、第1クロック・ドメインから第2クロック・ドメインへデータ信号を転送するための機構であって、
    該第1クロック・ドメインからの入力信号を受信するための信号入力部と、
    該入力信号を記憶するための手段と、そして、
    該入力信号を、該第2クロック・ドメインへ、該第2クロック・ドメインの前記クロック信号の遷移に続いて転送する手段と、
    を含んでいることを特徴とする機構。
  2. 前記第1クロック・ドメインは第1クロックを含み、かつ、前記第2クロック・ドメインは第2クロックを含み、該2つのクロックは非同期であること、を特徴とする、請求項1に記載の機構。
  3. 前記データ信号は、正の遷移時に転送されること、を特徴とする請求項1又は2に記載の機構。
  4. 前記信号入力部は、1つ又は複数のフリップフロップを含むこと、を特徴とする請求項1、2、又は3に記載の機構。
  5. 前記入力信号は、前記フリップフロップの「セット」(S)入力に供給されること、を特徴とする請求項4に記載の機構。
  6. 前記フリップフロップは、前記第2クロックによってクロック供給されること、を特徴とする請求項4又は5に記載の機構。
  7. 前記第2クロック・ドメインをアクティベートするための手段を含むこと、を特徴とする、前記いずれかの請求項に記載の機構。
  8. 前記第2クロック・ドメインをアクティベートするための前記要求が外部ソースから来ること、を特徴とする請求項7に記載の機構。
  9. 前記第2クロック・ドメインをアクティベートするための前記手段は、入力信号が前記信号入力部で受信されたことを検出するための手段を含むこと、を特徴とする請求項7又は8に記載の機構。
  10. 前記入力信号の前記第2クロック・ドメインへの前記転送を遮断するための手段を含むこと、を特徴とする前記いずれかの請求項に記載の機構。
  11. デジタル・システムにおいて、データ信号を第1クロック・ドメインから第2クロック・ドメインへ転送する方法であって、
    第1クロック・ドメインからの入力信号を受信するステップと、
    該入力信号を記憶するステップと、そして、
    該入力信号を、第2クロック・ドメインへ、該第2クロック・ドメインの前記クロック信号の遷移に続いて転送するステップと、
    を含むことを特徴とする方法。
  12. 前記第1クロック・ドメインは第1クロックを含み、かつ、前記第2クロック・ドメインは第2クロックを含み、該2つのクロックは非同期であること、を特徴とする、請求項11に記載の方法。
  13. 前記データ信号を、正の遷移時に転送するステップを含むこと、を特徴とする請求項11又は12に記載の方法。
  14. 前記信号入力部は、1つ又は複数のフリップフロップを含むこと、を特徴とする請求項11、12又は13に記載の方法。
  15. 前記入力信号を前記フリップフロップの「セット」(S)入力に供給するステップを含むこと、を特徴とする請求項14に記載の方法。
  16. 前記フリップフロップへのクロック供給を前記第2クロックから行うステップを含むこと、を特徴とする請求項14又は15に記載の方法。
  17. 前記第2クロック・ドメインをアクティベートするステップを含むこと、を特徴とする請求項11から16のいずれかに記載の方法。
  18. 前記第2クロック・ドメインをするアクティベートための前記要求が外部ソースから来ること、を特徴とする請求項17に記載の方法。
  19. 前記第2クロック・ドメインをアクティベートする前記ステップは、入力信号が前記信号入力部で受信されたことを検出するステップを含むこと、を特徴とする請求項17又は18に記載の方法。
  20. 前記入力信号の前記第2クロック・ドメインへの前記転送を遮断するステップを含むこと、を特徴とする請求項11から19のいずれかに記載の方法。
JP2015519328A 2012-06-27 2013-06-20 クロック・ドメイン間のデータ転送 Active JP6272847B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1211424.5A GB2503472A (en) 2012-06-27 2012-06-27 Data transfer between clock domains following clock transition in destination domain
GB1211424.5 2012-06-27
PCT/GB2013/051609 WO2014001766A1 (en) 2012-06-27 2013-06-20 Data transfer between clock domains

Publications (2)

Publication Number Publication Date
JP2015527640A true JP2015527640A (ja) 2015-09-17
JP6272847B2 JP6272847B2 (ja) 2018-01-31

Family

ID=46704314

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015519328A Active JP6272847B2 (ja) 2012-06-27 2013-06-20 クロック・ドメイン間のデータ転送

Country Status (8)

Country Link
US (1) US10055193B2 (ja)
EP (1) EP2847665B1 (ja)
JP (1) JP6272847B2 (ja)
KR (1) KR20150033688A (ja)
CN (1) CN104412221B (ja)
GB (1) GB2503472A (ja)
TW (1) TWI585569B (ja)
WO (1) WO2014001766A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6394130B2 (ja) * 2014-07-09 2018-09-26 株式会社ソシオネクスト 出力回路
US20230168708A1 (en) * 2021-12-01 2023-06-01 Nxp B.V. Synchronizer circuit
EP4290254A1 (en) * 2022-06-07 2023-12-13 STMicroelectronics S.r.l. Circuit arrangement for validation of operation of a logic module in a multipower logic architecture and corresponding validation method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05236026A (ja) * 1991-12-06 1993-09-10 Nec Corp デジタル信号監視回路
JP2003203046A (ja) * 2001-10-23 2003-07-18 Koninkl Philips Electronics Nv 回路構成

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4392226A (en) * 1981-09-28 1983-07-05 Ncr Corporation Multiple source clock encoded communications error detection circuit
US5371880A (en) * 1992-05-13 1994-12-06 Opti, Inc. Bus synchronization apparatus and method
US5357613A (en) * 1992-09-16 1994-10-18 Texas Instruments Incorporated Time-domain boundary buffer method and apparatus
US5905766A (en) * 1996-03-29 1999-05-18 Fore Systems, Inc. Synchronizer, method and system for transferring data
JPH11312143A (ja) * 1998-04-28 1999-11-09 Clarion Co Ltd 情報処理装置及び方法、カーオーディオシステム及びその制御方法並びに情報処理用プログラムを記録した記録媒体
US6128749A (en) * 1998-11-03 2000-10-03 Intel Corporation Cross-clock domain data transfer method and apparatus
EP1124179B1 (en) * 2000-02-09 2007-10-17 Texas Instruments Incorporated An apparatus for signal synchronization between two clock domains
US20040193931A1 (en) * 2003-03-26 2004-09-30 Akkerman Ryan L. System and method for transferring data from a first clock domain to a second clock domain
KR101089153B1 (ko) * 2003-05-09 2011-12-05 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 상이한 클록 도메인 간에서의 데이터 신호 전송 방법 및 집적 회로
US7080269B2 (en) * 2003-05-15 2006-07-18 International Business Machines Corporation Method and apparatus for implementing power-saving sleep mode in design with multiple clock domains
US7436726B1 (en) * 2005-11-21 2008-10-14 Xilinx, Inc. Circuit for and method of reading data in an asynchronous FIFO including a backup address circuit for re-reading data
US7358884B1 (en) * 2006-10-05 2008-04-15 Apple Inc. Methods and systems for implementing a Digital-to-Analog Converter
WO2008129364A1 (en) * 2007-04-23 2008-10-30 Nokia Corporation Transferring data between asynchronous clock domains
US8132036B2 (en) * 2008-04-25 2012-03-06 International Business Machines Corporation Reducing latency in data transfer between asynchronous clock domains
JP4998519B2 (ja) * 2009-05-29 2012-08-15 富士通株式会社 非同期インタフェース回路及び非同期データ転送方法
TWI443521B (zh) * 2010-03-26 2014-07-01 Nuvoton Technology Corp 匯流排介面、時脈控制裝置,以及時脈頻率控制方法
TWI417703B (zh) * 2010-07-22 2013-12-01 Genesys Logic Inc 相容於通用序列匯流排協定之時脈同步方法
JP5431290B2 (ja) * 2010-10-29 2014-03-05 インターナショナル・ビジネス・マシーンズ・コーポレーション クロック・ドメイン・クロッシングのデータ転送回路および方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05236026A (ja) * 1991-12-06 1993-09-10 Nec Corp デジタル信号監視回路
JP2003203046A (ja) * 2001-10-23 2003-07-18 Koninkl Philips Electronics Nv 回路構成

Also Published As

Publication number Publication date
TW201401015A (zh) 2014-01-01
GB201211424D0 (en) 2012-08-08
US10055193B2 (en) 2018-08-21
US20150186113A1 (en) 2015-07-02
CN104412221B (zh) 2019-02-05
EP2847665B1 (en) 2020-05-06
TWI585569B (zh) 2017-06-01
KR20150033688A (ko) 2015-04-01
CN104412221A (zh) 2015-03-11
JP6272847B2 (ja) 2018-01-31
WO2014001766A1 (en) 2014-01-03
GB2503472A (en) 2014-01-01
EP2847665A1 (en) 2015-03-18

Similar Documents

Publication Publication Date Title
US7607029B2 (en) PCI express link state management system and method thereof
EP2832051B1 (en) Method, device, and system for delaying packets during a network-triggered wake of a computing device
JP2010523022A5 (ja)
KR102467172B1 (ko) 반도체 장치
JP2011095978A (ja) バスシステム及びバス制御方法
JP6272847B2 (ja) クロック・ドメイン間のデータ転送
JP6192065B2 (ja) クロック・ドメイン間のデータ転送
JP3552213B2 (ja) Sdメモリカードホストコントローラ及びクロック制御方法
US8010818B2 (en) Power efficient method for controlling an oscillator in a low power synchronous system with an asynchronous I2C bus
JP6200503B2 (ja) 遅延ロック・ループを使用するメモリ・デバイスのための省電力の装置及び方法
US9813221B2 (en) Combined flow and low-power state control using same lines between interfaces
KR20150037898A (ko) 클록 도메인 간의 데이터 전송
JP4219601B2 (ja) 情報処理装置
JP2011170644A (ja) 通信装置、通信システムおよび通信方法
JP2003114863A (ja) 非同期バスインターフェイス装置
CN108268087B (zh) 半导体装置、半导体系统和操作半导体装置的方法
JP2022134510A (ja) 通信装置、通信装置の制御方法、プログラム、および記憶媒体
JP3980401B2 (ja) メモリアクセス制御システム及びメモリアクセス制御方法
WO2024015151A1 (en) Latency and power efficient clock and data recovery in a high-speed one-wire bidirectional bus
JP5315882B2 (ja) 半導体装置及び通信方法
JP2011258095A (ja) Usbインターフェイス回路及びusbインターフェイス回路の制御方法
JP2011180708A (ja) データ通信制御装置
JP2003162412A (ja) Cpuの省電力回路
JP2017130026A (ja) 時刻補正装置、および、時刻補正方法
JP2010178199A (ja) シリアル通信システム、及び通信方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160616

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170314

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170815

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180104

R150 Certificate of patent or registration of utility model

Ref document number: 6272847

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250