JP4290412B2 - Data transfer device - Google Patents

Data transfer device Download PDF

Info

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
Application number
JP2002333435A
Other languages
Japanese (ja)
Other versions
JP2004171102A (en
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.)
Lapis Semiconductor Co Ltd
Original Assignee
Oki Semiconductor Co 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 Oki Semiconductor Co Ltd filed Critical Oki Semiconductor Co Ltd
Priority to JP2002333435A priority Critical patent/JP4290412B2/en
Publication of JP2004171102A publication Critical patent/JP2004171102A/en
Application granted granted Critical
Publication of JP4290412B2 publication Critical patent/JP4290412B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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 pulse register 102 and a final output stage flip-flop 104 on the transmission side, and a synchronizer 120 including flip-flops 107 and 109 on the reception side.
[0009]
A Request signal to be transferred between different clocks or between a plurality of clock domains is input to the pulse register 102, the pulse width is widened, and input to the flip-flop 104 at the final stage. A clock A is supplied to the pulse register 102 and the flip-flop 104.
[0010]
On the reception side, the Request signal transferred from the transmission side is received via the synchronizer 110 in order to prevent the metastable state from propagating to the internal logic 120. The Request signal with the metastable state removed is sent from the synchronizer 110 to the logic 120. A clock B is supplied to the flip-flops 107 and 109 constituting the synchronizer 110.
[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 pulse register 102 and then transferred to the receiving side. Therefore, even if the change in the value of the transferred signal cannot be detected at the rising edge of the clock B on the receiving side. However, it can be detected at the next rising edge, and no data is lost.
[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 pulse register 102 is received by the flip-flop 107 of the synchronizer on the receiving side. If no metastable occurs, the received Request signal is supplied to the internal logic via the flip-flop 109 as it is. When a metastable is generated due to the phase relationship between the clock A and the clock B, the metastable is removed by passing through the flip-flop 109 and then supplied to the internal logic.
[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-flop 107 but is removed by the flip-flop 109 and the Request signal is transferred correctly.
[0015]
FIG. 4 shows an example in which the functions of the pulse register 102 and the synchronizer 110 of the present embodiment are described in RTL (register transfer level) of HDL (hardware description language).
[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 pulse register 202 and a final output stage flip-flop 204 on the transmission side, and a synchronizer 210 including flip-flops 207 and 209 on the reception side. .
[0018]
A Request signal to be transferred between different clocks or between a plurality of clock domains is input to the pulse register 202, the pulse width thereof is widened, and input to the flip-flop 204 at the final stage. A clock A is supplied to the pulse register 202 and the flip-flop 204.
[0019]
On the reception side, the Request signal transferred from the transmission side is received via the synchronizer 210 in order to prevent the metastable state from propagating to the internal logic 220. The Request signal with the metastable state removed is sent from the synchronizer 210 to the logic 220. A clock B is supplied to the flip-flops 207 and 209 constituting the synchronizer 210.
[0020]
In the second embodiment, as shown in FIG. 5, a plurality of logics are included, but no logic is inserted between the flip-flop 204 of the final output stage on the transmission side and the synchronizer 210 on the reception side. Also, the output of the flip-flop 204 at the final output stage is not branched to the other logic 221 on the receiving side, but is branched after the synchronizer as shown by the dotted line, and the point-to-multipoint connection is prohibited. A circuit configuration is adopted.
[0021]
By not inserting logic between the final flip-flop 204 and the receiver-side synchronizer 210, a metastable or data loss occurs between the final flip-flop 204 and the synchronizer. In this state, it is possible to avoid transfer to the receiver-side synchronizer.
[0022]
Further, by not branching the output of the flip-flop 204 at the final stage to other logic on the receiving side, it is possible to prevent the occurrence of missing metastable or data in all the logic on the receiving side. Further, since there is no increase in wiring load due to branching, there is an effect that a metastable state is hardly generated in the synchronizer.
[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-flop 204 at the final output stage and the synchronizer 210 on the receiving side, the flip-flop 204 at the final output stage It is possible to avoid occurrence of a metastable or data loss with the synchronizer 210 and transfer to the synchronizer on the receiving side in that state. Further, since the output of the flip-flop 204 at the final output stage is not branched to other logic on the receiving side, occurrence of missing metastable or data can be prevented in all the logic on the receiving side. Furthermore, since there is no increase in wiring load due to branching, it becomes difficult for the synchronizer to generate a metastable state.
[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 state machine 302 outputs a transmission request in response to a request from the transmission side logic 350. The decoder 304 decodes this transmission request and outputs a Request signal to the pulse register 306 having the same configuration as the pulse register 106 of the first embodiment. The Request signal is transferred to the receiving side with the pulse width expanded by the pulse register 306.
[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 logic 350 to the flip-flop 308 via the bus. Although only one flip-flop 308 is shown in the figure, actually, the number of bits constituting the data signal is provided, and each bit is input to the corresponding flip-flop. The output of the flip-flop 308 is also transferred to the receiving side.
[0030]
Although not shown in the drawing, the clock A is supplied to the state machine 302, the decoder 304, the pulse register 306, and the flip-flop 308. Similarly to the second embodiment, in this embodiment, no logic is inserted between the transmission side and the reception side, and the output on the transmission side is not branched.
[0031]
The Request signal transferred from the transmission side is received by the synchronizer 311 for countermeasure against metastable on the reception side. The output signal of the synchronizer 311 is input to the forward differentiator 313. The forward differentiator 313 generates a timing signal that defines the timing for taking in the data signal from the received Request signal. The timing signal generated by the forward differentiator 313 is output to the subsequent logic 351 through the state machine 314.
[0032]
On the other hand, the data signal having the bit width transferred from the receiving side is input to the metastable countermeasure flip-flop 315, and the output signal of the flip-flop 315 is the enable signal which is the timing signal output by the forward differentiator 313. Is input to the flip-flop 329. The flip-flop 329 takes in the data signal in accordance with this timing signal and sends it to the logic 351.
[0033]
The output signal (Request signal) of the state machine 314 is also output to the logic 352, and the logic 352 generates an Acknowledge signal that is a pulse signal in response thereto. This Acknowledge signal is input to a pulse register 319 having the same configuration as the pulse register 306, where the pulse width is widened.
[0034]
A data signal having a bit width output from the logic is output to the flip-flop 320. The flip-flop 320 uses the Acknowledge signal generated by the logic 352 as an enable signal, and transfers this data signal.
[0035]
A clock B is supplied to the synchronizer 311, the forward differentiator 313, the flip-flops 315 and 329, the pulse register 319, and the flip-flop 320. As in the case of the second embodiment, no logic is inserted after the pulse register 319 and the flip-flop 320, and the output is not branched.
[0036]
The Acknowledge signal transferred from the pulse register 319 is input to the metastable countermeasure synchronizer 323, and the output signal of the synchronizer 323 is a timing signal that defines the timing for fetching the data signal on the data bus. It is input to a forward differentiator 325 generated from the output signal. The timing signal generated by the forward differentiator 325 is sent to the state machine 302. This realizes handshake access for confirming on the transmission side that the transfer data has been received on the reception side.
[0037]
The data signal transferred from the flip-flop 320 is input to the flip-flop 331 that uses the timing signal generated by the forward differentiator 325 as an enable signal via the metastable countermeasure flip-flop 326. The flip-flop 331 takes in the data signal according to this timing signal and sends it to the logic 350.
[0038]
The clock A is supplied to the synchronizer 323, the forward differentiator 325, and the flip-flops 326 and 331.
[0039]
FIG. 10 is a timing chart showing the operation of the third embodiment. As shown in the figure, when the state machine 302 transitions to the request generation state (S1), the decoder 304 decodes the output of the state machine 302 and generates a Request signal. Data having a bit width (received-data) is transferred using the Request signal as an enable signal.
[0040]
The Request signal is received by the synchronizer 311 for countermeasure against metastable, and the forward differentiator 313 differentiates the output of the synchronizer 311 and outputs a timing signal (req-pulse). Data (received-data) having a bit width is taken into a flip-flop 329 using this timing signal as an enable signal. A signal (ack) indicating that the transfer data has been received is received by the metastable countermeasure synchronizer 323, and the synchronizer 323 outputs (ack_sync). The output signal (ack_sync) of the synchronizer 323 is differentiated by the forward differentiator 325, and a pulse signal (ack_pulse) is output.
[0041]
When the state machine 302 receives this pulse signal (ack_pulse), the state machine 302 transitions to the request transmission completion state (S2). The decoder 304 decodes the request transmission completion state (S2), whereby the Request signal is deasserted and the handshake access is realized.
[0042]
FIG. 11 shows an example in which the functions of the transmission-side state machine 302, decoder 304, synchronizer 323, forward differentiator 325, etc. are described in RTL. FIG. 12 shows an example in which the functions of the receiver-side synchronizer 311, forward differentiator 313, pulse generator 319 and the like are described in RTL.
[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のクロックを用いる第2の装置に接続され、前記第1の装置からパルス信号及び前記第1のクロックを受け取り、前記第2の装置から前記第2のクロックを受け取り、前記第1の装置から前記第2の装置に前記パルス信号を転送する異なるクロック間のデータ転送装置において、
前記第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のデータバスを介し前記第1の装置から前記第2の装置に転送する第1のデータ信号送信手段と、
少なくとも1段のフリップフロップからなり、転送されてきた前記第1のデータ信号のメタステーブルを除去する第2のメタステーブル除去手段を含み、前記第1のデータ信号送信手段が出力する前記第1のデータ信号を該第2のメタステーブル除去手段を介して受信する第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のタイミング信号生成手段は微分回路からなることを特徴とする請求項に記載のデータ転送装置。 3. The data transfer apparatus according to claim 2 , wherein the first timing signal generation unit includes a differentiation circuit. 前記第1の装置が前記第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のデータ信号を取り込む
ことを特徴とする請求項又はに記載のデータ転送装置。
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のクロックの周波数÷前記第1のクロックの周波数に1を加算した値の小数点以下を切り上げたものを とし
前記第2のクロックのクロックパルスの幅を とするとき
前記第2のパルス幅拡張手段は転送すべき前記受信完了信号のパルス幅を に拡張する
ことを特徴とする請求項に記載のデータ転送装置。
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及び第2の装置の間で前記データ転送装置により転送される信号は、ロジックを通ることなく直接に転送される
ことを特徴とする請求項1からの何れか一項に記載のデータ転送装置。
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及び第2の装置の間で前記データ転送装置により転送される信号は、途中でロジックに分岐されることなく直接に転送される
ことを特徴とする請求項1からの何れか一項に記載のデータ転送装置。
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.
JP2002333435A 2002-11-18 2002-11-18 Data transfer device Expired - Fee Related JP4290412B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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