JP2014045423A - データ転送装置、データ転送方法およびプログラム - Google Patents

データ転送装置、データ転送方法およびプログラム Download PDF

Info

Publication number
JP2014045423A
JP2014045423A JP2012187584A JP2012187584A JP2014045423A JP 2014045423 A JP2014045423 A JP 2014045423A JP 2012187584 A JP2012187584 A JP 2012187584A JP 2012187584 A JP2012187584 A JP 2012187584A JP 2014045423 A JP2014045423 A JP 2014045423A
Authority
JP
Japan
Prior art keywords
transmission
data
value
reception
information
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.)
Pending
Application number
JP2012187584A
Other languages
English (en)
Inventor
Ryosuke Minami
良輔 南
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 Engineering Ltd
Original Assignee
NEC Engineering Ltd
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 Engineering Ltd filed Critical NEC Engineering Ltd
Priority to JP2012187584A priority Critical patent/JP2014045423A/ja
Publication of JP2014045423A publication Critical patent/JP2014045423A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】送信側クロックと受信側クロックが異なる多ビットデータ転送において、
ビットスキューを考慮することなく、動的にクロック周波数が変化する場合にも対応可能な、低コストで多ビットのデータを転送するデータ転送装置を提供すること。
【解決手段】データ転送装置は、送信状態情報と受信状態情報の値が同じ場合に送信側クロックに同期して送信データを入力して保持する送信データ保持手段と、送信状態変化情報の値を元に保持された送信データを受信側クロックに同期して取得する受信データ保持手段と、送信データ保持手段が送信データを入力した時点で送信状態情報の値を変更して保持する送信状態情報保持手段と、受信データ保持手段が送信データを取得した時点で受信状態情報と送信状態変化情報の値を変更して保持し送信状態情報と受信状態情報の値が異なる場合に受信側クロックに同期して送信状態変化情報の値を変更して保持する受信状態情報保持手段を有することを特徴とする。
【選択図】 図1

Description

本発明は、送信側から受信側にデータを転送するデータ転送装置、データ転送方法及びプログラムに関し、特に、送信側クロックと受信側クロックが非同期の転送システムにおいて、多ビットのデジタルデータを転送する転送装置、転送方法及びプログラムに関する。
送信側から受信側にデジタルデータを転送するシステムにおいて、送信側で用いられるクロックと受信側で用いられるクロックが非同期の場合、転送するデータのクロック乗り換え処理が必要である。
送信側システムには送信用の動作クロックに従って同期動作を行う送信用フリップフロップが設けられ、受信側システムには受信用の動作クロックに従って同期動作を行う受信用フリップフロップが設けられる。
フリップフロップの動作にはセットアップ時間及びホールド時間があり、クロックの立ち上がり前後の所定の期間は入力信号を一定の値に維持する必要がある。
しかしながら、非同期クロックのデータ転送システムではこの期間内で入力信号の値が変化することがあり、この変化によりフリップフロップの出力信号が発振して不安定になることがある。この状態はメタステーブル状態と呼ばれる。メタステーブル状態が発生すると、これ以降の論理回路へのデジタルデータの転送が正常に行われないおそれがある。
メタステーブル状態の発生を抑制するために、受信側システムにレジスタを2段重ねた構成が提案されている(例えば、特許文献1参照)。最初のレジスタでメタステーブル状態が発生しても、2段目のレジスタでメタステーブル状態が除去された信号が内部のロジックに供給される。
また、複数のビットデータを並列に伝送する並列伝送路では、各伝送路のデータ遅延量が相違する。この相違はスキューと呼ばれる。スキューにより受信側ではデータ取り込みのタイミングが信号の変化点を越えることがあり、これにより誤ったデータビットを受信するおそれがある。
このスキューの影響を排除するために、最大遅延量と最小遅延量を有するような2本の制御用伝送路を設け、制御用伝送路のそれぞれに同相かつ同周波数で変化する信号を送り、取り込んだ伝送路信号が不一致になる期間を検出し、不一致期間でない期間にデータ処理を行う構成が提案されている(例えば、特許文献2参照)。
クロック周波数が変化しない状況下においてのみ、クロック周波数の違いを考慮し、データ間スキューを考慮してデータ転送を実施可能な仕組みが存在する(例えば、特許文献3参照)。
特許第4290412号公報 特許第4408022号公報 特開2004−110705号公報
送信側装置のクロックと受信側装置のクロックが非同期であるデータ転送システムにおいては、受信側装置でのメタステーブル状態の発生を抑制しつつスキューの影響を回避するように多ビットのデータを転送する必要がある。
図7は、関連技術における非同期クロック間データ転送装置の構成を示す。
メタステーブル状態の発生を抑制するために単ビットでデータを転送する場合は、特許文献1の開示するデータ転送装置のように、受信側装置が2段に重ねたレジスタの構成を備える。一方、多ビットでデータを転送する場合は、図7に示されるように、デュアルポートメモリを使用したFIFO(First−In First−Out)101を送信側クロック領域111と受信側クロック領域112にまたがるように配置する。このデュアルポートメモリ型FIFO101には送信側から送信データ113が書き込まれ、所定のタイミングで送信側クロック領域111から受信側クロック領域112に渡されたデータが受信データ114として読み出されて受信側に出力される。
解決しようとする第1の課題は、多ビットのデータ転送ではデータ間スキューの影響を受けるため、必ずしも正しいデータを受信できないことである。
送信側のデータ変化と受信側クロックの立ち上がりが同時に発生した場合、受信側はデータ変化前のデータ、データ変化後のデータもしくは、メタステーブル状態の3つの状態のいずれかの状態をとる。多ビットのデータの場合は、各ビットのスキューの違いによりビット毎に異なった前述の3状態のいずれかの状態となるため、正しいデータを受信できない。すなわち、特許文献1の開示するデータ転送装置はスキューの違いによる誤送信を検出できない。
また、多ビットでデータ転送をする場合に、図7に示されるデュアルポートメモリを使用するFIFOを配置した場合、非同期クロック間データ転送装置は図7で示されるデュアルポートメモリの大きさのメモリが必要になる。特許文献2に開示される、最小遅延量と最大遅延量とをもつ制御用伝送路から取り込んだ伝送路信号が不一致となる期間を検出する非同期データ転送装置は、図7に示されるデュアルポートメモリの大きさの回路を必要とする。通常、デュアルポートメモリは大型の電子部品である。このため、解決しようとする第2の課題として、メタステーブル状態への対策を講じると、受信側の回路面積が増加するという問題がある。この回路面積の増大は転送装置の小型化の障害であり、また装置の製造コストを引き上げる要因の一つである。
解決しようとする第3の課題は、クロック周波数の動的な変化に対応可能とすることである。
クロック周波数は、消費電力に多大な影響を与えるため、クロック周波数が動的に変化することは当然発生しうる。
特許文献3の開示するデータ転送装置は、転送データをラッチする複数の転送ユニットを有しており、各転送ユニットを巡回的に切替えながら送信許可信号と受信許可信号を外部に出力すると共にデータをラッチする。該データ転送装置は送信側で送信許可信号と同期させてデータを送信し、受信側で受信許可信号と同期させてデータを受信する。特許文献3が開示するデータ転送装置は、スキューによる誤動作を複数の転送ユニットに配分して回避するが、転送装置の規模が大きく製造コストが莫大になるという問題がある。
本発明は上述した点に鑑みてなされたもので、送信側クロックと受信側クロックが異なる多ビットデータ転送において、クロック周波数の動的変化に対応可能であり、正確にデータ転送を実現しつつ、小さな回路面積を有し、コストを抑制したデータ転送装置を提供することを目的とする。
上記の目的を達成するため、本発明のデータ転送装置は、第1のクロックに同期して送信データを送信する送信手段から第2のクロックに同期して受信データを受信する受信手段に送信データを転送するデータ転送装置であって、送信状態情報の値と受信状態情報の値が同じ場合に送信手段から第1のクロックに同期して送信データを入力して保持する送信データ保持手段と、送信状態変化情報の値を元にして送信データ保持手段に保持された送信データを第2のクロックに同期して転送データとして取得して保持し転送データを受信データとして出力する受信データ保持手段と、送信データ保持手段が送信手段から送信データを入力した時点で送信状態情報の値を変更して保持する送信状態情報保持手段と、受信データ保持手段が送信データ保持手段に保持された送信データを転送データとして取得した時点で受信状態情報の値と送信状態変化情報の値を変更して保持し送信状態情報の値と受信状態情報の値が異なる場合に第2のクロックに同期して送信状態変化情報の値を変更して保持する受信状態情報保持手段とを有することを特徴とする。
また、本発明のデータ転送方法は、第1のクロックに同期して送信される送信データを第2のクロックに同期して受信される受信データとして転送するデータ転送方法であって、送信状態情報の値と受信状態情報の値が同じ場合に第1のクロックに同期して送信データを入力して保持し送信状態情報の値を変更する送信データ保持ステップと、送信状態情報の値と受信状態情報の値が異なる場合に第2のクロックに同期して送信状態変化情報の値を変更するステップと、送信状態変化情報の値を元にして保持された送信データを第2のクロックに同期して転送データとして取得して保持し受信状態情報の値と送信状態変化情報の値を変更する受信データ保持ステップと、保持された転送データを受信データとして出力する受信データ出力ステップとを有することを特徴とする。
さらに、本発明のデータ転送プログラムは、第1のクロックに同期して送信される送信データを第2のクロックに同期して受信される受信データとして転送するデータ転送プログラムであって、送信状態情報の値と受信状態情報の値が同じ場合に第1のクロックに同期して送信データを入力して保持し送信状態情報の値を変更する送信データ保持処理と、送信状態情報の値と受信状態情報の値が異なる場合に第2のクロックに同期して送信状態変化情報の値を変更する処理と、送信状態変化情報の値を元にして保持された送信データを第2のクロックに同期して転送データとして取得して保持し受信状態情報の値と送信状態変化情報の値を変更する受信データ保持処理と、保持された転送データを受信データとして出力する受信データ出力処理とをコンピュータに行わせることを特徴とする。
本発明によれば、受信状態情報保持部の内部でメタステーブル状態が発生するような条件下であっても、メタステーブル状態の影響が抑えられ、送信状態情報保持部の変化が検知可能である。また、メタステーブル状態が発生した場合でも、安定した多ビットデータ送信が可能である。さらに、第1のクロック及び第2のクロックが動的に変化する場合にも対応可能である。
本発明の第1の実施形態に係るデータ転送装置の構成の一例を示すブロック図である。 本発明の第1の実施形態に係るデータ転送装置における動作の一例を説明するタイムチャートである。 本発明の第1の実施形態に係るデータ転送装置における動作の別の例を説明するタイムチャートである。 本発明の第1の実施形態に係るデータ転送装置における動作の一例を説明する表である。 本発明の第2の実施形態に係るデータ転送装置の構成の一例を示すブロック図である。 本発明の第2の実施形態に係るデータ転送装置における動作の一例を説明するタイムチャートである。 関連技術における多ビットデータ転送システムの構成を示すブロック図である。 本発明の第1の実施形態に係るデータ転送装置の動作を説明するためのクロック周波数が動的に変化する場合のタイムチャートである。
発明を実施するための最良の形態について図面を参照して詳細に説明する。ただし、本発明は以下に示す実施形態に限定されない。
[第1の実施形態]
[構成]
図1は、本発明の第1の実施形態に係るデータ転送装置201の構成の一例を示すブロック図である。
図1において、データ転送装置201の中央に引かれた中心線について左側は、送信側クロックに従って動作する送信側クロック領域211である。また、中央線について右側は、受信側クロックに従って動作する受信側クロック領域212である。
送信側クロック領域211はデータ送信部202からデータ転送装置201に入力される送信データ(213)を送信データ保持部215において保持し、受信側クロック領域へ該データを転送する(219)。また、入力された送信データの状態を示す送信状態情報を制御し、送信状態情報保持部216を介して受信側クロック領域212に渡す(220)。
送信データ保持部215は、送信状態情報保持部216から送信データの状態についての送信状態情報を参照する(222)。送信データ保持部215はさらに、受信状態情報保持部218から受信データの状態についての受信状態情報を参照し(224)、該送信状態情報と該受信状態情報とを比較する。送信状態と受信状態が同じ状態であると判定されるとデータの転送が完了し、送信側に新たな送信データが入力可能であると判断される。このとき送信側クロック領域211は、データ送信部202から送信データを取り込む(213)。さらに、送信データ保持部215は、送信データを取り込む(213)時期を示す時期情報を送信状態情報保持部216に通知する(221)。
送信状態情報保持部216は、送信データ保持部215から通知された時期情報(221)に従って、送信データの送信状態情報を0から1もしくは1から0に変更する。変更した送信状態情報は送信データ保持部215に通知され(222)、さらに受信状態情報保持部218に通知される(220)。
受信側クロック領域212は、送信データ保持部215から転送されたデータを受信データ保持部217に取り込む(219)。処理時期の調整により、このデータ受信はデータ間スキューやメタステーブル状態の影響を受けない。取り込まれた受信信号は、受信側クロックに同期した信号としてデータ受信部203に出力される(214)。
受信状態情報保持部218には送信状態情報保持部216から送信状態情報が通知される(220)。受信状態情報保持部218は該送信状態情報の変化を検出し、検出された送信状態変化情報を受信データ保持部217に通知する(223)。さらに受信状態情報保持部218は、受信状態情報保持部218に保持される受信データの受信状態情報を送信データ保持部215に通知する(224)。
受信データ保持部217は、送信状態情報保持部216からの送信状態情報の変化について、検出された送信状態変化情報を受信状態情報保持部218から通知され(223)、該送信状態変化情報の値を元にした時期に、送信データ保持部215から送信データを取り込む(219)。受信データ保持部217は、さらに、受信したデータを受信側クロックに同期した信号として、データ受信部203に出力する(214)。
[動作]
次に、本発明の第1の実施形態に係るデータ転送装置の動作の一例をタイムチャートとして図2及び3に示す。
さらに、送信側クロック周波数及び、受信側クロック周波数が変化した場合の動作例を図8に示す。
図2及び3において、送信データ入力と付されたデータは図1においてデータ送信部202から送信データ保持部215へ入力される送信データ入力213に該当する。送信状態情報は図1において送信状態情報保持部216から参照される状態情報であり、222及び220に示される参照動作により参照される情報に該当する。送信データ保持部と付されたデータは、図1において送信データ保持部215から受信データ保持部217へ移動する(送信データ転送219)前に送信データ保持部215に保持されるデータに該当する。受信状態情報は図1において受信状態情報保持部218から参照される状態情報であり、224に示される参照動作により参照される情報に該当する。受信データ保持部と付されたデータは、図1において受信データ保持部217からデータ受信部203へ出力される(受信データ出力214)前に受信データ保持部217に保持されるデータに該当する。送信状態変化情報は図1において受信状態情報保持部218から参照される状態情報であり、223に示される参照動作により参照される情報に該当する。
次に、図2を参照して、図1に示されるデータ転送装置201の動作の一例を説明する。
図2は送信クロックが受信クロックよりも速い場合のタイミングチャートの例を示し、図3は送信クロックが受信クロックよりも遅い場合のタイミングチャートの例を示す。
図2及び3において、送信側と受信側はそれぞれのクロックの立ち上がりをトリガとして、状態情報の値の比較及び該比較の結果を元にした状態情報の値及び保持値の変更或いは維持を行う。
状態情報の値及び保持値のそれぞれにおいては、値の変更時の立ち上がり或いは立下りがセットアップ時間及びホールド時間を考慮した形状で表される。
図2において、タイミングTIM1で、受信側の動作として受信状態情報が0に変わる。このとき、送信状態情報の値及び送信状態変化情報の値は0であるとする。
タイミングTIM2において、送信側の動作として送信状態情報と受信状態情報の値が比較される。このとき、これらの状態情報の値は同じ値である。このため受信データ保持部217が転送された送信データを保持したと判断され、送信データ入力のDATA1が送信データとして送信データ保持部215に保持される。このとき、送信状態情報は0から1に変更される。
タイミングTIM3において、送信側の動作として送信データ入力の値を変更する。
タイミングTIM4において、受信側の動作として送信状態情報と受信状態情報の値が比較される。このとき、これらの状態情報の値は互いに異なる値をとる。このため、送信データ保持部215に新たな送信データが保持されたと判断される。このとき、送信状態変化情報は0から1に変更される。
タイミングTIM5において、受信側の動作として送信状態変化情報が参照される。送信状態変化情報の値は1である。このとき送信データ保持部215に保持される送信データのDATA1が、受信データ保持部217に受信データとして保持される。さらに送信状態変化情報の値が1から0に、受信状態情報の値が0から1に変更される。
上記のように、送信データ保持部215に保持される送信データがデータ送信部202から入力され受信クロックで1サイクル以上の時間が経過してから、送信データ保持部215に保持された送信データDATA1が受信データ保持部217に保持される。このため、データ間スキュー及びメタステーブル状態の影響が排除され正確なデータが保持される。
タイミングTIM6において、送信側の動作として送信状態情報の値と受信状態情報の値が同じ値(1)であるので受信データ保持部217が送信データDATA1を保持したと判断され、送信データ入力のDATA2が送信データとして送信データ保持部215に保持される。このとき、送信状態情報の値は1から0に変更される。
タイミングTIM7において、送信側の動作として送信データ入力の値を変更する。
タイミングTIM8において、受信側の動作として送信状態情報の値(0)と受信状態情報の値(1)とが異なるので送信データ保持部215に新たな送信データが保持されたと判断され、送信状態変化情報の値が0から1に変更される。
タイミングTIM9において、受信側の動作として送信状態変化情報の値が1であるので送信データ保持部215に保持される送信データのDATA2が受信データ保持部217に受信データとして保持される。さらに送信状態変化情報の値が1から0に、受信状態情報の値が1から0に変更される。
さらにタイミングTIM10において、送信側の動作として送信状態情報の値と受信状態情報の値とが同じである。この動作は上記のタイミングTIM2と同じである。
以下、この動作を繰り返す。
図3は、受信側クロックが送信側クロックよりも速い場合のタイミングチャートを示す。
図3においても送信状態情報の値を変更した時点から送信データ保持部215に保持された送信データが受信データ保持部217に受信データに保持されるまでは、送信状態変化情報の値が0から1に変更されて再び0に戻るまで、すなわち受信クロックの1サイクル以上の時間が経過する。このためデータ間スキュー及びメタステーブル状態の影響が排除され、データ転送の誤りを抑制することができる。
図4は、送信データの移動と状態情報の値を併記する。
送信側クロックの立ち上がりのタイミングで、送信状態情報の値と受信状態情報の値が比較される。両者の値が同じである(この場合は0)とき、データ送信部202から、送信データDATA1が送信データ保持部215に移動する。データの移動に伴い、送信状態情報の値を0から1に変更する。
次に、受信側クロックの立ち上がりのタイミングで送信状態情報の値(1)と受信状態情報の値(0)が比較され、両者の値が互いに異なる(この場合は1と0)場合は送信状態変化情報の値を0から1に変更する。
受信側クロックの立ち上がりのタイミングで送信状態変化情報の値が参照され、この値が1のときは送信データ保持部215に保持された送信データDATA1が受信データ保持部217に移動する。データの移動に伴い受信状態情報の値を0から1に変更し、送信状態変化情報の値を1から0に戻す。
次に、送信側クロックの立ち上がりのタイミングで送信状態情報の値と受信状態情報の値が比較される。両者の値が同じである(この場合は1)とき、データ送信部202から送信データDATA2が送信データ保持部215に移動する。データの移動に伴い送信状態情報の値を1から0に変更する。
受信側クロックの立ち上がりのタイミングで送信状態情報の値(0)と受信状態情報の値(1)が比較され、これらの値が互いに異なる(この場合は0と1)場合は送信状態変化情報の値を0から1に変更する。
受信側クロックの立ち上がりのタイミングで送信状態変化情報の値が参照され、この値が1のときは送信データ保持部215に保持された送信データDATA2が受信データ保持部217に移動する。データの移動に伴い受信状態情報の値を1から0に変更し、送信状態変化情報の値を1から0に戻す。
以下、この処理を繰り返す。
本実施形態によれば、送信データ保持部215は送信状態情報の値と受信状態情報の値を参照し、転送された送信データが受信データ保持部217に保持されたと判断したときに、データ送信部202から次の送信データを取り込む。
送信データ入力を取り込むタイミングは、送信側クロックが動的に変化した場合でも、送信側クロックに同期して、送信状態情報と受信状態情報の双方の値を確認する構成であるため、送信側のクロック周波数変化の影響を受けず、送信側クロック周波数の動的な変化に対応可能となる。
受信状態情報保持部218は送信状態情報の変化を検知して、送信状態変化情報の値を反転する。
受信データ保持部217は送信状態変化情報の値を参照して、送信データ保持部215に新たな情報が保持されていると判断したときに送信データ保持部215からデータを取り込む(送信データ転送)。取り込んで保持された送信データは、受信クロックの動作に同期して適宜データ受信部203に受信データとして出力される。
受信状態情報保持部218は、例えばレジスタを2段重ねた構造を有してもよい。この構造により送信状態情報の値の変化を検知する。レジスタの2段目の出力は、受信状態情報の値として送信データ保持部215へフィードバックされる。
受信状態情報保持部218で生成される送信状態変化情報の値は、受信側クロックに同期して変化する。送信状態情報の値の変化を検知してから受信データ保持部217が送信データを取り込むまでには、受信側クロックの少なくとも1サイクル分の時間が経過する。
上記の動作により、受信側クロックの立ち上がり(例えば、TIM4)が送信状態情報の値の変更のタイミング(TIM2)に近接する場合、受信状態情報保持部218では検出信号にメタステーブル状態が発生することがあるが、発生したとしても受信データ保持部217が送信状態変化情報を参照するのはこの時点よりも受信側クロックの1サイクル以降である。このためメタステーブル状態は収束し、送信状態情報の値の変更を検出する動作においてメタステーブル状態の影響は排除される。
メタステーブル状態が送信状態情報が変化する方向に収束する場合は、この受信側クロックの1サイクルの期間中のクロックの立ち上がり時に変化が検出されるのでメタステーブル状態の影響は抑制される。また、メタステーブル状態が送信状態情報が変化しない方向に収束する場合でも、このサイクルの1サイクル後のクロックの立ち上がり時に変化が検出されるのでメタステーブル状態の影響が排除される。このようにして、メタステーブル状態が発生した場合でも多ビットデータが安定して転送される。
また、送信データ保持部215から送信データが出力されるタイミングで送信状態情報の値が反転する。これにより、受信データ保持部217はデータ間スキューの影響を受けずに多ビットのデータを受信する。
受信側クロック周波数が動的に変化した場合でも、受信側クロックにて1サイクルの期間が補償される、検知信号生成の構成には変化がないため、受信側クロック周波数の動的な変化に対応可能となる。
[第2の実施形態]
次に、本発明の第2の実施形態に係るデータ転送装置について、図5及び6を参照して説明する。
本実施形態に係るデータ転送装置について、第1の実施形態に係るデータ転送装置と重複する構成要件には同じ参照番号を付して説明を省略する。
図5は、本実施形態に係るデータ転送装置501の構成の一例を示すブロック図である。
本実施形態に係るデータ転送装置501は、データ送信部202から送信データ有効511が入力されデータ送信部202に送信データ応答512を出力する送信データ保持部515を含む。
データ送信部202が送信データ保持部515に送信データ有効信号(511)を入力することにより、送信データの変更が入力されるまで送信データ保持部515に保持されている送信データの保持が維持される。
また、送信データ応答信号(512)が送信データ保持部515からデータ送信部202に返すことにより、送信データが送信データ保持部515に保持されていることをデータ送信部202に通知する。
上記の、送信データ有効信号511及び送信データ応答信号512を用いた動作は、送信データの変化が断続的である場合、特に受信側クロックにゲーテッドクロックを用いて受信間隔が一定でない場合などにデータ転送装置の不要な動作を抑制する。
本発明の第2の実施形態に係るデータ転送装置の動作の一例をタイムチャートとして図6に示す。
図6において、送信データ入力と付されたデータは図5における送信データ入力213に該当する。送信状態情報は図5において送信状態情報保持部216から参照される状態情報であり、222及び220に示される参照動作により参照される情報に該当する。送信データ保持部と付されたデータは、図5において送信データ保持部515から受信データ保持部217へ移動する前に送信データ保持部515に保持されるデータに該当する。受信状態情報は、図5において受信状態情報保持部218から参照される状態情報であり、224に示される参照動作により参照される情報に該当する。送信データ有効は図5の511に該当し、送信データ応答は図5の512に該当する。
なお図6における送信側クロックと受信側クロックは、第1の実施形態の図2における送信側クロックと受信側クロックと同じであるとする。すなわち図6において受信側の動作であるTIM1とTIM4のタイミングのそれぞれは、図2におけるTIM1とTIM5に対応する。
図6において、タイミングTIM1で、受信側の動作として受信状態情報が0に変わる。このとき、送信状態情報の値及び送信状態変化情報の値は0であるとする。
タイミングTIM2で、送信側の動作として送信状態情報と受信状態情報の値が比較される。このとき、両者の状態は同じ値0を有するので受信データ保持部217が転送された送信データを保持したと判断され、送信データ入力のDATA1が送信データとして送信データ保持部515に保持される。このとき送信状態情報は0から1に変更される。さらに、送信データ有効の値が1であるため送信データ入力のデータが更新済みであると判断され、送信データ応答を1に変更してデータ送信部202に返す。
タイミングTIM3においては、送信側の動作として、図2では次の送信データ入力の値がデータ送信部202に入りデータ転送装置501への入力を待つ状態になるが、本実施形態においては送信データ有効が参照され、この値が1であるためデータの変化はないと送信データ保持部515に通知されている。すなわち、データ送信部202ではDATA1が維持されており、送信データ保持部でもDATA1の保持が維持される。このとき、送信データ有効は0に変更される。
タイミングTIM4で、受信側の動作として送信データ保持部515に保持された送信データが受信データ保持部217に転送され、受信状態情報が0から1に変更される。
タイミングTIM5で、送信側の動作としてデータ送信部202の保持する送信データが更新される、なおこのとき、送信データの保持が維持されるため、送信データ有効が0から1に変更される。
タイミングTIM6では、送信側の動作として送信状態情報と受信状態情報の値が比較される。このとき、両者の状態は同じ値1を有するので送信データ入力のDATA2が送信データとして送信データ保持部515に保持される。このとき、送信状態情報は1から0に変更される。
タイミングTIM7において、送信側の動作として送信データ有効が参照されてこの値が1であるためデータの変化はないと送信データ保持部515に通知されており、送信データ保持部515でDATA2の保持が維持される。このとき、送信データ有効は0に変更される。
以下、この動作を繰り返す。
本実施形態に係るデータ転送装置によれば、転送される送信データが継続的に順次変化せずデータの変化が間欠的に発生する場合において、データ変化の発生時に送信データを転送するようデータ送信側で転送処理が制御される。
送信データが変化しない場合に、同一データを繰り返し転送するという不要な動作が抑制される。これにより、送信用及び受信用のフリップフロップの不要な同期動作の発生が抑圧される。従って、転送データの転送中の誤りの発生が抑制され転送装置の動作に必要な電力が削減され、運用コストを抑えた転送処理を行うデータ転送装置が提供される。
本発明に係るデータ転送装置は、送信側クロックと受信側クロックが異なるような送信側から受信側に多ビットのデジタルデータを転送するデータ転送システムにおいて、送信側及び受信側のそれぞれのフリップフロップの過渡特性に起因するメタステーブル状態の影響を抑圧し多ビットのデータ間スキューの影響を排除して信頼性の高いデータ転送を行うデータ転送装置であって、これらの処理が少ない構成要素で実行される。
第1の効果は、これにより、小さな面積の実装回路によりデータの転送処理が実行され、転送システムの製造コストが抑えられることである。
関連技術におけるデュアルポートメモリを使用したFIFOでは、デュアルポートメモリの回路面積が大きく製造コストの増大が不可避であった。
これに対して本発明に係るデータ転送装置は、データ送受信に使用されるデータビット幅が2倍であるレジスタと、送受信の状態情報に使用される3つのレジスタと、2つの排他論理和回路を含む。これにより、関連技術におけるFIFOよりもはるかに低コストで安定したデータ転送を行う転送装置が提供される。
第2の効果は、本発明に係るデータ転送装置は、送信側クロックと受信側クロックの速度差によらず、いずれが他方よりもクロック速度が大きい場合であっても、調整処理を追加することなくデータ転送システムに対応することである。
本発明では、送信側の状態と受信側の状態を1ビットの信号により送信側と受信側で互いに通知しているため、メタステーブル状態及びデータ間スキューの発生を回避してそれらによる影響を受けない。
第3の効果は、送信側クロック周波数と受信側クロック周波数のいずれが動的に変化しても対応できることである。
その理由は、送信側は送信データ入力を取り込むタイミングが送信側クロックに同期して、送信状態情報と受信状態情報の双方の値を確認する構成であり、受信側は受信側クロックにて1サイクル期間を補償する構成であるためである。
本発明は、送信側クロックと受信側クロックが異なる装置の多ビットデータ転送処理に好適に適用される。送信側クロックおよび受信側クロックがどのような周波数であっても、且つ動的に周波数変化が発生しても、本発明に係るデータ転送装置は対応可能であるため、クロックの動作にあわせた装置ごとの調整は不要である。
101 デュアルポートメモリ型FIFO
111 送信側クロック領域
112 受信側クロック領域
113 送信データ
114 受信データ
201、501 データ転送装置
202 データ送信部
203 データ受信部
211 送信側クロック領域
212 受信側クロック領域
215、515 送信データ保持部
216 送信状態情報保持部
217 受信データ保持部
218 受信状態情報保持部

Claims (7)

  1. 第1のクロックに同期して送信データを送信する送信手段から、第2のクロックに同期して受信データを受信する受信手段に、前記送信データを転送する、データ転送装置であって、
    送信状態情報の値と受信状態情報の値が同じ場合に、前記送信手段から、前記第1のクロックに同期して前記送信データを入力して保持する、送信データ保持手段と、
    送信状態変化情報の値を元にして、前記送信データ保持手段に保持された前記送信データを、前記第2のクロックに同期して転送データとして取得して保持し、前記転送データを前記受信データとして出力する、受信データ保持手段と、
    前記送信データ保持手段が前記送信手段から前記送信データを入力した時点で、前記送信状態情報の値を変更して保持する、送信状態情報保持手段と、
    前記受信データ保持手段が前記送信データ保持手段に保持された前記送信データを前記転送データとして取得した時点で、前記受信状態情報の値と前記送信状態変化情報の値を変更して保持し、前記送信状態情報の値と前記受信状態情報の値が異なる場合に、前記第2のクロックに同期して、前記送信状態変化情報の値を変更して保持する、受信状態情報保持手段と
    を有することを特徴とする、データ転送装置。
  2. 前記送信データ、前記送信状態情報、前記受信状態情報、及び、前記送信状態変化情報は2つの値をとるデジタルデータであることを特徴とする、請求項1に記載のデータ転送装置。
  3. 前記送信データ保持手段は、前記送信手段から、送信データ有効情報をさらに入力し、前記送信状態情報の値と前記受信状態情報の値が同じ場合に、前記送信データ有効情報の値を元にして、前記入力した送信データの保持を維持する
    ことを特徴とする、請求項1または2に記載のデータ転送装置。
  4. 第1のクロックに同期して送信される送信データを、第2のクロックに同期して受信される受信データとして転送する、データ転送方法であって、
    送信状態情報の値と受信状態情報の値が同じ場合に、前記第1のクロックに同期して前記送信データを入力して保持し、前記送信状態情報の値を変更する、送信データ保持ステップと、
    前記送信状態情報の値と前記受信状態情報の値が異なる場合に、前記第2のクロックに同期して、送信状態変化情報の値を変更するステップと、
    前記送信状態変化情報の値を元にして、前記保持された送信データを、前記第2のクロックに同期して転送データとして取得して保持し、前記受信状態情報の値と前記送信状態変化情報の値を変更する、受信データ保持ステップと、
    前記保持された転送データを前記受信データとして出力する、受信データ出力ステップと
    を有することを特徴とする、データ転送方法。
  5. 前記送信データ、前記送信状態情報、前記受信状態情報、及び、前記送信状態変化情報は2つの値をとるデジタルデータであることを特徴とする、請求項4に記載のデータ転送方法。
  6. 送信データ有効情報をさらに入力し、前記送信状態情報の値と前記受信状態情報の値が同じ場合に、前記送信データ有効情報の値を元にして、前記入力した送信データの保持を維持するステップ
    をさらに有することを特徴とする、請求項4または5に記載のデータ転送方法。
  7. 第1のクロックに同期して送信される送信データを、第2のクロックに同期して受信される受信データとして転送する、データ転送プログラムであって、
    送信状態情報の値と受信状態情報の値が同じ場合に、前記第1のクロックに同期して前記送信データを入力して保持し、前記送信状態情報の値を変更する、送信データ保持処理と、
    前記送信状態情報の値と前記受信状態情報の値が異なる場合に、前記第2のクロックに同期して、送信状態変化情報の値を変更する処理と、
    前記送信状態変化情報の値を元にして、前記保持された送信データを、前記第2のクロックに同期して転送データとして取得して保持し、前記受信状態情報の値と前記送信状態変化情報の値を変更する、受信データ保持処理と、
    前記保持された転送データを前記受信データとして出力する、受信データ出力処理と
    をコンピュータに行わせることを特徴とする、データ転送プログラム。
JP2012187584A 2012-08-28 2012-08-28 データ転送装置、データ転送方法およびプログラム Pending JP2014045423A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012187584A JP2014045423A (ja) 2012-08-28 2012-08-28 データ転送装置、データ転送方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012187584A JP2014045423A (ja) 2012-08-28 2012-08-28 データ転送装置、データ転送方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2014045423A true JP2014045423A (ja) 2014-03-13

Family

ID=50396384

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012187584A Pending JP2014045423A (ja) 2012-08-28 2012-08-28 データ転送装置、データ転送方法およびプログラム

Country Status (1)

Country Link
JP (1) JP2014045423A (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10117185A (ja) * 1996-03-29 1998-05-06 Fore Syst Inc データを転送するためのシンクロナイザ、方法及びシステム
JP2001306491A (ja) * 2000-04-26 2001-11-02 Nec Corp 非同期系間データ転送回路及び非同期系間データ転送方法
JP2002269036A (ja) * 2001-03-12 2002-09-20 Sharp Corp 非同期転送装置および非同期転送方法
JP2004295819A (ja) * 2003-03-28 2004-10-21 Sony Corp データバッファ装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10117185A (ja) * 1996-03-29 1998-05-06 Fore Syst Inc データを転送するためのシンクロナイザ、方法及びシステム
JP2001306491A (ja) * 2000-04-26 2001-11-02 Nec Corp 非同期系間データ転送回路及び非同期系間データ転送方法
JP2002269036A (ja) * 2001-03-12 2002-09-20 Sharp Corp 非同期転送装置および非同期転送方法
JP2004295819A (ja) * 2003-03-28 2004-10-21 Sony Corp データバッファ装置

Similar Documents

Publication Publication Date Title
CN105117360B (zh) 基于fpga的接口信号重映射方法
US8301932B2 (en) Synchronising between clock domains
JP5459807B2 (ja) マルチプロセッサデータ処理システムにおけるデバッグシグナリング
US7003423B1 (en) Programmable logic resource with data transfer synchronization
JP4091941B2 (ja) クロック同期回路
US8205110B2 (en) Synchronous operation of a system with asynchronous clock domains
US8520464B2 (en) Interface circuit and semiconductor device incorporating same
US20090150706A1 (en) Wrapper circuit for globally asynchronous locally synchronous system and method for operating the same
US20100322365A1 (en) System and method for synchronizing multi-clock domains
EP2518630A1 (en) Signal decoding circuit, latency adjustment circuit, memory controller, processor, computer, signal decoding method, and latency adjustment method
KR100817270B1 (ko) 인터페이스 장치 및 데이터 동기화 방법
KR101076109B1 (ko) 패턴 삽입을 이용한 수신 데이터의 스큐 보정 방법 및 그 장치
US7694176B2 (en) Fault-tolerant computer and method of controlling same
US20160099717A1 (en) Transmission circuit, integrated circuit, and parallel-to-serial conversion method
EP1317085B1 (en) A method and circuit for initializing a de-skewing buffer in a clock forwarded system
WO2006056904A2 (en) Globally asynchronous locally synchronous systems
CN105610532A (zh) 信号的传输处理方法及装置、设备
JP2014045423A (ja) データ転送装置、データ転送方法およびプログラム
JP4408022B2 (ja) 非同期データ転送装置
US8405533B2 (en) Providing a feedback loop in a low latency serial interconnect architecture
KR100855968B1 (ko) 트라이 스테이트 양방향 버스의 전달지연을 보상하는 방법및 이를 이용하는 반도체 장치
US20110210779A1 (en) Circuit and method for recovering clock data in highly integrated semiconductor memory apparatus
CN112148655A (zh) 多位数据跨时钟域的处理方法及装置
JP3562416B2 (ja) Lsi間データ転送システム及びそれに用いるソースシンクロナスデータ転送方式
JP2013187865A (ja) 情報処理装置、シリアル通信システムおよびそれらの通信初期化の方法、並びにシリアル通信装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131216

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141118

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150310