(57)【要約】異なる時間領域群（１２、２２、３２）が存在するシステム（１０）のさまざまな部分で発生するイベント群を時間順序付けするシステム及び方法である。複数の機能回路群又はモジュール群（１４、２４、３４）の各々にタイムスタンプ処理回路（４０）が供給される。このタイムスタンプ回路が、所定のイベントが発生した時点を示すメッセージを供給する。複数の機能回路群（１４、２４、３４）の各々にインタフェースモジュール（７０）が結合されている。このインタフェースモジュールが、所定のイベントをトリガする少なくとも一つの動作条件を示す為に、且つ任意選択でメッセージフォーマットを指定する為に、複数の機能回路群に制御情報を供給する。このインタフェースモジュールが、１つ又は幾つか又は全ての時間領域からのタイムスタンプ処理メッセージを共通のインタフェースポート（９０）で供給する。
2007513425.tif 000002
【特許請求の範囲】
【請求項１】
システム中のイベント群を時間順序付けする方法であって、
複数の時間領域群の各々に対応して、同複数の時間領域群の各々のタイムスタンプメッセージが生成されるときを示す制御情報を供給する工程と、
タイムスタンプメッセージの生成を必要とする時間領域イベントが前記複数の時間領域群のうちのいずれか一つで発生したときを決定する工程と、
前記時間領域イベントが発生したという決定に応えて、前記複数の時間領域群のうち所定の一つに対応するタイムスタンプメッセージを生成する工程と、を含む方法。
【請求項２】
請求項１に記載の方法であって、
前記タイムスタンプメッセージの中に、前記タイムスタンプメッセージが有している複数の所定のフォーマット群の一つを識別するフォーマット識別子フィールドを含める工程を更に含む方法。
【請求項３】
請求項１に記載の方法であって、
前記制御情報を用いて、タイムスタンプメッセージの生成を必要とする時間領域イベントが前記複数の時間領域群の所定の一つで発生するときを特定する工程と、
これに続いて、前記時間領域イベントが前記複数の時間領域群の所定の一つで発生したときを決定する工程と、を更に含む方法。
【請求項４】
イベント群を時間順序付けするシステムであって、
複数の機能回路モジュール群であって、異なる時間領域を表すクロックによりクロック制御される各機能回路モジュールはタイムスタンプ処理回路を有しており、同タイムスタンプ処理回路は所定のイベントが発生した時点を示すメッセージを供給する、前記複数の機能回線モジュール群と、
前記複数の機能回線モジュール群の各々に結合されたインタフェースモジュールであって、同インタフェースモジュールが、前記所定のイベントをトリガする少なくとも一つの動作条件を示す為に前記複数の機能回線モジュール群に制御情報を供給し、第１の時間領域を含む複数の時間領域群の一つで前記所定のイベントが発生したとき、前記インタフェースモジュールが前記第１の時間領域から少なくとも一つのタイムスタンプ処理メッセージを受信するインタフェースモジュールと、
からなるシステム。
【請求項５】
請求項４に記載のシステムであって、前記タイムスタンプ処理回路が、
対応する機能回路モジュールの絶対時間又は相対時間のどちらか一方を決定する為のカウンタと、
時間領域識別子を供給する時間領域識別回路と、
前記対応する機能回路モジュール中のクロックの一つ以上の動作特性をもたらすクロック状態回路と、
を更に備えたシステム。
【請求項６】
請求項４に記載のシステムであって、前記インタフェースモジュールが前記制御情報を保存する少なくとも一つのレジスタを更に備えたシステム。
【請求項７】
前記インタフェースモジュールが全ての時間領域群からのタイムスタンプ処理メッセージ群を、ＩＥＥＥ＿ＩＳＴＯ５００１（ＮＥＸＵＳ）に適合したインタフェースモジュールの共通のインタフェースポートから供給する請求項４に記載のシステム。
【請求項８】
イベント群を時間順序付けするシステムであって、
複数の機能回路モジュール手段であって、異なる時間領域を表すクロックによりクロック制御される各機能回路モジュールはタイムスタンプ処理回路手段を有しており、同タイムスタンプ処理回路手段は所定のイベントが発生した時点を示すメッセージを供給する、前記複数の機能回路モジュール手段と、
前記複数の機能回線モジュール手段の各々に結合されたインタフェースモジュール手段であって、同インタフェースモジュール手段が、前記所定のイベントをトリガする少なくとも一つの動作条件を示す為に前記複数の機能回線モジュール手段に制御情報を供給し、第１の時間領域を含む複数の時間領域群の一つで前記所定のイベントが発生したとき、前記インタフェースモジュール手段が前記第１の時間領域から少なくとも一つのタイムスタンプ処理メッセージを受信する、前記インタフェースモジュール手段と、
からなるシステム。
【請求項９】
同一の集積回路上に複数の機能回路モジュール群を備え、各機能回路モジュールは異なる時間領域を表すクロックによりクロック制御されており、各機能モジュールはタイムスタンプメッセージ群を供給する為にそれぞれ独立したクロックレートで動作するタイムスタンプ処理回路を有する、システム。
【請求項１０】
システムにおいて多数の時間領域群で発生するイベント群の時間順序付けを再構成する方法であって、前記方法が、
順序付けされたタイムシーケンス及び順序付けされていないタイムシーケンスのうち一方の多数のタイムスタンプ処理メッセージ群を受信する工程と、
前記多数の時間領域群に関連付けられそれぞれ独立したクロックレートで動作している多数の時間領域カウンタ群の相対カウント値群を追跡する工程と、
デバッグ情報を時間順序付けされた順にソートする工程と、
からなり、
前記デバッグ情報が、前記多数の時間領域群のうち一つから供給されたタイムスタンプに関連付けられた、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に、イベント群の時間順序付けに関し、特に多数の時間領域群を有するシステムでのイベント群の時間順序付けに関する。
【背景技術】
【０００２】
タイムスタンプ処理は、あるシステムで、例えばシステムをデバッグする際などに、そのシステムで所望のイベントが発生したときを示す為に用いられる有用な方法である。単一の集積回路上に集積されたシステムを含むシステムでは、複数の時間領域群を含む。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
用途によっては、時間領域群を相互に、および、システム外部の時間基準に、直接関連させる簡単な方法がない。
【課題を解決するための手段】
【０００４】
本発明は、あるシステム中でイベント群を時間順序付けする方法を提供する。複数の時間領域群の各々に対応する制御情報が供給される。この制御情報が、複数の時間領域群の各々のタイムスタンプメッセージが生成されるときを示す。タイムスタンプメッセージの生成を必要とする時間領域イベントが複数の時間領域群のうちのいずれか一つで発生したときの判定がなされる。時間領域イベントが発生したという判定に応えて、複数の時間領域群のうち所定の一つに対応するタイムスタンプメッセージが生成される。ある形式では、タイムスタンプメッセージを出力する為に、複数の時間領域群の全てに同一のポートが用いられる。ある形式では、制御情報に応えて、タイムスタンプメッセージの中に、メッセージ生成時間領域の時間カウントを含め、この時間カウントが、時間領域イベントがメッセージ生成時間領域で発生したときの絶対カウント値である。別の形式では、制御情報に応えて、タイムスタンプメッセージの中に、メッセージ生成時間領域の時間カウントを含め、この時間カウントが、最後に発生した以前の時間領域イベントから計った、メッセージ生成時間領域で時間領域が発生したときの相対カウント値である。別の形式では、制御情報に応えて、タイムスタンプメッセージの中に、複数の時間領域群の全てについて、時間領域イベントが発生したときに対応する時間カウントを含める。更なる別の形式では、タイムスタンプメッセージの中に、そのタイムスタンプメッセージが有している複数の所定のフォーマット群の一つを識別するフォーマット識別子フィールドを含める。制御情報を用いて、タイムスタンプメッセージの生成を必要とする時間領域イベントが複数の時間領域群の所定の一つで発生するときを指定する。続いて、時間領域イベントが複数の時間領域群の所定の一つで発生したことが決定される。ある形式では、制御情報を記憶装置にプログラムする。別の形式では、複数の時間領域群の少なくとも一つで時間領域イベントをもたらす所定の動作条件を識別する制御情報に応えて、タイムスタンプメッセージが生成される。更なる別の形式では、ユーザプログラマブルイベント及びプログラマブルシステムイベントの少なくとも一つである所定の動作条件が識別される。別の形式では、少なくとも一つのプログラマブルシステムイベントが、電力の動作モードに入ること又はこのモードから出ることと、クロックのソースの変化と、クロックの周期性の変化と、ハードウェアのカウンタ値の所定の変化と、デバッグの動作モードになること及びこのモードから出ることとのうち、少なくとも一つを含む。本システムは、ある形式では、複数の機能回線モジュール群でできており、各機能回線モジュールが、異なる時間領域を表すクロックによりクロック制御されており、タイムスタンプ処理回路を有している。このタイムスタンプ処理回路は所定のイベントが発生した時点を示すメッセージを供給する。複数の
機能回線モジュール群の各々にインタフェースモジュールが結合されており、このインタフェースモジュールが、所定のイベントをトリガする少なくとも一つの動作条件を示す為に制御情報を複数の機能回線モジュール群に供給する。第１の時間領域を含む複数の時間領域群の一つで所定のイベントが発生したとき、インタフェースモジュールが第１の時間領域から少なくとも一つのタイムスタンプ処理メッセージを受信する。インタフェースモジュールは更に、制御情報を、所定のイベントをトリガする少なくとも一つの動作条件を決定するプログラマブル制御情報として保存する記憶回路を備えている。ある形式では、所定のイベントをトリガする少なくとも一つの動作条件が、電力の動作モードに入ること又はこのモードから出ることと、クロックのソースの変化と、クロックの周期性の変化と、ハードウェアのカウンタ値の所定の変化と、デバッグの動作モードになること及びこのモードから出ることと、少なくとも一つのユーザプログラマブルイベントの発生とのうち、少なくとも一つを更に含む。別の形式では、タイムスタンプ処理回路が、対応する機能回線モジュールの絶対時間又は相対時間のどちらか一方を決定する為のカウンタと、時間領域識別子を供給する時間領域識別回路と、対応する機能回線モジュールのクロックの一つ以上の動作特性をもたらすクロック状態回路とを更に含む。別の形式では、タイムスタンプ処理回路が、対応するメッセージに含まれている情報のフォーマットを識別する為に各メッセージに含められるコードを生成する回路を更に含む。インタフェースモジュールが、対応するタイムスタンプ処理メッセージに含まれている情報のフォーマットを識別する為に各タイムスタンプ処理メッセージに含められるコードを生成する回路を有したアービタを更に含む。一つの実装では、インタフェースモジュールの共通のインタフェースポートがＩＥＥＥ＿ＩＳＴＯ５００１（ＮＥＸＵＳ）に適合している。ある形式では、複数の機能回線モジュール群のうち少なくとも一つにより供給されたメッセージがフォーマットを有し、このフォーマットが少なくとも時間カウント値を含み、この時間カウント値が、既知の初期値を基準にした絶対値であり、クロック信号の状況情報が機能回線モジュール群の一つに関連付けられており、対応する時間領域を示す識別子がタイムスタンプ処理メッセージに関連付けられている。別の形式では、メッセージがフォーマットを有し、このフォーマットがフィールドを更に含み、このフィールドが、タイムスタンプ処理メッセージのフォーマットが絶対値の時間カウント値を有していることを識別する。更なる別の形式では、複数の機能回線モジュール群のうち少なくとも一つにより供給されたメッセージがフォーマットを有し、このフォーマットが少なくとも時間カウント値を含み、この時間カウント値が、最後に発生した所定のイベントを基準にした相対値であり、クロック信号の状況情報が機能回線モジュール群の一つに関連付けられており、対応する時間領域を示す識別子がタイムスタンプ処理メッセージに関連付けられている。更なるある形式では、メッセージがフォーマットを有し、このフォーマットが、フィールドを更に含み、このフィールドが、タイムスタンプ処理メッセージのフォーマットが相対値の時間カウント値を有していることを識別する。別の形式では、タイムスタンプ処理メッセージがフォーマットを有し、このフォーマットが、所定のイベントが発生したときの機能回線モジュール群の各々と機能回線モジュール群の各々に関連付けられた所定の状況情報とに対応する時間カウント値を含む。図示されているように、制御情報がプログラマブルであり、インタフェースモジュールが、制御情報を保存する少なくとも一つのレジスタを更に備えている。
【０００５】
別の形式では、同一の集積回路上に複数の機能回線モジュール群を有するシステムが提供される。各機能回線モジュールが、異なる時間領域を表すクロックによりクロック制御されている。各機能モジュールがタイムスタンプ処理回路を有しており、タイムスタンプメッセージ群を供給する為にそれぞれ独立したクロックレートで動作している。タイムスタンプメッセージ群の各々が、所定のイベントが発生した時点を示す。インタフェースモジュールが複数の機能回線モジュールの各々に結合されており、このインタフェースモジュールが、所定のイベントをトリガする少なくとも一つの動作条件を示す為に制御情報を複数の機能回線モジュール群に供給する。第１の時間領域を含む複数の時間領域群の一つ
で所定のイベントが発生したとき、インタフェースモジュールが少なくとも一つのタイムスタンプ処理メッセージを第１の時間領域から受信する。別の形式では、システムにおいて多数の時間領域群で発生するイベント群の時間順序付けを再構成する方法が提供される。多数のタイムスタンプ処理メッセージ群が、順序付けされたタイムシーケンス及び順序付けされていないタイムシーケンスの一つで受信される。多数の時間領域群に関連付けられそれぞれ独立したクロックレートで動作している多数の時間領域カウンタ群の相対カウント値群がトラッキングされる。デバッグ情報を時間順序付けされたシーケンスにソートし、このデバッグ情報が、多数の時間領域群のうち一つから供給されたタイムスタンプに関連付けられている。このデバッグ情報がデバッグメッセージによって供給される。このデバッグメッセージ群が、プログラムトレースメッセージと、データトレースメッセージと、ＷＡＴＣＨＰＯＩＮＴメッセージとのうちの、少なくとも一つとして実施される。多数のタイムスタンプメッセージ群が、多数の時間領域群の各々に対応する制御情報を供給する工程により生成され、この制御情報が、多数の時間領域群の各々のタイムスタンプメッセージが生成されるときを示す。タイムスタンプメッセージの生成を必要とする時間領域イベントが前記多数の時間領域群のうちいずれか一つで発生したときについて決定がなされる。時間領域イベントが発生したという決定に応えて、前記多数の時間領域群のうち所定の一つに対応するタイムスタンプメッセージが生成される。
【発明を実施するための最良の形態】
【０００６】
本発明は例として図示されたものであり添付の図面に限定されておらず、同じ参照記号が同様な要素を示す。
当業者には、本図の要素が簡単明瞭に図示されており、必ずしも一律の縮尺に従ってはいないことが分かる。例えば、要素の中には、本発明の実施形態の理解の改善を助けるべく本図においてはその寸法が他の要素と比べて誇張されているものがある。
【０００７】
本明細書で用いられているように、用語「バス」は、一つ以上のさまざまなタイプの情報、例えば、データ、アドレス、制御、状況などの転送に使用されている複数の信号群又は導体群を参照する為に用いられている。
【０００８】
図１に図示されているのは、データ処理システム１０であり、一般に、時間領域１２と、時間領域３２と、時間領域２２とを有している。この時間領域１２には、機能回路１４を表すモジュールがある。機能回路１４に含まれているのはＮＥＸＵＳデバッグ回路１６であり、このＮＥＸＵＳデバッグ回路１６で「ＮＥＸＵＳ」（登録商標）が指しているのは、集積回路をデバッグする、及び／又は、エミュレートする、及び／又は、テストする為の公的に使用可能なＩＥＥＥ＿ＩＳＴＯ５００１標準である。同様に、時間領域３２には機能回路３４とＮＥＸＵＳデバッグ回路３６とがある。時間領域２２には機能回路２４とＮＥＸＵＳデバッグ回路２６とがある。ＮＥＸＵＳデバッグ回路３６のある可能な実施形態が詳細に図示されている。ＮＥＸＵＳデバッグ回路１６とＮＥＸＵＳデバッグ回路２６とが同じように又は変えて実施できることが明らかである。機能回路１４はデバッグバス１８によりＮＥＸＵＳモジュール７０に結合されている。ＮＥＸＵＳデバッグ回路３６はデバッグバス３８によりＮＥＸＵＳモジュール７０に結合されており、ＮＥＸＵＳデバッグ回路２６はデバッグバス２８によりＮＥＸＵＳモジュール７０に結合されている。
【０００９】
ＮＥＸＵＳデバッグ回路３６にはタイムスタンプ回路４０があり、タイムスタンプ回路４０はカウンタ制御回路４２と基準カウンタ４４とを有している。ＮＥＸＵＳデバッグ回路３６には更に、クロック状態回線４６と、時間領域識別子４８と、ＴＣＯＤＥ生成器５０と、他の回路５２とがある。デバッグバス３８は、ＮＥＸＵＳモジュール７０からカウンタ制御回路４２へと結合されたタイムスタンプ制御バス６０と、カウンタ制御回路４２からＮＥＸＵＳモジュール７０へと結合されたタイムスタンプ信号群６２と、他の回路５２からＮＥＸＵＳモジュール７０へと結合された領域イベント情報バス６４と、他の信号
群６６の双方向バスとにより形成されている。ある実施形態では、他の信号群６６が、クロック状態４６と、時間領域識別子４８と、ＴＣＯＤＥ生成器５０と、他の回路５２とを、ＮＥＸＵＳモジュール７０に結合する。これら他の信号群６６は他の回路５２とＮＥＸＵＳモジュール７０との間に双方向に結合されている。
【００１０】
このＮＥＸＵＳモジュール７０には一般に、各時間領域に関連付けられたタイムスタンプ制御回線がある。図示の形態では、デバッグバス１８にタイムスタンプ制御部７２が結合されている。デバッグバス３８を形成している各バスにタイムスタンプ制御部７４が結合されているが、ＮＥＸＵＳモジュール７０内の、本明細書で記載されたデバッグ機能に関連していない他の制御回路（図示せず）に結合している他の信号群６６のバスには結合されていない。デバッグバス２８にタイムスタンプ制御部７６が結合されている。タイムスタンプ制御部７２、タイムスタンプ制御部７４、タイムスタンプ制御部７６の各々と、複数のレジスタ８０とに、アービタ７８が双方向に結合されている。タイムスタンプ制御部７２、７４、７６の各々が複数のレジスタ８０に双方向に結合されている。アービタ７８に双方向のＮＥＸＵＳインタフェースポート９２が結合されている。複数のレジスタ８０に双方向のＪＴＡＧインタフェース９４が結合されている。この複数のレジスタ８０がシステムバス９６と双方向に結合されている。システムバス９６は更に、時間領域１２、時間領域３２、時間領域２２の各々にも双方向に結合されている。
【００１１】
ここで留意すべきは、集積回路の、デバッグ、エミュレーション、及び／又は、テストの目的に用いた共通の標準が、周知のＪＴＡＧ（Ｊｏｉｎｔ  Ｔｅｓｔ  Ａｃｔｉｏｎ  Ｇｒｏｕｐ）ＩＥＥＥ（米国電気電子学会）１１９４．１のテストアクセスポート及びバウンダリスキャンアーキテクチャだということである。デバッグインタフェース９０はＪＴＡＧインタフェースを有するものとして図示されたが、システム１０の代替の実施形態では、任意の所望するインタフェースを用いてもよい。例えば、標準のＪＴＡＧインタフェースに加えて、多種多様な他のデバッグ、エミュレーション、及び／又は、テストのインタフェースが集積回路に用いられていてもよい。同様に、代替の実施形態では、ＮＥＸＵＳインタフェース９２の代わりに、多種多様な他のデバッグ、エミュレーション、及び／又は、テストのインタフェースを用いてもよい。
【００１２】
システム１０のある実施形態では、システム１０をデバッグするプロセスの少なくとも一部の間、任意選択でデバッグインタフェース９０にデバッガ９３が結合されている。代替の実施形態では、デバッグする機能を果たすのに外部のデバッガ９３を必要としないことがある。ある実施形態では、システム１０が単一の集積回路で実施され、デバッガ９３がその集積回路の外部で実施される。実施形態によっては、システム１０の通常動作の間はデバッガ９３がデバッグインタフェース９０に結合されていない。デバッガ９３を、ハードウェアとソフトウェアとの任意の組み合わせを用いて実施してよい。
【００１３】
ここで図１のシステム１０の動作を記載する。図示されているある実施形態では、複数の時間領域群１２、２２、３２が、その時間領域内でイベントがいつ発生したかに関する時間関連の情報を供給する。ある実施形態では、時間領域はシステム１０の共通の電力領域及び／又はクロック領域のうち局所的な範囲である。時間領域内の要素は設計により同期させられたままであるが、時間領域は典型的に、他の時間領域と完全に同期させられたままである必要はない。ある実施形態では、時間領域１２、２２、３２の各自に、それぞれ、機能回路１４、２４、３４があり、これらの機能回路は独立したクロックを用いるか同一のクロックから派生したものを用いて機能する。機能回路１４、２４、３４は任意の所望する機能を果たす。ここで留意すべきは、各時間領域１２、２２、３２には更に、それぞれ、ＮＥＸＵＳデバッグ回路１６、２６、３６があることである。代替の実施形態では、ＮＥＸＵＳデバッグ回路ではない他の回路１６、２６、３６を用いる。
【００１４】
ここで留意すべきは、システム１０は３つの時間領域、言い換えれば時間の領域１２、２２、３２を有して図示されたが、代替の実施形態では時間領域が幾つあってもよいことである。複数の時間領域群１２、２２、３２を有するシステム１０の一つの例は、時間領域１２に非常に高いクロックレート又は周波数で動作するプロセッサがあり、時間領域２２に、電力を温存する目的で低いクロックレート又は周波数で動作する回路があり、時間領域３２に、第３のクロックレート又は周波数で動作するよう設計された周辺モジュールがある、集積回路である。代替の実施形態では、時間領域群の境界線が任意の所望する基準を用いて描写される。
【００１５】
実施形態によって、異なる時間領域群の回路が独立して動作し、他の時間領域のクロック周波数同士間又はデューティサイクル同士間に相対的な制約はない。加えて、時間領域内での回路のクロック制御が、一時停止されたり、その周波数がシステム１０全体の状態の変化に伴い変わったりし、このクロック制御はその他の時間領域のクロック制御とは別個に発生する。時間領域群は代替の実施形態では各様に機能し定義される。ある実施形態では、独立したクロックレートには、一つ以上のさまざまな方法による別個で独特なクロックレートがあり、これらは、例えば、共通のクロックの約数であるクロックや、別個に生成され意図的には関連していないクロックや、特定の時間領域に対しては一時的に停止される共通のクロックソースなどである。
【００１６】
ある実施形態では、それぞれ独立したクロックレートが、あるやり方で別個に制御可能なクロックのレートなので、特殊な関係があることは保証されず、よって、少なくともある一定の条件の下では独立していると見なされる。ここで留意すべきは、それぞれ独立したクロックレートが、可能な条件のサブセットについては互いに関連可能なことである。本明細書で記載されたタイムスタンプメッセージ通信の機能性は、それぞれ独立したクロックレートを有する複数の時間領域群（例えば、１２、２２、３２）で用いられた際に非常に有用であるが、代替の実施形態では、複数の時間領域群のうち、任意又は幾つか又は全てが、それぞれ独立したクロックレートを有する必要がない。
【００１７】
実施形態によっては、システム１０内のイベント群の時間的順序付けを正しく再構成する目的で、個々の時間領域（例えば、１２、２２、３２）内の各基準カウンタ（例えば４４）同士間の関係を決定しなくてはならない。これらの関係の決定を、個々の時間領域が低電力状態で移行した際と、クロック周波数がイベント群を変えた際と、個々の基準カウンタの更新時に相対的なレートに他の要因が影響を及ぼした際とに行うことは、システム１０の個々の時間領域内で発生する他のタイムスタンプ処理済みデバッグイベント群の関係の決定に非常に役立つ。本明細書で記載されたタイムスタンプメッセージ通信の機能性により、ＮＥＸＵＳデバッグ回路１６、３６、２６により生成されるような他のタイプのデバッグメッセージにタイムスタンプ情報を適用するのに用いられる分散型の基準カウンタ同士間の関係の決定に必要な情報が供給される。これらの他のタイプのデバッグメッセージは、ＮＥＸＵＳ標準で周知であり、これらのメッセージには、プログラムトレースや、データトレースや、ＷＡＴＣＨＰＯＩＮＴのメッセージ通信などのメッセージが含まれる。ある実施形態では、特定の時間領域により生成されたこれらのメッセージの各々が、特定の時間領域内の基準カウンタの状態に関するタイムスタンプ値によって増やされる。多数の時間領域に亘って生成されたイベント群の時間的順序付けの適正なトレースの復元の為には、特定のデバッグメッセージに供給されたこれらの基準カウンタの値が相互に関連していなくてはならない。この全体的な調整能力が、本明細書で記載されたタイムスタンプメッセージ通信により、システム１０内の個々の基準カウンタ同士間の関係を決定する方法を提供することでもたらされる。
【００１８】
一つ以上の時間領域１２、２２、３２での特定のイベントの発生時に、一つ以上の基準カウンタ（例えば４４）の値が取り込まれ、タイムスタンプメッセージによって、デバッ
グインタフェース９０の外部のデバッギング回路９３に送信される。これらの値を供給することにより、さまざまな分散型の基準カウンタ（例えば４４）同士間の関係が保たれるので、タイムスタンプによる注がつけられている他のタイプのデバッグメッセージにも適正な時間的順序付けが行われる。実施形態によっては基準カウンタ（例えば４４）同士が関係を固定されず互いに独立して動作するので、一つ以上の基準カウンタが状態を変えるレートは、あらゆる他の基準カウンタから独立している。基準カウンタ（例えば４４）は、特定の時間領域１２、２２、３２が低電力状態に入っている間は一時的に停止されたり、特定の時間領域の力関係が変化するに伴い速いレート又は遅いレートで値を増やすよう変化したりする。特定の時間領域（例えば３２）内の基準カウンタ（例えば４４）の値とクロック状態とについての情報をメッセージにより発信することにより、多数の時間領域１２、２２、３２に亘るカウンタ値の順序付けを保つことが可能である。
【００１９】
ある実施形態では、この「タイムスタンプメッセージ通信（ｔｉｍｅｓｔａｍｐ  ｍｅｓｓａｇｉｎｇ）」機能を、システム１０が、動的に変わるレートで動作する多数の独立した基準カウンタ（例えば４４）によるタイムスタンプ処理がなされたシステム１０のイベント群の順序付けが容易になるよう、かつ、分散したソースの値の同期をデバッグインタフェース９０の外部のツール（例えばデバッガ９３）により達成するよう行う。タイムスタンプメッセージ通信はデバッグ情報の新しいソースであり、これによって、時間につれ変化する多数のクロック領域内の分散システムのイベント群を適正に時間的順序付けできる。タイムスタンプメッセージが絶対タイミング情報又は相対タイミング情報のどちらかを利用する場合がある。実施形態によって、相対タイミング情報がそのメッセージの長さを短くすることやそのメッセージの帯域幅を狭くすることができる。更に、時間領域の基準カウンタ群（例えば４４）のうち幾つか又は全ての値を取り込む為に、マスタタイムスタンプ同期メッセージ群が周期的に用いられる場合がある。これによって、デバッグツール（例えばデバッガ９３）が時間領域１２、２２、３２の関係を同期させることが可能になり、これで、個々の時間領域のタイムスタンプ処理がなされたデバッグメッセージにより、システム１０のイベント群の実際のシーケンスを正確に復元できる。
【００２０】
ある実施形態では、デバッグインタフェース９０によって時間領域のタイムスタンプ同期メッセージが送られる（タイムスタンプメッセージ通信が使用可能な状態である）のは、以下の時間領域イベント群の場合である。
【００２１】
最初の目標領域タイムスタンプ同期メッセージのシステムリセット終了後又は目標領域タイムスタンプメッセージ通信が使用可能なときは常時
基準クロックの変化時
低電力状態に入った時
低電力状態から復帰した時
デバッグモードに入った時
デバッグモードから復帰した時
カウンタのオーバーラン発生時
周期的なカウンタの満了時
システム１０内でのユーザが選択可能な一つ以上のイベント群の発生時
ここで留意すべきは、代替の実施形態では、以上にリストアップされた時間領域イベント群よりも多くの又は少ない又はこれらとは異なる時間領域イベント群を利用しうることである。
【００２２】
ある実施形態では、デバッグインタフェース９０によってマスタタイムスタンプ同期メッセージが送られる（タイムスタンプメッセージ通信が使用可能な状態である）のは、以下の時間領域イベント群の場合である。
【００２３】
最初のマスタタイムスタンプ同期メッセージのシステムリセット終了後又はマスタタイムスタンプメッセージ通信が使用可能なときは常時
システム１０の基準クロックの変化時
目標領域のクロック群のいずれか（又はそれらのうち選択されたクロック群）の変化時
低電力状態に入った時
低電力状態から復帰した時
デバッグモードに入った時
デバッグモードから復帰した時
特定の目標領域のカウンタのオーバーラン発生時
周期的なカウンタの満了時
システム１０のイベントが内部で又は外部で生成された時
システム１０内でのユーザが選択可能な一つ以上のイベント群の発生時
ここで留意すべきは、代替の実施形態では、以上にリストアップされた時間領域イベント群よりも多くの又は少ない又はこれらとは異なる時間領域イベント群を利用しうることである。
【００２４】
システム１０の図示の形態は、デバッグを目的としてタイムスタンプ処理を行うという文脈の中で記載されたが、代替の実施形態では、任意の所望する目的でタイムスタンプ処理を行う。更に、デバッグインタフェース９０は、ＪＴＡＧインタフェース９４やＮＥＸＵＳインタフェース９２などの標準のデバッグインタフェース回路とプロトコルとを用いたとして記載されたが、代替の実施形態では、デバッグインタフェース９０として、標準又は非標準の、任意の所望するインタフェースを利用する。
【００２５】
ここで図５を参照すると、図５が図示するのは、システム１０のある実施形態に従ってデバッグイベント群を時間順序付けする方法である。フロー２００が楕円２０２から始まり、工程２０４へと進み、工程２０４では、デバッグレジスタ８０（図１参照）がタイムスタンプ制御情報によりプログラムされる。ここで留意すべきは、システム１０の代替の実施形態では、このタイムスタンプ制御情報が直接的に時間領域群に供給されることである。例えば、このタイムスタンプ制御情報を、デバッグインタフェース９０や、システム１０の外部に向かう他の相互接続（図示せず）や、システムバス９６や、システム１０の内部又は外部の別のソース（図示せず）などから受信する。システム１０の実施形態によっては、レジスタ８０がシステムバス９６及びデバッグインタフェース９０の一方又は両方を介して読み込まれる及び／又は書き込まれる。システム１０の代替の実施形態では、レジスタ８０はシステム１０内のどこに設置されてもよい。
【００２６】
図５のフローが工程２０４から工程２０６へと続き、工程２０６では、タイムスタンプ制御情報が一つ以上のＮＥＸＵＳデバッグ回路１６、２６、３６へと送信される。ここで留意すべきは、システム１０のある実施形態では、このタイムスタンプ制御情報をＮＥＸＵＳデバッグ回路３６に供給する為にタイムスタンプ制御信号群６０が使用されることである。システム１０のある実施形態では、このタイムスタンプ制御情報がカウンタ制御回路４２に供給される。システム１０のある実施形態では、このタイムスタンプ制御情報には、基準カウンタ４４を有効にする制御情報と、タイムスタンプ信号群６２に供給された情報に影響を及ぼす為に使用されるその他の制御情報とが含まれている。
【００２７】
図５のフローが工程２０６からひし形の判断記号２０８へと続き、ひし形の判断記号２０８では、「時間領域１２、２２、３２のいずれかで時間領域イベント発生？」という質問がなされる。時間領域１２、２２、３２のいずれでも時間領域イベントが発生していない場合、本フローはひし形の判断記号２０８にとどまり、時間領域１２、２２、３２のいずれかで時間領域イベントが発生したかどうかの検査を続行する。時間領域イベントが時間領域１２、２２、３２のいずれかで発生していた場合、本フローは工程２１０に進み、
工程２１０では、一つ以上の選択された時間領域イベント群に基づき、一つ以上の時間領域からＮＥＸＵＳモジュール７０にタイムスタンプ値が送信される。
【００２８】
ここで留意すべきは、時間領域イベントが発生した時間領域１２、２２、３２が、必ずしもタイムスタンプ値を供給する時間領域１２、２２、３２ではないことである。例えば、時間領域１２で発生した時間領域イベントが時間領域３２をトリガして、これにより、時間領域３２がタイムスタンプをタイムスタンプ信号群６２によってＮＥＸＵＳモジュール７０に供給する。一例として、この機能性の考えられる用途では、時間領域１２の時間領域イベントをパワーダウンさせて、時間領域３２にタイムスタンプをタイムスタンプ信号群６２によって供給させ、これにより、機能回路１４がパワーダウンさせられているときに機能回路３４が何をしているかの決定が可能になる。この機能性は多種多様な他の目的に用いられてもよい。ある実施形態では、この機能性の実施を、タイムスタンプ制御回線群７２、７４、７６で共有されている情報を介してなされる。代替の実施形態では、情報を共有する為の他の方法が機能回路１４、２４、３４に提供され、これらの方法は、例えば、機能モジュール１４、２４、３４のうち二つ以上同士間に結合された一つ以上の信号群によってなされる。
【００２９】
図５のフローが工程２１０から工程２１２へと続き、工程２１２では、ＮＥＸＵＳモジュール７０からＮＥＸＵＳインタフェース９０を介してＮＥＸＵＳタイムスタンプメッセージが送信される。ある実施形態では、このＮＥＸＵＳタイムスタンプメッセージが、図４に図示されているマスタメッセージ１２０のフォーマットを使用している。代替の実施形態では、任意のメッセージフォーマットが使用されている。例えば、ある代替の実施形態では、時間領域メッセージ群に、シーケンスの開始を示すＮＥＸＵＳのＴＣＯＤＥと、シーケンスの終了を示すＮＥＸＵＳのＴＣＯＤＥとが順次、（例えば、図２と図３とに図示されているフォーマットの一つ以上を用いて）供給される。ここで留意すべきは、システム１０の代替の実施形態では、タイムスタンプ情報の供給に任意の所望するフォーマットが使用されることである。図２〜図４に図示されているメッセージフォーマット群は単に例示を目的としている。代替のメッセージフォーマットはＮＥＸＵＳとは無関係でありＴＣＯＤＥを用いない。代替のメッセージフォーマットはデバッグ機能に関連していたり関連していなかったりする。
【００３０】
図５のフローが工程２１２からひし形の判断記号２１４へと続き、ひし形の判断記号２１４では、「トレース続行？」という質問がなされる。トレースを続行する場合、本フローはひし形の判断記号２０８に戻り、時間領域１２、２２、３２のいずれかで時間領域イベントが発生したかどうかの検査を続行する。トレースを続行しない場合、本フローは終了の楕円２１６に進み、この終了の楕円２１６で本フローが終了する。
【００３１】
ここで図２及び図３を参照すると、図２が図示しているのは、絶対時間領域基準値を使用した時間領域メッセージ１００のフォーマットの一実施形態であり、図３が図示しているのは、相対時間領域基準値を使用している時間領域メッセージ１１０のフォーマットの一実施形態である。ある実施形態の場合は、時間領域メッセージのフォーマット１００と１１０が、フィールド１０２とフィールド１１２を除き、同一である。ある実施形態では、絶対時間領域基準カウントビットフィールド１０２には、今の領域のイベントが発生した時間頃の基準カウンタ４４（図１参照）の実際の値がある。ある実施形態では、相対時間領域基準カウントビットフィールド１１２には、（１）今の領域のイベントが発生した時間頃の基準カウンタ４４の実際の値と（２）以前の領域のイベントが発生した時間頃の基準カウンタ４４の前の値との間の差異がある。ここで留意すべきは、実施形態によっては、相対時間領域基準カウントの送信は、絶対時間領域基準カウントに比べて狭い帯域幅又は少ない信号群（例えば、図１のタイムスタンプ信号群６２の）が必要なことである。
【００３２】
引き続き図２及び図３を参照すると、時間領域メッセージ１００、１１０には、それぞれ、クロック状態ビットフィールド１０４、１１４がある。ある実施形態では、これらのクロック状態フィールド１０４と１１４とに、クロックが使用可能かどうかに関する情報や、どのクロック周波数が用いられているかに関する情報や、対応する時間領域３２のクロックの状況に関するその他の情報などがある。時間領域メッセージフォーマット１００、１１０には更に、それぞれ、時間領域識別子ビットフィールド１０６、１１６がある。ある実施形態では、これらの時間領域識別子１０６と１１６とに、その時間領域メッセージの情報を時間領域１２、２２、３２のうちどれが供給しているかに関する情報がある。時間領域メッセージフォーマット１００、１１０には更に、それぞれ、ＴＣＯＤＥビットフィールド１０８、１１８がある。ある実施形態では、これらのＴＣＯＤＥビットフィールド１０８と１１８とに、時間領域メッセージ１００及び１１０に用いられたメッセージタイプがどのＮＥＸＵＳメッセージタイプかに関する情報がある。
【００３３】
図４を参照すると、マスタメッセージ１２０には、領域イベントに応えてタイムスタンプを供給した時間領域１２、２２、３２ごとに、時間領域絶対カウント１２２と、１２４と、１２６とがある。よって、マスタメッセージ１２０には、一つ以上の時間領域絶対カウントビットフィールド１２２、１２４、１２６がある。ここで留意すべきは、ある実施形態の場合には、時間領域３２がＮＥＸＵＳモジュール７０にタイムスタンプを（例えば、タイムスタンプ信号群６２を介して）供給しなかった場合は、ビットフィールド１２６に有用なカウント値がないかビットフィールド１２６がマスタメッセージ１２０にないことである。同様に、時間領域１２がＮＥＸＵＳモジュール７０にタイムスタンプを供給しなかった場合、ビットフィールド１２２に有用なカウント値がないかビットフィールド１２２がマスタメッセージ１２０にない。同じように、時間領域２２がＮＥＸＵＳモジュール７０にタイムスタンプを供給しなかった場合、ビットフィールド１２４に有用なカウント値がないかビットフィールド１２４がマスタメッセージ１２０にない。ここで留意すべきは、一つ以上の時間領域１２、２２、３２が、絶対時間領域基準カウントではなく、相対時間領域基準カウント（例えば１１２）をＮＥＸＵＳモジュール７０に供給する場合、必要に応じて、一つ以上の相対時間領域基準カウント値（例えば１１２）が、例えばタイムスタンプ制御回路７２、７４、７６（図１参照）を介し、対応する絶対時間領域基準カウント（例えば１０２）に変換されうることである。代替の実施形態では、マスタメッセージ１２０にタイムスタンプを供給している全ての時間領域１２、２２、３２が、相対時間領域基準カウント（例えば１１２）の代わりに、絶対時間領域基準カウント（例えば１０２）を使用する。
【００３４】
引き続き図４を参照すると、マスタメッセージ１２０には状況ビットフィールド１２８がある。システム１０のある実施形態では、この状況フィールド１２８には、符号化された形又は符号化されていない形の、一つ以上のクロック状態フィールド１０４、１１４からの情報の全て又は一部がある。システム１０のある実施形態では、時間領域絶対カウントフィールド１２２、１２４、１２６の一つにカウント値を供給する一つ以上の時間領域１２、２２、３２が更に、任意の所望する状況情報を状況ビットフィールド１２８に供給する。システム１０のある実施形態では、この状況ビットフィールド１２８には、クロック状態ビットフィールド１０４、１１４にある状況情報よりも多くの状況情報がある。この状況情報は、一つ以上の時間領域１２、２２、３２内の回路の任意の所望する状況に関する情報でよい。
【００３５】
マスタメッセージ１２０には更にＴＣＯＤＥビットフィールド１３０がある。ある実施形態では、このＴＣＯＤＥビットフィールド１３０には、マスタメッセージ１２０に用いられたメッセージタイプがどのＮＥＸＵＳメッセージタイプかに関する情報がある。
【００３６】
図１を参照すると、図示の実施形態では、時間領域３２のＮＥＸＵＳデバッグ回路３６
及びデバッグバス３８の一実施形態が詳細に記載されている。時間領域１２にもＮＥＸＵＳデバッグ回路１６とデバッグバス１８とがあり、これらの実施は時間領域３２の場合と違ったやり方でも同じやり方でもよい。同じように、時間領域２２にもＮＥＸＵＳデバッグ回路２６とデバッグバス２８とがあり、これらの実施は時間領域３２の場合と違ったやり方でも同じやり方でもよい。
【００３７】
ここで時間領域３２の図示の実施形態の動作を記載する。システム１０のある実施形態では、タイムスタンプ制御情報をタイムスタンプ制御回路７４がタイムスタンプ制御信号群６０を介してカウンタ制御回路４２に供給する。次にカウンタ制御回路４２はこの制御情報を用いて基準カウンタ４４を制御する。システム１０のある実施形態では、全ての領域イベント群を他の回路５２が領域イベント情報信号群６４を介してタイムスタンプ制御部７４に供給する。代替の実施形態では、どの領域イベント群が選択されていてタイムスタンプ制御部７４に領域イベント情報６４を介して供給されるべきかに関する情報を、タイムスタンプ制御信号群６０が他の回路５２に供給する。
【００３８】
選択された領域イベントが発生したとタイムスタンプ制御部７４が決定し次第、タイムスタンプ制御部７４が制御情報をタイムスタンプ制御信号群６０を介してカウンタ制御回路４２に供給し、よって、基準カウンタ４４の値を取り込みこれをタイムスタンプ信号群６２を介してタイムスタンプ制御部７４に供給するべきだということが示される。ここで留意すべきは、基準カウンタ４４の値の取り込みを、タイムスタンプ制御部７４に時間領域１２又は２２の領域イベントを用いてトリガしてよいことである。このことは、タイムスタンプ制御部７２、７４、７６が情報を共有しているので可能である。代替の実施形態では、領域イベントの発生と基準カウンタの値の取り込みとの間の遅延を短縮することが望まれる。システム１０のある実施形態では、この短縮を、領域イベントを検出することにより基準カウンタ４４の値の取り込みが直接的にトリガされるよう、タイムスタンプ制御回路７４の機能性をＮＥＸＵＳデバッグ回路３６に移動することにより達成し、ＮＥＸＵＳデバッグ回路３６の外の回路（例えばタイムスタンプ制御部７４）は一切巻き込まれない。
【００３９】
ここで留意すべきは、基準カウンタ４４の値が、タイムスタンプ信号群６２により供給され、時間領域メッセージ１００の絶対時間領域基準カウント１０２（図２参照）を供給するよう考えられていることである。基準カウンタ４４の値は、時間領域メッセージ１１０の相対時間領域基準カウントフォーマットが用いられる場合（図３参照）には、タイムスタンプ信号群６２を介して相対時間領域基準カウントを供給するようカウンタ制御回路４２により適切に修正されなくてはならない。タイムスタンプ回路４０からタイムスタンプ信号群６２へと供給されたタイムスタンプ情報のフォーマットは、いかなるやり方で決定されてもよい。例えば、レジスタ８０がこのフォーマットを決定してもよい。代替の実施形態では、固定フォーマットを用いたり、フォーマットを任意の所望するやり方で交互に選択したりする。
【００４０】
代替の実施形態では、タイムスタンプ制御部７４により行われる機能性の全て又は一部が、図１に図示されたように中心に集められたり、時間領域１２、２２、３２自身の内部で交互に分散されたりする。図１に図示されたシステム１０の実施形態では、他の信号群６６を介して時間領域識別子（図２のビットフィールド１０６と図３のビットフィールド１１６とを参照）を供給する為に時間領域識別回路４８が使用されている。同様に、他の信号群６６を介してＴＣＯＤＥ群（図２のビットフィールド１０８と、図３のビットフィールド１１８と、図４のビットフィールド１３０とを参照）を供給する為にＴＣＯＤＥ生成器５０が使用されている。同様に、他の信号群６６を介してクロック状態情報（図２のビットフィールド１０４と、図３のビットフィールド１１４と、図４のビットフィールド１２８とを参照）を供給する為にクロック状態４６が使用されている。
【００４１】
システム１０のある実施形態では、システム１０の外部に送信する為にタイムスタンプ制御回線７２と７４と７６のうちどれに情報をデバッグインタフェース９０へと供給させるかを調停し決定する為にアービタ７８が使用されている。
【００４２】
システム１０のある実施形態では、クロック状態フィールド１０４と１１４とに、クロックが使用可能かどうかに関する情報や、どのクロック周波数が用いられたかに関する情報や、対応する時間領域３２のクロックの状況に関するその他の情報などがある。時間領域メッセージフォーマット１００、１１０には更に、それぞれ、時間領域識別子ビットフィールド１０６、１１６がある。ある実施形態では、時間領域識別子１０６と１１６とに、時間領域メッセージの情報を時間領域１２、２２、３２のうちどれが供給しているかに関する情報がある。時間領域メッセージフォーマット１００、１１０には更に、それぞれ、ＴＣＯＤＥビットフィールド１０８、１１８がある。ある実施形態では、ＴＣＯＤＥビットフィールド１０８と１１８とに、時間領域メッセージ１００及び１１０に用いられたメッセージタイプがどのＮＥＸＵＳメッセージタイプかに関する情報がある。
【００４３】
本実施形態を特殊な導電性のタイプ又は電位の極性について記載したが、当業者にはさまざまな修正が可能なことが分かる。例えば、ＮＥＸＵＳデバッグ回路と共に任意のタイプの機能回路を用いてよい。さまざまな半導体プロセスが実施可能であり、導電性のタイプ及び電位の極性を逆にしてもよい。本システム１０を、単一の集積回路上のＳＯＣ（ｓｙｓｔｅｍ  ｏｎ  ａ  ｃｈｉｐ）として実施してもよいし、プリント回路基板面上で個別の構成要素により実施してもよい。タイムスタンプ処理メッセージ群のさまざまなフィールド群の物理的な位置付けを、図示された順序とは違う順序で配列してもよい。アービタ７８を実施する為にさまざまなアービトレーション方式を使用してよい。レジスタ８０を実施する為に任意のタイプの記憶装置を使用してよい。本明細書で記載されたカウンタは、さまざまなタイプの既知のハードウェアカウンタ回路で実施可能であり、どの一つの特定のタイプのカウンタにも限定されていない。バスのサイズをさまざまな可能なビット幅のうちのどれにしてもよい。さまざまな修正についての以上の記述は例示することのみを意図している。多種多様な他の修正も可能である。
【００４４】
ここで留意すべきは、本願で図示された要素が、その図示された要素を結合する図示されていない介在する要素を有することである。用語「ｃｏｕｐｌｅｄ（結合された）」は、本明細書で用いられているように、「ｊｏｉｎｅｄ（つながれた）」又は「ｌｉｎｋｅｄ（連結された）」と定義されているが、必ずしも直接的にではなく、且つ必ずしも機械的にではない。
【００４５】
上述の明細書では、本発明が特殊な実施形態に関して記載された。しかし、当業者には、以下の請求項に述べられている本発明の範囲から逸脱することなく、さまざまな修正と変更とがなされうることが分かる。従って、本明細書及び図は、限定的な意味ではなく説明的な意味において考えられるべきであり、あらゆるこのような修正を本発明の範囲内に包含することが意図されている。
【００４６】
利益と、他の利点と、問題の解決とが、特殊な実施形態について以上に記載された。しかし、利益と、利点と、問題の解決と、任意の利益や利点や発生するかより顕著になってくる解決法をもたらす任意の要素（単数又は複数）とが、全ての請求項にとって、決定的又は必要又は本質的な、特質又は要素と解釈されるべきではない。本明細書で用いられているように、用語「ｃｏｍｐｒｉｓｅｓ（含む、備える、など）」や、「ｃｏｍｐｒｉｓｉｎｇ（含んでいる、備えている、など）」や、これらのその他の変形は、要素のリストを含むプロセスや方法や物品や装置が、これらの要素のみを含むのではなく、はっきりとはリストアップされていない他の要素や、これらのプロセスや方法や物品や装置に固有の
他の要素も含むように、非排他的に包含することを意図されている。
【００４７】
（追加テキスト）
【００４８】
（請求項１）  システムにおいて、前記システムのイベント群を時間順序付けする方法であって、
複数の時間領域群の各々に対応する制御情報を供給する工程と、前記制御情報が、前記複数の時間領域群の各々のタイムスタンプメッセージが生成されるときを示し、
タイムスタンプメッセージの生成を必要とする時間領域イベントが前記複数の時間領域群のうちのいずれか一つで発生したときを決定する工程と、
前記時間領域イベントが発生したという決定に応えて、前記複数の時間領域群のうち所定の一つに対応するタイムスタンプメッセージを生成する工程とを含む、方法。
【００４９】
（請求項２）  請求項１に記載の方法であって、
前記制御情報に応えて、前記タイムスタンプメッセージの中に、メッセージ生成時間領域の時間カウントを含める工程を更に含み、前記時間カウントが、前記時間領域イベントが前記メッセージ生成時間領域で発生したときの絶対カウント値である、方法。
【００５０】
（請求項３）  請求項１に記載の方法であって、
前記制御情報に応えて、前記タイムスタンプメッセージの中に、メッセージ生成時間領域の時間カウントを含める工程を更に含み、前記時間カウントが、最後に発生した以前の時間領域イベントから計った、前記メッセージ生成時間領域で前記時間領域が発生したときの相対カウント値である、方法。
【００５１】
（請求項４）  請求項１に記載の方法であって、
前記制御情報に応えて、前記タイムスタンプメッセージの中に、前記複数の時間領域群の全てについて、前記時間領域イベントが発生したときに対応する時間カウントを含める工程を更に含む方法。
【００５２】
（請求項５）  請求項１に記載の方法であって、
前記タイムスタンプメッセージの中に、前記タイムスタンプメッセージが有している複数の所定のフォーマット群の一つを識別するフォーマット識別子フィールドを含める工程を更に含む方法。
【００５３】
（請求項６）  請求項１に記載の方法であって、
前記制御情報を用いてタイムスタンプメッセージの生成を必要とする時間領域イベントが前記複数の時間領域群の所定の一つで発生するときを指定する工程と、
これに続いて、前記時間領域イベントが前記複数の時間領域群の前記の所定の一つで発生したときを決定する工程とを更に含む方法。
【００５４】
（請求項７）  請求項１に記載の方法であって、
前記制御情報を記憶装置にプログラムする工程を更に含む方法。
【００５５】
（請求項８）  請求項１に記載の方法であって、
前記複数の時間領域群の少なくとも一つで前記時間領域イベントをもたらす所定の動作条件を識別する前記制御情報に応えて、タイムスタンプメッセージを生成する工程を更に含む方法。
【００５６】
（請求項９）  請求項８に記載の方法であって、ユーザプログラマブルイベント及びプログラマブルシステムイベントの少なくとも一つである前記所定の動作条件を識別する
工程を更に含む方法。
【００５７】
（請求項１０）  前記少なくとも一つのプログラマブルシステムイベントが、電力の動作モードに入ること又はこのモードから出ることと、クロックのソースの変化と、クロックの周期性の変化と、ハードウェアのカウンタ値の所定の変化と、デバッグの動作モードになること及びこのモードから出ることとのうち、少なくとも一つを更に含む、請求項９に記載の方法。
【００５８】
（請求項１１）  イベント群を時間順序付けするシステムであって、
複数の機能回線モジュール群と、各機能回線モジュールが、異なる時間領域を表すクロックによりクロック制御されており、タイムスタンプ処理回路を有しており、前記タイムスタンプ処理回路が所定のイベントが発生した時点を示すメッセージを供給し、
前記複数の機能回線モジュール群の各々に結合されたインタフェースモジュールとを備え、前記インタフェースモジュールが、前記所定のイベントをトリガする少なくとも一つの動作条件を示す為に前記複数の機能回線モジュール群に制御情報を供給し、第１の時間領域を含む複数の時間領域群の一つで前記所定のイベントが発生したとき、前記インタフェースモジュールが前記第１の時間領域から少なくとも一つのタイムスタンプ処理メッセージを受信する、システム。
【００５９】
（請求項１２）  請求項１１に記載のシステムであって、前記インタフェースモジュールが、
前記制御情報を、前記所定のイベントをトリガする前記少なくとも一つの動作条件を決定するプログラマブル制御情報として保存する記憶回路を更に備えた、システム。
【００６０】
（請求項１３）  請求項１２に記載のシステムであって、前記所定のイベントをトリガする前記少なくとも一つの動作条件が、電力の動作モードに入ること又はこのモードから出ることと、クロックのソースの変化と、クロックの周期性の変化と、ハードウェアのカウンタ値の所定の変化と、デバッグの動作モードになること及びこのモードから出ることと、少なくとも一つのユーザプログラマブルイベントの発生とのうち、少なくとも一つを更に含む、システム。
【００６１】
（請求項１４）  請求項１１に記載のシステムであって、前記タイムスタンプ処理回路が、
対応する機能回線モジュールの絶対時間又は相対時間のどちらか一方を決定する為のカウンタと、
時間領域識別子を供給する時間領域識別回路と、
前記対応する機能回線モジュールのクロックの一つ以上の動作特性をもたらすクロック状態回路とを更に備えた、システム。
【００６２】
（請求項１５）  請求項１４に記載のシステムであって、前記タイムスタンプ処理回路が、対応するメッセージに含まれている情報のフォーマットを識別する為に各メッセージに含められるコードを生成する回路を更に備えた、システム。
【００６３】
（請求項１６）  請求項１４に記載のシステムであって、前記インタフェースモジュールが、対応するタイムスタンプ処理メッセージに含まれている情報のフォーマットを識別する為に各タイムスタンプ処理メッセージに含められるコードを生成する回路を有したアービタを更に備えた、システム。
【００６４】
（請求項１７）  請求項１１に記載のシステムであって、前記複数の機能回線モジュール群のうち少なくとも一つにより供給された前記メッセージがフォーマットを有し、前
記フォーマットが少なくとも時間カウント値を含み、前記時間カウント値が、既知の初期値を基準にした絶対値であり、クロック信号の状況情報が前記機能回線モジュール群の一つに関連付けられており、対応する時間領域を示す識別子が前記タイムスタンプ処理メッセージに関連付けられている、システム。
【００６５】
（請求項１８）  請求項１７に記載のシステムであって、前記メッセージがフォーマットを有し、前記フォーマットがフィールドを更に含み、前記フィールドが、前記タイムスタンプ処理メッセージの前記フォーマットが絶対値の時間カウント値を有していることを識別する、システム。
【００６６】
（請求項１９）  請求項１１に記載のシステムであって、前記複数の機能回線モジュール群のうち少なくとも一つにより供給された前記メッセージがフォーマットを有し、前記フォーマットが少なくとも時間カウント値を含み、前記時間カウント値が、最後に発生した所定のイベントを基準にした相対値であり、クロック信号の状況情報が前記機能回線モジュール群の一つに関連付けられており、対応する時間領域を示す識別子が前記タイムスタンプ処理メッセージに関連付けられている、システム。
【００６７】
（請求項２０）  請求項１９に記載のシステムであって、前記メッセージがフォーマットを有し、前記フォーマットがフィールドを更に含み、前記フィールドが、前記タイムスタンプ処理メッセージの前記フォーマットが相対値の時間カウント値を有していることを識別する、システム。
【００６８】
（請求項２１）  請求項１１に記載のシステムであって、前記タイムスタンプ処理メッセージがフォーマットを有し、前記フォーマットが、前記所定のイベントが発生したときの前記機能回線モジュール群の各々と前記機能回線モジュール群の各々に関連付けられた所定の状況情報とに対応する時間カウント値を含む、システム。
【００６９】
（請求項２２）  前記制御情報がプログラマブルである、請求項１１に記載のシステム。
【００７０】
（請求項２３）  請求項１１に記載のシステムであって、前記インタフェースモジュールが、
前記制御情報を保存する少なくとも一つのレジスタを更に備えた、システム。
【００７１】
（請求項２４）  前記インタフェースモジュールが全ての時間領域群からのタイムスタンプ処理メッセージ群を共通のインタフェースポートで供給する、請求項１１に記載のシステム。
【００７２】
（請求項２５）  前記インタフェースモジュールの前記共通のインタフェースポートがＩＥＥＥ＿ＩＳＴＯ５００１（ＮＥＸＵＳ）に適合した、請求項２４に記載のシステム。
【００７３】
（請求項２６）  イベント群を時間順序付けするシステムであって、
複数の機能回線モジュール手段と、各機能回線モジュールが、異なる時間領域を表すクロックによりクロック制御されており、タイムスタンプ処理回線手段を有しており、前記タイムスタンプ処理回線手段が、所定のイベントが発生した時点を示すメッセージを供給し、
前記複数の機能回線モジュール手段の各々に結合されたインタフェースモジュール手段と、を備え、前記インタフェースモジュール手段が、前記所定のイベントをトリガする少なくとも一つの動作条件を示す為に前記複数の機能回線モジュール手段に制御情報を供給
し、第１の時間領域を含む複数の時間領域群の一つで前記所定のイベントが発生したとき、前記インタフェースモジュール手段が前記第１の時間領域から少なくとも一つのタイムスタンプ処理メッセージを受信する、システム。
【００７４】
（請求項２７）  全ての時間領域群からの前記タイムスタンプ処理メッセージ群が、共通のインタフェースポート手段のインタフェースモジュール手段により供給される、請求項２６に記載のシステム。
【００７５】
（請求項２８）  システムであって、
同一の集積回路上に複数の機能回線モジュール群を備え、各機能回線モジュールが、異なる時間領域を表すクロックによりクロック制御されており、各機能モジュールが、タイムスタンプメッセージ群を供給する為にそれぞれ独立したクロックレートで動作しているタイムスタンプ処理回路を有した、システム。
【００７６】
（請求項２９）  前記タイムスタンプメッセージ群の各々が、所定のイベントが発生した時点を示す、請求項２８に記載のシステム。
【００７７】
（請求項３０）  請求項２９に記載のシステムであって、
前記複数の機能回線モジュール群の各々に結合されたインタフェースモジュールを更に備え、前記インタフェースモジュールが、前記所定のイベントをトリガする少なくとも一つの動作条件を示す為に前記複数の機能回線モジュール群に制御情報を供給し、第１の時間領域を含む複数の時間領域群の一つで前記所定のイベントが発生したとき、前記インタフェースモジュールが前記第１の時間領域から少なくとも一つのタイムスタンプ処理メッセージを受信する、システム。
【００７８】
（請求項３１）  システムにおいて多数の時間領域群で発生するイベント群の時間順序付けを再構成する方法であって、前記方法が、
順序付けされたタイムシーケンス及び順序付けされていないタイムシーケンスのうち一方の多数のタイムスタンプ処理メッセージ群を受信する工程と、
前記多数の時間領域群に関連付けられそれぞれ独立したクロックレートで動作している多数の時間領域カウンタ群の相対カウント値群をトラッキングする工程と、
デバッグ情報を時間順序付けされたシーケンスにソートする工程とを含み、前記デバッグ情報が、前記多数の時間領域群のうち一つから供給されたタイムスタンプに関連付けられた、方法。
【００７９】
（請求項３２）  前記デバッグ情報をデバッグメッセージによって供給する工程を更に含む請求項３１に記載の方法。
【００８０】
（請求項３３）  前記デバッグメッセージを、プログラムトレースメッセージと、データトレースメッセージと、ＷＡＴＣＨＰＯＩＮＴメッセージとのうちの、少なくとも一つとして実施する工程を更に含む請求項３２に記載の方法。
【００８１】
（請求項３４）  請求項３１に記載の方法であって、前記多数のタイムスタンプメッセージ群を生成する工程を更に含み、前記生成する工程が、
多数の時間領域群の各々に対応する制御情報を供給する工程と、前記制御情報が、前記多数の時間領域群の各々のタイムスタンプメッセージが生成されるときを示し、
タイムスタンプメッセージの生成を必要とする時間領域イベントが前記多数の時間領域群のうちいずれか一つで発生したときを決定する工程と、
前記時間領域イベントが発生したという決定に応えて、前記多数の時間領域群のうち所定の一つに対応するタイムスタンプメッセージを生成する工程とによりなされる、方法。
【図面の簡単な説明】
【００８２】
【図１】本発明の一実施形態に係るシステムのブロック図。
【図２】本発明の一実施形態に係る時間領域メッセージ１００のブロック図。
【図３】本発明の一実施形態に係る時間領域メッセージ１１０のブロック図。
【図４】本発明の一実施形態に係るマスタメッセージ１２０のブロック図。
【図５】本発明の一実施形態に係るデバッグイベント群を時間順序付けする方法のフロー図。
【図１】
2007513425.tif 000003
【図２】
2007513425.tif 000004
【図３】
2007513425.tif 000005
【図４】
2007513425.tif 000006
【図５】
2007513425.tif 000007
【国際調査報告】
2007513425.tif 000008