(57)【要約】【課題】従来のオンボードデバッグ装置は、プログラムの評価、解析における時間精度が低いという課題があった。【解決手段】半導体回路装置１０１から出力される実行時情報を受信するシリアルレジスタ１２２と、実行時情報の出力タイミングを示すトリガ信号１０６に応じてタイマカウント値１２７を出力するタイマ回路部１２５と、タイマカウント値を順に記憶するタイムスタンプ用ＦＩＦＯバッファ１２６とを備えている。このように構成すれば、データ受信部における実行時情報の受信完了を待たずに、時間計測部で計測した時間計測値を実行時情報と関連付けて記憶することが可能となるので、時間誤差の少ないタイムスタンプ値を取得できる。【選択図】図１
2005222446.tif 000002
【特許請求の範囲】
【請求項１】
ターゲットとなる半導体回路装置の実行時情報を少数のデバッグ用端子を介して受信し、前記実行時情報と前記実行時情報の実行時間とを関連付けた情報をデバッグに利用するオンボードデバッグ装置において、
前記少数のデバッグ用端子を介して前記半導体回路装置から前記実行時情報を受信するデータ受信部と、
前記データ受信部における前記実行時情報の受信完了以前に、前記半導体回路装置から前記実行時情報の実行時間と関連付けて出力される指示を受信し、前記指示に応じて時間計測値を出力する時間計測部と、
前記受信部により受信される前記実行時情報と、前記時間計測部により出力される前記時間計測値とを関連付けて記憶する情報記憶部とを備えたことを特徴とするオンボードデバッグ装置。
【請求項２】
前記指示を、前記少数のデバッグ用端子とは別の端子を介して受信することを特徴とする、請求項１に記載のオンボードデバッグ装置。
【請求項３】
前記指示は、前記半導体回路装置における前記実行時情報の出力と同時に出力されるものであることを特徴とする、請求項１に記載のオンボードデバッグ装置。
【請求項４】
前記実行時情報は、前記少数のデバッグ用端子を介して、複数の単位に分割されて前記データ受信部により受信されるものであり、
前記指示は、前記半導体回路装置における前記実行時情報の出力タイミング毎に、前記実行時情報の前記複数の単位毎に付与されるものであることを特徴とする、請求項１に記載のオンボードデバッグ装置。
【請求項５】
前記情報記憶部は、
前記時間計測部が出力した順に前記時間計測値を記憶し、前記データ受信部における前記実行時情報の完了に応じて記憶した順に前記時間計測値が読み出される先入れ先出しバッファと、
前記データ受信部に受信された前記実行時情報と、前記実行時情報の完了に応じて前記先入れ先出しバッファから読み出された前記時間計測値とを関連付けて記憶するよう制御されるトレースメモリとを備えていることを特徴とする、請求項１に記載のオンボードデバッグ装置。
【請求項６】
前記データ受信部は、シリアルレジスタにより構成され、
前記指示は、複数の単位に分割された前記実行時情報が前記シリアルレジスタにより受信される毎に付与される、所定のビット情報として受信されることを特徴とする、請求項１に記載のオンボードデバッグ装置。
【請求項７】
少数のデバッグ用端子を介してオンボードデバッグ装置に実行時情報を出力し、前記オンボードデバッグ装置を介してモニタされる前記実行時情報に基づいて、プログラムの動作がデバッグされる半導体回路装置において、
前記実行時情報の実行タイミングを示す指示を前記少数のデバッグ用端子とは異なる別の端子を介して前記オンボードデバッグ装置に伝達することを特徴とする半導体回路装置。
【請求項８】
少数のデバッグ用端子を介してオンボードデバッグ装置に実行時情報を出力し、前記オンボードデバッグ装置を介してモニタされる前記実行時情報に基づいて、プログラムの動作がデバッグされる半導体回路装置において、
前記実行時情報を複数の単位に分割するデータ分割部と、
前記データ分割部により分割された前記複数の単位毎に、前記少数のデバッグ端子を介して前記オンボードデバッグ装置に転送するデータ送信部とを備え、
前記データ送信部における前記複数の単位の転送毎に、前記実行時情報の実行タイミングを示す指示を付与して、前記少数のデバッグ端子を介して前記オンボードデバッグ装置に前記指示を伝達することを特徴とする半導体回路装置。
【請求項９】
前記データ送信部は、シリアルレジスタにより構成され、
前記指示は、前記シリアルレジスタが転送するビットとして付与されることを特徴とする、請求項８に記載の半導体回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体回路装置および該装置から少数の端子を介してデバッグ情報を受信するオンボードデバッグ装置とに係わり、特にデバッグ情報とタイムスタンプを関連付けて記録するトレース機能に関する。
【背景技術】
【０００２】
近年、携帯電話などに代表されるモバイル機器や、ＤＶＤ（ Ｄｉｇｉｔａｌ Ｖｉｄｅｏ Ｄｉｓｃ ）などに代表されるデジタル家電の普及が目覚ましい。その一要因として、これら製品において高機能化と低価格化・低消費電力化などがバランスよく実現されていることがあげられる。これは、半導体の微細加工技術の飛躍的な進展により、従来は複数の半導体回路装置で構成されていたシステムを１個の半導体回路装置上にシステムＬＳＩとして実現できるようになったためであり、モバイル機器やデジタル家電の普及に伴って、システムＬＳＩは今後さらに発展していくと期待されている。
【０００３】
ところで、システムＬＳＩはシステムを制御するためのＣＰＵとＣＰＵを制御するプログラムが書き込まれたメモリを同一の半導体回路装置上に集積した組込み型マイクロコンピュータを搭載している場合が多い。その場合、複雑な機能をハードウェアだけで実現しようとすると半導体回路装置の回路規模が非常に大きくなり、結果としてコストが高くなるため、多くの機能がソフトウェアにより実現されている。従って、プログラムの規模が非常に大きくなってきており、組込み型マイクロコンピュータ上で動作するプログラムが正常に動作しているかを確認するためのデバッグがますます重要になってきている。
【０００４】
従来、このような組込み型マイクロコンピュータのデバッグには、インサーキットエミュレータ（ＩＣＥ）が用いられてきた。ＩＣＥとは、組込み型マイクロコンピュータを含む半導体回路装置上に、デバッグに必要な機能をあらかじめ搭載し、組込み型マイクロコンピュータのデバッグに必要なデバッグ情報を、複数のデバッグ専用端子を介してデバッグ装置と入出力することで、組込み型マイクロコンピュータの実行時情報を得ることで、ソフトウェアのデバッグ・解析などを行うエミュレータの一種である。
【０００５】
しかし、ＩＣＥにおいては複数のデバッグ専用端子が必要であり、組込み型マイクロコンピュータを含む半導体回路装置のコストを悪化させる要因となる。例えば、３２ビットのアドレスと３２ビットのデータを有する組込み型マイクロコンピュータの場合、アドレス空間とデータ空間の各々をモニタする必要があり、メモリアクセス用の制御端子も必要であることを考えると、１４０本程度のデバッグ専用端子を半導体回路装置上に通常必要な端子とは別個に設ける必要があるためである。
【０００６】
これに対して、デバッグに使用される半導体回路装置にのみデバッグ専用端子を搭載しておき、量産段階ではデバッグ専用端子を削除するなどの対応がとられてきた。しかし、デバッグした半導体回路装置と量産される半導体回路装置とで信号間のタイミングが相違することにより、量産時になってソフトウェアを含めたシステムＬＳＩの動作の不具合が発覚することがあった。システムＬＳＩの規模が大きくなるに従い、このタイミングの相違はより顕著になり、ＩＣＥを用いたデバッグを正常に実行することは困難となりつつある。
【０００７】
これに対して近年、ＩＣＥと比較してより少数のデバッグ専用端子を半導体回路装置上に備えておき、少数のデバッグ専用端子を介してデバッグ装置とシリアルにデバッグ情報をやり取りすることで、組込み型マイクロコンピュータのデバッグを行うオンボードデバッグ装置が用いられるようになってきている（例えば、特許文献１、特許文献２を参照。）。
【０００８】
上述したように、オンボードデバッグ装置に対応したシステムＬＳＩにおいては、少数の端子がデバッグ専用端子として割り当てられる。ここで、「少数」とは少なくとも１本のことを意味しており、アドレスとデータが同じ条件である場合に、ＩＣＥで使用される複数のデバッグ専用端子数未満であれば良い。但し、デバッグ専用端子の数がＩＣＥと同程度である場合は、上記と同様の問題が生じるので、通常は２〜３本のものが割り当てられている。従って、オンボードデバッグを行うためのオンボードデバッグシステムでは、少数のデバッグ専用端子を介してシリアルにデバッグ情報を入出力するため、ＩＣＥと比較してデバッグ情報の入出力に時間を要するが、ＩＣＥにおけるデバッグ時と量産時とでの半導体回路装置が相違することに起因する問題は解決される。
【０００９】
ところで、ＩＣＥとオンボードデバッグとで共通に使用され、デバッグに欠かせない機能としてトレース機能がよく知られている。トレース機能とは、プログラム実行履歴を確認する機能であり、実行履歴を示す情報として、例えば、プログラムの実行命令、データアクセス等のプログラム実行時情報と、それらのデータを取得した時間に対応したタイムスタンプ値とをトレース用のトレースメモリに関連付けて格納しておき、トレースメモリに格納された情報を外部のパソコンなどでモニタし、解析することで、プログラムのデバッグ、評価、解析などに行えるようにする機能である。
【００１０】
ここで、プログラム実行時情報とは、例えばプログラムカウンタなどの実行命令やデータアクセス等のプログラムにおける発生箇所を示すものである場合や、その際のメモリアクセスへの制御信号の状態を示すものである場合などが想定される。従来のオンボードデバッグシステムにおけるトレース機能は、図２又は図３に示すようなシステムで実現されている。
【００１１】
図２は、従来のオンボードデバッグシステム２００の構成を表す図である。オンボードデバッグシステム２００において、２０１はシステムＬＳＩ（図示せず）上に集積されたマイクロコンピュータである。また、１０２はＣＰＵであり、メモリ（図示せず）上に展開されたプログラムで指定されるシーケンスに従ってシステムＬＳＩを制御する。また、１０３はＣＰＵ１０２から出力されるプログラム実行時情報を受け取るとともに、タイマ回路部１２５にトリガ信号１０６を出力するトレース入力部である。１２５はタイムスタンプを出力するタイマ回路部であり、トリガ信号１０６の入力に応じてタイムスタンプとなるタイマカウント値１２７を出力する。１２３はトレース入力部１０３から出力される実行時情報を受信すると同時に、タイマ回路部１２５からタイムスタンプを取得し、実行時情報と共にＦＩＦＯバッファ１０４に出力するトレース出力部である。また、１０４はプログラム実行時情報およびタイムスタンプからなるパケットデータをＰ／Ｓ（Ｐａｒａｌｌｅｌ／Ｓｅｒｉａｌ）変換部１０５を介してデバッグ装置２２１に転送するまで、一時的に待避するＦＩＦＯバッファである。１０５はＦＩＦＯバッファ１０４から受け取ったパケットデータを少数のシリアル端子１１１、１１２を介して出力できるデータに変換するＰ／Ｓ変換部であり、パケットデータの少なくとも一部を少数のシリアル端子１１１、１１２を介してシリアルデータとして送信するように変換する。一方、オンボードデバッグ装置２２１は、Ｓ／Ｐ（Ｓｅｒｉａｌ／Ｐａｒａｌｌｅｌ）変換部１２２とトレースメモリ１２４とで構成される。Ｓ／Ｐ変換部１２２は、Ｐ／Ｓ変換部１０５から受信したシリアルデータを元のパケットデータ、即ち実行時情報およびタイムスタンプに復号化する。また、トレースメモリ１２４は、実行時情報およびタイムスタンプを関連付けて格納しておき、パソコン（図示せず）などを用いて外部よりアクセスし、内容が解析される。
【００１２】
図３は、図２の構成とはまた別のオンボードデバッグシステム３００の構成を表す図である。図３で図２と同じ構成のものには、同じ符号を付して詳細な説明は省略する。オンボードデバッグシステム３００において、３０１はシステムＬＳＩ（図示せず）上に集積されたマイクロコンピュータである。マイクロコンピュータ３０１が、図２におけるマイクロコンピュータ２０１と相違するのは、タイマ回路部１２５とトレース出力部１２３が削除されている点である。従って、トレース入力部３０３は、トレース入力部１０３におけるトリガ信号１０６を出力する機能を備えておらず、またＦＩＦＯバッファ１０４はトレース入力部３０３から出力される実行時情報のみを受け取る。また、Ｐ／Ｓ変換部１０５は、ＦＩＦＯバッファ１０４に蓄積された実行時情報のみをデバッグ装置３２１に少数のデバッグ専用端子１１１、１１２を介して転送する。一方、オンボードデバッグ装置３２１は、オンボードデバッグ装置２２１に搭載していた機能に加えて、タイマ回路部１２５とトレース出力部１２３を備えている。従って、Ｓ／Ｐ変換部３２２は、Ｓ／Ｐ変換部１２２で有していたＰ／Ｓ変換部１０５から少数のデバッグ専用端子１１１、１１２を介して受信したシリアルデータを元の実行時情報に復号化する機能に加えて、タイマ回路部１２５に対して、シリアルデータの受信を示すトリガ信号１０６を出力する機能を有する。また、タイマ回路部１２５は、トリガ信号１０６の入力に応じてタイムスタンプとなるタイマカウント値１２７を出力し、トレース出力部１２３はＳ／Ｐ変換部３２２から出力される実行時情報を受信すると同時に、タイマ回路部１２５からタイムスタンプを取得し、実行時情報と共にトレースメモリ１２４に出力する。
【特許文献１】特開平１１−２８２７１３号公報
【特許文献２】特開２００１−２４９８２３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
図２のオンボードデバッグシステム２００においては、マイクロコンピュータ２０１上（あるいはシステムＬＳＩ上）にタイマ回路部１２５を備えている。仮にこのタイマ回路部１２５が、デバッグ専用のものであるとすると、量産時には必要の無いタイマ機能をシステムＬＳＩ上に集積していることとなり、システムＬＳＩのコストを高くする要因となる。
【００１４】
これに対する対策として、タイマ回路部１２５について、システムＬＳＩ上に通常機能として集積しているタイマ機能を流用することが想定できる。しかし、この場合、通常タイマの動作周波数はマイクロコンピュータの動作周波数から生成するため、タイムスタンプの値（すなわちタイマ回路部のカウント値）が、マイクロコンピュータの動作周波数に依存することになる。従って、システムＬＳＩの低電力化等を目的として、動作周波数を頻繁に変化させるシステムでは、タイムスタンプにおける単位時間の一貫性が維持されないため、デバッグ情報として活用できなくなるという課題があった。
【００１５】
一方、図３のオンボードデバッグシステム３００は、オンボードデバッグシステム２００における上記の課題を解決するものである。これは、タイムスタンプ用のタイマ回路部１２５をオンボードデバッグ装置３２１側に搭載しているためである。しかし、オンボードデバッグシステム３００にはまた別の課題が存在する。以下、図４および図５を用いて、オンボードデバッグシステム３００の課題について説明する。
【００１６】
図４は、マイクロコンピュータ３０１で実行されるプログラムの一例であり、その処理の流れを示すフローチャートである。図４において、Ｓ４０１は転送命令や演算命令などから構成される連続した命令群を示す第１処理、Ｓ４０２は間接分岐命令を示す第１分岐、Ｓ４０３は転送命令や演算命令などから構成される連続した命令群を示す第２処理、Ｓ４０４は転送命令や演算命令などから構成される連続した命令群を示す第３処理、Ｓ４０５は間接分岐命令を示す第２分岐、Ｓ４０６は転送命令や演算命令などから構成される連続した命令群を示す第４処理、Ｓ４０７は転送命令や演算命令などから構成される連続した命令群を示す第５処理である。もちろん、第１処理Ｓ４０１、第２処理Ｓ４０３、第３処理Ｓ４０４、第４処理Ｓ４０６または第５処理Ｓ４０７は、単数の転送命令または演算命令で構成されていても良い。
【００１７】
図５は、図４におけるフローチャートにおいて、第１分岐Ｓ４０２において第３処理Ｓ４０４に分岐し、第２分岐Ｓ４０５において第５処理Ｓ４０７に分岐した場合に、プログラムの各サブルーチンの実行時間を計測し、命令アドレスとタイムスタンプ値を記録した例を示すイメージ図である。このイメージ図は実際には、トレースメモリ１２４からパソコンなどにより読み出されたパケットデータを整理したイメージに相当する。図５において、項目１にはプログラムの流れを示す情報が記載されている。項目２には、それぞれの処理が開始されるアドレスが実行時情報として記録されている。ここで、項目２に記録される実行時情報は、３２ビット幅のアドレスであるものとする。項目３は、各処理が実行を開始したときの実際の実行時間を示しており、実際のトレースメモリ１２４に記録されないデータである。項目４は、タイマ回路部１２５によって計測されたタイムスタンプ値が記録されている。
【００１８】
ここで、項目４におけるタイムスタンプは、オンボードデバッグ装置３２１のＳ／Ｐ変換部３２２において実行時情報を受信した時点でのタイマ回路部１２５のタイマカウント値１２７である。タイマカウント値１２７は、ＣＰＵ１０２が処理を実行した時間と、マイクロコンピュータ３０１とオンボードデバッグ装置３２１との間の通信に要した通信時間とを加算した値である。いま、マイクロコンピュータ３０１とオンボードデバッグ装置３２１との間の通信手段を、１０Ｍｂｐｓの調歩同期式シリアル通信の１系統とする場合、３２ビット幅のアドレスの転送に要する通信時間として約４０００ｎｓｅｃ必要であるとする。
【００１９】
そこで、図５を用いて第１分岐Ｓ４０２と第２分岐Ｓ４０５間の処理に要した時間、即ち第３処理Ｓ４０４に要する時間を計測したい場合に、実際の処理時間が項目３に示されるような数値であったとする。しかし、項目４に示されるタイムスタンプ値は、第１分岐Ｓ４０２に対しては、３２ビット幅のアドレスの転送に要する通信時間として約４０００ｎｓｅｃを加算した９０００ｎｓｅｃが記録される。
【００２０】
次に、第２分岐Ｓ４０５に対するタイムスタンプ値を記録するのであるが、第２分岐Ｓ４０５に対応する命令アドレスの転送は、Ｐ／Ｓ変換部１０５とＳ／Ｐ変換部３２２とで転送中であるので、ＦＩＦＯバッファ１０４上でウェイト状態にされる。Ｐ／Ｓ変換部１０５とＳ／Ｐ変換部３２２の転送は、上述の通り９０００ｎｓｅｃで完了するので、そこからさらに４０００ｎｓｅｃ後、即ち１３０００ｎｓｅｃが、第２分岐Ｓ４０５に対応するタイムスタンプ値として項目４に記録される。従って、第３処理に要する時間は実際には２０００ｎｓｅｃであるのに対して、項目４に記録されるタイムスタンプ値からは、（１３０００−９０００）＝４０００ｎｓｅｃと誤った情報が導かれることになる。ここで、マイクロコンピュータとオンボードデバッグ装置間の通信速度は、マイクロコンピュータの動作周波数から生成される場合が多く、特に、動作周波数の低いマイクロコンピュータほど、通信時間の誤差がより大きくなり、さらに時間精度が低下する。
【００２１】
本発明は、システムＬＳＩのコストを増加させずに、マイクロコンピュータの実行時情報と極力誤差を低減したタイムスタンプ値を関連付けて記録するトレース機能を実現するオンボードデバッグ装置を提供することを目的とする。
【課題を解決するための手段】
【００２２】
本発明のオンボードデバッグ装置は、ターゲットとなる半導体回路装置の実行時情報を少数のデバッグ用端子を介して受信し、前記実行時情報と前記実行時情報の実行時間とを関連付けた情報をデバッグに利用するオンボードデバッグ装置であって、前記少数のデバッグ用端子を介して前記半導体回路装置から前記実行時情報を受信するデータ受信部と、前記データ受信部における前記実行時情報の受信完了以前に、前記半導体回路装置から前記実行時情報の実行時間と関連付けて出力される指示を受信し、前記指示に応じて時間計測値を出力する時間計測部と、前記受信部により受信される前記実行時情報と、前記時間計測部により出力される前記時間計測値とを関連付けて記憶する情報記憶部とを備えている。
【００２３】
このように構成すれば、データ受信部における実行時情報の受信完了を待たずに、時間計測部で計測した時間計測値を実行時情報と関連付けて記憶することが可能となるので、時間誤差の少ないタイムスタンプ値を取得できる。
【発明の効果】
【００２４】
本発明のオンボードデバッグ装置によれば、ターゲットシステムの端子数を最小限に抑えるとともに、時間的誤差のない実行履歴を取得できる。よって、プログラムのデバッグ、性能評価、動作解析における時間精度を向上することが可能である。
【００２５】
また、本発明のオンボードデバッグ装置において、前記指示を、前記少数のデバッグ用端子とは別の端子を介して受信することも好ましい。
【００２６】
また、本発明のオンボードデバッグ装置において、前記指示は、前記半導体回路装置における前記実行時情報の出力と同時に出力されるものであっても良い。
【００２７】
このように構成すれば、デバッグに必要な端子数は１本増加するが、半導体回路装置における実行時情報の出力と略同じタイミングでタイムスタンプを取得することで、時間精度をさらに向上することが可能である。
【００２８】
また、本発明のオンボードデバッグ装置において、前記実行時情報は、前記少数のデバッグ用端子を介して、複数の単位に分割されて前記データ受信部により受信されるものであり、前記指示は、前記半導体回路装置における前記実行時情報の出力タイミング毎に、前記実行時情報の前記複数の単位毎に付与されるものであることも好ましい。
【００２９】
このように構成すれば、デバッグに必要な端子数を増加せずに、従来よりも時間精度を向上したオンボードデバッグ装置を提供することが可能である。
【００３０】
さらに、本発明のオンボードデバッグ装置において、前記情報記憶部は、前記時間計測部が出力した順に前記時間計測値を記憶し、前記データ受信部における前記実行時情報の完了に応じて記憶した順に前記時間計測値が読み出される先入れ先出しバッファと、前記データ受信部に受信された前記実行時情報と、前記実行時情報の完了に応じて前記先入れ先出しバッファから読み出された前記時間計測値とを関連付けて記憶するよう制御されるトレースメモリとを備えていても良い。
【００３１】
このように構成すれば、簡単な回路構成で時間精度の良いオンボードデバッグ装置を構築できる。
【００３２】
また、本発明のオンボードデバッグ装置において、前記データ受信部は、シリアルレジスタにより構成され、前記指示は、複数の単位に分割された前記実行時情報が前記シリアルレジスタにより受信される毎に付与される、所定のビット情報として受信されることも好ましい。
【００３３】
このように構成すれば、シリアルレジスタを１ビット増加させるだけで、時間精度の良いオンボードデバッグ装置を構築できる。
【発明を実施するための最良の形態】
【００３４】
以下に、本発明の実施の形態について、図面を参照しながら説明する。
【００３５】
（実施の形態１）
図１は、本発明の実施の形態１におけるオンボードデバッグシステム１００の概略構成を示すブロック図である。ここで、従来例を示す図２および図３において説明したと実質的に同等の機能を有するものには同一の符号を付して説明を省略する。
【００３６】
図１において、１０１はシステムＬＳＩ（図示せず）上に集積されたマイクロコンピュータである。マイクロコンピュータ１０１が、図３におけるマイクロコンピュータ３０１と相違するのは、トレース入力部１０３が時間計測部として機能するタイマ回路部１２５へのトリガ信号１０６を出力する機能を有しており、トリガ信号１０６がデバッグ専用端子１１３、１１４を介してオンボードデバッグ装置１２１上に搭載されたタイマ回路部１２５に入力されていることのみである。一方、オンボードデバッグ装置１２１において、図３におけるオンボードデバッグ装置３２１と異なるのは、時間計測部として機能するタイマ回路部１２５へのトリガ信号１０６が、データ入力部として機能するＳ／Ｐ変換部１２２からではなく、上述のデバッグ専用端子１１３、１１４を介して入力されていることと、タイマ回路部１２５から出力されるタイムカウント値１２７がトレース出力部１２３に直接に入力されるのではなく、タイムスタンプ用ＦＩＦＯバッファ１２６を介して入力されている点である。ここで、タイムスタンプ用ＦＩＦＯバッファ１２６は、トレース出力部１２３およびトレースメモリ１２４とあわせて、情報記憶部として機能する。また、タイムスタンプ用ＦＩＦＯバッファ１２６の詳細な動作については以下で説明する。
【００３７】
図７（ａ）、図８（ａ）、図９（ａ）は、マイクロコンピュータ１０１上のＦＩＦＯバッファ１０４の一実施の形態を示す図である。本実施の形態では、ＦＩＦＯバッファ１０４は、３２ビット幅のデータを保持する５段の記憶領域７０１〜７０５を備えるものとする。同じく、図７（ｂ）、図８（ｂ）、図９（ｂ）は、オンボードデバッグ装置１２１上のタイムスタンプ用ＦＩＦＯバッファ１２６の一実施の形態を示す図である。本実施の形態では、タイムスタンプ用ＦＩＦＯバッファ１２６は、ＦＩＦＯバッファ１０４と同様に、３２ビット幅のデータを保持する５段の記憶領域７０６〜７１０を備えるものとする。尚、ＦＩＦＯバッファ１０４とタイムスタンプ用ＦＩＦＯバッファ１２６について、データ幅および記憶領域の段数は適宜に変更されるものであって良い。例えば、ＦＩＦＯバッファ１０４の２段の記憶領域が転送された際に、タイムスタンプ用ＦＩＦＯバッファ１２６の１段が使用される場合なども想定できるが、ＦＩＦＯバッファ１０４とタイムスタンプ用ＦＩＦＯバッファ１２６の記憶領域の段数が関連付けて設計されていれば良い。
【００３８】
以下、図４に示すプログラムにおいて第３処理Ｓ４０４の実行時間を検証する場合を実施の形態として説明する。
【００３９】
ここで、第３処理Ｓ４０４の実行時間は、トレース機能により分岐命令実行時の分岐先アドレスおよびタイムスタンプを実行履歴として記録し、第１分岐Ｓ４０２で第３処理Ｓ４０４の先頭アドレスに分岐した際のタイムスタンプと、第２分岐Ｓ４０５で第５処理Ｓ４０７の先頭アドレスに分岐した際のタイムスタンプとの時間差を測定することにより検出される。
【００４０】
いま、ＣＰＵ１０２において第１分岐Ｓ４０２が実行されたとする。このとき、トレース入力部１０３は、ＣＰＵ１０２から出力された実行時情報を検出し、第１分岐Ｓ４０２の分岐先アドレス（第３処理Ｓ４０４の先頭アドレス０ｘ１０００００００）を実行時情報としてマイクロコンピュータ１０１のＦＩＦＯバッファ１０４の記憶領域７０１に格納すると同時に、トリガ信号１０６をデバッグ専用端子１１３、１１４を介してオンボードデバッグ装置１２１のタイマ回路部１２５に出力する。Ｐ／Ｓ変換部１０５では、マイクロコンピュータ１０１のＦＩＦＯバッファ１０４の先頭である記憶領域７０１に格納されたデータを読出し、シリアルデータに変換した後、オンボードデバッグ装置１２１のＳ／Ｐ変換部１２２に送信する。タイマ回路部１２５では、トリガ信号１０６の入力を受け、現在のタイマ値（０ｘ００００１３８８）をタイムスタンプ用ＦＩＦＯバッファ１２６の記憶領域７０６へラッチする。
【００４１】
ここで、第１分岐Ｓ４０２の分岐先アドレス（第３処理Ｓ４０４の先頭アドレス０ｘ１０００００００）を示す３２ビットの実行時情報をＰ／Ｓ変換部１０５からＳ／Ｐ変換部１２２に送信する間に要する時間は、シリアル通信の特性を１０Ｍｂｐｓの調歩同期式とした場合、約４０００ｎｓｅｃである。
【００４２】
第１分岐Ｓ４０２の実行終了後２０００ｎｓｅｃが経過した時点で、プログラムの処理が進行し、第２分岐Ｓ４０５が実行されたとする。このとき、トレース入力部１０３は、ＣＰＵ１０２から出力された実行時情報を検出し、第２分岐Ｓ４０５の分岐先アドレス（第５処理Ｓ４０７の先頭アドレス０ｘ２０００００００）を実行時情報としてマイクロコンピュータ１０１のＦＩＦＯバッファ１０４に格納する。ここで、ＦＩＦＯバッファ１０４の先頭である記憶領域７０１には、シリアル送信待ち状態にある第１分岐Ｓ４０２の分岐先アドレスを示す実行時情報が格納されているため、第２分岐Ｓ４０５の分岐先アドレスを示す実行時情報は、次の記憶領域７０２に格納される。また、実行時情報の格納と同時にトリガ信号１０６をオンボードデバッグ装置１２１のタイマ回路部１２５に出力する。タイマ回路部１２５では、トリガ信号１０６の入力を受け、現在のタイマ値（０ｘ００００１Ｂ５８）をタイムスタンプ用ＦＩＦＯバッファ１２６へラッチする。ここで、タイムスタンプ用ＦＩＦＯバッファ１２６の先頭である記憶領域７０６には、シリアル受信待ち状態にある第１分岐Ｓ４０２が実行された時間を示すタイムスタンプが格納されているため、第２分岐Ｓ４０５が実行された時間を示すタイムスタンプは、次の記憶領域７０７に格納される。
【００４３】
第２分岐Ｓ４０５の実行終了後さらに２０００ｎｓｅｃが経過（第１分岐Ｓ４０２の実行からは４０００ｎｓｅｃが経過）した時点で、Ｓ／Ｐ変換部１２２において第１分岐Ｓ４０２の実行時情報の受信が完了し、受信した実行時情報がトレース出力部１２３に出力される。このとき、タイムスタンプ用ＦＩＦＯバッファ１２６に格納されている２つのタイムスタンプ値のうち、先に格納された記憶領域７０６にあるタイムスタンプ値がトレース出力部１２３に出力される。このような動作によって、トレース入力部１０３に出力された第１分岐Ｓ４０２の実行時情報が、タイムスタンプと共にトレース出力部１２３を経由して、最終的にトレースメモリ１２４に保存される。
【００４４】
また、マイクロコンピュータ１０１上のＦＩＦＯバッファ１０４では、実行時情報の送信完了に伴い、先頭である記憶領域７０１に格納されているデータを破棄し、記憶領域７０２以降に格納されているデータをバッファの先頭に向かって順次シフトする。
【００４５】
同様に、オンボードデバッグ装置１２１上のタイムスタンプ用ＦＩＦＯバッファ１２６では、タイムスタンプの読出し完了に伴い、先頭である記憶領域７０６に格納されているデータを破棄し、記憶領域７０７以降に格納されているデータをバッファの先頭に向かって順次シフトする。
【００４６】
前述した第１分岐Ｓ４０２の実行履歴の取得からさらに４０００ｎｓｅｃ経過した時点で、Ｓ／Ｐ変換部１２２において第２分岐Ｓ４０５の実行時情報の受信が完了し、受信した実行時情報がトレース出力部１２３に出力される。このとき、タイムスタンプ用ＦＩＦＯバッファ１２６に格納されているタイムスタンプ値１２８がトレース出力部１２３に出力される。このような動作によって、トレース入力部１０３から出力された第２分岐Ｓ４０５の実行時情報が、タイムスタンプと共にトレース出力部１２３を経由して、最終的にトレースメモリ１２４に保存される。
【００４７】
以上の処理により、トレースメモリ１２４には実行時情報および図６の項目４に示すタイムスタンプ値が関連付けて格納される。外部のパソコンなどを使用して、これら格納された実行時情報およびタイムスタンプを読み出すことにより、第１分岐Ｓ４０２が実行された時間（実時間、タイムスタンプともに５０００ｎｓｅｃ）、第２分岐Ｓ４０５が実行された時間（実時間、タイムスタンプともに７０００ｎｓｅｃ）および、第２分岐Ｓ４０５が実行された時間と第１分岐Ｓ４０２が実行された時間との時間差によって示される第３処理Ｓ４０４の実行時間（実時間、タイムスタンプによる測定値ともに２０００ｎｓｅｃ）が測定できる。
【００４８】
以上のように、本発明によれば、実行時情報の転送に必要な少数のデバッグ専用端子にトリガ出力を転送する１本のデバッグ専用端子を加えただけで、実際に処理が行われた時間と誤差の少ないタイムスタンプを付加した実行履歴を取得し、時間情報の精度が高い検証を行うことが可能となる。
【００４９】
（実施の形態２）
実施の形態１で説明したオンボードデバッグシステム１００において、トリガ信号１０６を転送するためのデバッグ専用端子１１３、１１４を追加せずに、システムを構築することも可能である。以下では図１０〜図１３を用いてその詳細を説明する。
【００５０】
図１０は、本発明の実施の形態２におけるオンボードデバッグシステム１０００の概略構成を示すブロック図である。ここで、実施の形態１における構成と実質的に同等の機能を有するものには同一の符号を付して説明を省略する。
【００５１】
図１０において、１００１はシステムＬＳＩ（図示せず）上に集積されたマイクロコンピュータである。マイクロコンピュータ１００１が、図１におけるマイクロコンピュータ１０１と相違するのは、トレース入力部１０３がトレース入力部１００３に、ＦＩＦＯバッファ１０４がＦＩＦＯバッファ１００４に、Ｐ／Ｓ変換部１０５がＰ／Ｓ変換部１００５に変更されている点である。一方、オンボードデバッグ装置１０２１が図１のオンボードデバッグ装置１２１と異なるのは、Ｓ／Ｐ変換部１２２がＳ／Ｐ変換部１０２２に変更されている点である。以下にそれらの変更点について詳細に説明する。
【００５２】
まず、トレース入力部１００３は、トレース入力部１０３が有していたＣＰＵ１０２からの実行時情報を受け取る機能に加えて、ＣＰＵ１０２から実行時情報を受け取ったタイミングを示すトリガ出力要求信号１００７を出力する機能を有する。また、ＦＩＦＯバッファ１００４はトレース入力部１００３からの３２ビットからなる実行時情報１００６を受け取るが、内部で３２ビットからなる実行時情報１００６を細かい単位に分割して、Ｐ／Ｓ変換部１００５に出力する。さらに、Ｐ／Ｓ変換部１００５は、ＦＩＦＯバッファ１００４から出力される細かい単位に分割された実行時情報を、トリガ出力要求信号１００７の入力に応じて制御し、少数のデバッグ専用端子１１１に出力する。以下に、図１１を用いて、ＦＩＦＯバッファ１００４とＰ／Ｓ変換部１００５について、さらに詳細に説明する。
【００５３】
図１１は、ＦＩＦＯバッファ１００４とＰ／Ｓ変換部１００５の詳細な接続を示した図である。まず、ＦＩＦＯバッファ１００４は、３２ビットからなる実行時情報１００６を各々が８ビットで構成される４つのレジスタ１１１０に入力する。また、Ｐ／Ｓ変換部１００５は、トリガ出力設定部１１０７とシリアルレジスタ１１０１から構成される。ここで、シリアルレジスタ１１０１は、ＦＩＦＯバッファ１００４から出力される８ビットのデータを転送するためのデータ部１１０４の他に、一度のシリアルデータ転送の最初を示すスタートビット部１１０５と最後を示すエンドビット部１１０２とトリガ信号１０６のタイミングを示すトリガビット部１１０３を備えている。トリガビット部１１０３は、トリガ出力設定部１１０７により８ビットのシリアルデータ転送毎に設定されるビットである。
【００５４】
次に、トリガ出力設定部１１０７の動作について説明する。トリガ出力設定部１１０７は、バイナリカウンタ１１０８とトリガ出力判定部１１０９により構成されている。まず、バイナリカウンタ１１０８の動作であるが、トレース入力部１００３から出力されるトリガ出力要求信号１００７に応じて１つインクリメントされ、スタートビット部１１０５にデータがセットされるたびに信号１１０６により１つデクリメントされるよう構成されている。また、トリガ出力判定部１１０９は、バイナリカウンタ１１０８の値が１以上、即ちトリガ出力要求がキューイングされていれば、トリガビット部１１０３をセットし、バイナリカウンタ１１０８の値が０であれば、トリガビット部１１０３をリセットする。これは８ビットの４つのレジスタ１１１０から８ビットのシリアルデータが、送信されるたびに実施される。すなわち、従来は３２ビットの実行時情報１００６の転送単位でしかトリガ出力のタイミングをタイマ回路部１２５に通知できなかったものと比較して、実行時情報の転送途中でもタイマ回路部１２５にタイムスタンプのタイミングを通知することが可能となる。
【００５５】
図１２は、Ｓ／Ｐ変換部１０２２の詳細な構成図である。Ｓ／Ｐ変換部１０２２は、Ｐ／Ｓ変換部１００５の出力から少数のデバッグ専用端子１１２を介して入力される１１ビットのシリアルデータを受信する１１ビットのシリアルレジスタ１２０１と、シリアルレジスタ１２０１で受信した実行時情報をバッファする各々が８ビットで構成されるレジスタ１２０６、１２０７、１２０８、１２０９とを備えている。
【００５６】
まず、シリアルレジスタ１２０１は、８ビット単位に分割された実行時情報をラッチするデータ部１２０４に加えて、スタートビットをラッチするスタートビット部１２０５とエンドビットをラッチするエンドビット部１２０２と、トリガビット部１１０３によって指定されるトリガ信号をラッチするトリガビット部１２０３とで構成されている。ここで、データ部１２０４で受信された分割された実行時情報は、レジスタ１２０６、１２０７、１２０８、１２０９に順次転送されることで、４回のシリアル転送が終了した段階で、元の３２ビットからなる実行時情報１００６が復元され、トレース出力部１２３に出力される。また、トリガビット部１２０３で指定されるトリガ信号１０６は、分割されたシリアルデータ送信毎に設定されているため、タイマ回路部１２５へのトリガ出力の送信について、従来の３２ビット単位で転送している場合よりも遅延を少なくすることが可能である。
【００５７】
具体的な例として、ＣＰＵから２つの３２ビットデータ０ｘ０１２３４５６７、０ｘ８９ＡＢＣＤＥＦを連続してトレースへ出力する場合について説明する。以降の説明では、データを出力する前の段階では、バイナリカウンタ１１０８の値は０になっており、ＦＩＦＯバッファ１００４やシフトレジスタ１１０１および１２０１は空であるとする。
【００５８】
まず、ＣＰＵから１つ目のデータである０ｘ０１２３４５６７がトレース入力部１００３へ出力されると、ＦＩＦＯバッファ１００４に０ｘ０１２３４５６７が格納されると同時に、バイナリカウンタ１１０８が１つインクリメントされる。次に、ＦＩＦＯバッファ１００４に格納されたデータのうち、最下位の８ビットに相当する０ｘ６７だけがシフトレジスタ１１０１の中のデータ部１１０４に格納される。ここで、バイナリカウンタ１１０８の値が１以上であるため、トリガ出力判定部１１０９は、トリガビット部１１０３をセットする。次にスタートビットには０を、エンドビットに１を設定した後に、シフトレジスタ１１０１は１ビットずつデータを右シフトしてオンボードデバッグ装置１０２１へデータを送信する。このとき同時にバイナリカウンタ１１０８が１つデクリメントされる。
【００５９】
なお、この段階でシフトレジスタ１１０１から出力されるデータ列を時間軸で示したものが図１３（ａ）の波形図である。ここで、図１３において、ＩＤＬＥはシリアルデータを送信していないタイミングを示す。時間Ｔ０および時間Ｔ１２が相当する。また、スタートビットは時間Ｔ１にて送出されている。同じくエンドビットは時間Ｔ１１にて送出されている。時間Ｔ２〜Ｔ９の間では分割された実行時情報が送出されており、図１３（ａ）では０ｘ６７が送信されている。
【００６０】
次に、ＣＰＵから２つ目のデータである０ｘ８９ＡＢＣＤＥＦがトレース入力部１００３へ出力されると、ＦＩＦＯバッファ１００４に０ｘ８９ＡＢＣＤＥＦが格納されると同時に、バイナリカウンタ１１０８が１つインクリメントされる。ここで、ＦＩＦＯバッファ１００４には先ほど格納された１つ目のデータの上位２４ビット（０ｘ０１２３４５）がまだ残っている状態である。シフトレジスタ１１０４の１１ビットのデータ列が全て（３２ビット＋３×４ビット＝４４ビット）送信されるまでこの状態は続き、４４ビットが全て送信された時点でＣＰＵから送出された２つ目のデータにおける８ビット分の送信が開始される。
【００６１】
具体的には、ＦＩＦＯバッファ１００４に残されている１つ目のデータの上位２４ビット中の下位８ビットに相当する０ｘ４５がシフトレジスタ１１０１の中のデータ部１１０４に格納される。さらにバイナリカウンタ１１０８は先ほどの２つ目のデータ受入れによって値が１以上になっているため、トリガ出力判定部１１０９はトリガビット部１１０３をセットする。次にスタートビットに０を、エンドビットに１を設定し、シフトレジスタ１１０１は再び１ビットずつデータを右シフトしてオンボードデバッグ装置１０２１へデータを送信する。このとき同時にバイナリカウンタ１１０８は１つデクリメントされる。なお、この段階でシフトレジスタ１１０１から出力されるデータ列を時間軸で示したものが図１３（ｂ）である。
【００６２】
次に、ＣＰＵ１０２からは特にデータが送出されない状態で、シフトレジスタ１１０１の全１１ビット分のシフト作業が終わると、次の８ビット分のデータ送信を続けて行なう。具体的にはＦＩＦＯバッファ１００４に格納されている１つ目のデータの上位１６ビット（０ｘ０１２３）のうち下位８ビットに当たる０ｘ２３がシフトレジスタ１１０１の中のデータ部１１０４に格納される。ここで、バイナリカウンタ１１０８はリセットされているので、トリガ出力判定部１１０９はトリガビット部１１０３をリセットする。次にスタートビットに０、エンドビットに１を設定し、シフトレジスタ１１０１は再び１ビットずつデータを右シフトしてオンボードデバッグ装置１０２１へデータを送信する。このときバイナリカウンタ１１０８に対してカウント値を１つデクリメントする要求が出されるが、バイナリカウンタ１１０８は既に値が０となっているため、実際には何も変化しない。なお、この段階でシフトレジスタ１１０１から出力されるデータ列を時間軸で示したものが図１３（ｃ）である。なお、上記の動作はＦＩＦＯバッファ１００４が空になるまで繰り返される。
【００６３】
一方、上記で説明したデータを受信するＳ／Ｐ変換部１０２２の動作について説明すると、まず１つ目のデータの下位８ビットである０ｘ６７とスタートビット、エンドビットおよびトリガビットの全１１ビットがシフトレジスタ１２０１に格納される。これと同時に、データ部１２０４に格納されている値０ｘ６７は８ビットレジスタ１２０６に保存される。ここで、トリガビット部１２０３がセットされているため、トリガ信号１０６が出力され、このタイミングで図１０のタイマ回路部１２５からタイムスタンプ用ＦＩＦＯバッファ１２６へその時点でのタイムスタンプ値１２８が退避される。
【００６４】
次に、シフトレジスタ１２０１は、１つ目のデータの中の次の下位８ビットにあたる０ｘ４５を受信する。今度は８ビットレジスタ１２０６に保存されていた先ほどの０ｘ６７が次の８ビットレジスタ１２０７に保存されてから、データ部１２０４に格納されている値０ｘ４５を８ビットシフトレジスタ１２０６に保存する。同時にトリガビット部１２０３がセットされているため、トリガ信号１０６が出力され、このタイミングで図１０のタイマ回路部１２５からタイムスタンプ用ＦＩＦＯバッファ１２６に、その時点でのタイムスタンプ値１２８が退避される。この時点でタイムスタンプ用ＦＩＦＯバッファ１２６には、先ほどのタイムスタンプ値も含め２つのタイムスタンプ値が溜められた状態にある。
【００６５】
次に、シフトレジスタ１２０１は、１つ目のデータの中の次の下位８ビットにあたる０ｘ２３を受信する。上述の場合と同じように８ビットレジスタ１２０７および１２０６に保存されていた０ｘ６７と０ｘ４５はそれぞれ次の８ビットレジスタ１２０８および１２０７に転送され、データ部１２０４に格納されている値０ｘ２３を８ビットレジスタ１２０６に保存する。今回はトリガビット部１２０３がリセットされているため、タイマ回路部１２５に対してはトリガ信号１０６が出力されず、何も指示されない状態となる。最後にシフトレジスタ１２０１に、１つ目のデータの最後の８ビットにあたる０ｘ０１が送り込まれ、４つある８ビットレジスタ１２０６〜１２０９にはそれぞれ０ｘ０１、０ｘ２３、０ｘ４５、０ｘ６７が格納される形になる。４つの８ビットデータが揃ったところで、１つの３２ビットデータとしてトレース出力部１２３に実行時情報として出力される。このとき、タイムスタンプ用ＦＩＦＯバッファ１２６に格納されている２つのタイムスタンプ値のうち、先に格納された方のタイムスタンプ値が同時にトレース出力部１２３に出力される。このような動作によって、トレース入力部１００３に出力された実行時情報が、タイムスタンプと共にトレース出力部１２３を経由して、最終的にトレースメモリ１２４に保存される。
【００６６】
本実施の形態２におけるポイントは、図１１のシフトレジスタ１１０１の中に８ビット分のデータ部１１０４とトリガビット部１１０３を混在させて、オンボードデバッグ装置１０２１へ情報を伝えることである。これにより、トレース入力部１００３が受けた実行時情報３２ビット分のデータをオンボードデバッグ装置１０２１へ送信し終わるまでの間に、少なくとも４回のタイムトリガビット情報を送ることが可能であり、先の実施の形態１で示したようなタイムスタンプの発行を要求する検出信号を使わずに、タイムスタンプ記録における時間遅延を減少させることができる。
【００６７】
なお、本発明は上記の実施の形態に限定されず、本発明の趣旨の範囲内で種々の変形実施が可能である。
【００６８】
例えば、本発明の実施の形態１では、記録する実行時情報として分岐命令の分岐先アドレスを示す３２ビットデータを例にとり説明したが、マルチタスクシステムにおけるタスク遷移を示すイベント情報の記録など、データサイズの異なる他の実行時情報を記録する場合にも本発明は適用可能である。
【００６９】
また、以上の実施の形態の説明において、半導体回路装置とオンボードでバッグ装置間の実行時情報の送受信に、ＦＩＦＯバッファを用いていたが、これ以外の方法によっても良い。例えば、メモリに蓄積するデータとアドレス（アドレスとなるポインタ）を関連付けて記憶するソフトウェアによる制御などであっても良い。
【産業上の利用可能性】
【００７０】
本発明のオンボードデバッグ装置によれば、データ受信部における実行時情報の受信完了を待たずに、時間計測部で計測した時間計測値を実行時情報と関連付けて記憶することで時間誤差の少ないタイムスタンプ値を取得することが可能となり、半導体回路装置から少数の端子を介してデバッグ情報を受信するオンボードデバッグ装置におけるデバッグ情報とタイムスタンプとを関連付けて記録するトレース機能として有用である。
【図面の簡単な説明】
【００７１】
【図１】実施の形態１におけるオンボードデバッグシステムの概略構成を示すブロック図
【図２】従来のオンボードデバッグシステムの概略構成を示すブロック図
【図３】従来のオンボードデバッグシステムの別の概略構成を示すブロック図
【図４】マイクロコンピュータで実行されるプログラムの一例を示すフローチャート
【図５】従来のオンボードデバッグシステムにおけるタイムスタンプ値の例を示す図
【図６】実施の形態１におけるタイムスタンプ値の例を示す図
【図７】（ａ）は実施の形態１におけるＦＩＦＯバッファの構成例を示す図、（ｂ）は実施の形態１におけるタイムスタンプ用ＦＩＦＯバッファの構成例を示す図
【図８】（ａ）は実施の形態１におけるＦＩＦＯバッファの構成例を示す図、（ｂ）は実施の形態１におけるタイムスタンプ用ＦＩＦＯバッファの構成例を示す図
【図９】（ａ）は実施の形態１におけるＦＩＦＯバッファの構成例を示す図、（ｂ）は実施の形態１におけるタイムスタンプ用ＦＩＦＯバッファの構成例を示す図
【図１０】実施の形態２におけるオンボードデバッグシステムの概略構成を示すブロック図
【図１１】実施の形態２におけるオンボードデバッグシステムの送信側の詳細な構成を示すブロック図
【図１２】実施の形態２におけるオンボードデバッグシステムの受信側の詳細な構成を示すブロック図
【図１３】実施の形態２におけるオンボードデバッグシステムの送信側から出力されるシリアル信号のデータ列を時間軸で示す波形図
【符号の説明】
【００７２】
１０１、１００１  マイクロコンピュータ
１０３、１００３  トレース入力部
１０４、１００４  ＦＩＦＯバッファ
１０５、１００５  Ｐ／Ｓ変換部
１１１、１１２  少数のデバッグ専用端子
１１３、１１４  デバッグ専用端子
１２１、１０２１  オンボードデバッグ装置
１２２、１０２２  Ｓ／Ｐ変換部
１２３  トレース出力部
１２４  トレースメモリ
１２５  タイマ回路部
１２６  タイムスタンプ用ＦＩＦＯバッファ
１１０７  トリガ出力設定部
１１０１、１２０１  シリアルレジスタ
１１０３、１２０３  トリガビット部
１１０４、１２０４  データ部
【図１】
2005222446.tif 000003
【図２】
2005222446.tif 000004
【図３】
2005222446.tif 000005
【図４】
2005222446.tif 000006
【図５】
2005222446.tif 000007
【図６】
2005222446.tif 000008
【図７】
2005222446.tif 000009
【図８】
2005222446.tif 000010
【図９】
2005222446.tif 000011
【図１０】
2005222446.tif 000012
【図１１】
2005222446.tif 000013
【図１２】
2005222446.tif 000014
【図１３】
2005222446.tif 000015