JP2001175510A - トレースデータ圧縮方法およびトレースデータ圧縮方式 - Google Patents
トレースデータ圧縮方法およびトレースデータ圧縮方式Info
- Publication number
- JP2001175510A JP2001175510A JP36413799A JP36413799A JP2001175510A JP 2001175510 A JP2001175510 A JP 2001175510A JP 36413799 A JP36413799 A JP 36413799A JP 36413799 A JP36413799 A JP 36413799A JP 2001175510 A JP2001175510 A JP 2001175510A
- Authority
- JP
- Japan
- Prior art keywords
- data
- register
- field
- trace data
- trace
- 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.)
- Granted
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
うにし、デバッグや障害解析に必要なデータのみを確実
に収集するようにして効率よくトレースバッファを使用
する。 【解決手段】 LSI内部の複数の状態値を周期的の記
録するトレーサにおいて、トレースデータを状態値の変
化する頻度の高い第一のフィールドと状態値の変化する
頻度の低い第二のフィールドとに分割し、最新の登録ト
レースデータの第二のフィールドのデータと受信したト
レースデータの第二のフィールドのデータとを比較して
一致する場合には、前記受信したトレースデータの第二
のフィールドのデータを登録しない。受信したトレース
データを登録するときには、前記第一のフィールドおよ
び前記第二のフィールドの各データにそれぞれ識別子を
付して登録する。
Description
方法およびトレースデータ圧縮方式に関し、特にLSI
内部の複数の状態値を一定周期で記録するトレーサにお
いて、連続する同一の状態値を記録しないようにして格
納データの量を削減するトレースデータ圧縮方法および
トレースデータ圧縮方式に関する。
するためには、LSI内部の状態値を時間的に連続して
把握することが必要である。そしてこの状態値を参照し
ながら、問題を解決していくことになる。
としてトレーサがあり、このトレース機能を内蔵するL
SIも存在する。
に伴ないLSI当りの機能が増加し、トレーサで収集す
べきデータ量が大幅に増大している。したがって、トレ
ースデータを記録するトレースバッファの容量を拡大し
なければならない。
内部の状態値を記録する従来のトレーサは問題解決のた
めの情報を十分に提供することができない場合が多い。
そのためにトレースバッファの容量を拡大すると、高価
なハードウェア量を増加させコスト増を招くばかりでな
く、装置を大規模化させるという欠点がある。
善するために、繰返えして発生する同一のデータを記録
しないようにし、問題の解決に必要なデータのみを確実
に収集するようにして効率よくトレースバッファを使用
するトレースデータ圧縮方法およびトレースデータ圧縮
方式を提供することにある。
圧縮方法は、 LSI内部の複数の状態値を周期的の記
録するトレーサにおいて、トレースデータを複数のフィ
ールドに分割し、任意の周期のトレースデータとその次
の周期のトレースデータとをフィールドごとに比較し、
状態値に差異のあるフィールドのデータを記録し、状態
値に差異のないフィールドのデータを記録しないことを
特徴とする。
複数のフィールドに分割したトレースデータを記録する
とき、各フィールドのデータにそれぞれ識別子を付して
記録することを特徴とする。
は、 LSI内部の複数の状態値を周期的の記録するト
レーサにおいて、トレースデータを状態値の変化する頻
度の高い第一のフィールドと状態値の変化する頻度の低
い第二のフィールドとに分割し、最新の登録トレースデ
ータの第二のフィールドのデータと受信したトレースデ
ータの第二のフィールドのデータとを比較して一致する
場合には、前記受信したトレースデータの第二のフィー
ルドのデータを登録しないことを特徴とする。
は、受信したトレースデータを登録するときには、前記
第一のフィールドおよび前記第二のフィールドの各デー
タにそれぞれ識別子を付して登録することを特徴とす
る。
トレースデータの第一のフィールドのデータを保持する
第一のデータレジスタと、前記トレースデータの第二の
フィールドのデータを保持する第二のデータレジスタ
と、前記第一または前記第二のデータレジスタの各デー
タにそれぞれ識別子を付して登録する第一および第二の
トレースデータ格納バッファと、前記第二のデータレジ
スタのデータと次に受信したトレースデータの第二のフ
ィールドのデータとを比較するデータ一致検出回路と、
前記データ一致検出回路が一致を検出したときには前記
第二のフィールドのデータの登録を抑止し,前記データ
一致検出回路が不一致を検出したときには前記第一およ
び前記第二のフィールドの各データにそれぞれ識別子を
付し,前記第一および第二のトレースデータ格納バッフ
ァのいずれかに登録することを決定する第一および第二
のデータセレクタと、前記第一および第二のトレースデ
ータ格納バッファにフィールドごとに識別子を付したト
レースデータを順次に書込むアドレス決定手段とを具備
することを特徴とする。
は、前記第一のデータレジスタのデータと次に受信した
トレースデータの第一のフィールドのデータとを比較す
るデータ一致検出回路と、前記第一および第二のトレー
スデータ格納バッファにそれぞれ設けられ,前記データ
一致検出回路が一致を検出するごとにそれをカウントし
て保持する第一および第二のカウンタフィールドとを備
え、前記第一のフィールドのデータを圧縮することを特
徴とする。
おいて、前記カウンタフィールドは前記トレースデータ
格納バッファのワード数と1対1で対応しているフィー
ルド情報格納レジスタと、前記フィールド情報格納レジ
スタをインクリメントするフィールド情報格納レジスタ
加算回路と、前記フィールド情報格納レジスタのポイン
タとなるワードポインタと、前記ワードポインタをイン
クリメントするワードポインタ加算回路とを含むことを
特徴とする。
してLSI内部の複数の状態値を一定周期(例えば毎ク
ロック)で記録するトレーサにおいて、各々のトレース
データの状態値が変化する頻度に差があることに着目
し、トレースデータを複数のフィールドに分割し、1つ
前にトレースしたデータから変化のないフィールドのデ
ータ圧縮を行うことにより、トレーサメモリ(トレース
データ格納バッファ)の使用効率を向上させる。
しながら説明する。
ロック図である。同図を参照すると、本発明によるトレ
ースデータ圧縮方式は、受信したトレースデータ100
を状態値が変化する頻度の高いフィールドaのデータ1
00aと、状態値が変化する頻度の低いフィールドbの
データ100bとに分割しておく。フィールドaのデー
タ100aはデータレジスタ10aに格納され、フィー
ルドbのデータ100bはデータレジスタ10bに格納
される。データレジスタ10aの出力データにフィール
ドaのデータ100aを示す識別子0を付け加えたデー
タ信号102aと、データレジスタ10bの出力データ
にフィールドbのデータ100bを示す識別子1を付け
加えたデータ信号102bとは、いずれもデータセレク
タ14aとデータセレクタ14bとの両方に出力され
る。
タ10bに格納されている最新書き込みデータと次にデ
ータレジスタ10bに書き込まれるフィールドbのデー
タ100bとの比較を行う。
スタ11aの保持するアドレス値およびアドレスレジス
タ11bの保持するアドレス値の比較を行う比較回路で
ある。データセレクタ14aおよびデータセレクタ14
bはアドレス一致検出回路41の出力により、データ信
号102aまたはデータ信号102bをセレクトし、デ
ータセレクタ14aからの出力データ104aはトレー
スデータ格納バッファ13aに出力され、データセレク
タ14bからの出力データ104bはトレースデータ格
納バッファ13bに出力される。
ーサ開始を示す外部信号111の出力とライトスタート
ビット17の出力とデータ一致検出回路40の出力とア
ドレス一致検出回路41の出力により、ライトイネーブ
ルレジスタ12aに書き込み制御指示を出力する。ライ
トイネーブル制御回路15bは、トレーサ開始を示す外
部信号111の出力とライトスタートビット17の出力
とデータ一致検出回路40の出力とアドレス一致検出回
路41出力により、ライトイネーブルレジスタ12bに
書き込み制御指示を出力する。
aは、ライトイネーブルレジスタ12aの出力する書き
込み指示信号105aの出力に従って、書き込み指示信
号105aが有効な時アドレスレジスタ11aの示すト
レースデータ格納バッファ13aの番地に書き込まれ
る。データセレクタ14bの出力データ104bは、ラ
イトイネーブルレジスタ12bの出力する書き込み指示
信号105bの出力に従って、書き込み指示信号105
bが有効な時アドレスレジスタ11bの示すトレースデ
ータ格納バッファ13bの番地に書き込まれる。
ルレジスタ12aの出力する書き込み指示信号105a
により、書き込み指示信号105aが有効な時アドレス
レジスタ11aのアドレス値に1を加える。アドレス加
算回路16bはライトイネーブルレジスタ12bの出力
する書き込み指示信号105bの出力により、書き込み
指示信号105bが有効な時アドレスレジスタ11bの
アドレス値に1を加える。
レースデータ読み出しを指示するリード指示信号108
を受信することにより、リードを開始する。ライトイネ
ーブルレジスタ12aおよびライトイネーブルレジスタ
12bがリード指示信号108により、書き込み抑止指
示を出力する。
リード指示信号108の出力を受けて、トレースデータ
格納バッファ13aおよびトレースデータ格納バッファ
13bに読み出しを指示する。
の読み出しを指示するリード指示信号108と、アドレ
ス一致検出回路41と、アドレスレジスタ11aの示す
トレースデータ格納バッファ13aの番地の識別子およ
びアドレスレジスタ11bの示すトレースデータ格納バ
ッファ13bの番地の識別子を比較する識別子一致検出
回路42の出力により、リード制御レジスタ19aに読
み出し制御指示を出力する。リード制御回路20bは、
リード指示信号108とアドレス一致検出回路41と識
別子一致検出回路42の出力により、リード制御レジス
タ19bに読み出し制御指示を出力する。
み出し指示信号109aに従い、読み出し指示信号10
9aが有効な時、アドレス加算回路16aによりアドレ
スレジスタ11aの値は1加算され、読み出し指示信号
109aが抑止指示を出力している時はアドレスレジス
タ11aの値は変化しない。リード制御レジスタ19b
の読み出し指示信号109bの出力に従い、読み出し指
示信号109bが有効な時、アドレス加算回路16bに
よりアドレスレジスタ11bの値は1加算され、読み出
し指示信号109bが抑止指示を出力している時はアド
レスレジスタ11bの値は変化しない。
データ103aおよびトレースデータ格納バッファ13
bの出力データ103bはいずれもリードデータセレク
タ22aおよびリードデータセレクタ22bに出力され
る。アドレス一致検出回路41の出力が一致の場合、リ
ードデータセレクタ22aはトレースデータ格納バッフ
ァ13aの出力データであるバッファリードデータ10
3aを出力し、リードデータセレクタ22bはトレース
データ格納バッファ13bの出力データであるバッファ
リードデータ103bを出力する。アドレス一致検出回
路41の出力が不一致の場合、リードデータセレクタ2
2aはバッファリードデータ103bを出力し、リード
データセレクタ22bはバッファリードデータ103a
を出力する。
たデータ107aはリードデータレジスタ21aに格納
され、リードデータセレクタ22bから出力されたデー
タ107bはリードデータレジスタ21bに格納され
る。
場合、リードデータレジスタ21bに格納されたデータ
107bはホールドされる。格納されたデータは読み出
しデータ110として外部に出力される。
イト動作を示す波形図である。同図において、トレース
データ100が時刻T1にU0L0,時刻T2にU1L
1,時刻T3にU2L2(L0=L1=L2)と連続し
て送られてきた場合、時刻T2ではデータレジスタ10
aにU0,データレジスタ10bにL0が格納され、時
刻T3ではデータレジスタ10aにU1,データレジス
タ10bにL1が格納され、時刻T4ではデータレジス
タ10aにU2,データレジスタ10bにL2が格納さ
れる。
タにフィールドaのデータ100aを示す識別子0を付
け加えたデータ信号102aと、データレジスタ10b
の出力データにフィールドbのデータ100bを示す識
別子1を付け加えたデータ信号102bは、データセレ
クタ14aとデータセレクタ14bに出力される。
タ10bに格納されている最新書き込みデータと次にデ
ータレジスタ10bに格納されるフィールドbのデータ
100bの比較を行い、出力結果をライトイネーブル制
御回路15aおよびライトイネーブル制御回路15bに
出力する。
ジスタ10bに格納されている最新書き込みデータのL
0と次にデータレジスタ10bに格納されるL1との比
較をし、L1=L0なのでデータ一致検出回路はデータ
一致を検出し、ライト制御回路15aおよびライト制御
回路15bに結果を出力する。また時刻T3においてデ
ータレジスタ10bに格納されている最新書き込みデー
タのL1と次にデータレジスタ10bに格納されるL2
との比較をし、L2=L1のなのでデータ一致を検出
し、ライト制御回路15aおよびライト制御回路15b
に結果を出力する。
タ格納バッファ13aのアドレス値を保持するアドレス
をアドレスレジスタ11aとトレースデータ格納バッフ
ァ13bのアドレス値を保持するアドレスレジスタ11
bとの比較を行い、結果をライトイネーブル制御回路1
5aとライトイネーブル制御回路15bとデータセレク
タ14aとデータセレクタ14bとに出力する。
レジスタ11aとアドレスレジスタ11bの値を比較す
ると、同じ値を保持しているので、時刻T2においてア
ドレス一致検出回路41はアドレス一致を検出し、ライ
ト制御回路15aとライト制御回路15bとデータセレ
クタ14aとデータセレクタ14bとに結果を出力す
る。
の値とアドレスレジスタ11bの値を比較すると、同じ
値を保持しているので、時刻T3においてアドレス一致
検出回路41はアドレス一致を検出し、ライト制御回路
15aとライト制御回路15bとデータセレクタ14a
とデータセレクタ14bとに結果を出力する。
aの値とアドレスレジスタ11bの値を比較すると、異
なる値を保持しているので、時刻T4においてアドレス
一致検出回路41はアドレス不一致を検出し、ライト制
御回路15aとライト制御回路15bとデータセレクタ
14aとデータセレクタ14bに結果を出力する。
た時、データセレクタ14aは識別子0を持つフィール
ドaのデータ102aを出力し、データセレクタ14b
は識別子1を持つフィールドbのデータ102bを出力
する。アドレス一致検出回路41の出力が不一致の時、
データセレクタ14aは識別子1を持つフィールドbの
データ102bを出力し、データセレクタ14bは識別
子0を持つフィールドaのデータ102aを出力する。
回路41が一致を検出しているので、時刻T3ではセレ
クトデータ出力信号104aには0U0が出力され、セ
レクトデータ出力信号104bには1L0が出力され
る。
致を検出しているので、時刻T4ではセレクトデータ出
力信号104aには0U1が出力され、セレクトデータ
出力信号104bには1L1が出力される。
一致を検出しているので、時刻T5ではセレクトデータ
出力信号104aには1L2が出力され、セレクトデー
タ出力信号104bには0U2が出力される。
ーサ開始を示す外部信号111の出力とライトスタービ
ット17の出力とデータ一致検出回路40の出力とアド
レス一致検出回路41の出力とによりライトイネーブル
レジスタ12aに書き込み制御指示を出力し、ライトイ
ネーブル制御回路15bはトレーサスタートビット17
の出力とライトスタートビット17の出力とデータ一致
検出回路40の出力とアドレス一致検出回路41出力と
により、ライトイネーブルレジスタ12bに書き込み制
御指示を出力する。ライトイネーブルレジスタ12aの
出力によりアドレス加算回路16aはアドレスレジスタ
11aの値に1を加算し、ライトイネーブルレジスタ1
2bの出力によりアドレス加算回路16bはアドレスレ
ジスタ11bの値に1を加算する。
す外部信号111の開始有効の出力およびライトスター
トビット17の書き込み抑止出力により、ライトイネー
ブル制御回路15aおよびライトイネーブル制御回路1
5bは書き込み有効指示を出力し、時刻T2でライトイ
ネーブルレジスタ12aおよびライトイネーブルレジス
タ12bは書き込み有効を示す。ライトイネーブルレジ
スタ12aおよびライトイネーブルレジスタ12bの書
き込み有効の出力結果により、時刻T3でアドレスレジ
スタ11aの値はアドレス加算回路16aにより1加算
され、アドレスレジスタ11bの値はアドレス加算回路
16bにより1加算される。時刻T3のアドレス一致検
出回路41の一致結果を受けライトイネーブル制御回路
15aは書き込み有効指示を出力し、時刻T3でライト
イネーブルレジスタ12aは書き込み有効を示す。
結果の出力を受け、ライトイネーブル制御回路15bは
書き込み抑止指示を出力し、時刻T3でライトイネーブ
ルレジスタ12bは書き込み抑止を示す。ライトイネー
ブルレジスタ12aの書き込み有効の出力により、時刻
T4でアドレスレジスタ11aの値はアドレス加算回路
16aにより1加算され、ライトイネーブルレジスタ1
2bの書き込み抑止の出力により、時刻T4でアドレス
レジスタ11bの値は時刻T3の値を保持する。
結果と時刻T4のアドレス一致検出回路41の不一致結
果より、ライトイネーブル制御回路15aは書き込み抑
止指示を出力し、ライトイネーブル制御回路15bは書
き込み有効指示を出力する。
aは書き込み抑止を示し、ライトイネーブルレジスタ1
2bは書き込み有効を示す。ライトイネーブルレジスタ
12aの書き込み抑止の出力により時刻T5でアドレス
レジスタ11aの値は時刻T4の値を保持し、ライトイ
ネーブルレジスタ12bの書き込み有効の出力により時
刻T5でアドレスレジスタ11bの値はアドレス加算回
路16bにより1加算される。
ルレジスタ12aの出力の書き込み指示信号105aに
従って、アドレスレジスタ11aの示すトレースデータ
格納バッファ13aに書き込まれ、セレクトデータ10
4bはライトイネーブルレジスタ12bの出力の書き込
み指示信号105bに従って、アドレスレジスタ11b
の示すトレースデータ格納バッファ13bに書き込まれ
る。
示信号105aの書き込み有効指示により、T2でアド
レスレジスタ11aが示しているトレースデータ格納バ
ッファ13aの0番地に0U0が書き込まれ、時刻T2
の書き込み指示信号105bの書き込み有効指示によ
り、T2でアドレスレジスタ11bが示しているトレー
スデータ格納バッファ13bの0番地に1L0が書き込
まれる。
示信号105aの書き込み有効指示により、T3でアド
レスレジスタ11aが示しているトレースデータ格納バ
ッファ13aの1番地に0U1が書き込まれるが、時刻
T3の書き込み指示信号105bの書き込み抑止指示に
より、T3でアドレスレジスタ11bが示しているトレ
ースデータ格納バッファ13bの1番地に1L1は書き
込まれない。
示信号105aの書き込み抑止指示により、T4でアド
レスレジスタ11aが示しているトレースデータ格納バ
ッファ13aの2番地に1L2は書き込まず、時刻T4
の書き込み指示信号105bの書き込み抑止指示によ
り、T4でアドレスレジスタ11bが示しているトレー
スデータ格納バッファ13bの1番地に0U2が書き込
まれる。
データ格納バッファ13aおよびトレースデータ格納バ
ッファ13bの様子を示す説明図である。トレースデー
タがU0L0,U1L1,U2L2,U3L3,U4L
4,U5L5,U6L6(L0=L1=L2=L3,L
4=L5)の時、データ圧縮が行われ、同図のように書
き込まれる。
と、識別子を付け加えたフィールドaのデータ100a
だけが登録されることになる。このため登録データのレ
ングス長半分となり、フィールドaのデータ100aの
登録位置を考慮する必要がある。そこで、アドレスレジ
スタ11aとアドレスレジスタ11bの保持するアドレ
ス値の比較を行うアドレス一致検出回路41の出力によ
りフィールドaのデータ100aの登録位置を決定し、
トレースデータ格納バッファ13aとトレースデータ格
納バッファ13bのどちらかに登録する。
ード動作を示す波形図である。ここでトレースデータ圧
縮方式は、外部から受信するリード指示信号108によ
りトレーサリードを開始する。リード指示信号108は
毎T受信する。リード指示信号108の出力をバッファ
リードイネーブルレジスタ23に受け、トレースデータ
格納バッファ13aおよびトレースデータ格納バッファ
13bにリード指示を出力する。バッファリードイネー
ブルレジスタ23の出力により、アドレスレジスタ11
aの示すトレースデータ格納バッファ13aのデータが
バッファリードデータ103aに出力され、アドレスレ
ジスタ11bの示すトレースデータ格納バッファ13b
のデータがバッファリードデータ103bに出力され
る。
スレジスタ11aの示すトレースデータ格納バッファ1
3aの番地の識別子とアドレスレジスタ11bの示すト
レースデータ格納バッファ13bの番地の識別子とを比
較する。
一致検出回路41の出力とリード指示信号108の出力
と識別子一致検出回路42の出力によりリード制御レジ
スタ19aに読み出し指示を出力する。リード制御回路
20bはリード指示信号108の出力とアドレス一致検
出回路41の出力と識別子一致検出回路42の出力によ
り、リード制御レジスタ19bに読み出し指示を出力す
る。リード制御レジスタ19aの読み出し有効指示の出
力を受け、アドレスレジスタ11aの値はアドレス加算
回路16aにより1加算され、リード制御レジスタ19
bの読み出し有効指示の出力を受け、アドレスレジスタ
11bの値はアドレス加算回路16bにより1加算され
る。
号108が有効になると、T12でバッファリードイネ
ーブルレジスタ23が有効となり、トレースデータ格納
バッファ13aおよびトレースデータ格納バッファ13
bのリードが開始される。時刻T12でバッファリード
イネーブルレジスタ23の出力を受けて、アドレスレジ
スタ11aが示すトレースデータ格納バッファ13aの
0番地のデータU0がバッファリードデータ103aに
出力され、アドレスレジスタ11bが示すトレースデー
タ格納バッファ13bの0番地のデータL0がバッファ
リードデータ103bに出力される。
ド指示信号108のリード有効出力およびバッファリー
ドイネーブルレジスタ23のリード抑止出力を受けて、
時刻T12で有効となり、リード制御レジスタ19aに
読み出し有効指示を出力する。リード制御回路20bも
リード指示信号108の出力およびバッファリードイネ
ーブルレジスタ23の出力を受けて、リード制御レジス
タ19bに読み出し有効指示を出力する。リード制御レ
ジスタ19aの読み出し有効の出力を受け、時刻T13
でアドレスレジスタ11aの値は1加算される。リード
制御レジスタ19bの読み出し有効の出力を受け、時刻
T13でアドレスレジスタ11bの値は1加算される。
1aが示すトレースデータ格納バッファ13aの1番地
のデータU1がバッファリードデータ103aに出力さ
れ、アドレスレジスタ11bが示すトレースデータ格納
バッファ13bの1番地のデータU2がバッファリード
データ103bに出力される。リード制御回路20aは
リード指示信号108の出力とアドレス一致検出回路4
1の一致結果と識別子一致検出回路42の一致結果とを
受け、リード制御レジスタ19aに読み出し有効指示を
出力する。リード制御回路20bはリード指示信号10
8の出力とアドレス一致検出回路41の一致結果と識別
子一致検出回路42の一致結果とを受け、リード制御レ
ジスタ19bに読み出し抑止指示を出力する。
19aの読み出し有効の出力を受け、アドレスレジスタ
11aの値は1加算される。リード制御レジスタ19b
の読み出し抑止の出力を受け、アドレスレジスタ11b
は時刻T13の値を保持する。時刻T14においてアド
レスレジスタ11aが示すトレースデータ格納バッファ
13aの2番地のデータU3がバッファリードデータ1
03aに出力され、アドレスレジスタ11bが示すトレ
ースデータ格納バッファ13bの1番地のデータU2が
バッファリードデータ103bに出力される。リード制
御回路20aはリード指示信号108の出力とアドレス
一致検出回路41の不一致結果と識別子一致検出回路4
2の一致結果を受け、リード制御レジスタ19aに読み
出し抑止指示を出力する。リード制御回路20bはリー
ド指示信号108の出力とアドレス一致検出回路41の
不一致結果と識別子一致検出回路42の一致結果とを受
け、リード制御レジスタ19bに読み出し有効指示を出
力する。
19aの読み出し抑止の出力を受け、アドレスレジスタ
11aの値は時刻T14の値を保持する。リード制御レ
ジスタ19bの読み出し有効の出力を受け、アドレスレ
ジスタ11bの値は1加算される。識別子一致検出回路
42が不一致の場合、時刻T16,T18で示すよう
に、アドレス一致検出回路41の出力に関わらずリード
制御回路20aは読み出し有効指示をリード制御レジス
タ19aに出力し、リード制御回路20bは読み出し有
効指示をリード制御レジスタ19bに出力する。
103aおよびバッファリードデータ103bは、アド
レス一致検出回路41の出力により制御されるリードデ
ータセレクタ22aとリードデータセレクタ22bに出
力される。アドレス一致検出回路41の出力が一致の場
合、リードデータセレクタ22aはバッファリードデー
タ103aを出力し、リードデータセレクタ22bはバ
ッファリードデータ103bを出力する。アドレス一致
検出回路41の出力が不一致の場合、リードデータセレ
クタ22aはバッファリードデータ103bを出力し、
リードデータセレクタ22bがバッファリードデータ1
03aを出力する。
出回路41の一致出力を受け、リードデータ107aに
U0が出力され、リードデータ107bにL0が出力さ
れる。時刻T14ではアドレス一致検出回路41の不一
致の出力を受け、リードデータ107aにU2が出力さ
れ、リードデータ107bにU3が出力される。
7aはリードデータレジスタ21aに格納され、リード
データ107bはリードデータレジスタ21bに格納さ
れる。識別子一致検出回路42が一致の時はリードデー
タレジスタ21bに次のデータを格納せず、前のデータ
を保持する。
回路の不一致結果より、T13でリードデータレジスタ
21aにU0が格納され、リードデータレジスタ21b
にL0が格納される。さらに、時刻T13の識別子一致
検出回路の一致結果より、T14でリードデータレジス
タ21aにU1が格納されるが、リードデータレジスタ
21bにU2は格納されず、T13で格納されたL0の
値を保持する。また、時刻T14の識別子一致検出回路
の一致結果より、T15でリードデータレジスタ21a
にU2が格納されるが、リードデータレジスタ21bに
U3は格納されず、T13で格納されたL0の値を保持
する。
タは読み出しデータ110として外部に出力される。
タU0L0が出力され、時刻T14では読み出しデータ
U1L0が出力され、時刻T15では読み出しデータU
2L0が出力される。
ロック図である。同図を参照しながら、図1に示したト
レースデータ圧縮方式との差異を説明する。
10aに格納されている最新書き込みデータと次にデー
タレジスタ10aに書き込まれるフィールドaのデータ
100aとの比較を行うデータ一致検出回路43が設け
られている。このデータ一致検出回路43の出力結果に
よりフィールドaのデータ100aを圧縮するか否かを
決定する。
にカウンタフィールド50aを設け、トレースデータ格
納バッファ13bにカウンタフィールド50bを設け
る。カウンタフィールド50aとカウンタフィールド5
0bは同一構成であり、カウンタフィールド50aを例
にとって構成を説明すると、カウンタフィールド50a
は、トレースデータ格納バッファ13aのワード数と1
対1で対応しているレジスタで構成されているフィール
ド情報格納レジスタ51aと、フィールド情報格納レジ
スタ加算回路52aと、フィールド情報格納レジスタ5
1aのポインタとなるワードポインタ53aと、ワード
ポインタ53a加算回路54aとから構成される。
aと同じビット幅のレジスタをリード制御レジスタ19
aに設け、リード制御レジスタ19aの加算回路24a
を設ける。リード制御レジスタ19bにフィールド情報
格納レジスタ51bと同じビット幅のレジスタを設け、
リード制御レジスタ19bの加算回路24bを設ける。
また、フィールド情報格納レジスタ51aの保持する値
とリード制御レジスタ19aのデータ比較を行うリード
データ比較回路44とフィールド情報格納レジスタ51
bの保持する値とリード制御レジスタ19bのデータ比
較を行うリードデータ比較回路45を設ける。
照)の代わりに、アドレスレジスタ11aの示すトレー
スデータ格納バッファ13aの番地に格納されている識
別子とアドレスレジスタ11bの示すトレースデータ格
納バッファ13bの番地に格納されている識別子のどち
らが0と一致しているかを比較する識別子比較回路46
と、アドレスレジスタ11aの示すトレースデータ格納
バッファ13aの番地に格納されている識別子とアドレ
スレジスタ11bの示すトレースデータ格納バッファ1
3bの番地に格納されている識別子のどちらが1と一致
しているかを比較する識別子比較回路47を設ける。識
別子0と一致した識別子を持つデータのデータ部分だけ
がリードデータレジスタ21aに格納され、識別子1と
一致したデータを持つデータ部分だけがリードデータレ
ジスタ21bに格納される。
イト動作を示す波形図である。最初に図5を参照する
と、ワードポインタ53aおよびワードポインタ53b
はライトスタートビット17の書き込み抑止出力および
トレーサ開始を示す外部信号111の開始有効出力によ
りセットされ、ライトイネーブル制御回路15aはライ
トイネーブルレジスタ12aに書き込み指示を出力し、
ライトイネーブル制御回路15bはライトイネーブルレ
ジスタ12bに書き込み指示を出力する。
0L0,U1L1,U2L2,U3L3,U4L4,U
5L5,U6L6(U0=U1,U4=U5,L0=L
1=L2=L3=L4=L5)と送られてきた場合、時
刻T1でトレースデータ開始信号111とライトスター
トビット17の出力により、時刻T2でライトイネーブ
ルレジスタ12aおよびライトイネーブルレジスタ12
bは書き込み有効を示し、ワードポインタ53aおよび
ワードポインタ53bはリセットされる。始めに受信し
たトレースデータU0L0は、時刻T3でアドレスレジ
スタ11aの示すトレースデータ格納バッファ13aに
U0が書き込まれ、アドレスレジスタ11bの示すトレ
ースデータ格納バッファ13bにL0が書き込まれる。
されている最新書き込みデータと次に書き込まれるデー
タが同じなので、データ一致検出回路43の一致を受け
て時刻T3では、ワードポインタ53aの示すフィール
ド情報格納レジスタ51aの番地の値は、フィールド情
報格納レジスタ加算回路52aにより1加算される。時
刻T1〜T2では、データ一致検出回路40は一致を検
出している為、カウンタフィールド50bはカウンタフ
ィールド50aと同様の動きをし、時刻T3ではワード
ポインタ53bの示すフィールド情報格納レジスタ51
bの番地の値は、フィールド情報格納レジスタ加算回路
52bにより1加算される。
制御回路15aはフィールドaのデータ一致検出回路4
3とフィールドbのデータ一致検出回路40とアドレス
一致検出回路41の出力によりライトレジスタ12aに
書き込み指示を出力する。さらに、ライトイネーブル制
御回路15bはフィールドaのデータ一致検出回路43
とフィールドbのデータ一致検出回路40とアドレス一
致検出回路41の出力でライトレジスタ12bに書き込
み指示を出力する。
路43の不一致の出力を受けて、ワードポインタ53a
はワードポインタ加算回路54aにより1加算され、ラ
イトイネーブルレジスタ12aは書き込み有効指示を出
力する。データ一致検出回路40は一致を検出している
ため、ワードポインタ53bが示すフィールド情報格納
レジスタ51bの番地の値は1加算され、ライトイネー
ブルレジスタ12bは書き込み抑止指示を出力する。
回路43の不一致結果とアドレス一致検出回路41の不
一致結果を受けて、ライトイネーブルレジスタ12aは
書き込み有効指示を出力し、アドレス一致検出回路41
の不一致結果を受けて、ライトイネーブルレジスタ12
bは書き込み有効指示を出力する。時刻T5でアドレス
一致検出回路41の不一致結果より、データセレクタ1
4aはL0を出力し、データセレクタ14bはU2を出
力する。時刻T6でアドレスレジスタ11aの示すトレ
ースデータ格納バッファ13aの2番地にL3が書き込
まれ、アドレスレジスタ11bの示すトレースデータ格
納バッファ13bの1番地にU2が書き込まれる。
出回路41の不一致を受けて、ライトイネーブルレジス
タ12aおよびワードポインタ53aはデータ一致検出
回路43の出力により制御され、ライトイネーブルレジ
スタ12bおよびワードポインタ53bはデータ一致検
出回路40の出力により制御される。
致検出回路43の一致結果を受けてライトイネーブルレ
ジスタ12aは書き込み抑止を出力し、データ一致検出
回路40の不一致結果を受けてライトイネーブルレジス
タ12bは書き込み有効指示を出力する。
ルド情報格納レジスタ51aに全て1が書き込まれた場
合その値はホールドされ、ワードポインタ53bが示す
フィールド情報格納レジスタ51bに全て1が書き込ま
れた場合その値はホールドされる。
ード動作を示す波形図である。最初に図5を参照する
と、トレースリード時、リード指示信号108およびバ
ッファリードイネーブルレジスタ23の出力によりリー
ド制御レジスタ19aおよびリード制御レジスタ19b
はリセットされる。したがって、時刻T11でリード指
示信号108とバッファリードイネーブルレジスタ23
の出力によりT12でリード制御レジスタ12aおよび
リード制御レジスタ12bはリセットされる。
タ19aおよびフィールド情報格納レジスタ51aの出
力を比較するリードデータ比較回路44によりアドレス
レジスタ11aは制御され、リード制御レジスタ19b
およびフィールド情報格納レジスタ51bの出力を比較
するリードデータ比較回路45によりアドレスレジスタ
11bは制御される。
ド情報格納レジスタ51aの値を比較するリードデータ
比較回路44が不一致を検出した場合、アドレスレジス
タ11aは値を保持し続け、リード制御レジスタ19a
はリード制御レジスタ加算回路24aにより1加算され
る。リードデータセレクタ22aの出力を格納するリー
ドデータレジスタ21aの値はホールドされる。リード
データ比較回路44が一致を検出した場合、アドレスレ
ジスタ11aはアドレス加算回路16aにより1加算さ
れ、リード制御レジスタ19aはリセットされる。
した場合、アドレスレジスタ11bは値を保持し続け、
リード制御レジスタ19bがリード制御レジスタ加算回
路24bにより1加算される。リードデータセレクタ2
2bの出力を格納するリードデータレジスタ21bの値
はホールドされる。リードデータ比較回路45により一
致を検出した場合、アドレスレジスタ11bはアドレス
加算回路16bにより1加算され、リード制御レジスタ
19bはリセットされる。
スタ19aおよびフィールド情報格納レジスタ51aの
値は異なっているので、リードデータ比較回路44は不
一致を検出し、その結果を受けてリード制御レジスタ1
9aはリード制御レジスタ加算回路24aにより1加算
される。時刻T13でリードデータ比較回路44は一致
を検出し、時刻T14でアドレスレジスタ11aは1加
算され、リード制御レジスタ19aはリセットされる。
較回路44が不一致を検出した場合、リードデータレジ
スタ21aは格納していたデータをホールドし、格納し
ているデータを保持する。リードデータ比較回路45が
不一致を検出した場合、リードデータレジスタ21bは
格納していたデータをホールドし、格納しているデータ
を保持する。
タ11aの示すトレースデータ格納バッファ13aに格
納されている識別子は1なので、データL0はリードデ
ータセレクタ22bの出力データ107bに出力され、
リードデータレジスタ21bに格納される。アドレスレ
ジスタ11bの示すトレースデータ格納バッファ13b
に格納されている識別子は0なので、データU2はリー
ドデータセレクタ22aの出力データ107aに出力さ
れ、リードデータレジスタ21aに格納される。
らに効率よく使用することができる。
よれば、大規模なLSI内部の状態値を記録するトレー
サにおいて、トレースバッファの容量を削減できるとい
う効果がある。その理由は、連続した同一の繰り返しデ
ータの書き込みを抑止することによりトレースデータの
圧縮ができ、トレースバッファの使用効率が向上するた
めである。
示す波形図。
図。
示す波形図。
示す波形図。
示す波形図。
Claims (7)
- 【請求項1】 LSI内部の複数の状態値を周期的の記
録するトレーサにおいて、トレースデータを複数のフィ
ールドに分割し、任意の周期のトレースデータとその次
の周期のトレースデータとをフィールドごとに比較し、
状態値に差異のあるフィールドのデータを記録し、状態
値に差異のないフィールドのデータを記録しないことを
特徴とするトレースデータ圧縮方法。 - 【請求項2】 請求項1記載のトレースデータ圧縮方法
において、複数のフィールドに分割したトレースデータ
を記録するとき、各フィールドのデータにそれぞれ識別
子を付して記録することを特徴とするトレースデータ圧
縮方法。 - 【請求項3】 LSI内部の複数の状態値を周期的の記
録するトレーサにおいて、トレースデータを状態値の変
化する頻度の高い第一のフィールドと状態値の変化する
頻度の低い第二のフィールドとに分割し、最新の登録ト
レースデータの第二のフィールドのデータと受信したト
レースデータの第二のフィールドのデータとを比較して
一致する場合には、前記受信したトレースデータの第二
のフィールドのデータを登録しないことを特徴とするト
レースデータ圧縮方法。 - 【請求項4】 請求項3記載のトレースデータ圧縮方法
において、受信したトレースデータを登録するときに
は、前記第一のフィールドおよび前記第二のフィールド
の各データにそれぞれ識別子を付して登録することを特
徴とするトレースデータ圧縮方法。 - 【請求項5】 請求項3または4記載のトレースデータ
圧縮方法において、トレースデータの第一のフィールド
のデータを保持する第一のデータレジスタと、前記トレ
ースデータの第二のフィールドのデータを保持する第二
のデータレジスタと、前記第一または前記第二のデータ
レジスタの各データにそれぞれ識別子を付して登録する
第一および第二のトレースデータ格納バッファと、前記
第二のデータレジスタのデータと次に受信したトレース
データの第二のフィールドのデータとを比較するデータ
一致検出回路と、前記データ一致検出回路が一致を検出
したときには前記第二のフィールドのデータの登録を抑
止し,前記データ一致検出回路が不一致を検出したとき
には前記第一および前記第二のフィールドの各データに
それぞれ識別子を付し,前記第一および第二のトレース
データ格納バッファのいずれかに登録することを決定す
る第一および第二のデータセレクタと、前記第一および
第二のトレースデータ格納バッファにフィールドごとに
識別子を付したトレースデータを順次に書込むアドレス
決定手段とを具備することを特徴とするトレースデータ
圧縮方式。 - 【請求項6】 請求項5記載のトレースデータ圧縮方式
において、前記第一のデータレジスタのデータと次に受
信したトレースデータの第一のフィールドのデータとを
比較するデータ一致検出回路と、前記第一および第二の
トレースデータ格納バッファにそれぞれ設けられ,前記
データ一致検出回路が一致を検出するごとにそれをカウ
ントして保持する第一および第二のカウンタフィールド
とを備え、前記第一のフィールドのデータを圧縮するこ
とを特徴とするトレースデータ圧縮方式。 - 【請求項7】 請求項6記載のトレースデータ圧縮方式
において、前記カウンタフィールドは前記トレースデー
タ格納バッファのワード数と1対1で対応しているフィ
ールド情報格納レジスタと、前記フィールド情報格納レ
ジスタをインクリメントするフィールド情報格納レジス
タ加算回路と、前記フィールド情報格納レジスタのポイ
ンタとなるワードポインタと、前記ワードポインタをイ
ンクリメントするワードポインタ加算回路とを含むこと
を特徴とするトレースデータ圧縮方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP36413799A JP3343734B2 (ja) | 1999-12-22 | 1999-12-22 | トレースデータ圧縮方法およびトレースデータ圧縮方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP36413799A JP3343734B2 (ja) | 1999-12-22 | 1999-12-22 | トレースデータ圧縮方法およびトレースデータ圧縮方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001175510A true JP2001175510A (ja) | 2001-06-29 |
JP3343734B2 JP3343734B2 (ja) | 2002-11-11 |
Family
ID=18481068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP36413799A Expired - Fee Related JP3343734B2 (ja) | 1999-12-22 | 1999-12-22 | トレースデータ圧縮方法およびトレースデータ圧縮方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3343734B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8589342B2 (en) | 2011-09-16 | 2013-11-19 | International Business Machines Corporation | Log message optimization to ignore or identify redundant log messages |
-
1999
- 1999-12-22 JP JP36413799A patent/JP3343734B2/ja not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8589342B2 (en) | 2011-09-16 | 2013-11-19 | International Business Machines Corporation | Log message optimization to ignore or identify redundant log messages |
US9165007B2 (en) | 2011-09-16 | 2015-10-20 | International Business Machines Corporation | Log message optimization to ignore or identify redundant log messages |
Also Published As
Publication number | Publication date |
---|---|
JP3343734B2 (ja) | 2002-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20040015880A1 (en) | Method and apparatus for capturing event traces for debug and analysis | |
JPH07281930A (ja) | 情報処理装置動作測定解析システム | |
US6912673B1 (en) | Bus analyzer unit with programmable trace buffers | |
US6728906B1 (en) | Trace buffer for a configurable system-on-chip | |
EP2080098A1 (en) | Detecting and recording performance events in a data processing system | |
JP3343734B2 (ja) | トレースデータ圧縮方法およびトレースデータ圧縮方式 | |
US20050022067A1 (en) | Method for storing or transferring data | |
JP2878264B1 (ja) | トレーサ装置、トレースデータ圧縮方法および圧縮トレースデータ読み出し方法 | |
JPH11110214A (ja) | 命令制御システム及びその方法 | |
JP2789900B2 (ja) | 状態履歴記憶装置 | |
JP3419392B2 (ja) | メモリアクセス監視装置、メモリアクセス監視方法およびメモリアクセス監視用プログラムを記録した記録媒体 | |
JPH0540698A (ja) | 主記憶ページ管理方式 | |
JPH04287241A (ja) | 履歴情報記憶装置 | |
JP2536651B2 (ja) | 例外アドレスバッファ管理方式 | |
JP2002279785A (ja) | Cam検索システム及びそれに用いるcam検索方法並びにそのプログラム | |
JPS59220851A (ja) | 履歴情報収集装置 | |
JP2821326B2 (ja) | キャッシュメモリの故障検出装置 | |
JPH05173846A (ja) | 障害解析情報トレース方法 | |
JPH04336630A (ja) | アドレストレース方法およびアドレストレース装置 | |
JPH04287242A (ja) | 履歴情報記憶装置 | |
JPH04359326A (ja) | 履歴情報記録方式 | |
JPH0644098A (ja) | メモリ・アクセス・バス・コンパレータ | |
JPS59180759A (ja) | ヒストリメモリの制御方式 | |
JPS588363A (ja) | プログラム実行履歴情報収集方式 | |
JPS63303448A (ja) | デ−タ記憶回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20020723 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070830 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080830 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080830 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090830 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |