JP2008033568A - 検証支援装置、検証支援方法、及びプログラム - Google Patents

検証支援装置、検証支援方法、及びプログラム Download PDF

Info

Publication number
JP2008033568A
JP2008033568A JP2006205400A JP2006205400A JP2008033568A JP 2008033568 A JP2008033568 A JP 2008033568A JP 2006205400 A JP2006205400 A JP 2006205400A JP 2006205400 A JP2006205400 A JP 2006205400A JP 2008033568 A JP2008033568 A JP 2008033568A
Authority
JP
Japan
Prior art keywords
data
clock
reference clock
output
information register
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.)
Granted
Application number
JP2006205400A
Other languages
English (en)
Other versions
JP4698518B2 (ja
Inventor
Takao Shin
隆生 進
Toshiya Kuwano
俊弥 桑野
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.)
Fujitsu Ltd
Fujitsu Electronics Inc
Original Assignee
Fujitsu Ltd
Fujitsu Electronics 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 Fujitsu Ltd, Fujitsu Electronics Inc filed Critical Fujitsu Ltd
Priority to JP2006205400A priority Critical patent/JP4698518B2/ja
Priority to US11/639,279 priority patent/US7650537B2/en
Publication of JP2008033568A publication Critical patent/JP2008033568A/ja
Application granted granted Critical
Publication of JP4698518B2 publication Critical patent/JP4698518B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31725Timing aspects, e.g. clock distribution, skew, propagation delay
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31725Timing aspects, e.g. clock distribution, skew, propagation delay
    • G01R31/31726Synchronization, e.g. of test, clock or strobe signals; Signals in different clock domains; Generation of Vernier signals; Comparison and adjustment of the signals
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31727Clock circuits aspects, e.g. test clock circuit details, timing aspects for signal generation, circuits for testing clocks
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318594Timing aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

【課題】検証対象マイコンの基準クロックの停止を識別でき、かつその基準クロックの停止期間を測定できるようにする。
【解決手段】検証対象のマイコン20から出力される出力データを取得し、出力データとともにマイコン20から出力される基準クロックを用いて、取得した出力データをデータバンク部12に保存するとともに、クロック動作判別部15が出力データのサンプリング間隔で基準クロックの停止を判別し、その判別結果をレジスタ制御部16によりクロック情報レジスタ部17に書き込み保存するようにして、クロック情報レジスタ部17に書き込まれた情報に基づいて、基準クロックの停止位置及び停止期間を測定できるようにする。
【選択図】図1

Description

本発明は、検証支援装置、検証支援方法、及びプログラムに関し、特に、マイクロコンピュータを用いたシステムの検証を行うデバッグシステムに用いて好適なものである。
マイクロコンピュータ(以下、「マイコン」とも称す。)を用いたシステムのデバッグを行う際、マイコンの動作状況を確認するためにマイコンから出力される各種データをモニタ装置によりモニタする。例えば、マイコンが特定アドレスに対してデータアクセスを行うプログラムの実行状況を確認するためには、モニタ装置がマイコンのデータバスにおけるデータやマイコンから出力されるトレースデータなどにより特定アドレスへのアクセス状況をモニタし、プログラムの意図するデータアクセスを実際に行っているか否かを確認する。
特に、非常に低い頻度で発生するような不具合を検出するために、長時間にわたってプログラムを実行し、その間、絶えずデータをモニタするといったデバッグの手法が多用されている。この場合、取得するモニタデータのデータ量が測定時間に比例して大きくなるので、適当なサンプリング間隔でモニタデータを取得することによりデータ量を抑える処理も行われている。
しかしながら、マイコンは、内部の基準クロックに基づいて、演算やデータアクセスを行う。したがって、マイコン内部の基準クロックが停止するような状態(例えば、リセット状態、ストップ状態、電源オフ状態等)となった場合には、マイコンからのデータ出力が行われないためにモニタする情報を得ることができない。
そのため、従来のモニタ装置では、マイコンの基準クロックが停止するような状態を跨いだプログラム実行についてデータのモニタを行おうとする場合には、基準クロックの停止期間の前後にマイコンより得たモニタデータだけでは、クロック停止中のモニタデータが存在しないために実際の測定時間分のデータが得られないという問題があった。また、マイコンの基準クロックが停止するような状態を想定していないモニタ装置では、マイコンの基準クロックの停止をモニタデータとして保存していないために、得られたモニタデータを解析しても基準クロックが停止したポイントを特定できないという問題があった。
また、下記特許文献1には、インサーキット・エミュレータにおいて、エミュレーション対象であるターゲットプログラムの実行時間を測定し、測定された実行時間をトレースデータに対応して保持させるようにした時間測定回路及び時間測定方法が開示されている。
特開2001−92692号公報
本発明は、マイコンを用いたシステムのデバッグにて、マイコンの基準クロックの停止を識別できるようにするとともに、基準クロックの停止期間を測定できるようにすることを目的とする。
本発明の検証支援装置は、検証対象の処理回路から出力される出力データを取得してデータバンクに保存するデータ取得部と、上記処理回路から出力される基準クロックの停止を判別する動作判別部と、クロック情報レジスタとを備える。動作判別部により出力データのサンプリング間隔で基準クロックの停止を判別し、その判別結果がクロック情報レジスタに保存される。
本発明によれば、検査対象の処理回路からの基準クロックの動作状況を出力データのサンプリング間隔で判別して、判別結果をレジスタに保存するので、当該レジスタに保存されている情報に基づいて、基準クロックの停止位置及び停止期間を容易に測定することできる。
以下、本発明の実施形態を図面に基づいて説明する。
図1は、本発明の一実施形態による検証支援装置を適用したデバッグシステムの一構成例を示すブロック図である。
図1において、10はモニタ装置であり、20は検証(デバッグ)対象のマイクロコンピュータ(マイコン)であり、30はホストコンピュータ(ホストPC)である。モニタ装置10は、データバンク制御部11、データバンク部12、サンプリングタイマ13、タイマクロック14、クロック動作判別部15、レジスタ制御部16、クロック情報レジスタ部17、及びモニタMCU(マイクロコンピュータユニット)18を備える。マイコン20は、デバッグに係るプログラムを実行する。
モニタ装置10は、検証対象のマイコン20からデータバスBUSを介して出力される各種データを、適当なサンプリング間隔で取得してデータバンク部12に保存する。具体的には、データバンク制御部11が、サンプリングタイマ13から出力されるサンプリング要求信号を受け、マイコン20から出力されるデータをサンプリング要求信号に応じて取得し、取得したデータをデータバンク部12に保存する。サンプリングタイマ13は、タイマクロック14からのクロックを用いて所定のサンプリング間隔でサンプリング要求信号を出力(アサート)し、データの保存が完了するとサンプリング要求信号の出力を停止(ネゲート)する。
そして、データバンク部12に保存したデータ量が所定のデータ量に達すると(本実施形態では後述するクロック情報レジスタ部17への書き込みが終了すると)、モニタMCU18は、データバンク部12からデータを読み出して、ホストPC30にデータを出力する。ホストPC30は、モニタ装置10から供給されたデータをホストPC30内部のハードディスクなどの保存領域に保存する。上述した一連の動作を繰り返し行うことにより、マイコン20から出力されるデータのモニタを行っている。
ここで、マイコン20は、データ出力の際に、基準クロックをデータにあわせて出力する。モニタ装置10は、マイコン20から出力される基準クロックに従って、取得したデータをデータバンク部12に保存する動作などを行う。
クロック動作判別部15は、マイコン20の基準クロックの動作状況を判別する。すなわち、クロック動作判別部15は、マイコン20の基準クロックの停止を判別する。レジスタ制御部16は、クロック動作判別部15での判別結果を受けて、判別結果に応じた値をクロック情報レジスタ部17に書き込む。クロック動作判別部15による基準クロックの停止判断は、データのサンプリング間隔に基づいて行われ、クロック情報レジスタ部17にはサンプリング間隔と同じ間隔でデータ(クロックの動作状況を示す値)の書き込みが行われる。なお、クロック情報レジスタ部17は、データバンク部12に対応した構成となっており、データバンク部12に格納可能なワード数に等しいビット数を有している。
上述したように、モニタ装置10は、マイコン20から出力される基準クロックに従って、取得したデータを保存する動作を行っている。そのため、マイコン20がリセット状態やストップ状態となりマイコン20の内部クロックが停止すると、マイコン20からの基準クロックの出力も停止する。その結果、サンプリングタイマ13からサンプリング要求信号が出力されても、データバンク部12へのデータ保存が行われない。
そこで本実施形態においては、このサンプリング要求信号を利用して、クロック動作判別部15がマイコン20の基準クロックの停止を検出する。具体的には、図2に示すように、マイコン20からの基準クロックの出力が停止した場合、サンプリング要求信号が出力されてもデータバンク部12へのデータ保存が行われないためにサンプリング要求信号は出力されたままとなる(図2の破線部21参照)。クロック動作判別部15は、サンプリング要求信号が一定時間出力され続けた場合には、マイコン20の基準クロックが停止したと判断し、クロック停止信号をレジスタ制御部16に出力する。クロック停止信号を受けたレジスタ制御部16は、マイコン20の基準クロックが停止したことを示す値(本実施形態においては“1”)をクロック情報レジスタ部17に書き込む。一方、マイコン20から基準クロックが出力されている場合には、レジスタ制御部16は、マイコン20の基準クロックが停止していないことを示す値(本実施形態においては“0”)をクロック情報レジスタ部17に書き込む。
なお、図2の破線部22に示すように、マイコン20からの基準クロックの出力停止後、基準クロックが再び出力された場合には、サンプリング要求信号がネゲートされることで、クロック動作判別部15は、マイコン20から基準クロックが出力されていると判断する。したがって、レジスタ制御部16は、値“0”をクロック情報レジスタ部17に書き込む。
そして、レジスタ制御部16がクロック情報レジスタ部17にすべての値を書き込んだら、すなわちクロック情報レジスタ部17への書き込みが終了したら、モニタMCU18は、データバンク部12からデータを読み出すとともに、クロック情報レジスタ部17のレジスタ値を読み出して、ホストPC30に出力する。ホストPC30は、モニタ装置10から供給されたデータ及びレジスタ値をホストPC30内部のハードディスクなどの保存領域に保存する。
次に、クロック情報レジスタ部17とデータバンク部12との対応について、図3を参照し説明する。図3(A)は、解析前の、すなわち測定時に保存された状態でのクロック情報レジスタ部17とデータバンク部12の対応を示しており、図3(B)は、解析後のクロック情報レジスタ部17とデータバンク部12の対応を示している。
なお、図3(A)、(B)においては、クロック情報レジスタ部17は16ビットで構成され、データバンク部12は16ワードのデータを格納可能であるとする(説明の便宜上、16進表記で示している)。また、上述したように、クロック情報レジスタ部17への書き込みタイミングは、データのサンプリング間隔と同じであり、各ビットについては、対応するサンプリング期間においてマイコン20の基準クロックの停止を検出した場合には“1”が書き込まれ、基準クロックの停止を検出しなかった場合には“0”が書き込まれるものとする。また、NDが新しく書き込まれたデータを示し、ODはすでにモニタMCUにより読み出されたサンプリング済みの古いデータであることを示す。
図3(A)に示すように、クロック動作判別部15によりマイコン20の基準クロックが停止していると判断された期間T1においては、その期間T1に対応するクロック情報レジスタ部17の0ビット目〜5ビット目の各ビットに“1”が書き込まれ、データバンク部12へのデータ書き込みは行われない。続く、期間T2において、クロック動作判別部15によりマイコン20の基準クロックが出力されている(停止していない)と判断されると、期間T2に対応するクロック情報レジスタ部17の6ビット目〜8ビット目の各ビットに“0”が書き込まれ、データバンク部12の0ワード目〜2ワード目に取得したマイコン20からの出力データNDが書き込まれる。
期間T3において、クロック動作判別部15によりマイコン20の基準クロックが停止していると判断されると、期間T3に対応するクロック情報レジスタ部17の9ビット目及びAビット目の各ビットに“1”が書き込まれ、データバンク部12へのデータ書き込みは行われない。その後、期間T4において、クロック動作判別部15によりマイコン20の基準クロックが出力されていると判断されると、期間T4に対応するクロック情報レジスタ部17のBビット目〜Fビット目の各ビットに“0”が書き込まれ、データバンク部12の3ワード目〜7ワード目に、取得したマイコン20からの出力データNDが書き込まれる。
以上のように、クロック情報レジスタ部17に対しては、データのサンプリング間隔毎に必ず書き込みを行い、データバンク部12に対しては、サンプリング間隔毎にマイコン20の基準クロックが出力されているときのみ書き込みを行う。すなわち、図3(A)に示すように、データバンク部12の2ワード目にデータを書き込んだ後、マイコン20の基準クロックが停止するとデータバンク部12におけるライトポインタを停止し、再びマイコン20の基準クロックが出力されると、データバンク部12では2ワード目に続く3ワード目にデータが書き込まれる。
クロック情報レジスタ部17へのデータ書き込みが終了した後に、クロック情報レジスタ部17及びデータバンク部12の値を読み出し解析することで、図3(B)に示すように、マイコン20からの基準クロックが6サンプリング期間(期間T1)の間において停止し、その後クロックが動作して3サンプリング期間(期間T2)の間においてデータを取得し、その後2サンプリング期間(期間T3)の間において再び基準クロックが停止し、その後クロックが動作して5サンプリング期間(期間T4)の間においてデータのサンプリングが行われたことがわかる。なお、クロック情報レジスタ部17のビット構成と、データバンク部12のワード構成は、対応し同じ数であるので、図3(A)に示すデータバンク部12の8ワード目以降はすでにサンプリング済みの古いデータであることがわかる。
以上のように、クロック情報レジスタ17に書き込まれた値を参照して解析を行うことにより、マイコン20の基準クロックの停止ポイント及び基準クロックの停止期間を容易に判別することができる。
図4は、本発明の一実施形態におけるデバッグシステムの具体的な構成例を示すブロック図である。
図4において、40はインサーキットエミュレータ(ICE)であり、図1に示したモニタ装置10に相当するモニタ装置を含み構成されている。また、52はデバッグに係るプログラムを実行可能な評価対象マイコン、53はホストPCであり、図1に示したマイコン20、ホストPC30にそれぞれ対応する。図4に示したデバッグシステムは、評価対象マイコン52から出力される外部トレースバスBUSの信号をモニタすることにより、特定のデータアドレスへのアクセス状況をモニタする。評価対象マイコン52の外部トレースバスBUSを介して出力されるデータをトレースデータとし、評価対象マイコン52の各種データアクセスに合わせてアクセス先のアドレスと、リードデータ又はライトデータとがトレースデータとして出力されるものとする。
ICE40は、アドレス比較部41、アドレスレジスタ42、データバンク制御部43、データバンク部44、サンプリングタイマ45、タイマクロック46、クロック動作判別部47、レジスタ制御部48、クロック情報レジスタ部49、及びモニタMCU50を有する。アドレス比較部41、アドレスレジスタ42、データバンク制御部43、データバンク部44、サンプリングタイマ45、クロック動作判別部47、レジスタ制御部48、及びクロック情報レジスタ部49は、例えばFPGA等のプログラマブル素子51により構成可能である。
データバンク制御部43、データバンク部44、サンプリングタイマ45、タイマクロック46、クロック動作判別部47、レジスタ制御部48、クロック情報レジスタ部49、及びモニタMCU50は、図1に示したデータバンク制御部11、データバンク部12、サンプリングタイマ13、タイマクロック14、クロック動作判別部15、レジスタ制御部16、クロック情報レジスタ部17、及びモニタMCU18にそれぞれ対応する。
ただし、図4に示す例では、データバンク部44は、2つのデータバンクDTB−A、DTB−Bを備え、クロック情報レジスタ部49は、2つのクロック情報レジスタREG−A、REG−Bを備える。データバンクDTB−Aとクロック情報レジスタREG−Aを1組とし、データバンクDTB−Bとクロック情報レジスタREG−Bを1組として構成している。以下の説明では、クロック情報レジスタREG−A、REG−Bはそれぞれ16ビットで構成され、データバンクDTB−A、DTB−Bはそれぞれ16ワードのデータを格納可能なリングバッファであるとする。
アドレス比較部41は、アドレスレジスタ42に設定されている測定対象のアドレス値と、マイコン52からトレースバスBUSを介して出力されるトレースデータに係るアドレスを比較して、測定対象アドレスへのアクセスに係るトレースデータを抽出する。なお、アドレスレジスタ42への測定対象データアドレスの設定は、ホストPC53からモニタMCU50を経由して設定可能である。
データバンク制御部43は、アドレス比較部41にて測定対象アドレスへのアクセスに係るトレースデータを抽出した場合には、リードデータ又はライトデータを保持して、サンプリングタイマ45からのサンプリング要求信号に応じてデータバンク部44内のデータバンクDTB−AもしくはDTB−Bに書き込む。なお、サンプリング要求信号が出力されるまでにアドレスレジスタ42に設定された測定対象アドレスへのアクセスに係るトレースデータを複数回抽出した場合には、データバンク制御部43は、最後に抽出したトレースデータのリードデータ又はライトデータをデータバンクDTB−AもしくはDTB−Bに書き込む。また、後述するが、データバンク制御部43がデータを書き込むデータバンクDTB−A、DTB−Bの切り替えは、レジスタ制御部48の制御に基づいて行われる。
サンプリングタイマ45は、タイマクロック46からのクロックを用いてサンプルリング間隔に係るカウント動作を行い、所定のサンプリング間隔に達したらデータバンク制御部43にサンプリング要求信号を出力する。データバンク制御部43は、リードデータ又はライトデータをデータバンクDTB−AもしくはDTB−Bに書き込みが終了すると、サンプリング要求信号の出力を停止(ネゲート)する。ここで、サンプリング間隔は、ハードウェアの構成上どのような値も実現可能で、また、ハードウェア構成によってはホストPC53からモニタMCU50を介して任意の値に設定可能なようにしても良い。
サンプリングタイマ45からのサンプリング要求信号は、クロック動作判別部47にも出力されている。クロック動作判別部47は、サンプリング要求信号が出力された後、出力が停止されるまで(アサートされてからネゲートされるまで)の時間を測定する。その結果、サンプリング要求信号が一定期間ネゲートされなければ、クロック動作判別部47はマイコン52の基準クロックが停止したと判断し、例えばクロック停止信号を出力するなどしてレジスタ制御部48に基準クロック停止を通知する。
レジスタ制御部48は、サンプリングタイマ45から出力されるサンプリング要求信号に応じて、クロック動作判別部47からの通知に基づきクロックの動作状況を示す情報をクロック情報レジスタREG−AもしくはREG−Bに書き込む。例えば、レジスタ制御部48は、クロック動作判別部47から基準クロックが停止した旨の通知を受けた場合には、クロック情報レジスタREG−AもしくはREG−Bに“1”を書き込み、基準クロックが停止した旨の通知を受けていない(基準クロックが出力されている)場合には、クロック情報レジスタREG−AもしくはREG−Bに“0”を書き込む。つまり、レジスタ制御部48は、タイマクロック46を基準のクロックとして動作し、サンプリング期間が経過するたびに、クロックの動作状況に応じて、クロック情報レジスタREG−A、REG−Bに“0”もしくは“1”のデータを必ず書き込む。
クロック情報レジスタ部49は、マイコン52の基準クロックの動作状況を示すためのものであり、上述したように2つのクロック情報レジスタREG−A、REG−Bを有する。クロック情報レジスタREG−A、REG−Bは、データバンクDTB−A、DTB−Bに対応しており、例えば各データバンクに格納可能なリードライトデータのワード数をnワードとした場合、各クロック情報レジスタはnビットで構成される(nは任意の整数であり、本実施形態では上述したようにn=16)。
クロック情報レジスタREG−A、REG−Bへのデータ書き込みは、一方のクロック情報レジスタREG−A、REG−Bへの全データの書き込みが終了したら、他方のクロック情報レジスタREG−B、REG−Aにデータの書き込みを行う。また、レジスタ制御部48は、クロック情報レジスタREG−AもしくはREG−Bにすべてのデータを書き込んだらモニタMCU50に割り込み要求信号を出力する。また、同時にレジスタ制御部48は、データバンク制御部43にサンプリングしたデータを書き込むデータバンクを、データバンクDTB−AもしくはDTB−Bから、データバンクDTB−BもしくはDTB−Aに切り替えるよう信号を出力する。クロック情報レジスタREG−Aにデータの書き込みを行う場合には、データバンクDTB−Aにサンプリングしたデータを書き込むように制御し、クロック情報レジスタREG−Bにデータの書き込みを行う場合には、データバンクDTB−Bにサンプリングしたデータを書き込むように制御する。
モニタMCU50は、レジスタ制御部48からの割り込み要求信号を受けて、クロック情報レジスタREG−A及びデータバンクDTB−A、もしくはクロック情報レジスタREG−B及びデータバンクDTB−Bの何れか1組のデータをすべて読み出して、ホストPC53にアップロードする。なお、レジスタ制御部48がクロック情報レジスタREG−AもしくはREG−Bへのデータ書き込み終了を割り込み要求信号によるモニタMCU50に通知するようにしているが、これに限定されず、モニタMCU50のポーリング処理でも制御可能である。
ホストPC53は、モニタMCU50によりアップロードされるデータをホストPC53内のストレージ領域、例えばホストPC53内部のハードディスクに保存する。このように、ホストPC53内部のハードディスクをデータの保存領域として用いる場合には、システムでの測定可能時間はハードディスクの空き容量に応じて決定される。ホストPC53内に格納されたモニタデータは所定の解析処理が行われて、その解析により基準クロックの停止ポイント、及び基準クロックの停止期間が算出される。
ここで、データバンク制御部43は、マイコン52からの基準クロックを用いて、サンプリングタイマ45からのサンプリング要求信号に従ってデータバンクDTB−AもしくはDTB−Bへのデータ書き込みを行っている。したがって、マイコン52の基準クロックが停止した場合には、図5に示すようにマイコン52からはトレースデータ及び基準クロックが出力されず、サンプリングタイマ45からサンプリング要求信号が出力されたとしてもデータバンクDTB−AもしくはDTB−Bへのデータ書き込みは行わない。
また、マイコン52からの基準クロックの出力が再開された場合、データバンク制御部43は、基準クロックの停止前にサンプリングしたデータに続けてデータの書き込みを行う。そのため、基準クロックの停止ポイントを示すデータがなければ、データバンクDTB−A、DTB−Bに書き込まれたデータにおいて、どのデータまでが基準クロック停止前に書き込まれたデータであり、どのデータからが基準クロックが回復してから書き込まれたデータであるか判別することができない。そこで、本実施形態では、詳細は後述するがクロック情報レジスタREG−A、REG−Bの値に基づいて、基準クロックの停止ポイント及び基準クロックの停止期間の算出を行う。
以下に、クロック情報レジスタREG−A、REG−B及びデータバンクDTB−A、DTB−Bに書き込まれたデータに基づく、基準クロックの停止ポイント及び基準クロックの停止期間の測定方法について、図6を参照して説明する。なお、以下では、事象A〜Dの4つの事象でのデータ書き込みを一例として説明する。事象Aは、マイコン52の基準クロックが停止しなかった場合に対応し、事象Bは、出力されていたマイコン52の基準クロックが停止した場合に対応する。事象Cは、マイコン52の基準クロックが停止し続けた場合に対応し、事象Dは、停止していたマイコン52の基準クロックが動作を再開した場合に対応する。
(事象A)クロック情報レジスタREG−AもしくはREG−Bにすべてのデータを書き込む間、基準クロックが停止しなかった場合(図6(A)参照)。
クロック情報レジスタREG−AもしくはREG−Bにて、0ビット目〜Fビット目に対応する時刻T61〜T62の期間において、マイコン52の基準クロックが停止しなかった場合には、クロック情報レジスタREG−AもしくはREG−Bの各ビットの値は、すべて“0”である。したがって、対応するデータバンクDTB−AもしくはDTB−Bには、すべて新しいデータNDが書き込まれていることが判別できる。また、サンプリング間隔は、常に一定としているため、クロック情報レジスタREG−AもしくはREG−Bにすべての値が書き込まれている場合には、(サンプリング期間×16)を測定時間として得られる。
(事象B)クロック情報レジスタREG−AもしくはREG−Bにすべてのデータの書き込みが終了する前に基準クロックが停止した場合(図6(B)参照)。
クロック情報レジスタREG−AもしくはREG−Bに対するすべてのデータの書き込みが終了する前にマイコン52の基準クロックが停止した場合には、クロック情報レジスタREG−AもしくはREG−Bの先頭(0ビット目)から途中までの各ビットに値“0”が書き込まれ、その後の各ビットに値“1”が書き込まれている。
図6(B)に示した例の場合には、クロック情報レジスタREG−AもしくはREG−Bに切り替えられた時刻T63から10サンプリング期間が経過した時刻T64でマイコン52の基準クロックが停止し、基準クロックが停止した状態のままクロック情報レジスタREG−AもしくはREG−Bにすべてのデータの書き込みが終了する時刻T65に至っていることがわかる。マイコン52の基準クロックが停止したため、データバンクDTB−AもしくはDTB−Bに書き込まれているデータをすべて読み出した場合、0ワード目〜9ワード目の値は新たにサンプリングした新しいデータNDであり、Aワード目〜Fワード目の値は新たにサンプリングしたデータではない古いデータODであることが判別できる。なお、古いデータODは、すでに読み出し済みであるので破棄可能である。
図6(B)に示した例では、クロック情報レジスタREG−AもしくはREG−BのAビット目〜Fビット目の6ビットに“1”が書き込まれているので、(サンプリング期間×6)として基準クロックの停止期間が算出できる。
(事象C)クロック情報レジスタREG−AもしくはREG−Bにすべてのデータを書き込む間、基準クロックの停止が継続していた場合(図6(C)参照)。
クロック情報レジスタREG−AもしくはREG−Bにて、0ビット目〜Fビット目に対応する時刻T66〜T67の期間において、マイコン52の基準クロックの停止が継続していた場合には、クロック情報レジスタREG−AもしくはREG−Bの各ビットにはすべて値“1”が書き込まれている。したがって、対応するデータバンクDTB−AもしくはDTB−Bのデータは、一度も更新されておらず、すべて古いデータODであることがわかる。この古いデータODも破棄可能である。
この場合には、クロック情報レジスタREG−AもしくはREG−Bの各ビットに値“1”が書き込まれているので、(サンプリング期間×16)として基準クロックの停止期間が算出できる。
(事象D)クロック情報レジスタREG−AもしくはREG−Bにすべてのデータの書き込みが終了する前に停止していた基準クロックが動作を再開した場合(図6(C)参照)。
クロック情報レジスタREG−AもしくはREG−Bに対するすべてのデータの書き込みが終了する前に、停止していたマイコン52の基準クロックが回復した場合には、クロック情報レジスタREG−AもしくはREG−Bの先頭(0ビット目)から途中までの各ビットに値“1”が書き込まれ、その後の各ビットに値“0”が書き込まれている。これにより、基準クロックの動作が回復したことが判別できる。
図6(D)に示した例の場合には、クロック情報レジスタREG−AもしくはREG−Bに切り替えられた時刻T68から5サンプリング期間が経過した時刻T69でマイコン52の基準クロックが回復し、クロック情報レジスタREG−AもしくはREG−Bにすべてのデータの書き込みが終了する時刻T70に至っている。したがって、11回のデータサンプリングが行われていることがわかる。また、基準クロックの回復後にデータバンクDTB−AもしくはDTB−Bの先頭からサンプリングしたデータ書き込みが行われるので、図6(D)に示した例の場合には、データバンクDTB−AもしくはDTB−Bの0ワード目〜Aワード目の値が新たに書き込まれた新しいデータNDであることが判別できる。図6(D)に示した例では、クロック情報レジスタREG−AもしくはREG−Bの0ビット目〜4ビット目の5ビットに“1”が書き込まれているので、(サンプリング期間×5)として基準クロックの停止期間が算出できる。
なお、クロック情報レジスタREG−AもしくはREG−Bにおいてすべてのデータを書き込む前に、基準クロックの出力と出力停止が複数回繰り返されても、データバンクにおいて、基準クロックの停止前のデータに続けて再開後のデータの書き込みを行い同様の動作を行う。
本実施形態では、クロック情報レジスタREG−AもしくはREG−Bにデータのサンプリング間隔毎に基準クロックの動作状況を書き込み、書き込んだデータを読み出して上述した解析方法を用いることで、基準クロックの停止ポイントの特定、及び基準クロックの停止期間の算出を行うことができる。
次に、クロック情報レジスタREG−A、REG−B及びデータバンクDTB−A、DTB−Bに書き込まれたデータを用いた解析処理動作について説明する。なお、以下に説明する解析処理動作は、モニタMCU50や、ホストPC53のCPU等(説明の便宜上、これらを「解析処理制御部」と称す。)により実行される。
図7は、本実施形態における第1の解析処理動作の流れを示すフローチャートである。図7に示す第1の解析処理では、クロック情報レジスタREG−A、REG−B及びデータバンクDTB−A、DTB−Bに書き込まれたデータに基づいて、基準クロックの停止ポイント及び停止期間を解析して表示する。
まず、ステップS101にて、解析処理制御部は、クロック情報レジスタREG−AもしくはREG−Bのリードポインタn、データバンクDTB−AもしくはDTB−Bのリードポインタm、及び基準クロック停止時間値tの値をそれぞれ“0”に初期化する。次に、ステップS102にて、解析処理制御部は、クロック情報レジスタREG−AもしくはREG−Bのnビット目の値が“0”であるか“1”であるか判定する。
その判定の結果、nビット目の値が“0”である場合、すなわちマイコンの基準クロックが出力されている(動作している)場合には、解析処理制御部は、ステップS103にて、データバンクDTB−AもしくはDTB−Bのmワード目を表示するよう制御を行い、続くステップS104にて、そのときの基準クロック停止時間値tをクロック停止期間として表示するよう制御を行う。そして、ステップS105にて、解析処理制御部は、基準クロック停止時間値tを“0”に初期化するとともに、リードポインタmの値を1だけインクリメントし、ステップS108に進む。
一方、ステップS102での判定の結果、nビット目の値が“1”である場合、すなわちマイコンの基準クロックが停止している場合には、解析処理制御部は、ステップS106にて、基準クロックが停止していることを表示するよう制御を行う。そして、ステップS107にて、解析処理制御部は、基準クロック停止時間値tを1だけインクリメントし、ステップS108に進む。
ステップS108にて、解析処理制御部は、リードポインタnの値がクロック情報レジスタREG−AもしくはREG−Bの最終ビットを示す値と同じであるか否かを判断する。その結果、リードポインタnの値が最終ビットを示す値と異なる場合には、解析処理制御部は、ステップS109にて、リードポインタnの値を1だけインクリメントし、ステップS102に戻る。
一方、ステップS108での判断の結果、リードポインタnの値が最終ビットを示す値と同じ場合には、解析処理制御部は、ステップS110にて、基準クロック停止時間値tが“0”であるか否かを判断する。その結果、基準クロック停止時間値tが“0”でない場合には、ステップS111にて、解析処理制御部は、基準クロック停止時間値tをクロック停止期間として表示するよう制御を行った後、処理を終了する。また、ステップS110での判断の結果、基準クロック停止時間値tが“0”である場合には、処理を終了する。
例えば、図8(A)に示すように、クロック情報レジスタが4ビットを有し、その0ビット目及び1ビット目に値“1”が書き込まれ、2ビット目及び3ビット目に値“0”が書き込まれているとする。また、そのクロック情報レジスタに対応するデータバンクの0ワード目に値A、1ワード目に値B、2ワード目に値C、3ワード目に値Dが書き込まれているとする。
この図8(A)に示したクロック情報レジスタ及びデータバンクのデータを用いて、図7に示した解析処理を行った場合には、図8(B)に示すような表示が行われる。すなわち、始めの2サンプリング期間は、クロック情報レジスタの値が“1”であるので、「クロック停止」表示が行われる。その後の2サンプリング期間については、クロック情報レジスタの値が“0”であるので、そのサンプリング期間にサンプリングされたデータ値A、Bが表示されるとともに、基準クロックの停止期間が合わせて表示される。図8(B)に示したように表示することで、2サンプリング期間の基準クロックの停止が発生したこと、及び基準クロックの停止ポイントを容易に認識することができる。
図9は、本実施形態における第2の解析処理動作の流れを示すフローチャートである。図9に示す第2の解析処理では、クロック情報レジスタREG−A、REG−B及びデータバンクDTB−A、DTB−Bに書き込まれたデータに基づいて、基準クロックの停止ポイント及び停止期間を解析して基準クロックの停止ポイントを明示する。
まず、ステップS201にて、解析処理制御部は、クロック情報レジスタREG−AもしくはREG−Bのリードポインタn、及びデータバンクDTB−AもしくはDTB−Bのリードポインタmを“0”に初期化する。次に、ステップS202にて、解析処理制御部は、クロック情報レジスタREG−AもしくはREG−Bのnビット目の値が“0”であるか“1”であるか判定する。
その判定の結果、nビット目の値が“0”である場合には、ステップS203にて、解析処理制御部は、データバンクDTB−AもしくはDTB−Bのmワード目を表示するよう制御を行う。そして、ステップS204にて、解析処理制御部は、リードポインタmの値を1だけインクリメントし、ステップS206に進む。一方、ステップS202での判定の結果、nビット目の値が“1”である場合には、ステップS205にて、解析処理制御部は、基準クロックが停止していることを表示するよう制御を行い、ステップS206に進む。
ステップS206にて、解析処理制御部は、リードポインタnの値がクロック情報レジスタREG−AもしくはREG−Bの最終ビットを示す値と同じであるか否かを判断する。その結果、リードポインタnの値が最終ビットを示す値と異なる場合には、解析処理制御部は、ステップS207にて、リードポインタnの値を1だけインクリメントし、ステップS202に戻る。一方、リードポインタnの値が最終ビットを示す値と同じ場合には、処理を終了する。
上述した図8(A)に示したクロック情報レジスタ及びデータバンクのデータを用いて、図9に示した解析処理を行った場合には、図10に示すような表示が行われる。すなわち、「クロック停止」又はサンプリングされたデータ値が表示される。これにより、基準クロックの停止期間を結果として取得してないため、解析結果に係るデータ量を低減できるとともに、基準クロックの停止ポイントを容易に認識することができる。なお、基準クロックの停止期間については、表示される「クロック停止」の個数から得ることが可能である。
図11は、本実施形態における第3の解析処理動作の流れを示すフローチャートである。図11に示す第3の解析処理では、クロック情報レジスタREG−A、REG−B及びデータバンクDTB−A、DTB−Bに書き込まれたデータに基づいて、基準クロックの停止ポイント及び停止期間を解析して基準クロックの停止期間を明示する。
なお、図11に示す第3の解析処理は、図7に示した第1の解析処理とはクロックが停止した場合にその旨の表示を行わないことが相違し、他の各ステップでの処理は同様であるので説明は省略する。なお、図11に示す第3の解析処理のステップS301〜S305、ステップS306〜S310は、図7に示した第1の解析処理のステップS101〜S105、S107〜S111にそれぞれ対応する。
上述した図8(A)に示したクロック情報レジスタ及びデータバンクのデータを用いて、図11に示した第3の解析処理を行った場合には、図12に示すような表示が行われ、データ値Aが取得される直前までの2サンプリング期間において、基準クロックの停止が発生したことを認識することができる。また、基準クロックが停止したか否かの情報をサンプリング期間毎に保持することなく、基準クロックが停止した期間の値を結果として保持すれば良いので、解析結果に係るデータ量をさらに低減することができる。
なお、上述した第1〜第3の解析処理は、例えばコンピュータのCPU又はMPU、RAM、ROMなどで構成できるものであり、RAMやROMに記憶されたプログラムが動作することによって実現でき、上記プログラムは本発明の実施形態に含まれる。また、コンピュータが上記機能を果たすように動作させるプログラムを、例えばCD−ROMのような記録媒体に記録し、コンピュータに読み込ませることによって実現できるものであり、上記プログラムを記録した記録媒体は本発明の実施形態に含まれる。上記プログラムを記録する記録媒体としては、CD−ROM以外に、フレキシブルディスク、ハードディスク、磁気テープ、光磁気ディスク、不揮発性メモリカード等を用いることができる。
また、コンピュータがプログラムを実行し処理を行うことにより、上記実施形態の機能が実現されるプログラムプロダクトは、本発明の実施形態に含まれる。上記プログラムプロダクトとしては、上記実施形態の機能を実現するプログラム自体、上記プログラムが読み込まれたコンピュータ、ネットワークを介して通信可能に接続されたコンピュータに上記プログラムを提供可能な送信装置、及び当該送信装置を備えるネットワークシステム等がある。
また、コンピュータが供給されたプログラムを実行することにより上記実施形態の機能が実現されるだけでなく、そのプログラムがコンピュータにおいて稼働しているOS(オペレーティングシステム)又は他のアプリケーションソフト等と共同して上記実施形態の機能が実現される場合や、供給されたプログラムの処理の全て又は一部がコンピュータの機能拡張ボードや機能拡張ユニットにより行われて上記実施形態の機能が実現される場合も、かかるプログラムは本発明の実施形態に含まれる。また、本発明をネットワーク環境で利用するべく、全部又は一部のプログラムが他のコンピュータで実行されるようになっていても良い。
例えば、上述した第1〜第3の解析処理は、ホストPCの一構成例である図13に示すようなコンピュータ機能60により実現でき、そのCPU61により上記実施形態での動作が実施される。
コンピュータ機能60は、図13に示すように、CPU61と、ROM62と、RAM63と、操作部(CONS)69のコントローラ(CONSC)65と、表示部としてのディスプレイ(DISP)70のディスプレイコントローラ(DCONT)66と、ハードディスク(HD)71及びフレキシブルディスク等の記憶デバイス(STD)72のコントローラ(DCONT)67と、ネットワークインタフェースカード(NIC)68とが、システムバス64を介して互いに通信可能に接続された構成としている。
CPU61は、ROM62又はHD71に記憶されたソフトウェア(プログラム)、又はSTD72より供給されるソフトウェア(プログラム)を実行することで、システムバス64に接続された各構成部を総括的に制御する。すなわち、CPU61は、上述したような動作を行うための処理プログラムを、ROM62、HD71、又はSTD72から読み出して実行することで、上記実施形態での動作を実現するための制御を行う。RAM63は、CPU61の主メモリ又はワークエリア等として機能する。
CONSC65は、CONS69や図示していないポインティングデバイス等からの指示入力を制御する。DISPC66は、DISP70の表示を制御する。DCONT67は、ブートプログラム、種々のアプリケーション、ユーザファイル、ネットワーク管理プログラム、及び上記実施形態における上記処理プログラム等を記憶するHD71及びSTD72とのアクセスを制御する。NIC68はネットワーク73上の他の装置と双方向にデータをやりとりする。
なお、上述した解析処理は、ホストPCに限らず、モニタMCUでも実行可能である。また、解析処理を行う解析処理部をモニタ装置等に新たに設けて実行するようにしても良い。
以上、本実施形態によれば、検証対象のマイコンからの基準クロックが停止しても、クロック情報レジスタに書き込まれたデータに基づいて、基準クロックの停止ポイント、回復ポイント及び停止期間を容易に測定することができる。例えば、検証対象のマイコンにて実行するターゲットプログラムが、スリープモードやストップモードなどの基準クロックが停止するような状態を含むものであっても、基準クロックの停止期間を跨いでデータをモニタし、デバッグ支援を行うことが可能になる。
なお、上述した実施形態において示したクロック情報レジスタのビット構成及びデータバンクの構成は一例であり、これに限定されることなく、任意に変更可能である。また、クロック情報レジスタに書き込むデータの値についても、基準クロックが停止したか否かを認識可能であれば良く、値と基準クロックの状態の対応は任意である。
また、上記図4に示したデバッグシステムでは、クロック情報レジスタとデータバンクの組を2組有する場合を一例として示しているが、クロック情報レジスタとデータバンクの組を3組以上備えていても良く、組数が増大するのに伴って回路の負荷を低減することができる。また、クロック情報レジスタとデータバンクの組を複数設けずに、1組のみ設けて複数の領域に分割し、データ等の書き込み及び読み出しを行うようにしても良い。
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明の諸態様を付記として以下に示す。
(付記1)検証対象の処理回路から出力される出力データを取得し、当該出力データとともに上記処理回路から出力される基準クロックを用いて、取得した出力データをデータバンクに保存するデータ取得部と、
上記出力データのサンプリング間隔で上記基準クロックの停止を判別する動作判別部と、
上記動作判別部での判別結果を保存するクロック情報レジスタとを備えることを特徴とする検証支援装置。
(付記2)上記処理回路から出力される出力データの取得を指示する信号であって、上記出力データのサンプリング間隔が経過するたびにアサートされ、上記データバンクへの出力データの保存に伴ってネゲートされるサンプリング要求信号を生成するサンプリングタイマを備えることを特徴とする付記1記載の検証支援装置。
(付記3)上記動作判別部は、上記サンプリング要求信号に基づいて、上記基準クロックが停止したか否かを判別することを特徴とする付記2記載の検証支援装置。
(付記4)上記動作判別部は、上記サンプリング要求信号がアサートされてから一定時間が経過した後に上記サンプリング要求信号がネゲートされていない場合には、上記基準クロックが停止したと判別することを特徴とする付記3記載の検証支援装置。
(付記5)上記データバンクと上記クロック情報レジスタは対応して設けられ、上記データバンクと上記クロック情報レジスタの組を複数備えることを特徴とする付記1記載の検証支援装置。
(付記6)上記データバンクに保存可能な出力データの数と、上記クロック情報レジスタに保存する上記動作判別部での判別結果の数が同じであることを特徴とする付記5記載の検証支援装置。
(付記7)上記複数組のデータバンクと上記クロック情報レジスタの組を、排他的に切り替えて用いることを特徴とする付記5記載の検証支援装置。
(付記8)上記データバンクと上記クロック情報レジスタの組を2組備え、一方の上記クロック情報レジスタへの上記動作判別部での判別結果の保存がすべて完了した後に、他方の上記クロック情報レジスタに上記動作判別部での判別結果を保存するように切り替えることを特徴とする付記5記載の検証支援装置。
(付記9)測定対象アドレスを設定するアドレスレジスタを備え、
上記データ取得部は、上記処理回路から出力される出力データのうち、上記アドレスレジスタに設定されたアドレスへのアクセスに係る出力データを取得することを特徴とする付記1記載の検証支援装置。
(付記10)上記基準クロックとは異なるクロックを生成するクロック生成部を備え、
上記クロック情報レジスタへの上記動作判別部での判別結果の保存は、上記クロック生成部で生成されるクロックを用いて行うことを特徴とする付記1記載の検証支援装置。
(付記11)上記クロック情報レジスタに保存された情報に基づいて、上記基準クロックの停止位置及び停止期間を取得する解析処理部を備えることを特徴とする付記1記載の検証支援装置。
(付記12)検証対象の処理回路から出力される出力データを取得してデータバンクに保存する検証支援装置により上記処理回路から出力される基準クロックの動作状況に係る情報が上記出力データのサンプリング間隔で保存されるクロック情報レジスタから、保存されている情報を順次取得して上記基準クロックが停止していたか否かを判定することを特徴とする検証支援方法。
(付記13)上記クロック情報レジスタに保存されている情報による上記基準クロックの停止判定の結果に基づいて、上記基準クロックの停止位置及び回復位置を出力することを特徴とする付記12記載の検証支援方法。
(付記14)検証対象の処理回路から出力される出力データを取得してデータバンクに保存する検証支援装置により上記処理回路から出力される基準クロックの動作状況に係る情報が上記出力データのサンプリング間隔で保存されるクロック情報レジスタから、保存されている情報を順次取得して上記基準クロックが停止していたか否かを判定する判定ステップと、
上記判定ステップでの判定結果に基づいて、上記基準クロックの停止位置及び回復位置を算出する解析ステップとをコンピュータに実行させるためのプログラム。
(付記15)上記解析ステップでは、上記基準クロックの停止期間をさらに算出することを特徴とする付記14記載のプログラム。
本発明の実施形態におけるデバッグシステムの構成例を示す図である。 クロック情報レジスタ部への書き込み動作を説明するための図である。 クロック情報レジスタ部とデータバンク部との対応を示す図である。 本発明の実施形態におけるデバッグシステムの具体的な構成例を示す図である。 図4に示すデバッグシステムにて基準クロックが停止した状態を示す図である。 クロック情報レジスタ及びデータバンクを用いた基準クロックの停止ポイント及び基準クロックの停止期間の測定方法を説明するための図である。 本実施形態における第1の解析処理動作の流れを示すフローチャートである。 第1の解析処理での結果表示例を示す図である。 本実施形態における第2の解析処理動作の流れを示すフローチャートである。 第2の解析処理での結果表示例を示す図である。 本実施形態における第3の解析処理動作の流れを示すフローチャートである。 第3の解析処理での結果表示例を示す図である。 解析処理動作を実行可能なコンピュータの構成例を示す図である。
符号の説明
10 モニタ装置
11、43 データバンク制御部
12、44 データバンク部
13、45 サンプリングタイマ
14、46 タイマクロック
15、47 クロック動作判別部
16、48 レジスタ制御部
17、49 レジスタ部
18、50 モニタMCU
20、52 マイクロコンピュータ
30、53 ホストPC
41 アドレス比較部
42 アドレスレジスタ

Claims (10)

  1. 検証対象の処理回路から出力される出力データを取得し、当該出力データとともに上記処理回路から出力される基準クロックを用いて、取得した出力データをデータバンクに保存するデータ取得部と、
    上記出力データのサンプリング間隔で上記基準クロックの停止を判別する動作判別部と、
    上記動作判別部での判別結果を保存するクロック情報レジスタとを備えることを特徴とする検証支援装置。
  2. 上記処理回路から出力される出力データの取得を指示する信号であって、上記出力データのサンプリング間隔が経過するたびにアサートされ、上記データバンクへの出力データの保存に伴ってネゲートされるサンプリング要求信号を生成するサンプリングタイマを備えることを特徴とする請求項1記載の検証支援装置。
  3. 上記動作判別部は、上記サンプリング要求信号に基づいて、上記基準クロックが停止したか否かを判別することを特徴とする請求項2記載の検証支援装置。
  4. 上記データバンクと上記クロック情報レジスタは対応して設けられ、上記データバンクと上記クロック情報レジスタの組を複数備えることを特徴とする請求項1記載の検証支援装置。
  5. 上記データバンクに保存可能な出力データの数と、上記クロック情報レジスタに保存する上記動作判別部での判別結果の数が同じであることを特徴とする請求項4記載の検証支援装置。
  6. 上記データバンクと上記クロック情報レジスタの組を2組備え、一方の上記クロック情報レジスタへの上記動作判別部での判別結果の保存がすべて完了した後に、他方の上記クロック情報レジスタに上記動作判別部での判別結果を保存するように切り替えることを特徴とする請求項4記載の検証支援装置。
  7. 測定対象アドレスを設定するアドレスレジスタを備え、
    上記データ取得部は、上記処理回路から出力される出力データのうち、上記アドレスレジスタに設定されたアドレスへのアクセスに係る出力データを取得することを特徴とする請求項1記載の検証支援装置。
  8. 検証対象の処理回路から出力される出力データを取得してデータバンクに保存する検証支援装置により上記処理回路から出力される基準クロックの動作状況に係る情報が上記出力データのサンプリング間隔で保存されるクロック情報レジスタから、保存されている情報を順次取得して上記基準クロックが停止していたか否かを判定することを特徴とする検証支援方法。
  9. 検証対象の処理回路から出力される出力データを取得してデータバンクに保存する検証支援装置により上記処理回路から出力される基準クロックの動作状況に係る情報が上記出力データのサンプリング間隔で保存されるクロック情報レジスタから、保存されている情報を順次取得して上記基準クロックが停止していたか否かを判定する判定ステップと、
    上記判定ステップでの判定結果に基づいて、上記基準クロックの停止位置及び回復位置を算出する解析ステップとをコンピュータに実行させるためのプログラム。
  10. 上記解析ステップでは、上記基準クロックの停止期間をさらに算出することを特徴とする請求項9記載のプログラム。
JP2006205400A 2006-07-27 2006-07-27 検証支援装置、検証支援方法、及びプログラム Expired - Fee Related JP4698518B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006205400A JP4698518B2 (ja) 2006-07-27 2006-07-27 検証支援装置、検証支援方法、及びプログラム
US11/639,279 US7650537B2 (en) 2006-07-27 2006-12-15 Inspection support apparatus and inspection support method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006205400A JP4698518B2 (ja) 2006-07-27 2006-07-27 検証支援装置、検証支援方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2008033568A true JP2008033568A (ja) 2008-02-14
JP4698518B2 JP4698518B2 (ja) 2011-06-08

Family

ID=39122925

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006205400A Expired - Fee Related JP4698518B2 (ja) 2006-07-27 2006-07-27 検証支援装置、検証支援方法、及びプログラム

Country Status (2)

Country Link
US (1) US7650537B2 (ja)
JP (1) JP4698518B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09218246A (ja) * 1996-02-09 1997-08-19 Kawasaki Steel Corp 論理回路の高速動作検証方法
JPH09319456A (ja) * 1996-06-03 1997-12-12 Mitsubishi Electric Corp 発振停止検出装置
JP2004118473A (ja) * 2002-09-26 2004-04-15 Hitachi Kokusai Electric Inc クロック停止検出機能付回路
JP2004127058A (ja) * 2002-10-04 2004-04-22 Sony Corp テスト回路および半導体装置
JP2005316784A (ja) * 2004-04-28 2005-11-10 Fujitsu Ten Ltd 集積回路及び制御システム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5864564A (en) * 1995-11-17 1999-01-26 Sun Microsystems, Inc. Control circuit for deterministic stopping of an integrated circuit internal clock
JP2001092692A (ja) 1999-09-17 2001-04-06 Nec Corp 時間測定回路及び時間測定方法
US6948098B2 (en) * 2001-03-30 2005-09-20 Cirrus Logic, Inc. Circuits and methods for debugging an embedded processor and systems using the same
JP3523225B2 (ja) * 2001-09-18 2004-04-26 Necマイクロシステム株式会社 クロック監視装置及び監視方法
JP2003177834A (ja) * 2001-12-07 2003-06-27 Mitsubishi Electric Corp Pll内蔵マイクロコンピュータ
DE10234991B4 (de) * 2002-07-31 2008-07-31 Advanced Micro Devices, Inc., Sunnyvale Hostcontrollerdiagnose für einen seriellen Bus
US7434106B2 (en) * 2002-07-31 2008-10-07 Seagate Technology Llc Reference clock failure detection on serial interfaces
US7093153B1 (en) * 2002-10-30 2006-08-15 Advanced Micro Devices, Inc. Method and apparatus for lowering bus clock frequency in a complex integrated data processing system
US7194668B2 (en) * 2003-04-11 2007-03-20 Advantest Corp. Event based test method for debugging timing related failures in integrated circuits
JP2006252006A (ja) * 2005-03-09 2006-09-21 Seiko Epson Corp デバッグシステム、半導体集積回路装置、マイクロコンピュータ及び電子機器
US7426684B2 (en) * 2005-04-29 2008-09-16 Hewlett-Packard Development Company, L.P. Lost-cycle measurement using cycle counter

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09218246A (ja) * 1996-02-09 1997-08-19 Kawasaki Steel Corp 論理回路の高速動作検証方法
JPH09319456A (ja) * 1996-06-03 1997-12-12 Mitsubishi Electric Corp 発振停止検出装置
JP2004118473A (ja) * 2002-09-26 2004-04-15 Hitachi Kokusai Electric Inc クロック停止検出機能付回路
JP2004127058A (ja) * 2002-10-04 2004-04-22 Sony Corp テスト回路および半導体装置
JP2005316784A (ja) * 2004-04-28 2005-11-10 Fujitsu Ten Ltd 集積回路及び制御システム

Also Published As

Publication number Publication date
US7650537B2 (en) 2010-01-19
US20080126821A1 (en) 2008-05-29
JP4698518B2 (ja) 2011-06-08

Similar Documents

Publication Publication Date Title
US6519310B2 (en) Hardware event based flow control of counters
US8645589B2 (en) Methods for data acquisition systems in real time applications
US7433803B2 (en) Performance monitor with precise start-stop control
EP2463780A1 (en) Debug registers for halting processor cores after reset or power off
EP3369015B1 (en) Methods and circuits for debugging circuit designs
US10235483B2 (en) Capturing time-slice of emulation data for offline embedded software debug
US7596725B2 (en) Efficient trace triggering
KR20200088760A (ko) 체크섬 생성
US10037259B2 (en) Adaptive debug tracing for microprocessors
US8521475B2 (en) Detecting and recording performance events in a data processing system
US7831818B2 (en) Exception-based timer control
US20050223300A1 (en) Customizable event creation logic for hardware monitoring
US7617428B2 (en) Circuits and associated methods for improved debug and test of an application integrated circuit
US7360117B1 (en) In-circuit emulation debugger and method of operation thereof
JP4698518B2 (ja) 検証支援装置、検証支援方法、及びプログラム
US7650539B2 (en) Observing debug counter values during system operation
US9946624B1 (en) Systems and methods to capture data signals from a dynamic circuit
JP2005165825A (ja) トレース情報記録装置
US11144687B1 (en) Method and system providing visualization of sub-circuit iterations based on handshake signals
JP2016075493A (ja) 集積回路、集積回路のテスト装置及びテスト方法
JP5036448B2 (ja) インサーキットエミュレータにおけるfifoメモリ読出方法およびfifoメモリ内蔵ワンチップ・マイクロコンピュータ用インサーキットエミュレータ
KR100195221B1 (ko) 프로그램 수행시 명령어의 실행 횟수 측정장치
JP2010182241A (ja) 評価方法および評価装置
JP2014160421A (ja) ソフトエラー解析装置、エラー情報作成装置
Berry Evaluation of a real-time operating system in self-contained data recorders

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080731

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090323

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20100309

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100309

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110301

R150 Certificate of patent or registration of utility model

Ref document number: 4698518

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees