(57)【要約】【課題】高速なリアルタイムトレースを行うことのできる半導体集積回路装置、デバッグ装置およびデバッグシステムを提供する。【解決手段】半導体集積回路装置１は、入力信号分離部１１が、パラレル入力Ｉ／Ｆ１２０を介してクロック信号ＣＫの半周期単位で入力される信号を、プロセッサ１１０へ入力する通常動作入力信号ａ１と、トレース制御部１４０へ入力するデバッグ制御信号ａ２と、に分離し、出力切り替え部１２が、プロセッサ１１０から出力される通常動作出力信号ｃ１とトレース制御部１４０から出力されるトレース情報ｃ２とを、クロック信号ＣＫの半周期ごとに切り替えて、パラレル出力Ｉ／Ｆ１３０を介して出力する。【選択図】図１
2010176537.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサと、パラレル入力インタフェースと、パラレル出力インタフェースと、前記プロセッサで実行されるプログラムの走行、停止を制御するとともに、前記プロセッサから出力される命令実行情報にもとづいてトレース情報を生成するトレース制御手段と、を有する半導体集積回路装置であって、
前記パラレル入力インタフェースを介してクロック信号の半周期ごとに交互に入力される通常動作入力信号とデバッグ制御信号を、前記プロセッサへ入力する前記通常動作入力信号と前記トレース制御手段へ入力する前記デバッグ制御信号とに分離する入力信号分離手段と、
前記プロセッサから出力される通常動作出力信号と前記トレース制御手段から出力される前記トレース情報とを、前記クロック信号の半周期ごとに切り替えて前記パラレル出力インタフェースを介して出力する出力切り替え手段と
を備えることを特徴とする半導体集積回路装置。
【請求項２】
前記入力信号分離手段が、
前記パラレル入力インタフェースを介して入力される信号をクロックの立ち上りでラッチする第１のラッチと、
前記パラレル入力インタフェースを介して入力される信号をクロックの立ち下りでラッチする第２のラッチと
を備えることを特徴とする請求項１に記載の半導体集積回路装置。
【請求項３】
半導体集積回路装置のデバッグを制御するデバッグ制御信号を生成するとともに、前記半導体集積回路装置から出力されるトレース情報を解析するデバッグ手段を有するデバッグ装置であって、
周辺装置から出力される通常動作入力信号と前記デバッグ手段から出力される前記デバッグ制御信号とを、前記クロック信号の半周期ごとに切り替えて出力する出力切り替え手段と、
前記半導体集積回路装置からクロック信号の半周期ごとに交互に入力される通常動作出力信号と前記トレース情報とを前記周辺装置へ出力する前記通常動作出力信号と前記デバッグ手段へ出力する前記トレース情報とに分離する入力信号分離手段と
を備えることを特徴とするデバッグ装置。
【請求項４】
前記入力信号分離手段が、
前記半導体集積回路装置から入力される信号をクロックの立ち上りでラッチする第１のラッチと、
前記半導体集積回路装置から入力される信号をクロックの立ち下りでラッチする第２のラッチと
を備えることを特徴とする請求項３に記載のデバッグ装置。
【請求項５】
請求項１または２に記載の半導体集積回路装置と、請求項３または４に記載のデバッグ装置とを有するデバッグシステムであって、
前記デバッグ装置の前記出力切り替え手段から出力される信号を前記パラレル入力インタフェースを介して前記半導体集積回路装置へ入力し、
前記半導体集積回路装置の前記出力切り替え手段から出力される信号を前記パラレル出力インタフェースを介して前記デバッグ装置へ出力する
ことを特徴とするデバッグシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路装置、デバッグ装置およびデバッグシステムに関する。
【背景技術】
【０００２】
マイクロコンピュータなどのプログラムにより動作が制御される半導体集積回路装置では、そのプログラムの実行結果を検証するために、デバッグ装置を用いた内部動作の監視が行われる。
【０００３】
そのために、従来、半導体集積回路装置の内部に、プログラムの走行、停止を制御するトレース・イベント・ラン制御回路と、プログラムのデータやそのアドレスおよび各種ステータス信号が格納されるトレースメモリと、を設けたマイクロコンピュータ開発支援装置が提案されている（例えば、特許文献１参照。）。
【０００４】
そのようなトレースメモリが設けられた半導体集積回路装置のリアルタイムデバッグを行う場合、トレースメモリに格納されたデータをデバッグ装置へ高速で転送する必要がある。そのため、上述のマイクロコンピュータ開発支援装置では、トレースメモリに格納されたパラレル形式のトレースデータをシリアルデータに変換し、デバッグ専用に設けられたシリアルインタフェースを介してデバッグ装置へ転送することが行われている。
【０００５】
シリアルデータに変換することにより、デバッグにしか用いられないデバッグ専用端子の増加を抑制することができるが、パラレル転送に比べると単位時間当たりのデータ転送容量が少ないため、半導体集積回路装置の高速化に追随するのが困難、という問題があった。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−２４９８２３号公報  （第３−４ページ、図１）
【発明の概要】
【発明が解決しようとする課題】
【０００７】
そこで、本発明の目的は、高速なリアルタイムトレースを行うことのできる半導体集積回路装置、デバッグ装置およびデバッグシステムを提供することにある。
【課題を解決するための手段】
【０００８】
本発明の一態様によれば、プロセッサと、パラレル入力インタフェースと、パラレル出力インタフェースと、前記プロセッサで実行されるプログラムの走行、停止を制御するとともに、前記プロセッサから出力される命令実行情報にもとづいてトレース情報を生成するトレース制御手段と、を有する半導体集積回路装置であって、前記パラレル入力インタフェースを介してクロック信号の半周期ごとに交互に入力される通常動作入力信号とデバッグ制御信号を、前記プロセッサへ入力する前記通常動作入力信号と前記トレース制御手段へ入力する前記デバッグ制御信号とに分離する入力信号分離手段と、前記プロセッサから出力される通常動作出力信号と前記トレース制御手段から出力される前記トレース情報とを、前記クロック信号の半周期ごとに切り替えて前記パラレル出力インタフェースを介して出力する出力切り替え手段とを備えることを特徴とする半導体集積回路装置が提供される。
【０００９】
また、本発明の別の一態様によれば、半導体集積回路装置のデバッグを制御するデバッグ制御信号を生成するとともに、前記半導体集積回路装置から出力されるトレース情報を解析するデバッグ手段を有するデバッグ装置であって、周辺装置から出力される通常動作入力信号と前記デバッグ手段から出力される前記デバッグ制御信号とを、前記クロック信号の半周期ごとに切り替えて出力する出力切り替え手段と、前記半導体集積回路装置からクロック信号の半周期ごとに交互に入力される通常動作出力信号と前記トレース情報とを前記周辺装置へ出力する前記通常動作出力信号と前記デバッグ手段へ出力する前記トレース情報とに分離する入力信号分離手段とを備えることを特徴とするデバッグ装置が提供される。
【発明の効果】
【００１０】
本発明によれば、高速なリアルタイムトレースを行うことができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施例に係る半導体集積回路装置、デバッグ装置およびデバッグシステムの構成の例を示すブロック図。
【図２】本発明の実施例のデバッグシステムのデバッグモード時の動作の例を示す波形図。
【図３】本発明の実施例のデバッグシステムのデバッグモード時の動作の例を示す波形図。
【図４】本発明の実施例の半導体集積回路装置の通常動作時の動作の例を示す波形図。
【発明を実施するための形態】
【００１２】
以下、本発明の実施例について図面を参照して説明する。
【実施例】
【００１３】
図１は、本発明の実施例に係る半導体集積回路装置、デバッグ装置およびデバッグシステムの構成の例を示すブロック図である。
【００１４】
本実施例のデバッグシステムは、デバッグ対象の半導体集積回路装置１と、半導体集積回路装置１のデバッグ実行の制御およびトレース情報の解析を行うデバッグ装置２と、を有する。
【００１５】
本実施例の半導体集積回路装置１は、例えばマイクロコンピュータであり、プロセッサ１１０を有し、汎用のインタフェース（Ｉ／Ｆ）として、パラレル入力Ｉ／Ｆ１２０およびパラレル出力Ｉ／Ｆ１３０を有している。
【００１６】
また、この半導体集積回路装置１には、デバッグ実行のためのトレース制御部１４０が設けられている。トレース制御部１４０は、プロセッサ１１０で実行されるプログラムの走行、停止を制御するとともに、プロセッサ１１０から出力される命令実行情報ｂ１にもとづいてトレース情報ｃ２を生成する。
【００１７】
本実施例では、このような半導体集積回路装置１に対して、デバッグモード時には、プロセッサ１１０へ入力する通常動作入力信号とトレース制御部１４０へ入力するデバッグ制御信号とが、パラレル入力Ｉ／Ｆ１２０を介して、クロック信号ＣＫの半周期ごとに交互に入力される。
【００１８】
そこで半導体集積回路装置１は、パラレル入力Ｉ／Ｆ１２０から入力される信号を、プロセッサ１１０へ入力する通常動作入力信号ａ１と、トレース制御部１４０へ入力するデバッグ制御信号ａ２と、に分離する入力信号分離部１１を備える。
【００１９】
この入力信号分離部１１は、例えば、クロック信号ＣＫをラッチ信号とするラッチ１１Ａと、クロック信号ＣＫをインバータＩＶ１で反転させた信号をラッチ信号とするラッチ１１Ｂと、により構成されるものとする。
【００２０】
このような入力信号分離部１１において、ラッチ１１Ａは、パラレル入力Ｉ／Ｆ１２０から入力される信号をクロック信号ＣＫの立ち上りでラッチして、プロセッサ１１０へ入力する通常動作入力信号ａ１を出力するものとする。
【００２１】
また、ラッチ１１Ｂは、パラレル入力Ｉ／Ｆ１２０から入力される信号をクロック信号ＣＫの立ち下りでラッチして、トレース制御部１４０へ入力するデバッグ制御信号ａ２を出力するものとする。
【００２２】
このように、本実施例では、デバッグモード時に、パラレル入力Ｉ／Ｆ１２０を介して、プロセッサ１１０への通常動作入力信号ａ１およびトレース制御部１４０へのデバッグ制御信号ａ２が入力され、トレース制御部１４０による、プロセッサ１１０のプログラム実行制御およびトレース情報ｃ２の生成が、行われる。
【００２３】
本実施例では、このトレース制御部１４０で生成されたトレース情報ｃ２を、パラレル出力Ｉ／Ｆ１３０から出力する。その際、プロセッサ１１０から出力される通常動作出力信号ｃ１とトレース情報ｃ２とを、クロック信号ＣＫの半周期ごとに、交互に、パラレル出力Ｉ／Ｆ１３０から出力するようにする。
【００２４】
そのために、半導体集積回路装置１は、プロセッサ１１０から出力される通常動作出力信号ｃ１とトレース制御部１４０から出力されるトレース情報ｃ２とを、クロック信号ＣＫの半周期ごとに切り替えてパラレル出力Ｉ／Ｆ１３０を介して出力する出力切り替え部１２を備える。
【００２５】
この出力切り替え部１２に対する切り替え信号ｓ１は、クロック信号ＣＫを遅延回路Ｄ１で遅延させた信号と、デバッグモード時に‘１’となるデバッグモード信号ＤＢＭと、を入力とするＡＮＤゲートＡＮ１により生成される。
【００２６】
この切り替え信号ｓ１により、遅延回路Ｄ１による遅延を伴って、パラレル出力Ｉ／Ｆ１３０から、クロック信号ＣＫが‘０’のとき、通常動作出力信号ｃ１が出力され、クロック信号ＣＫが‘１’のとき、トレース情報ｃ２が出力される。
【００２７】
次に、本実施例のデバッグ装置２は、デバッグを制御するデバッグ制御信号を生成するとともに、半導体集積回路装置から出力されるトレース情報を解析するデバッグ部２１０を有しており、周辺装置１０００から出力される通常動作入力信号ｄ１とデバッグ部２１０から出力されるデバッグ制御信号ｄ２とを、クロック信号ＣＫの半周期ごとに切り替えて出力する出力切り替え部２１と、半導体集積回路装置からクロック信号の半周期ごとに交互に入力される通常動作出力信号とトレース情報とを、周辺装置１０００へ出力する通常動作出力信号ｅ１とデバッグ部２１０へ出力するトレース情報ｅ２とに分離する入力信号分離部２２と、を備える。
【００２８】
出力切り替え部２１は、クロック信号ＣＫを遅延回路Ｄ２で遅延させた信号とデバッグモード信号ＤＢＭとを入力とするＡＮＤゲートＡＮ１により生成される切り替え信号ｓ２により、遅延回路Ｄ２による遅延を伴って、クロック信号ＣＫが‘０’のとき、通常動作入力信号ｄ１を出力し、クロック信号ＣＫが‘１’のとき、デバッグ制御信号ｄ２を出力する。
【００２９】
入力信号分離部２２は、例えば、クロック信号ＣＫをラッチ信号とするラッチ２２Ａと、クロック信号ＣＫをインバータＩＶ２で反転させた信号をラッチ信号とするラッチ２２Ｂと、により構成されるものとする。
【００３０】
このような入力信号分離部２２において、ラッチ２２Ａは、半導体集積回路装置から入力される信号をクロック信号ＣＫの立ち上りでラッチして、周辺装置１０００へ出力する通常動作出力信号ｅ１を出力するものとする。
【００３１】
また、ラッチ２２Ｂは、半導体集積回路装置から入力される信号をクロック信号ＣＫの立ち下りでラッチして、デバッグ部２１０へ出力するトレース情報ｅ２を出力するものとする。
【００３２】
このデバッグ装置２を用いて、半導体集積回路装置１のプログラム実行動作のデバッグを行う場合、その相互間で次のような信号の入出力を行う。
【００３３】
すなわち、デバッグ装置２の入出力切り替え部２１から出力される信号を半導体集積回路装置１のパラレル入力Ｉ／Ｆ１２０を介して入力信号分離部１１へ入力し、半導体集積回路装置１の出力切り替え部１２から出力される信号をパラレル出力Ｉ／Ｆ１３０を介してデバッグ装置２の入力信号分離部２２へ入力する。
【００３４】
図２および図３に、このデバッグ装置２と半導体集積回路装置１との間の、信号の入出力の様子を波形図で示す。
【００３５】
図２は、デバッグ装置２から半導体集積回路装置１への信号出力の様子を示す。
【００３６】
デバッグ装置２の出力切り替え部２１は、クロック信号ＣＫを遅延させた切り替え信号ｓ２により、周辺装置１０００から出力される通常動作入力信号ｄ１と、デバッグ部２１０から出力されるデバッグ制御信号ｄ２とを、クロック信号ＣＫの半周期ごとに切り替えて出力する。
【００３７】
これにより、通常動作入力信号ｄ１のデータをＤ１、Ｄ２、Ｄ３、Ｄ４、・・・とし、デバッグ制御信号ｄ２のデータをＤＢ１、ＤＢ２、ＤＢ３、ＤＢ４、・・・とすると、出力切り替え部２１の出力信号ｄ３には、クロック信号ＣＫの半周期単位で、データＤ１、ＤＢ１、Ｄ２、ＤＢ２、Ｄ３、ＤＢ３、Ｄ４、ＤＢ４、・・・が出力される。
【００３８】
この出力切り替え部２１の出力信号ｄ３は、半導体集積回路装置１のパラレル入力Ｉ／Ｆ１２０へ入力される。そこで、この出力信号ｄ３を半導体集積回路装置１にとっての入力信号ｄ３とする。
【００３９】
半導体集積回路装置１の入力信号分離部１１は、内蔵するラッチ１１Ａとラッチ１１Ｂにより、この入力信号ｄ３を、プロセッサ１１０へ入力する通常動作入力信号ａ１と、トレース制御部１４０へ入力するデバッグ制御信号ａ２と、に分離する。
【００４０】
このとき、ラッチ１１Ａはクロック信号ＣＫの立ち上りで入力信号ｄ３をラッチするので、その出力の通常動作入力信号ａ１は、周辺装置１０００から出力される通常動作入力信号ｄ１のデータＤ１、Ｄ２、Ｄ３、Ｄ４、・・・となる。
【００４１】
一方、ラッチ１１Ｂはクロック信号ＣＫの立ち下りで入力信号ｄ３をラッチするので、その出力のデバッグ制御信号ａ２は、デバッグ制御信号ｄ２のデータＤＢ１、ＤＢ２、ＤＢ３、ＤＢ４、・・・となる。
【００４２】
このようにして、デバッグ動作モード時には、デバッグ装置２のデバッグ部２１０から出力されるデバッグ制御信号ｄ２が、そのまま、デバッグ制御信号ａ２として、半導体集積回路装置１のトレース制御部１４０へ入力される。
【００４３】
図３は、半導体集積回路装置１からデバッグ装置２への信号出力の様子を示す。
【００４４】
半導体集積回路装置１の出力切り替え部１２は、クロック信号ＣＫを遅延させた切り替え信号ｓ１により、プロセッサ１１０から出力される通常動作出力信号ｃ１とトレース制御部１４０から出力されるトレース情報ｃ２とを、クロック信号ＣＫの半周期ごとに切り替えて出力する。
【００４５】
これにより、通常動作出力信号ｃ１のデータをＡＤ１、ＡＤ２、ＡＤ３、ＡＤ４、・・・とし、トレース情報ｃ２のデータをＴＲ１、ＴＲ２、ＴＲ３、ＴＲ４、・・・とすると、をパラレル出力Ｉ／Ｆ１３０を介して出力される出力切り替え部１２の出力信号ｃ３には、クロック信号ＣＫの半周期単位で、データＡＤ１、ＴＲ１、ＡＤ２、ＴＲ２、ＡＤ３、ＴＲ３、ＡＤ４、ＴＲ４、・・・が出力される。
【００４６】
この出力信号ｃ３はデバッグ装置２にとっての入力信号ｃ３となる。
【００４７】
デバッグ装置２の入力信号分離部２２は、内蔵するラッチ２２Ａとラッチ２２Ｂにより、この入力信号ｃ３を、周辺装置１０００へ出力する通常動作出力信号ｅ１と、デバッグ部２１０へ出力するトレース情報ｅ２と、に分離する。
【００４８】
このとき、ラッチ２２Ａはクロック信号ＣＫの立ち上りで入力信号ｃ３をラッチするので、その出力の通常動作出力信号ｅ１は、プロセッサ１１０から出力される通常動作出力信号ｃ１のデータＡＤ１、ＡＤ２、ＡＤ３、ＡＤ４、・・・となる。
【００４９】
一方、ラッチ２２Ｂはクロック信号ＣＫの立ち下りで入力信号ｃ３をラッチするので、その出力のトレース情報ｅ２は、トレース情報ｃ２のデータＴＲ１、ＴＲ２、ＴＲ３、ＴＲ４、となる。
【００５０】
このようにして、デバッグ動作モード時には、半導体集積回路装置１のトレース制御部１４０から出力されるトレース情報ｃ２が、そのまま、トレース情報ｅ２として、デバッグ装置２のデバッグ部２１０へ入力される。
【００５１】
上述したように、デバッグ時には、半導体集積回路装置１に、デバッグ装置２が接続されて、パラレル入力Ｉ／Ｆ１２０を介したデバッグ制御信号ａ２の入力、およびパラレル出力Ｉ／Ｆ１３０を介したトレース情報ｃ２が行われる。
【００５２】
これに対して、通常動作時は、半導体集積回路装置１は、周辺装置１０００と直接接続され、パラレル入力Ｉ／Ｆ１２０を介した通常動作入力信号ａ１の入力、およびパラレル出力Ｉ／Ｆ１３０を介した通常動作出力信号ｃ１の出力が行われる。
【００５３】
図４に、通常動作モード時（デバッグモード信号ＤＢＭ＝‘０’）の半導体集積回路装置１の入出力の様子を波形図で示す。
【００５４】
通常動作モード時、周辺装置１０００からパラレル入力Ｉ／Ｆ１２０への入力データＤ１、Ｄ２、Ｄ３、Ｄ４、・・・は、入力信号分離部１１のラッチ１１Ａによりクロック信号ＣＫの立ち上りでラッチされ、通常動作入力信号ａ１として、プロセッサ１１０へ入力される。
【００５５】
一方、プロセッサ１１０から出力される通常動作出力信号ｃ１のデータＡＤ１、ＡＤ２、ＡＤ３、ＡＤ４、・・・は、デバッグモード信号ＤＢＭ＝‘０’のときは切り替え信号ｓ１が常に‘０’であるので、出力切り替え部１２から常に出力され、パラレル出力Ｉ／Ｆ１３０を介して出力信号ｃ３のデータＡＤ１、ＡＤ２、ＡＤ３、ＡＤ４、・・・として出力される。
【００５６】
このような本実施例によれば、半導体集積回路装置１の通常の動作を阻害することなく、かつ専用のデバッグ制御信号入力用インタフェースを追加することなく、半導体集積回路装置１内部のトレース制御部１４０へデバッグ制御信号を入力し、トレース制御部１４０を制御することができる。
【００５７】
また、半導体集積回路装置１の通常の動作を阻害することなく、かつ専用のトレース情報出力用インタフェースを追加することなく、半導体集積回路装置１内部のトレース制御部１４０で生成されるトレース情報を外部へ出力することができる。
【００５８】
また、このトレース情報出力のとき、パラレル出力Ｉ／Ｆ１３０を用いるので、従来のシリアル信号出力方式に比べて、単位時間当たりのデータ転送容量を増加させることができる。これにより、トレース情報をリアルタイムで出力させることが可能となる。その結果、従来、出力待ちのトレース情報を格納するために必要であった、トレースメモリを不要とすることができる。
【符号の説明】
【００５９】
１  半導体集積回路装置
１１  入力信号分離部
１１Ａ、１１Ｂ  ラッチ
１２  出力切り替え部
２  デバッグ装置
２１  出力切り替え部
２２  入力信号分離部
２２Ａ、２２Ｂ  ラッチ
ＩＶ１、ＩＶ２  インバータ
ＡＮ１、ＡＮ２  ＡＮＤゲート
Ｄ１、Ｄ２  遅延回路
【図１】
2010176537.tif 000003
【図２】
2010176537.tif 000004
【図３】
2010176537.tif 000005
【図４】
2010176537.tif 000006