JP7360472B2 - マルチビットデータのクロスクロックドメインの処理方法と装置 - Google Patents

マルチビットデータのクロスクロックドメインの処理方法と装置 Download PDF

Info

Publication number
JP7360472B2
JP7360472B2 JP2021558008A JP2021558008A JP7360472B2 JP 7360472 B2 JP7360472 B2 JP 7360472B2 JP 2021558008 A JP2021558008 A JP 2021558008A JP 2021558008 A JP2021558008 A JP 2021558008A JP 7360472 B2 JP7360472 B2 JP 7360472B2
Authority
JP
Japan
Prior art keywords
data
clock domain
changed
output
domain side
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.)
Active
Application number
JP2021558008A
Other languages
English (en)
Other versions
JP2022539485A (ja
Inventor
林忱
Original Assignee
セインチップス テクノロジー カンパニーリミテッド
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 セインチップス テクノロジー カンパニーリミテッド filed Critical セインチップス テクノロジー カンパニーリミテッド
Publication of JP2022539485A publication Critical patent/JP2022539485A/ja
Application granted granted Critical
Publication of JP7360472B2 publication Critical patent/JP7360472B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4072Drivers or receivers
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Description

クロス・リファレンス
本願は、2019年06月28日に中国特許庁へ出願された出願番号が201910578841.3である中国の特許の優先権を主張し、当該出願の全体内容は援用により本願に組み込まれるものとする。
本発明は、コンピュータ分野に関して、例えば、マルチビットデータのクロスクロックドメインの処理方法と装置に関する。
現代の電子システムにおいて、デジタル集積回路システムの規模がますます大きくなり、含まれたモジュールが増え、サポートされた機能がますます複雑になり、消費電力の要求がますます高くになる。したがって、システムオンチップ(System on Chip、SoC)には複数のクロックドメインが含まれ、クロックアーキテクチャ設計はGALS形式を採用し、つまりグローバル非同期(Global Asynchronous)処理とローカル同期(Local Synchronous)処理を採用する。
GALSクロックアーキテクチャは多くの利点を有し、例えば、性能のニーズを満たすことを前提として、複数のモジュールを可能な限り低いクロック周波数でそれぞれに実行でき、動的消費電力を削減でき、クロックの実現が比較的に簡単で、クロックツリーは小さく、タイミングを収束しやすく、面積が小さくなる。
GALS SoCにおいて、必然的にクロスクロックドメインのデータ伝送が発生する。非同期クロックの間の位相関係が不確実であるため、あるクロックドメインから別の非同期クロックドメインにデータを伝送すると、レジスタのセットアップタイム(setup time)又はホールドタイム(hold time)が満たされない状況に陥りやすく、準安定(meta-stability)が起こされる。準安定性の問題により、伝送データが誤ってサンプリングされる可能性があり、正しく処理されない場合、SoCシステムがエラー状態で表示され、正しく機能せず、位置づけのが困難になる可能性がある。
シングルビット(bit)信号の場合、クロスクロックドメインで伝送する場合、準安定の発生を効果的に低減するために2レベルのレジスタ同期の方式が採用される。準安定状態が発生しても、シングルビット信号が2レベル同期処理を採用した後、データが誤ってサンプリングされなく、データ伝送の遅延のみが変化される。
マルチビット信号の場合、クロスクロックドメインで伝送する場合、2レベルのレジスタ同期の方式を採用するのみはできない。マルチビット信号の間にはデータ一貫性(data coherency)があるため、すなわち、一つのビットまたはマルチビット信号が準安定状態になる場合、誤った中間データがサンプリングされることで、SoCシステムがエラー状態になる可能性がある。
関連技術において、マルチビット信号のクロスクロックドメインの伝送方式は下記の3つの処理方式があり、(1)信号同期方式、(2)ハンドシェイク(Handshaking)相互作用方式、(3)非同期先入れ先出し(First Input First Output、FIFO)方式。関連技術における上記方式はすべて、送信クロックドメインと受信クロックドメインの制御信号の双方向の相互作用が必要で、これは、実現が複雑であり、ハードウェアのコストが高く、伝送遅延が高い。
本発明の実施形態は、関連技術におけるクロスクロックドメインの伝送の処理方式において、送信クロックドメインと受信クロックドメインとは双方向の相互作用が必要で、ハードウェアのコストが高く、伝送遅延が高いという問題を解決するために、マルチビットデータのクロスクロックドメインの処理方法と装置を提供する。
本発明の一つの実施形態は、マルチビットデータのクロスクロックドメインの処理方法を提供し、当該方法は、送信クロックドメイン側から受信クロックドメイン側に出力されたデータを取得し、ここで、前記送信クロックドメインと前記受信クロックドメインとは異なるクロックドメインであることと、前記データが変化されたかどうかを検出することと、前記データが変化された場合、前記データを更新してから出力し、前記データが変化されていない場合、元の出力データを維持することとを含む。
本発明の別の実施形態は、マルチビットデータのクロスクロックドメインの処理装置を提供し、当該装置は、送信クロックドメイン側から受信クロックドメイン側に出力されたデータを取得し、ここで、前記送信クロックドメインと前記受信クロックドメインとは、異なるクロックドメインであるように設置される取得モジュールと、前記データが変化されたかどうかを検出するように設置される検出モジュールと、前記データが変化されたことを検出した場合、前記データを更新して出力し、前記データが変化されていないことを検出した場合は、元の出力データを維持するように設置される処理モジュールとを含む。
図1は、本発明の実施形態に係るマルチビットデータのクロスクロックドメインの処理方法のフローチャートである。 図2は、本発明の実施形態に係るマルチビットデータのクロスクロックドメインの伝送装置の概略構造図である。 図3は、本発明の実施形態に係るマルチビットデータのクロスクロックドメインの伝送の概略図である。 図4は、本発明の実施形態に係る複数のキーポイントでの信号波形の概略図である。 図5は、本発明の選択できる実施形態に係るマルチビットデータのクロスクロックドメインの処理装置の概略構造図である。
以下、本発明は、図面と実施形態を参照して説明する。
(実施例1)
本実施形態において、マルチビットデータのクロスクロックドメインの処理方法を提供する。図1は、本発明の実施形態に係るマルチビットデータのクロスクロックドメインの処理方法のフローチャートである。図1に示すように、当該プロセスは以下のステップを含み、
ステップS102:送信クロックドメイン側から受信クロックドメイン側に出力されたデータを取得し、ここで、送信クロックドメインと受信クロックドメインとは異なるクロックドメインである。
ステップS104:データが変化されたかどうかを検出する。
ステップS106:データが変化された場合、データを更新してから出力し、データが変化されていない場合、元の出力データを維持する。
上記ステップS102~S106により、送信クロックドメイン側から受信クロックドメイン側に出力したデータを取得し、ここで、送信クロックドメインと受信クロックドメインとは異なるクロックドメインであり、そして、データが変化されたかどうかを検出し、データが変化された場合、データが更新されてから出力され、データが変化されていない場合、元の出力データを維持する。上記から分かるように、本発明の上記方法により、送信クロックドメインと受信クロックドメインは、比較的に独立している状態で、マルチビットデータののクロスクロックドメインのデータに対して処理され、関連技術におけるクロスクロックドメイン伝送の処理方式において、送信クロックドメインと受信クロックドメインが双方向の相互作用の必要性によって引き起こされる高いハードウェアのコストと高い伝送遅延の問題を解決し、より多くのアプリケーションシナリオに使用でき、かつ全体的な実現方式が効率的かつ簡潔である。
一つの実施形態において、上記ステップS102~ステップS106の方式ステップはすべて受信クロックドメイン側で実行され、すなわち、受信クロックドメイン側の装置又は設備で実行され、送信クロックドメイン側とは関係ない。例えば、本実施形態における選択できる実施形態において、本発明のステップS102に記載された送信クロックドメイン側から受信クロックドメイン側に出力したデータを取得する方式は、以下の方式で実現することができる。
ステップS102-11、送信クロックドメイン側のレジスタから受信クロックドメイン側に出力されたデータをを受信する。
ステップS102-12、受信クロックドメイン側のNレベルデータシンクロナイザによってデータに対して同期処理され、ここで、Nの値は、平均故障間隔によって決定される。
送信クロックドメイン側から出力されたデータを受信した後、受信クロックドメイン側のデータシンクロナイザによって同期処理を行い、すなわち、受信クロックドメイン側で当該ステップS102-11およびS102-12が実行されることが分かる。
ここで、当該シンクロナイザのレベル数Nは、平均故障間隔(Mean Time Between Failure、MTBF)の要件によって決定され、前記Nは正の整数である。
式(1)において、Sはデータシンクロナイザによってレジスタ用に予約された解決時間である。解決時間(resolution time)は、セットアップタイムまたはホールドタイムが満たされていないためにレジスタが準安定状態になった後、ランダムに0または1の安定値に復元する時間である。データシンクロナイザのレベル数NとSとの関係式は下記のように示す。
式(2)において、Tは受信クロックドメインのクロックサイクルを示す。例えば、N=2の場合、Sは一つの受信クロックのクロックサイクルに等しく、N=3の場合、Sは二つの受信クロックのクロックサイクルに等しい。τは製造工程に関連する定数である。Wは、レジスタのセットアップタイムとホールドタイムの合計であり、製造工程に関連する。Fは受信クロックの周波数である。Fはデータを送信する周波数である。要約すると、MTBFの要件に従って、Sの値を決定し、それによってデータシンクロナイザのレベル数Nを決定する。
さらに、本実施形態の別の選択できる実施形態において、本発明のステップS104に記載されたデータが変化されたかどうかを検出する方式は、受信クロックドメイン側の変化検出器によって、現在のサイクルのデータが前のサイクルのデータと比較して変化されたかどうかを検出することで、受信されたデータが変化されたかどうかを判断する。受信クロックドメイン側の変化検出器によって検出を行うことがわかる。
本発明の別の選択できる実施形態において、データが変化された場合、データを更新してから出力することは、データが変化された場合、受信クロックドメイン側のエッジ検出器より有効値を出力し、受信クロックドメイン側のデータセレクタをトリガーして、更新されたデータを出力することを含み、データが変化されていない場合、元の出力データを維持することは、データが変化されていない場合、受信クロックドメイン側のエッジ検出器より無効値を出力し、データセレクタをトリガーして、元の出力データを維持することを含む。受信クロックドメイン側のエッジ検出器によってデータの出力(更新された出力と元の出力データを維持することを含む)を行うことがわかる。
一つの実施形態において、本発明の方法ステップは、データが変化されたかどうかを検出した後、受信クロックドメイン側のMレベルバッファを介して、変化検出器より出力されたデータに対してバッファリングすることをさらに含み、ここで、M≧N-1、前記Mは正の整数である。
以下、本発明の選択できる実施形態と併せて例を用いて説明する。
この選択できる実施形態は、デジタル集積回路におけるマルチビットデータのクロスクロックドメインの伝送のニーズを実現するために、新たなマルチビットデータのクロスクロックドメイン伝送のデジタル集積回路の設計方法と装置を提供する。
図2は、本発明の実施形態に係るマルチビットデータのクロスクロックドメインの伝送装置の概略構造図である。図2に示すように、送信クロックドメイン(clock domain1)と受信クロックドメイン(clock domain2)とは異なるクロックドメインであり、クロックの間の関係は非同期である。そして、送信クロックドメインと受信クロックドメインとは、異なる電力ドメイン(power domain1とpower domain2)であり、または異なる電圧ドメイン(voltage domain1とvoltage domain2)である。
送信クロックドメインのレジスタから出力された送信データが、受信クロックドメインに入り、本発明に記載のマルチビットデータのクロスクロックドメインの伝送装置で受信され、正しく処理された後、受信クロックドメインの機能論理回路に提供されて使用される。
ここで、マルチビットデータのクロスクロックドメインの装置には、データシンクロナイザ、変化検出器、バッファ、エッジ検出器、およびデータセレクタの5つの機能モジュールが含まれる。
当該装置の全体的なワークフロー(すなわち、信号処理フロー)には、次のステップが含まれる。
ステップS11:受信されたデータは、データシンクロナイザによって同期処理される。
ステップS12:変化検出器を利用して、データが変化されたかどうかを検出する。
ステップS13:受信データが変化された場合、変化検出器によって変化表示信号を出力し、バッファによってバッファリングされ、マルチビットデータが安定されるまでを待つ。
ステップS14:変化表示信号はエッジ検出器を介して処理されることで、出力データを更新するようにデータセレクタに指示する。
ステップS15:受信データが変化されていない場合、データセレクタは元の出力を維持する。
一つの実施形態において、上記のプロセス全体は、すべて受信クロックドメインで実行され、送信クロックドメインとは関係ない。
ここで、装置内の複数の機能モジュールの説明は次のとおりである。
データシンクロナイザは、送信データと同じビット幅の2レベルまたはマルチレベルのレジスタシンクロナイザであり、クロスクロックドメインが準安定状態になる可能性を減らすように設置される。当該シンクロナイザのレベル数Nは、平均故障間隔(Mean Time Between Failure 、MTBF)の要件によって決定される。
ここで、Sはデータシンクロナイザによってレジスタ用に予約された解決時間である。解決時間(resolution time)は、セットアップタイムまたはホールドタイムが満たされていないためにレジスタが準安定状態になった後、ランダムに0または1の安定値に復元する時間である。データシンクロナイザのレベル数NとSとの関係式は下記のように示す。
ここで、Tは受信クロックドメインのクロックサイクルを示す。例えば、N=2の場合、Sは一つの受信クロックのクロックサイクルに等しく、N=3の場合、Sは二つの受信クロックのクロックサイクルに等しい。τは製造工程に関連する定数である。Wは、レジスタのセットアップタイムとホールドタイムの合計であり、製造工程に関連する。Fは受信クロックの周波数である。Fはデータを送信する周波数である。
したがって、MTBFの要件に従って、Sの値を決定することで、データシンクロナイザのレベル数Nを決定する。各送信データは、送信データを損失なく正しくサンプリングできるように変化する前に、少なくともN受信クロックドメインのクロックサイクルを維持する必要がある。
変化検出器は、同期されたデータが変化されたかどうかを検出するように設置される。現在のサイクルのデータが前のサイクルのデータと比較して変化された場合、変化検出器は有効値を出力する。現在のサイクルのデータが前のサイクルのデータと比較して変化されていない場合、変化検出器は無効値を出力する。
バッファは、変化検出器の出力値に対してレジスタバッファ処理を実行して、マルチビットデータが安定されるまでを待機し、マルチビットデータの複数ビットの間の関連性を維持し、マルチビットデータの中間状態が誤ってサンプリングされないように設置される。当該バッファのバッファレベル数Mとデータシンクロナイザのレベル数Nとの関係は、M≧N-1である。
選択できるように、データ伝送遅延(latency)は、latency=(N+M)・Tである。
ここで、latencyはデータが入力から出力までの間の時間間隔を表す。バッファのレベル数Mがデータシンクロナイザのレベル数N-1と等しい場合、MTBFの要件を満たすことを前提として、データが正しくサンプリングされ、伝送遅延が最適になることが保証できる。
エッジ検出器は、バッファの出力が変化されたかどうかを検出するように設置される。現在のサイクルの信号が前のサイクルの信号と比較して変化された場合、エッジ検出器は有効値を出力し、且つ一つのサンプリングクロックサイクルを維持する。現在のサイクルの信号が前のサイクルの信号と比較して変化されていない場合、エッジ検出器は無効値を出力する。
データセレクタは、エッジ検出器の出力を選択信号として使用され、現在入力されたマルチビットデータと前の有効なマルチビットデータのうちの1つを選択して出力するように設置される。エッジ検出器から出力された選択信号が無効値である場合、前の有効なマルチビットデータを維持して出力する。選択信号が有効値である場合、現在で入力されたマルチビットデータを選択して更新して出力する。
この選択できる実施形態は、マルチビットデータのクロスクロックドメインのアプリケーションシナリオに応じて、データ伝送を一方向に制御され、伝送遅延が配置されることができ、高効率と巧妙さを目的として、且つ送信クロックがクロスクロックドメイン処理に参加する必要がなく、送信クロックドメインと受信クロックドメインの独立性を改善する。
したがって、この選択できる実施形態は、一般的なマルチビットデータのクロスクロックドメインのアプリケーションシナリオに適しているだけでなく、送信クロックドメインと受信クロックドメインが比較的独立しているアプリケーションシナリオにもより適し、例えば、送信クロックドメインと受信クロックドメインは、異なる電力ドメインまたは異なる電圧ドメインに位置するアプリケーションシナリオにも適する。これに基づいて、送信クロックドメインに回路装置を設計する必要がなく、一方、データの送信を除いて、他の制御信号はクロックドメイン(電力ドメインまたは電圧ドメインを通過する)を通過しなく、高効率と簡潔を実現する。さらに、平均故障間隔(MTBF)の要件に応じて、データシンクロナイザのレベル数とバッファのレベル数が設置され、構成は柔軟である。
図3は、本発明の実施形態に係るマルチビットデータのクロスクロックドメイン伝送の概略図である。図3に示すように、この実施形態は、クロックの立ち上がりエッジでデータをサンプルリングし、5つのモジュールは、それぞれに、データシンクロナイザ(20)、変化検出器(21)、バッファ(22)、立ち上がりエッジ検出器(23)、およびデータセレクタ(24)である。
データシンクロナイザ(20)は、送信データと同じビット幅の2レベルまたはマルチレベルのレジスタシンクロナイザであり、送信クロックドメインから送信されたデータdata0を受信して同期するように設置されることで、クロスクロックドメインが準安定状態になる可能性を低減する。一つの実施形態において、2レベルのデータシンクロナイザは、MTBFの要件を満たすことができる。この例において、データシンクロナイザはDタイプフリップフロップ(D type flip-flop、DFF)で構成され、レベル数はN=2であり、データビット幅は3bitである。
変化検出器(21)の機能は、同期されたデータが変化されたかどうかを検出することであり、出力信号は、変化検出器(21)、バッファ(22)、および立ち上がりエッジ検出器(23)によって処理された後、データセレクタ(24)を制御するように設置される。現在のサイクルのデータdata2が前のサイクルのデータdata3と比較すると、1つまたは複数のビットが変化された場合、変化検出器(21)はsignal1を1’b1として出力する。現在のサイクルのデータdata2が前のサイクルのデータdata3と比較すると、変化されていない場合、変化検出器(21)はsignal1を1’b0として出力する。この例において、変化検出器(21)は、Dタイプフリップフロップと排他的ORゲート(XOR)で構成される。
バッファ(22)の機能は、変化検出器(21)の出力signal1に対してバッファリングすることであり、data2が安定した後、サンプリングが正しく選択され、中間状態データを取ることが回避される。この実施形態において、バッファ(22)はDタイプフリップフロップで構成され、バッファのレベル数Mはデータシンクロナイザ(20)のレベル数Nと同じ、すなわち、M=2である。signal2は第1レベルのバッファ出力信号であり、signa3は第2レベルのバッファ出力信号である。
立ち上がりエッジ検出器(23)の機能は、バッファ(22)の出力signal3が立ち上がりエッジで変化されたどうかを検出することである。現在のサイクルの信号signal3が前のサイクルの信号signal4と比較して、1’b0から1’b1に変化した場合、立ち上がりエッジ検出器はsignal5を1’b1として出力し、且つ一つのサンプリングのクロックサイクルを維持し、データセレクタが出力データをストローブして更新することに用いられる。さらに、エッジ検出器はsignal5を1’b0として出力する。この実施形態において、立ち上がりエッジ検出器(23)は、Dタイプフリップフロップ、NOTゲート、およびANDゲート(AND)などから構成される。
データセレクタ(24)の機能は、現在入力されたマルチビットデータdata2と前の有効なマルチビットデータdata4とのうち、一つを選択して出力することである。選択信号signal5が1’b0である場合、前の有効なデータdata4を出力することを維持する。選択信号signal5が1’b1である場合、現在入力されたデータdata2を選択して更新して出力する。この実施形態において、データセレクタ(24)は、Dタイプフリップフロップおよびマルチプレクサ(multiplexer、MUX)から構成される。
一つの実施形態において、入力信号は、送信クロックドメインより送信されたデータと受信クロックドメインのクロックであり、出力信号は、受信クロックドメインより受信されたデータであり、全体の伝送遅延は、N+M=4つの受信クロックのクロックサイクルである。
図4は、本発明の実施形態に係る複数のキーポイントでの信号波形の概略図であり、図4の信号名は、図3に示された複数の信号に対応する。図4に示すように、2番目の瞬間と3番目の瞬間の間の一つの瞬間で、送信クロックドメインによって送信されたデータdata0は、3’b000から3’b111に変化した。本発明の実施形態は、送信クロック情報に注意を払う必要がなく、送信クロックドメインから比較的独立しているため、送信クロックは図3に示されていない。Data0は、受信クロックドメインのクロックclockによって複数の立ち上がりエッジでサンプリングされる。データシンクロナイザは、data0に対して2レベルの同期を実行する。第1レベルの出力データはdata1で、第2レベルの出力データはdata2である。
3番目の瞬間で、準安定状態のため、data1の各ビットは0または1になる可能性があるため、data1全体は3’b000から3’b111までの任意の中間状態になる可能性がある。図4において、中間状態3’b101のみが例として説明する。
4番目の瞬間で、data1はMTBF時間間隔内で高い確率で3’b111として正しくサンプリングされる。同時に、変化検出器はdata2とdata3の間の変化を検出し、出力信号signal1は1’b0から1’b1に変化する。
このとき、data2は中間状態(3’b101)であるため、誤ってサンプリングされてdata4に出力することを回避する必要がある。したがって、signal1は、バッファの2レベルのバッファリングを介して、表示信号signal3を出力する。data4のデータ更新はsignal3によって制御される。
5番目の瞬間は信号バッファリングの瞬間であり、data2が安定状態に戻るまでを待ち、複数bitのデータ相関を維持する。
6番目の瞬間で、立ち上がりエッジ検出器がsignal3の立ち上がりエッジを検出した後、出力信号signal5は1’b0から1’b1に変化し、且つ1つのクロックサイクルを維持する。同時に、signal5がデータセレクタをストローブし、data4が更新され、data2を出力し、すなわち、クロスクロックドメイン後のマルチビットデータを出力し、全体の伝送遅延は、4つの受信クロックのクロックサイクルである。
上記の実施形態から分かるように、本発明は、マルチビットデータのクロスクロックドメインのアプリケーションシナリオに応じて、データ伝送を一方向に制御され、伝送遅延が配置されることができ、高効率と巧妙さを目的として、且つ送信クロックがクロスクロックドメイン処理に参加する必要がなく、送信クロックドメインと受信クロックドメインの独立性を改善する。ただし、本発明は、一般的なマルチビットデータのクロスクロックドメインのアプリケーションシナリオに適しているだけでなく、送信クロックドメインと受信クロックドメインが比較的独立しているアプリケーションシナリオにもより適し、例えば、送信クロックドメインと受信クロックドメインは、異なる電力ドメインまたは異なる電圧ドメインに位置するアプリケーションシナリオにも適する。これに基づいて、送信クロックドメインに回路装置を設計する必要がなく、一方、データの送信を除いて、他の制御信号はクロックドメイン(電力ドメインまたは電圧ドメインを通過する)を通過しなく、高効率と簡潔を実現する。さらに、平均故障間隔(MTBF)の要件に応じて、データシンクロナイザのレベル数とバッファのレベル数が設定され、構成は柔軟である。
(実施例2)
この実施形態において、マルチビットデータのクロスクロックドメインの処理装置をさらに提供し、当該装置は、上記の実施例および選択できる実施形態を実現するために用いられる。以下で使用されるように、「モジュール」という用語は、所定の機能を備えたソフトウェアおよび/またはハードウェアの組み合わせを実現することができる。以下の実施形態で説明される装置はソフトウェアによって実現されるが、ハードウェア、またはソフトウェアとハードウェアの組み合わせによって実現することも可能である。
図5は、本発明の実施形態に係るマルチビットデータのクロスクロックドメインの処理装置の構造ブロック図である。図5に示すように、当該装置は、送信クロックドメイン側から受信クロックドメイン側に出力するデータを取得し、ここで、送信クロックドメインと受信クロックドメインは、異なるクロックドメインであるように設置される取得モジュール52と、取得モジュール52と結合され、データが変化されたかどうかを検出するように設置される検出モジュール54と、検出モジュール54と結合され、データが変化されたことを検出した場合、データを更新して出力し、データが変化されていないことを検出した場合は、元の出力データを維持するように設置される処理モジュール56とを含む。
選択できるように、本発明における取得モジュール52は、送信クロックドメイン側のレジスタから受信クロックドメイン側に出力されたデータを受信し、かつデータに対して同期処理を実行するように設置されたデータシンクロナイザを含み、ここで、データシンクロナイザはNレベルのシンクロナイザであり、Nの値は平均故障間隔によって決定され、前記Nは正の整数である。
選択できるように、本発明における検出モジュール54は、受信されたデータが変化されたかどうかを確定するために、現在のサイクルのデータが前のサイクルのデータと比較して変化されたかどうかを検出するように設置された変化検出器を含む。
選択できるように、本発明における処理モジュール56は、データが変化された場合、有効値を出力し、受信クロックドメイン側のデータセレクタをトリガーして更新されたデータを出力し、データが変化されていない場合、無効値を出力し、データセレクタがトリガーして元の出力データを維持するように設置されるエッジ検出器を含む。
選択できるように、本発明における装置は、データが変化されたかどうかを検出した後、変化検出器によって出力されたデータをバッファリングするように設置されたバッファを含み、ここで、バッファはMレベルのバッファであり、M≧N-1であり、前記Mは正の整数である。
一つの実施形態において、上記の複数のモジュールは、ソフトウェアまたはハードウェアによって実現できる。ハードウェアの場合、以下の方法で実現でき、上記のモジュールは、すべて同じプロセッサに配置され、または、上記の複数のモジュールは任意の組み合わせの形式で、それぞれに異なるプロセッサに配置される。
上記の本発明の複数のモジュールまたは複数のステップは、普通のコンピューティングデバイスによって実現でき、これらは、単一のコンピューティングデバイスに集中することもでき、または、複数のコンピューティングデバイスで構成されるネットワークに分散させることもできる。選択できるように、これらは、コンピューティングデバイスによって実行可能なプログラムコードによって実現でき、これによって、これらをストレージデバイスに格納され、コンピューティングデバイスによって実行され、場合によっては、ここに示した順序と異なる順序で、示された又は記載されたステップを実行し、又は、これらを複数の集積回路モジュールにそれぞれに作成し、又は、これらにおける複数のモジュールまたはステップを単一の集積回路に作成することで実現する。このように、本発明は任意の特定のハードウェアとソフトウェアの組み合わせに限定されない。

Claims (6)

  1. マルチビットデータのクロスクロックドメインの処理方法であって、
    送信クロックドメイン側から受信クロックドメイン側に出力されたデータを取得し、ここで、前記送信クロックドメインと前記受信クロックドメインとは異なるクロックドメインであることと、
    前記データが変化されたかどうかを検出することと、
    前記データが変化された場合、前記データを更新してから出力し、前記データが変化されていない場合、元の出力データを維持することとを含
    前記送信クロックドメイン側から受信クロックドメイン側に出力されたデータを取得することは、
    前記送信クロックドメイン側のレジスタから前記受信クロックドメイン側に出力されたデータを受信することと、
    前記受信クロックドメイン側のNレベルデータシンクロナイザによって前記データに対して同期処理され、ここで、前記Nの値は、平均故障間隔によって決定され、前記Nは正の整数で、N≧2であることと、を含み、
    前記データが変化されたかどうかを検出することは、
    前記受信クロックドメイン側の変化検出器によって、前記Nレベルデータシンクロナイザによって同期処理された現在のサイクルのデータが前記現在のサイクルの直前のサイクルのデータと比較して、前記データが変化されたかどうかを検出することで、受信されたデータが変化されたかどうかを判断することを含む、
    ことを特徴とするマルチビットデータのクロスクロックドメインの処理方法。
  2. 前記データが変化されたと前記変化検出器により検出された場合、前記データを更新してから出力することは、前記データが変化された場合、前記受信クロックドメイン側のエッジ検出器より有効値を出力することで、前記受信クロックドメイン側のデータセレクタをトリガーして、更新されたデータを出力することを含み、
    前記データが変化されていないと前記変化検出器により検出された場合、元の出力データを維持することは、前記データが変化されていない場合、前記受信クロックドメイン側のエッジ検出器より無効値を出力することで、前記データセレクタをトリガーして、元の出力データを維持することを含む、
    ことを特徴とする請求項に記載の方法。
  3. 前記データが変化されたかどうかを検出した後、前記方法は、
    前記受信クロックドメイン側のMレベルバッファを介して、前記変化検出器より出力されたデータに対してバッファリングし、前記データセレクタに出力することをさらに含み、ここで、M≧N-1、前記Mは正の整数であることを特徴とする請求項に記載の方法。
  4. マルチビットデータのクロスクロックドメインの処理装置であって、
    送信クロックドメイン側から受信クロックドメイン側に出力されたデータを取得し、ここで、前記送信クロックドメインと前記受信クロックドメインとは、異なるクロックドメインであるように設置される取得モジュールと、
    前記データが変化されたかどうかを検出するように設置される検出モジュールと、
    前記データが変化されたことを検出した場合、前記データを更新して出力し、前記データが変化されていないことを検出した場合は、元の出力データを維持するように設置される処理モジュールとを含
    前記取得モジュールは、前記送信クロックドメイン側のレジスタから前記受信クロックドメイン側に出力されたデータを受信し、かつ前記データに対して同期処理を実行するように設置されたデータシンクロナイザを含み、ここで、前記データシンクロナイザはNレベルのシンクロナイザであり、前記Nの値は平均故障間隔によって決定され、前記Nは正の整数で、N≧2あり、
    前記検出モジュールは、前記Nレベルのデータシンクロナイザの出力側に接続され、受信されたデータが変化されたかどうかを確定するために、同期処理された現在のサイクルのデータが前記現在のサイクルの直前のサイクルのデータと比較して、前記データが変化されたかどうかを検出するように設置された変化検出器を含む、
    ことを特徴するマルチビットデータのクロスクロックドメインの処理装置。
  5. 前記処理モジュールは、前記変化検出器の出力側に接続され、前記データが変化された場合、有効値を出力することで、前記受信クロックドメイン側のデータセレクタをトリガーして更新されたデータを出力し、前記データが変化されていない場合、無効値を出力することで、前記データセレクタがトリガーして元の出力データを維持するように設置されるエッジ検出器を含むことを特徴とする請求項に記載の装置。
  6. 前記装置は、前記データが変化されたかどうかを検出した後、前記変化検出器によって出力されたデータをバッファリングし、前記データセレクタに出力するように設置されたバッファをさらに含み、ここで、前記バッファはMレベルのバッファであり、M≧N-1であり、前記Mは正の整数であることを特徴とする請求項に記載の装置。
JP2021558008A 2019-06-28 2020-04-30 マルチビットデータのクロスクロックドメインの処理方法と装置 Active JP7360472B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201910578841.3 2019-06-28
CN201910578841.3A CN112148655B (zh) 2019-06-28 2019-06-28 多位数据跨时钟域的处理方法及装置
PCT/CN2020/088019 WO2020259080A1 (zh) 2019-06-28 2020-04-30 多位数据跨时钟域的处理方法及装置

Publications (2)

Publication Number Publication Date
JP2022539485A JP2022539485A (ja) 2022-09-12
JP7360472B2 true JP7360472B2 (ja) 2023-10-12

Family

ID=73892042

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021558008A Active JP7360472B2 (ja) 2019-06-28 2020-04-30 マルチビットデータのクロスクロックドメインの処理方法と装置

Country Status (4)

Country Link
JP (1) JP7360472B2 (ja)
KR (1) KR20210141739A (ja)
CN (1) CN112148655B (ja)
WO (1) WO2020259080A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112953475B (zh) * 2021-02-04 2022-08-02 中国电子科技集团公司第五十八研究所 一种多位数据跨时钟域同步电路

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060198479A1 (en) 2005-03-01 2006-09-07 Hung-Yuan Hsu Data synchronizer system
US20090304134A1 (en) 2008-06-06 2009-12-10 Freescale Semiconductor, Inc. Device and method of synchronizing signals
US20120033772A1 (en) 2010-08-08 2012-02-09 Freescale Semiconductor, Inc Synchroniser circuit and method

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6519301B1 (en) * 1999-09-28 2003-02-11 Anthony S. Rowell Circuits, systems, and methods for passing request information across differing clock domains
US7250797B1 (en) * 2001-03-30 2007-07-31 Agere Systems Inc. Event edge synchronization system and method of operation thereof
US6900665B2 (en) * 2003-06-10 2005-05-31 James Ma Transfer of digital data across asynchronous clock domains
CN103576738A (zh) * 2012-08-01 2014-02-12 中兴通讯股份有限公司 一种异步信号跨时钟域处理方法及装置
CN102929808B (zh) * 2012-11-02 2015-09-16 长沙景嘉微电子股份有限公司 一种高可靠性的跨时钟域数据传输电路
CN105610532B (zh) * 2014-11-11 2019-05-24 中兴通讯股份有限公司 信号的传输处理方法及装置、设备
US9722767B2 (en) * 2015-06-25 2017-08-01 Microsoft Technology Licensing, Llc Clock domain bridge static timing analysis
CN106897238B (zh) * 2015-12-18 2020-05-26 浙江大华技术股份有限公司 一种数据处理装置及方法
CN105808476B (zh) * 2016-04-12 2019-01-04 珠海格力电器股份有限公司 跨时钟域数据的传输方法及装置
CN107577623A (zh) * 2017-07-19 2018-01-12 成都华微电子科技有限公司 跨时钟域异步fifo及数据处理方法
CN109408427B (zh) * 2017-08-18 2021-01-22 龙芯中科技术股份有限公司 一种跨时钟域数据处理方法及***

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060198479A1 (en) 2005-03-01 2006-09-07 Hung-Yuan Hsu Data synchronizer system
US20090304134A1 (en) 2008-06-06 2009-12-10 Freescale Semiconductor, Inc. Device and method of synchronizing signals
US20120033772A1 (en) 2010-08-08 2012-02-09 Freescale Semiconductor, Inc Synchroniser circuit and method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
R. Ginosar,Fourteen Ways to Fool Your Synchronizer,Ninth International Symposium on Asynchronous Circuits and Systems, 2003. Proceedings.,2003年05月21日,pp.1-8
Salomon Beer et al.,The Devolution of Synchronizers,2010 IEEE Symposium on Asynchronous Circuits and Systems,2010年06月03日,pp.94-103

Also Published As

Publication number Publication date
KR20210141739A (ko) 2021-11-23
CN112148655A (zh) 2020-12-29
JP2022539485A (ja) 2022-09-12
CN112148655B (zh) 2023-11-17
WO2020259080A1 (zh) 2020-12-30

Similar Documents

Publication Publication Date Title
US8760204B2 (en) Variation-tolerant periodic synchronizer
US9471091B2 (en) Periodic synchronizer using a reduced timing margin to generate a speculative synchronized output signal that is either validated or recalled
KR101174234B1 (ko) 직렬 데이터 수신 회로 장치 및 직렬 데이터 수신 방법
US5539739A (en) Asynchronous interface between parallel processor nodes
JP7360472B2 (ja) マルチビットデータのクロスクロックドメインの処理方法と装置
US8866511B2 (en) Matrix phase detector
US9164134B2 (en) High-resolution phase detector
US6516420B1 (en) Data synchronizer using a parallel handshaking pipeline wherein validity indicators generate and send acknowledgement signals to a different clock domain
US20240111706A1 (en) Frame alignment recovery for a high-speed signaling interconnect
US7194057B2 (en) System and method of oversampling high speed clock/data recovery
US8631265B2 (en) Synchronization circuit that facilitates multiple parallel reads and writes
Ono et al. A modular synchronizing FIFO for NoCs
US7444448B2 (en) Data bus mechanism for dynamic source synchronized sampling adjust
JP2008172657A (ja) 受信装置
US8711018B2 (en) Providing a feedback loop in a low latency serial interconnect architecture
CN113491082A (zh) 一种数据处理装置
EP3739463B1 (en) Circuit for asynchronous data transfer
US20150016579A1 (en) Clock and data recovery device, sampler and sampling method thereof
JP2022530591A (ja) マルチチップモジュール上の物理レイヤインタフェースに対するデスキュー方法
CN115202991B (zh) 一种OpenLDI接口实时自监控***及方法
US7116740B1 (en) Method and system for providing clock signals
Abasaheb et al. Design of Mesochronous Dual Clock Fifo Buffer with Modified Synchronizer Circuit
EP1188108A1 (en) Two clock domain pulse to pulse synchronizer
CN117971756A (zh) 一种时钟相位的确定方法、装置、电子设备及存储介质
JPH08316942A (ja) 非同期データ伝送回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211012

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20220928

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20221207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230117

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230417

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230530

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: 20230905

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230929

R150 Certificate of patent or registration of utility model

Ref document number: 7360472

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150