JP5151996B2 - 半導体集積回路及びデバッグ・トレース回路 - Google Patents

半導体集積回路及びデバッグ・トレース回路 Download PDF

Info

Publication number
JP5151996B2
JP5151996B2 JP2008558029A JP2008558029A JP5151996B2 JP 5151996 B2 JP5151996 B2 JP 5151996B2 JP 2008558029 A JP2008558029 A JP 2008558029A JP 2008558029 A JP2008558029 A JP 2008558029A JP 5151996 B2 JP5151996 B2 JP 5151996B2
Authority
JP
Japan
Prior art keywords
event
unit
entry
control
instruction information
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.)
Active
Application number
JP2008558029A
Other languages
English (en)
Other versions
JPWO2008099657A1 (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2008558029A priority Critical patent/JP5151996B2/ja
Publication of JPWO2008099657A1 publication Critical patent/JPWO2008099657A1/ja
Application granted granted Critical
Publication of JP5151996B2 publication Critical patent/JP5151996B2/ja
Active 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
    • 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/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • 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

本発明は、半導体集積回路の動作トレースに関する。
近年の組み込み機器の複雑化に伴い、その開発段階において効率よくデバッグを行う手法の確立が望まれている。多くの組み込み機器のデバッグでは、インサーキットエミュレータ(ICE)を用いてブレークポイントを設定する方法、ステップ実行を行う方法などが用いられている。しかし、これらの方法は、システムにリアルタイム性が要求される場合に周辺とのタイミングの整合がとれず、利用できない場面が多い。
このような状況のもと、機器内部の動作トレースを行い、その状態変化や挙動を観測することの重要性が増している。
一方で、組み込み機器では製造コスト削減のために内蔵メモリ容量やCPU性能の余裕度が少ないことも多い。それ故、サーバーやパーソナルコンピュータに代表される一般的なコンピュータ機器で用いられているような、ソフトウェア処理により動作ログを保存する方法は組み込み機器には満足に使用できないことが多い。また、組み込み機器には用途に特化したシステムLSIを用いられていることが多く、それ故、ソフトウェア処理のみでは観測できない、バスの挙動、周辺回路の挙動などの観測が重要な場合が多い。
このため、一般的にはシステムLSIの動作状態を調べる信号をモニタ端子からLSIの外部に取り出す仕組みを設け、モニタ端子を利用して動作状態の変化をトレースデータとして保存し、解析する手法が有効となる。このような手法を採る技術が特開2002−24201号公報(以下“文献1”という)に開示されている。
図1は、文献1に記載されたシステムLSIの内部構成を示すブロック図である。図1のシステムLSIは、MPUコア(制御回路)91と、MPUコア91を動作させるためのプログラムを格納した内蔵RAM(Random Access Memory、記憶回路)92と、MPUコア91と信号の送受を行う周辺回路93を備えている。また、システムLSIには、システムLSI周辺装置5が接続されており、両者は互いに信号の送受を行う。内蔵RAM92には、MPUコア91を動作させるためのプログラムの他に、デバッグ支援機能プログラムも内蔵されている。
また、信号選択回路931を内蔵したデバッグ支援回路914がMPUコア91の内部に設けられている。周辺回路93の内部には信号選択回路932が設けられている。さらに最終的なモニタ信号を選択する信号選択回路933が設けられている。そして、各信号選択回路931〜933の選択動作をモニタ信号制御回路4が制御する。
文献1のシステムLSIは、MPUコア91の内部信号のいずれかを選択する信号選択回路931と、周辺回路93の内部信号のいずれかを選択する信号選択回路932と、これら信号選択回路931,932のいずれかの出力を選択する信号選択回路933とを有し、各信号選択回路931〜933の選択動作を必要に応じて任意に切り替えることができる。それ故、システムLSIの内部動作をリアルタイムに詳細に解析することができる。また、モニタ用の端子が限られている場合でも複数のモニタ信号を容易に切り替えて出力できる。
しかしながら、文献1に開示されたトレースシステムにはいくつかの問題がある。
文献1に開示されたトレースシステムは、トレースデータをLSIの外部に出力することを前提としており、単位時間あたりの観測可能トレースデータ量が外部との通信線の速度や内蔵バッファ容量などにより制限される。それ故、内部の動作速度が速いシステム等において所望の動作を確認できない場合が生じることがある。
また、文献1に開示されたトレースシステムは、観測対象信号を選択されたものに限定してトレースデータ量を削減する方法を採っているため、観測対象の全ての信号の挙動から特定条件の判断をしたい場合にそれができない。
本発明の一目的は、接続する通信線の速度や内蔵バッファ容量の影響を受けずに、観測対象の任意の信号を観測しつつ所望の動作を観測することを可能にする手段を提供することである。
上記目的を達成するために、本発明の一態様による半導体集積回路は、デバッグ用の機能を備えた半導体集積回路であって、
連続的な所定の動作を実行し、前記動作に伴うイベントを連続的に発生させる主機能構成部と、
対象イベントの発生を検出するための検出条件指示情報と、前記検出条件指示情報と前記主機能構成部で発生するイベントとの比較の結果に応じた動作を指定する動作指示情報と、の対からなるエントリを、観測が要求される事象を一連のイベントで特定するように複数連ねた制御情報リストを予め記憶しており、前記主機能構成部で発生するイベントと前記制御情報リストのいずれか1つのエントリの検出条件指示情報とを比較し、前記比較の結果に応じて、前記検出条件指示情報と対をなす前記動作指示情報に指定された動作を実行することを、前記制御情報リストに従って連続的に行い、前記事象を特定するデバッグ・トレース回路と、を有している。
本発明のデバッグ・トレース回路は、連続的な所定の動作を実行し、前記動作に伴うイベントを連続的に発生させる主機能構成部を備えた半導体集積回路に組み込まれるデバッグ・トレース回路であって、
対象イベントの発生を検出するための検出条件指示情報と、前記検出条件指示情報と前記主機能構成部で発生するイベントとの比較の結果に応じた動作を指定する動作指示情報と、の対からなるエントリを、観測が要求される事象を一連のイベントで特定するように複数連ねた制御情報リストを予め記憶する制御情報リスト保持部と、
前記主機能構成部で発生するイベントと前記制御情報リストのいずれか1つのエントリの検出条件指示情報とを比較することを、前記制御情報リストに従って連続的に実行するイベント検出部と、
前記イベント検出部による前記比較の結果に応じて、前記検出条件指示情報と対をなす前記動作指示情報に指定された動作を実行する制御部と、を有している。
本発明の半導体集積回路動作観測方法は、連続的な所定の動作を実行し、前記動作に伴うイベントを連続的に発生させる主機能構成部を備えた半導体集積回路に組み込まれたデバッグ・トレース回路によって前記主機能構成部の動作を観測するための半導体集積回路動作観測方法であって、
対象イベントの発生を検出するための検出条件指示情報と、前記検出条件指示情報と前記主機能構成部で発生するイベントとの比較の結果に応じた動作を指定する動作指示情報と、の対からなるエントリを、観測が要求される事象を一連のイベントで特定するように複数連ねた制御情報リストを予め記憶しておき、
前記主機能構成部で発生するイベントと前記制御情報リストのいずれか1つのエントリの検出条件指示情報とを比較し、前記比較の結果に応じて、前記検出条件指示情報と対をなす前記動作指示情報に指定された動作を実行することを、前記制御情報リストに従って連続的に行い、前記事象を特定して観測を行なう。
文献1に開示されたトレースシステムの構成を示すブロック図である。 第1の実施形態の構成を示すブロック図である。 第1の実施形態における制御情報リストの構成図である。 第1の実施形態におけるデバッグ・トレースシステムの処理フローを示すフローチャートである。 第2の実施形態の構成を示すブロック図である。 第2の実施形態における制御情報リストの構成図である。 第2の実施形態におけるデバッグ・トレースシステムの処理フローを示すフローチャートである。 第3の実施形態の構成を示すブロック図である。 第3の実施形態における制御情報リストの構成図である。 第3の実施形態におけるデバッグ・トレースシステムの処理フローを示すフローチャートである。 第1および第2の実施例に共通する制御部およびイベント検出部の具体的構成を示すブロック図である。 第1の実施例におけるデバッグ・トレースシステムの処理フローを示すフローチャートである。 第1の実施例における制御情報リストの構成図である。 第2の実施例におけるデバッグ・トレースシステムの処理フローを示すフローチャートである。 第2の実施例における制御情報リストの構成図である。
本発明の実施形態について図面を参照して詳細に説明する。
(第1の実施形態)
図2は、本発明の第1の実施形態によるデバッグ・トレースシステムの全体構成を示すブロック図である。図2を参照すると、システムLSI1は、観測対象である主機能構成部2と、デバッグ・トレース回路3とを含んでいる。ここでいうシステムLSIは、SiP(System in Package)、MCP(Multi Chip Module)、PoP(Package on Package)などのように複数のチップを集積する形態のものを含む。また、システムLSIの内部の通信の容量はLSI外部との通信の容量と比べて十分大きい一般的な構造であるとする。主機能構成部2は、システムLSI1の本来の所望機能を実現する回路であり、一般的な例としてMPUコア21および周辺回路22から構成されている。デバッグ・トレース回路3は、イベント検出部31、制御部32、および制御情報リスト保持部33を有している。制御情報リスト保持部33は制御情報リスト4を保持する。
図3は、第1の実施形態における制御情報リストの構成図である。図3を用いて、制御情報リスト保持部33に保持される制御情報リスト4の詳細について説明する。
制御情報リスト4は複数のエントリ41が並んだリストであり、各エントリ41は検出条件指示部42と動作指示部43で構成されている。検出条件指示部42には、観測対象とするイベントの検出条件が記載されている。発生したイベントと検出条件との比較によって、検出条件に該当するイベント(対象イベント)を検出することができる。動作指示部43には、対象イベントを検出した場合の制御部32の動作が記載されている。制御部32の動作として、データの出力に関する指示、次に参照するエントリの変更に関する指示、測定を終了する指示、LSIの外部(以下、単に「外部」という)に対してデータを出力する指示、外部に制御情報を出力する指示などを記載することができる。
図4は、第1の実施形態におけるデバッグ・トレースシステムの処理フローを示すフローチャートである。図4のフローチャートを用いて、本実施形態のデバッグ・トレースシステムの動作について説明する。
まず、外部からの観測開始指示を制御部32が受信すると、制御部32は自身が保持する、制御情報リスト4からのエントリ読み出し位置を初期化する(ステップS1)。この際、通常は制御情報リスト4の先頭を指定するが、用法に応じてその他の値としてもよい。
その後、制御部32は、制御情報リスト保持部33において保持される制御情報リスト4からエントリ41を1つ読み出し、その値を内部に保持する(ステップS2)。次に、制御部32は読み出したエントリ41の検出条件指示部42に応じてイベント検出部31の検出条件を設定する(ステップS3)。
その後、イベント検出部31は設定された検出条件とイベントの比較を続け、イベント発生を通知する条件に該当すると、イベント検出通知を制御部32に対して行う(ステップS4)。イベント発生を通知する条件とは、イベントの発生を制御部32に通知するか否かの条件である。例えば、検出条件に該当したときだけイベントの発生を通知することにしてもよく、また検出条件に該当したときと該当しなかったときの両方でイベントの発生を通知することにしてもよい。また、イベント検出部31はイベントの詳細情報を内部に保持する。
その後、制御部32はエントリ41の動作指示部43を参照し(ステップS5)、動作指示部43の指示内容に応じて制御動作を行なう(ステップS6)。この制御動作は、イベント検出部31からイベントの詳細情報を読み出してイベントデータとして出力すること、制御情報リスト4に記載されているユーザーデータを出力すること、エラー通知や正常終了通知に代表される制御情報を出力することなどである。
また、制御部32は、エントリ41の動作指示部43の指示内容に終了指示が含まれているか否か判定する(ステップS7)。指示内容に終了指示が含まれていれば、制御部32は測定を終了する。指示内容に終了指示が含まれていなければ、制御部32は必要に応じてエントリ読み出し位置を変更し(ステップS8)、次のエントリ41の読み出しに戻る。
なお、ここでは説明を平易にするため動作を1つずつ実行する形で記述したが、動作の更なる高速化のために複数のステップを同時に実行してもよく、またパイプライン方式により流れ作業的に実行してもよい。
本実施形態によれば、確認したい一連の動作に対応する複数のエントリ41を含む制御情報リスト4を予め用意しておき、イベントの検出条件や制御を制御情報リスト4に従って次々に変更するので、数多くの信号変化の中から特定のイベントが特定の順序で発生したことを内部で確認し、トレースデータを記録することができる。その結果、システムLSIの内部でのイベント系列の追跡が可能となるので、通信線の速度や内蔵バッファ容量などに影響されずに、高速な観測対象の任意の信号を観測しつつ所望動作を確認することができる。
(第2の実施形態)
次に、本発明の第2の実施形態について図面を参照して詳細に説明する。
図5は、本発明の第2の実施形態によるデバッグ・トレースシステムの全体構成を示すブロック図である。本実施形態のシステムLSIは、主機能構成部21が、MPUコア21、DSP、アクセラレータなど所定の一連の動作をそれぞれ実行する動作ユニットで構成されている。また、本実施形態のシステムLSIは、図2に示した第1の実施形態に加え、デバッグ・トレース回路3に動作ユニット制御部34を有している。動作ユニット制御部34は、主機能構成部2内の動作ユニットを制御するための信号を送信する。
図6は、第2の実施形態における制御情報リストの構成図である。図6の制御情報リスト構成図に示すように、制御情報リスト4の動作指示部43内には動作ユニット制御指示部431がある。動作ユニット制御指示部431には、動作ユニット制御部34に対して、主機能構成部2内のどの動作ユニットに指示を行うか、どのような制御指示を行うか、もしくは指示を行わないかなどに関する情報が記載される。制御指示としては例えば停止指示や起動指示などがある。
図7は第2の実施形態におけるデバッグ・トレースシステムの処理フローを示すフローチャートである。図7のフローチャートを用いて、第2の実施形態のデバッグ・トレースシステムの動作について説明する。
まず、外部からの観測開始指示を制御部32が受信すると、制御部32は自身が保持する、制御情報リストからのエントリ読み出し位置を初期化する(ステップS11)。この際、通常は制御情報リストの先頭を指定するが、用法に応じてその他の値としてもよい。
その後、制御部32は、制御情報リスト保持部33において保持される制御情報リスト4からエントリ41を1つ読み出し、その値を内部に保持する(ステップS12)。次に、制御部32は読み出したエントリ41の検出条件指示部42に応じて、イベント検出部31の検出条件を設定する(ステップS13)。
その後、イベント検出部31は設定された検出条件とイベントとの比較を続け、イベント発生を通知する条件に該当すると、イベント検出通知を制御部32に対して行う(ステップS14)。イベント発生を通知する条件とは、イベントの発生を制御部32に通知するか否かの条件である。例えば、検出条件に該当したときだけイベントの発生を通知することにしてもよく、また検出条件に該当したときと該当しなかったときの両方でイベントの発生を通知することにしてもよい。また、イベント検出部31はイベントの詳細情報を内部に保持する。
その後、制御部32はエントリ41の動作指示部43を参照し(ステップS15)、動作ユニットに対する制御指示があるか否か判定する(ステップS16)。動作ユニットに対する制御指示があれば、制御部32は動作ユニット制御指示を動作ユニット制御部34に送信する。動作ユニット制御部34は、受信した動作ユニット制御指示の指示内容に応じて主機能構成部2内の動作ユニットに対して制御動作を行なう(ステップS17)。動作ユニットに対する制御としては、動作ユニットの停止、起動、状態参照などがある。
ステップS16の判定にて動作ユニットに対する制御指示がなかったとき、あるいはステップS17の制御動作の後、制御部32は、エントリ41の動作指示部43の指示内容に応じて、その他の制御動作を行なう(ステップS18)。その他の制御動作とは、イベント検出部31からイベントの詳細情報を読み出してデータ出力を行うこと、制御情報リスト4に記載されているユーザーデータを出力すること、エラー通知や正常終了通知に代表される制御出力を実施することなどである。
また、制御部32は、エントリ41の動作指示部43の指示内容に終了指示が含まれているか否か判定する(ステップS19)。指示内容に終了指示が含まれていれば、制御部32は測定を終了する。指示内容に終了指示が含まれていなければ、制御部32は必要に応じてエントリ読み出し位置を変更し(ステップS20)、次のエントリの読み出しに戻る。
なお、ここでは説明を平易にするため動作を1つずつ実行する形で記述したが、動作の高速化のために複数のステップを同時に実行してもよく、またパイプライン方式により流れ作業的に実行してもよい。
デバッグにおいてはプログラム実行中ある事象が発生した時点のメモリ内容などの状況を確認したい場合がある。しかし、動作ユニットが動作中だと、その動作が終わって確認をするときに、確認したい箇所のメモリ内容の値が変更されてしまっている可能性がある。また、単純にあるイベントの発生を基準とすると観測したい事象でないものが含まれることになるので対象外の事象の排除が重要な場合がある。
そこで、本実施形態では、第1の実施形態と同様のイベント系列の追跡機能に加え、動作ユニット制御部34を更に備え、制御情報リスト4内の動作ユニット制御指示部431を導入し、確認したい事象に合わせた特定の動作ユニットに対する制御指示を含む制御情報リスト4を用いる。これにより、動作ユニットを観測に都合が良いように制御することができる。例えば対象となる事象が発生した直後にある動作ユニットを停止することができる。そして、ある事象が発生した直後のメモリ内容などを確認し、その動作ユニットに関するデータを取得することができる。
(第3の実施形態)
図8は、本発明の第3の実施形態によるデバッグ・トレースシステムの全体構成を示すブロック図である。図8を参照すると、本実施形態のシステムLSIは、図2に示した第1の実施形態に加え、性能測定部35を有している。性能測定部35は、入力された指示情報に従って、イベントの発生頻度、バストラフィック量、遅延値などの性能を測定する。
図9は、第3の実施形態における制御情報リストの構成図である。図9の制御情報リスト構成図に示すように、制御情報リスト4の動作指示部43内には性能測定制御指示部432がある。性能測定制御指示部432には、性能測定を制御するための性能測定部35に対する指示情報を記載される。指示情報には、例えば、どのような性能測定を行なうかを示すパラメータを設定する指示、性能測定の開始または終了の指示がある。
図10は第3の実施形態におけるデバッグ・トレースシステムの処理フローを示すフローチャートである。図10のフローチャートを用いて、第3の実施形態のデバッグ・トレースシステムの動作について説明する。
まず、外部からの観測開始指示を制御部32が受信すると、制御部32は自身が保持する、制御情報リストからのエントリ読み出し位置を初期化する(ステップS21)。この際、通常は制御情報リストの先頭を指定するが、用法に応じてその他の値としてもよい。
その後、制御部32は、制御情報リスト保持部33において保持される制御情報リスト4からエントリ41を1つ読み出し、その値を内部に保持する(ステップS22)。次に、制御部32は読み出したエントリ41の検出条件指示部42に応じてイベント検出部31の検出条件を設定する(ステップS23)。
その後、イベント検出部31は設定された検出条件とイベントとの比較を続け、イベント発生を通知する条件に該当すると、イベント検出通知を制御部32に対して行う(ステップS24)。イベント発生を通知する条件とは、イベントの発生を制御部32に通知するか否かの条件である。例えば、検出条件に該当したときだけイベントの発生を通知することにしてもよく、また検出条件に該当したときと該当しなかったときの両方でイベントの発生を通知することにしてもよい。また、イベント検出部31はイベントの詳細情報を内部に保持する。
その後、制御部32はエントリ41の動作指示部43を参照し(ステップS25)、性能測定に関する指示情報があるか否か判定する(ステップS26)。
性能測定の指示情報があれば、制御部32は、性能測定の指示情報を性能測定部35に送信する。性能測定部35は、制御部32から受信した指示情報の内容に応じて性能測定の制御を行なう(ステップS27)。性能測定の制御は、例えば、測定対象や測定項目の設定、測定の開始や終了などである。
ステップS26の判定にて性能測定の制御指示がなかったとき、あるいはステップS27の制御動作の後、制御部32は、エントリ41の動作指示部43の指示内容に応じて、その他の制御動作を行なう(ステップS28)。その他の制御動作とは、イベント検出部31からイベントの詳細情報を読み出してデータ出力を行うこと、制御情報リスト4に記載されているユーザーデータを出力すること、エラー通知や正常終了通知に代表される制御出力を実施することなどである。
また、制御部32は、エントリ41の動作指示部43の指示内容に終了指示が含まれているか否か判定する(ステップS29)。指示内容に終了指示が含まれていれば、制御部32は測定を終了する。指示内容に終了指示が含まれていなければ、制御部32は必要に応じてエントリ読み出し位置を変更し(ステップS30)、次のエントリの読み出しに戻る。
なお、ここでは説明を平易にするため動作を1つずつ実行する形で記述したが、動作の高速化のために複数のステップを同時に実行してもよく、またパイプライン方式により流れ作業的に実行してもよい。
プログラムのデバッグやその性能のチューニングにおいては、プログラム実行中のある事象の発生に応じて測定対象や測定内容を変更したい場合がある。また、ある事象の発生に応じて測定を開始あるいは終了したい場合がある。また、単純にあるイベントの発生に応じて測定を行なうと、測定したいケースでないものが測定されてしまうことがある。その場合、どうにかして測定対象外の事象を排除することが重要である。
そこで、本実施形態では、第1の実施形態と同様のイベント系列の追跡機能に加え、性能測定部35を更に備え、制御情報リスト4内に性能測定制御指示部432を導入し、確認したい事象の発生に合わせた性能測定に関する制御指示を含む制御情報リスト4を用いる。これにより、事象に応じて測定の動作を制御することができる。例えば対象となる事象が発生した直後に測定を開始したり、終了したりできる。また、対象となる事象が発生した直後に測定対象や測定内容を変更することもできる。
(第1の実施例)
次に、上述した実施形態の具体的な実施例について説明する。
図11は、イベント検出部31および制御部32の具体的構成を示すブロック図である。図11を参照すると、イベント検出部31は、検出条件保持部311、条件判定部312、およびイベント保持部313で構成されている。
検出条件保持部311は、イベントの検出条件を保持する。条件判定部312は、主機能構成部2から制御部32への信号を観測し、イベントが検出条件保持部311に保持されている検出条件に該当するか否か判定する。イベントが検出条件に該当すると、条件判定部312は制御部32にイベント検出通知を送る。イベント保持部313は、条件判定部312で検出されたイベントの詳細を保持する。
この構成により、イベント検出部31は、制御部32から設定された検出条件を検出条件保持部311に保持し、その検出条件と一致するイベントが発生すると、条件判定部312にてイベントの発生を検出し、イベント保持部313にてそのイベントの詳細を保持する。
一方、制御部32は、制御実行部321、エントリ読み出し位置保持部322、およびエントリ情報保持部323で構成されている。
制御実行部321は、制御情報リスト4に応じた制御を実行し、またそれに伴う各部への動作指示を行なう。エントリ読み出し位置保持部322は、制御情報リスト保持部33から次に読み出すべき、制御情報のエントリ4の位置を保持する。エントリ情報保持部323は、制御情報リスト保持部33から読み出したエントリ4の情報を保持する。
この構成により制御部32は、エントリ読み出し位置保持部322に保持されている位置情報で示されているエントリ4を制御情報リスト保持部33から読み出してエントリ情報保持部323に保持し、制御実行部321にて、エントリ情報保持部323に保持されたエントリ4に従った制御動作を実行する。
図12は第1の実施例におけるデバッグ・トレースシステムの処理フローを示すフローチャートである。図13は第1の実施例における制御情報リストの構成図である。
図12および図13を用いて本実施例における動作を説明する。
なお、図12のステップS32〜ステップS34は図4のステップS2に相当する。図12のステップS35〜ステップS36は図4のステップS3に相当する。また、図12のステップS37〜ステップS40は図4のステップS4に相当する。
図13の制御情報リスト4の例では、動作指示部43内に、ヒット時制御指示部433、ヒット時出力指示部434、ミス時制御指示部438、およびミス時出力指示部439が含まれている。
ヒット時制御指示部433は、検出条件に該当するイベントを検出したとき(ヒット時)のデバッグ・トレース回路3の内部の動作を規定する動作指示である。ヒット時出力指示部434は、ヒット時のイベントデータを出力するか否かを設定する情報である。
ミス時制御指示部438は、検出条件以外のイベントを検出したとき(ミス時)の動作を規定する動作指示である。ミス時出力指示部439は、ミス時のイベントデータを出力するか否かを設定する情報である。
なお、ここでは単純な例としてヒット時制御指示部433およびヒット時出力指示部434が1つずつの構成が示されている。しかし、本発明がこれに限定される訳ではない。他の例として、検出条件指示部42内に複数の検出条件を設定し、動作指示部43に複数のヒット時制御指示部433およびヒット時出力指示部434を設定することができるエントリ41の構成としてもよい。そうすれば、検出されたイベントの内容に応じて異なる処理を行うようなエントリ41の設定が可能となる。
図12を参照すると、まず、外部から制御部32へ観測開始指示が入力されると、制御実行部321がエントリ読み出し位置保持部322に初期値を設定する(ステップS31)。エントリ読み出し位置保持部322に初期値が設定されることにより、制御情報リスト4からのエントリを読み出す位置が初期化される。この際、通常は制御情報リスト4の先頭を指定するが、用法に応じてその他の値としてもよい。
その後、制御部32は、エントリ読み出し位置保持部322より制御情報リスト保持部33に読み出し位置を通知する(ステップS32)。制御情報リスト保持部33は、通知された読み出し位置に該当するエントリ41を出力する(ステップS33)。制御部32は、制御情報リスト保持部33から出力されたエントリ41を内部のエントリ情報保持部323に保存する(ステップS34)。
次に、制御実行部321は、エントリ情報保持部323に保存されているエントリ41の検出条件指示部42を参照し(ステップS35)、そこに示されている検出条件をイベント検出部31の検出条件保持部311に書き込む(ステップS36)。
その後、主機能構成部2からの信号が変化すると(ステップS37)、イベント検出部31内の条件判定部312が、信号の観測結果と検出条件保持部311に保持されている検出条件とから、イベントを通知する条件に該当するか否か判定する(ステップS38)。この通知条件の判定にて、通知条件に該当するイベントの発生が検出されなければ、条件判定部312はステップS37に戻って、通知条件に該当するイベントの発生が検出されるまで処理を繰り返す。また、通知条件の判定にて、通知条件に該当するイベントの発生が検出されれば、条件判定部312は制御部32にイベント検出通知を送る(ステップS39)。
制御実行部321はイベント検出通知を受けると(ステップS40)、それがヒット通知かミス通知かを判定する(ステップS41)。ヒット通知とは、検出条件に該当することが通知条件に含まれている場合に、その通知条件(検出条件)に該当したことを通知する情報である。ミス通知とは、検出条件に該当しないことが通知条件に含まれている場合に、その通知条件に該当したこと(すなわち、検出条件に該当しなかったこと)を通知する情報である。
ヒット通知であれば、制御実行部321は、エントリ情報保持部323に保存されているエントリ41のヒット時制御指示部433を参照して実行すべき制御の内容を取得し、ヒット時出力指示部434を参照してイベントデータを出力する必要があるか否かの情報を取得する(ステップS42)。また、ミス通知であれば、制御実行部321は、エントリ情報保持部323に保存されているエントリ41のミス時制御指示部438を参照して実行すべき制御の内容を取得し、ミス時出力指示部439を参照してイベントデータを出力する必要があるか否かの情報を取得する(ステップS43)。
続いて、制御実行部321は、ステップS42またはステップS43で取得した情報から、イベントデータを出力する必要があるか否か判定する(ステップS44)。イベントデータを出力する必要があれば、制御実行部321はイベント検出部31のイベント保持部313から、保持されているイベントの詳細情報を読み出し、必要な情報をイベントデータとして外部に出力する(ステップS45)。
ステップS44の判定にてイベントデータを出力する必要がなかったとき、またはステップS45にてイベントデータを出力したとき、制御実行部321は、ステップS42またはステップS43で取得した制御内容に従って制御を実行する(ステップS46)。制御内容はヒット時制御指示部433またはミス時制御指示部438に示されている。
指示内容が「変更なし」であれば、制御実行部321は、何もせずにステップS32に戻る。指示内容が「次へ」であれば、制御実行部321は、エントリ読み出し位置保持部322の値を次のエントリ位置を示す値に書き換え(ステップS47)、ステップS32に戻る。指示内容が「終了」であれば、制御実行部321は、終了通知を外部に出力して(ステップS48)、測定を終了する。
なお、ここでは説明を平易にするため動作を1つずつ実行する形で記述したが、動作の高速化のために複数のステップを同時に実行してもよく、またパイプライン方式により流れ作業的に実行してもよい。
なお、図12に示した動作は、イベント検出部31の動作をどのように規定するかによって、実行されるステップの一部に差異が生じる。
例えば、イベント検出部31を、ステップS38にて観測結果が検出条件に該当したときだけステップS39にてイベント検出通知を送るという動作に規定すれば、制御実行部321の側ではステップS41からステップS43に移行する動作は発生することがない。
また、例えば、イベント検出部31を、ステップS38にて観測結果が検出条件に該当してもしなくてもイベント検出通知を送るという動作に規定すれば、イベント検出部31が、ステップS38から「No」の経路でステップS37に戻るという繰り返し動作は発生しない。
また、ヒットの通知条件とミスの通知条件とを別個に規定し、イベント検出部31は、いずれかに該当したときにイベント検出通知を制御部32に送ることにすれば、イベント検出部31および制御部32はいずれも図12に示した全てのステップを実行する可能性がある。
また、通知条件を規定し、イベント検出部31は、その通知条件に該当したときにイベント検出通知を制御部32に送ることにし、その通知条件の中でヒット通知とする範囲を規定することにしても、イベント検出部31および制御部32はいずれも図12に示した全てのステップを実行する可能性がある。
次に、本実施例における観測方法について、図13に示した具体的な制御情報リスト4の例を用いて説明する。ここでは、主機能構成部2からの信号が検出条件である設定値と一致したことを、検出条件に該当するイベントとして扱う例を示す。これはアクセス関連のイベントに相当する。例えば、バス、メモリ、あるいは周辺回路のレジスタへの特定のアクセスがあったことを、検出条件に該当するイベントとするものがある。アクセス関連のイベントでは、特定のアドレスへのアクセスがあったこと、データが特定の値であるアクセスがあったこと、アクセス元が特定の動作ユニットであるアクセスがあったことなどを検出すべきイベントとして設定することができる。また、他の例として、タイマ、カウンタ、あるいはレジスタの値が所定値になったことを、検出条件に該当するイベントとするものがある。
なお、検出条件として特定の1つの値を設定することにしてもよいが他の方法であってもよい。他の例として、上限値と下限値で範囲を設定する方法がある。また、複数のビットからなる特定の設定値を定めた上で、設定値の各ビットについて観測信号との比較を有効とするか否かマスク値で設定する方法も考えられる。また、アクセス元毎に比較を有効とするか無効とするかをビットマップで設定する方法も考えられる。さらに、上述した複数の方法を併用することもできる。
図13を参照すると、制御情報リスト4には3つのエントリ411、412、413が含まれている。
エントリ411の検出条件指示部42には「アドレスAのバスアクセス」が設定されている。したがってアドレスAへのバスアクセスがあればエントリ411のイベントとして検出されることになる。同様に、エントリ412の検出条件指示部42には「アドレスBのバスアクセス」が設定されている。エントリ413の検出条件指示部42には「アドレスCのバスアクセス」が設定されている。
また、エントリ411およびエントリ412のヒット時制御指示部433には「次へ」が設定されている。「次へ」は、次のエントリの監視へと進むことを示している。したがって、例えばエントリ411のイベントにヒットすると、次のエントリ412の監視に移行することになる。同様に、エントリ412のイベントにヒットすると、次のエントリ413の監視に移行することになる。
また、エントリ413のヒット時制御指示部433には「終了」が設定されている。
「終了」は、そこで測定を終了することを示している。したがって、エントリ413のイベントにヒットすると、そこで測定が終了することになる。
また、エントリ411〜413のヒット時出力指示部434には「出力」が設定されている。「出力」は、イベントデータを出力することを意味している。したがって、例えばエントリ411のイベントにヒットすると、そのときのイベントデータを出力することになる。同様に、エントリ412のイベントにヒットすると、そのときのイベントデータを出力することになる。エントリ413のイベントにヒットすると、そのときのイベントデータを出力することになる。
また、エントリ411、412、413のミス時制御指示部438には「変更なし」が設定され、ミス時出力指示部439には「出力せず」が設定されている。「変更なし」は、エントリの変更を行わず同じエントリの監視を継続することを示している。
「出力せず」は、イベントデータを出力しないことを示している。したがって、例えばエントリ411のイベントにヒットしなかったとき、そのままエントリ411のイベントの監視を継続し、またイベントデータを出力しないことになる。同様に、エントリ412のイベントにヒットしなかったとき、そのままエントリ412のイベントの監視を継続し、またイベントデータを出力しない。エントリ413のイベントにヒットしなかったとき、そのままエントリ413のイベントの監視を継続し、またイベントデータを出力しない。
以上のように設定された制御情報リスト4を用いて測定を開始すると、まず参照するエントリの初期値としてエントリ411が指定される。主機能構成部2からの信号がアドレスAへのバスアクセス以外のものであれば、参照する監視対象のエントリを変更せず、イベントデータを出力しない、そして、アドレスAへのバスアクセスが観測されるのを待つ状態が続く。
アドレスAへのバスアクセスがあるとエントリ411のイベントが検出される。そうすると、参照するエントリがエントリ412へと変更され、またイベントデータとして、アドレスAへのアクセスのデータ値が出力される。
同様に、エントリ412を参照した観測では、アドレスBへのバスアクセスが観測されるまで待つ状態が続き、それが観測されるとイベントデータが出力され、エントリ413を参照した観測に移行する。エントリ413を参照した観測で、アドレスCへのバスアクセスが観測されるとイベントデータを出力して測定が終了する。
以上、図13のように設定された制御情報リスト4を用いることにより、あるプログラムの実行において様々なイベントに混ざってアドレスA、B、Cの順番でバスアクセスが発生したとき、その各バスアクセスのイベントデータ(例えばデータ値)をトレースデータとして取得することができる。不要なデータが取得されないので、データの記録に必要なバッファ容量が大幅に削減される。また、システムLSIの外部から逐次操作をしなくても制御情報リスト4に従ってイベントの検出とデータの記録が行なわれるので、外部との通信線の速度に制約されない。
(第2の実施例)
第2の実施例のイベント検出部31および制御部32の具体的構成は図11に示した第1の実施例のものと同様である。
図14は第2の実施例におけるデバッグ・トレースシステムの処理フローを示すフローチャートである。図15は第2の実施例における制御情報リストの構成図である。
図14および図15を用いて本実施例における動作を説明する。
なお、図14のステップS52〜ステップS54は図4のステップS2に相当する。図14のステップS55〜ステップS56は図4のステップS3に相当する。図14のステップS57〜ステップS60は図4のステップS4に相当する。
図15に示した制御情報リスト4の例では、図13の例と同様に、動作指示部43内に、ヒット時制御指示部433、ヒット時出力指示部434、ミス時制御指示部438、およびミス時出力指示部439が含まれている。
ヒット時制御指示部433は、検出条件に該当するイベントを検出したとき(ヒット時)のデバッグ・トレース回路3の内部の動作を規定する動作指示である。ヒット時出力指示部434は、ヒット時のイベントデータを出力するか否かを設定する情報である。
ミス時制御指示部438は、検出条件以外のイベントを検出したとき(ミス時)の動作を規定する動作指示である。ミス時出力指示部439は、ミス時のイベントデータを出力するか否かを設定する情報である。
なお、ここでは単純な例としてヒット時制御指示部433およびヒット時出力指示部434が1つずつの構成が示されている。しかし、本発明がこれに限定される訳ではない。他の例として、検出条件指示部42内に複数の検出条件を設定し、動作指示部43に複数のヒット時制御指示部433およびヒット時出力指示部434を設定することができるエントリ41の構成としてもよい。そうすれば、検出されたイベントの内容に応じて異なる処理を行うようなエントリ41の設定が可能となる。
図14を参照すると、まず、外部から制御部32へ観測開始指示が入力されると、制御実行部321がエントリ読み出し位置保持部322に初期値を設定する(ステップS51)。エントリ読み出し位置保持部322に初期値が設定されることにより、制御情報リスト4からのエントリを読み出す位置が初期化される。この際、通常は制御情報リスト4の先頭を指定するが、用法に応じてその他の値としてもよい。
その後、制御部32は、エントリ読み出し位置保持部322より制御情報リスト保持部33に読み出し位置を通知する(ステップS52)。制御情報リスト保持部33は、通知された読み出し位置に該当するエントリ41を出力する(ステップS53)。制御部32は、制御情報リスト保持部33から出力されたエントリ41を内部のエントリ情報保持部323に保存する(ステップS54)。
次に、制御実行部321は、エントリ情報保持部323に保存されているエントリ41の検出条件指示部42を参照し(ステップS55)、そこに示されている検出条件をイベント検出部31の検出条件保持部311に書き込む(ステップS56)。
その後、主機能構成部2からの信号が変化すると(ステップS57)、イベント検出部31内の条件判定部312が、信号の観測結果と検出条件保持部311に保持されている検出条件とから、イベントを通知する条件に該当するか否か判定する(ステップS58)。この通知条件の判定にて、通知条件に該当するイベントの発生が検出されなければ、条件判定部312はステップS57に戻って、通知条件に該当するイベントの発生が検出されるまで処理を繰り返す。また、通知条件の判定にて、通知条件に該当するイベントの発生が検出されれば、条件判定部312は制御部32にイベント検出通知を送る(ステップS59)。
制御実行部321はイベント検出通知を受けると(ステップS60)、それがヒット通知かミス通知かを判定する(ステップS61)。ヒット通知とは、検出条件に該当することが通知条件に含まれている場合に、その通知条件(検出条件)に該当したことを通知する情報である。ミス通知とは、検出条件に該当しないことが通知条件に含まれている場合に、その通知条件に該当したこと(すなわち、検出条件に該当しなかったこと)を通知する情報である。
ヒット通知であれば、制御実行部321は、エントリ情報保持部323に保存されているエントリ41のヒット時制御指示部433を参照して実行すべき制御の内容を取得し、ヒット時出力指示部434を参照してイベントデータを出力する必要があるか否かの情報を取得する(ステップS62)。また、ミス通知であれば、制御実行部321は、エントリ情報保持部323に保存されているエントリ41のミス時制御指示部438を参照して実行すべき制御の内容を取得し、ミス時出力指示部439を参照してイベントデータを出力する必要があるか否かの情報を取得する(ステップS63)。
続いて、制御実行部321は、ステップS42またはステップS63で取得した情報から、イベントデータを出力する必要があるか否か判定する(ステップS64)。イベントデータを出力する必要があれば、制御実行部321はイベント検出部31のイベント保持部313から、保持されているイベントの詳細情報を読み出し、必要な情報をイベントデータとして外部に出力する(ステップS65)。
ステップS64の判定にてイベントデータを出力する必要がなかったとき、またはステップS65にてイベントデータを出力したとき、制御実行部321は、ステップS62またはステップS63で取得した制御内容に従って制御を実行する(ステップS66)。制御内容はヒット時制御指示部433またはミス時制御指示部438に示されている。
指示内容が「変更なし」であれば、制御実行部321は、何もせずにステップS52に戻る。指示内容が「次へ」であれば、制御実行部321は、エントリ読み出し位置保持部322の値を次のエントリ位置を示す値に書き換え(ステップS67)、ステップS52に戻る。指示内容が「移動」であれば、制御実行部321は、エントリ読み出し位置保持部322の値を指定されたエントリ位置を示す値に書き換え、ステップS52に戻る(ステップS68)。指示内容が「終了」であれば、制御実行部321は、終了通知を外部に出力して(ステップS69)、測定を終了する。指示内容が「エラー」であれば、制御実行部321は、エラー通知を外部に出力して(ステップS70)、測定を終了する。
なお、ここでは説明を平易にするため動作を1つずつ実行する形で記述したが、動作の高速化のために複数のステップを同時に実行してもよく、またパイプライン方式により流れ作業的に実行してもよい。
次に、本実施例における観測方法について、図15に示した具体的な制御情報リスト4の例を用いて説明する。ここでは、主機能構成部2からの特定の信号の変化を、検出条件に該当するイベントとして扱う例を示す。例えば、割り込み信号あるいは制御信号が有効になったこと、あるいは無効になったことを、検出条件に該当するイベントとするものがある。また、ある動作ユニットのステートが変化したことをイベントとするものがある。
なお、検出条件として特定の1つの信号についてイベントの検出条件を設定することにしてもよいが他の方法であってもよい。他の例として、複数のイベントの検出条件の値を設定した上で、それらのイベント毎に有効とするか無効とするかをビットマップで設定する方法も考えられる。これにより特定のイベント群を指定することができるようになる。
図15を参照すると、制御情報リスト4には3つのエントリ414、415、416、417が含まれている。
エントリ414の検出条件指示部42には「イベントA」が設定されている。したがってイベントAが発生すればエントリ414のイベントとして検出されることになる。同様に、エントリ415の検出条件指示部42には「イベントB」が設定されている。エントリ416の検出条件指示部42には「イベントC」が設定されている。エントリ417の検出条件指示部42には「イベントD」が設定されている。
また、エントリ414、エントリ415、およびエントリ416のヒット時制御指示部433には「次へ」が設定されている。「次へ」は、次のエントリの監視へと進むことを示している。したがって、例えばエントリ414のイベントにヒットすると、次のエントリ415の監視に移行することになる。同様に、エントリ415のイベントにヒットすると、次のエントリ416の監視に移行することになる。エントリ416のイベントにヒットすると、次のエントリ417の監視に移行することになる。
また、エントリ417のヒット時制御指示部433には「終了」が設定されている。「終了」は、そこで測定を終了することを示している。したがって、エントリ417のイベントにヒットすると、そこで測定が終了することになる。
また、エントリ414〜417のヒット時出力指示部434と、エントリ415〜417のミス時出力指示部439には「出力」が設定されている。「出力」は、イベントデータを出力することを意味している。したがって、例えばエントリ414のイベントにヒットすると、そのときのイベントデータを出力することになる。同様に、エントリ415、416、417のイベントにヒットすると、そのときのイベントデータを出力することになる。エントリ415、416、417のイベントにミスヒットすると、そのときのイベントデータを出力することになる。
また、エントリ414、417のミス時制御指示部438には「変更なし」が設定されている。「変更なし」は、エントリの変更を行わず同じエントリの監視を継続することを示している。したがって、エントリ414、417のイベントにヒットしなかったとき、そのままエントリ414のイベントの監視を継続することになる。
また、エントリ414のミス時出力指示部439には「出力せず」が設定されている。「出力せず」は、イベントデータを出力しないことを示している。したがって、エントリ414のイベントにヒットしなかったとき、イベントデータを出力しないことになる。
また、エントリ415のミス時制御指示部438には「エラー」が設定されている。「エラー」は、エラー通知を外部に出力し、そこで測定を終了することを示している。したがって、エントリ415のイベントにミスヒットすると、エラー通知が出力され、そこで測定が終了することになる。
また、エントリ416のミス時制御指示部438には「414に移動」が設定されている。「移動」は、指定されたエントリの監視へと進むことを示している。ここでは移動先として「414」が設定されている。したがって、エントリ416のイベントにミスヒットすると、エントリ414の監視に移行することになる。
以上のように設定された制御情報リスト4を用いて測定を開始すると、まず参照エントリの初期値としてエントリ414が指定される。これによりイベントAの監視が開始される。検出されたイベントがイベントA以外であれば、参照する監視対象のエントリを変更せず、イベントデータを出力しない。そして、イベントAが観測されるのを待つ状態が続く。イベントAが発生すると、エントリ414のイベントが検出される。そうすると、参照するエントリがエントリ415へと変更され、またイベントデータが出力される。イベントデータは例えば検出されたイベントに関する情報である。
イベントAが観測された後、次のイベントが観測されると、エントリ415の内容が参照される。エントリ415では、イベントB以外のイベントが検出されたときエラー通知を出力し、イベントデータを出力して測定が終了する。エラー終了した場合はイベントデータを調査することにより、何が起きたかを確認することができる。
一方、イベントBが観測されれば、参照するエントリをエントリ416へ変更し、イベントデータを出力する。イベントBが観測された後、次のイベントが検出されると、エントリ416の内容が参照される。エントリ416では、イベントC以外のイベントが検出されたとき、エントリ414に戻ってイベントAの監視から開始する。イベントCでないことがエラーではないが、トレースの条件でもないためイベントAの監視からやり直している。
イベントCが検出されると、その後はエントリ417の内容が参照される。エントリ417では、イベントD以外のイベントが検出した場合にはイベントデータを出力するが参照するエントリは変更しない。これによりイベントDが検出されるまで全てのイベントのイベントデータをトレースデータとして記録することになる。そして、イベントDが検出されると、そこで終了通知を出力して測定を終了する。
以上、図15のように設定された制御情報リスト4を用いることにより、あるプログラムの実行においてイベントA、B、Cが連続して発生したことでイベントのトレースを開始し、イベントDの発生によりトレースを終了することができる。
以上、実施形態および実施例を参照して本発明を説明したが、本発明は実施形態および実施例に限定されるものではない。クレームに定義された本発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2007年2月14日に出願された日本出願特願2007−033340を基礎として優先権の利益を主張するものであり、その開示の全てを引用によってここに取り込む。

Claims (2)

  1. デバッグ用の機能を備えた半導体集積回路であって、
    連続的な所定の動作を実行し、前記動作に伴うイベントを連続的に発生させる主機能構成部と、
    対象イベントの発生を検出するための検出条件指示情報と、前記検出条件指示情報と前記主機能構成部で発生するイベントとの比較の結果に応じた動作を指定する動作指示情報と、の対からなるエントリを、確認したい前記連続的な所定の動作に対応させて複数連ねた制御情報リストを予め記憶しており、前記主機能構成部で発生するイベントと前記制御情報リストのいずれか1つのエントリの検出条件指示情報とを比較し、前記比較の結果に応じて、前記検出条件指示情報と対をなす前記動作指示情報に指定された、前記検出条件指示情報が比較されるエントリの変更動作を実行することを、前記制御情報リストに従って連続的に行い、前記連続的な所定の動作を確認するデバッグ・トレース回路と、を有し、
    前記動作指示情報は、前記検出条件指示情報に該当するイベントが発生したときの動作を指定するヒット時動作指示情報と、前記検出条件指示情報に該当しないイベントが発生したときの動作を指定するミス時動作指示情報と、を含んでいる、半導体集積回路。
  2. 連続的な所定の動作を実行し、前記動作に伴うイベントを連続的に発生させる主機能構成部を備えた半導体集積回路に組み込まれるデバッグ・トレース回路であって、
    対象イベントの発生を検出するための検出条件指示情報と、前記検出条件指示情報と前記主機能構成部で発生するイベントとの比較の結果に応じた動作を指定する動作指示情報と、の対からなるエントリを、確認したい前記連続的な所定の動作に対応させて複数連ねた制御情報リストを予め記憶する制御情報リスト保持部と、
    前記主機能構成部で発生するイベントと前記制御情報リストのいずれか1つのエントリの検出条件指示情報とを比較することを、前記制御情報リストに従って連続的に実行するイベント検出部と、
    前記イベント検出部による前記比較の結果に応じて、前記検出条件指示情報と対をなす前記動作指示情報に指定された、前記検出条件指示情報が比較されるエントリの変更動作を実行する制御部と、を有し、
    前記動作指示情報は、前記検出条件指示情報に該当するイベントが発生したときの動作を指定するヒット時動作指示情報と、前記検出条件指示情報に該当しないイベントが発生したときの動作を指定するミス時動作指示情報と、を含んでいる、デバッグ・トレース回路。
JP2008558029A 2007-02-14 2008-01-25 半導体集積回路及びデバッグ・トレース回路 Active JP5151996B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008558029A JP5151996B2 (ja) 2007-02-14 2008-01-25 半導体集積回路及びデバッグ・トレース回路

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2007033340 2007-02-14
JP2007033340 2007-02-14
JP2008558029A JP5151996B2 (ja) 2007-02-14 2008-01-25 半導体集積回路及びデバッグ・トレース回路
PCT/JP2008/051078 WO2008099657A1 (ja) 2007-02-14 2008-01-25 半導体集積回路、デバッグ・トレース回路、および半導体集積回路動作観測方法

Publications (2)

Publication Number Publication Date
JPWO2008099657A1 JPWO2008099657A1 (ja) 2010-05-27
JP5151996B2 true JP5151996B2 (ja) 2013-02-27

Family

ID=39689903

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008558029A Active JP5151996B2 (ja) 2007-02-14 2008-01-25 半導体集積回路及びデバッグ・トレース回路

Country Status (6)

Country Link
US (1) US7911216B2 (ja)
EP (1) EP2124149A4 (ja)
JP (1) JP5151996B2 (ja)
KR (1) KR101090556B1 (ja)
CN (1) CN101606132B (ja)
WO (1) WO2008099657A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5528536B2 (ja) * 2010-03-05 2014-06-25 三菱電機株式会社 プログラムトレース装置
WO2011136212A1 (ja) * 2010-04-27 2011-11-03 日本電気株式会社 論理回路エミュレータ及び論理回路エミュレータの制御方法
JP6052847B2 (ja) * 2012-02-24 2016-12-27 Necプラットフォームズ株式会社 トランザクション処理装置及び不正トランザクション検出方法
US9377507B2 (en) * 2012-05-07 2016-06-28 Microchip Technology Incorporated Processor device with instruction trace capabilities
JP2016025649A (ja) * 2014-07-24 2016-02-08 富士通株式会社 電子装置及び機器検知方法
KR102522154B1 (ko) * 2016-03-15 2023-04-17 에스케이하이닉스 주식회사 반도체 메모리 장치의 컨트롤러 및 이의 동작 방법
US20210173004A1 (en) * 2019-12-09 2021-06-10 Advanced Micro Devices, Inc. Debug state machine triggered extended performance monitor counter

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09305443A (ja) * 1996-05-13 1997-11-28 Omron Corp プロセス監視装置およびプロセス監視方法
JP2001147836A (ja) * 1999-10-01 2001-05-29 Stmicroelectronics Inc マイクロコンピュータデバッグアーキテクチャ及び方法
JP2006012017A (ja) * 2004-06-29 2006-01-12 Denso Corp 状態にアクションを割り当てた対応情報に基づいてプログラムを生成するプログラム生成プログラム、プログラム生成装置、およびプログラム生成方法,ならびに、この対応情報の生成プログラム、対応情報生成装置、および対応情報生成方法
JP2006338305A (ja) * 2005-06-01 2006-12-14 Toshiba Corp 監視装置及び監視プログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01288931A (ja) 1988-05-16 1989-11-21 Nec Corp Pl/iプログラムのデバック方式
JPH05100891A (ja) 1991-10-09 1993-04-23 Kobe Nippon Denki Software Kk プログラムデバツグ装置
JP4212224B2 (ja) 2000-07-10 2009-01-21 株式会社東芝 半導体集積回路
JP3913470B2 (ja) * 2000-12-28 2007-05-09 株式会社東芝 システムlsi
JP2003263340A (ja) 2002-03-11 2003-09-19 Ricoh Co Ltd デバッグ装置
US7149926B2 (en) * 2003-05-22 2006-12-12 Infineon Technologies Ag Configurable real-time trace port for embedded processors
JP2006336305A (ja) 2005-06-02 2006-12-14 Shin Caterpillar Mitsubishi Ltd 作業機械
JP4523508B2 (ja) 2005-07-28 2010-08-11 長野計器株式会社 測定器及びその製造方法
JP5067111B2 (ja) * 2007-10-18 2012-11-07 富士通セミコンダクター株式会社 半導体集積回路及びデバッグモード決定方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09305443A (ja) * 1996-05-13 1997-11-28 Omron Corp プロセス監視装置およびプロセス監視方法
JP2001147836A (ja) * 1999-10-01 2001-05-29 Stmicroelectronics Inc マイクロコンピュータデバッグアーキテクチャ及び方法
JP2006012017A (ja) * 2004-06-29 2006-01-12 Denso Corp 状態にアクションを割り当てた対応情報に基づいてプログラムを生成するプログラム生成プログラム、プログラム生成装置、およびプログラム生成方法,ならびに、この対応情報の生成プログラム、対応情報生成装置、および対応情報生成方法
JP2006338305A (ja) * 2005-06-01 2006-12-14 Toshiba Corp 監視装置及び監視プログラム

Also Published As

Publication number Publication date
EP2124149A4 (en) 2012-11-14
KR101090556B1 (ko) 2011-12-08
WO2008099657A1 (ja) 2008-08-21
EP2124149A1 (en) 2009-11-25
JPWO2008099657A1 (ja) 2010-05-27
KR20090121321A (ko) 2009-11-25
CN101606132A (zh) 2009-12-16
CN101606132B (zh) 2012-05-30
US7911216B2 (en) 2011-03-22
US20100321051A1 (en) 2010-12-23

Similar Documents

Publication Publication Date Title
JP5151996B2 (ja) 半導体集積回路及びデバッグ・トレース回路
CN108197032B (zh) Ios应用的主线程卡顿监测方法、介质、设备及系统
US20060150023A1 (en) Debugging apparatus
US20080276129A1 (en) Software tracing
US20090063907A1 (en) Debugging system, debugging apparatus and method
WO2021157299A1 (ja) 通信装置、監視サーバ及びログ収集方法
JP2002024201A (ja) 半導体集積回路
US7895027B2 (en) HDL re-simulation from checkpoints
US20210132998A1 (en) Semiconductor device and control method thereof
US7617428B2 (en) Circuits and associated methods for improved debug and test of an application integrated circuit
JP5982845B2 (ja) トレース制御装置及びトレース制御方法
JP6503889B2 (ja) 演算処理装置、情報処理装置および演算処理装置の制御方法
US7222202B2 (en) Method for monitoring a set of semaphore registers using a limited-width test bus
JP4207722B2 (ja) 集積回路とその検査システム、検査装置、ならびに検査方法
JP2006185365A (ja) 半導体装置およびデバッグ方法
JP2008152665A (ja) 半導体集積回路の動作解析方法
US11506710B1 (en) Method for testing a circuit system and a circuit system thereof
JP6052847B2 (ja) トランザクション処理装置及び不正トランザクション検出方法
JP2004178169A (ja) ディスクアレイ制御装置
JP2012103874A (ja) ソフトウェアテスト装置
JP2004348635A (ja) プログラム開発方法
JP2014232478A (ja) 動作監視装置および動作監視方法
JP2010231818A (ja) デバッグシステム
JP5519574B2 (ja) データ格納領域管理装置、データ格納領域管理方法及びデータ格納領域管理プログラム
CN115114876A (zh) 一种访问内部总线的方法、系统、设备和存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120703

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120814

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120911

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121001

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121119

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151214

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5151996

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150