JP4290412B2 - Data transfer device - Google Patents
Data transfer device Download PDFInfo
- Publication number
- JP4290412B2 JP4290412B2 JP2002333435A JP2002333435A JP4290412B2 JP 4290412 B2 JP4290412 B2 JP 4290412B2 JP 2002333435 A JP2002333435 A JP 2002333435A JP 2002333435 A JP2002333435 A JP 2002333435A JP 4290412 B2 JP4290412 B2 JP 4290412B2
- Authority
- JP
- Japan
- Prior art keywords
- signal
- clock
- data
- metastable
- transferred
- 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
Links
Images
Landscapes
- Information Transfer Systems (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、送信側のクロックと受信側のクロックとが異なるクロックであるシステムにおけるデータ転送技術に関するものである。
【0002】
【従来の技術】
レジスタ等の回路を構成する素子として用いられるフリップフロップには、セットアップ時間及びホールド時間があり、クロックの立ち上がり前後の一定の期間(セットアップ時間+ホールド時間)は入力信号の値を変化させないようにする必要がある。しかし、データが異なるクロックを用いる装置間で転送されるシステムでは、上記期間内に入力信号の値が変化することがあり、その場合、フリップフロップの出力信号が発振して不安定になる状態(一般にメタステーブル状態と呼ばれる)がある期間続く。このメタステーブルが発生すると以降の論理回路に正しいデータが送られなくなる可能性がある。
【0003】
その対策として、送信側からのデータを直接ロジックに入力せず、該ロジックの前段に一つまたは複数のフリップフロップを設け、このフリップフロップの出力をロジックに入力すること等が提案されている(例えば非特許文献1参照)。これは、メタステーブルが続く期間は比較的短く、あるフリップフロップの出力信号にメタステーブルが発生しても、次段のフリップフロップが次のクロックの立ち上がりでこの信号を取り込むまでにはメタステーブル状態はほぼ終息しているという性質を利用したものである。
【0004】
【非特許文献1】
「Design Wave Magazine 2001 September CQ出版(株)“HDLの記述スタイル第7回非同期クロック間のデータ転送”」
【0005】
【発明が解決しようとする課題】
しかし、上記の構成により、メタステーブル状態の伝搬を防止したとしても、受信側のクロックの周波数が送信側のクロックの周波数より低い場合や受信側のクロックの周波数及び位相が送信側のクロックの周波数及び位相に近い場合には、送信データの値(送信側における送信信号の値)の変化を受信側で検出できず、データが欠落するという問題がある。
【0006】
本発明は上記問題に鑑みなされたものであり、メタステーブル状態の伝搬を防止するとともに、受信側のクロックの周波数が送信側のクロックの周波数より低い場合、あるいは受信側のクロックの周波数及び位相が送信側のクロックの周波数及び位相に近い場合にもデータの欠落が発生しないデータ転送装置を提供することを目的とする。
【0007】
【課題を解決するための手段】
上記目的を達成すべく、本発明のデータ転送装置は、第1のクロックを用いる第1の装置と第2のクロックを用いる第2の装置に接続され、前記第1の装置からパルス信号及び前記第1のクロックを受け取り、前記第2の装置から前記第2のクロックを受け取り、前記第1の装置から前記第2の装置に前記パルス信号を転送する異なるクロック間のデータ転送装置であって、前記第1の装置のロジックの後段に配置され、転送すべき前記パルス信号のパルス幅を、前記第1のクロックの周波数と前記第2のクロックの周波数との比に応じて拡張する第1のパルス幅拡張手段と、前記第2の装置のロジックの前段に配置された少なくとも1段のフリップフロップからなり、転送されてきたパルス信号のメタステーブルを除去する第1のメタステーブル除去手段とを備え、前記第1のクロックの周波数÷前記第2のクロックの周波数に1を加算した値の小数点以下を切り上げたものをnとし、前記第1のクロックのクロックパルスの幅をwとするとき、前記第1のパルス幅拡張手段は、転送すべき信号のパルス幅をn・wに拡張することを特徴とする。
【0008】
【発明の実施の形態】
図1のブロック図に本発明の第1の実施形態に係る異なるクロック間のデータ転送装置の構成を示す。本実施形態の装置は、送信側にパルスレジスタ102及び最終出力段のフリップフロップ104を備え、また、受信側にフリップフロップ107,109からなる同期化器120を備える。
【0009】
異なるクロック間あるいは複数クロックドメイン間で転送すべきRequest信号はパルスレジスタ102に入力され、そのパルス幅が広げられ、最終段のフリップフロップ104に入力される。パルスレジスタ102及びフリップフロップ104にはクロックAが供給されている。
【0010】
受信側では、メタステーブル状態が内部のロジック120に伝搬しないようにするため、送信側から転送されてきたRequest信号を同期化器110を介して受信する。メタステーブル状態の除去されたRequest信号は同期化器110からロジック120に送られる。同期化器110を構成するフリップフロップ107、109にはクロックBが供給されている。
【0011】
クロックAとクロックBの立ち上がり位相が非常に近い場合、従来の転送装置では転送されてきた信号の値の変化を受信側で検出できない場合があり、データの欠落が発生していたが、本実施形態では、転送すべき信号をそのパルス幅をパルスレジスタ102で広げてから受信側に転送するので、たとえ、転送されてきた信号の値の変化を受信側のクロックBの立ち上がりで検出できなくても、次の立ち上がりで検出可能であり、データの欠落は発生しない。
【0012】
一般に、フリップフロップのセットアップ時間(x)及びホールド時間(y)はクロック周期に比べ非常に短く、x+y < 1クロックパルス幅 の関係がある。従って、クロックAの周波数をf(Clock A)、クロックBの周波数をf(Clock B)とするとき、メタステーブル状態及びデータの欠落が発生しないようにするためには、クロックAの周期に対する転送すべき信号の周期の比が少なくとも式[roundup{f(Clock A)/f(Clock B)+1}]の値となるように転送すべき信号のパルス幅を広げればよい。ここで、roundup{}は{}内の数値の小数点以下を切り上げて得られる整数値を表す。図2に、送信側のクロックの周波数(clk_a)と受信側のクロックの周波数(clk_b)の種々の組み合わせのそれぞれについて、上記式の値を示す。
【0013】
パルスレジスタ102によりパルス幅の広げられたRequest信号は、受信側の同期化器のフリップフロップ107に受信される。メタステーブルが発生しない場合には受信したRequest信号はフリップフロップ109を介しそのまま内部のロジックに供給される。クロックAとクロックBの位相関係によりメタステーブルが発生した場合にはフリップフロップ109を通ることによりメタステーブルが除去されてから内部のロジックに供給される。
【0014】
図3は上記の信号転送動作を表すタイミングチャートである。ここでは、クロックAは33MHz、クロックBは20MHzであり、Request信号のパルス幅をクロックAの3パルス分に広げて転送している。フリップフロップ107の出力にメタステーブルが発生するが、フリップフロップ109により除去され、Request信号が正しく転送されることが分かる。
【0015】
図4に、本実施形態のパルスレジスタ102及び同期化器110の機能をHDL(ハードウェア記述言語)のRTL(レジスタトランスファレベル)で記述した例を示す。
【0016】
以上説明したように本実施の形態によれば、第1のクロックを用いる第1の装置から第2のクロックを用いる第2の装置に信号を転送する異なるクロック間のデータ転送装置において、前記第1の装置のロジックの後段に配置され、転送すべきパルス信号のパルス幅を前記第1のクロックの周波数と前記第2のクロックの周波数との比に応じて拡張する第1のパルス幅拡張手段と、前記第2の装置のロジックの前段に配置された少なくとも1段のフリップフロップからなり、転送されてきたパルス信号のメタステーブルを除去する第1のメタステーブル除去手段とを備えるようにしたので、メタステーブル状態の伝搬を防止するとともに、受信側のクロックの周波数が送信側のクロックの周波数より低い場合、あるいは受信側のクロックの周波数及び位相が送信側のクロックの周波数及び位相に近い場合にもデータの欠落が発生しない異なるクロック間のデータ転送が実現される。
【0017】
図5に本発明の第2の実施形態に係る異なるクロック間のデータ転送装置の構成を示す。本実施形態の装置は、第1の実施形態と同様、送信側にパルスレジスタ202及び最終出力段のフリップフロップ204を備え、また、受信側にフリップフロップ207,209からなる同期化器210を備える。
【0018】
異なるクロック間あるいは複数クロックドメイン間で転送すべきRequest信号はパルスレジスタ202に入力され、そのパルス幅が広げられ、最終段のフリップフロップ204に入力される。パルスレジスタ202及びフリップフロップ204にはクロックAが供給されている。
【0019】
受信側では、メタステーブル状態が内部のロジック220に伝搬しないようにするため、送信側から転送されてきたRequest信号を同期化器210を介して受信する。メタステーブル状態の除去されたRequest信号は同期化器210からロジック220に送られる。同期化器210を構成するフリップフロップ207,209にはクロックBが供給されている。
【0020】
第2の実施形態では、図5に示すように、複数のロジックを含むが、送信側の最終出力段のフリップフロップ204と受信側の同期化器210との間にはロジックを挿入せず、また最終出力段のフリップフロップ204の出力を受信側の他のロジック221に分岐せず、点線に示すように同期化器の後で分岐させ、ポイントツーマルチポイント接続を禁止し、ポイントツーポイントの回路構成とする。
【0021】
最終段のフリップフロップ204と受信側の同期化器210との間にはロジックを挿入しないことにより、最終段のフリップフロップ204と同期化器との間でメタステーブルまたはデータの欠落が発生し、その状態で受信側の同期化器に転送されてしまうことを回避できる。
【0022】
また、最終段のフリップフロップ204の出力を受信側の他のロジックに分岐しないことにより、受信側の全てのロジックにおいてメタステーブルまたはデータの欠落の発生を防止できる。更に、分岐による配線負荷の増大がないので同期化器でメタステーブル状態が発生し難くなるという効果もある。
【0023】
更に、ロジックの挿入、分岐のないシンプルな回路構成であるので、データ転送装置の回路設計における回路トポロジーの解析の際、後方探索・前方検索の探索件数が膨大にならず、解析に必要なリソース(実行時間、メモリ、ディスク容量)が抑えられ、解析ツールを使用できるようになる。
【0024】
以上説明したように本第2の実施実施形態によれば、最終出力段のフリップフロップ204と受信側の同期化器210との間にはロジックを挿入しなので、最終出力段のフリップフロップ204と同期化器210との間でメタステーブルまたはデータの欠落が発生し、その状態で受信側の同期化器に転送されてしまうことを回避できる。また、最終出力段のフリップフロップ204の出力を受信側の他のロジックに分岐しないので、受信側の全てのロジックにおいてメタステーブルまたはデータの欠落の発生を防止できる。更に、分岐による配線負荷の増大がないので同期化器でメタステーブル状態が発生し難くなる。
【0025】
更に本第2の実施実施形態によれば、ロジックの挿入、分岐のないシンプルな回路構成であるので、回路設計の際、フリップフロップのクロック入力端子に接続された出力端子の探索を通してクロックを供給するクロックソースを検出する動作(後方探索)、及び検出されたクロックソースの出力端子に接続され入力端子の探索を通してフリップフロップを検出する動作(前方探索)の両方から回路内の任意の箇所を検出する回路トポロジー解析を、解析ツールを用いて自動的に行うことができる。
【0026】
図6、7に回路トポロジー解析ツールの後方探索機能をRTLで記述した例を示し、図8に回路トポロジー解析ツールの前方探索機能をRTLで記述した例を示す。
【0027】
図9に本発明の第3の実施形態に係る異なるクロック間のデータ転送装置の構成を示す。この装置は送信側にステートマシンを備え、このステートマシンを介してRequest信号を受信側に送り、受信側からAcknowledge信号を返送することによりによりハンドシェイクアクセスを可能にする構成を有するものである。
【0028】
図9において、ステートマシン302は、送信側のロジック350の要求に応じ送信要求を出力する。デコーダ304はこの送信要求をデコードし、第1の実施形態のパルスレジスタ106と同様の構成を有するパルスレジスタ306にRequest信号を出力する。Request信号は該パルスレジスタ306によりパルス幅を広げられて受信側に転送される。
【0029】
一方、ビット幅を持ったデータ信号、即ち、複数のビットからなるパラレルデータ信号はロジック350からバスを介してフリップフロップ308に出力される。図ではフリップフロップ308は1つのみ示しているが、実際にはデータ信号を構成するビットの数だけ設けられ、各ビットが対応のフリップフロップに入力される。フリップフロップ308の出力も受信側に転送される。
【0030】
図には示していないが、ステートマシン302、デコーダ304、パルスレジスタ306、フリップフロップ308にはクロックAが供給される。また、第2の実施形態と同様、本実施形態においても、送信側と受信側との間にはロジックを挿入せず、また送信側の出力を分岐しないようにする。
【0031】
送信側から転送されてきたRequest信号は、受信側のメタステーブル対策用の同期化器311に受信される。同期化器311の出力信号は前方微分器313に入力される。前方微分器313は、受信したRequest信号からデータ信号を取り込むタイミングを規定するタイミング信号を生成する。前方微分器313により生成されたタイミング信号はステートマシン314を通して後段のロジック351に出力される。
【0032】
一方、受信側から転送されてきたビット幅を持ったデータ信号は、メタステーブル対策用フリップフロップ315に入力され、該フリップフロップ315の出力信号は、前方微分器313が出力するタイミング信号をイネーブル信号とするフリップフロップ329に入力される。フリップフロップ329はこのタイミング信号に応じてデータ信号を取り込み、ロジック351に送る。
【0033】
ステートマシン314の出力信号(Request信号)はロジック352にも出力され、該ロジック352はこれに応答してパルス信号であるAcknowledge信号を生成する。このAcknowledge信号は、パルスレジスタ306と同様の構成を有するパルスレジスタ319に入力されそこでパルス幅が広げられる。
【0034】
また、ロジックが出力するビット幅を持ったデータ信号はフリップフロップ320に出力される。フリップフロップ320はロジック352が生成するAcknowledge信号をイネーブル信号とし、このデータ信号を転送する。
【0035】
同期化器311、前方微分器313、フリップフロップ315,329、パルスレジスタ319、フリップフロップ320にはクロックBが供給される。第2の実施形態の場合と同様、パルスレジスタ319及びフリップフロップ320の後にはロジックは挿入せず、また出力を分岐しない。
【0036】
パルスレジスタ319から転送されてきたAcknowledge信号はメタステーブル対策用の同期化器323に入力され、該同期化器323の出力信号は、データバス上のデータ信号を取り込むタイミングを規定するタイミング信号を該出力信号から生成する前方微分器325に入力される。前方微分器325により生成されたタイミング信号はステートマシン302に送られる。これにより受信側で転送データを受け取ったことを送信側で確認するハンドシェイクアクセスが実現される。
【0037】
また、フリップフロップ320から転送されてきたデータ信号は、メタステーブル対策用フリップフロップ326を介し、前方微分器325の生成したタイミング信号をイネーブル信号とするフリップフロップ331に入力される。フリップフロップ331はこのタイミング信号に応じてデータ信号を取り込み、ロジック350に送る。
【0038】
同期化器323、前方微分器325、フリップフロップ326,331にはクロックAが供給されている。
【0039】
図10は本第3の実施の形態の動作を示すタイミングチャートである。同図に示すように、ステートマシン302がリクエスト生成ステート(S1)に遷移すると、デコーダ304はステートマシン302の出力をデコードし、Request信号を生成する。また、ビット幅を持ったデータ(received-data)はRequest信号をイネーブル信号として転送される。
【0040】
Request信号はメタステーブル対策用の同期化器311に受信され、前方微分器313は同期化器311の出力を微分しタイミング信号(req-pulse)を出力する。ビット幅を持ったデータ(received-data)はこのタイミング信号をイネーブル信号とするフリップフロップ329に取り込まれる。転送データを受け取ったことを示す信号(ack)はメタステーブル対策用の同期化器323に受信され、同期化器323は(ack_sync)を出力する。同期化器323の出力信号(ack_sync)は前方微分器325により微分され、パルス信号(ack_pulse)が出力される。
【0041】
ステートマシン302はこのパルス信号(ack_pulse)を受け取るとリクエスト送信完了ステート(S2)に遷移する。デコーダ304がリクエスト送信完了ステート(S2)をデコードし、それによりRequest信号がディアサートされ、ハンドシェイクアクセスが実現される。
【0042】
図11に送信側のステートマシン302、デコーダ304、同期化器323、前方微分器325等の機能をRTLで記述した例を示す。また、図12に受信側の同期化器311、前方微分器313、パルスジェネレータ319等の機能をRTLで記述した例を示す。
【0043】
以上説明したように、本第3の実施形態は、ロジックの挿入、分岐のないシンプルな回路構成であるので、ハンドシェイクアクセス機能を有する転送装置の回路設計の際、フリップフロップのクロック入力端子に接続された出力端子の探索を通してクロックを供給するクロックソースを検出する動作(後方探索)、及び検出されたクロックソースの出力端子に接続され入力端子の探索を通してフリップフロップを検出する動作(前方探索)の両方から回路内の任意の箇所を検出する回路トポロジー解析を、解析ツールを用いて自動的に行うことができる。
【0044】
尚、本第3の実施形態において、転送されてきたデータ信号を保持するタイミングを規定するタイミング信号を、微分回路により生成するようにしたが、これに限らず、受信したイネーブル信号(Request信号)に同期したパルス信号を生成できるのであれば、他の任意の回路を用いることができる。
【0045】
【発明の効果】
本発明によれば、メタステーブル状態の伝搬を防止するとともに、受信側のクロックの周波数が送信側のクロックの周波数より低い場合、あるいは受信側のクロックの周波数及び位相が送信側のクロックの周波数及び位相に近い場合にもデータの欠落が発生しない異なるクロック間のデータ転送装置が提供される。
【図面の簡単な説明】
【図1】 本発明の第1の実施形態に係る異なるクロック間のデータ転送装置の構成を示すブロック図である。
【図2】 種々のクロック周波数の組み合わせのそれぞれについてパルス幅の拡張例を示した図である。
【図3】 第1の実施形態の転送装置の動作を説明するタイミングチャートである。
【図4】 第1の実施形態の転送装置のパルスレジスタ及び同期化器の機能をハードウェア記述言語のRTLで記述した例を示す図である。
【図5】 本発明の第2の実施形態に係る異なるクロック間のデータ転送装置の構成を示すブロック図である。
【図6】 第2の実施形態の転送装置の回路トポロジー解析ツールの後方探索機能をRTLで記述した例を示す図である。
【図7】 第2の実施形態の転送装置の回路トポロジー解析ツールの後方探索機能をRTLで記述した例を示す図である。
【図8】 第2の実施形態の転送装置の回路トポロジー解析ツールの前方探索機能をRTLで記述した例を示す図である。
【図9】 本発明の第3の実施形態に係る異なるクロック間のデータ転送装置の構成を示すブロック図である。
【図10】 第3の実施形態の転送装置の動作を説明するタイミングチャートである。
【図11】 第3の実施形態の転送装置の送信側のステートマシン、デコーダ、同期化器、前方微分器等の機能をRTLで記述した例を示す図である。
【図12】 第3の実施形態の転送装置の受信側の同期化器、前方微分器、パルスジェネレータ等の機能をRTLで記述した例を示す図である。
【符号の説明】
102,202,306,319 パルスレジスタ、 110,210,311,323 同期化器、 313,325 前方微分器、 302,314 ステートマシン。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a data transfer technique in a system in which a clock on a transmission side and a clock on a reception side are different from each other.
[0002]
[Prior art]
A flip-flop used as an element constituting a circuit such as a register has a setup time and a hold time, so that the value of the input signal is not changed during a certain period (setup time + hold time) before and after the rising edge of the clock. There is a need. However, in a system in which data is transferred between devices using different clocks, the value of the input signal may change within the period, and in this case, the output signal of the flip-flop oscillates and becomes unstable ( Lasts for a period of time (commonly referred to as metastable state). If this metastable occurs, there is a possibility that correct data may not be sent to subsequent logic circuits.
[0003]
As countermeasures, it has been proposed that data from the transmission side is not directly input to the logic, but one or a plurality of flip-flops are provided in front of the logic, and the output of this flip-flop is input to the logic. For example, refer nonpatent literature 1). This is because the metastable period is relatively short, and even if a metastable occurs in the output signal of a certain flip-flop, the metastable state is not reached until the next flip-flop captures this signal at the rising edge of the next clock. Is based on the fact that it is almost over.
[0004]
[Non-Patent Document 1]
“Design Wave Magazine 2001 September CQ Publishing Co., Ltd.“ HDL Description Style 7th Data Transfer Between Asynchronous Clocks ”
[0005]
[Problems to be solved by the invention]
However, even if the metastable state is prevented from propagating with the above configuration, the frequency of the receiving clock is lower than the frequency of the transmitting clock or the frequency and phase of the receiving clock are the frequencies of the transmitting clock. If the phase is close to the phase, a change in the value of the transmission data (the value of the transmission signal on the transmission side) cannot be detected on the reception side, causing a problem that data is lost.
[0006]
The present invention has been made in view of the above problem, and prevents propagation of the metastable state, and when the frequency of the clock on the reception side is lower than the frequency of the clock on the transmission side or the frequency and phase of the clock on the reception side It is an object of the present invention to provide a data transfer device in which no data is lost even when the frequency and phase of the clock on the transmission side are close.
[0007]
[Means for Solving the Problems]
In order to achieve the above object, a data transfer device of the present invention is connected to a first device using a first clock and a second device using a second clock. A data transfer device between different clocks for receiving a first clock, receiving the second clock from the second device, and transferring the pulse signal from the first device to the second device; disposed downstream of the first device logic, the pulse width of the pulse signal to be transferred, first to extend in accordance with a ratio between the first frequency and the second clock frequency of the clock The first meta step comprises pulse width expanding means and at least one flip-flop arranged in front of the logic of the second device, and removes the metastable of the transferred pulse signal. And a table removal means, the width of the first clock frequency ÷ the second clock what one frequency by rounding up the decimal point of the value added is n, the first clock of the clock pulse When w, the first pulse width extending means extends the pulse width of the signal to be transferred to n · w .
[0008]
DETAILED DESCRIPTION OF THE INVENTION
The block diagram of FIG. 1 shows the configuration of a data transfer device between different clocks according to the first embodiment of the present invention. The apparatus of this embodiment includes a
[0009]
A Request signal to be transferred between different clocks or between a plurality of clock domains is input to the
[0010]
On the reception side, the Request signal transferred from the transmission side is received via the
[0011]
When the rising phases of the clock A and the clock B are very close, a change in the value of the transferred signal may not be detected on the receiving side in the conventional transfer device, and data loss has occurred. In the mode, the pulse width of the signal to be transferred is expanded by the
[0012]
In general, the setup time (x) and hold time (y) of the flip-flop are very short compared to the clock cycle, and there is a relationship of x + y <1 clock pulse width. Therefore, when the frequency of the clock A is f (Clock A) and the frequency of the clock B is f (Clock B), in order to prevent the occurrence of a metastable state and data loss, transfer to the cycle of the clock A is performed. The pulse width of the signal to be transferred may be widened so that the ratio of the period of the signal to be transmitted is at least the value of the expression [roundup {f (Clock A) / f (Clock B) +1}]. Here, roundup {} represents an integer value obtained by rounding up the numbers in {}. FIG. 2 shows the values of the above formulas for various combinations of the clock frequency (clk_a) on the transmitting side and the clock frequency (clk_b) on the receiving side.
[0013]
The Request signal whose pulse width is widened by the
[0014]
FIG. 3 is a timing chart showing the above signal transfer operation. Here, the clock A is 33 MHz and the clock B is 20 MHz, and the pulse width of the Request signal is extended to 3 pulses of the clock A and transferred. It can be seen that a metastable occurs at the output of the flip-
[0015]
FIG. 4 shows an example in which the functions of the
[0016]
As described above, according to the present embodiment, in the data transfer device between different clocks for transferring a signal from the first device using the first clock to the second device using the second clock, 1st pulse width expansion means which is arranged after the logic of one device and expands the pulse width of the pulse signal to be transferred in accordance with the ratio between the frequency of the first clock and the frequency of the second clock And a first metastable removing means for removing the metastable of the transferred pulse signal, comprising at least one flip-flop arranged in front of the logic of the second device. Prevent metastable state propagation, and if the frequency of the receiving clock is lower than the frequency of the transmitting clock, or the frequency of the receiving clock The number and phase are realized data transfer between different clocks data loss does not occur even when close to the frequency and phase of the clock of the sender.
[0017]
FIG. 5 shows the configuration of a data transfer apparatus between different clocks according to the second embodiment of the present invention. As in the first embodiment, the apparatus of this embodiment includes a
[0018]
A Request signal to be transferred between different clocks or between a plurality of clock domains is input to the
[0019]
On the reception side, the Request signal transferred from the transmission side is received via the
[0020]
In the second embodiment, as shown in FIG. 5, a plurality of logics are included, but no logic is inserted between the flip-
[0021]
By not inserting logic between the final flip-
[0022]
Further, by not branching the output of the flip-
[0023]
In addition, since the circuit configuration is simple with no logic insertion or branching, the number of backward search and forward search is not enormous when analyzing the circuit topology in the circuit design of the data transfer device. (Execution time, memory, disk capacity) is reduced, and analysis tools can be used.
[0024]
As described above, according to the second embodiment, since logic is inserted between the flip-
[0025]
Furthermore, according to the second embodiment, since the circuit configuration is simple without logic insertion and branching, the clock is supplied through the search for the output terminal connected to the clock input terminal of the flip-flop when designing the circuit. Any location in the circuit is detected from both the detection of the clock source to be detected (backward search) and the operation of detecting the flip-flop through the search of the input terminal connected to the output terminal of the detected clock source (forward search). The circuit topology analysis can be automatically performed using an analysis tool.
[0026]
6 and 7 show examples in which the backward search function of the circuit topology analysis tool is described in RTL, and FIG. 8 shows an example in which the forward search function of the circuit topology analysis tool is described in RTL.
[0027]
FIG. 9 shows the configuration of a data transfer apparatus between different clocks according to the third embodiment of the present invention. This apparatus includes a state machine on the transmission side, and has a configuration that enables handshake access by sending a Request signal to the reception side via this state machine and returning an Acknowledge signal from the reception side.
[0028]
In FIG. 9, the
[0029]
On the other hand, a data signal having a bit width, that is, a parallel data signal composed of a plurality of bits is output from the
[0030]
Although not shown in the drawing, the clock A is supplied to the
[0031]
The Request signal transferred from the transmission side is received by the
[0032]
On the other hand, the data signal having the bit width transferred from the receiving side is input to the metastable countermeasure flip-
[0033]
The output signal (Request signal) of the
[0034]
A data signal having a bit width output from the logic is output to the flip-
[0035]
A clock B is supplied to the
[0036]
The Acknowledge signal transferred from the
[0037]
The data signal transferred from the flip-
[0038]
The clock A is supplied to the
[0039]
FIG. 10 is a timing chart showing the operation of the third embodiment. As shown in the figure, when the
[0040]
The Request signal is received by the
[0041]
When the
[0042]
FIG. 11 shows an example in which the functions of the transmission-
[0043]
As described above, the third embodiment has a simple circuit configuration without logic insertion and branching. Therefore, when designing a circuit of a transfer device having a handshake access function, the clock input terminal of the flip-flop is used. An operation for detecting a clock source that supplies a clock through a search for a connected output terminal (backward search) and an operation for detecting a flip-flop connected to the output terminal of the detected clock source through a search for an input terminal (forward search) The circuit topology analysis for detecting an arbitrary location in the circuit from both of them can be automatically performed using an analysis tool.
[0044]
In the third embodiment, the timing signal that defines the timing for holding the transferred data signal is generated by the differentiating circuit. However, the present invention is not limited to this, and the received enable signal (Request signal) is used. Any other circuit can be used as long as it can generate a pulse signal synchronized with the signal.
[0045]
【The invention's effect】
According to the present invention, the metastable state is prevented from being propagated, and when the frequency of the receiving side clock is lower than the frequency of the transmitting side clock, or the frequency and phase of the receiving side clock are There is provided a data transfer device between different clocks in which data loss does not occur even when the phase is close.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a data transfer device between different clocks according to a first embodiment of the present invention.
FIG. 2 is a diagram showing an example of extending a pulse width for each combination of various clock frequencies.
FIG. 3 is a timing chart for explaining the operation of the transfer apparatus according to the first embodiment.
FIG. 4 is a diagram illustrating an example in which functions of a pulse register and a synchronizer of the transfer apparatus according to the first embodiment are described in hardware description language RTL.
FIG. 5 is a block diagram showing a configuration of a data transfer device between different clocks according to a second embodiment of the present invention.
FIG. 6 is a diagram illustrating an example in which a backward search function of the circuit topology analysis tool of the transfer device according to the second embodiment is described in RTL.
FIG. 7 is a diagram illustrating an example in which a backward search function of a circuit topology analysis tool of the transfer device according to the second embodiment is described in RTL.
FIG. 8 is a diagram illustrating an example in which a forward search function of a circuit topology analysis tool of the transfer apparatus according to the second embodiment is described in RTL.
FIG. 9 is a block diagram showing a configuration of a data transfer device between different clocks according to a third embodiment of the present invention.
FIG. 10 is a timing chart illustrating the operation of the transfer device according to the third embodiment.
FIG. 11 is a diagram illustrating an example in which functions such as a state machine, a decoder, a synchronizer, and a forward differentiator on the transmission side of the transfer apparatus according to the third embodiment are described in RTL.
FIG. 12 is a diagram illustrating an example in which functions of a receiver-side synchronizer, forward differentiator, pulse generator, and the like of the transfer apparatus according to the third embodiment are described in RTL.
[Explanation of symbols]
102, 202, 306, 319 Pulse register, 110, 210, 311, 323 Synchronizer, 313, 325 Forward differentiator, 302, 314 State machine.
Claims (7)
前記第1の装置のロジックの後段に配置され、転送すべき前記パルス信号のパルス幅を、前記第1のクロックの周波数と前記第2のクロックの周波数との比に応じて拡張する第1のパルス幅拡張手段と、
前記第2の装置のロジックの前段に配置された少なくとも1段のフリップフロップからなり、転送されてきたパルス信号のメタステーブルを除去する第1のメタステーブル除去手段とを備え、
前記第1のクロックの周波数÷前記第2のクロックの周波数に1を加算した値の小数点以下を切り上げたものをnとし、
前記第1のクロックのクロックパルスの幅をwとするとき、
前記第1のパルス幅拡張手段は、転送すべき信号のパルス幅をn・wに拡張する
ことを特徴とするデータ転送装置。 Connected to a first device using a first clock and a second device using a second clock, receiving a pulse signal and the first clock from the first device, and receiving the pulse signal and the first clock from the second device; A data transfer device between different clocks that receives two clocks and transfers the pulse signal from the first device to the second device;
Disposed downstream of the first device logic, the pulse width of the pulse signal to be transferred, first to extend in accordance with a ratio between the first frequency and the second clock frequency of the clock Pulse width expansion means;
A first metastable removing unit comprising at least one stage flip-flop arranged in front of the logic of the second device, and removing the metastable of the transferred pulse signal ;
The frequency obtained by adding 1 to the frequency of the first clock divided by the frequency of the second clock is rounded up to the nearest decimal point.
When the width of the clock pulse of the first clock is w,
The first pulse width extending means extends the pulse width of a signal to be transferred to n · w .
少なくとも1段のフリップフロップからなり、転送されてきた前記第1のデータ信号のメタステーブルを除去する第2のメタステーブル除去手段を含み、前記第1のデータ信号送信手段が出力する前記第1のデータ信号を該第2のメタステーブル除去手段を介して受信する第1のデータ信号受信手段と、
前記第1のメタステーブル除去手段の出力信号に同期したタイミング信号を生成する第1のタイミング信号生成手段とを更に備え、
前記第1のデータ信号受信手段は、前記第1のタイミング信号生成手段から第1のタイミング信号を受信したときに前記第1のデータバスから前記第1のデータ信号を取り込む
ことを特徴とする請求項1に記載のデータ転送装置。First data signal transmission means for transferring a first data signal, which is parallel data composed of a plurality of bits, from the first device to the second device via a first data bus;
At least one stage of it from the flip-flop, comprising a second metastable removing means for removing metastable said has been transferred first data signal, the first of the first data signal transmission means outputs First data signal receiving means for receiving a data signal via the second metastable removing means;
First timing signal generating means for generating a timing signal synchronized with the output signal of the first metastable removing means;
The first data signal receiving means fetches the first data signal from the first data bus when receiving the first timing signal from the first timing signal generating means. Item 4. The data transfer device according to Item 1 .
該受信完了信号のパルス幅を、前記第1のクロックの周波数と前記第2のクロックの周波数との比に応じて拡張する第2のパルス幅拡張手段と、
少なくとも1段のフリップフロップからなり、前記第2のパルス幅拡張手段を介して前記第1の装置に返送されてきた受信完了信号のメタステーブルを除去する第3のメタステーブル除去手段と、
前記第3のメタステーブル除去手段の出力信号に同期した第2のタイミング信号を生成する第2のタイミング信号生成手段と、
複数のビットからなるパラレルデータである第2のデータ信号を第2のデータバスを介し前記第2の装置から前記第1の装置に転送する第2のデータ信号送信手段と、
少なくとも1段のフリップフロップからなり、転送されてきた第2のデータ信号のメタステーブルを除去する第4のメタステーブル除去手段を含み、前記第2のデータ信号送信手段が出力する第2のデータ信号を該第4のメタステーブル除去手段を介して受信する第2のデータ信号受信手段とを更に備え、
前記第2のデータ信号受信手段は前記第2のタイミング信号生成手段から第2のタイミング信号を受信したときに前記第2のデータバスから前記第2のデータ信号を取り込む
ことを特徴とする請求項2又は3に記載のデータ転送装置。A reception completion signal generating means for generating a reception completion signal when the first device receives the first data signal;
Second pulse width expanding means for expanding the pulse width of the reception completion signal in accordance with a ratio between the frequency of the first clock and the frequency of the second clock;
A third metastable removing unit that comprises at least one flip-flop, and removes a metastable of the reception completion signal returned to the first device via the second pulse width extending unit;
Second timing signal generating means for generating a second timing signal synchronized with the output signal of the third metastable removing means;
Second data signal transmission means for transferring a second data signal, which is parallel data composed of a plurality of bits, from the second device to the first device via a second data bus;
A second data signal output from the second data signal transmitting means, comprising a fourth metastable removing means which comprises a flip-flop of at least one stage and removes the metastable of the transferred second data signal; And a second data signal receiving means for receiving the data via the fourth metastable removing means,
The second data signal receiving means fetches the second data signal from the second data bus when receiving a second timing signal from the second timing signal generating means. 2. The data transfer device according to 2 or 3 .
前記第2のクロックのクロックパルスの幅をw a とするとき、
前記第2のパルス幅拡張手段は、転送すべき前記受信完了信号のパルス幅をn a ・w a に拡張する
ことを特徴とする請求項4に記載のデータ転送装置。Those obtained by rounding up the decimal point of the second clock frequency ÷ the first value obtained by adding 1 to the frequency of the clock and n a,
When the width of the clock pulse of the second clock is w a ,
It said second pulse width extension means, the data transfer apparatus according to claim 4, characterized in that to extend the pulse width of the reception completion signal to be transferred to n a · w a.
ことを特徴とする請求項1から5の何れか一項に記載のデータ転送装置。The signals transferred by the data transfer device between the first and second devices, from claim 1, wherein the directly be transferred without passing through the logic of any one of 5 Data transfer device.
ことを特徴とする請求項1から6の何れか一項に記載のデータ転送装置。The signals transferred by the data transfer device between the first and second devices, any one of claims 1 to 6, characterized in that it is transferred directly without having to be branched to the logic in the middle The data transfer device according to item.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002333435A JP4290412B2 (en) | 2002-11-18 | 2002-11-18 | Data transfer device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002333435A JP4290412B2 (en) | 2002-11-18 | 2002-11-18 | Data transfer device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004171102A JP2004171102A (en) | 2004-06-17 |
JP4290412B2 true JP4290412B2 (en) | 2009-07-08 |
Family
ID=32698145
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002333435A Expired - Fee Related JP4290412B2 (en) | 2002-11-18 | 2002-11-18 | Data transfer device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4290412B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4841927B2 (en) * | 2005-10-20 | 2011-12-21 | 富士通株式会社 | Asynchronous transmission device and asynchronous transmission method |
JP2009044489A (en) * | 2007-08-09 | 2009-02-26 | Panasonic Corp | Asynchronous absorption circuit with transfer performance optimizing function |
JP5159470B2 (en) * | 2008-06-27 | 2013-03-06 | 富士通テン株式会社 | Signal processing apparatus and signal processing method |
JP6410594B2 (en) * | 2014-12-22 | 2018-10-24 | ローム株式会社 | Synchronizer and semiconductor device |
-
2002
- 2002-11-18 JP JP2002333435A patent/JP4290412B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004171102A (en) | 2004-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2000099193A (en) | Device and method for synchronization, and interface circuit | |
US8132036B2 (en) | Reducing latency in data transfer between asynchronous clock domains | |
JP2004072511A (en) | Data transfer device | |
EP1575206B1 (en) | Data synchronization arrangement | |
JP3560793B2 (en) | Data transfer method | |
JP4290412B2 (en) | Data transfer device | |
AU724688B2 (en) | Method and apparatus for recovery of time skewed data on a parallel bus | |
CN113037667B (en) | Data signal recovery method based on FPGA | |
US7793021B2 (en) | Method for synchronizing a transmission of information and a device having synchronizing capabilities | |
CN108471308B (en) | Semiconductor device and data synchronization method | |
US6097775A (en) | Method and apparatus for synchronously transferring signals between clock domains | |
CN104348465A (en) | Control method and control circuit | |
CN112540642A (en) | Multi-clock domain processing method, device, equipment and medium | |
US6640277B1 (en) | Input staging logic for latching source synchronous data | |
JP4598872B2 (en) | Timing recovery circuit, communication node, network system, and electronic device | |
WO2022037638A1 (en) | Integrated circuit reset method and integrated circuit | |
CN114115443A (en) | Clock domain-crossing data signal synchronization method, system, equipment and medium | |
JP3161420B2 (en) | Asynchronous interface system | |
CN113168205B (en) | Apparatus for transaction-based transmit clock gating for low power designs | |
JP3580763B2 (en) | Data transceiver | |
JP2596336B2 (en) | Asynchronous digital communication device | |
CN117785792A (en) | Signal processing method and device crossing synchronous frequency asynchronous clock domain | |
JP2022124334A (en) | semiconductor integrated circuit | |
JP2003273852A (en) | Semiconductor integrated circuit device | |
JP2002108809A (en) | Method and device for transferring source synchronous data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050823 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080305 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080415 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080612 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20081218 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20090202 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20090202 |
|
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: 20090331 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090401 |
|
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: 20120410 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130410 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140410 Year of fee payment: 5 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |