(57)【要約】【課題】デバッグ処理中に外部メモリにデータ転送不可であった期間の観測信号の再取得の要否を判断可能なデバッグ制御回路、デバッグ制御方法及びプログラムを提供する。【解決手段】デバッグ制御回路１０１は、デバッグ制御回路外の外部メモリ１２１へのアクセスの競合を監視するアクセス監視部１０７と、このアクセス監視部１０８が外部メモリ１２１へのアクセスが競合すると判定した場合に、当該アクセスが競合する期間をデータ転送不可期間とし、当該データ転送不可期間の観測信号Ｑ４の再取得の要否を判定するための未転送データ情報を生成する未転送データ生成部１０８と、データ転送許可期間には観測信号を、データ転送不可期間には未転送データ情報をライトデータＱ１５として外部メモリ１２１に転送するデバッグデータ転送部１０９とを有する。【選択図】図１
2014142820.tif 000002
【特許請求の範囲】
【請求項１】
デバッグ対象回路からのデバッグのための観測信号を取得し、当該デバッグ対象回路内のメモリに当該観測信号を格納するデバッグ制御回路であって、
前記デバッグ制御回路外の外部メモリへのアクセスの競合を監視するアクセス監視部と、
前記アクセス監視部が前記外部メモリへのアクセスが競合すると判定した場合に、当該アクセスが競合する期間をデータ転送不可期間とし、当該データ転送不可期間の観測信号の再取得の要否を判定するための未転送データ情報を生成する未転送データ生成部と、
前記データ転送許可期間には観測信号を、前記データ転送不可期間には前記未転送データ情報をデバッグデータとして前記外部メモリに転送するデータ転送部とを有するデバッグ制御回路。
【請求項２】
前記未転送データ生成部は、前記データ転送不可期間が開始する直前の観測信号と、前記データ転送不可期間の観測信号とを比較し、前記未転送データ情報を生成する
請求項１記載のデバッグ制御回路。
【請求項３】
前記未転送データ生成部は、前記データ転送許可期間の観測信号と、前記データ転送不可期間の観測信号とが一致するか否かを前記未転送データ情報として生成する
請求項１又は２項記載のデバッグ制御回路。
【請求項４】
前記未転送データ生成部は、前記観測信号の全ビット又は所定ビットの比較結果を前記未転送データ情報として生成する
請求項１乃至３のいずれか１項記載のデバッグ制御回路。
【請求項５】
前記観測信号及び／又は前記未転送データ情報を一時的に格納する内部メモリを有する
請求項１乃至４のいずれか１項記載のデバッグ制御回路。
【請求項６】
前記内部メモリは、前記外部メモリへのアクセスが競合した場合に前記観測信号を一時的に格納し、
前記未転送データ生成部は、前記外部メモリへのアクセスが競合し、かつ前記内部メモリに前記観測信号が格納できない期間を前記データ転送不可期間として前記未転送データ情報を生成する
請求項５載のデバッグ制御回路。
【請求項７】
前記観測信号とデバッグ開始を指定するトリガ条件とを比較し、当該観測信号の格納タイミングを決定するトリガ検出部をさらに備え、
前記トリガ検出部は、前記観測信号と前記トリガ条件とを比較し、前記観測信号が前記トリガ条件に一致したタイミングの検出後、所定時間遅延させたタイミングで当該観測信号の前記格納タイミングを決定する
請求項１乃至６のいずれか１項記載のデバッグ制御回路。
【請求項８】
前記未転送データ生成部は、
前記データ転送不可期間の時間情報を生成するカウンタを有し、
前記未転送データ情報には、前記時間情報が含まれる
付記１乃至７のいずれか１項記載のデバッグ制御回路。
【請求項９】
デバッグ対象回路からのデバッグのための観測信号を取得し、当該デバッグ対象回路内のメモリに当該観測信号を格納するデバッグ制御方法であって、
前記デバッグ制御回路外の外部メモリへのアクセスの競合を監視するアクセス監視工程と、
前記アクセス監視工程にて前記外部メモリへのアクセスが競合すると判定された場合に、当該アクセスが競合する期間をデータ転送不可期間とし、当該データ転送不可期間の観測信号の再取得の要否を判定するための未転送データ情報を生成する未転送データ生成工程と、
前記データ転送許可期間には観測信号を、前記データ転送不可期間には前記未転送データ情報をデバッグデータとして前記外部メモリに転送するデータ転送工程とを有するデバッグ制御方法。
【請求項１０】
デバッグ対象回路からのデバッグのための観測信号を取得し、当該デバッグ対象回路内のメモリに当該観測信号を格納する動作をコンピュータに実行させるためのプログラムであって、
前記デバッグ制御回路外の外部メモリへのアクセスの競合を監視するアクセス監視処理と、
前記アクセス監視処理で前記外部メモリへのアクセスが競合すると判定された場合に、当該アクセスが競合する期間をデータ転送不可期間とし、当該データ転送不可期間の観測信号の再取得の要否を判定するための未転送データ情報を生成する未転送データ生成処理と、
前記データ転送許可期間には観測信号を、前記データ転送不可期間には前記未転送データ情報をデバッグデータとして前記外部メモリに転送するデータ転送処理とを有するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバッグ対象回路のデバッグを行うデバッグ制御回路、デバッグ制御方法及びプログラム、特に装置外のメモリにデバッグの観測結果を転送するデバッグ制御回路、デバッグ制御方法及びプログラムに関する。
【背景技術】
【０００２】
ＬＳＩ回路の信号路には不可避的に伝播遅延等を伴うので、信号のタイミングのばらつきにより製造後の評価で動作異常（不具合）を生じる場合がある。また、製造前に十分な検証を行う期間がなく、製造後の評価で動作異常（不具合）を生じる場合もある。不具合が生じた場合には、その原因を究明するためにＬＳＩの信号動作を観測（デバッグ）する必要がある。
【０００３】
従来技術のＬＳＩチップのデバック作業について図面を参照しながら説明する。図１４は、従来のデバッグ処理システムを示すブロック図である。図１４に示すように、従来のデバッグ処理システムＡ１００は、デバッグ制御回路Ａ０１、外部制御装置Ａ０１０、及びデバッグ対象回路Ａ０２０を有する。
【０００４】
デバッグ制御回路Ａ０１は、パラメータ設定部Ａ０４、信号選択部Ａ０５、トリガ検出部Ａ０６、及びアドレス生成部Ａ０７、ＦＩＦＯ部Ａ０８を有する。デバッグ対象回路Ａ０２０は、メモリＡ０２１、メモリ制御部Ａ０２２、及び機能ブロックＡ０２３を有する。
【０００５】
このデバッグ制御回路Ａ０１は、デバッグ対象回路Ａ０３のレジスタ制御信号ｑ０１を信号選択部Ａ０５で選択して観測信号ｑ４を生成し、トリガ検出部Ａ０６が観測信号ｑ４と、トリガ条件部Ａ０４−１に格納されているトリガ条件設定信号ｑ１で指定されるトリガ条件とを比較し、観測信号ｑ４を取得するタイミング（トリガ）を検出する。
【０００６】
次に、検出した観測信号取得基準タイミング（トリガ）にしたがって、アドレス生成部Ａ０７がメモリＡ０２１に記録するためのアドレスｑ１３及びライトイネーブル信号ｑ１４を生成し、観測信号ｑ４をメモリＡ０２１に格納（トレース）する。その後に、メモリＡ０２１にトレースした観測信号ｑ４をＣＰＵ等の外部制御装置Ａ０１０が読み出してデバックを行っていた。トレース専用にメモリを備えると回路規模が増加してしまうので、デバッグ対象回路Ａ０２０内の共有メモリＡ０２１に格納する方法が有効である。共有メモリＡ０２１には、デバッグ対象回路Ａ０２０内の機能ブロックＡ０２３同士のアクセスや、観測信号ｑ４を格納するためのメモリアクセス等の複数のアクセスが発生するので、そのアクセスを調停するためのメモリ制御部ＡＳ２２が備えられている。観測信号ｑ４を格納するためのアクセスは、一般的に優先度が低いため、機能ブロックＡ０２３からのメモリアクセスとが同時に発生（競合）した場合、観測信号ｑ４をトレースするためのメモリＡ０２１へのアクセスが待たされることとなる。そこでこの遅延を解決するためにＦＩＦＯ（First In First Out）部Ａ０８が用いられる。ＦＩＦＯ部Ａ０８のＦＩＦＯ段数を増やすことで、メモリＡ０２１へのアクセスが競合した場合でも観測信号ｑ４を欠落することなく格納することができる。ただし、ＦＩＦＯ段数を増やすほど回路規模が増加してしまうという問題点がある。
【０００７】
そこで、このような競合解消に利用可能な、優先度を考慮して競合の発生を抑えるための技術が、特許文献１に開示されている。また、メモリアクセス競合の発生を抑制するため、転送データを圧縮して転送データ量を減らす技術が特許文献２に開示されている。
【０００８】
特許文献１に記載のアクセス調停装置においては、各リクエスタに対するアクセス許可の優先度を保持する優先度保持手段Ｂ０１と、優先度保持手段Ｂ０１に保持される優先度を制御する優先度制御手段Ｂ０２と、優先度保持手段Ｂ０１に保持された優先度が最も低いリクエスタにアクセス許可を与えるアクセス許可手段Ｂ０３と、を備え、優先度制御手段Ｂ０２は、リクエスタＢ０４、Ｂ０５からアクセス要求がある場合、及びアクセス要求がなくて優先度が所定の基準優先度よりも低い場合に、時間経過に応じて、優先度を上昇させ、逆にアクセスが許可された場合には優先度を低下させるように構成されている。
【０００９】
また、特許文献２に記載の技術においては、デバッグ対象回路から入力された、トレース要素のストリームは、複数の圧縮部からなる圧縮回路へ送られる。各圧縮部は、異なる圧縮方式で圧縮するよう構成され、マルチプレクサを介して複数の圧縮部のいずれか１つからの出力が選択される。さらに、装置内には圧縮分析回路が設けられ、どの圧縮方式が最も効率的な圧縮を行っているかを判断する。すなわち、圧縮分析回路は、全圧縮部から得られた圧縮結果を比較し、当該装置内で発生する将来のパケットに対して使用すべき最も適した圧縮方式を選択する。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特許第４６２５８３６号公報
【特許文献２】特開２００９‐０８７３４３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、特許文献１及び特許文献２の技術を使用しても、メモリへのアクセス競合を完全に無くすことはできない。すなわち、いずれの技術を使用しても、メモリへのアクセス競合が発生すると、メモリへ転送できないデータが生じてしまう。メモリへの転送を保障するためには、競合発生サイクル分の段数のＦＩＦＯを用意すればよいが、ＦＩＦＯを増やせば回路規模が増加するという問題が発生するだけでなく、用意したＦＩＦＯの段数以上のアクセス競合が発生した場合は、やはりメモリに転送できないデータが発生することで、デバッグ動作解析ができないという問題点がある。
【００１２】
本発明は、このような問題点を解決するためになされたものであり、デバッグ処理中に外部メモリにデータ転送不可であった期間の観測信号の再取得の要否を判断可能なデバッグ制御回路、デバッグ制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明に係るデバッグ制御回路は、デバッグ対象回路からのデバッグのための観測信号を取得し、当該デバッグ対象回路内のメモリに当該観測信号を格納するデバッグ制御回路であって、前記デバッグ制御回路外の外部メモリへのアクセスの競合を監視するアクセス監視部と、前記アクセス監視部が前記外部メモリへのアクセスが競合すると判定した場合に、当該アクセスが競合する期間をデータ転送不可期間とし、当該データ転送不可期間の観測信号の再取得の要否を判定するための未転送データ情報を生成する未転送データ生成部と、前記データ転送許可期間には観測信号を、前記データ転送不可期間には前記未転送データ情報をデバッグデータとして前記外部メモリに転送するデータ転送部とを有するものである。
【００１４】
本発明に係るデバッグ制御方法は、デバッグ対象回路からのデバッグのための観測信号を取得し、当該デバッグ対象回路内のメモリに当該観測信号を格納するデバッグ制御方法であって、前記デバッグ制御回路外の外部メモリへのアクセスの競合を監視するアクセス監視工程と、前記アクセス監視工程にて前記外部メモリへのアクセスが競合すると判定された場合に、当該アクセスが競合する期間をデータ転送不可期間とし、当該データ転送不可期間の観測信号の再取得の要否を判定するための未転送データ情報を生成する未転送データ生成工程と、前記データ転送許可期間には観測信号を、前記データ転送不可期間には前記未転送データ情報をデバッグデータとして前記外部メモリに転送するデータ転送工程とを有するものである。
【００１５】
また、本発明に係るプログラムは、上述したデバッグ対象回路からのデバッグのための観測信号を取得し、当該デバッグ対象回路内のメモリに当該観測信号を格納する処理をコンピュータに実行させるものである。
【発明の効果】
【００１６】
本発明によれば、デバッグ処理中に外部メモリにデータ転送不可であった期間の観測信号の再取得の要否を判断可能なデバッグ制御回路、デバッグ制御方法及びプログラムを提供することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態１にかかるデバッグ制御回路を示すブロック図である。
【図２】本発明の実施の形態１にかかるデバッグ制御回路のトリガ検出部を示すブロック図である。
【図３】本発明の実施の形態１にかかるデバッグ制御回路の未転送データ生成部を示すブロック図である。
【図４】本発明の実施の形態１にかかるデバッグ制御回路のデバッグデータ転送部を示すブロック図である。
【図５】本発明の実施の形態１にかかるデバッグ制御方法を示すフローチャートである。
【図６】本発明の実施の形態１にかかるデバッグ制御処理のタイミングを示すタイミングチャートである。
【図７】本発明の実施の形態２にかかるデバッグ制御回路を示すブロック図である。
【図８】本発明の実施の形態２にかかるデバッグ制御方法を示すフローチャートである。
【図９】本発明の実施の形態３にかかるデバッグ制御回路の未転送データ生成部を示すブロック図である。
【図１０】本発明の実施の形態４にかかるデバッグ制御回路の未転送データ生成部を示すブロック図である。
【図１１】本発明の実施の形態５にかかるデバッグ制御回路を示すブロック図である。
【図１２】本発明の実施の形態５にかかるデバッグ制御回路のトリガ検出部を示すブロック図である。
【図１３】本発明の実施の形態５にかかるデバッグ制御方法を示すフローチャートである。
【図１４】トレースメモリを共有メモリに実装した従来のＬＳＩデバッグ装置を示すブロック図である。
【発明を実施するための形態】
【００１８】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、動作中のＬＳＩに対する入出力情報又はＬＳＩ内部信号をトレースするデバッグシステムに係り、特に、ＬＳＩの所定のデータ処理機能とは別にＬＳＩ内部又は外部にトレース機能部分を設けたデバッグ処理回路に適用したものである。
【００１９】
本実施の形態においては、通常動作に使用するメモリとデバッグ用のトレースデータを格納するメモリ（以下、外部メモリともいう。）を共有する構成において、通常動作によるメモリアクセスとデバッグ処理よるメモリアクセスの競合が発生した際に、外部メモリへ格納できない期間（以下、データ転送不可期間という。）の観測信号の変化を確認する手段を設ける。これにより、小規模回路の追加のみで、例えばデータ転送再開時の先頭に付加して転送することができる。
【００２０】
具体的には、本実施の形態にかかるデバッグ制御回路は、デバッグ制御回路外の外部メモリへのアクセスの競合を監視するアクセス監視部と、このアクセス監視部が前記外部メモリへのアクセスが競合すると判定した場合に、当該アクセスが競合する期間をデータ転送不可期間とし、当該データ転送不可期間の観測信号の再取得の要否を判定するための未転送データ情報を生成する未転送データ生成部と、データ転送許可期間には観測信号を、データ転送不可期間には前記未転送データ情報をデバッグデータとして外部メモリに転送するデータ転送部とを有するものとして構成することができる。
【００２１】
このように、未転送データ情報を生成し、転送するため、メモリに転送できない期間の観測信号の変化を確認するメモリに転送できない期間の観測信号が信号動作解析（デバッグ）に必要なデータであるか否かを判別することができる。解析に必要なデータである場合は観測信号を再取得する必要があるが、解析に不要なデータである場合は観測信号を再取得することなくデバッグを行うことが可能となる。すなわち、観測信号の再取得の要否を判断したり、転送不可だった期間のみの観測信号を再取得する等が可能となり、デバッグ処理をより効率よく行うことができる。
【００２２】
［本発明の実施の形態１の構成］
以下、本発明の実施の形態１について図面を参照して詳細に説明する。図１は、本発明の実施の形態１にかかるデバッグ処理システム１を示すブロック図である。図１に示すように、本発明の実施の形態１にかかるデバッグ処理システム１００は、デバック制御回路１０１、外部制御装置１１０及びデバッグ対象回路１０３を有し、外部制御装置１１０の制御に基づき動作するデバック制御回路１０１によって、デバッグ対象回路１０３のデバッグを実施するものである。
【００２３】
デバッグ制御回路１０１は、パラメータ設定部１０４と、信号選択部１０５と、トリガ検出部１０６と、アクセス監視部１０７と、未転送データ生成部１０８と、デバッグデータ転送部１０９とを備える。本実施の形態においては、所定のタイミングでデバッグ対象回路１２０から取り込んだ観測信号を所定のタイミングでデバッグ対象回路１２０内のメモリ１２１に格納（トレース）する際に、他のブロックと競合して転送不可となった場合であってもデバック処理を正常に行う又は再度デバック処理が必要であるかを判断することができるものである。
【００２４】
パラメータ設定部１０４は、トリガ条件設定信号、観測信号選択信号、及び比較信号選択信号を格納する。ここで、トリガ条件設定信号とは、デバッグ信号観測開始となる条件をいい、デバック対象回路１０２からの観測信号がこのトリガ条件に一致するとデバッグ信号の観測が開始される。また、観測信号選択信号とは、デバッグを行うために必要な観測信号を選択するための信号をいい、信号選択部１０５は、デバッグが開始されるとデバッグ対象回路１２０の出力信号のうち、観測信号選択信号が示す信号を観測信号として取り込む。比較信号選択信号とは、デバッグが開始された後、信号選択部１０５が選択した観測信号をメモリ１２１に転送できない期間（観測信号転送不可期間）に、未転送データ生成部１０８が、例えば当該観測信号が複数ビットある場合に比較するビットのみを選択（比較するビットを抽出）するための比較信号選択信号をいう。
【００２５】
パラメータ設定部１０４は、ＣＰＵ（Central Processing Unit）等の外部制御装置１１０と接続され、当該外部制御装置１１０からトリガ条件設定信号Ｑ１、観測信号選択信号Ｑ２、及び比較信号選択信号Ｑ３を含むレジスタ制御信号Ｑ０１が入力される。このパラメータ設定部１０４は、トリガ条件格納部１０４−１、信号選択格納部１０４−２、及び比較条件格納部１０４−３を有し、それぞれトリガ条件設定信号Ｑ１、観測信号選択信号Ｑ２、及び比較信号選択信号Ｑ３を格納する。さらに、パラメータ設定部１０４のトリガ条件格納部１０４−１、信号選択格納部１０４−２、及び比較条件格納部１０４−３は、それぞれ信号選択部１０５、トリガ検出部１０６及び未転送データ生成部１０８と接続され、それぞれトリガ条件設定信号Ｑ１、観測信号選択信号Ｑ２、及び比較信号選択信号Ｑ３をそれぞれ信号選択部１０５、トリガ検出部１０６及び未転送データ生成部１０８へ出力する。
【００２６】
信号選択部１０５は、信号選択格納部１０４−２から観測信号選択信号Ｑ２を受け取り、この観測信号選択信号Ｑ２に基づきデバッグ対象回路１２０の出力信号Ｑ０２の中からトレースするメモリのビット幅分の信号を選択して観測信号Ｑ４とする。なお、デバッグ対象回路１２０の出力信号全ビットを観測信号Ｑ４とする場合は、信号選択格納部１０４−２及び観測信号選択信号Ｑ２は不要である。信号選択部１０５は、トリガ検出部１０６及びデバックデータ転送部１０９と接続され、この観測信号Ｑ４をトリガ検出部１０６及びデバックデータ転送部１０９へ出力する。
【００２７】
トリガ検出部１０６は、トリガ条件格納部１０４−２からトリガ条件設定信号Ｑ１を受け取り、信号選択部１０５から受け取った観測信号Ｑ４と比較し、これら両信号が一致する観測開始タイミングを示すトリガを検出する。図２は、本実施の形態におけるトリガ検出部を示すブロック図である。図２に示すように、トリガ検出部１０６は、トリガ検出部１０６−１及びイネーブル生成部１０６−２を有する。
【００２８】
トリガ検出部１０６−１は、信号選択部１０５から入力される観測信号がトリガ条件格納部１０４−１から入力されるトリガ条件設定信号Ｑ１と一致したタイミングでイネーブル生成部１０６−２に対しトリガパルスＱ５を出力する。
【００２９】
イネーブル生成部１０６−２は、トリガ検出部１０６−１からトリガパルスＱ５が入力されるとこれに基づき、観測信号（デバッグ信号）Ｔ４の観測開始を知らせる転送イネーブル信号Ｑ６を生成する。このイネーブル生成部１０６−２は、未転送データ生成部１０８及びデバッグデータ転送部１０９と接続され、生成した転送イネーブル信号Ｑ６を未転送データ生成部１０８及びデバックデータ転送部１０９へ出力する。
【００３０】
図１に戻って、アクセス監視部１０７は、デバッグ対象回路内１０３の機能ブロック１２３からメモリ１２１へのアクセスＡ１があったか否か、及びデバッグデータ転送部１０９からメモリ１２１へのアクセスＡ２があったか否かを監視する。本実施の形態においては、複数のブロックがメモリへアクセスするため、このアクセスの優先順位等を決定し、複数のアクセスを調停するメモリ制御部１２２を有している。メモリ制御部１２２は、例えばデバッグ対象回路内１０３の機能ブロック１２３からメモリ１２１への１以上のアクセスＡ１と同時にデバックデータ転送部１０９からのメモリ１２１へのアクセスＡ２があった場合、これを転送可否判別信号Ｑ０３によりアクセス監視部１０７に通知する。つまり、２以上のアクセス要求が競合している場合は、機能ブロック１２３のアクセスＡ１を優先するため、デバックデータ転送部１０９はメモリ１２１へデータを書き込むことができない。このような場合、メモリ制御部１２２は、転送可否判別信号Ｑ０３を例えばＨｉｇｈとし、メモリ１２１へのアクセスが不可であることをアクセス監視部１０７に転送可否判別信号Ｑ０３により通知する。アクセス監視部１０７は、未転送データ生成部１０８及びデバックデータ転送部１０９と接続され、転送可否判別信号Ｑ０３に基づき、アクセスＡ１、Ａ２が同時に発生してする場合は、ＢＵＳＹ信号Ｑ７を有効（例えばＨｉｇｈ）とし、未転送データ生成部１０８及びデバックデータ転送部１０９へ出力する。
【００３１】
未転送データ生成部１０８は、デバッグ対象回路内１０３の機能ブロック１２３からメモリ１２１へのアクセスＡ１と、デバッグデータ転送部１０９からメモリ１２１へのアクセスＡ２とが同時に発生する場合、すなわちデバックデータ転送部１０９がメモリ１２１に観測信号のデータ転送ができない期間を示すデータ転送不可期間を判定し、このデータ転送不可期間においてデバッグ処理に必要なデータを生成し、未転送データ情報信号Ｑ１１としてデバックデータ転送部１０９に通知する。
【００３２】
図３は、本実施の形態における未転送データ生成部を示すブロック図である。図３に示すように、未転送データ生成部１０８は、サイクルカウンタ部１０８−１と、観測信号比較部１０８−２と、フラグ生成部１０８−３とを有する。
【００３３】
サイクルカウンタ部１０８−１は、ＢＵＳＹ信号Ｑ７が入力されるとこの期間をカウントすることで、上記アクセスＡ１、Ａ２が重なり観測信号Ｑ４をデータ転送できないデータ転送不可期間のサイクル数をカウントする。そして、サイクルカウンタ部１０８−１は、カウント結果のカウント値Ｑ８を観測信号比較部１０８−２に出力する共に、未転送データ通知信号Ｑ１１の一部としてデバックデータ転送部１０９に出力する。さらに、サイクルカウンタ部１０８−１は、ＢＵＳＹ信号Ｑ７がデータ転送不可期間を示す（例えばＢＵＳＹ信号がＨｉｇｈ）の場合は、未転送データイネーブル信号Ｑ１２を有効（例えばＨｉｇｈ）としてデバックデータ転送部１０９に出力する。
【００３４】
観測信号比較部１０８−２は、比較条件格納部１０４−３から比較信号選択信号Ｑ３、信号選択部１０５から観測信号Ｑ４、トリガ検出部１０６から転送イネーブル信号Ｑ６、及びアクセス監視部１０７からＢＵＳＹ信号Ｑ７がそれぞれ入力され、観測信号Ｑ４のデータ転送（観測）が開始され（転送イネーブル信号Ｑ６が例えばＨｉｇｈ）、かつアクセスＡ１、Ａ２が重なり観測信号Ｑ４がデータ転送不可期間（ＢＵＳＹ信号Ｑ７が例えばＨｉｇｈ）に、データ転送不可となる直前の観測信号Ｑ４１とデータ転送不可期間中の観測信号Ｑ４２とを比較する。
【００３５】
なお、本実施の形態においては、この際の比較は、比較信号選択信号Ｑ３により指定されたビットを比較し、比較結果Ｑ９をフラグ生成部１０８−３に出力するものして説明するが、例えば全ビット比較したり、比較すべき観測信号Ｑ４が１ビットの場合等は、この比較信号選択信号Ｑ３を使用しなくてもよい。その場合は、比較条件格納部１０４−３は不要となる。
【００３６】
また、本実施の形態及び後述の実施の形態２乃至５においては、データ転送不可となる直前の観測信号Ｑ４と比較するものとして説明しているが、例えば観測信号Ｑ４が予め予想された値となる場合は当該予想値（期待値）と比較してもよいし、データ転送が可能なデータ転送可能期間中の任意又は所定のタイミングの観測信号Ｑ４と比較した結果により、データ転送不可期間中の観測信号Ｑ４の再取得の要・不要が判定できる場合は、任意又は所定のタイミングの観測信号Ｑ４と比較するようにしてもよい。
【００３７】
フラグ生成部１０８−３は、観測信号比較部１０８−２から受け取った比較結果Ｑ９を参照し、データ転送不可期間の前後で観測結果が不一致のときにフラグを有効にする（例えばＨｉｇｈにする）、すなわち不一致フラグＱ１０とする。このフラグ生成部１０８−３はデバックデータ転送部１０９と接続され、サイクルカウンタ部１０８−１からのカウント値Ｑ８と共に、不一致フラグＱ１０を未転送データ情報信号Ｑ１１としてデバックデータ転送部１０９に出力する。
【００３８】
デバッグデータ転送部１０９は、観測信号Ｑ４又は未転送データ情報信号Ｑ１１をデバッグ対象回路１２０のメモリ１２１に転送する。なお、本実施の形態におけるデバッグ対象回路１２０は、複数の機能ブロック１２３からメモリ１２１へのメモリアクセスＡ１を調停するためのメモリ制御回路１１１を備える。ここで、デバッグ対象回路１２０内にメモリアクセスを調整するための調停回路（メモリ制御回路１１１）を備えずにデバッグ制御回路１０１内に備える等してもよい。デバッグデータ転送部１０９は、未転送データ生成部１０８からの入力信号と接続され、デバッグ対象回路１２０の入力信号と接続されている。
【００３９】
図４は、本実施の形態におけるデバッグデータ転送部を示すブロック図である。図４に示すように、デバッグデータ転送部１０９は、アドレス生成部１０９−１と、データ選択部１０９−２とを有する。
【００４０】
アドレス生成部１０９−１は、トリガ検出部１０６からの転送イネーブル信号Ｑ６、アクセス監視部１０７からのＢＵＳＹ信号Ｑ７、及び未転送データ生成部１０８からの未転送データ情報信号Ｑ１１が入力され、メモリ１２１へ転送するデバッグデータのアドレス信号Ｑ１３及びライトイネーブル信号Ｑ１４を生成し、これらをメモリ制御部１２２に入力する。さらに、アドレス生成部１０９−１は、ライトイネーブル信号Ｑ１４をアクセス監視部１０７にも入力する。
【００４１】
データ選択部１０９−２は、信号選択部１０５から観測信号Ｑ４が入力され、未転送データ生成部１０８から未転送データ情報信号Ｑ１１及び未転送データイネーブル信号Ｑ１２が入力され、未転送データイネーブル信号Ｑ１２に応じて観測信号Ｑ４又は未転送データ情報信号Ｑ１１を選択し、ライトデータＱ１５としてメモリ制御部１２２へ入力する。つまり、未転送データイネーブル信号Ｑ１２が有効（例えばＨｉｇｈ）のとき、未転送データ情報信号Ｑ１１を選択しライトデータＱ１５とし、未転送データイネーブル信号Ｑ１２が有効ではないとき（例えばＬｏｗ）、観測信号Ｑ４を選択してライトデータＱ１５とする。
【００４２】
[本発明の実施の形態１の動作]
次に、本実施の形態の全体の動作について図面を参照して詳細に説明する。図５は、本発明の第１の実施の形態にかかるデバッグ制御回路１０１の動作を示すフローチャートである。先ず、ＣＰＵ等の外部制御装置１１０から、トリガ条件設定信号Ｑ１、観測信号選択信号Ｑ２、及び比較信号選択信号Ｑ３を含むレジスタ制御信号Ｑ０１がデバック制御回路１０１のパラメータ設定部１０４へ入力される。入力されたトリガ条件設定信号Ｑ１、観測信号選択信号Ｑ２、及び比較信号選択信号Ｑ３は、それぞれトリガ条件格納部１０４‐１、信号選択情報格納部１０４−２及び比較条件格納部１０４−３に格納されることでデバッグ回路動作の設定が行われる（ステップＳ１）。
【００４３】
次に、デバッグ制御回路１０１を起動し（ステップＳ２）、その後、デバッグ対象回路１２０を起動する（ステップＳ３）。デバッグ対象回路１２０が起動されると、デバッグ対象回路１２０から出力信号Ｑ０２がデバック制御回路１０１の信号選択部１０５に入力される。信号選択部１０５は、出力信号Ｑ０２から、選択信号Ｑ２で指定されるビットを選択して観測信号Ｑ４とし、この観測信号Ｑ４をトリガ検出部１０６のトリガ検出部１０６−１、未転送データ生成部１０８及びデバックデータ転送部１０９に出力する。
【００４４】
また、パラメータ設定部１０４のトリガ条件格納部１０４−１は、格納しているトリガ条件設定信号Ｑ１をトリガ検出部１０６−１に出力する。トリガ検出部１０６−１は、観測信号Ｑ４とトリガ条件設定信号Ｑ１が示すトリガ条件とを比較し（ステップＳ４）、トリガ発生したか否かを検出する（ステップＳ５）。
【００４５】
ここで、トリガが発生していないと判断されると（ステップＳ５：Ｎｏ）、再びステップＳ１０４のトリガ検出工程に戻って、観測信号Ｑ４がトリガ条件に一致したか否かを検出する。一方、トリガ条件に一致したと判定された場合（ステップＳ５：Ｙｅｓ）は、以下の信号トレース動作を実施する（ステップＳ６）。
【００４６】
信号トレース処理（ステップＳ６）では、先ず、アクセス監視部１０７が、転送可否判別信号Ｑ０３をメモリ制御部１２２から受け取り、この転送可否判別信号Ｑ０３に基づき、転送先のメモリ１２１へのアクセス状況を判断する（ステップＳ２１）。すなわち機能ブロック１２３等からメモリ１２１へのアクセス要求があってメモリ１２１が使用中で、観測信号Ｑ４の転送が行えない場合（以下、データ転送不可期間ともいう。）（ステップＳ２１：Ｎｏ）は、メモリ１２１が使用中でアクセス待ちの状態であることを示すＢＵＳＹ信号Ｑ７を、未転送データ生成部１０８及びデバックデータ転送部１０９に送信する。
【００４７】
未転送データ生成部１０８は、メモリ１２１が他のブロック等により使用中であって観測信号Ｑ４を転送できないデータ転送不可期間のカウント数と、観測信号Ｑ４がデータ転送不可期間前後で変化したか否かを示す不一致フラグＱ１０とを、未転送データ情報信号Ｑ１１として生成する（ステップＳ２２）。
【００４８】
一方、メモリが未使用の場合（ステップＳ２１：Ｎｏ）は、デバッグデータ転送部１０９がデバッグデータ（観測信号Ｑ４）の転送を行う。
【００４９】
ここで、本実施の形態における信号トレース処理（ステップＳ６）の動作は、以下の４つの場合に分類される。すなわち、転送先のメモリ１２１へのアクセス状況によって、ＢＵＳＹ信号Ｑ７が無効（例えばＬｏｗ）（転送先メモリ１２１が未使用）の場合（以下、第１サイクルＰ１ともいう。）と、ＢＵＳＹ信号が有効（例えばＨｉｇｈ）（転送先メモリ１２１が使用中）の２つの場合（以下、第２サイクルＰ２ともいう。）と、ＢＵＳＹ信号Ｑ７が有効から無効に切り替わる場合（転送先メモリ１２１が使用中から未使用になる場合）（以下、第３サイクルＰ３ともいう。）と、ＢＵＳＹ信号Ｑ７が無効に切り替わった後の次のサイクル（以下、第４サイクルＰ４ともいう）の４つである。
【００５０】
図６は、本実施の形態におけるデバッグ処理動作を示すタイミングチャートである。次に、図６を参照して信号トレース処理（ステップＳ６）の各サイクルＰ１乃至Ｐ４の動作について説明する。
【００５１】
先ず、第１サイクルＰ１の場合、すなわちＢＵＳＹ信号Ｑ７が無効（転送先メモリが未使用）の場合は、デバックデータ転送部１０９は、メモリ１２１へのライトデータＱ１５として、信号選択部１０５から入力される観測信号Ｑ４をデータ選択部１０９−２が選択し、メモリ制御部１２２を介してメモリ１２１へ出力すると共に、アドレス生成部１０９−１がアドレスをインクリメントしてアドレス信号Ｑ１３を生成し、ライトイネーブル信号Ｑ１４を有効（例えばＨｉｇｈ）とし、メモリ制御部１２２を介してメモリ１２１へ出力する（ステップＳ２３）。これにより、観測信号Ｑ４がメモリ１２１の所定のアドレスに書き込まれる。また、未転送データ生成部１０８の比較部１０８−２は、信号選択１０５部から入力される観測信号Ｑ４を、データ転送不可期間に比較する比較用信号として更新する。
【００５２】
次に、第２サイクルＰ２の場合、すなわち、ＢＵＳＹ信号Ｑ７が有効（転送先メモリが使用中）のデータ転送不可期間の場合（ステップＳ２１：Ｙｅｓ）は、未転送データ生成部１０８の観測信号比較部１０８−２は、データ転送不可期間前に保存していた比較用の観測信号Ｑ４と、現在の観測信号Ｑ４とを、必要に応じて比較信号選択信号Ｑ３が示すビットで比較する。一致している場合は、未転送データ生成部１０８のサイクルカウンタ１０８−１は、そのカウンタ値をインクリメントする。
【００５３】
一方、不一致である場合は、未転送データ生成部１０８のフラグ生成部１０８−３は、不一致であることを知らせる不一致フラグＱ１０に１を立てると共に、未転送データ生成部１０８のサイクルカウンタ１０８−１は、そのカウンタ値をインクリメントする。なお、本実施の形態においては、比較するビットは、パラメータ設定部１０４の比較条件格納部１０４−３に格納されている比較信号選択信号Ｑ３が指定するビットのみを比較するものとして説明しているが、全ビット比較する場合などは、比較信号選択信号Ｑ３は不要である。すなわち、比較条件格納部１０４−３も不要となる。
【００５４】
次に、第３サイクルＰ３の場合、すなわち、ＢＵＳＹ信号Ｑ７が有効から無効（例えばＨｉｇｈからＬｏｗ）（転送先メモリが使用中から未使用）に切り替わる場合は、未転送データ生成部１０８の観測信号比較部１０８−２で、未転送期間前の観測信号Ｑ４（比較用信号）と現在の観測信号Ｑ４とを比較する。不一致の場合は、未転送データ生成部１０８のフラグ生成部１０８−３は、不一致フラグに１を立てる。これと同時に、未転送データ生成部１０８のサイクルカウンタ１０８−１のカウント値をインクリメントし、このカウント値Ｑ８とフラグ生成部１０８−３が生成した不一致フラグＱ１０とを未転送データ情報信号Ｑ１１としてデバッグデータ転送部１０９に出力する。
【００５５】
デバックデータ転送部１０９のデータ選択部１０９−２は、ライトデータＱ１５として観測信号Ｑ４ではなく、未転送データ情報信号Ｑ１１を選択し、メモリ制御部１２２を介してメモリ１２１へ出力する。これと共に、デバッグデータ転送部１０９のアドレス生成部１０９−１はアドレスをインクリメントし、これをアドレス信号Ｑ１３とし、ライトイネーブル信号Ｑ１４と共にメモリ制御部１２２を介してメモリ１２１へ出力する（ステップＳ２２）。
【００５６】
第４サイクルＰ４の場合、すなわち、未転送データの転送完了後の次のサイクルＰ４では、未転送データ生成部１０８のサイクルカウンタ１０８−１は、カウント値Ｑ８をクリアし、未転送データ生成部１０８のフラグ生成部１０８−３は、不一致フラグＱ１０の値をクリアする（例えばＬｏｗとする）。また、デバッグデータ転送部１０９のデータ選択部１０９−２は、メモリ１２１へのライトデータＱ１５として、信号選択部１０５から入力される観測信号Ｑ４を選択し、メモリ制御部１２２を介してメモリ１２１へ出力する。これと共に、デバッグデータ転送部１０９のアドレス生成部１０９−１は、アドレスをインクリメントし、そのアドレス信号Ｑ１３をライトイネーブル信号Ｑ１４と共にメモリ制御部１２２を介してメモリ１２１へ入力する（ステップＳ２３）。また、未転送データ生成部１０８の比較部１０８−２は、信号選択部１０５から入力される観測信号Ｑ４を未転送期間が始まった際に比較する比較用信号として更新する。
【００５７】
こうして信号トレース処理（ステップＳ６）が終了すると、メモリ１２１のデータ容量に空きがあるか否かを判断する（ステップＳ７）。空きがある場合（ステップＳ７：Ｙｅｓ）は、信号トレース処理（ステップＳ６）の最初に戻り、次の時間における観測信号Ｑ４のライト又は未転送データ情報信号Ｑ１１の生成を行う。メモリ１２１のデータ容量に空きがない場合（ステップＳ７：Ｎｏ）は、トレース処理は完了となり（ステップＳ８）、デバッグデータ転送部１０９からメモリ１２１への転送を終了する（ステップＳ９）。
【００５８】
トレース処理完了後、デバッグ対象回路１２０を停止し（ステップＳ９）、その後、ＣＰＵ等の外部制御装置１１０から、メモリ１２１へ格納したトレースデータ（観測信号Ｑ４及び未転送データ情報信号Ｑ１１）を読み出し（ステップＳ１０）、デバッグ制御回路１０１を停止し（ステップＳ１１）、処理を終了する。
【００５９】
［発明の実施の形態２の構成］
次に、本発明の実施の形態２にかかるデバッグ処理方法について説明する。図７は、本実施の形態にかかるデバッグ処理システムを示すブロック図である。なお、図７に示す実施の形態２にかかるデバッグ処理システム１００において、図１に示す実施の形態１にかかるデバッグ処理システム２００と同一の構成要素には同一の符号を付し、その詳細な説明は省略する。
【００６０】
図７に示すように、本実施の形態にかかるデバッグ制御回路２０１は、上述した本発明の実施の形態１の変形例である。すなわち、図１に示す実施の形態１のデバッグ制御回路１０１の構成に、新たにＦＩＦＯ部２１０が追加された構成となっている。本実施の形態においては、ＦＩＦＯ部２１０を追加することにより、デバッグ対象回路２２０において、機能ブロック１２３よりメモリ１２１にアクセスする通常動作でのアクセスＡ１と、ライトデータ（デバッグデータ）Ｑ１５を格納するためのアクセスＡ２とが同時に発生する場合に、追加したＦＩＦＯ部２１０によりライトデータＱ１５の格納動作を遅延させることが可能となる。ここで、ライトデータＱ１５とは、デバックデータ転送部２０９が、信号選択部１０５が選択した観測信号Ｑ４（通常時）と、未転送データ生成部１０８で生成された未転送データ情報信号Ｑ１１（未転送期間）のいずれかを含むものである。
【００６１】
ＦＩＦＯ部２１０は、デバックデータ転送部２０９から出力されるライトデータＱ１５とアドレス信号Ｑ１３をＦＩＦＯに格納する。ＦＩＦＯ部２１０は、デバッグ制御回路２２０から送られる転送可否判別信号Ｑ０３に応じて、例えば転送可否判別信号Ｑ０３が転送可を示し（例えばＨｉｇｈ）、ＦＩＦＯ部２１０がライトデータＱ１５を保持している場合は、ライトデータＱ１５及びアドレス信号Ｑ１３をデバッグ対象回路２０３に出力する。デバッグ制御回路２２０では、メモリ制御部２２２を介して、ライトデータＱ１５がアドレス信号Ｑ１３の示すアドレスに書き込まれる。
【００６２】
上述の実施の形態１では、デバックデータ転送部１０９は、アドレス信号Ｑ１３、ライトイネーブル信号Ｑ１４及びライトデータＱ１５をメモリ制御部１２２に出力していたのに対し、本実施の形態においては、デバックデータ転送部２０９は、これらのアドレス信号Ｑ１３、ライトイネーブル信号Ｑ１４及びライトデータＱ１５をＦＩＦＯ部２１０に出力する。また、実施の形態１では、デバッグ対象回路１２０からの転送可否判別信号Ｑ０３は、アクセス監視部１０７が受け取っていたのに対し、本実施の形態においては、ＦＩＦＯ部２１０が転送可否判別信号Ｑ０３を受け取り、さらに、ＦＩＦＯ部２１０のＦＩＦＯがいっぱいであるか否かを示す新たな信号（ＦＩＦＯ＿ＦＵＬＬ信号）Ｑ１６がアクセス監視部２０７に入力される構成となっている。
【００６３】
[本発明の実施の形態２の動作]
次に、本実施の形態の全体の動作について図面を参照して詳細に説明する。図８は、本発明の第２の実施の形態にかかるデバッグ制御回路２０１の動作を示すフローチャートである。図８に示す本実施の形態におけるステップＳ３１乃至ステップＳ３５の工程は、図５に示す実施の形態１におけるステップＳ１乃至ステップＳ５の工程と同様である。すなわち、先ず、ＣＰＵ等の外部制御装置１１０から、トリガ条件設定信号Ｑ１、観測信号選択信号Ｑ２、及び比較信号選択信号Ｑ３を含むレジスタ制御信号Ｑ０１がデバック制御回路１０１のパラメータ設定部１０４へ入力される。入力されたトリガ条件設定信号Ｑ１、観測信号選択信号Ｑ２、及び比較信号選択信号Ｑ３は、それぞれトリガ条件格納部１０４‐１、信号選択情報格納部１０４−２及び比較条件格納部１０４−３に格納されることでデバッグ回路動作の設定が行われる（ステップＳ３１）。
【００６４】
次に、デバッグ制御回路２０１を起動し（ステップＳ３２）、その後、デバッグ対象回路２２０を起動する（ステップＳ３３）。デバッグ対象回路２２０が起動されると、デバッグ対象回路２２０から出力信号Ｑ０２がデバック制御回路２０１の信号選択部２０５に入力される。信号選択部２０５は、出力信号Ｑ０２から選択信号Ｑ２で指定されるビットを選択して観測信号Ｑ４とし、この観測信号Ｑ４をトリガ検出部１０６のトリガ検出部１０６−１、未転送データ生成部１０８及びデバックデータ転送部２０９に出力する。
【００６５】
また、パラメータ設定部１０４のトリガ条件格納部１０４−１は、格納しているトリガ条件設定信号Ｑ１をトリガ検出部１０６−１に出力する。トリガ検出部１０６−１は、観測信号Ｑ４とトリガ条件設定信号Ｑ１が示すトリガ条件とを比較し（ステップＳ３４）、トリガ発生したか否かを検出する（ステップＳ３５）。
【００６６】
ここで、トリガが発生していないと判断されると（ステップＳ３５：Ｎｏ）、再びステップＳ３４のトリガ検出工程に戻って、観測信号Ｑ４がトリガ条件に一致したか否かを再び検出する。一方、トリガ条件に一致したと判定された場合（ステップＳ３５：Ｙｅｓ）は、以下の信号トレース処理を行う（ステップＳ３６）。
【００６７】
先ず、信号トレース処理（ステップＳ３６）においては、アクセス監視部２０７が、ＦＩＦＯ＿ＦＵＬＬ信号Ｑ１６を受け取り、このＦＩＦＯ＿ＦＵＬＬ信号Ｑ１６に応じて、ＦＩＦＯ部２１０のＦＩＦＯの空き状況、すなわち、空きかあるか否かを判断する（ステップＳ５１）。ＦＩＦＯ＿ＦＵＬＬ信号Ｑ１６とは、例えば１ビットの信号であれば、ＦＩＦＯが一杯であるときがＨｉｇｈ、空きがある場合はＬｏｗ等の信号である。
【００６８】
ＦＩＦＯ部２１０のＦＩＦＯに空きがない場合（ステップＳ５１：Ｙｅｓ）は、アクセス監視部２０７は、ＢＵＳＹ信号Ｑ７を生成して未転送データ生成部１０８及びデバックデータ転送部２０９に出力する。未転送データ生成部１０８は、観測信号Ｑ４を転送できないデータ転送不可期間のサイクル数をカウントしたカウント値と、データ転送不可期間前後で信号の変化があった否かを示す不一致フラグＱ１０とを含む未転送データ情報信号Ｑ１１を生成する（ステップＳ５２）。
【００６９】
一方、ＦＩＦＯ部２１０のＦＩＦＯに空きがある場合は、デバッグデータ転送部２０９が、観測信号Ｑ４を選択してデバッグデータとしてメモリ１２１への転送を行う。
【００７０】
本実施の形態における信号トレース処理処理（ステップＳ３６）の動作は、ＦＩＦＯ部２１０のＦＩＦＯの空き状況によって、ＢＵＳＹ信号が無効の（ＦＩＦＯ空き有り）場合（以下、第１サイクルＰ１１ともいう。）と、ＢＵＳＹ信号が有効の（ＦＩＦＯ一杯）場合（以下、第２サイクルＰ１２ともいう。）と、ＢＵＳＹ信号が有効から無効（ＦＩＦＯ一杯→空き有り）に切り替わる場合（以下、第３サイクルＰ１３ともいう。）と、切り替え後の次のサイクルの４つの場合（以下、第４サイクルＰ１４ともいう。）に分類される。以下ではこれら４つの場合の動作については実施構成１と同様であるため省略する。
【００７１】
ＦＩＦＯ部２１０からデバッグ対象回路２０３への出力動作では、ＦＩＦＯにデータがある場合で転送可能状態、ＦＩＦＯにデータがある場合で転送不可状態、ＦＩＦＯにデータがない状態の３通り発生する。
【００７２】
先ず、ＦＩＦＯ部２１０にデータがある場合でかつ転送可能状態では、ＦＩＦＯ部２１０からアドレス信号Ｑ１３を取り出し、デバッグ対象回路２２０へ出力する。ここでＦＩＦＯ部２１０のＦＩＦＯが一杯状態から空き有り状態となる場合は、ＦＩＦＯ＿ＦＵＬＬ信号Ｑ１６を有効から無効に変更する。また、デバッグ制御回路２２０内のメモリ１２１が一杯（Ｆｕｌｌ）状態の場合（ステップＳ３７：Ｙｅｓ）は、メモリ１２１への転送を終了し（ステップＳ３８）、ＦＩＦＯを初期化する。
【００７３】
次に、ＦＩＦＯ部２１０にデータがある場合で転送不可状態では、ＦＩＦＯからの読み出しは行われず、ＦＩＦＯに空きがない場合は、ＦＩＦＯ＿ＦＵＬＬ信号Ｑ１６を有効にする。
【００７４】
最後に、ＦＩＦＯ部２１０にデータがない場合は、ＦＩＦＯからの読み出しは行われない。
【００７５】
信号トレース処理（ステップＳ３６）が終了すると、メモリ１２１のデータ容量に空きがあるかを判断する（ステップＳ３７）。空きがある場合（ステップＳ２７：Ｎｏ）は、信号トレース処理（ステップＳ３６）の最初の工程に戻り、次の時間におけるライトデータＱ１５のライトを行う。メモリ１２１のデータ容量に空きがない場合は、トレース完了となり（ステップＳ３８）、デバッグデータ転送部２０９からメモリ１２１への転送を終了する（ステップＳ３８）。
【００７６】
トレース完了後、デバッグ対象回路２２０を停止し（ステップＳ３９）、その後、ＣＰＵ等の外部制御装置１１０がメモリ１２１へ格納したライトデータＱ１５を読み出し（ステップＳ４０）、デバッグ制御回路２０１を停止し（ステップＳ４１）、処理を終了する。
【００７７】
本発明の実施の形態２においては、通常動作におけるメモリ１２１へのアクセスＡ１とデバッグ動作におけるメモリ１２１へのアクセスＡ２が同時に発生する場合でも、通常動作におけるアクセスを優先することで通常動作のタイミングに影響を及ぼさないで観測信号Ｑ４の格納を継続することが可能である。メモリ１２１への転送可否が頻繁に切り替わる場合においては、転送可能状態を継続することが可能となり、ライトデータＱ１５として観測信号Ｑ４が転送できず未転送データ情報信号Ｑ１１を転送する回数を減らすことができる。
【００７８】
［本発明の実施の形態３の構成］
次に、発明を実施するための実施の形態３について図面を参照して詳細に説明する。本実施の形態は、実施の形態１の変形例であり、未転送データ生成部１０８の内部構成が実施の形態１と異なる。その他の構成要素については実施の形態１と同様である。
【００７９】
図９は、本実施の形態にかかる未転送データ生成部３０８を示す図である。図９に示すように、サイクルカウンタ部３０８−１と、ビット選択部３０８−４と、観測信号比較部３０８−２と、フラグ生成部３０８−４とを備えている。
【００８０】
サイクルカウンタ部３０８−１は、実施の形態１のサイクルカウンタ部１０８−１と同様の機能を有する。すなわち、ＢＵＳＹ信号Ｑ７が入力されるとこの期間をカウントすることで、メモリアクセスＡ１、Ａ２が重なり観測信号Ｑ４をデータ転送できないデータ転送不可期間のサイクル数をカウントする。そして、サイクルカウンタ部３０８−１は、カウント結果のカウント値Ｑ８を、観測信号比較部３０８−２に出力する共に、未転送データ通知信号Ｑ１１の一部として、後段のデバックデータ転送部３０９に出力する。さらに、サイクルカウンタ部３０８−１は、ＢＵＳＹ信号Ｑ７がデータ転送不可期間を示す（例えばＢＵＳＹ信号がＨｉｇｈ）の場合は、未転送データイネーブル信号Ｑ１２を有効（例えばＨｉｇｈ）としてデバックデータ転送部に出力する。
【００８１】
ビット選択部３０８−４は、パラメータ設定部１０４の比較条件格納部１０４−３から比較信号選択信号Ｑ３が入力され、信号選択部１０５から観測信号Ｑ４が入力される。そして、ビット選択部３０８−４は、観測信号Ｑ４の中から比較信号選択信号Ｑ３により指定される所定の位置のビットを選択し、観測信号比較部３０８−２で比較する比較信号Ｑ４３を抽出する。ここで、観測信号比較部３０８−２は、選択するビット数（比較信号Ｑ４３のビット数）をｎ、メモリ１２１のビット幅をｓ、サイクルカウンタ部３０８−１が出力するカウント値Ｑ８のビット幅をｍとすると、ｎ≦ｓ−ｍとなるようなビット数ｎの比較信号Ｑ４３を生成する。
【００８２】
観測信号比較部３０８−２は、メモリアクセスＡ１、Ａ２が重なり、観測信号Ｑ４をデータ転送できないデータ転送不可期間おいて、データ転送不可期間となる直前の観測信号Ｑ４から指定ビット数選択され生成された比較信号Ｑ４３１と、データ転送不可期間中の観測信号Ｑ４から指定ビット数選択され生成された比較信号Ｑ４３２とをビット毎に比較する。そして、その結果を比較結果Ｑ９としてビット選択部３０８−４へ出力する。
【００８３】
フラグ生成部３０８−４は、観測信号比較部３０８−２がビット毎に比較した比較結果Ｑ９に基づき、データ転送不可期間中の比較信号Ｑ４３２が期間直前の比較信号Ｑ４３１と不一致の場合に、不一致フラグＱ１０を例えばＨｉｇｈとし有効にする。フラグ生成部３０８−４は、この不一致フラグＱ１０を、サイクルカウンタ部３０８−１から出力されるカウント値Ｑ８と共に、未転送データ情報信号Ｑ１１としてデバックデータ転送部１０９へ出力する。
【００８４】
本実施の形態３にかかるデバッグ処理システム１００の全体の動作については実施の形態１の動作と同じであるので説明を省略する。本実施の形態３は、実施の形態１と異なり、フラグ生成部３０８−３がビット選択部３０８−４で選択し、観測信号比較部３０８−２で比較するｎビットの全ビット毎に、一致か不一致かを示すｎビットの不一致フラグＱ１０を生成するため、データ転送不可期間に未転送となる未転送データの情報がより詳細となる。本実施の形態３は、上述の実施の形態２にかかるデバッグ処理転送システムにも適用することが可能である。
【００８５】
［本発明の実施の形態４の構成］
次に、発明の実施の形態４にかかるデバッグ処理システムについて説明する。本実施の形態４は、実施の形態２の変形例であり、未転送データ生成部の内部構成が実施の形態２と異なるが、その他の構成要素については実施の形態２と同様とすることができるため、その詳細な説明は省略する。図１０は、本実施の形態にかかる未転送データ生成部を示すブロック図である。
【００８６】
図１０に示すように、本実施の形態にかかる未転送データ生成部４０８は、サイクルカウンタ部４０８−１と、観測信号比較部４０８−２と、フラグ生成部４０８−３とを有する。カウンタ部４０８−１は、実施の形態１におけるサイクルカウンタ部１０８−１と同様の機能及び動作を有する。
【００８７】
観測信号比較部４０８−２は、信号選択部１０５から観測信号Ｑ４、トリガ検出部１０６から転送イネーブル信号Ｑ６、及びアクセス監視部１０７からＢＵＳＹ信号Ｑ７がそれぞれ入力され、観測信号Ｑ４のデータ転送（観測）が開始され（転送イネーブル信号Ｑ６が例えばＨｉｇｈ）、かつアクセスＡ１、Ａ２が重なり観測信号Ｑ４がデータ転送不可期間（ＢＵＳＹ信号Ｑ７が例えばＨｉｇｈ）に、データ転送不可となる直前の観測信号Ｑ４１とデータ転送不可期間中の観測信号Ｑ４２とを比較する。本実施の形態にかかる観測信号比較部４０８−２は、実施の形態１と異なり、観測信号Ｑ４の全ビットをビット毎に比較し、各ビットの全比較結果を比較結果Ｑ９としてフラグ生成部４０８−３へ出力する。
【００８８】
なお、上述したように、本実施の形態においては、データ転送不可となる直前の観測信号Ｑ４と比較するものとして説明しているが、例えば観測信号Ｑ４が予め予想された値となる場合は当該予想値（期待値）と比較してもよいし、データ転送が可能なデータ転送可能期間中の任意又は所定のタイミングの観測信号Ｑ４と比較した結果により、データ転送不可期間中の観測信号Ｑ４の再取得の要・不要が判定できる場合は、任意又は所定のタイミングの観測信号Ｑ４と比較するようにしてもよい。
【００８９】
フラグ生成部４０８−３は、観測信号比較部４０８−２から受け取った比較結果Ｑ９を参照し、データ転送不可期間の前後で観測結果が不一致のときにフラグを有効にする（例えばＨｉｇｈにする）、すなわち不一致フラグＱ１０とする。このとき、フラグ生成部４０８−３は、全ビットのビット毎の一致又は不一致を示す不一致フラグＱ１０を生成する。観測信号Ｑ４がｓビット（ｓは整数）であれば、比較結果Ｑ９もｓビットであり、不一致フラグＱ１０もｓビットの信号となる。このフラグ生成部４０８−３はデバックデータ転送部１０９と接続され、サイクルカウンタ部４０８−１からのカウント値Ｑ８と共に、不一致フラグＱ１０を未転送データ情報信号Ｑ１１としてデバックデータ転送部１０９に出力する。
【００９０】
本実施の形態においても、上述の実施の形態１と同様の効果を奏する。さらに、観測信号Ｑ４の全ビットを比較するため、実施の形態１で使用した比較信号選択信号Ｑ３が不要となる。よって、比較条件格納部１０４−３も不要となる。そして、観測信号Ｑ４が多ビットである場合に全ビット比較した結果を不一致フラグＱ１０として出力するため、より詳細な観測信号Ｑ４の観測が可能となる。
【００９１】
［本発明の実施の形態５の構成］
次に、発明の実施の形態５にかかるデバッグ処理システムについて説明する。図１１は、本実施の形態にかかるデバッグ制御回路５０１を示すブロック図である。図１１に示すように、本実施の形態５におけるデバッグ制御回路５０１は、実施の形態１におけるデバック制御回路１０１の変形例であり、実施の形態１におけるパラメータ設定部１０４に対応するパラメータ設定部５０４に、時間条件格納部５０４−４が追加され、実施の形態１におけるトリガ検出部１０６に対応するトリガ検出部５０６の構成が異なるものとなっている。その他のパラメータ設定部５０４、信号選択部５０５、アクセス監視部５０７及びデバッグデータ転送部５０９は、それぞれ図１に示すパラメータ設定部１０４、信号選択部１０５、アクセス監視部１０７、未転送データ生成部１０８及びデバッグデータ転送部１０９の構成と同様である。
【００９２】
図１２は、本実施の形態におけるトリガ検出部５０６を示すブロック図である。図１２に示すように、本実施の形態におけるトリガ検出部５０６は、トリガ検出部５０６−１と、タイマーカウンタ５０６−３と、タイミング比較部５０６−４と、イネーブル生成部５０６−２とを有する。
【００９３】
トリガ検出部５０６−１は、信号選択部１０５からの観測信号Ｑ４とトリガ条件格納部１０４−１からのトリガ条件設定信号Ｑ１が示すトリガ条件とを比較し、両者が一致すると、これを通知するトリガパルスＱ５を生成してタイマーカウンタ５０６−２へ出力する。
【００９４】
タイマーカウンタ５０６−３は、トリガパルスＱ５を基準に動作するカウンタである。タイマーカウンタ５０６−３は、トリガパルスＱ５が入力されるとカウントを開始し、そのカウント結果であるカウンタ値Ｑ１９をタイミング比較部５０６−４へ出力する。
【００９５】
タイミング比較部５０６−４は、時間条件格納部５０４−４からのタイミング情報Ｑ１８と、タイマーカウンタ５０６−２からのカウンタ値Ｑ１９とを比較し、両者が一致する、すなわち、トリガ条件が成立した後、タイミング情報Ｑ１８が示すカウント値のカウントが経過したタイミングで観測開始を示す観測開始パルスＱ２０を生成する。そして、このタイミング比較部５０６−４は、生成した観測開始パルスＱ２０をイネーブル生成部５０６−２へ出力する。
【００９６】
イネーブル生成部５０６−２は、タイミング比較部５０６−３からの開始パルスＱ２０から、観測信号Ｑ４をメモリ１２１に転送するためのデバッグ処理開始を指示する転送イネーブル信号Ｑ６を生成する。そして、イネーブル生成部５０６−２は、生成した転送イネーブル信号Ｑ６を未転送データ生成部１０８及びデバッグデータ転送部１０９へ出力する。
【００９７】
［本発明の実施の形態５の動作］
次に、本実施の形態にかかるデバッグ制御システムの全体の動作について詳細に説明する。図１３は、本実施の形態にかかるデバッグ制御システムにおけるデバッグ制御回路５０１の動作を示すフローチャートである。
【００９８】
図１３に示すように、先ず、ＣＰＵ等の外部制御装置１１０からバラメータ設定部５０４に対し、デバッグ制御の開始条件となるトリガ条件設定信号Ｑ１、観測信号選択信号Ｑ２、比較信号選択信号Ｑ３、及びタイミング情報Ｑ１８を含むレジスタ制御信号Ｑ０１が入力される。トリガ条件設定信号Ｑ１とは、デバッグ信号の観測を開始するための条件を有する信号であり、例えば観測信号Ｑ４がトリガ条件設定信号Ｑ１とが一致するとき、デバッグ処理における観測信号が開始される。観測信号選択信号Ｑ２とは、デバッグ処理を行うために、出力信号Ｑ０２から必要な信号を選択するための設定を示し、例えば出力信号Ｑ０２が多ビットであるとき、その中の特定のビット信号を選択して観測信号Ｑ４を抽出するための設定である。比較信号選択信号Ｑ３とは、メモリアクセスＡ１、Ａ２が重なり観測信号Ｑ４をデータ転送できないデータ転送不可期間に、未転送データ生成部５０８が転送不可となる直前の観測信号Ｑ４とデータ転送不可期間中の観測信号Ｑ４とを比較するが、例えば観測信号Ｑ４が多ビットである場合に特定のビットのみを比較する。比較信号選択信号Ｑ３とは、この場合に比較するビットを指定するための設定である。タイミング情報Ｑ１８とは、トリガ条件成立後、観測信号Ｑ４の観測を開始、すなわち観測信号取得開始を、所定の時間遅延させるための設定であり、タイミング情報Ｑ１８が指定するカウンタ値だけ遅延したタイミングでデバッグのための観測信号Ｑ４観測が開始される。
【００９９】
レジスタ制御信号Ｑ０１により入力されたそれぞれトリガ条件設定信号Ｑ１、観測信号選択信号Ｑ２、比較信号選択信号Ｑ３及びタイミング情報Ｑ１８は、トリガ条件格納部１０４−１、信号選択格納部１０４−２、比較条件格納部１０４−３、及び時間条件格納部５０４−４にそれぞれ格納される（ステップＳ６１）
【０１００】
次に、デバッグ制御回路５０１を起動し（ステップＳ６２）、その後、デバッグ対象回路５２０を起動する（ステップＳ６３）。デバッグ対象回路５２０が起動されると、トリガ検出部５０６の条件検出部５０６−１は、信号選択部５０５で選択した観測信号Ｑ４とパラメータ設定部５０４のトリガ条件格納部１０４−１に格納されているトリガ条件設定信号Ｑ１で指定されるトリガ条件とを比較し（ステップＳ６４）、トリガ発生状態であるか否か判断する（ステップＳ６５）。
【０１０１】
トリガが発生していない場合は、ステップＳ６４に戻り、トリガ条件に一致するまで比較動作を続ける。一方、観測信号Ｑ４がトリガ条件に一致した場合は、タイマーカウンタ５０６−３のカウンタを開始してカウンタ値Ｑ１９をタイミング比較部５０６−４へ入力する。タイミング比較部５０６−４は、パラメータ設定部５０４の時間条件格納部５０４−４からのタイミング情報Ｑ１８が指定する時間と、イネーブル生成部５０６−２からのカウンタ値とを比較し（ステップＳ６６）、これが一致するタイミング条件を検出する（ステップＳ６７）。
【０１０２】
タイミング比較部５０６−４は、タイミングが不一致の場合は、ステップＳ６６に戻り、タイミングが一致するまでタイミング条件検出を行う（ステップＳ６６）。一方、タイミング比較部５０６−４が、カウンタ値とタイミング情報Ｑ１８で指定される時間の一致（イミングの一致）を検出した場合、信号トレースを開始させるため、観測開始パルスＱ２０によりタイミングの一致をイネーブル生成部５０６−２に通知し、イネーブル生成部５０６−２がこの観測開始パルスＱ２０を受け取ると、（ステップＳ７０）、観測信号Ｑ４のトレースを開始させる転送イネーブル信号Ｑ６を生成して未転送データ生成部５０８及びデバッグデータ転送部５０９へ入力する。これにより、信号トレース処理Ｓ６が開始する。ここで、本実施の形態における信号トレース処理Ｓ６は、図５に示す実施の形態１と同様の処理を行う。
【０１０３】
そして、信号トレース処理（ステップＳ６）が終了すると、例えばデバッグデータ転送部５０９がメモリ１２１のデータの空き容量が十分であるか否かを判断する（ステップＳ７１）。空き容量が十分である場合は、信号トレース処理（ステップＳ６）に戻り、次のタイミングにおける観測信号Ｑをメモリ１２１に書き込む。一方、メモリ１２１の空き容量が十分ではないと判断した場合（ステップＳ７１：Ｙｅｓ）は、トレース処理Ｓ６は完了となり、デバッグデータ転送部５０９からメモリ１２１へのライトデータＱ１５の転送を終了する（ステップＳ７２）。
【０１０４】
トレース処理Ｓ６の完了後、デバッグ対象回路５２０を停止し（ステップＳ７３）、その後、メモリ１２１へ格納したライトデータＱ１５、をＣＰＵ等の外部制御装置５１０へ読み出す（ステップＳ７４）。ここで、ライトデータＱ１５には、観測信号Ｑ４の他、データ転送不可期間を有した場合は未転送データ情報信号Ｑ１１等も含まれる。
【０１０５】
デバッグ対象回路５２０は、メモリ１２１に書き込まれたライトデータＱ１５に、未転送データ情報信号Ｑ１１が含まれるか否か、未転送データ情報信号Ｑ１１が含まれる場合は、データ転送不可期間に観測が必要なデータが含まれていたか否かをチェックし、これによりデバッグ処理を再度実行して観測信号Ｑ４の再取得が否かを判断する（ステップＳ７５）。すなわち、データ転送不可期間に、本来観測が必要であった観測信号Ｑ４が含まれていた場合は、観測信号Ｑ４を再取得が必要となる。この場合、再取得する観測信号Ｑ４は、データ転送不可期間だった期間のみでよい。したがって、外部制御装置５１０は、前回データ転送不可期間となった、再取得が必要な箇所から観測データをトレースするための時間条件を設定する（ステップＳ６８）。具体的には、レジスタ制御信号Ｑ０１に含まれるタイミング情報Ｑ１８にこの時間条件を設定し、パラメータ設定部５０４の時間条件格納部５０４−４に格納する。その後、ステップＳ６２からの処理を繰り返すことで、前回データ転送不可期間であった期間の観測信号Ｑ４の再取得を実施する。なお、再取得が不要の場合は、デバッグ制御回路５０１を停止し（ステップＳ７６）、デバッグ処理を終了する。
【０１０６】
本実施の形態においては、データ転送不可期間における未転送データについて、デバッグ処理に必要な信号が含まれている場合は、再取得が必要なタイミングを指定して、未転送データ部分の観測信号を再取得することが可能となる。また、時間条件格納部５０４−４に格納するタイミング情報Ｑ１８が指定する時間条件により、デバッグ処理において観測信号Ｑ４のトレース開始タイミングを自由に設定することができる。また、この時間条件を変更することで、例えば前回のトレース時にメモリ１２１が一杯になり、デバッグ処理が中断した場合には、次回デバッグ処理時には、前回トレース済みであった観測信号の取得（トレース）は行わず、メモリ１２１が前回一杯になったタイミング以降の観測信号のみをトレースすることが可能となり、デバッグ処理を更に効率よく行うことができる。
【０１０７】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【０１０８】
例えば、上述の実施の形態１に、実施の形態２乃至５のいずれか１以上を組み合わせることが可能である。さらに、上述の実施の形態では、ハードウェアの構成として説明したが、これに限定されるものではなく、任意の処理を、ＣＰＵ（Central Processing Unit）にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（random access memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【０１０９】
さらにまた、本願発明の観点は以下のように捉えることもできる。
（付記１）
デバッグ対象回路からのデバッグのための観測信号を取得し、当該デバッグ対象回路内のメモリに当該観測信号を格納するデバッグ制御回路であって、
前記デバッグ制御回路外の外部メモリへのアクセスの競合を監視するアクセス監視部と、
前記アクセス監視部が前記外部メモリへのアクセスが競合すると判定した場合に、当該アクセスが競合する期間をデータ転送不可期間とし、当該データ転送不可期間の観測信号の再取得の要否を判定するための未転送データ情報を生成する未転送データ生成部と、
前記データ転送許可期間には観測信号を、前記データ転送不可期間には前記未転送データ情報をデバッグデータとして前記外部メモリに転送するデータ転送部とを有するデバッグ制御回路。
（付記２）
前記未転送データ生成部は、前記データ転送不可期間が開始する直前の観測信号と、前記データ転送不可期間の観測信号とを比較し、前記未転送データ情報を生成する
付記１記載のデバッグ制御回路。
（付記３）
前記未転送データ生成部は、前記データ転送許可期間の観測信号と、前記データ転送不可期間の観測信号とが一致するか否かを前記未転送データ情報として生成する
付記１又は２項記載のデバッグ制御回路。
（付記４）
前記未転送データ生成部は、前記観測信号の全ビット又は所定ビットの比較結果を前記未転送データ情報として生成する
付記１乃至３のいずれか１項記載のデバッグ制御回路。
（付記５）
前記観測信号及び／又は前記未転送データ情報を一時的に格納する内部メモリを有する
付記１乃至５のいずれか１項記載のデバッグ制御回路。
（付記６）
前記内部メモリは、前記外部メモリへのアクセスが競合した場合に前記観測信号を一時的に格納し、
前記未転送データ生成部は、前記外部メモリへのアクセスが競合し、かつ前記内部メモリに前記観測信号が格納できない期間を前記データ転送不可期間として前記未転送データ情報を生成する
付記記５載のデバッグ制御回路。
（付記７）
前記未転送データ生成部は、
前記データ転送許可期間の観測信号と前記データ転送不可期間の観測信号とを比較する信号比較部と、
前記信号比較部が比較した結果、前記データ転送許可期間の観測信号と前記データ転送不可期間の観測信号とが一致しない場合に不一致フラグを生成するフラグ生成部とを有し、
前記未転送データ情報には、前記不一致フラグが含まれる
付記１乃至６のいずれか１項記載のデバッグ制御回路。
（付記８）
前記未転送データ生成部は、
前記データ転送不可期間の時間情報を生成するカウンタを有し、
前記未転送データ情報には、前記時間情報が含まれる
付記１乃至７のいずれか１項記載のデバッグ制御回路。
（付記９）
前記観測信号とデバッグ開始を指定するトリガ条件とを比較し、当該観測信号の格納タイミングを決定するトリガ検出部をさらに備える
付記１乃至９のいずれか１項記載のデバッグ制御回路。
（付記１０）
前記トリガ検出部は、前記観測信号と前記トリガ条件とを比較し、前記観測信号が前記トリガ条件に一致したタイミングの検出後、所定時間遅延させたタイミングで当該観測信号の前記格納タイミングを決定する
付記９記載のデバッグ制御回路。
（付記１１）
前記トリガ検出部は、
前記観測信号から前記トリガ条件を検出する条件検出部と、
前記条件検出部が前記観測信号から前記トリガ条件を検出したタイミング以降の時間をカウントするタイマーカウンタと、
前記タイマーカウンタのカウント値が所定遅延時間に一致するタイミングを検出するタイミング比較部と、
前記タイミング比較部が検出したタイミングで前記観測信号の格納開始を指示する開始信号を生成するイネーブル生成部とを有する
付記９又は１０記載のデバッグ制御回路。
（付記１２）
前記外部メモリは、前記デバッグ対象回路内に備えられている
付記１乃至１１のいずれか１項記載のデバッグ制御回路。
（付記１３）
デバッグ対象回路からのデバッグのための観測信号を取得し、当該デバッグ対象回路内のメモリに当該観測信号を格納するデバッグ制御方法であって、
前記デバッグ制御回路外の外部メモリへのアクセスの競合を監視するアクセス監視工程と、
前記アクセス監視工程にて前記外部メモリへのアクセスが競合すると判定された場合に、当該アクセスが競合する期間をデータ転送不可期間とし、当該データ転送不可期間の観測信号の再取得の要否を判定するための未転送データ情報を生成する未転送データ生成工程と、
前記データ転送許可期間には観測信号を、前記データ転送不可期間には前記未転送データ情報をデバッグデータとして前記外部メモリに転送するデータ転送工程とを有するデバッグ制御方法。
（付記１４）
デバッグ対象回路からのデバッグのための観測信号を取得し、当該デバッグ対象回路内のメモリに当該観測信号を格納する動作をコンピュータに実行させるためのプログラムであって、
前記デバッグ制御回路外の外部メモリへのアクセスの競合を監視するアクセス監視処理と、
前記アクセス監視処理で前記外部メモリへのアクセスが競合すると判定された場合に、当該アクセスが競合する期間をデータ転送不可期間とし、当該データ転送不可期間の観測信号の再取得の要否を判定するための未転送データ情報を生成する未転送データ生成処理と、
前記データ転送許可期間には観測信号を、前記データ転送不可期間には前記未転送データ情報をデバッグデータとして前記外部メモリに転送するデータ転送処理とを有するプログラム。
【符号の説明】
【０１１０】
１００  デバッグ処理システム
１０１  デバック制御回路
１０４  パラメータ設定部
１０４−１  トリガ条件格納部
１０４−２  信号選択格納部
１０４−３  比較条件格納部
１０５  信号選択部
１０６  トリガ検出部
１０６−１  トリガ検出部
１０６−２  イネーブル生成部
１０７  アクセス監視部
１０８  未転送データ生成部
１０８−１  サイクルカウンタ部
１０８−２  観測信号比較部
１０８−３  フラグ生成部
１０９  デバッグデータ転送部
１０９−１  アドレス生成部
１０９−２  データ選択部
１１０  外部制御装置
１２０  デバッグ対象回路
１２１  メモリ
１２２  メモリ制御部
１２３  機能ブロック
２００  デバッグ処理システム
２０１  デバッグ制御回路
２０７  アクセス監視部
２０９  デバックデータ転送部
２１０  ＦＩＦＯ部
２２０  デバッグ対象回路
２２２  メモリ制御部
５００  デバッグ処理システム
５０１  デバッグ制御回路
５０４  パラメータ設定部
５０４−４  時間条件格納部
５０５  信号選択部
５０６  トリガ検出部
５１０  外部制御装置
５２０  デバッグ対象回路
Ｑ０１  レジスタ制御信号
Ｑ０２  出力信号
Ｑ０３  転送可否判別信号
Ｑ１  トリガ条件設定信号
Ｑ２  観測信号選択信号
Ｑ３  比較信号選択信号
Ｑ４  観測信号
Ｑ５  トリガパルス
Ｑ６  転送イネーブル信号
Ｑ７  ＢＵＳＹ信号
Ｑ８  カウント値
Ｑ９  比較結果
Ｑ１０  不一致フラグ
Ｑ１１  未転送データ情報信号
Ｑ１２  未転送データイネーブル信号
Ｑ１３  アドレス信号
Ｑ１４  ライトイネーブル信号
Ｑ１５  ライトデータ
Ｑ１６  ＦＩＦＯ＿ＦＵＬＬ信号
Ｑ１７  デバッグデータ
Ａ１００  デバッグ処理システム
Ａ０１  デバッグ制御回路
Ａ０４  パラメータ設定部
Ａ０５  信号選択部
Ａ０６  トリガ検出部
Ａ０７  アドレス生成部
Ａ０８  ＦＩＦＯ部
Ａ０１０  外部制御装置
Ａ０２０  デバッグ対象回路
Ａ０２１  メモリ
Ａ０２２  メモリ制御部
Ａ０２３  機能ブロック
ｑ０１  レジスタ制御信号
ｑ０２  出力信号
ｑ０３  転送可否判別信号
ｑ１  トリガ条件設定信号
ｑ２  観測信号選択信号
ｑ４  観測信号
ｑ６  転送イネーブル信号
ｑ１３  アドレス信号
ｑ１４  ライトイネーブル信号
ｑ１５  ライトデータ
ｑ１６  ＦＩＦＯ＿ｆｕｌｌ信号
【図１】
2014142820.tif 000003
【図２】
2014142820.tif 000004
【図３】
2014142820.tif 000005
【図４】
2014142820.tif 000006
【図５】
2014142820.tif 000007
【図６】
2014142820.tif 000008
【図７】
2014142820.tif 000009
【図８】
2014142820.tif 000010
【図９】
2014142820.tif 000011
【図１０】
2014142820.tif 000012
【図１１】
2014142820.tif 000013
【図１２】
2014142820.tif 000014
【図１３】
2014142820.tif 000015
【図１４】
2014142820.tif 000016