(57)【特許請求の範囲】
【請求項１】
第１クロックに従って送られてきたデータを前記第１クロックと非同期の第２クロックに従って転送するデータ転送装置において、
前記第１クロックのエッジを抽出するエッジ抽出手段と、
前記エッジ抽出手段によるエッジの抽出から一定時間遅れたタイミングで、前記第１クロックに従って送られたデータを取得する第１の取得手段と、
前記第１の取得手段よりも一定時間遅れたタイミングで、前記第１クロックに従って送られたデータを取得する第２の取得手段と、
前記第１の取得手段により取得されたデータと、前記第２の取得手段により取得されたデータとを照合し、両者が一致した場合に当該データを転送する転送手段と、
を備え、
前記エッジ抽出手段、前記第１の取得手段、前記第２の取得手段、および前記転送手段は前記第２クロックに同期して動作し、
前記第２のクロックは前記第１のクロックよりも高速であり、
前記第１クロックに従って送られてきたデータは、前記第１のクロックごとに更新され、前記転送手段により転送されるデータは、前記第１クロックに従って送られてきたデータと同様の順序で更新されることを特徴とするデータ転送装置。
【請求項２】
第１クロックに従って送られてきたデータを前記第１クロックと非同期の第２クロックに従って転送するデータ転送方法において、
前記第１クロックのエッジを抽出するステップと、
前記エッジを抽出するステップによるエッジの抽出から一定時間遅れたタイミングで、前記第１クロックに従って送られたデータを取得する第１の取得ステップと、
前記第１の取得ステップよりも一定時間遅れたタイミングで、前記第１クロックに従って送られたデータを取得する第２の取得ステップと、
前記第１の取得ステップにより取得されたデータと、前記第２の取得ステップにより取得されたデータとを照合し、両者が一致した場合に当該データを転送するステップと、
を備え、
前記エッジを抽出するステップ、前記第１の取得ステップ、前記第２の取得ステップ、および前記データを転送するステップは前記第２クロックに同期して実行され、
前記第２のクロックは前記第１のクロックよりも高速であり、
前記第１クロックに従って送られてきたデータは、前記第１のクロックごとに更新され、前記転送手段により転送されるデータは、前記第１クロックに従って送られてきたデータと同様の順序で更新されることを特徴とするデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、第１クロックに従って送られてきたデータを前記第１クロックと非同期の第２クロックに従って転送するデータ転送装置およびデータ転送方法に関する。
【背景技術】
【０００２】
送信側のクロック（第１クロック）に従ってデータバスに送信されたデータ信号を、これと非同期の受信側のクロック（第２クロック）に従った動作で取り込む場合、メタ・ステーブルを回避するために受信側でデータ信号を取り込むタイミングを調整する必要がある。
【０００３】
このようなタイミングを調整する方法としては、データ信号の切り替わりに対応する第１クロックのエッジを第２クロックのエッジでラッチし、さらに第２クロックの１周期分遅れのタイミングでデータ信号をラッチする方法がある。
【０００４】
また、ＦＩＦＯ（First-In-First-Out）を用いて、第１クロックによりＦＩＦＯへの書込みを行い、第２クロックによりＦＩＦＯからのデータ読み出しを行う方法もある。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】RTL 設計スタイルガイド Verilog-HDL編  ISBN4-9901747-0-4
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、ラッチするタイミングを遅らせる方法では、データバス信号のデータ信号のタイミングはビットごとにまちまちであるため、第２クロックが第１クロックに対してかなり高速である場合には、すべてのビットでデータ値が安定するまでに時間がかかり、またデータ値が安定した時刻を知ることもできない。また、ＦＰＧＡ（Filed Programmable Array）の場合には、通常はグローバルクロックである第１クロックを、グローバルクロックである第２クロックでラッチできないという制約がある。
【０００７】
また、ＦＩＦＯを用いる方法では、ライトアドレスとリードアドレスが非同期であるため、複雑な非同期信号処理が必要になる。また場合によっては、非同期信号処理のために特定のＲＡＭ領域が必要となり、設計が困難となる。
【０００８】
本発明の目的は、複雑な非同期信号処理を必要とせずに安定したデータ転送を可能とするデータ転送装置およびデータ転送方法を提供することにある。
【課題を解決するための手段】
【０００９】
本発明のデータ転送装置は、第１クロックに従って送られてきたデータを前記第１クロックと非同期の第２クロックに従って転送するデータ転送装置において、前記第１クロックのエッジを抽出するエッジ抽出手段と、前記エッジ抽出手段によるエッジの抽出から一定時間遅れたタイミングで、前記第１クロックに従って送られたデータを取得する第１の取得手段と、前記第１の取得手段よりも一定時間遅れたタイミングで、前記第１クロックに従って送られたデータを取得する第２の取得手段と、前記第１の取得手段により取得されたデータと、前記第２の取得手段により取得されたデータとを照合し、両者が一致した場合に当該データを転送する転送手段と、を備え、前記エッジ抽出手段、前記第１の取得手段、前記第２の取得手段、および前記転送手段は前記第２クロックに同期して動作し、前記第２のクロックは前記第１のクロックよりも高速であり、前記第１クロックに従って送られてきたデータは、前記第１のクロックごとに更新され、前記転送手段により転送されるデータは、前記第１クロックに従って送られてきたデータと同様の順序で更新されることを特徴とする。
このデータ転送装置によれば、第１クロックに従って送られたデータを２回にわたり取得して両データを照合し、両者が一致した場合に当該データを転送するので、複雑な非同期信号処理を必要とせずに安定したデータ転送を行うことができる。
【００１０】
本発明のデータ転送方法は、第１クロックに従って送られてきたデータを前記第１クロックと非同期の第２クロックに従って転送するデータ転送方法において、前記第１クロックのエッジを抽出するステップと、前記エッジを抽出するステップによるエッジの抽出から一定時間遅れたタイミングで、前記第１クロックに従って送られたデータを取得する第１の取得ステップと、前記第１の取得ステップよりも一定時間遅れたタイミングで、前記第１クロックに従って送られたデータを取得する第２の取得ステップと、前記第１の取得ステップにより取得されたデータと、前記第２の取得ステップにより取得されたデータとを照合し、両者が一致した場合に当該データを転送するステップと、を備え、前記エッジを抽出するステップ、前記第１の取得ステップ、前記第２の取得ステップ、および前記データを転送するステップは前記第２クロックに同期して実行され、前記第２のクロックは前記第１のクロックよりも高速であり、前記第１クロックに従って送られてきたデータは、前記第１のクロックごとに更新され、前記転送手段により転送されるデータは、前記第１クロックに従って送られてきたデータと同様の順序で更新されることを特徴とする。
このデータ転送方法によれば、第１クロックに従って送られたデータを２回にわたり取得して両データを照合し、両者が一致した場合に当該データを転送するので、複雑な非同期信号処理を必要とせずに安定したデータ転送を行うことができる。
【発明の効果】
【００１１】
本発明のデータ転送装置によれば、第１クロックに従って送られたデータを２回にわたり取得して両データを照合し、両者が一致した場合に当該データを転送するので、複雑な非同期信号処理を必要とせずに安定したデータ転送を行うことができる。
【００１２】
本発明のデータ転送方法によれば、第１クロックに従って送られたデータを２回にわたり取得して両データを照合し、両者が一致した場合に当該データを転送するので、複雑な非同期信号処理を必要とせずに安定したデータ転送を行うことができる。
【図面の簡単な説明】
【００１３】
【図１】データ転送装置の構成を示すブロック図。
【図２】データ転送装置の動作を示すタイミングチャート。
【発明を実施するための形態】
【００１４】
以下、本発明によるデータ転送装置の一実施形態について説明する。
【００１５】
図１は本実施形態のデータ転送装置の構成を示すブロック図、図２は本実施形態のデータ転送装置の動作を示すタイミングチャートである。
【００１６】
図１に示すように、本実施形態のデータ転送装置は、分周部１、エッジ抽出部２、データ転送部３を備える。第１クロック１１および第２クロック２１は互いに非同期である。データ転送部３に入力されるデータバス信号１０は第１クロック１１に基づいて生成されエッジ抽出部２およびデータ転送部３は第２クロック２１に基づいて動作する。
【００１７】
分周部１は、第１クロック１１を２分周して、分周信号１２を生成する。
【００１８】
エッジ抽出部２は、分周信号１２を第２クロック２１でラッチすることにより、第１クロック１１のエッジ信号２２を抽出する。
【００１９】
データ転送部３はエッジ信号２２が有効なときに、データバス信号１０を第２クロック２１でラッチし、さらに、１クロック分遅れた第２クロック２１でデータバス信号１０をラッチする。そして、前者のデータと後者のデータが一致した場合にデータが安定したものと判定して、このデータをデータバス信号２０として出力する。
【００２０】
次に、図２を参照してデータ転送部３の動作について説明する。
【００２１】
図２において信号２２Ａは分周信号１２を第２クロック２１でラッチした信号、信号２２Ｂは信号２２Ａを第２クロック２１で１クロック分遅延させた信号である。エッジ抽出部２は、信号２２Ａと信号２２Ｂの排他的論理和をとることによりエッジ信号２２を生成している。この信号２２は実際の第１クロック１１のエッジより若干遅れているため、データ転送部３においてこの信号２２のタイミングでデータバス信号１０を第２クロック２１でラッチすれば、理想的には第１クロック１１のエッジ位置を回避したデータバス信号２０が得られ、データバスにおけるメタ・ステーブルの心配はないはずである。
【００２２】
しかし、実際には、データバス信号１０は第１クロック１１よりも遅延しており、その遅延時間はバスのビット毎に異なるため、データが安定していない可能性がある。また、第１クロック１１と第２クロック２１のタイミングが一定でないため、データバス信号１０をラッチする実質的なタイミングも変動し、データの安定性も変動する。
【００２３】
そこで、データ転送部３では、信号２２のタイミング（例えば、図２の時刻Ｔ１）でデータバス信号１０を第２クロック２１でラッチして得た信号２０Ａと、データバス信号１０をさらに１クロック分遅れた次の第２クロック２１のタイミング（例えば、図２の時刻Ｔ２）でラッチして得た信号２０Ｂのデータを比較し、両者が一致していることを確認してから、信号２０Ｂをデータバス信号２０として出力している（例えば、図２の時刻Ｔ３であり、時刻Ｔ２よりも１クロック分遅れた第２クロック２１のタイミング）。エッジ信号２２は前者のタイミングでのラッチを許容するイネーブル信号に相当し、図２の信号２２´は、後者のタイミングでのラッチを許容するイネーブル信号に相当する。
【００２４】
このように、本実施形態のデータ転送装置では、第２クロック２１で２回にわたりラッチして得たデータバス信号１０のデータを照合し、両者が一致した場合にそのデータをデータバス信号２０として出力している。このため、メタ・ステーブルの影響がなくなり安定した後のデータを出力できるとともに、データが安定する時刻を把握することができる。また、本実施形態のデータ転送装置ではＦＩＦＯを用いないため、複雑な非同期信号処理が不要であり、特定のＲＡＭ領域を使用することに起因する実装上の問題も生じない。さらに、ＦＰＧＡを用いて装置を構成することができる。
【００２５】
なお、データバス信号１０を３回以上にわたり取得し、データの変化がなくなるのを待って、データバス信号２０を出力するようにしてもよい。
【００２６】
本発明の適用範囲は上記実施形態に限定されることはない。本発明は、第１クロックに従って送られてきたデータを前記第１クロックと非同期の第２クロックに従って転送するデータ転送装置およびデータ転送方法に対し、広く適用することができる。
【符号の説明】
【００２７】
２      エッジ抽出部（エッジ抽出手段）
３      データ転送部（第１の取得手段、第２の取得手段、転送手段）
１１    第１クロック
２１    第２クロック
【図１】
0005483172.tif 000002
【図２】
0005483172.tif 000003