(57)【要約】【課題】  比較的簡単な構成で、割込コントローラーの上流側における複数の割込信号の発生状態を時系列的に連続してトレースすることを可能にするＩＣチップを得る。【解決手段】  ＩＣチップ１において、割込コントローラー１４は、複数の処理モジュール１３から出力される割込信号を１つずつ順番に選択し、選択した割込信号をＣＰＵ１１に入力する。監視回路２１は、複数の処理モジュール１３から割込コントローラー１４へ出力される割込信号を検出し、割込信号の検出情報をデータパケットとして出力する。デバックインターフェイス２２は、ＣＰＵ１１から出力されるトレースデータのデータパケットとともに、監視回路２１から出力されるデータパケットを外部のデバッグ装置２へ出力する。【選択図】  図１
2016091278.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサーと、
複数の処理モジュールと、
前記複数の処理モジュールから出力される割込信号を１つずつ順番に選択し、選択した割込信号を前記プロセッサーに入力する割込コントローラーと、
前記複数の処理モジュールから前記割込コントローラーへ出力される割込信号を検出し、前記割込信号の検出情報をデータパケットとして出力する監視回路と、
前記プロセッサーから出力されるトレースデータのデータパケットとともに、前記監視回路から出力される前記データパケットを外部のデバッグ装置へ出力するデバックインターフェイスと、
を備えることを特徴とするＩＣチップ。
【請求項２】
前記監視回路は、前記データパケットにタイムスタンプを付し、前記タイムスタンプを付したデータパケットを出力することを特徴とする請求項１記載のＩＣチップ。
【請求項３】
所定時間ごとにカウントアップしていく内部カウンターをさらに備え、
前記監視回路は、前記内部カウンターの値を前記タイムスタンプとして前記データパケットに付すこと、
を特徴とする請求項２記載のＩＣチップ。
【請求項４】
前記外部のデバッグ装置において前記デバックインターフェイスから出力されるデータパケットの中から前記監視回路から出力された前記データパケットを特定可能な識別子が、前記監視回路から出力された前記データパケットに付されていることを特徴とする請求項１から請求項３のうちのいずれか１項記載のＩＣチップ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＣチップに関するものである。
【背景技術】
【０００２】
プロセッサーを内蔵したシステムＬＳＩ（Large Scale Integrated circuit）などのＩＣ（Integrated Circuit）チップをデバックする際に、インサーキットエミュレーター（ＩＣＥ：In-Circuit Emulator）を使用してトレースおよびデバッグを行うことがある。
【０００３】
インサーキットエミュレーターを使用する場合、一般的に、インサーキットエミュレーターとＩＣチップとの接続およびデータ転送には、ＪＴＡＧ（Joint Test Action Group）インターフェイスや専用インターフェイスなどが使用される。
【０００４】
上述のシステムＬＳＩなどのＩＣチップには、プロセッサーの他に、所定の処理をそれぞれ行う複数の処理モジュールが内蔵されており、各処理モジュールは、プロセッサーとのデータ通信が必要になると、割込信号をプロセッサーへ出力する。このように複数の処理モジュールが割込信号を出力可能である場合、複数の処理モジュールから出力された割込信号からプロセッサーに入力する割込コントローラーが設けられている（例えば特許文献１参照）。
【０００５】
このようなＩＣチップでは、プロセッサーが、割込信号の受け付けおよび割込信号に基づく割込処理の実行をトレースすることで、そのような割込処理を含むプロセッサーの処理のトレースを行うことができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０００−１４８５３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述のＩＣチップにおいて、プロセッサーは、割込処理を実行中に、新たな割込信号を受け付けると、その新たな割り込みの優先度などに応じて、新たな割込処理を待機させたり、実行中の割込処理に対してネストさせて新たな割込処理を実行させたりしている。そのため、複数の処理モジュールからどのような順序で割込信号が出力されたか、どのような順序で複数の処理モジュールからの割込信号が割込コントローラーにより選択されていったかなどの、割込コントローラーの上流側における複数の割込信号の発生状態を時系列的に連続してトレースすることは、デバックのために重要である。
【０００８】
しかしながら、プロセッサーによって、割込コントローラーの上流側における複数の割込信号の発生状態を時系列的に連続してトレースすることは困難である。
【０００９】
また、各処理モジュールの割込信号の状態を示すレジスターを設けておき、プロセッサーの処理を停止させてそのレジスターの値を外部のデバッグ装置で読み出すことも考えられるが、そのようにした場合、ＩＣチップの内部構成が複雑になってしまう。
【００１０】
本発明は、上記の問題に鑑みてなされたものであり、比較的簡単な構成で、割込コントローラーの上流側における複数の割込信号の発生状態を時系列的に連続してトレースすることを可能にするＩＣチップを得ることを目的とする。
【課題を解決するための手段】
【００１１】
本発明に係るＩＣチップは、プロセッサーと、複数の処理モジュールと、前記複数の処理モジュールから出力される割込信号を１つずつ順番に選択し、選択した割込信号を前記プロセッサーに入力する割込コントローラーと、前記複数の処理モジュールから前記割込コントローラーへ出力される割込信号を検出し、前記割込信号の検出情報をデータパケットとして出力する監視回路と、前記プロセッサーから出力されるトレースデータのデータパケットとともに、前記監視回路から出力される前記データパケットを外部のデバッグ装置へ出力するデバックインターフェイスとを備える。
【発明の効果】
【００１２】
本発明によれば、比較的簡単な構成で、割込コントローラーの上流側における複数の割込信号の発生状態を時系列的に連続してトレースすることを可能にするＩＣチップを得ることができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、本発明の実施の形態に係るＩＣチップの構成を示すブロック図である。
【発明を実施するための形態】
【００１４】
以下、図に基づいて本発明の実施の形態を説明する。
【００１５】
図１は、本発明の実施の形態に係るＩＣチップの構成を示すブロック図である。
【００１６】
図１において、ＩＣチップ１には、デバッグ時にインサーキットエミュレーターなどのデバッグ装置２が接続される。
【００１７】
また、ＩＣチップ１は、ＣＰＵ１１と、システムバス１２でＣＰＵ１１に接続された複数の処理モジュール１３と、割込コントローラー１４と、監視回路２１と、デバッグインターフェイス２２とを備える。
【００１８】
ＣＰＵ１１は、プログラムに記述された動作（処理モジュール１３に対するデータ通信、データ処理など）を実行するプロセッサーである。デバッグ時、ＣＰＵ１１は、プログラムの実行中に、トレースデータをデバッグインターフェイス２２に出力する。トレースデータは、トレースに必要な、ＣＰＵ１１で実行される各ステップでの命令、データ値、データアドレス、プログラムカウンターなどのレジスターの値などのデータである。例えば、ＣＰＵ１１は、トレースデータをデータパケット化して出力し、その際、データパケットに、ＣＰＵ１１のトレースデータを示す識別子を付加しておく。
【００１９】
複数の処理モジュール１３は、所定の処理をそれぞれ実行し、ＣＰＵ１１とのデータ通信が必要になると割込信号を出力する内部回路である。
【００２０】
割込コントローラー１４は、複数の処理モジュール１３から出力される割込信号を１つずつ順番に選択し、選択した割込信号をＣＰＵ１１に入力する内部回路である。
【００２１】
監視回路２１は、複数の処理モジュール１３から割込コントローラー１４へ出力される割込信号を検出し、その割込信号の検出情報（割込信号を出力した処理モジュール１３の固有識別子など）をデータパケットとして出力する。
【００２２】
なお、割込信号の検出情報を示すデータパケットは、割込信号の発生順に出力されるようにしてもよい。
【００２３】
この実施の形態では、監視回路２１は、上述のデータパケットにタイムスタンプを付し、そのタイムスタンプを付したデータパケットを出力する。
【００２４】
なお、ＩＣチップ１が、所定時間ごとにカウントアップしていく内部カウンターを内蔵し、監視回路２１は、その内部カウンターの値を上述のタイムスタンプとしてデータパケットに付すようにしてもよい。
【００２５】
デバッグインターフェイス２２は、例えばＪＴＡＧインターフェイスや専用インターフェイスであり、ＣＰＵ１１から出力されるトレースデータのデータパケットとともに、監視回路２１から出力されるデータパケットを外部のデバッグ装置２へ出力する内部回路である。
【００２６】
なお、外部のデバッグ装置２においてデバックインターフェイス２２から出力されるデータパケットの中から、監視回路２１から出力されたデータパケットを特定可能な識別子が、監視回路２１から出力されたデータパケットには、監視回路２１またはデバッグインターフェイス２１において付される。
【００２７】
次に、デバッグ時の上記ＩＣチップ１の動作について説明する。
【００２８】
デバッグ時において、ＣＰＵ１１が、所定のプログラムを実行すると、随時、トレースデータをデバッグインターフェイス２２に出力する。
【００２９】
また、監視回路２１は、処理モジュール１３から割込コントローラー１４への出力される割込信号を検出するたびに、検出情報のデータパケットをデバッグインターフェイス２２に出力する。
【００３０】
デバッグインターフェイス２２は、それらのデータパケットをデバッグ装置２に出力する。デバッグ装置２は、デバッグインターフェイス２２から出力されるデータパケットを受信し、受信したデータパケットから、トレースデータのデータパケットと割込信号の検出情報のデータパケットとをそれぞれ抽出してトレースデータおよび割込信号の時系列的な状態変化を特定し、トレースデータおよび割込信号の時系列的な状態変化に基づいてリアルタイムでトレースおよびデバッグを行う。
【００３１】
以上のように、上記実施の形態によれば、割込コントローラー１４は、複数の処理モジュール１３から出力される割込信号を１つずつ順番に選択し、選択した割込信号をＣＰＵ１１に入力する。監視回路２１は、複数の処理モジュール１３から割込コントローラー１４へ出力される割込信号を検出し、割込信号の検出情報をデータパケットとして出力する。デバックインターフェイス２２は、ＣＰＵ１１から出力されるトレースデータのデータパケットとともに、監視回路２１から出力されるデータパケットを外部のデバッグ装置２へ出力する。
【００３２】
これにより、比較的簡単な構成で、割込コントローラーの上流側における複数の割込信号の発生状態を時系列的に連続してトレースすることが可能となる。ひいては、ＩＣチップ１における複数の割り込みが非同期に同時または連続して発生するような場合においても、デバッグ装置２において効率的なトレースが可能である。
【００３３】
なお、上述の実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
【産業上の利用可能性】
【００３４】
本発明は、例えば、システムＬＳＩに適用可能である。
【符号の説明】
【００３５】
１  ＩＣチップ
２  デバッグ装置
１１  ＣＰＵ（プロセッサーの一例）
１３  処理モジュール
１４  割込コントローラー
２１  監視回路
２２  デバッグインターフェイス
【図１】
2016091278.tif 000003