JP2000207245A - インサ―キットエミュレ―タ - Google Patents
インサ―キットエミュレ―タInfo
- Publication number
- JP2000207245A JP2000207245A JP11005514A JP551499A JP2000207245A JP 2000207245 A JP2000207245 A JP 2000207245A JP 11005514 A JP11005514 A JP 11005514A JP 551499 A JP551499 A JP 551499A JP 2000207245 A JP2000207245 A JP 2000207245A
- Authority
- JP
- Japan
- Prior art keywords
- trace
- data
- memory
- trace data
- bus
- 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.)
- Pending
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】
【課題】 トレース動作時に、トレースデータのデータ
トラフィック量を減少させ、ホストコンピュータへトレ
ースデータを転送するための時間を減少させることがで
きるインサーキットエミュレータを提供する。 【解決手段】 トレース時に、トレース制御回路101か
ら出力されるトレースデータをデータ圧縮回路102を用
いて圧縮することにより、データトラフィック量を減少
させ、トレースデータをホストコンピュータ2へ高速に
転送し、転送時間を減少させる。
トラフィック量を減少させ、ホストコンピュータへトレ
ースデータを転送するための時間を減少させることがで
きるインサーキットエミュレータを提供する。 【解決手段】 トレース時に、トレース制御回路101か
ら出力されるトレースデータをデータ圧縮回路102を用
いて圧縮することにより、データトラフィック量を減少
させ、トレースデータをホストコンピュータ2へ高速に
転送し、転送時間を減少させる。
Description
【0001】
【発明の属する技術分野】本発明は、圧縮技術を用いた
インサーキットエミュレータに関するものである。
インサーキットエミュレータに関するものである。
【0002】
【従来の技術】近年、インサーキットエミュレーターは
プログラムをデバッグするための装置として用いられて
いる。特にインサーキットエミュレータが持つトレース
機能はマイコン(マイクロコンピュータ)の実行履歴を
残すことができデバッグを行う上で有用な機能である。
プログラムをデバッグするための装置として用いられて
いる。特にインサーキットエミュレータが持つトレース
機能はマイコン(マイクロコンピュータ)の実行履歴を
残すことができデバッグを行う上で有用な機能である。
【0003】以下に、図4,図5を用いて従来のインサ
ーキットエミュレータについて説明する。
ーキットエミュレータについて説明する。
【0004】図4は従来のインサーキットエミュレータ
の一例の構成を示すブロック図であり、2はホストコン
ピュータ、3はマイコン、9はインサーキットエミュレ
ータ、10はトレース部、103はメモリ、101はトレース制
御回路、201はトレース開始フラグ、202はトレースデー
タ転送要求フラグ、501はアドレスバス、502はデータバ
ス、503はメモリアドレスバス、506はメモリデータ出力
バス、507はホストアドレスバス、508はホストデータバ
ス、521はトレースメモリデータ入力バスである。
の一例の構成を示すブロック図であり、2はホストコン
ピュータ、3はマイコン、9はインサーキットエミュレ
ータ、10はトレース部、103はメモリ、101はトレース制
御回路、201はトレース開始フラグ、202はトレースデー
タ転送要求フラグ、501はアドレスバス、502はデータバ
ス、503はメモリアドレスバス、506はメモリデータ出力
バス、507はホストアドレスバス、508はホストデータバ
ス、521はトレースメモリデータ入力バスである。
【0005】図4において、前記従来のインサーキット
エミュレータ9は、命令実行時のアドレスである実行ア
ドレスと、その命令が実行されるときのデータバスの値
とデバッグに必要な信号データとを含む実行データとか
らなるトレースデータをアドレスバス501とデータバス5
02とを介して出力する機能を有するマイコン3と、トレ
ース部10とから構成されている。
エミュレータ9は、命令実行時のアドレスである実行ア
ドレスと、その命令が実行されるときのデータバスの値
とデバッグに必要な信号データとを含む実行データとか
らなるトレースデータをアドレスバス501とデータバス5
02とを介して出力する機能を有するマイコン3と、トレ
ース部10とから構成されている。
【0006】トレース部10は、アドレスバス501とデー
タバス502を介してマイコン3のトレースデータを取り
込む機能と、ホストアドレスバス507をデコードし、ホ
ストデータバス508に従いトレース開始フラグ201と、ト
レースデータ転送要求フラグ202とを設定する機能と、
マイコン3からの実行アドレスおよび実行データを含む
トレースデータをトレースメモリデータ入力バス521へ
出力する機能と、トレースデータをメモリ103に対して
読み書きするためのアドレスをメモリアドレスバス503
へ出力する機能と、トレースデータをメモリデータ出力
バス506を介して読み込む機能と、ホストコンピュータ
2へトレースデータを転送する機能と、メモリアドレス
バス503に出力するアドレスを管理することによりメモ
リ103がいっぱいになったことを検出するとトレース開
始フラグ201をトレース停止状態とする機能を有するト
レース制御回路101を備え、さらに、メモリアドレスバ
ス503の示すアドレスに、トレースメモリデータ入力バ
ス521を介して伝達されるトレースデータを書き込む機
能と、メモリアドレスバス503の示すアドレスからトレ
ースデータをメモリデータ出力バス506へ出力する機能
を有するメモリ103を備えている。
タバス502を介してマイコン3のトレースデータを取り
込む機能と、ホストアドレスバス507をデコードし、ホ
ストデータバス508に従いトレース開始フラグ201と、ト
レースデータ転送要求フラグ202とを設定する機能と、
マイコン3からの実行アドレスおよび実行データを含む
トレースデータをトレースメモリデータ入力バス521へ
出力する機能と、トレースデータをメモリ103に対して
読み書きするためのアドレスをメモリアドレスバス503
へ出力する機能と、トレースデータをメモリデータ出力
バス506を介して読み込む機能と、ホストコンピュータ
2へトレースデータを転送する機能と、メモリアドレス
バス503に出力するアドレスを管理することによりメモ
リ103がいっぱいになったことを検出するとトレース開
始フラグ201をトレース停止状態とする機能を有するト
レース制御回路101を備え、さらに、メモリアドレスバ
ス503の示すアドレスに、トレースメモリデータ入力バ
ス521を介して伝達されるトレースデータを書き込む機
能と、メモリアドレスバス503の示すアドレスからトレ
ースデータをメモリデータ出力バス506へ出力する機能
を有するメモリ103を備えている。
【0007】また、トレース制御回路101は、トレース
開始状態(Low)とトレース停止状態(High)の2つの状態
を示す1ビットのレジスタであるトレース開始フラグ20
1と、トレースデータ転送状態(Low)とトレースデータ転
送停止状態(High)の2つの状態を示す1ビットのレジス
タであるトレースデータ転送要求フラグ202とを備えて
いる。
開始状態(Low)とトレース停止状態(High)の2つの状態
を示す1ビットのレジスタであるトレース開始フラグ20
1と、トレースデータ転送状態(Low)とトレースデータ転
送停止状態(High)の2つの状態を示す1ビットのレジス
タであるトレースデータ転送要求フラグ202とを備えて
いる。
【0008】また、ホストコンピュータ2は、トレース
制御回路101のトレース開始フラグ201,トレースデータ
転送要求フラグ202を設定するためのアドレスをホスト
アドレスバス507へ出力し、かつデータをホストデータ
バス508へ出力する機能と、ホストデータバス508を介し
てトレースデータを読み込む機能とを有し、トレース制
御回路101に接続されている。
制御回路101のトレース開始フラグ201,トレースデータ
転送要求フラグ202を設定するためのアドレスをホスト
アドレスバス507へ出力し、かつデータをホストデータ
バス508へ出力する機能と、ホストデータバス508を介し
てトレースデータを読み込む機能とを有し、トレース制
御回路101に接続されている。
【0009】以上のように構成されたインサーキットエ
ミュレータについて、以下、その動作を、1)トレース
時と、2)トレースデータ転送時に分けて説明する。
ミュレータについて、以下、その動作を、1)トレース
時と、2)トレースデータ転送時に分けて説明する。
【0010】1)トレース時 まず、ホストコンピュータ2からトレース開始フラグ20
1をトレース開始状態にするためのアドレスをホストア
ドレスバス507へ、データをホストデータバス508へと出
力する。
1をトレース開始状態にするためのアドレスをホストア
ドレスバス507へ、データをホストデータバス508へと出
力する。
【0011】トレース制御回路101は、ホストアドレス
バス507と、ホストデータバス508とを介してトレース開
始フラグ201をトレース開始状態とする命令を受け取
り、そのときトレースデータ転送要求フラグ202がトレ
ースデータ転送停止状態となっている場合、トレース開
始フラグ201をトレース開始状態にセットし、トレース
動作を開始する。しかし、トレースデータ転送要求フラ
グ202がトレースデータ転送状態となっている場合、ト
レース開始フラグ201をトレース開始状態とせずにトレ
ース動作を開始しない。
バス507と、ホストデータバス508とを介してトレース開
始フラグ201をトレース開始状態とする命令を受け取
り、そのときトレースデータ転送要求フラグ202がトレ
ースデータ転送停止状態となっている場合、トレース開
始フラグ201をトレース開始状態にセットし、トレース
動作を開始する。しかし、トレースデータ転送要求フラ
グ202がトレースデータ転送状態となっている場合、ト
レース開始フラグ201をトレース開始状態とせずにトレ
ース動作を開始しない。
【0012】トレース動作が開始されるとトレース制御
回路101は、アドレスバス501,データバス502を介して
マイコン3の実行アドレスと実行データからなるトレー
スデータを取り込み、メモリ103に記録するためのアド
レスをメモリアドレスバス503を介して出力し、トレー
スデータをメモリデータ出力バス506を介して出力し
て、メモリ103にトレースデータを記録する。
回路101は、アドレスバス501,データバス502を介して
マイコン3の実行アドレスと実行データからなるトレー
スデータを取り込み、メモリ103に記録するためのアド
レスをメモリアドレスバス503を介して出力し、トレー
スデータをメモリデータ出力バス506を介して出力し
て、メモリ103にトレースデータを記録する。
【0013】また、ホストコンピュータ2から、トレー
ス開始フラグ201をトレース停止状態にするためのアド
レスをホストアドレスバス507へ、データをホストデー
タバス508へ出力した場合、およびメモリアドレスバス5
03を介してメモリ103に記録するトレースデータがいっ
ぱいになったことを検出した場合、トレース制御回路10
1は、トレース開始フラグ201をトレース停止状態とし、
トレース動作を停止する。
ス開始フラグ201をトレース停止状態にするためのアド
レスをホストアドレスバス507へ、データをホストデー
タバス508へ出力した場合、およびメモリアドレスバス5
03を介してメモリ103に記録するトレースデータがいっ
ぱいになったことを検出した場合、トレース制御回路10
1は、トレース開始フラグ201をトレース停止状態とし、
トレース動作を停止する。
【0014】2)トレースデータ転送時 まず、ホストコンピュータ2からトレース制御回路101
へトレースデータ転送要求フラグ202をトレースデータ
転送状態とするために、ホストアドレスバス507を介し
てアドレスを出力し、かつホストデータバス508を介し
てデータを出力する。トレース制御回路101は、ホスト
アドレスバス507,ホストデータバス508をデコードし、
トレースデータ転送要求フラグ202をトレースデータ転
送状態とする命令を受け取り、そのときトレース開始フ
ラグ201がトレース停止状態となっている場合、トレー
スデータ転送要求フラグ202をセットし、トレースデー
タ転送を開始する。トレースデータ転送状態となると、
トレース制御回路101は、メモリ103からトレースデータ
を読み出すためのアドレスをメモリアドレスバス503を
介してメモリ103に出力し、メモリ103からトレースデー
タをメモリデータ出力バス506を介して読み込み、ホス
トデータバス508を介してホストコンピュータ2へ転送
する。
へトレースデータ転送要求フラグ202をトレースデータ
転送状態とするために、ホストアドレスバス507を介し
てアドレスを出力し、かつホストデータバス508を介し
てデータを出力する。トレース制御回路101は、ホスト
アドレスバス507,ホストデータバス508をデコードし、
トレースデータ転送要求フラグ202をトレースデータ転
送状態とする命令を受け取り、そのときトレース開始フ
ラグ201がトレース停止状態となっている場合、トレー
スデータ転送要求フラグ202をセットし、トレースデー
タ転送を開始する。トレースデータ転送状態となると、
トレース制御回路101は、メモリ103からトレースデータ
を読み出すためのアドレスをメモリアドレスバス503を
介してメモリ103に出力し、メモリ103からトレースデー
タをメモリデータ出力バス506を介して読み込み、ホス
トデータバス508を介してホストコンピュータ2へ転送
する。
【0015】また、トレース制御回路101は、ホストコ
ンピュータ2からホストアドレスバス507,ホストデー
タバス508を介してトレースデータ転送要求フラグ202を
トレースデータ転送停止状態とする命令を受けたとき、
およびメモリアドレスバス503を介してメモリ103に記録
されているトレースデータがなくなったことを検出した
とき、トレースデータ転送要求フラグ202をトレースデ
ータ転送停止状態とし、トレースデータ転送動作を停止
する。
ンピュータ2からホストアドレスバス507,ホストデー
タバス508を介してトレースデータ転送要求フラグ202を
トレースデータ転送停止状態とする命令を受けたとき、
およびメモリアドレスバス503を介してメモリ103に記録
されているトレースデータがなくなったことを検出した
とき、トレースデータ転送要求フラグ202をトレースデ
ータ転送停止状態とし、トレースデータ転送動作を停止
する。
【0016】また、トレース制御回路101は、ホストコ
ンピュータ2からトレースデータ転送要求フラグ202を
トレースデータ転送状態とする命令を受け取ったとき
に、トレース開始フラグ201がトレース開始状態となっ
ている場合には、トレース動作を一時中断し、トレース
データ転送要求フラグ202をトレースデータ転送状態と
して、トレースデータ転送を開始する。また、ホストコ
ンピュータ2からトレースデータ転送要求フラグ202を
トレースデータ転送停止状態とする命令を受けたとき、
またはメモリ103に記録されているトレースデータがな
くなったときには、トレースデータ転送要求フラグ202
をトレースデータ転送停止状態とし、トレースデータ転
送動作を停止して、トレース動作を再開する。
ンピュータ2からトレースデータ転送要求フラグ202を
トレースデータ転送状態とする命令を受け取ったとき
に、トレース開始フラグ201がトレース開始状態となっ
ている場合には、トレース動作を一時中断し、トレース
データ転送要求フラグ202をトレースデータ転送状態と
して、トレースデータ転送を開始する。また、ホストコ
ンピュータ2からトレースデータ転送要求フラグ202を
トレースデータ転送停止状態とする命令を受けたとき、
またはメモリ103に記録されているトレースデータがな
くなったときには、トレースデータ転送要求フラグ202
をトレースデータ転送停止状態とし、トレースデータ転
送動作を停止して、トレース動作を再開する。
【0017】図5は従来のインサーキットエミュレータ
の他例の構成を示すブロック図であり、2はホストコン
ピュータ、3はマイコン、11はインサーキットエミュレ
ータ、12はトレース部、106はトレース制御回路、107は
メモリ、108はメモリ、109は読み出し用セレクタ、110
はNOT回路、201はトレース開始フラグ、202はトレー
スデータ転送要求フラグ、204はリードライト選択フラ
グ、501はアドレスバス、502はデータバス、507はホス
トアドレスバス、508はホストデータバス、513はメモリ
アドレスバス、514はメモリアドレスバス、515はリード
ライト選択信号線、516はメモリデータ出力バス、517は
メモリデータ出力バス、519は選択メモリデータ出力バ
ス、520はリードライト選択反転信号線、522はメモリデ
ータ分岐入力バスである。
の他例の構成を示すブロック図であり、2はホストコン
ピュータ、3はマイコン、11はインサーキットエミュレ
ータ、12はトレース部、106はトレース制御回路、107は
メモリ、108はメモリ、109は読み出し用セレクタ、110
はNOT回路、201はトレース開始フラグ、202はトレー
スデータ転送要求フラグ、204はリードライト選択フラ
グ、501はアドレスバス、502はデータバス、507はホス
トアドレスバス、508はホストデータバス、513はメモリ
アドレスバス、514はメモリアドレスバス、515はリード
ライト選択信号線、516はメモリデータ出力バス、517は
メモリデータ出力バス、519は選択メモリデータ出力バ
ス、520はリードライト選択反転信号線、522はメモリデ
ータ分岐入力バスである。
【0018】図5に示す従来のインサーキットエミュレ
ータは、命令実行時のアドレスである実行アドレスとそ
の命令が実行されるときのデータバスの値とデバッグに
必要な信号データとを含む実行データからなるトレース
データを、アドレスバス501とデータバス502を介して出
力する機能を有するマイコン3と、トレース部12とから
構成されている。
ータは、命令実行時のアドレスである実行アドレスとそ
の命令が実行されるときのデータバスの値とデバッグに
必要な信号データとを含む実行データからなるトレース
データを、アドレスバス501とデータバス502を介して出
力する機能を有するマイコン3と、トレース部12とから
構成されている。
【0019】トレース部12は、アドレスバス501とデー
タバス502を介してマイコン3の実行アドレスと実行デ
ータからなるトレースデータを取り込む機能と、ホスト
アドレスバス507をデコードし、ホストデータバス508に
従いトレース開始フラグ201と、トレースデータ転送要
求フラグ202と、リードライト選択フラグ204とを設定す
る機能と、マイコン3からの実行アドレス,実行データ
を含むトレースデータをメモリデータ分岐入力バス522
へ出力する機能と、トレースデータを一方のメモリ107
に対して読み書きするためのアドレスをメモリアドレス
バス513へ出力する機能と、トレースデータを他方のメ
モリ108に対して読み書きするためのアドレスをメモリ
アドレスバス514へ出力する機能と、リードライト選択
フラグ204がリード状態(Low)に設定されている場合に
は、リードライト選択信号線515へリード信号(Low)を出
力し、リードライト選択フラグ204がライト状態(High)
に設定されている場合には、リードライト選択信号線51
5へライト信号(High)を出力する機能と、トレースデー
タを選択メモリデータ出力バス519を介して読み込む機
能と、ホストコンピュータ2へトレースデータを転送す
る機能と、メモリアドレスバス513および切り替えメモ
リアドレスバス514に出力するアドレスを管理して、ト
レースデータ書き込み時に一方のメモリがいっぱいにな
ったことを検出するとトレース開始フラグ201をトレー
ス停止状態とし、他方のメモリのトレースデータの転送
が終了すると、リードライト選択フラグ204をリード状
態ならライト状態に、ライト状態ならリード状態に切り
替えて、リードライト選択フラグ204に対応した信号を
リードライト選択信号線515へ出力し、トレース開始フ
ラグ201をトレース状態とする機能を有するトレース制
御回路106を備え、さらにリードライト選択信号線515を
介して出力されている信号がライト信号のとき、メモリ
アドレスバス513の示すアドレスにメモリデータ分岐入
力バス522を介して出力されるトレースデータを記録
し、リードライト選択信号線515を介して出力されてい
る信号がリード信号のとき、メモリアドレスバス513の
示すアドレスに記録されているトレースデータをメモリ
データ出力バス516へ出力する機能を有するメモリ107
と、リードライト選択反転信号線520を介して出力され
ている信号がライト信号のとき、メモリアドレスバス51
4の示すアドレスにメモリデータ分岐入力バス522を介し
て出力されるトレースデータを記録し、リードライト選
択反転信号線520を介して出力されている信号がリード
状態のとき、メモリアドレスバス514の示すアドレスに
記録されているトレースデータをメモリデータ出力バス
517へ出力する機能を有するメモリ108と、リードライト
選択信号線515がリード信号のとき、メモリデータ出力
バス516の信号を、選択メモリデータ出力バス519へ出力
し、リードライト選択信号線515がライト信号のとき、
メモリデータ出力バス517の信号を、選択メモリデータ
出力バス519へ出力する機能を有する読み出し用セレク
タ109と、リードライト選択信号515がリード信号のとき
リードライト反転信号線520へライト信号を出力し、リ
ードライト選択信号515がライト信号のときリードライ
ト反転信号線520へリード信号を出力する機能を有する
NOT回路110とを備えている。
タバス502を介してマイコン3の実行アドレスと実行デ
ータからなるトレースデータを取り込む機能と、ホスト
アドレスバス507をデコードし、ホストデータバス508に
従いトレース開始フラグ201と、トレースデータ転送要
求フラグ202と、リードライト選択フラグ204とを設定す
る機能と、マイコン3からの実行アドレス,実行データ
を含むトレースデータをメモリデータ分岐入力バス522
へ出力する機能と、トレースデータを一方のメモリ107
に対して読み書きするためのアドレスをメモリアドレス
バス513へ出力する機能と、トレースデータを他方のメ
モリ108に対して読み書きするためのアドレスをメモリ
アドレスバス514へ出力する機能と、リードライト選択
フラグ204がリード状態(Low)に設定されている場合に
は、リードライト選択信号線515へリード信号(Low)を出
力し、リードライト選択フラグ204がライト状態(High)
に設定されている場合には、リードライト選択信号線51
5へライト信号(High)を出力する機能と、トレースデー
タを選択メモリデータ出力バス519を介して読み込む機
能と、ホストコンピュータ2へトレースデータを転送す
る機能と、メモリアドレスバス513および切り替えメモ
リアドレスバス514に出力するアドレスを管理して、ト
レースデータ書き込み時に一方のメモリがいっぱいにな
ったことを検出するとトレース開始フラグ201をトレー
ス停止状態とし、他方のメモリのトレースデータの転送
が終了すると、リードライト選択フラグ204をリード状
態ならライト状態に、ライト状態ならリード状態に切り
替えて、リードライト選択フラグ204に対応した信号を
リードライト選択信号線515へ出力し、トレース開始フ
ラグ201をトレース状態とする機能を有するトレース制
御回路106を備え、さらにリードライト選択信号線515を
介して出力されている信号がライト信号のとき、メモリ
アドレスバス513の示すアドレスにメモリデータ分岐入
力バス522を介して出力されるトレースデータを記録
し、リードライト選択信号線515を介して出力されてい
る信号がリード信号のとき、メモリアドレスバス513の
示すアドレスに記録されているトレースデータをメモリ
データ出力バス516へ出力する機能を有するメモリ107
と、リードライト選択反転信号線520を介して出力され
ている信号がライト信号のとき、メモリアドレスバス51
4の示すアドレスにメモリデータ分岐入力バス522を介し
て出力されるトレースデータを記録し、リードライト選
択反転信号線520を介して出力されている信号がリード
状態のとき、メモリアドレスバス514の示すアドレスに
記録されているトレースデータをメモリデータ出力バス
517へ出力する機能を有するメモリ108と、リードライト
選択信号線515がリード信号のとき、メモリデータ出力
バス516の信号を、選択メモリデータ出力バス519へ出力
し、リードライト選択信号線515がライト信号のとき、
メモリデータ出力バス517の信号を、選択メモリデータ
出力バス519へ出力する機能を有する読み出し用セレク
タ109と、リードライト選択信号515がリード信号のとき
リードライト反転信号線520へライト信号を出力し、リ
ードライト選択信号515がライト信号のときリードライ
ト反転信号線520へリード信号を出力する機能を有する
NOT回路110とを備えている。
【0020】また、トレース制御回路106は、トレース
開始状態(Low)とトレース停止状態(High)の2つの状態
を示す1ビットのレジスタであるトレース開始フラグ20
1と、トレースデータ転送状態(Low)とトレースデータ転
送停止状態(High)の2つの状態を示す1ビットのレジス
タであるトレースデータ転送要求フラグ202と、リード
状態(Low)とライト状態(High)の2つの状態を示す1ビ
ットのレジスタであるリードライト選択フラグ204とを
備えている。
開始状態(Low)とトレース停止状態(High)の2つの状態
を示す1ビットのレジスタであるトレース開始フラグ20
1と、トレースデータ転送状態(Low)とトレースデータ転
送停止状態(High)の2つの状態を示す1ビットのレジス
タであるトレースデータ転送要求フラグ202と、リード
状態(Low)とライト状態(High)の2つの状態を示す1ビ
ットのレジスタであるリードライト選択フラグ204とを
備えている。
【0021】また、ホストコンピュータ2は、トレース
制御回路106のトレース開始フラグ201,トレースデータ
転送要求フラグ202,リードライト選択フラグ204をそれ
ぞれ設定するためのアドレスをホストアドレスバス507
へ出力し、かつデータをホストデータバス508へと出力
する機能、ホストデータバス508からトレースデータを
読み込む機能を有しており、トレース制御回路106に接
続されている。
制御回路106のトレース開始フラグ201,トレースデータ
転送要求フラグ202,リードライト選択フラグ204をそれ
ぞれ設定するためのアドレスをホストアドレスバス507
へ出力し、かつデータをホストデータバス508へと出力
する機能、ホストデータバス508からトレースデータを
読み込む機能を有しており、トレース制御回路106に接
続されている。
【0022】以上のように構成されたインサーキットエ
ミュレータについて、以下、その動作を説明する。
ミュレータについて、以下、その動作を説明する。
【0023】まず、初期設定として仮にホストコンピュ
ータ2からホストアドレスバス507,ホストデータバス5
08を介してリードライト選択フラグ204をライト状態と
する。このとき、リードライト選択信号線515を介して
出力されるライト信号により一方のメモリ107はライト
状態となり、他方のメモリ108はリード状態となってい
る。ホストコンピュータ2からトレース制御回路106へ
ホストアドレスバス507,ホストデータバス508を介して
トレース開始フラグ201をトレース開始状態とするため
のアドレスおよびデータを出力する。
ータ2からホストアドレスバス507,ホストデータバス5
08を介してリードライト選択フラグ204をライト状態と
する。このとき、リードライト選択信号線515を介して
出力されるライト信号により一方のメモリ107はライト
状態となり、他方のメモリ108はリード状態となってい
る。ホストコンピュータ2からトレース制御回路106へ
ホストアドレスバス507,ホストデータバス508を介して
トレース開始フラグ201をトレース開始状態とするため
のアドレスおよびデータを出力する。
【0024】トレース制御回路106は、ホストアドレス
バス507,ホストデータバス508をデコードし、トレース
開始フラグ201をトレース開始状態とする命令であり、
かつそのときトレースデータ転送要求フラグ202がトレ
ースデータ転送停止状態となっている場合、トレース開
始フラグ201をトレース開始状態とし、トレース動作を
開始して、マイコン3のアドレスバス501,データバス5
02から実行アドレスと実行データからなるトレースデー
タを取り込み、一方のメモリ107に記録するためのアド
レスをメモリアドレスバス513を介して一方のメモリ107
に出力し、トレースデータをメモリデータ分岐入力バス
522を介して一方のメモリ107に記録する。
バス507,ホストデータバス508をデコードし、トレース
開始フラグ201をトレース開始状態とする命令であり、
かつそのときトレースデータ転送要求フラグ202がトレ
ースデータ転送停止状態となっている場合、トレース開
始フラグ201をトレース開始状態とし、トレース動作を
開始して、マイコン3のアドレスバス501,データバス5
02から実行アドレスと実行データからなるトレースデー
タを取り込み、一方のメモリ107に記録するためのアド
レスをメモリアドレスバス513を介して一方のメモリ107
に出力し、トレースデータをメモリデータ分岐入力バス
522を介して一方のメモリ107に記録する。
【0025】このとき、読み出し用セレクタ109は、リ
ードライト選択信号線515によりメモリデータ出力バス5
17が選択されており、トレース制御回路106は、他方の
メモリ108からトレースデータを読み出すためのアドレ
スをメモリアドレスバス514を介して他方のメモリ108に
出力し、トレースデータをメモリデータ出力バス517,
読み出し用セレクタ109,選択メモリデータ出力バス519
を介して読み込みホストデータバス508を介してホスト
コンピュータ2へ転送する。
ードライト選択信号線515によりメモリデータ出力バス5
17が選択されており、トレース制御回路106は、他方の
メモリ108からトレースデータを読み出すためのアドレ
スをメモリアドレスバス514を介して他方のメモリ108に
出力し、トレースデータをメモリデータ出力バス517,
読み出し用セレクタ109,選択メモリデータ出力バス519
を介して読み込みホストデータバス508を介してホスト
コンピュータ2へ転送する。
【0026】また、一方のメモリ107に記録するための
アドレスから一方のメモリ107がいっぱいになったこと
を検出すると、トレース開始フラグ201をトレース停止
状態とし、他方のメモリ108のトレースデータの転送が
終了すると、リードライト選択フラグ204をリード状態
にセットする。これにより、リードライト選択信号線51
5を介して出力されるリード信号により、一方のメモリ1
07はリード状態となり、他方のメモリ108はライト状態
となり、他方のメモリ108に記録するためのアドレスを
メモリアドレスバス514を介して他方のメモリ108に出力
し、トレースデータをメモリデータ分岐入力バス522を
介して他方のメモリ108に記録する。
アドレスから一方のメモリ107がいっぱいになったこと
を検出すると、トレース開始フラグ201をトレース停止
状態とし、他方のメモリ108のトレースデータの転送が
終了すると、リードライト選択フラグ204をリード状態
にセットする。これにより、リードライト選択信号線51
5を介して出力されるリード信号により、一方のメモリ1
07はリード状態となり、他方のメモリ108はライト状態
となり、他方のメモリ108に記録するためのアドレスを
メモリアドレスバス514を介して他方のメモリ108に出力
し、トレースデータをメモリデータ分岐入力バス522を
介して他方のメモリ108に記録する。
【0027】このとき、読み出し用セレクタ109は、リ
ードライト選択信号線515によりメモリデータ出力バス5
16が選択されており、他方のメモリ108にトレースデー
タを記録するとともに、トレース制御回路106は、一方
のメモリ107から読み出すためのアドレスをメモリアド
レスバス513を介して一方のメモリ107に出力し、トレー
スデータをメモリデータ出力バス516,読み出し用セレ
クタ109,選択メモリデータ出力バス519を介して読み込
み、ホストデータバス508を介してホストコンピュータ
2へ転送する。
ードライト選択信号線515によりメモリデータ出力バス5
16が選択されており、他方のメモリ108にトレースデー
タを記録するとともに、トレース制御回路106は、一方
のメモリ107から読み出すためのアドレスをメモリアド
レスバス513を介して一方のメモリ107に出力し、トレー
スデータをメモリデータ出力バス516,読み出し用セレ
クタ109,選択メモリデータ出力バス519を介して読み込
み、ホストデータバス508を介してホストコンピュータ
2へ転送する。
【0028】また、他方のメモリ108に記録するための
アドレスから他方のメモリ108がいっぱいになったこと
を検出したときは、トレース開始フラグ201をトレース
停止状態とし、一方のメモリ107のトレースデータの転
送が終了するとリードライト選択フラグ204をライト状
態にセットし、一方のメモリ107をライト状態とし、他
方のメモリ108をリード状態として、以後、上記動作を
繰り返す。
アドレスから他方のメモリ108がいっぱいになったこと
を検出したときは、トレース開始フラグ201をトレース
停止状態とし、一方のメモリ107のトレースデータの転
送が終了するとリードライト選択フラグ204をライト状
態にセットし、一方のメモリ107をライト状態とし、他
方のメモリ108をリード状態として、以後、上記動作を
繰り返す。
【0029】また、トレース動作が停止している場合に
も、ホストコンピュータ2のホストアドレスバス507,
ホストデータバス508を介してトレースデータ転送要求
フラグ202がトレースデータ転送状態にセットされる
と、リード状態となっているいずれか一方ののメモリか
らデータを読み込みトレース制御回路106を介してホス
トコンピュータ2へトレースデータを転送する。
も、ホストコンピュータ2のホストアドレスバス507,
ホストデータバス508を介してトレースデータ転送要求
フラグ202がトレースデータ転送状態にセットされる
と、リード状態となっているいずれか一方ののメモリか
らデータを読み込みトレース制御回路106を介してホス
トコンピュータ2へトレースデータを転送する。
【0030】また、トレース制御回路106は、ホストコ
ンピュータ2からホストアドレスバス507,ホストデー
タバス508を介してトレース開始フラグ201をトレース停
止状態にする命令を受けたときは、トレース開始フラグ
201をトレース停止状態とし、トレース動作を停止す
る。
ンピュータ2からホストアドレスバス507,ホストデー
タバス508を介してトレース開始フラグ201をトレース停
止状態にする命令を受けたときは、トレース開始フラグ
201をトレース停止状態とし、トレース動作を停止す
る。
【0031】
【発明が解決しようとする課題】しかしながら、前記従
来のインサーキットエミュレータの構成では、トレース
データを無圧縮で転送するため、データトラフィック量
が増加し、またホストコンピュータとトレース制御回路
間の転送速度が、インサーキットエミュレータ内の転送
速度あるいはホストコンピュータ内の転送速度に比べて
遅いため、ホストコンピュータへ転送する際に多くの時
間がかかり、インサーキットエミュレータに対してホス
トコンピュータからのレスポンスが悪くなり、またトレ
ースデータ転送時にはトレース動作を停止させる必要が
あるため、連続してトレース動作を行うことができな
い、という問題を有していた。
来のインサーキットエミュレータの構成では、トレース
データを無圧縮で転送するため、データトラフィック量
が増加し、またホストコンピュータとトレース制御回路
間の転送速度が、インサーキットエミュレータ内の転送
速度あるいはホストコンピュータ内の転送速度に比べて
遅いため、ホストコンピュータへ転送する際に多くの時
間がかかり、インサーキットエミュレータに対してホス
トコンピュータからのレスポンスが悪くなり、またトレ
ースデータ転送時にはトレース動作を停止させる必要が
あるため、連続してトレース動作を行うことができな
い、という問題を有していた。
【0032】本発明は、上記従来の問題を解決するもの
であり、データトラフィック量を減少させる手段を設け
ることによりホストコンピュータとトレース制御回路間
のデータ転送を高速化し、ホストコンピュータからイン
サーキットエミュレータに対するレスポンスを向上させ
ることと、トレースデータ転送時においてもトレース動
作を停止することなく連続してトレース動作を行えるよ
うにしたインサーキットエミュレータを提供することを
目的とする。
であり、データトラフィック量を減少させる手段を設け
ることによりホストコンピュータとトレース制御回路間
のデータ転送を高速化し、ホストコンピュータからイン
サーキットエミュレータに対するレスポンスを向上させ
ることと、トレースデータ転送時においてもトレース動
作を停止することなく連続してトレース動作を行えるよ
うにしたインサーキットエミュレータを提供することを
目的とする。
【0033】
【課題を解決するための手段】前記目的を達成するため
に、本発明に係るインサーキットエミュレータは、トレ
ースデータを圧縮してメモリへ格納することを可能にし
たインサーキットエミュレータであって、トレースデー
タを記録するためのメモリと、命令実行時のアドレスで
ある実行アドレスと、その命令が実行されるときのデー
タバスの値とデバッグに必要な信号データを含む実行デ
ータとからなるトレースデータを出力する演算処理部
と、トレース動作を開始するためのトレース開始フラグ
とトレースデータ転送を開始するためのトレースデータ
転送要求フラグとを備え、トレースデータを前記演算処
理部から取り込み出力する機能と、前記メモリに対して
トレースデータを読み書きするためのアドレスを出力す
る機能と、前記メモリからトレースデータを読み込む機
能とを有するトレース制御回路と、前記トレース制御回
路と前記メモリとに接続されトレースデータを圧縮する
ためのデータ圧縮回路とを備えたものである。
に、本発明に係るインサーキットエミュレータは、トレ
ースデータを圧縮してメモリへ格納することを可能にし
たインサーキットエミュレータであって、トレースデー
タを記録するためのメモリと、命令実行時のアドレスで
ある実行アドレスと、その命令が実行されるときのデー
タバスの値とデバッグに必要な信号データを含む実行デ
ータとからなるトレースデータを出力する演算処理部
と、トレース動作を開始するためのトレース開始フラグ
とトレースデータ転送を開始するためのトレースデータ
転送要求フラグとを備え、トレースデータを前記演算処
理部から取り込み出力する機能と、前記メモリに対して
トレースデータを読み書きするためのアドレスを出力す
る機能と、前記メモリからトレースデータを読み込む機
能とを有するトレース制御回路と、前記トレース制御回
路と前記メモリとに接続されトレースデータを圧縮する
ためのデータ圧縮回路とを備えたものである。
【0034】前記構成によって、トレース時に、前記デ
ータ圧縮回路により前記トレース制御回路から出力され
るトレースデータを圧縮しデータトラフィック量を減少
させることにより、トレースデータ転送時に、トレース
データをホストコンピュータへ高速に転送することがで
きるようになり、ホストコンピュータからインサーキッ
トエミュレータに対するレスポンスを向上させることが
でき、またトレースデータを転送するためにトレース動
作を停止させなければならないトレース動作停止時間を
減少させることができる。
ータ圧縮回路により前記トレース制御回路から出力され
るトレースデータを圧縮しデータトラフィック量を減少
させることにより、トレースデータ転送時に、トレース
データをホストコンピュータへ高速に転送することがで
きるようになり、ホストコンピュータからインサーキッ
トエミュレータに対するレスポンスを向上させることが
でき、またトレースデータを転送するためにトレース動
作を停止させなければならないトレース動作停止時間を
減少させることができる。
【0035】また、本発明に係るインサーキットエミュ
レータは、トレースデータを圧縮してメモリへ格納する
か、あるいはトレースデータを圧縮せずにメモリへ格納
するかを選択することを可能にしたインサーキットエミ
ュレータであって、トレースデータを記録するためのメ
モリと、命令実行時のアドレスである実行アドレスと、
その命令が実行されるときのデータバスの値とデバッグ
に必要な信号データを含む実行データとからなるトレー
スデータを出力する演算処理部と、トレース動作を開始
するためのトレース開始フラグとトレースデータ転送を
開始するためのトレースデータ転送要求フラグと圧縮選
択フラグとを備え、トレースデータを前記演算処理部か
ら取り込み出力する機能と、前記メモリに対して前記ト
レースデータを読み書きするためのアドレスを出力する
機能と、前記メモリからトレースデータを読み込む機能
と、トレースデータを圧縮するか否かを示す信号を出力
する機能を有するトレース制御回路と、前記トレース制
御回路と前記メモリとに接続され、トレースデータを圧
縮するためのデータ圧縮回路と、前記トレース制御回路
からの信号に従い、前記データ圧縮回路により圧縮され
たトレースデータか、あるいは無圧縮のトレースデータ
かを選択するためのセレクタとを備えたものである。
レータは、トレースデータを圧縮してメモリへ格納する
か、あるいはトレースデータを圧縮せずにメモリへ格納
するかを選択することを可能にしたインサーキットエミ
ュレータであって、トレースデータを記録するためのメ
モリと、命令実行時のアドレスである実行アドレスと、
その命令が実行されるときのデータバスの値とデバッグ
に必要な信号データを含む実行データとからなるトレー
スデータを出力する演算処理部と、トレース動作を開始
するためのトレース開始フラグとトレースデータ転送を
開始するためのトレースデータ転送要求フラグと圧縮選
択フラグとを備え、トレースデータを前記演算処理部か
ら取り込み出力する機能と、前記メモリに対して前記ト
レースデータを読み書きするためのアドレスを出力する
機能と、前記メモリからトレースデータを読み込む機能
と、トレースデータを圧縮するか否かを示す信号を出力
する機能を有するトレース制御回路と、前記トレース制
御回路と前記メモリとに接続され、トレースデータを圧
縮するためのデータ圧縮回路と、前記トレース制御回路
からの信号に従い、前記データ圧縮回路により圧縮され
たトレースデータか、あるいは無圧縮のトレースデータ
かを選択するためのセレクタとを備えたものである。
【0036】前記構成によって、トレース動作時にトレ
ースデータに冗長な信号が多く含まれデータ圧縮により
データトラフィック量が減少する場合にはトレースデー
タを圧縮、逆にトレースデータに冗長な部分が少なく圧
縮によりデータトラフィック量が増加してしまう場合に
はトレースデータを無圧縮とすることができ、トレース
データ転送時にホストコンピュータへ転送するデータト
ラフィック量がトレースデータを圧縮することにより増
加することを防ぐことができる。
ースデータに冗長な信号が多く含まれデータ圧縮により
データトラフィック量が減少する場合にはトレースデー
タを圧縮、逆にトレースデータに冗長な部分が少なく圧
縮によりデータトラフィック量が増加してしまう場合に
はトレースデータを無圧縮とすることができ、トレース
データ転送時にホストコンピュータへ転送するデータト
ラフィック量がトレースデータを圧縮することにより増
加することを防ぐことができる。
【0037】また、本発明に係るインサーキットエミュ
レータは、2つのメモリを備え、前記メモリの一方に対
してトレースデータを圧縮して書き込むと同時に、他方
のメモリからトレースデータを読み出すことを可能にし
たインサーキットエミュレータであって、トレースデー
タを記録するための2つのメモリと、命令実行時のアド
レスである実行アドレスと、その命令が実行されるとき
のデータバスの値とデバッグに必要な信号データを含む
実行データとからなるトレースデータを出力する演算処
理部と、トレース動作を開始するためのトレース開始フ
ラグとトレースデータ転送を開始するためのトレースデ
ータ転送要求フラグと前記メモリのリードライト状態を
示すリードライト選択フラグとを備え、トレースデータ
を前記演算処理部から取り込み出力する機能と、前記メ
モリに対してトレースデータを読み書きするためのアド
レスを出力する機能と、前記メモリからトレースデータ
を読み込む機能と、前記メモリのリード状態とライト状
態を切り替えるためのリードライト選択信号を出力する
機能とを有するトレース制御回路と、前記トレース制御
回路と前記メモリとに接続されトレースデータを圧縮す
るためのデータ圧縮回路と、2つのメモリから前記トレ
ース制御回路に読み込むトレースデータを選択するため
のセレクタとを備えたものである。
レータは、2つのメモリを備え、前記メモリの一方に対
してトレースデータを圧縮して書き込むと同時に、他方
のメモリからトレースデータを読み出すことを可能にし
たインサーキットエミュレータであって、トレースデー
タを記録するための2つのメモリと、命令実行時のアド
レスである実行アドレスと、その命令が実行されるとき
のデータバスの値とデバッグに必要な信号データを含む
実行データとからなるトレースデータを出力する演算処
理部と、トレース動作を開始するためのトレース開始フ
ラグとトレースデータ転送を開始するためのトレースデ
ータ転送要求フラグと前記メモリのリードライト状態を
示すリードライト選択フラグとを備え、トレースデータ
を前記演算処理部から取り込み出力する機能と、前記メ
モリに対してトレースデータを読み書きするためのアド
レスを出力する機能と、前記メモリからトレースデータ
を読み込む機能と、前記メモリのリード状態とライト状
態を切り替えるためのリードライト選択信号を出力する
機能とを有するトレース制御回路と、前記トレース制御
回路と前記メモリとに接続されトレースデータを圧縮す
るためのデータ圧縮回路と、2つのメモリから前記トレ
ース制御回路に読み込むトレースデータを選択するため
のセレクタとを備えたものである。
【0038】前記構成によって、トレース動作時、一方
のメモリをリード状態、他方のメモリをライト状態と
し、データトラフィック量が減少しているため一方のメ
モリにトレースデータを記録している間に、他方のメモ
リから記録されているすべてのトレースデータを読み出
し、ホストコンピュータへ転送することができ、記録し
ている側のメモリがいっぱいになると、リード状態であ
ったメモリをライト状態に、ライト状態であったメモリ
をリード状態に切り替え、ライト状態のメモリにトレー
スデータを記録し、リード状態のメモリからトレースデ
ータを読み出し、ホストコンピュータへ転送するという
動作を繰り返すことによりトレースデータ転送中におい
てもトレース動作を停止する必要がなく連続してトレー
ス動作を行うことができる。
のメモリをリード状態、他方のメモリをライト状態と
し、データトラフィック量が減少しているため一方のメ
モリにトレースデータを記録している間に、他方のメモ
リから記録されているすべてのトレースデータを読み出
し、ホストコンピュータへ転送することができ、記録し
ている側のメモリがいっぱいになると、リード状態であ
ったメモリをライト状態に、ライト状態であったメモリ
をリード状態に切り替え、ライト状態のメモリにトレー
スデータを記録し、リード状態のメモリからトレースデ
ータを読み出し、ホストコンピュータへ転送するという
動作を繰り返すことによりトレースデータ転送中におい
てもトレース動作を停止する必要がなく連続してトレー
ス動作を行うことができる。
【0039】
【発明の実施の形態】以下、本発明の好適な実施形態を
図1から図3を参照しながら説明する。
図1から図3を参照しながら説明する。
【0040】図1は本発明の第1実施形態におけるイン
サーキットエミュレータの構成を示すブロック図であ
り、1はインサーキットエミュレータ、2はホストコン
ピュータ、3は演算処理部としてのマイコン、4はトレ
ース部、101はトレース制御回路、102はデータ圧縮回
路、103はメモリ、201はトレース開始フラグ、202はト
レースデータ転送要求フラグ、501はアドレスバス、502
はデータバス、503はメモリアドレスバス、504はトレー
スデータバス、505はメモリデータ入力バス、506はメモ
リデータ出力バス、507はホストアドレスバス、508はホ
ストデータバスである。
サーキットエミュレータの構成を示すブロック図であ
り、1はインサーキットエミュレータ、2はホストコン
ピュータ、3は演算処理部としてのマイコン、4はトレ
ース部、101はトレース制御回路、102はデータ圧縮回
路、103はメモリ、201はトレース開始フラグ、202はト
レースデータ転送要求フラグ、501はアドレスバス、502
はデータバス、503はメモリアドレスバス、504はトレー
スデータバス、505はメモリデータ入力バス、506はメモ
リデータ出力バス、507はホストアドレスバス、508はホ
ストデータバスである。
【0041】第1実施形態のインサーキットエミュレー
タは、命令実行時のアドレスである実行アドレスと、そ
の命令が実行されるときのデータバスの値とデバッグに
必要な信号データとを含む実行データとからなるトレー
スデータを、アドレスバス501、データバス502を介して
出力する機能を有するマイコン3と、トレース部4とか
ら構成される。
タは、命令実行時のアドレスである実行アドレスと、そ
の命令が実行されるときのデータバスの値とデバッグに
必要な信号データとを含む実行データとからなるトレー
スデータを、アドレスバス501、データバス502を介して
出力する機能を有するマイコン3と、トレース部4とか
ら構成される。
【0042】トレース部4は、アドレスバス501とデー
タバス502を介してマイコン3の実行アドレスと実行デ
ータからなるトレースデータを取り込む機能と、ホスト
アドレスバス507をデコードし、ホストデータバス508に
従いトレース開始フラグ201と、トレースデータ転送要
求フラグ202とを設定する機能と、マイコン3からの実
行アドレスおよび実行データを含むトレースデータをト
レースデータバス504へ出力する機能と、トレースデー
タをメモリ103に対して読み書きするためのアドレスを
メモリアドレスバス503へ出力する機能と、トレースデ
ータをメモリデータ出力バス506を介して読み込む機能
と、ホストコンピュータ2へトレースデータを転送する
機能と、メモリアドレスバス503に出力するアドレスを
管理することにより、メモリ103がいっぱいになったこ
とを検出するとトレース開始フラグ201をトレース停止
状態とする機能を有するトレース制御回路101を備え、
さらにトレースデータバス504を介してトレースデータ
を読み込み、トレースデータを圧縮しメモリデータ入力
バス505へ出力する機能を有するデータ圧縮回路102と、
メモリアドレスバス503の示すアドレスに、メモリデー
タバス505を介して伝達されるトレースデータを書き込
む機能、およびメモリアドレスバス503の示すアドレス
からトレースデータをメモリデータ出力バス506へ出力
する機能を有するメモリ103とを備えている。
タバス502を介してマイコン3の実行アドレスと実行デ
ータからなるトレースデータを取り込む機能と、ホスト
アドレスバス507をデコードし、ホストデータバス508に
従いトレース開始フラグ201と、トレースデータ転送要
求フラグ202とを設定する機能と、マイコン3からの実
行アドレスおよび実行データを含むトレースデータをト
レースデータバス504へ出力する機能と、トレースデー
タをメモリ103に対して読み書きするためのアドレスを
メモリアドレスバス503へ出力する機能と、トレースデ
ータをメモリデータ出力バス506を介して読み込む機能
と、ホストコンピュータ2へトレースデータを転送する
機能と、メモリアドレスバス503に出力するアドレスを
管理することにより、メモリ103がいっぱいになったこ
とを検出するとトレース開始フラグ201をトレース停止
状態とする機能を有するトレース制御回路101を備え、
さらにトレースデータバス504を介してトレースデータ
を読み込み、トレースデータを圧縮しメモリデータ入力
バス505へ出力する機能を有するデータ圧縮回路102と、
メモリアドレスバス503の示すアドレスに、メモリデー
タバス505を介して伝達されるトレースデータを書き込
む機能、およびメモリアドレスバス503の示すアドレス
からトレースデータをメモリデータ出力バス506へ出力
する機能を有するメモリ103とを備えている。
【0043】また、トレース制御回路101は、トレース
開始状態(Low)とトレース停止状態(High)の2つの状態
を示す1ビットのレジスタであるトレース開始フラグ20
1と、トレースデータ転送状態(Low)とトレースデータ転
送停止状態(High)の2つの状態を示す1ビットのレジス
タであるトレースデータ転送要求フラグ202とを備えて
いる。
開始状態(Low)とトレース停止状態(High)の2つの状態
を示す1ビットのレジスタであるトレース開始フラグ20
1と、トレースデータ転送状態(Low)とトレースデータ転
送停止状態(High)の2つの状態を示す1ビットのレジス
タであるトレースデータ転送要求フラグ202とを備えて
いる。
【0044】また、ホストコンピュータ2は、トレース
制御回路101のトレース開始フラグ201,トレースデータ
転送要求フラグ202を設定するためのアドレスをホスト
アドレスバス507へ出力し、かつデータをホストデータ
バスへと出力する機能と、ホストデータバス508からト
レースデータを読み込む機能と、圧縮されたトレースデ
ータを解凍する機能とを有し、トレース制御回路101に
接続されている。
制御回路101のトレース開始フラグ201,トレースデータ
転送要求フラグ202を設定するためのアドレスをホスト
アドレスバス507へ出力し、かつデータをホストデータ
バスへと出力する機能と、ホストデータバス508からト
レースデータを読み込む機能と、圧縮されたトレースデ
ータを解凍する機能とを有し、トレース制御回路101に
接続されている。
【0045】以上のように構成された第1実施形態のイ
ンサーキットエミュレータについて、以下、その動作を
1)トレース時、2)トレースデータ転送時に分けて説
明する。
ンサーキットエミュレータについて、以下、その動作を
1)トレース時、2)トレースデータ転送時に分けて説
明する。
【0046】1)トレース時 まず、ホストコンピュータ2から、トレース開始フラグ
201をトレース開始状態にするためのアドレスをホスト
アドレスバス507へ出力し、データをホストデータバス5
08へ出力する。トレース制御回路101は、ホストアドレ
スバス507,ホストデータバス508を介してトレース開始
フラグ201をトレース開始状態とする命令を受け取り、
かつそのときトレースデータ転送要求フラグ202がトレ
ースデータ転送停止状態となっている場合、トレース開
始フラグ201をトレース開始状態として、トレース動作
を開始する。
201をトレース開始状態にするためのアドレスをホスト
アドレスバス507へ出力し、データをホストデータバス5
08へ出力する。トレース制御回路101は、ホストアドレ
スバス507,ホストデータバス508を介してトレース開始
フラグ201をトレース開始状態とする命令を受け取り、
かつそのときトレースデータ転送要求フラグ202がトレ
ースデータ転送停止状態となっている場合、トレース開
始フラグ201をトレース開始状態として、トレース動作
を開始する。
【0047】トレース動作が開始されるとトレース制御
回路101は、アドレスバス501,データバス502を介して
マイコン3の実行アドレスと実行データとからなるトレ
ースデータを取り込み、メモリ103に記録するためのア
ドレスをメモリアドレスバス503を介して出力し、かつ
前記トレースデータをトレースデータバス504を介して
出力する。データ圧縮回路102は、連長圧縮法を用いた
場合、トレースデータバス504を介してトレースデー
タ、例えばAAABBBBBCCを受け取るとA3B5C2に圧縮し、メ
モリデータバス505を介して出力する。圧縮法として
は、この他にもhuffman法,算術圧縮,LZ法などがあ
る。
回路101は、アドレスバス501,データバス502を介して
マイコン3の実行アドレスと実行データとからなるトレ
ースデータを取り込み、メモリ103に記録するためのア
ドレスをメモリアドレスバス503を介して出力し、かつ
前記トレースデータをトレースデータバス504を介して
出力する。データ圧縮回路102は、連長圧縮法を用いた
場合、トレースデータバス504を介してトレースデー
タ、例えばAAABBBBBCCを受け取るとA3B5C2に圧縮し、メ
モリデータバス505を介して出力する。圧縮法として
は、この他にもhuffman法,算術圧縮,LZ法などがあ
る。
【0048】メモリ103は、メモリアドレスバス503を介
して出力されるアドレスにデータ圧縮回路102からメモ
リデータバス505を介して出力されるトレースデータを
記録する。また、ホストコンピュータ2からトレース開
始フラグ201をトレース停止状態にするためのアドレス
をホストアドレスバス507へ出力し、データをホストデ
ータバス508へ出力した場合、およびメモリアドレスバ
ス503を介してメモリ103に記録するトレースデータがい
っぱいになったことを検出した場合、トレース制御回路
101はトレース開始フラグ201をトレース停止状態とし
て、トレース動作を停止する。
して出力されるアドレスにデータ圧縮回路102からメモ
リデータバス505を介して出力されるトレースデータを
記録する。また、ホストコンピュータ2からトレース開
始フラグ201をトレース停止状態にするためのアドレス
をホストアドレスバス507へ出力し、データをホストデ
ータバス508へ出力した場合、およびメモリアドレスバ
ス503を介してメモリ103に記録するトレースデータがい
っぱいになったことを検出した場合、トレース制御回路
101はトレース開始フラグ201をトレース停止状態とし
て、トレース動作を停止する。
【0049】また、トレース制御回路101は、ホストコ
ンピュータ2からトレース開始フラグ201をトレース開
始状態にするためのアドレスをホストアドレスバス507
へ出力し、かつデータをホストデータバス508へ出力し
たときに、トレースデータ転送要求フラグ202がトレー
スデータ転送状態となっている場合、トレース開始フラ
グ201をトレース開始状態とせずトレース動作を開始し
ない。
ンピュータ2からトレース開始フラグ201をトレース開
始状態にするためのアドレスをホストアドレスバス507
へ出力し、かつデータをホストデータバス508へ出力し
たときに、トレースデータ転送要求フラグ202がトレー
スデータ転送状態となっている場合、トレース開始フラ
グ201をトレース開始状態とせずトレース動作を開始し
ない。
【0050】2)トレースデータ転送時 まず、ホストコンピュータ2からトレース制御回路101
へホストアドレスバス507,ホストデータバス508を介し
てトレースデータ転送要求フラグ202をトレースデータ
転送状態とするためのアドレスおよびデータを出力す
る。トレース制御回路101は、ホストアドレスバス507お
よびホストデータバス508をデコードし、トレースデー
タ転送要求フラグ202をトレースデータ転送状態とする
命令を受け取り、かつそのときトレース開始フラグ201
がトレース停止状態となっている場合、トレースデータ
転送要求フラグ202をトレースデータ転送状態にし、ト
レースデータ転送を開始する。トレースデータ転送状態
となると、トレース制御回路101は、メモリ103からトレ
ースデータを読み出すためのアドレスをメモリアドレス
バス503を介してメモリ103に出力し、メモリ103からト
レースデータをメモリデータ出力バス506を介して読み
込み、ホストデータバス508を介してホストコンピュー
タ2へ転送する。
へホストアドレスバス507,ホストデータバス508を介し
てトレースデータ転送要求フラグ202をトレースデータ
転送状態とするためのアドレスおよびデータを出力す
る。トレース制御回路101は、ホストアドレスバス507お
よびホストデータバス508をデコードし、トレースデー
タ転送要求フラグ202をトレースデータ転送状態とする
命令を受け取り、かつそのときトレース開始フラグ201
がトレース停止状態となっている場合、トレースデータ
転送要求フラグ202をトレースデータ転送状態にし、ト
レースデータ転送を開始する。トレースデータ転送状態
となると、トレース制御回路101は、メモリ103からトレ
ースデータを読み出すためのアドレスをメモリアドレス
バス503を介してメモリ103に出力し、メモリ103からト
レースデータをメモリデータ出力バス506を介して読み
込み、ホストデータバス508を介してホストコンピュー
タ2へ転送する。
【0051】ホストコンピュータ2は、圧縮されたトレ
ースデータを必要に応じてハードまたはソフトで解凍す
る。また、トレース制御回路101は、ホストコンピュー
タ2からホストアドレスバス507、ホストデータバス508
を介してトレースデータ転送要求フラグ202をトレース
データ転送停止状態とする命令を受けたとき、およびメ
モリアドレスバス503を介してメモリ103に記録されてい
るトレースデータがなくなったことを検出したときに
は、トレースデータ転送要求フラグ202をトレースデー
タ転送停止状態として、トレースデータ転送動作を停止
する。
ースデータを必要に応じてハードまたはソフトで解凍す
る。また、トレース制御回路101は、ホストコンピュー
タ2からホストアドレスバス507、ホストデータバス508
を介してトレースデータ転送要求フラグ202をトレース
データ転送停止状態とする命令を受けたとき、およびメ
モリアドレスバス503を介してメモリ103に記録されてい
るトレースデータがなくなったことを検出したときに
は、トレースデータ転送要求フラグ202をトレースデー
タ転送停止状態として、トレースデータ転送動作を停止
する。
【0052】また、トレース制御回路101は、ホストコ
ンピュータ2からトレースデータ転送要求フラグ202を
トレースデータ転送状態とする命令を受け取り、そのと
きトレース開始フラグ201がトレース開始状態となって
いる場合、トレース動作を一時中断し、トレースデータ
転送要求フラグ202をトレースデータ転送状態とし、ト
レースデータ転送を開始して、ホストコンピュータ2か
らトレースデータ転送要求フラグ202をトレースデータ
転送停止状態とする命令を受けたとき、またはメモリ10
3に記録されているトレースデータがなくなったとき、
トレースデータ転送要求フラグ202をトレースデータ転
送停止状態とし、トレースデータ転送動作を停止し、ト
レース動作を再開する。
ンピュータ2からトレースデータ転送要求フラグ202を
トレースデータ転送状態とする命令を受け取り、そのと
きトレース開始フラグ201がトレース開始状態となって
いる場合、トレース動作を一時中断し、トレースデータ
転送要求フラグ202をトレースデータ転送状態とし、ト
レースデータ転送を開始して、ホストコンピュータ2か
らトレースデータ転送要求フラグ202をトレースデータ
転送停止状態とする命令を受けたとき、またはメモリ10
3に記録されているトレースデータがなくなったとき、
トレースデータ転送要求フラグ202をトレースデータ転
送停止状態とし、トレースデータ転送動作を停止し、ト
レース動作を再開する。
【0053】以上のように第1実施形態によれば、トレ
ース時に、データ圧縮回路102によりトレース制御回路1
01より出力されるトレースデータを圧縮してデータトラ
フィック量を減少させることにより、トレースデータ転
送時に、トレースデータをホストコンピュータ2へ高速
に転送することができるため、ホストコンピュータ2か
らインサーキットエミュレータ1に対するレスポンスを
向上させることができ、またトレースデータを転送する
ためにトレース動作を停止させなければならないトレー
ス動作停止時間を減少させることができる。
ース時に、データ圧縮回路102によりトレース制御回路1
01より出力されるトレースデータを圧縮してデータトラ
フィック量を減少させることにより、トレースデータ転
送時に、トレースデータをホストコンピュータ2へ高速
に転送することができるため、ホストコンピュータ2か
らインサーキットエミュレータ1に対するレスポンスを
向上させることができ、またトレースデータを転送する
ためにトレース動作を停止させなければならないトレー
ス動作停止時間を減少させることができる。
【0054】図2は本発明の第2実施形態におけるイン
サーキットエミュレータの構成を示すブロック図であ
り、2はホストコンピュータ、3はマイコン、5はイン
サーキットエミュレータ、6はトレース部、102はデー
タ圧縮回路、103はメモリ、104はトレース制御回路、10
5はセレクタ、201はトレース開始フラグ、202はトレー
スデータ転送要求フラグ、203は圧縮選択フラグ、501は
アドレスバス、502はデータバス、503はメモリアドレス
バス、504はトレースデータバス、506はメモリデータ出
力バス、507はホストアドレスバス、508はホストデータ
バス、509は圧縮トレースデータバス、510は無圧縮トレ
ースデータバス、511はセレクト信号線、512はセレクタ
メモリデータ入力バスである。
サーキットエミュレータの構成を示すブロック図であ
り、2はホストコンピュータ、3はマイコン、5はイン
サーキットエミュレータ、6はトレース部、102はデー
タ圧縮回路、103はメモリ、104はトレース制御回路、10
5はセレクタ、201はトレース開始フラグ、202はトレー
スデータ転送要求フラグ、203は圧縮選択フラグ、501は
アドレスバス、502はデータバス、503はメモリアドレス
バス、504はトレースデータバス、506はメモリデータ出
力バス、507はホストアドレスバス、508はホストデータ
バス、509は圧縮トレースデータバス、510は無圧縮トレ
ースデータバス、511はセレクト信号線、512はセレクタ
メモリデータ入力バスである。
【0055】第2実施形態のインサーキットエミュレー
タは、命令実行時のアドレスである実行アドレスとその
命令が実行されるときのデータバスの値とデバッグに必
要な信号データとを含む実行データとからなるトレース
データを、アドレスバス501およびデータバス502へ出力
する機能を有するマイコン3と、トレース部6とから構
成されている。
タは、命令実行時のアドレスである実行アドレスとその
命令が実行されるときのデータバスの値とデバッグに必
要な信号データとを含む実行データとからなるトレース
データを、アドレスバス501およびデータバス502へ出力
する機能を有するマイコン3と、トレース部6とから構
成されている。
【0056】トレース部6は、トレースデータバス504
を介してトレースデータを読み込み、トレースデータを
圧縮して圧縮トレースデータバス509へ出力する機能を
有するデータ圧縮回路102と、メモリアドレスバス503の
示すアドレスに、セレクタメモリデータ入力バス512を
介して伝達されるトレースデータを書き込む機能、およ
びメモリアドレスバス503の示すアドレスからトレース
データをメモリデータ出力バス506へ出力する機能を有
するメモリ103を備え、さらにマイコン3の実行アドレ
スと実行データとからなるトレースデータをアドレスバ
ス501,データバス502を介して取り込む機能と、ホスト
アドレスバス507をデコードして、ホストデータバス508
に従いトレース開始フラグ201と、トレースデータ転送
要求フラグ202,圧縮選択フラグ203とを設定する機能
と、マイコン3からの実行アドレスおよび実行データを
含むトレースデータをトレースデータバス504と無圧縮
トレースデータバス510へ出力する機能と、トレースデ
ータをメモリ103に対して読み書きするためのアドレス
をメモリアドレスバス503へ出力する機能と、トレース
データをメモリデータ出力バス506を介して読み込む機
能と、ホストコンピュータ2へトレースデータを転送す
る機能と、メモリアドレスバス503に出力するアドレス
を管理することにより、メモリ103がいっぱいになった
ことを検出するとトレース開始フラグ201をトレース停
止状態とする機能と、圧縮選択フラグ203が圧縮状態(Lo
w)にセットされているときは、セレクト信号線511へ圧
縮信号(Low)を出力し、無圧縮状態(Low)にセットされて
いるときには無圧縮信号(Low)を出力する機能とを有す
るトレース制御回路104を備えている。
を介してトレースデータを読み込み、トレースデータを
圧縮して圧縮トレースデータバス509へ出力する機能を
有するデータ圧縮回路102と、メモリアドレスバス503の
示すアドレスに、セレクタメモリデータ入力バス512を
介して伝達されるトレースデータを書き込む機能、およ
びメモリアドレスバス503の示すアドレスからトレース
データをメモリデータ出力バス506へ出力する機能を有
するメモリ103を備え、さらにマイコン3の実行アドレ
スと実行データとからなるトレースデータをアドレスバ
ス501,データバス502を介して取り込む機能と、ホスト
アドレスバス507をデコードして、ホストデータバス508
に従いトレース開始フラグ201と、トレースデータ転送
要求フラグ202,圧縮選択フラグ203とを設定する機能
と、マイコン3からの実行アドレスおよび実行データを
含むトレースデータをトレースデータバス504と無圧縮
トレースデータバス510へ出力する機能と、トレースデ
ータをメモリ103に対して読み書きするためのアドレス
をメモリアドレスバス503へ出力する機能と、トレース
データをメモリデータ出力バス506を介して読み込む機
能と、ホストコンピュータ2へトレースデータを転送す
る機能と、メモリアドレスバス503に出力するアドレス
を管理することにより、メモリ103がいっぱいになった
ことを検出するとトレース開始フラグ201をトレース停
止状態とする機能と、圧縮選択フラグ203が圧縮状態(Lo
w)にセットされているときは、セレクト信号線511へ圧
縮信号(Low)を出力し、無圧縮状態(Low)にセットされて
いるときには無圧縮信号(Low)を出力する機能とを有す
るトレース制御回路104を備えている。
【0057】さらにトレース部6は、セレクト信号線51
1を介して伝わる圧縮セレクト信号により、データ圧縮
回路102から圧縮トレースデータバス509を介して伝達さ
れるトレースデータか、あるいはトレース制御回路104
から無圧縮トレースデータバス510を介して伝達される
トレースデータかを選択し、セレクタメモリデータ入力
バス512へ出力する機能を有するセレクタ105を備えてい
る。
1を介して伝わる圧縮セレクト信号により、データ圧縮
回路102から圧縮トレースデータバス509を介して伝達さ
れるトレースデータか、あるいはトレース制御回路104
から無圧縮トレースデータバス510を介して伝達される
トレースデータかを選択し、セレクタメモリデータ入力
バス512へ出力する機能を有するセレクタ105を備えてい
る。
【0058】また、トレース制御回路104は、トレース
開始状態(Low)とトレース停止状態(High)の2つの状態
を示す1ビットのレジスタであるトレース開始フラグ20
1と、トレースデータ転送状態(Low)とトレースデータ転
送停止状態(High)の2つの状態を示す1ビットのレジス
タであるトレースデータ転送要求フラグ202と、圧縮状
態(Low)と無圧縮状態(High)の2つの状態を示す1ビッ
トのレジスタである圧縮フラグ203とを備えている。
開始状態(Low)とトレース停止状態(High)の2つの状態
を示す1ビットのレジスタであるトレース開始フラグ20
1と、トレースデータ転送状態(Low)とトレースデータ転
送停止状態(High)の2つの状態を示す1ビットのレジス
タであるトレースデータ転送要求フラグ202と、圧縮状
態(Low)と無圧縮状態(High)の2つの状態を示す1ビッ
トのレジスタである圧縮フラグ203とを備えている。
【0059】また、ホストコンピュータ2はトレース制
御回路104のトレース開始フラグ201,トレースデータ転
送要求フラグ202,圧縮選択フラグ203をそれぞれ設定す
るためのアドレスをホストアドレスバス507へ出力し、
データをホストデータバスへ出力する機能、ホストデー
タバス508からトレースデータを読み込む機能、圧縮さ
れたトレースデータを解凍する機能を有し、トレース制
御回路104に接続されている。
御回路104のトレース開始フラグ201,トレースデータ転
送要求フラグ202,圧縮選択フラグ203をそれぞれ設定す
るためのアドレスをホストアドレスバス507へ出力し、
データをホストデータバスへ出力する機能、ホストデー
タバス508からトレースデータを読み込む機能、圧縮さ
れたトレースデータを解凍する機能を有し、トレース制
御回路104に接続されている。
【0060】以上のように構成された本発明の第2実施
形態のインサーキットエミュレータについて、以下、そ
の動作を1)トレース時、2)トレースデータ転送時に
分けて説明する。
形態のインサーキットエミュレータについて、以下、そ
の動作を1)トレース時、2)トレースデータ転送時に
分けて説明する。
【0061】1)トレース時 まず、ホストコンピュータ2から圧縮選択フラグ203に
トレースデータを圧縮するか否かを設定するためのアド
レスをホストアドレスバス507へ出力し、かつデータを
ホストデータバス508へ出力し、圧縮選択フラグ203を設
定して、ホストコンピュータ2からトレース開始フラグ
201をトレース開始状態にするためのアドレスをホスト
アドレスバス507へ出力し、データをホストデータバス5
08へ出力する。
トレースデータを圧縮するか否かを設定するためのアド
レスをホストアドレスバス507へ出力し、かつデータを
ホストデータバス508へ出力し、圧縮選択フラグ203を設
定して、ホストコンピュータ2からトレース開始フラグ
201をトレース開始状態にするためのアドレスをホスト
アドレスバス507へ出力し、データをホストデータバス5
08へ出力する。
【0062】トレース制御回路104は、ホストアドレス
バス507,ホストデータバス508を介してトレース開始フ
ラグ201をトレース開始状態とする命令を受け取り、そ
のときトレースデータ転送要求フラグ202がトレースデ
ータ転送停止状態となっている場合、トレース開始フラ
グ201をトレース開始状態として、トレース動作を開始
する。トレース動作が開始されるとトレース制御回路10
4は、アドレスバス501,データバス502を介してマイコ
ン3の実行アドレスと実行データとからなるトレースデ
ータを取り込み、メモリ103に記録するためのアドレス
をメモリアドレスバス503へ出力し、トレースデータを
トレースデータバス504と、無圧縮トレースデータバス5
10とへ出力する。また、トレース制御回路104は圧縮選
択フラグ203がトレースデータを圧縮する圧縮状態にな
っている場合、セレクタ105へ圧縮信号を出力し、トレ
ースデータを圧縮しない無圧縮状態になっている場合、
無圧縮信号を出力する。
バス507,ホストデータバス508を介してトレース開始フ
ラグ201をトレース開始状態とする命令を受け取り、そ
のときトレースデータ転送要求フラグ202がトレースデ
ータ転送停止状態となっている場合、トレース開始フラ
グ201をトレース開始状態として、トレース動作を開始
する。トレース動作が開始されるとトレース制御回路10
4は、アドレスバス501,データバス502を介してマイコ
ン3の実行アドレスと実行データとからなるトレースデ
ータを取り込み、メモリ103に記録するためのアドレス
をメモリアドレスバス503へ出力し、トレースデータを
トレースデータバス504と、無圧縮トレースデータバス5
10とへ出力する。また、トレース制御回路104は圧縮選
択フラグ203がトレースデータを圧縮する圧縮状態にな
っている場合、セレクタ105へ圧縮信号を出力し、トレ
ースデータを圧縮しない無圧縮状態になっている場合、
無圧縮信号を出力する。
【0063】データ圧縮回路102は、トレースデータバ
ス504を介してトレースデータを受け取るとトレースデ
ータを圧縮して、圧縮トレースデータバス509へ出力す
る。セレクタ105は、セレクト信号線511を介して圧縮信
号を得た場合、圧縮トレースデータバス509を介して得
られるトレースデータを選択し、またセレクト信号線51
1を介して無圧縮信号を得た場合、無圧縮トレースデー
タバス510を介して得られる無圧縮のトレースデータを
選択し、セレクタメモリデータ入力バス512を介してメ
モリ103へ出力する。
ス504を介してトレースデータを受け取るとトレースデ
ータを圧縮して、圧縮トレースデータバス509へ出力す
る。セレクタ105は、セレクト信号線511を介して圧縮信
号を得た場合、圧縮トレースデータバス509を介して得
られるトレースデータを選択し、またセレクト信号線51
1を介して無圧縮信号を得た場合、無圧縮トレースデー
タバス510を介して得られる無圧縮のトレースデータを
選択し、セレクタメモリデータ入力バス512を介してメ
モリ103へ出力する。
【0064】メモリ103は、メモリアドレスバス503を介
して出力されるアドレスにメモリデータバス505を介し
て出力されるトレースデータを記録する。また、ホスト
コンピュータ2から、トレース開始フラグ201をトレー
ス停止状態にするためのアドレスをホストアドレスバス
507へ出力し、データをホストデータバス508へ出力した
場合、およびメモリアドレスバス503を介してメモリ103
に記録するトレースデータがいっぱいになったことを検
出した場合、トレース制御回路104はトレース開始フラ
グ201をトレース停止状態として、トレース動作を停止
する。
して出力されるアドレスにメモリデータバス505を介し
て出力されるトレースデータを記録する。また、ホスト
コンピュータ2から、トレース開始フラグ201をトレー
ス停止状態にするためのアドレスをホストアドレスバス
507へ出力し、データをホストデータバス508へ出力した
場合、およびメモリアドレスバス503を介してメモリ103
に記録するトレースデータがいっぱいになったことを検
出した場合、トレース制御回路104はトレース開始フラ
グ201をトレース停止状態として、トレース動作を停止
する。
【0065】また、トレース制御回路104は、ホストコ
ンピュータ2からトレース開始フラグ201をトレース開
始状態にするためのアドレスをホストアドレスバス507
へ出力し、データをホストデータバス508へ出力したと
きに、トレースデータ転送要求フラグ202がトレースデ
ータ転送状態となっている場合、トレース開始フラグ20
1をトレース開始状態とせず、トレース動作を開始しな
い。
ンピュータ2からトレース開始フラグ201をトレース開
始状態にするためのアドレスをホストアドレスバス507
へ出力し、データをホストデータバス508へ出力したと
きに、トレースデータ転送要求フラグ202がトレースデ
ータ転送状態となっている場合、トレース開始フラグ20
1をトレース開始状態とせず、トレース動作を開始しな
い。
【0066】2)トレースデータ転送時 まず、ホストコンピュータ2からトレース制御回路104
へホストアドレスバス507,ホストデータバス508を介し
てトレースデータ転送要求フラグ202をトレースデータ
転送状態とするためのアドレスおよびデータを出力す
る。トレース制御回路104は、ホストアドレスバス507お
よびホストデータバス508をデコードし、トレースデー
タ転送要求フラグ202をトレースデータ転送状態とする
命令を受け取り、かつそのときトレース開始フラグ201
がトレース停止状態となっている場合、トレースデータ
転送要求フラグ202をトレースデータ転送状態にセット
し、トレースデータ転送を開始する。トレースデータ転
送状態となると、トレース制御回路104は、メモリ103か
らトレースデータを読み出すためのアドレスをメモリア
ドレスバス503を介してメモリ103に出力し、メモリ103
からトレースデータをメモリデータ出力バス506を介し
て読み込み、ホストデータバス508を介してホストコン
ピュータ2へ転送する。ホストコンピュータ2は必要に
応じて圧縮されたトレースデータをハードまたはソフト
で解凍する。
へホストアドレスバス507,ホストデータバス508を介し
てトレースデータ転送要求フラグ202をトレースデータ
転送状態とするためのアドレスおよびデータを出力す
る。トレース制御回路104は、ホストアドレスバス507お
よびホストデータバス508をデコードし、トレースデー
タ転送要求フラグ202をトレースデータ転送状態とする
命令を受け取り、かつそのときトレース開始フラグ201
がトレース停止状態となっている場合、トレースデータ
転送要求フラグ202をトレースデータ転送状態にセット
し、トレースデータ転送を開始する。トレースデータ転
送状態となると、トレース制御回路104は、メモリ103か
らトレースデータを読み出すためのアドレスをメモリア
ドレスバス503を介してメモリ103に出力し、メモリ103
からトレースデータをメモリデータ出力バス506を介し
て読み込み、ホストデータバス508を介してホストコン
ピュータ2へ転送する。ホストコンピュータ2は必要に
応じて圧縮されたトレースデータをハードまたはソフト
で解凍する。
【0067】また、トレース制御回路104は、ホストコ
ンピュータ2からホストアドレスバス507,ホストデー
タバス508を介してトレースデータ転送要求フラグ202を
トレースデータ転送停止状態とする命令を受けたとき、
およびメモリアドレス503を介してメモリ103に記録され
ているトレースデータがなくなったことを検出したと
き、トレースデータ転送要求フラグ202をトレースデー
タ転送停止状態として、トレースデータ転送動作を停止
する。
ンピュータ2からホストアドレスバス507,ホストデー
タバス508を介してトレースデータ転送要求フラグ202を
トレースデータ転送停止状態とする命令を受けたとき、
およびメモリアドレス503を介してメモリ103に記録され
ているトレースデータがなくなったことを検出したと
き、トレースデータ転送要求フラグ202をトレースデー
タ転送停止状態として、トレースデータ転送動作を停止
する。
【0068】また、トレース制御回路104はホストコン
ピュータ2からトレースデータ転送要求フラグ202をト
レースデータ転送状態とする命令を受け取り、かつその
ときトレース開始フラグ201がトレース開始状態となっ
ている場合、トレース動作を一時中断し、トレースデー
タ転送要求フラグ202をトレースデータ転送状態とし
て、トレースデータ転送を開始し、ホストコンピュータ
2からトレースデータ転送要求フラグ202をトレースデ
ータ転送停止状態とする命令を受けたとき、またはメモ
リ103に記録されているトレースデータがなくなったと
き、トレースデータ転送要求フラグ202をトレースデー
タ転送停止状態とし、トレースデータ転送動作を停止し
て、トレース動作を再開する。
ピュータ2からトレースデータ転送要求フラグ202をト
レースデータ転送状態とする命令を受け取り、かつその
ときトレース開始フラグ201がトレース開始状態となっ
ている場合、トレース動作を一時中断し、トレースデー
タ転送要求フラグ202をトレースデータ転送状態とし
て、トレースデータ転送を開始し、ホストコンピュータ
2からトレースデータ転送要求フラグ202をトレースデ
ータ転送停止状態とする命令を受けたとき、またはメモ
リ103に記録されているトレースデータがなくなったと
き、トレースデータ転送要求フラグ202をトレースデー
タ転送停止状態とし、トレースデータ転送動作を停止し
て、トレース動作を再開する。
【0069】以上のように第2実施形態によれば、トレ
ース動作時にトレースデータに冗長な信号が多く含まれ
データ圧縮によりデータトラフィック量が減少する場合
にはトレースデータを圧縮、逆にトレースデータに冗長
な部分が少なく圧縮によりデータトラフィック量が増加
してしまう場合にはトレースデータを無圧縮とすること
ができ、トレースデータ転送時にホストコンピュータ2
へ転送するデータトラフィック量がトレースデータを圧
縮することにより増加することを防ぐことができる。
ース動作時にトレースデータに冗長な信号が多く含まれ
データ圧縮によりデータトラフィック量が減少する場合
にはトレースデータを圧縮、逆にトレースデータに冗長
な部分が少なく圧縮によりデータトラフィック量が増加
してしまう場合にはトレースデータを無圧縮とすること
ができ、トレースデータ転送時にホストコンピュータ2
へ転送するデータトラフィック量がトレースデータを圧
縮することにより増加することを防ぐことができる。
【0070】図3は本発明の第3実施形態におけるイン
サーキットエミュレータの構成を示すブロック図であ
り、2はホストコンピュータ、3はマイコン、7はイン
サーキットエミュレータ、8はトレース部、102はデー
タ圧縮回路、106はトレース制御回路、107,108はメモ
リ、109は読み出し用セレクタ、110はNOT回路、201
はトレース開始フラグ、202はトレースデータ転送要求
フラグ、204はリードライト選択フラグ、501はアドレス
バス、502はデータバス、504はトレースデータバス、50
7はホストアドレスバス、508はホストデータバス、513
はメモリアドレスバス、514はメモリアドレスバス、515
はリードライト選択信号線、516はメモリデータ出力バ
ス、517はメモリデータ出力バス、518は圧縮メモリデー
タ入力バス、519は選択メモリデータ出力バス、520はリ
ードライト選択反転信号線である。
サーキットエミュレータの構成を示すブロック図であ
り、2はホストコンピュータ、3はマイコン、7はイン
サーキットエミュレータ、8はトレース部、102はデー
タ圧縮回路、106はトレース制御回路、107,108はメモ
リ、109は読み出し用セレクタ、110はNOT回路、201
はトレース開始フラグ、202はトレースデータ転送要求
フラグ、204はリードライト選択フラグ、501はアドレス
バス、502はデータバス、504はトレースデータバス、50
7はホストアドレスバス、508はホストデータバス、513
はメモリアドレスバス、514はメモリアドレスバス、515
はリードライト選択信号線、516はメモリデータ出力バ
ス、517はメモリデータ出力バス、518は圧縮メモリデー
タ入力バス、519は選択メモリデータ出力バス、520はリ
ードライト選択反転信号線である。
【0071】第3実施形態のインサーキットエミュレー
タは、命令実行時のアドレスである実行アドレスと、そ
の命令が実行されるときのデータバスの値とデバッグに
必要な信号データとを含む実行データからなるトレース
データを、アドレスバス501,データバス502へと出力す
る機能を有するマイコン3と、トレース部8とから構成
されている。
タは、命令実行時のアドレスである実行アドレスと、そ
の命令が実行されるときのデータバスの値とデバッグに
必要な信号データとを含む実行データからなるトレース
データを、アドレスバス501,データバス502へと出力す
る機能を有するマイコン3と、トレース部8とから構成
されている。
【0072】トレース部8は、トレースデータバス504
を介してトレースデータを読み込み、トレースデータを
圧縮して圧縮メモリデータ入力バス518へ出力する機能
を有するデータ圧縮回路102を備え、さらにマイコン3
の実行アドレスおよび実行データからなるトレースデー
タをアドレスバス501,データバス502を介して取り込む
機能と、ホストアドレスバス507をデコードして、ホス
トデータバス508に従いトレース開始フラグ201とトレー
スデータ転送要求フラグ202とリードライト選択フラグ2
04とを設定する機能と、マイコン3からの実行アドレス
および実行データとを含むトレースデータをトレースデ
ータバス504へ出力する機能と、トレースデータを一方
のメモリ107に対して読み書きするためのアドレスをメ
モリアドレスバス513へ出力する機能と、トレースデー
タを他方のメモリ108に対して読み書きするためのアド
レスをメモリアドレスバス514へ出力する機能と、リー
ドライト選択フラグ204がリード状態(Low)に設定されて
いる場合には、リードライト選択信号線515へリード信
号(Low)を出力し、リードライト選択フラグ204がライト
状態(High)に設定されている場合には、リードライト選
択信号線515へライト信号(High)を出力する機能と、ト
レースデータを選択メモリデータ出力バス519を介して
読み込む機能と、ホストコンピュータ2へトレースデー
タを転送する機能と、メモリアドレスバス513およびメ
モリアドレスバス514に出力するアドレスを管理しトレ
ースデータ書き込み時にメモリがいっぱいになったこと
を検出するとリードライト選択フラグ204をリード状態
ならライト状態に、またライト状態ならリード状態に切
り替えて、リードライト選択フラグ204に対応した信号
をリードライト選択信号線515へ出力する機能を有する
トレース制御回路106を備えている。
を介してトレースデータを読み込み、トレースデータを
圧縮して圧縮メモリデータ入力バス518へ出力する機能
を有するデータ圧縮回路102を備え、さらにマイコン3
の実行アドレスおよび実行データからなるトレースデー
タをアドレスバス501,データバス502を介して取り込む
機能と、ホストアドレスバス507をデコードして、ホス
トデータバス508に従いトレース開始フラグ201とトレー
スデータ転送要求フラグ202とリードライト選択フラグ2
04とを設定する機能と、マイコン3からの実行アドレス
および実行データとを含むトレースデータをトレースデ
ータバス504へ出力する機能と、トレースデータを一方
のメモリ107に対して読み書きするためのアドレスをメ
モリアドレスバス513へ出力する機能と、トレースデー
タを他方のメモリ108に対して読み書きするためのアド
レスをメモリアドレスバス514へ出力する機能と、リー
ドライト選択フラグ204がリード状態(Low)に設定されて
いる場合には、リードライト選択信号線515へリード信
号(Low)を出力し、リードライト選択フラグ204がライト
状態(High)に設定されている場合には、リードライト選
択信号線515へライト信号(High)を出力する機能と、ト
レースデータを選択メモリデータ出力バス519を介して
読み込む機能と、ホストコンピュータ2へトレースデー
タを転送する機能と、メモリアドレスバス513およびメ
モリアドレスバス514に出力するアドレスを管理しトレ
ースデータ書き込み時にメモリがいっぱいになったこと
を検出するとリードライト選択フラグ204をリード状態
ならライト状態に、またライト状態ならリード状態に切
り替えて、リードライト選択フラグ204に対応した信号
をリードライト選択信号線515へ出力する機能を有する
トレース制御回路106を備えている。
【0073】さらにトレース部8は、リードライト選択
信号線515を介して出力されている信号がライト信号の
とき、メモリアドレスバス513の示すアドレスに圧縮メ
モリデータ入力バス518を介して出力されるトレースデ
ータを記録し、リードライト選択信号線515を介して出
力されている信号がリード信号のとき、メモリアドレス
バス513の示すアドレスに記録されているトレースデー
タをメモリデータ出力バス516へ出力する機能を有する
一方のメモリ107と、リードライト選択反転信号線520を
介して出力されている信号がライト信号のとき、メモリ
アドレスバス514の示すアドレスに圧縮メモリデータ入
力バス518を介して出力されるトレースデータを記録
し、リードライト選択反転信号線520を介して出力され
ている信号がリード信号のとき、メモリアドレスバス51
4の示すアドレスに記録されているトレースデータをメ
モリデータ出力バス517へ出力する機能を有する他方の
メモリ108と、リードライト選択信号線515がリード信号
のとき、メモリデータ出力バス516の信号を選択メモリ
データ出力バス519へ出力し、リードライト選択信号線5
15がライト信号のとき、メモリデータ出力バス517の信
号を、選択メモリデータ出力バス519へ出力する機能を
有する読み出し用セレクタ109と、リードライト選択信
号線515がリード信号のときリードライト反転信号線520
へライト信号を出力し、リードライト選択信号線515が
ライト信号のときリードライト反転信号線520へリード
信号を出力する機能を有するNOT回路110を備えてい
る。
信号線515を介して出力されている信号がライト信号の
とき、メモリアドレスバス513の示すアドレスに圧縮メ
モリデータ入力バス518を介して出力されるトレースデ
ータを記録し、リードライト選択信号線515を介して出
力されている信号がリード信号のとき、メモリアドレス
バス513の示すアドレスに記録されているトレースデー
タをメモリデータ出力バス516へ出力する機能を有する
一方のメモリ107と、リードライト選択反転信号線520を
介して出力されている信号がライト信号のとき、メモリ
アドレスバス514の示すアドレスに圧縮メモリデータ入
力バス518を介して出力されるトレースデータを記録
し、リードライト選択反転信号線520を介して出力され
ている信号がリード信号のとき、メモリアドレスバス51
4の示すアドレスに記録されているトレースデータをメ
モリデータ出力バス517へ出力する機能を有する他方の
メモリ108と、リードライト選択信号線515がリード信号
のとき、メモリデータ出力バス516の信号を選択メモリ
データ出力バス519へ出力し、リードライト選択信号線5
15がライト信号のとき、メモリデータ出力バス517の信
号を、選択メモリデータ出力バス519へ出力する機能を
有する読み出し用セレクタ109と、リードライト選択信
号線515がリード信号のときリードライト反転信号線520
へライト信号を出力し、リードライト選択信号線515が
ライト信号のときリードライト反転信号線520へリード
信号を出力する機能を有するNOT回路110を備えてい
る。
【0074】また、トレース制御回路106は、トレース
開始状態(Low)とトレース停止状態(High)の2つの状態
を示す1ビットのレジスタであるトレース開始フラグ20
1と、トレースデータ転送状態(Low)とトレースデータ転
送停止状態(High)の2つの状態を示す1ビットのレジス
タであるトレースデータ転送要求フラグ202と、リード
状態(Low)とライト状態(High)の2つの状態を示す1ビ
ットのレジスタであるリードライト選択フラグ204とを
備えている。
開始状態(Low)とトレース停止状態(High)の2つの状態
を示す1ビットのレジスタであるトレース開始フラグ20
1と、トレースデータ転送状態(Low)とトレースデータ転
送停止状態(High)の2つの状態を示す1ビットのレジス
タであるトレースデータ転送要求フラグ202と、リード
状態(Low)とライト状態(High)の2つの状態を示す1ビ
ットのレジスタであるリードライト選択フラグ204とを
備えている。
【0075】また、ホストコンピュータ2は、トレース
制御回路106のトレース開始フラグ201と、トレースデー
タ転送要求フラグ202と、リードライト選択フラグ204と
をそれぞれ設定するためのアドレスをホストアドレスバ
ス507へ出力し、データをホストデータバス508へと出力
する機能と、ホストデータバス508からトレースデータ
を読み込む機能と、圧縮されたトレースデータを解凍す
る機能とを有し、トレース制御回路106に接続されてい
る。
制御回路106のトレース開始フラグ201と、トレースデー
タ転送要求フラグ202と、リードライト選択フラグ204と
をそれぞれ設定するためのアドレスをホストアドレスバ
ス507へ出力し、データをホストデータバス508へと出力
する機能と、ホストデータバス508からトレースデータ
を読み込む機能と、圧縮されたトレースデータを解凍す
る機能とを有し、トレース制御回路106に接続されてい
る。
【0076】以上のように構成された第3実施例のイン
サーキットエミュレータについて、以下、その動作を説
明する。
サーキットエミュレータについて、以下、その動作を説
明する。
【0077】まず、初期設定として仮にホストコンピュ
ータ2からホストアドレスバス507,ホストデータバス5
08を介してリードライト選択フラグ204をライト状態と
する。このとき、リードライト選択信号線515を介して
出力されるライト信号により一方のメモリ107はライト
状態となり、他方のメモリ108はリード状態となってい
る。ホストコンピュータ2からトレース制御回路106へ
ホストアドレスバス507,ホストデータバス508を介して
トレース開始フラグ201をトレース開始状態とするため
のアドレスおよびデータを出力する。
ータ2からホストアドレスバス507,ホストデータバス5
08を介してリードライト選択フラグ204をライト状態と
する。このとき、リードライト選択信号線515を介して
出力されるライト信号により一方のメモリ107はライト
状態となり、他方のメモリ108はリード状態となってい
る。ホストコンピュータ2からトレース制御回路106へ
ホストアドレスバス507,ホストデータバス508を介して
トレース開始フラグ201をトレース開始状態とするため
のアドレスおよびデータを出力する。
【0078】トレース制御回路106は、ホストアドレス
バス507,ホストデータバス508をデコードし、トレース
開始フラグ201をトレース開始状態とする命令であり、
かつそのときトレースデータ転送要求フラグ202がトレ
ースデータ転送開始状態となっている場合、トレース開
始フラグ201をトレース開始状態とし、トレース動作を
開始して、マイコン3のアドレスバス501,データバス5
02から実行アドレスと実行データとからなるトレースデ
ータを取り込み、一方のメモリ107に記録するためのア
ドレスをメモリアドレスバス513を介して一方のメモリ1
07に出力し、トレースデータをトレースデータバス504
を介してデータ圧縮回路102に出力し、データ圧縮回路1
02においてトレースデータを圧縮して、圧縮メモリデー
タ入力バス518を介してメモリ107に記録する。
バス507,ホストデータバス508をデコードし、トレース
開始フラグ201をトレース開始状態とする命令であり、
かつそのときトレースデータ転送要求フラグ202がトレ
ースデータ転送開始状態となっている場合、トレース開
始フラグ201をトレース開始状態とし、トレース動作を
開始して、マイコン3のアドレスバス501,データバス5
02から実行アドレスと実行データとからなるトレースデ
ータを取り込み、一方のメモリ107に記録するためのア
ドレスをメモリアドレスバス513を介して一方のメモリ1
07に出力し、トレースデータをトレースデータバス504
を介してデータ圧縮回路102に出力し、データ圧縮回路1
02においてトレースデータを圧縮して、圧縮メモリデー
タ入力バス518を介してメモリ107に記録する。
【0079】このとき、読み出し用セレクタ109は、リ
ードライト選択信号線515によりメモリデータ出力バス5
17が選択されており、一方のメモリ107にトレースデー
タを記録している間に、他方のメモリ108から読み出す
ためのアドレスをメモリアドレスバス514を介して他方
のメモリ108に出力し、このメモリ108に記録されている
すべてのトレースデータをメモリデータ出力バス517
と、読み出し用セレクタ109と、選択メモリデータ出力
バス519とを介してトレース制御回路106に読み込み、ホ
ストデータバス508を介してホストコンピュータ2へ転
送する。
ードライト選択信号線515によりメモリデータ出力バス5
17が選択されており、一方のメモリ107にトレースデー
タを記録している間に、他方のメモリ108から読み出す
ためのアドレスをメモリアドレスバス514を介して他方
のメモリ108に出力し、このメモリ108に記録されている
すべてのトレースデータをメモリデータ出力バス517
と、読み出し用セレクタ109と、選択メモリデータ出力
バス519とを介してトレース制御回路106に読み込み、ホ
ストデータバス508を介してホストコンピュータ2へ転
送する。
【0080】また、トレース制御回路106は、一方のメ
モリ107に記録するためのアドレスから一方のメモリ107
がいっぱいになったことを検出すると、リードライト選
択フラグ204をリード状態にセットする。この結果、リ
ードライト選択信号線515を介して出力されるリード信
号により一方のメモリ107はリード状態となり、他方の
メモリ108はライト状態となる。トレース制御回路106
は、他方のメモリ108に記録するためのアドレスをメモ
リアドレスバス514を介して切り替えて他方のメモリ108
に出力し、トレースデータを圧縮メモリデータ入力バス
518を介してメモリ108に記録する。
モリ107に記録するためのアドレスから一方のメモリ107
がいっぱいになったことを検出すると、リードライト選
択フラグ204をリード状態にセットする。この結果、リ
ードライト選択信号線515を介して出力されるリード信
号により一方のメモリ107はリード状態となり、他方の
メモリ108はライト状態となる。トレース制御回路106
は、他方のメモリ108に記録するためのアドレスをメモ
リアドレスバス514を介して切り替えて他方のメモリ108
に出力し、トレースデータを圧縮メモリデータ入力バス
518を介してメモリ108に記録する。
【0081】このとき、読み出し用セレクタ109はリー
ドライト選択信号線515によりメモリデータ出力バス516
が選択されており、またトレース制御回路106は、一方
のメモリ107から読み出すためのアドレスをメモリアド
レスバス513を介して一方のメモリ107に出力し、トレー
スデータをメモリデータ出力バス516と、読み出し用セ
レクタ109と、選択メモリデータ出力バス519とを介して
トレース制御回路106に読み込みホストデータバス508を
介してホストコンピュータ2へ転送する。また、他方の
メモリ108に記録するためのアドレスからメモリ108がい
っぱいになったことを検出したときは、リードライト選
択フラグ204をライト状態にセットし、一方のメモリ107
をライト状態とし、他方のメモリ108をリード状態と
し、以後、上記動作を繰り返す。
ドライト選択信号線515によりメモリデータ出力バス516
が選択されており、またトレース制御回路106は、一方
のメモリ107から読み出すためのアドレスをメモリアド
レスバス513を介して一方のメモリ107に出力し、トレー
スデータをメモリデータ出力バス516と、読み出し用セ
レクタ109と、選択メモリデータ出力バス519とを介して
トレース制御回路106に読み込みホストデータバス508を
介してホストコンピュータ2へ転送する。また、他方の
メモリ108に記録するためのアドレスからメモリ108がい
っぱいになったことを検出したときは、リードライト選
択フラグ204をライト状態にセットし、一方のメモリ107
をライト状態とし、他方のメモリ108をリード状態と
し、以後、上記動作を繰り返す。
【0082】また、トレース制御回路106は、ホストア
ドレスバス507,ホストデータバス508をデコードし、ト
レース開始フラグ201をトレース開始状態とする命令で
あり、かつそのときトレースデータ転送要求フラグ202
がトレースデータ転送停止状態となっている場合、トレ
ース開始フラグ201をトレース開始状態として、トレー
ス動作を開始し、マイコン3のアドレスバス501および
データバス502から実行アドレスと実行データとからな
るトレースデータを取り込み、一方のメモリ107に記録
する。トレース制御回路106は、一方のメモリ107に記録
するためのアドレスから一方のメモリ107がいっぱいに
なったことを検出したとき、またはホストコンピュータ
2からホストアドレスバス507,ホストデータバス508を
介してトレース開始フラグ201をトレース停止状態にす
る命令を受けたとき、トレース開始フラグ201をトレー
ス停止状態として、トレース動作を停止する。
ドレスバス507,ホストデータバス508をデコードし、ト
レース開始フラグ201をトレース開始状態とする命令で
あり、かつそのときトレースデータ転送要求フラグ202
がトレースデータ転送停止状態となっている場合、トレ
ース開始フラグ201をトレース開始状態として、トレー
ス動作を開始し、マイコン3のアドレスバス501および
データバス502から実行アドレスと実行データとからな
るトレースデータを取り込み、一方のメモリ107に記録
する。トレース制御回路106は、一方のメモリ107に記録
するためのアドレスから一方のメモリ107がいっぱいに
なったことを検出したとき、またはホストコンピュータ
2からホストアドレスバス507,ホストデータバス508を
介してトレース開始フラグ201をトレース停止状態にす
る命令を受けたとき、トレース開始フラグ201をトレー
ス停止状態として、トレース動作を停止する。
【0083】また、トレース動作が停止している場合に
も、ホストコンピュータ2のホストアドレスバス507,
ホストデータバス508を介してトレースデータ転送要求
フラグ202がトレースデータ転送状態にセットされたと
きには、リード状態となっているメモリ107,108からデ
ータを読み込みトレース制御回路106を介してホストコ
ンピュータ2へトレースデータを転送する。
も、ホストコンピュータ2のホストアドレスバス507,
ホストデータバス508を介してトレースデータ転送要求
フラグ202がトレースデータ転送状態にセットされたと
きには、リード状態となっているメモリ107,108からデ
ータを読み込みトレース制御回路106を介してホストコ
ンピュータ2へトレースデータを転送する。
【0084】また、トレース制御回路106は、ホストコ
ンピュータ2からホストアドレスバス507,ホストデー
タバス508を介してトレース開始フラグ201をトレース停
止状態にする命令を受けたときは、トレース開始フラグ
201をトレース停止状態として、トレース動作を停止す
る。
ンピュータ2からホストアドレスバス507,ホストデー
タバス508を介してトレース開始フラグ201をトレース停
止状態にする命令を受けたときは、トレース開始フラグ
201をトレース停止状態として、トレース動作を停止す
る。
【0085】以上のように第3実施形態によれば、トレ
ース動作時、一対のメモリ107,108のうち、一方のメモ
リをリード状態とし、他方のメモリをライト状態とする
と、トラフィックデータ量が減少しているため一方のメ
モリにトレースデータを記録している間に、他方のメモ
リから記録されているすべてのトレースデータを読み出
し、ホストコンピュータ2へ転送することができ、記録
している側のメモリがいっぱいになると、リード状態で
あった他のメモリをライト状態に、またライト状態であ
ったメモリをリード状態に切り替え、ライト状態のメモ
リにトレースデータを記録し、リード状態のメモリから
トレースデータを読み出して、ホストコンピュータ2へ
転送するという動作を繰り返すことにより、トレースデ
ータ転送中においてもトレース動作を停止する必要がな
く、連続してトレース動作を行うことができる。
ース動作時、一対のメモリ107,108のうち、一方のメモ
リをリード状態とし、他方のメモリをライト状態とする
と、トラフィックデータ量が減少しているため一方のメ
モリにトレースデータを記録している間に、他方のメモ
リから記録されているすべてのトレースデータを読み出
し、ホストコンピュータ2へ転送することができ、記録
している側のメモリがいっぱいになると、リード状態で
あった他のメモリをライト状態に、またライト状態であ
ったメモリをリード状態に切り替え、ライト状態のメモ
リにトレースデータを記録し、リード状態のメモリから
トレースデータを読み出して、ホストコンピュータ2へ
転送するという動作を繰り返すことにより、トレースデ
ータ転送中においてもトレース動作を停止する必要がな
く、連続してトレース動作を行うことができる。
【0086】なお、第3実施形態ではメモリ107,108が
2つの場合を例にして説明したが、3つ以上のメモリを
設置した場合でも同様に実施することができる。
2つの場合を例にして説明したが、3つ以上のメモリを
設置した場合でも同様に実施することができる。
【0087】
【発明の効果】以上のように本発明に係るインサーキッ
トエミュレータによれば、トレース時に、データ圧縮回
路によりトレース制御回路から出力されるトレースデー
タを圧縮しデータトラフィック量を減少させることによ
り、トレースデータ転送時に、トレースデータをホスト
コンピュータへ高速に転送することができるようにな
り、ホストコンピュータからインサーキットエミュレー
タに対するレスポンスを向上させることができ、またト
レースデータを転送するためにトレース動作を停止させ
なければならないトレース動作停止時間を減少させるこ
とができる。
トエミュレータによれば、トレース時に、データ圧縮回
路によりトレース制御回路から出力されるトレースデー
タを圧縮しデータトラフィック量を減少させることによ
り、トレースデータ転送時に、トレースデータをホスト
コンピュータへ高速に転送することができるようにな
り、ホストコンピュータからインサーキットエミュレー
タに対するレスポンスを向上させることができ、またト
レースデータを転送するためにトレース動作を停止させ
なければならないトレース動作停止時間を減少させるこ
とができる。
【0088】また、トレース動作時に、トレースデータ
に冗長な信号が多く含まれデータ圧縮によりデータトラ
フィック量が減少する場合にはトレースデータを圧縮
し、逆にトレースデータに冗長な部分が少なく圧縮によ
りデータトラフィック量が増加してしまう場合にはトレ
ースデータを無圧縮とすることができ、トレースデータ
転送時にホストコンピュータへ転送するデータトラフィ
ック量がトレースデータを圧縮することにより増加する
ことを防ぐことができる。
に冗長な信号が多く含まれデータ圧縮によりデータトラ
フィック量が減少する場合にはトレースデータを圧縮
し、逆にトレースデータに冗長な部分が少なく圧縮によ
りデータトラフィック量が増加してしまう場合にはトレ
ースデータを無圧縮とすることができ、トレースデータ
転送時にホストコンピュータへ転送するデータトラフィ
ック量がトレースデータを圧縮することにより増加する
ことを防ぐことができる。
【0089】また、トレース動作時、複数のメモリのう
ち、一方のメモリをリード状態、他方のメモリをライト
状態とし、データトラフィック量が減少しているため一
方のメモリにトレースデータを記録している間に、他方
のメモリから記録されているすべてのトレースデータを
読み出し、ホストコンピュータ2へ転送することがで
き、記録している側のメモリがいっぱいになると、リー
ド状態であったメモリをライト状態に切り替え、ライト
状態であったメモリをリード状態に切り替え、ライト状
態のメモリにトレースデータを記録し、リード状態のメ
モリからトレースデータを読み出して、ホストコンピュ
ータへ転送するという動作を繰り返すことによりトレー
スデータ転送中においてもトレース動作を停止する必要
がなく、連続してトレース動作を行うことができる。
ち、一方のメモリをリード状態、他方のメモリをライト
状態とし、データトラフィック量が減少しているため一
方のメモリにトレースデータを記録している間に、他方
のメモリから記録されているすべてのトレースデータを
読み出し、ホストコンピュータ2へ転送することがで
き、記録している側のメモリがいっぱいになると、リー
ド状態であったメモリをライト状態に切り替え、ライト
状態であったメモリをリード状態に切り替え、ライト状
態のメモリにトレースデータを記録し、リード状態のメ
モリからトレースデータを読み出して、ホストコンピュ
ータへ転送するという動作を繰り返すことによりトレー
スデータ転送中においてもトレース動作を停止する必要
がなく、連続してトレース動作を行うことができる。
【図1】本発明の第1実施形態におけるインサーキット
エミュレータの構成を示すブロック図
エミュレータの構成を示すブロック図
【図2】本発明の第2実施形態におけるインサーキット
エミュレータの構成を示すブロック図
エミュレータの構成を示すブロック図
【図3】本発明の第3実施形態におけるインサーキット
エミュレータの構成を示すブロック図
エミュレータの構成を示すブロック図
【図4】従来のインサーキットエミュレータの構成を示
すブロック図
すブロック図
【図5】従来のインサーキットエミュレータの構成を示
すブロック図
すブロック図
1,5,7 インサーキットエミュレータ 2 ホストコンピュータ 3 マイコン 4,6,8 トレース部 101,104,106 トレース制御回路 102 データ圧縮回路 103,107,108 メモリ 105 セレクタ 109 読み出し用セレクタ 110 NOT回路 201 トレース開始フラグ 202 トレースデータ転送要求フラグ 203 圧縮選択フラグ 204 リードライト選択フラグ 501 アドレスバス 502 データバス 503,513,514 メモリアドレスバス 504 トレースデータバス 505 メモリデータ入力バス 506,516,517 メモリデータ出力バス 507 ホストアドレスバス 508 ホストデータバス 509 圧縮データバス 510 無圧縮トレースデータバス 511 セレクト信号線 512 セレクタメモリデータ入力バス 515 リードライト選択信号線 518 圧縮メモリデータ入力バス 519 選択メモリデータ出力バス 520 リードライト選択反転信号
フロントページの続き (72)発明者 森河 徹 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 Fターム(参考) 5B042 HH03 HH30 MA04 MA09 MA19 MA20 MC03 MC09
Claims (6)
- 【請求項1】 トレースメモリと圧縮手段とを備え、ト
レースデータを前記圧縮手段によって圧縮して前記トレ
ースメモリへ格納する構成にしたことを特徴とするイン
サーキットエミュレータ。 - 【請求項2】 トレースデータを圧縮してメモリへ格納
することを可能にしたインサーキットエミュレータであ
って、 トレースデータを記録するためのメモリと、 命令実行時のアドレスである実行アドレスと、その命令
が実行されるときのデータバスの値とデバッグに必要な
信号データを含む実行データとからなるトレースデータ
を出力する演算処理部と、 トレース動作を開始するためのトレース開始フラグとト
レースデータ転送を開始するためのトレースデータ転送
要求フラグとを備え、トレースデータを前記演算処理部
から取り込み出力する機能と、前記メモリに対してトレ
ースデータを読み書きするためのアドレスを出力する機
能と、前記メモリからトレースデータを読み込む機能と
を有するトレース制御回路と、 前記トレース制御回路と前記メモリとに接続されトレー
スデータを圧縮するためのデータ圧縮回路と、を備えた
ことを特徴とするインサーキットエミュレータ。 - 【請求項3】 トレースメモリと、圧縮手段と、トレー
スデータを前記圧縮手段によって圧縮して前記トレース
メモリへ格納するか、あるいはトレースデータを圧縮せ
ずに前記トレースメモリへ格納するかを選択する選択手
段とを備えたことを特徴とするインサーキットエミュレ
ータ。 - 【請求項4】 トレースデータを圧縮してメモリへ格納
するか、あるいはトレースデータを圧縮せずにメモリへ
格納するかを選択することを可能にしたインサーキット
エミュレータであって、 トレースデータを記録するためのメモリと、 命令実行時のアドレスである実行アドレスと、その命令
が実行されるときのデータバスの値とデバッグに必要な
信号データを含む実行データとからなるトレースデータ
を出力する演算処理部と、 トレース動作を開始するためのトレース開始フラグとト
レースデータ転送を開始するためのトレースデータ転送
要求フラグと圧縮選択フラグとを備え、トレースデータ
を前記演算処理部から取り込み出力する機能と、前記メ
モリに対して前記トレースデータを読み書きするための
アドレスを出力する機能と、前記メモリからトレースデ
ータを読み込む機能と、トレースデータを圧縮するか否
かを示す信号を出力する機能を有するトレース制御回路
と、 前記トレース制御回路と前記メモリとに接続され、トレ
ースデータを圧縮するためのデータ圧縮回路と、 前記トレース制御回路からの信号に従い、前記データ圧
縮回路により圧縮されたトレースデータか、あるいは無
圧縮のトレースデータかを選択するためのセレクタと、
を備えたことを特徴とするインサーキットエミュレー
タ。 - 【請求項5】 少なくとも2つ以上のトレースメモリ
と、圧縮手段を備え、前記トレースメモリのいずれかに
対してトレースデータを前記圧縮手段によって圧縮して
書き込むと同時に、他のトレースメモリからトレースデ
ータを読み出す構成にしたことを特徴とするインサーキ
ットエミュレータ。 - 【請求項6】 2つのメモリを備え、前記メモリの一方
に対してトレースデータを圧縮して書き込むと同時に、
他方のメモリからトレースデータを読み出すことを可能
にしたインサーキットエミュレータであって、 トレースデータを記録するための2つのメモリと、 命令実行時のアドレスである実行アドレスと、その命令
が実行されるときのデータバスの値とデバッグに必要な
信号データを含む実行データとからなるトレースデータ
を出力する演算処理部と、 トレース動作を開始するためのトレース開始フラグとト
レースデータ転送を開始するためのトレースデータ転送
要求フラグと前記メモリのリードライト状態を示すリー
ドライト選択フラグとを備え、トレースデータを前記演
算処理部から取り込み出力する機能と、前記メモリに対
してトレースデータを読み書きするためのアドレスを出
力する機能と、前記メモリからトレースデータを読み込
む機能と、前記メモリのリード状態とライト状態を切り
替えるためのリードライト選択信号を出力する機能とを
有するトレース制御回路と、 前記トレース制御回路と前記メモリとに接続されトレー
スデータを圧縮するためのデータ圧縮回路と、 2つのメモリから前記トレース制御回路に読み込むトレ
ースデータを選択するためのセレクタと、を備えたこと
を特徴とするインサーキットエミュレータ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11005514A JP2000207245A (ja) | 1999-01-12 | 1999-01-12 | インサ―キットエミュレ―タ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11005514A JP2000207245A (ja) | 1999-01-12 | 1999-01-12 | インサ―キットエミュレ―タ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2000207245A true JP2000207245A (ja) | 2000-07-28 |
Family
ID=11613307
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP11005514A Pending JP2000207245A (ja) | 1999-01-12 | 1999-01-12 | インサ―キットエミュレ―タ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2000207245A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6615371B2 (en) * | 2002-03-11 | 2003-09-02 | American Arium | Trace reporting method and system |
| GB2453174A (en) * | 2007-09-28 | 2009-04-01 | Advanced Risc Mach Ltd | Generating a compressed trace stream for a data processing apparatus |
| JP2013097580A (ja) * | 2011-10-31 | 2013-05-20 | Mitsubishi Electric Corp | 動的解析装置、動的解析システム、動的解析方法、及びプログラム |
-
1999
- 1999-01-12 JP JP11005514A patent/JP2000207245A/ja active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6615371B2 (en) * | 2002-03-11 | 2003-09-02 | American Arium | Trace reporting method and system |
| GB2453174A (en) * | 2007-09-28 | 2009-04-01 | Advanced Risc Mach Ltd | Generating a compressed trace stream for a data processing apparatus |
| GB2453174B (en) * | 2007-09-28 | 2011-12-07 | Advanced Risc Mach Ltd | Techniques for generating a trace stream for a data processing apparatus |
| JP2013097580A (ja) * | 2011-10-31 | 2013-05-20 | Mitsubishi Electric Corp | 動的解析装置、動的解析システム、動的解析方法、及びプログラム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH07121352A (ja) | 演算処理装置 | |
| JPH0786870B2 (ja) | コプロセツサのデータ転送制御方法およびその回路 | |
| US4763254A (en) | Information processing system with data storage on plural loop transmission line | |
| JP2000207245A (ja) | インサ―キットエミュレ―タ | |
| JP2878264B1 (ja) | トレーサ装置、トレースデータ圧縮方法および圧縮トレースデータ読み出し方法 | |
| JP4003919B2 (ja) | データ処理装置およびデータ処理方法 | |
| JP3221763B2 (ja) | 音声コーデック | |
| CN120010794B (zh) | 一种软件磁盘阵列的数据存储方法、设备、介质及产品 | |
| KR100888427B1 (ko) | 공유 메모리를 구비한 디지털 처리 장치 및 데이터 출력방법 | |
| KR0185936B1 (ko) | A/v디코더의 데이타 입력제어회로 | |
| JPH07191822A (ja) | データ記憶装置及びデータシステム | |
| JPH1139184A (ja) | エミュレータ | |
| JP3146197B2 (ja) | データ転送装置及び記憶装置 | |
| JP3182287B2 (ja) | マイクロプロセッサ | |
| JPH05120060A (ja) | 障害データ採取方式 | |
| JPH06303439A (ja) | イメージデータ処理装置 | |
| JPS62248043A (ja) | マイクロコンピユ−タ・インストラクシヨン・フエツチ用メモリ切換回路 | |
| JPH01283635A (ja) | バッファ制御回路 | |
| JPH05197451A (ja) | 情報処理装置 | |
| JPH10269170A (ja) | バス接続装置 | |
| JPH0542795A (ja) | プロツタ装置 | |
| KR20000074709A (ko) | 화상 통신기기의 수신 데이터 구조 및 수신 장치 | |
| JPH1165887A (ja) | プロセッサ | |
| KR950020231A (ko) | 프로세서 보드 이중화를 위한 듀얼 쓰기 방법 및 장치 | |
| JPH05314049A (ja) | チャネル装置 |