(57)【要約】【課題】  デバッグにおいて、不要な信号をメモリに残すことなく、メモリの利用効率を上げる。【解決手段】  デバッグのための信号を取得するデバッグ制御回路において、  観測に使用する信号を記憶するメモリと、キャンセルするかどうかを判断するために用いる信号を選択する信号選択部と、信号選択部で選択された信号からキャンセルするためのトリガを検出するトリガ検出部と、トリガ検出部から検出されたトリガでメモリから記憶した観測に使用する信号を破棄するよう制御するメモリ制御部とを有している。【選択図】      図１
2016177564.tif 000002
【特許請求の範囲】
【請求項１】
デバッグのための信号を取得するデバッグ制御回路において、
観測に使用する信号を記憶するメモリと、
キャンセルするかどうかを判断するために用いる信号を選択する信号選択部と、
前記信号選択部で選択された信号からキャンセルするためのトリガを検出するトリガ検出部と、
前記トリガ検出部から検出されたトリガで前記メモリから記憶した観測に使用する信号を破棄するよう制御するメモリ制御部と、
を有していることを特徴とするデバッグ制御回路。
【請求項２】
前記トリガ検出部は、観測に使用する信号を取得する際に用いられるトリガを検出し、前記キャンセルするトリガとともに時分割で前記メモリ制御部へ各トリガを送出することを特徴とする請求項１に記載のデバッグ制御回路。
【請求項３】
前記観測に使用する信号を取得する際に用いられるトリガをカウントするトリガカウント部を有することを特徴とする請求項１または２に記載のデバッグ制御回路。
【請求項４】
前記トリガカウント部でカウントされた値を用いて、特定の前記観測された信号を前記メモリから破棄するよう前記メモリ制御部を制御することを特徴とする請求項３に記載のデバッグ制御回路。
【請求項５】
前記トリガカウント部でカウントされた値を用いて、前記メモリに破棄可能な信号と判別できる値を記憶し、特定の前記観測された信号を前記メモリから破棄するよう前記メモリ制御部を制御することを特徴とする請求項４に記載のデバッグ制御回路。
【請求項６】
デバッグのための信号を取得するデバッグ制御方法において、
観測に使用する信号を記憶するステップと、
キャンセルするかどうかを判断するために用いる信号を選択するステップと、
選択された信号からキャンセルするためのトリガを検出するステップと、
前記検出されたトリガで、メモリから記憶した観測に使用する信号を破棄するよう制御するステップと、
を有していることを特徴とするデバッグ制御方法。
【請求項７】
観測に使用する信号を取得する際に用いられるトリガを検出するステップと、
前記キャンセルするトリガとともに時分割で各トリガをメモリ制御部へ送出するステップを有することを特徴とする請求項６に記載のデバッグ制御方法。
【請求項８】
前記観測に使用する信号を取得する際に用いられるトリガをカウントするステップを有することを特徴とする請求項６または７に記載のデバッグ制御方法。
【請求項９】
前記カウントされた値を用いて、特定の前記観測された信号を前記メモリから破棄するよう前記メモリ制御部を制御するステップを有することを特徴とする請求項８に記載のデバッグ制御方法。
【請求項１０】
デバッグのための信号を取得するデバッグ制御プログラムにおいて、
観測に使用する信号を記憶する処理と、
キャンセルするかどうかを判断するために用いる信号を選択する処理と、
信号選択部で選択された信号からキャンセルするためのトリガを検出する処理と、
トリガ検出部から検出されたトリガでメモリから記憶した観測に使用する信号を破棄するよう制御する処理と、
を有していることを特徴とするデバッグ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバッグ制御回路及びデバッグ制御方法に関し、特に、集積回路の内部信号を観測してデバッグするデバッグ制御回路及びデバッグ制御方法に関する。
【背景技術】
【０００２】
集積回路を装置基板に実装して機能評価する際の動作不具合が発生した場合、内部回路の動作を把握しながら原因解析を行いたいという要望がある。このような場合、周期的に発生するタイミング（トリガ）後の数サンプル分のデータを用いて、内部回路の動作把握が行われることがある。
【０００３】
トリガ発生後の取得データを用いて条件判定するような場合は、以下のような課題がある。トリガ発生時点では取得データがないため、原因解析に必要なデータであるか判断不可能である。そのため、トリガ発生時点から一定期間取得したデータによって条件判定が可能な場合については、トリガ発生時からの信号をメモリに格納し続ける必要がある。そのため、原因解析に不要なデータもメモリに格納されることとなり、必要なメモリ量が増加してしまうという課題がある。メモリに格納するデータ量を減らす手段として、取得した信号を圧縮する方法がある。この場合、取得する観測信号が規則的であれば、メモリに格納するデータを小さくすることができる。しかし、取得データが不規則である場合は、効率よくデータを圧縮することができない。そのために不要な信号を格納することになり、メモリの空容量が圧迫され、必要な観測信号を取得することができなくなるという課題がある。
【０００４】
関連技術として、特許文献１には、集積回路の動作を停止させることなく、被試験プログラムを分割せずに、必要なトレースデータを効率良く取得できるようにするため、トレースデータの種類を優先度の高い順に選択する技術が開示されている。また、そのトレースデータが、選択種類のトレースデータである場合、トレースデータをトレースデータバッファに記憶し、そうでない場合は、トレースデータを破棄する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−０８８８８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載の技術では、メモリの空き容量に応じて格納すべきデータであるかを判定しているが、データを格納した後にデータを破棄するわけではないので、メモリを効率よく利用できない、という課題があった。
【０００７】
本発明の目的は、上述した課題を解決し、不要な信号をメモリに残すことなく、メモリの利用効率を上げることにある。
【課題を解決するための手段】
【０００８】
本発明は、上記課題を解決するために、デバッグのための信号を取得するデバッグ制御回路において、観測に使用する信号を記憶するメモリと、
キャンセルするかどうかを判断するために用いる信号を選択する信号選択部と、
信号選択部で選択された信号からキャンセルするためのトリガを検出するトリガ検出部と、
トリガ検出部から検出されたトリガでメモリから記憶した観測に使用する信号を破棄するよう制御するメモリ制御部とを有していることを特徴としている。
【０００９】
また、本発明は、上記課題を解決するために、バッグのための信号を取得するデバッグ制御方法において、観測に使用する信号を記憶するステップと、
キャンセルするかどうかを判断するために用いる信号を選択するステップと、
選択された信号からキャンセルするためのトリガを検出するステップと
検出されたトリガで、メモリから記憶した観測に使用する信号を破棄するよう制御するステップ
とを有していることを特徴としている。
【００１０】
また、本発明は、上記課題を解決するために、デバッグのための信号を取得するデバッグ制御プログラムにおいて、
観測に使用する信号を記憶する処理と、
キャンセルするかどうかを判断するために用いる信号を選択する処理と、
信号選択部で選択された信号からキャンセルするためのトリガを検出する処理と、
トリガ検出部から検出されたトリガでメモリから記憶した観測に使用する信号を破棄するよう制御する処理
とを有していることを特徴としている。
【発明の効果】
【００１１】
本発明によれば、不要な信号をメモリに残すことなく、メモリの利用効率を上げることを可能としている。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施形態におけるデバッグ制御回路の構成を示すブロック図である。
【図２】本発明の第１の実施形態におけるキャンセルアドレス生成部１１０の構成を示すブロック図である。
【図３】本発明の第１の実施形態におけるデバッグ制御回路の動作を示すフローチャートである。
【図４】本発明の第１の実施形態におけるデバッグ制御回路の動作の様子を示す図である。
【図５】本発明の第２の実施形態におけるデバッグ制御回路の構成を示すブロック図である。
【図６】本発明の第３の実施形態におけるデバッグ制御回路の構成を示すブロック図である。
【図７】本発明の第３の実施形態におけるトリガ情報と観測信号の状態を示す図である。
【図８】本発明の第４の実施形態におけるデバッグ制御回路の構成を示すブロック図である。
【図９】本発明の第４の実施形態のキャンセルアドレス生成部４１０の構成を示すブロック図である。
【図１０】本発明の第４の実施形態におけるデバッグ制御回路の動作を示すフローチャートである。
【図１１】本発明の第４の実施形態におけるデバッグ制御回路の動作の様子を示す図である。
【図１２】本発明の第５の実施形態におけるデバッグ制御回路の構成を示すブロック図である。
【図１３】本発明の第５の実施形態におけるキャンセルアドレス生成部５１０の構成を示すブロック図である。
【図１４】本発明の第５の実施形態におけるトリガ情報と観測信号の状態を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態について図面を参照して詳細に説明する。
【００１４】
（第１の実施形態）
図１を用いて、本発明の第１の実施形態のデバッグ制御回路の構成について説明する。図１は、第１の実施形態の構成を示すブロック図である。
【００１５】
図１において、第１の実施形態におけるデバッグ制御回路１０１は、パラメータ設定部１０４と観測信号選択部１０５と、信号選択部としてのキャンセルトリガ用信号選択部１０６と、観測信号取得用トリガ検出部１０７と、トリガ検出部としてのキャンセル用トリガ検出部１０８と、メモリ制御部１０９と、キャンセルアドレス生成部１１０と、メモリとしてのトレースメモリ１１１とを備えている。
【００１６】
パラメータ設定部１０４は、トリガ条件、信号選択情報を格納する。トリガ条件とは、デバッグ信号観測開始となる条件や取得した信号をキャンセルするための条件である。信号選択情報とは、デバッグを行うために必要な観測信号やキャンセル条件を生成するための信号を選択するために設定される情報である。パラメータ設定部１０４は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等の外部制御装置１０２からの出力と接続され、観測信号選択部１０５とキャンセルトリガ用信号選択部１０６と観測信号取得用トリガ検出部１０７とキャンセル用トリガ検出部１０８の入力と接続されている。
【００１７】
また、パラメータ設定部１０４は、観測信号選択情報格納部１０４−１、データ取得用トリガ条件格納部１０４−２とキャンセル用信号選択情報格納部１０４−３とキャンセル用トリガ条件格納部１０４−４を有している。
【００１８】
観測信号選択部１０５は、観測信号の中からトレースするメモリのｂｉｔ幅分の信号を選択する。観測信号選択部１０５は、パラメータ設定部１０４とデバッグ対象回路１０３からの出力と接続され、観測信号取得用トリガ検出部１０７とトレースメモリ１１１とに接続されている。
【００１９】
キャンセルトリガ用信号選択部１０６は、観測信号の中からキャンセルするための条件に使用する信号を選択する。キャンセルトリガ用信号選択部１０６は、パラメータ設定部１０４とデバッグ対象回路１０３からの出力と接続され、キャンセル用トリガ検出部１０８の入力と接続されている。
【００２０】
観測信号取得用トリガ検出部１０７は、パラメータ設定部１０４のデータ取得用トリガ条件格納部１０４−２の値に従い観測信号から観測開始タイミングとなるトリガを検出する。観測信号取得用トリガ検出部１０７は、パラメータ設定部１０４と観測信号選択部１０５からの出力と接続され、メモリ制御部１０９とキャンセルアドレス生成部１１０の入力と接続されている。
【００２１】
キャンセル用トリガ検出部１０８は、パラメータ設定部１０４のキャンセル用トリガ条件格納部１０４−４の値に従い、観測信号からキャンセル条件となるトリガを検出する。キャンセル用トリガ検出部１０８は、パラメータ設定部１０４とキャンセルトリガ用信号選択部１０６からの出力と接続され、キャンセルアドレス生成部１１０の入力と接続されている。
【００２２】
メモリ制御部１０９は、観測信号をトレースメモリ１１１に保存するためのメモリアドレスやメモリ制御信号を生成する。また、外部制御装置１０２からの制御信号にしたがって、トレースメモリ１１１から保存した観測信号を読み出すための制御信号を生成する。メモリ制御部１０９は、観測信号取得用トリガ検出部１０７の出力と接続され、さらに、外部制御装置１０２、キャンセルアドレス生成部１１０、トレースメモリ１１１との入出力とも接続されている。
【００２３】
キャンセルアドレス生成部１１０は、キャンセル用トリガ検出部１０８でキャンセル条件を検出した場合に、キャンセル（上書き）するアドレスを生成する。キャンセルアドレス生成部１１０は、観測信号取得用トリガ検出部１０７とキャンセル用トリガ検出部１０８とからの出力と接続され、メモリ制御部１０９との入出力と接続されている。
【００２４】
キャンセルアドレス生成部１１０の構成について図２を用いて説明する。図２は、第１の実施形態におけるキャンセルアドレス生成部１１０の構成を示すブロック図である。キャンセルアドレス生成部１１０は、観測信号取得用トリガ検出部１０７で検出した観測信号開始タイミング発生時のトレースメモリアドレスを格納するアドレスレジスタ１１０−１で構成されている。アドレスレジスタ１１０−１は、キャンセル用トリガ検出部１０８で検出したキャンセル信号発生時に格納したアドレスをキャンセルアドレスとして、キャンセルアドレスロード信号とともにメモリ制御部１０９へ出力する。
【００２５】
トレースメモリ１１１は、メモリ制御部１０９で生成されたアドレス、メモリ制御信号にしたがって観測信号を格納及び格納したデータを読み出す。トレースメモリ１１１は、観測信号選択部１０５の出力と接続され、メモリ制御部１０９の入出力と接続されている。
【００２６】
観測信号を選択する必要がない場合は、観測信号選択部１０５はなくても構わない。また、キャンセル条件となる信号を選択する必要がない場合は、キャンセルトリガ用信号選択部１０６は、なくても構わない。
【００２７】
図１、３、４を用いて、本発明の第１の実施形態のデバッグ制御回路の動作を説明する。
【００２８】
図３は、第１の実施形態におけるデバッグ制御回路の動作を示すフローチャートである。
【００２９】
図１のパラメータ設定部１０４にＣＰＵ等の外部装置１０２から、観測信号選択情報、データ取得用トリガ条件、キャンセル用信号選択情報、キャンセル用トリガ条件が入力される。入力された信号選択情報、データ取得用トリガ条件、キャンセル用信号選択情報、キャンセル用トリガ条件は、観測信号選択情報格納部１０４−１、データ取得用トリガ条件格納部１０４−２とキャンセル用信号選択情報格納部１０４−３とキャンセル用トリガ条件格納部１０４−４にそれぞれ格納される（Ｓ１０１）。
【００３０】
次に、デバッグ制御回路１０１を起動し（Ｓ１０２）、その後、デバッグ対象回路１０３を起動する（Ｓ１０３）。
【００３１】
デバッグ対象回路１０３が起動されると、観測信号選択部１０５で選択した信号とパラメータ設定部１０４に格納されている観測信号取得用トリガ条件を、観測信号取得用トリガ検出部１０７で比較し（Ｓ１０４）、データ取得用トリガ発生状態であるか否かを判断する（Ｓ１０５）。
【００３２】
データ取得用トリガが発生していない場合は（Ｓ１０５のＮｏ）、キャンセルトリガ用信号選択部１０６で選択した信号とパラメータ設定部１０４に格納されているキャンセル用トリガ条件を、キャンセル用トリガ検出部１０８で比較し、キャンセルトリガ発生状態であるかを判断する（Ｓ１０６）。
【００３３】
データ取得用のトリガ及びキャンセル用のトリガが発生していない場合は（Ｓ１０６のＮｏ)、データ取得用トリガ検出（Ｓ１０４）に戻る。キャンセル用のトリガが発生した場合は（Ｓ１０６のＹｅｓ）、格納データキャンセルを行い（Ｓ１０８）、取得した信号のキャンセルを行う。そして、次の時間におけるデータ取得用トリガ検出を開始する。
【００３４】
データ取得用トリガが発生している場合は（Ｓ１０５のＹｅｓ）、信号トレースを行い、観測した信号をトレースメモリに格納する（Ｓ１０７）。信号トレースの動作は、指定されたｎ個のサンプル分の信号をトレースメモリに格納する。また、観測信号格納開始時にトレースメモリのライトアドレスの値を、キャンセルアドレス制御部１１０のアドレスレジスタ１１０−１に格納する。
【００３５】
格納データキャンセル（Ｓ１０８）の動作は、キャンセルアドレス制御部１１０のアドレスレジスタ１１０−１に格納されているデータをメモリ制御部１０９に出力し、トレースメモリ１１１のライトアドレスを入力データに更新する。
【００３６】
観測信号格納（Ｓ１０７）が終了すると、トレースメモリ１１１のデータ容量に空きがあるかを判断する（Ｓ１０９)。空きがある場合は（Ｓ１０９のＹｅｓ）、観測信号取得用トリガ検出（Ｓ１０４）に戻り、次の時間における観測信号の書き込みを行う。トレースメモリ１１１のデータ容量に空きがない場合は（Ｓ１０９のＮｏ）、トレース完了となりデバッグデータ転送部１０９からトレースメモリ１１１への転送を終了する。
【００３７】
トレース完了後、デバッグ対象回路１０３を停止し（Ｓ１１０）、その後、トレースメモリ１１１へ格納した観測信号をＣＰＵ等の外部制御装置１０２から読み出し（Ｓ１１１）、デバッグ制御回路１０１を停止し（Ｓ１１２）、処理を終了する。
【００３８】
図４は、第１の実施形態におけるデバッグ制御回路の動作の様子を示すイメージ図である。図４に示すように、観測信号の観測したい区間がＡ−１、Ａ−２、Ａ−３とある場合を例にする。観測信号の状態が、ある条件Ａになった場合にＮサンプル観測する場合、そのサンプル区間をＡ−１、Ａ−２、Ａ−３とする。Ｎサンプル区間の信号を用いて内部で信号処理を行った結果、条件Ｂが成立した場合のみ観測信号が必要となり、条件Ｂが成立しない場合は不要となるとする。その結果、区間Ａ−１、Ａ−３の観測信号の場合は、条件Ｂが成立して、データを格納し、区間Ａ−２の観測信号の場合は、条件Ｂが成立せず（キャンセル条件が成立する）、データを破棄する。区間Ａ−２の観測信号のデータを破棄した分、メモリには空きができるので、他のデータを格納でき、メモリの利用効率を上げることができる。
【００３９】
このように、本実施形態は、デバッグのための信号を取得しメモリへ格納する回路において、選択した信号に対して、予め設定したデバッグ信号観測開始となる条件が成立すれば、対象信号を取得してメモリに格納し、対象信号をキャンセルするための条件が成立すれば、対象信号の取得をキャンセルするものである。
これにより、不要な信号をメモリに残すことがないので、メモリの利用効率を上げることができる。
【００４０】
（第２の実施形態）
本発明の第２の実施形態について、図５を参照して説明する。図５は、第２の実施形態の構成を示すブロック図である。
【００４１】
図５に示すように、第２の実施形態は、デバッグ制御回路２０１において、第１の実施形態の観測信号選択部１０５と観測信号取得用トリガ検出部１０７とキャンセルトリガ用信号選択部１０６とキャンセルトリガ検出部１０８の代わりに、信号選択部２０５とトリガ検出部２０７と条件選択部２１２とトリガ選択部２１３が設けられている。第２の実施形態において、第１の実施形態と同じ構成要素は、同じ番号を付して説明を省略する。
【００４２】
条件選択部２１２は、取得する観測信号の選択条件とキャンセルするための信号の選択条件の何れかを選択し、観測開始タイミングとなるトリガ条件とキャンセルトリガ条件の何れかを選択する。条件選択部２１２は、パラメータ設定部１０４からの出力と接続され、信号選択部２０５とトリガ検出部２０７の入力と接続されている。
【００４３】
信号選択部２０５は、観測信号の中からトレースするメモリのｂｉｔ幅分の信号及び、キャンセルするための条件に使用する信号を選択する。信号選択部２０５は、条件選択部２１２とデバッグ対象回路１０３からの出力と接続され、トリガ検出部２０７とトレースメモリ１１１の入力と接続されている。
【００４４】
トリガ検出部２０７は、条件選択部２１２で選択された値に従い観測信号から観測開始タイミングとなるトリガ及びキャンセル条件となるトリガを検出する。また、信号取得用のトリガとキャンセル用トリガを時分割で検出する。そして、信号が変化するサイクルの半分の周期毎に観測信号取得用とキャンセル用の信号を切り替えて出力する。トリガ検出部２０７は、条件選択部２１２と信号選択部２０５からの出力と接続され、トリガ選択部２１３の入力と接続されている。
【００４５】
トリガ選択部２１３は、観測開始タイミングとなるトリガとキャンセルトリガを選択する。トリガ選択部２１３は、トリガ検出部２０７からの出力と接続され、メモリ制御部１０９とキャンセルアドレス生成部１１０との入力と接続されている。
【００４６】
このように、信号選択部とトリガ検出部が、それぞれ１つの構成であって、信号取得用のトリガとキャンセル用トリガを時分割で検出することで、回路規模を縮小することができ動作時間も短縮できるという効果がある。
【００４７】
（第３の実施形態）
次に、図６、図７を用いて第３の実施形態について説明する。図６は、第３の実施形態の構成を示すブロック図である。図７は、第３の実施形態のトリガ情報と観測信号の状態を示す図である。また、第３の実施形態において、第１の実施形態と同じ構成要素は、同じ番号を付して説明を省略する。
【００４８】
図６に示すように、本実施形態のデバッグ制御回路３０１は第１の実施形態のデバッグ制御回路１０１に、トリガカウント部３１４とマルチプレクサ３１５を追加している。トリガカウント部３１４は、観測信号選択部１０５から観測信号をトレースメモリ１１１に格納する時に、観測信号取得用トリガ検出部１０７から出力されたトリガをカウントする。トリガカウント部３１４から出力されたトリガの情報は、マルチプレクサ３１５で、観測信号に付加され、トレースメモリ１１１に格納される。これにより、トレースメモリ１１１に格納された情報が、何番目のトリガの情報であるかを判断することが可能となり、問題解析が容易になる。図６において、トレースメモリ１１１に格納されるデータは、図７に示すように、１つのトリガに対してＮサンプル格納する場合は、Ｎサンプルの観測信号情報に加えて何番目のトリガであるかというトリガ情報である。これは、観測信号情報の前後であれば、前でも後でもどちらに付加しても違いはない。
【００４９】
このように、観測信号をトレースメモリに格納する時にトリガの情報をも格納すれば、何番目のトリガの情報であるかを判断することが可能となるため、問題解析が容易になるという効果がある。
【００５０】
（第４の実施形態）
図８、図９を用いて、本発明の第４の実施形態について説明する。図８は、第４の実施形態の構成を示すブロック図である。図９は、第４の実施形態のキャンセルアドレス生成部４１０の詳細を示すブロック図である。第４の実施形態において、第１の実施形態と同じ構成要素は、同じ番号を付して説明を省略する。
【００５１】
本実施形態では、第３の実施形態のキャンセルアドレス生成部１１０をキャンセルアドレス生成部４１０に変更している。さらに、トリガカウント３１４の出力を、キャンセルアドレス生成部４１０に入力する構成となっている。
【００５２】
キャンセルアドレス生成部４１０は、図９に示すように、オフセット算出部４１０−１とアドレス監視部４１０−２とキャンセル管理メモリ４１０−３とアドレス変換部４１０−４で構成されている。
【００５３】
オフセット算出部４１０−１は、キャンセル用トリガ検出部１０８のキャンセルトリガとトリガカウント３１４のトリガカウント値からデータを破棄するトリガ番号を算出し、キャンセル管理メモリ４１０−３にトリガ番号を書き込むブロックである。オフセット算出部４１０−１は、キャンセル用トリガ検出部１０８と、トリガカウント３１４の出力と接続され、キャンセル管理メモリ４１０−３の入力と接続されている。
【００５４】
アドレス監視部４１０−２は、メモリ制御部３０９からのトレースメモリアドレスからトレースメモリアドレスの最終アドレスへの書き込みを監視する。アドレス監視部４１０−２はメモリ制御部３０９からの出力と接続され、アドレス変換部４１０−４の入力と接続されている。
【００５５】
キャンセル管理メモリ４１０−３は、データを破棄するトリガ番号を記憶し、記憶したトリガ番号をアドレス変換部４１０−４へ出力する。キャンセル管理メモリ４１０−３は、オフセット算出部４１０−１の出力と接続され、アドレス変換部４１０−４の入出力と接続されている。
【００５６】
アドレス変換部４１０−４は、アドレス監視部４１０−２からの起動フラグによりキャンセル管理メモリ４１０−３から上書き可能なトリガ番号を取得し、トリガ番号からトレースメモリ１１１へ取得データを書き込むアドレスを生成する。アドレス変換部４１０−４は、アドレス監視部４１０−２の出力と接続され、キャンセル管理メモリ４１０−３の入出力と接続され、メモリ制御部３０９の入力と接続されている。
【００５７】
図８、９、１０、１１を用いて、第４の実施形態のデバッグ制御回路の動作について説明する。図１０は、第４の実施形態におけるデバッグ制御回路４０１の動作を示すフローチャートである。図１１は、第４の実施形態におけるデバッグ制御回路の動作の様子を示すイメージ図である。
【００５８】
図８のパラメータ設定部１０４のデータ取得用トリガ条件格納部１０４―１、キャンセル用トリガ条件格納部１０４−２、観測信号選択情報格納部１０４−３、キャンセル用信号選択情報格納部１０４−４において、デバッグ回路動作のパラメータが設定される（Ｓ４０１）。
【００５９】
次に、デバッグ制御回路４０１を起動し（Ｓ４０２）、その後、デバッグ対象回路１０３を起動する（Ｓ４０３）。
【００６０】
デバッグ対象回路１０３が起動されると、観測信号選択部１０５で選択した信号とパラメータ設定部１０４に格納されている信号取得用トリガ条件を、観測信号用トリガ検出部１０７で比較し（Ｓ４０４）、データ取得用トリガ発生状態であるか否かを判断する（Ｓ４０５）。
【００６１】
データ取得用トリガが発生していない場合は（Ｓ４０５のＮｏ）、キャンセルトリガ用信号選択部１０６で選択した信号とパラメータ設定部１０４に格納されているキャンセル用トリガ条件を、キャンセル用トリガ検出部１０８で比較し、キャンセル用トリガ発生状態であるかを判断する（Ｓ４０６）。
【００６２】
キャンセル用のトリガが発生していない場合は（Ｓ４０６のＮｏ）、データ取得用トリガ検出（Ｓ４０４）に戻り、次の時間におけるデータ取得用トリガ検出を開始する。
【００６３】
キャンセル用のトリガが発生した場合は（Ｓ４０６のＹｅｓ）、破棄するトリガ番号をキャンセル管理メモリ４１０−３に格納する（Ｓ４１３）。
【００６４】
また、データ取得用のトリガが発生した場合は（Ｓ４０５のＹｅｓ）、信号トレースを行い観測信号を格納する（Ｓ４０７）。観測信号の格納が終了すると、トレースメモリ１１０のデータ容量に空きがあるかを判断する（Ｓ４０９）。
【００６５】
トレースメモリ１１０のデータ容量に空きがある場合は（Ｓ４０９のＹｅｓ）、トリガ条件検出（Ｓ４０４）に戻り、次の時間における観測信号の書き込みを行う。トレースメモリ１１０のデータ容量に空きがない場合は（Ｓ４０９のＮｏ）、キャンセル管理メモリ４１０−３を読み出し（Ｓ４１４）、破棄可能なデータがあるかを確認する（Ｓ４１５）。破棄可能なデータがある場合は（Ｓ４１５のＹｅｓ）、トリガ条件検出（Ｓ４０４）に戻る。破棄可能なデータがない場合は（Ｓ４１５のＮｏ）、トレース完了となる。
【００６６】
トレース完了後、デバッグ対象回路１０３を停止し（Ｓ４１０）、トレースメモリ１１０へ格納した観測信号をＣＰＵ等の外部制御装置１０２から読み出し（Ｓ４１１）、デバッグ制御回路４０１を停止する（Ｓ４１２）。
【００６７】
このように構成することで、図１１に示すようなキャンセルトリガの検出が、次のデータ取得タイミングよりも遅延するようなケースに対応することが可能となる。すなわち、キャンセルアドレス生成部４１０のキャンセル管理メモリ４１０−３に、データを破棄するトリガ番号が記憶してあるので、キャンセルトリガの検出が、次のデータ取得タイミングより遅延しても、データを破棄することが可能となる。
【００６８】
（第５の実施形態）
次に、図１２、１３、１４を用いて、本発明の第５の実施形態について説明する。図１２は、第５の実施形態におけるデバッグ制御回路の構成を示すブロック図である。図１３は、第５の実施形態におけるキャンセルアドレス生成部５１０の構成を示すブロック図である。図１４は、第５の実施形態のトリガ情報と観測信号の状態を示す図である。第５の実施形態において、第１の実施形態と同じ構成要素は、同じ番号を付して説明を省略する。
【００６９】
第５の実施形態は、第４の実施形態の別形態である。デバッグ制御回路５０１において、キャンセルアドレス生成部４１０をキャンセルアドレス生成部５１０に変更することで、キャンセル管理メモリ４１０−３を用いないで同様の機能を実現する。第５の実施形態において、第１の実施形態と同じ構成要素は、同じ番号を付して説明を省略する。
【００７０】
第５の実施形態のキャンセルアドレス生成部５１０は、図１３に示されるように、オフセット算出部５１０−１とキャンセルアドレス検索部５１０−２で構成されている。
【００７１】
オフセット算出部５１０−１は、キャンセル用トリガ検出部１０８のキャンセルトリガとトリガカウント部３１４のトリガカウント値からデータを破棄するトリガ番号を算出する。そして、オフセット算出部５１０−１は、図１４に示すように、トレースメモリ１１１の破棄するトリガ番号のトリガ情報部分に破棄（上書き）可能なデータと判別できるユニークな値（例えば、ＦＦＦＦ）を書き込む。オフセット算出部５１０−１は、キャンセル用トリガ検出部１０８と、トリガカウント部３１４と接続され、メモリ制御部３０９の入力と接続されている。
【００７２】
キャンセルアドレス検索部５１０−２は、トレースメモリ１１１からの上書き可能な領域を検索し、キャンセルアドレスを生成する。キャンセルアドレス検索部５１０−２は、メモリ制御部３０９の入出力と接続されている。
【００７３】
データを破棄するトリガ番号をトレースメモリ１１１に格納することで、別のメモリ（キャンセル管理メモリ）に格納することなく、第４の実施形態と同様に、キャンセルトリガの検出が次のデータ取得タイミングより遅延しても、データを破棄することが可能となる。
【００７４】
このように、本発明は、デバッグのための信号を取得しメモリへ格納する回路において、選択した信号に対して、予め設定したデバッグ信号観測開始となる条件が成立すれば、対象信号を取得してメモリに格納し、対象信号をキャンセルするための条件が成立すれば、対象信号の取得をキャンセルするものである。
これにより、不要な信号をメモリすることがないので、メモリの利用効率を上げることができる。
【００７５】
尚、本願発明は、上述の実施の形態に限定されるものではなく、本願発明の要旨を逸脱しない範囲で種々変更、変形して実施することが出来る。
【００７６】
また、上述した本願発明のデバッグ制御回路は、上記説明からも明らかなように、ハードウェアで構成することも可能であるが、コンピュータプログラムにより実現することも可能である。この場合、プログラムメモリに格納されているプログラムで動作するプロセッサによって、上述した実施の形態と同様の機能、動作を実現させる。尚、上述した実施の形態の一部の機能をコンピュータプログラムにより実現することも可能である。
【産業上の利用可能性】
【００７７】
本発明は、集積回路のデバッグ回路に利用可能である。
【符号の説明】
【００７８】
１０１    デバッグ制御回路
１０２    外部制御装置
１０３    デバッグ対象回路
１０４    パラメータ設定部
１０４−１    観測信号選択情報格納部
１０４−２    データ取得用トリガ条件格納部
１０４−３    キャンセル用信号選択情報格納部
１０４−４    キャンセル用トリガ条件格納部
１０５    観測信号選択部
１０６    キャンセルトリガ用信号選択部
１０７    観測信号取得用トリガ検出部
１０８    キャンセル用トリガ検出部
１０９    メモリ制御部
１１０    キャンセルアドレス生成部
１１０−１    アドレスレジスタ
１１１    トレースメモリ
２０１    デバッグ制御回路
２０５    信号選択部
２０７    トリガ検出部
２１２    条件選択部
２１３    トリガ選択部
３０１    デバッグ制御回路
３１４    トリガカウント部
３１５    マルチプレクサ
４０１    デバッグ制御回路
４１０    キャンセルアドレス生成部
４１０−１    オフセット算出部
４１０−２    アドレス監視部
４１０−３    キャンセル管理メモリ
４１０−４    アドレス変換部
５０１    デバッグ制御回路
５１０    キャンセルアドレス生成部
５１０−１    オフセット算出部
５１０−２    キャンセルアドレス検索部
【図１】
2016177564.tif 000003
【図２】
2016177564.tif 000004
【図３】
2016177564.tif 000005
【図４】
2016177564.tif 000006
【図５】
2016177564.tif 000007
【図６】
2016177564.tif 000008
【図７】
2016177564.tif 000009
【図８】
2016177564.tif 000010
【図９】
2016177564.tif 000011
【図１０】
2016177564.tif 000012
【図１１】
2016177564.tif 000013
【図１２】
2016177564.tif 000014
【図１３】
2016177564.tif 000015
【図１４】
2016177564.tif 000016