JP4805163B2 - 多数の時間領域群を有するシステムでイベント群を時間順序付けする装置及び方法 - Google Patents

多数の時間領域群を有するシステムでイベント群を時間順序付けする装置及び方法 Download PDF

Info

Publication number
JP4805163B2
JP4805163B2 JP2006542588A JP2006542588A JP4805163B2 JP 4805163 B2 JP4805163 B2 JP 4805163B2 JP 2006542588 A JP2006542588 A JP 2006542588A JP 2006542588 A JP2006542588 A JP 2006542588A JP 4805163 B2 JP4805163 B2 JP 4805163B2
Authority
JP
Japan
Prior art keywords
time
time domain
message
clock
time stamp
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
JP2006542588A
Other languages
English (en)
Other versions
JP2007513425A (ja
JP2007513425A5 (ja
Inventor
シー. モイヤー、ウィリアム
ジー. コリンズ、リチャード
ディ. フィッツシモンズ、マイケル
ティ. ニアリング、ジェイソン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NXP USA Inc
Original Assignee
NXP USA Inc
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 NXP USA Inc filed Critical NXP USA Inc
Publication of JP2007513425A publication Critical patent/JP2007513425A/ja
Publication of JP2007513425A5 publication Critical patent/JP2007513425A5/ja
Application granted granted Critical
Publication of JP4805163B2 publication Critical patent/JP4805163B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3632Software debugging of specific synchronisation aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware

Description

本発明は一般に、イベント群の時間順序付けに関し、特に多数の時間領域群を有するシステムでのイベント群の時間順序付けに関する。
タイムスタンプ処理は、あるシステムで、例えばシステムをデバッグする際などに、そのシステムで所望のイベントが発生したときを示す為に用いられる有用な方法である。単一の集積回路上に集積されたシステムを含むシステムでは、複数の時間領域群を含む。
用途によっては、時間領域群を相互に、および、システム外部の時間基準に、直接関連させる簡単な方法がない。
本発明は、あるシステム中でイベント群を時間順序付けする方法を提供する。複数の時間領域群の各々に対応する制御情報が供給される。この制御情報が、複数の時間領域群の各々のタイムスタンプメッセージが生成されるときを示す。タイムスタンプメッセージの生成を必要とする時間領域イベントが複数の時間領域群のうちのいずれか一つで発生したときの判定がなされる。時間領域イベントが発生したという判定に応えて、複数の時間領域群のうち所定の一つに対応するタイムスタンプメッセージが生成される。ある形式では、タイムスタンプメッセージを出力する為に、複数の時間領域群の全てに同一のポートが用いられる。ある形式では、制御情報に応えて、タイムスタンプメッセージの中に、メッセージ生成時間領域の時間カウントを含め、この時間カウントが、時間領域イベントがメッセージ生成時間領域で発生したときの絶対カウント値である。別の形式では、制御情報に応えて、タイムスタンプメッセージの中に、メッセージ生成時間領域の時間カウントを含め、この時間カウントが、最後に発生した以前の時間領域イベントから計った、メッセージ生成時間領域で時間領域が発生したときの相対カウント値である。別の形式では、制御情報に応えて、タイムスタンプメッセージの中に、複数の時間領域群の全てについて、時間領域イベントが発生したときに対応する時間カウントを含める。更なる別の形式では、タイムスタンプメッセージの中に、そのタイムスタンプメッセージが有している複数の所定のフォーマット群の一つを識別するフォーマット識別子フィールドを含める。制御情報を用いて、タイムスタンプメッセージの生成を必要とする時間領域イベントが複数の時間領域群の所定の一つで発生するときを指定する。続いて、時間領域イベントが複数の時間領域群の所定の一つで発生したことが決定される。ある形式では、制御情報を記憶装置にプログラムする。別の形式では、複数の時間領域群の少なくとも一つで時間領域イベントをもたらす所定の動作条件を識別する制御情報に応えて、タイムスタンプメッセージが生成される。更なる別の形式では、ユーザプログラマブルイベント及びプログラマブルシステムイベントの少なくとも一つである所定の動作条件が識別される。別の形式では、少なくとも一つのプログラマブルシステムイベントが、電力の動作モードに入ること又はこのモードから出ることと、クロックのソースの変化と、クロックの周期性の変化と、ハードウェアのカウンタ値の所定の変化と、デバッグの動作モードになること及びこのモードから出ることとのうち、少なくとも一つを含む。本システムは、ある形式では、複数の機能回線モジュール群でできており、各機能回線モジュールが、異なる時間領域を表すクロックによりクロック制御されており、タイムスタンプ処理回路を有している。このタイムスタンプ処理回路は所定のイベントが発生した時点を示すメッセージを供給する。複数の
機能回線モジュール群の各々にインタフェースモジュールが結合されており、このインタフェースモジュールが、所定のイベントをトリガする少なくとも一つの動作条件を示す為に制御情報を複数の機能回線モジュール群に供給する。第1の時間領域を含む複数の時間領域群の一つで所定のイベントが発生したとき、インタフェースモジュールが第1の時間領域から少なくとも一つのタイムスタンプ処理メッセージを受信する。インタフェースモジュールは更に、制御情報を、所定のイベントをトリガする少なくとも一つの動作条件を決定するプログラマブル制御情報として保存する記憶回路を備えている。ある形式では、所定のイベントをトリガする少なくとも一つの動作条件が、電力の動作モードに入ること又はこのモードから出ることと、クロックのソースの変化と、クロックの周期性の変化と、ハードウェアのカウンタ値の所定の変化と、デバッグの動作モードになること及びこのモードから出ることと、少なくとも一つのユーザプログラマブルイベントの発生とのうち、少なくとも一つを更に含む。別の形式では、タイムスタンプ処理回路が、対応する機能回線モジュールの絶対時間又は相対時間のどちらか一方を決定する為のカウンタと、時間領域識別子を供給する時間領域識別回路と、対応する機能回線モジュールのクロックの一つ以上の動作特性をもたらすクロック状態回路とを更に含む。別の形式では、タイムスタンプ処理回路が、対応するメッセージに含まれている情報のフォーマットを識別する為に各メッセージに含められるコードを生成する回路を更に含む。インタフェースモジュールが、対応するタイムスタンプ処理メッセージに含まれている情報のフォーマットを識別する為に各タイムスタンプ処理メッセージに含められるコードを生成する回路を有したアービタを更に含む。一つの実装では、インタフェースモジュールの共通のインタフェースポートがIEEE_ISTO5001(NEXUS)に適合している。ある形式では、複数の機能回線モジュール群のうち少なくとも一つにより供給されたメッセージがフォーマットを有し、このフォーマットが少なくとも時間カウント値を含み、この時間カウント値が、既知の初期値を基準にした絶対値であり、クロック信号の状況情報が機能回線モジュール群の一つに関連付けられており、対応する時間領域を示す識別子がタイムスタンプ処理メッセージに関連付けられている。別の形式では、メッセージがフォーマットを有し、このフォーマットがフィールドを更に含み、このフィールドが、タイムスタンプ処理メッセージのフォーマットが絶対値の時間カウント値を有していることを識別する。更なる別の形式では、複数の機能回線モジュール群のうち少なくとも一つにより供給されたメッセージがフォーマットを有し、このフォーマットが少なくとも時間カウント値を含み、この時間カウント値が、最後に発生した所定のイベントを基準にした相対値であり、クロック信号の状況情報が機能回線モジュール群の一つに関連付けられており、対応する時間領域を示す識別子がタイムスタンプ処理メッセージに関連付けられている。更なるある形式では、メッセージがフォーマットを有し、このフォーマットが、フィールドを更に含み、このフィールドが、タイムスタンプ処理メッセージのフォーマットが相対値の時間カウント値を有していることを識別する。別の形式では、タイムスタンプ処理メッセージがフォーマットを有し、このフォーマットが、所定のイベントが発生したときの機能回線モジュール群の各々と機能回線モジュール群の各々に関連付けられた所定の状況情報とに対応する時間カウント値を含む。図示されているように、制御情報がプログラマブルであり、インタフェースモジュールが、制御情報を保存する少なくとも一つのレジスタを更に備えている。
別の形式では、同一の集積回路上に複数の機能回線モジュール群を有するシステムが提供される。各機能回線モジュールが、異なる時間領域を表すクロックによりクロック制御されている。各機能モジュールがタイムスタンプ処理回路を有しており、タイムスタンプメッセージ群を供給する為にそれぞれ独立したクロックレートで動作している。タイムスタンプメッセージ群の各々が、所定のイベントが発生した時点を示す。インタフェースモジュールが複数の機能回線モジュールの各々に結合されており、このインタフェースモジュールが、所定のイベントをトリガする少なくとも一つの動作条件を示す為に制御情報を複数の機能回線モジュール群に供給する。第1の時間領域を含む複数の時間領域群の一つ
で所定のイベントが発生したとき、インタフェースモジュールが少なくとも一つのタイムスタンプ処理メッセージを第1の時間領域から受信する。別の形式では、システムにおいて多数の時間領域群で発生するイベント群の時間順序付けを再構成する方法が提供される。多数のタイムスタンプ処理メッセージ群が、順序付けされたタイムシーケンス及び順序付けされていないタイムシーケンスの一つで受信される。多数の時間領域群に関連付けられそれぞれ独立したクロックレートで動作している多数の時間領域カウンタ群の相対カウント値群がトラッキングされる。デバッグ情報を時間順序付けされたシーケンスにソートし、このデバッグ情報が、多数の時間領域群のうち一つから供給されたタイムスタンプに関連付けられている。このデバッグ情報がデバッグメッセージによって供給される。このデバッグメッセージ群が、プログラムトレースメッセージと、データトレースメッセージと、WATCHPOINTメッセージとのうちの、少なくとも一つとして実施される。多数のタイムスタンプメッセージ群が、多数の時間領域群の各々に対応する制御情報を供給する工程により生成され、この制御情報が、多数の時間領域群の各々のタイムスタンプメッセージが生成されるときを示す。タイムスタンプメッセージの生成を必要とする時間領域イベントが前記多数の時間領域群のうちいずれか一つで発生したときについて決定がなされる。時間領域イベントが発生したという決定に応えて、前記多数の時間領域群のうち所定の一つに対応するタイムスタンプメッセージが生成される。
本発明は例として図示されたものであり添付の図面に限定されておらず、同じ参照記号が同様な要素を示す。
当業者には、本図の要素が簡単明瞭に図示されており、必ずしも一律の縮尺に従ってはいないことが分かる。例えば、要素の中には、本発明の実施形態の理解の改善を助けるべく本図においてはその寸法が他の要素と比べて誇張されているものがある。
本明細書で用いられているように、用語「バス」は、一つ以上のさまざまなタイプの情報、例えば、データ、アドレス、制御、状況などの転送に使用されている複数の信号群又は導体群を参照する為に用いられている。
図1に図示されているのは、データ処理システム10であり、一般に、時間領域12と、時間領域32と、時間領域22とを有している。この時間領域12には、機能回路14を表すモジュールがある。機能回路14に含まれているのはNEXUSデバッグ回路16であり、このNEXUSデバッグ回路16で「NEXUS」(登録商標)が指しているのは、集積回路をデバッグする、及び/又は、エミュレートする、及び/又は、テストする為の公的に使用可能なIEEE_ISTO5001標準である。同様に、時間領域32には機能回路34とNEXUSデバッグ回路36とがある。時間領域22には機能回路24とNEXUSデバッグ回路26とがある。NEXUSデバッグ回路36のある可能な実施形態が詳細に図示されている。NEXUSデバッグ回路16とNEXUSデバッグ回路26とが同じように又は変えて実施できることが明らかである。機能回路14はデバッグバス18によりNEXUSモジュール70に結合されている。NEXUSデバッグ回路36はデバッグバス38によりNEXUSモジュール70に結合されており、NEXUSデバッグ回路26はデバッグバス28によりNEXUSモジュール70に結合されている。
NEXUSデバッグ回路36にはタイムスタンプ回路40があり、タイムスタンプ回路40はカウンタ制御回路42と基準カウンタ44とを有している。NEXUSデバッグ回路36には更に、クロック状態回線46と、時間領域識別子48と、TCODE生成器50と、他の回路52とがある。デバッグバス38は、NEXUSモジュール70からカウンタ制御回路42へと結合されたタイムスタンプ制御バス60と、カウンタ制御回路42からNEXUSモジュール70へと結合されたタイムスタンプ信号群62と、他の回路52からNEXUSモジュール70へと結合された領域イベント情報バス64と、他の信号
群66の双方向バスとにより形成されている。ある実施形態では、他の信号群66が、クロック状態46と、時間領域識別子48と、TCODE生成器50と、他の回路52とを、NEXUSモジュール70に結合する。これら他の信号群66は他の回路52とNEXUSモジュール70との間に双方向に結合されている。
このNEXUSモジュール70には一般に、各時間領域に関連付けられたタイムスタンプ制御回線がある。図示の形態では、デバッグバス18にタイムスタンプ制御部72が結合されている。デバッグバス38を形成している各バスにタイムスタンプ制御部74が結合されているが、NEXUSモジュール70内の、本明細書で記載されたデバッグ機能に関連していない他の制御回路(図示せず)に結合している他の信号群66のバスには結合されていない。デバッグバス28にタイムスタンプ制御部76が結合されている。タイムスタンプ制御部72、タイムスタンプ制御部74、タイムスタンプ制御部76の各々と、複数のレジスタ80とに、アービタ78が双方向に結合されている。タイムスタンプ制御部72、74、76の各々が複数のレジスタ80に双方向に結合されている。アービタ78に双方向のNEXUSインタフェースポート92が結合されている。複数のレジスタ80に双方向のJTAGインタフェース94が結合されている。この複数のレジスタ80がシステムバス96と双方向に結合されている。システムバス96は更に、時間領域12、時間領域32、時間領域22の各々にも双方向に結合されている。
ここで留意すべきは、集積回路の、デバッグ、エミュレーション、及び/又は、テストの目的に用いた共通の標準が、周知のJTAG(Joint Test Action Group)IEEE(米国電気電子学会)1194.1のテストアクセスポート及びバウンダリスキャンアーキテクチャだということである。デバッグインタフェース90はJTAGインタフェースを有するものとして図示されたが、システム10の代替の実施形態では、任意の所望するインタフェースを用いてもよい。例えば、標準のJTAGインタフェースに加えて、多種多様な他のデバッグ、エミュレーション、及び/又は、テストのインタフェースが集積回路に用いられていてもよい。同様に、代替の実施形態では、NEXUSインタフェース92の代わりに、多種多様な他のデバッグ、エミュレーション、及び/又は、テストのインタフェースを用いてもよい。
システム10のある実施形態では、システム10をデバッグするプロセスの少なくとも一部の間、任意選択でデバッグインタフェース90にデバッガ93が結合されている。代替の実施形態では、デバッグする機能を果たすのに外部のデバッガ93を必要としないことがある。ある実施形態では、システム10が単一の集積回路で実施され、デバッガ93がその集積回路の外部で実施される。実施形態によっては、システム10の通常動作の間はデバッガ93がデバッグインタフェース90に結合されていない。デバッガ93を、ハードウェアとソフトウェアとの任意の組み合わせを用いて実施してよい。
ここで図1のシステム10の動作を記載する。図示されているある実施形態では、複数の時間領域群12、22、32が、その時間領域内でイベントがいつ発生したかに関する時間関連の情報を供給する。ある実施形態では、時間領域12,22,32はシステム10の電力及び/又はクロックを共通に備えた局所的な範囲である。時間領域内の要素は設計により同期させられたままであるが、時間領域は典型的に、他の時間領域と完全に同期させられたままである必要はない。ある実施形態では、時間領域12、22、32の各自に、それぞれ、機能回路14、24、34があり、これらの機能回路は独立したクロックを用いるか同一のクロックから派生したものを用いて機能する。機能回路14、24、34は任意の所望する機能を果たす。ここで留意すべきは、各時間領域12、22、32には更に、それぞれ、NEXUSデバッグ回路16、26、36があることである。代替の実施形態では、NEXUSデバッグ回路ではない他の回路16、26、36を用いる。
ここで留意すべきは、システム10は3つの時間領域、言い換えれば時間の領域12、22、32を有して図示されたが、代替の実施形態では時間領域が幾つあってもよいことである。複数の時間領域群12、22、32を有するシステム10の一つの例は、時間領域12に非常に高いクロックレート又は周波数で動作するプロセッサがあり、時間領域22に、電力を温存する目的で低いクロックレート又は周波数で動作する回路があり、時間領域32に、第3のクロックレート又は周波数で動作するよう設計された周辺モジュールがある、集積回路である。代替の実施形態では、時間領域群の境界線が任意の所望する基準を用いて描写される。
実施形態によって、異なる時間領域群の回路が独立して動作し、他の時間領域のクロック周波数同士間又はデューティサイクル同士間に相対的な制約はない。加えて、時間領域内での回路のクロック制御が、一時停止されたり、その周波数がシステム10全体の状態の変化に伴い変わったりし、このクロック制御はその他の時間領域のクロック制御とは別個に発生する。時間領域群は代替の実施形態では各様に機能し定義される。ある実施形態では、独立したクロックレートには、一つ以上のさまざまな方法による別個で独特なクロックレートがあり、これらは、例えば、共通のクロックの約数であるクロックや、別個に生成され意図的には関連していないクロックや、特定の時間領域に対しては一時的に停止される共通のクロックソースなどである。
ある実施形態では、それぞれ独立したクロックレートが、あるやり方で別個に制御可能なクロックのレートなので、特殊な関係があることは保証されず、よって、少なくともある一定の条件の下では独立していると見なされる。ここで留意すべきは、それぞれ独立したクロックレートが、可能な条件のサブセットについては互いに関連可能なことである。本明細書で記載されたタイムスタンプメッセージ通信の機能性は、それぞれ独立したクロックレートを有する複数の時間領域群(例えば、12、22、32)で用いられた際に非常に有用であるが、代替の実施形態では、複数の時間領域群のうち、任意又は幾つか又は全てが、それぞれ独立したクロックレートを有する必要がない。
実施形態によっては、システム10内のイベント群の時間的順序付けを正しく再構成する目的で、個々の時間領域(例えば、12、22、32)内の各基準カウンタ(例えば44)同士間の関係を決定しなくてはならない。これらの関係の決定を、個々の時間領域が低電力状態で移行した際と、クロック周波数がイベント群を変えた際と、個々の基準カウンタの更新時に相対的なレートに他の要因が影響を及ぼした際とに行うことは、システム10の個々の時間領域内で発生する他のタイムスタンプ処理済みデバッグイベント群の関係の決定に非常に役立つ。本明細書で記載されたタイムスタンプメッセージ通信の機能性により、NEXUSデバッグ回路16、36、26により生成されるような他のタイプのデバッグメッセージにタイムスタンプ情報を適用するのに用いられる分散型の基準カウンタ同士間の関係の決定に必要な情報が供給される。これらの他のタイプのデバッグメッセージは、NEXUS標準で周知であり、これらのメッセージには、プログラムトレースや、データトレースや、WATCHPOINTのメッセージ通信などのメッセージが含まれる。ある実施形態では、特定の時間領域により生成されたこれらのメッセージの各々が、特定の時間領域内の基準カウンタの状態に関するタイムスタンプ値によって増やされる。多数の時間領域に亘って生成されたイベント群の時間的順序付けの適正なトレースの復元の為には、特定のデバッグメッセージに供給されたこれらの基準カウンタの値が相互に関連していなくてはならない。この全体的な調整能力が、本明細書で記載されたタイムスタンプメッセージ通信により、システム10内の個々の基準カウンタ同士間の関係を決定する方法を提供することでもたらされる。
一つ以上の時間領域12、22、32での特定のイベントの発生時に、一つ以上の基準カウンタ(例えば44)の値が取り込まれ、タイムスタンプメッセージによって、デバッ
グインタフェース90の外部のデバッギング回路93に送信される。これらの値を供給することにより、さまざまな分散型の基準カウンタ(例えば44)同士間の関係が保たれるので、タイムスタンプによる注がつけられている他のタイプのデバッグメッセージにも適正な時間的順序付けが行われる。実施形態によっては基準カウンタ(例えば44)同士が関係を固定されず互いに独立して動作するので、一つ以上の基準カウンタが状態を変えるレートは、あらゆる他の基準カウンタから独立している。基準カウンタ(例えば44)は、特定の時間領域12、22、32が低電力状態に入っている間は一時的に停止されたり、特定の時間領域の力関係が変化するに伴い速いレート又は遅いレートで値を増やすよう変化したりする。特定の時間領域(例えば32)内の基準カウンタ(例えば44)の値とクロック状態とについての情報をメッセージにより発信することにより、多数の時間領域12、22、32に亘るカウンタ値の順序付けを保つことが可能である。
ある実施形態では、この「タイムスタンプメッセージ通信(timestamp messaging)」機能を、システム10が、動的に変わるレートで動作する多数の独立した基準カウンタ(例えば44)によるタイムスタンプ処理がなされたシステム10のイベント群の順序付けが容易になるよう、かつ、分散したソースの値の同期をデバッグインタフェース90の外部のツール(例えばデバッガ93)により達成するよう行う。タイムスタンプメッセージ通信はデバッグ情報の新しいソースであり、これによって、時間につれ変化する多数のクロック領域内の分散システムのイベント群を適正に時間的順序付けできる。タイムスタンプメッセージが絶対タイミング情報又は相対タイミング情報のどちらかを利用する場合がある。実施形態によって、相対タイミング情報がそのメッセージの長さを短くすることやそのメッセージの帯域幅を狭くすることができる。更に、時間領域の基準カウンタ群(例えば44)のうち幾つか又は全ての値を取り込む為に、マスタタイムスタンプ同期メッセージ群が周期的に用いられる場合がある。これによって、デバッグツール(例えばデバッガ93)が時間領域12、22、32の関係を同期させることが可能になり、これで、個々の時間領域のタイムスタンプ処理がなされたデバッグメッセージにより、システム10のイベント群の実際のシーケンスを正確に復元できる。
ある実施形態では、デバッグインタフェース90によって時間領域のタイムスタンプ同期メッセージが送られる(タイムスタンプメッセージ通信が使用可能な状態である)のは、以下の時間領域イベント群の場合である。
最初の目標領域タイムスタンプ同期メッセージのシステムリセット終了後又は目標領域タイムスタンプメッセージ通信が使用可能なときは常時
基準クロックの変化時
低電力状態に入った時
低電力状態から復帰した時
デバッグモードに入った時
デバッグモードから復帰した時
カウンタのオーバーラン発生時
周期的なカウンタの満了時
システム10内でのユーザが選択可能な一つ以上のイベント群の発生時
ここで留意すべきは、代替の実施形態では、以上にリストアップされた時間領域イベント群よりも多くの又は少ない又はこれらとは異なる時間領域イベント群を利用しうることである。
ある実施形態では、デバッグインタフェース90によってマスタタイムスタンプ同期メッセージが送られる(タイムスタンプメッセージ通信が使用可能な状態である)のは、以下の時間領域イベント群の場合である。
最初のマスタタイムスタンプ同期メッセージのシステムリセット終了後又はマスタタイムスタンプメッセージ通信が使用可能なときは常時
システム10の基準クロックの変化時
目標領域のクロック群のいずれか(又はそれらのうち選択されたクロック群)の変化時
低電力状態に入った時
低電力状態から復帰した時
デバッグモードに入った時
デバッグモードから復帰した時
特定の目標領域のカウンタのオーバーラン発生時
周期的なカウンタの満了時
システム10のイベントが内部で又は外部で生成された時
システム10内でのユーザが選択可能な一つ以上のイベント群の発生時
ここで留意すべきは、代替の実施形態では、以上にリストアップされた時間領域イベント群よりも多くの又は少ない又はこれらとは異なる時間領域イベント群を利用しうることである。
システム10の図示の形態は、デバッグを目的としてタイムスタンプ処理を行うという文脈の中で記載されたが、代替の実施形態では、任意の所望する目的でタイムスタンプ処理を行う。更に、デバッグインタフェース90は、JTAGインタフェース94やNEXUSインタフェース92などの標準のデバッグインタフェース回路とプロトコルとを用いたとして記載されたが、代替の実施形態では、デバッグインタフェース90として、標準又は非標準の、任意の所望するインタフェースを利用する。
ここで図5を参照すると、図5が図示するのは、システム10のある実施形態に従ってデバッグイベント群を時間順序付けする方法である。フロー200が楕円202から始まり、工程204へと進み、工程204では、デバッグレジスタ80(図1参照)がタイムスタンプ制御情報によりプログラムされる。ここで留意すべきは、システム10の代替の実施形態では、このタイムスタンプ制御情報が直接的に時間領域群に供給されることである。例えば、このタイムスタンプ制御情報を、デバッグインタフェース90や、システム10の外部に向かう他の相互接続(図示せず)や、システムバス96や、システム10の内部又は外部の別のソース(図示せず)などから受信する。システム10の実施形態によっては、レジスタ80がシステムバス96及びデバッグインタフェース90の一方又は両方を介して読み込まれる及び/又は書き込まれる。システム10の代替の実施形態では、レジスタ80はシステム10内のどこに設置されてもよい。
図5のフローが工程204から工程206へと続き、工程206では、タイムスタンプ制御情報が一つ以上のNEXUSデバッグ回路16、26、36へと送信される。ここで留意すべきは、システム10のある実施形態では、このタイムスタンプ制御情報をNEXUSデバッグ回路36に供給する為にタイムスタンプ制御信号群60が使用されることである。システム10のある実施形態では、このタイムスタンプ制御情報がカウンタ制御回路42に供給される。システム10のある実施形態では、このタイムスタンプ制御情報には、基準カウンタ44を有効にする制御情報と、タイムスタンプ信号群62に供給された情報に影響を及ぼす為に使用されるその他の制御情報とが含まれている。
図5のフローが工程206からひし形の判断記号208へと続き、ひし形の判断記号208では、「時間領域12、22、32のいずれかで時間領域イベント発生?」という質問がなされる。時間領域12、22、32のいずれでも時間領域イベントが発生していない場合、本フローはひし形の判断記号208にとどまり、時間領域12、22、32のいずれかで時間領域イベントが発生したかどうかの検査を続行する。時間領域イベントが時間領域12、22、32のいずれかで発生していた場合、本フローは工程210に進み、
工程210では、一つ以上の選択された時間領域イベント群に基づき、一つ以上の時間領域からNEXUSモジュール70にタイムスタンプ値が送信される。
ここで留意すべきは、時間領域イベントが発生した時間領域12、22、32が、必ずしもタイムスタンプ値を供給する時間領域12、22、32ではないことである。例えば、時間領域12で発生した時間領域イベントが時間領域32をトリガして、これにより、時間領域32がタイムスタンプをタイムスタンプ信号群62によってNEXUSモジュール70に供給する。一例として、この機能性の考えられる用途では、時間領域12の時間領域イベントをパワーダウンさせて、時間領域32にタイムスタンプをタイムスタンプ信号群62によって供給させ、これにより、機能回路14がパワーダウンさせられているときに機能回路34が何をしているかの決定が可能になる。この機能性は多種多様な他の目的に用いられてもよい。ある実施形態では、この機能性の実施を、タイムスタンプ制御回線群72、74、76で共有されている情報を介してなされる。代替の実施形態では、情報を共有する為の他の方法が機能回路14、24、34に提供され、これらの方法は、例えば、機能モジュール14、24、34のうち二つ以上同士間に結合された一つ以上の信号群によってなされる。
図5のフローが工程210から工程212へと続き、工程212では、NEXUSモジュール70からNEXUSインタフェース90を介してNEXUSタイムスタンプメッセージが送信される。ある実施形態では、このNEXUSタイムスタンプメッセージが、図4に図示されているマスタメッセージ120のフォーマットを使用している。代替の実施形態では、任意のメッセージフォーマットが使用されている。例えば、ある代替の実施形態では、時間領域メッセージ群に、シーケンスの開始を示すNEXUSのTCODEと、シーケンスの終了を示すNEXUSのTCODEとが順次、(例えば、図2と図3とに図示されているフォーマットの一つ以上を用いて)供給される。ここで留意すべきは、システム10の代替の実施形態では、タイムスタンプ情報の供給に任意の所望するフォーマットが使用されることである。図2〜図4に図示されているメッセージフォーマット群は単に例示を目的としている。代替のメッセージフォーマットはNEXUSとは無関係でありTCODEを用いない。代替のメッセージフォーマットはデバッグ機能に関連していたり関連していなかったりする。
図5のフローが工程212からひし形の判断記号214へと続き、ひし形の判断記号214では、「トレース続行?」という質問がなされる。トレースを続行する場合、本フローはひし形の判断記号208に戻り、時間領域12、22、32のいずれかで時間領域イベントが発生したかどうかの検査を続行する。トレースを続行しない場合、本フローは終了の楕円216に進み、この終了の楕円216で本フローが終了する。
ここで図2及び図3を参照すると、図2が図示しているのは、絶対時間領域基準値を使用した時間領域メッセージ100のフォーマットの一実施形態であり、図3が図示しているのは、相対時間領域基準値を使用している時間領域メッセージ110のフォーマットの一実施形態である。ある実施形態の場合は、時間領域メッセージのフォーマット100と110が、フィールド102とフィールド112を除き、同一である。ある実施形態では、絶対時間領域基準カウントビットフィールド102には、今の領域のイベントが発生した時間頃の基準カウンタ44(図1参照)の実際の値がある。ある実施形態では、相対時間領域基準カウントビットフィールド112には、(1)今の領域のイベントが発生した時間頃の基準カウンタ44の実際の値と(2)以前の領域のイベントが発生した時間頃の基準カウンタ44の前の値との間の差異がある。ここで留意すべきは、実施形態によっては、相対時間領域基準カウントの送信は、絶対時間領域基準カウントに比べて狭い帯域幅又は少ない信号群(例えば、図1のタイムスタンプ信号群62の)が必要なことである。
引き続き図2及び図3を参照すると、時間領域メッセージ100、110には、それぞれ、クロック状態ビットフィールド104、114がある。ある実施形態では、これらのクロック状態フィールド104と114とに、クロックが使用可能かどうかに関する情報や、どのクロック周波数が用いられているかに関する情報や、対応する時間領域32のクロックの状況に関するその他の情報などがある。時間領域メッセージフォーマット100、110には更に、それぞれ、時間領域識別子ビットフィールド106、116がある。ある実施形態では、これらの時間領域識別子106と116とに、その時間領域メッセージの情報を時間領域12、22、32のうちどれが供給しているかに関する情報がある。時間領域メッセージフォーマット100、110には更に、それぞれ、TCODEビットフィールド108、118がある。ある実施形態では、これらのTCODEビットフィールド108と118とに、時間領域メッセージ100及び110に用いられたメッセージタイプがどのNEXUSメッセージタイプかに関する情報がある。
図4を参照すると、マスタメッセージ120には、領域イベントに応えてタイムスタンプを供給した時間領域12、22、32ごとに、時間領域絶対カウント122と、124と、126とがある。よって、マスタメッセージ120には、一つ以上の時間領域絶対カウントビットフィールド122、124、126がある。ここで留意すべきは、ある実施形態の場合には、時間領域32がNEXUSモジュール70にタイムスタンプを(例えば、タイムスタンプ信号群62を介して)供給しなかった場合は、ビットフィールド126に有用なカウント値がないかビットフィールド126がマスタメッセージ120にないことである。同様に、時間領域12がNEXUSモジュール70にタイムスタンプを供給しなかった場合、ビットフィールド122に有用なカウント値がないかビットフィールド122がマスタメッセージ120にない。同じように、時間領域22がNEXUSモジュール70にタイムスタンプを供給しなかった場合、ビットフィールド124に有用なカウント値がないかビットフィールド124がマスタメッセージ120にない。ここで留意すべきは、一つ以上の時間領域12、22、32が、絶対時間領域基準カウントではなく、相対時間領域基準カウント(例えば112)をNEXUSモジュール70に供給する場合、必要に応じて、一つ以上の相対時間領域基準カウント値(例えば112)が、例えばタイムスタンプ制御回路72、74、76(図1参照)を介し、対応する絶対時間領域基準カウント(例えば102)に変換されうることである。代替の実施形態では、マスタメッセージ120にタイムスタンプを供給している全ての時間領域12、22、32が、相対時間領域基準カウント(例えば112)の代わりに、絶対時間領域基準カウント(例えば102)を使用する。
引き続き図4を参照すると、マスタメッセージ120には状況ビットフィールド128がある。システム10のある実施形態では、この状況フィールド128には、符号化された形又は符号化されていない形の、一つ以上のクロック状態フィールド104、114からの情報の全て又は一部がある。システム10のある実施形態では、時間領域絶対カウントフィールド122、124、126の一つにカウント値を供給する一つ以上の時間領域12、22、32が更に、任意の所望する状況情報を状況ビットフィールド128に供給する。システム10のある実施形態では、この状況ビットフィールド128には、クロック状態ビットフィールド104、114にある状況情報よりも多くの状況情報がある。この状況情報は、一つ以上の時間領域12、22、32内の回路の任意の所望する状況に関する情報でよい。
マスタメッセージ120には更にTCODEビットフィールド130がある。ある実施形態では、このTCODEビットフィールド130には、マスタメッセージ120に用いられたメッセージタイプがどのNEXUSメッセージタイプかに関する情報がある。
図1を参照すると、図示の実施形態では、時間領域32のNEXUSデバッグ回路36
及びデバッグバス38の一実施形態が詳細に記載されている。時間領域12にもNEXUSデバッグ回路16とデバッグバス18とがあり、これらの実施は時間領域32の場合と違ったやり方でも同じやり方でもよい。同じように、時間領域22にもNEXUSデバッグ回路26とデバッグバス28とがあり、これらの実施は時間領域32の場合と違ったやり方でも同じやり方でもよい。
ここで時間領域32の図示の実施形態の動作を記載する。システム10のある実施形態では、タイムスタンプ制御情報をタイムスタンプ制御回路74がタイムスタンプ制御信号群60を介してカウンタ制御回路42に供給する。次にカウンタ制御回路42はこの制御情報を用いて基準カウンタ44を制御する。システム10のある実施形態では、全ての領域イベント群を他の回路52が領域イベント情報信号群64を介してタイムスタンプ制御部74に供給する。代替の実施形態では、どの領域イベント群が選択されていてタイムスタンプ制御部74に領域イベント情報64を介して供給されるべきかに関する情報を、タイムスタンプ制御信号群60が他の回路52に供給する。
選択された領域イベントが発生したとタイムスタンプ制御部74が決定し次第、タイムスタンプ制御部74が制御情報をタイムスタンプ制御信号群60を介してカウンタ制御回路42に供給し、よって、基準カウンタ44の値を取り込みこれをタイムスタンプ信号群62を介してタイムスタンプ制御部74に供給するべきだということが示される。ここで留意すべきは、基準カウンタ44の値の取り込みを、タイムスタンプ制御部74に時間領域12又は22の領域イベントを用いてトリガしてよいことである。このことは、タイムスタンプ制御部72、74、76が情報を共有しているので可能である。代替の実施形態では、領域イベントの発生と基準カウンタの値の取り込みとの間の遅延を短縮することが望まれる。システム10のある実施形態では、この短縮を、領域イベントを検出することにより基準カウンタ44の値の取り込みが直接的にトリガされるよう、タイムスタンプ制御回路74の機能性をNEXUSデバッグ回路36に移動することにより達成し、NEXUSデバッグ回路36の外の回路(例えばタイムスタンプ制御部74)は一切巻き込まれない。
ここで留意すべきは、基準カウンタ44の値が、タイムスタンプ信号群62により供給され、時間領域メッセージ100の絶対時間領域基準カウント102(図2参照)を供給するよう考えられていることである。基準カウンタ44の値は、時間領域メッセージ110の相対時間領域基準カウントフォーマットが用いられる場合(図3参照)には、タイムスタンプ信号群62を介して相対時間領域基準カウントを供給するようカウンタ制御回路42により適切に修正されなくてはならない。タイムスタンプ回路40からタイムスタンプ信号群62へと供給されたタイムスタンプ情報のフォーマットは、いかなるやり方で決定されてもよい。例えば、レジスタ80がこのフォーマットを決定してもよい。代替の実施形態では、固定フォーマットを用いたり、フォーマットを任意の所望するやり方で交互に選択したりする。
代替の実施形態では、タイムスタンプ制御部74により行われる機能性の全て又は一部が、図1に図示されたように中心に集められたり、時間領域12、22、32自身の内部で交互に分散されたりする。図1に図示されたシステム10の実施形態では、他の信号群66を介して時間領域識別子(図2のビットフィールド106と図3のビットフィールド116とを参照)を供給する為に時間領域識別回路48が使用されている。同様に、他の信号群66を介してTCODE群(図2のビットフィールド108と、図3のビットフィールド118と、図4のビットフィールド130とを参照)を供給する為にTCODE生成器50が使用されている。同様に、他の信号群66を介してクロック状態情報(図2のビットフィールド104と、図3のビットフィールド114と、図4のビットフィールド128とを参照)を供給する為にクロック状態46が使用されている。
システム10のある実施形態では、システム10の外部に送信する為にタイムスタンプ制御回線72と74と76のうちどれに情報をデバッグインタフェース90へと供給させるかを調停し決定する為にアービタ78が使用されている。
システム10のある実施形態では、クロック状態フィールド104と114とに、クロックが使用可能かどうかに関する情報や、どのクロック周波数が用いられたかに関する情報や、対応する時間領域32のクロックの状況に関するその他の情報などがある。時間領域メッセージフォーマット100、110には更に、それぞれ、時間領域識別子ビットフィールド106、116がある。ある実施形態では、時間領域識別子106と116とに、時間領域メッセージの情報を時間領域12、22、32のうちどれが供給しているかに関する情報がある。時間領域メッセージフォーマット100、110には更に、それぞれ、TCODEビットフィールド108、118がある。ある実施形態では、TCODEビットフィールド108と118とに、時間領域メッセージ100及び110に用いられたメッセージタイプがどのNEXUSメッセージタイプかに関する情報がある。
本実施形態を特殊な導電性のタイプ又は電位の極性について記載したが、当業者にはさまざまな修正が可能なことが分かる。例えば、NEXUSデバッグ回路と共に任意のタイプの機能回路を用いてよい。さまざまな半導体プロセスが実施可能であり、導電性のタイプ及び電位の極性を逆にしてもよい。本システム10を、単一の集積回路上のSOC(system on a chip)として実施してもよいし、プリント回路基板面上で個別の構成要素により実施してもよい。タイムスタンプ処理メッセージ群のさまざまなフィールド群の物理的な位置付けを、図示された順序とは違う順序で配列してもよい。アービタ78を実施する為にさまざまなアービトレーション方式を使用してよい。レジスタ80を実施する為に任意のタイプの記憶装置を使用してよい。本明細書で記載されたカウンタは、さまざまなタイプの既知のハードウェアカウンタ回路で実施可能であり、どの一つの特定のタイプのカウンタにも限定されていない。バスのサイズをさまざまな可能なビット幅のうちのどれにしてもよい。さまざまな修正についての以上の記述は例示することのみを意図している。多種多様な他の修正も可能である。
ここで留意すべきは、本願で図示された要素が、その図示された要素を結合する図示されていない介在する要素を有することである。用語「coupled(結合された)」は、本明細書で用いられているように、「joined(つながれた)」又は「linked(連結された)」と定義されているが、必ずしも直接的にではなく、且つ必ずしも機械的にではない。
上述の明細書では、本発明が特殊な実施形態に関して記載された。しかし、当業者には、以下の請求項に述べられている本発明の範囲から逸脱することなく、さまざまな修正と変更とがなされうることが分かる。従って、本明細書及び図は、限定的な意味ではなく説明的な意味において考えられるべきであり、あらゆるこのような修正を本発明の範囲内に包含することが意図されている。
利益と、他の利点と、問題の解決とが、特殊な実施形態について以上に記載された。しかし、利益と、利点と、問題の解決と、任意の利益や利点や発生するかより顕著になってくる解決法をもたらす任意の要素(単数又は複数)とが、全ての請求項にとって、決定的又は必要又は本質的な、特質又は要素と解釈されるべきではない。本明細書で用いられているように、用語「comprises(含む、備える、など)」や、「comprising(含んでいる、備えている、など)」や、これらのその他の変形は、要素のリストを含むプロセスや方法や物品や装置が、これらの要素のみを含むのではなく、はっきりとはリストアップされていない他の要素や、これらのプロセスや方法や物品や装置に固有の
他の要素も含むように、非排他的に包含することを意図されている。
(追加テキスト)
(請求項1) システムにおいて、前記システムのイベント群を時間順序付けする方法であって、
複数の時間領域群の各々に対応する制御情報を供給する工程と、前記制御情報が、前記複数の時間領域群の各々のタイムスタンプメッセージが生成されるときを示し、
タイムスタンプメッセージの生成を必要とする時間領域イベントが前記複数の時間領域群のうちのいずれか一つで発生したときを決定する工程と、
前記時間領域イベントが発生したという決定に応えて、前記複数の時間領域群のうち所定の一つに対応するタイムスタンプメッセージを生成する工程とを含む、方法。
(請求項2) 請求項1に記載の方法であって、
前記制御情報に応えて、前記タイムスタンプメッセージの中に、メッセージ生成時間領域の時間カウントを含める工程を更に含み、前記時間カウントが、前記時間領域イベントが前記メッセージ生成時間領域で発生したときの絶対カウント値である、方法。
(請求項3) 請求項1に記載の方法であって、
前記制御情報に応えて、前記タイムスタンプメッセージの中に、メッセージ生成時間領域の時間カウントを含める工程を更に含み、前記時間カウントが、最後に発生した以前の時間領域イベントから計った、前記メッセージ生成時間領域で前記時間領域が発生したときの相対カウント値である、方法。
(請求項4) 請求項1に記載の方法であって、
前記制御情報に応えて、前記タイムスタンプメッセージの中に、前記複数の時間領域群の全てについて、前記時間領域イベントが発生したときに対応する時間カウントを含める工程を更に含む方法。
(請求項5) 請求項1に記載の方法であって、
前記タイムスタンプメッセージの中に、前記タイムスタンプメッセージが有している複数の所定のフォーマット群の一つを識別するフォーマット識別子フィールドを含める工程を更に含む方法。
(請求項6) 請求項1に記載の方法であって、
前記制御情報を用いてタイムスタンプメッセージの生成を必要とする時間領域イベントが前記複数の時間領域群の所定の一つで発生するときを指定する工程と、
これに続いて、前記時間領域イベントが前記複数の時間領域群の前記の所定の一つで発生したときを決定する工程とを更に含む方法。
(請求項7) 請求項1に記載の方法であって、
前記制御情報を記憶装置にプログラムする工程を更に含む方法。
(請求項8) 請求項1に記載の方法であって、
前記複数の時間領域群の少なくとも一つで前記時間領域イベントをもたらす所定の動作条件を識別する前記制御情報に応えて、タイムスタンプメッセージを生成する工程を更に含む方法。
(請求項9) 請求項8に記載の方法であって、ユーザプログラマブルイベント及びプログラマブルシステムイベントの少なくとも一つである前記所定の動作条件を識別する
工程を更に含む方法。
(請求項10) 前記少なくとも一つのプログラマブルシステムイベントが、電力の動作モードに入ること又はこのモードから出ることと、クロックのソースの変化と、クロックの周期性の変化と、ハードウェアのカウンタ値の所定の変化と、デバッグの動作モードになること及びこのモードから出ることとのうち、少なくとも一つを更に含む、請求項9に記載の方法。
(請求項11) イベント群を時間順序付けするシステムであって、
複数の機能回線モジュール群と、各機能回線モジュールが、異なる時間領域を表すクロックによりクロック制御されており、タイムスタンプ処理回路を有しており、前記タイムスタンプ処理回路が所定のイベントが発生した時点を示すメッセージを供給し、
前記複数の機能回線モジュール群の各々に結合されたインタフェースモジュールとを備え、前記インタフェースモジュールが、前記所定のイベントをトリガする少なくとも一つの動作条件を示す為に前記複数の機能回線モジュール群に制御情報を供給し、第1の時間領域を含む複数の時間領域群の一つで前記所定のイベントが発生したとき、前記インタフェースモジュールが前記第1の時間領域から少なくとも一つのタイムスタンプ処理メッセージを受信する、システム。
(請求項12) 請求項11に記載のシステムであって、前記インタフェースモジュールが、
前記制御情報を、前記所定のイベントをトリガする前記少なくとも一つの動作条件を決定するプログラマブル制御情報として保存する記憶回路を更に備えた、システム。
(請求項13) 請求項12に記載のシステムであって、前記所定のイベントをトリガする前記少なくとも一つの動作条件が、電力の動作モードに入ること又はこのモードから出ることと、クロックのソースの変化と、クロックの周期性の変化と、ハードウェアのカウンタ値の所定の変化と、デバッグの動作モードになること及びこのモードから出ることと、少なくとも一つのユーザプログラマブルイベントの発生とのうち、少なくとも一つを更に含む、システム。
(請求項14) 請求項11に記載のシステムであって、前記タイムスタンプ処理回路が、
対応する機能回線モジュールの絶対時間又は相対時間のどちらか一方を決定する為のカウンタと、
時間領域識別子を供給する時間領域識別回路と、
前記対応する機能回線モジュールのクロックの一つ以上の動作特性をもたらすクロック状態回路とを更に備えた、システム。
(請求項15) 請求項14に記載のシステムであって、前記タイムスタンプ処理回路が、対応するメッセージに含まれている情報のフォーマットを識別する為に各メッセージに含められるコードを生成する回路を更に備えた、システム。
(請求項16) 請求項14に記載のシステムであって、前記インタフェースモジュールが、対応するタイムスタンプ処理メッセージに含まれている情報のフォーマットを識別する為に各タイムスタンプ処理メッセージに含められるコードを生成する回路を有したアービタを更に備えた、システム。
(請求項17) 請求項11に記載のシステムであって、前記複数の機能回線モジュール群のうち少なくとも一つにより供給された前記メッセージがフォーマットを有し、前
記フォーマットが少なくとも時間カウント値を含み、前記時間カウント値が、既知の初期値を基準にした絶対値であり、クロック信号の状況情報が前記機能回線モジュール群の一つに関連付けられており、対応する時間領域を示す識別子が前記タイムスタンプ処理メッセージに関連付けられている、システム。
(請求項18) 請求項17に記載のシステムであって、前記メッセージがフォーマットを有し、前記フォーマットがフィールドを更に含み、前記フィールドが、前記タイムスタンプ処理メッセージの前記フォーマットが絶対値の時間カウント値を有していることを識別する、システム。
(請求項19) 請求項11に記載のシステムであって、前記複数の機能回線モジュール群のうち少なくとも一つにより供給された前記メッセージがフォーマットを有し、前記フォーマットが少なくとも時間カウント値を含み、前記時間カウント値が、最後に発生した所定のイベントを基準にした相対値であり、クロック信号の状況情報が前記機能回線モジュール群の一つに関連付けられており、対応する時間領域を示す識別子が前記タイムスタンプ処理メッセージに関連付けられている、システム。
(請求項20) 請求項19に記載のシステムであって、前記メッセージがフォーマットを有し、前記フォーマットがフィールドを更に含み、前記フィールドが、前記タイムスタンプ処理メッセージの前記フォーマットが相対値の時間カウント値を有していることを識別する、システム。
(請求項21) 請求項11に記載のシステムであって、前記タイムスタンプ処理メッセージがフォーマットを有し、前記フォーマットが、前記所定のイベントが発生したときの前記機能回線モジュール群の各々と前記機能回線モジュール群の各々に関連付けられた所定の状況情報とに対応する時間カウント値を含む、システム。
(請求項22) 前記制御情報がプログラマブルである、請求項11に記載のシステム。
(請求項23) 請求項11に記載のシステムであって、前記インタフェースモジュールが、
前記制御情報を保存する少なくとも一つのレジスタを更に備えた、システム。
(請求項24) 前記インタフェースモジュールが全ての時間領域群からのタイムスタンプ処理メッセージ群を共通のインタフェースポートで供給する、請求項11に記載のシステム。
(請求項25) 前記インタフェースモジュールの前記共通のインタフェースポートがIEEE_ISTO5001(NEXUS)に適合した、請求項24に記載のシステム。
(請求項26) イベント群を時間順序付けするシステムであって、
複数の機能回線モジュール手段と、各機能回線モジュールが、異なる時間領域を表すクロックによりクロック制御されており、タイムスタンプ処理回線手段を有しており、前記タイムスタンプ処理回線手段が、所定のイベントが発生した時点を示すメッセージを供給し、
前記複数の機能回線モジュール手段の各々に結合されたインタフェースモジュール手段と、を備え、前記インタフェースモジュール手段が、前記所定のイベントをトリガする少なくとも一つの動作条件を示す為に前記複数の機能回線モジュール手段に制御情報を供給
し、第1の時間領域を含む複数の時間領域群の一つで前記所定のイベントが発生したとき、前記インタフェースモジュール手段が前記第1の時間領域から少なくとも一つのタイムスタンプ処理メッセージを受信する、システム。
(請求項27) 全ての時間領域群からの前記タイムスタンプ処理メッセージ群が、共通のインタフェースポート手段のインタフェースモジュール手段により供給される、請求項26に記載のシステム。
(請求項28) システムであって、
同一の集積回路上に複数の機能回線モジュール群を備え、各機能回線モジュールが、異なる時間領域を表すクロックによりクロック制御されており、各機能モジュールが、タイムスタンプメッセージ群を供給する為にそれぞれ独立したクロックレートで動作しているタイムスタンプ処理回路を有した、システム。
(請求項29) 前記タイムスタンプメッセージ群の各々が、所定のイベントが発生した時点を示す、請求項28に記載のシステム。
(請求項30) 請求項29に記載のシステムであって、
前記複数の機能回線モジュール群の各々に結合されたインタフェースモジュールを更に備え、前記インタフェースモジュールが、前記所定のイベントをトリガする少なくとも一つの動作条件を示す為に前記複数の機能回線モジュール群に制御情報を供給し、第1の時間領域を含む複数の時間領域群の一つで前記所定のイベントが発生したとき、前記インタフェースモジュールが前記第1の時間領域から少なくとも一つのタイムスタンプ処理メッセージを受信する、システム。
(請求項31) システムにおいて多数の時間領域群で発生するイベント群の時間順序付けを再構成する方法であって、前記方法が、
順序付けされたタイムシーケンス及び順序付けされていないタイムシーケンスのうち一方の多数のタイムスタンプ処理メッセージ群を受信する工程と、
前記多数の時間領域群に関連付けられそれぞれ独立したクロックレートで動作している多数の時間領域カウンタ群の相対カウント値群をトラッキングする工程と、
デバッグ情報を時間順序付けされたシーケンスにソートする工程とを含み、前記デバッグ情報が、前記多数の時間領域群のうち一つから供給されたタイムスタンプに関連付けられた、方法。
(請求項32) 前記デバッグ情報をデバッグメッセージによって供給する工程を更に含む請求項31に記載の方法。
(請求項33) 前記デバッグメッセージを、プログラムトレースメッセージと、データトレースメッセージと、WATCHPOINTメッセージとのうちの、少なくとも一つとして実施する工程を更に含む請求項32に記載の方法。
(請求項34) 請求項31に記載の方法であって、前記多数のタイムスタンプメッセージ群を生成する工程を更に含み、前記生成する工程が、
多数の時間領域群の各々に対応する制御情報を供給する工程と、前記制御情報が、前記多数の時間領域群の各々のタイムスタンプメッセージが生成されるときを示し、
タイムスタンプメッセージの生成を必要とする時間領域イベントが前記多数の時間領域群のうちいずれか一つで発生したときを決定する工程と、
前記時間領域イベントが発生したという決定に応えて、前記多数の時間領域群のうち所定の一つに対応するタイムスタンプメッセージを生成する工程とによりなされる、方法。
本発明の一実施形態に係るシステムのブロック図。 本発明の一実施形態に係る時間領域メッセージ100のブロック図。 本発明の一実施形態に係る時間領域メッセージ110のブロック図。 本発明の一実施形態に係るマスタメッセージ120のブロック図。 本発明の一実施形態に係るデバッグイベント群を時間順序付けする方法のフロー図。

Claims (5)

  1. イベント群を時間順序付けするシステムであって、
    複数の機能回路モジュール群と、各機能回路モジュールが、互いに異なるクロックレートによりクロック制御される1つの領域を形成するとともに、タイムスタンプ処理回路を有しており、前記タイムスタンプ処理回路が所定のイベントが発生した時点を示すタイムスタンプメッセージを供給し、
    前記複数の機能回路モジュール群の各々に結合されたインタフェース・モジュールとを備え、前記インタフェースモジュールが、前記所定のイベントを発生させたときの少なくとも一つの動作条件を示す為に前記複数の機能回路モジュール群のそれぞれに対応する制御情報を供給し、第1のクロックにより制御される領域を含む複数の前記領域のうちの一つで前記所定のイベントが発生したとき、前記インタフェースモジュールが前記第1のクロックで制御される領域から少なくとも一つの前記タイムスタンプメッセージを受信する、システム。
  2. 請求項1に記載のシステムにおいて、前記インタフェース・モジュールが、
    前記制御情報を、前記所定のイベントを発生させたときの前記少なくとも一つの動作条件を決定するプログラマブル制御情報として保存する記憶回路を更に備えたシステム。
  3. 請求項2に記載のシステムにおいて、前記所定のイベントを発生させたときの前記少なくとも一つの動作条件が、電力が一定の動作モードに入ること又は前記動作モードから出ることと、基準クロックの変化と、クロックの周期性の変化と、ハードウェアのカウンタ値の所定の変化と、デバッグが一定の動作モードになること及びこのモードから出ることと、少なくとも一つのユーザプログラマブルイベントの発生とのうち、少なくとも一つを更に含むシステム。
  4. 請求項1に記載のシステムにおいて、前記タイムスタンプ処理回路が、
    対応する機能回路モジュールの絶対時間又は相対時間のどちらか一方を決定する為のカウンタと、
    時間領域識別子を供給する時間領域識別回路と、
    前記対応する機能回路モジュールのクロックの一つ以上の動作特性をもたらすクロック状態回路と、を更に備えたシステム。
  5. 請求項4に記載のシステムにおいて、前記タイムスタンプ処理回路が、対応するメッセージに含まれている情報のフォーマットを識別する為に各メッセージに含められるコードを生成する回路を更に備えたシステム。
JP2006542588A 2003-12-05 2004-11-04 多数の時間領域群を有するシステムでイベント群を時間順序付けする装置及び方法 Expired - Fee Related JP4805163B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/728,398 US7500152B2 (en) 2003-12-05 2003-12-05 Apparatus and method for time ordering events in a system having multiple time domains
US10/728,398 2003-12-05
PCT/US2004/037060 WO2005062181A1 (en) 2003-12-05 2004-11-04 Apparatus and method for time ordering events in a system having multiple time domains

Publications (3)

Publication Number Publication Date
JP2007513425A JP2007513425A (ja) 2007-05-24
JP2007513425A5 JP2007513425A5 (ja) 2007-12-20
JP4805163B2 true JP4805163B2 (ja) 2011-11-02

Family

ID=34677134

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006542588A Expired - Fee Related JP4805163B2 (ja) 2003-12-05 2004-11-04 多数の時間領域群を有するシステムでイベント群を時間順序付けする装置及び方法

Country Status (7)

Country Link
US (1) US7500152B2 (ja)
EP (1) EP1690184B1 (ja)
JP (1) JP4805163B2 (ja)
KR (1) KR101069120B1 (ja)
CN (1) CN100538652C (ja)
TW (1) TWI358636B (ja)
WO (1) WO2005062181A1 (ja)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4347082B2 (ja) * 2004-02-23 2009-10-21 日本電気株式会社 イベントトレースデータの時刻補正装置,時刻補正方法及び時刻補正プログラム
US7573831B1 (en) * 2004-07-01 2009-08-11 Sprint Communications Company L.P. System and method for analyzing transmission of billing data
US8881233B2 (en) * 2005-05-23 2014-11-04 Microsoft Corporation Resource management via periodic distributed time
US7239980B2 (en) * 2005-08-30 2007-07-03 International Business Machines Corporation Method and apparatus for adaptive tracing with different processor frequencies
US7904912B2 (en) * 2005-08-30 2011-03-08 International Business Machines Corporation Adaptive processor utilization reporting handling different processor frequencies
US7523352B2 (en) * 2005-09-09 2009-04-21 International Business Machines Corporation System and method for examining remote systems and gathering debug data in real time
US20070074081A1 (en) * 2005-09-29 2007-03-29 Dewitt Jimmie E Jr Method and apparatus for adjusting profiling rates on systems with variable processor frequencies
DE102006039244A1 (de) * 2006-08-22 2008-03-06 Robert Bosch Gmbh Automatisierungssystem und Verfahren zur Taktzeit-, Prozess- und/oder Maschinenoptimierung
US7661031B2 (en) * 2006-12-28 2010-02-09 International Business Machines Corporation Correlating macro and error data for debugging program error event
DE102007017865A1 (de) * 2007-04-13 2008-11-13 Dspace Digital Signal Processing And Control Engineering Gmbh Adaptions-Element und Testanordnung sowie Verfahren zum Betrieb derselben
US8024620B2 (en) * 2008-07-25 2011-09-20 Freescale Semiconductor, Inc. Dynamic address-type selection control in a data processing system
US8402258B2 (en) 2008-07-25 2013-03-19 Freescale Semiconductor, Inc. Debug message generation using a selected address type
US7958401B2 (en) * 2008-07-25 2011-06-07 Freescale Semiconductor, Inc. Debug trace messaging with one or more characteristic indicators
US8201025B2 (en) * 2009-04-29 2012-06-12 Freescale Semiconductor, Inc. Debug messaging with selective timestamp control
US8286032B2 (en) * 2009-04-29 2012-10-09 Freescale Semiconductor, Inc. Trace messaging device and methods thereof
JP2011100388A (ja) * 2009-11-09 2011-05-19 Fujitsu Ltd トレース情報収集装置,トレース情報処理装置,およびトレース情報収集方法
US8601315B2 (en) * 2010-11-01 2013-12-03 Freescale Semiconductor, Inc. Debugger recovery on exit from low power mode
US8683265B2 (en) * 2010-12-09 2014-03-25 Advanced Micro Devices, Inc. Debug state machine cross triggering
US9483268B2 (en) 2012-03-16 2016-11-01 International Business Machines Corporation Hardware based run-time instrumentation facility for managed run-times
US9465716B2 (en) 2012-03-16 2016-10-11 International Business Machines Corporation Run-time instrumentation directed sampling
US9454462B2 (en) 2012-03-16 2016-09-27 International Business Machines Corporation Run-time instrumentation monitoring for processor characteristic changes
US9430238B2 (en) 2012-03-16 2016-08-30 International Business Machines Corporation Run-time-instrumentation controls emit instruction
US9250902B2 (en) 2012-03-16 2016-02-02 International Business Machines Corporation Determining the status of run-time-instrumentation controls
US9471315B2 (en) 2012-03-16 2016-10-18 International Business Machines Corporation Run-time instrumentation reporting
US9367316B2 (en) 2012-03-16 2016-06-14 International Business Machines Corporation Run-time instrumentation indirect sampling by instruction operation code
US9442824B2 (en) 2012-03-16 2016-09-13 International Business Machines Corporation Transformation of a program-event-recording event into a run-time instrumentation event
US9405541B2 (en) 2012-03-16 2016-08-02 International Business Machines Corporation Run-time instrumentation indirect sampling by address
US9158660B2 (en) 2012-03-16 2015-10-13 International Business Machines Corporation Controlling operation of a run-time instrumentation facility
US9280447B2 (en) 2012-03-16 2016-03-08 International Business Machines Corporation Modifying run-time-instrumentation controls from a lesser-privileged state
US9411591B2 (en) 2012-03-16 2016-08-09 International Business Machines Corporation Run-time instrumentation sampling in transactional-execution mode
EP2763041A1 (en) * 2013-01-31 2014-08-06 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus, method and computer program for processing out-of-order events
JP6009108B2 (ja) * 2013-05-31 2016-10-19 ナスダック テクノロジー エービー 複数のソースからのメッセージ情報を弾性的に処理する装置、システムおよび方法
US10372590B2 (en) 2013-11-22 2019-08-06 International Business Corporation Determining instruction execution history in a debugger
US10212226B2 (en) 2014-01-16 2019-02-19 Hewlett Packard Enterprise Development Lp Node cluster synchronization
US9996445B2 (en) * 2014-01-17 2018-06-12 International Business Machines Corporation Computer flight recorder with active error detection
GB2506826B (en) 2014-02-12 2014-09-17 Ultrasoc Technologies Ltd Monitoring functional testing of an integrated circuit chip
US9639432B2 (en) * 2014-12-01 2017-05-02 Citrix Systems, Inc. Live rollback for a computing environment
TWI632461B (zh) * 2017-05-25 2018-08-11 緯穎科技服務股份有限公司 獲取時間戳記的方法以及使用該方法的電腦裝置
CN107807555A (zh) * 2017-09-18 2018-03-16 中国科学院合肥物质科学研究院 基于设备支持更改epics记录类型的时间戳的方法
CN113352329A (zh) * 2021-06-28 2021-09-07 珠海市一微半导体有限公司 机器人多系统调试信息的实时序列化方法及机器人

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000259455A (ja) * 1999-03-10 2000-09-22 Toshiba Corp 設備障害管理装置および設備障害管理方法、ならびに記憶媒体
JP2002202898A (ja) * 2000-12-28 2002-07-19 Toshiba Corp システムlsi
JP2002312202A (ja) * 2001-03-01 2002-10-25 Internatl Business Mach Corp <Ibm> 論理分割されたマルチプロセッシング・システム内で発生するエラー・イベントを報告する標準化されたフォーマット
JP2003256245A (ja) * 2002-02-26 2003-09-10 Xerox Corp モジュール式装置におけるデータロギングを付与する方法およびモジュール式装置

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4914657A (en) * 1987-04-15 1990-04-03 Allied-Signal Inc. Operations controller for a fault tolerant multiple node processing system
JPH027136A (ja) * 1988-06-27 1990-01-11 Toshiba Corp 稼働状況管理装置
JPH03113647A (ja) * 1989-09-28 1991-05-15 Hitachi Ltd 計算機システムおよびトレース装置
US5774377A (en) * 1991-07-30 1998-06-30 Hewlett-Packard Company Method and apparatus for monitoring a subsystem within a distributed system for providing an archive of events within a certain time of a trap condition
US5471631A (en) * 1992-10-19 1995-11-28 International Business Machines Corporation Using time stamps to correlate data processing event times in connected data processing units
US5317564A (en) 1992-12-30 1994-05-31 Intel Corporation Merging network for collection of data from multi-computers
JP3344121B2 (ja) * 1994-11-15 2002-11-11 株式会社日立製作所 分散処理プロセッサシステムにおける性能データ処理方法
US5642478A (en) * 1994-12-29 1997-06-24 International Business Machines Corporation Distributed trace data acquisition system
JPH096464A (ja) * 1995-06-21 1997-01-10 Hitachi Ltd 時刻設定装置
US6327630B1 (en) * 1996-07-24 2001-12-04 Hewlett-Packard Company Ordered message reception in a distributed data processing system
US5848264A (en) * 1996-10-25 1998-12-08 S3 Incorporated Debug and video queue for multi-processor chip
US6125368A (en) * 1997-02-28 2000-09-26 Oracle Corporation Fault-tolerant timestamp generation for multi-node parallel databases
US6269412B1 (en) * 1997-05-13 2001-07-31 Micron Technology, Inc. Apparatus for recording information system events
US6243838B1 (en) * 1997-05-13 2001-06-05 Micron Electronics, Inc. Method for automatically reporting a system failure in a server
US6170067B1 (en) * 1997-05-13 2001-01-02 Micron Technology, Inc. System for automatically reporting a system failure in a server
US6282701B1 (en) * 1997-07-31 2001-08-28 Mutek Solutions, Ltd. System and method for monitoring and analyzing the execution of computer programs
US6170063B1 (en) * 1998-03-07 2001-01-02 Hewlett-Packard Company Method for performing atomic, concurrent read and write operations on multiple storage devices
US6145122A (en) * 1998-04-27 2000-11-07 Motorola, Inc. Development interface for a data processor
US6502210B1 (en) * 1999-10-01 2002-12-31 Stmicroelectronics, Ltd. Microcomputer debug architecture and method
US6487683B1 (en) * 1999-10-01 2002-11-26 Stmicroelectronics Limited Microcomputer debug architecture and method
US6557119B1 (en) * 1999-10-01 2003-04-29 Stmicroelectronics Limited Microcomputer debug architecture and method
US6615370B1 (en) * 1999-10-01 2003-09-02 Hitachi, Ltd. Circuit for storing trace information
US6769076B1 (en) * 2000-02-07 2004-07-27 Freescale Semiconductor, Inc. Real-time processor debug system
US6895009B1 (en) * 2000-04-07 2005-05-17 Omneon Video Networks Method of generating timestamps for isochronous data
US6944187B1 (en) * 2000-08-09 2005-09-13 Alcatel Canada Inc. Feature implementation in a real time stamp distribution system
US6966015B2 (en) * 2001-03-22 2005-11-15 Micromuse, Ltd. Method and system for reducing false alarms in network fault management systems
US20020169863A1 (en) 2001-05-08 2002-11-14 Robert Beckwith Multi-client to multi-server simulation environment control system (JULEP)
US6883162B2 (en) 2001-06-06 2005-04-19 Sun Microsystems, Inc. Annotations for transaction tracing
DE10132313A1 (de) * 2001-07-06 2003-01-23 Infineon Technologies Ag Programmgesteuerte Einheit
US7031869B2 (en) * 2001-12-28 2006-04-18 Hewlett-Packard Development Company, L.P. Method and apparatus for managing timestamps when storing data
US7003730B2 (en) * 2002-03-08 2006-02-21 International Business Machines Corporation Graphical user interface to build event-based dynamic searches or queries using event profiles
US7058855B2 (en) * 2002-07-24 2006-06-06 Infineon Technologies Ag Emulation interface system
US7213040B1 (en) * 2002-10-29 2007-05-01 Novell, Inc. Apparatus for policy based storage of file data and meta-data changes over time
US20040148373A1 (en) * 2003-01-23 2004-07-29 International Business Machines Corporation Service level agreement compliance measurement
US7149926B2 (en) * 2003-05-22 2006-12-12 Infineon Technologies Ag Configurable real-time trace port for embedded processors
US7249288B2 (en) * 2004-09-14 2007-07-24 Freescale Semiconductor, Inc. Method and apparatus for non-intrusive tracing
US9038070B2 (en) * 2004-09-14 2015-05-19 Synopsys, Inc. Debug in a multicore architecture

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000259455A (ja) * 1999-03-10 2000-09-22 Toshiba Corp 設備障害管理装置および設備障害管理方法、ならびに記憶媒体
JP2002202898A (ja) * 2000-12-28 2002-07-19 Toshiba Corp システムlsi
JP2002312202A (ja) * 2001-03-01 2002-10-25 Internatl Business Mach Corp <Ibm> 論理分割されたマルチプロセッシング・システム内で発生するエラー・イベントを報告する標準化されたフォーマット
JP2003256245A (ja) * 2002-02-26 2003-09-10 Xerox Corp モジュール式装置におけるデータロギングを付与する方法およびモジュール式装置

Also Published As

Publication number Publication date
TW200535598A (en) 2005-11-01
JP2007513425A (ja) 2007-05-24
EP1690184A4 (en) 2010-09-29
EP1690184B1 (en) 2014-01-08
EP1690184A1 (en) 2006-08-16
CN1882915A (zh) 2006-12-20
KR101069120B1 (ko) 2011-10-04
WO2005062181A1 (en) 2005-07-07
US20050138484A1 (en) 2005-06-23
US7500152B2 (en) 2009-03-03
TWI358636B (en) 2012-02-21
KR20070001895A (ko) 2007-01-04
CN100538652C (zh) 2009-09-09

Similar Documents

Publication Publication Date Title
JP4805163B2 (ja) 多数の時間領域群を有するシステムでイベント群を時間順序付けする装置及び方法
US20240103995A1 (en) Recording processor instruction execution cycle and non-cycle count trace events
US9088433B2 (en) Device and method for recording protocol events in an advanced communication system
US7058855B2 (en) Emulation interface system
JP4512380B2 (ja) データを処理する方法と装置およびコンピュータ・プログラム製品
US20110239196A1 (en) Micro-Task Pipeline Visualization
US8990633B2 (en) Tracing support for interconnect fabric
JP4531773B2 (ja) Dmaデバイス用リアルタイムデバッグサポート及びその方法
US7496801B2 (en) Method, apparatus and system for facilitating debug for link interconnects
TWI278636B (en) Integrated circuit, diagnostic device for receiving diagnostic data in integrated circuit and method for generating diagnostic data
JP2002024201A (ja) 半導体集積回路
US9208008B2 (en) Method and apparatus for multi-chip reduced pin cross triggering to enhance debug experience
US8832500B2 (en) Multiple clock domain tracing
Vermeulen et al. Debugging distributed-shared-memory communication at multiple granularities in networks on chip
Tang et al. In-band cross-trigger event transmission for transaction-based debug
US20050114742A1 (en) System debugging device and system debugging method
Mahale et al. Architecture Analysis and Verification of I3C Protocol
US20110113311A1 (en) Apparatus and method for synchronization within systems having modules processing a clock signal at different rates
CN106444729A (zh) 一种基于实时系统的轨迹捕捉系统
CN115702355A (zh) 使用触发生成的自动化测试设备和方法
CN112599179B (zh) 一种并行的flash寿命测试装置
Huang et al. Application-level embedded communication tracer for many-core systems
Calvez et al. Real-time behavior monitoring for multi-processor systems
Stollon et al. OCP IP Debug Interfaces

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071031

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101207

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110307

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110314

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110407

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110414

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110428

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: 20110712

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: 20110810

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: 20140819

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees