JPH0635748A - デバッグ方法およびデバッグ装置 - Google Patents
デバッグ方法およびデバッグ装置Info
- Publication number
- JPH0635748A JPH0635748A JP4190766A JP19076692A JPH0635748A JP H0635748 A JPH0635748 A JP H0635748A JP 4190766 A JP4190766 A JP 4190766A JP 19076692 A JP19076692 A JP 19076692A JP H0635748 A JPH0635748 A JP H0635748A
- Authority
- JP
- Japan
- Prior art keywords
- transition
- state
- unit
- cache
- 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)【要約】
【目的】 テストプログラムのステップ数やハードウェ
アを増加させることなく容易にバストランザクションの
状態遷移をテストできるデバッグ方法およびデバッグ装
置を提供する。 【構成】 デバッグモード制御部1は、デバッグモード
時に各部の動作を制御する。状態エンコード部2は、デ
バッグモード時にバストランザクションの状態遷移を実
現しているPLA部12の出力信号をエンコードして状
態遷移中の状態を表すデータを生成する。状態レジスタ
部3は、デバッグモード時に状態エンコード部2によっ
て毎サイクル生成される状態遷移中の状態を表すデータ
を格納する。データ制御部4は、ストア命令でストアが
実行されるサイクルにおいて、通常動作モード時には所
望のストアデータをバスに出力させ、デバッグモード時
には状態レジスタ部3の値をバスに出力させる。
アを増加させることなく容易にバストランザクションの
状態遷移をテストできるデバッグ方法およびデバッグ装
置を提供する。 【構成】 デバッグモード制御部1は、デバッグモード
時に各部の動作を制御する。状態エンコード部2は、デ
バッグモード時にバストランザクションの状態遷移を実
現しているPLA部12の出力信号をエンコードして状
態遷移中の状態を表すデータを生成する。状態レジスタ
部3は、デバッグモード時に状態エンコード部2によっ
て毎サイクル生成される状態遷移中の状態を表すデータ
を格納する。データ制御部4は、ストア命令でストアが
実行されるサイクルにおいて、通常動作モード時には所
望のストアデータをバスに出力させ、デバッグモード時
には状態レジスタ部3の値をバスに出力させる。
Description
【0001】
【産業上の利用分野】本発明は、データ処理装置におけ
るバスインターフェースの状態遷移のテストを行うデバ
ッグ方法およびデバッグ装置に関するものである。
るバスインターフェースの状態遷移のテストを行うデバ
ッグ方法およびデバッグ装置に関するものである。
【0002】
【従来の技術】従来、集積回路の内部状態を外部に出力
する方式として、順序回路を構成するフリップフロップ
を直列のシフトレジスタとして動作させるスキャンパス
方式があった(例えば「計測と制御」第28巻第10号
参照)。これはシフトレジスタとして動作させるフリッ
プフロップを任意の状態に設定(スキャンイン)し、そ
れらの状態を観測(スキャンアウト)するものである。
する方式として、順序回路を構成するフリップフロップ
を直列のシフトレジスタとして動作させるスキャンパス
方式があった(例えば「計測と制御」第28巻第10号
参照)。これはシフトレジスタとして動作させるフリッ
プフロップを任意の状態に設定(スキャンイン)し、そ
れらの状態を観測(スキャンアウト)するものである。
【0003】また、内部状態を保持する内部レジスタを
設け、内部レジスタを読み出す命令を用いて外部にダン
プする方式もあった。また、テストの網羅率(カバレッ
ジ)を調べる方式としては、実行したことを示すビット
を設け、そのビットが”1”の経路が実行されたと判断
する方式があった。
設け、内部レジスタを読み出す命令を用いて外部にダン
プする方式もあった。また、テストの網羅率(カバレッ
ジ)を調べる方式としては、実行したことを示すビット
を設け、そのビットが”1”の経路が実行されたと判断
する方式があった。
【0004】
【発明が解決しようとする課題】しかしながら上記従来
のスキャンパス方式では、ハードウェアが増加し、回路
速度も低下するという問題があった。また、内部レジス
タを読み出す方式では、テストプログラムのステップ数
が増加し、テスト工数が増大するという問題があった。
のスキャンパス方式では、ハードウェアが増加し、回路
速度も低下するという問題があった。また、内部レジス
タを読み出す方式では、テストプログラムのステップ数
が増加し、テスト工数が増大するという問題があった。
【0005】また、網羅率(カバレッジ)のテストで
は、新たなビットを設けるので、ハードウェアが増大す
るという問題があった。本発明はかかる事情に鑑みて成
されたものであり、テストプログラムのステップ数やハ
ードウェアを増加させることなく容易にバストランザク
ションの状態遷移をテストできるデバッグ方法およびデ
バッグ装置を提供することを目的とする。
は、新たなビットを設けるので、ハードウェアが増大す
るという問題があった。本発明はかかる事情に鑑みて成
されたものであり、テストプログラムのステップ数やハ
ードウェアを増加させることなく容易にバストランザク
ションの状態遷移をテストできるデバッグ方法およびデ
バッグ装置を提供することを目的とする。
【0006】
【課題を解決するための手段】請求項1の発明は、デバ
ッグモード時に、状態遷移を伴うバストランザクション
の毎サイクルの状態を状態レジスタに蓄積し、ストアデ
ータをデータバスに出力するサイクルでストアデータを
出力する代わりに前記状態レジスタの内容をデータバス
に出力することを特徴としている。
ッグモード時に、状態遷移を伴うバストランザクション
の毎サイクルの状態を状態レジスタに蓄積し、ストアデ
ータをデータバスに出力するサイクルでストアデータを
出力する代わりに前記状態レジスタの内容をデータバス
に出力することを特徴としている。
【0007】請求項2の発明は、デバッグモード時に各
部の動作を制御するデバッグモード制御部と、デバッグ
モード時にバストランザクションの状態遷移を実現して
いるPLA部の出力信号をエンコードして状態遷移中の
状態を表すデータを生成する状態エンコード部と、デバ
ッグモード時に前記状態エンコード部によって毎サイク
ル生成される状態遷移中の状態を表すデータを格納する
状態レジスタ部と、ストア命令でストアが実行されるサ
イクルにおいて、通常動作モード時には所望のストアデ
ータをバスに出力させ、デバッグモード時には前記状態
レジスタ部の値をバスに出力させるデータ制御部と、デ
バッグモード時にストア命令のアクセスサイズの情報を
バス幅と同じサイズに置き換えるサイズ制御部とを備え
たことを特徴としている。
部の動作を制御するデバッグモード制御部と、デバッグ
モード時にバストランザクションの状態遷移を実現して
いるPLA部の出力信号をエンコードして状態遷移中の
状態を表すデータを生成する状態エンコード部と、デバ
ッグモード時に前記状態エンコード部によって毎サイク
ル生成される状態遷移中の状態を表すデータを格納する
状態レジスタ部と、ストア命令でストアが実行されるサ
イクルにおいて、通常動作モード時には所望のストアデ
ータをバスに出力させ、デバッグモード時には前記状態
レジスタ部の値をバスに出力させるデータ制御部と、デ
バッグモード時にストア命令のアクセスサイズの情報を
バス幅と同じサイズに置き換えるサイズ制御部とを備え
たことを特徴としている。
【0008】請求項3の発明は、バストランザクション
の状態遷移において、全ての状態の組合せについて、そ
の遷移が発生し得る遷移か発生し得ない遷移かの遷移情
報をキャッシュに保持し、発生し得る遷移ならばエンコ
ードしたデータを出力し、発生し得ない遷移ならばエラ
ーコードを出力することを特徴としている。請求項4の
発明は、キャッシュ部の一部により構成されて、バスの
状態遷移において全ての状態の組合せについて発生し得
る遷移か発生し得ない遷移かの遷移情報を保持する遷移
情報部と、内部に保持している1サイクル前の状態と状
態エンコード部から出力される現在の状態とから、遷移
情報を格納している前記遷移情報部のアドレスを生成す
るキャッシュアドレス生成部と、既存のキャッシュイン
ターフェースに前記キャッシュアドレス生成部により生
成されたアドレスを出力して前記遷移情報部から遷移情
報を読み出すキャッシュ読み出し部と、遷移発生時に前
記キャッシュ読み出し部により読み出された遷移情報を
判定し、正しい遷移ならば状態エンコード部によりエン
コードされた値を状態レジスタ部に供給させ、誤った遷
移ならば特定のデータを前記状態レジスタ部に供給させ
る遷移判定部とを備えたことを特徴としている。
の状態遷移において、全ての状態の組合せについて、そ
の遷移が発生し得る遷移か発生し得ない遷移かの遷移情
報をキャッシュに保持し、発生し得る遷移ならばエンコ
ードしたデータを出力し、発生し得ない遷移ならばエラ
ーコードを出力することを特徴としている。請求項4の
発明は、キャッシュ部の一部により構成されて、バスの
状態遷移において全ての状態の組合せについて発生し得
る遷移か発生し得ない遷移かの遷移情報を保持する遷移
情報部と、内部に保持している1サイクル前の状態と状
態エンコード部から出力される現在の状態とから、遷移
情報を格納している前記遷移情報部のアドレスを生成す
るキャッシュアドレス生成部と、既存のキャッシュイン
ターフェースに前記キャッシュアドレス生成部により生
成されたアドレスを出力して前記遷移情報部から遷移情
報を読み出すキャッシュ読み出し部と、遷移発生時に前
記キャッシュ読み出し部により読み出された遷移情報を
判定し、正しい遷移ならば状態エンコード部によりエン
コードされた値を状態レジスタ部に供給させ、誤った遷
移ならば特定のデータを前記状態レジスタ部に供給させ
る遷移判定部とを備えたことを特徴としている。
【0009】請求項5の発明は、バストランザクション
の状態遷移テストの網羅率を調べるために、遷移情報を
ダーティビットを採用しているキャッシュに保持し、そ
の情報を読み出して状態遷移が正しいかどうかの判定に
使用するとともに、読み出した情報を同じエントリにそ
のまま書き戻すことを特徴としている。請求項6の発明
は、遷移発生時にキャッシュ読み出し部により読み出さ
れた遷移情報を、既存のキャッシュインターフェースに
アドレス生成部により生成されたアドレスを出力するこ
とにより、遷移情報部の同じエントリに書き込むキャッ
シュ書き込み部を備え、前記遷移情報部は、キャッシン
グされているデータを書き換える毎にダーティビットを
セットする機構を有し、1つのダーティビットに対して
遷移情報を1遷移分記述する構成としたことを特徴とし
ている。
の状態遷移テストの網羅率を調べるために、遷移情報を
ダーティビットを採用しているキャッシュに保持し、そ
の情報を読み出して状態遷移が正しいかどうかの判定に
使用するとともに、読み出した情報を同じエントリにそ
のまま書き戻すことを特徴としている。請求項6の発明
は、遷移発生時にキャッシュ読み出し部により読み出さ
れた遷移情報を、既存のキャッシュインターフェースに
アドレス生成部により生成されたアドレスを出力するこ
とにより、遷移情報部の同じエントリに書き込むキャッ
シュ書き込み部を備え、前記遷移情報部は、キャッシン
グされているデータを書き換える毎にダーティビットを
セットする機構を有し、1つのダーティビットに対して
遷移情報を1遷移分記述する構成としたことを特徴とし
ている。
【0010】
【作用】請求項1の発明においては、デバッグモード時
に、状態遷移を伴うバストランザクションの毎サイクル
の状態を状態レジスタに蓄積し、ストアデータをデータ
バスに出力するサイクルでストアデータを出力する代わ
りに状態レジスタの内容をデータバスに出力する。
に、状態遷移を伴うバストランザクションの毎サイクル
の状態を状態レジスタに蓄積し、ストアデータをデータ
バスに出力するサイクルでストアデータを出力する代わ
りに状態レジスタの内容をデータバスに出力する。
【0011】請求項2の発明において、デバッグモード
制御部は、デバッグモード時に各部の動作を制御する。
状態エンコード部は、デバッグモード時にバストランザ
クションの状態遷移を実現しているPLA部の出力信号
をエンコードして状態遷移中の状態を表すデータを生成
する。状態レジスタ部は、デバッグモード時に状態エン
コード部によって毎サイクル生成される状態遷移中の状
態を表すデータを格納する。データ制御部は、ストア命
令でストアが実行されるサイクルにおいて、通常動作モ
ード時には所望のストアデータをバスに出力させ、デバ
ッグモード時には状態レジスタ部の値をバスに出力させ
る。サイズ制御部は、デバッグモード時にストア命令の
アクセスサイズの情報をバス幅と同じサイズに置き換え
る。
制御部は、デバッグモード時に各部の動作を制御する。
状態エンコード部は、デバッグモード時にバストランザ
クションの状態遷移を実現しているPLA部の出力信号
をエンコードして状態遷移中の状態を表すデータを生成
する。状態レジスタ部は、デバッグモード時に状態エン
コード部によって毎サイクル生成される状態遷移中の状
態を表すデータを格納する。データ制御部は、ストア命
令でストアが実行されるサイクルにおいて、通常動作モ
ード時には所望のストアデータをバスに出力させ、デバ
ッグモード時には状態レジスタ部の値をバスに出力させ
る。サイズ制御部は、デバッグモード時にストア命令の
アクセスサイズの情報をバス幅と同じサイズに置き換え
る。
【0012】請求項3の発明においては、バストランザ
クションの状態遷移において、全ての状態の組合せにつ
いて、その遷移が発生し得る遷移か発生し得ない遷移か
の遷移情報をキャッシュに保持し、発生し得る遷移なら
ばエンコードしたデータを出力し、発生し得ない遷移な
らばエラーコードを出力する。請求項4の発明におい
て、遷移情報部は、キャッシュ部の一部により構成され
て、バスの状態遷移において全ての状態の組合せについ
て発生し得る遷移か発生し得ない遷移かの遷移情報を保
持する。キャッシュアドレス生成部は、内部に保持して
いる1サイクル前の状態と状態エンコード部から出力さ
れる現在の状態とから、遷移情報を格納している遷移情
報部のアドレスを生成する。キャッシュ読み出し部は、
既存のキャッシュインターフェースにキャッシュアドレ
ス生成部により生成されたアドレスを出力して遷移情報
部から遷移情報を読み出す。遷移判定部は、遷移発生時
にキャッシュ読み出し部により読み出された遷移情報を
判定し、正しい遷移ならば状態エンコード部によりエン
コードされた値を状態レジスタ部に供給させ、誤った遷
移ならば特定のデータを状態レジスタ部に供給させる。
クションの状態遷移において、全ての状態の組合せにつ
いて、その遷移が発生し得る遷移か発生し得ない遷移か
の遷移情報をキャッシュに保持し、発生し得る遷移なら
ばエンコードしたデータを出力し、発生し得ない遷移な
らばエラーコードを出力する。請求項4の発明におい
て、遷移情報部は、キャッシュ部の一部により構成され
て、バスの状態遷移において全ての状態の組合せについ
て発生し得る遷移か発生し得ない遷移かの遷移情報を保
持する。キャッシュアドレス生成部は、内部に保持して
いる1サイクル前の状態と状態エンコード部から出力さ
れる現在の状態とから、遷移情報を格納している遷移情
報部のアドレスを生成する。キャッシュ読み出し部は、
既存のキャッシュインターフェースにキャッシュアドレ
ス生成部により生成されたアドレスを出力して遷移情報
部から遷移情報を読み出す。遷移判定部は、遷移発生時
にキャッシュ読み出し部により読み出された遷移情報を
判定し、正しい遷移ならば状態エンコード部によりエン
コードされた値を状態レジスタ部に供給させ、誤った遷
移ならば特定のデータを状態レジスタ部に供給させる。
【0013】請求項5の発明においては、バストランザ
クションの状態遷移テストの網羅率を調べるために、遷
移情報をダーティビットを採用しているキャッシュに保
持し、その情報を読み出して状態遷移が正しいかどうか
の判定に使用するとともに、読み出した情報を同じエン
トリにそのまま書き戻す。請求項6の発明において、キ
ャッシュ書き込み部は、遷移発生時にキャッシュ読み出
し部により読み出された遷移情報を、既存のキャッシュ
インターフェースにアドレス生成部により生成されたア
ドレスを出力することにより、遷移情報部の同じエント
リに書き込む。遷移情報部は、キャッシングされている
データを書き換える毎にダーティビットをセットする機
構を有し、1つのダーティビットに対して遷移情報を1
遷移分記述する。
クションの状態遷移テストの網羅率を調べるために、遷
移情報をダーティビットを採用しているキャッシュに保
持し、その情報を読み出して状態遷移が正しいかどうか
の判定に使用するとともに、読み出した情報を同じエン
トリにそのまま書き戻す。請求項6の発明において、キ
ャッシュ書き込み部は、遷移発生時にキャッシュ読み出
し部により読み出された遷移情報を、既存のキャッシュ
インターフェースにアドレス生成部により生成されたア
ドレスを出力することにより、遷移情報部の同じエント
リに書き込む。遷移情報部は、キャッシングされている
データを書き換える毎にダーティビットをセットする機
構を有し、1つのダーティビットに対して遷移情報を1
遷移分記述する。
【0014】
【実施例】以下、本発明の実施例を図面を用いて詳細に
説明する。図1は本発明の一実施例におけるデバッグ装
置のブロック図で、このデバッグ装置は、デバッグモー
ド制御部1と、状態エンコード部2と、状態レジスタ部
3と、データ制御部4と、サイズ制御部5と、遷移情報
部6と、キャッシュアドレス生成部7と、キャッシュ読
み出し部8と、遷移判定部9と、キャッシュ書き込み部
10と、バス制御部11と、PLA(Programmable Log
ic Array)部12とを備えており、キャッシュメモリか
らなるキャッシュ部13やMMU部14やCPU部15
などと共にデータ処理装置上に実現されている。PLA
部12はバス制御部11の一部を構成しており、遷移情
報部6はキャッシュ部13の一部により構成されてい
る。デバッグモード制御部1は、データ処理装置がデバ
ッグモードに設定されているときにバストランザクショ
ンが発生すると、状態エンコード部2と状態レジスタ部
3とデータ制御部4とサイズ制御部5とキャッシュアド
レス生成部7とキャッシュ読み出し部8と遷移判定部9
とキャッシュ書き込み部10との機能を動作させる。状
態エンコード部2は、バストランザクションの状態遷移
を実現しているPLA部12の出力をエンコードして現
在のバスの状態を表す情報を出力する。状態レジスタ部
3は、バス幅と同じサイズのレジスタを持ち、状態エン
コード部2の出力と遷移判定部9により出力されるエラ
ーコードとのうちのいずれかを1サイクル毎に順番に格
納する。データ制御部4は、データをバスに出力するサ
イクルで、本来のストアデータの代わりに状態レジスタ
部3の内容を出力する。サイズ制御部5は、ストアデー
タのサイズを64ビットに変換する。遷移情報部6は、
発生し得る遷移か発生し得ない遷移かの遷移情報を保持
している。キャッシュアドレス生成部7は、内部に保持
している1サイクル前の状態と新しく状態エンコード部
2から出力された現在の状態とから遷移情報部6に格納
されている状態遷移情報の該当するアドレスを生成す
る。キャッシュ読み出し部8は、キャッシュアドレス生
成部7により生成されたアドレスを用いてキャッシュ部
13の既存のアクセスインターフェースで状態遷移情報
を読み出す。遷移判定部9は、キャッシュ読み出し部8
により読み出された遷移情報が”0x1”ならば状態を
状態レジスタ部3に格納し、”0x0”ならばエラーコ
ードall"1"(111) を出力する。キャッシュ書き込み部1
0は、キャッシュ読み出し部8により読み出された遷移
情報を既存のキャッシュインターフェースを用いて同じ
エントリに書き戻す。
説明する。図1は本発明の一実施例におけるデバッグ装
置のブロック図で、このデバッグ装置は、デバッグモー
ド制御部1と、状態エンコード部2と、状態レジスタ部
3と、データ制御部4と、サイズ制御部5と、遷移情報
部6と、キャッシュアドレス生成部7と、キャッシュ読
み出し部8と、遷移判定部9と、キャッシュ書き込み部
10と、バス制御部11と、PLA(Programmable Log
ic Array)部12とを備えており、キャッシュメモリか
らなるキャッシュ部13やMMU部14やCPU部15
などと共にデータ処理装置上に実現されている。PLA
部12はバス制御部11の一部を構成しており、遷移情
報部6はキャッシュ部13の一部により構成されてい
る。デバッグモード制御部1は、データ処理装置がデバ
ッグモードに設定されているときにバストランザクショ
ンが発生すると、状態エンコード部2と状態レジスタ部
3とデータ制御部4とサイズ制御部5とキャッシュアド
レス生成部7とキャッシュ読み出し部8と遷移判定部9
とキャッシュ書き込み部10との機能を動作させる。状
態エンコード部2は、バストランザクションの状態遷移
を実現しているPLA部12の出力をエンコードして現
在のバスの状態を表す情報を出力する。状態レジスタ部
3は、バス幅と同じサイズのレジスタを持ち、状態エン
コード部2の出力と遷移判定部9により出力されるエラ
ーコードとのうちのいずれかを1サイクル毎に順番に格
納する。データ制御部4は、データをバスに出力するサ
イクルで、本来のストアデータの代わりに状態レジスタ
部3の内容を出力する。サイズ制御部5は、ストアデー
タのサイズを64ビットに変換する。遷移情報部6は、
発生し得る遷移か発生し得ない遷移かの遷移情報を保持
している。キャッシュアドレス生成部7は、内部に保持
している1サイクル前の状態と新しく状態エンコード部
2から出力された現在の状態とから遷移情報部6に格納
されている状態遷移情報の該当するアドレスを生成す
る。キャッシュ読み出し部8は、キャッシュアドレス生
成部7により生成されたアドレスを用いてキャッシュ部
13の既存のアクセスインターフェースで状態遷移情報
を読み出す。遷移判定部9は、キャッシュ読み出し部8
により読み出された遷移情報が”0x1”ならば状態を
状態レジスタ部3に格納し、”0x0”ならばエラーコ
ードall"1"(111) を出力する。キャッシュ書き込み部1
0は、キャッシュ読み出し部8により読み出された遷移
情報を既存のキャッシュインターフェースを用いて同じ
エントリに書き戻す。
【0015】次に上記デバッグ装置の動作について、図
2および図3のフローチャートを参照しながら説明す
る。なお、図4はバスの状態遷移の説明図、図5は発生
し得る遷移を”1”、発生し得ない遷移を”0”で表し
た遷移情報を示す状態遷移表の説明図、図6はバスの状
態が”S0→S1→S2→S2→S5→S6”と遷移し
た場合の状態レジスタの変化の説明図、図7はバスの状
態が”S0→S1→S2→S4→S5→S6”と遷移し
た場合の状態レジスタの変化の説明図、図8は状態遷移
表を遷移情報部に展開したときの遷移情報部の内容の説
明図、図9はS2→S5という発生し得る遷移が発生し
た場合の遷移情報部の変化の説明図、図10はS2→S
4という発生し得ない遷移が発生した場合の遷移情報部
の変化の説明図、図11は発生し得る遷移が全て発生
し、それ以外の遷移が発生しなかった場合のテストプロ
グラム実行後の遷移情報部の内容の説明図である。ま
た、バスの状態遷移における状態数は7状態(S0〜S
6)とし、図4に示す状態遷移をとるものとする。従っ
て、状態遷移中の各状態は3ビットで表現でき、状態エ
ンコード部2はS0〜S6をそれぞれ”000”〜”1
10”にエンコードする。但し、本来起こり得ない遷移
が発生した場合のエラーコードをall "1"(111)とするの
で、状態数が(2n −1)状態まではnビットで表わせ
ることになる。また、データバス幅は64ビットとし、
遷移情報を保持する遷移情報部6は、16ビット毎にダ
ーティビットを持ち、1ラインあたり64ビットで構成
されているものとする。またテストプログラムについて
は、最初に遷移情報部6に遷移情報を格納し(ステップ
S1)、その後データ処理装置をデバッグモードに設定
し(ステップS2)、テストしたいバストランザクショ
ンをストア命令で記述する。なおデバッグモードでは、
ストアトランザクションはバスの状態遷移の履歴をスト
アし、プログラムに記載したデータはストアされないの
で、有意なデータをストアしたい場合は通常動作モード
でストア命令を実行する必要がある。但し、ロードトラ
ンザクション(ロード命令および命令フェッチ)は通常
動作モードと同じ動作をする。またストアデータのサイ
ズは全て64ビットに変換されるので、ストアアドレス
はサイズ制御部5により64ビット境界に設定する必要
がある。
2および図3のフローチャートを参照しながら説明す
る。なお、図4はバスの状態遷移の説明図、図5は発生
し得る遷移を”1”、発生し得ない遷移を”0”で表し
た遷移情報を示す状態遷移表の説明図、図6はバスの状
態が”S0→S1→S2→S2→S5→S6”と遷移し
た場合の状態レジスタの変化の説明図、図7はバスの状
態が”S0→S1→S2→S4→S5→S6”と遷移し
た場合の状態レジスタの変化の説明図、図8は状態遷移
表を遷移情報部に展開したときの遷移情報部の内容の説
明図、図9はS2→S5という発生し得る遷移が発生し
た場合の遷移情報部の変化の説明図、図10はS2→S
4という発生し得ない遷移が発生した場合の遷移情報部
の変化の説明図、図11は発生し得る遷移が全て発生
し、それ以外の遷移が発生しなかった場合のテストプロ
グラム実行後の遷移情報部の内容の説明図である。ま
た、バスの状態遷移における状態数は7状態(S0〜S
6)とし、図4に示す状態遷移をとるものとする。従っ
て、状態遷移中の各状態は3ビットで表現でき、状態エ
ンコード部2はS0〜S6をそれぞれ”000”〜”1
10”にエンコードする。但し、本来起こり得ない遷移
が発生した場合のエラーコードをall "1"(111)とするの
で、状態数が(2n −1)状態まではnビットで表わせ
ることになる。また、データバス幅は64ビットとし、
遷移情報を保持する遷移情報部6は、16ビット毎にダ
ーティビットを持ち、1ラインあたり64ビットで構成
されているものとする。またテストプログラムについて
は、最初に遷移情報部6に遷移情報を格納し(ステップ
S1)、その後データ処理装置をデバッグモードに設定
し(ステップS2)、テストしたいバストランザクショ
ンをストア命令で記述する。なおデバッグモードでは、
ストアトランザクションはバスの状態遷移の履歴をスト
アし、プログラムに記載したデータはストアされないの
で、有意なデータをストアしたい場合は通常動作モード
でストア命令を実行する必要がある。但し、ロードトラ
ンザクション(ロード命令および命令フェッチ)は通常
動作モードと同じ動作をする。またストアデータのサイ
ズは全て64ビットに変換されるので、ストアアドレス
はサイズ制御部5により64ビット境界に設定する必要
がある。
【0016】いま、バスの状態が”S0→S1→S2→
S2→S5→S6”と遷移するストアトランザクション
が発生した場合の動作について説明する。状態レジスタ
部3は初期値”0x0”に設定されている。テスト命令
を実行し(ステップS3)、アクセスサイズを64ビッ
トに変換し(ステップS4)、デバッグモードでバスト
ランザクションが発生すると、デバッグモード制御部1
が各部を動作させる。状態遷移はPLA部12で実現さ
れるので、状態エンコード部2が、PLA部12の出力
をエンコードして状態を表すデータを出力する(ステッ
プS5)。この場合、”000”、”001”、”01
0”、”010”、”101”、”110”が順番にサ
イクル毎に出力される。これによりキャッシュアドレス
生成部7が、内部に保持している1サイクル前のバスの
状態と状態エンコード部2の出力とから、遷移情報部6
が保持している遷移が発生し得るか発生し得ないかの遷
移情報の該当するアドレスを生成する(ステップS
6)。例えばS2→S5の遷移が発生し得るかどうかの
情報は、遷移情報部6中のアドレス0xff00002aに格納さ
れている。これによりキャッシュ読み出し部8が、キャ
ッシュアドレス生成部7により生成されたアドレスを既
存のキャッシュアクセスのインターフェースに出力し、
該当するデータを読み出す(ステップS7)。これによ
り遷移判定部9が、キャッシュ読み出し部8により読み
出されたデータが”0x1”なので(ステップS8)、
発生し得る遷移として、状態エンコード部2により出力
された状態”101”を状態レジスタ部3に格納する
(ステップS9)。また、状態が”S0→S1→S2→
S4→S5→S6”と遷移した場合、S2→S4は本来
発生し得ない遷移なので、キャッシュ読み出し部8がデ
ータ”0x0”を読み出し、遷移判定部9が、エラーコ
ード”111”を出力し、状態レジスタ部3に格納する
(ステップS10)。そしてキャッシュ書き込み部10
が、キャッシュアドレス生成部7により生成されたアド
レスとキャッシュ読み出し部8により読み出されたデー
タとを保持し、遷移判定部9の動作と並行して、キャッ
シュ読み出し部8により読み出された遷移情報を遷移情
報部6の同じエントリに書き戻す(ステップS11)。
なお遷移情報部6はダーティビットを採用しているの
で、書き込まれたデータに対応するダーティビットが1
にセットされる。そしてサイズ制御部5が、ストアデー
タのサイズを64ビットに変換する。例えばMbusの
場合、アドレスフェーズで出力されるMAD 63:0 のうち
MAD 42:40 がサイズフィールドとなっているので、この
値を64ビットサイズを表す”011”にマスクする。
以上の動作をバスの状態がストアデータをデータバスに
出力するサイクル(S6とする)になるまで繰り返す
(ステップS12)。この時までの状態レジスタ部3の
内容は図6に示したように変化する。バスの状態がスト
アデータをデータバスに出力するサイクル(S6)にな
ると、データ制御部4が、テストプログラム中のストア
データではなく、状態レジスタ部3の内容をデータバス
に出力し(ステップS13)、状態レジスタ部3をゼロ
にクリアする(ステップS14)。
S2→S5→S6”と遷移するストアトランザクション
が発生した場合の動作について説明する。状態レジスタ
部3は初期値”0x0”に設定されている。テスト命令
を実行し(ステップS3)、アクセスサイズを64ビッ
トに変換し(ステップS4)、デバッグモードでバスト
ランザクションが発生すると、デバッグモード制御部1
が各部を動作させる。状態遷移はPLA部12で実現さ
れるので、状態エンコード部2が、PLA部12の出力
をエンコードして状態を表すデータを出力する(ステッ
プS5)。この場合、”000”、”001”、”01
0”、”010”、”101”、”110”が順番にサ
イクル毎に出力される。これによりキャッシュアドレス
生成部7が、内部に保持している1サイクル前のバスの
状態と状態エンコード部2の出力とから、遷移情報部6
が保持している遷移が発生し得るか発生し得ないかの遷
移情報の該当するアドレスを生成する(ステップS
6)。例えばS2→S5の遷移が発生し得るかどうかの
情報は、遷移情報部6中のアドレス0xff00002aに格納さ
れている。これによりキャッシュ読み出し部8が、キャ
ッシュアドレス生成部7により生成されたアドレスを既
存のキャッシュアクセスのインターフェースに出力し、
該当するデータを読み出す(ステップS7)。これによ
り遷移判定部9が、キャッシュ読み出し部8により読み
出されたデータが”0x1”なので(ステップS8)、
発生し得る遷移として、状態エンコード部2により出力
された状態”101”を状態レジスタ部3に格納する
(ステップS9)。また、状態が”S0→S1→S2→
S4→S5→S6”と遷移した場合、S2→S4は本来
発生し得ない遷移なので、キャッシュ読み出し部8がデ
ータ”0x0”を読み出し、遷移判定部9が、エラーコ
ード”111”を出力し、状態レジスタ部3に格納する
(ステップS10)。そしてキャッシュ書き込み部10
が、キャッシュアドレス生成部7により生成されたアド
レスとキャッシュ読み出し部8により読み出されたデー
タとを保持し、遷移判定部9の動作と並行して、キャッ
シュ読み出し部8により読み出された遷移情報を遷移情
報部6の同じエントリに書き戻す(ステップS11)。
なお遷移情報部6はダーティビットを採用しているの
で、書き込まれたデータに対応するダーティビットが1
にセットされる。そしてサイズ制御部5が、ストアデー
タのサイズを64ビットに変換する。例えばMbusの
場合、アドレスフェーズで出力されるMAD 63:0 のうち
MAD 42:40 がサイズフィールドとなっているので、この
値を64ビットサイズを表す”011”にマスクする。
以上の動作をバスの状態がストアデータをデータバスに
出力するサイクル(S6とする)になるまで繰り返す
(ステップS12)。この時までの状態レジスタ部3の
内容は図6に示したように変化する。バスの状態がスト
アデータをデータバスに出力するサイクル(S6)にな
ると、データ制御部4が、テストプログラム中のストア
データではなく、状態レジスタ部3の内容をデータバス
に出力し(ステップS13)、状態レジスタ部3をゼロ
にクリアする(ステップS14)。
【0017】このように、デバッグモードが選択される
と、状態遷移を伴うバストランザクションの毎サイクル
の状態を状態レジスタ部3に蓄積し、ストアデータをデ
ータバスに出力するサイクルで、ストアデータを出力す
る代わりに状態レジスタ部3の内容をデータバスに出力
するので、テストプログラムに内部状態を出力するステ
ップが不要であり、しかもデータバスを使用することか
ら出力するための新たなピンも不要である。したがっ
て、テストプログラムのステップ数やハードウェアを増
加させることなく容易にバストランザクションの状態遷
移をテストできる。また、バストランザクションの状態
遷移において、全ての状態の組合せについて、その遷移
が発生し得る遷移か発生し得ない遷移かの遷移情報を遷
移情報部6に保持し、発生し得る遷移ならば状態エンコ
ード部2によりエンコードされたデータを出力し、発生
し得ない遷移ならばエラーコードを出力するので、必要
な情報を既存のキャッシュ部13の一部により構成され
る遷移情報部6に格納し、ハードウェアの増加を抑えて
状態遷移のテストが行える。また、バストランザクショ
ンの状態遷移テストの網羅率を調べるために、遷移情報
をダーティビットを採用している遷移情報部6に保持
し、その情報を読み出して、状態遷移が正しいかどうか
の判定に使用するとともに、読み出した情報を同じエン
トリにそのまま書き戻すので、バスの状態遷移の全パス
テスト実行後にダーティビットをチェックすることによ
り、ダーティビットがセットされている遷移は実行さ
れ、セットされていない遷移は実行されていないことが
判り、かつ既存のキャッシュ部13の機能を使用するこ
とからハードウェアの増加を抑えることができる。
と、状態遷移を伴うバストランザクションの毎サイクル
の状態を状態レジスタ部3に蓄積し、ストアデータをデ
ータバスに出力するサイクルで、ストアデータを出力す
る代わりに状態レジスタ部3の内容をデータバスに出力
するので、テストプログラムに内部状態を出力するステ
ップが不要であり、しかもデータバスを使用することか
ら出力するための新たなピンも不要である。したがっ
て、テストプログラムのステップ数やハードウェアを増
加させることなく容易にバストランザクションの状態遷
移をテストできる。また、バストランザクションの状態
遷移において、全ての状態の組合せについて、その遷移
が発生し得る遷移か発生し得ない遷移かの遷移情報を遷
移情報部6に保持し、発生し得る遷移ならば状態エンコ
ード部2によりエンコードされたデータを出力し、発生
し得ない遷移ならばエラーコードを出力するので、必要
な情報を既存のキャッシュ部13の一部により構成され
る遷移情報部6に格納し、ハードウェアの増加を抑えて
状態遷移のテストが行える。また、バストランザクショ
ンの状態遷移テストの網羅率を調べるために、遷移情報
をダーティビットを採用している遷移情報部6に保持
し、その情報を読み出して、状態遷移が正しいかどうか
の判定に使用するとともに、読み出した情報を同じエン
トリにそのまま書き戻すので、バスの状態遷移の全パス
テスト実行後にダーティビットをチェックすることによ
り、ダーティビットがセットされている遷移は実行さ
れ、セットされていない遷移は実行されていないことが
判り、かつ既存のキャッシュ部13の機能を使用するこ
とからハードウェアの増加を抑えることができる。
【0018】
【発明の効果】以上説明したように本発明によれば、デ
バッグモードが選択されると状態遷移を伴うバストラン
ザクションの毎サイクルの状態を状態レジスタに蓄積
し、ストアデータをデータバスに出力するサイクルでス
トアデータを出力する代わりに状態レジスタの内容をデ
ータバスに出力するので、テストプログラムに内部状態
を出力するステップが不要であり、しかもデータバスを
使用することから出力するための新たなピンも不要であ
る。したがって、テストプログラムのステップ数やハー
ドウェアを増加させることなく容易にバストランザクシ
ョンの状態遷移をテストできる。
バッグモードが選択されると状態遷移を伴うバストラン
ザクションの毎サイクルの状態を状態レジスタに蓄積
し、ストアデータをデータバスに出力するサイクルでス
トアデータを出力する代わりに状態レジスタの内容をデ
ータバスに出力するので、テストプログラムに内部状態
を出力するステップが不要であり、しかもデータバスを
使用することから出力するための新たなピンも不要であ
る。したがって、テストプログラムのステップ数やハー
ドウェアを増加させることなく容易にバストランザクシ
ョンの状態遷移をテストできる。
【0019】また、バストランザクションの状態遷移に
おいて、全ての状態の組合せについて、その遷移が発生
し得る遷移か発生し得ない遷移かの遷移情報をキャッシ
ュに保持し、発生し得る遷移ならばエンコードしたデー
タを出力し、発生し得ない遷移ならばエラーコードを出
力するようにすれば、必要な情報を既存のキャッシュに
格納し、ハードウェアの増加を抑えて状態遷移のテスト
が行える。
おいて、全ての状態の組合せについて、その遷移が発生
し得る遷移か発生し得ない遷移かの遷移情報をキャッシ
ュに保持し、発生し得る遷移ならばエンコードしたデー
タを出力し、発生し得ない遷移ならばエラーコードを出
力するようにすれば、必要な情報を既存のキャッシュに
格納し、ハードウェアの増加を抑えて状態遷移のテスト
が行える。
【0020】また、バストランザクションの状態遷移テ
ストの網羅率を調べるために、遷移情報をダーティビッ
トを採用しているキャッシュに保持し、その情報を読み
出して、状態遷移が正しいかどうかの判定に使用すると
ともに、読み出した情報を同じエントリにそのまま書き
戻すようにすれば、バスの状態遷移の全パステスト実行
後にダーティビットをチェックすることにより、ダーテ
ィビットがセットされている遷移は実行され、セットさ
れていない遷移は実行されていないことが判り、かつ既
存のキャッシュの機能を使用するのでハードウェアの増
加を抑えることができる。
ストの網羅率を調べるために、遷移情報をダーティビッ
トを採用しているキャッシュに保持し、その情報を読み
出して、状態遷移が正しいかどうかの判定に使用すると
ともに、読み出した情報を同じエントリにそのまま書き
戻すようにすれば、バスの状態遷移の全パステスト実行
後にダーティビットをチェックすることにより、ダーテ
ィビットがセットされている遷移は実行され、セットさ
れていない遷移は実行されていないことが判り、かつ既
存のキャッシュの機能を使用するのでハードウェアの増
加を抑えることができる。
【図1】本発明の一実施例におけるデバッグ装置のブロ
ック図である。
ック図である。
【図2】本発明の一実施例におけるデバッグ装置の動作
を説明するフローチャートである。
を説明するフローチャートである。
【図3】本発明の一実施例におけるデバッグ装置の動作
を説明するフローチャートである。
を説明するフローチャートである。
【図4】バスの状態遷移の説明図である。
【図5】発生し得る遷移を”1”、発生し得ない遷移
を”0”で表した遷移情報を示す状態遷移表の説明図で
ある。
を”0”で表した遷移情報を示す状態遷移表の説明図で
ある。
【図6】バスの状態が”S0→S1→S2→S2→S5
→S6”と遷移した場合の状態レジスタ部の変化の説明
図である。
→S6”と遷移した場合の状態レジスタ部の変化の説明
図である。
【図7】バスの状態が”S0→S1→S2→S4→S5
→S6”と遷移した場合の状態レジスタ部の変化の説明
図である。
→S6”と遷移した場合の状態レジスタ部の変化の説明
図である。
【図8】状態遷移表を遷移情報部に展開したときの遷移
情報部の内容の説明図である。
情報部の内容の説明図である。
【図9】S2→S5という発生し得る遷移が発生した場
合の遷移情報部の変化の説明図である。
合の遷移情報部の変化の説明図である。
【図10】S2→S4という発生し得ない遷移が発生し
た場合の遷移情報部の変化の説明図である。
た場合の遷移情報部の変化の説明図である。
【図11】発生し得る遷移が全て発生し、それ以外の遷
移が発生しなかった場合のテストプログラム実行後の遷
移情報部の内容の説明図である。
移が発生しなかった場合のテストプログラム実行後の遷
移情報部の内容の説明図である。
1 デバッグモード制御部 2 状態エンコード部 3 状態レジスタ部 4 データ制御部 5 サイズ制御部 6 遷移情報部 7 キャッシュアドレス生成部 8 キャッシュ読み出し部 9 遷移判定部 10 キャッシュ書き込み部 12 PLA部
Claims (6)
- 【請求項1】 デバッグモード時に、状態遷移を伴うバ
ストランザクションの毎サイクルの状態を状態レジスタ
に蓄積し、ストアデータをデータバスに出力するサイク
ルでストアデータを出力する代わりに前記状態レジスタ
の内容をデータバスに出力することを特徴とするデバッ
グ方法。 - 【請求項2】 デバッグモード時に各部の動作を制御す
るデバッグモード制御部と、 デバッグモード時にバストランザクションの状態遷移を
実現しているPLA部の出力信号をエンコードして状態
遷移中の状態を表すデータを生成する状態エンコード部
と、 デバッグモード時に前記状態エンコード部によって毎サ
イクル生成される状態遷移中の状態を表すデータを格納
する状態レジスタ部と、 ストア命令でストアが実行されるサイクルにおいて、通
常動作モード時には所望のストアデータをバスに出力さ
せ、デバッグモード時には前記状態レジスタ部の値をバ
スに出力させるデータ制御部と、 デバッグモード時にストア命令のアクセスサイズの情報
をバス幅と同じサイズに置き換えるサイズ制御部とを備
えたことを特徴とするデバッグ装置。 - 【請求項3】 バストランザクションの状態遷移におい
て、全ての状態の組合せについて、その遷移が発生し得
る遷移か発生し得ない遷移かの遷移情報をキャッシュに
保持し、発生し得る遷移ならばエンコードしたデータを
出力し、発生し得ない遷移ならばエラーコードを出力す
ることを特徴とする請求項1に記載のデバッグ方法。 - 【請求項4】 キャッシュ部の一部により構成されて、
バスの状態遷移において全ての状態の組合せについて発
生し得る遷移か発生し得ない遷移かの遷移情報を保持す
る遷移情報部と、 内部に保持している1サイクル前の状態と状態エンコー
ド部から出力される現在の状態とから、遷移情報を格納
している前記遷移情報部のアドレスを生成するキャッシ
ュアドレス生成部と、 既存のキャッシュインターフェースに前記キャッシュア
ドレス生成部により生成されたアドレスを出力して前記
遷移情報部から遷移情報を読み出すキャッシュ読み出し
部と、 遷移発生時に前記キャッシュ読み出し部により読み出さ
れた遷移情報を判定し、正しい遷移ならば状態エンコー
ド部によりエンコードされた値を状態レジスタ部に供給
させ、誤った遷移ならば特定のデータを前記状態レジス
タ部に供給させる遷移判定部とを備えたことを特徴とす
る請求項2に記載のデバッグ装置。 - 【請求項5】 バストランザクションの状態遷移テスト
の網羅率を調べるために、遷移情報をダーティビットを
採用しているキャッシュに保持し、その情報を読み出し
て状態遷移が正しいかどうかの判定に使用するととも
に、読み出した情報を同じエントリにそのまま書き戻す
ことを特徴とする請求項3に記載のデバッグ方法。 - 【請求項6】 遷移発生時にキャッシュ読み出し部によ
り読み出された遷移情報を、既存のキャッシュインター
フェースにアドレス生成部により生成されたアドレスを
出力することにより、遷移情報部の同じエントリに書き
込むキャッシュ書き込み部を備え、前記遷移情報部は、
キャッシングされているデータを書き換える毎にダーテ
ィビットをセットする機構を有し、1つのダーティビッ
トに対して遷移情報を1遷移分記述する構成としたこと
を特徴とする請求項4に記載のデバッグ装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4190766A JPH0635748A (ja) | 1992-07-17 | 1992-07-17 | デバッグ方法およびデバッグ装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4190766A JPH0635748A (ja) | 1992-07-17 | 1992-07-17 | デバッグ方法およびデバッグ装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0635748A true JPH0635748A (ja) | 1994-02-10 |
Family
ID=16263371
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4190766A Pending JPH0635748A (ja) | 1992-07-17 | 1992-07-17 | デバッグ方法およびデバッグ装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0635748A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8328274B2 (en) | 2007-11-05 | 2012-12-11 | Kubota Corporation | Cabin apparatus for moving vehicle |
-
1992
- 1992-07-17 JP JP4190766A patent/JPH0635748A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8328274B2 (en) | 2007-11-05 | 2012-12-11 | Kubota Corporation | Cabin apparatus for moving vehicle |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4873666A (en) | Message FIFO buffer controller | |
| CN101095119B (zh) | 用于分析具有测试接口的嵌入式系统的装置和方法 | |
| KR940001146B1 (ko) | 정보 처리 장치의 비교 체크 기능 검사를 위한 시스템 | |
| JP2591825B2 (ja) | 圧縮データを用いた論理回路試験方法及びその装置 | |
| JP2878264B1 (ja) | トレーサ装置、トレースデータ圧縮方法および圧縮トレースデータ読み出し方法 | |
| US5396611A (en) | Microprocessor use in in-circuit emulator having function of discriminating user's space and in-circuit emulator space | |
| US7484147B2 (en) | Semiconductor integrated circuit | |
| US7340586B2 (en) | Data transfer for debugging in data driven type processor processing data packet with data flow program including transfer control bit setting instruction | |
| JPH1040130A (ja) | マイクロコンピュータ | |
| JP2006146757A (ja) | デバッグ用レジスタおよびデータ転送方法 | |
| JP3063694B2 (ja) | ステートマシン制御回路 | |
| KR19990079373A (ko) | 마이크로컨트롤러의 바운더리 스캔 스탠다드 인터페이스를 이용한 디버깅 방법 | |
| JP2003208797A (ja) | 半導体装置及び該半導体装置のテスト方法 | |
| JPS59153247A (ja) | デバツグ装置 | |
| JP2002099446A (ja) | レジスタテスト回路 | |
| JPH01193942A (ja) | 信号処理回路の自己診断方式 | |
| JPS60105058A (ja) | 情報処理装置 | |
| JPH1185565A (ja) | Cpuのデバッグ方法およびそのシステム | |
| JPH07182305A (ja) | マイクロプロセッサ | |
| JPS6184749A (ja) | プロセツサ保守装置 | |
| JPH06175883A (ja) | プログラムデバッグ装置 | |
| JPH09146851A (ja) | キャッシュ・メモリ診断方法 | |
| JP2003177936A (ja) | ディジタル・インタフェース試験装置 | |
| JPH0315948A (ja) | アドレスバス試験方式 | |
| JPH04318628A (ja) | 中央演算処理装置 |