JP3918847B2 - 非同期信号転送システム、非同期信号転送装置及びそれらに用いる非同期信号転送方法 - Google Patents

非同期信号転送システム、非同期信号転送装置及びそれらに用いる非同期信号転送方法 Download PDF

Info

Publication number
JP3918847B2
JP3918847B2 JP2004359271A JP2004359271A JP3918847B2 JP 3918847 B2 JP3918847 B2 JP 3918847B2 JP 2004359271 A JP2004359271 A JP 2004359271A JP 2004359271 A JP2004359271 A JP 2004359271A JP 3918847 B2 JP3918847 B2 JP 3918847B2
Authority
JP
Japan
Prior art keywords
timing
signal
clock
asynchronous
signal transfer
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.)
Expired - Fee Related
Application number
JP2004359271A
Other languages
English (en)
Other versions
JP2006173689A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2004359271A priority Critical patent/JP3918847B2/ja
Publication of JP2006173689A publication Critical patent/JP2006173689A/ja
Application granted granted Critical
Publication of JP3918847B2 publication Critical patent/JP3918847B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Description

本発明は非同期信号転送システム、非同期信号転送装置及びそれらに用いる非同期信号転送方法に関し、特に非同期信号を同期化する同期化方法に関する。
従来、非同期信号の同期化方法としては、一般的に、二段同期が用いられており、その二段同期を改善するものが提案されている(例えば、特許文献1参照)。この特許文献1に記載の方法では、同期化前後のクロックのタイミング(ズレ)によって、信号の受け側が同期化された信号を引き取るタイミングが変わってくる。タイミングのずれは、特に二重化されたモジュールのロック・ステップ動作を保障するフォールト・トレラント・コンピュータにおいては致命傷となる。
また、非同期信号の同期化の他の方法としては、複数の非同期信号を効率よく転送する方法が提案されている(例えば、特許文献2,3参照)。これら特許文献2,3記載の同期化信号の転送方法では、転送する信号が有効か無効かを知る必要があり、有効、無効を示す信号に対しては上記の特許文献1に示すような同期化処理で行われる。
例えば、データ転送を行う際に、同期化回路を削減するためにデータをバッファリングしていても、そのデータが引き取り可能かどうかを示す信号は同期化処理が行われるために、タイミングは不定である。
上記の特許文献2に記載の方法においては、ぶつかり制御部において、2つの制御クロック系の信号を同期化処理して比較しているため、それぞれの同期化信号の値によって結果が異なり、データが転送されるタイミングが両制御系において一定ではない。
上記の特許文献3に記載の方法でも、上記の特許文献2に記載の方法と同様に、同期化回路において、両系の信号の同期化処理をしているため、転送タイミングが不定となる。また、同期化処理には、非同期信号を、例えば二段でサンプリングし直すため、どんな場合においても、信号の受け側のクロックで2クロック以上の遅延が生じる。
このような従来の方法では、決まったタイミングによって信号の授受ができないので、非同期回路が入ったモジュールが二重化されたシステム等において、それぞれの非同期モジュールで何らかのリクエストに対するレスポンスは、決まった時間に返ってこないため、二重化システムの完全なロック・ステップ動作を保障することができない。
特開平3−202910号公報 特開平8−77125号公報 特開平11−338821号公報
上述した従来の非同期信号の同期化方法では、上記の特許文献1〜3のいずれの同期化信号の転送方法においても、受け取る信号が、あるタイミングで有効か無効かを知る必要がある。例えば、データ転送を行う場合、データをバッファリングしていても、そのデータが引き取り可能かどうかを示す信号のタイミングは不定である。
特許文献2に記載の方法の場合には、ぶつかり制御部において、2つの制御クロック系の信号を同期化して比較しているため、それぞれの同期化信号の値によって結果が異なり、データが転送されるタイミング異なってくる。
特許文献3に記載の方法の場合には、特許文献2に記載の方法の場合と同様に、同期化回路において、両系の信号を同期化しているため、転送タイミングが不定となる。
上記のように、信号授受のタイミングが不定になるような同期化方法では、特にフォールト・トレラント・コンピュータのように、二重化されたシステム間においてロック・ステップ動作を保障するシステムには向かない。
従来の方法では、二重化されたシステムにおいて、異なるクロックで動作するモジュールに対して何らかのリクエストを行った場合に、そのレスポンスは決まった時間に返ってこないので、完全なロック・ステップ動作を行うことができない。
そこで、本発明の目的は上記の問題点を解消し、非同期転送でありながら、レイテンシーの少ない転送を実現することができる非同期信号転送システム、非同期信号転送装置及びそれらに用いる非同期信号転送方法を提供することにある。
本発明による非同期信号転送システムは、非同期クロックで動作する非同期信号転送装置間の信号転送を行う非同期信号転送システムであって、
前記非同期信号転送装置は、前記信号の授受を行う相手装置のクロックと自装置のクロックとの最大公約数の周波数を持つ基準クロックとのタイミングを基に前記信号の生成タイミングを発生させる基準タイミング生成手段と、前記信号の送信タイミングを規定する送信制御レジスタと、前記信号の受信タイミングを規定する受信制御レジスタと、自装置にてドライブする信号のタイミングを前記基準クロックと前記送信制御レジスタの値とに基づいて制御する送信制御手段と、自装置にてサンプリングする信号のタイミングを前記基準クロックと前記受信制御レジスタの値とに基づいて制御する受信制御手段とを備えている。
本発明による非同期信号転送装置は、他装置と非同期のクロックで動作しかつ前記他装置との間の信号転送を行う非同期信号転送装置であって、
前記信号の授受を行う相手装置のクロックと自装置のクロックとの最大公約数の周波数を持つ基準クロックとのタイミングを基に前記信号の生成タイミングを発生させる基準タイミング生成手段と、前記信号の送信タイミングを規定する送信制御レジスタと、前記信号の受信タイミングを規定する受信制御レジスタと、自装置にてドライブする信号のタイミングを前記基準クロックと前記送信制御レジスタの値とに基づいて制御する送信制御手段と、自装置にてサンプリングする信号のタイミングを前記基準クロックと前記受信制御レジスタの値とに基づいて制御する受信制御手段とを備えている。
本発明による非同期信号転送方法は、非同期クロックで動作する非同期信号転送装置間の信号転送を行う非同期信号転送方法であって、
前記非同期信号転送装置が、前記信号の授受を行う相手装置のクロックと自装置のクロックとの最大公約数の周波数を持つ基準クロックとのタイミングを基に基準タイミング生成手段で前記信号の生成タイミングを発生させる処理と、自装置にてドライブする信号のタイミングを前記基準クロックと前記信号の送信タイミングを規定する送信制御レジスタとの値とに基づいて送信制御手段にて制御する処理と、自装置にてサンプリングする信号のタイミングを前記基準クロックと前記信号の受信タイミングを規定する受信制御レジスタの値とに基づいて受信制御手段にて制御する処理とを実行している。
すなわち、本発明の非同期信号転送システムは、クロック周波数が異なるモジュール間の信号授受において、非同期信号の転送時に発生するメタステーブルを避けて、ある決まったタイミングで信号を転送できるようにしたことを特徴としている。
より具体的に説明すると、本発明の非同期信号転送装置(モジュール)は、信号の授受を行う相手方のモジュールのクロックと、自クロックとの最大公約数の周波数を持つ基準クロックとのタイミングを基に、信号の生成タイミングを発生させる基準タイミング生成部と、信号の送信タイミングを規定する送信制御レジスタと、信号の受信タイミングを規定する受信制御レジスタと、モジュールがドライブする信号のタイミングを送信制御レジスタの値にしたがって制御する送信制御部と、モジュールがサンプリングする信号のタイミングを受信制御レジスタの値にしたがって制御する受信制御部とを有している。
ここで、自モジュールと相手方のモジュールとはそれぞれ異なるクロックCH、クロックCLにそれぞれ同期して動作するモジュールである。つまり、自モジュールのクロックCHと相手方のモジュールのクロックCLとはそれぞれ周波数が異なるクロックで、クロックCHの周波数>クロックCLの周波数の関係があり、クロックCHの方が速いクロックである。基準クロックC0はクロックCHとクロックCLとの最大公約数の周波数を持っている。
上記の基準タイミング生成部は基準クロックC0を元にして送信制御レジスタ及び受信制御レジスタから値を読出す基点となるタイミングを生成する。送信制御レジスタはモジュールがドライブする信号のタイミングを規定するレジスタである。送信制御レジスタは、例えば1ビットを1クロックに対応させた情報を保持しており、その情報は“1”がドライブ可能を、“0”がドライブ不可能をそれぞれ表している。
受信制御レジスタは相手方のモジュールがドライブする信号を自モジュールがサンプリングできるタイミングを規定するレジスタである。受信制御レジスタは、例えば1ビットを1クロックに対応させた情報を保持しており、その情報は“1”がサンプリング可能を、“0”がサンプリング不可能をそれぞれ表している。
送信制御部は自モジュールがドライブする信号を送信制御レジスタの値にしたがって制御する。受信制御部は自モジュールがサンプリングする信号を受信制御レジスタの値にしたがって制御する。
上記のように、本発明の非同期信号転送システムでは、2つの非同期モジュールが、同一の基準クロックをベースに信号をドライブ、あるいはサンプリングするタイミングを決定しており、互いのステートを把握可能なので、決まったタイミングで信号をドライブ、サンプリングすることによって、メタステーブルを避けた非同期転送が比較的容易に、非同期化によるオーバヘッドを抑えて実現することが可能となる。
非同期転送が常に決まったタイミングで行われるという特徴は、ロックステップ動作を保障する必要があるフォールト・トレラント・コンピュータ等で非常に有効である。また、本発明の非同期信号転送装置では、信号のドライブ・タイミング及びサンプリング・タイミングをレジスタで指定するので、2つのモジュールのクロック・スキューが予想と異なったような場合に、これらのタイミングを調整することが可能となる。
これによって、本発明の非同期信号転送装置では、メタステーブルを避けた決められたタイミングでドライブ及びサンプリングを行っているので、非同期転送でありながら、レイテンシーの少ない転送が実現可能となる。
また、本発明の非同期信号転送装置では、決められたタイミングで信号の授受をしているので、非同期回路が入ったモジュールでも、ロック・ステップ動作を保障する必要があるフォールト・トレラント・コンピュータで利用可能となる。
さらに、本発明の非同期信号転送装置では、信号授受のタイミングをレジスタのビット値によって示しているので、クロックのスキューがずれて想定していたタイミングでメタステーブルが発生するようなことがあっても、そのメタステーブルを容易に回避することが可能となる。
本発明は、以下に述べるような構成及び動作とすることで、非同期転送でありながら、レイテンシーの少ない転送を実現することができるという効果が得られる。
次に、本発明の実施例について図面を参照して説明する。図1は本発明の一実施例による非同期信号転送システムの構成を示すブロック図である。図1において、本発明の一実施例による非同期信号転送システムはクロック周波数が異なる非同期信号転送装置であるモジュール(MH)1及びモジュール(ML)2から構成されている。
モジュール(MH)1及びモジュール(ML)2はそれぞれ基準タイミング生成部11,21と、送信制御部12,22と、受信制御部13,23と、送信制御レジスタ14,24と、受信制御レジスタ15,25とから構成されている。
基準タイミング生成部11,21は信号の授受を行う相手方のモジュールのクロックCL,CHと、自クロックCH,CLとの最大公約数の周波数を持つ基準クロックC0とのタイミングを基に、信号の生成タイミングを発生させる。送信制御レジスタ14,24は信号の送信タイミングを規定し、受信制御レジスタ15,25は信号の受信タイミングを規定する。
送信制御部12,22は自モジュールがドライブする信号のタイミングを送信制御レジスタ14,24の値にしたがって制御し、受信制御部13,23は自モジュールがサンプリングする信号のタイミングを受信制御レジスタ15,25の値にしたがって制御する。
図1において、クロックCH、クロックCLはそれぞれ周波数が異なるクロック(例えば、クロックCHが266MHzで、クロックCLが200MHzの場合)で、クロックCHの周波数>クロックCLの周波数の関係がある。つまり、クロックCHの方が速いクロックである。基準クロックC0はクロックCHとクロックCLの最大公約数の周波数を持つ。モジュール(MH)1及びモジュール(ML)2はそれぞれ異なる周波数のクロックCH、クロックCLに同期して動作するモジュールである。
基準タイミング生成部11,21は基準クロックC0を基にして送信制御レジスタ14,24及び受信制御レジスタ15,25から値を読出す基点となるタイミングを生成する。送信制御レジスタ14,24はモジュール(MH)1及びモジュール(ML)2がドライブする信号のタイミングを規定するレジスタである。送信制御レジスタ14,24には、例えば、1ビットを1クロックに対応させた情報が保持されており、その情報は“1”がドライブ可能を、“0”がドライブ不可能をそれぞれ表している。
受信制御レジスタ15,25は他方のモジュールがドライブする信号を自モジュールがサンプリングできるタイミングを規定するレジスタである。受信制御レジスタ15,25には、例えば、1ビットを1クロックに対応させた情報が保持されており、その情報は“1”がサンプリング可能、“0”がサンプリング不可能をそれぞれ表している。
送信制御部12,22は自モジュールがドライブする信号を送信制御レジスタ14,24の値にしたがって制御し、受信制御部13,23は自モジュールがサンプリングする信号を受信制御レジスタ15,25の値にしたがって制御している。
図2は図1のモジュール(ML)2の動作を示すタイムチャートであり、図3は図1のモジュール(MH)1の動作を示すタイムチャートである。これら図1〜図3を参照して、本発明の一実施例による信号授受の動作原理について説明する。
図2は266MHzで動作する信号を200MHzで動作するモジュール(ML)2で受け取る場合の動作を示している。本実施例において、266Mhzの信号と200MHzの信号とは、ある時点でクロックの立ち上がりエッジが一致する、すなわちスキューのない理想的な状態を想定している。
図2においては、266MHz側が信号をドライブ開始できるタイミングを「○」で、ドライブできないタイミングを「×」でそれぞれ表している。「○」の中に数字の「2」があるものは、そのサイクルでドライブを開始した信号は2クロック間ドライブし続ける必要があることを表している。また、図2においては、200MHzで信号をサンプリング可能なタイミングを「↑」で表している。
タイミングT0でドライブを開始された信号D0は、s0でサンプリングされる。この時、266MHzでドライブする信号が1クロック間だと、s0で取り込む前に変化してしまうので、200MHzでサンプリングする際のセットアップ時間、ホールド時間を守るためには、タイミングT0,T1の2クロック間、ドライブしなければならない。
タイミングT2でドライブを開始した信号D1はs1で、タイミングT3でドライブを開始した信号D2はs2でそれぞれサンプリング可能である。タイミングT4以降は上記のタイミングT0〜T3のサイクルが繰り返される。したがって、266MHzのドライブ側のタイミングを制御することによって、200MHz側では同期信号と同様に扱うことができる。
図3は200MHzで動作する信号を266MHzで動作するモジュール(MH)1で受け取る場合の動作を示している。図3では、ドライブ側、サンプリング側の周波数が違うだけで、記号の説明は上記の図2の場合と同様である。
この場合、ドライブ側はいつでも信号をドライブできる。タイミングt0でドライブを開始した信号D0はS0で、タイミングt1でドライブを開始した信号D1はS1でそれぞれサンプリングすることができる。
タイミングt2でドライブを開始した信号D2は、サンプリングのポイントが二箇所あるが、S2でサンプリングすることにする。タイミングt3以降でドライブされる信号は、上記のタイミングt0〜t2のサイクルと同様である。
したがって、266MHz側のサンプリング側のタイミングを制御することによって、200MHz側では信号をドライブするタイミングを意識することなく動作することができる。
つまり、図2及び図3に示す例の場合、266MHz側のドライブ及びサンプリングのタイミングを制御することによって、200MHz側では同期回路と同じように信号を扱っている。
このように、本実施例では、2つの非同期モジュール[モジュール(MH)1及びモジュール(ML)2]が、同一の基準クロックC0をベースに信号をドライブ、あるいはサンプリングするタイミングを決定しており、互いのステートを把握することができるので、決まったタイミングで信号をドライブ、サンプリングすることによって、メタステーブルを避けた非同期転送を比較的容易に、かつ非同期化によるオーバヘッドを抑えて実現することができる。
この非同期転送が常に決まったタイミングで行われるという特徴は、ロックステップ動作を保障する必要があるフォールト・トレラント・コンピュータ等で非常に有効である。
また、本実施例では、信号のドライブ・タイミング及びサンプリング・タイミングを送信制御レジスタ14,24及び受信制御レジスタ15,25で指定するので、2つのモジュールのクロック・スキューが予想と異なったような場合に、これらのタイミングを調整することができる。
したがって、本実施例では、メタステーブルを避けた決められたタイミングでドライブ及びサンプリングを行っているので、非同期転送でありながら、レイテンシーの少ない転送を実現することができる。
また、本実施例では、決められたタイミングで信号の授受をしているので、非同期回路が入ったモジュールでも、ロック・ステップ動作を保障する必要があるフォールト・トレラント・コンピュータで利用することができる。
さらに、本実施例では、信号授受のタイミングを送信制御レジスタ14,24及び受信制御レジスタ15,25のビット値によって示しているので、クロックのスキューがずれて、想定していたタイミングでメタステーブルが発生するようなことがあっても、それを容易に回避することができる。
図4は本発明の他の実施例による非同期信号転送システムの構成を示すブロック図である。図4において、本発明の他の実施例による非同期信号転送システムは、非同期信号転送装置であるモジュール(MH)3及びモジュール(ML)4各々において、送信制御レジスタ14,24及び受信制御レジスタ15,25の代わりにドライブ・タイミング・レジスタ31,41、ホールド・タイミング・レジスタ32、サンプリング・タイミング・レジスタ33,42を設けた以外は図1に示す本発明の一実施例と同様の構成となっており、同一構成要素には同一符号を付してある。また、同一構成要素の動作は上記の本発明の一実施例と同様である。
モジュール(MH)3及びモジュール(ML)4各々には、非同期のクロックCH、クロックCLが入力されている。本実施例では、クロックCHを266MHz、クロックCLを200MHzとする。
モジュール(MH)3は基準タイミング生成部11と、送信制御部12と、受信制御部13と、ドライブ・タイミング・レジスタ31と、ホールド・タイミング・レジスタ32と、サンプリング・タイミング・レジスタ33とから構成されている。
基準タイミング生成部11は信号の送受信タイミングの基準となるカウンタ(図示せず)を持ち、クロックCHに同期してカウント・アップする。そのカウンタ値は、信号の授受を行う相手方のモジュール(ML)4のクロックCLと、自クロックCHとの最大公約数の周波数66MHzを持つ基準クロックC0のタイミングでリセットされる。
ドライブ・タイミング・レジスタ31はモジュール(MH)3が信号をドライブ開始可能なタイミングを規定する。ホールド・タイミング・レジスタ32はモジュール(MH)3が前のクロックでドライブした信号を引き続きドライブするタイミングを規定する。サンプリング・タイミング・レジスタ33はモジュール(MH)3が信号を受信するタイミングを規定する。
送信制御部12はモジュール(MH)3がドライブするリクエストREQとコマンドCMDとを、ドライブ・タイミング・レジスタ31及びホールド・タイミング・レジスタ32各々の値にしたがって制御する。受信制御部13はモジュール(MH)3がサンプリングするリクエスト許可信号REQOKのタイミングをサンプリング・タイミング・レジスタ33の値にしたがって制御する。
モジュール(ML)4は基準タイミング生成部21と、送信制御部22と、受信制御部23と、ドライブ・タイミング・レジスタ41と、サンプリング・タイミング・レジスタ42とから構成されている。モジュール(ML)4内の各ブロックは、上述したモジュール(MH)3内の各ブロックと同様の動作を行う。
受信制御部23はモジュール(MH)3がドライブするリクエストREQ、コマンドCMDをサンプリングする。送信制御部22はモジュール(MH)3に対してリクエスト許可信号REQOKをドライブする。
図5は図4の基準タイミング生成部11,21の構成を示すブロック図である。図5において、基準タイミング生成部11,21はDフリップ・フロップ(FF0)51〜(FF3)54と、排他的論理和ゲート(XOR)55と、カウンタ(CNT)56とから構成されている。
初段のDフリップ・フロップ(FF0)51は基準クロックC0の立ち上がりエッジで出力をトグルさせる。二段目のDフリップ・フロップ(FF1)52から4段目のDフリップ・フロップ(FF3)54は、前段のDフリップ・フロップ(FF0)51〜(FF2)53の出力をクロックCX(図4ではクロックCHまたはクロックCL)でサンプリングする。
カウンタ(CNT)56はクロックCXに同期してカウント・アップし、三段目のDフリップ・フロップ(FF2)53の出力と、四段目のDフリップ・フロップ(FF3)54の出力との排他的論理和によってオール‘0’にクリアされる。
図6は本発明の他の実施例による非同期信号転送システムの動作を示すタイムチャートであり、図7は図5に示す基準タイミング生成部11,21の動作を示すタイムチャートである。これら図4〜図7を参照して本発明の他の実施例による非同期信号転送システムの動作について説明する。
まず、本実施例における非同期信号の仕様について説明する。266MHzのクロックCHで動作するモジュール(MH)3から、200MHzのクロックCLで動作するモジュール(ML)4に対してコマンドCMDを送信する。この時、モジュール(MH)3において有効なコマンドCMDがドライブされている期間は、リクエストREQをHighで示す。
モジュール(ML)4がこのリクエストREQを受け付け可能である場合には、リクエスト許可信号REQOKをHighにする。モジュール(MH)3はリクエスト許可REQOKを、モジュール(ML)4はリクエストREQをそれぞれ監視し、両方の信号がHighの場合にコマンドCMDが転送される。
モジュール(MH)3がモジュール(ML)4に対して、この仕様にしたがってリクエストREQを発行する動作について説明する。ドライブ・タイミング204、サンプリング・タイミング205、ホールド・タイミング206はそれぞれ4ビットの信号で、ドライブ・タイミング・レジスタ31、サンプリング・タイミング・レジスタ32、ホールド・タイミング・レジスタ33にそれぞれ設定されており、本実施例では「1001」、「0011」、「0010」となっている。
基準タイミング生成部11はカウンタ201を生成している。ここで、基準タイミング生成部11の動作を図5及び図7を参照して説明する。基準クロックC0はクロックCHとクロックCLとの最大公約数の周波数でトグルしている。クロックC0はDフリップフロップ(FF0)51のクロックへ入力され、その出力のクロックは基準クロックC0の立ち上がりエッジでトグルする。
Dフリップフロップ(FF1)52〜(FF3)54はモジュール(MH)3のクロックCHに同期して動作しており、Dフリップフロップ(FF0)51で生成した信号を単純にサンプリングし直している。
Dフリップフロップ(FF1)51,(FF2)53は、モジュール(MH)3のクロックCHとは非同期信号となる基準クロックC0を二段同期している。Dフリップフロップ(FF3)54は、同期化されたクロック2Dをさらにサンプリングし、この出力クロック3Dとクロック2Dとによって、一定の周期を持ったパルスを生成する。このパルスの周期は基準クロックC0の周期と同じであり、最終段のカウンタ56を基準クロックC0の周期でリセットする。
カウンタ56はリセットされない時に、クロックCHに同期してカウント・アップする。モジュール(MH)3及びモジュール(ML)4ともに、同様の仕組みで、カウンタ値201,301を生成しており、基準クロックC0の周期で両方のカウンタ値201,301はリセットされる。
図6において、ドライブ開始を示す信号はカウンタ値201が「0(ゼロ)」の時、ドライブ・タイミング204のビット0の値を出力し、以後、カウンタ値201が示すビットの値を順次出力する。ドライブ・タイミング204は「1001」に設定されているので、カウンタ値201が「0」の時には「1」、「1」の時には「0」、「2」で「0」、「3」で「1」となる。この値が「1」の時に、モジュール(MH)3は出力信号のドライブを開始することができる。
上記と同様に、ドライブした信号をホールドするタイミングを示す信号は、カウンタ値201の値が示すホールド・タイミング206のビット値を出力し、カウンタ値201が「0」の時から、「0」、「1」、「0」、「0」となる。「1」の時には出力信号のドライブをホールドしなければならない。これらの制御は送信制御部12で行う。サンプリング・タイミングを示す信号も、上記の動作と同様で、「1」の時に入力信号をサンプリングする。
モジュール(ML)4については、モジュール(MH)3と同様である。但し、モジュール(ML)4にはホールド・タイミング・レジスタがない。また、ドライブ・タイミング・レジスタ41、サンプリング・タイミング・レジスタ42は3ビットのレジスタである。
送信制御部12ではモジュール(MH)3が発行したいリクエストが発生すると、ドライブ開始タイミングになるまで待ち、ドライブ開始タイミングになるとリクエストREQ、コマンドCMD=「C0」をドライブする(図6のタイミングT3)。
受信制御部13ではリクエスト許可REQOKをサンプリング・タイミングで取込み、リクエスト許可REQOKが「1」の時には、モジュール(ML)4がリクエストを受け付け可能であるので、リクエストREQをDeassertする。タイミングT3ではホールドを示す信号が「0」なので、ここですぐにDeassertすることができる。
次のリクエストREQは、タイミングT7でドライブされており、前回と同様に、リクエスト許可信号REQOKが「1」なので、すぐにリクエストが転送される。この時、内部では次のリクエストが続けて発生している。タイミングT8ではドライブ開始が可能なので、リクエストREQをそのままドライブする。この時、ホールド信号が「1」であるので、タイミングT9でもドライブし続けなければならない。
次に、タイミングT9ではドライブ開始、ホールド信号共に「0」なので、タイミングT10では一度有効な信号をDeassertする。タイミングT11では再びドライブ可能なので、リクエストREQをドライブし、サンプリング・タイミングでリクエスト許可REQOKが「1」で、ホールド信号が「0」ならばリクエストREQをDeassertする。
モジュール(ML)4ではリクエストREQが「1」であるのを見て、リクエスト許可REQOKを一度Deassertしている。再びリクエストを受け付けることができるようになると、ドライブ開始信号が「1」であるのを見て、リクエスト許可REQOKをAssertする(タイミングt5)。以降、上記の動作と同様に、リクエストREQとリクエスト許可信号REQOKとが共に「1」の時にリクエストが転送される。
このように、本発明では、メタステーブルを避けた決められたタイミングでドライブ及びサンプリングを行っているので、非同期転送でありながら、レイテンシーの少ない転送を実現することができる。
また、本発明では、決められたタイミングで信号の授受をしているので、非同期回路が入ったモジュールでも、ロック・ステップ動作を保障する必要があるフォールト・トレラント・コンピュータで利用することができる。
さらに、本発明では、信号授受のタイミングをレジスタのビット値によって示しているので、クロックのスキューがずれて想定していたタイミングでメタステーブルが発生するようなことがあっても、それから容易に回避することができる。
本発明の一実施例による非同期信号転送システムの構成を示すブロック図である。 図1のモジュール(ML)の動作を示すタイムチャートである。 図1のモジュール(MH)の動作を示すタイムチャートである。 本発明の他の実施例による非同期信号転送システムの構成を示すブロック図である。 図4の基準タイミング生成部の構成を示すブロック図である。 本発明の他の実施例による非同期信号転送システムの動作を示すタイムチャートである。 図5に示す基準タイミング生成部の動作を示すタイムチャートである。
符号の説明
1,3 モジュール(MH)
2,4 モジュール(ML)
11,21 基準タイミング生成部
12,22 送信制御部
13,23 受信制御部
14,24 送信制御レジスタ
15,25 受信制御レジスタ
31,41 ドライブ・タイミング・レジスタ
32 ホールド・タイミング・レジスタ
33,43 サンプリング・タイミング・レジスタ
51 Dフリップ・フロップ(FF0)
52 Dフリップ・フロップ(FF1)
53 Dフリップ・フロップ(FF2)
54 Dフリップ・フロップ(FF3)
55 排他的論理和ゲート
56 カウンタ

Claims (9)

  1. 非同期クロックで動作する非同期信号転送装置間の信号転送を行う非同期信号転送システムであって、
    前記非同期信号転送装置は、前記信号の授受を行う相手装置のクロックと自装置のクロックとの最大公約数の周波数を持つ基準クロックとのタイミングを基に前記信号の生成タイミングを発生させる基準タイミング生成手段と、前記信号の送信タイミングを規定する送信制御レジスタと、前記信号の受信タイミングを規定する受信制御レジスタと、自装置にてドライブする信号のタイミングを前記基準クロックと前記送信制御レジスタの値とに基づいて制御する送信制御手段と、自装置にてサンプリングする信号のタイミングを前記基準クロックと前記受信制御レジスタの値とに基づいて制御する受信制御手段とを有することを特徴とする非同期信号転送システム。
  2. 前記基準タイミング生成手段は、前記基準クロックを基に前記送信制御レジスタ及び前記受信制御レジスタから値を読出す基点となるタイミングを生成することを特徴とする請求項1記載の非同期信号転送システム。
  3. 前記非同期信号転送装置は、自装置が前のクロックでドライブした信号を引き続きドライブするタイミングを規定するホールド・タイミング・レジスタを含み、
    前記送信制御手段は、前記ホールド・タイミング・レジスタの値にしたがって前のクロックでドライブした信号を引き続きドライブすることを特徴とする請求項1または請求項2記載の非同期信号転送システム。
  4. 他装置と非同期のクロックで動作しかつ前記他装置との間の信号転送を行う非同期信号転送装置であって、
    前記信号の授受を行う相手装置のクロックと自装置のクロックとの最大公約数の周波数を持つ基準クロックとのタイミングを基に前記信号の生成タイミングを発生させる基準タイミング生成手段と、前記信号の送信タイミングを規定する送信制御レジスタと、前記信号の受信タイミングを規定する受信制御レジスタと、自装置にてドライブする信号のタイミングを前記基準クロックと前記送信制御レジスタの値とに基づいて制御する送信制御手段と、自装置にてサンプリングする信号のタイミングを前記基準クロックと前記受信制御レジスタの値とに基づいて制御する受信制御手段とを有することを特徴とする非同期信号転送装置。
  5. 前記基準タイミング生成手段は、前記基準クロックを基に前記送信制御レジスタ及び前記受信制御レジスタから値を読出す基点となるタイミングを生成することを特徴とする請求項4記載の非同期信号転送装置。
  6. 自装置が前のクロックでドライブした信号を引き続きドライブするタイミングを規定するホールド・タイミング・レジスタを含み、
    前記送信制御手段は、前記ホールド・タイミング・レジスタの値にしたがって前のクロックでドライブした信号を引き続きドライブすることを特徴とする請求項4または請求項5記載の非同期信号転送装置。
  7. 非同期クロックで動作する非同期信号転送装置間の信号転送を行う非同期信号転送方法であって、
    前記非同期信号転送装置が、前記信号の授受を行う相手装置のクロックと自装置のクロックとの最大公約数の周波数を持つ基準クロックとのタイミングを基に基準タイミング生成手段で前記信号の生成タイミングを発生させる処理と、自装置にてドライブする信号のタイミングを前記基準クロックと前記信号の送信タイミングを規定する送信制御レジスタとの値とに基づいて送信制御手段にて制御する処理と、自装置にてサンプリングする信号のタイミングを前記基準クロックと前記信号の受信タイミングを規定する受信制御レジスタの値とに基づいて受信制御手段にて制御する処理とを実行することを特徴とする非同期信号転送方法。
  8. 前記基準タイミング生成手段が、前記基準クロックを基に前記送信制御レジスタ及び前記受信制御レジスタから値を読出す基点となるタイミングを生成することを特徴とする請求項7記載の非同期信号転送方法。
  9. 前記非同期信号転送装置が、自装置が前のクロックでドライブした信号を引き続きドライブするタイミングを規定するホールド・タイミング・レジスタの値にしたがって前のクロックでドライブした信号を引き続きドライブすることを特徴とする請求項7または請求項6記載の非同期信号転送方法。
JP2004359271A 2004-12-13 2004-12-13 非同期信号転送システム、非同期信号転送装置及びそれらに用いる非同期信号転送方法 Expired - Fee Related JP3918847B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004359271A JP3918847B2 (ja) 2004-12-13 2004-12-13 非同期信号転送システム、非同期信号転送装置及びそれらに用いる非同期信号転送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004359271A JP3918847B2 (ja) 2004-12-13 2004-12-13 非同期信号転送システム、非同期信号転送装置及びそれらに用いる非同期信号転送方法

Publications (2)

Publication Number Publication Date
JP2006173689A JP2006173689A (ja) 2006-06-29
JP3918847B2 true JP3918847B2 (ja) 2007-05-23

Family

ID=36674009

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004359271A Expired - Fee Related JP3918847B2 (ja) 2004-12-13 2004-12-13 非同期信号転送システム、非同期信号転送装置及びそれらに用いる非同期信号転送方法

Country Status (1)

Country Link
JP (1) JP3918847B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220070841A (ko) * 2020-11-23 2022-05-31 엘아이지넥스원 주식회사 고속 파형 모드 변경 장치 및 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101746203B1 (ko) 2014-11-03 2017-06-21 (주)에프씨아이 멀티 칩 시스템에서 칩들 간의 클럭 신호의 위상차 보상방법 및 장치
CN114117972B (zh) * 2022-01-26 2022-06-10 之江实验室 一种异步电路的同步装置和方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220070841A (ko) * 2020-11-23 2022-05-31 엘아이지넥스원 주식회사 고속 파형 모드 변경 장치 및 방법
KR102434180B1 (ko) 2020-11-23 2022-08-19 엘아이지넥스원 주식회사 고속 파형 모드 변경 장치 및 방법

Also Published As

Publication number Publication date
JP2006173689A (ja) 2006-06-29

Similar Documents

Publication Publication Date Title
US5535377A (en) Method and apparatus for low latency synchronization of signals having different clock speeds
US5548620A (en) Zero latency synchronized method and apparatus for system having at least two clock domains
JP3565600B2 (ja) データ通信装置およびデータ通信方法
US8301932B2 (en) Synchronising between clock domains
EP0547768A2 (en) Synchronizer apparatus and method
RU2404517C2 (ru) Не допускающая сбоев схема мультиплексора синхросигналов и способ работы
US7134035B2 (en) Method for generating a synchronization signal based on the clock ratio between two clock domains for data transfer between the domains
JP2007122804A (ja) 同期型半導体装置
WO2004066142A2 (en) Pipeline synchronisation device and method
JP3918847B2 (ja) 非同期信号転送システム、非同期信号転送装置及びそれらに用いる非同期信号転送方法
US20100315134A1 (en) Systems and methods for multi-lane communication busses
US20050135424A1 (en) Synchronous/asynchronous interface circuit and electronic device
JP3560793B2 (ja) データ転送方法
EP0319184B1 (en) Two stage synchronizer
JPH0358263A (ja) データ転送同期装置及び方法
US6640277B1 (en) Input staging logic for latching source synchronous data
JPH03127526A (ja) 同期化装置
US6577649B1 (en) Multiplexer for asynchronous data
JP3604637B2 (ja) 非同期転送装置および非同期転送方法
JP2000353027A (ja) クロック制御方法およびそれを用いた電子回路装置
JP3704709B2 (ja) データ再同期化装置
JP2596336B2 (ja) 非同期ディジタル通信装置
JP4194430B2 (ja) 同期化装置
JP2000047978A (ja) 対称型非同期インタフェース回路
JPS622348B2 (ja)

Legal Events

Date Code Title Description
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: 20070123

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070205

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100223

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110223

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees